Users browsing this thread: 25 Guest(s)
Finishing Off The Complete Roster Hack

#48
Posts: 383
Threads: 34
Thanks Received: 10
Thanks Given: 13
Joined: Dec 2018
Reputation: 18
Status
Moog
(04-26-2020, 10:14 PM)PowerPanda Wrote: 2. Edit the events so that after ever battle, Kefka is assigned an equipment-less profile. (hard)

I just had a thought about this.  If you make Kefka's equipment set consistent across all of his profiles (Morningstar, Paladin Shield, Ribbon), you can make a subroutine that unequips character $0F and deducts those items from the player inventory.

That would place the items in the inventory and then immediately remove them again, preventing the player from ever seeing/equipping them.  Then, it's just a matter of injecting that subroutine at the various instances where Kefka takes a player profile [by making another subroutine that executes four bytes of in-line code {usually the setting of two event bits} and then runs the equipment removal chunk aforementioned].

EDIT:
To handle the issue this way, first update actor profiles 41-45 so they all have the same gear {Morning Star, Paladin Shield, Mithril Helm, Mithril Mail, Ribbon}
Then change the following spots in the Vanilla event script.
Code:
CQXXYY:
8D 0F               Remove all equipment from character $0F {places above items in inventory at controlled points in event script, before party unequips are triggered}
81 46               Delete Morning Star x1
81 67               Delete Paladin Shield x1
81 74               Delete Mithril Helm x1
81 89               Delete Mithril Vest x1
81 CA               Delete Ribbon x1
FE                    Return

{Profile $29 gets assigned to $0F for the Military Base event}
CB112F: {40-0F-29}            Assign properties $29 to character $0F (Actor in slot 15)
...
CB1149: {B2-95-CB-00}         Call subroutine $CACB95
      Replace with jump to subroutine that does the following
{Military Base Hook Subroutine}
B2 95 CB 00      Call subroutine CACB95
B2 YY XX 0Q     Call subroutine CQXXYY [see above]
FE                    Return

{Profile $29 gets assigned to $0F for the Slave Crown intro}
CCA4C1: {40-0F-29}            Assign properties $29 to character $0F (Actor in slot 15)
...
CCA4D7: {88-00-00-00}         Remove status ailments from character $00 (TERRA)
       Replace this with jump to a subroutine that does the following
88 00 00 00      Remove status ailments from character $00 (TERRA)
B2 YY XX 0Q     Call subroutine CQXXXX {to delete Kefka gear}
FE                   Return

{Profile $2A gets assigned to $0F for Kefka at the Sealed Gate}
CB3ABF: {40-0F-2A}            Assign properties $2A to character $0F (Actor in slot 15)
...
CB3ADF: {B2-A9-5E-00}         Call subroutine $CA5EA9 {The Game-Over check}
       Replace this with jump to a subroutine that does the following
B2 A9 5E 00       Check for Game Over
B2 YY XX 0Q      Delete Kefka gear
FE                    Return

{Profile $2B gets assigned to $0F for Kefka versus Espers at Thamasa [Doesn't get cleaned up like other actor $0F assignments]}
CC02F8: {40-0F-2B}            Assign properties $2B to character $0F (Actor in slot 15)
...
CC0317: {94}                  Pause for 60 units
CC0318: {4B-1F-88}            Display dialogue message $081F, wait for button press (Show text with window) (At bottom of screen) "KEFKA: This is ridiculous! I h..."
       Replace these with jump to a subroutine that does the following
94 4B 1F 88          Pause and display the dialogue
B2 YY XX 0Q         Delete Kefka gear  (I know this is repetitive; I'm trying to save you the pain of finding all these little insertion points)
FE                       Return

{Profile $2C gets assigned to $0F for Kefka versus Leo at Thamasa}
CBFFFF: {40-0F-2C}            Assign properties $2C to character $0F (Actor in slot 15)
...
CC001B: {B2-A9-5E-00}         Call subroutine $CA5EA9 [The Game Over subroutine]
       Replace this with jump to a subroutine that does the following
B2 A9 5E 00           Game Over check
B2 YY XX 0Q          Delete Kefka gear
FE                        Return
These little fixes require 58 bytes total freespace somewhere after the CA bank.  If Q = 5, you can fit this all in unused space of the CF bank.  There's 247 bytes free between CFFB29 and CFFBFF you could use.
  Find
Quote  



Messages In This Thread
RE: Finishing Off The Complete Roster Hack - by C-Dude - 05-11-2020, 11:52 AM

Forum Jump:

Users browsing this thread: 25 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite