jiangzhengwenjz
Usuario mítico
Greetings.
When I'm wandering here, I've found a thread written by the GREAT eing: http://whackahack.com/foro/t-28984/fr-finalizada-forzar-evolucion-asm
In fact, it is very simple to fix the glitch. (OK, I must confess that I've not researched it very much, so this is only in an early stage and that's the reason why I post the thread in this section. )
You may say that it's not a good way, but I don't have much time so I will just provide what I know to you all.
I will show you the GIF result of the hack:
Firstly, we just insert a function at 0xYYYYYY:
After that we should insert another function at 0xZZZZZZ:
To use it via a script:
That's all, if you have anything new just reply here, thx. : D
Note: Only the first pokemon in your party with the species number in 0x8004 will evolve. I think that's better.
When I'm wandering here, I've found a thread written by the GREAT eing: http://whackahack.com/foro/t-28984/fr-finalizada-forzar-evolucion-asm
Actually, this thread told us nothing other than the "evolution_starter" function located at 0xCDDA8. However, it has a huge glitch that we won't come back to the overworld after the screen fades black.Well, since I am not investigate FR, and I have no desire to continue the investigation, I leave the research I started. To force a Pokémon to evolve just need to compile this routine and go.
In fact, it is very simple to fix the glitch. (OK, I must confess that I've not researched it very much, so this is only in an early stage and that's the reason why I post the thread in this section. )
You may say that it's not a good way, but I don't have much time so I will just provide what I know to you all.
I will show you the GIF result of the hack:
Firstly, we just insert a function at 0xYYYYYY:
Código:
.thumb
push {r4, lr}
ldr r0, =0x300537C
ldr r1, =0x80568E1
str r1, [r0]
ldr r0, =0x020370C0
ldrh r1, [r0, #2]
mov r2, #1
ldrh r3, [r0, #0x10]
ldr r4, =0x80cdda9
bl bx_r4
pop {r4, pc}
bx_r4: bx r4
Código:
.thumb
push {r4, lr}
mov r4, #0
loop:
ldr r0, =0x02024284
mov r1, #0x64
mul r1, r4
add r0, r0, r1
mov r1, #0xb
ldr r2, =0x803FBE9
bl bx_r2
ldr r1, =0x20370C0
ldrh r2, [r1]
cmp r0, r2
beq have_pre
add r4, #1
cmp r4, #6
bne loop
no_pokemon:
mov r4, #0xFF
b back
increment:
add r4, #1
cmp r4, #6
beq no_pokemon
b loop
have_pre:
ldr r0, =0x2024284
mov r1, #0x64
mul r1, r4
add r0, r0, r1
mov r1, #0x2d
ldr r2, =0x803FBE9
bl bx_r2
ldr r1, =0x20370C0
cmp r0, #1
beq increment
back:
strh r4, [r1, #0x10]
pop {r4, pc}
bx_r2:
bx r2
Código:
#org @start
lock
faceplayer
setvar 0x8004 0x4 //the species number of pokemon you want it to evolve(here's chamander)
setvar 0x8005 0x2 //the species number of pokemon after evolution(here's ivysaur)
callasm 0x8ZZZZZZ+1 //check the slot number of the pokemon
compare 0x800D 0xFF //check if the pokemon exists in the player's party
if1 1 @no_that_pokemon
callasm 0x8YYYYYY+1 //evolution
waitstate
//setweather 3 //you can define other events after waitstate
//doweather
release
end
//---------------
#org @no_that_pokemon
msgbox @message_string 6 //"You don't have that pokemon. "
release
end
//---------
// Strings
//---------
#org @message_string
= You don't have that pokemon.
Note: Only the first pokemon in your party with the species number in 0x8004 will evolve. I think that's better.
Última edición: