0006fd0413 |
Set return function for $self to function 0413 - Jon hanger |
00070413 |
When shot/hit, assign function 0413 - Jon hanger |
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 |
000232 |
Label 32 |
0083fd06 |
If $self shot (while recoiling?) goto 06 |
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 |
000209 |
Label 09 |
0005fd000c |
Assign function 000c - Combat with ally? to $self and advance frame |
000263 |
Label 63 |
0106f20000 |
Set $player to P1 or P2 |
000212 |
Label 12 |
001d015f |
Jog to pad 015f |
000213 |
Label 13 |
0003 |
Yield |
0128fe32 |
If actor within 254 units of an enemy and has line of sight then set AI vs AI and goto 32 |
0054fd015f001e06 |
If $self is within 351 units of pad 001e goto 06 |
003206 |
If actor has stopped moving goto 06 |
000113 |
Go to first 13 |
000232 |
Label 32 |
000109 |
Go to first 09 |
000206 |
Label 06 |
00a102000000 |
Set flag #26 (Jon ready for hanger conversation) |
0009 |
Actor stops travelling |
0106f20000 |
Set $player to P1 or P2 |
00180200000014 |
Actor faces something (entity type=0x0200, entity_id=0x0000), then goto 14 |
000214 |
Label 14 |
0003 |
Yield |
0106220000 |
Set $player to actor 22 (Maian) |
0053002832 |
If actor is further than 40 units from player goto 32 |
0106f20000 |
Set $player to P1 or P2 |
0053002832 |
If actor is further than 40 units from player goto 32 |
003506 |
If $player in sight goto 06 |
000232 |
Label 32 |
000114 |
Go to first 14 |
000206 |
Label 06 |
003422c3 |
If actor 22 (Maian) has finished death animation goto c3 |
003322c3 |
If actor 22 (Maian) is dying/dead goto c3 |
017b22c3 |
If actor 22 (Maian)'s body has disappeared goto c3 |
00b6 |
Reset and start cycle counter |
000b0232ffff00c802002202 |
Actor actor 22 (Maian) does animation 0232 (talking with right arm forward) |
00cdf2483b1a9a0506 |
Display text and play a sound in channel 5 for P1 or P2: Oh, no! We have a problem. It's a single seater!
|
00027d |
Label 7d |
0003 |
Yield |
003422c3 |
If actor 22 (Maian) has finished death animation goto c3 |
003322c3 |
If actor 22 (Maian) is dying/dead goto c3 |
017b22c3 |
If actor 22 (Maian)'s body has disappeared goto c3 |
01380532 |
If sound in channel 5 is finished goto 32 |
00017d |
Go to first 7d |
000232 |
Label 32 |
00bd00012c06 |
If cycle counter > 300 (5.0 secs) goto 06 |
00017d |
Go to first 7d |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
000b0233ffff00c802002202 |
Actor actor 22 (Maian) does animation 0233 (move right arm, head up and down) |
00cdf2483c1a9b0506 |
Display text and play a sound in channel 5 for P1 or P2: Two can get in but no more.
|
00027e |
Label 7e |
0003 |
Yield |
003422c3 |
If actor 22 (Maian) has finished death animation goto c3 |
003322c3 |
If actor 22 (Maian) is dying/dead goto c3 |
017b22c3 |
If actor 22 (Maian)'s body has disappeared goto c3 |
01380532 |
If sound in channel 5 is finished goto 32 |
00017e |
Go to first 7e |
000232 |
Label 32 |
00bd0000c806 |
If cycle counter > 200 (3.3 secs) goto 06 |
00017e |
Go to first 7e |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
00cdf8482972a70509 |
Display text and play a sound in channel 5 for Joanna: It's the only way out of here.
|
000215 |
Label 15 |
0003 |
Yield |
003422c3 |
If actor 22 (Maian) has finished death animation goto c3 |
003322c3 |
If actor 22 (Maian) is dying/dead goto c3 |
017b22c3 |
If actor 22 (Maian)'s body has disappeared goto c3 |
01380532 |
If sound in channel 5 is finished goto 32 |
000115 |
Go to first 15 |
000232 |
Label 32 |
00bd00007806 |
If cycle counter > 120 (2.0 secs) goto 06 |
000115 |
Go to first 15 |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
000b0232ffff00c802002202 |
Actor actor 22 (Maian) does animation 0232 (talking with right arm forward) |
00cdf2483d1a9c0506 |
Display text and play a sound in channel 5 for P1 or P2: Plus, it's got no style, you know what I'm saying?
|
00027f |
Label 7f |
0003 |
Yield |
003422c3 |
If actor 22 (Maian) has finished death animation goto c3 |
003322c3 |
If actor 22 (Maian) is dying/dead goto c3 |
017b22c3 |
If actor 22 (Maian)'s body has disappeared goto c3 |
01380532 |
If sound in channel 5 is finished goto 32 |
00017f |
Go to first 7f |
000232 |
Label 32 |
00bd0000c806 |
If cycle counter > 200 (3.3 secs) goto 06 |
00017f |
Go to first 7f |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
00cdf8482a72a80509 |
Display text and play a sound in channel 5 for Joanna: You're the only one who can fly it, Elvis, so get in.
|
000217 |
Label 17 |
0003 |
Yield |
003422c3 |
If actor 22 (Maian) has finished death animation goto c3 |
003322c3 |
If actor 22 (Maian) is dying/dead goto c3 |
017b22c3 |
If actor 22 (Maian)'s body has disappeared goto c3 |
01380532 |
If sound in channel 5 is finished goto 32 |
000117 |
Go to first 17 |
000232 |
Label 32 |
00bd0000f006 |
If cycle counter > 240 (4.0 secs) goto 06 |
000117 |
Go to first 17 |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
000b0231ffff00c802002102 |
Actor actor 21 (Jonathan) does animation 0231 (left arm up then down) |
00cdf2482d12b90503 |
Display text and play a sound in channel 5 for P1 or P2: One of us will have to stay behind and open the
hangar doors.
|
00021a |
Label 1a |
0003 |
Yield |
003422c3 |
If actor 22 (Maian) has finished death animation goto c3 |
003322c3 |
If actor 22 (Maian) is dying/dead goto c3 |
017b22c3 |
If actor 22 (Maian)'s body has disappeared goto c3 |
01380532 |
If sound in channel 5 is finished goto 32 |
00011a |
Go to first 1a |
000232 |
Label 32 |
00bd0000f006 |
If cycle counter > 240 (4.0 secs) goto 06 |
00011a |
Go to first 1a |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
00cdf8482b72a90509 |
Display text and play a sound in channel 5 for Joanna: But we can't leave you behind.
|
000218 |
Label 18 |
0003 |
Yield |
003422c3 |
If actor 22 (Maian) has finished death animation goto c3 |
003322c3 |
If actor 22 (Maian) is dying/dead goto c3 |
017b22c3 |
If actor 22 (Maian)'s body has disappeared goto c3 |
01380532 |
If sound in channel 5 is finished goto 32 |
000118 |
Go to first 18 |
000232 |
Label 32 |
00bd00007806 |
If cycle counter > 120 (2.0 secs) goto 06 |
000118 |
Go to first 18 |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
00cdf8482c72aa0509 |
Display text and play a sound in channel 5 for Joanna: There must be a way out of here.
|
000219 |
Label 19 |
0003 |
Yield |
003422c3 |
If actor 22 (Maian) has finished death animation goto c3 |
003322c3 |
If actor 22 (Maian) is dying/dead goto c3 |
017b22c3 |
If actor 22 (Maian)'s body has disappeared goto c3 |
01380532 |
If sound in channel 5 is finished goto 32 |
000119 |
Go to first 19 |
000232 |
Label 32 |
00bd00007806 |
If cycle counter > 120 (2.0 secs) goto 06 |
000119 |
Go to first 19 |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
000b0232ffff00c802002102 |
Actor actor 21 (Jonathan) does animation 0232 (talking with right arm forward) |
00cdf2482e12ba0503 |
Display text and play a sound in channel 5 for P1 or P2: I'll get out on that hoverbike. Cover me while I
open the doors.
|
00021b |
Label 1b |
0003 |
Yield |
00bd00007866 |
If cycle counter > 120 (2.0 secs) goto 66 |
00011b |
Go to first 1b |
000266 |
Label 66 |
00342206 |
If actor 22 (Maian) has finished death animation goto 06 |
00332206 |
If actor 22 (Maian) is dying/dead goto 06 |
017b2206 |
If actor 22 (Maian)'s body has disappeared goto 06 |
000522041c |
Assign function 041c - Elvis while Jon doing terminals to actor 22 (Maian) and advance frame |
000206 |
Label 06 |
00a104000000 |
Set flag #27 (Jon running to terminals) |
009b0000200000 |
Set an actor flag |
00b6 |
Reset and start cycle counter |
001d016f |
Jog to pad 016f |
00021c |
Label 1c |
0003 |
Yield |
00bc0000f032 |
If cycle counter < 240 (4.0 secs) goto 32 |
00a3080000000132 |
If flag #28 (X music started) is true goto 32 |
016afdfda80133 |
If $self's Y > -600 goto 33 |
0106f20000 |
Set $player to P1 or P2 |
0052001e59 |
If actor is within 30 units of $player goto 59 |
000232 |
Label 32 |
003206 |
If actor has stopped moving goto 06 |
00011c |
Go to first 1c |
000233 |
Label 33 |
00a108000000 |
Set flag #28 (X music started) |
00f9010a5a |
Play X music in channel 1 for 90 seconds |
0020016f |
Run to pad 016f |
00a108000000 |
Set flag #28 (X music started) |
003206 |
If actor has stopped moving goto 06 |
00011c |
Go to first 1c |
000206 |
Label 06 |
000b02040000ffff1010fd02 |
Actor $self does animation 0204 (lean forward/down move arms) |
00021d |
Label 1d |
0003 |
Yield |
003206 |
If actor has stopped moving goto 06 |
00011d |
Go to first 1d |
000206 |
Label 06 |
00a3002000000132 |
If flag #22 (Objective failed: Escape from Area 51) is true goto 32 |
00a100400000 |
Set flag #23 (inner hanger door opened) |
006c2c |
Open door 2c (A51 square door (top part)) |
006c2d |
Open door 2d (A51 square door (top part)) |
00aa2c40000000 |
Set property for object 2c (A51 square door (top part)): 1:40000000 (unknown prop) |
00aa2d40000000 |
Set property for object 2d (A51 square door (top part)): 1:40000000 (unknown prop) |
00cbf24827 |
Display text in bottom left for P1 or P2: Inner hangar door is opening.
|
000232 |
Label 32 |
009b0000400000 |
Set an actor flag |
00200171 |
Run to pad 0171 |
00021e |
Label 1e |
0003 |
Yield |
0054fd0171001406 |
If $self is within 369 units of pad 0014 goto 06 |
003206 |
If actor has stopped moving goto 06 |
00011e |
Go to first 1e |
000206 |
Label 06 |
000b02040000ffff1010fd02 |
Actor $self does animation 0204 (lean forward/down move arms) |
00021f |
Label 1f |
0003 |
Yield |
003206 |
If actor has stopped moving goto 06 |
00011f |
Go to first 1f |
000206 |
Label 06 |
00a3002000000120 |
If flag #22 (Objective failed: Escape from Area 51) is true goto 20 |
00a100800000 |
Set flag #24 (outer hanger door opened) |
006c2e |
Open door 2e (A51 square door (top part)) |
006c2f |
Open door 2f (A51 square door (top part)) |
00aa2e40000000 |
Set property for object 2e (A51 square door (top part)): 1:40000000 (unknown prop) |
00aa2f40000000 |
Set property for object 2f (A51 square door (top part)): 1:40000000 (unknown prop) |
00cbf24825 |
Display text in bottom left for P1 or P2: Outer hangar door is opening.
|
000220 |
Label 20 |
0003 |
Yield |
0005fd041b |
Assign function 041b to $self and advance frame |
000120 |
Go to first 20 |
000259 |
Label 59 |
00cdf8482f72ac0509 |
Display text and play a sound in channel 5 for Joanna: Jonathan, go with Elvis. I'll see to the consoles.
|
00b6 |
Reset and start cycle counter |
00180200000046 |
Actor faces something (entity type=0x0200, entity_id=0x0000), then goto 46 |
000246 |
Label 46 |
0003 |
Yield |
004d0a06 |
If actor is facing player within 10 degrees (?) goto 06 |
00bd00003c06 |
If cycle counter > 60 (1.0 secs) goto 06 |
000146 |
Go to first 46 |
000206 |
Label 06 |
00b6 |
Reset and start cycle counter |
00024a |
Label 4a |
0003 |
Yield |
00bd00007806 |
If cycle counter > 120 (2.0 secs) goto 06 |
00014a |
Go to first 4a |
000206 |
Label 06 |
00a110000000 |
Set flag #29 (Jo agreed to do consoles) |
00a108000000 |
Set flag #28 (X music started) |
00f9010a5a |
Play X music in channel 1 for 90 seconds |
0005fd041b |
Assign function 041b to $self and advance frame |
0002c3 |
Label c3 |
0006fd041b |
Set return function for $self to function 041b |
0005fd041b |
Assign function 041b to $self and advance frame |
0004 |
End of function |
Flag 14 = Jon started running to first terminal
Flag 15 = ?
Flag 22 = ?
Flag 23 = Inner hanger door opening
Flag 24 = Terminal 2 done?
Flag 26 = ?
Flag 27 = Jon started running to first terminal
Flag 28 = X music started
Flag 29 = ?
Flag 23 = inner door opening/opened
Flag 24 = outer door opening/opened
Flag 28 = x music started/terminals ready
"Cover me while I open the doors"
Allow 2 seconds for speech to play
Set flags 27 and 14
Start running to terminal 2
Over the next 4 seconds, if Jon's movement stops goto 06 (ie. at terminal 2)
After 4 seconds, start doing more checks:
- flag_28 true (impossible on first iteration)? goto 32
- on ramp? goto 33, which starts x music and sets flag_28
- within 30 units of Jo? Jo takes over
- stopped moving? (ie. at terminal?) goto 06
Terminal 1 = pads 0171, 03fd, 03f7
Terminal 2 = pads 048e, 016f, 03f8