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 |
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?