Holi. El titulo es auto-explicativo.
Creditos para mi y para Shinny, que probando cosas logré hacer que esto funcionara y él me ayudó a corregir un error tonto que tuve por no saber de C.
Antes de comenzar con este tutorial, aprovecho para decirles que tienen este metodo y el resto de metodos evolutivos añadidos por Game Freak a los juegos de pokémon recientes justo aqui. Creditos a BluRose por ello.
Requisitos:
-Leer mi tema de introducción a Pokeruby.
-Editor de texto (yo usaré Notepad++)
Instrucciones:
1) Abriremos el archivo pokeruby\include\pokemon.h con nuestro editor de texto.
Nos vamos a la Linea 484, donde veremos lo siguiente:
Yo lo hice tal que asi:
Aquí haremos exactamente lo mismo que hicimos en el Paso 1.
Vamos a la Linea 64 y añadimos nuestro metodo evolutivo siguiendo el patrón que presenta el archivo.
Aquí empezamos añadiendo una variable que comprobará el genero del pokémon de el Jugador.
La ubicaremos en la Linea 278, tal que asi:
Aquí podremos ver una tabla que contiene los distintos metodos evolutivos que el juego posee.
Evolución por amistad, nivel, PID, horario del dia y tal.
Pues lo que nosotros haremos, será añadir una evolución que compruebe si el pokémon del Jugador es macho o hembra, y tiene X nivel.
No puedo explicar como lo hice, porque lo unico que hice fue imitar lo que leia en este archivo
Nota: Dejé a EVO_BEAUTY (el metodo que usa Feebas) en este trozo, para que se puedan situar mas facilmente.
Y lo cierto es que eso es todo.
Para usar nuestro nuevo metodo evolutivo (pokeruby\src\data\pokemon\evolution.h), sigan este ejemplo:
Al que verán en acción a continuación:
Si por algun motivo no entendieron este tutorial, pueden echarle un vistazo a estos archivos justo aqui.
Y eso es todo.
Creditos para mi y para Shinny, que probando cosas logré hacer que esto funcionara y él me ayudó a corregir un error tonto que tuve por no saber de C.
Antes de comenzar con este tutorial, aprovecho para decirles que tienen este metodo y el resto de metodos evolutivos añadidos por Game Freak a los juegos de pokémon recientes justo aqui. Creditos a BluRose por ello.
Requisitos:
-Leer mi tema de introducción a Pokeruby.
-Editor de texto (yo usaré Notepad++)
Instrucciones:
1) Abriremos el archivo pokeruby\include\pokemon.h con nuestro editor de texto.
Nos vamos a la Linea 484, donde veremos lo siguiente:
Lo que haremos será definir un nuevo metodo evolutivo siguiendo el patrón que presenta el archivo.#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220
#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220
#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220
#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level
#define EVO_TRADE 0x0005 // Pokémon is traded
#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item
#define EVO_ITEM 0x0007 // specified item is used on Pokémon
#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense
#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense
#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense
#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value
#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value
#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask)
#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja)
#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value
Yo lo hice tal que asi:
2) Ahora abriremos el archivo pokeruby\constants\pokemon_data_constants.inc#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220
#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220
#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220
#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level
#define EVO_TRADE 0x0005 // Pokémon is traded
#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item
#define EVO_ITEM 0x0007 // specified item is used on Pokémon
#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense
#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense
#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense
#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value
#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value
#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask)
#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja)
#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value
#define EVO_GENDER_MALE 0x0010 // Pokémon levels up with a specific gender.
#define EVO_GENDER_FEMALE 0x0011 // Pokémon levels up with a specific gender.
Aquí haremos exactamente lo mismo que hicimos en el Paso 1.
Vamos a la Linea 64 y añadimos nuestro metodo evolutivo siguiendo el patrón que presenta el archivo.
3) Y por ultimo, abriremos el archivo pokeruby\src\pokemon_3.c.set EVO_FRIENDSHIP, 0x0001 @ Pokémon levels up with friendship ≥ 220
.set EVO_FRIENDSHIP_DAY, 0x0002 @ Pokémon levels up during the day with friendship ≥ 220
.set EVO_FRIENDSHIP_NIGHT, 0x0003 @ Pokémon levels up at night with friendship ≥ 220
.set EVO_LEVEL, 0x0004 @ Pokémon reaches the specified level
.set EVO_TRADE, 0x0005 @ Pokémon is traded
.set EVO_TRADE_ITEM, 0x0006 @ Pokémon is traded while it's holding the specified item
.set EVO_ITEM, 0x0007 @ specified item is used on Pokémon
.set EVO_LEVEL_ATK_GT_DEF, 0x0008 @ Pokémon reaches the specified level with attack > defense
.set EVO_LEVEL_ATK_EQ_DEF, 0x0009 @ Pokémon reaches the specified level with attack = defense
.set EVO_LEVEL_ATK_LT_DEF, 0x000a @ Pokémon reaches the specified level with attack < defense
.set EVO_LEVEL_SILCOON, 0x000b @ Pokémon reaches the specified level with a Silcoon personality value
.set EVO_LEVEL_CASCOON, 0x000c @ Pokémon reaches the specified level with a Cascoon personality value
.set EVO_LEVEL_NINJASK, 0x000d @ Pokémon reaches the specified level (special value for Ninjask)
.set EVO_LEVEL_SHEDINJA, 0x000e @ Pokémon reaches the specified level (special value for Shedinja)
.set EVO_BEAUTY, 0x000f @ Pokémon levels up with beauty ≥ specified value
.set EVO_GENDER_MALE, 0x0010 @ Pokémon levels up having a specific gender
.set EVO_GENDER_FEMALE, 0x0011 @ Pokémon levels up having a specific gender
Aquí empezamos añadiendo una variable que comprobará el genero del pokémon de el Jugador.
La ubicaremos en la Linea 278, tal que asi:
Luego nos vamos a la Linea 345.u8 holdEffect;
u8 gender = GetMonGender(mon);
Aquí podremos ver una tabla que contiene los distintos metodos evolutivos que el juego posee.
Evolución por amistad, nivel, PID, horario del dia y tal.
Pues lo que nosotros haremos, será añadir una evolución que compruebe si el pokémon del Jugador es macho o hembra, y tiene X nivel.
No puedo explicar como lo hice, porque lo unico que hice fue imitar lo que leia en este archivo
Código:
case EVO_BEAUTY:
if (gEvolutionTable[species][i].param <= beauty)
targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_GENDER_MALE:
if (gEvolutionTable[species][i].param <= level && (gender) == 0)
targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_GENDER_FEMALE:
if (gEvolutionTable[species][i].param <= level && (gender) == 254)
targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
Y lo cierto es que eso es todo.
Para usar nuestro nuevo metodo evolutivo (pokeruby\src\data\pokemon\evolution.h), sigan este ejemplo:
Código:
[SPECIES_POOCHYENA] = {{EVO_LEVEL, 18, SPECIES_MIGHTYENA},
{EVO_GENDER_MALE, 5, SPECIES_BULBASAUR},
{EVO_GENDER_FEMALE, 5, SPECIES_CHARMANDER}},
Si por algun motivo no entendieron este tutorial, pueden echarle un vistazo a estos archivos justo aqui.
Y eso es todo.
Última edición: