Holi. En este tutorial aprenderemos a implementar el objeto "Ability Capsule" en nuestra ROM, que fue incorportado en Pokémon X/Y.
Este objeto nos permite cambiar la Habilidad #1 de un Pokémon, por su Habilidad #2.
Los creditos van para Spherical Ice quien creó el metodo y lo posteó justo aqui.
Dicho eso, empecemos.
Requisitos:
-ROM de Pokémon Fire Red v1.0 (USA)
-Editor Hexadecimal y editor de texto de nuestra preferencia (Como siempre, yo usaré HxD y Notepad)
-Editor de Objetos (Yo usaré Item Manager)
-Compilador de HackMew al que pueden encontrar justo aqui.
Instrucciones:
1)
Copiamos y pegamos en un archivo de texto esta Rutina ASM.
Nota: XXXXXX = Offset con al menos 508 Bytes de espacio vacio en nuestra ROM. En mi caso, será 71A250.
Acto seguido, ponemos nuestro archivo de texto en la carpeta donde tenemos el compilador de HackMew.
Nota: de preferencia ponganle un nombre sencillo de recordar. En mi caso será "abilitycapsuleFR.txt".
2)
Shift + Click Derecho en la carpeta donde tenemos el compilador de HackMew > Abrir Ventana de Comandos Aqui
Ahi escribimos: "thumb (nombre del archivo con nuestra rutina).txt" y presionamos Enter.
Ej: En mi caso seria "thumb abilitycapsuleFR.txt"
Esto creará un archivo .bin que tendrá el mismo nombre que nuestro archivo de texto.
Importante: Al abrir dicho archivo veremos 00s a patadas.
Borrenlos a todos excepto al ultimo, que estará en el mismo offset que le hayamos dado a la rutina en el Paso 1.
Ej: Si yo usé el Offset 71A250 en el Paso 1, una vez compilada la rutina tendré un .bin que tendrá 00s hasta el offset 71A251.
El que está en 71A250 lo dejo, y elimino todos los anteriores.
Tras eso, mi resultado seria:
Sé que es molesto, pero no hay de otra. Asi es como está escrita la rutina y yo no soy un ASMago.
3)
Tras haber removido los 00s innecesarios, vamos a copiar el contenido de nuestro .bin y lo pegaremos en nuestra ROM mediante Ctrl+B en el mismo offset con el cual reemplazamos XXXXXX dentro de la rutina en el Paso 1. En mi caso, 71A250.
4)
Crearemos un objeto con el editor de objetos, los parametros relevantes son: Index Number, Type y Field Usage.
Index Number: +1 al del objeto que venga antes.
Ej: Yo pondré la capsula en el espacio vacio despues del Green Shard, que es el Objeto 0x33. Por ende la capsula será el 0x34.
Type: 01 (Out-of-battle)
Field Usage: Offset utilizado en los Pasos 1 y 3, +1.
Ej: Yo puse la rutina en 71A250, por lo cual, tendré que usar 871A251.
Nota: El 8 al inicio del Field Usage yo lo necesito por como funciona Item Manager.
Podria no ser necesario con otros editores.
5)
Guardar y probar.
Aqui una muestra del resultado.
Y eso fue todo.
Este objeto nos permite cambiar la Habilidad #1 de un Pokémon, por su Habilidad #2.
Los creditos van para Spherical Ice quien creó el metodo y lo posteó justo aqui.
Dicho eso, empecemos.
Requisitos:
-ROM de Pokémon Fire Red v1.0 (USA)
-Editor Hexadecimal y editor de texto de nuestra preferencia (Como siempre, yo usaré HxD y Notepad)
-Editor de Objetos (Yo usaré Item Manager)
-Compilador de HackMew al que pueden encontrar justo aqui.
Instrucciones:
1)
Copiamos y pegamos en un archivo de texto esta Rutina ASM.
Nota: XXXXXX = Offset con al menos 508 Bytes de espacio vacio en nuestra ROM. En mi caso, será 71A250.
Acto seguido, ponemos nuestro archivo de texto en la carpeta donde tenemos el compilador de HackMew.
Nota: de preferencia ponganle un nombre sencillo de recordar. En mi caso será "abilitycapsuleFR.txt".
2)
Shift + Click Derecho en la carpeta donde tenemos el compilador de HackMew > Abrir Ventana de Comandos Aqui
Ahi escribimos: "thumb (nombre del archivo con nuestra rutina).txt" y presionamos Enter.
Ej: En mi caso seria "thumb abilitycapsuleFR.txt"
Esto creará un archivo .bin que tendrá el mismo nombre que nuestro archivo de texto.
Importante: Al abrir dicho archivo veremos 00s a patadas.
Borrenlos a todos excepto al ultimo, que estará en el mismo offset que le hayamos dado a la rutina en el Paso 1.
Ej: Si yo usé el Offset 71A250 en el Paso 1, una vez compilada la rutina tendré un .bin que tendrá 00s hasta el offset 71A251.
El que está en 71A250 lo dejo, y elimino todos los anteriores.
Tras eso, mi resultado seria:
Código:
00 B5 00 06 00 0E 69 4A 78 49 11 60 70 4B 00 F0 A9 F8 08 BC 18 47 F0 B5 0E 1C 00 06 05 0E 60 48 40 7A 64 21 48 43 5B 49 44 18 20 1C 0B 21 64 4B 00 F0 98 F8 5E 49 09 68 1C 22 50 43 09 18 88 7D C9 7D 88 42 05 D0 00 28 03 D0 00 29 01 D0 00 24 00 E0 01 24 05 20 5C 4B 00 F0 84 F8 00 2C 12 D0 00 20 08 70 60 48 01 21 5C 4B 00 F0 7B F8 02 20 58 4B 00 F0 77 F8 4C 49 A8 00 40 19 C0 00 40 18 31 1C 01 60 6C E0 28 1C 55 4B 00 F0 6B F8 47 49 57 48 08 60 64 E0 F0 B5 00 06 05 0E 40 48 40 7A 64 21 48 43 3B 49 44 18 20 1C 2E 21 44 4B 00 F0 59 F8 00 06 00 0E 01 21 48 40 37 4A 10 70 20 1C 2E 21 40 4B 00 F0 4E F8 01 20 36 49 08 70 33 48 00 88 01 21 3D 4B 00 F0 45 F8 20 1C 2A 49 3E 4B 00 F0 40 F8 20 1C 29 49 42 4B 00 F0 3B F8 28 4C 20 1C 41 49 31 4B 00 F0 35 F8 20 1C 01 21 37 4B 00 F0 30 F8 02 20 33 4B 00 F0 2C F8 26 49 2A 1C 90 00 40 19 C0 00 40 18 32 49 01 60 20 E0 F0 B5 04 1C 0D 1C 0B 21 26 4B 00 F0 1C F8 00 04 06 0C 20 1C 2E 21 22 4B 00 F0 15 F8 00 06 01 0E 30 1C 1C 22 50 43 1A 4A 12 68 12 18 16 32 50 5C 0D 21 48 43 18 49 09 68 09 18 28 1C 17 4B 00 F0 02 F8 F0 BC 08 BC 18 47 00 FD 02 B4 E7 00 BB D6 DD E0 DD E8 ED FE D7 DC D5 E2 DB D9 D8 00 E8 E3 00 FD 03 AB FC 09 FF 00 C0 46 D0 1C 02 02 F0 1C 02 02 18 1D 02 02 84 42 02 02 D0 70 03 02 30 AD 03 02 A0 B0 03 02 C0 B0 03 02 90 50 00 03 98 5E 00 03 BC 01 00 08 C0 01 00 08 85 8D 00 08 CD 8F 00 08 E9 FB 03 08 7D 03 04 08 CD 22 07 08 D9 A1 09 08 D1 16 0A 08 A5 67 0F 08 E1 02 12 08 F9 02 12 08 C1 4D 12 08 BD 55 12 08 DC 69 41 08 67 A2 71 08 E7 A2 71 08 6F A3 71 08 B7 A3 71 08
3)
Tras haber removido los 00s innecesarios, vamos a copiar el contenido de nuestro .bin y lo pegaremos en nuestra ROM mediante Ctrl+B en el mismo offset con el cual reemplazamos XXXXXX dentro de la rutina en el Paso 1. En mi caso, 71A250.
4)
Crearemos un objeto con el editor de objetos, los parametros relevantes son: Index Number, Type y Field Usage.
Index Number: +1 al del objeto que venga antes.
Ej: Yo pondré la capsula en el espacio vacio despues del Green Shard, que es el Objeto 0x33. Por ende la capsula será el 0x34.
Type: 01 (Out-of-battle)
Field Usage: Offset utilizado en los Pasos 1 y 3, +1.
Ej: Yo puse la rutina en 71A250, por lo cual, tendré que usar 871A251.
Nota: El 8 al inicio del Field Usage yo lo necesito por como funciona Item Manager.
Podria no ser necesario con otros editores.
5)
Guardar y probar.
Aqui una muestra del resultado.
Y eso fue todo.
Última edición: