mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-09-23 06:53:27 +02:00
Splitting script up for Dialogue.ts and Trainer.ts
Splitting script up for Dialogue.ts and Trainer.ts to make it more manageable
This commit is contained in:
parent
89fcd5868f
commit
dd9ef7c52d
@ -2,7 +2,7 @@ import type { PartyMemberStrength } from "#enums/party-member-strength";
|
||||
import type { SpeciesId } from "#enums/species-id";
|
||||
import type { EnemyPokemon } from "#field/pokemon";
|
||||
import type { PersistentModifier } from "#modifiers/modifier";
|
||||
import type { TrainerConfig } from "#trainers/trainer-config";
|
||||
import type { TrainerConfig } from "#trainers/trainer-configs-init";
|
||||
import type { TrainerPartyTemplate } from "#trainers/trainer-party-template";
|
||||
|
||||
export type PartyTemplateFunc = () => TrainerPartyTemplate;
|
||||
|
@ -118,7 +118,7 @@ import { MusicPreference } from "#system/settings";
|
||||
import type { TrainerData } from "#system/trainer-data";
|
||||
import type { Voucher } from "#system/voucher";
|
||||
import { vouchers } from "#system/voucher";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import type { HeldModifierConfig } from "#types/held-modifier-config";
|
||||
import type { Localizable } from "#types/locales";
|
||||
import { AbilityBar } from "#ui/containers/ability-bar";
|
||||
|
@ -20,7 +20,7 @@ import type { CustomModifierSettings } from "#modifiers/modifier-type";
|
||||
import type { MysteryEncounter } from "#mystery-encounters/mystery-encounter";
|
||||
import i18next from "#plugins/i18n";
|
||||
import { MusicPreference } from "#system/settings";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import type { TurnMove } from "#types/turn-move";
|
||||
import {
|
||||
NumberHolder,
|
||||
|
1718
src/data/dialogue.ts
1718
src/data/dialogue.ts
File diff suppressed because it is too large
Load Diff
@ -19,7 +19,7 @@ import {
|
||||
import { getSpriteKeysFromSpecies } from "#mystery-encounters/encounter-pokemon-utils";
|
||||
import type { MysteryEncounter } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterBuilder } from "#mystery-encounters/mystery-encounter";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import { randSeedInt } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -44,7 +44,8 @@ import {
|
||||
HeldItemRequirement,
|
||||
TypeRequirement,
|
||||
} from "#mystery-encounters/mystery-encounter-requirements";
|
||||
import { getRandomPartyMemberFunc, trainerConfigs } from "#trainers/trainer-config";
|
||||
import { getRandomPartyMemberFunc } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import { TrainerPartyCompoundTemplate, TrainerPartyTemplate } from "#trainers/trainer-party-template";
|
||||
import { MoveInfoOverlay } from "#ui/containers/move-info-overlay";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
|
@ -43,7 +43,7 @@ import {
|
||||
import type { MysteryEncounter } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterBuilder } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterOptionBuilder } from "#mystery-encounters/mystery-encounter-option";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import { TrainerPartyCompoundTemplate, TrainerPartyTemplate } from "#trainers/trainer-party-template";
|
||||
import type { OptionSelectConfig } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import { randSeedInt, randSeedShuffle } from "#utils/common";
|
||||
|
@ -9,7 +9,7 @@ import type { EnemyPartyConfig } from "#mystery-encounters/encounter-phase-utils
|
||||
import { initBattleWithEnemyConfig, setEncounterRewards } from "#mystery-encounters/encounter-phase-utils";
|
||||
import type { MysteryEncounter } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterBuilder } from "#mystery-encounters/mystery-encounter";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import {
|
||||
TrainerPartyCompoundTemplate,
|
||||
TrainerPartyTemplate,
|
||||
|
@ -26,7 +26,7 @@ import {
|
||||
import type { MysteryEncounter } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterBuilder } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterOptionBuilder } from "#mystery-encounters/mystery-encounter-option";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import { randSeedShuffle } from "#utils/common";
|
||||
import { getPokemonSpecies } from "#utils/pokemon-utils";
|
||||
import i18next from "i18next";
|
||||
|
@ -38,7 +38,7 @@ import { MysteryEncounterOptionBuilder } from "#mystery-encounters/mystery-encou
|
||||
import i18next from "#plugins/i18n";
|
||||
import { achvs } from "#system/achv";
|
||||
import { PokemonData } from "#system/pokemon-data";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import { TrainerPartyTemplate } from "#trainers/trainer-party-template";
|
||||
import type { HeldModifierConfig } from "#types/held-modifier-config";
|
||||
import { isNullOrUndefined, NumberHolder, randSeedInt, randSeedShuffle } from "#utils/common";
|
||||
|
@ -43,8 +43,8 @@ import { showEncounterText } from "#mystery-encounters/encounter-dialogue-utils"
|
||||
import type { MysteryEncounterOption } from "#mystery-encounters/mystery-encounter-option";
|
||||
import type { Variant } from "#sprites/variant";
|
||||
import type { PokemonData } from "#system/pokemon-data";
|
||||
import type { TrainerConfig } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import type { TrainerConfig } from "#trainers/trainer-configs-init";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import type { HeldModifierConfig } from "#types/held-modifier-config";
|
||||
import type { OptionSelectConfig, OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { PartyOption, PokemonSelectFilter } from "#ui/handlers/party-ui-handler";
|
||||
|
85
src/data/trainers/dialogue-init/champion-trainers.ts
Normal file
85
src/data/trainers/dialogue-init/champion-trainers.ts
Normal file
@ -0,0 +1,85 @@
|
||||
import { TrainerType, TrainerTypeDialogue } from "#data/dialogue";
|
||||
|
||||
|
||||
export const championDialogue: TrainerTypeDialogue = {
|
||||
[TrainerType.BLUE]: {
|
||||
encounter: ["dialogue:blue.encounter.1"],
|
||||
victory: ["dialogue:blue.victory.1"],
|
||||
defeat: ["dialogue:blue.defeat.1"],
|
||||
},
|
||||
[TrainerType.RED]: {
|
||||
encounter: ["dialogue:red.encounter.1"],
|
||||
victory: ["dialogue:red.victory.1"],
|
||||
defeat: ["dialogue:red.defeat.1"],
|
||||
},
|
||||
[TrainerType.LANCE_CHAMPION]: {
|
||||
encounter: ["dialogue:lanceChampion.encounter.1"],
|
||||
victory: ["dialogue:lanceChampion.victory.1"],
|
||||
defeat: ["dialogue:lanceChampion.defeat.1"],
|
||||
},
|
||||
[TrainerType.STEVEN]: {
|
||||
encounter: ["dialogue:steven.encounter.1"],
|
||||
victory: ["dialogue:steven.victory.1"],
|
||||
defeat: ["dialogue:steven.defeat.1"],
|
||||
},
|
||||
[TrainerType.WALLACE]: {
|
||||
encounter: ["dialogue:wallace.encounter.1"],
|
||||
victory: ["dialogue:wallace.victory.1"],
|
||||
defeat: ["dialogue:wallace.defeat.1"],
|
||||
},
|
||||
[TrainerType.CYNTHIA]: {
|
||||
encounter: ["dialogue:cynthia.encounter.1"],
|
||||
victory: ["dialogue:cynthia.victory.1"],
|
||||
defeat: ["dialogue:cynthia.defeat.1"],
|
||||
},
|
||||
[TrainerType.ALDER]: {
|
||||
encounter: ["dialogue:alder.encounter.1"],
|
||||
victory: ["dialogue:alder.victory.1"],
|
||||
defeat: ["dialogue:alder.defeat.1"],
|
||||
},
|
||||
[TrainerType.IRIS]: {
|
||||
encounter: ["dialogue:iris.encounter.1"],
|
||||
victory: ["dialogue:iris.victory.1"],
|
||||
defeat: ["dialogue:iris.defeat.1"],
|
||||
},
|
||||
[TrainerType.DIANTHA]: {
|
||||
encounter: ["dialogue:diantha.encounter.1"],
|
||||
victory: ["dialogue:diantha.victory.1"],
|
||||
defeat: ["dialogue:diantha.defeat.1"],
|
||||
},
|
||||
[TrainerType.KUKUI]: {
|
||||
encounter: ["dialogue:kukui.encounter.1"],
|
||||
victory: ["dialogue:kukui.victory.1"],
|
||||
defeat: ["dialogue:kukui.defeat.1"],
|
||||
},
|
||||
[TrainerType.HAU]: {
|
||||
encounter: ["dialogue:hau.encounter.1"],
|
||||
victory: ["dialogue:hau.victory.1"],
|
||||
defeat: ["dialogue:hau.defeat.1"],
|
||||
},
|
||||
[TrainerType.LEON]: {
|
||||
encounter: ["dialogue:leon.encounter.1"],
|
||||
victory: ["dialogue:leon.victory.1"],
|
||||
defeat: ["dialogue:leon.defeat.1"],
|
||||
},
|
||||
[TrainerType.MUSTARD]: {
|
||||
encounter: ["dialogue:mustard.encounter.1"],
|
||||
victory: ["dialogue:mustard.victory.1"],
|
||||
defeat: ["dialogue:mustard.defeat.1"],
|
||||
},
|
||||
[TrainerType.GEETA]: {
|
||||
encounter: ["dialogue:geeta.encounter.1"],
|
||||
victory: ["dialogue:geeta.victory.1"],
|
||||
defeat: ["dialogue:geeta.defeat.1"],
|
||||
},
|
||||
[TrainerType.NEMONA]: {
|
||||
encounter: ["dialogue:nemona.encounter.1"],
|
||||
victory: ["dialogue:nemona.victory.1"],
|
||||
defeat: ["dialogue:nemona.defeat.1"],
|
||||
},
|
||||
[TrainerType.KIERAN]: {
|
||||
encounter: ["dialogue:kieran.encounter.1"],
|
||||
victory: ["dialogue:kieran.victory.1"],
|
||||
defeat: ["dialogue:kieran.defeat.1"],
|
||||
},
|
||||
}
|
223
src/data/trainers/dialogue-init/elite-four-trainers.ts
Normal file
223
src/data/trainers/dialogue-init/elite-four-trainers.ts
Normal file
@ -0,0 +1,223 @@
|
||||
import { TrainerType, TrainerTypeDialogue } from "#data/dialogue";
|
||||
|
||||
|
||||
export const eliteFourDialogue : TrainerTypeDialogue = {
|
||||
// Kanto Elite Four
|
||||
[TrainerType.LORELEI]: {
|
||||
encounter: ["dialogue:lorelei.encounter.1"],
|
||||
victory: ["dialogue:lorelei.victory.1"],
|
||||
defeat: ["dialogue:lorelei.defeat.1"],
|
||||
},
|
||||
[TrainerType.BRUNO]: {
|
||||
encounter: ["dialogue:bruno.encounter.1"],
|
||||
victory: ["dialogue:bruno.victory.1"],
|
||||
defeat: ["dialogue:bruno.defeat.1"],
|
||||
},
|
||||
[TrainerType.AGATHA]: {
|
||||
encounter: ["dialogue:agatha.encounter.1"],
|
||||
victory: ["dialogue:agatha.victory.1"],
|
||||
defeat: ["dialogue:agatha.defeat.1"],
|
||||
},
|
||||
[TrainerType.LANCE]: {
|
||||
encounter: ["dialogue:lance.encounter.1", "dialogue:lance.encounter.2"],
|
||||
victory: ["dialogue:lance.victory.1", "dialogue:lance.victory.2"],
|
||||
defeat: ["dialogue:lance.defeat.1", "dialogue:lance.defeat.2"],
|
||||
},
|
||||
// Johto Elite Four
|
||||
[TrainerType.WILL]: {
|
||||
encounter: ["dialogue:will.encounter.1"],
|
||||
victory: ["dialogue:will.victory.1"],
|
||||
defeat: ["dialogue:will.defeat.1"],
|
||||
},
|
||||
[TrainerType.KOGA]: {
|
||||
encounter: ["dialogue:koga.encounter.1"],
|
||||
victory: ["dialogue:koga.victory.1"],
|
||||
defeat: ["dialogue:koga.defeat.1"],
|
||||
},
|
||||
[TrainerType.KAREN]: {
|
||||
encounter: ["dialogue:karen.encounter.1", "dialogue:karen.encounter.2", "dialogue:karen.encounter.3"],
|
||||
victory: ["dialogue:karen.victory.1", "dialogue:karen.victory.2", "dialogue:karen.victory.3"],
|
||||
defeat: ["dialogue:karen.defeat.1", "dialogue:karen.defeat.2", "dialogue:karen.defeat.3"],
|
||||
},
|
||||
// Hoenn Elite Four
|
||||
[TrainerType.SIDNEY]: {
|
||||
encounter: ["dialogue:sidney.encounter.1"],
|
||||
victory: ["dialogue:sidney.victory.1"],
|
||||
defeat: ["dialogue:sidney.defeat.1"],
|
||||
},
|
||||
[TrainerType.PHOEBE]: {
|
||||
encounter: ["dialogue:phoebe.encounter.1"],
|
||||
victory: ["dialogue:phoebe.victory.1"],
|
||||
defeat: ["dialogue:phoebe.defeat.1"],
|
||||
},
|
||||
[TrainerType.GLACIA]: {
|
||||
encounter: ["dialogue:glacia.encounter.1"],
|
||||
victory: ["dialogue:glacia.victory.1"],
|
||||
defeat: ["dialogue:glacia.defeat.1"],
|
||||
},
|
||||
[TrainerType.DRAKE]: {
|
||||
encounter: ["dialogue:drake.encounter.1"],
|
||||
victory: ["dialogue:drake.victory.1"],
|
||||
defeat: ["dialogue:drake.defeat.1"],
|
||||
},
|
||||
// Sinnoh Elite Four
|
||||
[TrainerType.AARON]: {
|
||||
encounter: ["dialogue:aaron.encounter.1"],
|
||||
victory: ["dialogue:aaron.victory.1"],
|
||||
defeat: ["dialogue:aaron.defeat.1"],
|
||||
},
|
||||
[TrainerType.BERTHA]: {
|
||||
encounter: ["dialogue:bertha.encounter.1"],
|
||||
victory: ["dialogue:bertha.victory.1"],
|
||||
defeat: ["dialogue:bertha.defeat.1"],
|
||||
},
|
||||
[TrainerType.FLINT]: {
|
||||
encounter: ["dialogue:flint.encounter.1"],
|
||||
victory: ["dialogue:flint.victory.1"],
|
||||
defeat: ["dialogue:flint.defeat.1"],
|
||||
},
|
||||
[TrainerType.LUCIAN]: {
|
||||
encounter: ["dialogue:lucian.encounter.1"],
|
||||
victory: ["dialogue:lucian.victory.1"],
|
||||
defeat: ["dialogue:lucian.defeat.1"],
|
||||
},
|
||||
|
||||
// Unova Elite Four
|
||||
[TrainerType.SHAUNTAL]: {
|
||||
encounter: ["dialogue:shauntal.encounter.1", "dialogue:shauntal.encounter.2", "dialogue:shauntal.encounter.3"],
|
||||
victory: ["dialogue:shauntal.victory.1", "dialogue:shauntal.victory.2", "dialogue:shauntal.victory.3"],
|
||||
defeat: ["dialogue:shauntal.defeat.1", "dialogue:shauntal.defeat.2", "dialogue:shauntal.defeat.3"],
|
||||
},
|
||||
[TrainerType.MARSHAL]: {
|
||||
encounter: ["dialogue:marshal.encounter.1", "dialogue:marshal.encounter.2", "dialogue:marshal.encounter.3"],
|
||||
victory: ["dialogue:marshal.victory.1", "dialogue:marshal.victory.2", "dialogue:marshal.victory.3"],
|
||||
defeat: ["dialogue:marshal.defeat.1", "dialogue:marshal.defeat.2", "dialogue:marshal.defeat.3"],
|
||||
},
|
||||
[TrainerType.GRIMSLEY]: {
|
||||
encounter: ["dialogue:grimsley.encounter.1"],
|
||||
victory: ["dialogue:grimsley.victory.1"],
|
||||
defeat: ["dialogue:grimsley.defeat.1"],
|
||||
},
|
||||
[TrainerType.CAITLIN]: {
|
||||
encounter: ["dialogue:caitlin.encounter.1"],
|
||||
victory: ["dialogue:caitlin.victory.1"],
|
||||
defeat: ["dialogue:caitlin.defeat.1"],
|
||||
},
|
||||
|
||||
// Kalos Elite Four
|
||||
|
||||
[TrainerType.MALVA]: {
|
||||
encounter: ["dialogue:malva.encounter.1"],
|
||||
victory: ["dialogue:malva.victory.1"],
|
||||
defeat: ["dialogue:malva.defeat.1"],
|
||||
},
|
||||
[TrainerType.SIEBOLD]: {
|
||||
encounter: ["dialogue:siebold.encounter.1"],
|
||||
victory: ["dialogue:siebold.victory.1"],
|
||||
defeat: ["dialogue:siebold.defeat.1"],
|
||||
},
|
||||
[TrainerType.WIKSTROM]: {
|
||||
encounter: ["dialogue:wikstrom.encounter.1"],
|
||||
victory: ["dialogue:wikstrom.victory.1"],
|
||||
defeat: ["dialogue:wikstrom.defeat.1"],
|
||||
},
|
||||
[TrainerType.DRASNA]: {
|
||||
encounter: ["dialogue:drasna.encounter.1"],
|
||||
victory: ["dialogue:drasna.victory.1"],
|
||||
defeat: ["dialogue:drasna.defeat.1"],
|
||||
},
|
||||
// Alola Elite Four
|
||||
|
||||
[TrainerType.HALA]: {
|
||||
encounter: ["dialogue:hala.encounter.1"],
|
||||
victory: ["dialogue:hala.victory.1"],
|
||||
defeat: ["dialogue:hala.defeat.1"],
|
||||
},
|
||||
[TrainerType.MOLAYNE]: {
|
||||
encounter: ["dialogue:molayne.encounter.1"],
|
||||
victory: ["dialogue:molayne.victory.1"],
|
||||
defeat: ["dialogue:molayne.defeat.1"],
|
||||
},
|
||||
[TrainerType.OLIVIA]: {
|
||||
encounter: ["dialogue:olivia.encounter.1"],
|
||||
victory: ["dialogue:olivia.victory.1"],
|
||||
defeat: ["dialogue:olivia.defeat.1"],
|
||||
},
|
||||
[TrainerType.ACEROLA]: {
|
||||
encounter: ["dialogue:acerola.encounter.1"],
|
||||
victory: ["dialogue:acerola.victory.1"],
|
||||
defeat: ["dialogue:acerola.defeat.1"],
|
||||
},
|
||||
[TrainerType.KAHILI]: {
|
||||
encounter: ["dialogue:kahili.encounter.1"],
|
||||
victory: ["dialogue:kahili.victory.1"],
|
||||
defeat: ["dialogue:kahili.defeat.1"],
|
||||
},
|
||||
// Galar Elite Four
|
||||
[TrainerType.MARNIE_ELITE]: {
|
||||
encounter: ["dialogue:marnieElite.encounter.1", "dialogue:marnieElite.encounter.2"],
|
||||
victory: ["dialogue:marnieElite.victory.1", "dialogue:marnieElite.victory.2"],
|
||||
defeat: ["dialogue:marnieElite.defeat.1", "dialogue:marnieElite.defeat.2"],
|
||||
},
|
||||
[TrainerType.NESSA_ELITE]: {
|
||||
encounter: ["dialogue:nessaElite.encounter.1", "dialogue:nessaElite.encounter.2"],
|
||||
victory: ["dialogue:nessaElite.victory.1", "dialogue:nessaElite.victory.2"],
|
||||
defeat: ["dialogue:nessaElite.defeat.1", "dialogue:nessaElite.defeat.2"],
|
||||
},
|
||||
[TrainerType.BEA_ELITE]: {
|
||||
encounter: ["dialogue:beaElite.encounter.1", "dialogue:beaElite.encounter.2"],
|
||||
victory: ["dialogue:beaElite.victory.1", "dialogue:beaElite.victory.2"],
|
||||
defeat: ["dialogue:beaElite.defeat.1", "dialogue:beaElite.defeat.2"],
|
||||
},
|
||||
[TrainerType.ALLISTER_ELITE]: {
|
||||
encounter: ["dialogue:allisterElite.encounter.1", "dialogue:allisterElite.encounter.2"],
|
||||
victory: ["dialogue:allisterElite.victory.1", "dialogue:allisterElite.victory.2"],
|
||||
defeat: ["dialogue:allisterElite.defeat.1", "dialogue:allisterElite.defeat.2"],
|
||||
},
|
||||
[TrainerType.RAIHAN_ELITE]: {
|
||||
encounter: ["dialogue:raihanElite.encounter.1", "dialogue:raihanElite.encounter.2"],
|
||||
victory: ["dialogue:raihanElite.victory.1", "dialogue:raihanElite.victory.2"],
|
||||
defeat: ["dialogue:raihanElite.defeat.1", "dialogue:raihanElite.defeat.2"],
|
||||
},
|
||||
// Paldea Elite Four
|
||||
[TrainerType.RIKA]: {
|
||||
encounter: ["dialogue:rika.encounter.1"],
|
||||
victory: ["dialogue:rika.victory.1"],
|
||||
defeat: ["dialogue:rika.defeat.1"],
|
||||
},
|
||||
[TrainerType.POPPY]: {
|
||||
encounter: ["dialogue:poppy.encounter.1"],
|
||||
victory: ["dialogue:poppy.victory.1"],
|
||||
defeat: ["dialogue:poppy.defeat.1"],
|
||||
},
|
||||
[TrainerType.LARRY_ELITE]: {
|
||||
encounter: ["dialogue:larryElite.encounter.1"],
|
||||
victory: ["dialogue:larryElite.victory.1"],
|
||||
defeat: ["dialogue:larryElite.defeat.1"],
|
||||
},
|
||||
[TrainerType.HASSEL]: {
|
||||
encounter: ["dialogue:hassel.encounter.1"],
|
||||
victory: ["dialogue:hassel.victory.1"],
|
||||
defeat: ["dialogue:hassel.defeat.1"],
|
||||
},
|
||||
[TrainerType.CRISPIN]: {
|
||||
encounter: ["dialogue:crispin.encounter.1", "dialogue:crispin.encounter.2"],
|
||||
victory: ["dialogue:crispin.victory.1", "dialogue:crispin.victory.2"],
|
||||
defeat: ["dialogue:crispin.defeat.1", "dialogue:crispin.defeat.2"],
|
||||
},
|
||||
[TrainerType.AMARYS]: {
|
||||
encounter: ["dialogue:amarys.encounter.1"],
|
||||
victory: ["dialogue:amarys.victory.1"],
|
||||
defeat: ["dialogue:amarys.defeat.1"],
|
||||
},
|
||||
[TrainerType.LACEY]: {
|
||||
encounter: ["dialogue:lacey.encounter.1"],
|
||||
victory: ["dialogue:lacey.victory.1"],
|
||||
defeat: ["dialogue:lacey.defeat.1"],
|
||||
},
|
||||
[TrainerType.DRAYTON]: {
|
||||
encounter: ["dialogue:drayton.encounter.1"],
|
||||
victory: ["dialogue:drayton.victory.1"],
|
||||
defeat: ["dialogue:drayton.defeat.1"],
|
||||
},
|
||||
}
|
@ -0,0 +1,143 @@
|
||||
import { TrainerTypeDialogue } from "#data/dialogue";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
|
||||
export const evilAdminDialogue: TrainerTypeDialogue = {
|
||||
[TrainerType.ARCHER]: [
|
||||
{
|
||||
encounter: ["dialogue:archer.encounter.1", "dialogue:archer.encounter.2", "dialogue:archer.encounter.3"],
|
||||
victory: ["dialogue:archer.victory.1", "dialogue:archer.victory.2", "dialogue:archer.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ARIANA]: [
|
||||
{
|
||||
encounter: ["dialogue:ariana.encounter.1", "dialogue:ariana.encounter.2", "dialogue:ariana.encounter.3"],
|
||||
victory: ["dialogue:ariana.victory.1", "dialogue:ariana.victory.2", "dialogue:ariana.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.PROTON]: [
|
||||
{
|
||||
encounter: ["dialogue:proton.encounter.1", "dialogue:proton.encounter.2", "dialogue:proton.encounter.3"],
|
||||
victory: ["dialogue:proton.victory.1", "dialogue:proton.victory.2", "dialogue:proton.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.PETREL]: [
|
||||
{
|
||||
encounter: ["dialogue:petrel.encounter.1", "dialogue:petrel.encounter.2", "dialogue:petrel.encounter.3"],
|
||||
victory: ["dialogue:petrel.victory.1", "dialogue:petrel.victory.2", "dialogue:petrel.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.TABITHA]: [
|
||||
{
|
||||
encounter: ["dialogue:tabitha.encounter.1", "dialogue:tabitha.encounter.2", "dialogue:tabitha.encounter.3"],
|
||||
victory: ["dialogue:tabitha.victory.1", "dialogue:tabitha.victory.2", "dialogue:tabitha.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.COURTNEY]: [
|
||||
{
|
||||
encounter: ["dialogue:courtney.encounter.1", "dialogue:courtney.encounter.2", "dialogue:courtney.encounter.3"],
|
||||
victory: ["dialogue:courtney.victory.1", "dialogue:courtney.victory.2", "dialogue:courtney.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.MATT]: [
|
||||
{
|
||||
encounter: ["dialogue:matt.encounter.1", "dialogue:matt.encounter.2", "dialogue:matt.encounter.3"],
|
||||
victory: ["dialogue:matt.victory.1", "dialogue:matt.victory.2", "dialogue:matt.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.SHELLY]: [
|
||||
{
|
||||
encounter: ["dialogue:shelly.encounter.1", "dialogue:shelly.encounter.2", "dialogue:shelly.encounter.3"],
|
||||
victory: ["dialogue:shelly.victory.1", "dialogue:shelly.victory.2", "dialogue:shelly.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.JUPITER]: [
|
||||
{
|
||||
encounter: ["dialogue:jupiter.encounter.1", "dialogue:jupiter.encounter.2", "dialogue:jupiter.encounter.3"],
|
||||
victory: ["dialogue:jupiter.victory.1", "dialogue:jupiter.victory.2", "dialogue:jupiter.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.MARS]: [
|
||||
{
|
||||
encounter: ["dialogue:mars.encounter.1", "dialogue:mars.encounter.2", "dialogue:mars.encounter.3"],
|
||||
victory: ["dialogue:mars.victory.1", "dialogue:mars.victory.2", "dialogue:mars.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.SATURN]: [
|
||||
{
|
||||
encounter: ["dialogue:saturn.encounter.1", "dialogue:saturn.encounter.2", "dialogue:saturn.encounter.3"],
|
||||
victory: ["dialogue:saturn.victory.1", "dialogue:saturn.victory.2", "dialogue:saturn.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ZINZOLIN]: [
|
||||
{
|
||||
encounter: ["dialogue:zinzolin.encounter.1", "dialogue:zinzolin.encounter.2", "dialogue:zinzolin.encounter.3"],
|
||||
victory: ["dialogue:zinzolin.victory.1", "dialogue:zinzolin.victory.2", "dialogue:zinzolin.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.COLRESS]: [
|
||||
{
|
||||
encounter: ["dialogue:colress.encounter.1", "dialogue:colress.encounter.2", "dialogue:colress.encounter.3"],
|
||||
victory: ["dialogue:colress.victory.1", "dialogue:colress.victory.2", "dialogue:colress.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.BRYONY]: [
|
||||
{
|
||||
encounter: ["dialogue:bryony.encounter.1", "dialogue:bryony.encounter.2", "dialogue:bryony.encounter.3"],
|
||||
victory: ["dialogue:bryony.victory.1", "dialogue:bryony.victory.2", "dialogue:bryony.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.XEROSIC]: [
|
||||
{
|
||||
encounter: ["dialogue:xerosic.encounter.1", "dialogue:xerosic.encounter.2", "dialogue:xerosic.encounter.3"],
|
||||
victory: ["dialogue:xerosic.victory.1", "dialogue:xerosic.victory.2", "dialogue:xerosic.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.FABA]: [
|
||||
{
|
||||
encounter: ["dialogue:faba.encounter.1", "dialogue:faba.encounter.2", "dialogue:faba.encounter.3"],
|
||||
victory: ["dialogue:faba.victory.1", "dialogue:faba.victory.2", "dialogue:faba.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.PLUMERIA]: [
|
||||
{
|
||||
encounter: ["dialogue:plumeria.encounter.1", "dialogue:plumeria.encounter.2", "dialogue:plumeria.encounter.3"],
|
||||
victory: ["dialogue:plumeria.victory.1", "dialogue:plumeria.victory.2", "dialogue:plumeria.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.OLEANA]: [
|
||||
{
|
||||
encounter: ["dialogue:oleana.encounter.1", "dialogue:oleana.encounter.2", "dialogue:oleana.encounter.3"],
|
||||
victory: ["dialogue:oleana.victory.1", "dialogue:oleana.victory.2", "dialogue:oleana.victory.3"],
|
||||
},
|
||||
],
|
||||
[TrainerType.GIACOMO]: [
|
||||
{
|
||||
encounter: ["dialogue:giacomo.encounter.1", "dialogue:giacomo.encounter.2"],
|
||||
victory: ["dialogue:giacomo.victory.1", "dialogue:giacomo.victory.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.MELA]: [
|
||||
{
|
||||
encounter: ["dialogue:mela.encounter.1", "dialogue:mela.encounter.2"],
|
||||
victory: ["dialogue:mela.victory.1", "dialogue:mela.victory.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ATTICUS]: [
|
||||
{
|
||||
encounter: ["dialogue:atticus.encounter.1", "dialogue:atticus.encounter.2"],
|
||||
victory: ["dialogue:atticus.victory.1", "dialogue:atticus.victory.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ORTEGA]: [
|
||||
{
|
||||
encounter: ["dialogue:ortega.encounter.1", "dialogue:ortega.encounter.2"],
|
||||
victory: ["dialogue:ortega.victory.1", "dialogue:ortega.victory.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ERI]: [
|
||||
{
|
||||
encounter: ["dialogue:eri.encounter.1", "dialogue:eri.encounter.2"],
|
||||
victory: ["dialogue:eri.victory.1", "dialogue:eri.victory.2"],
|
||||
},
|
||||
],
|
||||
}
|
@ -0,0 +1,186 @@
|
||||
import { TrainerTypeDialogue } from "#data/dialogue";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
|
||||
|
||||
export const evilGruntsDialogue: TrainerTypeDialogue = {
|
||||
[TrainerType.ROCKET_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:rocketGrunt.encounter.1",
|
||||
"dialogue:rocketGrunt.encounter.2",
|
||||
"dialogue:rocketGrunt.encounter.3",
|
||||
"dialogue:rocketGrunt.encounter.4",
|
||||
"dialogue:rocketGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:rocketGrunt.victory.1",
|
||||
"dialogue:rocketGrunt.victory.2",
|
||||
"dialogue:rocketGrunt.victory.3",
|
||||
"dialogue:rocketGrunt.victory.4",
|
||||
"dialogue:rocketGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.MAGMA_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:magmaGrunt.encounter.1",
|
||||
"dialogue:magmaGrunt.encounter.2",
|
||||
"dialogue:magmaGrunt.encounter.3",
|
||||
"dialogue:magmaGrunt.encounter.4",
|
||||
"dialogue:magmaGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:magmaGrunt.victory.1",
|
||||
"dialogue:magmaGrunt.victory.2",
|
||||
"dialogue:magmaGrunt.victory.3",
|
||||
"dialogue:magmaGrunt.victory.4",
|
||||
"dialogue:magmaGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.AQUA_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:aquaGrunt.encounter.1",
|
||||
"dialogue:aquaGrunt.encounter.2",
|
||||
"dialogue:aquaGrunt.encounter.3",
|
||||
"dialogue:aquaGrunt.encounter.4",
|
||||
"dialogue:aquaGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:aquaGrunt.victory.1",
|
||||
"dialogue:aquaGrunt.victory.2",
|
||||
"dialogue:aquaGrunt.victory.3",
|
||||
"dialogue:aquaGrunt.victory.4",
|
||||
"dialogue:aquaGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.GALACTIC_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:galacticGrunt.encounter.1",
|
||||
"dialogue:galacticGrunt.encounter.2",
|
||||
"dialogue:galacticGrunt.encounter.3",
|
||||
"dialogue:galacticGrunt.encounter.4",
|
||||
"dialogue:galacticGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:galacticGrunt.victory.1",
|
||||
"dialogue:galacticGrunt.victory.2",
|
||||
"dialogue:galacticGrunt.victory.3",
|
||||
"dialogue:galacticGrunt.victory.4",
|
||||
"dialogue:galacticGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.PLASMA_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:plasmaGrunt.encounter.1",
|
||||
"dialogue:plasmaGrunt.encounter.2",
|
||||
"dialogue:plasmaGrunt.encounter.3",
|
||||
"dialogue:plasmaGrunt.encounter.4",
|
||||
"dialogue:plasmaGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:plasmaGrunt.victory.1",
|
||||
"dialogue:plasmaGrunt.victory.2",
|
||||
"dialogue:plasmaGrunt.victory.3",
|
||||
"dialogue:plasmaGrunt.victory.4",
|
||||
"dialogue:plasmaGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.FLARE_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:flareGrunt.encounter.1",
|
||||
"dialogue:flareGrunt.encounter.2",
|
||||
"dialogue:flareGrunt.encounter.3",
|
||||
"dialogue:flareGrunt.encounter.4",
|
||||
"dialogue:flareGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:flareGrunt.victory.1",
|
||||
"dialogue:flareGrunt.victory.2",
|
||||
"dialogue:flareGrunt.victory.3",
|
||||
"dialogue:flareGrunt.victory.4",
|
||||
"dialogue:flareGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.AETHER_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:aetherGrunt.encounter.1",
|
||||
"dialogue:aetherGrunt.encounter.2",
|
||||
"dialogue:aetherGrunt.encounter.3",
|
||||
"dialogue:aetherGrunt.encounter.4",
|
||||
"dialogue:aetherGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:aetherGrunt.victory.1",
|
||||
"dialogue:aetherGrunt.victory.2",
|
||||
"dialogue:aetherGrunt.victory.3",
|
||||
"dialogue:aetherGrunt.victory.4",
|
||||
"dialogue:aetherGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.SKULL_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:skullGrunt.encounter.1",
|
||||
"dialogue:skullGrunt.encounter.2",
|
||||
"dialogue:skullGrunt.encounter.3",
|
||||
"dialogue:skullGrunt.encounter.4",
|
||||
"dialogue:skullGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:skullGrunt.victory.1",
|
||||
"dialogue:skullGrunt.victory.2",
|
||||
"dialogue:skullGrunt.victory.3",
|
||||
"dialogue:skullGrunt.victory.4",
|
||||
"dialogue:skullGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.MACRO_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:macroGrunt.encounter.1",
|
||||
"dialogue:macroGrunt.encounter.2",
|
||||
"dialogue:macroGrunt.encounter.3",
|
||||
"dialogue:macroGrunt.encounter.4",
|
||||
"dialogue:macroGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:macroGrunt.victory.1",
|
||||
"dialogue:macroGrunt.victory.2",
|
||||
"dialogue:macroGrunt.victory.3",
|
||||
"dialogue:macroGrunt.victory.4",
|
||||
"dialogue:macroGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.STAR_GRUNT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:starGrunt.encounter.1",
|
||||
"dialogue:starGrunt.encounter.2",
|
||||
"dialogue:starGrunt.encounter.3",
|
||||
"dialogue:starGrunt.encounter.4",
|
||||
"dialogue:starGrunt.encounter.5",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:starGrunt.victory.1",
|
||||
"dialogue:starGrunt.victory.2",
|
||||
"dialogue:starGrunt.victory.3",
|
||||
"dialogue:starGrunt.victory.4",
|
||||
"dialogue:starGrunt.victory.5",
|
||||
],
|
||||
},
|
||||
],
|
||||
}
|
@ -0,0 +1,146 @@
|
||||
import { TrainerTypeDialogue } from "#data/dialogue";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
|
||||
|
||||
export const evilLeaderDialogue: TrainerTypeDialogue = {
|
||||
[TrainerType.ROCKET_BOSS_GIOVANNI_1]: [
|
||||
{
|
||||
encounter: ["dialogue:rocketBossGiovanni1.encounter.1"],
|
||||
victory: ["dialogue:rocketBossGiovanni1.victory.1"],
|
||||
defeat: ["dialogue:rocketBossGiovanni1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ROCKET_BOSS_GIOVANNI_2]: [
|
||||
{
|
||||
encounter: ["dialogue:rocketBossGiovanni2.encounter.1"],
|
||||
victory: ["dialogue:rocketBossGiovanni2.victory.1"],
|
||||
defeat: ["dialogue:rocketBossGiovanni2.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.MAXIE]: [
|
||||
{
|
||||
encounter: ["dialogue:magmaBossMaxie1.encounter.1"],
|
||||
victory: ["dialogue:magmaBossMaxie1.victory.1"],
|
||||
defeat: ["dialogue:magmaBossMaxie1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.MAXIE_2]: [
|
||||
{
|
||||
encounter: ["dialogue:magmaBossMaxie2.encounter.1"],
|
||||
victory: ["dialogue:magmaBossMaxie2.victory.1"],
|
||||
defeat: ["dialogue:magmaBossMaxie2.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ARCHIE]: [
|
||||
{
|
||||
encounter: ["dialogue:aquaBossArchie1.encounter.1"],
|
||||
victory: ["dialogue:aquaBossArchie1.victory.1"],
|
||||
defeat: ["dialogue:aquaBossArchie1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ARCHIE_2]: [
|
||||
{
|
||||
encounter: ["dialogue:aquaBossArchie2.encounter.1"],
|
||||
victory: ["dialogue:aquaBossArchie2.victory.1"],
|
||||
defeat: ["dialogue:aquaBossArchie2.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.CYRUS]: [
|
||||
{
|
||||
encounter: ["dialogue:galacticBossCyrus1.encounter.1"],
|
||||
victory: ["dialogue:galacticBossCyrus1.victory.1"],
|
||||
defeat: ["dialogue:galacticBossCyrus1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.CYRUS_2]: [
|
||||
{
|
||||
encounter: ["dialogue:galacticBossCyrus2.encounter.1"],
|
||||
victory: ["dialogue:galacticBossCyrus2.victory.1"],
|
||||
defeat: ["dialogue:galacticBossCyrus2.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.GHETSIS]: [
|
||||
{
|
||||
encounter: ["dialogue:plasmaBossGhetsis1.encounter.1"],
|
||||
victory: ["dialogue:plasmaBossGhetsis1.victory.1"],
|
||||
defeat: ["dialogue:plasmaBossGhetsis1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.GHETSIS_2]: [
|
||||
{
|
||||
encounter: ["dialogue:plasmaBossGhetsis2.encounter.1"],
|
||||
victory: ["dialogue:plasmaBossGhetsis2.victory.1"],
|
||||
defeat: ["dialogue:plasmaBossGhetsis2.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.LYSANDRE]: [
|
||||
{
|
||||
encounter: ["dialogue:flareBossLysandre1.encounter.1"],
|
||||
victory: ["dialogue:flareBossLysandre1.victory.1"],
|
||||
defeat: ["dialogue:flareBossLysandre1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.LYSANDRE_2]: [
|
||||
{
|
||||
encounter: ["dialogue:flareBossLysandre2.encounter.1"],
|
||||
victory: ["dialogue:flareBossLysandre2.victory.1"],
|
||||
defeat: ["dialogue:flareBossLysandre2.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.LUSAMINE]: [
|
||||
{
|
||||
encounter: ["dialogue:aetherBossLusamine1.encounter.1"],
|
||||
victory: ["dialogue:aetherBossLusamine1.victory.1"],
|
||||
defeat: ["dialogue:aetherBossLusamine1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.LUSAMINE_2]: [
|
||||
{
|
||||
encounter: ["dialogue:aetherBossLusamine2.encounter.1"],
|
||||
victory: ["dialogue:aetherBossLusamine2.victory.1"],
|
||||
defeat: ["dialogue:aetherBossLusamine2.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.GUZMA]: [
|
||||
{
|
||||
encounter: ["dialogue:skullBossGuzma1.encounter.1"],
|
||||
victory: ["dialogue:skullBossGuzma1.victory.1"],
|
||||
defeat: ["dialogue:skullBossGuzma1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.GUZMA_2]: [
|
||||
{
|
||||
encounter: ["dialogue:skullBossGuzma2.encounter.1"],
|
||||
victory: ["dialogue:skullBossGuzma2.victory.1"],
|
||||
defeat: ["dialogue:skullBossGuzma2.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ROSE]: [
|
||||
{
|
||||
encounter: ["dialogue:macroBossRose1.encounter.1"],
|
||||
victory: ["dialogue:macroBossRose1.victory.1"],
|
||||
defeat: ["dialogue:macroBossRose1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ROSE_2]: [
|
||||
{
|
||||
encounter: ["dialogue:macroBossRose2.encounter.1"],
|
||||
victory: ["dialogue:macroBossRose2.victory.1"],
|
||||
defeat: ["dialogue:macroBossRose2.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.PENNY]: [
|
||||
{
|
||||
encounter: ["dialogue:starBossPenny1.encounter.1"],
|
||||
victory: ["dialogue:starBossPenny1.victory.1"],
|
||||
defeat: ["dialogue:starBossPenny1.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.PENNY_2]: [
|
||||
{
|
||||
encounter: ["dialogue:starBossPenny2.encounter.1"],
|
||||
victory: ["dialogue:starBossPenny2.victory.1"],
|
||||
defeat: ["dialogue:starBossPenny2.defeat.1"],
|
||||
},
|
||||
],
|
||||
}
|
439
src/data/trainers/dialogue-init/gym-trainers.ts
Normal file
439
src/data/trainers/dialogue-init/gym-trainers.ts
Normal file
@ -0,0 +1,439 @@
|
||||
import { TrainerTypeDialogue } from "#data/dialogue";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
|
||||
export const gymLeaderDialogue : TrainerTypeDialogue = {
|
||||
// Kanto Gym Leaders
|
||||
[TrainerType.BROCK]: {
|
||||
encounter: ["dialogue:brock.encounter.1", "dialogue:brock.encounter.2", "dialogue:brock.encounter.3"],
|
||||
victory: ["dialogue:brock.victory.1", "dialogue:brock.victory.2", "dialogue:brock.victory.3"],
|
||||
defeat: ["dialogue:brock.defeat.1", "dialogue:brock.defeat.2", "dialogue:brock.defeat.3"],
|
||||
},
|
||||
[TrainerType.MISTY]: {
|
||||
encounter: ["dialogue:misty.encounter.1", "dialogue:misty.encounter.2", "dialogue:misty.encounter.3"],
|
||||
victory: ["dialogue:misty.victory.1", "dialogue:misty.victory.2", "dialogue:misty.victory.3"],
|
||||
defeat: ["dialogue:misty.defeat.1", "dialogue:misty.defeat.2", "dialogue:misty.defeat.3"],
|
||||
},
|
||||
[TrainerType.LT_SURGE]: {
|
||||
encounter: ["dialogue:ltSurge.encounter.1", "dialogue:ltSurge.encounter.2", "dialogue:ltSurge.encounter.3"],
|
||||
victory: ["dialogue:ltSurge.victory.1", "dialogue:ltSurge.victory.2", "dialogue:ltSurge.victory.3"],
|
||||
defeat: ["dialogue:ltSurge.defeat.1", "dialogue:ltSurge.defeat.2", "dialogue:ltSurge.defeat.3"],
|
||||
},
|
||||
[TrainerType.ERIKA]: {
|
||||
encounter: [
|
||||
"dialogue:erika.encounter.1",
|
||||
"dialogue:erika.encounter.2",
|
||||
"dialogue:erika.encounter.3",
|
||||
"dialogue:erika.encounter.4",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:erika.victory.1",
|
||||
"dialogue:erika.victory.2",
|
||||
"dialogue:erika.victory.3",
|
||||
"dialogue:erika.victory.4",
|
||||
],
|
||||
defeat: [
|
||||
"dialogue:erika.defeat.1",
|
||||
"dialogue:erika.defeat.2",
|
||||
"dialogue:erika.defeat.3",
|
||||
"dialogue:erika.defeat.4",
|
||||
],
|
||||
},
|
||||
[TrainerType.JANINE]: {
|
||||
encounter: ["dialogue:janine.encounter.1", "dialogue:janine.encounter.2", "dialogue:janine.encounter.3"],
|
||||
victory: ["dialogue:janine.victory.1", "dialogue:janine.victory.2", "dialogue:janine.victory.3"],
|
||||
defeat: ["dialogue:janine.defeat.1", "dialogue:janine.defeat.2", "dialogue:janine.defeat.3"],
|
||||
},
|
||||
[TrainerType.SABRINA]: {
|
||||
encounter: ["dialogue:sabrina.encounter.1", "dialogue:sabrina.encounter.2", "dialogue:sabrina.encounter.3"],
|
||||
victory: ["dialogue:sabrina.victory.1", "dialogue:sabrina.victory.2", "dialogue:sabrina.victory.3"],
|
||||
defeat: ["dialogue:sabrina.defeat.1", "dialogue:sabrina.defeat.2", "dialogue:sabrina.defeat.3"],
|
||||
},
|
||||
[TrainerType.BLAINE]: {
|
||||
encounter: ["dialogue:blaine.encounter.1", "dialogue:blaine.encounter.2", "dialogue:blaine.encounter.3"],
|
||||
victory: ["dialogue:blaine.victory.1", "dialogue:blaine.victory.2", "dialogue:blaine.victory.3"],
|
||||
defeat: ["dialogue:blaine.defeat.1", "dialogue:blaine.defeat.2", "dialogue:blaine.defeat.3"],
|
||||
},
|
||||
[TrainerType.GIOVANNI]: {
|
||||
encounter: ["dialogue:giovanni.encounter.1", "dialogue:giovanni.encounter.2", "dialogue:giovanni.encounter.3"],
|
||||
victory: ["dialogue:giovanni.victory.1", "dialogue:giovanni.victory.2", "dialogue:giovanni.victory.3"],
|
||||
defeat: ["dialogue:giovanni.defeat.1", "dialogue:giovanni.defeat.2", "dialogue:giovanni.defeat.3"],
|
||||
},
|
||||
// Johto Gym Leaders
|
||||
[TrainerType.FALKNER]: {
|
||||
encounter: ["dialogue:falkner.encounter.1", "dialogue:falkner.encounter.2", "dialogue:falkner.encounter.3"],
|
||||
victory: ["dialogue:falkner.victory.1", "dialogue:falkner.victory.2", "dialogue:falkner.victory.3"],
|
||||
defeat: ["dialogue:falkner.defeat.1", "dialogue:falkner.defeat.2", "dialogue:falkner.defeat.3"],
|
||||
},
|
||||
[TrainerType.BUGSY]: {
|
||||
encounter: ["dialogue:bugsy.encounter.1"],
|
||||
victory: ["dialogue:bugsy.victory.1"],
|
||||
defeat: ["dialogue:bugsy.defeat.1"],
|
||||
},
|
||||
[TrainerType.WHITNEY]: {
|
||||
encounter: ["dialogue:whitney.encounter.1"],
|
||||
victory: ["dialogue:whitney.victory.1"],
|
||||
defeat: ["dialogue:whitney.defeat.1"],
|
||||
},
|
||||
[TrainerType.MORTY]: {
|
||||
encounter: [
|
||||
"dialogue:morty.encounter.1",
|
||||
"dialogue:morty.encounter.2",
|
||||
"dialogue:morty.encounter.3",
|
||||
"dialogue:morty.encounter.4",
|
||||
"dialogue:morty.encounter.5",
|
||||
"dialogue:morty.encounter.6",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:morty.victory.1",
|
||||
"dialogue:morty.victory.2",
|
||||
"dialogue:morty.victory.3",
|
||||
"dialogue:morty.victory.4",
|
||||
"dialogue:morty.victory.5",
|
||||
"dialogue:morty.victory.6",
|
||||
],
|
||||
defeat: [
|
||||
"dialogue:morty.defeat.1",
|
||||
"dialogue:morty.defeat.2",
|
||||
"dialogue:morty.defeat.3",
|
||||
"dialogue:morty.defeat.4",
|
||||
"dialogue:morty.defeat.5",
|
||||
"dialogue:morty.defeat.6",
|
||||
],
|
||||
},
|
||||
[TrainerType.CHUCK]: {
|
||||
encounter: ["dialogue:chuck.encounter.1"],
|
||||
victory: ["dialogue:chuck.victory.1"],
|
||||
defeat: ["dialogue:chuck.defeat.1"],
|
||||
},
|
||||
[TrainerType.JASMINE]: {
|
||||
encounter: ["dialogue:jasmine.encounter.1"],
|
||||
victory: ["dialogue:jasmine.victory.1"],
|
||||
defeat: ["dialogue:jasmine.defeat.1"],
|
||||
},
|
||||
[TrainerType.PRYCE]: {
|
||||
encounter: ["dialogue:pryce.encounter.1"],
|
||||
victory: ["dialogue:pryce.victory.1"],
|
||||
defeat: ["dialogue:pryce.defeat.1"],
|
||||
},
|
||||
[TrainerType.CLAIR]: {
|
||||
encounter: ["dialogue:clair.encounter.1"],
|
||||
victory: ["dialogue:clair.victory.1"],
|
||||
defeat: ["dialogue:clair.defeat.1"],
|
||||
},
|
||||
// Hoenn Gym Leaders
|
||||
[TrainerType.ROXANNE]: {
|
||||
encounter: ["dialogue:roxanne.encounter.1", "dialogue:roxanne.encounter.2", "dialogue:roxanne.encounter.3"],
|
||||
victory: ["dialogue:roxanne.victory.1", "dialogue:roxanne.victory.2", "dialogue:roxanne.victory.3"],
|
||||
defeat: ["dialogue:roxanne.defeat.1", "dialogue:roxanne.defeat.2", "dialogue:roxanne.defeat.3"],
|
||||
},
|
||||
[TrainerType.BRAWLY]: {
|
||||
encounter: ["dialogue:brawly.encounter.1", "dialogue:brawly.encounter.2", "dialogue:brawly.encounter.3"],
|
||||
victory: ["dialogue:brawly.victory.1", "dialogue:brawly.victory.2", "dialogue:brawly.victory.3"],
|
||||
defeat: ["dialogue:brawly.defeat.1", "dialogue:brawly.defeat.2", "dialogue:brawly.defeat.3"],
|
||||
},
|
||||
[TrainerType.WATTSON]: {
|
||||
encounter: ["dialogue:wattson.encounter.1", "dialogue:wattson.encounter.2", "dialogue:wattson.encounter.3"],
|
||||
victory: ["dialogue:wattson.victory.1", "dialogue:wattson.victory.2", "dialogue:wattson.victory.3"],
|
||||
defeat: ["dialogue:wattson.defeat.1", "dialogue:wattson.defeat.2", "dialogue:wattson.defeat.3"],
|
||||
},
|
||||
[TrainerType.FLANNERY]: {
|
||||
encounter: ["dialogue:flannery.encounter.1", "dialogue:flannery.encounter.2", "dialogue:flannery.encounter.3"],
|
||||
victory: ["dialogue:flannery.victory.1", "dialogue:flannery.victory.2", "dialogue:flannery.victory.3"],
|
||||
defeat: ["dialogue:flannery.defeat.1", "dialogue:flannery.defeat.2", "dialogue:flannery.defeat.3"],
|
||||
},
|
||||
[TrainerType.NORMAN]: {
|
||||
encounter: ["dialogue:norman.encounter.1", "dialogue:norman.encounter.2", "dialogue:norman.encounter.3"],
|
||||
victory: ["dialogue:norman.victory.1", "dialogue:norman.victory.2", "dialogue:norman.victory.3"],
|
||||
defeat: ["dialogue:norman.defeat.1", "dialogue:norman.defeat.2", "dialogue:norman.defeat.3"],
|
||||
},
|
||||
[TrainerType.WINONA]: {
|
||||
encounter: ["dialogue:winona.encounter.1", "dialogue:winona.encounter.2", "dialogue:winona.encounter.3"],
|
||||
victory: ["dialogue:winona.victory.1", "dialogue:winona.victory.2", "dialogue:winona.victory.3"],
|
||||
defeat: ["dialogue:winona.defeat.1", "dialogue:winona.defeat.2", "dialogue:winona.defeat.3"],
|
||||
},
|
||||
[TrainerType.TATE]: {
|
||||
encounter: ["dialogue:tate.encounter.1", "dialogue:tate.encounter.2", "dialogue:tate.encounter.3"],
|
||||
victory: ["dialogue:tate.victory.1", "dialogue:tate.victory.2", "dialogue:tate.victory.3"],
|
||||
defeat: ["dialogue:tate.defeat.1", "dialogue:tate.defeat.2", "dialogue:tate.defeat.3"],
|
||||
},
|
||||
[TrainerType.LIZA]: {
|
||||
encounter: ["dialogue:liza.encounter.1", "dialogue:liza.encounter.2", "dialogue:liza.encounter.3"],
|
||||
victory: ["dialogue:liza.victory.1", "dialogue:liza.victory.2", "dialogue:liza.victory.3"],
|
||||
defeat: ["dialogue:liza.defeat.1", "dialogue:liza.defeat.2", "dialogue:liza.defeat.3"],
|
||||
},
|
||||
[TrainerType.JUAN]: {
|
||||
encounter: [
|
||||
"dialogue:juan.encounter.1",
|
||||
"dialogue:juan.encounter.2",
|
||||
"dialogue:juan.encounter.3",
|
||||
"dialogue:juan.encounter.4",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:juan.victory.1",
|
||||
"dialogue:juan.victory.2",
|
||||
"dialogue:juan.victory.3",
|
||||
"dialogue:juan.victory.4",
|
||||
],
|
||||
defeat: ["dialogue:juan.defeat.1", "dialogue:juan.defeat.2", "dialogue:juan.defeat.3", "dialogue:juan.defeat.4"],
|
||||
},
|
||||
// Sinnoh Gym Leaders
|
||||
|
||||
[TrainerType.ROARK]: {
|
||||
encounter: [
|
||||
"dialogue:roark.encounter.1",
|
||||
"dialogue:roark.encounter.2",
|
||||
"dialogue:roark.encounter.3",
|
||||
"dialogue:roark.encounter.4",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:roark.victory.1",
|
||||
"dialogue:roark.victory.2",
|
||||
"dialogue:roark.victory.3",
|
||||
"dialogue:roark.victory.4",
|
||||
],
|
||||
defeat: ["dialogue:roark.defeat.1", "dialogue:roark.defeat.2", "dialogue:roark.defeat.3"],
|
||||
},
|
||||
[TrainerType.GARDENIA]: {
|
||||
encounter: ["dialogue:gardenia.encounter.1"],
|
||||
victory: ["dialogue:gardenia.victory.1"],
|
||||
defeat: ["dialogue:gardenia.defeat.1"],
|
||||
},
|
||||
[TrainerType.MAYLENE]: {
|
||||
encounter: ["dialogue:maylene.encounter.1"],
|
||||
victory: ["dialogue:maylene.victory.1"],
|
||||
defeat: ["dialogue:maylene.defeat.1"],
|
||||
},
|
||||
[TrainerType.CRASHER_WAKE]: {
|
||||
encounter: [
|
||||
"dialogue:crasherWake.encounter.1",
|
||||
"dialogue:crasherWake.encounter.2",
|
||||
"dialogue:crasherWake.encounter.3",
|
||||
],
|
||||
victory: ["dialogue:crasherWake.victory.1", "dialogue:crasherWake.victory.2", "dialogue:crasherWake.victory.3"],
|
||||
defeat: ["dialogue:crasherWake.defeat.1", "dialogue:crasherWake.defeat.2", "dialogue:crasherWake.defeat.3"],
|
||||
},
|
||||
[TrainerType.FANTINA]: {
|
||||
encounter: ["dialogue:fantina.encounter.1"],
|
||||
victory: ["dialogue:fantina.victory.1"],
|
||||
defeat: ["dialogue:fantina.defeat.1"],
|
||||
},
|
||||
[TrainerType.BYRON]: {
|
||||
encounter: ["dialogue:byron.encounter.1"],
|
||||
victory: ["dialogue:byron.victory.1"],
|
||||
defeat: ["dialogue:byron.defeat.1"],
|
||||
},
|
||||
[TrainerType.CANDICE]: {
|
||||
encounter: ["dialogue:candice.encounter.1", "dialogue:candice.encounter.2"],
|
||||
victory: ["dialogue:candice.victory.1", "dialogue:candice.victory.2"],
|
||||
defeat: ["dialogue:candice.defeat.1", "dialogue:candice.defeat.2"],
|
||||
},
|
||||
[TrainerType.VOLKNER]: {
|
||||
encounter: ["dialogue:volkner.encounter.1"],
|
||||
victory: ["dialogue:volkner.victory.1"],
|
||||
defeat: ["dialogue:volkner.defeat.1"],
|
||||
},
|
||||
// Unova Gym Leaders
|
||||
[TrainerType.CILAN]: {
|
||||
encounter: ["dialogue:cilan.encounter.1", "dialogue:cilan.encounter.2", "dialogue:cilan.encounter.3"],
|
||||
victory: ["dialogue:cilan.victory.1", "dialogue:cilan.victory.2", "dialogue:cilan.victory.3"],
|
||||
defeat: ["dialogue:cilan.defeat.1", "dialogue:cilan.defeat.2", "dialogue:cilan.defeat.3"],
|
||||
},
|
||||
[TrainerType.CHILI]: {
|
||||
encounter: ["dialogue:chili.encounter.1", "dialogue:chili.encounter.2", "dialogue:chili.encounter.3"],
|
||||
victory: ["dialogue:chili.victory.1", "dialogue:chili.victory.2", "dialogue:chili.victory.3"],
|
||||
defeat: ["dialogue:chili.defeat.1", "dialogue:chili.defeat.2", "dialogue:chili.defeat.3"],
|
||||
},
|
||||
[TrainerType.CRESS]: {
|
||||
encounter: ["dialogue:cress.encounter.1"],
|
||||
victory: ["dialogue:cress.victory.1"],
|
||||
defeat: ["dialogue:cress.defeat.1"],
|
||||
},
|
||||
[TrainerType.CHEREN]: {
|
||||
encounter: ["dialogue:cheren.encounter.1", "dialogue:cheren.encounter.2", "dialogue:cheren.encounter.3"],
|
||||
victory: ["dialogue:cheren.victory.1", "dialogue:cheren.victory.2", "dialogue:cheren.victory.3"],
|
||||
defeat: ["dialogue:cheren.defeat.1", "dialogue:cheren.defeat.2", "dialogue:cheren.defeat.3"],
|
||||
},
|
||||
[TrainerType.LENORA]: {
|
||||
encounter: ["dialogue:lenora.encounter.1"],
|
||||
victory: ["dialogue:lenora.victory.1"],
|
||||
defeat: ["dialogue:lenora.defeat.1"],
|
||||
},
|
||||
[TrainerType.ROXIE]: {
|
||||
encounter: ["dialogue:roxie.encounter.1"],
|
||||
victory: ["dialogue:roxie.victory.1"],
|
||||
defeat: ["dialogue:roxie.defeat.1"],
|
||||
},
|
||||
[TrainerType.BURGH]: {
|
||||
encounter: ["dialogue:burgh.encounter.1", "dialogue:burgh.encounter.2"],
|
||||
victory: ["dialogue:burgh.victory.1", "dialogue:burgh.victory.2"],
|
||||
defeat: ["dialogue:burgh.defeat.1", "dialogue:burgh.defeat.2"],
|
||||
},
|
||||
[TrainerType.ELESA]: {
|
||||
encounter: ["dialogue:elesa.encounter.1"],
|
||||
victory: ["dialogue:elesa.victory.1"],
|
||||
defeat: ["dialogue:elesa.defeat.1"],
|
||||
},
|
||||
[TrainerType.CLAY]: {
|
||||
encounter: ["dialogue:clay.encounter.1"],
|
||||
victory: ["dialogue:clay.victory.1"],
|
||||
defeat: ["dialogue:clay.defeat.1"],
|
||||
},
|
||||
[TrainerType.SKYLA]: {
|
||||
encounter: ["dialogue:skyla.encounter.1"],
|
||||
victory: ["dialogue:skyla.victory.1"],
|
||||
defeat: ["dialogue:skyla.defeat.1"],
|
||||
},
|
||||
[TrainerType.BRYCEN]: {
|
||||
encounter: ["dialogue:brycen.encounter.1"],
|
||||
victory: ["dialogue:brycen.victory.1"],
|
||||
defeat: ["dialogue:brycen.defeat.1"],
|
||||
},
|
||||
[TrainerType.DRAYDEN]: {
|
||||
encounter: ["dialogue:drayden.encounter.1"],
|
||||
victory: ["dialogue:drayden.victory.1"],
|
||||
defeat: ["dialogue:drayden.defeat.1"],
|
||||
},
|
||||
[TrainerType.MARLON]: {
|
||||
encounter: ["dialogue:marlon.encounter.1", "dialogue:marlon.encounter.2", "dialogue:marlon.encounter.3"],
|
||||
victory: ["dialogue:marlon.victory.1", "dialogue:marlon.victory.2", "dialogue:marlon.victory.3"],
|
||||
defeat: ["dialogue:marlon.defeat.1", "dialogue:marlon.defeat.2", "dialogue:marlon.defeat.3"],
|
||||
},
|
||||
// Kalos Gym Leaders
|
||||
[TrainerType.VIOLA]: {
|
||||
encounter: ["dialogue:viola.encounter.1", "dialogue:viola.encounter.2"],
|
||||
victory: ["dialogue:viola.victory.1", "dialogue:viola.victory.2"],
|
||||
defeat: ["dialogue:viola.defeat.1", "dialogue:viola.defeat.2"],
|
||||
},
|
||||
[TrainerType.GRANT]: {
|
||||
encounter: ["dialogue:grant.encounter.1"],
|
||||
victory: ["dialogue:grant.victory.1"],
|
||||
defeat: ["dialogue:grant.defeat.1"],
|
||||
},
|
||||
[TrainerType.KORRINA]: {
|
||||
encounter: ["dialogue:korrina.encounter.1"],
|
||||
victory: ["dialogue:korrina.victory.1"],
|
||||
defeat: ["dialogue:korrina.defeat.1"],
|
||||
},
|
||||
[TrainerType.RAMOS]: {
|
||||
encounter: ["dialogue:ramos.encounter.1"],
|
||||
victory: ["dialogue:ramos.victory.1"],
|
||||
defeat: ["dialogue:ramos.defeat.1"],
|
||||
},
|
||||
[TrainerType.CLEMONT]: {
|
||||
encounter: ["dialogue:clemont.encounter.1"],
|
||||
victory: ["dialogue:clemont.victory.1"],
|
||||
defeat: ["dialogue:clemont.defeat.1"],
|
||||
},
|
||||
[TrainerType.VALERIE]: {
|
||||
encounter: ["dialogue:valerie.encounter.1"],
|
||||
victory: ["dialogue:valerie.victory.1"],
|
||||
defeat: ["dialogue:valerie.defeat.1"],
|
||||
},
|
||||
[TrainerType.OLYMPIA]: {
|
||||
encounter: ["dialogue:olympia.encounter.1"],
|
||||
victory: ["dialogue:olympia.victory.1"],
|
||||
defeat: ["dialogue:olympia.defeat.1"],
|
||||
},
|
||||
[TrainerType.WULFRIC]: {
|
||||
encounter: ["dialogue:wulfric.encounter.1"],
|
||||
victory: ["dialogue:wulfric.victory.1"],
|
||||
defeat: ["dialogue:wulfric.defeat.1"],
|
||||
},
|
||||
// Galar Gym Leaders
|
||||
[TrainerType.MILO]: {
|
||||
encounter: ["dialogue:milo.encounter.1"],
|
||||
victory: ["dialogue:milo.victory.1"],
|
||||
defeat: ["dialogue:milo.defeat.1"],
|
||||
},
|
||||
[TrainerType.NESSA]: {
|
||||
encounter: ["dialogue:nessa.encounter.1", "dialogue:nessa.encounter.2", "dialogue:nessa.encounter.3"],
|
||||
victory: ["dialogue:nessa.victory.1", "dialogue:nessa.victory.2", "dialogue:nessa.victory.3"],
|
||||
defeat: ["dialogue:nessa.defeat.1", "dialogue:nessa.defeat.2", "dialogue:nessa.defeat.3"],
|
||||
},
|
||||
[TrainerType.KABU]: {
|
||||
encounter: ["dialogue:kabu.encounter.1"],
|
||||
victory: ["dialogue:kabu.victory.1"],
|
||||
defeat: ["dialogue:kabu.defeat.1"],
|
||||
},
|
||||
[TrainerType.ALLISTER]: {
|
||||
encounter: ["dialogue:allister.encounter.1"],
|
||||
victory: ["dialogue:allister.victory.1"],
|
||||
defeat: ["dialogue:allister.defeat.1"],
|
||||
},
|
||||
[TrainerType.OPAL]: {
|
||||
encounter: ["dialogue:opal.encounter.1"],
|
||||
victory: ["dialogue:opal.victory.1"],
|
||||
defeat: ["dialogue:opal.defeat.1"],
|
||||
},
|
||||
[TrainerType.BEDE]: {
|
||||
encounter: ["dialogue:bede.encounter.1"],
|
||||
victory: ["dialogue:bede.victory.1"],
|
||||
defeat: ["dialogue:bede.defeat.1"],
|
||||
},
|
||||
[TrainerType.GORDIE]: {
|
||||
encounter: ["dialogue:gordie.encounter.1"],
|
||||
victory: ["dialogue:gordie.victory.1"],
|
||||
defeat: ["dialogue:gordie.defeat.1"],
|
||||
},
|
||||
[TrainerType.MELONY]: {
|
||||
encounter: ["dialogue:melony.encounter.1", "dialogue:melony.encounter.2", "dialogue:melony.encounter.3"],
|
||||
victory: ["dialogue:melony.victory.1", "dialogue:melony.victory.2", "dialogue:melony.victory.3"],
|
||||
defeat: ["dialogue:melony.defeat.1", "dialogue:melony.defeat.2", "dialogue:melony.defeat.3"],
|
||||
},
|
||||
[TrainerType.PIERS]: {
|
||||
encounter: ["dialogue:piers.encounter.1"],
|
||||
victory: ["dialogue:piers.victory.1"],
|
||||
defeat: ["dialogue:piers.defeat.1"],
|
||||
},
|
||||
[TrainerType.MARNIE]: {
|
||||
encounter: ["dialogue:marnie.encounter.1"],
|
||||
victory: ["dialogue:marnie.victory.1"],
|
||||
defeat: ["dialogue:marnie.defeat.1"],
|
||||
},
|
||||
[TrainerType.RAIHAN]: {
|
||||
encounter: ["dialogue:raihan.encounter.1"],
|
||||
victory: ["dialogue:raihan.victory.1"],
|
||||
defeat: ["dialogue:raihan.defeat.1"],
|
||||
},
|
||||
// Paldea Gym Leaders
|
||||
[TrainerType.KATY]: {
|
||||
encounter: ["dialogue:katy.encounter.1"],
|
||||
victory: ["dialogue:katy.victory.1"],
|
||||
defeat: ["dialogue:katy.defeat.1"],
|
||||
},
|
||||
[TrainerType.BRASSIUS]: {
|
||||
encounter: ["dialogue:brassius.encounter.1"],
|
||||
victory: ["dialogue:brassius.victory.1"],
|
||||
defeat: ["dialogue:brassius.defeat.1"],
|
||||
},
|
||||
[TrainerType.IONO]: {
|
||||
encounter: ["dialogue:iono.encounter.1"],
|
||||
victory: ["dialogue:iono.victory.1"],
|
||||
defeat: ["dialogue:iono.defeat.1"],
|
||||
},
|
||||
[TrainerType.KOFU]: {
|
||||
encounter: ["dialogue:kofu.encounter.1"],
|
||||
victory: ["dialogue:kofu.victory.1"],
|
||||
defeat: ["dialogue:kofu.defeat.1"],
|
||||
},
|
||||
[TrainerType.LARRY]: {
|
||||
encounter: ["dialogue:larry.encounter.1"],
|
||||
victory: ["dialogue:larry.victory.1"],
|
||||
defeat: ["dialogue:larry.defeat.1"],
|
||||
},
|
||||
[TrainerType.RYME]: {
|
||||
encounter: ["dialogue:ryme.encounter.1"],
|
||||
victory: ["dialogue:ryme.victory.1"],
|
||||
defeat: ["dialogue:ryme.defeat.1"],
|
||||
},
|
||||
[TrainerType.TULIP]: {
|
||||
encounter: ["dialogue:tulip.encounter.1"],
|
||||
victory: ["dialogue:tulip.victory.1"],
|
||||
defeat: ["dialogue:tulip.defeat.1"],
|
||||
},
|
||||
[TrainerType.GRUSHA]: {
|
||||
encounter: ["dialogue:grusha.encounter.1"],
|
||||
victory: ["dialogue:grusha.victory.1"],
|
||||
defeat: ["dialogue:grusha.defeat.1"],
|
||||
},
|
||||
}
|
70
src/data/trainers/dialogue-init/mystery-event-trainers.ts
Normal file
70
src/data/trainers/dialogue-init/mystery-event-trainers.ts
Normal file
@ -0,0 +1,70 @@
|
||||
import { TrainerType, TrainerTypeDialogue } from "#data/dialogue";
|
||||
|
||||
|
||||
export const mysteryEventTrainerDialogue: TrainerTypeDialogue = {
|
||||
[TrainerType.BUCK]: [
|
||||
{
|
||||
encounter: ["dialogue:statTrainerBuck.encounter.1", "dialogue:statTrainerBuck.encounter.2"],
|
||||
victory: ["dialogue:statTrainerBuck.victory.1", "dialogue:statTrainerBuck.victory.2"],
|
||||
defeat: ["dialogue:statTrainerBuck.defeat.1", "dialogue:statTrainerBuck.defeat.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.CHERYL]: [
|
||||
{
|
||||
encounter: ["dialogue:statTrainerCheryl.encounter.1", "dialogue:statTrainerCheryl.encounter.2"],
|
||||
victory: ["dialogue:statTrainerCheryl.victory.1", "dialogue:statTrainerCheryl.victory.2"],
|
||||
defeat: ["dialogue:statTrainerCheryl.defeat.1", "dialogue:statTrainerCheryl.defeat.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.MARLEY]: [
|
||||
{
|
||||
encounter: ["dialogue:statTrainerMarley.encounter.1", "dialogue:statTrainerMarley.encounter.2"],
|
||||
victory: ["dialogue:statTrainerMarley.victory.1", "dialogue:statTrainerMarley.victory.2"],
|
||||
defeat: ["dialogue:statTrainerMarley.defeat.1", "dialogue:statTrainerMarley.defeat.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.MIRA]: [
|
||||
{
|
||||
encounter: ["dialogue:statTrainerMira.encounter.1", "dialogue:statTrainerMira.encounter.2"],
|
||||
victory: ["dialogue:statTrainerMira.victory.1", "dialogue:statTrainerMira.victory.2"],
|
||||
defeat: ["dialogue:statTrainerMira.defeat.1", "dialogue:statTrainerMira.defeat.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.RILEY]: [
|
||||
{
|
||||
encounter: ["dialogue:statTrainerRiley.encounter.1", "dialogue:statTrainerRiley.encounter.2"],
|
||||
victory: ["dialogue:statTrainerRiley.victory.1", "dialogue:statTrainerRiley.victory.2"],
|
||||
defeat: ["dialogue:statTrainerRiley.defeat.1", "dialogue:statTrainerRiley.defeat.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.VICTOR]: [
|
||||
{
|
||||
encounter: ["dialogue:winstratesVictor.encounter.1"],
|
||||
victory: ["dialogue:winstratesVictor.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.VICTORIA]: [
|
||||
{
|
||||
encounter: ["dialogue:winstratesVictoria.encounter.1"],
|
||||
victory: ["dialogue:winstratesVictoria.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.VIVI]: [
|
||||
{
|
||||
encounter: ["dialogue:winstratesVivi.encounter.1"],
|
||||
victory: ["dialogue:winstratesVivi.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.VICKY]: [
|
||||
{
|
||||
encounter: ["dialogue:winstratesVicky.encounter.1"],
|
||||
victory: ["dialogue:winstratesVicky.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.VITO]: [
|
||||
{
|
||||
encounter: ["dialogue:winstratesVito.encounter.1"],
|
||||
victory: ["dialogue:winstratesVito.victory.1"],
|
||||
},
|
||||
],
|
||||
}
|
513
src/data/trainers/dialogue-init/random-npcs-trainers.ts
Normal file
513
src/data/trainers/dialogue-init/random-npcs-trainers.ts
Normal file
@ -0,0 +1,513 @@
|
||||
import { TrainerTypeDialogue } from "#data/dialogue";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
|
||||
export const randomNPCDialogue: TrainerTypeDialogue = {
|
||||
[TrainerType.YOUNGSTER]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:youngster.encounter.1",
|
||||
"dialogue:youngster.encounter.2",
|
||||
"dialogue:youngster.encounter.3",
|
||||
"dialogue:youngster.encounter.4",
|
||||
"dialogue:youngster.encounter.5",
|
||||
"dialogue:youngster.encounter.6",
|
||||
"dialogue:youngster.encounter.7",
|
||||
"dialogue:youngster.encounter.8",
|
||||
"dialogue:youngster.encounter.9",
|
||||
"dialogue:youngster.encounter.10",
|
||||
"dialogue:youngster.encounter.11",
|
||||
"dialogue:youngster.encounter.12",
|
||||
"dialogue:youngster.encounter.13",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:youngster.victory.1",
|
||||
"dialogue:youngster.victory.2",
|
||||
"dialogue:youngster.victory.3",
|
||||
"dialogue:youngster.victory.4",
|
||||
"dialogue:youngster.victory.5",
|
||||
"dialogue:youngster.victory.6",
|
||||
"dialogue:youngster.victory.7",
|
||||
"dialogue:youngster.victory.8",
|
||||
"dialogue:youngster.victory.9",
|
||||
"dialogue:youngster.victory.10",
|
||||
"dialogue:youngster.victory.11",
|
||||
"dialogue:youngster.victory.12",
|
||||
"dialogue:youngster.victory.13",
|
||||
],
|
||||
},
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:lass.encounter.1",
|
||||
"dialogue:lass.encounter.2",
|
||||
"dialogue:lass.encounter.3",
|
||||
"dialogue:lass.encounter.4",
|
||||
"dialogue:lass.encounter.5",
|
||||
"dialogue:lass.encounter.6",
|
||||
"dialogue:lass.encounter.7",
|
||||
"dialogue:lass.encounter.8",
|
||||
"dialogue:lass.encounter.9",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:lass.victory.1",
|
||||
"dialogue:lass.victory.2",
|
||||
"dialogue:lass.victory.3",
|
||||
"dialogue:lass.victory.4",
|
||||
"dialogue:lass.victory.5",
|
||||
"dialogue:lass.victory.6",
|
||||
"dialogue:lass.victory.7",
|
||||
"dialogue:lass.victory.8",
|
||||
"dialogue:lass.victory.9",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.BREEDER]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:breeder.encounter.1",
|
||||
"dialogue:breeder.encounter.2",
|
||||
"dialogue:breeder.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:breeder.victory.1",
|
||||
"dialogue:breeder.victory.2",
|
||||
"dialogue:breeder.victory.3",
|
||||
],
|
||||
defeat: [
|
||||
"dialogue:breeder.defeat.1",
|
||||
"dialogue:breeder.defeat.2",
|
||||
"dialogue:breeder.defeat.3",
|
||||
],
|
||||
},
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:breederFemale.encounter.1",
|
||||
"dialogue:breederFemale.encounter.2",
|
||||
"dialogue:breederFemale.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:breederFemale.victory.1",
|
||||
"dialogue:breederFemale.victory.2",
|
||||
"dialogue:breederFemale.victory.3",
|
||||
],
|
||||
defeat: [
|
||||
"dialogue:breederFemale.defeat.1",
|
||||
"dialogue:breederFemale.defeat.2",
|
||||
"dialogue:breederFemale.defeat.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.FISHERMAN]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:fisherman.encounter.1",
|
||||
"dialogue:fisherman.encounter.2",
|
||||
"dialogue:fisherman.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:fisherman.victory.1",
|
||||
"dialogue:fisherman.victory.2",
|
||||
"dialogue:fisherman.victory.3",
|
||||
],
|
||||
},
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:fishermanFemale.encounter.1",
|
||||
"dialogue:fishermanFemale.encounter.2",
|
||||
"dialogue:fishermanFemale.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:fishermanFemale.victory.1",
|
||||
"dialogue:fishermanFemale.victory.2",
|
||||
"dialogue:fishermanFemale.victory.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.SWIMMER]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:swimmer.encounter.1",
|
||||
"dialogue:swimmer.encounter.2",
|
||||
"dialogue:swimmer.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:swimmer.victory.1",
|
||||
"dialogue:swimmer.victory.2",
|
||||
"dialogue:swimmer.victory.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.BACKPACKER]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:backpacker.encounter.1",
|
||||
"dialogue:backpacker.encounter.2",
|
||||
"dialogue:backpacker.encounter.3",
|
||||
"dialogue:backpacker.encounter.4",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:backpacker.victory.1",
|
||||
"dialogue:backpacker.victory.2",
|
||||
"dialogue:backpacker.victory.3",
|
||||
"dialogue:backpacker.victory.4",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.ACE_TRAINER]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:aceTrainer.encounter.1",
|
||||
"dialogue:aceTrainer.encounter.2",
|
||||
"dialogue:aceTrainer.encounter.3",
|
||||
"dialogue:aceTrainer.encounter.4",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:aceTrainer.victory.1",
|
||||
"dialogue:aceTrainer.victory.2",
|
||||
"dialogue:aceTrainer.victory.3",
|
||||
"dialogue:aceTrainer.victory.4",
|
||||
],
|
||||
defeat: [
|
||||
"dialogue:aceTrainer.defeat.1",
|
||||
"dialogue:aceTrainer.defeat.2",
|
||||
"dialogue:aceTrainer.defeat.3",
|
||||
"dialogue:aceTrainer.defeat.4",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.PARASOL_LADY]: [
|
||||
{
|
||||
encounter: ["dialogue:parasolLady.encounter.1"],
|
||||
victory: ["dialogue:parasolLady.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.TWINS]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:twins.encounter.1",
|
||||
"dialogue:twins.encounter.2",
|
||||
"dialogue:twins.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:twins.victory.1",
|
||||
"dialogue:twins.victory.2",
|
||||
"dialogue:twins.victory.3",
|
||||
],
|
||||
defeat: [
|
||||
"dialogue:twins.defeat.1",
|
||||
"dialogue:twins.defeat.2",
|
||||
"dialogue:twins.defeat.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.CYCLIST]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:cyclist.encounter.1",
|
||||
"dialogue:cyclist.encounter.2",
|
||||
"dialogue:cyclist.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:cyclist.victory.1",
|
||||
"dialogue:cyclist.victory.2",
|
||||
"dialogue:cyclist.victory.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.BLACK_BELT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:blackBelt.encounter.1",
|
||||
"dialogue:blackBelt.encounter.2",
|
||||
],
|
||||
victory: ["dialogue:blackBelt.victory.1", "dialogue:blackBelt.victory.2"],
|
||||
},
|
||||
//BATTLE GIRL
|
||||
{
|
||||
encounter: ["dialogue:battleGirl.encounter.1"],
|
||||
victory: ["dialogue:battleGirl.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.HIKER]: [
|
||||
{
|
||||
encounter: ["dialogue:hiker.encounter.1", "dialogue:hiker.encounter.2"],
|
||||
victory: ["dialogue:hiker.victory.1", "dialogue:hiker.victory.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.RANGER]: [
|
||||
{
|
||||
encounter: ["dialogue:ranger.encounter.1", "dialogue:ranger.encounter.2"],
|
||||
victory: ["dialogue:ranger.victory.1", "dialogue:ranger.victory.2"],
|
||||
defeat: ["dialogue:ranger.defeat.1", "dialogue:ranger.defeat.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.SCIENTIST]: [
|
||||
{
|
||||
encounter: ["dialogue:scientist.encounter.1"],
|
||||
victory: ["dialogue:scientist.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.SCHOOL_KID]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:schoolKid.encounter.1",
|
||||
"dialogue:schoolKid.encounter.2",
|
||||
],
|
||||
victory: ["dialogue:schoolKid.victory.1", "dialogue:schoolKid.victory.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.ARTIST]: [
|
||||
{
|
||||
encounter: ["dialogue:artist.encounter.1"],
|
||||
victory: ["dialogue:artist.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.GUITARIST]: [
|
||||
{
|
||||
encounter: ["dialogue:guitarist.encounter.1"],
|
||||
victory: ["dialogue:guitarist.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.WORKER]: [
|
||||
{
|
||||
encounter: ["dialogue:worker.encounter.1"],
|
||||
victory: ["dialogue:worker.victory.1"],
|
||||
},
|
||||
{
|
||||
encounter: ["dialogue:workerFemale.encounter.1"],
|
||||
victory: ["dialogue:workerFemale.victory.1"],
|
||||
defeat: ["dialogue:workerFemale.defeat.1"],
|
||||
},
|
||||
{
|
||||
encounter: ["dialogue:workerDouble.encounter.1"],
|
||||
victory: ["dialogue:workerDouble.victory.1"],
|
||||
},
|
||||
],
|
||||
// Defeat dialogue in the language .JSONS exist as translated or placeholders; (en, fr, it, es, de, ja, ko, zh_cn, zh_tw, pt_br)
|
||||
[TrainerType.SNOW_WORKER]: [
|
||||
{
|
||||
encounter: ["dialogue:snowWorker.encounter.1"],
|
||||
victory: ["dialogue:snowWorker.victory.1"],
|
||||
},
|
||||
{
|
||||
encounter: ["dialogue:snowWorkerDouble.encounter.1"],
|
||||
victory: ["dialogue:snowWorkerDouble.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.HEX_MANIAC]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:hexManiac.encounter.1",
|
||||
"dialogue:hexManiac.encounter.2",
|
||||
],
|
||||
victory: ["dialogue:hexManiac.victory.1", "dialogue:hexManiac.victory.2"],
|
||||
defeat: ["dialogue:hexManiac.defeat.1", "dialogue:hexManiac.defeat.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.PSYCHIC]: [
|
||||
{
|
||||
encounter: ["dialogue:psychic.encounter.1"],
|
||||
victory: ["dialogue:psychic.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.OFFICER]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:officer.encounter.1",
|
||||
"dialogue:officer.encounter.2",
|
||||
],
|
||||
victory: ["dialogue:officer.victory.1", "dialogue:officer.victory.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.BEAUTY]: [
|
||||
{
|
||||
encounter: ["dialogue:beauty.encounter.1"],
|
||||
victory: ["dialogue:beauty.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.BAKER]: [
|
||||
{
|
||||
encounter: ["dialogue:baker.encounter.1"],
|
||||
victory: ["dialogue:baker.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.BIKER]: [
|
||||
{
|
||||
encounter: ["dialogue:biker.encounter.1"],
|
||||
victory: ["dialogue:biker.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.FIREBREATHER]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:firebreather.encounter.1",
|
||||
"dialogue:firebreather.encounter.2",
|
||||
"dialogue:firebreather.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:firebreather.victory.1",
|
||||
"dialogue:firebreather.victory.2",
|
||||
"dialogue:firebreather.victory.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.SAILOR]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:sailor.encounter.1",
|
||||
"dialogue:sailor.encounter.2",
|
||||
"dialogue:sailor.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:sailor.victory.1",
|
||||
"dialogue:sailor.victory.2",
|
||||
"dialogue:sailor.victory.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.CLERK]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:clerk.encounter.1",
|
||||
"dialogue:clerk.encounter.2",
|
||||
"dialogue:clerk.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:clerk.victory.1",
|
||||
"dialogue:clerk.victory.2",
|
||||
"dialogue:clerk.victory.3",
|
||||
],
|
||||
},
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:clerkFemale.encounter.1",
|
||||
"dialogue:clerkFemale.encounter.2",
|
||||
"dialogue:clerkFemale.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:clerkFemale.victory.1",
|
||||
"dialogue:clerkFemale.victory.2",
|
||||
"dialogue:clerkFemale.victory.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.HOOLIGANS]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:hooligans.encounter.1",
|
||||
"dialogue:hooligans.encounter.2",
|
||||
],
|
||||
victory: ["dialogue:hooligans.victory.1", "dialogue:hooligans.victory.2"],
|
||||
},
|
||||
],
|
||||
[TrainerType.MUSICIAN]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:musician.encounter.1",
|
||||
"dialogue:musician.encounter.2",
|
||||
"dialogue:musician.encounter.3",
|
||||
"dialogue:musician.encounter.4",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:musician.victory.1",
|
||||
"dialogue:musician.victory.2",
|
||||
"dialogue:musician.victory.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.PILOT]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:pilot.encounter.1",
|
||||
"dialogue:pilot.encounter.2",
|
||||
"dialogue:pilot.encounter.3",
|
||||
"dialogue:pilot.encounter.4",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:pilot.victory.1",
|
||||
"dialogue:pilot.victory.2",
|
||||
"dialogue:pilot.victory.3",
|
||||
"dialogue:pilot.victory.4",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.POKEFAN]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:pokefan.encounter.1",
|
||||
"dialogue:pokefan.encounter.2",
|
||||
"dialogue:pokefan.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:pokefan.victory.1",
|
||||
"dialogue:pokefan.victory.2",
|
||||
"dialogue:pokefan.victory.3",
|
||||
],
|
||||
},
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:pokefanFemale.encounter.1",
|
||||
"dialogue:pokefanFemale.encounter.2",
|
||||
"dialogue:pokefanFemale.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:pokefanFemale.victory.1",
|
||||
"dialogue:pokefanFemale.victory.2",
|
||||
"dialogue:pokefanFemale.victory.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.RICH]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:rich.encounter.1",
|
||||
"dialogue:rich.encounter.2",
|
||||
"dialogue:rich.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:rich.victory.1",
|
||||
"dialogue:rich.victory.2",
|
||||
"dialogue:rich.victory.3",
|
||||
],
|
||||
},
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:richFemale.encounter.1",
|
||||
"dialogue:richFemale.encounter.2",
|
||||
"dialogue:richFemale.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:richFemale.victory.1",
|
||||
"dialogue:richFemale.victory.2",
|
||||
"dialogue:richFemale.victory.3",
|
||||
],
|
||||
},
|
||||
],
|
||||
[TrainerType.RICH_KID]: [
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:richKid.encounter.1",
|
||||
"dialogue:richKid.encounter.2",
|
||||
"dialogue:richKid.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:richKid.victory.1",
|
||||
"dialogue:richKid.victory.2",
|
||||
"dialogue:richKid.victory.3",
|
||||
"dialogue:richKid.victory.4",
|
||||
],
|
||||
},
|
||||
{
|
||||
encounter: [
|
||||
"dialogue:richKidFemale.encounter.1",
|
||||
"dialogue:richKidFemale.encounter.2",
|
||||
"dialogue:richKidFemale.encounter.3",
|
||||
],
|
||||
victory: [
|
||||
"dialogue:richKidFemale.victory.1",
|
||||
"dialogue:richKidFemale.victory.2",
|
||||
"dialogue:richKidFemale.victory.3",
|
||||
"dialogue:richKidFemale.victory.4",
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
69
src/data/trainers/dialogue-init/rival-trainer.ts
Normal file
69
src/data/trainers/dialogue-init/rival-trainer.ts
Normal file
@ -0,0 +1,69 @@
|
||||
import { TrainerType, TrainerTypeDialogue } from "#data/dialogue";
|
||||
|
||||
|
||||
export const rivalDialogue: TrainerTypeDialogue = {
|
||||
[TrainerType.RIVAL]: [
|
||||
{
|
||||
encounter: ["dialogue:rival.encounter.1"],
|
||||
victory: ["dialogue:rival.victory.1"],
|
||||
},
|
||||
{
|
||||
encounter: ["dialogue:rivalFemale.encounter.1"],
|
||||
victory: ["dialogue:rivalFemale.victory.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.RIVAL_2]: [
|
||||
{
|
||||
encounter: ["dialogue:rival2.encounter.1"],
|
||||
victory: ["dialogue:rival2.victory.1"],
|
||||
},
|
||||
{
|
||||
encounter: ["dialogue:rival2Female.encounter.1"],
|
||||
victory: ["dialogue:rival2Female.victory.1"],
|
||||
defeat: ["dialogue:rival2Female.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.RIVAL_3]: [
|
||||
{
|
||||
encounter: ["dialogue:rival3.encounter.1"],
|
||||
victory: ["dialogue:rival3.victory.1"],
|
||||
},
|
||||
{
|
||||
encounter: ["dialogue:rival3Female.encounter.1"],
|
||||
victory: ["dialogue:rival3Female.victory.1"],
|
||||
defeat: ["dialogue:rival3Female.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.RIVAL_4]: [
|
||||
{
|
||||
encounter: ["dialogue:rival4.encounter.1"],
|
||||
victory: ["dialogue:rival4.victory.1"],
|
||||
},
|
||||
{
|
||||
encounter: ["dialogue:rival4Female.encounter.1"],
|
||||
victory: ["dialogue:rival4Female.victory.1"],
|
||||
defeat: ["dialogue:rival4Female.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.RIVAL_5]: [
|
||||
{
|
||||
encounter: ["dialogue:rival5.encounter.1"],
|
||||
victory: ["dialogue:rival5.victory.1"],
|
||||
},
|
||||
{
|
||||
encounter: ["dialogue:rival5Female.encounter.1"],
|
||||
victory: ["dialogue:rival5Female.victory.1"],
|
||||
defeat: ["dialogue:rival5Female.defeat.1"],
|
||||
},
|
||||
],
|
||||
[TrainerType.RIVAL_6]: [
|
||||
{
|
||||
encounter: ["dialogue:rival6.encounter.1"],
|
||||
victory: ["dialogue:rival6.victory.1"],
|
||||
},
|
||||
{
|
||||
encounter: ["dialogue:rival6Female.encounter.1"],
|
||||
victory: ["dialogue:rival6Female.victory.1"],
|
||||
},
|
||||
],
|
||||
}
|
File diff suppressed because it is too large
Load Diff
25
src/data/trainers/trainer-configs-init.ts
Normal file
25
src/data/trainers/trainer-configs-init.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
import { TrainerConfig } from "./trainer-config";
|
||||
import { championTrainersConfigs } from "./trainers-init/champion-trainers";
|
||||
import { eliteFourTrainersConfigs } from "./trainers-init/elite-four-trainers";
|
||||
import { evilAdminTrainerConfigs } from "./trainers-init/evil-organizations/evil-admin-trainers";
|
||||
import { evilGruntTrainerConfig } from "./trainers-init/evil-organizations/evil-grunts-trainers";
|
||||
import { evilAdminTrainersConfig } from "./trainers-init/evil-organizations/evil-leaders-trainers";
|
||||
import { gymLeaderTrainersConfigs } from "./trainers-init/gym-trainers";
|
||||
import { mysteryEventTrainersConfigs } from "./trainers-init/mystery-event-trainers";
|
||||
import { randomNPCTrainersConfig } from "./trainers-init/random-npcs-trainers";
|
||||
import { rivalTrainerConfigs } from "./trainers-init/rival-trainer";
|
||||
|
||||
export const trainerConfigs: TrainerConfigs = {
|
||||
[TrainerType.UNKNOWN]: new TrainerConfig(0).setHasGenders(),
|
||||
... randomNPCTrainersConfig,
|
||||
... evilGruntTrainerConfig,
|
||||
... evilAdminTrainerConfigs,
|
||||
... gymLeaderTrainersConfigs,
|
||||
... eliteFourTrainersConfigs,
|
||||
... championTrainersConfigs,
|
||||
... rivalTrainerConfigs,
|
||||
... evilAdminTrainersConfig,
|
||||
... mysteryEventTrainersConfigs,
|
||||
};
|
@ -6,14 +6,11 @@ import { SpeciesId } from "#enums/species-id";
|
||||
import { TrainerSlot } from "#enums/trainer-slot";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { PokemonMove } from "#moves/pokemon-move";
|
||||
import { TrainerConfig, getRandomPartyMemberFunc, nextTrainerId, setTrainerId } from "#trainers/trainer-config";
|
||||
import { TrainerConfig, getRandomPartyMemberFunc, nextTrainerId, setTrainerId, isMoveNullOrUndefined as isNullOrUndefined } from "#trainers/trainer-config";
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
import { randSeedIntRange, randSeedItem } from "#utils/common";
|
||||
import { t } from "i18next";
|
||||
import { isNullOrUndefined } from "util";
|
||||
|
||||
|
||||
export const championTrainers: TrainerConfigs = {
|
||||
export const championTrainersConfigs: TrainerConfigs = {
|
||||
//Kanto Johto Champions
|
||||
[TrainerType.BLUE]: new TrainerConfig(setTrainerId(TrainerType.BLUE))
|
||||
.initForChampion(true)
|
||||
|
@ -6,13 +6,11 @@ import { SpeciesId } from "#enums/species-id";
|
||||
import { TrainerSlot } from "#enums/trainer-slot";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { PokemonMove } from "#moves/pokemon-move";
|
||||
import { getRandomPartyMemberFunc, nextTrainerId, setTrainerId, TrainerConfig } from "#trainers/trainer-config";
|
||||
import { getRandomPartyMemberFunc, nextTrainerId, setTrainerId, TrainerConfig, isMoveNullOrUndefined as isNullOrUndefined } from "#trainers/trainer-config";
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
import { t } from "i18next";
|
||||
import { isNullOrUndefined } from "util";
|
||||
|
||||
|
||||
export const eliteFourTrainers: TrainerConfigs = {
|
||||
export const eliteFourTrainersConfigs: TrainerConfigs = {
|
||||
// Kanto Elite Four
|
||||
[TrainerType.LORELEI]: new TrainerConfig(setTrainerId(TrainerType.LORELEI))
|
||||
.initForEliteFour(signatureSpecies["LORELEI"], false, PokemonType.ICE, 2)
|
||||
|
@ -0,0 +1,270 @@
|
||||
import { MoveId } from "#enums/move-id";
|
||||
import { PokemonType } from "#enums/pokemon-type";
|
||||
import { SpeciesId } from "#enums/species-id";
|
||||
import { TrainerSlot } from "#enums/trainer-slot";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { PokemonMove } from "#moves/pokemon-move";
|
||||
import { TrainerConfig, getRandomPartyMemberFunc, nextTrainerId, setTrainerId } from "#trainers/trainer-config";
|
||||
import { getEvilGruntPartyTemplate } from "#trainers/trainer-party-template";
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
|
||||
|
||||
export const evilAdminTrainerConfigs: TrainerConfigs ={
|
||||
// Johto And Kanto Evil Admins
|
||||
[TrainerType.ARCHER]: new TrainerConfig(setTrainerId(TrainerType.ARCHER))
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("rocket_admin", "rocket", [SpeciesId.HOUNDOOM])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_rocket_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.ARIANA]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("rocket_admin_female", "rocket", [SpeciesId.ARBOK])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_rocket_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.PROTON]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("rocket_admin", "rocket", [SpeciesId.CROBAT])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_rocket_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.PETREL]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("rocket_admin", "rocket", [SpeciesId.WEEZING])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_rocket_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
// Hoenn Evil Admins
|
||||
[TrainerType.TABITHA]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("magma_admin", "magma", [SpeciesId.CAMERUPT])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_aqua_magma_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.COURTNEY]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("magma_admin_female", "magma", [SpeciesId.CAMERUPT])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_aqua_magma_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.MATT]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("aqua_admin", "aqua", [SpeciesId.SHARPEDO])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_aqua_magma_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.SHELLY]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("aqua_admin_female", "aqua", [SpeciesId.SHARPEDO])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_aqua_magma_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
// Sinnoh Evil Admins
|
||||
[TrainerType.JUPITER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("galactic_commander_female", "galactic", [SpeciesId.SKUNTANK])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_galactic_admin")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.MARS]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("galactic_commander_female", "galactic", [SpeciesId.PURUGLY])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_galactic_admin")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.SATURN]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("galactic_commander", "galactic", [SpeciesId.TOXICROAK])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_galactic_admin")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
// Unova Evil Admins
|
||||
[TrainerType.ZINZOLIN]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("plasma_sage", "plasma_zinzolin", [SpeciesId.CRYOGONAL])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_plasma_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.COLRESS]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("plasma_boss", "plasma_colress", [SpeciesId.KLINKLANG])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_colress")
|
||||
.setMixedBattleBgm("battle_colress")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
// Kalos Evil Admins
|
||||
[TrainerType.BRYONY]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("flare_admin_female", "flare", [SpeciesId.LIEPARD])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_flare_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
[TrainerType.XEROSIC]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("flare_admin", "flare", [SpeciesId.MALAMAR])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_flare_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
|
||||
// Alola Evil Admins
|
||||
[TrainerType.FABA]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("aether_admin", "aether", [SpeciesId.HYPNO])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_aether_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
|
||||
[TrainerType.PLUMERIA]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("skull_admin", "skull", [SpeciesId.SALAZZLE])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_skull_admin")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
|
||||
|
||||
// Galar Evil Admin
|
||||
[TrainerType.OLEANA]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("macro_admin", "macro_cosmos", [SpeciesId.GARBODOR])
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_oleana")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate()),
|
||||
|
||||
// Paldea Evil Admins
|
||||
[TrainerType.GIACOMO]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("star_admin", "star_dark", [SpeciesId.KINGAMBIT], PokemonType.DARK)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_star_admin")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setPartyMemberFunc(
|
||||
3,
|
||||
getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => {
|
||||
p.formIndex = 1; // Segin Starmobile
|
||||
p.moveset = [
|
||||
new PokemonMove(MoveId.WICKED_TORQUE),
|
||||
new PokemonMove(MoveId.SPIN_OUT),
|
||||
new PokemonMove(MoveId.PARTING_SHOT),
|
||||
new PokemonMove(MoveId.HIGH_HORSEPOWER),
|
||||
];
|
||||
}),
|
||||
),
|
||||
[TrainerType.MELA]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("star_admin", "star_fire", [SpeciesId.ARMAROUGE], PokemonType.FIRE)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_star_admin")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setPartyMemberFunc(
|
||||
3,
|
||||
getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => {
|
||||
p.formIndex = 2; // Schedar Starmobile
|
||||
p.moveset = [
|
||||
new PokemonMove(MoveId.BLAZING_TORQUE),
|
||||
new PokemonMove(MoveId.SPIN_OUT),
|
||||
new PokemonMove(MoveId.FLAME_CHARGE),
|
||||
new PokemonMove(MoveId.HIGH_HORSEPOWER),
|
||||
];
|
||||
}),
|
||||
),
|
||||
[TrainerType.ATTICUS]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("star_admin", "star_poison", [SpeciesId.REVAVROOM], PokemonType.POISON)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_star_admin")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setPartyMemberFunc(
|
||||
3,
|
||||
getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => {
|
||||
p.formIndex = 3; // Navi Starmobile
|
||||
p.moveset = [
|
||||
new PokemonMove(MoveId.NOXIOUS_TORQUE),
|
||||
new PokemonMove(MoveId.SPIN_OUT),
|
||||
new PokemonMove(MoveId.TOXIC_SPIKES),
|
||||
new PokemonMove(MoveId.HIGH_HORSEPOWER),
|
||||
];
|
||||
}),
|
||||
),
|
||||
[TrainerType.ORTEGA]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("star_admin", "star_fairy", [SpeciesId.DACHSBUN], PokemonType.FAIRY)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_star_admin")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setPartyMemberFunc(
|
||||
3,
|
||||
getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => {
|
||||
p.formIndex = 4; // Ruchbah Starmobile
|
||||
p.moveset = [
|
||||
new PokemonMove(MoveId.MAGICAL_TORQUE),
|
||||
new PokemonMove(MoveId.SPIN_OUT),
|
||||
new PokemonMove(MoveId.MISTY_TERRAIN),
|
||||
new PokemonMove(MoveId.HIGH_HORSEPOWER),
|
||||
];
|
||||
}),
|
||||
),
|
||||
[TrainerType.ERI]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.initForEvilTeamAdmin("star_admin", "star_fighting", [SpeciesId.ANNIHILAPE], PokemonType.FIGHTING)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_star_admin")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setPartyMemberFunc(
|
||||
3,
|
||||
getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => {
|
||||
p.formIndex = 5; // Caph Starmobile
|
||||
p.moveset = [
|
||||
new PokemonMove(MoveId.COMBAT_TORQUE),
|
||||
new PokemonMove(MoveId.SPIN_OUT),
|
||||
new PokemonMove(MoveId.IRON_DEFENSE),
|
||||
new PokemonMove(MoveId.HIGH_HORSEPOWER),
|
||||
];
|
||||
}),
|
||||
),
|
||||
}
|
@ -1,2 +1,480 @@
|
||||
import { SpeciesId } from "#enums/species-id";
|
||||
import { TrainerPoolTier } from "#enums/trainer-pool-tier";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { nextTrainerId, setTrainerId, TrainerConfig } from "#trainers/trainer-config";
|
||||
import { getEvilGruntPartyTemplate } from "#trainers/trainer-party-template";
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
|
||||
|
||||
export const evilGruntTrainerConfig: TrainerConfigs = {
|
||||
// Johto And Kanto Grunts
|
||||
[TrainerType.ROCKET_GRUNT]: new TrainerConfig(setTrainerId(TrainerType.ROCKET_GRUNT))
|
||||
.setHasGenders("Rocket Grunt Female")
|
||||
.setHasDouble("Rocket Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_rocket_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.WEEDLE,
|
||||
SpeciesId.RATTATA,
|
||||
SpeciesId.EKANS,
|
||||
SpeciesId.SANDSHREW,
|
||||
SpeciesId.ZUBAT,
|
||||
SpeciesId.ODDISH,
|
||||
SpeciesId.GEODUDE,
|
||||
SpeciesId.SLOWPOKE,
|
||||
SpeciesId.GRIMER,
|
||||
SpeciesId.KOFFING,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.MANKEY,
|
||||
SpeciesId.GROWLITHE,
|
||||
SpeciesId.MAGNEMITE,
|
||||
SpeciesId.ONIX,
|
||||
SpeciesId.VOLTORB,
|
||||
SpeciesId.EXEGGCUTE,
|
||||
SpeciesId.CUBONE,
|
||||
SpeciesId.LICKITUNG,
|
||||
SpeciesId.TAUROS,
|
||||
SpeciesId.MAGIKARP,
|
||||
SpeciesId.MURKROW,
|
||||
SpeciesId.ELEKID,
|
||||
SpeciesId.MAGBY,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.ABRA,
|
||||
SpeciesId.GASTLY,
|
||||
SpeciesId.SCYTHER,
|
||||
SpeciesId.PORYGON,
|
||||
SpeciesId.OMANYTE,
|
||||
SpeciesId.KABUTO,
|
||||
SpeciesId.ALOLA_RATTATA,
|
||||
SpeciesId.ALOLA_SANDSHREW,
|
||||
SpeciesId.ALOLA_MEOWTH,
|
||||
SpeciesId.ALOLA_GEODUDE,
|
||||
SpeciesId.ALOLA_GRIMER,
|
||||
SpeciesId.PALDEA_TAUROS,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.DRATINI, SpeciesId.LARVITAR],
|
||||
}),
|
||||
// Hoenn Grunts
|
||||
[TrainerType.MAGMA_GRUNT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Magma Grunt Female")
|
||||
.setHasDouble("Magma Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_aqua_magma_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.DIGLETT,
|
||||
SpeciesId.GROWLITHE,
|
||||
SpeciesId.SLUGMA,
|
||||
SpeciesId.POOCHYENA,
|
||||
SpeciesId.ZIGZAGOON,
|
||||
SpeciesId.NUMEL,
|
||||
SpeciesId.TORKOAL,
|
||||
SpeciesId.BALTOY,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.RHYHORN,
|
||||
SpeciesId.PHANPY,
|
||||
SpeciesId.MAGBY,
|
||||
SpeciesId.ZANGOOSE,
|
||||
SpeciesId.SOLROCK,
|
||||
SpeciesId.HEATMOR,
|
||||
SpeciesId.ROLYCOLY,
|
||||
SpeciesId.CAPSAKID,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.TRAPINCH,
|
||||
SpeciesId.LILEEP,
|
||||
SpeciesId.ANORITH,
|
||||
SpeciesId.GOLETT,
|
||||
SpeciesId.TURTONATOR,
|
||||
SpeciesId.TOEDSCOOL,
|
||||
SpeciesId.HISUI_GROWLITHE,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.CHARCADET, SpeciesId.ARON],
|
||||
}),
|
||||
[TrainerType.AQUA_GRUNT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Aqua Grunt Female")
|
||||
.setHasDouble("Aqua Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_aqua_magma_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.QWILFISH,
|
||||
SpeciesId.REMORAID,
|
||||
SpeciesId.ZIGZAGOON,
|
||||
SpeciesId.LOTAD,
|
||||
SpeciesId.WINGULL,
|
||||
SpeciesId.CARVANHA,
|
||||
SpeciesId.WAILMER,
|
||||
SpeciesId.BARBOACH,
|
||||
SpeciesId.CORPHISH,
|
||||
SpeciesId.SPHEAL,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.TENTACOOL,
|
||||
SpeciesId.HORSEA,
|
||||
SpeciesId.CHINCHOU,
|
||||
SpeciesId.WOOPER,
|
||||
SpeciesId.AZURILL,
|
||||
SpeciesId.SEVIPER,
|
||||
SpeciesId.CLAMPERL,
|
||||
SpeciesId.WIMPOD,
|
||||
SpeciesId.CLOBBOPUS,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.MANTYKE,
|
||||
SpeciesId.TYMPOLE,
|
||||
SpeciesId.SKRELP,
|
||||
SpeciesId.ARROKUDA,
|
||||
SpeciesId.WIGLETT,
|
||||
SpeciesId.HISUI_QWILFISH,
|
||||
SpeciesId.PALDEA_WOOPER,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.BASCULEGION, SpeciesId.DONDOZO],
|
||||
}),
|
||||
// Unova Grunts
|
||||
[TrainerType.GALACTIC_GRUNT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Galactic Grunt Female")
|
||||
.setHasDouble("Galactic Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_galactic_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.WURMPLE,
|
||||
SpeciesId.SHINX,
|
||||
SpeciesId.BURMY,
|
||||
SpeciesId.DRIFLOON,
|
||||
SpeciesId.GLAMEOW,
|
||||
SpeciesId.STUNKY,
|
||||
SpeciesId.BRONZOR,
|
||||
SpeciesId.CROAGUNK,
|
||||
SpeciesId.CARNIVINE,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.ZUBAT,
|
||||
SpeciesId.LICKITUNG,
|
||||
SpeciesId.RHYHORN,
|
||||
SpeciesId.TANGELA,
|
||||
SpeciesId.YANMA,
|
||||
SpeciesId.GLIGAR,
|
||||
SpeciesId.SWINUB,
|
||||
SpeciesId.SKORUPI,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.SNEASEL,
|
||||
SpeciesId.TEDDIURSA,
|
||||
SpeciesId.ELEKID,
|
||||
SpeciesId.MAGBY,
|
||||
SpeciesId.DUSKULL,
|
||||
SpeciesId.HISUI_GROWLITHE,
|
||||
SpeciesId.HISUI_QWILFISH,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.SPIRITOMB, SpeciesId.ROTOM, SpeciesId.HISUI_SNEASEL],
|
||||
}),
|
||||
// Sinnoh Grunts
|
||||
[TrainerType.PLASMA_GRUNT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Plasma Grunt Female")
|
||||
.setHasDouble("Plasma Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_plasma_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.PATRAT,
|
||||
SpeciesId.LILLIPUP,
|
||||
SpeciesId.PURRLOIN,
|
||||
SpeciesId.WOOBAT,
|
||||
SpeciesId.TYMPOLE,
|
||||
SpeciesId.SANDILE,
|
||||
SpeciesId.SCRAGGY,
|
||||
SpeciesId.TRUBBISH,
|
||||
SpeciesId.VANILLITE,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.TIMBURR,
|
||||
SpeciesId.VENIPEDE,
|
||||
SpeciesId.DARUMAKA,
|
||||
SpeciesId.FOONGUS,
|
||||
SpeciesId.FRILLISH,
|
||||
SpeciesId.JOLTIK,
|
||||
SpeciesId.KLINK,
|
||||
SpeciesId.CUBCHOO,
|
||||
SpeciesId.GOLETT,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.DRILBUR,
|
||||
SpeciesId.ZORUA,
|
||||
SpeciesId.MIENFOO,
|
||||
SpeciesId.PAWNIARD,
|
||||
SpeciesId.BOUFFALANT,
|
||||
SpeciesId.RUFFLET,
|
||||
SpeciesId.VULLABY,
|
||||
SpeciesId.DURANT,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.AXEW, SpeciesId.DRUDDIGON, SpeciesId.DEINO, SpeciesId.HISUI_ZORUA],
|
||||
}),
|
||||
// Kalos Grunts
|
||||
[TrainerType.FLARE_GRUNT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Flare Grunt Female")
|
||||
.setHasDouble("Flare Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_flare_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.HOUNDOUR,
|
||||
SpeciesId.GULPIN,
|
||||
SpeciesId.SKORUPI,
|
||||
SpeciesId.CROAGUNK,
|
||||
SpeciesId.PURRLOIN,
|
||||
SpeciesId.SCRAGGY,
|
||||
SpeciesId.FLETCHLING,
|
||||
SpeciesId.SCATTERBUG,
|
||||
SpeciesId.LITLEO,
|
||||
SpeciesId.ESPURR,
|
||||
SpeciesId.INKAY,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.POOCHYENA,
|
||||
SpeciesId.ELECTRIKE,
|
||||
SpeciesId.FOONGUS,
|
||||
SpeciesId.PANCHAM,
|
||||
SpeciesId.BINACLE,
|
||||
SpeciesId.SKRELP,
|
||||
SpeciesId.CLAUNCHER,
|
||||
SpeciesId.HELIOPTILE,
|
||||
SpeciesId.PHANTUMP,
|
||||
SpeciesId.PUMPKABOO,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [SpeciesId.SNEASEL, SpeciesId.LITWICK, SpeciesId.PAWNIARD, SpeciesId.NOIBAT],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.SLIGGOO, SpeciesId.HISUI_SLIGGOO, SpeciesId.HISUI_AVALUGG],
|
||||
}),
|
||||
// Alola Grunts
|
||||
[TrainerType.AETHER_GRUNT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Aether Grunt Female")
|
||||
.setHasDouble("Aether Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_aether_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.CORSOLA,
|
||||
SpeciesId.LILLIPUP,
|
||||
SpeciesId.PIKIPEK,
|
||||
SpeciesId.YUNGOOS,
|
||||
SpeciesId.ROCKRUFF,
|
||||
SpeciesId.MORELULL,
|
||||
SpeciesId.BOUNSWEET,
|
||||
SpeciesId.COMFEY,
|
||||
SpeciesId.KOMALA,
|
||||
SpeciesId.TOGEDEMARU,
|
||||
SpeciesId.ALOLA_RAICHU,
|
||||
SpeciesId.ALOLA_DIGLETT,
|
||||
SpeciesId.ALOLA_GEODUDE,
|
||||
SpeciesId.ALOLA_EXEGGUTOR,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.POLIWAG,
|
||||
SpeciesId.CRABRAWLER,
|
||||
SpeciesId.ORICORIO,
|
||||
SpeciesId.CUTIEFLY,
|
||||
SpeciesId.WISHIWASHI,
|
||||
SpeciesId.MUDBRAY,
|
||||
SpeciesId.STUFFUL,
|
||||
SpeciesId.ORANGURU,
|
||||
SpeciesId.PASSIMIAN,
|
||||
SpeciesId.PYUKUMUKU,
|
||||
SpeciesId.BRUXISH,
|
||||
SpeciesId.ALOLA_SANDSHREW,
|
||||
SpeciesId.ALOLA_VULPIX,
|
||||
SpeciesId.ALOLA_MAROWAK,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.MINIOR,
|
||||
SpeciesId.TURTONATOR,
|
||||
SpeciesId.MIMIKYU,
|
||||
SpeciesId.DRAMPA,
|
||||
SpeciesId.GALAR_CORSOLA,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.PORYGON, SpeciesId.JANGMO_O],
|
||||
}),
|
||||
[TrainerType.SKULL_GRUNT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Skull Grunt Female")
|
||||
.setHasDouble("Skull Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_skull_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.EKANS,
|
||||
SpeciesId.VENONAT,
|
||||
SpeciesId.DROWZEE,
|
||||
SpeciesId.KOFFING,
|
||||
SpeciesId.SPINARAK,
|
||||
SpeciesId.SCRAGGY,
|
||||
SpeciesId.TRUBBISH,
|
||||
SpeciesId.MAREANIE,
|
||||
SpeciesId.SALANDIT,
|
||||
SpeciesId.ALOLA_RATTATA,
|
||||
SpeciesId.ALOLA_MEOWTH,
|
||||
SpeciesId.ALOLA_GRIMER,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.ZUBAT,
|
||||
SpeciesId.GASTLY,
|
||||
SpeciesId.HOUNDOUR,
|
||||
SpeciesId.SABLEYE,
|
||||
SpeciesId.VENIPEDE,
|
||||
SpeciesId.SANDILE,
|
||||
SpeciesId.VULLABY,
|
||||
SpeciesId.PANCHAM,
|
||||
SpeciesId.FOMANTIS,
|
||||
SpeciesId.ALOLA_MAROWAK,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.PAWNIARD,
|
||||
SpeciesId.WISHIWASHI,
|
||||
SpeciesId.SANDYGAST,
|
||||
SpeciesId.MIMIKYU,
|
||||
SpeciesId.DHELMISE,
|
||||
SpeciesId.NYMBLE,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.GRUBBIN, SpeciesId.DEWPIDER],
|
||||
}),
|
||||
// Galar Grunts
|
||||
[TrainerType.MACRO_GRUNT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Macro Grunt Female")
|
||||
.setHasDouble("Macro Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_macro_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.STEELIX,
|
||||
SpeciesId.MAWILE,
|
||||
SpeciesId.FERROSEED,
|
||||
SpeciesId.KLINK,
|
||||
SpeciesId.SKWOVET,
|
||||
SpeciesId.ROOKIDEE,
|
||||
SpeciesId.ROLYCOLY,
|
||||
SpeciesId.CUFANT,
|
||||
SpeciesId.GALAR_MEOWTH,
|
||||
SpeciesId.GALAR_ZIGZAGOON,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.MAGNEMITE,
|
||||
SpeciesId.RIOLU,
|
||||
SpeciesId.DRILBUR,
|
||||
SpeciesId.APPLIN,
|
||||
SpeciesId.CRAMORANT,
|
||||
SpeciesId.ARROKUDA,
|
||||
SpeciesId.SINISTEA,
|
||||
SpeciesId.HATENNA,
|
||||
SpeciesId.FALINKS,
|
||||
SpeciesId.GALAR_PONYTA,
|
||||
SpeciesId.GALAR_YAMASK,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.SCIZOR,
|
||||
SpeciesId.BELDUM,
|
||||
SpeciesId.HONEDGE,
|
||||
SpeciesId.GALAR_FARFETCHD,
|
||||
SpeciesId.GALAR_MR_MIME,
|
||||
SpeciesId.GALAR_DARUMAKA,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.DURALUDON, SpeciesId.DREEPY],
|
||||
}),
|
||||
// Paldea Grunts
|
||||
[TrainerType.STAR_GRUNT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Star Grunt Female")
|
||||
.setHasDouble("Star Grunts")
|
||||
.setMoneyMultiplier(1.0)
|
||||
.setEncounterBgm(TrainerType.PLASMA_GRUNT)
|
||||
.setBattleBgm("battle_plasma_grunt")
|
||||
.setMixedBattleBgm("battle_star_grunt")
|
||||
.setVictoryBgm("victory_team_plasma")
|
||||
.setPartyTemplateFunc(() => getEvilGruntPartyTemplate())
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.DUNSPARCE,
|
||||
SpeciesId.HOUNDOUR,
|
||||
SpeciesId.AZURILL,
|
||||
SpeciesId.GULPIN,
|
||||
SpeciesId.FOONGUS,
|
||||
SpeciesId.FLETCHLING,
|
||||
SpeciesId.LITLEO,
|
||||
SpeciesId.FLABEBE,
|
||||
SpeciesId.CRABRAWLER,
|
||||
SpeciesId.NYMBLE,
|
||||
SpeciesId.PAWMI,
|
||||
SpeciesId.FIDOUGH,
|
||||
SpeciesId.SQUAWKABILLY,
|
||||
SpeciesId.MASCHIFF,
|
||||
SpeciesId.SHROODLE,
|
||||
SpeciesId.KLAWF,
|
||||
SpeciesId.WIGLETT,
|
||||
SpeciesId.PALDEA_WOOPER,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.KOFFING,
|
||||
SpeciesId.EEVEE,
|
||||
SpeciesId.GIRAFARIG,
|
||||
SpeciesId.RALTS,
|
||||
SpeciesId.TORKOAL,
|
||||
SpeciesId.SEVIPER,
|
||||
SpeciesId.SCRAGGY,
|
||||
SpeciesId.ZORUA,
|
||||
SpeciesId.MIMIKYU,
|
||||
SpeciesId.IMPIDIMP,
|
||||
SpeciesId.FALINKS,
|
||||
SpeciesId.CAPSAKID,
|
||||
SpeciesId.TINKATINK,
|
||||
SpeciesId.BOMBIRDIER,
|
||||
SpeciesId.CYCLIZAR,
|
||||
SpeciesId.FLAMIGO,
|
||||
SpeciesId.PALDEA_TAUROS,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.MANKEY,
|
||||
SpeciesId.PAWNIARD,
|
||||
SpeciesId.CHARCADET,
|
||||
SpeciesId.FLITTLE,
|
||||
SpeciesId.VAROOM,
|
||||
SpeciesId.ORTHWORM,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.DONDOZO, SpeciesId.GIMMIGHOUL],
|
||||
}),
|
||||
}
|
@ -9,7 +9,7 @@ import { getRandomPartyMemberFunc, nextTrainerId, setTrainerId, TrainerConfig }
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
import { isNullOrUndefined, randSeedInt } from "#utils/common";
|
||||
|
||||
export const evilAdminTrainers: TrainerConfigs = {
|
||||
export const evilAdminTrainersConfig: TrainerConfigs = {
|
||||
[TrainerType.ROCKET_BOSS_GIOVANNI_1]: new TrainerConfig(setTrainerId(TrainerType.ROCKET_BOSS_GIOVANNI_1))
|
||||
.setName("Giovanni")
|
||||
.initForEvilTeamLeader("Rocket Boss", [])
|
||||
|
@ -0,0 +1,282 @@
|
||||
import { signatureSpecies } from "#balance/signature-species";
|
||||
import { PokemonType } from "#enums/pokemon-type";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { nextTrainerId, setTrainerId, TrainerConfig } from "#trainers/trainer-config";
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
|
||||
|
||||
export const gymLeaderTrainersConfigs : TrainerConfigs = {
|
||||
[TrainerType.BROCK]: new TrainerConfig(setTrainerId(TrainerType.BROCK))
|
||||
.initForGymLeader(signatureSpecies["BROCK"], true, PokemonType.ROCK, false, -1)
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym"),
|
||||
[TrainerType.MISTY]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["MISTY"], false, PokemonType.WATER, false, -1)
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym"),
|
||||
[TrainerType.LT_SURGE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["LT_SURGE"], true, PokemonType.ELECTRIC, false, -1)
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym"),
|
||||
[TrainerType.ERIKA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["ERIKA"], false, PokemonType.GRASS, false, -1)
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym"),
|
||||
[TrainerType.JANINE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["JANINE"], false, PokemonType.POISON, false, -1)
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym"),
|
||||
[TrainerType.SABRINA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["SABRINA"], false, PokemonType.PSYCHIC, false, -1)
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym"),
|
||||
[TrainerType.BLAINE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["BLAINE"], true, PokemonType.FIRE, false, -1)
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym"),
|
||||
[TrainerType.GIOVANNI]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["GIOVANNI"], true, PokemonType.GROUND, false, -2)
|
||||
.setBattleBgm("battle_kanto_gym")
|
||||
.setMixedBattleBgm("battle_kanto_gym"),
|
||||
[TrainerType.FALKNER]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["FALKNER"], true, PokemonType.FLYING, false, -1)
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym"),
|
||||
[TrainerType.BUGSY]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["BUGSY"], true, PokemonType.BUG, false, -1)
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym"),
|
||||
[TrainerType.WHITNEY]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["WHITNEY"], false, PokemonType.NORMAL, false, -1)
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym"),
|
||||
[TrainerType.MORTY]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["MORTY"], true, PokemonType.GHOST, false, -1)
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym"),
|
||||
[TrainerType.CHUCK]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CHUCK"], true, PokemonType.FIGHTING, false, -1)
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym"),
|
||||
[TrainerType.JASMINE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["JASMINE"], false, PokemonType.STEEL, false, -1)
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym"),
|
||||
[TrainerType.PRYCE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["PRYCE"], true, PokemonType.ICE, false, -1)
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym"),
|
||||
[TrainerType.CLAIR]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CLAIR"], false, PokemonType.DRAGON, false, -3)
|
||||
.setBattleBgm("battle_johto_gym")
|
||||
.setMixedBattleBgm("battle_johto_gym"),
|
||||
[TrainerType.ROXANNE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["ROXANNE"], false, PokemonType.ROCK, false, -1)
|
||||
.setBattleBgm("battle_hoenn_gym")
|
||||
.setMixedBattleBgm("battle_hoenn_gym"),
|
||||
[TrainerType.BRAWLY]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["BRAWLY"], true, PokemonType.FIGHTING, false, -1)
|
||||
.setBattleBgm("battle_hoenn_gym")
|
||||
.setMixedBattleBgm("battle_hoenn_gym"),
|
||||
[TrainerType.WATTSON]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["WATTSON"], true, PokemonType.ELECTRIC, false, -1)
|
||||
.setBattleBgm("battle_hoenn_gym")
|
||||
.setMixedBattleBgm("battle_hoenn_gym"),
|
||||
[TrainerType.FLANNERY]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["FLANNERY"], false, PokemonType.FIRE, false, -1)
|
||||
.setBattleBgm("battle_hoenn_gym")
|
||||
.setMixedBattleBgm("battle_hoenn_gym"),
|
||||
[TrainerType.NORMAN]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["NORMAN"], true, PokemonType.NORMAL, false, -1)
|
||||
.setBattleBgm("battle_hoenn_gym")
|
||||
.setMixedBattleBgm("battle_hoenn_gym"),
|
||||
[TrainerType.WINONA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["WINONA"], false, PokemonType.FLYING, false, -1)
|
||||
.setBattleBgm("battle_hoenn_gym")
|
||||
.setMixedBattleBgm("battle_hoenn_gym"),
|
||||
[TrainerType.TATE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["TATE"], true, PokemonType.PSYCHIC, false, -1)
|
||||
.setBattleBgm("battle_hoenn_gym")
|
||||
.setMixedBattleBgm("battle_hoenn_gym")
|
||||
.setHasDouble("tate_liza_double")
|
||||
.setDoubleTrainerType(TrainerType.LIZA)
|
||||
.setDoubleTitle("gym_leader_double"),
|
||||
[TrainerType.LIZA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["LIZA"], false, PokemonType.PSYCHIC, false, -1)
|
||||
.setBattleBgm("battle_hoenn_gym")
|
||||
.setMixedBattleBgm("battle_hoenn_gym")
|
||||
.setHasDouble("liza_tate_double")
|
||||
.setDoubleTrainerType(TrainerType.TATE)
|
||||
.setDoubleTitle("gym_leader_double"),
|
||||
[TrainerType.JUAN]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["JUAN"], true, PokemonType.WATER, false, -1)
|
||||
.setBattleBgm("battle_hoenn_gym")
|
||||
.setMixedBattleBgm("battle_hoenn_gym"),
|
||||
[TrainerType.ROARK]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["ROARK"], true, PokemonType.ROCK, false, -1)
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym"),
|
||||
[TrainerType.GARDENIA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["GARDENIA"], false, PokemonType.GRASS, false, -1)
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym"),
|
||||
[TrainerType.MAYLENE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["MAYLENE"], false, PokemonType.FIGHTING, false, -1)
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym"),
|
||||
[TrainerType.CRASHER_WAKE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CRASHER_WAKE"], true, PokemonType.WATER, false, -1)
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym"),
|
||||
[TrainerType.FANTINA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["FANTINA"], false, PokemonType.GHOST, false, -1)
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym"),
|
||||
[TrainerType.BYRON]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["BYRON"], true, PokemonType.STEEL, false, -1)
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym"),
|
||||
[TrainerType.CANDICE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CANDICE"], false, PokemonType.ICE, false, -1)
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym"),
|
||||
[TrainerType.VOLKNER]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["VOLKNER"], true, PokemonType.ELECTRIC, false, -1)
|
||||
.setBattleBgm("battle_sinnoh_gym")
|
||||
.setMixedBattleBgm("battle_sinnoh_gym"),
|
||||
[TrainerType.CILAN]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CILAN"], true, PokemonType.GRASS, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.CHILI]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CHILI"], true, PokemonType.FIRE, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.CRESS]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CRESS"], true, PokemonType.WATER, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.CHEREN]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CHEREN"], true, PokemonType.NORMAL, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.LENORA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["LENORA"], false, PokemonType.NORMAL, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.ROXIE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["ROXIE"], false, PokemonType.POISON, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.BURGH]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["BURGH"], true, PokemonType.BUG, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.ELESA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["ELESA"], false, PokemonType.ELECTRIC, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.CLAY]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CLAY"], true, PokemonType.GROUND, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.SKYLA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["SKYLA"], false, PokemonType.FLYING, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.BRYCEN]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["BRYCEN"], true, PokemonType.ICE, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.DRAYDEN]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["DRAYDEN"], true, PokemonType.DRAGON, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.MARLON]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["MARLON"], true, PokemonType.WATER, false, -1)
|
||||
.setMixedBattleBgm("battle_unova_gym"),
|
||||
[TrainerType.VIOLA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["VIOLA"], false, PokemonType.BUG, false, -1)
|
||||
.setMixedBattleBgm("battle_kalos_gym"),
|
||||
[TrainerType.GRANT]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["GRANT"], true, PokemonType.ROCK, false, -1)
|
||||
.setMixedBattleBgm("battle_kalos_gym"),
|
||||
[TrainerType.KORRINA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["KORRINA"], false, PokemonType.FIGHTING, false, -1)
|
||||
.setMixedBattleBgm("battle_kalos_gym"),
|
||||
[TrainerType.RAMOS]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["RAMOS"], true, PokemonType.GRASS, false, -1)
|
||||
.setMixedBattleBgm("battle_kalos_gym"),
|
||||
[TrainerType.CLEMONT]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["CLEMONT"], true, PokemonType.ELECTRIC, false, -1)
|
||||
.setMixedBattleBgm("battle_kalos_gym"),
|
||||
[TrainerType.VALERIE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["VALERIE"], false, PokemonType.FAIRY, false, -1)
|
||||
.setMixedBattleBgm("battle_kalos_gym"),
|
||||
[TrainerType.OLYMPIA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["OLYMPIA"], false, PokemonType.PSYCHIC, false, -1)
|
||||
.setMixedBattleBgm("battle_kalos_gym"),
|
||||
[TrainerType.WULFRIC]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["WULFRIC"], true, PokemonType.ICE, false, -1)
|
||||
.setMixedBattleBgm("battle_kalos_gym"),
|
||||
[TrainerType.MILO]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["MILO"], true, PokemonType.GRASS, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.NESSA]: new TrainerConfig(nextTrainerId())
|
||||
.setName("Nessa")
|
||||
.initForGymLeader(signatureSpecies["NESSA"], false, PokemonType.WATER, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.KABU]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["KABU"], true, PokemonType.FIRE, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.BEA]: new TrainerConfig(nextTrainerId())
|
||||
.setName("Bea")
|
||||
.initForGymLeader(signatureSpecies["BEA"], false, PokemonType.FIGHTING, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.ALLISTER]: new TrainerConfig(nextTrainerId())
|
||||
.setName("Allister")
|
||||
.initForGymLeader(signatureSpecies["ALLISTER"], true, PokemonType.GHOST, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.OPAL]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["OPAL"], false, PokemonType.FAIRY, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.BEDE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["BEDE"], true, PokemonType.FAIRY, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.GORDIE]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["GORDIE"], true, PokemonType.ROCK, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.MELONY]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["MELONY"], false, PokemonType.ICE, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.PIERS]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["PIERS"], true, PokemonType.DARK, false, -3)
|
||||
.setHasDouble("piers_marnie_double")
|
||||
.setDoubleTrainerType(TrainerType.MARNIE)
|
||||
.setDoubleTitle("gym_leader_double")
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.MARNIE]: new TrainerConfig(nextTrainerId())
|
||||
.setName("Marnie")
|
||||
.initForGymLeader(signatureSpecies["MARNIE"], false, PokemonType.DARK, false, -4)
|
||||
.setHasDouble("marnie_piers_double")
|
||||
.setDoubleTrainerType(TrainerType.PIERS)
|
||||
.setDoubleTitle("gym_leader_double")
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.RAIHAN]: new TrainerConfig(nextTrainerId())
|
||||
.setName("Raihan")
|
||||
.initForGymLeader(signatureSpecies["RAIHAN"], true, PokemonType.DRAGON, false, -1)
|
||||
.setMixedBattleBgm("battle_galar_gym"),
|
||||
[TrainerType.KATY]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["KATY"], false, PokemonType.BUG, true, -1)
|
||||
.setMixedBattleBgm("battle_paldea_gym"),
|
||||
[TrainerType.BRASSIUS]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["BRASSIUS"], true, PokemonType.GRASS, true, -1)
|
||||
.setMixedBattleBgm("battle_paldea_gym"),
|
||||
[TrainerType.IONO]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["IONO"], false, PokemonType.ELECTRIC, true, -1)
|
||||
.setMixedBattleBgm("battle_paldea_gym"),
|
||||
[TrainerType.KOFU]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["KOFU"], true, PokemonType.WATER, true, -1)
|
||||
.setMixedBattleBgm("battle_paldea_gym"),
|
||||
[TrainerType.LARRY]: new TrainerConfig(nextTrainerId())
|
||||
.setName("Larry")
|
||||
.initForGymLeader(signatureSpecies["LARRY"], true, PokemonType.NORMAL, true, -1)
|
||||
.setMixedBattleBgm("battle_paldea_gym"),
|
||||
[TrainerType.RYME]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["RYME"], false, PokemonType.GHOST, true, -1)
|
||||
.setMixedBattleBgm("battle_paldea_gym"),
|
||||
[TrainerType.TULIP]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["TULIP"], false, PokemonType.PSYCHIC, true, -1)
|
||||
.setMixedBattleBgm("battle_paldea_gym"),
|
||||
[TrainerType.GRUSHA]: new TrainerConfig(nextTrainerId())
|
||||
.initForGymLeader(signatureSpecies["GRUSHA"], true, PokemonType.ICE, true, -1)
|
||||
.setMixedBattleBgm("battle_paldea_gym"),
|
||||
}
|
@ -3,14 +3,14 @@ import { PokeballType } from "#enums/pokeball";
|
||||
import { SpeciesId } from "#enums/species-id";
|
||||
import { TrainerSlot } from "#enums/trainer-slot";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { getRandomPartyMemberFunc, nextTrainerId, TrainerConfig } from "#trainers/trainer-config";
|
||||
import { getRandomPartyMemberFunc, nextTrainerId, setTrainerId, TrainerConfig } from "#trainers/trainer-config";
|
||||
import { TrainerPartyCompoundTemplate, TrainerPartyTemplate, trainerPartyTemplates } from "#trainers/trainer-party-template";
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
|
||||
export const mysteryEventTrainers: TrainerConfigs = {
|
||||
|
||||
export const mysteryEventTrainersConfigs: TrainerConfigs = {
|
||||
// Mystery Event Test Trainer Encounter
|
||||
[TrainerType.BUCK]: new TrainerConfig(nextTrainerId())
|
||||
[TrainerType.BUCK]: new TrainerConfig(setTrainerId(TrainerType.BUCK))
|
||||
.setName("Buck")
|
||||
.initForStatTrainer(true)
|
||||
.setPartyMemberFunc(
|
||||
|
@ -0,0 +1,939 @@
|
||||
import { tmSpecies } from "#balance/tms";
|
||||
import { AbilityId } from "#enums/ability-id";
|
||||
import { MoveId } from "#enums/move-id";
|
||||
import { PokemonType } from "#enums/pokemon-type";
|
||||
import { SpeciesId } from "#enums/species-id";
|
||||
import { TrainerPoolTier } from "#enums/trainer-pool-tier";
|
||||
import { TrainerSlot } from "#enums/trainer-slot";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { TrainerConfig, getRandomPartyMemberFunc, nextTrainerId, setTrainerId } from "#trainers/trainer-config";
|
||||
import { getWavePartyTemplate, trainerPartyTemplates } from "#trainers/trainer-party-template";
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
|
||||
|
||||
export const randomNPCTrainersConfig: TrainerConfigs = {
|
||||
[TrainerType.ACE_TRAINER]: new TrainerConfig(setTrainerId(TrainerType.ACE_TRAINER))
|
||||
.setHasGenders("Ace Trainer Female")
|
||||
.setHasDouble("Ace Duo")
|
||||
.setMoneyMultiplier(2.25)
|
||||
.setEncounterBgm(TrainerType.ACE_TRAINER)
|
||||
.setPartyTemplateFunc(() =>
|
||||
getWavePartyTemplate(
|
||||
trainerPartyTemplates.THREE_WEAK_BALANCED,
|
||||
trainerPartyTemplates.FOUR_WEAK_BALANCED,
|
||||
trainerPartyTemplates.FIVE_WEAK_BALANCED,
|
||||
trainerPartyTemplates.SIX_WEAK_BALANCED,
|
||||
),
|
||||
),
|
||||
[TrainerType.ARTIST]: new TrainerConfig(nextTrainerId())
|
||||
.setEncounterBgm(TrainerType.RICH)
|
||||
.setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.THREE_AVG)
|
||||
.setSpeciesPools([SpeciesId.SMEARGLE]),
|
||||
[TrainerType.BACKERS]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Backers")
|
||||
.setDoubleOnly()
|
||||
.setEncounterBgm(TrainerType.CYCLIST),
|
||||
[TrainerType.BACKPACKER]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Backpacker Female")
|
||||
.setHasDouble("Backpackers")
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.FLYING) || s.isOfType(PokemonType.ROCK))
|
||||
.setEncounterBgm(TrainerType.BACKPACKER)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.ONE_STRONG,
|
||||
trainerPartyTemplates.ONE_WEAK_ONE_STRONG,
|
||||
trainerPartyTemplates.ONE_AVG_ONE_STRONG,
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.RHYHORN,
|
||||
SpeciesId.AIPOM,
|
||||
SpeciesId.MAKUHITA,
|
||||
SpeciesId.MAWILE,
|
||||
SpeciesId.NUMEL,
|
||||
SpeciesId.LILLIPUP,
|
||||
SpeciesId.SANDILE,
|
||||
SpeciesId.WOOLOO,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.GIRAFARIG,
|
||||
SpeciesId.ZANGOOSE,
|
||||
SpeciesId.SEVIPER,
|
||||
SpeciesId.CUBCHOO,
|
||||
SpeciesId.PANCHAM,
|
||||
SpeciesId.SKIDDO,
|
||||
SpeciesId.MUDBRAY,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.TAUROS,
|
||||
SpeciesId.STANTLER,
|
||||
SpeciesId.DARUMAKA,
|
||||
SpeciesId.BOUFFALANT,
|
||||
SpeciesId.DEERLING,
|
||||
SpeciesId.IMPIDIMP,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.GALAR_DARUMAKA, SpeciesId.TEDDIURSA],
|
||||
}),
|
||||
[TrainerType.BAKER]: new TrainerConfig(nextTrainerId())
|
||||
.setEncounterBgm(TrainerType.CLERK)
|
||||
.setMoneyMultiplier(1.35)
|
||||
.setSpeciesFilter(
|
||||
s =>
|
||||
[s.ability1, s.ability2, s.abilityHidden].some(
|
||||
a =>
|
||||
!!a
|
||||
&& [
|
||||
AbilityId.WHITE_SMOKE,
|
||||
AbilityId.GLUTTONY,
|
||||
AbilityId.HONEY_GATHER,
|
||||
AbilityId.HARVEST,
|
||||
AbilityId.CHEEK_POUCH,
|
||||
AbilityId.SWEET_VEIL,
|
||||
AbilityId.RIPEN,
|
||||
AbilityId.PURIFYING_SALT,
|
||||
AbilityId.WELL_BAKED_BODY,
|
||||
AbilityId.SUPERSWEET_SYRUP,
|
||||
AbilityId.HOSPITALITY,
|
||||
].includes(a),
|
||||
)
|
||||
|| s
|
||||
.getLevelMoves()
|
||||
.some(plm =>
|
||||
[MoveId.SOFT_BOILED, MoveId.SPORE, MoveId.MILK_DRINK, MoveId.OVERHEAT, MoveId.TEATIME].includes(plm[1]),
|
||||
),
|
||||
), // Mons with baking related abilities or who learn Overheat, Teatime, Milk Drink, Spore, or Soft-Boiled by level
|
||||
[TrainerType.BEAUTY]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.55)
|
||||
.setEncounterBgm(TrainerType.PARASOL_LADY)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG,
|
||||
trainerPartyTemplates.TWO_AVG_SAME_ONE_STRONG,
|
||||
trainerPartyTemplates.THREE_AVG_SAME,
|
||||
trainerPartyTemplates.THREE_AVG,
|
||||
trainerPartyTemplates.FOUR_WEAK,
|
||||
trainerPartyTemplates.ONE_STRONG,
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.MEOWTH,
|
||||
SpeciesId.GOLDEEN,
|
||||
SpeciesId.MAREEP,
|
||||
SpeciesId.MARILL,
|
||||
SpeciesId.SKITTY,
|
||||
SpeciesId.GLAMEOW,
|
||||
SpeciesId.PURRLOIN,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.SMOOCHUM,
|
||||
SpeciesId.ROSELIA,
|
||||
SpeciesId.LUVDISC,
|
||||
SpeciesId.BLITZLE,
|
||||
SpeciesId.SEWADDLE,
|
||||
SpeciesId.PETILIL,
|
||||
SpeciesId.MINCCINO,
|
||||
SpeciesId.GOTHITA,
|
||||
SpeciesId.SPRITZEE,
|
||||
SpeciesId.FLITTLE,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.FEEBAS,
|
||||
SpeciesId.FURFROU,
|
||||
SpeciesId.SALANDIT,
|
||||
SpeciesId.BRUXISH,
|
||||
SpeciesId.HATENNA,
|
||||
SpeciesId.SNOM,
|
||||
SpeciesId.ALOLA_VULPIX,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [
|
||||
SpeciesId.CLAMPERL,
|
||||
SpeciesId.AMAURA,
|
||||
SpeciesId.SYLVEON,
|
||||
SpeciesId.GOOMY,
|
||||
SpeciesId.POPPLIO,
|
||||
],
|
||||
}),
|
||||
[TrainerType.BIKER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.4)
|
||||
.setEncounterBgm(TrainerType.ROUGHNECK)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.EKANS,
|
||||
SpeciesId.KOFFING,
|
||||
SpeciesId.CROAGUNK,
|
||||
SpeciesId.VENIPEDE,
|
||||
SpeciesId.SCRAGGY,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.GRIMER,
|
||||
SpeciesId.VOLTORB,
|
||||
SpeciesId.TEDDIURSA,
|
||||
SpeciesId.MAGBY,
|
||||
SpeciesId.SKORUPI,
|
||||
SpeciesId.SANDILE,
|
||||
SpeciesId.PAWNIARD,
|
||||
SpeciesId.SHROODLE,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [SpeciesId.VAROOM, SpeciesId.CYCLIZAR],
|
||||
}),
|
||||
[TrainerType.BLACK_BELT]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Battle Girl", TrainerType.PSYCHIC)
|
||||
.setHasDouble("Crush Kin")
|
||||
.setEncounterBgm(TrainerType.ROUGHNECK)
|
||||
.setSpecialtyType(PokemonType.FIGHTING)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_WEAK_ONE_AVG,
|
||||
trainerPartyTemplates.TWO_WEAK_ONE_AVG,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.TWO_WEAK_ONE_STRONG,
|
||||
trainerPartyTemplates.THREE_AVG,
|
||||
trainerPartyTemplates.TWO_AVG_ONE_STRONG,
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.NIDORAN_F,
|
||||
SpeciesId.NIDORAN_M,
|
||||
SpeciesId.MACHOP,
|
||||
SpeciesId.MAKUHITA,
|
||||
SpeciesId.MEDITITE,
|
||||
SpeciesId.CROAGUNK,
|
||||
SpeciesId.TIMBURR,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.MANKEY,
|
||||
SpeciesId.POLIWRATH,
|
||||
SpeciesId.TYROGUE,
|
||||
SpeciesId.BRELOOM,
|
||||
SpeciesId.SCRAGGY,
|
||||
SpeciesId.MIENFOO,
|
||||
SpeciesId.PANCHAM,
|
||||
SpeciesId.STUFFUL,
|
||||
SpeciesId.CRABRAWLER,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.HERACROSS,
|
||||
SpeciesId.RIOLU,
|
||||
SpeciesId.THROH,
|
||||
SpeciesId.SAWK,
|
||||
SpeciesId.PASSIMIAN,
|
||||
SpeciesId.CLOBBOPUS,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [
|
||||
SpeciesId.HITMONTOP,
|
||||
SpeciesId.INFERNAPE,
|
||||
SpeciesId.GALLADE,
|
||||
SpeciesId.HAWLUCHA,
|
||||
SpeciesId.HAKAMO_O,
|
||||
],
|
||||
[TrainerPoolTier.ULTRA_RARE]: [SpeciesId.KUBFU],
|
||||
}),
|
||||
[TrainerType.BREEDER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.325)
|
||||
.setEncounterBgm(TrainerType.POKEFAN)
|
||||
.setHasGenders("Breeder Female")
|
||||
.setHasDouble("Breeders")
|
||||
.setPartyTemplateFunc(() =>
|
||||
getWavePartyTemplate(
|
||||
trainerPartyTemplates.FOUR_WEAK,
|
||||
trainerPartyTemplates.FIVE_WEAK,
|
||||
trainerPartyTemplates.SIX_WEAK,
|
||||
),
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.PICHU,
|
||||
SpeciesId.CLEFFA,
|
||||
SpeciesId.IGGLYBUFF,
|
||||
SpeciesId.TOGEPI,
|
||||
SpeciesId.TYROGUE,
|
||||
SpeciesId.SMOOCHUM,
|
||||
SpeciesId.AZURILL,
|
||||
SpeciesId.BUDEW,
|
||||
SpeciesId.CHINGLING,
|
||||
SpeciesId.BONSLY,
|
||||
SpeciesId.MIME_JR,
|
||||
SpeciesId.HAPPINY,
|
||||
SpeciesId.MANTYKE,
|
||||
SpeciesId.TOXEL,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.DITTO,
|
||||
SpeciesId.ELEKID,
|
||||
SpeciesId.MAGBY,
|
||||
SpeciesId.WYNAUT,
|
||||
SpeciesId.MUNCHLAX,
|
||||
SpeciesId.RIOLU,
|
||||
SpeciesId.AUDINO,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.ALOLA_RATTATA,
|
||||
SpeciesId.ALOLA_SANDSHREW,
|
||||
SpeciesId.ALOLA_VULPIX,
|
||||
SpeciesId.ALOLA_DIGLETT,
|
||||
SpeciesId.ALOLA_MEOWTH,
|
||||
SpeciesId.GALAR_PONYTA,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [
|
||||
SpeciesId.ALOLA_GEODUDE,
|
||||
SpeciesId.ALOLA_GRIMER,
|
||||
SpeciesId.GALAR_MEOWTH,
|
||||
SpeciesId.GALAR_SLOWPOKE,
|
||||
SpeciesId.GALAR_FARFETCHD,
|
||||
SpeciesId.HISUI_GROWLITHE,
|
||||
SpeciesId.HISUI_VOLTORB,
|
||||
SpeciesId.HISUI_QWILFISH,
|
||||
SpeciesId.HISUI_SNEASEL,
|
||||
SpeciesId.HISUI_ZORUA,
|
||||
],
|
||||
}),
|
||||
[TrainerType.CLERK]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Clerk Female")
|
||||
.setHasDouble("Colleagues")
|
||||
.setEncounterBgm(TrainerType.CLERK)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_WEAK,
|
||||
trainerPartyTemplates.THREE_WEAK,
|
||||
trainerPartyTemplates.ONE_AVG,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.TWO_WEAK_ONE_AVG,
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.MEOWTH,
|
||||
SpeciesId.PSYDUCK,
|
||||
SpeciesId.BUDEW,
|
||||
SpeciesId.PIDOVE,
|
||||
SpeciesId.CINCCINO,
|
||||
SpeciesId.LITLEO,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.JIGGLYPUFF,
|
||||
SpeciesId.MAGNEMITE,
|
||||
SpeciesId.MARILL,
|
||||
SpeciesId.COTTONEE,
|
||||
SpeciesId.SKIDDO,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [SpeciesId.BUIZEL, SpeciesId.SNEASEL, SpeciesId.KLEFKI, SpeciesId.INDEEDEE],
|
||||
}),
|
||||
[TrainerType.CYCLIST]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.3)
|
||||
.setHasGenders("Cyclist Female")
|
||||
.setHasDouble("Cyclists")
|
||||
.setEncounterBgm(TrainerType.CYCLIST)
|
||||
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.DODUO,
|
||||
SpeciesId.PICHU,
|
||||
SpeciesId.TAILLOW,
|
||||
SpeciesId.STARLY,
|
||||
SpeciesId.PONYTA,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.ELECTRIKE,
|
||||
SpeciesId.SHINX,
|
||||
SpeciesId.BLITZLE,
|
||||
SpeciesId.DUCKLETT,
|
||||
SpeciesId.WATTREL,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.YANMA,
|
||||
SpeciesId.NINJASK,
|
||||
SpeciesId.VENIPEDE,
|
||||
SpeciesId.EMOLGA,
|
||||
SpeciesId.SKIDDO,
|
||||
SpeciesId.ROLYCOLY,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.SHELMET, SpeciesId.DREEPY],
|
||||
}),
|
||||
[TrainerType.DANCER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.55)
|
||||
.setEncounterBgm(TrainerType.CYCLIST)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_WEAK,
|
||||
trainerPartyTemplates.ONE_AVG,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME,
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [SpeciesId.RALTS, SpeciesId.SPOINK, SpeciesId.LOTAD, SpeciesId.BUDEW],
|
||||
[TrainerPoolTier.UNCOMMON]: [SpeciesId.SPINDA, SpeciesId.SWABLU, SpeciesId.MARACTUS],
|
||||
[TrainerPoolTier.RARE]: [SpeciesId.BELLOSSOM, SpeciesId.HITMONTOP, SpeciesId.MIME_JR, SpeciesId.ORICORIO],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.QUAXLY, SpeciesId.JANGMO_O],
|
||||
}),
|
||||
[TrainerType.DEPOT_AGENT]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.45)
|
||||
.setEncounterBgm(TrainerType.CLERK)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.THREE_WEAK,
|
||||
trainerPartyTemplates.THREE_AVG,
|
||||
trainerPartyTemplates.FOUR_WEAK,
|
||||
)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.GROUND)),
|
||||
[TrainerType.DOCTOR]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Nurse", "lass")
|
||||
.setHasDouble("Medical Team")
|
||||
.setMoneyMultiplier(3)
|
||||
.setEncounterBgm(TrainerType.CLERK)
|
||||
.setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === MoveId.HEAL_PULSE)),
|
||||
[TrainerType.FIREBREATHER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.4)
|
||||
.setEncounterBgm(TrainerType.ROUGHNECK)
|
||||
.setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === MoveId.SMOG) || s.isOfType(PokemonType.FIRE)),
|
||||
[TrainerType.FISHERMAN]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.25)
|
||||
.setEncounterBgm(TrainerType.BACKPACKER)
|
||||
.setSpecialtyType(PokemonType.WATER)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG,
|
||||
trainerPartyTemplates.ONE_AVG,
|
||||
trainerPartyTemplates.THREE_WEAK_SAME,
|
||||
trainerPartyTemplates.ONE_STRONG,
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.TENTACOOL,
|
||||
SpeciesId.MAGIKARP,
|
||||
SpeciesId.GOLDEEN,
|
||||
SpeciesId.STARYU,
|
||||
SpeciesId.REMORAID,
|
||||
SpeciesId.SKRELP,
|
||||
SpeciesId.CLAUNCHER,
|
||||
SpeciesId.ARROKUDA,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.POLIWAG,
|
||||
SpeciesId.SHELLDER,
|
||||
SpeciesId.KRABBY,
|
||||
SpeciesId.HORSEA,
|
||||
SpeciesId.CARVANHA,
|
||||
SpeciesId.BARBOACH,
|
||||
SpeciesId.CORPHISH,
|
||||
SpeciesId.FINNEON,
|
||||
SpeciesId.TYMPOLE,
|
||||
SpeciesId.BASCULIN,
|
||||
SpeciesId.FRILLISH,
|
||||
SpeciesId.INKAY,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.CHINCHOU,
|
||||
SpeciesId.CORSOLA,
|
||||
SpeciesId.WAILMER,
|
||||
SpeciesId.CLAMPERL,
|
||||
SpeciesId.LUVDISC,
|
||||
SpeciesId.MANTYKE,
|
||||
SpeciesId.ALOMOMOLA,
|
||||
SpeciesId.TATSUGIRI,
|
||||
SpeciesId.VELUZA,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.LAPRAS, SpeciesId.FEEBAS, SpeciesId.RELICANTH, SpeciesId.DONDOZO],
|
||||
}),
|
||||
[TrainerType.GUITARIST]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.2)
|
||||
.setEncounterBgm(TrainerType.ROUGHNECK)
|
||||
.setSpecialtyType(PokemonType.ELECTRIC)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.ELECTRIC)),
|
||||
[TrainerType.HARLEQUIN]: new TrainerConfig(nextTrainerId())
|
||||
.setEncounterBgm(TrainerType.PSYCHIC)
|
||||
.setSpeciesFilter(s => tmSpecies[MoveId.TRICK_ROOM].indexOf(s.speciesId) > -1),
|
||||
[TrainerType.HIKER]: new TrainerConfig(nextTrainerId())
|
||||
.setEncounterBgm(TrainerType.BACKPACKER)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG,
|
||||
trainerPartyTemplates.TWO_AVG_SAME_ONE_STRONG,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.FOUR_WEAK,
|
||||
trainerPartyTemplates.ONE_STRONG,
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.SANDSHREW,
|
||||
SpeciesId.DIGLETT,
|
||||
SpeciesId.GEODUDE,
|
||||
SpeciesId.MACHOP,
|
||||
SpeciesId.ARON,
|
||||
SpeciesId.ROGGENROLA,
|
||||
SpeciesId.DRILBUR,
|
||||
SpeciesId.NACLI,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.ZUBAT,
|
||||
SpeciesId.RHYHORN,
|
||||
SpeciesId.ONIX,
|
||||
SpeciesId.CUBONE,
|
||||
SpeciesId.WOOBAT,
|
||||
SpeciesId.SWINUB,
|
||||
SpeciesId.NOSEPASS,
|
||||
SpeciesId.HIPPOPOTAS,
|
||||
SpeciesId.DWEBBLE,
|
||||
SpeciesId.KLAWF,
|
||||
SpeciesId.TOEDSCOOL,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.TORKOAL,
|
||||
SpeciesId.TRAPINCH,
|
||||
SpeciesId.BARBOACH,
|
||||
SpeciesId.GOLETT,
|
||||
SpeciesId.ALOLA_DIGLETT,
|
||||
SpeciesId.ALOLA_GEODUDE,
|
||||
SpeciesId.GALAR_STUNFISK,
|
||||
SpeciesId.PALDEA_WOOPER,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.MAGBY, SpeciesId.LARVITAR],
|
||||
}),
|
||||
[TrainerType.HOOLIGANS]: new TrainerConfig(nextTrainerId())
|
||||
.setDoubleOnly()
|
||||
.setMoneyMultiplier(1.5)
|
||||
.setEncounterBgm(TrainerType.ROUGHNECK)
|
||||
.setPartyTemplateFunc(() =>
|
||||
getWavePartyTemplate(
|
||||
trainerPartyTemplates.TWO_WEAK,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.ONE_AVG_ONE_STRONG,
|
||||
),
|
||||
)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.POISON) || s.isOfType(PokemonType.DARK)),
|
||||
[TrainerType.HOOPSTER]: new TrainerConfig(nextTrainerId()).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
||||
[TrainerType.INFIELDER]: new TrainerConfig(nextTrainerId()).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
||||
[TrainerType.JANITOR]: new TrainerConfig(nextTrainerId()).setMoneyMultiplier(1.1).setEncounterBgm(TrainerType.CLERK),
|
||||
[TrainerType.LINEBACKER]: new TrainerConfig(nextTrainerId()).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
||||
[TrainerType.MAID]: new TrainerConfig(nextTrainerId()).setMoneyMultiplier(1.6).setEncounterBgm(TrainerType.RICH),
|
||||
[TrainerType.MUSICIAN]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.1)
|
||||
.setEncounterBgm(TrainerType.POKEFAN)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.THREE_WEAK,
|
||||
trainerPartyTemplates.TWO_WEAK_ONE_AVG,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
)
|
||||
.setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === MoveId.SING)),
|
||||
[TrainerType.HEX_MANIAC]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.5)
|
||||
.setEncounterBgm(TrainerType.PSYCHIC)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.ONE_AVG_ONE_STRONG,
|
||||
trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG,
|
||||
trainerPartyTemplates.THREE_AVG,
|
||||
trainerPartyTemplates.TWO_STRONG,
|
||||
)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.GHOST) || s.isOfType(PokemonType.PSYCHIC)),
|
||||
[TrainerType.NURSERY_AIDE]: new TrainerConfig(nextTrainerId()).setMoneyMultiplier(1.3).setEncounterBgm("lass"),
|
||||
[TrainerType.OFFICER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.55)
|
||||
.setEncounterBgm(TrainerType.CLERK)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.ONE_AVG,
|
||||
trainerPartyTemplates.ONE_STRONG,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG,
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.VULPIX,
|
||||
SpeciesId.GROWLITHE,
|
||||
SpeciesId.SNUBBULL,
|
||||
SpeciesId.POOCHYENA,
|
||||
SpeciesId.ELECTRIKE,
|
||||
SpeciesId.LILLIPUP,
|
||||
SpeciesId.YAMPER,
|
||||
SpeciesId.FIDOUGH,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [SpeciesId.HOUNDOUR, SpeciesId.ROCKRUFF, SpeciesId.MASCHIFF],
|
||||
[TrainerPoolTier.RARE]: [SpeciesId.JOLTEON, SpeciesId.RIOLU],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.SLAKOTH],
|
||||
[TrainerPoolTier.ULTRA_RARE]: [SpeciesId.ENTEI, SpeciesId.SUICUNE, SpeciesId.RAIKOU],
|
||||
}),
|
||||
[TrainerType.PARASOL_LADY]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.55)
|
||||
.setEncounterBgm(TrainerType.PARASOL_LADY)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG,
|
||||
trainerPartyTemplates.TWO_AVG_SAME_ONE_STRONG,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.FOUR_WEAK,
|
||||
trainerPartyTemplates.ONE_STRONG,
|
||||
)
|
||||
.setSpeciesFilter(
|
||||
s =>
|
||||
[s.ability1, s.ability2, s.abilityHidden].some(
|
||||
a =>
|
||||
!!a
|
||||
&& [
|
||||
AbilityId.DRIZZLE,
|
||||
AbilityId.SWIFT_SWIM,
|
||||
AbilityId.HYDRATION,
|
||||
AbilityId.RAIN_DISH,
|
||||
AbilityId.DRY_SKIN,
|
||||
AbilityId.WIND_POWER,
|
||||
].includes(a),
|
||||
) || s.getLevelMoves().some(plm => plm[1] === MoveId.RAIN_DANCE),
|
||||
), // Mons with rain abilities or who learn Rain Dance by level
|
||||
[TrainerType.PILOT]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.75)
|
||||
.setEncounterBgm(TrainerType.CLERK)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.THREE_WEAK,
|
||||
trainerPartyTemplates.TWO_WEAK_ONE_AVG,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.THREE_AVG,
|
||||
)
|
||||
.setSpeciesFilter(s => tmSpecies[MoveId.FLY].indexOf(s.speciesId) > -1),
|
||||
[TrainerType.POKEFAN]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.4)
|
||||
.setName("Pokéfan")
|
||||
.setHasGenders("Pokéfan Female")
|
||||
.setHasDouble("Pokéfan Family")
|
||||
.setEncounterBgm(TrainerType.POKEFAN)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.FOUR_WEAK,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.ONE_STRONG,
|
||||
trainerPartyTemplates.FIVE_WEAK,
|
||||
)
|
||||
.setSpeciesFilter(s => tmSpecies[MoveId.HELPING_HAND].indexOf(s.speciesId) > -1),
|
||||
[TrainerType.PRESCHOOLER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(0.2)
|
||||
.setEncounterBgm(TrainerType.YOUNGSTER)
|
||||
.setHasGenders("Preschooler Female", "lass")
|
||||
.setHasDouble("Preschoolers")
|
||||
.setPartyTemplates(trainerPartyTemplates.THREE_WEAK, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.CATERPIE,
|
||||
SpeciesId.PICHU,
|
||||
SpeciesId.SANDSHREW,
|
||||
SpeciesId.LEDYBA,
|
||||
SpeciesId.BUDEW,
|
||||
SpeciesId.BURMY,
|
||||
SpeciesId.WOOLOO,
|
||||
SpeciesId.PAWMI,
|
||||
SpeciesId.SMOLIV,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.EEVEE,
|
||||
SpeciesId.CLEFFA,
|
||||
SpeciesId.IGGLYBUFF,
|
||||
SpeciesId.SWINUB,
|
||||
SpeciesId.WOOPER,
|
||||
SpeciesId.DRIFLOON,
|
||||
SpeciesId.DEDENNE,
|
||||
SpeciesId.STUFFUL,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [SpeciesId.RALTS, SpeciesId.RIOLU, SpeciesId.JOLTIK, SpeciesId.TANDEMAUS],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.DARUMAKA, SpeciesId.TINKATINK],
|
||||
}),
|
||||
[TrainerType.PSYCHIC]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Psychic Female")
|
||||
.setHasDouble("Psychics")
|
||||
.setMoneyMultiplier(1.4)
|
||||
.setEncounterBgm(TrainerType.PSYCHIC)
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.TWO_WEAK,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG,
|
||||
trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME,
|
||||
trainerPartyTemplates.ONE_STRONGER,
|
||||
)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.ABRA,
|
||||
SpeciesId.DROWZEE,
|
||||
SpeciesId.RALTS,
|
||||
SpeciesId.SPOINK,
|
||||
SpeciesId.GOTHITA,
|
||||
SpeciesId.SOLOSIS,
|
||||
SpeciesId.BLIPBUG,
|
||||
SpeciesId.ESPURR,
|
||||
SpeciesId.HATENNA,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.MIME_JR,
|
||||
SpeciesId.EXEGGCUTE,
|
||||
SpeciesId.MEDITITE,
|
||||
SpeciesId.NATU,
|
||||
SpeciesId.EXEGGCUTE,
|
||||
SpeciesId.WOOBAT,
|
||||
SpeciesId.INKAY,
|
||||
SpeciesId.ORANGURU,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.ELGYEM,
|
||||
SpeciesId.SIGILYPH,
|
||||
SpeciesId.BALTOY,
|
||||
SpeciesId.GIRAFARIG,
|
||||
SpeciesId.MEOWSTIC,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.BELDUM, SpeciesId.ESPEON, SpeciesId.STANTLER],
|
||||
}),
|
||||
[TrainerType.RANGER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.4)
|
||||
.setName("Pokémon Ranger")
|
||||
.setEncounterBgm(TrainerType.BACKPACKER)
|
||||
.setHasGenders("Pokémon Ranger Female")
|
||||
.setHasDouble("Pokémon Rangers")
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.PICHU,
|
||||
SpeciesId.GROWLITHE,
|
||||
SpeciesId.PONYTA,
|
||||
SpeciesId.ZIGZAGOON,
|
||||
SpeciesId.SEEDOT,
|
||||
SpeciesId.BIDOOF,
|
||||
SpeciesId.RIOLU,
|
||||
SpeciesId.SEWADDLE,
|
||||
SpeciesId.SKIDDO,
|
||||
SpeciesId.SALANDIT,
|
||||
SpeciesId.YAMPER,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.AZURILL,
|
||||
SpeciesId.TAUROS,
|
||||
SpeciesId.MAREEP,
|
||||
SpeciesId.FARFETCHD,
|
||||
SpeciesId.TEDDIURSA,
|
||||
SpeciesId.SHROOMISH,
|
||||
SpeciesId.ELECTRIKE,
|
||||
SpeciesId.BUDEW,
|
||||
SpeciesId.BUIZEL,
|
||||
SpeciesId.MUDBRAY,
|
||||
SpeciesId.STUFFUL,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.EEVEE,
|
||||
SpeciesId.SCYTHER,
|
||||
SpeciesId.KANGASKHAN,
|
||||
SpeciesId.RALTS,
|
||||
SpeciesId.MUNCHLAX,
|
||||
SpeciesId.ZORUA,
|
||||
SpeciesId.PALDEA_TAUROS,
|
||||
SpeciesId.TINKATINK,
|
||||
SpeciesId.CYCLIZAR,
|
||||
SpeciesId.FLAMIGO,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.LARVESTA],
|
||||
}),
|
||||
[TrainerType.RICH]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(3.25)
|
||||
.setName("Gentleman")
|
||||
.setHasGenders("Madame")
|
||||
.setHasDouble("Rich Couple")
|
||||
.setPartyTemplates(
|
||||
trainerPartyTemplates.THREE_WEAK,
|
||||
trainerPartyTemplates.FOUR_WEAK,
|
||||
trainerPartyTemplates.TWO_WEAK_ONE_AVG,
|
||||
trainerPartyTemplates.THREE_AVG,
|
||||
)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.NORMAL) || s.isOfType(PokemonType.ELECTRIC)),
|
||||
[TrainerType.RICH_KID]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(2.5)
|
||||
.setName("Rich Boy")
|
||||
.setHasGenders("Lady")
|
||||
.setHasDouble("Rich Kids")
|
||||
.setEncounterBgm(TrainerType.RICH)
|
||||
.setPartyTemplates(trainerPartyTemplates.THREE_WEAK_SAME, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG)
|
||||
.setSpeciesFilter(s => s.baseTotal <= 460),
|
||||
[TrainerType.ROUGHNECK]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.4)
|
||||
.setEncounterBgm(TrainerType.ROUGHNECK)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.DARK)),
|
||||
[TrainerType.SAILOR]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.4)
|
||||
.setEncounterBgm(TrainerType.BACKPACKER)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.WATER) || s.isOfType(PokemonType.FIGHTING)),
|
||||
[TrainerType.SCIENTIST]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Scientist Female")
|
||||
.setHasDouble("Scientists")
|
||||
.setMoneyMultiplier(1.7)
|
||||
.setEncounterBgm(TrainerType.SCIENTIST)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.MAGNEMITE,
|
||||
SpeciesId.GRIMER,
|
||||
SpeciesId.DROWZEE,
|
||||
SpeciesId.VOLTORB,
|
||||
SpeciesId.KOFFING,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.BALTOY,
|
||||
SpeciesId.BRONZOR,
|
||||
SpeciesId.FERROSEED,
|
||||
SpeciesId.KLINK,
|
||||
SpeciesId.CHARJABUG,
|
||||
SpeciesId.BLIPBUG,
|
||||
SpeciesId.HELIOPTILE,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [
|
||||
SpeciesId.ABRA,
|
||||
SpeciesId.DITTO,
|
||||
SpeciesId.PORYGON,
|
||||
SpeciesId.ELEKID,
|
||||
SpeciesId.SOLOSIS,
|
||||
SpeciesId.GALAR_WEEZING,
|
||||
],
|
||||
[TrainerPoolTier.SUPER_RARE]: [
|
||||
SpeciesId.OMANYTE,
|
||||
SpeciesId.KABUTO,
|
||||
SpeciesId.AERODACTYL,
|
||||
SpeciesId.LILEEP,
|
||||
SpeciesId.ANORITH,
|
||||
SpeciesId.CRANIDOS,
|
||||
SpeciesId.SHIELDON,
|
||||
SpeciesId.TIRTOUGA,
|
||||
SpeciesId.ARCHEN,
|
||||
SpeciesId.ARCTOVISH,
|
||||
SpeciesId.ARCTOZOLT,
|
||||
SpeciesId.DRACOVISH,
|
||||
SpeciesId.DRACOZOLT,
|
||||
],
|
||||
[TrainerPoolTier.ULTRA_RARE]: [SpeciesId.ROTOM, SpeciesId.MELTAN],
|
||||
}),
|
||||
[TrainerType.SMASHER]: new TrainerConfig(nextTrainerId()).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
||||
[TrainerType.SNOW_WORKER]: new TrainerConfig(nextTrainerId())
|
||||
.setName("Worker")
|
||||
.setHasDouble("Workers")
|
||||
.setMoneyMultiplier(1.7)
|
||||
.setEncounterBgm(TrainerType.CLERK)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.ICE) || s.isOfType(PokemonType.STEEL)),
|
||||
[TrainerType.STRIKER]: new TrainerConfig(nextTrainerId()).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
||||
[TrainerType.SCHOOL_KID]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(0.75)
|
||||
.setEncounterBgm(TrainerType.YOUNGSTER)
|
||||
.setHasGenders("School Kid Female", "lass")
|
||||
.setHasDouble("School Kids")
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.ODDISH,
|
||||
SpeciesId.EXEGGCUTE,
|
||||
SpeciesId.TEDDIURSA,
|
||||
SpeciesId.WURMPLE,
|
||||
SpeciesId.RALTS,
|
||||
SpeciesId.SHROOMISH,
|
||||
SpeciesId.FLETCHLING,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [
|
||||
SpeciesId.VOLTORB,
|
||||
SpeciesId.WHISMUR,
|
||||
SpeciesId.MEDITITE,
|
||||
SpeciesId.MIME_JR,
|
||||
SpeciesId.NYMBLE,
|
||||
],
|
||||
[TrainerPoolTier.RARE]: [SpeciesId.TANGELA, SpeciesId.EEVEE, SpeciesId.YANMA],
|
||||
[TrainerPoolTier.SUPER_RARE]: [SpeciesId.TADBULB],
|
||||
}),
|
||||
[TrainerType.SWIMMER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(1.3)
|
||||
.setEncounterBgm(TrainerType.PARASOL_LADY)
|
||||
.setHasGenders("Swimmer Female")
|
||||
.setHasDouble("Swimmers")
|
||||
.setSpecialtyType(PokemonType.WATER)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.WATER)),
|
||||
[TrainerType.TWINS]: new TrainerConfig(nextTrainerId())
|
||||
.setDoubleOnly()
|
||||
.setMoneyMultiplier(0.65)
|
||||
.setUseSameSeedForAllMembers()
|
||||
.setPartyTemplateFunc(() =>
|
||||
getWavePartyTemplate(
|
||||
trainerPartyTemplates.TWO_WEAK,
|
||||
trainerPartyTemplates.TWO_AVG,
|
||||
trainerPartyTemplates.TWO_STRONG,
|
||||
),
|
||||
)
|
||||
.setPartyMemberFunc(
|
||||
0,
|
||||
getRandomPartyMemberFunc([
|
||||
SpeciesId.METAPOD,
|
||||
SpeciesId.LEDYBA,
|
||||
SpeciesId.CLEFFA,
|
||||
SpeciesId.MAREEP,
|
||||
SpeciesId.WOOPER,
|
||||
SpeciesId.TEDDIURSA,
|
||||
SpeciesId.REMORAID,
|
||||
SpeciesId.HOUNDOUR,
|
||||
SpeciesId.SILCOON,
|
||||
SpeciesId.PLUSLE,
|
||||
SpeciesId.VOLBEAT,
|
||||
SpeciesId.SPINDA,
|
||||
SpeciesId.BONSLY,
|
||||
SpeciesId.PETILIL,
|
||||
SpeciesId.SPRITZEE,
|
||||
SpeciesId.BOUNSWEET,
|
||||
SpeciesId.MILCERY,
|
||||
SpeciesId.PICHU,
|
||||
]),
|
||||
)
|
||||
.setPartyMemberFunc(
|
||||
1,
|
||||
getRandomPartyMemberFunc(
|
||||
[
|
||||
SpeciesId.KAKUNA,
|
||||
SpeciesId.SPINARAK,
|
||||
SpeciesId.IGGLYBUFF,
|
||||
SpeciesId.MAREEP,
|
||||
SpeciesId.PALDEA_WOOPER,
|
||||
SpeciesId.PHANPY,
|
||||
SpeciesId.MANTYKE,
|
||||
SpeciesId.ELECTRIKE,
|
||||
SpeciesId.CASCOON,
|
||||
SpeciesId.MINUN,
|
||||
SpeciesId.ILLUMISE,
|
||||
SpeciesId.SPINDA,
|
||||
SpeciesId.MIME_JR,
|
||||
SpeciesId.COTTONEE,
|
||||
SpeciesId.SWIRLIX,
|
||||
SpeciesId.FOMANTIS,
|
||||
SpeciesId.FIDOUGH,
|
||||
SpeciesId.EEVEE,
|
||||
],
|
||||
TrainerSlot.TRAINER_PARTNER,
|
||||
),
|
||||
)
|
||||
.setEncounterBgm(TrainerType.TWINS),
|
||||
[TrainerType.VETERAN]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Veteran Female")
|
||||
.setHasDouble("Veteran Duo")
|
||||
.setMoneyMultiplier(2.5)
|
||||
.setEncounterBgm(TrainerType.ACE_TRAINER)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.DRAGON)),
|
||||
[TrainerType.WAITER]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Waitress")
|
||||
.setHasDouble("Restaurant Staff")
|
||||
.setMoneyMultiplier(1.5)
|
||||
.setEncounterBgm(TrainerType.CLERK)
|
||||
.setSpeciesPools({
|
||||
[TrainerPoolTier.COMMON]: [
|
||||
SpeciesId.CLEFFA,
|
||||
SpeciesId.CHATOT,
|
||||
SpeciesId.PANSAGE,
|
||||
SpeciesId.PANSEAR,
|
||||
SpeciesId.PANPOUR,
|
||||
SpeciesId.MINCCINO,
|
||||
],
|
||||
[TrainerPoolTier.UNCOMMON]: [SpeciesId.TROPIUS, SpeciesId.PETILIL, SpeciesId.BOUNSWEET, SpeciesId.INDEEDEE],
|
||||
[TrainerPoolTier.RARE]: [SpeciesId.APPLIN, SpeciesId.SINISTEA, SpeciesId.POLTCHAGEIST],
|
||||
}),
|
||||
[TrainerType.WORKER]: new TrainerConfig(nextTrainerId())
|
||||
.setHasGenders("Worker Female")
|
||||
.setHasDouble("Workers")
|
||||
.setEncounterBgm(TrainerType.CLERK)
|
||||
.setMoneyMultiplier(1.7)
|
||||
.setSpeciesFilter(s => s.isOfType(PokemonType.ROCK) || s.isOfType(PokemonType.STEEL)),
|
||||
[TrainerType.YOUNGSTER]: new TrainerConfig(nextTrainerId())
|
||||
.setMoneyMultiplier(0.5)
|
||||
.setEncounterBgm(TrainerType.YOUNGSTER)
|
||||
.setHasGenders("Lass", "lass")
|
||||
.setHasDouble("Beginners")
|
||||
.setPartyTemplates(trainerPartyTemplates.TWO_WEAKER)
|
||||
.setSpeciesPools([
|
||||
SpeciesId.CATERPIE,
|
||||
SpeciesId.WEEDLE,
|
||||
SpeciesId.RATTATA,
|
||||
SpeciesId.SENTRET,
|
||||
SpeciesId.POOCHYENA,
|
||||
SpeciesId.ZIGZAGOON,
|
||||
SpeciesId.WURMPLE,
|
||||
SpeciesId.BIDOOF,
|
||||
SpeciesId.PATRAT,
|
||||
SpeciesId.LILLIPUP,
|
||||
]),
|
||||
}
|
@ -6,11 +6,11 @@ import { PokeballType } from "#enums/pokeball";
|
||||
import { SpeciesId } from "#enums/species-id";
|
||||
import { TrainerSlot } from "#enums/trainer-slot";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { getRandomPartyMemberFunc, nextTrainerId, setTrainerId, TrainerConfig } from "#trainers/trainer-config";
|
||||
import { getRandomPartyMemberFunc, getSpeciesFilterRandomPartyMemberFunc, nextTrainerId, setTrainerId, TrainerConfig } from "#trainers/trainer-config";
|
||||
import { trainerPartyTemplates } from "#trainers/trainer-party-template";
|
||||
import { TrainerConfigs } from "#types/trainer-funcs";
|
||||
|
||||
export const rivalTrainer : TrainerConfigs = {
|
||||
export const rivalTrainerConfigs : TrainerConfigs = {
|
||||
// Rival floor 8
|
||||
[TrainerType.RIVAL]: new TrainerConfig(setTrainerId(TrainerType.RIVAL))
|
||||
.setName("Finn")
|
||||
@ -511,7 +511,4 @@ export const rivalTrainer : TrainerConfigs = {
|
||||
)
|
||||
.setInstantTera(0), // Tera starter to primary type
|
||||
}
|
||||
function getSpeciesFilterRandomPartyMemberFunc(arg0: (species: PokemonSpecies) => boolean): import("#types/trainer-funcs").PartyMemberFunc {
|
||||
throw new Error("Function not implemented.");
|
||||
}
|
||||
|
||||
|
@ -51,40 +51,40 @@ export enum TrainerType {
|
||||
WAITER,
|
||||
WORKER,
|
||||
YOUNGSTER,
|
||||
ROCKET_GRUNT,
|
||||
ARCHER,
|
||||
ROCKET_GRUNT = 51,
|
||||
MAGMA_GRUNT,
|
||||
AQUA_GRUNT,
|
||||
GALACTIC_GRUNT,
|
||||
PLASMA_GRUNT,
|
||||
FLARE_GRUNT,
|
||||
AETHER_GRUNT,
|
||||
SKULL_GRUNT,
|
||||
MACRO_GRUNT,
|
||||
STAR_GRUNT,
|
||||
ARCHER = 61,
|
||||
ARIANA,
|
||||
PROTON,
|
||||
PETREL,
|
||||
MAGMA_GRUNT,
|
||||
TABITHA,
|
||||
COURTNEY,
|
||||
AQUA_GRUNT,
|
||||
MATT,
|
||||
SHELLY,
|
||||
GALACTIC_GRUNT,
|
||||
JUPITER,
|
||||
MARS,
|
||||
SATURN,
|
||||
PLASMA_GRUNT,
|
||||
ZINZOLIN,
|
||||
COLRESS,
|
||||
FLARE_GRUNT,
|
||||
BRYONY,
|
||||
XEROSIC,
|
||||
AETHER_GRUNT,
|
||||
FABA,
|
||||
SKULL_GRUNT,
|
||||
PLUMERIA,
|
||||
MACRO_GRUNT,
|
||||
OLEANA,
|
||||
STAR_GRUNT,
|
||||
GIACOMO,
|
||||
MELA,
|
||||
ATTICUS,
|
||||
ORTEGA,
|
||||
ERI,
|
||||
ROCKET_BOSS_GIOVANNI_1,
|
||||
ROCKET_BOSS_GIOVANNI_1 = 84,
|
||||
ROCKET_BOSS_GIOVANNI_2,
|
||||
MAXIE,
|
||||
MAXIE_2,
|
||||
@ -104,7 +104,7 @@ export enum TrainerType {
|
||||
ROSE_2,
|
||||
PENNY,
|
||||
PENNY_2,
|
||||
BUCK,
|
||||
BUCK = 104,
|
||||
CHERYL,
|
||||
MARLEY,
|
||||
MIRA,
|
||||
|
@ -14,8 +14,8 @@ import { TrainerVariant } from "#enums/trainer-variant";
|
||||
import type { EnemyPokemon } from "#field/pokemon";
|
||||
import type { PersistentModifier } from "#modifiers/modifier";
|
||||
import { getIsInitialized, initI18n } from "#plugins/i18n";
|
||||
import type { TrainerConfig } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import type { TrainerConfig } from "#trainers/trainer-configs-init";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import { TrainerPartyCompoundTemplate, type TrainerPartyTemplate } from "#trainers/trainer-party-template";
|
||||
import { randSeedInt, randSeedItem } from "#utils/common";
|
||||
import { getRandomLocaleEntry } from "#utils/i18n";
|
||||
|
@ -22,7 +22,7 @@ import { PokemonData } from "#system/pokemon-data";
|
||||
import { RibbonData, type RibbonFlag } from "#system/ribbons/ribbon-data";
|
||||
import { awardRibbonsToSpeciesLine } from "#system/ribbons/ribbon-methods";
|
||||
import { TrainerData } from "#system/trainer-data";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import { checkSpeciesValidForChallenge, isNuzlockeChallenge } from "#utils/challenge-utils";
|
||||
import { isLocal, isLocalServerConnected } from "#utils/common";
|
||||
import { getPokemonSpecies } from "#utils/pokemon-utils";
|
||||
|
@ -60,7 +60,7 @@ import {
|
||||
applySystemVersionMigration,
|
||||
} from "#system/version-migration/version-converter";
|
||||
import { VoucherType, vouchers } from "#system/voucher";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import type { DexData, DexEntry } from "#types/dex-data";
|
||||
import { RUN_HISTORY_LIMIT } from "#ui/handlers/run-history-ui-handler";
|
||||
import { applyChallenges } from "#utils/challenge-utils";
|
||||
|
@ -1,7 +1,7 @@
|
||||
import type { PlayerGender } from "#enums/player-gender";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { AchvTier, achvs, getAchievementDescription } from "#system/achv";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-configs-init";
|
||||
import type { ConditionFn } from "#types/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -18,7 +18,7 @@ import {
|
||||
} from "#test/mystery-encounter/encounter-test-utils";
|
||||
import { GameManager } from "#test/test-utils/game-manager";
|
||||
import { initSceneWithoutEncounterPhase } from "#test/test-utils/game-manager-utils";
|
||||
import { TrainerConfig } from "#trainers/trainer-config";
|
||||
import { TrainerConfig } from "#trainers/trainer-configs-init";
|
||||
import { TrainerPartyCompoundTemplate, TrainerPartyTemplate } from "#trainers/trainer-party-template";
|
||||
import { ModifierSelectUiHandler } from "#ui/handlers/modifier-select-ui-handler";
|
||||
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
Loading…
Reference in New Issue
Block a user