Este tutorial es una extensión de un tutorial que posteó @Naren Jr. En su momento. Se trata de añadir nuevos métodos evolutivos además de los ya existentes que vienen por defecto en el Fire Red. Por lo tanto lo primero será configurar mediante edición hexadecimal para que la ROM reconozca nuevos sistemas evolutivos. Para eso quiero que sigáis los pasos que se indican en el tutorial antes mencionado:
https://whackahack.com/foro/t-40029/fr-asm-nuevos-metodos-evolutivos
Una vez que ya hayaís expandido la tabla de evoluciones aquí os dejo más metodos aparte de los que que posteo Naren:
Una vez que ya hayáis insertado vuestra rutina debéis editar el .ini del programa que uséis para la edición de los Pokémon. Para eso continuad hasta el último punto del tutorial de Naren.
Los créditos de cada rutina podéis encontrarlos en este post en Pokeco, que es de donde yo las saqué: https://www.pokecommunity.com/showthread.php?t=329357
Se que no es un tutorial muy extenso pero no pienso volver a repetir lo mismo que ya se ha hecho en otro tuto, solo quiero añadir más métodos.
https://whackahack.com/foro/t-40029/fr-asm-nuevos-metodos-evolutivos
Una vez que ya hayaís expandido la tabla de evoluciones aquí os dejo más metodos aparte de los que que posteo Naren:
Código:
.text
.align 2
.thumb
.thumb_func
.global sylveon
main:
push {r0-r7}
add r0, r6, r7
lsl r0, r0, #0x3
add r0, r2, r0
add r3, r0, r3
ldrh r2, [r3, #0x2]
mov r0, r8
mov r5, #0x0
loop:
mov r1, #0xD
add r1, r1, r5
bl decrypt
mov r11, r0
pop {r0-r7}
mov r1, r11
ldr r4, movedata
mov r6, #0xC
mul r6, r1
add r4, r4, r6
ldrb r4, [r4, #0x2]
cmp r4, #0xXX @replace XX with 16 if you are using MrDollSteak's rombase, otherwise keep the index that you have set while adding fairy type
beq true
cmp r5, #0x3
beq exit
add r5, #0x1
b loop
decrypt:
push {r0-r7}
ldr r2, decryptpoke
bx r2
true:
mov r9, r3
pop {r0-r7}
mov r1, r9
ldr r0, levelcheckloc
bx r0
exit:
pop {r0-r7}
ldr r0, noevo
bx r0
.align
movedata: .word 0x08250C04
levelcheckloc: .word 0x0804310D
noevo: .word 0x08043111
decryptpoke: .word 0x0803FBE9
.text
Código:
.align 2
.thumb
.thumb_func
.global Pancham
main:
push {r0-r7}
mov r5, #0x0
loop:
ldr r0, firstpoke
mov r1, #0xB
mov r6, #0x64
add r4, r5, #0x0
mul r4, r6
add r0, r0, r4
bl decrypt
mov r9, r0
pop {r0-r7}
mov r1, r9
ldr r3, basestattable
mov r4, #0x1C
mul r4, r1
add r3, r3, r4
ldrb r6, [r3, #0x6]
ldrb r7, [r3, #0x7]
cmp r6, #0x11
beq levelcheck
cmp r7, #0x11
beq levelcheck
cmp r5, #0x5
beq exit
add r5, #0x1
b loop
levelcheck:
pop {r0-r7}
ldr r0, levelcheckloc
bx r0
exit:
pop {r0-r7}
ldr r0, noevo
bx r0
decrypt:
push {r0-r7}
ldr r2, decryptpoke
bx r2
.align
basestattable: .word 0x08254784
firstpoke: .word 0x02024284
levelcheckloc: .word 0x08043017
noevo: .word 0x08043111
decryptpoke: .word 0x0803FBE9
Código:
.text
.align 2
.thumb
.thumb_func
.global mapbankANDnapnumber
main:
push {r0-r7}
add r0, r6, r7
lsl r0, r0, #0x3
add r0, r2, r0
add r3, r0, r3
ldrh r2, [r3, #0x2]
mov r0, r8
ldr r6, mapbank
ldrh r6, [r6, #0x0]
cmp r6, r2
bne exit
mov r10, r3
pop {r0-r7}
mov r1, r10
ldr r0, levelcheckloc
bx r0
exit:
pop {r0-r7}
ldr r0, noevo
bx r0
.align
levelcheckloc: .word 0x0804310D
noevo: .word 0x08043111
mapbank: .word 0x02031DBC
Código:
.text
.align 2
.thumb
.thumb_func
.global weatherevo
main:
push {r0-r7}
ldr r6, currentweather
ldrb r6, [r6, #0x0]
cmp r6, #0x3
beq rain
cmp r6, #0x5
beq rain
cmp r6, #0xD
beq rain
pop {r0-r7}
ldr r0, noevo
bx r0
rain:
pop {r0-r7}
ldr r0, levelcheckloc
bx r0
.align
levelcheckloc: .word 0x08043017
noevo: .word 0x08043111
currentweather: .word 0x02036E12
Código:
.text
.align 2
.thumb
.thumb_func
.global mantykeevo
main:
push {r0-r7}
add r0, r6, r7
lsl r0, r0, #0x3
add r0, r2, r0
add r3, r0, r3
ldrh r2, [r3, #0x2]
mov r5, #0x0
loop: ldr r0, firstpoke
mov r1, #0xB
mov r6, #0x64
add r4, r5, #0x0
mul r4, r6
add r0, r0, r4
bl decrypt
mov r9, r0
pop {r0-r7}
mov r1, r9
cmp r1, r2
beq levelcheck
cmp r5, #0x5
beq exit
add r5, #0x1
b loop
levelcheck: mov r10, r3
pop {r0-r7}
mov r1, r10
ldr r0, levelcheckloc
bx r0
exit: pop {r0-r7}
ldr r0, noevo
bx r0
decrypt: push {r0-r7}
ldr r2, decryptpoke
bx r2
.align
firstpoke: .word 0x02024284
levelcheckloc: .word 0x0804310D
noevo: .word 0x08043111
decryptpoke: .word 0x0803FBE9
Una vez que ya hayáis insertado vuestra rutina debéis editar el .ini del programa que uséis para la edición de los Pokémon. Para eso continuad hasta el último punto del tutorial de Naren.
Los créditos de cada rutina podéis encontrarlos en este post en Pokeco, que es de donde yo las saqué: https://www.pokecommunity.com/showthread.php?t=329357
Se que no es un tutorial muy extenso pero no pienso volver a repetir lo mismo que ya se ha hecho en otro tuto, solo quiero añadir más métodos.