Defection


0002c4 Label c4
0003 Yield
01b3fd Allow co-op player to be considered for P1/P2 actor
0106f20000 Set $player to P1 or P2
00352c If $player in sight goto 2c
0128322c If actor within 50 units of an enemy and has line of sight then set AI vs AI and goto 2c
004b2c If fired near actor goto 2c
003d002c If shot near actor goto 2c
0001c4 Go to first c4
00022c Label 2c
0130f812ff03ff000000 Say random quip: "What the?!","Who the?!"
000b02020000ffff0010fd02 Actor $self does animation 0202 (arms to side up a little, walk back)
000208 Label 08
0003 Yield
00b5533400 // S4
00bd00003c2c If cycle counter > 60 (1.0 secs) goto 2c
000108 Go to first 08
00022c Label 2c
013a000054 Attempt to target another member of our group. On success goto 54
000055 Go to next 55
000254 Label 54
0031fc56 Run to $self->target_actor, then goto 56
000256 Label 56
0003 Yield
0053001e06 If actor is further than 30 units from player goto 06
004a28 If something (actor in view?) goto 28
000206 Label 06
0034fc55 If $self->target_actor has finished death animation goto 55
017bfc55 If $self->target_actor's body has disappeared goto 55
0045fc57 If actor $self has detected $self->target_actor goto 57
003257 If actor has stopped moving goto 57
000156 Go to first 56
000257 Label 57
00b55741524e20465249454e44530a00 // WARN FRIENDS
0130f810ff02ff000000 Say random quip: "Intruder alert!","We've got trouble","We've got problems"
013164 For all actors in the same group, set their alertness to 100
000255 Label 55
0003 Yield
0053001e06 If actor is further than 30 units from player goto 06
004a28 If something (actor in view?) goto 28
000206 Label 06
01b3fd Allow co-op player to be considered for P1/P2 actor
0106f20000 Set $player to P1 or P2
003f58 If $player is in line of sight goto 58
000155 Go to first 55
000258 Label 58
00b6 Reset and start cycle counter
01360202 Undocumented
00020a Label 0a
0003 Yield
0053001e06 If actor is further than 30 units from player goto 06
004a28 If something (actor in view?) goto 28
000206 Label 06
00bd0002582c If cycle counter > 600 (10.0 secs) goto 2c
00010a Go to first 0a
00022c Label 2c
0009 Actor stops travelling
000155 Go to first 55
000228 Label 28
0024 Surrender
0005fd0000 Assign function 0000 - Idle to $self and advance frame
0004 End of function

Invocations

Comments

This is the first guard after you enter the building.

Wait for visual on Jo, detected Jo or nearby gunshot
"What the", "Who the", or "Who the"
Start surprised animation
Wait 1 second
Then 50% chance of one action or another

Action 1 (label 54):
Run to where Jo is at the moment
If guard got within 30 units of Jo and has line of sight to Jo, surrender and exit
If guard got there without coming within 30 units of Jo, alert friends
Proceed to label 55

Action 2 (label 55):
If Jo within 30 units, surrender and exit
Wait until player in line of sight
Wait 10 seconds then stop?