From 335b70676de7dd048c05c753de0f039822bfab99 Mon Sep 17 00:00:00 2001 From: flx-sta <50131232+flx-sta@users.noreply.github.com> Date: Thu, 19 Sep 2024 14:34:24 -0700 Subject: [PATCH] fix: loading mystery-encounter translations with lazy-load --- .../encounters/a-trainers-test-encounter.ts | 32 ++++----- .../encounters/absolute-avarice-encounter.ts | 32 ++++----- .../an-offer-you-cant-refuse-encounter.ts | 40 +++++------ .../encounters/berries-abound-encounter.ts | 38 +++++----- .../encounters/bug-type-superfan-encounter.ts | 72 +++++++++---------- .../encounters/clowning-around-encounter.ts | 60 ++++++++-------- .../encounters/dancing-lessons-encounter.ts | 36 +++++----- .../encounters/dark-deal-encounter.ts | 34 ++++----- .../encounters/delibirdy-encounter.ts | 38 +++++----- .../department-store-sale-encounter.ts | 32 ++++----- .../encounters/field-trip-encounter.ts | 54 +++++++------- .../encounters/fiery-fallout-encounter.ts | 34 ++++----- .../encounters/fight-or-flight-encounter.ts | 32 ++++----- .../encounters/fun-and-games-encounter.ts | 42 +++++------ .../global-trade-system-encounter.ts | 44 ++++++------ .../encounters/lost-at-sea-encounter.ts | 38 +++++----- .../mysterious-challengers-encounter.ts | 30 ++++---- .../encounters/mysterious-chest-encounter.ts | 32 ++++----- .../encounters/part-timer-encounter.ts | 58 +++++++-------- .../encounters/safari-zone-encounter.ts | 56 +++++++-------- .../shady-vitamin-dealer-encounter.ts | 42 +++++------ .../slumbering-snorlax-encounter.ts | 32 ++++----- .../teleporting-hijinks-encounter.ts | 36 +++++----- .../the-pokemon-salesman-encounter.ts | 32 ++++----- .../encounters/the-strong-stuff-encounter.ts | 28 ++++---- .../the-winstrate-challenge-encounter.ts | 34 ++++----- .../encounters/training-session-encounter.ts | 50 ++++++------- .../encounters/trash-to-treasure-encounter.ts | 24 +++---- .../encounters/uncommon-breed-encounter.ts | 34 ++++----- .../encounters/weird-dream-encounter.ts | 30 ++++---- src/plugins/i18n.ts | 11 ++- 31 files changed, 592 insertions(+), 595 deletions(-) diff --git a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts index f7666fa1b37..26d6a8b35bb 100644 --- a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts +++ b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts @@ -17,7 +17,7 @@ import { ModifierTier } from "#app/modifier/modifier-tier"; import { modifierTypes } from "#app/modifier/modifier-type"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:aTrainersTest"; +const namespace = "mysteryEncounters/aTrainersTest"; /** * A Trainer's Test encounter. @@ -31,7 +31,7 @@ export const ATrainersTestEncounter: MysteryEncounter = .withIntroSpriteConfigs([]) // These are set in onInit() .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) .withAutoHideIntroVisuals(false) @@ -75,24 +75,24 @@ export const ATrainersTestEncounter: MysteryEncounter = encounter.dialogue.intro = [ { speaker: `trainerNames:${trainerNameKey}`, - text: `${namespace}.${trainerNameKey}.intro_dialogue` + text: `${namespace}:${trainerNameKey}.intro_dialogue` } ]; encounter.options[0].dialogue!.selected = [ { speaker: `trainerNames:${trainerNameKey}`, - text: `${namespace}.${trainerNameKey}.accept` + text: `${namespace}:${trainerNameKey}.accept` } ]; encounter.options[1].dialogue!.selected = [ { speaker: `trainerNames:${trainerNameKey}`, - text: `${namespace}.${trainerNameKey}.decline` + text: `${namespace}:${trainerNameKey}.decline` } ]; encounter.setDialogueToken("statTrainerName", i18next.t(`trainerNames:${trainerNameKey}`)); - const eggDescription = i18next.t(`${namespace}.title`) + ":\n" + i18next.t(`trainerNames:${trainerNameKey}`); + const eggDescription = i18next.t(`${namespace}:title`) + ":\n" + i18next.t(`trainerNames:${trainerNameKey}`); encounter.misc = { trainerType, trainerNameKey, trainerEggDescription: eggDescription }; // Trainer config @@ -127,14 +127,14 @@ export const ATrainersTestEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withIntroDialogue() .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip` + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip` }, async (scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -150,15 +150,15 @@ export const ATrainersTestEncounter: MysteryEncounter = eggDescriptor: encounter.misc.trainerEggDescription, tier: EggTier.ULTRA }; - encounter.setDialogueToken("eggType", i18next.t(`${namespace}.eggTypes.epic`)); + encounter.setDialogueToken("eggType", i18next.t(`${namespace}:eggTypes.epic`)); setEncounterRewards(scene, { guaranteedModifierTypeFuncs: [modifierTypes.SACRED_ASH], guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ULTRA], fillRemaining: true }, [eggOptions]); return initBattleWithEnemyConfig(scene, config); } ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip` + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip` }, async (scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -172,14 +172,14 @@ export const ATrainersTestEncounter: MysteryEncounter = eggDescriptor: encounter.misc.trainerEggDescription, tier: EggTier.GREAT }; - encounter.setDialogueToken("eggType", i18next.t(`${namespace}.eggTypes.rare`)); + encounter.setDialogueToken("eggType", i18next.t(`${namespace}:eggTypes.rare`)); setEncounterRewards(scene, { fillRemaining: false, rerollMultiplier: -1 }, [eggOptions]); leaveEncounterWithoutBattle(scene); } ) .withOutroDialogue([ { - text: `${namespace}.outro` + text: `${namespace}:outro` } ]) .build(); diff --git a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts index 18f998192ce..68253e261e6 100644 --- a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts +++ b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts @@ -26,7 +26,7 @@ import { Stat } from "#enums/stat"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for this encounter */ -const namespace = "mysteryEncounter:absoluteAvarice"; +const namespace = "mysteryEncounters/absoluteAvarice"; /** * Absolute Avarice encounter. @@ -167,12 +167,12 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = }) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, } ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -218,7 +218,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = modifierConfigs: bossModifierConfigs, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(pokemon.scene, `${namespace}.option.1.boss_enraged`); + queueEncounterMessage(pokemon.scene, `${namespace}:option.1.boss_enraged`); pokemon.scene.unshiftPhase(new StatStageChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD], 1)); } } @@ -234,11 +234,11 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }) @@ -259,7 +259,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = scene.addModifier(seedModifier, false, false, false, true); } }); - queueEncounterMessage(scene, `${namespace}.option.1.food_stash`); + queueEncounterMessage(scene, `${namespace}:option.1.food_stash`); }; setEncounterRewards(scene, { fillRemaining: true }, undefined, givePartyPokemonReviverSeeds); @@ -279,11 +279,11 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }) @@ -321,11 +321,11 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, ], }) diff --git a/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts b/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts index eb43424a8ff..a956d2a47dc 100644 --- a/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts +++ b/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts @@ -15,7 +15,7 @@ import { ModifierRewardPhase } from "#app/phases/modifier-reward-phase"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for this encounter */ -const namespace = "mysteryEncounter:offerYouCantRefuse"; +const namespace = "mysteryEncounters/offerYouCantRefuse"; /** * An Offer You Can't Refuse encounter. @@ -48,16 +48,16 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - text: `${namespace}.intro_dialogue`, - speaker: `${namespace}.speaker`, + text: `${namespace}:intro_dialogue`, + speaker: `${namespace}:speaker`, }, ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; const pokemon = getHighestStatTotalPlayerPokemon(scene, false); @@ -92,12 +92,12 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, - speaker: `${namespace}.speaker`, + text: `${namespace}:option.1.selected`, + speaker: `${namespace}:speaker`, }, ], }) @@ -123,13 +123,13 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = new AbilityRequirement(EXTORTION_ABILITIES)) ) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, - disabledButtonTooltip: `${namespace}.option.2.tooltip_disabled`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, + disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`, selected: [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.2.selected`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.2.selected`, }, ], }) @@ -147,12 +147,12 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, selected: [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.3.selected`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.3.selected`, }, ], }, diff --git a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts index d1497c54527..5d9a0e9421b 100644 --- a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts +++ b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts @@ -33,7 +33,7 @@ import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:berriesAbound"; +const namespace = "mysteryEncounters/berriesAbound"; /** * Berries Abound encounter. @@ -49,7 +49,7 @@ export const BerriesAboundEncounter: MysteryEncounter = .withIntroSpriteConfigs([]) // Set in onInit() .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) .withOnInit((scene: BattleScene) => { @@ -109,16 +109,16 @@ export const BerriesAboundEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }, @@ -128,7 +128,7 @@ export const BerriesAboundEncounter: MysteryEncounter = const numBerries = encounter.misc.numBerries; const doBerryRewards = async () => { - const berryText = numBerries + " " + i18next.t(`${namespace}.berries`); + const berryText = numBerries + " " + i18next.t(`${namespace}:berries`); scene.playSound("item_fanfare"); queueEncounterMessage(scene, i18next.t("battle:rewardGain", { modifierName: berryText })); @@ -156,8 +156,8 @@ export const BerriesAboundEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip` + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip` }) .withOptionPhase(async (scene: BattleScene) => { // Pick race for berries @@ -179,7 +179,7 @@ export const BerriesAboundEncounter: MysteryEncounter = if (speedDiff < 1) { // Caught and attacked by boss, gets +1 to all stats at start of fight const doBerryRewards = async () => { - const berryText = numBerries + " " + i18next.t(`${namespace}.berries`); + const berryText = numBerries + " " + i18next.t(`${namespace}:berries`); scene.playSound("item_fanfare"); queueEncounterMessage(scene, i18next.t("battle:rewardGain", { modifierName: berryText })); @@ -193,11 +193,11 @@ export const BerriesAboundEncounter: MysteryEncounter = const config = scene.currentBattle.mysteryEncounter!.enemyPartyConfigs[0]; config.pokemonConfigs![0].tags = [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON]; config.pokemonConfigs![0].mysteryEncounterBattleEffects = (pokemon: Pokemon) => { - queueEncounterMessage(pokemon.scene, `${namespace}.option.2.boss_enraged`); + queueEncounterMessage(pokemon.scene, `${namespace}:option.2.boss_enraged`); pokemon.scene.unshiftPhase(new StatStageChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD], 1)); }; setEncounterRewards(scene, { guaranteedModifierTypeOptions: shopOptions, fillRemaining: false }, undefined, doBerryRewards); - await showEncounterText(scene, `${namespace}.option.2.selected_bad`); + await showEncounterText(scene, `${namespace}:option.2.selected_bad`); await initBattleWithEnemyConfig(scene, config); return; } else { @@ -205,7 +205,7 @@ export const BerriesAboundEncounter: MysteryEncounter = const numBerriesGrabbed = Math.max(Math.min(Math.round((speedDiff - 1)/0.08), numBerries), 2); encounter.setDialogueToken("numBerries", String(numBerriesGrabbed)); const doFasterBerryRewards = async () => { - const berryText = numBerriesGrabbed + " " + i18next.t(`${namespace}.berries`); + const berryText = numBerriesGrabbed + " " + i18next.t(`${namespace}:berries`); scene.playSound("item_fanfare"); queueEncounterMessage(scene, i18next.t("battle:rewardGain", { modifierName: berryText })); @@ -218,7 +218,7 @@ export const BerriesAboundEncounter: MysteryEncounter = setEncounterExp(scene, fastestPokemon.id, encounter.enemyPartyConfigs[0].pokemonConfigs![0].species.baseExp); setEncounterRewards(scene, { guaranteedModifierTypeOptions: shopOptions, fillRemaining: false }, undefined, doFasterBerryRewards); - await showEncounterText(scene, `${namespace}.option.2.selected`); + await showEncounterText(scene, `${namespace}:option.2.selected`); leaveEncounterWithoutBattle(scene); } }) @@ -226,11 +226,11 @@ export const BerriesAboundEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, ], }, diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index d79ac087725..ed4e65fc9dc 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -52,7 +52,7 @@ import { ModifierTier } from "#app/modifier/modifier-tier"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:bugTypeSuperfan"; +const namespace = "mysteryEncounters/bugTypeSuperfan"; const POOL_1_POKEMON = [ Species.PARASECT, @@ -198,11 +198,11 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = .withAutoHideIntroVisuals(false) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - speaker: `${namespace}.speaker`, - text: `${namespace}.intro_dialogue`, + speaker: `${namespace}:speaker`, + text: `${namespace}:intro_dialogue`, }, ]) .withOnInit((scene: BattleScene) => { @@ -236,17 +236,17 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.1.selected`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.1.selected`, }, ], }, @@ -277,9 +277,9 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withPrimaryPokemonRequirement(new TypeRequirement(Type.BUG, false, 1)) // Must have 1 Bug type on team .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, - disabledButtonTooltip: `${namespace}.option.2.disabled_tooltip` + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip` }) .withPreOptionPhase(async (scene: BattleScene) => { // Player shows off their bug types @@ -287,31 +287,31 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = // Player gets different rewards depending on the number of bug types they have const numBugTypes = scene.getParty().filter(p => p.isOfType(Type.BUG, true)).length; - const numBugTypesText = i18next.t(`${namespace}.numBugTypes`, { count: numBugTypes }); + const numBugTypesText = i18next.t(`${namespace}:numBugTypes`, { count: numBugTypes }); encounter.setDialogueToken("numBugTypes", numBugTypesText); if (numBugTypes < 2) { setEncounterRewards(scene, { guaranteedModifierTypeFuncs: [modifierTypes.SUPER_LURE, modifierTypes.GREAT_BALL], fillRemaining: false }); encounter.selectedOption!.dialogue!.selected = [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.2.selected_0_to_1`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.2.selected_0_to_1`, }, ]; } else if (numBugTypes < 4) { setEncounterRewards(scene, { guaranteedModifierTypeFuncs: [modifierTypes.QUICK_CLAW, modifierTypes.MAX_LURE, modifierTypes.ULTRA_BALL], fillRemaining: false }); encounter.selectedOption!.dialogue!.selected = [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.2.selected_2_to_3`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.2.selected_2_to_3`, }, ]; } else if (numBugTypes < 6) { setEncounterRewards(scene, { guaranteedModifierTypeFuncs: [modifierTypes.GRIP_CLAW, modifierTypes.MAX_LURE, modifierTypes.ROGUE_BALL], fillRemaining: false }); encounter.selectedOption!.dialogue!.selected = [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.2.selected_4_to_5`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.2.selected_4_to_5`, }, ]; } else { @@ -338,8 +338,8 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = setEncounterRewards(scene, { guaranteedModifierTypeOptions: modifierOptions, fillRemaining: false }); encounter.selectedOption!.dialogue!.selected = [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.2.selected_6`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.2.selected_6`, }, ]; } @@ -357,19 +357,19 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = new AttackTypeBoosterHeldItemTypeRequirement(Type.BUG, 1) )) .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - disabledButtonTooltip: `${namespace}.option.3.disabled_tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.3.selected_dialogue`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.3.selected_dialogue`, }, ], - secondOptionPrompt: `${namespace}.option.3.select_prompt`, + secondOptionPrompt: `${namespace}:option.3.select_prompt`, }) .withPreOptionPhase(async (scene: BattleScene): Promise => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -407,7 +407,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = (item instanceof AttackTypeBoosterModifier && (item.type as AttackTypeBoosterModifierType).moveType === Type.BUG); }); if (!hasValidItem) { - return getEncounterText(scene, `${namespace}.option.3.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:option.3.invalid_selection`) ?? null; } return null; @@ -435,7 +435,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = .build()) .withOutroDialogue([ { - text: `${namespace}.outro`, + text: `${namespace}:outro`, }, ]) .build(); @@ -597,7 +597,7 @@ function getRandomPartyMemberFunc(speciesPool: Species[], trainerSlot: TrainerSl function doBugTypeMoveTutor(scene: BattleScene): Promise { return new Promise(async resolve => { const moveOptions = scene.currentBattle.mysteryEncounter!.misc.moveTutorOptions; - await showEncounterDialogue(scene, `${namespace}.battle_won`, `${namespace}.speaker`); + await showEncounterDialogue(scene, `${namespace}:battle_won`, `${namespace}:speaker`); const overlayScale = 1; const moveInfoOverlay = new MoveInfoOverlay(scene, { @@ -632,7 +632,7 @@ function doBugTypeMoveTutor(scene: BattleScene): Promise { moveInfoOverlay.setVisible(false); }; - const result = await selectOptionThenPokemon(scene, optionSelectItems, `${namespace}.teach_move_prompt`, undefined, onHoverOverCancel); + const result = await selectOptionThenPokemon(scene, optionSelectItems, `${namespace}:teach_move_prompt`, undefined, onHoverOverCancel); // let forceExit = !!result; if (!result) { moveInfoOverlay.active = false; @@ -642,7 +642,7 @@ function doBugTypeMoveTutor(scene: BattleScene): Promise { // TODO: add menu to confirm player doesn't want to teach a move // while (!result && !forceExit) { // // Didn't teach a move, ask the player to confirm they don't want to teach a move - // await showEncounterDialogue(scene, `${namespace}.confirm_no_teach`, `${namespace}.speaker`); + // await showEncounterDialogue(scene, `${namespace}:confirm_no_teach`, `${namespace}:speaker`); // const confirm = await new Promise(confirmResolve => { // scene.ui.setMode(Mode.CONFIRM, () => confirmResolve(true), () => confirmResolve(false)); // }); @@ -653,7 +653,7 @@ function doBugTypeMoveTutor(scene: BattleScene): Promise { // forceExit = true; // } else { // // Re-show learn menu - // result = await selectOptionThenPokemon(scene, optionSelectItems, `${namespace}.teach_move_prompt`, undefined, onHoverOverCancel); + // result = await selectOptionThenPokemon(scene, optionSelectItems, `${namespace}:teach_move_prompt`, undefined, onHoverOverCancel); // if (!result) { // moveInfoOverlay.active = false; // moveInfoOverlay.setVisible(false); diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index d930e43c45f..d25f8caf28a 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -33,7 +33,7 @@ import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES, GameModes } from "#app/game-mode" import { EncounterAnim } from "#enums/encounter-anims"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:clowningAround"; +const namespace = "mysteryEncounters/clowningAround"; const RANDOM_ABILITY_POOL = [ Abilities.STURDY, @@ -97,11 +97,11 @@ export const ClowningAroundEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - text: `${namespace}.intro_dialogue`, - speaker: `${namespace}.speaker` + text: `${namespace}:intro_dialogue`, + speaker: `${namespace}:speaker` }, ]) .withOnInit((scene: BattleScene) => { @@ -147,19 +147,19 @@ export const ClowningAroundEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOption( MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, - speaker: `${namespace}.speaker` + text: `${namespace}:option.1.selected`, + speaker: `${namespace}:speaker` }, ], }) @@ -198,7 +198,7 @@ export const ClowningAroundEncounter: MysteryEncounter = // After the battle, offer the player the opportunity to permanently swap ability const abilityWasSwapped = await handleSwapAbility(scene); if (abilityWasSwapped) { - await showEncounterText(scene, `${namespace}.option.1.ability_gained`); + await showEncounterText(scene, `${namespace}:option.1.ability_gained`); } // Play animations once ability swap is complete @@ -221,19 +221,19 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, - speaker: `${namespace}.speaker` + text: `${namespace}:option.2.selected`, + speaker: `${namespace}:speaker` }, { - text: `${namespace}.option.2.selected_2`, + text: `${namespace}:option.2.selected_2`, }, { - text: `${namespace}.option.2.selected_3`, - speaker: `${namespace}.speaker` + text: `${namespace}:option.2.selected_3`, + speaker: `${namespace}:speaker` }, ], }) @@ -307,19 +307,19 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, - speaker: `${namespace}.speaker` + text: `${namespace}:option.3.selected`, + speaker: `${namespace}:speaker` }, { - text: `${namespace}.option.3.selected_2`, + text: `${namespace}:option.3.selected_2`, }, { - text: `${namespace}.option.3.selected_3`, - speaker: `${namespace}.speaker` + text: `${namespace}:option.3.selected_3`, + speaker: `${namespace}:speaker` }, ], }) @@ -368,15 +368,15 @@ export const ClowningAroundEncounter: MysteryEncounter = ) .withOutroDialogue([ { - text: `${namespace}.outro`, + text: `${namespace}:outro`, }, ]) .build(); async function handleSwapAbility(scene: BattleScene) { return new Promise(async resolve => { - await showEncounterDialogue(scene, `${namespace}.option.1.apply_ability_dialogue`, `${namespace}.speaker`); - await showEncounterText(scene, `${namespace}.option.1.apply_ability_message`); + await showEncounterDialogue(scene, `${namespace}:option.1.apply_ability_dialogue`, `${namespace}:speaker`); + await showEncounterText(scene, `${namespace}:option.1.apply_ability_message`); scene.ui.setMode(Mode.MESSAGE).then(() => { displayYesNoOptions(scene, resolve); @@ -385,7 +385,7 @@ async function handleSwapAbility(scene: BattleScene) { } function displayYesNoOptions(scene: BattleScene, resolve) { - showEncounterText(scene, `${namespace}.option.1.ability_prompt`, null, 500, false); + showEncounterText(scene, `${namespace}:option.1.ability_prompt`, null, 500, false); const fullOptions = [ { label: i18next.t("menu:yes"), diff --git a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts index bd308a5919b..84427c00a9c 100644 --- a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts +++ b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts @@ -29,7 +29,7 @@ import { EncounterAnim } from "#enums/encounter-anims"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for this encounter */ -const namespace = "mysteryEncounter:dancingLessons"; +const namespace = "mysteryEncounters/dancingLessons"; // Fire form const BAILE_STYLE_BIOMES = [ @@ -97,12 +97,12 @@ export const DancingLessonsEncounter: MysteryEncounter = }) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, } ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -153,7 +153,7 @@ export const DancingLessonsEncounter: MysteryEncounter = // Gets +1 to all stats except SPD on battle start tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(pokemon.scene, `${namespace}.option.1.boss_enraged`); + queueEncounterMessage(pokemon.scene, `${namespace}:option.1.boss_enraged`); pokemon.scene.unshiftPhase(new StatStageChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF], 1)); } }], @@ -171,11 +171,11 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }) @@ -200,11 +200,11 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }) @@ -235,13 +235,13 @@ export const DancingLessonsEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_SPECIAL) .withPrimaryPokemonRequirement(new MoveRequirement(DANCING_MOVES)) // Will set option3PrimaryName and option3PrimaryMove dialogue tokens automatically .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - disabledButtonTooltip: `${namespace}.option.3.disabled_tooltip`, - secondOptionPrompt: `${namespace}.option.3.select_prompt`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + secondOptionPrompt: `${namespace}:option.3.select_prompt`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, ], }) @@ -273,7 +273,7 @@ export const DancingLessonsEncounter: MysteryEncounter = // If pokemon meets primary pokemon reqs, it can be selected const meetsReqs = encounter.options[2].pokemonMeetsPrimaryRequirements(scene, pokemon); if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; diff --git a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts index 09b058ab7c9..a975d06bc11 100644 --- a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts +++ b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts @@ -16,7 +16,7 @@ import { PokemonFormChangeItemModifier, PokemonHeldItemModifier } from "#app/mod import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** i18n namespace for encounter */ -const namespace = "mysteryEncounter:darkDeal"; +const namespace = "mysteryEncounters/darkDeal"; /** Exclude Ultra Beasts (inludes Cosmog/Solgaleo/Lunala/Necrozma), Paradox (includes Miraidon/Koraidon), Eternatus, and Mythicals */ const excludedBosses = [ @@ -107,32 +107,32 @@ export const DarkDealEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - speaker: `${namespace}.speaker`, - text: `${namespace}.intro_dialogue`, + speaker: `${namespace}:speaker`, + text: `${namespace}:intro_dialogue`, }, ]) .withSceneWaveRangeRequirement(30, CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES[1]) .withScenePartySizeRequirement(2, 6) // Must have at least 2 pokemon in party .withCatchAllowed(true) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOption( MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.1.selected_dialogue`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.1.selected_dialogue`, }, { - text: `${namespace}.option.1.selected_message`, + text: `${namespace}:option.1.selected_message`, }, ], }) @@ -187,12 +187,12 @@ export const DarkDealEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.2.selected`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.2.selected`, }, ], }, @@ -204,7 +204,7 @@ export const DarkDealEncounter: MysteryEncounter = ) .withOutroDialogue([ { - text: `${namespace}.outro` + text: `${namespace}:outro` } ]) .build(); diff --git a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts index 25959abe19e..743021eb633 100644 --- a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts +++ b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts @@ -19,7 +19,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for this encounter */ -const namespace = "mysteryEncounter:delibirdy"; +const namespace = "mysteryEncounters/delibirdy"; /** Berries only */ const OPTION_2_ALLOWED_MODIFIERS = ["BerryModifier", "PokemonInstantReviveModifier"]; @@ -81,15 +81,15 @@ export const DelibirdyEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, } ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOutroDialogue([ { - text: `${namespace}.outro`, + text: `${namespace}:outro`, } ]) .withOnInit((scene: BattleScene) => { @@ -108,11 +108,11 @@ export const DelibirdyEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withSceneMoneyRequirement(0, DELIBIRDY_MONEY_PRICE_MULTIPLIER) // Must have money to spawn .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }) @@ -145,12 +145,12 @@ export const DelibirdyEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withPrimaryPokemonRequirement(new HeldItemRequirement(OPTION_2_ALLOWED_MODIFIERS)) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, - secondOptionPrompt: `${namespace}.option.2.select_prompt`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, + secondOptionPrompt: `${namespace}:option.2.select_prompt`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }) @@ -184,7 +184,7 @@ export const DelibirdyEncounter: MysteryEncounter = // If pokemon meets primary pokemon reqs, it can be selected const meetsReqs = encounter.options[1].pokemonMeetsPrimaryRequirements(scene, pokemon); if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; @@ -240,12 +240,12 @@ export const DelibirdyEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withPrimaryPokemonRequirement(new HeldItemRequirement(OPTION_3_DISALLOWED_MODIFIERS, 1, true)) .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - secondOptionPrompt: `${namespace}.option.3.select_prompt`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + secondOptionPrompt: `${namespace}:option.3.select_prompt`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, ], }) @@ -279,7 +279,7 @@ export const DelibirdyEncounter: MysteryEncounter = // If pokemon meets primary pokemon reqs, it can be selected const meetsReqs = encounter.options[2].pokemonMeetsPrimaryRequirements(scene, pokemon); if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; diff --git a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts index 104b46bce8a..da781d9cab4 100644 --- a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts +++ b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts @@ -14,7 +14,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** i18n namespace for encounter */ -const namespace = "mysteryEncounter:departmentStoreSale"; +const namespace = "mysteryEncounters/departmentStoreSale"; /** * Department Store Sale encounter. @@ -43,21 +43,21 @@ export const DepartmentStoreSaleEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - text: `${namespace}.intro_dialogue`, - speaker: `${namespace}.speaker`, + text: `${namespace}:intro_dialogue`, + speaker: `${namespace}:speaker`, }, ]) .withAutoHideIntroVisuals(false) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, }, async (scene: BattleScene) => { // Choose TMs @@ -82,8 +82,8 @@ export const DepartmentStoreSaleEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, }, async (scene: BattleScene) => { // Choose Vitamins @@ -106,8 +106,8 @@ export const DepartmentStoreSaleEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, }, async (scene: BattleScene) => { // Choose X Items @@ -130,8 +130,8 @@ export const DepartmentStoreSaleEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.4.label`, - buttonTooltip: `${namespace}.option.4.tooltip`, + buttonLabel: `${namespace}:option.4.label`, + buttonTooltip: `${namespace}:option.4.tooltip`, }, async (scene: BattleScene) => { // Choose Pokeballs @@ -158,7 +158,7 @@ export const DepartmentStoreSaleEncounter: MysteryEncounter = ) .withOutroDialogue([ { - text: `${namespace}.outro`, + text: `${namespace}:outro`, } ]) .build(); diff --git a/src/data/mystery-encounters/encounters/field-trip-encounter.ts b/src/data/mystery-encounters/encounters/field-trip-encounter.ts index d03a3c1fcca..e0ba0007062 100644 --- a/src/data/mystery-encounters/encounters/field-trip-encounter.ts +++ b/src/data/mystery-encounters/encounters/field-trip-encounter.ts @@ -14,7 +14,7 @@ import i18next from "i18next"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** i18n namespace for the encounter */ -const namespace = "mysteryEncounter:fieldTrip"; +const namespace = "mysteryEncounters/fieldTrip"; /** * Field Trip encounter. @@ -44,24 +44,24 @@ export const FieldTripEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - text: `${namespace}.intro_dialogue`, - speaker: `${namespace}.speaker`, + text: `${namespace}:intro_dialogue`, + speaker: `${namespace}:speaker`, }, ]) .withAutoHideIntroVisuals(false) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOption( MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, - secondOptionPrompt: `${namespace}.second_option_prompt`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, + secondOptionPrompt: `${namespace}:second_option_prompt`, }) .withPreOptionPhase(async (scene: BattleScene): Promise => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -72,7 +72,7 @@ export const FieldTripEncounter: MysteryEncounter = label: move.getName(), handler: () => { // Pokemon and move selected - encounter.setDialogueToken("moveCategory", i18next.t(`${namespace}.physical`)); + encounter.setDialogueToken("moveCategory", i18next.t(`${namespace}:physical`)); pokemonAndMoveChosen(scene, pokemon, move, MoveCategory.PHYSICAL); return true; }, @@ -105,9 +105,9 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, - secondOptionPrompt: `${namespace}.second_option_prompt`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, + secondOptionPrompt: `${namespace}:second_option_prompt`, }) .withPreOptionPhase(async (scene: BattleScene): Promise => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -118,7 +118,7 @@ export const FieldTripEncounter: MysteryEncounter = label: move.getName(), handler: () => { // Pokemon and move selected - encounter.setDialogueToken("moveCategory", i18next.t(`${namespace}.special`)); + encounter.setDialogueToken("moveCategory", i18next.t(`${namespace}:special`)); pokemonAndMoveChosen(scene, pokemon, move, MoveCategory.SPECIAL); return true; }, @@ -151,9 +151,9 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - secondOptionPrompt: `${namespace}.second_option_prompt`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + secondOptionPrompt: `${namespace}:second_option_prompt`, }) .withPreOptionPhase(async (scene: BattleScene): Promise => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -164,7 +164,7 @@ export const FieldTripEncounter: MysteryEncounter = label: move.getName(), handler: () => { // Pokemon and move selected - encounter.setDialogueToken("moveCategory", i18next.t(`${namespace}.status`)); + encounter.setDialogueToken("moveCategory", i18next.t(`${namespace}:status`)); pokemonAndMoveChosen(scene, pokemon, move, MoveCategory.STATUS); return true; }, @@ -203,28 +203,28 @@ function pokemonAndMoveChosen(scene: BattleScene, pokemon: PlayerPokemon, move: if (!correctMove) { encounter.selectedOption!.dialogue!.selected = [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, { - text: `${namespace}.incorrect`, - speaker: `${namespace}.speaker`, + text: `${namespace}:incorrect`, + speaker: `${namespace}:speaker`, }, { - text: `${namespace}.incorrect_exp`, + text: `${namespace}:incorrect_exp`, }, ]; setEncounterExp(scene, scene.getParty().map((p) => p.id), 50); } else { encounter.selectedOption!.dialogue!.selected = [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, { - text: `${namespace}.correct`, - speaker: `${namespace}.speaker`, + text: `${namespace}:correct`, + speaker: `${namespace}:speaker`, }, { - text: `${namespace}.correct_exp`, + text: `${namespace}:correct_exp`, }, ]; setEncounterExp(scene, [pokemon.id], 100); diff --git a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts index 470c4b96c82..e7be3aed2e3 100644 --- a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts +++ b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts @@ -24,7 +24,7 @@ import { EncounterAnim } from "#enums/encounter-anims"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:fieryFallout"; +const namespace = "mysteryEncounters/fieryFallout"; /** * Damage percentage taken when suffering the heat. @@ -48,7 +48,7 @@ export const FieryFalloutEncounter: MysteryEncounter = .withAutoHideIntroVisuals(false) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) .withOnInit((scene: BattleScene) => { @@ -121,16 +121,16 @@ export const FieryFalloutEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }, @@ -169,11 +169,11 @@ export const FieryFalloutEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }, @@ -196,7 +196,7 @@ export const FieryFalloutEncounter: MysteryEncounter = if (chosenPokemon.trySetStatus(StatusEffect.BURN)) { // Burn applied encounter.setDialogueToken("burnedPokemon", chosenPokemon.getNameToRender()); - queueEncounterMessage(scene, `${namespace}.option.2.target_burned`); + queueEncounterMessage(scene, `${namespace}:option.2.target_burned`); } } @@ -210,12 +210,12 @@ export const FieryFalloutEncounter: MysteryEncounter = .withPrimaryPokemonRequirement(new TypeRequirement(Type.FIRE, true, 1)) // Will set option3PrimaryName dialogue token automatically .withSecondaryPokemonRequirement(new TypeRequirement(Type.FIRE, true, 1)) // Will set option3SecondaryName dialogue token automatically .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - disabledButtonTooltip: `${namespace}.option.3.disabled_tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, ], }) @@ -250,6 +250,6 @@ function giveLeadPokemonCharcoal(scene: BattleScene) { const charcoal = generateModifierType(scene, modifierTypes.ATTACK_TYPE_BOOSTER, [Type.FIRE]) as AttackTypeBoosterModifierType; applyModifierTypeToPlayerPokemon(scene, leadPokemon, charcoal); scene.currentBattle.mysteryEncounter!.setDialogueToken("leadPokemon", leadPokemon.getNameToRender()); - queueEncounterMessage(scene, `${namespace}.found_charcoal`); + queueEncounterMessage(scene, `${namespace}:found_charcoal`); } } diff --git a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts index aa11a07f218..96e14664650 100644 --- a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts +++ b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts @@ -31,7 +31,7 @@ import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:fightOrFlight"; +const namespace = "mysteryEncounters/fightOrFlight"; /** * Fight or Flight encounter. @@ -47,7 +47,7 @@ export const FightOrFlightEncounter: MysteryEncounter = .withIntroSpriteConfigs([]) // Set in onInit() .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) .withOnInit((scene: BattleScene) => { @@ -66,7 +66,7 @@ export const FightOrFlightEncounter: MysteryEncounter = isBoss: true, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(pokemon.scene, `${namespace}.option.1.stat_boost`); + queueEncounterMessage(pokemon.scene, `${namespace}:option.1.stat_boost`); // Randomly boost 1 stat 2 stages pokemon.scene.unshiftPhase(new StatStageChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [randSeedInt(4, 1)], 2)); } @@ -118,16 +118,16 @@ export const FightOrFlightEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }, @@ -144,12 +144,12 @@ export const FightOrFlightEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_SPECIAL) .withPrimaryPokemonRequirement(new MoveRequirement(STEALING_MOVES)) // Will set option2PrimaryName and option2PrimaryMove dialogue tokens automatically .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, - disabledButtonTooltip: `${namespace}.option.2.disabled_tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, selected: [ { - text: `${namespace}.option.2.selected` + text: `${namespace}:option.2.selected` } ] }) @@ -168,11 +168,11 @@ export const FightOrFlightEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, ], }, diff --git a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts index 9ca7c7c2865..4b9fb33a5ab 100644 --- a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts +++ b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts @@ -24,7 +24,7 @@ import { Nature } from "#enums/nature"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:funAndGames"; +const namespace = "mysteryEncounters/funAndGames"; /** * Fun and Games! encounter. @@ -70,13 +70,13 @@ export const FunAndGamesEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - speaker: `${namespace}.speaker`, - text: `${namespace}.intro_dialogue`, + speaker: `${namespace}:speaker`, + text: `${namespace}:intro_dialogue`, }, ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; scene.loadBgm("mystery_encounter_fun_and_games", "mystery_encounter_fun_and_games.mp3"); @@ -91,11 +91,11 @@ export const FunAndGamesEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withSceneRequirement(new MoneyRequirement(0, 1.5)) // Cost equal to 1 Max Potion .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }) @@ -112,7 +112,7 @@ export const FunAndGamesEncounter: MysteryEncounter = const selectableFilter = (pokemon: Pokemon) => { const meetsReqs = pokemon.isAllowedInBattle(); if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; @@ -144,11 +144,11 @@ export const FunAndGamesEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }, @@ -234,7 +234,7 @@ function handleLoseMinigame(scene: BattleScene) { scene.currentBattle.enemyParty = []; scene.currentBattle.mysteryEncounter!.doContinueEncounter = undefined; leaveEncounterWithoutBattle(scene, true); - await showEncounterText(scene, `${namespace}.ko`); + await showEncounterText(scene, `${namespace}:ko`); const reviveCost = scene.getWaveMoneyAmount(1.5); updatePlayerMoney(scene, -reviveCost, true, false); } @@ -260,19 +260,19 @@ function handleNextTurn(scene: BattleScene) { if (healthRatio < 0.03) { // Grand prize setEncounterRewards(scene, { guaranteedModifierTypeFuncs: [modifierTypes.MULTI_LENS], fillRemaining: false }); - resultMessageKey = `${namespace}.best_result`; + resultMessageKey = `${namespace}:best_result`; } else if (healthRatio < 0.15) { // 2nd prize setEncounterRewards(scene, { guaranteedModifierTypeFuncs: [modifierTypes.SCOPE_LENS], fillRemaining: false }); - resultMessageKey = `${namespace}.great_result`; + resultMessageKey = `${namespace}:great_result`; } else if (healthRatio < 0.33) { // 3rd prize setEncounterRewards(scene, { guaranteedModifierTypeFuncs: [modifierTypes.WIDE_LENS], fillRemaining: false }); - resultMessageKey = `${namespace}.good_result`; + resultMessageKey = `${namespace}:good_result`; } else { // No prize isHealPhase = true; - resultMessageKey = `${namespace}.bad_result`; + resultMessageKey = `${namespace}:bad_result`; } // End the battle @@ -282,7 +282,7 @@ function handleNextTurn(scene: BattleScene) { scene.currentBattle.mysteryEncounter!.doContinueEncounter = undefined; leaveEncounterWithoutBattle(scene, isHealPhase); // Must end the TurnInit phase prematurely so battle phases aren't added to queue - queueEncounterMessage(scene, `${namespace}.end_game`); + queueEncounterMessage(scene, `${namespace}:end_game`); queueEncounterMessage(scene, resultMessageKey); // Skip remainder of TurnInitPhase @@ -290,9 +290,9 @@ function handleNextTurn(scene: BattleScene) { } else { if (encounter.misc.turnsRemaining < 3) { // Display charging messages on turns that aren't the initial turn - queueEncounterMessage(scene, `${namespace}.charging_continue`); + queueEncounterMessage(scene, `${namespace}:charging_continue`); } - queueEncounterMessage(scene, `${namespace}.turn_remaining_${encounter.misc.turnsRemaining}`); + queueEncounterMessage(scene, `${namespace}:turn_remaining_${encounter.misc.turnsRemaining}`); encounter.misc.turnsRemaining--; } diff --git a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts index 55d4953d438..5311c9c4023 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -26,7 +26,7 @@ import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { addPokemonDataToDexAndValidateAchievements } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:globalTradeSystem"; +const namespace = "mysteryEncounters/globalTradeSystem"; const LEGENDARY_TRADE_POOLS = { 1: [Species.RATTATA, Species.PIDGEY, Species.WEEDLE], @@ -87,12 +87,12 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, } ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -127,9 +127,9 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withHasDexProgress(true) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, - secondOptionPrompt: `${namespace}.option.1.trade_options_prompt`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, + secondOptionPrompt: `${namespace}:option.1.trade_options_prompt`, }) .withPreOptionPhase(async (scene: BattleScene): Promise => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -195,7 +195,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = // Show the trade animation await showTradeBackground(scene); await doPokemonTradeSequence(scene, tradedPokemon, newPlayerPokemon); - await showEncounterText(scene, `${namespace}.trade_received`, null, 0, true, 4000); + await showEncounterText(scene, `${namespace}:trade_received`, null, 0, true, 4000); scene.playBgm(encounter.misc.bgmKey); await addPokemonDataToDexAndValidateAchievements(scene, newPlayerPokemon); await hideTradeBackground(scene); @@ -210,8 +210,8 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withHasDexProgress(true) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, }) .withPreOptionPhase(async (scene: BattleScene): Promise => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -277,7 +277,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = // Show the trade animation await showTradeBackground(scene); await doPokemonTradeSequence(scene, tradedPokemon, newPlayerPokemon); - await showEncounterText(scene, `${namespace}.trade_received`, null, 0, true, 4000); + await showEncounterText(scene, `${namespace}:trade_received`, null, 0, true, 4000); scene.playBgm(encounter.misc.bgmKey); await addPokemonDataToDexAndValidateAchievements(scene, newPlayerPokemon); await hideTradeBackground(scene); @@ -291,9 +291,9 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - secondOptionPrompt: `${namespace}.option.3.trade_options_prompt`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + secondOptionPrompt: `${namespace}:option.3.trade_options_prompt`, }) .withPreOptionPhase(async (scene: BattleScene): Promise => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -324,7 +324,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = return it.isTransferable; }).length > 0; if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.option.3.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:option.3.invalid_selection`) ?? null; } return null; @@ -372,18 +372,18 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = // Generate a trainer name const traderName = generateRandomTraderName(); encounter.setDialogueToken("tradeTrainerName", traderName.trim()); - await showEncounterText(scene, `${namespace}.item_trade_selected`); + await showEncounterText(scene, `${namespace}:item_trade_selected`); leaveEncounterWithoutBattle(scene); }) .build() ) .withSimpleOption( { - buttonLabel: `${namespace}.option.4.label`, - buttonTooltip: `${namespace}.option.4.tooltip`, + buttonLabel: `${namespace}:option.4.label`, + buttonTooltip: `${namespace}:option.4.tooltip`, selected: [ { - text: `${namespace}.option.4.selected`, + text: `${namespace}:option.4.selected`, }, ], }, @@ -598,10 +598,10 @@ function doPokemonTradeSequence(scene: BattleScene, tradedPokemon: PlayerPokemon duration: 500, onComplete: async () => { scene.fadeOutBgm(1000, false); - await showEncounterText(scene, `${namespace}.pokemon_trade_selected`); + await showEncounterText(scene, `${namespace}:pokemon_trade_selected`); tradedPokemon.cry(); scene.playBgm("evolution"); - await showEncounterText(scene, `${namespace}.pokemon_trade_goodbye`); + await showEncounterText(scene, `${namespace}:pokemon_trade_goodbye`); tradedPokeball.setAlpha(0); tradedPokeball.setVisible(true); diff --git a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts index 509ffb11b26..7853ef19129 100644 --- a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts +++ b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts @@ -21,7 +21,7 @@ const OPTION_2_REQUIRED_MOVE = Moves.FLY; */ const DAMAGE_PERCENTAGE: number = 25; /** The i18n namespace for the encounter */ -const namespace = "mysteryEncounter:lostAtSea"; +const namespace = "mysteryEncounters/lostAtSea"; /** * Lost at sea encounter. @@ -40,7 +40,7 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with y: 3, }, ]) - .withIntroDialogue([{ text: `${namespace}.intro` }]) + .withIntroDialogue([{ text: `${namespace}:intro` }]) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -50,22 +50,22 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOption( // Option 1: Use a (non fainted) pokemon that can learn Surf to guide you back/ MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withPokemonCanLearnMoveRequirement(OPTION_1_REQUIRED_MOVE) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - disabledButtonLabel: `${namespace}.option.1.label_disabled`, - buttonTooltip: `${namespace}.option.1.tooltip`, - disabledButtonTooltip: `${namespace}.option.1.tooltip_disabled`, + buttonLabel: `${namespace}:option.1.label`, + disabledButtonLabel: `${namespace}:option.1.label_disabled`, + buttonTooltip: `${namespace}:option.1.tooltip`, + disabledButtonTooltip: `${namespace}:option.1.tooltip_disabled`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }) @@ -78,13 +78,13 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withPokemonCanLearnMoveRequirement(OPTION_2_REQUIRED_MOVE) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - disabledButtonLabel: `${namespace}.option.2.label_disabled`, - buttonTooltip: `${namespace}.option.2.tooltip`, - disabledButtonTooltip: `${namespace}.option.2.tooltip_disabled`, + buttonLabel: `${namespace}:option.2.label`, + disabledButtonLabel: `${namespace}:option.2.label_disabled`, + buttonTooltip: `${namespace}:option.2.tooltip`, + disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }) @@ -94,11 +94,11 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with .withSimpleOption( // Option 3: Wander aimlessly { - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, ], }, @@ -118,7 +118,7 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with ) .withOutroDialogue([ { - text: `${namespace}.outro`, + text: `${namespace}:outro`, }, ]) .build(); diff --git a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts index ac257a8975f..af01ecbb97c 100644 --- a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts @@ -20,7 +20,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:mysteriousChallengers"; +const namespace = "mysteryEncounters/mysteriousChallengers"; /** * Mysterious Challengers encounter. @@ -34,7 +34,7 @@ export const MysteriousChallengersEncounter: MysteryEncounter = .withIntroSpriteConfigs([]) // These are set in onInit() .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) .withOnInit((scene: BattleScene) => { @@ -125,16 +125,16 @@ export const MysteriousChallengersEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, ], }, @@ -155,11 +155,11 @@ export const MysteriousChallengersEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, ], }, @@ -180,11 +180,11 @@ export const MysteriousChallengersEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, selected: [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, ], }, @@ -208,7 +208,7 @@ export const MysteriousChallengersEncounter: MysteryEncounter = ) .withOutroDialogue([ { - text: `${namespace}.outro`, + text: `${namespace}:outro`, }, ]) .build(); diff --git a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts index 18b2db53ba2..418e9ba4b90 100644 --- a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts @@ -16,7 +16,7 @@ import { GameOverPhase } from "#app/phases/game-over-phase"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** i18n namespace for encounter */ -const namespace = "mysteryEncounter:mysteriousChest"; +const namespace = "mysteryEncounters/mysteriousChest"; const RAND_LENGTH = 100; const COMMON_REWARDS_WEIGHT = 20; // 20% @@ -57,12 +57,12 @@ export const MysteriousChestEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, } ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -90,11 +90,11 @@ export const MysteriousChestEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }) @@ -135,7 +135,7 @@ export const MysteriousChestEncounter: MysteryEncounter = ], }); // Display result message then proceed to rewards - queueEncounterMessage(scene, `${namespace}.option.1.normal`); + queueEncounterMessage(scene, `${namespace}:option.1.normal`); leaveEncounterWithoutBattle(scene); } else if (roll < ULTRA_REWARDS_WEIGHT) { // Choose between 3 ULTRA tier items (30%) @@ -147,19 +147,19 @@ export const MysteriousChestEncounter: MysteryEncounter = ], }); // Display result message then proceed to rewards - queueEncounterMessage(scene, `${namespace}.option.1.good`); + queueEncounterMessage(scene, `${namespace}:option.1.good`); leaveEncounterWithoutBattle(scene); } else if (roll < ROGUE_REWARDS_WEIGHT) { // Choose between 2 ROGUE tier items (10%) setEncounterRewards(scene, { guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ROGUE] }); // Display result message then proceed to rewards - queueEncounterMessage(scene, `${namespace}.option.1.great`); + queueEncounterMessage(scene, `${namespace}:option.1.great`); leaveEncounterWithoutBattle(scene); } else if (roll < MASTER_REWARDS_WEIGHT) { // Choose 1 MASTER tier item (5%) setEncounterRewards(scene, { guaranteedModifierTiers: [ModifierTier.MASTER] }); // Display result message then proceed to rewards - queueEncounterMessage(scene, `${namespace}.option.1.amazing`); + queueEncounterMessage(scene, `${namespace}:option.1.amazing`); leaveEncounterWithoutBattle(scene); } else { // Your highest level unfainted Pokemon gets OHKO. Start battle against a Gimmighoul (35%) @@ -177,7 +177,7 @@ export const MysteriousChestEncounter: MysteryEncounter = } else { // Show which Pokemon was KOed, then start battle against Gimmighoul encounter.setDialogueToken("pokeName", highestLevelPokemon.getNameToRender()); - await showEncounterText(scene, `${namespace}.option.1.bad`); + await showEncounterText(scene, `${namespace}:option.1.bad`); transitionMysteryEncounterIntroVisuals(scene, true, true, 500); setEncounterRewards(scene, { fillRemaining: true }); await initBattleWithEnemyConfig(scene, encounter.enemyPartyConfigs[0]); @@ -188,11 +188,11 @@ export const MysteriousChestEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }, diff --git a/src/data/mystery-encounters/encounters/part-timer-encounter.ts b/src/data/mystery-encounters/encounters/part-timer-encounter.ts index f5486d34ea9..3e4d39da2f9 100644 --- a/src/data/mystery-encounters/encounters/part-timer-encounter.ts +++ b/src/data/mystery-encounters/encounters/part-timer-encounter.ts @@ -14,7 +14,7 @@ import Pokemon, { PlayerPokemon } from "#app/field/pokemon"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:partTimer"; +const namespace = "mysteryEncounters/partTimer"; /** * Part Timer encounter. @@ -44,11 +44,11 @@ export const PartTimerEncounter: MysteryEncounter = .withAutoHideIntroVisuals(false) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - speaker: `${namespace}.speaker`, - text: `${namespace}.intro_dialogue`, + speaker: `${namespace}:speaker`, + text: `${namespace}:intro_dialogue`, }, ]) .withOnInit((scene: BattleScene) => { @@ -68,17 +68,17 @@ export const PartTimerEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOption(MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected` + text: `${namespace}:option.1.selected` } ] }) @@ -118,7 +118,7 @@ export const PartTimerEncounter: MysteryEncounter = // Only Pokemon non-KOd pokemon can be selected const selectableFilter = (pokemon: Pokemon) => { if (!pokemon.isAllowedInBattle()) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; @@ -135,14 +135,14 @@ export const PartTimerEncounter: MysteryEncounter = // Give money and do dialogue if (moneyMultiplier > 2.5) { - await showEncounterDialogue(scene, `${namespace}.job_complete_good`, `${namespace}.speaker`); + await showEncounterDialogue(scene, `${namespace}:job_complete_good`, `${namespace}:speaker`); } else { - await showEncounterDialogue(scene, `${namespace}.job_complete_bad`, `${namespace}.speaker`); + await showEncounterDialogue(scene, `${namespace}:job_complete_bad`, `${namespace}:speaker`); } const moneyChange = scene.getWaveMoneyAmount(moneyMultiplier); updatePlayerMoney(scene, moneyChange, true, false); await showEncounterText(scene, i18next.t("mysteryEncounterMessages:receive_money", { amount: moneyChange })); - await showEncounterText(scene, `${namespace}.pokemon_tired`); + await showEncounterText(scene, `${namespace}:pokemon_tired`); setEncounterRewards(scene, { fillRemaining: true }); leaveEncounterWithoutBattle(scene); @@ -152,11 +152,11 @@ export const PartTimerEncounter: MysteryEncounter = .withOption(MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected` + text: `${namespace}:option.2.selected` } ] }) @@ -199,7 +199,7 @@ export const PartTimerEncounter: MysteryEncounter = // Only Pokemon non-KOd pokemon can be selected const selectableFilter = (pokemon: Pokemon) => { if (!pokemon.isAllowedInBattle()) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; @@ -216,14 +216,14 @@ export const PartTimerEncounter: MysteryEncounter = // Give money and do dialogue if (moneyMultiplier > 2.5) { - await showEncounterDialogue(scene, `${namespace}.job_complete_good`, `${namespace}.speaker`); + await showEncounterDialogue(scene, `${namespace}:job_complete_good`, `${namespace}:speaker`); } else { - await showEncounterDialogue(scene, `${namespace}.job_complete_bad`, `${namespace}.speaker`); + await showEncounterDialogue(scene, `${namespace}:job_complete_bad`, `${namespace}:speaker`); } const moneyChange = scene.getWaveMoneyAmount(moneyMultiplier); updatePlayerMoney(scene, moneyChange, true, false); await showEncounterText(scene, i18next.t("mysteryEncounterMessages:receive_money", { amount: moneyChange })); - await showEncounterText(scene, `${namespace}.pokemon_tired`); + await showEncounterText(scene, `${namespace}:pokemon_tired`); setEncounterRewards(scene, { fillRemaining: true }); leaveEncounterWithoutBattle(scene); @@ -235,12 +235,12 @@ export const PartTimerEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_SPECIAL) .withPrimaryPokemonRequirement(new MoveRequirement(CHARMING_MOVES)) // Will set option3PrimaryName and option3PrimaryMove dialogue tokens automatically .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - disabledButtonTooltip: `${namespace}.option.3.disabled_tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, ], }) @@ -271,11 +271,11 @@ export const PartTimerEncounter: MysteryEncounter = await transitionMysteryEncounterIntroVisuals(scene, false, false); // Give money and do dialogue - await showEncounterDialogue(scene, `${namespace}.job_complete_good`, `${namespace}.speaker`); + await showEncounterDialogue(scene, `${namespace}:job_complete_good`, `${namespace}:speaker`); const moneyChange = scene.getWaveMoneyAmount(2.5); updatePlayerMoney(scene, moneyChange, true, false); await showEncounterText(scene, i18next.t("mysteryEncounterMessages:receive_money", { amount: moneyChange })); - await showEncounterText(scene, `${namespace}.pokemon_tired`); + await showEncounterText(scene, `${namespace}:pokemon_tired`); setEncounterRewards(scene, { fillRemaining: true }); leaveEncounterWithoutBattle(scene); @@ -284,8 +284,8 @@ export const PartTimerEncounter: MysteryEncounter = ) .withOutroDialogue([ { - speaker: `${namespace}.speaker`, - text: `${namespace}.outro`, + speaker: `${namespace}:speaker`, + text: `${namespace}:outro`, } ]) .build(); diff --git a/src/data/mystery-encounters/encounters/safari-zone-encounter.ts b/src/data/mystery-encounters/encounters/safari-zone-encounter.ts index 2690460757f..b9f9c322493 100644 --- a/src/data/mystery-encounters/encounters/safari-zone-encounter.ts +++ b/src/data/mystery-encounters/encounters/safari-zone-encounter.ts @@ -21,7 +21,7 @@ import { SummonPhase } from "#app/phases/summon-phase"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:safariZone"; +const namespace = "mysteryEncounters/safariZone"; const TRAINER_THROW_ANIMATION_TIMES = [512, 184, 768]; @@ -49,21 +49,21 @@ export const SafariZoneEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOption(MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withSceneRequirement(new MoneyRequirement(0, SAFARI_MONEY_MULTIPLIER)) // Cost equal to 1 Max Revive .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }) @@ -92,11 +92,11 @@ export const SafariZoneEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }, @@ -127,11 +127,11 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [ MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.safari.1.label`, - buttonTooltip: `${namespace}.safari.1.tooltip`, + buttonLabel: `${namespace}:safari.1.label`, + buttonTooltip: `${namespace}:safari.1.tooltip`, selected: [ { - text: `${namespace}.safari.1.selected`, + text: `${namespace}:safari.1.selected`, } ], }) @@ -162,11 +162,11 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [ MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.safari.2.label`, - buttonTooltip: `${namespace}.safari.2.tooltip`, + buttonLabel: `${namespace}:safari.2.label`, + buttonTooltip: `${namespace}:safari.2.tooltip`, selected: [ { - text: `${namespace}.safari.2.selected`, + text: `${namespace}:safari.2.selected`, }, ], }) @@ -180,9 +180,9 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [ // 80% chance to increase flee stage +1 const fleeChangeResult = tryChangeFleeStage(scene, 1, 8); if (!fleeChangeResult) { - await showEncounterText(scene, getEncounterText(scene, `${namespace}.safari.busy_eating`) ?? "", null, 1000, false ); + await showEncounterText(scene, getEncounterText(scene, `${namespace}:safari.busy_eating`) ?? "", null, 1000, false ); } else { - await showEncounterText(scene, getEncounterText(scene, `${namespace}.safari.eating`) ?? "", null, 1000, false); + await showEncounterText(scene, getEncounterText(scene, `${namespace}:safari.eating`) ?? "", null, 1000, false); } await doEndTurn(scene, 1); @@ -192,11 +192,11 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [ MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.safari.3.label`, - buttonTooltip: `${namespace}.safari.3.tooltip`, + buttonLabel: `${namespace}:safari.3.label`, + buttonTooltip: `${namespace}:safari.3.tooltip`, selected: [ { - text: `${namespace}.safari.3.selected`, + text: `${namespace}:safari.3.selected`, }, ], }) @@ -209,9 +209,9 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [ // 80% chance to decrease catch stage -1 const catchChangeResult = tryChangeCatchStage(scene, -1, 8); if (!catchChangeResult) { - await showEncounterText(scene, getEncounterText(scene, `${namespace}.safari.beside_itself_angry`) ?? "", null, 1000, false ); + await showEncounterText(scene, getEncounterText(scene, `${namespace}:safari.beside_itself_angry`) ?? "", null, 1000, false ); } else { - await showEncounterText(scene, getEncounterText(scene, `${namespace}.safari.angry`) ?? "", null, 1000, false ); + await showEncounterText(scene, getEncounterText(scene, `${namespace}:safari.angry`) ?? "", null, 1000, false ); } await doEndTurn(scene, 2); @@ -221,8 +221,8 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [ MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.safari.4.label`, - buttonTooltip: `${namespace}.safari.4.tooltip`, + buttonLabel: `${namespace}:safari.4.label`, + buttonTooltip: `${namespace}:safari.4.tooltip`, }) .withOptionPhase(async (scene: BattleScene) => { // Flee option @@ -247,7 +247,7 @@ async function summonSafariPokemon(scene: BattleScene) { const encounter = scene.currentBattle.mysteryEncounter!; // Message pokemon remaining encounter.setDialogueToken("remainingCount", encounter.misc.safariPokemonRemaining); - scene.queueMessage(getEncounterText(scene, `${namespace}.safari.remaining_count`) ?? "", null, true); + scene.queueMessage(getEncounterText(scene, `${namespace}:safari.remaining_count`) ?? "", null, true); // Generate pokemon using safariPokemonRemaining so they are always the same pokemon no matter how many turns are taken // Safari pokemon roll twice on shiny and HA chances, but are otherwise normal @@ -512,7 +512,7 @@ async function doEndTurn(scene: BattleScene, cursorIndex: number) { leaveEncounterWithoutBattle(scene, true); } } else { - scene.queueMessage(getEncounterText(scene, `${namespace}.safari.watching`) ?? "", 0, null, 1000); + scene.queueMessage(getEncounterText(scene, `${namespace}:safari.watching`) ?? "", 0, null, 1000); initSubsequentOptionSelect(scene, { overrideOptions: safariZoneGameOptions, startingCursorIndex: cursorIndex, hideDescription: true }); } } diff --git a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts index 933f184351a..579645b1924 100644 --- a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts +++ b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts @@ -17,7 +17,7 @@ import { getNatureName } from "#app/data/nature"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for this encounter */ -const namespace = "mysteryEncounter:shadyVitaminDealer"; +const namespace = "mysteryEncounters/shadyVitaminDealer"; const VITAMIN_DEALER_CHEAP_PRICE_MULTIPLIER = 1.5; const VITAMIN_DEALER_EXPENSIVE_PRICE_MULTIPLIER = 3.5; @@ -54,26 +54,26 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - text: `${namespace}.intro_dialogue`, - speaker: `${namespace}.speaker`, + text: `${namespace}:intro_dialogue`, + speaker: `${namespace}:speaker`, }, ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOption( MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withSceneMoneyRequirement(0, VITAMIN_DEALER_CHEAP_PRICE_MULTIPLIER) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, ], }) @@ -100,7 +100,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = // If pokemon meets primary pokemon reqs, it can be selected const meetsReqs = encounter.pokemonMeetsPrimaryRequirements(scene, pokemon); if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; @@ -136,7 +136,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = chosenPokemon.nature = newNature; encounter.setDialogueToken("newNature", getNatureName(newNature)); - queueEncounterMessage(scene, `${namespace}.cheap_side_effects`); + queueEncounterMessage(scene, `${namespace}:cheap_side_effects`); setEncounterExp(scene, [chosenPokemon.id], 100); chosenPokemon.updateInfo(); }) @@ -147,11 +147,11 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withSceneMoneyRequirement(0, VITAMIN_DEALER_EXPENSIVE_PRICE_MULTIPLIER) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, ], }) @@ -178,7 +178,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = // If pokemon is unfainted it can be selected const meetsReqs = !pokemon.isFainted(true); if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; @@ -203,7 +203,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = const encounter = scene.currentBattle.mysteryEncounter!; const chosenPokemon = encounter.misc.chosenPokemon; - queueEncounterMessage(scene, `${namespace}.no_bad_effects`); + queueEncounterMessage(scene, `${namespace}:no_bad_effects`); setEncounterExp(scene, [chosenPokemon.id], 100); chosenPokemon.updateInfo(); @@ -212,12 +212,12 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, - speaker: `${namespace}.speaker` + text: `${namespace}:option.3.selected`, + speaker: `${namespace}:speaker` } ] }, diff --git a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts index bfccc46ee0f..e1c6b6c35cf 100644 --- a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts +++ b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts @@ -21,7 +21,7 @@ import { BerryType } from "#enums/berry-type"; import { MysteryEncounterPokemonData } from "#app/data/mystery-encounters/mystery-encounter-pokemon-data"; /** i18n namespace for the encounter */ -const namespace = "mysteryEncounter:slumberingSnorlax"; +const namespace = "mysteryEncounters/slumberingSnorlax"; /** * Sleeping Snorlax encounter. @@ -47,7 +47,7 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) .withOnInit((scene: BattleScene) => { @@ -87,16 +87,16 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }, @@ -122,11 +122,11 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }, @@ -134,7 +134,7 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = // Fall asleep waiting for Snorlax // Full heal party scene.unshiftPhase(new PartyHealPhase(scene, true)); - queueEncounterMessage(scene, `${namespace}.option.2.rest_result`); + queueEncounterMessage(scene, `${namespace}:option.2.rest_result`); leaveEncounterWithoutBattle(scene); } ) @@ -143,12 +143,12 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_SPECIAL) .withPrimaryPokemonRequirement(new MoveRequirement(STEALING_MOVES)) .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - disabledButtonTooltip: `${namespace}.option.3.disabled_tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, selected: [ { - text: `${namespace}.option.3.selected` + text: `${namespace}:option.3.selected` } ] }) diff --git a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts index 10b0e5222b3..7d90b7059c1 100644 --- a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts +++ b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts @@ -23,7 +23,7 @@ import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { getEncounterPokemonLevelForWave, STANDARD_ENCOUNTER_BOOSTED_LEVEL_MODIFIER } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; /** the i18n namespace for this encounter */ -const namespace = "mysteryEncounter:teleportingHijinks"; +const namespace = "mysteryEncounters/teleportingHijinks"; const MONEY_COST_MULTIPLIER = 1.75; const BIOME_CANDIDATES = [Biome.SPACE, Biome.FAIRY_CAVE, Biome.LABORATORY, Biome.ISLAND, Biome.WASTELAND, Biome.DOJO]; @@ -54,12 +54,12 @@ export const TeleportingHijinksEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, } ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; const price = scene.getWaveMoneyAmount(MONEY_COST_MULTIPLIER); @@ -75,11 +75,11 @@ export const TeleportingHijinksEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_DEFAULT) .withSceneMoneyRequirement(undefined, MONEY_COST_MULTIPLIER) // Must be able to pay teleport cost .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, } ], }) @@ -99,12 +99,12 @@ export const TeleportingHijinksEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_SPECIAL) .withPokemonTypeRequirement(MACHINE_INTERFACING_TYPES, true, 1) // Must have Steel or Electric type .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, - disabledButtonTooltip: `${namespace}.option.2.disabled_tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, } ], }) @@ -118,11 +118,11 @@ export const TeleportingHijinksEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, selected: [ { - text: `${namespace}.option.3.selected`, + text: `${namespace}:option.3.selected`, }, ], }, @@ -161,10 +161,10 @@ async function doBiomeTransitionDialogueAndBattleInit(scene: BattleScene) { const newBiome = filteredBiomes[randSeedInt(filteredBiomes.length)]; // Show dialogue and transition biome - await showEncounterText(scene, `${namespace}.transport`); + await showEncounterText(scene, `${namespace}:transport`); await Promise.all([animateBiomeChange(scene, newBiome), transitionMysteryEncounterIntroVisuals(scene)]); scene.playBgm(); - await showEncounterText(scene, `${namespace}.attacked`); + await showEncounterText(scene, `${namespace}:attacked`); // Init enemy const level = getEncounterPokemonLevelForWave(scene, STANDARD_ENCOUNTER_BOOSTED_LEVEL_MODIFIER); @@ -179,7 +179,7 @@ async function doBiomeTransitionDialogueAndBattleInit(scene: BattleScene) { isBoss: true, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(pokemon.scene, `${namespace}.boss_enraged`); + queueEncounterMessage(pokemon.scene, `${namespace}:boss_enraged`); pokemon.scene.unshiftPhase(new StatStageChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD], 1)); } }], diff --git a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts index c26c6aa3b7f..f37de078fed 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -18,7 +18,7 @@ import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { Abilities } from "#enums/abilities"; /** the i18n namespace for this encounter */ -const namespace = "mysteryEncounter:pokemonSalesman"; +const namespace = "mysteryEncounters/pokemonSalesman"; const MAX_POKEMON_PRICE_MULTIPLIER = 4; @@ -45,16 +45,16 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - text: `${namespace}.intro_dialogue`, - speaker: `${namespace}.speaker`, + text: `${namespace}:intro_dialogue`, + speaker: `${namespace}:speaker`, }, ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -94,8 +94,8 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = // Always max price for shiny (flip HA back to normal), and add special messaging priceMultiplier = MAX_POKEMON_PRICE_MULTIPLIER; pokemon.abilityIndex = 0; - encounter.dialogue.encounterOptionsDialogue!.description = `${namespace}.description_shiny`; - encounter.options[0].dialogue!.buttonTooltip = `${namespace}.option.1.tooltip_shiny`; + encounter.dialogue.encounterOptionsDialogue!.description = `${namespace}:description_shiny`; + encounter.options[0].dialogue!.buttonTooltip = `${namespace}:option.1.tooltip_shiny`; } const price = scene.getWaveMoneyAmount(priceMultiplier); encounter.setDialogueToken("purchasePokemon", pokemon.getNameToRender()); @@ -115,11 +115,11 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = .withHasDexProgress(true) .withSceneMoneyRequirement(undefined, MAX_POKEMON_PRICE_MULTIPLIER) // Wave scaling money multiplier of 2 .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected_message`, + text: `${namespace}:option.1.selected_message`, } ], }) @@ -132,7 +132,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = updatePlayerMoney(scene, -price, true, false); // Show dialogue - await showEncounterDialogue(scene, `${namespace}.option.1.selected_dialogue`, `${namespace}.speaker`); + await showEncounterDialogue(scene, `${namespace}:option.1.selected_dialogue`, `${namespace}:speaker`); await transitionMysteryEncounterIntroVisuals(scene); // "Catch" purchased pokemon @@ -146,11 +146,11 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }, diff --git a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts index 55cb10644e8..93c627dea18 100644 --- a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts @@ -20,7 +20,7 @@ import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:theStrongStuff"; +const namespace = "mysteryEncounters/theStrongStuff"; // Halved for HP stat const HIGH_BST_REDUCTION_VALUE = 15; @@ -63,7 +63,7 @@ export const TheStrongStuffEncounter: MysteryEncounter = ]) // Set in onInit() .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) .withOnInit((scene: BattleScene) => { @@ -101,7 +101,7 @@ export const TheStrongStuffEncounter: MysteryEncounter = ], tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(pokemon.scene, `${namespace}.option.2.stat_boost`); + queueEncounterMessage(pokemon.scene, `${namespace}:option.2.stat_boost`); pokemon.scene.unshiftPhase(new StatStageChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [Stat.DEF, Stat.SPDEF], 2)); } } @@ -116,16 +116,16 @@ export const TheStrongStuffEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected` + text: `${namespace}:option.1.selected` } ] }, @@ -158,11 +158,11 @@ export const TheStrongStuffEncounter: MysteryEncounter = encounter.setDialogueToken("reductionValue", HIGH_BST_REDUCTION_VALUE.toString()); encounter.setDialogueToken("increaseValue", BST_INCREASE_VALUE.toString()); - await showEncounterText(scene, `${namespace}.option.1.selected_2`, null, undefined, true); + await showEncounterText(scene, `${namespace}:option.1.selected_2`, null, undefined, true); encounter.dialogue.outro = [ { - text: `${namespace}.outro`, + text: `${namespace}:outro`, } ]; setEncounterRewards(scene, { fillRemaining: true }); @@ -172,11 +172,11 @@ export const TheStrongStuffEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }, diff --git a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts index 60061efbc7a..9e813800b59 100644 --- a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts @@ -25,7 +25,7 @@ import { ModifierTier } from "#app/modifier/modifier-tier"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:theWinstrateChallenge"; +const namespace = "mysteryEncounters/theWinstrateChallenge"; /** * The Winstrate Challenge encounter. @@ -74,11 +74,11 @@ export const TheWinstrateChallengeEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - speaker: `${namespace}.speaker`, - text: `${namespace}.intro_dialogue`, + speaker: `${namespace}:speaker`, + text: `${namespace}:intro_dialogue`, }, ]) .withAutoHideIntroVisuals(false) @@ -94,17 +94,17 @@ export const TheWinstrateChallengeEncounter: MysteryEncounter = return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.1.selected`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.1.selected`, }, ], }, @@ -119,12 +119,12 @@ export const TheWinstrateChallengeEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - speaker: `${namespace}.speaker`, - text: `${namespace}.option.2.selected`, + speaker: `${namespace}:speaker`, + text: `${namespace}:option.2.selected`, }, ], }, @@ -142,7 +142,7 @@ async function spawnNextTrainerOrEndEncounter(scene: BattleScene) { const nextConfig = encounter.enemyPartyConfigs.pop(); if (!nextConfig) { await transitionMysteryEncounterIntroVisuals(scene, false, false); - await showEncounterDialogue(scene, `${namespace}.victory`, `${namespace}.speaker`); + await showEncounterDialogue(scene, `${namespace}:victory`, `${namespace}:speaker`); // Give 10x Voucher const newModifier = modifierTypes.VOUCHER_PREMIUM().newModifier(); @@ -150,7 +150,7 @@ async function spawnNextTrainerOrEndEncounter(scene: BattleScene) { scene.playSound("item_fanfare"); await showEncounterText(scene, i18next.t("battle:rewardGain", { modifierName: newModifier?.type.name })); - await showEncounterDialogue(scene, `${namespace}.victory_2`, `${namespace}.speaker`); + await showEncounterDialogue(scene, `${namespace}:victory_2`, `${namespace}:speaker`); scene.ui.clearText(); // Clears "Winstrate" title from screen as rewards get animated in const machoBrace = generateModifierTypeOption(scene, modifierTypes.MYSTERY_ENCOUNTER_MACHO_BRACE)!; machoBrace.type.tier = ModifierTier.MASTER; diff --git a/src/data/mystery-encounters/encounters/training-session-encounter.ts b/src/data/mystery-encounters/encounters/training-session-encounter.ts index 33d841b7f02..9a501671674 100644 --- a/src/data/mystery-encounters/encounters/training-session-encounter.ts +++ b/src/data/mystery-encounters/encounters/training-session-encounter.ts @@ -22,7 +22,7 @@ import { getStatKey } from "#enums/stat"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** The i18n namespace for the encounter */ -const namespace = "mysteryEncounter:trainingSession"; +const namespace = "mysteryEncounters/trainingSession"; /** * Training Session encounter. @@ -48,22 +48,22 @@ export const TrainingSessionEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, } ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOption( MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withHasDexProgress(true) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, ], }) @@ -79,7 +79,7 @@ export const TrainingSessionEncounter: MysteryEncounter = const selectableFilter = (pokemon: Pokemon) => { const meetsReqs = pokemon.isAllowedInBattle(); if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; @@ -163,7 +163,7 @@ export const TrainingSessionEncounter: MysteryEncounter = scene.addModifier(mod, true, false, false, true); } scene.updateModifiers(true); - queueEncounterMessage(scene, `${namespace}.option.1.finished`); + queueEncounterMessage(scene, `${namespace}:option.1.finished`); }; setEncounterRewards(scene, { fillRemaining: true }, undefined, onBeforeRewardsPhase); @@ -177,12 +177,12 @@ export const TrainingSessionEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withHasDexProgress(true) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, - secondOptionPrompt: `${namespace}.option.2.select_prompt`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, + secondOptionPrompt: `${namespace}:option.2.select_prompt`, selected: [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, ], }) @@ -213,7 +213,7 @@ export const TrainingSessionEncounter: MysteryEncounter = const selectableFilter = (pokemon: Pokemon) => { const meetsReqs = pokemon.isAllowedInBattle(); if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; @@ -233,7 +233,7 @@ export const TrainingSessionEncounter: MysteryEncounter = scene.removePokemonFromPlayerParty(playerPokemon, false); const onBeforeRewardsPhase = () => { - queueEncounterMessage(scene, `${namespace}.option.2.finished`); + queueEncounterMessage(scene, `${namespace}:option.2.finished`); // Add the pokemon back to party with Nature change playerPokemon.setNature(encounter.misc.chosenNature); scene.gameData.setPokemonCaught(playerPokemon, false); @@ -258,12 +258,12 @@ export const TrainingSessionEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withHasDexProgress(true) .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - secondOptionPrompt: `${namespace}.option.3.select_prompt`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + secondOptionPrompt: `${namespace}:option.3.select_prompt`, selected: [ { - text: `${namespace}.option.selected`, + text: `${namespace}:option.selected`, }, ], }) @@ -309,7 +309,7 @@ export const TrainingSessionEncounter: MysteryEncounter = const selectableFilter = (pokemon: Pokemon) => { const meetsReqs = pokemon.isAllowedInBattle(); if (!meetsReqs) { - return getEncounterText(scene, `${namespace}.invalid_selection`) ?? null; + return getEncounterText(scene, `${namespace}:invalid_selection`) ?? null; } return null; @@ -333,7 +333,7 @@ export const TrainingSessionEncounter: MysteryEncounter = scene.removePokemonFromPlayerParty(playerPokemon, false); const onBeforeRewardsPhase = () => { - queueEncounterMessage(scene, `${namespace}.option.3.finished`); + queueEncounterMessage(scene, `${namespace}:option.3.finished`); // Add the pokemon back to party with ability change const abilityIndex = encounter.misc.abilityIndex; if (!!playerPokemon.getFusionSpeciesForm()) { @@ -380,11 +380,11 @@ export const TrainingSessionEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.4.label`, - buttonTooltip: `${namespace}.option.4.tooltip`, + buttonLabel: `${namespace}:option.4.label`, + buttonTooltip: `${namespace}:option.4.tooltip`, selected: [ { - text: `${namespace}.option.4.selected`, + text: `${namespace}:option.4.selected`, }, ], }, diff --git a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts index d295c8ab548..0bec99028e1 100644 --- a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts +++ b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts @@ -20,7 +20,7 @@ import { ModifierRewardPhase } from "#app/phases/modifier-reward-phase"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for this encounter */ -const namespace = "mysteryEncounter:trashToTreasure"; +const namespace = "mysteryEncounters/trashToTreasure"; const SOUND_EFFECT_WAIT_TIME = 700; @@ -48,12 +48,12 @@ export const TrashToTreasureEncounter: MysteryEncounter = .withAutoHideIntroVisuals(false) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { const encounter = scene.currentBattle.mysteryEncounter!; @@ -85,11 +85,11 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }) @@ -112,18 +112,18 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterOptionBuilder .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }) .withOptionPhase(async (scene: BattleScene) => { // Investigate garbage, battle Gmax Garbodor scene.setFieldScale(0.75); - await showEncounterText(scene, `${namespace}.option.2.selected_2`); + await showEncounterText(scene, `${namespace}:option.2.selected_2`); transitionMysteryEncounterIntroVisuals(scene); const encounter = scene.currentBattle.mysteryEncounter!; diff --git a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts index 0816c9cd2a6..fbc3453695f 100644 --- a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts +++ b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts @@ -26,7 +26,7 @@ import { Stat } from "#enums/stat"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; /** the i18n namespace for the encounter */ -const namespace = "mysteryEncounter:uncommonBreed"; +const namespace = "mysteryEncounters/uncommonBreed"; /** * Uncommon Breed encounter. @@ -42,7 +42,7 @@ export const UncommonBreedEncounter: MysteryEncounter = .withIntroSpriteConfigs([]) // Set in onInit() .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, ]) .withOnInit((scene: BattleScene) => { @@ -80,7 +80,7 @@ export const UncommonBreedEncounter: MysteryEncounter = isBoss: false, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(pokemon.scene, `${namespace}.option.1.stat_boost`); + queueEncounterMessage(pokemon.scene, `${namespace}:option.1.stat_boost`); pokemon.scene.unshiftPhase(new StatStageChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD], 1)); } }], @@ -120,16 +120,16 @@ export const UncommonBreedEncounter: MysteryEncounter = scene.time.delayedCall(500, () => scene.playSound("battle_anims/PRSFX- Spotlight2")); return true; }) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withSimpleOption( { - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, }, ], }, @@ -162,12 +162,12 @@ export const UncommonBreedEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_SPECIAL) .withSceneRequirement(new PersistentModifierRequirement("BerryModifier", 4)) // Will set option2PrimaryName and option2PrimaryMove dialogue tokens automatically .withDialogue({ - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, - disabledButtonTooltip: `${namespace}.option.2.disabled_tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, selected: [ { - text: `${namespace}.option.2.selected` + text: `${namespace}:option.2.selected` } ] }) @@ -219,12 +219,12 @@ export const UncommonBreedEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DISABLED_OR_SPECIAL) .withPrimaryPokemonRequirement(new MoveRequirement(CHARMING_MOVES)) // Will set option2PrimaryName and option2PrimaryMove dialogue tokens automatically .withDialogue({ - buttonLabel: `${namespace}.option.3.label`, - buttonTooltip: `${namespace}.option.3.tooltip`, - disabledButtonTooltip: `${namespace}.option.3.disabled_tooltip`, + buttonLabel: `${namespace}:option.3.label`, + buttonTooltip: `${namespace}:option.3.tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, selected: [ { - text: `${namespace}.option.3.selected` + text: `${namespace}:option.3.selected` } ] }) diff --git a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts index ed8986d99bb..b5adb878020 100644 --- a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts +++ b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts @@ -23,7 +23,7 @@ import { Stat } from "#enums/stat"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES, GameModes } from "#app/game-mode"; /** i18n namespace for encounter */ -const namespace = "mysteryEncounter:weirdDream"; +const namespace = "mysteryEncounters/weirdDream"; /** Exclude Ultra Beasts, Paradox, Eternatus, and all legendary/mythical/trio pokemon that are below 570 BST */ const EXCLUDED_TRANSFORMATION_SPECIES = [ @@ -115,16 +115,16 @@ export const WeirdDreamEncounter: MysteryEncounter = ]) .withIntroDialogue([ { - text: `${namespace}.intro`, + text: `${namespace}:intro`, }, { - speaker: `${namespace}.speaker`, - text: `${namespace}.intro_dialogue`, + speaker: `${namespace}:speaker`, + text: `${namespace}:intro_dialogue`, }, ]) - .withTitle(`${namespace}.title`) - .withDescription(`${namespace}.description`) - .withQuery(`${namespace}.query`) + .withTitle(`${namespace}:title`) + .withDescription(`${namespace}:description`) + .withQuery(`${namespace}:query`) .withOnInit((scene: BattleScene) => { scene.loadBgm("mystery_encounter_weird_dream", "mystery_encounter_weird_dream.mp3"); return true; @@ -138,11 +138,11 @@ export const WeirdDreamEncounter: MysteryEncounter = .newOptionWithMode(MysteryEncounterOptionMode.DEFAULT) .withHasDexProgress(true) .withDialogue({ - buttonLabel: `${namespace}.option.1.label`, - buttonTooltip: `${namespace}.option.1.tooltip`, + buttonLabel: `${namespace}:option.1.label`, + buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}.option.1.selected`, + text: `${namespace}:option.1.selected`, } ], }) @@ -162,7 +162,7 @@ export const WeirdDreamEncounter: MysteryEncounter = }) .withOptionPhase(async (scene: BattleScene) => { // Starts cutscene dialogue, but does not await so that cutscene plays as player goes through dialogue - const cutsceneDialoguePromise = showEncounterText(scene, `${namespace}.option.1.cutscene`); + const cutsceneDialoguePromise = showEncounterText(scene, `${namespace}:option.1.cutscene`); // Change the entire player's party // Wait for all new Pokemon assets to be loaded before showing transformation animations @@ -186,7 +186,7 @@ export const WeirdDreamEncounter: MysteryEncounter = await cutsceneDialoguePromise; doHideDreamBackground(scene); - await showEncounterText(scene, `${namespace}.option.1.dream_complete`); + await showEncounterText(scene, `${namespace}:option.1.dream_complete`); await doNewTeamPostProcess(scene, transformations); setEncounterRewards(scene, { guaranteedModifierTypeFuncs: [modifierTypes.MEMORY_MUSHROOM, modifierTypes.ROGUE_BALL, modifierTypes.MINT, modifierTypes.MINT]}); @@ -196,11 +196,11 @@ export const WeirdDreamEncounter: MysteryEncounter = ) .withSimpleOption( { - buttonLabel: `${namespace}.option.2.label`, - buttonTooltip: `${namespace}.option.2.tooltip`, + buttonLabel: `${namespace}:option.2.label`, + buttonTooltip: `${namespace}:option.2.tooltip`, selected: [ { - text: `${namespace}.option.2.selected`, + text: `${namespace}:option.2.selected`, }, ], }, diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 83b79504b79..153c4ca08db 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -1,8 +1,8 @@ +import { camelCaseToKebabCase, } from "#app/utils"; import i18next from "i18next"; import LanguageDetector from "i18next-browser-languagedetector"; -import processor, { KoreanPostpositionProcessor } from "i18next-korean-postposition-processor"; import HttpBackend from "i18next-http-backend"; -import { camelCaseToKebabCase } from "#app/utils"; +import processor, { KoreanPostpositionProcessor } from "i18next-korean-postposition-processor"; import pkg from "../../package.json"; //#region Interfaces/Types @@ -143,11 +143,10 @@ export async function initI18n(): Promise { let fileName: string; if (namespaceMap[ns]) { fileName = namespaceMap[ns]; + } else if (ns.startsWith("mysteryEncounters/")) { + fileName = camelCaseToKebabCase(ns + "Dialogue"); } else { fileName = camelCaseToKebabCase(ns); - if (fileName.startsWith("mystery-encounters/")) { - fileName += "-dialogue"; - } } return `/locales/${lng}/${fileName}.json?v=${pkg.version}`; }, @@ -209,8 +208,6 @@ export async function initI18n(): Promise { "modifierSelectUiHandler", "moveTriggers", "runHistory", - // DO NOT REMOVE - // "mysteryEncounter/unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", "mysteryEncounters/mysteriousChallengers", "mysteryEncounters/mysteriousChest", "mysteryEncounters/darkDeal",