Compare commits

..

5 Commits

Author SHA1 Message Date
fabske0
abc1e2e27f
Merge 5a445e3633 into 5d4b805c13 2025-08-09 22:53:07 +02:00
Wlowscha
5d4b805c13
[UI/UX][Bug] Removed extra division by 6 in starter-select-ui-handler.ts (#6245)
Removed division by 6 in starter-select-ui-handler.ts
2025-08-09 15:27:47 -05:00
fabske0
5a445e3633 chnaged MEs part 4 2025-08-09 20:28:35 +02:00
fabske0
c18c2e0dce changed MEs part 3 2025-08-09 17:32:42 +02:00
Lugiad
e862334819
[UI/UX] Summary Move Effect UI adjustments (#6223)
Summary Effect tab UI image adjustments
2025-08-09 15:11:03 +00:00
15 changed files with 51 additions and 51 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 292 B

View File

@ -158,7 +158,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil
.withDialogue({ .withDialogue({
buttonLabel: `${namespace}:option.1.label`, buttonLabel: `${namespace}:option.1.label`,
buttonTooltip: `${namespace}:option.1.tooltip`, buttonTooltip: `${namespace}:option.1.tooltip`,
secondOptionPrompt: `${namespace}:option.1.trade_options_prompt`, secondOptionPrompt: `${namespace}:option.1.tradeOptionsPrompt`,
}) })
.withPreOptionPhase(async (): Promise<boolean> => { .withPreOptionPhase(async (): Promise<boolean> => {
const encounter = globalScene.currentBattle.mysteryEncounter!; const encounter = globalScene.currentBattle.mysteryEncounter!;
@ -248,7 +248,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil
// Show the trade animation // Show the trade animation
await showTradeBackground(); await showTradeBackground();
await doPokemonTradeSequence(tradedPokemon, newPlayerPokemon); await doPokemonTradeSequence(tradedPokemon, newPlayerPokemon);
await showEncounterText(`${namespace}:trade_received`, null, 0, true, 4000); await showEncounterText(`${namespace}:tradeReceived`, null, 0, true, 4000);
globalScene.playBgm(encounter.misc.bgmKey); globalScene.playBgm(encounter.misc.bgmKey);
await addPokemonDataToDexAndValidateAchievements(newPlayerPokemon); await addPokemonDataToDexAndValidateAchievements(newPlayerPokemon);
await hideTradeBackground(); await hideTradeBackground();
@ -369,7 +369,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil
// Show the trade animation // Show the trade animation
await showTradeBackground(); await showTradeBackground();
await doPokemonTradeSequence(tradedPokemon, newPlayerPokemon); await doPokemonTradeSequence(tradedPokemon, newPlayerPokemon);
await showEncounterText(`${namespace}:trade_received`, null, 0, true, 4000); await showEncounterText(`${namespace}:tradeReceived`, null, 0, true, 4000);
globalScene.playBgm(encounter.misc.bgmKey); globalScene.playBgm(encounter.misc.bgmKey);
await addPokemonDataToDexAndValidateAchievements(newPlayerPokemon); await addPokemonDataToDexAndValidateAchievements(newPlayerPokemon);
await hideTradeBackground(); await hideTradeBackground();
@ -384,7 +384,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil
.withDialogue({ .withDialogue({
buttonLabel: `${namespace}:option.3.label`, buttonLabel: `${namespace}:option.3.label`,
buttonTooltip: `${namespace}:option.3.tooltip`, buttonTooltip: `${namespace}:option.3.tooltip`,
secondOptionPrompt: `${namespace}:option.3.trade_options_prompt`, secondOptionPrompt: `${namespace}:option.3.tradeOptionsPrompt`,
}) })
.withPreOptionPhase(async (): Promise<boolean> => { .withPreOptionPhase(async (): Promise<boolean> => {
const encounter = globalScene.currentBattle.mysteryEncounter!; const encounter = globalScene.currentBattle.mysteryEncounter!;
@ -468,7 +468,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil
// Generate a trainer name // Generate a trainer name
const traderName = generateRandomTraderName(); const traderName = generateRandomTraderName();
encounter.setDialogueToken("tradeTrainerName", traderName.trim()); encounter.setDialogueToken("tradeTrainerName", traderName.trim());
await showEncounterText(`${namespace}:item_trade_selected`); await showEncounterText(`${namespace}:itemTradeSelected`);
leaveEncounterWithoutBattle(); leaveEncounterWithoutBattle();
}) })
.build(), .build(),
@ -740,10 +740,10 @@ function doPokemonTradeSequence(tradedPokemon: PlayerPokemon, receivedPokemon: P
duration: 500, duration: 500,
onComplete: async () => { onComplete: async () => {
globalScene.fadeOutBgm(1000, false); globalScene.fadeOutBgm(1000, false);
await showEncounterText(`${namespace}:pokemon_trade_selected`); await showEncounterText(`${namespace}:pokemonTradeSelected`);
tradedPokemon.cry(); tradedPokemon.cry();
globalScene.playBgm("evolution"); globalScene.playBgm("evolution");
await showEncounterText(`${namespace}:pokemon_trade_goodbye`); await showEncounterText(`${namespace}:pokemonTradeGoodbye`);
tradedPokeball.setAlpha(0); tradedPokeball.setAlpha(0);
tradedPokeball.setVisible(true); tradedPokeball.setVisible(true);

View File

@ -63,7 +63,7 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with
.withPokemonCanLearnMoveRequirement(OPTION_1_REQUIRED_MOVE) .withPokemonCanLearnMoveRequirement(OPTION_1_REQUIRED_MOVE)
.withDialogue({ .withDialogue({
buttonLabel: `${namespace}:option.1.label`, buttonLabel: `${namespace}:option.1.label`,
disabledButtonLabel: `${namespace}:option.1.label_disabled`, disabledButtonLabel: `${namespace}:option.1.labelDisabled`,
buttonTooltip: `${namespace}:option.1.tooltip`, buttonTooltip: `${namespace}:option.1.tooltip`,
disabledButtonTooltip: `${namespace}:option.1.tooltipDisabled`, disabledButtonTooltip: `${namespace}:option.1.tooltipDisabled`,
selected: [ selected: [
@ -81,7 +81,7 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with
.withPokemonCanLearnMoveRequirement(OPTION_2_REQUIRED_MOVE) .withPokemonCanLearnMoveRequirement(OPTION_2_REQUIRED_MOVE)
.withDialogue({ .withDialogue({
buttonLabel: `${namespace}:option.2.label`, buttonLabel: `${namespace}:option.2.label`,
disabledButtonLabel: `${namespace}:option.2.label_disabled`, disabledButtonLabel: `${namespace}:option.2.labelDisabled`,
buttonTooltip: `${namespace}:option.2.tooltip`, buttonTooltip: `${namespace}:option.2.tooltip`,
disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`, disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`,
selected: [ selected: [

View File

@ -142,9 +142,9 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
// Give money and do dialogue // Give money and do dialogue
if (moneyMultiplier > 2.5) { if (moneyMultiplier > 2.5) {
await showEncounterDialogue(`${namespace}:job_complete_good`, `${namespace}:speaker`); await showEncounterDialogue(`${namespace}:jobCompleteGood`, `${namespace}:speaker`);
} else { } else {
await showEncounterDialogue(`${namespace}:job_complete_bad`, `${namespace}:speaker`); await showEncounterDialogue(`${namespace}:jobCompleteBad`, `${namespace}:speaker`);
} }
const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier); const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier);
updatePlayerMoney(moneyChange, true, false); updatePlayerMoney(moneyChange, true, false);
@ -153,7 +153,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
amount: moneyChange, amount: moneyChange,
}), }),
); );
await showEncounterText(`${namespace}:pokemon_tired`); await showEncounterText(`${namespace}:pokemonTired`);
setEncounterRewards({ fillRemaining: true }); setEncounterRewards({ fillRemaining: true });
leaveEncounterWithoutBattle(); leaveEncounterWithoutBattle();
@ -224,9 +224,9 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
// Give money and do dialogue // Give money and do dialogue
if (moneyMultiplier > 2.5) { if (moneyMultiplier > 2.5) {
await showEncounterDialogue(`${namespace}:job_complete_good`, `${namespace}:speaker`); await showEncounterDialogue(`${namespace}:jobCompleteGood`, `${namespace}:speaker`);
} else { } else {
await showEncounterDialogue(`${namespace}:job_complete_bad`, `${namespace}:speaker`); await showEncounterDialogue(`${namespace}:jobCompleteBad`, `${namespace}:speaker`);
} }
const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier); const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier);
updatePlayerMoney(moneyChange, true, false); updatePlayerMoney(moneyChange, true, false);
@ -235,7 +235,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
amount: moneyChange, amount: moneyChange,
}), }),
); );
await showEncounterText(`${namespace}:pokemon_tired`); await showEncounterText(`${namespace}:pokemonTired`);
setEncounterRewards({ fillRemaining: true }); setEncounterRewards({ fillRemaining: true });
leaveEncounterWithoutBattle(); leaveEncounterWithoutBattle();
@ -282,7 +282,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
await transitionMysteryEncounterIntroVisuals(false, false); await transitionMysteryEncounterIntroVisuals(false, false);
// Give money and do dialogue // Give money and do dialogue
await showEncounterDialogue(`${namespace}:job_complete_good`, `${namespace}:speaker`); await showEncounterDialogue(`${namespace}:jobCompleteGood`, `${namespace}:speaker`);
const moneyChange = globalScene.getWaveMoneyAmount(2.5); const moneyChange = globalScene.getWaveMoneyAmount(2.5);
updatePlayerMoney(moneyChange, true, false); updatePlayerMoney(moneyChange, true, false);
await showEncounterText( await showEncounterText(
@ -290,7 +290,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with
amount: moneyChange, amount: moneyChange,
}), }),
); );
await showEncounterText(`${namespace}:pokemon_tired`); await showEncounterText(`${namespace}:pokemonTired`);
setEncounterRewards({ fillRemaining: true }); setEncounterRewards({ fillRemaining: true });
leaveEncounterWithoutBattle(); leaveEncounterWithoutBattle();

View File

@ -205,7 +205,7 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [
// 80% chance to increase flee stage +1 // 80% chance to increase flee stage +1
const fleeChangeResult = tryChangeFleeStage(1, 8); const fleeChangeResult = tryChangeFleeStage(1, 8);
if (!fleeChangeResult) { if (!fleeChangeResult) {
await showEncounterText(getEncounterText(`${namespace}:safari.busy_eating`) ?? "", null, 1000, false); await showEncounterText(getEncounterText(`${namespace}:safari.busyEating`) ?? "", null, 1000, false);
} else { } else {
await showEncounterText(getEncounterText(`${namespace}:safari.eating`) ?? "", null, 1000, false); await showEncounterText(getEncounterText(`${namespace}:safari.eating`) ?? "", null, 1000, false);
} }
@ -233,7 +233,7 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [
// 80% chance to decrease catch stage -1 // 80% chance to decrease catch stage -1
const catchChangeResult = tryChangeCatchStage(-1, 8); const catchChangeResult = tryChangeCatchStage(-1, 8);
if (!catchChangeResult) { if (!catchChangeResult) {
await showEncounterText(getEncounterText(`${namespace}:safari.beside_itself_angry`) ?? "", null, 1000, false); await showEncounterText(getEncounterText(`${namespace}:safari.besideItselfAngry`) ?? "", null, 1000, false);
} else { } else {
await showEncounterText(getEncounterText(`${namespace}:safari.angry`) ?? "", null, 1000, false); await showEncounterText(getEncounterText(`${namespace}:safari.angry`) ?? "", null, 1000, false);
} }
@ -274,7 +274,7 @@ async function summonSafariPokemon() {
const encounter = globalScene.currentBattle.mysteryEncounter!; const encounter = globalScene.currentBattle.mysteryEncounter!;
// Message pokemon remaining // Message pokemon remaining
encounter.setDialogueToken("remainingCount", encounter.misc.safariPokemonRemaining); encounter.setDialogueToken("remainingCount", encounter.misc.safariPokemonRemaining);
globalScene.phaseManager.queueMessage(getEncounterText(`${namespace}:safari.remaining_count`) ?? "", null, true); globalScene.phaseManager.queueMessage(getEncounterText(`${namespace}:safari.remainingCount`) ?? "", null, true);
// Generate pokemon using safariPokemonRemaining so they are always the same pokemon no matter how many turns are taken // 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 // Safari pokemon roll twice on shiny and HA chances, but are otherwise normal

View File

@ -155,7 +155,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui
chosenPokemon.setCustomNature(newNature); chosenPokemon.setCustomNature(newNature);
encounter.setDialogueToken("newNature", getNatureName(newNature)); encounter.setDialogueToken("newNature", getNatureName(newNature));
queueEncounterMessage(`${namespace}:cheap_side_effects`); queueEncounterMessage(`${namespace}:cheapSideEffects`);
setEncounterExp([chosenPokemon.id], 100); setEncounterExp([chosenPokemon.id], 100);
await chosenPokemon.updateInfo(); await chosenPokemon.updateInfo();
}) })
@ -215,7 +215,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui
const encounter = globalScene.currentBattle.mysteryEncounter!; const encounter = globalScene.currentBattle.mysteryEncounter!;
const chosenPokemon = encounter.misc.chosenPokemon; const chosenPokemon = encounter.misc.chosenPokemon;
queueEncounterMessage(`${namespace}:no_bad_effects`); queueEncounterMessage(`${namespace}:noBadEffects`);
setEncounterExp([chosenPokemon.id], 100); setEncounterExp([chosenPokemon.id], 100);
await chosenPokemon.updateInfo(); await chosenPokemon.updateInfo();

View File

@ -157,7 +157,7 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil
// Fall asleep waiting for Snorlax // Fall asleep waiting for Snorlax
// Full heal party // Full heal party
globalScene.phaseManager.unshiftNew("PartyHealPhase", true); globalScene.phaseManager.unshiftNew("PartyHealPhase", true);
queueEncounterMessage(`${namespace}:option.2.rest_result`); queueEncounterMessage(`${namespace}:option.2.restResult`);
leaveEncounterWithoutBattle(); leaveEncounterWithoutBattle();
}, },
) )

View File

@ -189,13 +189,13 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
// Dialogue and egg calcs for Pokemon 1 // Dialogue and egg calcs for Pokemon 1
const [pokemon1CommonEggs, pokemon1RareEggs] = calculateEggRewardsForPokemon(pokemon1); const [pokemon1CommonEggs, pokemon1RareEggs] = calculateEggRewardsForPokemon(pokemon1);
let pokemon1Tooltip = getEncounterText(`${namespace}:option.1.tooltip_base`)!; let pokemon1Tooltip = getEncounterText(`${namespace}:option.1.tooltipBase`)!;
if (pokemon1RareEggs > 0) { if (pokemon1RareEggs > 0) {
const eggsText = i18next.t(`${namespace}:numEggs`, { const eggsText = i18next.t(`${namespace}:numEggs`, {
count: pokemon1RareEggs, count: pokemon1RareEggs,
rarity: i18next.t("egg:greatTier"), rarity: i18next.t("egg:greatTier"),
}); });
pokemon1Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { pokemon1Tooltip += i18next.t(`${namespace}:eggsTooltip`, {
eggs: eggsText, eggs: eggsText,
}); });
encounter.setDialogueToken("pokemon1RareEggs", eggsText); encounter.setDialogueToken("pokemon1RareEggs", eggsText);
@ -205,7 +205,7 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
count: pokemon1CommonEggs, count: pokemon1CommonEggs,
rarity: i18next.t("egg:defaultTier"), rarity: i18next.t("egg:defaultTier"),
}); });
pokemon1Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { pokemon1Tooltip += i18next.t(`${namespace}:eggsTooltip`, {
eggs: eggsText, eggs: eggsText,
}); });
encounter.setDialogueToken("pokemon1CommonEggs", eggsText); encounter.setDialogueToken("pokemon1CommonEggs", eggsText);
@ -214,13 +214,13 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
// Dialogue and egg calcs for Pokemon 2 // Dialogue and egg calcs for Pokemon 2
const [pokemon2CommonEggs, pokemon2RareEggs] = calculateEggRewardsForPokemon(pokemon2); const [pokemon2CommonEggs, pokemon2RareEggs] = calculateEggRewardsForPokemon(pokemon2);
let pokemon2Tooltip = getEncounterText(`${namespace}:option.2.tooltip_base`)!; let pokemon2Tooltip = getEncounterText(`${namespace}:option.2.tooltipBase`)!;
if (pokemon2RareEggs > 0) { if (pokemon2RareEggs > 0) {
const eggsText = i18next.t(`${namespace}:numEggs`, { const eggsText = i18next.t(`${namespace}:numEggs`, {
count: pokemon2RareEggs, count: pokemon2RareEggs,
rarity: i18next.t("egg:greatTier"), rarity: i18next.t("egg:greatTier"),
}); });
pokemon2Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { pokemon2Tooltip += i18next.t(`${namespace}:eggsTooltip`, {
eggs: eggsText, eggs: eggsText,
}); });
encounter.setDialogueToken("pokemon2RareEggs", eggsText); encounter.setDialogueToken("pokemon2RareEggs", eggsText);
@ -230,7 +230,7 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
count: pokemon2CommonEggs, count: pokemon2CommonEggs,
rarity: i18next.t("egg:defaultTier"), rarity: i18next.t("egg:defaultTier"),
}); });
pokemon2Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { pokemon2Tooltip += i18next.t(`${namespace}:eggsTooltip`, {
eggs: eggsText, eggs: eggsText,
}); });
encounter.setDialogueToken("pokemon2CommonEggs", eggsText); encounter.setDialogueToken("pokemon2CommonEggs", eggsText);
@ -239,13 +239,13 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
// Dialogue and egg calcs for Pokemon 3 // Dialogue and egg calcs for Pokemon 3
const [pokemon3CommonEggs, pokemon3RareEggs] = calculateEggRewardsForPokemon(pokemon3); const [pokemon3CommonEggs, pokemon3RareEggs] = calculateEggRewardsForPokemon(pokemon3);
let pokemon3Tooltip = getEncounterText(`${namespace}:option.3.tooltip_base`)!; let pokemon3Tooltip = getEncounterText(`${namespace}:option.3.tooltipBase`)!;
if (pokemon3RareEggs > 0) { if (pokemon3RareEggs > 0) {
const eggsText = i18next.t(`${namespace}:numEggs`, { const eggsText = i18next.t(`${namespace}:numEggs`, {
count: pokemon3RareEggs, count: pokemon3RareEggs,
rarity: i18next.t("egg:greatTier"), rarity: i18next.t("egg:greatTier"),
}); });
pokemon3Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { pokemon3Tooltip += i18next.t(`${namespace}:eggsTooltip`, {
eggs: eggsText, eggs: eggsText,
}); });
encounter.setDialogueToken("pokemon3RareEggs", eggsText); encounter.setDialogueToken("pokemon3RareEggs", eggsText);
@ -255,7 +255,7 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
count: pokemon3CommonEggs, count: pokemon3CommonEggs,
rarity: i18next.t("egg:defaultTier"), rarity: i18next.t("egg:defaultTier"),
}); });
pokemon3Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { pokemon3Tooltip += i18next.t(`${namespace}:eggsTooltip`, {
eggs: eggsText, eggs: eggsText,
}); });
encounter.setDialogueToken("pokemon3CommonEggs", eggsText); encounter.setDialogueToken("pokemon3CommonEggs", eggsText);
@ -321,14 +321,14 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
]; ];
if (encounter.dialogueTokens.hasOwnProperty("pokemon1CommonEggs")) { if (encounter.dialogueTokens.hasOwnProperty("pokemon1CommonEggs")) {
encounter.dialogue.outro.push({ encounter.dialogue.outro.push({
text: i18next.t(`${namespace}:gained_eggs`, { text: i18next.t(`${namespace}:gainedEggs`, {
numEggs: encounter.dialogueTokens["pokemon1CommonEggs"], numEggs: encounter.dialogueTokens["pokemon1CommonEggs"],
}), }),
}); });
} }
if (encounter.dialogueTokens.hasOwnProperty("pokemon1RareEggs")) { if (encounter.dialogueTokens.hasOwnProperty("pokemon1RareEggs")) {
encounter.dialogue.outro.push({ encounter.dialogue.outro.push({
text: i18next.t(`${namespace}:gained_eggs`, { text: i18next.t(`${namespace}:gainedEggs`, {
numEggs: encounter.dialogueTokens["pokemon1RareEggs"], numEggs: encounter.dialogueTokens["pokemon1RareEggs"],
}), }),
}); });
@ -380,14 +380,14 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
]; ];
if (encounter.dialogueTokens.hasOwnProperty("pokemon2CommonEggs")) { if (encounter.dialogueTokens.hasOwnProperty("pokemon2CommonEggs")) {
encounter.dialogue.outro.push({ encounter.dialogue.outro.push({
text: i18next.t(`${namespace}:gained_eggs`, { text: i18next.t(`${namespace}:gainedEggs`, {
numEggs: encounter.dialogueTokens["pokemon2CommonEggs"], numEggs: encounter.dialogueTokens["pokemon2CommonEggs"],
}), }),
}); });
} }
if (encounter.dialogueTokens.hasOwnProperty("pokemon2RareEggs")) { if (encounter.dialogueTokens.hasOwnProperty("pokemon2RareEggs")) {
encounter.dialogue.outro.push({ encounter.dialogue.outro.push({
text: i18next.t(`${namespace}:gained_eggs`, { text: i18next.t(`${namespace}:gainedEggs`, {
numEggs: encounter.dialogueTokens["pokemon2RareEggs"], numEggs: encounter.dialogueTokens["pokemon2RareEggs"],
}), }),
}); });
@ -439,14 +439,14 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount
]; ];
if (encounter.dialogueTokens.hasOwnProperty("pokemon3CommonEggs")) { if (encounter.dialogueTokens.hasOwnProperty("pokemon3CommonEggs")) {
encounter.dialogue.outro.push({ encounter.dialogue.outro.push({
text: i18next.t(`${namespace}:gained_eggs`, { text: i18next.t(`${namespace}:gainedEggs`, {
numEggs: encounter.dialogueTokens["pokemon3CommonEggs"], numEggs: encounter.dialogueTokens["pokemon3CommonEggs"],
}), }),
}); });
} }
if (encounter.dialogueTokens.hasOwnProperty("pokemon3RareEggs")) { if (encounter.dialogueTokens.hasOwnProperty("pokemon3RareEggs")) {
encounter.dialogue.outro.push({ encounter.dialogue.outro.push({
text: i18next.t(`${namespace}:gained_eggs`, { text: i18next.t(`${namespace}:gainedEggs`, {
numEggs: encounter.dialogueTokens["pokemon3RareEggs"], numEggs: encounter.dialogueTokens["pokemon3RareEggs"],
}), }),
}); });
@ -482,7 +482,7 @@ function getPartyConfig(): EnemyPartyConfig {
trainerType: TrainerType.EXPERT_POKEMON_BREEDER, trainerType: TrainerType.EXPERT_POKEMON_BREEDER,
pokemonConfigs: [ pokemonConfigs: [
{ {
nickname: i18next.t(`${namespace}:cleffa_1_nickname`, { nickname: i18next.t(`${namespace}:cleffa1Nickname`, {
speciesName: getPokemonSpecies(cleffaSpecies).getName(), speciesName: getPokemonSpecies(cleffaSpecies).getName(),
}), }),
species: getPokemonSpecies(cleffaSpecies), species: getPokemonSpecies(cleffaSpecies),
@ -501,7 +501,7 @@ function getPartyConfig(): EnemyPartyConfig {
// All 3 members always Cleffa line, but different configs // All 3 members always Cleffa line, but different configs
baseConfig.pokemonConfigs!.push( baseConfig.pokemonConfigs!.push(
{ {
nickname: i18next.t(`${namespace}:cleffa_2_nickname`, { nickname: i18next.t(`${namespace}:cleffa2Nickname`, {
speciesName: getPokemonSpecies(cleffaSpecies).getName(), speciesName: getPokemonSpecies(cleffaSpecies).getName(),
}), }),
species: getPokemonSpecies(cleffaSpecies), species: getPokemonSpecies(cleffaSpecies),
@ -514,7 +514,7 @@ function getPartyConfig(): EnemyPartyConfig {
ivs: [31, 31, 31, 31, 31, 31], ivs: [31, 31, 31, 31, 31, 31],
}, },
{ {
nickname: i18next.t(`${namespace}:cleffa_3_nickname`, { nickname: i18next.t(`${namespace}:cleffa3Nickname`, {
speciesName: getPokemonSpecies(cleffaSpecies).getName(), speciesName: getPokemonSpecies(cleffaSpecies).getName(),
}), }),
species: getPokemonSpecies(cleffaSpecies), species: getPokemonSpecies(cleffaSpecies),
@ -647,7 +647,7 @@ function onGameOver() {
encounter.dialogue.outro = [ encounter.dialogue.outro = [
{ {
speaker: trainerNameKey, speaker: trainerNameKey,
text: `${namespace}:outro_failed`, text: `${namespace}:outroFailed`,
}, },
]; ];

View File

@ -178,8 +178,8 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui
// Always max price for shiny (flip HA back to normal), and add special messaging // Always max price for shiny (flip HA back to normal), and add special messaging
priceMultiplier = MAX_POKEMON_PRICE_MULTIPLIER; priceMultiplier = MAX_POKEMON_PRICE_MULTIPLIER;
pokemon.abilityIndex = 0; pokemon.abilityIndex = 0;
encounter.dialogue.encounterOptionsDialogue!.description = `${namespace}:description_shiny`; encounter.dialogue.encounterOptionsDialogue!.description = `${namespace}:descriptionShiny`;
encounter.options[0].dialogue!.buttonTooltip = `${namespace}:option.1.tooltip_shiny`; encounter.options[0].dialogue!.buttonTooltip = `${namespace}:option.1.tooltipShiny`;
} }
const price = globalScene.getWaveMoneyAmount(priceMultiplier); const price = globalScene.getWaveMoneyAmount(priceMultiplier);
encounter.setDialogueToken("purchasePokemon", pokemon.getNameToRender()); encounter.setDialogueToken("purchasePokemon", pokemon.getNameToRender());

View File

@ -163,7 +163,7 @@ async function spawnNextTrainerOrEndEncounter() {
globalScene.playSound("item_fanfare"); globalScene.playSound("item_fanfare");
await showEncounterText(i18next.t("battle:rewardGain", { modifierName: newModifier?.type.name })); await showEncounterText(i18next.t("battle:rewardGain", { modifierName: newModifier?.type.name }));
await showEncounterDialogue(`${namespace}:victory_2`, `${namespace}:speaker`); await showEncounterDialogue(`${namespace}:victory2`, `${namespace}:speaker`);
globalScene.ui.clearText(); // Clears "Winstrate" title from screen as rewards get animated in globalScene.ui.clearText(); // Clears "Winstrate" title from screen as rewards get animated in
const machoBrace = generateModifierTypeOption(modifierTypes.MYSTERY_ENCOUNTER_MACHO_BRACE)!; const machoBrace = generateModifierTypeOption(modifierTypes.MYSTERY_ENCOUNTER_MACHO_BRACE)!;
machoBrace.type.tier = ModifierTier.MASTER; machoBrace.type.tier = ModifierTier.MASTER;

View File

@ -216,7 +216,7 @@ export const WeirdDreamEncounter: MysteryEncounter = MysteryEncounterBuilder.wit
await cutsceneDialoguePromise; await cutsceneDialoguePromise;
doHideDreamBackground(); doHideDreamBackground();
await showEncounterText(`${namespace}:option.1.dream_complete`); await showEncounterText(`${namespace}:option.1.dreamComplete`);
await doNewTeamPostProcess(transformations); await doNewTeamPostProcess(transformations);
setEncounterRewards({ setEncounterRewards({

View File

@ -1053,7 +1053,7 @@ export class StarterSelectUiHandler extends MessageUiHandler {
this.moveInfoOverlay = new MoveInfoOverlay({ this.moveInfoOverlay = new MoveInfoOverlay({
top: true, top: true,
x: 1, x: 1,
y: globalScene.scaledCanvas.height / 6 - MoveInfoOverlay.getHeight() - 29, y: globalScene.scaledCanvas.height - MoveInfoOverlay.getHeight() - 29,
}); });
this.starterSelectContainer.add([ this.starterSelectContainer.add([

View File

@ -98,7 +98,7 @@ describe("Global Trade System - Mystery Encounter", () => {
expect(option.dialogue).toStrictEqual({ expect(option.dialogue).toStrictEqual({
buttonLabel: `${namespace}:option.1.label`, buttonLabel: `${namespace}:option.1.label`,
buttonTooltip: `${namespace}:option.1.tooltip`, buttonTooltip: `${namespace}:option.1.tooltip`,
secondOptionPrompt: `${namespace}:option.1.trade_options_prompt`, secondOptionPrompt: `${namespace}:option.1.tradeOptionsPrompt`,
}); });
}); });
@ -210,7 +210,7 @@ describe("Global Trade System - Mystery Encounter", () => {
expect(option.dialogue).toStrictEqual({ expect(option.dialogue).toStrictEqual({
buttonLabel: `${namespace}:option.3.label`, buttonLabel: `${namespace}:option.3.label`,
buttonTooltip: `${namespace}:option.3.tooltip`, buttonTooltip: `${namespace}:option.3.tooltip`,
secondOptionPrompt: `${namespace}:option.3.trade_options_prompt`, secondOptionPrompt: `${namespace}:option.3.tradeOptionsPrompt`,
}); });
}); });

View File

@ -99,7 +99,7 @@ describe("Lost at Sea - Mystery Encounter", () => {
expect(option1.dialogue).toBeDefined(); expect(option1.dialogue).toBeDefined();
expect(option1.dialogue).toStrictEqual({ expect(option1.dialogue).toStrictEqual({
buttonLabel: `${namespace}:option.1.label`, buttonLabel: `${namespace}:option.1.label`,
disabledButtonLabel: `${namespace}:option.1.label_disabled`, disabledButtonLabel: `${namespace}:option.1.labelDisabled`,
buttonTooltip: `${namespace}:option.1.tooltip`, buttonTooltip: `${namespace}:option.1.tooltip`,
disabledButtonTooltip: `${namespace}:option.1.tooltipDisabled`, disabledButtonTooltip: `${namespace}:option.1.tooltipDisabled`,
selected: [ selected: [
@ -162,7 +162,7 @@ describe("Lost at Sea - Mystery Encounter", () => {
expect(option2.dialogue).toBeDefined(); expect(option2.dialogue).toBeDefined();
expect(option2.dialogue).toStrictEqual({ expect(option2.dialogue).toStrictEqual({
buttonLabel: `${namespace}:option.2.label`, buttonLabel: `${namespace}:option.2.label`,
disabledButtonLabel: `${namespace}:option.2.label_disabled`, disabledButtonLabel: `${namespace}:option.2.labelDisabled`,
buttonTooltip: `${namespace}:option.2.tooltip`, buttonTooltip: `${namespace}:option.2.tooltip`,
disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`, disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`,
selected: [ selected: [