No sabía exactamente como poner el título, pero bueno, que hoy os traigo esta cagadita. Básicamente voy a explicar como hacer para que cuando en el 'overworld'/mundo haya clima de 'ceniza'/nevar tengamos el correspondiente granizo en combate. Vais a ver que es una chorrada bastante fácil de hacer.
Y eso es todo, fácil y rápido, pero a mí es algo que me ponía muy nervioso.
En primer lugar nos dirigimos a 'src/battle_utilc' y buscamos la función 'AbilityBattleEffects'
Dentro de esta función vamos al 'switch(GetCurrentWeather())', que se encarga de evaluar el clima para establecer los efectos pertinentes. (Como les gusta anidar switch a esta gente).
Dentro de este switch vamos a añadir un nuevo case que evaluará los casos del clima 'ceniza' y 'nieve' (da igual donde lo pongáis siempre que este dentro del switch)
Dentro de esta función vamos al 'switch(GetCurrentWeather())', que se encarga de evaluar el clima para establecer los efectos pertinentes. (Como les gusta anidar switch a esta gente).
Dentro de este switch vamos a añadir un nuevo case que evaluará los casos del clima 'ceniza' y 'nieve' (da igual donde lo pongáis siempre que este dentro del switch)
Código:
case WEATHER_ASH:
case WEATHER_SNOW:
if (!(gBattleWeather & WEATHER_HAIL_ANY))
{
gBattleWeather = WEATHER_HAIL_ANY;
gBattleScripting.animArg1 = B_ANIM_HAIL_CONTINUES;
gBattleScripting.battler = battler;
effect++;
}
break;
Para terminar de rematar esto vamos a 'src/battle_message.c' y buscamos el array 'gWeatherContinuesStringIds' y sustituimos el 'STRINGID_ITISRAINING' de la 8ª posición (la que se ve en la imagen) por 'STRINGID_STARTEDHAIL'.
Con esto aparecerá el string correspondiente cuando comience a granizar por efecto del clima externo.
Con esto aparecerá el string correspondiente cuando comience a granizar por efecto del clima externo.