Users browsing this thread: 4 Guest(s)
Shock Ability
09-11-2018, 02:16 AM
(This post was last modified: 09-11-2018, 02:18 AM by Subtraction.)
Here's the problem:
At this point Y, and therefore X, is not the character slot, but 2 * the character slot.
In character slot 0, 2*0 = 0, so it does the right thing.
In slot 1, it sets the menu of slot 2 to be redrawn instead of slot 1.
In slot 2, it increments $2F34: menu window graphics index (wallpaper)
In slot 3, it increments ++$2F35 variable 0 for battle message display
The fix is to change it to:
Code:
newShock: LDA $3018,Y ; Get character bit
ASL #4 ; and shuffle it into the high nibble
TSB $3F2E ; Set bit 7 of $3F2E to show that Shock has been used
PHX : TYX
INC $2F30,X ; Set character's menu to be redrawn
At this point Y, and therefore X, is not the character slot, but 2 * the character slot.
In character slot 0, 2*0 = 0, so it does the right thing.
In slot 1, it sets the menu of slot 2 to be redrawn instead of slot 1.
In slot 2, it increments $2F34: menu window graphics index (wallpaper)
In slot 3, it increments ++$2F35 variable 0 for battle message display
The fix is to change it to:
Code:
newShock: LDA $3018,Y ; Get character bit
ASL #4 ; and shuffle it into the high nibble
TSB $3F2E ; Set bit 7 of $3F2E to show that Shock has been used
PHX : TYA
LSR
TAX
INC $2F30,X ; Set character's menu to be redrawn
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 4 Guest(s)