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)pull/752/head
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,
|
||||||
|
|
|
@ -14,6 +14,8 @@ 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,
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -365,6 +388,7 @@ 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))
|
||||||
|
@ -375,7 +399,14 @@ export class TrainerConfig {
|
||||||
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,6 +420,8 @@ 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))
|
||||||
|
@ -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,6 +448,7 @@ 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))
|
||||||
|
@ -418,7 +456,10 @@ export class TrainerConfig {
|
||||||
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({
|
||||||
|
@ -662,7 +714,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||||
[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],
|
||||||
|
@ -814,21 +866,21 @@ export const trainerConfigs: TrainerConfigs = {
|
||||||
[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))
|
||||||
|
@ -837,7 +889,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||||
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))
|
||||||
|
@ -853,7 +905,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||||
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))
|
||||||
)
|
)
|
||||||
|
@ -875,5 +927,9 @@ export const trainerConfigs: TrainerConfigs = {
|
||||||
};
|
};
|
||||||
|
|
||||||
(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
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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