Train


0200 Label 00
03 Yield
52003200cb01 If actor is within 50 units of pad 00cb then goto 01
0100 Go to first 00
0201 Label 01
ae Reset and start cycle counter
0219 Label 19
03 Yield
eb3d If Bond has died then goto 3d
b40000b401 If cycle counter > 180 (3.0 secs) then goto 01
0119 Go to first 19
0201 Label 01
ec Set flag indicating we're now in cinema
d700 Toggle text display
da Fade out from cutscene
314601 If actor 46 (Natalya) has finished death animation then goto 01
304601 If actor 46 (Natalya) is killed then goto 01
9a00008000 Set flag #16 (Objective complete: rescue natalya)
0201 Label 01
0211 Label 11
03 Yield
dc01 If fade complete then goto 01
0111 Go to first 11
0201 Label 01
31463c If actor 46 (Natalya) has finished death animation then goto 3c
30463c If actor 46 (Natalya) is killed then goto 3c
f101 If all objectives are complete then goto 01
05fd000f Assign function 000f - Exit level to $self and advance frame
0201 Label 01
dd Remove all actors
ea Stop game timer
ed Hide first person display
03 Yield
03 Yield
03 Yield
d51d00020000 Set camera
a14600000400 Unset property for actor 46 (Natalya): 1:00000400 (hidden)
0546041b Assign function 041b - Natalya in outro to actor 46 (Natalya) and advance frame
05f8041a Assign function 041a - Bond in outro to Bond and advance frame
03 Yield
03 Yield
db Fade in from black
ae Reset and start cycle counter
0212 Label 12
03 Yield
b400012c01 If cycle counter > 300 (5.0 secs) then goto 01
b40000f02f If cycle counter > 240 (4.0 secs) then goto 2f
b40000b42e If cycle counter > 180 (3.0 secs) then goto 2e
b400005a2d If cycle counter > 90 (1.5 secs) then goto 2d
b400003c2c If cycle counter > 60 (1.0 secs) then goto 2c
0112 Go to first 12
022c Label 2c
a41900020000 Unset property 1:00020000 (invincible) for object 19 (metallic securing strip)
5f19 Destroy object 19 (metallic securing strip)
0112 Go to first 12
022d Label 2d
a41a00020000 Unset property 1:00020000 (invincible) for object 1a (metallic securing strip)
5f1a Destroy object 1a (metallic securing strip)
0112 Go to first 12
022e Label 2e
a41b00020000 Unset property 1:00020000 (invincible) for object 1b (metallic securing strip)
5f1b Destroy object 1b (metallic securing strip)
0112 Go to first 12
022f Label 2f
a41c00020000 Unset property 1:00020000 (invincible) for object 1c (metallic securing strip)
5f1c Destroy object 1c (metallic securing strip)
0112 Go to first 12
0201 Label 01
da Fade out from cutscene
0213 Label 13
03 Yield
dc01 If fade complete then goto 01
0113 Go to first 13
0201 Label 01
d2 Exit level
05fd0001 Assign function 0001 - Idle to $self and advance frame
023c Label 3c
d2 Exit level
05fd0001 Assign function 0001 - Idle to $self and advance frame
023d Label 3d
05fd0001 Assign function 0001 - Idle to $self and advance frame
04 End of function

Invocations

  • Started automatically

Comments

Wait until within 50 units of pad CB
Wait until any key pressed (3D) or three seconds passed (01)

Any key pressed (3D):
idle()

Three seconds passed (01):
Start fade out
If Natalya is not dead, complete objective
Wait for fade to complete
If Natalya dead/dying, exit
If an objective failed, exit
Stop timer
Advance frame