Concurso de Insectos
El Concurso de Insectos está implementado en los scripts de la base. La actividad conserva temporalmente el resto del equipo, deja un Pokémon elegido para el concurso y mantiene un contador de Balls y una captura actual. La cantidad de Balls se entrega al iniciar el estado del concurso; no está fijada a 20 en la implementación revisada.
Duración y cierre
El límite de tiempo se configura con Settings::BUG_CONTEST_TIME y por defecto es de 20 minutos. Si se establece en 0 o menos, no vence por temporizador. Agotar las Balls inicia el juzgamiento. Salir de los mapas configurados como parte del concurso lo interrumpe.
Capturas y clasificación
La captura más reciente se mantiene como candidata del jugador. Al juzgar, el sistema crea Pokémon rivales a partir de encuentros del tipo BugContest en mapas del concurso; si un mapa no tiene ese tipo, puede usar sus encuentros terrestres. Ordena los resultados por puntuación y presenta los tres primeros.
La puntuación del código suma nivel por cuatro, IV normalizados, porcentaje de PS restantes y una bonificación por rareza basada en el ratio de captura. Por eso la puntuación no depende únicamente de especie, nivel, IV y PS en categorías independientes como afirmaba la guía anterior.
Integración en mapas y eventos
El estado del concurso configura los mapas de actividad, recepción y el punto de juzgamiento. Los combates usan el modo especial de captura del concurso; el temporizador, el cambio de mapa y el agotamiento de Balls gestionan el flujo de cierre. No existe una pareja pública de métodos pbBugContestStart/pbBugContestEnd como la que mostraba el ejemplo anterior.
Consulta Data/Scripts/053_Alternate battle modes/003_BugContest.rb y Data/Scripts/035_Other battle types/003_BugContestBattle.rb para la implementación y sus puntos de integración.