Quote:
Originally Posted by SP458
Hey everyone!
I'm making a harder version (partially inspired from Crystal_'s Pokémon Pyrite) of FireRed and one of its features is the removal of stat boosts granted by badges. All I've found is a post referencing flag checks which didn't really help me, but is there a script or another way to remove these boosts?
|
Unfortunately this would require assembly hacking. You would need to edit the battle engine routines to skip the flag checks / automatically jump to the portion of the routine as if the badge flag were never set.
For starters, Mr. Dollsteak had rewritten the
turn order loader routine which includes the relevant badge check. Removing the badge check would simply require removing the BadgeCheck portion, like so:
Code:
ChoiceScarfCheck:
cmp r0, #0x1D
bne StatusCheck
bl 0x9A948
lsl r0, r0, #0x18
lsl r0, r0, #0x18
cmp r0, #0x2
bne StatusCheck
lsr r0, r5, #0x1
add r5, r0, r5
StatusCheck:
ldr r0, [r6, #0x4c]
add r6, #0x20
ldrb r1, [r6, #0x0]
cmp r1, #0x9B
bne ParalysisCheck
The attack and defense boosts would likely be found in the base damage calculation function, or battle command 0x5 (starting at 0x0801E59C)