Después de unos días en Pokeco encontré lo mas parecido a lo que buscaba, cambiar la forma de un Pokemon (Lo malo es que funciona mediante un script pero supongo que se puede acomodar de alguna forma para que funcione con un objeto).
La Rutina es de daniilS de Pokeco: The PokéCommunity Forums - View Single Post - Development: ASM Resource Thread
Bueno, comencemos:
Al usarla, cambiara cualquier Pokemon seleccionado por el que quieras (en este caso un Celebi).
PD: Este es mi primer Tuto por lo que pueden haberhorribles fallas en cuanto estructura o explicación, alguna duda en los comentarios.
PD 2: Si alguien puede mejorar la forma en que se aplica esto déjelo en los comentarios
Saludos!!!
La Rutina es de daniilS de Pokeco: The PokéCommunity Forums - View Single Post - Development: ASM Resource Thread
Bueno, comencemos:
1-. Primero Compilen esta rutina:
2-. Luego inserten en un offset vació y anótenlo en algún lado (En mi caso es el 71A250).
Código:
.text
.align 2
.thumb
.thumb_func
.global Indexnumber_changeand20bytes_recalc
main:
push {r0-r3, lr}
getpokeoffset:
ldr r0, varnumber_8004
ldr r3, vardecrypt
bl bxr3 @ Salta a la etiqueta bxr3 y una vez terminada vuelve
ldrh r2, [r0] @carga en r2 el valor de la variable 0x8004
mov r0, #100 @carga en r0 el valr 0x100, longitud de los datos de cada PKMN
mul r2, r0 @ Longitud desde el primer dato del primer PKMN hasta el elegido
ldr r0, partystart
add r3, r2, r0 @carga en r3 el offset de los datos del PKMN elegido
push {r3}
getandsetnewindexnumber:
ldr r0, vartocontainnewindexnumber
ldr r3, vardecrypt
bl bxr3 @carga en r2 el valor de la variable 0x8004
mov r2, r0
mov r1, #0xB
ldr r0, [sp]
ldr r3, pokeencrypt
bl bxr3 @ Cambia la especie del PKMN elegido
recalc20bytes:
pop {r0}
ldr r3, effectivestatsrecalc
bl bxr3 @recalcula los stats
pop {r0-r3, pc}
bxr3:
bx r3
.align 2
varnumber_8004: .word 0x8004
vardecrypt: .word 0x0806E454+1
partystart: .word 0x02024284
vartocontainnewindexnumber: .word 0x8005
pokeencrypt: .word 0x0804037C+1
effectivestatsrecalc: .word 0x0803e47c+1
Rutina ya compilada:
Código:
0F B5 0D 48 0D 4B 00 F0 15 F8 02 88 64 20 42 43 0B 48 13 18 08 B4 0B 48 08 4B 00 F0 0B F8 02 1C 0B 21 00 98 08 4B 00 F0 05 F8 01 BC 07 4B 00 F0 01 F8 0F BD 18 47 C0 46 04 80 00 00 55 E4 06 08 84 42 02 02 05 80 00 00 7D 03 04 08 7D E4 03 08
3-. Ahora la usamos en un script de la siguiente forma:
Yo la use asi para probarla:
Código:
special 0x9F
waitstate
setvar 0x8005 0x(Pkmn al que cambiara de forma)
callasm 0xRutina +1
Código:
#dynamic 0x800000
#org @inicio
lock
faceplayer
msgbox @algo 0x6
special 0x9F
waitstate
setvar 0x8005 0xFB
callasm 0x71A251
release
end
#org @algo
= Hola.
Quedaria algo asi:
Al usarla, cambiara cualquier Pokemon seleccionado por el que quieras (en este caso un Celebi).
PD: Este es mi primer Tuto por lo que pueden haber
PD 2: Si alguien puede mejorar la forma en que se aplica esto déjelo en los comentarios
Saludos!!!
Última edición: