From 5a8ff3a47f579b82f373daf57c8571d2cf8683c2 Mon Sep 17 00:00:00 2001 From: Blitzy <118096277+Blitz425@users.noreply.github.com> Date: Tue, 4 Nov 2025 11:11:16 -0600 Subject: [PATCH] [Balance Hotfix] Remove Evil Team Admin special properties at Wave 164 (#6746) * Update trainer-config.ts * Update trainer-config.ts * Update trainer-config.ts --------- Co-authored-by: damocleas --- src/data/trainers/trainer-config.ts | 63 ++++------------------------- 1 file changed, 7 insertions(+), 56 deletions(-) diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index 8d95bad2767..8c19789754c 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -592,15 +592,9 @@ export class TrainerConfig { * @param poolName - The evil team the admin belongs to. * @param signatureSpecies - The signature species for the evil team leader. * @param specialtyType - The specialty Type of the admin, if they have one - * @param starAdminInstantTeraSlot - (default `4`); If the admin is a Star Admin, the slot that should instantly Tera in {@linkcode ClassicFixedBossWaves.EVIL_ADMIN_3} * @returns The updated TrainerConfig instance. */ - initForEvilTeamAdmin( - title: string, - poolName: EvilTeam, - specialtyType?: PokemonType, - starAdminInstantTeraSlot = 4, - ): TrainerConfig { + initForEvilTeamAdmin(title: string, poolName: EvilTeam, specialtyType?: PokemonType): TrainerConfig { if (!getIsInitialized()) { initI18n(); } @@ -609,13 +603,6 @@ export class TrainerConfig { this.setSpecialtyType(specialtyType); } - if (title === "star_admin") { - this.setInstantTera( - starAdminInstantTeraSlot, - () => globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3, - ); - } - this.setPartyTemplates(trainerPartyTemplates.RIVAL_5); // Set the species pools for the evil team admin. @@ -2103,9 +2090,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.ARBOK], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.abilityIndex = 0; // Intimidate p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -2124,9 +2108,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.CROBAT], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), @@ -2200,9 +2181,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.CAMERUPT], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.abilityIndex = 1; // Solid Rock p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -2221,9 +2199,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.CAMERUPT], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.abilityIndex = 1; // Solid Rock p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -2285,9 +2260,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.SHARPEDO], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), @@ -2305,9 +2277,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.SHARPEDO], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), @@ -2366,9 +2335,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.SKUNTANK], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), @@ -2386,9 +2352,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.PURUGLY], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.abilityIndex = 0; // Thick Fat p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -2407,9 +2370,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.TOXICROAK], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.abilityIndex = 1; // Dry Skin p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -2489,9 +2449,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.KLINKLANG], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.abilityIndex = 2; // Clear Body p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -2564,9 +2521,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.MALAMAR], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.abilityIndex = 0; // Contrary p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -2636,9 +2590,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.HYPNO], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.abilityIndex = 1; // FOREWARN p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -2703,9 +2654,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.SALAZZLE], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), @@ -2768,9 +2716,6 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([SpeciesId.GARBODOR], TrainerSlot.TRAINER, true, p => { - if (globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_ADMIN_3) { - p.setBoss(true, 2); - } p.abilityIndex = 1; // Weak Armor p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -2853,6 +2798,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); } else { p.formIndex = 1; // Segin Starmobile + p.gender = Gender.GENDERLESS; p.moveset = [ new PokemonMove(MoveId.WICKED_TORQUE), new PokemonMove(MoveId.SPIN_OUT), @@ -2880,6 +2826,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); } else { p.formIndex = 2; // Schedar Starmobile + p.gender = Gender.GENDERLESS; p.moveset = [ new PokemonMove(MoveId.BLAZING_TORQUE), new PokemonMove(MoveId.SPIN_OUT), @@ -2907,6 +2854,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); } else { p.formIndex = 3; // Navi Starmobile + p.gender = Gender.GENDERLESS; p.moveset = [ new PokemonMove(MoveId.NOXIOUS_TORQUE), new PokemonMove(MoveId.SPIN_OUT), @@ -2934,6 +2882,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); } else { p.formIndex = 4; // Ruchbah Starmobile + p.gender = Gender.GENDERLESS; p.moveset = [ new PokemonMove(MoveId.MAGICAL_TORQUE), new PokemonMove(MoveId.SPIN_OUT), @@ -2961,6 +2910,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); } else { p.formIndex = 5; // Caph Starmobile + p.gender = Gender.GENDERLESS; p.moveset = [ new PokemonMove(MoveId.COMBAT_TORQUE), new PokemonMove(MoveId.SPIN_OUT), @@ -5825,6 +5775,7 @@ export const trainerConfigs: TrainerConfigs = { getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.formIndex = randSeedInt(5, 1); // Random Starmobile form + p.gender = Gender.GENDERLESS; p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }),