From 8c05693b8362125202ee23550a151905e8a3c370 Mon Sep 17 00:00:00 2001 From: Bertie690 <136088738+Bertie690@users.noreply.github.com> Date: Thu, 10 Jul 2025 00:15:16 +0200 Subject: [PATCH 1/6] [Docs] Fix typos in localization.md (#6076) --- docs/localization.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/localization.md b/docs/localization.md index 0e3307a950d..0fe950a361d 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -1,6 +1,6 @@ # Localization 101 -PokéRogue's localization team puts immense effort into making the game accessible around the world, supporting over 12 different languages at the time of writing this document. \ +PokéRogue's localization team puts immense effort into making the game accessible around the world, supporting over 12 different languages at the time of writing this document. As a developer, it's important to help maintain global accessibility by effectively coordinating with the Translation Team on any new features or enhancements. This document aims to cover everything you need to know to help keep the integration process for localization smooth and simple. @@ -28,7 +28,6 @@ The parent repo (the "superproject") houses a cloned version of the 2nd reposito > > ![Image showing Visual Studio Code's Source Control tab. A separate dropdown can be seen for each individual submodule.](https://github.com/user-attachments/assets/8b4d3f64-aec1-4474-91df-03dc1252a2fa "Making commits on submodules without even changing directories!") -From the perspective of the main project, the locales submodule is fairly simple to work with. ## Fetching Changes from Submodules The following command will initialize your branch's locales repository and update its HEAD: @@ -36,10 +35,10 @@ The following command will initialize your branch's locales repository and updat git submodule update --init --recursive ``` -> [!INFO] -> This is run _automatically_ after cloning, merging or changing branches, so you should rarely have to run it manually. +> [!TIP] +> This command is run _automatically_ after cloning, merging or changing branches, so you should rarely have to run it manually. -> [!WARNING] +> [!IMPORTANT] > If you run into issues with the `locales` submodule, try deleting the `.git/modules/public` and `public/locales` folders before re-running the command. ## How Are Translations Integrated? @@ -66,7 +65,7 @@ The basic process for fetching translated text goes roughly as follows: ``` # Submitting Locales Changes -If you have a feature or enhancement that requires additions or changes to in-game text, you will need to make a fork of the `pokerogue-locales` repo and submit your text changes as a pull request _in addition_ to your pull request to the main project. \ +If you have a feature or enhancement that requires additions or changes to in-game text, you will need to make a fork of the `pokerogue-locales` repo and submit your text changes as a pull request _in addition_ to your pull request to the main project. Since these two PRs aren't _technically_ linked, it's important to coordinate with the Translation Team to ensure that both PRs are integrated safely into the project. > [!CAUTION] @@ -78,8 +77,8 @@ One perk of submodules is you don't actually _need_ to clone the locales reposit Given `pokerogue-locales` is a full-fledged `git` repository _inside_ `pokerogue`, making changes is roughly the same as normal, merely using `public/locales` as your root directory. -> [!IMPORTANT] -> Make sure to checkout or rebase onto `upstream/HEAD` **BEFORE** creating a PR! \ +> [!WARNING] +> Make sure to checkout or rebase onto `upstream/HEAD` **BEFORE** creating a PR! > The checked-out commit is based on the superproject's SHA-1 by default, so hastily making changes may see you basing your commits on last week's `HEAD`. ## Requirements for Adding Translated Text @@ -88,7 +87,7 @@ When your new feature or enhancement requires adding a new locales key **without If this feature requires new text, the text should be integrated into the code with a new `i18next` key pointing to where you plan to add it into the locales repository. 2. You then make another pull request — this time to the `pokerogue-locales` repository — adding a new entry with text for each key you added to your main PR. - You must add the corresponding **English keys** while making the PR; the Translation Team can take care of the rest[^2]. - - For any feature pulled from the mainline Pokémon games (e.g. a Move or Ability implementation), it's best practice to include a source link for any added text. \ + - For any feature pulled from the mainline Pokémon games (e.g. a Move or Ability implementation), it's best practice to include a source link for any added text. [Poké Corpus](https://abcboy101.github.io/poke-corpus/) is a great resource for finding text from the mainline games; otherwise, a video/picture showing the text being displayed should suffice. - You should also [notify the current Head of Translation](#notifying-translation) to ensure a fast response. 3. At this point, you may begin [testing locales integration in your main PR](#documenting-locales-changes). From ee02366ccf6ea941ef5f9d338003b42b6018feac Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Fri, 11 Jul 2025 01:09:09 -0600 Subject: [PATCH 2/6] [Misc] Make FixedInt support coercion to number primitive (#6081) --- src/utils/common.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/utils/common.ts b/src/utils/common.ts index 753d6ebb865..569f69e132e 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -341,6 +341,10 @@ export class NumberHolder { constructor(value: number) { this.value = value; } + + valueOf(): number { + return this.value; + } } export class FixedInt { @@ -349,6 +353,10 @@ export class FixedInt { constructor(value: number) { this.value = value; } + + [Symbol.toPrimitive](_hint: string): number { + return this.value; + } } export function fixedInt(value: number): number { From 9958e4fe138648eefa447926117113762fc2f4aa Mon Sep 17 00:00:00 2001 From: Bertie690 <136088738+Bertie690@users.noreply.github.com> Date: Fri, 11 Jul 2025 19:33:15 +0200 Subject: [PATCH 3/6] [Test] Remove duplicate tests (#6082) * Remove duplicate tests from parental bond test file * Remove duplicate multi lens + pollen puff test --- test/abilities/parental_bond.test.ts | 37 +--------------------------- test/items/multi_lens.test.ts | 17 ------------- 2 files changed, 1 insertion(+), 53 deletions(-) diff --git a/test/abilities/parental_bond.test.ts b/test/abilities/parental_bond.test.ts index fd914b86100..9a5ab17da37 100644 --- a/test/abilities/parental_bond.test.ts +++ b/test/abilities/parental_bond.test.ts @@ -193,6 +193,7 @@ describe("Abilities - Parental Bond", () => { expect(leadPokemon.turnData.hitCount).toBe(2); }); + // TODO: consolidate all these tests into 1 block it("should only trigger post-target move effects once", async () => { game.override.moveset([MoveId.MIND_BLOWN]); @@ -233,42 +234,6 @@ describe("Abilities - Parental Bond", () => { expect(leadPokemon.isOfType(PokemonType.FIRE)).toBe(false); }); - it("Moves boosted by this ability and Multi-Lens should strike 3 times", async () => { - game.override.moveset([MoveId.TACKLE]).startingHeldItems([{ name: "MULTI_LENS", count: 1 }]); - - await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - - const leadPokemon = game.scene.getPlayerPokemon()!; - - game.move.select(MoveId.TACKLE); - - await game.phaseInterceptor.to("DamageAnimPhase"); - - expect(leadPokemon.turnData.hitCount).toBe(3); - }); - - it("Seismic Toss boosted by this ability and Multi-Lens should strike 3 times", async () => { - game.override.moveset([MoveId.SEISMIC_TOSS]).startingHeldItems([{ name: "MULTI_LENS", count: 1 }]); - - await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - - const leadPokemon = game.scene.getPlayerPokemon()!; - const enemyPokemon = game.scene.getEnemyPokemon()!; - - const enemyStartingHp = enemyPokemon.hp; - - game.move.select(MoveId.SEISMIC_TOSS); - await game.move.forceHit(); - - await game.phaseInterceptor.to("DamageAnimPhase"); - - expect(leadPokemon.turnData.hitCount).toBe(3); - - await game.phaseInterceptor.to("MoveEndPhase", false); - - expect(enemyPokemon.hp).toBe(enemyStartingHp - 200); - }); - it("Hyper Beam boosted by this ability should strike twice, then recharge", async () => { game.override.moveset([MoveId.HYPER_BEAM]); diff --git a/test/items/multi_lens.test.ts b/test/items/multi_lens.test.ts index 8a3161970c0..5d4732a8bcd 100644 --- a/test/items/multi_lens.test.ts +++ b/test/items/multi_lens.test.ts @@ -211,21 +211,4 @@ describe("Items - Multi Lens", () => { // TODO: Update hit count to 1 once Future Sight is fixed to not activate held items if user is off the field expect(enemyPokemon.damageAndUpdate).toHaveBeenCalledTimes(2); }); - - it("should not allow Pollen Puff to heal ally more than once", async () => { - game.override.battleStyle("double").moveset([MoveId.POLLEN_PUFF, MoveId.ENDURE]); - await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.OMANYTE]); - - const [, rightPokemon] = game.scene.getPlayerField(); - - rightPokemon.damageAndUpdate(rightPokemon.hp - 1); - - game.move.select(MoveId.POLLEN_PUFF, 0, BattlerIndex.PLAYER_2); - game.move.select(MoveId.ENDURE, 1); - - await game.toNextTurn(); - - // Pollen Puff heals with a ratio of 0.5, as long as Pollen Puff triggers only once the pokemon will always be <= (0.5 * Max HP) + 1 - expect(rightPokemon.hp).toBeLessThanOrEqual(0.5 * rightPokemon.getMaxHp() + 1); - }); }); From bc458699125421e9c72d57dc40919c4175c9a2b2 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Fri, 11 Jul 2025 11:38:35 -0600 Subject: [PATCH 4/6] [Performance] [Refactor] [UI/UX] Cleanup egg gacha UI, Speed Up Machines (#5889) * Convert egg gacha type into an object literal * Refactor egg gacha ui handler * Apply kev's suggestions from code review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Condense Object.freeze inside of gacha-type.ts --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/enums/gacha-types.ts | 12 +- src/loading-scene.ts | 4 +- src/ui/egg-gacha-ui-handler.ts | 923 +++++++++++++++++---------------- 3 files changed, 483 insertions(+), 456 deletions(-) diff --git a/src/enums/gacha-types.ts b/src/enums/gacha-types.ts index c8beff5cad2..cd0bc67eae0 100644 --- a/src/enums/gacha-types.ts +++ b/src/enums/gacha-types.ts @@ -1,5 +1,7 @@ -export enum GachaType { - MOVE, - LEGENDARY, - SHINY -} +export const GachaType = Object.freeze({ + MOVE: 0, + LEGENDARY: 1, + SHINY: 2 +}); + +export type GachaType = typeof GachaType[keyof typeof GachaType]; diff --git a/src/loading-scene.ts b/src/loading-scene.ts index f67d19e1027..5491930715c 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -4,7 +4,7 @@ import CacheBustedLoaderPlugin from "#app/plugins/cache-busted-loader-plugin"; import { SceneBase } from "#app/scene-base"; import { WindowVariant, getWindowVariantSuffix } from "#app/ui/ui-theme"; import { isMobile } from "#app/touch-controls"; -import { localPing, getEnumValues, hasAllLocalizedSprites, getEnumKeys } from "#app/utils/common"; +import { localPing, getEnumValues, hasAllLocalizedSprites } from "#app/utils/common"; import { initPokemonPrevolutions, initPokemonStarters } from "#app/data/balance/pokemon-evolutions"; import { initBiomes } from "#app/data/balance/biomes"; import { initEggMoves } from "#app/data/balance/egg-moves"; @@ -270,7 +270,7 @@ export class LoadingScene extends SceneBase { this.loadAtlas("egg_icons", "egg"); this.loadAtlas("egg_shard", "egg"); this.loadAtlas("egg_lightrays", "egg"); - for (const gt of getEnumKeys(GachaType)) { + for (const gt of Object.keys(GachaType)) { const key = gt.toLowerCase(); this.loadImage(`gacha_${key}`, "egg"); this.loadAtlas(`gacha_underlay_${key}`, "egg"); diff --git a/src/ui/egg-gacha-ui-handler.ts b/src/ui/egg-gacha-ui-handler.ts index 9e15bef0dea..a551dd05a6b 100644 --- a/src/ui/egg-gacha-ui-handler.ts +++ b/src/ui/egg-gacha-ui-handler.ts @@ -1,7 +1,7 @@ import { UiMode } from "#enums/ui-mode"; import { TextStyle, addTextObject, getEggTierTextTint, getTextStyleOptions } from "./text"; import MessageUiHandler from "./message-ui-handler"; -import { getEnumValues, getEnumKeys, fixedInt, randSeedShuffle } from "#app/utils/common"; +import { fixedInt, randSeedShuffle, getEnumValues } from "#app/utils/common"; import type { IEggOptions } from "../data/egg"; import { Egg, getLegendaryGachaSpeciesForTimestamp } from "../data/egg"; import { VoucherType, getVoucherTypeIcon } from "../system/voucher"; @@ -38,6 +38,9 @@ export default class EggGachaUiHandler extends MessageUiHandler { private summaryFinished: boolean; private defaultText: string; + /** The tween chain playing the egg drop animation sequence */ + private eggDropTweenChain?: Phaser.Tweens.TweenChain; + private scale = 0.1666666667; private legendaryExpiration = addTextObject(0, 0, "", TextStyle.WINDOW_ALT); @@ -55,18 +58,124 @@ export default class EggGachaUiHandler extends MessageUiHandler { this.defaultText = i18next.t("egg:selectMachine"); } + private setupGachaType(key: keyof typeof GachaType, gachaType: GachaType): void { + const gachaTypeKey = key.toLowerCase(); + const gachaContainer = globalScene.add.container(180 * gachaType, 18); + + const gacha = globalScene.add.sprite(0, 0, `gacha_${gachaTypeKey}`).setOrigin(0); + + const gachaUnderlay = globalScene.add.sprite(115, 80, `gacha_underlay_${gachaTypeKey}`).setOrigin(0); + + const gachaEggs = globalScene.add.sprite(0, 0, "gacha_eggs").setOrigin(0); + + const gachaGlass = globalScene.add.sprite(0, 0, "gacha_glass").setOrigin(0); + + const gachaInfoContainer = globalScene.add.container(160, 46); + + const currentLanguage = i18next.resolvedLanguage ?? "en"; + let gachaTextStyle = TextStyle.WINDOW_ALT; + let gachaX = 4; + let gachaY = 0; + let pokemonIconX = -20; + let pokemonIconY = 6; + + if (["de", "es-ES", "es-MX", "fr", "ko", "pt-BR", "ru"].includes(currentLanguage)) { + gachaTextStyle = TextStyle.SMALLER_WINDOW_ALT; + gachaX = 2; + gachaY = 2; + } + + let legendaryLabelX = gachaX; + let legendaryLabelY = gachaY; + if (["de", "es-ES", "es-MX"].includes(currentLanguage)) { + pokemonIconX = -25; + pokemonIconY = 10; + legendaryLabelX = -6; + legendaryLabelY = 0; + } + + const gachaUpLabel = addTextObject(gachaX, gachaY, i18next.t("egg:legendaryUPGacha"), gachaTextStyle).setOrigin(0); + gachaInfoContainer.add(gachaUpLabel); + + switch (gachaType as GachaType) { + case GachaType.LEGENDARY: + { + if (["de", "es-ES"].includes(currentLanguage)) { + gachaUpLabel.setAlign("center"); + } + let xOffset = 0; + const pokemonIcon = globalScene.add.sprite(pokemonIconX, pokemonIconY, "pokemon_icons_0"); + + // Intentionally left as "array includes" instead of an equality check to allow for future languages to reuse + if (["pt-BR"].includes(currentLanguage)) { + xOffset = 2; + pokemonIcon.setX(pokemonIconX - 2); + } + + gachaUpLabel.setX(legendaryLabelX - xOffset).setY(legendaryLabelY); + pokemonIcon.setScale(0.5).setOrigin(0, 0.5); + gachaInfoContainer.add(pokemonIcon); + } + break; + case GachaType.MOVE: + if (["de", "es-ES", "fr", "pt-BR", "ru"].includes(currentLanguage)) { + gachaUpLabel.setAlign("center").setY(0); + } + + gachaUpLabel.setText(i18next.t("egg:moveUPGacha")).setX(0).setOrigin(0.5, 0); + break; + case GachaType.SHINY: + if (["de", "fr", "ko", "ru"].includes(currentLanguage)) { + gachaUpLabel.setAlign("center").setY(0); + } + + gachaUpLabel.setText(i18next.t("egg:shinyUPGacha")).setX(0).setOrigin(0.5, 0); + break; + } + + const gachaKnob = globalScene.add.sprite(191, 89, "gacha_knob"); + + const gachaHatch = globalScene.add.sprite(115, 73, "gacha_hatch"); + gachaHatch.setOrigin(0).setAlpha(0.9); + gachaGlass.setAlpha(0.5); + gachaContainer.add([gachaEggs, gachaUnderlay, gacha, gachaGlass, gachaKnob, gachaHatch, gachaInfoContainer]); + + gachaHatch.on("animationupdate", (_anim, frame) => + gachaUnderlay.setFrame(frame.textureFrame === "4.png" ? "open_hatch" : "default"), + ); + + this.gachaContainers.push(gachaContainer); + this.gachaKnobs.push(gachaKnob); + this.gachaHatches.push(gachaHatch); + this.gachaInfoContainers.push(gachaInfoContainer); + + this.eggGachaContainer.add(gachaContainer); + + if (gachaType === GachaType.LEGENDARY) { + // Expiration timer for the legendary gacha + this.legendaryExpiration + .setText(this.getLegendaryGachaTimeLeft()) + .setFontSize("64px") + .setPositionRelative( + gacha, + gacha.width / 2 - this.legendaryExpiration.displayWidth / 2 + 0.3, + gacha.height / 2 + 12.5, + ); + gachaContainer.add(this.legendaryExpiration); + this.updateLegendaryGacha(); + } + } + setup() { this.gachaCursor = 0; this.scale = getTextStyleOptions(TextStyle.WINDOW, globalScene.uiTheme).scale; const ui = this.getUi(); - this.eggGachaContainer = globalScene.add.container(0, -globalScene.game.canvas.height / 6); - this.eggGachaContainer.setVisible(false); + this.eggGachaContainer = globalScene.add.container(0, -globalScene.game.canvas.height / 6).setVisible(false); ui.add(this.eggGachaContainer); - const bg = globalScene.add.nineslice(0, 0, "default_bg", undefined, 320, 180, 0, 0, 16, 0); - bg.setOrigin(0, 0); + const bg = globalScene.add.nineslice(0, 0, "default_bg", undefined, 320, 180, 0, 0, 16, 0).setOrigin(0); this.eggGachaContainer.add(bg); @@ -86,144 +195,10 @@ export default class EggGachaUiHandler extends MessageUiHandler { }); } - getEnumValues(GachaType).forEach((gachaType, g) => { - const gachaTypeKey = GachaType[gachaType].toString().toLowerCase(); - const gachaContainer = globalScene.add.container(180 * g, 18); + for (const [gachaTypeKey, gachaType] of Object.entries(GachaType)) { + this.setupGachaType(gachaTypeKey as keyof typeof GachaType, gachaType); + } - const gacha = globalScene.add.sprite(0, 0, `gacha_${gachaTypeKey}`); - gacha.setOrigin(0, 0); - - const gachaUnderlay = globalScene.add.sprite(115, 80, `gacha_underlay_${gachaTypeKey}`); - gachaUnderlay.setOrigin(0, 0); - - const gachaEggs = globalScene.add.sprite(0, 0, "gacha_eggs"); - gachaEggs.setOrigin(0, 0); - - const gachaGlass = globalScene.add.sprite(0, 0, "gacha_glass"); - gachaGlass.setOrigin(0, 0); - - const gachaInfoContainer = globalScene.add.container(160, 46); - - const currentLanguage = i18next.resolvedLanguage ?? "en"; - let gachaTextStyle = TextStyle.WINDOW_ALT; - let gachaX = 4; - let gachaY = 0; - let pokemonIconX = -20; - let pokemonIconY = 6; - - if (["de", "es-ES", "es-MX", "fr", "ko", "pt-BR", "ru"].includes(currentLanguage)) { - gachaTextStyle = TextStyle.SMALLER_WINDOW_ALT; - gachaX = 2; - gachaY = 2; - } - - let legendaryLabelX = gachaX; - let legendaryLabelY = gachaY; - if (["de", "es-ES", "es-MX"].includes(currentLanguage)) { - pokemonIconX = -25; - pokemonIconY = 10; - legendaryLabelX = -6; - legendaryLabelY = 0; - } - - const gachaUpLabel = addTextObject(gachaX, gachaY, i18next.t("egg:legendaryUPGacha"), gachaTextStyle); - gachaUpLabel.setOrigin(0, 0); - gachaInfoContainer.add(gachaUpLabel); - - switch (gachaType as GachaType) { - case GachaType.LEGENDARY: { - if (["de", "es-ES"].includes(currentLanguage)) { - gachaUpLabel.setAlign("center"); - gachaUpLabel.setY(0); - } - if (["pt-BR"].includes(currentLanguage)) { - gachaUpLabel.setX(legendaryLabelX - 2); - } else { - gachaUpLabel.setX(legendaryLabelX); - } - gachaUpLabel.setY(legendaryLabelY); - - const pokemonIcon = globalScene.add.sprite(pokemonIconX, pokemonIconY, "pokemon_icons_0"); - if (["pt-BR"].includes(currentLanguage)) { - pokemonIcon.setX(pokemonIconX - 2); - } - pokemonIcon.setScale(0.5); - pokemonIcon.setOrigin(0, 0.5); - - gachaInfoContainer.add(pokemonIcon); - break; - } - case GachaType.MOVE: - if (["de", "es-ES", "fr", "pt-BR", "ru"].includes(currentLanguage)) { - gachaUpLabel.setAlign("center"); - gachaUpLabel.setY(0); - } - - gachaUpLabel.setText(i18next.t("egg:moveUPGacha")); - gachaUpLabel.setX(0); - gachaUpLabel.setOrigin(0.5, 0); - break; - case GachaType.SHINY: - if (["de", "fr", "ko", "ru"].includes(currentLanguage)) { - gachaUpLabel.setAlign("center"); - gachaUpLabel.setY(0); - } - - gachaUpLabel.setText(i18next.t("egg:shinyUPGacha")); - gachaUpLabel.setX(0); - gachaUpLabel.setOrigin(0.5, 0); - break; - } - - const gachaKnob = globalScene.add.sprite(191, 89, "gacha_knob"); - - const gachaHatch = globalScene.add.sprite(115, 73, "gacha_hatch"); - gachaHatch.setOrigin(0, 0); - - gachaContainer.add(gachaEggs); - gachaContainer.add(gachaUnderlay); - gachaContainer.add(gacha); - gachaContainer.add(gachaGlass); - gachaContainer.add(gachaKnob); - gachaContainer.add(gachaHatch); - gachaContainer.add(gachaInfoContainer); - - gachaGlass.setAlpha(0.5); - gachaHatch.setAlpha(0.9); - - gachaHatch.on("animationupdate", (_anim, frame) => - gachaUnderlay.setFrame(frame.textureFrame === "4.png" ? "open_hatch" : "default"), - ); - - this.gachaContainers.push(gachaContainer); - this.gachaKnobs.push(gachaKnob); - this.gachaHatches.push(gachaHatch); - this.gachaInfoContainers.push(gachaInfoContainer); - - this.eggGachaContainer.add(gachaContainer); - - // Expiration timer for the legendary gacha - if (gachaType === GachaType.LEGENDARY) { - this.legendaryExpiration - .setText(this.getLegendaryGachaTimeLeft()) - .setFontSize("64px") - .setPositionRelative( - gacha, - gacha.width / 2 - this.legendaryExpiration.displayWidth / 2 + 0.3, - gacha.height / 2 + 12.5, - ); - gachaContainer.add(this.legendaryExpiration); - } - - this.updateGachaInfo(g); - }); - - this.eggGachaOptionsContainer = globalScene.add.container(); - - this.eggGachaOptionsContainer = globalScene.add.container(globalScene.game.canvas.width / 6, 148); - this.eggGachaContainer.add(this.eggGachaOptionsContainer); - - // Increase egg box width on certain languages let eggGachaOptionSelectWidth = 0; switch (i18next.resolvedLanguage) { case "ru": @@ -233,9 +208,11 @@ export default class EggGachaUiHandler extends MessageUiHandler { eggGachaOptionSelectWidth = 96; } - this.eggGachaOptionSelectBg = addWindow(0, 0, eggGachaOptionSelectWidth, 16 + 576 * this.scale); - this.eggGachaOptionSelectBg.setOrigin(1, 1); - this.eggGachaOptionsContainer.add(this.eggGachaOptionSelectBg); + this.eggGachaOptionSelectBg = addWindow(0, 0, eggGachaOptionSelectWidth, 16 + 576 * this.scale).setOrigin(1); + this.eggGachaOptionsContainer = globalScene.add + .container(globalScene.game.canvas.width / 6, 148) + .add(this.eggGachaOptionSelectBg); + this.eggGachaContainer.add(this.eggGachaOptionsContainer); const multiplierOne = "x1"; const multiplierTen = "x10"; @@ -275,25 +252,24 @@ export default class EggGachaUiHandler extends MessageUiHandler { desc[0] += ["zh", "ko"].includes(resolvedLanguage.substring(0, 2)) ? " " : " "; } if (option.multiplier === multiplierOne) { - desc[0] = " " + desc[0]; + desc[0] += " "; } return ` ${option.multiplier.padEnd(5)}${desc.join(" ")}`; }) .join("\n"); - const optionText = addTextObject(0, 0, `${pullOptionsText}\n${i18next.t("menu:cancel")}`, TextStyle.WINDOW); - - optionText.setLineSpacing(28); - optionText.setFontSize("80px"); + const optionText = addTextObject(0, 0, `${pullOptionsText}\n${i18next.t("menu:cancel")}`, TextStyle.WINDOW) + .setLineSpacing(28) + .setFontSize("80px") + .setPositionRelative(this.eggGachaOptionSelectBg, 16, 9); this.eggGachaOptionsContainer.add(optionText); - optionText.setPositionRelative(this.eggGachaOptionSelectBg, 16, 9); - pullOptions.forEach((option, i) => { - const icon = globalScene.add.sprite(0, 0, "items", option.icon); - icon.setScale(3 * this.scale); - icon.setPositionRelative(this.eggGachaOptionSelectBg, 20, 9 + (48 + i * 96) * this.scale); + const icon = globalScene.add + .sprite(0, 0, "items", option.icon) + .setScale(3 * this.scale) + .setPositionRelative(this.eggGachaOptionSelectBg, 20, 9 + (48 + i * 96) * this.scale); this.eggGachaOptionsContainer.add(icon); }); @@ -302,48 +278,40 @@ export default class EggGachaUiHandler extends MessageUiHandler { for (const voucher of getEnumValues(VoucherType)) { const container = globalScene.add.container(globalScene.game.canvas.width / 6 - 56 * voucher, 0); - const bg = addWindow(0, 0, 56, 22); - bg.setOrigin(1, 0); + const bg = addWindow(0, 0, 56, 22).setOrigin(1, 0); container.add(bg); - const countLabel = addTextObject(-48, 3, "0", TextStyle.WINDOW); - countLabel.setOrigin(0, 0); + const countLabel = addTextObject(-48, 3, "0", TextStyle.WINDOW).setOrigin(0); container.add(countLabel); this.voucherCountLabels.push(countLabel); const iconImage = getVoucherTypeIcon(voucher); - const icon = globalScene.add.sprite(-19, 2, "items", iconImage); - icon.setOrigin(0, 0); - icon.setScale(0.5); + const icon = globalScene.add.sprite(-19, 2, "items", iconImage).setOrigin(0).setScale(0.5); container.add(icon); this.eggGachaContainer.add(container); } - this.eggGachaOverlay = globalScene.add.rectangle(0, 0, bg.displayWidth, bg.displayHeight, 0x000000); - this.eggGachaOverlay.setOrigin(0, 0); - this.eggGachaOverlay.setAlpha(0); + this.eggGachaOverlay = globalScene.add + .rectangle(0, 0, bg.displayWidth, bg.displayHeight, 0x000000) + .setOrigin(0) + .setAlpha(0); this.eggGachaContainer.add(this.eggGachaOverlay); - this.eggGachaSummaryContainer = globalScene.add.container(0, 0); - this.eggGachaSummaryContainer.setVisible(false); + this.eggGachaSummaryContainer = globalScene.add.container().setVisible(false); this.eggGachaContainer.add(this.eggGachaSummaryContainer); - const gachaMessageBoxContainer = globalScene.add.container(0, 148); - - const gachaMessageBox = addWindow(0, 0, 320, 32); - gachaMessageBox.setOrigin(0, 0); - gachaMessageBoxContainer.add(gachaMessageBox); + const gachaMessageBox = addWindow(0, 0, 320, 32).setOrigin(0); + const gachaMessageBoxContainer = globalScene.add.container(0, 148).add(gachaMessageBox); this.eggGachaMessageBox = gachaMessageBox; const gachaMessageText = addTextObject(8, 8, "", TextStyle.WINDOW, { maxLines: 2, - }); - gachaMessageText.setOrigin(0, 0); + }).setOrigin(0); gachaMessageBoxContainer.add(gachaMessageText); this.message = gachaMessageText; @@ -363,18 +331,17 @@ export default class EggGachaUiHandler extends MessageUiHandler { this.setGachaCursor(1); - for (let g = 0; g < this.gachaContainers.length; g++) { - this.updateGachaInfo(g); - } + this.updateLegendaryGacha(); this.updateVoucherCounts(); this.getUi().bringToTop(this.eggGachaContainer); - this.eggGachaContainer.setVisible(true); + this.eggGachaContainer.setActive(true).setVisible(true); handleTutorial(Tutorial.Egg_Gacha); + this.legendaryExpiration.setText(this.getLegendaryGachaTimeLeft()); this.legendaryGachaTimer(); return true; @@ -387,142 +354,188 @@ export default class EggGachaUiHandler extends MessageUiHandler { return fixedInt(delay); } - pull(pullCount = 0, count = 0, eggs?: Egg[]): void { - if (Overrides.EGG_GACHA_PULL_COUNT_OVERRIDE && !count) { + private firstDropAnims(): Phaser.Types.Tweens.TweenBuilderConfig[] { + globalScene.playSound("se/gacha_dial"); + return [ + // Tween 1 animates the gacha knob turning left + { + targets: this.gachaKnobs[this.gachaCursor], + duration: this.getDelayValue(350), + angle: 90, + ease: "Cubic.easeInOut", + }, + // Tween 2 animates the gacha knob turning back + { + targets: this.gachaKnobs[this.gachaCursor], + duration: this.getDelayValue(350), + angle: 0, + ease: "Sine.easeInOut", + }, + // Tween 3 is a dummy tween, used to force a delay, that commences the gacha running sound + { + targets: { dummy: 0 }, + dummy: 1, + duration: this.getDelayValue(350), + onStart: () => { + globalScene.playSound("se/gacha_running", { loop: true }); + }, + }, + // Tween 4 is another dummy tween that plays the gacha dispense sound + { + delay: this.getDelayValue(1250), + onStart: () => { + globalScene.playSound("se/gacha_dispense"); + }, + targets: { dummy: 0 }, + dummy: 1, + duration: this.getDelayValue(750), + onComplete: () => { + globalScene.sound.stopByKey("se/gacha_running"); + }, + }, + ]; + } + + private async doPullAnim(egg: Phaser.GameObjects.Sprite, count: number): Promise { + let resolve: (value: void | PromiseLike) => void; + const hatch = this.gachaHatches[this.gachaCursor]; + + /** The rate of animations and tweens that play for drops after the first */ + const rate = count ? 1.25 : 1.0; + if (count) { + hatch.anims.timeScale = rate; + } + const promise: Promise = new Promise(res => { + resolve = res; + }); + + const tweens: Phaser.Types.Tweens.TweenBuilderConfig[] = count ? [] : this.firstDropAnims(); + + tweens.push( + // Tween 1 is responsible for animating the egg dropping from the gacha + { + targets: egg, + duration: this.getDelayValue(350 / rate), + y: 95, + ease: "Bounce.easeOut", + }, + // Tween 2 plays the catch sound and moves the egg up a bit + { + onStart: () => { + globalScene.playSound("se/pb_catch"); + this.gachaHatches[this.gachaCursor].play("open"); + }, + targets: egg, + delay: this.getDelayValue(125 / rate), + duration: this.getDelayValue(350 / rate), + props: { + scale: { value: 0.75, ease: "Sine.easeIn" }, + y: { value: 110, ease: "Back.easeOut" }, + }, + }, + // Tween 3 "closes" the gacha hatch and moves the egg up while enlarging it + { + onStart: () => { + this.gachaHatches[this.gachaCursor].play("close"); + }, + targets: egg, + y: 200, + duration: this.getDelayValue(350 / rate), + ease: "Cubic.easeIn", + }, + ); + + this.eggDropTweenChain = globalScene.tweens.chain({ + onComplete: () => { + this.eggDropTweenChain = undefined; + hatch.anims.timeScale = 1; // Reset the hatch animation time scale + resolve(); + }, + tweens, + }); + + return promise; + } + + /** + * Pulls the specified number of eggs and returns them + * @param pullCount - The number of eggs to pull + * @returns An array of the pulled eggs + */ + private pullEggs(pullCount: number): Egg[] { + const eggs: Egg[] = []; + for (let i = 1; i <= pullCount; i++) { + const eggOptions: IEggOptions = { + pulled: true, + sourceType: this.gachaCursor, + }; + + // Before creating the last egg, check if the guaranteed egg tier was already generated + // if not, override the egg tier + if (i === pullCount) { + const guaranteedEggTier = this.getGuaranteedEggTierFromPullCount(pullCount); + if (guaranteedEggTier !== EggTier.COMMON && !eggs.some(egg => egg.tier >= guaranteedEggTier)) { + eggOptions.tier = guaranteedEggTier; + } + } + + const egg = new Egg(eggOptions); + eggs.push(egg); + } + // Shuffle the eggs in case the guaranteed one got added as last egg + return randSeedShuffle(eggs); + } + + /** + * Handle pulling eggs from the gacha machine; plays the animations, adds the eggs, and saves game data + * @param pullCount - The number of eggs to pull + */ + async pull(pullCount = 0): Promise { + if (Overrides.EGG_GACHA_PULL_COUNT_OVERRIDE) { pullCount = Overrides.EGG_GACHA_PULL_COUNT_OVERRIDE; } + // Set the eggs + const eggs = this.pullEggs(pullCount); + this.eggGachaOptionsContainer.setVisible(false); this.setTransitioning(true); - const doPull = () => { - if (this.transitionCancelled) { - return this.showSummary(eggs!); + const saveSuccess = await (globalScene.currentBattle + ? globalScene.gameData.saveAll(true, true, true) + : globalScene.gameData.saveSystem() + ).then(success => { + if (!success) { + globalScene.reset(true); + return false; } + return true; + }); - const egg = globalScene.add.sprite(127, 75, "egg", `egg_${eggs![count].getKey()}`); - egg.setScale(0.5); - - this.gachaContainers[this.gachaCursor].add(egg); - this.gachaContainers[this.gachaCursor].moveTo(egg, 2); - - const doPullAnim = () => { - globalScene.playSound("se/gacha_running", { loop: true }); - globalScene.time.delayedCall(this.getDelayValue(count ? 500 : 1250), () => { - globalScene.playSound("se/gacha_dispense"); - globalScene.time.delayedCall(this.getDelayValue(750), () => { - globalScene.sound.stopByKey("se/gacha_running"); - globalScene.tweens.add({ - targets: egg, - duration: this.getDelayValue(350), - y: 95, - ease: "Bounce.easeOut", - onComplete: () => { - globalScene.time.delayedCall(this.getDelayValue(125), () => { - globalScene.playSound("se/pb_catch"); - this.gachaHatches[this.gachaCursor].play("open"); - globalScene.tweens.add({ - targets: egg, - duration: this.getDelayValue(350), - scale: 0.75, - ease: "Sine.easeIn", - }); - globalScene.tweens.add({ - targets: egg, - y: 110, - duration: this.getDelayValue(350), - ease: "Back.easeOut", - onComplete: () => { - this.gachaHatches[this.gachaCursor].play("close"); - globalScene.tweens.add({ - targets: egg, - y: 200, - duration: this.getDelayValue(350), - ease: "Cubic.easeIn", - onComplete: () => { - if (++count < pullCount) { - this.pull(pullCount, count, eggs); - } else { - this.showSummary(eggs!); - } - }, - }); - }, - }); - }); - }, - }); - }); - }); - }; - - if (!count) { - globalScene.playSound("se/gacha_dial"); - globalScene.tweens.add({ - targets: this.gachaKnobs[this.gachaCursor], - duration: this.getDelayValue(350), - angle: 90, - ease: "Cubic.easeInOut", - onComplete: () => { - globalScene.tweens.add({ - targets: this.gachaKnobs[this.gachaCursor], - duration: this.getDelayValue(350), - angle: 0, - ease: "Sine.easeInOut", - }); - globalScene.time.delayedCall(this.getDelayValue(350), doPullAnim); - }, - }); - } else { - doPullAnim(); - } - }; - - if (!pullCount) { - pullCount = 1; - } - if (!count) { - count = 0; - } - if (!eggs) { - eggs = []; - for (let i = 1; i <= pullCount; i++) { - const eggOptions: IEggOptions = { - pulled: true, - sourceType: this.gachaCursor, - }; - - // Before creating the last egg, check if the guaranteed egg tier was already generated - // if not, override the egg tier - if (i === pullCount) { - const guaranteedEggTier = this.getGuaranteedEggTierFromPullCount(pullCount); - if (!eggs.some(egg => egg.tier >= guaranteedEggTier) && guaranteedEggTier !== EggTier.COMMON) { - eggOptions.tier = guaranteedEggTier; - } - } - - const egg = new Egg(eggOptions); - eggs.push(egg); - } - // Shuffle the eggs in case the guaranteed one got added as last egg - eggs = randSeedShuffle(eggs); - - (globalScene.currentBattle - ? globalScene.gameData.saveAll(true, true, true) - : globalScene.gameData.saveSystem() - ).then(success => { - if (!success) { - return globalScene.reset(true); - } - doPull(); - }); + if (!saveSuccess) { return; } - doPull(); + const gachaContainer = this.gachaContainers[this.gachaCursor]; + for (let i = 0; i < pullCount; ++i) { + if (this.transitionCancelled) { + break; + } + const eggSprite = globalScene.add.sprite(127, 75, "egg", `egg_${eggs[i].getKey()}`).setScale(0.5); + gachaContainer.addAt(eggSprite, 2); + // biome-ignore lint/nursery/noAwaitInLoop: The point of this loop is to play the animations, one after another + await this.doPullAnim(eggSprite, i).finally(() => gachaContainer.remove(eggSprite, true)); + } + + this.showSummary(eggs); } - getGuaranteedEggTierFromPullCount(pullCount: number): EggTier { + /** + * Get the guaranteed egg tier based on the pull count + * @param pullCount - The number of pulls made + * @returns The guaranteed egg tier for the given pull count + */ + private getGuaranteedEggTierFromPullCount(pullCount: number): EggTier { switch (pullCount) { case 10: return EggTier.RARE; @@ -611,9 +624,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { duration: this.getDelayValue(250), ease: "Cubic.easeIn", onComplete: () => { - this.eggGachaSummaryContainer.setVisible(false); - this.eggGachaSummaryContainer.setAlpha(1); - this.eggGachaSummaryContainer.removeAll(true); + this.eggGachaSummaryContainer.setVisible(false).setAlpha(1).removeAll(true); this.setTransitioning(false); this.summaryFinished = false; this.eggGachaOptionsContainer.setVisible(true); @@ -621,16 +632,14 @@ export default class EggGachaUiHandler extends MessageUiHandler { }); } - updateGachaInfo(gachaType: GachaType): void { - const infoContainer = this.gachaInfoContainers[gachaType]; - switch (gachaType as GachaType) { - case GachaType.LEGENDARY: { - const species = getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(Date.now())); - const pokemonIcon = infoContainer.getAt(1) as Phaser.GameObjects.Sprite; - pokemonIcon.setTexture(species.getIconAtlasKey(), species.getIconId(false)); - break; - } - } + /** + * Update the legendary gacha icon based on the current timestamp. + */ + private updateLegendaryGacha(): void { + const infoContainer = this.gachaInfoContainers[GachaType.LEGENDARY]; + const species = getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(Date.now())); + const pokemonIcon = infoContainer.getAt(1) as Phaser.GameObjects.Sprite; + pokemonIcon.setTexture(species.getIconAtlasKey(), species.getIconId(false)); } consumeVouchers(voucherType: VoucherType, count: number): void { @@ -684,150 +693,165 @@ export default class EggGachaUiHandler extends MessageUiHandler { this.transitionCancelled = false; } - processInput(button: Button): boolean { + /** + * Convert a cursor index to a voucher type and count + * @param cursor - The cursor index corresponding to the voucher type + * @returns The voucher type, vouchers used, and pulls given, or an empty array if the cursor is not on a voucher + */ + private static cursorToVoucher(cursor: number): [VoucherType, number, number] | undefined { + switch (cursor) { + case 0: + return [VoucherType.REGULAR, 1, 1]; + case 1: + return [VoucherType.REGULAR, 10, 10]; + case 2: + return [VoucherType.PLUS, 1, 5]; + case 3: + return [VoucherType.PREMIUM, 1, 10]; + case 4: + return [VoucherType.GOLDEN, 1, 25]; + } + } + + /** + * Process an action input received during voucher selection. + * + * @remarks + * + * Handles playing the error sound and showing the error message, but does not handle playing the success sound. + * + * @param cursor - The index of the voucher menu option + * @returns True if the success sound should be played, false if the error sound should be played, or undefined if the cursor is out of range. + */ + private handleVoucherSelectAction(cursor: number): boolean | undefined { + // Cursors that are out of range should not be processed + if (cursor < 0 || cursor > 5) { + return; + } const ui = this.getUi(); + const voucher = EggGachaUiHandler.cursorToVoucher(cursor); + if (!voucher) { + ui.revertMode(); + return true; + } + const [voucherType, vouchersConsumed, pulls] = voucher; - let success = false; - let error = false; + let errorKey: string | undefined; + const freePulls = Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE; - if (this.transitioning) { - if (!this.transitionCancelled && (button === Button.ACTION || button === Button.CANCEL)) { - this.transitionCancelled = true; + if (!freePulls && globalScene.gameData.eggs.length + pulls > 99) { + errorKey = "egg:tooManyEggs"; + } else if (!freePulls && !globalScene.gameData.voucherCounts[voucherType]) { + errorKey = "egg:notEnoughVouchers"; + } + + if (errorKey) { + this.showError(i18next.t(errorKey)); + return false; + } + + if (!freePulls) { + this.consumeVouchers(voucherType, vouchersConsumed); + } + + // TODO: Remove this dangling proimse if necessary when the UI's input event handling supports async functions + void this.pull(pulls); + return true; + } + + /** + * Process an input received while the egg gacha UI is transitioning + * + * @param button - The button that was pressed + * @returns - `true` if the success sound should be played, otherwise `undefined` + */ + private processTransitionInput(button: Button): true | undefined { + if (!this.transitionCancelled && (button === Button.ACTION || button === Button.CANCEL)) { + this.transitionCancelled = true; + // When transition is cancelled, ensure the active chain playing the egg drop animation is sped up + // We cannot cancel it, as this would leave sprite positions at their current position in the animation + this.eggDropTweenChain?.setTimeScale(50); + return true; + } + } + + /** + * Process an input received in the normal mode of the egg gacha UI (not transitoning, not summary) + * @param button - The button that was pressed + * @returns `true` if the success sound should be played, `false` if the error sound should be played, or `undefined` no input event occurred. + */ + private processNormalInput(button: Button): boolean | undefined { + const ui = this.getUi(); + let success: boolean | undefined; + switch (button) { + case Button.ACTION: + return this.handleVoucherSelectAction(this.cursor); + case Button.CANCEL: + ui.revertMode(); success = true; - } else { - return false; - } + break; + case Button.UP: + if (this.cursor) { + success = this.setCursor(this.cursor - 1); + } + break; + case Button.DOWN: + if (this.cursor < 5) { + success = this.setCursor(this.cursor + 1); + } + break; + case Button.LEFT: + if (this.gachaCursor) { + success = this.setGachaCursor(this.gachaCursor - 1); + } + break; + case Button.RIGHT: + if (this.gachaCursor < Object.keys(GachaType).length - 1) { + success = this.setGachaCursor(this.gachaCursor + 1); + } + break; + } + + // Return undefined here because we do not play error sound in case of failed directional movements + return success || undefined; + } + + /** + * Handles an input event that occurs while the egg gacha summary is visible + * @param button - The button that was pressed + * @returns `true` if an input event occurred and the select sound should be played, otherwise `undefined` + */ + private processSummaryInput(button: Button): true | undefined { + if (this.summaryFinished && (button === Button.ACTION || button === Button.CANCEL)) { + this.hideSummary(); + return true; + } + } + + /** + * + * @param button - The button that was pressed + * @returns - Whether an input event occured. + */ + processInput(button: Button): boolean { + let success: boolean | undefined; + if (this.transitioning) { + success = this.processTransitionInput(button); + } else if (this.eggGachaSummaryContainer.visible) { + success = this.processSummaryInput(button); } else { - if (this.eggGachaSummaryContainer.visible) { - if (this.summaryFinished && (button === Button.ACTION || button === Button.CANCEL)) { - this.hideSummary(); - success = true; - } - } else { - switch (button) { - case Button.ACTION: - switch (this.cursor) { - case 0: - if ( - !globalScene.gameData.voucherCounts[VoucherType.REGULAR] && - !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE - ) { - error = true; - this.showError(i18next.t("egg:notEnoughVouchers")); - } else if (globalScene.gameData.eggs.length < 99 || Overrides.UNLIMITED_EGG_COUNT_OVERRIDE) { - if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) { - this.consumeVouchers(VoucherType.REGULAR, 1); - } - this.pull(); - success = true; - } else { - error = true; - this.showError(i18next.t("egg:tooManyEggs")); - } - break; - case 2: - if (!globalScene.gameData.voucherCounts[VoucherType.PLUS] && !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) { - error = true; - this.showError(i18next.t("egg:notEnoughVouchers")); - } else if (globalScene.gameData.eggs.length < 95 || Overrides.UNLIMITED_EGG_COUNT_OVERRIDE) { - if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) { - this.consumeVouchers(VoucherType.PLUS, 1); - } - this.pull(5); - success = true; - } else { - error = true; - this.showError(i18next.t("egg:tooManyEggs")); - } - break; - case 1: - case 3: - if ( - (this.cursor === 1 && - globalScene.gameData.voucherCounts[VoucherType.REGULAR] < 10 && - !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) || - (this.cursor === 3 && - !globalScene.gameData.voucherCounts[VoucherType.PREMIUM] && - !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) - ) { - error = true; - this.showError(i18next.t("egg:notEnoughVouchers")); - } else if (globalScene.gameData.eggs.length < 90 || Overrides.UNLIMITED_EGG_COUNT_OVERRIDE) { - if (this.cursor === 3) { - if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) { - this.consumeVouchers(VoucherType.PREMIUM, 1); - } - } else { - if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) { - this.consumeVouchers(VoucherType.REGULAR, 10); - } - } - this.pull(10); - success = true; - } else { - error = true; - this.showError(i18next.t("egg:tooManyEggs")); - } - break; - case 4: - if ( - !globalScene.gameData.voucherCounts[VoucherType.GOLDEN] && - !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE - ) { - error = true; - this.showError(i18next.t("egg:notEnoughVouchers")); - } else if (globalScene.gameData.eggs.length < 75 || Overrides.UNLIMITED_EGG_COUNT_OVERRIDE) { - if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) { - this.consumeVouchers(VoucherType.GOLDEN, 1); - } - this.pull(25); - success = true; - } else { - error = true; - this.showError(i18next.t("egg:tooManyEggs")); - } - break; - case 5: - ui.revertMode(); - success = true; - break; - } - break; - case Button.CANCEL: - this.getUi().revertMode(); - success = true; - break; - case Button.UP: - if (this.cursor) { - success = this.setCursor(this.cursor - 1); - } - break; - case Button.DOWN: - if (this.cursor < 5) { - success = this.setCursor(this.cursor + 1); - } - break; - case Button.LEFT: - if (this.gachaCursor) { - success = this.setGachaCursor(this.gachaCursor - 1); - } - break; - case Button.RIGHT: - if (this.gachaCursor < getEnumKeys(GachaType).length - 1) { - success = this.setGachaCursor(this.gachaCursor + 1); - } - break; - } - } + success = this.processNormalInput(button); } + if (success === undefined) { + return false; + } if (success) { - ui.playSelect(); - } else if (error) { - ui.playError(); + this.getUi().playSelect(); + } else { + this.getUi().playError(); } - - return success || error; + return true; } setCursor(cursor: number): boolean { @@ -898,5 +922,6 @@ export default class EggGachaUiHandler extends MessageUiHandler { this.playTimeTimer.destroy(); this.playTimeTimer = null; } + this.eggGachaContainer.setActive(false); } } From ca4df7233f6f47df055a14f0c5c067f1075fb49b Mon Sep 17 00:00:00 2001 From: Lugiad <2070109+Adri1@users.noreply.github.com> Date: Fri, 11 Jul 2025 19:51:59 +0200 Subject: [PATCH 5/6] [UI/UX] [Localization] Japanese font change and custom size edits (#6026) * Delete Japanese Galmuri11 font * Delete Japanese Galmuri9 font * Added pokemon-bw font for Japanese * Changed Japanese Font + removed font size adjustment * Added Japanese Custom Adjustments * Slightly increased spacing for Ability name+desc labels * Japanese starterInfoText adjustments * Japanese custom lineSpacing adjustment * Spacing for Ability desc labels adjusted * Friendship count text adjustment * Japanese former custom adjustments removal * TextStyle adjustments * TextStyle.PARTY adjustments * Added new TextStyle * Added new TextStyle * Added new TextStyle * Added new TextStyle * Added new TextStyle * Add new TextStyle * Add new Text Style * Add new TextStyle * Add new TextStyle * Add new TextStyle * Add new TextStyle * Add new TextStyle * PARTY_CANCEL_BUTTON TextStyle Correction * PARTY_CANCEL_BUTTON TextStyle Correction * Removal of old Japanese line spacing parameter * Removed old Japanese adjustments * Apply Biome * PARTY_CANCEL_BUTTON Adjustments * partyCancelText position adjustment * Update i18n.ts * Change TextStyle of valueLimitLabel * Added new TextStyle * Add MOVE_LABEL TextStyle * Add MOVE_LABEL TextStyle * Line formatting correction * MOVE_LABEL TextStyle padding correction * Added GROWTH_RATE_TYPE TextStyle * Add GROWTH_RATE_TYPE TextStyle * Line formatting correction * Egg Moves title text indepentent from pokemonEggMovesContainer * Egg Moves title text indepentent from pokemonEggMovesContainer * Update src/ui/starter-select-ui-handler.ts * Correction to eggMovesLabel * Update starter-select-ui-handler.ts * Added SUMMARY_STATS_GOLD * Added SUMMARY_STATS_GOLD * Added proper multiplication symbol * Added proper multiplication symbol * Added proper multiplication symbol * Added proper multiplication symbol * Added GROWTH_RATE_TYPE * Added INSTRUCTIONS_TEXT TextStyle * Added INSTRUCTIONS_TEXT TextStyle * Added INSTRUCTIONS_TEXT TextStyle * Added INSTRUCTIONS_TEXT TextStyle * Added INSTRUCTIONS_TEXT TextStyle * INSTRUCTIONS_TEXT adjustments * Added proper multiplication symbol * Added SUMMARY_DEX_NUM TextStyle * Added SUMMARY_DEX_NUM * Revert SUMMARY_DEX_NUM to wrong text * Add SUMMARY_DEX_NUM * Removed outdated Japanese custom line spacing * Removed outdated Japanese custom line spacing * Removed outdated Japanese custom line spacing * Correction outdated Japanese custom line spacing * Added MOVE_LABEL TextStyle * Fixed corped tooltipbox and tooltipbox scrolling * Corrected ME descriptiuon scrolling * Added MOVE_LABEL * Apply HEADER_LABEL TextStyle * Apply HEADER_LABEL * Added custom values for SETTINGS_VALUE * Apply MOVE_LABEL * Added STATS_HEXAGON TextStyle * Apply STATS_HEXAGON TextStyle * Typo correction * Delete outadated pokemon-bw font * Add updated pokemon-bw font * Update pokemon-bw format * Added EGG_SUMMARY_NAME and EGG_SUMMARY_DEX TextStyles * Apply EGG_SUMMARY_NAME and EGG_SUMMARY_DEX * Add LUCK_VALUE TextStyle * Apply LUCK_VALUE TextStyle * Apply LUCK_VALUE TextStyle * Adjusted LUCK_VALUE * Apply LUCK_VALUE TextStyle * Adjustments for Japanese * Adjusted Japanese custom * Added FILTER_BAR_MAIN TextStyle * Apply FILTER_BAR_MAIN TextStyle * Added japanese to custom TextStyle * Added English language settings * Apply Biome * pokemon-bw font update * pokemon-bw font updated * pokemon-bw font update * pokemon-bw font update * pokemon-bw font update * pokemon-bw font update * pokemon-bw font update * pokemon-bw font update --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com> --- public/fonts/Galmuri11.subset.woff2 | Bin 275512 -> 0 bytes public/fonts/Galmuri9.subset.woff2 | Bin 214072 -> 0 bytes public/fonts/pokemon-bw.ttf | Bin 0 -> 1494852 bytes src/plugins/i18n.ts | 13 +- src/ui/achvs-ui-handler.ts | 2 +- src/ui/ball-ui-handler.ts | 2 +- src/ui/battle-message-ui-handler.ts | 3 - src/ui/challenges-select-ui-handler.ts | 2 +- src/ui/command-ui-handler.ts | 7 +- src/ui/egg-gacha-ui-handler.ts | 2 +- src/ui/egg-list-ui-handler.ts | 6 +- src/ui/filter-bar.ts | 2 +- src/ui/game-stats-ui-handler.ts | 2 +- src/ui/move-info-overlay.ts | 1 - src/ui/mystery-encounter-ui-handler.ts | 6 +- src/ui/party-ui-handler.ts | 2 +- src/ui/pokedex-info-overlay.ts | 2 - src/ui/pokedex-page-ui-handler.ts | 125 ++++++---- src/ui/pokedex-ui-handler.ts | 18 +- src/ui/pokemon-hatch-info-container.ts | 10 +- src/ui/pokemon-info-container.ts | 24 +- src/ui/run-info-ui-handler.ts | 8 +- src/ui/settings/navigationMenu.ts | 2 +- src/ui/starter-select-ui-handler.ts | 66 ++--- src/ui/stats-container.ts | 4 +- src/ui/summary-ui-handler.ts | 20 +- src/ui/text.ts | 323 +++++++++++++++++++++++-- 27 files changed, 499 insertions(+), 153 deletions(-) delete mode 100644 public/fonts/Galmuri11.subset.woff2 delete mode 100644 public/fonts/Galmuri9.subset.woff2 create mode 100644 public/fonts/pokemon-bw.ttf diff --git a/public/fonts/Galmuri11.subset.woff2 b/public/fonts/Galmuri11.subset.woff2 deleted file mode 100644 index 0b626506255cb515850e8618d019b2852399a602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275512 zcmV)uK$gFEPew8T0RR911T;7R3;+NCAtN*Z1T*3Q0%TeM00000000000000000000 z0000RARK{y24Db!fFuh3_ejBnd;vBBBm;rsNDG1DPyhrV1%pTjAe+ZG5qsfz?ARWW zvH8Pj*ibrj=vD=}NeHmEnw<9C81R$b5a+NXBKoV_5MW`M9iN*GB%s_r1t@n_wG@n> z^XAR||NsC0|NsC0|NsC0|65LeM84bZyZN&__3o$r0BIyj5^Kc7f{lnJpopko!-|U7 zYQ?4XBGRQ|Eylg{B2w77($cvXsYJK~iS%)*vzq6;Ov9FjE|0mgy1Z72&(30K#ClE% zjQ-q!^N_iY5*K1As)eeKs&yu09=t)cGL1c_1f719Xv=*qB7o1%_Q36korsv%L4R?; zE@ZB|#NHzzwTOrScgQ^WQKFdV<~$Sl>|7e^?(QD7&%i#s#E=vcsyX0wN$Y*;7wLW-#W_dgfX&GcyAbkQwsuXD-)KT4^AA@9tVy zRaHRmkQp)$e)bqL1NVLsu_&ynx}miMWQNS}IimeB4_C)r)Iq1ipC1~rn@gFs)9LUR zUWCjbbMMOXSc`}VaEHvpUxF{c0-0+aN72x-U{zHC-61pCtFJ+3ka6`iQwyu=x_}7C z44Luk@ESvAka_aPJj*Jps!m#GLgvA561??xwQbYc#c8rib9S!ZfXpD}op(cO5lI2= zkQp)$ze#j1P9g#s-3o0hX78CGrMpGjirM=nNa=2uhPamoT4BV6YqKs=eNgq)vbbG$ zV5Jux{2|fmIDVv)1E;$~+l%{M7o_wb6E(9t%Yu~t6QXAJX$n%h&uH7>!Z&^yDKl}*~ z{@UJ`GsGhv3dCDSEt#zAIwcVjIcZ3mU}(*W+A+-j4{_-)=38h>NcYrM0+t#hbGvBH zFIB96&lbhBNhlwU$U2b`S=WJiF1?iJ^4wkOpaU8#XcnR^CRcw!vYYv3y248R-eejk zuVEnxK#;q8_$}~n3pB#ot0o+Ub*7?w5y(7wi>qr;XXF<+cS%en%Rn*-EnCJM{PQw( zSobblAJx|XWfXdNVl<4$u8qN1`8t@Q`+-!aft|xT7S}^=Sp!h

ENm=pG#ee-j|1hMGLP{y5X_`tYrIl7%Ys<21 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

xM%$1*~#Fc`GHpQ*uK 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�MEIOz>$P8^Su-b!qg`EB)>9jgS);KW{SpZ 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�Z{NOCQgG94QX6txcKG8{P=b6G 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