(06-05-2011, 12:58 PM)DjinnAndTonic Wrote: [ -> ]Code:
Shadow leaves commands
CB/9AAE: DE Load CaseWord with the characters in the currently active party?
CB/9AAF: BE If character $03 (SHADOW) is in the current CaseWord, call subroutine $CBA3B9
This code removes shadow from the party when you're at the imperial camp and the doma map is loaded for the first time. Since you have the option of not recruiting shadow, the code is asking here "Did you recruit shadow? If you did, let's kick him out for Cyan's scene".
(06-05-2011, 12:58 PM)DjinnAndTonic Wrote: [ -> ]Code:
Shadow leaves commands
CB/A0EC: DE Load CaseWord with the characters in the currently active party?
CB/A0ED: BE If character $03 (SHADOW) is in the current CaseWord, call subroutine $CBA3B9
Same as above, this one kicks shadow out of the party for the scene where Doma is poisoned and Cyan goes ballistic.
(06-05-2011, 12:58 PM)DjinnAndTonic Wrote: [ -> ]Code:
Shadow leaves commands
Questionably a Shadow leaves command
CB/BBB6: BE If character $03 (SHADOW) is in the current CaseWord, call subroutine $CBBEC4
This code is for just when you get off from the Phantom Train. The game checks if shadow is still in the party. If he is, then he is given some actions to perform (just before Owain and the wife boarding the train).
(06-05-2011, 12:58 PM)DjinnAndTonic Wrote: [ -> ]Code:
Shadow leaves commands
Shadow leaves, but may be necessary?
CB/BE79: BE If character $03 (SHADOW) is in the current CaseWord, call subroutine $CBBEDD
This kicks shadow out of the party if he is present in it, just after the Phantom Train departs with Cyan's wife and child.
(06-05-2011, 12:58 PM)DjinnAndTonic Wrote: [ -> ]Code:
Shadow leaves commands
Shadow leaves, branches to the text involved
CB/BFD0: BE If character $03 (SHADOW) is in the current CaseWord, call subroutine $CBBFE9
This last one kicks shadow out of the party when about to jump the waterfall for going to the veldt in sabin's scenario.
It seems to me that the code that randomizes shadow leaving from the party might be in the C2 bank.
Killing shadow on the floating continent is a consequence of the following code:
Code:
CA/579D: 4B Display dialogue message $0872, wait for button press
The airship's below.
^ (Jump!!)
^ (Wait!!)
CA/57A0: B6 Indexed branch based on prior dialogue selection [$CA48C1, $CA5EB3 (does nothing)]
CA/57A7: FE Return
CA/57A8: 4B Display dialogue message $0873, wait for button press
^ (Jump!!)
^ (Gotta wait for SHADOW…)
CA/57AB: B6 Indexed branch based on prior dialogue selection [$CA48C1, $CA5EB3(does nothing)]
CA/57B2: FE Return
One way to do it may be to, instead of choosing to jump or to wait, NOP that part and instead make the code jump to CA/57BB, which is the code that is activated to bring shadow to the airship in the apocalypse scene
Code:
CA/57B3: C1 If ($1E80($1FE) [$1EBF, bit 6] is clear) or ($1E80($1FD) [$1EBF, bit 5] is clear), branch to $CA5EB3 (simply returns)
CA/57BB: A1 Reset timer 0
CA/57BD: A1 Reset timer 2
CA/57BF: 3D Create object $03
CA/57C1: 45 Refresh objects
CA/57C2: 03 Begin action queue for character $03 (Actor in stot 3), 7 bytes long (Wait until complete)
CA/57C4: D5 Set vehicle/entity's position to (104, 12)
CA/57C7: C7 Set vehicle/entity to stay still when moving
CA/57C8: C1 Set vehicle/entity's event speed to slow
CA/57C9: 4F Do vehicle/entity graphical action $0F, flipped horizontally
CA/57CA: FF End queue
CA/57CB: 41 Show object $03
CA/57CD: 03 Begin action queue for character $03 (Actor in stot 3), 8 bytes long (Wait until complete)
CA/57CF: 85 Move vehicle/entity right 2 tiles
CA/57D0: 4B Do vehicle/entity graphical action $0B, flipped horizontally
CA/57D1: C2 Set vehicle/entity's event speed to normal
CA/57D2: A6 Move vehicle/entity right/down 2x1 tiles
CA/57D3: C3 Set vehicle/entity's event speed to fast
CA/57D4: A6 Move vehicle/entity right/down 2x1 tiles
CA/57D5: 49 Do vehicle/entity graphical action $09, flipped horizontally
CA/57D6: FF End queue
CA/57D7: 92 Pause for 30 units
CA/57D8: 31 Begin action queue for character $31 (Party Character 0), 5 bytes long (Wait until complete)
CA/57DA: 1F Do vehicle/entity graphical action $1F
CA/57DB: E0 Pause for 4 * 3 (12) frames
CA/57DD: CF Turn vehicle/entity left
CA/57DE: FF End queue
CA/57DF: F4 Play sound effect 24
CA/57E1: 4B Display dialogue message $0874, wait for button press (At bottom of screen)
“SHADOW!!”
SHADOW: I'll be blown to bits before I can even collect my pay…
CA/57E4: D6 Set event bit $1E80($37D) [$1EEF, bit 5]
CA/57E6: B2 Call subroutine $CA5806
CA/57EA: 03 Begin action queue for character $03 (Actor in stot 3), 21 bytes long (Wait until complete)
CA/57EC: C6 Set vehicle/entity to walk when moving
CA/57ED: C2 Set vehicle/entity's event speed to normal
CA/57EE: 81 Move vehicle/entity right 1 tile
CA/57EF: A1 Move vehicle/entity right/down 1x1 tiles
CA/57F0: A1 Move vehicle/entity right/down 1x1 tiles
CA/57F1: A1 Move vehicle/entity right/down 1x1 tiles
CA/57F2: E0 Pause for 4 * 3 (12) frames
CA/57F4: 16 Do vehicle/entity graphical action $16 (facing forward, head cocked left)
CA/57F5: E0 Pause for 4 * 1 (4) frames
CA/57F7: 09 Do vehicle/entity graphical action $09 (kneeling)
CA/57F8: E0 Pause for 4 * 1 (4) frames
CA/57FA: 4A Do vehicle/entity graphical action $0A, flipped horizontally
CA/57FB: C7 Set vehicle/entity to stay still when moving
CA/57FC: DD Make vehicle/entity jump (high)
CA/57FD: 86 Move vehicle/entity down 2 tiles
CA/57FE: C4 Set vehicle/entity's event speed to faster
CA/57FF: 96 Move vehicle/entity down 6 tiles
CA/5800: FF End queue
CA/5801: B2 Call subroutine $CA48D6
CA/5805: FE Return