mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-06 08:22:16 +02:00
Fix Formatting and Changes to Teams
This commit is contained in:
parent
bbf79fd1e6
commit
0f7da73ccc
@ -2856,23 +2856,21 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["LORELEI"], false, PokemonType.ICE, 2)
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DEWGONG]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.SLOWBRO, Species.GALAR_SLOWBRO], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Ice Slowbro/G-Slowbro
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DEWGONG], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = 0; // Thick Fat
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.ICE_BEAM)) {
|
||||
// Check if Ice Beam is in the moveset, if not, replace the third move with Ice Beam.
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SLOWBRO, Species.GALAR_SLOWBRO], TrainerSlot.TRAINER, true, p => { // Tera Ice Slowbro/G-Slowbro
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.ICE_BEAM)) { // Check if Ice Beam is in the moveset, if not, replace the third move with Ice Beam.
|
||||
p.moveset[2] = new PokemonMove(Moves.ICE_BEAM);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.JYNX]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CLOYSTER, Species.ALOLA_SANDSLASH]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.LAPRAS], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.LAPRAS], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -2882,13 +2880,9 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HITMONCHAN, Species.HITMONLEE, Species.HITMONTOP]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.STEELIX], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Fighting Steelix
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.STEELIX], TrainerSlot.TRAINER, true, p => { // Tera Fighting Steelix
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.BODY_PRESS)) {
|
||||
// Check if Body Press is in the moveset, if not, replace the third move with Body Press.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.BODY_PRESS)) { // Check if Body Press is in the moveset, if not, replace the third move with Body Press.
|
||||
p.moveset[2] = new PokemonMove(Moves.BODY_PRESS);
|
||||
}
|
||||
}),
|
||||
@ -2907,22 +2901,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MISMAGIUS]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.WEEZING, Species.ARBOK], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Ghost Arbok/Weezing
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.WEEZING, Species.ARBOK], TrainerSlot.TRAINER, true, p => { // Tera Ghost Arbok/Weezing
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) {
|
||||
// Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
p.moveset[2] = new PokemonMove(Moves.TERA_BLAST);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALOLA_MAROWAK]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CURSOLA]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -2933,22 +2921,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.KINGDRA]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.GYARADOS, Species.AERODACTYL], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Dragon Gyarados/Aerodactyl
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GYARADOS, Species.AERODACTYL], TrainerSlot.TRAINER, true, p => { // Tera Dragon Gyarados/Aerodactyl
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) {
|
||||
// Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
p.moveset[2] = new PokemonMove(Moves.TERA_BLAST);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALOLA_EXEGGUTOR]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SALAMENCE]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.DRAGONITE], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DRAGONITE], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -2961,9 +2943,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SLOWKING, Species.GALAR_SLOWKING])) // Tera Psychic Slowking/G-Slowking
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EXEGGUTOR]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.FARIGIRAF, Species.WYRDEER]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.XATU], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.XATU], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -2972,9 +2952,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["KOGA"], true, PokemonType.POISON, 2)
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym")
|
||||
.setPartyMemberFunc(
|
||||
0,
|
||||
getRandomPartyMemberFunc([Species.VENOMOTH], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENOMOTH], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = 1; // Tinted Lens
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -2982,9 +2960,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MUK, Species.WEEZING])) // Tera Poison Muk/Weezing
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TENTACRUEL]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SNEASLER, Species.OVERQWIL]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.CROBAT], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CROBAT], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -2994,22 +2970,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.UMBREON]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Dark Gengar
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => { // Tera Dark Gengar
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.DARK_PULSE)) {
|
||||
// Check if Dark Pulse is in the moveset, if not, replace the third move with Dark Pulse.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.DARK_PULSE)) { // Check if Dark Pulse is in the moveset, if not, replace the third move with Dark Pulse.
|
||||
p.moveset[2] = new PokemonMove(Moves.DARK_PULSE);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HONCHKROW]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.WEAVILE]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3017,7 +2987,11 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
[TrainerType.SIDNEY]: new TrainerConfig(++t)
|
||||
.initForEliteFour(signatureSpecies["SIDNEY"], true, PokemonType.DARK, 2)
|
||||
.setMixedBattleBgm("battle_hoenn_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MIGHTYENA]))
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MIGHTYENA], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = 0; // Intimidate
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.OBSTAGOON])) // Tera Dark Obstagoon
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SHIFTRY, Species.CACTURNE]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SHARPEDO, Species.CRAWDAUNT]))
|
||||
@ -3034,16 +3008,12 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SABLEYE]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.BANETTE])) // Tera Ghost Banette
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DRIFBLIM, Species.MISMAGIUS]))
|
||||
.setPartyMemberFunc(
|
||||
4,
|
||||
getRandomPartyMemberFunc([Species.ORICORIO, Species.ALOLA_MAROWAK], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ORICORIO, Species.ALOLA_MAROWAK], TrainerSlot.TRAINER, true, p => {
|
||||
p.generateAndPopulateMoveset();
|
||||
p.formIndex = p.species.speciesId === Species.ORICORIO ? 3 : 0; // Oricorio-Sensu
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.DUSKNOIR], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DUSKNOIR], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3051,9 +3021,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
[TrainerType.GLACIA]: new TrainerConfig(++t)
|
||||
.initForEliteFour(signatureSpecies["GLACIA"], false, PokemonType.ICE, 2)
|
||||
.setMixedBattleBgm("battle_hoenn_elite")
|
||||
.setPartyMemberFunc(
|
||||
0,
|
||||
getRandomPartyMemberFunc([Species.ABOMASNOW], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ABOMASNOW], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = 0; // Snow Warning
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3061,9 +3029,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GLALIE])) // Tera Ice Glalie
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FROSLASS]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ALOLA_NINETALES]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.WALREIN], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.WALREIN], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3072,22 +3038,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["DRAKE"], true, PokemonType.DRAGON, 2)
|
||||
.setMixedBattleBgm("battle_hoenn_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALTARIA]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.DHELMISE], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Dragon Dhelmise
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DHELMISE], TrainerSlot.TRAINER, true, p => { // Tera Dragon Dhelmise
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) {
|
||||
// Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
p.moveset[2] = new PokemonMove(Moves.TERA_BLAST);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FLYGON]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.KINGDRA]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.SALAMENCE], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.SALAMENCE], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3100,15 +3060,11 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.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
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DRAPION], TrainerSlot.TRAINER, true, p => { // Tera Bug Drapion
|
||||
p.setBoss(true, 2);
|
||||
p.abilityIndex = 1; // Sniper
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.X_SCISSOR)) {
|
||||
// Check if X-Scissor is in the moveset, if not, replace the third move with X-Scissor.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.X_SCISSOR)) { // Check if X-Scissor is in the moveset, if not, replace the third move with X-Scissor.
|
||||
p.moveset[2] = new PokemonMove(Moves.X_SCISSOR);
|
||||
}
|
||||
}),
|
||||
@ -3118,19 +3074,14 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.WHISCASH]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.HIPPOWDON], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Ground Hippowdon
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.HIPPOWDON], TrainerSlot.TRAINER, true, p => { // Tera Ground Hippowdon
|
||||
p.abilityIndex = 0; // Sand Stream
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GLISCOR]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAMOSWINE, Species.URSALUNA]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.RHYPERIOR], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.RHYPERIOR], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.abilityIndex = 1; // Solid Rock
|
||||
p.generateAndPopulateMoveset();
|
||||
@ -3141,22 +3092,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.RAPIDASH]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.STEELIX, Species.LOPUNNY], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Fire Steelix/Lopunny
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.STEELIX, Species.LOPUNNY], TrainerSlot.TRAINER, true, p => { // Tera Fire Steelix/Lopunny
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) {
|
||||
// Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
p.moveset[2] = new PokemonMove(Moves.TERA_BLAST);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.INFERNAPE]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ARCANINE, Species.HISUI_ARCANINE]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.MAGMORTAR], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.MAGMORTAR], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3169,9 +3114,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.FARIGIRAF])) // Tera Psychic Farigiraf
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BRONZONG]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MR_RIME, Species.HISUI_BRAVIARY]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.GALLADE], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GALLADE], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.abilityIndex = 1; // Sharpness
|
||||
p.generateAndPopulateMoveset();
|
||||
@ -3183,10 +3126,8 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COFAGRIGUS]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GOLURK])) // Tera Ghost Golurk
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.JELLICENT]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.BASCULEGION, Species.HISUI_ZOROARK]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.CHANDELURE], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MISMAGIUS, Species.FROSLASS ]))
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CHANDELURE], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3197,10 +3138,8 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.THROH, Species.SAWK]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MIENSHAO])) // Tera Fighting Mienshao
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EMBOAR]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HISUI_LILLIGANT]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.CONKELDURR], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.BRELOOM, Species.TOXICROAK]))
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CONKELDURR], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3211,10 +3150,8 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LIEPARD]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.KROOKODILE])) // Tera Dark Krookodile
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SCRAFTY]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HISUI_SAMUROTT]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.KINGAMBIT], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ZOROARK, Species.HISUI_SAMUROTT]))
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KINGAMBIT], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3224,9 +3161,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setMixedBattleBgm("battle_unova_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MUSHARNA]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.REUNICLUS])) // Tera Psychic Reuniclus
|
||||
.setPartyMemberFunc(
|
||||
3,
|
||||
getRandomPartyMemberFunc([Species.GALLADE], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GALLADE], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = 1; // Sharpness
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3242,31 +3177,19 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
[TrainerType.MALVA]: new TrainerConfig(++t)
|
||||
.initForEliteFour(signatureSpecies["MALVA"], false, PokemonType.FIRE, 2)
|
||||
.setMixedBattleBgm("battle_kalos_elite")
|
||||
.setPartyMemberFunc(
|
||||
0,
|
||||
getRandomPartyMemberFunc([Species.PYROAR], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PYROAR], TrainerSlot.TRAINER, true, p => {
|
||||
p.generateAndPopulateMoveset();
|
||||
p.gender = Gender.FEMALE;
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.HOUNDOOM])) // Tera Fire Houndoom
|
||||
.setPartyMemberFunc(
|
||||
3,
|
||||
getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = 1; // Drought
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(
|
||||
4,
|
||||
getRandomPartyMemberFunc([Species.SCOVILLAIN], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = 0; // Chlorophyll
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.TALONFLAME], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CHANDELURE, Species.DELPHOX]))
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.TALONFLAME], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3277,10 +3200,8 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.CLAWITZER]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GYARADOS])) // Tera Water Gyarados
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.STARMIE]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.DONDOZO]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.BARBARACLE], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.BLASTOISE, Species.DONDOZO]))
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.BARBARACLE], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.abilityIndex = 1; // Tough Claws
|
||||
p.generateAndPopulateMoveset();
|
||||
@ -3290,22 +3211,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["WIKSTROM"], true, PokemonType.STEEL, 2)
|
||||
.setMixedBattleBgm("battle_kalos_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.KLEFKI]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.CERULEDGE], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Steel Ceruledge
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.CERULEDGE], TrainerSlot.TRAINER, true, p => { // Tera Steel Ceruledge
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.IRON_HEAD)) {
|
||||
// Check if Iron Head is in the moveset, if not, replace the third move with Iron Head.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.IRON_HEAD)) { // Check if Iron Head is in the moveset, if not, replace the third move with Iron Head.
|
||||
p.moveset[2] = new PokemonMove(Moves.IRON_HEAD);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SCIZOR]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CORVIKNIGHT]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.AEGISLASH], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.AEGISLASH], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3328,22 +3243,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["HALA"], true, PokemonType.FIGHTING, 2)
|
||||
.setMixedBattleBgm("battle_alola_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HARIYAMA]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.INCINEROAR], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Fighting Incineroar
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.INCINEROAR], TrainerSlot.TRAINER, true, p => { // Tera Fighting Incineroar
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.CROSS_CHOP)) {
|
||||
// Check if Cross Chop is in the moveset, if not, replace the third move with Cross Chop.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.CROSS_CHOP)) { // Check if Cross Chop is in the moveset, if not, replace the third move with Cross Chop.
|
||||
p.moveset[2] = new PokemonMove(Moves.CROSS_CHOP);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BEWEAR]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.POLIWRATH, Species.ANNIHILAPE]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.CRABOMINABLE], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CRABOMINABLE], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3355,9 +3264,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.ALOLA_SANDSLASH])) // Tera Steel A-Sandslash
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MAGNEZONE]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.METAGROSS, Species.KINGAMBIT]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.ALOLA_DUGTRIO], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.ALOLA_DUGTRIO], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3365,9 +3272,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
[TrainerType.OLIVIA]: new TrainerConfig(++t)
|
||||
.initForEliteFour(signatureSpecies["OLIVIA"], false, PokemonType.ROCK, 2)
|
||||
.setMixedBattleBgm("battle_alola_elite")
|
||||
.setPartyMemberFunc(
|
||||
0,
|
||||
getRandomPartyMemberFunc([Species.GIGALITH], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GIGALITH], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = 1; // Sand Stream
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3375,9 +3280,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.PROBOPASS])) // Tera Rock Probopass
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALOLA_GOLEM]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CARBINK, Species.RELICANTH]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.formIndex = 1;
|
||||
p.generateAndPopulateMoveset();
|
||||
@ -3390,9 +3293,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MIMIKYU])) // Tera Ghost Mimikyu
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DHELMISE]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.FROSLASS]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.PALOSSAND], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.PALOSSAND], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3401,22 +3302,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["KAHILI"], false, PokemonType.FLYING)
|
||||
.setMixedBattleBgm("battle_alola_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HAWLUCHA]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.DECIDUEYE], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Flying Decidueye
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DECIDUEYE], TrainerSlot.TRAINER, true, p => { // Tera Flying Decidueye
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.BRAVE_BIRD)) {
|
||||
// Check if Brave Bird is in the moveset, if not, replace the third move with Brave Bird.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.BRAVE_BIRD)) { // Check if Brave Bird is in the moveset, if not, replace the third move with Brave Bird.
|
||||
p.moveset[2] = new PokemonMove(Moves.BRAVE_BIRD);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BRAVIARY, Species.MANDIBUZZ]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ORICORIO]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.TOUCANNON], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.TOUCANNON], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3426,10 +3321,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["MARNIE_ELITE"], false, PokemonType.DARK, 2)
|
||||
.setMixedBattleBgm("battle_galar_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LIEPARD]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.TOXICROAK], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Dark Toxicroak
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.TOXICROAK], TrainerSlot.TRAINER, true, p => { // Tera Dark Toxicroak
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.SUCKER_PUNCH)) {
|
||||
// Check if Sucker Punch is in the moveset, if not, replace the third move with Sucker Punch.
|
||||
@ -3439,9 +3331,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SCRAFTY, Species.PANGORO]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MORPEKO]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.GRIMMSNARL], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GRIMMSNARL], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3451,28 +3341,20 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["NESSA_ELITE"], false, PokemonType.WATER, 2)
|
||||
.setMixedBattleBgm("battle_galar_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GOLISOPOD]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.EISCUE], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Water Eiscue
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.EISCUE], TrainerSlot.TRAINER, true, p => { // Tera Water Eiscue
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.LIQUIDATION)) {
|
||||
// Check if Liquidation is in the moveset, if not, replace the third move with Liquidation.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.LIQUIDATION)) { // Check if Liquidation is in the moveset, if not, replace the third move with Liquidation.
|
||||
p.moveset[2] = new PokemonMove(Moves.LIQUIDATION);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(
|
||||
3,
|
||||
getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = 1; // Drizzle
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.TOXAPEX]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.DREDNAW], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DREDNAW], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3485,9 +3367,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SIRFETCHD])) // Tera Fighting Sirfetch'd
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GRAPPLOCT, Species.FALINKS]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HITMONTOP]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.MACHAMP], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.MACHAMP], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3500,9 +3380,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.RUNERIGUS])) // Tera Ghost Runerigus
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.POLTEAGEIST, Species.SINISTCHA]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CURSOLA]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3512,23 +3390,17 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["RAIHAN_ELITE"], true, PokemonType.DRAGON, 2)
|
||||
.setMixedBattleBgm("battle_galar_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.FLYGON]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Dragon Torkoal
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => { // Tera Dragon Torkoal
|
||||
p.abilityIndex = 1; // Drought
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) {
|
||||
// Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
p.moveset[2] = new PokemonMove(Moves.TERA_BLAST);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GOODRA]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.TURTONATOR]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3536,14 +3408,11 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
[TrainerType.RIKA]: new TrainerConfig(++t)
|
||||
.initForEliteFour(signatureSpecies["RIKA"], false, PokemonType.GROUND, 5)
|
||||
.setMixedBattleBgm("battle_paldea_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.WHISCASH]))
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DUGTRIO]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DONPHAN]))
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TORTERRA, Species.TOEDSCRUEL]))
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SWAMPERT, Species.TORTERRA]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CAMERUPT]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.CLODSIRE], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Ground Clodsire
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CLODSIRE], TrainerSlot.TRAINER, true, p => { // Tera Ground Clodsire
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3553,12 +3422,13 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setMixedBattleBgm("battle_paldea_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COPPERAJAH]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MAGNEZONE]))
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.CORVIKNIGHT, Species.BRONZONG]))
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BRONZONG, Species.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => {
|
||||
p.abilityIndex = p.species.speciesId === Species.BRONZONG ? 0 : 1; // Levitate Bronzong, Unnerve Corviknight
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.STEELIX]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.TINKATON], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Steel Tinkaton
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.TINKATON], TrainerSlot.TRAINER, true, p => { // Tera Steel Tinkaton
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3571,10 +3441,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.BOMBIRDIER]))
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TROPIUS]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.STARAPTOR]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.FLAMIGO], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Flying Flamigo
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.FLAMIGO], TrainerSlot.TRAINER, true, p => { // Tera Flying Flamigo
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3586,10 +3453,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DRAGALGE]))
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FLAPPLE, Species.APPLETUN, Species.HYDRAPPLE]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HAXORUS]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.BAXCALIBUR], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Dragon Baxcalibur
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.BAXCALIBUR], TrainerSlot.TRAINER, true, p => { // Tera Dragon Baxcalibur
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3597,38 +3461,27 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
[TrainerType.CRISPIN]: new TrainerConfig(++t)
|
||||
.initForEliteFour(signatureSpecies["CRISPIN"], true, PokemonType.FIRE, 2)
|
||||
.setMixedBattleBgm("battle_bb_elite")
|
||||
.setPartyMemberFunc(
|
||||
0,
|
||||
getRandomPartyMemberFunc([Species.ROTOM], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ROTOM], TrainerSlot.TRAINER, true, p => {
|
||||
p.formIndex = 1; // Heat Rotom
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.EXEGGUTOR], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Fire Exeggutor
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.EXEGGUTOR], TrainerSlot.TRAINER, true, p => { // Tera Fire Exeggutor
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) {
|
||||
// Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
p.moveset[2] = new PokemonMove(Moves.TERA_BLAST);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(
|
||||
3,
|
||||
getRandomPartyMemberFunc([Species.TALONFLAME], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TALONFLAME], TrainerSlot.TRAINER, true, p => {
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.SUNNY_DAY)) {
|
||||
// Check if Sunny Day is in the moveset, if not, replace the third move with Sunny Day.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.SUNNY_DAY)) { // Check if Sunny Day is in the moveset, if not, replace the third move with Sunny Day.
|
||||
p.moveset[2] = new PokemonMove(Moves.SUNNY_DAY);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAGMORTAR]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.BLAZIKEN], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.BLAZIKEN], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3637,22 +3490,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["AMARYS"], false, PokemonType.STEEL, 2)
|
||||
.setMixedBattleBgm("battle_bb_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SKARMORY]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.REUNICLUS], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Steel Reuniclus
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.REUNICLUS], TrainerSlot.TRAINER, true, p => { // Tera Steel Reuniclus
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.FLASH_CANNON)) {
|
||||
// Check if Flash Cannon is in the moveset, if not, replace the third move with Flash Cannon.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.FLASH_CANNON)) { // Check if Flash Cannon is in the moveset, if not, replace the third move with Flash Cannon.
|
||||
p.moveset[2] = new PokemonMove(Moves.FLASH_CANNON);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EMPOLEON]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SCIZOR]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.METAGROSS], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.METAGROSS], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
@ -3664,14 +3511,10 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.PRIMARINA]))
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GRANBULL]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ALCREMIE]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.EXCADRILL], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Fairy Excadrill
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.EXCADRILL], TrainerSlot.TRAINER, true, p => { // Tera Fairy Excadrill
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) {
|
||||
// Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||
p.moveset[2] = new PokemonMove(Moves.TERA_BLAST);
|
||||
}
|
||||
}),
|
||||
@ -3680,22 +3523,16 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
.initForEliteFour(signatureSpecies["DRAYTON"], true, PokemonType.DRAGON, 2)
|
||||
.setMixedBattleBgm("battle_bb_elite")
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRAGONITE]))
|
||||
.setPartyMemberFunc(
|
||||
2,
|
||||
getRandomPartyMemberFunc([Species.SCEPTILE], TrainerSlot.TRAINER, true, p => {
|
||||
// Tera Dragon Sceptile
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SCEPTILE], TrainerSlot.TRAINER, true, p => { // Tera Dragon Sceptile
|
||||
p.generateAndPopulateMoveset();
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.DUAL_CHOP)) {
|
||||
// Check if Dual Chop is in the moveset, if not, replace the third move with Dual Chop.
|
||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.DUAL_CHOP)) { // Check if Dual Chop is in the moveset, if not, replace the third move with Dual Chop.
|
||||
p.moveset[2] = new PokemonMove(Moves.DUAL_CHOP);
|
||||
}
|
||||
}),
|
||||
)
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HAXORUS]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.KINGDRA, Species.DRACOVISH]))
|
||||
.setPartyMemberFunc(
|
||||
5,
|
||||
getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => {
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
}),
|
||||
|
Loading…
Reference in New Issue
Block a user