#org @inicio'Esto comprueba la posición "virtual" del
copyvar 0x8004 0x5000'pokemon, que se guarda en la variable 0x5000
comparevar 0x8004 0x0
if 0x1 call @pueblopaleta
comparevar 0x8004 0x1
if 0x1 call @ruta1
comparevar 0x8004 0x2
if 0x1 call @ciudadverde
comparevar 0x8004 0x3
if 0x1 call @ruta2
comparevar 0x8004 0x4
if 0x1 call @ruta3
copybite 0x20370B8 0x203BC86'Aquí copia la información de la variable 0x8000
copybite 0x20370B9 0x203BC87'al offset que determina la localización del pokemon
end
'Lo que viene a continuación calcula aleatoriamente la siguiente posición
#org @pueblopaleta
goto @2ruta1
#org @ruta1
random 0x3
compare LASTRESULT 0x0
if 0x1 goto @2pueblopaleta
compare LASTRESULT 0x1
if 0x1 goto @2ciudadverde
compare LASTRESULT 0x2
if 0x1 goto @2ruta3
#org @ciudadverde
random 0x2
compare LASTRESULT 0x0
if 0x1 goto @2ruta1
compare LASTRESULT 0x1
if 0x1 goto @2ruta2
#org @ruta2
goto @2ciudadverde
#org @ruta3
goto @2ruta1
'Una vez calculada la nueva posición, aquí se asigna la nueva posición a la
'variable 0x8000 y se guarda la nueva posición virtual en la variable 0x5000
'El 2 delante del nombre es para diferenciarlo de los de arriba
#org @2pueblopaleta
setvar 0x8000 0x0003
setvar 0x5000 0x0
return
#org @2ruta1
setvar 0x8000 0x1903
setvar 0x5000 0x1
return
#org @2ciudadverde
setvar 0x8000 0x0103
setvar 0x5000 0x2
return
#org @2ruta2
setvar 0x8000 0x2003
setvar 0x5000 0x3
return
#org @2ruta3
setvar 0x8000 0x2103
setvar 0x5000 0x4
return
copyvar 0x8004 0x5000'pokemon, que se guarda en la variable 0x5000
comparevar 0x8004 0x0
if 0x1 call @pueblopaleta
comparevar 0x8004 0x1
if 0x1 call @ruta1
comparevar 0x8004 0x2
if 0x1 call @ciudadverde
comparevar 0x8004 0x3
if 0x1 call @ruta2
comparevar 0x8004 0x4
if 0x1 call @ruta3
copybite 0x20370B8 0x203BC86'Aquí copia la información de la variable 0x8000
copybite 0x20370B9 0x203BC87'al offset que determina la localización del pokemon
end
'Lo que viene a continuación calcula aleatoriamente la siguiente posición
#org @pueblopaleta
goto @2ruta1
#org @ruta1
random 0x3
compare LASTRESULT 0x0
if 0x1 goto @2pueblopaleta
compare LASTRESULT 0x1
if 0x1 goto @2ciudadverde
compare LASTRESULT 0x2
if 0x1 goto @2ruta3
#org @ciudadverde
random 0x2
compare LASTRESULT 0x0
if 0x1 goto @2ruta1
compare LASTRESULT 0x1
if 0x1 goto @2ruta2
#org @ruta2
goto @2ciudadverde
#org @ruta3
goto @2ruta1
'Una vez calculada la nueva posición, aquí se asigna la nueva posición a la
'variable 0x8000 y se guarda la nueva posición virtual en la variable 0x5000
'El 2 delante del nombre es para diferenciarlo de los de arriba
#org @2pueblopaleta
setvar 0x8000 0x0003
setvar 0x5000 0x0
return
#org @2ruta1
setvar 0x8000 0x1903
setvar 0x5000 0x1
return
#org @2ciudadverde
setvar 0x8000 0x0103
setvar 0x5000 0x2
return
#org @2ruta2
setvar 0x8000 0x2003
setvar 0x5000 0x3
return
#org @2ruta3
setvar 0x8000 0x2103
setvar 0x5000 0x4
return
Creo que era esto a lo que te referías, no? Una vez implantado el script en la ROM es tan fácil como hacer call 0xoffsetdelscript a la entrada de un nivel.
EDITO:
- He descubierto que los 8 números marcados en rojo tienen que ver con los valores iniciales (hp, atk, def, atk esp, def esp y vel) y la naturaleza (¿posiblemente también el género?). Pero la información está encriptada, así que no es tan fácil como cambiar los valores directamente. Para hacer que sea shiny habría que descifrar antes esta información y editar los valores. De momento no tengo interés (ni capacidad) de descifrarlo. Si alguien está dispuesto a retomar este punto le estaría agradecido.
- He cambiado todos los números que se me han ocurrido y no he conseguido que el pokémon lleve un objeto equipado, así que he llegado a la conclusión de que NO se puede equipar un objeto a un pokemon errante (estoy un 90% seguro de que no se puede, pero si alguien cree que me equivoco por favor que me lo diga).
- Se me ha ocurrido una idea para hacer que aparezcan varios pokémon errantes, en cuanto pueda intentaré llevarla a cabo. El problema es que no parece posible que aparezcan todos a la vez en la pokédex. Me explico: Si tienes un Latias y un Latios errantes a la vez, podrás ver el área de Latios, pero no la de Latias. Sin embargo, eso no quita que te puedas encontrar a Latias, sólo afectaría al área de la pokédex.
- Sé que estais esperando a que investigue el tema en FR. Ahora mismo estoy muy liado, pero en cuando pueda retomaré este punto.
- He descubierto que los 8 números marcados en rojo tienen que ver con los valores iniciales (hp, atk, def, atk esp, def esp y vel) y la naturaleza (¿posiblemente también el género?). Pero la información está encriptada, así que no es tan fácil como cambiar los valores directamente. Para hacer que sea shiny habría que descifrar antes esta información y editar los valores. De momento no tengo interés (ni capacidad) de descifrarlo. Si alguien está dispuesto a retomar este punto le estaría agradecido.
- He cambiado todos los números que se me han ocurrido y no he conseguido que el pokémon lleve un objeto equipado, así que he llegado a la conclusión de que NO se puede equipar un objeto a un pokemon errante (estoy un 90% seguro de que no se puede, pero si alguien cree que me equivoco por favor que me lo diga).
- Se me ha ocurrido una idea para hacer que aparezcan varios pokémon errantes, en cuanto pueda intentaré llevarla a cabo. El problema es que no parece posible que aparezcan todos a la vez en la pokédex. Me explico: Si tienes un Latias y un Latios errantes a la vez, podrás ver el área de Latios, pero no la de Latias. Sin embargo, eso no quita que te puedas encontrar a Latias, sólo afectaría al área de la pokédex.
- Sé que estais esperando a que investigue el tema en FR. Ahora mismo estoy muy liado, pero en cuando pueda retomaré este punto.