mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-19 22:09:27 +02:00
Compare commits
15 Commits
afba6bc621
...
62cfd2a63a
Author | SHA1 | Date | |
---|---|---|---|
|
62cfd2a63a | ||
|
45714994aa | ||
|
da7903ab92 | ||
|
70e7f8b4d4 | ||
|
dea6442c65 | ||
|
662bcbe038 | ||
|
a97fcab678 | ||
|
81a4e98a11 | ||
|
b2454234f6 | ||
|
111f661170 | ||
|
9d7b9f742e | ||
|
35cf80705e | ||
|
7dfe1ce216 | ||
|
1accc20b37 | ||
|
64b9427f11 |
@ -27,13 +27,7 @@ import { UiInputs } from "#app/ui-inputs";
|
|||||||
import { biomeDepths, getBiomeName } from "#balance/biomes";
|
import { biomeDepths, getBiomeName } from "#balance/biomes";
|
||||||
import { pokemonPrevolutions } from "#balance/pokemon-evolutions";
|
import { pokemonPrevolutions } from "#balance/pokemon-evolutions";
|
||||||
import { FRIENDSHIP_GAIN_FROM_BATTLE } from "#balance/starters";
|
import { FRIENDSHIP_GAIN_FROM_BATTLE } from "#balance/starters";
|
||||||
import {
|
import { initCommonAnims, initMoveAnim, loadCommonAnimAssets, loadMoveAnimAssets } from "#data/battle-anims";
|
||||||
initCommonAnims,
|
|
||||||
initMoveAnim,
|
|
||||||
loadCommonAnimAssets,
|
|
||||||
loadMoveAnimAssets,
|
|
||||||
populateAnims,
|
|
||||||
} from "#data/battle-anims";
|
|
||||||
import { allAbilities, allMoves, allSpecies, modifierTypes } from "#data/data-lists";
|
import { allAbilities, allMoves, allSpecies, modifierTypes } from "#data/data-lists";
|
||||||
import { battleSpecDialogue } from "#data/dialogue";
|
import { battleSpecDialogue } from "#data/dialogue";
|
||||||
import type { SpeciesFormChangeTrigger } from "#data/form-change-triggers";
|
import type { SpeciesFormChangeTrigger } from "#data/form-change-triggers";
|
||||||
@ -388,7 +382,6 @@ export class BattleScene extends SceneBase {
|
|||||||
const defaultMoves = [MoveId.TACKLE, MoveId.TAIL_WHIP, MoveId.FOCUS_ENERGY, MoveId.STRUGGLE];
|
const defaultMoves = [MoveId.TACKLE, MoveId.TAIL_WHIP, MoveId.FOCUS_ENERGY, MoveId.STRUGGLE];
|
||||||
|
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
populateAnims(),
|
|
||||||
this.initVariantData(),
|
this.initVariantData(),
|
||||||
initCommonAnims().then(() => loadCommonAnimAssets(true)),
|
initCommonAnims().then(() => loadCommonAnimAssets(true)),
|
||||||
Promise.all(defaultMoves.map(m => initMoveAnim(m))).then(() => loadMoveAnimAssets(defaultMoves, true)),
|
Promise.all(defaultMoves.map(m => initMoveAnim(m))).then(() => loadMoveAnimAssets(defaultMoves, true)),
|
||||||
|
@ -7,6 +7,7 @@ import { TimeOfDay } from "#enums/time-of-day";
|
|||||||
import { TrainerType } from "#enums/trainer-type";
|
import { TrainerType } from "#enums/trainer-type";
|
||||||
import { randSeedInt } from "#utils/common";
|
import { randSeedInt } from "#utils/common";
|
||||||
import { getEnumValues } from "#utils/enums";
|
import { getEnumValues } from "#utils/enums";
|
||||||
|
import { toCamelCase } from "#utils/strings";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
|
|
||||||
export function getBiomeName(biome: BiomeId | -1) {
|
export function getBiomeName(biome: BiomeId | -1) {
|
||||||
@ -15,13 +16,13 @@ export function getBiomeName(biome: BiomeId | -1) {
|
|||||||
}
|
}
|
||||||
switch (biome) {
|
switch (biome) {
|
||||||
case BiomeId.GRASS:
|
case BiomeId.GRASS:
|
||||||
return i18next.t("biome:GRASS");
|
return i18next.t("biome:grass");
|
||||||
case BiomeId.RUINS:
|
case BiomeId.RUINS:
|
||||||
return i18next.t("biome:RUINS");
|
return i18next.t("biome:ruins");
|
||||||
case BiomeId.END:
|
case BiomeId.END:
|
||||||
return i18next.t("biome:END");
|
return i18next.t("biome:end");
|
||||||
default:
|
default:
|
||||||
return i18next.t(`biome:${BiomeId[biome].toUpperCase()}`);
|
return i18next.t(`biome:${toCamelCase(BiomeId[biome])}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -404,22 +404,18 @@ export const chargeAnims = new Map<ChargeAnim, AnimConfig | [AnimConfig, AnimCon
|
|||||||
export const commonAnims = new Map<CommonAnim, AnimConfig>();
|
export const commonAnims = new Map<CommonAnim, AnimConfig>();
|
||||||
export const encounterAnims = new Map<EncounterAnim, AnimConfig>();
|
export const encounterAnims = new Map<EncounterAnim, AnimConfig>();
|
||||||
|
|
||||||
export function initCommonAnims(): Promise<void> {
|
export async function initCommonAnims(): Promise<void> {
|
||||||
return new Promise(resolve => {
|
|
||||||
const commonAnimNames = getEnumKeys(CommonAnim);
|
|
||||||
const commonAnimIds = getEnumValues(CommonAnim);
|
|
||||||
const commonAnimFetches: Promise<Map<CommonAnim, AnimConfig>>[] = [];
|
const commonAnimFetches: Promise<Map<CommonAnim, AnimConfig>>[] = [];
|
||||||
for (let ca = 0; ca < commonAnimIds.length; ca++) {
|
for (const commonAnimName of getEnumKeys(CommonAnim)) {
|
||||||
const commonAnimId = commonAnimIds[ca];
|
const commonAnimId = CommonAnim[commonAnimName];
|
||||||
commonAnimFetches.push(
|
commonAnimFetches.push(
|
||||||
globalScene
|
globalScene
|
||||||
.cachedFetch(`./battle-anims/common-${toKebabCase(commonAnimNames[ca])}.json`)
|
.cachedFetch(`./battle-anims/common-${toKebabCase(commonAnimName)}.json`)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(cas => commonAnims.set(commonAnimId, new AnimConfig(cas))),
|
.then(cas => commonAnims.set(commonAnimId, new AnimConfig(cas))),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Promise.allSettled(commonAnimFetches).then(() => resolve());
|
await Promise.allSettled(commonAnimFetches);
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function initMoveAnim(move: MoveId): Promise<void> {
|
export function initMoveAnim(move: MoveId): Promise<void> {
|
||||||
@ -1396,279 +1392,3 @@ export class EncounterBattleAnim extends BattleAnim {
|
|||||||
return this.oppAnim;
|
return this.oppAnim;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function populateAnims() {
|
|
||||||
const commonAnimNames = getEnumKeys(CommonAnim).map(k => k.toLowerCase());
|
|
||||||
const commonAnimMatchNames = commonAnimNames.map(k => k.replace(/_/g, ""));
|
|
||||||
const commonAnimIds = getEnumValues(CommonAnim);
|
|
||||||
const chargeAnimNames = getEnumKeys(ChargeAnim).map(k => k.toLowerCase());
|
|
||||||
const chargeAnimMatchNames = chargeAnimNames.map(k => k.replace(/_/g, " "));
|
|
||||||
const chargeAnimIds = getEnumValues(ChargeAnim);
|
|
||||||
const commonNamePattern = /name: (?:Common:)?(Opp )?(.*)/;
|
|
||||||
const moveNameToId = {};
|
|
||||||
// Exclude MoveId.NONE;
|
|
||||||
for (const move of getEnumValues(MoveId).slice(1)) {
|
|
||||||
// KARATE_CHOP => KARATECHOP
|
|
||||||
const moveName = MoveId[move].toUpperCase().replace(/_/g, "");
|
|
||||||
moveNameToId[moveName] = move;
|
|
||||||
}
|
|
||||||
|
|
||||||
const seNames: string[] = []; //(await fs.readdir('./public/audio/se/battle_anims/')).map(se => se.toString());
|
|
||||||
|
|
||||||
const animsData: any[] = []; //battleAnimRawData.split('!ruby/array:PBAnimation').slice(1); // TODO: add a proper type
|
|
||||||
for (let a = 0; a < animsData.length; a++) {
|
|
||||||
const fields = animsData[a].split("@").slice(1);
|
|
||||||
|
|
||||||
const nameField = fields.find(f => f.startsWith("name: "));
|
|
||||||
|
|
||||||
let isOppMove: boolean | undefined;
|
|
||||||
let commonAnimId: CommonAnim | undefined;
|
|
||||||
let chargeAnimId: ChargeAnim | undefined;
|
|
||||||
if (!nameField.startsWith("name: Move:") && !(isOppMove = nameField.startsWith("name: OppMove:"))) {
|
|
||||||
const nameMatch = commonNamePattern.exec(nameField)!; // TODO: is this bang correct?
|
|
||||||
const name = nameMatch[2].toLowerCase();
|
|
||||||
if (commonAnimMatchNames.indexOf(name) > -1) {
|
|
||||||
commonAnimId = commonAnimIds[commonAnimMatchNames.indexOf(name)];
|
|
||||||
} else if (chargeAnimMatchNames.indexOf(name) > -1) {
|
|
||||||
isOppMove = nameField.startsWith("name: Opp ");
|
|
||||||
chargeAnimId = chargeAnimIds[chargeAnimMatchNames.indexOf(name)];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const nameIndex = nameField.indexOf(":", 5) + 1;
|
|
||||||
const animName = nameField.slice(nameIndex, nameField.indexOf("\n", nameIndex));
|
|
||||||
if (!moveNameToId.hasOwnProperty(animName) && !commonAnimId && !chargeAnimId) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
const anim = commonAnimId || chargeAnimId ? new AnimConfig() : new AnimConfig();
|
|
||||||
if (anim instanceof AnimConfig) {
|
|
||||||
(anim as AnimConfig).id = moveNameToId[animName];
|
|
||||||
}
|
|
||||||
if (commonAnimId) {
|
|
||||||
commonAnims.set(commonAnimId, anim);
|
|
||||||
} else if (chargeAnimId) {
|
|
||||||
chargeAnims.set(chargeAnimId, !isOppMove ? anim : [chargeAnims.get(chargeAnimId) as AnimConfig, anim]);
|
|
||||||
} else {
|
|
||||||
moveAnims.set(
|
|
||||||
moveNameToId[animName],
|
|
||||||
!isOppMove ? (anim as AnimConfig) : [moveAnims.get(moveNameToId[animName]) as AnimConfig, anim as AnimConfig],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
for (let f = 0; f < fields.length; f++) {
|
|
||||||
const field = fields[f];
|
|
||||||
const fieldName = field.slice(0, field.indexOf(":"));
|
|
||||||
const fieldData = field.slice(fieldName.length + 1, field.lastIndexOf("\n")).trim();
|
|
||||||
switch (fieldName) {
|
|
||||||
case "array": {
|
|
||||||
const framesData = fieldData.split(" - - - ").slice(1);
|
|
||||||
for (let fd = 0; fd < framesData.length; fd++) {
|
|
||||||
anim.frames.push([]);
|
|
||||||
const frameData = framesData[fd];
|
|
||||||
const focusFramesData = frameData.split(" - - ");
|
|
||||||
for (let tf = 0; tf < focusFramesData.length; tf++) {
|
|
||||||
const values = focusFramesData[tf].replace(/ {6}- /g, "").split("\n");
|
|
||||||
const targetFrame = new AnimFrame(
|
|
||||||
Number.parseFloat(values[0]),
|
|
||||||
Number.parseFloat(values[1]),
|
|
||||||
Number.parseFloat(values[2]),
|
|
||||||
Number.parseFloat(values[11]),
|
|
||||||
Number.parseFloat(values[3]),
|
|
||||||
Number.parseInt(values[4]) === 1,
|
|
||||||
Number.parseInt(values[6]) === 1,
|
|
||||||
Number.parseInt(values[5]),
|
|
||||||
Number.parseInt(values[7]),
|
|
||||||
Number.parseInt(values[8]),
|
|
||||||
Number.parseInt(values[12]),
|
|
||||||
Number.parseInt(values[13]),
|
|
||||||
Number.parseInt(values[14]),
|
|
||||||
Number.parseInt(values[15]),
|
|
||||||
Number.parseInt(values[16]),
|
|
||||||
Number.parseInt(values[17]),
|
|
||||||
Number.parseInt(values[18]),
|
|
||||||
Number.parseInt(values[19]),
|
|
||||||
Number.parseInt(values[21]),
|
|
||||||
Number.parseInt(values[22]),
|
|
||||||
Number.parseInt(values[23]),
|
|
||||||
Number.parseInt(values[24]),
|
|
||||||
Number.parseInt(values[20]) === 1,
|
|
||||||
Number.parseInt(values[25]),
|
|
||||||
Number.parseInt(values[26]) as AnimFocus,
|
|
||||||
);
|
|
||||||
anim.frames[fd].push(targetFrame);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "graphic": {
|
|
||||||
const graphic = fieldData !== "''" ? fieldData : "";
|
|
||||||
anim.graphic = graphic.indexOf(".") > -1 ? graphic.slice(0, fieldData.indexOf(".")) : graphic;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "timing": {
|
|
||||||
const timingEntries = fieldData.split("- !ruby/object:PBAnimTiming ").slice(1);
|
|
||||||
for (let t = 0; t < timingEntries.length; t++) {
|
|
||||||
const timingData = timingEntries[t]
|
|
||||||
.replace(/\n/g, " ")
|
|
||||||
.replace(/[ ]{2,}/g, " ")
|
|
||||||
.replace(/[a-z]+: ! '', /gi, "")
|
|
||||||
.replace(/name: (.*?),/, 'name: "$1",')
|
|
||||||
.replace(
|
|
||||||
/flashColor: !ruby\/object:Color { alpha: ([\d.]+), blue: ([\d.]+), green: ([\d.]+), red: ([\d.]+)}/,
|
|
||||||
"flashRed: $4, flashGreen: $3, flashBlue: $2, flashAlpha: $1",
|
|
||||||
);
|
|
||||||
const frameIndex = Number.parseInt(/frame: (\d+)/.exec(timingData)![1]); // TODO: is the bang correct?
|
|
||||||
let resourceName = /name: "(.*?)"/.exec(timingData)![1].replace("''", ""); // TODO: is the bang correct?
|
|
||||||
const timingType = Number.parseInt(/timingType: (\d)/.exec(timingData)![1]); // TODO: is the bang correct?
|
|
||||||
let timedEvent: AnimTimedEvent | undefined;
|
|
||||||
switch (timingType) {
|
|
||||||
case 0:
|
|
||||||
if (resourceName && resourceName.indexOf(".") === -1) {
|
|
||||||
let ext: string | undefined;
|
|
||||||
["wav", "mp3", "m4a"].every(e => {
|
|
||||||
if (seNames.indexOf(`${resourceName}.${e}`) > -1) {
|
|
||||||
ext = e;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
if (!ext) {
|
|
||||||
ext = ".wav";
|
|
||||||
}
|
|
||||||
resourceName += `.${ext}`;
|
|
||||||
}
|
|
||||||
timedEvent = new AnimTimedSoundEvent(frameIndex, resourceName);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
timedEvent = new AnimTimedAddBgEvent(frameIndex, resourceName.slice(0, resourceName.indexOf(".")));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
timedEvent = new AnimTimedUpdateBgEvent(frameIndex, resourceName.slice(0, resourceName.indexOf(".")));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (!timedEvent) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
const propPattern = /([a-z]+): (.*?)(?:,|\})/gi;
|
|
||||||
let propMatch: RegExpExecArray;
|
|
||||||
while ((propMatch = propPattern.exec(timingData)!)) {
|
|
||||||
// TODO: is this bang correct?
|
|
||||||
const prop = propMatch[1];
|
|
||||||
let value: any = propMatch[2];
|
|
||||||
switch (prop) {
|
|
||||||
case "bgX":
|
|
||||||
case "bgY":
|
|
||||||
value = Number.parseFloat(value);
|
|
||||||
break;
|
|
||||||
case "volume":
|
|
||||||
case "pitch":
|
|
||||||
case "opacity":
|
|
||||||
case "colorRed":
|
|
||||||
case "colorGreen":
|
|
||||||
case "colorBlue":
|
|
||||||
case "colorAlpha":
|
|
||||||
case "duration":
|
|
||||||
case "flashScope":
|
|
||||||
case "flashRed":
|
|
||||||
case "flashGreen":
|
|
||||||
case "flashBlue":
|
|
||||||
case "flashAlpha":
|
|
||||||
case "flashDuration":
|
|
||||||
value = Number.parseInt(value);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (timedEvent.hasOwnProperty(prop)) {
|
|
||||||
timedEvent[prop] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!anim.frameTimedEvents.has(frameIndex)) {
|
|
||||||
anim.frameTimedEvents.set(frameIndex, []);
|
|
||||||
}
|
|
||||||
anim.frameTimedEvents.get(frameIndex)!.push(timedEvent); // TODO: is this bang correct?
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "position":
|
|
||||||
anim.position = Number.parseInt(fieldData);
|
|
||||||
break;
|
|
||||||
case "hue":
|
|
||||||
anim.hue = Number.parseInt(fieldData);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// biome-ignore lint/correctness/noUnusedVariables: used in commented code
|
|
||||||
const animReplacer = (k, v) => {
|
|
||||||
if (k === "id" && !v) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
if (v instanceof Map) {
|
|
||||||
return Object.fromEntries(v);
|
|
||||||
}
|
|
||||||
if (v instanceof AnimTimedEvent) {
|
|
||||||
v["eventType"] = v.getEventType();
|
|
||||||
}
|
|
||||||
return v;
|
|
||||||
};
|
|
||||||
|
|
||||||
const animConfigProps = ["id", "graphic", "frames", "frameTimedEvents", "position", "hue"];
|
|
||||||
const animFrameProps = [
|
|
||||||
"x",
|
|
||||||
"y",
|
|
||||||
"zoomX",
|
|
||||||
"zoomY",
|
|
||||||
"angle",
|
|
||||||
"mirror",
|
|
||||||
"visible",
|
|
||||||
"blendType",
|
|
||||||
"target",
|
|
||||||
"graphicFrame",
|
|
||||||
"opacity",
|
|
||||||
"color",
|
|
||||||
"tone",
|
|
||||||
"flash",
|
|
||||||
"locked",
|
|
||||||
"priority",
|
|
||||||
"focus",
|
|
||||||
];
|
|
||||||
const propSets = [animConfigProps, animFrameProps];
|
|
||||||
|
|
||||||
// biome-ignore lint/correctness/noUnusedVariables: used in commented code
|
|
||||||
const animComparator = (a: Element, b: Element) => {
|
|
||||||
let props: string[];
|
|
||||||
for (let p = 0; p < propSets.length; p++) {
|
|
||||||
props = propSets[p];
|
|
||||||
// @ts-expect-error TODO
|
|
||||||
const ai = props.indexOf(a.key);
|
|
||||||
if (ai === -1) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// @ts-expect-error TODO
|
|
||||||
const bi = props.indexOf(b.key);
|
|
||||||
|
|
||||||
return ai < bi ? -1 : ai > bi ? 1 : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*for (let ma of moveAnims.keys()) {
|
|
||||||
const data = moveAnims.get(ma);
|
|
||||||
(async () => {
|
|
||||||
await fs.writeFile(`../public/battle-anims/${Moves[ma].toLowerCase().replace(/\_/g, '-')}.json`, stringify(data, { replacer: animReplacer, cmp: animComparator, space: ' ' }));
|
|
||||||
})();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let ca of chargeAnims.keys()) {
|
|
||||||
const data = chargeAnims.get(ca);
|
|
||||||
(async () => {
|
|
||||||
await fs.writeFile(`../public/battle-anims/${chargeAnimNames[chargeAnimIds.indexOf(ca)].replace(/\_/g, '-')}.json`, stringify(data, { replacer: animReplacer, cmp: animComparator, space: ' ' }));
|
|
||||||
})();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let cma of commonAnims.keys()) {
|
|
||||||
const data = commonAnims.get(cma);
|
|
||||||
(async () => {
|
|
||||||
await fs.writeFile(`../public/battle-anims/common-${commonAnimNames[commonAnimIds.indexOf(cma)].replace(/\_/g, '-')}.json`, stringify(data, { replacer: animReplacer, cmp: animComparator, space: ' ' }));
|
|
||||||
})();
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
@ -11,11 +11,11 @@ import { NumberHolder, randSeedInt, toDmgValue } from "#utils/common";
|
|||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
|
|
||||||
export function getBerryName(berryType: BerryType): string {
|
export function getBerryName(berryType: BerryType): string {
|
||||||
return i18next.t(`berry:${BerryType[berryType]}.name`);
|
return i18next.t(`berry:${BerryType[berryType].toLowerCase()}.name`);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getBerryEffectDescription(berryType: BerryType): string {
|
export function getBerryEffectDescription(berryType: BerryType): string {
|
||||||
return i18next.t(`berry:${BerryType[berryType]}.effect`);
|
return i18next.t(`berry:${BerryType[berryType].toLowerCase()}.effect`);
|
||||||
}
|
}
|
||||||
|
|
||||||
export type BerryPredicate = (pokemon: Pokemon) => boolean;
|
export type BerryPredicate = (pokemon: Pokemon) => boolean;
|
||||||
|
@ -85,20 +85,16 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:breeder_female.encounter.1",
|
"dialogue:breederFemale.encounter.1",
|
||||||
"dialogue:breeder_female.encounter.2",
|
"dialogue:breederFemale.encounter.2",
|
||||||
"dialogue:breeder_female.encounter.3",
|
"dialogue:breederFemale.encounter.3",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:breeder_female.victory.1",
|
"dialogue:breederFemale.victory.1",
|
||||||
"dialogue:breeder_female.victory.2",
|
"dialogue:breederFemale.victory.2",
|
||||||
"dialogue:breeder_female.victory.3",
|
"dialogue:breederFemale.victory.3",
|
||||||
],
|
|
||||||
defeat: [
|
|
||||||
"dialogue:breeder_female.defeat.1",
|
|
||||||
"dialogue:breeder_female.defeat.2",
|
|
||||||
"dialogue:breeder_female.defeat.3",
|
|
||||||
],
|
],
|
||||||
|
defeat: ["dialogue:breederFemale.defeat.1", "dialogue:breederFemale.defeat.2", "dialogue:breederFemale.defeat.3"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.FISHERMAN]: [
|
[TrainerType.FISHERMAN]: [
|
||||||
@ -108,14 +104,14 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:fisherman_female.encounter.1",
|
"dialogue:fishermanFemale.encounter.1",
|
||||||
"dialogue:fisherman_female.encounter.2",
|
"dialogue:fishermanFemale.encounter.2",
|
||||||
"dialogue:fisherman_female.encounter.3",
|
"dialogue:fishermanFemale.encounter.3",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:fisherman_female.victory.1",
|
"dialogue:fishermanFemale.victory.1",
|
||||||
"dialogue:fisherman_female.victory.2",
|
"dialogue:fishermanFemale.victory.2",
|
||||||
"dialogue:fisherman_female.victory.3",
|
"dialogue:fishermanFemale.victory.3",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -144,29 +140,29 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.ACE_TRAINER]: [
|
[TrainerType.ACE_TRAINER]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:ace_trainer.encounter.1",
|
"dialogue:aceTrainer.encounter.1",
|
||||||
"dialogue:ace_trainer.encounter.2",
|
"dialogue:aceTrainer.encounter.2",
|
||||||
"dialogue:ace_trainer.encounter.3",
|
"dialogue:aceTrainer.encounter.3",
|
||||||
"dialogue:ace_trainer.encounter.4",
|
"dialogue:aceTrainer.encounter.4",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:ace_trainer.victory.1",
|
"dialogue:aceTrainer.victory.1",
|
||||||
"dialogue:ace_trainer.victory.2",
|
"dialogue:aceTrainer.victory.2",
|
||||||
"dialogue:ace_trainer.victory.3",
|
"dialogue:aceTrainer.victory.3",
|
||||||
"dialogue:ace_trainer.victory.4",
|
"dialogue:aceTrainer.victory.4",
|
||||||
],
|
],
|
||||||
defeat: [
|
defeat: [
|
||||||
"dialogue:ace_trainer.defeat.1",
|
"dialogue:aceTrainer.defeat.1",
|
||||||
"dialogue:ace_trainer.defeat.2",
|
"dialogue:aceTrainer.defeat.2",
|
||||||
"dialogue:ace_trainer.defeat.3",
|
"dialogue:aceTrainer.defeat.3",
|
||||||
"dialogue:ace_trainer.defeat.4",
|
"dialogue:aceTrainer.defeat.4",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.PARASOL_LADY]: [
|
[TrainerType.PARASOL_LADY]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:parasol_lady.encounter.1"],
|
encounter: ["dialogue:parasolLady.encounter.1"],
|
||||||
victory: ["dialogue:parasol_lady.victory.1"],
|
victory: ["dialogue:parasolLady.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.TWINS]: [
|
[TrainerType.TWINS]: [
|
||||||
@ -184,13 +180,13 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
],
|
],
|
||||||
[TrainerType.BLACK_BELT]: [
|
[TrainerType.BLACK_BELT]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:black_belt.encounter.1", "dialogue:black_belt.encounter.2"],
|
encounter: ["dialogue:blackBelt.encounter.1", "dialogue:blackBelt.encounter.2"],
|
||||||
victory: ["dialogue:black_belt.victory.1", "dialogue:black_belt.victory.2"],
|
victory: ["dialogue:blackBelt.victory.1", "dialogue:blackBelt.victory.2"],
|
||||||
},
|
},
|
||||||
//BATTLE GIRL
|
//BATTLE GIRL
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:battle_girl.encounter.1"],
|
encounter: ["dialogue:battleGirl.encounter.1"],
|
||||||
victory: ["dialogue:battle_girl.victory.1"],
|
victory: ["dialogue:battleGirl.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.HIKER]: [
|
[TrainerType.HIKER]: [
|
||||||
@ -214,8 +210,8 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
],
|
],
|
||||||
[TrainerType.SCHOOL_KID]: [
|
[TrainerType.SCHOOL_KID]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:school_kid.encounter.1", "dialogue:school_kid.encounter.2"],
|
encounter: ["dialogue:schoolKid.encounter.1", "dialogue:schoolKid.encounter.2"],
|
||||||
victory: ["dialogue:school_kid.victory.1", "dialogue:school_kid.victory.2"],
|
victory: ["dialogue:schoolKid.victory.1", "dialogue:schoolKid.victory.2"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.ARTIST]: [
|
[TrainerType.ARTIST]: [
|
||||||
@ -236,31 +232,31 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
victory: ["dialogue:worker.victory.1"],
|
victory: ["dialogue:worker.victory.1"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:worker_female.encounter.1"],
|
encounter: ["dialogue:workerFemale.encounter.1"],
|
||||||
victory: ["dialogue:worker_female.victory.1"],
|
victory: ["dialogue:workerFemale.victory.1"],
|
||||||
defeat: ["dialogue:worker_female.defeat.1"],
|
defeat: ["dialogue:workerFemale.defeat.1"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:worker_double.encounter.1"],
|
encounter: ["dialogue:workerDouble.encounter.1"],
|
||||||
victory: ["dialogue:worker_double.victory.1"],
|
victory: ["dialogue:workerDouble.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
// Defeat dialogue in the language .JSONS exist as translated or placeholders; (en, fr, it, es, de, ja, ko, zh_cn, zh_tw, pt_br)
|
// Defeat dialogue in the language .JSONS exist as translated or placeholders; (en, fr, it, es, de, ja, ko, zh_cn, zh_tw, pt_br)
|
||||||
[TrainerType.SNOW_WORKER]: [
|
[TrainerType.SNOW_WORKER]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:snow_worker.encounter.1"],
|
encounter: ["dialogue:snowWorker.encounter.1"],
|
||||||
victory: ["dialogue:snow_worker.victory.1"],
|
victory: ["dialogue:snowWorker.victory.1"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:snow_worker_double.encounter.1"],
|
encounter: ["dialogue:snowWorkerDouble.encounter.1"],
|
||||||
victory: ["dialogue:snow_worker_double.victory.1"],
|
victory: ["dialogue:snowWorkerDouble.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.HEX_MANIAC]: [
|
[TrainerType.HEX_MANIAC]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:hex_maniac.encounter.1", "dialogue:hex_maniac.encounter.2"],
|
encounter: ["dialogue:hexManiac.encounter.1", "dialogue:hexManiac.encounter.2"],
|
||||||
victory: ["dialogue:hex_maniac.victory.1", "dialogue:hex_maniac.victory.2"],
|
victory: ["dialogue:hexManiac.victory.1", "dialogue:hexManiac.victory.2"],
|
||||||
defeat: ["dialogue:hex_maniac.defeat.1", "dialogue:hex_maniac.defeat.2"],
|
defeat: ["dialogue:hexManiac.defeat.1", "dialogue:hexManiac.defeat.2"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.PSYCHIC]: [
|
[TrainerType.PSYCHIC]: [
|
||||||
@ -320,15 +316,11 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:clerk_female.encounter.1",
|
"dialogue:clerkFemale.encounter.1",
|
||||||
"dialogue:clerk_female.encounter.2",
|
"dialogue:clerkFemale.encounter.2",
|
||||||
"dialogue:clerk_female.encounter.3",
|
"dialogue:clerkFemale.encounter.3",
|
||||||
],
|
|
||||||
victory: [
|
|
||||||
"dialogue:clerk_female.victory.1",
|
|
||||||
"dialogue:clerk_female.victory.2",
|
|
||||||
"dialogue:clerk_female.victory.3",
|
|
||||||
],
|
],
|
||||||
|
victory: ["dialogue:clerkFemale.victory.1", "dialogue:clerkFemale.victory.2", "dialogue:clerkFemale.victory.3"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.HOOLIGANS]: [
|
[TrainerType.HOOLIGANS]: [
|
||||||
@ -371,14 +363,14 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:pokefan_female.encounter.1",
|
"dialogue:pokefanFemale.encounter.1",
|
||||||
"dialogue:pokefan_female.encounter.2",
|
"dialogue:pokefanFemale.encounter.2",
|
||||||
"dialogue:pokefan_female.encounter.3",
|
"dialogue:pokefanFemale.encounter.3",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:pokefan_female.victory.1",
|
"dialogue:pokefanFemale.victory.1",
|
||||||
"dialogue:pokefan_female.victory.2",
|
"dialogue:pokefanFemale.victory.2",
|
||||||
"dialogue:pokefan_female.victory.3",
|
"dialogue:pokefanFemale.victory.3",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -389,52 +381,52 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:rich_female.encounter.1",
|
"dialogue:richFemale.encounter.1",
|
||||||
"dialogue:rich_female.encounter.2",
|
"dialogue:richFemale.encounter.2",
|
||||||
"dialogue:rich_female.encounter.3",
|
"dialogue:richFemale.encounter.3",
|
||||||
],
|
],
|
||||||
victory: ["dialogue:rich_female.victory.1", "dialogue:rich_female.victory.2", "dialogue:rich_female.victory.3"],
|
victory: ["dialogue:richFemale.victory.1", "dialogue:richFemale.victory.2", "dialogue:richFemale.victory.3"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.RICH_KID]: [
|
[TrainerType.RICH_KID]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rich_kid.encounter.1", "dialogue:rich_kid.encounter.2", "dialogue:rich_kid.encounter.3"],
|
encounter: ["dialogue:richKid.encounter.1", "dialogue:richKid.encounter.2", "dialogue:richKid.encounter.3"],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:rich_kid.victory.1",
|
"dialogue:richKid.victory.1",
|
||||||
"dialogue:rich_kid.victory.2",
|
"dialogue:richKid.victory.2",
|
||||||
"dialogue:rich_kid.victory.3",
|
"dialogue:richKid.victory.3",
|
||||||
"dialogue:rich_kid.victory.4",
|
"dialogue:richKid.victory.4",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:rich_kid_female.encounter.1",
|
"dialogue:richKidFemale.encounter.1",
|
||||||
"dialogue:rich_kid_female.encounter.2",
|
"dialogue:richKidFemale.encounter.2",
|
||||||
"dialogue:rich_kid_female.encounter.3",
|
"dialogue:richKidFemale.encounter.3",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:rich_kid_female.victory.1",
|
"dialogue:richKidFemale.victory.1",
|
||||||
"dialogue:rich_kid_female.victory.2",
|
"dialogue:richKidFemale.victory.2",
|
||||||
"dialogue:rich_kid_female.victory.3",
|
"dialogue:richKidFemale.victory.3",
|
||||||
"dialogue:rich_kid_female.victory.4",
|
"dialogue:richKidFemale.victory.4",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.ROCKET_GRUNT]: [
|
[TrainerType.ROCKET_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:rocket_grunt.encounter.1",
|
"dialogue:rocketGrunt.encounter.1",
|
||||||
"dialogue:rocket_grunt.encounter.2",
|
"dialogue:rocketGrunt.encounter.2",
|
||||||
"dialogue:rocket_grunt.encounter.3",
|
"dialogue:rocketGrunt.encounter.3",
|
||||||
"dialogue:rocket_grunt.encounter.4",
|
"dialogue:rocketGrunt.encounter.4",
|
||||||
"dialogue:rocket_grunt.encounter.5",
|
"dialogue:rocketGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:rocket_grunt.victory.1",
|
"dialogue:rocketGrunt.victory.1",
|
||||||
"dialogue:rocket_grunt.victory.2",
|
"dialogue:rocketGrunt.victory.2",
|
||||||
"dialogue:rocket_grunt.victory.3",
|
"dialogue:rocketGrunt.victory.3",
|
||||||
"dialogue:rocket_grunt.victory.4",
|
"dialogue:rocketGrunt.victory.4",
|
||||||
"dialogue:rocket_grunt.victory.5",
|
"dialogue:rocketGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -465,18 +457,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.MAGMA_GRUNT]: [
|
[TrainerType.MAGMA_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:magma_grunt.encounter.1",
|
"dialogue:magmaGrunt.encounter.1",
|
||||||
"dialogue:magma_grunt.encounter.2",
|
"dialogue:magmaGrunt.encounter.2",
|
||||||
"dialogue:magma_grunt.encounter.3",
|
"dialogue:magmaGrunt.encounter.3",
|
||||||
"dialogue:magma_grunt.encounter.4",
|
"dialogue:magmaGrunt.encounter.4",
|
||||||
"dialogue:magma_grunt.encounter.5",
|
"dialogue:magmaGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:magma_grunt.victory.1",
|
"dialogue:magmaGrunt.victory.1",
|
||||||
"dialogue:magma_grunt.victory.2",
|
"dialogue:magmaGrunt.victory.2",
|
||||||
"dialogue:magma_grunt.victory.3",
|
"dialogue:magmaGrunt.victory.3",
|
||||||
"dialogue:magma_grunt.victory.4",
|
"dialogue:magmaGrunt.victory.4",
|
||||||
"dialogue:magma_grunt.victory.5",
|
"dialogue:magmaGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -495,18 +487,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.AQUA_GRUNT]: [
|
[TrainerType.AQUA_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:aqua_grunt.encounter.1",
|
"dialogue:aquaGrunt.encounter.1",
|
||||||
"dialogue:aqua_grunt.encounter.2",
|
"dialogue:aquaGrunt.encounter.2",
|
||||||
"dialogue:aqua_grunt.encounter.3",
|
"dialogue:aquaGrunt.encounter.3",
|
||||||
"dialogue:aqua_grunt.encounter.4",
|
"dialogue:aquaGrunt.encounter.4",
|
||||||
"dialogue:aqua_grunt.encounter.5",
|
"dialogue:aquaGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:aqua_grunt.victory.1",
|
"dialogue:aquaGrunt.victory.1",
|
||||||
"dialogue:aqua_grunt.victory.2",
|
"dialogue:aquaGrunt.victory.2",
|
||||||
"dialogue:aqua_grunt.victory.3",
|
"dialogue:aquaGrunt.victory.3",
|
||||||
"dialogue:aqua_grunt.victory.4",
|
"dialogue:aquaGrunt.victory.4",
|
||||||
"dialogue:aqua_grunt.victory.5",
|
"dialogue:aquaGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -525,18 +517,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.GALACTIC_GRUNT]: [
|
[TrainerType.GALACTIC_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:galactic_grunt.encounter.1",
|
"dialogue:galacticGrunt.encounter.1",
|
||||||
"dialogue:galactic_grunt.encounter.2",
|
"dialogue:galacticGrunt.encounter.2",
|
||||||
"dialogue:galactic_grunt.encounter.3",
|
"dialogue:galacticGrunt.encounter.3",
|
||||||
"dialogue:galactic_grunt.encounter.4",
|
"dialogue:galacticGrunt.encounter.4",
|
||||||
"dialogue:galactic_grunt.encounter.5",
|
"dialogue:galacticGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:galactic_grunt.victory.1",
|
"dialogue:galacticGrunt.victory.1",
|
||||||
"dialogue:galactic_grunt.victory.2",
|
"dialogue:galacticGrunt.victory.2",
|
||||||
"dialogue:galactic_grunt.victory.3",
|
"dialogue:galacticGrunt.victory.3",
|
||||||
"dialogue:galactic_grunt.victory.4",
|
"dialogue:galacticGrunt.victory.4",
|
||||||
"dialogue:galactic_grunt.victory.5",
|
"dialogue:galacticGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -561,18 +553,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.PLASMA_GRUNT]: [
|
[TrainerType.PLASMA_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:plasma_grunt.encounter.1",
|
"dialogue:plasmaGrunt.encounter.1",
|
||||||
"dialogue:plasma_grunt.encounter.2",
|
"dialogue:plasmaGrunt.encounter.2",
|
||||||
"dialogue:plasma_grunt.encounter.3",
|
"dialogue:plasmaGrunt.encounter.3",
|
||||||
"dialogue:plasma_grunt.encounter.4",
|
"dialogue:plasmaGrunt.encounter.4",
|
||||||
"dialogue:plasma_grunt.encounter.5",
|
"dialogue:plasmaGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:plasma_grunt.victory.1",
|
"dialogue:plasmaGrunt.victory.1",
|
||||||
"dialogue:plasma_grunt.victory.2",
|
"dialogue:plasmaGrunt.victory.2",
|
||||||
"dialogue:plasma_grunt.victory.3",
|
"dialogue:plasmaGrunt.victory.3",
|
||||||
"dialogue:plasma_grunt.victory.4",
|
"dialogue:plasmaGrunt.victory.4",
|
||||||
"dialogue:plasma_grunt.victory.5",
|
"dialogue:plasmaGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -591,18 +583,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.FLARE_GRUNT]: [
|
[TrainerType.FLARE_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:flare_grunt.encounter.1",
|
"dialogue:flareGrunt.encounter.1",
|
||||||
"dialogue:flare_grunt.encounter.2",
|
"dialogue:flareGrunt.encounter.2",
|
||||||
"dialogue:flare_grunt.encounter.3",
|
"dialogue:flareGrunt.encounter.3",
|
||||||
"dialogue:flare_grunt.encounter.4",
|
"dialogue:flareGrunt.encounter.4",
|
||||||
"dialogue:flare_grunt.encounter.5",
|
"dialogue:flareGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:flare_grunt.victory.1",
|
"dialogue:flareGrunt.victory.1",
|
||||||
"dialogue:flare_grunt.victory.2",
|
"dialogue:flareGrunt.victory.2",
|
||||||
"dialogue:flare_grunt.victory.3",
|
"dialogue:flareGrunt.victory.3",
|
||||||
"dialogue:flare_grunt.victory.4",
|
"dialogue:flareGrunt.victory.4",
|
||||||
"dialogue:flare_grunt.victory.5",
|
"dialogue:flareGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -621,18 +613,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.AETHER_GRUNT]: [
|
[TrainerType.AETHER_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:aether_grunt.encounter.1",
|
"dialogue:aetherGrunt.encounter.1",
|
||||||
"dialogue:aether_grunt.encounter.2",
|
"dialogue:aetherGrunt.encounter.2",
|
||||||
"dialogue:aether_grunt.encounter.3",
|
"dialogue:aetherGrunt.encounter.3",
|
||||||
"dialogue:aether_grunt.encounter.4",
|
"dialogue:aetherGrunt.encounter.4",
|
||||||
"dialogue:aether_grunt.encounter.5",
|
"dialogue:aetherGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:aether_grunt.victory.1",
|
"dialogue:aetherGrunt.victory.1",
|
||||||
"dialogue:aether_grunt.victory.2",
|
"dialogue:aetherGrunt.victory.2",
|
||||||
"dialogue:aether_grunt.victory.3",
|
"dialogue:aetherGrunt.victory.3",
|
||||||
"dialogue:aether_grunt.victory.4",
|
"dialogue:aetherGrunt.victory.4",
|
||||||
"dialogue:aether_grunt.victory.5",
|
"dialogue:aetherGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -645,18 +637,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.SKULL_GRUNT]: [
|
[TrainerType.SKULL_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:skull_grunt.encounter.1",
|
"dialogue:skullGrunt.encounter.1",
|
||||||
"dialogue:skull_grunt.encounter.2",
|
"dialogue:skullGrunt.encounter.2",
|
||||||
"dialogue:skull_grunt.encounter.3",
|
"dialogue:skullGrunt.encounter.3",
|
||||||
"dialogue:skull_grunt.encounter.4",
|
"dialogue:skullGrunt.encounter.4",
|
||||||
"dialogue:skull_grunt.encounter.5",
|
"dialogue:skullGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:skull_grunt.victory.1",
|
"dialogue:skullGrunt.victory.1",
|
||||||
"dialogue:skull_grunt.victory.2",
|
"dialogue:skullGrunt.victory.2",
|
||||||
"dialogue:skull_grunt.victory.3",
|
"dialogue:skullGrunt.victory.3",
|
||||||
"dialogue:skull_grunt.victory.4",
|
"dialogue:skullGrunt.victory.4",
|
||||||
"dialogue:skull_grunt.victory.5",
|
"dialogue:skullGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -669,18 +661,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.MACRO_GRUNT]: [
|
[TrainerType.MACRO_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:macro_grunt.encounter.1",
|
"dialogue:macroGrunt.encounter.1",
|
||||||
"dialogue:macro_grunt.encounter.2",
|
"dialogue:macroGrunt.encounter.2",
|
||||||
"dialogue:macro_grunt.encounter.3",
|
"dialogue:macroGrunt.encounter.3",
|
||||||
"dialogue:macro_grunt.encounter.4",
|
"dialogue:macroGrunt.encounter.4",
|
||||||
"dialogue:macro_grunt.encounter.5",
|
"dialogue:macroGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:macro_grunt.victory.1",
|
"dialogue:macroGrunt.victory.1",
|
||||||
"dialogue:macro_grunt.victory.2",
|
"dialogue:macroGrunt.victory.2",
|
||||||
"dialogue:macro_grunt.victory.3",
|
"dialogue:macroGrunt.victory.3",
|
||||||
"dialogue:macro_grunt.victory.4",
|
"dialogue:macroGrunt.victory.4",
|
||||||
"dialogue:macro_grunt.victory.5",
|
"dialogue:macroGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -693,18 +685,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
[TrainerType.STAR_GRUNT]: [
|
[TrainerType.STAR_GRUNT]: [
|
||||||
{
|
{
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:star_grunt.encounter.1",
|
"dialogue:starGrunt.encounter.1",
|
||||||
"dialogue:star_grunt.encounter.2",
|
"dialogue:starGrunt.encounter.2",
|
||||||
"dialogue:star_grunt.encounter.3",
|
"dialogue:starGrunt.encounter.3",
|
||||||
"dialogue:star_grunt.encounter.4",
|
"dialogue:starGrunt.encounter.4",
|
||||||
"dialogue:star_grunt.encounter.5",
|
"dialogue:starGrunt.encounter.5",
|
||||||
],
|
],
|
||||||
victory: [
|
victory: [
|
||||||
"dialogue:star_grunt.victory.1",
|
"dialogue:starGrunt.victory.1",
|
||||||
"dialogue:star_grunt.victory.2",
|
"dialogue:starGrunt.victory.2",
|
||||||
"dialogue:star_grunt.victory.3",
|
"dialogue:starGrunt.victory.3",
|
||||||
"dialogue:star_grunt.victory.4",
|
"dialogue:starGrunt.victory.4",
|
||||||
"dialogue:star_grunt.victory.5",
|
"dialogue:starGrunt.victory.5",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -740,207 +732,207 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
],
|
],
|
||||||
[TrainerType.ROCKET_BOSS_GIOVANNI_1]: [
|
[TrainerType.ROCKET_BOSS_GIOVANNI_1]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rocket_boss_giovanni_1.encounter.1"],
|
encounter: ["dialogue:rocketBossGiovanni1.encounter.1"],
|
||||||
victory: ["dialogue:rocket_boss_giovanni_1.victory.1"],
|
victory: ["dialogue:rocketBossGiovanni1.victory.1"],
|
||||||
defeat: ["dialogue:rocket_boss_giovanni_1.defeat.1"],
|
defeat: ["dialogue:rocketBossGiovanni1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.ROCKET_BOSS_GIOVANNI_2]: [
|
[TrainerType.ROCKET_BOSS_GIOVANNI_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rocket_boss_giovanni_2.encounter.1"],
|
encounter: ["dialogue:rocketBossGiovanni2.encounter.1"],
|
||||||
victory: ["dialogue:rocket_boss_giovanni_2.victory.1"],
|
victory: ["dialogue:rocketBossGiovanni2.victory.1"],
|
||||||
defeat: ["dialogue:rocket_boss_giovanni_2.defeat.1"],
|
defeat: ["dialogue:rocketBossGiovanni2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.MAXIE]: [
|
[TrainerType.MAXIE]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:magma_boss_maxie_1.encounter.1"],
|
encounter: ["dialogue:magmaBossMaxie1.encounter.1"],
|
||||||
victory: ["dialogue:magma_boss_maxie_1.victory.1"],
|
victory: ["dialogue:magmaBossMaxie1.victory.1"],
|
||||||
defeat: ["dialogue:magma_boss_maxie_1.defeat.1"],
|
defeat: ["dialogue:magmaBossMaxie1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.MAXIE_2]: [
|
[TrainerType.MAXIE_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:magma_boss_maxie_2.encounter.1"],
|
encounter: ["dialogue:magmaBossMaxie2.encounter.1"],
|
||||||
victory: ["dialogue:magma_boss_maxie_2.victory.1"],
|
victory: ["dialogue:magmaBossMaxie2.victory.1"],
|
||||||
defeat: ["dialogue:magma_boss_maxie_2.defeat.1"],
|
defeat: ["dialogue:magmaBossMaxie2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.ARCHIE]: [
|
[TrainerType.ARCHIE]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:aqua_boss_archie_1.encounter.1"],
|
encounter: ["dialogue:aquaBossArchie1.encounter.1"],
|
||||||
victory: ["dialogue:aqua_boss_archie_1.victory.1"],
|
victory: ["dialogue:aquaBossArchie1.victory.1"],
|
||||||
defeat: ["dialogue:aqua_boss_archie_1.defeat.1"],
|
defeat: ["dialogue:aquaBossArchie1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.ARCHIE_2]: [
|
[TrainerType.ARCHIE_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:aqua_boss_archie_2.encounter.1"],
|
encounter: ["dialogue:aquaBossArchie2.encounter.1"],
|
||||||
victory: ["dialogue:aqua_boss_archie_2.victory.1"],
|
victory: ["dialogue:aquaBossArchie2.victory.1"],
|
||||||
defeat: ["dialogue:aqua_boss_archie_2.defeat.1"],
|
defeat: ["dialogue:aquaBossArchie2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.CYRUS]: [
|
[TrainerType.CYRUS]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:galactic_boss_cyrus_1.encounter.1"],
|
encounter: ["dialogue:galacticBossCyrus1.encounter.1"],
|
||||||
victory: ["dialogue:galactic_boss_cyrus_1.victory.1"],
|
victory: ["dialogue:galacticBossCyrus1.victory.1"],
|
||||||
defeat: ["dialogue:galactic_boss_cyrus_1.defeat.1"],
|
defeat: ["dialogue:galacticBossCyrus1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.CYRUS_2]: [
|
[TrainerType.CYRUS_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:galactic_boss_cyrus_2.encounter.1"],
|
encounter: ["dialogue:galacticBossCyrus2.encounter.1"],
|
||||||
victory: ["dialogue:galactic_boss_cyrus_2.victory.1"],
|
victory: ["dialogue:galacticBossCyrus2.victory.1"],
|
||||||
defeat: ["dialogue:galactic_boss_cyrus_2.defeat.1"],
|
defeat: ["dialogue:galacticBossCyrus2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.GHETSIS]: [
|
[TrainerType.GHETSIS]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:plasma_boss_ghetsis_1.encounter.1"],
|
encounter: ["dialogue:plasmaBossGhetsis1.encounter.1"],
|
||||||
victory: ["dialogue:plasma_boss_ghetsis_1.victory.1"],
|
victory: ["dialogue:plasmaBossGhetsis1.victory.1"],
|
||||||
defeat: ["dialogue:plasma_boss_ghetsis_1.defeat.1"],
|
defeat: ["dialogue:plasmaBossGhetsis1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.GHETSIS_2]: [
|
[TrainerType.GHETSIS_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:plasma_boss_ghetsis_2.encounter.1"],
|
encounter: ["dialogue:plasmaBossGhetsis2.encounter.1"],
|
||||||
victory: ["dialogue:plasma_boss_ghetsis_2.victory.1"],
|
victory: ["dialogue:plasmaBossGhetsis2.victory.1"],
|
||||||
defeat: ["dialogue:plasma_boss_ghetsis_2.defeat.1"],
|
defeat: ["dialogue:plasmaBossGhetsis2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.LYSANDRE]: [
|
[TrainerType.LYSANDRE]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:flare_boss_lysandre_1.encounter.1"],
|
encounter: ["dialogue:flareBossLysandre1.encounter.1"],
|
||||||
victory: ["dialogue:flare_boss_lysandre_1.victory.1"],
|
victory: ["dialogue:flareBossLysandre1.victory.1"],
|
||||||
defeat: ["dialogue:flare_boss_lysandre_1.defeat.1"],
|
defeat: ["dialogue:flareBossLysandre1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.LYSANDRE_2]: [
|
[TrainerType.LYSANDRE_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:flare_boss_lysandre_2.encounter.1"],
|
encounter: ["dialogue:flareBossLysandre2.encounter.1"],
|
||||||
victory: ["dialogue:flare_boss_lysandre_2.victory.1"],
|
victory: ["dialogue:flareBossLysandre2.victory.1"],
|
||||||
defeat: ["dialogue:flare_boss_lysandre_2.defeat.1"],
|
defeat: ["dialogue:flareBossLysandre2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.LUSAMINE]: [
|
[TrainerType.LUSAMINE]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:aether_boss_lusamine_1.encounter.1"],
|
encounter: ["dialogue:aetherBossLusamine1.encounter.1"],
|
||||||
victory: ["dialogue:aether_boss_lusamine_1.victory.1"],
|
victory: ["dialogue:aetherBossLusamine1.victory.1"],
|
||||||
defeat: ["dialogue:aether_boss_lusamine_1.defeat.1"],
|
defeat: ["dialogue:aetherBossLusamine1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.LUSAMINE_2]: [
|
[TrainerType.LUSAMINE_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:aether_boss_lusamine_2.encounter.1"],
|
encounter: ["dialogue:aetherBossLusamine2.encounter.1"],
|
||||||
victory: ["dialogue:aether_boss_lusamine_2.victory.1"],
|
victory: ["dialogue:aetherBossLusamine2.victory.1"],
|
||||||
defeat: ["dialogue:aether_boss_lusamine_2.defeat.1"],
|
defeat: ["dialogue:aetherBossLusamine2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.GUZMA]: [
|
[TrainerType.GUZMA]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:skull_boss_guzma_1.encounter.1"],
|
encounter: ["dialogue:skullBossGuzma1.encounter.1"],
|
||||||
victory: ["dialogue:skull_boss_guzma_1.victory.1"],
|
victory: ["dialogue:skullBossGuzma1.victory.1"],
|
||||||
defeat: ["dialogue:skull_boss_guzma_1.defeat.1"],
|
defeat: ["dialogue:skullBossGuzma1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.GUZMA_2]: [
|
[TrainerType.GUZMA_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:skull_boss_guzma_2.encounter.1"],
|
encounter: ["dialogue:skullBossGuzma2.encounter.1"],
|
||||||
victory: ["dialogue:skull_boss_guzma_2.victory.1"],
|
victory: ["dialogue:skullBossGuzma2.victory.1"],
|
||||||
defeat: ["dialogue:skull_boss_guzma_2.defeat.1"],
|
defeat: ["dialogue:skullBossGuzma2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.ROSE]: [
|
[TrainerType.ROSE]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:macro_boss_rose_1.encounter.1"],
|
encounter: ["dialogue:macroBossRose1.encounter.1"],
|
||||||
victory: ["dialogue:macro_boss_rose_1.victory.1"],
|
victory: ["dialogue:macroBossRose1.victory.1"],
|
||||||
defeat: ["dialogue:macro_boss_rose_1.defeat.1"],
|
defeat: ["dialogue:macroBossRose1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.ROSE_2]: [
|
[TrainerType.ROSE_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:macro_boss_rose_2.encounter.1"],
|
encounter: ["dialogue:macroBossRose2.encounter.1"],
|
||||||
victory: ["dialogue:macro_boss_rose_2.victory.1"],
|
victory: ["dialogue:macroBossRose2.victory.1"],
|
||||||
defeat: ["dialogue:macro_boss_rose_2.defeat.1"],
|
defeat: ["dialogue:macroBossRose2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.PENNY]: [
|
[TrainerType.PENNY]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:star_boss_penny_1.encounter.1"],
|
encounter: ["dialogue:starBossPenny1.encounter.1"],
|
||||||
victory: ["dialogue:star_boss_penny_1.victory.1"],
|
victory: ["dialogue:starBossPenny1.victory.1"],
|
||||||
defeat: ["dialogue:star_boss_penny_1.defeat.1"],
|
defeat: ["dialogue:starBossPenny1.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.PENNY_2]: [
|
[TrainerType.PENNY_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:star_boss_penny_2.encounter.1"],
|
encounter: ["dialogue:starBossPenny2.encounter.1"],
|
||||||
victory: ["dialogue:star_boss_penny_2.victory.1"],
|
victory: ["dialogue:starBossPenny2.victory.1"],
|
||||||
defeat: ["dialogue:star_boss_penny_2.defeat.1"],
|
defeat: ["dialogue:starBossPenny2.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.BUCK]: [
|
[TrainerType.BUCK]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:stat_trainer_buck.encounter.1", "dialogue:stat_trainer_buck.encounter.2"],
|
encounter: ["dialogue:statTrainerBuck.encounter.1", "dialogue:statTrainerBuck.encounter.2"],
|
||||||
victory: ["dialogue:stat_trainer_buck.victory.1", "dialogue:stat_trainer_buck.victory.2"],
|
victory: ["dialogue:statTrainerBuck.victory.1", "dialogue:statTrainerBuck.victory.2"],
|
||||||
defeat: ["dialogue:stat_trainer_buck.defeat.1", "dialogue:stat_trainer_buck.defeat.2"],
|
defeat: ["dialogue:statTrainerBuck.defeat.1", "dialogue:statTrainerBuck.defeat.2"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.CHERYL]: [
|
[TrainerType.CHERYL]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:stat_trainer_cheryl.encounter.1", "dialogue:stat_trainer_cheryl.encounter.2"],
|
encounter: ["dialogue:statTrainerCheryl.encounter.1", "dialogue:statTrainerCheryl.encounter.2"],
|
||||||
victory: ["dialogue:stat_trainer_cheryl.victory.1", "dialogue:stat_trainer_cheryl.victory.2"],
|
victory: ["dialogue:statTrainerCheryl.victory.1", "dialogue:statTrainerCheryl.victory.2"],
|
||||||
defeat: ["dialogue:stat_trainer_cheryl.defeat.1", "dialogue:stat_trainer_cheryl.defeat.2"],
|
defeat: ["dialogue:statTrainerCheryl.defeat.1", "dialogue:statTrainerCheryl.defeat.2"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.MARLEY]: [
|
[TrainerType.MARLEY]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:stat_trainer_marley.encounter.1", "dialogue:stat_trainer_marley.encounter.2"],
|
encounter: ["dialogue:statTrainerMarley.encounter.1", "dialogue:statTrainerMarley.encounter.2"],
|
||||||
victory: ["dialogue:stat_trainer_marley.victory.1", "dialogue:stat_trainer_marley.victory.2"],
|
victory: ["dialogue:statTrainerMarley.victory.1", "dialogue:statTrainerMarley.victory.2"],
|
||||||
defeat: ["dialogue:stat_trainer_marley.defeat.1", "dialogue:stat_trainer_marley.defeat.2"],
|
defeat: ["dialogue:statTrainerMarley.defeat.1", "dialogue:statTrainerMarley.defeat.2"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.MIRA]: [
|
[TrainerType.MIRA]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:stat_trainer_mira.encounter.1", "dialogue:stat_trainer_mira.encounter.2"],
|
encounter: ["dialogue:statTrainerMira.encounter.1", "dialogue:statTrainerMira.encounter.2"],
|
||||||
victory: ["dialogue:stat_trainer_mira.victory.1", "dialogue:stat_trainer_mira.victory.2"],
|
victory: ["dialogue:statTrainerMira.victory.1", "dialogue:statTrainerMira.victory.2"],
|
||||||
defeat: ["dialogue:stat_trainer_mira.defeat.1", "dialogue:stat_trainer_mira.defeat.2"],
|
defeat: ["dialogue:statTrainerMira.defeat.1", "dialogue:statTrainerMira.defeat.2"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.RILEY]: [
|
[TrainerType.RILEY]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:stat_trainer_riley.encounter.1", "dialogue:stat_trainer_riley.encounter.2"],
|
encounter: ["dialogue:statTrainerRiley.encounter.1", "dialogue:statTrainerRiley.encounter.2"],
|
||||||
victory: ["dialogue:stat_trainer_riley.victory.1", "dialogue:stat_trainer_riley.victory.2"],
|
victory: ["dialogue:statTrainerRiley.victory.1", "dialogue:statTrainerRiley.victory.2"],
|
||||||
defeat: ["dialogue:stat_trainer_riley.defeat.1", "dialogue:stat_trainer_riley.defeat.2"],
|
defeat: ["dialogue:statTrainerRiley.defeat.1", "dialogue:statTrainerRiley.defeat.2"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.VICTOR]: [
|
[TrainerType.VICTOR]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:winstrates_victor.encounter.1"],
|
encounter: ["dialogue:winstratesVictor.encounter.1"],
|
||||||
victory: ["dialogue:winstrates_victor.victory.1"],
|
victory: ["dialogue:winstratesVictor.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.VICTORIA]: [
|
[TrainerType.VICTORIA]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:winstrates_victoria.encounter.1"],
|
encounter: ["dialogue:winstratesVictoria.encounter.1"],
|
||||||
victory: ["dialogue:winstrates_victoria.victory.1"],
|
victory: ["dialogue:winstratesVictoria.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.VIVI]: [
|
[TrainerType.VIVI]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:winstrates_vivi.encounter.1"],
|
encounter: ["dialogue:winstratesVivi.encounter.1"],
|
||||||
victory: ["dialogue:winstrates_vivi.victory.1"],
|
victory: ["dialogue:winstratesVivi.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.VICKY]: [
|
[TrainerType.VICKY]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:winstrates_vicky.encounter.1"],
|
encounter: ["dialogue:winstratesVicky.encounter.1"],
|
||||||
victory: ["dialogue:winstrates_vicky.victory.1"],
|
victory: ["dialogue:winstratesVicky.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.VITO]: [
|
[TrainerType.VITO]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:winstrates_vito.encounter.1"],
|
encounter: ["dialogue:winstratesVito.encounter.1"],
|
||||||
victory: ["dialogue:winstrates_vito.victory.1"],
|
victory: ["dialogue:winstratesVito.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.BROCK]: {
|
[TrainerType.BROCK]: {
|
||||||
@ -954,9 +946,9 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
defeat: ["dialogue:misty.defeat.1", "dialogue:misty.defeat.2", "dialogue:misty.defeat.3"],
|
defeat: ["dialogue:misty.defeat.1", "dialogue:misty.defeat.2", "dialogue:misty.defeat.3"],
|
||||||
},
|
},
|
||||||
[TrainerType.LT_SURGE]: {
|
[TrainerType.LT_SURGE]: {
|
||||||
encounter: ["dialogue:lt_surge.encounter.1", "dialogue:lt_surge.encounter.2", "dialogue:lt_surge.encounter.3"],
|
encounter: ["dialogue:ltSurge.encounter.1", "dialogue:ltSurge.encounter.2", "dialogue:ltSurge.encounter.3"],
|
||||||
victory: ["dialogue:lt_surge.victory.1", "dialogue:lt_surge.victory.2", "dialogue:lt_surge.victory.3"],
|
victory: ["dialogue:ltSurge.victory.1", "dialogue:ltSurge.victory.2", "dialogue:ltSurge.victory.3"],
|
||||||
defeat: ["dialogue:lt_surge.defeat.1", "dialogue:lt_surge.defeat.2", "dialogue:lt_surge.defeat.3"],
|
defeat: ["dialogue:ltSurge.defeat.1", "dialogue:ltSurge.defeat.2", "dialogue:ltSurge.defeat.3"],
|
||||||
},
|
},
|
||||||
[TrainerType.ERIKA]: {
|
[TrainerType.ERIKA]: {
|
||||||
encounter: [
|
encounter: [
|
||||||
@ -1055,12 +1047,12 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
},
|
},
|
||||||
[TrainerType.CRASHER_WAKE]: {
|
[TrainerType.CRASHER_WAKE]: {
|
||||||
encounter: [
|
encounter: [
|
||||||
"dialogue:crasher_wake.encounter.1",
|
"dialogue:crasherWake.encounter.1",
|
||||||
"dialogue:crasher_wake.encounter.2",
|
"dialogue:crasherWake.encounter.2",
|
||||||
"dialogue:crasher_wake.encounter.3",
|
"dialogue:crasherWake.encounter.3",
|
||||||
],
|
],
|
||||||
victory: ["dialogue:crasher_wake.victory.1", "dialogue:crasher_wake.victory.2", "dialogue:crasher_wake.victory.3"],
|
victory: ["dialogue:crasherWake.victory.1", "dialogue:crasherWake.victory.2", "dialogue:crasherWake.victory.3"],
|
||||||
defeat: ["dialogue:crasher_wake.defeat.1", "dialogue:crasher_wake.defeat.2", "dialogue:crasher_wake.defeat.3"],
|
defeat: ["dialogue:crasherWake.defeat.1", "dialogue:crasherWake.defeat.2", "dialogue:crasherWake.defeat.3"],
|
||||||
},
|
},
|
||||||
[TrainerType.FALKNER]: {
|
[TrainerType.FALKNER]: {
|
||||||
encounter: ["dialogue:falkner.encounter.1", "dialogue:falkner.encounter.2", "dialogue:falkner.encounter.3"],
|
encounter: ["dialogue:falkner.encounter.1", "dialogue:falkner.encounter.2", "dialogue:falkner.encounter.3"],
|
||||||
@ -1354,9 +1346,9 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
defeat: ["dialogue:acerola.defeat.1"],
|
defeat: ["dialogue:acerola.defeat.1"],
|
||||||
},
|
},
|
||||||
[TrainerType.LARRY_ELITE]: {
|
[TrainerType.LARRY_ELITE]: {
|
||||||
encounter: ["dialogue:larry_elite.encounter.1"],
|
encounter: ["dialogue:larryElite.encounter.1"],
|
||||||
victory: ["dialogue:larry_elite.victory.1"],
|
victory: ["dialogue:larryElite.victory.1"],
|
||||||
defeat: ["dialogue:larry_elite.defeat.1"],
|
defeat: ["dialogue:larryElite.defeat.1"],
|
||||||
},
|
},
|
||||||
[TrainerType.LANCE]: {
|
[TrainerType.LANCE]: {
|
||||||
encounter: ["dialogue:lance.encounter.1", "dialogue:lance.encounter.2"],
|
encounter: ["dialogue:lance.encounter.1", "dialogue:lance.encounter.2"],
|
||||||
@ -1414,9 +1406,9 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
defeat: ["dialogue:jasmine.defeat.1"],
|
defeat: ["dialogue:jasmine.defeat.1"],
|
||||||
},
|
},
|
||||||
[TrainerType.LANCE_CHAMPION]: {
|
[TrainerType.LANCE_CHAMPION]: {
|
||||||
encounter: ["dialogue:lance_champion.encounter.1"],
|
encounter: ["dialogue:lanceChampion.encounter.1"],
|
||||||
victory: ["dialogue:lance_champion.victory.1"],
|
victory: ["dialogue:lanceChampion.victory.1"],
|
||||||
defeat: ["dialogue:lance_champion.defeat.1"],
|
defeat: ["dialogue:lanceChampion.defeat.1"],
|
||||||
},
|
},
|
||||||
[TrainerType.STEVEN]: {
|
[TrainerType.STEVEN]: {
|
||||||
encounter: ["dialogue:steven.encounter.1"],
|
encounter: ["dialogue:steven.encounter.1"],
|
||||||
@ -1624,29 +1616,29 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
defeat: ["dialogue:grusha.defeat.1"],
|
defeat: ["dialogue:grusha.defeat.1"],
|
||||||
},
|
},
|
||||||
[TrainerType.MARNIE_ELITE]: {
|
[TrainerType.MARNIE_ELITE]: {
|
||||||
encounter: ["dialogue:marnie_elite.encounter.1", "dialogue:marnie_elite.encounter.2"],
|
encounter: ["dialogue:marnieElite.encounter.1", "dialogue:marnieElite.encounter.2"],
|
||||||
victory: ["dialogue:marnie_elite.victory.1", "dialogue:marnie_elite.victory.2"],
|
victory: ["dialogue:marnieElite.victory.1", "dialogue:marnieElite.victory.2"],
|
||||||
defeat: ["dialogue:marnie_elite.defeat.1", "dialogue:marnie_elite.defeat.2"],
|
defeat: ["dialogue:marnieElite.defeat.1", "dialogue:marnieElite.defeat.2"],
|
||||||
},
|
},
|
||||||
[TrainerType.NESSA_ELITE]: {
|
[TrainerType.NESSA_ELITE]: {
|
||||||
encounter: ["dialogue:nessa_elite.encounter.1", "dialogue:nessa_elite.encounter.2"],
|
encounter: ["dialogue:nessaElite.encounter.1", "dialogue:nessaElite.encounter.2"],
|
||||||
victory: ["dialogue:nessa_elite.victory.1", "dialogue:nessa_elite.victory.2"],
|
victory: ["dialogue:nessaElite.victory.1", "dialogue:nessaElite.victory.2"],
|
||||||
defeat: ["dialogue:nessa_elite.defeat.1", "dialogue:nessa_elite.defeat.2"],
|
defeat: ["dialogue:nessaElite.defeat.1", "dialogue:nessaElite.defeat.2"],
|
||||||
},
|
},
|
||||||
[TrainerType.BEA_ELITE]: {
|
[TrainerType.BEA_ELITE]: {
|
||||||
encounter: ["dialogue:bea_elite.encounter.1", "dialogue:bea_elite.encounter.2"],
|
encounter: ["dialogue:beaElite.encounter.1", "dialogue:beaElite.encounter.2"],
|
||||||
victory: ["dialogue:bea_elite.victory.1", "dialogue:bea_elite.victory.2"],
|
victory: ["dialogue:beaElite.victory.1", "dialogue:beaElite.victory.2"],
|
||||||
defeat: ["dialogue:bea_elite.defeat.1", "dialogue:bea_elite.defeat.2"],
|
defeat: ["dialogue:beaElite.defeat.1", "dialogue:beaElite.defeat.2"],
|
||||||
},
|
},
|
||||||
[TrainerType.ALLISTER_ELITE]: {
|
[TrainerType.ALLISTER_ELITE]: {
|
||||||
encounter: ["dialogue:allister_elite.encounter.1", "dialogue:allister_elite.encounter.2"],
|
encounter: ["dialogue:allisterElite.encounter.1", "dialogue:allisterElite.encounter.2"],
|
||||||
victory: ["dialogue:allister_elite.victory.1", "dialogue:allister_elite.victory.2"],
|
victory: ["dialogue:allisterElite.victory.1", "dialogue:allisterElite.victory.2"],
|
||||||
defeat: ["dialogue:allister_elite.defeat.1", "dialogue:allister_elite.defeat.2"],
|
defeat: ["dialogue:allisterElite.defeat.1", "dialogue:allisterElite.defeat.2"],
|
||||||
},
|
},
|
||||||
[TrainerType.RAIHAN_ELITE]: {
|
[TrainerType.RAIHAN_ELITE]: {
|
||||||
encounter: ["dialogue:raihan_elite.encounter.1", "dialogue:raihan_elite.encounter.2"],
|
encounter: ["dialogue:raihanElite.encounter.1", "dialogue:raihanElite.encounter.2"],
|
||||||
victory: ["dialogue:raihan_elite.victory.1", "dialogue:raihan_elite.victory.2"],
|
victory: ["dialogue:raihanElite.victory.1", "dialogue:raihanElite.victory.2"],
|
||||||
defeat: ["dialogue:raihan_elite.defeat.1", "dialogue:raihan_elite.defeat.2"],
|
defeat: ["dialogue:raihanElite.defeat.1", "dialogue:raihanElite.defeat.2"],
|
||||||
},
|
},
|
||||||
[TrainerType.ALDER]: {
|
[TrainerType.ALDER]: {
|
||||||
encounter: ["dialogue:alder.encounter.1"],
|
encounter: ["dialogue:alder.encounter.1"],
|
||||||
@ -1670,56 +1662,56 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
|
|||||||
],
|
],
|
||||||
[TrainerType.RIVAL_2]: [
|
[TrainerType.RIVAL_2]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_2.encounter.1"],
|
encounter: ["dialogue:rival2.encounter.1"],
|
||||||
victory: ["dialogue:rival_2.victory.1"],
|
victory: ["dialogue:rival2.victory.1"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_2_female.encounter.1"],
|
encounter: ["dialogue:rival2Female.encounter.1"],
|
||||||
victory: ["dialogue:rival_2_female.victory.1"],
|
victory: ["dialogue:rival2Female.victory.1"],
|
||||||
defeat: ["dialogue:rival_2_female.defeat.1"],
|
defeat: ["dialogue:rival2Female.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.RIVAL_3]: [
|
[TrainerType.RIVAL_3]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_3.encounter.1"],
|
encounter: ["dialogue:rival3.encounter.1"],
|
||||||
victory: ["dialogue:rival_3.victory.1"],
|
victory: ["dialogue:rival3.victory.1"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_3_female.encounter.1"],
|
encounter: ["dialogue:rival3Female.encounter.1"],
|
||||||
victory: ["dialogue:rival_3_female.victory.1"],
|
victory: ["dialogue:rival3Female.victory.1"],
|
||||||
defeat: ["dialogue:rival_3_female.defeat.1"],
|
defeat: ["dialogue:rival3Female.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.RIVAL_4]: [
|
[TrainerType.RIVAL_4]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_4.encounter.1"],
|
encounter: ["dialogue:rival4.encounter.1"],
|
||||||
victory: ["dialogue:rival_4.victory.1"],
|
victory: ["dialogue:rival4.victory.1"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_4_female.encounter.1"],
|
encounter: ["dialogue:rival4Female.encounter.1"],
|
||||||
victory: ["dialogue:rival_4_female.victory.1"],
|
victory: ["dialogue:rival4Female.victory.1"],
|
||||||
defeat: ["dialogue:rival_4_female.defeat.1"],
|
defeat: ["dialogue:rival4Female.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.RIVAL_5]: [
|
[TrainerType.RIVAL_5]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_5.encounter.1"],
|
encounter: ["dialogue:rival5.encounter.1"],
|
||||||
victory: ["dialogue:rival_5.victory.1"],
|
victory: ["dialogue:rival5.victory.1"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_5_female.encounter.1"],
|
encounter: ["dialogue:rival5Female.encounter.1"],
|
||||||
victory: ["dialogue:rival_5_female.victory.1"],
|
victory: ["dialogue:rival5Female.victory.1"],
|
||||||
defeat: ["dialogue:rival_5_female.defeat.1"],
|
defeat: ["dialogue:rival5Female.defeat.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[TrainerType.RIVAL_6]: [
|
[TrainerType.RIVAL_6]: [
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_6.encounter.1"],
|
encounter: ["dialogue:rival6.encounter.1"],
|
||||||
victory: ["dialogue:rival_6.victory.1"],
|
victory: ["dialogue:rival6.victory.1"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
encounter: ["dialogue:rival_6_female.encounter.1"],
|
encounter: ["dialogue:rival6Female.encounter.1"],
|
||||||
victory: ["dialogue:rival_6_female.victory.1"],
|
victory: ["dialogue:rival6Female.victory.1"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
@ -2,43 +2,43 @@
|
|||||||
// that caused this to be moved out in the first place
|
// that caused this to be moved out in the first place
|
||||||
export const doubleBattleDialogue = {
|
export const doubleBattleDialogue = {
|
||||||
blue_red_double: {
|
blue_red_double: {
|
||||||
encounter: ["doubleBattleDialogue:blue_red_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:blueRedDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:blue_red_double.victory.1"],
|
victory: ["doubleBattleDialogue:blueRedDouble.victory.1"],
|
||||||
},
|
},
|
||||||
red_blue_double: {
|
red_blue_double: {
|
||||||
encounter: ["doubleBattleDialogue:red_blue_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:redBlueDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:red_blue_double.victory.1"],
|
victory: ["doubleBattleDialogue:redBlueDouble.victory.1"],
|
||||||
},
|
},
|
||||||
tate_liza_double: {
|
tate_liza_double: {
|
||||||
encounter: ["doubleBattleDialogue:tate_liza_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:tateLizaDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:tate_liza_double.victory.1"],
|
victory: ["doubleBattleDialogue:tateLizaDouble.victory.1"],
|
||||||
},
|
},
|
||||||
liza_tate_double: {
|
liza_tate_double: {
|
||||||
encounter: ["doubleBattleDialogue:liza_tate_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:lizaTateDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:liza_tate_double.victory.1"],
|
victory: ["doubleBattleDialogue:lizaTateDouble.victory.1"],
|
||||||
},
|
},
|
||||||
wallace_steven_double: {
|
wallace_steven_double: {
|
||||||
encounter: ["doubleBattleDialogue:wallace_steven_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:wallaceStevenDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:wallace_steven_double.victory.1"],
|
victory: ["doubleBattleDialogue:wallaceStevenDouble.victory.1"],
|
||||||
},
|
},
|
||||||
steven_wallace_double: {
|
steven_wallace_double: {
|
||||||
encounter: ["doubleBattleDialogue:steven_wallace_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:stevenWallaceDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:steven_wallace_double.victory.1"],
|
victory: ["doubleBattleDialogue:stevenWallaceDouble.victory.1"],
|
||||||
},
|
},
|
||||||
alder_iris_double: {
|
alder_iris_double: {
|
||||||
encounter: ["doubleBattleDialogue:alder_iris_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:alderIrisDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:alder_iris_double.victory.1"],
|
victory: ["doubleBattleDialogue:alderIrisDouble.victory.1"],
|
||||||
},
|
},
|
||||||
iris_alder_double: {
|
iris_alder_double: {
|
||||||
encounter: ["doubleBattleDialogue:iris_alder_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:irisAlderDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:iris_alder_double.victory.1"],
|
victory: ["doubleBattleDialogue:irisAlderDouble.victory.1"],
|
||||||
},
|
},
|
||||||
marnie_piers_double: {
|
marnie_piers_double: {
|
||||||
encounter: ["doubleBattleDialogue:marnie_piers_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:marniePiersDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:marnie_piers_double.victory.1"],
|
victory: ["doubleBattleDialogue:marniePiersDouble.victory.1"],
|
||||||
},
|
},
|
||||||
piers_marnie_double: {
|
piers_marnie_double: {
|
||||||
encounter: ["doubleBattleDialogue:piers_marnie_double.encounter.1"],
|
encounter: ["doubleBattleDialogue:piersMarnieDouble.encounter.1"],
|
||||||
victory: ["doubleBattleDialogue:piers_marnie_double.victory.1"],
|
victory: ["doubleBattleDialogue:piersMarnieDouble.victory.1"],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -132,7 +132,7 @@ export const FunAndGamesEncounter: MysteryEncounter = MysteryEncounterBuilder.wi
|
|||||||
const moneyCost = (encounter.options[0].requirements[0] as MoneyRequirement).requiredMoney;
|
const moneyCost = (encounter.options[0].requirements[0] as MoneyRequirement).requiredMoney;
|
||||||
updatePlayerMoney(-moneyCost, true, false);
|
updatePlayerMoney(-moneyCost, true, false);
|
||||||
await showEncounterText(
|
await showEncounterText(
|
||||||
i18next.t("mysteryEncounterMessages:paid_money", {
|
i18next.t("mysteryEncounterMessages:paidMoney", {
|
||||||
amount: moneyCost,
|
amount: moneyCost,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
@ -149,7 +149,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier);
|
const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier);
|
||||||
updatePlayerMoney(moneyChange, true, false);
|
updatePlayerMoney(moneyChange, true, false);
|
||||||
await showEncounterText(
|
await showEncounterText(
|
||||||
i18next.t("mysteryEncounterMessages:receive_money", {
|
i18next.t("mysteryEncounterMessages:receiveMoney", {
|
||||||
amount: moneyChange,
|
amount: moneyChange,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
@ -231,7 +231,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier);
|
const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier);
|
||||||
updatePlayerMoney(moneyChange, true, false);
|
updatePlayerMoney(moneyChange, true, false);
|
||||||
await showEncounterText(
|
await showEncounterText(
|
||||||
i18next.t("mysteryEncounterMessages:receive_money", {
|
i18next.t("mysteryEncounterMessages:receiveMoney", {
|
||||||
amount: moneyChange,
|
amount: moneyChange,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
@ -286,7 +286,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
|
|||||||
const moneyChange = globalScene.getWaveMoneyAmount(2.5);
|
const moneyChange = globalScene.getWaveMoneyAmount(2.5);
|
||||||
updatePlayerMoney(moneyChange, true, false);
|
updatePlayerMoney(moneyChange, true, false);
|
||||||
await showEncounterText(
|
await showEncounterText(
|
||||||
i18next.t("mysteryEncounterMessages:receive_money", {
|
i18next.t("mysteryEncounterMessages:receiveMoney", {
|
||||||
amount: moneyChange,
|
amount: moneyChange,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
@ -467,7 +467,7 @@ export function updatePlayerMoney(changeValue: number, playSound = true, showMes
|
|||||||
if (showMessage) {
|
if (showMessage) {
|
||||||
if (changeValue < 0) {
|
if (changeValue < 0) {
|
||||||
globalScene.phaseManager.queueMessage(
|
globalScene.phaseManager.queueMessage(
|
||||||
i18next.t("mysteryEncounterMessages:paid_money", {
|
i18next.t("mysteryEncounterMessages:paidMoney", {
|
||||||
amount: -changeValue,
|
amount: -changeValue,
|
||||||
}),
|
}),
|
||||||
null,
|
null,
|
||||||
@ -475,7 +475,7 @@ export function updatePlayerMoney(changeValue: number, playSound = true, showMes
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
globalScene.phaseManager.queueMessage(
|
globalScene.phaseManager.queueMessage(
|
||||||
i18next.t("mysteryEncounterMessages:receive_money", {
|
i18next.t("mysteryEncounterMessages:receiveMoney", {
|
||||||
amount: changeValue,
|
amount: changeValue,
|
||||||
}),
|
}),
|
||||||
null,
|
null,
|
||||||
@ -587,7 +587,7 @@ export function selectPokemonForOption(
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
onHover: () => {
|
onHover: () => {
|
||||||
showEncounterText(i18next.t("mysteryEncounterMessages:cancel_option"), 0, 0, false);
|
showEncounterText(i18next.t("mysteryEncounterMessages:cancelOption"), 0, 0, false);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -720,7 +720,7 @@ export function selectOptionThenPokemon(
|
|||||||
if (onHoverOverCancelOption) {
|
if (onHoverOverCancelOption) {
|
||||||
onHoverOverCancelOption();
|
onHoverOverCancelOption();
|
||||||
}
|
}
|
||||||
showEncounterText(i18next.t("mysteryEncounterMessages:cancel_option"), 0, 0, false);
|
showEncounterText(i18next.t("mysteryEncounterMessages:cancelOption"), 0, 0, false);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -65,8 +65,8 @@ export class GameOverPhase extends BattlePhase {
|
|||||||
const genderIndex = globalScene.gameData.gender ?? PlayerGender.UNSET;
|
const genderIndex = globalScene.gameData.gender ?? PlayerGender.UNSET;
|
||||||
const genderStr = PlayerGender[genderIndex].toLowerCase();
|
const genderStr = PlayerGender[genderIndex].toLowerCase();
|
||||||
globalScene.ui.showDialogue(
|
globalScene.ui.showDialogue(
|
||||||
i18next.t("miscDialogue:ending_endless", { context: genderStr }),
|
i18next.t("miscDialogue:endingEndless", { context: genderStr }),
|
||||||
i18next.t("miscDialogue:ending_name"),
|
i18next.t("miscDialogue:endingName"),
|
||||||
0,
|
0,
|
||||||
() => this.handleGameOver(),
|
() => this.handleGameOver(),
|
||||||
);
|
);
|
||||||
|
@ -214,242 +214,243 @@ export function getAchievementDescription(localizationKey: string): string {
|
|||||||
const genderStr = PlayerGender[genderIndex].toLowerCase();
|
const genderStr = PlayerGender[genderIndex].toLowerCase();
|
||||||
|
|
||||||
switch (localizationKey) {
|
switch (localizationKey) {
|
||||||
case "10K_MONEY":
|
case "10KMoney":
|
||||||
return i18next.t("achv:MoneyAchv.description", {
|
return i18next.t("achv:moneyAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
moneyAmount: achvs._10K_MONEY.moneyAmount.toLocaleString("en-US"),
|
moneyAmount: achvs._10K_MONEY.moneyAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "100K_MONEY":
|
case "100KMoney":
|
||||||
return i18next.t("achv:MoneyAchv.description", {
|
return i18next.t("achv:moneyAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
moneyAmount: achvs._100K_MONEY.moneyAmount.toLocaleString("en-US"),
|
moneyAmount: achvs._100K_MONEY.moneyAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "1M_MONEY":
|
case "1MMoney":
|
||||||
return i18next.t("achv:MoneyAchv.description", {
|
return i18next.t("achv:moneyAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
moneyAmount: achvs._1M_MONEY.moneyAmount.toLocaleString("en-US"),
|
moneyAmount: achvs._1M_MONEY.moneyAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "10M_MONEY":
|
case "10MMoney":
|
||||||
return i18next.t("achv:MoneyAchv.description", {
|
return i18next.t("achv:moneyAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
moneyAmount: achvs._10M_MONEY.moneyAmount.toLocaleString("en-US"),
|
moneyAmount: achvs._10M_MONEY.moneyAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "250_DMG":
|
case "250Dmg":
|
||||||
return i18next.t("achv:DamageAchv.description", {
|
return i18next.t("achv:damageAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
damageAmount: achvs._250_DMG.damageAmount.toLocaleString("en-US"),
|
damageAmount: achvs._250_DMG.damageAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "1000_DMG":
|
case "1000Dmg":
|
||||||
return i18next.t("achv:DamageAchv.description", {
|
return i18next.t("achv:damageAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
damageAmount: achvs._1000_DMG.damageAmount.toLocaleString("en-US"),
|
damageAmount: achvs._1000_DMG.damageAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "2500_DMG":
|
case "2500Dmg":
|
||||||
return i18next.t("achv:DamageAchv.description", {
|
return i18next.t("achv:damageAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
damageAmount: achvs._2500_DMG.damageAmount.toLocaleString("en-US"),
|
damageAmount: achvs._2500_DMG.damageAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "10000_DMG":
|
case "10000Dmg":
|
||||||
return i18next.t("achv:DamageAchv.description", {
|
return i18next.t("achv:damageAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
damageAmount: achvs._10000_DMG.damageAmount.toLocaleString("en-US"),
|
damageAmount: achvs._10000_DMG.damageAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "250_HEAL":
|
case "250Heal":
|
||||||
return i18next.t("achv:HealAchv.description", {
|
return i18next.t("achv:healAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
healAmount: achvs._250_HEAL.healAmount.toLocaleString("en-US"),
|
healAmount: achvs._250_HEAL.healAmount.toLocaleString("en-US"),
|
||||||
HP: i18next.t(getShortenedStatKey(Stat.HP)),
|
HP: i18next.t(getShortenedStatKey(Stat.HP)),
|
||||||
});
|
});
|
||||||
case "1000_HEAL":
|
case "1000Heal":
|
||||||
return i18next.t("achv:HealAchv.description", {
|
return i18next.t("achv:healAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
healAmount: achvs._1000_HEAL.healAmount.toLocaleString("en-US"),
|
healAmount: achvs._1000_HEAL.healAmount.toLocaleString("en-US"),
|
||||||
HP: i18next.t(getShortenedStatKey(Stat.HP)),
|
HP: i18next.t(getShortenedStatKey(Stat.HP)),
|
||||||
});
|
});
|
||||||
case "2500_HEAL":
|
case "2500Heal":
|
||||||
return i18next.t("achv:HealAchv.description", {
|
return i18next.t("achv:healAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
healAmount: achvs._2500_HEAL.healAmount.toLocaleString("en-US"),
|
healAmount: achvs._2500_HEAL.healAmount.toLocaleString("en-US"),
|
||||||
HP: i18next.t(getShortenedStatKey(Stat.HP)),
|
HP: i18next.t(getShortenedStatKey(Stat.HP)),
|
||||||
});
|
});
|
||||||
case "10000_HEAL":
|
case "10000Heal":
|
||||||
return i18next.t("achv:HealAchv.description", {
|
return i18next.t("achv:healAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
healAmount: achvs._10000_HEAL.healAmount.toLocaleString("en-US"),
|
healAmount: achvs._10000_HEAL.healAmount.toLocaleString("en-US"),
|
||||||
HP: i18next.t(getShortenedStatKey(Stat.HP)),
|
HP: i18next.t(getShortenedStatKey(Stat.HP)),
|
||||||
});
|
});
|
||||||
case "LV_100":
|
case "lv100":
|
||||||
return i18next.t("achv:LevelAchv.description", {
|
return i18next.t("achv:levelAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
level: achvs.LV_100.level,
|
level: achvs.LV_100.level,
|
||||||
});
|
});
|
||||||
case "LV_250":
|
case "lv250":
|
||||||
return i18next.t("achv:LevelAchv.description", {
|
return i18next.t("achv:levelAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
level: achvs.LV_250.level,
|
level: achvs.LV_250.level,
|
||||||
});
|
});
|
||||||
case "LV_1000":
|
case "lv1000":
|
||||||
return i18next.t("achv:LevelAchv.description", {
|
return i18next.t("achv:levelAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
level: achvs.LV_1000.level,
|
level: achvs.LV_1000.level,
|
||||||
});
|
});
|
||||||
case "10_RIBBONS":
|
case "10Ribbons":
|
||||||
return i18next.t("achv:RibbonAchv.description", {
|
return i18next.t("achv:ribbonAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
ribbonAmount: achvs._10_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
ribbonAmount: achvs._10_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "25_RIBBONS":
|
case "25Ribbons":
|
||||||
return i18next.t("achv:RibbonAchv.description", {
|
return i18next.t("achv:ribbonAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
ribbonAmount: achvs._25_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
ribbonAmount: achvs._25_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "50_RIBBONS":
|
case "50Ribbons":
|
||||||
return i18next.t("achv:RibbonAchv.description", {
|
return i18next.t("achv:ribbonAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
ribbonAmount: achvs._50_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
ribbonAmount: achvs._50_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "75_RIBBONS":
|
case "75Ribbons":
|
||||||
return i18next.t("achv:RibbonAchv.description", {
|
return i18next.t("achv:ribbonAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
ribbonAmount: achvs._75_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
ribbonAmount: achvs._75_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "100_RIBBONS":
|
case "100Ribbons":
|
||||||
return i18next.t("achv:RibbonAchv.description", {
|
return i18next.t("achv:ribbonAchv.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
ribbonAmount: achvs._100_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
ribbonAmount: achvs._100_RIBBONS.ribbonAmount.toLocaleString("en-US"),
|
||||||
});
|
});
|
||||||
case "TRANSFER_MAX_STAT_STAGE":
|
case "transferMaxStatStage":
|
||||||
return i18next.t("achv:TRANSFER_MAX_STAT_STAGE.description", {
|
return i18next.t("achv:transferMaxStatStage.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "MAX_FRIENDSHIP":
|
case "maxFriendship":
|
||||||
return i18next.t("achv:MAX_FRIENDSHIP.description", {
|
return i18next.t("achv:maxFriendship.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "MEGA_EVOLVE":
|
case "megaEvolve":
|
||||||
return i18next.t("achv:MEGA_EVOLVE.description", { context: genderStr });
|
return i18next.t("achv:megaEvolve.description", { context: genderStr });
|
||||||
case "GIGANTAMAX":
|
case "gigantamax":
|
||||||
return i18next.t("achv:GIGANTAMAX.description", { context: genderStr });
|
return i18next.t("achv:gigantamax.description", { context: genderStr });
|
||||||
case "TERASTALLIZE":
|
case "terastallize":
|
||||||
return i18next.t("achv:TERASTALLIZE.description", { context: genderStr });
|
return i18next.t("achv:terastallize.description", { context: genderStr });
|
||||||
case "STELLAR_TERASTALLIZE":
|
case "stellarTerastallize":
|
||||||
return i18next.t("achv:STELLAR_TERASTALLIZE.description", {
|
return i18next.t("achv:stellarTerastallize.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "SPLICE":
|
case "Splice":
|
||||||
return i18next.t("achv:SPLICE.description", { context: genderStr });
|
return i18next.t("achv:Splice.description", { context: genderStr });
|
||||||
case "MINI_BLACK_HOLE":
|
case "miniBlackHole":
|
||||||
return i18next.t("achv:MINI_BLACK_HOLE.description", {
|
return i18next.t("achv:miniBlackHole.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "CATCH_MYTHICAL":
|
case "catchMythical":
|
||||||
return i18next.t("achv:CATCH_MYTHICAL.description", {
|
return i18next.t("achv:catchMythical.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "CATCH_SUB_LEGENDARY":
|
case "catchSubLegendary":
|
||||||
return i18next.t("achv:CATCH_SUB_LEGENDARY.description", {
|
return i18next.t("achv:catchSubLegendary.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "CATCH_LEGENDARY":
|
case "catchLegendary":
|
||||||
return i18next.t("achv:CATCH_LEGENDARY.description", {
|
return i18next.t("achv:catchLegendary.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "SEE_SHINY":
|
case "seeShiny":
|
||||||
return i18next.t("achv:SEE_SHINY.description", { context: genderStr });
|
return i18next.t("achv:seeShiny.description", { context: genderStr });
|
||||||
case "SHINY_PARTY":
|
case "shinyParty":
|
||||||
return i18next.t("achv:SHINY_PARTY.description", { context: genderStr });
|
return i18next.t("achv:shinyParty.description", { context: genderStr });
|
||||||
case "HATCH_MYTHICAL":
|
case "hatchMythical":
|
||||||
return i18next.t("achv:HATCH_MYTHICAL.description", {
|
return i18next.t("achv:hatchMythical.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "HATCH_SUB_LEGENDARY":
|
case "hatchSubLegendary":
|
||||||
return i18next.t("achv:HATCH_SUB_LEGENDARY.description", {
|
return i18next.t("achv:hatchSubLegendary.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "HATCH_LEGENDARY":
|
case "hatchLegendary":
|
||||||
return i18next.t("achv:HATCH_LEGENDARY.description", {
|
return i18next.t("achv:hatchLegendary.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "HATCH_SHINY":
|
case "hatchShiny":
|
||||||
return i18next.t("achv:HATCH_SHINY.description", { context: genderStr });
|
return i18next.t("achv:hatchShiny.description", { context: genderStr });
|
||||||
case "HIDDEN_ABILITY":
|
case "hiddenAbility":
|
||||||
return i18next.t("achv:HIDDEN_ABILITY.description", {
|
return i18next.t("achv:hiddenAbility.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "PERFECT_IVS":
|
case "perfectIvs":
|
||||||
return i18next.t("achv:PERFECT_IVS.description", { context: genderStr });
|
return i18next.t("achv:perfectIvs.description", { context: genderStr });
|
||||||
case "CLASSIC_VICTORY":
|
case "classicVictory":
|
||||||
return i18next.t("achv:CLASSIC_VICTORY.description", {
|
return i18next.t("achv:classicVictory.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "UNEVOLVED_CLASSIC_VICTORY":
|
case "unevolvedClassicVictory":
|
||||||
return i18next.t("achv:UNEVOLVED_CLASSIC_VICTORY.description", {
|
return i18next.t("achv:unevolvedClassicVictory.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "MONO_GEN_ONE":
|
case "monoGenOne":
|
||||||
return i18next.t("achv:MONO_GEN_ONE.description", { context: genderStr });
|
return i18next.t("achv:monoGenOne.description", { context: genderStr });
|
||||||
case "MONO_GEN_TWO":
|
case "monoGenTwo":
|
||||||
return i18next.t("achv:MONO_GEN_TWO.description", { context: genderStr });
|
return i18next.t("achv:monoGenTwo.description", { context: genderStr });
|
||||||
case "MONO_GEN_THREE":
|
case "monoGenThree":
|
||||||
return i18next.t("achv:MONO_GEN_THREE.description", {
|
return i18next.t("achv:monoGenThree.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "MONO_GEN_FOUR":
|
case "monoGenFour":
|
||||||
return i18next.t("achv:MONO_GEN_FOUR.description", {
|
return i18next.t("achv:monoGenFour.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "MONO_GEN_FIVE":
|
case "monoGenFive":
|
||||||
return i18next.t("achv:MONO_GEN_FIVE.description", {
|
return i18next.t("achv:monoGenFive.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "MONO_GEN_SIX":
|
case "monoGenSix":
|
||||||
return i18next.t("achv:MONO_GEN_SIX.description", { context: genderStr });
|
return i18next.t("achv:monoGenSix.description", { context: genderStr });
|
||||||
case "MONO_GEN_SEVEN":
|
case "monoGenSeven":
|
||||||
return i18next.t("achv:MONO_GEN_SEVEN.description", {
|
return i18next.t("achv:monoGenSeven.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "MONO_GEN_EIGHT":
|
case "monoGenEight":
|
||||||
return i18next.t("achv:MONO_GEN_EIGHT.description", {
|
return i18next.t("achv:monoGenEight.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "MONO_GEN_NINE":
|
case "monoGenNine":
|
||||||
return i18next.t("achv:MONO_GEN_NINE.description", {
|
return i18next.t("achv:monoGenNine.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "MONO_NORMAL":
|
case "monoNormal":
|
||||||
case "MONO_FIGHTING":
|
case "monoFighting":
|
||||||
case "MONO_FLYING":
|
case "monoFlying":
|
||||||
case "MONO_POISON":
|
case "monoPoison":
|
||||||
case "MONO_GROUND":
|
case "monoGround":
|
||||||
case "MONO_ROCK":
|
case "monoRock":
|
||||||
case "MONO_BUG":
|
case "monoBug":
|
||||||
case "MONO_GHOST":
|
case "monoGhost":
|
||||||
case "MONO_STEEL":
|
case "monoSteel":
|
||||||
case "MONO_FIRE":
|
case "monoFire":
|
||||||
case "MONO_WATER":
|
case "monoWater":
|
||||||
case "MONO_GRASS":
|
case "monoGrass":
|
||||||
case "MONO_ELECTRIC":
|
case "monoElectric":
|
||||||
case "MONO_PSYCHIC":
|
case "monoPsychic":
|
||||||
case "MONO_ICE":
|
case "monoIce":
|
||||||
case "MONO_DRAGON":
|
case "monoDragon":
|
||||||
case "MONO_DARK":
|
case "monoDark":
|
||||||
case "MONO_FAIRY":
|
case "monoFairy":
|
||||||
return i18next.t("achv:MonoType.description", {
|
return i18next.t("achv:monoType.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
type: i18next.t(`pokemonInfo:Type.${localizationKey.slice(5)}`),
|
// Todo: Remove the `toUpperCase()` again after changing the `pokemonInfo.json` locales
|
||||||
|
type: i18next.t(`pokemonInfo:Type.${localizationKey.slice(4).toUpperCase()}`),
|
||||||
});
|
});
|
||||||
case "FRESH_START":
|
case "freshStart":
|
||||||
return i18next.t("achv:FRESH_START.description", { context: genderStr });
|
return i18next.t("achv:freshStart.description", { context: genderStr });
|
||||||
case "INVERSE_BATTLE":
|
case "inverseBattle":
|
||||||
return i18next.t("achv:INVERSE_BATTLE.description", {
|
return i18next.t("achv:inverseBattle.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
case "FLIP_STATS":
|
case "flipStats":
|
||||||
return i18next.t("achv:FLIP_STATS.description", { context: genderStr });
|
return i18next.t("achv:flipStats.description", { context: genderStr });
|
||||||
case "FLIP_INVERSE":
|
case "flipInverse":
|
||||||
return i18next.t("achv:FLIP_INVERSE.description", { context: genderStr });
|
return i18next.t("achv:flipInverse.description", { context: genderStr });
|
||||||
case "BREEDERS_IN_SPACE":
|
case "breedersInSpace":
|
||||||
return i18next.t("achv:BREEDERS_IN_SPACE.description", {
|
return i18next.t("achv:breedersInSpace.description", {
|
||||||
context: genderStr,
|
context: genderStr,
|
||||||
});
|
});
|
||||||
default:
|
default:
|
||||||
@ -458,84 +459,84 @@ export function getAchievementDescription(localizationKey: string): string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const achvs = {
|
export const achvs = {
|
||||||
_10K_MONEY: new MoneyAchv("10K_MONEY", "", 10000, "nugget", 10),
|
_10K_MONEY: new MoneyAchv("10KMoney", "", 10000, "nugget", 10),
|
||||||
_100K_MONEY: new MoneyAchv("100K_MONEY", "", 100000, "big_nugget", 25).setSecret(true),
|
_100K_MONEY: new MoneyAchv("100KMoney", "", 100000, "big_nugget", 25).setSecret(true),
|
||||||
_1M_MONEY: new MoneyAchv("1M_MONEY", "", 1000000, "relic_gold", 50).setSecret(true),
|
_1M_MONEY: new MoneyAchv("1MMoney", "", 1000000, "relic_gold", 50).setSecret(true),
|
||||||
_10M_MONEY: new MoneyAchv("10M_MONEY", "", 10000000, "coin_case", 100).setSecret(true),
|
_10M_MONEY: new MoneyAchv("10MMoney", "", 10000000, "coin_case", 100).setSecret(true),
|
||||||
_250_DMG: new DamageAchv("250_DMG", "", 250, "lucky_punch", 10),
|
_250_DMG: new DamageAchv("250Dmg", "", 250, "lucky_punch", 10),
|
||||||
_1000_DMG: new DamageAchv("1000_DMG", "", 1000, "lucky_punch_great", 25).setSecret(true),
|
_1000_DMG: new DamageAchv("1000Dmg", "", 1000, "lucky_punch_great", 25).setSecret(true),
|
||||||
_2500_DMG: new DamageAchv("2500_DMG", "", 2500, "lucky_punch_ultra", 50).setSecret(true),
|
_2500_DMG: new DamageAchv("2500Dmg", "", 2500, "lucky_punch_ultra", 50).setSecret(true),
|
||||||
_10000_DMG: new DamageAchv("10000_DMG", "", 10000, "lucky_punch_master", 100).setSecret(true),
|
_10000_DMG: new DamageAchv("10000Dmg", "", 10000, "lucky_punch_master", 100).setSecret(true),
|
||||||
_250_HEAL: new HealAchv("250_HEAL", "", 250, "potion", 10),
|
_250_HEAL: new HealAchv("250Heal", "", 250, "potion", 10),
|
||||||
_1000_HEAL: new HealAchv("1000_HEAL", "", 1000, "super_potion", 25).setSecret(true),
|
_1000_HEAL: new HealAchv("1000Heal", "", 1000, "super_potion", 25).setSecret(true),
|
||||||
_2500_HEAL: new HealAchv("2500_HEAL", "", 2500, "hyper_potion", 50).setSecret(true),
|
_2500_HEAL: new HealAchv("2500Heal", "", 2500, "hyper_potion", 50).setSecret(true),
|
||||||
_10000_HEAL: new HealAchv("10000_HEAL", "", 10000, "max_potion", 100).setSecret(true),
|
_10000_HEAL: new HealAchv("10000Heal", "", 10000, "max_potion", 100).setSecret(true),
|
||||||
LV_100: new LevelAchv("LV_100", "", 100, "rare_candy", 25).setSecret(),
|
LV_100: new LevelAchv("lv100", "", 100, "rare_candy", 25).setSecret(),
|
||||||
LV_250: new LevelAchv("LV_250", "", 250, "rarer_candy", 50).setSecret(true),
|
LV_250: new LevelAchv("lv250", "", 250, "rarer_candy", 50).setSecret(true),
|
||||||
LV_1000: new LevelAchv("LV_1000", "", 1000, "candy_jar", 100).setSecret(true),
|
LV_1000: new LevelAchv("lv1000", "", 1000, "candy_jar", 100).setSecret(true),
|
||||||
_10_RIBBONS: new RibbonAchv("10_RIBBONS", "", 10, "bronze_ribbon", 10),
|
_10_RIBBONS: new RibbonAchv("10Ribbons", "", 10, "bronze_ribbon", 10),
|
||||||
_25_RIBBONS: new RibbonAchv("25_RIBBONS", "", 25, "great_ribbon", 25).setSecret(true),
|
_25_RIBBONS: new RibbonAchv("25Ribbons", "", 25, "great_ribbon", 25).setSecret(true),
|
||||||
_50_RIBBONS: new RibbonAchv("50_RIBBONS", "", 50, "ultra_ribbon", 50).setSecret(true),
|
_50_RIBBONS: new RibbonAchv("50Ribbons", "", 50, "ultra_ribbon", 50).setSecret(true),
|
||||||
_75_RIBBONS: new RibbonAchv("75_RIBBONS", "", 75, "rogue_ribbon", 75).setSecret(true),
|
_75_RIBBONS: new RibbonAchv("75Ribbons", "", 75, "rogue_ribbon", 75).setSecret(true),
|
||||||
_100_RIBBONS: new RibbonAchv("100_RIBBONS", "", 100, "master_ribbon", 100).setSecret(true),
|
_100_RIBBONS: new RibbonAchv("100Ribbons", "", 100, "master_ribbon", 100).setSecret(true),
|
||||||
TRANSFER_MAX_STAT_STAGE: new Achv("TRANSFER_MAX_STAT_STAGE", "", "TRANSFER_MAX_STAT_STAGE.description", "baton", 20),
|
TRANSFER_MAX_STAT_STAGE: new Achv("transferMaxStatStage", "", "transferMaxStatStage.description", "baton", 20),
|
||||||
MAX_FRIENDSHIP: new Achv("MAX_FRIENDSHIP", "", "MAX_FRIENDSHIP.description", "soothe_bell", 25),
|
MAX_FRIENDSHIP: new Achv("maxFriendship", "", "maxFriendship.description", "soothe_bell", 25),
|
||||||
MEGA_EVOLVE: new Achv("MEGA_EVOLVE", "", "MEGA_EVOLVE.description", "mega_bracelet", 50),
|
MEGA_EVOLVE: new Achv("megaEvolve", "", "megaEvolve.description", "mega_bracelet", 50),
|
||||||
GIGANTAMAX: new Achv("GIGANTAMAX", "", "GIGANTAMAX.description", "dynamax_band", 50),
|
GIGANTAMAX: new Achv("gigantamax", "", "gigantamax.description", "dynamax_band", 50),
|
||||||
TERASTALLIZE: new Achv("TERASTALLIZE", "", "TERASTALLIZE.description", "tera_orb", 25),
|
TERASTALLIZE: new Achv("terastallize", "", "terastallize.description", "tera_orb", 25),
|
||||||
STELLAR_TERASTALLIZE: new Achv(
|
STELLAR_TERASTALLIZE: new Achv(
|
||||||
"STELLAR_TERASTALLIZE",
|
"stellarTerastallize",
|
||||||
"",
|
"",
|
||||||
"STELLAR_TERASTALLIZE.description",
|
"stellarTerastallize.description",
|
||||||
"stellar_tera_shard",
|
"stellar_tera_shard",
|
||||||
25,
|
25,
|
||||||
).setSecret(true),
|
).setSecret(true),
|
||||||
SPLICE: new Achv("SPLICE", "", "SPLICE.description", "dna_splicers", 10),
|
SPLICE: new Achv("Splice", "", "Splice.description", "dna_splicers", 10),
|
||||||
MINI_BLACK_HOLE: new ModifierAchv(
|
MINI_BLACK_HOLE: new ModifierAchv(
|
||||||
"MINI_BLACK_HOLE",
|
"miniBlackHole",
|
||||||
"",
|
"",
|
||||||
"MINI_BLACK_HOLE.description",
|
"miniBlackHole.description",
|
||||||
"mini_black_hole",
|
"mini_black_hole",
|
||||||
25,
|
25,
|
||||||
modifier => modifier instanceof TurnHeldItemTransferModifier,
|
modifier => modifier instanceof TurnHeldItemTransferModifier,
|
||||||
).setSecret(),
|
).setSecret(),
|
||||||
CATCH_MYTHICAL: new Achv("CATCH_MYTHICAL", "", "CATCH_MYTHICAL.description", "strange_ball", 50).setSecret(),
|
CATCH_MYTHICAL: new Achv("catchMythical", "", "catchMythical.description", "strange_ball", 50).setSecret(),
|
||||||
CATCH_SUB_LEGENDARY: new Achv("CATCH_SUB_LEGENDARY", "", "CATCH_SUB_LEGENDARY.description", "rb", 75).setSecret(),
|
CATCH_SUB_LEGENDARY: new Achv("catchSubLegendary", "", "catchSubLegendary.description", "rb", 75).setSecret(),
|
||||||
CATCH_LEGENDARY: new Achv("CATCH_LEGENDARY", "", "CATCH_LEGENDARY.description", "mb", 100).setSecret(),
|
CATCH_LEGENDARY: new Achv("catchLegendary", "", "catchLegendary.description", "mb", 100).setSecret(),
|
||||||
SEE_SHINY: new Achv("SEE_SHINY", "", "SEE_SHINY.description", "pb_gold", 75),
|
SEE_SHINY: new Achv("seeShiny", "", "seeShiny.description", "pb_gold", 75),
|
||||||
SHINY_PARTY: new Achv("SHINY_PARTY", "", "SHINY_PARTY.description", "shiny_charm", 100).setSecret(true),
|
SHINY_PARTY: new Achv("shinyParty", "", "shinyParty.description", "shiny_charm", 100).setSecret(true),
|
||||||
HATCH_MYTHICAL: new Achv("HATCH_MYTHICAL", "", "HATCH_MYTHICAL.description", "mystery_egg", 75).setSecret(),
|
HATCH_MYTHICAL: new Achv("hatchMythical", "", "hatchMythical.description", "mystery_egg", 75).setSecret(),
|
||||||
HATCH_SUB_LEGENDARY: new Achv(
|
HATCH_SUB_LEGENDARY: new Achv(
|
||||||
"HATCH_SUB_LEGENDARY",
|
"hatchSubLegendary",
|
||||||
"",
|
"",
|
||||||
"HATCH_SUB_LEGENDARY.description",
|
"hatchSubLegendary.description",
|
||||||
"oval_stone",
|
"oval_stone",
|
||||||
100,
|
100,
|
||||||
).setSecret(),
|
).setSecret(),
|
||||||
HATCH_LEGENDARY: new Achv("HATCH_LEGENDARY", "", "HATCH_LEGENDARY.description", "lucky_egg", 125).setSecret(),
|
HATCH_LEGENDARY: new Achv("hatchLegendary", "", "hatchLegendary.description", "lucky_egg", 125).setSecret(),
|
||||||
HATCH_SHINY: new Achv("HATCH_SHINY", "", "HATCH_SHINY.description", "golden_egg", 100).setSecret(),
|
HATCH_SHINY: new Achv("hatchShiny", "", "hatchShiny.description", "golden_egg", 100).setSecret(),
|
||||||
HIDDEN_ABILITY: new Achv("HIDDEN_ABILITY", "", "HIDDEN_ABILITY.description", "ability_charm", 75),
|
HIDDEN_ABILITY: new Achv("hiddenAbility", "", "hiddenAbility.description", "ability_charm", 75),
|
||||||
PERFECT_IVS: new Achv("PERFECT_IVS", "", "PERFECT_IVS.description", "blunder_policy", 100),
|
PERFECT_IVS: new Achv("perfectIvs", "", "perfectIvs.description", "blunder_policy", 100),
|
||||||
CLASSIC_VICTORY: new Achv(
|
CLASSIC_VICTORY: new Achv(
|
||||||
"CLASSIC_VICTORY",
|
"classicVictory",
|
||||||
"",
|
"",
|
||||||
"CLASSIC_VICTORY.description",
|
"classicVictory.description",
|
||||||
"relic_crown",
|
"relic_crown",
|
||||||
150,
|
150,
|
||||||
_ => globalScene.gameData.gameStats.sessionsWon === 0,
|
_ => globalScene.gameData.gameStats.sessionsWon === 0,
|
||||||
),
|
),
|
||||||
UNEVOLVED_CLASSIC_VICTORY: new Achv(
|
UNEVOLVED_CLASSIC_VICTORY: new Achv(
|
||||||
"UNEVOLVED_CLASSIC_VICTORY",
|
"unevolvedClassicVictory",
|
||||||
"",
|
"",
|
||||||
"UNEVOLVED_CLASSIC_VICTORY.description",
|
"unevolvedClassicVictory.description",
|
||||||
"eviolite",
|
"eviolite",
|
||||||
175,
|
175,
|
||||||
_ => globalScene.getPlayerParty().some(p => p.getSpeciesForm(true).speciesId in pokemonEvolutions),
|
_ => globalScene.getPlayerParty().some(p => p.getSpeciesForm(true).speciesId in pokemonEvolutions),
|
||||||
),
|
),
|
||||||
MONO_GEN_ONE_VICTORY: new ChallengeAchv(
|
MONO_GEN_ONE_VICTORY: new ChallengeAchv(
|
||||||
"MONO_GEN_ONE",
|
"monoGenOne",
|
||||||
"",
|
"",
|
||||||
"MONO_GEN_ONE.description",
|
"monoGenOne.description",
|
||||||
"ribbon_gen1",
|
"ribbon_gen1",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -546,9 +547,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GEN_TWO_VICTORY: new ChallengeAchv(
|
MONO_GEN_TWO_VICTORY: new ChallengeAchv(
|
||||||
"MONO_GEN_TWO",
|
"monoGenTwo",
|
||||||
"",
|
"",
|
||||||
"MONO_GEN_TWO.description",
|
"monoGenTwo.description",
|
||||||
"ribbon_gen2",
|
"ribbon_gen2",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -559,9 +560,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GEN_THREE_VICTORY: new ChallengeAchv(
|
MONO_GEN_THREE_VICTORY: new ChallengeAchv(
|
||||||
"MONO_GEN_THREE",
|
"monoGenThree",
|
||||||
"",
|
"",
|
||||||
"MONO_GEN_THREE.description",
|
"monoGenThree.description",
|
||||||
"ribbon_gen3",
|
"ribbon_gen3",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -572,9 +573,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GEN_FOUR_VICTORY: new ChallengeAchv(
|
MONO_GEN_FOUR_VICTORY: new ChallengeAchv(
|
||||||
"MONO_GEN_FOUR",
|
"monoGenFour",
|
||||||
"",
|
"",
|
||||||
"MONO_GEN_FOUR.description",
|
"monoGenFour.description",
|
||||||
"ribbon_gen4",
|
"ribbon_gen4",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -585,9 +586,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GEN_FIVE_VICTORY: new ChallengeAchv(
|
MONO_GEN_FIVE_VICTORY: new ChallengeAchv(
|
||||||
"MONO_GEN_FIVE",
|
"monoGenFive",
|
||||||
"",
|
"",
|
||||||
"MONO_GEN_FIVE.description",
|
"monoGenFive.description",
|
||||||
"ribbon_gen5",
|
"ribbon_gen5",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -598,9 +599,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GEN_SIX_VICTORY: new ChallengeAchv(
|
MONO_GEN_SIX_VICTORY: new ChallengeAchv(
|
||||||
"MONO_GEN_SIX",
|
"monoGenSix",
|
||||||
"",
|
"",
|
||||||
"MONO_GEN_SIX.description",
|
"monoGenSix.description",
|
||||||
"ribbon_gen6",
|
"ribbon_gen6",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -611,9 +612,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GEN_SEVEN_VICTORY: new ChallengeAchv(
|
MONO_GEN_SEVEN_VICTORY: new ChallengeAchv(
|
||||||
"MONO_GEN_SEVEN",
|
"monoGenSeven",
|
||||||
"",
|
"",
|
||||||
"MONO_GEN_SEVEN.description",
|
"monoGenSeven.description",
|
||||||
"ribbon_gen7",
|
"ribbon_gen7",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -624,9 +625,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GEN_EIGHT_VICTORY: new ChallengeAchv(
|
MONO_GEN_EIGHT_VICTORY: new ChallengeAchv(
|
||||||
"MONO_GEN_EIGHT",
|
"monoGenEight",
|
||||||
"",
|
"",
|
||||||
"MONO_GEN_EIGHT.description",
|
"monoGenEight.description",
|
||||||
"ribbon_gen8",
|
"ribbon_gen8",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -637,9 +638,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GEN_NINE_VICTORY: new ChallengeAchv(
|
MONO_GEN_NINE_VICTORY: new ChallengeAchv(
|
||||||
"MONO_GEN_NINE",
|
"monoGenNine",
|
||||||
"",
|
"",
|
||||||
"MONO_GEN_NINE.description",
|
"monoGenNine.description",
|
||||||
"ribbon_gen9",
|
"ribbon_gen9",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -650,9 +651,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_NORMAL: new ChallengeAchv(
|
MONO_NORMAL: new ChallengeAchv(
|
||||||
"MONO_NORMAL",
|
"monoNormal",
|
||||||
"",
|
"",
|
||||||
"MONO_NORMAL.description",
|
"monoNormal.description",
|
||||||
"silk_scarf",
|
"silk_scarf",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -663,9 +664,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_FIGHTING: new ChallengeAchv(
|
MONO_FIGHTING: new ChallengeAchv(
|
||||||
"MONO_FIGHTING",
|
"monoFighting",
|
||||||
"",
|
"",
|
||||||
"MONO_FIGHTING.description",
|
"monoFighting.description",
|
||||||
"black_belt",
|
"black_belt",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -676,9 +677,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_FLYING: new ChallengeAchv(
|
MONO_FLYING: new ChallengeAchv(
|
||||||
"MONO_FLYING",
|
"monoFlying",
|
||||||
"",
|
"",
|
||||||
"MONO_FLYING.description",
|
"monoFlying.description",
|
||||||
"sharp_beak",
|
"sharp_beak",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -689,9 +690,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_POISON: new ChallengeAchv(
|
MONO_POISON: new ChallengeAchv(
|
||||||
"MONO_POISON",
|
"monoPoison",
|
||||||
"",
|
"",
|
||||||
"MONO_POISON.description",
|
"monoPoison.description",
|
||||||
"poison_barb",
|
"poison_barb",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -702,9 +703,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GROUND: new ChallengeAchv(
|
MONO_GROUND: new ChallengeAchv(
|
||||||
"MONO_GROUND",
|
"monoGround",
|
||||||
"",
|
"",
|
||||||
"MONO_GROUND.description",
|
"monoGround.description",
|
||||||
"soft_sand",
|
"soft_sand",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -715,9 +716,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_ROCK: new ChallengeAchv(
|
MONO_ROCK: new ChallengeAchv(
|
||||||
"MONO_ROCK",
|
"monoRock",
|
||||||
"",
|
"",
|
||||||
"MONO_ROCK.description",
|
"monoRock.description",
|
||||||
"hard_stone",
|
"hard_stone",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -728,9 +729,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_BUG: new ChallengeAchv(
|
MONO_BUG: new ChallengeAchv(
|
||||||
"MONO_BUG",
|
"monoBug",
|
||||||
"",
|
"",
|
||||||
"MONO_BUG.description",
|
"monoBug.description",
|
||||||
"silver_powder",
|
"silver_powder",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -741,9 +742,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GHOST: new ChallengeAchv(
|
MONO_GHOST: new ChallengeAchv(
|
||||||
"MONO_GHOST",
|
"monoGhost",
|
||||||
"",
|
"",
|
||||||
"MONO_GHOST.description",
|
"monoGhost.description",
|
||||||
"spell_tag",
|
"spell_tag",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -754,9 +755,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_STEEL: new ChallengeAchv(
|
MONO_STEEL: new ChallengeAchv(
|
||||||
"MONO_STEEL",
|
"monoSteel",
|
||||||
"",
|
"",
|
||||||
"MONO_STEEL.description",
|
"monoSteel.description",
|
||||||
"metal_coat",
|
"metal_coat",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -767,9 +768,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_FIRE: new ChallengeAchv(
|
MONO_FIRE: new ChallengeAchv(
|
||||||
"MONO_FIRE",
|
"monoFire",
|
||||||
"",
|
"",
|
||||||
"MONO_FIRE.description",
|
"monoFire.description",
|
||||||
"charcoal",
|
"charcoal",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -780,9 +781,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_WATER: new ChallengeAchv(
|
MONO_WATER: new ChallengeAchv(
|
||||||
"MONO_WATER",
|
"monoWater",
|
||||||
"",
|
"",
|
||||||
"MONO_WATER.description",
|
"monoWater.description",
|
||||||
"mystic_water",
|
"mystic_water",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -793,9 +794,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_GRASS: new ChallengeAchv(
|
MONO_GRASS: new ChallengeAchv(
|
||||||
"MONO_GRASS",
|
"monoGrass",
|
||||||
"",
|
"",
|
||||||
"MONO_GRASS.description",
|
"monoGrass.description",
|
||||||
"miracle_seed",
|
"miracle_seed",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -806,9 +807,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_ELECTRIC: new ChallengeAchv(
|
MONO_ELECTRIC: new ChallengeAchv(
|
||||||
"MONO_ELECTRIC",
|
"monoElectric",
|
||||||
"",
|
"",
|
||||||
"MONO_ELECTRIC.description",
|
"monoElectric.description",
|
||||||
"magnet",
|
"magnet",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -819,9 +820,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_PSYCHIC: new ChallengeAchv(
|
MONO_PSYCHIC: new ChallengeAchv(
|
||||||
"MONO_PSYCHIC",
|
"monoPsychic",
|
||||||
"",
|
"",
|
||||||
"MONO_PSYCHIC.description",
|
"monoPsychic.description",
|
||||||
"twisted_spoon",
|
"twisted_spoon",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -832,9 +833,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_ICE: new ChallengeAchv(
|
MONO_ICE: new ChallengeAchv(
|
||||||
"MONO_ICE",
|
"monoIce",
|
||||||
"",
|
"",
|
||||||
"MONO_ICE.description",
|
"monoIce.description",
|
||||||
"never_melt_ice",
|
"never_melt_ice",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -845,9 +846,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_DRAGON: new ChallengeAchv(
|
MONO_DRAGON: new ChallengeAchv(
|
||||||
"MONO_DRAGON",
|
"monoDragon",
|
||||||
"",
|
"",
|
||||||
"MONO_DRAGON.description",
|
"monoDragon.description",
|
||||||
"dragon_fang",
|
"dragon_fang",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -858,9 +859,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_DARK: new ChallengeAchv(
|
MONO_DARK: new ChallengeAchv(
|
||||||
"MONO_DARK",
|
"monoDark",
|
||||||
"",
|
"",
|
||||||
"MONO_DARK.description",
|
"monoDark.description",
|
||||||
"black_glasses",
|
"black_glasses",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -871,9 +872,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
MONO_FAIRY: new ChallengeAchv(
|
MONO_FAIRY: new ChallengeAchv(
|
||||||
"MONO_FAIRY",
|
"monoFairy",
|
||||||
"",
|
"",
|
||||||
"MONO_FAIRY.description",
|
"monoFairy.description",
|
||||||
"fairy_feather",
|
"fairy_feather",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -884,9 +885,9 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
FRESH_START: new ChallengeAchv(
|
FRESH_START: new ChallengeAchv(
|
||||||
"FRESH_START",
|
"freshStart",
|
||||||
"",
|
"",
|
||||||
"FRESH_START.description",
|
"freshStart.description",
|
||||||
"reviver_seed",
|
"reviver_seed",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -897,25 +898,25 @@ export const achvs = {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
INVERSE_BATTLE: new ChallengeAchv(
|
INVERSE_BATTLE: new ChallengeAchv(
|
||||||
"INVERSE_BATTLE",
|
"inverseBattle",
|
||||||
"",
|
"",
|
||||||
"INVERSE_BATTLE.description",
|
"inverseBattle.description",
|
||||||
"inverse",
|
"inverse",
|
||||||
100,
|
100,
|
||||||
c => c instanceof InverseBattleChallenge && c.value > 0,
|
c => c instanceof InverseBattleChallenge && c.value > 0,
|
||||||
),
|
),
|
||||||
FLIP_STATS: new ChallengeAchv(
|
FLIP_STATS: new ChallengeAchv(
|
||||||
"FLIP_STATS",
|
"flipStats",
|
||||||
"",
|
"",
|
||||||
"FLIP_STATS.description",
|
"flipStats.description",
|
||||||
"dubious_disc",
|
"dubious_disc",
|
||||||
100,
|
100,
|
||||||
c => c instanceof FlipStatChallenge && c.value > 0,
|
c => c instanceof FlipStatChallenge && c.value > 0,
|
||||||
),
|
),
|
||||||
FLIP_INVERSE: new ChallengeAchv(
|
FLIP_INVERSE: new ChallengeAchv(
|
||||||
"FLIP_INVERSE",
|
"flipInverse",
|
||||||
"",
|
"",
|
||||||
"FLIP_INVERSE.description",
|
"flipInverse.description",
|
||||||
"cracked_pot",
|
"cracked_pot",
|
||||||
100,
|
100,
|
||||||
c =>
|
c =>
|
||||||
@ -924,8 +925,8 @@ export const achvs = {
|
|||||||
globalScene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0),
|
globalScene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0),
|
||||||
).setSecret(),
|
).setSecret(),
|
||||||
// TODO: Decide on icon
|
// TODO: Decide on icon
|
||||||
NUZLOCKE: new ChallengeAchv("NUZLOCKE", "", "NUZLOCKE.description", "leaf_stone", 100, isNuzlockeChallenge),
|
NUZLOCKE: new ChallengeAchv("nuzlocke", "", "nuzlocke.description", "leaf_stone", 100, isNuzlockeChallenge),
|
||||||
BREEDERS_IN_SPACE: new Achv("BREEDERS_IN_SPACE", "", "BREEDERS_IN_SPACE.description", "moon_stone", 50).setSecret(),
|
BREEDERS_IN_SPACE: new Achv("breedersInSpace", "", "breedersInSpace.description", "moon_stone", 50).setSecret(),
|
||||||
};
|
};
|
||||||
|
|
||||||
export function initAchievements() {
|
export function initAchievements() {
|
||||||
|
@ -96,7 +96,7 @@ export class AchvsUiHandler extends MessageUiHandler {
|
|||||||
const genderIndex = globalScene.gameData.gender ?? PlayerGender.MALE;
|
const genderIndex = globalScene.gameData.gender ?? PlayerGender.MALE;
|
||||||
const genderStr = PlayerGender[genderIndex].toLowerCase();
|
const genderStr = PlayerGender[genderIndex].toLowerCase();
|
||||||
|
|
||||||
this.achvsName = i18next.t("achv:Achievements.name", { context: genderStr });
|
this.achvsName = i18next.t("achv:achievements.name", { context: genderStr });
|
||||||
this.vouchersName = i18next.t("voucher:vouchers");
|
this.vouchersName = i18next.t("voucher:vouchers");
|
||||||
|
|
||||||
this.iconsBg = addWindow(0, this.headerBg.height, WIDTH - 2, HEIGHT - this.headerBg.height - 68).setOrigin(0);
|
this.iconsBg = addWindow(0, this.headerBg.height, WIDTH - 2, HEIGHT - this.headerBg.height - 68).setOrigin(0);
|
||||||
@ -214,7 +214,7 @@ export class AchvsUiHandler extends MessageUiHandler {
|
|||||||
this.showText(!hidden ? achv.description : "");
|
this.showText(!hidden ? achv.description : "");
|
||||||
this.scoreText.setText(`${achv.score}pt`);
|
this.scoreText.setText(`${achv.score}pt`);
|
||||||
this.unlockText.setText(
|
this.unlockText.setText(
|
||||||
unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : i18next.t("achv:Locked.name"),
|
unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : i18next.t("achv:locked.name"),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { globalScene } from "#app/global-scene";
|
import { globalScene } from "#app/global-scene";
|
||||||
import { TextStyle } from "#enums/text-style";
|
import { TextStyle } from "#enums/text-style";
|
||||||
import { addTextObject } from "#ui/text";
|
import { addTextObject } from "#ui/text";
|
||||||
import { toTitleCase } from "#utils/strings";
|
import { toCamelCase, toTitleCase } from "#utils/strings";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
|
|
||||||
const hiddenX = -150;
|
const hiddenX = -150;
|
||||||
@ -100,7 +100,7 @@ export class BgmBar extends Phaser.GameObjects.Container {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getRealBgmName(bgmName: string): string {
|
getRealBgmName(bgmName: string): string {
|
||||||
return i18next.t([`bgmName:${bgmName}`, "bgmName:missing_entries"], {
|
return i18next.t([`bgmName:${toCamelCase(bgmName)}`, "bgmName:missingEntries"], {
|
||||||
name: toTitleCase(bgmName),
|
name: toTitleCase(bgmName),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ import { addWindow, WindowVariant } from "#ui/ui-theme";
|
|||||||
import { fixedInt, isLocal, sessionIdKey } from "#utils/common";
|
import { fixedInt, isLocal, sessionIdKey } from "#utils/common";
|
||||||
import { getCookie } from "#utils/cookies";
|
import { getCookie } from "#utils/cookies";
|
||||||
import { getEnumValues } from "#utils/enums";
|
import { getEnumValues } from "#utils/enums";
|
||||||
|
import { toCamelCase } from "#utils/strings";
|
||||||
import { isBeta } from "#utils/utility-vars";
|
import { isBeta } from "#utils/utility-vars";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
|
|
||||||
@ -138,7 +139,7 @@ export class MenuUiHandler extends MessageUiHandler {
|
|||||||
this.optionSelectText = addTextObject(
|
this.optionSelectText = addTextObject(
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
this.menuOptions.map(o => `${i18next.t(`menuUiHandler:${MenuOptions[o]}`)}`).join("\n"),
|
this.menuOptions.map(o => `${i18next.t(`menuUiHandler:${toCamelCase(MenuOptions[o])}`)}`).join("\n"),
|
||||||
TextStyle.WINDOW,
|
TextStyle.WINDOW,
|
||||||
{ maxLines: this.menuOptions.length },
|
{ maxLines: this.menuOptions.length },
|
||||||
);
|
);
|
||||||
|
@ -473,7 +473,7 @@ export class MysteryEncounterUiHandler extends UiHandler {
|
|||||||
const viewPartyText = addBBCodeTextObject(
|
const viewPartyText = addBBCodeTextObject(
|
||||||
globalScene.scaledCanvas.width,
|
globalScene.scaledCanvas.width,
|
||||||
-24,
|
-24,
|
||||||
getBBCodeFrag(i18next.t("mysteryEncounterMessages:view_party_button"), TextStyle.PARTY),
|
getBBCodeFrag(i18next.t("mysteryEncounterMessages:viewPartyButton"), TextStyle.PARTY),
|
||||||
TextStyle.PARTY,
|
TextStyle.PARTY,
|
||||||
);
|
);
|
||||||
this.optionsContainer.add(viewPartyText);
|
this.optionsContainer.add(viewPartyText);
|
||||||
@ -694,7 +694,7 @@ export class MysteryEncounterUiHandler extends UiHandler {
|
|||||||
duration: 750,
|
duration: 750,
|
||||||
onComplete: () => {
|
onComplete: () => {
|
||||||
this.dexProgressContainer.on("pointerover", () => {
|
this.dexProgressContainer.on("pointerover", () => {
|
||||||
globalScene.ui.showTooltip("", i18next.t("mysteryEncounterMessages:affects_pokedex"), true);
|
globalScene.ui.showTooltip("", i18next.t("mysteryEncounterMessages:affectsPokedex"), true);
|
||||||
});
|
});
|
||||||
this.dexProgressContainer.on("pointerout", () => {
|
this.dexProgressContainer.on("pointerout", () => {
|
||||||
globalScene.ui.hideTooltip();
|
globalScene.ui.hideTooltip();
|
||||||
|
@ -2142,7 +2142,12 @@ class PartyCancelButton extends Phaser.GameObjects.Container {
|
|||||||
|
|
||||||
this.partyCancelPb = partyCancelPb;
|
this.partyCancelPb = partyCancelPb;
|
||||||
|
|
||||||
const partyCancelText = addTextObject(-10, -7, i18next.t("partyUiHandler:cancel"), TextStyle.PARTY_CANCEL_BUTTON);
|
const partyCancelText = addTextObject(
|
||||||
|
-10,
|
||||||
|
-7,
|
||||||
|
i18next.t("partyUiHandler:cancelButton"),
|
||||||
|
TextStyle.PARTY_CANCEL_BUTTON,
|
||||||
|
);
|
||||||
this.add(partyCancelText);
|
this.add(partyCancelText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ import { addWindow } from "#ui/ui-theme";
|
|||||||
import { BooleanHolder, getLocalizedSpriteKey, isNullOrUndefined, padInt, rgbHexToRgba } from "#utils/common";
|
import { BooleanHolder, getLocalizedSpriteKey, isNullOrUndefined, padInt, rgbHexToRgba } from "#utils/common";
|
||||||
import { getEnumValues } from "#utils/enums";
|
import { getEnumValues } from "#utils/enums";
|
||||||
import { getPokemonSpecies, getPokemonSpeciesForm } from "#utils/pokemon-utils";
|
import { getPokemonSpecies, getPokemonSpeciesForm } from "#utils/pokemon-utils";
|
||||||
import { toTitleCase } from "#utils/strings";
|
import { toCamelCase, toTitleCase } from "#utils/strings";
|
||||||
import { argbFromRgba } from "@material/material-color-utilities";
|
import { argbFromRgba } from "@material/material-color-utilities";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import type BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText";
|
import type BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText";
|
||||||
@ -1517,13 +1517,13 @@ export class PokedexPageUiHandler extends MessageUiHandler {
|
|||||||
this.biomes.map(b => {
|
this.biomes.map(b => {
|
||||||
options.push({
|
options.push({
|
||||||
label:
|
label:
|
||||||
i18next.t(`biome:${BiomeId[b.biome].toUpperCase()}`) +
|
i18next.t(`biome:${toCamelCase(BiomeId[b.biome])}`) +
|
||||||
" - " +
|
" - " +
|
||||||
i18next.t(`biome:${BiomePoolTier[b.tier].toUpperCase()}`) +
|
i18next.t(`biome:${toCamelCase(BiomePoolTier[b.tier])}`) +
|
||||||
(b.tod.length === 1 && b.tod[0] === -1
|
(b.tod.length === 1 && b.tod[0] === -1
|
||||||
? ""
|
? ""
|
||||||
: " (" +
|
: " (" +
|
||||||
b.tod.map(tod => i18next.t(`biome:${TimeOfDay[tod].toUpperCase()}`)).join(", ") +
|
b.tod.map(tod => i18next.t(`biome:${toCamelCase(TimeOfDay[tod])}`)).join(", ") +
|
||||||
")"),
|
")"),
|
||||||
handler: () => false,
|
handler: () => false,
|
||||||
});
|
});
|
||||||
@ -1538,13 +1538,13 @@ export class PokedexPageUiHandler extends MessageUiHandler {
|
|||||||
this.preBiomes.map(b => {
|
this.preBiomes.map(b => {
|
||||||
options.push({
|
options.push({
|
||||||
label:
|
label:
|
||||||
i18next.t(`biome:${BiomeId[b.biome].toUpperCase()}`) +
|
i18next.t(`biome:${toCamelCase(BiomeId[b.biome])}`) +
|
||||||
" - " +
|
" - " +
|
||||||
i18next.t(`biome:${BiomePoolTier[b.tier].toUpperCase()}`) +
|
i18next.t(`biome:${toCamelCase(BiomePoolTier[b.tier])}`) +
|
||||||
(b.tod.length === 1 && b.tod[0] === -1
|
(b.tod.length === 1 && b.tod[0] === -1
|
||||||
? ""
|
? ""
|
||||||
: " (" +
|
: " (" +
|
||||||
b.tod.map(tod => i18next.t(`biome:${TimeOfDay[tod].toUpperCase()}`)).join(", ") +
|
b.tod.map(tod => i18next.t(`biome:${toCamelCase(TimeOfDay[tod])}`)).join(", ") +
|
||||||
")"),
|
")"),
|
||||||
handler: () => false,
|
handler: () => false,
|
||||||
});
|
});
|
||||||
@ -2612,7 +2612,7 @@ export class PokedexPageUiHandler extends MessageUiHandler {
|
|||||||
// Setting growth rate text
|
// Setting growth rate text
|
||||||
if (isFormCaught) {
|
if (isFormCaught) {
|
||||||
let growthReadable = toTitleCase(GrowthRate[species.growthRate]);
|
let growthReadable = toTitleCase(GrowthRate[species.growthRate]);
|
||||||
const growthAux = growthReadable.replace(" ", "_");
|
const growthAux = toCamelCase(growthReadable);
|
||||||
if (i18next.exists("growth:" + growthAux)) {
|
if (i18next.exists("growth:" + growthAux)) {
|
||||||
growthReadable = i18next.t(("growth:" + growthAux) as any);
|
growthReadable = i18next.t(("growth:" + growthAux) as any);
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,7 @@ import { BooleanHolder, fixedInt, getLocalizedSpriteKey, padInt, randIntRange, r
|
|||||||
import type { StarterPreferences } from "#utils/data";
|
import type { StarterPreferences } from "#utils/data";
|
||||||
import { loadStarterPreferences } from "#utils/data";
|
import { loadStarterPreferences } from "#utils/data";
|
||||||
import { getPokemonSpeciesForm, getPokerusStarters } from "#utils/pokemon-utils";
|
import { getPokemonSpeciesForm, getPokerusStarters } from "#utils/pokemon-utils";
|
||||||
|
import { toCamelCase } from "#utils/strings";
|
||||||
import { argbFromRgba } from "@material/material-color-utilities";
|
import { argbFromRgba } from "@material/material-color-utilities";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
|
|
||||||
@ -324,7 +325,7 @@ export class PokedexUiHandler extends MessageUiHandler {
|
|||||||
.filter(value => typeof value === "number") // Filter numeric values from the enum
|
.filter(value => typeof value === "number") // Filter numeric values from the enum
|
||||||
.map(
|
.map(
|
||||||
(biomeValue, index) =>
|
(biomeValue, index) =>
|
||||||
new DropDownOption(index, new DropDownLabel(i18next.t(`biome:${BiomeId[biomeValue].toUpperCase()}`))),
|
new DropDownOption(index, new DropDownLabel(i18next.t(`biome:${toCamelCase(BiomeId[biomeValue])}`))),
|
||||||
);
|
);
|
||||||
biomeOptions.push(new DropDownOption(biomeOptions.length, new DropDownLabel(i18next.t("filterBar:uncatchable"))));
|
biomeOptions.push(new DropDownOption(biomeOptions.length, new DropDownLabel(i18next.t("filterBar:uncatchable"))));
|
||||||
const biomeDropDown: DropDown = new DropDown(0, 0, biomeOptions, this.updateStarters, DropDownType.HYBRID);
|
const biomeDropDown: DropDown = new DropDown(0, 0, biomeOptions, this.updateStarters, DropDownType.HYBRID);
|
||||||
|
@ -73,7 +73,7 @@ import {
|
|||||||
import type { StarterPreferences } from "#utils/data";
|
import type { StarterPreferences } from "#utils/data";
|
||||||
import { loadStarterPreferences, saveStarterPreferences } from "#utils/data";
|
import { loadStarterPreferences, saveStarterPreferences } from "#utils/data";
|
||||||
import { getPokemonSpeciesForm, getPokerusStarters } from "#utils/pokemon-utils";
|
import { getPokemonSpeciesForm, getPokerusStarters } from "#utils/pokemon-utils";
|
||||||
import { toTitleCase } from "#utils/strings";
|
import { toCamelCase, toTitleCase } from "#utils/strings";
|
||||||
import { argbFromRgba } from "@material/material-color-utilities";
|
import { argbFromRgba } from "@material/material-color-utilities";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import type { GameObjects } from "phaser";
|
import type { GameObjects } from "phaser";
|
||||||
@ -2264,7 +2264,7 @@ export class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
options.push({
|
options.push({
|
||||||
label: i18next.t("menuUiHandler:POKEDEX"),
|
label: i18next.t("menuUiHandler:pokedex"),
|
||||||
handler: () => {
|
handler: () => {
|
||||||
ui.setMode(UiMode.STARTER_SELECT).then(() => {
|
ui.setMode(UiMode.STARTER_SELECT).then(() => {
|
||||||
const attributes = {
|
const attributes = {
|
||||||
@ -3470,7 +3470,7 @@ export class StarterSelectUiHandler extends MessageUiHandler {
|
|||||||
|
|
||||||
//Growth translate
|
//Growth translate
|
||||||
let growthReadable = toTitleCase(GrowthRate[species.growthRate]);
|
let growthReadable = toTitleCase(GrowthRate[species.growthRate]);
|
||||||
const growthAux = growthReadable.replace(" ", "_");
|
const growthAux = toCamelCase(growthReadable);
|
||||||
if (i18next.exists("growth:" + growthAux)) {
|
if (i18next.exists("growth:" + growthAux)) {
|
||||||
growthReadable = i18next.t(("growth:" + growthAux) as any);
|
growthReadable = i18next.t(("growth:" + growthAux) as any);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user