Users browsing this thread: 1 Guest(s)
Shorter Rage List? (Battle)
The only advantage Rare item bits have over regular event bits is that they turn on a display in the item menu... which IS advantageous but maybe not for this.
As for testing for Gau, the spot in question is less complex than I remembered.
And
The Gau rage bypass could modify a copy of this second code block, making it set event bits (rare item or otherwise) to indicate to the alphabetical rage patch that a different list location should be referenced (effectively loading a different list).
It looks like the code loads data from a character array. In the code itself I see documented relic 1 ($0023 relative to character address) and relic 2 ($0024 relative to character address), but I also found Helmet ($0021) and Armor ($0022). That means you could set it to check an armor type and pick rages accordingly... only problem being that the insertion point I've picked is triggered IN the relic menu... I'd need to see if there's another suitable point to make a check and bypass.
As for testing for Gau, the spot in question is less complex than I remembered.
Code:
Test Reequip activation, select menu commands accordingly
C3/9EEB: 201091 JSR $9110 ; Get gear effects
C3/9EEE: 20F293 JSR $93F2 ; Define Y
C3/9EF1: B90000 LDA $0000,Y ; Actor
C3/9EF4: C90D CMP #$0D ; Umaro?
C3/9EF6: F007 BEQ $9EFF ; Branch if so
C3/9EF8: 205C9F JSR $9F5C ; Test Reequip
C3/9EFB: A599 LDA $99 ; Triggered it?
C3/9EFD: D007 BNE $9F06 ; Branch if so
C3/9EFF: A904 LDA #$04 ; C3/1A8A
C3/9F01: 8527 STA $27 ; Queue main menu
C3/9F03: 6426 STZ $26 ; Next: Fade-out
C3/9F05: 60 RTS
Code:
Determine whether to trigger Reequip in Relic menu
C3/9F5C: 20F293 JSR $93F2 ; Define Y...
C3/9F5F: B92300 LDA $0023,Y ; Relic 1
C3/9F62: C5B0 CMP $B0 ; Unchanged?
C3/9F64: D009 BNE $9F6F ; Branch if not
C3/9F66: B92400 LDA $0024,Y ; Relic 2
C3/9F69: C5B1 CMP $B1 ; Unchanged?
C3/9F6B: D002 BNE $9F6F ; Branch if not
C3/9F6D: 803A BRA $9FA9 ; Reequip: No
Fork: Compare old and new relics
C3/9F6F: A5B0 LDA $B0 ; Old relic 1
C3/9F71: C9D1 CMP #$D1 ; Genji Glove?
C3/9F73: F037 BEQ $9FAC ; Trigger if so
C3/9F75: C9D0 CMP #$D0 ; Gauntlet?
C3/9F77: F033 BEQ $9FAC ; Trigger if so
C3/9F79: C9DA CMP #$DA ; Merit Award?
C3/9F7B: F02F BEQ $9FAC ; Trigger if so
C3/9F7D: A5B1 LDA $B1 ; Old relic 2
C3/9F7F: C9D1 CMP #$D1 ; Genji Glove?
C3/9F81: F029 BEQ $9FAC ; Trigger if so
C3/9F83: C9D0 CMP #$D0 ; Gauntlet?
C3/9F85: F025 BEQ $9FAC ; Trigger if so
C3/9F87: C9DA CMP #$DA ; Merit Award?
C3/9F89: F021 BEQ $9FAC ; Trigger if so
C3/9F8B: B92300 LDA $0023,Y ; Relic 1
C3/9F8E: C9D1 CMP #$D1 ; Genji Glove?
C3/9F90: F01A BEQ $9FAC ; Trigger if so
C3/9F92: C9D0 CMP #$D0 ; Gauntlet?
C3/9F94: F016 BEQ $9FAC ; Trigger if so
C3/9F96: C9DA CMP #$DA ; Merit Award?
C3/9F98: F012 BEQ $9FAC ; Trigger if so
C3/9F9A: B92400 LDA $0024,Y ; Relic 2
C3/9F9D: C9D1 CMP #$D1 ; Genji Glove?
C3/9F9F: F00B BEQ $9FAC ; Trigger if so
C3/9FA1: C9D0 CMP #$D0 ; Gauntlet?
C3/9FA3: F007 BEQ $9FAC ; Trigger if so
C3/9FA5: C9DA CMP #$DA ; Merit Award?
C3/9FA7: F003 BEQ $9FAC ; Trigger if so
C3/9FA9: 6499 STZ $99 ; Reequip: No
C3/9FAB: 60 RTS
Fork: Set to open Equip menu
C3/9FAC: A901 LDA #$01 ; Reequip: Yes
C3/9FAE: 8599 STA $99 ; Set indicator
C3/9FB0: 60 RTS
It looks like the code loads data from a character array. In the code itself I see documented relic 1 ($0023 relative to character address) and relic 2 ($0024 relative to character address), but I also found Helmet ($0021) and Armor ($0022). That means you could set it to check an armor type and pick rages accordingly... only problem being that the insertion point I've picked is triggered IN the relic menu... I'd need to see if there's another suitable point to make a check and bypass.
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 1 Guest(s)