[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 <damocleas25@gmail.com>
This commit is contained in:
Blitzy 2025-11-04 11:11:16 -06:00 committed by GitHub
parent c0e988a37b
commit 5a8ff3a47f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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;
}),