mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-09 00:49:27 +02:00
Update trainer-config.ts
This commit is contained in:
parent
adee68a6d5
commit
eac0938205
@ -3751,27 +3751,16 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
.setDoubleTrainerType(TrainerType.RED)
|
.setDoubleTrainerType(TrainerType.RED)
|
||||||
.setDoubleTitle("champion_double")
|
.setDoubleTitle("champion_double")
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.ALAKAZAM]))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.ALAKAZAM]))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.MACHAMP]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.ARCANINE, SpeciesId.EXEGGUTOR, SpeciesId.GYARADOS]))
|
||||||
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.RHYPERIOR, SpeciesId.ELECTIVIRE]))
|
||||||
|
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.MACHAMP]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.HO_OH], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.HO_OH], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.RHYPERIOR, SpeciesId.ELECTIVIRE]))
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
4,
|
|
||||||
getRandomPartyMemberFunc(
|
|
||||||
[SpeciesId.ARCANINE, SpeciesId.EXEGGUTOR, SpeciesId.GYARADOS],
|
|
||||||
TrainerSlot.TRAINER,
|
|
||||||
true,
|
|
||||||
p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.setBoss(true, 2);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
getRandomPartyMemberFunc([SpeciesId.PIDGEOT], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.PIDGEOT], TrainerSlot.TRAINER, true, p => {
|
||||||
@ -3779,9 +3768,10 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
|
p.setBoss(true, 2);
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(3), // Tera Ground or Rock Rhyperior / Electric Electivire / Fire Magmortar
|
.setInstantTera(3), // Tera Ground or Rock Rhyperior / Electric Electivire
|
||||||
[TrainerType.RED]: new TrainerConfig(++t)
|
[TrainerType.RED]: new TrainerConfig(++t)
|
||||||
.initForChampion(true)
|
.initForChampion(true)
|
||||||
.setBattleBgm("battle_johto_champion")
|
.setBattleBgm("battle_johto_champion")
|
||||||
@ -3798,22 +3788,16 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.ESPEON, SpeciesId.UMBREON, SpeciesId.SYLVEON]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.MEGANIUM, SpeciesId.TYPHLOSION, SpeciesId.FERALIGATR]))
|
||||||
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.ESPEON, SpeciesId.UMBREON, SpeciesId.SYLVEON]))
|
||||||
|
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.SNORLAX]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.LUGIA], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.LUGIA], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.MEGANIUM, SpeciesId.TYPHLOSION, SpeciesId.FERALIGATR]))
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
4,
|
|
||||||
getRandomPartyMemberFunc([SpeciesId.SNORLAX], TrainerSlot.TRAINER, true, p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.setBoss(true, 2);
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
getRandomPartyMemberFunc(
|
getRandomPartyMemberFunc(
|
||||||
@ -3825,48 +3809,49 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
|
p.setBoss(true, 2);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.setInstantTera(3), // Tera Grass Meganium / Fire Typhlosion / Water Feraligatr
|
.setInstantTera(1), // Tera Grass Meganium / Fire Typhlosion / Water Feraligatr
|
||||||
[TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t)
|
[TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t)
|
||||||
.setName("Lance")
|
.setName("Lance")
|
||||||
.initForChampion(true)
|
.initForChampion(true)
|
||||||
.setBattleBgm("battle_johto_champion")
|
.setBattleBgm("battle_johto_champion")
|
||||||
.setMixedBattleBgm("battle_johto_champion")
|
.setMixedBattleBgm("battle_johto_champion")
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.GYARADOS, SpeciesId.KINGDRA]))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.GYARADOS]))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.AERODACTYL]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.AERODACTYL]))
|
||||||
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.CHARIZARD]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
3,
|
||||||
|
getRandomPartyMemberFunc(
|
||||||
|
[SpeciesId.KINGDRA, SpeciesId.TYRANITAR, SpeciesId.FLYGON],
|
||||||
|
TrainerSlot.TRAINER,
|
||||||
|
true,
|
||||||
|
p => {
|
||||||
|
p.generateAndPopulateMoveset();
|
||||||
|
p.abilityIndex = p.species.speciesId === SpeciesId.KINGDRA ? 1 : 2; // Sniper Kingdra, Unnerve Tyranitar, Levitate Flygon
|
||||||
|
},
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.setPartyMemberFunc(
|
||||||
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.SALAMENCE], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.SALAMENCE], TrainerSlot.TRAINER, true, p => {
|
||||||
p.formIndex = 1; // Mega Salamence
|
p.formIndex = 1; // Mega Salamence
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.CHARIZARD]))
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
4,
|
|
||||||
getRandomPartyMemberFunc(
|
|
||||||
[SpeciesId.TYRANITAR, SpeciesId.GARCHOMP, SpeciesId.KOMMO_O],
|
|
||||||
TrainerSlot.TRAINER,
|
|
||||||
true,
|
|
||||||
p => {
|
|
||||||
p.teraType = PokemonType.DRAGON;
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.abilityIndex = p.species.speciesId === SpeciesId.KOMMO_O ? 1 : 2; // Soundproof Kommo-o, Unnerve Tyranitar, Rough Skin Garchomp
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
getRandomPartyMemberFunc([SpeciesId.DRAGONITE], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.DRAGONITE], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
p.setBoss(true, 2);
|
p.setBoss(true, 2);
|
||||||
|
p.teraType = PokemonType.DRAGON;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(4), // Tera Dragon Tyranitar / Garchomp / Kommo-o
|
.setInstantTera(5), // Tera Dragon Dragonite
|
||||||
[TrainerType.STEVEN]: new TrainerConfig(++t)
|
[TrainerType.STEVEN]: new TrainerConfig(++t)
|
||||||
.initForChampion(true)
|
.initForChampion(true)
|
||||||
.setBattleBgm("battle_hoenn_champion_g5")
|
.setBattleBgm("battle_hoenn_champion_g5")
|
||||||
@ -3878,11 +3863,7 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.CRADILY, SpeciesId.ARMALDO]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.CRADILY, SpeciesId.ARMALDO]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
2,
|
||||||
getRandomPartyMemberFunc([SpeciesId.AGGRON], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.AGGRON]))
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.setBoss(true, 2);
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GOLURK, SpeciesId.RUNERIGUS]))
|
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GOLURK, SpeciesId.RUNERIGUS]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
4,
|
4,
|
||||||
@ -3902,6 +3883,7 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.formIndex = 1; // Mega Metagross
|
p.formIndex = 1; // Mega Metagross
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
|
p.setBoss(true, 2);
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(4), // Tera Rock Regirock / Ice Regice / Steel Registeel
|
.setInstantTera(4), // Tera Rock Regirock / Ice Regice / Steel Registeel
|
||||||
@ -3920,20 +3902,20 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.LUDICOLO]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.LUDICOLO]))
|
||||||
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.SWAMPERT, SpeciesId.GASTRODON]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
3,
|
||||||
|
getRandomPartyMemberFunc([SpeciesId.REGIELEKI, SpeciesId.REGIDRAGO], TrainerSlot.TRAINER, true, p => {
|
||||||
|
p.generateAndPopulateMoveset();
|
||||||
|
p.pokeball = PokeballType.ULTRA_BALL;
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
.setPartyMemberFunc(
|
||||||
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.LATIAS, SpeciesId.LATIOS], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.LATIAS, SpeciesId.LATIOS], TrainerSlot.TRAINER, true, p => {
|
||||||
p.formIndex = 1; // Mega Latios or Mega Latias
|
p.formIndex = 1; // Mega Latios or Mega Latias
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.SWAMPERT, SpeciesId.GASTRODON, SpeciesId.SEISMITOAD]))
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
4,
|
|
||||||
getRandomPartyMemberFunc([SpeciesId.REGIELEKI, SpeciesId.REGIDRAGO], TrainerSlot.TRAINER, true, p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.pokeball = PokeballType.ULTRA_BALL;
|
p.pokeball = PokeballType.ULTRA_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
@ -3945,22 +3927,14 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.setBoss(true, 2);
|
p.setBoss(true, 2);
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(4), // Tera Electric Regieleki / Dragon Regidrago
|
.setInstantTera(5), // Tera Water Milotic
|
||||||
[TrainerType.CYNTHIA]: new TrainerConfig(++t)
|
[TrainerType.CYNTHIA]: new TrainerConfig(++t)
|
||||||
.initForChampion(false)
|
.initForChampion(false)
|
||||||
.setBattleBgm("battle_sinnoh_champion")
|
.setBattleBgm("battle_sinnoh_champion")
|
||||||
.setMixedBattleBgm("battle_sinnoh_champion")
|
.setMixedBattleBgm("battle_sinnoh_champion")
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.SPIRITOMB]))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.SPIRITOMB]))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.LUCARIO]))
|
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
1,
|
||||||
getRandomPartyMemberFunc([SpeciesId.GIRATINA], TrainerSlot.TRAINER, true, p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
3,
|
|
||||||
getRandomPartyMemberFunc(
|
getRandomPartyMemberFunc(
|
||||||
[SpeciesId.MILOTIC, SpeciesId.ROSERADE, SpeciesId.HISUI_ARCANINE],
|
[SpeciesId.MILOTIC, SpeciesId.ROSERADE, SpeciesId.HISUI_ARCANINE],
|
||||||
TrainerSlot.TRAINER,
|
TrainerSlot.TRAINER,
|
||||||
@ -3971,11 +3945,13 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.TOGEKISS]))
|
||||||
|
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.LUCARIO]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
4,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.TOGEKISS], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.GIRATINA], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.setBoss(true, 2);
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
@ -3985,9 +3961,10 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
p.gender = Gender.FEMALE;
|
p.gender = Gender.FEMALE;
|
||||||
|
p.setBoss(true, 2);
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(3), // Tera Water Milotic / Grass Roserade / Fire Hisuian Arcanine
|
.setInstantTera(1), // Tera Water Milotic / Grass Roserade / Fire Hisuian Arcanine
|
||||||
[TrainerType.ALDER]: new TrainerConfig(++t)
|
[TrainerType.ALDER]: new TrainerConfig(++t)
|
||||||
.initForChampion(true)
|
.initForChampion(true)
|
||||||
.setHasDouble("alder_iris_double")
|
.setHasDouble("alder_iris_double")
|
||||||
@ -4010,29 +3987,18 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
2,
|
||||||
getRandomPartyMemberFunc([SpeciesId.ZEKROM], TrainerSlot.TRAINER, true, p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
3,
|
|
||||||
getRandomPartyMemberFunc([SpeciesId.KELDEO], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.KELDEO], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.ULTRA_BALL;
|
p.pokeball = PokeballType.ULTRA_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.CHANDELURE, SpeciesId.KROOKODILE, SpeciesId.REUNICLUS, SpeciesId.CONKELDURR]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
4,
|
4,
|
||||||
getRandomPartyMemberFunc(
|
getRandomPartyMemberFunc([SpeciesId.ZEKROM], TrainerSlot.TRAINER, true, p => {
|
||||||
[SpeciesId.CHANDELURE, SpeciesId.KROOKODILE, SpeciesId.REUNICLUS, SpeciesId.CONKELDURR],
|
p.generateAndPopulateMoveset();
|
||||||
TrainerSlot.TRAINER,
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
true,
|
}),
|
||||||
p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.teraType = p.species.speciesId === SpeciesId.KROOKODILE ? PokemonType.DARK : p.species.type1;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
@ -4040,9 +4006,10 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
p.setBoss(true, 2);
|
p.setBoss(true, 2);
|
||||||
|
p.teraType = PokemonType.FIRE;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(4), // Tera Ghost Chandelure / Dark Krookodile / Psychic Reuniclus / Fighting Conkeldurr
|
.setInstantTera(5), // Tera Fire Volcarona
|
||||||
[TrainerType.IRIS]: new TrainerConfig(++t)
|
[TrainerType.IRIS]: new TrainerConfig(++t)
|
||||||
.initForChampion(false)
|
.initForChampion(false)
|
||||||
.setBattleBgm("battle_champion_iris")
|
.setBattleBgm("battle_champion_iris")
|
||||||
@ -4052,33 +4019,22 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
.setDoubleTitle("champion_double")
|
.setDoubleTitle("champion_double")
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.DRUDDIGON]))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.DRUDDIGON]))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.ARCHEOPS]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.ARCHEOPS]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.AGGRON, SpeciesId.HYDREIGON, SpeciesId.ARCHALUDON]))
|
||||||
2,
|
|
||||||
getRandomPartyMemberFunc([SpeciesId.RESHIRAM], TrainerSlot.TRAINER, true, p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
3,
|
3,
|
||||||
getRandomPartyMemberFunc(
|
|
||||||
[SpeciesId.SALAMENCE, SpeciesId.HYDREIGON, SpeciesId.ARCHALUDON],
|
|
||||||
TrainerSlot.TRAINER,
|
|
||||||
true,
|
|
||||||
p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.teraType = PokemonType.DRAGON;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
4,
|
|
||||||
getRandomPartyMemberFunc([SpeciesId.LAPRAS], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.LAPRAS], TrainerSlot.TRAINER, true, p => {
|
||||||
p.formIndex = 1; // G-Max Lapras
|
p.formIndex = 1; // G-Max Lapras
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
.setPartyMemberFunc(
|
||||||
|
4,
|
||||||
|
getRandomPartyMemberFunc([SpeciesId.RESHIRAM], TrainerSlot.TRAINER, true, p => {
|
||||||
|
p.generateAndPopulateMoveset();
|
||||||
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
|
}),
|
||||||
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
getRandomPartyMemberFunc([SpeciesId.HAXORUS], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.HAXORUS], TrainerSlot.TRAINER, true, p => {
|
||||||
@ -4088,37 +4044,28 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.setBoss(true, 2);
|
p.setBoss(true, 2);
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(3), // Tera Dragon Salamence / Hydreigon / Archaludon
|
.setInstantTera(5), // Tera Dragon Haxorus
|
||||||
[TrainerType.DIANTHA]: new TrainerConfig(++t)
|
[TrainerType.DIANTHA]: new TrainerConfig(++t)
|
||||||
.initForChampion(false)
|
.initForChampion(false)
|
||||||
.setMixedBattleBgm("battle_kalos_champion")
|
.setMixedBattleBgm("battle_kalos_champion")
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
0,
|
0,
|
||||||
getRandomPartyMemberFunc([SpeciesId.HAWLUCHA], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.HAWLUCHA]))
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.TREVENANT, SpeciesId.GOURGEIST]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.TREVENANT, SpeciesId.GOURGEIST]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
2,
|
||||||
getRandomPartyMemberFunc([SpeciesId.XERNEAS], TrainerSlot.TRAINER, true, p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
3,
|
|
||||||
getRandomPartyMemberFunc([SpeciesId.TYRANTRUM, SpeciesId.AURORUS], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.TYRANTRUM, SpeciesId.AURORUS], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.abilityIndex = 2; // Rock Head Tyrantrum, Snow Warning Aurorus
|
p.abilityIndex = 2; // Rock Head Tyrantrum, Snow Warning Aurorus
|
||||||
p.teraType = p.species.type2!;
|
p.teraType = p.species.type2!;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GOODRA]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
4,
|
2,
|
||||||
getRandomPartyMemberFunc([SpeciesId.GOODRA], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.XERNEAS], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.setBoss(true, 2);
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
@ -4128,6 +4075,7 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
p.gender = Gender.FEMALE;
|
p.gender = Gender.FEMALE;
|
||||||
|
p.setBoss(true, 2);
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(3), // Tera Dragon Tyrantrum / Ice Aurorus
|
.setInstantTera(3), // Tera Dragon Tyrantrum / Ice Aurorus
|
||||||
@ -4157,17 +4105,16 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
3,
|
3,
|
||||||
getRandomPartyMemberFunc([SpeciesId.TAPU_KOKO, SpeciesId.TAPU_FINI], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.SNORLAX], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.setBoss(true, 2);
|
p.formIndex = 1; // G-Max Snorlax
|
||||||
p.pokeball = PokeballType.ULTRA_BALL;
|
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
4,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.SNORLAX], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.TAPU_KOKO, SpeciesId.TAPU_FINI], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.formIndex = 1; // G-Max Snorlax
|
p.pokeball = PokeballType.ULTRA_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
@ -4176,6 +4123,7 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
p.teraType = p.species.type2!;
|
p.teraType = p.species.type2!;
|
||||||
|
p.setBoss(true, 2);
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(5), // Tera Dark Incineroar / Fighting Hisuian Decidueye
|
.setInstantTera(5), // Tera Dark Incineroar / Fighting Hisuian Decidueye
|
||||||
@ -4186,9 +4134,9 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.NOIVERN]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.NOIVERN]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
2,
|
||||||
getRandomPartyMemberFunc([SpeciesId.SOLGALEO], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.BLACEPHALON, SpeciesId.STAKATAKA], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
p.pokeball = PokeballType.ROGUE_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
@ -4196,15 +4144,13 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
getRandomPartyMemberFunc([SpeciesId.TAPU_LELE, SpeciesId.TAPU_BULU], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.TAPU_LELE, SpeciesId.TAPU_BULU], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.ULTRA_BALL;
|
p.pokeball = PokeballType.ULTRA_BALL;
|
||||||
p.teraType = p.species.type1;
|
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
4,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.ZYGARDE], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.SOLGALEO], TrainerSlot.TRAINER, true, p => {
|
||||||
p.formIndex = 1; // Zygarde 10% forme, Aura Break
|
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.ROGUE_BALL;
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
@ -4213,34 +4159,24 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.setBoss(true, 2);
|
p.setBoss(true, 2);
|
||||||
p.gender = p.species.speciesId === SpeciesId.PRIMARINA ? Gender.FEMALE : Gender.MALE;
|
p.gender = p.species.speciesId === SpeciesId.PRIMARINA ? Gender.FEMALE : Gender.MALE;
|
||||||
|
p.teraType = p.species.speciesId === SpeciesId.PRIMARINA ? PokemonType.WATER : PokemonType.GHOST;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(3), // Tera Psychic Tapu Lele / Grass Tapu Bulu
|
.setInstantTera(5), // Tera Ghost Decidueye, Water Primarina
|
||||||
[TrainerType.LEON]: new TrainerConfig(++t)
|
[TrainerType.LEON]: new TrainerConfig(++t)
|
||||||
.initForChampion(true)
|
.initForChampion(true)
|
||||||
.setMixedBattleBgm("battle_galar_champion")
|
.setMixedBattleBgm("battle_galar_champion")
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.AEGISLASH]))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.AEGISLASH]))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.RHYPERIOR, SpeciesId.SEISMITOAD, SpeciesId.MR_RIME]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.RHYPERIOR, SpeciesId.SEISMITOAD, SpeciesId.MR_RIME]))
|
||||||
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.DRAGAPULT]))
|
||||||
|
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.RILLABOOM, SpeciesId.CINDERACE, SpeciesId.INTELEON]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.ZACIAN], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.ZACIAN], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.DRAGAPULT]))
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
4,
|
|
||||||
getRandomPartyMemberFunc(
|
|
||||||
[SpeciesId.RILLABOOM, SpeciesId.CINDERACE, SpeciesId.INTELEON],
|
|
||||||
TrainerSlot.TRAINER,
|
|
||||||
true,
|
|
||||||
p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.setBoss(true, 2);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
getRandomPartyMemberFunc([SpeciesId.CHARIZARD], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.CHARIZARD], TrainerSlot.TRAINER, true, p => {
|
||||||
@ -4248,9 +4184,10 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
|
p.setBoss(true, 2);
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(3), // Tera Dragapult to Ghost or Dragon
|
.setInstantTera(3), // Tera Grass Rillaboom, Fire Cinderace, Water Inteleon
|
||||||
[TrainerType.MUSTARD]: new TrainerConfig(++t)
|
[TrainerType.MUSTARD]: new TrainerConfig(++t)
|
||||||
.initForChampion(true)
|
.initForChampion(true)
|
||||||
.setMixedBattleBgm("battle_mustard")
|
.setMixedBattleBgm("battle_mustard")
|
||||||
@ -4273,35 +4210,36 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
getRandomPartyMemberFunc([SpeciesId.GALAR_SLOWBRO, SpeciesId.GALAR_SLOWKING], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.GALAR_SLOWBRO, SpeciesId.GALAR_SLOWKING], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.ULTRA_BALL;
|
p.pokeball = PokeballType.ULTRA_BALL;
|
||||||
p.teraType = p.species.type1;
|
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
3,
|
3,
|
||||||
getRandomPartyMemberFunc([SpeciesId.GALAR_DARMANITAN], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.BLASTOISE, SpeciesId.VENUSAUR], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.ULTRA_BALL;
|
p.pokeball = PokeballType.ULTRA_BALL;
|
||||||
|
p.formIndex = 2; // G-Max Blastoise, G-Max Venusaur
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
4,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.BLASTOISE, SpeciesId.VENUSAUR], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.ZAMAZENTA], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.setBoss(true, 2);
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
p.pokeball = PokeballType.ULTRA_BALL;
|
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
getRandomPartyMemberFunc([SpeciesId.URSHIFU], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.URSHIFU], TrainerSlot.TRAINER, true, p => {
|
||||||
p.formIndex = randSeedIntRange(2, 3); // Random G-Max Urshifu
|
p.formIndex = randSeedIntRange(0, 1); // Random Urshifu form
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.generateName();
|
p.generateName();
|
||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
p.pokeball = PokeballType.ULTRA_BALL;
|
p.pokeball = PokeballType.ULTRA_BALL;
|
||||||
|
p.setBoss(true, 2);
|
||||||
|
p.teraType = p.formIndex === 0 ? PokemonType.DARK : PokemonType.WATER;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(2), // Tera Poison Galar-Slowbro / Galar-Slowking
|
.setInstantTera(5), // Tera Dark Urshifu Single / Tera Water Urshifu Rapid
|
||||||
[TrainerType.GEETA]: new TrainerConfig(++t)
|
[TrainerType.GEETA]: new TrainerConfig(++t)
|
||||||
.initForChampion(false)
|
.initForChampion(false)
|
||||||
.setMixedBattleBgm("battle_champion_geeta")
|
.setMixedBattleBgm("battle_champion_geeta")
|
||||||
@ -4314,15 +4252,15 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.ESPATHRA, SpeciesId.VELUZA]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.ESPATHRA, SpeciesId.VELUZA]))
|
||||||
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.BAXCALIBUR]))
|
||||||
|
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.CHESNAUGHT, SpeciesId.DELPHOX, SpeciesId.GRENINJA]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.MIRAIDON], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.MIRAIDON], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.BAXCALIBUR]))
|
|
||||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.CHESNAUGHT, SpeciesId.DELPHOX, SpeciesId.GRENINJA]))
|
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
getRandomPartyMemberFunc([SpeciesId.KINGAMBIT], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.KINGAMBIT], TrainerSlot.TRAINER, true, p => {
|
||||||
@ -4347,21 +4285,15 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.PAWMOT]))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.PAWMOT]))
|
||||||
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.DUDUNSPARCE]))
|
||||||
|
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.CERULEDGE, SpeciesId.ARMAROUGE]))
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
2,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.KORAIDON], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.KORAIDON], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GHOLDENGO]))
|
|
||||||
.setPartyMemberFunc(
|
|
||||||
4,
|
|
||||||
getRandomPartyMemberFunc([SpeciesId.ARMAROUGE, SpeciesId.CERULEDGE], TrainerSlot.TRAINER, true, p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.teraType = p.species.type2!;
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
getRandomPartyMemberFunc(
|
getRandomPartyMemberFunc(
|
||||||
@ -4372,10 +4304,11 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
p.setBoss(true, 2);
|
p.setBoss(true, 2);
|
||||||
|
p.teraType = p.species.type1!;
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.setInstantTera(4), // Tera Psychic Armarouge / Ghost Ceruledge
|
.setInstantTera(5), // Tera Grass Meowscarada, Fire Skeledirge, Water Quaquaval
|
||||||
[TrainerType.KIERAN]: new TrainerConfig(++t)
|
[TrainerType.KIERAN]: new TrainerConfig(++t)
|
||||||
.initForChampion(true)
|
.initForChampion(true)
|
||||||
.setMixedBattleBgm("battle_champion_kieran")
|
.setMixedBattleBgm("battle_champion_kieran")
|
||||||
@ -4387,13 +4320,7 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
p.abilityIndex = p.species.speciesId === SpeciesId.INCINEROAR ? 2 : 0; // Intimidate Incineroar, Prankster Grimmsnarl
|
p.abilityIndex = p.species.speciesId === SpeciesId.INCINEROAR ? 2 : 0; // Intimidate Incineroar, Prankster Grimmsnarl
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.DRAGONITE]))
|
||||||
2,
|
|
||||||
getRandomPartyMemberFunc([SpeciesId.TERAPAGOS], TrainerSlot.TRAINER, true, p => {
|
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
3,
|
3,
|
||||||
getRandomPartyMemberFunc([SpeciesId.URSALUNA, SpeciesId.BLOODMOON_URSALUNA], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.URSALUNA, SpeciesId.BLOODMOON_URSALUNA], TrainerSlot.TRAINER, true, p => {
|
||||||
@ -4403,25 +4330,26 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
4,
|
4,
|
||||||
getRandomPartyMemberFunc([SpeciesId.OGERPON], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.TERAPAGOS], TrainerSlot.TRAINER, true, p => {
|
||||||
p.formIndex = randSeedInt(4); // Random Ogerpon Tera Mask
|
|
||||||
p.generateAndPopulateMoveset();
|
p.generateAndPopulateMoveset();
|
||||||
p.pokeball = PokeballType.ULTRA_BALL;
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.IVY_CUDGEL)) {
|
|
||||||
// Check if Ivy Cudgel is in the moveset, if not, replace the first move with Ivy Cudgel.
|
|
||||||
p.moveset[0] = new PokemonMove(MoveId.IVY_CUDGEL);
|
|
||||||
}
|
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(
|
.setPartyMemberFunc(
|
||||||
5,
|
5,
|
||||||
getRandomPartyMemberFunc([SpeciesId.HYDRAPPLE], TrainerSlot.TRAINER, true, p => {
|
getRandomPartyMemberFunc([SpeciesId.HYDRAPPLE], TrainerSlot.TRAINER, true, p => {
|
||||||
p.generateAndPopulateMoveset();
|
|
||||||
p.gender = Gender.MALE;
|
p.gender = Gender.MALE;
|
||||||
p.setBoss(true, 2);
|
p.setBoss(true, 2);
|
||||||
|
p.teraType = PokemonType.FIGHTING;
|
||||||
|
p.generateAndPopulateMoveset();
|
||||||
|
if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TERA_BLAST)) {
|
||||||
|
// Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast.
|
||||||
|
p.moveset[2] = new PokemonMove(MoveId.TERA_BLAST);
|
||||||
|
}
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.setInstantTera(4), // Tera Ogerpon
|
.setInstantTera(5), // Tera Fighting Hydrapple
|
||||||
|
|
||||||
|
|
||||||
[TrainerType.RIVAL]: new TrainerConfig((t = TrainerType.RIVAL))
|
[TrainerType.RIVAL]: new TrainerConfig((t = TrainerType.RIVAL))
|
||||||
.setName("Finn")
|
.setName("Finn")
|
||||||
|
Loading…
Reference in New Issue
Block a user