Air Base


008aff Set alertness to 255
0006fd0419 Set return function for $self to function 0419 - Steward/stewardess
00070419 When shot/hit, assign function 0419 - Steward/stewardess
0033fd02 If $self is dying/dead goto 02
0034fd02 If $self has finished death animation goto 02
017bfd02 If $self's body has disappeared goto 02
000031 Go to next 31
000202 Label 02
0005fd0000 Assign function 0000 - Idle to $self and advance frame
000231 Label 31
000c6b If actor is not doing anything goto 6b
007d0100 If actor shot less than 1 times goto 00
00020c Label 0c
0003 Yield
003202 If actor has stopped moving goto 02
00010c Go to first 0c
000202 Label 02
00000b Go to next 0b
00b6 Reset and start cycle counter
00026b Label 6b
0003 Yield
003e004f If someone killed in sight of actor goto 4f
003d000f If shot near actor goto 0f
00b5445552494e4754414c4b0a00 // DURINGTALK
00bd0000b402 If cycle counter > 180 (3.0 secs) goto 02
00016b Go to first 6b
000202 Label 02
009d00004000010033 If actor flag is something, goto 33
00b54e4f54204120504154524f4c4c45520a00 // NOT A PATROLLER
0009 Actor stops travelling
000000 Go to next 00
000233 Label 33
00b5504154205245540a00 // PAT RET
0022 Start path
000200 Label 00
0003 Yield
009d0000400001006c If actor flag is something, goto 6c
0036 Call RNG
0038806c If random byte > 128 goto 6c
00026d Label 6d
00b6 Reset and start cycle counter
000207 Label 07
0009 Actor stops travelling
009d00800000010131 If actor flag is something, goto 31
0036 Call RNG
00388031 If random byte > 128 goto 31
0036 Call RNG
0037406e If random byte < 64 goto 6e
0037806f If random byte < 128 goto 6f
0037c470 If random byte < 196 goto 70
009b0080000001 Set an actor flag
000b02070000ffff100afd02 Actor $self does animation 0207 (smoking a cigarette, drops)
000072 Go to next 72
00026e Label 6e
000b009b0000ffff100afd02 Actor $self does animation 009b (tilt right and scratch head)
000072 Go to next 72
00026f Label 6f
000b009a0000ffff100afd02 Actor $self does animation 009a (yawn)
000072 Go to next 72
000270 Label 70
000b009d0000ffff100afd02 Actor $self does animation 009d (grab crotch)
000072 Go to next 72
000271 Label 71
000b000100000064100afd02 Actor $self does animation 0001 (two gun hold)
000072 Go to next 72
000231 Label 31
009c0080000001 Unset an actor flag
0054fd000a232802 If $self is within 10 units of $self->pad goto 02
000031 Go to next 31
000202 Label 02
0036 Call RNG
0037406e If random byte < 64 goto 6e
0037806f If random byte < 128 goto 6f
0037c470 If random byte < 196 goto 70
00750831 Set $self->target_pad to 0831
00026e Label 6e
00750231 Set $self->target_pad to 0231
00026f Label 6f
00750431 Set $self->target_pad to 0431
000270 Label 70
00750831 Set $self->target_pad to 0831
000072 Go to next 72
000231 Label 31
001e00 Jog to $self->target_pad (slow speed)
00b6 Reset and start cycle counter
000272 Label 72
0003 Yield
01b3fd Allow co-op player to be considered for P1/P2 actor
0106f20000 Set $player to P1 or P2
003e004f If someone killed in sight of actor goto 4f
003d000f If shot near actor goto 0f
003502 If $player in sight goto 02
003273 If actor has stopped moving goto 73
000c31 If actor is not doing anything goto 31
00bd0000b473 If cycle counter > 180 (3.0 secs) goto 73
000231 Label 31
000172 Go to first 72
000273 Label 73
000100 Go to first 00
00026c Label 6c
003e004f If someone killed in sight of actor goto 4f
003d000f If shot near actor goto 0f
003502 If $player in sight goto 02
000100 Go to first 00
000202 Label 02
00b6 Reset and start cycle counter
000204 Label 04
0003 Yield
003e004f If someone killed in sight of actor goto 4f
003d000f If shot near actor goto 0f
0060f60131 If player player has weapon Unarmed equipped goto 31
000002 Go to next 02
000231 Label 31
009d00002000010031 If actor flag is something, goto 31
0053002d31 If actor is further than 45 units from player goto 31
009b0000200000 Set an actor flag
0006fd0419 Set return function for $self to function 0419 - Steward/stewardess
0005fd0010 Assign function 0010 - Civilian/trusting enemy to $self and advance frame
000231 Label 31
00bc00025831 If cycle counter < 600 (10.0 secs) goto 31
009c0000200000 Unset an actor flag
000231 Label 31
00b54c494d4f20524541445920544f20474f0a00 // LIMO READY TO GO
000100 Go to first 00
00020f Label 0f
00b6 Reset and start cycle counter
00180200000008 Actor faces something (entity type=0x0200, entity_id=0x0000), then goto 08
000208 Label 08
0003 Yield
004d0a02 If actor is facing player within 10 degrees (?) goto 02
00bd00002802 If cycle counter > 40 (0.7 secs) goto 02
000108 Go to first 08
00024f Label 4f
00b6 Reset and start cycle counter
000b025f000000c11010fd02 Actor $self does animation 025f (frantic look left and right)
00020f Label 0f
0003 Yield
00bd00005a0b If cycle counter > 90 (1.5 secs) goto 0b
00010f Go to first 0f
000202 Label 02
0130f824ff00ff810000 Say random quip: unknown quip
000b002e000000c11010fd02 Actor $self does animation 002e (arms up, surrender)
000209 Label 09
0003 Yield
00bd0000780b If cycle counter > 120 (2.0 secs) goto 0b
000109 Go to first 09
00020b Label 0b
013a000002 Attempt to target another member of our group. On success goto 02
00000e Go to next 0e
000231 Label 31
000104 Go to first 04
000202 Label 02
0031fc05 Run to $self->target_actor, then goto 05
000205 Label 05
0003 Yield
0045fc02 If actor $self has detected $self->target_actor goto 02
000105 Go to first 05
000202 Label 02
013164 For all actors in the same group, set their alertness to 100
0130f825ff00ff810000 Say random quip: unknown quip
00020e Label 0e
000b0229ffffffff1014fd02 Actor $self does animation 0229 (head down praying/clutching chest)
00020a Label 0a
0003 Yield
003231 If actor has stopped moving goto 31
00010a Go to first 0a
000231 Label 31
00010e Go to first 0e
0004 End of function

Invocations

  • Initial function for actor 44 (CIA Agent)
  • Initial function for actor 45 (Stewardess)
  • Initial function for actor 46 (Steward)

Comments

There are no comments yet for this function.