Zona Safari
La Zona Safari es una ubicación especial donde el jugador puede capturar Pokémon usando reglas diferentes a los combates normales. En lugar de debilitar a los Pokémon, el jugador lanza Safari Balls y puede usar cebo o piedras para influir en la captura.
Mecánicas de la Zona Safari
Al entrar en la Zona Safari, el jugador recibe un número limitado de Safari Balls y tiene un límite de pasos para explorar. Las reglas del encuentro son distintas:
- No se usan los Pokémon del equipo para combatir.
- El jugador puede lanzar una Safari Ball, tirar una piedra, lanzar cebo o huir.
- Tirar una piedra enfada al Pokémon, lo que facilita la captura pero aumenta la probabilidad de que huya.
- Lanzar cebo calma al Pokémon, reduciendo la probabilidad de huida pero dificultando la captura.
- El Pokémon salvaje puede huir en cualquier turno.
Configuración del estado Safari
El estado del Safari Zone se gestiona mediante pbSafariState:
# Iniciar el Safari Zone
# Se configura al entrar a la zona
pbSafariState.start(30, 500) # 30 Safari Balls, 500 pasos
# Comprobar si el jugador está en modo Safari
if pbSafariState.inProgress?
pbMessage("Estás en la Zona Safari.")
pbMessage("Te quedan #{pbSafariState.ballcount} Safari Balls.")
pbMessage("Pasos restantes: #{pbSafariState.steps}")
end
# Finalizar el Safari Zone
pbSafariState.end
Configuración de Safari Balls y pasos
Los valores predeterminados se pueden modificar en la configuración:
| Parámetro | Valor por defecto | Descripción |
|---|---|---|
| Safari Balls | 30 | Número de Safari Balls que recibe el jugador |
| Límite de pasos | 500 | Número máximo de pasos dentro de la zona |
Cuando se agotan las Safari Balls o los pasos, el jugador es devuelto automáticamente a la entrada de la Zona Safari.
Lanzar piedras y cebo
Las acciones de piedra y cebo afectan a dos valores internos del Pokémon salvaje:
| Acción | Efecto en captura | Efecto en huida |
|---|---|---|
| Lanzar piedra | Aumenta la tasa de captura | Aumenta la probabilidad de huida |
| Lanzar cebo | Disminuye la tasa de captura | Disminuye la probabilidad de huida |
| Lanzar Safari Ball | Intento de captura | — |
| Huir | — | Termina el encuentro |
Encuentros en la Zona Safari
Los encuentros salvajes en la Zona Safari se definen igual que en cualquier otro mapa, usando el archivo
PBS/encounters.txt. El tipo de encuentro puede ser cualquiera de los disponibles (hierba, surf,
pesca, etc.).
# En PBS/encounters.txt
# Los encuentros para el mapa de la Zona Safari se definen normalmente:
[025] # Número de mapa de la Zona Safari
Land
NIDORAN_F,15,20
NIDORAN_M,15,20
PARAS,18,22
VENONAT,18,22
EXEGGCUTE,20,25
SCYTHER,20,25
PINSIR,20,25
TAUROS,22,28
KANGASKHAN,22,28
CHANSEY,20,25
Water
PSYDUCK,20,30
SLOWPOKE,20,30
Configurar mapas de safari
Para que un mapa funcione como parte de la Zona Safari, necesitas:
- Marcar el mapa como Safari: En los metadatos del mapa (
PBS/map_metadata.txt), añadir la flagSafariMap = true. - Crear el evento de entrada: Un NPC en la entrada que inicie el estado Safari.
- Configurar encuentros: Definir los Pokémon salvajes en
PBS/encounters.txt.
Flag SafariMap en metadatos
# En PBS/map_metadata.txt
[025]
Name = Zona Safari
SafariMap = true
MapSize = 2,1
Outdoor = true
Evento de entrada al Safari
# Script del NPC de la entrada
if pbConfirmMessage("¡Bienvenido a la Zona Safari! La entrada cuesta 500 ₽. ¿Quieres entrar?")
if $player.money >= 500
$player.money -= 500
pbMessage("Aquí tienes 30 Safari Balls. ¡Buena suerte!")
pbSafariState.start(30, 500)
# Transferir al jugador al mapa de la Zona Safari
pbTransferPlayer(25, 10, 15) # mapa, x, y
else
pbMessage("No tienes suficiente dinero...")
end
else
pbMessage("¡Vuelve cuando quieras!")
end
Finalización automática
El juego comprueba automáticamente después de cada paso si el jugador ha agotado sus pasos o Safari Balls. Si se cumple cualquiera de estas condiciones:
- Se muestra un mensaje informando al jugador.
- El jugador es teletransportado de vuelta a la entrada.
- El estado Safari se reinicia.
SafariMap = true, el contador de pasos y bolas funcionará correctamente en todos
ellos.