From 04d456a60e19cab606357831883f2b5a54f8df6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Thu, 4 Jul 2024 22:26:56 -0300 Subject: [PATCH 1/5] Localization: Localized Gacha Machine Names (#2645) * Localization: Localized Gacha Machine Names * Update src/locales/zh_TW/egg.ts Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> * Update src/locales/zh_TW/egg.ts Co-authored-by: Enoch * Update src/locales/de/egg.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/fr/egg.ts Co-authored-by: Lugiad' * Update src/locales/ko/egg.ts Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com> * Update src/locales/zh_TW/egg.ts Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> * Update src/locales/zh_CN/egg.ts Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> * Update src/locales/es/egg.ts Co-authored-by: InnocentGameDev * Update Brazilian Portuguese translation for egg.ts * added smaller text size option * update egg.ts translations for German and Brazilian Portuguese * some updates * update egg.ts translations for Spanish and Brazilian Portuguese * Update EggGachaUiHandler to use array.includes for language check * update German translation for legendary egg gatcha * Update src/locales/es/egg.ts Co-authored-by: InnocentGameDev * update translations for egg.ts in Spanish and Brazilian Portuguese --------- Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> Co-authored-by: Enoch Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Co-authored-by: Lugiad' Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com> Co-authored-by: InnocentGameDev --- src/locales/de/egg.ts | 3 ++ src/locales/en/egg.ts | 3 ++ src/locales/es/egg.ts | 3 ++ src/locales/fr/egg.ts | 3 ++ src/locales/it/egg.ts | 3 ++ src/locales/ko/egg.ts | 3 ++ src/locales/pt_BR/egg.ts | 3 ++ src/locales/zh_CN/egg.ts | 3 ++ src/locales/zh_TW/egg.ts | 3 ++ src/ui/egg-gacha-ui-handler.ts | 54 +++++++++++++++++++++++++++++++--- src/ui/text.ts | 16 +++++++--- 11 files changed, 89 insertions(+), 8 deletions(-) diff --git a/src/locales/de/egg.ts b/src/locales/de/egg.ts index 61a2f627aa4..9dc7b10f174 100644 --- a/src/locales/de/egg.ts +++ b/src/locales/de/egg.ts @@ -22,4 +22,7 @@ export const egg: SimpleTranslationEntries = { "hatchFromTheEgg": "Ein {{pokemonName}} ist aus dem Ei geschlüpft!", "eggMoveUnlock": "Ei-Attacke freigeschaltet: {{moveName}}", "rareEggMoveUnlock": "Seltene Ei-Attacke freigeschaltet: {{moveName}}", + "moveUPGacha": "Mehr\nEi-Attacken!", + "shinyUPGacha": "Mehr\nSchillernde!", + "legendaryUPGacha": "erscheint\nöfter!", } as const; diff --git a/src/locales/en/egg.ts b/src/locales/en/egg.ts index b6e13d26213..9f699ce0fdc 100644 --- a/src/locales/en/egg.ts +++ b/src/locales/en/egg.ts @@ -22,4 +22,7 @@ export const egg: SimpleTranslationEntries = { "hatchFromTheEgg": "{{pokemonName}} hatched from the egg!", "eggMoveUnlock": "Egg Move unlocked: {{moveName}}", "rareEggMoveUnlock": "Rare Egg Move unlocked: {{moveName}}", + "moveUPGacha": "Move UP!", + "shinyUPGacha": "Shiny UP!", + "legendaryUPGacha": "UP!", } as const; diff --git a/src/locales/es/egg.ts b/src/locales/es/egg.ts index dea466066f1..ab2c3aab903 100644 --- a/src/locales/es/egg.ts +++ b/src/locales/es/egg.ts @@ -22,4 +22,7 @@ export const egg: SimpleTranslationEntries = { "hatchFromTheEgg": "¡Ha salido un {{pokemonName}} del Huevo!", "eggMoveUnlock": "Mov. Huevo desbloqueado:\n{{moveName}}", "rareEggMoveUnlock": "Mov. Huevo Raro desbloqueado:\n{{moveName}}", + "moveUPGacha": "¡Más Mov.\nHuevo Raro!", + "shinyUPGacha": "¡Más Shiny!", + "legendaryUPGacha": ", ¡mayor\nprob.!", } as const; diff --git a/src/locales/fr/egg.ts b/src/locales/fr/egg.ts index 96fbc4dce15..f63ac3abb0d 100644 --- a/src/locales/fr/egg.ts +++ b/src/locales/fr/egg.ts @@ -22,4 +22,7 @@ export const egg: SimpleTranslationEntries = { "hatchFromTheEgg": "{{pokemonName}} sort de l’Œuf !", "eggMoveUnlock": "Capacité Œuf débloquée :\n{{moveName}}", "rareEggMoveUnlock": "Capacité Œuf Rare débloquée :\n{{moveName}}", + "moveUPGacha": "Bonus Capacité\nŒuf Rare !", + "shinyUPGacha": "Bonus\nChromatique !", + "legendaryUPGacha": "Bonus !", } as const; diff --git a/src/locales/it/egg.ts b/src/locales/it/egg.ts index 9b60b2f1835..feb148ab990 100644 --- a/src/locales/it/egg.ts +++ b/src/locales/it/egg.ts @@ -22,4 +22,7 @@ export const egg: SimpleTranslationEntries = { "hatchFromTheEgg": "Dall’Uovo è nato {{pokemonName}}!", "eggMoveUnlock": "Egg Move unlocked: {{moveName}}", "rareEggMoveUnlock": "Rare Egg Move unlocked: {{moveName}}", + "moveUPGacha": "Move UP!", + "shinyUPGacha": "Shiny UP!", + "legendaryUPGacha": "UP!", } as const; diff --git a/src/locales/ko/egg.ts b/src/locales/ko/egg.ts index 88a845c6424..412d97bb7f3 100644 --- a/src/locales/ko/egg.ts +++ b/src/locales/ko/egg.ts @@ -22,4 +22,7 @@ export const egg: SimpleTranslationEntries = { "hatchFromTheEgg": "알이 부화해서\n{{pokemonName}}[[가]] 태어났다!", "eggMoveUnlock": "알 기술 {{moveName}}[[를]]\n사용할 수 있게 되었다!", "rareEggMoveUnlock": "레어 알 기술 {{moveName}}[[를]]\n사용할 수 있게 되었다!", + "moveUPGacha": "기술 UP!", + "shinyUPGacha": "특별색 UP!", + "legendaryUPGacha": "UP!", } as const; diff --git a/src/locales/pt_BR/egg.ts b/src/locales/pt_BR/egg.ts index 6690c293aaf..fbd13bed4e3 100644 --- a/src/locales/pt_BR/egg.ts +++ b/src/locales/pt_BR/egg.ts @@ -22,4 +22,7 @@ export const egg: SimpleTranslationEntries = { "hatchFromTheEgg": "{{pokemonName}} nasceu do ovo!", "eggMoveUnlock": "Movimento de Ovo desbloqueado: {{moveName}}", "rareEggMoveUnlock": "Movimento Raro de Ovo desbloqueado: {{moveName}}", + "moveUPGacha": "Movimento\nde Ovo Bônus!", + "shinyUPGacha": "Shiny Bônus!", + "legendaryUPGacha": "Bônus!", } as const; diff --git a/src/locales/zh_CN/egg.ts b/src/locales/zh_CN/egg.ts index 35334d75bdd..454cdb0af52 100644 --- a/src/locales/zh_CN/egg.ts +++ b/src/locales/zh_CN/egg.ts @@ -22,4 +22,7 @@ export const egg: SimpleTranslationEntries = { "hatchFromTheEgg": "{{pokemonName}} 从蛋中孵化了!", "eggMoveUnlock": "蛋招式已解锁: {{moveName}}", "rareEggMoveUnlock": "稀有蛋招式已解锁: {{moveName}}", + "moveUPGacha": "蛋招式UP!", + "shinyUPGacha": "闪光UP!", + "legendaryUPGacha": "UP!", } as const; diff --git a/src/locales/zh_TW/egg.ts b/src/locales/zh_TW/egg.ts index eecfcf0b735..666f6758d11 100644 --- a/src/locales/zh_TW/egg.ts +++ b/src/locales/zh_TW/egg.ts @@ -22,4 +22,7 @@ export const egg: SimpleTranslationEntries = { "hatchFromTheEgg": "{{pokemonName}} 從蛋中孵化了!", "eggMoveUnlock": "蛋招式已解鎖: {{moveName}}", "rareEggMoveUnlock": "稀有蛋招式已解鎖: {{moveName}}", + "moveUPGacha": "蛋招式UP!", + "shinyUPGacha": "闪光UP!", + "legendaryUPGacha": "UP!", } as const; diff --git a/src/ui/egg-gacha-ui-handler.ts b/src/ui/egg-gacha-ui-handler.ts index 0081b589288..1a9320ac9e9 100644 --- a/src/ui/egg-gacha-ui-handler.ts +++ b/src/ui/egg-gacha-ui-handler.ts @@ -96,25 +96,71 @@ export default class EggGachaUiHandler extends MessageUiHandler { const gachaInfoContainer = this.scene.add.container(160, 46); - const gachaUpLabel = addTextObject(this.scene, 4, 0, "UP!", TextStyle.WINDOW_ALT); + const currentLanguage = i18next.resolvedLanguage; + let gachaTextStyle = TextStyle.WINDOW_ALT; + let gachaX = 4; + let gachaY = 0; + let pokemonIconX = -20; + let pokemonIconY = 6; + + if (["de", "es", "fr", "pt-BR"].includes(currentLanguage)) { + gachaTextStyle = TextStyle.SMALLER_WINDOW_ALT; + gachaX = 2; + gachaY = 2; + } + + let legendaryLabelX = gachaX; + let legendaryLabelY = gachaY; + if (["de", "es"].includes(currentLanguage)) { + pokemonIconX = -25; + pokemonIconY = 10; + legendaryLabelX = -6; + legendaryLabelY = 0; + } + + const gachaUpLabel = addTextObject(this.scene, gachaX, gachaY, i18next.t("egg:legendaryUPGacha"), gachaTextStyle); gachaUpLabel.setOrigin(0, 0); gachaInfoContainer.add(gachaUpLabel); switch (gachaType as GachaType) { case GachaType.LEGENDARY: - const pokemonIcon = this.scene.add.sprite(-20, 6, "pokemon_icons_0"); + if (["de", "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 = this.scene.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: - gachaUpLabel.setText("Move UP!"); + if (["de", "es", "fr", "pt-BR"].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: - gachaUpLabel.setText("Shiny UP!"); + if (["de", "fr"].includes(currentLanguage)) { + gachaUpLabel.setAlign("center"); + gachaUpLabel.setY(0); + } + + gachaUpLabel.setText(i18next.t("egg:shinyUPGacha")); gachaUpLabel.setX(0); gachaUpLabel.setOrigin(0.5, 0); break; diff --git a/src/ui/text.ts b/src/ui/text.ts index d192ae076a7..91ada7f12ad 100644 --- a/src/ui/text.ts +++ b/src/ui/text.ts @@ -1,10 +1,10 @@ +import { EggTier } from "#enums/egg-type"; +import { UiTheme } from "#enums/ui-theme"; +import Phaser from "phaser"; import BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText"; import InputText from "phaser3-rex-plugins/plugins/inputtext"; import BattleScene from "../battle-scene"; import { ModifierTier } from "../modifier/modifier-tier"; -import Phaser from "phaser"; -import { EggTier } from "#enums/egg-type"; -import { UiTheme } from "#enums/ui-theme"; export enum TextStyle { MESSAGE, @@ -33,7 +33,8 @@ export enum TextStyle { MOVE_PP_FULL, MOVE_PP_HALF_FULL, MOVE_PP_NEAR_EMPTY, - MOVE_PP_EMPTY + MOVE_PP_EMPTY, + SMALLER_WINDOW_ALT } export function addTextObject(scene: Phaser.Scene, x: number, y: number, content: string, style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): Phaser.GameObjects.Text { @@ -140,6 +141,11 @@ export function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraSty shadowXpos = 3; shadowYpos = 3; break; + case TextStyle.SMALLER_WINDOW_ALT: + styleOptions.fontSize = defaultFontSize - 36; + shadowXpos = 3; + shadowYpos = 3; + break; } const shadowColor = getTextColor(style, true, uiTheme); @@ -227,6 +233,8 @@ export function getTextColor(textStyle: TextStyle, shadow?: boolean, uiTheme: Ui return !shadow ? "#f8b050" : "#c07800"; case TextStyle.SETTINGS_SELECTED: return !shadow ? "#f88880" : "#f83018"; + case TextStyle.SMALLER_WINDOW_ALT: + return !shadow ? "#484848" : "#d0d0c8"; } } From 5ac5850082a56d4de56021a5c81c52fa3da19029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Thu, 4 Jul 2024 22:34:18 -0300 Subject: [PATCH 2/5] Localization: Localize luck indicator text and shiny labels (#2644) * feat: localize luck indicator text * Localization: Localize luck indicator text and shiny labels * Update src/locales/zh_CN/common.ts Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> * Update src/locales/ko/common.ts Co-authored-by: Enoch * Update src/locales/de/common.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/es/common.ts Co-authored-by: InnocentGameDev * Update src/locales/fr/common.ts Co-authored-by: Lugiad' --------- Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> Co-authored-by: Enoch Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Co-authored-by: InnocentGameDev Co-authored-by: Lugiad' --- src/battle-scene.ts | 3 ++- src/locales/de/common.ts | 5 +++++ src/locales/de/pokemon-info-container.ts | 3 --- src/locales/en/common.ts | 5 +++++ src/locales/en/pokemon-info-container.ts | 3 --- src/locales/es/common.ts | 5 +++++ src/locales/es/pokemon-info-container.ts | 3 --- src/locales/fr/common.ts | 5 +++++ src/locales/fr/pokemon-info-container.ts | 3 --- src/locales/it/common.ts | 5 +++++ src/locales/it/pokemon-info-container.ts | 3 --- src/locales/ko/common.ts | 5 +++++ src/locales/ko/pokemon-info-container.ts | 3 --- src/locales/pt_BR/common.ts | 5 +++++ src/locales/pt_BR/pokemon-info-container.ts | 4 +--- src/locales/zh_CN/common.ts | 5 +++++ src/locales/zh_CN/pokemon-info-container.ts | 3 --- src/locales/zh_TW/common.ts | 5 +++++ src/locales/zh_TW/pokemon-info-container.ts | 3 --- src/ui/battle-info.ts | 5 +++-- src/ui/pokemon-info-container.ts | 4 ++-- src/ui/starter-select-ui-handler.ts | 2 +- src/ui/summary-ui-handler.ts | 6 +++--- 23 files changed, 57 insertions(+), 36 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 1b1d1fde83f..ba0720baab2 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -66,6 +66,7 @@ import { PlayerGender } from "#enums/player-gender"; import { Species } from "#enums/species"; import { UiTheme } from "#enums/ui-theme"; import { TimedEventManager } from "#app/timed-event-manager.js"; +import i18next from "i18next"; export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1"; @@ -463,7 +464,7 @@ export default class BattleScene extends SceneBase { this.luckText.setVisible(false); this.fieldUI.add(this.luckText); - this.luckLabelText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, "Luck:", TextStyle.PARTY, { fontSize: "54px" }); + this.luckLabelText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, i18next.t("common:luckIndicator"), TextStyle.PARTY, { fontSize: "54px" }); this.luckLabelText.setName("text-luck-label"); this.luckLabelText.setOrigin(1, 0.5); this.luckLabelText.setVisible(false); diff --git a/src/locales/de/common.ts b/src/locales/de/common.ts index 82966b4ffeb..07f920aaf30 100644 --- a/src/locales/de/common.ts +++ b/src/locales/de/common.ts @@ -2,4 +2,9 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const common: SimpleTranslationEntries = { "start": "Start", + "luckIndicator": "Glück:", + "shinyOnHover": "Schillernd", + "commonShiny": "Gewöhnlich", + "rareShiny": "Selten", + "epicShiny": "Episch", } as const; diff --git a/src/locales/de/pokemon-info-container.ts b/src/locales/de/pokemon-info-container.ts index f408dbcff9c..1f82cf2cd83 100644 --- a/src/locales/de/pokemon-info-container.ts +++ b/src/locales/de/pokemon-info-container.ts @@ -5,7 +5,4 @@ export const pokemonInfoContainer: SimpleTranslationEntries = { "gender": "Geschlecht:", "ability": "Fähigkeit:", "nature": "Wesen:", - "epic": "Episch", - "rare": "Selten", - "common": "Gewöhnlich" } as const; diff --git a/src/locales/en/common.ts b/src/locales/en/common.ts index 82966b4ffeb..750322e1f09 100644 --- a/src/locales/en/common.ts +++ b/src/locales/en/common.ts @@ -2,4 +2,9 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const common: SimpleTranslationEntries = { "start": "Start", + "luckIndicator": "Luck:", + "shinyOnHover": "Shiny", + "commonShiny": "Common", + "rareShiny": "Rare", + "epicShiny": "Epic", } as const; diff --git a/src/locales/en/pokemon-info-container.ts b/src/locales/en/pokemon-info-container.ts index 0d37b2ead62..64e5bd3cfcc 100644 --- a/src/locales/en/pokemon-info-container.ts +++ b/src/locales/en/pokemon-info-container.ts @@ -5,8 +5,5 @@ export const pokemonInfoContainer: SimpleTranslationEntries = { "gender": "Gender:", "ability": "Ability:", "nature": "Nature:", - "epic": "Epic", - "rare": "Rare", - "common": "Common", "form": "Form:" } as const; diff --git a/src/locales/es/common.ts b/src/locales/es/common.ts index 82966b4ffeb..347b39c973c 100644 --- a/src/locales/es/common.ts +++ b/src/locales/es/common.ts @@ -2,4 +2,9 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const common: SimpleTranslationEntries = { "start": "Start", + "luckIndicator": "Suerte:", + "shinyOnHover": "Shiny", + "commonShiny": "Común", + "rareShiny": "Raro", + "epicShiny": "Épico", } as const; diff --git a/src/locales/es/pokemon-info-container.ts b/src/locales/es/pokemon-info-container.ts index ad0f951b984..6f97f29ee39 100644 --- a/src/locales/es/pokemon-info-container.ts +++ b/src/locales/es/pokemon-info-container.ts @@ -5,7 +5,4 @@ export const pokemonInfoContainer: SimpleTranslationEntries = { "gender": "Género:", "ability": "Habilid:", "nature": "Natur:", - "epic": "Épico", - "rare": "Raro", - "common": "Común" } as const; diff --git a/src/locales/fr/common.ts b/src/locales/fr/common.ts index e4ccc627f5e..c8e3d58dd3e 100644 --- a/src/locales/fr/common.ts +++ b/src/locales/fr/common.ts @@ -2,4 +2,9 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const common: SimpleTranslationEntries = { "start": "Lancer", + "luckIndicator": "Chance :", + "shinyOnHover": "Chromatique", + "commonShiny": "Commun", + "rareShiny": "Rare", + "epicShiny": "Épique", } as const; diff --git a/src/locales/fr/pokemon-info-container.ts b/src/locales/fr/pokemon-info-container.ts index c61c23b0970..4e09e8915ad 100644 --- a/src/locales/fr/pokemon-info-container.ts +++ b/src/locales/fr/pokemon-info-container.ts @@ -5,8 +5,5 @@ export const pokemonInfoContainer: SimpleTranslationEntries = { "gender": "Sexe :", "ability": "Talent :", "nature": "Nature :", - "epic": "Épique", - "rare": "Rare", - "common": "Commun", "form": "Forme :" } as const; diff --git a/src/locales/it/common.ts b/src/locales/it/common.ts index f42fa311472..de5197cbeeb 100644 --- a/src/locales/it/common.ts +++ b/src/locales/it/common.ts @@ -2,4 +2,9 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const common: SimpleTranslationEntries = { "start": "Inizia", + "luckIndicator": "Luck:", + "shinyOnHover": "Shiny", + "commonShiny": "Comune", + "rareShiny": "Raro", + "epicShiny": "Epico", } as const; diff --git a/src/locales/it/pokemon-info-container.ts b/src/locales/it/pokemon-info-container.ts index 2d80763abc3..03d83a1e6d7 100644 --- a/src/locales/it/pokemon-info-container.ts +++ b/src/locales/it/pokemon-info-container.ts @@ -5,7 +5,4 @@ export const pokemonInfoContainer: SimpleTranslationEntries = { "gender": "Genere:", "ability": "Abilità:", "nature": "Natura:", - "epic": "Epico", - "rare": "Raro", - "common": "Comune" } as const; diff --git a/src/locales/ko/common.ts b/src/locales/ko/common.ts index d87be482f99..30df85cb3a6 100644 --- a/src/locales/ko/common.ts +++ b/src/locales/ko/common.ts @@ -2,4 +2,9 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const common: SimpleTranslationEntries = { "start": "시작", + "luckIndicator": "행운:", + "shinyOnHover": "색이 다른", + "commonShiny": "커먼", + "rareShiny": "레어", + "epicShiny": "에픽", } as const; diff --git a/src/locales/ko/pokemon-info-container.ts b/src/locales/ko/pokemon-info-container.ts index 31048dee3ef..80a0d59addd 100644 --- a/src/locales/ko/pokemon-info-container.ts +++ b/src/locales/ko/pokemon-info-container.ts @@ -5,8 +5,5 @@ export const pokemonInfoContainer: SimpleTranslationEntries = { "gender": "성별:", "ability": "특성:", "nature": "성격:", - "epic": "에픽", - "rare": "레어", - "common": "커먼", "form": "폼:" } as const; diff --git a/src/locales/pt_BR/common.ts b/src/locales/pt_BR/common.ts index d7cbfd5d052..7161f5c9966 100644 --- a/src/locales/pt_BR/common.ts +++ b/src/locales/pt_BR/common.ts @@ -2,4 +2,9 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const common: SimpleTranslationEntries = { "start": "Iniciar", + "luckIndicator": "Sorte:", + "shinyOnHover": "Shiny", + "commonShiny": "Comum", + "rareShiny": "Raro", + "epicShiny": "Épico", } as const; diff --git a/src/locales/pt_BR/pokemon-info-container.ts b/src/locales/pt_BR/pokemon-info-container.ts index 31b93d90daf..5789e60b274 100644 --- a/src/locales/pt_BR/pokemon-info-container.ts +++ b/src/locales/pt_BR/pokemon-info-container.ts @@ -5,7 +5,5 @@ export const pokemonInfoContainer: SimpleTranslationEntries = { "gender": "Gênero:", "ability": "Habilidade:", "nature": "Natureza:", - "epic": "Épico", - "rare": "Raro", - "common": "Comum", + "form": "Forma:", } as const; diff --git a/src/locales/zh_CN/common.ts b/src/locales/zh_CN/common.ts index 29f54ff0dc9..7c2c73eb3c0 100644 --- a/src/locales/zh_CN/common.ts +++ b/src/locales/zh_CN/common.ts @@ -2,4 +2,9 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const common: SimpleTranslationEntries = { "start": "开始", + "luckIndicator": "幸运:", + "shinyOnHover": "闪光", + "commonShiny": "常见", + "rareShiny": "稀有", + "epicShiny": "史诗", } as const; diff --git a/src/locales/zh_CN/pokemon-info-container.ts b/src/locales/zh_CN/pokemon-info-container.ts index f7072276e65..eca518c3806 100644 --- a/src/locales/zh_CN/pokemon-info-container.ts +++ b/src/locales/zh_CN/pokemon-info-container.ts @@ -5,7 +5,4 @@ export const pokemonInfoContainer: SimpleTranslationEntries = { "gender": "性别:", "ability": "特性:", "nature": "性格:", - "epic": "史诗", - "rare": "稀有", - "common": "常见" } as const; diff --git a/src/locales/zh_TW/common.ts b/src/locales/zh_TW/common.ts index c3dc42785ee..a2112cc594e 100644 --- a/src/locales/zh_TW/common.ts +++ b/src/locales/zh_TW/common.ts @@ -2,4 +2,9 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const common: SimpleTranslationEntries = { "start": "開始", + "luckIndicator": "Luck:", + "shinyOnHover": "Shiny", + "commonShiny": "常見", + "rareShiny": "稀有", + "epicShiny": "史詩", } as const; diff --git a/src/locales/zh_TW/pokemon-info-container.ts b/src/locales/zh_TW/pokemon-info-container.ts index 19cb5219465..eca518c3806 100644 --- a/src/locales/zh_TW/pokemon-info-container.ts +++ b/src/locales/zh_TW/pokemon-info-container.ts @@ -5,7 +5,4 @@ export const pokemonInfoContainer: SimpleTranslationEntries = { "gender": "性别:", "ability": "特性:", "nature": "性格:", - "epic": "史詩", - "rare": "稀有", - "common": "常見" } as const; diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index c246af73d07..3b889228e27 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -10,6 +10,7 @@ import { getVariantTint } from "#app/data/variant"; import { BattleStat } from "#app/data/battle-stat"; import BattleFlyout from "./battle-flyout"; import { WindowVariant, addWindow } from "./ui-theme"; +import i18next from "i18next"; const battleStatOrder = [ BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.ACC, BattleStat.EVA, BattleStat.SPD ]; @@ -315,9 +316,9 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.shinyIcon.setTint(getVariantTint(baseVariant)); if (this.shinyIcon.visible) { const shinyDescriptor = doubleShiny || baseVariant ? - `${baseVariant === 2 ? "Epic" : baseVariant === 1 ? "Rare" : "Common"}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? "Epic" : pokemon.fusionVariant === 1 ? "Rare" : "Common"}` : ""}` + `${baseVariant === 2 ? i18next.t("common:epicShiny") : baseVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? i18next.t("common:epicShiny") : pokemon.fusionVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}` : ""}` : ""; - this.shinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`)); + this.shinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `${i18next.t("common:shinyOnHover")}${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`)); this.shinyIcon.on("pointerout", () => (this.scene as BattleScene).ui.hideTooltip()); } diff --git a/src/ui/pokemon-info-container.ts b/src/ui/pokemon-info-container.ts index 9ab3028b564..9f4df2b20b4 100644 --- a/src/ui/pokemon-info-container.ts +++ b/src/ui/pokemon-info-container.ts @@ -300,9 +300,9 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { this.pokemonShinyIcon.setTint(getVariantTint(baseVariant)); if (this.pokemonShinyIcon.visible) { const shinyDescriptor = doubleShiny || baseVariant ? - `${baseVariant === 2 ? i18next.t("pokemonInfoContainer:epic") : baseVariant === 1 ? i18next.t("pokemonInfoContainer:rare") : i18next.t("pokemonInfoContainer:common")}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? i18next.t("pokemonInfoContainer:epic") : pokemon.fusionVariant === 1 ? i18next.t("pokemonInfoContainer:rare") : i18next.t("pokemonInfoContainer:common")}` : ""}` + `${baseVariant === 2 ? i18next.t("common:epicShiny") : baseVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? i18next.t("common:epicShiny") : pokemon.fusionVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}` : ""}` : ""; - this.pokemonShinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`, true)); + this.pokemonShinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `${i18next.t("common:shinyOnHover")}${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`, true)); this.pokemonShinyIcon.on("pointerout", () => (this.scene as BattleScene).ui.hideTooltip()); const newShiny = BigInt(Math.pow(2, (pokemon.shiny ? 1 : 0))); diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index d0e644870a1..25d1060f23e 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -565,7 +565,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.type2Icon.setOrigin(0, 0); this.starterSelectContainer.add(this.type2Icon); - this.pokemonLuckLabelText = addTextObject(this.scene, 8, 89, "Luck:", TextStyle.WINDOW_ALT, { fontSize: "56px" }); + this.pokemonLuckLabelText = addTextObject(this.scene, 8, 89, i18next.t("common:luckIndicator"), TextStyle.WINDOW_ALT, { fontSize: "56px" }); this.pokemonLuckLabelText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonLuckLabelText); diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 73edda0ba44..ae94951bc4c 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -345,9 +345,9 @@ export default class SummaryUiHandler extends UiHandler { this.shinyIcon.setTint(getVariantTint(baseVariant)); if (this.shinyIcon.visible) { const shinyDescriptor = doubleShiny || baseVariant ? - `${baseVariant === 2 ? "Epic" : baseVariant === 1 ? "Rare" : "Common"}${doubleShiny ? `/${this.pokemon.fusionVariant === 2 ? "Epic" : this.pokemon.fusionVariant === 1 ? "Rare" : "Common"}` : ""}` + `${baseVariant === 2 ? i18next.t("common:epicShiny") : baseVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}${doubleShiny ? `/${this.pokemon.fusionVariant === 2 ? i18next.t("common:epicShiny") : this.pokemon.fusionVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}` : ""}` : ""; - this.shinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`, true)); + this.shinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `${i18next.t("common:shinyOnHover")}${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`, true)); this.shinyIcon.on("pointerout", () => (this.scene as BattleScene).ui.hideTooltip()); } @@ -717,7 +717,7 @@ export default class SummaryUiHandler extends UiHandler { } if (this.pokemon.getLuck()) { - const luckLabelText = addTextObject(this.scene, 141, 28, "Luck:", TextStyle.SUMMARY_ALT); + const luckLabelText = addTextObject(this.scene, 141, 28, i18next.t("common:luckIndicator"), TextStyle.SUMMARY_ALT); luckLabelText.setOrigin(0, 0); profileContainer.add(luckLabelText); From fead078bc567959851640a1a57bf03cc15d5e1af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Thu, 4 Jul 2024 22:40:11 -0300 Subject: [PATCH 3/5] Localization: Add new translations for party UI handler (#2566) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Localization: Add new translations for party UI handler * fixes * Update src/locales/fr/party-ui-handler.ts Co-authored-by: Lugiad' * Update src/locales/de/party-ui-handler.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * minor fix * Update src/locales/fr/party-ui-handler.ts Co-authored-by: Lugiad' * Update src/locales/ko/party-ui-handler.ts Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com> * change order and name of "Do what with this Pokémon?" message * reverted imports * update party-ui-handler translations for multiple languages * Update src/locales/fr/party-ui-handler.ts Co-authored-by: Lugiad' * Update src/locales/de/party-ui-handler.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/de/party-ui-handler.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/zh_CN/party-ui-handler.ts Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> * Update src/locales/ko/party-ui-handler.ts Co-authored-by: Enoch * Update src/locales/ko/party-ui-handler.ts Co-authored-by: Enoch * Update src/locales/ko/party-ui-handler.ts Co-authored-by: Enoch * minor fix * pt tweak * Update src/locales/ko/party-ui-handler.ts Co-authored-by: Enoch * Update src/locales/ko/party-ui-handler.ts Co-authored-by: returntoice * Update src/locales/ko/party-ui-handler.ts Co-authored-by: returntoice * Update src/locales/ko/party-ui-handler.ts Co-authored-by: returntoice * Update src/locales/ko/party-ui-handler.ts Co-authored-by: Enoch * Update src/locales/es/party-ui-handler.ts Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com> --------- Co-authored-by: Lugiad' Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com> Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> Co-authored-by: Enoch Co-authored-by: returntoice Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com> --- src/locales/de/menu.ts | 1 - src/locales/de/party-ui-handler.ts | 45 ++++++++++++++++++- src/locales/en/menu.ts | 1 - src/locales/en/party-ui-handler.ts | 46 +++++++++++++++++++- src/locales/es/menu.ts | 1 - src/locales/es/party-ui-handler.ts | 45 ++++++++++++++++++- src/locales/fr/menu.ts | 1 - src/locales/fr/party-ui-handler.ts | 46 +++++++++++++++++++- src/locales/it/menu.ts | 1 - src/locales/it/party-ui-handler.ts | 45 ++++++++++++++++++- src/locales/ko/menu.ts | 1 - src/locales/ko/party-ui-handler.ts | 45 ++++++++++++++++++- src/locales/pt_BR/menu.ts | 1 - src/locales/pt_BR/party-ui-handler.ts | 43 +++++++++++++++++++ src/locales/zh_CN/menu.ts | 1 - src/locales/zh_CN/party-ui-handler.ts | 45 ++++++++++++++++++- src/locales/zh_TW/menu.ts | 1 - src/locales/zh_TW/party-ui-handler.ts | 45 ++++++++++++++++++- src/ui/party-ui-handler.ts | 62 +++++++++++++-------------- 19 files changed, 426 insertions(+), 50 deletions(-) diff --git a/src/locales/de/menu.ts b/src/locales/de/menu.ts index bffcdeb1c3e..cb8cf9a318a 100644 --- a/src/locales/de/menu.ts +++ b/src/locales/de/menu.ts @@ -53,6 +53,5 @@ export const menu: SimpleTranslationEntries = { "no":"Nein", "disclaimer": "HAFTUNGSAUSSCHLUSS", "disclaimerDescription": "Dieses Spiel ist ein unfertiges Produkt. Es kann spielbeinträchtigende Fehler (bis hin zum Verlust des Speicherstandes)\n aufweisen, sich ohne Vorankündigung ändern und es gibt keine Garantie dass es weiterentwickelt oder fertiggestellt wird.", - "choosePokemon": "Wähle ein Pokémon.", "errorServerDown": "Ups! Es gab einen Fehler beim Versuch\nden Server zu kontaktieren\nLasse dieses Fenster offen\nDu wirst automatisch neu verbunden.", } as const; diff --git a/src/locales/de/party-ui-handler.ts b/src/locales/de/party-ui-handler.ts index da83d2370c3..604efb83628 100644 --- a/src/locales/de/party-ui-handler.ts +++ b/src/locales/de/party-ui-handler.ts @@ -6,5 +6,48 @@ export const partyUiHandler: SimpleTranslationEntries = { "CANCEL": "Abbrechen", "RELEASE": "Freilassen", "APPLY": "Anwenden", - "TEACH": "Erlernen" + "TEACH": "Erlernen", + "SPLICE": "Fusionieren", + "UNSPLICE": "Defusionieren", + "ACTIVATE": "Aktivieren", + "DEACTIVATE": "Deaktivieren", + "TRANSFER": "Übertragen", + "ALL": "Alle", + "PASS_BATON": "Stafette nutzen", + "UNPAUSE_EVOLUTION": "Entwicklung fortsetzen", + "REVIVE": "Wiederbeleben", + + "choosePokemon": "Wähle ein Pokémon.", + "doWhatWithThisPokemon": "Was soll mit diesem Pokémon geschehen?", + "noEnergy": "{{pokemonName}} ist nicht fit genug, um zu kämpfen!", + "hasEnergy": "{{pokemonName}} steckt noch voller Energie", + "cantBeUsed": "{{pokemonName}} kann in dieser Herausforderung nicht verwendet werden!", + "tooManyItems": "{{pokemonName}} trägt bereits zu viele dieser Items!", + "anyEffect": "Das würde keine Wirkung zeigen.", + "unpausedEvolutions": "Entwicklungen für {{pokemonName}} wurden wieder aktiviert.", + "unspliceConfirmation": "Willst du wirklich {{fusionName}} von {{pokemonName}} defusionieren? {{fusionName}} wird freigelassen.", + "wasReverted": "{{fusionName}} verwandelt sich in {{pokemonName}} zurück.", + "releaseConfirmation": "Möchtest du {{pokemonName}} wirklich freilassen?", + "releaseInBattle": "Pokémon, die aktuell im Kampf sind, können nicht freigelassen werden.", + "selectAMove": "Wähle eine Attacke.", + "changeQuantity": "Wähle ein getragenes Item aus, das übertragen werden soll. Nutze < und > um die Anzahl zu ändern.", + "selectAnotherPokemonToSplice": "Wähle ein anderes Pokémon mit dem fusioniert werden soll aus.", + "cancel": "Abbrechen", + + // Slot TM text + "able": "Erlernbar!", + "notAble": "Nicht erlernbar", + "learned": "Bereits erlernt!", + + // Releasing messages + "goodbye": "Auf wiedersehen, {{pokemonName}}!", + "byebye": "Byebye, {{pokemonName}}!", + "farewell": "Mach’s gut, {{pokemonName}}!", + "soLong": "Bis dann, {{pokemonName}}!", + "thisIsWhereWePart": "Nun heißt es Abschied nehmen, {{pokemonName}}!", + "illMissYou": "Ich werde dich vermissen, {{pokemonName}}!", + "illNeverForgetYou": "Ich werde dich niemals vergessen, {{pokemonName}}!", + "untilWeMeetAgain": "Bis wir uns wiedersehen, {{pokemonName}}!", + "sayonara": "Sayonara, {{pokemonName}}!", + "smellYaLater": "Also dann, man riecht sich! Ciao!, {{pokemonName}}!", } as const; diff --git a/src/locales/en/menu.ts b/src/locales/en/menu.ts index 47d19bd56b6..542399fee51 100644 --- a/src/locales/en/menu.ts +++ b/src/locales/en/menu.ts @@ -53,6 +53,5 @@ export const menu: SimpleTranslationEntries = { "no":"No", "disclaimer": "DISCLAIMER", "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed.", - "choosePokemon": "Choose a Pokémon.", "errorServerDown": "Oops! There was an issue contacting the server.\n\nYou may leave this window open,\nthe game will automatically reconnect.", } as const; diff --git a/src/locales/en/party-ui-handler.ts b/src/locales/en/party-ui-handler.ts index b7eac04b4c8..78fdcc14dbe 100644 --- a/src/locales/en/party-ui-handler.ts +++ b/src/locales/en/party-ui-handler.ts @@ -1,11 +1,53 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const partyUiHandler: SimpleTranslationEntries = { - "ALL": "All", "SEND_OUT": "Send Out", "SUMMARY": "Summary", "CANCEL": "Cancel", "RELEASE": "Release", "APPLY": "Apply", - "TEACH": "Teach" + "TEACH": "Teach", + "SPLICE": "Splice", + "UNSPLICE": "Unsplice", + "ACTIVATE": "Activate", + "DEACTIVATE": "Deactivate", + "TRANSFER": "Transfer", + "ALL": "All", + "PASS_BATON": "Pass Baton", + "UNPAUSE_EVOLUTION": "Unpause Evolution", + "REVIVE": "Revive", + + "choosePokemon": "Choose a Pokémon.", + "doWhatWithThisPokemon": "Do what with this Pokémon?", + "noEnergy": "{{pokemonName}} has no energy\nleft to battle!", + "hasEnergy": "{{pokemonName}} still has energy\nto battle!", + "cantBeUsed": "{{pokemonName}} can't be used in\nthis challenge!", + "tooManyItems": "{{pokemonName}} has too many\nof this item!", + "anyEffect": "It won't have any effect.", + "unpausedEvolutions": "Evolutions have been unpaused for {{pokemonName}}.", + "unspliceConfirmation": "Do you really want to unsplice {{fusionName}}\nfrom {{pokemonName}}? {{fusionName}} will be lost.", + "wasReverted": "{{fusionName}} was reverted to {{pokemonName}}.", + "releaseConfirmation": "Do you really want to release {{pokemonName}}?", + "releaseInBattle": "You can't release a Pokémon that's in battle!", + "selectAMove": "Select a move.", + "changeQuantity": "Select a held item to transfer.\nUse < and > to change the quantity.", + "selectAnotherPokemonToSplice": "Select another Pokémon to splice.", + "cancel": "Cancel", + + // Slot TM text + "able": "Able", + "notAble": "Not able", + "learned": "Learned", + + // Releasing messages + "goodbye": "Goodbye, {{pokemonName}}!", + "byebye": "Byebye, {{pokemonName}}!", + "farewell": "Farewell, {{pokemonName}}!", + "soLong": "So long, {{pokemonName}}!", + "thisIsWhereWePart": "This is where we part, {{pokemonName}}!", + "illMissYou": "I'll miss you, {{pokemonName}}!", + "illNeverForgetYou": "I'll never forget you, {{pokemonName}}!", + "untilWeMeetAgain": "Until we meet again, {{pokemonName}}!", + "sayonara": "Sayonara, {{pokemonName}}!", + "smellYaLater": "Smell ya later, {{pokemonName}}!", } as const; diff --git a/src/locales/es/menu.ts b/src/locales/es/menu.ts index 8176af456e1..85d9d50f015 100644 --- a/src/locales/es/menu.ts +++ b/src/locales/es/menu.ts @@ -53,6 +53,5 @@ export const menu: SimpleTranslationEntries = { "no":"No", "disclaimer": "AVISO", "disclaimerDescription": "Este juego es un producto inacabado; puede tener problemas de jugabilidad (incluyendo la posible pérdida\n de datos de guardado),cambiar sin avisar, y puede o no puede ser actualizado hasta ser completado.", - "choosePokemon": "Choose a Pokémon.", "errorServerDown": "¡Ups! Ha habido un problema al contactar con el servidor.\n\nPuedes mantener esta ventana abierta,\nel juego se reconectará automáticamente.", } as const; diff --git a/src/locales/es/party-ui-handler.ts b/src/locales/es/party-ui-handler.ts index 894ea14bb12..b310a98840d 100644 --- a/src/locales/es/party-ui-handler.ts +++ b/src/locales/es/party-ui-handler.ts @@ -6,5 +6,48 @@ export const partyUiHandler: SimpleTranslationEntries = { "CANCEL": "Cancel", "RELEASE": "Release", "APPLY": "Apply", - "TEACH": "Teach" + "TEACH": "Enseñar", + "SPLICE": "Fusionar", + "UNSPLICE": "Separar", + "ACTIVATE": "Activar", + "DEACTIVATE": "Desactivar", + "TRANSFER": "Transferir", + "ALL": "Todo", + "PASS_BATON": "Relevo", + "UNPAUSE_EVOLUTION": "Reanudar Evolución", + "REVIVE": "Revivir", + + "choosePokemon": "Elige a un Pokémon.", + "doWhatWithThisPokemon": "¿Que quieres hacer con este Pokémon?", + "noEnergy": "¡A {{pokemonName}} no le quedan\nfuerzas para luchar!", + "hasEnergy": "¡A {{pokemonName}} le quedan\nfuerzas para luchar!", + "cantBeUsed": "¡{{pokemonName}} no puede usarse\nen este desafío!", + "tooManyItems": "¡{{pokemonName}} tiene demasiados\nde este objeto!", + "anyEffect": "No tendría ningún efecto.", + "unpausedEvolutions": "Se reanudó las evoluciones de {{pokemonName}}.", + "unspliceConfirmation": "¿Seguro que quiere separar a {{fusionName}}\nde {{pokemonName}}? {{fusionName}} se perderá.", + "wasReverted": "{{fusionName}} se revirtió a {{pokemonName}}.", + "releaseConfirmation": "¿Quieres liberar a {{pokemonName}}?", + "releaseInBattle": "¡No puedes liberar un Pokémon que está en batalla!", + "selectAMove": "Selecciona un movimiento.", + "changeQuantity": "Selecciona un objeto equipado para transferir.\nUsa < y > para cambiar la cantidad.", + "selectAnotherPokemonToSplice": "Selecciona otro Pokémon para fusionar.", + "cancel": "Salir", + + // Slot TM text + "able": "Apto", + "notAble": "No apto", + "learned": "Aprendido", + + // Releasing messages + "goodbye": "¡Adiós, {{pokemonName}}!", + "byebye": "¡Chao, {{pokemonName}}!", + "farewell": "¡Hasta luego, {{pokemonName}}!", + "soLong": "¡Nos vemos, {{pokemonName}}!", + "thisIsWhereWePart": "¡Aquí es donde nos despedimos, {{pokemonName}}!", + "illMissYou": "¡Te echaré de menos, {{pokemonName}}!", + "illNeverForgetYou": "¡Nunca te olvidaré, {{pokemonName}}!", + "untilWeMeetAgain": "¡Hasta que nos volvamos a encontrar, {{pokemonName}}!", + "sayonara": "¡Sayonara, {{pokemonName}}!", + "smellYaLater": "¡Nos vemos luego, {{pokemonName}}!", } as const; diff --git a/src/locales/fr/menu.ts b/src/locales/fr/menu.ts index 0402bd4bfda..3aee5c42103 100644 --- a/src/locales/fr/menu.ts +++ b/src/locales/fr/menu.ts @@ -48,6 +48,5 @@ export const menu: SimpleTranslationEntries = { "no":"Non", "disclaimer": "AVERTISSEMENT", "disclaimerDescription": "Ce jeu n’est pas un produit fini et peut contenir des problèmes de jouabilité, dont de possibles pertes de sauvegardes,\ndes modifications sans avertissement et pourrait ou non encore être mis à jour ou terminé.", - "choosePokemon": "Sélectionnez un Pokémon.", "errorServerDown": "Oupsi ! Un problème de connexion au serveur est survenu.\n\nVous pouvez garder cette fenêtre ouverte,\nle jeu se reconnectera automatiquement.", } as const; diff --git a/src/locales/fr/party-ui-handler.ts b/src/locales/fr/party-ui-handler.ts index 369f7b65bb9..f64859a3a14 100644 --- a/src/locales/fr/party-ui-handler.ts +++ b/src/locales/fr/party-ui-handler.ts @@ -1,11 +1,53 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const partyUiHandler: SimpleTranslationEntries = { - "ALL": "Tout", "SEND_OUT": "Envoyer", "SUMMARY": "Résumé", "CANCEL": "Annuler", "RELEASE": "Relâcher", "APPLY": "Appliquer", - "TEACH": "Apprendre" + "TEACH": "Apprendre", + "SPLICE": "Fusionner", + "UNSPLICE": "Séparer", + "ACTIVATE": "Activer", + "DEACTIVATE": "Désactiver", + "TRANSFER": "Transférer", + "ALL": "Tout", + "PASS_BATON": "Relais", + "UNPAUSE_EVOLUTION": "Réactiver Évolution", + "REVIVE": "Ranimer", + + "choosePokemon": "Sélectionnez un Pokémon.", + "doWhatWithThisPokemon": "Que faire avec ce Pokémon ?", + "noEnergy": "{{pokemonName}} n’a plus l’énergie\nde se battre !", + "hasEnergy": "{{pokemonName}} peut toujours\nse battre !", + "cantBeUsed": "{{pokemonName}} ne peut pas\nse battre pour ce challenge !", + "tooManyItems": "{{pokemonName}} porte trop\nd’exemplaires de cet objet !", + "anyEffect": "Cela n’aura aucun effet.", + "unpausedEvolutions": "{{pokemonName}} peut de nouveau évoluer.", + "unspliceConfirmation": "Voulez-vous vraiment séparer {{fusionName}}\nde {{pokemonName}} ? {{fusionName}} sera perdu.", + "wasReverted": "{{fusionName}} est redevenu {{pokemonName}}.", + "releaseConfirmation": "Voulez-vous relâcher {{pokemonName}} ?", + "releaseInBattle": "Vous ne pouvez pas relâcher Pokémon en combat !", + "selectAMove": "Sélectionnez une capacité.", + "changeQuantity": "Sélect. un objet à transférer.\nChangez la quantité avec < et >.", + "selectAnotherPokemonToSplice": "Sélectionnez un autre Pokémon à séparer.", + "cancel": "Sortir", + + // Slot TM text + "able": "Apte", + "notAble": "Pas Apte", + "learned": "Appris", + + // Releasing messages + "goodbye": "Au revoir, {{pokemonName}} !", + "byebye": "Bye-bye, {{pokemonName}} !", + "farewell": "Adieu, {{pokemonName}} !", + "soLong": "Salut, {{pokemonName}} !", + "thisIsWhereWePart": "C’est là qu’on se sépare, {{pokemonName}}!", + "illMissYou": "Tu vas me manquer, {{pokemonName}} !", + "illNeverForgetYou": "Je ne t’oublierai pas, {{pokemonName}} !", + "untilWeMeetAgain": "À la prochaine, {{pokemonName}} !", + "sayonara": "Sayonara, {{pokemonName}} !", + "smellYaLater": "À la revoyure, {{pokemonName}} !", } as const; diff --git a/src/locales/it/menu.ts b/src/locales/it/menu.ts index 3336373a6c3..3e083d3d374 100644 --- a/src/locales/it/menu.ts +++ b/src/locales/it/menu.ts @@ -53,6 +53,5 @@ export const menu: SimpleTranslationEntries = { "no":"No", "disclaimer": "DISCLAIMER", "disclaimerDescription": "Questo gioco è un prodotto incompleto; si potrebbero riscontrare errori (inclusa la perdita dei dati di salvataggio),\ncambiamenti impercettibili, e non è detto che venga aggiornato nel tempo o mai completato del tutto.", - "choosePokemon": "Choose a Pokémon.", "errorServerDown": "Oops! There was an issue contacting the server.\n\nYou may leave this window open,\nthe game will automatically reconnect.", } as const; diff --git a/src/locales/it/party-ui-handler.ts b/src/locales/it/party-ui-handler.ts index c174df03d1f..86966a6e7f9 100644 --- a/src/locales/it/party-ui-handler.ts +++ b/src/locales/it/party-ui-handler.ts @@ -6,5 +6,48 @@ export const partyUiHandler: SimpleTranslationEntries = { "CANCEL": "Annulla", "RELEASE": "Rilascia", "APPLY": "Applica", - "TEACH": "Insegna" + "TEACH": "Insegna", + "SPLICE": "Splice", + "UNSPLICE": "Unsplice", + "ACTIVATE": "Activate", + "DEACTIVATE": "Deactivate", + "TRANSFER": "Transfer", + "ALL": "All", + "PASS_BATON": "Pass Baton", + "UNPAUSE_EVOLUTION": "Unpause Evolution", + "REVIVE": "Revive", + + "choosePokemon": "Choose a Pokémon.", + "doWhatWithThisPokemon": "Do what with this Pokémon?", + "noEnergy": "{{pokemonName}} has no energy\nleft to battle!", + "hasEnergy": "{{pokemonName}} still has energy\nto battle!", + "cantBeUsed": "{{pokemonName}} can't be used in\nthis challenge!", + "tooManyItems": "{{pokemonName}} has too many\nof this item!", + "anyEffect": "It won't have any effect.", + "unpausedEvolutions": "Evolutions have been unpaused for {{pokemonName}}.", + "unspliceConfirmation": "Do you really want to unsplice {{fusionName}}\nfrom {{pokemonName}}? {{fusionName}} will be lost.", + "wasReverted": "{{fusionName}} was reverted to {{pokemonName}}.", + "releaseConfirmation": "Do you really want to release {{pokemonName}}?", + "releaseInBattle": "You can't release a Pokémon that's in battle!", + "selectAMove": "Select a move.", + "changeQuantity": "Select a held item to transfer.\nUse < and > to change the quantity.", + "selectAnotherPokemonToSplice": "Select another Pokémon to splice.", + "cancel": "Cancel", + + // Slot TM text + "able": "Able", + "notAble": "Not able", + "learned": "Learned", + + // Releasing messages + "goodbye": "Goodbye, {{pokemonName}}!", + "byebye": "Byebye, {{pokemonName}}!", + "farewell": "Farewell, {{pokemonName}}!", + "soLong": "So long, {{pokemonName}}!", + "thisIsWhereWePart": "This is where we part, {{pokemonName}}!", + "illMissYou": "I'll miss you, {{pokemonName}}!", + "illNeverForgetYou": "I'll never forget you, {{pokemonName}}!", + "untilWeMeetAgain": "Until we meet again, {{pokemonName}}!", + "sayonara": "Sayonara, {{pokemonName}}!", + "smellYaLater": "Smell ya later, {{pokemonName}}!", } as const; diff --git a/src/locales/ko/menu.ts b/src/locales/ko/menu.ts index cf72dab8a37..0e12b3bd15e 100644 --- a/src/locales/ko/menu.ts +++ b/src/locales/ko/menu.ts @@ -53,6 +53,5 @@ export const menu: SimpleTranslationEntries = { "no":"아니오", "disclaimer": "면책 조항", "disclaimerDescription": "이 게임은 완전히 개발되지 않았습니다- (세이브 데이터 소실을 포함) 플레이에 지장을 주는 문제가 생길 수 있으며,\n공지 없이 업데이트가 진행 혹은 중지될 수 있습니다.", - "choosePokemon": "포켓몬을 선택하세요.", "errorServerDown": "서버 연결 중 문제가 발생했습니다.\n\n이 창을 종료하지 않고 두면,\n게임은 자동으로 재접속됩니다.", } as const; diff --git a/src/locales/ko/party-ui-handler.ts b/src/locales/ko/party-ui-handler.ts index 15a42ae0521..842f10209a9 100644 --- a/src/locales/ko/party-ui-handler.ts +++ b/src/locales/ko/party-ui-handler.ts @@ -6,5 +6,48 @@ export const partyUiHandler: SimpleTranslationEntries = { "CANCEL": "그만둔다", "RELEASE": "놓아준다", "APPLY": "사용한다", - "TEACH": "가르친다" + "TEACH": "가르친다", + "SPLICE": "융합", + "UNSPLICE": "융합 해제", + "ACTIVATE": "발동", + "DEACTIVATE": "해제", + "TRANSFER": "건넨다", + "ALL": "전부", + "PASS_BATON": "배턴터치한다", + "UNPAUSE_EVOLUTION": "진화 재개", + "REVIVE": "되살린다", + + "choosePokemon": "포켓몬을 선택하세요.", + "doWhatWithThisPokemon": "포켓몬을 어떻게 하겠습니까?", + "noEnergy": "{{pokemonName}}[[는]] 싸울 수 있는\n기력이 남아 있지 않습니다!", + "hasEnergy": "{{pokemonName}}[[는]]\n아직도 힘이 넘친다!", + "cantBeUsed": "{{pokemonName}}[[는]] 이 챌린지에서는\n쓸 수 없습니다.", + "tooManyItems": "{{pokemonName}}[[는]] 지닌 도구의 수가\n너무 많습니다", + "anyEffect": "써도 효과가 없다.", + "unpausedEvolutions": "{{pokemonName}}의 진화가 재개되었다.", + "unspliceConfirmation": "{{pokemonName}}로부터 {{fusionName}}의 융합을 해제하시겠습니까?\n{{fusionName}}는 사라지게 됩니다.", + "wasReverted": "{{fusionName}}은 {{pokemonName}}의 모습으로 돌아갔습니다!", + "releaseConfirmation": "{{pokemonName}}[[를]]\n정말 놓아주겠습니까?", + "releaseInBattle": "전투 중인 포켓몬은\n놓아줄 수 없습니다.", + "selectAMove": "기술을 선택해 주십시오", + "changeQuantity": "건네줄 지닌 도구를 선택해 주십시오.\n< 와 > 로 수량을 변경할 수 있습니다.", + "selectAnotherPokemonToSplice": "융합할 포켓몬을 선택해 주십시오.", + "cancel": "그만둔다", + + // Slot TM text + "able": "배울 수 있다", + "notAble": "배울 수 없다", + "learned": "알고 있다", + + // Releasing messages + "goodbye": "잘 가, {{pokemonName}}!", + "byebye": "바이바이, {{pokemonName}}!", + "farewell": "작별이야, {{pokemonName}}!", + "soLong": "안녕, {{pokemonName}}!", + "thisIsWhereWePart": "여기서 헤어지자, {{pokemonName}}!", + "illMissYou": "보고 싶을거야, {{pokemonName}}!", + "illNeverForgetYou": "잊지 못할거야, {{pokemonName}}!", + "untilWeMeetAgain": "다시 만날 때까지, {{pokemonName}}!", + "sayonara": "사요나라, {{pokemonName}}!", + "smellYaLater": "또 보자, {{pokemonName}}!", } as const; diff --git a/src/locales/pt_BR/menu.ts b/src/locales/pt_BR/menu.ts index a200f2c9abe..1e097737b69 100644 --- a/src/locales/pt_BR/menu.ts +++ b/src/locales/pt_BR/menu.ts @@ -53,6 +53,5 @@ export const menu: SimpleTranslationEntries = { "no": "Não", "disclaimer": "AVISO", "disclaimerDescription": "Este jogo é um produto inacabado; ele pode ter problemas de jogabilidade (incluindo possíveis\n perdas de dados salvos), sofrer alterações sem aviso prévio e pode ou não ser atualizado ou concluído.", - "choosePokemon": "Escolha um Pokémon.", "errorServerDown": "Opa! Não foi possível conectar-se ao servidor.\n\nVocê pode deixar essa janela aberta,\npois o jogo irá se reconectar automaticamente.", } as const; diff --git a/src/locales/pt_BR/party-ui-handler.ts b/src/locales/pt_BR/party-ui-handler.ts index 683dc4b368a..aac9e56aefa 100644 --- a/src/locales/pt_BR/party-ui-handler.ts +++ b/src/locales/pt_BR/party-ui-handler.ts @@ -7,4 +7,47 @@ export const partyUiHandler: SimpleTranslationEntries = { "RELEASE": "Soltar", "APPLY": "Aplicar", "TEACH": "Ensinar", + "SPLICE": "Fundir", + "UNSPLICE": "Separar", + "ACTIVATE": "Ativar", + "DEACTIVATE": "Desativar", + "TRANSFER": "Transferir", + "ALL": "Tudo", + "PASS_BATON": "Passar Bastão", + "UNPAUSE_EVOLUTION": "Ativar Evolução", + "REVIVE": "Reviver", + + "choosePokemon": "Escolha um Pokémon.", + "doWhatWithThisPokemon": "O que você deseja fazer?", + "noEnergy": "{{pokemonName}} não pode\nmais batalhar!", + "hasEnergy": "{{pokemonName}} ainda\npode batalhar!", + "cantBeUsed": "{{pokemonName}} não pode\nser usado neste desafio!", + "tooManyItems": "{{pokemonName}} já tem\nmuitos desse item!", + "anyEffect": "Isso não terá nenhum efeito.", + "unpausedEvolutions": "Evoluções foram despausadas para {{pokemonName}}.", + "unspliceConfirmation": "Você realmente deseja desfazer a fusão de {{fusionName}}\ncom {{pokemonName}}? {{fusionName}} será perdido.", + "wasReverted": "{{fusionName}} foi revertido para {{pokemonName}}.", + "releaseConfirmation": "Você realmente deseja soltar {{pokemonName}}?", + "releaseInBattle": "Você não pode soltar um Pokémon que está em batalha!", + "selectAMove": "Selecione um movimento.", + "changeQuantity": "Selecione um item para transferir.\nUse < e > para mudar a quantidade.", + "selectAnotherPokemonToSplice": "Selecione outro Pokémon para fundir.", + "cancel": "Voltar", + + // Slot TM text + "able": "Capaz", + "notAble": "Incapaz", + "learned": "Aprendido", + + // Releasing messages + "goodbye": "Adeus, {{pokemonName}}!", + "byebye": "Tchau, {{pokemonName}}!", + "farewell": "Até mais, {{pokemonName}}!", + "soLong": "Até logo, {{pokemonName}}!", + "thisIsWhereWePart": "Aqui é onde nos separamos, {{pokemonName}}!", + "illMissYou": "Vou sentir saudades, {{pokemonName}}!", + "illNeverForgetYou": "Nunca vou esquecer de você, {{pokemonName}}!", + "untilWeMeetAgain": "Até nos encontrarmos novamente, {{pokemonName}}!", + "sayonara": "Sayonara, {{pokemonName}}!", + "smellYaLater": "Te vejo depois, {{pokemonName}}!", } as const; diff --git a/src/locales/zh_CN/menu.ts b/src/locales/zh_CN/menu.ts index c19c41333e8..92a9d1bfbf4 100644 --- a/src/locales/zh_CN/menu.ts +++ b/src/locales/zh_CN/menu.ts @@ -53,6 +53,5 @@ export const menu: SimpleTranslationEntries = { "no": "否", "disclaimer": "免责声明", "disclaimerDescription": "这个游戏尚未完成; 可能存在游戏性问题(包括潜在的丢档风险)、\n 不经通知的调整、 未来可能会更新或完成更多内容", - "choosePokemon": "选择一只宝可梦。", "errorServerDown": "糟糕!访问服务器时发生了错误。\n\n你可以保持页面开启,\n游戏会自动重新连接。", } as const; diff --git a/src/locales/zh_CN/party-ui-handler.ts b/src/locales/zh_CN/party-ui-handler.ts index 52529bf8fa9..0348da87b17 100644 --- a/src/locales/zh_CN/party-ui-handler.ts +++ b/src/locales/zh_CN/party-ui-handler.ts @@ -6,5 +6,48 @@ export const partyUiHandler: SimpleTranslationEntries = { "CANCEL": "取消", "RELEASE": "放生", "APPLY": "应用", - "TEACH": "教授" + "TEACH": "教授", + "SPLICE": "融合", + "UNSPLICE": "分离", + "ACTIVATE": "激活", + "DEACTIVATE": "解除", + "TRANSFER": "交换", + "ALL": "全部道具", + "PASS_BATON": "接棒", + "UNPAUSE_EVOLUTION": "接触进化暂停", + "REVIVE": "复活", + + "choosePokemon": "选择一只宝可梦。", + "doWhatWithThisPokemon": "要对宝可梦做什么?", + "noEnergy": "{{pokemonName}}没有力气战斗了!", + "hasEnergy": "{{pokemonName}}仍然精神十足!", + "cantBeUsed": "{{pokemonName}}无法在此挑战中使用!", + "tooManyItems": "{{pokemonName}}拥有\n太多这个道具了!", + "anyEffect": "即便使用也无效果哦。", + "unpausedEvolutions": "{{pokemonName}}的进化停止了。", + "unspliceConfirmation": "真的要把{{fusionName}}\n从{{pokemonName}}身上分离吗? {{fusionName}}会就此消失。", + "wasReverted": "{{fusionName}}恢复成了{{pokemonName}}。", + "releaseConfirmation": "你真要放生{{pokemonName}}吗?", + "releaseInBattle": "你无法放生正在战斗中的宝可梦!", + "selectAMove": "选择一个招式。", + "changeQuantity": "选择一件道具来交换。\n使用 ← 和 → 来指定数量。", + "selectAnotherPokemonToSplice": "选择另一只宝可梦来融合。", + "cancel": "取消", + + // Slot TM text + "able": "能学会!", + "notAble": "无法学习", + "learned": "已习得", + + // Releasing messages + "goodbye": "再见,{{pokemonName}}!", + "byebye": "拜拜,{{pokemonName}}!", + "farewell": "再会了,{{pokemonName}}!", + "soLong": "告辞了,{{pokemonName}}!", + "thisIsWhereWePart": "就此分别吧,{{pokemonName}}!", + "illMissYou": "我会想你的,{{pokemonName}}!", + "illNeverForgetYou": "我不会忘记你的,{{pokemonName}}!", + "untilWeMeetAgain": "下次再见了,{{pokemonName}}!", + "sayonara": "撒由那拉,{{pokemonName}}!", + "smellYaLater": "拜拜了您嘞,{{pokemonName}}!", } as const; diff --git a/src/locales/zh_TW/menu.ts b/src/locales/zh_TW/menu.ts index 6d89bc256c6..564c20d5791 100644 --- a/src/locales/zh_TW/menu.ts +++ b/src/locales/zh_TW/menu.ts @@ -53,6 +53,5 @@ export const menu: SimpleTranslationEntries = { "no":"否", "disclaimer": "DISCLAIMER", "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed.", - "choosePokemon": "Choose a Pokémon.", "errorServerDown": "Oops! There was an issue contacting the server.\n\nYou may leave this window open,\nthe game will automatically reconnect.", } as const; diff --git a/src/locales/zh_TW/party-ui-handler.ts b/src/locales/zh_TW/party-ui-handler.ts index dfe1a3629b6..efa9b2c8dab 100644 --- a/src/locales/zh_TW/party-ui-handler.ts +++ b/src/locales/zh_TW/party-ui-handler.ts @@ -6,5 +6,48 @@ export const partyUiHandler: SimpleTranslationEntries = { "CANCEL": "取消", "RELEASE": "放生", "APPLY": "應用", - "TEACH": "教授" + "TEACH": "教授", + "SPLICE": "Splice", + "UNSPLICE": "Unsplice", + "ACTIVATE": "Activate", + "DEACTIVATE": "Deactivate", + "TRANSFER": "Transfer", + "ALL": "All", + "PASS_BATON": "Pass Baton", + "UNPAUSE_EVOLUTION": "Unpause Evolution", + "REVIVE": "Revive", + + "choosePokemon": "Choose a Pokémon.", + "doWhatWithThisPokemon": "Do what with this Pokémon?", + "noEnergy": "{{pokemonName}} has no energy\nleft to battle!", + "hasEnergy": "{{pokemonName}} still has energy\nto battle!", + "cantBeUsed": "{{pokemonName}} can't be used in\nthis challenge!", + "tooManyItems": "{{pokemonName}} has too many\nof this item!", + "anyEffect": "It won't have any effect.", + "unpausedEvolutions": "Evolutions have been unpaused for {{pokemonName}}.", + "unspliceConfirmation": "Do you really want to unsplice {{fusionName}}\nfrom {{pokemonName}}? {{fusionName}} will be lost.", + "wasReverted": "{{fusionName}} was reverted to {{pokemonName}}.", + "releaseConfirmation": "Do you really want to release {{pokemonName}}?", + "releaseInBattle": "You can't release a Pokémon that's in battle!", + "selectAMove": "Select a move.", + "changeQuantity": "Select a held item to transfer.\nUse < and > to change the quantity.", + "selectAnotherPokemonToSplice": "Select another Pokémon to splice.", + "cancel": "Cancel", + + // Slot TM text + "able": "Able", + "notAble": "Not able", + "learned": "Learned", + + // Releasing messages + "goodbye": "Goodbye, {{pokemonName}}!", + "byebye": "Byebye, {{pokemonName}}!", + "farewell": "Farewell, {{pokemonName}}!", + "soLong": "So long, {{pokemonName}}!", + "thisIsWhereWePart": "This is where we part, {{pokemonName}}!", + "illMissYou": "I'll miss you, {{pokemonName}}!", + "illNeverForgetYou": "I'll never forget you, {{pokemonName}}!", + "untilWeMeetAgain": "Until we meet again, {{pokemonName}}!", + "sayonara": "Sayonara, {{pokemonName}}!", + "smellYaLater": "Smell ya later, {{pokemonName}}!", } as const; diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index 93dc052b09d..7ddadf99a3d 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -21,7 +21,7 @@ import MoveInfoOverlay from "./move-info-overlay"; import i18next from "i18next"; import { Moves } from "#enums/moves"; -const defaultMessage = i18next.t("menu:choosePokemon"); +const defaultMessage = i18next.t("partyUiHandler:choosePokemon"); export enum PartyUiMode { SWITCH, @@ -113,14 +113,14 @@ export default class PartyUiHandler extends MessageUiHandler { public static FilterNonFainted = (pokemon: PlayerPokemon) => { if (pokemon.isFainted()) { - return `${pokemon.name} has no energy\nleft to battle!`; + return i18next.t("partyUiHandler:noEnergy", { pokemonName: pokemon.name }); } return null; }; public static FilterFainted = (pokemon: PlayerPokemon) => { if (!pokemon.isFainted()) { - return `${pokemon.name} still has energy\nto battle!`; + return i18next.t("partyUiHandler:hasEnergy", { pokemonName: pokemon.name }); } return null; }; @@ -134,7 +134,7 @@ export default class PartyUiHandler extends MessageUiHandler { const challengeAllowed = new Utils.BooleanHolder(true); applyChallenges(this.scene.gameMode, ChallengeType.POKEMON_IN_BATTLE, pokemon, challengeAllowed); if (!challengeAllowed.value) { - return `${pokemon.name} can't be used in\nthis challenge!`; + return i18next.t("partyUiHandler:cantBeUsed", { pokemonName: pokemon.name }); } return null; }; @@ -144,14 +144,14 @@ export default class PartyUiHandler extends MessageUiHandler { public static FilterItemMaxStacks = (pokemon: PlayerPokemon, modifier: PokemonHeldItemModifier) => { const matchingModifier = pokemon.scene.findModifier(m => m instanceof PokemonHeldItemModifier && m.pokemonId === pokemon.id && m.matchType(modifier)) as PokemonHeldItemModifier; if (matchingModifier && matchingModifier.stackCount === matchingModifier.getMaxStackCount(pokemon.scene)) { - return `${pokemon.name} has too many\nof this item!`; + return i18next.t("partyUiHandler:tooManyItems", { pokemonName: pokemon.name }); } return null; }; - public static NoEffectMessage = "It won't have any effect."; + public static NoEffectMessage = i18next.t("partyUiHandler:anyEffect"); - private localizedOptions = [PartyOption.SEND_OUT, PartyOption.SUMMARY, PartyOption.CANCEL, PartyOption.APPLY, PartyOption.RELEASE, PartyOption.TEACH]; + private localizedOptions = [PartyOption.SEND_OUT, PartyOption.SUMMARY, PartyOption.CANCEL, PartyOption.APPLY, PartyOption.RELEASE, PartyOption.TEACH, PartyOption.SPLICE, PartyOption.UNSPLICE, PartyOption.REVIVE, PartyOption.TRANSFER, PartyOption.UNPAUSE_EVOLUTION, PartyOption.PASS_BATON]; constructor(scene: BattleScene) { super(scene, Mode.PARTY); @@ -376,18 +376,18 @@ export default class PartyUiHandler extends MessageUiHandler { this.clearOptions(); ui.playSelect(); pokemon.pauseEvolutions = false; - this.showText(`Evolutions have been unpaused for ${pokemon.name}.`, null, () => this.showText(null, 0), null, true); + this.showText(i18next.t("partyUiHandler:unpausedEvolutions", { pokemonName: pokemon.name }), null, () => this.showText(null, 0), null, true); } else if (option === PartyOption.UNSPLICE) { this.clearOptions(); ui.playSelect(); - this.showText(`Do you really want to unsplice ${pokemon.fusionSpecies.name}\nfrom ${pokemon.name}? ${pokemon.fusionSpecies.name} will be lost.`, null, () => { + this.showText(i18next.t("partyUiHandler:unspliceConfirmation", { fusionName: pokemon.fusionSpecies.name, pokemonName: pokemon.name }), null, () => { ui.setModeWithoutClear(Mode.CONFIRM, () => { const fusionName = pokemon.name; pokemon.unfuse().then(() => { this.clearPartySlots(); this.populatePartySlots(); ui.setMode(Mode.PARTY); - this.showText(`${fusionName} was reverted to ${pokemon.name}.`, null, () => { + this.showText(i18next.t("partyUiHandler:wasReverted", { fusionName: fusionName, pokemonName: pokemon.name }), null, () => { ui.setMode(Mode.PARTY); this.showText(null, 0); }, null, true); @@ -401,7 +401,7 @@ export default class PartyUiHandler extends MessageUiHandler { this.clearOptions(); ui.playSelect(); if (this.cursor >= this.scene.currentBattle.getBattlerCount() || !pokemon.isAllowedInBattle()) { - this.showText(`Do you really want to release ${pokemon.name}?`, null, () => { + this.showText(i18next.t("partyUiHandler:releaseConfirmation", { pokemonName: pokemon.name }), null, () => { ui.setModeWithoutClear(Mode.CONFIRM, () => { ui.setMode(Mode.PARTY); this.doRelease(this.cursor); @@ -411,7 +411,7 @@ export default class PartyUiHandler extends MessageUiHandler { }); }); } else { - this.showText("You can't release a Pokémon that's in battle!", null, () => this.showText(null, 0), null, true); + this.showText(i18next.t("partyUiHandler:releaseInBattle"), null, () => this.showText(null, 0), null, true); } return true; } else if (option === PartyOption.CANCEL) { @@ -651,20 +651,20 @@ export default class PartyUiHandler extends MessageUiHandler { this.optionsMode = true; - let optionsMessage = "Do what with this Pokémon?"; + let optionsMessage = i18next.t("partyUiHandler:doWhatWithThisPokemon"); switch (this.partyUiMode) { case PartyUiMode.MOVE_MODIFIER: - optionsMessage = "Select a move."; + optionsMessage = i18next.t("partyUiHandler:selectAMove"); break; case PartyUiMode.MODIFIER_TRANSFER: if (!this.transferMode) { - optionsMessage = "Select a held item to transfer.\nUse < and > to change the quantity."; + optionsMessage = i18next.t("partyUiHandler:changeQuantity"); } break; case PartyUiMode.SPLICE: if (!this.transferMode) { - optionsMessage = "Select another Pokémon to splice."; + optionsMessage = i18next.t("partyUiHandler:selectAnotherPokemonToSplice"); } break; } @@ -847,7 +847,7 @@ export default class PartyUiHandler extends MessageUiHandler { default: if (formChangeItemModifiers && option >= PartyOption.FORM_CHANGE_ITEM) { const modifier = formChangeItemModifiers[option - PartyOption.FORM_CHANGE_ITEM]; - optionName = `${modifier.active ? "Deactivate" : "Activate"} ${modifier.type.name}`; + optionName = `${modifier.active ? i18next.t("partyUiHandler:DEACTIVATE") : i18next.t("partyUiHandler:ACTIVATE")} ${modifier.type.name}`; } else { if (this.localizedOptions.includes(option)) { optionName = i18next.t(`partyUiHandler:${PartyOption[option]}`); @@ -932,25 +932,25 @@ export default class PartyUiHandler extends MessageUiHandler { getReleaseMessage(pokemonName: string): string { const rand = Utils.randInt(128); if (rand < 20) { - return `Goodbye, ${pokemonName}!`; + return i18next.t("partyUiHandler:goodbye", { pokemonName: pokemonName }); } else if (rand < 40) { - return `Byebye, ${pokemonName}!`; + return i18next.t("partyUiHandler:byebye", { pokemonName: pokemonName }); } else if (rand < 60) { - return `Farewell, ${pokemonName}!`; + return i18next.t("partyUiHandler:farewell", { pokemonName: pokemonName }); } else if (rand < 80) { - return `So long, ${pokemonName}!`; + return i18next.t("partyUiHandler:soLong", { pokemonName: pokemonName }); } else if (rand < 100) { - return `This is where we part, ${pokemonName}!`; + return i18next.t("partyUiHandler:thisIsWhereWePart", { pokemonName: pokemonName }); } else if (rand < 108) { - return `I'll miss you, ${pokemonName}!`; + return i18next.t("partyUiHandler:illMissYou", { pokemonName: pokemonName }); } else if (rand < 116) { - return `I'll never forget you, ${pokemonName}!`; + return i18next.t("partyUiHandler:illNeverForgetYou", { pokemonName: pokemonName }); } else if (rand < 124) { - return `Until we meet again, ${pokemonName}!`; + return i18next.t("partyUiHandler:untilWeMeetAgain", { pokemonName: pokemonName }); } else if (rand < 127) { - return `Sayonara, ${pokemonName}!`; + return i18next.t("partyUiHandler:sayonara", { pokemonName: pokemonName }); } else { - return `Smell ya later, ${pokemonName}!`; + return i18next.t("partyUiHandler:smellYaLater", { pokemonName: pokemonName }); } } @@ -1149,13 +1149,13 @@ class PartySlot extends Phaser.GameObjects.Container { let slotTmText: string; switch (true) { case (this.pokemon.compatibleTms.indexOf(tmMoveId) === -1): - slotTmText = "Not Able"; + slotTmText = i18next.t("partyUiHandler:notAble"); break; case (this.pokemon.getMoveset().filter(m => m?.moveId === tmMoveId).length > 0): - slotTmText = "Learned"; + slotTmText = i18next.t("partyUiHandler:learned"); break; default: - slotTmText = "Able"; + slotTmText = i18next.t("partyUiHandler:able"); break; } @@ -1230,7 +1230,7 @@ class PartyCancelButton extends Phaser.GameObjects.Container { this.partyCancelPb = partyCancelPb; - const partyCancelText = addTextObject(this.scene, -8, -7, "Cancel", TextStyle.PARTY); + const partyCancelText = addTextObject(this.scene, -8, -7, i18next.t("partyUiHandler:cancel"), TextStyle.PARTY); this.add(partyCancelText); } From 4c34858e89a756fe1f7725c9e65ebdef899a7a6c Mon Sep 17 00:00:00 2001 From: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com> Date: Thu, 4 Jul 2024 21:43:42 -0400 Subject: [PATCH 4/5] [Sprite] Fix Espeon's tail partially missing (#2795) * [Sprite] Fixes Espeon tail Taken from initial commit, pre-Texture Packer compression * [Sprite] Fixes (replaced) shiny Espeon tail Taken from initial commit, pre-Texture Packer compression * [Sprite] Fix variant Espeon tails --- public/images/pokemon/196.json | 3771 ++++++------------------ public/images/pokemon/196.png | Bin 9343 -> 9174 bytes public/images/pokemon/shiny/196.json | 3771 ++++++------------------ public/images/pokemon/shiny/196.png | Bin 9333 -> 9174 bytes public/images/pokemon/variant/196.json | 20 +- 5 files changed, 1954 insertions(+), 5608 deletions(-) diff --git a/public/images/pokemon/196.json b/public/images/pokemon/196.json index 855bc9b1dc2..5059f85e2d0 100644 --- a/public/images/pokemon/196.json +++ b/public/images/pokemon/196.json @@ -4,122 +4,206 @@ "image": "196.png", "format": "RGBA8888", "size": { - "w": 376, - "h": 376 + "w": 386, + "h": 386 }, "scale": 1, "frames": [ { - "filename": "0010.png", + "filename": "0007.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 5, - "w": 59, - "h": 53 + "y": 10, + "w": 63, + "h": 48 }, "frame": { - "x": 0, - "y": 0, - "w": 59, - "h": 53 + "x": 1, + "y": 1, + "w": 63, + "h": 48 } }, { - "filename": "0031.png", + "filename": "0018.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 5, - "w": 59, - "h": 53 + "y": 10, + "w": 63, + "h": 48 }, "frame": { - "x": 0, - "y": 0, - "w": 59, - "h": 53 + "x": 1, + "y": 1, + "w": 63, + "h": 48 } }, { - "filename": "0032.png", + "filename": "0039.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 5, - "w": 59, - "h": 53 + "y": 10, + "w": 63, + "h": 48 }, "frame": { - "x": 0, - "y": 0, - "w": 59, - "h": 53 + "x": 66, + "y": 1, + "w": 63, + "h": 48 } }, { - "filename": "0053.png", + "filename": "0061.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 5, - "w": 59, - "h": 53 + "y": 10, + "w": 63, + "h": 48 }, "frame": { - "x": 0, - "y": 0, - "w": 59, - "h": 53 + "x": 131, + "y": 1, + "w": 63, + "h": 48 } }, { - "filename": "0054.png", + "filename": "0006.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 5, - "w": 59, - "h": 53 + "y": 8, + "w": 62, + "h": 50 }, "frame": { - "x": 0, - "y": 0, - "w": 59, - "h": 53 + "x": 196, + "y": 1, + "w": 62, + "h": 50 } }, { - "filename": "0140.png", + "filename": "0017.png", "rotated": false, "trimmed": true, "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 8, "w": 62, + "h": 50 + }, + "frame": { + "x": 196, + "y": 1, + "w": 62, + "h": 50 + } + }, + { + "filename": "0028.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 8, + "w": 62, + "h": 50 + }, + "frame": { + "x": 196, + "y": 1, + "w": 62, + "h": 50 + } + }, + { + "filename": "0008.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 8, + "w": 62, + "h": 50 + }, + "frame": { + "x": 260, + "y": 1, + "w": 62, + "h": 50 + } + }, + { + "filename": "0029.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 8, + "w": 62, + "h": 50 + }, + "frame": { + "x": 260, + "y": 1, + "w": 62, + "h": 50 + } + }, + { + "filename": "0005.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, "h": 58 }, "spriteSourceSize": { @@ -129,8 +213,8 @@ "h": 53 }, "frame": { - "x": 0, - "y": 0, + "x": 324, + "y": 1, "w": 59, "h": 53 } @@ -140,7 +224,7 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { @@ -150,18 +234,123 @@ "h": 53 }, "frame": { + "x": 324, + "y": 1, + "w": 59, + "h": 53 + } + }, + { + "filename": "0027.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { "x": 0, + "y": 5, + "w": 59, + "h": 53 + }, + "frame": { + "x": 324, + "y": 1, + "w": 59, + "h": 53 + } + }, + { + "filename": "0040.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 8, + "w": 62, + "h": 50 + }, + "frame": { + "x": 1, + "y": 51, + "w": 62, + "h": 50 + } + }, + { + "filename": "0060.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 8, + "w": 62, + "h": 50 + }, + "frame": { + "x": 65, + "y": 51, + "w": 62, + "h": 50 + } + }, + { + "filename": "0062.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 8, + "w": 62, + "h": 50 + }, + "frame": { + "x": 129, + "y": 51, + "w": 62, + "h": 50 + } + }, + { + "filename": "0019.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 5, + "w": 59, + "h": 53 + }, + "frame": { + "x": 193, "y": 53, "w": 59, "h": 53 } }, { - "filename": "0017.png", + "filename": "0030.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { @@ -171,7 +360,7 @@ "h": 53 }, "frame": { - "x": 0, + "x": 193, "y": 53, "w": 59, "h": 53 @@ -182,7 +371,7 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { @@ -192,1774 +381,52 @@ "h": 53 }, "frame": { - "x": 0, + "x": 254, "y": 53, "w": 59, "h": 53 } }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 59, - "h": 53 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 59, - "h": 53 - } - }, - { - "filename": "0146.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 59, - "h": 53 - } - }, - { - "filename": "0147.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 59, - "h": 53 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 59, - "y": 0, - "w": 59, - "h": 53 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 0, - "y": 106, - "w": 59, - "h": 53 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 0, - "y": 106, - "w": 59, - "h": 53 - } - }, - { - "filename": "0118.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 59, - "y": 53, - "w": 59, - "h": 53 - } - }, - { - "filename": "0119.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 59, - "y": 53, - "w": 59, - "h": 53 - } - }, - { - "filename": "0125.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 59, - "h": 53 - }, - "frame": { - "x": 118, - "y": 0, - "w": 59, - "h": 53 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 177, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 177, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 177, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 177, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 177, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0141.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 177, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0142.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 177, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 239, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 239, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 239, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 239, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 239, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0145.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 239, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 301, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 301, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0120.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 301, - "y": 0, - "w": 62, - "h": 49 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 159, - "w": 53, - "h": 56 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 159, - "w": 53, - "h": 56 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 159, - "w": 53, - "h": 56 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 159, - "w": 53, - "h": 56 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 159, - "w": 53, - "h": 56 - } - }, - { - "filename": "0138.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 159, - "w": 53, - "h": 56 - } - }, - { - "filename": "0139.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 159, - "w": 53, - "h": 56 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 215, - "w": 53, - "h": 56 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 215, - "w": 53, - "h": 56 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 215, - "w": 53, - "h": 56 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 215, - "w": 53, - "h": 56 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 215, - "w": 53, - "h": 56 - } - }, - { - "filename": "0148.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 215, - "w": 53, - "h": 56 - } - }, - { - "filename": "0149.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 215, - "w": 53, - "h": 56 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 271, - "w": 53, - "h": 56 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 0, - "y": 271, - "w": 53, - "h": 56 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 59, - "y": 106, - "w": 62, - "h": 49 - } - }, - { - "filename": "0123.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 118, - "y": 53, - "w": 62, - "h": 49 - } - }, - { - "filename": "0124.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 9, - "w": 62, - "h": 49 - }, - "frame": { - "x": 118, - "y": 53, - "w": 62, - "h": 49 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 180, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 180, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 180, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 180, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 180, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0143.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 180, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0144.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 180, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 242, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 242, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0121.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 304, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0122.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 11, - "w": 62, - "h": 47 - }, - "frame": { - "x": 304, - "y": 49, - "w": 62, - "h": 47 - } - }, - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 121, - "y": 102, - "w": 53, - "h": 56 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 121, - "y": 102, - "w": 53, - "h": 56 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 43, - "h": 58 - }, - "frame": { - "x": 53, - "y": 159, - "w": 43, - "h": 58 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 43, - "h": 58 - }, - "frame": { - "x": 53, - "y": 159, - "w": 43, - "h": 58 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 44, - "h": 58 - }, - "frame": { - "x": 53, - "y": 217, - "w": 44, - "h": 58 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 44, - "h": 58 - }, - "frame": { - "x": 53, - "y": 217, - "w": 44, - "h": 58 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 53, - "y": 275, - "w": 45, - "h": 55 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 53, - "y": 275, - "w": 45, - "h": 55 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 53, - "y": 275, - "w": 45, - "h": 55 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 53, - "y": 275, - "w": 45, - "h": 55 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 53, - "y": 275, - "w": 45, - "h": 55 - } - }, - { - "filename": "0135.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 53, - "y": 275, - "w": 45, - "h": 55 - } - }, - { - "filename": "0116.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 96, - "y": 158, - "w": 53, - "h": 56 - } - }, - { - "filename": "0117.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 96, - "y": 158, - "w": 53, - "h": 56 - } - }, - { - "filename": "0126.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 97, - "y": 214, - "w": 53, - "h": 56 - } - }, - { - "filename": "0127.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 53, - "h": 56 - }, - "frame": { - "x": 97, - "y": 214, - "w": 53, - "h": 56 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 98, - "y": 270, - "w": 49, - "h": 55 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 98, - "y": 270, - "w": 49, - "h": 55 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 98, - "y": 270, - "w": 49, - "h": 55 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 98, - "y": 270, - "w": 49, - "h": 55 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 98, - "y": 270, - "w": 49, - "h": 55 - } - }, - { - "filename": "0136.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 98, - "y": 270, - "w": 49, - "h": 55 - } - }, - { - "filename": "0137.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 98, - "y": 270, - "w": 49, - "h": 55 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 43, - "h": 56 - }, - "frame": { - "x": 149, - "y": 158, - "w": 43, - "h": 56 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 58 - }, - "frame": { - "x": 150, - "y": 214, - "w": 45, - "h": 58 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 147, - "y": 272, - "w": 49, - "h": 55 - } - }, { "filename": "0041.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 3, - "w": 49, - "h": 55 + "y": 5, + "w": 59, + "h": 53 }, "frame": { - "x": 147, - "y": 272, - "w": 49, - "h": 55 + "x": 315, + "y": 56, + "w": 59, + "h": 53 } }, { - "filename": "0042.png", + "filename": "0059.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 3, - "w": 49, - "h": 55 + "y": 5, + "w": 59, + "h": 53 }, "frame": { - "x": 147, - "y": 272, - "w": 49, - "h": 55 + "x": 1, + "y": 103, + "w": 59, + "h": 53 } }, { @@ -1967,713 +434,20 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 3, - "w": 49, - "h": 55 + "y": 5, + "w": 59, + "h": 53 }, "frame": { - "x": 147, - "y": 272, - "w": 49, - "h": 55 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 147, - "y": 272, - "w": 49, - "h": 55 - } - }, - { - "filename": "0128.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 147, - "y": 272, - "w": 49, - "h": 55 - } - }, - { - "filename": "0129.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 147, - "y": 272, - "w": 49, - "h": 55 - } - }, - { - "filename": "0150.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 147, - "y": 272, - "w": 49, - "h": 55 - } - }, - { - "filename": "0106.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 43, - "h": 56 - }, - "frame": { - "x": 174, - "y": 102, - "w": 43, - "h": 56 - } - }, - { - "filename": "0107.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 43, - "h": 56 - }, - "frame": { - "x": 174, - "y": 102, - "w": 43, - "h": 56 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 217, - "y": 96, - "w": 49, - "h": 55 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 217, - "y": 96, - "w": 49, - "h": 55 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 266, - "y": 96, - "w": 49, - "h": 55 - } - }, - { - "filename": "0115.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 49, - "h": 55 - }, - "frame": { - "x": 315, - "y": 96, - "w": 49, - "h": 55 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 192, - "y": 158, - "w": 45, - "h": 55 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 192, - "y": 158, - "w": 45, - "h": 55 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 192, - "y": 158, - "w": 45, - "h": 55 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 192, - "y": 158, - "w": 45, - "h": 55 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 192, - "y": 158, - "w": 45, - "h": 55 - } - }, - { - "filename": "0130.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 192, - "y": 158, - "w": 45, - "h": 55 - } - }, - { - "filename": "0151.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 192, - "y": 158, - "w": 45, - "h": 55 - } - }, - { - "filename": "0152.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 192, - "y": 158, - "w": 45, - "h": 55 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 58 - }, - "frame": { - "x": 195, - "y": 213, - "w": 45, - "h": 58 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 58 - }, - "frame": { - "x": 195, - "y": 213, - "w": 45, - "h": 58 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 58 - }, - "frame": { - "x": 196, - "y": 271, - "w": 45, - "h": 58 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 58 - }, - "frame": { - "x": 196, - "y": 271, - "w": 45, - "h": 58 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 58 - }, - "frame": { - "x": 237, - "y": 151, - "w": 45, - "h": 58 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 58 - }, - "frame": { - "x": 282, - "y": 151, - "w": 45, - "h": 58 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 58 - }, - "frame": { - "x": 282, - "y": 151, - "w": 45, - "h": 58 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 44, - "h": 58 - }, - "frame": { - "x": 240, - "y": 209, - "w": 44, - "h": 58 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 44, - "h": 58 - }, - "frame": { - "x": 240, - "y": 209, - "w": 44, - "h": 58 - } - }, - { - "filename": "0105.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 43, - "h": 58 - }, - "frame": { - "x": 284, - "y": 209, - "w": 43, - "h": 58 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 241, - "y": 267, - "w": 45, - "h": 55 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 286, - "y": 267, - "w": 45, - "h": 55 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 286, - "y": 267, - "w": 45, - "h": 55 - } - }, - { - "filename": "0113.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 327, - "y": 151, - "w": 45, - "h": 55 - } - }, - { - "filename": "0114.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 45, - "h": 55 - }, - "frame": { - "x": 327, - "y": 151, - "w": 45, - "h": 55 + "x": 62, + "y": 103, + "w": 59, + "h": 53 } }, { @@ -2681,7 +455,7 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { @@ -2691,18 +465,18 @@ "h": 54 }, "frame": { - "x": 327, - "y": 206, + "x": 123, + "y": 103, "w": 42, "h": 54 } }, { - "filename": "0002.png", + "filename": "0012.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { @@ -2712,8 +486,8 @@ "h": 54 }, "frame": { - "x": 327, - "y": 206, + "x": 123, + "y": 103, "w": 42, "h": 54 } @@ -2723,7 +497,7 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { @@ -2733,18 +507,18 @@ "h": 54 }, "frame": { - "x": 327, - "y": 206, + "x": 123, + "y": 103, "w": 42, "h": 54 } }, { - "filename": "0024.png", + "filename": "0002.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { @@ -2754,8 +528,134 @@ "h": 54 }, "frame": { - "x": 327, - "y": 206, + "x": 167, + "y": 108, + "w": 42, + "h": 54 + } + }, + { + "filename": "0013.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 4, + "w": 42, + "h": 54 + }, + "frame": { + "x": 167, + "y": 108, + "w": 42, + "h": 54 + } + }, + { + "filename": "0034.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 4, + "w": 42, + "h": 54 + }, + "frame": { + "x": 211, + "y": 108, + "w": 42, + "h": 54 + } + }, + { + "filename": "0044.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 4, + "w": 42, + "h": 54 + }, + "frame": { + "x": 255, + "y": 108, + "w": 42, + "h": 54 + } + }, + { + "filename": "0054.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 4, + "w": 42, + "h": 54 + }, + "frame": { + "x": 255, + "y": 108, + "w": 42, + "h": 54 + } + }, + { + "filename": "0055.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 4, + "w": 42, + "h": 54 + }, + "frame": { + "x": 255, + "y": 108, + "w": 42, + "h": 54 + } + }, + { + "filename": "0056.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 4, + "w": 42, + "h": 54 + }, + "frame": { + "x": 299, + "y": 111, "w": 42, "h": 54 } @@ -2765,104 +665,20 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, + "y": 1, "w": 42, - "h": 54 + "h": 57 }, "frame": { - "x": 327, - "y": 206, + "x": 343, + "y": 111, "w": 42, - "h": 54 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, - "frame": { - "x": 327, - "y": 206, - "w": 42, - "h": 54 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, - "frame": { - "x": 327, - "y": 206, - "w": 42, - "h": 54 - } - }, - { - "filename": "0131.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, - "frame": { - "x": 327, - "y": 206, - "w": 42, - "h": 54 - } - }, - { - "filename": "0132.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, - "frame": { - "x": 327, - "y": 206, - "w": 42, - "h": 54 + "h": 57 } }, { @@ -2870,41 +686,209 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 3, + "w": 45, + "h": 55 }, "frame": { - "x": 331, - "y": 260, - "w": 42, - "h": 54 + "x": 1, + "y": 158, + "w": 45, + "h": 55 } }, { - "filename": "0004.png", + "filename": "0024.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 3, + "w": 45, + "h": 55 }, "frame": { - "x": 331, - "y": 260, - "w": 42, - "h": 54 + "x": 1, + "y": 158, + "w": 45, + "h": 55 + } + }, + { + "filename": "0010.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 49, + "h": 55 + }, + "frame": { + "x": 48, + "y": 158, + "w": 49, + "h": 55 + } + }, + { + "filename": "0021.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 49, + "h": 55 + }, + "frame": { + "x": 48, + "y": 158, + "w": 49, + "h": 55 + } + }, + { + "filename": "0032.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 49, + "h": 55 + }, + "frame": { + "x": 48, + "y": 158, + "w": 49, + "h": 55 + } + }, + { + "filename": "0011.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 45, + "h": 55 + }, + "frame": { + "x": 99, + "y": 159, + "w": 45, + "h": 55 + } + }, + { + "filename": "0022.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 45, + "h": 55 + }, + "frame": { + "x": 99, + "y": 159, + "w": 45, + "h": 55 + } + }, + { + "filename": "0033.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 45, + "h": 55 + }, + "frame": { + "x": 99, + "y": 159, + "w": 45, + "h": 55 + } + }, + { + "filename": "0065.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 45, + "h": 55 + }, + "frame": { + "x": 99, + "y": 159, + "w": 45, + "h": 55 + } + }, + { + "filename": "0014.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 49, + "h": 55 + }, + "frame": { + "x": 146, + "y": 164, + "w": 49, + "h": 55 } }, { @@ -2912,20 +896,83 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 3, + "w": 49, + "h": 55 }, "frame": { - "x": 331, - "y": 260, - "w": 42, - "h": 54 + "x": 146, + "y": 164, + "w": 49, + "h": 55 + } + }, + { + "filename": "0035.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 45, + "h": 55 + }, + "frame": { + "x": 197, + "y": 164, + "w": 45, + "h": 55 + } + }, + { + "filename": "0036.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 49, + "h": 55 + }, + "frame": { + "x": 244, + "y": 164, + "w": 49, + "h": 55 + } + }, + { + "filename": "0057.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 45, + "h": 55 + }, + "frame": { + "x": 295, + "y": 167, + "w": 45, + "h": 55 } }, { @@ -2933,20 +980,251 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 0, + "w": 43, + "h": 58 }, "frame": { - "x": 331, - "y": 260, - "w": 42, - "h": 54 + "x": 342, + "y": 170, + "w": 43, + "h": 58 + } + }, + { + "filename": "0043.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 49, + "h": 55 + }, + "frame": { + "x": 1, + "y": 215, + "w": 49, + "h": 55 + } + }, + { + "filename": "0058.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 49, + "h": 55 + }, + "frame": { + "x": 52, + "y": 216, + "w": 49, + "h": 55 + } + }, + { + "filename": "0064.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 3, + "w": 49, + "h": 55 + }, + "frame": { + "x": 103, + "y": 221, + "w": 49, + "h": 55 + } + }, + { + "filename": "0004.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 2, + "w": 53, + "h": 56 + }, + "frame": { + "x": 154, + "y": 221, + "w": 53, + "h": 56 + } + }, + { + "filename": "0015.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 2, + "w": 53, + "h": 56 + }, + "frame": { + "x": 154, + "y": 221, + "w": 53, + "h": 56 + } + }, + { + "filename": "0026.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 2, + "w": 53, + "h": 56 + }, + "frame": { + "x": 154, + "y": 221, + "w": 53, + "h": 56 + } + }, + { + "filename": "0009.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 2, + "w": 53, + "h": 56 + }, + "frame": { + "x": 209, + "y": 221, + "w": 53, + "h": 56 + } + }, + { + "filename": "0020.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 2, + "w": 53, + "h": 56 + }, + "frame": { + "x": 209, + "y": 221, + "w": 53, + "h": 56 + } + }, + { + "filename": "0031.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 2, + "w": 53, + "h": 56 + }, + "frame": { + "x": 209, + "y": 221, + "w": 53, + "h": 56 + } + }, + { + "filename": "0037.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 2, + "w": 53, + "h": 56 + }, + "frame": { + "x": 264, + "y": 224, + "w": 53, + "h": 56 + } + }, + { + "filename": "0042.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 63, + "h": 58 + }, + "spriteSourceSize": { + "x": 0, + "y": 2, + "w": 53, + "h": 56 + }, + "frame": { + "x": 319, + "y": 230, + "w": 53, + "h": 56 } }, { @@ -2954,251 +1232,146 @@ "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 0, + "w": 44, + "h": 58 }, "frame": { - "x": 331, - "y": 260, - "w": 42, - "h": 54 + "x": 1, + "y": 272, + "w": 44, + "h": 58 } }, { - "filename": "0133.png", + "filename": "0048.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 0, + "w": 45, + "h": 58 }, "frame": { - "x": 331, - "y": 260, - "w": 42, - "h": 54 + "x": 47, + "y": 273, + "w": 45, + "h": 58 } }, { - "filename": "0134.png", + "filename": "0049.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 0, + "w": 45, + "h": 58 }, "frame": { - "x": 331, - "y": 260, - "w": 42, - "h": 54 + "x": 94, + "y": 278, + "w": 45, + "h": 58 } }, { - "filename": "0068.png", + "filename": "0050.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 0, + "w": 46, + "h": 58 }, "frame": { - "x": 331, - "y": 314, - "w": 42, - "h": 54 + "x": 141, + "y": 279, + "w": 46, + "h": 58 } }, { - "filename": "0069.png", + "filename": "0051.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 0, + "w": 45, + "h": 58 }, "frame": { - "x": 331, - "y": 314, - "w": 42, - "h": 54 + "x": 189, + "y": 279, + "w": 45, + "h": 58 } }, { - "filename": "0088.png", + "filename": "0052.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 + "y": 0, + "w": 44, + "h": 58 }, "frame": { - "x": 241, - "y": 322, - "w": 42, - "h": 54 + "x": 236, + "y": 282, + "w": 44, + "h": 58 } }, { - "filename": "0089.png", + "filename": "0053.png", "rotated": false, "trimmed": true, "sourceSize": { - "w": 62, + "w": 63, "h": 58 }, "spriteSourceSize": { "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, - "frame": { - "x": 241, - "y": 322, - "w": 42, - "h": 54 - } - }, - { - "filename": "0108.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, + "y": 0, + "w": 43, "h": 58 }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, "frame": { - "x": 241, - "y": 322, - "w": 42, - "h": 54 - } - }, - { - "filename": "0109.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, + "x": 282, + "y": 288, + "w": 43, "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, - "frame": { - "x": 241, - "y": 322, - "w": 42, - "h": 54 - } - }, - { - "filename": "0110.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, - "frame": { - "x": 241, - "y": 322, - "w": 42, - "h": 54 - } - }, - { - "filename": "0111.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, - "frame": { - "x": 283, - "y": 322, - "w": 42, - "h": 54 - } - }, - { - "filename": "0112.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 62, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 42, - "h": 54 - }, - "frame": { - "x": 283, - "y": 322, - "w": 42, - "h": 54 } } ] @@ -3207,6 +1380,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:8035313afb7abed8b9f404fc150b5ea6:228857b9794392478592ec3b8c178953:fb684cbb576f205e45dc62e63d92a744$" + "smartupdate": "$TexturePacker:SmartUpdate:b40733fff3c9e56156288de85200b9b2:255376a3a047a525a42dff59155c43ba:fb684cbb576f205e45dc62e63d92a744$" } } diff --git a/public/images/pokemon/196.png b/public/images/pokemon/196.png index 435f9e9a73bf56e4a3b92c9a1ee263c243794e4c..7b1890777bd80fa8e4e9f0b23c833db0bcdbec6e 100644 GIT binary patch literal 9174 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 S_NCDVAp1c{vO?U*|9=3MbBS~S literal 9343 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 Ry)@bYWIrfLR*D-1{SOjMg;f9m literal 9333 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 diff --git a/public/images/pokemon/variant/196.json b/public/images/pokemon/variant/196.json index 02084307b2e..ce41a030de1 100644 --- a/public/images/pokemon/variant/196.json +++ b/public/images/pokemon/variant/196.json @@ -3,42 +3,42 @@ "7b4a7b": "204024", "101010": "101010", "efbdef": "bddd9e", - "e6a5d6": "6c9e63", + "e7a5d6": "6c9e63", "b57bb5": "416240", "314273": "a86a2c", "4a73b5": "ffb554", - "c52152": "ffa80e", + "c62152": "ffa80e", "ffffff": "ffffff", "8c2152": "c54200", "8463b5": "ffa72a", - "c5c5c5": "c5c5c5" + "c6c6c6": "c5c5c5" }, "1": { "7b4a7b": "581747", "101010": "101010", "efbdef": "e99eae", - "e6a5d6": "d1759c", + "e7a5d6": "d1759c", "b57bb5": "953b6c", "314273": "537fde", "4a73b5": "90b7f9", - "c52152": "31d9ff", + "c62152": "31d9ff", "ffffff": "ffffff", "8c2152": "15a7d2", "8463b5": "1662bf", - "c5c5c5": "c5c5c5" + "c6c6c6": "c5c5c5" }, "2": { "7b4a7b": "9b5250", "101010": "101010", "efbdef": "f5f3e1", - "e6a5d6": "ded0af", + "e7a5d6": "ded0af", "b57bb5": "ce987a", "314273": "194540", "4a73b5": "39816d", - "c52152": "00de92", + "c62152": "00de92", "ffffff": "ffffff", "8c2152": "00ad7f", "8463b5": "006b5b", - "c5c5c5": "c5c5c5" + "c6c6c6": "c5c5c5" } -} \ No newline at end of file +} From 359644ee81a63c48c26925856fe47324db497ed6 Mon Sep 17 00:00:00 2001 From: san98215 <98116601+san98215@users.noreply.github.com> Date: Thu, 4 Jul 2024 21:51:51 -0400 Subject: [PATCH 5/5] [Bug] Updated SacrificialAttrOnHit to account for the move failing (#2792) --- src/data/move.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/move.ts b/src/data/move.ts index 9964665c12a..7fba094e656 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -1155,7 +1155,7 @@ export class SacrificialAttr extends MoveEffectAttr { **/ export class SacrificialAttrOnHit extends MoveEffectAttr { constructor() { - super(true, MoveEffectTrigger.POST_TARGET); + super(true, MoveEffectTrigger.HIT); } /**