mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-14 04:12:18 +02:00
Issue #745 - Added the option to localize titles, trainer names (for important trainers like elite 4, champs etc) and trainer classes.
- Also i already did the whole localization for german (sorry thats the only language is speak other then english...) - Also renamed the trainer Type "student" to school_kid (because there apparently really is a trainer class called student since the gen 9 dlc) - And i changed it so it makes sure that i18 only gets initalized once (it may be needed to initalize it before the loading phase so the elite 4 titles etc can be localized)
This commit is contained in:
parent
34aa68df14
commit
9b63ab0c0e
@ -1647,7 +1647,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
|
|||||||
[BiomePoolTier.BOSS_ULTRA_RARE]: []
|
[BiomePoolTier.BOSS_ULTRA_RARE]: []
|
||||||
},
|
},
|
||||||
[Biome.GRASS]: {
|
[Biome.GRASS]: {
|
||||||
[BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.STUDENT ],
|
[BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.SCHOOL_KID ],
|
||||||
[BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ],
|
[BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ],
|
||||||
[BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ],
|
[BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ],
|
||||||
[BiomePoolTier.SUPER_RARE]: [],
|
[BiomePoolTier.SUPER_RARE]: [],
|
||||||
@ -7270,7 +7270,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
[ TrainerType.STRIKER, [] ],
|
[ TrainerType.STRIKER, [] ],
|
||||||
[ TrainerType.STUDENT, [
|
[ TrainerType.SCHOOL_KID, [
|
||||||
[ Biome.GRASS, BiomePoolTier.COMMON ]
|
[ Biome.GRASS, BiomePoolTier.COMMON ]
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
@ -288,7 +288,7 @@ export const trainerTypeDialogue = {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[TrainerType.STUDENT]: [
|
[TrainerType.SCHOOL_KID]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
`…Heehee. I'm confident in my calculations and analysis.`,
|
`…Heehee. I'm confident in my calculations and analysis.`,
|
||||||
|
@ -43,7 +43,7 @@ export enum TrainerType {
|
|||||||
SMASHER,
|
SMASHER,
|
||||||
SNOW_WORKER,
|
SNOW_WORKER,
|
||||||
STRIKER,
|
STRIKER,
|
||||||
STUDENT,
|
SCHOOL_KID,
|
||||||
SWIMMER,
|
SWIMMER,
|
||||||
TWINS,
|
TWINS,
|
||||||
VETERAN,
|
VETERAN,
|
||||||
|
@ -1,19 +1,21 @@
|
|||||||
import BattleScene, { startingWave } from "../battle-scene";
|
import BattleScene, {startingWave} from "../battle-scene";
|
||||||
import { ModifierTypeFunc, modifierTypes } from "../modifier/modifier-type";
|
import {ModifierTypeFunc, modifierTypes} from "../modifier/modifier-type";
|
||||||
import { EnemyPokemon } from "../field/pokemon";
|
import {EnemyPokemon} from "../field/pokemon";
|
||||||
import * as Utils from "../utils";
|
import * as Utils from "../utils";
|
||||||
import { TrainerType } from "./enums/trainer-type";
|
import {TrainerType} from "./enums/trainer-type";
|
||||||
import { Moves } from "./enums/moves";
|
import {Moves} from "./enums/moves";
|
||||||
import { PokeballType } from "./pokeball";
|
import {PokeballType} from "./pokeball";
|
||||||
import { pokemonEvolutions, pokemonPrevolutions } from "./pokemon-evolutions";
|
import {pokemonEvolutions, pokemonPrevolutions} from "./pokemon-evolutions";
|
||||||
import PokemonSpecies, { PokemonSpeciesFilter, getPokemonSpecies } from "./pokemon-species";
|
import PokemonSpecies, {PokemonSpeciesFilter, getPokemonSpecies} from "./pokemon-species";
|
||||||
import { Species } from "./enums/species";
|
import {Species} from "./enums/species";
|
||||||
import { tmSpecies } from "./tms";
|
import {tmSpecies} from "./tms";
|
||||||
import { Type } from "./type";
|
import {Type} from "./type";
|
||||||
import { initTrainerTypeDialogue } from "./dialogue";
|
import {initTrainerTypeDialogue} from "./dialogue";
|
||||||
import { PersistentModifier } from "../modifier/modifier";
|
import {PersistentModifier} from "../modifier/modifier";
|
||||||
import { TrainerVariant } from "../field/trainer";
|
import {TrainerVariant} from "../field/trainer";
|
||||||
import { PartyMemberStrength } from "./enums/party-member-strength";
|
import {PartyMemberStrength} from "./enums/party-member-strength";
|
||||||
|
import i18next from "i18next";
|
||||||
|
import {getIsInitialized, initI18n} from "#app/plugins/i18n";
|
||||||
|
|
||||||
export enum TrainerPoolTier {
|
export enum TrainerPoolTier {
|
||||||
COMMON,
|
COMMON,
|
||||||
@ -211,7 +213,7 @@ export class TrainerConfig {
|
|||||||
this.name = Utils.toReadableString(TrainerType[this.getDerivedType()]);
|
this.name = Utils.toReadableString(TrainerType[this.getDerivedType()]);
|
||||||
this.battleBgm = 'battle_trainer';
|
this.battleBgm = 'battle_trainer';
|
||||||
this.victoryBgm = 'victory_trainer';
|
this.victoryBgm = 'victory_trainer';
|
||||||
this.partyTemplates = [ trainerPartyTemplates.TWO_AVG ];
|
this.partyTemplates = [trainerPartyTemplates.TWO_AVG];
|
||||||
this.speciesFilter = species => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden();
|
this.speciesFilter = species => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,12 +229,33 @@ export class TrainerConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setName(name: string): TrainerConfig {
|
setName(name: string): TrainerConfig {
|
||||||
|
if (name === 'Finn' || name === 'Ivy') {
|
||||||
|
// Give the rival a localized name
|
||||||
|
// First check if i18n is initialized
|
||||||
|
if (!getIsInitialized()) {
|
||||||
|
initI18n();
|
||||||
|
}
|
||||||
|
if (name === 'Finn') {
|
||||||
|
this.name = i18next.t('trainerNames:rival');
|
||||||
|
}
|
||||||
|
if (name === 'Ivy') {
|
||||||
|
this.name = i18next.t('trainerNames:rival_female');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
this.name = name;
|
this.name = name;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
setTitle(title: string): TrainerConfig {
|
setTitle(title: string): TrainerConfig {
|
||||||
this.title = title;
|
// First check if i18n is initialized
|
||||||
|
if (!getIsInitialized()) {
|
||||||
|
initI18n();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.title = i18next.t(`titles:${title}`);
|
||||||
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,7 +357,7 @@ export class TrainerConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setSpeciesPools(speciesPools: TrainerTierPools | Species[]): TrainerConfig {
|
setSpeciesPools(speciesPools: TrainerTierPools | Species[]): TrainerConfig {
|
||||||
this.speciesPools = (Array.isArray(speciesPools) ? { [TrainerPoolTier.COMMON]: speciesPools } : speciesPools) as unknown as TrainerTierPools;
|
this.speciesPools = (Array.isArray(speciesPools) ? {[TrainerPoolTier.COMMON]: speciesPools} : speciesPools) as unknown as TrainerTierPools;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,17 +388,25 @@ export class TrainerConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
initForGymLeader(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig {
|
initForGymLeader(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig {
|
||||||
|
|
||||||
this.setPartyTemplateFunc(getGymLeaderPartyTemplate);
|
this.setPartyTemplateFunc(getGymLeaderPartyTemplate);
|
||||||
signatureSpecies.forEach((speciesPool, s) => {
|
signatureSpecies.forEach((speciesPool, s) => {
|
||||||
if (!Array.isArray(speciesPool))
|
if (!Array.isArray(speciesPool))
|
||||||
speciesPool = [ speciesPool ];
|
speciesPool = [speciesPool];
|
||||||
this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool));
|
this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool));
|
||||||
});
|
});
|
||||||
if (specialtyTypes.length) {
|
if (specialtyTypes.length) {
|
||||||
this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) !== undefined);
|
this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) !== undefined);
|
||||||
this.setSpecialtyTypes(...specialtyTypes);
|
this.setSpecialtyTypes(...specialtyTypes);
|
||||||
}
|
}
|
||||||
this.setTitle('Gym Leader');
|
|
||||||
|
// Handle name by checking this.name - making it lowercase and replacing spaces with underscores and then calling i18next.t with the name
|
||||||
|
const nameForCall = this.name.toLowerCase().replace(/\s/g, '_');
|
||||||
|
this.name = i18next.t(`trainerNames:${nameForCall}`);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
this.setTitle("gym_leader");
|
||||||
this.setMoneyMultiplier(2.5);
|
this.setMoneyMultiplier(2.5);
|
||||||
this.setBoss();
|
this.setBoss();
|
||||||
this.setStaticParty();
|
this.setStaticParty();
|
||||||
@ -389,10 +420,12 @@ export class TrainerConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
initForEliteFour(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig {
|
initForEliteFour(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig {
|
||||||
|
|
||||||
|
|
||||||
this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR);
|
this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR);
|
||||||
signatureSpecies.forEach((speciesPool, s) => {
|
signatureSpecies.forEach((speciesPool, s) => {
|
||||||
if (!Array.isArray(speciesPool))
|
if (!Array.isArray(speciesPool))
|
||||||
speciesPool = [ speciesPool ];
|
speciesPool = [speciesPool];
|
||||||
this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool));
|
this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool));
|
||||||
});
|
});
|
||||||
if (specialtyTypes.length) {
|
if (specialtyTypes.length) {
|
||||||
@ -400,7 +433,11 @@ export class TrainerConfig {
|
|||||||
this.setSpecialtyTypes(...specialtyTypes);
|
this.setSpecialtyTypes(...specialtyTypes);
|
||||||
} else
|
} else
|
||||||
this.setSpeciesFilter(p => p.baseTotal >= 450);
|
this.setSpeciesFilter(p => p.baseTotal >= 450);
|
||||||
this.setTitle('Elite Four');
|
// Handle name by checking this.name - making it lowercase and replacing spaces with underscores and then calling i18next.t with the name
|
||||||
|
const nameForCall = this.name.toLowerCase().replace(/\s/g, '_');
|
||||||
|
this.name = i18next.t(`trainerNames:${nameForCall}`);
|
||||||
|
|
||||||
|
this.setTitle("elite_four");
|
||||||
this.setMoneyMultiplier(3.25);
|
this.setMoneyMultiplier(3.25);
|
||||||
this.setBoss();
|
this.setBoss();
|
||||||
this.setStaticParty();
|
this.setStaticParty();
|
||||||
@ -411,14 +448,18 @@ export class TrainerConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
initForChampion(signatureSpecies: (Species | Species[])[]): TrainerConfig {
|
initForChampion(signatureSpecies: (Species | Species[])[]): TrainerConfig {
|
||||||
|
|
||||||
this.setPartyTemplates(trainerPartyTemplates.CHAMPION);
|
this.setPartyTemplates(trainerPartyTemplates.CHAMPION);
|
||||||
signatureSpecies.forEach((speciesPool, s) => {
|
signatureSpecies.forEach((speciesPool, s) => {
|
||||||
if (!Array.isArray(speciesPool))
|
if (!Array.isArray(speciesPool))
|
||||||
speciesPool = [ speciesPool ];
|
speciesPool = [speciesPool];
|
||||||
this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool));
|
this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool));
|
||||||
});
|
});
|
||||||
this.setSpeciesFilter(p => p.baseTotal >= 470);
|
this.setSpeciesFilter(p => p.baseTotal >= 470);
|
||||||
this.setTitle('Champion');
|
// Handle name by checking this.name - making it lowercase and replacing spaces with underscores and then calling i18next.t with the name
|
||||||
|
const nameForCall = this.name.toLowerCase().replace(/\s/g, '_');
|
||||||
|
this.name = i18next.t(`trainerNames:${nameForCall}`);
|
||||||
|
this.setTitle("champion");
|
||||||
this.setMoneyMultiplier(10);
|
this.setMoneyMultiplier(10);
|
||||||
this.setBoss();
|
this.setBoss();
|
||||||
this.setStaticParty();
|
this.setStaticParty();
|
||||||
@ -456,10 +497,21 @@ export class TrainerConfig {
|
|||||||
scene.load.once(Phaser.Loader.Events.COMPLETE, () => {
|
scene.load.once(Phaser.Loader.Events.COMPLETE, () => {
|
||||||
const originalWarn = console.warn;
|
const originalWarn = console.warn;
|
||||||
// Ignore warnings for missing frames, because there will be a lot
|
// Ignore warnings for missing frames, because there will be a lot
|
||||||
console.warn = () => {};
|
console.warn = () => {
|
||||||
const frameNames = scene.anims.generateFrameNames(trainerKey, { zeroPad: 4, suffix: ".png", start: 1, end: 128 });
|
};
|
||||||
|
const frameNames = scene.anims.generateFrameNames(trainerKey, {
|
||||||
|
zeroPad: 4,
|
||||||
|
suffix: ".png",
|
||||||
|
start: 1,
|
||||||
|
end: 128
|
||||||
|
});
|
||||||
const partnerFrameNames = isDouble
|
const partnerFrameNames = isDouble
|
||||||
? scene.anims.generateFrameNames(partnerTrainerKey, { zeroPad: 4, suffix: ".png", start: 1, end: 128 })
|
? scene.anims.generateFrameNames(partnerTrainerKey, {
|
||||||
|
zeroPad: 4,
|
||||||
|
suffix: ".png",
|
||||||
|
start: 1,
|
||||||
|
end: 128
|
||||||
|
})
|
||||||
: null;
|
: null;
|
||||||
console.warn = originalWarn;
|
console.warn = originalWarn;
|
||||||
scene.anims.create({
|
scene.anims.create({
|
||||||
@ -522,7 +574,7 @@ function getRandomTeraModifiers(party: EnemyPokemon[], count: integer, types?: T
|
|||||||
for (let t = 0; t < Math.min(count, party.length); t++) {
|
for (let t = 0; t < Math.min(count, party.length); t++) {
|
||||||
const randomIndex = Utils.randSeedItem(partyMemberIndexes);
|
const randomIndex = Utils.randSeedItem(partyMemberIndexes);
|
||||||
partyMemberIndexes.splice(partyMemberIndexes.indexOf(randomIndex), 1);
|
partyMemberIndexes.splice(partyMemberIndexes.indexOf(randomIndex), 1);
|
||||||
ret.push(modifierTypes.TERA_SHARD().generateType(null, [ Utils.randSeedItem(types ? types : party[randomIndex].getTypes()) ]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(party[randomIndex]) as PersistentModifier);
|
ret.push(modifierTypes.TERA_SHARD().generateType(null, [Utils.randSeedItem(types ? types : party[randomIndex].getTypes())]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(party[randomIndex]) as PersistentModifier);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -532,15 +584,15 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
[TrainerType.ACE_TRAINER]: new TrainerConfig(++t).setHasGenders().setHasDouble('Ace Duo').setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.ACE_TRAINER)
|
[TrainerType.ACE_TRAINER]: new TrainerConfig(++t).setHasGenders().setHasDouble('Ace Duo').setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.ACE_TRAINER)
|
||||||
.setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.THREE_WEAK_BALANCED, trainerPartyTemplates.FOUR_WEAK_BALANCED, trainerPartyTemplates.FIVE_WEAK_BALANCED, trainerPartyTemplates.SIX_WEAK_BALANCED)),
|
.setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.THREE_WEAK_BALANCED, trainerPartyTemplates.FOUR_WEAK_BALANCED, trainerPartyTemplates.FIVE_WEAK_BALANCED, trainerPartyTemplates.SIX_WEAK_BALANCED)),
|
||||||
[TrainerType.ARTIST]: new TrainerConfig(++t).setEncounterBgm(TrainerType.RICH).setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.THREE_AVG)
|
[TrainerType.ARTIST]: new TrainerConfig(++t).setEncounterBgm(TrainerType.RICH).setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.THREE_AVG)
|
||||||
.setSpeciesPools([ Species.SMEARGLE ]),
|
.setSpeciesPools([Species.SMEARGLE]),
|
||||||
[TrainerType.BACKERS]: new TrainerConfig(++t).setHasGenders().setDoubleOnly().setEncounterBgm(TrainerType.CYCLIST),
|
[TrainerType.BACKERS]: new TrainerConfig(++t).setHasGenders().setDoubleOnly().setEncounterBgm(TrainerType.CYCLIST),
|
||||||
[TrainerType.BACKPACKER]: new TrainerConfig(++t).setHasGenders().setHasDouble('Backpackers').setSpeciesFilter(s => s.isOfType(Type.FLYING) || s.isOfType(Type.ROCK)).setEncounterBgm(TrainerType.BACKPACKER)
|
[TrainerType.BACKPACKER]: new TrainerConfig(++t).setHasGenders().setHasDouble('Backpackers').setSpeciesFilter(s => s.isOfType(Type.FLYING) || s.isOfType(Type.ROCK)).setEncounterBgm(TrainerType.BACKPACKER)
|
||||||
.setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.ONE_WEAK_ONE_STRONG, trainerPartyTemplates.ONE_AVG_ONE_STRONG)
|
.setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.ONE_WEAK_ONE_STRONG, trainerPartyTemplates.ONE_AVG_ONE_STRONG)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.RHYHORN, Species.AIPOM, Species.MAKUHITA, Species.MAWILE, Species.NUMEL, Species.LILLIPUP, Species.SANDILE, Species.WOOLOO ],
|
[TrainerPoolTier.COMMON]: [Species.RHYHORN, Species.AIPOM, Species.MAKUHITA, Species.MAWILE, Species.NUMEL, Species.LILLIPUP, Species.SANDILE, Species.WOOLOO],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.GIRAFARIG, Species.ZANGOOSE, Species.SEVIPER, Species.CUBCHOO, Species.PANCHAM, Species.SKIDDO, Species.MUDBRAY ],
|
[TrainerPoolTier.UNCOMMON]: [Species.GIRAFARIG, Species.ZANGOOSE, Species.SEVIPER, Species.CUBCHOO, Species.PANCHAM, Species.SKIDDO, Species.MUDBRAY],
|
||||||
[TrainerPoolTier.RARE]: [ Species.TAUROS, Species.STANTLER, Species.DARUMAKA, Species.BOUFFALANT, Species.DEERLING, Species.IMPIDIMP ],
|
[TrainerPoolTier.RARE]: [Species.TAUROS, Species.STANTLER, Species.DARUMAKA, Species.BOUFFALANT, Species.DEERLING, Species.IMPIDIMP],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.GALAR_DARUMAKA, Species.TEDDIURSA ]
|
[TrainerPoolTier.SUPER_RARE]: [Species.GALAR_DARUMAKA, Species.TEDDIURSA]
|
||||||
}),
|
}),
|
||||||
[TrainerType.BAKER]: new TrainerConfig(++t).setEncounterBgm(TrainerType.CLERK).setMoneyMultiplier(1.35).setSpeciesFilter(s => s.isOfType(Type.GRASS) || s.isOfType(Type.FIRE)),
|
[TrainerType.BAKER]: new TrainerConfig(++t).setEncounterBgm(TrainerType.CLERK).setMoneyMultiplier(1.35).setSpeciesFilter(s => s.isOfType(Type.GRASS) || s.isOfType(Type.FIRE)),
|
||||||
[TrainerType.BEAUTY]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.PARASOL_LADY),
|
[TrainerType.BEAUTY]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.PARASOL_LADY),
|
||||||
@ -548,11 +600,11 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
[TrainerType.BLACK_BELT]: new TrainerConfig(++t).setHasGenders('Battle Girl', TrainerType.PSYCHIC).setHasDouble('Crush Kin').setEncounterBgm(TrainerType.ROUGHNECK).setSpecialtyTypes(Type.FIGHTING)
|
[TrainerType.BLACK_BELT]: new TrainerConfig(++t).setHasGenders('Battle Girl', TrainerType.PSYCHIC).setHasDouble('Crush Kin').setEncounterBgm(TrainerType.ROUGHNECK).setSpecialtyTypes(Type.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)
|
.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({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.NIDORAN_F, Species.NIDORAN_M, Species.MACHOP, Species.MAKUHITA, Species.MEDITITE, Species.CROAGUNK, Species.TIMBURR ],
|
[TrainerPoolTier.COMMON]: [Species.NIDORAN_F, Species.NIDORAN_M, Species.MACHOP, Species.MAKUHITA, Species.MEDITITE, Species.CROAGUNK, Species.TIMBURR],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.MANKEY, Species.POLIWRATH, Species.TYROGUE, Species.BRELOOM, Species.SCRAGGY, Species.MIENFOO, Species.PANCHAM, Species.STUFFUL, Species.CRABRAWLER ],
|
[TrainerPoolTier.UNCOMMON]: [Species.MANKEY, Species.POLIWRATH, Species.TYROGUE, Species.BRELOOM, Species.SCRAGGY, Species.MIENFOO, Species.PANCHAM, Species.STUFFUL, Species.CRABRAWLER],
|
||||||
[TrainerPoolTier.RARE]: [ Species.HERACROSS, Species.RIOLU, Species.THROH, Species.SAWK, Species.PASSIMIAN, Species.CLOBBOPUS ],
|
[TrainerPoolTier.RARE]: [Species.HERACROSS, Species.RIOLU, Species.THROH, Species.SAWK, Species.PASSIMIAN, Species.CLOBBOPUS],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.HITMONTOP, Species.INFERNAPE, Species.GALLADE, Species.HAWLUCHA, Species.HAKAMO_O ],
|
[TrainerPoolTier.SUPER_RARE]: [Species.HITMONTOP, Species.INFERNAPE, Species.GALLADE, Species.HAWLUCHA, Species.HAKAMO_O],
|
||||||
[TrainerPoolTier.ULTRA_RARE]: [ Species.KUBFU ]
|
[TrainerPoolTier.ULTRA_RARE]: [Species.KUBFU]
|
||||||
}),
|
}),
|
||||||
[TrainerType.BREEDER]: new TrainerConfig(++t).setMoneyMultiplier(1.325).setEncounterBgm(TrainerType.POKEFAN).setHasGenders().setHasDouble('Breeders')
|
[TrainerType.BREEDER]: new TrainerConfig(++t).setMoneyMultiplier(1.325).setEncounterBgm(TrainerType.POKEFAN).setHasGenders().setHasDouble('Breeders')
|
||||||
.setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.FOUR_WEAKER, trainerPartyTemplates.FIVE_WEAKER, trainerPartyTemplates.SIX_WEAKER))
|
.setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.FOUR_WEAKER, trainerPartyTemplates.FIVE_WEAKER, trainerPartyTemplates.SIX_WEAKER))
|
||||||
@ -560,25 +612,25 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
[TrainerType.CLERK]: new TrainerConfig(++t).setHasGenders().setHasDouble('Colleagues').setEncounterBgm(TrainerType.CLERK)
|
[TrainerType.CLERK]: new TrainerConfig(++t).setHasGenders().setHasDouble('Colleagues').setEncounterBgm(TrainerType.CLERK)
|
||||||
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.THREE_WEAK, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_ONE_AVG)
|
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.THREE_WEAK, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_ONE_AVG)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.MEOWTH, Species.PSYDUCK, Species.BUDEW, Species.PIDOVE, Species.CINCCINO, Species.LITLEO ],
|
[TrainerPoolTier.COMMON]: [Species.MEOWTH, Species.PSYDUCK, Species.BUDEW, Species.PIDOVE, Species.CINCCINO, Species.LITLEO],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.JIGGLYPUFF, Species.MAGNEMITE, Species.MARILL, Species.COTTONEE, Species.SKIDDO ],
|
[TrainerPoolTier.UNCOMMON]: [Species.JIGGLYPUFF, Species.MAGNEMITE, Species.MARILL, Species.COTTONEE, Species.SKIDDO],
|
||||||
[TrainerPoolTier.RARE]: [ Species.BUIZEL, Species.SNEASEL, Species.KLEFKI, Species.INDEEDEE ]
|
[TrainerPoolTier.RARE]: [Species.BUIZEL, Species.SNEASEL, Species.KLEFKI, Species.INDEEDEE]
|
||||||
}),
|
}),
|
||||||
[TrainerType.CYCLIST]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setHasGenders().setHasDouble('Cyclists').setEncounterBgm(TrainerType.CYCLIST)
|
[TrainerType.CYCLIST]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setHasGenders().setHasDouble('Cyclists').setEncounterBgm(TrainerType.CYCLIST)
|
||||||
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG)
|
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.PICHU, Species.STARLY, Species.TAILLOW, Species.BOLTUND ],
|
[TrainerPoolTier.COMMON]: [Species.PICHU, Species.STARLY, Species.TAILLOW, Species.BOLTUND],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.DODUO, Species.ELECTRIKE, Species.BLITZLE, Species.WATTREL ],
|
[TrainerPoolTier.UNCOMMON]: [Species.DODUO, Species.ELECTRIKE, Species.BLITZLE, Species.WATTREL],
|
||||||
[TrainerPoolTier.RARE]: [ Species.YANMA, Species.NINJASK, Species.WHIRLIPEDE, Species.EMOLGA ],
|
[TrainerPoolTier.RARE]: [Species.YANMA, Species.NINJASK, Species.WHIRLIPEDE, Species.EMOLGA],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.ACCELGOR, Species.DREEPY ]
|
[TrainerPoolTier.SUPER_RARE]: [Species.ACCELGOR, Species.DREEPY]
|
||||||
}),
|
}),
|
||||||
[TrainerType.DANCER]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.CYCLIST)
|
[TrainerType.DANCER]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.CYCLIST)
|
||||||
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME)
|
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.RALTS, Species.SPOINK, Species.LOTAD, Species.BUDEW ],
|
[TrainerPoolTier.COMMON]: [Species.RALTS, Species.SPOINK, Species.LOTAD, Species.BUDEW],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.SPINDA, Species.SWABLU, Species.MARACTUS,],
|
[TrainerPoolTier.UNCOMMON]: [Species.SPINDA, Species.SWABLU, Species.MARACTUS,],
|
||||||
[TrainerPoolTier.RARE]: [ Species.BELLOSSOM, Species.HITMONTOP, Species.MIME_JR, Species.ORICORIO ],
|
[TrainerPoolTier.RARE]: [Species.BELLOSSOM, Species.HITMONTOP, Species.MIME_JR, Species.ORICORIO],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.POPPLIO ]
|
[TrainerPoolTier.SUPER_RARE]: [Species.POPPLIO]
|
||||||
}),
|
}),
|
||||||
[TrainerType.DEPOT_AGENT]: new TrainerConfig(++t).setMoneyMultiplier(1.45).setEncounterBgm(TrainerType.CLERK),
|
[TrainerType.DEPOT_AGENT]: new TrainerConfig(++t).setMoneyMultiplier(1.45).setEncounterBgm(TrainerType.CLERK),
|
||||||
[TrainerType.DOCTOR]: new TrainerConfig(++t).setHasGenders('Nurse', 'lass').setHasDouble('Medical Team').setMoneyMultiplier(3).setEncounterBgm(TrainerType.CLERK)
|
[TrainerType.DOCTOR]: new TrainerConfig(++t).setHasGenders('Nurse', 'lass').setHasDouble('Medical Team').setMoneyMultiplier(3).setEncounterBgm(TrainerType.CLERK)
|
||||||
@ -586,20 +638,20 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
[TrainerType.FISHERMAN]: new TrainerConfig(++t).setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.BACKPACKER).setSpecialtyTypes(Type.WATER)
|
[TrainerType.FISHERMAN]: new TrainerConfig(++t).setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.BACKPACKER).setSpecialtyTypes(Type.WATER)
|
||||||
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.THREE_WEAK_SAME, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.SIX_WEAKER)
|
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.THREE_WEAK_SAME, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.SIX_WEAKER)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.TENTACOOL, Species.MAGIKARP, Species.GOLDEEN, Species.STARYU, Species.REMORAID, Species.SKRELP, Species.CLAUNCHER, Species.ARROKUDA ],
|
[TrainerPoolTier.COMMON]: [Species.TENTACOOL, Species.MAGIKARP, Species.GOLDEEN, Species.STARYU, Species.REMORAID, Species.SKRELP, Species.CLAUNCHER, Species.ARROKUDA],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.POLIWAG, Species.SHELLDER, Species.KRABBY, Species.HORSEA, Species.CARVANHA, Species.BARBOACH, Species.CORPHISH, Species.FINNEON, Species.TYMPOLE, Species.BASCULIN, Species.FRILLISH, Species.INKAY ],
|
[TrainerPoolTier.UNCOMMON]: [Species.POLIWAG, Species.SHELLDER, Species.KRABBY, Species.HORSEA, Species.CARVANHA, Species.BARBOACH, Species.CORPHISH, Species.FINNEON, Species.TYMPOLE, Species.BASCULIN, Species.FRILLISH, Species.INKAY],
|
||||||
[TrainerPoolTier.RARE]: [ Species.CHINCHOU, Species.CORSOLA, Species.WAILMER, Species.BARBOACH, Species.CLAMPERL, Species.LUVDISC, Species.MANTYKE, Species.ALOMOMOLA, Species.TATSUGIRI, Species.VELUZA ],
|
[TrainerPoolTier.RARE]: [Species.CHINCHOU, Species.CORSOLA, Species.WAILMER, Species.BARBOACH, Species.CLAMPERL, Species.LUVDISC, Species.MANTYKE, Species.ALOMOMOLA, Species.TATSUGIRI, Species.VELUZA],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.LAPRAS, Species.FEEBAS, Species.RELICANTH, Species.DONDOZO ]
|
[TrainerPoolTier.SUPER_RARE]: [Species.LAPRAS, Species.FEEBAS, Species.RELICANTH, Species.DONDOZO]
|
||||||
}),
|
}),
|
||||||
[TrainerType.GUITARIST]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.ROUGHNECK).setSpecialtyTypes(Type.ELECTRIC).setSpeciesFilter(s => s.isOfType(Type.ELECTRIC)),
|
[TrainerType.GUITARIST]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.ROUGHNECK).setSpecialtyTypes(Type.ELECTRIC).setSpeciesFilter(s => s.isOfType(Type.ELECTRIC)),
|
||||||
[TrainerType.HARLEQUIN]: new TrainerConfig(++t).setEncounterBgm(TrainerType.PSYCHIC).setSpeciesFilter(s => tmSpecies[Moves.TRICK_ROOM].indexOf(s.speciesId) > -1),
|
[TrainerType.HARLEQUIN]: new TrainerConfig(++t).setEncounterBgm(TrainerType.PSYCHIC).setSpeciesFilter(s => tmSpecies[Moves.TRICK_ROOM].indexOf(s.speciesId) > -1),
|
||||||
[TrainerType.HIKER]: new TrainerConfig(++t).setEncounterBgm(TrainerType.BACKPACKER)
|
[TrainerType.HIKER]: new TrainerConfig(++t).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)
|
.setPartyTemplates(trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG, trainerPartyTemplates.TWO_AVG_SAME_ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.FOUR_WEAK, trainerPartyTemplates.ONE_STRONG)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.SANDSHREW, Species.DIGLETT, Species.GEODUDE, Species.MACHOP, Species.ARON, Species.ROGGENROLA, Species.DRILBUR, Species.NACLI ],
|
[TrainerPoolTier.COMMON]: [Species.SANDSHREW, Species.DIGLETT, Species.GEODUDE, Species.MACHOP, Species.ARON, Species.ROGGENROLA, Species.DRILBUR, Species.NACLI],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.ZUBAT, Species.RHYHORN, Species.ONIX, Species.CUBONE, Species.WOOBAT, Species.SWINUB, Species.NOSEPASS, Species.HIPPOPOTAS, Species.DWEBBLE, Species.KLAWF, Species.TOEDSCOOL ],
|
[TrainerPoolTier.UNCOMMON]: [Species.ZUBAT, Species.RHYHORN, Species.ONIX, Species.CUBONE, Species.WOOBAT, Species.SWINUB, Species.NOSEPASS, Species.HIPPOPOTAS, Species.DWEBBLE, Species.KLAWF, Species.TOEDSCOOL],
|
||||||
[TrainerPoolTier.RARE]: [ Species.TORKOAL, Species.TRAPINCH, Species.BARBOACH, Species.GOLETT, Species.ALOLA_DIGLETT, Species.ALOLA_GEODUDE, Species.GALAR_STUNFISK, Species.PALDEA_WOOPER ],
|
[TrainerPoolTier.RARE]: [Species.TORKOAL, Species.TRAPINCH, Species.BARBOACH, Species.GOLETT, Species.ALOLA_DIGLETT, Species.ALOLA_GEODUDE, Species.GALAR_STUNFISK, Species.PALDEA_WOOPER],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.MAGBY, Species.LARVITAR ]
|
[TrainerPoolTier.SUPER_RARE]: [Species.MAGBY, Species.LARVITAR]
|
||||||
}),
|
}),
|
||||||
[TrainerType.HOOLIGANS]: new TrainerConfig(++t).setDoubleOnly().setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.POISON) || s.isOfType(Type.DARK)),
|
[TrainerType.HOOLIGANS]: new TrainerConfig(++t).setDoubleOnly().setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.POISON) || s.isOfType(Type.DARK)),
|
||||||
[TrainerType.HOOPSTER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
[TrainerType.HOOPSTER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
||||||
@ -615,11 +667,11 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
[TrainerType.OFFICER]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.CLERK)
|
[TrainerType.OFFICER]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.CLERK)
|
||||||
.setPartyTemplates(trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG)
|
.setPartyTemplates(trainerPartyTemplates.ONE_AVG, trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.VULPIX, Species.GROWLITHE, Species.SNUBBULL, Species.POOCHYENA, Species.ELECTRIKE, Species.LILLIPUP, Species.YAMPER, Species.FIDOUGH ],
|
[TrainerPoolTier.COMMON]: [Species.VULPIX, Species.GROWLITHE, Species.SNUBBULL, Species.POOCHYENA, Species.ELECTRIKE, Species.LILLIPUP, Species.YAMPER, Species.FIDOUGH],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.HOUNDOUR, Species.ROCKRUFF, Species.MASCHIFF ],
|
[TrainerPoolTier.UNCOMMON]: [Species.HOUNDOUR, Species.ROCKRUFF, Species.MASCHIFF],
|
||||||
[TrainerPoolTier.RARE]: [ Species.JOLTEON, Species.RIOLU ],
|
[TrainerPoolTier.RARE]: [Species.JOLTEON, Species.RIOLU],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [],
|
[TrainerPoolTier.SUPER_RARE]: [],
|
||||||
[TrainerPoolTier.ULTRA_RARE]: [ Species.ENTEI, Species.SUICUNE, Species.RAIKOU ]
|
[TrainerPoolTier.ULTRA_RARE]: [Species.ENTEI, Species.SUICUNE, Species.RAIKOU]
|
||||||
}),
|
}),
|
||||||
[TrainerType.PARASOL_LADY]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.PARASOL_LADY).setSpeciesFilter(s => s.isOfType(Type.WATER)),
|
[TrainerType.PARASOL_LADY]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.PARASOL_LADY).setSpeciesFilter(s => s.isOfType(Type.WATER)),
|
||||||
[TrainerType.PILOT]: new TrainerConfig(++t).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => tmSpecies[Moves.FLY].indexOf(s.speciesId) > -1),
|
[TrainerType.PILOT]: new TrainerConfig(++t).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => tmSpecies[Moves.FLY].indexOf(s.speciesId) > -1),
|
||||||
@ -628,222 +680,222 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
[TrainerType.PRESCHOOLER]: new TrainerConfig(++t).setMoneyMultiplier(0.2).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders(undefined, 'lass').setHasDouble('Preschoolers')
|
[TrainerType.PRESCHOOLER]: new TrainerConfig(++t).setMoneyMultiplier(0.2).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders(undefined, 'lass').setHasDouble('Preschoolers')
|
||||||
.setPartyTemplates(trainerPartyTemplates.THREE_WEAK, trainerPartyTemplates.FOUR_WEAKER, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.FIVE_WEAKER)
|
.setPartyTemplates(trainerPartyTemplates.THREE_WEAK, trainerPartyTemplates.FOUR_WEAKER, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.FIVE_WEAKER)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.CATERPIE, Species.PICHU, Species.SANDSHREW, Species.LEDYBA, Species.BUDEW, Species.BURMY, Species.WOOLOO, Species.PAWMI, Species.SMOLIV ],
|
[TrainerPoolTier.COMMON]: [Species.CATERPIE, Species.PICHU, Species.SANDSHREW, Species.LEDYBA, Species.BUDEW, Species.BURMY, Species.WOOLOO, Species.PAWMI, Species.SMOLIV],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.EEVEE, Species.CLEFFA, Species.IGGLYBUFF, Species.SWINUB, Species.WOOPER, Species.DRIFLOON, Species.DEDENNE, Species.STUFFUL ],
|
[TrainerPoolTier.UNCOMMON]: [Species.EEVEE, Species.CLEFFA, Species.IGGLYBUFF, Species.SWINUB, Species.WOOPER, Species.DRIFLOON, Species.DEDENNE, Species.STUFFUL],
|
||||||
[TrainerPoolTier.RARE]: [ Species.RALTS, Species.RIOLU, Species.JOLTIK, Species.TANDEMAUS ],
|
[TrainerPoolTier.RARE]: [Species.RALTS, Species.RIOLU, Species.JOLTIK, Species.TANDEMAUS],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.DARUMAKA, Species.TINKATINK ],
|
[TrainerPoolTier.SUPER_RARE]: [Species.DARUMAKA, Species.TINKATINK],
|
||||||
}),
|
}),
|
||||||
[TrainerType.PSYCHIC]: new TrainerConfig(++t).setHasGenders().setHasDouble('Psychics').setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.PSYCHIC)
|
[TrainerType.PSYCHIC]: new TrainerConfig(++t).setHasGenders().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)
|
.setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME, trainerPartyTemplates.ONE_STRONGER)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.ABRA, Species.DROWZEE, Species.RALTS, Species.SPOINK, Species.GOTHITA, Species.SOLOSIS, Species.BLIPBUG, Species.ESPURR, Species.HATENNA ],
|
[TrainerPoolTier.COMMON]: [Species.ABRA, Species.DROWZEE, Species.RALTS, Species.SPOINK, Species.GOTHITA, Species.SOLOSIS, Species.BLIPBUG, Species.ESPURR, Species.HATENNA],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.MIME_JR, Species.EXEGGCUTE, Species.MEDITITE, Species.NATU, Species.EXEGGCUTE, Species.WOOBAT, Species.INKAY, Species.ORANGURU ],
|
[TrainerPoolTier.UNCOMMON]: [Species.MIME_JR, Species.EXEGGCUTE, Species.MEDITITE, Species.NATU, Species.EXEGGCUTE, Species.WOOBAT, Species.INKAY, Species.ORANGURU],
|
||||||
[TrainerPoolTier.RARE]: [ Species.ELGYEM, Species.SIGILYPH, Species.BALTOY, Species.GIRAFARIG, Species.MEOWSTIC ],
|
[TrainerPoolTier.RARE]: [Species.ELGYEM, Species.SIGILYPH, Species.BALTOY, Species.GIRAFARIG, Species.MEOWSTIC],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.BELDUM, Species.ESPEON, Species.STANTLER ],
|
[TrainerPoolTier.SUPER_RARE]: [Species.BELDUM, Species.ESPEON, Species.STANTLER],
|
||||||
}),
|
}),
|
||||||
[TrainerType.RANGER]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setName('Pokémon Ranger').setEncounterBgm(TrainerType.BACKPACKER).setHasGenders().setHasDouble('Pokémon Rangers')
|
[TrainerType.RANGER]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setName('Pokémon Ranger').setEncounterBgm(TrainerType.BACKPACKER).setHasGenders().setHasDouble('Pokémon Rangers')
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.PICHU, Species.GROWLITHE, Species.PONYTA, Species.ZIGZAGOON, Species.SEEDOT, Species.BIDOOF, Species.RIOLU, Species.SEWADDLE, Species.SKIDDO, Species.SALANDIT, Species.YAMPER ],
|
[TrainerPoolTier.COMMON]: [Species.PICHU, Species.GROWLITHE, Species.PONYTA, Species.ZIGZAGOON, Species.SEEDOT, Species.BIDOOF, Species.RIOLU, Species.SEWADDLE, Species.SKIDDO, Species.SALANDIT, Species.YAMPER],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.AZURILL, Species.TAUROS, Species.MAREEP, Species.FARFETCHD, Species.TEDDIURSA, Species.SHROOMISH, Species.ELECTRIKE, Species.BUDEW, Species.BUIZEL, Species.MUDBRAY, Species.STUFFUL ],
|
[TrainerPoolTier.UNCOMMON]: [Species.AZURILL, Species.TAUROS, Species.MAREEP, Species.FARFETCHD, Species.TEDDIURSA, Species.SHROOMISH, Species.ELECTRIKE, Species.BUDEW, Species.BUIZEL, Species.MUDBRAY, Species.STUFFUL],
|
||||||
[TrainerPoolTier.RARE]: [ Species.EEVEE, Species.SCYTHER, Species.KANGASKHAN, Species.RALTS, Species.MUNCHLAX, Species.ZORUA, Species.PALDEA_TAUROS, Species.TINKATINK, Species.CYCLIZAR, Species.FLAMIGO ],
|
[TrainerPoolTier.RARE]: [Species.EEVEE, Species.SCYTHER, Species.KANGASKHAN, Species.RALTS, Species.MUNCHLAX, Species.ZORUA, Species.PALDEA_TAUROS, Species.TINKATINK, Species.CYCLIZAR, Species.FLAMIGO],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.LARVESTA ],
|
[TrainerPoolTier.SUPER_RARE]: [Species.LARVESTA],
|
||||||
}),
|
}),
|
||||||
[TrainerType.RICH]: new TrainerConfig(++t).setMoneyMultiplier(5).setName('Gentleman').setHasGenders('Madame').setHasDouble('Rich Couple'),
|
[TrainerType.RICH]: new TrainerConfig(++t).setMoneyMultiplier(5).setName('Gentleman').setHasGenders('Madame').setHasDouble('Rich Couple'),
|
||||||
[TrainerType.RICH_KID]: new TrainerConfig(++t).setMoneyMultiplier(3.75).setName('Rich Boy').setHasGenders('Lady').setHasDouble('Rich Kids').setEncounterBgm(TrainerType.RICH),
|
[TrainerType.RICH_KID]: new TrainerConfig(++t).setMoneyMultiplier(3.75).setName('Rich Boy').setHasGenders('Lady').setHasDouble('Rich Kids').setEncounterBgm(TrainerType.RICH),
|
||||||
[TrainerType.ROUGHNECK]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.DARK)),
|
[TrainerType.ROUGHNECK]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.DARK)),
|
||||||
[TrainerType.SCIENTIST]: new TrainerConfig(++t).setHasGenders().setHasDouble('Scientists').setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.SCIENTIST)
|
[TrainerType.SCIENTIST]: new TrainerConfig(++t).setHasGenders().setHasDouble('Scientists').setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.SCIENTIST)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.MAGNEMITE, Species.GRIMER, Species.DROWZEE, Species.VOLTORB, Species.KOFFING ],
|
[TrainerPoolTier.COMMON]: [Species.MAGNEMITE, Species.GRIMER, Species.DROWZEE, Species.VOLTORB, Species.KOFFING],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.BALTOY, Species.BRONZOR, Species.FERROSEED, Species.KLINK, Species.CHARJABUG, Species.BLIPBUG, Species.HELIOPTILE ],
|
[TrainerPoolTier.UNCOMMON]: [Species.BALTOY, Species.BRONZOR, Species.FERROSEED, Species.KLINK, Species.CHARJABUG, Species.BLIPBUG, Species.HELIOPTILE],
|
||||||
[TrainerPoolTier.RARE]: [ Species.ABRA, Species.DITTO, Species.PORYGON, Species.ELEKID, Species.SOLOSIS, Species.GALAR_WEEZING ],
|
[TrainerPoolTier.RARE]: [Species.ABRA, Species.DITTO, Species.PORYGON, Species.ELEKID, Species.SOLOSIS, Species.GALAR_WEEZING],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.OMANYTE, Species.KABUTO, Species.AERODACTYL, Species.LILEEP, Species.ANORITH, Species.CRANIDOS, Species.SHIELDON, Species.TIRTOUGA, Species.ARCHEN, Species.ARCTOVISH, Species.ARCTOZOLT, Species.DRACOVISH, Species.DRACOZOLT ],
|
[TrainerPoolTier.SUPER_RARE]: [Species.OMANYTE, Species.KABUTO, Species.AERODACTYL, Species.LILEEP, Species.ANORITH, Species.CRANIDOS, Species.SHIELDON, Species.TIRTOUGA, Species.ARCHEN, Species.ARCTOVISH, Species.ARCTOZOLT, Species.DRACOVISH, Species.DRACOZOLT],
|
||||||
[TrainerPoolTier.ULTRA_RARE]: [ Species.ROTOM, Species.MELTAN ]
|
[TrainerPoolTier.ULTRA_RARE]: [Species.ROTOM, Species.MELTAN]
|
||||||
}),
|
}),
|
||||||
[TrainerType.SMASHER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
[TrainerType.SMASHER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
||||||
[TrainerType.SNOW_WORKER]: new TrainerConfig(++t).setName('Worker').setHasGenders().setHasDouble('Workers').setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => s.isOfType(Type.ICE) || s.isOfType(Type.STEEL)),
|
[TrainerType.SNOW_WORKER]: new TrainerConfig(++t).setName('Worker').setHasGenders().setHasDouble('Workers').setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => s.isOfType(Type.ICE) || s.isOfType(Type.STEEL)),
|
||||||
[TrainerType.STRIKER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
[TrainerType.STRIKER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST),
|
||||||
[TrainerType.STUDENT]: new TrainerConfig(++t).setMoneyMultiplier(0.75).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders(undefined, 'lass').setHasDouble('Students')
|
[TrainerType.SCHOOL_KID]: new TrainerConfig(++t).setMoneyMultiplier(0.75).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders(undefined, 'lass').setHasDouble('Students')
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.ODDISH, Species.EXEGGCUTE, Species.TEDDIURSA, Species.WURMPLE, Species.RALTS, Species.SHROOMISH, Species.FLETCHLING ],
|
[TrainerPoolTier.COMMON]: [Species.ODDISH, Species.EXEGGCUTE, Species.TEDDIURSA, Species.WURMPLE, Species.RALTS, Species.SHROOMISH, Species.FLETCHLING],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.VOLTORB, Species.WHISMUR, Species.MEDITITE, Species.MIME_JR, Species.NYMBLE ],
|
[TrainerPoolTier.UNCOMMON]: [Species.VOLTORB, Species.WHISMUR, Species.MEDITITE, Species.MIME_JR, Species.NYMBLE],
|
||||||
[TrainerPoolTier.RARE]: [ Species.TANGELA, Species.EEVEE, Species.YANMA ],
|
[TrainerPoolTier.RARE]: [Species.TANGELA, Species.EEVEE, Species.YANMA],
|
||||||
[TrainerPoolTier.SUPER_RARE]: [ Species.TADBULB ]
|
[TrainerPoolTier.SUPER_RARE]: [Species.TADBULB]
|
||||||
}),
|
}),
|
||||||
[TrainerType.SWIMMER]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setEncounterBgm(TrainerType.PARASOL_LADY).setHasGenders().setHasDouble('Swimmers').setSpecialtyTypes(Type.WATER).setSpeciesFilter(s => s.isOfType(Type.WATER)),
|
[TrainerType.SWIMMER]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setEncounterBgm(TrainerType.PARASOL_LADY).setHasGenders().setHasDouble('Swimmers').setSpecialtyTypes(Type.WATER).setSpeciesFilter(s => s.isOfType(Type.WATER)),
|
||||||
[TrainerType.TWINS]: new TrainerConfig(++t).setDoubleOnly().setMoneyMultiplier(0.65).setUseSameSeedForAllMembers()
|
[TrainerType.TWINS]: new TrainerConfig(++t).setDoubleOnly().setMoneyMultiplier(0.65).setUseSameSeedForAllMembers()
|
||||||
.setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_STRONG))
|
.setPartyTemplateFunc(scene => getWavePartyTemplate(scene, trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.TWO_STRONG))
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.PLUSLE, Species.VOLBEAT, Species.PACHIRISU, Species.SILCOON, Species.METAPOD, Species.IGGLYBUFF, Species.PETILIL, Species.EEVEE ]))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PLUSLE, Species.VOLBEAT, Species.PACHIRISU, Species.SILCOON, Species.METAPOD, Species.IGGLYBUFF, Species.PETILIL, Species.EEVEE]))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.MINUN, Species.ILLUMISE, Species.EMOLGA, Species.CASCOON, Species.KAKUNA, Species.CLEFFA, Species.COTTONEE, Species.EEVEE ], TrainerSlot.TRAINER_PARTNER))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.MINUN, Species.ILLUMISE, Species.EMOLGA, Species.CASCOON, Species.KAKUNA, Species.CLEFFA, Species.COTTONEE, Species.EEVEE], TrainerSlot.TRAINER_PARTNER))
|
||||||
.setEncounterBgm(TrainerType.TWINS),
|
.setEncounterBgm(TrainerType.TWINS),
|
||||||
[TrainerType.VETERAN]: new TrainerConfig(++t).setHasGenders().setHasDouble('Veteran Duo').setMoneyMultiplier(2.5).setEncounterBgm(TrainerType.ACE_TRAINER).setSpeciesFilter(s => s.isOfType(Type.DRAGON)),
|
[TrainerType.VETERAN]: new TrainerConfig(++t).setHasGenders().setHasDouble('Veteran Duo').setMoneyMultiplier(2.5).setEncounterBgm(TrainerType.ACE_TRAINER).setSpeciesFilter(s => s.isOfType(Type.DRAGON)),
|
||||||
[TrainerType.WAITER]: new TrainerConfig(++t).setHasGenders('Waitress').setHasDouble('Restaurant Staff').setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.CLERK)
|
[TrainerType.WAITER]: new TrainerConfig(++t).setHasGenders('Waitress').setHasDouble('Restaurant Staff').setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.CLERK)
|
||||||
.setSpeciesPools({
|
.setSpeciesPools({
|
||||||
[TrainerPoolTier.COMMON]: [ Species.CLEFFA, Species.CHATOT, Species.PANSAGE, Species.PANSEAR, Species.PANPOUR, Species.MINCCINO ],
|
[TrainerPoolTier.COMMON]: [Species.CLEFFA, Species.CHATOT, Species.PANSAGE, Species.PANSEAR, Species.PANPOUR, Species.MINCCINO],
|
||||||
[TrainerPoolTier.UNCOMMON]: [ Species.TROPIUS, Species.PETILIL, Species.BOUNSWEET, Species.INDEEDEE ],
|
[TrainerPoolTier.UNCOMMON]: [Species.TROPIUS, Species.PETILIL, Species.BOUNSWEET, Species.INDEEDEE],
|
||||||
[TrainerPoolTier.RARE]: [ Species.APPLIN, Species.SINISTEA, Species.POLTCHAGEIST ]
|
[TrainerPoolTier.RARE]: [Species.APPLIN, Species.SINISTEA, Species.POLTCHAGEIST]
|
||||||
}),
|
}),
|
||||||
[TrainerType.WORKER]: new TrainerConfig(++t).setHasGenders().setHasDouble('Workers').setEncounterBgm(TrainerType.CLERK).setMoneyMultiplier(1.7).setSpeciesFilter(s => s.isOfType(Type.ROCK) || s.isOfType(Type.STEEL)),
|
[TrainerType.WORKER]: new TrainerConfig(++t).setHasGenders().setHasDouble('Workers').setEncounterBgm(TrainerType.CLERK).setMoneyMultiplier(1.7).setSpeciesFilter(s => s.isOfType(Type.ROCK) || s.isOfType(Type.STEEL)),
|
||||||
[TrainerType.YOUNGSTER]: new TrainerConfig(++t).setMoneyMultiplier(0.5).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders('Lass', 'lass').setHasDouble('Beginners').setPartyTemplates(trainerPartyTemplates.TWO_WEAKER)
|
[TrainerType.YOUNGSTER]: new TrainerConfig(++t).setMoneyMultiplier(0.5).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders('Lass', 'lass').setHasDouble('Beginners').setPartyTemplates(trainerPartyTemplates.TWO_WEAKER)
|
||||||
.setSpeciesPools(
|
.setSpeciesPools(
|
||||||
[ Species.CATERPIE, Species.WEEDLE, Species.RATTATA, Species.SENTRET, Species.POOCHYENA, Species.ZIGZAGOON, Species.WURMPLE, Species.BIDOOF, Species.PATRAT, Species.LILLIPUP ]
|
[Species.CATERPIE, Species.WEEDLE, Species.RATTATA, Species.SENTRET, Species.POOCHYENA, Species.ZIGZAGOON, Species.WURMPLE, Species.BIDOOF, Species.PATRAT, Species.LILLIPUP]
|
||||||
),
|
),
|
||||||
[TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader([ Species.GEODUDE, Species.ONIX ], Type.ROCK).setBattleBgm('battle_kanto_gym'),
|
[TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader([Species.GEODUDE, Species.ONIX], Type.ROCK).setBattleBgm('battle_kanto_gym'),
|
||||||
[TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader([ Species.STARYU, Species.PSYDUCK ], Type.WATER).setBattleBgm('battle_kanto_gym'),
|
[TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader([Species.STARYU, Species.PSYDUCK], Type.WATER).setBattleBgm('battle_kanto_gym'),
|
||||||
[TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader([ Species.VOLTORB, Species.PIKACHU, Species.ELECTABUZZ ], Type.ELECTRIC).setBattleBgm('battle_kanto_gym'),
|
[TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader([Species.VOLTORB, Species.PIKACHU, Species.ELECTABUZZ], Type.ELECTRIC).setBattleBgm('battle_kanto_gym'),
|
||||||
[TrainerType.ERIKA]: new TrainerConfig(++t).initForGymLeader([ Species.ODDISH, Species.BELLSPROUT, Species.TANGELA, Species.HOPPIP ], Type.GRASS).setBattleBgm('battle_kanto_gym'),
|
[TrainerType.ERIKA]: new TrainerConfig(++t).initForGymLeader([Species.ODDISH, Species.BELLSPROUT, Species.TANGELA, Species.HOPPIP], Type.GRASS).setBattleBgm('battle_kanto_gym'),
|
||||||
[TrainerType.JANINE]: new TrainerConfig(++t).initForGymLeader([ Species.VENONAT, Species.SPINARAK, Species.ZUBAT ], Type.POISON).setBattleBgm('battle_kanto_gym'),
|
[TrainerType.JANINE]: new TrainerConfig(++t).initForGymLeader([Species.VENONAT, Species.SPINARAK, Species.ZUBAT], Type.POISON).setBattleBgm('battle_kanto_gym'),
|
||||||
[TrainerType.SABRINA]: new TrainerConfig(++t).initForGymLeader([ Species.ABRA, Species.MR_MIME, Species.ESPEON ], Type.PSYCHIC).setBattleBgm('battle_kanto_gym'),
|
[TrainerType.SABRINA]: new TrainerConfig(++t).initForGymLeader([Species.ABRA, Species.MR_MIME, Species.ESPEON], Type.PSYCHIC).setBattleBgm('battle_kanto_gym'),
|
||||||
[TrainerType.BLAINE]: new TrainerConfig(++t).initForGymLeader([ Species.GROWLITHE, Species.PONYTA, Species.MAGMAR ], Type.FIRE).setBattleBgm('battle_kanto_gym'),
|
[TrainerType.BLAINE]: new TrainerConfig(++t).initForGymLeader([Species.GROWLITHE, Species.PONYTA, Species.MAGMAR], Type.FIRE).setBattleBgm('battle_kanto_gym'),
|
||||||
[TrainerType.GIOVANNI]: new TrainerConfig(++t).initForGymLeader([ Species.SANDILE, Species.MURKROW, Species.NIDORAN_M, Species.NIDORAN_F ], Type.DARK).setBattleBgm('battle_kanto_gym'),
|
[TrainerType.GIOVANNI]: new TrainerConfig(++t).initForGymLeader([Species.SANDILE, Species.MURKROW, Species.NIDORAN_M, Species.NIDORAN_F], Type.DARK).setBattleBgm('battle_kanto_gym'),
|
||||||
[TrainerType.FALKNER]: new TrainerConfig(++t).initForGymLeader([ Species.PIDGEY, Species.HOOTHOOT, Species.DODUO ], Type.FLYING).setBattleBgm('battle_johto_gym'),
|
[TrainerType.FALKNER]: new TrainerConfig(++t).initForGymLeader([Species.PIDGEY, Species.HOOTHOOT, Species.DODUO], Type.FLYING).setBattleBgm('battle_johto_gym'),
|
||||||
[TrainerType.BUGSY]: new TrainerConfig(++t).initForGymLeader([ Species.SCYTHER, Species.HERACROSS, Species.SHUCKLE, Species.PINSIR ], Type.BUG).setBattleBgm('battle_johto_gym'),
|
[TrainerType.BUGSY]: new TrainerConfig(++t).initForGymLeader([Species.SCYTHER, Species.HERACROSS, Species.SHUCKLE, Species.PINSIR], Type.BUG).setBattleBgm('battle_johto_gym'),
|
||||||
[TrainerType.WHITNEY]: new TrainerConfig(++t).initForGymLeader([ Species.GIRAFARIG, Species.MILTANK ], Type.NORMAL).setBattleBgm('battle_johto_gym'),
|
[TrainerType.WHITNEY]: new TrainerConfig(++t).initForGymLeader([Species.GIRAFARIG, Species.MILTANK], Type.NORMAL).setBattleBgm('battle_johto_gym'),
|
||||||
[TrainerType.MORTY]: new TrainerConfig(++t).initForGymLeader([ Species.GASTLY, Species.MISDREAVUS, Species.SABLEYE ], Type.GHOST).setBattleBgm('battle_johto_gym'),
|
[TrainerType.MORTY]: new TrainerConfig(++t).initForGymLeader([Species.GASTLY, Species.MISDREAVUS, Species.SABLEYE], Type.GHOST).setBattleBgm('battle_johto_gym'),
|
||||||
[TrainerType.CHUCK]: new TrainerConfig(++t).initForGymLeader([ Species.POLIWRATH, Species.MANKEY ], Type.FIGHTING).setBattleBgm('battle_johto_gym'),
|
[TrainerType.CHUCK]: new TrainerConfig(++t).initForGymLeader([Species.POLIWRATH, Species.MANKEY], Type.FIGHTING).setBattleBgm('battle_johto_gym'),
|
||||||
[TrainerType.JASMINE]: new TrainerConfig(++t).initForGymLeader([ Species.MAGNEMITE, Species.STEELIX ], Type.STEEL).setBattleBgm('battle_johto_gym'),
|
[TrainerType.JASMINE]: new TrainerConfig(++t).initForGymLeader([Species.MAGNEMITE, Species.STEELIX], Type.STEEL).setBattleBgm('battle_johto_gym'),
|
||||||
[TrainerType.PRYCE]: new TrainerConfig(++t).initForGymLeader([ Species.SEEL, Species.SWINUB ], Type.ICE).setBattleBgm('battle_johto_gym'),
|
[TrainerType.PRYCE]: new TrainerConfig(++t).initForGymLeader([Species.SEEL, Species.SWINUB], Type.ICE).setBattleBgm('battle_johto_gym'),
|
||||||
[TrainerType.CLAIR]: new TrainerConfig(++t).initForGymLeader([ Species.DRATINI, Species.HORSEA, Species.GYARADOS ], Type.DRAGON).setBattleBgm('battle_johto_gym'),
|
[TrainerType.CLAIR]: new TrainerConfig(++t).initForGymLeader([Species.DRATINI, Species.HORSEA, Species.GYARADOS], Type.DRAGON).setBattleBgm('battle_johto_gym'),
|
||||||
[TrainerType.ROXANNE]: new TrainerConfig(++t).initForGymLeader([ Species.GEODUDE, Species.NOSEPASS ], Type.ROCK).setBattleBgm('battle_hoenn_gym'),
|
[TrainerType.ROXANNE]: new TrainerConfig(++t).initForGymLeader([Species.GEODUDE, Species.NOSEPASS], Type.ROCK).setBattleBgm('battle_hoenn_gym'),
|
||||||
[TrainerType.BRAWLY]: new TrainerConfig(++t).initForGymLeader([ Species.MACHOP, Species.MAKUHITA ], Type.FIGHTING).setBattleBgm('battle_hoenn_gym'),
|
[TrainerType.BRAWLY]: new TrainerConfig(++t).initForGymLeader([Species.MACHOP, Species.MAKUHITA], Type.FIGHTING).setBattleBgm('battle_hoenn_gym'),
|
||||||
[TrainerType.WATTSON]: new TrainerConfig(++t).initForGymLeader([ Species.MAGNEMITE, Species.VOLTORB, Species.ELECTRIKE ], Type.ELECTRIC).setBattleBgm('battle_hoenn_gym'),
|
[TrainerType.WATTSON]: new TrainerConfig(++t).initForGymLeader([Species.MAGNEMITE, Species.VOLTORB, Species.ELECTRIKE], Type.ELECTRIC).setBattleBgm('battle_hoenn_gym'),
|
||||||
[TrainerType.FLANNERY]: new TrainerConfig(++t).initForGymLeader([ Species.SLUGMA, Species.TORKOAL, Species.NUMEL ], Type.FIRE).setBattleBgm('battle_hoenn_gym'),
|
[TrainerType.FLANNERY]: new TrainerConfig(++t).initForGymLeader([Species.SLUGMA, Species.TORKOAL, Species.NUMEL], Type.FIRE).setBattleBgm('battle_hoenn_gym'),
|
||||||
[TrainerType.NORMAN]: new TrainerConfig(++t).initForGymLeader([ Species.SLAKOTH, Species.SPINDA, Species.CHANSEY, Species.KANGASKHAN ], Type.NORMAL).setBattleBgm('battle_hoenn_gym'),
|
[TrainerType.NORMAN]: new TrainerConfig(++t).initForGymLeader([Species.SLAKOTH, Species.SPINDA, Species.CHANSEY, Species.KANGASKHAN], Type.NORMAL).setBattleBgm('battle_hoenn_gym'),
|
||||||
[TrainerType.WINONA]: new TrainerConfig(++t).initForGymLeader([ Species.SWABLU, Species.WINGULL, Species.TROPIUS, Species.SKARMORY ], Type.FLYING).setBattleBgm('battle_hoenn_gym'),
|
[TrainerType.WINONA]: new TrainerConfig(++t).initForGymLeader([Species.SWABLU, Species.WINGULL, Species.TROPIUS, Species.SKARMORY], Type.FLYING).setBattleBgm('battle_hoenn_gym'),
|
||||||
[TrainerType.TATE]: new TrainerConfig(++t).initForGymLeader([ Species.SOLROCK, Species.NATU, Species.CHIMECHO, Species.GALLADE ], Type.PSYCHIC).setBattleBgm('battle_hoenn_gym'),
|
[TrainerType.TATE]: new TrainerConfig(++t).initForGymLeader([Species.SOLROCK, Species.NATU, Species.CHIMECHO, Species.GALLADE], Type.PSYCHIC).setBattleBgm('battle_hoenn_gym'),
|
||||||
[TrainerType.LIZA]: new TrainerConfig(++t).initForGymLeader([ Species.LUNATONE, Species.SPOINK, Species.BALTOY, Species.GARDEVOIR ], Type.PSYCHIC).setBattleBgm('battle_hoenn_gym'),
|
[TrainerType.LIZA]: new TrainerConfig(++t).initForGymLeader([Species.LUNATONE, Species.SPOINK, Species.BALTOY, Species.GARDEVOIR], Type.PSYCHIC).setBattleBgm('battle_hoenn_gym'),
|
||||||
[TrainerType.JUAN]: new TrainerConfig(++t).initForGymLeader([ Species.HORSEA, Species.BARBOACH, Species.SPHEAL, Species.RELICANTH ], Type.WATER).setBattleBgm('battle_hoenn_gym'),
|
[TrainerType.JUAN]: new TrainerConfig(++t).initForGymLeader([Species.HORSEA, Species.BARBOACH, Species.SPHEAL, Species.RELICANTH], Type.WATER).setBattleBgm('battle_hoenn_gym'),
|
||||||
[TrainerType.ROARK]: new TrainerConfig(++t).initForGymLeader([ Species.CRANIDOS, Species.LARVITAR, Species.GEODUDE ], Type.ROCK).setBattleBgm('battle_sinnoh_gym'),
|
[TrainerType.ROARK]: new TrainerConfig(++t).initForGymLeader([Species.CRANIDOS, Species.LARVITAR, Species.GEODUDE], Type.ROCK).setBattleBgm('battle_sinnoh_gym'),
|
||||||
[TrainerType.GARDENIA]: new TrainerConfig(++t).initForGymLeader([ Species.ROSELIA, Species.TANGELA, Species.TURTWIG ], Type.GRASS).setBattleBgm('battle_sinnoh_gym'),
|
[TrainerType.GARDENIA]: new TrainerConfig(++t).initForGymLeader([Species.ROSELIA, Species.TANGELA, Species.TURTWIG], Type.GRASS).setBattleBgm('battle_sinnoh_gym'),
|
||||||
[TrainerType.MAYLENE]: new TrainerConfig(++t).initForGymLeader([ Species.LUCARIO, Species.MEDITITE, Species.CHIMCHAR ], Type.FIGHTING).setBattleBgm('battle_sinnoh_gym'),
|
[TrainerType.MAYLENE]: new TrainerConfig(++t).initForGymLeader([Species.LUCARIO, Species.MEDITITE, Species.CHIMCHAR], Type.FIGHTING).setBattleBgm('battle_sinnoh_gym'),
|
||||||
[TrainerType.CRASHER_WAKE]: new TrainerConfig(++t).initForGymLeader([ Species.BUIZEL, Species.MAGIKARP, Species.PIPLUP ], Type.WATER).setBattleBgm('battle_sinnoh_gym'),
|
[TrainerType.CRASHER_WAKE]: new TrainerConfig(++t).initForGymLeader([Species.BUIZEL, Species.MAGIKARP, Species.PIPLUP], Type.WATER).setBattleBgm('battle_sinnoh_gym'),
|
||||||
[TrainerType.FANTINA]: new TrainerConfig(++t).initForGymLeader([ Species.MISDREAVUS, Species.DRIFLOON, Species.SPIRITOMB ], Type.GHOST).setBattleBgm('battle_sinnoh_gym'),
|
[TrainerType.FANTINA]: new TrainerConfig(++t).initForGymLeader([Species.MISDREAVUS, Species.DRIFLOON, Species.SPIRITOMB], Type.GHOST).setBattleBgm('battle_sinnoh_gym'),
|
||||||
[TrainerType.BYRON]: new TrainerConfig(++t).initForGymLeader([ Species.SHIELDON, Species.BRONZOR, Species.AGGRON ], Type.STEEL).setBattleBgm('battle_sinnoh_gym'),
|
[TrainerType.BYRON]: new TrainerConfig(++t).initForGymLeader([Species.SHIELDON, Species.BRONZOR, Species.AGGRON], Type.STEEL).setBattleBgm('battle_sinnoh_gym'),
|
||||||
[TrainerType.CANDICE]: new TrainerConfig(++t).initForGymLeader([ Species.SNEASEL, Species.SNOVER, Species.SNORUNT ], Type.ICE).setBattleBgm('battle_sinnoh_gym'),
|
[TrainerType.CANDICE]: new TrainerConfig(++t).initForGymLeader([Species.SNEASEL, Species.SNOVER, Species.SNORUNT], Type.ICE).setBattleBgm('battle_sinnoh_gym'),
|
||||||
[TrainerType.VOLKNER]: new TrainerConfig(++t).initForGymLeader([ Species.SHINX, Species.CHINCHOU, Species.ROTOM ], Type.ELECTRIC).setBattleBgm('battle_sinnoh_gym'),
|
[TrainerType.VOLKNER]: new TrainerConfig(++t).initForGymLeader([Species.SHINX, Species.CHINCHOU, Species.ROTOM], Type.ELECTRIC).setBattleBgm('battle_sinnoh_gym'),
|
||||||
[TrainerType.CILAN]: new TrainerConfig(++t).initForGymLeader([ Species.PANSAGE, Species.COTTONEE, Species.PETILIL ], Type.GRASS),
|
[TrainerType.CILAN]: new TrainerConfig(++t).initForGymLeader([Species.PANSAGE, Species.COTTONEE, Species.PETILIL], Type.GRASS),
|
||||||
[TrainerType.CHILI]: new TrainerConfig(++t).initForGymLeader([ Species.PANSEAR, Species.DARUMAKA, Species.HEATMOR ], Type.FIRE),
|
[TrainerType.CHILI]: new TrainerConfig(++t).initForGymLeader([Species.PANSEAR, Species.DARUMAKA, Species.HEATMOR], Type.FIRE),
|
||||||
[TrainerType.CRESS]: new TrainerConfig(++t).initForGymLeader([ Species.PANPOUR, Species.BASCULIN, Species.TYMPOLE ], Type.WATER),
|
[TrainerType.CRESS]: new TrainerConfig(++t).initForGymLeader([Species.PANPOUR, Species.BASCULIN, Species.TYMPOLE], Type.WATER),
|
||||||
[TrainerType.CHEREN]: new TrainerConfig(++t).initForGymLeader([ Species.LILLIPUP, Species.MINCCINO, Species.PATRAT ], Type.NORMAL),
|
[TrainerType.CHEREN]: new TrainerConfig(++t).initForGymLeader([Species.LILLIPUP, Species.MINCCINO, Species.PATRAT], Type.NORMAL),
|
||||||
[TrainerType.LENORA]: new TrainerConfig(++t).initForGymLeader([ Species.KANGASKHAN, Species.DEERLING, Species.AUDINO ], Type.NORMAL),
|
[TrainerType.LENORA]: new TrainerConfig(++t).initForGymLeader([Species.KANGASKHAN, Species.DEERLING, Species.AUDINO], Type.NORMAL),
|
||||||
[TrainerType.ROXIE]: new TrainerConfig(++t).initForGymLeader([ Species.VENIPEDE, Species.TRUBBISH, Species.SKORUPI ], Type.POISON),
|
[TrainerType.ROXIE]: new TrainerConfig(++t).initForGymLeader([Species.VENIPEDE, Species.TRUBBISH, Species.SKORUPI], Type.POISON),
|
||||||
[TrainerType.BURGH]: new TrainerConfig(++t).initForGymLeader([ Species.SEWADDLE, Species.SHELMET, Species.KARRABLAST ], Type.BUG),
|
[TrainerType.BURGH]: new TrainerConfig(++t).initForGymLeader([Species.SEWADDLE, Species.SHELMET, Species.KARRABLAST], Type.BUG),
|
||||||
[TrainerType.ELESA]: new TrainerConfig(++t).initForGymLeader([ Species.EMOLGA, Species.BLITZLE, Species.JOLTIK ], Type.ELECTRIC),
|
[TrainerType.ELESA]: new TrainerConfig(++t).initForGymLeader([Species.EMOLGA, Species.BLITZLE, Species.JOLTIK], Type.ELECTRIC),
|
||||||
[TrainerType.CLAY]: new TrainerConfig(++t).initForGymLeader([ Species.DRILBUR, Species.SANDILE, Species.GOLETT ], Type.GROUND),
|
[TrainerType.CLAY]: new TrainerConfig(++t).initForGymLeader([Species.DRILBUR, Species.SANDILE, Species.GOLETT], Type.GROUND),
|
||||||
[TrainerType.SKYLA]: new TrainerConfig(++t).initForGymLeader([ Species.DUCKLETT, Species.WOOBAT, Species.RUFFLET ], Type.FLYING),
|
[TrainerType.SKYLA]: new TrainerConfig(++t).initForGymLeader([Species.DUCKLETT, Species.WOOBAT, Species.RUFFLET], Type.FLYING),
|
||||||
[TrainerType.BRYCEN]: new TrainerConfig(++t).initForGymLeader([ Species.CRYOGONAL, Species.VANILLITE, Species.CUBCHOO ], Type.ICE),
|
[TrainerType.BRYCEN]: new TrainerConfig(++t).initForGymLeader([Species.CRYOGONAL, Species.VANILLITE, Species.CUBCHOO], Type.ICE),
|
||||||
[TrainerType.DRAYDEN]: new TrainerConfig(++t).initForGymLeader([ Species.DRUDDIGON, Species.AXEW, Species.DEINO ], Type.DRAGON),
|
[TrainerType.DRAYDEN]: new TrainerConfig(++t).initForGymLeader([Species.DRUDDIGON, Species.AXEW, Species.DEINO], Type.DRAGON),
|
||||||
[TrainerType.MARLON]: new TrainerConfig(++t).initForGymLeader([ Species.WAILMER, Species.FRILLISH, Species.TIRTOUGA ], Type.WATER),
|
[TrainerType.MARLON]: new TrainerConfig(++t).initForGymLeader([Species.WAILMER, Species.FRILLISH, Species.TIRTOUGA], Type.WATER),
|
||||||
[TrainerType.VIOLA]: new TrainerConfig(++t).initForGymLeader([ Species.SURSKIT, Species.SCATTERBUG ], Type.BUG),
|
[TrainerType.VIOLA]: new TrainerConfig(++t).initForGymLeader([Species.SURSKIT, Species.SCATTERBUG], Type.BUG),
|
||||||
[TrainerType.GRANT]: new TrainerConfig(++t).initForGymLeader([ Species.AMAURA, Species.TYRUNT ], Type.ROCK),
|
[TrainerType.GRANT]: new TrainerConfig(++t).initForGymLeader([Species.AMAURA, Species.TYRUNT], Type.ROCK),
|
||||||
[TrainerType.KORRINA]: new TrainerConfig(++t).initForGymLeader([ Species.HAWLUCHA, Species.LUCARIO, Species.MIENFOO ], Type.FIGHTING),
|
[TrainerType.KORRINA]: new TrainerConfig(++t).initForGymLeader([Species.HAWLUCHA, Species.LUCARIO, Species.MIENFOO], Type.FIGHTING),
|
||||||
[TrainerType.RAMOS]: new TrainerConfig(++t).initForGymLeader([ Species.SKIDDO, Species.HOPPIP, Species.BELLSPROUT ], Type.GRASS),
|
[TrainerType.RAMOS]: new TrainerConfig(++t).initForGymLeader([Species.SKIDDO, Species.HOPPIP, Species.BELLSPROUT], Type.GRASS),
|
||||||
[TrainerType.CLEMONT]: new TrainerConfig(++t).initForGymLeader([ Species.HELIOPTILE, Species.MAGNEMITE, Species.EMOLGA ], Type.ELECTRIC),
|
[TrainerType.CLEMONT]: new TrainerConfig(++t).initForGymLeader([Species.HELIOPTILE, Species.MAGNEMITE, Species.EMOLGA], Type.ELECTRIC),
|
||||||
[TrainerType.VALERIE]: new TrainerConfig(++t).initForGymLeader([ Species.SYLVEON, Species.MAWILE, Species.MR_MIME ], Type.FAIRY),
|
[TrainerType.VALERIE]: new TrainerConfig(++t).initForGymLeader([Species.SYLVEON, Species.MAWILE, Species.MR_MIME], Type.FAIRY),
|
||||||
[TrainerType.OLYMPIA]: new TrainerConfig(++t).initForGymLeader([ Species.ESPURR, Species.SIGILYPH, Species.SLOWKING ], Type.PSYCHIC),
|
[TrainerType.OLYMPIA]: new TrainerConfig(++t).initForGymLeader([Species.ESPURR, Species.SIGILYPH, Species.SLOWKING], Type.PSYCHIC),
|
||||||
[TrainerType.WULFRIC]: new TrainerConfig(++t).initForGymLeader([ Species.BERGMITE, Species.SNOVER, Species.CRYOGONAL ], Type.ICE),
|
[TrainerType.WULFRIC]: new TrainerConfig(++t).initForGymLeader([Species.BERGMITE, Species.SNOVER, Species.CRYOGONAL], Type.ICE),
|
||||||
[TrainerType.MILO]: new TrainerConfig(++t).initForGymLeader([ Species.GOSSIFLEUR, Species.APPLIN, Species.BOUNSWEET ], Type.GRASS),
|
[TrainerType.MILO]: new TrainerConfig(++t).initForGymLeader([Species.GOSSIFLEUR, Species.APPLIN, Species.BOUNSWEET], Type.GRASS),
|
||||||
[TrainerType.NESSA]: new TrainerConfig(++t).initForGymLeader([ Species.CHEWTLE, Species.ARROKUDA, Species.WIMPOD ], Type.WATER),
|
[TrainerType.NESSA]: new TrainerConfig(++t).initForGymLeader([Species.CHEWTLE, Species.ARROKUDA, Species.WIMPOD], Type.WATER),
|
||||||
[TrainerType.KABU]: new TrainerConfig(++t).initForGymLeader([ Species.SIZZLIPEDE, Species.VULPIX, Species.TORKOAL ], Type.FIRE),
|
[TrainerType.KABU]: new TrainerConfig(++t).initForGymLeader([Species.SIZZLIPEDE, Species.VULPIX, Species.TORKOAL], Type.FIRE),
|
||||||
[TrainerType.BEA]: new TrainerConfig(++t).initForGymLeader([ Species.GALAR_FARFETCHD, Species.MACHOP, Species.CLOBBOPUS ], Type.FIGHTING),
|
[TrainerType.BEA]: new TrainerConfig(++t).initForGymLeader([Species.GALAR_FARFETCHD, Species.MACHOP, Species.CLOBBOPUS], Type.FIGHTING),
|
||||||
[TrainerType.ALLISTER]: new TrainerConfig(++t).initForGymLeader([ Species.GALAR_YAMASK, Species.GALAR_CORSOLA, Species.GASTLY ], Type.GHOST),
|
[TrainerType.ALLISTER]: new TrainerConfig(++t).initForGymLeader([Species.GALAR_YAMASK, Species.GALAR_CORSOLA, Species.GASTLY], Type.GHOST),
|
||||||
[TrainerType.OPAL]: new TrainerConfig(++t).initForGymLeader([ Species.MILCERY, Species.TOGETIC, Species.GALAR_WEEZING ], Type.FAIRY),
|
[TrainerType.OPAL]: new TrainerConfig(++t).initForGymLeader([Species.MILCERY, Species.TOGETIC, Species.GALAR_WEEZING], Type.FAIRY),
|
||||||
[TrainerType.BEDE]: new TrainerConfig(++t).initForGymLeader([ Species.HATENNA, Species.GALAR_PONYTA, Species.GARDEVOIR ], Type.FAIRY),
|
[TrainerType.BEDE]: new TrainerConfig(++t).initForGymLeader([Species.HATENNA, Species.GALAR_PONYTA, Species.GARDEVOIR], Type.FAIRY),
|
||||||
[TrainerType.GORDIE]: new TrainerConfig(++t).initForGymLeader([ Species.ROLYCOLY, Species.STONJOURNER, Species.BINACLE ], Type.ROCK),
|
[TrainerType.GORDIE]: new TrainerConfig(++t).initForGymLeader([Species.ROLYCOLY, Species.STONJOURNER, Species.BINACLE], Type.ROCK),
|
||||||
[TrainerType.MELONY]: new TrainerConfig(++t).initForGymLeader([ Species.SNOM, Species.GALAR_DARUMAKA, Species.GALAR_MR_MIME ], Type.ICE),
|
[TrainerType.MELONY]: new TrainerConfig(++t).initForGymLeader([Species.SNOM, Species.GALAR_DARUMAKA, Species.GALAR_MR_MIME], Type.ICE),
|
||||||
[TrainerType.PIERS]: new TrainerConfig(++t).initForGymLeader([ Species.GALAR_ZIGZAGOON, Species.SCRAGGY, Species.INKAY ], Type.DARK),
|
[TrainerType.PIERS]: new TrainerConfig(++t).initForGymLeader([Species.GALAR_ZIGZAGOON, Species.SCRAGGY, Species.INKAY], Type.DARK),
|
||||||
[TrainerType.MARNIE]: new TrainerConfig(++t).initForGymLeader([ Species.IMPIDIMP, Species.PURRLOIN, Species.MORPEKO ], Type.DARK),
|
[TrainerType.MARNIE]: new TrainerConfig(++t).initForGymLeader([Species.IMPIDIMP, Species.PURRLOIN, Species.MORPEKO], Type.DARK),
|
||||||
[TrainerType.RAIHAN]: new TrainerConfig(++t).initForGymLeader([ Species.DURALUDON, Species.TURTONATOR, Species.GOOMY ], Type.DRAGON),
|
[TrainerType.RAIHAN]: new TrainerConfig(++t).initForGymLeader([Species.DURALUDON, Species.TURTONATOR, Species.GOOMY], Type.DRAGON),
|
||||||
[TrainerType.KATY]: new TrainerConfig(++t).initForGymLeader([ Species.NYMBLE, Species.TAROUNTULA, Species.HERACROSS ], Type.BUG),
|
[TrainerType.KATY]: new TrainerConfig(++t).initForGymLeader([Species.NYMBLE, Species.TAROUNTULA, Species.HERACROSS], Type.BUG),
|
||||||
[TrainerType.BRASSIUS]: new TrainerConfig(++t).initForGymLeader([ Species.SMOLIV, Species.SHROOMISH, Species.ODDISH ], Type.GRASS),
|
[TrainerType.BRASSIUS]: new TrainerConfig(++t).initForGymLeader([Species.SMOLIV, Species.SHROOMISH, Species.ODDISH], Type.GRASS),
|
||||||
[TrainerType.IONO]: new TrainerConfig(++t).initForGymLeader([ Species.TADBULB, Species.WATTREL, Species.VOLTORB ], Type.ELECTRIC),
|
[TrainerType.IONO]: new TrainerConfig(++t).initForGymLeader([Species.TADBULB, Species.WATTREL, Species.VOLTORB], Type.ELECTRIC),
|
||||||
[TrainerType.KOFU]: new TrainerConfig(++t).initForGymLeader([ Species.VELUZA, Species.WIGLETT, Species.WINGULL ], Type.WATER),
|
[TrainerType.KOFU]: new TrainerConfig(++t).initForGymLeader([Species.VELUZA, Species.WIGLETT, Species.WINGULL], Type.WATER),
|
||||||
[TrainerType.LARRY]: new TrainerConfig(++t).initForGymLeader([ Species.STARLY, Species.DUNSPARCE, Species.KOMALA ], Type.NORMAL),
|
[TrainerType.LARRY]: new TrainerConfig(++t).initForGymLeader([Species.STARLY, Species.DUNSPARCE, Species.KOMALA], Type.NORMAL),
|
||||||
[TrainerType.RYME]: new TrainerConfig(++t).initForGymLeader([ Species.GREAVARD, Species.SHUPPET, Species.MIMIKYU ], Type.GHOST),
|
[TrainerType.RYME]: new TrainerConfig(++t).initForGymLeader([Species.GREAVARD, Species.SHUPPET, Species.MIMIKYU], Type.GHOST),
|
||||||
[TrainerType.TULIP]: new TrainerConfig(++t).initForGymLeader([ Species.GIRAFARIG, Species.FLITTLE, Species.RALTS ], Type.PSYCHIC),
|
[TrainerType.TULIP]: new TrainerConfig(++t).initForGymLeader([Species.GIRAFARIG, Species.FLITTLE, Species.RALTS], Type.PSYCHIC),
|
||||||
[TrainerType.GRUSHA]: new TrainerConfig(++t).initForGymLeader([ Species.CETODDLE, Species.ALOLA_VULPIX, Species.CUBCHOO ], Type.ICE),
|
[TrainerType.GRUSHA]: new TrainerConfig(++t).initForGymLeader([Species.CETODDLE, Species.ALOLA_VULPIX, Species.CUBCHOO], Type.ICE),
|
||||||
|
|
||||||
[TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)).initForEliteFour([ Species.SLOWBRO, Species.LAPRAS, Species.DEWGONG, Species.ALOLA_SANDSLASH ], Type.ICE),
|
[TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)).initForEliteFour([Species.SLOWBRO, Species.LAPRAS, Species.DEWGONG, Species.ALOLA_SANDSLASH], Type.ICE),
|
||||||
[TrainerType.BRUNO]: new TrainerConfig(++t).initForEliteFour([ Species.ONIX, Species.HITMONCHAN, Species.HITMONLEE, Species.ALOLA_GOLEM ], Type.FIGHTING),
|
[TrainerType.BRUNO]: new TrainerConfig(++t).initForEliteFour([Species.ONIX, Species.HITMONCHAN, Species.HITMONLEE, Species.ALOLA_GOLEM], Type.FIGHTING),
|
||||||
[TrainerType.AGATHA]: new TrainerConfig(++t).initForEliteFour([ Species.GENGAR, Species.ARBOK, Species.CROBAT, Species.ALOLA_MAROWAK ], Type.GHOST),
|
[TrainerType.AGATHA]: new TrainerConfig(++t).initForEliteFour([Species.GENGAR, Species.ARBOK, Species.CROBAT, Species.ALOLA_MAROWAK], Type.GHOST),
|
||||||
[TrainerType.LANCE]: new TrainerConfig(++t).initForEliteFour([ Species.DRAGONITE, Species.GYARADOS, Species.AERODACTYL, Species.ALOLA_EXEGGUTOR ], Type.DRAGON),
|
[TrainerType.LANCE]: new TrainerConfig(++t).initForEliteFour([Species.DRAGONITE, Species.GYARADOS, Species.AERODACTYL, Species.ALOLA_EXEGGUTOR], Type.DRAGON),
|
||||||
[TrainerType.WILL]: new TrainerConfig(++t).initForEliteFour([ Species.XATU, Species.JYNX, Species.SLOWBRO, Species.EXEGGUTOR ], Type.PSYCHIC),
|
[TrainerType.WILL]: new TrainerConfig(++t).initForEliteFour([Species.XATU, Species.JYNX, Species.SLOWBRO, Species.EXEGGUTOR], Type.PSYCHIC),
|
||||||
[TrainerType.KOGA]: new TrainerConfig(++t).initForEliteFour([ Species.WEEZING, Species.VENOMOTH, Species.CROBAT, Species.TENTACRUEL ], Type.POISON),
|
[TrainerType.KOGA]: new TrainerConfig(++t).initForEliteFour([Species.WEEZING, Species.VENOMOTH, Species.CROBAT, Species.TENTACRUEL], Type.POISON),
|
||||||
[TrainerType.KAREN]: new TrainerConfig(++t).initForEliteFour([ Species.UMBREON, Species.HONCHKROW, Species.HOUNDOOM, Species.WEAVILE ], Type.DARK),
|
[TrainerType.KAREN]: new TrainerConfig(++t).initForEliteFour([Species.UMBREON, Species.HONCHKROW, Species.HOUNDOOM, Species.WEAVILE], Type.DARK),
|
||||||
[TrainerType.SIDNEY]: new TrainerConfig(++t).initForEliteFour([ Species.SHIFTRY, Species.SHARPEDO, Species.ABSOL, Species.ZOROARK ], Type.DARK),
|
[TrainerType.SIDNEY]: new TrainerConfig(++t).initForEliteFour([Species.SHIFTRY, Species.SHARPEDO, Species.ABSOL, Species.ZOROARK], Type.DARK),
|
||||||
[TrainerType.PHOEBE]: new TrainerConfig(++t).initForEliteFour([ Species.SABLEYE, Species.DUSKNOIR, Species.BANETTE, Species.CHANDELURE ], Type.GHOST),
|
[TrainerType.PHOEBE]: new TrainerConfig(++t).initForEliteFour([Species.SABLEYE, Species.DUSKNOIR, Species.BANETTE, Species.CHANDELURE], Type.GHOST),
|
||||||
[TrainerType.GLACIA]: new TrainerConfig(++t).initForEliteFour([ Species.GLALIE, Species.WALREIN, Species.FROSLASS, Species.ABOMASNOW ], Type.ICE),
|
[TrainerType.GLACIA]: new TrainerConfig(++t).initForEliteFour([Species.GLALIE, Species.WALREIN, Species.FROSLASS, Species.ABOMASNOW], Type.ICE),
|
||||||
[TrainerType.DRAKE]: new TrainerConfig(++t).initForEliteFour([ Species.ALTARIA, Species.SALAMENCE, Species.FLYGON, Species.KINGDRA ], Type.DRAGON),
|
[TrainerType.DRAKE]: new TrainerConfig(++t).initForEliteFour([Species.ALTARIA, Species.SALAMENCE, Species.FLYGON, Species.KINGDRA], Type.DRAGON),
|
||||||
[TrainerType.AARON]: new TrainerConfig(++t).initForEliteFour([ Species.SCIZOR, Species.HERACROSS, Species.VESPIQUEN, Species.DRAPION ], Type.BUG),
|
[TrainerType.AARON]: new TrainerConfig(++t).initForEliteFour([Species.SCIZOR, Species.HERACROSS, Species.VESPIQUEN, Species.DRAPION], Type.BUG),
|
||||||
[TrainerType.BERTHA]: new TrainerConfig(++t).initForEliteFour([ Species.WHISCASH, Species.HIPPOWDON, Species.GLISCOR, Species.RHYPERIOR ], Type.GROUND),
|
[TrainerType.BERTHA]: new TrainerConfig(++t).initForEliteFour([Species.WHISCASH, Species.HIPPOWDON, Species.GLISCOR, Species.RHYPERIOR], Type.GROUND),
|
||||||
[TrainerType.FLINT]: new TrainerConfig(++t).initForEliteFour([ Species.FLAREON, Species.HOUNDOOM, Species.RAPIDASH, Species.INFERNAPE ], Type.FIRE),
|
[TrainerType.FLINT]: new TrainerConfig(++t).initForEliteFour([Species.FLAREON, Species.HOUNDOOM, Species.RAPIDASH, Species.INFERNAPE], Type.FIRE),
|
||||||
[TrainerType.LUCIAN]: new TrainerConfig(++t).initForEliteFour([ Species.MR_MIME, Species.GALLADE, Species.BRONZONG, Species.ALAKAZAM ], Type.PSYCHIC),
|
[TrainerType.LUCIAN]: new TrainerConfig(++t).initForEliteFour([Species.MR_MIME, Species.GALLADE, Species.BRONZONG, Species.ALAKAZAM], Type.PSYCHIC),
|
||||||
[TrainerType.SHAUNTAL]: new TrainerConfig(++t).initForEliteFour([ Species.COFAGRIGUS, Species.CHANDELURE, Species.GOLURK, Species.DRIFBLIM ], Type.GHOST),
|
[TrainerType.SHAUNTAL]: new TrainerConfig(++t).initForEliteFour([Species.COFAGRIGUS, Species.CHANDELURE, Species.GOLURK, Species.DRIFBLIM], Type.GHOST),
|
||||||
[TrainerType.MARSHAL]: new TrainerConfig(++t).initForEliteFour([ Species.TIMBURR, Species.MIENFOO, Species.THROH, Species.SAWK ], Type.FIGHTING),
|
[TrainerType.MARSHAL]: new TrainerConfig(++t).initForEliteFour([Species.TIMBURR, Species.MIENFOO, Species.THROH, Species.SAWK], Type.FIGHTING),
|
||||||
[TrainerType.GRIMSLEY]: new TrainerConfig(++t).initForEliteFour([ Species.LIEPARD, Species.KINGAMBIT, Species.SCRAFTY, Species.KROOKODILE ], Type.DARK),
|
[TrainerType.GRIMSLEY]: new TrainerConfig(++t).initForEliteFour([Species.LIEPARD, Species.KINGAMBIT, Species.SCRAFTY, Species.KROOKODILE], Type.DARK),
|
||||||
[TrainerType.CAITLIN]: new TrainerConfig(++t).initForEliteFour([ Species.MUSHARNA, Species.GOTHITELLE, Species.SIGILYPH, Species.REUNICLUS ], Type.PSYCHIC),
|
[TrainerType.CAITLIN]: new TrainerConfig(++t).initForEliteFour([Species.MUSHARNA, Species.GOTHITELLE, Species.SIGILYPH, Species.REUNICLUS], Type.PSYCHIC),
|
||||||
[TrainerType.MALVA]: new TrainerConfig(++t).initForEliteFour([ Species.PYROAR, Species.TORKOAL, Species.CHANDELURE, Species.TALONFLAME ], Type.FIRE),
|
[TrainerType.MALVA]: new TrainerConfig(++t).initForEliteFour([Species.PYROAR, Species.TORKOAL, Species.CHANDELURE, Species.TALONFLAME], Type.FIRE),
|
||||||
[TrainerType.SIEBOLD]: new TrainerConfig(++t).initForEliteFour([ Species.CLAWITZER, Species.GYARADOS, Species.BARBARACLE, Species.STARMIE ], Type.WATER),
|
[TrainerType.SIEBOLD]: new TrainerConfig(++t).initForEliteFour([Species.CLAWITZER, Species.GYARADOS, Species.BARBARACLE, Species.STARMIE], Type.WATER),
|
||||||
[TrainerType.WIKSTROM]: new TrainerConfig(++t).initForEliteFour([ Species.KLEFKI, Species.PROBOPASS, Species.SCIZOR, Species.AEGISLASH ], Type.STEEL),
|
[TrainerType.WIKSTROM]: new TrainerConfig(++t).initForEliteFour([Species.KLEFKI, Species.PROBOPASS, Species.SCIZOR, Species.AEGISLASH], Type.STEEL),
|
||||||
[TrainerType.DRASNA]: new TrainerConfig(++t).initForEliteFour([ Species.DRAGALGE, Species.DRUDDIGON, Species.ALTARIA, Species.NOIVERN ], Type.DRAGON),
|
[TrainerType.DRASNA]: new TrainerConfig(++t).initForEliteFour([Species.DRAGALGE, Species.DRUDDIGON, Species.ALTARIA, Species.NOIVERN], Type.DRAGON),
|
||||||
[TrainerType.HALA]: new TrainerConfig(++t).initForEliteFour([ Species.HARIYAMA, Species.BEWEAR, Species.CRABOMINABLE, Species.POLIWRATH ], Type.FIGHTING),
|
[TrainerType.HALA]: new TrainerConfig(++t).initForEliteFour([Species.HARIYAMA, Species.BEWEAR, Species.CRABOMINABLE, Species.POLIWRATH], Type.FIGHTING),
|
||||||
[TrainerType.MOLAYNE]: new TrainerConfig(++t).initForEliteFour([ Species.KLEFKI, Species.MAGNEZONE, Species.METAGROSS, Species.ALOLA_DUGTRIO ], Type.STEEL),
|
[TrainerType.MOLAYNE]: new TrainerConfig(++t).initForEliteFour([Species.KLEFKI, Species.MAGNEZONE, Species.METAGROSS, Species.ALOLA_DUGTRIO], Type.STEEL),
|
||||||
[TrainerType.OLIVIA]: new TrainerConfig(++t).initForEliteFour([ Species.ARMALDO, Species.CRADILY, Species.ALOLA_GOLEM, Species.LYCANROC ], Type.ROCK),
|
[TrainerType.OLIVIA]: new TrainerConfig(++t).initForEliteFour([Species.ARMALDO, Species.CRADILY, Species.ALOLA_GOLEM, Species.LYCANROC], Type.ROCK),
|
||||||
[TrainerType.ACEROLA]: new TrainerConfig(++t).initForEliteFour([ Species.BANETTE, Species.DRIFBLIM, Species.DHELMISE, Species.PALOSSAND ], Type.GHOST),
|
[TrainerType.ACEROLA]: new TrainerConfig(++t).initForEliteFour([Species.BANETTE, Species.DRIFBLIM, Species.DHELMISE, Species.PALOSSAND], Type.GHOST),
|
||||||
[TrainerType.KAHILI]: new TrainerConfig(++t).initForEliteFour([ Species.BRAVIARY, Species.HAWLUCHA, Species.ORICORIO, Species.TOUCANNON ], Type.FLYING),
|
[TrainerType.KAHILI]: new TrainerConfig(++t).initForEliteFour([Species.BRAVIARY, Species.HAWLUCHA, Species.ORICORIO, Species.TOUCANNON], Type.FLYING),
|
||||||
[TrainerType.RIKA]: new TrainerConfig(++t).initForEliteFour([ Species. WHISCASH, Species.DONPHAN, Species.CAMERUPT, Species.CLODSIRE ], Type.GROUND),
|
[TrainerType.RIKA]: new TrainerConfig(++t).initForEliteFour([Species.WHISCASH, Species.DONPHAN, Species.CAMERUPT, Species.CLODSIRE], Type.GROUND),
|
||||||
[TrainerType.POPPY]: new TrainerConfig(++t).initForEliteFour([ Species.COPPERAJAH, Species.BRONZONG, Species.CORVIKNIGHT, Species.TINKATON ], Type.STEEL),
|
[TrainerType.POPPY]: new TrainerConfig(++t).initForEliteFour([Species.COPPERAJAH, Species.BRONZONG, Species.CORVIKNIGHT, Species.TINKATON], Type.STEEL),
|
||||||
[TrainerType.LARRY_ELITE]: new TrainerConfig(++t).initForEliteFour([ Species.STARAPTOR, Species.FLAMIGO, Species.ALTARIA, Species.TROPIUS ], Type.NORMAL, Type.FLYING),
|
[TrainerType.LARRY_ELITE]: new TrainerConfig(++t).initForEliteFour([Species.STARAPTOR, Species.FLAMIGO, Species.ALTARIA, Species.TROPIUS], Type.NORMAL, Type.FLYING),
|
||||||
[TrainerType.HASSEL]: new TrainerConfig(++t).initForEliteFour([ Species.NOIVERN, Species.HAXORUS, Species.DRAGALGE, Species.BAXCALIBUR ], Type.DRAGON),
|
[TrainerType.HASSEL]: new TrainerConfig(++t).initForEliteFour([Species.NOIVERN, Species.HAXORUS, Species.DRAGALGE, Species.BAXCALIBUR], Type.DRAGON),
|
||||||
[TrainerType.CRISPIN]: new TrainerConfig(++t).initForEliteFour([ Species.TALONFLAME, Species.CAMERUPT, Species.MAGMORTAR, Species.BLAZIKEN ], Type.FIRE),
|
[TrainerType.CRISPIN]: new TrainerConfig(++t).initForEliteFour([Species.TALONFLAME, Species.CAMERUPT, Species.MAGMORTAR, Species.BLAZIKEN], Type.FIRE),
|
||||||
[TrainerType.AMARYS]: new TrainerConfig(++t).initForEliteFour([ Species.SKARMORY, Species.EMPOLEON, Species.SCIZOR, Species.METAGROSS ], Type.STEEL),
|
[TrainerType.AMARYS]: new TrainerConfig(++t).initForEliteFour([Species.SKARMORY, Species.EMPOLEON, Species.SCIZOR, Species.METAGROSS], Type.STEEL),
|
||||||
[TrainerType.LACEY]: new TrainerConfig(++t).initForEliteFour([ Species.EXCADRILL, Species.PRIMARINA, Species.ALCREMIE, Species.GALAR_SLOWBRO ], Type.FAIRY),
|
[TrainerType.LACEY]: new TrainerConfig(++t).initForEliteFour([Species.EXCADRILL, Species.PRIMARINA, Species.ALCREMIE, Species.GALAR_SLOWBRO], Type.FAIRY),
|
||||||
[TrainerType.DRAYTON]: new TrainerConfig(++t).initForEliteFour([ Species.DRAGONITE, Species.ARCHALUDON, Species.FLYGON, Species.SCEPTILE ], Type.DRAGON),
|
[TrainerType.DRAYTON]: new TrainerConfig(++t).initForEliteFour([Species.DRAGONITE, Species.ARCHALUDON, Species.FLYGON, Species.SCEPTILE], Type.DRAGON),
|
||||||
|
|
||||||
[TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)).initForChampion([ Species.GYARADOS, Species.MEWTWO, Species.ARCANINE, Species.ALAKAZAM, Species.PIDGEOT ]).setBattleBgm('battle_kanto_champion'),
|
[TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)).initForChampion([Species.GYARADOS, Species.MEWTWO, Species.ARCANINE, Species.ALAKAZAM, Species.PIDGEOT]).setBattleBgm('battle_kanto_champion'),
|
||||||
[TrainerType.RED]: new TrainerConfig(++t).initForChampion([ Species.CHARIZARD, [ Species.LUGIA, Species.HO_OH ], Species.SNORLAX, Species.RAICHU, Species.ESPEON ]).setBattleBgm('battle_johto_champion'),
|
[TrainerType.RED]: new TrainerConfig(++t).initForChampion([Species.CHARIZARD, [Species.LUGIA, Species.HO_OH], Species.SNORLAX, Species.RAICHU, Species.ESPEON]).setBattleBgm('battle_johto_champion'),
|
||||||
[TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).initForChampion([ Species.DRAGONITE, Species.ZYGARDE, Species.AERODACTYL, Species.KINGDRA, Species.ALOLA_EXEGGUTOR ]).setBattleBgm('battle_johto_champion'),
|
[TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).initForChampion([Species.DRAGONITE, Species.ZYGARDE, Species.AERODACTYL, Species.KINGDRA, Species.ALOLA_EXEGGUTOR]).setBattleBgm('battle_johto_champion'),
|
||||||
[TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion([ Species.METAGROSS, [ Species.DIALGA, Species.PALKIA ], Species.SKARMORY, Species.AGGRON, Species.CARBINK ]).setBattleBgm('battle_hoenn_champion'),
|
[TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion([Species.METAGROSS, [Species.DIALGA, Species.PALKIA], Species.SKARMORY, Species.AGGRON, Species.CARBINK]).setBattleBgm('battle_hoenn_champion'),
|
||||||
[TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion([ Species.MILOTIC, Species.KYOGRE, Species.WHISCASH, Species.WALREIN, Species.LUDICOLO ]).setBattleBgm('battle_hoenn_champion'),
|
[TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion([Species.MILOTIC, Species.KYOGRE, Species.WHISCASH, Species.WALREIN, Species.LUDICOLO]).setBattleBgm('battle_hoenn_champion'),
|
||||||
[TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion([ Species.SPIRITOMB, Species.GIRATINA, Species.GARCHOMP, Species.MILOTIC, Species.LUCARIO, Species.TOGEKISS ]).setBattleBgm('battle_sinnoh_champion'),
|
[TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion([Species.SPIRITOMB, Species.GIRATINA, Species.GARCHOMP, Species.MILOTIC, Species.LUCARIO, Species.TOGEKISS]).setBattleBgm('battle_sinnoh_champion'),
|
||||||
[TrainerType.ALDER]: new TrainerConfig(++t).initForChampion([ Species.VOLCARONA, Species.GROUDON, Species.BOUFFALANT, Species.ACCELGOR, Species.CONKELDURR ]),
|
[TrainerType.ALDER]: new TrainerConfig(++t).initForChampion([Species.VOLCARONA, Species.GROUDON, Species.BOUFFALANT, Species.ACCELGOR, Species.CONKELDURR]),
|
||||||
[TrainerType.IRIS]: new TrainerConfig(++t).initForChampion([ Species.HAXORUS, Species.YVELTAL, Species.DRUDDIGON, Species.ARON, Species.LAPRAS ]).setBattleBgm('battle_champion_iris'),
|
[TrainerType.IRIS]: new TrainerConfig(++t).initForChampion([Species.HAXORUS, Species.YVELTAL, Species.DRUDDIGON, Species.ARON, Species.LAPRAS]).setBattleBgm('battle_champion_iris'),
|
||||||
[TrainerType.DIANTHA]: new TrainerConfig(++t).initForChampion([ Species.HAWLUCHA, Species.XERNEAS, Species.GOURGEIST, Species.GOODRA, Species.GARDEVOIR ]),
|
[TrainerType.DIANTHA]: new TrainerConfig(++t).initForChampion([Species.HAWLUCHA, Species.XERNEAS, Species.GOURGEIST, Species.GOODRA, Species.GARDEVOIR]),
|
||||||
[TrainerType.HAU]: new TrainerConfig(++t).initForChampion([ Species.ALOLA_RAICHU, [ Species.SOLGALEO, Species.LUNALA ], Species.NOIVERN, [ Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA ], Species.CRABOMINABLE ]),
|
[TrainerType.HAU]: new TrainerConfig(++t).initForChampion([Species.ALOLA_RAICHU, [Species.SOLGALEO, Species.LUNALA], Species.NOIVERN, [Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA], Species.CRABOMINABLE]),
|
||||||
[TrainerType.GEETA]: new TrainerConfig(++t).initForChampion([ Species.GLIMMORA, Species.MIRAIDON, Species.ESPATHRA, Species.VELUZA, Species.KINGAMBIT ]),
|
[TrainerType.GEETA]: new TrainerConfig(++t).initForChampion([Species.GLIMMORA, Species.MIRAIDON, Species.ESPATHRA, Species.VELUZA, Species.KINGAMBIT]),
|
||||||
[TrainerType.NEMONA]: new TrainerConfig(++t).initForChampion([ Species.LYCANROC, Species.KORAIDON, Species.KOMMO_O, Species.PAWMOT, Species.DUSKNOIR ]),
|
[TrainerType.NEMONA]: new TrainerConfig(++t).initForChampion([Species.LYCANROC, Species.KORAIDON, Species.KOMMO_O, Species.PAWMOT, Species.DUSKNOIR]),
|
||||||
[TrainerType.KIERAN]: new TrainerConfig(++t).initForChampion([ Species.POLITOED, [ Species.OGERPON, Species.TERAPAGOS ], Species.HYDRAPPLE, Species.PORYGON_Z, Species.GRIMMSNARL ]),
|
[TrainerType.KIERAN]: new TrainerConfig(++t).initForChampion([Species.POLITOED, [Species.OGERPON, Species.TERAPAGOS], Species.HYDRAPPLE, Species.PORYGON_Z, Species.GRIMMSNARL]),
|
||||||
[TrainerType.LEON]: new TrainerConfig(++t).initForChampion([ Species.DRAGAPULT, [ Species.ZACIAN, Species.ZAMAZENTA ], Species.SEISMITOAD, Species.AEGISLASH, Species.CHARIZARD ]),
|
[TrainerType.LEON]: new TrainerConfig(++t).initForChampion([Species.DRAGAPULT, [Species.ZACIAN, Species.ZAMAZENTA], Species.SEISMITOAD, Species.AEGISLASH, Species.CHARIZARD]),
|
||||||
|
|
||||||
[TrainerType.RIVAL]: new TrainerConfig((t = TrainerType.RIVAL)).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('Rival').setStaticParty().setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival').setPartyTemplates(trainerPartyTemplates.RIVAL)
|
[TrainerType.RIVAL]: new TrainerConfig((t = TrainerType.RIVAL)).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('rival').setStaticParty().setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival').setPartyTemplates(trainerPartyTemplates.RIVAL)
|
||||||
.setModifierRewardFuncs(() => modifierTypes.SUPER_EXP_CHARM, () => modifierTypes.EXP_SHARE)
|
.setModifierRewardFuncs(() => modifierTypes.SUPER_EXP_CHARM, () => modifierTypes.EXP_SHARE)
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE, Species.CHIKORITA, Species.CYNDAQUIL, Species.TOTODILE, Species.TREECKO, Species.TORCHIC, Species.MUDKIP, Species.TURTWIG, Species.CHIMCHAR, Species.PIPLUP, Species.SNIVY, Species.TEPIG, Species.OSHAWOTT, Species.CHESPIN, Species.FENNEKIN, Species.FROAKIE, Species.ROWLET, Species.LITTEN, Species.POPPLIO, Species.GROOKEY, Species.SCORBUNNY, Species.SOBBLE, Species.SPRIGATITO, Species.FUECOCO, Species.QUAXLY ], TrainerSlot.TRAINER, true))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE, Species.CHIKORITA, Species.CYNDAQUIL, Species.TOTODILE, Species.TREECKO, Species.TORCHIC, Species.MUDKIP, Species.TURTWIG, Species.CHIMCHAR, Species.PIPLUP, Species.SNIVY, Species.TEPIG, Species.OSHAWOTT, Species.CHESPIN, Species.FENNEKIN, Species.FROAKIE, Species.ROWLET, Species.LITTEN, Species.POPPLIO, Species.GROOKEY, Species.SCORBUNNY, Species.SOBBLE, Species.SPRIGATITO, Species.FUECOCO, Species.QUAXLY], TrainerSlot.TRAINER, true))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.PIDGEY, Species.HOOTHOOT, Species.TAILLOW, Species.STARLY, Species.PIDOVE, Species.FLETCHLING, Species.PIKIPEK, Species.ROOKIDEE, Species.WATTREL ], TrainerSlot.TRAINER, true)),
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEY, Species.HOOTHOOT, Species.TAILLOW, Species.STARLY, Species.PIDOVE, Species.FLETCHLING, Species.PIKIPEK, Species.ROOKIDEE, Species.WATTREL], TrainerSlot.TRAINER, true)),
|
||||||
[TrainerType.RIVAL_2]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('Rival').setStaticParty().setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival').setPartyTemplates(trainerPartyTemplates.RIVAL_2)
|
[TrainerType.RIVAL_2]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('rival').setStaticParty().setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival').setPartyTemplates(trainerPartyTemplates.RIVAL_2)
|
||||||
.setModifierRewardFuncs(() => modifierTypes.EXP_SHARE)
|
.setModifierRewardFuncs(() => modifierTypes.EXP_SHARE)
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.IVYSAUR, Species.CHARMELEON, Species.WARTORTLE, Species.BAYLEEF, Species.QUILAVA, Species.CROCONAW, Species.GROVYLE, Species.COMBUSKEN, Species.MARSHTOMP, Species.GROTLE, Species.MONFERNO, Species.PRINPLUP, Species.SERVINE, Species.PIGNITE, Species.DEWOTT, Species.QUILLADIN, Species.BRAIXEN, Species.FROGADIER, Species.DARTRIX, Species.TORRACAT, Species.BRIONNE, Species.THWACKEY, Species.RABOOT, Species.DRIZZILE, Species.FLORAGATO, Species.CROCALOR, Species.QUAXWELL ], TrainerSlot.TRAINER, true))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.IVYSAUR, Species.CHARMELEON, Species.WARTORTLE, Species.BAYLEEF, Species.QUILAVA, Species.CROCONAW, Species.GROVYLE, Species.COMBUSKEN, Species.MARSHTOMP, Species.GROTLE, Species.MONFERNO, Species.PRINPLUP, Species.SERVINE, Species.PIGNITE, Species.DEWOTT, Species.QUILLADIN, Species.BRAIXEN, Species.FROGADIER, Species.DARTRIX, Species.TORRACAT, Species.BRIONNE, Species.THWACKEY, Species.RABOOT, Species.DRIZZILE, Species.FLORAGATO, Species.CROCALOR, Species.QUAXWELL], TrainerSlot.TRAINER, true))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.PIDGEOTTO, Species.HOOTHOOT, Species.TAILLOW, Species.STARAVIA, Species.TRANQUILL, Species.FLETCHINDER, Species.TRUMBEAK, Species.CORVISQUIRE, Species.WATTREL ], TrainerSlot.TRAINER, true))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOTTO, Species.HOOTHOOT, Species.TAILLOW, Species.STARAVIA, Species.TRANQUILL, Species.FLETCHINDER, Species.TRUMBEAK, Species.CORVISQUIRE, Species.WATTREL], TrainerSlot.TRAINER, true))
|
||||||
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)),
|
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)),
|
||||||
[TrainerType.RIVAL_3]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('Rival').setStaticParty().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival').setPartyTemplates(trainerPartyTemplates.RIVAL_3)
|
[TrainerType.RIVAL_3]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('rival').setStaticParty().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival').setPartyTemplates(trainerPartyTemplates.RIVAL_3)
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL ], TrainerSlot.TRAINER, true))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL ], TrainerSlot.TRAINER, true))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true))
|
||||||
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
|
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
|
||||||
.setSpeciesFilter(species => species.baseTotal >= 540),
|
.setSpeciesFilter(species => species.baseTotal >= 540),
|
||||||
[TrainerType.RIVAL_4]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('Rival').setBoss().setStaticParty().setMoneyMultiplier(1.75).setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival_2').setPartyTemplates(trainerPartyTemplates.RIVAL_4)
|
[TrainerType.RIVAL_4]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('rival').setBoss().setStaticParty().setMoneyMultiplier(1.75).setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival_2').setPartyTemplates(trainerPartyTemplates.RIVAL_4)
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL ], TrainerSlot.TRAINER, true))
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL ], TrainerSlot.TRAINER, true))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true))
|
||||||
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
|
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
|
||||||
.setSpeciesFilter(species => species.baseTotal >= 540)
|
.setSpeciesFilter(species => species.baseTotal >= 540)
|
||||||
.setGenModifiersFunc(party => {
|
.setGenModifiersFunc(party => {
|
||||||
const starter = party[0];
|
const starter = party[0];
|
||||||
return [ modifierTypes.TERA_SHARD().generateType(null, [ starter.species.type1 ]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier ];
|
return [modifierTypes.TERA_SHARD().generateType(null, [starter.species.type1]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier];
|
||||||
}),
|
}),
|
||||||
[TrainerType.RIVAL_5]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('Rival').setBoss().setStaticParty().setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival_3').setPartyTemplates(trainerPartyTemplates.RIVAL_5)
|
[TrainerType.RIVAL_5]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('rival').setBoss().setStaticParty().setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm('battle_rival_3').setPartyTemplates(trainerPartyTemplates.RIVAL_5)
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL ], TrainerSlot.TRAINER, true,
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true,
|
||||||
p => p.setBoss(true, 2)))
|
p => p.setBoss(true, 2)))
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL ], TrainerSlot.TRAINER, true))
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true))
|
||||||
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
|
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
|
||||||
.setSpeciesFilter(species => species.baseTotal >= 540)
|
.setSpeciesFilter(species => species.baseTotal >= 540)
|
||||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.RAYQUAZA ], TrainerSlot.TRAINER, true, p => {
|
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => {
|
||||||
p.setBoss(true, 3);
|
p.setBoss(true, 3);
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
p.shiny = true;
|
p.shiny = true;
|
||||||
@ -851,17 +903,17 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
}))
|
}))
|
||||||
.setGenModifiersFunc(party => {
|
.setGenModifiersFunc(party => {
|
||||||
const starter = party[0];
|
const starter = party[0];
|
||||||
return [ modifierTypes.TERA_SHARD().generateType(null, [ starter.species.type1 ]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier ];
|
return [modifierTypes.TERA_SHARD().generateType(null, [starter.species.type1]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier];
|
||||||
}),
|
}),
|
||||||
[TrainerType.RIVAL_6]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('Rival').setBoss().setStaticParty().setMoneyMultiplier(3).setEncounterBgm('final').setBattleBgm('battle_rival_3').setPartyTemplates(trainerPartyTemplates.RIVAL_6)
|
[TrainerType.RIVAL_6]: new TrainerConfig(++t).setName('Finn').setHasGenders('Ivy').setHasCharSprite().setTitle('rival').setBoss().setStaticParty().setMoneyMultiplier(3).setEncounterBgm('final').setBattleBgm('battle_rival_3').setPartyTemplates(trainerPartyTemplates.RIVAL_6)
|
||||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL ], TrainerSlot.TRAINER, true,
|
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true,
|
||||||
p => p.setBoss(true, 3))
|
p => p.setBoss(true, 3))
|
||||||
)
|
)
|
||||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL ], TrainerSlot.TRAINER, true,
|
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true,
|
||||||
p => p.setBoss(true, 2)))
|
p => p.setBoss(true, 2)))
|
||||||
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
|
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
|
||||||
.setSpeciesFilter(species => species.baseTotal >= 540)
|
.setSpeciesFilter(species => species.baseTotal >= 540)
|
||||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.RAYQUAZA ], TrainerSlot.TRAINER, true, p => {
|
.setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => {
|
||||||
p.setBoss();
|
p.setBoss();
|
||||||
p.pokeball = PokeballType.MASTER_BALL;
|
p.pokeball = PokeballType.MASTER_BALL;
|
||||||
p.shiny = true;
|
p.shiny = true;
|
||||||
@ -870,10 +922,14 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
}))
|
}))
|
||||||
.setGenModifiersFunc(party => {
|
.setGenModifiersFunc(party => {
|
||||||
const starter = party[0];
|
const starter = party[0];
|
||||||
return [ modifierTypes.TERA_SHARD().generateType(null, [ starter.species.type1 ]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier ];
|
return [modifierTypes.TERA_SHARD().generateType(null, [starter.species.type1]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier];
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
(function() {
|
(function () {
|
||||||
|
// I think we need to get the language that we are using here and then decide with a switch statment which language to load the dialogue in
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
initTrainerTypeDialogue();
|
initTrainerTypeDialogue();
|
||||||
})();
|
})();
|
@ -61,7 +61,7 @@ const trainerNameConfigs: TrainerNameConfigs = {
|
|||||||
[TrainerType.SMASHER]: new TrainerNameConfig(TrainerType.SMASHER),
|
[TrainerType.SMASHER]: new TrainerNameConfig(TrainerType.SMASHER),
|
||||||
[TrainerType.SNOW_WORKER]: new TrainerNameConfig(TrainerType.SNOW_WORKER, 'Worker'),
|
[TrainerType.SNOW_WORKER]: new TrainerNameConfig(TrainerType.SNOW_WORKER, 'Worker'),
|
||||||
[TrainerType.STRIKER]: new TrainerNameConfig(TrainerType.STRIKER),
|
[TrainerType.STRIKER]: new TrainerNameConfig(TrainerType.STRIKER),
|
||||||
[TrainerType.STUDENT]: new TrainerNameConfig(TrainerType.STUDENT, 'School_Kid'),
|
[TrainerType.SCHOOL_KID]: new TrainerNameConfig(TrainerType.SCHOOL_KID, 'School_Kid'),
|
||||||
[TrainerType.SWIMMER]: new TrainerNameConfig(TrainerType.SWIMMER),
|
[TrainerType.SWIMMER]: new TrainerNameConfig(TrainerType.SWIMMER),
|
||||||
[TrainerType.TWINS]: new TrainerNameConfig(TrainerType.TWINS),
|
[TrainerType.TWINS]: new TrainerNameConfig(TrainerType.TWINS),
|
||||||
[TrainerType.VETERAN]: new TrainerNameConfig(TrainerType.VETERAN),
|
[TrainerType.VETERAN]: new TrainerNameConfig(TrainerType.VETERAN),
|
||||||
@ -111,7 +111,7 @@ export const trainerNamePools = {
|
|||||||
[TrainerType.SMASHER]: ["Aspen","Elena","Mari","Amy","Lizzy"],
|
[TrainerType.SMASHER]: ["Aspen","Elena","Mari","Amy","Lizzy"],
|
||||||
[TrainerType.SNOW_WORKER]: [["Braden","Brendon","Colin","Conrad","Dillan","Gary","Gerardo","Holden","Jackson","Mason","Quentin","Willy","Noel","Arnold","Brady","Brand","Cairn","Cliff","Don","Eddie","Felix","Filipe","Glenn","Gus","Heath","Matthew","Patton","Rich","Rob","Ryan","Scott","Shelby","Sterling","Tyler","Victor","Zack","Friedrich","Herman","Isaac","Leo","Maynard","Mitchell","Morgann","Nathan","Niel","Pasqual","Paul","Tavarius","Tibor","Dimitri","Narek","Yusif","Frank","Jeff","Vaclav","Ovid","Francis","Keith","Russel","Sangon","Toway","Bomber","Chean","Demit","Hubor","Kebile","Laber","Ordo","Retay","Ronix","Wagel","Dobit","Kaster","Lobel","Releo","Saken","Rustix"],["Georgia","Sandra","Yvonne"]],
|
[TrainerType.SNOW_WORKER]: [["Braden","Brendon","Colin","Conrad","Dillan","Gary","Gerardo","Holden","Jackson","Mason","Quentin","Willy","Noel","Arnold","Brady","Brand","Cairn","Cliff","Don","Eddie","Felix","Filipe","Glenn","Gus","Heath","Matthew","Patton","Rich","Rob","Ryan","Scott","Shelby","Sterling","Tyler","Victor","Zack","Friedrich","Herman","Isaac","Leo","Maynard","Mitchell","Morgann","Nathan","Niel","Pasqual","Paul","Tavarius","Tibor","Dimitri","Narek","Yusif","Frank","Jeff","Vaclav","Ovid","Francis","Keith","Russel","Sangon","Toway","Bomber","Chean","Demit","Hubor","Kebile","Laber","Ordo","Retay","Ronix","Wagel","Dobit","Kaster","Lobel","Releo","Saken","Rustix"],["Georgia","Sandra","Yvonne"]],
|
||||||
[TrainerType.STRIKER]: ["Marco","Roberto","Tony"],
|
[TrainerType.STRIKER]: ["Marco","Roberto","Tony"],
|
||||||
[TrainerType.STUDENT]: [["Alan","Billy","Chad","Danny","Dudley","Jack","Joe","Johnny","Kipp","Nate","Ricky","Tommy","Jerry","Paul","Ted","Chance","Esteban","Forrest","Harrison","Connor","Sherman","Torin","Travis","Al","Carter","Edgar","Jem","Sammy","Shane","Shayne","Alvin","Keston","Neil","Seymour","William","Carson","Clark","Nolan"],["Georgia","Karen","Meiko","Christine","Mackenzie","Tiera","Ann","Gina","Lydia","Marsha","Millie","Sally","Serena","Silvia","Alberta","Cassie","Mara","Rita","Georgie","Meena","Nitzel"]],
|
[TrainerType.SCHOOL_KID]: [["Alan","Billy","Chad","Danny","Dudley","Jack","Joe","Johnny","Kipp","Nate","Ricky","Tommy","Jerry","Paul","Ted","Chance","Esteban","Forrest","Harrison","Connor","Sherman","Torin","Travis","Al","Carter","Edgar","Jem","Sammy","Shane","Shayne","Alvin","Keston","Neil","Seymour","William","Carson","Clark","Nolan"],["Georgia","Karen","Meiko","Christine","Mackenzie","Tiera","Ann","Gina","Lydia","Marsha","Millie","Sally","Serena","Silvia","Alberta","Cassie","Mara","Rita","Georgie","Meena","Nitzel"]],
|
||||||
[TrainerType.SWIMMER]: [["Berke","Cameron","Charlie","George","Harold","Jerome","Kirk","Mathew","Parker","Randall","Seth","Simon","Tucker","Austin","Barry","Chad","Cody","Darrin","David","Dean","Douglas","Franklin","Gilbert","Herman","Jack","Luis","Matthew","Reed","Richard","Rodney","Roland","Spencer","Stan","Tony","Clarence","Declan","Dominik","Harrison","Kevin","Leonardo","Nolen","Pete","Santiago","Axle","Braden","Finn","Garrett","Mymo","Reece","Samir","Toby","Adrian","Colton","Dillon","Erik","Evan","Francisco","Glenn","Kurt","Oscar","Ricardo","Sam","Sheltin","Troy","Vincent","Wade","Wesley","Duane","Elmo","Esteban","Frankie","Ronald","Tyson","Bart","Matt","Tim","Wright","Jeffery","Kyle","Alessandro","Estaban","Kieran","Ramses","Casey","Dakota","Jared","Kalani","Keoni","Lawrence","Logan","Robert","Roddy","Yasu","Derek","Jacob","Bruce","Clayton"],["Briana","Dawn","Denise","Diana","Elaine","Kara","Kaylee","Lori","Nicole","Nikki","Paula","Susie","Wendy","Alice","Beth","Beverly","Brenda","Dana","Debra","Grace","Jenny","Katie","Laurel","Linda","Missy","Sharon","Tanya","Tara","Tisha","Carlee","Imani","Isabelle","Kyla","Sienna","Abigail","Amara","Anya","Connie","Maria","Melissa","Nora","Shirley","Shania","Tiffany","Aubree","Cassandra","Claire","Crystal","Erica","Gabrielle","Haley","Jessica","Joanna","Lydia","Mallory","Mary","Miranda","Paige","Sophia","Vanessa","Chelan","Debbie","Joy","Kendra","Leona","Mina","Caroline","Joyce","Larissa","Rebecca","Tyra","Dara","Desiree","Kaoru","Ruth","Coral","Genevieve","Isla","Marissa","Romy","Sheryl","Alexandria","Alicia","Chelsea","Jade","Kelsie","Laura","Portia","Shelby","Sara","Tiare","Kyra","Natasha","Layla","Scarlett","Cora"]],
|
[TrainerType.SWIMMER]: [["Berke","Cameron","Charlie","George","Harold","Jerome","Kirk","Mathew","Parker","Randall","Seth","Simon","Tucker","Austin","Barry","Chad","Cody","Darrin","David","Dean","Douglas","Franklin","Gilbert","Herman","Jack","Luis","Matthew","Reed","Richard","Rodney","Roland","Spencer","Stan","Tony","Clarence","Declan","Dominik","Harrison","Kevin","Leonardo","Nolen","Pete","Santiago","Axle","Braden","Finn","Garrett","Mymo","Reece","Samir","Toby","Adrian","Colton","Dillon","Erik","Evan","Francisco","Glenn","Kurt","Oscar","Ricardo","Sam","Sheltin","Troy","Vincent","Wade","Wesley","Duane","Elmo","Esteban","Frankie","Ronald","Tyson","Bart","Matt","Tim","Wright","Jeffery","Kyle","Alessandro","Estaban","Kieran","Ramses","Casey","Dakota","Jared","Kalani","Keoni","Lawrence","Logan","Robert","Roddy","Yasu","Derek","Jacob","Bruce","Clayton"],["Briana","Dawn","Denise","Diana","Elaine","Kara","Kaylee","Lori","Nicole","Nikki","Paula","Susie","Wendy","Alice","Beth","Beverly","Brenda","Dana","Debra","Grace","Jenny","Katie","Laurel","Linda","Missy","Sharon","Tanya","Tara","Tisha","Carlee","Imani","Isabelle","Kyla","Sienna","Abigail","Amara","Anya","Connie","Maria","Melissa","Nora","Shirley","Shania","Tiffany","Aubree","Cassandra","Claire","Crystal","Erica","Gabrielle","Haley","Jessica","Joanna","Lydia","Mallory","Mary","Miranda","Paige","Sophia","Vanessa","Chelan","Debbie","Joy","Kendra","Leona","Mina","Caroline","Joyce","Larissa","Rebecca","Tyra","Dara","Desiree","Kaoru","Ruth","Coral","Genevieve","Isla","Marissa","Romy","Sheryl","Alexandria","Alicia","Chelsea","Jade","Kelsie","Laura","Portia","Shelby","Sara","Tiare","Kyra","Natasha","Layla","Scarlett","Cora"]],
|
||||||
[TrainerType.TWINS]: ["Amy & May","Jo & Zoe","Meg & Peg","Ann & Anne","Lea & Pia","Amy & Liv","Gina & Mia","Miu & Yuki","Tori & Tia","Eli & Anne","Jen & Kira","Joy & Meg","Kiri & Jan","Miu & Mia","Emma & Lil","Liv & Liz","Teri & Tia","Amy & Mimi","Clea & Gil","Day & Dani","Kay & Tia","Tori & Til","Saya & Aya","Emy & Lin","Kumi & Amy","Mayo & May","Ally & Amy","Lia & Lily","Rae & Ula","Sola & Ana","Tara & Val","Faith & Joy","Nana & Nina"],
|
[TrainerType.TWINS]: ["Amy & May","Jo & Zoe","Meg & Peg","Ann & Anne","Lea & Pia","Amy & Liv","Gina & Mia","Miu & Yuki","Tori & Tia","Eli & Anne","Jen & Kira","Joy & Meg","Kiri & Jan","Miu & Mia","Emma & Lil","Liv & Liz","Teri & Tia","Amy & Mimi","Clea & Gil","Day & Dani","Kay & Tia","Tori & Til","Saya & Aya","Emy & Lin","Kumi & Amy","Mayo & May","Ally & Amy","Lia & Lily","Rae & Ula","Sola & Ana","Tara & Val","Faith & Joy","Nana & Nina"],
|
||||||
[TrainerType.VETERAN]: [["Armando","Brenden","Brian","Clayton","Edgar","Emanuel","Grant","Harlan","Terrell","Arlen","Chester","Hugo","Martell","Ray","Shaun","Abraham","Carter","Claude","Jerry","Lucius","Murphy","Rayne","Ron","Sinan","Sterling","Vincent","Zach","Gerard","Gilles","Louis","Timeo","Akira","Don","Eric","Harry","Leon","Roger","Angus","Aristo","Brone","Johnny"],["Julia","Karla","Kim","Sayuri","Tiffany","Cathy","Cecile","Chloris","Denae","Gina","Maya","Oriana","Portia","Rhona","Rosaline","Catrina","Inga","Trisha","Heather","Lynn","Sheri","Alonsa","Ella","Leticia","Kiara"]],
|
[TrainerType.VETERAN]: [["Armando","Brenden","Brian","Clayton","Edgar","Emanuel","Grant","Harlan","Terrell","Arlen","Chester","Hugo","Martell","Ray","Shaun","Abraham","Carter","Claude","Jerry","Lucius","Murphy","Rayne","Ron","Sinan","Sterling","Vincent","Zach","Gerard","Gilles","Louis","Timeo","Akira","Don","Eric","Harry","Leon","Roger","Angus","Aristo","Brone","Johnny"],["Julia","Karla","Kim","Sayuri","Tiffany","Cathy","Cecile","Chloris","Denae","Gina","Maya","Oriana","Portia","Rhona","Rosaline","Catrina","Inga","Trisha","Heather","Lynn","Sheri","Alonsa","Ella","Leticia","Kiara"]],
|
||||||
|
@ -10,6 +10,8 @@ import { PersistentModifier } from "../modifier/modifier";
|
|||||||
import { trainerNamePools } from "../data/trainer-names";
|
import { trainerNamePools } from "../data/trainer-names";
|
||||||
import { ArenaTagType } from "#app/data/enums/arena-tag-type";
|
import { ArenaTagType } from "#app/data/enums/arena-tag-type";
|
||||||
import { ArenaTag, ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag";
|
import { ArenaTag, ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag";
|
||||||
|
import {getIsInitialized, initI18n} from "#app/plugins/i18n";
|
||||||
|
import i18next from "i18next";
|
||||||
|
|
||||||
export enum TrainerVariant {
|
export enum TrainerVariant {
|
||||||
DEFAULT,
|
DEFAULT,
|
||||||
@ -97,9 +99,16 @@ export default class Trainer extends Phaser.GameObjects.Container {
|
|||||||
getName(trainerSlot: TrainerSlot = TrainerSlot.NONE, includeTitle: boolean = false): string {
|
getName(trainerSlot: TrainerSlot = TrainerSlot.NONE, includeTitle: boolean = false): string {
|
||||||
let name = this.config.getTitle(trainerSlot, this.variant);
|
let name = this.config.getTitle(trainerSlot, this.variant);
|
||||||
let title = includeTitle && this.config.title ? this.config.title : null;
|
let title = includeTitle && this.config.title ? this.config.title : null;
|
||||||
|
|
||||||
|
|
||||||
if (this.name) {
|
if (this.name) {
|
||||||
if (includeTitle)
|
if (includeTitle)
|
||||||
title = name;
|
|
||||||
|
// Check if i18n is initialized
|
||||||
|
if (!getIsInitialized()) {
|
||||||
|
initI18n()
|
||||||
|
}
|
||||||
|
title = i18next.t(`trainerClasses:${name.toLowerCase().replace(/\s/g, '_')}`);
|
||||||
if (!trainerSlot) {
|
if (!trainerSlot) {
|
||||||
name = this.name;
|
name = this.name;
|
||||||
if (this.partnerName)
|
if (this.partnerName)
|
||||||
@ -107,6 +116,7 @@ export default class Trainer extends Phaser.GameObjects.Container {
|
|||||||
} else
|
} else
|
||||||
name = trainerSlot === TrainerSlot.TRAINER ? this.name : this.partnerName || this.name;
|
name = trainerSlot === TrainerSlot.TRAINER ? this.name : this.partnerName || this.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
return title ? `${title} ${name}` : name;
|
return title ? `${title} ${name}` : name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ import { pokemon } from "./pokemon";
|
|||||||
import { pokemonStat } from "./pokemon-stat";
|
import { pokemonStat } from "./pokemon-stat";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
|
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||||
|
|
||||||
|
|
||||||
export const deConfig = {
|
export const deConfig = {
|
||||||
@ -24,5 +25,8 @@ export const deConfig = {
|
|||||||
pokemonStat: pokemonStat,
|
pokemonStat: pokemonStat,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
|
titles: titles,
|
||||||
|
trainerClasses: trainerClasses,
|
||||||
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial
|
tutorial: tutorial
|
||||||
}
|
}
|
221
src/locales/de/trainers.ts
Normal file
221
src/locales/de/trainers.ts
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
import {SimpleTranslationEntries} from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
// Titles of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const titles: SimpleTranslationEntries = {
|
||||||
|
"elite_four": "Top Vier",
|
||||||
|
"gym_leader": "Arenaleiter",
|
||||||
|
"gym_leader_female": "Arenaleiterin",
|
||||||
|
"champion": "Champion",
|
||||||
|
"rival": "Rivale",
|
||||||
|
"professor": "Professor",
|
||||||
|
"frontier_brain": "Kampfkoryphäen",
|
||||||
|
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Titles of trainers like "Youngster" or "Lass"
|
||||||
|
export const trainerClasses: SimpleTranslationEntries = {
|
||||||
|
"ace_trainer": "Ass-Trainer",
|
||||||
|
"ace_trainer_female": "Ass-Trainerin",
|
||||||
|
"artist": "Künstler",
|
||||||
|
"artist_female": "Künstlerin",
|
||||||
|
"backers": "Anhänger",
|
||||||
|
"backpacker": "Backpacker",
|
||||||
|
"backpacker_female": "Backpackerin",
|
||||||
|
"baker": "Bäckerin",
|
||||||
|
"battle_girl": "Kämpferin",
|
||||||
|
"beauty": "Schönheit",
|
||||||
|
"biker": "Rowdy",
|
||||||
|
"black_belt": "Schwarzgurt",
|
||||||
|
"breeder": "Pokémon Züchter",
|
||||||
|
"breeder_female": "Pokémon Züchterin",
|
||||||
|
"clerk": "Angestellter",
|
||||||
|
"clerk_female": "Angestellte",
|
||||||
|
"cyclist": "Biker",
|
||||||
|
"cyclist_female": "Bikerin",
|
||||||
|
"dancer": "Tänzer",
|
||||||
|
"dancer_female": "Tänzerin",
|
||||||
|
"depot_agent": "Bahnangestellter",
|
||||||
|
"doctor": "Arzt",
|
||||||
|
"doctor_female": "Ärztin",
|
||||||
|
"fishermen": "Angler",
|
||||||
|
"fishermen_female": "Angler", // Seems to be the same in german but exists in other languages like italian
|
||||||
|
"guitarist": "Gitarrist",
|
||||||
|
"guitarist_female": "Gitarristin",
|
||||||
|
"harlequin": "Kasper",
|
||||||
|
"hiker": "Wanderer",
|
||||||
|
"hooligans": "Rabauken",
|
||||||
|
"hoopster": "Basketballer",
|
||||||
|
"infielder": "Baseballer",
|
||||||
|
"janitor": "Hausmeister",
|
||||||
|
"lady": "Lady",
|
||||||
|
"lass": "Göre",
|
||||||
|
"linebacker": "Footballer",
|
||||||
|
"maid": "Zofe",
|
||||||
|
"madame": "Madam",
|
||||||
|
"musican": "Musiker",
|
||||||
|
"hex_manic": "Hexe",
|
||||||
|
"nurse": "Pflegerin",
|
||||||
|
"nursery_aide": "Erzieherin",
|
||||||
|
"officer": "Polizist",
|
||||||
|
"parasol_lady": "Schirmdame",
|
||||||
|
"pilot": "Pilot",
|
||||||
|
"pokefan": "Pokéfan",
|
||||||
|
"preschooler": "Vorschüler",
|
||||||
|
"preschooler_female": "Vorschülerin",
|
||||||
|
"psychic": "Seher",
|
||||||
|
"psychic_female": "Seherin",
|
||||||
|
"ranger": "Ranger",
|
||||||
|
"rich": "Gentleman", // Gentleman is the english name but the trainerType is rich
|
||||||
|
"rich_kid": "Schnösel",
|
||||||
|
"roughneck": "Raufbold",
|
||||||
|
"scientist": "Forscher",
|
||||||
|
"scientist_female": "Forscherin",
|
||||||
|
"smasher": "Tennis-Ass",
|
||||||
|
"snow_worker": "Schneearbeiter", // There is a trainer type for this but no actual trainer class? They seem to be just workers but dressed differently
|
||||||
|
"snow_worker_female": "Schneearbeiterin",
|
||||||
|
"striker": "Fußballer",
|
||||||
|
"school_kid": "Schulkind",
|
||||||
|
"school_kid_female": "Schulkind", // Same in german but different in italian
|
||||||
|
"swimmer": "Schwimmer",
|
||||||
|
"swimmer_female": "Schwimmerin",
|
||||||
|
"twins": "Zwillinge",
|
||||||
|
"veteran": "Veteran",
|
||||||
|
"veteran_female": "Veteran", // same in german, different in other languages
|
||||||
|
"waiter": "Servierer",
|
||||||
|
"waitress": "Serviererin",
|
||||||
|
"worker": "Arbeiter",
|
||||||
|
"worker_female": "Arbeiterin",
|
||||||
|
"youngster": "Knirps"
|
||||||
|
|
||||||
|
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Names of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const trainerNames: SimpleTranslationEntries = {
|
||||||
|
"brock": "Rocko",
|
||||||
|
"misty": "Misty",
|
||||||
|
"lt_surge": "Major Bob",
|
||||||
|
"erika": "Erika",
|
||||||
|
"janine": "Janina",
|
||||||
|
"sabrina": "Sabrina",
|
||||||
|
"blaine": "Pyor",
|
||||||
|
"giovanni": "Giovanni",
|
||||||
|
"falkner": "Falk",
|
||||||
|
"bugsy": "Kai",
|
||||||
|
"whitney": "Bianka",
|
||||||
|
"morty": "Jens",
|
||||||
|
"chuck": "Hartwig",
|
||||||
|
"jasmine": "Jasmin",
|
||||||
|
"pryce": "Norbert",
|
||||||
|
"clair": "Sandra",
|
||||||
|
"roxanne": "Felizia",
|
||||||
|
"brawly": "Kamillo",
|
||||||
|
"wattson": "Walter",
|
||||||
|
"flannery": "Flavia",
|
||||||
|
"norman": "Norman",
|
||||||
|
"winona": "Wibke",
|
||||||
|
"tate": "Ben",
|
||||||
|
"liza": "Svenja",
|
||||||
|
"juan": "Juan",
|
||||||
|
"roark": "Veit",
|
||||||
|
"gardenia": "Silvana",
|
||||||
|
"maylene": "Hilda",
|
||||||
|
"crasher_wake": "Wellenbrecher Marinus",
|
||||||
|
"fantina": "Lamina",
|
||||||
|
"byron": "Adam",
|
||||||
|
"candice": "Frida",
|
||||||
|
"volkner": "Volkner",
|
||||||
|
"cilan": "Benny",
|
||||||
|
"chili": "Maik",
|
||||||
|
"cress": "Colin",
|
||||||
|
"cheren": "Cheren",
|
||||||
|
"lenora": "Aloe",
|
||||||
|
"roxie": "Mica",
|
||||||
|
"burgh": "Artie",
|
||||||
|
"elesa": "Kamilla",
|
||||||
|
"clay": "Turner",
|
||||||
|
"skyla": "Géraldine",
|
||||||
|
"brycen": "Sandro",
|
||||||
|
"drayden": "Lysander",
|
||||||
|
"marlon": "Benson",
|
||||||
|
"viola": "Viola",
|
||||||
|
"grant": "Lino",
|
||||||
|
"korrina": "Connie",
|
||||||
|
"ramos": "Amaro",
|
||||||
|
"clemont": "Citro",
|
||||||
|
"valerie": "Valerie",
|
||||||
|
"olympia": "Astrid",
|
||||||
|
"wulfric": "Galantho",
|
||||||
|
"milo": "Yarro",
|
||||||
|
"nessa": "Kate",
|
||||||
|
"kabu": "Kabu",
|
||||||
|
"bea": "Saida",
|
||||||
|
"allister": "Nio",
|
||||||
|
"opal": "Papella",
|
||||||
|
"bede": "Betys",
|
||||||
|
"gordie": "Mac",
|
||||||
|
"melony": "Mel",
|
||||||
|
"piers": "Nezz",
|
||||||
|
"marnie": "Mary",
|
||||||
|
"raihan": "Roy",
|
||||||
|
"katy": "Ronah",
|
||||||
|
"brassius": "Colzo",
|
||||||
|
"iono": "Enigmara",
|
||||||
|
"kofu": "Kombu",
|
||||||
|
"larry": "Aoki",
|
||||||
|
"ryme": "Etta",
|
||||||
|
"tulip": "Tulia",
|
||||||
|
"grusha": "Grusha",
|
||||||
|
"lorelei": "Lorelei",
|
||||||
|
"bruno": "Bruno",
|
||||||
|
"agatha": "Agathe",
|
||||||
|
"lance": "Siegfried",
|
||||||
|
"will": "Willi",
|
||||||
|
"koga": "Koga",
|
||||||
|
"karen": "Melanie",
|
||||||
|
"sidney": "Ulrich",
|
||||||
|
"phoebe": "Antonia",
|
||||||
|
"glacia": "Frosina",
|
||||||
|
"drake": "Dragan",
|
||||||
|
"aaron": "Herbaro",
|
||||||
|
"bertha": "Teresa",
|
||||||
|
"flint": "Ignaz",
|
||||||
|
"lucian": "Lucian",
|
||||||
|
"shauntal": "Anissa",
|
||||||
|
"marshal": "Eugen",
|
||||||
|
"grimsley": "Astor",
|
||||||
|
"caitlin": "Kattlea",
|
||||||
|
"malva": "Pachira",
|
||||||
|
"siebold": "Narcisse",
|
||||||
|
"wikstrom": "Thymelot",
|
||||||
|
"drasna": "Dracena",
|
||||||
|
"hala": "Hala",
|
||||||
|
"molayne": "Marlon",
|
||||||
|
"olivia": "Mayla",
|
||||||
|
"acerola": "Lola",
|
||||||
|
"kahili": "Kahili",
|
||||||
|
"rika": "Cay",
|
||||||
|
"poppy": "Poppy",
|
||||||
|
"larry_elite": "Aoki", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"hassel": "Sinius",
|
||||||
|
"crispin": "Matt",
|
||||||
|
"amarys": "Erin",
|
||||||
|
"lacey": "Tara",
|
||||||
|
"drayton": "Levy",
|
||||||
|
"blue": "Blau",
|
||||||
|
"red": "Rot",
|
||||||
|
"lance_champion": "Siegfried", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"steven": "Troy",
|
||||||
|
"wallace": "Wassili",
|
||||||
|
"cynthia": "Cynthia",
|
||||||
|
"alder": "Lauro",
|
||||||
|
"iris": "Lilia",
|
||||||
|
"diantha": "Diantha",
|
||||||
|
"hau": "Tali",
|
||||||
|
"geeta": "Sagaria",
|
||||||
|
"nemona": "Nemila",
|
||||||
|
"kieran": "Jo",
|
||||||
|
"leon": "Delion",
|
||||||
|
"rival": "Finn",
|
||||||
|
"rival_female": "Ivy",
|
||||||
|
} as const;
|
@ -10,6 +10,7 @@ import { pokemon } from "./pokemon";
|
|||||||
import { pokemonStat } from "./pokemon-stat";
|
import { pokemonStat } from "./pokemon-stat";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
|
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||||
|
|
||||||
|
|
||||||
export const enConfig = {
|
export const enConfig = {
|
||||||
@ -24,5 +25,8 @@ export const enConfig = {
|
|||||||
pokemonStat: pokemonStat,
|
pokemonStat: pokemonStat,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
|
titles: titles,
|
||||||
|
trainerClasses: trainerClasses,
|
||||||
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial
|
tutorial: tutorial
|
||||||
}
|
}
|
219
src/locales/en/trainers.ts
Normal file
219
src/locales/en/trainers.ts
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
import {SimpleTranslationEntries} from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
// Titles of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const titles: SimpleTranslationEntries = {
|
||||||
|
"elite_four": "Elite Four",
|
||||||
|
"gym_leader": "Gym Leader",
|
||||||
|
"gym_leader_female": "Gym Leader",
|
||||||
|
"champion": "Champion",
|
||||||
|
"rival": "Rival",
|
||||||
|
"professor": "Professor",
|
||||||
|
"frontier_brain": "Frontier Brain",
|
||||||
|
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Titles of trainers like "Youngster" or "Lass"
|
||||||
|
export const trainerClasses: SimpleTranslationEntries = {
|
||||||
|
"ace_trainer": "Ace Trainer",
|
||||||
|
"ace_trainer_female": "Ace Trainer",
|
||||||
|
"artist": "Artist",
|
||||||
|
"artist_female": "Artist",
|
||||||
|
"backers": "Backers",
|
||||||
|
"backpacker": "Backpacker",
|
||||||
|
"backpacker_female": "Backpacker",
|
||||||
|
"baker": "Baker",
|
||||||
|
"battle_girl": "Battle Girl",
|
||||||
|
"beauty": "Beauty",
|
||||||
|
"biker": "Biker",
|
||||||
|
"black_belt": "Black Belt",
|
||||||
|
"breeder": "Breeder",
|
||||||
|
"breeder_female": "Breeder",
|
||||||
|
"clerk": "Clerk",
|
||||||
|
"clerk_female": "Clerk",
|
||||||
|
"cyclist": "Cyclist",
|
||||||
|
"cyclist_female": "Cyclist",
|
||||||
|
"dancer": "Dancer",
|
||||||
|
"dancer_female": "Dancer",
|
||||||
|
"depot_agent": "Depot Agent",
|
||||||
|
"doctor": "Doctor",
|
||||||
|
"doctor_female": "Doctor",
|
||||||
|
"fishermen": "Fishermen",
|
||||||
|
"fishermen_female": "Fishermen",
|
||||||
|
"guitarist": "Guitarist",
|
||||||
|
"guitarist_female": "Guitarist",
|
||||||
|
"harlequin": "Harlequin",
|
||||||
|
"hiker": "Hiker",
|
||||||
|
"hooligans": "Hooligans",
|
||||||
|
"hoopster": "Hoopster",
|
||||||
|
"infielder": "Infielder",
|
||||||
|
"janitor": "Janitor",
|
||||||
|
"lady": "Lady",
|
||||||
|
"lass": "Lass",
|
||||||
|
"linebacker": "Linebacker",
|
||||||
|
"maid": "Maid",
|
||||||
|
"madame": "Madame",
|
||||||
|
"musican": "Musician",
|
||||||
|
"hex_manic": "Hex Manic",
|
||||||
|
"nurse": "Nurse",
|
||||||
|
"nursery_aide": "Nursery Aide",
|
||||||
|
"officer": "Officer",
|
||||||
|
"parasol_lady": "Parasol Lady",
|
||||||
|
"pilot": "Pilot",
|
||||||
|
"pokefan": "Pokefan",
|
||||||
|
"preschooler": "Preschooler",
|
||||||
|
"preschooler_female": "Preschooler",
|
||||||
|
"psychic": "Psychic",
|
||||||
|
"psychic_female": "Psychic",
|
||||||
|
"ranger": "Ranger",
|
||||||
|
"rich": "Gentleman", // Gentleman is the english name but the trainerType is rich
|
||||||
|
"rich_kid": "Rich Kid",
|
||||||
|
"roughneck": "Roughneck",
|
||||||
|
"scientist": "Scientist",
|
||||||
|
"scientist_female": "Scientist",
|
||||||
|
"smasher": "Smasher",
|
||||||
|
"snow_worker": "Snow Worker",
|
||||||
|
"snow_worker_female": "Snow Worker",
|
||||||
|
"striker": "Striker",
|
||||||
|
"school_kid": "School Kid",
|
||||||
|
"school_kid_female": "School Kid",
|
||||||
|
"swimmer": "Swimmer",
|
||||||
|
"swimmer_female": "Swimmer",
|
||||||
|
"twins": "Twins",
|
||||||
|
"veteran": "Veteran",
|
||||||
|
"veteran_female": "Veteran",
|
||||||
|
"waiter": "Waiter",
|
||||||
|
"waitress": "Waitress",
|
||||||
|
"worker": "Worker",
|
||||||
|
"worker_female": "Worker",
|
||||||
|
"youngster": "Youngster"
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Names of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const trainerNames: SimpleTranslationEntries = {
|
||||||
|
"brock": "Brock",
|
||||||
|
"misty": "Misty",
|
||||||
|
"lt_surge": "Lt Surge",
|
||||||
|
"erika": "Erika",
|
||||||
|
"janine": "Janine",
|
||||||
|
"sabrina": "Sabrina",
|
||||||
|
"blaine": "Blaine",
|
||||||
|
"giovanni": "Giovanni",
|
||||||
|
"falkner": "Falkner",
|
||||||
|
"bugsy": "Bugsy",
|
||||||
|
"whitney": "Whitney",
|
||||||
|
"morty": "Morty",
|
||||||
|
"chuck": "Chuck",
|
||||||
|
"jasmine": "Jasmine",
|
||||||
|
"pryce": "Pryce",
|
||||||
|
"clair": "Clair",
|
||||||
|
"roxanne": "Roxanne",
|
||||||
|
"brawly": "Brawly",
|
||||||
|
"wattson": "Wattson",
|
||||||
|
"flannery": "Flannery",
|
||||||
|
"norman": "Norman",
|
||||||
|
"winona": "Winona",
|
||||||
|
"tate": "Tate",
|
||||||
|
"liza": "Liza",
|
||||||
|
"juan": "Juan",
|
||||||
|
"roark": "Roark",
|
||||||
|
"gardenia": "Gardenia",
|
||||||
|
"maylene": "Maylene",
|
||||||
|
"crasher_wake": "Crasher Wake",
|
||||||
|
"fantina": "Fantina",
|
||||||
|
"byron": "Byron",
|
||||||
|
"candice": "Candice",
|
||||||
|
"volkner": "Volkner",
|
||||||
|
"cilan": "Cilan",
|
||||||
|
"chili": "Chili",
|
||||||
|
"cress": "Cress",
|
||||||
|
"cheren": "Cheren",
|
||||||
|
"lenora": "Lenora",
|
||||||
|
"roxie": "Roxie",
|
||||||
|
"burgh": "Burgh",
|
||||||
|
"elesa": "Elesa",
|
||||||
|
"clay": "Clay",
|
||||||
|
"skyla": "Skyla",
|
||||||
|
"brycen": "Brycen",
|
||||||
|
"drayden": "Drayden",
|
||||||
|
"marlon": "Marlon",
|
||||||
|
"viola": "Viola",
|
||||||
|
"grant": "Grant",
|
||||||
|
"korrina": "Korrina",
|
||||||
|
"ramos": "Ramos",
|
||||||
|
"clemont": "Clemont",
|
||||||
|
"valerie": "Valerie",
|
||||||
|
"olympia": "Olympia",
|
||||||
|
"wulfric": "Wulfric",
|
||||||
|
"milo": "Milo",
|
||||||
|
"nessa": "Nessa",
|
||||||
|
"kabu": "Kabu",
|
||||||
|
"bea": "Bea",
|
||||||
|
"allister": "Allister",
|
||||||
|
"opal": "Opal",
|
||||||
|
"bede": "Bede",
|
||||||
|
"gordie": "Gordie",
|
||||||
|
"melony": "Melony",
|
||||||
|
"piers": "Piers",
|
||||||
|
"marnie": "Marnie",
|
||||||
|
"raihan": "Raihan",
|
||||||
|
"katy": "Katy",
|
||||||
|
"brassius": "Brassius",
|
||||||
|
"iono": "Iono",
|
||||||
|
"kofu": "Kofu",
|
||||||
|
"larry": "Larry",
|
||||||
|
"ryme": "Ryme",
|
||||||
|
"tulip": "Tulip",
|
||||||
|
"grusha": "Grusha",
|
||||||
|
"lorelei": "Lorelei",
|
||||||
|
"bruno": "Bruno",
|
||||||
|
"agatha": "Agatha",
|
||||||
|
"lance": "Lance",
|
||||||
|
"will": "Will",
|
||||||
|
"koga": "Koga",
|
||||||
|
"karen": "Karen",
|
||||||
|
"sidney": "Sidney",
|
||||||
|
"phoebe": "Phoebe",
|
||||||
|
"glacia": "Glacia",
|
||||||
|
"drake": "Drake",
|
||||||
|
"aaron": "Aaron",
|
||||||
|
"bertha": "Bertha",
|
||||||
|
"flint": "Flint",
|
||||||
|
"lucian": "Lucian",
|
||||||
|
"shauntal": "Shauntal",
|
||||||
|
"marshal": "Marshal",
|
||||||
|
"grimsley": "Grimsley",
|
||||||
|
"caitlin": "Caitlin",
|
||||||
|
"malva": "Malva",
|
||||||
|
"siebold": "Siebold",
|
||||||
|
"wikstrom": "Wikstrom",
|
||||||
|
"drasna": "Drasna",
|
||||||
|
"hala": "Hala",
|
||||||
|
"molayne": "Molayne",
|
||||||
|
"olivia": "Olivia",
|
||||||
|
"acerola": "Acerola",
|
||||||
|
"kahili": "Kahili",
|
||||||
|
"rika": "Rika",
|
||||||
|
"poppy": "Poppy",
|
||||||
|
"larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"hassel": "Hassel",
|
||||||
|
"crispin": "Crispin",
|
||||||
|
"amarys": "Amarys",
|
||||||
|
"lacey": "Lacey",
|
||||||
|
"drayton": "Drayton",
|
||||||
|
"blue": "Blue",
|
||||||
|
"red": "Red",
|
||||||
|
"lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"steven": "Steven",
|
||||||
|
"wallace": "Wallace",
|
||||||
|
"cynthia": "Cynthia",
|
||||||
|
"alder": "Alder",
|
||||||
|
"iris": "Iris",
|
||||||
|
"diantha": "Diantha",
|
||||||
|
"hau": "Hau",
|
||||||
|
"geeta": "Geeta",
|
||||||
|
"nemona": "Nemona",
|
||||||
|
"kieran": "Kieran",
|
||||||
|
"leon": "Leon",
|
||||||
|
"rival": "Finn",
|
||||||
|
"rival_female": "Ivy",
|
||||||
|
} as const;
|
@ -10,6 +10,7 @@ import { pokemon } from "./pokemon";
|
|||||||
import { pokemonStat } from "./pokemon-stat";
|
import { pokemonStat } from "./pokemon-stat";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
|
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||||
|
|
||||||
|
|
||||||
export const esConfig = {
|
export const esConfig = {
|
||||||
@ -24,5 +25,8 @@ export const esConfig = {
|
|||||||
pokemonStat: pokemonStat,
|
pokemonStat: pokemonStat,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
|
titles: titles,
|
||||||
|
trainerClasses: trainerClasses,
|
||||||
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial
|
tutorial: tutorial
|
||||||
}
|
}
|
219
src/locales/es/trainers.ts
Normal file
219
src/locales/es/trainers.ts
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
import {SimpleTranslationEntries} from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
// Titles of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const titles: SimpleTranslationEntries = {
|
||||||
|
"elite_four": "Elite Four",
|
||||||
|
"gym_leader": "Gym Leader",
|
||||||
|
"gym_leader_female": "Gym Leader",
|
||||||
|
"champion": "Champion",
|
||||||
|
"rival": "Rival",
|
||||||
|
"professor": "Professor",
|
||||||
|
"frontier_brain": "Frontier Brain",
|
||||||
|
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Titles of trainers like "Youngster" or "Lass"
|
||||||
|
export const trainerClasses: SimpleTranslationEntries = {
|
||||||
|
"ace_trainer": "Ace Trainer",
|
||||||
|
"ace_trainer_female": "Ace Trainer",
|
||||||
|
"artist": "Artist",
|
||||||
|
"artist_female": "Artist",
|
||||||
|
"backers": "Backers",
|
||||||
|
"backpacker": "Backpacker",
|
||||||
|
"backpacker_female": "Backpacker",
|
||||||
|
"baker": "Baker",
|
||||||
|
"battle_girl": "Battle Girl",
|
||||||
|
"beauty": "Beauty",
|
||||||
|
"biker": "Biker",
|
||||||
|
"black_belt": "Black Belt",
|
||||||
|
"breeder": "Breeder",
|
||||||
|
"breeder_female": "Breeder",
|
||||||
|
"clerk": "Clerk",
|
||||||
|
"clerk_female": "Clerk",
|
||||||
|
"cyclist": "Cyclist",
|
||||||
|
"cyclist_female": "Cyclist",
|
||||||
|
"dancer": "Dancer",
|
||||||
|
"dancer_female": "Dancer",
|
||||||
|
"depot_agent": "Depot Agent",
|
||||||
|
"doctor": "Doctor",
|
||||||
|
"doctor_female": "Doctor",
|
||||||
|
"fishermen": "Fishermen",
|
||||||
|
"fishermen_female": "Fishermen",
|
||||||
|
"guitarist": "Guitarist",
|
||||||
|
"guitarist_female": "Guitarist",
|
||||||
|
"harlequin": "Harlequin",
|
||||||
|
"hiker": "Hiker",
|
||||||
|
"hooligans": "Hooligans",
|
||||||
|
"hoopster": "Hoopster",
|
||||||
|
"infielder": "Infielder",
|
||||||
|
"janitor": "Janitor",
|
||||||
|
"lady": "Lady",
|
||||||
|
"lass": "Lass",
|
||||||
|
"linebacker": "Linebacker",
|
||||||
|
"maid": "Maid",
|
||||||
|
"madame": "Madame",
|
||||||
|
"musican": "Musician",
|
||||||
|
"hex_manic": "Hex Manic",
|
||||||
|
"nurse": "Nurse",
|
||||||
|
"nursery_aide": "Nursery Aide",
|
||||||
|
"officer": "Officer",
|
||||||
|
"parasol_lady": "Parasol Lady",
|
||||||
|
"pilot": "Pilot",
|
||||||
|
"pokefan": "Pokefan",
|
||||||
|
"preschooler": "Preschooler",
|
||||||
|
"preschooler_female": "Preschooler",
|
||||||
|
"psychic": "Psychic",
|
||||||
|
"psychic_female": "Psychic",
|
||||||
|
"ranger": "Ranger",
|
||||||
|
"rich": "Gentleman", // Gentleman is the english name but the trainerType is rich
|
||||||
|
"rich_kid": "Rich Kid",
|
||||||
|
"roughneck": "Roughneck",
|
||||||
|
"scientist": "Scientist",
|
||||||
|
"scientist_female": "Scientist",
|
||||||
|
"smasher": "Smasher",
|
||||||
|
"snow_worker": "Snow Worker",
|
||||||
|
"snow_worker_female": "Snow Worker",
|
||||||
|
"striker": "Striker",
|
||||||
|
"school_kid": "School Kid",
|
||||||
|
"school_kid_female": "School Kid",
|
||||||
|
"swimmer": "Swimmer",
|
||||||
|
"swimmer_female": "Swimmer",
|
||||||
|
"twins": "Twins",
|
||||||
|
"veteran": "Veteran",
|
||||||
|
"veteran_female": "Veteran",
|
||||||
|
"waiter": "Waiter",
|
||||||
|
"waitress": "Waitress",
|
||||||
|
"worker": "Worker",
|
||||||
|
"worker_female": "Worker",
|
||||||
|
"youngster": "Youngster"
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Names of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const trainerNames: SimpleTranslationEntries = {
|
||||||
|
"brock": "Brock",
|
||||||
|
"misty": "Misty",
|
||||||
|
"lt_surge": "Lt Surge",
|
||||||
|
"erika": "Erika",
|
||||||
|
"janine": "Janine",
|
||||||
|
"sabrina": "Sabrina",
|
||||||
|
"blaine": "Blaine",
|
||||||
|
"giovanni": "Giovanni",
|
||||||
|
"falkner": "Falkner",
|
||||||
|
"bugsy": "Bugsy",
|
||||||
|
"whitney": "Whitney",
|
||||||
|
"morty": "Morty",
|
||||||
|
"chuck": "Chuck",
|
||||||
|
"jasmine": "Jasmine",
|
||||||
|
"pryce": "Pryce",
|
||||||
|
"clair": "Clair",
|
||||||
|
"roxanne": "Roxanne",
|
||||||
|
"brawly": "Brawly",
|
||||||
|
"wattson": "Wattson",
|
||||||
|
"flannery": "Flannery",
|
||||||
|
"norman": "Norman",
|
||||||
|
"winona": "Winona",
|
||||||
|
"tate": "Tate",
|
||||||
|
"liza": "Liza",
|
||||||
|
"juan": "Juan",
|
||||||
|
"roark": "Roark",
|
||||||
|
"gardenia": "Gardenia",
|
||||||
|
"maylene": "Maylene",
|
||||||
|
"crasher_wake": "Crasher Wake",
|
||||||
|
"fantina": "Fantina",
|
||||||
|
"byron": "Byron",
|
||||||
|
"candice": "Candice",
|
||||||
|
"volkner": "Volkner",
|
||||||
|
"cilan": "Cilan",
|
||||||
|
"chili": "Chili",
|
||||||
|
"cress": "Cress",
|
||||||
|
"cheren": "Cheren",
|
||||||
|
"lenora": "Lenora",
|
||||||
|
"roxie": "Roxie",
|
||||||
|
"burgh": "Burgh",
|
||||||
|
"elesa": "Elesa",
|
||||||
|
"clay": "Clay",
|
||||||
|
"skyla": "Skyla",
|
||||||
|
"brycen": "Brycen",
|
||||||
|
"drayden": "Drayden",
|
||||||
|
"marlon": "Marlon",
|
||||||
|
"viola": "Viola",
|
||||||
|
"grant": "Grant",
|
||||||
|
"korrina": "Korrina",
|
||||||
|
"ramos": "Ramos",
|
||||||
|
"clemont": "Clemont",
|
||||||
|
"valerie": "Valerie",
|
||||||
|
"olympia": "Olympia",
|
||||||
|
"wulfric": "Wulfric",
|
||||||
|
"milo": "Milo",
|
||||||
|
"nessa": "Nessa",
|
||||||
|
"kabu": "Kabu",
|
||||||
|
"bea": "Bea",
|
||||||
|
"allister": "Allister",
|
||||||
|
"opal": "Opal",
|
||||||
|
"bede": "Bede",
|
||||||
|
"gordie": "Gordie",
|
||||||
|
"melony": "Melony",
|
||||||
|
"piers": "Piers",
|
||||||
|
"marnie": "Marnie",
|
||||||
|
"raihan": "Raihan",
|
||||||
|
"katy": "Katy",
|
||||||
|
"brassius": "Brassius",
|
||||||
|
"iono": "Iono",
|
||||||
|
"kofu": "Kofu",
|
||||||
|
"larry": "Larry",
|
||||||
|
"ryme": "Ryme",
|
||||||
|
"tulip": "Tulip",
|
||||||
|
"grusha": "Grusha",
|
||||||
|
"lorelei": "Lorelei",
|
||||||
|
"bruno": "Bruno",
|
||||||
|
"agatha": "Agatha",
|
||||||
|
"lance": "Lance",
|
||||||
|
"will": "Will",
|
||||||
|
"koga": "Koga",
|
||||||
|
"karen": "Karen",
|
||||||
|
"sidney": "Sidney",
|
||||||
|
"phoebe": "Phoebe",
|
||||||
|
"glacia": "Glacia",
|
||||||
|
"drake": "Drake",
|
||||||
|
"aaron": "Aaron",
|
||||||
|
"bertha": "Bertha",
|
||||||
|
"flint": "Flint",
|
||||||
|
"lucian": "Lucian",
|
||||||
|
"shauntal": "Shauntal",
|
||||||
|
"marshal": "Marshal",
|
||||||
|
"grimsley": "Grimsley",
|
||||||
|
"caitlin": "Caitlin",
|
||||||
|
"malva": "Malva",
|
||||||
|
"siebold": "Siebold",
|
||||||
|
"wikstrom": "Wikstrom",
|
||||||
|
"drasna": "Drasna",
|
||||||
|
"hala": "Hala",
|
||||||
|
"molayne": "Molayne",
|
||||||
|
"olivia": "Olivia",
|
||||||
|
"acerola": "Acerola",
|
||||||
|
"kahili": "Kahili",
|
||||||
|
"rika": "Rika",
|
||||||
|
"poppy": "Poppy",
|
||||||
|
"larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"hassel": "Hassel",
|
||||||
|
"crispin": "Crispin",
|
||||||
|
"amarys": "Amarys",
|
||||||
|
"lacey": "Lacey",
|
||||||
|
"drayton": "Drayton",
|
||||||
|
"blue": "Blue",
|
||||||
|
"red": "Red",
|
||||||
|
"lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"steven": "Steven",
|
||||||
|
"wallace": "Wallace",
|
||||||
|
"cynthia": "Cynthia",
|
||||||
|
"alder": "Alder",
|
||||||
|
"iris": "Iris",
|
||||||
|
"diantha": "Diantha",
|
||||||
|
"hau": "Hau",
|
||||||
|
"geeta": "Geeta",
|
||||||
|
"nemona": "Nemona",
|
||||||
|
"kieran": "Kieran",
|
||||||
|
"leon": "Leon",
|
||||||
|
"rival": "Finn",
|
||||||
|
"rival_female": "Ivy",
|
||||||
|
} as const;
|
@ -10,6 +10,7 @@ import { pokemon } from "./pokemon";
|
|||||||
import { pokemonStat } from "./pokemon-stat";
|
import { pokemonStat } from "./pokemon-stat";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
|
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||||
|
|
||||||
|
|
||||||
export const frConfig = {
|
export const frConfig = {
|
||||||
@ -24,5 +25,8 @@ export const frConfig = {
|
|||||||
pokemonStat: pokemonStat,
|
pokemonStat: pokemonStat,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
|
titles: titles,
|
||||||
|
trainerClasses: trainerClasses,
|
||||||
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial
|
tutorial: tutorial
|
||||||
}
|
}
|
218
src/locales/fr/trainers.ts
Normal file
218
src/locales/fr/trainers.ts
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
import {SimpleTranslationEntries} from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
// Titles of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const titles: SimpleTranslationEntries = {
|
||||||
|
"elite_four": "Elite Four",
|
||||||
|
"gym_leader": "Gym Leader",
|
||||||
|
"gym_leader_female": "Gym Leader",
|
||||||
|
"champion": "Champion",
|
||||||
|
"rival": "Rival",
|
||||||
|
"professor": "Professor",
|
||||||
|
"frontier_brain": "Frontier Brain",
|
||||||
|
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Titles of trainers like "Youngster" or "Lass"
|
||||||
|
export const trainerClasses: SimpleTranslationEntries = {
|
||||||
|
"ace_trainer": "Ace Trainer",
|
||||||
|
"ace_trainer_female": "Ace Trainer",
|
||||||
|
"artist": "Artist",
|
||||||
|
"artist_female": "Artist",
|
||||||
|
"backers": "Backers",
|
||||||
|
"backpacker": "Backpacker",
|
||||||
|
"backpacker_female": "Backpacker",
|
||||||
|
"baker": "Baker",
|
||||||
|
"battle_girl": "Battle Girl",
|
||||||
|
"beauty": "Beauty",
|
||||||
|
"biker": "Biker",
|
||||||
|
"black_belt": "Black Belt",
|
||||||
|
"breeder": "Breeder",
|
||||||
|
"breeder_female": "Breeder",
|
||||||
|
"clerk": "Clerk",
|
||||||
|
"clerk_female": "Clerk",
|
||||||
|
"cyclist": "Cyclist",
|
||||||
|
"cyclist_female": "Cyclist",
|
||||||
|
"dancer": "Dancer",
|
||||||
|
"dancer_female": "Dancer",
|
||||||
|
"depot_agent": "Depot Agent",
|
||||||
|
"doctor": "Doctor",
|
||||||
|
"doctor_female": "Doctor",
|
||||||
|
"fishermen": "Fishermen",
|
||||||
|
"fishermen_female": "Fishermen",
|
||||||
|
"guitarist": "Guitarist",
|
||||||
|
"guitarist_female": "Guitarist",
|
||||||
|
"harlequin": "Harlequin",
|
||||||
|
"hiker": "Hiker",
|
||||||
|
"hooligans": "Hooligans",
|
||||||
|
"hoopster": "Hoopster",
|
||||||
|
"infielder": "Infielder",
|
||||||
|
"janitor": "Janitor",
|
||||||
|
"lady": "Lady",
|
||||||
|
"lass": "Lass",
|
||||||
|
"linebacker": "Linebacker",
|
||||||
|
"maid": "Maid",
|
||||||
|
"madame": "Madame",
|
||||||
|
"musican": "Musician",
|
||||||
|
"hex_manic": "Hex Manic",
|
||||||
|
"nurse": "Nurse",
|
||||||
|
"nursery_aide": "Nursery Aide",
|
||||||
|
"officer": "Officer",
|
||||||
|
"parasol_lady": "Parasol Lady",
|
||||||
|
"pilot": "Pilot",
|
||||||
|
"pokefan": "Pokefan",
|
||||||
|
"preschooler": "Preschooler",
|
||||||
|
"preschooler_female": "Preschooler",
|
||||||
|
"psychic": "Psychic",
|
||||||
|
"psychic_female": "Psychic",
|
||||||
|
"ranger": "Ranger",
|
||||||
|
"rich": "Gentleman", // Gentleman is the english name but the trainerType is rich
|
||||||
|
"rich_kid": "Rich Kid",
|
||||||
|
"roughneck": "Roughneck",
|
||||||
|
"scientist": "Scientist",
|
||||||
|
"scientist_female": "Scientist",
|
||||||
|
"smasher": "Smasher",
|
||||||
|
"snow_worker": "Snow Worker",
|
||||||
|
"snow_worker_female": "Snow Worker",
|
||||||
|
"striker": "Striker",
|
||||||
|
"school_kid": "School Kid",
|
||||||
|
"school_kid_female": "School Kid",
|
||||||
|
"swimmer": "Swimmer",
|
||||||
|
"swimmer_female": "Swimmer",
|
||||||
|
"twins": "Twins",
|
||||||
|
"veteran": "Veteran",
|
||||||
|
"veteran_female": "Veteran",
|
||||||
|
"waiter": "Waiter",
|
||||||
|
"waitress": "Waitress",
|
||||||
|
"worker": "Worker",
|
||||||
|
"worker_female": "Worker",
|
||||||
|
"youngster": "Youngster"
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Names of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const trainerNames: SimpleTranslationEntries = {
|
||||||
|
"brock": "Brock",
|
||||||
|
"misty": "Misty",
|
||||||
|
"lt_surge": "Lt Surge",
|
||||||
|
"erika": "Erika",
|
||||||
|
"janine": "Janine",
|
||||||
|
"sabrina": "Sabrina",
|
||||||
|
"blaine": "Blaine",
|
||||||
|
"giovanni": "Giovanni",
|
||||||
|
"falkner": "Falkner",
|
||||||
|
"bugsy": "Bugsy",
|
||||||
|
"whitney": "Whitney",
|
||||||
|
"morty": "Morty",
|
||||||
|
"chuck": "Chuck",
|
||||||
|
"jasmine": "Jasmine",
|
||||||
|
"pryce": "Pryce",
|
||||||
|
"clair": "Clair",
|
||||||
|
"roxanne": "Roxanne",
|
||||||
|
"brawly": "Brawly",
|
||||||
|
"wattson": "Wattson",
|
||||||
|
"flannery": "Flannery",
|
||||||
|
"norman": "Norman",
|
||||||
|
"winona": "Winona",
|
||||||
|
"tate": "Tate",
|
||||||
|
"liza": "Liza",
|
||||||
|
"juan": "Juan",
|
||||||
|
"roark": "Roark",
|
||||||
|
"gardenia": "Gardenia",
|
||||||
|
"maylene": "Maylene",
|
||||||
|
"crasher_wake": "Crasher Wake",
|
||||||
|
"fantina": "Fantina",
|
||||||
|
"byron": "Byron",
|
||||||
|
"candice": "Candice",
|
||||||
|
"volkner": "Volkner",
|
||||||
|
"cilan": "Cilan",
|
||||||
|
"chili": "Chili",
|
||||||
|
"cress": "Cress",
|
||||||
|
"cheren": "Cheren",
|
||||||
|
"lenora": "Lenora",
|
||||||
|
"roxie": "Roxie",
|
||||||
|
"burgh": "Burgh",
|
||||||
|
"elesa": "Elesa",
|
||||||
|
"clay": "Clay",
|
||||||
|
"skyla": "Skyla",
|
||||||
|
"brycen": "Brycen",
|
||||||
|
"drayden": "Drayden",
|
||||||
|
"marlon": "Marlon",
|
||||||
|
"viola": "Viola",
|
||||||
|
"grant": "Grant",
|
||||||
|
"korrina": "Korrina",
|
||||||
|
"ramos": "Ramos",
|
||||||
|
"clemont": "Clemont",
|
||||||
|
"valerie": "Valerie",
|
||||||
|
"olympia": "Olympia",
|
||||||
|
"wulfric": "Wulfric",
|
||||||
|
"milo": "Milo",
|
||||||
|
"nessa": "Nessa",
|
||||||
|
"kabu": "Kabu",
|
||||||
|
"bea": "Bea",
|
||||||
|
"allister": "Allister",
|
||||||
|
"opal": "Opal",
|
||||||
|
"bede": "Bede",
|
||||||
|
"gordie": "Gordie",
|
||||||
|
"melony": "Melony",
|
||||||
|
"piers": "Piers",
|
||||||
|
"marnie": "Marnie",
|
||||||
|
"raihan": "Raihan",
|
||||||
|
"katy": "Katy",
|
||||||
|
"brassius": "Brassius",
|
||||||
|
"iono": "Iono",
|
||||||
|
"kofu": "Kofu",
|
||||||
|
"larry": "Larry",
|
||||||
|
"ryme": "Ryme",
|
||||||
|
"tulip": "Tulip",
|
||||||
|
"grusha": "Grusha",
|
||||||
|
"lorelei": "Lorelei",
|
||||||
|
"bruno": "Bruno",
|
||||||
|
"agatha": "Agatha",
|
||||||
|
"lance": "Lance",
|
||||||
|
"will": "Will",
|
||||||
|
"koga": "Koga",
|
||||||
|
"karen": "Karen",
|
||||||
|
"sidney": "Sidney",
|
||||||
|
"phoebe": "Phoebe",
|
||||||
|
"glacia": "Glacia",
|
||||||
|
"drake": "Drake",
|
||||||
|
"aaron": "Aaron",
|
||||||
|
"bertha": "Bertha",
|
||||||
|
"flint": "Flint",
|
||||||
|
"lucian": "Lucian",
|
||||||
|
"shauntal": "Shauntal",
|
||||||
|
"marshal": "Marshal",
|
||||||
|
"grimsley": "Grimsley",
|
||||||
|
"caitlin": "Caitlin",
|
||||||
|
"malva": "Malva",
|
||||||
|
"siebold": "Siebold",
|
||||||
|
"wikstrom": "Wikstrom",
|
||||||
|
"drasna": "Drasna",
|
||||||
|
"hala": "Hala",
|
||||||
|
"molayne": "Molayne",
|
||||||
|
"olivia": "Olivia",
|
||||||
|
"acerola": "Acerola",
|
||||||
|
"kahili": "Kahili",
|
||||||
|
"rika": "Rika",
|
||||||
|
"poppy": "Poppy",
|
||||||
|
"larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"hassel": "Hassel",
|
||||||
|
"crispin": "Crispin",
|
||||||
|
"amarys": "Amarys",
|
||||||
|
"lacey": "Lacey",
|
||||||
|
"drayton": "Drayton",
|
||||||
|
"blue": "Blue",
|
||||||
|
"red": "Red",
|
||||||
|
"lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"steven": "Steven",
|
||||||
|
"wallace": "Wallace",
|
||||||
|
"cynthia": "Cynthia",
|
||||||
|
"alder": "Alder",
|
||||||
|
"iris": "Iris",
|
||||||
|
"diantha": "Diantha",
|
||||||
|
"hau": "Hau",
|
||||||
|
"geeta": "Geeta",
|
||||||
|
"nemona": "Nemona",
|
||||||
|
"kieran": "Kieran",
|
||||||
|
"leon": "Leon",
|
||||||
|
"rival": "Finn",
|
||||||
|
"rival_female": "Ivy",} as const;
|
@ -10,6 +10,7 @@ import { pokemon } from "./pokemon";
|
|||||||
import { pokemonStat } from "./pokemon-stat";
|
import { pokemonStat } from "./pokemon-stat";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
|
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||||
|
|
||||||
|
|
||||||
export const itConfig = {
|
export const itConfig = {
|
||||||
@ -24,5 +25,8 @@ export const itConfig = {
|
|||||||
pokemonStat: pokemonStat,
|
pokemonStat: pokemonStat,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
|
titles: titles,
|
||||||
|
trainerClasses: trainerClasses,
|
||||||
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial
|
tutorial: tutorial
|
||||||
}
|
}
|
219
src/locales/it/trainers.ts
Normal file
219
src/locales/it/trainers.ts
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
import {SimpleTranslationEntries} from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
// Titles of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const titles: SimpleTranslationEntries = {
|
||||||
|
"elite_four": "Elite Four",
|
||||||
|
"gym_leader": "Gym Leader",
|
||||||
|
"gym_leader_female": "Gym Leader",
|
||||||
|
"champion": "Champion",
|
||||||
|
"rival": "Rival",
|
||||||
|
"professor": "Professor",
|
||||||
|
"frontier_brain": "Frontier Brain",
|
||||||
|
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Titles of trainers like "Youngster" or "Lass"
|
||||||
|
export const trainerClasses: SimpleTranslationEntries = {
|
||||||
|
"ace_trainer": "Ace Trainer",
|
||||||
|
"ace_trainer_female": "Ace Trainer",
|
||||||
|
"artist": "Artist",
|
||||||
|
"artist_female": "Artist",
|
||||||
|
"backers": "Backers",
|
||||||
|
"backpacker": "Backpacker",
|
||||||
|
"backpacker_female": "Backpacker",
|
||||||
|
"baker": "Baker",
|
||||||
|
"battle_girl": "Battle Girl",
|
||||||
|
"beauty": "Beauty",
|
||||||
|
"biker": "Biker",
|
||||||
|
"black_belt": "Black Belt",
|
||||||
|
"breeder": "Breeder",
|
||||||
|
"breeder_female": "Breeder",
|
||||||
|
"clerk": "Clerk",
|
||||||
|
"clerk_female": "Clerk",
|
||||||
|
"cyclist": "Cyclist",
|
||||||
|
"cyclist_female": "Cyclist",
|
||||||
|
"dancer": "Dancer",
|
||||||
|
"dancer_female": "Dancer",
|
||||||
|
"depot_agent": "Depot Agent",
|
||||||
|
"doctor": "Doctor",
|
||||||
|
"doctor_female": "Doctor",
|
||||||
|
"fishermen": "Fishermen",
|
||||||
|
"fishermen_female": "Fishermen",
|
||||||
|
"guitarist": "Guitarist",
|
||||||
|
"guitarist_female": "Guitarist",
|
||||||
|
"harlequin": "Harlequin",
|
||||||
|
"hiker": "Hiker",
|
||||||
|
"hooligans": "Hooligans",
|
||||||
|
"hoopster": "Hoopster",
|
||||||
|
"infielder": "Infielder",
|
||||||
|
"janitor": "Janitor",
|
||||||
|
"lady": "Lady",
|
||||||
|
"lass": "Lass",
|
||||||
|
"linebacker": "Linebacker",
|
||||||
|
"maid": "Maid",
|
||||||
|
"madame": "Madame",
|
||||||
|
"musican": "Musician",
|
||||||
|
"hex_manic": "Hex Manic",
|
||||||
|
"nurse": "Nurse",
|
||||||
|
"nursery_aide": "Nursery Aide",
|
||||||
|
"officer": "Officer",
|
||||||
|
"parasol_lady": "Parasol Lady",
|
||||||
|
"pilot": "Pilot",
|
||||||
|
"pokefan": "Pokefan",
|
||||||
|
"preschooler": "Preschooler",
|
||||||
|
"preschooler_female": "Preschooler",
|
||||||
|
"psychic": "Psychic",
|
||||||
|
"psychic_female": "Psychic",
|
||||||
|
"ranger": "Ranger",
|
||||||
|
"rich": "Gentleman", // Gentleman is the english name but the trainerType is rich
|
||||||
|
"rich_kid": "Rich Kid",
|
||||||
|
"roughneck": "Roughneck",
|
||||||
|
"scientist": "Scientist",
|
||||||
|
"scientist_female": "Scientist",
|
||||||
|
"smasher": "Smasher",
|
||||||
|
"snow_worker": "Snow Worker",
|
||||||
|
"snow_worker_female": "Snow Worker",
|
||||||
|
"striker": "Striker",
|
||||||
|
"school_kid": "School Kid",
|
||||||
|
"school_kid_female": "School Kid",
|
||||||
|
"swimmer": "Swimmer",
|
||||||
|
"swimmer_female": "Swimmer",
|
||||||
|
"twins": "Twins",
|
||||||
|
"veteran": "Veteran",
|
||||||
|
"veteran_female": "Veteran",
|
||||||
|
"waiter": "Waiter",
|
||||||
|
"waitress": "Waitress",
|
||||||
|
"worker": "Worker",
|
||||||
|
"worker_female": "Worker",
|
||||||
|
"youngster": "Youngster"
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Names of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const trainerNames: SimpleTranslationEntries = {
|
||||||
|
"brock": "Brock",
|
||||||
|
"misty": "Misty",
|
||||||
|
"lt_surge": "Lt Surge",
|
||||||
|
"erika": "Erika",
|
||||||
|
"janine": "Janine",
|
||||||
|
"sabrina": "Sabrina",
|
||||||
|
"blaine": "Blaine",
|
||||||
|
"giovanni": "Giovanni",
|
||||||
|
"falkner": "Falkner",
|
||||||
|
"bugsy": "Bugsy",
|
||||||
|
"whitney": "Whitney",
|
||||||
|
"morty": "Morty",
|
||||||
|
"chuck": "Chuck",
|
||||||
|
"jasmine": "Jasmine",
|
||||||
|
"pryce": "Pryce",
|
||||||
|
"clair": "Clair",
|
||||||
|
"roxanne": "Roxanne",
|
||||||
|
"brawly": "Brawly",
|
||||||
|
"wattson": "Wattson",
|
||||||
|
"flannery": "Flannery",
|
||||||
|
"norman": "Norman",
|
||||||
|
"winona": "Winona",
|
||||||
|
"tate": "Tate",
|
||||||
|
"liza": "Liza",
|
||||||
|
"juan": "Juan",
|
||||||
|
"roark": "Roark",
|
||||||
|
"gardenia": "Gardenia",
|
||||||
|
"maylene": "Maylene",
|
||||||
|
"crasher_wake": "Crasher Wake",
|
||||||
|
"fantina": "Fantina",
|
||||||
|
"byron": "Byron",
|
||||||
|
"candice": "Candice",
|
||||||
|
"volkner": "Volkner",
|
||||||
|
"cilan": "Cilan",
|
||||||
|
"chili": "Chili",
|
||||||
|
"cress": "Cress",
|
||||||
|
"cheren": "Cheren",
|
||||||
|
"lenora": "Lenora",
|
||||||
|
"roxie": "Roxie",
|
||||||
|
"burgh": "Burgh",
|
||||||
|
"elesa": "Elesa",
|
||||||
|
"clay": "Clay",
|
||||||
|
"skyla": "Skyla",
|
||||||
|
"brycen": "Brycen",
|
||||||
|
"drayden": "Drayden",
|
||||||
|
"marlon": "Marlon",
|
||||||
|
"viola": "Viola",
|
||||||
|
"grant": "Grant",
|
||||||
|
"korrina": "Korrina",
|
||||||
|
"ramos": "Ramos",
|
||||||
|
"clemont": "Clemont",
|
||||||
|
"valerie": "Valerie",
|
||||||
|
"olympia": "Olympia",
|
||||||
|
"wulfric": "Wulfric",
|
||||||
|
"milo": "Milo",
|
||||||
|
"nessa": "Nessa",
|
||||||
|
"kabu": "Kabu",
|
||||||
|
"bea": "Bea",
|
||||||
|
"allister": "Allister",
|
||||||
|
"opal": "Opal",
|
||||||
|
"bede": "Bede",
|
||||||
|
"gordie": "Gordie",
|
||||||
|
"melony": "Melony",
|
||||||
|
"piers": "Piers",
|
||||||
|
"marnie": "Marnie",
|
||||||
|
"raihan": "Raihan",
|
||||||
|
"katy": "Katy",
|
||||||
|
"brassius": "Brassius",
|
||||||
|
"iono": "Iono",
|
||||||
|
"kofu": "Kofu",
|
||||||
|
"larry": "Larry",
|
||||||
|
"ryme": "Ryme",
|
||||||
|
"tulip": "Tulip",
|
||||||
|
"grusha": "Grusha",
|
||||||
|
"lorelei": "Lorelei",
|
||||||
|
"bruno": "Bruno",
|
||||||
|
"agatha": "Agatha",
|
||||||
|
"lance": "Lance",
|
||||||
|
"will": "Will",
|
||||||
|
"koga": "Koga",
|
||||||
|
"karen": "Karen",
|
||||||
|
"sidney": "Sidney",
|
||||||
|
"phoebe": "Phoebe",
|
||||||
|
"glacia": "Glacia",
|
||||||
|
"drake": "Drake",
|
||||||
|
"aaron": "Aaron",
|
||||||
|
"bertha": "Bertha",
|
||||||
|
"flint": "Flint",
|
||||||
|
"lucian": "Lucian",
|
||||||
|
"shauntal": "Shauntal",
|
||||||
|
"marshal": "Marshal",
|
||||||
|
"grimsley": "Grimsley",
|
||||||
|
"caitlin": "Caitlin",
|
||||||
|
"malva": "Malva",
|
||||||
|
"siebold": "Siebold",
|
||||||
|
"wikstrom": "Wikstrom",
|
||||||
|
"drasna": "Drasna",
|
||||||
|
"hala": "Hala",
|
||||||
|
"molayne": "Molayne",
|
||||||
|
"olivia": "Olivia",
|
||||||
|
"acerola": "Acerola",
|
||||||
|
"kahili": "Kahili",
|
||||||
|
"rika": "Rika",
|
||||||
|
"poppy": "Poppy",
|
||||||
|
"larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"hassel": "Hassel",
|
||||||
|
"crispin": "Crispin",
|
||||||
|
"amarys": "Amarys",
|
||||||
|
"lacey": "Lacey",
|
||||||
|
"drayton": "Drayton",
|
||||||
|
"blue": "Blue",
|
||||||
|
"red": "Red",
|
||||||
|
"lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"steven": "Steven",
|
||||||
|
"wallace": "Wallace",
|
||||||
|
"cynthia": "Cynthia",
|
||||||
|
"alder": "Alder",
|
||||||
|
"iris": "Iris",
|
||||||
|
"diantha": "Diantha",
|
||||||
|
"hau": "Hau",
|
||||||
|
"geeta": "Geeta",
|
||||||
|
"nemona": "Nemona",
|
||||||
|
"kieran": "Kieran",
|
||||||
|
"leon": "Leon",
|
||||||
|
"rival": "Finn",
|
||||||
|
"rival_female": "Ivy",
|
||||||
|
} as const;
|
@ -10,6 +10,7 @@ import { pokemon } from "./pokemon";
|
|||||||
import { pokemonStat } from "./pokemon-stat";
|
import { pokemonStat } from "./pokemon-stat";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
|
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||||
|
|
||||||
|
|
||||||
export const zhCnConfig = {
|
export const zhCnConfig = {
|
||||||
@ -24,5 +25,8 @@ export const zhCnConfig = {
|
|||||||
pokemonStat: pokemonStat,
|
pokemonStat: pokemonStat,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
|
titles: titles,
|
||||||
|
trainerClasses: trainerClasses,
|
||||||
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial
|
tutorial: tutorial
|
||||||
}
|
}
|
218
src/locales/zh_CN/trainers.ts
Normal file
218
src/locales/zh_CN/trainers.ts
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
import {SimpleTranslationEntries} from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
// Titles of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const titles: SimpleTranslationEntries = {
|
||||||
|
"elite_four": "Elite Four",
|
||||||
|
"gym_leader": "Gym Leader",
|
||||||
|
"gym_leader_female": "Gym Leader",
|
||||||
|
"champion": "Champion",
|
||||||
|
"rival": "Rival",
|
||||||
|
"professor": "Professor",
|
||||||
|
"frontier_brain": "Frontier Brain",
|
||||||
|
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Titles of trainers like "Youngster" or "Lass"
|
||||||
|
export const trainerClasses: SimpleTranslationEntries = {
|
||||||
|
"ace_trainer": "Ace Trainer",
|
||||||
|
"ace_trainer_female": "Ace Trainer",
|
||||||
|
"artist": "Artist",
|
||||||
|
"artist_female": "Artist",
|
||||||
|
"backers": "Backers",
|
||||||
|
"backpacker": "Backpacker",
|
||||||
|
"backpacker_female": "Backpacker",
|
||||||
|
"baker": "Baker",
|
||||||
|
"battle_girl": "Battle Girl",
|
||||||
|
"beauty": "Beauty",
|
||||||
|
"biker": "Biker",
|
||||||
|
"black_belt": "Black Belt",
|
||||||
|
"breeder": "Breeder",
|
||||||
|
"breeder_female": "Breeder",
|
||||||
|
"clerk": "Clerk",
|
||||||
|
"clerk_female": "Clerk",
|
||||||
|
"cyclist": "Cyclist",
|
||||||
|
"cyclist_female": "Cyclist",
|
||||||
|
"dancer": "Dancer",
|
||||||
|
"dancer_female": "Dancer",
|
||||||
|
"depot_agent": "Depot Agent",
|
||||||
|
"doctor": "Doctor",
|
||||||
|
"doctor_female": "Doctor",
|
||||||
|
"fishermen": "Fishermen",
|
||||||
|
"fishermen_female": "Fishermen",
|
||||||
|
"guitarist": "Guitarist",
|
||||||
|
"guitarist_female": "Guitarist",
|
||||||
|
"harlequin": "Harlequin",
|
||||||
|
"hiker": "Hiker",
|
||||||
|
"hooligans": "Hooligans",
|
||||||
|
"hoopster": "Hoopster",
|
||||||
|
"infielder": "Infielder",
|
||||||
|
"janitor": "Janitor",
|
||||||
|
"lady": "Lady",
|
||||||
|
"lass": "Lass",
|
||||||
|
"linebacker": "Linebacker",
|
||||||
|
"maid": "Maid",
|
||||||
|
"madame": "Madame",
|
||||||
|
"musican": "Musician",
|
||||||
|
"hex_manic": "Hex Manic",
|
||||||
|
"nurse": "Nurse",
|
||||||
|
"nursery_aide": "Nursery Aide",
|
||||||
|
"officer": "Officer",
|
||||||
|
"parasol_lady": "Parasol Lady",
|
||||||
|
"pilot": "Pilot",
|
||||||
|
"pokefan": "Pokefan",
|
||||||
|
"preschooler": "Preschooler",
|
||||||
|
"preschooler_female": "Preschooler",
|
||||||
|
"psychic": "Psychic",
|
||||||
|
"psychic_female": "Psychic",
|
||||||
|
"ranger": "Ranger",
|
||||||
|
"rich": "Gentleman", // Gentleman is the english name but the trainerType is rich
|
||||||
|
"rich_kid": "Rich Kid",
|
||||||
|
"roughneck": "Roughneck",
|
||||||
|
"scientist": "Scientist",
|
||||||
|
"scientist_female": "Scientist",
|
||||||
|
"smasher": "Smasher",
|
||||||
|
"snow_worker": "Snow Worker",
|
||||||
|
"snow_worker_female": "Snow Worker",
|
||||||
|
"striker": "Striker",
|
||||||
|
"school_kid": "School Kid",
|
||||||
|
"school_kid_female": "School Kid",
|
||||||
|
"swimmer": "Swimmer",
|
||||||
|
"swimmer_female": "Swimmer",
|
||||||
|
"twins": "Twins",
|
||||||
|
"veteran": "Veteran",
|
||||||
|
"veteran_female": "Veteran",
|
||||||
|
"waiter": "Waiter",
|
||||||
|
"waitress": "Waitress",
|
||||||
|
"worker": "Worker",
|
||||||
|
"worker_female": "Worker",
|
||||||
|
"youngster": "Youngster"
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
// Names of special trainers like gym leaders, elite four, and the champion
|
||||||
|
export const trainerNames: SimpleTranslationEntries = {
|
||||||
|
"brock": "Brock",
|
||||||
|
"misty": "Misty",
|
||||||
|
"lt_surge": "Lt Surge",
|
||||||
|
"erika": "Erika",
|
||||||
|
"janine": "Janine",
|
||||||
|
"sabrina": "Sabrina",
|
||||||
|
"blaine": "Blaine",
|
||||||
|
"giovanni": "Giovanni",
|
||||||
|
"falkner": "Falkner",
|
||||||
|
"bugsy": "Bugsy",
|
||||||
|
"whitney": "Whitney",
|
||||||
|
"morty": "Morty",
|
||||||
|
"chuck": "Chuck",
|
||||||
|
"jasmine": "Jasmine",
|
||||||
|
"pryce": "Pryce",
|
||||||
|
"clair": "Clair",
|
||||||
|
"roxanne": "Roxanne",
|
||||||
|
"brawly": "Brawly",
|
||||||
|
"wattson": "Wattson",
|
||||||
|
"flannery": "Flannery",
|
||||||
|
"norman": "Norman",
|
||||||
|
"winona": "Winona",
|
||||||
|
"tate": "Tate",
|
||||||
|
"liza": "Liza",
|
||||||
|
"juan": "Juan",
|
||||||
|
"roark": "Roark",
|
||||||
|
"gardenia": "Gardenia",
|
||||||
|
"maylene": "Maylene",
|
||||||
|
"crasher_wake": "Crasher Wake",
|
||||||
|
"fantina": "Fantina",
|
||||||
|
"byron": "Byron",
|
||||||
|
"candice": "Candice",
|
||||||
|
"volkner": "Volkner",
|
||||||
|
"cilan": "Cilan",
|
||||||
|
"chili": "Chili",
|
||||||
|
"cress": "Cress",
|
||||||
|
"cheren": "Cheren",
|
||||||
|
"lenora": "Lenora",
|
||||||
|
"roxie": "Roxie",
|
||||||
|
"burgh": "Burgh",
|
||||||
|
"elesa": "Elesa",
|
||||||
|
"clay": "Clay",
|
||||||
|
"skyla": "Skyla",
|
||||||
|
"brycen": "Brycen",
|
||||||
|
"drayden": "Drayden",
|
||||||
|
"marlon": "Marlon",
|
||||||
|
"viola": "Viola",
|
||||||
|
"grant": "Grant",
|
||||||
|
"korrina": "Korrina",
|
||||||
|
"ramos": "Ramos",
|
||||||
|
"clemont": "Clemont",
|
||||||
|
"valerie": "Valerie",
|
||||||
|
"olympia": "Olympia",
|
||||||
|
"wulfric": "Wulfric",
|
||||||
|
"milo": "Milo",
|
||||||
|
"nessa": "Nessa",
|
||||||
|
"kabu": "Kabu",
|
||||||
|
"bea": "Bea",
|
||||||
|
"allister": "Allister",
|
||||||
|
"opal": "Opal",
|
||||||
|
"bede": "Bede",
|
||||||
|
"gordie": "Gordie",
|
||||||
|
"melony": "Melony",
|
||||||
|
"piers": "Piers",
|
||||||
|
"marnie": "Marnie",
|
||||||
|
"raihan": "Raihan",
|
||||||
|
"katy": "Katy",
|
||||||
|
"brassius": "Brassius",
|
||||||
|
"iono": "Iono",
|
||||||
|
"kofu": "Kofu",
|
||||||
|
"larry": "Larry",
|
||||||
|
"ryme": "Ryme",
|
||||||
|
"tulip": "Tulip",
|
||||||
|
"grusha": "Grusha",
|
||||||
|
"lorelei": "Lorelei",
|
||||||
|
"bruno": "Bruno",
|
||||||
|
"agatha": "Agatha",
|
||||||
|
"lance": "Lance",
|
||||||
|
"will": "Will",
|
||||||
|
"koga": "Koga",
|
||||||
|
"karen": "Karen",
|
||||||
|
"sidney": "Sidney",
|
||||||
|
"phoebe": "Phoebe",
|
||||||
|
"glacia": "Glacia",
|
||||||
|
"drake": "Drake",
|
||||||
|
"aaron": "Aaron",
|
||||||
|
"bertha": "Bertha",
|
||||||
|
"flint": "Flint",
|
||||||
|
"lucian": "Lucian",
|
||||||
|
"shauntal": "Shauntal",
|
||||||
|
"marshal": "Marshal",
|
||||||
|
"grimsley": "Grimsley",
|
||||||
|
"caitlin": "Caitlin",
|
||||||
|
"malva": "Malva",
|
||||||
|
"siebold": "Siebold",
|
||||||
|
"wikstrom": "Wikstrom",
|
||||||
|
"drasna": "Drasna",
|
||||||
|
"hala": "Hala",
|
||||||
|
"molayne": "Molayne",
|
||||||
|
"olivia": "Olivia",
|
||||||
|
"acerola": "Acerola",
|
||||||
|
"kahili": "Kahili",
|
||||||
|
"rika": "Rika",
|
||||||
|
"poppy": "Poppy",
|
||||||
|
"larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"hassel": "Hassel",
|
||||||
|
"crispin": "Crispin",
|
||||||
|
"amarys": "Amarys",
|
||||||
|
"lacey": "Lacey",
|
||||||
|
"drayton": "Drayton",
|
||||||
|
"blue": "Blue",
|
||||||
|
"red": "Red",
|
||||||
|
"lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||||
|
"steven": "Steven",
|
||||||
|
"wallace": "Wallace",
|
||||||
|
"cynthia": "Cynthia",
|
||||||
|
"alder": "Alder",
|
||||||
|
"iris": "Iris",
|
||||||
|
"diantha": "Diantha",
|
||||||
|
"hau": "Hau",
|
||||||
|
"geeta": "Geeta",
|
||||||
|
"nemona": "Nemona",
|
||||||
|
"kieran": "Kieran",
|
||||||
|
"leon": "Leon",
|
||||||
|
"rival": "Rival",
|
||||||
|
} as const;
|
@ -7,7 +7,6 @@ import { esConfig } from '#app/locales/es/config.js';
|
|||||||
import { frConfig } from '#app/locales/fr/config.js';
|
import { frConfig } from '#app/locales/fr/config.js';
|
||||||
import { itConfig } from '#app/locales/it/config.js';
|
import { itConfig } from '#app/locales/it/config.js';
|
||||||
import { zhCnConfig } from '#app/locales/zh_CN/config.js';
|
import { zhCnConfig } from '#app/locales/zh_CN/config.js';
|
||||||
|
|
||||||
export interface SimpleTranslationEntries {
|
export interface SimpleTranslationEntries {
|
||||||
[key: string]: string
|
[key: string]: string
|
||||||
}
|
}
|
||||||
@ -35,11 +34,18 @@ export interface Localizable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function initI18n(): void {
|
export function initI18n(): void {
|
||||||
|
// Prevent reinitialization
|
||||||
|
if (isInitialized) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
isInitialized = true;
|
||||||
let lang = '';
|
let lang = '';
|
||||||
|
|
||||||
if (localStorage.getItem('prLang'))
|
if (localStorage.getItem('prLang'))
|
||||||
lang = localStorage.getItem('prLang');
|
lang = localStorage.getItem('prLang');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* i18next is a localization library for maintaining and using translation resources.
|
* i18next is a localization library for maintaining and using translation resources.
|
||||||
*
|
*
|
||||||
@ -101,6 +107,9 @@ declare module 'i18next' {
|
|||||||
pokemonStat: SimpleTranslationEntries;
|
pokemonStat: SimpleTranslationEntries;
|
||||||
commandUiHandler: SimpleTranslationEntries;
|
commandUiHandler: SimpleTranslationEntries;
|
||||||
fightUiHandler: SimpleTranslationEntries;
|
fightUiHandler: SimpleTranslationEntries;
|
||||||
|
titles: SimpleTranslationEntries;
|
||||||
|
trainerClasses: SimpleTranslationEntries;
|
||||||
|
trainerNames: SimpleTranslationEntries;
|
||||||
tutorial: SimpleTranslationEntries;
|
tutorial: SimpleTranslationEntries;
|
||||||
starterSelectUiHandler: SimpleTranslationEntries;
|
starterSelectUiHandler: SimpleTranslationEntries;
|
||||||
};
|
};
|
||||||
@ -108,3 +117,9 @@ declare module 'i18next' {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default i18next;
|
export default i18next;
|
||||||
|
|
||||||
|
export function getIsInitialized(): boolean {
|
||||||
|
return isInitialized;
|
||||||
|
}
|
||||||
|
|
||||||
|
let isInitialized = false;
|
Loading…
Reference in New Issue
Block a user