Registrarse

[pokeruby] Cambiar pokemons salvajes.

L!no

GBA Developer
Hey!
Hoy les traigo un tutorial para combiar los pokèmon salvajes que aparecen en los distintos lugares del mapa de hoenn.
-----------
Requisitos
-----------
Tener un repositorio compilable de pokeruby.
Haberlo compilado al menos una vez.
Estos dos requisitos se pueden conseguir siguiendo el tutorial basico de pokeruby escrito por @Lunos
------------------------------
Parte 1: teoria sobre el codigo
------------------------------
Entramos a include/wild_encounter.h y lo leemos. encontraremos algo como esto:
Código:
struct WildPokemon
{
    u8 minLevel;
    u8 maxLevel;
    u16 species;
};
¿Que quiere decir esto?
Que la estructura WildPokemon contiene 2 valores sin signo de 8 bits (un byte) y 1 valor sin signo de 16 bits (2 bytes), ninLevel, maxLevel y species, respectivamente.
¿Que hacen estas variables?
minLevel:
es el nivel minimo que puede tener el pokemon
maxLevel:
es el nvel maximo que puede tener el pokemon
species:
es el pokemon, uso:
Código:
SPECIES_[nombre del poke en mayusculas]
Luego veremos algo asi:
Código:
struct WildPokemonInfo
{
    u8 encounterRate;
    const struct WildPokemon *wildPokemon;
};
¿Que quiere decir esto?
Que la estructura WildPokemonInfo contiene un valor sin signo de 8 bits (1 byte) llamado encounter rate, y una estructura WildPokemon.
¿Que hacen estas variables?
ecounterRate:
determina la probabilidad de que aparezca un pokemon aleatorio de la lista WildPokemon
y luego hay una estructura WildPokemonHeader, pero si ya has llegado tan lejos como para tener que usarla deberias tener suficiente conocimiento de C como para entenderla.
---------------
Parte 2: codigo
---------------
Primero abrimos src/wild_encounter.c y buscamos esto:
Código:
[lugar]_[tipo]Mons
Yo quiero buscar los pokemons de tierra de la ruta 101, asique busco esto:
Código:
Route101_LandMons
Eureka!:
Código:
const struct WildPokemon Route101_LandMons [] =
{
    {2, 2, SPECIES_WURMPLE},
    {2, 2, SPECIES_ZIGZAGOON},
    {2, 2, SPECIES_WURMPLE},
    {3, 3, SPECIES_WURMPLE},
    {3, 3, SPECIES_ZIGZAGOON},
    {3, 3, SPECIES_ZIGZAGOON},
    {3, 3, SPECIES_WURMPLE},
    {3, 3, SPECIES_ZIGZAGOON},
    {2, 2, SPECIES_POOCHYENA},
    {2, 2, SPECIES_POOCHYENA},
    {3, 3, SPECIES_POOCHYENA},
    {3, 3, SPECIES_POOCHYENA},
};
yo quiero que aparezcan puros rayquaza nivel 100, asi que lo deje asi:
Código:
const struct WildPokemon Route101_LandMons [] =
{
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
    {100, 100, SPECIES_RAYQUAZA},
};
Debajo de esto encontraremos algo asi:
Código:
const struct WildPokemonInfo Route101_LandMonsInfo = {20, Route101_LandMons};
Como yo quiero que aparezcan cada 1 paso, lo dejo asi:
Código:
const struct WildPokemonInfo Route101_LandMonsInfo = {200, Route101_LandMons};
aqui hay una lista de los valores que podrias ponerle:
Código:
200 - cada 1 paso (probado)
100 - cada de 2 pasos (probado)
50 - alrededor de 4 pasos (probado)
Los siguientes valores parecen ser mucho mas aleatorios.
Guardamos y pasamos al siguiente tema.
-----------------------------
Parte 3: Compilacion y testeo
-----------------------------
Entramos con Cygwin a nuestro directorio de pokeruby y escribimos esto:
Código:
make NODEP=1
Ya podremos probarlo con nuestro emulador de confianza:


Diviertanse!
 

kakarotto

Leyenda de WaH
Re: [pokeruby] Cambiar pokemons salvajes.

El make no dep=1 lo que hace es que actualiza la funcion solamente y guarda los cambios no?

Interesante aporte,pronto traeré un tuto de los famosos proyectos que hacen por pokeco.
 
Arriba