Blah
Free supporter
- 1,924
- Posts
- 12
- Years
- Unknown Island
- Seen Feb 19, 2025
I have a request. I am working on a *cough, cough*secret Christmas hack.*cough, cough* And the main character is a pokemon. So obviously I would like to be able to use him in fight but something that is pushing me away from that is when you send out a pokemon the trainer flys off the edge throwing a pokeball. Hopefully this sint too much graphical since its not adding any graphics. But could you make a routine that if a certain pokemon is in the front of your party and not fainted it doesnt slide the backsprite out, and doesnt say soandso sent out Arceus?
This is actually the same problem as trainer sliding. From what I've investigated, the slide in routine for the player sprite is recycled by the Pokemon sprites you send out as well. It's a dual purpose bit of code, if you will. So it's not as simple as just removing it, I'll try to find where the player part is actually generated later.
Party Stat Checker
I promised someone that I'd post this once I found it. Well, I found it :P
How to insert:
Compile the following routine into free space:
Spoiler:
Code:
.text
.align 2
.thumb
.thumb_func
main:
push {r0-r6, lr}
ldr r6, =(0x2024029)
ldrb r6, [r6]
mov r5, #0x0
PokeLoop:
cmp r6, r5
beq none
mov r0, #0x64
mul r0, r0, r5
mov r1, r0
ldr r0, =(0x2024284)
add r0, r0, r1
ldr r1, .INDEX
ldrb r1, [r1]
ldr r2, =(0x803FBE8 +1)
bl linker
ldr r3, .ARG
ldrb r3, [r3]
cmp r0, r3
bge PokeMatch
next:
add r5, r5, #0x1
b PokeLoop
PokeMatch:
ldr r3, .ARG
strb r5, [r3]
pop {r0-r6, pc}
none:
ldr r3, .ARG
mov r5, #0x6
strb r5, [r3]
pop {r0-r6, pc}
linker:
bx r2
.align 2
.ARG:
.word 0x020270B8 + (0x8000 *2)
.INDEX:
.word 0x020270B8 + (0x8001 *2)
Here's a compiled version:
Code:
7F B5 10 4E 36 78 00 25 AE 42 12 D0 64 20 68 43 01 1C 0D 48 40 18 0A 49 09 78 0C 4A 00 F0 0D F8 06 4B 1B 78 98 42 01 DA 01 35 ED E7 03 4B 1D 70 7F BD 02 4B 06 25 1D 70 7F BD 10 47 B8 70 03 02 BA 70 03 02 29 40 02 02 84 42 02 02 E9 FB 03 08
Usage:
setvar 0x8001 0x[stat you want to retreive]
setvar 0x8000 0x[value you want stat to match]
callasm 0x[routine +1]
The return value will be stored in var 0x8000
Here's a brief list of useful stats you may be interested in checking:
Spoiler:
Code:
0x0B - Species
0x0C - Held Item
0x0D - Attack 1
0x0E - Attack 2
0x0F - Attack 3
0x10 - Attack 4
0x11 - PP 1
0x12 - PP 2
0x13 - PP 3
0x14 - PP 4
0x37 - Status Ailment
0x38 - Level
0x39 - Current HP
0x3A - Total HP
0x3B - Attack
0x3C - Defence
0x3D - Speed
0x3E - Sp. Attack
0x3F - Sp. Defence
Last edited: