Es fácil, solo tienes que colocar un condicional en Pokemon_Evolution.
Solo buscas el método de evolución por ejemplo, evolución por nivel y buscas estas lineas
Código:
when PBEvolution::Level
return poke if pokemon.level>=level
y luego solo colocas el condicional, por ejemplo el interruptor 300 ($game_switches[300])
Código:
when PBEvolution::Level
if pokemon.species!=PBSpecies::RIOLU
return poke if pokemon.level>=level
else
if $game_switches[300]==false
return poke if pokemon.level>=level
end
end
De este modo, cuando el interruptor 300 este activado riolu no evolucionará.
En el caso de rioulo, creo que evoluciona por felicidad, entonces en lugar de buscar el
when PBEvolution::Level buscas el
when PBEvolution::Happiness o
when PBEvolution::HappinessDay o el método que quieras.
Espero que te sirva, saludos.
EDITO :
Para forzar la evolución, puedes usar un método similar, por ejemplo
Código:
when PBEvolution::Level
if pokemon.species!=PBSpecies::RIOLU
return poke if pokemon.level>=level
else
if $game_switches[300]==false
return poke if pokemon.level>=level
return poke if $game_switches[301]
end
end
Solo agregas otra linea de return, cuando el interruptor 301 ($game_switches[301]) se active riolu evolucionará sin importar que tenga el nivel o la felicidad necesaria.
Durante tu evento, solo colocas
Código:
$game_switches[300]=false
$game_switches[301]=true
pbCheckEvolution(pokemon)
Aquí suponiendo que el interruptor 300 es el que bloque la evolución y el 301 es el que la forza.
donde dice pbCheckEvolution(pokemon) es el comando que te revisará si algún pokémon puede evolucionar, y la variable "pokemon" que esta entre paréntesis es el pokemon que va a forzar su evolución, es este caso Riolu, así que tendrás que definir esa variable desde antes de colocar el pbCheckEvolution(pokemon).
Lo puedes hacer de diferente formas, te doy unos ejemplo.
Suponiendo que riolu está en tu equipo
Código:
pokemon=0
for i in $Trainer.party.length
poke=$Trainer.party[i-1]
if poke.species==PBSpecies::RIOLU
pokemon=poke.species
end
end
Suponiendo que riolu es el primer pokemon de tu equipo
Código:
pokemon=$Trainer.party[0].species
Una vez que Riolu evolucione, desactivas el interruptor 301 para evitar que otros riolus evolucionen sin razón.
Todo depende de la manera en que desarrolles tu evento.
Suerte.