Manekimoney
Banned
- 169
- Posts
- 7
- Years
- Seen Jan 18, 2024
(This post is made by an ASM noob, so apologies if it's a dumb question)
THIS ASM routine can make it possible for the hacker to disable EXP gain by checking a simple flag. It works by making ever pokemon act as level 100, so it probably also works with many added features, like Gen 6 EXP shares and such.
Full routine:
Due to it's simplicity, you should be able to insert into pretty much any ROM hack that has at least a little bit of free space and didn't modify its EXP gaining code too much.
However, the routine works by enabling a flag.
(this line of the routine does the flag thing):
I want to modify the routine so either it's pernamently activated, or at the very least, it is enabled by a flag that the player is expected to pernamently have activated (for example, flag 0x828, which enables your Pokemon team menu).
With this change, the routine could be inserted into quite a few ROM hacks (including already made ones, like Radical Red, Glazed etc.) and pernamently disabling EXP in them without any other fiddling.
My knowledge of ASM hacking is bottom of the barrel, so sadly I don't know how to make practical edits to ASM routines or even how to edit this simple flag in the ASM (and I didn't really manage to find any resource on flag locations)
Any help or advice is appreciated.
THIS ASM routine can make it possible for the hacker to disable EXP gain by checking a simple flag. It works by making ever pokemon act as level 100, so it probably also works with many added features, like Gen 6 EXP shares and such.
Full routine:
Spoiler:
Code:
.text
.align 2
.thumb
.thumb_func
main:
push {r0-r3}
mov r0, #0xFF
lsl r0, r0, #0x1
add r0, r0, #0x4
ldr r2, =(0x806E6D0 +1) @checkflag 0xFF *0x2 + 4 = 0x202
bl linker
cmp r0, #0x1
beq skip
pop {r0-r3}
cmp r0, #0x64
beq noCrash
ldr r0, =(0x8021D24 +1)
bx r0
skip:
pop {r0-r3}
noCrash:
ldr r1, [r5]
add r1, #0x53
ldrb r0, [r1]
ldr r2, =(0x8021D04 +1)
linker:
bx r2
.align 2
Due to it's simplicity, you should be able to insert into pretty much any ROM hack that has at least a little bit of free space and didn't modify its EXP gaining code too much.
However, the routine works by enabling a flag.
(this line of the routine does the flag thing):
Code:
ldr r2, =(0x806E6D0 +1) @checkflag 0xFF *0x2 + 4 = 0x202
I want to modify the routine so either it's pernamently activated, or at the very least, it is enabled by a flag that the player is expected to pernamently have activated (for example, flag 0x828, which enables your Pokemon team menu).
With this change, the routine could be inserted into quite a few ROM hacks (including already made ones, like Radical Red, Glazed etc.) and pernamently disabling EXP in them without any other fiddling.
My knowledge of ASM hacking is bottom of the barrel, so sadly I don't know how to make practical edits to ASM routines or even how to edit this simple flag in the ASM (and I didn't really manage to find any resource on flag locations)
Any help or advice is appreciated.
Last edited: