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:

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:

  1. Marcar el mapa como Safari: En los metadatos del mapa (PBS/map_metadata.txt), añadir la flag SafariMap = true.
  2. Crear el evento de entrada: Un NPC en la entrada que inicie el estado Safari.
  3. 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:

Consejo: Puedes crear múltiples mapas interconectados para la Zona Safari. Mientras todos tengan la flag SafariMap = true, el contador de pasos y bolas funcionará correctamente en todos ellos.