Update trainer-config.ts

This commit is contained in:
Blitzy 2025-04-24 19:26:23 -05:00 committed by GitHub
parent 6ea5b4fa9d
commit 0c4da821d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2853,146 +2853,485 @@ export const trainerConfigs: TrainerConfigs = {
.setMixedBattleBgm("battle_paldea_gym"),
[TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI))
.initForEliteFour(signatureSpecies["LORELEI"], false, PokemonType.ICE)
.initForEliteFour(signatureSpecies["LORELEI"], false, PokemonType.ICE, 2)
.setBattleBgm("battle_kanto_gym")
.setMixedBattleBgm("battle_kanto_gym"),
.setMixedBattleBgm("battle_kanto_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.DEWGONG ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SLOWBRO, Species.GALAR_SLOWBRO ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.JYNX ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.CLOYSTER, Species.ALOLA_SANDSLASH ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.LAPRAS ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.BRUNO]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["BRUNO"], true, PokemonType.FIGHTING)
.initForEliteFour(signatureSpecies["BRUNO"], true, PokemonType.FIGHTING, 2)
.setBattleBgm("battle_kanto_gym")
.setMixedBattleBgm("battle_kanto_gym"),
.setMixedBattleBgm("battle_kanto_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.HITMONCHAN, Species.HITMONLEE, Species.HITMONTOP ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.STEELIX ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.POLIWRATH ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.ANNIHILAPE ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.MACHAMP ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.AGATHA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["AGATHA"], false, PokemonType.GHOST)
.initForEliteFour(signatureSpecies["AGATHA"], false, PokemonType.GHOST, 2)
.setBattleBgm("battle_kanto_gym")
.setMixedBattleBgm("battle_kanto_gym"),
.setMixedBattleBgm("battle_kanto_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.MISMAGIUS ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.WEEZING, Species.ARBOK ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.ALOLA_MAROWAK ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.CURSOLA ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GENGAR ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.LANCE]: new TrainerConfig(++t)
.setName("Lance")
.initForEliteFour(signatureSpecies["LANCE"], true, PokemonType.DRAGON)
.initForEliteFour(signatureSpecies["LANCE"], true, PokemonType.DRAGON, 2)
.setBattleBgm("battle_kanto_gym")
.setMixedBattleBgm("battle_kanto_gym"),
.setMixedBattleBgm("battle_kanto_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.KINGDRA ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.GYARADOS ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.ALOLA_EXEGGUTOR ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.SALAMENCE ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.DRAGONITE ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.WILL]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["WILL"], true, PokemonType.PSYCHIC)
.initForEliteFour(signatureSpecies["WILL"], true, PokemonType.PSYCHIC, 2)
.setBattleBgm("battle_johto_gym")
.setMixedBattleBgm("battle_johto_gym"),
.setMixedBattleBgm("battle_johto_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.JYNX ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SLOWKING, Species.GALAR_SLOWKING ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.EXEGGUTOR ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.FARIGIRAF, Species.WYRDEER ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.XATU ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.KOGA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["KOGA"], true, PokemonType.POISON)
.initForEliteFour(signatureSpecies["KOGA"], true, PokemonType.POISON, 2)
.setBattleBgm("battle_johto_gym")
.setMixedBattleBgm("battle_johto_gym"),
.setMixedBattleBgm("battle_johto_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ARIADOS ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.VENOMOTH ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.MUK, Species.WEEZING ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.TENTACRUEL ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.CROBAT ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.KAREN]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["KAREN"], false, PokemonType.DARK)
.initForEliteFour(signatureSpecies["KAREN"], false, PokemonType.DARK, 2)
.setBattleBgm("battle_johto_gym")
.setMixedBattleBgm("battle_johto_gym"),
.setMixedBattleBgm("battle_johto_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.UMBREON ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.GENGAR ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.HONCHKROW ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.WEAVILE ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.HOUNDOOM ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.SIDNEY]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["SIDNEY"], true, PokemonType.DARK)
.setMixedBattleBgm("battle_hoenn_elite"),
.initForEliteFour(signatureSpecies["SIDNEY"], true, PokemonType.DARK, 2)
.setMixedBattleBgm("battle_hoenn_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.MIGHTYENA ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SHARPEDO, Species.CRAWDAUNT ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.SHIFTRY, Species.CACTURNE ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.OBSTAGOON ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.ABSOL ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.PHOEBE]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["PHOEBE"], false, PokemonType.GHOST)
.setMixedBattleBgm("battle_hoenn_elite"),
.initForEliteFour(signatureSpecies["PHOEBE"], false, PokemonType.GHOST, 2)
.setMixedBattleBgm("battle_hoenn_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.SABLEYE ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.BANETTE ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.DRIFBLIM, Species.MISMAGIUS ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.ORICORIO, Species.ALOLA_MAROWAK ], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
p.formIndex = p.species.speciesId === Species.ORICORIO ? 3 : 0;
}),
)
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.DUSKNOIR ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.GLACIA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["GLACIA"], false, PokemonType.ICE)
.setMixedBattleBgm("battle_hoenn_elite"),
.initForEliteFour(signatureSpecies["GLACIA"], false, PokemonType.ICE, 2)
.setMixedBattleBgm("battle_hoenn_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ABOMASNOW ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.GLALIE ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.FROSLASS ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.CASTFORM ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.WALREIN ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.DRAKE]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["DRAKE"], true, PokemonType.DRAGON)
.setMixedBattleBgm("battle_hoenn_elite"),
.initForEliteFour(signatureSpecies["DRAKE"], true, PokemonType.DRAGON, 2)
.setMixedBattleBgm("battle_hoenn_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ALTARIA ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.DHELMISE ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.FLYGON ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.KINGDRA ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.SALAMENCE ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.AARON]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["AARON"], true, PokemonType.BUG)
.initForEliteFour(signatureSpecies["AARON"], true, PokemonType.BUG, 5)
.setBattleBgm("battle_sinnoh_gym")
.setMixedBattleBgm("battle_sinnoh_gym"),
.setMixedBattleBgm("battle_sinnoh_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.YANMEGA ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.HERACROSS ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.VESPIQUEN ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.SCIZOR, Species.KLEAVOR ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.DRAPION ], TrainerSlot.TRAINER, true, p => { // Tera Bug Drapion
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.BERTHA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["BERTHA"], false, PokemonType.GROUND)
.initForEliteFour(signatureSpecies["BERTHA"], false, PokemonType.GROUND, 2)
.setBattleBgm("battle_sinnoh_gym")
.setMixedBattleBgm("battle_sinnoh_gym"),
.setMixedBattleBgm("battle_sinnoh_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.WHISCASH ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.HIPPOWDON ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GLISCOR ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.MAMOSWINE, Species.URSALUNA ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.RHYPERIOR ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.FLINT]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["FLINT"], true, PokemonType.FIRE, 3)
.initForEliteFour(signatureSpecies["FLINT"], true, PokemonType.FIRE, 2)
.setBattleBgm("battle_sinnoh_gym")
.setMixedBattleBgm("battle_sinnoh_gym"),
.setMixedBattleBgm("battle_sinnoh_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.RAPIDASH ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.STEELIX, Species.LOPUNNY ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.INFERNAPE ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.ARCANINE, Species.HISUI_ARCANINE ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.MAGMORTAR ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.LUCIAN]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["LUCIAN"], true, PokemonType.PSYCHIC)
.initForEliteFour(signatureSpecies["LUCIAN"], true, PokemonType.PSYCHIC, 2)
.setBattleBgm("battle_sinnoh_gym")
.setMixedBattleBgm("battle_sinnoh_gym"),
.setMixedBattleBgm("battle_sinnoh_gym")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ESPEON ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.FARIGIRAF ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.BRONZONG ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.ALAKAZAM ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GALLADE ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.SHAUNTAL]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["SHAUNTAL"], false, PokemonType.GHOST)
.setMixedBattleBgm("battle_unova_elite"),
.initForEliteFour(signatureSpecies["SHAUNTAL"], false, PokemonType.GHOST, 2)
.setMixedBattleBgm("battle_unova_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.COFAGRIGUS ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.GOLURK ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.JELLICENT ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.BASCULEGION, Species.HISUI_ZOROARK ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.CHANDELURE ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.MARSHAL]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["MARSHAL"], true, PokemonType.FIGHTING)
.setMixedBattleBgm("battle_unova_elite"),
.initForEliteFour(signatureSpecies["MARSHAL"], true, PokemonType.FIGHTING, 2)
.setMixedBattleBgm("battle_unova_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.THROH, Species.SAWK ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.MIENSHAO ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.EMBOAR ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HISUI_LILLIGANT ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.CONKELDURR ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.GRIMSLEY]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["GRIMSLEY"], true, PokemonType.DARK)
.setMixedBattleBgm("battle_unova_elite"),
.initForEliteFour(signatureSpecies["GRIMSLEY"], true, PokemonType.DARK, 2)
.setMixedBattleBgm("battle_unova_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.LIEPARD ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.KROOKODILE ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.SCRAFTY ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HISUI_SAMUROTT ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.KINGAMBIT ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.CAITLIN]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["CAITLIN"], false, PokemonType.PSYCHIC)
.setMixedBattleBgm("battle_unova_elite"),
.initForEliteFour(signatureSpecies["CAITLIN"], false, PokemonType.PSYCHIC, 2)
.setMixedBattleBgm("battle_unova_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.MUSHARNA ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.REUNICLUS ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.BEHEEYEM ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.SIGLIYPH, Species.HISUI_BRAVIARY ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GOTHITELLE ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.MALVA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["MALVA"], false, PokemonType.FIRE)
.setMixedBattleBgm("battle_kalos_elite"),
.initForEliteFour(signatureSpecies["MALVA"], false, PokemonType.FIRE, 2)
.setMixedBattleBgm("battle_kalos_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.PYROAR ], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
p.gender = Gender.FEMALE;
}))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.HOUNDOOM ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.TORKOAL ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.SCOVILLAIN ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.TALONFLAME ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.SIEBOLD]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["SIEBOLD"], true, PokemonType.WATER)
.setMixedBattleBgm("battle_kalos_elite"),
.initForEliteFour(signatureSpecies["SIEBOLD"], true, PokemonType.WATER, 2)
.setMixedBattleBgm("battle_kalos_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.CLAWITZER ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.GYARADOS ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.STARMIE ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.DONDOZO ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.BARBARACLE ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.WIKSTROM]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["WIKSTROM"], true, PokemonType.STEEL)
.setMixedBattleBgm("battle_kalos_elite"),
.initForEliteFour(signatureSpecies["WIKSTROM"], true, PokemonType.STEEL, 2)
.setMixedBattleBgm("battle_kalos_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.KLEFKI ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.CERULEDGE ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.SCIZOR ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.CORVIKNIGHT ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.AEGISLASH ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.DRASNA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["DRASNA"], false, PokemonType.DRAGON)
.setMixedBattleBgm("battle_kalos_elite"),
.initForEliteFour(signatureSpecies["DRASNA"], false, PokemonType.DRAGON, 2)
.setMixedBattleBgm("battle_kalos_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.DRAGALGE ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.GARCHOMP ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.ALTARIA ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.DRUDDIGON ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.NOIVERN ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.HALA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["HALA"], true, PokemonType.FIGHTING)
.setMixedBattleBgm("battle_alola_elite"),
.initForEliteFour(signatureSpecies["HALA"], true, PokemonType.FIGHTING, 2)
.setMixedBattleBgm("battle_alola_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.HARIYAMA ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.INCINEROAR ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.BEWEAR ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.POLIWRATH, Species.ANNIHILAPE ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.CRABOMINABLE ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.MOLAYNE]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["MOLAYNE"], true, PokemonType.STEEL)
.setMixedBattleBgm("battle_alola_elite"),
.initForEliteFour(signatureSpecies["MOLAYNE"], true, PokemonType.STEEL, 2)
.setMixedBattleBgm("battle_alola_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.KLEFKI ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.ALOLA_SANDSLASH ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.MAGNEZONE ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.METAGROSS, Species.KINGAMBIT ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.ALOLA_DUGTRIO ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.OLIVIA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["OLIVIA"], false, PokemonType.ROCK)
.setMixedBattleBgm("battle_alola_elite"),
.initForEliteFour(signatureSpecies["OLIVIA"], false, PokemonType.ROCK, 2)
.setMixedBattleBgm("battle_alola_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GIGALITH ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PROBOPASS ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.ALOLA_GOLEM ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.CARBINK, Species.RELICANTH ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.LYCANROC ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.formIndex = 1;
p.generateAndPopulateMoveset();
})),
[TrainerType.ACEROLA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["ACEROLA"], false, PokemonType.GHOST)
.setMixedBattleBgm("battle_alola_elite"),
.initForEliteFour(signatureSpecies["ACEROLA"], false, PokemonType.GHOST, 2)
.setMixedBattleBgm("battle_alola_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.DRIFBLIM ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.MIMIKYU ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.DHELMISE ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.FROSLASS ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.PALOSSAND ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.KAHILI]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["KAHILI"], false, PokemonType.FLYING)
.setMixedBattleBgm("battle_alola_elite"),
.setMixedBattleBgm("battle_alola_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.HAWLUCHA ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.DECIDUEYE ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.BRAVIARY, Species.MANDIBUZZ ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.ORICORIO ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.TOUCANNON ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.MARNIE_ELITE]: new TrainerConfig(++t)
.setName("Marnie")
.initForEliteFour(signatureSpecies["MARNIE_ELITE"], false, PokemonType.DARK)
.setMixedBattleBgm("battle_galar_elite"),
.initForEliteFour(signatureSpecies["MARNIE_ELITE"], false, PokemonType.DARK, 2)
.setMixedBattleBgm("battle_galar_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.LIEPARD ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.TOXICROAK ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.SCRAFTY ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.MORPEKO ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GRIMMSNARL ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.NESSA_ELITE]: new TrainerConfig(++t)
.setName("Nessa")
.initForEliteFour(signatureSpecies["NESSA_ELITE"], false, PokemonType.WATER)
.setMixedBattleBgm("battle_galar_elite"),
.initForEliteFour(signatureSpecies["NESSA_ELITE"], false, PokemonType.WATER, 2)
.setMixedBattleBgm("battle_galar_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GOLISOPOD ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.EISCUE ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.PELIPPER ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.TOXAPEX ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.DREDNAW ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.BEA_ELITE]: new TrainerConfig(++t)
.setName("Bea")
.initForEliteFour(signatureSpecies["BEA_ELITE"], false, PokemonType.FIGHTING)
.setMixedBattleBgm("battle_galar_elite"),
.initForEliteFour(signatureSpecies["BEA_ELITE"], false, PokemonType.FIGHTING, 2)
.setMixedBattleBgm("battle_galar_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.HAWLUCHA ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SIRFETCHD ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GRAPPLOCT, Species.FALINKS ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HITMONTOP ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.MACHAMP ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.ALLISTER_ELITE]: new TrainerConfig(++t)
.setName("Allister")
.initForEliteFour(signatureSpecies["ALLISTER_ELITE"], true, PokemonType.GHOST)
.setMixedBattleBgm("battle_galar_elite"),
.initForEliteFour(signatureSpecies["ALLISTER_ELITE"], true, PokemonType.GHOST, 2)
.setMixedBattleBgm("battle_galar_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.DUSKNOIR ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.RUNERIGUS ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.POLTEAGEIST, Species.SINISTCHA ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.CURSOLA ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GENGAR ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.RAIHAN_ELITE]: new TrainerConfig(++t)
.setName("Raihan")
.initForEliteFour(signatureSpecies["RAIHAN_ELITE"], true, PokemonType.DRAGON)
.setMixedBattleBgm("battle_galar_elite"),
.initForEliteFour(signatureSpecies["RAIHAN_ELITE"], true, PokemonType.DRAGON, 2)
.setMixedBattleBgm("battle_galar_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.FLYGON ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.TORKOAL ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GOODRA ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.TURTONATOR ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.ARCHALUDON ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.RIKA]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["RIKA"], false, PokemonType.GROUND, 5)
.setMixedBattleBgm("battle_paldea_elite"),
.setMixedBattleBgm("battle_paldea_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.WHISCASH ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.DONPHAN ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.STARMIE ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.CAMERUPT ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.CLODSIRE ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.POPPY]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["POPPY"], false, PokemonType.STEEL, 5)
.setMixedBattleBgm("battle_paldea_elite"),
.setMixedBattleBgm("battle_paldea_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.COPPERAJAH ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.MAGNEZONE ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.CORVIKNIGHT ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.STEELIX ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.TINKATON ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.LARRY_ELITE]: new TrainerConfig(++t)
.setName("Larry")
.initForEliteFour(signatureSpecies["LARRY_ELITE"], true, PokemonType.FLYING, 5)
.setMixedBattleBgm("battle_paldea_elite"),
.setMixedBattleBgm("battle_paldea_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ALTARIA ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.BOMBIRDIER ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.ORICORIO ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.STARAPTOR ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.FLAMIGO ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.HASSEL]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["HASSEL"], true, PokemonType.DRAGON, 5)
.setMixedBattleBgm("battle_paldea_elite"),
.setMixedBattleBgm("battle_paldea_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.NOIVERN ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.DRAGALGE ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.FLAPPLE, Species.APPLETUN, Species.HYDRAPPLE ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HISUI_GOODRA ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.BAXCALIBUR ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.CRISPIN]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["CRISPIN"], true, PokemonType.FIRE, 5)
.setMixedBattleBgm("battle_bb_elite"),
.setMixedBattleBgm("battle_bb_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.ROTOM ], TrainerSlot.TRAINER, true, p => {
p.formIndex = 1; // Heat Rotom
p.generateAndPopulateMoveset();
}))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.CAMERUPT ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.TALONFLAME ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.MAGMORTAR ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.BLAZIKEN ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.AMARYS]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["AMARYS"], false, PokemonType.STEEL, 5)
.setMixedBattleBgm("battle_bb_elite"),
.setMixedBattleBgm("battle_bb_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.SKARMORY ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.ALOLA_DUGTRIO ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.EMPOLEON ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.SCIZOR ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.METAGROSS ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.LACEY]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["LACEY"], false, PokemonType.FAIRY, 5)
.setMixedBattleBgm("battle_bb_elite"),
.setMixedBattleBgm("battle_bb_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.WHIMSICOTT ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PRIMARINA ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GRANBULL ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.ALCREMIE ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.EXCADRILL ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.DRAYTON]: new TrainerConfig(++t)
.initForEliteFour(signatureSpecies["DRAYTON"], true, PokemonType.DRAGON, 5)
.setMixedBattleBgm("battle_bb_elite"),
.setMixedBattleBgm("battle_bb_elite")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.DRAGONITE ]))
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.FLYGON ]))
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.HAXORUS ]))
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.KINGDRA, Species.DRACOVISH ]))
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.ARCHALUDON ], TrainerSlot.TRAINER, true, p => {
p.setBoss(true, 2);
p.generateAndPopulateMoveset();
})),
[TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE))
.initForChampion(true)