010bfd10 |
Make $self ally (10) or foe (02) |
0003 |
Yield |
0145 |
Set actor AI |
0146 |
Set actor AI |
0006fd0404 |
Set return function for $self to function 0404 - Jon follow and mine |
00070404 |
When shot/hit, assign function 0404 - Jon follow and mine |
0034fd32 |
If $self has finished death animation goto 32 |
0033fd32 |
If $self is dying/dead goto 32 |
017bfd32 |
If $self's body has disappeared goto 32 |
000006 |
Go to next 06 |
000232 |
Label 32 |
0005fd0000 |
Assign function 0000 - Idle to $self and advance frame |
00a3000400000132 |
If flag #19 (Jon finished setting explosives) is true goto 32 |
009d0000002001000d |
If actor flag is something, goto 0d |
000232 |
Label 32 |
000063 |
Go to next 63 |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
000264 |
Label 64 |
0003 |
Yield |
003263 |
If actor has stopped moving goto 63 |
000164 |
Go to first 64 |
000263 |
Label 63 |
00a300000040010e |
If flag #7 (Jon injured?) is true goto 0e |
0106f20000 |
Set $player to P1 or P2 |
00b54a4f4e4120464f4c4c4f570a00 |
// JONA FOLLOW |
00025a |
Label 5a |
005300145c |
If actor is further than 20 units from player goto 5c |
0009 |
Actor stops travelling |
00b6 |
Reset and start cycle counter |
00025b |
Label 5b |
0003 |
Yield |
000232 |
Label 32 |
003f06 |
If $player is in line of sight goto 06 |
00005c |
Go to next 5c |
000206 |
Label 06 |
005300145c |
If actor is further than 20 units from player goto 5c |
00015b |
Go to first 5b |
00025c |
Label 5c |
00b6 |
Reset and start cycle counter |
0052001e32 |
If actor is within 30 units of $player goto 32 |
002d5d |
Run to Jo, then goto 5d |
000232 |
Label 32 |
002c5d |
Walk to Jo, then goto 5d |
00025d |
Label 5d |
00b6 |
Reset and start cycle counter |
0003 |
Yield |
000206 |
Label 06 |
01289609 |
If actor within 150 units of an enemy and has line of sight then set AI vs AI and goto 09 |
000232 |
Label 32 |
0106f20000 |
Set $player to P1 or P2 |
005200145e |
If actor is within 20 units of $player goto 5e |
00bd0000785e |
If cycle counter > 120 (2.0 secs) goto 5e |
00325e |
If actor has stopped moving goto 5e |
00015d |
Go to first 5d |
00025e |
Label 5e |
00a3001000000132 |
If flag #21 (wall blown up) is true goto 32 |
00a3000100000132 |
If flag #17 (Jon said we're near) is true goto 32 |
005b210000dc0a |
If actor 21 (Jonathan) is in room/pad dc goto 0a |
005b210000dd0a |
If actor 21 (Jonathan) is in room/pad dd goto 0a |
00015a |
Go to first 5a |
005bf20000dc0a |
If P1 or P2 is in room/pad dc goto 0a |
005bf20000dd0a |
If P1 or P2 is in room/pad dd goto 0a |
000232 |
Label 32 |
00015a |
Go to first 5a |
000209 |
Label 09 |
0005fd000c |
Assign function 000c - Combat with ally? to $self and advance frame |
00020a |
Label 0a |
00a501000000 |
Unset property for actor $self: 1:01000000 (unknown prop) |
00a100010000 |
Set flag #17 (Jon said we're near) |
00cdf2481b12b50403 |
Display text and play a sound in channel 4 for P1 or P2: Right, we're near. Cover me, Jo...
|
00070405 |
When shot/hit, assign function 0405 - Jon onDamage |
00020b |
Label 0b |
001d038b |
Jog to pad 038b |
00020c |
Label 0c |
0003 |
Yield |
003206 |
If actor has stopped moving goto 06 |
00010c |
Go to first 0c |
000206 |
Label 06 |
00f9010a1e |
Play X music in channel 1 for 30 seconds |
00b6 |
Reset and start cycle counter |
001800080173c4 |
Actor faces pad 0173, then goto c4 |
0002c4 |
Label c4 |
0003 |
Yield |
00bd00003c06 |
If cycle counter > 60 (1.0 secs) goto 06 |
0001c4 |
Go to first c4 |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
00a100020000 |
Set flag #18 (Jon started setting explosives) |
0002c2 |
Label c2 |
0036 |
Call RNG |
0037566a |
If random byte < 86 goto 6a |
0037ac6b |
If random byte < 172 goto 6b |
000b0204ffffffff100afd02 |
Actor $self does animation 0204 (lean forward/down move arms) |
00000e |
Go to next 0e |
00026a |
Label 6a |
000b0205ffffffff100afd02 |
Actor $self does animation 0205 (hold arms out, head down) |
00000e |
Go to next 0e |
00026b |
Label 6b |
000b0206ffffffff100afd02 |
Actor $self does animation 0206 (kneel arms over head moving) |
00020e |
Label 0e |
00070405 |
When shot/hit, assign function 0405 - Jon onDamage |
00b9 |
Resume cycle counter |
009c0000002000 |
Unset an actor flag |
00020d |
Label 0d |
0003 |
Yield |
00bd0007d006 |
If cycle counter > 2000 (33.3 secs) goto 06 |
000c32 |
If actor is not doing anything goto 32 |
0001c2 |
Go to first c2 |
000232 |
Label 32 |
00010d |
Go to first 0d |
000206 |
Label 06 |
00070404 |
When shot/hit, assign function 0404 - Jon follow and mine |
00a100040000 |
Set flag #19 (Jon finished setting explosives) |
00a200000040 |
Unset flag #7 (Jon injured?) |
00a401000000 |
Set property for actor $self: 1:01000000 (unknown prop) |
00cdf2481c12b60403 |
Display text and play a sound in channel 4 for P1 or P2: Okay - stand back.
|
00200140 |
Run to pad 0140 |
00020f |
Label 0f |
0003 |
Yield |
003212 |
If actor has stopped moving goto 12 |
00010f |
Go to first 0f |
000212 |
Label 12 |
0009 |
Actor stops travelling |
000210 |
Label 10 |
0003 |
Yield |
00a3001000000106 |
If flag #21 (wall blown up) is true goto 06 |
000110 |
Go to first 10 |
000206 |
Label 06 |
00710a02 |
Unlock door 0a (A51 brown door) with value 2 |
00cdf2482012b70403 |
Display text and play a sound in channel 4 for P1 or P2: Okay, Jo - let's go.
|
00b6 |
Reset and start cycle counter |
000211 |
Label 11 |
0003 |
Yield |
00bd00007806 |
If cycle counter > 120 (2.0 secs) goto 06 |
000111 |
Go to first 11 |
000206 |
Label 06 |
00015a |
Go to first 5a |
0005fd0000 |
Assign function 0000 - Idle to $self and advance frame |
0004 |
End of function |
There are no comments yet for this function.