pokefreak890
The One that will make everything great
- 853
- Posts
- 9
- Years
- Seen May 18, 2023
hello you may know me as the dude who released his second beta of the 1460 rombase and know for this beta i plan on doing the TM/HM stuff and formes and even mega evolutions along with it so as of right now im working on the form,forme routine as im trying to do i dont understand how to make it work
so i have a few questions in regard to this
1.would i need 8 routines for the 3 deoyxs form and the 5 rotom forms.
2.what does it mean when it says "set var 0x8004 to the desired pokemon's slot and 0x8005 to the new index number, then callasm this routine+1". because i tried putting 410 in the var8004 and at var8005 is 1019 which would be my new index(I think)
3.how would i callasm this routine.
4.how would i make the form stuff work in game is there a script i have to give to an overworld such as a rock or rotoms machines? and if so how would that script look like im using MRDS base so i dont know where the callasm is located
i need alot of help with it and sorry if it all looks i spit some words on a thread but im clueless on how to go about this
Spoiler:
.thumb
getpokeoffset:
push {r4, lr}
ldr r0, var8004
ldrh r2, [r0]
mov r0, #100
mul r2, r0
ldr r0, poke_slot_1
add r4, r2, r0
getandsetnewindexnumber:
ldr r2, var8005
mov r1, #0xB
mov r0, r4
ldr r3, pokemon_setattr
bl jump
recalc20bytes:
mov r0, r4
ldr r3, pokemon_calc_effective_stats
bl jump
pop {r4, pc}
jump:
mov pc, r3
.align 2
var8004: .word 0x020270B8 + 0x8004 * 2
poke_slot_1: .word 0x02024284
var8005: .word 0x020270B8 + 0x8005 * 2
pokemon_setattr: .word 0x0804037C
pokemon_calc_effective_stats: .word 0x0803e47c
/*insert anywhere. set var 0x8004 to the desired pokemon's slot and 0x8005 to the new index number, then callasm this routine+1.*/
getpokeoffset:
push {r4, lr}
ldr r0, var8004
ldrh r2, [r0]
mov r0, #100
mul r2, r0
ldr r0, poke_slot_1
add r4, r2, r0
getandsetnewindexnumber:
ldr r2, var8005
mov r1, #0xB
mov r0, r4
ldr r3, pokemon_setattr
bl jump
recalc20bytes:
mov r0, r4
ldr r3, pokemon_calc_effective_stats
bl jump
pop {r4, pc}
jump:
mov pc, r3
.align 2
var8004: .word 0x020270B8 + 0x8004 * 2
poke_slot_1: .word 0x02024284
var8005: .word 0x020270B8 + 0x8005 * 2
pokemon_setattr: .word 0x0804037C
pokemon_calc_effective_stats: .word 0x0803e47c
/*insert anywhere. set var 0x8004 to the desired pokemon's slot and 0x8005 to the new index number, then callasm this routine+1.*/
so i have a few questions in regard to this
1.would i need 8 routines for the 3 deoyxs form and the 5 rotom forms.
2.what does it mean when it says "set var 0x8004 to the desired pokemon's slot and 0x8005 to the new index number, then callasm this routine+1". because i tried putting 410 in the var8004 and at var8005 is 1019 which would be my new index(I think)
3.how would i callasm this routine.
4.how would i make the form stuff work in game is there a script i have to give to an overworld such as a rock or rotoms machines? and if so how would that script look like im using MRDS base so i dont know where the callasm is located
i need alot of help with it and sorry if it all looks i spit some words on a thread but im clueless on how to go about this
Last edited: