Registrarse

Jugueteando con los EVs e IVs

Estado
Cerrado para nuevas respuestas.

Lunos

Enfrentando a La Organización
Miembro insignia
Abro este tema para quien quiera charlar y/o compartir cosas sobre los EVs e IVs, como funcionan, como cambiar sus limites, lo que sea que hayan descubierto y quieran compartir.

Yo ando leyendo como puedo el archivo \pokeemerald\src\pokemon.c y noté que:
-Se puede cambiar el bono de EVs que otorga el Macho Brace (Brazal Firme) en la Linea 4730.
Basta con cambiar el 2 en evIncrease *= 2; por algo mas. Se puede triplicar los EVs ganados, cuatriplicarlos, etc, etc.

-5 y 7 lineas mas abajo, ¿parece que se puede modificar el cap de EVs por stat..?
Supongo yo que es cosa de cambiar el 255 en if (evs + (s16)evIncrease > 255) y int val1 = (s16)evIncrease + 255; por algo mas, como por ejemplo 252 para dejarlo como en los juegos actuales.

-¿Se puede cambiar el limite de IVs por stat?
Supongo que es cosa de cambiar el 0x1F en las Lineas de la 3156 a la 3161.
substruct3->hpIV = ivs & 0x1F;
substruct3->attackIV = (ivs >> 5) & 0x1F;
substruct3->defenseIV = (ivs >> 10) & 0x1F;
substruct3->speedIV = (ivs >> 15) & 0x1F;
substruct3->spAttackIV = (ivs >> 20) & 0x1F;
substruct3->spDefenseIV = (ivs >> 25) & 0x1F;
Cualquier otro dato u aporte es bienvenido, lo cierto es que ando un poco aburrido y por eso decidí echar un vistazo a esto, despues de que un post en PokeCommunity me encendió un poco la bombilla xd ...

Otra cosa, usé el prefijo "Pokeemerald" porque es lo que ando usando ahora, pero es muy probable que la cosa sea extremadamente similar en Pokeruby.
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Buen aporte @Lunos

De paso me he puesto a encontrar como cambiar esto en pokeruby, todos los datos están en:

pokeruby>scr>pokemonpokemon_1.c, pokemon_2.c, pokemon_3.c
Es decir, están los datos fragmentados en esos tres archivos.

Para empezar, cambiar el factor de multiplicación del Brazal Firme están en el archivo pokemon_3.c y se edita de la misma manera. Usa Ctrl+B y dale a siguiente hasta encontrarlo.

El if (evs + (s16)evIncrease > 255) y int val1 = (s16)evIncrease + 255 está tambien en el mismo archivo que en el anterior, y se edita igual.

substruct3->hpIV = ivs & 0x1F;
substruct3->attackIV = (ivs >> 5) & 0x1F;
substruct3->defenseIV = (ivs >> 10) & 0x1F;
substruct3->speedIV = (ivs >> 15) & 0x1F;
substruct3->spAttackIV = (ivs >> 20) & 0x1F;
substruct3->spDefenseIV = (ivs >> 25) & 0x1F;
Esto está en el pokemon_2.c y se edita de igual manera.
 

Kaiser de Emperana

Called in hand
...

-¿Se puede cambiar el limite de IVs por stat?
Supongo que es cosa de cambiar el 0x1F en las Lineas de la 3156 a la 3161.

substruct3->hpIV = ivs & 0x1F;
substruct3->attackIV = (ivs >> 5) & 0x1F;
substruct3->defenseIV = (ivs >> 10) & 0x1F;
substruct3->speedIV = (ivs >> 15) & 0x1F;
substruct3->spAttackIV = (ivs >> 20) & 0x1F;
substruct3->spDefenseIV = (ivs >> 25) & 0x1F;
Esto es incorrecto. Si cambiás el 0x1F por otro número más grande lo que vas a conseguir es buguear el sistema de IVs.
Para aumentar el límite de IVs habría que ver en más detalle como son usados esos datos, pero te aseguro que lo que proponés no va a funcionar.
 
Estado
Cerrado para nuevas respuestas.
Arriba