Deep Sea


011bf800004000 Set property for Joanna: 2:00004000 (allow co op buddy to warp to Jo?)
00a3000000800061 If flag #8 (Elvis following Velvet) is false goto 61
0034f561 If Velvet has finished death animation goto 61
0033f561 If Velvet is dying/dead goto 61
017bf561 If Velvet's body has disappeared goto 61
000062 Go to next 62
000261 Label 61
000500042c Assign function 042c - Elvis idle to actor 00 (Elvis) and advance frame
000262 Label 62
00770109 If difficulty < SA goto 09
00770208 If difficulty < PA goto 08
00a3000000800061 If flag #8 (Elvis following Velvet) is false goto 61
0034f561 If Velvet has finished death animation goto 61
0033f561 If Velvet is dying/dead goto 61
017bf561 If Velvet's body has disappeared goto 61
000062 Go to next 62
000261 Label 61
00340007 If actor 00 (Elvis) has finished death animation goto 07
00330007 If actor 00 (Elvis) is dying/dead goto 07
017b0007 If actor 00 (Elvis)'s body has disappeared goto 07
000266 Label 66
0003 Yield
00e20001be0106 Attempt to move actor 00 (Elvis) to pad 01be and goto 06
000166 Go to first 66
000206 Label 06
011b0000020000 Set property for actor 00 (Elvis): 2:00020000 (unknown prop - used in cutscenes)
000262 Label 62
000207 Label 07
000267 Label 67
0003 Yield
00e2fd01a50106 Attempt to move $self to pad 01a5 and goto 06
000167 Go to first 67
000206 Label 06
00022e Label 2e
0009 Actor stops travelling
0003 Yield
00a3000000800061 If flag #8 (Elvis following Velvet) is false goto 61
0034f561 If Velvet has finished death animation goto 61
0033f561 If Velvet is dying/dead goto 61
017bf561 If Velvet's body has disappeared goto 61
000062 Go to next 62
000261 Label 61
0005000402 Assign function 0402 - Elvis general to actor 00 (Elvis) and advance frame
000262 Label 62
00a100000020 Set flag #6 (trigger to finish teleport)
0005fd0000 Assign function 0000 - Idle to $self and advance frame
000208 Label 08
0005fd0415 Assign function 0415 - Teleport Joanna to control room to $self and advance frame
000209 Label 09
00a3000000800061 If flag #8 (Elvis following Velvet) is false goto 61
0034f561 If Velvet has finished death animation goto 61
0033f561 If Velvet is dying/dead goto 61
017bf561 If Velvet's body has disappeared goto 61
000062 Go to next 62
000261 Label 61
00340007 If actor 00 (Elvis) has finished death animation goto 07
00330007 If actor 00 (Elvis) is dying/dead goto 07
017b0007 If actor 00 (Elvis)'s body has disappeared goto 07
00026b Label 6b
0003 Yield
00e20000400106 Attempt to move actor 00 (Elvis) to pad 0040 and goto 06
00016b Go to first 6b
000206 Label 06
011b0000020000 Set property for actor 00 (Elvis): 2:00020000 (unknown prop - used in cutscenes)
000262 Label 62
000207 Label 07
000268 Label 68
0003 Yield
00e2fd01a20106 Attempt to move $self to pad 01a2 and goto 06
000168 Go to first 68
000206 Label 06
00022e Label 2e
0009 Actor stops travelling
0003 Yield
00a100000020 Set flag #6 (trigger to finish teleport)
00a3000000800061 If flag #8 (Elvis following Velvet) is false goto 61
0034f561 If Velvet has finished death animation goto 61
0033f561 If Velvet is dying/dead goto 61
017bf561 If Velvet's body has disappeared goto 61
000062 Go to next 62
000261 Label 61
0005000403 Assign function 0403 - Elvis giving Farsight to actor 00 (Elvis) and advance frame
000262 Label 62
0005fd0000 Assign function 0000 - Idle to $self and advance frame
0004 End of function

Invocations

Comments

I suspect Elvis can get stuck in the first area if he is injured while Jo is teleporting, because when he is injured he is reassigned a function.

Function 0402 (Elvis general) sets the onshot function to 0402
This function reassigns Elvis to 042c idle, which makes him stop moving and unassign the idle function
Frame is advanced
Elvis is moved to pad

Nothing obvious here, but maybe there's a programming mistake where the move actor to pad instruction refuses if the actor is busy, but follows the if by mistake?