Concurso de Insectos
El Concurso de Insectos (Bug-Catching Contest) es un evento especial donde el jugador compite contra NPCs para capturar el mejor Pokémon tipo Bicho. Se basa en el evento clásico del Parque Nacional de los juegos de Pokémon Oro/Plata/Cristal.
Mecánicas del concurso
Las reglas del Concurso de Insectos son las siguientes:
- El jugador solo puede llevar un Pokémon de su equipo (elige cuál al entrar).
- Se le dan 20 Sport Balls especiales para el concurso.
- El concurso tiene un límite de tiempo o de pasos (configurable).
- Solo se puede conservar un Pokémon capturado a la vez. Si capturas uno nuevo, debes elegir entre quedarte con el anterior o el nuevo.
- Al finalizar, el Pokémon capturado se juzga contra los de los NPCs participantes.
Estado del concurso
El estado del Bug-Catching Contest se gestiona con pbBugContestState:
# Comprobar si el concurso está en progreso
if pbBugContestState.inProgress?
pbMessage("El concurso está en marcha.")
pbMessage("Sport Balls restantes: #{pbBugContestState.ballcount}")
end
# Obtener el Pokémon capturado actualmente
pkmn = pbBugContestState.lastPokemon
if pkmn
pbMessage("Has capturado un #{pkmn.name}.")
end
Reglas del concurso
| Parámetro | Valor | Descripción |
|---|---|---|
| Pokémon del equipo | 1 | El jugador elige un solo Pokémon para usar |
| Sport Balls | 20 | Bolas especiales proporcionadas para el concurso |
| Pokémon retenidos | 1 | Solo se puede guardar un Pokémon a la vez |
| Tiempo/Pasos | Configurable | Límite para explorar el área del concurso |
NPCs participantes y puntuación
Los NPCs participantes capturan Pokémon "virtuales" cuyas puntuaciones se generan al finalizar el concurso. La puntuación de cada Pokémon se basa en:
- Especie: Pokémon más raros o evolucionados obtienen mayor puntuación base.
- Nivel: Un nivel más alto otorga más puntos.
- IVs: Mejores IVs contribuyen a una puntuación superior.
- PS restantes: Un Pokémon con más PS al momento de la captura puntúa mejor.
Los NPCs se definen en los scripts del concurso y tienen nombres y puntuaciones predeterminadas que se generan aleatoriamente dentro de un rango.
Premios y clasificación
Al finalizar el concurso, se muestra la clasificación y se otorgan premios. Los premios se configuran por posición:
# Configuración típica de premios en el evento del concurso
# Primer puesto
if posicion == 1
pbMessage("¡Felicidades! ¡Has ganado el primer puesto!")
pbReceiveItem(:SUNSTONE)
# Segundo puesto
elsif posicion == 2
pbMessage("¡Buen trabajo! Has quedado en segundo lugar.")
pbReceiveItem(:EVERSTONE)
# Tercer puesto
elsif posicion == 3
pbMessage("Has quedado en tercer lugar. ¡No está mal!")
pbReceiveItem(:SITRUSBERRY)
# Participación
else
pbMessage("Gracias por participar en el concurso.")
pbReceiveItem(:ORANBERRY)
end
Además, el jugador se queda con el Pokémon que capturó durante el concurso, independientemente de su posición.
Ejecutar el evento del concurso
Para implementar el Concurso de Insectos en tu juego, necesitas configurar varios eventos:
1. Evento de inicio
# NPC que inicia el concurso
pbMessage("¡Bienvenido al Concurso de Insectos!")
if pbConfirmMessage("¿Quieres participar?")
if $player.party_full? && $player.party_count > 1
pbMessage("Elige un Pokémon para llevar contigo.")
end
pbBugContestStart
# El resto del equipo se guarda temporalmente
# Transferir al jugador al mapa del concurso
end
2. Evento de finalización
# Cuando se acaba el tiempo o el jugador decide terminar
pbBugContestEnd
# Se muestra la clasificación automáticamente
# Se devuelve el resto del equipo al jugador
# Se otorgan los premios
Tipo de encuentro BugContest
Los encuentros en el mapa del concurso usan un tipo especial de encuentro llamado BugContest en el archivo PBS/encounters.txt:
# En PBS/encounters.txt
[030] # Número de mapa del Parque Nacional (durante concurso)
BugContest
CATERPIE,7,18
WEEDLE,7,18
PARAS,10,18
VENONAT,10,16
SCYTHER,13,14
PINSIR,13,14
BUTTERFREE,12,15
BEEDRILL,12,15
KAKUNA,9,18
METAPOD,9,18
Este tipo de encuentro solo se activa cuando el Concurso de Insectos está en progreso. Fuera del concurso, el mapa usará los encuentros normales (Land, Water, etc.) si están definidos.
012_Overworld en los scripts de Essentials para encontrar las funciones del Bug Contest.