Investigation


009a14 Set actor's accuracy to 20
009864 Set actor's reaction speed to 100
00070007 When shot/hit, assign function 0007 - Alerted guard
00020f Label 0f
0003 Yield
01b3fd Allow co-op player to be considered for P1/P2 actor
0106f20000 Set $player to P1 or P2
00b0f2 Set $self->target_actor to P1 or P2
005bf600003603 If player is in room/pad 36 goto 03
005bf600003703 If player is in room/pad 37 goto 03
005bf600003a03 If player is in room/pad 3a goto 03
00010f Go to first 0f
000203 Label 03
00b6 Reset and start cycle counter
0036 Call RNG
00388006 If random byte > 128 goto 06
00022f Label 2f
0130fc09ff02ff010000 Say random quip: "And again","Try it now"
000206 Label 06
000204 Label 04
0003 Yield
01b3fd Allow co-op player to be considered for P1/P2 actor
0106f20000 Set $player to P1 or P2
00350c If $player in sight goto 0c
004b0c If fired near actor goto 0c
007e000c If actor shot more than 0 times goto 0c
003d000c If shot near actor goto 0c
008e63010c If actor's alertness > 99 goto 0c
00bd00007806 If cycle counter > 120 (2.0 secs) goto 06
000104 Go to first 04
000206 Label 06
0015002801592f Actor targets and shoots at $player, then goto 2f
00022f Label 2f
0017000801592f Actor shoots other actor, then goto 2f
00022f Label 2f
0130f8003202ff000000 Say random quip: "I've got a clear shot","She's mine!"
000208 Label 08
0003 Yield
01b3fd Allow co-op player to be considered for P1/P2 actor
0106f20000 Set $player to P1 or P2
00350c If $player in sight goto 0c
004b0c If fired near actor goto 0c
007e000c If actor shot more than 0 times goto 0c
003d000c If shot near actor goto 0c
008e63010c If actor's alertness > 99 goto 0c
00322f If actor has stopped moving goto 2f
000108 Go to first 08
00022f Label 2f
0036 Call RNG
0038c82f If random byte > 200 goto 2f
000103 Go to first 03
00022f Label 2f
0009 Actor stops travelling
00b6 Reset and start cycle counter
0036 Call RNG
00388006 If random byte > 128 goto 06
017c129906 Set sound 1299 to channel 6 (does not play)
017906fd00010bb8177001 Play sound in slot by $self
00020c Label 0c
0003 Yield
00bd0000782f If cycle counter > 120 (2.0 secs) goto 2f
00010c Go to first 0c
00022f Label 2f
0130fc08ff02ff010000 Say random quip: "I'm not sure","One more time","I dunno"
000206 Label 06
0054fd000a013b2f If $self is within 10 units of pad 013b goto 2f
001f013b Walk to pad 013b
00022f Label 2f
00b6 Reset and start cycle counter
000209 Label 09
0003 Yield
01b3fd Allow co-op player to be considered for P1/P2 actor
0106f20000 Set $player to P1 or P2
00350c If $player in sight goto 0c
004b0c If fired near actor goto 0c
007e000c If actor shot more than 0 times goto 0c
003d000c If shot near actor goto 0c
008e63010c If actor's alertness > 99 goto 0c
00bd0000b406 If cycle counter > 180 (3.0 secs) goto 06
000109 Go to first 09
000206 Label 06
00b6 Reset and start cycle counter
00020a Label 0a
0003 Yield
01b3fd Allow co-op player to be considered for P1/P2 actor
0106f20000 Set $player to P1 or P2
00350c If $player in sight goto 0c
004b0c If fired near actor goto 0c
007e000c If actor shot more than 0 times goto 0c
003d000c If shot near actor goto 0c
008e63010c If actor's alertness > 99 goto 0c
00bd00012c06 If cycle counter > 300 (5.0 secs) goto 06
00010a Go to first 0a
000206 Label 06
000103 Go to first 03
00020c Label 0c
0005fd0006 Assign function 0006 - Unalerted guard to $self and advance frame
0004 End of function

Invocations

  • Initial function for actor 3b (dataDyne Trooper)

Comments

There are no comments yet for this function.