Fixed Achivment Localization, Added german localization and fixes some issues with german localization at other parts

This commit is contained in:
Jannik Tappert 2024-05-20 23:00:20 +02:00
parent d2e455cdad
commit 35ee464125
32 changed files with 1476 additions and 155 deletions

View File

@ -894,27 +894,27 @@ export const ability: AbilityTranslationEntries = {
description: "Wechselt seine Fähigkeit zu der eines kampfunfähig gewordenen Mitstreiters.",
},
beastBoost: {
name: "BestienBoost",
name: "Bestien-Boost",
description: "Erhöht in jeder Runde, in der es ein anderes Pokémon besiegt, seinen höchsten Statuswert.",
},
rksSystem: {
name: "AlphaSystem",
name: "Alpha-System",
description: "Das Pokémon passt seinen Typ der getragenen Disc an.",
},
electricSurge: {
name: "ElektroErzeuger",
name: "Elektro-Erzeuger",
description: "Erzeugt bei Kampfantritt ein Elektrofeld.",
},
psychicSurge: {
name: "PsychoErzeuger",
name: "Psycho-Erzeuger",
description: "Erzeugt bei Kampfantritt ein Psychofeld.",
},
mistySurge: {
name: "NebelErzeuger",
name: "Nebel-Erzeuger",
description: "Erzeugt bei Kampfantritt ein Nebelfeld.",
},
grassySurge: {
name: "GrasErzeuger",
name: "Gras-Erzeuger",
description: "Erzeugt bei Kampfantritt ein Grasfeld.",
},
fullMetalBody: {

172
src/locales/de/achv.ts Normal file
View File

@ -0,0 +1,172 @@
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
export const achv: AchievementTranslationEntries = {
"Achievements": {
name: "Errungenschaften",
},
"Locked": {
name: "Gesperrt",
},
"MoneyAchv": {
description:"Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an",
},
"10K_MONEY": {
name: "Geldhüter",
},
"100K_MONEY": {
name: "Reich",
},
"1M_MONEY": {
name: "Millionär",
},
"10M_MONEY": {
name: "Einprozenter",
},
"DamageAchv": {
description: "Füge mit einem Treffer {{damageAmount}} Schaden zu",
},
"250_DMG": {
name: "Harte Treffer",
},
"1000_DMG": {
name: "Härtere Treffer",
},
"2500_DMG": {
name: "Das ist ne Menge Schaden!",
},
"10000_DMG": {
name: "Ein-Schlag-Mann",
},
"HealAchv": {
description: "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, einer Fähigkeit oder einem gehaltenen Gegenstand",
},
"250_HEAL": {
name: "Anfänger-Heiler",
},
"1000_HEAL": {
name: "Gesundheitsprofi",
},
"2500_HEAL": {
name: "Kleriker",
},
"10000_HEAL": {
name: "Wiederherstellungsmeister",
},
"LevelAchv": {
description: "Erhöhe das Level eines Pokémon auf {{level}}",
},
"LV_100": {
name: "Warte, es gibt mehr!",
},
"LV_250": {
name: "Elite",
},
"LV_1000": {
name: "Geh noch höher hinaus!",
},
"RibbonAchv": {
description: "Sammle insgesamt {{ribbonAmount}} Bänder",
},
"10_RIBBONS": {
name: "Champion der Pokémon Liga",
},
"25_RIBBONS": {
name: "Bänder-Sammler",
},
"50_RIBBONS": {
name: "Bänder-Experte",
},
"75_RIBBONS": {
name: "Bänder-Guru",
},
"100_RIBBONS": {
name: "Bänder-Meister",
},
"TRANSFER_MAX_BATTLE_STAT": {
name: "Teamwork",
description: "Nutze Staffette auf ein anderes Teammitglied, während der Anwender mindestens eines Statuswertes maximiert hat",
},
"MAX_FRIENDSHIP": {
name: "Freundschaftsmaximierung",
description: "Erreiche maximale Freundschaft bei einem Pokémon",
},
"MEGA_EVOLVE": {
name: "Megaverwandlung",
description: "Megaentwickle ein Pokémon",
},
"GIGANTAMAX": {
name: "Absolute Einheit",
description: "Gigadynamaximiere ein Pokémon",
},
"TERASTALLIZE": {
name: "Typen-Bonus Enthusiast",
description: "Terrakristallisiere ein Pokémon",
},
"STELLAR_TERASTALLIZE": {
name: "Der geheime Typ",
description: "Terrakristallisiere ein Pokémon zum Typen Stellar",
},
"SPLICE": {
name: "Unendliche Fusion",
description: "Kombiniere zwei Pokémon mit einem DNS-Keil",
},
"MINI_BLACK_HOLE": {
name: "Ein Loch voller Items",
description: "Erlange ein Mini-Schwarzes Loch",
},
"CATCH_MYTHICAL": {
name: "Mysteriöses!",
description: "Fange ein mysteriöses Pokémon",
},
"CATCH_SUB_LEGENDARY": {
name: "Sub-Legendär",
description: "Fange ein sub-legendäres Pokémon",
},
"CATCH_LEGENDARY": {
name: "Legendär",
description: "Fange ein legendäres Pokémon",
},
"SEE_SHINY": {
name: "Schillerndes Licht",
description: "Finde ein wildes schillerndes Pokémon",
},
"SHINY_PARTY": {
name: "Das ist Hingabe",
description: "Habe ein Team aus schillernden Pokémon",
},
"HATCH_MYTHICAL": {
name: "Mysteriöses Ei",
description: "Lass ein mysteriöses Pokémon aus einem Ei schlüpfen",
},
"HATCH_SUB_LEGENDARY": {
name: "Sub-Legendäres Ei",
description: "Lass ein sub-legendäres Pokémon aus einem Ei schlüpfen",
},
"HATCH_LEGENDARY": {
name: "Legendäres Ei",
description: "Lass ein legendäres Pokémon aus einem Ei schlüpfen",
},
"HATCH_SHINY": {
name: "Schillerndes Ei",
description: "Lass ein schillerndes Pokémon aus einem Ei schlüpfen",
},
"HIDDEN_ABILITY": {
name: "Geheimes Talent",
description: "Fang ein Pokémon mit versteckter Fähigkeit",
},
"PERFECT_IVS": {
name: "Zertifikat der Echtheit",
description: "Erhalte ein Pokémon mit perfekten IS-Werten",
},
"CLASSIC_VICTORY": {
name: "Ungeschlagen",
description: "Beende den klassischen Modus erfolgreich",
},
} as const;

View File

@ -1,6 +1,9 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
import { achv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { commandUiHandler } from "./command-ui-handler";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
@ -17,15 +20,16 @@ import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { voucher } from "./voucher";
import { weather } from "./weather";
export const deConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
commandUiHandler: commandUiHandler,
egg: egg,
fightUiHandler: fightUiHandler,
@ -44,8 +48,6 @@ export const deConfig = {
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
voucher: voucher,
weather: weather,
}

View File

@ -2,8 +2,8 @@ import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
"HP": "Max. KP",
"HPshortened": "MaxKP",
"HP": "KP",
"HPshortened": "KP",
"ATK": "Angriff",
"ATKshortened": "Ang",
"DEF": "Verteidigung",

View File

@ -17,7 +17,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"gen8": "VIII",
"gen9": "IX",
"growthRate": "Wachstum:",
"ability": "Fähgkeit:",
"ability": "Fähigkeit:",
"passive": "Passiv:",
"nature": "Wesen:",
"eggMoves": "Ei-Attacken",

171
src/locales/en/achv.ts Normal file
View File

@ -0,0 +1,171 @@
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
export const achv: AchievementTranslationEntries = {
"Achievements": {
name: "Achievements",
},
"Locked": {
name: "Locked",
},
"MoneyAchv": {
description: "Accumulate a total of ₽{{moneyAmount}}",
},
"10K_MONEY": {
name: "Money Haver",
},
"100K_MONEY": {
name: "Rich",
},
"1M_MONEY": {
name: "Millionaire",
},
"10M_MONEY": {
name: "One Percenter",
},
"DamageAchv": {
description: "Inflict {{damageAmount}} damage in one hit",
},
"250_DMG": {
name: "Hard Hitter",
},
"1000_DMG": {
name: "Harder Hitter",
},
"2500_DMG": {
name: "That's a Lotta Damage!",
},
"10000_DMG": {
name: "One Punch Man",
},
"HealAchv": {
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
},
"250_HEAL": {
name: "Novice Healer",
},
"1000_HEAL": {
name: "Big Healer",
},
"2500_HEAL": {
name: "Cleric",
},
"10000_HEAL": {
name: "Recovery Master",
},
"LevelAchv": {
description: "Level up a Pokémon to Lv{{level}}",
},
"LV_100": {
name: "But Wait, There's More!",
},
"LV_250": {
name: "Elite",
},
"LV_1000": {
name: "To Go Even Further Beyond",
},
"RibbonAchv": {
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
},
"10_RIBBONS": {
name: "Pokémon League Champion",
},
"25_RIBBONS": {
name: "Great League Champion",
},
"50_RIBBONS": {
name: "Ultra League Champion",
},
"75_RIBBONS": {
name: "Rogue League Champion",
},
"100_RIBBONS": {
name: "Master League Champion",
},
"TRANSFER_MAX_BATTLE_STAT": {
name: "Teamwork",
description: "Baton pass to another party member with at least one stat maxed out",
},
"MAX_FRIENDSHIP": {
name: "Friendmaxxing",
description: "Reach max friendship on a Pokémon",
},
"MEGA_EVOLVE": {
name: "Megamorph",
description: "Mega evolve a Pokémon",
},
"GIGANTAMAX": {
name: "Absolute Unit",
description: "Gigantamax a Pokémon",
},
"TERASTALLIZE": {
name: "STAB Enthusiast",
description: "Terastallize a Pokémon",
},
"STELLAR_TERASTALLIZE": {
name: "The Hidden Type",
description: "Stellar Terastallize a Pokémon",
},
"SPLICE": {
name: "Infinite Fusion",
description: "Splice two Pokémon together with DNA Splicers",
},
"MINI_BLACK_HOLE": {
name: "A Hole Lot of Items",
description: "Acquire a Mini Black Hole",
},
"CATCH_MYTHICAL": {
name: "Mythical",
description: "Catch a mythical Pokémon",
},
"CATCH_SUB_LEGENDARY": {
name: "(Sub-)Legendary",
description: "Catch a sub-legendary Pokémon",
},
"CATCH_LEGENDARY": {
name: "Legendary",
description: "Catch a legendary Pokémon",
},
"SEE_SHINY": {
name: "Shiny",
description: "Find a shiny Pokémon in the wild",
},
"SHINY_PARTY": {
name: "That's Dedication",
description: "Have a full party of shiny Pokémon",
},
"HATCH_MYTHICAL": {
name: "Mythical Egg",
description: "Hatch a mythical Pokémon from an egg",
},
"HATCH_SUB_LEGENDARY": {
name: "Sub-Legendary Egg",
description: "Hatch a sub-legendary Pokémon from an egg",
},
"HATCH_LEGENDARY": {
name: "Legendary Egg",
description: "Hatch a legendary Pokémon from an egg",
},
"HATCH_SHINY": {
name: "Shiny Egg",
description: "Hatch a shiny Pokémon from an egg",
},
"HIDDEN_ABILITY": {
name: "Hidden Potential",
description: "Catch a Pokémon with a hidden ability",
},
"PERFECT_IVS": {
name: "Certificate of Authenticity",
description: "Get perfect IVs on a Pokémon",
},
"CLASSIC_VICTORY": {
name: "Undefeated",
description: "Beat the game in classic mode",
},
} as const;

View File

@ -1,6 +1,9 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
import { achv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { commandUiHandler } from "./command-ui-handler";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
@ -17,15 +20,16 @@ import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { voucher } from "./voucher";
import { weather } from "./weather";
export const enConfig = {
export const enConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
commandUiHandler: commandUiHandler,
egg: egg,
fightUiHandler: fightUiHandler,
@ -44,8 +48,6 @@ export const enConfig = {
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
voucher: voucher,
weather: weather,
}

171
src/locales/es/achv.ts Normal file
View File

@ -0,0 +1,171 @@
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
export const achv: AchievementTranslationEntries = {
"Achievements": {
name: "Achievements",
},
"Locked": {
name: "Locked",
},
"MoneyAchv": {
description: "Accumulate a total of ₽{{moneyAmount}}",
},
"10K_MONEY": {
name: "Money Haver",
},
"100K_MONEY": {
name: "Rich",
},
"1M_MONEY": {
name: "Millionaire",
},
"10M_MONEY": {
name: "One Percenter",
},
"DamageAchv": {
description: "Inflict {{damageAmount}} damage in one hit",
},
"250_DMG": {
name: "Hard Hitter",
},
"1000_DMG": {
name: "Harder Hitter",
},
"2500_DMG": {
name: "That's a Lotta Damage!",
},
"10000_DMG": {
name: "One Punch Man",
},
"HealAchv": {
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
},
"250_HEAL": {
name: "Novice Healer",
},
"1000_HEAL": {
name: "Big Healer",
},
"2500_HEAL": {
name: "Cleric",
},
"10000_HEAL": {
name: "Recovery Master",
},
"LevelAchv": {
description: "Level up a Pokémon to Lv{{level}}",
},
"LV_100": {
name: "But Wait, There's More!",
},
"LV_250": {
name: "Elite",
},
"LV_1000": {
name: "To Go Even Further Beyond",
},
"RibbonAchv": {
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
},
"10_RIBBONS": {
name: "Pokémon League Champion",
},
"25_RIBBONS": {
name: "Great League Champion",
},
"50_RIBBONS": {
name: "Ultra League Champion",
},
"75_RIBBONS": {
name: "Rogue League Champion",
},
"100_RIBBONS": {
name: "Master League Champion",
},
"TRANSFER_MAX_BATTLE_STAT": {
name: "Teamwork",
description: "Baton pass to another party member with at least one stat maxed out",
},
"MAX_FRIENDSHIP": {
name: "Friendmaxxing",
description: "Reach max friendship on a Pokémon",
},
"MEGA_EVOLVE": {
name: "Megamorph",
description: "Mega evolve a Pokémon",
},
"GIGANTAMAX": {
name: "Absolute Unit",
description: "Gigantamax a Pokémon",
},
"TERASTALLIZE": {
name: "STAB Enthusiast",
description: "Terastallize a Pokémon",
},
"STELLAR_TERASTALLIZE": {
name: "The Hidden Type",
description: "Stellar Terastallize a Pokémon",
},
"SPLICE": {
name: "Infinite Fusion",
description: "Splice two Pokémon together with DNA Splicers",
},
"MINI_BLACK_HOLE": {
name: "A Hole Lot of Items",
description: "Acquire a Mini Black Hole",
},
"CATCH_MYTHICAL": {
name: "Mythical",
description: "Catch a mythical Pokémon",
},
"CATCH_SUB_LEGENDARY": {
name: "(Sub-)Legendary",
description: "Catch a sub-legendary Pokémon",
},
"CATCH_LEGENDARY": {
name: "Legendary",
description: "Catch a legendary Pokémon",
},
"SEE_SHINY": {
name: "Shiny",
description: "Find a shiny Pokémon in the wild",
},
"SHINY_PARTY": {
name: "That's Dedication",
description: "Have a full party of shiny Pokémon",
},
"HATCH_MYTHICAL": {
name: "Mythical Egg",
description: "Hatch a mythical Pokémon from an egg",
},
"HATCH_SUB_LEGENDARY": {
name: "Sub-Legendary Egg",
description: "Hatch a sub-legendary Pokémon from an egg",
},
"HATCH_LEGENDARY": {
name: "Legendary Egg",
description: "Hatch a legendary Pokémon from an egg",
},
"HATCH_SHINY": {
name: "Shiny Egg",
description: "Hatch a shiny Pokémon from an egg",
},
"HIDDEN_ABILITY": {
name: "Hidden Potential",
description: "Catch a Pokémon with a hidden ability",
},
"PERFECT_IVS": {
name: "Certificate of Authenticity",
description: "Get perfect IVs on a Pokémon",
},
"CLASSIC_VICTORY": {
name: "Undefeated",
description: "Beat the game in classic mode",
},
} as const;

View File

@ -1,6 +1,9 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
import { achv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { commandUiHandler } from "./command-ui-handler";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
@ -17,15 +20,16 @@ import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { voucher } from "./voucher";
import { weather } from "./weather";
export const esConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
commandUiHandler: commandUiHandler,
egg: egg,
fightUiHandler: fightUiHandler,
@ -44,8 +48,6 @@ export const esConfig = {
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
voucher: voucher,
weather: weather,
}

171
src/locales/fr/achv.ts Normal file
View File

@ -0,0 +1,171 @@
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
export const achv: AchievementTranslationEntries = {
"Achievements": {
name: "Achievements",
},
"Locked": {
name: "Locked",
},
"MoneyAchv": {
description: "Accumulate a total of ₽{{moneyAmount}}",
},
"10K_MONEY": {
name: "Money Haver",
},
"100K_MONEY": {
name: "Rich",
},
"1M_MONEY": {
name: "Millionaire",
},
"10M_MONEY": {
name: "One Percenter",
},
"DamageAchv": {
description: "Inflict {{damageAmount}} damage in one hit",
},
"250_DMG": {
name: "Hard Hitter",
},
"1000_DMG": {
name: "Harder Hitter",
},
"2500_DMG": {
name: "That's a Lotta Damage!",
},
"10000_DMG": {
name: "One Punch Man",
},
"HealAchv": {
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
},
"250_HEAL": {
name: "Novice Healer",
},
"1000_HEAL": {
name: "Big Healer",
},
"2500_HEAL": {
name: "Cleric",
},
"10000_HEAL": {
name: "Recovery Master",
},
"LevelAchv": {
description: "Level up a Pokémon to Lv{{level}}",
},
"LV_100": {
name: "But Wait, There's More!",
},
"LV_250": {
name: "Elite",
},
"LV_1000": {
name: "To Go Even Further Beyond",
},
"RibbonAchv": {
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
},
"10_RIBBONS": {
name: "Pokémon League Champion",
},
"25_RIBBONS": {
name: "Great League Champion",
},
"50_RIBBONS": {
name: "Ultra League Champion",
},
"75_RIBBONS": {
name: "Rogue League Champion",
},
"100_RIBBONS": {
name: "Master League Champion",
},
"TRANSFER_MAX_BATTLE_STAT": {
name: "Teamwork",
description: "Baton pass to another party member with at least one stat maxed out",
},
"MAX_FRIENDSHIP": {
name: "Friendmaxxing",
description: "Reach max friendship on a Pokémon",
},
"MEGA_EVOLVE": {
name: "Megamorph",
description: "Mega evolve a Pokémon",
},
"GIGANTAMAX": {
name: "Absolute Unit",
description: "Gigantamax a Pokémon",
},
"TERASTALLIZE": {
name: "STAB Enthusiast",
description: "Terastallize a Pokémon",
},
"STELLAR_TERASTALLIZE": {
name: "The Hidden Type",
description: "Stellar Terastallize a Pokémon",
},
"SPLICE": {
name: "Infinite Fusion",
description: "Splice two Pokémon together with DNA Splicers",
},
"MINI_BLACK_HOLE": {
name: "A Hole Lot of Items",
description: "Acquire a Mini Black Hole",
},
"CATCH_MYTHICAL": {
name: "Mythical",
description: "Catch a mythical Pokémon",
},
"CATCH_SUB_LEGENDARY": {
name: "(Sub-)Legendary",
description: "Catch a sub-legendary Pokémon",
},
"CATCH_LEGENDARY": {
name: "Legendary",
description: "Catch a legendary Pokémon",
},
"SEE_SHINY": {
name: "Shiny",
description: "Find a shiny Pokémon in the wild",
},
"SHINY_PARTY": {
name: "That's Dedication",
description: "Have a full party of shiny Pokémon",
},
"HATCH_MYTHICAL": {
name: "Mythical Egg",
description: "Hatch a mythical Pokémon from an egg",
},
"HATCH_SUB_LEGENDARY": {
name: "Sub-Legendary Egg",
description: "Hatch a sub-legendary Pokémon from an egg",
},
"HATCH_LEGENDARY": {
name: "Legendary Egg",
description: "Hatch a legendary Pokémon from an egg",
},
"HATCH_SHINY": {
name: "Shiny Egg",
description: "Hatch a shiny Pokémon from an egg",
},
"HIDDEN_ABILITY": {
name: "Hidden Potential",
description: "Catch a Pokémon with a hidden ability",
},
"PERFECT_IVS": {
name: "Certificate of Authenticity",
description: "Get perfect IVs on a Pokémon",
},
"CLASSIC_VICTORY": {
name: "Undefeated",
description: "Beat the game in classic mode",
},
} as const;

View File

@ -1,6 +1,9 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
import { achv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { commandUiHandler } from "./command-ui-handler";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
@ -17,15 +20,16 @@ import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { voucher } from "./voucher";
import { weather } from "./weather";
export const frConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
commandUiHandler: commandUiHandler,
egg: egg,
fightUiHandler: fightUiHandler,
@ -44,8 +48,6 @@ export const frConfig = {
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
voucher: voucher,
weather: weather,
}

171
src/locales/it/achv.ts Normal file
View File

@ -0,0 +1,171 @@
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
export const achv: AchievementTranslationEntries = {
"Achievements": {
name: "Achievements",
},
"Locked": {
name: "Locked",
},
"MoneyAchv": {
description: "Accumulate a total of ₽{{moneyAmount}}",
},
"10K_MONEY": {
name: "Money Haver",
},
"100K_MONEY": {
name: "Rich",
},
"1M_MONEY": {
name: "Millionaire",
},
"10M_MONEY": {
name: "One Percenter",
},
"DamageAchv": {
description: "Inflict {{damageAmount}} damage in one hit",
},
"250_DMG": {
name: "Hard Hitter",
},
"1000_DMG": {
name: "Harder Hitter",
},
"2500_DMG": {
name: "That's a Lotta Damage!",
},
"10000_DMG": {
name: "One Punch Man",
},
"HealAchv": {
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
},
"250_HEAL": {
name: "Novice Healer",
},
"1000_HEAL": {
name: "Big Healer",
},
"2500_HEAL": {
name: "Cleric",
},
"10000_HEAL": {
name: "Recovery Master",
},
"LevelAchv": {
description: "Level up a Pokémon to Lv{{level}}",
},
"LV_100": {
name: "But Wait, There's More!",
},
"LV_250": {
name: "Elite",
},
"LV_1000": {
name: "To Go Even Further Beyond",
},
"RibbonAchv": {
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
},
"10_RIBBONS": {
name: "Pokémon League Champion",
},
"25_RIBBONS": {
name: "Great League Champion",
},
"50_RIBBONS": {
name: "Ultra League Champion",
},
"75_RIBBONS": {
name: "Rogue League Champion",
},
"100_RIBBONS": {
name: "Master League Champion",
},
"TRANSFER_MAX_BATTLE_STAT": {
name: "Teamwork",
description: "Baton pass to another party member with at least one stat maxed out",
},
"MAX_FRIENDSHIP": {
name: "Friendmaxxing",
description: "Reach max friendship on a Pokémon",
},
"MEGA_EVOLVE": {
name: "Megamorph",
description: "Mega evolve a Pokémon",
},
"GIGANTAMAX": {
name: "Absolute Unit",
description: "Gigantamax a Pokémon",
},
"TERASTALLIZE": {
name: "STAB Enthusiast",
description: "Terastallize a Pokémon",
},
"STELLAR_TERASTALLIZE": {
name: "The Hidden Type",
description: "Stellar Terastallize a Pokémon",
},
"SPLICE": {
name: "Infinite Fusion",
description: "Splice two Pokémon together with DNA Splicers",
},
"MINI_BLACK_HOLE": {
name: "A Hole Lot of Items",
description: "Acquire a Mini Black Hole",
},
"CATCH_MYTHICAL": {
name: "Mythical",
description: "Catch a mythical Pokémon",
},
"CATCH_SUB_LEGENDARY": {
name: "(Sub-)Legendary",
description: "Catch a sub-legendary Pokémon",
},
"CATCH_LEGENDARY": {
name: "Legendary",
description: "Catch a legendary Pokémon",
},
"SEE_SHINY": {
name: "Shiny",
description: "Find a shiny Pokémon in the wild",
},
"SHINY_PARTY": {
name: "That's Dedication",
description: "Have a full party of shiny Pokémon",
},
"HATCH_MYTHICAL": {
name: "Mythical Egg",
description: "Hatch a mythical Pokémon from an egg",
},
"HATCH_SUB_LEGENDARY": {
name: "Sub-Legendary Egg",
description: "Hatch a sub-legendary Pokémon from an egg",
},
"HATCH_LEGENDARY": {
name: "Legendary Egg",
description: "Hatch a legendary Pokémon from an egg",
},
"HATCH_SHINY": {
name: "Shiny Egg",
description: "Hatch a shiny Pokémon from an egg",
},
"HIDDEN_ABILITY": {
name: "Hidden Potential",
description: "Catch a Pokémon with a hidden ability",
},
"PERFECT_IVS": {
name: "Certificate of Authenticity",
description: "Get perfect IVs on a Pokémon",
},
"CLASSIC_VICTORY": {
name: "Undefeated",
description: "Beat the game in classic mode",
},
} as const;

View File

@ -1,6 +1,9 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
import { achv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { commandUiHandler } from "./command-ui-handler";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
@ -17,15 +20,16 @@ import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { voucher } from "./voucher";
import { weather } from "./weather";
export const itConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
commandUiHandler: commandUiHandler,
egg: egg,
fightUiHandler: fightUiHandler,
@ -44,8 +48,6 @@ export const itConfig = {
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
voucher: voucher,
weather: weather,
}

View File

@ -1237,5 +1237,4 @@ export const ability: AbilityTranslationEntries = {
name: "Poison Puppeteer",
description: "Pokémon envenenados pelos movimentos de Pecharunt também ficarão confusos.",
},
} as const;

171
src/locales/pt_BR/achv.ts Normal file
View File

@ -0,0 +1,171 @@
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
export const achv: AchievementTranslationEntries = {
"Achievements": {
name: "Conquistas",
},
"Locked": {
name: "Não conquistado",
},
"MoneyAchv": {
description: "Acumule um total de ₽{{moneyAmount}}",
},
"10K_MONEY": {
name: "Chuva de Dinheiro",
},
"100K_MONEY": {
name: "Tô Rica!",
},
"1M_MONEY": {
name: "Quem Quer Ser Um Milionário?",
},
"10M_MONEY": {
name: "Tio Patinhas",
},
"DamageAchv": {
description: "Inflija {{damageAmount}} de dano em um único golpe",
},
"250_DMG": {
name: "Essa Doeu!",
},
"1000_DMG": {
name: "Essa Doeu Mais!",
},
"2500_DMG": {
name: "Essa Doeu Muito!",
},
"10000_DMG": {
name: "Essa Doeu Pra Caramba!",
},
"HealAchv": {
description: "Cure {{healAmount}} {{HP}} de uma vez só com um movimento, habilidade ou item segurado",
},
"250_HEAL": {
name: "Residente",
},
"1000_HEAL": {
name: "Enfermeiro",
},
"2500_HEAL": {
name: "Médico",
},
"10000_HEAL": {
name: "Médico de Plantão",
},
"LevelAchv": {
description: "Eleve um Pokémon para o Nv{{level}}",
},
"LV_100": {
name: "Calma Que Tem Mais!",
},
"LV_250": {
name: "Treinador de Elite",
},
"LV_1000": {
name: "Ao Infinito e Além!",
},
"RibbonAchv": {
description: "Acumule um total de {{ribbonAmount}} Fitas",
},
"10_RIBBONS": {
name: "Fita de Bronze",
},
"25_RIBBONS": {
name: "Fita de Prata",
},
"50_RIBBONS": {
name: "Fita de Ouro",
},
"75_RIBBONS": {
name: "Fita de Platina",
},
"100_RIBBONS": {
name: "Fita de Diamante",
},
"TRANSFER_MAX_BATTLE_STAT": {
name: "Trabalho em Equipe",
description: "Use Baton Pass com pelo menos um atributo aumentado ao máximo",
},
"MAX_FRIENDSHIP": {
name: "Melhores Amigos",
description: "Alcance a amizade máxima com um Pokémon",
},
"MEGA_EVOLVE": {
name: "Megamorfose",
description: "Megaevolua um Pokémon",
},
"GIGANTAMAX": {
name: "Ficou Gigante!",
description: "Gigantamax um Pokémon",
},
"TERASTALLIZE": {
name: "Terastalização",
description: "Terastalize um Pokémon",
},
"STELLAR_TERASTALLIZE": {
name: "Estrela Cadente",
description: "Terastalize um Pokémon para o tipo Estelar",
},
"SPLICE": {
name: "Fusão!",
description: "Funda dois Pokémon com um Splicer de DNA",
},
"MINI_BLACK_HOLE": {
name: "Buraco Sem Fundo",
description: "Adquira um Mini Buraco Negro",
},
"CATCH_MYTHICAL": {
name: "Mítico",
description: "Capture um Pokémon Mítico",
},
"CATCH_SUB_LEGENDARY": {
name: "Quase Lendário",
description: "Capture um Pokémon Sub-Lendário",
},
"CATCH_LEGENDARY": {
name: "Lendário",
description: "Capture um Pokémon Lendário",
},
"SEE_SHINY": {
name: "Ué, Tá Brilhando?",
description: "Encontre um Pokémon Shiny selvagem",
},
"SHINY_PARTY": {
name: "Tá Todo Mundo Brilhando!",
description: "Tenha uma equipe formada somente por Pokémon Shiny",
},
"HATCH_MYTHICAL": {
name: "Ovo Mítico",
description: "Choque um Pokémon Mítico",
},
"HATCH_SUB_LEGENDARY": {
name: "Ovo Sub-Lendário",
description: "Choque um Pokémon Sub-Lendário",
},
"HATCH_LEGENDARY": {
name: "Ovo Lendário",
description: "Choque um Pokémon Lendário",
},
"HATCH_SHINY": {
name: "Ovo Shiny",
description: "Choque um Pokémon Shiny",
},
"HIDDEN_ABILITY": {
name: "Potencial Oculto",
description: "Capture um Pokémon com uma Habilidade Oculta",
},
"PERFECT_IVS": {
name: "Perfeição Certificada",
description: "Obtenha IVs perfeitos em um Pokémon",
},
"CLASSIC_VICTORY": {
name: "Invencível",
description: "Vença o jogo no modo clássico",
},
} as const;

View File

@ -52,5 +52,5 @@ export const battle: SimpleTranslationEntries = {
"notDisabled": "O movimento {{moveName}}\nnão está mais desabilitado!",
"skipItemQuestion": "Tem certeza de que não quer escolher um item?",
"eggHatching": "Opa?",
"ivScannerUseQuestion": "Quer usar o Scanner de IVs em {{pokemonName}}?"
"ivScannerUseQuestion": "Quer usar o Scanner de IVs em {{pokemonName}}?",
} as const;

View File

@ -1,6 +1,9 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
import { achv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { commandUiHandler } from "./command-ui-handler";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
@ -17,34 +20,34 @@ import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { berry } from "./berry";
import { voucher } from "./voucher";
import { weather } from "./weather";
export const ptBrConfig = {
export const ptBrConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
commandUiHandler: commandUiHandler,
egg: egg,
fightUiHandler: fightUiHandler,
menuUiHandler: menuUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
modifierType: modifierType,
move: move,
nature: nature,
pokeball: pokeball,
pokemonInfo: pokemonInfo,
pokemon: pokemon,
pokemonInfo: pokemonInfo,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
titles: titles,
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
splashMessages: splashMessages,
nature: nature,
growth: growth,
weather: weather,
modifierType: modifierType,
berry: berry,
voucher: voucher,
weather: weather,
}

View File

@ -17,5 +17,5 @@ export const egg: SimpleTranslationEntries = {
"notEnoughVouchers": "Você não tem vouchers suficientes!",
"tooManyEggs": "Você já tem muitos ovos!",
"pull": "Prêmio",
"pulls": "Prêmios"
"pulls": "Prêmios",
} as const;

View File

@ -6,5 +6,5 @@ export const growth: SimpleTranslationEntries = {
"Medium_Fast": "Meio Rápido",
"Medium_Slow": "Meio Lento",
"Slow": "Lento",
"Fluctuating": "Flutuante"
"Fluctuating": "Flutuante",
} as const;

View File

@ -19,5 +19,5 @@ export const menuUiHandler: SimpleTranslationEntries = {
"importData": "Importar dados",
"exportData": "Exportar dados",
"cancel": "Cancelar",
"losingProgressionWarning": "Você vai perder todo o progresso desde o início da batalha. Confirmar?"
"losingProgressionWarning": "Você vai perder todo o progresso desde o início da batalha. Confirmar?",
} as const;

View File

@ -110,7 +110,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
"TerastallizeModifierType": {
name: "{{teraType}} Fragmento Tera",
description: "{{teraType}} Terastaliza um Pokémon por até 10 batalhas",
description: "{{teraType}} Terastalize um Pokémon por até 10 batalhas",
},
"ContactHeldItemTransferChanceModifierType": {
description: "Quando atacar, tem {{chancePercent}}% de chance de roubar um item do oponente",

View File

@ -3808,5 +3808,5 @@ export const move: MoveTranslationEntries = {
"malignantChain": {
name: "Malignant Chain",
effect: "O usuário derrama toxinas no alvo envolvendo-o em uma corrente tóxica e corrosiva. Isso também pode deixar o alvo seriamente envenenado."
}
},
} as const;

View File

@ -13,7 +13,7 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEF": "Def. Esp.",
"SPDEFshortened": "DefEsp",
"SPD": "Veloc.",
"SPDshortened": "Veloc."
"SPDshortened": "Veloc.",
},
Type: {
@ -36,6 +36,6 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"DRAGON": "Dragão",
"DARK": "Sombrio",
"FAIRY": "Fada",
"STELLAR": "Estelar"
"STELLAR": "Estelar",
},
} as const;

View File

@ -40,5 +40,5 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"disablePassive": "Desativar Passiva",
"locked": "Bloqueada",
"disabled": "Desativada",
"uncaught": "Não capturado"
"uncaught": "Não capturado",
}

View File

@ -2,10 +2,10 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const voucher: SimpleTranslationEntries = {
"vouchers": "Vouchers",
"eggVoucher": "Egg Voucher",
"eggVoucherPlus": "Egg Voucher Plus",
"eggVoucherPremium": "Egg Voucher Premium",
"eggVoucherGold": "Egg Voucher Gold",
"locked": "Locked",
"defeatTrainer": "Defeat {{trainerName}}"
"eggVoucher": "Voucher de Ovo",
"eggVoucherPlus": "Voucher de Ovo Plus",
"eggVoucherPremium": "Voucher de Ovo Premium",
"eggVoucherGold": "Voucher de Ovo Dourado",
"locked": "Bloqueado",
"defeatTrainer": "Derrote {{trainerName}}",
} as const;

171
src/locales/zh_CN/achv.ts Normal file
View File

@ -0,0 +1,171 @@
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
export const achv: AchievementTranslationEntries = {
"Achievements": {
name: "Achievements",
},
"Locked": {
name: "Locked",
},
"MoneyAchv": {
description: "Accumulate a total of ₽{{moneyAmount}}",
},
"10K_MONEY": {
name: "Money Haver",
},
"100K_MONEY": {
name: "Rich",
},
"1M_MONEY": {
name: "Millionaire",
},
"10M_MONEY": {
name: "One Percenter",
},
"DamageAchv": {
description: "Inflict {{damageAmount}} damage in one hit",
},
"250_DMG": {
name: "Hard Hitter",
},
"1000_DMG": {
name: "Harder Hitter",
},
"2500_DMG": {
name: "That's a Lotta Damage!",
},
"10000_DMG": {
name: "One Punch Man",
},
"HealAchv": {
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
},
"250_HEAL": {
name: "Novice Healer",
},
"1000_HEAL": {
name: "Big Healer",
},
"2500_HEAL": {
name: "Cleric",
},
"10000_HEAL": {
name: "Recovery Master",
},
"LevelAchv": {
description: "Level up a Pokémon to Lv{{level}}",
},
"LV_100": {
name: "But Wait, There's More!",
},
"LV_250": {
name: "Elite",
},
"LV_1000": {
name: "To Go Even Further Beyond",
},
"RibbonAchv": {
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
},
"10_RIBBONS": {
name: "Pokémon League Champion",
},
"25_RIBBONS": {
name: "Great League Champion",
},
"50_RIBBONS": {
name: "Ultra League Champion",
},
"75_RIBBONS": {
name: "Rogue League Champion",
},
"100_RIBBONS": {
name: "Master League Champion",
},
"TRANSFER_MAX_BATTLE_STAT": {
name: "Teamwork",
description: "Baton pass to another party member with at least one stat maxed out",
},
"MAX_FRIENDSHIP": {
name: "Friendmaxxing",
description: "Reach max friendship on a Pokémon",
},
"MEGA_EVOLVE": {
name: "Megamorph",
description: "Mega evolve a Pokémon",
},
"GIGANTAMAX": {
name: "Absolute Unit",
description: "Gigantamax a Pokémon",
},
"TERASTALLIZE": {
name: "STAB Enthusiast",
description: "Terastallize a Pokémon",
},
"STELLAR_TERASTALLIZE": {
name: "The Hidden Type",
description: "Stellar Terastallize a Pokémon",
},
"SPLICE": {
name: "Infinite Fusion",
description: "Splice two Pokémon together with DNA Splicers",
},
"MINI_BLACK_HOLE": {
name: "A Hole Lot of Items",
description: "Acquire a Mini Black Hole",
},
"CATCH_MYTHICAL": {
name: "Mythical",
description: "Catch a mythical Pokémon",
},
"CATCH_SUB_LEGENDARY": {
name: "(Sub-)Legendary",
description: "Catch a sub-legendary Pokémon",
},
"CATCH_LEGENDARY": {
name: "Legendary",
description: "Catch a legendary Pokémon",
},
"SEE_SHINY": {
name: "Shiny",
description: "Find a shiny Pokémon in the wild",
},
"SHINY_PARTY": {
name: "That's Dedication",
description: "Have a full party of shiny Pokémon",
},
"HATCH_MYTHICAL": {
name: "Mythical Egg",
description: "Hatch a mythical Pokémon from an egg",
},
"HATCH_SUB_LEGENDARY": {
name: "Sub-Legendary Egg",
description: "Hatch a sub-legendary Pokémon from an egg",
},
"HATCH_LEGENDARY": {
name: "Legendary Egg",
description: "Hatch a legendary Pokémon from an egg",
},
"HATCH_SHINY": {
name: "Shiny Egg",
description: "Hatch a shiny Pokémon from an egg",
},
"HIDDEN_ABILITY": {
name: "Hidden Potential",
description: "Catch a Pokémon with a hidden ability",
},
"PERFECT_IVS": {
name: "Certificate of Authenticity",
description: "Get perfect IVs on a Pokémon",
},
"CLASSIC_VICTORY": {
name: "Undefeated",
description: "Beat the game in classic mode",
},
} as const;

View File

@ -1,6 +1,9 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
import { achv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { commandUiHandler } from "./command-ui-handler";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
@ -17,16 +20,16 @@ import { pokemonInfo } from "./pokemon-info";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { voucher } from "./voucher";
import { weather } from "./weather";
export const zhCnConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
commandUiHandler: commandUiHandler,
egg: egg,
fightUiHandler: fightUiHandler,
@ -45,8 +48,6 @@ export const zhCnConfig = {
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
voucher: voucher,
weather: weather,
}

View File

@ -51,13 +51,22 @@ export interface PokemonInfoTranslationEntries {
export interface BerryTranslationEntry {
name: string,
effect: string
effect: string,
}
export interface BerryTranslationEntries {
[key: string]: BerryTranslationEntry
}
export interface AchievementTranslationEntry {
name?: string,
description?: string,
}
export interface AchievementTranslationEntries {
[key: string]: AchievementTranslationEntry
}
export interface Localizable {
localize(): void;
}
@ -153,7 +162,8 @@ declare module 'i18next' {
modifierType: ModifierTypeTranslationEntries;
battleMessageUiHandler: SimpleTranslationEntries;
berry: BerryTranslationEntries;
voucher: SimpleTranslationEntries;
voucher: SimpleTranslationEntries;
achv: AchievementTranslationEntries;
};
}
}

View File

@ -1,7 +1,8 @@
import { Modifier } from "typescript";
import BattleScene from "../battle-scene";
import * as Utils from "../utils";
import { TurnHeldItemTransferModifier } from "../modifier/modifier";
import i18next from '../plugins/i18n';
import * as Utils from "../utils";
export enum AchvTier {
COMMON,
@ -12,6 +13,7 @@ export enum AchvTier {
}
export class Achv {
public localizationKey: string;
public id: string;
public name: string;
public description: string;
@ -24,12 +26,13 @@ export class Achv {
private conditionFunc: (scene: BattleScene, args: any[]) => boolean;
constructor(name: string, description: string, iconImage: string, score: integer, conditionFunc?: (scene: BattleScene, args: any[]) => boolean) {
constructor(localizationKey:string, name: string, description: string, iconImage: string, score: integer, conditionFunc?: (scene: BattleScene, args: any[]) => boolean) {
this.name = name;
this.description = description;
this.iconImage = iconImage;
this.score = score;
this.conditionFunc = conditionFunc;
this.localizationKey = localizationKey;
}
getName(): string {
@ -64,102 +67,196 @@ export class Achv {
}
export class MoneyAchv extends Achv {
private moneyAmount: integer;
moneyAmount: integer;
constructor(name: string, moneyAmount: integer, iconImage: string, score: integer) {
super(name, `Accumulate a total of ₽${moneyAmount.toLocaleString('en-US')}`, iconImage, score, (scene: BattleScene, _args: any[]) => scene.money >= this.moneyAmount);
constructor(localizationKey: string, name: string, moneyAmount: integer, iconImage: string, score: integer) {
super(localizationKey, name, '', iconImage, score, (scene: BattleScene, _args: any[]) => scene.money >= this.moneyAmount);
this.moneyAmount = moneyAmount;
}
}
export class RibbonAchv extends Achv {
private ribbonAmount: integer;
ribbonAmount: integer;
constructor(name: string, ribbonAmount: integer, iconImage: string, score: integer) {
super(name, `Accumulate a total of ${ribbonAmount.toLocaleString('en-US')} Ribbons`, iconImage, score, (scene: BattleScene, _args: any[]) => scene.gameData.gameStats.ribbonsOwned >= this.ribbonAmount);
constructor(localizationKey: string, name: string, ribbonAmount: integer, iconImage: string, score: integer) {
super(localizationKey, name, '', iconImage, score, (scene: BattleScene, _args: any[]) => scene.gameData.gameStats.ribbonsOwned >= this.ribbonAmount);
this.ribbonAmount = ribbonAmount;
}
}
export class DamageAchv extends Achv {
private damageAmount: integer;
damageAmount: integer;
constructor(name: string, damageAmount: integer, iconImage: string, score: integer) {
super(name, `Inflict ${damageAmount.toLocaleString('en-US')} damage in one hit`, iconImage, score, (_scene: BattleScene, args: any[]) => (args[0] as Utils.NumberHolder).value >= this.damageAmount);
constructor(localizationKey: string, name: string, damageAmount: integer, iconImage: string, score: integer) {
super(localizationKey, name, '', iconImage, score, (_scene: BattleScene, args: any[]) => (args[0] as Utils.NumberHolder).value >= this.damageAmount);
this.damageAmount = damageAmount;
}
}
export class HealAchv extends Achv {
private healAmount: integer;
healAmount: integer;
constructor(name: string, healAmount: integer, iconImage: string, score: integer) {
super(name, `Heal ${healAmount.toLocaleString('en-US')} HP at once with a move, ability, or held item`, iconImage, score, (_scene: BattleScene, args: any[]) => (args[0] as Utils.NumberHolder).value >= this.healAmount);
constructor(localizationKey: string, name: string, healAmount: integer, iconImage: string, score: integer) {
super(localizationKey, name, '', iconImage, score, (_scene: BattleScene, args: any[]) => (args[0] as Utils.NumberHolder).value >= this.healAmount);
this.healAmount = healAmount;
}
}
export class LevelAchv extends Achv {
private level: integer;
level: integer;
constructor(name: string, level: integer, iconImage: string, score: integer) {
super(name, `Level up a Pokémon to Lv${level}`, iconImage, score, (scene: BattleScene, args: any[]) => (args[0] as Utils.IntegerHolder).value >= this.level);
constructor(localizationKey: string, name: string, level: integer, iconImage: string, score: integer) {
super(localizationKey, name, '', iconImage, score, (scene: BattleScene, args: any[]) => (args[0] as Utils.IntegerHolder).value >= this.level);
this.level = level;
}
}
export class ModifierAchv extends Achv {
constructor(name: string, description: string, iconImage: string, score: integer, modifierFunc: (modifier: Modifier) => boolean) {
super(name, description, iconImage, score, (_scene: BattleScene, args: any[]) => modifierFunc((args[0] as Modifier)));
constructor(localizationKey: string, name: string, description: string, iconImage: string, score: integer, modifierFunc: (modifier: Modifier) => boolean) {
super(localizationKey, name, description, iconImage, score, (_scene: BattleScene, args: any[]) => modifierFunc((args[0] as Modifier)));
}
}
/**
* Get the description of an achievement from the localization file with all the necessary variables filled in
* @param localizationKey The localization key of the achievement
* @returns The description of the achievement
*/
export function getAchievementDescription(localizationKey: string): string {
switch (localizationKey) {
case "10K_MONEY":
return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._10K_MONEY.moneyAmount.toLocaleString('en-US')});
case "100K_MONEY":
return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._100K_MONEY.moneyAmount.toLocaleString('en-US')});
case "1M_MONEY":
return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._1M_MONEY.moneyAmount.toLocaleString('en-US')});
case "10M_MONEY":
return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._10M_MONEY.moneyAmount.toLocaleString('en-US')});
case "250_DMG":
return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._250_DMG.damageAmount.toLocaleString('en-US')});
case "1000_DMG":
return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._1000_DMG.damageAmount.toLocaleString('en-US')});
case "2500_DMG":
return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._2500_DMG.damageAmount.toLocaleString('en-US')});
case "10000_DMG":
return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._10000_DMG.damageAmount.toLocaleString('en-US')});
case "250_HEAL":
return i18next.t("achv:HealAchv.description", {"healAmount": achvs._250_HEAL.healAmount.toLocaleString('en-US'), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "1000_HEAL":
return i18next.t("achv:HealAchv.description", {"healAmount": achvs._1000_HEAL.healAmount.toLocaleString('en-US'), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "2500_HEAL":
return i18next.t("achv:HealAchv.description", {"healAmount": achvs._2500_HEAL.healAmount.toLocaleString('en-US'), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "10000_HEAL":
return i18next.t("achv:HealAchv.description", {"healAmount": achvs._10000_HEAL.healAmount.toLocaleString('en-US'), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "LV_100":
return i18next.t("achv:LevelAchv.description", {"level": achvs.LV_100.level});
case "LV_250":
return i18next.t("achv:LevelAchv.description", {"level": achvs.LV_250.level});
case "LV_1000":
return i18next.t("achv:LevelAchv.description", {"level": achvs.LV_1000.level});
case "10_RIBBONS":
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._10_RIBBONS.ribbonAmount.toLocaleString('en-US')});
case "25_RIBBONS":
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._25_RIBBONS.ribbonAmount.toLocaleString('en-US')});
case "50_RIBBONS":
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._50_RIBBONS.ribbonAmount.toLocaleString('en-US')});
case "75_RIBBONS":
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._75_RIBBONS.ribbonAmount.toLocaleString('en-US')});
case "100_RIBBONS":
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._100_RIBBONS.ribbonAmount.toLocaleString('en-US')});
case "TRANSFER_MAX_BATTLE_STAT":
return i18next.t("achv:TRANSFER_MAX_BATTLE_STAT.description");
case "MAX_FRIENDSHIP":
return i18next.t("achv:MAX_FRIENDSHIP.description");
case "MEGA_EVOLVE":
return i18next.t("achv:MEGA_EVOLVE.description");
case "GIGANTAMAX":
return i18next.t("achv:GIGANTAMAX.description");
case "TERASTALLIZE":
return i18next.t("achv:TERASTALLIZE.description");
case "STELLAR_TERASTALLIZE":
return i18next.t("achv:STELLAR_TERASTALLIZE.description");
case "SPLICE":
return i18next.t("achv:SPLICE.description");
case "MINI_BLACK_HOLE":
return i18next.t("achv:MINI_BLACK_HOLE.description");
case "CATCH_MYTHICAL":
return i18next.t("achv:CATCH_MYTHICAL.description");
case "CATCH_SUB_LEGENDARY":
return i18next.t("achv:CATCH_SUB_LEGENDARY.description");
case "CATCH_LEGENDARY":
return i18next.t("achv:CATCH_LEGENDARY.description");
case "SEE_SHINY":
return i18next.t("achv:SEE_SHINY.description");
case "SHINY_PARTY":
return i18next.t("achv:SHINY_PARTY.description");
case "HATCH_MYTHICAL":
return i18next.t("achv:HATCH_MYTHICAL.description");
case "HATCH_SUB_LEGENDARY":
return i18next.t("achv:HATCH_SUB_LEGENDARY.description");
case "HATCH_LEGENDARY":
return i18next.t("achv:HATCH_LEGENDARY.description");
case "HATCH_SHINY":
return i18next.t("achv:HATCH_SHINY.description");
case "HIDDEN_ABILITY":
return i18next.t("achv:HIDDEN_ABILITY.description");
case "PERFECT_IVS":
return i18next.t("achv:PERFECT_IVS.description");
case "CLASSIC_VICTORY":
return i18next.t("achv:CLASSIC_VICTORY.description");
default:
return "";
}
}
export const achvs = {
_10K_MONEY: new MoneyAchv('Money Haver', 10000, 'nugget', 10),
_100K_MONEY: new MoneyAchv('Rich', 100000, 'big_nugget', 25).setSecret(true),
_1M_MONEY: new MoneyAchv('Millionaire', 1000000, 'relic_gold', 50).setSecret(true),
_10M_MONEY: new MoneyAchv('One Percenter', 10000000, 'coin_case', 100).setSecret(true),
_250_DMG: new DamageAchv('Hard Hitter', 250, 'lucky_punch', 10),
_1000_DMG: new DamageAchv('Harder Hitter', 1000, 'lucky_punch_great', 25).setSecret(true),
_2500_DMG: new DamageAchv('That\'s a Lotta Damage!', 2500, 'lucky_punch_ultra', 50).setSecret(true),
_10000_DMG: new DamageAchv('One Punch Man', 10000, 'lucky_punch_master', 100).setSecret(true),
_250_HEAL: new HealAchv('Novice Healer', 250, 'potion', 10),
_1000_HEAL: new HealAchv('Big Healer', 1000, 'super_potion', 25).setSecret(true),
_2500_HEAL: new HealAchv('Cleric', 2500, 'hyper_potion', 50).setSecret(true),
_10000_HEAL: new HealAchv('Recovery Master', 10000, 'max_potion', 100).setSecret(true),
LV_100: new LevelAchv('But Wait, There\'s More!', 100, 'rare_candy', 25).setSecret(),
LV_250: new LevelAchv('Elite', 250, 'rarer_candy', 50).setSecret(true),
LV_1000: new LevelAchv('To Go Even Further Beyond', 1000, 'candy_jar', 100).setSecret(true),
_10_RIBBONS: new RibbonAchv('Pokémon League Champion', 10, 'bronze_ribbon', 10),
_25_RIBBONS: new RibbonAchv('Great League Champion', 25, 'great_ribbon', 25).setSecret(true),
_50_RIBBONS: new RibbonAchv('Ultra League Champion', 50, 'ultra_ribbon', 50).setSecret(true),
_75_RIBBONS: new RibbonAchv('Rogue League Champion', 75, 'rogue_ribbon', 75).setSecret(true),
_100_RIBBONS: new RibbonAchv('Master League Champion', 100, 'master_ribbon', 100).setSecret(true),
TRANSFER_MAX_BATTLE_STAT: new Achv('Teamwork', 'Baton pass to another party member with at least one stat maxed out', 'stick', 20),
MAX_FRIENDSHIP: new Achv('Friendmaxxing', 'Reach max friendship on a Pokémon', 'soothe_bell', 25),
MEGA_EVOLVE: new Achv('Megamorph', 'Mega evolve a Pokémon', 'mega_bracelet', 50),
GIGANTAMAX: new Achv('Absolute Unit', 'Gigantamax a Pokémon', 'dynamax_band', 50),
TERASTALLIZE: new Achv('STAB Enthusiast', 'Terastallize a Pokémon', 'tera_orb', 25),
STELLAR_TERASTALLIZE: new Achv('The Hidden Type', 'Stellar Terastallize a Pokémon', 'stellar_tera_shard', 25).setSecret(true),
SPLICE: new Achv('Infinite Fusion', 'Splice two Pokémon together with DNA Splicers', 'dna_splicers', 10),
MINI_BLACK_HOLE: new ModifierAchv('A Hole Lot of Items', 'Acquire a Mini Black Hole', 'mini_black_hole', 25, modifier => modifier instanceof TurnHeldItemTransferModifier).setSecret(),
CATCH_MYTHICAL: new Achv('Mythical', 'Catch a mythical Pokémon', 'strange_ball', 50).setSecret(),
CATCH_SUB_LEGENDARY: new Achv('(Sub-)Legendary', 'Catch a sub-legendary Pokémon', 'rb', 75).setSecret(),
CATCH_LEGENDARY: new Achv('Legendary', 'Catch a legendary Pokémon', 'mb', 100).setSecret(),
SEE_SHINY: new Achv('Shiny', 'Find a shiny Pokémon in the wild', 'pb_gold', 75),
SHINY_PARTY: new Achv('That\'s Dedication', 'Have a full party of shiny Pokémon', 'shiny_charm', 100).setSecret(true),
HATCH_MYTHICAL: new Achv('Mythical Egg', 'Hatch a mythical Pokémon from an egg', 'pair_of_tickets', 75).setSecret(),
HATCH_SUB_LEGENDARY: new Achv('Sub-Legendary Egg', 'Hatch a sub-legendary Pokémon from an egg', 'mystic_ticket', 100).setSecret(),
HATCH_LEGENDARY: new Achv('Legendary Egg', 'Hatch a legendary Pokémon from an egg', 'mystic_ticket', 125).setSecret(),
HATCH_SHINY: new Achv('Shiny Egg', 'Hatch a shiny Pokémon from an egg', 'golden_mystic_ticket', 100).setSecret(),
HIDDEN_ABILITY: new Achv('Hidden Potential', 'Catch a Pokémon with a hidden ability', 'ability_charm', 75),
PERFECT_IVS: new Achv('Certificate of Authenticity', 'Get perfect IVs on a Pokémon', 'blunder_policy', 100),
CLASSIC_VICTORY: new Achv('Undefeated', 'Beat the game in classic mode', 'relic_crown', 150)
_10K_MONEY: new MoneyAchv("10K_MONEY", "",10000, 'nugget', 10),
_100K_MONEY: new MoneyAchv("100K_MONEY", "",100000, 'big_nugget', 25).setSecret(true),
_1M_MONEY: new MoneyAchv("1M_MONEY","", 1000000, 'relic_gold', 50).setSecret(true),
_10M_MONEY: new MoneyAchv("10M_MONEY","", 10000000, 'coin_case', 100).setSecret(true),
_250_DMG: new DamageAchv("250_DMG","", 250, 'lucky_punch', 10),
_1000_DMG: new DamageAchv("1000_DMG","", 1000, 'lucky_punch_great', 25).setSecret(true),
_2500_DMG: new DamageAchv("2500_DMG","", 2500, 'lucky_punch_ultra', 50).setSecret(true),
_10000_DMG: new DamageAchv("10000_DMG","", 10000, 'lucky_punch_master', 100).setSecret(true),
_250_HEAL: new HealAchv("250_HEAL","", 250, 'potion', 10),
_1000_HEAL: new HealAchv("1000_HEAL", "",1000, 'super_potion', 25).setSecret(true),
_2500_HEAL: new HealAchv("2500_HEAL","", 2500, 'hyper_potion', 50).setSecret(true),
_10000_HEAL: new HealAchv("10000_HEAL","", 10000, 'max_potion', 100).setSecret(true),
LV_100: new LevelAchv("LV_100", "",100, 'rare_candy', 25).setSecret(),
LV_250: new LevelAchv("LV_250", "",250, 'rarer_candy', 50).setSecret(true),
LV_1000: new LevelAchv("LV_1000", "",1000, 'candy_jar', 100).setSecret(true),
_10_RIBBONS: new RibbonAchv("10_RIBBONS","", 10, 'bronze_ribbon', 10),
_25_RIBBONS: new RibbonAchv("25_RIBBONS", "",25, 'great_ribbon', 25).setSecret(true),
_50_RIBBONS: new RibbonAchv("50_RIBBONS","", 50, 'ultra_ribbon', 50).setSecret(true),
_75_RIBBONS: new RibbonAchv("75_RIBBONS","", 75, 'rogue_ribbon', 75).setSecret(true),
_100_RIBBONS: new RibbonAchv("100_RIBBONS","", 100, 'master_ribbon', 100).setSecret(true),
TRANSFER_MAX_BATTLE_STAT: new Achv("TRANSFER_MAX_BATTLE_STAT","", "TRANSFER_MAX_BATTLE_STAT.description", 'stick', 20),
MAX_FRIENDSHIP: new Achv("MAX_FRIENDSHIP", "", "MAX_FRIENDSHIP.description", 'soothe_bell', 25),
MEGA_EVOLVE: new Achv("MEGA_EVOLVE", "", "MEGA_EVOLVE.description", 'mega_bracelet', 50),
GIGANTAMAX: new Achv("GIGANTAMAX", "", "GIGANTAMAX.description", 'dynamax_band', 50),
TERASTALLIZE: new Achv("TERASTALLIZE","", "TERASTALLIZE.description", 'tera_orb', 25),
STELLAR_TERASTALLIZE: new Achv("STELLAR_TERASTALLIZE", "", "STELLAR_TERASTALLIZE.description", 'stellar_tera_shard', 25).setSecret(true),
SPLICE: new Achv("SPLICE","", "SPLICE.description", 'dna_splicers', 10),
MINI_BLACK_HOLE: new ModifierAchv("MINI_BLACK_HOLE","", "MINI_BLACK_HOLE.description", 'mini_black_hole', 25, modifier => modifier instanceof TurnHeldItemTransferModifier).setSecret(),
CATCH_MYTHICAL: new Achv("CATCH_MYTHICAL","", "CATCH_MYTHICAL.description", 'strange_ball', 50).setSecret(),
CATCH_SUB_LEGENDARY: new Achv("CATCH_SUB_LEGENDARY","", "CATCH_SUB_LEGENDARY.description", 'rb', 75).setSecret(),
CATCH_LEGENDARY: new Achv("CATCH_LEGENDARY", "", "CATCH_LEGENDARY.description", 'mb', 100).setSecret(),
SEE_SHINY: new Achv("SEE_SHINY", "", "SEE_SHINY.description", 'pb_gold', 75),
SHINY_PARTY: new Achv("SHINY_PARTY", "", "SHINY_PARTY.description", 'shiny_charm', 100).setSecret(true),
HATCH_MYTHICAL: new Achv("HATCH_MYTHICAL", "", "HATCH_MYTHICAL.description", 'pair_of_tickets', 75).setSecret(),
HATCH_SUB_LEGENDARY: new Achv("HATCH_SUB_LEGENDARY","", "HATCH_SUB_LEGENDARY.description", 'mystic_ticket', 100).setSecret(),
HATCH_LEGENDARY: new Achv("HATCH_LEGENDARY","", "HATCH_LEGENDARY.description", 'mystic_ticket', 125).setSecret(),
HATCH_SHINY: new Achv("HATCH_SHINY","", "HATCH_SHINY.description", 'golden_mystic_ticket', 100).setSecret(),
HIDDEN_ABILITY: new Achv("HIDDEN_ABILITY","", "HIDDEN_ABILITY.description", 'ability_charm', 75),
PERFECT_IVS: new Achv("PERFECT_IVS","", "PERFECT_IVS.description", 'blunder_policy', 100),
CLASSIC_VICTORY: new Achv("CLASSIC_VICTORY","", "CLASSIC_VICTORY.description", 'relic_crown', 150),
};
{

View File

@ -1,10 +1,11 @@
import BattleScene from "../battle-scene";
import { Achv, achvs } from "../system/achv";
import { Button } from "../enums/buttons";
import i18next from "../plugins/i18n";
import {Achv, achvs, getAchievementDescription} from "../system/achv";
import MessageUiHandler from "./message-ui-handler";
import { TextStyle, addTextObject } from "./text";
import { Mode } from "./ui";
import { addWindow } from "./ui-theme";
import {Button} from "../enums/buttons";
export default class AchvsUiHandler extends MessageUiHandler {
private achvsContainer: Phaser.GameObjects.Container;
@ -32,7 +33,7 @@ export default class AchvsUiHandler extends MessageUiHandler {
const headerBg = addWindow(this.scene, 0, 0, (this.scene.game.canvas.width / 6) - 2, 24);
headerBg.setOrigin(0, 0);
const headerText = addTextObject(this.scene, 0, 0, 'Achievements', TextStyle.SETTINGS_LABEL);
const headerText = addTextObject(this.scene, 0, 0, i18next.t("achv:Achievements.name"), TextStyle.SETTINGS_LABEL);
headerText.setOrigin(0, 0);
headerText.setPositionRelative(headerBg, 8, 4);
@ -135,14 +136,15 @@ export default class AchvsUiHandler extends MessageUiHandler {
}
protected showAchv(achv: Achv) {
achv.name = i18next.t(`achv:${achv.localizationKey}.name`)
achv.description = getAchievementDescription(achv.localizationKey)
const achvUnlocks = this.scene.gameData.achvUnlocks;
const unlocked = achvUnlocks.hasOwnProperty(achv.id);
const hidden = !unlocked && achv.secret && (!achv.parentId || !achvUnlocks.hasOwnProperty(achv.parentId));
this.titleText.setText(unlocked ? achv.name : '???');
this.showText(!hidden ? achv.description : '');
this.scoreText.setText(`${achv.score}pt`);
this.unlockText.setText(unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : 'Locked');
this.unlockText.setText(unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : i18next.t('achv:Locked.name'));
}
processInput(button: Button): boolean {

View File

@ -55,31 +55,32 @@ const languageSettings: { [key: string]: LanguageSetting } = {
instructionTextSize: '42px',
},
"de":{
starterInfoTextSize: '56px',
starterInfoTextSize: '53px',
instructionTextSize: '35px',
starterInfoXPos: 35,
},
"es":{
starterInfoTextSize: '56px',
instructionTextSize: '35px',
},
"fr":{
starterInfoTextSize: '54px',
instructionTextSize: '42px',
},
"it":{
starterInfoTextSize: '56px',
instructionTextSize: '38px',
},
"fr":{
starterInfoTextSize: '54px',
instructionTextSize: '42px',
"pt_BR":{
starterInfoTextSize: '47px',
instructionTextSize: '38px',
starterInfoXPos: 33,
},
"zh_CN":{
starterInfoTextSize: '40px',
instructionTextSize: '42px',
starterInfoYOffset: 2
},
"pt_BR":{
starterInfoTextSize: '47px',
instructionTextSize: '38px',
starterInfoXPos: 32,
},
}
const starterCandyCosts: { passive: integer, costReduction: [integer, integer] }[] = [

View File

@ -1,10 +1,10 @@
import i18next from "i18next";
import BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText";
import InputText from "phaser3-rex-plugins/plugins/inputtext";
import { ModifierTier } from "../modifier/modifier-tier";
import { EggTier } from "../data/enums/egg-type";
import BattleScene from "../battle-scene";
import { EggTier } from "../data/enums/egg-type";
import { UiTheme } from "../enums/ui-theme";
import i18next from "i18next";
import { ModifierTier } from "../modifier/modifier-tier";
export enum TextStyle {
MESSAGE,
@ -42,10 +42,10 @@ const languageSettings: { [key: string]: LanguageSetting } = {
"en":{},
"de":{},
"es":{},
"it":{},
"fr":{},
"zh_CN":{},
"it":{},
"pt_BR":{},
"zh_CN":{},
}
export function addTextObject(scene: Phaser.Scene, x: number, y: number, content: string, style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): Phaser.GameObjects.Text {