Clima
Pokémon Essentials incluye un sistema de clima que afecta tanto el aspecto visual del mundo como las batallas. El clima puede configurarse por mapa o cambiarse dinámicamente mediante scripts.
Tipos de clima
Essentials soporta los siguientes tipos de clima. Cada uno tiene efectos visuales en el mapa y efectos mecánicos en combate:
| Clima | ID interno | Efecto visual | Efecto en combate |
|---|---|---|---|
| Ninguno | :None |
Sin efecto | Sin efecto |
| Lluvia | :Rain |
Gotas de lluvia en pantalla | +50% daño Agua, -50% daño Fuego. Trueno tiene 100% de precisión |
| Lluvia intensa | :HeavyRain |
Lluvia fuerte con niebla | Los movimientos de Fuego fallan por completo. +50% daño Agua |
| Tormenta | :Storm |
Lluvia con relámpagos | Igual que Lluvia, con efectos visuales de rayos |
| Nieve | :Snow |
Copos de nieve cayendo | +50% Def. Especial de tipo Hielo |
| Ventisca | :Blizzard |
Nieve intensa con viento | Igual que Nieve. Ventisca tiene 100% de precisión. Daño gradual a no-Hielo |
| Tormenta de arena | :Sandstorm |
Partículas de arena en pantalla | +50% Def. Esp. de tipo Roca. Daño gradual a no-Roca/Acero/Tierra |
| Sol intenso | :Sun |
Brillo solar intenso | +50% daño Fuego, -50% daño Agua. Rayo Solar no necesita carga |
| Niebla | :Fog |
Niebla que reduce la visibilidad | Precisión reducida para ambos lados |
Clima en los metadatos del mapa
Para asignar un clima predeterminado a un mapa, usa el campo Weather en el archivo PBS map_metadata.txt:
[010]
Name = Ruta Desierta
Weather = Sandstorm, 9
[015]
Name = Bosque Lluvioso
Weather = Rain, 5
[020]
Name = Montaña Nevada
Weather = Snow, 7
El formato es Weather = TIPO, INTENSIDAD donde:
- TIPO: El nombre del clima (Rain, Snow, Sandstorm, Sun, Fog, Storm, Blizzard, HeavyRain, etc.).
- INTENSIDAD: Un valor de 0 a 9 que controla la densidad visual del efecto.
9es la máxima intensidad.
Cambiar el clima por script
Puedes cambiar el clima en cualquier momento durante el juego usando scripts:
Establecer clima
# Establecer lluvia con intensidad 5
pbSetWeather(:Rain, 5)
# Establecer tormenta de arena con máxima intensidad
pbSetWeather(:Sandstorm, 9)
# Establecer sol intenso
pbSetWeather(:Sun, 7)
# Quitar el clima (volver a normal)
pbSetWeather(:None, 0)
Cambiar el clima con transición
# Cambiar gradualmente a lluvia (con animación de transición)
$game_screen.weather(:Rain, 5, 20)
# El tercer parámetro (20) es la velocidad de transición (frames)
Comprobar el clima actual
# Obtener el clima actual del mapa
clima_actual = $game_screen.weather_type
if clima_actual == :Rain
pbMessage("Está lloviendo.")
elsif clima_actual == :Sandstorm
pbMessage("Hay una tormenta de arena.")
elsif clima_actual == :None
pbMessage("El cielo está despejado.")
end
Efectos del clima en combate
Cuando se inicia una batalla en un mapa con clima activo, ese clima se traslada automáticamente al combate. Los efectos en combate son:
Lluvia / Tormenta
- Los movimientos de tipo Agua hacen un 50% más de daño.
- Los movimientos de tipo Fuego hacen un 50% menos de daño.
- Trueno tiene una precisión del 100%.
- Rayo Solar necesita 2 turnos de carga (en vez de 1).
- La habilidad Nado Rápido (Swift Swim) duplica la velocidad.
- La habilidad Hidratación (Hydration) cura estados al final del turno.
Sol intenso
- Los movimientos de tipo Fuego hacen un 50% más de daño.
- Los movimientos de tipo Agua hacen un 50% menos de daño.
- Rayo Solar no necesita turno de carga.
- Trueno tiene una precisión del 50%.
- La habilidad Clorofila (Chlorophyll) duplica la velocidad.
- La habilidad Poder Solar (Solar Power) aumenta el Ataque Especial pero daña al Pokémon.
Tormenta de arena
- Los Pokémon que no son tipo Roca, Acero o Tierra reciben daño al final de cada turno (1/16 de sus PS máximos).
- Los Pokémon de tipo Roca reciben un +50% a su Defensa Especial.
- La habilidad Velo Arena (Sand Veil) aumenta la evasión.
- La habilidad Ímpetu Arena (Sand Rush) duplica la velocidad.
Nieve / Ventisca
- Los Pokémon de tipo Hielo reciben un +50% a su Defensa Especial (en Nieve).
- En Ventisca: los Pokémon que no son tipo Hielo reciben daño al final de cada turno.
- Ventisca (el movimiento) tiene una precisión del 100%.
- La habilidad Manto Níveo (Snow Cloak) aumenta la evasión.
- La habilidad Quitanieves (Slush Rush) duplica la velocidad.
Efectos del clima en el mundo
Además de los efectos en combate, el clima puede afectar al mundo exterior:
- Encuentros salvajes: Algunos Pokémon solo aparecen con cierto clima activo. Se pueden definir encuentros exclusivos de clima en el PBS de encuentros.
- Movimientos de campo: Ciertos movimientos como Día Soleado o Danza Lluvia pueden usarse fuera de combate para cambiar el clima temporalmente.
- Forma de Castform: Castform cambia de forma según el clima activo en el mapa, no solo en combate.
Duración del clima
El clima configurado en los metadatos del mapa es permanente: se mantiene mientras el jugador esté en ese mapa. Si el jugador se va y regresa, el clima se restaura.
El clima establecido por script es temporal: se mantiene hasta que se cambie por otro script o el jugador entre a un mapa con clima diferente.
Clima con duración por turnos (en combate)
En combate, los movimientos que invocan clima (como Danza Lluvia, Día Soleado, etc.) duran 5 turnos por defecto. Con el objeto Roca Húmeda, Roca Caliente, Roca Suave o Roca Helada, la duración se extiende a 8 turnos.
# Duración del clima en combate (definido en Settings)
Settings::WEATHER_DURATION = 5 # Turnos normales
Settings::WEATHER_DURATION_EXTENDED = 8 # Con roca equipada
Clima primigenio
Los climas primigenios son versiones extremas de los climas estándar, introducidos en la Generación VI:
| Clima primigenio | ID interno | Efecto especial |
|---|---|---|
| Lluvia intensa primigenia | :HeavyRain |
Los movimientos de tipo Fuego fallan completamente. No se puede reemplazar por otro clima excepto otro primigenio. |
| Sol abrasador primigenio | :HarshSun |
Los movimientos de tipo Agua fallan completamente. No se puede reemplazar por otro clima excepto otro primigenio. |
| Corriente de aire primigenia | :StrongWinds |
Las debilidades del tipo Volador se anulan. Los movimientos supereficaces contra Volador pasan a ser normales. |
Los climas primigenios están asociados a las habilidades de los Pokémon primigenios:
- Kyogre Primigenio → Mar del Albor (Primordial Sea) → Lluvia intensa primigenia
- Groudon Primigenio → Tierra del Ocaso (Desolate Land) → Sol abrasador primigenio
- Mega Rayquaza → Delta Stream (Delta Stream) → Corriente de aire primigenia
Estos climas no se pueden sobrescribir con movimientos como Danza Lluvia o Día Soleado mientras el Pokémon con la habilidad correspondiente esté en el campo. Solo desaparecen cuando el Pokémon sale del combate.
Establecer clima primigenio por script
# En el mapa (efecto visual)
pbSetWeather(:HeavyRain, 9) # Lluvia intensa primigenia
pbSetWeather(:HarshSun, 9) # Sol abrasador primigenio
pbSetWeather(:StrongWinds, 9) # Corriente de aire primigenia
Ejemplo: Ruta con clima dinámico
Un ejemplo de un script que cambia el clima según la hora del día:
# En un evento Autorun (con switch para no repetir infinitamente)
if pbIsMorning?
pbSetWeather(:Fog, 6) # Niebla matutina
elsif pbIsDay?
pbSetWeather(:Sun, 5) # Sol durante el día
elsif pbIsAfternoon?
pbSetWeather(:None, 0) # Despejado por la tarde
else
pbSetWeather(:Rain, 4) # Lluvia nocturna
end
$game_switches[99] = true # Evitar que se ejecute de nuevo