From b5ae8330a2bd667237cb924a0f7355dd3e5fe797 Mon Sep 17 00:00:00 2001 From: FanHua Date: Thu, 16 May 2024 12:32:45 +0800 Subject: [PATCH 01/84] Implements localization for ModifierType (#887) * Implements localization on ModifierType * All languages' translation fallback to EN locale * Fixed some typos * Add missing QUICK_CLAW translation entry --- src/locales/de/config.ts | 4 +- src/locales/de/modifier-type.ts | 409 +++++++++++++++++++ src/locales/en/config.ts | 4 +- src/locales/en/modifier-type.ts | 409 +++++++++++++++++++ src/locales/es/config.ts | 4 +- src/locales/es/modifier-type.ts | 409 +++++++++++++++++++ src/locales/fr/config.ts | 4 +- src/locales/fr/modifier-type.ts | 409 +++++++++++++++++++ src/locales/it/config.ts | 4 +- src/locales/it/modifier-type.ts | 409 +++++++++++++++++++ src/locales/pt_BR/config.ts | 4 +- src/locales/pt_BR/modifier-type.ts | 409 +++++++++++++++++++ src/locales/zh_CN/config.ts | 7 +- src/locales/zh_CN/growth.ts | 10 + src/locales/zh_CN/modifier-type.ts | 409 +++++++++++++++++++ src/modifier/modifier-type.ts | 618 +++++++++++++++++++---------- src/plugins/i18n.ts | 17 + 17 files changed, 3326 insertions(+), 213 deletions(-) create mode 100644 src/locales/de/modifier-type.ts create mode 100644 src/locales/en/modifier-type.ts create mode 100644 src/locales/es/modifier-type.ts create mode 100644 src/locales/fr/modifier-type.ts create mode 100644 src/locales/it/modifier-type.ts create mode 100644 src/locales/pt_BR/modifier-type.ts create mode 100644 src/locales/zh_CN/growth.ts create mode 100644 src/locales/zh_CN/modifier-type.ts diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index a9f4cd68297..04ad328b6ec 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -6,6 +6,7 @@ import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; +import { modifierType } from "./modifier-type"; import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; @@ -30,5 +31,6 @@ export const deConfig = { starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, nature: nature, - growth: growth + growth: growth, + modifierType: modifierType, } \ No newline at end of file diff --git a/src/locales/de/modifier-type.ts b/src/locales/de/modifier-type.ts new file mode 100644 index 00000000000..729644dc3b8 --- /dev/null +++ b/src/locales/de/modifier-type.ts @@ -0,0 +1,409 @@ +import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; + +export const modifierType: ModifierTypeTranslationEntries = { + ModifierType: { + "AddPokeballModifierType": { + name: "{{modifierCount}}x {{pokeballName}}", + description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + }, + "AddVoucherModifierType": { + name: "{{modifierCount}}x {{voucherTypeName}}", + description: "Receive {{voucherTypeName}} x{{modifierCount}}", + }, + "PokemonHeldItemModifierType": { + extra: { + "inoperable": "{{pokemonName}} can't take\nthis item!", + "tooMany": "{{pokemonName}} has too many\nof this item!", + } + }, + "PokemonHpRestoreModifierType": { + description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + extra: { + "fully": "Fully restores HP for one Pokémon", + "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + } + }, + "PokemonReviveModifierType": { + description: "Revives one Pokémon and restores {{restorePercent}}% HP", + }, + "PokemonStatusHealModifierType": { + description: "Heals any status ailment for one Pokémon", + }, + "PokemonPpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for one Pokémon move", + extra: { + "fully": "Restores all PP for one Pokémon move", + } + }, + "PokemonAllMovePpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + extra: { + "fully": "Restores all PP for all of one Pokémon's moves", + } + }, + "PokemonPpUpModifierType": { + description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + }, + "PokemonNatureChangeModifierType": { + name: "{{natureName}} Mint", + description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + }, + "DoubleBattleChanceBoosterModifierType": { + description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + }, + "TempBattleStatBoosterModifierType": { + description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + }, + "AttackTypeBoosterModifierType": { + description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + }, + "PokemonLevelIncrementModifierType": { + description: "Increases a Pokémon's level by 1", + }, + "AllPokemonLevelIncrementModifierType": { + description: "Increases all party members' level by 1", + }, + "PokemonBaseStatBoosterModifierType": { + description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + }, + "AllPokemonFullHpRestoreModifierType": { + description: "Restores 100% HP for all Pokémon", + }, + "AllPokemonFullReviveModifierType": { + description: "Revives all fainted Pokémon, fully restoring HP", + }, + "MoneyRewardModifierType": { + description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + extra: { + "small": "small", + "moderate": "moderate", + "large": "large", + }, + }, + "ExpBoosterModifierType": { + description: "Increases gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonExpBoosterModifierType": { + description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonFriendshipBoosterModifierType": { + description: "Increases friendship gain per victory by 50%", + }, + "PokemonMoveAccuracyBoosterModifierType": { + description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + }, + "PokemonMultiHitModifierType": { + description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + }, + "TmModifierType": { + name: "TM{{moveId}} - {{moveName}}", + description: "Teach {{moveName}} to a Pokémon", + }, + "EvolutionItemModifierType": { + description: "Causes certain Pokémon to evolve", + }, + "FormChangeItemModifierType": { + description: "Causes certain Pokémon to change form", + }, + "FusePokemonModifierType": { + description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + }, + "TerastallizeModifierType": { + name: "{{teraType}} Tera Shard", + description: "{{teraType}} Terastallizes the holder for up to 10 battles", + }, + "ContactHeldItemTransferChanceModifierType": { + description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + }, + "TurnHeldItemTransferModifierType": { + description: "Every turn, the holder acquires one held item from the foe", + }, + "EnemyAttackStatusEffectChanceModifierType": { + description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + }, + "EnemyEndureChanceModifierType": { + description: "Adds a {{chancePercent}}% chance of enduring a hit", + }, + + "RARE_CANDY": { name: "Rare Candy" }, + "RARER_CANDY": { name: "Rarer Candy" }, + + "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, + "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, + "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + + "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + + "POTION": { name: "Potion" }, + "SUPER_POTION": { name: "Super Potion" }, + "HYPER_POTION": { name: "Hyper Potion" }, + "MAX_POTION": { name: "Max Potion" }, + "FULL_RESTORE": { name: "Full Restore" }, + + "REVIVE": { name: "Revive" }, + "MAX_REVIVE": { name: "Max Revive" }, + + "FULL_HEAL": { name: "Full Heal" }, + + "SACRED_ASH": { name: "Sacred Ash" }, + + "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + + "ETHER": { name: "Ether" }, + "MAX_ETHER": { name: "Max Ether" }, + + "ELIXIR": { name: "Elixir" }, + "MAX_ELIXIR": { name: "Max Elixir" }, + + "PP_UP": { name: "PP Up" }, + "PP_MAX": { name: "PP Max" }, + + "LURE": { name: "Lure" }, + "SUPER_LURE": { name: "Super Lure" }, + "MAX_LURE": { name: "Max Lure" }, + + "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + + "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, + "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + + "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + + "EXP_CHARM": { name: "EXP. Charm" }, + "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, + "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + + "LUCKY_EGG": { name: "Lucky Egg" }, + "GOLDEN_EGG": { name: "Golden Egg" }, + + "SOOTHE_BELL": { name: "Soothe Bell" }, + + "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + + "NUGGET": { name: "Nugget" }, + "BIG_NUGGET": { name: "Big Nugget" }, + "RELIC_GOLD": { name: "Relic Gold" }, + + "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, + "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, + "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + + "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + + "GRIP_CLAW": { name: "Grip Claw" }, + "WIDE_LENS": { name: "Wide Lens" }, + + "MULTI_LENS": { name: "Multi Lens" }, + + "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, + "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + + "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + + "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + + "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + + "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + + "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, + "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + + "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + + "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, + "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + + "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + + "DNA_SPLICERS": { name: "DNA Splicers" }, + + "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + + "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + + "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, + "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, + "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, + "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + }, + TempBattleStatBoosterItem: { + "x_attack": "X Attack", + "x_defense": "X Defense", + "x_sp_atk": "X Sp. Atk", + "x_sp_def": "X Sp. Def", + "x_speed": "X Speed", + "x_accuracy": "X Accuracy", + "dire_hit": "Dire Hit", + }, + AttackTypeBoosterItem: { + "silk_scarf": "Silk Scarf", + "black_belt": "Black Belt", + "sharp_beak": "Sharp Beak", + "poison_barb": "Poison Barb", + "soft_sand": "Soft Sand", + "hard_stone": "Hard Stone", + "silver_powder": "Silver Powder", + "spell_tag": "Spell Tag", + "metal_coat": "Metal Coat", + "charcoal": "Charcoal", + "mystic_water": "Mystic Water", + "miracle_seed": "Miracle Seed", + "magnet": "Magnet", + "twisted_spoon": "Twisted Spoon", + "never-nelt_ice": "Never-Melt Ice", + "dragon_fang": "Dragon Fang", + "black_glasses": "Black Glasses", + "fairy_feather": "Fairy Feather", + }, + BaseStatBoosterItem: { + "hp_up": "HP Up", + "protein": "Protein", + "iron": "Iron", + "calcium": "Calcium", + "zinc": "Zinc", + "carbos": "Carbos", + }, + EvolutionItem: { + "NONE": "None", + + "LINKING_CORD": "Linking Cord", + "SUN_STONE": "Sun Stone", + "MOON_STONE": "Moon Stone", + "LEAF_STONE": "Leaf Stone", + "FIRE_STONE": "Fire Stone", + "WATER_STONE": "Water Stone", + "THUNDER_STONE": "Thunder Stone", + "ICE_STONE": "Ice Stone", + "DUSK_STONE": "Dusk Stone", + "DAWN_STONE": "Dawn Stone", + "SHINY_STONE": "Shiny Stone", + "CRACKED_POT": "Cracked Pot", + "SWEET_APPLE": "Sweet Apple", + "TART_APPLE": "Tart Apple", + "STRAWBERRY_SWEET": "Strawberry Sweet", + "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + + "CHIPPED_POT": "Chipped Pot", + "BLACK_AUGURITE": "Black Augurite", + "GALARICA_CUFF": "Galarica Cuff", + "GALARICA_WREATH": "Galarica Wreath", + "PEAT_BLOCK": "Peat Block", + "AUSPICIOUS_ARMOR": "Auspicious Armor", + "MALICIOUS_ARMOR": "Malicious Armor", + "MASTERPIECE_TEACUP": "Masterpiece Teacup", + "METAL_ALLOY": "Metal Alloy", + "SCROLL_OF_DARKNESS": "Scroll Of Darkness", + "SCROLL_OF_WATERS": "Scroll Of Waters", + "SYRUPY_APPLE": "Syrupy Apple", + }, + FormChangeItem: { + "NONE": "None", + + "ABOMASITE": "Abomasite", + "ABSOLITE": "Absolite", + "AERODACTYLITE": "Aerodactylite", + "AGGRONITE": "Aggronite", + "ALAKAZITE": "Alakazite", + "ALTARIANITE": "Altarianite", + "AMPHAROSITE": "Ampharosite", + "AUDINITE": "Audinite", + "BANETTITE": "Banettite", + "BEEDRILLITE": "Beedrillite", + "BLASTOISINITE": "Blastoisinite", + "BLAZIKENITE": "Blazikenite", + "CAMERUPTITE": "Cameruptite", + "CHARIZARDITE_X": "Charizardite X", + "CHARIZARDITE_Y": "Charizardite Y", + "DIANCITE": "Diancite", + "GALLADITE": "Galladite", + "GARCHOMPITE": "Garchompite", + "GARDEVOIRITE": "Gardevoirite", + "GENGARITE": "Gengarite", + "GLALITITE": "Glalitite", + "GYARADOSITE": "Gyaradosite", + "HERACRONITE": "Heracronite", + "HOUNDOOMINITE": "Houndoominite", + "KANGASKHANITE": "Kangaskhanite", + "LATIASITE": "Latiasite", + "LATIOSITE": "Latiosite", + "LOPUNNITE": "Lopunnite", + "LUCARIONITE": "Lucarionite", + "MANECTITE": "Manectite", + "MAWILITE": "Mawilite", + "MEDICHAMITE": "Medichamite", + "METAGROSSITE": "Metagrossite", + "MEWTWONITE_X": "Mewtwonite X", + "MEWTWONITE_Y": "Mewtwonite Y", + "PIDGEOTITE": "Pidgeotite", + "PINSIRITE": "Pinsirite", + "RAYQUAZITE": "Rayquazite", + "SABLENITE": "Sablenite", + "SALAMENCITE": "Salamencite", + "SCEPTILITE": "Sceptilite", + "SCIZORITE": "Scizorite", + "SHARPEDONITE": "Sharpedonite", + "SLOWBRONITE": "Slowbronite", + "STEELIXITE": "Steelixite", + "SWAMPERTITE": "Swampertite", + "TYRANITARITE": "Tyranitarite", + "VENUSAURITE": "Venusaurite", + + "BLUE_ORB": "Blue Orb", + "RED_ORB": "Red Orb", + "SHARP_METEORITE": "Sharp Meteorite", + "HARD_METEORITE": "Hard Meteorite", + "SMOOTH_METEORITE": "Smooth Meteorite", + "ADAMANT_CRYSTAL": "Adamant Crystal", + "LUSTROUS_ORB": "Lustrous Orb", + "GRISEOUS_CORE": "Griseous Core", + "REVEAL_GLASS": "Reveal Glass", + "GRACIDEA": "Gracidea", + "MAX_MUSHROOMS": "Max Mushrooms", + "DARK_STONE": "Dark Stone", + "LIGHT_STONE": "Light Stone", + "PRISON_BOTTLE": "Prison Bottle", + "N_LUNARIZER": "N Lunarizer", + "N_SOLARIZER": "N Solarizer", + "RUSTED_SWORD": "Rusted Sword", + "RUSTED_SHIELD": "Rusted Shield", + "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", + "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", + "WELLSPRING_MASK": "Wellspring Mask", + "HEARTHFLAME_MASK": "Hearthflame Mask", + "CORNERSTONE_MASK": "Cornerstone Mask", + "SHOCK_DRIVE": "Shock Drive", + "BURN_DRIVE": "Burn Drive", + "CHILL_DRIVE": "Chill Drive", + "DOUSE_DRIVE": "Douse Drive", + }, + TeraType: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index 9259aa5cbe1..0b3fd1505cc 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -6,6 +6,7 @@ import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; +import { modifierType } from "./modifier-type"; import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; @@ -32,5 +33,6 @@ export const enConfig = { tutorial: tutorial, nature: nature, growth: growth, - weather: weather + weather: weather, + modifierType: modifierType, } \ No newline at end of file diff --git a/src/locales/en/modifier-type.ts b/src/locales/en/modifier-type.ts new file mode 100644 index 00000000000..729644dc3b8 --- /dev/null +++ b/src/locales/en/modifier-type.ts @@ -0,0 +1,409 @@ +import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; + +export const modifierType: ModifierTypeTranslationEntries = { + ModifierType: { + "AddPokeballModifierType": { + name: "{{modifierCount}}x {{pokeballName}}", + description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + }, + "AddVoucherModifierType": { + name: "{{modifierCount}}x {{voucherTypeName}}", + description: "Receive {{voucherTypeName}} x{{modifierCount}}", + }, + "PokemonHeldItemModifierType": { + extra: { + "inoperable": "{{pokemonName}} can't take\nthis item!", + "tooMany": "{{pokemonName}} has too many\nof this item!", + } + }, + "PokemonHpRestoreModifierType": { + description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + extra: { + "fully": "Fully restores HP for one Pokémon", + "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + } + }, + "PokemonReviveModifierType": { + description: "Revives one Pokémon and restores {{restorePercent}}% HP", + }, + "PokemonStatusHealModifierType": { + description: "Heals any status ailment for one Pokémon", + }, + "PokemonPpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for one Pokémon move", + extra: { + "fully": "Restores all PP for one Pokémon move", + } + }, + "PokemonAllMovePpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + extra: { + "fully": "Restores all PP for all of one Pokémon's moves", + } + }, + "PokemonPpUpModifierType": { + description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + }, + "PokemonNatureChangeModifierType": { + name: "{{natureName}} Mint", + description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + }, + "DoubleBattleChanceBoosterModifierType": { + description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + }, + "TempBattleStatBoosterModifierType": { + description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + }, + "AttackTypeBoosterModifierType": { + description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + }, + "PokemonLevelIncrementModifierType": { + description: "Increases a Pokémon's level by 1", + }, + "AllPokemonLevelIncrementModifierType": { + description: "Increases all party members' level by 1", + }, + "PokemonBaseStatBoosterModifierType": { + description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + }, + "AllPokemonFullHpRestoreModifierType": { + description: "Restores 100% HP for all Pokémon", + }, + "AllPokemonFullReviveModifierType": { + description: "Revives all fainted Pokémon, fully restoring HP", + }, + "MoneyRewardModifierType": { + description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + extra: { + "small": "small", + "moderate": "moderate", + "large": "large", + }, + }, + "ExpBoosterModifierType": { + description: "Increases gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonExpBoosterModifierType": { + description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonFriendshipBoosterModifierType": { + description: "Increases friendship gain per victory by 50%", + }, + "PokemonMoveAccuracyBoosterModifierType": { + description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + }, + "PokemonMultiHitModifierType": { + description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + }, + "TmModifierType": { + name: "TM{{moveId}} - {{moveName}}", + description: "Teach {{moveName}} to a Pokémon", + }, + "EvolutionItemModifierType": { + description: "Causes certain Pokémon to evolve", + }, + "FormChangeItemModifierType": { + description: "Causes certain Pokémon to change form", + }, + "FusePokemonModifierType": { + description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + }, + "TerastallizeModifierType": { + name: "{{teraType}} Tera Shard", + description: "{{teraType}} Terastallizes the holder for up to 10 battles", + }, + "ContactHeldItemTransferChanceModifierType": { + description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + }, + "TurnHeldItemTransferModifierType": { + description: "Every turn, the holder acquires one held item from the foe", + }, + "EnemyAttackStatusEffectChanceModifierType": { + description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + }, + "EnemyEndureChanceModifierType": { + description: "Adds a {{chancePercent}}% chance of enduring a hit", + }, + + "RARE_CANDY": { name: "Rare Candy" }, + "RARER_CANDY": { name: "Rarer Candy" }, + + "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, + "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, + "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + + "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + + "POTION": { name: "Potion" }, + "SUPER_POTION": { name: "Super Potion" }, + "HYPER_POTION": { name: "Hyper Potion" }, + "MAX_POTION": { name: "Max Potion" }, + "FULL_RESTORE": { name: "Full Restore" }, + + "REVIVE": { name: "Revive" }, + "MAX_REVIVE": { name: "Max Revive" }, + + "FULL_HEAL": { name: "Full Heal" }, + + "SACRED_ASH": { name: "Sacred Ash" }, + + "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + + "ETHER": { name: "Ether" }, + "MAX_ETHER": { name: "Max Ether" }, + + "ELIXIR": { name: "Elixir" }, + "MAX_ELIXIR": { name: "Max Elixir" }, + + "PP_UP": { name: "PP Up" }, + "PP_MAX": { name: "PP Max" }, + + "LURE": { name: "Lure" }, + "SUPER_LURE": { name: "Super Lure" }, + "MAX_LURE": { name: "Max Lure" }, + + "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + + "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, + "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + + "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + + "EXP_CHARM": { name: "EXP. Charm" }, + "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, + "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + + "LUCKY_EGG": { name: "Lucky Egg" }, + "GOLDEN_EGG": { name: "Golden Egg" }, + + "SOOTHE_BELL": { name: "Soothe Bell" }, + + "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + + "NUGGET": { name: "Nugget" }, + "BIG_NUGGET": { name: "Big Nugget" }, + "RELIC_GOLD": { name: "Relic Gold" }, + + "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, + "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, + "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + + "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + + "GRIP_CLAW": { name: "Grip Claw" }, + "WIDE_LENS": { name: "Wide Lens" }, + + "MULTI_LENS": { name: "Multi Lens" }, + + "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, + "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + + "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + + "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + + "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + + "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + + "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, + "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + + "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + + "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, + "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + + "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + + "DNA_SPLICERS": { name: "DNA Splicers" }, + + "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + + "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + + "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, + "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, + "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, + "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + }, + TempBattleStatBoosterItem: { + "x_attack": "X Attack", + "x_defense": "X Defense", + "x_sp_atk": "X Sp. Atk", + "x_sp_def": "X Sp. Def", + "x_speed": "X Speed", + "x_accuracy": "X Accuracy", + "dire_hit": "Dire Hit", + }, + AttackTypeBoosterItem: { + "silk_scarf": "Silk Scarf", + "black_belt": "Black Belt", + "sharp_beak": "Sharp Beak", + "poison_barb": "Poison Barb", + "soft_sand": "Soft Sand", + "hard_stone": "Hard Stone", + "silver_powder": "Silver Powder", + "spell_tag": "Spell Tag", + "metal_coat": "Metal Coat", + "charcoal": "Charcoal", + "mystic_water": "Mystic Water", + "miracle_seed": "Miracle Seed", + "magnet": "Magnet", + "twisted_spoon": "Twisted Spoon", + "never-nelt_ice": "Never-Melt Ice", + "dragon_fang": "Dragon Fang", + "black_glasses": "Black Glasses", + "fairy_feather": "Fairy Feather", + }, + BaseStatBoosterItem: { + "hp_up": "HP Up", + "protein": "Protein", + "iron": "Iron", + "calcium": "Calcium", + "zinc": "Zinc", + "carbos": "Carbos", + }, + EvolutionItem: { + "NONE": "None", + + "LINKING_CORD": "Linking Cord", + "SUN_STONE": "Sun Stone", + "MOON_STONE": "Moon Stone", + "LEAF_STONE": "Leaf Stone", + "FIRE_STONE": "Fire Stone", + "WATER_STONE": "Water Stone", + "THUNDER_STONE": "Thunder Stone", + "ICE_STONE": "Ice Stone", + "DUSK_STONE": "Dusk Stone", + "DAWN_STONE": "Dawn Stone", + "SHINY_STONE": "Shiny Stone", + "CRACKED_POT": "Cracked Pot", + "SWEET_APPLE": "Sweet Apple", + "TART_APPLE": "Tart Apple", + "STRAWBERRY_SWEET": "Strawberry Sweet", + "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + + "CHIPPED_POT": "Chipped Pot", + "BLACK_AUGURITE": "Black Augurite", + "GALARICA_CUFF": "Galarica Cuff", + "GALARICA_WREATH": "Galarica Wreath", + "PEAT_BLOCK": "Peat Block", + "AUSPICIOUS_ARMOR": "Auspicious Armor", + "MALICIOUS_ARMOR": "Malicious Armor", + "MASTERPIECE_TEACUP": "Masterpiece Teacup", + "METAL_ALLOY": "Metal Alloy", + "SCROLL_OF_DARKNESS": "Scroll Of Darkness", + "SCROLL_OF_WATERS": "Scroll Of Waters", + "SYRUPY_APPLE": "Syrupy Apple", + }, + FormChangeItem: { + "NONE": "None", + + "ABOMASITE": "Abomasite", + "ABSOLITE": "Absolite", + "AERODACTYLITE": "Aerodactylite", + "AGGRONITE": "Aggronite", + "ALAKAZITE": "Alakazite", + "ALTARIANITE": "Altarianite", + "AMPHAROSITE": "Ampharosite", + "AUDINITE": "Audinite", + "BANETTITE": "Banettite", + "BEEDRILLITE": "Beedrillite", + "BLASTOISINITE": "Blastoisinite", + "BLAZIKENITE": "Blazikenite", + "CAMERUPTITE": "Cameruptite", + "CHARIZARDITE_X": "Charizardite X", + "CHARIZARDITE_Y": "Charizardite Y", + "DIANCITE": "Diancite", + "GALLADITE": "Galladite", + "GARCHOMPITE": "Garchompite", + "GARDEVOIRITE": "Gardevoirite", + "GENGARITE": "Gengarite", + "GLALITITE": "Glalitite", + "GYARADOSITE": "Gyaradosite", + "HERACRONITE": "Heracronite", + "HOUNDOOMINITE": "Houndoominite", + "KANGASKHANITE": "Kangaskhanite", + "LATIASITE": "Latiasite", + "LATIOSITE": "Latiosite", + "LOPUNNITE": "Lopunnite", + "LUCARIONITE": "Lucarionite", + "MANECTITE": "Manectite", + "MAWILITE": "Mawilite", + "MEDICHAMITE": "Medichamite", + "METAGROSSITE": "Metagrossite", + "MEWTWONITE_X": "Mewtwonite X", + "MEWTWONITE_Y": "Mewtwonite Y", + "PIDGEOTITE": "Pidgeotite", + "PINSIRITE": "Pinsirite", + "RAYQUAZITE": "Rayquazite", + "SABLENITE": "Sablenite", + "SALAMENCITE": "Salamencite", + "SCEPTILITE": "Sceptilite", + "SCIZORITE": "Scizorite", + "SHARPEDONITE": "Sharpedonite", + "SLOWBRONITE": "Slowbronite", + "STEELIXITE": "Steelixite", + "SWAMPERTITE": "Swampertite", + "TYRANITARITE": "Tyranitarite", + "VENUSAURITE": "Venusaurite", + + "BLUE_ORB": "Blue Orb", + "RED_ORB": "Red Orb", + "SHARP_METEORITE": "Sharp Meteorite", + "HARD_METEORITE": "Hard Meteorite", + "SMOOTH_METEORITE": "Smooth Meteorite", + "ADAMANT_CRYSTAL": "Adamant Crystal", + "LUSTROUS_ORB": "Lustrous Orb", + "GRISEOUS_CORE": "Griseous Core", + "REVEAL_GLASS": "Reveal Glass", + "GRACIDEA": "Gracidea", + "MAX_MUSHROOMS": "Max Mushrooms", + "DARK_STONE": "Dark Stone", + "LIGHT_STONE": "Light Stone", + "PRISON_BOTTLE": "Prison Bottle", + "N_LUNARIZER": "N Lunarizer", + "N_SOLARIZER": "N Solarizer", + "RUSTED_SWORD": "Rusted Sword", + "RUSTED_SHIELD": "Rusted Shield", + "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", + "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", + "WELLSPRING_MASK": "Wellspring Mask", + "HEARTHFLAME_MASK": "Hearthflame Mask", + "CORNERSTONE_MASK": "Cornerstone Mask", + "SHOCK_DRIVE": "Shock Drive", + "BURN_DRIVE": "Burn Drive", + "CHILL_DRIVE": "Chill Drive", + "DOUSE_DRIVE": "Douse Drive", + }, + TeraType: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index f6d6f2715d9..b38ae994c38 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -6,6 +6,7 @@ import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; +import { modifierType } from "./modifier-type"; import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; @@ -32,5 +33,6 @@ export const esConfig = { tutorial: tutorial, nature: nature, growth: growth, - weather: weather + weather: weather, + modifierType: modifierType, } \ No newline at end of file diff --git a/src/locales/es/modifier-type.ts b/src/locales/es/modifier-type.ts new file mode 100644 index 00000000000..729644dc3b8 --- /dev/null +++ b/src/locales/es/modifier-type.ts @@ -0,0 +1,409 @@ +import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; + +export const modifierType: ModifierTypeTranslationEntries = { + ModifierType: { + "AddPokeballModifierType": { + name: "{{modifierCount}}x {{pokeballName}}", + description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + }, + "AddVoucherModifierType": { + name: "{{modifierCount}}x {{voucherTypeName}}", + description: "Receive {{voucherTypeName}} x{{modifierCount}}", + }, + "PokemonHeldItemModifierType": { + extra: { + "inoperable": "{{pokemonName}} can't take\nthis item!", + "tooMany": "{{pokemonName}} has too many\nof this item!", + } + }, + "PokemonHpRestoreModifierType": { + description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + extra: { + "fully": "Fully restores HP for one Pokémon", + "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + } + }, + "PokemonReviveModifierType": { + description: "Revives one Pokémon and restores {{restorePercent}}% HP", + }, + "PokemonStatusHealModifierType": { + description: "Heals any status ailment for one Pokémon", + }, + "PokemonPpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for one Pokémon move", + extra: { + "fully": "Restores all PP for one Pokémon move", + } + }, + "PokemonAllMovePpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + extra: { + "fully": "Restores all PP for all of one Pokémon's moves", + } + }, + "PokemonPpUpModifierType": { + description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + }, + "PokemonNatureChangeModifierType": { + name: "{{natureName}} Mint", + description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + }, + "DoubleBattleChanceBoosterModifierType": { + description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + }, + "TempBattleStatBoosterModifierType": { + description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + }, + "AttackTypeBoosterModifierType": { + description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + }, + "PokemonLevelIncrementModifierType": { + description: "Increases a Pokémon's level by 1", + }, + "AllPokemonLevelIncrementModifierType": { + description: "Increases all party members' level by 1", + }, + "PokemonBaseStatBoosterModifierType": { + description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + }, + "AllPokemonFullHpRestoreModifierType": { + description: "Restores 100% HP for all Pokémon", + }, + "AllPokemonFullReviveModifierType": { + description: "Revives all fainted Pokémon, fully restoring HP", + }, + "MoneyRewardModifierType": { + description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + extra: { + "small": "small", + "moderate": "moderate", + "large": "large", + }, + }, + "ExpBoosterModifierType": { + description: "Increases gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonExpBoosterModifierType": { + description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonFriendshipBoosterModifierType": { + description: "Increases friendship gain per victory by 50%", + }, + "PokemonMoveAccuracyBoosterModifierType": { + description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + }, + "PokemonMultiHitModifierType": { + description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + }, + "TmModifierType": { + name: "TM{{moveId}} - {{moveName}}", + description: "Teach {{moveName}} to a Pokémon", + }, + "EvolutionItemModifierType": { + description: "Causes certain Pokémon to evolve", + }, + "FormChangeItemModifierType": { + description: "Causes certain Pokémon to change form", + }, + "FusePokemonModifierType": { + description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + }, + "TerastallizeModifierType": { + name: "{{teraType}} Tera Shard", + description: "{{teraType}} Terastallizes the holder for up to 10 battles", + }, + "ContactHeldItemTransferChanceModifierType": { + description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + }, + "TurnHeldItemTransferModifierType": { + description: "Every turn, the holder acquires one held item from the foe", + }, + "EnemyAttackStatusEffectChanceModifierType": { + description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + }, + "EnemyEndureChanceModifierType": { + description: "Adds a {{chancePercent}}% chance of enduring a hit", + }, + + "RARE_CANDY": { name: "Rare Candy" }, + "RARER_CANDY": { name: "Rarer Candy" }, + + "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, + "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, + "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + + "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + + "POTION": { name: "Potion" }, + "SUPER_POTION": { name: "Super Potion" }, + "HYPER_POTION": { name: "Hyper Potion" }, + "MAX_POTION": { name: "Max Potion" }, + "FULL_RESTORE": { name: "Full Restore" }, + + "REVIVE": { name: "Revive" }, + "MAX_REVIVE": { name: "Max Revive" }, + + "FULL_HEAL": { name: "Full Heal" }, + + "SACRED_ASH": { name: "Sacred Ash" }, + + "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + + "ETHER": { name: "Ether" }, + "MAX_ETHER": { name: "Max Ether" }, + + "ELIXIR": { name: "Elixir" }, + "MAX_ELIXIR": { name: "Max Elixir" }, + + "PP_UP": { name: "PP Up" }, + "PP_MAX": { name: "PP Max" }, + + "LURE": { name: "Lure" }, + "SUPER_LURE": { name: "Super Lure" }, + "MAX_LURE": { name: "Max Lure" }, + + "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + + "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, + "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + + "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + + "EXP_CHARM": { name: "EXP. Charm" }, + "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, + "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + + "LUCKY_EGG": { name: "Lucky Egg" }, + "GOLDEN_EGG": { name: "Golden Egg" }, + + "SOOTHE_BELL": { name: "Soothe Bell" }, + + "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + + "NUGGET": { name: "Nugget" }, + "BIG_NUGGET": { name: "Big Nugget" }, + "RELIC_GOLD": { name: "Relic Gold" }, + + "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, + "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, + "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + + "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + + "GRIP_CLAW": { name: "Grip Claw" }, + "WIDE_LENS": { name: "Wide Lens" }, + + "MULTI_LENS": { name: "Multi Lens" }, + + "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, + "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + + "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + + "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + + "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + + "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + + "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, + "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + + "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + + "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, + "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + + "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + + "DNA_SPLICERS": { name: "DNA Splicers" }, + + "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + + "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + + "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, + "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, + "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, + "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + }, + TempBattleStatBoosterItem: { + "x_attack": "X Attack", + "x_defense": "X Defense", + "x_sp_atk": "X Sp. Atk", + "x_sp_def": "X Sp. Def", + "x_speed": "X Speed", + "x_accuracy": "X Accuracy", + "dire_hit": "Dire Hit", + }, + AttackTypeBoosterItem: { + "silk_scarf": "Silk Scarf", + "black_belt": "Black Belt", + "sharp_beak": "Sharp Beak", + "poison_barb": "Poison Barb", + "soft_sand": "Soft Sand", + "hard_stone": "Hard Stone", + "silver_powder": "Silver Powder", + "spell_tag": "Spell Tag", + "metal_coat": "Metal Coat", + "charcoal": "Charcoal", + "mystic_water": "Mystic Water", + "miracle_seed": "Miracle Seed", + "magnet": "Magnet", + "twisted_spoon": "Twisted Spoon", + "never-nelt_ice": "Never-Melt Ice", + "dragon_fang": "Dragon Fang", + "black_glasses": "Black Glasses", + "fairy_feather": "Fairy Feather", + }, + BaseStatBoosterItem: { + "hp_up": "HP Up", + "protein": "Protein", + "iron": "Iron", + "calcium": "Calcium", + "zinc": "Zinc", + "carbos": "Carbos", + }, + EvolutionItem: { + "NONE": "None", + + "LINKING_CORD": "Linking Cord", + "SUN_STONE": "Sun Stone", + "MOON_STONE": "Moon Stone", + "LEAF_STONE": "Leaf Stone", + "FIRE_STONE": "Fire Stone", + "WATER_STONE": "Water Stone", + "THUNDER_STONE": "Thunder Stone", + "ICE_STONE": "Ice Stone", + "DUSK_STONE": "Dusk Stone", + "DAWN_STONE": "Dawn Stone", + "SHINY_STONE": "Shiny Stone", + "CRACKED_POT": "Cracked Pot", + "SWEET_APPLE": "Sweet Apple", + "TART_APPLE": "Tart Apple", + "STRAWBERRY_SWEET": "Strawberry Sweet", + "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + + "CHIPPED_POT": "Chipped Pot", + "BLACK_AUGURITE": "Black Augurite", + "GALARICA_CUFF": "Galarica Cuff", + "GALARICA_WREATH": "Galarica Wreath", + "PEAT_BLOCK": "Peat Block", + "AUSPICIOUS_ARMOR": "Auspicious Armor", + "MALICIOUS_ARMOR": "Malicious Armor", + "MASTERPIECE_TEACUP": "Masterpiece Teacup", + "METAL_ALLOY": "Metal Alloy", + "SCROLL_OF_DARKNESS": "Scroll Of Darkness", + "SCROLL_OF_WATERS": "Scroll Of Waters", + "SYRUPY_APPLE": "Syrupy Apple", + }, + FormChangeItem: { + "NONE": "None", + + "ABOMASITE": "Abomasite", + "ABSOLITE": "Absolite", + "AERODACTYLITE": "Aerodactylite", + "AGGRONITE": "Aggronite", + "ALAKAZITE": "Alakazite", + "ALTARIANITE": "Altarianite", + "AMPHAROSITE": "Ampharosite", + "AUDINITE": "Audinite", + "BANETTITE": "Banettite", + "BEEDRILLITE": "Beedrillite", + "BLASTOISINITE": "Blastoisinite", + "BLAZIKENITE": "Blazikenite", + "CAMERUPTITE": "Cameruptite", + "CHARIZARDITE_X": "Charizardite X", + "CHARIZARDITE_Y": "Charizardite Y", + "DIANCITE": "Diancite", + "GALLADITE": "Galladite", + "GARCHOMPITE": "Garchompite", + "GARDEVOIRITE": "Gardevoirite", + "GENGARITE": "Gengarite", + "GLALITITE": "Glalitite", + "GYARADOSITE": "Gyaradosite", + "HERACRONITE": "Heracronite", + "HOUNDOOMINITE": "Houndoominite", + "KANGASKHANITE": "Kangaskhanite", + "LATIASITE": "Latiasite", + "LATIOSITE": "Latiosite", + "LOPUNNITE": "Lopunnite", + "LUCARIONITE": "Lucarionite", + "MANECTITE": "Manectite", + "MAWILITE": "Mawilite", + "MEDICHAMITE": "Medichamite", + "METAGROSSITE": "Metagrossite", + "MEWTWONITE_X": "Mewtwonite X", + "MEWTWONITE_Y": "Mewtwonite Y", + "PIDGEOTITE": "Pidgeotite", + "PINSIRITE": "Pinsirite", + "RAYQUAZITE": "Rayquazite", + "SABLENITE": "Sablenite", + "SALAMENCITE": "Salamencite", + "SCEPTILITE": "Sceptilite", + "SCIZORITE": "Scizorite", + "SHARPEDONITE": "Sharpedonite", + "SLOWBRONITE": "Slowbronite", + "STEELIXITE": "Steelixite", + "SWAMPERTITE": "Swampertite", + "TYRANITARITE": "Tyranitarite", + "VENUSAURITE": "Venusaurite", + + "BLUE_ORB": "Blue Orb", + "RED_ORB": "Red Orb", + "SHARP_METEORITE": "Sharp Meteorite", + "HARD_METEORITE": "Hard Meteorite", + "SMOOTH_METEORITE": "Smooth Meteorite", + "ADAMANT_CRYSTAL": "Adamant Crystal", + "LUSTROUS_ORB": "Lustrous Orb", + "GRISEOUS_CORE": "Griseous Core", + "REVEAL_GLASS": "Reveal Glass", + "GRACIDEA": "Gracidea", + "MAX_MUSHROOMS": "Max Mushrooms", + "DARK_STONE": "Dark Stone", + "LIGHT_STONE": "Light Stone", + "PRISON_BOTTLE": "Prison Bottle", + "N_LUNARIZER": "N Lunarizer", + "N_SOLARIZER": "N Solarizer", + "RUSTED_SWORD": "Rusted Sword", + "RUSTED_SHIELD": "Rusted Shield", + "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", + "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", + "WELLSPRING_MASK": "Wellspring Mask", + "HEARTHFLAME_MASK": "Hearthflame Mask", + "CORNERSTONE_MASK": "Cornerstone Mask", + "SHOCK_DRIVE": "Shock Drive", + "BURN_DRIVE": "Burn Drive", + "CHILL_DRIVE": "Chill Drive", + "DOUSE_DRIVE": "Douse Drive", + }, + TeraType: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 4179c758ff9..5ff44b46d31 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -6,6 +6,7 @@ import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; +import { modifierType } from "./modifier-type"; import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; @@ -32,5 +33,6 @@ export const frConfig = { tutorial: tutorial, nature: nature, growth: growth, - weather: weather + weather: weather, + modifierType: modifierType, } \ No newline at end of file diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts new file mode 100644 index 00000000000..729644dc3b8 --- /dev/null +++ b/src/locales/fr/modifier-type.ts @@ -0,0 +1,409 @@ +import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; + +export const modifierType: ModifierTypeTranslationEntries = { + ModifierType: { + "AddPokeballModifierType": { + name: "{{modifierCount}}x {{pokeballName}}", + description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + }, + "AddVoucherModifierType": { + name: "{{modifierCount}}x {{voucherTypeName}}", + description: "Receive {{voucherTypeName}} x{{modifierCount}}", + }, + "PokemonHeldItemModifierType": { + extra: { + "inoperable": "{{pokemonName}} can't take\nthis item!", + "tooMany": "{{pokemonName}} has too many\nof this item!", + } + }, + "PokemonHpRestoreModifierType": { + description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + extra: { + "fully": "Fully restores HP for one Pokémon", + "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + } + }, + "PokemonReviveModifierType": { + description: "Revives one Pokémon and restores {{restorePercent}}% HP", + }, + "PokemonStatusHealModifierType": { + description: "Heals any status ailment for one Pokémon", + }, + "PokemonPpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for one Pokémon move", + extra: { + "fully": "Restores all PP for one Pokémon move", + } + }, + "PokemonAllMovePpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + extra: { + "fully": "Restores all PP for all of one Pokémon's moves", + } + }, + "PokemonPpUpModifierType": { + description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + }, + "PokemonNatureChangeModifierType": { + name: "{{natureName}} Mint", + description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + }, + "DoubleBattleChanceBoosterModifierType": { + description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + }, + "TempBattleStatBoosterModifierType": { + description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + }, + "AttackTypeBoosterModifierType": { + description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + }, + "PokemonLevelIncrementModifierType": { + description: "Increases a Pokémon's level by 1", + }, + "AllPokemonLevelIncrementModifierType": { + description: "Increases all party members' level by 1", + }, + "PokemonBaseStatBoosterModifierType": { + description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + }, + "AllPokemonFullHpRestoreModifierType": { + description: "Restores 100% HP for all Pokémon", + }, + "AllPokemonFullReviveModifierType": { + description: "Revives all fainted Pokémon, fully restoring HP", + }, + "MoneyRewardModifierType": { + description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + extra: { + "small": "small", + "moderate": "moderate", + "large": "large", + }, + }, + "ExpBoosterModifierType": { + description: "Increases gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonExpBoosterModifierType": { + description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonFriendshipBoosterModifierType": { + description: "Increases friendship gain per victory by 50%", + }, + "PokemonMoveAccuracyBoosterModifierType": { + description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + }, + "PokemonMultiHitModifierType": { + description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + }, + "TmModifierType": { + name: "TM{{moveId}} - {{moveName}}", + description: "Teach {{moveName}} to a Pokémon", + }, + "EvolutionItemModifierType": { + description: "Causes certain Pokémon to evolve", + }, + "FormChangeItemModifierType": { + description: "Causes certain Pokémon to change form", + }, + "FusePokemonModifierType": { + description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + }, + "TerastallizeModifierType": { + name: "{{teraType}} Tera Shard", + description: "{{teraType}} Terastallizes the holder for up to 10 battles", + }, + "ContactHeldItemTransferChanceModifierType": { + description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + }, + "TurnHeldItemTransferModifierType": { + description: "Every turn, the holder acquires one held item from the foe", + }, + "EnemyAttackStatusEffectChanceModifierType": { + description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + }, + "EnemyEndureChanceModifierType": { + description: "Adds a {{chancePercent}}% chance of enduring a hit", + }, + + "RARE_CANDY": { name: "Rare Candy" }, + "RARER_CANDY": { name: "Rarer Candy" }, + + "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, + "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, + "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + + "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + + "POTION": { name: "Potion" }, + "SUPER_POTION": { name: "Super Potion" }, + "HYPER_POTION": { name: "Hyper Potion" }, + "MAX_POTION": { name: "Max Potion" }, + "FULL_RESTORE": { name: "Full Restore" }, + + "REVIVE": { name: "Revive" }, + "MAX_REVIVE": { name: "Max Revive" }, + + "FULL_HEAL": { name: "Full Heal" }, + + "SACRED_ASH": { name: "Sacred Ash" }, + + "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + + "ETHER": { name: "Ether" }, + "MAX_ETHER": { name: "Max Ether" }, + + "ELIXIR": { name: "Elixir" }, + "MAX_ELIXIR": { name: "Max Elixir" }, + + "PP_UP": { name: "PP Up" }, + "PP_MAX": { name: "PP Max" }, + + "LURE": { name: "Lure" }, + "SUPER_LURE": { name: "Super Lure" }, + "MAX_LURE": { name: "Max Lure" }, + + "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + + "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, + "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + + "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + + "EXP_CHARM": { name: "EXP. Charm" }, + "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, + "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + + "LUCKY_EGG": { name: "Lucky Egg" }, + "GOLDEN_EGG": { name: "Golden Egg" }, + + "SOOTHE_BELL": { name: "Soothe Bell" }, + + "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + + "NUGGET": { name: "Nugget" }, + "BIG_NUGGET": { name: "Big Nugget" }, + "RELIC_GOLD": { name: "Relic Gold" }, + + "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, + "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, + "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + + "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + + "GRIP_CLAW": { name: "Grip Claw" }, + "WIDE_LENS": { name: "Wide Lens" }, + + "MULTI_LENS": { name: "Multi Lens" }, + + "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, + "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + + "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + + "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + + "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + + "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + + "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, + "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + + "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + + "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, + "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + + "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + + "DNA_SPLICERS": { name: "DNA Splicers" }, + + "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + + "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + + "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, + "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, + "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, + "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + }, + TempBattleStatBoosterItem: { + "x_attack": "X Attack", + "x_defense": "X Defense", + "x_sp_atk": "X Sp. Atk", + "x_sp_def": "X Sp. Def", + "x_speed": "X Speed", + "x_accuracy": "X Accuracy", + "dire_hit": "Dire Hit", + }, + AttackTypeBoosterItem: { + "silk_scarf": "Silk Scarf", + "black_belt": "Black Belt", + "sharp_beak": "Sharp Beak", + "poison_barb": "Poison Barb", + "soft_sand": "Soft Sand", + "hard_stone": "Hard Stone", + "silver_powder": "Silver Powder", + "spell_tag": "Spell Tag", + "metal_coat": "Metal Coat", + "charcoal": "Charcoal", + "mystic_water": "Mystic Water", + "miracle_seed": "Miracle Seed", + "magnet": "Magnet", + "twisted_spoon": "Twisted Spoon", + "never-nelt_ice": "Never-Melt Ice", + "dragon_fang": "Dragon Fang", + "black_glasses": "Black Glasses", + "fairy_feather": "Fairy Feather", + }, + BaseStatBoosterItem: { + "hp_up": "HP Up", + "protein": "Protein", + "iron": "Iron", + "calcium": "Calcium", + "zinc": "Zinc", + "carbos": "Carbos", + }, + EvolutionItem: { + "NONE": "None", + + "LINKING_CORD": "Linking Cord", + "SUN_STONE": "Sun Stone", + "MOON_STONE": "Moon Stone", + "LEAF_STONE": "Leaf Stone", + "FIRE_STONE": "Fire Stone", + "WATER_STONE": "Water Stone", + "THUNDER_STONE": "Thunder Stone", + "ICE_STONE": "Ice Stone", + "DUSK_STONE": "Dusk Stone", + "DAWN_STONE": "Dawn Stone", + "SHINY_STONE": "Shiny Stone", + "CRACKED_POT": "Cracked Pot", + "SWEET_APPLE": "Sweet Apple", + "TART_APPLE": "Tart Apple", + "STRAWBERRY_SWEET": "Strawberry Sweet", + "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + + "CHIPPED_POT": "Chipped Pot", + "BLACK_AUGURITE": "Black Augurite", + "GALARICA_CUFF": "Galarica Cuff", + "GALARICA_WREATH": "Galarica Wreath", + "PEAT_BLOCK": "Peat Block", + "AUSPICIOUS_ARMOR": "Auspicious Armor", + "MALICIOUS_ARMOR": "Malicious Armor", + "MASTERPIECE_TEACUP": "Masterpiece Teacup", + "METAL_ALLOY": "Metal Alloy", + "SCROLL_OF_DARKNESS": "Scroll Of Darkness", + "SCROLL_OF_WATERS": "Scroll Of Waters", + "SYRUPY_APPLE": "Syrupy Apple", + }, + FormChangeItem: { + "NONE": "None", + + "ABOMASITE": "Abomasite", + "ABSOLITE": "Absolite", + "AERODACTYLITE": "Aerodactylite", + "AGGRONITE": "Aggronite", + "ALAKAZITE": "Alakazite", + "ALTARIANITE": "Altarianite", + "AMPHAROSITE": "Ampharosite", + "AUDINITE": "Audinite", + "BANETTITE": "Banettite", + "BEEDRILLITE": "Beedrillite", + "BLASTOISINITE": "Blastoisinite", + "BLAZIKENITE": "Blazikenite", + "CAMERUPTITE": "Cameruptite", + "CHARIZARDITE_X": "Charizardite X", + "CHARIZARDITE_Y": "Charizardite Y", + "DIANCITE": "Diancite", + "GALLADITE": "Galladite", + "GARCHOMPITE": "Garchompite", + "GARDEVOIRITE": "Gardevoirite", + "GENGARITE": "Gengarite", + "GLALITITE": "Glalitite", + "GYARADOSITE": "Gyaradosite", + "HERACRONITE": "Heracronite", + "HOUNDOOMINITE": "Houndoominite", + "KANGASKHANITE": "Kangaskhanite", + "LATIASITE": "Latiasite", + "LATIOSITE": "Latiosite", + "LOPUNNITE": "Lopunnite", + "LUCARIONITE": "Lucarionite", + "MANECTITE": "Manectite", + "MAWILITE": "Mawilite", + "MEDICHAMITE": "Medichamite", + "METAGROSSITE": "Metagrossite", + "MEWTWONITE_X": "Mewtwonite X", + "MEWTWONITE_Y": "Mewtwonite Y", + "PIDGEOTITE": "Pidgeotite", + "PINSIRITE": "Pinsirite", + "RAYQUAZITE": "Rayquazite", + "SABLENITE": "Sablenite", + "SALAMENCITE": "Salamencite", + "SCEPTILITE": "Sceptilite", + "SCIZORITE": "Scizorite", + "SHARPEDONITE": "Sharpedonite", + "SLOWBRONITE": "Slowbronite", + "STEELIXITE": "Steelixite", + "SWAMPERTITE": "Swampertite", + "TYRANITARITE": "Tyranitarite", + "VENUSAURITE": "Venusaurite", + + "BLUE_ORB": "Blue Orb", + "RED_ORB": "Red Orb", + "SHARP_METEORITE": "Sharp Meteorite", + "HARD_METEORITE": "Hard Meteorite", + "SMOOTH_METEORITE": "Smooth Meteorite", + "ADAMANT_CRYSTAL": "Adamant Crystal", + "LUSTROUS_ORB": "Lustrous Orb", + "GRISEOUS_CORE": "Griseous Core", + "REVEAL_GLASS": "Reveal Glass", + "GRACIDEA": "Gracidea", + "MAX_MUSHROOMS": "Max Mushrooms", + "DARK_STONE": "Dark Stone", + "LIGHT_STONE": "Light Stone", + "PRISON_BOTTLE": "Prison Bottle", + "N_LUNARIZER": "N Lunarizer", + "N_SOLARIZER": "N Solarizer", + "RUSTED_SWORD": "Rusted Sword", + "RUSTED_SHIELD": "Rusted Shield", + "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", + "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", + "WELLSPRING_MASK": "Wellspring Mask", + "HEARTHFLAME_MASK": "Hearthflame Mask", + "CORNERSTONE_MASK": "Cornerstone Mask", + "SHOCK_DRIVE": "Shock Drive", + "BURN_DRIVE": "Burn Drive", + "CHILL_DRIVE": "Chill Drive", + "DOUSE_DRIVE": "Douse Drive", + }, + TeraType: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 85e2e629184..d81143bf577 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -6,6 +6,7 @@ import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; +import { modifierType } from "./modifier-type"; import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; @@ -32,5 +33,6 @@ export const itConfig = { tutorial: tutorial, nature: nature, growth: growth, - weather: weather + weather: weather, + modifierType: modifierType, } \ No newline at end of file diff --git a/src/locales/it/modifier-type.ts b/src/locales/it/modifier-type.ts new file mode 100644 index 00000000000..729644dc3b8 --- /dev/null +++ b/src/locales/it/modifier-type.ts @@ -0,0 +1,409 @@ +import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; + +export const modifierType: ModifierTypeTranslationEntries = { + ModifierType: { + "AddPokeballModifierType": { + name: "{{modifierCount}}x {{pokeballName}}", + description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + }, + "AddVoucherModifierType": { + name: "{{modifierCount}}x {{voucherTypeName}}", + description: "Receive {{voucherTypeName}} x{{modifierCount}}", + }, + "PokemonHeldItemModifierType": { + extra: { + "inoperable": "{{pokemonName}} can't take\nthis item!", + "tooMany": "{{pokemonName}} has too many\nof this item!", + } + }, + "PokemonHpRestoreModifierType": { + description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + extra: { + "fully": "Fully restores HP for one Pokémon", + "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + } + }, + "PokemonReviveModifierType": { + description: "Revives one Pokémon and restores {{restorePercent}}% HP", + }, + "PokemonStatusHealModifierType": { + description: "Heals any status ailment for one Pokémon", + }, + "PokemonPpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for one Pokémon move", + extra: { + "fully": "Restores all PP for one Pokémon move", + } + }, + "PokemonAllMovePpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + extra: { + "fully": "Restores all PP for all of one Pokémon's moves", + } + }, + "PokemonPpUpModifierType": { + description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + }, + "PokemonNatureChangeModifierType": { + name: "{{natureName}} Mint", + description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + }, + "DoubleBattleChanceBoosterModifierType": { + description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + }, + "TempBattleStatBoosterModifierType": { + description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + }, + "AttackTypeBoosterModifierType": { + description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + }, + "PokemonLevelIncrementModifierType": { + description: "Increases a Pokémon's level by 1", + }, + "AllPokemonLevelIncrementModifierType": { + description: "Increases all party members' level by 1", + }, + "PokemonBaseStatBoosterModifierType": { + description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + }, + "AllPokemonFullHpRestoreModifierType": { + description: "Restores 100% HP for all Pokémon", + }, + "AllPokemonFullReviveModifierType": { + description: "Revives all fainted Pokémon, fully restoring HP", + }, + "MoneyRewardModifierType": { + description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + extra: { + "small": "small", + "moderate": "moderate", + "large": "large", + }, + }, + "ExpBoosterModifierType": { + description: "Increases gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonExpBoosterModifierType": { + description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonFriendshipBoosterModifierType": { + description: "Increases friendship gain per victory by 50%", + }, + "PokemonMoveAccuracyBoosterModifierType": { + description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + }, + "PokemonMultiHitModifierType": { + description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + }, + "TmModifierType": { + name: "TM{{moveId}} - {{moveName}}", + description: "Teach {{moveName}} to a Pokémon", + }, + "EvolutionItemModifierType": { + description: "Causes certain Pokémon to evolve", + }, + "FormChangeItemModifierType": { + description: "Causes certain Pokémon to change form", + }, + "FusePokemonModifierType": { + description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + }, + "TerastallizeModifierType": { + name: "{{teraType}} Tera Shard", + description: "{{teraType}} Terastallizes the holder for up to 10 battles", + }, + "ContactHeldItemTransferChanceModifierType": { + description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + }, + "TurnHeldItemTransferModifierType": { + description: "Every turn, the holder acquires one held item from the foe", + }, + "EnemyAttackStatusEffectChanceModifierType": { + description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + }, + "EnemyEndureChanceModifierType": { + description: "Adds a {{chancePercent}}% chance of enduring a hit", + }, + + "RARE_CANDY": { name: "Rare Candy" }, + "RARER_CANDY": { name: "Rarer Candy" }, + + "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, + "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, + "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + + "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + + "POTION": { name: "Potion" }, + "SUPER_POTION": { name: "Super Potion" }, + "HYPER_POTION": { name: "Hyper Potion" }, + "MAX_POTION": { name: "Max Potion" }, + "FULL_RESTORE": { name: "Full Restore" }, + + "REVIVE": { name: "Revive" }, + "MAX_REVIVE": { name: "Max Revive" }, + + "FULL_HEAL": { name: "Full Heal" }, + + "SACRED_ASH": { name: "Sacred Ash" }, + + "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + + "ETHER": { name: "Ether" }, + "MAX_ETHER": { name: "Max Ether" }, + + "ELIXIR": { name: "Elixir" }, + "MAX_ELIXIR": { name: "Max Elixir" }, + + "PP_UP": { name: "PP Up" }, + "PP_MAX": { name: "PP Max" }, + + "LURE": { name: "Lure" }, + "SUPER_LURE": { name: "Super Lure" }, + "MAX_LURE": { name: "Max Lure" }, + + "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + + "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, + "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + + "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + + "EXP_CHARM": { name: "EXP. Charm" }, + "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, + "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + + "LUCKY_EGG": { name: "Lucky Egg" }, + "GOLDEN_EGG": { name: "Golden Egg" }, + + "SOOTHE_BELL": { name: "Soothe Bell" }, + + "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + + "NUGGET": { name: "Nugget" }, + "BIG_NUGGET": { name: "Big Nugget" }, + "RELIC_GOLD": { name: "Relic Gold" }, + + "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, + "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, + "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + + "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + + "GRIP_CLAW": { name: "Grip Claw" }, + "WIDE_LENS": { name: "Wide Lens" }, + + "MULTI_LENS": { name: "Multi Lens" }, + + "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, + "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + + "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + + "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + + "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + + "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + + "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, + "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + + "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + + "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, + "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + + "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + + "DNA_SPLICERS": { name: "DNA Splicers" }, + + "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + + "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + + "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, + "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, + "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, + "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + }, + TempBattleStatBoosterItem: { + "x_attack": "X Attack", + "x_defense": "X Defense", + "x_sp_atk": "X Sp. Atk", + "x_sp_def": "X Sp. Def", + "x_speed": "X Speed", + "x_accuracy": "X Accuracy", + "dire_hit": "Dire Hit", + }, + AttackTypeBoosterItem: { + "silk_scarf": "Silk Scarf", + "black_belt": "Black Belt", + "sharp_beak": "Sharp Beak", + "poison_barb": "Poison Barb", + "soft_sand": "Soft Sand", + "hard_stone": "Hard Stone", + "silver_powder": "Silver Powder", + "spell_tag": "Spell Tag", + "metal_coat": "Metal Coat", + "charcoal": "Charcoal", + "mystic_water": "Mystic Water", + "miracle_seed": "Miracle Seed", + "magnet": "Magnet", + "twisted_spoon": "Twisted Spoon", + "never-nelt_ice": "Never-Melt Ice", + "dragon_fang": "Dragon Fang", + "black_glasses": "Black Glasses", + "fairy_feather": "Fairy Feather", + }, + BaseStatBoosterItem: { + "hp_up": "HP Up", + "protein": "Protein", + "iron": "Iron", + "calcium": "Calcium", + "zinc": "Zinc", + "carbos": "Carbos", + }, + EvolutionItem: { + "NONE": "None", + + "LINKING_CORD": "Linking Cord", + "SUN_STONE": "Sun Stone", + "MOON_STONE": "Moon Stone", + "LEAF_STONE": "Leaf Stone", + "FIRE_STONE": "Fire Stone", + "WATER_STONE": "Water Stone", + "THUNDER_STONE": "Thunder Stone", + "ICE_STONE": "Ice Stone", + "DUSK_STONE": "Dusk Stone", + "DAWN_STONE": "Dawn Stone", + "SHINY_STONE": "Shiny Stone", + "CRACKED_POT": "Cracked Pot", + "SWEET_APPLE": "Sweet Apple", + "TART_APPLE": "Tart Apple", + "STRAWBERRY_SWEET": "Strawberry Sweet", + "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + + "CHIPPED_POT": "Chipped Pot", + "BLACK_AUGURITE": "Black Augurite", + "GALARICA_CUFF": "Galarica Cuff", + "GALARICA_WREATH": "Galarica Wreath", + "PEAT_BLOCK": "Peat Block", + "AUSPICIOUS_ARMOR": "Auspicious Armor", + "MALICIOUS_ARMOR": "Malicious Armor", + "MASTERPIECE_TEACUP": "Masterpiece Teacup", + "METAL_ALLOY": "Metal Alloy", + "SCROLL_OF_DARKNESS": "Scroll Of Darkness", + "SCROLL_OF_WATERS": "Scroll Of Waters", + "SYRUPY_APPLE": "Syrupy Apple", + }, + FormChangeItem: { + "NONE": "None", + + "ABOMASITE": "Abomasite", + "ABSOLITE": "Absolite", + "AERODACTYLITE": "Aerodactylite", + "AGGRONITE": "Aggronite", + "ALAKAZITE": "Alakazite", + "ALTARIANITE": "Altarianite", + "AMPHAROSITE": "Ampharosite", + "AUDINITE": "Audinite", + "BANETTITE": "Banettite", + "BEEDRILLITE": "Beedrillite", + "BLASTOISINITE": "Blastoisinite", + "BLAZIKENITE": "Blazikenite", + "CAMERUPTITE": "Cameruptite", + "CHARIZARDITE_X": "Charizardite X", + "CHARIZARDITE_Y": "Charizardite Y", + "DIANCITE": "Diancite", + "GALLADITE": "Galladite", + "GARCHOMPITE": "Garchompite", + "GARDEVOIRITE": "Gardevoirite", + "GENGARITE": "Gengarite", + "GLALITITE": "Glalitite", + "GYARADOSITE": "Gyaradosite", + "HERACRONITE": "Heracronite", + "HOUNDOOMINITE": "Houndoominite", + "KANGASKHANITE": "Kangaskhanite", + "LATIASITE": "Latiasite", + "LATIOSITE": "Latiosite", + "LOPUNNITE": "Lopunnite", + "LUCARIONITE": "Lucarionite", + "MANECTITE": "Manectite", + "MAWILITE": "Mawilite", + "MEDICHAMITE": "Medichamite", + "METAGROSSITE": "Metagrossite", + "MEWTWONITE_X": "Mewtwonite X", + "MEWTWONITE_Y": "Mewtwonite Y", + "PIDGEOTITE": "Pidgeotite", + "PINSIRITE": "Pinsirite", + "RAYQUAZITE": "Rayquazite", + "SABLENITE": "Sablenite", + "SALAMENCITE": "Salamencite", + "SCEPTILITE": "Sceptilite", + "SCIZORITE": "Scizorite", + "SHARPEDONITE": "Sharpedonite", + "SLOWBRONITE": "Slowbronite", + "STEELIXITE": "Steelixite", + "SWAMPERTITE": "Swampertite", + "TYRANITARITE": "Tyranitarite", + "VENUSAURITE": "Venusaurite", + + "BLUE_ORB": "Blue Orb", + "RED_ORB": "Red Orb", + "SHARP_METEORITE": "Sharp Meteorite", + "HARD_METEORITE": "Hard Meteorite", + "SMOOTH_METEORITE": "Smooth Meteorite", + "ADAMANT_CRYSTAL": "Adamant Crystal", + "LUSTROUS_ORB": "Lustrous Orb", + "GRISEOUS_CORE": "Griseous Core", + "REVEAL_GLASS": "Reveal Glass", + "GRACIDEA": "Gracidea", + "MAX_MUSHROOMS": "Max Mushrooms", + "DARK_STONE": "Dark Stone", + "LIGHT_STONE": "Light Stone", + "PRISON_BOTTLE": "Prison Bottle", + "N_LUNARIZER": "N Lunarizer", + "N_SOLARIZER": "N Solarizer", + "RUSTED_SWORD": "Rusted Sword", + "RUSTED_SHIELD": "Rusted Shield", + "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", + "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", + "WELLSPRING_MASK": "Wellspring Mask", + "HEARTHFLAME_MASK": "Hearthflame Mask", + "CORNERSTONE_MASK": "Cornerstone Mask", + "SHOCK_DRIVE": "Shock Drive", + "BURN_DRIVE": "Burn Drive", + "CHILL_DRIVE": "Chill Drive", + "DOUSE_DRIVE": "Douse Drive", + }, + TeraType: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index 83d0641c8fa..af714a36316 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -5,6 +5,7 @@ import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; +import { modifierType } from "./modifier-type"; import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; @@ -30,5 +31,6 @@ export const ptBrConfig = { tutorial: tutorial, nature: nature, growth: growth, - weather: weather + weather: weather, + modifierType: modifierType, } \ No newline at end of file diff --git a/src/locales/pt_BR/modifier-type.ts b/src/locales/pt_BR/modifier-type.ts new file mode 100644 index 00000000000..729644dc3b8 --- /dev/null +++ b/src/locales/pt_BR/modifier-type.ts @@ -0,0 +1,409 @@ +import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; + +export const modifierType: ModifierTypeTranslationEntries = { + ModifierType: { + "AddPokeballModifierType": { + name: "{{modifierCount}}x {{pokeballName}}", + description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + }, + "AddVoucherModifierType": { + name: "{{modifierCount}}x {{voucherTypeName}}", + description: "Receive {{voucherTypeName}} x{{modifierCount}}", + }, + "PokemonHeldItemModifierType": { + extra: { + "inoperable": "{{pokemonName}} can't take\nthis item!", + "tooMany": "{{pokemonName}} has too many\nof this item!", + } + }, + "PokemonHpRestoreModifierType": { + description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + extra: { + "fully": "Fully restores HP for one Pokémon", + "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + } + }, + "PokemonReviveModifierType": { + description: "Revives one Pokémon and restores {{restorePercent}}% HP", + }, + "PokemonStatusHealModifierType": { + description: "Heals any status ailment for one Pokémon", + }, + "PokemonPpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for one Pokémon move", + extra: { + "fully": "Restores all PP for one Pokémon move", + } + }, + "PokemonAllMovePpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + extra: { + "fully": "Restores all PP for all of one Pokémon's moves", + } + }, + "PokemonPpUpModifierType": { + description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + }, + "PokemonNatureChangeModifierType": { + name: "{{natureName}} Mint", + description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + }, + "DoubleBattleChanceBoosterModifierType": { + description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + }, + "TempBattleStatBoosterModifierType": { + description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + }, + "AttackTypeBoosterModifierType": { + description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + }, + "PokemonLevelIncrementModifierType": { + description: "Increases a Pokémon's level by 1", + }, + "AllPokemonLevelIncrementModifierType": { + description: "Increases all party members' level by 1", + }, + "PokemonBaseStatBoosterModifierType": { + description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + }, + "AllPokemonFullHpRestoreModifierType": { + description: "Restores 100% HP for all Pokémon", + }, + "AllPokemonFullReviveModifierType": { + description: "Revives all fainted Pokémon, fully restoring HP", + }, + "MoneyRewardModifierType": { + description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + extra: { + "small": "small", + "moderate": "moderate", + "large": "large", + }, + }, + "ExpBoosterModifierType": { + description: "Increases gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonExpBoosterModifierType": { + description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonFriendshipBoosterModifierType": { + description: "Increases friendship gain per victory by 50%", + }, + "PokemonMoveAccuracyBoosterModifierType": { + description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + }, + "PokemonMultiHitModifierType": { + description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + }, + "TmModifierType": { + name: "TM{{moveId}} - {{moveName}}", + description: "Teach {{moveName}} to a Pokémon", + }, + "EvolutionItemModifierType": { + description: "Causes certain Pokémon to evolve", + }, + "FormChangeItemModifierType": { + description: "Causes certain Pokémon to change form", + }, + "FusePokemonModifierType": { + description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + }, + "TerastallizeModifierType": { + name: "{{teraType}} Tera Shard", + description: "{{teraType}} Terastallizes the holder for up to 10 battles", + }, + "ContactHeldItemTransferChanceModifierType": { + description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + }, + "TurnHeldItemTransferModifierType": { + description: "Every turn, the holder acquires one held item from the foe", + }, + "EnemyAttackStatusEffectChanceModifierType": { + description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + }, + "EnemyEndureChanceModifierType": { + description: "Adds a {{chancePercent}}% chance of enduring a hit", + }, + + "RARE_CANDY": { name: "Rare Candy" }, + "RARER_CANDY": { name: "Rarer Candy" }, + + "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, + "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, + "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + + "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + + "POTION": { name: "Potion" }, + "SUPER_POTION": { name: "Super Potion" }, + "HYPER_POTION": { name: "Hyper Potion" }, + "MAX_POTION": { name: "Max Potion" }, + "FULL_RESTORE": { name: "Full Restore" }, + + "REVIVE": { name: "Revive" }, + "MAX_REVIVE": { name: "Max Revive" }, + + "FULL_HEAL": { name: "Full Heal" }, + + "SACRED_ASH": { name: "Sacred Ash" }, + + "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + + "ETHER": { name: "Ether" }, + "MAX_ETHER": { name: "Max Ether" }, + + "ELIXIR": { name: "Elixir" }, + "MAX_ELIXIR": { name: "Max Elixir" }, + + "PP_UP": { name: "PP Up" }, + "PP_MAX": { name: "PP Max" }, + + "LURE": { name: "Lure" }, + "SUPER_LURE": { name: "Super Lure" }, + "MAX_LURE": { name: "Max Lure" }, + + "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + + "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, + "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + + "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + + "EXP_CHARM": { name: "EXP. Charm" }, + "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, + "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + + "LUCKY_EGG": { name: "Lucky Egg" }, + "GOLDEN_EGG": { name: "Golden Egg" }, + + "SOOTHE_BELL": { name: "Soothe Bell" }, + + "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + + "NUGGET": { name: "Nugget" }, + "BIG_NUGGET": { name: "Big Nugget" }, + "RELIC_GOLD": { name: "Relic Gold" }, + + "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, + "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, + "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + + "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + + "GRIP_CLAW": { name: "Grip Claw" }, + "WIDE_LENS": { name: "Wide Lens" }, + + "MULTI_LENS": { name: "Multi Lens" }, + + "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, + "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + + "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + + "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + + "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + + "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + + "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, + "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + + "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + + "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, + "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + + "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + + "DNA_SPLICERS": { name: "DNA Splicers" }, + + "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + + "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + + "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, + "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, + "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, + "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + }, + TempBattleStatBoosterItem: { + "x_attack": "X Attack", + "x_defense": "X Defense", + "x_sp_atk": "X Sp. Atk", + "x_sp_def": "X Sp. Def", + "x_speed": "X Speed", + "x_accuracy": "X Accuracy", + "dire_hit": "Dire Hit", + }, + AttackTypeBoosterItem: { + "silk_scarf": "Silk Scarf", + "black_belt": "Black Belt", + "sharp_beak": "Sharp Beak", + "poison_barb": "Poison Barb", + "soft_sand": "Soft Sand", + "hard_stone": "Hard Stone", + "silver_powder": "Silver Powder", + "spell_tag": "Spell Tag", + "metal_coat": "Metal Coat", + "charcoal": "Charcoal", + "mystic_water": "Mystic Water", + "miracle_seed": "Miracle Seed", + "magnet": "Magnet", + "twisted_spoon": "Twisted Spoon", + "never-nelt_ice": "Never-Melt Ice", + "dragon_fang": "Dragon Fang", + "black_glasses": "Black Glasses", + "fairy_feather": "Fairy Feather", + }, + BaseStatBoosterItem: { + "hp_up": "HP Up", + "protein": "Protein", + "iron": "Iron", + "calcium": "Calcium", + "zinc": "Zinc", + "carbos": "Carbos", + }, + EvolutionItem: { + "NONE": "None", + + "LINKING_CORD": "Linking Cord", + "SUN_STONE": "Sun Stone", + "MOON_STONE": "Moon Stone", + "LEAF_STONE": "Leaf Stone", + "FIRE_STONE": "Fire Stone", + "WATER_STONE": "Water Stone", + "THUNDER_STONE": "Thunder Stone", + "ICE_STONE": "Ice Stone", + "DUSK_STONE": "Dusk Stone", + "DAWN_STONE": "Dawn Stone", + "SHINY_STONE": "Shiny Stone", + "CRACKED_POT": "Cracked Pot", + "SWEET_APPLE": "Sweet Apple", + "TART_APPLE": "Tart Apple", + "STRAWBERRY_SWEET": "Strawberry Sweet", + "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + + "CHIPPED_POT": "Chipped Pot", + "BLACK_AUGURITE": "Black Augurite", + "GALARICA_CUFF": "Galarica Cuff", + "GALARICA_WREATH": "Galarica Wreath", + "PEAT_BLOCK": "Peat Block", + "AUSPICIOUS_ARMOR": "Auspicious Armor", + "MALICIOUS_ARMOR": "Malicious Armor", + "MASTERPIECE_TEACUP": "Masterpiece Teacup", + "METAL_ALLOY": "Metal Alloy", + "SCROLL_OF_DARKNESS": "Scroll Of Darkness", + "SCROLL_OF_WATERS": "Scroll Of Waters", + "SYRUPY_APPLE": "Syrupy Apple", + }, + FormChangeItem: { + "NONE": "None", + + "ABOMASITE": "Abomasite", + "ABSOLITE": "Absolite", + "AERODACTYLITE": "Aerodactylite", + "AGGRONITE": "Aggronite", + "ALAKAZITE": "Alakazite", + "ALTARIANITE": "Altarianite", + "AMPHAROSITE": "Ampharosite", + "AUDINITE": "Audinite", + "BANETTITE": "Banettite", + "BEEDRILLITE": "Beedrillite", + "BLASTOISINITE": "Blastoisinite", + "BLAZIKENITE": "Blazikenite", + "CAMERUPTITE": "Cameruptite", + "CHARIZARDITE_X": "Charizardite X", + "CHARIZARDITE_Y": "Charizardite Y", + "DIANCITE": "Diancite", + "GALLADITE": "Galladite", + "GARCHOMPITE": "Garchompite", + "GARDEVOIRITE": "Gardevoirite", + "GENGARITE": "Gengarite", + "GLALITITE": "Glalitite", + "GYARADOSITE": "Gyaradosite", + "HERACRONITE": "Heracronite", + "HOUNDOOMINITE": "Houndoominite", + "KANGASKHANITE": "Kangaskhanite", + "LATIASITE": "Latiasite", + "LATIOSITE": "Latiosite", + "LOPUNNITE": "Lopunnite", + "LUCARIONITE": "Lucarionite", + "MANECTITE": "Manectite", + "MAWILITE": "Mawilite", + "MEDICHAMITE": "Medichamite", + "METAGROSSITE": "Metagrossite", + "MEWTWONITE_X": "Mewtwonite X", + "MEWTWONITE_Y": "Mewtwonite Y", + "PIDGEOTITE": "Pidgeotite", + "PINSIRITE": "Pinsirite", + "RAYQUAZITE": "Rayquazite", + "SABLENITE": "Sablenite", + "SALAMENCITE": "Salamencite", + "SCEPTILITE": "Sceptilite", + "SCIZORITE": "Scizorite", + "SHARPEDONITE": "Sharpedonite", + "SLOWBRONITE": "Slowbronite", + "STEELIXITE": "Steelixite", + "SWAMPERTITE": "Swampertite", + "TYRANITARITE": "Tyranitarite", + "VENUSAURITE": "Venusaurite", + + "BLUE_ORB": "Blue Orb", + "RED_ORB": "Red Orb", + "SHARP_METEORITE": "Sharp Meteorite", + "HARD_METEORITE": "Hard Meteorite", + "SMOOTH_METEORITE": "Smooth Meteorite", + "ADAMANT_CRYSTAL": "Adamant Crystal", + "LUSTROUS_ORB": "Lustrous Orb", + "GRISEOUS_CORE": "Griseous Core", + "REVEAL_GLASS": "Reveal Glass", + "GRACIDEA": "Gracidea", + "MAX_MUSHROOMS": "Max Mushrooms", + "DARK_STONE": "Dark Stone", + "LIGHT_STONE": "Light Stone", + "PRISON_BOTTLE": "Prison Bottle", + "N_LUNARIZER": "N Lunarizer", + "N_SOLARIZER": "N Solarizer", + "RUSTED_SWORD": "Rusted Sword", + "RUSTED_SHIELD": "Rusted Shield", + "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", + "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", + "WELLSPRING_MASK": "Wellspring Mask", + "HEARTHFLAME_MASK": "Hearthflame Mask", + "CORNERSTONE_MASK": "Cornerstone Mask", + "SHOCK_DRIVE": "Shock Drive", + "BURN_DRIVE": "Burn Drive", + "CHILL_DRIVE": "Chill Drive", + "DOUSE_DRIVE": "Douse Drive", + }, + TeraType: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 9a70eafb8e1..11339dca4c8 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -13,6 +13,8 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; import { nature } from "./nature"; import { weather } from "./weather"; +import { modifierType } from "./modifier-type"; +import { growth } from "./growth"; export const zhCnConfig = { @@ -29,7 +31,8 @@ export const zhCnConfig = { pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, - nature: nature, - weather: weather + growth: growth, + weather: weather, + modifierType: modifierType, } \ No newline at end of file diff --git a/src/locales/zh_CN/growth.ts b/src/locales/zh_CN/growth.ts new file mode 100644 index 00000000000..a0d1cb5eeaa --- /dev/null +++ b/src/locales/zh_CN/growth.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const growth: SimpleTranslationEntries = { + "Erratic": "Erratic", + "Fast": "Fast", + "Medium_Fast": "Medium Fast", + "Medium_Slow": "Medium Slow", + "Slow": "Slow", + "Fluctuating": "Fluctuating" +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/modifier-type.ts b/src/locales/zh_CN/modifier-type.ts new file mode 100644 index 00000000000..729644dc3b8 --- /dev/null +++ b/src/locales/zh_CN/modifier-type.ts @@ -0,0 +1,409 @@ +import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; + +export const modifierType: ModifierTypeTranslationEntries = { + ModifierType: { + "AddPokeballModifierType": { + name: "{{modifierCount}}x {{pokeballName}}", + description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + }, + "AddVoucherModifierType": { + name: "{{modifierCount}}x {{voucherTypeName}}", + description: "Receive {{voucherTypeName}} x{{modifierCount}}", + }, + "PokemonHeldItemModifierType": { + extra: { + "inoperable": "{{pokemonName}} can't take\nthis item!", + "tooMany": "{{pokemonName}} has too many\nof this item!", + } + }, + "PokemonHpRestoreModifierType": { + description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + extra: { + "fully": "Fully restores HP for one Pokémon", + "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + } + }, + "PokemonReviveModifierType": { + description: "Revives one Pokémon and restores {{restorePercent}}% HP", + }, + "PokemonStatusHealModifierType": { + description: "Heals any status ailment for one Pokémon", + }, + "PokemonPpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for one Pokémon move", + extra: { + "fully": "Restores all PP for one Pokémon move", + } + }, + "PokemonAllMovePpRestoreModifierType": { + description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + extra: { + "fully": "Restores all PP for all of one Pokémon's moves", + } + }, + "PokemonPpUpModifierType": { + description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + }, + "PokemonNatureChangeModifierType": { + name: "{{natureName}} Mint", + description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + }, + "DoubleBattleChanceBoosterModifierType": { + description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + }, + "TempBattleStatBoosterModifierType": { + description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + }, + "AttackTypeBoosterModifierType": { + description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + }, + "PokemonLevelIncrementModifierType": { + description: "Increases a Pokémon's level by 1", + }, + "AllPokemonLevelIncrementModifierType": { + description: "Increases all party members' level by 1", + }, + "PokemonBaseStatBoosterModifierType": { + description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + }, + "AllPokemonFullHpRestoreModifierType": { + description: "Restores 100% HP for all Pokémon", + }, + "AllPokemonFullReviveModifierType": { + description: "Revives all fainted Pokémon, fully restoring HP", + }, + "MoneyRewardModifierType": { + description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + extra: { + "small": "small", + "moderate": "moderate", + "large": "large", + }, + }, + "ExpBoosterModifierType": { + description: "Increases gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonExpBoosterModifierType": { + description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + }, + "PokemonFriendshipBoosterModifierType": { + description: "Increases friendship gain per victory by 50%", + }, + "PokemonMoveAccuracyBoosterModifierType": { + description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + }, + "PokemonMultiHitModifierType": { + description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + }, + "TmModifierType": { + name: "TM{{moveId}} - {{moveName}}", + description: "Teach {{moveName}} to a Pokémon", + }, + "EvolutionItemModifierType": { + description: "Causes certain Pokémon to evolve", + }, + "FormChangeItemModifierType": { + description: "Causes certain Pokémon to change form", + }, + "FusePokemonModifierType": { + description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + }, + "TerastallizeModifierType": { + name: "{{teraType}} Tera Shard", + description: "{{teraType}} Terastallizes the holder for up to 10 battles", + }, + "ContactHeldItemTransferChanceModifierType": { + description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + }, + "TurnHeldItemTransferModifierType": { + description: "Every turn, the holder acquires one held item from the foe", + }, + "EnemyAttackStatusEffectChanceModifierType": { + description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + }, + "EnemyEndureChanceModifierType": { + description: "Adds a {{chancePercent}}% chance of enduring a hit", + }, + + "RARE_CANDY": { name: "Rare Candy" }, + "RARER_CANDY": { name: "Rarer Candy" }, + + "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, + "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, + "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + + "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + + "POTION": { name: "Potion" }, + "SUPER_POTION": { name: "Super Potion" }, + "HYPER_POTION": { name: "Hyper Potion" }, + "MAX_POTION": { name: "Max Potion" }, + "FULL_RESTORE": { name: "Full Restore" }, + + "REVIVE": { name: "Revive" }, + "MAX_REVIVE": { name: "Max Revive" }, + + "FULL_HEAL": { name: "Full Heal" }, + + "SACRED_ASH": { name: "Sacred Ash" }, + + "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + + "ETHER": { name: "Ether" }, + "MAX_ETHER": { name: "Max Ether" }, + + "ELIXIR": { name: "Elixir" }, + "MAX_ELIXIR": { name: "Max Elixir" }, + + "PP_UP": { name: "PP Up" }, + "PP_MAX": { name: "PP Max" }, + + "LURE": { name: "Lure" }, + "SUPER_LURE": { name: "Super Lure" }, + "MAX_LURE": { name: "Max Lure" }, + + "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + + "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, + "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + + "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + + "EXP_CHARM": { name: "EXP. Charm" }, + "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, + "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + + "LUCKY_EGG": { name: "Lucky Egg" }, + "GOLDEN_EGG": { name: "Golden Egg" }, + + "SOOTHE_BELL": { name: "Soothe Bell" }, + + "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + + "NUGGET": { name: "Nugget" }, + "BIG_NUGGET": { name: "Big Nugget" }, + "RELIC_GOLD": { name: "Relic Gold" }, + + "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, + "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, + "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + + "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + + "GRIP_CLAW": { name: "Grip Claw" }, + "WIDE_LENS": { name: "Wide Lens" }, + + "MULTI_LENS": { name: "Multi Lens" }, + + "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, + "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + + "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + + "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + + "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + + "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + + "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, + "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + + "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + + "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, + "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + + "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + + "DNA_SPLICERS": { name: "DNA Splicers" }, + + "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + + "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + + "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, + "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, + "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, + "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + }, + TempBattleStatBoosterItem: { + "x_attack": "X Attack", + "x_defense": "X Defense", + "x_sp_atk": "X Sp. Atk", + "x_sp_def": "X Sp. Def", + "x_speed": "X Speed", + "x_accuracy": "X Accuracy", + "dire_hit": "Dire Hit", + }, + AttackTypeBoosterItem: { + "silk_scarf": "Silk Scarf", + "black_belt": "Black Belt", + "sharp_beak": "Sharp Beak", + "poison_barb": "Poison Barb", + "soft_sand": "Soft Sand", + "hard_stone": "Hard Stone", + "silver_powder": "Silver Powder", + "spell_tag": "Spell Tag", + "metal_coat": "Metal Coat", + "charcoal": "Charcoal", + "mystic_water": "Mystic Water", + "miracle_seed": "Miracle Seed", + "magnet": "Magnet", + "twisted_spoon": "Twisted Spoon", + "never-nelt_ice": "Never-Melt Ice", + "dragon_fang": "Dragon Fang", + "black_glasses": "Black Glasses", + "fairy_feather": "Fairy Feather", + }, + BaseStatBoosterItem: { + "hp_up": "HP Up", + "protein": "Protein", + "iron": "Iron", + "calcium": "Calcium", + "zinc": "Zinc", + "carbos": "Carbos", + }, + EvolutionItem: { + "NONE": "None", + + "LINKING_CORD": "Linking Cord", + "SUN_STONE": "Sun Stone", + "MOON_STONE": "Moon Stone", + "LEAF_STONE": "Leaf Stone", + "FIRE_STONE": "Fire Stone", + "WATER_STONE": "Water Stone", + "THUNDER_STONE": "Thunder Stone", + "ICE_STONE": "Ice Stone", + "DUSK_STONE": "Dusk Stone", + "DAWN_STONE": "Dawn Stone", + "SHINY_STONE": "Shiny Stone", + "CRACKED_POT": "Cracked Pot", + "SWEET_APPLE": "Sweet Apple", + "TART_APPLE": "Tart Apple", + "STRAWBERRY_SWEET": "Strawberry Sweet", + "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + + "CHIPPED_POT": "Chipped Pot", + "BLACK_AUGURITE": "Black Augurite", + "GALARICA_CUFF": "Galarica Cuff", + "GALARICA_WREATH": "Galarica Wreath", + "PEAT_BLOCK": "Peat Block", + "AUSPICIOUS_ARMOR": "Auspicious Armor", + "MALICIOUS_ARMOR": "Malicious Armor", + "MASTERPIECE_TEACUP": "Masterpiece Teacup", + "METAL_ALLOY": "Metal Alloy", + "SCROLL_OF_DARKNESS": "Scroll Of Darkness", + "SCROLL_OF_WATERS": "Scroll Of Waters", + "SYRUPY_APPLE": "Syrupy Apple", + }, + FormChangeItem: { + "NONE": "None", + + "ABOMASITE": "Abomasite", + "ABSOLITE": "Absolite", + "AERODACTYLITE": "Aerodactylite", + "AGGRONITE": "Aggronite", + "ALAKAZITE": "Alakazite", + "ALTARIANITE": "Altarianite", + "AMPHAROSITE": "Ampharosite", + "AUDINITE": "Audinite", + "BANETTITE": "Banettite", + "BEEDRILLITE": "Beedrillite", + "BLASTOISINITE": "Blastoisinite", + "BLAZIKENITE": "Blazikenite", + "CAMERUPTITE": "Cameruptite", + "CHARIZARDITE_X": "Charizardite X", + "CHARIZARDITE_Y": "Charizardite Y", + "DIANCITE": "Diancite", + "GALLADITE": "Galladite", + "GARCHOMPITE": "Garchompite", + "GARDEVOIRITE": "Gardevoirite", + "GENGARITE": "Gengarite", + "GLALITITE": "Glalitite", + "GYARADOSITE": "Gyaradosite", + "HERACRONITE": "Heracronite", + "HOUNDOOMINITE": "Houndoominite", + "KANGASKHANITE": "Kangaskhanite", + "LATIASITE": "Latiasite", + "LATIOSITE": "Latiosite", + "LOPUNNITE": "Lopunnite", + "LUCARIONITE": "Lucarionite", + "MANECTITE": "Manectite", + "MAWILITE": "Mawilite", + "MEDICHAMITE": "Medichamite", + "METAGROSSITE": "Metagrossite", + "MEWTWONITE_X": "Mewtwonite X", + "MEWTWONITE_Y": "Mewtwonite Y", + "PIDGEOTITE": "Pidgeotite", + "PINSIRITE": "Pinsirite", + "RAYQUAZITE": "Rayquazite", + "SABLENITE": "Sablenite", + "SALAMENCITE": "Salamencite", + "SCEPTILITE": "Sceptilite", + "SCIZORITE": "Scizorite", + "SHARPEDONITE": "Sharpedonite", + "SLOWBRONITE": "Slowbronite", + "STEELIXITE": "Steelixite", + "SWAMPERTITE": "Swampertite", + "TYRANITARITE": "Tyranitarite", + "VENUSAURITE": "Venusaurite", + + "BLUE_ORB": "Blue Orb", + "RED_ORB": "Red Orb", + "SHARP_METEORITE": "Sharp Meteorite", + "HARD_METEORITE": "Hard Meteorite", + "SMOOTH_METEORITE": "Smooth Meteorite", + "ADAMANT_CRYSTAL": "Adamant Crystal", + "LUSTROUS_ORB": "Lustrous Orb", + "GRISEOUS_CORE": "Griseous Core", + "REVEAL_GLASS": "Reveal Glass", + "GRACIDEA": "Gracidea", + "MAX_MUSHROOMS": "Max Mushrooms", + "DARK_STONE": "Dark Stone", + "LIGHT_STONE": "Light Stone", + "PRISON_BOTTLE": "Prison Bottle", + "N_LUNARIZER": "N Lunarizer", + "N_SOLARIZER": "N Solarizer", + "RUSTED_SWORD": "Rusted Sword", + "RUSTED_SHIELD": "Rusted Shield", + "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", + "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", + "WELLSPRING_MASK": "Wellspring Mask", + "HEARTHFLAME_MASK": "Hearthflame Mask", + "CORNERSTONE_MASK": "Cornerstone Mask", + "SHOCK_DRIVE": "Shock Drive", + "BURN_DRIVE": "Burn Drive", + "CHILL_DRIVE": "Chill Drive", + "DOUSE_DRIVE": "Douse Drive", + }, + TeraType: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index da8a19c019a..c0f33521b33 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -3,7 +3,7 @@ import { AttackMove, allMoves } from '../data/move'; import { Moves } from "../data/enums/moves"; import { PokeballType, getPokeballCatchMultiplier, getPokeballName } from '../data/pokeball'; import Pokemon, { EnemyPokemon, PlayerPokemon, PokemonMove } from '../field/pokemon'; -import { EvolutionItem, SpeciesFriendshipEvolutionCondition, pokemonEvolutions } from '../data/pokemon-evolutions'; +import { EvolutionItem, pokemonEvolutions } from '../data/pokemon-evolutions'; import { Stat, getStatName } from '../data/pokemon-stat'; import { tmPoolTiers, tmSpecies } from '../data/tms'; import { Type } from '../data/type'; @@ -19,7 +19,7 @@ import { VoucherType, getVoucherTypeIcon, getVoucherTypeName } from '../system/v import { FormChangeItem, SpeciesFormChangeItemTrigger, pokemonFormChanges } from '../data/pokemon-forms'; import { ModifierTier } from './modifier-tier'; import { Nature, getNatureName, getNatureStatMultiplier } from '#app/data/nature'; -import { Localizable } from '#app/plugins/i18n'; +import i18next from '#app/plugins/i18n'; import { getModifierTierTextTint } from '#app/ui/text'; const outputModifierData = false; @@ -40,25 +40,27 @@ type NewModifierFunc = (type: ModifierType, args: any[]) => Modifier; export class ModifierType { public id: string; public generatorId: string; - public name: string; - protected description: string; + public localeKey: string; public iconImage: string; public group: string; public soundName: string; public tier: ModifierTier; protected newModifierFunc: NewModifierFunc; - constructor(name: string, description: string, newModifierFunc: NewModifierFunc, iconImage?: string, group?: string, soundName?: string) { - this.name = name; - this.description = description; - this.iconImage = iconImage || name?.replace(/[ \-]/g, '_')?.replace(/['\.]/g, '')?.toLowerCase(); + constructor(localeKey: string, iconImage: string, newModifierFunc: NewModifierFunc, group?: string, soundName?: string) { + this.localeKey = localeKey; + this.iconImage = iconImage; this.group = group || ''; this.soundName = soundName || 'restore'; this.newModifierFunc = newModifierFunc; } + get name(): string { + return i18next.t(`${this.localeKey}.name` as any); + } + getDescription(scene: BattleScene): string { - return this.description; + return i18next.t(`${this.localeKey}.description` as any); } setTier(tier: ModifierTier): void { @@ -114,7 +116,7 @@ export class ModifierTypeGenerator extends ModifierType { private genTypeFunc: ModifierTypeGeneratorFunc; constructor(genTypeFunc: ModifierTypeGeneratorFunc) { - super(null, null, null, null); + super(null, null, null); this.genTypeFunc = genTypeFunc; } @@ -133,58 +135,80 @@ export interface GeneratedPersistentModifierType { getPregenArgs(): any[]; } -class AddPokeballModifierType extends ModifierType implements Localizable { +class AddPokeballModifierType extends ModifierType { private pokeballType: PokeballType; private count: integer; - constructor(pokeballType: PokeballType, count: integer, iconImage?: string) { - super('', '', (_type, _args) => new Modifiers.AddPokeballModifier(this, pokeballType, count), iconImage, 'pb', 'pb_bounce_1'); + constructor(iconImage: string, pokeballType: PokeballType, count: integer) { + super('', iconImage, (_type, _args) => new Modifiers.AddPokeballModifier(this, pokeballType, count), 'pb', 'pb_bounce_1'); this.pokeballType = pokeballType; this.count = count; } - localize(): void { - // TODO: Actually use i18n to localize this description. - this.name = `${this.count}x ${getPokeballName(this.pokeballType)}`; - this.description = `Receive ${getPokeballName(this.pokeballType)} x${this.count} (Inventory: {AMOUNT}) \nCatch Rate: ${getPokeballCatchMultiplier(this.pokeballType) > -1 ? `${getPokeballCatchMultiplier(this.pokeballType)}x` : 'Certain'}`; - } - - getDescription(scene: BattleScene): string { - this.localize(); - return this.description.replace('{AMOUNT}', scene.pokeballCounts[this.pokeballType].toString()); + get name(): string { + return i18next.t(`modifierType:ModifierType.AddPokeballModifierType.name`, { + 'modifierCount': this.count, + 'pokeballName': getPokeballName(this.pokeballType), + }); } + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.AddPokeballModifierType.description`, { + 'modifierCount': this.count, + 'pokeballName': getPokeballName(this.pokeballType), + 'catchRate': getPokeballCatchMultiplier(this.pokeballType) > -1 ? `${getPokeballCatchMultiplier(this.pokeballType)}x` : '100%', + 'pokeballAmount': `${scene.pokeballCounts[this.pokeballType]}`, + }); + } } class AddVoucherModifierType extends ModifierType { + private voucherType: VoucherType; + private count: integer; + constructor(voucherType: VoucherType, count: integer) { - super(`${count}x ${getVoucherTypeName(voucherType)}`, `Receive ${getVoucherTypeName(voucherType)} x${count}`, - (_type, _args) => new Modifiers.AddVoucherModifier(this, voucherType, count), getVoucherTypeIcon(voucherType), 'voucher'); + super('', getVoucherTypeIcon(voucherType), (_type, _args) => new Modifiers.AddVoucherModifier(this, voucherType, count), 'voucher'); + this.count = count; + this.voucherType = voucherType; + } + + get name(): string { + return i18next.t(`modifierType:ModifierType.AddVoucherModifierType.name`, { + 'modifierCount': this.count, + 'voucherTypeName': getVoucherTypeName(this.voucherType), + }); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.AddVoucherModifierType.description`, { + 'modifierCount': this.count, + 'voucherTypeName': getVoucherTypeName(this.voucherType), + }); } } export class PokemonModifierType extends ModifierType { public selectFilter: PokemonSelectFilter; - constructor(name: string, description: string, newModifierFunc: NewModifierFunc, selectFilter?: PokemonSelectFilter, iconImage?: string, group?: string, soundName?: string) { - super(name, description, newModifierFunc, iconImage, group, soundName); + constructor(localeKey: string, iconImage: string, newModifierFunc: NewModifierFunc, selectFilter?: PokemonSelectFilter, group?: string, soundName?: string) { + super(localeKey, iconImage, newModifierFunc, group, soundName); this.selectFilter = selectFilter; } } export class PokemonHeldItemModifierType extends PokemonModifierType { - constructor(name: string, description: string, newModifierFunc: NewModifierFunc, iconImage?: string, group?: string, soundName?: string) { - super(name, description, newModifierFunc, (pokemon: PlayerPokemon) => { + constructor(localeKey: string, iconImage: string, newModifierFunc: NewModifierFunc, group?: string, soundName?: string) { + super(localeKey, iconImage, newModifierFunc, (pokemon: PlayerPokemon) => { const dummyModifier = this.newModifier(pokemon); const matchingModifier = pokemon.scene.findModifier(m => m instanceof Modifiers.PokemonHeldItemModifier && m.pokemonId === pokemon.id && m.matchType(dummyModifier)) as Modifiers.PokemonHeldItemModifier; const maxStackCount = dummyModifier.getMaxStackCount(pokemon.scene); if (!maxStackCount) - return `${pokemon.name} can\'t take\nthis item!`; + return i18next.t(`modifierType:ModifierType.PokemonHeldItemModifierType.extra.inoperable`, { 'pokemonName': pokemon.name }); if (matchingModifier && matchingModifier.stackCount === maxStackCount) - return `${pokemon.name} has too many\nof this item!`; + return i18next.t(`modifierType:ModifierType.PokemonHeldItemModifierType.extra.tooMany`, { 'pokemonName': pokemon.name }); return null; - }, iconImage, group, soundName); + }, group, soundName); } newModifier(...args: any[]): Modifiers.PokemonHeldItemModifier { @@ -197,57 +221,72 @@ export class PokemonHpRestoreModifierType extends PokemonModifierType { protected restorePercent: integer; protected healStatus: boolean; - constructor(name: string, restorePoints: integer, restorePercent: integer, healStatus: boolean = false, newModifierFunc?: NewModifierFunc, selectFilter?: PokemonSelectFilter, iconImage?: string, group?: string) { - super(name, restorePoints ? `Restores ${restorePoints} HP or ${restorePercent}% HP for one Pokémon, whichever is higher` : `Fully restores HP for one Pokémon${healStatus ? ' and heals any status ailment' : ''}`, - newModifierFunc || ((_type, args) => new Modifiers.PokemonHpRestoreModifier(this, (args[0] as PlayerPokemon).id, this.restorePoints, this.restorePercent, this.healStatus, false)), + constructor(localeKey: string, iconImage: string, restorePoints: integer, restorePercent: integer, healStatus: boolean = false, newModifierFunc?: NewModifierFunc, selectFilter?: PokemonSelectFilter, group?: string) { + super(localeKey, iconImage, newModifierFunc || ((_type, args) => new Modifiers.PokemonHpRestoreModifier(this, (args[0] as PlayerPokemon).id, this.restorePoints, this.restorePercent, this.healStatus, false)), selectFilter || ((pokemon: PlayerPokemon) => { if (!pokemon.hp || (pokemon.hp >= pokemon.getMaxHp() && (!this.healStatus || !pokemon.status))) return PartyUiHandler.NoEffectMessage; return null; - }), iconImage, group || 'potion'); + }), group || 'potion'); this.restorePoints = restorePoints; this.restorePercent = restorePercent; this.healStatus = healStatus; } + + getDescription(scene: BattleScene): string { + return this.restorePoints + ? i18next.t(`modifierType:ModifierType.PokemonHpRestoreModifierType.description`, { + restorePoints: this.restorePoints, + restorePercent: this.restorePercent, + }) + : this.healStatus + ? i18next.t(`modifierType:ModifierType.PokemonHpRestoreModifierType.extra.fullyWithStatus`) + : i18next.t(`modifierType:ModifierType.PokemonHpRestoreModifierType.extra.fully`); + } } export class PokemonReviveModifierType extends PokemonHpRestoreModifierType { - constructor(name: string, restorePercent: integer, iconImage?: string) { - super(name, 0, restorePercent, false, (_type, args) => new Modifiers.PokemonHpRestoreModifier(this, (args[0] as PlayerPokemon).id, 0, this.restorePercent, false, true), + constructor(localeKey: string, iconImage: string, restorePercent: integer) { + super(localeKey, iconImage, 0, restorePercent, false, (_type, args) => new Modifiers.PokemonHpRestoreModifier(this, (args[0] as PlayerPokemon).id, 0, this.restorePercent, false, true), ((pokemon: PlayerPokemon) => { if (!pokemon.isFainted()) return PartyUiHandler.NoEffectMessage; return null; - }), iconImage, 'revive'); + }), 'revive'); - this.description = `Revives one Pokémon and restores ${restorePercent}% HP`; this.selectFilter = (pokemon: PlayerPokemon) => { if (pokemon.hp) return PartyUiHandler.NoEffectMessage; return null; }; } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonReviveModifierType.description`, { restorePercent: this.restorePercent }); + } } export class PokemonStatusHealModifierType extends PokemonModifierType { - constructor(name: string) { - super(name, `Heals any status ailment for one Pokémon`, - ((_type, args) => new Modifiers.PokemonStatusHealModifier(this, (args[0] as PlayerPokemon).id)), + constructor(localeKey: string, iconImage: string) { + super(localeKey, iconImage, ((_type, args) => new Modifiers.PokemonStatusHealModifier(this, (args[0] as PlayerPokemon).id)), ((pokemon: PlayerPokemon) => { if (!pokemon.hp || !pokemon.status) return PartyUiHandler.NoEffectMessage; return null; })); } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonStatusHealModifierType.description`); + } } export abstract class PokemonMoveModifierType extends PokemonModifierType { public moveSelectFilter: PokemonMoveSelectFilter; - constructor(name: string, description: string, newModifierFunc: NewModifierFunc, selectFilter?: PokemonSelectFilter, moveSelectFilter?: PokemonMoveSelectFilter, - iconImage?: string, group?: string) { - super(name, description, newModifierFunc, selectFilter, iconImage, group); + constructor(localeKey: string, iconImage: string, newModifierFunc: NewModifierFunc, selectFilter?: PokemonSelectFilter, moveSelectFilter?: PokemonMoveSelectFilter, group?: string) { + super(localeKey, iconImage, newModifierFunc, selectFilter, group); this.moveSelectFilter = moveSelectFilter; } @@ -256,101 +295,136 @@ export abstract class PokemonMoveModifierType extends PokemonModifierType { export class PokemonPpRestoreModifierType extends PokemonMoveModifierType { protected restorePoints: integer; - constructor(name: string, restorePoints: integer, iconImage?: string) { - super(name, `Restores ${restorePoints > -1 ? restorePoints : 'all'} PP for one Pokémon move`, (_type, args) => new Modifiers.PokemonPpRestoreModifier(this, (args[0] as PlayerPokemon).id, (args[1] as integer), this.restorePoints), + constructor(localeKey: string, iconImage: string, restorePoints: integer) { + super(localeKey, iconImage, (_type, args) => new Modifiers.PokemonPpRestoreModifier(this, (args[0] as PlayerPokemon).id, (args[1] as integer), this.restorePoints), (_pokemon: PlayerPokemon) => { return null; }, (pokemonMove: PokemonMove) => { if (!pokemonMove.ppUsed) return PartyUiHandler.NoEffectMessage; return null; - }, iconImage, 'ether'); + }, 'ether'); this.restorePoints = restorePoints; } + + getDescription(scene: BattleScene): string { + return this.restorePoints > -1 + ? i18next.t(`modifierType:ModifierType.PokemonPpRestoreModifierType.description`, { restorePoints: this.restorePoints }) + : i18next.t(`modifierType:ModifierType.PokemonPpRestoreModifierType.extra.fully`) + ; + } } export class PokemonAllMovePpRestoreModifierType extends PokemonModifierType { protected restorePoints: integer; - constructor(name: string, restorePoints: integer, iconImage?: string) { - super(name, `Restores ${restorePoints > -1 ? restorePoints : 'all'} PP for all of one Pokémon's moves`, (_type, args) => new Modifiers.PokemonAllMovePpRestoreModifier(this, (args[0] as PlayerPokemon).id, this.restorePoints), + constructor(localeKey: string, iconImage: string, restorePoints: integer) { + super(localeKey, iconImage, (_type, args) => new Modifiers.PokemonAllMovePpRestoreModifier(this, (args[0] as PlayerPokemon).id, this.restorePoints), (pokemon: PlayerPokemon) => { if (!pokemon.getMoveset().filter(m => m.ppUsed).length) return PartyUiHandler.NoEffectMessage; return null; - }, iconImage, 'elixir'); + }, 'elixir'); this.restorePoints = restorePoints; } + + getDescription(scene: BattleScene): string { + return this.restorePoints > -1 + ? i18next.t(`modifierType:ModifierType.PokemonAllMovePpRestoreModifierType.description`, { restorePoints: this.restorePoints }) + : i18next.t(`modifierType:ModifierType.PokemonAllMovePpRestoreModifierType.extra.fully`) + ; + } } export class PokemonPpUpModifierType extends PokemonMoveModifierType { protected upPoints: integer; - constructor(name: string, upPoints: integer, iconImage?: string) { - super(name, `Permanently increases PP for one Pokémon move by ${upPoints} for every 5 maximum PP (maximum 3)`, (_type, args) => new Modifiers.PokemonPpUpModifier(this, (args[0] as PlayerPokemon).id, (args[1] as integer), this.upPoints), + constructor(localeKey: string, iconImage: string, upPoints: integer) { + super(localeKey, iconImage, (_type, args) => new Modifiers.PokemonPpUpModifier(this, (args[0] as PlayerPokemon).id, (args[1] as integer), this.upPoints), (_pokemon: PlayerPokemon) => { return null; }, (pokemonMove: PokemonMove) => { if (pokemonMove.getMove().pp < 5 || pokemonMove.ppUp >= 3) return PartyUiHandler.NoEffectMessage; return null; - }, iconImage, 'ppUp'); + }, 'ppUp'); this.upPoints = upPoints; } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonPpUpModifierType.description`, { upPoints: this.upPoints }); + } } export class PokemonNatureChangeModifierType extends PokemonModifierType { protected nature: Nature; constructor(nature: Nature) { - super(`${getNatureName(nature)} Mint`, `Changes a Pokémon\'s nature to ${getNatureName(nature, true, true, true)} and permanently unlocks the nature for the starter.`, ((_type, args) => new Modifiers.PokemonNatureChangeModifier(this, (args[0] as PlayerPokemon).id, this.nature)), + super('', `mint_${Utils.getEnumKeys(Stat).find(s => getNatureStatMultiplier(nature, Stat[s]) > 1)?.toLowerCase() || 'neutral' }`, ((_type, args) => new Modifiers.PokemonNatureChangeModifier(this, (args[0] as PlayerPokemon).id, this.nature)), ((pokemon: PlayerPokemon) => { if (pokemon.getNature() === this.nature) return PartyUiHandler.NoEffectMessage; return null; - }), `mint_${Utils.getEnumKeys(Stat).find(s => getNatureStatMultiplier(nature, Stat[s]) > 1)?.toLowerCase() || 'neutral' }`, 'mint'); + }), 'mint'); this.nature = nature; } + + get name(): string { + return i18next.t(`modifierType:ModifierType.PokemonNatureChangeModifierType.name`, { natureName: getNatureName(this.nature) }); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonNatureChangeModifierType.description`, { natureName: getNatureName(this.nature, true, true, true) }); + } } export class RememberMoveModifierType extends PokemonModifierType { - constructor(name: string, description: string, iconImage?: string, group?: string) { - super(name, description, (type, args) => new Modifiers.RememberMoveModifier(type, (args[0] as PlayerPokemon).id, (args[1] as integer)), + constructor(localeKey: string, iconImage: string, group?: string) { + super(localeKey, iconImage, (type, args) => new Modifiers.RememberMoveModifier(type, (args[0] as PlayerPokemon).id, (args[1] as integer)), (pokemon: PlayerPokemon) => { if (!pokemon.getLearnableLevelMoves().length) return PartyUiHandler.NoEffectMessage; return null; - }, iconImage, group); + }, group); } } export class DoubleBattleChanceBoosterModifierType extends ModifierType { public battleCount: integer; - constructor(name: string, battleCount: integer) { - super(name, `Doubles the chance of an encounter being a double battle for ${battleCount} battles`, (_type, _args) => new Modifiers.DoubleBattleChanceBoosterModifier(this, this.battleCount), - null, 'lure'); + constructor(localeKey: string, iconImage: string, battleCount: integer) { + super(localeKey, iconImage, (_type, _args) => new Modifiers.DoubleBattleChanceBoosterModifier(this, this.battleCount), 'lure'); this.battleCount = battleCount; } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.DoubleBattleChanceBoosterModifierType.description`, { battleCount: this.battleCount }); + } } export class TempBattleStatBoosterModifierType extends ModifierType implements GeneratedPersistentModifierType { public tempBattleStat: TempBattleStat; constructor(tempBattleStat: TempBattleStat) { - super(getTempBattleStatBoosterItemName(tempBattleStat), - `Increases the ${getTempBattleStatName(tempBattleStat)} of all party members by 1 stage for 5 battles`, - (_type, _args) => new Modifiers.TempBattleStatBoosterModifier(this, this.tempBattleStat), - getTempBattleStatBoosterItemName(tempBattleStat).replace(/\./g, '').replace(/[ ]/g, '_').toLowerCase()); + super('', getTempBattleStatBoosterItemName(tempBattleStat).replace(/\./g, '').replace(/[ ]/g, '_').toLowerCase(), + (_type, _args) => new Modifiers.TempBattleStatBoosterModifier(this, this.tempBattleStat)); this.tempBattleStat = tempBattleStat; } + get name(): string { + return i18next.t(`modifierType:TempBattleStatBoosterItem.${getTempBattleStatBoosterItemName(this.tempBattleStat).replace(/\./g, '').replace(/[ ]/g, '_').toLowerCase()}`); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.TempBattleStatBoosterModifierType.description`, { tempBattleStatName: getTempBattleStatName(this.tempBattleStat) }); + } + getPregenArgs(): any[] { return [ this.tempBattleStat ]; } @@ -360,13 +434,19 @@ export class BerryModifierType extends PokemonHeldItemModifierType implements Ge private berryType: BerryType; constructor(berryType: BerryType) { - super(getBerryName(berryType), getBerryEffectDescription(berryType), - (type, args) => new Modifiers.BerryModifier(type, (args[0] as Pokemon).id, berryType), - null, 'berry'); + super('', `${BerryType[berryType].toLowerCase()}_berry`, (type, args) => new Modifiers.BerryModifier(type, (args[0] as Pokemon).id, berryType), 'berry'); this.berryType = berryType; } + get name(): string { + return getBerryName(this.berryType); + } + + getDescription(scene: BattleScene): string { + return getBerryEffectDescription(this.berryType); + } + getPregenArgs(): any[] { return [ this.berryType ]; } @@ -418,29 +498,44 @@ export class AttackTypeBoosterModifierType extends PokemonHeldItemModifierType i public boostPercent: integer; constructor(moveType: Type, boostPercent: integer) { - super(getAttackTypeBoosterItemName(moveType), `Increases the power of a Pokémon's ${Utils.toReadableString(Type[moveType])}-type moves by 20%`, - (_type, args) => new Modifiers.AttackTypeBoosterModifier(this, (args[0] as Pokemon).id, moveType, boostPercent), - `${getAttackTypeBoosterItemName(moveType).replace(/[ \-]/g, '_').toLowerCase()}`); + super('', `${getAttackTypeBoosterItemName(moveType).replace(/[ \-]/g, '_').toLowerCase()}`, + (_type, args) => new Modifiers.AttackTypeBoosterModifier(this, (args[0] as Pokemon).id, moveType, boostPercent)); this.moveType = moveType; this.boostPercent = boostPercent; } + get name(): string { + return i18next.t(`modifierType:AttackTypeBoosterItem.${getAttackTypeBoosterItemName(this.moveType).replace(/[ \-]/g, '_').toLowerCase()}`); + } + + getDescription(scene: BattleScene): string { + // TODO: Need getTypeName? + return i18next.t(`modifierType:ModifierType.AttackTypeBoosterModifierType.description`, { moveType: Utils.toReadableString(Type[this.moveType]) }); + } + getPregenArgs(): any[] { return [ this.moveType ]; } } export class PokemonLevelIncrementModifierType extends PokemonModifierType { - constructor(name: string, iconImage?: string) { - super(name, `Increases a Pokémon\'s level by 1`, (_type, args) => new Modifiers.PokemonLevelIncrementModifier(this, (args[0] as PlayerPokemon).id), - (_pokemon: PlayerPokemon) => null, iconImage); + constructor(localeKey: string, iconImage: string) { + super(localeKey, iconImage, (_type, args) => new Modifiers.PokemonLevelIncrementModifier(this, (args[0] as PlayerPokemon).id), (_pokemon: PlayerPokemon) => null); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonLevelIncrementModifierType.description`); } } export class AllPokemonLevelIncrementModifierType extends ModifierType { - constructor(name: string, iconImage?: string) { - super(name, `Increases all party members' level by 1`, (_type, _args) => new Modifiers.PokemonLevelIncrementModifier(this, -1), iconImage); + constructor(localeKey: string, iconImage: string) { + super(localeKey, iconImage, (_type, _args) => new Modifiers.PokemonLevelIncrementModifier(this, -1)); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.AllPokemonLevelIncrementModifierType.description`); } } @@ -462,73 +557,127 @@ function getBaseStatBoosterItemName(stat: Stat) { } export class PokemonBaseStatBoosterModifierType extends PokemonHeldItemModifierType implements GeneratedPersistentModifierType { + private localeName: string; private stat: Stat; - constructor(name: string, stat: Stat, _iconImage?: string) { - super(name, `Increases the holder's base ${getStatName(stat)} by 10%. The higher your IVs, the higher the stack limit.`, (_type, args) => new Modifiers.PokemonBaseStatModifier(this, (args[0] as Pokemon).id, this.stat)); + constructor(localeName: string, stat: Stat) { + super('', localeName.replace(/[ \-]/g, '_').toLowerCase(), (_type, args) => new Modifiers.PokemonBaseStatModifier(this, (args[0] as Pokemon).id, this.stat)); + this.localeName = localeName; this.stat = stat; } + get name(): string { + return i18next.t(`modifierType:BaseStatBoosterItem.${this.localeName.replace(/[ \-]/g, '_').toLowerCase()}`); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonBaseStatBoosterModifierType.description`, { statName: getStatName(this.stat) }); + } + getPregenArgs(): any[] { return [ this.stat ]; } } class AllPokemonFullHpRestoreModifierType extends ModifierType { - constructor(name: string, description?: string, newModifierFunc?: NewModifierFunc, iconImage?: string) { - super(name, description || `Restores 100% HP for all Pokémon`, newModifierFunc || ((_type, _args) => new Modifiers.PokemonHpRestoreModifier(this, -1, 0, 100, false)), iconImage); + private descriptionKey: string; + + constructor(localeKey: string, iconImage: string, descriptionKey?: string, newModifierFunc?: NewModifierFunc) { + super(localeKey, iconImage, newModifierFunc || ((_type, _args) => new Modifiers.PokemonHpRestoreModifier(this, -1, 0, 100, false))); + + this.descriptionKey = descriptionKey; + } + + getDescription(scene: BattleScene): string { + return i18next.t(`${this.descriptionKey || `modifierType:ModifierType.AllPokemonFullHpRestoreModifierType`}.description` as any); } } class AllPokemonFullReviveModifierType extends AllPokemonFullHpRestoreModifierType { - constructor(name: string, iconImage?: string) { - super(name, `Revives all fainted Pokémon, fully restoring HP`, (_type, _args) => new Modifiers.PokemonHpRestoreModifier(this, -1, 0, 100, false, true), iconImage); + constructor(localeKey: string, iconImage: string) { + super(localeKey, iconImage, `modifierType:ModifierType.AllPokemonFullReviveModifierType`, (_type, _args) => new Modifiers.PokemonHpRestoreModifier(this, -1, 0, 100, false, true)); } } export class MoneyRewardModifierType extends ModifierType { private moneyMultiplier: number; + private moneyMultiplierDescriptorKey: string; - constructor(name: string, moneyMultiplier: number, moneyMultiplierDescriptor: string, iconImage?: string) { - super(name, `Grants a ${moneyMultiplierDescriptor} amount of money (₽{AMOUNT})`, (_type, _args) => new Modifiers.MoneyRewardModifier(this, moneyMultiplier), iconImage, 'money', 'buy'); + constructor(localeKey: string, iconImage: string, moneyMultiplier: number, moneyMultiplierDescriptorKey: string) { + super(localeKey, iconImage, (_type, _args) => new Modifiers.MoneyRewardModifier(this, moneyMultiplier), 'money', 'buy'); this.moneyMultiplier = moneyMultiplier; + this.moneyMultiplierDescriptorKey = moneyMultiplierDescriptorKey; } getDescription(scene: BattleScene): string { - return this.description.replace('{AMOUNT}', scene.getWaveMoneyAmount(this.moneyMultiplier).toLocaleString('en-US')); + return i18next.t(`modifierType:ModifierType.MoneyRewardModifierType.description`, { + moneyMultiplier: i18next.t(this.moneyMultiplierDescriptorKey as any), + moneyAmount: scene.getWaveMoneyAmount(this.moneyMultiplier).toLocaleString('en-US'), + }); } } export class ExpBoosterModifierType extends ModifierType { - constructor(name: string, boostPercent: integer, iconImage?: string) { - super(name, `Increases gain of EXP. Points by ${boostPercent}%`, () => new Modifiers.ExpBoosterModifier(this, boostPercent), iconImage); + private boostPercent: integer; + + constructor(localeKey: string, iconImage: string, boostPercent: integer) { + super(localeKey, iconImage, () => new Modifiers.ExpBoosterModifier(this, boostPercent)); + + this.boostPercent = boostPercent; + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.ExpBoosterModifierType.description`, { boostPercent: this.boostPercent }); } } export class PokemonExpBoosterModifierType extends PokemonHeldItemModifierType { - constructor(name: string, boostPercent: integer, iconImage?: string) { - super(name, `Increases the holder's gain of EXP. Points by ${boostPercent}%`, (_type, args) => new Modifiers.PokemonExpBoosterModifier(this, (args[0] as Pokemon).id, boostPercent), - iconImage); + private boostPercent: integer; + + constructor(localeKey: string, iconImage: string, boostPercent: integer) { + super(localeKey, iconImage, (_type, args) => new Modifiers.PokemonExpBoosterModifier(this, (args[0] as Pokemon).id, boostPercent)); + + this.boostPercent = boostPercent; + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonExpBoosterModifierType.description`, { boostPercent: this.boostPercent }); } } export class PokemonFriendshipBoosterModifierType extends PokemonHeldItemModifierType { - constructor(name: string, iconImage?: string) { - super(name,'Increases friendship gain per victory by 50%', (_type, args) => new Modifiers.PokemonFriendshipBoosterModifier(this, (args[0] as Pokemon).id), iconImage); + constructor(localeKey: string, iconImage: string) { + super(localeKey, iconImage, (_type, args) => new Modifiers.PokemonFriendshipBoosterModifier(this, (args[0] as Pokemon).id)); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonFriendshipBoosterModifierType.description`); } } export class PokemonMoveAccuracyBoosterModifierType extends PokemonHeldItemModifierType { - constructor(name: string, amount: integer, iconImage?: string, group?: string, soundName?: string) { - super(name, `Increases move accuracy by ${amount} (maximum 100)`, (_type, args) => new Modifiers.PokemonMoveAccuracyBoosterModifier(this, (args[0] as Pokemon).id, amount), iconImage, group, soundName); + private amount: integer; + + constructor(localeKey: string, iconImage: string, amount: integer, group?: string, soundName?: string) { + super(localeKey, iconImage, (_type, args) => new Modifiers.PokemonMoveAccuracyBoosterModifier(this, (args[0] as Pokemon).id, amount), group, soundName); + + this.amount = amount; + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonMoveAccuracyBoosterModifierType.description`, { accuracyAmount: this.amount }); } } export class PokemonMultiHitModifierType extends PokemonHeldItemModifierType { - constructor(name: string, iconImage?: string) { - super(name, `Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively.`, (type, args) => new Modifiers.PokemonMultiHitModifier(type as PokemonMultiHitModifierType, (args[0] as Pokemon).id), iconImage); + constructor(localeKey: string, iconImage: string) { + super(localeKey, iconImage, (type, args) => new Modifiers.PokemonMultiHitModifier(type as PokemonMultiHitModifierType, (args[0] as Pokemon).id)); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.PokemonMultiHitModifierType.description`); } } @@ -536,22 +685,33 @@ export class TmModifierType extends PokemonModifierType { public moveId: Moves; constructor(moveId: Moves) { - super(`TM${Utils.padInt(Object.keys(tmSpecies).indexOf(moveId.toString()) + 1, 3)} - ${allMoves[moveId].name}`, `Teach ${allMoves[moveId].name} to a Pokémon`, (_type, args) => new Modifiers.TmModifier(this, (args[0] as PlayerPokemon).id), + super('', `tm_${Type[allMoves[moveId].type].toLowerCase()}`, (_type, args) => new Modifiers.TmModifier(this, (args[0] as PlayerPokemon).id), (pokemon: PlayerPokemon) => { if (pokemon.compatibleTms.indexOf(moveId) === -1 || pokemon.getMoveset().filter(m => m?.moveId === moveId).length) return PartyUiHandler.NoEffectMessage; return null; - }, `tm_${Type[allMoves[moveId].type].toLowerCase()}`, 'tm'); + }, 'tm'); this.moveId = moveId; } + + get name(): string { + return i18next.t(`modifierType:ModifierType.TmModifierType.name`, { + moveId: Utils.padInt(Object.keys(tmSpecies).indexOf(this.moveId.toString()) + 1, 3), + moveName: allMoves[this.moveId].name, + }); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.TmModifierType.description`, { moveName: allMoves[this.moveId].name }); + } } export class EvolutionItemModifierType extends PokemonModifierType implements GeneratedPersistentModifierType { public evolutionItem: EvolutionItem; constructor(evolutionItem: EvolutionItem) { - super(Utils.toReadableString(EvolutionItem[evolutionItem]), `Causes certain Pokémon to evolve`, (_type, args) => new Modifiers.EvolutionItemModifier(this, (args[0] as PlayerPokemon).id), + super('', EvolutionItem[evolutionItem].toLowerCase(), (_type, args) => new Modifiers.EvolutionItemModifier(this, (args[0] as PlayerPokemon).id), (pokemon: PlayerPokemon) => { if (pokemonEvolutions.hasOwnProperty(pokemon.species.speciesId) && pokemonEvolutions[pokemon.species.speciesId].filter(e => e.item === this.evolutionItem && (!e.condition || e.condition.predicate(pokemon))).length && (pokemon.getFormKey() !== SpeciesFormKey.GIGANTAMAX)) @@ -561,10 +721,18 @@ export class EvolutionItemModifierType extends PokemonModifierType implements Ge return null; return PartyUiHandler.NoEffectMessage; - }, EvolutionItem[evolutionItem].toLowerCase()); + }); this.evolutionItem = evolutionItem; } + + get name(): string { + return i18next.t(`modifierType:EvolutionItem.${EvolutionItem[this.evolutionItem]}`); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.EvolutionItemModifierType.description`); + } getPregenArgs(): any[] { return [ this.evolutionItem ]; @@ -575,31 +743,43 @@ export class FormChangeItemModifierType extends PokemonModifierType implements G public formChangeItem: FormChangeItem; constructor(formChangeItem: FormChangeItem) { - super(Utils.toReadableString(FormChangeItem[formChangeItem]), `Causes certain Pokémon to change form`, (_type, args) => new Modifiers.PokemonFormChangeItemModifier(this, (args[0] as PlayerPokemon).id, formChangeItem, true), + super('', FormChangeItem[formChangeItem].toLowerCase(), (_type, args) => new Modifiers.PokemonFormChangeItemModifier(this, (args[0] as PlayerPokemon).id, formChangeItem, true), (pokemon: PlayerPokemon) => { if (pokemonFormChanges.hasOwnProperty(pokemon.species.speciesId) && !!pokemonFormChanges[pokemon.species.speciesId].find(fc => fc.trigger.hasTriggerType(SpeciesFormChangeItemTrigger) && (fc.trigger as SpeciesFormChangeItemTrigger).item === this.formChangeItem)) return null; return PartyUiHandler.NoEffectMessage; - }, FormChangeItem[formChangeItem].toLowerCase()); + }); this.formChangeItem = formChangeItem; } + get name(): string { + return i18next.t(`modifierType:FormChangeItem.${FormChangeItem[this.formChangeItem]}`); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.FormChangeItemModifierType.description`); + } + getPregenArgs(): any[] { return [ this.formChangeItem ]; } } export class FusePokemonModifierType extends PokemonModifierType { - constructor(name: string, iconImage?: string) { - super(name, 'Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)', (_type, args) => new Modifiers.FusePokemonModifier(this, (args[0] as PlayerPokemon).id, (args[1] as PlayerPokemon).id), + constructor(localeKey: string, iconImage: string) { + super(localeKey, iconImage, (_type, args) => new Modifiers.FusePokemonModifier(this, (args[0] as PlayerPokemon).id, (args[1] as PlayerPokemon).id), (pokemon: PlayerPokemon) => { if (pokemon.isFusion()) return PartyUiHandler.NoEffectMessage; return null; - }, iconImage); + }); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.FusePokemonModifierType.description`); } } @@ -712,37 +892,78 @@ export class TerastallizeModifierType extends PokemonHeldItemModifierType implem private teraType: Type; constructor(teraType: Type) { - super(`${Utils.toReadableString(Type[teraType])} Tera Shard`, `${Utils.toReadableString(Type[teraType])} Terastallizes the holder for up to 10 battles`, (type, args) => new Modifiers.TerastallizeModifier(type as TerastallizeModifierType, (args[0] as Pokemon).id, teraType), null, 'tera_shard'); + super('', `${Type[teraType].toLowerCase()}_tera_shard`, (type, args) => new Modifiers.TerastallizeModifier(type as TerastallizeModifierType, (args[0] as Pokemon).id, teraType), 'tera_shard'); this.teraType = teraType; } + get name(): string { + return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.name`, { teraType: i18next.t(`modifierType:FormChangeItem.${Type[this.teraType]}`) }); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.description`, { teraType: i18next.t(`modifierType:FormChangeItem.${Type[this.teraType]}`) }); + } + getPregenArgs(): any[] { return [ this.teraType ]; } } export class ContactHeldItemTransferChanceModifierType extends PokemonHeldItemModifierType { - constructor(name: string, chancePercent: integer, iconImage?: string, group?: string, soundName?: string) { - super(name, `Upon attacking, there is a ${chancePercent}% chance the foe's held item will be stolen.`, (type, args) => new Modifiers.ContactHeldItemTransferChanceModifier(type, (args[0] as Pokemon).id, chancePercent), iconImage, group, soundName); + private chancePercent: integer; + + constructor(localeKey: string, iconImage: string, chancePercent: integer, group?: string, soundName?: string) { + super(localeKey, iconImage, (type, args) => new Modifiers.ContactHeldItemTransferChanceModifier(type, (args[0] as Pokemon).id, chancePercent), group, soundName); + + this.chancePercent = chancePercent; + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.ContactHeldItemTransferChanceModifierType.description`, { chancePercent: this.chancePercent }); } } export class TurnHeldItemTransferModifierType extends PokemonHeldItemModifierType { - constructor(name: string, iconImage?: string, group?: string, soundName?: string) { - super(name, 'Every turn, the holder acquires one held item from the foe.', (type, args) => new Modifiers.TurnHeldItemTransferModifier(type, (args[0] as Pokemon).id), iconImage, group, soundName); + constructor(localeKey: string, iconImage: string, group?: string, soundName?: string) { + super(localeKey, iconImage, (type, args) => new Modifiers.TurnHeldItemTransferModifier(type, (args[0] as Pokemon).id), group, soundName); + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.TurnHeldItemTransferModifierType.description`); } } export class EnemyAttackStatusEffectChanceModifierType extends ModifierType { - constructor(name: string, chancePercent: integer, effect: StatusEffect, iconImage?: string) { - super(name, `Adds a ${chancePercent}% chance to inflict ${getStatusEffectDescriptor(effect)} with attack moves`, (type, args) => new Modifiers.EnemyAttackStatusEffectChanceModifier(type, effect, chancePercent), iconImage, 'enemy_status_chance') + private chancePercent: integer; + private effect: StatusEffect; + + constructor(localeKey: string, iconImage: string, chancePercent: integer, effect: StatusEffect) { + super(localeKey, iconImage, (type, args) => new Modifiers.EnemyAttackStatusEffectChanceModifier(type, effect, chancePercent), 'enemy_status_chance') + + this.chancePercent = chancePercent; + this.effect = effect; + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.EnemyAttackStatusEffectChanceModifierType.description`, { + chancePercent: this.chancePercent, + statusEffect: getStatusEffectDescriptor(this.effect), + }); } } export class EnemyEndureChanceModifierType extends ModifierType { - constructor(name: string, chancePercent: number, iconImage?: string) { - super(name, `Adds a ${chancePercent}% chance of enduring a hit`, (type, _args) => new Modifiers.EnemyEndureChanceModifier(type, chancePercent), iconImage, 'enemy_endure'); + private chancePercent: number; + + constructor(localeKey: string, iconImage: string, chancePercent: number) { + super(localeKey, iconImage, (type, _args) => new Modifiers.EnemyEndureChanceModifier(type, chancePercent), 'enemy_endure'); + + this.chancePercent = chancePercent; + } + + getDescription(scene: BattleScene): string { + return i18next.t(`modifierType:ModifierType.EnemyEndureChanceModifierType.description`, { chancePercent: this.chancePercent }); } } @@ -767,57 +988,56 @@ class WeightedModifierType { } export const modifierTypes = { - POKEBALL: () => new AddPokeballModifierType(PokeballType.POKEBALL, 5, 'pb'), - GREAT_BALL: () => new AddPokeballModifierType(PokeballType.GREAT_BALL, 5, 'gb'), - ULTRA_BALL: () => new AddPokeballModifierType(PokeballType.ULTRA_BALL, 5, 'ub'), - ROGUE_BALL: () => new AddPokeballModifierType(PokeballType.ROGUE_BALL, 5, 'rb'), - MASTER_BALL: () => new AddPokeballModifierType(PokeballType.MASTER_BALL, 1, 'mb'), + POKEBALL: () => new AddPokeballModifierType('pb', PokeballType.POKEBALL, 5), + GREAT_BALL: () => new AddPokeballModifierType('gb', PokeballType.GREAT_BALL, 5), + ULTRA_BALL: () => new AddPokeballModifierType('ub', PokeballType.ULTRA_BALL, 5), + ROGUE_BALL: () => new AddPokeballModifierType('rb', PokeballType.ROGUE_BALL, 5), + MASTER_BALL: () => new AddPokeballModifierType('mb', PokeballType.MASTER_BALL, 1), - RARE_CANDY: () => new PokemonLevelIncrementModifierType('Rare Candy'), - RARER_CANDY: () => new AllPokemonLevelIncrementModifierType('Rarer Candy'), + RARE_CANDY: () => new PokemonLevelIncrementModifierType(`modifierType:ModifierType.RARE_CANDY`, 'rare_candy'), + RARER_CANDY: () => new AllPokemonLevelIncrementModifierType(`modifierType:ModifierType.RARER_CANDY`, 'rarer_candy'), EVOLUTION_ITEM: () => new EvolutionItemModifierTypeGenerator(false), RARE_EVOLUTION_ITEM: () => new EvolutionItemModifierTypeGenerator(true), FORM_CHANGE_ITEM: () => new FormChangeItemModifierTypeGenerator(), - MEGA_BRACELET: () => new ModifierType('Mega Bracelet', 'Mega Stones become available.', (type, _args) => new Modifiers.MegaEvolutionAccessModifier(type)), - DYNAMAX_BAND: () => new ModifierType('Dynamax Band', 'Max Mushrooms become available.', (type, _args) => new Modifiers.GigantamaxAccessModifier(type)), - TERA_ORB: () => new ModifierType('Tera Orb', 'Tera Shards become available.', (type, _args) => new Modifiers.TerastallizeAccessModifier(type)), + MEGA_BRACELET: () => new ModifierType(`modifierType:ModifierType.MEGA_BRACELET`, 'mega_bracelet', (type, _args) => new Modifiers.MegaEvolutionAccessModifier(type)), + DYNAMAX_BAND: () => new ModifierType(`modifierType:ModifierType.DYNAMAX_BAND`, 'dynamax_band', (type, _args) => new Modifiers.GigantamaxAccessModifier(type)), + TERA_ORB: () => new ModifierType(`modifierType:ModifierType.TERA_ORB`, 'tera_orb', (type, _args) => new Modifiers.TerastallizeAccessModifier(type)), - MAP: () => new ModifierType('Map', 'Allows you to choose your destination at a crossroads', (type, _args) => new Modifiers.MapModifier(type)), + MAP: () => new ModifierType(`modifierType:ModifierType.MAP`, 'map', (type, _args) => new Modifiers.MapModifier(type)), - POTION: () => new PokemonHpRestoreModifierType('Potion', 20, 10), - SUPER_POTION: () => new PokemonHpRestoreModifierType('Super Potion', 50, 25), - HYPER_POTION: () => new PokemonHpRestoreModifierType('Hyper Potion', 200, 50), - MAX_POTION: () => new PokemonHpRestoreModifierType('Max Potion', 0, 100), - FULL_RESTORE: () => new PokemonHpRestoreModifierType('Full Restore', 0, 100, true), + POTION: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.POTION`, 'potion', 20, 10), + SUPER_POTION: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.SUPER_POTION`, 'super_potion', 50, 25), + HYPER_POTION: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.HYPER_POTION`, 'hyper_potion', 200, 50), + MAX_POTION: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.MAX_POTION`, 'max_potion', 0, 100), + FULL_RESTORE: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.FULL_RESTORE`, 'full_restore', 0, 100), - REVIVE: () => new PokemonReviveModifierType('Revive', 50), - MAX_REVIVE: () => new PokemonReviveModifierType('Max Revive', 100), + REVIVE: () => new PokemonReviveModifierType(`modifierType:ModifierType.REVIVE`, 'revive', 50), + MAX_REVIVE: () => new PokemonReviveModifierType(`modifierType:ModifierType.MAX_REVIVE`, 'max_revive', 100), - FULL_HEAL: () => new PokemonStatusHealModifierType('Full Heal'), + FULL_HEAL: () => new PokemonStatusHealModifierType(`modifierType:ModifierType.FULL_HEAL`, 'full_heal'), - SACRED_ASH: () => new AllPokemonFullReviveModifierType('Sacred Ash'), + SACRED_ASH: () => new AllPokemonFullReviveModifierType(`modifierType:ModifierType.SACRED_ASH`, 'sacred_ash'), - REVIVER_SEED: () => new PokemonHeldItemModifierType('Reviver Seed', 'Revives the holder for 1/2 HP upon fainting', - (type, args) => new Modifiers.PokemonInstantReviveModifier(type, (args[0] as Pokemon).id)), + REVIVER_SEED: () => new PokemonHeldItemModifierType(`modifierType:ModifierType.REVIVER_SEED`, 'reviver_seed', (type, args) => new Modifiers.PokemonInstantReviveModifier(type, (args[0] as Pokemon).id)), - ETHER: () => new PokemonPpRestoreModifierType('Ether', 10), - MAX_ETHER: () => new PokemonPpRestoreModifierType('Max Ether', -1), + ETHER: () => new PokemonPpRestoreModifierType(`modifierType:ModifierType.ETHER`, 'ether', 10), + MAX_ETHER: () => new PokemonPpRestoreModifierType(`modifierType:ModifierType.MAX_ETHER`, 'max_ether', -1), - ELIXIR: () => new PokemonAllMovePpRestoreModifierType('Elixir', 10), - MAX_ELIXIR: () => new PokemonAllMovePpRestoreModifierType('Max Elixir', -1), + ELIXIR: () => new PokemonAllMovePpRestoreModifierType(`modifierType:ModifierType.ELIXIR`, 'elixir', 10), + MAX_ELIXIR: () => new PokemonAllMovePpRestoreModifierType(`modifierType:ModifierType.MAX_ELIXIR`, 'max_elixir', -1), - PP_UP: () => new PokemonPpUpModifierType('PP Up', 1), - PP_MAX: () => new PokemonPpUpModifierType('PP Max', 3), + PP_UP: () => new PokemonPpUpModifierType(`modifierType:ModifierType.PP_UP`, 'pp_up', 1), + PP_MAX: () => new PokemonPpUpModifierType(`modifierType:ModifierType.PP_MAX`, 'pp_max', 3), /*REPEL: () => new DoubleBattleChanceBoosterModifierType('Repel', 5), SUPER_REPEL: () => new DoubleBattleChanceBoosterModifierType('Super Repel', 10), MAX_REPEL: () => new DoubleBattleChanceBoosterModifierType('Max Repel', 25),*/ - LURE: () => new DoubleBattleChanceBoosterModifierType('Lure', 5), - SUPER_LURE: () => new DoubleBattleChanceBoosterModifierType('Super Lure', 10), - MAX_LURE: () => new DoubleBattleChanceBoosterModifierType('Max Lure', 25), + LURE: () => new DoubleBattleChanceBoosterModifierType(`modifierType:ModifierType.LURE`, 'lure', 5), + SUPER_LURE: () => new DoubleBattleChanceBoosterModifierType(`modifierType:ModifierType.SUPER_LURE`, 'super_lure', 10), + MAX_LURE: () => new DoubleBattleChanceBoosterModifierType(`modifierType:ModifierType.MAX_LURE`, 'max_lure', 25), TEMP_STAT_BOOSTER: () => new ModifierTypeGenerator((party: Pokemon[], pregenArgs?: any[]) => { if (pregenArgs) @@ -879,94 +1099,82 @@ export const modifierTypes = { TM_GREAT: () => new TmModifierTypeGenerator(ModifierTier.GREAT), TM_ULTRA: () => new TmModifierTypeGenerator(ModifierTier.ULTRA), - MEMORY_MUSHROOM: () => new RememberMoveModifierType('Memory Mushroom', 'Recall one Pokémon\'s forgotten move', 'big_mushroom'), + MEMORY_MUSHROOM: () => new RememberMoveModifierType(`modifierType:ModifierType.MEMORY_MUSHROOM`, 'big_mushroom'), - EXP_SHARE: () => new ModifierType('EXP. All', 'Non-participants receive 20% of a single participant\'s EXP. Points.', - (type, _args) => new Modifiers.ExpShareModifier(type), 'exp_share'), - EXP_BALANCE: () => new ModifierType('EXP. Balance', 'Weighs EXP. Points received from battles towards lower-leveled party members', - (type, _args) => new Modifiers.ExpBalanceModifier(type)), + EXP_SHARE: () => new ModifierType(`modifierType:ModifierType.EXP_SHARE`, 'exp_share', (type, _args) => new Modifiers.ExpShareModifier(type), 'exp_share'), + EXP_BALANCE: () => new ModifierType(`modifierType:ModifierType.EXP_BALANCE`, 'exp_balance', (type, _args) => new Modifiers.ExpBalanceModifier(type)), - OVAL_CHARM: () => new ModifierType('Oval Charm', 'When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP.', - (type, _args) => new Modifiers.MultipleParticipantExpBonusModifier(type)), + OVAL_CHARM: () => new ModifierType(`modifierType:ModifierType.OVAL_CHARM`, 'oval_charm', (type, _args) => new Modifiers.MultipleParticipantExpBonusModifier(type)), - EXP_CHARM: () => new ExpBoosterModifierType('EXP. Charm', 25), - SUPER_EXP_CHARM: () => new ExpBoosterModifierType('Super EXP. Charm', 60), - GOLDEN_EXP_CHARM: () => new ExpBoosterModifierType('Golden EXP. Charm', 100), + EXP_CHARM: () => new ExpBoosterModifierType(`modifierType:ModifierType.EXP_CHARM`, 'exp_charm', 25), + SUPER_EXP_CHARM: () => new ExpBoosterModifierType(`modifierType:ModifierType.SUPER_EXP_CHARM`, 'super_exp_charm', 60), + GOLDEN_EXP_CHARM: () => new ExpBoosterModifierType(`modifierType:ModifierType.GOLDEN_EXP_CHARM`, 'golden_exp_charm', 100), - LUCKY_EGG: () => new PokemonExpBoosterModifierType('Lucky Egg', 40), - GOLDEN_EGG: () => new PokemonExpBoosterModifierType('Golden Egg', 100), + LUCKY_EGG: () => new PokemonExpBoosterModifierType(`modifierType:ModifierType.LUCKY_EGG`, 'lucky_egg', 40), + GOLDEN_EGG: () => new PokemonExpBoosterModifierType(`modifierType:ModifierType.GOLDEN_EGG`, 'golden_egg', 100), - SOOTHE_BELL: () => new PokemonFriendshipBoosterModifierType('Soothe Bell'), + SOOTHE_BELL: () => new PokemonFriendshipBoosterModifierType(`modifierType:ModifierType.SOOTHE_BELL`, 'soothe_bell'), - SOUL_DEW: () => new PokemonHeldItemModifierType('Soul Dew', 'Increases the influence of a Pokémon\'s nature on its stats by 10% (additive)', (type, args) => new Modifiers.PokemonNatureWeightModifier(type, (args[0] as Pokemon).id)), + SOUL_DEW: () => new PokemonHeldItemModifierType(`modifierType:ModifierType.SOUL_DEW`, 'soul_dew', (type, args) => new Modifiers.PokemonNatureWeightModifier(type, (args[0] as Pokemon).id)), - NUGGET: () => new MoneyRewardModifierType('Nugget', 1, 'small'), - BIG_NUGGET: () => new MoneyRewardModifierType('Big Nugget', 2.5, 'moderate'), - RELIC_GOLD: () => new MoneyRewardModifierType('Relic Gold', 10, 'large'), + NUGGET: () => new MoneyRewardModifierType(`modifierType:ModifierType.NUGGET`, 'nugget', 1, `modifierType:ModifierType.MoneyRewardModifierType.extra.small`), + BIG_NUGGET: () => new MoneyRewardModifierType(`modifierType:ModifierType.BIG_NUGGET`, 'big_nugget', 2.5, `modifierType:ModifierType.MoneyRewardModifierType.extra.moderate`), + RELIC_GOLD: () => new MoneyRewardModifierType(`modifierType:ModifierType.RELIC_GOLD`, 'relic_gold', 10, `modifierType:ModifierType.MoneyRewardModifierType.extra.large`), - AMULET_COIN: () => new ModifierType('Amulet Coin', 'Increases money rewards by 20%', (type, _args) => new Modifiers.MoneyMultiplierModifier(type)), - GOLDEN_PUNCH: () => new PokemonHeldItemModifierType('Golden Punch', 'Grants 50% of damage inflicted as money', (type, args) => new Modifiers.DamageMoneyRewardModifier(type, (args[0] as Pokemon).id)), - COIN_CASE: () => new ModifierType('Coin Case', 'After every 10th battle, receive 10% of your money in interest.', (type, _args) => new Modifiers.MoneyInterestModifier(type)), + AMULET_COIN: () => new ModifierType(`modifierType:ModifierType.AMULET_COIN`, 'amulet_coin', (type, _args) => new Modifiers.MoneyMultiplierModifier(type)), + GOLDEN_PUNCH: () => new PokemonHeldItemModifierType(`modifierType:ModifierType.GOLDEN_PUNCH`, 'golden_punch', (type, args) => new Modifiers.DamageMoneyRewardModifier(type, (args[0] as Pokemon).id)), + COIN_CASE: () => new ModifierType(`modifierType:ModifierType.COIN_CASE`, 'coin_case', (type, _args) => new Modifiers.MoneyInterestModifier(type)), - LOCK_CAPSULE: () => new ModifierType('Lock Capsule', 'Allows you to lock item rarities when rerolling items', (type, _args) => new Modifiers.LockModifierTiersModifier(type), 'lock_capsule'), + LOCK_CAPSULE: () => new ModifierType(`modifierType:ModifierType.LOCK_CAPSULE`, 'lock_capsule', (type, _args) => new Modifiers.LockModifierTiersModifier(type)), - GRIP_CLAW: () => new ContactHeldItemTransferChanceModifierType('Grip Claw', 10), - WIDE_LENS: () => new PokemonMoveAccuracyBoosterModifierType('Wide Lens', 5, 'wide_lens'), + GRIP_CLAW: () => new ContactHeldItemTransferChanceModifierType(`modifierType:ModifierType.GRIP_CLAW`, 'grip_claw', 10), + WIDE_LENS: () => new PokemonMoveAccuracyBoosterModifierType(`modifierType:ModifierType.WIDE_LENS`, 'wide_lens', 5), - MULTI_LENS: () => new PokemonMultiHitModifierType('Multi Lens', 'zoom_lens'), + MULTI_LENS: () => new PokemonMultiHitModifierType(`modifierType:ModifierType.MULTI_LENS`, 'zoom_lens'), - HEALING_CHARM: () => new ModifierType('Healing Charm', 'Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)', - (type, _args) => new Modifiers.HealingBoosterModifier(type, 1.1), 'healing_charm'), - CANDY_JAR: () => new ModifierType('Candy Jar', 'Increases the number of levels added by Rare Candy items by 1', (type, _args) => new Modifiers.LevelIncrementBoosterModifier(type)), + HEALING_CHARM: () => new ModifierType(`modifierType:ModifierType.HEALING_CHARM`, 'healing_charm', (type, _args) => new Modifiers.HealingBoosterModifier(type, 1.1)), + CANDY_JAR: () => new ModifierType(`modifierType:ModifierType.CANDY_JAR`, 'candy_jar', (type, _args) => new Modifiers.LevelIncrementBoosterModifier(type)), - BERRY_POUCH: () => new ModifierType('Berry Pouch', 'Adds a 25% chance that a used berry will not be consumed', - (type, _args) => new Modifiers.PreserveBerryModifier(type)), + BERRY_POUCH: () => new ModifierType(`modifierType:ModifierType.BERRY_POUCH`, 'berry_pouch', (type, _args) => new Modifiers.PreserveBerryModifier(type)), - FOCUS_BAND: () => new PokemonHeldItemModifierType('Focus Band', 'Adds a 10% chance to survive with 1 HP after being damaged enough to faint', - (type, args) => new Modifiers.SurviveDamageModifier(type, (args[0] as Pokemon).id)), + FOCUS_BAND: () => new PokemonHeldItemModifierType(`modifierType:ModifierType.FOCUS_BAND`, 'focus_band', (type, args) => new Modifiers.SurviveDamageModifier(type, (args[0] as Pokemon).id)), - QUICK_CLAW: () => new PokemonHeldItemModifierType('Quick Claw', 'Adds a 10% chance to move first regardless of speed (after priority)', - (type, args) => new Modifiers.BypassSpeedChanceModifier(type, (args[0] as Pokemon).id)), + QUICK_CLAW: () => new PokemonHeldItemModifierType(`modifierType:ModifierType.QUICK_CLAW`, 'quick_claw', (type, args) => new Modifiers.BypassSpeedChanceModifier(type, (args[0] as Pokemon).id)), - KINGS_ROCK: () => new PokemonHeldItemModifierType('King\'s Rock', 'Adds a 10% chance an attack move will cause the opponent to flinch', - (type, args) => new Modifiers.FlinchChanceModifier(type, (args[0] as Pokemon).id)), + KINGS_ROCK: () => new PokemonHeldItemModifierType(`modifierType:ModifierType.KINGS_ROCK`, 'kings_rock', (type, args) => new Modifiers.FlinchChanceModifier(type, (args[0] as Pokemon).id)), - LEFTOVERS: () => new PokemonHeldItemModifierType('Leftovers', 'Heals 1/16 of a Pokémon\'s maximum HP every turn', - (type, args) => new Modifiers.TurnHealModifier(type, (args[0] as Pokemon).id)), - SHELL_BELL: () => new PokemonHeldItemModifierType('Shell Bell', 'Heals 1/8 of a Pokémon\'s dealt damage', - (type, args) => new Modifiers.HitHealModifier(type, (args[0] as Pokemon).id)), + LEFTOVERS: () => new PokemonHeldItemModifierType(`modifierType:ModifierType.LEFTOVERS`, 'leftovers', (type, args) => new Modifiers.TurnHealModifier(type, (args[0] as Pokemon).id)), + SHELL_BELL: () => new PokemonHeldItemModifierType(`modifierType:ModifierType.SHELL_BELL`, 'shell_bell', (type, args) => new Modifiers.HitHealModifier(type, (args[0] as Pokemon).id)), - BATON: () => new PokemonHeldItemModifierType('Baton', 'Allows passing along effects when switching Pokémon, which also bypasses traps', - (type, args) => new Modifiers.SwitchEffectTransferModifier(type, (args[0] as Pokemon).id), 'stick'), + BATON: () => new PokemonHeldItemModifierType(`modifierType:ModifierType.BATON`, 'stick', (type, args) => new Modifiers.SwitchEffectTransferModifier(type, (args[0] as Pokemon).id)), - SHINY_CHARM: () => new ModifierType('Shiny Charm', 'Dramatically increases the chance of a wild Pokémon being Shiny', (type, _args) => new Modifiers.ShinyRateBoosterModifier(type)), - ABILITY_CHARM: () => new ModifierType('Ability Charm', 'Dramatically increases the chance of a wild Pokémon having a Hidden Ability', (type, _args) => new Modifiers.HiddenAbilityRateBoosterModifier(type)), + SHINY_CHARM: () => new ModifierType(`modifierType:ModifierType.SHINY_CHARM`, 'shiny_charm', (type, _args) => new Modifiers.ShinyRateBoosterModifier(type)), + ABILITY_CHARM: () => new ModifierType(`modifierType:ModifierType.ABILITY_CHARM`, 'ability_charm', (type, _args) => new Modifiers.HiddenAbilityRateBoosterModifier(type)), - IV_SCANNER: () => new ModifierType('IV Scanner', 'Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first.', (type, _args) => new Modifiers.IvScannerModifier(type), 'scanner'), + IV_SCANNER: () => new ModifierType(`modifierType:ModifierType.IV_SCANNER`, 'scanner', (type, _args) => new Modifiers.IvScannerModifier(type)), - DNA_SPLICERS: () => new FusePokemonModifierType('DNA Splicers'), + DNA_SPLICERS: () => new FusePokemonModifierType(`modifierType:ModifierType.DNA_SPLICERS`, 'dna_splicers'), - MINI_BLACK_HOLE: () => new TurnHeldItemTransferModifierType('Mini Black Hole'), + MINI_BLACK_HOLE: () => new TurnHeldItemTransferModifierType(`modifierType:ModifierType.MINI_BLACK_HOLE`, 'mini_black_hole'), VOUCHER: () => new AddVoucherModifierType(VoucherType.REGULAR, 1), VOUCHER_PLUS: () => new AddVoucherModifierType(VoucherType.PLUS, 1), VOUCHER_PREMIUM: () => new AddVoucherModifierType(VoucherType.PREMIUM, 1), - GOLDEN_POKEBALL: () => new ModifierType(`Golden ${getPokeballName(PokeballType.POKEBALL)}`, 'Adds 1 extra item option at the end of every battle', - (type, _args) => new Modifiers.ExtraModifierModifier(type), 'pb_gold', null, 'pb_bounce_1'), + GOLDEN_POKEBALL: () => new ModifierType(`modifierType:ModifierType.GOLDEN_POKEBALL`, 'pb_gold', (type, _args) => new Modifiers.ExtraModifierModifier(type), null, 'pb_bounce_1'), - ENEMY_DAMAGE_BOOSTER: () => new ModifierType('Damage Token', 'Increases damage by 5%', (type, _args) => new Modifiers.EnemyDamageBoosterModifier(type, 5), 'wl_item_drop'), - ENEMY_DAMAGE_REDUCTION: () => new ModifierType('Protection Token', 'Reduces incoming damage by 2.5%', (type, _args) => new Modifiers.EnemyDamageReducerModifier(type, 2.5), 'wl_guard_spec'), + ENEMY_DAMAGE_BOOSTER: () => new ModifierType(`modifierType:ModifierType.ENEMY_DAMAGE_BOOSTER`, 'wl_item_drop', (type, _args) => new Modifiers.EnemyDamageBoosterModifier(type, 5)), + ENEMY_DAMAGE_REDUCTION: () => new ModifierType(`modifierType:ModifierType.ENEMY_DAMAGE_REDUCTION`, 'wl_guard_spec', (type, _args) => new Modifiers.EnemyDamageReducerModifier(type, 2.5)), //ENEMY_SUPER_EFFECT_BOOSTER: () => new ModifierType('Type Advantage Token', 'Increases damage of super effective attacks by 30%', (type, _args) => new Modifiers.EnemySuperEffectiveDamageBoosterModifier(type, 30), 'wl_custom_super_effective'), - ENEMY_HEAL: () => new ModifierType('Recovery Token', 'Heals 2% of max HP every turn', (type, _args) => new Modifiers.EnemyTurnHealModifier(type, 2), 'wl_potion'), - ENEMY_ATTACK_POISON_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType('Poison Token', 10, StatusEffect.POISON, 'wl_antidote'), - ENEMY_ATTACK_PARALYZE_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType('Paralyze Token', 10, StatusEffect.PARALYSIS, 'wl_paralyze_heal'), - ENEMY_ATTACK_SLEEP_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType('Sleep Token', 10, StatusEffect.SLEEP, 'wl_awakening'), - ENEMY_ATTACK_FREEZE_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType('Freeze Token', 10, StatusEffect.FREEZE, 'wl_ice_heal'), - ENEMY_ATTACK_BURN_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType('Burn Token', 10, StatusEffect.BURN, 'wl_burn_heal'), - ENEMY_STATUS_EFFECT_HEAL_CHANCE: () => new ModifierType('Full Heal Token', 'Adds a 10% chance every turn to heal a status condition', (type, _args) => new Modifiers.EnemyStatusEffectHealChanceModifier(type, 10), 'wl_full_heal'), - ENEMY_ENDURE_CHANCE: () => new EnemyEndureChanceModifierType('Endure Token', 2.5, 'wl_reset_urge'), - ENEMY_FUSED_CHANCE: () => new ModifierType('Fusion Token', 'Adds a 1% chance that a wild Pokémon will be a fusion', (type, _args) => new Modifiers.EnemyFusionChanceModifier(type, 1), 'wl_custom_spliced'), + ENEMY_HEAL: () => new ModifierType(`modifierType:ModifierType.ENEMY_HEAL`, 'wl_potion', (type, _args) => new Modifiers.EnemyTurnHealModifier(type, 2)), + ENEMY_ATTACK_POISON_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType(`modifierType:ModifierType.ENEMY_ATTACK_POISON_CHANCE`, 'wl_antidote', 10, StatusEffect.POISON), + ENEMY_ATTACK_PARALYZE_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType(`modifierType:ModifierType.ENEMY_ATTACK_PARALYZE_CHANCE`, 'wl_paralyze_heal', 10, StatusEffect.PARALYSIS), + ENEMY_ATTACK_SLEEP_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType(`modifierType:ModifierType.ENEMY_ATTACK_SLEEP_CHANCE`, 'wl_awakening', 10, StatusEffect.SLEEP), + ENEMY_ATTACK_FREEZE_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType(`modifierType:ModifierType.ENEMY_ATTACK_FREEZE_CHANCE`, 'wl_ice_heal', 10, StatusEffect.FREEZE), + ENEMY_ATTACK_BURN_CHANCE: () => new EnemyAttackStatusEffectChanceModifierType(`modifierType:ModifierType.ENEMY_ATTACK_BURN_CHANCE`, 'wl_burn_heal', 10, StatusEffect.BURN), + ENEMY_STATUS_EFFECT_HEAL_CHANCE: () => new ModifierType(`modifierType:ModifierType.ENEMY_STATUS_EFFECT_HEAL_CHANCE`, 'wl_full_heal', (type, _args) => new Modifiers.EnemyStatusEffectHealChanceModifier(type, 10)), + ENEMY_ENDURE_CHANCE: () => new EnemyEndureChanceModifierType(`modifierType:ModifierType.ENEMY_ENDURE_CHANCE`, 'wl_reset_urge', 2.5), + ENEMY_FUSED_CHANCE: () => new ModifierType(`modifierType:ModifierType.ENEMY_FUSED_CHANCE`, 'wl_custom_spliced', (type, _args) => new Modifiers.EnemyFusionChanceModifier(type, 1)), }; interface ModifierPool { diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 44712b12778..b2d6fbf537a 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -31,6 +31,22 @@ export interface AbilityTranslationEntries { [key: string]: AbilityTranslationEntry } +export interface ModifierTypeTranslationEntry { + name?: string, + description?: string, + extra?: SimpleTranslationEntries +} + +export interface ModifierTypeTranslationEntries { + ModifierType: { [key: string]: ModifierTypeTranslationEntry }, + AttackTypeBoosterItem: SimpleTranslationEntries, + TempBattleStatBoosterItem: SimpleTranslationEntries, + BaseStatBoosterItem: SimpleTranslationEntries, + EvolutionItem: SimpleTranslationEntries, + FormChangeItem: SimpleTranslationEntries, + TeraType: SimpleTranslationEntries, +} + export interface Localizable { localize(): void; } @@ -111,6 +127,7 @@ declare module 'i18next' { nature: SimpleTranslationEntries; growth: SimpleTranslationEntries; weather: SimpleTranslationEntries; + modifierType: ModifierTypeTranslationEntries; }; } } From 5fa57d42a63cf606cd0133ce1b8bc514fdc46a00 Mon Sep 17 00:00:00 2001 From: FanHua Date: Thu, 16 May 2024 13:00:47 +0800 Subject: [PATCH 02/84] =?UTF-8?q?Fix=20the=20issue=20where=20=E2=80=98Tera?= =?UTF-8?q?stallizeModifierType=E2=80=99=20uses=20the=20wrong=20translatio?= =?UTF-8?q?n=20key.=20(#942)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modifier/modifier-type.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index c0f33521b33..160043f2601 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -898,11 +898,11 @@ export class TerastallizeModifierType extends PokemonHeldItemModifierType implem } get name(): string { - return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.name`, { teraType: i18next.t(`modifierType:FormChangeItem.${Type[this.teraType]}`) }); + return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.name`, { teraType: i18next.t(`modifierType:TeraType.${Type[this.teraType]}`) }); } getDescription(scene: BattleScene): string { - return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.description`, { teraType: i18next.t(`modifierType:FormChangeItem.${Type[this.teraType]}`) }); + return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.description`, { teraType: i18next.t(`modifierType:TeraType.${Type[this.teraType]}`) }); } getPregenArgs(): any[] { From b9d48e9138a3ae7a6534ee08edcbd3c76e114eab Mon Sep 17 00:00:00 2001 From: Ice <98368751+IceFire03@users.noreply.github.com> Date: Thu, 16 May 2024 00:12:19 -0500 Subject: [PATCH 03/84] Change seed flare stat drop to 2 stages (#943) --- 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 46216eb754a..5f255d0fd51 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -5650,7 +5650,7 @@ export function initMoves() { .attr(StatusEffectAttr, StatusEffect.SLEEP) .target(MoveTarget.ALL_NEAR_ENEMIES), new AttackMove(Moves.SEED_FLARE, Type.GRASS, MoveCategory.SPECIAL, 120, 85, 5, 40, 0, 4) - .attr(StatChangeAttr, BattleStat.SPDEF, -1), + .attr(StatChangeAttr, BattleStat.SPDEF, -2), new AttackMove(Moves.OMINOUS_WIND, Type.GHOST, MoveCategory.SPECIAL, 60, 100, 5, 10, 0, 4) .attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD ], 1, true) .windMove(), From b82b8c31d1d978ee88b30e394d95d75ace368ee1 Mon Sep 17 00:00:00 2001 From: FanHua Date: Thu, 16 May 2024 13:18:06 +0800 Subject: [PATCH 04/84] =?UTF-8?q?Fixed=20the=20incorrect=20translation=20k?= =?UTF-8?q?ey=20for=20=E2=80=98Never-Melt=20Ice=E2=80=99=20(#944)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed the issue with the incorrect translation key for ‘Never-Melt Ice’ * fix typo --------- Co-authored-by: Benjamin Odom --- src/locales/de/modifier-type.ts | 2 +- src/locales/en/modifier-type.ts | 2 +- src/locales/es/modifier-type.ts | 2 +- src/locales/fr/modifier-type.ts | 2 +- src/locales/it/modifier-type.ts | 2 +- src/locales/pt_BR/modifier-type.ts | 2 +- src/locales/zh_CN/modifier-type.ts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/locales/de/modifier-type.ts b/src/locales/de/modifier-type.ts index 729644dc3b8..043d7a705d5 100644 --- a/src/locales/de/modifier-type.ts +++ b/src/locales/de/modifier-type.ts @@ -258,7 +258,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "miracle_seed": "Miracle Seed", "magnet": "Magnet", "twisted_spoon": "Twisted Spoon", - "never-nelt_ice": "Never-Melt Ice", + "never_melt_ice": "Never-Melt Ice", "dragon_fang": "Dragon Fang", "black_glasses": "Black Glasses", "fairy_feather": "Fairy Feather", diff --git a/src/locales/en/modifier-type.ts b/src/locales/en/modifier-type.ts index 729644dc3b8..a8e43d20883 100644 --- a/src/locales/en/modifier-type.ts +++ b/src/locales/en/modifier-type.ts @@ -258,7 +258,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "miracle_seed": "Miracle Seed", "magnet": "Magnet", "twisted_spoon": "Twisted Spoon", - "never-nelt_ice": "Never-Melt Ice", + "never_nelt_ice": "Never-Melt Ice", "dragon_fang": "Dragon Fang", "black_glasses": "Black Glasses", "fairy_feather": "Fairy Feather", diff --git a/src/locales/es/modifier-type.ts b/src/locales/es/modifier-type.ts index 729644dc3b8..043d7a705d5 100644 --- a/src/locales/es/modifier-type.ts +++ b/src/locales/es/modifier-type.ts @@ -258,7 +258,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "miracle_seed": "Miracle Seed", "magnet": "Magnet", "twisted_spoon": "Twisted Spoon", - "never-nelt_ice": "Never-Melt Ice", + "never_melt_ice": "Never-Melt Ice", "dragon_fang": "Dragon Fang", "black_glasses": "Black Glasses", "fairy_feather": "Fairy Feather", diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 729644dc3b8..043d7a705d5 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -258,7 +258,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "miracle_seed": "Miracle Seed", "magnet": "Magnet", "twisted_spoon": "Twisted Spoon", - "never-nelt_ice": "Never-Melt Ice", + "never_melt_ice": "Never-Melt Ice", "dragon_fang": "Dragon Fang", "black_glasses": "Black Glasses", "fairy_feather": "Fairy Feather", diff --git a/src/locales/it/modifier-type.ts b/src/locales/it/modifier-type.ts index 729644dc3b8..043d7a705d5 100644 --- a/src/locales/it/modifier-type.ts +++ b/src/locales/it/modifier-type.ts @@ -258,7 +258,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "miracle_seed": "Miracle Seed", "magnet": "Magnet", "twisted_spoon": "Twisted Spoon", - "never-nelt_ice": "Never-Melt Ice", + "never_melt_ice": "Never-Melt Ice", "dragon_fang": "Dragon Fang", "black_glasses": "Black Glasses", "fairy_feather": "Fairy Feather", diff --git a/src/locales/pt_BR/modifier-type.ts b/src/locales/pt_BR/modifier-type.ts index 729644dc3b8..043d7a705d5 100644 --- a/src/locales/pt_BR/modifier-type.ts +++ b/src/locales/pt_BR/modifier-type.ts @@ -258,7 +258,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "miracle_seed": "Miracle Seed", "magnet": "Magnet", "twisted_spoon": "Twisted Spoon", - "never-nelt_ice": "Never-Melt Ice", + "never_melt_ice": "Never-Melt Ice", "dragon_fang": "Dragon Fang", "black_glasses": "Black Glasses", "fairy_feather": "Fairy Feather", diff --git a/src/locales/zh_CN/modifier-type.ts b/src/locales/zh_CN/modifier-type.ts index 729644dc3b8..043d7a705d5 100644 --- a/src/locales/zh_CN/modifier-type.ts +++ b/src/locales/zh_CN/modifier-type.ts @@ -258,7 +258,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "miracle_seed": "Miracle Seed", "magnet": "Magnet", "twisted_spoon": "Twisted Spoon", - "never-nelt_ice": "Never-Melt Ice", + "never_melt_ice": "Never-Melt Ice", "dragon_fang": "Dragon Fang", "black_glasses": "Black Glasses", "fairy_feather": "Fairy Feather", From fff2eda127c898dc8c816bf996437648fa4190f0 Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Thu, 16 May 2024 00:26:27 -0500 Subject: [PATCH 05/84] Add additional form change entries for Terapagos It still can't switch from it's Terastal form to Stellar form yet, but this is in preparation for it. --- src/data/pokemon-forms.ts | 4 +++- src/locales/en/modifier-type.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/data/pokemon-forms.ts b/src/data/pokemon-forms.ts index 9a38ed81e34..a8bc07e92df 100644 --- a/src/data/pokemon-forms.ts +++ b/src/data/pokemon-forms.ts @@ -705,7 +705,9 @@ export const pokemonFormChanges: PokemonFormChanges = { new SpeciesFormChange(Species.OGERPON, 'cornerstone-mask-tera', 'cornerstone-mask', new SpeciesFormChangeManualTrigger(), true) //When no longer holding a Rock Tera Shard ], [Species.TERAPAGOS]: [ - new SpeciesFormChange(Species.TERAPAGOS, '', 'terastal', new SpeciesFormChangeManualTrigger(), true) + new SpeciesFormChange(Species.TERAPAGOS, '', 'terastal', new SpeciesFormChangeManualTrigger(), true), + new SpeciesFormChange(Species.TERAPAGOS, 'terastal', 'stellar', new SpeciesFormChangeManualTrigger(), true), //When holding a Stellar Tera Shard + new SpeciesFormChange(Species.TERAPAGOS, 'stellar', 'terastal', new SpeciesFormChangeManualTrigger(), true) //When no longer holding a Stellar Tera Shard ], [Species.GALAR_DARMANITAN]: [ new SpeciesFormChange(Species.GALAR_DARMANITAN, '', 'zen', new SpeciesFormChangeManualTrigger(), true), diff --git a/src/locales/en/modifier-type.ts b/src/locales/en/modifier-type.ts index a8e43d20883..043d7a705d5 100644 --- a/src/locales/en/modifier-type.ts +++ b/src/locales/en/modifier-type.ts @@ -258,7 +258,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "miracle_seed": "Miracle Seed", "magnet": "Magnet", "twisted_spoon": "Twisted Spoon", - "never_nelt_ice": "Never-Melt Ice", + "never_melt_ice": "Never-Melt Ice", "dragon_fang": "Dragon Fang", "black_glasses": "Black Glasses", "fairy_feather": "Fairy Feather", From 0aca9aed9c950a783c010a5913c7ee95dc8dbfaf Mon Sep 17 00:00:00 2001 From: FanHua Date: Thu, 16 May 2024 14:17:29 +0800 Subject: [PATCH 06/84] fix: FULL_RESTORE should now heal status (#947) --- src/modifier/modifier-type.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 160043f2601..c87403d3d2f 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1011,7 +1011,7 @@ export const modifierTypes = { SUPER_POTION: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.SUPER_POTION`, 'super_potion', 50, 25), HYPER_POTION: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.HYPER_POTION`, 'hyper_potion', 200, 50), MAX_POTION: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.MAX_POTION`, 'max_potion', 0, 100), - FULL_RESTORE: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.FULL_RESTORE`, 'full_restore', 0, 100), + FULL_RESTORE: () => new PokemonHpRestoreModifierType(`modifierType:ModifierType.FULL_RESTORE`, 'full_restore', 0, 100, true), REVIVE: () => new PokemonReviveModifierType(`modifierType:ModifierType.REVIVE`, 'revive', 50), MAX_REVIVE: () => new PokemonReviveModifierType(`modifierType:ModifierType.MAX_REVIVE`, 'max_revive', 100), From 77cfa580786cf6853da38cf307463ac45657e604 Mon Sep 17 00:00:00 2001 From: FanHua Date: Thu, 16 May 2024 14:49:07 +0800 Subject: [PATCH 07/84] fix: EXP_SHARE should not have a group parameter (#948) --- src/modifier/modifier-type.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index c87403d3d2f..50bf2f78a0c 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1101,7 +1101,7 @@ export const modifierTypes = { MEMORY_MUSHROOM: () => new RememberMoveModifierType(`modifierType:ModifierType.MEMORY_MUSHROOM`, 'big_mushroom'), - EXP_SHARE: () => new ModifierType(`modifierType:ModifierType.EXP_SHARE`, 'exp_share', (type, _args) => new Modifiers.ExpShareModifier(type), 'exp_share'), + EXP_SHARE: () => new ModifierType(`modifierType:ModifierType.EXP_SHARE`, 'exp_share', (type, _args) => new Modifiers.ExpShareModifier(type)), EXP_BALANCE: () => new ModifierType(`modifierType:ModifierType.EXP_BALANCE`, 'exp_balance', (type, _args) => new Modifiers.ExpBalanceModifier(type)), OVAL_CHARM: () => new ModifierType(`modifierType:ModifierType.OVAL_CHARM`, 'oval_charm', (type, _args) => new Modifiers.MultipleParticipantExpBonusModifier(type)), From 8508ee7bc688c2ec530f83c12fd0837f1d0df3dc Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Thu, 16 May 2024 02:05:36 -0500 Subject: [PATCH 08/84] Semi-Invulnerable Hit Checks Count as Miss (#904) Fixed an issue where targeting the user of a Semi-Invulnerable move caused the move to cancel. These moves now miss instead. No Guard and other accuracy locking moves still function as they were already duplicating their check in hitCheck. Fixed an issue where IGNORE_ACCURACY was checking against the current move for targets instead of Lock-On's target --- src/phases.ts | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/phases.ts b/src/phases.ts index e2755328c69..90039502c30 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -2270,12 +2270,8 @@ export class MovePhase extends BattlePhase { } const targets = this.scene.getField(true).filter(p => { - if (this.targets.indexOf(p.getBattlerIndex()) > -1) { - const hiddenTag = p.getTag(HiddenTag); - if (hiddenTag && !this.move.getMove().getAttrs(HitsTagAttr).filter(hta => (hta as HitsTagAttr).tagType === hiddenTag.tagType).length && !p.hasAbilityWithAttr(AlwaysHitAbAttr) && !this.pokemon.hasAbilityWithAttr(AlwaysHitAbAttr)) - return false; + if (this.targets.indexOf(p.getBattlerIndex()) > -1) return true; - } return false; }); @@ -2316,10 +2312,17 @@ export class MovePhase extends BattlePhase { if (this.move.moveId) this.showMoveText(); - if ((moveQueue.length && moveQueue[0].move === Moves.NONE) || (!targets.length && !this.move.getMove().getAttrs(SacrificialAttr).length)) { - moveQueue.shift(); + // This should only happen when there are no valid targets left on the field + if ((moveQueue.length && moveQueue[0].move === Moves.NONE) || !targets.length) { + this.showFailedText(); this.cancel(); + + // Record a failed move so Abilities like Truant don't trigger next turn and soft-lock this.pokemon.pushMoveHistory({ move: Moves.NONE, result: MoveResult.FAIL }); + + this.pokemon.lapseTags(BattlerTagLapseType.MOVE_EFFECT); // Remove any tags from moves like Fly/Dive/etc. + + moveQueue.shift(); return this.end(); } @@ -2590,13 +2593,14 @@ export class MoveEffectPhase extends PokemonPhase { if (user.hasAbilityWithAttr(AlwaysHitAbAttr) || target.hasAbilityWithAttr(AlwaysHitAbAttr)) return true; + // If the user should ignore accuracy on a target, check who the user targeted last turn and see if they match + if (user.getTag(BattlerTagType.IGNORE_ACCURACY) && (user.getLastXMoves().slice(1).find(() => true)?.targets || []).indexOf(target.getBattlerIndex()) !== -1) + return true; + const hiddenTag = target.getTag(HiddenTag); if (hiddenTag && !this.move.getMove().getAttrs(HitsTagAttr).filter(hta => (hta as HitsTagAttr).tagType === hiddenTag.tagType).length) return false; - if (user.getTag(BattlerTagType.IGNORE_ACCURACY) && (user.getLastXMoves().find(() => true)?.targets || []).indexOf(target.getBattlerIndex()) > -1) - return true; - const moveAccuracy = new Utils.NumberHolder(this.move.getMove().accuracy); applyMoveAttrs(VariableAccuracyAttr, user, target, this.move.getMove(), moveAccuracy); From b30f73fb7245aa4f4b4fbfae1448b281f218b0e1 Mon Sep 17 00:00:00 2001 From: Gerafique <155723753+Gerafique@users.noreply.github.com> Date: Thu, 16 May 2024 10:18:01 +0200 Subject: [PATCH 09/84] Update GER translations starter-select-ui-handler.ts (#952) added uncaught corrected ability --- src/locales/de/starter-select-ui-handler.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locales/de/starter-select-ui-handler.ts b/src/locales/de/starter-select-ui-handler.ts index 5f6dae32cf6..0723c14ad82 100644 --- a/src/locales/de/starter-select-ui-handler.ts +++ b/src/locales/de/starter-select-ui-handler.ts @@ -17,7 +17,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "gen8": "VIII", "gen9": "IX", "growthRate": "Wachstum:", - "ability": "Fhgkeit:", + "ability": "Fähgkeit:", "passive": "Passiv:", "nature": "Wesen:", "eggMoves": "Ei-Attacken", @@ -40,5 +40,5 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "disablePassive": "Passiv-Skill deaktivieren", "locked": "Gesperrt", "disabled": "Deaktiviert", - "uncaught": "Uncaught" + "uncaught": "Ungefangen" } From 0365ca88264d34a1990ef90e009ed8cb78a4c389 Mon Sep 17 00:00:00 2001 From: Gerafique <155723753+Gerafique@users.noreply.github.com> Date: Thu, 16 May 2024 10:22:04 +0200 Subject: [PATCH 10/84] Added weather.ts GER translations (#953) added translations for each weather-type --- src/locales/de/weather.ts | 60 +++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/locales/de/weather.ts b/src/locales/de/weather.ts index 999613f1566..0c5635de736 100644 --- a/src/locales/de/weather.ts +++ b/src/locales/de/weather.ts @@ -4,41 +4,41 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; * The weather namespace holds text displayed when weather is active during a battle */ export const weather: SimpleTranslationEntries = { - "sunnyStartMessage": "The sunlight got bright!", - "sunnyLapseMessage": "The sunlight is strong.", - "sunnyClearMessage": "The sunlight faded.", + "sunnyStartMessage": "Die Sonne hellt auf!", + "sunnyLapseMessage": "Die Sonne blendet.", + "sunnyClearMessage": "Die Sonne schwächt ab.", - "rainStartMessage": "A downpour started!", - "rainLapseMessage": "The downpour continues.", - "rainClearMessage": "The rain stopped.", + "rainStartMessage": "Es fängt an zu regnen!", + "rainLapseMessage": "Es regnet weiterhin.", + "rainClearMessage": "Es hört auf zu regnen.", - "sandstormStartMessage": "A sandstorm brewed!", - "sandstormLapseMessage": "The sandstorm rages.", - "sandstormClearMessage": "The sandstorm subsided.", - "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!", + "sandstormStartMessage": "Ein Sandsturm braut sich zusammen!", + "sandstormLapseMessage": "Der Sandsturm tobt.", + "sandstormClearMessage": "Der Sandsturm lässt nach.", + "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nSandsturm beeinträchtigt!", - "hailStartMessage": "It started to hail!", - "hailLapseMessage": "Hail continues to fall.", - "hailClearMessage": "The hail stopped.", - "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!", + "hailStartMessage": "Es fängt an zu hageln!", + "hailLapseMessage": "Es hagelt weiterhin.", + "hailClearMessage": "Es hört auf zu hageln.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nHagel beeinträchtigt!", - "snowStartMessage": "It started to snow!", - "snowLapseMessage": "The snow is falling down.", - "snowClearMessage": "The snow stopped.", + "snowStartMessage": "Es fängt an zu schneien!", + "snowLapseMessage": "Es schneit weiterhin.", + "snowClearMessage": "Es hört auf zu schneien.", - "fogStartMessage": "A thick fog emerged!", - "fogLapseMessage": "The fog continues.", - "fogClearMessage": "The fog disappeared.", + "fogStartMessage": "Es fängt an zu nebeln!", + "fogLapseMessage": "Es nebelt weiterhin.", + "fogClearMessage": "Es hört auf zu nebeln.", - "heavyRainStartMessage": "A heavy downpour started!", - "heavyRainLapseMessage": "The heavy downpour continues.", - "heavyRainClearMessage": "The heavy rain stopped.", + "heavyRainStartMessage": "Ein Starkregen beginnt!", + "heavyRainLapseMessage": "Der Starkregen hält an.", + "heavyRainClearMessage": "Der Starkregen lässt nach.", - "harshSunStartMessage": "The sunlight got hot!", - "harshSunLapseMessage": "The sun is scorching hot.", - "harshSunClearMessage": "The harsh sunlight faded.", + "harshSunStartMessage": "Das Sonnenlicht wird wärmer!", + "harshSunLapseMessage": "Das Sonnenlicht brennt.", + "harshSunClearMessage": "Das Sonnenlicht schwächt ab.", - "strongWindsStartMessage": "A heavy wind began!", - "strongWindsLapseMessage": "The wind blows intensely.", - "strongWindsClearMessage": "The heavy wind stopped." -} \ No newline at end of file + "strongWindsStartMessage": "Ein starker Wind zieht auf!", + "strongWindsLapseMessage": "Der starke Wind tobt.", + "strongWindsClearMessage": "Der starke Wind legt sich." +} From 482accda18c0af93cd58784d329e200e792684bd Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Thu, 16 May 2024 10:23:47 +0200 Subject: [PATCH 11/84] Added german modifier-type.ts localization (#949) * Added german modifier-type.ts * Fixed Text that was to long and added missing formatting * Fixed a key that was wrong * Changed never_melt_ice again. Now it the same as in other languages --- src/locales/de/modifier-type.ts | 539 ++++++++++++++++---------------- 1 file changed, 270 insertions(+), 269 deletions(-) diff --git a/src/locales/de/modifier-type.ts b/src/locales/de/modifier-type.ts index 043d7a705d5..dea1421ac20 100644 --- a/src/locales/de/modifier-type.ts +++ b/src/locales/de/modifier-type.ts @@ -4,406 +4,407 @@ export const modifierType: ModifierTypeTranslationEntries = { ModifierType: { "AddPokeballModifierType": { name: "{{modifierCount}}x {{pokeballName}}", - description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + description: "Erhalte {{pokeballName}} x{{modifierCount}} (Inventar: {{pokeballAmount}}) \nFangrate: {{catchRate}}", }, "AddVoucherModifierType": { name: "{{modifierCount}}x {{voucherTypeName}}", - description: "Receive {{voucherTypeName}} x{{modifierCount}}", + description: "Erhalte {{voucherTypeName}} x{{modifierCount}}", }, "PokemonHeldItemModifierType": { extra: { - "inoperable": "{{pokemonName}} can't take\nthis item!", - "tooMany": "{{pokemonName}} has too many\nof this item!", + "inoperable": "{{pokemonName}} kann dieses\nItem nicht nehmen!", + "tooMany": "{{pokemonName}} hat zu viele\nvon diesem Item!", } }, "PokemonHpRestoreModifierType": { - description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + description: "Füllt {{restorePoints}} KP oder {{restorePercent}}% der KP für ein Pokémon auf. Je nachdem, welcher Wert höher ist", extra: { - "fully": "Fully restores HP for one Pokémon", - "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + "fully": "Füllt die KP eines Pokémon wieder vollständig auf.", + "fullyWithStatus": "Füllt die KP eines Pokémon wieder vollständig auf und behebt alle Statusprobleme", } }, "PokemonReviveModifierType": { - description: "Revives one Pokémon and restores {{restorePercent}}% HP", + description: "Belebt ein kampunfähiges Pokémon wieder und stellt {{restorePercent}}% KP wieder her", }, "PokemonStatusHealModifierType": { - description: "Heals any status ailment for one Pokémon", + description: "Behebt alle Statusprobleme eines Pokémon", }, "PokemonPpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for one Pokémon move", + description: "Füllt {{restorePoints}} AP der ausgewählten Attacke eines Pokémon auf", extra: { - "fully": "Restores all PP for one Pokémon move", + "fully": "Füllt alle AP der ausgewählten Attacke eines Pokémon auf", } }, "PokemonAllMovePpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + description: "Stellt {{restorePoints}} AP für alle Attacken eines Pokémon auf", extra: { - "fully": "Restores all PP for all of one Pokémon's moves", + "fully": "Füllt alle AP für alle Attacken eines Pokémon auf", } }, "PokemonPpUpModifierType": { - description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + description: "Erhöht die maximale Anzahl der AP der ausgewählten Attacke um {{upPoints}} für jede 5 maximale AP (maximal 3)", }, "PokemonNatureChangeModifierType": { - name: "{{natureName}} Mint", - description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + name: "{{natureName}} Minze", + description: "Ändert das Wesen zu {{natureName}}. Schaltet dieses Wesen permanent für diesen Starter frei.", }, "DoubleBattleChanceBoosterModifierType": { - description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + description: "Verdoppelt die Wahrscheinlichkeit, dass die nächsten {{battleCount}} Begegnungen mit wilden Pokémon ein Doppelkampf sind.", }, "TempBattleStatBoosterModifierType": { - description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + description: "Erhöht die {{tempBattleStatName}} aller Teammitglieder für 5 Kämpfe um eine Stufe", }, "AttackTypeBoosterModifierType": { - description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + description: "Erhöht die Stärke aller {{moveType}}attacken eines Pokémon um 20%", }, "PokemonLevelIncrementModifierType": { - description: "Increases a Pokémon's level by 1", + description: "Erhöht das Level eines Pokémon um 1", }, "AllPokemonLevelIncrementModifierType": { - description: "Increases all party members' level by 1", + description: "Erhöht das Level aller Teammitglieder um 1", }, "PokemonBaseStatBoosterModifierType": { - description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + description: "Erhöht den {{statName}} Basiswert des Trägers um 10%. Das Stapellimit erhöht sich, je höher dein IS-Wert ist.", }, "AllPokemonFullHpRestoreModifierType": { - description: "Restores 100% HP for all Pokémon", + description: "Stellt 100% der KP aller Pokémon her", }, "AllPokemonFullReviveModifierType": { - description: "Revives all fainted Pokémon, fully restoring HP", + description: "Belebt alle kampunfähigen Pokémon wieder und stellt ihre KP vollständig wieder her", }, "MoneyRewardModifierType": { - description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + description:"Gewährt einen {{moneyMultiplier}} Geldbetrag von (₽{{moneyAmount}})", extra: { - "small": "small", - "moderate": "moderate", - "large": "large", + "small": "kleinen", + "moderate": "moderaten", + "large": "großen", }, }, "ExpBoosterModifierType": { - description: "Increases gain of EXP. Points by {{boostPercent}}%", + description: "Erhöht die erhaltenen Erfahrungspunkte um {{boostPercent}}%", }, "PokemonExpBoosterModifierType": { - description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + description: "Erhöht die Menge der erhaltenen Erfahrungspunkte für den Träger um {{boostPercent}}%", }, "PokemonFriendshipBoosterModifierType": { - description: "Increases friendship gain per victory by 50%", + description: "Erhöht den Freundschaftszuwachs pro Sieg um 50%.", }, "PokemonMoveAccuracyBoosterModifierType": { - description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + description: "Erhöht die Genauigkeit der Angriffe um {{accuracyAmount}} (maximal 100)", }, "PokemonMultiHitModifierType": { - description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + description: "Attacken treffen ein weiteres mal mit einer Reduktion von 60/75/82,5% der Stärke", }, "TmModifierType": { name: "TM{{moveId}} - {{moveName}}", - description: "Teach {{moveName}} to a Pokémon", + description: "Bringt einem Pokémon {{moveName}} bei", }, "EvolutionItemModifierType": { - description: "Causes certain Pokémon to evolve", + description: "Erlaubt es bestimmten Pokémon sich zu entwickeln", }, "FormChangeItemModifierType": { - description: "Causes certain Pokémon to change form", + description: "Erlaubt es bestimmten Pokémon ihre Form zu ändern", }, "FusePokemonModifierType": { - description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + description: "Fusioniert zwei Pokémon (überträgt die Fähigkeit, teilt Basiswerte und Typ auf, gemeinsamer Attackenpool)", }, "TerastallizeModifierType": { - name: "{{teraType}} Tera Shard", - description: "{{teraType}} Terastallizes the holder for up to 10 battles", + name: "{{teraType}} Terra-Stück", + description: "{{teraType}} Terakristallisiert den Träger für bis zu 10 Kämpfe", }, "ContactHeldItemTransferChanceModifierType": { - description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + description:"Beim Angriff besteht eine {{chancePercent}}%ige Chance, dass das getragene Item des Gegners gestohlen wird." }, "TurnHeldItemTransferModifierType": { - description: "Every turn, the holder acquires one held item from the foe", + description: "Jede Runde erhält der Träger ein getragenes Item des Gegners", }, "EnemyAttackStatusEffectChanceModifierType": { - description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + description: "Fügt Angriffen eine {{chancePercent}}%ige Chance hinzu, {{statusEffect}} zu verursachen", }, "EnemyEndureChanceModifierType": { - description: "Adds a {{chancePercent}}% chance of enduring a hit", + description: "Gibt den Träger eine {{chancePercent}}%ige Chance, einen Angriff zu überleben", }, - "RARE_CANDY": { name: "Rare Candy" }, - "RARER_CANDY": { name: "Rarer Candy" }, + "RARE_CANDY": { name: "Sonderbonbon" }, + "RARER_CANDY": { name: "Supersondererbonbon" }, - "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, - "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, - "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + "MEGA_BRACELET": { name: "Mega-Armband", description: "Mega-Steine werden verfügbar" }, + "DYNAMAX_BAND": { name: "Dynamax-Band", description: "Dyna-Pilze werden verfügbar" }, + "TERA_ORB": { name: "Terakristall-Orb", description: "Tera-Stücke werden verfügbar" }, - "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + "MAP": { name: "Karte", description: "Ermöglicht es dir, an einer Kreuzung dein Ziel zu wählen." }, - "POTION": { name: "Potion" }, - "SUPER_POTION": { name: "Super Potion" }, - "HYPER_POTION": { name: "Hyper Potion" }, - "MAX_POTION": { name: "Max Potion" }, - "FULL_RESTORE": { name: "Full Restore" }, - - "REVIVE": { name: "Revive" }, - "MAX_REVIVE": { name: "Max Revive" }, - - "FULL_HEAL": { name: "Full Heal" }, + "POTION": { name: "Trank" }, + "SUPER_POTION": { name: "Supertrank" }, + "HYPER_POTION": { name: "Hypertrank" }, + "MAX_POTION": { name: "Top-Trank" }, + "FULL_RESTORE": { name: "Top-Genesung" }, - "SACRED_ASH": { name: "Sacred Ash" }, + "REVIVE": { name: "Beleber" }, + "MAX_REVIVE": { name: "Top-Beleber" }, - "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + "FULL_HEAL": { name: "Hyperheiler" }, - "ETHER": { name: "Ether" }, - "MAX_ETHER": { name: "Max Ether" }, + "SACRED_ASH": { name: "Zauberasche" }, + + "REVIVER_SEED": { name: "Belebersamen", description: "Belebt den Träger mit der Hälfte seiner KP wieder sollte er kampfunfähig werden" }, + + "ETHER": { name: "Äther" }, + "MAX_ETHER": { name: "Top-Äther" }, "ELIXIR": { name: "Elixir" }, - "MAX_ELIXIR": { name: "Max Elixir" }, + "MAX_ELIXIR": { name: "Top-Elixir" }, - "PP_UP": { name: "PP Up" }, - "PP_MAX": { name: "PP Max" }, + "PP_UP": { name: "AP-Plus" }, + "PP_MAX": { name: "AP-Top" }, - "LURE": { name: "Lure" }, - "SUPER_LURE": { name: "Super Lure" }, - "MAX_LURE": { name: "Max Lure" }, + "LURE": { name: "Lockparfüm" }, + "SUPER_LURE": { name: "Super-Lockparfüm" }, + "MAX_LURE": { name: "Top-Lockparfüm" }, - "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + "MEMORY_MUSHROOM": { name: "Erinnerungspilz", description: "Lässt ein Pokémon eine vergessene Attacke wiedererlernen" }, - "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, - "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + "EXP_SHARE": { name: "EP-Teiler", description: "Pokémon, die nicht am Kampf teilgenommen haben, bekommen 20% der Erfahrungspunkte eines Kampfteilnehmers" }, + "EXP_BALANCE": { name: "EP-Ausgleicher", description: "Gewichtet die in Kämpfen erhaltenen Erfahrungspunkte auf niedrigstufigere Gruppenmitglieder." }, - "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + "OVAL_CHARM": { name: "Ovalpin", description: "Wenn mehrere Pokémon am Kampf teilnehmen, erhählt jeder von ihnen 10% extra Erfahrungspunkte" }, - "EXP_CHARM": { name: "EXP. Charm" }, - "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, - "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + "EXP_CHARM": { name: "EP-Pin" }, + "SUPER_EXP_CHARM": { name: "Super-EP-Pin" }, + "GOLDEN_EXP_CHARM": { name: "Goldener EP-Pin" }, - "LUCKY_EGG": { name: "Lucky Egg" }, - "GOLDEN_EGG": { name: "Golden Egg" }, + "LUCKY_EGG": { name: "Glücks-Ei" }, + "GOLDEN_EGG": { name: "Goldenes Ei" }, - "SOOTHE_BELL": { name: "Soothe Bell" }, + "SOOTHE_BELL": { name: "Sanftglocke" }, - "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + "SOUL_DEW": { name: "Seelentau", description: "Erhöht den Einfluss des Wesens eines Pokemon auf seine Werte um 10% (additiv)" }, "NUGGET": { name: "Nugget" }, - "BIG_NUGGET": { name: "Big Nugget" }, - "RELIC_GOLD": { name: "Relic Gold" }, + "BIG_NUGGET": { name: "Riesennugget" }, + "RELIC_GOLD": { name: "Alter Dukat" }, - "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, - "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, - "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, - - "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + "AMULET_COIN": { name: "Münzamulett", description: "Erhöht das Preisgeld um 20%" }, + "GOLDEN_PUNCH": { name: "Goldschlag", description: "Gewährt Geld in Höhe von 50% des zugefügten Schadens" }, + "COIN_CASE": { name: "Münzkorb", description: "Erhalte nach jedem 10ten Kampf 10% Zinsen auf dein Geld" }, - "GRIP_CLAW": { name: "Grip Claw" }, - "WIDE_LENS": { name: "Wide Lens" }, - - "MULTI_LENS": { name: "Multi Lens" }, + "LOCK_CAPSULE": { name: "Tresorkapsel", description: "Erlaubt es die Seltenheitsstufe der Items festzusetzen wenn diese neu gerollt werden" }, - "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, - "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + "GRIP_CLAW": { name: "Griffklaue" }, + "WIDE_LENS": { name: "Großlinse" }, - "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + "MULTI_LENS": { name: "Mehrfachlinse" }, - "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + "HEALING_CHARM": { name: "Heilungspin", description: "Erhöht die Effektivität von Heilungsattacken sowie Heilitems um 10% (Beleber ausgenommen)" }, + "CANDY_JAR": { name: "Bonbonglas", description: "Erhöht die Anzahl der Level die ein Sonderbonbon erhöht um 1" }, - "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + "BERRY_POUCH": { name: "Beerentüte", description: "Fügt eine 25% Chance hinzu, dass Beeren nicht verbraucht werden" }, - "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + "FOCUS_BAND": { name: "Fokusband", description: "Fügt eine 10% Chance hinzu, dass Angriffe die zur Kampfunfähigkeit führen mit 1 KP überlebt werden" }, - "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, - "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + "QUICK_CLAW": { name: "Quick Claw", description: "Fügt eine 10% Change hinzu als erster anzugreifen. (Nach Prioritätsangriffen)" }, - "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + "KINGS_ROCK": { name: "King-Stein", description: "Fügt eine 10% Chance hinzu, dass der Gegner nach einem Angriff zurückschreckt" }, - "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, - "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + "LEFTOVERS": { name: "Überreste", description: "Heilt 1/16 der maximalen KP eines Pokémon pro Runde" }, + "SHELL_BELL": { name: "Muschelglocke", description: "Heilt den Anwender um 1/8 des von ihm zugefügten Schadens" }, - "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + "BATON": { name: "Stab", description: "Ermöglicht das Weitergeben von Effekten beim Wechseln von Pokémon, wodurch auch Fallen umgangen werden." }, - "DNA_SPLICERS": { name: "DNA Splicers" }, + "SHINY_CHARM": { name: "Schillerpin", description: "Erhöht die Chance deutlich, dass ein wildes Pokémon ein schillernd ist" }, + "ABILITY_CHARM": { name: "Ability Charm", description: "Erhöht die Chance deutlich, dass ein wildes Pokémon eine versteckte Fähigkeit hat" }, - "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + "IV_SCANNER": { name: "IS-Scanner", description: "Erlaubt es die IS-Werte von wilden Pokémon zu scannen.\n(2 IS-Werte pro Staplung. Die besten IS-Werte zuerst)" }, - "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + "DNA_SPLICERS": { name: "DNS-Keil" }, + + "MINI_BLACK_HOLE": { name: "Mini schwarzes Loch" }, + + "GOLDEN_POKEBALL": { name: "Goldener Pokéball", description: "Fügt eine zusätzliche Item-Auswahlmöglichkeit nach jedem Kampf hinzu" }, + + "ENEMY_DAMAGE_BOOSTER": { name: "Schadensmarke", description: "Erhöht den Schaden um 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Schutzmarke", description: "Verringert den erhaltenen Schaden um 2,5%" }, + "ENEMY_HEAL": { name: "Wiederherstellungsmarke", description: "Heilt 2% der maximalen KP pro Runde" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Giftmarke" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { "name": "Lähmungsmarke" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { "name": "Schlafmarke" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { "name": "Gefriermarke" }, + "ENEMY_ATTACK_BURN_CHANCE": { "name": "Brandmarke" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { "name": "Vollheilungsmarke", "description": "Fügt eine 10%ige Chance hinzu, jede Runde einen Statuszustand zu heilen" }, + "ENEMY_ENDURE_CHANCE": { "name": "Ausdauer-Marke" }, + "ENEMY_FUSED_CHANCE": { "name": "Fusionsmarke", "description": "Fügt eine 1%ige Chance hinzu, dass ein wildes Pokémon eine Fusion ist" }, - "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, - "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, - "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, - "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, - "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, - "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, - "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, - "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, - "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, - "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, - "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, }, TempBattleStatBoosterItem: { - "x_attack": "X Attack", - "x_defense": "X Defense", - "x_sp_atk": "X Sp. Atk", - "x_sp_def": "X Sp. Def", - "x_speed": "X Speed", - "x_accuracy": "X Accuracy", - "dire_hit": "Dire Hit", + "x_attack": "X-Angriff", + "x_defense": "X-Verteidigung", + "x_sp_atk": "X-Sp.-Ang.", + "x_sp_def": "X-Sp.-Vert.", + "x_speed": "X-Tempo", + "x_accuracy": "X-Treffer", + "dire_hit": "X-Volltreffer", }, AttackTypeBoosterItem: { - "silk_scarf": "Silk Scarf", - "black_belt": "Black Belt", - "sharp_beak": "Sharp Beak", - "poison_barb": "Poison Barb", - "soft_sand": "Soft Sand", - "hard_stone": "Hard Stone", - "silver_powder": "Silver Powder", - "spell_tag": "Spell Tag", - "metal_coat": "Metal Coat", - "charcoal": "Charcoal", - "mystic_water": "Mystic Water", - "miracle_seed": "Miracle Seed", + "silk_scarf": "Seidenschal", + "black_belt": "Schwarzgurt", + "sharp_beak": "Spitzer Schnabel", + "poison_barb": "Giftstich", + "soft_sand": "Pudersand", + "hard_stone": "Granitstein", + "silver_powder": "Silberstaub", + "spell_tag": "Bannsticker", + "metal_coat": "Metallmantel", + "charcoal": "Holzkohle", + "mystic_water": "Zauberwasser", + "miracle_seed": "Wundersaat", "magnet": "Magnet", - "twisted_spoon": "Twisted Spoon", - "never_melt_ice": "Never-Melt Ice", - "dragon_fang": "Dragon Fang", - "black_glasses": "Black Glasses", - "fairy_feather": "Fairy Feather", + "twisted_spoon": "Krümmlöffel", + "never_melt_ice": "Ewiges Eis", + "dragon_fang": "Drachenzahn", + "black_glasses": "Schattenbrille", + "fairy_feather": "Feendaune", }, BaseStatBoosterItem: { - "hp_up": "HP Up", + "hp_up": "KP-Plus", "protein": "Protein", - "iron": "Iron", - "calcium": "Calcium", - "zinc": "Zinc", - "carbos": "Carbos", + "iron": "Eisen", + "calcium": "Kalzium", + "zinc": "Zink", + "carbos": "Carbon", }, EvolutionItem: { - "NONE": "None", + "NONE": "Keins", - "LINKING_CORD": "Linking Cord", - "SUN_STONE": "Sun Stone", - "MOON_STONE": "Moon Stone", - "LEAF_STONE": "Leaf Stone", - "FIRE_STONE": "Fire Stone", - "WATER_STONE": "Water Stone", - "THUNDER_STONE": "Thunder Stone", - "ICE_STONE": "Ice Stone", - "DUSK_STONE": "Dusk Stone", - "DAWN_STONE": "Dawn Stone", - "SHINY_STONE": "Shiny Stone", - "CRACKED_POT": "Cracked Pot", - "SWEET_APPLE": "Sweet Apple", - "TART_APPLE": "Tart Apple", - "STRAWBERRY_SWEET": "Strawberry Sweet", - "UNREMARKABLE_TEACUP": "Unremarkable Teacup", - - "CHIPPED_POT": "Chipped Pot", - "BLACK_AUGURITE": "Black Augurite", - "GALARICA_CUFF": "Galarica Cuff", - "GALARICA_WREATH": "Galarica Wreath", - "PEAT_BLOCK": "Peat Block", - "AUSPICIOUS_ARMOR": "Auspicious Armor", - "MALICIOUS_ARMOR": "Malicious Armor", - "MASTERPIECE_TEACUP": "Masterpiece Teacup", - "METAL_ALLOY": "Metal Alloy", - "SCROLL_OF_DARKNESS": "Scroll Of Darkness", - "SCROLL_OF_WATERS": "Scroll Of Waters", - "SYRUPY_APPLE": "Syrupy Apple", + "LINKING_CORD": "Linkkabel", + "SUN_STONE": "Sonnenstein", + "MOON_STONE": "Mondstein", + "LEAF_STONE": "Blattstein", + "FIRE_STONE": "Feuerstein", + "WATER_STONE": "Wasserstein", + "THUNDER_STONE": "Donnerstein", + "ICE_STONE": "Eisstein", + "DUSK_STONE": "Finsterstein", + "DAWN_STONE": "Funkelstein", + "SHINY_STONE": "Leuchtstein", + "CRACKED_POT": "Rissige Kanne", + "SWEET_APPLE": "Süßer Apfel", + "TART_APPLE": "Saurer Apfel", + "STRAWBERRY_SWEET": "Zucker-Erdbeere", + "UNREMARKABLE_TEACUP": "Simple Teeschale", + + "CHIPPED_POT": "Löchrige Kanne", + "BLACK_AUGURITE": "Schwarzaugit", + "GALARICA_CUFF": "Galarnuss-Reif", + "GALARICA_WREATH": "Galarnuss-Kranz", + "PEAT_BLOCK": "Torfblock", + "AUSPICIOUS_ARMOR": "Glorienrüstung", + "MALICIOUS_ARMOR": "Fluchrüstung", + "MASTERPIECE_TEACUP": "Edle Teeschale", + "METAL_ALLOY": "Legierungsmetall", + "SCROLL_OF_DARKNESS": "Unlicht-Schriftrolle", + "SCROLL_OF_WATERS": "Wasser-Schriftrolle", + "SYRUPY_APPLE": "Saftiger Apfel", }, FormChangeItem: { - "NONE": "None", + "NONE": "Keins", - "ABOMASITE": "Abomasite", - "ABSOLITE": "Absolite", - "AERODACTYLITE": "Aerodactylite", - "AGGRONITE": "Aggronite", - "ALAKAZITE": "Alakazite", - "ALTARIANITE": "Altarianite", - "AMPHAROSITE": "Ampharosite", - "AUDINITE": "Audinite", - "BANETTITE": "Banettite", - "BEEDRILLITE": "Beedrillite", - "BLASTOISINITE": "Blastoisinite", - "BLAZIKENITE": "Blazikenite", - "CAMERUPTITE": "Cameruptite", - "CHARIZARDITE_X": "Charizardite X", - "CHARIZARDITE_Y": "Charizardite Y", - "DIANCITE": "Diancite", - "GALLADITE": "Galladite", - "GARCHOMPITE": "Garchompite", - "GARDEVOIRITE": "Gardevoirite", - "GENGARITE": "Gengarite", - "GLALITITE": "Glalitite", - "GYARADOSITE": "Gyaradosite", - "HERACRONITE": "Heracronite", - "HOUNDOOMINITE": "Houndoominite", - "KANGASKHANITE": "Kangaskhanite", - "LATIASITE": "Latiasite", - "LATIOSITE": "Latiosite", - "LOPUNNITE": "Lopunnite", - "LUCARIONITE": "Lucarionite", - "MANECTITE": "Manectite", - "MAWILITE": "Mawilite", - "MEDICHAMITE": "Medichamite", - "METAGROSSITE": "Metagrossite", - "MEWTWONITE_X": "Mewtwonite X", - "MEWTWONITE_Y": "Mewtwonite Y", - "PIDGEOTITE": "Pidgeotite", - "PINSIRITE": "Pinsirite", - "RAYQUAZITE": "Rayquazite", - "SABLENITE": "Sablenite", - "SALAMENCITE": "Salamencite", - "SCEPTILITE": "Sceptilite", - "SCIZORITE": "Scizorite", - "SHARPEDONITE": "Sharpedonite", - "SLOWBRONITE": "Slowbronite", - "STEELIXITE": "Steelixite", - "SWAMPERTITE": "Swampertite", - "TYRANITARITE": "Tyranitarite", - "VENUSAURITE": "Venusaurite", + "ABOMASITE": "Rexblisarnit", + "ABSOLITE": "Absolnit", + "AERODACTYLITE": "Aerodactylonit", + "AGGRONITE": "Stollossnit", + "ALAKAZITE": "Simsalanit", + "ALTARIANITE": "Altarianit", + "AMPHAROSITE": "Ampharosnit", + "AUDINITE": "Ohrdochnit", + "BANETTITE": "Banetteonit", + "BEEDRILLITE": "Bibornit", + "BLASTOISINITE": "Turtoknit", + "BLAZIKENITE": "Lohgocknit", + "CAMERUPTITE": "Cameruptnit", + "CHARIZARDITE_X": "Gluraknit X", + "CHARIZARDITE_Y": "Gluraknit Y", + "DIANCITE": "Diancienit", + "GALLADITE": "Galagladinit", + "GARCHOMPITE": "Knakracknit", + "GARDEVOIRITE": "Guardevoirnit", + "GENGARITE": "Gengarnit ", + "GLALITITE": "Firnontornit", + "GYARADOSITE": "Garadosnit", + "HERACRONITE": "Skarabornit", + "HOUNDOOMINITE": "Hundemonit ", + "KANGASKHANITE": "Kangamanit", + "LATIASITE": "Latiasnit", + "LATIOSITE": "Latiosnit", + "LOPUNNITE": "Schlapornit", + "LUCARIONITE": "Lucarionit", + "MANECTITE": "Voltensonit", + "MAWILITE": "Flunkifernit", + "MEDICHAMITE": "Meditalisnit", + "METAGROSSITE": "Metagrossnit", + "MEWTWONITE_X": "Mewtunit X", + "MEWTWONITE_Y": "Mewtunit Y", + "PIDGEOTITE": "Taubossnit", + "PINSIRITE": "Pinsirnit", + "RAYQUAZITE": "Rayquazanit", + "SABLENITE": "Zobirisnit", + "SALAMENCITE": "Brutalandanit", + "SCEPTILITE": "Gewaldronit", + "SCIZORITE": "Scheroxnit", + "SHARPEDONITE": "Tohaidonit", + "SLOWBRONITE": "Lahmusnit", + "STEELIXITE": "Stahlosnit", + "SWAMPERTITE": "Sumpexnit", + "TYRANITARITE": "Despotarnit", + "VENUSAURITE": "Bisaflornit", - "BLUE_ORB": "Blue Orb", - "RED_ORB": "Red Orb", - "SHARP_METEORITE": "Sharp Meteorite", - "HARD_METEORITE": "Hard Meteorite", - "SMOOTH_METEORITE": "Smooth Meteorite", - "ADAMANT_CRYSTAL": "Adamant Crystal", - "LUSTROUS_ORB": "Lustrous Orb", - "GRISEOUS_CORE": "Griseous Core", - "REVEAL_GLASS": "Reveal Glass", + "BLUE_ORB": "Blauer Edelstein", + "RED_ORB": "Roter Edelstein", + "SHARP_METEORITE": "Scharfer Meteorit", + "HARD_METEORITE": "Harter Meteorit", + "SMOOTH_METEORITE": "Glatter Meteorit", + "ADAMANT_CRYSTAL": "Adamantkristall", + "LUSTROUS_ORB": "Weiß-Orb", + "GRISEOUS_CORE": "Platinumkristall", + "REVEAL_GLASS": "Wahrspiegel", "GRACIDEA": "Gracidea", - "MAX_MUSHROOMS": "Max Mushrooms", - "DARK_STONE": "Dark Stone", - "LIGHT_STONE": "Light Stone", - "PRISON_BOTTLE": "Prison Bottle", - "N_LUNARIZER": "N Lunarizer", - "N_SOLARIZER": "N Solarizer", - "RUSTED_SWORD": "Rusted Sword", - "RUSTED_SHIELD": "Rusted Shield", - "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", - "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", - "WELLSPRING_MASK": "Wellspring Mask", - "HEARTHFLAME_MASK": "Hearthflame Mask", - "CORNERSTONE_MASK": "Cornerstone Mask", - "SHOCK_DRIVE": "Shock Drive", - "BURN_DRIVE": "Burn Drive", - "CHILL_DRIVE": "Chill Drive", - "DOUSE_DRIVE": "Douse Drive", + "MAX_MUSHROOMS": "Dyna-Pilz", + "DARK_STONE": "Dunkelstein", + "LIGHT_STONE": "Lichtstein", + "PRISON_BOTTLE": "Banngefäß", + "N_LUNARIZER": "Necrolun", + "N_SOLARIZER": "Necrosol", + "RUSTED_SWORD": "Rostiges Schwert", + "RUSTED_SHIELD": "Rostiges Schild", + "ICY_REINS_OF_UNITY": "eisige Zügel des Bundes", + "SHADOW_REINS_OF_UNITY": "schattige Zügel des Bundes", + "WELLSPRING_MASK": "Brunnenmaske", + "HEARTHFLAME_MASK": "Ofenmaske", + "CORNERSTONE_MASK": "Fundamentmaske", + "SHOCK_DRIVE": "Blitzmodul", + "BURN_DRIVE": "Flammenmodul", + "CHILL_DRIVE": "Gefriermodul", + "DOUSE_DRIVE": "Aquamodul", }, TeraType: { - "UNKNOWN": "Unknown", + "UNKNOWN": "Unbekannt", "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", - "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", - "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", + "FIGHTING": "Kampf", + "FLYING": "Flug", + "POISON": "Gift", + "GROUND": "Boden", + "ROCK": "Gestein", + "BUG": "Käfer", + "GHOST": "Geist", + "STEEL": "Stahl", + "FIRE": "Feuer", + "WATER": "Wasser", + "GRASS": "Pflanze", + "ELECTRIC": "Elektro", + "PSYCHIC": "Psycho", + "ICE": "Eis", + "DRAGON": "Drache", + "DARK": "Unlicht", + "FAIRY": "Fee", "STELLAR": "Stellar", }, } as const; \ No newline at end of file From 975d1ed5626354e89999bd1420f2669cbe87724a Mon Sep 17 00:00:00 2001 From: Valentin Porchet Date: Thu, 16 May 2024 10:31:50 +0200 Subject: [PATCH 12/84] feat: added localisation for eggs and french translations (#403) * feat: added localisation for eggs and french translations * fixes on french translations after review --------- Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> Co-authored-by: Benjamin Odom --- src/data/egg.ts | 23 ++++++++-------- src/locales/de/config.ts | 2 ++ src/locales/de/egg.ts | 21 ++++++++++++++ src/locales/en/config.ts | 2 ++ src/locales/en/egg.ts | 21 ++++++++++++++ src/locales/es/config.ts | 2 ++ src/locales/es/egg.ts | 21 ++++++++++++++ src/locales/fr/config.ts | 2 ++ src/locales/fr/egg.ts | 21 ++++++++++++++ src/locales/it/config.ts | 2 ++ src/locales/it/egg.ts | 21 ++++++++++++++ src/plugins/i18n.ts | 1 + src/ui/egg-gacha-ui-handler.ts | 50 ++++++++++++++++++++++++---------- src/ui/egg-list-ui-handler.ts | 3 +- 14 files changed, 165 insertions(+), 27 deletions(-) create mode 100644 src/locales/de/egg.ts create mode 100644 src/locales/en/egg.ts create mode 100644 src/locales/es/egg.ts create mode 100644 src/locales/fr/egg.ts create mode 100644 src/locales/it/egg.ts diff --git a/src/data/egg.ts b/src/data/egg.ts index 41216f27ee7..6437dfce262 100644 --- a/src/data/egg.ts +++ b/src/data/egg.ts @@ -4,6 +4,7 @@ import BattleScene from "../battle-scene"; import { Species } from "./enums/species"; import { getPokemonSpecies, speciesStarters } from "./pokemon-species"; import { EggTier } from "./enums/egg-type"; +import i18next from '../plugins/i18n'; export const EGG_SEED = 1073741824; @@ -56,34 +57,34 @@ export function getEggDescriptor(egg: Egg): string { return 'Manaphy'; switch (egg.tier) { case EggTier.GREAT: - return 'Rare'; + return i18next.t('egg:greatTier'); case EggTier.ULTRA: - return 'Epic'; + return i18next.t('egg:ultraTier'); case EggTier.MASTER: - return 'Legendary'; + return i18next.t('egg:masterTier'); default: - return 'Common'; + return i18next.t('egg:defaultTier'); } } export function getEggHatchWavesMessage(hatchWaves: integer): string { if (hatchWaves <= 5) - return 'Sounds can be heard coming from inside! It will hatch soon!'; + return i18next.t('egg:hatchWavesMessageSoon'); if (hatchWaves <= 15) - return 'It appears to move occasionally. It may be close to hatching.'; + return i18next.t('egg:hatchWavesMessageClose'); if (hatchWaves <= 50) - return 'What will hatch from this? It doesn\'t seem close to hatching.'; - return 'It looks like this Egg will take a long time to hatch.'; + return i18next.t('egg:hatchWavesMessageNotClose'); + return i18next.t('egg:hatchWavesMessageLongTime'); } export function getEggGachaTypeDescriptor(scene: BattleScene, egg: Egg): string { switch (egg.gachaType) { case GachaType.LEGENDARY: - return `Legendary Rate Up (${getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(scene, egg.timestamp)).getName()})`; + return `${i18next.t('egg:gachaTypeLegendary')} (${getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(scene, egg.timestamp)).getName()})`; case GachaType.MOVE: - return 'Rare Egg Move Rate Up'; + return i18next.t('egg:gachaTypeMove'); case GachaType.SHINY: - return 'Shiny Rate Up'; + return i18next.t('egg:gachaTypeShiny'); } } diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 04ad328b6ec..7c8b455ef3d 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -2,6 +2,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; +import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -21,6 +22,7 @@ export const deConfig = { abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, + egg: egg, fightUiHandler: fightUiHandler, menuUiHandler: menuUiHandler, menu: menu, diff --git a/src/locales/de/egg.ts b/src/locales/de/egg.ts new file mode 100644 index 00000000000..358c1b4a503 --- /dev/null +++ b/src/locales/de/egg.ts @@ -0,0 +1,21 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const egg: SimpleTranslationEntries = { + "egg": "Egg", + "greatTier": "Rare", + "ultraTier": "Epic", + "masterTier": "Legendary", + "defaultTier": "Common", + "hatchWavesMessageSoon": "Sounds can be heard coming from inside! It will hatch soon!", + "hatchWavesMessageClose": "It appears to move occasionally. It may be close to hatching.", + "hatchWavesMessageNotClose": "What will hatch from this? It doesn't seem close to hatching.", + "hatchWavesMessageLongTime": "It looks like this Egg will take a long time to hatch.", + "gachaTypeLegendary": "Legendary Rate Up", + "gachaTypeMove": "Rare Egg Move Rate Up", + "gachaTypeShiny": "Shiny Rate Up", + "selectMachine": "Select a machine.", + "notEnoughVouchers": "You don't have enough vouchers!", + "tooManyEggs": "You have too many eggs!", + "pull": "Pull", + "pulls": "Pulls" +} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index 0b3fd1505cc..f6b385fe433 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -2,6 +2,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; +import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -22,6 +23,7 @@ export const enConfig = { abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, + egg: egg, fightUiHandler: fightUiHandler, menuUiHandler: menuUiHandler, menu: menu, diff --git a/src/locales/en/egg.ts b/src/locales/en/egg.ts new file mode 100644 index 00000000000..358c1b4a503 --- /dev/null +++ b/src/locales/en/egg.ts @@ -0,0 +1,21 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const egg: SimpleTranslationEntries = { + "egg": "Egg", + "greatTier": "Rare", + "ultraTier": "Epic", + "masterTier": "Legendary", + "defaultTier": "Common", + "hatchWavesMessageSoon": "Sounds can be heard coming from inside! It will hatch soon!", + "hatchWavesMessageClose": "It appears to move occasionally. It may be close to hatching.", + "hatchWavesMessageNotClose": "What will hatch from this? It doesn't seem close to hatching.", + "hatchWavesMessageLongTime": "It looks like this Egg will take a long time to hatch.", + "gachaTypeLegendary": "Legendary Rate Up", + "gachaTypeMove": "Rare Egg Move Rate Up", + "gachaTypeShiny": "Shiny Rate Up", + "selectMachine": "Select a machine.", + "notEnoughVouchers": "You don't have enough vouchers!", + "tooManyEggs": "You have too many eggs!", + "pull": "Pull", + "pulls": "Pulls" +} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index b38ae994c38..84a05233616 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -2,6 +2,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; +import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -22,6 +23,7 @@ export const esConfig = { abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, + egg: egg, fightUiHandler: fightUiHandler, menuUiHandler: menuUiHandler, menu: menu, diff --git a/src/locales/es/egg.ts b/src/locales/es/egg.ts new file mode 100644 index 00000000000..358c1b4a503 --- /dev/null +++ b/src/locales/es/egg.ts @@ -0,0 +1,21 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const egg: SimpleTranslationEntries = { + "egg": "Egg", + "greatTier": "Rare", + "ultraTier": "Epic", + "masterTier": "Legendary", + "defaultTier": "Common", + "hatchWavesMessageSoon": "Sounds can be heard coming from inside! It will hatch soon!", + "hatchWavesMessageClose": "It appears to move occasionally. It may be close to hatching.", + "hatchWavesMessageNotClose": "What will hatch from this? It doesn't seem close to hatching.", + "hatchWavesMessageLongTime": "It looks like this Egg will take a long time to hatch.", + "gachaTypeLegendary": "Legendary Rate Up", + "gachaTypeMove": "Rare Egg Move Rate Up", + "gachaTypeShiny": "Shiny Rate Up", + "selectMachine": "Select a machine.", + "notEnoughVouchers": "You don't have enough vouchers!", + "tooManyEggs": "You have too many eggs!", + "pull": "Pull", + "pulls": "Pulls" +} as const; \ No newline at end of file diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 5ff44b46d31..84c20a957ed 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -2,6 +2,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; +import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -22,6 +23,7 @@ export const frConfig = { abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, + egg: egg, fightUiHandler: fightUiHandler, menuUiHandler: menuUiHandler, menu: menu, diff --git a/src/locales/fr/egg.ts b/src/locales/fr/egg.ts new file mode 100644 index 00000000000..566e423b69f --- /dev/null +++ b/src/locales/fr/egg.ts @@ -0,0 +1,21 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const egg: SimpleTranslationEntries = { + "egg": "Œuf", + "greatTier": "Rare", + "ultraTier": "Épique", + "masterTier": "Légendaire", + "defaultTier": "Commun", + "hatchWavesMessageSoon": "Il fait du bruit. Il va éclore !", + "hatchWavesMessageClose": "Il bouge de temps en temps. Il devrait bientôt éclore.", + "hatchWavesMessageNotClose": "Qu’est-ce qui va en sortir ? Ça va mettre du temps.", + "hatchWavesMessageLongTime": "Cet Œuf va sûrement mettre du temps à éclore.", + "gachaTypeLegendary": "Taux de Légendaires élevé", + "gachaTypeMove": "Taux de Capacité Œuf Rare élevé", + "gachaTypeShiny": "Taux de Chromatiques élevé", + "selectMachine": "Sélectionnez une machine.", + "notEnoughVouchers": "Vous n’avez pas assez de coupons !", + "tooManyEggs": "Vous avez trop d’Œufs !", + "pull": "Tirage", + "pulls": "Tirages" +} as const; \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index d81143bf577..0247a7e0f80 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -2,6 +2,7 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; +import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -22,6 +23,7 @@ export const itConfig = { abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, + egg: egg, fightUiHandler: fightUiHandler, menuUiHandler: menuUiHandler, menu: menu, diff --git a/src/locales/it/egg.ts b/src/locales/it/egg.ts new file mode 100644 index 00000000000..358c1b4a503 --- /dev/null +++ b/src/locales/it/egg.ts @@ -0,0 +1,21 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const egg: SimpleTranslationEntries = { + "egg": "Egg", + "greatTier": "Rare", + "ultraTier": "Epic", + "masterTier": "Legendary", + "defaultTier": "Common", + "hatchWavesMessageSoon": "Sounds can be heard coming from inside! It will hatch soon!", + "hatchWavesMessageClose": "It appears to move occasionally. It may be close to hatching.", + "hatchWavesMessageNotClose": "What will hatch from this? It doesn't seem close to hatching.", + "hatchWavesMessageLongTime": "It looks like this Egg will take a long time to hatch.", + "gachaTypeLegendary": "Legendary Rate Up", + "gachaTypeMove": "Rare Egg Move Rate Up", + "gachaTypeShiny": "Shiny Rate Up", + "selectMachine": "Select a machine.", + "notEnoughVouchers": "You don't have enough vouchers!", + "tooManyEggs": "You have too many eggs!", + "pull": "Pull", + "pulls": "Pulls" +} as const; \ No newline at end of file diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index b2d6fbf537a..ffd45317121 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -126,6 +126,7 @@ declare module 'i18next' { starterSelectUiHandler: SimpleTranslationEntries; nature: SimpleTranslationEntries; growth: SimpleTranslationEntries; + egg: SimpleTranslationEntries; weather: SimpleTranslationEntries; modifierType: ModifierTypeTranslationEntries; }; diff --git a/src/ui/egg-gacha-ui-handler.ts b/src/ui/egg-gacha-ui-handler.ts index a7fd61b3040..7fd49157da7 100644 --- a/src/ui/egg-gacha-ui-handler.ts +++ b/src/ui/egg-gacha-ui-handler.ts @@ -10,8 +10,7 @@ import { addWindow } from "./ui-theme"; import { Tutorial, handleTutorial } from "../tutorial"; import { EggTier } from "../data/enums/egg-type"; import {Button} from "../enums/buttons"; - -const defaultText = 'Select a machine.'; +import i18next from '../plugins/i18n'; export default class EggGachaUiHandler extends MessageUiHandler { private eggGachaContainer: Phaser.GameObjects.Container; @@ -33,6 +32,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { private cursorObj: Phaser.GameObjects.Image; private transitioning: boolean; private transitionCancelled: boolean; + private defaultText: string; constructor(scene: BattleScene) { super(scene, Mode.EGG_GACHA); @@ -43,6 +43,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { this.gachaInfoContainers = []; this.voucherCountLabels = []; + this.defaultText = i18next.t('egg:selectMachine'); } setup() { @@ -151,8 +152,27 @@ export default class EggGachaUiHandler extends MessageUiHandler { this.eggGachaOptionSelectBg.setOrigin(1, 1); this.eggGachaOptionsContainer.add(this.eggGachaOptionSelectBg); - const optionText = addTextObject(this.scene, 0, 0, ' x1 1 Pull\n x10 10 Pulls\n x1 5 Pulls\n x1 10 Pulls\n x1 25 Pulls\nCancel', TextStyle.WINDOW); - optionText.setLineSpacing(12); + const pullOptions = [ + { multiplier: 'x1', description: `1 ${i18next.t('egg:pull')}` }, + { multiplier: 'x10', description: `10 ${i18next.t('egg:pulls')}` }, + { multiplier: 'x1', description: `5 ${i18next.t('egg:pulls')}` }, + { multiplier: 'x1', description: `10 ${i18next.t('egg:pulls')}` }, + { multiplier: 'x1', description: `25 ${i18next.t('egg:pulls')}` } + ]; + + const pullOptionsText = pullOptions.map(option => ` ${option.multiplier.padEnd(4)} ${option.description}`).join('\n'); + + const optionText = addTextObject( + this.scene, + 0, + 0, + `${pullOptionsText}\n${i18next.t('menu:cancel')}`, + TextStyle.WINDOW, + ); + + optionText.setLineSpacing(28); + optionText.setFontSize('80px'); + this.eggGachaOptionsContainer.add(optionText); optionText.setPositionRelative(this.eggGachaOptionSelectBg, 16, 9); @@ -223,7 +243,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { show(args: any[]): boolean { super.show(args); - this.getUi().showText(defaultText, 0); + this.getUi().showText(this.defaultText, 0); this.setGachaCursor(1); @@ -474,7 +494,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { showText(text: string, delay?: number, callback?: Function, callbackDelay?: number, prompt?: boolean, promptDelay?: number): void { if (!text) - text = defaultText; + text = this.defaultText; if (text?.indexOf('\n') === -1) { this.eggGachaMessageBox.setSize(320, 32); @@ -490,7 +510,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { } showError(text: string): void { - this.showText(text, null, () => this.showText(defaultText), Utils.fixedInt(1500)); + this.showText(text, null, () => this.showText(this.defaultText), Utils.fixedInt(1500)); } setTransitioning(transitioning: boolean): void { @@ -526,27 +546,27 @@ export default class EggGachaUiHandler extends MessageUiHandler { case 0: if (!this.scene.gameData.voucherCounts[VoucherType.REGULAR]) { error = true; - this.showError('You don\'t have enough vouchers!'); + this.showError(i18next.t('egg:notEnoughVouchers')); } else if (this.scene.gameData.eggs.length < 99) { this.consumeVouchers(VoucherType.REGULAR, 1); this.pull(); success = true; } else { error = true; - this.showError('You have too many eggs!'); + this.showError(i18next.t('egg:tooManyEggs')); } break; case 2: if (!this.scene.gameData.voucherCounts[VoucherType.PLUS]) { error = true; - this.showError('You don\'t have enough vouchers!'); + this.showError(i18next.t('egg:notEnoughVouchers')); } else if (this.scene.gameData.eggs.length < 95) { this.consumeVouchers(VoucherType.PLUS, 1); this.pull(5); success = true; } else { error = true; - this.showError('You have too many eggs!'); + this.showError(i18next.t('egg:tooManyEggs')); } break; case 1: @@ -554,7 +574,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { if ((this.cursor === 1 && this.scene.gameData.voucherCounts[VoucherType.REGULAR] < 10) || (this.cursor === 3 && !this.scene.gameData.voucherCounts[VoucherType.PREMIUM])) { error = true; - this.showError('You don\'t have enough vouchers!'); + this.showError(i18next.t('egg:notEnoughVouchers')); } else if (this.scene.gameData.eggs.length < 90) { if (this.cursor === 3) this.consumeVouchers(VoucherType.PREMIUM, 1); @@ -564,20 +584,20 @@ export default class EggGachaUiHandler extends MessageUiHandler { success = true; } else { error = true; - this.showError('You have too many eggs!'); + this.showError(i18next.t('egg:tooManyEggs')); } break; case 4: if (!this.scene.gameData.voucherCounts[VoucherType.GOLDEN]) { error = true; - this.showError('You don\'t have enough vouchers!'); + this.showError(i18next.t('egg:notEnoughVouchers')); } else if (this.scene.gameData.eggs.length < 75) { this.consumeVouchers(VoucherType.GOLDEN, 1); this.pull(25); success = true; } else { error = true; - this.showError('You have too many eggs!'); + this.showError(i18next.t('egg:tooManyEggs')); } break; case 5: diff --git a/src/ui/egg-list-ui-handler.ts b/src/ui/egg-list-ui-handler.ts index edeac7d71c7..a62eb743697 100644 --- a/src/ui/egg-list-ui-handler.ts +++ b/src/ui/egg-list-ui-handler.ts @@ -7,6 +7,7 @@ import { EGG_SEED, Egg, GachaType, getEggGachaTypeDescriptor, getEggHatchWavesMe import * as Utils from "../utils"; import { addWindow } from "./ui-theme"; import {Button} from "../enums/buttons"; +import i18next from '../plugins/i18n'; export default class EggListUiHandler extends MessageUiHandler { private eggListContainer: Phaser.GameObjects.Container; @@ -165,7 +166,7 @@ export default class EggListUiHandler extends MessageUiHandler { setEggDetails(egg: Egg): void { this.eggSprite.setFrame(`egg_${egg.getKey()}`); - this.eggNameText.setText(`Egg (${getEggDescriptor(egg)})`); + this.eggNameText.setText(`${i18next.t('egg:egg')} (${getEggDescriptor(egg)})`); this.eggDateText.setText( new Date(egg.timestamp).toLocaleString(undefined, { weekday: 'short', From 8dce9fa2f9f976ae206e8567e2cb997d08daf634 Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Thu, 16 May 2024 10:37:40 +0200 Subject: [PATCH 13/84] Added splash messages literals for all languages (#600) * Added splash messages literals for all languages * Removed debug code + fixed function casing --------- Co-authored-by: Benjamin Odom --- src/data/splash-messages.ts | 80 +++++++++++++++++-------------- src/locales/de/config.ts | 2 + src/locales/de/splash-messages.ts | 37 ++++++++++++++ src/locales/en/config.ts | 2 + src/locales/en/splash-messages.ts | 37 ++++++++++++++ src/locales/es/config.ts | 2 + src/locales/es/splash-messages.ts | 37 ++++++++++++++ src/locales/fr/config.ts | 2 + src/locales/fr/splash-messages.ts | 37 ++++++++++++++ src/locales/it/config.ts | 2 + src/locales/it/splash-messages.ts | 37 ++++++++++++++ src/plugins/i18n.ts | 1 + src/ui/title-ui-handler.ts | 8 ++-- 13 files changed, 244 insertions(+), 40 deletions(-) create mode 100644 src/locales/de/splash-messages.ts create mode 100644 src/locales/en/splash-messages.ts create mode 100644 src/locales/es/splash-messages.ts create mode 100644 src/locales/fr/splash-messages.ts create mode 100644 src/locales/it/splash-messages.ts diff --git a/src/data/splash-messages.ts b/src/data/splash-messages.ts index 198ff07cec9..3a40429e9b6 100644 --- a/src/data/splash-messages.ts +++ b/src/data/splash-messages.ts @@ -1,37 +1,45 @@ -export const battleCountSplashMessage = '{COUNT} Battles Won!'; +import i18next from "../plugins/i18n"; -export const splashMessages = Array(10).fill(battleCountSplashMessage); -splashMessages.push(...[ - 'Join the Discord!', - 'Infinite Levels!', - 'Everything Stacks!', - 'Optional Save Scumming!', - '35 Biomes!', - 'Open Source!', - 'Play with 5x Speed!', - 'Live Bug Testing!', - 'Heavy RoR2 Influence!', - 'Pokémon Risk and Pokémon Rain!', - 'Now with 33% More Salt!', - 'Infinite Fusion at Home!', - 'Broken Egg Moves!', - 'Magnificent!', - 'Mubstitute!', - 'That\'s Crazy!', - 'Orance Juice!', - 'Questionable Balancing!', - 'Cool Shaders!', - 'AI-Free!', - 'Sudden Difficulty Spikes!', - 'Based on an Unfinished Flash Game!', - 'More Addictive than Intended!', - 'Mostly Consistent Seeds!', - 'Achievement Points Don\'t Do Anything!', - 'You Do Not Start at Level 2000!', - 'Don\'t Talk About the Manaphy Egg Incident!', - 'Also Try Pokéngine!', - 'Also Try Emerald Rogue!', - 'Also Try Radical Red!', - 'Eevee Expo!', - 'YNOproject!' -]); \ No newline at end of file +export function getBattleCountSplashMessage(): string { + return `{COUNT} ${i18next.t('splashMessages:battlesWon')}`; +} + +export function getSplashMessages(): string[] { + const splashMessages = Array(10).fill(getBattleCountSplashMessage()); + splashMessages.push(...[ + i18next.t('splashMessages:joinTheDiscord'), + i18next.t('splashMessages:infiniteLevel'), + i18next.t('splashMessages:everythingStacks'), + i18next.t('splashMessages:optionalSaveScumming'), + i18next.t('splashMessages:biomes'), + i18next.t('splashMessages:openSource'), + i18next.t('splashMessages:playWith5xSpeed'), + i18next.t('splashMessages:liveBugTesting'), + i18next.t('splashMessages:heavyRoR2Influence'), + i18next.t('splashMessages:pokemonRiskAndPokemonRain'), + i18next.t('splashMessages:nowWithMoreSalt'), + i18next.t('splashMessages:infiniteFusionAtHome'), + i18next.t('splashMessages:brokenEggMoves'), + i18next.t('splashMessages:magnificent'), + i18next.t('splashMessages:mubstitute'), + i18next.t('splashMessages:thatsCrazy'), + i18next.t('splashMessages:oranceJuice'), + i18next.t('splashMessages:questionableBalancing'), + i18next.t('splashMessages:coolShaders'), + i18next.t('splashMessages:aiFree'), + i18next.t('splashMessages:suddenDifficultySpikes'), + i18next.t('splashMessages:basedOnAnUnfinishedFlashGame'), + i18next.t('splashMessages:moreAddictiveThanIntended'), + i18next.t('splashMessages:mostlyConsistentSeeds'), + i18next.t('splashMessages:achievementPointsDontDoAnything'), + i18next.t('splashMessages:youDoNotStartAtLevel'), + i18next.t('splashMessages:dontTalkAboutTheManaphyEggIncident'), + i18next.t('splashMessages:alsoTryPokengine'), + i18next.t('splashMessages:alsoTryEmeraldRogue'), + i18next.t('splashMessages:alsoTryRadicalRed'), + i18next.t('splashMessages:eeveeExpo'), + i18next.t('splashMessages:ynoproject'), + ]); + + return splashMessages +} \ No newline at end of file diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 7c8b455ef3d..72200a5141c 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -15,6 +15,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { splashMessages } from "./splash-messages" export const deConfig = { @@ -32,6 +33,7 @@ export const deConfig = { pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, + splashMessages: splashMessages, nature: nature, growth: growth, modifierType: modifierType, diff --git a/src/locales/de/splash-messages.ts b/src/locales/de/splash-messages.ts new file mode 100644 index 00000000000..6815d7f1824 --- /dev/null +++ b/src/locales/de/splash-messages.ts @@ -0,0 +1,37 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const splashMessages: SimpleTranslationEntries = { + "battlesWon": "Battles Won!", + "joinTheDiscord": "Join the Discord!", + "infiniteLevels": "Infinite Levels!", + "everythingStacks": "Everything Stacks!", + "optionalSaveScumming": "Optional Save Scumming!", + "biomes": "35 Biomes!", + "openSource": "Open Source!", + "playWithSpeed": "Play with 5x Speed!", + "liveBugTesting": "Live Bug Testing!", + "heavyInfluence": "Heavy RoR2 Influence!", + "pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!", + "nowWithMoreSalt": "Now with 33% More Salt!", + "infiniteFusionAtHome": "Infinite Fusion at Home!", + "brokenEggMoves": "Broken Egg Moves!", + "magnificent": "Magnificent!", + "mubstitute": "Mubstitute!", + "thatsCrazy": "That\'s Crazy!", + "oranceJuice": "Orance Juice!", + "questionableBalancing": "Questionable Balancing!", + "coolShaders": "Cool Shaders!", + "aiFree": "AI-Free!", + "suddenDifficultySpikes": "Sudden Difficulty Spikes!", + "basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!", + "moreAddictiveThanIntended": "More Addictive than Intended!", + "mostlyConsistentSeeds": "Mostly Consistent Seeds!", + "achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!", + "youDoNotStartAtLevel": "You Do Not Start at Level 2000!", + "dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!", + "alsoTryPokengine": "Also Try Pokéngine!", + "alsoTryEmeraldRogue": "Also Try Emerald Rogue!", + "alsoTryRadicalRed": "Also Try Radical Red!", + "eeveeExpo": "Eevee Expo!", + "ynoproject": "YNOproject!", +} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index f6b385fe433..295c3ff5c33 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -15,6 +15,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { splashMessages } from "./splash-messages" import { weather } from "./weather"; @@ -33,6 +34,7 @@ export const enConfig = { pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, + splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, diff --git a/src/locales/en/splash-messages.ts b/src/locales/en/splash-messages.ts new file mode 100644 index 00000000000..6815d7f1824 --- /dev/null +++ b/src/locales/en/splash-messages.ts @@ -0,0 +1,37 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const splashMessages: SimpleTranslationEntries = { + "battlesWon": "Battles Won!", + "joinTheDiscord": "Join the Discord!", + "infiniteLevels": "Infinite Levels!", + "everythingStacks": "Everything Stacks!", + "optionalSaveScumming": "Optional Save Scumming!", + "biomes": "35 Biomes!", + "openSource": "Open Source!", + "playWithSpeed": "Play with 5x Speed!", + "liveBugTesting": "Live Bug Testing!", + "heavyInfluence": "Heavy RoR2 Influence!", + "pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!", + "nowWithMoreSalt": "Now with 33% More Salt!", + "infiniteFusionAtHome": "Infinite Fusion at Home!", + "brokenEggMoves": "Broken Egg Moves!", + "magnificent": "Magnificent!", + "mubstitute": "Mubstitute!", + "thatsCrazy": "That\'s Crazy!", + "oranceJuice": "Orance Juice!", + "questionableBalancing": "Questionable Balancing!", + "coolShaders": "Cool Shaders!", + "aiFree": "AI-Free!", + "suddenDifficultySpikes": "Sudden Difficulty Spikes!", + "basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!", + "moreAddictiveThanIntended": "More Addictive than Intended!", + "mostlyConsistentSeeds": "Mostly Consistent Seeds!", + "achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!", + "youDoNotStartAtLevel": "You Do Not Start at Level 2000!", + "dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!", + "alsoTryPokengine": "Also Try Pokéngine!", + "alsoTryEmeraldRogue": "Also Try Emerald Rogue!", + "alsoTryRadicalRed": "Also Try Radical Red!", + "eeveeExpo": "Eevee Expo!", + "ynoproject": "YNOproject!", +} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index 84a05233616..6c36db3ed45 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -15,6 +15,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { splashMessages } from "./splash-messages" import { weather } from "./weather"; @@ -33,6 +34,7 @@ export const esConfig = { pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, + splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, diff --git a/src/locales/es/splash-messages.ts b/src/locales/es/splash-messages.ts new file mode 100644 index 00000000000..6815d7f1824 --- /dev/null +++ b/src/locales/es/splash-messages.ts @@ -0,0 +1,37 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const splashMessages: SimpleTranslationEntries = { + "battlesWon": "Battles Won!", + "joinTheDiscord": "Join the Discord!", + "infiniteLevels": "Infinite Levels!", + "everythingStacks": "Everything Stacks!", + "optionalSaveScumming": "Optional Save Scumming!", + "biomes": "35 Biomes!", + "openSource": "Open Source!", + "playWithSpeed": "Play with 5x Speed!", + "liveBugTesting": "Live Bug Testing!", + "heavyInfluence": "Heavy RoR2 Influence!", + "pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!", + "nowWithMoreSalt": "Now with 33% More Salt!", + "infiniteFusionAtHome": "Infinite Fusion at Home!", + "brokenEggMoves": "Broken Egg Moves!", + "magnificent": "Magnificent!", + "mubstitute": "Mubstitute!", + "thatsCrazy": "That\'s Crazy!", + "oranceJuice": "Orance Juice!", + "questionableBalancing": "Questionable Balancing!", + "coolShaders": "Cool Shaders!", + "aiFree": "AI-Free!", + "suddenDifficultySpikes": "Sudden Difficulty Spikes!", + "basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!", + "moreAddictiveThanIntended": "More Addictive than Intended!", + "mostlyConsistentSeeds": "Mostly Consistent Seeds!", + "achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!", + "youDoNotStartAtLevel": "You Do Not Start at Level 2000!", + "dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!", + "alsoTryPokengine": "Also Try Pokéngine!", + "alsoTryEmeraldRogue": "Also Try Emerald Rogue!", + "alsoTryRadicalRed": "Also Try Radical Red!", + "eeveeExpo": "Eevee Expo!", + "ynoproject": "YNOproject!", +} as const; \ No newline at end of file diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 84c20a957ed..f6245f4eeaa 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -15,6 +15,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { splashMessages } from "./splash-messages" import { weather } from "./weather"; @@ -33,6 +34,7 @@ export const frConfig = { pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, + splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, diff --git a/src/locales/fr/splash-messages.ts b/src/locales/fr/splash-messages.ts new file mode 100644 index 00000000000..6815d7f1824 --- /dev/null +++ b/src/locales/fr/splash-messages.ts @@ -0,0 +1,37 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const splashMessages: SimpleTranslationEntries = { + "battlesWon": "Battles Won!", + "joinTheDiscord": "Join the Discord!", + "infiniteLevels": "Infinite Levels!", + "everythingStacks": "Everything Stacks!", + "optionalSaveScumming": "Optional Save Scumming!", + "biomes": "35 Biomes!", + "openSource": "Open Source!", + "playWithSpeed": "Play with 5x Speed!", + "liveBugTesting": "Live Bug Testing!", + "heavyInfluence": "Heavy RoR2 Influence!", + "pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!", + "nowWithMoreSalt": "Now with 33% More Salt!", + "infiniteFusionAtHome": "Infinite Fusion at Home!", + "brokenEggMoves": "Broken Egg Moves!", + "magnificent": "Magnificent!", + "mubstitute": "Mubstitute!", + "thatsCrazy": "That\'s Crazy!", + "oranceJuice": "Orance Juice!", + "questionableBalancing": "Questionable Balancing!", + "coolShaders": "Cool Shaders!", + "aiFree": "AI-Free!", + "suddenDifficultySpikes": "Sudden Difficulty Spikes!", + "basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!", + "moreAddictiveThanIntended": "More Addictive than Intended!", + "mostlyConsistentSeeds": "Mostly Consistent Seeds!", + "achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!", + "youDoNotStartAtLevel": "You Do Not Start at Level 2000!", + "dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!", + "alsoTryPokengine": "Also Try Pokéngine!", + "alsoTryEmeraldRogue": "Also Try Emerald Rogue!", + "alsoTryRadicalRed": "Also Try Radical Red!", + "eeveeExpo": "Eevee Expo!", + "ynoproject": "YNOproject!", +} as const; \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 0247a7e0f80..11b1b9e5628 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -15,6 +15,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { splashMessages } from "./splash-messages" import { weather } from "./weather"; @@ -33,6 +34,7 @@ export const itConfig = { pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, + splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, diff --git a/src/locales/it/splash-messages.ts b/src/locales/it/splash-messages.ts new file mode 100644 index 00000000000..3bddc68f0b5 --- /dev/null +++ b/src/locales/it/splash-messages.ts @@ -0,0 +1,37 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const splashMessages: SimpleTranslationEntries = { + "battlesWon": "Battaglie Vinte!", + "joinTheDiscord": "Entra nel Discord!", + "infiniteLevels": "Livelli Infiniti!", + "everythingStacks": "Tutto si impila!", + "optionalSaveScumming": "Salvataggio Facoltativo!", + "biomes": "35 Biomi!", + "openSource": "Open Source!", + "playWithSpeed": "Gioca con il 5x di Velocità!", + "liveBugTesting": "Test dei Bug in Tempo Reale!", + "heavyInfluence": "Influenzato da RoR2!", + "pokemonRiskAndPokemonRain": "Pokémon Risk e Pokémon Rain!", + "nowWithMoreSalt": "Adesso con il 33% di sale in più!", + "infiniteFusionAtHome": "Fusioni Infinite a Casa!", + "brokenEggMoves": "Mosse delle Uova Rotte!", + "magnificent": "Magnifico!", + "mubstitute": "Mubstitute!", + "thatsCrazy": "È Pazzesco!", + "oranceJuice": "Succo d\'Arancia!", + "questionableBalancing": "Bilanciamento Discutibile!", + "coolShaders": "Shader fantastici!", + "aiFree": "Senza Intelligenza Artificiale!", + "suddenDifficultySpikes": "Picchi di Difficoltà Improvvisi!", + "basedOnAnUnfinishedFlashGame": "Basato su un Gioco Flash Incompiuto!", + "moreAddictiveThanIntended": "Crea Dipendeza più del Dovuto!", + "mostlyConsistentSeeds": "Seeds Consistenti!", + "achievementPointsDontDoAnything": "I Punti Obiettivo non Fanno Nulla!", + "youDoNotStartAtLevel": "Non Cominci dal Livello 2000!", + "dontTalkAboutTheManaphyEggIncident": "Non Parlare dell'Incidente dell'Uovo di Manaphy!", + "alsoTryPokengine": "Prova anche Pokéngine!", + "alsoTryEmeraldRogue": "Prova anche Emerald Rogue!", + "alsoTryRadicalRed": "Prova anche Radical Red!", + "eeveeExpo": "Eevee Expo!", + "ynoproject": "YNOproject!", +} as const; \ No newline at end of file diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index ffd45317121..1e0363f1688 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -124,6 +124,7 @@ declare module 'i18next' { fightUiHandler: SimpleTranslationEntries; tutorial: SimpleTranslationEntries; starterSelectUiHandler: SimpleTranslationEntries; + splashMessages: SimpleTranslationEntries; nature: SimpleTranslationEntries; growth: SimpleTranslationEntries; egg: SimpleTranslationEntries; diff --git a/src/ui/title-ui-handler.ts b/src/ui/title-ui-handler.ts index c808611b093..4da4f189f6b 100644 --- a/src/ui/title-ui-handler.ts +++ b/src/ui/title-ui-handler.ts @@ -4,7 +4,7 @@ import OptionSelectUiHandler from "./option-select-ui-handler"; import { Mode } from "./ui"; import * as Utils from "../utils"; import { TextStyle, addTextObject } from "./text"; -import { battleCountSplashMessage, splashMessages } from "../data/splash-messages"; +import { getBattleCountSplashMessage, getSplashMessages } from "../data/splash-messages"; import i18next from "i18next"; export default class TitleUiHandler extends OptionSelectUiHandler { @@ -63,8 +63,8 @@ export default class TitleUiHandler extends OptionSelectUiHandler { .then(request => request.json()) .then(stats => { this.playerCountLabel.setText(`${stats.playerCount} ${i18next.t("menu:playersOnline")}`); - if (this.splashMessage === battleCountSplashMessage) - this.splashMessageText.setText(battleCountSplashMessage.replace('{COUNT}', stats.battleCount.toLocaleString('en-US'))); + if (this.splashMessage === getBattleCountSplashMessage()) + this.splashMessageText.setText(getBattleCountSplashMessage().replace('{COUNT}', stats.battleCount.toLocaleString('en-US'))); }) .catch(err => { console.error("Failed to fetch title stats:\n", err); @@ -75,7 +75,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler { const ret = super.show(args); if (ret) { - this.splashMessage = Utils.randItem(splashMessages); + this.splashMessage = Utils.randItem(getSplashMessages()); this.splashMessageText.setText(this.splashMessage.replace('{COUNT}', '?')); const ui = this.getUi(); From 1254ca5c4c5ca212fe392c5b2808894fc920e50e Mon Sep 17 00:00:00 2001 From: 0xLondre$ <86735808+jdsajdas@users.noreply.github.com> Date: Thu, 16 May 2024 03:52:26 -0500 Subject: [PATCH 14/84] New spanish translations (#729) * New spanish translations * KO translation * hitResultSuperEffective IX gen --- src/locales/es/battle.ts | 10 +++++----- src/locales/es/fight-ui-handler.ts | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/locales/es/battle.ts b/src/locales/es/battle.ts index 76a73142ad6..5b4b696a9d2 100644 --- a/src/locales/es/battle.ts +++ b/src/locales/es/battle.ts @@ -14,11 +14,11 @@ export const battle: SimpleTranslationEntries = { "pokemonCaught": "¡{{pokemonName}} atrapado!", "pokemon": "Pokémon", "sendOutPokemon": "¡Adelante, {{pokemonName}}!", - "hitResultCriticalHit": "A critical hit!", - "hitResultSuperEffective": "It's super effective!", - "hitResultNotVeryEffective": "It's not very effective…", - "hitResultNoEffect": "It doesn't affect {{pokemonName}}!", - "hitResultOneHitKO": "It's a one-hit KO!", + "hitResultCriticalHit": "!Un golpe crítico!", + "hitResultSuperEffective": "!Es supereficaz!", + "hitResultNotVeryEffective": "No es muy eficaz…", + "hitResultNoEffect": "No afecta a {{pokemonName}}!", + "hitResultOneHitKO": "!KO en 1 golpe!", "attackFailed": "¡Pero ha fallado!", "attackHitsCount": `N.º de golpes: {{count}}.`, "expGain": "{{pokemonName}} ha ganado\n{{exp}} puntos de experiencia.", diff --git a/src/locales/es/fight-ui-handler.ts b/src/locales/es/fight-ui-handler.ts index 7a02ce66f3c..951d043d393 100644 --- a/src/locales/es/fight-ui-handler.ts +++ b/src/locales/es/fight-ui-handler.ts @@ -3,5 +3,5 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const fightUiHandler: SimpleTranslationEntries = { "pp": "PP", "power": "Potencia", - "accuracy": "Accuracy", + "accuracy": "Precisión", } as const; From b06190c4e73e4c7549ca6963d8851a78702b9653 Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Thu, 16 May 2024 11:05:25 +0200 Subject: [PATCH 15/84] Issue #745 localized trainer names trainer classes and titles (#752) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Issue #745 - Added the option to localize titles, trainer names (for important trainers like elite 4, champs etc) and trainer classes. - Also i already did the whole localization for german (sorry thats the only language is speak other then english...) - Also renamed the trainer Type "student" to school_kid (because there apparently really is a trainer class called student since the gen 9 dlc) - And i changed it so it makes sure that i18 only gets initalized once (it may be needed to initalize it before the loading phase so the elite 4 titles etc can be localized) * Issue #745 - Removed stuff that wasnt meant for this branch * Translation of French trainers.ts * Translation of French trainers.ts * Translation of French trainers.ts * Fixed spelling on german translation * Fixed name of Hex Maniac * ADded missing "," that were lost in the merge * For Trainer Classes that have a female and male variant the correct name is now choosen. (If a language has both). Also added a safety net that if the female version does not exist it uses the one without the suffix * Reverting override.ts * Added ptBR trainers.ts (thanks to zé ricardo on discord) * Updates Pokefan to reflect the correct english spelling (in all languages that still have the english defaults) * Updated Rich_kid trainer typ to named correctly as "Rich Boy" in english and all non yet localized languages * Added that the title will get made lower case so the rival is correctly set * Reverted a formatting change that i didnt make intentionally --------- Co-authored-by: Lugiad --- src/data/biomes.ts | 4 +- src/data/dialogue.ts | 2 +- src/data/enums/trainer-type.ts | 2 +- src/data/trainer-config.ts | 971 +++++++++++++++++---------------- src/data/trainer-names.ts | 4 +- src/field/trainer.ts | 12 +- src/locales/de/config.ts | 6 +- src/locales/de/trainers.ts | 221 ++++++++ src/locales/en/config.ts | 6 +- src/locales/en/trainers.ts | 219 ++++++++ src/locales/es/config.ts | 6 +- src/locales/es/trainers.ts | 219 ++++++++ src/locales/fr/config.ts | 8 +- src/locales/fr/trainers.ts | 219 ++++++++ src/locales/it/config.ts | 6 +- src/locales/it/trainers.ts | 219 ++++++++ src/locales/pt_BR/trainers.ts | 219 ++++++++ src/locales/zh_CN/config.ts | 7 +- src/locales/zh_CN/trainers.ts | 218 ++++++++ src/plugins/i18n.ts | 17 +- 20 files changed, 2115 insertions(+), 470 deletions(-) create mode 100644 src/locales/de/trainers.ts create mode 100644 src/locales/en/trainers.ts create mode 100644 src/locales/es/trainers.ts create mode 100644 src/locales/fr/trainers.ts create mode 100644 src/locales/it/trainers.ts create mode 100644 src/locales/pt_BR/trainers.ts create mode 100644 src/locales/zh_CN/trainers.ts diff --git a/src/data/biomes.ts b/src/data/biomes.ts index db13158fab3..c4fb750542d 100644 --- a/src/data/biomes.ts +++ b/src/data/biomes.ts @@ -1647,7 +1647,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.GRASS]: { - [BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.STUDENT ], + [BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.SCHOOL_KID ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], [BiomePoolTier.SUPER_RARE]: [], @@ -7270,7 +7270,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ TrainerType.STRIKER, [] ], - [ TrainerType.STUDENT, [ + [ TrainerType.SCHOOL_KID, [ [ Biome.GRASS, BiomePoolTier.COMMON ] ] ], diff --git a/src/data/dialogue.ts b/src/data/dialogue.ts index 830b5f43775..055e5627a52 100644 --- a/src/data/dialogue.ts +++ b/src/data/dialogue.ts @@ -288,7 +288,7 @@ export const trainerTypeDialogue = { ] } ], - [TrainerType.STUDENT]: [ + [TrainerType.SCHOOL_KID]: [ { encounter: [ `…Heehee. I'm confident in my calculations and analysis.`, diff --git a/src/data/enums/trainer-type.ts b/src/data/enums/trainer-type.ts index c30b098960c..c263baae3b7 100644 --- a/src/data/enums/trainer-type.ts +++ b/src/data/enums/trainer-type.ts @@ -43,7 +43,7 @@ export enum TrainerType { SMASHER, SNOW_WORKER, STRIKER, - STUDENT, + SCHOOL_KID, SWIMMER, TWINS, VETERAN, diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index 5284773e4b6..b797c918bd9 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -1,161 +1,163 @@ -import BattleScene, { startingWave } from "../battle-scene"; -import { ModifierTypeFunc, modifierTypes } from "../modifier/modifier-type"; -import { EnemyPokemon } from "../field/pokemon"; +import BattleScene, {startingWave} from "../battle-scene"; +import {ModifierTypeFunc, modifierTypes} from "../modifier/modifier-type"; +import {EnemyPokemon} from "../field/pokemon"; import * as Utils from "../utils"; -import { TrainerType } from "./enums/trainer-type"; -import { Moves } from "./enums/moves"; -import { PokeballType } from "./pokeball"; -import { pokemonEvolutions, pokemonPrevolutions } from "./pokemon-evolutions"; -import PokemonSpecies, { PokemonSpeciesFilter, getPokemonSpecies } from "./pokemon-species"; -import { Species } from "./enums/species"; -import { tmSpecies } from "./tms"; -import { Type } from "./type"; -import { initTrainerTypeDialogue } from "./dialogue"; -import { PersistentModifier } from "../modifier/modifier"; -import { TrainerVariant } from "../field/trainer"; -import { PartyMemberStrength } from "./enums/party-member-strength"; +import {TrainerType} from "./enums/trainer-type"; +import {Moves} from "./enums/moves"; +import {PokeballType} from "./pokeball"; +import {pokemonEvolutions, pokemonPrevolutions} from "./pokemon-evolutions"; +import PokemonSpecies, {PokemonSpeciesFilter, getPokemonSpecies} from "./pokemon-species"; +import {Species} from "./enums/species"; +import {tmSpecies} from "./tms"; +import {Type} from "./type"; +import {initTrainerTypeDialogue} from "./dialogue"; +import {PersistentModifier} from "../modifier/modifier"; +import {TrainerVariant} from "../field/trainer"; +import {PartyMemberStrength} from "./enums/party-member-strength"; +import i18next from "i18next"; +import {getIsInitialized, initI18n} from "#app/plugins/i18n"; export enum TrainerPoolTier { - COMMON, - UNCOMMON, - RARE, - SUPER_RARE, - ULTRA_RARE + COMMON, + UNCOMMON, + RARE, + SUPER_RARE, + ULTRA_RARE } export interface TrainerTierPools { - [key: integer]: Species[] + [key: integer]: Species[] } export enum TrainerSlot { - NONE, - TRAINER, - TRAINER_PARTNER + NONE, + TRAINER, + TRAINER_PARTNER } export class TrainerPartyTemplate { - public size: integer; - public strength: PartyMemberStrength; - public sameSpecies: boolean; - public balanced: boolean; + public size: integer; + public strength: PartyMemberStrength; + public sameSpecies: boolean; + public balanced: boolean; - constructor(size: integer, strength: PartyMemberStrength, sameSpecies?: boolean, balanced?: boolean) { - this.size = size; - this.strength = strength; - this.sameSpecies = !!sameSpecies; - this.balanced = !!balanced; - } + constructor(size: integer, strength: PartyMemberStrength, sameSpecies?: boolean, balanced?: boolean) { + this.size = size; + this.strength = strength; + this.sameSpecies = !!sameSpecies; + this.balanced = !!balanced; + } - getStrength(index: integer): PartyMemberStrength { - return this.strength; - } + getStrength(index: integer): PartyMemberStrength { + return this.strength; + } - isSameSpecies(index: integer): boolean { - return this.sameSpecies; - } + isSameSpecies(index: integer): boolean { + return this.sameSpecies; + } - isBalanced(index: integer): boolean { - return this.balanced; - } + isBalanced(index: integer): boolean { + return this.balanced; + } } export class TrainerPartyCompoundTemplate extends TrainerPartyTemplate { - public templates: TrainerPartyTemplate[]; + public templates: TrainerPartyTemplate[]; - constructor(...templates: TrainerPartyTemplate[]) { - super(templates.reduce((total: integer, template: TrainerPartyTemplate) => { - total += template.size; - return total; - }, 0), PartyMemberStrength.AVERAGE); - this.templates = templates; - } - - getStrength(index: integer): PartyMemberStrength { - let t = 0; - for (let template of this.templates) { - if (t + template.size > index) - return template.getStrength(index - t); - t += template.size; + constructor(...templates: TrainerPartyTemplate[]) { + super(templates.reduce((total: integer, template: TrainerPartyTemplate) => { + total += template.size; + return total; + }, 0), PartyMemberStrength.AVERAGE); + this.templates = templates; } - return super.getStrength(index); - } + getStrength(index: integer): PartyMemberStrength { + let t = 0; + for (let template of this.templates) { + if (t + template.size > index) + return template.getStrength(index - t); + t += template.size; + } - isSameSpecies(index: integer): boolean { - let t = 0; - for (let template of this.templates) { - if (t + template.size > index) - return template.isSameSpecies(index - t); - t += template.size; + return super.getStrength(index); } - return super.isSameSpecies(index); - } + isSameSpecies(index: integer): boolean { + let t = 0; + for (let template of this.templates) { + if (t + template.size > index) + return template.isSameSpecies(index - t); + t += template.size; + } - isBalanced(index: integer): boolean { - let t = 0; - for (let template of this.templates) { - if (t + template.size > index) - return template.isBalanced(index - t); - t += template.size; + return super.isSameSpecies(index); } - return super.isBalanced(index); - } + isBalanced(index: integer): boolean { + let t = 0; + for (let template of this.templates) { + if (t + template.size > index) + return template.isBalanced(index - t); + t += template.size; + } + + return super.isBalanced(index); + } } export const trainerPartyTemplates = { - ONE_WEAK_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - ONE_AVG: new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), - ONE_AVG_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - ONE_STRONG: new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), - ONE_STRONGER: new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), - TWO_WEAKER: new TrainerPartyTemplate(2, PartyMemberStrength.WEAKER), - TWO_WEAK: new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), - TWO_WEAK_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), - TWO_WEAK_SAME_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), - TWO_WEAK_SAME_TWO_WEAK_SAME: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true), new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true)), - TWO_WEAK_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - TWO_AVG: new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), - TWO_AVG_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - TWO_AVG_SAME_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), - TWO_AVG_SAME_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - TWO_AVG_SAME_TWO_AVG_SAME: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true)), - TWO_STRONG: new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), - THREE_WEAK: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK), - THREE_WEAK_SAME: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK, true), - THREE_AVG: new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), - THREE_AVG_SAME: new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, true), - THREE_WEAK_BALANCED: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK, false, true), - FOUR_WEAKER: new TrainerPartyTemplate(4, PartyMemberStrength.WEAKER), - FOUR_WEAKER_SAME: new TrainerPartyTemplate(4, PartyMemberStrength.WEAKER, true), - FOUR_WEAK: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK), - FOUR_WEAK_SAME: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK, true), - FOUR_WEAK_BALANCED: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK, false, true), - FIVE_WEAKER: new TrainerPartyTemplate(5, PartyMemberStrength.WEAKER), - FIVE_WEAK: new TrainerPartyTemplate(5, PartyMemberStrength.WEAK), - FIVE_WEAK_BALANCED: new TrainerPartyTemplate(5, PartyMemberStrength.WEAK, false, true), - SIX_WEAKER: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER), - SIX_WEAKER_SAME: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER, true), - SIX_WEAK_SAME: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER, true), - SIX_WEAK_BALANCED: new TrainerPartyTemplate(6, PartyMemberStrength.WEAK, false, true), + ONE_WEAK_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + ONE_AVG: new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), + ONE_AVG_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + ONE_STRONG: new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), + ONE_STRONGER: new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), + TWO_WEAKER: new TrainerPartyTemplate(2, PartyMemberStrength.WEAKER), + TWO_WEAK: new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), + TWO_WEAK_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), + TWO_WEAK_SAME_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), + TWO_WEAK_SAME_TWO_WEAK_SAME: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true), new TrainerPartyTemplate(2, PartyMemberStrength.WEAK, true)), + TWO_WEAK_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.WEAK), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + TWO_AVG: new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), + TWO_AVG_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + TWO_AVG_SAME_ONE_AVG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), + TWO_AVG_SAME_ONE_STRONG: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + TWO_AVG_SAME_TWO_AVG_SAME: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true), new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, true)), + TWO_STRONG: new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), + THREE_WEAK: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK), + THREE_WEAK_SAME: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK, true), + THREE_AVG: new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), + THREE_AVG_SAME: new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, true), + THREE_WEAK_BALANCED: new TrainerPartyTemplate(3, PartyMemberStrength.WEAK, false, true), + FOUR_WEAKER: new TrainerPartyTemplate(4, PartyMemberStrength.WEAKER), + FOUR_WEAKER_SAME: new TrainerPartyTemplate(4, PartyMemberStrength.WEAKER, true), + FOUR_WEAK: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK), + FOUR_WEAK_SAME: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK, true), + FOUR_WEAK_BALANCED: new TrainerPartyTemplate(4, PartyMemberStrength.WEAK, false, true), + FIVE_WEAKER: new TrainerPartyTemplate(5, PartyMemberStrength.WEAKER), + FIVE_WEAK: new TrainerPartyTemplate(5, PartyMemberStrength.WEAK), + FIVE_WEAK_BALANCED: new TrainerPartyTemplate(5, PartyMemberStrength.WEAK, false, true), + SIX_WEAKER: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER), + SIX_WEAKER_SAME: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER, true), + SIX_WEAK_SAME: new TrainerPartyTemplate(6, PartyMemberStrength.WEAKER, true), + SIX_WEAK_BALANCED: new TrainerPartyTemplate(6, PartyMemberStrength.WEAK, false, true), - GYM_LEADER_1: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - GYM_LEADER_2: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - GYM_LEADER_3: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - GYM_LEADER_4: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - GYM_LEADER_5: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + GYM_LEADER_1: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + GYM_LEADER_2: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + GYM_LEADER_3: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + GYM_LEADER_4: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + GYM_LEADER_5: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - ELITE_FOUR: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), + ELITE_FOUR: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)), - CHAMPION: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), new TrainerPartyTemplate(5, PartyMemberStrength.STRONG, false, true)), + CHAMPION: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), new TrainerPartyTemplate(5, PartyMemberStrength.STRONG, false, true)), - RIVAL: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), - RIVAL_2: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), - RIVAL_3: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), - RIVAL_4: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), - RIVAL_5: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), - RIVAL_6: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)) + RIVAL: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE)), + RIVAL_2: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), + RIVAL_3: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), + RIVAL_4: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.WEAK, false, true)), + RIVAL_5: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONG)), + RIVAL_6: new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE, false, true), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER)) }; type PartyTemplateFunc = (scene: BattleScene) => TrainerPartyTemplate; @@ -163,368 +165,425 @@ type PartyMemberFunc = (scene: BattleScene, level: integer, strength: PartyMembe type GenModifiersFunc = (party: EnemyPokemon[]) => PersistentModifier[]; export interface PartyMemberFuncs { - [key: integer]: PartyMemberFunc + [key: integer]: PartyMemberFunc } export class TrainerConfig { - public trainerType: TrainerType; - public name: string; - public nameFemale: string; - public nameDouble: string; - public title: string; - public hasGenders: boolean = false; - public hasDouble: boolean = false; - public hasCharSprite: boolean = false; - public doubleOnly: boolean = false; - public moneyMultiplier: number = 1; - public isBoss: boolean = false; - public hasStaticParty: boolean = false; - public useSameSeedForAllMembers: boolean = false; - public battleBgm: string; - public encounterBgm: string; - public femaleEncounterBgm: string; - public doubleEncounterBgm: string; - public victoryBgm: string; - public genModifiersFunc: GenModifiersFunc; - public modifierRewardFuncs: ModifierTypeFunc[] = []; - public partyTemplates: TrainerPartyTemplate[]; - public partyTemplateFunc: PartyTemplateFunc; - public partyMemberFuncs: PartyMemberFuncs = {}; - public speciesPools: TrainerTierPools; - public speciesFilter: PokemonSpeciesFilter; - public specialtyTypes: Type[] = []; + public trainerType: TrainerType; + public name: string; + public nameFemale: string; + public nameDouble: string; + public title: string; + public hasGenders: boolean = false; + public hasDouble: boolean = false; + public hasCharSprite: boolean = false; + public doubleOnly: boolean = false; + public moneyMultiplier: number = 1; + public isBoss: boolean = false; + public hasStaticParty: boolean = false; + public useSameSeedForAllMembers: boolean = false; + public battleBgm: string; + public encounterBgm: string; + public femaleEncounterBgm: string; + public doubleEncounterBgm: string; + public victoryBgm: string; + public genModifiersFunc: GenModifiersFunc; + public modifierRewardFuncs: ModifierTypeFunc[] = []; + public partyTemplates: TrainerPartyTemplate[]; + public partyTemplateFunc: PartyTemplateFunc; + public partyMemberFuncs: PartyMemberFuncs = {}; + public speciesPools: TrainerTierPools; + public speciesFilter: PokemonSpeciesFilter; + public specialtyTypes: Type[] = []; - public encounterMessages: string[] = []; - public victoryMessages: string[] = []; - public defeatMessages: string[] = []; + public encounterMessages: string[] = []; + public victoryMessages: string[] = []; + public defeatMessages: string[] = []; - public femaleEncounterMessages: string[]; - public femaleVictoryMessages: string[]; - public femaleDefeatMessages: string[]; + public femaleEncounterMessages: string[]; + public femaleVictoryMessages: string[]; + public femaleDefeatMessages: string[]; - public doubleEncounterMessages: string[]; - public doubleVictoryMessages: string[]; - public doubleDefeatMessages: string[]; + public doubleEncounterMessages: string[]; + public doubleVictoryMessages: string[]; + public doubleDefeatMessages: string[]; - constructor(trainerType: TrainerType, allowLegendaries?: boolean) { - this.trainerType = trainerType; - this.name = Utils.toReadableString(TrainerType[this.getDerivedType()]); - this.battleBgm = 'battle_trainer'; - this.victoryBgm = 'victory_trainer'; - this.partyTemplates = [ trainerPartyTemplates.TWO_AVG ]; - this.speciesFilter = species => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden(); - } - - getKey(): string { - return TrainerType[this.getDerivedType()].toString().toLowerCase(); - } - - getSpriteKey(female?: boolean): string { - let ret = this.getKey(); - if (this.hasGenders) - ret += `_${female ? 'f' : 'm'}`; - return ret; - } - - setName(name: string): TrainerConfig { - this.name = name; - return this; - } - - setTitle(title: string): TrainerConfig { - this.title = title; - return this; - } - - getDerivedType(): TrainerType { - let trainerType = this.trainerType; - switch (trainerType) { - case TrainerType.RIVAL_2: - case TrainerType.RIVAL_3: - case TrainerType.RIVAL_4: - case TrainerType.RIVAL_5: - case TrainerType.RIVAL_6: - trainerType = TrainerType.RIVAL; - break; - case TrainerType.LANCE_CHAMPION: - trainerType = TrainerType.LANCE; - break; - case TrainerType.LARRY_ELITE: - trainerType = TrainerType.LARRY; - break; + constructor(trainerType: TrainerType, allowLegendaries?: boolean) { + this.trainerType = trainerType; + this.name = Utils.toReadableString(TrainerType[this.getDerivedType()]); + this.battleBgm = 'battle_trainer'; + this.victoryBgm = 'victory_trainer'; + this.partyTemplates = [trainerPartyTemplates.TWO_AVG]; + this.speciesFilter = species => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden(); } - return trainerType; - } - - setHasGenders(nameFemale?: string, femaleEncounterBgm?: TrainerType | string): TrainerConfig { - this.hasGenders = true; - this.nameFemale = nameFemale; - if (femaleEncounterBgm) - this.femaleEncounterBgm = typeof femaleEncounterBgm === 'number' ? TrainerType[femaleEncounterBgm].toString().replace(/\_/g, ' ').toLowerCase() : femaleEncounterBgm; - return this; - } - - setHasDouble(nameDouble: string, doubleEncounterBgm?: TrainerType | string): TrainerConfig { - this.hasDouble = true; - this.nameDouble = nameDouble; - if (doubleEncounterBgm) - this.doubleEncounterBgm = typeof doubleEncounterBgm === 'number' ? TrainerType[doubleEncounterBgm].toString().replace(/\_/g, ' ').toLowerCase() : doubleEncounterBgm; - return this; - } - - setHasCharSprite(): TrainerConfig { - this.hasCharSprite = true; - return this; - } - - setDoubleOnly(): TrainerConfig { - this.doubleOnly = true; - return this; - } - - setMoneyMultiplier(moneyMultiplier: number): TrainerConfig { - this.moneyMultiplier = moneyMultiplier; - return this; - } - - setBoss(): TrainerConfig { - this.isBoss = true; - return this; - } - - setStaticParty(): TrainerConfig { - this.hasStaticParty = true; - return this; - } - - setUseSameSeedForAllMembers(): TrainerConfig { - this.useSameSeedForAllMembers = true; - return this; - } - - setBattleBgm(battleBgm: string): TrainerConfig { - this.battleBgm = battleBgm; - return this; - } - - setEncounterBgm(encounterBgm: TrainerType | string): TrainerConfig { - this.encounterBgm = typeof encounterBgm === 'number' ? TrainerType[encounterBgm].toString().toLowerCase() : encounterBgm; - return this; - } - - setVictoryBgm(victoryBgm: string): TrainerConfig { - this.victoryBgm = victoryBgm; - return this; - } - - setPartyTemplates(...partyTemplates: TrainerPartyTemplate[]): TrainerConfig { - this.partyTemplates = partyTemplates; - return this; - } - - setPartyTemplateFunc(partyTemplateFunc: PartyTemplateFunc): TrainerConfig { - this.partyTemplateFunc = partyTemplateFunc; - return this; - } - - setPartyMemberFunc(slotIndex: integer, partyMemberFunc: PartyMemberFunc): TrainerConfig { - this.partyMemberFuncs[slotIndex] = partyMemberFunc; - return this; - } - - setSpeciesPools(speciesPools: TrainerTierPools | Species[]): TrainerConfig { - this.speciesPools = (Array.isArray(speciesPools) ? { [TrainerPoolTier.COMMON]: speciesPools } : speciesPools) as unknown as TrainerTierPools; - return this; - } - - setSpeciesFilter(speciesFilter: PokemonSpeciesFilter, allowLegendaries?: boolean): TrainerConfig { - const baseFilter = this.speciesFilter; - this.speciesFilter = allowLegendaries ? speciesFilter : species => speciesFilter(species) && baseFilter(species); - return this; - } - - setSpecialtyTypes(...specialtyTypes: Type[]): TrainerConfig { - this.specialtyTypes = specialtyTypes; - return this; - } - - setGenModifiersFunc(genModifiersFunc: GenModifiersFunc): TrainerConfig { - this.genModifiersFunc = genModifiersFunc; - return this; - } - - setModifierRewardFuncs(...modifierTypeFuncs: (() => ModifierTypeFunc)[]): TrainerConfig { - this.modifierRewardFuncs = modifierTypeFuncs.map(func => () => { - const modifierTypeFunc = func(); - const modifierType = modifierTypeFunc(); - modifierType.withIdFromFunc(modifierTypeFunc); - return modifierType; - }); - return this; - } - - initForGymLeader(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig { - this.setPartyTemplateFunc(getGymLeaderPartyTemplate); - signatureSpecies.forEach((speciesPool, s) => { - if (!Array.isArray(speciesPool)) - speciesPool = [ speciesPool ]; - this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); - }); - if (specialtyTypes.length) { - this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) !== undefined); - this.setSpecialtyTypes(...specialtyTypes); - } - this.setTitle('Gym Leader'); - this.setMoneyMultiplier(2.5); - this.setBoss(); - this.setStaticParty(); - this.setBattleBgm('battle_unova_gym'); - this.setVictoryBgm('victory_gym'); - this.setGenModifiersFunc(party => { - const waveIndex = party[0].scene.currentBattle.waveIndex; - return getRandomTeraModifiers(party, waveIndex >= 100 ? 1 : 0, specialtyTypes.length ? specialtyTypes : null); - }); - return this; - } - - initForEliteFour(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig { - this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR); - signatureSpecies.forEach((speciesPool, s) => { - if (!Array.isArray(speciesPool)) - speciesPool = [ speciesPool ]; - this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); - }); - if (specialtyTypes.length) { - this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) && p.baseTotal >= 450); - this.setSpecialtyTypes(...specialtyTypes); - } else - this.setSpeciesFilter(p => p.baseTotal >= 450); - this.setTitle('Elite Four'); - this.setMoneyMultiplier(3.25); - this.setBoss(); - this.setStaticParty(); - this.setBattleBgm('battle_elite'); - this.setVictoryBgm('victory_gym'); - this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 2, specialtyTypes.length ? specialtyTypes : null)); - return this; - } - - initForChampion(signatureSpecies: (Species | Species[])[]): TrainerConfig { - this.setPartyTemplates(trainerPartyTemplates.CHAMPION); - signatureSpecies.forEach((speciesPool, s) => { - if (!Array.isArray(speciesPool)) - speciesPool = [ speciesPool ]; - this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); - }); - this.setSpeciesFilter(p => p.baseTotal >= 470); - this.setTitle('Champion'); - this.setMoneyMultiplier(10); - this.setBoss(); - this.setStaticParty(); - this.setBattleBgm('battle_champion_alder'); - this.setVictoryBgm('victory_champion'); - this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 3)); - return this; - } - - getTitle(trainerSlot: TrainerSlot = TrainerSlot.NONE, variant: TrainerVariant): string { - let ret = this.name; - - if (!trainerSlot && variant === TrainerVariant.DOUBLE && this.nameDouble) - return this.nameDouble; - - if (this.hasGenders) { - if (this.nameFemale) { - if (variant === TrainerVariant.FEMALE || (variant === TrainerVariant.DOUBLE && trainerSlot === TrainerSlot.TRAINER_PARTNER)) - return this.nameFemale; - } else - ret += !variant ? '♂' : '♀'; + getKey(): string { + return TrainerType[this.getDerivedType()].toString().toLowerCase(); } - return ret; - } + getSpriteKey(female?: boolean): string { + let ret = this.getKey(); + if (this.hasGenders) + ret += `_${female ? 'f' : 'm'}`; + return ret; + } + + setName(name: string): TrainerConfig { + if (name === 'Finn' || name === 'Ivy') { + // Give the rival a localized name + // First check if i18n is initialized + if (!getIsInitialized()) { + initI18n(); + } + if (name === 'Finn') { + this.name = i18next.t('trainerNames:rival'); + } + if (name === 'Ivy') { + this.name = i18next.t('trainerNames:rival_female'); + } - loadAssets(scene: BattleScene, variant: TrainerVariant): Promise { - return new Promise(resolve => { - const isDouble = variant === TrainerVariant.DOUBLE; - const trainerKey = this.getSpriteKey(variant === TrainerVariant.FEMALE); - const partnerTrainerKey = this.getSpriteKey(true); - scene.loadAtlas(trainerKey, 'trainer'); - if (isDouble) - scene.loadAtlas(partnerTrainerKey, 'trainer'); - scene.load.once(Phaser.Loader.Events.COMPLETE, () => { - const originalWarn = console.warn; - // Ignore warnings for missing frames, because there will be a lot - console.warn = () => {}; - const frameNames = scene.anims.generateFrameNames(trainerKey, { zeroPad: 4, suffix: ".png", start: 1, end: 128 }); - const partnerFrameNames = isDouble - ? scene.anims.generateFrameNames(partnerTrainerKey, { zeroPad: 4, suffix: ".png", start: 1, end: 128 }) - : null; - console.warn = originalWarn; - scene.anims.create({ - key: trainerKey, - frames: frameNames, - frameRate: 24, - repeat: -1 - }); - if (isDouble) { - scene.anims.create({ - key: partnerTrainerKey, - frames: partnerFrameNames, - frameRate: 24, - repeat: -1 - }); } - resolve(); - }); - if (!scene.load.isLoading()) - scene.load.start(); - }); - } + this.name = name; + return this; + } + + setTitle(title: string): TrainerConfig { + // First check if i18n is initialized + if (!getIsInitialized()) { + initI18n(); + } + + // Make the title lowercase and replace spaces with underscores + title = title.toLowerCase().replace(/\s/g, '_'); + + this.title = i18next.t(`titles:${title}`); + + + return this; + } + + getDerivedType(): TrainerType { + let trainerType = this.trainerType; + switch (trainerType) { + case TrainerType.RIVAL_2: + case TrainerType.RIVAL_3: + case TrainerType.RIVAL_4: + case TrainerType.RIVAL_5: + case TrainerType.RIVAL_6: + trainerType = TrainerType.RIVAL; + break; + case TrainerType.LANCE_CHAMPION: + trainerType = TrainerType.LANCE; + break; + case TrainerType.LARRY_ELITE: + trainerType = TrainerType.LARRY; + break; + } + + return trainerType; + } + + setHasGenders(nameFemale?: string, femaleEncounterBgm?: TrainerType | string): TrainerConfig { + this.hasGenders = true; + this.nameFemale = nameFemale; + if (femaleEncounterBgm) + this.femaleEncounterBgm = typeof femaleEncounterBgm === 'number' ? TrainerType[femaleEncounterBgm].toString().replace(/\_/g, ' ').toLowerCase() : femaleEncounterBgm; + return this; + } + + setHasDouble(nameDouble: string, doubleEncounterBgm?: TrainerType | string): TrainerConfig { + this.hasDouble = true; + this.nameDouble = nameDouble; + if (doubleEncounterBgm) + this.doubleEncounterBgm = typeof doubleEncounterBgm === 'number' ? TrainerType[doubleEncounterBgm].toString().replace(/\_/g, ' ').toLowerCase() : doubleEncounterBgm; + return this; + } + + setHasCharSprite(): TrainerConfig { + this.hasCharSprite = true; + return this; + } + + setDoubleOnly(): TrainerConfig { + this.doubleOnly = true; + return this; + } + + setMoneyMultiplier(moneyMultiplier: number): TrainerConfig { + this.moneyMultiplier = moneyMultiplier; + return this; + } + + setBoss(): TrainerConfig { + this.isBoss = true; + return this; + } + + setStaticParty(): TrainerConfig { + this.hasStaticParty = true; + return this; + } + + setUseSameSeedForAllMembers(): TrainerConfig { + this.useSameSeedForAllMembers = true; + return this; + } + + setBattleBgm(battleBgm: string): TrainerConfig { + this.battleBgm = battleBgm; + return this; + } + + setEncounterBgm(encounterBgm: TrainerType | string): TrainerConfig { + this.encounterBgm = typeof encounterBgm === 'number' ? TrainerType[encounterBgm].toString().toLowerCase() : encounterBgm; + return this; + } + + setVictoryBgm(victoryBgm: string): TrainerConfig { + this.victoryBgm = victoryBgm; + return this; + } + + setPartyTemplates(...partyTemplates: TrainerPartyTemplate[]): TrainerConfig { + this.partyTemplates = partyTemplates; + return this; + } + + setPartyTemplateFunc(partyTemplateFunc: PartyTemplateFunc): TrainerConfig { + this.partyTemplateFunc = partyTemplateFunc; + return this; + } + + setPartyMemberFunc(slotIndex: integer, partyMemberFunc: PartyMemberFunc): TrainerConfig { + this.partyMemberFuncs[slotIndex] = partyMemberFunc; + return this; + } + + setSpeciesPools(speciesPools: TrainerTierPools | Species[]): TrainerConfig { + this.speciesPools = (Array.isArray(speciesPools) ? {[TrainerPoolTier.COMMON]: speciesPools} : speciesPools) as unknown as TrainerTierPools; + return this; + } + + setSpeciesFilter(speciesFilter: PokemonSpeciesFilter, allowLegendaries?: boolean): TrainerConfig { + const baseFilter = this.speciesFilter; + this.speciesFilter = allowLegendaries ? speciesFilter : species => speciesFilter(species) && baseFilter(species); + return this; + } + + setSpecialtyTypes(...specialtyTypes: Type[]): TrainerConfig { + this.specialtyTypes = specialtyTypes; + return this; + } + + setGenModifiersFunc(genModifiersFunc: GenModifiersFunc): TrainerConfig { + this.genModifiersFunc = genModifiersFunc; + return this; + } + + setModifierRewardFuncs(...modifierTypeFuncs: (() => ModifierTypeFunc)[]): TrainerConfig { + this.modifierRewardFuncs = modifierTypeFuncs.map(func => () => { + const modifierTypeFunc = func(); + const modifierType = modifierTypeFunc(); + modifierType.withIdFromFunc(modifierTypeFunc); + return modifierType; + }); + return this; + } + + initForGymLeader(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig { + + this.setPartyTemplateFunc(getGymLeaderPartyTemplate); + signatureSpecies.forEach((speciesPool, s) => { + if (!Array.isArray(speciesPool)) + speciesPool = [speciesPool]; + this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); + }); + if (specialtyTypes.length) { + this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) !== undefined); + this.setSpecialtyTypes(...specialtyTypes); + } + + // Handle name by checking this.name - making it lowercase and replacing spaces with underscores and then calling i18next.t with the name + const nameForCall = this.name.toLowerCase().replace(/\s/g, '_'); + this.name = i18next.t(`trainerNames:${nameForCall}`); + + + + this.setTitle("gym_leader"); + this.setMoneyMultiplier(2.5); + this.setBoss(); + this.setStaticParty(); + this.setBattleBgm('battle_unova_gym'); + this.setVictoryBgm('victory_gym'); + this.setGenModifiersFunc(party => { + const waveIndex = party[0].scene.currentBattle.waveIndex; + return getRandomTeraModifiers(party, waveIndex >= 100 ? 1 : 0, specialtyTypes.length ? specialtyTypes : null); + }); + return this; + } + + initForEliteFour(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig { + + + this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR); + signatureSpecies.forEach((speciesPool, s) => { + if (!Array.isArray(speciesPool)) + speciesPool = [speciesPool]; + this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); + }); + if (specialtyTypes.length) { + this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) && p.baseTotal >= 450); + this.setSpecialtyTypes(...specialtyTypes); + } else + this.setSpeciesFilter(p => p.baseTotal >= 450); + // Handle name by checking this.name - making it lowercase and replacing spaces with underscores and then calling i18next.t with the name + const nameForCall = this.name.toLowerCase().replace(/\s/g, '_'); + this.name = i18next.t(`trainerNames:${nameForCall}`); + + this.setTitle("elite_four"); + this.setMoneyMultiplier(3.25); + this.setBoss(); + this.setStaticParty(); + this.setBattleBgm('battle_elite'); + this.setVictoryBgm('victory_gym'); + this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 2, specialtyTypes.length ? specialtyTypes : null)); + return this; + } + + initForChampion(signatureSpecies: (Species | Species[])[]): TrainerConfig { + + this.setPartyTemplates(trainerPartyTemplates.CHAMPION); + signatureSpecies.forEach((speciesPool, s) => { + if (!Array.isArray(speciesPool)) + speciesPool = [speciesPool]; + this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); + }); + this.setSpeciesFilter(p => p.baseTotal >= 470); + // Handle name by checking this.name - making it lowercase and replacing spaces with underscores and then calling i18next.t with the name + const nameForCall = this.name.toLowerCase().replace(/\s/g, '_'); + this.name = i18next.t(`trainerNames:${nameForCall}`); + this.setTitle("champion"); + this.setMoneyMultiplier(10); + this.setBoss(); + this.setStaticParty(); + this.setBattleBgm('battle_champion_alder'); + this.setVictoryBgm('victory_champion'); + this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 3)); + return this; + } + + getTitle(trainerSlot: TrainerSlot = TrainerSlot.NONE, variant: TrainerVariant): string { + let ret = this.name; + + if (!trainerSlot && variant === TrainerVariant.DOUBLE && this.nameDouble) + return this.nameDouble; + + if (this.hasGenders) { + if (this.nameFemale) { + if (variant === TrainerVariant.FEMALE || (variant === TrainerVariant.DOUBLE && trainerSlot === TrainerSlot.TRAINER_PARTNER)) + return this.nameFemale; + } else + + // Check if !variant is true, if so return the name, else return the name with _female appended + if (variant) { + if (!getIsInitialized()) { + initI18n(); + } + // Check if the female version exists in the i18n file + if (i18next.exists(`trainerClasses:${this.name.toLowerCase().replace}`)) { + // If it does, return + return ret + "_female"; + } else { + // If it doesn't, we do not do anything and go to the normal return + // This is to prevent the game from displaying an error if a female version of the trainer does not exist in the localization + } + } + } + + return ret; + } + + loadAssets(scene: BattleScene, variant: TrainerVariant): Promise { + return new Promise(resolve => { + const isDouble = variant === TrainerVariant.DOUBLE; + const trainerKey = this.getSpriteKey(variant === TrainerVariant.FEMALE); + const partnerTrainerKey = this.getSpriteKey(true); + scene.loadAtlas(trainerKey, 'trainer'); + if (isDouble) + scene.loadAtlas(partnerTrainerKey, 'trainer'); + scene.load.once(Phaser.Loader.Events.COMPLETE, () => { + const originalWarn = console.warn; + // Ignore warnings for missing frames, because there will be a lot + console.warn = () => { + }; + const frameNames = scene.anims.generateFrameNames(trainerKey, {zeroPad: 4,suffix: ".png",start: 1,end: 128}); + const partnerFrameNames = isDouble + ? scene.anims.generateFrameNames(partnerTrainerKey, {zeroPad: 4,suffix: ".png",start: 1,end: 128}) + : null; + console.warn = originalWarn; + scene.anims.create({ + key: trainerKey, + frames: frameNames, + frameRate: 24, + repeat: -1 + }); + if (isDouble) { + scene.anims.create({ + key: partnerTrainerKey, + frames: partnerFrameNames, + frameRate: 24, + repeat: -1 + }); + } + resolve(); + }); + if (!scene.load.isLoading()) + scene.load.start(); + }); + } } let t = 0; interface TrainerConfigs { - [key: integer]: TrainerConfig + [key: integer]: TrainerConfig } function getWavePartyTemplate(scene: BattleScene, ...templates: TrainerPartyTemplate[]) { - return templates[Math.min(Math.max(Math.ceil((scene.gameMode.getWaveForDifficulty(scene.currentBattle?.waveIndex || startingWave, true) - 20) / 30), 0), templates.length - 1)]; + return templates[Math.min(Math.max(Math.ceil((scene.gameMode.getWaveForDifficulty(scene.currentBattle?.waveIndex || startingWave, true) - 20) / 30), 0), templates.length - 1)]; } function getGymLeaderPartyTemplate(scene: BattleScene) { - return getWavePartyTemplate(scene, trainerPartyTemplates.GYM_LEADER_1, trainerPartyTemplates.GYM_LEADER_2, trainerPartyTemplates.GYM_LEADER_3, trainerPartyTemplates.GYM_LEADER_4, trainerPartyTemplates.GYM_LEADER_5); + return getWavePartyTemplate(scene, trainerPartyTemplates.GYM_LEADER_1, trainerPartyTemplates.GYM_LEADER_2, trainerPartyTemplates.GYM_LEADER_3, trainerPartyTemplates.GYM_LEADER_4, trainerPartyTemplates.GYM_LEADER_5); } function getRandomPartyMemberFunc(speciesPool: Species[], trainerSlot: TrainerSlot = TrainerSlot.TRAINER, ignoreEvolution: boolean = false, postProcess?: (enemyPokemon: EnemyPokemon) => void): PartyMemberFunc { - return (scene: BattleScene, level: integer, strength: PartyMemberStrength) => { - let species = Utils.randSeedItem(speciesPool); - if (!ignoreEvolution) - species = getPokemonSpecies(species).getTrainerSpeciesForLevel(level, true, strength); - return scene.addEnemyPokemon(getPokemonSpecies(species), level, trainerSlot, undefined, undefined, postProcess); - }; + return (scene: BattleScene, level: integer, strength: PartyMemberStrength) => { + let species = Utils.randSeedItem(speciesPool); + if (!ignoreEvolution) + species = getPokemonSpecies(species).getTrainerSpeciesForLevel(level, true, strength); + return scene.addEnemyPokemon(getPokemonSpecies(species), level, trainerSlot, undefined, undefined, postProcess); + }; } function getSpeciesFilterRandomPartyMemberFunc(speciesFilter: PokemonSpeciesFilter, trainerSlot: TrainerSlot = TrainerSlot.TRAINER, allowLegendaries?: boolean, postProcess?: (EnemyPokemon: EnemyPokemon) => void): PartyMemberFunc { - const originalSpeciesFilter = speciesFilter; - speciesFilter = (species: PokemonSpecies) => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden() && originalSpeciesFilter(species); - return (scene: BattleScene, level: integer, strength: PartyMemberStrength) => { - const ret = scene.addEnemyPokemon(getPokemonSpecies(scene.randomSpecies(scene.currentBattle.waveIndex, level, false, speciesFilter).getTrainerSpeciesForLevel(level, true, strength)), level, trainerSlot, undefined, undefined, postProcess); - return ret; - }; + const originalSpeciesFilter = speciesFilter; + speciesFilter = (species: PokemonSpecies) => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden() && originalSpeciesFilter(species); + return (scene: BattleScene, level: integer, strength: PartyMemberStrength) => { + const ret = scene.addEnemyPokemon(getPokemonSpecies(scene.randomSpecies(scene.currentBattle.waveIndex, level, false, speciesFilter).getTrainerSpeciesForLevel(level, true, strength)), level, trainerSlot, undefined, undefined, postProcess); + return ret; + }; } function getRandomTeraModifiers(party: EnemyPokemon[], count: integer, types?: Type[]): PersistentModifier[] { - const ret: PersistentModifier[] = []; - const partyMemberIndexes = new Array(party.length).fill(null).map((_, i) => i); - for (let t = 0; t < Math.min(count, party.length); t++) { - const randomIndex = Utils.randSeedItem(partyMemberIndexes); - partyMemberIndexes.splice(partyMemberIndexes.indexOf(randomIndex), 1); - ret.push(modifierTypes.TERA_SHARD().generateType(null, [ Utils.randSeedItem(types ? types : party[randomIndex].getTypes()) ]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(party[randomIndex]) as PersistentModifier); - } - return ret; + const ret: PersistentModifier[] = []; + const partyMemberIndexes = new Array(party.length).fill(null).map((_, i) => i); + for (let t = 0; t < Math.min(count, party.length); t++) { + const randomIndex = Utils.randSeedItem(partyMemberIndexes); + partyMemberIndexes.splice(partyMemberIndexes.indexOf(randomIndex), 1); + ret.push(modifierTypes.TERA_SHARD().generateType(null, [Utils.randSeedItem(types ? types : party[randomIndex].getTypes())]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(party[randomIndex]) as PersistentModifier); + } + return ret; } export const trainerConfigs: TrainerConfigs = { @@ -662,7 +721,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.SMASHER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), [TrainerType.SNOW_WORKER]: new TrainerConfig(++t).setName('Worker').setHasGenders().setHasDouble('Workers').setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => s.isOfType(Type.ICE) || s.isOfType(Type.STEEL)), [TrainerType.STRIKER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), - [TrainerType.STUDENT]: new TrainerConfig(++t).setMoneyMultiplier(0.75).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders(undefined, 'lass').setHasDouble('Students') + [TrainerType.SCHOOL_KID]: new TrainerConfig(++t).setMoneyMultiplier(0.75).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders(undefined, 'lass').setHasDouble('Students') .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.ODDISH, Species.EXEGGCUTE, Species.TEDDIURSA, Species.WURMPLE, Species.RALTS, Species.SHROOMISH, Species.FLETCHLING ], [TrainerPoolTier.UNCOMMON]: [ Species.VOLTORB, Species.WHISMUR, Species.MEDITITE, Species.MIME_JR, Species.NYMBLE ], @@ -880,6 +939,6 @@ export const trainerConfigs: TrainerConfigs = { }), }; -(function() { - initTrainerTypeDialogue(); -})(); \ No newline at end of file +(function () { + initTrainerTypeDialogue(); +})(); diff --git a/src/data/trainer-names.ts b/src/data/trainer-names.ts index 348976eae92..2b95a91314e 100644 --- a/src/data/trainer-names.ts +++ b/src/data/trainer-names.ts @@ -61,7 +61,7 @@ const trainerNameConfigs: TrainerNameConfigs = { [TrainerType.SMASHER]: new TrainerNameConfig(TrainerType.SMASHER), [TrainerType.SNOW_WORKER]: new TrainerNameConfig(TrainerType.SNOW_WORKER, 'Worker'), [TrainerType.STRIKER]: new TrainerNameConfig(TrainerType.STRIKER), - [TrainerType.STUDENT]: new TrainerNameConfig(TrainerType.STUDENT, 'School_Kid'), + [TrainerType.SCHOOL_KID]: new TrainerNameConfig(TrainerType.SCHOOL_KID, 'School_Kid'), [TrainerType.SWIMMER]: new TrainerNameConfig(TrainerType.SWIMMER), [TrainerType.TWINS]: new TrainerNameConfig(TrainerType.TWINS), [TrainerType.VETERAN]: new TrainerNameConfig(TrainerType.VETERAN), @@ -111,7 +111,7 @@ export const trainerNamePools = { [TrainerType.SMASHER]: ["Aspen","Elena","Mari","Amy","Lizzy"], [TrainerType.SNOW_WORKER]: [["Braden","Brendon","Colin","Conrad","Dillan","Gary","Gerardo","Holden","Jackson","Mason","Quentin","Willy","Noel","Arnold","Brady","Brand","Cairn","Cliff","Don","Eddie","Felix","Filipe","Glenn","Gus","Heath","Matthew","Patton","Rich","Rob","Ryan","Scott","Shelby","Sterling","Tyler","Victor","Zack","Friedrich","Herman","Isaac","Leo","Maynard","Mitchell","Morgann","Nathan","Niel","Pasqual","Paul","Tavarius","Tibor","Dimitri","Narek","Yusif","Frank","Jeff","Vaclav","Ovid","Francis","Keith","Russel","Sangon","Toway","Bomber","Chean","Demit","Hubor","Kebile","Laber","Ordo","Retay","Ronix","Wagel","Dobit","Kaster","Lobel","Releo","Saken","Rustix"],["Georgia","Sandra","Yvonne"]], [TrainerType.STRIKER]: ["Marco","Roberto","Tony"], - [TrainerType.STUDENT]: [["Alan","Billy","Chad","Danny","Dudley","Jack","Joe","Johnny","Kipp","Nate","Ricky","Tommy","Jerry","Paul","Ted","Chance","Esteban","Forrest","Harrison","Connor","Sherman","Torin","Travis","Al","Carter","Edgar","Jem","Sammy","Shane","Shayne","Alvin","Keston","Neil","Seymour","William","Carson","Clark","Nolan"],["Georgia","Karen","Meiko","Christine","Mackenzie","Tiera","Ann","Gina","Lydia","Marsha","Millie","Sally","Serena","Silvia","Alberta","Cassie","Mara","Rita","Georgie","Meena","Nitzel"]], + [TrainerType.SCHOOL_KID]: [["Alan","Billy","Chad","Danny","Dudley","Jack","Joe","Johnny","Kipp","Nate","Ricky","Tommy","Jerry","Paul","Ted","Chance","Esteban","Forrest","Harrison","Connor","Sherman","Torin","Travis","Al","Carter","Edgar","Jem","Sammy","Shane","Shayne","Alvin","Keston","Neil","Seymour","William","Carson","Clark","Nolan"],["Georgia","Karen","Meiko","Christine","Mackenzie","Tiera","Ann","Gina","Lydia","Marsha","Millie","Sally","Serena","Silvia","Alberta","Cassie","Mara","Rita","Georgie","Meena","Nitzel"]], [TrainerType.SWIMMER]: [["Berke","Cameron","Charlie","George","Harold","Jerome","Kirk","Mathew","Parker","Randall","Seth","Simon","Tucker","Austin","Barry","Chad","Cody","Darrin","David","Dean","Douglas","Franklin","Gilbert","Herman","Jack","Luis","Matthew","Reed","Richard","Rodney","Roland","Spencer","Stan","Tony","Clarence","Declan","Dominik","Harrison","Kevin","Leonardo","Nolen","Pete","Santiago","Axle","Braden","Finn","Garrett","Mymo","Reece","Samir","Toby","Adrian","Colton","Dillon","Erik","Evan","Francisco","Glenn","Kurt","Oscar","Ricardo","Sam","Sheltin","Troy","Vincent","Wade","Wesley","Duane","Elmo","Esteban","Frankie","Ronald","Tyson","Bart","Matt","Tim","Wright","Jeffery","Kyle","Alessandro","Estaban","Kieran","Ramses","Casey","Dakota","Jared","Kalani","Keoni","Lawrence","Logan","Robert","Roddy","Yasu","Derek","Jacob","Bruce","Clayton"],["Briana","Dawn","Denise","Diana","Elaine","Kara","Kaylee","Lori","Nicole","Nikki","Paula","Susie","Wendy","Alice","Beth","Beverly","Brenda","Dana","Debra","Grace","Jenny","Katie","Laurel","Linda","Missy","Sharon","Tanya","Tara","Tisha","Carlee","Imani","Isabelle","Kyla","Sienna","Abigail","Amara","Anya","Connie","Maria","Melissa","Nora","Shirley","Shania","Tiffany","Aubree","Cassandra","Claire","Crystal","Erica","Gabrielle","Haley","Jessica","Joanna","Lydia","Mallory","Mary","Miranda","Paige","Sophia","Vanessa","Chelan","Debbie","Joy","Kendra","Leona","Mina","Caroline","Joyce","Larissa","Rebecca","Tyra","Dara","Desiree","Kaoru","Ruth","Coral","Genevieve","Isla","Marissa","Romy","Sheryl","Alexandria","Alicia","Chelsea","Jade","Kelsie","Laura","Portia","Shelby","Sara","Tiare","Kyra","Natasha","Layla","Scarlett","Cora"]], [TrainerType.TWINS]: ["Amy & May","Jo & Zoe","Meg & Peg","Ann & Anne","Lea & Pia","Amy & Liv","Gina & Mia","Miu & Yuki","Tori & Tia","Eli & Anne","Jen & Kira","Joy & Meg","Kiri & Jan","Miu & Mia","Emma & Lil","Liv & Liz","Teri & Tia","Amy & Mimi","Clea & Gil","Day & Dani","Kay & Tia","Tori & Til","Saya & Aya","Emy & Lin","Kumi & Amy","Mayo & May","Ally & Amy","Lia & Lily","Rae & Ula","Sola & Ana","Tara & Val","Faith & Joy","Nana & Nina"], [TrainerType.VETERAN]: [["Armando","Brenden","Brian","Clayton","Edgar","Emanuel","Grant","Harlan","Terrell","Arlen","Chester","Hugo","Martell","Ray","Shaun","Abraham","Carter","Claude","Jerry","Lucius","Murphy","Rayne","Ron","Sinan","Sterling","Vincent","Zach","Gerard","Gilles","Louis","Timeo","Akira","Don","Eric","Harry","Leon","Roger","Angus","Aristo","Brone","Johnny"],["Julia","Karla","Kim","Sayuri","Tiffany","Cathy","Cecile","Chloris","Denae","Gina","Maya","Oriana","Portia","Rhona","Rosaline","Catrina","Inga","Trisha","Heather","Lynn","Sheri","Alonsa","Ella","Leticia","Kiara"]], diff --git a/src/field/trainer.ts b/src/field/trainer.ts index 4a7458652c4..9213dc0135d 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -10,6 +10,8 @@ import { PersistentModifier } from "../modifier/modifier"; import { trainerNamePools } from "../data/trainer-names"; import { ArenaTagType } from "#app/data/enums/arena-tag-type"; import { ArenaTag, ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; +import {getIsInitialized, initI18n} from "#app/plugins/i18n"; +import i18next from "i18next"; export enum TrainerVariant { DEFAULT, @@ -97,9 +99,16 @@ export default class Trainer extends Phaser.GameObjects.Container { getName(trainerSlot: TrainerSlot = TrainerSlot.NONE, includeTitle: boolean = false): string { let name = this.config.getTitle(trainerSlot, this.variant); let title = includeTitle && this.config.title ? this.config.title : null; + + if (this.name) { if (includeTitle) - title = name; + + // Check if i18n is initialized + if (!getIsInitialized()) { + initI18n() + } + title = i18next.t(`trainerClasses:${name.toLowerCase().replace(/\s/g, '_')}`); if (!trainerSlot) { name = this.name; if (this.partnerName) @@ -107,6 +116,7 @@ export default class Trainer extends Phaser.GameObjects.Container { } else name = trainerSlot === TrainerSlot.TRAINER ? this.name : this.partnerName || this.name; } + return title ? `${title} ${name}` : name; } diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 72200a5141c..c9a58bca1ea 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -15,6 +15,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { titles,trainerClasses,trainerNames } from "./trainers"; import { splashMessages } from "./splash-messages" @@ -32,9 +33,12 @@ export const deConfig = { pokemonStat: pokemonStat, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, + titles: titles, + trainerClasses: trainerClasses, + trainerNames: trainerNames, tutorial: tutorial, splashMessages: splashMessages, nature: nature, growth: growth, modifierType: modifierType, -} \ No newline at end of file +} diff --git a/src/locales/de/trainers.ts b/src/locales/de/trainers.ts new file mode 100644 index 00000000000..b2a74a8e92f --- /dev/null +++ b/src/locales/de/trainers.ts @@ -0,0 +1,221 @@ +import {SimpleTranslationEntries} from "#app/plugins/i18n"; + +// Titles of special trainers like gym leaders, elite four, and the champion +export const titles: SimpleTranslationEntries = { + "elite_four": "Top Vier", + "gym_leader": "Arenaleiter", + "gym_leader_female": "Arenaleiterin", + "champion": "Champion", + "rival": "Rivale", + "professor": "Professor", + "frontier_brain": "Kampfkoryphäen", + // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. +} as const; + +// Titles of trainers like "Youngster" or "Lass" +export const trainerClasses: SimpleTranslationEntries = { + "ace_trainer": "Ass-Trainer", + "ace_trainer_female": "Ass-Trainerin", + "artist": "Künstler", + "artist_female": "Künstlerin", + "backers": "Anhänger", + "backpacker": "Backpacker", + "backpacker_female": "Backpackerin", + "baker": "Bäckerin", + "battle_girl": "Kämpferin", + "beauty": "Schönheit", + "biker": "Rowdy", + "black_belt": "Schwarzgurt", + "breeder": "Pokémon Züchter", + "breeder_female": "Pokémon Züchterin", + "clerk": "Angestellter", + "clerk_female": "Angestellte", + "cyclist": "Biker", + "cyclist_female": "Bikerin", + "dancer": "Tänzer", + "dancer_female": "Tänzerin", + "depot_agent": "Bahnangestellter", + "doctor": "Arzt", + "doctor_female": "Ärztin", + "fishermen": "Angler", + "fishermen_female": "Angler", // Seems to be the same in german but exists in other languages like italian + "guitarist": "Gitarrist", + "guitarist_female": "Gitarristin", + "harlequin": "Kasper", + "hiker": "Wanderer", + "hooligans": "Rabauken", + "hoopster": "Basketballer", + "infielder": "Baseballer", + "janitor": "Hausmeister", + "lady": "Lady", + "lass": "Göre", + "linebacker": "Footballer", + "maid": "Zofe", + "madame": "Madam", + "musican": "Musiker", + "hex_maniac": "Hexe", + "nurse": "Pflegerin", + "nursery_aide": "Erzieherin", + "officer": "Polizist", + "parasol_lady": "Schirmdame", + "pilot": "Pilot", + "pokefan": "Pokéfan", + "preschooler": "Vorschüler", + "preschooler_female": "Vorschülerin", + "psychic": "Seher", + "psychic_female": "Seherin", + "ranger": "Ranger", + "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich + "rich_kid": "Schnösel", + "roughneck": "Raufbold", + "scientist": "Forscher", + "scientist_female": "Forscherin", + "smasher": "Tennis-Ass", + "snow_worker": "Schneearbeiter", // There is a trainer type for this but no actual trainer class? They seem to be just workers but dressed differently + "snow_worker_female": "Schneearbeiterin", + "striker": "Fußballer", + "school_kid": "Schulkind", + "school_kid_female": "Schulkind", // Same in german but different in italian + "swimmer": "Schwimmer", + "swimmer_female": "Schwimmerin", + "twins": "Zwillinge", + "veteran": "Veteran", + "veteran_female": "Veteran", // same in german, different in other languages + "waiter": "Servierer", + "waitress": "Serviererin", + "worker": "Arbeiter", + "worker_female": "Arbeiterin", + "youngster": "Knirps" + + +} as const; + +// Names of special trainers like gym leaders, elite four, and the champion +export const trainerNames: SimpleTranslationEntries = { + "brock": "Rocko", + "misty": "Misty", + "lt_surge": "Major Bob", + "erika": "Erika", + "janine": "Janina", + "sabrina": "Sabrina", + "blaine": "Pyro", + "giovanni": "Giovanni", + "falkner": "Falk", + "bugsy": "Kai", + "whitney": "Bianka", + "morty": "Jens", + "chuck": "Hartwig", + "jasmine": "Jasmin", + "pryce": "Norbert", + "clair": "Sandra", + "roxanne": "Felizia", + "brawly": "Kamillo", + "wattson": "Walter", + "flannery": "Flavia", + "norman": "Norman", + "winona": "Wibke", + "tate": "Ben", + "liza": "Svenja", + "juan": "Juan", + "roark": "Veit", + "gardenia": "Silvana", + "maylene": "Hilda", + "crasher_wake": "Wellenbrecher Marinus", + "fantina": "Lamina", + "byron": "Adam", + "candice": "Frida", + "volkner": "Volkner", + "cilan": "Benny", + "chili": "Maik", + "cress": "Colin", + "cheren": "Cheren", + "lenora": "Aloe", + "roxie": "Mica", + "burgh": "Artie", + "elesa": "Kamilla", + "clay": "Turner", + "skyla": "Géraldine", + "brycen": "Sandro", + "drayden": "Lysander", + "marlon": "Benson", + "viola": "Viola", + "grant": "Lino", + "korrina": "Connie", + "ramos": "Amaro", + "clemont": "Citro", + "valerie": "Valerie", + "olympia": "Astrid", + "wulfric": "Galantho", + "milo": "Yarro", + "nessa": "Kate", + "kabu": "Kabu", + "bea": "Saida", + "allister": "Nio", + "opal": "Papella", + "bede": "Betys", + "gordie": "Mac", + "melony": "Mel", + "piers": "Nezz", + "marnie": "Mary", + "raihan": "Roy", + "katy": "Ronah", + "brassius": "Colzo", + "iono": "Enigmara", + "kofu": "Kombu", + "larry": "Aoki", + "ryme": "Etta", + "tulip": "Tulia", + "grusha": "Grusha", + "lorelei": "Lorelei", + "bruno": "Bruno", + "agatha": "Agathe", + "lance": "Siegfried", + "will": "Willi", + "koga": "Koga", + "karen": "Melanie", + "sidney": "Ulrich", + "phoebe": "Antonia", + "glacia": "Frosina", + "drake": "Dragan", + "aaron": "Herbaro", + "bertha": "Teresa", + "flint": "Ignaz", + "lucian": "Lucian", + "shauntal": "Anissa", + "marshal": "Eugen", + "grimsley": "Astor", + "caitlin": "Kattlea", + "malva": "Pachira", + "siebold": "Narcisse", + "wikstrom": "Thymelot", + "drasna": "Dracena", + "hala": "Hala", + "molayne": "Marlon", + "olivia": "Mayla", + "acerola": "Lola", + "kahili": "Kahili", + "rika": "Cay", + "poppy": "Poppy", + "larry_elite": "Aoki", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "hassel": "Sinius", + "crispin": "Matt", + "amarys": "Erin", + "lacey": "Tara", + "drayton": "Levy", + "blue": "Blau", + "red": "Rot", + "lance_champion": "Siegfried", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "steven": "Troy", + "wallace": "Wassili", + "cynthia": "Cynthia", + "alder": "Lauro", + "iris": "Lilia", + "diantha": "Diantha", + "hau": "Tali", + "geeta": "Sagaria", + "nemona": "Nemila", + "kieran": "Jo", + "leon": "Delion", + "rival": "Finn", + "rival_female": "Ivy", +} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index 295c3ff5c33..a5d207da932 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -15,6 +15,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { titles,trainerClasses,trainerNames } from "./trainers"; import { splashMessages } from "./splash-messages" import { weather } from "./weather"; @@ -33,10 +34,13 @@ export const enConfig = { pokemonStat: pokemonStat, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, + titles: titles, + trainerClasses: trainerClasses, + trainerNames: trainerNames, tutorial: tutorial, splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, modifierType: modifierType, -} \ No newline at end of file +} diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts new file mode 100644 index 00000000000..a63b06242f9 --- /dev/null +++ b/src/locales/en/trainers.ts @@ -0,0 +1,219 @@ +import {SimpleTranslationEntries} from "#app/plugins/i18n"; + +// Titles of special trainers like gym leaders, elite four, and the champion +export const titles: SimpleTranslationEntries = { + "elite_four": "Elite Four", + "gym_leader": "Gym Leader", + "gym_leader_female": "Gym Leader", + "champion": "Champion", + "rival": "Rival", + "professor": "Professor", + "frontier_brain": "Frontier Brain", + // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. +} as const; + +// Titles of trainers like "Youngster" or "Lass" +export const trainerClasses: SimpleTranslationEntries = { + "ace_trainer": "Ace Trainer", + "ace_trainer_female": "Ace Trainer", + "artist": "Artist", + "artist_female": "Artist", + "backers": "Backers", + "backpacker": "Backpacker", + "backpacker_female": "Backpacker", + "baker": "Baker", + "battle_girl": "Battle Girl", + "beauty": "Beauty", + "biker": "Biker", + "black_belt": "Black Belt", + "breeder": "Breeder", + "breeder_female": "Breeder", + "clerk": "Clerk", + "clerk_female": "Clerk", + "cyclist": "Cyclist", + "cyclist_female": "Cyclist", + "dancer": "Dancer", + "dancer_female": "Dancer", + "depot_agent": "Depot Agent", + "doctor": "Doctor", + "doctor_female": "Doctor", + "fishermen": "Fishermen", + "fishermen_female": "Fishermen", + "guitarist": "Guitarist", + "guitarist_female": "Guitarist", + "harlequin": "Harlequin", + "hiker": "Hiker", + "hooligans": "Hooligans", + "hoopster": "Hoopster", + "infielder": "Infielder", + "janitor": "Janitor", + "lady": "Lady", + "lass": "Lass", + "linebacker": "Linebacker", + "maid": "Maid", + "madame": "Madame", + "musican": "Musician", + "hex_maniac": "Hex Maniac", + "nurse": "Nurse", + "nursery_aide": "Nursery Aide", + "officer": "Officer", + "parasol_lady": "Parasol Lady", + "pilot": "Pilot", + "pokefan": "Poké Fan", + "preschooler": "Preschooler", + "preschooler_female": "Preschooler", + "psychic": "Psychic", + "psychic_female": "Psychic", + "ranger": "Ranger", + "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich + "rich_kid": "Rich Boy", + "roughneck": "Roughneck", + "scientist": "Scientist", + "scientist_female": "Scientist", + "smasher": "Smasher", + "snow_worker": "Snow Worker", + "snow_worker_female": "Snow Worker", + "striker": "Striker", + "school_kid": "School Kid", + "school_kid_female": "School Kid", + "swimmer": "Swimmer", + "swimmer_female": "Swimmer", + "twins": "Twins", + "veteran": "Veteran", + "veteran_female": "Veteran", + "waiter": "Waiter", + "waitress": "Waitress", + "worker": "Worker", + "worker_female": "Worker", + "youngster": "Youngster" +} as const; + +// Names of special trainers like gym leaders, elite four, and the champion +export const trainerNames: SimpleTranslationEntries = { + "brock": "Brock", + "misty": "Misty", + "lt_surge": "Lt Surge", + "erika": "Erika", + "janine": "Janine", + "sabrina": "Sabrina", + "blaine": "Blaine", + "giovanni": "Giovanni", + "falkner": "Falkner", + "bugsy": "Bugsy", + "whitney": "Whitney", + "morty": "Morty", + "chuck": "Chuck", + "jasmine": "Jasmine", + "pryce": "Pryce", + "clair": "Clair", + "roxanne": "Roxanne", + "brawly": "Brawly", + "wattson": "Wattson", + "flannery": "Flannery", + "norman": "Norman", + "winona": "Winona", + "tate": "Tate", + "liza": "Liza", + "juan": "Juan", + "roark": "Roark", + "gardenia": "Gardenia", + "maylene": "Maylene", + "crasher_wake": "Crasher Wake", + "fantina": "Fantina", + "byron": "Byron", + "candice": "Candice", + "volkner": "Volkner", + "cilan": "Cilan", + "chili": "Chili", + "cress": "Cress", + "cheren": "Cheren", + "lenora": "Lenora", + "roxie": "Roxie", + "burgh": "Burgh", + "elesa": "Elesa", + "clay": "Clay", + "skyla": "Skyla", + "brycen": "Brycen", + "drayden": "Drayden", + "marlon": "Marlon", + "viola": "Viola", + "grant": "Grant", + "korrina": "Korrina", + "ramos": "Ramos", + "clemont": "Clemont", + "valerie": "Valerie", + "olympia": "Olympia", + "wulfric": "Wulfric", + "milo": "Milo", + "nessa": "Nessa", + "kabu": "Kabu", + "bea": "Bea", + "allister": "Allister", + "opal": "Opal", + "bede": "Bede", + "gordie": "Gordie", + "melony": "Melony", + "piers": "Piers", + "marnie": "Marnie", + "raihan": "Raihan", + "katy": "Katy", + "brassius": "Brassius", + "iono": "Iono", + "kofu": "Kofu", + "larry": "Larry", + "ryme": "Ryme", + "tulip": "Tulip", + "grusha": "Grusha", + "lorelei": "Lorelei", + "bruno": "Bruno", + "agatha": "Agatha", + "lance": "Lance", + "will": "Will", + "koga": "Koga", + "karen": "Karen", + "sidney": "Sidney", + "phoebe": "Phoebe", + "glacia": "Glacia", + "drake": "Drake", + "aaron": "Aaron", + "bertha": "Bertha", + "flint": "Flint", + "lucian": "Lucian", + "shauntal": "Shauntal", + "marshal": "Marshal", + "grimsley": "Grimsley", + "caitlin": "Caitlin", + "malva": "Malva", + "siebold": "Siebold", + "wikstrom": "Wikstrom", + "drasna": "Drasna", + "hala": "Hala", + "molayne": "Molayne", + "olivia": "Olivia", + "acerola": "Acerola", + "kahili": "Kahili", + "rika": "Rika", + "poppy": "Poppy", + "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "hassel": "Hassel", + "crispin": "Crispin", + "amarys": "Amarys", + "lacey": "Lacey", + "drayton": "Drayton", + "blue": "Blue", + "red": "Red", + "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "steven": "Steven", + "wallace": "Wallace", + "cynthia": "Cynthia", + "alder": "Alder", + "iris": "Iris", + "diantha": "Diantha", + "hau": "Hau", + "geeta": "Geeta", + "nemona": "Nemona", + "kieran": "Kieran", + "leon": "Leon", + "rival": "Finn", + "rival_female": "Ivy", +} as const; diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index 6c36db3ed45..6aac47563ee 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -15,6 +15,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { titles,trainerClasses,trainerNames } from "./trainers"; import { splashMessages } from "./splash-messages" import { weather } from "./weather"; @@ -33,10 +34,13 @@ export const esConfig = { pokemonStat: pokemonStat, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, + titles: titles, + trainerClasses: trainerClasses, + trainerNames: trainerNames, tutorial: tutorial, splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, modifierType: modifierType, -} \ No newline at end of file +} diff --git a/src/locales/es/trainers.ts b/src/locales/es/trainers.ts new file mode 100644 index 00000000000..a63b06242f9 --- /dev/null +++ b/src/locales/es/trainers.ts @@ -0,0 +1,219 @@ +import {SimpleTranslationEntries} from "#app/plugins/i18n"; + +// Titles of special trainers like gym leaders, elite four, and the champion +export const titles: SimpleTranslationEntries = { + "elite_four": "Elite Four", + "gym_leader": "Gym Leader", + "gym_leader_female": "Gym Leader", + "champion": "Champion", + "rival": "Rival", + "professor": "Professor", + "frontier_brain": "Frontier Brain", + // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. +} as const; + +// Titles of trainers like "Youngster" or "Lass" +export const trainerClasses: SimpleTranslationEntries = { + "ace_trainer": "Ace Trainer", + "ace_trainer_female": "Ace Trainer", + "artist": "Artist", + "artist_female": "Artist", + "backers": "Backers", + "backpacker": "Backpacker", + "backpacker_female": "Backpacker", + "baker": "Baker", + "battle_girl": "Battle Girl", + "beauty": "Beauty", + "biker": "Biker", + "black_belt": "Black Belt", + "breeder": "Breeder", + "breeder_female": "Breeder", + "clerk": "Clerk", + "clerk_female": "Clerk", + "cyclist": "Cyclist", + "cyclist_female": "Cyclist", + "dancer": "Dancer", + "dancer_female": "Dancer", + "depot_agent": "Depot Agent", + "doctor": "Doctor", + "doctor_female": "Doctor", + "fishermen": "Fishermen", + "fishermen_female": "Fishermen", + "guitarist": "Guitarist", + "guitarist_female": "Guitarist", + "harlequin": "Harlequin", + "hiker": "Hiker", + "hooligans": "Hooligans", + "hoopster": "Hoopster", + "infielder": "Infielder", + "janitor": "Janitor", + "lady": "Lady", + "lass": "Lass", + "linebacker": "Linebacker", + "maid": "Maid", + "madame": "Madame", + "musican": "Musician", + "hex_maniac": "Hex Maniac", + "nurse": "Nurse", + "nursery_aide": "Nursery Aide", + "officer": "Officer", + "parasol_lady": "Parasol Lady", + "pilot": "Pilot", + "pokefan": "Poké Fan", + "preschooler": "Preschooler", + "preschooler_female": "Preschooler", + "psychic": "Psychic", + "psychic_female": "Psychic", + "ranger": "Ranger", + "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich + "rich_kid": "Rich Boy", + "roughneck": "Roughneck", + "scientist": "Scientist", + "scientist_female": "Scientist", + "smasher": "Smasher", + "snow_worker": "Snow Worker", + "snow_worker_female": "Snow Worker", + "striker": "Striker", + "school_kid": "School Kid", + "school_kid_female": "School Kid", + "swimmer": "Swimmer", + "swimmer_female": "Swimmer", + "twins": "Twins", + "veteran": "Veteran", + "veteran_female": "Veteran", + "waiter": "Waiter", + "waitress": "Waitress", + "worker": "Worker", + "worker_female": "Worker", + "youngster": "Youngster" +} as const; + +// Names of special trainers like gym leaders, elite four, and the champion +export const trainerNames: SimpleTranslationEntries = { + "brock": "Brock", + "misty": "Misty", + "lt_surge": "Lt Surge", + "erika": "Erika", + "janine": "Janine", + "sabrina": "Sabrina", + "blaine": "Blaine", + "giovanni": "Giovanni", + "falkner": "Falkner", + "bugsy": "Bugsy", + "whitney": "Whitney", + "morty": "Morty", + "chuck": "Chuck", + "jasmine": "Jasmine", + "pryce": "Pryce", + "clair": "Clair", + "roxanne": "Roxanne", + "brawly": "Brawly", + "wattson": "Wattson", + "flannery": "Flannery", + "norman": "Norman", + "winona": "Winona", + "tate": "Tate", + "liza": "Liza", + "juan": "Juan", + "roark": "Roark", + "gardenia": "Gardenia", + "maylene": "Maylene", + "crasher_wake": "Crasher Wake", + "fantina": "Fantina", + "byron": "Byron", + "candice": "Candice", + "volkner": "Volkner", + "cilan": "Cilan", + "chili": "Chili", + "cress": "Cress", + "cheren": "Cheren", + "lenora": "Lenora", + "roxie": "Roxie", + "burgh": "Burgh", + "elesa": "Elesa", + "clay": "Clay", + "skyla": "Skyla", + "brycen": "Brycen", + "drayden": "Drayden", + "marlon": "Marlon", + "viola": "Viola", + "grant": "Grant", + "korrina": "Korrina", + "ramos": "Ramos", + "clemont": "Clemont", + "valerie": "Valerie", + "olympia": "Olympia", + "wulfric": "Wulfric", + "milo": "Milo", + "nessa": "Nessa", + "kabu": "Kabu", + "bea": "Bea", + "allister": "Allister", + "opal": "Opal", + "bede": "Bede", + "gordie": "Gordie", + "melony": "Melony", + "piers": "Piers", + "marnie": "Marnie", + "raihan": "Raihan", + "katy": "Katy", + "brassius": "Brassius", + "iono": "Iono", + "kofu": "Kofu", + "larry": "Larry", + "ryme": "Ryme", + "tulip": "Tulip", + "grusha": "Grusha", + "lorelei": "Lorelei", + "bruno": "Bruno", + "agatha": "Agatha", + "lance": "Lance", + "will": "Will", + "koga": "Koga", + "karen": "Karen", + "sidney": "Sidney", + "phoebe": "Phoebe", + "glacia": "Glacia", + "drake": "Drake", + "aaron": "Aaron", + "bertha": "Bertha", + "flint": "Flint", + "lucian": "Lucian", + "shauntal": "Shauntal", + "marshal": "Marshal", + "grimsley": "Grimsley", + "caitlin": "Caitlin", + "malva": "Malva", + "siebold": "Siebold", + "wikstrom": "Wikstrom", + "drasna": "Drasna", + "hala": "Hala", + "molayne": "Molayne", + "olivia": "Olivia", + "acerola": "Acerola", + "kahili": "Kahili", + "rika": "Rika", + "poppy": "Poppy", + "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "hassel": "Hassel", + "crispin": "Crispin", + "amarys": "Amarys", + "lacey": "Lacey", + "drayton": "Drayton", + "blue": "Blue", + "red": "Red", + "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "steven": "Steven", + "wallace": "Wallace", + "cynthia": "Cynthia", + "alder": "Alder", + "iris": "Iris", + "diantha": "Diantha", + "hau": "Hau", + "geeta": "Geeta", + "nemona": "Nemona", + "kieran": "Kieran", + "leon": "Leon", + "rival": "Finn", + "rival_female": "Ivy", +} as const; diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index f6245f4eeaa..a2bb8430fba 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -15,10 +15,12 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { titles,trainerClasses,trainerNames } from "./trainers"; import { splashMessages } from "./splash-messages" import { weather } from "./weather"; + export const frConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -33,10 +35,14 @@ export const frConfig = { pokemonStat: pokemonStat, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, + titles: titles, + trainerClasses: trainerClasses, + trainerNames: trainerNames, tutorial: tutorial, splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, modifierType: modifierType, -} \ No newline at end of file +} + diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts new file mode 100644 index 00000000000..761e3f62635 --- /dev/null +++ b/src/locales/fr/trainers.ts @@ -0,0 +1,219 @@ +import {SimpleTranslationEntries} from "#app/plugins/i18n"; + +// Titles of special trainers like gym leaders, elite four, and the champion +export const titles: SimpleTranslationEntries = { + "elite_four": "Conseil 4", + "gym_leader": "Champion d’Arène", + "gym_leader_female": "Championne d’Arène", + "champion": "Maitre·esse", //Written in gender-inclusive language in wait of a potential split of the entry + "rival": "Rival·e", //Written in gender-inclusive language in wait of a potential split of the entry + "professor": "Professeur·e", //Written in gender-inclusive language in wait of a potential split of the entry + "frontier_brain": "Meneur·euse de Zone", //Written in gender-inclusive language in wait of a potential split of the entry + // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. +} as const; + +// Titles of trainers like "Youngster" or "Lass" +export const trainerClasses: SimpleTranslationEntries = { + "ace_trainer": "Topdresseur", + "ace_trainer_female": "Topdresseuse", + "artist": "Artiste", + "artist_female": "Artiste", + "backers": "Pompom Girls", + "backpacker": "Randonneur", + "backpacker_female": "Randonneuse", + "baker": "Boulangère", + "battle_girl": "Combattante", + "beauty": "Canon", + "biker": "Motard", + "black_belt": "Karatéka", + "breeder": "Éleveur", + "breeder_female": "Éleveuse", + "clerk": "Employé", + "clerk_female": "Employée", + "cyclist": "Cycliste", + "cyclist_female": "Cycliste", + "dancer": "Danseur", + "dancer_female": "Danseuse", + "depot_agent": "Cheminot", + "doctor": "Docteur", + "doctor_female": "Docteure", + "fishermen": "Pêcheur", + "fishermen_female": "Pêcheuse", + "guitarist": "Guitariste", + "guitarist_female": "Guitariste", + "harlequin": "Clown", + "hiker": "Montagnard", + "hooligans": "Loubards", + "hoopster": "Basketteur", + "infielder": "Baseballeur", + "janitor": "Nettoyeur", + "lady": "Mademoiselle", + "lass": "Fillette", + "linebacker": "Quaterback", + "maid": "Gouvernante", + "madame": "Mondaine", + "musican": "Musicien", + "hex_maniac": "Hex Maniac", + "nurse": " Infirmière", + "nursery_aide": "Institutrice", + "officer": "Policier", + "parasol_lady": "Sœur Parasol", + "pilot": "Pilote", + "pokefan": "Pokéfan", + "preschooler": "Petit", + "preschooler_female": "Petite", + "psychic": "Kinésiste", + "psychic_female": "Kinésiste", + "ranger": "Ranger", + "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich + "rich_kid": "Richard", + "roughneck": "Loubard", + "scientist": "Scientifique", + "scientist_female": "Scientifique", + "smasher": "Tenniswoman", + "snow_worker": "Ouvrier Alpin", + "snow_worker_female": "Ouvrière Alpine", + "striker": "Footballeur", + "school_kid": "Élève", + "school_kid_female": "Élève", + "swimmer": "Nageur", + "swimmer_female": "Nageuse", + "twins": "Jumelles", + "veteran": "Vénérable", + "veteran_female": "Vénérable", + "waiter": "Serveur", + "waitress": "Serveuse", + "worker": "Ouvrier", + "worker_female": "Ouvrière", + "youngster": "Gamin" +} as const; + +// Names of special trainers like gym leaders, elite four, and the champion +export const trainerNames: SimpleTranslationEntries = { + "brock": "Pierre", + "misty": "Ondine", + "lt_surge": "Major Bob", + "erika": "Erika", + "janine": "Jeannine", + "sabrina": "Morgane", + "blaine": "Auguste", + "giovanni": "Giovanni", + "falkner": "Albert", + "bugsy": "Hector", + "whitney": "Blanche", + "morty": "Mortimer", + "chuck": "Chuck", + "jasmine": "Jasmine", + "pryce": "Frédo", + "clair": "Sandra", + "roxanne": "Roxanne", + "brawly": "Bastien", + "wattson": "Voltère", + "flannery": "Adriane", + "norman": "Norman", + "winona": "Alizée", + "tate": "Lévy", + "liza": "Tatia", + "juan": "Juan", + "roark": "Pierrick", + "gardenia": "Flo", + "maylene": "Mélina", + "crasher_wake": "Lovis", + "fantina": "Kiméra", + "byron": "Charles", + "candice": "Gladys", + "volkner": "Tanguy", + "cilan": "Rachid", + "chili": "Armando", + "cress": "Noa", + "cheren": "Tcheren", + "lenora": "Aloé", + "roxie": "Strykna", + "burgh": "Artie", + "elesa": "Inezia", + "clay": "Bardane", + "skyla": "Carolina", + "brycen": "Zhu", + "drayden": "Watson", + "marlon": "Amana", + "viola": "Violette", + "grant": "Lino", + "korrina": "Cornélia", + "ramos": "Amaro", + "clemont": "Lem", + "valerie": "Valériane", + "olympia": "Astera", + "wulfric": "Urup", + "milo": "Percy", + "nessa": "Donna", + "kabu": "Kabu", + "bea": "Faïza", + "allister": "Alistair", + "opal": "Sally", + "bede": "Travis", + "gordie": "Chaz", + "melony": "Lona", + "piers": "Peterson", + "marnie": "Rosemary", + "raihan": "Roy", + "katy": "Éra", + "brassius": "Colza", + "iono": "Mashynn", + "kofu": "Kombu", + "larry": "Okuba", + "ryme": "Laïm", + "tulip": "Tully", + "grusha": "Grusha", + "lorelei": "Olga", + "bruno": "Aldo", + "agatha": "Agatha", + "lance": "Peter", + "will": "Clément", + "koga": "Koga", + "karen": "Marion", + "sidney": "Damien", + "phoebe": "Spectra", + "glacia": "Glacia", + "drake": "Aragon", + "aaron": "Aaron", + "bertha": "Terry", + "flint": "Adrien", + "lucian": "Lucio", + "shauntal": "Anis", + "marshal": "Kunz", + "grimsley": "Pieris", + "caitlin": "Percila", + "malva": "Malva", + "siebold": "Narcisse", + "wikstrom": "Tileo", + "drasna": "Dracéna", + "hala": "Pectorius", + "molayne": "Molène", + "olivia": "Alyxia", + "acerola": "Margie", + "kahili": "Kahili", + "rika": "Cayenn", + "poppy": "Popi", + "larry_elite": "Okuba", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "hassel": "Hassa", + "crispin": "Rubépin", + "amarys": "Nérine", + "lacey": "Taro", + "drayton": "Irido", + "blue": "Blue", + "red": "Red", + "lance_champion": "Peter", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "steven": "Pierre Rochard", + "wallace": "Marc", + "cynthia": "Cynthia", + "alder": "Goyah", + "iris": "Iris", + "diantha": "Dianthéa", + "hau": "Tili", + "geeta": "Alisma", + "nemona": "Menzi", + "kieran": "Kass", + "leon": "Tarak", + "rival": "Gwenaël", //Male breton name, a celtic language spoken in Brittany (France) and related to the word for "white" (gwenn). Finn meaning is also "white" in irish/goidelic which are also celtic languages. + "rival_female": "Papina", //Litteral translation of ivy, also used as Female name in a North-American indigenous language +} as const; diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 11b1b9e5628..baa252bcb16 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -15,6 +15,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { titles,trainerClasses,trainerNames } from "./trainers"; import { splashMessages } from "./splash-messages" import { weather } from "./weather"; @@ -33,10 +34,13 @@ export const itConfig = { pokemonStat: pokemonStat, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, + titles: titles, + trainerClasses: trainerClasses, + trainerNames: trainerNames, tutorial: tutorial, splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, modifierType: modifierType, -} \ No newline at end of file +} diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts new file mode 100644 index 00000000000..a63b06242f9 --- /dev/null +++ b/src/locales/it/trainers.ts @@ -0,0 +1,219 @@ +import {SimpleTranslationEntries} from "#app/plugins/i18n"; + +// Titles of special trainers like gym leaders, elite four, and the champion +export const titles: SimpleTranslationEntries = { + "elite_four": "Elite Four", + "gym_leader": "Gym Leader", + "gym_leader_female": "Gym Leader", + "champion": "Champion", + "rival": "Rival", + "professor": "Professor", + "frontier_brain": "Frontier Brain", + // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. +} as const; + +// Titles of trainers like "Youngster" or "Lass" +export const trainerClasses: SimpleTranslationEntries = { + "ace_trainer": "Ace Trainer", + "ace_trainer_female": "Ace Trainer", + "artist": "Artist", + "artist_female": "Artist", + "backers": "Backers", + "backpacker": "Backpacker", + "backpacker_female": "Backpacker", + "baker": "Baker", + "battle_girl": "Battle Girl", + "beauty": "Beauty", + "biker": "Biker", + "black_belt": "Black Belt", + "breeder": "Breeder", + "breeder_female": "Breeder", + "clerk": "Clerk", + "clerk_female": "Clerk", + "cyclist": "Cyclist", + "cyclist_female": "Cyclist", + "dancer": "Dancer", + "dancer_female": "Dancer", + "depot_agent": "Depot Agent", + "doctor": "Doctor", + "doctor_female": "Doctor", + "fishermen": "Fishermen", + "fishermen_female": "Fishermen", + "guitarist": "Guitarist", + "guitarist_female": "Guitarist", + "harlequin": "Harlequin", + "hiker": "Hiker", + "hooligans": "Hooligans", + "hoopster": "Hoopster", + "infielder": "Infielder", + "janitor": "Janitor", + "lady": "Lady", + "lass": "Lass", + "linebacker": "Linebacker", + "maid": "Maid", + "madame": "Madame", + "musican": "Musician", + "hex_maniac": "Hex Maniac", + "nurse": "Nurse", + "nursery_aide": "Nursery Aide", + "officer": "Officer", + "parasol_lady": "Parasol Lady", + "pilot": "Pilot", + "pokefan": "Poké Fan", + "preschooler": "Preschooler", + "preschooler_female": "Preschooler", + "psychic": "Psychic", + "psychic_female": "Psychic", + "ranger": "Ranger", + "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich + "rich_kid": "Rich Boy", + "roughneck": "Roughneck", + "scientist": "Scientist", + "scientist_female": "Scientist", + "smasher": "Smasher", + "snow_worker": "Snow Worker", + "snow_worker_female": "Snow Worker", + "striker": "Striker", + "school_kid": "School Kid", + "school_kid_female": "School Kid", + "swimmer": "Swimmer", + "swimmer_female": "Swimmer", + "twins": "Twins", + "veteran": "Veteran", + "veteran_female": "Veteran", + "waiter": "Waiter", + "waitress": "Waitress", + "worker": "Worker", + "worker_female": "Worker", + "youngster": "Youngster" +} as const; + +// Names of special trainers like gym leaders, elite four, and the champion +export const trainerNames: SimpleTranslationEntries = { + "brock": "Brock", + "misty": "Misty", + "lt_surge": "Lt Surge", + "erika": "Erika", + "janine": "Janine", + "sabrina": "Sabrina", + "blaine": "Blaine", + "giovanni": "Giovanni", + "falkner": "Falkner", + "bugsy": "Bugsy", + "whitney": "Whitney", + "morty": "Morty", + "chuck": "Chuck", + "jasmine": "Jasmine", + "pryce": "Pryce", + "clair": "Clair", + "roxanne": "Roxanne", + "brawly": "Brawly", + "wattson": "Wattson", + "flannery": "Flannery", + "norman": "Norman", + "winona": "Winona", + "tate": "Tate", + "liza": "Liza", + "juan": "Juan", + "roark": "Roark", + "gardenia": "Gardenia", + "maylene": "Maylene", + "crasher_wake": "Crasher Wake", + "fantina": "Fantina", + "byron": "Byron", + "candice": "Candice", + "volkner": "Volkner", + "cilan": "Cilan", + "chili": "Chili", + "cress": "Cress", + "cheren": "Cheren", + "lenora": "Lenora", + "roxie": "Roxie", + "burgh": "Burgh", + "elesa": "Elesa", + "clay": "Clay", + "skyla": "Skyla", + "brycen": "Brycen", + "drayden": "Drayden", + "marlon": "Marlon", + "viola": "Viola", + "grant": "Grant", + "korrina": "Korrina", + "ramos": "Ramos", + "clemont": "Clemont", + "valerie": "Valerie", + "olympia": "Olympia", + "wulfric": "Wulfric", + "milo": "Milo", + "nessa": "Nessa", + "kabu": "Kabu", + "bea": "Bea", + "allister": "Allister", + "opal": "Opal", + "bede": "Bede", + "gordie": "Gordie", + "melony": "Melony", + "piers": "Piers", + "marnie": "Marnie", + "raihan": "Raihan", + "katy": "Katy", + "brassius": "Brassius", + "iono": "Iono", + "kofu": "Kofu", + "larry": "Larry", + "ryme": "Ryme", + "tulip": "Tulip", + "grusha": "Grusha", + "lorelei": "Lorelei", + "bruno": "Bruno", + "agatha": "Agatha", + "lance": "Lance", + "will": "Will", + "koga": "Koga", + "karen": "Karen", + "sidney": "Sidney", + "phoebe": "Phoebe", + "glacia": "Glacia", + "drake": "Drake", + "aaron": "Aaron", + "bertha": "Bertha", + "flint": "Flint", + "lucian": "Lucian", + "shauntal": "Shauntal", + "marshal": "Marshal", + "grimsley": "Grimsley", + "caitlin": "Caitlin", + "malva": "Malva", + "siebold": "Siebold", + "wikstrom": "Wikstrom", + "drasna": "Drasna", + "hala": "Hala", + "molayne": "Molayne", + "olivia": "Olivia", + "acerola": "Acerola", + "kahili": "Kahili", + "rika": "Rika", + "poppy": "Poppy", + "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "hassel": "Hassel", + "crispin": "Crispin", + "amarys": "Amarys", + "lacey": "Lacey", + "drayton": "Drayton", + "blue": "Blue", + "red": "Red", + "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "steven": "Steven", + "wallace": "Wallace", + "cynthia": "Cynthia", + "alder": "Alder", + "iris": "Iris", + "diantha": "Diantha", + "hau": "Hau", + "geeta": "Geeta", + "nemona": "Nemona", + "kieran": "Kieran", + "leon": "Leon", + "rival": "Finn", + "rival_female": "Ivy", +} as const; diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts new file mode 100644 index 00000000000..b1f56e70ae4 --- /dev/null +++ b/src/locales/pt_BR/trainers.ts @@ -0,0 +1,219 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +// Titles of special trainers like gym leaders, elite four, and the champion +export const titles: SimpleTranslationEntries = { + "elite_four": "Elite dos Quatro", + "gym_leader": "Líder de Ginásio", + "gym_leader_female": "Líder de Ginásio", + "champion": "Campeão", + "rival": "Rival", + "professor": "Professor", + "frontier_brain": "Cérebro da Fronteira", + // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. +} as const; + +// Titles of trainers like "Youngster" or "Lass" +export const trainerClasses: SimpleTranslationEntries = { + "ace_trainer": "Trinador Ás", + "ace_trainer_female": "Trinadora Ás", + "artist": "Artista", + "artist_female": "Artista", + "backers": "Torcedores", + "backpacker": "Mochileiro", + "backpacker_female": "Mochileira", + "baker": "Padeira", + "battle_girl": "Lutadora", + "beauty": "Modelo", + "biker": "Motoqueiro", + "black_belt": "Faixa Preta", + "breeder": "Criador", + "breeder_female": "Criadora", + "clerk": "Funcionário", + "clerk_female": "Funcionária", + "cyclist": "Ciclista", + "cyclist_female": "Ciclista", + "dancer": "Dançarino", + "dancer_female": "Dançarina", + "depot_agent": "Ferroviário", + "doctor": "Doutor", + "doctor_female": "Doutora", + "fishermen": "Pescador", + "fishermen_female": "Pescadora", + "guitarist": "Guitarrista", + "guitarist_female": "Guitarrista", + "harlequin": "Arlequim", + "hiker": "Montanhista", + "hooligans": "Bandoleiro", + "hoopster": "Jogador de basquete", + "infielder": "Jogador de baseball", + "janitor": "Faxineiro", + "lady": "Dama", + "lass": "Senhorita", + "linebacker": "Zagueiro", + "maid": "Doméstica", + "madame": "Madame", + "musican": "Músico", + "hex_maniac": "Ocultista", + "nurse": "Enfermeira", + "nursery_aide": "Professora do Berçário", + "officer": "Policial", + "parasol_lady": "Moça de Sombrinha", + "pilot": "Piloto", + "pokefan": "Pokefã", + "preschooler": "Menino do Prezinho", + "preschooler_female": "Menina do Prezinho", + "psychic": "Médium", + "psychic_female": "Médium", + "ranger": "Guarda", + "rich": "Cavalheira", // Gentleman is the english name but the trainerType is rich + "rich_kid": "Riquinho", + "roughneck": "Arruaceiro", + "scientist": "Cientista", + "scientist_female": "Cientista", + "smasher": "Tenista", + "snow_worker": "Operário da Neve", + "snow_worker_female": "Operária da Neve", + "striker": "Atacante", + "school_kid": "Estudante", + "school_kid_female": "Estudante", + "swimmer": "Nadador", + "swimmer_female": "Nadadora", + "twins": "Gêmeos", + "veteran": "Veterano", + "veteran_female": "Veterana", + "waiter": "Garçom", + "waitress": "Garçonete", + "worker": "Operário", + "worker_female": "Operária", + "youngster": "Jovem", +} as const; + +// Names of special trainers like gym leaders, elite four, and the champion +export const trainerNames: SimpleTranslationEntries = { + "brock": "Brock", + "misty": "Misty", + "lt_surge": "Ten. Surge", + "erika": "Erika", + "janine": "Janine", + "sabrina": "Sabrina", + "blaine": "Blaine", + "giovanni": "Giovanni", + "falkner": "Falkner", + "bugsy": "Bugsy", + "whitney": "Whitney", + "morty": "Morty", + "chuck": "Chuck", + "jasmine": "Jasmine", + "pryce": "Pryce", + "clair": "Clair", + "roxanne": "Roxanne", + "brawly": "Brawly", + "wattson": "Wattson", + "flannery": "Flannery", + "norman": "Norman", + "winona": "Winona", + "tate": "Tate", + "liza": "Liza", + "juan": "Juan", + "roark": "Roark", + "gardenia": "Gardenia", + "maylene": "Maylene", + "crasher_wake": "Demolidor Wake", + "fantina": "Fantina", + "byron": "Byron", + "candice": "Candice", + "volkner": "Volkner", + "cilan": "Cilan", + "chili": "Chili", + "cress": "Cress", + "cheren": "Cheren", + "lenora": "Lenora", + "roxie": "Roxie", + "burgh": "Burgh", + "elesa": "Elesa", + "clay": "Clay", + "skyla": "Skyla", + "brycen": "Brycen", + "drayden": "Drayden", + "marlon": "Marlon", + "viola": "Viola", + "grant": "Grant", + "korrina": "Korrina", + "ramos": "Ramos", + "clemont": "Clemont", + "valerie": "Valerie", + "olympia": "Olympia", + "wulfric": "Wulfric", + "milo": "Milo", + "nessa": "Nessa", + "kabu": "Kabu", + "bea": "Bea", + "allister": "Allister", + "opal": "Opal", + "bede": "Bede", + "gordie": "Gordie", + "melony": "Melony", + "piers": "Piers", + "marnie": "Marnie", + "raihan": "Raihan", + "katy": "Katy", + "brassius": "Brassius", + "iono": "Iono", + "kofu": "Kofu", + "larry": "Larry", + "ryme": "Ryme", + "tulip": "Tulip", + "grusha": "Grusha", + "lorelei": "Lorelei", + "bruno": "Bruno", + "agatha": "Agatha", + "lance": "Lance", + "will": "Will", + "koga": "Koga", + "karen": "Karen", + "sidney": "Sidney", + "phoebe": "Phoebe", + "glacia": "Glacia", + "drake": "Drake", + "aaron": "Aaron", + "bertha": "Bertha", + "flint": "Flint", + "lucian": "Lucian", + "shauntal": "Shauntal", + "marshal": "Marshal", + "grimsley": "Grimsley", + "caitlin": "Caitlin", + "malva": "Malva", + "siebold": "Siebold", + "wikstrom": "Wikstrom", + "drasna": "Drasna", + "hala": "Hala", + "molayne": "Molayne", + "olivia": "Olivia", + "acerola": "Acerola", + "kahili": "Kahili", + "rika": "Rika", + "poppy": "Poppy", + "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "hassel": "Hassel", + "crispin": "Crispin", + "amarys": "Amarys", + "lacey": "Lacey", + "drayton": "Drayton", + "blue": "Blue", + "red": "Red", + "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "steven": "Steven", + "wallace": "Wallace", + "cynthia": "Cynthia", + "alder": "Alder", + "iris": "Iris", + "diantha": "Diantha", + "hau": "Hau", + "geeta": "Geeta", + "nemona": "Nemona", + "kieran": "Kieran", + "leon": "Leon", + "rival": "Finn", + "rival_female": "Ivy", +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 11339dca4c8..957b1e7a482 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -11,6 +11,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { titles,trainerClasses,trainerNames } from "./trainers"; import { nature } from "./nature"; import { weather } from "./weather"; import { modifierType } from "./modifier-type"; @@ -30,9 +31,13 @@ export const zhCnConfig = { pokemonStat: pokemonStat, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, + nature: nature, + titles: titles, + trainerClasses: trainerClasses, + trainerNames: trainerNames, tutorial: tutorial, nature: nature, growth: growth, weather: weather, modifierType: modifierType, -} \ No newline at end of file +} diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts new file mode 100644 index 00000000000..2a9af843870 --- /dev/null +++ b/src/locales/zh_CN/trainers.ts @@ -0,0 +1,218 @@ +import {SimpleTranslationEntries} from "#app/plugins/i18n"; + +// Titles of special trainers like gym leaders, elite four, and the champion +export const titles: SimpleTranslationEntries = { + "elite_four": "Elite Four", + "gym_leader": "Gym Leader", + "gym_leader_female": "Gym Leader", + "champion": "Champion", + "rival": "Rival", + "professor": "Professor", + "frontier_brain": "Frontier Brain", + // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. +} as const; + +// Titles of trainers like "Youngster" or "Lass" +export const trainerClasses: SimpleTranslationEntries = { + "ace_trainer": "Ace Trainer", + "ace_trainer_female": "Ace Trainer", + "artist": "Artist", + "artist_female": "Artist", + "backers": "Backers", + "backpacker": "Backpacker", + "backpacker_female": "Backpacker", + "baker": "Baker", + "battle_girl": "Battle Girl", + "beauty": "Beauty", + "biker": "Biker", + "black_belt": "Black Belt", + "breeder": "Breeder", + "breeder_female": "Breeder", + "clerk": "Clerk", + "clerk_female": "Clerk", + "cyclist": "Cyclist", + "cyclist_female": "Cyclist", + "dancer": "Dancer", + "dancer_female": "Dancer", + "depot_agent": "Depot Agent", + "doctor": "Doctor", + "doctor_female": "Doctor", + "fishermen": "Fishermen", + "fishermen_female": "Fishermen", + "guitarist": "Guitarist", + "guitarist_female": "Guitarist", + "harlequin": "Harlequin", + "hiker": "Hiker", + "hooligans": "Hooligans", + "hoopster": "Hoopster", + "infielder": "Infielder", + "janitor": "Janitor", + "lady": "Lady", + "lass": "Lass", + "linebacker": "Linebacker", + "maid": "Maid", + "madame": "Madame", + "musican": "Musician", + "hex_maniac": "Hex Maniac", + "nurse": "Nurse", + "nursery_aide": "Nursery Aide", + "officer": "Officer", + "parasol_lady": "Parasol Lady", + "pilot": "Pilot", + "pokefan": "Poké Fan", + "preschooler": "Preschooler", + "preschooler_female": "Preschooler", + "psychic": "Psychic", + "psychic_female": "Psychic", + "ranger": "Ranger", + "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich + "rich_kid": "Rich Boy", + "roughneck": "Roughneck", + "scientist": "Scientist", + "scientist_female": "Scientist", + "smasher": "Smasher", + "snow_worker": "Snow Worker", + "snow_worker_female": "Snow Worker", + "striker": "Striker", + "school_kid": "School Kid", + "school_kid_female": "School Kid", + "swimmer": "Swimmer", + "swimmer_female": "Swimmer", + "twins": "Twins", + "veteran": "Veteran", + "veteran_female": "Veteran", + "waiter": "Waiter", + "waitress": "Waitress", + "worker": "Worker", + "worker_female": "Worker", + "youngster": "Youngster" +} as const; + +// Names of special trainers like gym leaders, elite four, and the champion +export const trainerNames: SimpleTranslationEntries = { + "brock": "Brock", + "misty": "Misty", + "lt_surge": "Lt Surge", + "erika": "Erika", + "janine": "Janine", + "sabrina": "Sabrina", + "blaine": "Blaine", + "giovanni": "Giovanni", + "falkner": "Falkner", + "bugsy": "Bugsy", + "whitney": "Whitney", + "morty": "Morty", + "chuck": "Chuck", + "jasmine": "Jasmine", + "pryce": "Pryce", + "clair": "Clair", + "roxanne": "Roxanne", + "brawly": "Brawly", + "wattson": "Wattson", + "flannery": "Flannery", + "norman": "Norman", + "winona": "Winona", + "tate": "Tate", + "liza": "Liza", + "juan": "Juan", + "roark": "Roark", + "gardenia": "Gardenia", + "maylene": "Maylene", + "crasher_wake": "Crasher Wake", + "fantina": "Fantina", + "byron": "Byron", + "candice": "Candice", + "volkner": "Volkner", + "cilan": "Cilan", + "chili": "Chili", + "cress": "Cress", + "cheren": "Cheren", + "lenora": "Lenora", + "roxie": "Roxie", + "burgh": "Burgh", + "elesa": "Elesa", + "clay": "Clay", + "skyla": "Skyla", + "brycen": "Brycen", + "drayden": "Drayden", + "marlon": "Marlon", + "viola": "Viola", + "grant": "Grant", + "korrina": "Korrina", + "ramos": "Ramos", + "clemont": "Clemont", + "valerie": "Valerie", + "olympia": "Olympia", + "wulfric": "Wulfric", + "milo": "Milo", + "nessa": "Nessa", + "kabu": "Kabu", + "bea": "Bea", + "allister": "Allister", + "opal": "Opal", + "bede": "Bede", + "gordie": "Gordie", + "melony": "Melony", + "piers": "Piers", + "marnie": "Marnie", + "raihan": "Raihan", + "katy": "Katy", + "brassius": "Brassius", + "iono": "Iono", + "kofu": "Kofu", + "larry": "Larry", + "ryme": "Ryme", + "tulip": "Tulip", + "grusha": "Grusha", + "lorelei": "Lorelei", + "bruno": "Bruno", + "agatha": "Agatha", + "lance": "Lance", + "will": "Will", + "koga": "Koga", + "karen": "Karen", + "sidney": "Sidney", + "phoebe": "Phoebe", + "glacia": "Glacia", + "drake": "Drake", + "aaron": "Aaron", + "bertha": "Bertha", + "flint": "Flint", + "lucian": "Lucian", + "shauntal": "Shauntal", + "marshal": "Marshal", + "grimsley": "Grimsley", + "caitlin": "Caitlin", + "malva": "Malva", + "siebold": "Siebold", + "wikstrom": "Wikstrom", + "drasna": "Drasna", + "hala": "Hala", + "molayne": "Molayne", + "olivia": "Olivia", + "acerola": "Acerola", + "kahili": "Kahili", + "rika": "Rika", + "poppy": "Poppy", + "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "hassel": "Hassel", + "crispin": "Crispin", + "amarys": "Amarys", + "lacey": "Lacey", + "drayton": "Drayton", + "blue": "Blue", + "red": "Red", + "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "steven": "Steven", + "wallace": "Wallace", + "cynthia": "Cynthia", + "alder": "Alder", + "iris": "Iris", + "diantha": "Diantha", + "hau": "Hau", + "geeta": "Geeta", + "nemona": "Nemona", + "kieran": "Kieran", + "leon": "Leon", + "rival": "Rival", +} as const; diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 1e0363f1688..807e1a1b550 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -8,7 +8,6 @@ import { frConfig } from '#app/locales/fr/config.js'; import { itConfig } from '#app/locales/it/config.js'; import { ptBrConfig } from '#app/locales/pt_BR/config.js'; import { zhCnConfig } from '#app/locales/zh_CN/config.js'; - export interface SimpleTranslationEntries { [key: string]: string } @@ -52,11 +51,18 @@ export interface Localizable { } export function initI18n(): void { + // Prevent reinitialization + if (isInitialized) { + return; + } + isInitialized = true; let lang = ''; if (localStorage.getItem('prLang')) lang = localStorage.getItem('prLang'); + + /** * i18next is a localization library for maintaining and using translation resources. * @@ -122,6 +128,9 @@ declare module 'i18next' { pokemonStat: SimpleTranslationEntries; commandUiHandler: SimpleTranslationEntries; fightUiHandler: SimpleTranslationEntries; + titles: SimpleTranslationEntries; + trainerClasses: SimpleTranslationEntries; + trainerNames: SimpleTranslationEntries; tutorial: SimpleTranslationEntries; starterSelectUiHandler: SimpleTranslationEntries; splashMessages: SimpleTranslationEntries; @@ -135,3 +144,9 @@ declare module 'i18next' { } export default i18next; + +export function getIsInitialized(): boolean { + return isInitialized; +} + +let isInitialized = false; \ No newline at end of file From 41a0e90ab07a89d4ff0a0a29756591ce61c2930a Mon Sep 17 00:00:00 2001 From: Lugiad Date: Thu, 16 May 2024 11:06:52 +0200 Subject: [PATCH 16/84] Minor Adjustment to French pokemon-stat.ts (#864) --- src/locales/fr/pokemon-stat.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/locales/fr/pokemon-stat.ts b/src/locales/fr/pokemon-stat.ts index 3ab39f0af23..62aa97fc1fd 100644 --- a/src/locales/fr/pokemon-stat.ts +++ b/src/locales/fr/pokemon-stat.ts @@ -7,10 +7,10 @@ export const pokemonStat: SimpleTranslationEntries = { "ATKshortened": "Atq", "DEF": "Défense", "DEFshortened": "Déf", - "SPATK": "Atq. Spé", + "SPATK": "Atq. Spé.", "SPATKshortened": "AtqSp", - "SPDEF": "Déf. Spé", + "SPDEF": "Déf. Spé.", "SPDEFshortened": "DéfSp", "SPD": "Vitesse", "SPDshortened": "Vit" -} as const; \ No newline at end of file +} as const; From e5cd95859d12592c55597de8355a4493e2d91765 Mon Sep 17 00:00:00 2001 From: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> Date: Thu, 16 May 2024 17:10:11 +0800 Subject: [PATCH 17/84] Chinese localization supplement and fixes (#945) Co-authored-by: hjh --- src/locales/zh_CN/ability-trigger.ts | 2 +- src/locales/zh_CN/battle.ts | 2 +- src/locales/zh_CN/fight-ui-handler.ts | 4 +- src/locales/zh_CN/growth.ts | 12 +- src/locales/zh_CN/menu-ui-handler.ts | 2 +- src/locales/zh_CN/menu.ts | 12 +- src/locales/zh_CN/modifier-type.ts | 538 +++++++++--------- src/locales/zh_CN/nature.ts | 50 +- .../zh_CN/starter-select-ui-handler.ts | 6 +- src/locales/zh_CN/weather.ts | 60 +- 10 files changed, 344 insertions(+), 344 deletions(-) diff --git a/src/locales/zh_CN/ability-trigger.ts b/src/locales/zh_CN/ability-trigger.ts index 88900741218..85152b1bccc 100644 --- a/src/locales/zh_CN/ability-trigger.ts +++ b/src/locales/zh_CN/ability-trigger.ts @@ -1,5 +1,5 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const abilityTriggers: SimpleTranslationEntries = { - 'blockRecoilDamage' : `{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!`, + 'blockRecoilDamage' : `{{pokemonName}} 的 {{abilityName}}\n抵消了反作用力!`, } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/battle.ts b/src/locales/zh_CN/battle.ts index 16efae75afd..f99e2ddc76a 100644 --- a/src/locales/zh_CN/battle.ts +++ b/src/locales/zh_CN/battle.ts @@ -32,7 +32,7 @@ export const battle: SimpleTranslationEntries = { "learnMoveForgetQuestion": "要忘记哪个技能?", "learnMoveForgetSuccess": "{{pokemonName}} 忘记了\n如何使用 {{moveName}}。", "countdownPoof": "@d{32}1, @d{15}2, @d{15}和@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}噗!", - "learnMoveAnd": "和…", + "learnMoveAnd": "然后...", "levelCapUp": "等级上限提升到 {{levelCap}}!", "moveNotImplemented": "{{moveName}} 尚未实装,无法选择。", "moveNoPP": "这个技能的 PP 用完了", diff --git a/src/locales/zh_CN/fight-ui-handler.ts b/src/locales/zh_CN/fight-ui-handler.ts index 7546e9af66a..d86767bd13d 100644 --- a/src/locales/zh_CN/fight-ui-handler.ts +++ b/src/locales/zh_CN/fight-ui-handler.ts @@ -2,6 +2,6 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const fightUiHandler: SimpleTranslationEntries = { "pp": "PP", - "power": "Power", - "accuracy": "Accuracy", + "power": "威力", + "accuracy": "命中率", } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/growth.ts b/src/locales/zh_CN/growth.ts index a0d1cb5eeaa..daeeed63385 100644 --- a/src/locales/zh_CN/growth.ts +++ b/src/locales/zh_CN/growth.ts @@ -1,10 +1,10 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const growth: SimpleTranslationEntries = { - "Erratic": "Erratic", - "Fast": "Fast", - "Medium_Fast": "Medium Fast", - "Medium_Slow": "Medium Slow", - "Slow": "Slow", - "Fluctuating": "Fluctuating" + "Erratic": "最快", + "Fast": "快", + "Medium_Fast": "较快", + "Medium_Slow": "较慢", + "Slow": "慢", + "Fluctuating": "最慢" } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/menu-ui-handler.ts b/src/locales/zh_CN/menu-ui-handler.ts index a4d343f6da7..22058daa7cb 100644 --- a/src/locales/zh_CN/menu-ui-handler.ts +++ b/src/locales/zh_CN/menu-ui-handler.ts @@ -9,7 +9,7 @@ export const menuUiHandler: SimpleTranslationEntries = { "EGG_GACHA": "扭蛋机", "MANAGE_DATA": "管理数据", "COMMUNITY": "社区", - "SAVE_AND_QUIT": "Save and Quit", + "SAVE_AND_QUIT": "保存并退出", "LOG_OUT": "登出", "slot": "存档位 {{slotNumber}}", "importSession": "导入存档", diff --git a/src/locales/zh_CN/menu.ts b/src/locales/zh_CN/menu.ts index 1cbfa905758..14bba6f5e6e 100644 --- a/src/locales/zh_CN/menu.ts +++ b/src/locales/zh_CN/menu.ts @@ -35,15 +35,15 @@ export const menu: SimpleTranslationEntries = { "boyOrGirl": "你是男孩还是女孩?", "boy": "男孩", "girl": "女孩", - "evolving": "What?\n{{pokemonName}} is evolving!", - "stoppedEvolving": "{{pokemonName}} stopped evolving.", - "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", - "evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.", - "evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!", + "evolving": "咦?\n{{pokemonName}} 开始进化了!", + "stoppedEvolving": "{{pokemonName}} 停止了进化.", + "pauseEvolutionsQuestion": "你确定要停止 {{pokemonName}} 的进化吗?\n你可以在队伍界面中重新进化.", + "evolutionsPaused": "{{pokemonName}} 的进化停止了.", + "evolutionDone": "恭喜!\n你的 {{pokemonName}} 进化成了 {{evolvedPokemonName}}!", "dailyRankings": "每日排名", "weeklyRankings": "每周排名", "noRankings": "无排名", - "loading": "加载中…", + "loading": "加载中...", "playersOnline": "在线玩家", "empty": "空", "yes": "是", diff --git a/src/locales/zh_CN/modifier-type.ts b/src/locales/zh_CN/modifier-type.ts index 043d7a705d5..80ddc1f92dd 100644 --- a/src/locales/zh_CN/modifier-type.ts +++ b/src/locales/zh_CN/modifier-type.ts @@ -4,406 +4,406 @@ export const modifierType: ModifierTypeTranslationEntries = { ModifierType: { "AddPokeballModifierType": { name: "{{modifierCount}}x {{pokeballName}}", - description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + description: "获得 {{pokeballName}} x{{modifierCount}} (已有:{{pokeballAmount}}) \n捕捉倍率:{{catchRate}}", }, "AddVoucherModifierType": { name: "{{modifierCount}}x {{voucherTypeName}}", - description: "Receive {{voucherTypeName}} x{{modifierCount}}", + description: "获得 {{voucherTypeName}} x{{modifierCount}}", }, "PokemonHeldItemModifierType": { extra: { - "inoperable": "{{pokemonName}} can't take\nthis item!", - "tooMany": "{{pokemonName}} has too many\nof this item!", + "inoperable": "{{pokemonName}} 无法携带\n这个物品!", + "tooMany": "{{pokemonName}} 已有太多\n这个物品!", } }, "PokemonHpRestoreModifierType": { - description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + description: "为一只宝可梦回复 {{restorePoints}} HP 或 {{restorePercent}}% HP,取最大值", extra: { - "fully": "Fully restores HP for one Pokémon", - "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + "fully": "为一只宝可梦回复全部HP", + "fullyWithStatus": "为一只宝可梦回复全部HP并消除所有负面状态", } }, "PokemonReviveModifierType": { - description: "Revives one Pokémon and restores {{restorePercent}}% HP", + description: "复活一只宝可梦并回复 {{restorePercent}}% HP", }, "PokemonStatusHealModifierType": { - description: "Heals any status ailment for one Pokémon", + description: "为一只宝可梦消除所有负面状态", }, "PokemonPpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for one Pokémon move", + description: "为一只宝可梦的一个招式回复 {{restorePoints}} PP", extra: { - "fully": "Restores all PP for one Pokémon move", + "fully": "完全回复一只宝可梦一个招式的PP", } }, "PokemonAllMovePpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + description: "为一只宝可梦的所有招式回复 {{restorePoints}} PP", extra: { - "fully": "Restores all PP for all of one Pokémon's moves", + "fully": "为一只宝可梦的所有招式回复所有PP", } }, "PokemonPpUpModifierType": { - description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + description: "为一只宝可梦的一个招式永久增加{{upPoints}}点PP每5点当前最大PP (最多3点)", }, "PokemonNatureChangeModifierType": { - name: "{{natureName}} Mint", - description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + name: "{{natureName}}薄荷", + description: "将一只宝可梦的性格改为{{natureName}}并为该宝可梦永久解锁该性格.", }, "DoubleBattleChanceBoosterModifierType": { - description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + description: "接下来的{{battleCount}}场战斗是双打的概率翻倍", }, "TempBattleStatBoosterModifierType": { - description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + description: "为所有成员宝可梦提升一级{{tempBattleStatName}},持续5场战斗", }, "AttackTypeBoosterModifierType": { - description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + description: "一只宝可梦的{{moveType}}系招式威力提升20%", }, "PokemonLevelIncrementModifierType": { - description: "Increases a Pokémon's level by 1", + description: "一只宝可梦等级提升1级", }, "AllPokemonLevelIncrementModifierType": { - description: "Increases all party members' level by 1", + description: "所有成员宝可梦等级提升1级", }, "PokemonBaseStatBoosterModifierType": { - description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + description: "增加持有者的{{statName}}10%. 个体值越高堆叠上限越高.", }, "AllPokemonFullHpRestoreModifierType": { - description: "Restores 100% HP for all Pokémon", + description: "所有宝可梦完全回复HP", }, "AllPokemonFullReviveModifierType": { - description: "Revives all fainted Pokémon, fully restoring HP", + description: "复活所有濒死宝可梦,完全回复HP", }, "MoneyRewardModifierType": { - description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + description: "获得{{moneyMultiplier}}金钱 (₽{{moneyAmount}})", extra: { - "small": "small", - "moderate": "moderate", - "large": "large", + "small": "少量", + "moderate": "中等", + "large": "大量", }, }, "ExpBoosterModifierType": { - description: "Increases gain of EXP. Points by {{boostPercent}}%", + description: "EXP.获取量增加{{boostPercent}}%", }, "PokemonExpBoosterModifierType": { - description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + description: "持有者EXP.获取量增加{{boostPercent}}%", }, "PokemonFriendshipBoosterModifierType": { - description: "Increases friendship gain per victory by 50%", + description: "每场战斗获得的好感度提升50%", }, "PokemonMoveAccuracyBoosterModifierType": { - description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + description: "招式命中率增加{{accuracyAmount}} (最大100)", }, "PokemonMultiHitModifierType": { - description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + description: "攻击造成一次额外伤害,每次堆叠额外伤害分别衰减60/75/82.5%", }, "TmModifierType": { - name: "TM{{moveId}} - {{moveName}}", - description: "Teach {{moveName}} to a Pokémon", + name: "招式学习器 {{moveId}} - {{moveName}}", + description: "教会一只宝可梦{{moveName}}", }, "EvolutionItemModifierType": { - description: "Causes certain Pokémon to evolve", + description: "使某些宝可梦进化", }, "FormChangeItemModifierType": { - description: "Causes certain Pokémon to change form", + description: "使某些宝可梦更改形态", }, "FusePokemonModifierType": { - description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + description: "融合两只宝可梦 (改变特性, 平分基础点数和属性, 共享招式池)", }, "TerastallizeModifierType": { - name: "{{teraType}} Tera Shard", - description: "{{teraType}} Terastallizes the holder for up to 10 battles", + name: "{{teraType}}太晶碎块", + description: "持有者获得{{teraType}}太晶化10场战斗", }, "ContactHeldItemTransferChanceModifierType": { - description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + description: "攻击时{{chancePercent}}%概率偷取对手物品", }, "TurnHeldItemTransferModifierType": { - description: "Every turn, the holder acquires one held item from the foe", + description: "持有者每回合从对手那里获得一个持有的物品", }, "EnemyAttackStatusEffectChanceModifierType": { - description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + description: "攻击时{{chancePercent}}%概率造成{{statusEffect}}", }, "EnemyEndureChanceModifierType": { - description: "Adds a {{chancePercent}}% chance of enduring a hit", + description: "增加{{chancePercent}}%遭受攻击的概率", }, - "RARE_CANDY": { name: "Rare Candy" }, - "RARER_CANDY": { name: "Rarer Candy" }, + "RARE_CANDY": { name: "神奇糖果" }, + "RARER_CANDY": { name: "超神奇糖果" }, - "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, - "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, - "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + "MEGA_BRACELET": { name: "超级手镯", description: "能让携带着超级石战斗的宝可梦进行超级进化" }, + "DYNAMAX_BAND": { name: "极巨腕带", description: "能让携带着极巨菇菇战斗的宝可梦进行极巨化" }, + "TERA_ORB": { name: "太晶珠", description: "能让携带着太晶碎块战斗的宝可梦进行太晶化" }, - "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + "MAP": { name: "地图", description: "允许你在切换宝可梦群落时选择目的地"}, - "POTION": { name: "Potion" }, - "SUPER_POTION": { name: "Super Potion" }, - "HYPER_POTION": { name: "Hyper Potion" }, - "MAX_POTION": { name: "Max Potion" }, - "FULL_RESTORE": { name: "Full Restore" }, + "POTION": { name: "伤药" }, + "SUPER_POTION": { name: "好伤药" }, + "HYPER_POTION": { name: "厉害伤药" }, + "MAX_POTION": { name: "全满药" }, + "FULL_RESTORE": { name: "全复药" }, - "REVIVE": { name: "Revive" }, - "MAX_REVIVE": { name: "Max Revive" }, + "REVIVE": { name: "活力碎片" }, + "MAX_REVIVE": { name: "活力块" }, - "FULL_HEAL": { name: "Full Heal" }, + "FULL_HEAL": { name: "万灵药" }, - "SACRED_ASH": { name: "Sacred Ash" }, + "SACRED_ASH": { name: "圣灰" }, - "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + "REVIVER_SEED": { name: "复活种子", description: "恢复1只濒死宝可梦的HP至1/2" }, - "ETHER": { name: "Ether" }, - "MAX_ETHER": { name: "Max Ether" }, + "ETHER": { name: "PP单项小补剂" }, + "MAX_ETHER": { name: "PP单项全补剂" }, - "ELIXIR": { name: "Elixir" }, - "MAX_ELIXIR": { name: "Max Elixir" }, + "ELIXIR": { name: "PP多项小补剂" }, + "MAX_ELIXIR": { name: "PP多项全补剂" }, - "PP_UP": { name: "PP Up" }, - "PP_MAX": { name: "PP Max" }, + "PP_UP": { name: "PP提升剂" }, + "PP_MAX": { name: "PP极限提升剂" }, - "LURE": { name: "Lure" }, - "SUPER_LURE": { name: "Super Lure" }, - "MAX_LURE": { name: "Max Lure" }, + "LURE": { name: "引虫香水" }, + "SUPER_LURE": { name: "白银香水" }, + "MAX_LURE": { name: "黄金香水" }, - "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + "MEMORY_MUSHROOM": { name: "回忆蘑菇", description: "回忆一个宝可梦已经遗忘的招式" }, - "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, - "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + "EXP_SHARE": { name: "学习装置", description: "未参加对战的宝可梦获得20%的经验值" }, + "EXP_BALANCE": { name: "均衡型学习装置", description: "增加战斗中获得的EXP.分配给低级成员宝可梦的权重" }, - "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + "OVAL_CHARM": { name: "圆形护符", description: "当多只宝可梦参与战斗, 分别获得总EXP.10%的额外EXP." }, - "EXP_CHARM": { name: "EXP. Charm" }, - "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, - "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + "EXP_CHARM": { name: "经验护符" }, + "SUPER_EXP_CHARM": { name: "超级经验护符" }, + "GOLDEN_EXP_CHARM": { name: "黄金经验护符" }, - "LUCKY_EGG": { name: "Lucky Egg" }, - "GOLDEN_EGG": { name: "Golden Egg" }, + "LUCKY_EGG": { name: "幸运蛋" }, + "GOLDEN_EGG": { name: "金蛋" }, - "SOOTHE_BELL": { name: "Soothe Bell" }, + "SOOTHE_BELL": { name: "安抚之铃" }, - "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + "SOUL_DEW": { name: "心之水滴", description: "增加宝可梦性格影响10% (加算)" }, - "NUGGET": { name: "Nugget" }, - "BIG_NUGGET": { name: "Big Nugget" }, - "RELIC_GOLD": { name: "Relic Gold" }, + "NUGGET": { name: "金珠" }, + "BIG_NUGGET": { name: "巨大金珠" }, + "RELIC_GOLD": { name: "古代金币" }, - "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, - "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, - "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + "AMULET_COIN": { name: "护符金币", description: "金钱奖励增加20%" }, + "GOLDEN_PUNCH": { name: "黄金拳头", description: "将50%造成的伤害转换为金钱" }, + "COIN_CASE": { name: "代币盒", description: "每十场战斗, 获得自己金钱10%的利息" }, - "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + "LOCK_CAPSULE": { name: "上锁的容器", description: "允许在刷新物品时锁定物品稀有度" }, - "GRIP_CLAW": { name: "Grip Claw" }, - "WIDE_LENS": { name: "Wide Lens" }, + "GRIP_CLAW": { name: "紧缠钩爪" }, + "WIDE_LENS": { name: "广角镜" }, - "MULTI_LENS": { name: "Multi Lens" }, + "MULTI_LENS": { name: "多重镜" }, - "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, - "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + "HEALING_CHARM": { name: "治愈护符", description: "HP回复量增加10% (含复活)" }, + "CANDY_JAR": { name: "糖果罐", description: "神奇糖果提供的升级提升1级" }, - "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + "BERRY_POUCH": { name: "树果袋", description: "使用树果时有25%的几率不会消耗树果" }, - "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + "FOCUS_BAND": { name: "气势头带", description: "携带该道具的宝可梦有10%几率在受到攻击而将陷入濒死状态时,保留1点HP不陷入濒死状态。" }, - "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + "QUICK_CLAW": { name: "先制之爪", description: "有10%的几率无视速度优先使出招式 (先制技能优先)" }, - "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + "KINGS_ROCK": { name: "王者之证", description: "携带该道具的宝可梦使用任意原本不会造成畏缩状态的攻击招式并造成伤害时,有10%几率使目标陷入畏缩状态。" }, - "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, - "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + "LEFTOVERS": { name: "吃剩的东西", description: "携带该道具的宝可梦在每个回合结束时恢复最大HP的1/16" }, + "SHELL_BELL": { name: "贝壳之铃", description: "携带该道具的宝可梦在攻击对方成功造成伤害时,携带者的HP会恢复其所造成伤害的1/8" }, - "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + "BATON": { name: "接力棒", description: "允许在切换宝可梦时保留能力变化, 对陷阱同样生效" }, - "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, - "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + "SHINY_CHARM": { name: "闪耀护符", description: "显著增加野生宝可梦的闪光概率" }, + "ABILITY_CHARM": { name: "特性护符", description: "显著增加野生宝可梦有隐藏特性的概率" }, - "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + "IV_SCANNER": { name: "个体值探测器", description: "允许扫描野生宝可梦的个体值。 每个次显示2个个体值. 最好的个体值优先显示" }, - "DNA_SPLICERS": { name: "DNA Splicers" }, + "DNA_SPLICERS": { name: "基因之楔" }, - "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + "MINI_BLACK_HOLE": { name: "迷你黑洞" }, - "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + "GOLDEN_POKEBALL": { name: "黄金精灵球", description: "在每场战斗结束后增加一个额外物品选项" }, - "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, - "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, - "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, - "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, - "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, - "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, - "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, - "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, - "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, - "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, - "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + "ENEMY_DAMAGE_BOOSTER": { name: "伤害硬币", description: "增加5%造成伤害" }, + "ENEMY_DAMAGE_REDUCTION": { name: "防御硬币", description: "减少2.5%承受伤害" }, + "ENEMY_HEAL": { name: "回复硬币", description: "每回合回复2%最大HP" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "剧毒硬币" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "麻痹硬币" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "睡眠硬币" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "冰冻硬币" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "灼烧硬币" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "万灵药硬币", description: "增加10%每回合治愈异常状态的概率" }, + "ENEMY_ENDURE_CHANCE": { name: "忍受硬币" }, + "ENEMY_FUSED_CHANCE": { name: "融合硬币", description: "增加1%野生融合宝可梦出现概率" }, }, TempBattleStatBoosterItem: { - "x_attack": "X Attack", - "x_defense": "X Defense", - "x_sp_atk": "X Sp. Atk", - "x_sp_def": "X Sp. Def", - "x_speed": "X Speed", - "x_accuracy": "X Accuracy", - "dire_hit": "Dire Hit", + "x_attack": "力量强化", + "x_defense": "防御强化", + "x_sp_atk": "特攻强化", + "x_sp_def": "特防强化", + "x_speed": "速度强化", + "x_accuracy": "命中强化", + "dire_hit": "要害攻击", }, AttackTypeBoosterItem: { - "silk_scarf": "Silk Scarf", - "black_belt": "Black Belt", - "sharp_beak": "Sharp Beak", - "poison_barb": "Poison Barb", - "soft_sand": "Soft Sand", - "hard_stone": "Hard Stone", - "silver_powder": "Silver Powder", - "spell_tag": "Spell Tag", - "metal_coat": "Metal Coat", - "charcoal": "Charcoal", - "mystic_water": "Mystic Water", - "miracle_seed": "Miracle Seed", - "magnet": "Magnet", - "twisted_spoon": "Twisted Spoon", - "never_melt_ice": "Never-Melt Ice", - "dragon_fang": "Dragon Fang", - "black_glasses": "Black Glasses", - "fairy_feather": "Fairy Feather", + "silk_scarf": "丝绸围巾", + "black_belt": "黑带", + "sharp_beak": "锐利鸟嘴", + "poison_barb": "毒针", + "soft_sand": "柔软沙子", + "hard_stone": "硬石头", + "silver_powder": "银粉", + "spell_tag": "诅咒之符", + "metal_coat": "金属膜", + "charcoal": "木炭", + "mystic_water": "神秘水滴", + "miracle_seed": "奇迹种子", + "magnet": "磁铁", + "twisted_spoon": "弯曲的汤匙", + "never_melt_ice": "不融冰", + "dragon_fang": "龙之牙", + "black_glasses": "黑色眼镜", + "fairy_feather": "妖精之羽", }, BaseStatBoosterItem: { - "hp_up": "HP Up", - "protein": "Protein", - "iron": "Iron", - "calcium": "Calcium", - "zinc": "Zinc", - "carbos": "Carbos", + "hp_up": "HP增强剂", + "protein": "攻击增强剂", + "iron": "防御增强剂", + "calcium": "特攻增强剂", + "zinc": "特防增强剂", + "carbos": "速度增强剂", }, EvolutionItem: { "NONE": "None", - "LINKING_CORD": "Linking Cord", - "SUN_STONE": "Sun Stone", - "MOON_STONE": "Moon Stone", - "LEAF_STONE": "Leaf Stone", - "FIRE_STONE": "Fire Stone", - "WATER_STONE": "Water Stone", - "THUNDER_STONE": "Thunder Stone", - "ICE_STONE": "Ice Stone", - "DUSK_STONE": "Dusk Stone", - "DAWN_STONE": "Dawn Stone", - "SHINY_STONE": "Shiny Stone", - "CRACKED_POT": "Cracked Pot", - "SWEET_APPLE": "Sweet Apple", - "TART_APPLE": "Tart Apple", - "STRAWBERRY_SWEET": "Strawberry Sweet", - "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + "LINKING_CORD": "联系绳", + "SUN_STONE": "日之石", + "MOON_STONE": "月之石", + "LEAF_STONE": "叶之石", + "FIRE_STONE": "火之石", + "WATER_STONE": "水之石", + "THUNDER_STONE": "雷之石", + "ICE_STONE": "冰之石", + "DUSK_STONE": "暗之石", + "DAWN_STONE": "觉醒之石", + "SHINY_STONE": "光之石", + "CRACKED_POT": "破裂的茶壶", + "SWEET_APPLE": "甜甜苹果", + "TART_APPLE": "酸酸苹果", + "STRAWBERRY_SWEET": "草莓糖饰", + "UNREMARKABLE_TEACUP": "凡作茶碗", - "CHIPPED_POT": "Chipped Pot", - "BLACK_AUGURITE": "Black Augurite", - "GALARICA_CUFF": "Galarica Cuff", - "GALARICA_WREATH": "Galarica Wreath", - "PEAT_BLOCK": "Peat Block", - "AUSPICIOUS_ARMOR": "Auspicious Armor", - "MALICIOUS_ARMOR": "Malicious Armor", - "MASTERPIECE_TEACUP": "Masterpiece Teacup", - "METAL_ALLOY": "Metal Alloy", - "SCROLL_OF_DARKNESS": "Scroll Of Darkness", - "SCROLL_OF_WATERS": "Scroll Of Waters", - "SYRUPY_APPLE": "Syrupy Apple", + "CHIPPED_POT": "缺损的茶壶", + "BLACK_AUGURITE": "黑奇石", + "GALARICA_CUFF": "伽勒豆蔻手环", + "GALARICA_WREATH": "伽勒豆蔻花圈", + "PEAT_BLOCK": "泥炭块", + "AUSPICIOUS_ARMOR": "庆祝之铠", + "MALICIOUS_ARMOR": "咒术之铠", + "MASTERPIECE_TEACUP": "杰作茶碗", + "METAL_ALLOY": "复合金属", + "SCROLL_OF_DARKNESS": "恶之挂轴", + "SCROLL_OF_WATERS": "水之挂轴", + "SYRUPY_APPLE": "蜜汁苹果", }, FormChangeItem: { "NONE": "None", - "ABOMASITE": "Abomasite", - "ABSOLITE": "Absolite", - "AERODACTYLITE": "Aerodactylite", - "AGGRONITE": "Aggronite", - "ALAKAZITE": "Alakazite", - "ALTARIANITE": "Altarianite", - "AMPHAROSITE": "Ampharosite", - "AUDINITE": "Audinite", - "BANETTITE": "Banettite", - "BEEDRILLITE": "Beedrillite", - "BLASTOISINITE": "Blastoisinite", - "BLAZIKENITE": "Blazikenite", - "CAMERUPTITE": "Cameruptite", - "CHARIZARDITE_X": "Charizardite X", - "CHARIZARDITE_Y": "Charizardite Y", - "DIANCITE": "Diancite", - "GALLADITE": "Galladite", - "GARCHOMPITE": "Garchompite", - "GARDEVOIRITE": "Gardevoirite", - "GENGARITE": "Gengarite", - "GLALITITE": "Glalitite", - "GYARADOSITE": "Gyaradosite", - "HERACRONITE": "Heracronite", - "HOUNDOOMINITE": "Houndoominite", - "KANGASKHANITE": "Kangaskhanite", - "LATIASITE": "Latiasite", - "LATIOSITE": "Latiosite", - "LOPUNNITE": "Lopunnite", - "LUCARIONITE": "Lucarionite", - "MANECTITE": "Manectite", - "MAWILITE": "Mawilite", - "MEDICHAMITE": "Medichamite", - "METAGROSSITE": "Metagrossite", - "MEWTWONITE_X": "Mewtwonite X", - "MEWTWONITE_Y": "Mewtwonite Y", - "PIDGEOTITE": "Pidgeotite", - "PINSIRITE": "Pinsirite", - "RAYQUAZITE": "Rayquazite", - "SABLENITE": "Sablenite", - "SALAMENCITE": "Salamencite", - "SCEPTILITE": "Sceptilite", - "SCIZORITE": "Scizorite", - "SHARPEDONITE": "Sharpedonite", - "SLOWBRONITE": "Slowbronite", - "STEELIXITE": "Steelixite", - "SWAMPERTITE": "Swampertite", - "TYRANITARITE": "Tyranitarite", - "VENUSAURITE": "Venusaurite", + "ABOMASITE": "暴雪王进化石", + "ABSOLITE": "阿勃梭鲁进化石", + "AERODACTYLITE": "化石翼龙进化石", + "AGGRONITE": "波士可多拉进化石", + "ALAKAZITE": "胡地进化石", + "ALTARIANITE": "七夕青鸟进化石", + "AMPHAROSITE": "电龙进化石", + "AUDINITE": "差不多娃娃进化石", + "BANETTITE": "诅咒娃娃进化石", + "BEEDRILLITE": "大针蜂进化石", + "BLASTOISINITE": "水箭龟进化石", + "BLAZIKENITE": "火焰鸡进化石", + "CAMERUPTITE": "喷火驼进化石", + "CHARIZARDITE_X": "喷火龙进化石X", + "CHARIZARDITE_Y": "喷火龙进化石Y", + "DIANCITE": "蒂安希进化石", + "GALLADITE": "艾路雷朵进化石", + "GARCHOMPITE": "烈咬陆鲨进化石", + "GARDEVOIRITE": "沙奈朵进化石", + "GENGARITE": "耿鬼进化石", + "GLALITITE": "冰鬼护进化石", + "GYARADOSITE": "暴鲤龙进化石", + "HERACRONITE": "赫拉克罗斯进化石", + "HOUNDOOMINITE": "黑鲁加进化石", + "KANGASKHANITE": "袋兽进化石", + "LATIASITE": "拉帝亚斯进化石", + "LATIOSITE": "拉帝欧斯进化石", + "LOPUNNITE": "长耳兔进化石", + "LUCARIONITE": "路卡利欧进化石", + "MANECTITE": "雷电兽进化石", + "MAWILITE": "大嘴娃进化石", + "MEDICHAMITE": "恰雷姆进化石", + "METAGROSSITE": "巨金怪进化石", + "MEWTWONITE_X": "超梦进化石X", + "MEWTWONITE_Y": "超梦进化石Y", + "PIDGEOTITE": "大比鸟进化石", + "PINSIRITE": "凯罗斯进化石", + "RAYQUAZITE": "烈空坐进化石", + "SABLENITE": "勾魂眼进化石", + "SALAMENCITE": "暴飞龙进化石", + "SCEPTILITE": "蜥蜴王进化石", + "SCIZORITE": "巨钳螳螂进化石", + "SHARPEDONITE": "巨牙鲨进化石", + "SLOWBRONITE": "呆壳兽进化石", + "STEELIXITE": "大钢蛇进化石", + "SWAMPERTITE": "巨沼怪进化石", + "TYRANITARITE": "班基拉斯进化石", + "VENUSAURITE": "妙蛙花进化石", - "BLUE_ORB": "Blue Orb", - "RED_ORB": "Red Orb", - "SHARP_METEORITE": "Sharp Meteorite", - "HARD_METEORITE": "Hard Meteorite", - "SMOOTH_METEORITE": "Smooth Meteorite", - "ADAMANT_CRYSTAL": "Adamant Crystal", - "LUSTROUS_ORB": "Lustrous Orb", - "GRISEOUS_CORE": "Griseous Core", - "REVEAL_GLASS": "Reveal Glass", - "GRACIDEA": "Gracidea", - "MAX_MUSHROOMS": "Max Mushrooms", - "DARK_STONE": "Dark Stone", - "LIGHT_STONE": "Light Stone", - "PRISON_BOTTLE": "Prison Bottle", - "N_LUNARIZER": "N Lunarizer", - "N_SOLARIZER": "N Solarizer", - "RUSTED_SWORD": "Rusted Sword", - "RUSTED_SHIELD": "Rusted Shield", - "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", - "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", - "WELLSPRING_MASK": "Wellspring Mask", - "HEARTHFLAME_MASK": "Hearthflame Mask", - "CORNERSTONE_MASK": "Cornerstone Mask", - "SHOCK_DRIVE": "Shock Drive", - "BURN_DRIVE": "Burn Drive", - "CHILL_DRIVE": "Chill Drive", - "DOUSE_DRIVE": "Douse Drive", + "BLUE_ORB": "靛蓝色宝珠", + "RED_ORB": "朱红色宝珠", + "SHARP_METEORITE": "锐利陨石", + "HARD_METEORITE": "坚硬陨石", + "SMOOTH_METEORITE": "光滑陨石", + "ADAMANT_CRYSTAL": "大金刚宝玉", + "LUSTROUS_ORB": "白玉宝珠", + "GRISEOUS_CORE": "大白金宝玉", + "REVEAL_GLASS": "现形镜", + "GRACIDEA": "葛拉西蒂亚花", + "MAX_MUSHROOMS": "极巨菇菇", + "DARK_STONE": "黑暗石", + "LIGHT_STONE": "光明石", + "PRISON_BOTTLE": "惩戒之壶", + "N_LUNARIZER": "奈克洛露奈合体器", + "N_SOLARIZER": "奈克洛索尔合体器", + "RUSTED_SWORD": "腐朽的剑", + "RUSTED_SHIELD": "腐朽的盾", + "ICY_REINS_OF_UNITY": "牵绊缰绳(冰)", + "SHADOW_REINS_OF_UNITY": "牵绊缰绳(幽灵)", + "WELLSPRING_MASK": "水井面具", + "HEARTHFLAME_MASK": "火灶面具", + "CORNERSTONE_MASK": "础石面具", + "SHOCK_DRIVE": "闪电卡带", + "BURN_DRIVE": "火焰卡带", + "CHILL_DRIVE": "冰冻卡带", + "DOUSE_DRIVE": "水流卡带", }, TeraType: { "UNKNOWN": "Unknown", - "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", - "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", - "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", - "STELLAR": "Stellar", + "NORMAL": "一般", + "FIGHTING": "格斗", + "FLYING": "飞行", + "POISON": "毒", + "GROUND": "地面", + "ROCK": "岩石", + "BUG": "虫", + "GHOST": "幽灵", + "STEEL": "钢", + "FIRE": "火", + "WATER": "水", + "GRASS": "草", + "ELECTRIC": "电", + "PSYCHIC": "超能力", + "ICE": "冰", + "DRAGON": "龙", + "DARK": "恶", + "FAIRY": "妖精", + "STELLAR": "星晶", }, } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/nature.ts b/src/locales/zh_CN/nature.ts index f29917ff60d..00beeefdfa4 100644 --- a/src/locales/zh_CN/nature.ts +++ b/src/locales/zh_CN/nature.ts @@ -1,29 +1,29 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const nature: SimpleTranslationEntries = { - "Hardy": "Hardy", - "Lonely": "Lonely", - "Brave": "Brave", - "Adamant": "Adamant", - "Naughty": "Naughty", - "Bold": "Bold", - "Docile": "Docile", - "Relaxed": "Relaxed", - "Impish": "Impish", - "Lax": "Lax", - "Timid": "Timid", - "Hasty": "Hasty", - "Serious": "Serious", - "Jolly": "Jolly", - "Naive": "Naive", - "Modest": "Modest", - "Mild": "Mild", - "Quiet": "Quiet", - "Bashful": "Bashful", - "Rash": "Rash", - "Calm": "Calm", - "Gentle": "Gentle", - "Sassy": "Sassy", - "Careful": "Careful", - "Quirky": "Quirky" + "Hardy": "勤奋", + "Lonely": "怕寂寞", + "Brave": "勇敢", + "Adamant": "固执", + "Naughty": "顽皮", + "Bold": "大胆", + "Docile": "坦率", + "Relaxed": "悠闲", + "Impish": "淘气", + "Lax": "乐天", + "Timid": "胆小", + "Hasty": "急躁", + "Serious": "认真", + "Jolly": "爽朗", + "Naive": "天真", + "Modest": "内敛", + "Mild": "慢吞吞", + "Quiet": "冷静", + "Bashful": "害羞", + "Rash": "马虎", + "Calm": "温和", + "Gentle": "温顺", + "Sassy": "自大", + "Careful": "慎重", + "Quirky": "浮躁" } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/starter-select-ui-handler.ts b/src/locales/zh_CN/starter-select-ui-handler.ts index 99ecc31afbb..0713b454376 100644 --- a/src/locales/zh_CN/starter-select-ui-handler.ts +++ b/src/locales/zh_CN/starter-select-ui-handler.ts @@ -38,7 +38,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "cycleVariant": 'V: 切换变种', "enablePassive": "启用被动", "disablePassive": "禁用被动", - "locked": "Locked", - "disabled": "Disabled", - "uncaught": "Uncaught" + "locked": "未解锁", + "disabled": "已禁用", + "uncaught": "未捕获" } diff --git a/src/locales/zh_CN/weather.ts b/src/locales/zh_CN/weather.ts index 999613f1566..50fb2227b2b 100644 --- a/src/locales/zh_CN/weather.ts +++ b/src/locales/zh_CN/weather.ts @@ -4,41 +4,41 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; * The weather namespace holds text displayed when weather is active during a battle */ export const weather: SimpleTranslationEntries = { - "sunnyStartMessage": "The sunlight got bright!", - "sunnyLapseMessage": "The sunlight is strong.", - "sunnyClearMessage": "The sunlight faded.", + "sunnyStartMessage": "日照变强了!", + "sunnyLapseMessage": "日照很强。", + "sunnyClearMessage": "日照复原了。", - "rainStartMessage": "A downpour started!", - "rainLapseMessage": "The downpour continues.", - "rainClearMessage": "The rain stopped.", + "rainStartMessage": "下大雨了!", + "rainLapseMessage": "雨继续下。", + "rainClearMessage": "雨停了。", - "sandstormStartMessage": "A sandstorm brewed!", - "sandstormLapseMessage": "The sandstorm rages.", - "sandstormClearMessage": "The sandstorm subsided.", - "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!", + "sandstormStartMessage": "开始刮沙尘暴了!", + "sandstormLapseMessage": "沙尘暴肆虐。", + "sandstormClearMessage": "沙尘暴停止了。", + "sandstormDamageMessage": "沙尘暴袭击了{{pokemonPrefix}}{{pokemonName}}!", - "hailStartMessage": "It started to hail!", - "hailLapseMessage": "Hail continues to fall.", - "hailClearMessage": "The hail stopped.", - "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!", + "hailStartMessage": "开始下冰雹了!", + "hailLapseMessage": "冰雹继续肆虐。", + "hailClearMessage": "冰雹不再下了。", + "hailDamageMessage": "冰雹袭击了{{pokemonPrefix}}{{pokemonName}}!", - "snowStartMessage": "It started to snow!", - "snowLapseMessage": "The snow is falling down.", - "snowClearMessage": "The snow stopped.", + "snowStartMessage": "开始下雪了!", + "snowLapseMessage": "雪继续下。", + "snowClearMessage": "雪停了。", - "fogStartMessage": "A thick fog emerged!", - "fogLapseMessage": "The fog continues.", - "fogClearMessage": "The fog disappeared.", + "fogStartMessage": "起雾了!", + "fogLapseMessage": "雾很浓。", + "fogClearMessage": "雾散了。", - "heavyRainStartMessage": "A heavy downpour started!", - "heavyRainLapseMessage": "The heavy downpour continues.", - "heavyRainClearMessage": "The heavy rain stopped.", - - "harshSunStartMessage": "The sunlight got hot!", - "harshSunLapseMessage": "The sun is scorching hot.", - "harshSunClearMessage": "The harsh sunlight faded.", + "heavyRainStartMessage": "开始下起了暴雨!", + "heavyRainLapseMessage": "暴雨势头不减。", + "heavyRainClearMessage": "暴雨停了。", - "strongWindsStartMessage": "A heavy wind began!", - "strongWindsLapseMessage": "The wind blows intensely.", - "strongWindsClearMessage": "The heavy wind stopped." + "harshSunStartMessage": "日照变得非常强了!", + "harshSunLapseMessage": "强日照势头不减。", + "harshSunClearMessage": "日照复原了。", + + "strongWindsStartMessage": "吹起了神秘的乱流!", + "strongWindsLapseMessage": "神秘的乱流势头不减。", + "strongWindsClearMessage": "神秘的乱流停止了。" } \ No newline at end of file From 36d0243122c2d4f74c02fa9244c94d2fbf13a98a Mon Sep 17 00:00:00 2001 From: Gerafique <155723753+Gerafique@users.noreply.github.com> Date: Thu, 16 May 2024 11:12:58 +0200 Subject: [PATCH 18/84] Update translations menu-ui-handler.ts (#946) changed logout added Save_and_quit message --- src/locales/de/menu-ui-handler.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/locales/de/menu-ui-handler.ts b/src/locales/de/menu-ui-handler.ts index 0197598cb81..aa09a3b4c6f 100644 --- a/src/locales/de/menu-ui-handler.ts +++ b/src/locales/de/menu-ui-handler.ts @@ -9,8 +9,8 @@ export const menuUiHandler: SimpleTranslationEntries = { "EGG_GACHA": "Eier-Gacha", "MANAGE_DATA": "Daten verwalten", "COMMUNITY": "Community", - "SAVE_AND_QUIT": "Save and Quit", - "LOG_OUT": "Ausloggen", + "SAVE_AND_QUIT": "Speichern und Beenden", + "LOG_OUT": "Abmelden", "slot": "Slot {{slotNumber}}", "importSession": "Sitzung importieren", "importSlotSelect": "Wähle einen Slot zum Importieren.", @@ -20,4 +20,4 @@ export const menuUiHandler: SimpleTranslationEntries = { "exportData": "Daten exportieren", "cancel": "Abbrechen", "losingProgressionWarning": "Du wirst jeglichen Fortschritt seit Anfang dieses Kampfes verlieren. Fortfahren?" -} as const; \ No newline at end of file +} as const; From 88fab1dc5f44c7fcf5fdd34aae8553d789b5e81c Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Thu, 16 May 2024 11:13:27 +0200 Subject: [PATCH 19/84] Update italian menu (#954) --- src/locales/it/menu-ui-handler.ts | 2 +- src/locales/it/menu.ts | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/locales/it/menu-ui-handler.ts b/src/locales/it/menu-ui-handler.ts index 3e4362e76cf..e0328fccdc1 100644 --- a/src/locales/it/menu-ui-handler.ts +++ b/src/locales/it/menu-ui-handler.ts @@ -9,7 +9,7 @@ export const menuUiHandler: SimpleTranslationEntries = { "EGG_GACHA": "Gacha Uova", "MANAGE_DATA": "Gestisci Dati", "COMMUNITY": "Community", - "SAVE_AND_QUIT": "Save and Quit", + "SAVE_AND_QUIT": "Salva ed Esci", "LOG_OUT": "Disconnettiti", "slot": "Slot {{slotNumber}}", "importSession": "Importa Sessione", diff --git a/src/locales/it/menu.ts b/src/locales/it/menu.ts index ff41b8ab9dc..e86a6be25ed 100644 --- a/src/locales/it/menu.ts +++ b/src/locales/it/menu.ts @@ -40,11 +40,11 @@ export const menu: SimpleTranslationEntries = { "noRankings": "Nessuna Classifica", "loading": "Caricamento…", "playersOnline": "Giocatori Online", - "evolving": "What?\n{{pokemonName}} is evolving!", - "stoppedEvolving": "{{pokemonName}} stopped evolving.", - "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", - "evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.", - "evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!", + "evolving": "Cosa?\n{{pokemonName}} si evolvendo!", + "stoppedEvolving": "{{pokemonName}} ha smesso di evolversi.", + "pauseEvolutionsQuestion": "Vuoi sospendere le evoluzioni per {{pokemonName}}?\nLe evoluzioni possono essere riattivate dalla schermata del party.", + "evolutionsPaused": "Le evoluzioni sono state sospese per {{pokemonName}}.", + "evolutionDone": "Congratulazioni!\n{{pokemonName}} si è evoluto in {{evolvedPokemonName}}!", "empty":"Vuoto", "yes":"Si", "no":"No", From 35afbf6e44b93550dbf0148812ca6895ad7716a3 Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Thu, 16 May 2024 11:13:57 +0200 Subject: [PATCH 20/84] Added german egg localization (#955) * Added german egg localization * Changed pull back to english since there isnt enough space for a german word that makes sense and most if not all german players understand "pull" * This comma was too much --- src/locales/de/egg.ts | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/locales/de/egg.ts b/src/locales/de/egg.ts index 358c1b4a503..3950d6729ff 100644 --- a/src/locales/de/egg.ts +++ b/src/locales/de/egg.ts @@ -1,21 +1,21 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const egg: SimpleTranslationEntries = { - "egg": "Egg", - "greatTier": "Rare", - "ultraTier": "Epic", - "masterTier": "Legendary", - "defaultTier": "Common", - "hatchWavesMessageSoon": "Sounds can be heard coming from inside! It will hatch soon!", - "hatchWavesMessageClose": "It appears to move occasionally. It may be close to hatching.", - "hatchWavesMessageNotClose": "What will hatch from this? It doesn't seem close to hatching.", - "hatchWavesMessageLongTime": "It looks like this Egg will take a long time to hatch.", - "gachaTypeLegendary": "Legendary Rate Up", - "gachaTypeMove": "Rare Egg Move Rate Up", - "gachaTypeShiny": "Shiny Rate Up", - "selectMachine": "Select a machine.", - "notEnoughVouchers": "You don't have enough vouchers!", - "tooManyEggs": "You have too many eggs!", + "egg": "Ei", + "greatTier": "Selten", + "ultraTier": "Episch", + "masterTier": "Legendär", + "defaultTier": "Gewöhnlich", + "hatchWavesMessageSoon": "Man kann schon etwas hören! Es wird wohl bald schlüpfen!", + "hatchWavesMessageClose": "Manchmal bewegt es sich! Es braucht wohl noch ein Weilchen.", + "hatchWavesMessageNotClose": "Was wird da wohl schlüpfen? Es wird sicher noch lange dauern.", + "hatchWavesMessageLongTime": "Dieses Ei braucht sicher noch sehr viel Zeit.", + "gachaTypeLegendary": "Erhöhte Chance auf legendäre Eier", + "gachaTypeMove": "Erhöhte Chance auf Eier mit seltenen Attacken", + "gachaTypeShiny": "Erhöhte Chance auf schillernde Eier", + "selectMachine": "Wähle eine Maschine", + "notEnoughVouchers": "Du hast nicht genug Ei-Gutscheine!", + "tooManyEggs": "Du hast schon zu viele Eier!", "pull": "Pull", "pulls": "Pulls" } as const; \ No newline at end of file From 3f40225d4bb93d7539ced7efc6b7fea491472b7a Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Thu, 16 May 2024 11:14:21 +0200 Subject: [PATCH 21/84] Update italian weather.ts (#956) --- src/locales/it/weather.ts | 58 +++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/locales/it/weather.ts b/src/locales/it/weather.ts index 999613f1566..d5f0f440e1e 100644 --- a/src/locales/it/weather.ts +++ b/src/locales/it/weather.ts @@ -4,41 +4,41 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; * The weather namespace holds text displayed when weather is active during a battle */ export const weather: SimpleTranslationEntries = { - "sunnyStartMessage": "The sunlight got bright!", - "sunnyLapseMessage": "The sunlight is strong.", - "sunnyClearMessage": "The sunlight faded.", + "sunnyStartMessage": "La luce solare è intensa!", + "sunnyLapseMessage": "La luce solare è forte.", + "sunnyClearMessage": "La luce solare si sta attenuando.", - "rainStartMessage": "A downpour started!", - "rainLapseMessage": "The downpour continues.", - "rainClearMessage": "The rain stopped.", + "rainStartMessage": "Ha iniziato a piovere!", + "rainLapseMessage": "La pioggia continua.", + "rainClearMessage": "Ha smesso di piovere.", - "sandstormStartMessage": "A sandstorm brewed!", - "sandstormLapseMessage": "The sandstorm rages.", - "sandstormClearMessage": "The sandstorm subsided.", - "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!", + "sandstormStartMessage": "Si è scatenata una tempesta di sabbia!", + "sandstormLapseMessage": "La tempesta di sabbia infuria.", + "sandstormClearMessage": "La tempesta di sabbia si è placata.", + "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} è stato colpito\ndalla tempesta di sabbia!", - "hailStartMessage": "It started to hail!", - "hailLapseMessage": "Hail continues to fall.", - "hailClearMessage": "The hail stopped.", - "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!", + "hailStartMessage": "Ha iniziato a grandinare!", + "hailLapseMessage": "La grandine continua a cadere.", + "hailClearMessage": "Ha smesso di grandinare.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} è stato colpito\ndalla grandine!", - "snowStartMessage": "It started to snow!", - "snowLapseMessage": "The snow is falling down.", - "snowClearMessage": "The snow stopped.", + "snowStartMessage": "Ha iniziato a nevicare!", + "snowLapseMessage": "La neve sta continuando a cadere.", + "snowClearMessage": "Ha smesso di nevicare!.", - "fogStartMessage": "A thick fog emerged!", - "fogLapseMessage": "The fog continues.", - "fogClearMessage": "The fog disappeared.", + "fogStartMessage": "È emersa una fitta nebbia!", + "fogLapseMessage": "La nebbia continua.", + "fogClearMessage": "La nebbia è scomparsa.", - "heavyRainStartMessage": "A heavy downpour started!", - "heavyRainLapseMessage": "The heavy downpour continues.", - "heavyRainClearMessage": "The heavy rain stopped.", + "heavyRainStartMessage": "Ha iniziato a piovere forte!", + "heavyRainLapseMessage": "La pioggia battente continua.", + "heavyRainClearMessage": "La pioggia battente è cessata.", - "harshSunStartMessage": "The sunlight got hot!", - "harshSunLapseMessage": "The sun is scorching hot.", - "harshSunClearMessage": "The harsh sunlight faded.", + "harshSunStartMessage": "La luce solare è molto intensa!", + "harshSunLapseMessage": "La luce solare è estremamente calda.", + "harshSunClearMessage": "La luce solare si sta attenuando.", - "strongWindsStartMessage": "A heavy wind began!", - "strongWindsLapseMessage": "The wind blows intensely.", - "strongWindsClearMessage": "The heavy wind stopped." + "strongWindsStartMessage": "È apparsa una corrente d'aria misteriosa!", + "strongWindsLapseMessage": "La corrente d'aria soffia intensamente.", + "strongWindsClearMessage": "La corrente d'aria è cessata." } \ No newline at end of file From 5fe69fff9ce1b6ec3c790a79ec7f66c21c4ac69d Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Thu, 16 May 2024 11:19:10 +0200 Subject: [PATCH 22/84] Update italian egg.ts (#958) --- src/locales/it/egg.ts | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/locales/it/egg.ts b/src/locales/it/egg.ts index 358c1b4a503..5634a2ae15b 100644 --- a/src/locales/it/egg.ts +++ b/src/locales/it/egg.ts @@ -1,21 +1,21 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const egg: SimpleTranslationEntries = { - "egg": "Egg", - "greatTier": "Rare", - "ultraTier": "Epic", - "masterTier": "Legendary", - "defaultTier": "Common", - "hatchWavesMessageSoon": "Sounds can be heard coming from inside! It will hatch soon!", - "hatchWavesMessageClose": "It appears to move occasionally. It may be close to hatching.", - "hatchWavesMessageNotClose": "What will hatch from this? It doesn't seem close to hatching.", - "hatchWavesMessageLongTime": "It looks like this Egg will take a long time to hatch.", - "gachaTypeLegendary": "Legendary Rate Up", - "gachaTypeMove": "Rare Egg Move Rate Up", - "gachaTypeShiny": "Shiny Rate Up", - "selectMachine": "Select a machine.", - "notEnoughVouchers": "You don't have enough vouchers!", - "tooManyEggs": "You have too many eggs!", - "pull": "Pull", - "pulls": "Pulls" + "egg": "Uovo", + "defaultTier": "Comune", + "greatTier": "Raro", + "ultraTier": "Epico", + "masterTier": "Leggendario", + "hatchWavesMessageSoon": "Si sentono dei suoni provenienti dall'interno! Si schiuderà presto!", + "hatchWavesMessageClose": "Sembra muoversi di tanto in tanto. Potrebbe essere prossimo alla schiusa.", + "hatchWavesMessageNotClose": "Cosa uscirà da qui? Non sembra si schiuderà presto.", + "hatchWavesMessageLongTime": "Sembra che questo uovo impiegherà molto tempo per schiudersi.", + "gachaTypeLegendary": "Tasso dei Leggendari Aumentato", + "gachaTypeMove": "Tasso delle Mosse Rare delle Uova Aumentato", + "gachaTypeShiny": "Tasso degli Shiny Aumentato", + "selectMachine": "Seleziona un distributore.", + "notEnoughVouchers": "Non hai abbastanza Biglietti!", + "tooManyEggs": "Hai troppe Uova!", + "pull": "Tiro", + "pulls": "Tiri" } as const; \ No newline at end of file From 4a29532b5e6c4df57e06f123db65675c685a1438 Mon Sep 17 00:00:00 2001 From: Frederico Santos Date: Thu, 16 May 2024 11:17:50 +0100 Subject: [PATCH 23/84] Rename trainer files to use "school_kid" instead of "student" (#962) --- .../trainer/{student_f.json => school_kid_f.json} | 2 +- .../trainer/{student_f.png => school_kid_f.png} | Bin .../trainer/{student_m.json => school_kid_m.json} | 2 +- .../trainer/{student_m.png => school_kid_m.png} | Bin 4 files changed, 2 insertions(+), 2 deletions(-) rename public/images/trainer/{student_f.json => school_kid_f.json} (99%) rename public/images/trainer/{student_f.png => school_kid_f.png} (100%) rename public/images/trainer/{student_m.json => school_kid_m.json} (99%) rename public/images/trainer/{student_m.png => school_kid_m.png} (100%) diff --git a/public/images/trainer/student_f.json b/public/images/trainer/school_kid_f.json similarity index 99% rename from public/images/trainer/student_f.json rename to public/images/trainer/school_kid_f.json index 7f739c78d7f..5d38900ba35 100644 --- a/public/images/trainer/student_f.json +++ b/public/images/trainer/school_kid_f.json @@ -1,7 +1,7 @@ { "textures": [ { - "image": "student_f.png", + "image": "school_kid_f.png", "format": "RGBA8888", "size": { "w": 192, diff --git a/public/images/trainer/student_f.png b/public/images/trainer/school_kid_f.png similarity index 100% rename from public/images/trainer/student_f.png rename to public/images/trainer/school_kid_f.png diff --git a/public/images/trainer/student_m.json b/public/images/trainer/school_kid_m.json similarity index 99% rename from public/images/trainer/student_m.json rename to public/images/trainer/school_kid_m.json index f87341e1bf8..daee7de2a03 100644 --- a/public/images/trainer/student_m.json +++ b/public/images/trainer/school_kid_m.json @@ -1,7 +1,7 @@ { "textures": [ { - "image": "student_m.png", + "image": "school_kid_m.png", "format": "RGBA8888", "size": { "w": 178, diff --git a/public/images/trainer/student_m.png b/public/images/trainer/school_kid_m.png similarity index 100% rename from public/images/trainer/student_m.png rename to public/images/trainer/school_kid_m.png From 2a15e090ce235e95c338fc0fef7524d86b764746 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Thu, 16 May 2024 12:20:50 +0200 Subject: [PATCH 24/84] Update French splash-messages.ts (#961) --- src/locales/fr/splash-messages.ts | 66 +++++++++++++++---------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/src/locales/fr/splash-messages.ts b/src/locales/fr/splash-messages.ts index 6815d7f1824..ef7a8c3335a 100644 --- a/src/locales/fr/splash-messages.ts +++ b/src/locales/fr/splash-messages.ts @@ -1,37 +1,37 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const splashMessages: SimpleTranslationEntries = { - "battlesWon": "Battles Won!", - "joinTheDiscord": "Join the Discord!", - "infiniteLevels": "Infinite Levels!", - "everythingStacks": "Everything Stacks!", + "battlesWon": "combats gagnés !", + "joinTheDiscord": "Rejoins le Discord !", + "infiniteLevels": "Niveaux infinis !", + "everythingStacks": "Tout se cumule !", "optionalSaveScumming": "Optional Save Scumming!", - "biomes": "35 Biomes!", - "openSource": "Open Source!", - "playWithSpeed": "Play with 5x Speed!", - "liveBugTesting": "Live Bug Testing!", - "heavyInfluence": "Heavy RoR2 Influence!", - "pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!", - "nowWithMoreSalt": "Now with 33% More Salt!", - "infiniteFusionAtHome": "Infinite Fusion at Home!", - "brokenEggMoves": "Broken Egg Moves!", - "magnificent": "Magnificent!", - "mubstitute": "Mubstitute!", - "thatsCrazy": "That\'s Crazy!", - "oranceJuice": "Orance Juice!", - "questionableBalancing": "Questionable Balancing!", - "coolShaders": "Cool Shaders!", - "aiFree": "AI-Free!", - "suddenDifficultySpikes": "Sudden Difficulty Spikes!", - "basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!", - "moreAddictiveThanIntended": "More Addictive than Intended!", - "mostlyConsistentSeeds": "Mostly Consistent Seeds!", - "achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!", - "youDoNotStartAtLevel": "You Do Not Start at Level 2000!", - "dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!", - "alsoTryPokengine": "Also Try Pokéngine!", - "alsoTryEmeraldRogue": "Also Try Emerald Rogue!", - "alsoTryRadicalRed": "Also Try Radical Red!", - "eeveeExpo": "Eevee Expo!", - "ynoproject": "YNOproject!", -} as const; \ No newline at end of file + "biomes": "35 biomes !", + "openSource": "Open Source !", + "playWithSpeed": "Joue en vitesse x5 !", + "liveBugTesting": "Tests de bugs en direct !", + "heavyInfluence": "Grosse influence de RoR2 !", + "pokemonRiskAndPokemonRain": "Pokémon Risk et Pokémon Rain !", + "nowWithMoreSalt": "Désormais avec 33% de sel en plus !", + "infiniteFusionAtHome": "Infinite Fusion, chez vous !", + "brokenEggMoves": "Des Capacités Œuf craquées !", + "magnificent": "Magnifique !", + "mubstitute": "Mubstitute !", + "thatsCrazy": "C’est une dinguerie !", + "oranceJuice": "Jus d’orange !", + "questionableBalancing": "Équilibrage douteux !", + "coolShaders": "Cool shaders !", + "aiFree": "Garanti sans IA !", + "suddenDifficultySpikes": "De soudains pics de difficultés !", + "basedOnAnUnfinishedFlashGame": "Basé sur un jeu Flash abandonné !", + "moreAddictiveThanIntended": "Plus addictif que prévu !", + "mostlyConsistentSeeds": "Des seeds à peu près stables !", + "achievementPointsDontDoAnything": "Les Points de Succès servent à rien !", + "youDoNotStartAtLevel": "Ne commence pas au Niveau 2000 !", + "dontTalkAboutTheManaphyEggIncident": "Ne parle pas de l'incident de l’Œuf de Manaphy !", + "alsoTryPokengine": "Essaye aussi Pokéngine !", + "alsoTryEmeraldRogue": "Essaye aussi Emerald Rogue!", + "alsoTryRadicalRed": "Essaye aussi Radical Red !", + "eeveeExpo": "Eevee Expo !", + "ynoproject": "YNOproject !", +} as const; From 7f003d46caa981a213af47a56afcc737d149fd9d Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Thu, 16 May 2024 12:43:31 +0200 Subject: [PATCH 25/84] Added all double battle names as trainer classes. And updated/corrected errors. (in all languages but german i used the english version) (#963) Also fixed that the rival does not have localized name --- src/data/trainer-config.ts | 22 +++++++++++++++------- src/locales/de/battle.ts | 2 +- src/locales/de/trainers.ts | 27 ++++++++++++++++++++++++--- src/locales/en/trainers.ts | 26 +++++++++++++++++++++++--- src/locales/es/trainers.ts | 26 +++++++++++++++++++++++--- src/locales/fr/trainers.ts | 24 +++++++++++++++++++++--- src/locales/it/trainers.ts | 26 +++++++++++++++++++++++--- src/locales/pt_BR/trainers.ts | 24 +++++++++++++++++++++--- src/locales/zh_CN/trainers.ts | 29 +++++++++++++++++++++++++---- 9 files changed, 176 insertions(+), 30 deletions(-) diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index b797c918bd9..0556a4df95a 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -229,19 +229,17 @@ export class TrainerConfig { } setName(name: string): TrainerConfig { - if (name === 'Finn' || name === 'Ivy') { + if (name === 'Finn') { // Give the rival a localized name // First check if i18n is initialized if (!getIsInitialized()) { initI18n(); } if (name === 'Finn') { - this.name = i18next.t('trainerNames:rival'); - } - if (name === 'Ivy') { - this.name = i18next.t('trainerNames:rival_female'); + name = i18next.t('trainerNames:rival'); } + } this.name = name; return this; @@ -284,8 +282,18 @@ export class TrainerConfig { } setHasGenders(nameFemale?: string, femaleEncounterBgm?: TrainerType | string): TrainerConfig { + if (nameFemale === 'Ivy') { + // Give the rival a localized name + // First check if i18n is initialized + if (!getIsInitialized()) { + initI18n(); + } + this.nameFemale = i18next.t('trainerNames:rival_female'); + } else { + this.nameFemale = nameFemale; + } + this.hasGenders = true; - this.nameFemale = nameFemale; if (femaleEncounterBgm) this.femaleEncounterBgm = typeof femaleEncounterBgm === 'number' ? TrainerType[femaleEncounterBgm].toString().replace(/\_/g, ' ').toLowerCase() : femaleEncounterBgm; return this; @@ -721,7 +729,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.SMASHER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), [TrainerType.SNOW_WORKER]: new TrainerConfig(++t).setName('Worker').setHasGenders().setHasDouble('Workers').setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.CLERK).setSpeciesFilter(s => s.isOfType(Type.ICE) || s.isOfType(Type.STEEL)), [TrainerType.STRIKER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), - [TrainerType.SCHOOL_KID]: new TrainerConfig(++t).setMoneyMultiplier(0.75).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders(undefined, 'lass').setHasDouble('Students') + [TrainerType.SCHOOL_KID]: new TrainerConfig(++t).setMoneyMultiplier(0.75).setEncounterBgm(TrainerType.YOUNGSTER).setHasGenders(undefined, 'lass').setHasDouble('School Kids') .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.ODDISH, Species.EXEGGCUTE, Species.TEDDIURSA, Species.WURMPLE, Species.RALTS, Species.SHROOMISH, Species.FLETCHLING ], [TrainerPoolTier.UNCOMMON]: [ Species.VOLTORB, Species.WHISMUR, Species.MEDITITE, Species.MIME_JR, Species.NYMBLE ], diff --git a/src/locales/de/battle.ts b/src/locales/de/battle.ts index e0aa20b6c94..687c60129cc 100644 --- a/src/locales/de/battle.ts +++ b/src/locales/de/battle.ts @@ -33,7 +33,7 @@ export const battle: SimpleTranslationEntries = { "learnMoveForgetSuccess": "{{pokemonName}} hat\n{{moveName}} vergessen.", "countdownPoof": "@d{32}Eins, @d{15}zwei @d{15}und@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}schwupp!", "learnMoveAnd": "Und…", - "levelCapUp": "Das Levellimit\nhat sich zu {{levelCap}} erhöht!", + "levelCapUp": "Das Levelbeschränkung\nwurde auf {{levelCap}} erhöht!", "moveNotImplemented": "{{moveName}} ist noch nicht implementiert und kann nicht ausgewählt werden.", "moveNoPP": "Es sind keine AP für\ndiese Attacke mehr übrig!", "moveDisabled": "{{moveName}} ist deaktiviert!", diff --git a/src/locales/de/trainers.ts b/src/locales/de/trainers.ts index b2a74a8e92f..99e352b89ea 100644 --- a/src/locales/de/trainers.ts +++ b/src/locales/de/trainers.ts @@ -16,22 +16,29 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Ass-Trainer", "ace_trainer_female": "Ass-Trainerin", + "ace_duo": "Ass-Duo", "artist": "Künstler", "artist_female": "Künstlerin", "backers": "Anhänger", "backpacker": "Backpacker", "backpacker_female": "Backpackerin", + "backpackers": "Backpacker", "baker": "Bäckerin", "battle_girl": "Kämpferin", "beauty": "Schönheit", + "beginners": "Anfänger", "biker": "Rowdy", "black_belt": "Schwarzgurt", "breeder": "Pokémon Züchter", "breeder_female": "Pokémon Züchterin", + "breeders": "Pokémon Züchter", "clerk": "Angestellter", "clerk_female": "Angestellte", + "colleagues": "Geschäftspartner", + "crush_kin": "Mühlensippe", "cyclist": "Biker", "cyclist_female": "Bikerin", + "cyclists": "Biker", "dancer": "Tänzer", "dancer_female": "Tänzerin", "depot_agent": "Bahnangestellter", @@ -39,6 +46,7 @@ export const trainerClasses: SimpleTranslationEntries = { "doctor_female": "Ärztin", "fishermen": "Angler", "fishermen_female": "Angler", // Seems to be the same in german but exists in other languages like italian + "gentleman": "Gentleman", "guitarist": "Gitarrist", "guitarist_female": "Gitarristin", "harlequin": "Kasper", @@ -52,6 +60,7 @@ export const trainerClasses: SimpleTranslationEntries = { "linebacker": "Footballer", "maid": "Zofe", "madame": "Madam", + "medical_team": "Mediziner", "musican": "Musiker", "hex_maniac": "Hexe", "nurse": "Pflegerin", @@ -59,32 +68,44 @@ export const trainerClasses: SimpleTranslationEntries = { "officer": "Polizist", "parasol_lady": "Schirmdame", "pilot": "Pilot", - "pokefan": "Pokéfan", + "poké_fan": "Pokéfan", + "poké_fan_family": "Pokéfan-Pärchen", "preschooler": "Vorschüler", "preschooler_female": "Vorschülerin", + "preschoolers": "Vorschüler", "psychic": "Seher", "psychic_female": "Seherin", + "psychics": "Seher", + "pokémon_ranger": "Pokémon-Ranger", + "pokémon_rangers": "Pokémon-Ranger", "ranger": "Ranger", - "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich - "rich_kid": "Schnösel", + "restaurant_staff": "Restaurant Angestellte", + "rich_boy": "Schnösel", + "rich_couple": "Reiches Paar", + "rich_kids": "Schnösel", "roughneck": "Raufbold", "scientist": "Forscher", "scientist_female": "Forscherin", + "scientists": "Forscher", "smasher": "Tennis-Ass", "snow_worker": "Schneearbeiter", // There is a trainer type for this but no actual trainer class? They seem to be just workers but dressed differently "snow_worker_female": "Schneearbeiterin", "striker": "Fußballer", "school_kid": "Schulkind", "school_kid_female": "Schulkind", // Same in german but different in italian + "school_kids": "Schüler", "swimmer": "Schwimmer", "swimmer_female": "Schwimmerin", + "swimmers": "Schwimmerpaar", "twins": "Zwillinge", "veteran": "Veteran", "veteran_female": "Veteran", // same in german, different in other languages + "veteran_duo": "Veteranen", "waiter": "Servierer", "waitress": "Serviererin", "worker": "Arbeiter", "worker_female": "Arbeiterin", + "workers": "Arbeiter", "youngster": "Knirps" diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts index a63b06242f9..c4acd85c44e 100644 --- a/src/locales/en/trainers.ts +++ b/src/locales/en/trainers.ts @@ -16,22 +16,29 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Ace Trainer", "ace_trainer_female": "Ace Trainer", + "ace_duo": "Ace Duo", "artist": "Artist", "artist_female": "Artist", "backers": "Backers", "backpacker": "Backpacker", "backpacker_female": "Backpacker", + "backpackers": "Backpackers", "baker": "Baker", "battle_girl": "Battle Girl", "beauty": "Beauty", + "beginners": "Beginners", "biker": "Biker", "black_belt": "Black Belt", "breeder": "Breeder", "breeder_female": "Breeder", + "breeders": "Breeders", "clerk": "Clerk", "clerk_female": "Clerk", + "colleagues": "Colleagues", + "crush_kin": "Crush Kin", "cyclist": "Cyclist", "cyclist_female": "Cyclist", + "cyclists": "Cyclists", "dancer": "Dancer", "dancer_female": "Dancer", "depot_agent": "Depot Agent", @@ -39,6 +46,7 @@ export const trainerClasses: SimpleTranslationEntries = { "doctor_female": "Doctor", "fishermen": "Fishermen", "fishermen_female": "Fishermen", + "gentleman": "Gentleman", "guitarist": "Guitarist", "guitarist_female": "Guitarist", "harlequin": "Harlequin", @@ -52,6 +60,7 @@ export const trainerClasses: SimpleTranslationEntries = { "linebacker": "Linebacker", "maid": "Maid", "madame": "Madame", + "medical_team": "Medical Team", "musican": "Musician", "hex_maniac": "Hex Maniac", "nurse": "Nurse", @@ -59,28 +68,39 @@ export const trainerClasses: SimpleTranslationEntries = { "officer": "Officer", "parasol_lady": "Parasol Lady", "pilot": "Pilot", - "pokefan": "Poké Fan", + "poké_fan": "Poké Fan", + "poké_fan_family": "Poké Fan Family", "preschooler": "Preschooler", "preschooler_female": "Preschooler", + "preschoolers": "Preschoolers", "psychic": "Psychic", "psychic_female": "Psychic", + "psychics": "Psychics", + "pokémon_ranger": "Pokémon Ranger", + "pokémon_rangers": "Pokémon Ranger", "ranger": "Ranger", - "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich - "rich_kid": "Rich Boy", + "restaurant_staff": "Restaurant Staff", + "rich_boy": "Rich Boy", + "rich_couple": "Rich Couple", + "rich_kids": "Rich Kids", "roughneck": "Roughneck", "scientist": "Scientist", "scientist_female": "Scientist", + "scientists": "Scientists", "smasher": "Smasher", "snow_worker": "Snow Worker", "snow_worker_female": "Snow Worker", "striker": "Striker", "school_kid": "School Kid", "school_kid_female": "School Kid", + "school_kids": "School Kids", "swimmer": "Swimmer", "swimmer_female": "Swimmer", + "swimmers": "Swimmers", "twins": "Twins", "veteran": "Veteran", "veteran_female": "Veteran", + "veteran_duo": "Veteran Duo", "waiter": "Waiter", "waitress": "Waitress", "worker": "Worker", diff --git a/src/locales/es/trainers.ts b/src/locales/es/trainers.ts index a63b06242f9..c4acd85c44e 100644 --- a/src/locales/es/trainers.ts +++ b/src/locales/es/trainers.ts @@ -16,22 +16,29 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Ace Trainer", "ace_trainer_female": "Ace Trainer", + "ace_duo": "Ace Duo", "artist": "Artist", "artist_female": "Artist", "backers": "Backers", "backpacker": "Backpacker", "backpacker_female": "Backpacker", + "backpackers": "Backpackers", "baker": "Baker", "battle_girl": "Battle Girl", "beauty": "Beauty", + "beginners": "Beginners", "biker": "Biker", "black_belt": "Black Belt", "breeder": "Breeder", "breeder_female": "Breeder", + "breeders": "Breeders", "clerk": "Clerk", "clerk_female": "Clerk", + "colleagues": "Colleagues", + "crush_kin": "Crush Kin", "cyclist": "Cyclist", "cyclist_female": "Cyclist", + "cyclists": "Cyclists", "dancer": "Dancer", "dancer_female": "Dancer", "depot_agent": "Depot Agent", @@ -39,6 +46,7 @@ export const trainerClasses: SimpleTranslationEntries = { "doctor_female": "Doctor", "fishermen": "Fishermen", "fishermen_female": "Fishermen", + "gentleman": "Gentleman", "guitarist": "Guitarist", "guitarist_female": "Guitarist", "harlequin": "Harlequin", @@ -52,6 +60,7 @@ export const trainerClasses: SimpleTranslationEntries = { "linebacker": "Linebacker", "maid": "Maid", "madame": "Madame", + "medical_team": "Medical Team", "musican": "Musician", "hex_maniac": "Hex Maniac", "nurse": "Nurse", @@ -59,28 +68,39 @@ export const trainerClasses: SimpleTranslationEntries = { "officer": "Officer", "parasol_lady": "Parasol Lady", "pilot": "Pilot", - "pokefan": "Poké Fan", + "poké_fan": "Poké Fan", + "poké_fan_family": "Poké Fan Family", "preschooler": "Preschooler", "preschooler_female": "Preschooler", + "preschoolers": "Preschoolers", "psychic": "Psychic", "psychic_female": "Psychic", + "psychics": "Psychics", + "pokémon_ranger": "Pokémon Ranger", + "pokémon_rangers": "Pokémon Ranger", "ranger": "Ranger", - "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich - "rich_kid": "Rich Boy", + "restaurant_staff": "Restaurant Staff", + "rich_boy": "Rich Boy", + "rich_couple": "Rich Couple", + "rich_kids": "Rich Kids", "roughneck": "Roughneck", "scientist": "Scientist", "scientist_female": "Scientist", + "scientists": "Scientists", "smasher": "Smasher", "snow_worker": "Snow Worker", "snow_worker_female": "Snow Worker", "striker": "Striker", "school_kid": "School Kid", "school_kid_female": "School Kid", + "school_kids": "School Kids", "swimmer": "Swimmer", "swimmer_female": "Swimmer", + "swimmers": "Swimmers", "twins": "Twins", "veteran": "Veteran", "veteran_female": "Veteran", + "veteran_duo": "Veteran Duo", "waiter": "Waiter", "waitress": "Waitress", "worker": "Worker", diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index 761e3f62635..0f67e860186 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -16,11 +16,13 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Topdresseur", "ace_trainer_female": "Topdresseuse", + "ace_duo": "Ace Duo", "artist": "Artiste", "artist_female": "Artiste", "backers": "Pompom Girls", "backpacker": "Randonneur", "backpacker_female": "Randonneuse", + "backpackers": "Backpackers", "baker": "Boulangère", "battle_girl": "Combattante", "beauty": "Canon", @@ -28,10 +30,13 @@ export const trainerClasses: SimpleTranslationEntries = { "black_belt": "Karatéka", "breeder": "Éleveur", "breeder_female": "Éleveuse", + "breeders": "Breeders", "clerk": "Employé", "clerk_female": "Employée", + "colleagues": "Colleagues", "cyclist": "Cycliste", "cyclist_female": "Cycliste", + "cyclists": "Cyclists", "dancer": "Danseur", "dancer_female": "Danseuse", "depot_agent": "Cheminot", @@ -39,6 +44,7 @@ export const trainerClasses: SimpleTranslationEntries = { "doctor_female": "Docteure", "fishermen": "Pêcheur", "fishermen_female": "Pêcheuse", + "gentleman": "Gentleman", "guitarist": "Guitariste", "guitarist_female": "Guitariste", "harlequin": "Clown", @@ -53,34 +59,46 @@ export const trainerClasses: SimpleTranslationEntries = { "maid": "Gouvernante", "madame": "Mondaine", "musican": "Musicien", + "medical_team": "Medical Team", "hex_maniac": "Hex Maniac", "nurse": " Infirmière", "nursery_aide": "Institutrice", "officer": "Policier", "parasol_lady": "Sœur Parasol", "pilot": "Pilote", - "pokefan": "Pokéfan", + "poké_fan": "Poké Fan", + "poké_fan_family": "Poké Fan Family", "preschooler": "Petit", "preschooler_female": "Petite", + "preschoolers": "Preschoolers", "psychic": "Kinésiste", "psychic_female": "Kinésiste", + "psychics": "Psychics", + "pokémon_ranger": "Pokémon Ranger", + "pokémon_rangers": "Pokémon Ranger", "ranger": "Ranger", - "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich - "rich_kid": "Richard", + "restaurant_staff": "Restaurant Staff", + "rich_boy": "Rich Boy", + "rich_couple": "Rich Couple", + "rich_kids": "Rich Kids", "roughneck": "Loubard", "scientist": "Scientifique", "scientist_female": "Scientifique", + "scientists": "Scientists", "smasher": "Tenniswoman", "snow_worker": "Ouvrier Alpin", "snow_worker_female": "Ouvrière Alpine", "striker": "Footballeur", "school_kid": "Élève", "school_kid_female": "Élève", + "school_kids": "School Kids", "swimmer": "Nageur", "swimmer_female": "Nageuse", + "swimmers": "Swimmers", "twins": "Jumelles", "veteran": "Vénérable", "veteran_female": "Vénérable", + "veteran_duo": "Veteran Duo", "waiter": "Serveur", "waitress": "Serveuse", "worker": "Ouvrier", diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts index a63b06242f9..c4acd85c44e 100644 --- a/src/locales/it/trainers.ts +++ b/src/locales/it/trainers.ts @@ -16,22 +16,29 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Ace Trainer", "ace_trainer_female": "Ace Trainer", + "ace_duo": "Ace Duo", "artist": "Artist", "artist_female": "Artist", "backers": "Backers", "backpacker": "Backpacker", "backpacker_female": "Backpacker", + "backpackers": "Backpackers", "baker": "Baker", "battle_girl": "Battle Girl", "beauty": "Beauty", + "beginners": "Beginners", "biker": "Biker", "black_belt": "Black Belt", "breeder": "Breeder", "breeder_female": "Breeder", + "breeders": "Breeders", "clerk": "Clerk", "clerk_female": "Clerk", + "colleagues": "Colleagues", + "crush_kin": "Crush Kin", "cyclist": "Cyclist", "cyclist_female": "Cyclist", + "cyclists": "Cyclists", "dancer": "Dancer", "dancer_female": "Dancer", "depot_agent": "Depot Agent", @@ -39,6 +46,7 @@ export const trainerClasses: SimpleTranslationEntries = { "doctor_female": "Doctor", "fishermen": "Fishermen", "fishermen_female": "Fishermen", + "gentleman": "Gentleman", "guitarist": "Guitarist", "guitarist_female": "Guitarist", "harlequin": "Harlequin", @@ -52,6 +60,7 @@ export const trainerClasses: SimpleTranslationEntries = { "linebacker": "Linebacker", "maid": "Maid", "madame": "Madame", + "medical_team": "Medical Team", "musican": "Musician", "hex_maniac": "Hex Maniac", "nurse": "Nurse", @@ -59,28 +68,39 @@ export const trainerClasses: SimpleTranslationEntries = { "officer": "Officer", "parasol_lady": "Parasol Lady", "pilot": "Pilot", - "pokefan": "Poké Fan", + "poké_fan": "Poké Fan", + "poké_fan_family": "Poké Fan Family", "preschooler": "Preschooler", "preschooler_female": "Preschooler", + "preschoolers": "Preschoolers", "psychic": "Psychic", "psychic_female": "Psychic", + "psychics": "Psychics", + "pokémon_ranger": "Pokémon Ranger", + "pokémon_rangers": "Pokémon Ranger", "ranger": "Ranger", - "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich - "rich_kid": "Rich Boy", + "restaurant_staff": "Restaurant Staff", + "rich_boy": "Rich Boy", + "rich_couple": "Rich Couple", + "rich_kids": "Rich Kids", "roughneck": "Roughneck", "scientist": "Scientist", "scientist_female": "Scientist", + "scientists": "Scientists", "smasher": "Smasher", "snow_worker": "Snow Worker", "snow_worker_female": "Snow Worker", "striker": "Striker", "school_kid": "School Kid", "school_kid_female": "School Kid", + "school_kids": "School Kids", "swimmer": "Swimmer", "swimmer_female": "Swimmer", + "swimmers": "Swimmers", "twins": "Twins", "veteran": "Veteran", "veteran_female": "Veteran", + "veteran_duo": "Veteran Duo", "waiter": "Waiter", "waitress": "Waitress", "worker": "Worker", diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts index b1f56e70ae4..9bc952ad833 100644 --- a/src/locales/pt_BR/trainers.ts +++ b/src/locales/pt_BR/trainers.ts @@ -16,8 +16,10 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Trinador Ás", "ace_trainer_female": "Trinadora Ás", + "ace_duo": "Ace Duo", "artist": "Artista", "artist_female": "Artista", + "backpackers": "Backpackers", "backers": "Torcedores", "backpacker": "Mochileiro", "backpacker_female": "Mochileira", @@ -28,10 +30,13 @@ export const trainerClasses: SimpleTranslationEntries = { "black_belt": "Faixa Preta", "breeder": "Criador", "breeder_female": "Criadora", + "breeders": "Breeders", "clerk": "Funcionário", "clerk_female": "Funcionária", + "colleagues": "Colleagues", "cyclist": "Ciclista", "cyclist_female": "Ciclista", + "cyclists": "Cyclists", "dancer": "Dançarino", "dancer_female": "Dançarina", "depot_agent": "Ferroviário", @@ -39,6 +44,7 @@ export const trainerClasses: SimpleTranslationEntries = { "doctor_female": "Doutora", "fishermen": "Pescador", "fishermen_female": "Pescadora", + "gentleman": "Gentleman", "guitarist": "Guitarrista", "guitarist_female": "Guitarrista", "harlequin": "Arlequim", @@ -53,34 +59,46 @@ export const trainerClasses: SimpleTranslationEntries = { "maid": "Doméstica", "madame": "Madame", "musican": "Músico", + "medical_team": "Medical Team", "hex_maniac": "Ocultista", "nurse": "Enfermeira", "nursery_aide": "Professora do Berçário", "officer": "Policial", "parasol_lady": "Moça de Sombrinha", "pilot": "Piloto", - "pokefan": "Pokefã", + "poké_fan": "Pokefã", + "poké_fan_family": "Poké Fan Family", "preschooler": "Menino do Prezinho", "preschooler_female": "Menina do Prezinho", + "preschoolers": "Preschoolers", "psychic": "Médium", "psychic_female": "Médium", + "psychics": "Psychics", + "pokémon_ranger": "Pokémon Ranger", + "pokémon_rangers": "Pokémon Ranger", "ranger": "Guarda", - "rich": "Cavalheira", // Gentleman is the english name but the trainerType is rich - "rich_kid": "Riquinho", + "restaurant_staff": "Restaurant Staff", + "rich_boy": "Rich Boy", + "rich_couple": "Rich Couple", + "rich_kids": "Rich Kids", "roughneck": "Arruaceiro", "scientist": "Cientista", "scientist_female": "Cientista", + "scientists": "Scientists", "smasher": "Tenista", "snow_worker": "Operário da Neve", "snow_worker_female": "Operária da Neve", "striker": "Atacante", "school_kid": "Estudante", "school_kid_female": "Estudante", + "school_kids": "School Kids", "swimmer": "Nadador", "swimmer_female": "Nadadora", + "swimmers": "Swimmers", "twins": "Gêmeos", "veteran": "Veterano", "veteran_female": "Veterana", + "veteran_duo": "Veteran Duo", "waiter": "Garçom", "waitress": "Garçonete", "worker": "Operário", diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts index 2a9af843870..c4acd85c44e 100644 --- a/src/locales/zh_CN/trainers.ts +++ b/src/locales/zh_CN/trainers.ts @@ -16,22 +16,29 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Ace Trainer", "ace_trainer_female": "Ace Trainer", + "ace_duo": "Ace Duo", "artist": "Artist", "artist_female": "Artist", "backers": "Backers", "backpacker": "Backpacker", "backpacker_female": "Backpacker", + "backpackers": "Backpackers", "baker": "Baker", "battle_girl": "Battle Girl", "beauty": "Beauty", + "beginners": "Beginners", "biker": "Biker", "black_belt": "Black Belt", "breeder": "Breeder", "breeder_female": "Breeder", + "breeders": "Breeders", "clerk": "Clerk", "clerk_female": "Clerk", + "colleagues": "Colleagues", + "crush_kin": "Crush Kin", "cyclist": "Cyclist", "cyclist_female": "Cyclist", + "cyclists": "Cyclists", "dancer": "Dancer", "dancer_female": "Dancer", "depot_agent": "Depot Agent", @@ -39,6 +46,7 @@ export const trainerClasses: SimpleTranslationEntries = { "doctor_female": "Doctor", "fishermen": "Fishermen", "fishermen_female": "Fishermen", + "gentleman": "Gentleman", "guitarist": "Guitarist", "guitarist_female": "Guitarist", "harlequin": "Harlequin", @@ -52,6 +60,7 @@ export const trainerClasses: SimpleTranslationEntries = { "linebacker": "Linebacker", "maid": "Maid", "madame": "Madame", + "medical_team": "Medical Team", "musican": "Musician", "hex_maniac": "Hex Maniac", "nurse": "Nurse", @@ -59,28 +68,39 @@ export const trainerClasses: SimpleTranslationEntries = { "officer": "Officer", "parasol_lady": "Parasol Lady", "pilot": "Pilot", - "pokefan": "Poké Fan", + "poké_fan": "Poké Fan", + "poké_fan_family": "Poké Fan Family", "preschooler": "Preschooler", "preschooler_female": "Preschooler", + "preschoolers": "Preschoolers", "psychic": "Psychic", "psychic_female": "Psychic", + "psychics": "Psychics", + "pokémon_ranger": "Pokémon Ranger", + "pokémon_rangers": "Pokémon Ranger", "ranger": "Ranger", - "rich": "Gentleman", // Gentleman is the english name but the trainerType is rich - "rich_kid": "Rich Boy", + "restaurant_staff": "Restaurant Staff", + "rich_boy": "Rich Boy", + "rich_couple": "Rich Couple", + "rich_kids": "Rich Kids", "roughneck": "Roughneck", "scientist": "Scientist", "scientist_female": "Scientist", + "scientists": "Scientists", "smasher": "Smasher", "snow_worker": "Snow Worker", "snow_worker_female": "Snow Worker", "striker": "Striker", "school_kid": "School Kid", "school_kid_female": "School Kid", + "school_kids": "School Kids", "swimmer": "Swimmer", "swimmer_female": "Swimmer", + "swimmers": "Swimmers", "twins": "Twins", "veteran": "Veteran", "veteran_female": "Veteran", + "veteran_duo": "Veteran Duo", "waiter": "Waiter", "waitress": "Waitress", "worker": "Worker", @@ -214,5 +234,6 @@ export const trainerNames: SimpleTranslationEntries = { "nemona": "Nemona", "kieran": "Kieran", "leon": "Leon", - "rival": "Rival", + "rival": "Finn", + "rival_female": "Ivy", } as const; From f1e97f3b38157409e44088770397238ec0fbf709 Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Thu, 16 May 2024 13:09:12 +0200 Subject: [PATCH 26/84] Added difference between the "x want to fight" for double and single battle since in some languages it needs to be (like german) (#966) --- src/locales/de/battle.ts | 1 + src/locales/en/battle.ts | 1 + src/locales/es/battle.ts | 1 + src/locales/fr/battle.ts | 1 + src/locales/it/battle.ts | 1 + src/locales/pt_BR/battle.ts | 1 + src/locales/zh_CN/battle.ts | 1 + src/phases.ts | 11 +++++++++-- 8 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/locales/de/battle.ts b/src/locales/de/battle.ts index 687c60129cc..5504e541be0 100644 --- a/src/locales/de/battle.ts +++ b/src/locales/de/battle.ts @@ -3,6 +3,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "{{bossName}} erscheint.", "trainerAppeared": "{{trainerName}}\nmöchte kämpfen!", + "trainerAppearedDouble": "{{trainerName}}\nmöchten kämpfen!", "singleWildAppeared": "Ein wildes {{pokemonName}} erscheint!", "multiWildAppeared": "Ein wildes {{pokemonName1}}\nund {{pokemonName2}} erscheinen!", "playerComeBack": "Komm zurück, {{pokemonName}}!", diff --git a/src/locales/en/battle.ts b/src/locales/en/battle.ts index 0162f2922af..a6ed2fabc64 100644 --- a/src/locales/en/battle.ts +++ b/src/locales/en/battle.ts @@ -3,6 +3,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "{{bossName}} appeared.", "trainerAppeared": "{{trainerName}}\nwould like to battle!", + "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!", "singleWildAppeared": "A wild {{pokemonName}} appeared!", "multiWildAppeared": "A wild {{pokemonName1}}\nand {{pokemonName2}} appeared!", "playerComeBack": "Come back, {{pokemonName}}!", diff --git a/src/locales/es/battle.ts b/src/locales/es/battle.ts index 5b4b696a9d2..5715c58ece0 100644 --- a/src/locales/es/battle.ts +++ b/src/locales/es/battle.ts @@ -3,6 +3,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "¡{{bossName}} te corta el paso!", "trainerAppeared": "¡{{trainerName}}\nte desafía!", + "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!", "singleWildAppeared": "¡Un {{pokemonName}} salvaje te corta el paso!", "multiWildAppeared": "¡Un {{pokemonName1}} y un {{pokemonName2}} salvajes\nte cortan el paso!", "playerComeBack": "¡{{pokemonName}}, ven aquí!", diff --git a/src/locales/fr/battle.ts b/src/locales/fr/battle.ts index a76cc9cdeaf..27948f3a6a1 100644 --- a/src/locales/fr/battle.ts +++ b/src/locales/fr/battle.ts @@ -3,6 +3,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "Un {{bossName}} apparaît.", "trainerAppeared": "Un combat est lancé\npar {{trainerName}} !", + "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!", "singleWildAppeared": "Un {{pokemonName}} sauvage apparaît !", "multiWildAppeared": "Un {{pokemonName1}} et un {{pokemonName2}}\nsauvages apparaissent !", "playerComeBack": "{{pokemonName}}, on change !\nReviens !", diff --git a/src/locales/it/battle.ts b/src/locales/it/battle.ts index 702ec0708ef..3eff2493ed6 100644 --- a/src/locales/it/battle.ts +++ b/src/locales/it/battle.ts @@ -3,6 +3,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "{{bossName}} è apparso.", "trainerAppeared": "{{trainerName}}\nvuole combattere!", + "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!", "singleWildAppeared": "Appare {{pokemonName}} selvatico!", "multiWildAppeared": "Appaiono {{pokemonName1}}\ne {{pokemonName2}} salvatici!", "playerComeBack": "Rientra, {{pokemonName}}!", diff --git a/src/locales/pt_BR/battle.ts b/src/locales/pt_BR/battle.ts index 39f889deeac..8d8ce72ef67 100644 --- a/src/locales/pt_BR/battle.ts +++ b/src/locales/pt_BR/battle.ts @@ -3,6 +3,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "{{bossName}} apareceu.", "trainerAppeared": "{{trainerName}}\nquer batalhar!", + "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!", "singleWildAppeared": "Um {{pokemonName}} selvagem apareceu!", "multiWildAppeared": "Um {{pokemonName1}} e um {{pokemonName2}} selvagens\napareceram!", "playerComeBack": "{{pokemonName}}, retorne!", diff --git a/src/locales/zh_CN/battle.ts b/src/locales/zh_CN/battle.ts index f99e2ddc76a..cf58add1d6d 100644 --- a/src/locales/zh_CN/battle.ts +++ b/src/locales/zh_CN/battle.ts @@ -3,6 +3,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "{{bossName}} 出现了。", "trainerAppeared": "{{trainerName}}\n想要和你对战!", + "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!", "singleWildAppeared": "一只野生 {{pokemonName}} 出现了。!", "multiWildAppeared": "野生的 {{pokemonName1}}\n和 {{pokemonName2}} 出现了。!", "playerComeBack": "回来吧, {{pokemonName}}!", diff --git a/src/phases.ts b/src/phases.ts index 90039502c30..f44b4bcaa0b 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -841,8 +841,15 @@ export class EncounterPhase extends BattlePhase { if (this.scene.currentBattle.battleSpec === BattleSpec.FINAL_BOSS) return i18next.t('battle:bossAppeared', {bossName: enemyField[0].name}); - if (this.scene.currentBattle.battleType === BattleType.TRAINER) - return i18next.t('battle:trainerAppeared', {trainerName: this.scene.currentBattle.trainer.getName(TrainerSlot.NONE, true)}); + if (this.scene.currentBattle.battleType === BattleType.TRAINER) { + if (this.scene.currentBattle.double) { + return i18next.t('battle:trainerAppearedDouble', {trainerName: this.scene.currentBattle.trainer.getName(TrainerSlot.NONE, true)}); + + } + else { + return i18next.t('battle:trainerAppeared', {trainerName: this.scene.currentBattle.trainer.getName(TrainerSlot.NONE, true)}); + } + } return enemyField.length === 1 ? i18next.t('battle:singleWildAppeared', {pokemonName: enemyField[0].name}) From 55105bf79ab4d12adbb0b3f16447ca46802fe665 Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Thu, 16 May 2024 13:10:20 +0200 Subject: [PATCH 27/84] Fixes that brocks name is undefined (#967) * Brock now has a name againg (we check if i18 is initialized before localising elite4,champs and gym leaders * Removed console log --- src/data/trainer-config.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index 0556a4df95a..712cd13a38d 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -399,6 +399,9 @@ export class TrainerConfig { } initForGymLeader(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig { + if (!getIsInitialized()) { + initI18n(); + } this.setPartyTemplateFunc(getGymLeaderPartyTemplate); signatureSpecies.forEach((speciesPool, s) => { @@ -431,7 +434,9 @@ export class TrainerConfig { } initForEliteFour(signatureSpecies: (Species | Species[])[], ...specialtyTypes: Type[]): TrainerConfig { - + if (!getIsInitialized()) { + initI18n(); + } this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR); signatureSpecies.forEach((speciesPool, s) => { @@ -459,7 +464,9 @@ export class TrainerConfig { } initForChampion(signatureSpecies: (Species | Species[])[]): TrainerConfig { - + if (!getIsInitialized()) { + initI18n(); + } this.setPartyTemplates(trainerPartyTemplates.CHAMPION); signatureSpecies.forEach((speciesPool, s) => { if (!Array.isArray(speciesPool)) From 0e8431386254061b15bc8aa02a56d1f783e35722 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Thu, 16 May 2024 13:11:00 +0200 Subject: [PATCH 28/84] Update French trainers.ts (#965) --- src/locales/fr/trainers.ts | 40 +++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index 0f67e860186..826daa7deb2 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -16,13 +16,13 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Topdresseur", "ace_trainer_female": "Topdresseuse", - "ace_duo": "Ace Duo", + "ace_duo": "Topdresseurs", "artist": "Artiste", "artist_female": "Artiste", "backers": "Pompom Girls", "backpacker": "Randonneur", "backpacker_female": "Randonneuse", - "backpackers": "Backpackers", + "backpackers": "Randonneurs", "baker": "Boulangère", "battle_girl": "Combattante", "beauty": "Canon", @@ -30,13 +30,13 @@ export const trainerClasses: SimpleTranslationEntries = { "black_belt": "Karatéka", "breeder": "Éleveur", "breeder_female": "Éleveuse", - "breeders": "Breeders", + "breeders": "Éleveurs", "clerk": "Employé", "clerk_female": "Employée", - "colleagues": "Colleagues", + "colleagues": "Collègues de Bureau", "cyclist": "Cycliste", "cyclist_female": "Cycliste", - "cyclists": "Cyclists", + "cyclists": "Cyclistes", "dancer": "Danseur", "dancer_female": "Danseuse", "depot_agent": "Cheminot", @@ -59,46 +59,46 @@ export const trainerClasses: SimpleTranslationEntries = { "maid": "Gouvernante", "madame": "Mondaine", "musican": "Musicien", - "medical_team": "Medical Team", - "hex_maniac": "Hex Maniac", - "nurse": " Infirmière", + "medical_team": "Médecins", + "hex_maniac": "Mystimaniac", + "nurse": "Infirmière", "nursery_aide": "Institutrice", "officer": "Policier", "parasol_lady": "Sœur Parasol", "pilot": "Pilote", "poké_fan": "Poké Fan", - "poké_fan_family": "Poké Fan Family", + "poké_fan_family": "Couple de Pokéfans", "preschooler": "Petit", "preschooler_female": "Petite", - "preschoolers": "Preschoolers", + "preschoolers": "Petits", "psychic": "Kinésiste", "psychic_female": "Kinésiste", - "psychics": "Psychics", + "psychics": "Kinésistes", "pokémon_ranger": "Pokémon Ranger", - "pokémon_rangers": "Pokémon Ranger", + "pokémon_rangers": "Pokémon Rangers", "ranger": "Ranger", - "restaurant_staff": "Restaurant Staff", - "rich_boy": "Rich Boy", - "rich_couple": "Rich Couple", - "rich_kids": "Rich Kids", + "restaurant_staff": "Serveurs", + "rich_boy": "Richard", + "rich_couple": "Couple de Bourgeois", + "rich_kids": "Richards", "roughneck": "Loubard", "scientist": "Scientifique", "scientist_female": "Scientifique", - "scientists": "Scientists", + "scientists": "Scientifiques", "smasher": "Tenniswoman", "snow_worker": "Ouvrier Alpin", "snow_worker_female": "Ouvrière Alpine", "striker": "Footballeur", "school_kid": "Élève", "school_kid_female": "Élève", - "school_kids": "School Kids", + "school_kids": "Élèves", "swimmer": "Nageur", "swimmer_female": "Nageuse", - "swimmers": "Swimmers", + "swimmers": "Nageurs", "twins": "Jumelles", "veteran": "Vénérable", "veteran_female": "Vénérable", - "veteran_duo": "Veteran Duo", + "veteran_duo": "Vénérables", "waiter": "Serveur", "waitress": "Serveuse", "worker": "Ouvrier", From 364b19df5d55901e431eb7943496fdddf0d7fbd4 Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Thu, 16 May 2024 13:33:21 +0200 Subject: [PATCH 29/84] =?UTF-8?q?Added=20localisation=20for=20workers=20cl?= =?UTF-8?q?ass=20to=20all=20languages=20but=20german=20(whi=E2=80=A6=20(#9?= =?UTF-8?q?68)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added localisation for workers class to all languages but german (which already had it...) * Added missing entries to fr and br. Now they all have the same keys. --- src/locales/de/trainers.ts | 2 -- src/locales/en/trainers.ts | 1 + src/locales/es/trainers.ts | 1 + src/locales/fr/trainers.ts | 3 +++ src/locales/it/trainers.ts | 1 + src/locales/pt_BR/trainers.ts | 3 +++ src/locales/zh_CN/trainers.ts | 1 + 7 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/locales/de/trainers.ts b/src/locales/de/trainers.ts index 99e352b89ea..90d6cbf20b1 100644 --- a/src/locales/de/trainers.ts +++ b/src/locales/de/trainers.ts @@ -107,8 +107,6 @@ export const trainerClasses: SimpleTranslationEntries = { "worker_female": "Arbeiterin", "workers": "Arbeiter", "youngster": "Knirps" - - } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts index c4acd85c44e..a02383a4f54 100644 --- a/src/locales/en/trainers.ts +++ b/src/locales/en/trainers.ts @@ -105,6 +105,7 @@ export const trainerClasses: SimpleTranslationEntries = { "waitress": "Waitress", "worker": "Worker", "worker_female": "Worker", + "workers": "Workers", "youngster": "Youngster" } as const; diff --git a/src/locales/es/trainers.ts b/src/locales/es/trainers.ts index c4acd85c44e..a02383a4f54 100644 --- a/src/locales/es/trainers.ts +++ b/src/locales/es/trainers.ts @@ -105,6 +105,7 @@ export const trainerClasses: SimpleTranslationEntries = { "waitress": "Waitress", "worker": "Worker", "worker_female": "Worker", + "workers": "Workers", "youngster": "Youngster" } as const; diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index 826daa7deb2..fb3f46525a5 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -26,6 +26,7 @@ export const trainerClasses: SimpleTranslationEntries = { "baker": "Boulangère", "battle_girl": "Combattante", "beauty": "Canon", + "beginners": "Beginners", "biker": "Motard", "black_belt": "Karatéka", "breeder": "Éleveur", @@ -34,6 +35,7 @@ export const trainerClasses: SimpleTranslationEntries = { "clerk": "Employé", "clerk_female": "Employée", "colleagues": "Collègues de Bureau", + "crush_kin": "Crush Kin", "cyclist": "Cycliste", "cyclist_female": "Cycliste", "cyclists": "Cyclistes", @@ -103,6 +105,7 @@ export const trainerClasses: SimpleTranslationEntries = { "waitress": "Serveuse", "worker": "Ouvrier", "worker_female": "Ouvrière", + "workers": "Workers", "youngster": "Gamin" } as const; diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts index c4acd85c44e..a02383a4f54 100644 --- a/src/locales/it/trainers.ts +++ b/src/locales/it/trainers.ts @@ -105,6 +105,7 @@ export const trainerClasses: SimpleTranslationEntries = { "waitress": "Waitress", "worker": "Worker", "worker_female": "Worker", + "workers": "Workers", "youngster": "Youngster" } as const; diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts index 9bc952ad833..7c12814dfae 100644 --- a/src/locales/pt_BR/trainers.ts +++ b/src/locales/pt_BR/trainers.ts @@ -26,6 +26,7 @@ export const trainerClasses: SimpleTranslationEntries = { "baker": "Padeira", "battle_girl": "Lutadora", "beauty": "Modelo", + "beginners": "Beginners", "biker": "Motoqueiro", "black_belt": "Faixa Preta", "breeder": "Criador", @@ -34,6 +35,7 @@ export const trainerClasses: SimpleTranslationEntries = { "clerk": "Funcionário", "clerk_female": "Funcionária", "colleagues": "Colleagues", + "crush_kin": "Crush Kin", "cyclist": "Ciclista", "cyclist_female": "Ciclista", "cyclists": "Cyclists", @@ -103,6 +105,7 @@ export const trainerClasses: SimpleTranslationEntries = { "waitress": "Garçonete", "worker": "Operário", "worker_female": "Operária", + "workers": "Workers", "youngster": "Jovem", } as const; diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts index c4acd85c44e..a02383a4f54 100644 --- a/src/locales/zh_CN/trainers.ts +++ b/src/locales/zh_CN/trainers.ts @@ -105,6 +105,7 @@ export const trainerClasses: SimpleTranslationEntries = { "waitress": "Waitress", "worker": "Worker", "worker_female": "Worker", + "workers": "Workers", "youngster": "Youngster" } as const; From 2aa918074551cf9cf0e14d99a820552d6ddff539 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Thu, 16 May 2024 13:54:39 +0200 Subject: [PATCH 30/84] Update French battle.ts (#969) --- src/locales/fr/battle.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/locales/fr/battle.ts b/src/locales/fr/battle.ts index 27948f3a6a1..827cea6b2d7 100644 --- a/src/locales/fr/battle.ts +++ b/src/locales/fr/battle.ts @@ -1,12 +1,12 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { - "bossAppeared": "Un {{bossName}} apparaît.", + "bossAppeared": "Un {{bossName}} apparait.", "trainerAppeared": "Un combat est lancé\npar {{trainerName}} !", - "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!", - "singleWildAppeared": "Un {{pokemonName}} sauvage apparaît !", + "trainerAppearedDouble": "Un combat est lancé\npar {{trainerName}} !", + "singleWildAppeared": "Un {{pokemonName}} sauvage apparait !", "multiWildAppeared": "Un {{pokemonName1}} et un {{pokemonName2}}\nsauvages apparaissent !", - "playerComeBack": "{{pokemonName}}, on change !\nReviens !", + "playerComeBack": "{{pokemonName}} !\nReviens !", "trainerComeBack": "{{trainerName}} retire {{pokemonName}} !", "playerGo": "{{pokemonName}} ! Go !", "trainerGo": "{{pokemonName}} est envoyé par\n{{trainerName}} !", From 8d83417ceeba6bd8680cd634c64ab32fda375191 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Thu, 16 May 2024 13:55:00 +0200 Subject: [PATCH 31/84] Update French trainers.ts (#970) --- src/locales/fr/trainers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index fb3f46525a5..146a2766f37 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -105,7 +105,7 @@ export const trainerClasses: SimpleTranslationEntries = { "waitress": "Serveuse", "worker": "Ouvrier", "worker_female": "Ouvrière", - "workers": "Workers", + "workers": "Ouvriers", "youngster": "Gamin" } as const; From ff086ca4926bb090ac54a043ec02faddfbce753a Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Thu, 16 May 2024 07:07:23 -0500 Subject: [PATCH 32/84] Adjust all Existing Comments to Match Adjusted all existing comments on move.ts to match --- .gitignore | 3 + src/data/move.ts | 183 +++++++++++++++++++++++++++-------------------- 2 files changed, 108 insertions(+), 78 deletions(-) diff --git a/.gitignore b/.gitignore index 55f9203a81d..d4fd3762cb4 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,9 @@ dist-ssr *.sln *.sw? +# Docummentation +docs/* + public/images/trainer/convert/* public/images/battle_anims/input/*.png public/images/pokemon/input/*.png diff --git a/src/data/move.ts b/src/data/move.ts index 5f255d0fd51..81e6c8f8566 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -1,6 +1,6 @@ import { Moves } from "./enums/moves"; import { ChargeAnim, MoveChargeAnim, initMoveAnim, loadMoveAnimAssets } from "./battle-anims"; -import { BattleEndPhase, MovePhase, NewBattlePhase, PartyStatusCurePhase, PokemonHealPhase, StatChangePhase, SwitchSummonPhase } from "../phases"; +import { BattleEndPhase, MoveEffectPhase, MovePhase, NewBattlePhase, PartyStatusCurePhase, PokemonHealPhase, StatChangePhase, SwitchSummonPhase } from "../phases"; import { BattleStat, getBattleStatName } from "./battle-stat"; import { EncoreTag } from "./battler-tags"; import { BattlerTagType } from "./enums/battler-tag-type"; @@ -33,20 +33,26 @@ export enum MoveCategory { } export enum MoveTarget { + /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_target_the_user Moves that target the User} */ USER, OTHER, ALL_OTHERS, NEAR_OTHER, + /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_target_all_adjacent_Pok%C3%A9mon Moves that target all adjacent Pokemon} */ ALL_NEAR_OTHERS, NEAR_ENEMY, + /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_target_all_adjacent_foes Moves that taret all adjacent foes} */ ALL_NEAR_ENEMIES, RANDOM_NEAR_ENEMY, ALL_ENEMIES, + /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Counterattacks Counterattacks} */ ATTACKER, + /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_target_one_adjacent_ally Moves that target one adjacent ally} */ NEAR_ALLY, ALLY, USER_OR_NEAR_ALLY, USER_AND_ALLIES, + /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_target_all_Pok%C3%A9mon Moves that target all Pokemon} */ ALL, USER_SIDE, ENEMY_SIDE, @@ -67,8 +73,8 @@ export enum MoveFlags { PUNCHING_MOVE = 1 << 8, SLICING_MOVE = 1 << 9, /** - * Indicates a move should be affected by {@link Abilities.RECKLESS} - * @see {@link Move.recklessMove()} + * Indicates a move should be affected by {@linkcode Abilities.RECKLESS} + * @see {@linkcode Move.recklessMove()} */ RECKLESS_MOVE = 1 << 10, BALLBOMB_MOVE = 1 << 11, @@ -277,10 +283,10 @@ export default class Move implements Localizable { } /** - * Sets the {@link MoveFlags.RECKLESS_MOVE} flag for the calling Move - * @see {@link Abilities.RECKLESS} - * @param {boolean} recklessMove The value to set the flag to - * @returns {Move} The {@link Move} that called this function + * Sets the {@linkcode MoveFlags.RECKLESS_MOVE} flag for the calling Move + * @see {@linkcode Abilities.RECKLESS} + * @param recklessMove The value to set the flag to + * @returns The {@linkcode Move} that called this function */ recklessMove(recklessMove?: boolean): this { this.setFlag(MoveFlags.RECKLESS_MOVE, recklessMove); @@ -435,11 +441,12 @@ export class SelfStatusMove extends Move { } /** - * Base class defining all {@link Move} Attributes + * Base class defining all {@linkcode Move} Attributes * @abstract + * @see {@linkcode apply} */ export abstract class MoveAttr { - /** Should this {@link Move} target the user? */ + /** Should this {@linkcode Move} target the user? */ public selfTarget: boolean; constructor(selfTarget: boolean = false) { @@ -448,13 +455,13 @@ export abstract class MoveAttr { /** * Applies move attributes - * @see {@link applyMoveAttrsInternal} + * @see {@linkcode applyMoveAttrsInternal} * @virtual - * @param user The {@link Pokemon} using the move - * @param target The target {@link Pokemon} of the move - * @param move The {@link Move} being used + * @param user {@linkcode Pokemon} using the move + * @param target {@linkcode Pokemon} target of the move + * @param move {@linkcode Move} with this attribute * @param args Set of unique arguments needed by this attribute - * @returns true if the application succeeds + * @returns true if application of the ability succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean | Promise { return true; @@ -462,7 +469,7 @@ export abstract class MoveAttr { /** * @virtual - * @returns the {@link MoveCondition} or {@link MoveConditionFunc} for this {@link Move} + * @returns the {@linkcode MoveCondition} or {@linkcode MoveConditionFunc} for this {@linkcode Move} */ getCondition(): MoveCondition | MoveConditionFunc { return null; @@ -470,11 +477,11 @@ export abstract class MoveAttr { /** * @virtual - * @param user The {@link Pokemon} using the move - * @param target The target {@link Pokemon} of the move - * @param move The {@link Move} being used - * @param cancelled A {@link Utils.BooleanHolder} which stores if the move should fail - * @returns the string representing failure of this {@link Move} + * @param user {@linkcode Pokemon} using the move + * @param target {@linkcode Pokemon} target of the move + * @param move {@linkcode Move} with this attribute + * @param cancelled {@linkcode Utils.BooleanHolder} which stores if the move should fail + * @returns the string representing failure of this {@linkcode Move} */ getFailedText(user: Pokemon, target: Pokemon, move: Move, cancelled: Utils.BooleanHolder): string | null { return null; @@ -482,7 +489,7 @@ export abstract class MoveAttr { /** * Used by the Enemy AI to rank an attack based on a given user - * @see {@link EnemyPokemon.getNextMove} + * @see {@linkcode EnemyPokemon.getNextMove} * @virtual */ getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer { @@ -491,7 +498,7 @@ export abstract class MoveAttr { /** * Used by the Enemy AI to rank an attack based on a given target - * @see {@link EnemyPokemon.getNextMove} + * @see {@linkcode EnemyPokemon.getNextMove} * @virtual */ getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer { @@ -509,9 +516,14 @@ export enum MoveEffectTrigger { /** Base class defining all Move Effect Attributes * @extends MoveAttr + * @see {@linkcode apply} */ export class MoveEffectAttr extends MoveAttr { + /** Defines when this effect should trigger in the move's effect order + * @see {@linkcode MoveEffectPhase.start} + */ public trigger: MoveEffectTrigger; + /** Should this effect only apply on the first hit? */ public firstHitOnly: boolean; constructor(selfTarget?: boolean, trigger?: MoveEffectTrigger, firstHitOnly: boolean = false) { @@ -521,20 +533,20 @@ export class MoveEffectAttr extends MoveAttr { } /** - * Determines whether the {@link Move}'s effects are valid to {@link apply} + * Determines whether the {@linkcode Move}'s effects are valid to {@linkcode apply} * @virtual - * @param user The {@link Pokemon} using the move - * @param target The target {@link Pokemon} of the move - * @param move The {@link Move} being used + * @param user {@linkcode Pokemon} using the move + * @param target {@linkcode Pokemon} target of the move + * @param move {@linkcode Move} with this attribute * @param args Set of unique arguments needed by this attribute - * @returns true if the application succeeds + * @returns true if basic application of the ability attribute should be possible */ canApply(user: Pokemon, target: Pokemon, move: Move, args: any[]) { - return !!(this.selfTarget ? user.hp && !user.getTag(BattlerTagType.FRENZY) : target.hp) - && (this.selfTarget || !target.getTag(BattlerTagType.PROTECTED) || move.hasFlag(MoveFlags.IGNORE_PROTECT)); + return !! (this.selfTarget ? user.hp && !user.getTag(BattlerTagType.FRENZY) : target.hp) + && (this.selfTarget || !target.getTag(BattlerTagType.PROTECTED) || move.hasFlag(MoveFlags.IGNORE_PROTECT)); } - /** Applies move effects so long as they are able based on {@link canApply} */ + /** Applies move effects so long as they are able based on {@linkcode canApply} */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean | Promise { return this.canApply(user, target, move, args); } @@ -792,7 +804,7 @@ export class RecoilAttr extends MoveEffectAttr { /** * Attribute used for moves which self KO the user regardless if the move hits a target * @extends MoveEffectAttr - * @see {@link apply} + * @see {@linkcode apply} **/ export class SacrificialAttr extends MoveEffectAttr { constructor() { @@ -801,9 +813,9 @@ export class SacrificialAttr extends MoveEffectAttr { /** * Deals damage to the user equal to their current hp - * @param user Pokemon that used the move - * @param target The target of the move - * @param move Move with this attribute + * @param user {@linkcode Pokemon} that used the move + * @param target {@linkcode Pokemon} target of the move + * @param move {@linkcode Move} with this attribute * @param args N/A * @returns true if the function succeeds **/ @@ -824,7 +836,7 @@ export class SacrificialAttr extends MoveEffectAttr { /** * Attribute used for moves which self KO the user but only if the move hits a target * @extends MoveEffectAttr - * @see {@link apply} + * @see {@linkcode apply} **/ export class SacrificialAttrOnHit extends MoveEffectAttr { constructor() { @@ -833,14 +845,13 @@ export class SacrificialAttrOnHit extends MoveEffectAttr { /** * Deals damage to the user equal to their current hp if the move lands - * @param user Pokemon that used the move - * @param target The target of the move - * @param move Move with this attribute + * @param user {@linkcode Pokemon} that used the move + * @param target {@linkcode Pokemon} target of the move + * @param move {@linkcode Move} with this attribute * @param args N/A * @returns true if the function succeeds **/ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - // If the move fails to hit a target, then the user does not faint and the function returns false if (!super.apply(user, target, move, args)) return false; @@ -860,7 +871,9 @@ export class SacrificialAttrOnHit extends MoveEffectAttr { /** * Attribute used for moves which cut the user's Max HP in half. - * Triggers using POST_TARGET. + * Triggers using {@linkcode MoveEffectTrigger.POST_TARGET}. + * @extends MoveEffectAttr + * @see {@linkcode apply} */ export class HalfSacrificialAttr extends MoveEffectAttr { constructor() { @@ -869,9 +882,9 @@ export class HalfSacrificialAttr extends MoveEffectAttr { /** * Cut's the user's Max HP in half and displays the appropriate recoil message - * @param user Pokemon that used the move + * @param user {@linkcode Pokemon} that used the move * @param target N/A - * @param move Move with this attribute + * @param move {@linkcode Move} with this attribute * @param args N/A * @returns true if the function succeeds */ @@ -905,12 +918,12 @@ export enum MultiHitType { } /** - * Heals the user or target by {@link healRatio} depending on the value of {@link selfTarget} + * Heals the user or target by {@linkcode healRatio} depending on the value of {@linkcode selfTarget} * @extends MoveEffectAttr - * @see {@link apply} + * @see {@linkcode apply} */ export class HealAttr extends MoveEffectAttr { - /** The percentage of {@link Stat.HP} to heal */ + /** The percentage of {@linkcode Stat.HP} to heal */ private healRatio: number; /** Should an animation be shown? */ private showAnim: boolean; @@ -928,7 +941,7 @@ export class HealAttr extends MoveEffectAttr { } /** - * Creates a new {@link PokemonHealPhase}. + * Creates a new {@linkcode PokemonHealPhase}. * This heals the target and shows the appropriate message. */ addHealPhase(target: Pokemon, healRatio: number) { @@ -944,11 +957,13 @@ export class HealAttr extends MoveEffectAttr { /** * Cures the user's party of non-volatile status conditions, ie. Heal Bell, Aromatherapy - * @param {string} message Message to display after using move - * @param {Abilities} abilityCondition Skips mons with this ability, ie. Soundproof + * @extends MoveEffectAttr + * @see {@linkcode apply} */ export class PartyStatusCureAttr extends MoveEffectAttr { + /** Message to display after using move */ private message: string; + /** Skips mons with this ability, ie. Soundproof */ private abilityCondition: Abilities; constructor(message: string, abilityCondition: Abilities) { @@ -1000,19 +1015,23 @@ export class SacrificialFullRestoreAttr extends SacrificialAttr { /** * Attribute used for moves which ignore type-based debuffs from weather, namely Hydro Steam. * Called during damage calculation after getting said debuff from getAttackTypeMultiplier in the Pokemon class. + * @extends MoveAttr + * @see {@linkcode apply} */ export class IgnoreWeatherTypeDebuffAttr extends MoveAttr { + /** The {@linkcode WeatherType} this move ignores */ public weather: WeatherType; + constructor(weather: WeatherType){ super(); this.weather = weather; } /** * Changes the type-based weather modifier if this move's power would be reduced by it - * @param user Pokemon that used the move + * @param user {@linkcode Pokemon} that used the move * @param target N/A - * @param move Move with this attribute - * @param args [0] Utils.NumberHolder for arenaAttackTypeMultiplier + * @param move {@linkcode Move} with this attribute + * @param args [0] {@linkcode Utils.NumberHolder} for arenaAttackTypeMultiplier * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { @@ -1072,15 +1091,15 @@ export class SandHealAttr extends WeatherHealAttr { } /** - * Heals the target or the user by either {@link normalHealRatio} or {@link boostedHealRatio} - * depending on the evaluation of {@link condition} + * Heals the target or the user by either {@linkcode normalHealRatio} or {@linkcode boostedHealRatio} + * depending on the evaluation of {@linkcode condition} * @extends HealAttr - * @see {@link apply} + * @see {@linkcode apply} */ export class BoostHealAttr extends HealAttr { - /** Healing received when {@link condition} is false */ + /** Healing received when {@linkcode condition} is false */ private normalHealRatio?: number; - /** Healing received when {@link condition} is true */ + /** Healing received when {@linkcode condition} is true */ private boostedHealRatio?: number; /** The lambda expression to check against when boosting the healing value */ private condition?: MoveConditionFunc; @@ -1093,9 +1112,9 @@ export class BoostHealAttr extends HealAttr { } /** - * @param user The Pokemon using this move - * @param target The target Pokemon of this move - * @param move This move + * @param user {@linkcode Pokemon} using the move + * @param target {@linkcode Pokemon} target of the move + * @param move {@linkcode Move} with this attribute * @param args N/A * @returns true if the move was successful */ @@ -1464,15 +1483,17 @@ export class BypassSleepAttr extends MoveAttr { /** * Attribute used for moves that bypass the burn damage reduction of physical moves, currently only facade * Called during damage calculation - * @param user N/A - * @param target N/A - * @param move Move with this attribute - * @param args Utils.BooleanHolder for burnDamageReductionCancelled - * @returns true if the function succeeds + * @extends MoveAttr + * @see {@linkcode apply} */ export class BypassBurnDamageReductionAttr extends MoveAttr { - - /** Prevents the move's damage from being reduced by burn */ + /** Prevents the move's damage from being reduced by burn + * @param user N/A + * @param target N/A + * @param move {@linkcode Move} with this attribute + * @param args [0] {@linkcode Utils.BooleanHolder} for burnDamageReductionCancelled + * @returns true if the function succeeds + */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { (args[0] as Utils.BooleanHolder).value = true; @@ -2482,16 +2503,19 @@ export class ThunderAccuracyAttr extends VariableAccuracyAttr { /** * Attribute used for moves which never miss - * against Pokemon with the {@link BattlerTagType.MINIMIZED} - * @see {@link apply} - * @param user N/A - * @param target Target of the move - * @param move N/A - * @param args [0] Accuracy of the move to be modified - * @returns true if the function succeeds + * against Pokemon with the {@linkcode BattlerTagType.MINIMIZED} + * @extends VariableAccuracyAttr + * @see {@linkcode apply} */ -export class MinimizeAccuracyAttr extends VariableAccuracyAttr{ - +export class MinimizeAccuracyAttr extends VariableAccuracyAttr { + /** + * @see {@linkcode apply} + * @param user N/A + * @param target {@linkcode Pokemon} target of the move + * @param move N/A + * @param args [0] Accuracy of the move to be modified + * @returns true if the function succeeds + */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (target.getTag(BattlerTagType.MINIMIZED)){ const accuracy = args[0] as Utils.NumberHolder @@ -3259,11 +3283,14 @@ export class FaintCountdownAttr extends AddBattlerTagAttr { } } -/** Attribute used when a move hits a {@link BattlerTagType} for double damage */ +/** + * Attribute used when a move hits a {@linkcode BattlerTagType} for double damage + * @extends MoveAttr +*/ export class HitsTagAttr extends MoveAttr { - /** The {@link BattlerTagType} this move hits */ + /** The {@linkcode BattlerTagType} this move hits */ public tagType: BattlerTagType; - /** Should this move deal double damage against {@link HitsTagAttr.tagType}? */ + /** Should this move deal double damage against {@linkcode HitsTagAttr.tagType}? */ public doubleDamage: boolean; constructor(tagType: BattlerTagType, doubleDamage?: boolean) { From 8a8a2e128a8ca8630d66deeb7b22ef72bb5d3f60 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Thu, 16 May 2024 18:09:23 +0200 Subject: [PATCH 33/84] Corrections to French ability.ts (#979) --- src/locales/fr/ability.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/locales/fr/ability.ts b/src/locales/fr/ability.ts index 292467fcad6..49bfeb53acf 100644 --- a/src/locales/fr/ability.ts +++ b/src/locales/fr/ability.ts @@ -1109,7 +1109,7 @@ export const ability: AbilityTranslationEntries = { name: "Turbine Éolienne", description: "Si le Pokémon est touché par une capacité faisant appel au vent, il se charge en électricité.", }, - zerotoHero: { + zeroToHero: { name: "Supermutation", description: "Le Pokémon prend sa Forme Super en quittant le combat.", }, @@ -1129,23 +1129,23 @@ export const ability: AbilityTranslationEntries = { name: "Charge Quantique", description: "Quand un champ électrifié est actif ou que le Pokémon tient une capsule d’Énergie Booster, sa stat la plus élevée augmente.", }, - goodasGold: { + goodAsGold: { name: "Corps en Or", description: "Le corps en or pur et robuste du Pokémon l’immunise contre les capacités de statut des autres Pokémon.", }, - vesselofRuin: { + vesselOfRuin: { name: "Urne du Fléau", description: "Le pouvoir de l’urne qui appelle le fléau affaiblit l’Attaque Spéciale de tous les autres Pokémon.", }, - swordofRuin: { + swordOfRuin: { name: "Épée du Fléau", description: "Le pouvoir de l’épée qui appelle le fléau affaiblit la Défense de tous les autres Pokémon.", }, - tabletsofRuin: { + tabletsOfRuin: { name: "Bois du Fléau", description: "Le pouvoir du bois qui appelle le fléau affaiblit l’Attaque de tous les autres Pokémon.", }, - beadsofRuin: { + beadsOfRuin: { name: "Perles du Fléau", description: "Le pouvoir des perles qui appellent le fléau affaiblit la Défense Spéciale de tous les autres Pokémon.", }, From 192deae33e68803a1a42d12716ed809596957b3e Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Thu, 16 May 2024 22:39:09 +0200 Subject: [PATCH 34/84] Update italian modifier-type.ts (#989) --- src/locales/it/modifier-type.ts | 472 ++++++++++++++++---------------- 1 file changed, 236 insertions(+), 236 deletions(-) diff --git a/src/locales/it/modifier-type.ts b/src/locales/it/modifier-type.ts index 043d7a705d5..7f342309acf 100644 --- a/src/locales/it/modifier-type.ts +++ b/src/locales/it/modifier-type.ts @@ -4,320 +4,320 @@ export const modifierType: ModifierTypeTranslationEntries = { ModifierType: { "AddPokeballModifierType": { name: "{{modifierCount}}x {{pokeballName}}", - description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + description: "Ricevi {{pokeballName}} x{{modifierCount}} (Inventario: {{pokeballAmount}}) \nTasso di cattura: {{catchRate}}", }, "AddVoucherModifierType": { name: "{{modifierCount}}x {{voucherTypeName}}", - description: "Receive {{voucherTypeName}} x{{modifierCount}}", + description: "Ricevi {{voucherTypeName}} x{{modifierCount}}", }, "PokemonHeldItemModifierType": { extra: { - "inoperable": "{{pokemonName}} can't take\nthis item!", - "tooMany": "{{pokemonName}} has too many\nof this item!", + "inoperable": "{{pokemonName}} non può prendere\nquesto oggetto!", + "tooMany": "{{pokemonName}} ne ha troppi\ndi questo oggetto!", } }, "PokemonHpRestoreModifierType": { - description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + description: "Restituisce {{restorePoints}} PS o {{restorePercent}}% PS ad un Pokémon, a seconda del valore più alto", extra: { - "fully": "Fully restores HP for one Pokémon", - "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + "fully": "Restituisce tutti gli PS ad un Pokémon", + "fullyWithStatus": "Restituisce tutti gli PS ad un Pokémon e lo cura da ogni stato", } }, "PokemonReviveModifierType": { - description: "Revives one Pokémon and restores {{restorePercent}}% HP", + description: "Rianima un Pokémon esausto e gli restituisce il {{restorePercent}}% PS", }, "PokemonStatusHealModifierType": { - description: "Heals any status ailment for one Pokémon", + description: "Cura tutti i problemi di stato di un Pokémon", }, "PokemonPpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for one Pokémon move", + description: "Restituisce {{restorePoints}} PP per una mossa di un Pokémon ", extra: { - "fully": "Restores all PP for one Pokémon move", + "fully": "Restituisce tutti i PP di una mossa", } }, "PokemonAllMovePpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + description: "Restituisce {{restorePoints}} PP a tutte le mosse di un Pokémon", extra: { - "fully": "Restores all PP for all of one Pokémon's moves", + "fully": "Restituisce tutti i PP a tutte le mosse di un Pokémon", } }, "PokemonPpUpModifierType": { - description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + description: "Aumenta i PP di una mossa di {{upPoints}} per ogni 5 PP (massimo 3)", }, "PokemonNatureChangeModifierType": { - name: "{{natureName}} Mint", - description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + name: "Menta {{natureName}}", + description: "Cambia la natura del Pokémon in {{natureName}} e sblocca la natura per il Pokémon iniziale", }, "DoubleBattleChanceBoosterModifierType": { - description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + description: "Raddoppia la possibilità di imbattersi in doppie battaglie per {{battleCount}} battaglie", }, "TempBattleStatBoosterModifierType": { - description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + description: "Aumenta {{tempBattleStatName}} di un livello a tutti i Pokémon nel gruppo per 5 battaglie", }, "AttackTypeBoosterModifierType": { - description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + description: "Aumenta la potenza delle mosse di tipo {{moveType}} del 20% per un Pokémon", }, "PokemonLevelIncrementModifierType": { - description: "Increases a Pokémon's level by 1", + description: "Fa salire un Pokémon di un livello", }, "AllPokemonLevelIncrementModifierType": { - description: "Increases all party members' level by 1", + description: "Aumenta il livello di tutti i Pokémon nel gruppo di 1", }, "PokemonBaseStatBoosterModifierType": { - description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + description: "Aumenta {{statName}} di base del possessore del 10%", }, "AllPokemonFullHpRestoreModifierType": { - description: "Restores 100% HP for all Pokémon", + description: "Recupera il 100% degli PS per tutti i Pokémon", }, "AllPokemonFullReviveModifierType": { - description: "Revives all fainted Pokémon, fully restoring HP", + description: "Rianima tutti i Pokémon esausti restituendogli tutti i PS", }, "MoneyRewardModifierType": { - description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + description: "Garantisce una {{moneyMultiplier}} quantità di soldi (₽{{moneyAmount}})", extra: { - "small": "small", - "moderate": "moderate", - "large": "large", + "small": "poca", + "moderate": "moderata", + "large": "grande", }, }, "ExpBoosterModifierType": { - description: "Increases gain of EXP. Points by {{boostPercent}}%", + description: "Aumenta il guadagno di Punti Esperienza del {{boostPercent}}%", }, "PokemonExpBoosterModifierType": { - description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + description: "Aumenta il guadagno di Punti Esperienza del possessore del {{boostPercent}}%", }, "PokemonFriendshipBoosterModifierType": { - description: "Increases friendship gain per victory by 50%", + description: "Aumenta del 50% il guadagno di amicizia per vittoria", }, "PokemonMoveAccuracyBoosterModifierType": { - description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + description: "Aumenta l'accuratezza delle mosse di {{accuracyAmount}} (massimo 100)", }, "PokemonMultiHitModifierType": { - description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + description: "Gli attacchi colpiscono una volta in più al costo di una riduzione di potenza del 60/75/82,5% per mossa", }, "TmModifierType": { - name: "TM{{moveId}} - {{moveName}}", - description: "Teach {{moveName}} to a Pokémon", + name: "MT{{moveId}} - {{moveName}}", + description: "Insegna {{moveName}} a un Pokémon", }, "EvolutionItemModifierType": { - description: "Causes certain Pokémon to evolve", + description: "Fa evolvere determinate specie di Pokémon", }, "FormChangeItemModifierType": { - description: "Causes certain Pokémon to change form", + description: "Fa cambiare forma a determinati Pokémon", }, "FusePokemonModifierType": { - description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + description: "Combina due Pokémon (trasferisce i poteri, divide le statistiche e i tipi base, condivide il pool di mosse)", }, "TerastallizeModifierType": { - name: "{{teraType}} Tera Shard", - description: "{{teraType}} Terastallizes the holder for up to 10 battles", + name: "Teralite {{teraType}}", + description: "Teracristallizza in {{teraType}} il possessore per massimo 10 battaglie", }, "ContactHeldItemTransferChanceModifierType": { - description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + description: "Quando si attacca, c'è una probabilità del {{chancePercent}}% che l'oggetto in possesso del nemico venga rubato", }, "TurnHeldItemTransferModifierType": { - description: "Every turn, the holder acquires one held item from the foe", + description: "Ogni turno, il possessore acquisisce un oggetto posseduto dal nemico", }, "EnemyAttackStatusEffectChanceModifierType": { - description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + description: "Aggiunge una probabilità del {{chancePercent}}% di infliggere {{statusEffect}} con le mosse d'attacco", }, "EnemyEndureChanceModifierType": { - description: "Adds a {{chancePercent}}% chance of enduring a hit", + description: "Aggiunge una probabilità del {{probabilitàPercent}}% di resistere ad un colpo", }, - "RARE_CANDY": { name: "Rare Candy" }, - "RARER_CANDY": { name: "Rarer Candy" }, + "RARE_CANDY": { name: "Caramella Rara" }, + "RARER_CANDY": { name: "Caramella Molto Rara" }, - "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, - "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, - "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + "MEGA_BRACELET": { name: "Megapolsiera", description: "Le Megapietre sono disponibili" }, + "DYNAMAX_BAND": { name: "Polsino Dynamax", description: "I Fungomax sono disponibili" }, + "TERA_ORB": { name: "Terasfera", description: "I Teraliti sono disponibili" }, - "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + "MAP": { name: "Mappa", description: "Permette di scegliere la propria strada a un bivio" }, - "POTION": { name: "Potion" }, - "SUPER_POTION": { name: "Super Potion" }, - "HYPER_POTION": { name: "Hyper Potion" }, - "MAX_POTION": { name: "Max Potion" }, - "FULL_RESTORE": { name: "Full Restore" }, + "POTION": { name: "Pozione" }, + "SUPER_POTION": { name: "Superpozione" }, + "HYPER_POTION": { name: "Iperpozione" }, + "MAX_POTION": { name: "Pozione Max" }, + "FULL_RESTORE": { name: "Ricarica Totale" }, - "REVIVE": { name: "Revive" }, - "MAX_REVIVE": { name: "Max Revive" }, + "REVIVE": { name: "Revitalizzante" }, + "MAX_REVIVE": { name: "Revitalizzante Max" }, - "FULL_HEAL": { name: "Full Heal" }, + "FULL_HEAL": { name: "Cura Totale" }, - "SACRED_ASH": { name: "Sacred Ash" }, + "SACRED_ASH": { name: "Cenere Magica" }, - "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + "REVIVER_SEED": { name: "Revitalseme", description: "Il possessore recupera 1/2 di PS in caso di svenimento" }, - "ETHER": { name: "Ether" }, - "MAX_ETHER": { name: "Max Ether" }, + "ETHER": { name: "Etere" }, + "MAX_ETHER": { name: "Etere Max" }, - "ELIXIR": { name: "Elixir" }, - "MAX_ELIXIR": { name: "Max Elixir" }, + "ELIXIR": { name: "Elisir" }, + "MAX_ELIXIR": { name: "Elisir Max" }, - "PP_UP": { name: "PP Up" }, - "PP_MAX": { name: "PP Max" }, + "PP_UP": { name: "PP-su" }, + "PP_MAX": { name: "PP-max" }, - "LURE": { name: "Lure" }, - "SUPER_LURE": { name: "Super Lure" }, - "MAX_LURE": { name: "Max Lure" }, + "LURE": { name: "Profumo Invito" }, + "SUPER_LURE": { name: "Profumo Invito Super" }, + "MAX_LURE": { name: "Profumo Invito Max" }, - "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + "MEMORY_MUSHROOM": { name: "Fungo della Memoria", description: "Ricorda la mossa dimenticata di un Pokémon" }, - "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, - "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + "EXP_SHARE": { name: "Condividi Esperienza", description: "Tutti i Pokémon della squadra ricevono il 20% dei Punti Esperienza dalla lotta anche se non vi hanno partecipato" }, + "EXP_BALANCE": { name: "Bilancia Esperienza", description: "Bilancia i Punti Esperienza ricevuti verso i Pokémon del gruppo di livello inferiore" }, - "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + "OVAL_CHARM": { name: "Ovamuleto", description: "Quando più Pokémon partecipano a una battaglia, ognuno di essi riceve il 10% in più dell'esperienza totale" }, - "EXP_CHARM": { name: "EXP. Charm" }, - "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, - "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + "EXP_CHARM": { name: "Esperienzamuleto" }, + "SUPER_EXP_CHARM": { name: "Esperienzamuleto Super" }, + "GOLDEN_EXP_CHARM": { name: "Esperienzamuleto Oro" }, - "LUCKY_EGG": { name: "Lucky Egg" }, - "GOLDEN_EGG": { name: "Golden Egg" }, + "LUCKY_EGG": { name: "Uovo Fortunato" }, + "GOLDEN_EGG": { name: "Uovo d'Oro" }, - "SOOTHE_BELL": { name: "Soothe Bell" }, + "SOOTHE_BELL": { name: "Calmanella" }, - "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + "SOUL_DEW": { name: "Cuorugiada", description: "Aumenta del 10% l'influenza della natura di un Pokémon sulle sue statistiche (Aggiuntivo)" }, - "NUGGET": { name: "Nugget" }, - "BIG_NUGGET": { name: "Big Nugget" }, - "RELIC_GOLD": { name: "Relic Gold" }, + "NUGGET": { name: "Pepita" }, + "BIG_NUGGET": { name: "Granpepita" }, + "RELIC_GOLD": { name: " Dobloantico" }, - "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, - "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, - "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + "AMULET_COIN": { name: "Monetamuleto", description: "Aumenta le ricompense in denaro del 20%" }, + "GOLDEN_PUNCH": { name: "Pugno Dorato", description: "Garantisce il 50% dei danni inflitti come denaro" }, + "COIN_CASE": { name: " Salvadanaio", description: "Dopo ogni 10° battaglia, riceverete il 10% del vostro denaro in interessi" }, - "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + "LOCK_CAPSULE": { name: "Capsula Scrigno", description: "Permette di bloccare le rarità degli oggetti quando si fa un reroll degli oggetti" }, - "GRIP_CLAW": { name: "Grip Claw" }, - "WIDE_LENS": { name: "Wide Lens" }, + "GRIP_CLAW": { name: "Presartigli" }, + "WIDE_LENS": { name: "Grandelente" }, - "MULTI_LENS": { name: "Multi Lens" }, + "MULTI_LENS": { name: "Multilente" }, - "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, - "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + "HEALING_CHARM": { name: "Curamuleto", description: "Aumenta del 10% l'efficacia delle mosse e degli oggetti che ripristinano gli PS (escluse le rianimazioni)" }, + "CANDY_JAR": { name: "Barattolo di caramelle", description: "Aumenta di 1 il numero di livelli aggiunti dalle Caramelle Rare" }, - "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + "BERRY_POUCH": { name: "Porta Bacche", description: "Aggiunge il 25% di possibilità che una bacca usata non venga consumata" }, - "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + "FOCUS_BAND": { name: "Bandana", description: "Chi ce l'ha ottiene il 10% di possibilità aggiuntivo di evitare un potenziale KO e rimanere con un solo PS" }, - "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + "QUICK_CLAW": { name: "Rapidartigli", description: "Aggiunge una probabilità del 10% di muoversi per primi, indipendentemente dalla velocità (dopo la priorità)" }, - "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + "KINGS_ROCK": { name: "Roccia di re", description: "Aggiunge il 10% di possibilità che una mossa d'attacco faccia tentennare l'avversario" }, - "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, - "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + "LEFTOVERS": { name: "Avanzi", description: "Ripristina 1/16 dei PS massimi di un Pokémon ogni turno" }, + "SHELL_BELL": { name: "Conchinella", description: "Guarisce 1/8 del danno inflitto a un Pokémon" }, - "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + "BATON": { name: "Staffetta", description: "Permette di trasmettere gli effetti quando si cambia Pokémon, aggirando anche le trappole" }, - "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, - "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + "SHINY_CHARM": { name: "Cromamuleto", description: "Misterioso amuleto luminoso che aumenta la probabilità di incontrare Pokémon cromatici" }, + "ABILITY_CHARM": { name: "Abilitamuleto", description: "Aumenta drasticamente la possibilità che un Pokémon selvatico abbia un'abilità nascosta" }, - "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + "IV_SCANNER": { name: "Scanner IV", description: "Permette di scansionare gli IV dei Pokémon selvatici. Vengono rivelati 2 IV per pila. I migliori IV vengono mostrati per primi" }, - "DNA_SPLICERS": { name: "DNA Splicers" }, + "DNA_SPLICERS": { name: " Cuneo DNA" }, - "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + "MINI_BLACK_HOLE": { name: "Piccolo Buco Nero" }, - "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + "GOLDEN_POKEBALL": { name: "Poké Ball Oro", description: "Aggiunge 1 opzione di oggetto extra alla fine di ogni battaglia" }, - "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, - "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, - "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, - "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, - "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, - "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, - "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, - "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, - "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, - "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, - "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + "ENEMY_DAMAGE_BOOSTER": { name: "Gettone del Danno", description: "Aumenta il danno del 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Gettone della Protezione", description: "Riduce i danni ricevuti del 2.5%" }, + "ENEMY_HEAL": { name: "Gettone del Recupero", description: "Cura il 2% dei PS massimi ogni turno" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Gettone del Veleno" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Gettone della Paralisi" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Gettone del Sonno" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Gettone del Congelamento" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Gettone della Bruciatura" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Gettone Guarigione Completa", description: "Aggiunge una probabilità del 10% a ogni turno di curare una condizione di stato" }, + "ENEMY_ENDURE_CHANCE": { name: "Gettone di Resistenza" }, + "ENEMY_FUSED_CHANCE": { name: "Gettone della fusione", description: "Aggiunge l'1% di possibilità che un Pokémon selvatico sia una fusione" }, }, TempBattleStatBoosterItem: { - "x_attack": "X Attack", - "x_defense": "X Defense", - "x_sp_atk": "X Sp. Atk", - "x_sp_def": "X Sp. Def", - "x_speed": "X Speed", - "x_accuracy": "X Accuracy", - "dire_hit": "Dire Hit", + "x_attack": "Attacco X", + "x_defense": "Difesa X", + "x_sp_atk": "Att. Speciale X", + "x_sp_def": "Dif. Speciale X", + "x_speed": "Velocità X", + "x_accuracy": "Precisione X", + "dire_hit": "Supercolpo", }, AttackTypeBoosterItem: { - "silk_scarf": "Silk Scarf", - "black_belt": "Black Belt", - "sharp_beak": "Sharp Beak", - "poison_barb": "Poison Barb", - "soft_sand": "Soft Sand", - "hard_stone": "Hard Stone", - "silver_powder": "Silver Powder", - "spell_tag": "Spell Tag", - "metal_coat": "Metal Coat", - "charcoal": "Charcoal", - "mystic_water": "Mystic Water", - "miracle_seed": "Miracle Seed", - "magnet": "Magnet", - "twisted_spoon": "Twisted Spoon", - "never_melt_ice": "Never-Melt Ice", - "dragon_fang": "Dragon Fang", - "black_glasses": "Black Glasses", - "fairy_feather": "Fairy Feather", + "silk_scarf": "Sciarpa seta", + "black_belt": "Cinturanera", + "sharp_beak": "Beccaffilato", + "poison_barb": "Velenaculeo", + "soft_sand": "Sabbia soffice", + "hard_stone": "Pietradura", + "silver_powder": "Argenpolvere", + "spell_tag": "Spettrotarga", + "metal_coat": "Metalcopertura", + "charcoal": "Carbonella", + "mystic_water": "Acqua magica", + "miracle_seed": "Miracolseme", + "magnet": "Magnete", + "twisted_spoon": "Cucchiaio torto", + "never_melt_ice": "Gelomai", + "dragon_fang": "Dente di drago", + "black_glasses": "Occhialineri", + "fairy_feather": "Piuma fatata", }, BaseStatBoosterItem: { - "hp_up": "HP Up", - "protein": "Protein", - "iron": "Iron", - "calcium": "Calcium", - "zinc": "Zinc", - "carbos": "Carbos", + "hp_up": "PS-su", + "protein": "Proteina", + "iron": "Ferro", + "calcium": "Calcio", + "zinc": "Zinco", + "carbos": "Carburante", }, EvolutionItem: { - "NONE": "None", + "NONE": "Nessuno", - "LINKING_CORD": "Linking Cord", - "SUN_STONE": "Sun Stone", - "MOON_STONE": "Moon Stone", - "LEAF_STONE": "Leaf Stone", - "FIRE_STONE": "Fire Stone", - "WATER_STONE": "Water Stone", - "THUNDER_STONE": "Thunder Stone", - "ICE_STONE": "Ice Stone", - "DUSK_STONE": "Dusk Stone", - "DAWN_STONE": "Dawn Stone", - "SHINY_STONE": "Shiny Stone", - "CRACKED_POT": "Cracked Pot", - "SWEET_APPLE": "Sweet Apple", - "TART_APPLE": "Tart Apple", - "STRAWBERRY_SWEET": "Strawberry Sweet", - "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + "LINKING_CORD": "Filo dell'unione", + "SUN_STONE": "Pietrasolare", + "MOON_STONE": "Pietralunare", + "LEAF_STONE": "Pietrafoglia", + "FIRE_STONE": "Pietrafocaia", + "WATER_STONE": "Pietraidrica", + "THUNDER_STONE": "Pietratuono", + "ICE_STONE": "Pietragelo", + "DUSK_STONE": "Neropietra", + "DAWN_STONE": "Pietralbore", + "SHINY_STONE": "Pietrabrillo", + "CRACKED_POT": "Teiera rotta", + "SWEET_APPLE": "Dolcepomo", + "TART_APPLE": "Aspropomo", + "STRAWBERRY_SWEET": "Bonbonfragola", + "UNREMARKABLE_TEACUP": "Tazza dozzinale", - "CHIPPED_POT": "Chipped Pot", - "BLACK_AUGURITE": "Black Augurite", - "GALARICA_CUFF": "Galarica Cuff", - "GALARICA_WREATH": "Galarica Wreath", - "PEAT_BLOCK": "Peat Block", - "AUSPICIOUS_ARMOR": "Auspicious Armor", - "MALICIOUS_ARMOR": "Malicious Armor", - "MASTERPIECE_TEACUP": "Masterpiece Teacup", - "METAL_ALLOY": "Metal Alloy", - "SCROLL_OF_DARKNESS": "Scroll Of Darkness", - "SCROLL_OF_WATERS": "Scroll Of Waters", - "SYRUPY_APPLE": "Syrupy Apple", + "CHIPPED_POT": "Teiera crepata", + "BLACK_AUGURITE": "Augite nera", + "GALARICA_CUFF": "Fascia Galarnoce", + "GALARICA_WREATH": "Corona Galarnoce", + "PEAT_BLOCK": "Blocco di torba", + "AUSPICIOUS_ARMOR": "Armatura fausta", + "MALICIOUS_ARMOR": "Armatura infausta", + "MASTERPIECE_TEACUP": "Tazza eccezionale", + "METAL_ALLOY": "Metallo composito", + "SCROLL_OF_DARKNESS": "Rotolo del Buio", + "SCROLL_OF_WATERS": "Rotolo dell'Acqua", + "SYRUPY_APPLE": "Sciroppomo", }, FormChangeItem: { - "NONE": "None", + "NONE": "Nessuno", - "ABOMASITE": "Abomasite", + "ABOMASITE": "Abomasnowite", "ABSOLITE": "Absolite", "AERODACTYLITE": "Aerodactylite", "AGGRONITE": "Aggronite", - "ALAKAZITE": "Alakazite", - "ALTARIANITE": "Altarianite", + "ALAKAZITE": "Alakazamite", + "ALTARIANITE": "Altarite", "AMPHAROSITE": "Ampharosite", "AUDINITE": "Audinite", "BANETTITE": "Banettite", "BEEDRILLITE": "Beedrillite", - "BLASTOISINITE": "Blastoisinite", + "BLASTOISINITE": "Blastoisite", "BLAZIKENITE": "Blazikenite", "CAMERUPTITE": "Cameruptite", "CHARIZARDITE_X": "Charizardite X", @@ -327,83 +327,83 @@ export const modifierType: ModifierTypeTranslationEntries = { "GARCHOMPITE": "Garchompite", "GARDEVOIRITE": "Gardevoirite", "GENGARITE": "Gengarite", - "GLALITITE": "Glalitite", + "GLALITITE": "Glalite", "GYARADOSITE": "Gyaradosite", "HERACRONITE": "Heracronite", - "HOUNDOOMINITE": "Houndoominite", + "HOUNDOOMINITE": "Houndoomite", "KANGASKHANITE": "Kangaskhanite", "LATIASITE": "Latiasite", "LATIOSITE": "Latiosite", "LOPUNNITE": "Lopunnite", - "LUCARIONITE": "Lucarionite", - "MANECTITE": "Manectite", + "LUCARIONITE": "Lucarite", + "MANECTITE": "Manectricite", "MAWILITE": "Mawilite", "MEDICHAMITE": "Medichamite", "METAGROSSITE": "Metagrossite", - "MEWTWONITE_X": "Mewtwonite X", - "MEWTWONITE_Y": "Mewtwonite Y", + "MEWTWONITE_X": "Mewtwoite X", + "MEWTWONITE_Y": "Mewtwoite Y", "PIDGEOTITE": "Pidgeotite", "PINSIRITE": "Pinsirite", "RAYQUAZITE": "Rayquazite", - "SABLENITE": "Sablenite", + "SABLENITE": "Sableyite", "SALAMENCITE": "Salamencite", "SCEPTILITE": "Sceptilite", "SCIZORITE": "Scizorite", - "SHARPEDONITE": "Sharpedonite", - "SLOWBRONITE": "Slowbronite", + "SHARPEDONITE": "Sharpedite", + "SLOWBRONITE": "Slowbroite", "STEELIXITE": "Steelixite", "SWAMPERTITE": "Swampertite", "TYRANITARITE": "Tyranitarite", "VENUSAURITE": "Venusaurite", - "BLUE_ORB": "Blue Orb", - "RED_ORB": "Red Orb", - "SHARP_METEORITE": "Sharp Meteorite", - "HARD_METEORITE": "Hard Meteorite", - "SMOOTH_METEORITE": "Smooth Meteorite", - "ADAMANT_CRYSTAL": "Adamant Crystal", - "LUSTROUS_ORB": "Lustrous Orb", - "GRISEOUS_CORE": "Griseous Core", - "REVEAL_GLASS": "Reveal Glass", + "BLUE_ORB": "Gemma Blu", + "RED_ORB": "Gemma Rossa", + "SHARP_METEORITE": "Meteorite Tagliente", + "HARD_METEORITE": "Meteorite Dura", + "SMOOTH_METEORITE": "Meteorite Liscia", + "ADAMANT_CRYSTAL": "Adamasferoide", + "LUSTROUS_ORB": "Splendisfera", + "GRISEOUS_CORE": "Grigiosferoide", + "REVEAL_GLASS": "Verispecchio", "GRACIDEA": "Gracidea", - "MAX_MUSHROOMS": "Max Mushrooms", - "DARK_STONE": "Dark Stone", - "LIGHT_STONE": "Light Stone", - "PRISON_BOTTLE": "Prison Bottle", - "N_LUNARIZER": "N Lunarizer", - "N_SOLARIZER": "N Solarizer", - "RUSTED_SWORD": "Rusted Sword", - "RUSTED_SHIELD": "Rusted Shield", - "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", - "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", - "WELLSPRING_MASK": "Wellspring Mask", - "HEARTHFLAME_MASK": "Hearthflame Mask", - "CORNERSTONE_MASK": "Cornerstone Mask", - "SHOCK_DRIVE": "Shock Drive", - "BURN_DRIVE": "Burn Drive", - "CHILL_DRIVE": "Chill Drive", - "DOUSE_DRIVE": "Douse Drive", + "MAX_MUSHROOMS": "Fungomax", + "DARK_STONE": "Scurolite", + "LIGHT_STONE": "Chiarolite", + "PRISON_BOTTLE": "Vaso del Vincolo", + "N_LUNARIZER": "Necrolunix", + "N_SOLARIZER": "Necrosolix", + "RUSTED_SWORD": "Spada Rovinata", + "RUSTED_SHIELD": "Scudo Rovinato", + "ICY_REINS_OF_UNITY": "Briglie Legame Giaccio", + "SHADOW_REINS_OF_UNITY": "Briglie legame Ombra", + "WELLSPRING_MASK": "Maschera Pozzo", + "HEARTHFLAME_MASK": "Maschera Focolare", + "CORNERSTONE_MASK": "Maschera Fondamenta", + "SHOCK_DRIVE": "Voltmodulo", + "BURN_DRIVE": "Piromodulo", + "CHILL_DRIVE": "Gelomodulo", + "DOUSE_DRIVE": "Idromodulo", }, TeraType: { - "UNKNOWN": "Unknown", - "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", - "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", - "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", - "STELLAR": "Stellar", + "UNKNOWN": "Sconosciuto", + "NORMAL": "Normale", + "FIGHTING": "Lotta", + "FLYING": "Volante", + "POISON": "Veleno", + "GROUND": "Terra", + "ROCK": "Roccia", + "BUG": "Coleottero", + "GHOST": "Spettro", + "STEEL": "Acciaio", + "FIRE": "Fuoco", + "WATER": "Acqua", + "GRASS": "Erba", + "ELECTRIC": "Elettro", + "PSYCHIC": "Psico", + "ICE": "Ghiaccio", + "DRAGON": "Drago", + "DARK": "Buio", + "FAIRY": "Folletto", + "STELLAR": "Astrale", }, } as const; \ No newline at end of file From d1431af65f719ad292868063f021331520d22f48 Mon Sep 17 00:00:00 2001 From: Laeticia PIERRE Date: Thu, 16 May 2024 22:46:12 +0200 Subject: [PATCH 35/84] Fix zippyZap fr (#991) --- src/locales/fr/move.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/fr/move.ts b/src/locales/fr/move.ts index e4d7f5e03fa..3a0ce42c44d 100644 --- a/src/locales/fr/move.ts +++ b/src/locales/fr/move.ts @@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = { }, "zippyZap": { name: "Pika-Sprint", - effect: "Une attaque électrique rapide comme l’éclair qui auguemente l’esquive. Frappe en priorité." + effect: "Une attaque électrique rapide comme l’éclair qui augmente l’esquive. Frappe en priorité." }, "splishySplash": { name: "Pika-Splash", From bd902f01a54bc4b3a1a4e7b63066737ab5b1c7ef Mon Sep 17 00:00:00 2001 From: Matthew Olker Date: Thu, 16 May 2024 18:19:32 -0400 Subject: [PATCH 36/84] Re-order overrides --- src/overrides.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/overrides.ts b/src/overrides.ts index 704019a1d80..b7307ab2f7f 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -48,6 +48,13 @@ export const POKEBALL_OVERRIDE: { active: boolean, pokeballs: PokeballCounts } = export const STARTER_FORM_OVERRIDE: integer = 0; // default 5 or 20 for Daily export const STARTING_LEVEL_OVERRIDE: integer = 0; +/** + * SPECIES OVERRIDE + * will only apply to the first starter in your party or each enemy pokemon + * default is 0 to not override + * @example SPECIES_OVERRIDE = Species.Bulbasaur; + */ +export const STARTER_SPECIES_OVERRIDE: Species | integer = 0; export const ABILITY_OVERRIDE: Abilities = Abilities.NONE; export const PASSIVE_ABILITY_OVERRIDE: Abilities = Abilities.NONE; export const MOVESET_OVERRIDE: Array = []; @@ -58,21 +65,13 @@ export const VARIANT_OVERRIDE: Variant = 0; * OPPONENT / ENEMY OVERRIDES */ +export const OPP_SPECIES_OVERRIDE: Species | integer = 0; export const OPP_ABILITY_OVERRIDE: Abilities = Abilities.NONE; export const OPP_PASSIVE_ABILITY_OVERRIDE = Abilities.NONE; export const OPP_MOVESET_OVERRIDE: Array = []; export const OPP_SHINY_OVERRIDE: boolean = false; export const OPP_VARIANT_OVERRIDE: Variant = 0; -/** - * SPECIES OVERRIDE - * will only apply to the first starter in your party or each enemy pokemon - * default is 0 to not override - * @example SPECIES_OVERRIDE = Species.Bulbasaur; - */ -export const STARTER_SPECIES_OVERRIDE: Species | integer = 0; -export const OPP_SPECIES_OVERRIDE: Species | integer = 0; - /** * MODIFIER / ITEM OVERRIDES * if count is not provided, it will default to 1 From 5406b68f9a1bd8246b3370f9b171124a5dbe0351 Mon Sep 17 00:00:00 2001 From: Flora <102679854+Odizinne@users.noreply.github.com> Date: Fri, 17 May 2024 00:35:51 +0200 Subject: [PATCH 37/84] Added missing word (#997) --- src/locales/fr/weather.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/fr/weather.ts b/src/locales/fr/weather.ts index e73e51a53a2..f00e7e08a03 100644 --- a/src/locales/fr/weather.ts +++ b/src/locales/fr/weather.ts @@ -39,6 +39,6 @@ export const weather: SimpleTranslationEntries = { "harshSunClearMessage": "Les rayons du soleil s’affaiblissent !", "strongWindsStartMessage": "Un vent mystérieux se lève !", - "strongWindsLapseMessage": "Le vent mystérieux violemment !", + "strongWindsLapseMessage": "Le vent mystérieux souffle violemment !", "strongWindsClearMessage": "Le vent mystérieux s’est dissipé…" } From 3f571a366aac1dafa0bf516285ecf4d1136eee8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Thu, 16 May 2024 19:52:01 -0300 Subject: [PATCH 38/84] Organized localization configs (#976) --- src/locales/de/config.ts | 18 ++++++++++-------- src/locales/en/config.ts | 17 ++++++++--------- src/locales/es/config.ts | 16 ++++++++-------- src/locales/fr/config.ts | 17 ++++++++--------- src/locales/it/config.ts | 16 ++++++++-------- src/locales/zh_CN/config.ts | 27 +++++++++++++++------------ 6 files changed, 57 insertions(+), 54 deletions(-) diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index c9a58bca1ea..44bd5a66f1a 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -13,10 +13,11 @@ import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; +import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; -import { titles,trainerClasses,trainerNames } from "./trainers"; -import { splashMessages } from "./splash-messages" +import { weather } from "./weather"; export const deConfig = { @@ -26,19 +27,20 @@ export const deConfig = { commandUiHandler: commandUiHandler, egg: egg, fightUiHandler: fightUiHandler, - menuUiHandler: menuUiHandler, + growth: growth, menu: menu, + menuUiHandler: menuUiHandler, + modifierType: modifierType, move: move, + nature: nature, pokeball: pokeball, - pokemonStat: pokemonStat, pokemon: pokemon, + pokemonStat: pokemonStat, + splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, trainerClasses: trainerClasses, trainerNames: trainerNames, tutorial: tutorial, - splashMessages: splashMessages, - nature: nature, - growth: growth, - modifierType: modifierType, + weather: weather, } diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index a5d207da932..2962633e26a 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -13,13 +13,12 @@ import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; +import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; -import { titles,trainerClasses,trainerNames } from "./trainers"; -import { splashMessages } from "./splash-messages" import { weather } from "./weather"; - export const enConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -27,20 +26,20 @@ export const enConfig = { commandUiHandler: commandUiHandler, egg: egg, fightUiHandler: fightUiHandler, - menuUiHandler: menuUiHandler, + growth: growth, menu: menu, + menuUiHandler: menuUiHandler, + modifierType: modifierType, move: move, + nature: nature, pokeball: pokeball, - pokemonStat: pokemonStat, pokemon: pokemon, + pokemonStat: pokemonStat, + splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, trainerClasses: trainerClasses, trainerNames: trainerNames, tutorial: tutorial, - splashMessages: splashMessages, - nature: nature, - growth: growth, weather: weather, - modifierType: modifierType, } diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index 6aac47563ee..a986bbfc75c 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -13,10 +13,10 @@ import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; +import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; -import { titles,trainerClasses,trainerNames } from "./trainers"; -import { splashMessages } from "./splash-messages" import { weather } from "./weather"; @@ -27,20 +27,20 @@ export const esConfig = { commandUiHandler: commandUiHandler, egg: egg, fightUiHandler: fightUiHandler, - menuUiHandler: menuUiHandler, + growth: growth, menu: menu, + menuUiHandler: menuUiHandler, + modifierType: modifierType, move: move, + nature: nature, pokeball: pokeball, - pokemonStat: pokemonStat, pokemon: pokemon, + pokemonStat: pokemonStat, + splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, trainerClasses: trainerClasses, trainerNames: trainerNames, tutorial: tutorial, - splashMessages: splashMessages, - nature: nature, - growth: growth, weather: weather, - modifierType: modifierType, } diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index a2bb8430fba..8de3e186d59 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -13,14 +13,13 @@ import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; +import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; -import { titles,trainerClasses,trainerNames } from "./trainers"; -import { splashMessages } from "./splash-messages" import { weather } from "./weather"; - export const frConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -28,21 +27,21 @@ export const frConfig = { commandUiHandler: commandUiHandler, egg: egg, fightUiHandler: fightUiHandler, - menuUiHandler: menuUiHandler, + growth: growth, menu: menu, + menuUiHandler: menuUiHandler, + modifierType: modifierType, move: move, + nature: nature, pokeball: pokeball, - pokemonStat: pokemonStat, pokemon: pokemon, + pokemonStat: pokemonStat, + splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, trainerClasses: trainerClasses, trainerNames: trainerNames, tutorial: tutorial, - splashMessages: splashMessages, - nature: nature, - growth: growth, weather: weather, - modifierType: modifierType, } diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index baa252bcb16..6892c9c8cad 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -13,10 +13,10 @@ import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; +import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; -import { titles,trainerClasses,trainerNames } from "./trainers"; -import { splashMessages } from "./splash-messages" import { weather } from "./weather"; @@ -27,20 +27,20 @@ export const itConfig = { commandUiHandler: commandUiHandler, egg: egg, fightUiHandler: fightUiHandler, - menuUiHandler: menuUiHandler, + growth: growth, menu: menu, + menuUiHandler: menuUiHandler, + modifierType: modifierType, move: move, + nature: nature, pokeball: pokeball, - pokemonStat: pokemonStat, pokemon: pokemon, + pokemonStat: pokemonStat, + splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, trainerClasses: trainerClasses, trainerNames: trainerNames, tutorial: tutorial, - splashMessages: splashMessages, - nature: nature, - growth: growth, weather: weather, - modifierType: modifierType, } diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 957b1e7a482..19afba381b8 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -2,20 +2,22 @@ import { ability } from "./ability"; import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; +// import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { growth } from "./growth"; import { menu } from "./menu"; import { menuUiHandler } from "./menu-ui-handler"; +import { modifierType } from "./modifier-type"; import { move } from "./move"; +import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; +// import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; -import { titles,trainerClasses,trainerNames } from "./trainers"; -import { nature } from "./nature"; import { weather } from "./weather"; -import { modifierType } from "./modifier-type"; -import { growth } from "./growth"; export const zhCnConfig = { @@ -23,21 +25,22 @@ export const zhCnConfig = { abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, + // egg: egg, fightUiHandler: fightUiHandler, - menuUiHandler: menuUiHandler, + growth: growth, menu: menu, + menuUiHandler: menuUiHandler, + modifierType: modifierType, move: move, - pokeball: pokeball, - pokemonStat: pokemonStat, - pokemon: pokemon, - starterSelectUiHandler: starterSelectUiHandler, nature: nature, + pokeball: pokeball, + pokemon: pokemon, + pokemonStat: pokemonStat, + // splashMessages: splashMessages, + starterSelectUiHandler: starterSelectUiHandler, titles: titles, trainerClasses: trainerClasses, trainerNames: trainerNames, tutorial: tutorial, - nature: nature, - growth: growth, weather: weather, - modifierType: modifierType, } From 63e165d62adcb3f9d4f7fffeb96b088c9cc483bf Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 01:12:19 +0200 Subject: [PATCH 39/84] Complete French translation modifier-type.ts (#999) * Complete French translation modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts --- src/locales/fr/modifier-type.ts | 518 ++++++++++++++++---------------- 1 file changed, 259 insertions(+), 259 deletions(-) diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 043d7a705d5..e8b35f146e1 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -3,407 +3,407 @@ import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; export const modifierType: ModifierTypeTranslationEntries = { ModifierType: { "AddPokeballModifierType": { - name: "{{modifierCount}}x {{pokeballName}}", - description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + name: "{{pokeballName}} x{{modifierCount}}", + description: "Recevez {{modifierCount}} {{pokeballName}}s (Inventaire : {{pokeballAmount}}) \nTaux de capture : {{catchRate}}", }, "AddVoucherModifierType": { - name: "{{modifierCount}}x {{voucherTypeName}}", - description: "Receive {{voucherTypeName}} x{{modifierCount}}", + name: "{{voucherTypeName}} x{{modifierCount}}", + description: "Recevez {{modifierCount}} {{voucherTypeName}}", }, "PokemonHeldItemModifierType": { extra: { - "inoperable": "{{pokemonName}} can't take\nthis item!", - "tooMany": "{{pokemonName}} has too many\nof this item!", + "inoperable": "{{pokemonName}} ne peut pas\nporter cet objet !", + "tooMany": "{{pokemonName}} possède trop\nd’exemplaires de cet objet !", } }, "PokemonHpRestoreModifierType": { - description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + description: "Restaure {{restorePoints}} PV ou {{restorePercent}}% des PV totaux d’un Pokémon, en fonction duquel des deux est le plus élevé", extra: { - "fully": "Fully restores HP for one Pokémon", - "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + "fully": "Restaure tous les PV d’un Pokémon", + "fullyWithStatus": "Restaure tous les PV d’un Pokémon et soigne tous ses problèmes de statut", } }, "PokemonReviveModifierType": { - description: "Revives one Pokémon and restores {{restorePercent}}% HP", + description: "Réanime un Pokémon et restaure {{restorePercent}}% de ses PV", }, "PokemonStatusHealModifierType": { - description: "Heals any status ailment for one Pokémon", + description: "Soigne tous les problèmes de statut d’un Pokémon", }, "PokemonPpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for one Pokémon move", + description: "Restaure {{restorePoints}} PP à une capacité d’un Pokémon", extra: { - "fully": "Restores all PP for one Pokémon move", + "fully": "Restaure tous les PP à une capacité d’un Pokémon", } }, "PokemonAllMovePpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + description: "Restaure {{restorePoints}} PP à toutes les capacités d’un Pokémon", extra: { - "fully": "Restores all PP for all of one Pokémon's moves", + "fully": "Restaure tous les PP à toutes les capacités d’un Pokémon", } }, "PokemonPpUpModifierType": { - description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + description: "Auguemente le max de PP de {{upPoints}} à une capacité d’un Pokémon pour chaque 5 PP max (max : 3)", }, "PokemonNatureChangeModifierType": { - name: "{{natureName}} Mint", - description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + name: "Aromate {{natureName}}", + description: "Donne la nature {{natureName}} à un Pokémon et la débloque pour le starter lui étant lié.", }, "DoubleBattleChanceBoosterModifierType": { - description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats", }, "TempBattleStatBoosterModifierType": { - description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + description: "{{tempBattleStatName}} auguementée d’1 cran pour tout l’équipe pendant 5 combats", }, "AttackTypeBoosterModifierType": { - description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + description: "Auguemente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon", }, "PokemonLevelIncrementModifierType": { - description: "Increases a Pokémon's level by 1", + description: "Fait monter un Pokémon d’1 niveau", }, "AllPokemonLevelIncrementModifierType": { - description: "Increases all party members' level by 1", + description: "Fait monter toute l’équipe d’1 niveau", }, "PokemonBaseStatBoosterModifierType": { - description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + description: "Auguemente de 10% {{statName}} de base de son porteur. Plus les IV sont hauts, plus il peut en porter.", }, "AllPokemonFullHpRestoreModifierType": { - description: "Restores 100% HP for all Pokémon", + description: "Restaure tous les PV de toute l'équipe", }, "AllPokemonFullReviveModifierType": { - description: "Revives all fainted Pokémon, fully restoring HP", + description: "Réanime et restaure tous les PV de tous les Pokémon K.O.", }, "MoneyRewardModifierType": { - description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + description: "Octroie une {{moneyMultiplier}} somme d’argent ({{moneyAmount}}₽)", extra: { - "small": "small", - "moderate": "moderate", - "large": "large", + "small": "petite", + "moderate": "moyenne", + "large": "grande", }, }, "ExpBoosterModifierType": { - description: "Increases gain of EXP. Points by {{boostPercent}}%", + description: "Auguemente de {{boostPercent}}% le gain de Points d’Exp", }, "PokemonExpBoosterModifierType": { - description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + description: "Auguemente de {{boostPercent}}% le gain de Points d’Exp du porteur", }, "PokemonFriendshipBoosterModifierType": { - description: "Increases friendship gain per victory by 50%", + description: "Auguemente le gain d’amitié de 50% par victoire", }, "PokemonMoveAccuracyBoosterModifierType": { - description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + description: "Auguemente de {{accuracyAmount}} la précision des capacités (maximum 100)", }, "PokemonMultiHitModifierType": { - description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + description: "Frappe une fois de plus en échange d’une baisse de puissance de respectivement 60/75/82,5% par cumul", }, "TmModifierType": { - name: "TM{{moveId}} - {{moveName}}", - description: "Teach {{moveName}} to a Pokémon", + name: "CT{{moveId}} - {{moveName}}", + description: "Apprend la capacité {{moveName}} à un Pokémon", }, "EvolutionItemModifierType": { - description: "Causes certain Pokémon to evolve", + description: "Permet à certains Pokémon d’évoluer", }, "FormChangeItemModifierType": { - description: "Causes certain Pokémon to change form", + description: "Permet à certains Pokémon de changer de forme", }, "FusePokemonModifierType": { - description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + description: "Fusionne deux Pokémon (transfère le Talent, sépare les stats de base et les types, partage le movepool)", }, "TerastallizeModifierType": { - name: "{{teraType}} Tera Shard", - description: "{{teraType}} Terastallizes the holder for up to 10 battles", + name: "Téra-Éclat {{teraType}}", + description: "{{teraType}} Téracristallise son porteur pendant 10 combats", }, "ContactHeldItemTransferChanceModifierType": { - description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + description: "{{chancePercent}}% de chances de voler un objet de l’adversaire en l’attaquant", }, "TurnHeldItemTransferModifierType": { - description: "Every turn, the holder acquires one held item from the foe", + description: "À chaque tour, son porteur obtient un objet de son adversaire", }, "EnemyAttackStatusEffectChanceModifierType": { - description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + description: "Ajoute {{chancePercent}}% de chances d’infliger le statut {{statusEffect}} avec des capacités offensives", }, "EnemyEndureChanceModifierType": { - description: "Adds a {{chancePercent}}% chance of enduring a hit", + description: "Ajoute {{chancePercent}}% de chances d’encaisser un coup", }, - "RARE_CANDY": { name: "Rare Candy" }, - "RARER_CANDY": { name: "Rarer Candy" }, + "RARE_CANDY": { name: "Super Bonbon" }, + "RARER_CANDY": { name: "Hyper Bonbon" }, - "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, - "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, - "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + "MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes" }, + "DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque les Maxi Champis" }, + "TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats" }, - "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + "MAP": { name: "Carte", description: "Vous permet de choisir votre destination à un croisement" }, "POTION": { name: "Potion" }, "SUPER_POTION": { name: "Super Potion" }, "HYPER_POTION": { name: "Hyper Potion" }, - "MAX_POTION": { name: "Max Potion" }, - "FULL_RESTORE": { name: "Full Restore" }, + "MAX_POTION": { name: "Potion Max" }, + "FULL_RESTORE": { name: "Guérison" }, - "REVIVE": { name: "Revive" }, - "MAX_REVIVE": { name: "Max Revive" }, + "REVIVE": { name: "Rappel" }, + "MAX_REVIVE": { name: "Rappel Max" }, - "FULL_HEAL": { name: "Full Heal" }, + "FULL_HEAL": { name: "Total Soin" }, - "SACRED_ASH": { name: "Sacred Ash" }, + "SACRED_ASH": { name: "Cendres Sacrées" }, - "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + "REVIVER_SEED": { name: "Résugraine", description: "Réanime et restaure la moitié des PV de son porteur s’il tombe K.O." }, - "ETHER": { name: "Ether" }, - "MAX_ETHER": { name: "Max Ether" }, + "ETHER": { name: "Huile" }, + "MAX_ETHER": { name: "Huile Max" }, - "ELIXIR": { name: "Elixir" }, - "MAX_ELIXIR": { name: "Max Elixir" }, + "ELIXIR": { name: "Élixir" }, + "MAX_ELIXIR": { name: "Élixir Max" }, - "PP_UP": { name: "PP Up" }, + "PP_UP": { name: "PP Plus" }, "PP_MAX": { name: "PP Max" }, - "LURE": { name: "Lure" }, - "SUPER_LURE": { name: "Super Lure" }, - "MAX_LURE": { name: "Max Lure" }, + "LURE": { name: "Parfum" }, + "SUPER_LURE": { name: "Super Parfum" }, + "MAX_LURE": { name: "Parfum Max" }, - "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + "MEMORY_MUSHROOM": { name: "Champignon Mémoriel", description: "Remémore une capacité à un Pokémon" }, - "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, - "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + "EXP_SHARE": { name: "Multi Exp", description: "Tous les non-participants recoivent 20% des Points d’Exp d’un participant" }, + "EXP_BALANCE": { name: "Équilibr’Exp.", description: "Équilibre les Points d’Exp à l’avantage des membres de l’équipe aux plus bas niveaux" }, - "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + "OVAL_CHARM": { name: "Charme Ovale", description: "Quand plusieurs Pokémon sont en combat, chacun gagne 10% supplémentaires du total d’Exp" }, - "EXP_CHARM": { name: "EXP. Charm" }, - "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, - "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + "EXP_CHARM": { name: "Charme Exp" }, + "SUPER_EXP_CHARM": { name: "Super Charme Exp" }, + "GOLDEN_EXP_CHARM": { name: "Charme Exp Doré" }, - "LUCKY_EGG": { name: "Lucky Egg" }, - "GOLDEN_EGG": { name: "Golden Egg" }, + "LUCKY_EGG": { name: "Œuf Chance" }, + "GOLDEN_EGG": { name: "Œuf d’Or" }, - "SOOTHE_BELL": { name: "Soothe Bell" }, + "SOOTHE_BELL": { name: "Grelot Zen" }, - "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + "SOUL_DEW": { name: "Rosée Âme", description: "Auguemente de 10% l’influence de la nature d’un Pokémon sur ses statistiques (cumulatif)" }, - "NUGGET": { name: "Nugget" }, - "BIG_NUGGET": { name: "Big Nugget" }, - "RELIC_GOLD": { name: "Relic Gold" }, + "NUGGET": { name: "Pépite" }, + "BIG_NUGGET": { name: "Maxi Pépite" }, + "RELIC_GOLD": { name: "Vieux Ducat" }, - "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, - "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, - "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + "AMULET_COIN": { name: "Pièce Rune", description: "Auguemente de 20% les gains d’argent" }, + "GOLDEN_PUNCH": { name: "Poing Doré", description: "50% des dégâts infligés sont convertis en argent" }, + "COIN_CASE": { name: "Boite Jetons", description: "Tous les 10 combats, recevez 10% de votre argent en intérêts" }, - "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + "LOCK_CAPSULE": { name: "Poké Écrin", description: "Permet de verouiller des objets rares si vous relancez les objets proposés" }, - "GRIP_CLAW": { name: "Grip Claw" }, - "WIDE_LENS": { name: "Wide Lens" }, + "GRIP_CLAW": { name: "Accro Griffe" }, + "WIDE_LENS": { name: "Loupe" }, - "MULTI_LENS": { name: "Multi Lens" }, + "MULTI_LENS": { name: "Multi Loupe" }, - "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, - "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + "HEALING_CHARM": { name: "Charme Soin", description: "Auguemente de 10% l’efficacité des capacités et objets de soin de PV (hors Rappels)" }, + "CANDY_JAR": { name: "Jarre de Bonbons", description: "Auguemente de 1 le nombre de niveaux gagnés à l’utilisation d’Super Bonbon" }, - "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + "BERRY_POUCH": { name: "Sac à Baies", description: "Ajoute 25% de chances qu’une Baie utilisée ne soit pas consomée" }, - "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + "FOCUS_BAND": { name: "Bandeau", description: "Ajoute 10% de chances de suvivre avec 1 PV si les dégâts reçus pouvaient mettre K.O." }, - "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + "QUICK_CLAW": { name: "Vive Griffe", description: "Ajoute 10% de chances d’agir en premier, indépendamment de la vitesse (après la priorité)" }, - "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + "KINGS_ROCK": { name: "Roche Royale", description: "Ajoute 10% de chances qu’une capacité offensive apeure l’adversaire" }, - "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, - "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + "LEFTOVERS": { name: "Restes", description: "Soigne à chaque tour 1/16 des PV max d’un Pokémon" }, + "SHELL_BELL": { name: "Grelot Coque", description: "Soigne 1/8 des dégâts infligés par un Pokémon" }, - "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + "BATON": { name: "Bâton", description: "Permet de transmettre les effets en cas de changement de Pokémon. Ignore les pièges." }, - "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, - "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + "SHINY_CHARM": { name: "Charme Chroma", description: "Auguemente énormément les chances de rencontrer un Pokémon sauvage chromatique" }, + "ABILITY_CHARM": { name: "Charme Talent", description: "Auguemente énormément les chances de rencontrer un Pokémon sauvage avec un Talent Caché" }, - "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + "IV_SCANNER": { name: "Scanner d’IV", description: "Scanne les IV d’un Pokémon sauvage. 2 IV sont révélées par Scanner. Les meilleurs sont montrés en 1er." }, - "DNA_SPLICERS": { name: "DNA Splicers" }, + "DNA_SPLICERS": { name: "Pointeau ADN" }, - "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + "MINI_BLACK_HOLE": { name: "Mini Trou Noir" }, - "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + "GOLDEN_POKEBALL": { name: "Poké Ball Dorée", description: "Ajoute 1 choix d’objet à la fin de chaque combat" }, - "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, - "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, - "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, - "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, - "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, - "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, - "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, - "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, - "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, - "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, - "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + "ENEMY_DAMAGE_BOOSTER": { name: "Jeton Dégâts", description: "Auguemente les dégâts de 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Jeton Protection", description: "Diminue les dégâts reçus de 2,5%" }, + "ENEMY_HEAL": { name: "Jeton Soin", description: "Soigne 2% des PV max à chaque tour" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Jeton Poison" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Jeton Paralysie" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Jeton Sommeil" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Jeton Gel" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Jeton Brulure" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Jeton Total Soin", description: "Ajoute 10% de chances à chaque tour de se soigner d’un problème de statut." }, + "ENEMY_ENDURE_CHANCE": { name: "Jeton Ténacité" }, + "ENEMY_FUSED_CHANCE": { name: "Jeton Fusion", description: "Ajoute 1% de chances qu’un Pokémon sauvage soit une fusion." }, }, TempBattleStatBoosterItem: { - "x_attack": "X Attack", - "x_defense": "X Defense", - "x_sp_atk": "X Sp. Atk", - "x_sp_def": "X Sp. Def", - "x_speed": "X Speed", - "x_accuracy": "X Accuracy", - "dire_hit": "Dire Hit", + "x_attack": "Attaque +", + "x_defense": "Defense +", + "x_sp_atk": "Atq. Spé. +", + "x_sp_def": "Déf. Spé. +", + "x_speed": "Vitesse +", + "x_accuracy": "Précision +", + "dire_hit": "Muscle +", }, AttackTypeBoosterItem: { - "silk_scarf": "Silk Scarf", - "black_belt": "Black Belt", - "sharp_beak": "Sharp Beak", - "poison_barb": "Poison Barb", - "soft_sand": "Soft Sand", - "hard_stone": "Hard Stone", - "silver_powder": "Silver Powder", - "spell_tag": "Spell Tag", - "metal_coat": "Metal Coat", - "charcoal": "Charcoal", - "mystic_water": "Mystic Water", - "miracle_seed": "Miracle Seed", - "magnet": "Magnet", - "twisted_spoon": "Twisted Spoon", - "never_melt_ice": "Never-Melt Ice", - "dragon_fang": "Dragon Fang", - "black_glasses": "Black Glasses", - "fairy_feather": "Fairy Feather", + "silk_scarf": "Mouchoir Soie", + "black_belt": "Ceinture Noire", + "sharp_beak": "Bec Pointu", + "poison_barb": "Pic Venin", + "soft_sand": "Sable Doux", + "hard_stone": "Pierre Dure", + "silver_powder": "Poudre Argentée", + "spell_tag": "Rune Sort", + "metal_coat": "Peau Métal", + "charcoal": "Charbon", + "mystic_water": "Eau Mystique", + "miracle_seed": "Graine Miracle", + "magnet": "Aimant", + "twisted_spoon": "Cuillère Tordue", + "never_melt_ice": "Glace Éternelle", + "dragon_fang": "Croc Dragon", + "black_glasses": "Lunettes Noires", + "fairy_feather": "Plume Enchantée", }, BaseStatBoosterItem: { - "hp_up": "HP Up", - "protein": "Protein", - "iron": "Iron", + "hp_up": "PP Plus", + "protein": "Protéine", + "iron": "Fer", "calcium": "Calcium", "zinc": "Zinc", - "carbos": "Carbos", + "carbos": "Carbone", }, EvolutionItem: { - "NONE": "None", + "NONE": "Aucun", - "LINKING_CORD": "Linking Cord", - "SUN_STONE": "Sun Stone", - "MOON_STONE": "Moon Stone", - "LEAF_STONE": "Leaf Stone", - "FIRE_STONE": "Fire Stone", - "WATER_STONE": "Water Stone", - "THUNDER_STONE": "Thunder Stone", - "ICE_STONE": "Ice Stone", - "DUSK_STONE": "Dusk Stone", - "DAWN_STONE": "Dawn Stone", - "SHINY_STONE": "Shiny Stone", - "CRACKED_POT": "Cracked Pot", - "SWEET_APPLE": "Sweet Apple", - "TART_APPLE": "Tart Apple", - "STRAWBERRY_SWEET": "Strawberry Sweet", - "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + "LINKING_CORD": "Fil de Liaison", + "SUN_STONE": "Pierre Soleil", + "MOON_STONE": "Pierre Lune", + "LEAF_STONE": "Pierre Plante", + "FIRE_STONE": "Pierre Feu", + "WATER_STONE": "Pierre Eau", + "THUNDER_STONE": "Pierre Foudre", + "ICE_STONE": "Pierre Glace", + "DUSK_STONE": "Pierre Nuit", + "DAWN_STONE": "Pierre Aube", + "SHINY_STONE": "Pierre Éclat", + "CRACKED_POT": "Théière Fêlée", + "SWEET_APPLE": "Pomme Sucrée", + "TART_APPLE": "Pomme Acidulée", + "STRAWBERRY_SWEET": "Fraise en Sucre", + "UNREMARKABLE_TEACUP": "Bol Médiocre", - "CHIPPED_POT": "Chipped Pot", - "BLACK_AUGURITE": "Black Augurite", - "GALARICA_CUFF": "Galarica Cuff", - "GALARICA_WREATH": "Galarica Wreath", - "PEAT_BLOCK": "Peat Block", - "AUSPICIOUS_ARMOR": "Auspicious Armor", - "MALICIOUS_ARMOR": "Malicious Armor", - "MASTERPIECE_TEACUP": "Masterpiece Teacup", - "METAL_ALLOY": "Metal Alloy", - "SCROLL_OF_DARKNESS": "Scroll Of Darkness", - "SCROLL_OF_WATERS": "Scroll Of Waters", - "SYRUPY_APPLE": "Syrupy Apple", + "CHIPPED_POT": "Théière Ébréchée", + "BLACK_AUGURITE": "Obsidienne", + "GALARICA_CUFF": "Bracelet Galanoa", + "GALARICA_WREATH": "Couronne Galanoa", + "PEAT_BLOCK": "Bloc de Tourbe", + "AUSPICIOUS_ARMOR": "Armure de la Fortune", + "MALICIOUS_ARMOR": "Armure de la Rancune", + "MASTERPIECE_TEACUP": "Bol Exceptionnel", + "METAL_ALLOY": "Métal Composite", + "SCROLL_OF_DARKNESS": "Rouleau des Ténèbres", + "SCROLL_OF_WATERS": "Rouleau de l’Eau", + "SYRUPY_APPLE": "Pomme Nectar", }, FormChangeItem: { - "NONE": "None", + "NONE": "Aucun", - "ABOMASITE": "Abomasite", + "ABOMASITE": "Blizzarite", "ABSOLITE": "Absolite", - "AERODACTYLITE": "Aerodactylite", - "AGGRONITE": "Aggronite", - "ALAKAZITE": "Alakazite", - "ALTARIANITE": "Altarianite", - "AMPHAROSITE": "Ampharosite", - "AUDINITE": "Audinite", - "BANETTITE": "Banettite", - "BEEDRILLITE": "Beedrillite", - "BLASTOISINITE": "Blastoisinite", - "BLAZIKENITE": "Blazikenite", - "CAMERUPTITE": "Cameruptite", - "CHARIZARDITE_X": "Charizardite X", - "CHARIZARDITE_Y": "Charizardite Y", + "AERODACTYLITE": "Ptéraïte", + "AGGRONITE": "Galekingite", + "ALAKAZITE": "Alakazamite", + "ALTARIANITE": "Altarite", + "AMPHAROSITE": "Pharampite", + "AUDINITE": "Nanméouïte", + "BANETTITE": "Branettite", + "BEEDRILLITE": "Dardargnite", + "BLASTOISINITE": "Tortankite", + "BLAZIKENITE": "Braségalite", + "CAMERUPTITE": "Caméruptite", + "CHARIZARDITE_X": "Dracaufite X", + "CHARIZARDITE_Y": "Dracaufite Y", "DIANCITE": "Diancite", - "GALLADITE": "Galladite", - "GARCHOMPITE": "Garchompite", + "GALLADITE": "Gallamite", + "GARCHOMPITE": "Carchacrokite", "GARDEVOIRITE": "Gardevoirite", - "GENGARITE": "Gengarite", - "GLALITITE": "Glalitite", - "GYARADOSITE": "Gyaradosite", - "HERACRONITE": "Heracronite", - "HOUNDOOMINITE": "Houndoominite", - "KANGASKHANITE": "Kangaskhanite", + "GENGARITE": "Ectoplasmite", + "GLALITITE": "Oniglalite", + "GYARADOSITE": "Léviatorite", + "HERACRONITE": "Scarhinoïte", + "HOUNDOOMINITE": "Démolossite", + "KANGASKHANITE": "Kangourexite", "LATIASITE": "Latiasite", "LATIOSITE": "Latiosite", - "LOPUNNITE": "Lopunnite", - "LUCARIONITE": "Lucarionite", - "MANECTITE": "Manectite", - "MAWILITE": "Mawilite", - "MEDICHAMITE": "Medichamite", - "METAGROSSITE": "Metagrossite", - "MEWTWONITE_X": "Mewtwonite X", - "MEWTWONITE_Y": "Mewtwonite Y", - "PIDGEOTITE": "Pidgeotite", - "PINSIRITE": "Pinsirite", + "LOPUNNITE": "Lockpinite", + "LUCARIONITE": "Lucarite", + "MANECTITE": "Élecsprintite", + "MAWILITE": "Mysdibulite", + "MEDICHAMITE": "Charminite", + "METAGROSSITE": "Métalossite", + "MEWTWONITE_X": "Mewtwoïte X", + "MEWTWONITE_Y": "Mewtwoïte Y", + "PIDGEOTITE": "Roucarnagite", + "PINSIRITE": "Scarabruite", "RAYQUAZITE": "Rayquazite", - "SABLENITE": "Sablenite", - "SALAMENCITE": "Salamencite", - "SCEPTILITE": "Sceptilite", - "SCIZORITE": "Scizorite", - "SHARPEDONITE": "Sharpedonite", - "SLOWBRONITE": "Slowbronite", + "SABLENITE": "Ténéfixite", + "SALAMENCITE": "Drattakite", + "SCEPTILITE": "Jungkite", + "SCIZORITE": "Cizayoxite", + "SHARPEDONITE": "Sharpedite", + "SLOWBRONITE": "Flagadossite", "STEELIXITE": "Steelixite", - "SWAMPERTITE": "Swampertite", - "TYRANITARITE": "Tyranitarite", - "VENUSAURITE": "Venusaurite", + "SWAMPERTITE": "Laggronite", + "TYRANITARITE": "Tyranocivite", + "VENUSAURITE": "Florizarrite", - "BLUE_ORB": "Blue Orb", - "RED_ORB": "Red Orb", - "SHARP_METEORITE": "Sharp Meteorite", - "HARD_METEORITE": "Hard Meteorite", - "SMOOTH_METEORITE": "Smooth Meteorite", - "ADAMANT_CRYSTAL": "Adamant Crystal", - "LUSTROUS_ORB": "Lustrous Orb", - "GRISEOUS_CORE": "Griseous Core", - "REVEAL_GLASS": "Reveal Glass", - "GRACIDEA": "Gracidea", - "MAX_MUSHROOMS": "Max Mushrooms", - "DARK_STONE": "Dark Stone", - "LIGHT_STONE": "Light Stone", - "PRISON_BOTTLE": "Prison Bottle", - "N_LUNARIZER": "N Lunarizer", - "N_SOLARIZER": "N Solarizer", - "RUSTED_SWORD": "Rusted Sword", - "RUSTED_SHIELD": "Rusted Shield", - "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", - "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", - "WELLSPRING_MASK": "Wellspring Mask", - "HEARTHFLAME_MASK": "Hearthflame Mask", - "CORNERSTONE_MASK": "Cornerstone Mask", - "SHOCK_DRIVE": "Shock Drive", - "BURN_DRIVE": "Burn Drive", - "CHILL_DRIVE": "Chill Drive", - "DOUSE_DRIVE": "Douse Drive", + "BLUE_ORB": "Gemme Bleue", + "RED_ORB": "Gemme Rouge", + "SHARP_METEORITE": "Méteorite Aiguisée", + "HARD_METEORITE": "Méteorite Solide", + "SMOOTH_METEORITE": "Méteorite Lisse", + "ADAMANT_CRYSTAL": "Globe Adamant", + "LUSTROUS_ORB": "Orbe Perlé", + "GRISEOUS_CORE": "Globe Platiné", + "REVEAL_GLASS": "Miroir Sacré", + "GRACIDEA": "Gracidée", + "MAX_MUSHROOMS": "Maxi Champis", + "DARK_STONE": "Galet Noir", + "LIGHT_STONE": "Galet Blanc", + "PRISON_BOTTLE": "Vase Scellé", + "N_LUNARIZER": "Necroluna", + "N_SOLARIZER": "Necrosol", + "RUSTED_SWORD": "Épée Rouillée", + "RUSTED_SHIELD": "Bouclier Rouillé", + "ICY_REINS_OF_UNITY": "Rênes de l’Unité du Froid", + "SHADOW_REINS_OF_UNITY": "Rênes de l’Unité d’Effoi", + "WELLSPRING_MASK": "Masque du Puits", + "HEARTHFLAME_MASK": "Masque du Fourneau", + "CORNERSTONE_MASK": "Masque de la Pierre", + "SHOCK_DRIVE": "Module Choc", + "BURN_DRIVE": "Module Pyro", + "CHILL_DRIVE": "Module Aqua", + "DOUSE_DRIVE": "Module Choc", }, TeraType: { - "UNKNOWN": "Unknown", + "UNKNOWN": "Inconnu", "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", + "FIGHTING": "Combat", + "FLYING": "Vol", "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", + "GROUND": "Sol", + "ROCK": "Roche", + "BUG": "Insecte", + "GHOST": "Spectre", + "STEEL": "Acier", + "FIRE": "Feu", + "WATER": "Eau", + "GRASS": "Plante", + "ELECTRIC": "Électrik", + "PSYCHIC": "Psy", + "ICE": "Glace", "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", - "STELLAR": "Stellar", + "DARK": "Ténèbres", + "FAIRY": "Fée", + "STELLAR": "Stellaire", }, -} as const; \ No newline at end of file +} as const; From 429e66357fd0ea2c0dd8978c715e3ccf50c0961d Mon Sep 17 00:00:00 2001 From: Matthew Olker Date: Thu, 16 May 2024 19:13:52 -0400 Subject: [PATCH 40/84] fix splash message config --- src/data/splash-messages.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/splash-messages.ts b/src/data/splash-messages.ts index 3a40429e9b6..c650b038287 100644 --- a/src/data/splash-messages.ts +++ b/src/data/splash-messages.ts @@ -8,14 +8,14 @@ export function getSplashMessages(): string[] { const splashMessages = Array(10).fill(getBattleCountSplashMessage()); splashMessages.push(...[ i18next.t('splashMessages:joinTheDiscord'), - i18next.t('splashMessages:infiniteLevel'), + i18next.t('splashMessages:infiniteLevels'), i18next.t('splashMessages:everythingStacks'), i18next.t('splashMessages:optionalSaveScumming'), i18next.t('splashMessages:biomes'), i18next.t('splashMessages:openSource'), - i18next.t('splashMessages:playWith5xSpeed'), + i18next.t('splashMessages:playWithSpeed'), i18next.t('splashMessages:liveBugTesting'), - i18next.t('splashMessages:heavyRoR2Influence'), + i18next.t('splashMessages:heavyInfluence'), i18next.t('splashMessages:pokemonRiskAndPokemonRain'), i18next.t('splashMessages:nowWithMoreSalt'), i18next.t('splashMessages:infiniteFusionAtHome'), From 78fffaad9d96b71345544c221b3ac4a007e9696c Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 01:31:09 +0200 Subject: [PATCH 41/84] French modifier-type.ts corrections and adjustments (#1000) --- src/locales/fr/modifier-type.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index e8b35f146e1..45b46a996ce 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -64,7 +64,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "Fait monter toute l’équipe d’1 niveau", }, "PokemonBaseStatBoosterModifierType": { - description: "Auguemente de 10% {{statName}} de base de son porteur. Plus les IV sont hauts, plus il peut en porter.", + description: "{{statName}} de base de base de son porteur augumentée de 10%. Plus les IV sont hauts, plus il peut en porter.", }, "AllPokemonFullHpRestoreModifierType": { description: "Restaure tous les PV de toute l'équipe", @@ -165,7 +165,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "MEMORY_MUSHROOM": { name: "Champignon Mémoriel", description: "Remémore une capacité à un Pokémon" }, "EXP_SHARE": { name: "Multi Exp", description: "Tous les non-participants recoivent 20% des Points d’Exp d’un participant" }, - "EXP_BALANCE": { name: "Équilibr’Exp.", description: "Équilibre les Points d’Exp à l’avantage des membres de l’équipe aux plus bas niveaux" }, + "EXP_BALANCE": { name: "Équilibr’Exp", description: "Équilibre les Points d’Exp à l’avantage des membres de l’équipe aux plus bas niveaux" }, "OVAL_CHARM": { name: "Charme Ovale", description: "Quand plusieurs Pokémon sont en combat, chacun gagne 10% supplémentaires du total d’Exp" }, @@ -196,7 +196,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "MULTI_LENS": { name: "Multi Loupe" }, "HEALING_CHARM": { name: "Charme Soin", description: "Auguemente de 10% l’efficacité des capacités et objets de soin de PV (hors Rappels)" }, - "CANDY_JAR": { name: "Jarre de Bonbons", description: "Auguemente de 1 le nombre de niveaux gagnés à l’utilisation d’Super Bonbon" }, + "CANDY_JAR": { name: "Jarre de Bonbons", description: "Auguemente de 1 le nombre de niveaux gagnés à l’utilisation d’un Super Bonbon" }, "BERRY_POUCH": { name: "Sac à Baies", description: "Ajoute 25% de chances qu’une Baie utilisée ne soit pas consomée" }, From 45663ceae0a10083788dff6955633b3af9c0eaea Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 01:45:23 +0200 Subject: [PATCH 42/84] French typo corrections modifier-type.ts (#1001) * French typo corrections modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts --- src/locales/fr/modifier-type.ts | 38 ++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 45b46a996ce..826d51bd3a2 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -42,7 +42,7 @@ export const modifierType: ModifierTypeTranslationEntries = { } }, "PokemonPpUpModifierType": { - description: "Auguemente le max de PP de {{upPoints}} à une capacité d’un Pokémon pour chaque 5 PP max (max : 3)", + description: "Augmente le max de PP de {{upPoints}} à une capacité d’un Pokémon pour chaque 5 PP max (max : 3)", }, "PokemonNatureChangeModifierType": { name: "Aromate {{natureName}}", @@ -52,10 +52,10 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats", }, "TempBattleStatBoosterModifierType": { - description: "{{tempBattleStatName}} auguementée d’1 cran pour tout l’équipe pendant 5 combats", + description: "{{tempBattleStatName}} augmentée d’1 cran pour tout l’équipe pendant 5 combats", }, "AttackTypeBoosterModifierType": { - description: "Auguemente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon", + description: "Augmente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon", }, "PokemonLevelIncrementModifierType": { description: "Fait monter un Pokémon d’1 niveau", @@ -64,7 +64,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "Fait monter toute l’équipe d’1 niveau", }, "PokemonBaseStatBoosterModifierType": { - description: "{{statName}} de base de base de son porteur augumentée de 10%. Plus les IV sont hauts, plus il peut en porter.", + description: "{{statName}} de base de base de son porteur augmentée de 10%. Plus les IV sont hauts, plus il peut en porter.", }, "AllPokemonFullHpRestoreModifierType": { description: "Restaure tous les PV de toute l'équipe", @@ -81,16 +81,16 @@ export const modifierType: ModifierTypeTranslationEntries = { }, }, "ExpBoosterModifierType": { - description: "Auguemente de {{boostPercent}}% le gain de Points d’Exp", + description: "Augmente de {{boostPercent}}% le gain de Points d’Exp", }, "PokemonExpBoosterModifierType": { - description: "Auguemente de {{boostPercent}}% le gain de Points d’Exp du porteur", + description: "Augmente de {{boostPercent}}% le gain de Points d’Exp du porteur", }, "PokemonFriendshipBoosterModifierType": { - description: "Auguemente le gain d’amitié de 50% par victoire", + description: "Augmente le gain d’amitié de 50% par victoire", }, "PokemonMoveAccuracyBoosterModifierType": { - description: "Auguemente de {{accuracyAmount}} la précision des capacités (maximum 100)", + description: "Augmente de {{accuracyAmount}} la précision des capacités (maximum 100)", }, "PokemonMultiHitModifierType": { description: "Frappe une fois de plus en échange d’une baisse de puissance de respectivement 60/75/82,5% par cumul", @@ -164,7 +164,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "MEMORY_MUSHROOM": { name: "Champignon Mémoriel", description: "Remémore une capacité à un Pokémon" }, - "EXP_SHARE": { name: "Multi Exp", description: "Tous les non-participants recoivent 20% des Points d’Exp d’un participant" }, + "EXP_SHARE": { name: "Multi Exp", description: "Tous les non-participants reçoivent 20% des Points d’Exp d’un participant" }, "EXP_BALANCE": { name: "Équilibr’Exp", description: "Équilibre les Points d’Exp à l’avantage des membres de l’équipe aux plus bas niveaux" }, "OVAL_CHARM": { name: "Charme Ovale", description: "Quand plusieurs Pokémon sont en combat, chacun gagne 10% supplémentaires du total d’Exp" }, @@ -178,29 +178,29 @@ export const modifierType: ModifierTypeTranslationEntries = { "SOOTHE_BELL": { name: "Grelot Zen" }, - "SOUL_DEW": { name: "Rosée Âme", description: "Auguemente de 10% l’influence de la nature d’un Pokémon sur ses statistiques (cumulatif)" }, + "SOUL_DEW": { name: "Rosée Âme", description: "Augmente de 10% l’influence de la nature d’un Pokémon sur ses statistiques (cumulatif)" }, "NUGGET": { name: "Pépite" }, "BIG_NUGGET": { name: "Maxi Pépite" }, "RELIC_GOLD": { name: "Vieux Ducat" }, - "AMULET_COIN": { name: "Pièce Rune", description: "Auguemente de 20% les gains d’argent" }, + "AMULET_COIN": { name: "Pièce Rune", description: "Augmente de 20% les gains d’argent" }, "GOLDEN_PUNCH": { name: "Poing Doré", description: "50% des dégâts infligés sont convertis en argent" }, "COIN_CASE": { name: "Boite Jetons", description: "Tous les 10 combats, recevez 10% de votre argent en intérêts" }, - "LOCK_CAPSULE": { name: "Poké Écrin", description: "Permet de verouiller des objets rares si vous relancez les objets proposés" }, + "LOCK_CAPSULE": { name: "Poké Écrin", description: "Permet de verrouiller des objets rares si vous relancez les objets proposés" }, "GRIP_CLAW": { name: "Accro Griffe" }, "WIDE_LENS": { name: "Loupe" }, "MULTI_LENS": { name: "Multi Loupe" }, - "HEALING_CHARM": { name: "Charme Soin", description: "Auguemente de 10% l’efficacité des capacités et objets de soin de PV (hors Rappels)" }, - "CANDY_JAR": { name: "Jarre de Bonbons", description: "Auguemente de 1 le nombre de niveaux gagnés à l’utilisation d’un Super Bonbon" }, + "HEALING_CHARM": { name: "Charme Soin", description: "Augmente de 10% l’efficacité des capacités et objets de soin de PV (hors Rappels)" }, + "CANDY_JAR": { name: "Jarre de Bonbons", description: "Augmente de 1 le nombre de niveaux gagnés à l’utilisation d’un Super Bonbon" }, - "BERRY_POUCH": { name: "Sac à Baies", description: "Ajoute 25% de chances qu’une Baie utilisée ne soit pas consomée" }, + "BERRY_POUCH": { name: "Sac à Baies", description: "Ajoute 25% de chances qu’une Baie utilisée ne soit pas consommée" }, - "FOCUS_BAND": { name: "Bandeau", description: "Ajoute 10% de chances de suvivre avec 1 PV si les dégâts reçus pouvaient mettre K.O." }, + "FOCUS_BAND": { name: "Bandeau", description: "Ajoute 10% de chances de survivre avec 1 PV si les dégâts reçus pouvaient mettre K.O." }, "QUICK_CLAW": { name: "Vive Griffe", description: "Ajoute 10% de chances d’agir en premier, indépendamment de la vitesse (après la priorité)" }, @@ -211,8 +211,8 @@ export const modifierType: ModifierTypeTranslationEntries = { "BATON": { name: "Bâton", description: "Permet de transmettre les effets en cas de changement de Pokémon. Ignore les pièges." }, - "SHINY_CHARM": { name: "Charme Chroma", description: "Auguemente énormément les chances de rencontrer un Pokémon sauvage chromatique" }, - "ABILITY_CHARM": { name: "Charme Talent", description: "Auguemente énormément les chances de rencontrer un Pokémon sauvage avec un Talent Caché" }, + "SHINY_CHARM": { name: "Charme Chroma", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage chromatique" }, + "ABILITY_CHARM": { name: "Charme Talent", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage avec un Talent Caché" }, "IV_SCANNER": { name: "Scanner d’IV", description: "Scanne les IV d’un Pokémon sauvage. 2 IV sont révélées par Scanner. Les meilleurs sont montrés en 1er." }, @@ -222,7 +222,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "GOLDEN_POKEBALL": { name: "Poké Ball Dorée", description: "Ajoute 1 choix d’objet à la fin de chaque combat" }, - "ENEMY_DAMAGE_BOOSTER": { name: "Jeton Dégâts", description: "Auguemente les dégâts de 5%" }, + "ENEMY_DAMAGE_BOOSTER": { name: "Jeton Dégâts", description: "Augmente les dégâts de 5%" }, "ENEMY_DAMAGE_REDUCTION": { name: "Jeton Protection", description: "Diminue les dégâts reçus de 2,5%" }, "ENEMY_HEAL": { name: "Jeton Soin", description: "Soigne 2% des PV max à chaque tour" }, "ENEMY_ATTACK_POISON_CHANCE": { name: "Jeton Poison" }, From 883524f441f1e3daa32eef07ce316218def71565 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 02:07:26 +0200 Subject: [PATCH 43/84] Even more French typos in modifier-type.ts (#1002) * Even more French typos in modifier-type.ts * Update modifier-type.ts --- src/locales/fr/modifier-type.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 826d51bd3a2..2b5e7a54415 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -64,7 +64,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "Fait monter toute l’équipe d’1 niveau", }, "PokemonBaseStatBoosterModifierType": { - description: "{{statName}} de base de base de son porteur augmentée de 10%. Plus les IV sont hauts, plus il peut en porter.", + description: "{{statName}} de base de son porteur augmentée de 10%. Plus les IV sont hauts, plus il peut en porter.", }, "AllPokemonFullHpRestoreModifierType": { description: "Restaure tous les PV de toute l'équipe", @@ -214,7 +214,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "SHINY_CHARM": { name: "Charme Chroma", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage chromatique" }, "ABILITY_CHARM": { name: "Charme Talent", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage avec un Talent Caché" }, - "IV_SCANNER": { name: "Scanner d’IV", description: "Scanne les IV d’un Pokémon sauvage. 2 IV sont révélées par Scanner. Les meilleurs sont montrés en 1er." }, + "IV_SCANNER": { name: "Scanner d’IV", description: "Scanne les IV d’un Pokémon sauvage. 2 IV sont révélés par Scanner. Les meilleurs sont montrés en 1er." }, "DNA_SPLICERS": { name: "Pointeau ADN" }, @@ -236,7 +236,7 @@ export const modifierType: ModifierTypeTranslationEntries = { }, TempBattleStatBoosterItem: { "x_attack": "Attaque +", - "x_defense": "Defense +", + "x_defense": "Défense +", "x_sp_atk": "Atq. Spé. +", "x_sp_def": "Déf. Spé. +", "x_speed": "Vitesse +", @@ -375,7 +375,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "RUSTED_SWORD": "Épée Rouillée", "RUSTED_SHIELD": "Bouclier Rouillé", "ICY_REINS_OF_UNITY": "Rênes de l’Unité du Froid", - "SHADOW_REINS_OF_UNITY": "Rênes de l’Unité d’Effoi", + "SHADOW_REINS_OF_UNITY": "Rênes de l’Unité d’Effroi", "WELLSPRING_MASK": "Masque du Puits", "HEARTHFLAME_MASK": "Masque du Fourneau", "CORNERSTONE_MASK": "Masque de la Pierre", From 4d804d787c0f2dfd914ad689cd73108eed766f67 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 03:14:09 +0200 Subject: [PATCH 44/84] Minor French modifier-type.ts edits (#1004) * Minor correction French modifier-type.ts * Update modifier-type.ts * Update modifier-type.ts --- src/locales/fr/modifier-type.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 2b5e7a54415..96aeeccf4f8 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -52,7 +52,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats", }, "TempBattleStatBoosterModifierType": { - description: "{{tempBattleStatName}} augmentée d’1 cran pour tout l’équipe pendant 5 combats", + description: "Augmente d’1 cran {{tempBattleStatName}} pour tout l’équipe pendant 5 combats", }, "AttackTypeBoosterModifierType": { description: "Augmente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon", @@ -64,7 +64,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "Fait monter toute l’équipe d’1 niveau", }, "PokemonBaseStatBoosterModifierType": { - description: "{{statName}} de base de son porteur augmentée de 10%. Plus les IV sont hauts, plus il peut en porter.", + description: "Augmente de 10% {{statName}} de base de son porteur. Plus les IV sont hauts, plus il peut en porter.", }, "AllPokemonFullHpRestoreModifierType": { description: "Restaure tous les PV de toute l'équipe", @@ -162,7 +162,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "SUPER_LURE": { name: "Super Parfum" }, "MAX_LURE": { name: "Parfum Max" }, - "MEMORY_MUSHROOM": { name: "Champignon Mémoriel", description: "Remémore une capacité à un Pokémon" }, + "MEMORY_MUSHROOM": { name: "Champi Mémoriel", description: "Remémore une capacité à un Pokémon" }, "EXP_SHARE": { name: "Multi Exp", description: "Tous les non-participants reçoivent 20% des Points d’Exp d’un participant" }, "EXP_BALANCE": { name: "Équilibr’Exp", description: "Équilibre les Points d’Exp à l’avantage des membres de l’équipe aux plus bas niveaux" }, From 71d9f11d9401cd6d7536e2e315bab36fa053149e Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Thu, 16 May 2024 20:19:16 -0500 Subject: [PATCH 45/84] Allow Dada Zarude to be encountered MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Another cosmetic Pokémon form for a mythical is now available. --- src/battle-scene.ts | 1 + src/data/battler-tags.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index f15cf1a52e2..0f75447a500 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -1013,6 +1013,7 @@ export default class BattleScene extends SceneBase { case Species.FURFROU: case Species.ORICORIO: case Species.MAGEARNA: + case Species.ZARUDE: case Species.SQUAWKABILLY: case Species.TATSUGIRI: case Species.PALDEA_TAUROS: diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index f66b5b2a0d9..3dca2a3cadf 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -14,7 +14,7 @@ import { BattlerTagType } from "./enums/battler-tag-type"; import { TerrainType } from "./terrain"; import { WeatherType } from "./weather"; import { BattleStat } from "./battle-stat"; -import { allAbilities } from "./ability" +import { allAbilities } from "./ability"; export enum BattlerTagLapseType { FAINT, From 7561521020d29eb7e2191f00dc38294a8c3f1b34 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Thu, 16 May 2024 21:41:38 -0400 Subject: [PATCH 46/84] Add endings for classic mode --- public/images/cg/end_f.png | Bin 0 -> 53035 bytes public/images/cg/end_m.png | Bin 0 -> 41829 bytes src/data/dialogue.ts | 19 ++++ src/loading-scene.ts | 3 + src/phases.ts | 152 ++++++++++++++++++++-------- src/ui/battle-message-ui-handler.ts | 2 +- 6 files changed, 132 insertions(+), 44 deletions(-) create mode 100644 public/images/cg/end_f.png create mode 100644 public/images/cg/end_m.png diff --git a/public/images/cg/end_f.png b/public/images/cg/end_f.png new file mode 100644 index 0000000000000000000000000000000000000000..84f94d7e05d30cca31929a24dc43d05a2fa4ffdb GIT binary patch literal 53035 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 z�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 z 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 literal 0 HcmV?d00001 diff --git a/src/data/dialogue.ts b/src/data/dialogue.ts index 055e5627a52..e54196d9e25 100644 --- a/src/data/dialogue.ts +++ b/src/data/dialogue.ts @@ -2290,6 +2290,25 @@ export const battleSpecDialogue = { } }; +export const miscDialogue = { + ending: [ + `@c{smile}Oh? You won?@d{96} @c{smile_eclosed}I guess I should've known.\nBut, you're back now. + $@c{smile}It's over.@d{64} You ended the loop. + $@c{serious_smile_fists}You fulfilled your dream too, didn't you?\nYou didn't lose even once. + $@c{neutral}I'm the only one who'll remember what you did.@d{96}\nI guess that's okay, isn't it? + $@c{serious_smile_fists}Your legend will always live on in our hearts. + $@c{smile_eclosed}Anyway, I've had about enough of this place, haven't you? Let's head home. + $@c{serious_smile_fists}Maybe when we get back, we can have another battle?\nIf you're up to it.`, + `@c{shock}You're back?@d{32} Does that mean…@d{96} you won?!\n@c{smile_ehalf}I should have known you had it in you. + $@c{smile_eclosed}Of course… I always had that feeling.\n@c{smile}It's over now, right? You ended the loop. + $@c{smile_ehalf}You fulfilled your dream too, didn't you?\nYou didn't lose even once. + $I'll be the only one to remember what you did.\n@c{angry_mopen}I'll try not to forget! + $@c{smile_wave_wink}Just kidding!@d{64} @c{smile}I'd never forget.@d{32}\nYour legend will live on in our hearts. + $@c{smile_wave}Anyway,@d{64} it's getting late…@d{96} I think?\nIt's hard to tell in this place. + $Let's go home. @c{smile_wave_wink}Maybe tomorrow, we can have another battle, for old time's sake?` + ] +} + export function getCharVariantFromDialogue(message: string): string { const variantMatch = /@c\{(.*?)\}/.exec(message); if (variantMatch) diff --git a/src/loading-scene.ts b/src/loading-scene.ts index a49fed480e6..56d0ab47f13 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -209,6 +209,9 @@ export class LoadingScene extends SceneBase { this.loadImage('egg_list_bg', 'ui'); + this.loadImage('end_m', 'cg'); + this.loadImage('end_f', 'cg'); + for (let i = 0; i < 10; i++) { this.loadAtlas(`pokemon_icons_${i}`, ''); if (i) diff --git a/src/phases.ts b/src/phases.ts index f44b4bcaa0b..89b4974b853 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -37,7 +37,7 @@ import { BattleType, BattlerIndex, TurnCommand } from "./battle"; import { BattleSpec } from "./enums/battle-spec"; import { Species } from "./data/enums/species"; import { HealAchv, LevelAchv, achvs } from "./system/achv"; -import { TrainerSlot, trainerConfigs } from "./data/trainer-config"; +import { TrainerConfig, TrainerSlot, trainerConfigs } from "./data/trainer-config"; import { TrainerType } from "./data/enums/trainer-type"; import { EggHatchPhase } from "./egg-hatch-phase"; import { Egg } from "./data/egg"; @@ -46,7 +46,7 @@ import { loggedInUser, updateUserInfo } from "./account"; import { PlayerGender, SessionSaveData } from "./system/game-data"; import { addPokeballCaptureStars, addPokeballOpenParticles } from "./field/anims"; import { SpeciesFormChangeActiveTrigger, SpeciesFormChangeManualTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangePreMoveTrigger } from "./data/pokemon-forms"; -import { battleSpecDialogue, getCharVariantFromDialogue } from "./data/dialogue"; +import { battleSpecDialogue, getCharVariantFromDialogue, miscDialogue } from "./data/dialogue"; import ModifierSelectUiHandler, { SHOP_OPTIONS_ROW_LIMIT } from "./ui/modifier-select-ui-handler"; import { Setting } from "./system/settings"; import { Tutorial, handleTutorial } from "./tutorial"; @@ -59,6 +59,7 @@ import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm, speciesStarte import i18next from './plugins/i18n'; import { Abilities } from "./data/enums/abilities"; import * as Overrides from './overrides'; +import { TextStyle, addTextObject } from "./ui/text"; export class LoginPhase extends Phase { private showText: boolean; @@ -160,7 +161,6 @@ export class TitlePhase extends Phase { this.scene.gameData.getSession(loggedInUser.lastSessionSlot).then(sessionData => { if (sessionData) { this.lastSessionData = sessionData; - console.log(sessionData); const biomeKey = getBiomeKey(sessionData.arena.biome); const bgTexture = `${biomeKey}_bg`; this.scene.arenaBg.setTexture(bgTexture); @@ -3219,11 +3219,10 @@ export class FaintPhase extends PokemonPhase { if (defeatSource?.isOnField()) { applyPostVictoryAbAttrs(PostVictoryAbAttr, defeatSource); const pvmove = allMoves[pokemon.turnData.attacksReceived[0].move]; - const pvattrs = pvmove.getAttrs(PostVictoryStatChangeAttr); + const pvattrs = pvmove.getAttrs(PostVictoryStatChangeAttr) as PostVictoryStatChangeAttr[]; if (pvattrs.length) { - for (let pvattr of pvattrs) { + for (let pvattr of pvattrs) pvattr.applyPostVictory(defeatSource, defeatSource, pvmove); - } } } } @@ -3537,12 +3536,10 @@ export class GameOverModifierRewardPhase extends ModifierRewardPhase { this.scene.addModifier(newModifier).then(() => { this.scene.playSound('level_up_fanfare'); this.scene.ui.setMode(Mode.MESSAGE); - this.scene.ui.fadeIn(250).then(() => { - this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => { - this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true)); - resolve(); - }, null, true, 1500); - }); + this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => { + this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true)); + resolve(); + }, null, true, 1500); }); }) } @@ -3563,11 +3560,9 @@ export class RibbonModifierRewardPhase extends ModifierRewardPhase { this.scene.addModifier(newModifier).then(() => { this.scene.playSound('level_up_fanfare'); this.scene.ui.setMode(Mode.MESSAGE); - this.scene.ui.fadeIn(250).then(() => { - this.scene.ui.showText(`${this.species.name} beat ${this.scene.gameMode.getName()} Mode for the first time!\nYou received ${newModifier.type.name}!`, null, () => { - resolve(); - }, null, true, 1500); - }); + this.scene.ui.showText(`${this.species.name} beat ${this.scene.gameMode.getName()} Mode for the first time!\nYou received ${newModifier.type.name}!`, null, () => { + resolve(); + }, null, true, 1500); }); }) } @@ -3619,6 +3614,7 @@ export class GameOverPhase extends BattlePhase { handleGameOver(): void { const doGameOver = (newClear: boolean) => { + this.scene.disableMenu = true; this.scene.time.delayedCall(1000, () => { let firstClear = false; if (this.victory && newClear) { @@ -3640,20 +3636,40 @@ export class GameOverPhase extends BattlePhase { const activeBattlers = this.scene.getField().filter(p => p?.isActive(true)); activeBattlers.map(p => p.hideInfo()); this.scene.ui.fadeOut(fadeDuration).then(() => { - [ this.scene.field, ...activeBattlers ].map(a => a.setVisible(false)); + activeBattlers.map(a => a.setVisible(false)); this.scene.setFieldScale(1, true); this.scene.clearPhaseQueue(); this.scene.ui.clearText(); - if (newClear) - this.handleUnlocks(); - if (this.victory && newClear) { - for (let species of this.firstRibbons) - this.scene.unshiftPhase(new RibbonModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PLUS, species)); - if (!firstClear) - this.scene.unshiftPhase(new GameOverModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PREMIUM)); + + const clear = (endCardPhase?: EndCardPhase) => { + if (newClear) + this.handleUnlocks(); + if (this.victory && newClear) { + for (let species of this.firstRibbons) + this.scene.unshiftPhase(new RibbonModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PLUS, species)); + if (!firstClear) + this.scene.unshiftPhase(new GameOverModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PREMIUM)); + } + this.scene.pushPhase(new PostGameOverPhase(this.scene, endCardPhase)); + this.end(); } - this.scene.pushPhase(new PostGameOverPhase(this.scene)); - this.end(); + + if (this.victory) { + this.scene.ui.fadeIn(500).then(() => { + this.scene.charSprite.showCharacter(`rival_${this.scene.gameData.gender === PlayerGender.FEMALE ? 'm' : 'f'}`, getCharVariantFromDialogue(miscDialogue.ending[this.scene.gameData.gender === PlayerGender.FEMALE ? 0 : 1])).then(() => { + this.scene.ui.showDialogue(miscDialogue.ending[this.scene.gameData.gender === PlayerGender.FEMALE ? 0 : 1], this.scene.gameData.gender === PlayerGender.FEMALE ? trainerConfigs[TrainerType.RIVAL].name : trainerConfigs[TrainerType.RIVAL].nameFemale, null, () => { + this.scene.ui.fadeOut(500).then(() => { + this.scene.charSprite.hide().then(() => { + const endCardPhase = new EndCardPhase(this.scene); + this.scene.unshiftPhase(endCardPhase); + clear(endCardPhase); + }); + }); + }); + }); + }); + } else + clear(); }); }); }; @@ -3696,6 +3712,41 @@ export class GameOverPhase extends BattlePhase { } } +export class EndCardPhase extends Phase { + public endCard: Phaser.GameObjects.Image; + public text: Phaser.GameObjects.Text; + + constructor(scene: BattleScene) { + super(scene); + } + + start(): void { + super.start(); + + this.scene.ui.getMessageHandler().bg.setVisible(false); + this.scene.ui.getMessageHandler().nameBoxContainer.setVisible(false); + + this.endCard = this.scene.add.image(0, 0, `end_${this.scene.gameData.gender === PlayerGender.FEMALE ? 'f' : 'm'}`); + this.endCard.setOrigin(0); + this.endCard.setScale(0.5); + this.scene.field.add(this.endCard); + + this.text = addTextObject(this.scene, this.scene.game.canvas.width / 12, (this.scene.game.canvas.height / 6) - 16, 'Congratulations!', TextStyle.SUMMARY, { fontSize: '128px' }); + this.text.setOrigin(0.5); + this.scene.field.add(this.text); + + this.scene.ui.clearText(); + + this.scene.ui.fadeIn(1000).then(() => { + + this.scene.ui.showText('', null, () => { + this.scene.ui.getMessageHandler().bg.setVisible(true); + this.end(); + }, null, true); + }); + } +} + export class UnlockPhase extends Phase { private unlockable: Unlockables; @@ -3710,35 +3761,50 @@ export class UnlockPhase extends Phase { this.scene.gameData.unlocks[this.unlockable] = true; this.scene.playSound('level_up_fanfare'); this.scene.ui.setMode(Mode.MESSAGE); - this.scene.ui.fadeIn(250).then(() => { - this.scene.ui.showText(`${getUnlockableName(this.unlockable)}\nhas been unlocked.`, null, () => { - this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true)); - this.end(); - }, null, true, 1500); - }); + this.scene.ui.showText(`${getUnlockableName(this.unlockable)}\nhas been unlocked.`, null, () => { + this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true)); + this.end(); + }, null, true, 1500); }); } } export class PostGameOverPhase extends Phase { - constructor(scene: BattleScene) { + private endCardPhase: EndCardPhase; + + constructor(scene: BattleScene, endCardPhase: EndCardPhase) { super(scene); + + this.endCardPhase = endCardPhase; } start() { super.start(); - this.scene.gameData.saveAll(this.scene, true, true, true).then(success => { - if (!success) - return this.scene.reset(true); - this.scene.gameData.tryClearSession(this.scene, this.scene.sessionSlotId).then((success: boolean | [boolean, boolean]) => { - if (!success[0]) + const saveAndReset = () => { + this.scene.gameData.saveAll(this.scene, true, true, true).then(success => { + if (!success) return this.scene.reset(true); - this.scene.reset(); - this.scene.unshiftPhase(new TitlePhase(this.scene)); - this.end(); + this.scene.gameData.tryClearSession(this.scene, this.scene.sessionSlotId).then((success: boolean | [boolean, boolean]) => { + if (!success[0]) + return this.scene.reset(true); + this.scene.reset(); + this.scene.unshiftPhase(new TitlePhase(this.scene)); + this.end(); + }); }); - }); + }; + + if (this.endCardPhase) { + this.scene.ui.fadeOut(500).then(() => { + this.scene.ui.getMessageHandler().bg.setVisible(true); + + this.endCardPhase.endCard.destroy(); + this.endCardPhase.text.destroy(); + saveAndReset(); + }); + } else + saveAndReset(); } } diff --git a/src/ui/battle-message-ui-handler.ts b/src/ui/battle-message-ui-handler.ts index d04a98ea810..abcf04b7cc8 100644 --- a/src/ui/battle-message-ui-handler.ts +++ b/src/ui/battle-message-ui-handler.ts @@ -31,7 +31,7 @@ export default class BattleMessageUiHandler extends MessageUiHandler { this.textCallbackTimer = null; const bg = this.scene.add.sprite(0, 0, 'bg', this.scene.windowType); - bg.setOrigin(0, 1); + bg.setOrigin(0, 1); ui.add(bg); this.bg = bg; From e035e85811d8f515370268f21e3310b5a8de02c3 Mon Sep 17 00:00:00 2001 From: Vaner42 <94883874+Vaner42@users.noreply.github.com> Date: Fri, 17 May 2024 10:42:12 +0800 Subject: [PATCH 47/84] Translate 'trainer' into Simplified Chinese. (#1006) Co-authored-by: Junhan --- src/locales/zh_CN/trainers.ts | 506 +++++++++++++++++++--------------- 1 file changed, 282 insertions(+), 224 deletions(-) diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts index a02383a4f54..b3b89d0057d 100644 --- a/src/locales/zh_CN/trainers.ts +++ b/src/locales/zh_CN/trainers.ts @@ -2,239 +2,297 @@ import {SimpleTranslationEntries} from "#app/plugins/i18n"; // Titles of special trainers like gym leaders, elite four, and the champion export const titles: SimpleTranslationEntries = { - "elite_four": "Elite Four", - "gym_leader": "Gym Leader", - "gym_leader_female": "Gym Leader", - "champion": "Champion", - "rival": "Rival", - "professor": "Professor", - "frontier_brain": "Frontier Brain", + "elite_four": "四天王", + "gym_leader": "道馆馆主", + "gym_leader_female": "道馆馆主", + "champion": "冠军", + "rival": "劲敌", + "professor": "博士", + "frontier_brain": "开拓头脑", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; // Titles of trainers like "Youngster" or "Lass" export const trainerClasses: SimpleTranslationEntries = { - "ace_trainer": "Ace Trainer", - "ace_trainer_female": "Ace Trainer", - "ace_duo": "Ace Duo", - "artist": "Artist", - "artist_female": "Artist", - "backers": "Backers", - "backpacker": "Backpacker", - "backpacker_female": "Backpacker", - "backpackers": "Backpackers", - "baker": "Baker", - "battle_girl": "Battle Girl", - "beauty": "Beauty", - "beginners": "Beginners", - "biker": "Biker", - "black_belt": "Black Belt", - "breeder": "Breeder", - "breeder_female": "Breeder", - "breeders": "Breeders", - "clerk": "Clerk", - "clerk_female": "Clerk", - "colleagues": "Colleagues", - "crush_kin": "Crush Kin", - "cyclist": "Cyclist", - "cyclist_female": "Cyclist", - "cyclists": "Cyclists", - "dancer": "Dancer", - "dancer_female": "Dancer", - "depot_agent": "Depot Agent", - "doctor": "Doctor", - "doctor_female": "Doctor", - "fishermen": "Fishermen", - "fishermen_female": "Fishermen", - "gentleman": "Gentleman", - "guitarist": "Guitarist", - "guitarist_female": "Guitarist", - "harlequin": "Harlequin", - "hiker": "Hiker", - "hooligans": "Hooligans", - "hoopster": "Hoopster", - "infielder": "Infielder", - "janitor": "Janitor", - "lady": "Lady", - "lass": "Lass", - "linebacker": "Linebacker", - "maid": "Maid", - "madame": "Madame", - "medical_team": "Medical Team", - "musican": "Musician", - "hex_maniac": "Hex Maniac", - "nurse": "Nurse", - "nursery_aide": "Nursery Aide", - "officer": "Officer", - "parasol_lady": "Parasol Lady", - "pilot": "Pilot", - "poké_fan": "Poké Fan", - "poké_fan_family": "Poké Fan Family", - "preschooler": "Preschooler", - "preschooler_female": "Preschooler", - "preschoolers": "Preschoolers", - "psychic": "Psychic", - "psychic_female": "Psychic", - "psychics": "Psychics", - "pokémon_ranger": "Pokémon Ranger", - "pokémon_rangers": "Pokémon Ranger", - "ranger": "Ranger", - "restaurant_staff": "Restaurant Staff", - "rich_boy": "Rich Boy", - "rich_couple": "Rich Couple", - "rich_kids": "Rich Kids", - "roughneck": "Roughneck", - "scientist": "Scientist", - "scientist_female": "Scientist", - "scientists": "Scientists", - "smasher": "Smasher", - "snow_worker": "Snow Worker", - "snow_worker_female": "Snow Worker", - "striker": "Striker", - "school_kid": "School Kid", - "school_kid_female": "School Kid", - "school_kids": "School Kids", - "swimmer": "Swimmer", - "swimmer_female": "Swimmer", - "swimmers": "Swimmers", - "twins": "Twins", - "veteran": "Veteran", - "veteran_female": "Veteran", - "veteran_duo": "Veteran Duo", - "waiter": "Waiter", - "waitress": "Waitress", - "worker": "Worker", - "worker_female": "Worker", - "workers": "Workers", - "youngster": "Youngster" + "ace_trainer": "精英训练家", + "ace_trainer_female": "精英训练家", + "ace_duo": "精英组合", + "artist": "艺术家", + "artist_female": "艺术家", + "backers": "啦啦队", + "backpacker": "背包客", + "backpacker_female": "背包客", + "backpackers": "背包客组合", + "baker": "面包师", + "battle_girl": "对战少女", + "beauty": "大姐姐", + "beginners": "新人训练家组合", + "biker": "飙车族", + "black_belt": "空手道王", + "breeder": "宝可梦培育家", + "breeder_female": "宝可梦培育家", + "breeders": "宝可梦培育家组合", + "clerk": "商务人士", + "clerk_female": "职场OL", + "colleagues": "商务伙伴", + "crush_kin": "格斗姐弟", + "cyclist": "自行车手", + "cyclist_female": "自行车手", + "cyclists": "自行车手组合", + "dancer": "舞者", + "dancer_female": "舞者", + "depot_agent": "铁路员工", + "doctor": "医生", + "doctor_female": "医生", + "fishermen": "垂钓者", + "fishermen_female": "垂钓者", + "gentleman": "绅士", + "guitarist": "吉他手", + "guitarist_female": "吉他手", + "harlequin": "滑稽演员", + "hiker": "登山男", + "hooligans": "坏组合", + "hoopster": "篮球选手", + "infielder": "棒球选手", + "janitor": "清洁员", + "lady": "千金小姐", + "lass": "迷你裙", + "linebacker": "美式橄榄球选手", + "maid": "女仆", + "madame": "女士", + "medical_team": "医疗团队", + "musican": "音乐家", + "hex_maniac": "灵异迷", + "nurse": "护士", + "nursery_aide": "幼儿园老师", + "officer": "警察", + "parasol_lady": "阳伞姐姐", + "pilot": "飞行员", + "poké_fan": "发烧友俱乐部", + "poké_fan_family": "同好夫妇", + "preschooler": "幼儿园小朋友", + "preschooler_female": "幼儿园小朋友", + "preschoolers": "幼儿园小朋友组合", + "psychic": "超能力者", + "psychic_female": "超能力者", + "psychics": "超能力者组合", + "pokémon_ranger": "宝可梦巡护员", + "pokémon_rangers": "宝可梦巡护员组合", + "ranger": "巡护员", + "restaurant_staff": "服务生组合", + "rich_boy": "富家少爷", + "rich_couple": "富豪夫妇", + "rich_kids": "富二代组合", + "roughneck": "光头男", + "scientist": "研究员", + "scientist_female": "研究员", + "scientists": "研究员组合", + "smasher": "网球选手", + "snow_worker": "雪地工人", + "snow_worker_female": "雪地工人", + "striker": "足球选手", + "school_kid": "补习班学生", + "school_kid_female": "补习班学生", + "school_kids": "补习班学生组合", + "swimmer": "泳裤小伙子", + "swimmer_female": "比基尼大姐姐", + "swimmers": "泳装情侣", + "twins": "双胞胎", + "veteran": "资深训练家", + "veteran_female": "资深训练家", + "veteran_duo": "资深组合", + "waiter": "服务生", + "waitress": "女服务生", + "worker": "工人", + "worker_female": "工人", + "workers": "工人组合", + "youngster": "短裤小子" } as const; // Names of special trainers like gym leaders, elite four, and the champion export const trainerNames: SimpleTranslationEntries = { - "brock": "Brock", - "misty": "Misty", - "lt_surge": "Lt Surge", - "erika": "Erika", - "janine": "Janine", - "sabrina": "Sabrina", - "blaine": "Blaine", - "giovanni": "Giovanni", - "falkner": "Falkner", - "bugsy": "Bugsy", - "whitney": "Whitney", - "morty": "Morty", - "chuck": "Chuck", - "jasmine": "Jasmine", - "pryce": "Pryce", - "clair": "Clair", - "roxanne": "Roxanne", - "brawly": "Brawly", - "wattson": "Wattson", - "flannery": "Flannery", - "norman": "Norman", - "winona": "Winona", - "tate": "Tate", - "liza": "Liza", - "juan": "Juan", - "roark": "Roark", - "gardenia": "Gardenia", - "maylene": "Maylene", - "crasher_wake": "Crasher Wake", - "fantina": "Fantina", - "byron": "Byron", - "candice": "Candice", - "volkner": "Volkner", - "cilan": "Cilan", - "chili": "Chili", - "cress": "Cress", - "cheren": "Cheren", - "lenora": "Lenora", - "roxie": "Roxie", - "burgh": "Burgh", - "elesa": "Elesa", - "clay": "Clay", - "skyla": "Skyla", - "brycen": "Brycen", - "drayden": "Drayden", - "marlon": "Marlon", - "viola": "Viola", - "grant": "Grant", - "korrina": "Korrina", - "ramos": "Ramos", - "clemont": "Clemont", - "valerie": "Valerie", - "olympia": "Olympia", - "wulfric": "Wulfric", - "milo": "Milo", - "nessa": "Nessa", - "kabu": "Kabu", - "bea": "Bea", - "allister": "Allister", - "opal": "Opal", - "bede": "Bede", - "gordie": "Gordie", - "melony": "Melony", - "piers": "Piers", - "marnie": "Marnie", - "raihan": "Raihan", - "katy": "Katy", - "brassius": "Brassius", - "iono": "Iono", - "kofu": "Kofu", - "larry": "Larry", - "ryme": "Ryme", - "tulip": "Tulip", - "grusha": "Grusha", - "lorelei": "Lorelei", - "bruno": "Bruno", - "agatha": "Agatha", - "lance": "Lance", - "will": "Will", - "koga": "Koga", - "karen": "Karen", - "sidney": "Sidney", - "phoebe": "Phoebe", - "glacia": "Glacia", - "drake": "Drake", - "aaron": "Aaron", - "bertha": "Bertha", - "flint": "Flint", - "lucian": "Lucian", - "shauntal": "Shauntal", - "marshal": "Marshal", - "grimsley": "Grimsley", - "caitlin": "Caitlin", - "malva": "Malva", - "siebold": "Siebold", - "wikstrom": "Wikstrom", - "drasna": "Drasna", - "hala": "Hala", - "molayne": "Molayne", - "olivia": "Olivia", - "acerola": "Acerola", - "kahili": "Kahili", - "rika": "Rika", - "poppy": "Poppy", - "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) - "hassel": "Hassel", - "crispin": "Crispin", - "amarys": "Amarys", - "lacey": "Lacey", - "drayton": "Drayton", - "blue": "Blue", - "red": "Red", - "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) - "steven": "Steven", - "wallace": "Wallace", - "cynthia": "Cynthia", - "alder": "Alder", - "iris": "Iris", - "diantha": "Diantha", + // ---- 馆主 Gym leader ---- + // 关都地区 Kanto Region + "brock": "小刚", + "misty": "小霞", + "lt_surge": "马志士", + "erika": "莉佳", + "janine": "阿杏", + "sabrina": "娜姿", + "blaine": "夏伯", + "giovanni": "坂木", + + // 城都地区 Johto Region + "falkner": "阿速", + "bugsy": "阿笔", + "whitney": "小茜", + "morty": "松叶", + "chuck": "阿四", + "jasmine": "阿蜜", + "pryce": "柳伯", + "clair": "小椿", + + // 丰缘地区 Hoenn Region + "roxanne": "杜娟", + "brawly": "藤树", + "wattson": "铁旋", + "flannery": "亚莎", + "norman": "千里", + "winona": "娜琪", + "tate": "小枫", + "liza": "小南", + "juan": "亚当", + + // 神奥地区 Sinnoh Region + "roark": "瓢太", + "gardenia": "菜种", + "maylene": "阿李", + "crasher_wake": "吉宪", + "fantina": "梅丽莎", + "byron": "东瓜", + "candice": "小菘", + "volkner": "电次", + + // 合众地区 Unova Region + "cilan": "天桐", + "chili": "伯特", + "cress": "寇恩", + "cheren": "黑连", + "lenora": "芦荟", + "roxie": "霍米加", + "burgh": "亚堤", + "elesa": "小菊儿", + "clay": "菊老大", + "skyla": "风露", + "brycen": "哈奇库", + "drayden": "夏卡", + "marlon": "西子伊", + + // 卡洛斯地区 Kalos Region + "viola": "紫罗兰", + "grant": "查克洛", + "korrina": "可尔妮", + "ramos": "福爷", + "clemont": "希特隆", + "valerie": "玛绣", + "olympia": "葛吉花", + "wulfric": "得抚", + + // 伽勒尔地区 Galar Region + "milo": "亚洛", + "nessa": "露璃娜", + "kabu": "卡芜", + "bea": "彩豆", + "allister": "欧尼奥", + "opal": "波普菈", + "bede": "彼特", + "gordie": "玛瓜", + "melony": "美蓉", + "piers": "聂梓", + "marnie": "玛俐", + "raihan": "奇巴纳", + + // 帕底亚地区 Paldea Region + "katy": "阿枫", + "brassius": "寇沙", + "iono": "奇树", + "kofu": "海岱", + "larry": "青木", + "ryme": "莱姆", + "tulip": "莉普", + "grusha": "古鲁夏", + + // ---- 四天王 Elite Four ---- + // 关都地区 Kanto Region + "lorelei": "科拿", + "bruno": "希巴", + "agatha": "菊子", + "lance": "阿渡", + + // 城都地区 Johto Region + "will": "一树", + "koga": "阿桔", + "karen": "梨花", + + // 丰都地区 Hoenn Region + "sidney": "花月", + "phoebe": "芙蓉", + "glacia": "波妮", + "drake": "源治", + + // 神奥地区 Sinnoh Region + "aaron": "阿柳", + "bertha": "菊野", + "flint": "大叶", + "lucian": "悟松", + + // 合众地区 Unova Region + "shauntal": "婉龙", + "marshal": "连武", + "grimsley": "越橘", + "caitlin": "嘉德丽雅", + + // 卡洛斯地区 Kalos Region + "malva": "帕琦拉", + "siebold": "志米", + "wikstrom": "雁铠", + "drasna": "朵拉塞娜", + + // 阿罗拉地区 Alola Region + "hala": "哈拉", + "molayne": "马睿因", + "olivia": "丽姿", + "acerola": "阿塞萝拉", + "kahili": "卡希丽", + + // 帕底亚地区 Paldea Region + "rika": "辛俐", + "poppy": "波琵", + "larry_elite": "青木", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + "hassel": "八朔", + + // 蓝莓学院 Blueberry Academy + "crispin": "赤松", + "amarys": "纳莉", + "lacey": "紫竽", + "drayton": "杜若", + + // ---- 冠军 Champion ---- + // 关都地区 Kanto Region + "blue": "青绿", + "red": "赤红", + + // 城都地区 Johto Region + "lance_champion": "阿渡", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) + + // 丰缘地区 Hoenn Region + "steven": "大吾", + "wallace": "米可利", + + // 神奥地区 Sinnoh Region + "cynthia": "竹兰", + + // 合众地区 Unova Region + "alder": "阿戴克", + "iris": "艾莉丝", + + // 卡洛斯地区 Kalos Region + "diantha": "哈乌", + + // 阿罗拉地区 Alola Region "hau": "Hau", - "geeta": "Geeta", - "nemona": "Nemona", - "kieran": "Kieran", + + // 伽勒尔地区 Galar Region "leon": "Leon", - "rival": "Finn", - "rival_female": "Ivy", + + // 帕底亚地区 paldea Region + "geeta": "也慈", + "nemona": "妮莫", + + // 蓝莓学院 Blueberry academy + "kieran": "乌栗", + + // 劲敌 rival + "rival": "芬恩", + "rival_female": "艾薇", } as const; From dd3d38b5d86ea21817f0dd7b2dd89d95b163c41b Mon Sep 17 00:00:00 2001 From: Vaner42 <94883874+Vaner42@users.noreply.github.com> Date: Fri, 17 May 2024 11:03:26 +0800 Subject: [PATCH 48/84] =?UTF-8?q?fixed=20translate=20'hau'=E3=80=81=20?= =?UTF-8?q?=E2=80=98diantha=E2=80=99=20=E3=80=81=E2=80=98leon=E2=80=99=20i?= =?UTF-8?q?nto=20Simplified=20Chinese.=20(#1009)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Translate 'trainer' into Simplified Chinese. * fixed translate 'hau'、 ‘diantha’ 、‘leon’ into Simplified Chinese. --------- Co-authored-by: Junhan --- src/locales/zh_CN/trainers.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts index b3b89d0057d..5db37c78a6b 100644 --- a/src/locales/zh_CN/trainers.ts +++ b/src/locales/zh_CN/trainers.ts @@ -277,13 +277,13 @@ export const trainerNames: SimpleTranslationEntries = { "iris": "艾莉丝", // 卡洛斯地区 Kalos Region - "diantha": "哈乌", + "diantha": "卡露妮", // 阿罗拉地区 Alola Region - "hau": "Hau", + "hau": "哈乌", // 伽勒尔地区 Galar Region - "leon": "Leon", + "leon": "丹帝", // 帕底亚地区 paldea Region "geeta": "也慈", From 1bd3ec2fd662d966c70526d067bc7dc4acf42005 Mon Sep 17 00:00:00 2001 From: Charlie Giang <146129103+charliegiang@users.noreply.github.com> Date: Thu, 16 May 2024 22:09:40 -0500 Subject: [PATCH 49/84] Fix ingrain for Phantump and Trevenant (#856) (#998) --- src/data/battler-tags.ts | 7 ++++++- src/phases.ts | 11 ++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 3dca2a3cadf..6ab249864cd 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -15,6 +15,7 @@ import { TerrainType } from "./terrain"; import { WeatherType } from "./weather"; import { BattleStat } from "./battle-stat"; import { allAbilities } from "./ability"; +import { Species } from "./enums/species"; export enum BattlerTagLapseType { FAINT, @@ -117,7 +118,11 @@ export class TrappedTag extends BattlerTag { } canAdd(pokemon: Pokemon): boolean { - return !pokemon.isOfType(Type.GHOST) && !pokemon.getTag(BattlerTagType.TRAPPED); + const isGhost = pokemon.isOfType(Type.GHOST); + const isTrapped = pokemon.getTag(BattlerTagType.TRAPPED); + const isAllowedGhostType = pokemon.species.speciesId === Species.PHANTUMP || pokemon.species.speciesId === Species.TREVENANT; + + return !isTrapped && (!isGhost || isAllowedGhostType); } onAdd(pokemon: Pokemon): void { diff --git a/src/phases.ts b/src/phases.ts index 89b4974b853..90d9a54d288 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -60,6 +60,8 @@ import i18next from './plugins/i18n'; import { Abilities } from "./data/enums/abilities"; import * as Overrides from './overrides'; import { TextStyle, addTextObject } from "./ui/text"; +import { Type } from "./data/type"; + export class LoginPhase extends Phase { private showText: boolean; @@ -1816,7 +1818,14 @@ export class CommandPhase extends FieldPhase { if (!isSwitch && this.fieldIndex) this.scene.currentBattle.turnCommands[this.fieldIndex - 1].skip = true; } else if (trapTag) { - if (!isSwitch) { + if(trapTag.sourceMove === Moves.INGRAIN && this.scene.getPokemonById(trapTag.sourceId).isOfType(Type.GHOST)) { + success = true; + this.scene.currentBattle.turnCommands[this.fieldIndex] = isSwitch + ? { command: Command.POKEMON, cursor: cursor, args: args } + : { command: Command.RUN }; + break; + } + if (!isSwitch) { this.scene.ui.setMode(Mode.COMMAND, this.fieldIndex); this.scene.ui.setMode(Mode.MESSAGE); } From f2b5a1b6f4aa4603188af6ca5a3024164abc845c Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+TempsRay@users.noreply.github.com> Date: Thu, 16 May 2024 23:11:53 -0400 Subject: [PATCH 50/84] Fix some Pokemon classifications (#857) --- src/data/move.ts | 2 +- src/data/pokemon-species.ts | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 81e6c8f8566..7f0e03266e8 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -1921,7 +1921,7 @@ export class CopyStatsAttr extends MoveEffectAttr { target.updateInfo(); user.updateInfo(); - target.scene.queueMessage(getPokemonMessage(user, 'copied\n') + getPokemonMessage(target, `'s stat changes!`)); + target.scene.queueMessage(getPokemonMessage(user, ' copied\n') + getPokemonMessage(target, `'s stat changes!`)); return true; } diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index c8f99936941..218423d3232 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -1504,7 +1504,7 @@ export function initSpecies() { new PokemonForm("Origin Forme", "origin", Type.WATER, Type.DRAGON, 6.3, 659, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 90, 100, 100, 150, 120, 120, 3, 0, 340), ), new PokemonSpecies(Species.HEATRAN, 4, true, false, false, "Lava Dome Pokémon", Type.FIRE, Type.STEEL, 1.7, 430, Abilities.FLASH_FIRE, Abilities.NONE, Abilities.FLAME_BODY, 600, 91, 90, 106, 130, 106, 77, 3, 100, 300, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.REGIGIGAS, 4, false, true, false, "Colossal Pokémon", Type.NORMAL, null, 3.7, 420, Abilities.SLOW_START, Abilities.NONE, Abilities.NORMALIZE, 670, 110, 160, 110, 80, 110, 100, 3, 0, 335, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.REGIGIGAS, 4, true, false, false, "Colossal Pokémon", Type.NORMAL, null, 3.7, 420, Abilities.SLOW_START, Abilities.NONE, Abilities.NORMALIZE, 670, 110, 160, 110, 80, 110, 100, 3, 0, 335, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.GIRATINA, 4, false, true, false, "Renegade Pokémon", Type.GHOST, Type.DRAGON, 4.5, 750, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 150, 100, 120, 100, 120, 90, 3, 0, 340, GrowthRate.SLOW, null, false, true, new PokemonForm("Altered Forme", "altered", Type.GHOST, Type.DRAGON, 4.5, 750, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 150, 100, 120, 100, 120, 90, 3, 0, 340), new PokemonForm("Origin Forme", "origin", Type.GHOST, Type.DRAGON, 6.9, 650, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 680, 150, 120, 100, 120, 100, 90, 3, 0, 340), @@ -1931,7 +1931,7 @@ export function initSpecies() { new PokemonForm("Active Mode", "active", Type.FAIRY, null, 3, 215, Abilities.FAIRY_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340) ), new PokemonSpecies(Species.YVELTAL, 6, false, true, false, "Destruction Pokémon", Type.DARK, Type.FLYING, 5.8, 203, Abilities.DARK_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ZYGARDE, 6, true, false, false, "Order Pokémon", Type.DRAGON, Type.GROUND, 5, 305, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, GrowthRate.SLOW, null, false, false, + new PokemonSpecies(Species.ZYGARDE, 6, false, true, false, "Order Pokémon", Type.DRAGON, Type.GROUND, 5, 305, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, GrowthRate.SLOW, null, false, false, new PokemonForm("50% Forme", "50", Type.DRAGON, Type.GROUND, 5, 305, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, false, ""), new PokemonForm("10% Forme", "10", Type.DRAGON, Type.GROUND, 1.2, 33.5, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 486, 54, 100, 71, 61, 85, 115, 3, 0, 300), new PokemonForm("50% Forme Power Construct", "50-pc", Type.DRAGON, Type.GROUND, 5, 305, Abilities.POWER_CONSTRUCT, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, false, ""), @@ -2285,7 +2285,7 @@ export function initSpecies() { new PokemonSpecies(Species.REGIDRAGO, 8, true, false, false, "Dragon Orb Pokémon", Type.DRAGON, null, 2.1, 200, Abilities.DRAGONS_MAW, Abilities.NONE, Abilities.NONE, 580, 200, 100, 50, 100, 50, 80, 3, 35, 290, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.GLASTRIER, 8, true, false, false, "Wild Horse Pokémon", Type.ICE, null, 2.2, 800, Abilities.CHILLING_NEIGH, Abilities.NONE, Abilities.NONE, 580, 100, 145, 130, 65, 110, 30, 3, 35, 290, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.SPECTRIER, 8, true, false, false, "Swift Horse Pokémon", Type.GHOST, null, 2, 44.5, Abilities.GRIM_NEIGH, Abilities.NONE, Abilities.NONE, 580, 100, 65, 60, 145, 80, 130, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.CALYREX, 8, true, false, false, "King Pokémon", Type.PSYCHIC, Type.GRASS, 1.1, 7.7, Abilities.UNNERVE, Abilities.NONE, Abilities.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250, GrowthRate.SLOW, null, false, true, + new PokemonSpecies(Species.CALYREX, 8, false, true, false, "King Pokémon", Type.PSYCHIC, Type.GRASS, 1.1, 7.7, Abilities.UNNERVE, Abilities.NONE, Abilities.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250, GrowthRate.SLOW, null, false, true, new PokemonForm("Normal", "", Type.PSYCHIC, Type.GRASS, 1.1, 7.7, Abilities.UNNERVE, Abilities.NONE, Abilities.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250), new PokemonForm("Ice", "ice", Type.PSYCHIC, Type.ICE, 2.4, 809.1, Abilities.AS_ONE_GLASTRIER, Abilities.NONE, Abilities.NONE, 680, 100, 165, 150, 85, 130, 50, 3, 100, 250), new PokemonForm("Shadow", "shadow", Type.PSYCHIC, Type.GHOST, 2.4, 53.6, Abilities.AS_ONE_SPECTRIER, Abilities.NONE, Abilities.NONE, 680, 100, 85, 80, 165, 100, 150, 3, 100, 250), @@ -2453,10 +2453,10 @@ export function initSpecies() { new PokemonForm("Unremarkable Form", "unremarkable", Type.GRASS, Type.GHOST, 0.2, 2.2, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178), new PokemonForm("Masterpiece Form", "masterpiece", Type.GRASS, Type.GHOST, 0.2, 2.2, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178), ), - new PokemonSpecies(Species.OKIDOGI, 9, false, true, false, "Retainer Pokémon", Type.POISON, Type.FIGHTING, 1.8, 92.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.GUARD_DOG, 555, 88, 128, 115, 58, 86, 80, 3, 0, 276, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.MUNKIDORI, 9, false, true, false, "Retainer Pokémon", Type.POISON, Type.PSYCHIC, 1, 12.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.FRISK, 555, 88, 75, 66, 130, 90, 106, 3, 0, 276, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.FEZANDIPITI, 9, false, true, false, "Retainer Pokémon", Type.POISON, Type.FAIRY, 1.4, 30.1, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.TECHNICIAN, 555, 88, 91, 82, 70, 125, 99, 3, 0, 276, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.OGERPON, 9, false, true, false, "Mask Pokémon", Type.GRASS, null, 1.2, 39.8, Abilities.DEFIANT, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275, GrowthRate.SLOW, 0, false, false, + new PokemonSpecies(Species.OKIDOGI, 9, true, false, false, "Retainer Pokémon", Type.POISON, Type.FIGHTING, 1.8, 92.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.GUARD_DOG, 555, 88, 128, 115, 58, 86, 80, 3, 0, 276, GrowthRate.SLOW, 100, false), + new PokemonSpecies(Species.MUNKIDORI, 9, true, false, false, "Retainer Pokémon", Type.POISON, Type.PSYCHIC, 1, 12.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.FRISK, 555, 88, 75, 66, 130, 90, 106, 3, 0, 276, GrowthRate.SLOW, 100, false), + new PokemonSpecies(Species.FEZANDIPITI, 9, true, false, false, "Retainer Pokémon", Type.POISON, Type.FAIRY, 1.4, 30.1, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.TECHNICIAN, 555, 88, 91, 82, 70, 125, 99, 3, 0, 276, GrowthRate.SLOW, 100, false), + new PokemonSpecies(Species.OGERPON, 9, true, false, false, "Mask Pokémon", Type.GRASS, null, 1.2, 39.8, Abilities.DEFIANT, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275, GrowthRate.SLOW, 0, false, false, new PokemonForm("Teal Mask", "teal-mask", Type.GRASS, null, 1.2, 39.8, Abilities.DEFIANT, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), new PokemonForm("Wellspring Mask", "wellspring-mask", Type.GRASS, Type.WATER, 1.2, 39.8, Abilities.WATER_ABSORB, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), new PokemonForm("Hearthflame Mask", "hearthflame-mask", Type.GRASS, Type.FIRE, 1.2, 39.8, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), From f2dff2cd25202afaa5bd2f9fb9bfb97a9f2ed7c0 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 17 May 2024 00:20:18 -0400 Subject: [PATCH 51/84] End card only shows in classic mode --- src/phases.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/phases.ts b/src/phases.ts index 90d9a54d288..91e098edf1f 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3663,7 +3663,7 @@ export class GameOverPhase extends BattlePhase { this.end(); } - if (this.victory) { + if (this.victory && this.scene.gameMode.isClassic) { this.scene.ui.fadeIn(500).then(() => { this.scene.charSprite.showCharacter(`rival_${this.scene.gameData.gender === PlayerGender.FEMALE ? 'm' : 'f'}`, getCharVariantFromDialogue(miscDialogue.ending[this.scene.gameData.gender === PlayerGender.FEMALE ? 0 : 1])).then(() => { this.scene.ui.showDialogue(miscDialogue.ending[this.scene.gameData.gender === PlayerGender.FEMALE ? 0 : 1], this.scene.gameData.gender === PlayerGender.FEMALE ? trainerConfigs[TrainerType.RIVAL].name : trainerConfigs[TrainerType.RIVAL].nameFemale, null, () => { From 0cd305d78acf79964c193a7c6ae078fee3f92ce3 Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Fri, 17 May 2024 00:01:35 -0500 Subject: [PATCH 52/84] Fix Trainer Localization Typos (#1010) Took a look at some of the entries for trainers and adjusted accordingly. it looks like all of these trainer types were grabbed from an online source as a sort of future-proofing which is good, but resulted in some errors. Some of which have already been fixed, and some which are included here. Also prevents an issue if there is a missing image and displays a warning in the console instead of a crash. --- src/field/trainer.ts | 21 +++++++++++++++++---- src/locales/de/trainers.ts | 14 +++++++++----- src/locales/en/trainers.ts | 14 +++++++++----- src/locales/es/trainers.ts | 14 +++++++++----- src/locales/fr/trainers.ts | 14 +++++++++----- src/locales/it/trainers.ts | 14 +++++++++----- src/locales/pt_BR/trainers.ts | 14 +++++++++----- src/locales/zh_CN/trainers.ts | 14 +++++++++----- 8 files changed, 80 insertions(+), 39 deletions(-) diff --git a/src/field/trainer.ts b/src/field/trainer.ts index 9213dc0135d..faa691406b9 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -378,16 +378,29 @@ export default class Trainer extends Phaser.GameObjects.Container { }; const sprites = this.getSprites(); const tintSprites = this.getTintSprites(); - sprites[0].play(trainerAnimConfig); - tintSprites[0].play(trainerAnimConfig); + + // Don't try to play an animation when there isn't one + if (sprites.length > 1) { + sprites[0].play(trainerAnimConfig); + tintSprites[0].play(trainerAnimConfig); + } + else + console.warn(`No animation found for '${this.getKey()}'. Is this intentional?`); + if (this.variant === TrainerVariant.DOUBLE && !this.config.doubleOnly) { const partnerTrainerAnimConfig = { key: this.getKey(true), repeat: 0, startFrame: 0 }; - sprites[1].play(partnerTrainerAnimConfig); - tintSprites[1].play(partnerTrainerAnimConfig); + + // Don't try to play an animation when there isn't one + if (sprites.length > 1) { + sprites[1].play(partnerTrainerAnimConfig); + tintSprites[1].play(partnerTrainerAnimConfig); + } + else + console.warn(`No animation found for '${this.getKey()}'. Is this intentional?`); } } diff --git a/src/locales/de/trainers.ts b/src/locales/de/trainers.ts index 90d6cbf20b1..1820c7eb281 100644 --- a/src/locales/de/trainers.ts +++ b/src/locales/de/trainers.ts @@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = { "depot_agent": "Bahnangestellter", "doctor": "Arzt", "doctor_female": "Ärztin", - "fishermen": "Angler", - "fishermen_female": "Angler", // Seems to be the same in german but exists in other languages like italian + "fisherman": "Angler", + "fisherman_female": "Angler", // Seems to be the same in german but exists in other languages like italian "gentleman": "Gentleman", "guitarist": "Gitarrist", "guitarist_female": "Gitarristin", @@ -61,15 +61,15 @@ export const trainerClasses: SimpleTranslationEntries = { "maid": "Zofe", "madame": "Madam", "medical_team": "Mediziner", - "musican": "Musiker", + "musician": "Musiker", "hex_maniac": "Hexe", "nurse": "Pflegerin", "nursery_aide": "Erzieherin", "officer": "Polizist", "parasol_lady": "Schirmdame", "pilot": "Pilot", - "poké_fan": "Pokéfan", - "poké_fan_family": "Pokéfan-Pärchen", + "pokefan": "Pokéfan", + "pokefan_family": "Pokéfan-Pärchen", "preschooler": "Vorschüler", "preschooler_female": "Vorschülerin", "preschoolers": "Vorschüler", @@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = { "pokémon_rangers": "Pokémon-Ranger", "ranger": "Ranger", "restaurant_staff": "Restaurant Angestellte", + "rich": "Rich", + "rich_female": "Rich", "rich_boy": "Schnösel", "rich_couple": "Reiches Paar", + "rich_kid": "Rich Kid", + "rich_kid_female": "Rich Kid", "rich_kids": "Schnösel", "roughneck": "Raufbold", "scientist": "Forscher", diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts index a02383a4f54..d824baeba8f 100644 --- a/src/locales/en/trainers.ts +++ b/src/locales/en/trainers.ts @@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = { "depot_agent": "Depot Agent", "doctor": "Doctor", "doctor_female": "Doctor", - "fishermen": "Fishermen", - "fishermen_female": "Fishermen", + "fisherman": "Fisherman", + "fisherman_female": "Fisherman", "gentleman": "Gentleman", "guitarist": "Guitarist", "guitarist_female": "Guitarist", @@ -61,15 +61,15 @@ export const trainerClasses: SimpleTranslationEntries = { "maid": "Maid", "madame": "Madame", "medical_team": "Medical Team", - "musican": "Musician", + "musician": "Musician", "hex_maniac": "Hex Maniac", "nurse": "Nurse", "nursery_aide": "Nursery Aide", "officer": "Officer", "parasol_lady": "Parasol Lady", "pilot": "Pilot", - "poké_fan": "Poké Fan", - "poké_fan_family": "Poké Fan Family", + "pokefan": "Poké Fan", + "pokefan_family": "Poké Fan Family", "preschooler": "Preschooler", "preschooler_female": "Preschooler", "preschoolers": "Preschoolers", @@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = { "pokémon_rangers": "Pokémon Ranger", "ranger": "Ranger", "restaurant_staff": "Restaurant Staff", + "rich": "Rich", + "rich_female": "Rich", "rich_boy": "Rich Boy", "rich_couple": "Rich Couple", + "rich_kid": "Rich Kid", + "rich_kid_female": "Rich Kid", "rich_kids": "Rich Kids", "roughneck": "Roughneck", "scientist": "Scientist", diff --git a/src/locales/es/trainers.ts b/src/locales/es/trainers.ts index a02383a4f54..443718693ca 100644 --- a/src/locales/es/trainers.ts +++ b/src/locales/es/trainers.ts @@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = { "depot_agent": "Depot Agent", "doctor": "Doctor", "doctor_female": "Doctor", - "fishermen": "Fishermen", - "fishermen_female": "Fishermen", + "fisherman": "Fisherman", + "fisherman_female": "Fisherman", "gentleman": "Gentleman", "guitarist": "Guitarist", "guitarist_female": "Guitarist", @@ -61,15 +61,15 @@ export const trainerClasses: SimpleTranslationEntries = { "maid": "Maid", "madame": "Madame", "medical_team": "Medical Team", - "musican": "Musician", + "musician": "Musician", "hex_maniac": "Hex Maniac", "nurse": "Nurse", "nursery_aide": "Nursery Aide", "officer": "Officer", "parasol_lady": "Parasol Lady", "pilot": "Pilot", - "poké_fan": "Poké Fan", - "poké_fan_family": "Poké Fan Family", + "pokefan": "Poké Fan", + "pokefan_family": "Poké Fan Family", "preschooler": "Preschooler", "preschooler_female": "Preschooler", "preschoolers": "Preschoolers", @@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = { "pokémon_rangers": "Pokémon Ranger", "ranger": "Ranger", "restaurant_staff": "Restaurant Staff", + "rich": "Rich", + "rich_female": "Rich", "rich_boy": "Rich Boy", "rich_couple": "Rich Couple", + "rich_kid": "Rich Kid", + "rich_kid_female": "Rich Kid", "rich_kids": "Rich Kids", "roughneck": "Roughneck", "scientist": "Scientist", diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index 146a2766f37..2d5c78bbfc5 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = { "depot_agent": "Cheminot", "doctor": "Docteur", "doctor_female": "Docteure", - "fishermen": "Pêcheur", - "fishermen_female": "Pêcheuse", + "fisherman": "Pêcheur", + "fisherman_female": "Pêcheuse", "gentleman": "Gentleman", "guitarist": "Guitariste", "guitarist_female": "Guitariste", @@ -60,16 +60,16 @@ export const trainerClasses: SimpleTranslationEntries = { "linebacker": "Quaterback", "maid": "Gouvernante", "madame": "Mondaine", - "musican": "Musicien", "medical_team": "Médecins", + "musician": "Musicien", "hex_maniac": "Mystimaniac", "nurse": "Infirmière", "nursery_aide": "Institutrice", "officer": "Policier", "parasol_lady": "Sœur Parasol", "pilot": "Pilote", - "poké_fan": "Poké Fan", - "poké_fan_family": "Couple de Pokéfans", + "pokefan": "Poké Fan", + "pokefan_family": "Couple de Pokéfans", "preschooler": "Petit", "preschooler_female": "Petite", "preschoolers": "Petits", @@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = { "pokémon_rangers": "Pokémon Rangers", "ranger": "Ranger", "restaurant_staff": "Serveurs", + "rich": "Rich", + "rich_female": "Rich", "rich_boy": "Richard", "rich_couple": "Couple de Bourgeois", + "rich_kid": "Rich Kid", + "rich_kid_female": "Rich Kid", "rich_kids": "Richards", "roughneck": "Loubard", "scientist": "Scientifique", diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts index a02383a4f54..443718693ca 100644 --- a/src/locales/it/trainers.ts +++ b/src/locales/it/trainers.ts @@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = { "depot_agent": "Depot Agent", "doctor": "Doctor", "doctor_female": "Doctor", - "fishermen": "Fishermen", - "fishermen_female": "Fishermen", + "fisherman": "Fisherman", + "fisherman_female": "Fisherman", "gentleman": "Gentleman", "guitarist": "Guitarist", "guitarist_female": "Guitarist", @@ -61,15 +61,15 @@ export const trainerClasses: SimpleTranslationEntries = { "maid": "Maid", "madame": "Madame", "medical_team": "Medical Team", - "musican": "Musician", + "musician": "Musician", "hex_maniac": "Hex Maniac", "nurse": "Nurse", "nursery_aide": "Nursery Aide", "officer": "Officer", "parasol_lady": "Parasol Lady", "pilot": "Pilot", - "poké_fan": "Poké Fan", - "poké_fan_family": "Poké Fan Family", + "pokefan": "Poké Fan", + "pokefan_family": "Poké Fan Family", "preschooler": "Preschooler", "preschooler_female": "Preschooler", "preschoolers": "Preschoolers", @@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = { "pokémon_rangers": "Pokémon Ranger", "ranger": "Ranger", "restaurant_staff": "Restaurant Staff", + "rich": "Rich", + "rich_female": "Rich", "rich_boy": "Rich Boy", "rich_couple": "Rich Couple", + "rich_kid": "Rich Kid", + "rich_kid_female": "Rich Kid", "rich_kids": "Rich Kids", "roughneck": "Roughneck", "scientist": "Scientist", diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts index 7c12814dfae..af6393bce8e 100644 --- a/src/locales/pt_BR/trainers.ts +++ b/src/locales/pt_BR/trainers.ts @@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = { "depot_agent": "Ferroviário", "doctor": "Doutor", "doctor_female": "Doutora", - "fishermen": "Pescador", - "fishermen_female": "Pescadora", + "fisherman": "Pescador", + "fisherman_female": "Pescadora", "gentleman": "Gentleman", "guitarist": "Guitarrista", "guitarist_female": "Guitarrista", @@ -60,16 +60,16 @@ export const trainerClasses: SimpleTranslationEntries = { "linebacker": "Zagueiro", "maid": "Doméstica", "madame": "Madame", - "musican": "Músico", "medical_team": "Medical Team", + "musician": "Músico", "hex_maniac": "Ocultista", "nurse": "Enfermeira", "nursery_aide": "Professora do Berçário", "officer": "Policial", "parasol_lady": "Moça de Sombrinha", "pilot": "Piloto", - "poké_fan": "Pokefã", - "poké_fan_family": "Poké Fan Family", + "pokefan": "Pokefã", + "pokefan_family": "Poké Fan Family", "preschooler": "Menino do Prezinho", "preschooler_female": "Menina do Prezinho", "preschoolers": "Preschoolers", @@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = { "pokémon_rangers": "Pokémon Ranger", "ranger": "Guarda", "restaurant_staff": "Restaurant Staff", + "rich": "Rich", + "rich_female": "Rich", "rich_boy": "Rich Boy", "rich_couple": "Rich Couple", + "rich_kid": "Rich Kid", + "rich_kid_female": "Rich Kid", "rich_kids": "Rich Kids", "roughneck": "Arruaceiro", "scientist": "Cientista", diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts index 5db37c78a6b..fae8301c627 100644 --- a/src/locales/zh_CN/trainers.ts +++ b/src/locales/zh_CN/trainers.ts @@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = { "depot_agent": "铁路员工", "doctor": "医生", "doctor_female": "医生", - "fishermen": "垂钓者", - "fishermen_female": "垂钓者", + "fisherman": "垂钓者", + "fisherman_female": "垂钓者", "gentleman": "绅士", "guitarist": "吉他手", "guitarist_female": "吉他手", @@ -61,15 +61,15 @@ export const trainerClasses: SimpleTranslationEntries = { "maid": "女仆", "madame": "女士", "medical_team": "医疗团队", - "musican": "音乐家", + "musician": "音乐家", "hex_maniac": "灵异迷", "nurse": "护士", "nursery_aide": "幼儿园老师", "officer": "警察", "parasol_lady": "阳伞姐姐", "pilot": "飞行员", - "poké_fan": "发烧友俱乐部", - "poké_fan_family": "同好夫妇", + "pokefan": "发烧友俱乐部", + "pokefan_family": "同好夫妇", "preschooler": "幼儿园小朋友", "preschooler_female": "幼儿园小朋友", "preschoolers": "幼儿园小朋友组合", @@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = { "pokémon_rangers": "宝可梦巡护员组合", "ranger": "巡护员", "restaurant_staff": "服务生组合", + "rich": "Rich", + "rich_female": "Rich", "rich_boy": "富家少爷", "rich_couple": "富豪夫妇", + "rich_kid": "Rich Kid", + "rich_kid_female": "Rich Kid", "rich_kids": "富二代组合", "roughneck": "光头男", "scientist": "研究员", From b4f643f0faea8890c660bd060f8f690b2b5ba1e0 Mon Sep 17 00:00:00 2001 From: Jakub Hanko <60473007+JakubHanko@users.noreply.github.com> Date: Fri, 17 May 2024 07:42:43 +0200 Subject: [PATCH 53/84] Use getBattleStat instead of getStat in BattleStatRatioPowerAttr (#742) * Use getBattleStat instead of getStat in BattleStatRatioPowerAttr * Change unnecessary let into const * Refactor BattleStatRatioPowerAttr into two distinct classes * Add TSDoc for the new classes --- src/data/move.ts | 76 ++++++++++++++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 28 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 7f0e03266e8..99ef179ad30 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2129,36 +2129,27 @@ export class WeightPowerAttr extends VariablePowerAttr { } } -export class BattleStatRatioPowerAttr extends VariablePowerAttr { - private stat: Stat; - private invert: boolean; - - constructor(stat: Stat, invert: boolean = false) { - super(); - - this.stat = stat; - this.invert = invert; - } - +/** + * Attribute used for Electro Ball move. + * @extends VariablePowerAttr + * @see {@linkcode apply} + **/ +export class ElectroBallPowerAttr extends VariablePowerAttr { + /** + * Move that deals more damage the faster {@linkcode BattleStat.SPD} + * the user is compared to the target. + * @param user Pokemon that used the move + * @param target The target of the move + * @param move Move with this attribute + * @param args N/A + * @returns true if the function succeeds + */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const power = args[0] as Utils.NumberHolder; - const statRatio = target.getStat(this.stat) / user.getStat(this.stat); + const statRatio = target.getBattleStat(Stat.SPD) / user.getBattleStat(Stat.SPD); const statThresholds = [ 0.25, 1 / 3, 0.5, 1, -1 ]; - let statThresholdPowers = [ 150, 120, 80, 60, 40 ]; - - if (this.invert) { - // Gyro ball uses a specific formula - let userSpeed = user.getBattleStat(this.stat); - if (userSpeed < 1) { - // Gen 6+ always have 1 base power - power.value = 1; - return true; - } - let bp = Math.floor(Math.min(150, 25 * target.getBattleStat(this.stat) / userSpeed + 1)); - power.value = bp; - return true; - } + const statThresholdPowers = [ 150, 120, 80, 60, 40 ]; let w = 0; while (w < statThresholds.length - 1 && statRatio > statThresholds[w]) { @@ -2167,7 +2158,36 @@ export class BattleStatRatioPowerAttr extends VariablePowerAttr { } power.value = statThresholdPowers[w]; + return true; + } +} + +/** + * Attribute used for Gyro Ball move. + * @extends VariablePowerAttr + * @see {@linkcode apply} + **/ +export class GyroBallPowerAttr extends VariablePowerAttr { + /** + * Move that deals more damage the slower {@linkcode BattleStat.SPD} + * the user is compared to the target. + * @param user Pokemon that used the move + * @param target The target of the move + * @param move Move with this attribute + * @param args N/A + * @returns true if the function succeeds + */ + apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + const power = args[0] as Utils.NumberHolder; + const userSpeed = user.getBattleStat(Stat.SPD); + if (userSpeed < 1) { + // Gen 6+ always have 1 base power + power.value = 1; + return true; + } + + power.value = Math.floor(Math.min(150, 25 * target.getBattleStat(Stat.SPD) / userSpeed + 1)); return true; } } @@ -5388,7 +5408,7 @@ export function initMoves() { .attr(StatChangeAttr, BattleStat.SPD, -1, true) .punchingMove(), new AttackMove(Moves.GYRO_BALL, Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4) - .attr(BattleStatRatioPowerAttr, Stat.SPD, true) + .attr(GyroBallPowerAttr) .ballBombMove(), new SelfStatusMove(Moves.HEALING_WISH, Type.PSYCHIC, -1, 10, -1, 0, 4) .attr(SacrificialFullRestoreAttr) @@ -5741,7 +5761,7 @@ export function initMoves() { .condition(unknownTypeCondition) .attr(hitsSameTypeAttr), new AttackMove(Moves.ELECTRO_BALL, Type.ELECTRIC, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 5) - .attr(BattleStatRatioPowerAttr, Stat.SPD) + .attr(ElectroBallPowerAttr) .ballBombMove(), new StatusMove(Moves.SOAK, Type.WATER, 100, 20, -1, 0, 5) .attr(ChangeTypeAttr, Type.WATER), From 61938869c1f80cbb97a716e8b136b7d7b64694cc Mon Sep 17 00:00:00 2001 From: Gerafique <155723753+Gerafique@users.noreply.github.com> Date: Fri, 17 May 2024 11:56:11 +0200 Subject: [PATCH 54/84] Added German Translations for menu.ts (#960) --- src/locales/de/menu.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/locales/de/menu.ts b/src/locales/de/menu.ts index 7d96f9130eb..0d33fb4cbd8 100644 --- a/src/locales/de/menu.ts +++ b/src/locales/de/menu.ts @@ -12,10 +12,10 @@ export const menu: SimpleTranslationEntries = { "loadGame": "Spiel laden", "newGame": "Neues Spiel", "selectGameMode": "Wähle einen Spielmodus", - "logInOrCreateAccount": "Logge dich ein oder erstelle einen Account zum starten. Keine Email nötig!", + "logInOrCreateAccount": "Melde dich an oder erstelle einen Account zum starten. Keine Email nötig!", "username": "Benutzername", "password": "Passwort", - "login": "Einloggen", + "login": "Anmelden", "register": "Registrieren", "emptyUsername": "Benutzername darf nicht leer sein", "invalidLoginUsername": "Der eingegebene Benutzername ist ungültig", @@ -26,20 +26,20 @@ export const menu: SimpleTranslationEntries = { "accountNonExistent": "Der eingegebene Benutzer existiert nicht", "unmatchingPassword": "Das eingegebene Passwort stimmt nicht überein", "passwordNotMatchingConfirmPassword": "Passwort muss mit Bestätigungspasswort übereinstimmen", - "confirmPassword": "Besätige Passwort", + "confirmPassword": "Bestätige Passwort", "registrationAgeWarning": "Mit der Registrierung bestätigen Sie, dass Sie 13 Jahre oder älter sind.", - "backToLogin": "Zurück zum Einloggen", + "backToLogin": "Zurück zur Anmeldung", "failedToLoadSaveData": "Speicherdaten konnten nicht geladen werden. Bitte laden Sie die Seite neu.\nWenn dies weiterhin der Fall ist, wenden Sie sich bitte an den Administrator.", "sessionSuccess": "Sitzung erfolgreich geladen.", "failedToLoadSession": "Ihre Sitzungsdaten konnten nicht geladen werden.\nSie könnten beschädigt sein.", "boyOrGirl": "Bist du ein Junge oder ein Mädchen?", "boy": "Junge", "girl": "Mädchen", - "evolving": "What?\n{{pokemonName}} is evolving!", - "stoppedEvolving": "{{pokemonName}} stopped evolving.", - "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", - "evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.", - "evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!", + "evolving": "Nanu?\n{{pokemonName}} entwickelt sich!", + "stoppedEvolving": "Hm? {{pokemonName}} hat die Entwicklung \nabgebrochen.", // "Hm? Entwicklung wurde abgebrochen!" without naming the pokemon seems to be the original. + "pauseEvolutionsQuestion": "Die Entwicklung von {{pokemonName}} vorübergehend pausieren?\nEntwicklungen können im Gruppenmenü wieder aktiviert werden.", + "evolutionsPaused": "Entwicklung von {{pokemonName}} pausiert.", + "evolutionDone": "Glückwunsch!\nDein {{pokemonName}} entwickelte sich zu {{evolvedPokemonName}}!", "dailyRankings": "Tägliche Rangliste", "weeklyRankings": "Wöchentliche Rangliste", "noRankings": "Keine Rangliste", @@ -48,4 +48,4 @@ export const menu: SimpleTranslationEntries = { "empty":"Leer", "yes":"Ja", "no":"Nein", -} as const; \ No newline at end of file +} as const; From 250142083a21214d6cd4823239809c5741d215a9 Mon Sep 17 00:00:00 2001 From: FanHua Date: Fri, 17 May 2024 18:09:08 +0800 Subject: [PATCH 55/84] Implements localization for BerryType (#1007) --- src/data/berry.ts | 29 ++++------------------ src/locales/de/berry.ts | 48 +++++++++++++++++++++++++++++++++++++ src/locales/de/config.ts | 2 ++ src/locales/en/berry.ts | 48 +++++++++++++++++++++++++++++++++++++ src/locales/en/config.ts | 3 +++ src/locales/es/berry.ts | 48 +++++++++++++++++++++++++++++++++++++ src/locales/es/config.ts | 2 ++ src/locales/fr/berry.ts | 48 +++++++++++++++++++++++++++++++++++++ src/locales/fr/config.ts | 2 ++ src/locales/it/berry.ts | 48 +++++++++++++++++++++++++++++++++++++ src/locales/it/config.ts | 2 ++ src/locales/pt_BR/berry.ts | 48 +++++++++++++++++++++++++++++++++++++ src/locales/pt_BR/config.ts | 2 ++ src/locales/zh_CN/berry.ts | 48 +++++++++++++++++++++++++++++++++++++ src/locales/zh_CN/config.ts | 2 ++ src/plugins/i18n.ts | 10 ++++++++ 16 files changed, 366 insertions(+), 24 deletions(-) create mode 100644 src/locales/de/berry.ts create mode 100644 src/locales/en/berry.ts create mode 100644 src/locales/es/berry.ts create mode 100644 src/locales/fr/berry.ts create mode 100644 src/locales/it/berry.ts create mode 100644 src/locales/pt_BR/berry.ts create mode 100644 src/locales/zh_CN/berry.ts diff --git a/src/data/berry.ts b/src/data/berry.ts index 96b50caa932..1521f3488ef 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -7,6 +7,7 @@ import { BattlerTagType } from "./enums/battler-tag-type"; import { getStatusEffectHealText } from "./status-effect"; import * as Utils from "../utils"; import { DoubleBerryEffectAbAttr, ReduceBerryUseThresholdAbAttr, applyAbAttrs } from "./ability"; +import i18next from '../plugins/i18n'; export enum BerryType { SITRUS, @@ -22,32 +23,12 @@ export enum BerryType { LEPPA } -export function getBerryName(berryType: BerryType) { - return `${Utils.toReadableString(BerryType[berryType])} Berry`; +export function getBerryName(berryType: BerryType): string { + return i18next.t(`berry:${BerryType[berryType]}.name`); } -export function getBerryEffectDescription(berryType: BerryType) { - switch (berryType) { - case BerryType.SITRUS: - return 'Restores 25% HP if HP is below 50%'; - case BerryType.LUM: - return 'Cures any non-volatile status condition and confusion'; - case BerryType.ENIGMA: - return 'Restores 25% HP if hit by a super effective move'; - case BerryType.LIECHI: - case BerryType.GANLON: - case BerryType.PETAYA: - case BerryType.APICOT: - case BerryType.SALAC: - const stat = (berryType - BerryType.LIECHI) as BattleStat; - return `Raises ${getBattleStatName(stat)} if HP is below 25%`; - case BerryType.LANSAT: - return 'Raises critical hit ratio if HP is below 25%'; - case BerryType.STARF: - return 'Sharply raises a random stat if HP is below 25%'; - case BerryType.LEPPA: - return 'Restores 10 PP to a move if its PP reaches 0'; - } +export function getBerryEffectDescription(berryType: BerryType): string { + return i18next.t(`berry:${BerryType[berryType]}.effect`); } export type BerryPredicate = (pokemon: Pokemon) => boolean; diff --git a/src/locales/de/berry.ts b/src/locales/de/berry.ts new file mode 100644 index 00000000000..8c8bc5ee280 --- /dev/null +++ b/src/locales/de/berry.ts @@ -0,0 +1,48 @@ +import { BerryTranslationEntries } from "#app/plugins/i18n"; + +export const berry: BerryTranslationEntries = { + "SITRUS": { + name: "Sitrus Berry", + effect: "Restores 25% HP if HP is below 50%", + }, + "LUM": { + name: "Lum Berry", + effect: "Cures any non-volatile status condition and confusion", + }, + "ENIGMA": { + name: "Enigma Berry", + effect: "Restores 25% HP if hit by a super effective move", + }, + "LIECHI": { + name: "Liechi Berry", + effect: "Raises Attack if HP is below 25%", + }, + "GANLON": { + name: "Ganlon Berry", + effect: "Raises Defense if HP is below 25%", + }, + "PETAYA": { + name: "Petaya Berry", + effect: "Raises Sp. Atk if HP is below 25%", + }, + "APICOT": { + name: "Apicot Berry", + effect: "Raises Sp. Def if HP is below 25%", + }, + "SALAC": { + name: "Salac Berry", + effect: "Raises Speed if HP is below 25%", + }, + "LANSAT": { + name: "Lansat Berry", + effect: "Raises critical hit ratio if HP is below 25%", + }, + "STARF": { + name: "Starf Berry", + effect: "Sharply raises a random stat if HP is below 25%", + }, + "LEPPA": { + name: "Leppa Berry", + effect: "Restores 10 PP to a move if its PP reaches 0", + }, +} as const; \ No newline at end of file diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 44bd5a66f1a..9ff1699778b 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -18,6 +18,7 @@ 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"; export const deConfig = { @@ -43,4 +44,5 @@ export const deConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + berry: berry, } diff --git a/src/locales/en/berry.ts b/src/locales/en/berry.ts new file mode 100644 index 00000000000..8c8bc5ee280 --- /dev/null +++ b/src/locales/en/berry.ts @@ -0,0 +1,48 @@ +import { BerryTranslationEntries } from "#app/plugins/i18n"; + +export const berry: BerryTranslationEntries = { + "SITRUS": { + name: "Sitrus Berry", + effect: "Restores 25% HP if HP is below 50%", + }, + "LUM": { + name: "Lum Berry", + effect: "Cures any non-volatile status condition and confusion", + }, + "ENIGMA": { + name: "Enigma Berry", + effect: "Restores 25% HP if hit by a super effective move", + }, + "LIECHI": { + name: "Liechi Berry", + effect: "Raises Attack if HP is below 25%", + }, + "GANLON": { + name: "Ganlon Berry", + effect: "Raises Defense if HP is below 25%", + }, + "PETAYA": { + name: "Petaya Berry", + effect: "Raises Sp. Atk if HP is below 25%", + }, + "APICOT": { + name: "Apicot Berry", + effect: "Raises Sp. Def if HP is below 25%", + }, + "SALAC": { + name: "Salac Berry", + effect: "Raises Speed if HP is below 25%", + }, + "LANSAT": { + name: "Lansat Berry", + effect: "Raises critical hit ratio if HP is below 25%", + }, + "STARF": { + name: "Starf Berry", + effect: "Sharply raises a random stat if HP is below 25%", + }, + "LEPPA": { + name: "Leppa Berry", + effect: "Restores 10 PP to a move if its PP reaches 0", + }, +} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index 2962633e26a..b2dfe9c9b4c 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -18,6 +18,8 @@ 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"; + export const enConfig = { ability: ability, @@ -42,4 +44,5 @@ export const enConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + berry: berry, } diff --git a/src/locales/es/berry.ts b/src/locales/es/berry.ts new file mode 100644 index 00000000000..8c8bc5ee280 --- /dev/null +++ b/src/locales/es/berry.ts @@ -0,0 +1,48 @@ +import { BerryTranslationEntries } from "#app/plugins/i18n"; + +export const berry: BerryTranslationEntries = { + "SITRUS": { + name: "Sitrus Berry", + effect: "Restores 25% HP if HP is below 50%", + }, + "LUM": { + name: "Lum Berry", + effect: "Cures any non-volatile status condition and confusion", + }, + "ENIGMA": { + name: "Enigma Berry", + effect: "Restores 25% HP if hit by a super effective move", + }, + "LIECHI": { + name: "Liechi Berry", + effect: "Raises Attack if HP is below 25%", + }, + "GANLON": { + name: "Ganlon Berry", + effect: "Raises Defense if HP is below 25%", + }, + "PETAYA": { + name: "Petaya Berry", + effect: "Raises Sp. Atk if HP is below 25%", + }, + "APICOT": { + name: "Apicot Berry", + effect: "Raises Sp. Def if HP is below 25%", + }, + "SALAC": { + name: "Salac Berry", + effect: "Raises Speed if HP is below 25%", + }, + "LANSAT": { + name: "Lansat Berry", + effect: "Raises critical hit ratio if HP is below 25%", + }, + "STARF": { + name: "Starf Berry", + effect: "Sharply raises a random stat if HP is below 25%", + }, + "LEPPA": { + name: "Leppa Berry", + effect: "Restores 10 PP to a move if its PP reaches 0", + }, +} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index a986bbfc75c..61b01cfa6b5 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -18,6 +18,7 @@ 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"; export const esConfig = { @@ -43,4 +44,5 @@ export const esConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + berry: berry, } diff --git a/src/locales/fr/berry.ts b/src/locales/fr/berry.ts new file mode 100644 index 00000000000..8c8bc5ee280 --- /dev/null +++ b/src/locales/fr/berry.ts @@ -0,0 +1,48 @@ +import { BerryTranslationEntries } from "#app/plugins/i18n"; + +export const berry: BerryTranslationEntries = { + "SITRUS": { + name: "Sitrus Berry", + effect: "Restores 25% HP if HP is below 50%", + }, + "LUM": { + name: "Lum Berry", + effect: "Cures any non-volatile status condition and confusion", + }, + "ENIGMA": { + name: "Enigma Berry", + effect: "Restores 25% HP if hit by a super effective move", + }, + "LIECHI": { + name: "Liechi Berry", + effect: "Raises Attack if HP is below 25%", + }, + "GANLON": { + name: "Ganlon Berry", + effect: "Raises Defense if HP is below 25%", + }, + "PETAYA": { + name: "Petaya Berry", + effect: "Raises Sp. Atk if HP is below 25%", + }, + "APICOT": { + name: "Apicot Berry", + effect: "Raises Sp. Def if HP is below 25%", + }, + "SALAC": { + name: "Salac Berry", + effect: "Raises Speed if HP is below 25%", + }, + "LANSAT": { + name: "Lansat Berry", + effect: "Raises critical hit ratio if HP is below 25%", + }, + "STARF": { + name: "Starf Berry", + effect: "Sharply raises a random stat if HP is below 25%", + }, + "LEPPA": { + name: "Leppa Berry", + effect: "Restores 10 PP to a move if its PP reaches 0", + }, +} as const; \ No newline at end of file diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 8de3e186d59..ef8f8bb7538 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -18,6 +18,7 @@ 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"; export const frConfig = { @@ -43,5 +44,6 @@ export const frConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + berry: berry, } diff --git a/src/locales/it/berry.ts b/src/locales/it/berry.ts new file mode 100644 index 00000000000..8c8bc5ee280 --- /dev/null +++ b/src/locales/it/berry.ts @@ -0,0 +1,48 @@ +import { BerryTranslationEntries } from "#app/plugins/i18n"; + +export const berry: BerryTranslationEntries = { + "SITRUS": { + name: "Sitrus Berry", + effect: "Restores 25% HP if HP is below 50%", + }, + "LUM": { + name: "Lum Berry", + effect: "Cures any non-volatile status condition and confusion", + }, + "ENIGMA": { + name: "Enigma Berry", + effect: "Restores 25% HP if hit by a super effective move", + }, + "LIECHI": { + name: "Liechi Berry", + effect: "Raises Attack if HP is below 25%", + }, + "GANLON": { + name: "Ganlon Berry", + effect: "Raises Defense if HP is below 25%", + }, + "PETAYA": { + name: "Petaya Berry", + effect: "Raises Sp. Atk if HP is below 25%", + }, + "APICOT": { + name: "Apicot Berry", + effect: "Raises Sp. Def if HP is below 25%", + }, + "SALAC": { + name: "Salac Berry", + effect: "Raises Speed if HP is below 25%", + }, + "LANSAT": { + name: "Lansat Berry", + effect: "Raises critical hit ratio if HP is below 25%", + }, + "STARF": { + name: "Starf Berry", + effect: "Sharply raises a random stat if HP is below 25%", + }, + "LEPPA": { + name: "Leppa Berry", + effect: "Restores 10 PP to a move if its PP reaches 0", + }, +} as const; \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 6892c9c8cad..3d8d9b0e4b7 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -18,6 +18,7 @@ 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"; export const itConfig = { @@ -43,4 +44,5 @@ export const itConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + berry: berry, } diff --git a/src/locales/pt_BR/berry.ts b/src/locales/pt_BR/berry.ts new file mode 100644 index 00000000000..8c8bc5ee280 --- /dev/null +++ b/src/locales/pt_BR/berry.ts @@ -0,0 +1,48 @@ +import { BerryTranslationEntries } from "#app/plugins/i18n"; + +export const berry: BerryTranslationEntries = { + "SITRUS": { + name: "Sitrus Berry", + effect: "Restores 25% HP if HP is below 50%", + }, + "LUM": { + name: "Lum Berry", + effect: "Cures any non-volatile status condition and confusion", + }, + "ENIGMA": { + name: "Enigma Berry", + effect: "Restores 25% HP if hit by a super effective move", + }, + "LIECHI": { + name: "Liechi Berry", + effect: "Raises Attack if HP is below 25%", + }, + "GANLON": { + name: "Ganlon Berry", + effect: "Raises Defense if HP is below 25%", + }, + "PETAYA": { + name: "Petaya Berry", + effect: "Raises Sp. Atk if HP is below 25%", + }, + "APICOT": { + name: "Apicot Berry", + effect: "Raises Sp. Def if HP is below 25%", + }, + "SALAC": { + name: "Salac Berry", + effect: "Raises Speed if HP is below 25%", + }, + "LANSAT": { + name: "Lansat Berry", + effect: "Raises critical hit ratio if HP is below 25%", + }, + "STARF": { + name: "Starf Berry", + effect: "Sharply raises a random stat if HP is below 25%", + }, + "LEPPA": { + name: "Leppa Berry", + effect: "Restores 10 PP to a move if its PP reaches 0", + }, +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index af714a36316..157df19a80b 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -14,6 +14,7 @@ import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; +import { berry } from "./berry"; export const ptBrConfig = { @@ -33,4 +34,5 @@ export const ptBrConfig = { growth: growth, weather: weather, modifierType: modifierType, + berry: berry, } \ No newline at end of file diff --git a/src/locales/zh_CN/berry.ts b/src/locales/zh_CN/berry.ts new file mode 100644 index 00000000000..8c8bc5ee280 --- /dev/null +++ b/src/locales/zh_CN/berry.ts @@ -0,0 +1,48 @@ +import { BerryTranslationEntries } from "#app/plugins/i18n"; + +export const berry: BerryTranslationEntries = { + "SITRUS": { + name: "Sitrus Berry", + effect: "Restores 25% HP if HP is below 50%", + }, + "LUM": { + name: "Lum Berry", + effect: "Cures any non-volatile status condition and confusion", + }, + "ENIGMA": { + name: "Enigma Berry", + effect: "Restores 25% HP if hit by a super effective move", + }, + "LIECHI": { + name: "Liechi Berry", + effect: "Raises Attack if HP is below 25%", + }, + "GANLON": { + name: "Ganlon Berry", + effect: "Raises Defense if HP is below 25%", + }, + "PETAYA": { + name: "Petaya Berry", + effect: "Raises Sp. Atk if HP is below 25%", + }, + "APICOT": { + name: "Apicot Berry", + effect: "Raises Sp. Def if HP is below 25%", + }, + "SALAC": { + name: "Salac Berry", + effect: "Raises Speed if HP is below 25%", + }, + "LANSAT": { + name: "Lansat Berry", + effect: "Raises critical hit ratio if HP is below 25%", + }, + "STARF": { + name: "Starf Berry", + effect: "Sharply raises a random stat if HP is below 25%", + }, + "LEPPA": { + name: "Leppa Berry", + effect: "Restores 10 PP to a move if its PP reaches 0", + }, +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 19afba381b8..69f07a4f1a7 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -18,6 +18,7 @@ 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"; export const zhCnConfig = { @@ -43,4 +44,5 @@ export const zhCnConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + berry: berry, } diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 807e1a1b550..30cc4bfcac2 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -46,6 +46,15 @@ export interface ModifierTypeTranslationEntries { TeraType: SimpleTranslationEntries, } +export interface BerryTranslationEntry { + name: string, + effect: string +} + +export interface BerryTranslationEntries { + [key: string]: BerryTranslationEntry +} + export interface Localizable { localize(): void; } @@ -139,6 +148,7 @@ declare module 'i18next' { egg: SimpleTranslationEntries; weather: SimpleTranslationEntries; modifierType: ModifierTypeTranslationEntries; + berry: BerryTranslationEntries; }; } } From a44c1587d443f453683c07a8466ddd001d0c865a Mon Sep 17 00:00:00 2001 From: Laeticia PIERRE Date: Fri, 17 May 2024 12:13:32 +0200 Subject: [PATCH 56/84] Fix some fr (#1013) * Fix some modifier-type fr * Fix some trainers fr * Fix DYNAMAX_BAND fr --- src/locales/fr/modifier-type.ts | 6 +++--- src/locales/fr/trainers.ts | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 96aeeccf4f8..95daf50f9b1 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -52,7 +52,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats", }, "TempBattleStatBoosterModifierType": { - description: "Augmente d’1 cran {{tempBattleStatName}} pour tout l’équipe pendant 5 combats", + description: "Augmente d’1 cran {{tempBattleStatName}} pour toute l’équipe pendant 5 combats", }, "AttackTypeBoosterModifierType": { description: "Augmente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon", @@ -129,7 +129,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "RARER_CANDY": { name: "Hyper Bonbon" }, "MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes" }, - "DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque les Maxi Champis" }, + "DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque le Dynamax" }, "TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats" }, "MAP": { name: "Carte", description: "Vous permet de choisir votre destination à un croisement" }, @@ -264,7 +264,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "fairy_feather": "Plume Enchantée", }, BaseStatBoosterItem: { - "hp_up": "PP Plus", + "hp_up": "PV Plus", "protein": "Protéine", "iron": "Fer", "calcium": "Calcium", diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index 2d5c78bbfc5..e5386288cb2 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -81,11 +81,11 @@ export const trainerClasses: SimpleTranslationEntries = { "ranger": "Ranger", "restaurant_staff": "Serveurs", "rich": "Rich", - "rich_female": "Rich", - "rich_boy": "Richard", + "rich_female": "Mondaine", + "rich_boy": "Gentleman", "rich_couple": "Couple de Bourgeois", - "rich_kid": "Rich Kid", - "rich_kid_female": "Rich Kid", + "rich_kid": "Richard", + "rich_kid_female": "Mademoiselle", "rich_kids": "Richards", "roughneck": "Loubard", "scientist": "Scientifique", From 96af567cd4d014ffa6afe554d1d2f26fb068022b Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 12:21:35 +0200 Subject: [PATCH 57/84] IV Scanner Results Translation (#990) * Update battle-message-ui-handler.ts * Update i18n.ts * Update config.ts * Update config.ts * Update config.ts * Update config.ts * Update config.ts * Update config.ts * Add files via upload * Add files via upload * Add files via upload * Add files via upload * Add files via upload * Add files via upload * Add files via upload * Update battle-message-ui-handler.ts * German battle-message-ui-handler.ts * Update config.ts --------- Co-authored-by: Benjamin Odom --- src/locales/de/battle-message-ui-handler.ts | 10 ++++++++ src/locales/de/config.ts | 5 ++-- src/locales/en/battle-message-ui-handler.ts | 10 ++++++++ src/locales/en/config.ts | 5 ++-- src/locales/es/battle-message-ui-handler.ts | 10 ++++++++ src/locales/es/config.ts | 5 ++-- src/locales/fr/battle-message-ui-handler.ts | 10 ++++++++ src/locales/fr/config.ts | 6 ++--- src/locales/it/battle-message-ui-handler.ts | 10 ++++++++ src/locales/it/config.ts | 5 ++-- .../pt_BR/battle-message-ui-handler.ts | 10 ++++++++ .../zh_CN/battle-message-ui-handler.ts | 10 ++++++++ src/locales/zh_CN/config.ts | 5 ++-- src/plugins/i18n.ts | 3 ++- src/ui/battle-message-ui-handler.ts | 25 ++++++++++--------- 15 files changed, 103 insertions(+), 26 deletions(-) create mode 100644 src/locales/de/battle-message-ui-handler.ts create mode 100644 src/locales/en/battle-message-ui-handler.ts create mode 100644 src/locales/es/battle-message-ui-handler.ts create mode 100644 src/locales/fr/battle-message-ui-handler.ts create mode 100644 src/locales/it/battle-message-ui-handler.ts create mode 100644 src/locales/pt_BR/battle-message-ui-handler.ts create mode 100644 src/locales/zh_CN/battle-message-ui-handler.ts diff --git a/src/locales/de/battle-message-ui-handler.ts b/src/locales/de/battle-message-ui-handler.ts new file mode 100644 index 00000000000..daedb8550d0 --- /dev/null +++ b/src/locales/de/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Sensationell", + "ivFantastic": "Fantastisch", + "ivVeryGood": "Sehr Gut", + "ivPrettyGood": "Gut", + "ivDecent": "Nicht Übel", + "ivNoGood": "Schlecht", +} as const; diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 9ff1699778b..7aeeeb7a925 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -18,9 +18,9 @@ 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"; - export const deConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const deConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/locales/en/battle-message-ui-handler.ts b/src/locales/en/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/en/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index b2dfe9c9b4c..6b23d2f2983 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -18,9 +18,9 @@ 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"; - export const enConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const enConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/locales/es/battle-message-ui-handler.ts b/src/locales/es/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/es/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index 61b01cfa6b5..a3b06982d33 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -18,9 +18,9 @@ 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"; - export const esConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const esConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/locales/fr/battle-message-ui-handler.ts b/src/locales/fr/battle-message-ui-handler.ts new file mode 100644 index 00000000000..8dc980d49a4 --- /dev/null +++ b/src/locales/fr/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Exceptionnel", + "ivFantastic": "Fantastique", + "ivVeryGood": "Très bon", + "ivPrettyGood": "Bon", + "ivDecent": "Passable…", + "ivNoGood": "Pas top…", +} as const; diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index ef8f8bb7538..867a08621bb 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -18,9 +18,9 @@ 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"; - export const frConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,6 +44,6 @@ export const frConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} - +} \ No newline at end of file diff --git a/src/locales/it/battle-message-ui-handler.ts b/src/locales/it/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/it/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 3d8d9b0e4b7..89d78304120 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -18,9 +18,9 @@ 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"; - export const itConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const itConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/locales/pt_BR/battle-message-ui-handler.ts b/src/locales/pt_BR/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/pt_BR/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/battle-message-ui-handler.ts b/src/locales/zh_CN/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/zh_CN/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 69f07a4f1a7..9c3a62f59f0 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -18,9 +18,9 @@ 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"; - export const zhCnConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const zhCnConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 30cc4bfcac2..5c9de28fe82 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -148,6 +148,7 @@ declare module 'i18next' { egg: SimpleTranslationEntries; weather: SimpleTranslationEntries; modifierType: ModifierTypeTranslationEntries; + battleMessageUiHandler: SimpleTranslationEntries; berry: BerryTranslationEntries; }; } @@ -159,4 +160,4 @@ export function getIsInitialized(): boolean { return isInitialized; } -let isInitialized = false; \ No newline at end of file +let isInitialized = false; diff --git a/src/ui/battle-message-ui-handler.ts b/src/ui/battle-message-ui-handler.ts index abcf04b7cc8..b7dccef52b5 100644 --- a/src/ui/battle-message-ui-handler.ts +++ b/src/ui/battle-message-ui-handler.ts @@ -7,6 +7,7 @@ import { getStatName, Stat } from "../data/pokemon-stat"; import { addWindow } from "./ui-theme"; import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import {Button} from "../enums/buttons"; +import i18next from '../plugins/i18n'; export default class BattleMessageUiHandler extends MessageUiHandler { private levelUpStatsContainer: Phaser.GameObjects.Container; @@ -234,20 +235,20 @@ export default class BattleMessageUiHandler extends MessageUiHandler { const textStyle: TextStyle = isBetter ? TextStyle.SUMMARY_GREEN : TextStyle.SUMMARY; const color = getTextColor(textStyle, false, uiTheme); return `[color=${color}][shadow=${getTextColor(textStyle, true, uiTheme)}]${text}[/shadow][/color]`; - }; +}; - if (value > 30) - return coloredText('Best', value > starterIvs[typeIv]); - if (value === 30) - return coloredText('Fantastic', value > starterIvs[typeIv]); - if (value > 20) - return coloredText('Very Good', value > starterIvs[typeIv]); - if (value > 10) - return coloredText('Pretty Good', value > starterIvs[typeIv]); - if (value > 0) - return coloredText('Decent', value > starterIvs[typeIv]); + if (value > 30) + return coloredText(i18next.t('battleMessageUiHandler:ivBest'), value > starterIvs[typeIv]); + if (value === 30) + return coloredText(i18next.t('battleMessageUiHandler:ivFantastic'), value > starterIvs[typeIv]); + if (value > 20) + return coloredText(i18next.t('battleMessageUiHandler:ivVeryGood'), value > starterIvs[typeIv]); + if (value > 10) + return coloredText(i18next.t('battleMessageUiHandler:ivPrettyGood'), value > starterIvs[typeIv]); + if (value > 0) + return coloredText(i18next.t('battleMessageUiHandler:ivDecent'), value > starterIvs[typeIv]); - return coloredText('No Good', value > starterIvs[typeIv]); + return coloredText(i18next.t('battleMessageUiHandler:ivNoGood'), value > starterIvs[typeIv]); } showNameText(name: string): void { From b0fd32b1a45034c603c8c4ee603f4eed0cf1c655 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 12:22:58 +0200 Subject: [PATCH 58/84] Update French berry.ts (#1023) --- src/locales/fr/berry.ts | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/locales/fr/berry.ts b/src/locales/fr/berry.ts index 8c8bc5ee280..dd6b387f4cc 100644 --- a/src/locales/fr/berry.ts +++ b/src/locales/fr/berry.ts @@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n"; export const berry: BerryTranslationEntries = { "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", + name: "Baie Sitrus", + effect: "Restaure 25% des PV s’ils sont inférieurs à 50%", }, "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", + name: "Baie Prine", + effect: "Soigne tout problème de statut permanant et la confusion", }, "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", + name: "Baie Enigma", + effect: "Restaure 25% des PV si touché par une capacité super efficace", }, "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", + name: "Baie Lichii", + effect: "Augmente l’Attaque si les PV sont inférieurs à 25%", }, "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", + name: "Baie Lingan", + effect: "Augmente la Défense si les PV sont inférieurs à 25%", }, "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", + name: "Baie Pitaye", + effect: "Augmente l’Atq. Spé. si les PV sont inférieurs à 25%", }, "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", + name: "Baie Abriko", + effect: "Augmente la Déf. Spé. si les PV sont inférieurs à 25%", }, "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", + name: "Baie Sailak", + effect: "Augmente la Vitesse si les PV sont inférieurs à 25%", }, "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", + name: "Baie Lansat", + effect: "Augmente le taux de coups critiques si les PV sont inférieurs à 25%", }, "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", + name: "Baie Frista", + effect: "Augmente énormément une statistique au hasard si les PV sont inférieurs à 25%", }, "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", + name: "Baie Mepo", + effect: "Restaure 10 PP à une capacité dès que ses PP tombent à 0", }, -} as const; \ No newline at end of file +} as const; From 48c745deee1f2f2b58ad438ff95b949c7c898d4e Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 12:23:23 +0200 Subject: [PATCH 59/84] Update French trainers.ts (#1020) --- src/locales/fr/trainers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index e5386288cb2..c73f0b1b1c5 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -35,7 +35,7 @@ export const trainerClasses: SimpleTranslationEntries = { "clerk": "Employé", "clerk_female": "Employée", "colleagues": "Collègues de Bureau", - "crush_kin": "Crush Kin", + "crush_kin": "Duo Baston", "cyclist": "Cycliste", "cyclist_female": "Cycliste", "cyclists": "Cyclistes", From 0c660f599d7f1105d5c7671abd8c2de52a20ef25 Mon Sep 17 00:00:00 2001 From: Somod1 <160222354+Somod1@users.noreply.github.com> Date: Fri, 17 May 2024 18:23:44 +0800 Subject: [PATCH 60/84] Add files via upload (#1022) --- src/locales/zh_CN/berry.ts | 94 +++++++++++++++++++------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/src/locales/zh_CN/berry.ts b/src/locales/zh_CN/berry.ts index 8c8bc5ee280..08b16d58e68 100644 --- a/src/locales/zh_CN/berry.ts +++ b/src/locales/zh_CN/berry.ts @@ -1,48 +1,48 @@ -import { BerryTranslationEntries } from "#app/plugins/i18n"; - -export const berry: BerryTranslationEntries = { - "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", - }, - "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", - }, - "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", - }, - "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", - }, - "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", - }, - "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", - }, - "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", - }, - "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", - }, - "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", - }, - "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", - }, - "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", - }, +import { BerryTranslationEntries } from "#app/plugins/i18n"; + +export const berry: BerryTranslationEntries = { + "SITRUS": { + name: "文柚果", + effect: "HP低于50%时,回复最大HP的25%", + }, + "LUM": { + name: "木子果", + effect: "治愈任何异常状态和混乱状态", + }, + "ENIGMA": { + name: "谜芝果", + effect: "受到效果绝佳的招式攻击时,回复25%最大HP", + }, + "LIECHI": { + name: "枝荔果", + effect: "HP低于25%时,攻击提升一个等级", + }, + "GANLON": { + name: "龙睛果", + effect: "HP低于25%时,防御提升一个等级", + }, + "PETAYA": { + name: "龙火果", + effect: "HP低于25%时,特攻提升一个等级", + }, + "APICOT": { + name: "杏仔果", + effect: "HP低于25%时,特防提升一个等级", + }, + "SALAC": { + name: "沙鳞果", + effect: "HP低于25%时,速度提升一个等级", + }, + "LANSAT": { + name: "兰萨果", + effect: "HP低于25%时,击中要害率提升两个等级", + }, + "STARF": { + name: "星桃果", + effect: "HP低于25%时,提高随机一项能力两个等级", + }, + "LEPPA": { + name: "苹野果", + effect: "有招式的PP降到0时,恢复该招式10PP", + }, } as const; \ No newline at end of file From 4362d49e6b8ed80798e7a0b58755aa3b0a36e923 Mon Sep 17 00:00:00 2001 From: Calvin Keats Date: Fri, 17 May 2024 05:25:21 -0500 Subject: [PATCH 61/84] Use localization for damaging weather messages (#1017) --- src/data/weather.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/weather.ts b/src/data/weather.ts index eb30f22f36b..c8bd47fc12d 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -1,5 +1,5 @@ import { Biome } from "./enums/biome"; -import { getPokemonMessage } from "../messages"; +import { getPokemonMessage, getPokemonPrefix } from "../messages"; import Pokemon from "../field/pokemon"; import { Type } from "./type"; import Move, { AttackMove } from "./move"; @@ -172,9 +172,9 @@ export function getWeatherLapseMessage(weatherType: WeatherType): string { export function getWeatherDamageMessage(weatherType: WeatherType, pokemon: Pokemon): string { switch (weatherType) { case WeatherType.SANDSTORM: - return getPokemonMessage(pokemon, ' is buffeted\nby the sandstorm!'); + return i18next.t('weather:sandstormDamageMessage', {pokemonPrefix: getPokemonPrefix(pokemon), pokemonName: pokemon.name}); case WeatherType.HAIL: - return getPokemonMessage(pokemon, ' is pelted\nby the hail!'); + return i18next.t('weather:hailDamageMessage', {pokemonPrefix: getPokemonPrefix(pokemon), pokemonName: pokemon.name}); } return null; From edf3a6aa36cdbee56bc2a224b1af78d3a02624d0 Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+TempsRay@users.noreply.github.com> Date: Fri, 17 May 2024 06:28:22 -0400 Subject: [PATCH 62/84] Fix tinted caught icon false positive (#892) * Fix tinted caught icon false positive * Remove unused import * Rename and optimize * Block comment * use 3 equals --- src/ui/battle-info.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index f2e48911e07..88bc3230ce3 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -260,8 +260,23 @@ export default class BattleInfo extends Phaser.GameObjects.Container { if (!this.player) { const dexEntry = pokemon.scene.gameData.dexData[pokemon.species.speciesId]; this.ownedIcon.setVisible(!!dexEntry.caughtAttr); - const dexAttr = pokemon.getDexAttr(); - if ((dexEntry.caughtAttr & dexAttr) < dexAttr || !(pokemon.scene.gameData.starterData[pokemon.species.getRootSpeciesId()].abilityAttr & Math.pow(2, pokemon.abilityIndex))) + const opponentPokemonDexAttr = pokemon.getDexAttr(); + + // Check if Player owns all genders and forms of the Pokemon + const missingDexAttrs = ((dexEntry.caughtAttr & opponentPokemonDexAttr) < opponentPokemonDexAttr); + + /** + * If the opposing Pokemon only has 1 normal ability and is using the hidden ability it should have the same behavior + * if it had 2 normal abilities. This code checks if that is the case and uses the correct opponent Pokemon abilityIndex (2) + * for calculations so it aligns with where the hidden ability is stored in the starter data's abilityAttr (4) + */ + const opponentPokemonOneNormalAbility = (pokemon.species.getAbilityCount() === 2); + const opponentPokemonAbilityIndex = (opponentPokemonOneNormalAbility && pokemon.abilityIndex === 1) ? 2 : pokemon.abilityIndex; + const opponentPokemonAbilityAttr = Math.pow(2, opponentPokemonAbilityIndex); + + const rootFormHasHiddenAbility = pokemon.scene.gameData.starterData[pokemon.species.getRootSpeciesId()].abilityAttr & opponentPokemonAbilityAttr; + + if (missingDexAttrs || !rootFormHasHiddenAbility) this.ownedIcon.setTint(0x808080); if (this.boss) From 10437142b60b1049b4abd65f6d6d6b06afb1210c Mon Sep 17 00:00:00 2001 From: William Burleson <72857839+Admiral-Billy@users.noreply.github.com> Date: Fri, 17 May 2024 06:51:48 -0400 Subject: [PATCH 63/84] Fix daily run freeze (#1025) --- src/phases.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/phases.ts b/src/phases.ts index 91e098edf1f..1137c85afa6 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3545,10 +3545,12 @@ export class GameOverModifierRewardPhase extends ModifierRewardPhase { this.scene.addModifier(newModifier).then(() => { this.scene.playSound('level_up_fanfare'); this.scene.ui.setMode(Mode.MESSAGE); + this.scene.ui.fadeIn(250).then(() => { this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => { this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true)); resolve(); }, null, true, 1500); + }); }); }) } From bfa12fd48dd17171917fc907ba62ee9356263adc Mon Sep 17 00:00:00 2001 From: Calvin Keats Date: Fri, 17 May 2024 06:54:51 -0500 Subject: [PATCH 64/84] Update ETHER and similar items to use total max PP instead of base PP (#1014) --- src/modifier/modifier-type.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 50bf2f78a0c..1e21af58564 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1194,11 +1194,11 @@ const modifierPool: ModifierPool = { return thresholdPartyMemberCount; }, 3), new WeightedModifierType(modifierTypes.ETHER, (party: Pokemon[]) => { - const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3); + const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3); return thresholdPartyMemberCount * 3; }, 9), new WeightedModifierType(modifierTypes.MAX_ETHER, (party: Pokemon[]) => { - const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3); + const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3); return thresholdPartyMemberCount; }, 3), new WeightedModifierType(modifierTypes.LURE, 2), @@ -1237,11 +1237,11 @@ const modifierPool: ModifierPool = { return thresholdPartyMemberCount; }, 3), new WeightedModifierType(modifierTypes.ELIXIR, (party: Pokemon[]) => { - const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3); + const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3); return thresholdPartyMemberCount * 3; }, 9), new WeightedModifierType(modifierTypes.MAX_ELIXIR, (party: Pokemon[]) => { - const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3); + const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3); return thresholdPartyMemberCount; }, 3), new WeightedModifierType(modifierTypes.DIRE_HIT, 4), From 03c4b1b821849771e19c6eb4698ed57000ba5b3f Mon Sep 17 00:00:00 2001 From: Brandon Rodgers Date: Fri, 17 May 2024 09:49:04 -0400 Subject: [PATCH 65/84] Update battler-tags.ts (#1030) Corrected the TrappedTag class so no Ghosts can be trapped Added special canAdd function to IngrainTag so all Ghosts can use Ingrain not just Trevenant and Phantump. --- src/data/battler-tags.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 6ab249864cd..4c3f09cab30 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -15,7 +15,6 @@ import { TerrainType } from "./terrain"; import { WeatherType } from "./weather"; import { BattleStat } from "./battle-stat"; import { allAbilities } from "./ability"; -import { Species } from "./enums/species"; export enum BattlerTagLapseType { FAINT, @@ -120,9 +119,8 @@ export class TrappedTag extends BattlerTag { canAdd(pokemon: Pokemon): boolean { const isGhost = pokemon.isOfType(Type.GHOST); const isTrapped = pokemon.getTag(BattlerTagType.TRAPPED); - const isAllowedGhostType = pokemon.species.speciesId === Species.PHANTUMP || pokemon.species.speciesId === Species.TREVENANT; - return !isTrapped && (!isGhost || isAllowedGhostType); + return !isTrapped && !isGhost; } onAdd(pokemon: Pokemon): void { @@ -503,11 +501,26 @@ export class HelpingHandTag extends BattlerTag { } } +/** + * Applies the Ingrain tag to a pokemon + * @extends TrappedTag + */ export class IngrainTag extends TrappedTag { constructor(sourceId: integer) { super(BattlerTagType.INGRAIN, BattlerTagLapseType.TURN_END, 1, Moves.INGRAIN, sourceId); } + /** + * Check if the Ingrain tag can be added to the pokemon + * @param pokemon {@linkcode Pokemon} The pokemon to check if the tag can be added to + * @returns boolean True if the tag can be added, false otherwise + */ + canAdd(pokemon: Pokemon): boolean { + const isTrapped = pokemon.getTag(BattlerTagType.TRAPPED); + + return !isTrapped; + } + lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { const ret = lapseType !== BattlerTagLapseType.CUSTOM || super.lapse(pokemon, lapseType); From 3cc9c93643a496f35e9333a43b5776e4f4d27531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Fri, 17 May 2024 11:43:11 -0300 Subject: [PATCH 66/84] Type localization instead of TeraType (#981) * Type localization, now type-boosting items descriptions are fully translated * pokemon-stat refactoration * reverted import changes --- src/data/pokemon-stat.ts | 12 ++++----- src/locales/de/config.ts | 4 +-- src/locales/de/modifier-type.ts | 22 ---------------- src/locales/de/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/de/pokemon-stat.ts | 16 ------------ src/locales/en/config.ts | 4 +-- src/locales/en/modifier-type.ts | 22 ---------------- src/locales/en/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/en/pokemon-stat.ts | 16 ------------ src/locales/es/config.ts | 4 +-- src/locales/es/modifier-type.ts | 22 ---------------- src/locales/es/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/es/pokemon-stat.ts | 16 ------------ src/locales/fr/config.ts | 4 +-- src/locales/fr/modifier-type.ts | 22 ---------------- src/locales/fr/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/fr/pokemon-stat.ts | 16 ------------ src/locales/it/config.ts | 4 +-- src/locales/it/modifier-type.ts | 22 ---------------- src/locales/it/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/it/pokemon-stat.ts | 16 ------------ src/locales/pt_BR/config.ts | 4 +-- src/locales/pt_BR/modifier-type.ts | 22 ---------------- src/locales/pt_BR/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/pt_BR/pokemon-stat.ts | 16 ------------ src/locales/zh_CN/config.ts | 4 +-- src/locales/zh_CN/modifier-type.ts | 22 ---------------- src/locales/zh_CN/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/zh_CN/pokemon-stat.ts | 16 ------------ src/modifier/modifier-type.ts | 6 ++--- src/plugins/i18n.ts | 7 +++-- 31 files changed, 315 insertions(+), 291 deletions(-) create mode 100644 src/locales/de/pokemon-info.ts delete mode 100644 src/locales/de/pokemon-stat.ts create mode 100644 src/locales/en/pokemon-info.ts delete mode 100644 src/locales/en/pokemon-stat.ts create mode 100644 src/locales/es/pokemon-info.ts delete mode 100644 src/locales/es/pokemon-stat.ts create mode 100644 src/locales/fr/pokemon-info.ts delete mode 100644 src/locales/fr/pokemon-stat.ts create mode 100644 src/locales/it/pokemon-info.ts delete mode 100644 src/locales/it/pokemon-stat.ts create mode 100644 src/locales/pt_BR/pokemon-info.ts delete mode 100644 src/locales/pt_BR/pokemon-stat.ts create mode 100644 src/locales/zh_CN/pokemon-info.ts delete mode 100644 src/locales/zh_CN/pokemon-stat.ts diff --git a/src/data/pokemon-stat.ts b/src/data/pokemon-stat.ts index b22eaefe876..94e710c981b 100644 --- a/src/data/pokemon-stat.ts +++ b/src/data/pokemon-stat.ts @@ -13,22 +13,22 @@ export function getStatName(stat: Stat, shorten: boolean = false) { let ret: string; switch (stat) { case Stat.HP: - ret = !shorten ? i18next.t('pokemonStat:HP') : i18next.t('pokemonStat:HPshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.HP') : i18next.t('pokemonInfo:Stat.HPshortened'); break; case Stat.ATK: - ret = !shorten ? i18next.t('pokemonStat:ATK') : i18next.t('pokemonStat:ATKshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.ATK') : i18next.t('pokemonInfo:Stat.ATKshortened'); break; case Stat.DEF: - ret = !shorten ? i18next.t('pokemonStat:DEF') : i18next.t('pokemonStat:DEFshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.DEF') : i18next.t('pokemonInfo:Stat.DEFshortened'); break; case Stat.SPATK: - ret = !shorten ? i18next.t('pokemonStat:SPATK') : i18next.t('pokemonStat:SPATKshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.SPATK') : i18next.t('pokemonInfo:Stat.SPATKshortened'); break; case Stat.SPDEF: - ret = !shorten ? i18next.t('pokemonStat:SPDEF') : i18next.t('pokemonStat:SPDEFshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.SPDEF') : i18next.t('pokemonInfo:Stat.SPDEFshortened'); break; case Stat.SPD: - ret = !shorten ? i18next.t('pokemonStat:SPD') : i18next.t('pokemonStat:SPDshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.SPD') : i18next.t('pokemonInfo:Stat.SPDshortened'); break; } return ret; diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 7aeeeb7a925..af52d8bc51b 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const deConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/de/modifier-type.ts b/src/locales/de/modifier-type.ts index dea1421ac20..95346548c44 100644 --- a/src/locales/de/modifier-type.ts +++ b/src/locales/de/modifier-type.ts @@ -385,26 +385,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Gefriermodul", "DOUSE_DRIVE": "Aquamodul", }, - TeraType: { - "UNKNOWN": "Unbekannt", - "NORMAL": "Normal", - "FIGHTING": "Kampf", - "FLYING": "Flug", - "POISON": "Gift", - "GROUND": "Boden", - "ROCK": "Gestein", - "BUG": "Käfer", - "GHOST": "Geist", - "STEEL": "Stahl", - "FIRE": "Feuer", - "WATER": "Wasser", - "GRASS": "Pflanze", - "ELECTRIC": "Elektro", - "PSYCHIC": "Psycho", - "ICE": "Eis", - "DRAGON": "Drache", - "DARK": "Unlicht", - "FAIRY": "Fee", - "STELLAR": "Stellar", - }, } as const; \ No newline at end of file diff --git a/src/locales/de/pokemon-info.ts b/src/locales/de/pokemon-info.ts new file mode 100644 index 00000000000..772a09cb656 --- /dev/null +++ b/src/locales/de/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "Max. KP", + "HPshortened": "MaxKP", + "ATK": "Angriff", + "ATKshortened": "Ang", + "DEF": "Verteidigung", + "DEFshortened": "Vert", + "SPATK": "Sp. Ang", + "SPATKshortened": "SpAng", + "SPDEF": "Sp. Vert", + "SPDEFshortened": "SpVert", + "SPD": "Initiative", + "SPDshortened": "Init", + }, + + Type: { + "UNKNOWN": "Unbekannt", + "NORMAL": "Normal", + "FIGHTING": "Kampf", + "FLYING": "Flug", + "POISON": "Gift", + "GROUND": "Boden", + "ROCK": "Gestein", + "BUG": "Käfer", + "GHOST": "Geist", + "STEEL": "Stahl", + "FIRE": "Feuer", + "WATER": "Wasser", + "GRASS": "Pflanze", + "ELECTRIC": "Elektro", + "PSYCHIC": "Psycho", + "ICE": "Eis", + "DRAGON": "Drache", + "DARK": "Unlicht", + "FAIRY": "Fee", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/de/pokemon-stat.ts b/src/locales/de/pokemon-stat.ts deleted file mode 100644 index 531b5022b68..00000000000 --- a/src/locales/de/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "Max. KP", - "HPshortened": "MaxKP", - "ATK": "Angriff", - "ATKshortened": "Ang", - "DEF": "Verteidigung", - "DEFshortened": "Vert", - "SPATK": "Sp. Ang", - "SPATKshortened": "SpAng", - "SPDEF": "Sp. Vert", - "SPDEFshortened": "SpVert", - "SPD": "Initiative", - "SPDshortened": "Init" -} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index 6b23d2f2983..984b0fa239f 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const enConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/en/modifier-type.ts b/src/locales/en/modifier-type.ts index 043d7a705d5..31d4abbce29 100644 --- a/src/locales/en/modifier-type.ts +++ b/src/locales/en/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Chill Drive", "DOUSE_DRIVE": "Douse Drive", }, - TeraType: { - "UNKNOWN": "Unknown", - "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", - "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", - "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", - "STELLAR": "Stellar", - }, } as const; \ No newline at end of file diff --git a/src/locales/en/pokemon-info.ts b/src/locales/en/pokemon-info.ts new file mode 100644 index 00000000000..2c7ee78f07a --- /dev/null +++ b/src/locales/en/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "Max. HP", + "HPshortened": "MaxHP", + "ATK": "Attack", + "ATKshortened": "Atk", + "DEF": "Defense", + "DEFshortened": "Def", + "SPATK": "Sp. Atk", + "SPATKshortened": "SpAtk", + "SPDEF": "Sp. Def", + "SPDEFshortened": "SpDef", + "SPD": "Speed", + "SPDshortened": "Spd" + }, + + Type: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/en/pokemon-stat.ts b/src/locales/en/pokemon-stat.ts deleted file mode 100644 index 7a209461b11..00000000000 --- a/src/locales/en/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "Max. HP", - "HPshortened": "MaxHP", - "ATK": "Attack", - "ATKshortened": "Atk", - "DEF": "Defense", - "DEFshortened": "Def", - "SPATK": "Sp. Atk", - "SPATKshortened": "SpAtk", - "SPDEF": "Sp. Def", - "SPDEFshortened": "SpDef", - "SPD": "Speed", - "SPDshortened": "Spd" -} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index a3b06982d33..92349028899 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const esConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/es/modifier-type.ts b/src/locales/es/modifier-type.ts index 043d7a705d5..31d4abbce29 100644 --- a/src/locales/es/modifier-type.ts +++ b/src/locales/es/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Chill Drive", "DOUSE_DRIVE": "Douse Drive", }, - TeraType: { - "UNKNOWN": "Unknown", - "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", - "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", - "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", - "STELLAR": "Stellar", - }, } as const; \ No newline at end of file diff --git a/src/locales/es/pokemon-info.ts b/src/locales/es/pokemon-info.ts new file mode 100644 index 00000000000..fabc7220f3c --- /dev/null +++ b/src/locales/es/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "PV", + "HPshortened": "PV", + "ATK": "Ataque", + "ATKshortened": "Ata", + "DEF": "Defensa", + "DEFshortened": "Def", + "SPATK": "At. Esp.", + "SPATKshortened": "AtEsp", + "SPDEF": "Def. Esp.", + "SPDEFshortened": "DefEsp", + "SPD": "Velocidad", + "SPDshortened": "Veloc." + }, + + Type: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/es/pokemon-stat.ts b/src/locales/es/pokemon-stat.ts deleted file mode 100644 index 514ef19891b..00000000000 --- a/src/locales/es/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "PV", - "HPshortened": "PV", - "ATK": "Ataque", - "ATKshortened": "Ata", - "DEF": "Defensa", - "DEFshortened": "Def", - "SPATK": "At. Esp.", - "SPATKshortened": "AtEsp", - "SPDEF": "Def. Esp.", - "SPDEFshortened": "DefEsp", - "SPD": "Velocidad", - "SPDshortened": "Veloc." -} as const; \ No newline at end of file diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 867a08621bb..ecec8de6cb0 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const frConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 95daf50f9b1..f8697c04259 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Module Aqua", "DOUSE_DRIVE": "Module Choc", }, - TeraType: { - "UNKNOWN": "Inconnu", - "NORMAL": "Normal", - "FIGHTING": "Combat", - "FLYING": "Vol", - "POISON": "Poison", - "GROUND": "Sol", - "ROCK": "Roche", - "BUG": "Insecte", - "GHOST": "Spectre", - "STEEL": "Acier", - "FIRE": "Feu", - "WATER": "Eau", - "GRASS": "Plante", - "ELECTRIC": "Électrik", - "PSYCHIC": "Psy", - "ICE": "Glace", - "DRAGON": "Dragon", - "DARK": "Ténèbres", - "FAIRY": "Fée", - "STELLAR": "Stellaire", - }, } as const; diff --git a/src/locales/fr/pokemon-info.ts b/src/locales/fr/pokemon-info.ts new file mode 100644 index 00000000000..0c246bd96a4 --- /dev/null +++ b/src/locales/fr/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "PV", + "HPshortened": "PV", + "ATK": "Attaque", + "ATKshortened": "Atq", + "DEF": "Défense", + "DEFshortened": "Déf", + "SPATK": "Atq. Spé.", + "SPATKshortened": "AtqSp", + "SPDEF": "Déf. Spé.", + "SPDEFshortened": "DéfSp", + "SPD": "Vitesse", + "SPDshortened": "Vit" + }, + + Type: { + "UNKNOWN": "Inconnu", + "NORMAL": "Normal", + "FIGHTING": "Combat", + "FLYING": "Vol", + "POISON": "Poison", + "GROUND": "Sol", + "ROCK": "Roche", + "BUG": "Insecte", + "GHOST": "Spectre", + "STEEL": "Acier", + "FIRE": "Feu", + "WATER": "Eau", + "GRASS": "Plante", + "ELECTRIC": "Électrik", + "PSYCHIC": "Psy", + "ICE": "Glace", + "DRAGON": "Dragon", + "DARK": "Ténèbres", + "FAIRY": "Fée", + "STELLAR": "Stellaire", + }, +} as const; diff --git a/src/locales/fr/pokemon-stat.ts b/src/locales/fr/pokemon-stat.ts deleted file mode 100644 index 62aa97fc1fd..00000000000 --- a/src/locales/fr/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "PV", - "HPshortened": "PV", - "ATK": "Attaque", - "ATKshortened": "Atq", - "DEF": "Défense", - "DEFshortened": "Déf", - "SPATK": "Atq. Spé.", - "SPATKshortened": "AtqSp", - "SPDEF": "Déf. Spé.", - "SPDEFshortened": "DéfSp", - "SPD": "Vitesse", - "SPDshortened": "Vit" -} as const; diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 89d78304120..a9c80dc673d 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const itConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/it/modifier-type.ts b/src/locales/it/modifier-type.ts index 7f342309acf..87deece71fe 100644 --- a/src/locales/it/modifier-type.ts +++ b/src/locales/it/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Gelomodulo", "DOUSE_DRIVE": "Idromodulo", }, - TeraType: { - "UNKNOWN": "Sconosciuto", - "NORMAL": "Normale", - "FIGHTING": "Lotta", - "FLYING": "Volante", - "POISON": "Veleno", - "GROUND": "Terra", - "ROCK": "Roccia", - "BUG": "Coleottero", - "GHOST": "Spettro", - "STEEL": "Acciaio", - "FIRE": "Fuoco", - "WATER": "Acqua", - "GRASS": "Erba", - "ELECTRIC": "Elettro", - "PSYCHIC": "Psico", - "ICE": "Ghiaccio", - "DRAGON": "Drago", - "DARK": "Buio", - "FAIRY": "Folletto", - "STELLAR": "Astrale", - }, } as const; \ No newline at end of file diff --git a/src/locales/it/pokemon-info.ts b/src/locales/it/pokemon-info.ts new file mode 100644 index 00000000000..617b2157da2 --- /dev/null +++ b/src/locales/it/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "PS Max", + "HPshortened": "PS", + "ATK": "Attacco", + "ATKshortened": "Att", + "DEF": "Difesa", + "DEFshortened": "Dif", + "SPATK": "Att. Sp.", + "SPATKshortened": "AttSp", + "SPDEF": "Dif. Sp.", + "SPDEFshortened": "DifSp", + "SPD": "Velocità", + "SPDshortened": "Vel" + }, + + Type: { + "UNKNOWN": "Sconosciuto", + "NORMAL": "Normale", + "FIGHTING": "Lotta", + "FLYING": "Volante", + "POISON": "Veleno", + "GROUND": "Terra", + "ROCK": "Roccia", + "BUG": "Coleottero", + "GHOST": "Spettro", + "STEEL": "Acciaio", + "FIRE": "Fuoco", + "WATER": "Acqua", + "GRASS": "Erba", + "ELECTRIC": "Elettro", + "PSYCHIC": "Psico", + "ICE": "Ghiaccio", + "DRAGON": "Drago", + "DARK": "Buio", + "FAIRY": "Folletto", + "STELLAR": "Astrale", + }, +} as const; diff --git a/src/locales/it/pokemon-stat.ts b/src/locales/it/pokemon-stat.ts deleted file mode 100644 index b2c023aa383..00000000000 --- a/src/locales/it/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "PS Max", - "HPshortened": "PS", - "ATK": "Attacco", - "ATKshortened": "Att", - "DEF": "Difesa", - "DEFshortened": "Dif", - "SPATK": "Att. Sp.", - "SPATKshortened": "AttSp", - "SPDEF": "Dif. Sp.", - "SPDEFshortened": "DifSp", - "SPD": "Velocità", - "SPDshortened": "Vel" -} as const; diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index 157df19a80b..29d3c8b4195 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -10,7 +10,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; @@ -26,7 +26,7 @@ export const ptBrConfig = { menu: menu, move: move, pokeball: pokeball, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, diff --git a/src/locales/pt_BR/modifier-type.ts b/src/locales/pt_BR/modifier-type.ts index 043d7a705d5..31d4abbce29 100644 --- a/src/locales/pt_BR/modifier-type.ts +++ b/src/locales/pt_BR/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Chill Drive", "DOUSE_DRIVE": "Douse Drive", }, - TeraType: { - "UNKNOWN": "Unknown", - "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", - "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", - "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", - "STELLAR": "Stellar", - }, } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/pokemon-info.ts b/src/locales/pt_BR/pokemon-info.ts new file mode 100644 index 00000000000..99cef266c6f --- /dev/null +++ b/src/locales/pt_BR/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "PS", + "HPshortened": "PS", + "ATK": "Ataque", + "ATKshortened": "Ata", + "DEF": "Defesa", + "DEFshortened": "Def", + "SPATK": "At. Esp.", + "SPATKshortened": "AtEsp", + "SPDEF": "Def. Esp.", + "SPDEFshortened": "DefEsp", + "SPD": "Veloc.", + "SPDshortened": "Veloc." + }, + + Type: { + "UNKNOWN": "Desconhecido", + "NORMAL": "Normal", + "FIGHTING": "Lutador", + "FLYING": "Voador", + "POISON": "Veneno", + "GROUND": "Terra", + "ROCK": "Pedra", + "BUG": "Inseto", + "GHOST": "Fantasma", + "STEEL": "Aço", + "FIRE": "Fogo", + "WATER": "Água", + "GRASS": "Grama", + "ELECTRIC": "Elétrico", + "PSYCHIC": "Psíquico", + "ICE": "Gelo", + "DRAGON": "Dragão", + "DARK": "Sombrio", + "FAIRY": "Fada", + "STELLAR": "Estelar" + }, +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/pokemon-stat.ts b/src/locales/pt_BR/pokemon-stat.ts deleted file mode 100644 index 5f5e2c23584..00000000000 --- a/src/locales/pt_BR/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "PS", - "HPshortened": "PS", - "ATK": "Ataque", - "ATKshortened": "Ata", - "DEF": "Defesa", - "DEFshortened": "Def", - "SPATK": "At. Esp.", - "SPATKshortened": "AtEsp", - "SPDEF": "Def. Esp.", - "SPDEFshortened": "DefEsp", - "SPD": "Veloc.", - "SPDshortened": "Veloc." -} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 9c3a62f59f0..cfdc7ab0d18 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; // import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const zhCnConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, // splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/zh_CN/modifier-type.ts b/src/locales/zh_CN/modifier-type.ts index 80ddc1f92dd..9555eb3ce7d 100644 --- a/src/locales/zh_CN/modifier-type.ts +++ b/src/locales/zh_CN/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "冰冻卡带", "DOUSE_DRIVE": "水流卡带", }, - TeraType: { - "UNKNOWN": "Unknown", - "NORMAL": "一般", - "FIGHTING": "格斗", - "FLYING": "飞行", - "POISON": "毒", - "GROUND": "地面", - "ROCK": "岩石", - "BUG": "虫", - "GHOST": "幽灵", - "STEEL": "钢", - "FIRE": "火", - "WATER": "水", - "GRASS": "草", - "ELECTRIC": "电", - "PSYCHIC": "超能力", - "ICE": "冰", - "DRAGON": "龙", - "DARK": "恶", - "FAIRY": "妖精", - "STELLAR": "星晶", - }, } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/pokemon-info.ts b/src/locales/zh_CN/pokemon-info.ts new file mode 100644 index 00000000000..d99d8edfd76 --- /dev/null +++ b/src/locales/zh_CN/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "最大HP", + "HPshortened": "最大HP", + "ATK": "攻击", + "ATKshortened": "攻击", + "DEF": "防御", + "DEFshortened": "防御", + "SPATK": "特攻", + "SPATKshortened": "特攻", + "SPDEF": "特防", + "SPDEFshortened": "特防", + "SPD": "速度", + "SPDshortened": "速度" + }, + + Type: { + "UNKNOWN": "Unknown", + "NORMAL": "一般", + "FIGHTING": "格斗", + "FLYING": "飞行", + "POISON": "毒", + "GROUND": "地面", + "ROCK": "岩石", + "BUG": "虫", + "GHOST": "幽灵", + "STEEL": "钢", + "FIRE": "火", + "WATER": "水", + "GRASS": "草", + "ELECTRIC": "电", + "PSYCHIC": "超能力", + "ICE": "冰", + "DRAGON": "龙", + "DARK": "恶", + "FAIRY": "妖精", + "STELLAR": "星晶", + }, +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/pokemon-stat.ts b/src/locales/zh_CN/pokemon-stat.ts deleted file mode 100644 index d30922c46a0..00000000000 --- a/src/locales/zh_CN/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "最大HP", - "HPshortened": "最大HP", - "ATK": "攻击", - "ATKshortened": "攻击", - "DEF": "防御", - "DEFshortened": "防御", - "SPATK": "特攻", - "SPATKshortened": "特攻", - "SPDEF": "特防", - "SPDEFshortened": "特防", - "SPD": "速度", - "SPDshortened": "速度" -} as const; \ No newline at end of file diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 1e21af58564..278de2f18e8 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -511,7 +511,7 @@ export class AttackTypeBoosterModifierType extends PokemonHeldItemModifierType i getDescription(scene: BattleScene): string { // TODO: Need getTypeName? - return i18next.t(`modifierType:ModifierType.AttackTypeBoosterModifierType.description`, { moveType: Utils.toReadableString(Type[this.moveType]) }); + return i18next.t(`modifierType:ModifierType.AttackTypeBoosterModifierType.description`, { moveType: i18next.t(`pokemonInfo:Type.${Type[this.moveType]}`) }); } getPregenArgs(): any[] { @@ -898,11 +898,11 @@ export class TerastallizeModifierType extends PokemonHeldItemModifierType implem } get name(): string { - return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.name`, { teraType: i18next.t(`modifierType:TeraType.${Type[this.teraType]}`) }); + return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.name`, { teraType: i18next.t(`pokemonInfo:Type.${Type[this.teraType]}`) }); } getDescription(scene: BattleScene): string { - return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.description`, { teraType: i18next.t(`modifierType:TeraType.${Type[this.teraType]}`) }); + return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.description`, { teraType: i18next.t(`pokemonInfo:Type.${Type[this.teraType]}`) }); } getPregenArgs(): any[] { diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 5c9de28fe82..790a3c729c8 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -43,7 +43,10 @@ export interface ModifierTypeTranslationEntries { BaseStatBoosterItem: SimpleTranslationEntries, EvolutionItem: SimpleTranslationEntries, FormChangeItem: SimpleTranslationEntries, - TeraType: SimpleTranslationEntries, +} +export interface PokemonInfoTranslationEntries { + Stat: SimpleTranslationEntries, + Type: SimpleTranslationEntries, } export interface BerryTranslationEntry { @@ -134,7 +137,7 @@ declare module 'i18next' { ability: AbilityTranslationEntries; pokeball: SimpleTranslationEntries; pokemon: SimpleTranslationEntries; - pokemonStat: SimpleTranslationEntries; + pokemonInfo: PokemonInfoTranslationEntries; commandUiHandler: SimpleTranslationEntries; fightUiHandler: SimpleTranslationEntries; titles: SimpleTranslationEntries; From 09b820161f03655a3dc60a72c4e404a4b80d5016 Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Fri, 17 May 2024 17:21:11 +0200 Subject: [PATCH 67/84] Localized Weather, Berries and Splash Messages (#1034) * Localized Weather, Berries and Splash Messages * Berry messages are now correct --- src/locales/de/berry.ts | 44 +++++++++++----------- src/locales/de/splash-messages.ts | 62 +++++++++++++++---------------- src/locales/de/weather.ts | 50 ++++++++++++------------- 3 files changed, 78 insertions(+), 78 deletions(-) diff --git a/src/locales/de/berry.ts b/src/locales/de/berry.ts index 8c8bc5ee280..bba64597f6b 100644 --- a/src/locales/de/berry.ts +++ b/src/locales/de/berry.ts @@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n"; export const berry: BerryTranslationEntries = { "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", + name: "Tsitrubeere", + effect: "Stellt 25% der KP wieder her, wenn die KP unter 50% sind" }, "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", + name: "Prunusbeere", + effect: "Heilt jede nichtflüchtige Statusveränderung und Verwirrung" }, "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", + name: "Enigmabeere", + effect: "Stellt 25% der KP wieder her, wenn der Träger von einer sehr effektiven Attacke getroffen wird", }, "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", + name: "Lydzibeere", + effect: "Steigert den Angriff, wenn die KP unter 25% sind" }, "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", + name: "Linganbeere", + effect: "Steigert die Verteidigung, wenn die KP unter 25% sind" }, "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", + name: "Tahaybeere", + effect: "Steigert den Spezial-Angriff, wenn die KP unter 25% sind" }, "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", + name: "Apikobeere", + effect: "Steigert die Spezial-Verteidigung, wenn die KP unter 25% sind" }, "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", + name: "Salkabeere", + effect: "Steigert die Initiative, wenn die KP unter 25% sind" }, "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", + name: "Lansatbeere", + effect: "Erhöht die Volltrefferchance, wenn die KP unter 25% sind" }, "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", + name: "Krambobeere", + effect: "Erhöht eine Statuswert stark, wenn die KP unter 25% sind" }, "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", + name: "Jonagobeere", + effect: "Stellt 10 AP für eine Attacke wieder her, wenn deren AP auf 0 fallen" }, } as const; \ No newline at end of file diff --git a/src/locales/de/splash-messages.ts b/src/locales/de/splash-messages.ts index 6815d7f1824..4bbe9a25492 100644 --- a/src/locales/de/splash-messages.ts +++ b/src/locales/de/splash-messages.ts @@ -1,37 +1,37 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const splashMessages: SimpleTranslationEntries = { - "battlesWon": "Battles Won!", - "joinTheDiscord": "Join the Discord!", - "infiniteLevels": "Infinite Levels!", - "everythingStacks": "Everything Stacks!", - "optionalSaveScumming": "Optional Save Scumming!", - "biomes": "35 Biomes!", + "battlesWon": "Kämpfe gewonnen!", + "joinTheDiscord": "Tritt dem Discord bei!", + "infiniteLevels": "Unendliche Level!", + "everythingStacks": "Alles stapelt sich!", + "optionalSaveScumming": "Optionales Save Scumming!", + "biomes": "35 Biome!", "openSource": "Open Source!", - "playWithSpeed": "Play with 5x Speed!", - "liveBugTesting": "Live Bug Testing!", - "heavyInfluence": "Heavy RoR2 Influence!", + "playWithSpeed": "Spiele mit fünffacher Geschwindigkeit!", + "liveBugTesting": "Live-Bug-Tests!", + "heavyInfluence": "Starker RoR2-Einfluss!", "pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!", - "nowWithMoreSalt": "Now with 33% More Salt!", - "infiniteFusionAtHome": "Infinite Fusion at Home!", - "brokenEggMoves": "Broken Egg Moves!", - "magnificent": "Magnificent!", - "mubstitute": "Mubstitute!", - "thatsCrazy": "That\'s Crazy!", - "oranceJuice": "Orance Juice!", - "questionableBalancing": "Questionable Balancing!", - "coolShaders": "Cool Shaders!", - "aiFree": "AI-Free!", - "suddenDifficultySpikes": "Sudden Difficulty Spikes!", - "basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!", - "moreAddictiveThanIntended": "More Addictive than Intended!", - "mostlyConsistentSeeds": "Mostly Consistent Seeds!", - "achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!", - "youDoNotStartAtLevel": "You Do Not Start at Level 2000!", - "dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!", - "alsoTryPokengine": "Also Try Pokéngine!", - "alsoTryEmeraldRogue": "Also Try Emerald Rogue!", - "alsoTryRadicalRed": "Also Try Radical Red!", - "eeveeExpo": "Eevee Expo!", - "ynoproject": "YNOproject!", + "nowWithMoreSalt": "Jetzt mit 33% mehr Salz!", + "infiniteFusionAtHome": "Wir haben Infinite Fusionen zu Hause!", + "brokenEggMoves": "Übermächtige Ei-Attacken!", + "magnificent": "Herrlich!", + "mubstitute": "Melegator!", + "thatsCrazy": "Das ist verrückt!", + "oranceJuice": "Orangensaft!", + "questionableBalancing": "Fragwürdiges Balancing!", + "coolShaders": "Coole Shader!", + "aiFree": "Ohne KI!", + "suddenDifficultySpikes": "Plötzliche Schwierigkeitsspitzen!", + "basedOnAnUnfinishedFlashGame": "Basierend auf einem unfertigen Flash-Spiel!", + "moreAddictiveThanIntended": "Süchtig machender als beabsichtigt!", + "mostlyConsistentSeeds": "Meistens konsistente Seeds!", + "achievementPointsDontDoAnything": "Erungenschaftspunkte tun nichts!", + "youDoNotStartAtLevel": "Du startest nicht auf Level 2000!", + "dontTalkAboutTheManaphyEggIncident": "Wir reden nicht über den Manaphy-Ei-Vorfall!", + "alsoTryPokengine": "Versuche auch Pokéngine!", + "alsoTryEmeraldRogue": "Versuche auch Emerald Rogue!", + "alsoTryRadicalRed": "Versuche auch Radical Red!", + "eeveeExpo": "Evoli-Expo!", + "ynoproject": "YNO-Projekt!", } as const; \ No newline at end of file diff --git a/src/locales/de/weather.ts b/src/locales/de/weather.ts index 0c5635de736..6e40714f88f 100644 --- a/src/locales/de/weather.ts +++ b/src/locales/de/weather.ts @@ -4,41 +4,41 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; * The weather namespace holds text displayed when weather is active during a battle */ export const weather: SimpleTranslationEntries = { - "sunnyStartMessage": "Die Sonne hellt auf!", - "sunnyLapseMessage": "Die Sonne blendet.", - "sunnyClearMessage": "Die Sonne schwächt ab.", + "sunnyStartMessage": "Die Sonnenlicht wird stärker!", + "sunnyLapseMessage": "Die Sonnenlicht ist stark.", + "sunnyClearMessage": "Die Sonnenlicht verliert wieder an Intensität.", "rainStartMessage": "Es fängt an zu regnen!", - "rainLapseMessage": "Es regnet weiterhin.", - "rainClearMessage": "Es hört auf zu regnen.", + "rainLapseMessage": "Es regnet weiter.", + "rainClearMessage": "Der Regen lässt nach.", - "sandstormStartMessage": "Ein Sandsturm braut sich zusammen!", + "sandstormStartMessage": "Ein Sandsturm kommt auf!", "sandstormLapseMessage": "Der Sandsturm tobt.", - "sandstormClearMessage": "Der Sandsturm lässt nach.", - "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nSandsturm beeinträchtigt!", + "sandstormClearMessage": "Der Sandsturm legt sich.", + "sandstormDamageMessage": " Der Sandsturm fügt {{pokemonPrefix}}{{pokemonName}} Schaden zu!", "hailStartMessage": "Es fängt an zu hageln!", - "hailLapseMessage": "Es hagelt weiterhin.", - "hailClearMessage": "Es hört auf zu hageln.", - "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nHagel beeinträchtigt!", + "hailLapseMessage": "Der Hagelsturm tobt.", + "hailClearMessage": "Der Hagelsturm legt sich.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} wird von Hagelkörnern getroffen!", "snowStartMessage": "Es fängt an zu schneien!", - "snowLapseMessage": "Es schneit weiterhin.", - "snowClearMessage": "Es hört auf zu schneien.", + "snowLapseMessage": "Der Schneesturm tobt.", + "snowClearMessage": "Der Schneesturm legt sich.", - "fogStartMessage": "Es fängt an zu nebeln!", - "fogLapseMessage": "Es nebelt weiterhin.", - "fogClearMessage": "Es hört auf zu nebeln.", + "fogStartMessage": "Am Boden breitet sich dichter Nebel aus!", + "fogLapseMessage": "Der Nebel bleibt dicht.", + "fogClearMessage": "Der Nebel lichtet sich.", - "heavyRainStartMessage": "Ein Starkregen beginnt!", - "heavyRainLapseMessage": "Der Starkregen hält an.", - "heavyRainClearMessage": "Der Starkregen lässt nach.", + "heavyRainStartMessage": "Es fängt an, in Strömen zu regnen!", + "heavyRainLapseMessage": "Der strömende Regen hält an.", + "heavyRainClearMessage": "Der strömende Regen lässt nach.", - "harshSunStartMessage": "Das Sonnenlicht wird wärmer!", - "harshSunLapseMessage": "Das Sonnenlicht brennt.", - "harshSunClearMessage": "Das Sonnenlicht schwächt ab.", + "harshSunStartMessage": "Das Sonnenlicht wird sehr viel stärker!", + "harshSunLapseMessage": "Das Sonnenlicht ist sehr stark.", + "harshSunClearMessage": "Das Sonnenlicht verliert an Intensität.", - "strongWindsStartMessage": "Ein starker Wind zieht auf!", - "strongWindsLapseMessage": "Der starke Wind tobt.", - "strongWindsClearMessage": "Der starke Wind legt sich." + "strongWindsStartMessage": "Alle Flug-Pokémon werden von rätselhaften Luftströmungen geschützt!", + "strongWindsLapseMessage": "Die rätselhafte Luftströmung hält an.", + "strongWindsClearMessage": "Die rätselhafte Luftströmung hat sich wieder geleget.", } From 8c21bdc0a1f76762991edaa2286a35854d4aeb13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Fri, 17 May 2024 12:39:13 -0300 Subject: [PATCH 68/84] New ptBR localization (#1028) * Some translations (battle, modifier-type, trainer) * More translations and fixes * Minor fixes * finished translations * minor fix * removed tera type --- src/locales/pt_BR/ability-trigger.ts | 5 + .../pt_BR/battle-message-ui-handler.ts | 12 +- src/locales/pt_BR/battle.ts | 4 +- src/locales/pt_BR/berry.ts | 44 +- src/locales/pt_BR/config.ts | 14 +- src/locales/pt_BR/egg.ts | 21 + src/locales/pt_BR/modifier-type.ts | 494 +++++++++--------- src/locales/pt_BR/move.ts | 2 +- src/locales/pt_BR/pokeball.ts | 6 +- src/locales/pt_BR/splash-messages.ts | 37 ++ src/locales/pt_BR/trainers.ts | 62 +-- src/locales/zh_CN/config.ts | 1 + 12 files changed, 388 insertions(+), 314 deletions(-) create mode 100644 src/locales/pt_BR/ability-trigger.ts create mode 100644 src/locales/pt_BR/egg.ts create mode 100644 src/locales/pt_BR/splash-messages.ts diff --git a/src/locales/pt_BR/ability-trigger.ts b/src/locales/pt_BR/ability-trigger.ts new file mode 100644 index 00000000000..f539af8373a --- /dev/null +++ b/src/locales/pt_BR/ability-trigger.ts @@ -0,0 +1,5 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const abilityTriggers: SimpleTranslationEntries = { + 'blockRecoilDamage' : `{{abilityName}} de {{pokemonName}}\nprotegeu-o do dano de recuo!`, +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/battle-message-ui-handler.ts b/src/locales/pt_BR/battle-message-ui-handler.ts index 346f856872c..03a5b464ecb 100644 --- a/src/locales/pt_BR/battle-message-ui-handler.ts +++ b/src/locales/pt_BR/battle-message-ui-handler.ts @@ -1,10 +1,10 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battleMessageUiHandler: SimpleTranslationEntries = { - "ivBest": "Best", - "ivFantastic": "Fantastic", - "ivVeryGood": "Very Good", - "ivPrettyGood": "Pretty Good", - "ivDecent": "Decent", - "ivNoGood": "No Good", + "ivBest": "Melhor", + "ivFantastic": "Fantástico", + "ivVeryGood": "Muito Bom", + "ivPrettyGood": "Bom", + "ivDecent": "Regular", + "ivNoGood": "Ruim", } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/battle.ts b/src/locales/pt_BR/battle.ts index 8d8ce72ef67..cc49abc7a7c 100644 --- a/src/locales/pt_BR/battle.ts +++ b/src/locales/pt_BR/battle.ts @@ -3,13 +3,13 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "{{bossName}} apareceu.", "trainerAppeared": "{{trainerName}}\nquer batalhar!", - "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!", + "trainerAppearedDouble": "{{trainerName}}\nquerem batalhar!", "singleWildAppeared": "Um {{pokemonName}} selvagem apareceu!", "multiWildAppeared": "Um {{pokemonName1}} e um {{pokemonName2}} selvagens\napareceram!", "playerComeBack": "{{pokemonName}}, retorne!", "trainerComeBack": "{{trainerName}} retirou {{pokemonName}} da batalha!", "playerGo": "{{pokemonName}}, eu escolho você!", - "trainerGo": "{{trainerName}} enviou {{pokemonName}}!", + "trainerGo": "{{trainerName}} escolheu {{pokemonName}}!", "switchQuestion": "Quer trocar\nde {{pokemonName}}?", "trainerDefeated": "Você derrotou\n{{trainerName}}!", "pokemonCaught": "{{pokemonName}} foi capturado!", diff --git a/src/locales/pt_BR/berry.ts b/src/locales/pt_BR/berry.ts index 8c8bc5ee280..c5a9d882530 100644 --- a/src/locales/pt_BR/berry.ts +++ b/src/locales/pt_BR/berry.ts @@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n"; export const berry: BerryTranslationEntries = { "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", + name: "Fruta Sitrus", + effect: "Restaura 25% dos PS se os PS estiverem abaixo de 50%", }, "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", + name: "Fruta Lum", + effect: "Cura qualquer mudança de estado ou confusão", }, "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", + name: "Fruta Enigma", + effect: "Restaura 25% dos PS se atingido por um golpe supereficaz", }, "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", + name: "Fruta Liechi", + effect: "Aumenta o Ataque se os PS estiverem abaixo de 25%", }, "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", + name: "Fruta Ganlon", + effect: "Aumenta a Defesa se os PS estiverem abaixo de 25%", }, "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", + name: "Fruta Petaya", + effect: "Aumenta o Ataque Especial se os PS estiverem abaixo de 25%", }, "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", + name: "Fruta Apicot", + effect: "Aumenta a Defesa Especial se os PS estiverem abaixo de 25%", }, "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", + name: "Fruta Salac", + effect: "Aumenta a Velocidade se os PS estiverem abaixo de 25%", }, "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", + name: "Fruta Lansat", + effect: "Aumenta a chance de acerto crítico se os PS estiverem abaixo de 25%", }, "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", + name: "Fruta Starf", + effect: "Aumenta drasticamente um atributo aleatório se os PS estiverem abaixo de 25%", }, "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", + name: "Fruta Leppa", + effect: "Restaura 10 PP de um movimento se seus PP acabarem", }, } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index 29d3c8b4195..457fc4c125a 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -1,6 +1,8 @@ import { ability } from "./ability"; +import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; +import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -11,16 +13,20 @@ import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; +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"; -export const ptBrConfig = { +export const ptBrConfig = { ability: ability, + abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, + egg: egg, fightUiHandler: fightUiHandler, menuUiHandler: menuUiHandler, menu: menu, @@ -29,10 +35,14 @@ export const ptBrConfig = { pokemonInfo: pokemonInfo, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, + titles: titles, + trainerClasses: trainerClasses, + trainerNames: trainerNames, tutorial: tutorial, + splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, modifierType: modifierType, berry: berry, -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/egg.ts b/src/locales/pt_BR/egg.ts new file mode 100644 index 00000000000..1d38fd5c694 --- /dev/null +++ b/src/locales/pt_BR/egg.ts @@ -0,0 +1,21 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const egg: SimpleTranslationEntries = { + "egg": "Ovo", + "greatTier": "Raro", + "ultraTier": "Épico", + "masterTier": "Lendário", + "defaultTier": "Comum", + "hatchWavesMessageSoon": "Barulhos podem ser ouvidos vindo de dentro! Vai chocar em breve!", + "hatchWavesMessageClose": "Parece se mover ocasionalmente. Pode estar perto de chocar.", + "hatchWavesMessageNotClose": "O que vai nascer disso? Não parece estar perto de chocar.", + "hatchWavesMessageLongTime": "Parece que este ovo vai demorar bastante para chocar.", + "gachaTypeLegendary": "Chance de Lendário Aumentada", + "gachaTypeMove": "Chance de Movimento de Ovo Raro Aumentada", + "gachaTypeShiny": "Chance de Shiny Aumentada", + "selectMachine": "Escolha uma máquina.", + "notEnoughVouchers": "Você não tem vouchers suficientes!", + "tooManyEggs": "Você já tem muitos ovos!", + "pull": "Prêmio", + "pulls": "Prêmios" +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/modifier-type.ts b/src/locales/pt_BR/modifier-type.ts index 31d4abbce29..1ffc6d3187f 100644 --- a/src/locales/pt_BR/modifier-type.ts +++ b/src/locales/pt_BR/modifier-type.ts @@ -4,384 +4,384 @@ export const modifierType: ModifierTypeTranslationEntries = { ModifierType: { "AddPokeballModifierType": { name: "{{modifierCount}}x {{pokeballName}}", - description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + description: "Ganhe x{{modifierCount}} {{pokeballName}} (Mochila: {{pokeballAmount}}) \nChance de captura: {{catchRate}}", }, "AddVoucherModifierType": { name: "{{modifierCount}}x {{voucherTypeName}}", - description: "Receive {{voucherTypeName}} x{{modifierCount}}", + description: "Ganhe x{{modifierCount}} {{voucherTypeName}}", }, "PokemonHeldItemModifierType": { extra: { - "inoperable": "{{pokemonName}} can't take\nthis item!", - "tooMany": "{{pokemonName}} has too many\nof this item!", + "inoperable": "{{pokemonName}} não pode\nsegurar esse item!", + "tooMany": "{{pokemonName}} tem muitos\nmuitos deste item!", } }, "PokemonHpRestoreModifierType": { - description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + description: "Restaura {{restorePoints}} PS ou {{restorePercent}}% PS de um Pokémon, o que for maior", extra: { - "fully": "Fully restores HP for one Pokémon", - "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + "fully": "Restaura totalmente os PS de um Pokémon", + "fullyWithStatus": "Restaura totalmente os PS de um Pokémon e cura qualquer mudança de estado", } }, "PokemonReviveModifierType": { - description: "Revives one Pokémon and restores {{restorePercent}}% HP", + description: "Reanima um Pokémon e restaura {{restorePercent}}% PS", }, "PokemonStatusHealModifierType": { - description: "Heals any status ailment for one Pokémon", + description: "Cura uma mudança de estado de um Pokémon", }, "PokemonPpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for one Pokémon move", + description: "Restaura {{restorePoints}} PP para um movimento de um Pokémon", extra: { - "fully": "Restores all PP for one Pokémon move", + "fully": "Restaura todos os PP para um movimento de um Pokémon", } }, "PokemonAllMovePpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + description: "Restaura {{restorePoints}} PP para todos os movimentos de um Pokémon", extra: { - "fully": "Restores all PP for all of one Pokémon's moves", + "fully": "Restaura todos os PP para todos os movimentos de um Pokémon", } }, "PokemonPpUpModifierType": { - description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + description: "Aumenta permanentemente os PP para o movimento de um Pokémon em {{upPoints}} para cada 5 PP máximos (máximo 3)", }, "PokemonNatureChangeModifierType": { name: "{{natureName}} Mint", - description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + description: "Muda a natureza de um Pokémon para {{natureName}} e a desbloqueia permanentemente para seu inicial", }, "DoubleBattleChanceBoosterModifierType": { - description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + description: "Dobra as chances de encontrar uma batalha em dupla por {{battleCount}} batalhas", }, "TempBattleStatBoosterModifierType": { - description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + description: "Aumenta o atributo de {{tempBattleStatName}} para todos os membros da equipe por 5 batalhas", }, "AttackTypeBoosterModifierType": { - description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + description: "Aumenta o poder dos ataques do tipo {{moveType}} de um Pokémon em 20%", }, "PokemonLevelIncrementModifierType": { - description: "Increases a Pokémon's level by 1", + description: "Aumenta em 1 o nível de um Pokémon", }, "AllPokemonLevelIncrementModifierType": { - description: "Increases all party members' level by 1", + description: "Aumenta em 1 os níveis de todos os Pokémon", }, "PokemonBaseStatBoosterModifierType": { - description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + description: "Aumenta o atributo base de {{statName}} em 10%. Quanto maior os IVs, maior o limite de aumento", }, "AllPokemonFullHpRestoreModifierType": { - description: "Restores 100% HP for all Pokémon", + description: "Restaura totalmente os PS de todos os Pokémon", }, "AllPokemonFullReviveModifierType": { - description: "Revives all fainted Pokémon, fully restoring HP", + description: "Reanima todos os Pokémon, restaurando totalmente seus PS", }, "MoneyRewardModifierType": { - description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + description: "Garante uma quantidade {{moneyMultiplier}} de dinheiro (₽{{moneyAmount}})", extra: { - "small": "small", - "moderate": "moderate", - "large": "large", + "small": "pequena", + "moderate": "moderada", + "large": "grande", }, }, "ExpBoosterModifierType": { - description: "Increases gain of EXP. Points by {{boostPercent}}%", + description: "Aumenta o ganho de pontos de experiência em {{boostPercent}}%", }, "PokemonExpBoosterModifierType": { - description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + description: "Aumenta o ganho de pontos de experiência de quem segura em {{boostPercent}}%", }, "PokemonFriendshipBoosterModifierType": { - description: "Increases friendship gain per victory by 50%", + description: "Aumenta o ganho de amizade por vitória em 50%", }, "PokemonMoveAccuracyBoosterModifierType": { - description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + description: "Aumenta a precisão dos movimentos em {{accuracyAmount}} (máximo 100)", }, "PokemonMultiHitModifierType": { - description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + description: "Ataques acertam uma vez adicional ao custo de uma redução de poder de 60/75/82.5% por item, respectivamente", }, "TmModifierType": { name: "TM{{moveId}} - {{moveName}}", - description: "Teach {{moveName}} to a Pokémon", + description: "Ensina {{moveName}} a um Pokémon", }, "EvolutionItemModifierType": { - description: "Causes certain Pokémon to evolve", + description: "Faz certos Pokémon evoluírem", }, "FormChangeItemModifierType": { - description: "Causes certain Pokémon to change form", + description: "Faz certos Pokémon mudarem de forma", }, "FusePokemonModifierType": { - description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + description: "Combina dois Pokémon (transfere Habilidade, divide os atributos base e tipos, compartilha os movimentos)", }, "TerastallizeModifierType": { - name: "{{teraType}} Tera Shard", - description: "{{teraType}} Terastallizes the holder for up to 10 battles", + name: "{{teraType}} Fragmento Tera", + description: "{{teraType}} Terastaliza um Pokémon por até 10 batalhas", }, "ContactHeldItemTransferChanceModifierType": { - description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + description: "Quando atacar, tem {{chancePercent}}% de chance de roubar um item do oponente", }, "TurnHeldItemTransferModifierType": { - description: "Every turn, the holder acquires one held item from the foe", + description: "Todo turno, o Pokémon ganha um item aleatório do oponente", }, "EnemyAttackStatusEffectChanceModifierType": { - description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + description: "Ganha {{chancePercent}}% de chance de infligir {{statusEffect}} com ataques", }, "EnemyEndureChanceModifierType": { - description: "Adds a {{chancePercent}}% chance of enduring a hit", + description: "Ganha {{chancePercent}}% de chance de sobreviver a um ataque que o faria desmaiar", }, - "RARE_CANDY": { name: "Rare Candy" }, - "RARER_CANDY": { name: "Rarer Candy" }, + "RARE_CANDY": { name: "Doce Raro" }, + "RARER_CANDY": { name: "Doce Raríssimo" }, - "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, - "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, - "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + "MEGA_BRACELET": { name: "Mega Bracelete", description: "Mega Stones become available" }, + "DYNAMAX_BAND": { name: "Bracelete Dynamax", description: "Max Mushrooms become available" }, + "TERA_ORB": { name: "Orbe Tera", description: "Fragmentos Tera ficam disponíveis" }, - "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + "MAP": { name: "Mapa", description: "Permite escolher a próxima rota" }, - "POTION": { name: "Potion" }, - "SUPER_POTION": { name: "Super Potion" }, - "HYPER_POTION": { name: "Hyper Potion" }, - "MAX_POTION": { name: "Max Potion" }, - "FULL_RESTORE": { name: "Full Restore" }, + "POTION": { name: "Poção" }, + "SUPER_POTION": { name: "Super Poção" }, + "HYPER_POTION": { name: "Hiper Poção" }, + "MAX_POTION": { name: "Poção Máxima" }, + "FULL_RESTORE": { name: "Restaurador" }, - "REVIVE": { name: "Revive" }, - "MAX_REVIVE": { name: "Max Revive" }, + "REVIVE": { name: "Reanimador" }, + "MAX_REVIVE": { name: "Reanimador Máximo" }, - "FULL_HEAL": { name: "Full Heal" }, + "FULL_HEAL": { name: "Cura Total" }, - "SACRED_ASH": { name: "Sacred Ash" }, + "SACRED_ASH": { name: "Cinza Sagrada" }, - "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + "REVIVER_SEED": { name: "Semente Reanimadora", description: "Após desmaiar, reanima com 50% de PS" }, - "ETHER": { name: "Ether" }, - "MAX_ETHER": { name: "Max Ether" }, + "ETHER": { name: "Éter" }, + "MAX_ETHER": { name: "Éter Máximo" }, "ELIXIR": { name: "Elixir" }, - "MAX_ELIXIR": { name: "Max Elixir" }, + "MAX_ELIXIR": { name: "Elixir Máximo" }, - "PP_UP": { name: "PP Up" }, - "PP_MAX": { name: "PP Max" }, + "PP_UP": { name: "Mais PP" }, + "PP_MAX": { name: "PP Máximo" }, - "LURE": { name: "Lure" }, - "SUPER_LURE": { name: "Super Lure" }, - "MAX_LURE": { name: "Max Lure" }, + "LURE": { name: "Incenso" }, + "SUPER_LURE": { name: "Super Incenso" }, + "MAX_LURE": { name: "Incenso Máximo" }, - "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + "MEMORY_MUSHROOM": { name: "Cogumemória", description: "Relembra um movimento esquecido" }, - "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, - "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + "EXP_SHARE": { name: "Compart. de Exp.", description: "Distribui pontos de experiência para todos os membros da equipe" }, + "EXP_BALANCE": { name: "Balanceador de Exp.", description: "Distribui pontos de experiência principalmente para os Pokémon mais fracos" }, - "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + "OVAL_CHARM": { name: "Amuleto Oval", description: "Quando vários Pokémon participam de uma batalha, cada um recebe 10% extra de pontos de experiência" }, - "EXP_CHARM": { name: "EXP. Charm" }, - "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, - "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + "EXP_CHARM": { name: "Amuleto de Exp." }, + "SUPER_EXP_CHARM": { name: "Super Amuleto de Exp." }, + "GOLDEN_EXP_CHARM": { name: "Amuleto de Exp. Dourado" }, - "LUCKY_EGG": { name: "Lucky Egg" }, - "GOLDEN_EGG": { name: "Golden Egg" }, + "LUCKY_EGG": { name: "Ovo da Sorte" }, + "GOLDEN_EGG": { name: "Ovo Dourado" }, - "SOOTHE_BELL": { name: "Soothe Bell" }, + "SOOTHE_BELL": { name: "Guizo" }, - "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + "SOUL_DEW": { name: "Joia da Alma", description: "Aumenta a influência da natureza de um Pokémon em seus atributos em 10% (cumulativo)" }, - "NUGGET": { name: "Nugget" }, - "BIG_NUGGET": { name: "Big Nugget" }, - "RELIC_GOLD": { name: "Relic Gold" }, + "NUGGET": { name: "Pepita" }, + "BIG_NUGGET": { name: "Pepita Grande" }, + "RELIC_GOLD": { name: "Relíquia de Ouro" }, - "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, - "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, - "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + "AMULET_COIN": { name: "Moeda Amuleto", description: "Aumenta a recompensa de dinheiro em 50%" }, + "GOLDEN_PUNCH": { name: "Soco Dourado", description: "Concede 50% do dano causado em dinheiro" }, + "COIN_CASE": { name: "Moedeira", description: "Após cada 10ª batalha, recebe 10% de seu dinheiro em juros" }, - "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + "LOCK_CAPSULE": { name: "Cápsula de Travamento", description: "Permite que você trave raridades de itens ao rolar novamente" }, - "GRIP_CLAW": { name: "Grip Claw" }, - "WIDE_LENS": { name: "Wide Lens" }, + "GRIP_CLAW": { name: "Garra-Aperto" }, + "WIDE_LENS": { name: "Lente Ampla" }, - "MULTI_LENS": { name: "Multi Lens" }, + "MULTI_LENS": { name: "Multi Lentes" }, - "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, - "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + "HEALING_CHARM": { name: "Amuleto de Cura", description: "Aumenta a eficácia dos movimentos e itens que restauram PS em 10% (exceto Reanimador)" }, + "CANDY_JAR": { name: "Pote de Doces", description: "Aumenta o número de níveis adicionados pelo Doce Raro em 1" }, - "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + "BERRY_POUCH": { name: "Bolsa de Berries", description: "Adiciona uma chance de 25% de que uma berry usada não seja consumida" }, - "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + "FOCUS_BAND": { name: "Bandana", description: "Adiciona uma chance de 10% de sobreviver com 1 PS após ser danificado o suficiente para desmaiar" }, - "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + "QUICK_CLAW": { name: "Garra Rápida", description: "Adiciona uma chance de 10% de atacar primeiro, ignorando sua velocidade (após prioridades)" }, - "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + "KINGS_ROCK": { name: "Pedra do Rei", description: "Adiciona uma chance de 10% de movimentos fazerem o oponente hesitar" }, - "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, - "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + "LEFTOVERS": { name: "Sobras", description: "Cura 1/16 dos PS máximos de um Pokémon a cada turno" }, + "SHELL_BELL": { name: "Concha-Sino", description: "Cura 1/8 do dano causado por um Pokémon" }, - "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + "BATON": { name: "Bastão", description: "Permite passar mudanças de atributo ao trocar Pokémon, ignorando armadilhas" }, - "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, - "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + "SHINY_CHARM": { name: "Amuleto Brilhante", description: "Aumenta drasticamente a chance de um Pokémon selvagem ser Shiny" }, + "ABILITY_CHARM": { name: "Amuleto de Habilidade", description: "Aumenta drasticamente a chance de um Pokémon selvagem ter uma Habilidade Oculta" }, - "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + "IV_SCANNER": { name: "Scanner de IVs", description: "Permite escanear os IVs de Pokémon selvagens. 2 IVs são revelados por item. Os melhores IVs são mostrados primeiro" }, - "DNA_SPLICERS": { name: "DNA Splicers" }, + "DNA_SPLICERS": { name: "Splicer de DNA" }, - "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + "MINI_BLACK_HOLE": { name: "Mini Buraco Negro" }, - "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + "GOLDEN_POKEBALL": { name: "Poké Bola Dourada", description: "Adiciona 1 opção de item extra ao final de cada batalha" }, - "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, - "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, - "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, - "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, - "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, - "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, - "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, - "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, - "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, - "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, - "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + "ENEMY_DAMAGE_BOOSTER": { name: "Token de Dano", description: "Aumenta o dano em 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Token de Proteção", description: "Reduz o dano recebido em 2,5%" }, + "ENEMY_HEAL": { name: "Token de Recuperação", description: "Cura 2% dos PS máximos a cada turno" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Token de Veneno" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Token de Paralisia" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Token de Sono" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Token de Congelamento" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Token de Queimadura" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Token de Cura Total", description: "Adiciona uma chance de 10% a cada turno de curar uma condição de status" }, + "ENEMY_ENDURE_CHANCE": { name: "Token de Persistência" }, + "ENEMY_FUSED_CHANCE": { name: "Token de Fusão", description: "Adiciona uma chance de 1% de que um Pokémon selvagem seja uma fusão" }, }, TempBattleStatBoosterItem: { - "x_attack": "X Attack", - "x_defense": "X Defense", - "x_sp_atk": "X Sp. Atk", - "x_sp_def": "X Sp. Def", - "x_speed": "X Speed", - "x_accuracy": "X Accuracy", - "dire_hit": "Dire Hit", + "x_attack": "Ataque X", + "x_defense": "Defesa X", + "x_sp_atk": "Ataque Esp. X", + "x_sp_def": "Defesa Esp. X", + "x_speed": "Velocidade X", + "x_accuracy": "Precisão X", + "dire_hit": "Direto", }, AttackTypeBoosterItem: { - "silk_scarf": "Silk Scarf", - "black_belt": "Black Belt", - "sharp_beak": "Sharp Beak", - "poison_barb": "Poison Barb", - "soft_sand": "Soft Sand", - "hard_stone": "Hard Stone", - "silver_powder": "Silver Powder", - "spell_tag": "Spell Tag", - "metal_coat": "Metal Coat", - "charcoal": "Charcoal", - "mystic_water": "Mystic Water", - "miracle_seed": "Miracle Seed", - "magnet": "Magnet", - "twisted_spoon": "Twisted Spoon", - "never_melt_ice": "Never-Melt Ice", - "dragon_fang": "Dragon Fang", - "black_glasses": "Black Glasses", - "fairy_feather": "Fairy Feather", + "silk_scarf": "Lenço de Seda", + "black_belt": "Faixa Preta", + "sharp_beak": "Bico Afiado", + "poison_barb": "Farpa Venenosa", + "soft_sand": "Areia Macia", + "hard_stone": "Pedra Dura", + "silver_powder": "Pó de Prata", + "spell_tag": "Talismã de Feitiço", + "metal_coat": "Revestimento Metálico", + "charcoal": "Carvão", + "mystic_water": "Água Mística", + "miracle_seed": "Semente Milagrosa", + "magnet": "Ímã", + "twisted_spoon": "Colher Torcida", + "never_melt_ice": "Gelo Eterno", + "dragon_fang": "Presa de Dragão", + "black_glasses": "Óculos Escuros", + "fairy_feather": "Pena de Fada", }, BaseStatBoosterItem: { - "hp_up": "HP Up", - "protein": "Protein", - "iron": "Iron", - "calcium": "Calcium", - "zinc": "Zinc", - "carbos": "Carbos", + "hp_up": "Mais PS", + "protein": "Proteína", + "iron": "Ferro", + "calcium": "Cálcio", + "zinc": "Zinco", + "carbos": "Carboidrato", }, EvolutionItem: { "NONE": "None", - "LINKING_CORD": "Linking Cord", - "SUN_STONE": "Sun Stone", - "MOON_STONE": "Moon Stone", - "LEAF_STONE": "Leaf Stone", - "FIRE_STONE": "Fire Stone", - "WATER_STONE": "Water Stone", - "THUNDER_STONE": "Thunder Stone", - "ICE_STONE": "Ice Stone", - "DUSK_STONE": "Dusk Stone", - "DAWN_STONE": "Dawn Stone", - "SHINY_STONE": "Shiny Stone", - "CRACKED_POT": "Cracked Pot", - "SWEET_APPLE": "Sweet Apple", - "TART_APPLE": "Tart Apple", - "STRAWBERRY_SWEET": "Strawberry Sweet", - "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + "LINKING_CORD": "Cabo de Conexão", + "SUN_STONE": "Pedra do Sol", + "MOON_STONE": "Pedra da Lua", + "LEAF_STONE": "Pedra da Folha", + "FIRE_STONE": "Pedra do Fogo", + "WATER_STONE": "Pedra da Água", + "THUNDER_STONE": "Pedra do Trovão", + "ICE_STONE": "Pedra do Gelo", + "DUSK_STONE": "Pedra do Crepúsculo", + "DAWN_STONE": "Pedra da Alvorada", + "SHINY_STONE": "Pedra Brilhante", + "CRACKED_POT": "Vaso Quebrado", + "SWEET_APPLE": "Maçã Doce", + "TART_APPLE": "Maçã Azeda", + "STRAWBERRY_SWEET": "Doce de Morango", + "UNREMARKABLE_TEACUP": "Xícara Comum", - "CHIPPED_POT": "Chipped Pot", - "BLACK_AUGURITE": "Black Augurite", - "GALARICA_CUFF": "Galarica Cuff", - "GALARICA_WREATH": "Galarica Wreath", - "PEAT_BLOCK": "Peat Block", - "AUSPICIOUS_ARMOR": "Auspicious Armor", - "MALICIOUS_ARMOR": "Malicious Armor", - "MASTERPIECE_TEACUP": "Masterpiece Teacup", - "METAL_ALLOY": "Metal Alloy", - "SCROLL_OF_DARKNESS": "Scroll Of Darkness", - "SCROLL_OF_WATERS": "Scroll Of Waters", - "SYRUPY_APPLE": "Syrupy Apple", + "CHIPPED_POT": "Pote Lascado", + "BLACK_AUGURITE": "Mineral Negro", + "GALARICA_CUFF": "Bracelete de Galar", + "GALARICA_WREATH": "Coroa de Galar", + "PEAT_BLOCK": "Bloco de Turfa", + "AUSPICIOUS_ARMOR": "Armadura Prometida", + "MALICIOUS_ARMOR": "Armadura Maldita", + "MASTERPIECE_TEACUP": "Xícara Excepcional", + "METAL_ALLOY": "Liga de Metal", + "SCROLL_OF_DARKNESS": "Pergaminho da Escuridão", + "SCROLL_OF_WATERS": "Pergaminho da Água", + "SYRUPY_APPLE": "Xarope de Maçã", }, FormChangeItem: { "NONE": "None", - "ABOMASITE": "Abomasite", - "ABSOLITE": "Absolite", - "AERODACTYLITE": "Aerodactylite", - "AGGRONITE": "Aggronite", - "ALAKAZITE": "Alakazite", - "ALTARIANITE": "Altarianite", - "AMPHAROSITE": "Ampharosite", - "AUDINITE": "Audinite", - "BANETTITE": "Banettite", - "BEEDRILLITE": "Beedrillite", - "BLASTOISINITE": "Blastoisinite", - "BLAZIKENITE": "Blazikenite", - "CAMERUPTITE": "Cameruptite", - "CHARIZARDITE_X": "Charizardite X", - "CHARIZARDITE_Y": "Charizardite Y", - "DIANCITE": "Diancite", - "GALLADITE": "Galladite", - "GARCHOMPITE": "Garchompite", - "GARDEVOIRITE": "Gardevoirite", - "GENGARITE": "Gengarite", - "GLALITITE": "Glalitite", - "GYARADOSITE": "Gyaradosite", - "HERACRONITE": "Heracronite", - "HOUNDOOMINITE": "Houndoominite", - "KANGASKHANITE": "Kangaskhanite", - "LATIASITE": "Latiasite", - "LATIOSITE": "Latiosite", - "LOPUNNITE": "Lopunnite", - "LUCARIONITE": "Lucarionite", - "MANECTITE": "Manectite", - "MAWILITE": "Mawilite", - "MEDICHAMITE": "Medichamite", - "METAGROSSITE": "Metagrossite", - "MEWTWONITE_X": "Mewtwonite X", - "MEWTWONITE_Y": "Mewtwonite Y", - "PIDGEOTITE": "Pidgeotite", - "PINSIRITE": "Pinsirite", - "RAYQUAZITE": "Rayquazite", - "SABLENITE": "Sablenite", - "SALAMENCITE": "Salamencite", - "SCEPTILITE": "Sceptilite", - "SCIZORITE": "Scizorite", - "SHARPEDONITE": "Sharpedonite", - "SLOWBRONITE": "Slowbronite", - "STEELIXITE": "Steelixite", - "SWAMPERTITE": "Swampertite", - "TYRANITARITE": "Tyranitarite", - "VENUSAURITE": "Venusaurite", + "ABOMASITE": "Abomasita", + "ABSOLITE": "Absolita", + "AERODACTYLITE": "Aerodactylita", + "AGGRONITE": "Aggronita", + "ALAKAZITE": "Alakazita", + "ALTARIANITE": "Altarianita", + "AMPHAROSITE": "Ampharosita", + "AUDINITE": "Audinita", + "BANETTITE": "Banettita", + "BEEDRILLITE": "Beedrillita", + "BLASTOISINITE": "Blastoisinita", + "BLAZIKENITE": "Blazikenita", + "CAMERUPTITE": "Cameruptita", + "CHARIZARDITE X": "Charizardita X", + "CHARIZARDITE Y": "Charizardita Y", + "DIANCITE": "Diancita", + "GALLADITE": "Galladita", + "GARCHOMPITE": "Garchompita", + "GARDEVOIRITE": "Gardevoirita", + "GENGARITE": "Gengarita", + "GLALITITE": "Glalitita", + "GYARADOSITE": "Gyaradosita", + "HERACRONITE": "Heracronita", + "HOUNDOOMINITE": "Houndoominita", + "KANGASKHANITE": "Kangaskhanita", + "LATIASITE": "Latiasita", + "LATIOSITE": "Latiosita", + "LOPUNNITE": "Lopunnita", + "LUCARIONITE": "Lucarionita", + "MANECTITE": "Manectita", + "MAWILITE": "Mawilita", + "MEDICHAMITE": "Medichamita", + "METAGROSSITE": "Metagrossita", + "MEWTWONITE X": "Mewtwonita X", + "MEWTWONITE Y": "Mewtwonita Y", + "PIDGEOTITE": "Pidgeotita", + "PINSIRITE": "Pinsirita", + "SABLENITE": "Sablenita", + "RAYQUAZITE": "Rayquazita", + "SALAMENCITE": "Salamencita", + "SCEPTILITE": "Sceptilita", + "SCIZORITE": "Scizorita", + "SHARPEDONITE": "Sharpedonita", + "SLOWBRONITE": "Slowbronita", + "STEELIXITE": "Steelixita", + "SWAMPERTITE": "Swampertita", + "TYRANITARITE": "Tyranitarita", + "VENUSAURITE": "Venusaurita", - "BLUE_ORB": "Blue Orb", - "RED_ORB": "Red Orb", - "SHARP_METEORITE": "Sharp Meteorite", - "HARD_METEORITE": "Hard Meteorite", - "SMOOTH_METEORITE": "Smooth Meteorite", - "ADAMANT_CRYSTAL": "Adamant Crystal", - "LUSTROUS_ORB": "Lustrous Orb", - "GRISEOUS_CORE": "Griseous Core", - "REVEAL_GLASS": "Reveal Glass", - "GRACIDEA": "Gracidea", - "MAX_MUSHROOMS": "Max Mushrooms", - "DARK_STONE": "Dark Stone", - "LIGHT_STONE": "Light Stone", - "PRISON_BOTTLE": "Prison Bottle", - "N_LUNARIZER": "N Lunarizer", - "N_SOLARIZER": "N Solarizer", - "RUSTED_SWORD": "Rusted Sword", - "RUSTED_SHIELD": "Rusted Shield", - "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", - "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", - "WELLSPRING_MASK": "Wellspring Mask", - "HEARTHFLAME_MASK": "Hearthflame Mask", - "CORNERSTONE_MASK": "Cornerstone Mask", - "SHOCK_DRIVE": "Shock Drive", - "BURN_DRIVE": "Burn Drive", - "CHILL_DRIVE": "Chill Drive", - "DOUSE_DRIVE": "Douse Drive", + "BLUE_ORB": "Orbe Azul", + "RED_ORB": "Orbe Vermelha", + "SHARP_METEORITE": "Meteorito Afiado", + "HARD_METEORITE": "Meteorito Duro", + "SMOOTH_METEORITE": " Meteorito Liso", + "ADAMANT_CRYSTAL": "Cristal Adamante", + "LUSTROUS_ORB": "Orbe Pérola", + "GRISEOUS_CORE": "Núcleo Platinado", + "REVEAL_GLASS": "Espelho da Verdade", + "GRACIDEA": "Gracídea", + "MAX_MUSHROOMS": "Cogumax", + "DARK_STONE": "Pedra das Trevas", + "LIGHT_STONE": "Pedra da Luz", + "PRISON_BOTTLE": "Garrafa Prisão", + "N_LUNARIZER": "Lunarizador N", + "N_SOLARIZER": "Solarizador N", + "RUSTED_SWORD": "Espada Enferrujada", + "RUSTED_SHIELD": "Escudo Enferrujado", + "ICY_REINS_OF_UNITY": "Rédeas de Gelo da União", + "SHADOW_REINS_OF_UNITY": "Rédeas Sombrias da União", + "WELLSPRING_MASK": "Máscara Nascente", + "HEARTHFLAME_MASK": "Máscara Fornalha", + "CORNERSTONE_MASK": "Máscara Alicerce", + "SHOCK_DRIVE": "MagneDisco", + "BURN_DRIVE": "IgneDisco", + "CHILL_DRIVE": "CrioDisco", + "DOUSE_DRIVE": "HidroDisco", }, } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/move.ts b/src/locales/pt_BR/move.ts index 97f24efee37..ce55b5264ec 100644 --- a/src/locales/pt_BR/move.ts +++ b/src/locales/pt_BR/move.ts @@ -3583,7 +3583,7 @@ export const move: MoveTranslationEntries = { }, "revivalBlessing": { name: "Revival Blessing", - effect: "O usuário concede uma bênção amorosa, revivendo um Pokémon da equipe que tenha desmaiado e restaurando metade do máximo de PS desse Pokémon." + effect: "O usuário concede uma bênção amorosa, reanimando um Pokémon da equipe que tenha desmaiado e restaurando metade do máximo de PS desse Pokémon." }, "saltCure": { name: "Salt Cure", diff --git a/src/locales/pt_BR/pokeball.ts b/src/locales/pt_BR/pokeball.ts index 26624d87134..c93af437ba2 100644 --- a/src/locales/pt_BR/pokeball.ts +++ b/src/locales/pt_BR/pokeball.ts @@ -4,7 +4,7 @@ export const pokeball: SimpleTranslationEntries = { "pokeBall": "Poké Bola", "greatBall": "Grande Bola", "ultraBall": "Ultra Bola", - "rogueBall": "Rogue Bola", - "masterBall": "Master Bola", - "luxuryBall": "Bola de Luxo", + "rogueBall": "Bola Rogue", + "masterBall": "Bole Mestra", + "luxuryBall": "Bola Luxo", } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/splash-messages.ts b/src/locales/pt_BR/splash-messages.ts new file mode 100644 index 00000000000..85c11300a9f --- /dev/null +++ b/src/locales/pt_BR/splash-messages.ts @@ -0,0 +1,37 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const splashMessages: SimpleTranslationEntries = { + "battlesWon": "Batalhas Ganhas!", + "joinTheDiscord": "Junte-se ao Discord!", + "infiniteLevels": "Níveis Infinitos!", + "everythingStacks": "Tudo Acumula!", + "optionalSaveScumming": "Você Pode Dar F5!", + "biomes": "35 Biomas!", + "openSource": "Código Aberto!", + "playWithSpeed": "Jogue na Velocidade 5x!", + "liveBugTesting": "Testamos os Bugs Ao Vivo!", + "heavyInfluence": "Grande Influência de RoR2!", + "pokemonRiskAndPokemonRain": "Pokémon Risk e Pokémon Rain!", + "nowWithMoreSalt": "O Choro é Livre!", + "infiniteFusionAtHome": "Infinite Fusion da Shopee!", + "brokenEggMoves": "Mov. de Ovo Apelões!", + "magnificent": "Magnífico!", + "mubstitute": "Mubstituto!", + "thatsCrazy": "Que Doidera!", + "oranceJuice": "Suco de Laranja!", + "questionableBalancing": "Balanceamento Questionável!", + "coolShaders": "Shader Maneiros!", + "aiFree": "Livre de IA!", + "suddenDifficultySpikes": "Ficou Difícil do Nada!", + "basedOnAnUnfinishedFlashGame": "Baseado num Jogo Online Inacabado!", + "moreAddictiveThanIntended": "Mais Viciante do que Planejado!", + "mostlyConsistentSeeds": "Consistente (na Maioria das Vezes)!", + "achievementPointsDontDoAnything": "Pontos de Conquista Não Fazem Nada!", + "youDoNotStartAtLevel": "Você Não Começa no Nível 2000!", + "dontTalkAboutTheManaphyEggIncident": "Não Fale do Incidente do Ovo de Manaphy!", + "alsoTryPokengine": "Também Jogue Pokéngine!", + "alsoTryEmeraldRogue": "Também Jogue Emerald Rogue!", + "alsoTryRadicalRed": "Também Jogue Radical Red!", + "eeveeExpo": "Eevee Expo!", + "ynoproject": "YNOproject!", +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts index af6393bce8e..baf796a34db 100644 --- a/src/locales/pt_BR/trainers.ts +++ b/src/locales/pt_BR/trainers.ts @@ -16,10 +16,10 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Trinador Ás", "ace_trainer_female": "Trinadora Ás", - "ace_duo": "Ace Duo", + "ace_duo": "Dupla Ás", "artist": "Artista", "artist_female": "Artista", - "backpackers": "Backpackers", + "backpackers": "Mochileiros", "backers": "Torcedores", "backpacker": "Mochileiro", "backpacker_female": "Mochileira", @@ -31,36 +31,36 @@ export const trainerClasses: SimpleTranslationEntries = { "black_belt": "Faixa Preta", "breeder": "Criador", "breeder_female": "Criadora", - "breeders": "Breeders", + "breeders": "Criadores", "clerk": "Funcionário", "clerk_female": "Funcionária", - "colleagues": "Colleagues", - "crush_kin": "Crush Kin", + "colleagues": "Funcionários", + "crush_kin": "Casal Lutador", "cyclist": "Ciclista", "cyclist_female": "Ciclista", - "cyclists": "Cyclists", + "cyclists": "Ciclistas", "dancer": "Dançarino", "dancer_female": "Dançarina", "depot_agent": "Ferroviário", "doctor": "Doutor", "doctor_female": "Doutora", - "fisherman": "Pescador", - "fisherman_female": "Pescadora", - "gentleman": "Gentleman", + "fishermen": "Pescador", + "fishermen_female": "Pescadora", + "gentleman": "Cavalheiro", "guitarist": "Guitarrista", "guitarist_female": "Guitarrista", "harlequin": "Arlequim", "hiker": "Montanhista", "hooligans": "Bandoleiro", - "hoopster": "Jogador de basquete", - "infielder": "Jogador de baseball", + "hoopster": "Jogador de Basquete", + "infielder": "Jogador de Baseball", "janitor": "Faxineiro", "lady": "Dama", "lass": "Senhorita", "linebacker": "Zagueiro", "maid": "Doméstica", "madame": "Madame", - "medical_team": "Medical Team", + "medical_team": "Equipe Médica", "musician": "Músico", "hex_maniac": "Ocultista", "nurse": "Enfermeira", @@ -68,48 +68,48 @@ export const trainerClasses: SimpleTranslationEntries = { "officer": "Policial", "parasol_lady": "Moça de Sombrinha", "pilot": "Piloto", - "pokefan": "Pokefã", - "pokefan_family": "Poké Fan Family", + "poké_fan": "Pokefã", + "poké_fan_family": "Família Pokefã", "preschooler": "Menino do Prezinho", "preschooler_female": "Menina do Prezinho", - "preschoolers": "Preschoolers", + "preschoolers": "Alunos do Prezinho", "psychic": "Médium", "psychic_female": "Médium", - "psychics": "Psychics", - "pokémon_ranger": "Pokémon Ranger", - "pokémon_rangers": "Pokémon Ranger", + "psychics": "Médiuns", + "pokémon_ranger": "Guarda Pokémon", + "pokémon_rangers": "Guardas Pokémon", "ranger": "Guarda", - "restaurant_staff": "Restaurant Staff", - "rich": "Rich", - "rich_female": "Rich", - "rich_boy": "Rich Boy", - "rich_couple": "Rich Couple", - "rich_kid": "Rich Kid", - "rich_kid_female": "Rich Kid", - "rich_kids": "Rich Kids", + "restaurant_staff": "Equipe do Restaurante", + "rich": "Burguês", + "rich_female": "Burguesa", + "rich_boy": "Riquinho", + "rich_couple": "Casal Burguês", + "rich_kid": "Garoto Rico", + "rich_kid_female": "Garota Rica", + "rich_kids": "Garotos Ricos", "roughneck": "Arruaceiro", "scientist": "Cientista", "scientist_female": "Cientista", - "scientists": "Scientists", + "scientists": "Cientistas", "smasher": "Tenista", "snow_worker": "Operário da Neve", "snow_worker_female": "Operária da Neve", "striker": "Atacante", "school_kid": "Estudante", "school_kid_female": "Estudante", - "school_kids": "School Kids", + "school_kids": "Estudantes", "swimmer": "Nadador", "swimmer_female": "Nadadora", - "swimmers": "Swimmers", + "swimmers": "Nadadores", "twins": "Gêmeos", "veteran": "Veterano", "veteran_female": "Veterana", - "veteran_duo": "Veteran Duo", + "veteran_duo": "Dupla Veterana", "waiter": "Garçom", "waitress": "Garçonete", "worker": "Operário", "worker_female": "Operária", - "workers": "Workers", + "workers": "Operários", "youngster": "Jovem", } as const; diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index cfdc7ab0d18..10fe2bc884e 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -21,6 +21,7 @@ import { weather } from "./weather"; import { battleMessageUiHandler } from "./battle-message-ui-handler"; import { berry } from "./berry"; + export const zhCnConfig = { ability: ability, abilityTriggers: abilityTriggers, From a2299ee0557b673ad588c0cf2cdbaa9b4395c2cb Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Fri, 17 May 2024 18:43:38 +0200 Subject: [PATCH 69/84] Update Italian trainers.ts (#1037) --- src/locales/it/trainers.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts index 443718693ca..32488a845ba 100644 --- a/src/locales/it/trainers.ts +++ b/src/locales/it/trainers.ts @@ -2,13 +2,13 @@ import {SimpleTranslationEntries} from "#app/plugins/i18n"; // Titles of special trainers like gym leaders, elite four, and the champion export const titles: SimpleTranslationEntries = { - "elite_four": "Elite Four", - "gym_leader": "Gym Leader", - "gym_leader_female": "Gym Leader", - "champion": "Champion", - "rival": "Rival", - "professor": "Professor", - "frontier_brain": "Frontier Brain", + "elite_four": "Superquattro", + "gym_leader": "Capopalestra", + "gym_leader_female": "Capopalestra", + "champion": "Campione", + "rival": "Rivale", + "professor": "Professore", + "frontier_brain": "Asso Lotta", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; From d2a8c4a150a3f3521618e06c3698afbbc5d8d26a Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Fri, 17 May 2024 18:58:47 +0200 Subject: [PATCH 70/84] Update Italian berry.ts (#1039) --- src/locales/it/berry.ts | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/locales/it/berry.ts b/src/locales/it/berry.ts index 8c8bc5ee280..27a30438a59 100644 --- a/src/locales/it/berry.ts +++ b/src/locales/it/berry.ts @@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n"; export const berry: BerryTranslationEntries = { "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", + name: "Baccacedro", + effect: "Restituisce il 25% dei PS se i PS sono sotto il 50%", }, "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", + name: "Baccaprugna", + effect: "Se tenuta da un Pokémon risolve qualsiasi problema di stato", }, "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", + name: "Baccaenigma", + effect: "Restituisce il 25% dei PS se viene colpito da una mossa superefficace", }, "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", + name: "Baccalici", + effect: "Aumenta l'Attacco se i PS sono sotto il 25%", }, "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", + name: "Baccalongan", + effect: "Aumenta la Difesa se i PS sono sotto il 25%", }, "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", + name: "Baccapitaya", + effect: "Aumenta l'Attacco Speciale se i PS sono sotto il 25%", }, "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", + name: "Baccacocca", + effect: "Aumenta la Difesa Speciale se i PS sono sotto il 25%", }, "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", + name: "Baccasalak", + effect: "Aumenta la Velocità se i PS sono sotto il 25%", }, "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", + name: "Baccalangsa", + effect: "Aumenta la probabilità di Colpo Critico se i PS sono sotto il 25%", }, "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", + name: "Baccambola", + effect: "Aumenta drasticamente una statistica casuale se i PS sono sotto il 25%", }, "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", + name: "Baccamela", + effect: "Ripristina 10 PP a una mossa se i suoi PP raggiungono lo 0", }, } as const; \ No newline at end of file From b55fb8db371d2ba225efc3288b23dbc9ff8db77d Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Fri, 17 May 2024 19:02:51 +0200 Subject: [PATCH 71/84] Update Italian battle-message-ui-handler.ts (#1040) --- src/locales/it/battle-message-ui-handler.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/locales/it/battle-message-ui-handler.ts b/src/locales/it/battle-message-ui-handler.ts index 346f856872c..917de48fd5e 100644 --- a/src/locales/it/battle-message-ui-handler.ts +++ b/src/locales/it/battle-message-ui-handler.ts @@ -1,10 +1,10 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battleMessageUiHandler: SimpleTranslationEntries = { - "ivBest": "Best", - "ivFantastic": "Fantastic", - "ivVeryGood": "Very Good", - "ivPrettyGood": "Pretty Good", - "ivDecent": "Decent", - "ivNoGood": "No Good", + "ivBest": "Stellare", + "ivFantastic": "Eccellente", + "ivVeryGood": "Notevole", + "ivPrettyGood": "Normale", + "ivDecent": "Sufficiente", + "ivNoGood": "Mediocre", } as const; \ No newline at end of file From 7935f280896bb938aae4eea3bc95434be730d8cc Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Fri, 17 May 2024 19:18:03 +0200 Subject: [PATCH 72/84] Update Italian battle.ts (#1042) --- src/locales/it/battle.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/locales/it/battle.ts b/src/locales/it/battle.ts index 3eff2493ed6..c9cf46554c0 100644 --- a/src/locales/it/battle.ts +++ b/src/locales/it/battle.ts @@ -23,16 +23,16 @@ export const battle: SimpleTranslationEntries = { "attackFailed": "Ma ha fallito!", "attackHitsCount": `Colpito {{count}} volta/e!`, "expGain": "{{pokemonName}} ha guadagnato\n{{exp}} Punti Esperienza!", - "levelUp": "{{pokemonName}} è salito al \nlivello {{level}}!", - "learnMove": "{{pokemonName}} impara \n{{moveName}}!", + "levelUp": "{{pokemonName}} è salito al\nlivello {{level}}!", + "learnMove": "{{pokemonName}} impara\n{{moveName}}!", "learnMovePrompt": "{{pokemonName}} vorrebbe imparare\n{{moveName}}.", - "learnMoveLimitReached": "Tuttavia, {{pokemonName}} \nconosce già quattro mosse.", - "learnMoveReplaceQuestion": "Vuoi che ne dimentichi una e al suo \nposto la sostituisca con {{moveName}}?", - "learnMoveStopTeaching": "Vuoi smettere di fargli imparare \n{{moveName}}?", + "learnMoveLimitReached": "Tuttavia, {{pokemonName}}\nconosce già quattro mosse.", + "learnMoveReplaceQuestion": "Vuoi che ne dimentichi una e al suo\nposto apprenda {{moveName}}?", + "learnMoveStopTeaching": "Vuoi smettere di fargli imparare\n{{moveName}}?", "learnMoveNotLearned": "{{pokemonName}} non ha imparato\n{{moveName}}.", "learnMoveForgetQuestion": "Quale mossa deve dimenticare?", "learnMoveForgetSuccess": "{{pokemonName}} ha dimenticato la mossa\n{{moveName}}.", - "countdownPoof": "@d{32}1, @d{15}2, @d{15}e@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}Puff!", + "countdownPoof": "@d{32}1, @d{15}2, @d{15}e@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}ta-daaaa!", "learnMoveAnd": "E…", "levelCapUp": "Il livello massimo\nè aumentato a {{levelCap}}!", "moveNotImplemented": "{{moveName}} non è ancora implementata e non può essere selezionata.", @@ -51,6 +51,6 @@ export const battle: SimpleTranslationEntries = { "escapeVerbFlee": "fuggendo", "notDisabled": "{{pokemonName}}'s {{moveName}} non è più\ndisabilitata!", "skipItemQuestion": "Sei sicuro di non voler prendere nessun oggetto?", - "eggHatching": "Oh?", + "eggHatching": "Oh!", "ivScannerUseQuestion": "Vuoi usare lo scanner di IV su {{pokemonName}}?" } as const; \ No newline at end of file From 04a345a6cc927c4d8857ab8a36279f623a50c96b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Fri, 17 May 2024 14:19:38 -0300 Subject: [PATCH 73/84] fixed master ball (#1043) --- src/locales/pt_BR/pokeball.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/pt_BR/pokeball.ts b/src/locales/pt_BR/pokeball.ts index c93af437ba2..75d81ebde03 100644 --- a/src/locales/pt_BR/pokeball.ts +++ b/src/locales/pt_BR/pokeball.ts @@ -5,6 +5,6 @@ export const pokeball: SimpleTranslationEntries = { "greatBall": "Grande Bola", "ultraBall": "Ultra Bola", "rogueBall": "Bola Rogue", - "masterBall": "Bole Mestra", + "masterBall": "Bola Mestra", "luxuryBall": "Bola Luxo", } as const; \ No newline at end of file From 6880c7afe01a724b4bb231f366862ff008051164 Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Fri, 17 May 2024 12:37:38 -0500 Subject: [PATCH 74/84] Updated Logic when Animating Trainer Sprites (#1016) Updated the check in place when attempting to play a trainer sprite. Separated it into a separate function to reduce reusing code and to make it easier to exit early when failures occur. --- src/field/trainer.ts | 45 ++++++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/src/field/trainer.ts b/src/field/trainer.ts index faa691406b9..60497239488 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -370,6 +370,34 @@ export default class Trainer extends Phaser.GameObjects.Container { this.getTintSprites().map((tintSprite, i) => tintSprite.setTexture(this.getKey(!!i)).setFrame(0)); } + /** + * Attempts to animate a given set of {@linkcode Phaser.GameObjects.Sprite} + * @see {@linkcode Phaser.GameObjects.Sprite.play} + * @param sprite {@linkcode Phaser.GameObjects.Sprite} to animate + * @param tintSprite {@linkcode Phaser.GameObjects.Sprite} placed on top of the sprite to add a color tint + * @param animConfig {@linkcode Phaser.Types.Animations.PlayAnimationConfig} to pass to {@linkcode Phaser.GameObjects.Sprite.play} + * @returns true if the sprite was able to be animated + */ + tryPlaySprite(sprite: Phaser.GameObjects.Sprite, tintSprite: Phaser.GameObjects.Sprite, animConfig: Phaser.Types.Animations.PlayAnimationConfig): boolean { + // Show an error in the console if there isn't a texture loaded + if (sprite.texture.key === '__MISSING') { + console.error(`No texture found for '${animConfig.key}'!`); + + return false; + } + // Don't try to play an animation when there isn't one + if (sprite.texture.frameTotal <= 1) { + console.warn(`No animation found for '${animConfig.key}'. Is this intentional?`); + + return false; + } + + sprite.play(animConfig); + tintSprite.play(animConfig); + + return true; + } + playAnim(): void { const trainerAnimConfig = { key: this.getKey(), @@ -379,14 +407,9 @@ export default class Trainer extends Phaser.GameObjects.Container { const sprites = this.getSprites(); const tintSprites = this.getTintSprites(); - // Don't try to play an animation when there isn't one - if (sprites.length > 1) { - sprites[0].play(trainerAnimConfig); - tintSprites[0].play(trainerAnimConfig); - } - else - console.warn(`No animation found for '${this.getKey()}'. Is this intentional?`); + this.tryPlaySprite(sprites[0], tintSprites[0], trainerAnimConfig); + // Queue an animation for the second trainer if this is a double battle against two separate trainers if (this.variant === TrainerVariant.DOUBLE && !this.config.doubleOnly) { const partnerTrainerAnimConfig = { key: this.getKey(true), @@ -394,13 +417,7 @@ export default class Trainer extends Phaser.GameObjects.Container { startFrame: 0 }; - // Don't try to play an animation when there isn't one - if (sprites.length > 1) { - sprites[1].play(partnerTrainerAnimConfig); - tintSprites[1].play(partnerTrainerAnimConfig); - } - else - console.warn(`No animation found for '${this.getKey()}'. Is this intentional?`); + this.tryPlaySprite(sprites[1], tintSprites[1], partnerTrainerAnimConfig); } } From 0a871fb0d05c156a08926d5d74cc9fb2d2795619 Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Fri, 17 May 2024 12:41:16 -0500 Subject: [PATCH 75/84] Fix cut off dialogue for Morty --- src/data/dialogue.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/data/dialogue.ts b/src/data/dialogue.ts index e54196d9e25..8d1be662f73 100644 --- a/src/data/dialogue.ts +++ b/src/data/dialogue.ts @@ -909,7 +909,8 @@ export const trainerTypeDialogue = { }, [TrainerType.MORTY]: { encounter: [ - `With a little more, I could see a future in which I meet the legendary Pokémon. You're going to help me reach that level!`, + `With a little more, I could see a future in which I meet the legendary Pokémon. + $You're going to help me reach that level!`, `It's said that a rainbow-hued Pokémon will come down to appear before a truly powerful Trainer. $I believed that tale, so I have secretly trained here all my life. As a result, I can now see what others cannot. $I see a shadow of the person who will make the Pokémon appear. @@ -924,7 +925,8 @@ export const trainerTypeDialogue = { `I see… Your journey has taken you to far-away places and you have witnessed much more than I. $I envy you for that…`, `How is this possible…`, - `I don't think our potentials are so different. But you seem to have something more than that… So be it.`, + `I don't think our potentials are so different. + $But you seem to have something more than that… So be it.`, `Guess I need more training.`, `That's a shame.` ], From fa6ab299467c3fb2dcfb699bdf6f8410f7a4912b Mon Sep 17 00:00:00 2001 From: Somod1 <160222354+Somod1@users.noreply.github.com> Date: Sat, 18 May 2024 02:36:52 +0800 Subject: [PATCH 76/84] Update zh_CN translation (#1047) * Add files via upload * Update zh-CN translation Adjusted some Chinese translations and added line breaks to some item descriptions in modifier-type.ts * Add files via upload --- src/locales/zh_CN/fight-ui-handler.ts | 12 ++-- src/locales/zh_CN/growth.ts | 18 +++--- src/locales/zh_CN/modifier-type.ts | 40 +++++++------- src/locales/zh_CN/pokemon-info.ts | 80 +++++++++++++-------------- 4 files changed, 75 insertions(+), 75 deletions(-) diff --git a/src/locales/zh_CN/fight-ui-handler.ts b/src/locales/zh_CN/fight-ui-handler.ts index d86767bd13d..8287a4d80db 100644 --- a/src/locales/zh_CN/fight-ui-handler.ts +++ b/src/locales/zh_CN/fight-ui-handler.ts @@ -1,7 +1,7 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const fightUiHandler: SimpleTranslationEntries = { - "pp": "PP", - "power": "威力", - "accuracy": "命中率", +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const fightUiHandler: SimpleTranslationEntries = { + "pp": "PP", + "power": "威力", + "accuracy": "命中", } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/growth.ts b/src/locales/zh_CN/growth.ts index daeeed63385..49d6b59a935 100644 --- a/src/locales/zh_CN/growth.ts +++ b/src/locales/zh_CN/growth.ts @@ -1,10 +1,10 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const growth: SimpleTranslationEntries = { - "Erratic": "最快", - "Fast": "快", - "Medium_Fast": "较快", - "Medium_Slow": "较慢", - "Slow": "慢", - "Fluctuating": "最慢" +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const growth: SimpleTranslationEntries = { + "Erratic": "最快", + "Fast": "较快", + "Medium_Fast": "快", + "Medium_Slow": "慢", + "Slow": "较慢", + "Fluctuating": "最慢" } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/modifier-type.ts b/src/locales/zh_CN/modifier-type.ts index 9555eb3ce7d..e826c743fbc 100644 --- a/src/locales/zh_CN/modifier-type.ts +++ b/src/locales/zh_CN/modifier-type.ts @@ -20,7 +20,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "为一只宝可梦回复 {{restorePoints}} HP 或 {{restorePercent}}% HP,取最大值", extra: { "fully": "为一只宝可梦回复全部HP", - "fullyWithStatus": "为一只宝可梦回复全部HP并消除所有负面状态", + "fullyWithStatus": "为一只宝可梦回复全部HP并消除所有负面\n状态", } }, "PokemonReviveModifierType": { @@ -42,11 +42,11 @@ export const modifierType: ModifierTypeTranslationEntries = { } }, "PokemonPpUpModifierType": { - description: "为一只宝可梦的一个招式永久增加{{upPoints}}点PP每5点当前最大PP (最多3点)", + description: "为一只宝可梦的一个招式永久增加{{upPoints}}点\nPP每5点当前最大PP (最多3点)", }, "PokemonNatureChangeModifierType": { name: "{{natureName}}薄荷", - description: "将一只宝可梦的性格改为{{natureName}}并为该宝可梦永久解锁该性格.", + description: "将一只宝可梦的性格改为{{natureName}}并为该宝可\n梦永久解锁该性格.", }, "DoubleBattleChanceBoosterModifierType": { description: "接下来的{{battleCount}}场战斗是双打的概率翻倍", @@ -64,7 +64,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "所有成员宝可梦等级提升1级", }, "PokemonBaseStatBoosterModifierType": { - description: "增加持有者的{{statName}}10%. 个体值越高堆叠上限越高.", + description: "增加持有者的{{statName}}10%,个体值越高堆叠\n上限越高.", }, "AllPokemonFullHpRestoreModifierType": { description: "所有宝可梦完全回复HP", @@ -81,10 +81,10 @@ export const modifierType: ModifierTypeTranslationEntries = { }, }, "ExpBoosterModifierType": { - description: "EXP.获取量增加{{boostPercent}}%", + description: "经验值获取量增加{{boostPercent}}%", }, "PokemonExpBoosterModifierType": { - description: "持有者EXP.获取量增加{{boostPercent}}%", + description: "持有者经验值获取量增加{{boostPercent}}%", }, "PokemonFriendshipBoosterModifierType": { description: "每场战斗获得的好感度提升50%", @@ -93,7 +93,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "招式命中率增加{{accuracyAmount}} (最大100)", }, "PokemonMultiHitModifierType": { - description: "攻击造成一次额外伤害,每次堆叠额外伤害分别衰减60/75/82.5%", + description: "攻击造成一次额外伤害,每次堆叠额外伤害\n分别衰减60/75/82.5%", }, "TmModifierType": { name: "招式学习器 {{moveId}} - {{moveName}}", @@ -106,7 +106,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "使某些宝可梦更改形态", }, "FusePokemonModifierType": { - description: "融合两只宝可梦 (改变特性, 平分基础点数和属性, 共享招式池)", + description: "融合两只宝可梦 (改变特性, 平分基础点数\n和属性, 共享招式池)", }, "TerastallizeModifierType": { name: "{{teraType}}太晶碎块", @@ -128,9 +128,9 @@ export const modifierType: ModifierTypeTranslationEntries = { "RARE_CANDY": { name: "神奇糖果" }, "RARER_CANDY": { name: "超神奇糖果" }, - "MEGA_BRACELET": { name: "超级手镯", description: "能让携带着超级石战斗的宝可梦进行超级进化" }, - "DYNAMAX_BAND": { name: "极巨腕带", description: "能让携带着极巨菇菇战斗的宝可梦进行极巨化" }, - "TERA_ORB": { name: "太晶珠", description: "能让携带着太晶碎块战斗的宝可梦进行太晶化" }, + "MEGA_BRACELET": { name: "超级手镯", description: "能让携带着超级石战斗的宝可梦进行\n超级进化" }, + "DYNAMAX_BAND": { name: "极巨腕带", description: "能让携带着极巨菇菇战斗的宝可梦进行\n极巨化" }, + "TERA_ORB": { name: "太晶珠", description: "能让携带着太晶碎块战斗的宝可梦进行\n太晶化" }, "MAP": { name: "地图", description: "允许你在切换宝可梦群落时选择目的地"}, @@ -165,9 +165,9 @@ export const modifierType: ModifierTypeTranslationEntries = { "MEMORY_MUSHROOM": { name: "回忆蘑菇", description: "回忆一个宝可梦已经遗忘的招式" }, "EXP_SHARE": { name: "学习装置", description: "未参加对战的宝可梦获得20%的经验值" }, - "EXP_BALANCE": { name: "均衡型学习装置", description: "增加战斗中获得的EXP.分配给低级成员宝可梦的权重" }, + "EXP_BALANCE": { name: "均衡型学习装置", description: "队伍中的低级宝可梦获得更多经验值" }, - "OVAL_CHARM": { name: "圆形护符", description: "当多只宝可梦参与战斗, 分别获得总EXP.10%的额外EXP." }, + "OVAL_CHARM": { name: "圆形护符", description: "当多只宝可梦参与战斗,分别获得总经验值\n10%的额外经验值" }, "EXP_CHARM": { name: "经验护符" }, "SUPER_EXP_CHARM": { name: "超级经验护符" }, @@ -200,21 +200,21 @@ export const modifierType: ModifierTypeTranslationEntries = { "BERRY_POUCH": { name: "树果袋", description: "使用树果时有25%的几率不会消耗树果" }, - "FOCUS_BAND": { name: "气势头带", description: "携带该道具的宝可梦有10%几率在受到攻击而将陷入濒死状态时,保留1点HP不陷入濒死状态。" }, + "FOCUS_BAND": { name: "气势头带", description: "携带该道具的宝可梦有10%几率在受到\n攻击而将陷入濒死状态时,保留1点HP不陷入濒死状态" }, - "QUICK_CLAW": { name: "先制之爪", description: "有10%的几率无视速度优先使出招式 (先制技能优先)" }, + "QUICK_CLAW": { name: "先制之爪", description: "有10%的几率无视速度优先使出招式\n(先制技能优先)" }, - "KINGS_ROCK": { name: "王者之证", description: "携带该道具的宝可梦使用任意原本不会造成畏缩状态的攻击招式并造成伤害时,有10%几率使目标陷入畏缩状态。" }, + "KINGS_ROCK": { name: "王者之证", description: "携带该道具的宝可梦使用任意原本不会造成\n畏缩状态的攻击招式并造成伤害时,有\n10%几率使目标陷入畏缩状态" }, - "LEFTOVERS": { name: "吃剩的东西", description: "携带该道具的宝可梦在每个回合结束时恢复最大HP的1/16" }, - "SHELL_BELL": { name: "贝壳之铃", description: "携带该道具的宝可梦在攻击对方成功造成伤害时,携带者的HP会恢复其所造成伤害的1/8" }, + "LEFTOVERS": { name: "吃剩的东西", description: "携带该道具的宝可梦在每个回合结束时恢复\n最大HP的1/16" }, + "SHELL_BELL": { name: "贝壳之铃", description: "携带该道具的宝可梦在攻击对方成功造成伤\n害时,携带者的HP会恢复其所造成伤害\n的1/8" }, - "BATON": { name: "接力棒", description: "允许在切换宝可梦时保留能力变化, 对陷阱同样生效" }, + "BATON": { name: "接力棒", description: "允许在切换宝可梦时保留能力变化, 对陷阱\n同样生效" }, "SHINY_CHARM": { name: "闪耀护符", description: "显著增加野生宝可梦的闪光概率" }, "ABILITY_CHARM": { name: "特性护符", description: "显著增加野生宝可梦有隐藏特性的概率" }, - "IV_SCANNER": { name: "个体值探测器", description: "允许扫描野生宝可梦的个体值。 每个次显示2个个体值. 最好的个体值优先显示" }, + "IV_SCANNER": { name: "个体值探测器", description: "允许扫描野生宝可梦的个体值。 每个次显示\n2个个体值. 最好的个体值优先显示" }, "DNA_SPLICERS": { name: "基因之楔" }, diff --git a/src/locales/zh_CN/pokemon-info.ts b/src/locales/zh_CN/pokemon-info.ts index d99d8edfd76..09c843bb8c2 100644 --- a/src/locales/zh_CN/pokemon-info.ts +++ b/src/locales/zh_CN/pokemon-info.ts @@ -1,41 +1,41 @@ -import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonInfo: PokemonInfoTranslationEntries = { - Stat: { - "HP": "最大HP", - "HPshortened": "最大HP", - "ATK": "攻击", - "ATKshortened": "攻击", - "DEF": "防御", - "DEFshortened": "防御", - "SPATK": "特攻", - "SPATKshortened": "特攻", - "SPDEF": "特防", - "SPDEFshortened": "特防", - "SPD": "速度", - "SPDshortened": "速度" - }, - - Type: { - "UNKNOWN": "Unknown", - "NORMAL": "一般", - "FIGHTING": "格斗", - "FLYING": "飞行", - "POISON": "毒", - "GROUND": "地面", - "ROCK": "岩石", - "BUG": "虫", - "GHOST": "幽灵", - "STEEL": "钢", - "FIRE": "火", - "WATER": "水", - "GRASS": "草", - "ELECTRIC": "电", - "PSYCHIC": "超能力", - "ICE": "冰", - "DRAGON": "龙", - "DARK": "恶", - "FAIRY": "妖精", - "STELLAR": "星晶", - }, +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "最大HP", + "HPshortened": "最大HP", + "ATK": "攻击", + "ATKshortened": "攻击", + "DEF": "防御", + "DEFshortened": "防御", + "SPATK": "特攻", + "SPATKshortened": "特攻", + "SPDEF": "特防", + "SPDEFshortened": "特防", + "SPD": "速度", + "SPDshortened": "速度" + }, + + Type: { + "UNKNOWN": "未知", + "NORMAL": "一般", + "FIGHTING": "格斗", + "FLYING": "飞行", + "POISON": "毒", + "GROUND": "地面", + "ROCK": "岩石", + "BUG": "虫", + "GHOST": "幽灵", + "STEEL": "钢", + "FIRE": "火", + "WATER": "水", + "GRASS": "草", + "ELECTRIC": "电", + "PSYCHIC": "超能力", + "ICE": "冰", + "DRAGON": "龙", + "DARK": "恶", + "FAIRY": "妖精", + "STELLAR": "星晶", + }, } as const; \ No newline at end of file From 6bcf4e008a77026a47a22605c482b1045a4243a0 Mon Sep 17 00:00:00 2001 From: Charlie Giang <146129103+charliegiang@users.noreply.github.com> Date: Fri, 17 May 2024 15:03:55 -0500 Subject: [PATCH 77/84] Fix sparkly swirl cure status (#1051) --- src/data/move.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/data/move.ts b/src/data/move.ts index 99ef179ad30..8814aa745bf 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -6483,7 +6483,8 @@ export function initMoves() { new AttackMove(Moves.FREEZY_FROST, Type.ICE, MoveCategory.SPECIAL, 100, 90, 10, -1, 0, 7) .attr(ResetStatsAttr), new AttackMove(Moves.SPARKLY_SWIRL, Type.FAIRY, MoveCategory.SPECIAL, 120, 85, 5, -1, 0, 7) - .attr(PartyStatusCureAttr, null, Abilities.NONE), + .attr(PartyStatusCureAttr, null, Abilities.NONE) + .target(MoveTarget.PARTY), new AttackMove(Moves.VEEVEE_VOLLEY, Type.NORMAL, MoveCategory.PHYSICAL, -1, -1, 20, -1, 0, 7) .attr(FriendshipPowerAttr), new AttackMove(Moves.DOUBLE_IRON_BASH, Type.STEEL, MoveCategory.PHYSICAL, 60, 100, 5, 30, 0, 7) From 1f1c243415cdc58d9049f9dc176f4f897da88869 Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Fri, 17 May 2024 15:37:34 -0500 Subject: [PATCH 78/84] Revert "Fix sparkly swirl cure status (#1051)" This reverts commit 6bcf4e008a77026a47a22605c482b1045a4243a0. --- src/data/move.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 8814aa745bf..99ef179ad30 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -6483,8 +6483,7 @@ export function initMoves() { new AttackMove(Moves.FREEZY_FROST, Type.ICE, MoveCategory.SPECIAL, 100, 90, 10, -1, 0, 7) .attr(ResetStatsAttr), new AttackMove(Moves.SPARKLY_SWIRL, Type.FAIRY, MoveCategory.SPECIAL, 120, 85, 5, -1, 0, 7) - .attr(PartyStatusCureAttr, null, Abilities.NONE) - .target(MoveTarget.PARTY), + .attr(PartyStatusCureAttr, null, Abilities.NONE), new AttackMove(Moves.VEEVEE_VOLLEY, Type.NORMAL, MoveCategory.PHYSICAL, -1, -1, 20, -1, 0, 7) .attr(FriendshipPowerAttr), new AttackMove(Moves.DOUBLE_IRON_BASH, Type.STEEL, MoveCategory.PHYSICAL, 60, 100, 5, 30, 0, 7) From 5dd017fa30c5e0423b0169881d7b23efbcadb599 Mon Sep 17 00:00:00 2001 From: Matthew Olker Date: Fri, 17 May 2024 18:13:12 -0400 Subject: [PATCH 79/84] Begin shiny weekend --- src/field/pokemon.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index eb08af3da55..0a5e0a6a991 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1096,8 +1096,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { let shinyThreshold = new Utils.IntegerHolder(32); if (thresholdOverride === undefined) { - if (!this.hasTrainer()) + if (!this.hasTrainer()) { + if (new Date() < new Date('2024-05-21')) + shinyThreshold.value *= 3; this.scene.applyModifiers(ShinyRateBoosterModifier, true, shinyThreshold); + } } else shinyThreshold.value = thresholdOverride; From f3c4a3838b842e30f2021044c80de63b4a60dda8 Mon Sep 17 00:00:00 2001 From: snnh <90502347+snnh@users.noreply.github.com> Date: Sat, 18 May 2024 09:16:24 +0800 Subject: [PATCH 80/84] Update and fix zh_CN translation (#1070) * Update zh_CN translation * fix zh_CN translation --- src/locales/zh_CN/battle-message-ui-handler.ts | 12 ++++++------ src/locales/zh_CN/weather.ts | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/locales/zh_CN/battle-message-ui-handler.ts b/src/locales/zh_CN/battle-message-ui-handler.ts index 346f856872c..843a8886093 100644 --- a/src/locales/zh_CN/battle-message-ui-handler.ts +++ b/src/locales/zh_CN/battle-message-ui-handler.ts @@ -1,10 +1,10 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battleMessageUiHandler: SimpleTranslationEntries = { - "ivBest": "Best", - "ivFantastic": "Fantastic", - "ivVeryGood": "Very Good", - "ivPrettyGood": "Pretty Good", - "ivDecent": "Decent", - "ivNoGood": "No Good", + "ivBest": "最棒", + "ivFantastic": "了不起", + "ivVeryGood": "非常好", + "ivPrettyGood": "相当好", + "ivDecent": "一般般", + "ivNoGood": "也许不行", } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/weather.ts b/src/locales/zh_CN/weather.ts index 50fb2227b2b..5d88ac351bc 100644 --- a/src/locales/zh_CN/weather.ts +++ b/src/locales/zh_CN/weather.ts @@ -8,14 +8,14 @@ export const weather: SimpleTranslationEntries = { "sunnyLapseMessage": "日照很强。", "sunnyClearMessage": "日照复原了。", - "rainStartMessage": "下大雨了!", + "rainStartMessage": "开始下雨了!", "rainLapseMessage": "雨继续下。", "rainClearMessage": "雨停了。", - "sandstormStartMessage": "开始刮沙尘暴了!", - "sandstormLapseMessage": "沙尘暴肆虐。", - "sandstormClearMessage": "沙尘暴停止了。", - "sandstormDamageMessage": "沙尘暴袭击了{{pokemonPrefix}}{{pokemonName}}!", + "sandstormStartMessage": "开始刮沙暴了!", + "sandstormLapseMessage": "沙暴肆虐。", + "sandstormClearMessage": "沙暴停止了!", + "sandstormDamageMessage": "沙暴袭击了{{pokemonPrefix}}{{pokemonName}}!", "hailStartMessage": "开始下冰雹了!", "hailLapseMessage": "冰雹继续肆虐。", From 4a9664c04c2d3c77d97c0a92a9f83f66944fc013 Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Fri, 17 May 2024 20:20:02 -0500 Subject: [PATCH 81/84] Fix Entry Hazard Miss (#984) * Fix Entry Hazard Miss Made Entry Hazards bypass the accuracy check as they cannot miss a target. There's still one more bug to fix with this but it requires way more code changes. This change needed to be done as well, so I'm getting it out early. * Update move.ts --- src/data/move.ts | 1 + src/phases.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/data/move.ts b/src/data/move.ts index 99ef179ad30..6849a0fe7ce 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -55,6 +55,7 @@ export enum MoveTarget { /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_target_all_Pok%C3%A9mon Moves that target all Pokemon} */ ALL, USER_SIDE, + /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Entry_hazard-creating_moves Entry hazard-creating moves} */ ENEMY_SIDE, BOTH_SIDES, PARTY diff --git a/src/phases.ts b/src/phases.ts index 1137c85afa6..f70fe9e857a 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -2597,7 +2597,8 @@ export class MoveEffectPhase extends PokemonPhase { } hitCheck(target: Pokemon): boolean { - if (this.move.getMove().moveTarget === MoveTarget.USER) + // Moves targeting the user and entry hazards can't miss + if ([MoveTarget.USER, MoveTarget.ENEMY_SIDE].includes(this.move.getMove().moveTarget)) return true; const user = this.getUserPokemon(); From 93dee06e21f762822bb5536a3113a8c067b4f562 Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Sat, 18 May 2024 04:04:14 +0200 Subject: [PATCH 82/84] Larry and Lance now only need one localization key for both of their positions (because i just use setName and now they use the same key). This does not affect their title (#1053) --- src/data/trainer-config.ts | 8 ++++---- src/locales/de/modifier-type.ts | 2 +- src/locales/de/trainers.ts | 2 -- src/locales/en/trainers.ts | 2 -- src/locales/es/trainers.ts | 2 -- src/locales/fr/trainers.ts | 2 -- src/locales/it/trainers.ts | 2 -- src/locales/pt_BR/trainers.ts | 2 -- src/locales/zh_CN/trainers.ts | 4 ---- 9 files changed, 5 insertions(+), 21 deletions(-) diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index 712cd13a38d..84fb4ffc15c 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -831,7 +831,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.BRASSIUS]: new TrainerConfig(++t).initForGymLeader([ Species.SMOLIV, Species.SHROOMISH, Species.ODDISH ], Type.GRASS), [TrainerType.IONO]: new TrainerConfig(++t).initForGymLeader([ Species.TADBULB, Species.WATTREL, Species.VOLTORB ], Type.ELECTRIC), [TrainerType.KOFU]: new TrainerConfig(++t).initForGymLeader([ Species.VELUZA, Species.WIGLETT, Species.WINGULL ], Type.WATER), - [TrainerType.LARRY]: new TrainerConfig(++t).initForGymLeader([ Species.STARLY, Species.DUNSPARCE, Species.KOMALA ], Type.NORMAL), + [TrainerType.LARRY]: new TrainerConfig(++t).setName("Larry").initForGymLeader([ Species.STARLY, Species.DUNSPARCE, Species.KOMALA ], Type.NORMAL), [TrainerType.RYME]: new TrainerConfig(++t).initForGymLeader([ Species.GREAVARD, Species.SHUPPET, Species.MIMIKYU ], Type.GHOST), [TrainerType.TULIP]: new TrainerConfig(++t).initForGymLeader([ Species.GIRAFARIG, Species.FLITTLE, Species.RALTS ], Type.PSYCHIC), [TrainerType.GRUSHA]: new TrainerConfig(++t).initForGymLeader([ Species.CETODDLE, Species.ALOLA_VULPIX, Species.CUBCHOO ], Type.ICE), @@ -839,7 +839,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)).initForEliteFour([ Species.SLOWBRO, Species.LAPRAS, Species.DEWGONG, Species.ALOLA_SANDSLASH ], Type.ICE), [TrainerType.BRUNO]: new TrainerConfig(++t).initForEliteFour([ Species.ONIX, Species.HITMONCHAN, Species.HITMONLEE, Species.ALOLA_GOLEM ], Type.FIGHTING), [TrainerType.AGATHA]: new TrainerConfig(++t).initForEliteFour([ Species.GENGAR, Species.ARBOK, Species.CROBAT, Species.ALOLA_MAROWAK ], Type.GHOST), - [TrainerType.LANCE]: new TrainerConfig(++t).initForEliteFour([ Species.DRAGONITE, Species.GYARADOS, Species.AERODACTYL, Species.ALOLA_EXEGGUTOR ], Type.DRAGON), + [TrainerType.LANCE]: new TrainerConfig(++t).setName("Lance").initForEliteFour([ Species.DRAGONITE, Species.GYARADOS, Species.AERODACTYL, Species.ALOLA_EXEGGUTOR ], Type.DRAGON), [TrainerType.WILL]: new TrainerConfig(++t).initForEliteFour([ Species.XATU, Species.JYNX, Species.SLOWBRO, Species.EXEGGUTOR ], Type.PSYCHIC), [TrainerType.KOGA]: new TrainerConfig(++t).initForEliteFour([ Species.WEEZING, Species.VENOMOTH, Species.CROBAT, Species.TENTACRUEL ], Type.POISON), [TrainerType.KAREN]: new TrainerConfig(++t).initForEliteFour([ Species.UMBREON, Species.HONCHKROW, Species.HOUNDOOM, Species.WEAVILE ], Type.DARK), @@ -866,7 +866,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.KAHILI]: new TrainerConfig(++t).initForEliteFour([ Species.BRAVIARY, Species.HAWLUCHA, Species.ORICORIO, Species.TOUCANNON ], Type.FLYING), [TrainerType.RIKA]: new TrainerConfig(++t).initForEliteFour([ Species. WHISCASH, Species.DONPHAN, Species.CAMERUPT, Species.CLODSIRE ], Type.GROUND), [TrainerType.POPPY]: new TrainerConfig(++t).initForEliteFour([ Species.COPPERAJAH, Species.BRONZONG, Species.CORVIKNIGHT, Species.TINKATON ], Type.STEEL), - [TrainerType.LARRY_ELITE]: new TrainerConfig(++t).initForEliteFour([ Species.STARAPTOR, Species.FLAMIGO, Species.ALTARIA, Species.TROPIUS ], Type.NORMAL, Type.FLYING), + [TrainerType.LARRY_ELITE]: new TrainerConfig(++t).setName("Larry").initForEliteFour([ Species.STARAPTOR, Species.FLAMIGO, Species.ALTARIA, Species.TROPIUS ], Type.NORMAL, Type.FLYING), [TrainerType.HASSEL]: new TrainerConfig(++t).initForEliteFour([ Species.NOIVERN, Species.HAXORUS, Species.DRAGALGE, Species.BAXCALIBUR ], Type.DRAGON), [TrainerType.CRISPIN]: new TrainerConfig(++t).initForEliteFour([ Species.TALONFLAME, Species.CAMERUPT, Species.MAGMORTAR, Species.BLAZIKEN ], Type.FIRE), [TrainerType.AMARYS]: new TrainerConfig(++t).initForEliteFour([ Species.SKARMORY, Species.EMPOLEON, Species.SCIZOR, Species.METAGROSS ], Type.STEEL), @@ -875,7 +875,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)).initForChampion([ Species.GYARADOS, Species.MEWTWO, Species.ARCANINE, Species.ALAKAZAM, Species.PIDGEOT ]).setBattleBgm('battle_kanto_champion'), [TrainerType.RED]: new TrainerConfig(++t).initForChampion([ Species.CHARIZARD, [ Species.LUGIA, Species.HO_OH ], Species.SNORLAX, Species.RAICHU, Species.ESPEON ]).setBattleBgm('battle_johto_champion'), - [TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).initForChampion([ Species.DRAGONITE, Species.ZYGARDE, Species.AERODACTYL, Species.KINGDRA, Species.ALOLA_EXEGGUTOR ]).setBattleBgm('battle_johto_champion'), + [TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).setName("Lance").initForChampion([ Species.DRAGONITE, Species.ZYGARDE, Species.AERODACTYL, Species.KINGDRA, Species.ALOLA_EXEGGUTOR ]).setBattleBgm('battle_johto_champion'), [TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion([ Species.METAGROSS, [ Species.DIALGA, Species.PALKIA ], Species.SKARMORY, Species.AGGRON, Species.CARBINK ]).setBattleBgm('battle_hoenn_champion'), [TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion([ Species.MILOTIC, Species.KYOGRE, Species.WHISCASH, Species.WALREIN, Species.LUDICOLO ]).setBattleBgm('battle_hoenn_champion'), [TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion([ Species.SPIRITOMB, Species.GIRATINA, Species.GARCHOMP, Species.MILOTIC, Species.LUCARIO, Species.TOGEKISS ]).setBattleBgm('battle_sinnoh_champion'), diff --git a/src/locales/de/modifier-type.ts b/src/locales/de/modifier-type.ts index 95346548c44..5006ee294f6 100644 --- a/src/locales/de/modifier-type.ts +++ b/src/locales/de/modifier-type.ts @@ -55,7 +55,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "Erhöht die {{tempBattleStatName}} aller Teammitglieder für 5 Kämpfe um eine Stufe", }, "AttackTypeBoosterModifierType": { - description: "Erhöht die Stärke aller {{moveType}}attacken eines Pokémon um 20%", + description: "Erhöht die Stärke aller {{moveType}}-Attacken eines Pokémon um 20%", }, "PokemonLevelIncrementModifierType": { description: "Erhöht das Level eines Pokémon um 1", diff --git a/src/locales/de/trainers.ts b/src/locales/de/trainers.ts index 1820c7eb281..11e8d914842 100644 --- a/src/locales/de/trainers.ts +++ b/src/locales/de/trainers.ts @@ -219,7 +219,6 @@ export const trainerNames: SimpleTranslationEntries = { "kahili": "Kahili", "rika": "Cay", "poppy": "Poppy", - "larry_elite": "Aoki", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "hassel": "Sinius", "crispin": "Matt", "amarys": "Erin", @@ -227,7 +226,6 @@ export const trainerNames: SimpleTranslationEntries = { "drayton": "Levy", "blue": "Blau", "red": "Rot", - "lance_champion": "Siegfried", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "steven": "Troy", "wallace": "Wassili", "cynthia": "Cynthia", diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts index d824baeba8f..03c3e22c12c 100644 --- a/src/locales/en/trainers.ts +++ b/src/locales/en/trainers.ts @@ -219,7 +219,6 @@ export const trainerNames: SimpleTranslationEntries = { "kahili": "Kahili", "rika": "Rika", "poppy": "Poppy", - "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "hassel": "Hassel", "crispin": "Crispin", "amarys": "Amarys", @@ -227,7 +226,6 @@ export const trainerNames: SimpleTranslationEntries = { "drayton": "Drayton", "blue": "Blue", "red": "Red", - "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "steven": "Steven", "wallace": "Wallace", "cynthia": "Cynthia", diff --git a/src/locales/es/trainers.ts b/src/locales/es/trainers.ts index 443718693ca..916ef8fb838 100644 --- a/src/locales/es/trainers.ts +++ b/src/locales/es/trainers.ts @@ -219,7 +219,6 @@ export const trainerNames: SimpleTranslationEntries = { "kahili": "Kahili", "rika": "Rika", "poppy": "Poppy", - "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "hassel": "Hassel", "crispin": "Crispin", "amarys": "Amarys", @@ -227,7 +226,6 @@ export const trainerNames: SimpleTranslationEntries = { "drayton": "Drayton", "blue": "Blue", "red": "Red", - "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "steven": "Steven", "wallace": "Wallace", "cynthia": "Cynthia", diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index c73f0b1b1c5..3d22b00f89e 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -219,7 +219,6 @@ export const trainerNames: SimpleTranslationEntries = { "kahili": "Kahili", "rika": "Cayenn", "poppy": "Popi", - "larry_elite": "Okuba", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "hassel": "Hassa", "crispin": "Rubépin", "amarys": "Nérine", @@ -227,7 +226,6 @@ export const trainerNames: SimpleTranslationEntries = { "drayton": "Irido", "blue": "Blue", "red": "Red", - "lance_champion": "Peter", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "steven": "Pierre Rochard", "wallace": "Marc", "cynthia": "Cynthia", diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts index 32488a845ba..24c40acdac4 100644 --- a/src/locales/it/trainers.ts +++ b/src/locales/it/trainers.ts @@ -219,7 +219,6 @@ export const trainerNames: SimpleTranslationEntries = { "kahili": "Kahili", "rika": "Rika", "poppy": "Poppy", - "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "hassel": "Hassel", "crispin": "Crispin", "amarys": "Amarys", @@ -227,7 +226,6 @@ export const trainerNames: SimpleTranslationEntries = { "drayton": "Drayton", "blue": "Blue", "red": "Red", - "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "steven": "Steven", "wallace": "Wallace", "cynthia": "Cynthia", diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts index baf796a34db..bc79f98b41b 100644 --- a/src/locales/pt_BR/trainers.ts +++ b/src/locales/pt_BR/trainers.ts @@ -219,7 +219,6 @@ export const trainerNames: SimpleTranslationEntries = { "kahili": "Kahili", "rika": "Rika", "poppy": "Poppy", - "larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "hassel": "Hassel", "crispin": "Crispin", "amarys": "Amarys", @@ -227,7 +226,6 @@ export const trainerNames: SimpleTranslationEntries = { "drayton": "Drayton", "blue": "Blue", "red": "Red", - "lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "steven": "Steven", "wallace": "Wallace", "cynthia": "Cynthia", diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts index fae8301c627..e7ca1093268 100644 --- a/src/locales/zh_CN/trainers.ts +++ b/src/locales/zh_CN/trainers.ts @@ -252,7 +252,6 @@ export const trainerNames: SimpleTranslationEntries = { // 帕底亚地区 Paldea Region "rika": "辛俐", "poppy": "波琵", - "larry_elite": "青木", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) "hassel": "八朔", // 蓝莓学院 Blueberry Academy @@ -266,9 +265,6 @@ export const trainerNames: SimpleTranslationEntries = { "blue": "青绿", "red": "赤红", - // 城都地区 Johto Region - "lance_champion": "阿渡", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here) - // 丰缘地区 Hoenn Region "steven": "大吾", "wallace": "米可利", From 56acd164569f42f49103a6b65f2e883a5f190b19 Mon Sep 17 00:00:00 2001 From: rnicar245 <55734812+rnicar245@users.noreply.github.com> Date: Sat, 18 May 2024 04:06:07 +0200 Subject: [PATCH 83/84] summary-ui-handler stat text centered + summary_stats.png change (#1041) --- public/images/ui/legacy/summary_stats.png | Bin 1545 -> 1103 bytes src/ui/summary-ui-handler.ts | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/public/images/ui/legacy/summary_stats.png b/public/images/ui/legacy/summary_stats.png index e744f84be8f0da06f0028e5f964de56940e4f772..53c6a18caab003ae499dac5a6567c9596f109533 100644 GIT binary patch literal 1103 zcmeAS@N?(olHy`uVBq!ia0vp^*MN9F2Q!e|ly!XvkYX$ja(7}_cTVOdki(Mh=;*0M!+pRaS?HKl3$y%}r2 z{r>*FzdzBUM@D%0?Bka!zD}t#n5SdJ^SjoshEr^--(oi<+oEZID(33GD_Ah~zNFmp z%|%N-r|!vo+I#%>vufdc8B1+X+}vSZeY+)7_WArfj~%pg_js&>rI~aH(Xr^ z#7S(feAc;YzHuzL0~o68;V zDvZv)+E%b|sOR10&QvHc9yt1!o9_RS)$Wru- zJLB#qam8m>xBL@_B-!&(e=9}T%Kdz@Q@w0{J>#@%`d8VNH4XwZErX}4pUXO@geCx# CG5&@C literal 1545 zcmbW1dpOg39LJ|xn6RU8Y>`_WED9MF-H35W$}P<8k=$>QGTS(%5_X10AyP|^v$4rE zcTL9OF^6g{Lq7@SZqDR3JIiw}|D3=2;3wCKlhxSY-J%Z2nYm{McG-q zh+nSw6ie+E-?yuE(?KBcA1Le7mlB8OMh+DW*@M!?^3WSQe z?pbRRiFTjF)hr5yr&Z;j17)?RDGf}S6}IG(X!0h~NktjjA!bDlGA-)qBUn>SeZRyg zfh?Rlpw*(xgd$r*Z53@Q;%5qYY$TiD#mmmsp;uwz1;P*o1IP5%WjCIn`Ki^US}Jm) z8m&E%K-+u=)TqoD^gTl`AmhVALHkfSU9ei-G88zkqPz(5S8U|G+3mc8D|U+R09NmiGdVITaYH*thCrrP@T zGQ`cHdR<{*IF{N}eH>}!_>n!(G$@z&Bu9D4l~4@Bg?cCHC3c5PZbsbs(C`9BQ1q<) zg6SER;0#3QK<1aB6Q5;1c4BIYNAEq8PLefmeeOaZx!PRx*ovJ_5#5EfkgqgPrc+L; zl0qz{0ORLKN^y$iu04QcJxCpar-4{IPI-X*C2oPYSxRP`p-SSql#Dt8bPEhs5;uHf zal|) zvj-bGqxIu&Uc*hbHU45UMBTE>F6~GjUZ1R4vc*Mu*BdzokWszN$_2Vt`v-@`30>z4 zx$ew8ulW~m-EWi?SO<>7-5EXn_w5P8LrqwWqHF(Z5*xg^OtT8k=1U4+A?~ra2Qt!IdiqV0Vvp zs}Z)6N_y6}9{56WYNbr*^&XEL-}*8PksCeV=*!u-PQYE)w+C*8`MhaZVcn$o-x0_v-l13E`VF|&Z_^cty(aSN2Y`$}HwfB#>BH^R zsK|mViGgwZ10KB*2i&La_GsUonD@dt`uluaC}vIi(mqtJDk6Tg7rSw}aw?)j*CB_A zteCC|!yG?_r@=H78)F#lPz7{vNg3}YhD=|A!7CBP@$9p9er%YZUZUX}FA-vKE-zKE zS4lAbBH`x{m;Fwu(G6hMbbd-5fjX^g>;X%qMWT1tocDOA1rM;0K2iFQAC4I@nQe4; z37KDXZU8sg!`#KtLRP+1vMZo5E4nvebt_3xQ)`7I?JlZFYs`y@KP?M z@&~1^lK}f*?6#4W?>7>yJ9obf$>K9awa4)WtWd^VDFgGkOKNy5XDZVm%TCoDJ{VQT z&+1wQatnQ&FQVDOSn;p8J(X%=3*IpyX|w?-M9roy==pHuL`8>W$X$cI5yBW$CzqtE ztLJ0RVuiRKPA0ggxLzQm5L1N|#s_|a*K96zZjfm{veg|-J!{Swgdo5%Pk~JCOwWvy zkrKTs=t-L<_hzHZ;<@`a6u^S3gYXWb|72wCBTuQo;_9M1xo)0K0neL(AHz%woJJ4+ zes1<~p|Z`qSMwHh{XD>gngsf<9zf)p-;nrs2LKkVa;LpJR_oYb5pr{kR3tH})b3~*$HI$OJP2juWL 1 ? TextStyle.SUMMARY_PINK : TextStyle.SUMMARY_BLUE); + const statLabel = addTextObject(this.scene, 27 + 115 * colIndex + (colIndex == 1 ? 5 : 0), 56 + 16 * rowIndex, statName, natureStatMultiplier === 1 ? TextStyle.SUMMARY : natureStatMultiplier > 1 ? TextStyle.SUMMARY_PINK : TextStyle.SUMMARY_BLUE); statLabel.setOrigin(0.5, 0); statsContainer.add(statLabel); From 4a65160130f20d841c6f9f65fb5aee7704eea38d Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Fri, 17 May 2024 22:16:34 -0500 Subject: [PATCH 84/84] Replace main menu music The menu music has been replaced to respect edifette's wishes. --- README.md | 1 - public/audio/bgm/title.mp3 | Bin 5121272 -> 607205 bytes 2 files changed, 1 deletion(-) diff --git a/README.md b/README.md index ad2237bb459..bc3bfa158fb 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,6 @@ Check out our [Trello Board](https://trello.com/b/z10B703R/pokerogue-board) to s - Pokémon Black/White 2 - Firel (Custom Metropolis and Laboratory biome music) - Lmz (Custom Jungle biome music) - - edifette (Title screen music) ### 🎵 Sound Effects - Pokémon Emerald diff --git a/public/audio/bgm/title.mp3 b/public/audio/bgm/title.mp3 index c71c2192f4ebbc0ce88c7f6283723c261ed80526..373b56e3acd66c40f579f8fa2ab719a993c6ef50 100644 GIT binary patch literal 607205 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

`SFYLk704J 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 z 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 z±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 literal 5121272 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�^5O8L4kZvu}S&`fWVb-a(D(7kAM_!Y4=OjfRT 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 z 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

e{x>cs@aVM_yd6ff9pd zScFt2kob%=I!+U5#b;dX1L??8;UmNquF)!jP0)+IB=}8{IRYinBj|Oevk!eh+Fk^z zag3#~1z>oZq8xh}SsQB`C`qj6E&|y+!YDQjOVnXlYW%ZhGkJNnJpAl>h~jd$Uv(ldqE$ z-XjT&(w^>CHTcit&Hylo;91G9yoBx%`g8X1d{`p^2H^hF`2bN>Z(4kb-p9UyXNA7@ zju3Y#R4JV4v+#)|8%-3q4wr?S(n_%~;L2F+W&T585P?W(%%aX#hm`+V6Qj%X zSEP6{6Nv~+bQP)oL>3<(M(w6=eT;$1VjY_=g6Ix+)yp<3m zTc+M~5eZUBBjmT~dTB}TWLBA(WU0C+=qI}G7I_&n3h_ce)5znLpTwALS5BA4ZXHsMG zLMfWBD6jcH)s7Km&M1%y#;K*igTBnKL>wfzllNpyv2oBf>Xbu2y?J4Nj@PgsI8T89 z049jX6u3=j;>ZW5lxh&Bkaz>5p(**m>2M9H>HJSd6rFH`412F|b8i2MQ>vg%Dk%C#)>m9HD|qq4FYdx24Zc)#nw>%<3o zI*NHt5vnWsSI&t#EfpsC)n;>+`R`2`lHdtO&Ar=^sNsk%GHz7*-99ayig8fELQ(^# z2CU~_$}^H=0-+03?VgoXmF9G}*rQCrz@QKRt)HX^D57Iza$g9Ok}v^wjq8moHeh^MEGme?4e7%w7U zUUYY^U+wJOi;n6K`0pmRT%PfSGhQ^SHQ7xkU6e{33mU8T@hCKdhBe`L*1c7dSH*&K zV2!0rGJa&YU~m5Qpq1uZ(Rf?tTFw6VJhJq)r8Fr*h2PbxwZboz?MG3;+lKHVLrjTMD|$Yl|@A|t_}F$Qb7xLoX|icCv}Y9LD0F7{{kFDMrm6OvZ=Ghg0tTYz|Nut}wKM;Lx97p|`539Z> zE#4PhH@jYQNNzYuf$w{!f!GkmI@e#O_G1$4K2kH6s7*GAnw)5S z`W=T`mzpR33Y1wXwT|o|<*ag2Z*bPR|6JY19i4<(VJ$2$$a_i=iwHbGV&G@|NRLAb z=;jTn{nXy}4e~q#_p?cft4X1aXtmqGa+>TEkk}!r27tYeC;^CZFRX4kz$4%YW&nbPb(tjGA@M z6%CD^c2Ax)KJu#4#1Z)O#;yo*q$?+68r;1*KK;@Z5gB%>`=WgPediYcnryhwVRO^V z{yI|FF<5%t&y9BX2$9n_el2f3&bup&V(GVx3~iF=ds~`^ubj=)Z|)2^^YK42c*7EL zH5@*Rtl#99S(0v4xV8u9lD;2xG1FqQ35^ z{E{eF#DJ`qt+laR)o@I_Zo2*T6=dBQ7!^b>bG=~9OW$PAJVXXXou( z_KucXi(A>`q+;-fD#~tfjQL8S^vUs->UqVJZd+BTHL>nlMisxl;FpFvrw8{?7mWu; z!($@f_$j1jlP7<$JvG9sYoOi1%~_kniE?y_dF<9qo5f}2&0JOCD8+6`w!dg2dyBTK zcG&YhCmNr$oXOUDxozkt5JM9o9O0M0D;4EimQ26Ek&UPLab15h?V*Xxdcc^&=?&Ih zLBFfGSF5;z6D17?qBQ>Px+grcdsEl~m0BfSJ^`1gB9%w)NRG8Rjy*@boq~L|wskG& zT(dxjJ1Dda)_;oh|FCD*X2qY4%g175W7qOr7!&Aka82!VzD0T|92(7y?{yW`S_SF4 zw;*57?1f3GM+E#!!7h#sE$P{wkUGN?1Chmv4?Q0%1w3JtzCj_yot>yw;4i8OMOJUh zFKXoV#Si;XP54WP;7G(gU)7~nn^%~)UU`{@{JOvU!a*0l)|Ew;vaLjTSM&`vG}APw znUYAHF42ME(&dogQ+=CIZ)rH-z~-qdY9aoj$g1YN{e~&xwc66Dy0#R|Tn^i^S)3!o znYGtaj?H_`aTr5S9MA#*mC2u2v#8>p3@c(x-8ohqfbY7jjUVZ4T_ff{JGfMul?Y+hr)O4v+k5XwU%{u$I;Cs?@pj7z; z4^_}ul0gMS*XId(1_7Nqlonba|N1)@->PzzpdDeLn@M0}B~46s{BgjI|I%XfsKn|* zOs;7Y%Mb5S(^{q!e9}%!3yG#Y|IubQI{G z*!N3iDemMl&|SaFy^Q+XZ5iCZWBeg5&D1S#%&Tb<;7HNEmTouICspkGu*d5SuqY<9 ztQ^R)1Ir=|SvCYtrMO_qKSATDd0|rdn5r2$Ao3>3_C9HGP*Xx0v`)?0Q3N8^In87S zNBNm6Mo7WSF*1{=Lwn1HiO(RQ$0#_fct9n)Z)aS8nfdI}V)op2&BR|Xfz3YRwdT7x zPHLL19(eU@l(^t*Z^8$)2RMZC#l-y$)7i#MOadfRUO3^SEPaHpcTMjBk*2(Vw zc7L~5+5MO)ck5iA1n#b`UUQNvXcfoR=MCoz(a0*~JYO5!b5EDg0|usJ#hu=Wg$=kP z1Bbde#VbCz1`jK)ie7&UND%TSS}d&V<)l@7xisH2gQED!X&T?RORa?CWRtT2JN+u1 zdxb~>17T1>)171+X=!|OxvtAOHc(ODdo=s^86(?{KYPWn5!cTS*Bo;15G_hJaykf` z`*)now6h|tCUO0C_p>`cnB_NCX|^eHP!%$J2ZTaw60iOZ zyi7<8UmL!guNv2e_7qWwklX9_=ECKn&Q?_deuK?cwUa>>FXv0yrgr+cel_9j(}QLn zqwi#Q0B@uGp`!*gw`10fuG<&aGFxWm={NkRs7^}Rtwm)oMRW8t-Hnx;YFiC1ZNB|p zPU?Z^lZ~k$$ng=mP&Dn91~R@siwv=ikS@V6cl>HZ%m?4I4)`=mo9p`aZ+$wb{Wi_LBh&e z)3;};%EOcZ)VJtT$p~4wNtz^D;d}Lz=osbCx>;TZX>O=$teveFsCAiY<{~y~pZ8bM z?h;^G3+$YaLINT;x9xM)|A>|BNBnx8x;p%~7QHp?yjE79Px86g{9MIdZa#Eud}VA% z{nGdP{oz66M9E%sbf)5~lbb#n+V&=hZ&qIK!4UDxQp}SJ);v#fdKrSAPtu`bInSKF z!COL%z7X@_1YW-2M!i(fivOdk+OjD|b>v_EN>p#(kCq#si$`fcbD?uWY@&|(9f*f< zdg!DP3eNueT$Ya=SI+QcxgEz^pV)a?Q$I5wuD!#OdFnwazJa8Do03?Hl&_*#Qi*_(=U)FuJT4-b^O2>fGK0G zAh|FflXY*f#6KPVOLvgpD}JBqBw=5>QTv9M~TyMr+H4Orn>s0bg9Oj|mw=nSDZu ztyfSE;IZA*OQ!|PqBKZ71E4F+wcgOU{SuY3>Me%GG+iAm&|SnaQZYkHUvUl_jB0c*_gEHZF*GW_^U9|msv4%^)E z$Qc-JXn$zcuJpL_k7Tzby-%ye0?*&IMSIB&u07E&78I6vwvV?sEC&Z%Xvr}RHw_k% zv6)?%`EfXKA=#5dE!4>2q8hoeDREK(6Lc=72@zv-#fz-op>JPj0%H6!B*yk;giS=B zqePg{@TTMbzC1m&%9NF-!LY^ZV26_4VtK7Tk9x+=8N67hA1LbcHXQy z&`!>jM74NisV=hIv~VTiyi9%*OEhdx^Aq{D68Lg#sHB8MTi^C)W*XWcD6-S^PA!NN z8r>Yxf>IlZ1L4JXA#y0zo(ldX&!{YvEw2P-@)Y6S|KOuCS9Td!brPLaEgaW-bm&!(&1tNQ zNY6(Fs@FrB@!DW*g09G&YO{(G;mJ=oZq!|U$=vJ2TVf?*v}uZ1Ak?AA(0I`?aYr65iOwvqjTnz1_milw z3JJ(s3DH6#X&vUt9ZD9)U697tDoDkiiJ9KyV(|g(y2?Z)yUL?R_BU z6(ib-`_>9}r*i$xWOGOTx5$kTPU7L{hxLHOA~?6iMO7#NFLKmoVMr}oO|;E!&fMFy zE-SvW5eg%W4$V9hDJaO9(g;dHV;F{W18sVPe9MSA7ATp4Z~tCRmK5$>RlyZJ@#f{Y z9F$QY5(X2rRP;_1%?PTJ-sN98gk9YcQUX4_xw)kEX8*tD|YU-MGWXo#5`S!QI`R zjk{}*;O_431b26LcS~>x8bV+n-tT|T+|6CjbahpA)vC3~P$X7s7`sqpzPNI-v1!&AOFU&Squ18k*= zyd@aEL&>GVe$m5aM1-2IE{x;vcq|+F!e)t(IM|!q8mY}ZAoSOtNt9u!w5^;oDh96N zgvp(~`MLkcE1H@1k=@SE+rMkivYcd`gQ}A~wKJ$pFp}kphcdUOkT3Nu*29g43Jd;R9Kvp7dM8gMc~S?YsDU7$zm*t``#SR!02M_^we(1i@ z5VmUHS2XC2pccl1jL&y?Zhf)+{}yMu?8m??mcaN|83Z+f@t&r9Md^JZ%u)3onn3Kz zTWZO+XV$IZ(=TCXSR3Gmt}UpplK#~toCBxM44ph-waZ4x+YW}5kI^CSj0*8|DThD1 zPad&-SpQ@)X*oeIB&A~5u2f*z0DD8p6+i0i55)+sLQMFWS@lt}2?ZO5(c1I~j)efS zXh*n429|^34g>`KW;LukxjL^$-4&nOmaDG)&%FDA!=56n>$PZ8$USbG9z29j#`^th z#}diqXIuHeohaV(#2=INI0{1njElt_+q6ZS+yd&cYE~7;eGI2mPC5BL zjpx=+@JZb5yH5xg_L92(;=s7%)kwF0DdIconv|-UTGP3SkS{KPq z1B#!+b*Zejs|z1q8n!EnqtrkQ9|u}|9=guoHpIk38Ew7(#7SVsHRt2_7`KGZhY^6g zZk~i~Q)HG5fkbtYg_S}Ku@n8#JcaPux#fhh_ZLN_wv5U6zb#C)vjqgk22n34PU7d3GJmcUx6F z(-iO*cq9{(zi(biZyyE$!3GR&ukA6w_^Cnd#=32RC)Va4L4~^%RsY80rt!9t{G~C0 zKs^iA3qFKVdDDW6(SOX%{y&R*4T4TH*6{lr|4*LLQwE(msExYGeu|CJ%dyk-hN2Pc zy&L7T{=T|`MpYHbs)sJ8f%{Zp11Ifx{9K4lG`atIk%lPoJ+^RA3@5QnoE`PV4{Neq z6}k(%0gZjqJz)z+JQQTWVo;UFLk=k=0~GN8o4#MIC}%OGH$c*!z6|du1YM zR3AtTacCGzg-?0GSw;D#Sa`Z=M5dy)B%2TqPxEh!be>Rfx0#bUB6EiJe%v^=ewQ-Y z=ovdbT`cF9+ncW6wZT;#j0JmUtwj>I6;orG;iI9ceF!X`XbDh9!gOJZwTZl7?Ob3t z?eV3b)Q(-M;!S+>w$3-KromH+$4Y(7@1_TK5g}oKYylWw2yNmS-XwxB3sEIDos#;Z zn@M5LCvO1=BO2m8YRb)!C1df-RG;;mSfiMbEey2j7e$w+y$^yYW1ViTT&=c!PoDpNYWix4_r6e_pC( zwWJ#(aAh(6ZI$hR>-;cC>Bu3eJGP1azV;wfMBS8S|w#SrYOn_-bWPSe)9EoBCBRx=lIIMkpie zgegGXZGD5aW+-^0U4qgBdz@0`%hy&7T$RPJYaCmkNVTEfml!882JlgCGwmAzYuLD( ziG&z6^`7p44($5_(ga;1!=NyP#uTX>eDM)RsO*Hi+7kv#cc&@rmSDYYK&Cli#6iU9 zN4Q}H*Dt$2=CsOEc>f0O$DF|xCFWK$r$r1<`T++p$1p;Sla4H2u6Q<23?o=|Q~sr% zg==$1tj`mD@=~+_zGEK>8jcYUXI-vSIMshVz^vfAcsZLFH`E74w)uxOURS4{=@hS1 zykFh;##L!udDBAL*TOIT@p#|Bem7cyXu}V`ZoA&y3VN5fcZx;h)eENEPVZyzPgxoY zoOio(=8@XJ7Q84=KOmw)TZj&pPrLPeDCX#-FUUF6LO3hrf}W43lIc``8){cy8)hO| z{)4G=4|K2YKVV%SP&NW(wxkP8-DL9h?jD*@)D@Rl&P%C&+JbZdmNpQLyQV`&${ zT!{dXIIfBxOh~64x^W27gq0OSbxmeSKs$kAAhggi=pRV z)9}Old){r&s_@RRcHq~~Wgy*cm9hayfzYHi5XiR06j&YuUhzdLN#{9Xht1PQwY)Pb5z|v0X{^ZZQFd$){Qx= z{`~uY)u8zPm(6TKSXRFWqq5r81fH~ppO{PAYZb5Q-g;A31mLc8d#iYXx$B*`1QxY< z5JlPUC7);gC75w{{gSZtCGN^Au=^+8+FoBq?&-h2^;=@A+0`9!#@iQWgOZzCklt)O zsD}5KUEb|S``^7U{qKSAQ}QpT1=Kch!4L_{+foG5k! zmzLD(*x| znWW?Rjff)G12yxSlkv>JhY($51HBtA@;2{K1J? z`>0n+_q?85`=Kev*Txe=m%VF72`%qI=2IGcdy9a|#}xM(+~!uA%bA7~6-m7881a2X z=2t1RLvBUi6Mk|D_@s~QGkjb83WAMvRrj(I0qDWVIbF3tV9DlbUkwt8dSKJ{X0-Zm z#EvL-<2(E~*MguyVNwj^C9ljpWd#BmW3NI}9(GfRPlbfc>Az|UPn6A-#h6WSKeW|N zQhT1tWZ3#LmS|R}kvz6GQQNX-KuzvndpKa1M%UbbIc|RmT>j`9HwTh(QbUn<%-$Dc z52#dx9@dfGMs5hoAwnbC2T7^c_BtzNGd!-7$M(Uc2`J`utQz~i82$VCduaTUhExD) zvIpz5a{ie}*#o>xi&#M2p$7o{ZCPNr{dgmXUo+rr~;4!zrJo(c8)FDpF4pXbd9d~^CH zPnQXi1>4dxZcQG!kV{LVkuD;g97KVq3BbEQBm434)5`C;b5b*^glt?f|8%_0jvGSI z$xv!aZZ-=S*)=Zfpa zYvb5xm7T_YMe1p$n}vOqGbWt{Za!TJo&_#2hNiMTxD1g2t0s^W#K_Kr6WBB^Nr4bp zW1@w10VF%?PlYTxvFyLK!cF9s?=-7*r~i)rYqWui2yuq2cz`0ebzj95rNA_I`z3>@ z$QxsSbE{4}vFWk`@!A=^UgfS^Kwi!2L2^{b;F|6wmCNKude)>oBgmvdISN}#+r|9# zBHDh(ekYG9+YtGf&`aXRaG2z*O&r}k34XzJn4kWbFANoI++75bSwiZEF=Yyc2I(uY z5aX%2Ff?mam2SwO7*wdBxBkEI4S?ZuS$R|CX8l%skpL>o!#4bEa}DB>Ib+lHmg8g+ ze7scqo8LQRGy-PQ?yS>ta6f(smty?%e_k%%?^S_BGinHt_ft9Uw|$qd#02+$cnN&$ zzoKn6+tEBZ~0lT6dF@smi8LOdGsCxOHsQ z5Cu1wQzaR%{i+6~drN(8TTVq)+}TI9(~T9f(OPi^v-(B;vxnPsZp}>lpTl&HgE48J z-b)=jqzyYp&ZDZN@TtolhLy>cxI8-hxP3$yxd zRyK?WF04@(AOOpIXGG=G-F$j$XY4|}I=c9(2Y8#~j1?WS!NU4@c{659q6*zL`>#J< z3=kNEBY5^|Y|3Wt57c=83uR2tQE5CdomGD(d7q^{*Iaf`-fWc4hTSZ;X zeLVX0zbME|FbtLe>#~rOaK&~ZY>GfCn-B@YQ>on|XDMZ`DQ^<87Nt3>bq*C&tLQl8cm#K zQKhaKw2b#TXMMF}176&=8Z+c=&wq}sY=5=0FTPGdzPa2-9$YMN>i?>s-Q!fh7BKMH z!w&{P1rs89uv=gNY$HP`|FeYEAS%31u!W9m#I zFP8QEQw$@j?iR5`RDKD%yzqNAVc+*8bSlMmSxIJhBnkufearU&h0O@By3fkm5*DLv zP$A~jTsqD!w5#|>0zInw=OG45rERpCq)E$>H0h6mQPIpJLq>@ip=B0LMF)|iWGxm2 zMFf;X^(4!4)YKl;M!$F-^JOf|Tzb%2zrOtmTH_!$kKF&kZAMk0)w}0W(He(j ztV-u^H`xQByT?>(`MTaGoS7^=gBDS2?XW9Zm!zP2=`Zs=meFM_o6{`*RqQN`io{yQ zpZ9c4*-2U!$4PK-6_W~nz)?ukHahtl?h9iH<m56K44p!!6-c+yc|Mx^W;!QA7?S1 zl#SnB1BIe4RRTCK@ zQiY9P8k1TtJS8GU)74VF_dw<|{H+_^Qe;g!;3i9ojR|z%W~CX)cAN)h~YC7 zrZq?N*m2G8x?`QKvTV3wpBm>*1z7*`d!s1m-->qQJ+}*q%=Nxx3(x)9CLn(bmTjGi z%(T{N!^g&UVNYH~FLgmz35zG#e$Iic6x>jl@+)WFifoi?sXv04q=ldeGfNQ4SfMmxd(!2 z13&uXrrR*R)%~f#4rAnYk^a^a2(=>4*nn9QHQ+36voma^fhu&K1=?(c=tS(g8>ede zcy1i8Y0E)vW_j$wS^4!OUW{V?Ai)5{7)vEH8-m9h( ztrZiTl6;&U2P~9bSn+YoAizTCA_7(cpjL#~3<$aO_4QC0CegNuiL?`6FaRs@sP*Jo zF767{uhWe4kJeKmR#|7 zT4%b5g@)XhuF07Q&8h!<&)*>E2g|iLMk#*jl59iM?><J$hP(k1Sp8=kE})a{a_EKk*>l>)xl^3a>%tQchx%#WHL)i& z4uNFi*?`~r@UVZ8s{+UU%fhNfJ9}8ecj`;1$M_snu5AJZkBX3~G@Hg)pD16Z^UA(! zfnSjF% z4A7D7JF@rgpgn@fD4p$!d|xys0XhwSb_3&q_A$7*+Y4_1q2^{ayS#k7u*i*$+Jw)R z9?-V#b$dSFukITNK1~VykY_iD+9dAi4)9`A@)%*nUqeWu2TGN@G%kgqC&Q~!gUY3L z3nx}_s3H{?r8S_BYl^oje1xMgj7t;8_xwzfD<2(`E}BeXlvT0kdgI*h*7S2%E^T2{ z*hKa?3H<6XqdI4}ZTQ-nN#a`S#H~8@(k!WIj#ev{%i7B@mscHVJ?Sc`kUQOZ)ZA;X z?_JHdl|XLLSQJd~Ctki`wfU}CqS*M}`Qv~phi6z3RH<_a)kYzF?e7bAEg*7e1(hFk zU37COVSaYsSKCKene$H0z8Q}bXm!12OK~`psTRQHe~yuKGwhzf3CVqQskm|Sl4Q#U zEhzvN%*BaE7W>r-fhzx3PJqF-UVUTa=2fO7NDw+l!7Ot7v;-$Q=0w|oiqak%h~&Yc z$SSb`2+7pCDa-gUjW%2Zd~??qX4C{*Q0-*h!GY4!?O7ow`Fuba$Vk@THy&sBnb?eY zJ$LeUz4EdQ zp}RB-4|a=GQh|*Uf6RnvMe}C*mnn2kyIn#*MM~ixXI~#h;7v#eeHH-xz#n6Yq*}J6 zr~vwSDOkT~Geat91*Z5@WCVy?9e*#MA4P>oYhNg(G6mBr{`OeR2YPJF)wd}@>5>va&xo7M9V?XVMd#{l7l86NyAr+}0Cvdw@hgMjgX zZOFks+It(tq5R6&5!MfCR0Sr1NQ;|Yfpt5Bwkc%3@@+!gUG|7!xS=Q5N*s)8GZ*y6TJAo)QdJ{*i#! zoodCakRI-fp~dngkmQdz&CiM%Dm9H^wgu78LD@Oq(&EK&_GxknA!Dg|axk)LECm|l zz^d2;bGjKH9#4M%j6#KRE!YycpHqbwp+7y@-;2nnqBZnz|w3!Qm7yaL094CN?<(H-Lvlr``(9C3ju~z zx%(3}4^*D|A_@dNTLw*GAv^gs=B~9rE9%zP84TXu>(Xj%T>kK{h^+`tOCe>AOr$=j zi!AYbH$tOu;w(lrEPwwkLT{}QSE3RndZ>V)>&Nti7+Q`8XfhONCRc@sfhm*PvVxJ{ zq;-OXC=o;t9}CBx#DryU_p&ae!+ldp21z>$p=yylPEJQ2P4~c=M#&d@%V<*U;}DVR zSVmorHK+qU03CN{oa%0QK)Kjg!kUT+)Q%btC}G0Qz4JmX*OOiw$_vG>YM-Nz&Wa8Bd#SRvew6-O#5 zM|w-R2z=Z=sv5JRmls9aE=9N2IR8|^*baLU1&*^^=d3yE&7*46r0qTs`ZicGU-pjm z{J^rO5c2x%D6M-hv2^_{b+gr6UGJPu4kJ`2VN6AW_s5$;X*AB{=|o?qDOG_SNgVCt z6SVys7pEVU@6t7jVg!Rh_NDsdcbVK51z48_9}tJnF#WnGxL9vQMkZ(gAR_H)Q;VQL z7ECb?6BjwE^cz0!JH{srxX|J*2sYe$`AwFmQ1WCe0Tf|}U6!YRRk{}}k8vK5&XtRp zIFW9#gF5AbKmn<-2>&iIJZQ;+C+H(Tt{33zP}gOAAl4p7;*CtC~*ELm!ZKu_%alHrB>IQGe?NkKT)=o4}ip10bDYd5(^?<-ghpCqobz znTAG4)4(4MNTullGu5OzgzD+-Y!!l#L9Qg?*EPsA!s7R2faIFT1QQ3V8OULwaOi0b-g((?Ak08Q; ztB;CmJS;jEs3{_oFRX9i{MBPuzH8A`80uq}?$iwV>j@$H{|yIbCR%94(0ipeh5j~< z68Jhw_S2LQ%gYUDYMMcc{GhK2Le>%sp{=9`LTGL#(xz9)%tS@Z4l!UOxTX=>+_VsL zFh=puCm#L4{66zd6&Hr$=YO0N8vvMPSG5OA+=0f6DzF_?H@0Y&>D3@M-D39VIQG}v z@-Vl^&rRZxZ1`FMVzPDDor#dKUzT2eLLaACU6y(JnN-iX6;|MAWN;>E9cf1(%UoPm zVm2*5fhwg1J29Ey_Uxs=Wt$~%(wyWQB;j|=zhyzLe#5cIpJdWyV6B{aa3 z_^B*M9n(+bsT2kDK;l8LE|Fnk->F9;9D&fNN<5d5;5&KUq5k&kg7wbQ{jN|E!KM|} z_gQ-%oKO7z!lU+7HF%eE&T`kB-COAlV&4eAaqb*Sl zIM9eKs$wA#*eZ!}pM#d@x@5(?RH0Vq_TZ-_*3YMw52q^}qqfhFcA$VzWfrhOHyZ|4 z)^ydHS>6kGT;m%tFkdN>f#{J4)_ye(ub1rF;AmHPL_fO3p0P96AE#S1u7y;K>{Y=& ziwaRmJP6I8lWfn%?&Jc@yc2UF6<0c4=wvg8iaM}kxnE7091iy8pU;}0g*Ic%kmrJw ze;gS3Xi!qd<3RahwJPQBgK-}Er~b9K=asBob4>4Ec^UO?yV!YnN?BR-Y*LMhuxexC z!M;L3%j3Wh=p4sqYCIscuVa--)15gNa5Jx~==@#QJ#7e^5xM88YCC4}?F0FBOU2b~ zv)OT3)W689|J>de2r}=p``BIa@T{xX@;3K(>sFoVuW4z^q}^Sqiyq@PQW^6&Rw$a7 zZp1Q7*ex>3{_T|oV`or#p_dF=wPj1@J?i@x`&xf#$+WXqS|0X!M7ST>pK_rES|4P5;#T{!a%N`p$aOk6ltmF0^YObSi||m}B~>etK?;ZPi;b z%K1?WX3V~t!iey4Vd=Y^aSlV)`3?;OnV5(qVWb9WVLnljd`d|elfS5UyekXEqfq>X zuq^lqdQd2KSP*@&TKo!q^ffpSrjA2{ft9%mvo@PrhM=&*(!e+RQ45EzKGU zXMfBlPnfN^eggs<8xR--(6O|L9@IiWRyIS-f#hiR79{BiKF-f8}lx^A!Dhrll{{ZsOh zxm*8ze{$o>wOzjC)BM&cy>|Oi8b$dRc6OC#UpfwZ@M3`NKAUu1nI+wZ#+vy;$X|if ziFNC=Ec_6$*K47dOo2RP{*G`7NGK_Q{s1IQ+Hj?ZTn4Fl@J|S=WJ^gjbCy@T?#`5n zic!>|{M$QG;Tc6~-QXw{^>y9#ci4~ek5c|_$cNRQ8X!nF$RS&HJf|E3KK4kgW%PjK zajp39CiuJ>v z)p>0pq+hd%So()&aiP{opB|fs8#rqlEzbxw9|Ulp1ij)n7TcnqzAYLwzV?SkQ{@I`wYc?$;I@n*B1mN?wKkIif00z=*s# z_$bpXDn9r`knTFpA3}&ad%obq6|<}EMct48tU0)}FnqnDRu3nELS%#GD>tY)Kb%7_ zj3ak~wr6{i&uLZlJI+a_g{r>%=Ml&ZLH;7jvM@+SR0LXNKe&YIY=yk^Kr}cFGxA5! zAS6;bNkoK&GJL~)yj<`KQnyvF_TH*a$)hdG(_$+3@i&V)iI zlum5mOplVU0;N0I6tz#Mv$aPlZN&&a-3RYJgfX6ue@p8b2WW6Pb2oJloyd$VX>_Jj{lkBa?vTjjndHk9A(^_M&eyCh|K zW#v^S{X&jz0a^JPgIQL{4fg$&@C!hM|0%8zmiahyCfW~t$RKD!JXW|CfQwlYH6>N}mi?>(nNAgXm?qU+hh%Yu0jQZhSQ%EOglrvzRVhW= ztR#W%SOQ=JKg|jP8nbB;y?3ww*RMGag3-2I{j`KGYpPFrn35`Nsv_lUK`)4qq9h|{HF$Vz3)av%|Ncd{+bqX- z@uE^P{*Cxk^ZMmu_p{TKaLHFU%d2AOs0x>oY(85i0#S;{^uY>*4yuipu?i_W(_xDd zv=Zw$P>Y*kg3iZ7o>o!#9CgX-TMh2Laz7WtKcW-gW`ES!fqX!Z}j&xhKUIk0sQ&xfKUtoaZlj9 zsf0;$Nvil^IVnQ4M_H$wen<^vtTr8;NcVK4i!9@At9R+HI4-VtGXSDPrwT35llTn$ z9$@?!u+_I?9Ym|i4dr0bqp)y=C5Pz`F9y+>&WuMatyc5nxVb#IG$W``0F^@js@UVj zKB>+5pyt{%ob5^Qc=Vhcb$5E@CMJO_(^I^+Tg!$Wk#JXkxQ=<<>HNRW z*Nu6Px)&YOwCwHvh|8{9zuKmcTb~z}&fe91r_0ps{MDRZ*-nMJxWoC=E8E(9zkMz=D55{ zUqy-#gZpO;36*_D{ywBqWkrSe071lBMC#{z(a2#I62OFadS9JZv}|r_B@_;+$jZeX zfnGz^NFm%qq0pwS5zE-^aIh94cbM{xsO z!mUBfGwA4pdpouaj?o1!I%!!GV_fH7+uhc=B3Os-{(b)2|DKO``}(zO1KY#6?ESUS zltzh9RbEQdPvS11^Jk973lJReoY=B}6a|^jiVi}R5^^K&@utj;AP)elD&O4LtPr7+ zkj$iceX?cD7x9k9WbA~Qi|Ie`YrX$|(hopK#^D;iC*L<{8lG68w?kdrv(*QZYgxbL zCVVjQvEs31ynwHpKUeWvGf+Qiy1P)HkZOQD)&-3l8h}??FPemm9ov|}1|kLB2dz^m zj;1G%QH%W|I!#g|Z^lp2`0px%6hFWq-TrQ781IqgA;f6&RD?FXIXd0_YM|u-j4(Xmi_(U7BA#Nz zVvIT)l2G8+&G7X*d}gDy=2D-2%S7;Sfu8$R$b~jB4`Kl%UuVf+h5AZk_U*uFq6#=h z;bZ5PK|GbJq@Z!n1F*0CbL>*eO!(nFDHW46e2O6lbiD*s%8Dy09VQ| zs8{uDJktN{C80n04#i4jHAYi*bV0F+XJ&^H`@KPH?g>0Tp1$hyO+Yj|@w%%u?t%wJ zC^d&FE+!|tJhnc$`moZL?oKTM#4cX^;%Xqfn$Ha?=+68Es_76QpP}_vCG+X{i6Fp3 zkbXHAAPYhZqEHVN^H^d}j;n;Wf@kR`GHU-&B^&1BGGKcTpxRA*?+s4ZFQzG8=Zy|$ zNJ}^pQgtLguuLdRKyp+%_c-_u25}z*<7BzvN6XWt32h5D4e`P_wE|rU;at+S(6&az z|NAly9oTEM@*P8Nlji*Ws~7lBnn;QYX2`$2N%1`1BYhc>s8VW@GjJO^d&Z3(J5v*vOXK!D)kCFZULA8EmsM(P73UZWRk0nEP{+|)%zlKIzP3tDs`Cy zau}VWVLTr1!PLQiVyubSr8pDS2;wS&_q3^Xs7wzLC$9G3p9JEA5p>ijbf_})x^iE*IwwG&G(i|~px;vWLs8;P zrBaJ|#>Hn7t|2h?RM>V(k(G=x6AH+dCn_2fk}9RToxg6yeRVMFNu{ufq%0bqhYQ+hg{Or29XV;d`99Ih<&t3g4)dzx); za$BJ+xpPq@*k)ypVI#SyPEnckr_i>Oa>1_wN{|H-)R&SKl_{hC+sfOINQT<(XQ&7* z6=F7;h$2%#Q~T^+r0YP^G##H|{Hu zs4Y1yLbIY@y1&f_g8iH@OjkE+^d_dBrqPaNm=9cAkCqJlt@w*p3AnP{@c+@=94mkI zeOS~O8=4ZFv}3u54#ffIMAxJe7@qIK;_)h;Tb*NZ z7DbKBQUv?%^wuK|)4Jb6s*##nOGT&9#2D(exYd!8ek-9= zeqBFiO}oFHR!(`goOo&#U95ImNeTcjx(*k-17tU!02m4bFc{3LrtuT-_yraeKzhnV zQdQZUE*Dv-?)J$A2ow>$0THrf7ZiTk1_4Q>rjxbil|Albnx#|-0|uV zD^ycI#@n^9VYfE2tjyl{Idk!);$=1TZ46`&+rGB}aaGr^s|X%=Y^qjHjZfU=%a7}+ zHd@^E;iZ}wKg`O=^GPa`!^YHy7ZpNIkUf12Q#)`}$AKY7v@$Ndi!B-=Zm?J+#aICZ zX`AiNK2~3&>RCC=IN+T{AX0iv{?~xo1;9A}m(p`hNlNOm*j)JF(iO>Ho1zUorP=hB zR?U>xv(-{+U_$V>?O+jP>{@4nRFO)?fI_oagoJ6fDLZM=--8H3h4ml6A8vt9z`E^s zib*dOPhb5BWtY^~!l;P_4PdcE6=4FsN(ZJbxn+7L&e24x{BsW1R>r>W-ZzcyRTqHs zo7vxIY`4pcL_63&sv|K}Z{~SUS$K7R_C?V3ja|21dtJAf@_My(3R0sC6z>0G*}M91 z8!nBi;%ry-E6q{H1a;%aF4#iueC3;lJaVYj@@;QY*&j~jZurHO2+UqwrkA_nT?Bo9 zr_aA`sVR|D$3ob^KtwV_HU?btW5-qdlgGJMhZ@!Yc|-LY3*#GnUYq^fKx%WgT8d(| z`BbcR_6GhtANbl1?*1>4s%bER%ankXTFMl}xRkq#8yn$8l(m^59sc@*4}v|19yYn@ z<(YdluRHPBb5E-nhw|Ue+wVh2>fGs7ls6R3M&)-~f9jVhTcty=R`0bPefIj-mF+)_ z)G@y*Z>*Fvc%Oj_wjNc=&tB|unNK)c#EmQ<-n@>dt_;VS3?A-X@5S~4+6Q%Eq8&y8 zl#e(iGpIVMIw!Kfan@-?#$Atm|kJhZb!4e?DOw07LyB3_`K%>!@6yDT)_%S&8~Je*U2qHcf9u z{>1LsjFq?Q#;spf{*53lc}Tvk%Z=0*uy?($!aSr9_ltOrvRd%I`gIlBN5aRK37+>4 z@bcowG>$4Q;0t(n5lz( z`(F$BXGK#81)|aH9PjF6>fFcs+V&CJ^loHuA4CQc2^iQ8T5Yieo{zMoNo)j`QM*J2 zO%Q7@PH49&gJ~g~=!j%;x`{lLaPGA2W~A$PyY-t(w?U^o{^eQe1?}ldOFb~Yf6j9+ zq@O`-#$=oXD^|5GuocdbZ%D5@H$&cBnjbP+`7#=r$^ySN_KFiFhjHVTa!>z2`f7v0 zeII*&>GE&?tak3#P%hS?=cL5ByW3qbB4U@PM`lzCKEG!afWd)J>tgP^e#9znMe&dc z>~#1$)m$(NrsOG=oG&mDv7KDXO?k5-@Us<20VTQOdLOO>=Hcu(W=Kj0MUua%>33`d zj_GqNy+PI(z9}w(RaUs79d!sTJe;bJVk=Pi}5yUV# z9d@9Z>=iUih7ap00+WK)IsX{aB%{yNuib8*JbF>_NE`?5Z)R7&WIZ(p&b@)XvtOKF z;%5{0|84l3-!yO{CNmbFE_CSc{+Ewz1i@gLtiG{u{B=j{3N(co#WKv(z3N%J;IF6> z`fNqkGkCzg-`Y18Xp%FzFJMmj9)=8Qzz)UXxx1Ov7jhQ)0D>0vE}!*yr=dtEPh-kO zzQ@R|R^Of&9+qcFa;$1R)!_MDEH#GL=o{?U9wv6W53|izUVMv0&#@?Yjg-@PveT?* zv=P%~EOK@v>JU>AA&HSWGk|7q4FPN+JY=PqDx39+2X&U5Q&X$p@?my zP0Do}fyp9(wO*j^O+D@GKY^+Ahhe4%A&o>edFpOoO+NVqx9)2smecx=OQ#YujksAN zp6wENNd&Pb+IQTOq0{pf@yU1W_{=bUxGi{YSxTD5wJ$3Izk4`Dl6j;69wN=VoDm&Ma!^Mk29CKaK9^b6E9C~68GFsLy znguSEwX3GMmi?O!)9OcrY7TN~H0J-axb2|N6630$I8R3a{a<0wvA4$W&soJ@=5yf~ zTR|d0Xj;{*wkN~#w6-$j81o63gz3$dXyzh zR5U5ib$dh#!9@67)V42x*A^841~CZOgzTSuiHJ&a92SJ5N-v!y1j!nOvdv7(DHR!V zik`k5H>VY?O{%{`rsvW$u~U|lIrh_Z`DK|FhWcgfC&&U-kMG z2BT_J6O#tyVHn!3B2`S-=C6yTI z%&7NTyRLQ6bG{zzP{8(ciyMB8Ta6&S*>cF+uMc$*!t#@<2q5;UbO|tbK?$bjTb_$K z_&&Ntc!AYTpwYHGR%4Rm*n%%g94Bk%cBJ8&uDrHbNr%1F|9Fp1Azu)*(f=X&E|88m zDeuYL#$r$V@*h!0#kEBw6XjN*L zHI|qThf!)ee*PjRU^&iEM}VI^nP}2r(7ErU-jO_F!fik>?UC3U*Dr+ z6!*vFRufa3lnwx}2XML9)Us)5in;qQ+Pwg9;LJ4rbU6OXN^CZK()kl~mKfgHBpkeA zTD3-u3SO+@(lS$YZfgaX|FT)Rz}Wh&>A#k&g>i`Vg%oj3tGf8BZol|P4EP;}R%Vcp zX1+Rw5}F-@v_y3~$b#^Wurlc88#3=82szx0b{1X&K9g7CO|3F}Q<_jnnveyHP_fHL zo4x;A>pCJa(t!;|4~61~UdDR2K0kisH}y2`Uq8BM4{IF_JNHi08*M}=M!nLTCQ6tH zc$X#QTV)Myvo#!Ne*PPK%&Nuv1@m3SiW~1`)>@`H;Hzf~`})nneRt~(mq2$~s=UwV z$gKJ1$l`Vz+acw={aZzea&wED~7T=r5;d*Z@sz1tiV22a}GGOrl^cnPt@4h3^EA*b1D3 zi~xuOiA$Disxq?*b1{+g!%3`gy?0r^{NL}rJdj1=9*?@_`iEH#agC3-@V_a??_6vh zG56!FW)aRWpi=6A4@_Eb@cfz(PX2Q3$D0%#A>4j;?@=xD3WedFi9G8Q1 z!~XmfCCRdR;IUl=ehv$oTSsr&`y9BvmSc@VbRyI3Dx*mhDMR)4nu&hac0QmT5gWGW z_9^v=CDmP=w$^`JVRcMlvqCyU)NglFgG^p{5de??3Mf*P-((d8-tk z-D5Fvdd+d+`{;G5moz$XqmGIuEF z{E#QwQ3iQRzo6cCPhKy%L^fz2kjSIf_J5Xe5d;mk)cU*&{ZI+h<55I!#!5@mzsmd; zw3Wu-AI!}d4AJC5Y+=+|NH}aMKA=Ci9t?|At3pAF9(q&1;D)xlh6A47T+wc%qsHoR zYTb;rXa2E(PP{ybb%kO&DdawdRjx5w&qyUWtoOs(aJ4! z?f-UeyxqfCBK+_PObY@)0Z3>XBpYtDqr++V2uU04g8x~;QX)*YUbtbBC)$rBB7`HN zkdK8fj#NvG!b$7vgHJ(SP|2`(x-Gq`O^nfu7vIb#DZ#ZEN#cniGhG?4>sFBCwEQ$eah%5K?;(u`+%avOLT(d<_o zl=Rg7&3()0)Prkwr@3cJ#@)PsuWh|&IaV4BZFsN?+}bm8oM;qTvt;^-D&2P7{jZXz zt*kmssd8D0;L1l*l<5+5H|0!f+4YRrS)Q;u{nlQM37qVJpUDP0xM6vY7JZ4n6YO#A zc0$z2E{Sixo9hJLyKu zPHGvoxmHz%FmBS<Yx7*FOZQC`u$+m54!Zg`6*-f_HWZQO4cKs&Kr2F3azvuHgANJV~ z*M9a|6;S=?aMqW=bU9+1ENNtV^3#zSOF*Q)J|Jn> zXl`DlGpmf+3m33~`4v8TO9mLc{r!h0>)CGB?-Q`-LwxW@+NPg-c@KD1jSVA}1+O$NuuRXi`BPeat-*S6 z&n#I-e|mua0$qFCy7)eDc`rE2z{bSct36JzW~=NWjz+C0v_vxkf22Xs60!gF?2$GJ zb5=m6lSsWDZN>?UanPuAm5m@Syey*3sxbT$d%zZTT|@440zEM~+~vOt5Lp!+I?P}y ziC$UTj_4i={s0$-rjh5{liuMM)~o(p>!NYws3=kmoE!g@mf<9P%;6Es=Vk?=mlV|E z(=LHM(ZCm&j0aKhM}9{imqzklvxcjWdGIilR(xdn9OenZ!YBLxbd&2XtDI{j#ZR0t=hA=VGwah-DtYxWY{!|6EZZ zSH^~vJSJary=i=*ee%j#{`b(;3$kAHmw&CpY!HmB`RXg1^rTx%)}HOj6mI1YwQCXl zLjC4SugGXmvr0N7d0)xz0*sJpDnB$dS7w-S$&O0@j4tj=J2E-$Pv}vFp5XtK7eeTwmzQC@TveUoqe{_Ul@Rhg9RBtm( z&2k0eP6CU#D?h@)e2~8e;b#Nif=$4$ZG%b49QqnY#7E4_(v6NdI6;DNUwmD`ouB8U zDgh&*GwMKH8d*l$SoS%|HC7>?D<(}*A|p1(q_jCHDs@>(?QN_3HS05>RoYi&) zgH)rq?&~b~xuP=)K90Z3Q+VCAc9WDz4i)31-;ri)vx2b~gW|Hrzxr#oPY>NjH7kz% z`1+JJ-rm!dJEV4Z6`7M-WV1Bg>(U;x=6C(-$KDmKIdpOxC_iasr1eFc4NZi=wg8aD z1!Du%&1(L4RT_I*!Wdc*l(`?mP}bI4;=$=TLgf_Uxy(_Kdt-ztImJ`vm>i6}eau*0 zi7p?j5b~D=vidIVrATS%K~e3|L?cE!IO!sf1f)#j{#iNnrUAc8aXQun6v)(WV23x2o)Yv%fi;?JthZn@ zqxHfqTK1~aG#Q*`$xIIm<2Gh~f|_)+I<{;G%36we1r=>=V)-vjpuTLdWx?l>Z4gv| zMB#;1a#S;;IVCJ65^rmnzy7V)sOWDRu7Anl004szflQfs8Fh{(m1LQRu%#hD8N1Iu zLu}=HQa3iJh0cx=@k#H(iw(wDhb0|45CR&OZk)$~`_f{%G$t&i#pD}&;3oYNdsmHS z&s0HBi_!qtaDrp1*$ISD#UvLYDA=^x5S(~%v-S(vLMMj(h=#Xbw=|A8of7asnlS+t z=v~_hoLWOJ*64oOj?E&VVC^{alc!=5k2W+S`c8q1{}6v?w#k8EZi4@>{j@TH;QDG^ zOL5PFZ;z6bOS^#KR?T+8jxvUX5f(v}0J_>4KHcxss;88=Q@l@PG%y?LMw5-O*RNzg z#ZU4SdD!7W02DlcK@gxFAXdNgv1EWaO4J~P=e6Wb94R4JODe?sV6axwg* zVund6QX6mj9}3xEEsxAB8XES1i&JyZ3pXmRY@819imF5+3$}V{$*V2;q2q@P^B1NnzGW9p0e7dD(^ZKV?@t%H9fn@iE_5`MC09$|pqA$! z*2^o_?CSBnkf&@TV>-x<>$*sqr5e_%qKjn@Q)>f1kv8v~bdkN;nFwFpGuenf|Fxt3 z2LIXUy%_Qt?H$7AVTzE7vxF1L^|DWb^&bjlfDD13{#yRUHeb11*1GKyy z(cR9<)}C;g6N(tppIEU0+{SHD(gs0@9_2rI0vJ0htyf)nKf%F?87qDptj8RktCICf z48*gZT>1wt4Bh|8Sxmqmf);upA0N~9&8=0}aCSE<2R_W;8NU9aa90-gqOl<(yV zP4Y7t?61f66J=zxy)be^IPm=#W0sM!r$u+?BHSlVz7i?^c8O1R>EUcBADjBJ3&T8v zmVooxyt^uXZf^gr`8Xr-_|s*<&8-_PuXQQAD@^AB-X(xswL&{rQI_6venh1!A&vz* z30bw>R{u%{hLL!SiT``FfrTur9JSK%;6W!l%8!v#aT@Sq1e_-O*{w0zg&SImKTm40 zG;ElTYhdS8|I{>%>ml?Kwx=t-DWz%+y*y9`jRqRd+6+i*n^TkL#bsxrqr*V$O-G$- zwB~uNTx`MHoF`NgB%~<6YI-N}3{aF=W=|)Z9p*-RCnkM;sHIwF* zlkjzuD8XLdpK^MX2?iO@Rf;%Er3tOD2%iRa3v29NXSB5|$;7P~>;c$q zJ#qSaY9KjuRTWf)MNn7@5S@l%1PvQqy4Y6H++I8;v}{`{m?4HO>w=mhJw`kSKbDc) z-GJAWR>v=_RS*CNgB0DF$ zGO!??i{w%Z->wYG!$w%Ef;YGN6+;_gtJEC6*|581IvY}=8>?ml2C#{n6ii4b5=PAN z|I1$8Vtfcyj#(k-~F=i z-@IzD8M|pkaHbNwJlVKe47uu2sY4|za6lseBUtlVS zCXDNZdnOp7s{J{Vu%qX)voEYPkWhcc_`|`z^gn$zy~Tw~8n&1XfocccwgU^H$AJlh zB0c}O_f~<;m3OHNHITn?rK?UNt)D>A!`YAX_6wiLaoevybMt5U$Pfuzg$p#vV>D3e zt~wXxA_;MEWaFUlP{r(DSkWBO0qkbOO+#Y3P{bheb%&DXcO;!I=0Z8W#VX`QSsY9OSl8TU|2%HbD|fml9&Vs6g2G86bS9w z!uel(hJfNv%V0a=PV}kGC6m*OF|{H9ak*^*VuShTw*6@;`_ID54yg8Ctpc9LcMciC z-IQp@E4PZ}a(8f(j7?VX9ht7Tn^ULpaGzP!?chC|ln+i}wHr>>#ps8D*uWZ>>X2Qr zl<&vDih*xse&Ounx2Fha!8DjJgVZIiJBLzj_X^^Vj`478gc4I)4zRXG>*PpjYv9MhrvhgcLwmkXBM{GFL z07J_@`O68YRx-VDSK!-!<#PB2-lc1u(mC}8Sa4{co-k0s`i-lFilts%#w~p*xC>cG ztitvPB&13B2=?@pD5T%O8=GN_scg}XoZWfDRaU>xRYA}tmZ~&u8ycC!yqtc_8S?!0 z)~Unxppf=Trpk)%Ho5DiT)T{2u!wC$_!5Rb#sZzsp)=zHIx9 z^S|Ofk+uc%zc|b)NyKyU&fN>8>I?65?~=n^29&KjB}dte^*ZIp zx*!I9)@-8DBcQK~?BX;+>t2CWXYE(1E_Ge+X{QwBMfeWbJZs$FY;1fC8tLF8y;ZHe z+Jp3`|IE7rZFORy$9~|VW^$1~Ne;*9MX=7#3s#rpt7r+9gch*s<;8>+oxDk<82`y*fGk{F@3q&{MZWi zl0RrY&baeaKTO@C#DEH0)U^j>?aYL72c(Bw+B3?=TJt8=ls8qJHYVG5tQwtxH_m&M z7OYTFGFbPooidWNDWfFV@8qxM4dYF1Pt;*vNVS4mPf7^lqKC*aX1>#-Os+EZ^N=GN zY=B=|)j;-7Yc!5qqTRWh6QfuGydxD`sqW8epQT5XMoe>*l**c75d955e`&YCjs8sF zKKlmWyqDU>MW4Rb^#10%ZCgFl3EqFqX%z{&JIHar>3tq)!Y+LQay~n?1iO0+Y|8x} zHj_?|w^CQqyvBS#?!rS6Bp{3%8w!$n9Muoc{bzBI%2dHx^4`>Iul3%k0|0OHk_OCFvQ?IOk<+SWU$*jLC z#Av^K861rkTaQ=SL`&->CNkK7p_=g$6xx@tXp^wq{o)s!65`6E0x?&k)-V~-uFtD- zb9b=aB(~+JZ`vWwi{wM=I8a}-HJT!%`(jtj8U9Ffku|3v2`ZDYfZ5NG&_#YaVaoAb z8x59OZZq6I6AV%#x8Lv_=rE)NcP=(K^At~6P~f6;pr?8Iildtj!Es~WrAO!3ScR)t z;@h7;82Q6@V+PvtrEjXAeC4AL`JJho%?#D;M#X}lO3cwX0h7x~*;AFoShzj&=5MhZ zD%&_ByJrZ?6mkiV$Z2RG4XtU-GEph&R<;@ew4&LR<87{>PqmfwCWErRYWGa!Pe#2d zvqU#I6WJDx9-CU7+FOIISD>f!#8_Dwn(S zV*10VI=Hh^p4oM?fD=AqM1Yp!S91|GRj@oN2mCU$6DBDg3H2zB)QWV%inu3M)w$bk?Rw|geAPZki~Dar7c^kzLOa}>7SXgRys zwI>nGq!8-z*PUmYJW(hWOy(Q5tynl(TlvWD_fWQ;njb*O+Z51Ls3i`XbD@-J`#lH2 z*9PdWm2HEbG3;^F{3T@aUpeg~j{-uT(fkf00?FC+CtlbAS_Lui$)f!Ox5#j>ZJ>1y!Z z{<4Zwvm5!qVE7TPJ2bZErs7rRLV&@*EQ47#V42}8qG7zjaaDj}mLZRWE#>qL{1nK| zDG0k{L8emqMysmGu+CRe>Gi}Qd9)S5Xoe_Pb}~>}IdN2w`f>Akhh%BS#5!o-!{~h2 z8KGpLSg$hUmlbnj|E7Okm>=aposIq(&MFSH>_;3>B!SNUximE4C#wuKcbw#QW`(7< z2Cgz~97*y#8?zX#;S`jk`>vy0a3;_m7W6OnKuFwYtXBNxNM!?SI#ukT1GP|c)UHYi z7=fJU0fnd#*>j1bevlY4ydXQfPf8~&y*Yp`RLx^+OhVFJT!kq~{q(!Y`|F5ZQ)?9T zg+#Glte;-pQ-fq$j>eC?m%x`+4WS*!3V;UJ8-W^?5eA8Y z7XG}++Vxc1rAFO*+s~c2bhiAXaJHNgZ+F@2sD3j7gVYKuTAE3q;7^^Ndcc5!K)jrl zaybf22-Pgps)h!>JV*b}b@FMgYA*iZ2|gPKgugx=qE-y-GQ%$T`R2F2UFRp?9V7qC zM%Xu9&3eGKE-&uFtgT!yTX!RgLy&;)w%p#xsmR*%GO5;qZGJvM=x1>|+fEwB zh;p-t5sqS|jg-y8_B9Ls!l#ne@v49y4-Rc1$IJYEJGH->OeG`>q__K|qLE!KWbj?x zaDN?MbMvE{CJyQjBmFm7Qlm|r?!F=th1UKEE`J&CmpGSk8A7dvkU|PTkd7V0Xl&Nf zp0k;SU3py zntex&!gYoP>^7d**QhWve0MewEGl2%QCIt4rF{#b)HYpyl_3@U!qh2h2Mo|;Nz%9` zU$0DPwi79hK1%*ipQuW?&p6CG-zBR@^uy(2@8hEu{I1&vPC37~`;b)e=0Y|f%u*~| zP}9>hB94d&Wh~^Osy0-;>fM@TfRAf!W-oY3F5zp^n>TuZM*kmmIg$zM z3JKRw20{rb`3qC#@ifwp@7ZH>eN_%dObJ}fC2!p z0Z^WKSa4=gaT(n}LPTm7f%x&RLu9MQR*esNoIJsSi>wzLy%xG-B>N-x%a$1oS=m=}6f#u_2EbNelpjFaa6_ z7`)urN=9LnC)n7Ajp*2_jF|T9w5o(w1C_l&9wq494U!a;?Bp8AblSWfWI&kYv{-kDV=6ymv0@5G_sPslq6l z_0Pu^G15i#-G>smFie>ZfSm+)AgKVk&%0Ma)NvKM~^m;fP5Q`ID zvIAh*1we)d1jD-=R=2_g@d>P#8!35yhLDQIqAYt<73wY<(mt}#1ax{?ARch%*tiA2 zl6Vp1kB4xYm4G zXG?BIoJ^KM>&m$jgfKp_i5;|Hi}|wOq+wgp=+e*{q zO}wRWGAMc@*_huMe%l^-BD&g-hw3LZaL^WGBrym}bO{+2S}N)v89&iwijkzrW@7b{ z%PkrwcISXF6DvgY)Ktx_v@*_*U$~+Hl-2)2!g3Idp^c`$3Xi;|G-13jn*x?zj@Fg1 zhg}fKMfX$un{QFC82{+sKcnrBdroFeUl|LD8)+6jmqTznX(v`&wW~FIXq!yg`wXq= zlPU5r1({4H^Pa$VXM^MT{J~|U8__)ZXx#I*GOU*9{sW;~;J-NLu!I7Z?$4_oQK2~E zY2xr=S$o;pGW_NOG{TRyR?)d*|x!S zZ8_+Tupgp!Ebf>{*2r?lKKl1trMFc_P*97vwCi$7MGTuNFzJb{E0+}}8N!ekxgJKE zPFjR}{GM}FLd;IWvF=PiuySeOpM5GAbNyR+RdkUz+Oi8xM@{`9#l&gqg!qu7!spG= z*6c9+BYgsotPmgpq<=E9evpe^Wj_7rdwnsE@1r8tfB`9I(za;ZKDPS(K%&rK(Wr9+ z>AUKS_tJ*0-4q|*Uf9GRIajkT@{~rlpapHL+Wsa}&$Lvy6=X)8K?r4%GA@C?af|YB zEna&GdKoaQbmHXOGT?XmwI`LC8!J9%UjD~Y=AuVi2qW_=a!cC08APVTK~pxb+>EvaQAoG*|GeW=SMY&P#$F>X+YebZDV z0??2ba~5RhL{{fL$em(6#EWb>yNIn6lHT!iU7i_5J@jRgpgf~Xn8JF9v0!EeE;&i_hrYiv~L0T3a%lsy%T36y;UidohEaRRh+)UL3tEMPJo*CuNC?Lz@Qs0`>T-1d)QtC+QSE85u|8b zb$c=R=P-yw#J}l1WbrZ*@d-VGud3VwKCThU;OM_bhdgh}1%C;mB4Pg(^iD&LoCuW^ zB*#9A1RN`Y&Ot)XudX2E_=7`T^}?C}`|*=QnnLP>m-Idx5FR#_y8E>1VZ%TFXeb^r z5ZfOp9IwI$hwg;4MvkIe+GHq8Ql3Yn|<|~MZL(e`qsp~e+=(C2^ZZx1kaY?RV6#d7Uo~ogP*|01s zc?N&xfl+$b zB32L`gI0e}i^<8(4a5edz_wQ-qJL9FA_~PM9ul{`(2h%m(TUu?TN|Wy-_d`rhf$O2 zOuHZRF=p&;9RaT&I($k^Ck~nC-Wbs=;Ii%aV1`IY(+-Erue2MIuR98Ucc;#)mGKH1+J{X*ApZH;`)8%6fL73?!H!{a*w(oI0X}q!#Z#vQGtC$rB;!qT; zT{o;3E|Jl{m&gCX&SY0+A-F}!caMa!$f17)Z?T(bKZ3zt!$!um41K(hQ69V#(f2WO z`o@=uHR)S8~#Kfk=67l%pS{QW(`d)!Dr^T8HESi!!l??G7I1kYRN7kmS zI;}l3dRZ?1+#-)Bn+{|E9CoYDede3TY(DYdACBj`7@Vb0xRl+G2}>V+EFat95EPFU zo&RA87*Lau)C2{EEf4ZDH}9Zu6VoVyJ{m-2Pr|S8=>@K;!lEHVBSr9$0FEWq-~*mx zG$Xz}71qrECFI)q>S#aiN0n{Ro!iVaIikCuk-L=1{gu#a35|zW;G|4D_Yhc~KOCfq`wf=-tG~ zoUCd0$(GE$5o+XKK2Tt44~wv?DFgEH}LfI39c> z;DUTx@g2YVU_X)t$9zEunJZqLQBMQpBeAWomwDs6))TjUEzaD383PxJ$rAjbK$+2D zqmvfMqdj>1Y1|Fw>&^D>9$DGo;h$!s=+x}!7np3t^ohaDMk~bpiLwxiw|E$Q6*l+J zdh*)SyMD1%1y~d`QVJjjISW*?zO{Q~_T^)HC9`QBkeyW_%KK$tH|i(K@Po}Nop{m5 zrX*8w5Un$;YFDO5wj9k5bAp@usoL2#1JbVCRvl6M<<`sUW-eX?1zQ!EnPjS&G?EG}Lo3#Pne;UU3a8c00|8B_!=ZyQ z!DKbi0`x;#kcqcuIdw$s=PMJb)0{6~SM@WY-nG#dhvEG~_AA(_+a5>j0LS$i8^Vz% z%$2vGffkwuHQbyPFPEjl17&eZ- z%2mU9Wk6CzKxDLQhv7-UibL|9b9#3$*^ya5lTC?7@hm~|#TFoe{FTFdnDF9hy*e`8%yziOR zS%;y~c!tAbV!8xA|NRc{(w~?|MNl9jq$_QM&+E^TlY)I;I^8~AmNyl~VIjpiKVgKY zR8G{BKTeGdN#SHRHgXc_!VWmCA7}2O+ev_9esPqcM3+5F8tT0?{JvIp`!#oCcUV{Y zm}%z#-vJi|WIZ&ddUJ%H7B@Zsat+2(XdKd~64vd^VabF7gaOeJWNZj_V|~D1Fwjs_ zH(xbOIQ9F=vQ{Jd996sgy-_>{L5s1aAkiqzu8;J&d8zCx?*2dL9U5qWVH z8UCgkfgH_Znjf)UExNM*j>=99YWxq;RTt!$x;!u-DM>BXUz`VmrGSbJN1FwC^KPvJ z=ePuh|7<6%!Ju>hBlU@_NM1g+}eVFYYfUy2 zoooM`0zy^yiWA%qGkcPYM!zSAhASWd;PRhio7!V+uayiX3Ba>yA1y!67 z{zyYtyJJ)9#L?)F0k@!2v26e>erg^LilcMMdTn-nDZL<5v$FEd(uKhJ9ug-8M)QA{ zF?0G!f6(ak{EC8(sZ?Z1p-B?A7_cX=IppWG&lT0LR`P{XK4x}_)a0Gi6(h%K_@M!) z03dP9nM^|rPER;}aKZV(lL{)%-1Zi^+_}V^dNRbz;&A~!dQg4B3d>DDuu7F zI}Fn(^n~}&;u_Msjq=Q7y#I{)LzelfIo^iywDOoeXQ79usAb`@JV?3q*Nx#oB6?gH{g32vU8bD{V22|0Q)J2Olh_a<|-k*i@YpGK0T; z2e@vu3r@z7QZ8d00>%I2clyiyOx3dy9%D7AfrkATdsYEyE2iuIioA?Mp>oeQ$O4$} zg;rM_XuoO^%4d?BknO=?xtNNhB~D0 zRr)P*@87Yez9!53iE~(fZOy3QVj`SQ-tE=ps;ZrxBGR$ zseOWw5pfx#F7DuxN=Z&lzN|^PO87ho0EF)62XgTrWo%Cz2GbiuBy@e?Yn$+^HEbtRoR=)nj8V7l(D_2F66HfjrY%utD{H_d9B zwgI<+Y?B0}AJ{URMFKerhVJ80#-9-P9dm*#l!ZV}MiiE=7!FC&(R+M8XLWX*cVaC` z?YObh6MrOsK3*lqS@^dq><&FxbgZapv$FA!9(pJAPFB?=RgAyH@l$3Hu(for)t^lAx>oo@i9!CBUyGh$CFRZi- zldDo3+skD7%Fv$f-gXufCQb#99?xfL(|OkM#c5TC)T?+xO`?gG9Q%U>wfN{|BXzv^ z&kkG*l?-#wOkkQ$6RYmrmw3wzZW-D<-d}sQrD)72<&oHb`>0D(4Lt7Uzj*kW8pn5} zx3LZEIJVH}y;>ZYR(v+ahXA6vI^Hrjog|c9biTFF&DkkpDeP@yt|L!6Csdjn3s%({q9ltZ5$>^dFX=QX66j2Lm}yDNVFr z0n7-7bFJOEU&=gUL&IReu5b^IOly`u3sR7|yPI{4bm|4Yv&wo0{l0X=*;N)}tZ{HF zX)w!@^s$4(5Y?jM)IF0BWsZBs-raHKK6tL~Zv+{rn7w6HECnL2o7y&4PHWdZQ%oVx zNM2O4xwBP0%+M{Fv-eyzOsU%w&piYP?yWQO<^+}Ukh6*{sxT&4d3`ZC8p;%X6?mIq zQp;E#WY~52ECk-u0jEnZ_Pu^=hRASou@gLYDg3{yf+noiAW{PI0+#jx92Xo|ZW(4* z)C(1h7#BR`y~{fmJeUQ309m7Zbk{~GsR#^-ur|`6enEvI#{-{5CX1EC8%HJT&Ff6B zEVIADta97M87oMrs0$MU^(2R*a#$wyZvDS8t!)602X?Ve@)#lsdeu@&!}U6#f$!?F zu`-_DHxNO}f!t&<%7UYvS!wnlQUBWM^4g)d2mWy<`ckSot(l7O-qz-ohutu&HqE(jIzACJpNJ?0 zYu=U`jGkAY$WnHQ8EA!`w}9?v^_=yB_fwGaN2e~XK~CN0Pw3s#3_lI%I|$@=(P9gioSLy%qm1)0QZX<`(mYbGU!zzjwbs zS3oS=w3e!nr!~hz<)I$K5C!v)mCXhl@_tI#TLSOBWEq9iVsKN?@n*}d{ie}k5ExL3 zg3>ieV^9Xh)Ifi-uIw*YE*^89(oUsd0EYi_)#o4>JR6-?HqI9rOFvOlB|Xd$h$XPQ zRia>=yk}LG9MFdx@ZlPabwat*{C>I<+$I+kSFQD^bw#&~QybM4-~@Wpm#H1^^Iw{; zSjz0>M1HmWReuRIvO%;7XvCX(N(ZvXINK~u<>&*y1D zjwLv2i)_co`3xL>yuxO>1}6hL@JNd2aKwUwP3w7r6c-;yvtwa#5&&L)GU8leP>gVG zD1T~%LwTB-)H+7tN*4zXRw9wltLb<=idnFtr>JB2n?RV0a6IWA+3Vx&(~8ZQa=QsU zrZ#gCjE(Jlgl@eGmmjw>Cgq#$Qe&4LYvbD&HB8M->S7bjJ6{FOb4*+qd0wX8+ARoC z;|u|S|6nl+pSI5Iws)6?CH7-ML|ta~*(gH+*0PVx1waX1W#F(sfBGKyqdOuUQt2FY zg^Pm0V4HOPtNt7@GEcYOnePaUdb$%PbpKp+IS908yXKF~ElUUT6GTJA!4k+Zs9~Qo zy}~%zNfjq%q4!8;mVmi48s)CQ#As}*StJR}=$^DPr!?<>(az|rFs>+&$1)(CinLRJ zld_1+Rl;%diY4;>;&*tzq%KRm|5}n7GP(Tp+}q~A>9Uc||321Kob3BezwC{qEn^e> z>EmreJ$C1Z#d2i{b#K6Qo6tO%^eTorm9^&;03b#T z00>MgKTfkVgwYhSGsB0aI41H0!TO>!Cj-jI$b1srvB0Ycb%)?T7TF4+x(f1)<3BKW zoRQ<+uxP>A4K$Fy@$XULC}cIe0xBE95G|lieuofro6Sl7@)|tl;)q7Rj+YsS^swAQcnc(hS0ajQ?7MBvd)niSW^W| zY9L^VC5wK_3U_+)e|6eu7Lu(DT}S$#!v>)PQ0Z=_jHnpPFL8gNsMf@^-RLi6)scPv z5dSqTH#NI0t^EH>dITp0LGG>?*sbM8osCPF!?wucBk^JiQs}}W)5_Y$Y$~Lti*@)t z+02X>%N$4`y8r;zBr_qQ>lEbEC$c;s!86j8~j5f$nK$#)2A`pZ48_vE5k0&OuBh?KPx9_*+ z7#m`N!jP~~s1#i>;UmoCg%V6jKzFryq|6gTBN3oGUuFfNZ+7!P>c5*vpd(?o-s;Tl zhLKY`AcoOVJS};G(#;E6sAXEX^27bbVmqJd+Fdr<6FW19gouBrDA%WDr8G}J;-yD$ z0Bh&@uqv8=7t91~>@LneOqhtHP5%M_Stf0W;c)A@U~qqnSkv)gv{o>z^k8q z4VAs0qpZNC;-sWw&iUu68$mo|RtrmtJc)vo9Wk~)Z6Ls(-c`dwK>{KjMaV#|!AKB% z*ykwu0?Rl&Bz@w$9mWX!MDuWHG{B*j=B2(>+0;c@7N+ z%EVprZ4w?c63#43q>8Gn@4aqq&|TQrc)TrJMSWa!w^ESz zvhZV3D1ZIWq(g(yU%oGg#N%ZvzMU8 zKoNs=5(*yBcUFK3fT(D7TsrD5Fl03yb_*GQqmBdxLXwGB8ip8`8g$*3!3+#YOzg3D z6nThBe_z>i#3ED_R|;`YM0t{fEh?uJ!^doFH1W5?%wyD_4P*@^J1$OFpS=s!oc9nY zzR9G~YnjaGUrP)B%c@W?wpKd+47^obA$C2MDtcJ0IY!qdJ{7?TRbT&0Bd2W~&E`_? zb>!SEe)B6{;I-O*=${)8@cmIKzvp6NU*|%)DStA=_K1FeP=-_ursVwUXpRz@f8*wo zMmu`iKAFDrGFd0JFyIc^EChfbh`)GMr2(qk9?@tNIaJzmEdq_H0Mw@=+4rg+9>k!% zliKxmQWNp{GdLCevD0r=f}W#fdFkVdLk49y9LFD)onArzUy+1p2(|EM@hkU8npH)a ztIYDFXepkKQQA)iE;v;z!#B;NorI}&n$kZ;ZPzHJ8z;rhXOUfIgiM?KSgXz|SfcRo zjrmq(mhmSxni~4NK3oFhFWRR%6kqq?2OT0SHd|=!E{Hd>tT&muh92lNV!EYWW0$nn zinmG@7aFzX*tDCmgP`b}$Pj{%a#}F9)|sK7uv+s+;NIjihip*29+n6smUd5_rA1eIHe@k3&HUs!rgb!2 ziAo9!t90NHE1)C~h7G~a&4^MKMDkYA@H{1Q@ccu(mU~2GxmLVToA=;+HKRA~d|_~= z&e4G)0-O69?zF2hT8t~ZVbb{+@4}hmO+m0F;3B2Gh*HhwCI&!I6ANque3F1iZ-@fi z>td7j7#B0(s4umaRcqTX=q0XDZ+-le3d&eYQnd{_Wg)jrWU>K2dP}f0SaxonTK=+3 z=0vj=`-0`wChN8$i>}z4fjB7Qnzo{V!Yyn{g@6!MqD>P2$ERgM*vXHm#&>0ws1>9( zdi?VSzVKU$*QpzWSBtX znh(7Q+~KNa?jK=&ZJV=M`>-T~!fco-!FTzn@+6TFyIc_ky-U3Wfd(bK^(8s@9}NX+ zW41FLxk&O%8X+a{3NCC^WR&TKdN{gXR_%PtM)oDo8*%R`kEkNH1f-@T0@J@dMJx&$ z%_NV@h>00*dj!CoPw#*`@*PSZ`>63LAwq8~_z`*374XizF2l% zQUN63h~I!v6Vl8IS~9qiP|~T}$n{Olvm0D80+?pee_=`4r!W=ufx+jjqrt9BD>M9t zruEE8y~3_ZH@XW|e-?G|meANG8DSNdTT5And+bTd`EtcS~6YWAti;}Ne2h1zcqI1e;3a6)4iBq%syG^Rc#@(XvwWHd(=EnyO53j>K z&n!QhTo~T14i0_99yG|!lbLu4+7A6}zTGpQBiH45jROGi*pzSpl>0_#Wc(T-d0kb} zplD9#F(VbQb_W`E5RxYXaw@N6qE#Rm{16@u_N)(~qXtgZCc7PlW>Rp=;uo4*F46|D ze?~ynlT2CQSJg+>xP}VvR3ZBHV;>d-9d@s%e;?cb=d#IPH@}(q>knf+izf;7HjD3u zEW8(knZIo(oU<4$y*=avY_DbbE(R;AB2%6Yow}tj53Zk|02nP5walFU+v?&ed&BwWExYMZ6U7Vw@Pp9Au)*rS(Av3I{0&DB5n9qN z5X!FX@x=o8fmz|YqAJKb-kKx=*B1jAuH~|munuxdJlEezn*Qse(ux@I`~zZz)i)thlHq^5gLJZJiw7=Y}IpD!}R*9QESVMdt>RANqcrx^%CCd_lGh)| zL7*K>TnbAb7_}62V9F6BILoEU6nbu1+M?D9y=VS(Q-^y-h|8f*jBTfW=4~z@Ezu|j ze*athzuRfELDAB(~@hdEjp`GiiG=j_J4GxcnhesJ6>%@^=s}%;Yrz|kuj{tMQ7E?`R?1tY2)lv zDT*SbbTG{p+UqztR-S5hi9Xo;lNPi`ou@~=T{clAm}M!*$V>HS003Em3>^o~?#K1x z!$%8rg)%Ec)?uCmzL=bBKT)y+8EGyS0K?4f2Nk+G_1eo2Ly&tx{|crf-v6=mRZ(%Y zU9$rWE*ae2-8HzoySqEV3GVJraF^f&cXxLQ?gRqC;mrG;e{N>2xti{--uBe4ivOYe zYbdz@UWiHE*Li7jYG&jxP#EG1c7^%0zK4zqNu-;uJC3p(eBTqd(DRK+w|Dn@)QDiB zu69P^!?6kX(Tu8h^a`v-)0KquiuoXWzRq%Nd;BV2%HvI5Zd~T(&5qe_ZF#_}19zSM zE_lL;N&@5(_P%iE%TulgnP`Ru4`OHHVgXwKVeR`_u=34higs6BLIuU;$YR?>nNz z6$Vy7eYMI>QIaI_4uAf}&Dk-%9TCn5*%;BiZdZ5jU8|pZ^&H>F*aXT7{dx~-GriDE zGr#6%y43kdP*&qr8S~DUSK?8=TIb+aWmu)_N;{*tKD^($zh|6Co9n9`h2KbJu8G&G zc<|*a?2QzZqv7v#~n5sokedc5T31|Z_ETfRKJkm{4(S?!=oK3t! z5Yhjv3{Qzq=hCdviPKTR;7JqWhXQqhqOd`Z^pDwwCej(Tvue%cuJ4a&>?qLYs0RPZ zT(1Tq97W83I2l7)l6U-^J_X_8E^ED429i9Y&;>L)1EGu{kgK*hoNQ-M$tMR{=YF8fHyCh>FQ>_{bEDQ1Ku1xJH=F=1RwoZ*cSOOml{eOuspZVqB9 zz>3Xg*g4@ zq$qbOJX8B7%se*pdG92PG6b^3@&r z#kO2j*h~~KmsDP2T?OeFCCQ8yR#?GfUXKf3-{lmm^WabEu6HUf3L>G; zt+eMWtFN%i_JGlSoraNS{fUB*N=}U>^t|GKkKr0m!iO-nB`-33ywkUp2;$dPFE>>$ zBHVHr+zLh@C`upwsxmL9Id#A+i8YT}*5a6N4>0scpVZ}2YCWHy&*}kk-a?<}5iTa0tWco1_Q4#E zQ79CJeMsSPgfae14HmeHRK5KhS_}eoP6D6=^inj z3pvzW$Rkp=RNQ#*+7onRX;*9s0@RDP`5c#7OXDe!)V!1sa$lCvC#GvdHxDxLs{X6! zX8_P*Hkx3i4j#qg4kz=UrI-qZdY4_xCPeXc0)aiTMQbAgcMcRtFf^9(H0c5qE?FGy z)|!Znm!8Gw^6-Tw`PT-up6zmNxhyPIKK!-G%!bK^pF3A^Lt*(_N@}fN=RK8v{sUXW z2`EwdkcELrIanZtX z2eGV_ml>AaciLE9q;$?0H9sSpEsRRTe@~-rA@n&mK>9@57xK;N4+zQ^fu_C(E-6ns z#2t5{(BYTIcJ;&Os_^aw`7_m9Y?DQKnv*(dW-?wRm8^_n_(%su)fk>j`Yn_;OJc>FDmEb1^4!UUDMLf?(ovnpNYt5H?fY`y?#Xa|5Wuj{tBVLt2G)N0 z=XlgD8Tr?HBSzKXj*x1v;z~|4Uxv_Ymf{O<&;Htq6u+Q}`jqNH-K%tV*9j%JDAi^x z+_GX(=Sqz7T5joDM>3HdCUSjE3?7vUQb8D0Hgzgr4X1^CU5Y~k$>S#j2uvAp2DJW% zgsDL21{?KPc10YfknEc;keHa2`C6A*{CmGqtSZy;?9Xj&N(gVGWPhk7sv`xnZ5#=E z4DMRic%4EFuD5h>-hKI$?YDk>+5W$f-1e~Cs;sK!0dub!5Pidfyq8rq#TsOj#^A7xS?KoY=q8yWMNTdYHCwa_!^c^Serr{*aq?Sz z)9k!kP=QbQtP}cpeGEf9#=N;=ZblaHT6xB&xBoSrZl~|c%qVHM=MXL9B5&0>ETJY^ zWO&Tp*%07!FWB%RD*-dUb)+K2f)Y2Kk@U~)mDxGU(ZMBYBGT^m6!yRy!L-c*nog$ z2Rq?1bMo**wWrve=%9}mgU2w-#>LU)XF-+n7=@7HYKT~fEXkm|1s(2)AajQxLn{2^ z3Zu3%o9yXnMLut?BB(O9Cdf0eK*jB?O&cX6R{QF*{T5Osx0BJWzJ2bnfCSV!jipQ8 z0Ge&gW~$v8!&lMIl1*PIHeJ7nRDtU#{JEQtDq#o!)E)qUux!<0HV7l~kNM9C@C#R(-ZVoZ zQA9J>#plQ200$W=9vw)AFlpupB8xzzklTb%co=FzwXtFXAqnZ(u>!KPqaGUla`?=6 zf(w_fiw;?-O-YlMz9hS3r`Lsh7ClI{P;)@UPA z&%O+z(WsJ}hFk3Oa)dN)q8B`%p~OsgR#jtz)lZgN$!di_k|DvdDOVmyG)0MJ$#)R= zMKM7*^_)f%aonWl%75WChZU)2YCvb|q;z_NtYNin=3Ss$Z|s6<6Xeu!o%LU3`UHT+ z05_4~>_ADLjcgLfiOCC|otJEpOvabnq>k%PAAHx#fW!DjY4JiY$GU?*a^xPQSXLaz zc2up{q{lML*?4Cl??pzvyOqW4QHJ7A54;qq+R@=)4x+ zqQ~$HKO__qA@hqP*aQ5e*MckngkXb~OKH{W{hcgFn=1O=r}v{9@SS;EVX_W_ z$m-UUo_Y2wz9l330p*I``mCpXD?K73Zm9HeX@zH8^`DLE4f?HPf(>fQWOEV#BqZq= z`pXV0nr3v8rom4fb7k^xp5^i6rpB$1-WnWjQfi-{(h)=-BCm9{Niq(NieaKs?WhcVc|vaW|4y4A%0+U9s{%>6)bNUS3W9}4NbP}(j{8G zZ2r{&9}RDh&$ymw9GoCGo18q$91-#QL4u5eVNp;^pvE}B`Cy!EB>4zpJY=jje!)*Y z6ZsEfY&_{G%FE``lELrGufO_>pX9=^xxoq*^-_*-=2Y6go^=bQ2_eN29aNbQELNOB zka4N-c+zof&O;a(QJ-=FLQNi)x!GIe&&WznVKcRF2fWl-s*A3rKY#1+HZ3$?WBC3f zkN*4nFTNYI6GwRk?eUAxm@9q2_qX_3GgRTpQX-KMhIqJ0%FV4Ct80vio=`)w8Uqd7 zKce3QK2y10;^@+X)HTE~mZN31$Q@;~JYur}dm%R8OzT4$=TKv$^J&?(GXHx(TY(tc zdMg*qoP2Z#m2Kt`XRjl>VO!zhbgoQPk6JwvCS5edBm# zH4*A!oe6PF>v$TxBq_7vPmbI@g~c+>+yb_O7bTPYHXLM1u2yhx7{VWKJu3GkiR(L5 z5)TEk$2!Qj=vX88$NCFZdF3(KC&EL=wSTO#!3ZDJ_lS#Ho$;4v)+-+oYC{DAlzYQ5 zzwRLyK!O@v;S{SjD;_AuvGVsX%B5>Hve0aIDi3Jnp;46jlUpM=NY6nSVY$ z6bhbtxGl{m7%!~(F+RF1Y3xwW+Y+y+GX2*4 z>T&g=2?qg(0?3nw!mOtFK}m>j#h6^VezE0f}!yvPc zZVDxS}>$?KsX=Xp=` z<;C}h$bZrjbKQ-N7rx({nve3M8lZDjBz^tmc#8^(965o@>4l<08=+gZ(=v+%!Zq#^ zE;QAsH27G}5Q!j~&zQ$O{A@}csJsB?$)f}d$=~VR-5rn(c2A%dmjL`QqH_4~vVe2f zlZSxM&p(En0gKNFf6Y@_jrlJ!l}(kgsLabY z=1ys62aD~F!@gVX9lk5|quSc5zbCcLte6~`DEwXZ^r9aIwi8Zp-Q`|H4wO<&*_6Zh zF1@V~Zodh>1@^Vp`}r)h<_@piov>9-q>3Ro0^+3CDuS-*8poBXumt(sOwOS*_`PMq z!B+s_A%W_+fj2fOjx-KUj*w`vK!GWV>5cxYw#h#F{2RD!#THXs`(JtW0fecrUX=5a zcm7&>-obB`g2Nc56nBQ&UzSPRQr^-fCjHisp=qOYr)M@>riJu7$sWZX)ohhmX)!t{ zh6g%W=ZqiHoY2Wqw@O4>@4EU00||nJRQxp{;P7*}UFg%G;J<%Et}U#J)kDQYg-wHj z%?g=pCB}@vx(9FxBq00}RMMv+wL%C*%`y^iQn+xqZ-dmZ=9ARl*YzpLJXBk{W#VG^ z@DNd@={{`i8N=sgD@yB@HZ9>_c2axbaTRy{BZqnN+GBL-$mZSYlkno#QEDn_V<+L^ z*KG$ESDHDqYVBsc_DfEz2|MhdVFJ>G-=U!;R}kdl?ih(vw`LWVoKCpyWpj-U)KTZo8axcO{6hlfH^?vTgvRJTJeZTz8)kA1`64)QK-Trx8`(_{g4P5 z)g6Ot*^~Wu*>y_oY+>h)m2N7|H#mgM99vVX8DoLEri;giZaX0%+?Uo$5*r>vkn6SY zE%o)Mr|0w4WFLT^AeWzl4Z(6xtdvIEoQ*V=iopZY9{NizNpn|)C=D@9B0vIR2xI}c zAy<&rJtyQs{-VhX#S3vE~_~u_vZWgDGb6{$n4mDm> z_R^&I1uX}bOI8I%%8n`&4mF~q0f;_y=w2bQ$drdQaa$ zJV{uQKyY?0`uPkLh) z3X}EHTG;#S;?Pah(dJNj<*{V$+y;>v+I|31DFPefg8}|a=W2G}jZR;ZpgDT|5?=4C zUX#VlB=ol*zfa|okZ|5%|Sw`0J0{(Re#BTL43Y z_RWE>yC_=I$Wk`NawZD`yMPO)(Q=edr<&^M;WRx<(N>d1VH#ei;kyiJXKj`J6v-^U z;!LB;!i`?duRG-C$PSlk|~&a0C>RT1k2bp7LzSw#Hixbn)8 z(kWBoC@c#h-Om!=BHb&I2fD>llOU&mFS}ht##*pY8BkM;fs*= z$h&L{)A{LRi&@LOQ>_g_A-8z^Jhh0sdtx=cBFK1E!**9>yMAi)SV4xD|)7XMl%5p*%#xk{2;h-4XElrFu=D~F?v+)Q#1H+d+^pWGnH;k z9CIBEnwzuVkMiV5)H`8;8=B5uab4WsC*(n72t$%nfAJdSli}VnK8?=6h$}EZ0zgCR zZ@fBlPDldni0$BT(M|Gg{u4qYM!OVfC1fyV5#i(s>ow?G4;})d#FmB~L4~rIUkG-Ops*Gbc*g=vr;lLsZl*m3J?w8*7{A)_BL){Ga_c6?WFEZ8rCASFD z>vloiX4$lHI{IX#Oty~83V&6ZOAMgLqi=TZuRJP}Lnp*?TgkNhx;QgN=wwItXJJul z+n|uLz^?xiJvEh>@nNwdeV}MpyGquL<4De0_SU3cd?gaoi9V!(Zxp^kjwJOZnur4^S^GC3%WI_2#wQgqT{%#^Ox^5 z9f_60e>T!@Fa8%TWtxb|71+@BD`^9faGYt-gx5r3DSqi>$}k)QmVS-FVya>JLyD7e z<}ohu1ttQ>+r4v3)jJr8jU2n_-djg-v2Q1Rt@1P=2vAYuxIJ93eZ3>dLZ0mig8c7+ z8oO3fM;$yd@!8V_u1{vR)GmK8-TayqRrllgG;J+#e?~k$*FK!I-lfJB%RCgF$@~_U#%&1jQHe6wPUt zvTUGILPL|<)}FI5XQ9IXxsKXYd{=d=qRJ*=8eA>NH6eki-}3XK zUX?g}gEE^C@Hck^2?c=`Nhf*#Jbf#rkGflgXcA%V};>Tz7>OO z`e&s80!Qg8#U$vwnQfxyXEgh%JU5^&X|N2xGH+>-q#4~gF4{a!AngvBBFWj-WYE&^ z4T}24K;LGBVvlKo-Nrb&lv#-i0-gDCZ>_>#x@@a0o!oL=se1t;Tf9i(C7r|PO`5Ve ziTXM#764?Jxs6}}!C_?wIb@|o5gIiEw9kwSbNy7#Cdl^l^C9xwr%W|?Yt)&Ieoab;w(IiqcYAEsNPeVpF-t<@4 zziQB(P%dtGb7$W@zF1z&1;~tJG21r&*b-mnsb1P#(sSsedYUZkGSqy@dz_G|q62 zLGTrsf`=&z`x>$cJDK!TEpD5r)uN4$+Krwy3_eo{d0T8#E|y*A?b#yWKO~$4LL-5> ztkPU#23E2+CS>L4VQwauIDVBziB<0rwJgIE7y(^szdthI10W`#)Ibrv^KUF>{^xyh~ z4-jnpd{$8ZU9%x5~G?-8&j6J{YuxU{fHz1~_ZZ?J;a-r9XaDfUeo- z2|}QUnfrK>=F`a2sWa&Pf5K#%{8G~5I6gA3apTg(9C%6NW5orTY2qP-qOet*#;Q*g zp5*=Gq%~`f042U~S%#!B_hTGn#pP>Kv#bPwhZH0L0115Nx+=>MPEwNUfAz?30PxLx z_0@?(*EOPQmf!R@*!A7$vc#u~yRq_n8A>Tn`>$y9s2aR?!-@k72#3q9w8SXF{^Bz? zZkg*ViBH5r=K#3Bnh>A!r!u4ZlB}cIKAw*3=Vc7|S2HMOl}7PaHtbE^N6(K&PyXiZ zFZl$eS%hWk{}#J5o_w_L7K@EKXAlCNTo@16Ehd|u_Vs- zj3KF_a;n_$lNG8fyv!yO`+2i*Ev|BGwqG*7F`ayy80bf*?Nd@p)ef~_dS=9YfZJHI z{=Hu3>A(@U(&Czri&Xd+F79bh1{&9tI&Qzt+@yd4YO1T85 z0Z=HpO23P#NWp;D=BXExc@sB1m(U=9;M!KtMKM?%-8g^DU~!@abLxnkt# zG@BVaHkkc8)=kw%#2n?3HV%8I&>AP8%hV7S2ST^s^yVlic@C@ z7z~=(4x{n0<~Mgy;1Y}k9lsDB%ZDe5x(+@Swr&uJj= z#7xVVfvC#T{AJeUk{LYk18*Yg5pqR+2Yp>kzVdAfRe3SrJbYxxdf8bRzJV&vbVh#%-2RN_WmnIC{8KM+JPui+6 zX3&!CNwp9l9ou0yg`jWK?L&tebh~|y{zPk;LBFejYlMUH^;{*Xwmuy-*6D>KKZv?9e@r*)xQfOsdCVtJclMeYx1G zrF#ejKme#xTxAlv)W!LVgiDLzX`v9pVkJYz0r1hu(m+NW(_sL5wJ1VHea_J^`A>`p zwKAyZ1K(CmwiFL8;st!(C$?2Z#FIS!I7glhD#~h9E00csU0D?^pv6VLuhFSRH&XBd zc;ESm9JFTF)Ucd`S}BkDEiY|yIZLsv`}JoNb5qBh+Od9sM&f*F`-7!vu?J?rvb<7m z+>?VOsI_|!byKmGHm7+i(mMW9vm1)PntSHdFBCR*bvP z6b_yDVm+d)yPVT%2-8(18Kef{H9tAWQ1#AewUe9DGsymGdieHa(qYA3Cv#2VVMKik zqGmm0(Ypv<@4o6Ui$8h?QpZB(aTL!kFL#+OFM>?n9df7570a*LOsj0OXqkVEXge2^ zXLa)iG4AV?o{d|%?34-H$vsz;lc_VK-%>Jf*`UabpgN@1`MLf?MRK-GYf}A(xMQ#) zh`FY(6T6SI`1y^+u>;0!vCb9C2I*jOwLtL~B+bXJ{Eev=lb z#*BWEeD<#uAimW+FmU^6XSukRL`uQVv)HjYI#_=0Pk?r8;X-2`O3x>(!i+s00c``T z|4KoIu})Pg8v$b&lI$;)DyCO1<85CXGS^tYNJGuITpUCJ;8;(&kS|DcBPBb!ob~4r ztPBoQLvSyyo2i@!)@(VELua`}p?t6kExj`+U6N!HZz+pSm~hz0>Er%`__X}9u`$fERKaHBtn?*777 zsCbfJ^Q~*KV`uuD0V3+dPpVGU+NP zVbfy(H@tB1W2ImVokYh`;0gk5p47P;o@A51C8Nu0;PdU|v!4e`R&(2f<}Q&n3E_D>2lu zqgbU2Qc^ZD+(=SaB&K_vgnD( z@&{K2Y3=P>*v>|vSE&A^adAQ;(G)n=r7V*ec9@m8A359nKM<&vcv*%Vf3rUPm+hVc zfiL>2zVe(M4(3()PSAqrK{0xl^*)u0ICkI5YYE)CX%)hW9B7fPJPo#%b%UJuzGb;0 zy0~rU1rQC>PPzZQXO7Cggo(+MjgiCskfH@ z!8C1Nm5vb1dkoXZ`u#PuKpuVkg#C0;(f;n!Nm*W0Yi#UzVkF>_^$!jSgvPzeQw@=D zh`4kZTqzMU^`sqjx>AHLakzCfcj|fQYG7>Ltg9xOH%mK=GR@}^ zWXbLw8t{N^_}bd?dA8Jt*CDxddv$a6qwS+;Hu2ecW0#7c*YNdj<)QZ$r=Gw=5_7*> zF&@Zr){lC~0+$R*qHHJJYZ^WvLD100c^kmN1T*o(QR5p^kSKR?QFhEA*tKM<9=b^3 zCdpc96qDbBgcqX+No%-^(Auh~;#kfNn_<3slk~4(vldzEXu9O(JMuQ`aQ-#A16~3d zE!5aJRIPx#OcSVA2y4y8!kg;1lz2bhEk#DZQU*`7L%|3KvosM#Ri;wM9@v7Xp-m#X~|jd0DPxq!YV;s4m@BvRdZsy~M1M506;KhrHzA4;gq7 z^X$&R*!@UVHao^j(`=J%SJRF;bK{eZj?JYa}z3j_T%XRZsPQ2zn`SSo|_sP-d)yc?Osm-hMii_bX<{|X~9Vt9RnU^ec z(_}V1vV8uN_70xfALkJ~V~3E^aft4Z!qamFDk;InA`GM<@{9m?ZP6#&*0miWR*v<% zoSv9*>aXeYGoO@KBi(j7EW(4dE&cy8CIU#15%}Q}jz*R-$SFp-C$@WWw~@M|DIE*D zmt4ET?(AZhmS}O8fl4WPIbdZHR#C3neLe#RGo2rAPw#1B(3lvGGPPTJzHB7YNY2>G zWRTEB0-+4Fk)0s`^FKU1b(@fj-}E`YiqG#*zs418Wnd-uP`1?YgND%kFV&E>l30L* zKK4gpbuvc##GG-N!6FYH1e?1ndG4MLJ{Iq}6QvY`3jcVh-z5i7lQ4l`m*07V3pik$ z7B4chaxCN}R|3oIm*VuWi%fAU2}aONus+%OU4qb@>=0>*Xq757^mr3 z*C3KJz5?>pXj1iURs8YV{0Tl;YT2Eh%ZG(OlKv^pIVnR?HSNE2ITG-TxUeOcE!-WY zGP}N-e17hhAAa09>ei)!>qZki!ZNFe9xTH`yzf@jf`-eFtRN6705Wbo@&Q6F4GB6k zNUw)f@;XvowU38H4Rskxv!@5T+~WTH1P$!e_mT)!vF>*(R^Xqk{t+Q0w1B3&e|Mf725UL1-4wX4=@^_f|#fwQH&`!DkPlgZgoK?w`ek>Av2RX+pjy+=d>L1E1ZxXA@5_t!r)pjS7xz@nOhUP zPt+8N&aqI!Jxt<}mRIHMG-GCJ4>bQCNWDFczoffhr_adQIa~AfQ&EcEJ`4+5vz-;C zV75FcbiMN1${$ZwYQ()EWsZ5s{dgD9KiM@3m047%3VG6v6}eip3!NJ58ELLkuN_uW z(&1%V2m{>iUi}Z>Xlosb4Z^}ohm4q9qoo!1C?oNQj&3s~&9LoBNc{r=IWxv$T6+ey zKpqXWc;V1!QiiO5YN}<|5i(Xtjs)dDnsL?h%@8?7@5&Z%d2t)(E1`i0B=U+TUw(}1 zK(IopBGi5zf-nx$B!HJ@RnxHUYXKu?FqO|DtUq&$!T9ADW8p7v!> zFj5kt`}#JEctp+JShC;c*Sj|R*2~!TdExp|>Xy;XoE9KdnFE95d{)GZDsbi~C0$x& z{S|lYT_l@{5bcn;4}W4+oP-07P0oXNY?2d`61Y-wV=+g!6&z9kBL)LKlLU)#w0Bes ztn2^RFM$J$ZvGDBd&9V{h0Y~D?J+{>+O^YE4bPyXU+pQ4FfS9pQ-pjjv5Fm4{&97+ zGTXk5jS;D zaU_p4!jcI1%`ezDgk~%>C#{MHND18zQgvj`A5UI;hSQUShB{rg3r^g>PSJJd&2&}m z-bX<$W)X>PZi+1IOuRH6k5a{O<<~2oz?0}%WxXb8)T!u9M@mlf>db6*r^-Jw6uG_P zaG*V!TDU5kniqtiU#by=hpUhMlQy1#Av}Z;1_I!q@nvzuaw8{$3elzDIES^!LuHGi zYZzK0Dux?Yg5wE0ZSifAnJ-q!t3N#Bp-A-N(8N$fB9*2ld*Q)vH(a((OoBcZ;D7bi zYann6><~#yRN*v&5MXg;fPtBzbD8P)dlkK+JD1{#0i)r{^x3(UOLH8J6g!iMHOgm0 zq&dM@#?3KDY5AqMnS(91Rc}_AfJ{;`L1B>ut@vWAPn?3b0TBNCn>mB|7@=U@GEk53AwgyGR?`j!v-yQA#2{%F%H?%31& z9hI+e5RuePrX3NEb*K%YL@Np%X?Ua*R8nWTYj7-!8;j+G`LQ1Pfwjk}cL0)UG+K5?{rs=d~Fa%;rDm&rOX>ByF(iGjfw)c-$nQm{@_f zBxfRA#uQn;(TJ`?B)Sq0m@q+j)EdhRT+~a{bU?8nyCI4s+eSiJD@F@~tdgvsEexYt zwK^x3Wf{hmn7T|zz1B$`4~XD^;9$VYo|0{dw&Gl=*C{rL&vT@vKWkO>n0;>f)E&TC zzZy5OvUbtNH&(UqZ}D+8=C4#~Y~xP0pD86p)$0Z^sl6_zE3~4lpblIpFsu|xQtiLk zvjg7B2WLC5+M}bT&#uL(0!Cb+7Pz-FIZdp5FK=MT)?b373*o(slY^b|5)q|=#{ra6 z3n}$jhJzw`T8DA0pz68=usZ?Awp}rF@kGCo_W!i{mb*UhO;PaBfrPYy7OcTyDd}usx1k*skA0==#5Nc}mzc~XSTTex6EFEWy|3DF z$B-@jysUZQlj?5QdL;UGcnyi##pvP94hLN&R8YdIkjyLYVF~i7+ zZiZfi!bTC+&ymrYP&66MC9NcuvgJB;qRoHG(6Z;XIwDz+2#bxe?_j9c&gs)@U!DDY zP!*tGS{hl+KRZb8%LPNaiC;8h$Qo$1PA?gSS-QV@77uTItF;$p3Q|XMmUPPvC*qSga@nOkLYs%mk7_(eL!w>x^>Myy2f$M(;6{M=$j4}EEyuk&`MaK^6Yb% zcS1l|R9D$=&UH>?RXu0xw$r_isPD(AYO-ZW-HTz-rzdB%q{!(x676SaMf~h8-ZVnE z`IfKD3gXHxQV<7C-Fx~y7CNFl$rW^3QZ(Eq1OZx8aCwb}zZfMzN5-)}by`n6FaL+Q zYjAI8^`F&3m1o&TfDKs|`u8-gD*@zl*gV_s$eBA^_klT;uD=qo#WWb^6T1CXct z)t4dv9dz6Kqjg<v_^`ab%`tsS zkOe;Gk*1c6<|r+L+n|9zD}m>4P7*y2P{{6BMyw1MrTju~Mie=tV}Z#@X1!V4^{C@r zXBL;@ZbnjIH)LLw*>JZHV-(1soLwrSa!ZUmN#Y9iJ4h=w{F)gHA_1NgTDUz2L~b@{ z0exsN826#GLOG~%K}`69Zp}EKf1o<_gR=Cw)5GLt*L%ixgQ4--YHnzWo1>sVD|26T zOr|ld4)W421p!DFJ`I1!(nJyFctTFVW3G6aKWaQMHxyh8Yi3b&m%9#m-y)15iiNdl z7uVHC?qen>K1hisZ;py+7+bZ$^L{_zOEZQX99_wGDYC5aJZ8vFzsb07DQ>-@1?GPK zr!NXkZlMnDA$>fl=<;piqA*ZBwJy6{&cEP*ZC(Tm7KYRW4IrXC=|3llgCmUp#@rU- zWi@98kVjjOF6XLo)^SHQRfVQ=j3~?h{)I$}W8G&?Co{#54}>1D(2RO$;AMQIm{rR* z+HGG<3WNYr{>rLqM!Wk5$3cn1d*sT~shtGqU)YEwGpg54CLW8q6BUS{RJ@ zb@#FEKR~&FO$xu^ur4mm4@pE{;kb?k{@0&jC_RsLf4g;`o>v}7<~%=vYR&xvTHHJt zTd9xI!M(8T%z7qC+2_Y+q{jxNJ?EC%G-VT(rhZ1O^OBaWguE^WD0QwQ4mBCu?IV!! zrz6r8^saR2{1w_JMVDx-Uc;R9U_Z)C)u~lsdSb;(^-!A_CQ1J6=#OKm=}_Yal@ z92VxZEbh?sN6k{p$M9jTIa0G;;XKWVf6;wwAtP&aLzwLT^?uPgcg%-6tk!;oGYi1O zahNy5Hma=~vJ0xCu-Dt|nGeQQK2-%zlr%tOC@IP-Gps&KuCxjZnM|1;sS7&oWUH(J zt0U2SH%hHv_T}4@sqZ80yX+1;#!ee<*5~Bk4>cNt-Ve9@=$*p+jb0h5*Yv#jeacBz z3Y0CHaXPBN_0fU-+ara{aLReX=6h}V(5>gJB%#CbM@!iD4}Y~%9lIZ#(&lP)oLJ!4 zBR&HF+UYO*ej)IQwXT}AIB-%Sb@oWq z-W!ANFPVS0`mjgrLxnAf!~yMHJb*OYka(BTjEhZMJu4LI$}0bxfARM~cLcHH@u=L_ zMf&hD0{c4SYdqHqBWa;q;^F(yL{d~)gT~32Awb+2=Ngf;GMmb17F{4GB6uHc05WGP zAI_kg+fFyI^Qo1=9W_c`3Vaw-`L)a5GpoXufDAmy^U~-+P~e%zaG!4DWt-u!oupsz zn_#}aC+PNKNKY;{Jnb9$O^a*ju`{mdYB`t8)|wL~}MpNx>tdGvY_EKiP`1)j)DmkNnP9OBf|Z z|C?Jk0pT{w-OrX83pH*tamS~ciPWS>Wrb))h->b$!(zE->JD?YwYV*fpT5N_dE!?h zoi91fI^E~X>efNF@OXPxzzgb#+gO5Lc@ip(n3!7usccdOpR{#kq|RD&33Sol)Id>D z3TUu%S5`dV0o7hPnpt6dT{6i4B7l#at_>t_J7`ibm&THMI+33bnpE(>zIVuJ5d745 zjsfAds~n+DNHP@DZTspj&vcE(2|SY1QImxib+J@zHQgnU_LyjTT%T2sW!axM@N_fDXKHbO|8nwUUCfmO^*1`vxIxFg5!MQePII>Q5 zBu`<-d2nRdXc(&eABU4lQ`HhPr%>833bo+|!+X4pRvn9C!^>V|HN;P&W2r_sv} zubbYi^SKj>)kzIdU(FacR}0Q_b$1O(FEjq2x+re?_f@C+gCWlYVntGV$H7;G@q^i_j^~T(GV_8gOtG2Fgb)%^9{g>;@g0RYKHb{NyhAmATo(&fWqe#Wycsr7%HDk7xII~CKM|vf z3210suiN5lkPV+D84K&c!WgiNHCEk*Bn!KxA0_=uoeewGBJV+Ju-mQPM&24%&``QU z_55vdJ|TA#a&^W%Rc~x98<%F^873XkFkbwh)b-CNR*exRA_33bOkES z{tt0y0HC4f((4z|m-Jc$W^>Ck(7c)2C5cZJ6&syE$QOm5Ar_M>PAmr{vy5U5Kg(uC{oIwhyUX;P76|+n*F4${Qkqz0_MsG&SV+1X7VHU z+bKJ>VG`Z77|U~N`i-yh$+6y?_E}W`k{+Kc-M>&47BmXz&8r!ANo;2nt*MZF;)DuSF51J@ zh@-_pt~(iuFK`yUU!Y1t%F{J$2*oZJ&MV6*n?I^GOT#OlBkMMP{d3uw4j5Ed8&YDq zLV2}A6r*uI>|2e+TgZpohXh2fDRQ04kT_G}SdC`(X^kV+l&?kFpR$zn186;+O|1_q z6EI+=eTVZV{W ztvz~6e$2Zc8LX>|KQfeR2p9lUXp%XpnPp5FoEFAYxDQoUS@&-rar9W#L1 ziV_KqTu$@bvPm9Q2am>){pz$_=`2mfuDRw^JfUj&ld6vEDQS;|rr6!(p1HIFwR>C0 z3G1MNu|&j#Cx(EygaiV1WGn$1ZM;Q}5PbXYA=Hc1qVl)ZQ)4cJ464$f9nHQ2T(BtB z(4V{D`bzv?AkfTY(U(zNG$mG6$p#$bg1pr(GkvPatIysu;@;JZp{do1=F2y)qdf;K}Jfc_tCdc3a{LYSx6VO z?%gyO_jG)zFt%iq1p06Gqd>^WX~U&E{0J0{4CJIOP_HoVL-7VcFF;b&U&jL z;?IZOHuRu6YVbya0I2dUVsR^Z@?Qwc%jAmXW^7KBdKo|=nc|A?wg-?m-9?!EKbFq1 zp|bXW`#XEGZQC{3wr$&*cJ^f3HYU3!*EHEpnvBWX|9$=Ldp%fhU>)l`zx*8U&Bi)% ziC%Q^y6-m*&W3hdMzP5VFgIe}@1m5dak?g>0FH@o;aP0qBu)kCoJ7BQG=1)VA$lJ( z{2o8Os#y#g<#^k^=-YnswjHnJc;aP;nzuj`4gVI7_p3ZCNfZL>OyHOZL30kf@z;Gl z1MFQ^PWAyGv|QZ639Mhv!g_c+M4ej{GYX6uho#*$%>0XLdN;G3hRf|I+k0i-E%(58 zYAuKux0}V5AKHyA{*82~FkxcF03=3tho)eVGk8m2^$bzJISCLQ4S-@g5tp|e8N`}p zgXV)oL`P%FA}i&FP(5M&Ysm%(fAORa6RTW@qVy(clgIP9mOf?{Vecz&z?vLKQ4{=~d|94w;5ooIz+u>6{qc4PFyrQ+eF zHsO?||KI-qJOJj-VktnE%irvnz{TpsgetvM?(#%*Unz_3BT|iO2}{`3F+C9uOZyQk zmF^XhCJ~-vI^zIV5vF5G3&U8sh3ls;0g?;byQqCxPPK7TY)PGhkvd=Oe!~%D-x>UY zNRnVRW|%nyMEkcnYHLx?FzN#Pa!iI}dUV-^jA zWJ;nVFG5&zZpKTN2!)Q{d!x{pCi0@+f5tGtsCibn*h!tNSvg#}RGZ(Z2%(EZ6>Pq3 zEnvHJKCw68HBM#ZQr}o{(P>T_>*+EcAvQkdt##4!G2B*C$4ig&5wy7rC@T@^Yw_uyg{CScUDHRKbV_9Ed}juqICs2^+Zzq99P z&uks(bx_`GKy_+iOs`K!!e&@)W;MaVCSQ*d<|Jk~T3=iqjC<(@*aF~ikmCJS;W>ya zWEfN_q;eEioj0Fs4qNz)q!*j$Tug%(S#1et^jrVz@hjG^r2l(Av3Uc5e!=v1XI_zm z4nZJLq%c)Dgd}9BGM=lL>LDOLBtwj@wl{Edr zSBiwqC~1y7Xz>N$UwZ6M!&b!QN+%}(Z6@DA&Kcgfmn!DL{l|UvjgjEHP9Klu90`Gh zEM^hl&??SzCRvar85%>NhMq&7K>%*yt9h&C7xvMd?v#Ek3Q90tnZOA!F`r@RJi_M_~l*a6Vx)>`%DCgG8O{3 z2_4yD;{nMyD1sl!rz;PyaSH3 zHu{sRx5aw4EcZ>>W`}ks!|cO~@*X86i7LP^LJgzo(h@9{qEe)avN$D_RJGBxoP_B& zC$J@f0k!(IfUJFceTNPzPOJva2@igOi&jl+bgEXN(pp~PDKp-Y<=LTY5=MI!Un|ePd(8AC@yOGy$Y%lQ zLlps1DbsPEVPPT4G83q{f|SaG7M2yJA03{E3Yq*xNFG*O5^X4)6;}OlTpOiB5xiUP zZ}ucXa>C$G-@j^s|L^Q1qDKYbYOuKq0=4iRC-KHx_};eNewOI3xsPlbuY9g9vm%W{ z?suFE8KvNtaCKzaZgQEEKQjL2GGeC0a+t5FDu9i#kB}xQUZ*yZXJ^jSyJGr-OvI;J z5@X{^*|40&t#s(jmRg-QQl0}81x%m;MB!YsFl2J7MSZ0H8uKjbvOxkHIyVFk{Ox** z0%d{N3_<@X;S>NvYr7WU#64jEi?Hi-Qi)AmY;-9^P^^PyD^%Hlh4dqkq++U*%n6O2 z+$HD;60&S7jV491!R``T@UG*P8}xz;ju604ZtM%g?y+j7j4kS$!cgSko(8l7Rv(9& z1SF*n^r&o3ow}=?D#?Y270})fRQxH@r)br*2PH8KXzP6@5 zpmL^G9oL_Gh_>WExz92KkJdYQ;>`N<`d2{9Q~y&rfQ+O~t6=;(l(Gr3_<4 zFpW8sb`a1M-)2enGZo7y;cI*WY;~P7M}6T5qwy;_qQvF7YjM90ql9%OH5l@I%uyL) z9nRV;wEIb0Q|cONZTqEVeH8MzpyC`62g@|gRt*xdAW7iv9?B9P^MVOUaI$4LqmI_I z0Ru1RTU-G~tp@1!{TC9Ol8K4m{BMW{?QW${;?-63)*chwME}L7)n(?qYrLwL7{@Ey ztT6fI+Ofp^p%waT6C#<`l-rn?v{(*xg^|FE)qGu>k$%gW(o~G!F%nRGT1X?|(U1ne zku^(x00Hnx04MRef3!0qK{64IYQK~~gYQ5|{ zBc<@W)qhF=kHa{DR}frys)Q{Gg6+;&F_yt&z`Y))@|k~yGV=p_mO}(g1h+;L|IrDs zCkOuk!|-bV_vJw!1T}M=L*7yL^KX~q>fT9he=hKRtAE8dvVl-!3 z9ng`R$KMx?-=SNph~?SGT!=IMskbbA314RTdm-UU4L|t2|Fx#!+Uws5gWl#*kMhc? zLVlSh1ai%J+aw(yLy~CmAf}%6x2hS!1fi(%`=l831%@4)_Mf-}so^bT{@L_&8>^vx zdh2ouhsmCfgR!f-uMK*W(7ZoC>ndMa&e+IzNYjH?JrHoLDcH!#9HGc6(Der|Q8`Yd z8!ao`ETj}ty-0Ar98fG?D(W_%E&SsUTs3Sr@yibQX#CiJx@0f=JxzRV_>qF&$^WE< z@|@;mU@jz$+R{5eSdWu1_O)s216y*etu1h=dUHQ8JyHLAk69_KjN%mM;a5u!(=!^# zf(0fUaDrg?ix1LSckHjMe94#J;-i0*R1dGddvWCNk%ZVmGOB4_IwLqkvY&jJy#X*? zu>wEc^W)$=#c1H)m~)1f8+}GNW^@Bw{_gg$vxK3t@K+4XFle*@uC-|63pdYOC!6F?4wl+_r%ntV~d zdZ+Z>_hzQ9j&eDpF$fmw>fwO>1^JLE1@CF&7fDzu2JZ*$y;I8-Cs7;Y4m~%?XG-Zy ziLOXfb(w!|tf#}48cp{f{TgOJZ5U~u0<+22O0?Ssw3X~z*AMtRrVrMuUuxqyBC9j1 zJ=f96XM4N5oQ40S{iAMACw8#;+UPxZXs?4fAu?G8%FP>YF~VVb_uGmysLGx*=p#Am z-R(K2jrR(B*3#W{lfElAxZvpLf+r73S3xCaQcdjSB4OrfkMF_#Ly5{F{bQ`>0igo2ot?es>h3_4Ayo>G`jRktjU4&?(YL8dzmxt zdVimL#i}_52XNfHC%S6otywCeYCUAXBTp(I(c_iYix)eu>1GE!QV@wxZ|N{e(fPlv z4R}f;hFu8@av#9{a&$d~;*cM`;z9UaGDHxA2P`W>{Y9S5#({?(g(1Y22wy10bml&$ z(UPWv<>lm|!{&SVqN_W#_T&P6d|WeeW##d8t^IF47OKvj&ny-`8SuXLLKSBoR6q0K z^`2|`pAsIx>=ASAH#Mak9m?2U%c){aFR)b-o_~mBqHSMAPLj2h?)UcTSyc)M$f5)( z4{2&mvksEUM}w?W z0wvzGl#ZTGTiezo+>I%cp37|1q}xqA<}^Q%mrs|)oPVoWKIzJ}59kbOzX`r-S*l$e zp4wGNovx8A)l=NY;ZrDHd6nHPJwjzK(26MANYP`292shx_^;*%fCE4=p%?qcuu2ZKq87y@`rvM2z{oRL7&P+LVRT7+qQ*z@WK`$TZT`@T<#q5O%O-Ui zk}oP~k=dC6c|?os5n2MZt+fMHbh%b5@<5j=&G2XK$==%jU%qeuB4fhz;MRufj*t@V z1M?ePAccdVZk2H&Vu{P;m%igLv!81FK98WWp1i~bTz3eU z8k{7ND318?xW%n3%$a(!Q*foj-g0?3Lk*i}LBab)1j!3|{)L+#`X%LtrTw=1vc9GeTo@1}cgrxtc&d~t@#Z(GVP8D; zhI8O&vmfD@Bn9L#5aWdDfsIGgsMLkd90<=4y%l47iL&KwE!9z*w9ux&eBFAO2|2OU zmaP-P^!l|v#)@GNk+Noke#=ZL+#9N8_|wB!mugGztuAI)m~%NV7A`sG0p=TRhr zgzJsut(gt!cSE;*D^GpPl&O*OoRu>#3N zmmH68Jjh~pQ(dP`SgsrUeGyG^+1xpe#3Ug`A9FvkYo6W zxz47g>_hbl`CfCv$1=^_ToraUkJrDi!-~x+rvKPV%{VgUNS$6fT3)BZGb(K1E4~(# zv}5{iJ3h07esS5Fd`&I2zl`5?<_PA+Hj1uyNUcwJ@sN_K5Uvy^%lcaNkdxZ z?C?_%O))ClWNHW74#N8SzjVXgUNiy1`p z&W{Wg#GZs+kkF4pjMb&?<@!d)orj0#-62gZ$IkJ-Cx=zP-PwoBr-6S1py#PJ zV_8B(2?Uy{Kle#hS!l;l%=sY~Hh9o~=$N?34f%=(*W%Spi}BK&EW|M|H*p-QyJ&n= zuIr7N46k>B@eW9bthLFabU=PEla*vr)|xcd=SnhT(oTxjh~I17=*`EtB_jxBp=ZcU z>Cc+L^Dm;8nw41f!X*B_=QL5}Nk*HyQHvX|)0X^*;E}5GL*-PDrGW?%96zncw5f~T zioA|Cd}72}PiIZ2bZGx%Mkk$OFNsocqc0jG`-Y zZBn`EZ55SARJ-1JHbP`x>;0MA^{B?B#83n>phNFtRfyu#kV7TWG45!pqq4H3HnktE z%Sa(s+x7E{aA_ojCTd!HYlVVSRg<+x%5>i>BTd$664&d`0+hM3AU0&EecrkpwP$LPp%TSG#kZVP8zor{ zjT&``P}Z8c@?bp21imme>0%bW(jGc35Bi;kwLlaN3?58coO5l;K5|CL^laFz?_;sz ziyg#rcfT1p*uJe&nNQrAX*|e(b1S@K{Ss~pCMN=1p+JZVgS~7Fe0YNxB${iYav{ZH zGXg1Z!%+4&58*Fm1Q8}#Xx?o?((9Kv=vA`5n39J3Aw;wu4Q)!EeMUT=13mOoY@3Rx zpDi@rC-@t^2B%)0*S$@fkOeIG~W!ceKsf^2y zC&cOJ;fRP|ACDJBA5%xd4>NBw4=nZRzUk-BRc8nce$dEi=F^#?Im#6Y@;wZjGTw`Y z?d#d){fA?O@nLx4`psbfepnwFVFirPgoDC z<5|5+-r$*?eKkVzSR1eD{5P;VzvIBuo}b$T;Z(FxcZX&j zSfr_m4@AHRz?lL%4#tsaRx7RmP>>I(YRx6P4`0IR`}zA=&UaOy{(PZkD@mUhReQv$ z*TrS^5yU56`cDaWKo|}1b*IXUXEcs5Yj^2@rRHIDDYZly}H{8Tvwbe!D6YfotF+JnIPf=}est9F{0n5oQE^MgndN?-eK(3n1|Fn!T z7Pq7*=irvM{wc~@ux{l1k9jPhF1M;lZd;F6wCQd(#f5i_bUga8`5aTfEvK9}e`xzM zN9`XTE6Fa#aZ@$ZO63MocDQWdY$4xLjM<&V2=CF43r{-}{rc=j3*3Je*zI1L7y8)V zJAFo%YHvBU$@_3Z^vS+jd9RTx`h}?KBT4^-$q=N#q?rh42uT369~pgAPBPmM_4ybS z2smSkCOa(5L%;A*P6|_Aq=!OAD#Ob6on)E20VQQodA8xW5H#c5hLfK<1(x=x-*vYN zLCg0Li5~^A?UL(1^vb-gx}a*=TRwg`+e9~vvO(5zbd1_e;Fcb7gK=3F;U96Misy)%ux3`C%kD2X?m z>WYuA-(nI*)$~WjJoz}yAB%Vw?u1OM%^F;I+%kM$w#szk+B(r*e_gEYtK~{&BK<2jaV()0%Y-N~BDn|NH z?Hqe@fx+nG|CI0-0K*Mdf(j3xDU95_(}@!{c?7srmV7FSO)peFOJR86ptK@Fu9ZJ6!--V z8px9z=WK-*(q8HYWc!wq5BCEaQWZw+)^PHO4%n*tGnmO<#_{1k;97N~)BhE$ z+kY^BCyHVE$FqvvJ!*)5TgD}ASy zEa94mi`Ph?V2M9j`P^l9*6pARwWo3=2IlgGJ!i+bHvg^FdcvqA2kt55){zN-fj3Re zO)&<8mnfr%*`Nyz>uoN{k)n!t0#D6_HjEc_g0!W-!ZP6`=Kdjued5vDB_jgQtk8PQ zti@h`SN{F8L*94=;}2{mFO>$RmcI2~ez_98J>WSY(?fH8h^r+1{4lLD|5?H_o2jM) zIwm|fTf3V*sgyPs4%U#a;MI3%*|<_n0=UL!q&` z{zy85EiR+~n={=2!f0EoJE)KpX+_8n*qu3G?#CH`_jpQdscE@eMGPy_%*h9BI59;n zN69j8Y|nP4p5SM*nzOWOnWjnWSv;7=;)K!<$&m~*N0kHTKF?hD z4?WlKPI1qEZ0R=kHXYN;qPScjc!ai?6a>C)BaB*cQxqsz^dWY>`5kW=qe27qPHAo0 zt#zIXVnV(76Mj&~-}Fv{S>7b;a$$nG6EC8%@Nu*mZKoOM5gSCF*I;)8a{It`$NI5y zcx`^J)Nu6Dv|t+^MGd5!x65`_FDiAsrf(V69%My%u`X?&B^vC*%<+h4C}~6aR^q_7 zMIjw{4i*|9akd4-1t!FfBKS@T94nJG6w+fW42wUA=bs-wEjhImUlvHxC0#0@p|8lO zq+RHPdGq}r82S*1t!%3HCdX5vB>pO57wwK|SEzSE<-hlYW*?N9_5lo?*dJ7+f6)Sj zVrjyx8i;)Yk^vmT?BO}>8A3K{^g_BP z1(Gb31ihcIJ(tm&yWIqMs7HoOyjcz_A?adqv|o{8|`;V|RJ zbz59!xuVn}w=k-c(b_J`3WPa(y=%p~{92!%Z`*yxNkQg+NVr7|4(ph!PxO6^?tec0 zI+0u^vPorhyZta24=^dN21Mfl*#Q7z_G0Wbb;uY?2n7ENa-)Be6gS0Tro;JvA)Sh}n$!6CI0=D0XY*kj)XLtZ#~0( z5ePpyhanjzp&8{Ym64#mEV&Zz?fp4T4s{>3^3R$ib+J;I6rNuzVW?jbC9_Lv%`P4g#|Be-v)_S0YY)cKo(e{o@2SAmdSU zQL9^8za$FCjOzjR!dNmlhp7*ezo0>mMoUB=+>1d}3fs3!on#=}`jyB|Q+*tQt}8#EZ&-ys zX+fv-p!ZI53tNcwbcy&bYc>gdB3D2ZYFQ%Q)(HNhcvKp}f;8n6IrUzKD1zvTp-+Wb zx1SW(5{(bRZe-&E80lbzRcD7{?>x=HBE-f1bP?1YJIA~dRy132&W;P9lZzqWHb@O@ z=bTjovg>$mQ6F?3t4x0+GeX$LIktY%au^3hw$k{ zDZ7M*5O4xMxOS}pS2buq^tuPRr|m`mF+F?ErX#_NiSra<7SyhJJxZeuvqQk|-_2%8 zKCl-`($W8?gx&us;f(JD#<+{D$pX!92f$FmR0;9i)^)lg>vt!q_R7q!z? zr@1N(y5LuUPOFjDEHZKgtTX=E?cIT{GmqfC1gC0S>=@prp{lD?3DIRTZmTJ|_$6p2 zJllTr$hwAQal%0|pxL5Zz9h>>rNRB7FSm5YY!`Nd+8~`HI73ux#B_}hTA3|oh*DhK z#hMd#3*5vS4{~!HGK6G3Hxc&6aBe+&2q&+)e!SA|2c5KirlZm$PI!=Kd|OGPTXL;u zL093hW+m!f;w64tnKoJ3e3Nlmzn6IaE$2mC-tDO};~^oYIui)M#LI#N1Sk*xm?c23 zRDG$_2Ox40mnFcdAMNu4bh51^M@+u{^-|G6?Gl<{{?^k_g(hwKfI zPP;4b97iPuEiHF;4pP0S0C}~bfTV2V6K_WiKHNsXncIHQzQ$+x3Z-+3QE&e?`k}c6 zlx`uDpX51MYI#(*W}_rBg94bB!8|eY**8^*4@R+!iK*2V9qBd{b^fz#7TI+DtY3Kg z+Qq?Eic$P~C1>;S)RV1*p(C%`(YiH;nTE9_LTdORRXhNmU3J;{SmxBWYPN6YaCY0^ z`r8}pk4?kvLsV253cYA&-4yj(dKrU-EEFg2muPFOUTyV8Q&4B#l^KOKf=59+H1OxN zyrfFt+<)=NCII@@Y86bNe)U4=HnDSR$1VnQTSnJHjI$W}GWs0@PlRaYZyzXvpO!y> zC=zJc$YYIpqwsc$e83iSR4AxwO8faf-NF&&&Ie>d-f!BsC&95ouX6DJ49FZtm!QS$ z9?B-jra+(~pVt8Cjt}~v1-8Z3G%F$OU{FT=#z$el^7~(itQdD{?w_edkZiZ+sPbia za5#U-hKuO0fM#ee0KP195s1?BYqh2sgrq)+-*srr`1~NpKv)V25eIhR18jgDoI*jsFabi;ZSXRhfoioIZZ12d}NgNycv%r%q=4CmdO|>be z<7t%RaV$N(ThDmV8g!lAeQ_7!-9cSV=%onMXfWr+tDLV$Y2r({CKv=v(Lh4nK(qfW zifpw?h5u9ZYmNTifx)gq9|uMF>F9Icg6A_KU3ij-I;FY= zGA-1EQM48JxOsUv3(d@uQs$(^a+&>;VXK$N^h`<;p;(u31ZQt# zay1z~7x-SOl5>M1Ux1;E<_~{V`W#Eq?XS<>SZz`*2qN^&x%3_a>=g*fyd5g&A21jm z)LZX(o>S}_ST^joy%J@)!l>?XS#A@d=7eV@tcVO}m6{dMWaw@jvB^5g)7}`yb3F}G z<(Lz`I&-B!m(MtgG1F;MRrO#f?8s6j0U!|o0Mrn$N%E}k}5~xKyz;BU79wPqX8lvR*j2STjogn;11-&8q zp??!IRkD&7 zdW3bf_;p0J*KO=xIaHTPGuk(-!1u;lzrxvwI=R_%ut3UQPWhNA+mjH({@kiqIj>#N zcsly`Ut%2vedk7kbty1bdhATxk|Fg|-9NmLYAHVT{wj($bw!Sf;i`QnWkZ~#DV03Z zqpsq=QEkf^05!L*b^xoyvys%xyj5}(mRzC1#l$kbV%Fcj=3!)8s*a7B*%9xHjDBs} zH11abVKE9mtPiW|K`{|04<;go_@ussq(b$Rv5w*p5e>I6uy^* zj6@7iDxp>PHGR+)i%duGT@gU*rL5@ArYb3uMA@b1t*s^kQV=Bf*io$1CkAFOW7 zbN0Ngq)3e>(K|{l(h)nV1-_&ohODyzX7#Zt7rah{aOZL{x`OChy&es5a>nhx=tbxvFIon=mg7g>XlKXq%j_J0Qdrt4u$H5ux zk~bDP_qpevhnIS1;eXc*iXy0-bFIo8(rq$-e+z^g*95k4Rw)b@$6ELqBnC{oP(TAv z2);^+p~1qdBpLdo0~5mV22ZTFl&e&$9rus9pUg6TDR=VJ%BAh8C#ry+33x_J)w~8+ zxeN6yzza}C;3EP0#(EVTn7*o8cDtCdd0=;eQ)_X=^AUFN(qJ#;QIB9*0uGCrKi2Q&IapvLnPhKy;}9y*><*cR;F zI^WIFbFakICD69}uRFKJNJj+uV5X48dR}Z)A>e)fYv&!bpd1Oxb#}|`77f2eHxY+S zP@dy$Q8o-JSDm&Z)&Bl;`xynPrv@=wLg zM*Fk6O-a;1`&)w&d4DA~wys_0!5Xyk_51sU>N3(HgFcKy;sUVXN(kE~}4_euHF-k5}NjFe= zqc&Fb&Xi8eBJqA&CwHr^V!bc z?{RY^l)+~bl5|+C>$)SEfrLt{{G!lf$4Y&!8|YIESKHZl3F{*si|u5 zimB88&RLVBJ6mbdzJ?oliv6+@?MmAcKUCU5>R@20U|%1}81lubeT|Vm7Clt03O!Se ztp2Mg5bi%EoB&`j48evN(mA$M{w`J(lUS39Iu~pk)skR8tIT#T1UE~Cv=At)RH>}} zRTxQb`pdfK|%H=F2#$4^-Gg35wN9--!ACi^86UU&es(=`G>Rz z+mI?|A^=Vr8r@A(8dpSxoXib9Nn2pRhN(iElZ3eX#xne6+@&(D8`$bn0W(M-F-#MG z^H)>!yCbZj?=#pjC{alpIjO{%iO$dC`(}Hf{8#{N$~*nOwY-D=7CxnL7$grRWd zv`)u-1?`UUpQc(F!ocBiRwsSK1MeN)dK0t*7vIunkDZk^e#Q^GFY6VQ&o{hE&uoVo z$$uP>xyQ+6%J;?YYzRXxk=dz%fN0r4u+>9Pj$6(XUijqxk1|!X!CwnI`Os&vK6LM! z`RhSX^5_(A6RnxN_#^sJdRpo8vh%iwy4yz4%i87XWD`(L%?J4KbAQ z!meS|lTl1QLN4C8keVz5!TWpULFA50JQhRdV_3K{DqRw%BWPWA}%`Ke#nC*}~*PF@z{eK|P z!2jN0$0Y|75V-yQ|DV?f2lt0=C7nGmkQE|C)Eo$8jTwVdk|v})s;{6=@x_8Q-H^X1 z(IVf#QWS_o_lQ;&OyYBNWDXzt zAdtV~-=h-AL6|{15I9^Ow-%&Wcl6MF+!OhA`emm2woAw7rA{zm_LEmct7*Qw#~2i> z|Kiaez*g!^`PX<8C0^oIAJ4%f=*2JftnIB~Ft@x*v(`yFV^EtzH z?(>K_Z!bx^fHa&ts>D$uFfBeSOsiLf;hb^=x!YNv>|g55_#@! za9%hUP7X?`LM4>MO7bDAm~;Fj%Wg3E7Kf7g%8ES}KhIEsEz9(XUkR&vml#Q<5Jiy`9jbA@iTT0s z-yydKfQ7fv3$`Fbl%>isI%$Kz?#nl;E84MrO+M%Hz=c-cPW+i=ENaO{)Dd>$9W1$_ z3Xe36AiMmlFt~pqE$j91Pefku=LWIAKxLI0NaWM}a z6dFYl>80jPs4x!sg_6sHoLqJ9Yzoq*7+jZ5ib1oq%1`5^snpm03R_;oMCDbtd1ds| zznBV1LeXBp*E=Rm!ZH^wr-paT!k{&9JpM6#iT^UML^h_M8wAQ2hR{)58x#A3f>wfG zSNvC=%UfVwG&-71#sLlS=oB+8H-%vF)Qrk3jIYX=kAiw)Ew)R_KGSGrKOEDD{%7~& z{qpkP$CXkH`0^w~_$nYaT99R2TZU&pU>y2y37@(YNeq929vv)Ap9l`rV%5!S4eg&=W{Jcoh^>l6+BXIW&F4noOfkOCyILjvK7ERVwyk zE@_tr*k}i^!+3`y-5O-+m5}DOQuvEm+R}W(#q)<6GezkB*WV;@H@uR-4K7+`PXeo( zThkq{Hvka*7EacyqZrm6&)IbA7W^BsR@>!iN`@5`%Uos~Wd+ewyjl-5%<;9s!EcRa z0HH1-wBdv~`TB4LPC-G=os}@h40n|B9>#AgPQBw(`?noGVDFTC#kyjIXk|G2_K~Ol z7iup6VCZeu15~6sEgcwwWGf!PrhP^iR6F!UWgQZjO7;F$9$Tq zQife5BOst?%e?rCNB?&<*%}{d3_Py|A_f(kK|yBNh@Nop16N`Irl(HS(0%5mjM3yFkhrX` z<22cHCYh7K+VhLKFSAcQIMZHrKH8^9R6C+|3c{R6P)P>U(9O-g$L$_xT&9KV0aNY6ybM1o|^a%7Ab4bLE&ftrd4yY9v^;b&nI>>F0>pXh29l1mSkcKOe zh5@ks-(C@uNfYEC6Nn8r2do4s*Y=R&5NpDLnhOJGyGzqmEuc$iw0S$1{5zrYejo7O zO4xvNrb99ZWQ7qPjhta zoLZ)eV$6Kz!cLY zHd976n++jr3aL^P?IqPy0!SdkLpz`(Qvfbh0TqP8!6A}dszg%>Qc$|;pI$|xiCG1| z@ftG$1{UyQ(Eleps=>_k&HA5Ds?nrNLF~?7Hg+7oo&ROu z^FWyI;8rocOqO(n-hdUl1`c<&Ov2&(5PrIiSJG@AhY!i^4|xQbFK;OTfaw*WsR!!y z$|o&L#OX`{unQ>LnB1*ozX2eiY-*D%R8bj!J(v)ooXka6RfR8P6VV7Z_%tDu|9Bn# zr6Q8_+4v%4Q4_8MomM#)SN7M<80D^CSdBOpQHm%;T$1vs)H!M;i!=36^n%iP#ynzgS3f zc{3_=2KF&EmZW88cYQ8qQdq zk_uv4KzbN5)E((%eWP(&tEgptG5ievN0=dej978aozBv7lY)px_g2nYK>#4CC8eP? z?f9rwp{AG|__)zbvE`}vLL}0A;zKNndKnq`s8<4=2T^h1FX(Hti2*Dyt2l3d{ul9S zhEze;3IGmbjlZldx=Ki7btDX~+ZFj`yznqq^CO08cMsSVQA_CEH{bBMDiQa#T%Rq7 z#vAbzy-Ix9K0Djnb#LG$H9@n(p{`bxNqlnpvUoFHuVQ=Sp;Taxa9EBrWjc~`*)HGT_Az8(U4V|vWkO6pDRugA2}yi_iuI4 z({`=(s7Yl})Pj6vW*|Hy{4#I=8e629p5MHV#AbbUG%Q(8>dzWzHp>5Vnnyih|VoiA!R#Zq{xv?#aOhr zla(K=?CyEeUBz^XSW?UE9<s-r|yg}40MZjCd;AAk-}BG&c}+1Vk%(3ls1h7 zFy(jO*WYFlE~k}Od{mznc5mU#qP_Owc9czzE)lZvB&+}FOqao<#`8x_C-5AcYs>8H zktwft52)^=>CeEomN;QX`T6JtML@;5){LA0Eh^8|SQNbT@twhP{!k?!D(?!8& z&pNmnU=G(#g3uC`AgY?g9N&9#vl^{Ah{r+{5(Wt< z%+cQH<-2V)E)V_w#0lcTJJ>)Bw$Qp$xmpzjHSus& z?N(oQE)y&>6*<4qXD6V_0{F+)K(~W2j&G-HEK~mDBi0mmy*v)nuN2;v;q)xPZ})Us zT;;EIMo@pE^%M~?(C^U@rE%rK8%5IoXWoQiaI|L?5Q6M@B-AKUfkLh({L=a-d=!4@ zMM<2tv6{V+nFAZrk}U-+fd$s5O6Z|VksEJWYtQn2o!opA9h+Ad+1*ve-#9%;etHyn z#Z<8rl)pxAFY6MaTw+TNKCO06?1ha-NKu?e1iPBI+&%s-5^SKZC`8yHcL zblSb0mJfXko^HWpZvZ)ZI0OhPW=f}D4XNkXhJqnzPxsi^!$IFF5f8@KPd&VwkDGLVY%W3L_?^-}RsLXUxuMUH;MGh8Db&vm7 z`GeuM07FJOUlmLJU64?@F^j>Kzlo)47GxWtNU1c;@MGjLysB);KU&~vninw`D8_N^ z-@o&tzp^12^vJj^#4FUU_7vI|ZDTgPd@EZ0H!zlBfY{sYf91u{T&whd99>g=T; zJdcLstZPwb=lhPi{|M30R7AzCh+@60*u`FOLsD2jJ}v^^ zTM=94#y>$mQ8$pC*T)L_%Arr82;b@o0 zSX4cF4AJ*T<0df#ub0`5P7W)6n8C!U`hNAa@x~LRLF$ws2)SXTq?$=++1e4=(sNBR zEH9dEHZLjdnj}%Z>zFaF(K1pra+Y^qdDBuGzB*=wQ+|!xVIxj;_Qmt-9z`o5eK?={ zc~#c7eV(Nu4+6lri$T3KL21vGz2&gR+3^GR- z_|Fm`bZGL{>kt8nEOkqQdP_EBEc0C5>wXLd=GgOq@&T!O_aX}6#(L`Dgu>x(sLje?1fGtu(2t}NLVNG@0Cc{|p z=b>5$Y{#|UXwkK;hv>ibGrn*0{r@P3-XI!vJ-W^p0m7lwz3JgCSoYNt8(%>_i(J%3 z9moA09b-I!31`%%m1L|&-}`B)2-Xs03X(m%Hdkai>|1Y6_D|mWZmI+fS?u01i#8ro%!9bNE2HOmUir8E)(GiRoUNYPzaL-cw1uIj|4w04t!s?0>h1Vg z(7Pek;Y;pRbVBX_v7ch`(vkaec&@Lz$1RZVEz+ai>Q=6FI5wX%kHcWQ>}Dta^47dt zqLj&>0FG|4Ok!Wtqc2(85)KPfBFMrG?lE69!V2Zbk{k*3YT2)rMZw0wzeO%3;_UOK zM@6GSYKYp7?p^W9H?VetPG2v6C2qa_FgDC2JG~4L5QRX`8 zpyG&%)vm+$^)JuO#nq2<^1uD8HXeAj{+HRW4X~HrAo8ce(F3Of4risGy>h#u-?4A| z7+*rr``7hKLap9M%wS-nywrGHXJ?lHhy#r?#9@W-!EnmpBS1P6oXX_E3$tgBh@Vz} zvbC`ZPk~5<3;rUkC)*p+o^uZyvyR2PPh)Ll@5C3z6=tIi14DbYs9e2|bZ?ey)YL&M zo0C21_I!~ayh8FieuTll(m6gy=J`nMCGL(A=@&AjBl&M}x-!3RoXd1y>pd(_NU3f_ ze%pl9BT^edz;N5O&um10Vm|i_nuo4yiWI6}3ol+8u-XSipc^^u#54Tc%YY$|W8h*h zGIq?&I9y6{JE6oxd>eql<{8=HLM6dKUGRL7+7qy9T3JigZqB#g(tfuisbS0ec)R&= z2~B9+_u1LtX0B!H`X~1diMIvA*5y6nYRgx*=e(Si^*YL*hJ>#zA9YUCJ2o|^%qPm9 zGTq#GOk_D~&Jb)~{iHl+j*}=4C^dxV<5vuhf}~gCKm-twbDg`yQH={Cbd*g{Lx;eQ z8GaF0>cdgYyeo1H1OC0GxWLVN?X;dX2W&4t({cU8m%;vv=NGK!;wUR!x)Rnx2bn(q z<3R3qraBWDexZhooW|oD7c!1^BF@ilATDGt1GVxU0YoaH1tvh@Z5=X?C z*`yI~UmKYPYr6C|i>W`~4S=Uiytkcc1F&XiUjCiH(=>$uf+T z5^gLXmiEz#t50JIVbPE#i?Q^`jw7O}+Fes_zD?G@BfxOaz{PUo*2wTaoo^6PS80=& z{xunDIQ08i5KC>i^$|ItRnQV)iTTjZ=f)`yYKsg|9<2Rw1)Q9}Wf-M=z=p8C`@AGf z2?m_vpu-Nuwf`TolY2wDd7_P_z>758_{brlVG9MxubfzulBXD^CfWuV}C>m%{9vYZdX&3j4`7` z&8$c?B2)&cpr^1LhPqeV$^pXYv^`C3Su#dqxn#6Fig>&??r%#FSa?R|x=KJFhsJ(u z=}>_bN6r6t1CyujE#F!M>x7OmYJ}{5?)lffkwwq;zWd*E+J1)f%Gz3-bt>25`z=rN z%A87;pQ6ZYk1L}|V@T8nc&DezK`!S&FnA(VttInTI`>qq1Y z>CAeUa?Z^iHX8<>pjH9nUJpLof7pd+I>;X!-9P8Q{?yZS)?Fy9J7%_`-Yk1f5p`H( z+IIRaPf@ck8jgkzLP@8QB40}j!2CR|Hj9p`A#QZwb}>ie%D&YrV5Ihw;b-!)OutcC zt-pd%iQM|2Z0}bOP35#9JqgC(y@{5;R}S|UB@?a49@@a8+f|3iB=eC^*@~rA49d!p z$2jR4gWC!SoYM3?6zDnmWD-6Rj|SN{_AQsYTIW9Qb<)05trC0&oh%G1QGnJ1X&>r`EpZ zla&kY+`&JkU$V{2-UA8aZ%@kyRcD-Z_wogR7syn|Nnl+e%3>5|N}$Vyn{_)<6^R2& zJM4jPVoFePG?MmuFlUk*P$D8MqC7x(u`|1$Wv*Cr{)Q5Gbk?^Bzb0=C9h}6Z#8i|C zUmRibDFAzSlFAFKB8OY^hKkDpuwI7HMHpu$)?>gwjsXoN54bpET##1)wot98PBhq?}_pk2+`-f$U%_yjod4h(&ACwLKA(%V@0w}zk}#8O!L zEW(^Nlo=Fbi7Un$o81SjXB6??!QGV@uUGRuo9vR%OcxZFEfNb)BqR!|hmtHh5vN7V zuWQYJPU_?>OK`K{Exg;;tq96fPweN$*fieu{@Kk*bIM$=B9plsJYl&`ilBT7i+Vi5 z`b}!wP+?{gOiPQ8{?zj54#KuZq(iQ83nIp6AL^x&3r^FocK9c{SXW##!Ze)OZo^Qp zzTfn*66>$P{nE5=6PYA%-OFdca-%+f|{5q>;DHZEkqwRGBzW|z)st(n0&sWUtE zdy1Q}R_@g+#WeokmH1`13juvRagR;f2ZF;Trn$V#+o~Xw<Prn)~{{4Ycd5Q2nNv2pw z?c0gKgR=pA7oT>LK4w-;QDcXEhHDheK|Z4tRVXZ9SOLS1lI)nTf=vGJWJd3V9Jq9y z*gbDE$MGtP+x2y(JX7=5N4E6J`$KpMuZ2%>J>afP(i#ox0<@AvbG(Cs%ipb%QxTw| zs4Y1vJe&)1YBNLHbx6Zh;x@Fk^c*lwn~Th!7}T z@u7U?hb7K4Q^9-GzveMe3ZlYT(oHeRCPveFDQiUh(o?@W$8y6FH;$SG&9mg$|LoNm z%YoGngH|(#LZrH%Dn&~D4tw2Bl?)+5yRkyl=a6A6@W9c$?aD7#9bjCW4SqAikT`>6 z<}c*s>RmUmmd_35u1q6ZG<601t_#mhPTO9~K3+~{pU}pX?XvEgej(|Rw0l<23!@z) zS*L<0!o=p5V3hvr_gq2&tF71mqLB1_jf_dOI(Ec*Nmqr?z+U`nJ?}3{bbRFR{Y#M6 zdw+GuLK1Bwknz(0td@IyX1X{m!#)egUffe#e;h#&5b%~OH0w*ez*(5KLH035!B`YD z27_rWL&4F|+I@|=P!;J)D=jZ5i(HD4RXjDCk~>Ln23#-p0A|{fcfQ|@#p7cD)Tc)R z|FqPF34kP(9B%6-t)&VnQg8|waNeicZ2CjvzWEo*hS59Nc`wl9-T&mq+qMN$+ z+bJp0*uO0)P<^Y1WH|nu#RLJ-%f*v9xTOk!V(^jV_%do5imLi_b?uFve-|5XJIwHY z{tH6W)0*S#|2XY@p%~Ir!lkArqdK+e>-_lp`R;sFn~_pp!-x?ILr6}`f|LR(GoX`G zDsBP;gUcF)+Jp2Gza20YCYyj+i~&PNP5ym=wfsWEOBbphpGF3l+^$nF50(M!wy-Kk zX9t-J$aHldo}CnX&)VBNwoqr`!8(@@87;G@YfaPwT*YbeRD=Db(?Eum#j4%T10PY!P9b` zPhx;Kmt*Fjl;$r>Yz{mmN?#NPh>jH9Lme5vDlkrBZ(BUek;86#TB07}MYujvjqDank*qnO2`8TeYpTQ1ba(Lq^ZDO3Q9k zv}EhqSt+ebpy-SgA``z)3xvesfuOeyG?FLK%p=pnZZ#e9BN^t~;_%J{kah{SF%b0$ zvHXtdi7K4R9D$vlvtz{3!EWdDg6+I0%xHDT7J-d&@)Ozb`d9b)J3S`V`<)$l`cZe*44#P ziG3zfm#{T*IlgHtigVTY+bT&F;=73~W@}g2U?yM!G4Z&{Xf8Nl8Isw470@BkL#`Kr zQqX?@VwwOT|JYP8QW}3#d(sw`=BCv~L&Xz)7AolO8@I<|^6ztqfGDYojX**`WUz~> zH31CIi>S8U2md~q(Z@#=#s|g6jI)6)ZC_DPpBz~l1&Dc-2m#YWX(2eUzmrmJNID0) z%dwjZ8-y5K(!-mo@JQz?CK4w?xx&wXKtYR!N3JwH*i3QIO_5Nb-;XKpXMe{%miuK< z=*PB8EL?(Mrt6K;pLfAxV)0RUH;zjd#K0V8BI9{A zi}coHeH>bIiCZmM>&E|F6*3v{YP$ZP28(gI0+|^9C>Ck}qz&VGQJQY|?`|BdEJGDd zog$5EwT-i)bcC`HO6~jE5c+yr){gdq8XV0@KGJk}E+t{tAP*TaPl-w?51;Ce{MJ#; z$lJp!xE4cvGz>eTmM~@>rgh^UFvy_v+6qPjA(!IvLW>@c#P*M zWOU2S)*c!4lM*1VMqQoIQ+2KQ+&nt1vJxD?JYmaBQ9dYFvmz$#PWvFJk^-Cx!LD0K$7wb8 zEIY8lma}~Ijf%24OR;}#;M4c`h0eU0P3gopqJ*x!-x}*ou?P)#V*e z!$5P9mjV#79>Q$BJcoOT>MjfIAb}^rC_ohS__vBeq zXHyI5Jg7+(Gs0_!GMUN!vvGq#EWG~$6{L=luK4jwj5O+-rz)vZ0a~0LN{*c9Y_)Dc zPNl{Y+;2v#@Xzt$uxj@C_6CoPm3H4YBHX2DG#Ou3);9M#;~lIwF#G2Xe(as`cD~lO zj)LrJy{*rkgpPvjr`cysIEC#&Aqa3PaC)xF!e_}h>mSlVfDtu7o+B@sAUP~PD$;On zCOH5#0w2G7UL_U_8EcqEos*m_yy!zGkAJ2!Y^QDz0*{Z1JnN~o2Vxdu+y=iXUSs5XqNenT=b#-D3o^?FXxnzhK zQQZVopl6E8Ej7`-kEq&A$k$XW?a%Fgdr!>E; z9-TcpV;F-insDW~eOH{_8F^|HFs`mKZ(n1p;l_6bnfu*+RCxY~amyPCUzqsX9YSK1 zI1}BRiHKw!EjGBnH*}E>WG|zqKG7kT=7K)#*G5T6%3zOcWHbsMCrdPevxpbV5b>;E z5A{s~%jlAO?_@pq$=41A!wiqJ=@+eH>d@Fh%grVq$6Wg9`4 zp6hgl<0-MOxZ`YpoxTIIy1OZtb*yD&0VY=0dZ*B8*|)6Zj?x;3g`OEy$F6+)&^w#5 z;>6ftZ$jj@O7yjCB0Txe;tm0@I{J&Boq3v^6bVhGq3<`5QL*=hm6{WBcrZIXFL#MLiwlRE3xn!SeCg?V7zd|ZPD|HQcE({v0p69jp z3`|cU+6~`W6cjoaPQ)GA3s)Nd9|_-<7nc$m*j6&&VWl(G0ykzuH7SJ0lG&@I=Xt2{ zF=(KRG1<9wNQt2u5UIGgzBFQan*nGGLbCvp%oEqiY!@=9q zSitq4ZUAP*$eN1o9=35f#v{ZjVQTBNvF4DPlK?31b!9Drk+%HW!nDN&>2VHSmNY%d z>77UiN!ZN@9!eDTwE|(@*kWw@Cj5$}w`O2+3uCk4LG9QwDgQ=@6gxr|;*!%4broSx zlD5dQHZ14XdMZD@TpnTFFAS|tEyW7m>;rC(V<(N;AIbQNjH~E zLfzU;H;h}^JallQaCuY8V+!2+vJ@Pu>gwSMm}XLGGin#yJWKQx>G|Rx+ibXhk~q!9 z@$%hT$x!Nn44##^tp$QO&;eJC19tQ7 zDdXo!2q8`FtGloT0mIl$|7E*>LBMXSRmkDH$Gy_tRNi_VOTAR}y3FT$W4c}6eIp7h zuYy@y@hOR#*;F%Lm1s_Q5+%!*o`5uM7kEUw7`291#TgAa98oQVrT8h`Gr&Ywg3r=b zoZ2$Y>3X3n%*fK?3G9ftHNy148m;LGigKb2-`dBqa_2~&x$2rbHVL@3s8kPx z>lyFrWdeNB3rVYaCS?c+~G(ZdZmP^qnkJe{=ivPiL9GEEljZR!$XCTZ9`RlSyPmq{jWu#%J4@gTS zX-Z`xiZ1)hh!vr(pF)q$WC#~ok3zviN8m=;B;Br4L4!-309-hhAEci7#ACEU_Tm{> zpsdTunjvNUr1wSs%!qR5hG4D~G13#&_q#d8mz4-aIBRdQkDcl1PHr>AQXJ-8Y`gLW zVmS*8+<$X1;wzX8M!!@##KEo)b3}IaB4*=`-i0S23+f%m&A5%lPFTA$-}y4x;0UY{ z>ne!2q_@p=B_qd*rRqqP^Cp`4fGx+_@e#ElM;cspHVp8$-cIch`0bmsFdI*x$*-Nd zMG;*Ly%*6WvtSgV$ZY*;xBacQTvi5J`-QKdAORh1wu6c+EUHV@uOoQlOARP^aAjp< zOg#b$vUQ)$EppAjueBR%?N@#{S(nz7BnJQ`PgO`2bMapiTg@@FV!4;r8E%}t?a+E# z+e&oCOd`jr#fLTsmQ>p_Ea!vbZLA^*1&{D|$e^B4?VwdC%r5xnH0V9SVaAWjA_626 z-4@!j+U$-0Rub$zW4A_xSO+b3s9D8v$WM?YaDJfGybjAM1C9f{v8gRHbBu``%SzcJ zjOc)AXH8P{QDNH*1JU^E9Fbo5F+&dV9^Q4D-mSsoIRv~pYfMI9*P;6hc=)Ul?XcJ& zH5z!+gf(d8@(caF+s&(gjT)(r6e4P0Y!B~Gz(L}Yul4V2p$pzGk<0Cv^3i~Nu_2;_ zGBv0KiAiz=#U^r3k9ExzL;}J?hQ!}2Tu+K%)vtq_nos~aANGM3**N|ZYbdo4j7aLx z5NjBMUlr=v1(ZrRKw5i_#tEDMjzaH2z%hu$sY-5XjrBMSv)EvXd#hek`&!O!lgR|JB|#I`~-o0+W_ zNWms|Q=ID7FVn_H+oJ82xR^$Y>*$$|ST3{#m3BHlHexwp<(z`ZBgBEUYaF@qO4WWd zS;tAK(Kk2~s!|U(9iwOIer)u-C8Wg>)i;-bAiyA`$+l@42*!mOtR6Z{(5V<_wc<7nWJg@7)6O3gwyafc@2Vq;i*F$;!C^c-PYSB7O>^Ng$Xh|(z zLzl@Ux`p)A1Lda1&RHx*)c=Kq6#(3+?W(__qL1_FYay4M4bEGpVI2n!10BNUmwyyv zoTtB;*v{~>S?I7QsV&A0rE^lKvi{U2tsIktP5h`@4h^3`=s=x9m+;e-m_&}NksK`r zInehI`YJUNc$^A){Y+SpCXrrd;;m#{aUYW)K=LX>?$5L?Z1V1MB`!iXC1oLp@_i3ZfSxQ|XO|=;E?lkqct0xkQvS zbywIWOGj3OP-y{X4`KX;TnQHl;7#qfnJ(= z!=`90i9XaVh5Gt)WxGq-MUBr)7V zah#_7Zvze)&6+nlGMT1?wys)N_Qbz6~djP8MxsL zEUc;0KJpPb0#<1WmhCm7)B3J@A5OEXzJ{E;-mIar)gc4Jw1}hGDXXs3sqXP%d~e<| zRBCBRUlb|`7zGOnxvQINLjeE;=-@k~2tu#e9X|x-UFZ8MQR#C2GOS+)U0rS_ZAQs> zCIy|z!Ds{&c?92!eBVC(g}|jC<;VsA_+h)M$w1O166$+wcWQ^l;cr?;y~==uRmo5} zPMpt_3Ojo6ukl%=!!Up`loN^uMBdOLG*SfH2AClakg21`0zeN`aq~*zd#;Y>@yJmd z-2q6ElHu2UtGYx2W565qvI59jE0S>Oj#cV#ya5UER#?vNz`3_F6?(aeCI-AGGRey||lr;3!Qu7&RMSp1*9gaAl^ce$+gt zROa7&SbUdkf)zvJ2Y6BUjm$-v^=N8Y#|QB%M*)MBRE3^0;4o#73m@s7uP5fq*@wYu zQ0$3`sq}8c5N7adJWX10kt_$I-c6<^3ExxN^%W1H5vp6((JLA}8Nx$c$75TBJ5kz8-oZTe5_5`S4^!b#N2P9aD9BRrCDNIf@pv5_l}u!bqS*` zVQOJx+D=c9|4K|Us}2KW=_mY`9IgRUt(Lm}h+MA{)Z49g9G+S{`4GVV`uQ#9597#j zVs%~tl4@kD%2bg|nP-b?B)kTR)pK)#tNu`wAD+<@~mrVJN=4bBlpq zCpC>GO+OUw2Y42>2LH@r+grbh0fqok$S!7pClQlSq{z%zn6~4_-SYLDsTk_Tz{}?k z(?@MFjJ(8;_r%YfV;Wy?Xn#?=z;q=|ePtCdtx-oHIT4Bhfay^r9?p&M(zLMRUyNFF z?nJw<*^?&TC52yb>(Xd3R$g{ou(ic6yd5XR1kU{!T0fDWoqP^|I1Re*dEad#>gGI$ z%f1tapRMv-@iHI7q(_dr-IG*4nRXoO*X_b>>)jT*+1s0TMo!B#e0@5E2LND64>7Hc zRQ?5j@E|cMWCG>EJyA^SD>j*#2f6+z6{yuJskg^XJo3bU@EHYz7qsj6@m z?nq(;rkwuNmGP4EJ$(biAo?VMF(U1VcEE3BysFh>YjU52g)|2oSt*xQS=+FlKgm&v zG?J;*$Uyj)`P==_Z~RB9mb}NA@h5jO9Bb(wQEJEng2(~7OSg=^OI@k1y${P9z^YtU7h3SF?4jY_Q_y^~ZkGmPK-7Zj zziLkDOr9_NdcAhjL6xW|L;BBEA&O&@kl7j(t{tYb?$J*yc$n?U#@FQ-^t)KJPifOA z2vSV$bu>`$?xf+7M(&=x9pcIT3abIt%Cfj9_|1D5GD$zTZ3MN=CmGogjO+Njlc^(Y zv9QdQAV@m^Kn@?k57Tf0BosDy8Yw%T8mDZ-{k7mZxKbNl*M-*HPP_9T>05y89_0D@ zZ;5}&+7MFmvNJ4MA_^viTtLIZf%F(QP?QxEinu%x9m!5h_%!&@t z#RwDr&1YK*y8IN%8{c9 zf*U}cR7IChnUq(fi7I_ydj*d>$Yy&yAH%pP9x))9wM=DDQ|q~gx44nTW*CdU%$Fvt zgcZ$P4MNqDsEL-Z5YqmCEDgdg25en?bl1E2ZiG=c?w8_tC zjLAAiAjR?2tlIlsEZ(@Wk}A2z2F##R81M*8b*(RN!^aV7w9}@#k58`N?ylXSiPd!H zOY0|dN536iF`;pAga#q1^#K5=@0UaH;*13gYFYN{3^l3)ihrIksG2lH40c?<&#i6C zX&QI7JaQq$!3TlGIDQ`9m6YU2)7pt6m6VLvSuj&7)!p^1Sl1E-Q$i&Bc$;cJdG4xh z<$7Wjx$({@w{2?b+SN_XDfJUhQK#Cd(bq|C#BdnUTi2%Uwdwg{p~rKJ%W-@3`N**3 zQVp1ll$AU&{4tnyj1_3h{wyHj)4~bDg$=0{1KzMi$k`S=faK;LPf;Fe-&mIouD* zoZ=*iN`k)mtg~?aw?UUdz-6$`UnMCy8p=ymTNZt+bw~Z{vW*K;8s@z`NtTHbW6r;6M8>EOOr>ZI8Ec}SYh2GLueS{1 z_s{NZR&qo_c)kCfgf;*;Uv1W}5P552*bpYYtyHzDA$a|!jjF^LdXZoeaPzkU`M_^n z#=2hyeKQZH!`r%wt2f4PFe1Gj>kIDIOm`T#xTTtF!Mb3&&X)r!$F?#ve2Bf_i~U0& z)47AEL(gV=)e+xA5=7YjDEtGQj!H`TjZl{y3QMjA&B5HOJmeD(XM9uyGmNo@hz5iL z3F@26rU%!!t(O2z1YZd}lw6Z2J(~B5P6rwE>F}I>$A9Ln8&PE*YcF-U;_A(um;oCY z{e>lX(H1-tRdhv>@?Y`W+!%MH5=CJyv2yxj8?f?}d6mswn{of;;I8_&^r}R#tb;QB zOWf@FZN=VgMrdUK+T#8;J`-Bq9+x^DGnPE$?a|c$=rHAnr8!yDK0i@khmazgeA?oT5Y_J5kkz z&Ztok9C4>@os$M20;t9jweF|*L|S58ivB#rNxJgZ2bGGA3Vm@U)DT8L=0B3s-bPo} zO8!*K>8qp?C6Slyrp>IWe|H^3Kfmf4sWoc&5zDqvGHr63rdKy*-OpkEVAg`d_2fmM>d8DyLB8wgUvV{XUJ=M3F=xg*)(^!vFxO*%zA!d%7q)-@gF$});o%vP0m|zLomss*^m=Jm?KdvZ+jTP6Q zR<)RWXu2iJ|AmCVLD=gS8-JO(F5MF8U)?2CvBpacugjK;lA^0T?rFejY1AM>O#JZB z#+y_mG5Y04c7|eZ#E`Jp7P#c~HT8yBK7%z(B8Oou8zM?+WrxB*^pWJ2X9|^knWvu| zJ|S`WHCI)(p5KI5a}mD2FmL?jn`;&P%x={nU&H>7SM56G_V;Y054=Jm_POA{5gs3UsXX)f&Ldbam^>&$&( z)4f%qkm|$i1k1}R4|&SLkJpGZ&a_~azxKDfqqEF^HAq0YN*3Hz_+{|Lc7ZV^?il9D zbHn{TPXo+9m9E+-7;p(fi5}w`)JVs7G5>XVY&{53Co#bU)EMwjPFQLX!#7c2+42-} zt@w#o6rCAa%{1TC_6>NK@}Gj32(L=1TDj3;rmP#%>()~ldbptBf~74^t8GxW?UW`E zZ4wzuYDC~w!k8y z7pxhlE1lz>t)b1l1m?3|_3KdT5Rr5HEv?$gnyXm9StELPg`#lxjelQfaIxW@kFfp5 zZifp+k+VSI@h!*LC#BF$UtSC#CI&1L7$QfupG}U&!is@K<4~>msK;H;3F(j#>r3#= zR{hAzHmUlHfANaY11Y+AFm|F_ZvSOAyT#!2ApkR|y1ZAz(Igb%fmKi`b+nFN$E*M1 zg`r)75r(4EbLrQX0Tg0M(fTB!iq!C6>-*dF`ewjVu-p!KzV8Nx{FT~A!87+p?p-TJ z{j*FxcekL=NIG(N3h+y8MZjHfR0KK}9NLNkngqOYLX+807-NV+P0#4pFI*~#Fcjob z+1=teaHnTK&GK~kgAmH1kh_W|ymd$4W_)`Db(>v~67kCn zs9c%)eqsK%K|4X%%V0?M=INmW`hb#eS3D@rREaW z1`YIt8+JH|?&!@RatTDz?p-3b{#UDjXu0QrX8}%`MRNTVqy&hfIti2*{^c$L5^Si# z9&{mf8W%kpO+df-inBNur7#pLv$c&XxVrP;jRlA11s%U~`Qt52x+rWYE=#rh+@25 zpnGPLPmOt3(Y<>o8f+CNhi}d)Xo>T=@7W?ZV5e#S_SgIAqsIF!)iJf}>{@o3ZRS+x zY>i{YE0IS8nKdH^)@Dq1y=_**ecR60VO;zA`&J%3Pd-IQgBr(_*(!bjJeiv{8GU`D zR%|w2?T&rabtPxu#3fmf417s74zHcnC)1CQs(2O=GDrw~rJK|Fdo#8EqD@7$>(t^z ze4oJpDX)sa>p@|K;0=E`Qb9hjZ;Y9{E|y5T?ltws`60%cNYXsmHi%OfbxDF3mq9-U zjk)_vy1sqQgg1t{dse6J##bCZZC}Ncr5g(S3bEkit2!ASjbh9rTk78&oCRB1Wu7FW zOsHyFfH_}@84fFy$sZzdJFn*D$^j1FzIKVez3(?)YB2Eg{s0AOH(M*v(q2zJ`?N$rGjfad5< zr<7Ih!PoJk8*Vryk>N)Lq8f$5Zy$fOY#@vOc!PX^27ibg!~k*6%$xs7zCX*by;mW`{_x;~owhjeU;P z62)G#7|!R2!9~(-+I2?iseX~ zh5$rbQnLl~OScZr>x6f&w1Y(7L*i7V2QFKLN|~>o2iCnKF^OPQCV`xs1N%p--gGKj z&XMGQuKE%L3$R+hV&)+fl9)EO)zrtb`>bDA=1t#=^usP_8a!8*BP6A%J`9~YVN$q$ z7A&W25zqYEvg7SiW7R<2v2I%`N^C*dHmx9$TtbZvZyzIACDm-xU>o9t0_2rwRZtMAPrA;DJpJBRzqC60h)rKUNVD7x=M5>FhFP3qh<1aJ)i$ zv61B3&R^wf^D49!cC=;F z_;~6+&Mt-EYK}Y>x)^_R*ynU-d#wa5_WV1~FPNT$PDf1teK*X3Vx(ePeJ z)+So}PkM#!vtd~C1T~Sx&GB?hNHWW}N_s$1s?rTq;A=2}CE))Z3S92KZkZ>5?%ctD zDp&ARnAPv9qA6eeS`TX~G(88nB>rd*n>73pAku>n4#^Jg?$vU*NY*px@Gn!p5dvE`X40W#WN&BH9mLLrylsE;A*zjL{OAU6W z`XT^2ha@GXh8bBFwfSh;Hs?&)1OORW(%!iwTWA+`$9v^e3Z!^U#;mZUS6YlzWYKK? z5+h^)9)GF{H%XWasAVvNIG+ z#t_6fkH$LxQuGzqd^|J*HR`NTk2WC;`mf8X-ipmlvbj|| zU;fXswFtnDGTFF7A-WWmVr;Z4x5L6ng-{7DT)?1MSC?rck8*+R0Mio7!_-YH$pY*Ma-+s)=urLaIR;)ae|3Y3yT%gyJ4`O+ciT%T zhUH;GsLQU=1;7t9ZOIcF0hOdGh{7ZWZqX)MI)AE!y!O@9?Z!-1TF3|xKFh}$|11(4 zKG8<;vde2nwj1;j8;7K{f3*Idk`GRTGuOYd#t4=hz*E3M?jdp!fZcn;FbeaUG0nUt z-l?AQVAdOr9e`WNu%!tRk#D54zgjLtVTC3HiKk4#(+6GUMfT%Ek1nLU7t+VTNY~hCa_}*#esY%Z1u?f7|FwB}@IT z#oRW1rOoivRg9yV#*P&Aw4n6;CMzlLy2id?pbTLmc~70TE??g%5=SvEWE5hdZ0Cr$ zS1xM@PfP-H*j3H8f>B*s1W3X>G4CS&R1wya;q~Z}phe`< za4GZh*g0)iRy-@%K#e5O+4d@?O9B}F)*2GGAbhT0`D}jVS z>G}DFuotx@?)R~%<^qE-AeJOZk#|RESdk-Zj)vIU@+U4iXWf*5br{tp@it={r+4)C zV3uB`2XXe~kJMvGS z?ufFUQVKk4D!+s{^|gU;8o1b{;PG=EE1EejqtPTYTv|>l zbzpXecWKmBHVg!g?9LEz92$vB+Fm%tQxFczb>>RWu4W>Eo0mlMGJN7+SXY zH9NVYB8&eJijfA5aCRs+%TaT|ukK>eT3n zI)>5bY3J%S0d?Dw(BkCn3{Gt0lwzp@RDn@evjE^`0@ZgzK z#CK%>9wfYkSKI)gP%h?j54zQ?K?3;V+xz=`XDS|?7Nvbn=j1dPaq*VBQVGWkh7e}Z zLmYfpo^{9i$YfT7e@s}8K!Ib5Jy}wa*%BdaahmU=AOhiR0H5O(|7MSCIt~QoGX7k| zV%hzVv=0If>n*ijP)I-14d?}PIT8U|lA#yi8JmnqE2UCA&2G_$g`h_)yLf4jfLsye zkwN{;%^j073)+W;&F>C{$o=k%L|%@I~#p47!KP35mg|_N@)ugzZk!_L$lE zlH)E?QbE`;V2HYc6tD3WWxW_Dru=pTvZQH128mfx;bGsnRLG6G4E$BLc!gC>sU~GI zMr=evaXh{g19snMNcxnY0yuTleuB%RiR1Ia{ER23wb-cUA3A-?rLkoh6pPCeW&^xV zb~CB~J&F8Azr61>KRlT*Na+qI;-f#}lMhF@nFg)}2oYmQ$WhHIvU`3?$OkiJOm}^N zQ<*ag8sscO445bTU6@6N#C=&``#kf88IT11M|IAZWB1S--D~f6@AtL;nw{_Ozkiu{ zq*_{c;*6Q5x+Rhr#(mwB!hsw00UNNb6*3lUbK~0R!Sb0!`q0eF_|*6 z?0;1?0JIH#LZWkx5$sl)5QX9XkF<+j&%%4CV~0@{trUHInvatL9)j$L;nHF;a_z$2 zoY8U0{qcqNty4rd!P}gMq4KO4IxZPnnN;-#1 z%63VSaVhGgFM^3E3R&Tl<%6;?D7)|w8b-g-Wz+2R!Trz|dH(|)VPD?aaYH}OMH|5_ z53AHw-Mn$hz#i$qlb*z=0xRs5-fk}0SN z(|k~}uy|n@Joi{aXD+RkJa_M`DTmyVPGI#xH{f!`oio@a0A4VfRGe9Oq+~;@-I->u zUMxa51{=ITEWr^JTI>rhQ9Z^X_3K2x4xL^fOqtCMh7~lTMXQ}{66bZz6Sfsa1^}`H zppEQJ>{J?~zjk~nX6(*F`9!YljM>=Tr5gYHk?)UMX&@L)Y-iriuKr1~W2j?cJ~XNr zzQgjrAJoacS7B$5MT?8_-wARp&kif&&H)+vv=ESH?Um2gf&;nr9T%&+*(AumaWPPF zBcQG@@Rt*9^`FW08wRw$(v~YBVcLkg+XUziOhDJZXu^=PRB&Z69W(~iowR(}j(Krt zCXR{KJX6+mZ*x%6*uJ})EreIUd$F>#u3A^G+;>@?Dp9KjCuBdr{P3dsM6^M(?0UiQ z*PT38gL%NOq5rp~{3!!E!guKTv%8Ph?Hy9VC2dFB5Q^_NEYV9S;Q?vmIQDK&_EGcp zO-bRC@w-LOf@20~i_8;=NRoblvYs=Nt=T>^$sT%B)mLozA_f}#QeAMcnYZoIFH(;lhj)FB>mlVy8JK>oICqOyy<- z@~aKPZG;44h&|CYShls!pmt2|S8V|tU;zPmE&x)*GH);3FAh?IMJ%*~rHGp!_ng5u z|2tCtQMUut;^R(p*DGVQv@NO<6<^VQg1LTaC+;`y!RT?Y>jsNN@Fia>3i0ED6)iQZ zbj{t{sM41iyQ zB7udglX%aL)y$k0C-sBDC84KHG=lYGctlDvahiprbEK=j_Q&iq3q1fgw+bEfvFO}D zrA{R#BTAwQAk7rtiM&Iq*e*!1gnHS*l&!b%qc`kE=2!D)(B4`gs{YKMJ?3|8$Ic(b zRwfkUJ?c&)pr-aY&@zJW)A2rX-^T%X5z;dZa90!e<#)shb`2NIFe5ZUBkX0=p5$PU zGHl{8F))x;frAqhA@D#L_^a*&?=@VKWry=6_gaG4ANWQU<6OUx0X?W`NkjFQ%y387 zLc31ls!zk}4|&rbj`wjvzk=D?p16xyJ%`=Rl5V7bV+-z%fUO-XS+Q`DXrFi;!kmoY_kasZ5+*bipRXE+L4 z0*6!4@n%c+M86*gZ~WFV5)l-E(5yum^4!MB7;Fhl0geQYQbJBC92~v>j@?B7X!XCj z3%4DG8EQN=EG|hT)T6E86Sx55{9ixeFG7uSp9LmKPD=D6EAdb4%?F%aoX6Kev`zG7 z5mA^Q&oON9f^AR9ld&H*^VMwf8fW|P5CUy!(;zA>2sX{qY}@^JX>K;@A4c4+Hw#PL z%&QRvuLtj=8*GIHcPc;n9A71L5c!&=^9fG{F-Kl~FJ!6Yj7&U99E?J%9IYr0EHz;1 zihv1kl+QgT4>19D2J)ang?kSinRx?;Oq9h2AUOk+ACAO+Uo#vfHYx=6>G%Yi-Gbmd zp)v~(==p>N>;g!QAzxeY zRvtD;c#+e`;QY?4Dubh-kYeqx>wQDWu>9K6&&P8Xk(W@Rt;_q#+b(WVQkhIorBX-q z;%`H0NbEDzif#>Sqzr}l1Z5mQvxs0H9xaW;&eh!~@TMHJdW?oTG0lRu#Iy%$AK>nW z`V$vfCa2~G_n_GZ97M8J#Rfl*q0&2k{pqK$?$6`~tq6v&Q$WrHlgN zrtQg`$aK}sE>OK}LJ)hU3$B!du_F;ET$YuyI(ce2C}Y=psi8`wuMqqn65avQ$yPdk ziYi&6aL>YK=PDpFf7{DUQrjhLtJogPZiWfoRMCi2(qa**Odq3luTp$i#P6e@F3?ec z6`$X)TIsQ>MW7Wsv*oR%kV>3Dl9Hr#a;tWGp!Uex;(K} z?qEcz#}GdqWRoB|;}j9znoHMc~$IbMn!UbR!N0{W3!5!zyp;yp{NQRaf>S380fIMcFl3*@680rp(0c3X( zgmF>YYXM{XPH^L)^UlCxwj+{77|G6Bpdv^k0m4TmEl;!yRgu-taj8w>y3jdIO;2+0 zVB))-+E3vN3p7rhLRH@>CVm(E2H?x^!C73r|FhAgNM;f$s-?kW#Eu~MgVt~gQ7As4 z1*EZHCWe|rl#abaw_Z#FGN5d36_f@nAXKl&z4fM|VoVFOoKfpn&glG=8;o6Z<4eMB zNQ94%fyk5gEJfhN(M?w3Z4MWn1<9V>`n(mX(DG;xU6ny(7lM-r7s_CZ2A`TtyEbRq zMHR1P364331bxW+7Zg!JlbqwUzF-Z5L+rV1-t~=-uHv}j z@Q0lSQ+iymdlUSlV&Ss|L~?;3ln+cSEU;h4D@%q@=Z?2eoEy&n4)S)n@oaE(IN>gx%h#wanY2{i(pf>qbyoi`5pm%wx+)>8~VYrQ_(S$*%fE4d0X7~wFV@_57>k1jo;l0T5BcA>{n)%ne2i9 z@L&Kb072^TJZJF3Y6gq>HLt7KCbwYvW(Ki2_PVol0Zdo$0DL&zRq&(*diY>cx$z<& zUjYo}D3!4uS&6%{^Fcnb-TQ_169k5u8a$p|+%3ngg^28+Z5HH;Z7kYw^`(*;qT(8G z=Cdb8Us&A$mJ}89Id`Z8Xf3 zbbWA|et3I?7m?z=BLIR zB|rG=2nqMYLy0$ou4PpiCouM;M>bPC3yK^5dGW3`V z=Ha9QB{fVA6>&BY!zB@AgAm}OQ9<%xm)+exv*_HaiglRE?hgZ-VYgn?gpKs`TLx!# zs>JZga-`i3d$3p87VBYh93@f@EI!{wKAYmSn{a2<7Yr|^RzVKf8aTe2{QcqJWV$Sq z>-e#DNgEpeQtg#w#Cc)DThMA%zqZ0XzF?I)A;!8X;kiLVT=<=0D*=vEF8dL(`&BxN zC-aZ~uXED_ek#I3N!KmfOC$M>1dJB_A*5$322Z>YmT6Z9>5G2M*goYII&6(1$ww?c z_%Vi1GPCOQA0B$2tLbyVC#G+cpW6QD&b&{2`}yttZ}1;^FmXm?rkumkUSkyI&?KcQ z7@kqg0?V{22}tX5xiGzl$6+u#1T3NvXro;pI~0AO2c&(|6rWmT`$>|^_E56=YOe68 zyW_JnJRJ1lO_!ftj@^<2(2k$h4+jVo;3Z{WkP1(t6&RTWX^I!kp36s!N6@vaF}VaI ztw8$rhTLb@8Wu)+Iu6$8t1DRlSTRzaT5Kuh7t`$%|0$@F*yDAG-ZKqKR6>^h)%)i% zZ0x5vY6G&W?i0)SDs@3wJpb#@k~}}SyuXaAi9ebuPUaJfhqe)y$AiiA1pGmj_)xfM>3~m9AJJpx$ zay3=29c9=%w)p|xmz2+z`kc5Ou1hMjy2%;^mz_MuG;t~sd5K4nO!>>g;0I>Tn*%3% ziMH$_;&lU|AGJ5Jk%A)LCUXmECj|Oa*HbT9V}iWDIz}#|8mptzlgKCs-H2$Uj#rB5 zC8g=imyP!Bae9-T$F5PshVr|qwY>l7i76MN)SxU9(l+E2U`1iW`fBnY3^Xgr? z&qp7)imThTRwFHDJ^3vjr~i2S<@~&`@%M$VXhYppo{0{^&@SIld4>oj$qfd zCq(VD+$ZgV`g{#ujubAMM$Wq6b>!`e_dg8v&>wUzuzWNx8i;r5zG`I8>kF{ zAL%|STwD*)FtPMb?@m$N=;oB$_aEiX;GfarZv%G(g&A_ll%~f&w>@(z)0VrCzQMz{G0%Z7 zP$W=sjHJ|z?sxv$GjW@l7@zb%mT~t>ugOfPG8yIUmtWiM@Qm8KURlIu$}J3-v4=3q zXZl~v&!ticPm+8+ckLbN^yOn3z|i6^N2a2(K}j3+Vfp1nE<4LGi|2?>LujNPL)-%| zT6)jwNJ3hE!KxtV97;mR6joq?`ixqPO{?%QBIRkA9O>}6cioNLOvbrbd3|hw$OL~b zD$=!dWSyQKr_farD1)Lr%Na-uf9=k$&Qe$y*+QK3%0tODMp%;cyNF`5M9%Sub$&f) z#n)FaSLzI8Q7_+km+@C1Te*_xoQR-?wqh<;$VLDH zhV?RZ{C{pf_`Cx-F~D;TggSU~F*?Lw2#3cy(4-F$d}VZz7fh_gv5~-Ow8kCoG=K}<#7Ibas zrl-6&xf@ZX+{}=)x{{zG4~l5LA={!CSq#f`5UJY6QG@5sG^YsNS1i~J9%^~8 zg~83Pf}ivS9#tmceT1;$6$sm5(aZ8Wagu4=*(tG>_h|cuQO$GZ+K?^Yl`KJQr7F!@ z>r6-9vK6Xhz4x2I+1^cg?mm%)WBb`wQ2)7~=i!;SJfGiOV*96NN9uFh+-4IK{_=av zrjqS%>3(21K_L{z#o3o+gp=XI0rUua3${%z8XnRLT~06rq~f5e0>M|Q=%~!jEopSV zWa@jYNU@yxuDWGBm{&2Q_wO~2nl9@T7F`dY8<`2$CN-D7o?QWnFWJqE^Z(jtnA%rujrJ!s%wda)@F92#^2Bx6jVKzil?YIA9PsGcB$sEf_f1 zHDs^y^UvuxrGowR7yXwQRlOK^X(hI0&n+cG>5GoBWcWRp(6~bJRp>KXwmiivuCFAK zo6v}eXy(5mhasV6_#k9{$od;}qH4CzPA4rIPhqR@wUs(xn!~O((A0F1`j6w-KOtow zcdt80Xv7H(D#hP$@~CQ|Ej#;5Z;|uI($Z{KOW49esn9yF&K>`Yj!J)9c6c-#n7H)F zT}0{dKOLo|RrY6xW|kZt+PN=|Gr)-g{=gJKIDkcHR~5!QPBknQ0h8Y_@;e7#GJ=oA z`ui>=k(~Uhc!Zj^1_V#>=$kn$f@k2)lYoC#WWjw|hIW^}20GHTcH^&U!&=E_Sn;Jl zIUX%=IY#*5>S*mx?L;U%U+&RbW2|CUXsCozH^m3T}+3krD(ZvW*^iKmE+o2)+?GL z4<#Y?W?g#qir}9l+{XQdk(x=x3q0f$&CR1NcuiWsK;--YuxIN}^<(OUr>ej>y1A55 zh1mjiHwoNNsZNv_XK5-KOrY86$>tCRC#bk zm{VHUFS}fm7i5x^Pw_g*pr{Nu$lC2mEU;|OlYo}YS`-vQRXTFc68%3&WS;A?%aqft zZv{7HIj>NnFqD{@V{@Uyw_J=48rAM~4n!c5O9sT@!gEmJ0dcskzek157{ZS2ls84e zJhlCH_e`<xO>P5eyXPP)N09xhXccEZ=a2fss|>E zmto=ynTn1*q0z!z+R&;Jwtjb|yqS~^7^Nn#{E;XgV9XNT;VGg}Cr^BH@Tb54BlGlA zid0)y@>-|rNlA?49tAIhq$xHbngnv@Nv;1!)f2t(j4jL?o%PH#k_ax8Uml(Bi(2Zp z1%?D*espeZ?7yWBv>Lhii2(_**yEUM9~g;djUm4=>B#5^r?4|h@U>K380FwN!b79y zN)HexLIOPY2H?E1T2{sRK51-twXDHt4<$U9^-A)l06&^lws8{l*6!Vtj#RoaWf#x~ zNuj=o(+{f^bo|lbrT0bqICXhoJr<{XSj>7uq+5hnT&#Os)@&{sI_?Vdn2DiH&j&y5 zUKoIl0|wwf>kTfLIGyppsRI-^gAr4Du#L*KnQ$1|gDs`hDuWCs>6S&jmUOg2(6CDK zJc?}H=3N43k)kt)ap!*^1i{kdpwX(rno(9I#RaZvPbqZ)Q9P)gauaLmJI)G(Z9-C} zF%ZSbsP{9+-feM+y=xb{-(Q#Z9d*xy)HxyITQjEKD!CQfaGdb4q6UWDQC_V>(opV^ zTnd0^lZI}Ukm|=MM9o0p+SJsNp_+KNb1ts)*Oa)W8mdt4u~;s1^nxEUBVVdx4;F{E zuM=SG)OcS`V*K-@?UkRK=ePZAF62P%g95U|vEZFzKdwM}wxELgNpa*dTV~wSy{x8e z>> zs6}{iNOJ)U*cmv;IAQGHV^L9pZw-m;vc+Ny#WOVFd?O3AGJFF%LL%@oXi_-huu%!A zgF2=j=|N6}G03JuVh;zq`F-3@KK2O~Qyo^)L^&}r5Dpu{QqwtssP)nb@*G2G5al<% zfPzrbF))=SP{7#;7tmAy8B%%p6f-0$)~9)MN#kMPg95BKSaT&UDf7<+lNs~{kF!R>JhTA>)h})1cg9Z)Pp;AEz zNMXp!s|qeoA>hhPBYMu~2z!>ZOxq$h#v(lZB|!X2#tA9!E{`u=qzqLL5%pOfaVoFO zZ)9wXsPrN2qS5mRI0uxo6LGB=7vFFb8==L5Wk45MHWn0mhgI) zOIr*4;bs%*?WX0-9<*@&G{3T#MzQcn?eF*I94FE{xGj{3uLa8QF0>YbM1M}-GvgC`Oz`{O)no6pmJ`RJt4cim*n{wjj! z;=U4Qct8FP=wlyR8n3BJ|QU1vA$kxnx?YT=}bjS+tpMcur(yx&v`xdl&Vh;7` zNQAgUg#xo~5+V{dFUpq~-Fcb_n?vN@ai4BE@=BR!8BE~oJEVCEUioG!#X@l09r8hmRts9f+)&KDZ_F>`47;zY>1sr z_>=h3OjX|S@?FVg*~833$HN}bxA(V~{rAZ%uA}O+c>+J!z1RjO!^{0*e%kT?ZdeWg z!HUA5!_Q$mM0P_9BE((kFl0fPLIJrAg_7Bl7Ohmln&+B6$sC5i<98~Ga8 zjm(qD1;|p1CUiJ^;!ctDk&Zy zSXsC&cf3`5ZUXKR`&xMrShwl)F*s2Lhfo|IQ}p>`+W-pU2zAO&_3ocWOT(=xv0Kx~ z##&_xTBtWS%ii=tRHk5*+p4ijvui?h#G)(UJdlPJj||DbLGD8!j)qT&Xy z|B>ke0N&JQ8LH6Gjg{4(fdpr(xq9ne=6f?0Hq$puVYL6(jR#-+8^|w)=I5xJCS(S{ zgndy?wFXlnkIhC1TJ-%j^m$E#9T@P(I}Nt#W8%-W+mu0p8*CTSjwDgyOrPnS=^T&k z#ju-BKg*iylfzEZHaUGH*CN{1%&}LW#C2s_+Z^aX*m{lGg%M@g?^EO{rR4!egZ@xA z%D5Hx?0cNdh_G#la3QXx`!eNl((!UK`0q_3V@vz~@q=e6F#I<^uR`3kKe6m0smV=~ zx;{B^!Ig*@Viw1mLAU_b^x#TI*|-BDs+HvUzMB=1M-M7XWWvDcrEmMB?M97{E#1{X z(oOrj@-zf%hBI53r#mJNGr*pAYipTnRyzvZ|2`OxDSkw_l2=DQT~uIHH0WN9!2h|H z@N4Q|;d6w%u_Ge^s!8y=gY zV_Y&MqVn;3488#f26b$W#+9d zq`NI>Jo5^~%~H_J=$;XnqJ}M>!e9lYQCC9`7sU@Fs-BL5uR_n*p|K3Dh0mt_3S)3uk6=RxTOoY1vhVmRfJ0PfhI{Th|w%j;=?hgh&Q{*K31{ z;_EG;h+DOUE*OzbK#tby%*-=!jk2K&_TIKF|Ftb@ETetqCg5cj7eA4z;teM}gdp2W zj{miLN%Av`M_qJhcU`mg9mVUW#tAhbr>uXcziXXs(lt>I??0B=M zEFkHC1W}t9g2;&IP=HBe3#J;1*U++M^;JSQh(cT3!{8meDq41@9PKf<<%m(qg_$6T0@Z^O25Q{ITP_PhYQg^^mGm&lED z^XuJ%zO&iQds$B0-|OZkxn>I<9z%jU?Dd~lX*H|K)>d5b$In}X12Fq^IklMO7lF0} zj?xI0CV)$Ye~J>NFO9jHWgVc#t*i0)q!#f~s{6Se!bhZ3s)Td?omrqvBL{|J8 zq1~2WDgrwrHDpY8jdfZUdq`^YPb_QAe#-r@}l`;}B*BN{Fx>S_Ox?{Y;aJS021scy&k_ zksj5M;q7O&(;I}9)@{D+d;NyKGfoo@MkzzCpi6FKvipA5EqCEX8!uq}@-;#XHjaTA zPFytu6mYjOr#~EYqj^qvez$+y*GysGJb@ZtW5_-^OrfZw7m^475a~aCz@HK@?X*JO zyC*a&)GH(sr9oz*aqOK1m2m0yEJv06z5Z$tf ztqKkyGs%qNvT;6sCdzeY4|()gMIeW#;FnX=m2zmJYbH4#!4w4mDry>o=P~_6U~P>!09Ao01mzpyJdPxmPMKv@$oH zb5`ifTBQ+$WXDOtSL##}IV7Sls)etWivwJZ-99y z8sY&~e)z)iylW2Tx!T_(pmgKnSM`p<;LiRL;wD>~XUVpg5(`Lj*OQMqOP$L*%|u%; zev@8#|JsRb^=JN~sr2>Gu5s~nw5PeM&Kjca&3mJ9>YftQBe7dj2&;gcK=Wt$`XD2i zQ8i4>@(5uAB*z>>Ih3ksR%CdX_koyIt9#PczqCC&xT0>zSGH`Am$cm~mlA$IQ!vr^ z7Mf%;`L$kDNg!`zf0AadqOJVjN|l`C(iiYV_Ii!RK>EAZ-DFi)ZfeN#3};4)24Ve<{Xe7ouzLCSI{}ef*!6_4KCn zwM-njhjU-1R<{L_4}P+3=Bz?ZB|ZvAJCn!Kc9js$&^)Vc-hXlE&=iOhttC}>NpmWr z$MJrLK6qL2tX~pF{r%!W$l>&X43G#6DkC$>q$XqxzWj#3KJ&{UbkBsa{STrX)wEHB z6pUX!Q*0;OCZVKkE*W9lL|$Yz&mSyNcm!R#Z&GB&+?6kNf3a#MyppwZZ@ILK7yA|U z%_q#7aAeLd=~%y}EMGOr%3D%|*$(AI$4z@8hcjZyp=tuphE=OwH5k(j8>cY!u$?V- zXxFJ&R8oY*o}w`0u-|+#{FW0{oO3ykX@EZ)ld~{RQ&%(XD(dghUwsALzpRNgQQ_$k z&3@!xH2losyIQ5boctld;vwqMY>Or;z@yz?`l_JzYy0}QQn#a@cE!r#(%Z1%@+)vh z<@wwEjD@Cl{q;+o-h^4dYoo(h$h~JAmAbOML2Xb(M?QYtFqxM zqQQXAaNwszb%}Md2aUVnBFU9MikyKkjMcU+Uj+dh*=Or-Rmc8Z>--7 zG(?d8VyXlngK5=8*#PVh(%XWya^$FRoDzK_(&B`YW}ZJ)5m2xf$R#bA3Th)HWf@g8 zFE`jtAmkxR7%6`U5T%bbT4zCB7eDobF~1QgYsSKIKbAIV7uYnnk6{Z)A)+EHAmbyC zm`=h}G8dI)n!05&rj&*K{^Wcce{NVt=jSnDt>7@#Jz?uM`Sz$T7a1A64&2pNHcqgk z8&Z?RF$WkfPfp)qpn?;t>*G40SpZ z5o?1E1Mw?`%EC(QXq9l6+)cYGGSk_v91q3PjNp-eo!AyHwRmH&$fhcAQp=D8Yy>1A zSh^uAn$X>2(aTd!5s;s{dd6UymoQqtyp!MB%6{HvdHy6^=x6zDfxO%r-~&&{9cMOU|%D(`fg+cy91I8~mG zzyGb0r^)g1^lH%O0u(WaU`C7OjMgqo;)*K}Nz7s|^Z6-=lyKHJ(ZchIZ8@|LA|^IfM?ia-l1P=X|Bm=gw#qBW&B zIK(cIWDGfu*^3@2gc&Uo^St7D=SHK|_8A=1%AOIQ)7ZGz8I|5?~S2B z4rD6`1x-aERYe*?n3Qx#dU>T5@8m3^P67(RS1e@mtKPqv6*hbQSX4*Gviq+4nV7+( z$CWJSZl6u}k=jSS!62DkFb^g^jx{cX#*&jqc#TP8HYGhJF(D;=b#FGLRo9mVU8F*( z{3z2(O62LaQxkG8u04=&-;9Dw0BTb8lHjIGUEdgwLFaPkj?rV*7Zd>bA!b%kPHjMo?)ct zc&2j4#j+~?^d8tD;+Ef37yej7)%RC2;SY3G?|Xc+$g*^}$=4Q>JEj(Gm;6b*5$E!4 zeK}^7L>#9Z$mwtUIr!-SR>cT$@majoyaM^pn34ImSipx_8vJp;-@;mcG5wqd29xx0 zm7|LWc67~?dm_snk_8lTj^`Z3=fdf+J;*M8A1R7;kj`ZaMBn$n6VR)5X%D4`MoDdVBni7BvwAi zse>!?8J5&&Rfb#z$>-SP5_@#GEdF8{e5LLmve!`!SM^t*poajVcDi+Ed&a zGr)<9i$R1PyD4x&s`CYA@$3W_#H28=Ul=G=c`s{ltpu1W9e2H*t-z>mBkT^ZYxW{m zzw3QCmbo=L7vH-0ro99(Z(7Q7e{s?dKG=XGSYV5zP82$2d82wz-+%dFQ!4d)& zC^Wssyt&PUK!t(UymcmS6Mi^d;XLr}YUL}L#psMN_&VNYpE4d0%oh$urITdssmTuR zWp4npOY{Gh2xKWpx-8w`lZ}E6WDchJNZyAN-7Qgaky#cA>JwaQVw7es-C#BSrE_$a zj)ncFowwV_s_9}7{mOuZi3qL;p(AIO5miiD*J|a z;qSJTLsF1NI+Gjai4z8%}eN?;bc04Dkt$0nw+=_)y$EI1;wWO~}sAeXm zMNzmdh~oJOOr3AKaYKpP-SrD)yd{5`e`nP*qdb6__fKP+=X_8a{QbKzCgFNSYU>5{ zTz}Zz%Hs3;NwsuRZj*SdrSP+T>TXr$ggVguIW$qioJ0CC5M|n{{LQuBg%ej5QMpxa zo)|^6diN($`Df4sN^T49aQgQfQ`Jaah+@bNm%65r?KI4;w2vvIh#E4!YW z+|(sXu&|`!C2SP$E0!%?p7agjS05NMB|<`CA4JSRuowqeplNz|4(cKHsmn4*M<4ft z?ft4h2}G-rqX#`iDv~jyB7LpsmVuSr&#BN|$^uoXwNQ^$V-%C{jm*&$D>At8l2Eyb z%jnlR4;}Jz`Cs|#ax#gJvDv*X39q5JSZb_1u#VkRvu;>bhY(i87UZiJvF;7LN4f4SQWfd6HG%IFOEP z2~r#E{zKet0KBr11~jtpJi40L1VY`SUg53+&FQdXWIgLiiQ5{*7rbkbQ2+ftj?`&G z^fUAYj|*Jmw)F1d%+M$rY&#vn@*#_0NiH@X>1N9KT{6wk1W@K?} zxRMPa$!sjt_U(ivssb0qjj5@<5OI0Lm&}p&_LmY2q&>KqpJYsROplAgJ*6QlXVzy{ zl(E6c0gLqE_)6D=UcWQAxR~M?8#x5^7voh{;;s}|G**vvuo;*I48F98m!9RFZZad$ z{3!@)p;0?~sA3WxFsmfSg-tS`d1^e`r;~lD&gsKINa?q4feu5QKDzqgXt)Vodq+GV zr)yn11^Jf0rg26R>Ir;{wXxO{XKQa&W%{!v+S>G?>wP;~Eoj(Uy!rUr4tT`okh-K- zYyC1icB#tp0Tw0FAPb|h5Lq&1$>Qyd57I}PF=baCV$~jP*NqfA(4KbttJwsTvwz`KljI{jL*(T&7W>4kCEa5I{wSPiZ!T{2!Iy{-x&SN z%kai${q+r#MT9zMAr}CUY#H9X*nI1HrX*F#nW6;ujLoMCKMjd97`jjDUx%-_Tp#_5 zkTu)<0z>{A9(D|@mBxGaJP;c}Cs=}{Y7tN}hSLVSl5bt>FGe<;=+BIUlqTLFB9E^< zxbGo2NPaN&^P2s) zlFh^T;QwVe@D;iX(3eA{eaVCgBs3kUm8^Bi?p0A6fBKrzODd7piso3v4uItb)UE3! zlQx{Dh^hy;rIV74!NY8g50ly`Yn8L-*;gEBoTgEu7eGGJ5|y%gRfO%ecdbz5Mb8iV zD2*N5KPhgp%4uZdSKes+xSe7`ifI-|t3Bm;tdC+&RV>3tro=({>XYUFa7aY0()<>mw|7lH6llpI-6JVaT5 zw?E{OE8y*#Q9gt^ZDS6H2o5n>o##^$I_BtIn8XK>KH!Wwvcsp1-me7xdoSr8b~y8+ zF$e`a7napD?{5rv@4`T+N8@uzis)F(#KmLU@05?+_W}`gDiNVmQ>K>FIJ@FH44Ru} z+_&}`mJOHKL1}sWlLO@{(c;MYL9Olf}=Q5pau7^Y7;Ln@YZ0aK;iu5*1t0DuXnc z?2`lXe@M6uz)ypwCa~}cDg~dbh#<@1qBt5|vb)>N#hmpdV4^`uDe1x5pI$XW34RcYa##JeYPqTF)Ph#h6kCG!ZQ3q< zs7d|lz-#!^g}jrqQ!l-$)2x7yhe%Ve`X{1Rp{{z3Fml@3>^>v({yG+igiyFdDgeL* z;TcA=*cE3N;D?wtthFDCX4!QGGiY?<$O0e|Dn*0ocm2)QSb6pur$P z9wIBHX&Yl-;ZPqOOaXNmox1{*r=>d@jA#};0t)F`?A83qJ-ylmL8N&(0 z>*)y6b-hfVhF&#Mz%+<4%uKv_@!a&Qy*69~a#s5w(4}J)%ab86*3@u8i-xx0SwLS6 zd5{FPmbYrOB5F?=4o!zGg$oCVmiTbl=-@yCu9Q6<9t|rXlYf#B;gbV_m12&n+kB{! zx}?F+{}y+z0H7I@6+cF@b2&KQ1GCFups`aF zABp;uJr#19s>P)Xks0xmlXKxVg0EkZzh0Yv#5pyn_GI0${KpE%tP*~``A>Ly;A#H! zqHcTQNI-r*vvX;qW2jA{gYUJ@eY|8IgI?d`bK+_DK{qJi;oz=vFh>^nz_0y1J(bGu zExiwbA@UJvKbW2pJmgc;k{4*+x;(G5mVV0S$Rl~8BJI=gTbaOr%|wj`V4yycb7^C~ ztBhm_j06v6XH-sVpQWbJ$P-@{F_{ig38<5*UJqiC)6lw? z+zx*GpQHGE0Q|5vbj-!Q&ay9mC4yoGgnZYjW_LbQ!lsK&kGzELna(GPtQ3RcI3#F} zTBeuon#5|j5~RBZc?n^?;!$Rh5+N|~*-TsJPB2!A%ZEqPZQzE|5jFAuf5U%}}_NRO+=^LAK~BX56mM$yw1O1E>SMgda}(y*k6HV`EI>a(`_yFhYSu2qV%MlVx1y_tC%~#%|Ax_j2b*is956 z@Ui9u7pDb$XzJ?(YpLgUj+dKnt4UG0<`g6?WVBH8(@jgKT7EcdMk(@y>_C0O_O)^+ zvw7?aG|ySJ!d5yKy6yo?_gyLwW9t%o~|)EuC8rQ>@;@LnW(Yd z*tTuk4I10FIkBC_Mq{fN7(G|4-C*0;X%XV#j3`7lKpHgE!aD+ zub|4GZLRe$jroei_LHD_eZ?R*yj`cmY16@T0c`+g-_9W2{SXX*5|bFVFv#7yCe@tn z2!A-y2}Hxf^i``I+DRIpJFyADWO9+qtN$9`Ctj|PRRp63y zT1HW+vR{0oL_cRL?T20lCz8^2SmRhACDl58MiT|xP!T;6OgdsVJFYVpZn6hSjf`j0GkRg@_Ma;Rh?m782*Oepiw%-?blbI=dIz^8xQGepB5ixT*&*35! zOHEn=XZc^Q|GMfiKz-0^=^Ww{El}b^W^>AgbyJ{r!HP`>)oj7pLq;iny(;l{7m~35 zp2MjCQfA1nn$Ueo0F92(s~~5j2o4k_Wm%KlmI~I80P09K6nPT}8eIq)H`rt!pfZmk z-9#pJR_~dEJ(AdY_o49ZHO5q0)5!bpU9%)13D@2c;`bZhhV_ht8R2ea*UpTRVjmkz ztP<&SZI%u#WM{pvT+{Fv%CRoO1BJ=Xvj;Q`W1#dAYehC_Ialgs6$s5DOU(U_(Ngns zQnvfHZ&CwAKuPFKgJ+xABW+j^#5!}{8Ni%b^F&g^giS=Mkp78tw3>&uroc2@I;%Q#@O|4q-g%#lSqrYgS0a4Nz}IpEaDM|Da5Du!IfNtK>9zJ+E_V#tX%uKL*y zds>O@qR8Du-mUr9_v(jR1{E@Y4RF~3&9?$1dkG4nJa!&BUjF(I=*nR{UeE-Q$+>~4 zgTHooWm%|wVcgR_EUzm2x8*Zee>Iq5LW=bq%1VQ2k|VY{v_=Zc8I_0#Md{}_Z+GUU zVbSC^_*VCzgFyx2kKhu`43Y#IM_U(b8iulux&d$h5&S_Fucwd5(TL@jO*=m^h5^R5 zBliCy;Q#=;VhXvVC)p6#mn~pNbi;ZrQoEpZ`+k=BpH3B0v5 zp8JOG*L~~p+NtgMt3PtW9HtoGIxOs_t0lfXEl0&(QzeO(`8f=JHr1zfyykxHyMYEl zP;{}@84}iy2`QBcs4!mX@dkf(SmB^W7g^z<5ucI0XJ>pNUlhr!h$OG^{SgG+C+_N= zrcf<6!I9rVz(91gk?aKW&RHm5JgnS)3p_Q8;<~MN#M4stFT`L8qlTnVBUt-2|2LX< zVPGqzsTLarqKQ^p>HE8hf@Jj^Kel9VALI*9(7&IgQh+ciu=3irH-`v;xIkqIiCpBZ z^xEMX@4`Yh^%;jn-4AsK^#0r3t#re5^&8B1nhop6+Em+~=;_~E+p9W%CmUkTOsqJf zMYr|%q;ts;RHZ#job`Sk`tl;b&5Op?jFyuP$#1(*=#O$sQO-Ku`#rNai|#gU3|gLNYB6)&WYm6)##54iAz* zog;HrqAR3OUNF1o#ynCsm#e@-|Cj0n(LujMsfm+39d8E^UP%4WUzWx^>oR|MrM{lj3K?{Llle~Z zk%lYz;q&~d#H!6(CObAc764Aiyf+zcU!UAI#^48QD1dT<2UMLVN)Ge0JesesmTlpA z^1f>Kk9i6RW?YzZTzOD>sEfkNpp0y)FD{@B?|viH3IFFGoq2Q!Y;kh-7O%>WVvZZXx+f8 z&wI+Twe9{&nTS-|T8DfeA&8SQI59fp#H1ZoLMj%GF4UD8NKR?6qPJJrIEaYsLZHe& zhxcs&fzlMJ5r&)t{amZHeOsN`I5zIs5y2Xcm+l(@!)MTl$q)6@`$6fCt#C@~xk z7v>T=$qeEqnX!qj*xG(1_M3{d{?64~;%t%oTMl!)#cy#qy2LC=w#+{}y` zR8!PORm07k(6{7}A~n}eqR9DiM&eRvjz_x|-=M}RkS>*^-mu>I33;k`$SFOM`iHrE zWih%dRt1IOEuJGQiCfK1y#{`3fg?mrU@+VY)d4R|M4p%$z@|wf&)1=jRWxZ;IVZ>0 zlbi+4A(lbT$k!O3*kCAkWn1*KV)QekinGDS;PzDg7)nF~0$@-?@uP#0DK1etY@`u* z%m0nJHUeSW%oblzNjBW&k%f%Krc~3s6dGM2FRm zyZKMD`81-3;IX9&;M#0YJ#yAIJ9bpKTwV3uG0Z(xGuON6n z5i~G7BgFEx+m-fF9;GL~3gi90&6e zb=`Ad=n*m;kiD-#E-Ch_sp%t43k>Qej;tH4?t5Eqv-8Rq-sfZ)+?-eTKm3(`n`H4p zfui+<+_iIRR>ghki+q}V4U_6@e9$eS1fnjF=kNNG{1uG=t$t1aW}j}W6u4gWi2KZ?@6S^O<)mK-93cm~JakdZff zIQd77w;P=jo2L@4Xschmf1QDGyjH@*v2m*0kB#}r248<_>;BfhHD9OYRwrXM?9Hkk zO+F{E*N4b`P(h%88x^cBKbI7eF zoeHTv;!i=aWTyWjPB$eMg5wJTD?`~pYLAO81Eo!GMBFQHQc#4hBi65rNXu!&dFgaM zONSzm-m@%DSg#h*NwUjz_5K9>B$NY9!OJugt*q^^G7NwfsPwowGKl4Y9-e8>h(2K| z%;12NdfT236X+6#^HGwIT=FoQ$jg4%>n@ljcTQzPNUp%kl0vJ z+tTHx#_w~fo$eBAjGr|RU#{bUC1gc!!2X!J-dRb zv0=)LcCyt%)GAm8M&dwK!SM?$I~;qGQQdZP0nQLAM9t7uU6dvq4W{JGvfy%5@VCG# zDLc{_D`lH{MXnP8S1<^%C_H}itJn8nxdWksuOu7A53dDE`fL&Rh~Hg2wF$TX+U#B} z{95=iamEYhh^!8+mqU19Lq>s6W47RusqC&2@kw?4Jnxe$a2R(J4dwPNnb8O&nOZdK z-wS6mpLqG*`BD;Eja-B(ptpzBv=o&;nwmhGU~YUJ1|6$K84*aTWoSZcAh;Hpaw%@t z`}IapVJ#`}%K|Cm5aJTZ5x%0avT?4CeLu)rav}|%$36ij9NwT@ycF?EZdwDHGEZC- zP>SU(j7umfp&=n6uSrs?{accaB9SR$ZE|1c^Zb4t{Z#sFc7U*Kk#*R-bS6gvi znY{mo0T9z}ce4cu7iA*_<=M&PAWnJ2O5vi$^^Ch7+?y7^9ZiEITEvh^6NEJgtt(@V zqcIxap2+#g!f)h^5hV9Dt?4$uv{#ghbBorI5fy_QAKK>UM}LC1x>-`MKxAL0CbHzV z%Fu5nxU%I+!9K(8!Qoi39Hsbf=Kc#H33kdTP#;*y7PXA>JYA3cca-ew#PSFK4ms4T zXnur%ZO!9`vrJ=XRtk>Qjmx8Kg9RRv!`?|) z24pzYZgek!dHrTvd7=K> z1eU|`_@#-Qb~0IeIhedBIcIn)D(gOK*zUO%bhPlh%#Ak(W{=@keqFCQ#5=D!itJnz zpOnOY#6)$)?l!h7cZB{p+=a05#hj1e)P zYY51UB`QwtKK=lg{i0=2Q&PrZHDhgWwvCrat^BdnPBgSARuO?-q)F=#7l>|n!KCqu zLiY5Pme&wXFG5!i?afAAGpYXJ&&nTeIYC?|f z>f-Tr`#mQAo%!g#{P4|b@~qXdwdd2wx>{)b5+-Lxh_JAjIWj`tSay$5LW*WkL|yb0 ztG#9t>c4Jx41h!ZXP3(E?F+AKWK-O#h8du6!LmrZf`9TFk=2tN)Rckwg2~6&8jenH zgNr`*MPc4~N6(|J>ln3bmcITyoqQj!LL3l=jIFjB5YW8%+ecwZpZze1Vry?P zc5mP!UJRqg%!Hs(>-s6;wi=H{LfS9nVV$choCUy6$+NRCwLU%+!zNyA!-jd0h6INu z(p8+I2c3*)ryO<%S2N}nEotkENykPSia`?254jPI0_8eEY{^~63~NfRZC8$`OEzN@ zw##ySG!7Jd4jjx}Rkbxh_LHCN@lYiRoNY;(EjFTpl2ksT$+T4`HSf#%-hMv!+&iPH z604LSNKq614QrW8Wr}11OD{cwzQtY?SXlf-oqU}ZbDBS+V>1lY@j8v4+~tyqefsl9 zdvya_VnhE3&Q!v)9#4BJCocr-F;bDClb#o#^F}zQB6`VD_4-k@@4WZYRW%QdYg6Sm z-#{i79Q&0r`q zu^5RQh!o6*T7rZ}Z)EUtggT<0?DqG^`qD0wEuC2B&4{{d)#o-XmDcgwu2i(?X&NBS z9uU(;X}G2(CnvR8!x0Kq9NAKf@k_R#;K|_URHtm@B$e%S-j1v?2wq;cN5h-8#vrU5 z6$h<3y(2xrrfBcBZ${QCp8JLGByaOAKX0M#{<8OVnN<1PXiE+5YA>@HDeA_HVlLtS zw|Q3J+rORmpFr4JqyP3-+GfuI7N`#-ek0sB1ISe$BDHw17x0A5ESy8a+eA}p zRSD>?*`rK$qMCG_Pj;KaamkoHx|9r}iZq7vFZZ=r%m(hqq4;*Z&3emfFxPb>^&c(3 zn4?Ah_D(0Zhvd^^YLqJc>=`NS9d5+-zYGugIp14OlKs|g$JVE3I zBWAX)Np?Hu3&2`(o(~zRL(;H_AELN{7uU5MFFH_WgJC6W(bB^L+BqjCXbV3Zt%_+Y z7o282JMrrbkR1ky9teG}zZmc?+wv!CTNI*YI$KLe`6RsW+GQmam)CA$i$ys)yp9BJ zEIz+-{)>d$K-he(MaY?}OFb0X!Q?0m2d+d8QhQ9CF-|-(YB@q#VKAYA25sB(;>khE zIntb?P_Bw1iPNAKY$QJENSw_^CH{egn6Bh-I-J^s-V`@C@c;{mIRok#3Ls%qCoL>VZ)M!RO+we{RHR&RS*Xe9ayeFr7}C*2N$HX@?AsjPnUv?PLbZbt14bE0%YP@k4^raYyrt8CUe|I`7%|TekHA7UU?1b$+s} zctyy%b^jva4gfoh{(nfb-ech`<#_8e`(Ub zmeTJrwYAtETWj=eOi`uA#HP$|-29QWS!Nspl%`JPu$EE`w&3PLW(lT&VxW37X}PVA zo@XA}3P$IU`=D#QO8O9Ot1q=+AT^#&#yLGZFx&ZIt75sFclo?C>hP(>W)P^HvPImr z%BdI1@S@}5m~HJ%vC|7IavPU550x;2zjzYf8J6~EKkrdgE0?tVRYFLaEGuhRl5dNO z081IHmaNw+`)D>!t-6uCTI0$Y8-A2&20^g{Yasv<5+htSyTc7;K#)x5sy zIrFC5;*JNC`}0>_yyTCI?CebDDZ-XdF)a%sNTK9j+-`2(vB@B*@6(1S(kdzxtIN)J z7|Idfx6X>K0IXe6t9}S^*&1-#k&)5a>&zZ9l<-Ka$H}#r*=&o4zU1l_$lEx1K5R zr0GwFy431eR-oaE&~>4dkPXCSrOVoj$2Ai}Gf&vS874JY!n(0BO4t1Ds!&s(X4RFS z&Et&lGHQ{}f;}u-8Ihk4cvuan=f~J%!Iakm%(X5(iw3Df)CWu`48{$5ioK$nPLt^c zNLG;ChgbeZ!cicso#g`LEM)6rOC)3x;;WjJAp^OGDT+z}zlMW;7Hz2&THp|ZJ_fJI zoJFbpz~DgRG{&lJlt`L_ipvR*$7`h(yEl&-iG)ky6j4t1{wMSuDRL#QE_MvcH z2lk;_Sc>pzyErkfIt|;9T!kzF3=r2DB_DjLNcm}PgYXRzC>7bzNdYDeZkf7=-;}2# zA?Et(LwG#4DZ2NcCF9K_ zDtC8<9)6K(#`YJoeQ3*c!IDMk+9X&RhSkimi4h>gU|Rrn$NJ*c&9tdeKIW!Z((%Wk zSQqSR8|MFugbe^}simqfEy=UNkgb!+sTLNPQRbr5gO($ahBKUSi`~2S%I}HI@z@h9 z-L14xNJ|DcM)ZQZms!jSP2*MC%3xGY6DZDg^me&)GJ#zThYCFvJPcDDZ=#$4Cz`mI zyRbBty9Ai7)d5n^wNMe`u9D&#EiRt?a^qxa_ot7H9c zmHjGG3Uj!VrFO5FUfTTE>S*ZbkHN`T!d1VAgzNKmn@N4Dj33T%1XUS1TF6Gm&sUxE zr|vq)F}pqs@5T4n8Xh!VK{?y3u|mHW$C3up3Jac; z_Z<+^v(RuPxl>8h5CI67s01!Gs$f}_t_D%{s#&RUBxy`PfoMiBnO*;?x_UxAZV?7= zMMD5)%`g>F>H*x$$q{WDiOD7{BgoohjU(S|!N_oCvViJVH;ndOsOD}4+%|#cMDuO< za6#?f;SP%RtNoKZ%Mntlul7NBcE=$jJjvSLI`?C@*E9A994Uk?Zf24?IGhiJ7_guN z9Bp%tr&H^Hk+2^K8z}u>O$eNz-L)alQ^mNGxiq0TZ9%twO(#Ny9%<$hTM%l&PKrvf zQcr=_5uOPj<8;|>{>8K0X*C{t2GDNVQ1=&Ax1ntL8$AS!RCk8&zaz)L#wE!59N%AR zAeQ>8T8Rp}47c6F9VjNcvtclRT(oo`f2fX;J<2n}Do2iko1>~d49u{2mrAFPmP){M zwK2{&)DY3G`Fk6g>A+wu!o4x}>b<=4o8#O5`Me#20rI1zTlS;?XPY&9TSG6y- zTmdB}xwPAqZ~;`aPe(KM=}L4f_(}cuf(FPv=MfnDDCg=rw0?h*Vc)mUmRzF$;f%4R zW8pD?u_;o3^BDOr9XxJYa+=?al5)ktJ_=N5(>&^|R{PgME-89VS%yk%aRei%{?H|N zg^Xf|=3PxS3nqovv&~vJhl_{&1f&9(?zEtCDR?DZe&_sydOQ7&ut&UZ!Rz;KTa}8q zZl!lknm!)sVoP<0>&GpUFC{3PSi{r2IoTuMYEoyE7pYn)(Hdk6Zzv5VMUh2o6nr(> zCI=QNg9ynqrK5fTHaiD2rP$SiyiFDD+DhDbv%Y>-wYV|N!>TD7iSvmg?EGn-e!&nN zD<>_(7e-Eq#vVbi{**)SQlCb-+BLG;Z2$NA6ZJ?c0+hzwXF3v#;AWlE9y=hPx4l%=9q_OQWvFe;GQfi2s}4;9pauzj>|F}7S=L6 zX*WfM@8yx(vIQK0e{JdBifXqe{Nq5?%`YQVxf}V%%FVqzOQsgeC3qojis_ZpBcX3S zdw284N#GKtdnLcSI)2AgZm+-84Uyu`J)h`77*lgd2kf-j7#v)7G(0hwNdFxfK*L%Z zw*0CMUvo^C@?!c@I&OTD!?J88GELm9!z^8#ECc1Mgq?2Hv}mozT@@biMSK2J@0n8F z?A+8x6YST&4pTqAzX!#86)R5&#d(;s)J(ySmYF?ohdkjEn4H+&GI&RpH?~H;P`E0# z@T)n4Ixm(BGHJw(YAw-V=9SleVl?z&ip~lVOJ(ln{p5FUHU{Y9fM>}baCP+RrjRRL zbQdb}`7yemaHAq9+1XUCOtVBzP*pB?(RZO4@4OBekOrmwHC z!}fZ>-TwaGOApJpYQZpTm-u<srgiD>&s%~QX0L2O(n2E7)I}x>Ts~Je^~~wwEEq66zAYeC2X9LL=UT5T^u?>TcqSW4^u8(GfL_I z);UCxdRBg!`x{3w*`1+kioC5}eerk|{UJ;eM@0sSg!gz@Bed8vPeW3B%k18KGk2bu zZZ+W}Q>gs1!S57)7t)2=`d&~`sg|45&AFmR_N}4{R~XQq3c36e;oNgeKZLrU4xfEME38rIH%a z)BCLJ^^J=_wST_pmS6cMEx27kv^9ahwVbedD=#K!AKDZ_Dts;Rkdnr_l0Pa+h(F=- zc5Z?=i6Btvy$vGeK)#M%$k8wMyQiokbxP?2!ju3~_k_XomoGl!>TakfS+;Y?{J)Tk@A z@YK$;y@oWU+nTOzu2CejGH3ayrvi+AesLgFkd7Pa+k`p_)Xu2@f#QP9OZ^(ez4GAk z24g2M{Hc$tWXnbb~Zq4-~r!zuPD@&2@U z!G@~)N-R>cKq5i>A`q5d;X6dHdChk`>)j$GOBqf@2tr0FS|qW04UM;u)m)<-P?#eU zlSpLujBzXw{oB*Ze7uUj`iS=yo8%$^3k}eGK36%JlMhA#5*p8y)ppWgtkhwFwAPucWG1J^cSTiHac4#FuFTF(tbeC#vjBUti*VpXjS%NI(I_jZ#pqD> zHD&Nn+HekV*(URF-=k|2x9}6FJ#bAv@z>s672F#^kQdihC^$a)Hd?`M;to#l%iO4; znma60tQBgX@7FXpjeK>h9JOB22DF!uuxc8!L_dOa|5)A;QOwzGl*T(fj+L{;v@_i}`fp=`6S78_1EYeWQAlAlsoyx(vg9qR zP87Uecg+*cV3~)cO>AF9mRz#=?dzEC`<>k+zg&$RGJf5b$+%1>C&Fxaw1DP|oyDcI zP;<4S)*#L=iW;w%VA!n4juuK)_JfkW?Y@sQ$d%EBX*-+BwI(wN;|FZlO&{ks9KCF@ zG`_ThDRNgSuBT>Kh}`7u9O=KVl9b=pRHWz#->%D#*%_2J>wWm%3$Dg}d4eEN{(E*) zyihyyUut*@{_l^o7=br|>v@NN9t9YPNC3j5{>)SrVy<8<0Ws`&HAN#QE6W|j%@;Hh zKG511pPGnQV-qrif@j{o=CtlRc5jk)7bW*@Ng%FeT2H96iQE%<%zK<1z^2*g@1%a# zKP9JC0P;}8f}@=|KyxTtVVWfnPo+ffH8T*ni+UE2?+lwdfsxBffK1Mn8>EeBu3Dl9 zPoR?@~l#m5ery#zEEJDg7YXDj?`&^_uDvI6LNwnL@L~R?7g2fWM$i}76WPnY}aug z7|Mm(-{k|N2pR$Q0$m9o1iJzi*sCqq$Es2gR}00sXE>V`Y`!anOdT3*Kg^Hxk$DhX zbZwEI|9jm-tplby6sm&T&)2gsX2@nBHF!UsAnygLcyzx)w0>CONXn)~7lT9rsoI8( zdgHD>y&XoK2y25Uhqb(1r>_CMCJD<7p}gS%#a>oHSC)c}Vo5;kxSmq%Z};+=VaeH9La0zimCP9&&w) zs(dO6R_g4EPC9|G`2Y-nF#1@kusjSUGMFc7y|MFI_wYz%u5a{+vw7Rdu$FHD6<&N- zI1T?TU}k-<1h&8GtHnFpo70=qzXh)I;fUjaI~0q^>E3#o%0QHf*oYrmxbY(c1#ma7 z#b(iSou%=xKZA&@`Uzl7#yQeTO5%|4Ch#qSM|I3BGcB<<9>R|_UDID-6*44>@9+4= za>q2gpPR~WcYZ(joZl|$z-ZXiJ|hS1(-tqvQ>u-Ng_U#@{6g=Qvlm=537U+MLgh7C z&NEe_bSeIX;Y!;Sm3yt_eBas`e%i+VA;X(tGt1zrUXkzs&8fiNzawsXY7y2#Y zcD+P?KdBsf>-VGf3UE+Kz*~am#haJvc&Flm1D{SAI_PQpWxW3zl4!JLH`4=R;Z@zmtOemk89pdOb1mQNhYaUH%QjIjf=zXwZSk_jh!dwk?^Bk4@R&oF5%-&z=Lodz!&b!m ztQ+HUkr)}Sx2!x~79GusT_uWD^)(3-lSu^=t9PCb>>G#&Q7Hu=002}i>4jW@Y~;RT zzjANdowB@cJEw0lGysCBT!S-M{q}aJKCuAl#JFC&_gb88AC7>tuWbSU*7g67ipOua z?CwN^>)n9aW^^GObKK;@dtssslM2icYX*nesV_G6%;uZXX4 zp}{x902b8|@`Wi}16;jV=_KPeF*#A8_gGW@$d#-$6g5UKbzX?rLi{LE;Gmd$A@C>K zl*yh-cvpcZhamzY}F!{ zg(X2Yr(u$*c&foK1}UofM&71Hu5W|Kj~)VUr)Y|-y8e|d)b!Nb&BK_<*4QJZSJX^rCnt8djPvw#sHWVphCW)2+J}>J^)H>M%Qj0DS;N7mYrC0*X+Yl3{FHYH^Dl z=MhC(x~O6IEl=dXr2Oyefe&$;V6-!m81vE%#zWC8p_6D${-x>?0Jgz;{e@LrnnO$` z&$y8n`=&(iqV&bM3AMs~7>NNG5-beGdIXLRLeAFSlakxGl~>L%!vHVspDWKb5&woGFEcDm+IOgFl2!dsD0iB4c&MNce|D1GOP7uoGj ztQ;~)l!VGvX&nSFGr{#pL8v~QvdtdfYE}%dspLm{jZy1?nOl2dJLZtG)tbb*{TthP zjPLIpVhsSG4DbdhLpS%nd zySlkc*uW4}H?yQ08CfDlX@1TXSUQ>;rkR>0;@Ho4CR+Ewj;r5^*AGlVO1CrX&+Yct zzqe=rWzww$Khu}K3o-OaA0KX+%(h5Rlxi#pEdB=PI?fR>>*k1n{?Z&cPqWM~$Jy5O^wqSy>96P8JH!?4E`$Yu68Ir3-5A@}|C?4!BX=(R z7#`_HLfV)$oayVXDwN@#;IB4%>+0Aje-p85ZkFq}`7gN_Ca-SWcnqr3`&j#*cC5FvV?#ffH@ty5YuP?Aav4@d&!CSz)*O)6A!}#2c>D)5{a3VCeIcnzGsIgf zaU6vCT4ZpM`C>d4dwhSx@e>`R5pB-~y;(n&*7f2hg4whwTR%F1cWFX~uc>Z(|JH}j zH_o;~t~$YJ_m93TR6oRv3jjz`K4)4^Dgnyg{=|$itwe)=PO1dhpjeczo-4hg%1yb( zgV!np_asI*xVqCSw7zd@ZMN6fSG>P9zrX4#)38Vn;SRj$foFRK+c z9?{RbYJ(dQrg$*RUfvg+r+`PK5LKgAZriSko`+Ii=pCS^F#CmBIDb)M48J3cRU@Jm zDoKSfs(FEpv5-*Lyl!@gBl?Da!t`P+6i0D8@815j0>@{Q(~ezwA8xlPmt)Wjr zps#;iC%kk|F3m&qgpbscY%Za16;2xh+I2VD9q(+HKxMN$i!MHemn0Grhih zpS~_`E3Nl;dRSQ0d7$n#dq%<%A8BI82rGIM{Fz^-eu+&qA#7b%F0_Qpx?W9^^6@V$ zE}s|Uq1<`1{y6k*Ex|g^n|oYu805~p2+GwYWN_k^cu6=W zzXIK|Cxtv5UFXBmZXli|@U)lVoeLT0v-+m6_#69i`&Ev>$qD zIj~q7z>@~?k4$ED@Bm2mu%es50niXWq9N@Vs{EXFRIB{2)jWRwx&vuSs^(B!k{h{` zp(yMcKzcQJfQt6oNHA9XnA~(y(eMhqJ|47g!_U$|f^p#qDXMagj62-%v+uS_p!`w( zV~}k#+ix!TQuoa?-8RI)e)o(cForw|LUhhVjDqRtX2gM5(Cr~3;-?mA*K+Ztv(&++ zGnP|+J;dQES+Z4Wh-O3;`z+UP(t&r|4+#y!KPEI4NvkX zXwr2G5B7s-dTvIUEe%(0E=eBV&$&p4j+)T9)gEI?4;QIV6X};Vxmk!Uf_d4W9eYO$ z!JLG=0@=F>SNU0Yw2a(5 zmXxEzn2}t`MO#^a5R^oY$ex~V7mR6qayd(rs+bmzR8@#7YMgIe(P7Q{{9f0%ZxW~i z>B@*sy#FG^RpZ589MZ|N0x2)!4WYTjHP=`>e1ZT2H#LQPWs;I6itvnSdiFB0>Nc@lqy*eQa}DL60QMo91x705=VzRg)EwxycLd2 ziNYoSqKPmXjX*hQOQ!JnRR+@V-tYbWm40t50pO{XdA}tqeCJ{1K&c%2_(_{45)|2Q zI{Q5i+Ei>TWlPq*_$x`~e(L&e7=oE^b-Z4JO!>E7lHZfJMU93Oz;s!72?bE9ttM_m z_K{2%qoT!`c^HZ@TP>r5x0@3i)uVOCqI9uYy)OAwiK0HfPnROo?(FJlMCXn7MdRp) zuGDoq2`kFe!tM;2%x-37LF*8p`j)iOf?FpGy3vOzk8g4m|2N0|<@tPJH;?T*Dkr+T?wr zvc>mc_O{?vy6=7d{dNHeu#JYls-yLh36`g)sVdZ8kVf3mAmP|ZYg4*o)9ILFOEPXa zJ1A3)>Dx;pY1ga(lj+JBunNX`ecEseo`6#4-38Cm)YwUpu*7PsqVQX<%hipkV@wOn zGcoZbRjhRkrLGeB_ck*t=**Dy&1K%sO_7u`Q*LwvZ*K4`K7&FBCiSWq4J?Q475L_* zfrXt*xEB~=@&jaD`A%uBtwr8~v+Fm>O&p0ZO znjnDn!zr!2wKQM;IiQ{{tl(GRr(6qrDkeSs2|OP~F!BEQ%yZr2VqGEt4o8^S!bNWS zbdibIGntYjXv7FU!a}AtM}ZE722-LEH0E8JVwa!642{zJCy+ZP0Y+3;sxlR`V|^4u zR}LWSUJZ}R`H{q=jM`=xOi`IpR-9F#!j>>&iN2Ywc&UNqC#k9vo?4u<`#OBBm?!#{Tm0dIwn zGbWx}i*ax{j-TncCF}w~EE{-q?ej@;#Ez-j zenyh)=%Wg<08wNF(Vr=Aa~(?2!n7o{fZ|oaOZ<)oon{$wQ~(6EKrz6!k6#X+uG+ zLQ|m$f2gi{YewGPnaD$qv!DosZpsB|5Q$CLvUPlt|&#} zk*~9m1dA5=?&Nj*_Y2r>cqd=EG!Uf*KnK`EnE6)|egfbqtrvV{I64AOz!VNtW!N$) zGMAK#G%E-d9=X7p17qXW5GzO899+3gXI=o{gB=$A4?y)zTGUh`kyDy$7DMBYI!GP8 zcGy#2E(Xv_D$_f(P7RobL`g`fV7p1)xTvt~>2Tx5Q_`m58Bo}m~1*Ohs(;agDIk2jO1n!)oscsL#G#fI58*uTET1~RqtMS zVN27X>X5WCa2%(j~C5+x^ z1eeY|9ZA~&C^u=SUu|TiQd;(!H2XkxkxO+;(XP2CYz-zOBo=kCE`;+AkxqTD~k`sE7^*%EhVyyK9 zCCE&=au|`C6EY!m(j+c2-_e9EywjDgaZ}HedJ`lP~4B*+;0+8B6r3h(6koI6iQkVJtp>oiv3hhQBmc4CkhywuL z{|>hlU!CjH9EPoy{{9f(44xQ5Q;&p^s}7QLi`xkZtv?uUYABi(S6fcId=gQx~ie!9*NTf_V>cGM+4AMCQP~I3t&jmO19u?ehMg zC??ZGn$Tz>$k$flQGHYzx@Xp&{oP*~sVyJO?_#A~f{CnMX}u6*Tsb{=XuA$c3sO%! zB3<;B&x!P62b$6}g}&+i;WZ}kH!Tv6l;*(-i?r^d3dELl)M#B6bh^V4Dqd*-lA>VH zkg%Jo+4nF#y#$<jMbquQvG=d+ZH19vZd8*~p{~#$jSKejg5lhE4N;T)OME%2$Hrvtx$!iG++XCNF+c zL-l-sg)x(L9J6OrfibHl7y$M+qo7Mgox`6SVqr9~c0C^@E&3pl$O^$i3D2S6p-3-# z#kyCu5G4X!Sr`F6YvxPpP@?;e2$&&DTv+C*%IO?%2p9!c6DSnsS9;*Dt;P+X`DS~C zrWM9aA|{h5WYDL;I|y&SD6mGTSv4_}Vo!vgoLt@3PT?}KnoIm`v^#~$w)gUIpE<-{ z)vtA9+nyY)+jb~M>bo7;@!-o-w9@fx4kj+Et{B-nmPX9$&X0f}U_vqr(ktGj-l>oQ zF;{zd(i#6}LYz*Uom=$PTdihTxMJ-I;IGS4iIn)Gr z@{8HLkr>RftQo>Ri2q~h8{^~dp0_u)H*At_Y+G$?+qP}njcwbuZ8f&pG)>YZP4=Jr z_dMste)jG8o|!pwX0Ev|#_5WxBzw6fC1uW9HpXBodo35;6X$vqm`^4qX+>s%K}A<1 z3f6jW2H|mjx(Em~6!^y-!4SMMTy}aaQ`=I_GzyE6I?z<-7T z9EXB64l`Rt19@m5QQ0(BQHoy>93j)T?8s-))=~di!YAOk^FK=kZrw-XIef zh#gtK?lS8&!|9fOLn}5AdE$C+rk4J>(Q)`TK^p>aF=vLvl-e4euDM7hgsL#%_rp9Q zs0xF$pp-NukGFu1wY3h0c2x97cH%LlCRU=i!&l@_o4-6Xm*akF0YxxBK}pgVyCFf7 zHnh3p`5dkX8e7eQOJD=MRc`r7zV3bv#<+8NYGcbJmY_2vU$T-)2S(@LQgpp{ey!bp zSWWf0v#TO(3-DVCBhL0^osORA{i}7Ak>3zr@j?ipzoCoS+rDIGK>yf~z$R#`w2qqn z9e*%|)`c^vMmDJ&?-x!ZNqFSj4HQmG{ZwMrLc%}VwcNR)l|)|P4*2>FCq9*@^@s8l zsEb4UF90e63TDfWuxE%Fy#iBAx)6je%FM07jEAZv2H-W%BnZlqwa=lY&j^Rg*oHm@ zmmNf#a5sn&@{~XWXJuVYBPT|XW+X$$MPviHcNImUZVMI)(J$&Mvg&wBO0hsN08zlG z5*sy{z`uJ$78Xo@=D`ycF(rdjZ31*=R%qSDQZiJ07A!%f$pjSqj7VomC)OmR14UIP zW@beeYU3VK!9J{v;aOR3XL?yciu~nWgmyRE=j(gGbO8W;X!bd1#hxWEbjf6PB0+vr zEOC32ct8qQO4QR}`d*1)$bTy{b=}al&ad| z(PySkhEGBT?We}3ZW(E#?DDwm4A!8D_XPpgjt`eS00&ZRA(~^7Mscgm1wkfLJ7!<$ zB2-TA4(X3f)B3_=n6`$oV7fluobo8#xTY+izWu0M$KrKs9=_^F z9xR`AXVc?A6^&nM|0wU3KFGoXyb+>SKp!W{EDPusghwUKZbgjdJ}Mu5$b5n|Rav?=!Kq*KGIOPcY0N z+}!UBTH-9;5KyZWIWcWkDDJT`iz6P&daYB0Jb=YDc3nv+IGmdPWNhKWRwR=cAhfEr zOzwvuYd3FLAS}oXAcPHpc&KHiHO#-vb2Cd^c%JJZgMMe#<+f|k%6oCd!eXl3HE zfnWEI`@!PMhtZLML>MfYZ(Dj3<%)&{VTz&gNa9>bzw{P{i^+=cs`>v)5V4+uV!pYk z4bBWKxUM{!;pk#F=eeselwGw6>{G&CSNqt*e+Ib((+>bllhN9n`PXP_q0U^hQxhQ1 zr@ByycfmsJsa49LEQTM2>f(OlY_)LMgt`z(pzh_OmYHZ16QLR?asYlfzN!iYvi^ha zx(y4sA2R+m2nZoJv<%A&aRFL#9mjB5k`{6SYn^08qIcC>r9 z_)zE(+#feWQ+Ou`_)LgTP6P3R6%qB^oPWKgBXlojdRxGNm=#}(VUX4S=x0_` zpkcf=oCtJhi`i^^aBh6@ap)-#%B&IqD|@Ys{Tcn+n8Nr`uiX{RKBDi?vy}|N^2H>A zI@(^Y9_0ols<1QBF7e{u*s${(N4o>jkMMr3tF~^UXLE*%HSwQtUwJR9O|`$cJw0@y zwx!#opE9tqUv{3j{6>F{lj9{hNUax=omKerqwGV+vdZa-qbaZrM6g?46Nq4IeOsM@ zBfOf(PL#ZN?q5cOW#~*gCX1KPW{5cPD^XWu0LJ6LTj&q~Bl1~Tq9M-sb|j5vC?|n6 zSgdfpKYic+qPU|Li^M>7e(<{&D8%_41qRU)-hNFyYfPS^yVQwK3a@YN`NrJXV7pv30Q3 zW)UrhMEPh@4PqG)6e)cjqP{a+pmOldj5*ubmFWz?G330=F>>}c?W)#_EnNW@9uG>C zc+w73%5KyW=?{8$}u6Gn|0Hlta(!EGvslm&~&BiChU+7w7IJ*+pRW(2~SwA}_+5 zB_i?DQGiFYa+lIa^^z{GcdcsC+LWsb!jTpvaK2LWADs0l5c3{{W;^1KQ}EP^sU?GS-eo0K9Oy&U#@Rk>p5JAly> z&O28d=hnNZI4QF9m*LgA|5T!@G?lZF2!3XQg^}h|S+Y2bK;T3G{^GMhwR#ROA>?{2 z#|=58kCITqh)%7U&de(2fJ`m}OB_ZroyIhzZhVA{Qr>OQfd*+7w<_=3JkEwKwo)`h zxVz>2t2G+pgo*v(x8}k}44&Z;2a$2)tsgml~5v;ty;#$ce_7hwcmi>ZC7o(;;Y6tt(=uHHXC;v z`|T{VHGGQ63uOMI!$?f_hUUfXj2ExQovh9DIU9S&V2(bBcsV#ZMz9Ym7x+W*cmld$ zImYj1Z5K{AD;NW+bfci?p#Tzwm{*!I7EcKGqFIcj;A)!>bF4D{w#=VZw<&2d|HZGG zy^)TS=|k;6{o%Sg@Mzu4-UOk$)$Eq7j9QCrYAB^X^iWU2VZEFCnM{h8o(k_5IZBG- zuy8_`yl^-&vKr<$;mERCOi2)pXz1Dbjy^AwPUsP1X2H0rs-un;V(Pz-;=s&xr~-lD zo2SAL@ZG`tF5a0&r*@4~%0CPL z(riYS#aOLw(lMS+c;cg=2jr}@`nA)lEM)J=(!9&s|0lT{2t8%FXyYK-VP~OjAOo9@ zB~+|%gXdj%_}PC-`Ks#yhs@c_q|m>&4EFDTM-g{R*j<&YcuCXAanrO%QtOD8Fnrn) zU{PiI;K*Kp;8JSzTR9vX4&VTNj&(!u7t! zt%Y1}=Typ3#O(FwLicp?ty0{&QC`_}4rhkhes7pPWv*sb3RTdzE z(e+R_!7rt9dKXjEi+$s(R4yfkFKIF=-}EZAzU=UN%(M22IxO;v_c|8u1V94<_dRkO zLZIMckTJM*OR@1<>XMRB0*;rRqT$qG!`V`~ObFE@XsoPRC$m<6&)*#=J3pz>UhZBB znxlU~U7zkYZVwu&Udp7XdnD*V@8C;u#RF1#o=OHus*E5ILK#xBsvCcDWtS}{Vtm$b z^Dk=uocVz5(mx9Cz?U$vzY1Vr27m*iWXP}(zC)n*I4_vcArLAu@&Lak%s?Qrp*7+u z6-0(1H3Ut~&bm|}9%Ke*Pz5zyhN)X!6U)IK1Jb{P5$)geiqf*?C#Y|3Ka{P&Y8*T& zIYrJF#Q;T|PR6|SY4(fL5ru&^{)tyufHW;bp)1b_+~f~--|j0c26F;6dPwV@G6NX8q5D2-=9#4X~tN9wrK8uwscbraiJlD<^x!X?<_1L?I zexp{F#tgYyxKXyM1&>c#vu_UDy}!UM?H%u>0X`%Bm05nC?$%lEXYRRv2W^3L0D##b z&9g8LIZHx9JxOp<|1l|aAd(ae2O%X>;Uh8rO5S=uTo%KVF|)Xb;pNOVP)8rHm3@^s z@EOyG$4s?a+S;M$K+UJojdy?LV}EmTr1GyQF%mrlCo&m1 z7M(Z&P~d5`n=tNTFF3-*<{i;8d#L&YY z7>WTY!s6OAvHi?_udwZMTQ!!%{K6iePm%4iWwt&{U~aRL%ax!Kl6N#B}C1kh9o z+t3-(ytU4G>hSq+4{=|aq)0A3Wi7`Xd6p-Z9!?5Ms6>mUThnUF&|ULkW7%Nr-G}@5 z)pIvkhUn4Pd1n9`5^oRuFYYK*1n-E4EHV<_y?JGz0D2@dj6Ow$jwMYEf_No4XG|?0 z5+G=X{0)-V$gET=?wFOVE1FiASv8NQBlUs zlVA6euqU9-fda>l5mUk=vBPkcQNC3*j{x9ZPug3lG+lqGnBUCwdSP<+PE8M7wB}h5 zN(4WC+N2BS97#+^=e-_U4GVcmEyeskq@pE&EKBHrMfyPKnoln`Czh5SmJZ-IPbE0X zmb<>drhZAJ?Zu7t^$fEjE@wSDG9c)qk+To+cNG40caCH zMy6LB2rNuljpMUc9zECxLHVYF7EEA%$dY(-HCRsW1A+$(Vaj=s5Fo15=0qU_v}G_Y z5HAq5l5s3iqL^}o@Tdie7!R*hL?8m8LCzKQ15if{wX(0GFvLm?rZ`tL%#K8{&FBLz zlA3Ptnii({$wR-3K)1%|uE6MI$#WfnsS-rykBl{{V}=Pa$aS~!wYY~_!_)67U+hFg zY9?4>5LPNArvh(Dda8`3{P?-hu zNmL^I`k5y#_SM1L^H|NzkR(_B>&MVWfy^PJ#0f%5f|PLBv<1g6R9P2MWcVDQV-N<5 z`myZ@ws&Z((P&*TT{E_B(HxR$(X=PurnS07b8hK>^`5Ojgdof1D_=iJ#gfecqYDMx z)O>>*0WK?P3`@75wi%?D2**w-93O!dTs$X=5$>f?)3JwY1Mb><&>vGxwfq@84*6DV`KR|Q=_HUP7`m*^FT%+jI^dE&+HERm zgXU5+OC#PvkOwFKiu<8~@D@*CFl7n^IwY2$=1qBmZs?(|J#An$MFdHQ3@pJnBuTX3 z(yLPjV&}A#aEtFAcJ0r3o+-i`fz$@GdaK^LeBnG(tW!JE_EW#dU-tfiGdCmPld@`9 zZej+S)^c`g#mN+gBRo7Xbtq_RyNcXbGqQmhheuNd=1zha0&4hf3B@Kp6YpijbvO2j zmX{8mO$Q`jIw}KQbq!s4L;{sbJ3@I9bEyX#tgd;k5<`r{pyZdTqp>KZNyAAv5B@!% zVJ|rqIEP?}ZCCJ>Of9{+R0&yxl8B1YbSotO0E6ckUx>HN+j zD3P68I&D49?|ului=bYM9~JT^V9metFGQg!axuQ}@@U&%m?TjZPL}5F@vueY9ffZ( zIkbLynP7;6LugRtf-z^QHo72L-92IFi6&rM=wTr=o9kMIcRyD)>&AOkTxv;|x z!jlId7Oo@`V?j87UjZ)~l;(ryz+j3ILBMC7bt8`JzaaOCP6+r!aV%ZJY^@W~@6sYNOBex* zy;@K+2eCvSpU@?uU|uI-nd8J!eM(*H&Y~WF@m5vJtFo)vDe>>`&{Z;lS__fc6*SU+ zok23k&0A7hR+TAM;ywC9CaD+RS9##qp1@CdGqg6wC~JR!7fZXdCQRc2Ub^_-u-9x1 zjQRwD4^{S5K{9d=<$tey6M51@mY6hIvF3}^LDTmCS;BK5cFU(Qse)ODM2Xg!k(~w3 zXraOl{Gy zSn8Gs@0geYyhH%?2;} z@LZe}>COQxayal>8ze3pIRH_+;7Ib=wM_~$lP32^YF^XlFpYy32W^iMO#}S*Q*|l% z1_sxjetv?QvL)=mcHxhY5<-z3KRp7?;-z|w79FZh9;9I_)0$Ol(RZ$nQN@aD_52sq z8AV^&SA!wzQk~Nnohyv$Uh@T^Dh34iu2(aXJ0|_l|DO?u!%7Jg#~4(zB(=su zFX320N~H~JeHu=P;kdV?B0yW56VrDlCtQkt^0oh=W*5-f~hEptLuRYd*;< zr|a7hA0G0?7QRlh?wBM&J^!2=24${U(y*+*N2-YfB;kG_)a;CPZ&$*Ka~>=NHbSV5 zuNWse_=m4dhk>ZSkmM}T$9zlwkk3w>a;U!rfAG%rOMq#7i;@v>6wLaFXd9-5FXMFE zChAzRY21b&U`arh+{+3ryT5u{i9Di~R#ZIG)I?$LCHL~?*4=u3kA`$;jy`)CPj;Yw z)z0?XS|T)6myo+CS$=TZlsa0Y)fCd!L8z1BK_FUgm?lyU9*+AxhI(ujzl>@wr`Ro1 zt?t*@3N^OK!0^MUX3hQ#naniQ7^o+9FrJT}rYyK_$y0RgHnALzc-(@>rx`-`IJWcr ze$|TDXfThIomit&%{1tve%yp|c;6XON<9JY2}%1emM#avAX}{Yd>#<5F>k$*qXaN2 zSEHsEZGSI{_A#WFevhPnUh=rnhmeK1Z}0Q`<xwl*d$R5Y$drNh6iyh6#0kZb*|W@Z2YI8HI3%38cb8H57!CT`sJG2P!NKk+1OyIlDvaSGV$Us-0(>yNiYtyn5()dUcQ zEg0Lr{IgP08%4(<;hxXhLAX-tUP_p&-!E9=V-7`3;1Y`;sSdgN$1C$db#J9bQlMmA zSmG$^xP|c3)Kk+%$*42dC~~P`>c%qAJcJwb`~lq%9nJc(V%j8OF&GrHjt5e{R1gby zmETW25Yo=Y_R4!GN6h!F8~#Nq&d$sCUM*jO1KC3RCZrM@oTZ?@A!)1LBoS(eXSAOs z`L+GH7iJql4)#@(7Y+iAeWAkfJcWJrW2FxQc_RORt{Mn@HD9%%7n@=erVYTq!N$`2 z?58n%fR^A(b9)4@x84X4*Ok7-7+SJ_-^?ihV#A!^dqEtq3Z?n2bR*&&UZc#1hUGgS zMLpAh7pQ#hmJHiAO0}ee41+^7F6c!36_Ib}CTXfilt~!y%we^5=eH*(&~tBT>NdT^ z-?W56=ml|}0{VOwpnlGOp)DtHBML(^N74^QicDh3^3!q%Co;Da!llS=ye6FnqkHwN zyq97jiEAe3ZX;wv3OmDjGzb@1}N>uQ;lj z4+J(q?`gR+6;vc@X7Pq%M#99Rrwr>3k4A>ccw@ujpt()}l0A|8dI2KnB3j8EXb8bk zl@tYodjIx2g$&WDulX;&Lkw&nI^!q7FMhifyrvhW7mX~qpFo9m1KBIAK*tR#i75*^?Sp7;M*st*^p(wXXGRUfGr?cYV*M?0 zI)!9MJSWdiFZVj1C~5t&9t$gT9-Gxn|8v!K0I=?fLS6 zZ+OLf4m_dw*hxu5Xv~hlAy`X3Sly2J^}~X|IlEWZT*9>IZ2ZT!ty4yGKDVrx)fjYO z@xKuObl^CE$ST=9tR(hFf>dkZ7ujetN>PW3l|e+k3Pl(dWeXSgn>ocrbO?(>5ag&@ zuN7)G6m2L4Vnish(dD`@^#zQOg`7>t-OUw@64J|-nUaM$p+1E&ZB(vUVI{v+wt$t9 zoZRXfHxbdrSINfM=BHC( zk{ozroIx{Eouu|8>wfvC;lh)L3p3B2SNt}6JSI=^aBHP8 zBm9Ag@Jdl*r|hzk7t=}Q`}$_kK&pcW9f!Gn^yw$h9*6mB=_dMLK0+?Ja3b!eC};GOj;doH%>OK5CQwZ8bNoq$Skm|~^1*>X2$=h+j$Pne zF$7;`m3FX_BA+Jfo@6SOU`X9VE@d{wk}N&~t|+hsx;O%mpaP+A@AxuwAznwF*{1bu zcT&p9+vUQn*YHGkK!`4HouMUkIM#529-nOI0ZS=@P#_Vt+}6o~$rz}K^k{f$cmT94 zklyhU#bJ#G1aQoNAlN^|U|pX!@VhmUmsQ>pj#pmspoI`t5#l)mdE)=l#q{J}PRUuN z7n>dS=?6=<5^Gy`^)k(IL7`FYueeo`kF0ig{hbw5v?iNwQ)tVkD^hNRY;WJ2ro~Vu zT#I}9JvMhU*tF3Zx3jFqe_sz zW`eh&xLBR8WoZ%56e@DNGn=`#sPo?#B}?NbON@fdoE$1yL4h1% z_o`u3S9PsbU`yZCcjzy~N-l@rp}YP;62NqLu==-QvlQR8$zDkb+2kaCWOgbH0)n=L zQB|pr0vWoMdZ9KH0D~2|jAuuYZ%i2D96`e;=R++On6wZ%Pwi@eXHKUSuJncE#bPd z3B9V9NK8xx1qR{2MwJ=;-%}l(OtM2ox9ZYnyKo6iGB%cu`v7v{Vyg$WOaHfwYjd(*wLDJn~#62pUT zbVH3NCk@ob(H8K3)mSN=D>r9E52DY0H(Muo%(qcqWR43^z}{o3jk8nx7XE8HD@oTs z<8Y*%N%4U0h$TWk5x>Q4bT|Z~Y^1SJGpJIg6=<(R>8+_x-?P5mR%x5rpBuaB6Pxz( z&zHfg<8k(nzW$i`DVNT-mrJ{vqXP6#)$0E&Ar)x(sm3E#p&5rzWlU-Z#Qsz}Y*;(L zWv4_DL`sni339qN=K-+*KW|l__cuMXO0_HFMD6BSSY{)Iv@%jVoZWJ;3QTBb@y=&b zq=Ee3*8jI&0adwy8=jQ85?EsiUVR*vo$nVxGnv3 zqU{QCge{P%c-0PUWo#_s7h5mI^3^~;xqnvYrP7i5ATuHFxSPO`$0b&X zZy6tSrw9OvPfke@N_NS_Q4w|*MI9fQW%3xd&_sED-I7t!y2lVFhZXT41T6$lR=5wi z7b>(a;30g@cZK2s&LILJr)Z(EpzOB$URQrAs_yk=`GfZm{-?`x5ObiKlhv(7ao(cp zR*u}qfUeJKo9M~NCj(D{3MKVeV8}m;+0j?_baU^Z8tfp+7CRe;WqyZK{ebs&%ZwJ~`zBV0o{;uJ(mUi8}ZHqo^er`{yVaZydcj#DpT>HuN44?y` z3IYJl;RuT2qiRUht<`6L0L4!uP6{&MA%)LVFeqzTbXv%yh}Vx1(@@!WQ_oQo6%NY7 z+jOK(3PH?ep=SxStpMt^{g=qC1VRs5uGpXvRgjzTeuZJc22y;+ghm3(l-LSiu8P>U zd?^fdmP}vs3a)fYnowb$mA@A_K)4Mlt4Ys=@OvuHflbBQTRC7*WG9_jJzTFsU-SHj z&>1#MTxO`ZbyT~#rELlc{B}-!$jL(F3SL1c;i6c_uMqT8VQNHGk2e?KLZYPP6y}#k zkm>e}aIaBrP7llH=02q_ApwwS7^4G{Tvd^cB1JsG^Iii|dzC3LB<(IL23Lwr7N0x) zy_rC(MpD-%GlfWA!UH+n3>_MU$D2WWX4F*>svTu*(PJ9s^kI!cMe8H4Ht~U(L-r?X z7EbnAqZB8_eWgl^&8k-r{*@ug?MqCzw!A8&k{+(AQ^#m?312&R?Saje~!@FJSQA4sl zqW1PU7uMzA{tVCbU8~;I+{iS;R^}xG6-3@PM|nyr9&P^f%S$PBCcJl<4+Krj?iJZ1 z4D8=YM=#u`d`uAA0$lGoxc3~81Hz=l_?~0vI)7#>%aI$I`@|J5ePAN~U9iay{5(lP z3jlzs-9O8=f(_dR%E~RNh3ns&asJT4l5K}jRD%^c^xN~lQ7Di@_#^_9!T&zN=g+%$ z3kjyw)0)m?SgQCB8j;0)vLNWRAV{>Zp!%|3zr0*1E|}@;dyb}^&Hr34-zk3&l`e2p z(<6_To0m2R`opF#$yl+ehB!w0qoG9?#GCVFu*)Nt#EasbE*h!F=sx-MN+mS&Dqubj z8cw1V8n{M8vEy5oVUe#P_Am|GcTt+CpHok>9yhbbH5V1s=xW=?3n%R?DyS$yQl5Z5 zi>QD=sCce$$I2!wXnw=NxC{t0c&gMT?!lHX1tnn(R;88w_hX;$iq}d4>U7Fq5#aZk z*UMCNNM>QO+9aKcBUou=awTqYSj*xhf{^|f>IyvT&&oFB$XHO(r*sG$XDW`D=`7#| zLLry7R4w;z>pxe01i&DDwrl7)GWejRdd-r=u#A$`YRNs%w_;CQLxl)GEZZGlt%R2t z1xY6&HWnxyyOHtinrSf{oUmag@m*QBlUQfy&$W5R5p_mIQI-C9qtaVeD>eZ~iml8jo~TtPXNGGhz}1dRv}cN(5^6b=ia3U*dXWZJ5cLsWcc8D1nyZZ1O@``1l99< ziqj|OJr+g$f3CU>fc|N&`o<)pO*_nsLUKt0Tr5_)VO}dl!?o^(N$JsBfv1;@j3!3o zcN`Q66OW6wsdQCCHi?{q5Hl_e&1-GajF{L2l5{cHGL_z?J4(qSHL{KI#d5^#TJnje zFQtlQnyghPs5TQQoTgRjl4WdTFZXsG^t&j%mTC`;yP;`WtKPE)mMmzAsE4Onk2Rh& zXPIu749&~VGw8P5=y8wMmKtHKJJ+BH{f_2AbN<=kRjVJa)i;aFv35p}y$^u+3t)jC z^_g!ZWmEn&tioR`i>~3!h9)Q#{sd8*Dl|yrrFZVC zjjak~fkLF+Ub@9b4uOo3R82zc$`|I5b0S&!3mHk@!@h17w6vuZPP|mflEhZ&5|<*g zPnf*Kpzq%2q&W@YW23ifx=`;~>#G;C1FCTXI~MhO4)EVT;ZRHb+A@BQ zf|HqA&KmCtsNG_LT^Q#G)m^eC(Z-;gM;`T2;SztEMuaC!69(7W8{x~N6Vbgf_pcD7s2qcBt@ zY1hf46YoZqTzVPkXmW}~45nl$BeJuiU{SKACIPM|O}(nof*@69wM(36mq<@=WT-$| z>{wEyj-o}#-qWI&wrL|h@^;r5;))Gyj!j>w*QMnpY@_YtZ{}Pu`tPU3^$F`qU45tn1^Vr?aoC#XeG9~g|I9Y;nwR$8 zm6<^pBwrf0);mccgD4b5C&OS<;4z?i06T}qF^K$_te4XG3_y&s+_3oXKaJH-@Z?r? zxK6$nt2&{CFP(>6{#4c?Od;Lbq7Q_{^&$Yh@*pJ0^G7dTvfnFG%!{*M`*9G+-m!IN zRvd|OxGI1IT~>{m=Pr7@c`lBsIeUC#=2_lZ7M;tSOG=f`&{oBb#r~Are2=s{BvvXO zqXxi}K;HdH{?8H?0%7Dn^D8Ni4wX>?IsW=VEU#pxTKcsMhGZ-Ddx4qVqoXesiI_cG znsr$}G%M}NvXqV{AnuVgKblS*9&PO?Q?iNoPI3G_e3iIGP-U6IlG^g7V7B&HeEjSJa)9_Ht4C*Q;uZ+!bx2&XMQ{|k9H%m zfz7nYSUKNaV*90_uLPKDZCMn=YiWHpC;9aSdT_GMdc{0hm%=Bjl#I9XF; z@~hLuo+rn0h|Tj>b!?q5_I`7jPRWlhZqIYgG>cXF1PweRr8vG&p!?EbblkTjBM)|V zEKSEBn9b|x?gsxMy%qt`?`A4COl+^#bX{_yWRI#8*>W{K9yIa5N&y%uWYlR`kWGI) zJWde+5=0_Cx@7;!+uUW1%$*V)8kZJ4Dc7rv${jVh%NoW^_``aAq)*VloB@^9Kl>3D z5SP3}SEQ=K`<%G^ULhx!BOGMjkOGB@Dh$Vx=!-n)9O%etr9%*t!;WOVuBTA+uBN1% zQ9(l(Klhv}**x_$bx^l zN|7oyHeak3Q+6TlnKsp2>$&61e6#v{y@SepjqNvS8H5rqXre^Ar8Hpa(4UTP>oypy z+89zLqUd6fNHPU5I?tvK^DL8S;+0zdQ|N)9>?wROVfx&Rj3ohqPd(U7q z9l0dbg)h{#1){QM5~Hy;0R0vo9t~o%-FfiV5fohV4AE&2RQR z-mC*)p&(Aadc>7!Cu7Qn)@!)bo7&;fp@^=`$>N)7s=GRu;zv}rzhnpScX}Hiax@e4 z>F?e4Oy;iI5IwLyoO;;rS+zZuiuW*5wE`cQXA@>0{Iu~6^u;F8fq}s)Z)7M~iP0<3 zQ-*>A6;cP;)B?)bYr9LbE9v~A3rOPFSZ*{cNqcT2kKLO%rL|_eBrw$CY4=PsZFM$X zxB1210d+rLH@wOIi#@*rVPHQKMl`m+Iwu6*jivlBPm+~tdS)+@Sgi!OVr08owbtsz z^!h)`-wz%#7>g(F+V7t8%B%HRm$N(e&H4)yiqyyr@JtZ!CCj3*&U>L!Ai$KEDbB~h zB5t~in7PKq%{O<0K2g>f6(~rRbjDdW7)inV--P;RY&s=U1Raz^4cEGBFoQwtqN~oG z>jO4s*h%Sh*Cvv~YN#F$Aeuv3$n8_OWPh9Gqw?B!dU52cs-MMJr|5I?-!g`K6f@emRw7bjVOC95 zvXP0yK^Q#2!73(OT{G%%J1uuzH_=Pw8uE$+fQ4$vYfTk1C-Eztp5ggEedeE^Dev`0 z@+cFwk(_0b_);Z4`)4EbAb%Ek#;&+l8pfbl%w(0}g&C|9#+emWM4C*hzGK?UDV;&3 zOeC4X+gQ%PYB!FtiXgHT(`0R`G1(i_$vva_3EQ$mA$Ln(R`%5 zaE3SxfZxBSr{P(8(0`V227taW{d`1nRQXKP+$e<{D8C0N)i8Tl(EzR7f@^ho>UTx6 zKg!iCR z_SJnG3Lu3wglH+LRbt|3W-zlVgyVq1s?ag`a9e(g;;zSPw0kA@SV5VF)P$99kE?Oi@g;LB1Gbg+%U=t=$-Czn;Y$Yin2ofC zNGD=NF=!bA!$p*-NFvM=df8)xz@`}tA-<%A)z}4u+&F|FD`rx`1#Y`9FjdJ}XHs1i zkvi#OHV>x}YkKT9)lwz2MiqUjEwrgwWg12^`l6X(G%L}^C=o1+EFn`YWP0*jY`#4i zwAJ+}LMY+FFCvP+1)#}~ ze?h<>4e#E+*bjb14Nn#-<*RqO+3q7Z#TFH&wV=-EU~?g-8a?|CUI-F|1PNoArEZKS zH#bIxBw znQ+WXH0v9*kt9g5!N>b8$F|9A?)qdT5mr%3HMBE`dkiUX<>nh!Hi@{B+_oUIVI1F^ z$6lVYcIXi7_uq4*u>#WT&5b0j&j4iSRDdPBpvI~7hvx6BbAHc%2s8ooi4tU|-wb*? zv9|BP4rg7TgNUk-@E~+_Mt4=_iA5nXXy}Z3N@^_97~x2vKeQD9R)g$>(_BpMr)SA1>wTZ>$|sa zX**Da$x5%$EejM_7NM38*O{=QVYO^DQ0IXFK^RehL*Q3F2`LBfXt*)ao73;%njE_Q zd&PWjB0pXeAO?QM4;25;5&+Q8pA-!=MC+nMS^0(?TG(;93N=0R=evj%>@)naKTb^I zR|0M$nO2~3U+zApfn$>DWbg300Vcrkud1&4&^BI_ZKPb0g6 zMuUci1R*%IE$&Ok#f)GHU}s2B_t{}6$Am-x=>wtIviS520t7tac!bPZe!)Q_f@J{0 zV%q^)5D1i8w?Do|?Zz&niU7}=>ViWq+gj3zcO<5MDCqK4m*emOg)l@d2-T4nkBlZ5 zNHD_-G0n6e@`9N%Yd!!q@V@XMLP1HePR?+xANtzU8`pGzG;m>8*L3tKrcBbpaatYa5Q4XyVvBaiahif|Lm_%6~ZED*%Gg=j^4YLWSt4w1L^7JU;$sGymeppaB-GKn>`h(@MdO z^b-THclB~EBW~$soN|5pD4C!tbkRoMqSf@eg2m7_I_ABrHpE>s?B~TI_aDuN2e@W> z347nV85RMte%p%)I^>b&^xRwqwe>f(qX6sa{O%hu;}0}z`~E-Q*Bfi2_tvrMsH>{3vwmkrASXU^ z472(s+$-=X{uLFb8j{e?P~>0GQxOnIca9%w*pb0Ofx&^grKLMn$S-gV&xFY4*3O4uSexUoVarAT7cM#DP&k*W-7{+Uneo6UJAsPfg5+wD zYr$5LJ^uhX4C3ZajJ<}YJ8zYM-L#rmal<;H+arG4VgvF~q|mnWY&fH+mo8(9^wPnR zP2V5t>P7v;*ulZiw(J1gT+_p(X60;|-Q-d(x6GuAJmm}kKmJY37$!{&J4yD~)?xu&I-w~BokY(9^+$T{!X*^Z#-LR?I zyW`Mu{Gj!PN$TwS&^lPh|2Jps+sbL3OL0~=`_fNp;y)EVTV>>73oT%oKQ^1Vt=o}z z)%wS_ym9xS5yNNy{O`j@X9ll?#o7AU_gY#4PXAAhzcP@a$F;fBKt5*lAuMUD_y?aN z01Hy3NVdEXQn=(848k^UhAp^`)CzfmYu;+tr}E1BJ43egzG1-e2o=^@WyvaVEog;O z8TbN>Z(7?HqHmLAMdv{KUkUsPVt-ox@<-u#Gp^vjQDhm#6wA@Q>|YL%#c=3<8tBi| zAK^p{NR^f-QxAdyC%Rv2g#EYLwCNRth?mmF_%QVA5?rrW=%qkch)T|A|6Z-{3^>CvfZZAYt5DZ;R*Kpt zJwNsv(P2ZIy!?j+?mpjB+cQPab(IB4V6Gg5Nm7!!W6^{1^n+8kFhx$1lP2h+0l#lo^8h;F;7hXOe^vAn51cs2J&AeYH>0G6VDs}o#vdLU9FG2 zUWU?fTd*gD_+_dl^k_sEiZ}w?ay`Q=Q=eaxlaYl(q^lFw18LiHg@Eg?23pA$lA2z+ zjs5v%yDN$L$XD74Dqs<^>Ch#Iq(e(etBorMI~F)ggZ&V+i=f_ad>?-6^b-`<54>UmU7v z=i9WHuw-gCwnAQLDq&jrD{V9M-J^w^ORtq=pXYumHl1HAKbl}yRt+oKf58TcDNQJ` zH5d{yYAw^Djx-h~Dh!Rd)U4{zsUIgGir??G;%vHD#rbD|M4RhHcOew2)sF8<`tkGn zr(ncxgsr&q$@Vu-M9zQt{~dSF!ID=XbT_COvOeLrvpn;~R86zJ%nqz^NU!CJBxcNo z6G?w(hbn^3mvX{jyi6^E>jMH`)_dh3)WF$@{Pf2*$RK$!m=3P@#OxJmBg3(Ea;T&2 zSr|toQ?xeuc|{_Kcq+@18Vwb=bwbhcUD)fj%<%&o=Gu3iAu#f$W}VB+zDt`~kM(T7 z6#upCyh~(cqUK5pT+lS9j`eIb;NlEQ5~4;tVx!eVT$?LjyByScv^FnvAEjA@4634X z*qd=qs1HHs594EB3d>LKPF5VB*Uus~0mTVGAjD}>zKn1F)pH(F-q2OLBP_Zhzn52b zP3`+OspzZ0KUJuNtx+X@S;>qu-QirnvLDdHz;1acIk#3NznTmt4VRADQNc7}GH{A3 z*wBQpupoTCqH&RrEMm|~!39yQN-8B~EMG@gx-hx4jyN9bPln`gV=1^J(70CNDqQt? z3}XF3234CaK}v&CCHN`yeLEQKxPaKWf$BgeqGvjuT#lpx&7hT(ALdGd3Pww}wO|E? zL<$621y5pGUD<7!3pUCPkZBel{W}F;cd}hxw~s%M4Tb8uB9mCY9G=74%=^CH)eWy( z2YmnLHK^8Sbo~q>c+M=CK|~{GhISA)fh2`k-F~G^Twjji=_ux_3VQ5c8$~X3F7?o< zR`cThj_SS4BfWLW1wmY-|G#D^81k>qFMrS=#^OX?$nq=(!!*P4vVZXm4B7rOJZ5d1 zFYo%bTXZWo4PsC%KS@mwJ6%R+$5i$7;IC z>F{mK-n=1?z!=rQR2sdvygV{RI>081b`B0407dY=*p-(WK_N}0O5^K7U|;K4(>_Rp z_y==HL*v#Rla>EBCNE#0dTJ3fluI8{#-xQ*#5KxLV+o8F8h7k;zbGuYX_oO<+3iGG zZg9{-V9--yg$*Po1$kWN?1Bn{KO?=ol4!^9Wb#7j!AdymF%pJ9hae|YSOh&@=}B!S z7yXLq!trrOgfKyvL(GpnwCBf_K2(}F_q@^G*6fS3fNj>)tjMQA0n&Mw5V?mr@O+q6 zbvF2zfBK}8@yM;`SCWc0VF{Z1o8ji!ubKn<*TU9ZxmqvSyQRQa&(Auxmlw(}`$9vd zEP;L1{>H-5dE<|d<<`hzfT--*4_#WS^nBDM;}taAGmSulAS5xMbEctRn{4Y&)C6%U zSEyh zU%I$HXN=V%Wz+m7lC3;Fz+9U6SQe>Z;y83&ihue`o86~OT}qG^-u3CCAP2W~?x|um z^EQ#Gr6Xtm&yg@em;3%;5MJy4pY1lmoBM^iZDVKBi7fas9K4j<{cPQYXIGM6+Dg`! zOMSRGp#=%|jVo~52FIbS%hd`_`x znoVM+1D92qvuI?Kiq$PX#SYHa-1>7G(?P(XAYlHQT`%>fg;&M8N=RX74vjfNTxS&%feWv|u8KV!Wh7 z;(7)q#j;qA%OcH+OwfD(8o1~alOeG%yR`5ubMGJk(43Sg;FGfl9!oP_C@&48S#I=Z zl3KA?*VD|NOtEQQ)c<6n+GW8l(9%%Es?CarTN}c4t@EYmtF^f`E~o@~GrBZc^Sr%W zLzSEv0F_$j35bl82W!ZT^_}ERW&4;z>#Bxasg>k3RXTwiwz4J3)kAmuV{RB&!aPOVs2_05H`dp56+7e4i zrF5&qjFAOeQyz!!ekV8f4HAjf9uGcUNgTh;+iDJWV8N(c@<0c%hdCIrxam?lqNpf% z4NV}OX=`a%t8gPzN8zv0Bt*JvTRQztry-1yVNE-gWY zVsy6Sz$l=66EC+CEirXDt|zAU+Iz;bgBB4dO)3^*Kl}l#Wuxo5o*)JpE}GmoheOLs zVvA^KlMRzF$Yzx#Qm9s#crx>>T-fFTC9g4X=(yMG@ItL?C00SVuYM$=f!R}1gTCfF zw&bBWoMNu-Zdj4#?87QSbix_Vw`iDXEpr)NLzfPJcr!f6da#Qcsbn8%UD7oERGq(K zf`uuQ2Ty&kA0Hiqt7bg0Br1_sR(;zPu)z@4n!M^;y||$SwT_Ng$0Q@gqHwd8CN3d@ z>MaxQx{e>er>w?^@Thz;E?69;_1U(GC(447f(p?at~ zv+GK)7;<-Csy*SUslB#q(*OLwdIWOMd=r#={LC%3_D#+L(8bbBFN=N7+S2NUvg+HB z4+dzB-r>4ulTAAk-Qtd~(!I$sP)TRpPlh)<;y4u;s1gBZ62YK}*;*Y80eA1|k!ecmn%G_31HNgcL~ zjrlkSeuXD3YBeWwk|m*KrIkR3mxh(pY9cOJ6To!vk~P>Lw3mB^;Hs4OqpZtE)Z`P9 zSQ^;+p!96I?jVE>Tb{{P-CA+XjU2o)4MLW=WGJ+1gTl6x3VH?IzpVd+aonwt)n&WP zH#VFYed|7d5j5eFHH6UI-TqmBtps7H&o-LA<&y^US6!nvu8b*=j}c#+$T64!z? zi$S4pL=rwK)_nU{%+!ikcY?*Lx;@O6yW&|*N&TPc^@ixKRZd>)ioI3rZne|d`Ei!v zru6oxr&r~y(Pfu8UW0$kPq!y|)>k|VZDsmf@zO`9Z2`zCj|n5{nB2i}$Sg@r*TY5+BjSGp_pC>U=n2+UJf9E8cF-lOl*UR z?h%WzZ~$lbKQ!&NpZn+xvjbh|SOKsp)%fqwWf`$Mp{i!|jFpJs)w8lc5pY_n-4qP| zfuxewU7xX}xqBzIlMT;$q?oLzt6B;RIUMkMXRzW9(?jB@ll`v2vQY6WX>e`1Gb)l5 zFc7ApVQ&9E=tgJyR8|ktdEQdHNJY;>LvBRbc-azUdpc3({w^1VJiiEq`hP-q$Q_dz zMK8B86&h>|_W1ManvIIj*IV(bLQTs)rYO6S#t3p2;CMHWn`kD-z~L~41Pde9ho-4@ ziy;=n;~f*`(qsNTe^VfryA$yn-=kze6&s< z>7hzc>MOo!4afbBFB3z^Qs62pEUzxY^U84|=7^{J9BcEhn3UHc8&;Z6|FuHfE~skL z&4bPLjO3!Op%_a=a!&ffng6%gWEq*1$+_5w7Uoa`EHti*G@%D7Dx%+SQMFLUj`1on z`;Sl)88^nSZckd5Oz&;{cSpyaz&*vrL7TB&;npUyf+TY%CAO_OAlQe1Y*5rO(+CuKj0u z%!kv#YB6tXMmx_OFBqbmg~GU-7?^0w={J_h;Gsb+P-BVJ{JVeUJg{PM8Rsj|P^d|N z1p`5w7HY9P1|LCBjAGpz!dIA4$N=N30vAKh-Y7&<$knxxhVMA|}+f2`_ z$)u^QKSSST#SS`>V!Y&LD7x9fMk^UrXbHVnHw>4RT+_Ix+9#;zCAE^{gMe) zEfR+h2?j%jk62LaLvo3b5C@O6fv?VkgA-Lm0?#z6w9z?F4SU@ouh%oCY;rB{x$=_A zc(EpYTX)?!86EcW-Eif%qAU3EU+%dLhWu{5=`T&p?+W?0XnV$oAq83vXu-DQY&{ps zNWz+BaHBy_o1w!Rj!9U+MUy0C$Wb+KAppJ>xdBhvU;k*#D^|g_(@ZNLj_uRDTbP^w zoX3+LgQIs!knvHWZY0AANmmsE*8_p$MM+U5JZGmSP{B8)o53U?3?!-r#25=b3PoAE zB-MaIg2&P_*PfQij;_8hGa|?id*R_Yz2(35672GNHK> z`Y8L^*e*pw#h?;vQ$Qbh!5-PbH7s0X(})D0I%k++6u%9Vu2gKLxwtv9RB_{64HiNFj`O129wqBbp*mVd zOtHvwYkH@o7+2p08k(n@eX_Cb#_wCvVq?}D4e?%Txz?DrP}aA@_MXVDlL;%9H5MOI zMhyl{zs3_y(1w%?;m@@i9;#ef89bQ>9(O8UjsC3_Jw@p-EPfkl??VXm+BoL|Qq1V! z5P01tBtGAgm70tQ1hU&P@a8e}jwo_Np!ONpE#ykeODe9&Oqc?yucmnD{hp5gFaSuk zBaYKv6C{3-sS~W>f_i?TT^Tw>y48AGoSHh6&x~Jx(4dPpBa2*Y9&R<09Lvb_iQ--! zk)Egjmg=@jLdH3bhU%ujt}R)B1_@pxC0xc=(R5H>GFBx6UmI z(om?-sSImOu4P$O>34naVO^)a?0@H%WRj*Y!1g8D2;jiVc{|~g(>)AFa!CLPNbWej zP3_Ot-4IkMYIZ2%g)!cvel~r9xlP_d$$VuE0M0*G#7Sg}UUpvoLe&zpIRmE?x1kJV z=rdB{U!1J6z2$82t8(Gsjw6uvm#614MEH>Rr&7G#NvQfs(@m!}Vpmr!9c}1)E_fg< z$i-LvwnxQqgArt7?*GvG^bE%nicyipK$?oG6=GVWLD;Vw;h%sVf0P7_i7^PDy^P1R z3&x4LXc#-9*)o-&7xsiZviJ+Z+S8t3<@fP!#Xfdxb=+v{1~s?1>9&ifk`IgREB zX{{Vkv|z{1%VyBz2BqFT-RSAzsJ8z4rXsUW7>dTFzc{EDnv;|{KJK=?qO=|K%DGj? z1VtnW*iMhIF~=Y^W+)hlvM_^XcBA2BOF(Mx0V7d$;jK6?k9LMWA5&Nspm#x8q7Xyp zL}kK4{+_pJ3o#cEz~N4cDPM+RhwVSCr4vvpg@&I((gh}Xo9~xO-;(~d-?ZM6U|*Q3 zV8@kdp`lmjp~4XgK;$d$PjrRuR#;_$EJMNaNikPNu?a2}&Bg1)(F8M{xI-r<0VCj_6F7q{!!GMWg5kc=Je2DH+BrZM5u~N~zS8c||yL zjh?NWx6=*E9vf0-<(uZ{FUO+mU8k4__Pwu=3OyY4x^(;0`|d+q$w+#Uk;w7vaR z=gOFkMmKNFF0o?N7S!;fd!sf{wY>lJT)|M3pbA)#OWqFh?Z#9t2BRWR|B~`&%?oaw zPt>y(Mf}!|7jKEeOWKFbp8VZ&AdpCmF=14h6r~Xc1mp{!bp#uc*c= zBV&WPU=eR!)F`R8Q=01z%h}xAA6I>+OoKXi`!AQaYcIL*3Hu4am%(Moo7}-ZL9{x* zARtI27Wu8@ppil-PunYv?Aa*DA9UymcRJ?{ubS4$EVNSPX`t zA(RINl1*|x{V)VSqSSpzic^stX%SOf7NTJDUJ?CTkt(Dp$EBTgTA(3L1B>6;kP}%&w5vwnNWb z^@xxPw(ZDEWZe&Hze+;ML-D@_Ii7&QuFIrRC&LYcsY3GV4mAftRLPM=tNWJF{BWQ) z`|GN4Nla9ll?C~WnON?}kQi|)m&dQRm%O6q$t&O0sdAnW1|mw*m-$qgJ@n3=m7fFG z;?v+_t|q0!r7frp@jA7M06j4T?+Gf4+HAAzHfGCbuowYV@H&z&EHR8gbHu_-}+#Lw0fVMa_m-e)HcO=?QERyb8L=l7^~F>gd{UH#)le7 zXTqI1;!(oKk+&!nCV%{86EkTvw^N1f4~H>ZYDyQ^A!BE)GtXa^M7MwkYpBR*kd#-q zn~em+g#%+T=Lbp7jFYl%__>>LVlw_W@3{_!{H4F?&q!nk>UZ`nFG$d1Ksk=pz2+$U zLMRiN(-V)I&LiO=QYP&Rq_=qT2pXtR$*8X_d(Vr6N}d zzTDn}X&U&xkOFViVl33igd7dtbR-*(DNIAGPDM6KHVj3t>8Tk_IovTa_?U3BV&w0# z=$6qD4&pLf2d+b_6S?7%(u7eyKC11{1_W?w8}>;dR5%Yh-I!aAW!!QQMA|~0P@-M8 zl_F)%no(SyRx2BnEEE|uH6i8vnsC~CXIE==q!;HY<2j{tMRwfAN7=Hm)lt=cDS2EH z;_FQ_<9_2?U)PQjW~CCet| z9c({obtTe^4lAK9)=baX!Y2d45AA4u+xVLT5{f=}*)Py`N5|6ZBI@=r`T{P2xf!=a zn?xSmWfzWiNqVZzCa0@{8d8ovJwfbMEwqdJH45G|-dD~`p|%A9`e1*3rkcd*#BxjK z^0tg%5+f5)gS+t=LR?f_MbS#6WvW>v8YX|?y4I`=^ioO2X|BifCV4bM50^4(H1z2< zA%poV&E(G@>DR)z95SbRlbf!V$e}hOVEs<+pmgM-81{)CC+2)4Jj3c4x%J;QJ3>j{ zy);?H-oy7hp1(QBx+qdI-Duc#F1J$qFZav`L;kbacxREc^QyADu{=t^NJulhGKD+4 z1sU1Zvk4yguTZUMUA@&xHjH0Up%X9m-Z9h|3gOkdoCQvEqjHP^sh7AWKZ8IW^ z-ioQ)p<*sItT|M7$nfos|Mn^&(bi7C3M-L}jkvN}-7toVh`Lf4t>89Ez{05U zulUR_L?yFss6Z?7TbYtrEmvh|@Kc}PK zj2as1#uJmrkR_}vl{oy-r3b8uMNvjsSEtzuJwta0c6Lmab*6qnwak7?aljE3gis4O z0FZ$dQLNcjt-qQ0XrAP8>U0+-qLyVAleRKtbIy(J(?g+O<^j z;}0Ao-q;prf|{vo_uspdClB6FuD+f2FXXKOYf0ebrwFYD2@Qu16LK6zC)MD}5h)EP zlqni^judCx4o)=)k>}A$q*7?b-s9mPOOOkc?3|rp#D`ntKU06&BqzzP$l{Bv8Y1o6 z)^Ow$Y#CjC%{M<>J=t@Rr-bCj^f?|K)&5ss?FK^%DsQ}_h`*&HZVlQ(OsaXNfe6$- z=d8^3ph}xa7j_hiJVC-jlL9IX72JFSF6M=E*9mWP+xUhDk>Ui0;zd0mZ?bi!R)3)D zvNcj@*F=pk!W7SW8uJv1`QMai#-mVL(+pB+j>X}dA9v?eQdg@os^P_`;+OS!W2Dv( zZxUFIBl*4&Gl6!BXY2Q~KmU%y6&JGw1pf#dHrAh+(@)jmi%DsuW^RwC1_Klyt$2?@ z6d93>vxnK7qZ0tb6X=L~^t@2d#9+;7$@p5bKP=I*-0Iy{(WQ&v*Wm`cLRN`9VWRJg zA81H#$OSALOb2VFjqS4_=MxwqxCi*2{!qg_G*yxR%Q5mfxnU4+^e7))i9^}8^ue7= z{>K=qAfK~~VfI2%5M`T_v!5{IQ}-NuXFDVU`whi4Ts}Y?P)rs5z7_oLLWH0Ve0g%Xd-AZSYICIS zn5>~8wC^Zq^!v1-B*PGGtpP`OJN-8l$xBQNTNQ1sC&n?siEP^aV%nnZC}(bAYBs%` zwDiioMSbX_=s}_0u(LBRo2t9!`)$J9hW{=s<(*IS`x7n`M}lHlhsaNCm!mK>*B<6L zHdFurTs~$2o6(ag6CByYH#43tHivS8=@-b2r`h692;`aW#=AYymM@gvqV2^u4AnH< zD^g$E_g34_^w@?^&PwIL%z^@MeR~FbW4!qTSjycwH18_B8I6=4c`kO8W>#Pd`QTIY z^|3rhR-E;q!pJ#V!p@63v&SHat@rvzd)2wL!lUhnQiP+tUG|*CL@lSaR6#2ru8oR+)uM@=gjeIl_mM3k3k@XGddD4yUR|u2-6s~LFdA1&JHq9 zY1^mM{!2#zmH+uSt!_412(JO_0~(;2iE?B~iXLZPMuAV_tsN-zRDrvlWm+(0Ynt0R zuo~mu%g#Ud0kvjaD$zu%*5oDuZ3L^Zs-r2`A)z)~S->0T&92|M=5|hA1fllRb0nq; zvZwWvg9tuztoAIEFN^=!+A$g1Z&DsoNPNY%r7LGID1zi}hhv?xdKwK~+144Xl1%(| zX3TsbK?e|$OouykJg$vSA4F}&M0r>k3kM;Wp(Rs0nLv(a;5@v+SM-Drh$I+);1^X>b)f^U+KRMZ2er?_XJ&K)RBp2PH^RFxi z@jI5aF0yzjO7K0MSjzRbA$Eq1p$?TfXT`EXqJ0lF(VTleL=JASWDV8%0v5&+1)6v| znF0JTp4^V8=Zd85nL?_{ugOf&){`73GTOl>kke|jx`+ z8{M!3i44@N*XzFFq(|i9xJ_lh zl8Vxek~eOJZ^ocLMFKHmoGCb3qbk@hWJ(-Oj=(DrFkhas7-!7?BBk`q)P!y`+8xO_ z-e#kcTi1FSx<~da3^yTH%6dadQ*z@ashiEowBIRyC#V42t9|VKThf}@&*8GNjN1vN z+z3{2PE+TT^zeWWHgqHMu9hYQ?isl}3xB55KV$1G$l>8B23GOb+WeA_lI%aF0%*wC zgGE*8fAMkuOlyXc2jtL8W6x+1S+e8(f+%3q!mdzTyLS2t>dtQko>U(1xxXmQOEip= zy*-(riuj6U+c<-Xc&OavIct*#mZg9l+SXx1s0iVGy~7e<_@)(4`=ehe~)lvT7+hi=!YgVv|%_cu6l-C^?N-L>T`G#h+oCQ1rx?TFo5< z*Vc$M<&ULy{LPLs0sm%Quw+ayzT|!U6!C>vD6-xZLGvp~kYVVk_1ZfM;a1q}Op~d3 zm+FD4_NAcnxnS#m5x1LUT}GMFYcm)nm2(A-@SO}l1uZaij@25HBbq^dN@H4WcV>lJ zn25$6&!Am=QJK6)^72A$H%4(nL07V^aiU>YH~OdJ{o(q0lq{(lWm@j`)De9WrzWD@ zA@i{~Bs4U>$Ea9&JIM|a+5MjiTm^z_mKVCdu0;5_gC3NoS&Y7a$Ytl)ZPpEgKOEjh zGhU*FX7%RMyUV32?FT8;7<3$P*@y%repVuf$y*mox<(Wgx^usM3tTtWHBy}4jW0?K zDr(|VMSIlG@R6F_iOmiA_Zk$@B7-J@NL8Ny>R^&(Q@vx6*HSTAP6}I$DytbHKYSUE zRVU&W^5%FD%yN~vjT#yIohF7&*YC*t6XNZa*W(tc?9Ms>0qG;zavfgk+wkEkyIpz` zRTY#ci#z7=+U1&*M;8HueTV$&w?+QjmVMxrC)cFv%LQ$iR`F}b9{b-=i4|CV_kYXX z%do9B}YUT#NfoTv*0@>Z7k} z?WfA6EB6GA(^&msU)!+ISwzj}+l=q6PK9$AFCx=Ad@V`>m6l!^ zP^uoZzm@rL-E{$ju*l+AIy{@p!Wo3bnc+iZZ%qAQfXQ;}B&;zq#^cKL(II;h zJ=+oJAGGo&T2AiI+xE+iPp;P~w9+!8eb8)H?PLLO`RP@@bCBB zxPY~L>{9tcGgq!`WBv|X9Bb!ckVi-$)Vjj9*>Ez&h^6=PncU@MkihNIFNgf@`i*Tt z_IX3Y=~RSA!QjRwK%H4FFUYatxQ(tbP|;Rw@h0yu_eZas;YWLAoCX88>|Sd2Gcd$9 zr-}HU$#88cPi>pU{hS(r&Vg!iq--_{>j9&IJe-XnBLoSJoV{^=6>|Cv52o_rDR$?m zyN7~43PS=tyd92zxw39Z)lID8cuLQOP2|+ZALg@*CMLi;u;MbZhK>-%Nt-wWL;bAw zMCprm9$^;QiH}{bWP4eXw{0ZBTbDzYE5Bkyyu#U<0uGj$uJ=Py6?PN`9#Z#vZ2XFb zs{B&t+!#1+xwebRtt}O}+1ZZ#m1Of;jfF^lV>63oUb5-xM$&2BR9SG@m7(g zV+Y1~9!N^>bM{7V8&FkBm8+e>j3ftT4sWiuXb%d z@-&H-FFI!_Lu|88pU@N4ZaOn8JRGeAmG^4ePMz1ATqwaW(ISYREq{6zQCg%5}Zs`-d2H!+`R)1kDBzjR~((PH#(!%HMwP-8#f$@E^y7J zTEECBg-{#OjEqPDs)!yb(j1}Wcy^y^$;)PVa!6g|$ zV?fKWsO&s^D8~`g1Gj*w&5id9-V>B$mwxaLKR&xu1^SeJlio6`ontqKMwmdK{&T%y z3Tm#_1&yF-STr;)mI>ib48IF*s-2Y<=17#di5u@u#)6IaS=r34V_qU;&!^jU;ozw# z6^xVT0~L?3_G)iz$FU9fd!f<3=jF828LQZHq;y59u)GgJUcbharp3Zw^&5HO`r~BZ}2ev-;vABZCEHFnO>0%S8U}xK~7I-b0hlN{^!Xg3J1z`tK)P!?o$| ziS(>q6lN#qL3x+wnnaJvi+@R5%dz-975S%#u_MdCYFDC#BYRJfz@|{$&l@CzrQ~RS zMRW=##8%72Y;X%U)YOzNnM~XkXl&a>E6>Hel$bvzN7YMdrdPAoKDFtk)%W2Jfn|+D zVg%bYPz{RrDTg2T--P<=Z@n&}XjZ#OAQ&nF=x0T&CMl90DYlglhr&LW> z=lW7Xxa0UeJiNYAnVGl+G?x-A@)M}^I!ck?N@W*k2bl-Q&U}#v991`%VIZSkfwuB2E%|2i^=PX3zf(&K|Te*oe#4( z_ke>hdzJ#AtEfsiqQMSnh?z>5XoXG*6ZfPDrb2kIEG5B(h5%@*n6XexC1sFJphrX{s&e%cV3pWFV~6IEAd! z_r9itZus)^o$p0`vzMdMw9Qf#kE@KW6){Zp)@_MJT*fcj5qcTc;L?JotMr9hiAJ;; zQij3CMz$2seqzQyXR&va5xC>I7Z_>z&K=s*eG^Z07#;+<|K>?`WW#X(hS)F$@5<^Pn0>a(C}XMy`L1`a`Tr7 zat*&AuvJ81F*q-6ci4SZHKL=i$ZbtoWnFY{jDf}V##*1DbM2fJT}uEC4sr@sfN64b zY84*iD%V1>!yF{G; z>W~bP3>FSZX>}1>M^-w%VfMd6;z`CF6ga;U+v%A^im8uI_uK#px%^S{tbb0GJD?Ga zg0)Xu6+|7&#blZwfronJoiOR&5v}#oM81%J_^zf$Q zxiOd-zbwRYg30%yrohfDOOXp}{t&qNXhb6b&Wh{<**~3GzDz%XR|7xy&W#fKkR^FH zPd;Ks@4CH%9M8- z0ARM6wLz^*kaX#@co-^CuixyG$L#jB8Jf8e92&$a0vqC4!pYyz4iuU$_ zz*FGs*QK?(!M=cbP-0!E^SS=EdSon`JLtV~g}h?H(Icw~v4&Vo&}M>Zc`bM)ddnfa za8=9z2xlXy&}vqI+LTZj%GGm5ur)tCMa3LJ&(*+jg(lCl{Trg|nUBLEYv~UwVV?^jj0xJWUFh=QkIGT?u*Iwm**7&(}8U zPUXx_Py87>6cX`xzl6xr8fcuVk)%>V&(GuLB3CagH@qJo@C}d>R@uH1ZqS6v6x#qZ)!{(5%+MEaoSpU84& z_>#JW>_U7VQ?CyqCDram2*A;6qqWw=3y`QB{wo+4f}wV=E zU%O+IL*s04F&_CGUFhd4BoXmD+%!B-&AQ7;5ua0$5%s}X!d&hYZVlV z7YtsFmeZlgp@Bn|A~6U&#_qSK;uyG6;f+3 z-q@3SuD)!BKg*Au$4bQ*TD1gLrCVk-1RQNf{qWabB=}4} z$YIiJXa$euTwz7qCNFryH!2RxCzi`)G_Kr@wfdjgb5d8T(qSz=J+oypvThnY8y0Nx z=)oq`^DO1)atIOTJ~<4Sq8JBpdQa5r$fe3zX=-^;_6e}lzeH~iVM6JeOlu#IHvUxb z1ZmG_zVPTNdw<%X4wJjHs;irG67F=TcxxMqbb>mleL5oON#gpR^E4614QfBI#pd*?VJp<&OndWPCY* zcBYRFB5HShk12Ia{nlQX>VG~8UgTUNObEwKL-cm`kuF(XXN*;-oXDw4|uf~0V5lpDN`~{ zTSbNXTR`Z}G;5sr06aO6n3~2-X{K0i_ad5-29N;|$+6py9`vmsv*+zR zz%ofTZ;Ri4{wTR@q3ac+EK+kSWn!uqWcK9GgJEhFk5*^3t)`e=#-vqgMPhUr;w-C7 zdL-R86ORYIJm~k? z%S^R~v~G~N| zjR09RLp%L7h-ss8bT_+X1pw<-oVKaFWaT*>$Z z36$A#IwVW?oh*J{B;a8>wXSZPTN2%Wk?<=R%N|65MUm!JKgne=J+;LGE783a-6Q>l zTsII7x1;L>)*#MjVIqV5qfFqZJE?!|7L(nxtYVM3ID*N7Sb|<$)@1@P6#s=Y>FcSd z#>CItV4(F^{9RUAI&IICL;@zKHZ&ykP)IZYU4MW9Go3ZN-%Lwi*8iwh=W=^~;~&$H z45j_x4dTTwY=>~_DhLyzxuzzIzv912pJ7E@$nDkUwTpb(`EuxLEY@;f7aZ2GmHh4o z8Wh(p*3Aq3hhZ~RamIX!Ag+2pYXzy}^AITay^iOAuig?=w{Qz}zDeilYG^{O`lEtg zxBjO+F%oSY`O}b>Ly%m9kPIBUDx(b!ZN~cuo%yltz>d-~S7>l`qA|lJg zhxTtWh@IDB`)_=r1**s!em@Y6%KEc7KL78d14}fY7g)JCs7aigPF;CTH7p>>5T_&| zMZ3YXCm`_o*-5hj_e?6$C@`|gM}+Dzj)E57ef3z4v7i(vxu#5jchM%aZD9`D%duq( z@RuPiBhhs+{_6|O3noViei73` zx%6rEZ~hFH%$b}6CYCYrB&>`+!)0OFn8?2$zR?2sl(6`_K%! ziOQX-4yx8@1m$m_~v?TzjLnIo=TGNj%7%@eBtHvTV_D?Y4Af*inxFxV?IiYypI zyA2wKj1V4uVA-S(dD+BN!}YBykHQL&nzJgZwbR=s;hwy}U%5Y~3$=2JBH5$OcwN>& zne`b$k;KYCiGh3kt)ar83FKwG2>f$RW8kDk&*HstSI)S_FDoir%ihVrBI+2 z$)omUJYaKHCHE%%V1&+7!EL^Sg{BqXFy3JPF5N1cXN|w{i1DX594~p(;87;)^!5Wc zX#MJoY>#KpDtHl^ab+v(=0UXE~qB#S# zv=Xm+qUu!r4ix^A=>%MNf4C>LBI^HFkMM&c0fq2f9|~XD^uiu9BF^wi(7i?%!}c>P zmoS!7B5af^*#cK1t{S>A_OSlnNXe{YNO0Ydnz#*b*-WLv@yQKy9z)m$SDsb&&;>0EpFoWxg^UHL)ftL@;(F(KgtZugdFPR z1a5iWDhiW%%L_Xu^Zlc-k2Zrcnu=VD3}}|K=pSO>)Z?2PN9CEsf95IwYJB7Fqs)7m zVQ+}_G*`N6k3CNi&z$`7J*-dm^O+p_#%BSwEZb+(v5%;hvprMWu)l7IiE|$d0>#_- z7B#AV{$>J^SIKC)q;4nq$G7 zFA8CK$L{&7=EuPfw5y^GE6(wM&;gaN2c^_G%tl^+m>YBZ{_VHj_P&k(sk%-LE(Hg` zSbFD+0;)>ULLhP&z_?V7Q4hB5|B#C{l~LK_{>Ax@d?$O1{Fj)ae<@h#$wR}hDQ=r% z`dGNg@N~A4GB-Dv9Dyn(K%bkZ@4wvh9~aMB%O8%rRww+t$)u(OU(ZD;hp zIJ1I;_s|-!eR1j|_*}m>P}+E-o9do2(QrlqX&hcW6vMU1Mk&neZEYsX8?z zRrnfyXZ{72j>9p;gYSu%mDujMDcb{p$>QRdr2b?>k{q7k|6}PKZcI8FBCe$M~pzTD5w&TnR}neT;oaN5m~j>1-90Yl{}h{;k# zs-ZR%v=-%5#haC(SIj<{ZA8+Hdcj{CcdI#0jW#SsM5#v?4nA_Gsw^p2o}J_5P&*_~ zu(|QUw@fNQV`e6C+jLBMeN9Hyz&xBubE8LjNo8ye4&ahECjiGKBuYljx`bx}Xc3$N zlw^&#HH5+0SMN$)>-=)BO(6e^gqtrKn%VM~-*<<$1g@RQi45jmywFwAy1y5i*=sgg zUR}vbtH$J|75mobmag?DtX&zF8M*ChdYAB%HsTFlEL##0|6Ds_}bbl_3-~in& zE92mGpC-3TBcR9nHVO>-Ss1u<2iN`_Yi5ikTD(Wik#Mg)m3FHcO+(Lx4eogER`%P{ zWXfoXv)EydoYrlw;e$uM(KEBDD~=sAFHnzyB%Blz{Q*T|4Gjjqrpfi9cMzjTP8UyN zRxD2puaT@G{qq!VJGALc`k5-FfaU5w_OG-Sth3CCL!CRr=?1*+5qusH z!CI>V9j7>HKZ?~^j{dv)q4MeukKBHA&`NQ70?tL%#l&5fofOGC}AF6bQNKg|d5T4DdVxYTTZ z*_ghqbG>6sRXM4UVf@==Q&U&^x2}hYx75J72#IsZsGPBe$BYfzJ5g>Dw6^)`dt*C7 z++3Dex>f9PTag0)uM!7!haHP@L(-#jx`70uDZ`$kz(J^S_7Vjs3Cmw*43noLE+S4( zj`Et*3pCef()N~dvN=)4>}zLj@3JO?#95DJTshgDoA3Z#W44g-`;e+zQsJhh}k8v;wC9g<$Lr>J$@{uL4>6tdfD!6`{xr7 zp(*JT_Cm#jGa<-JmgST9d+Zy1x6u=|%lbiL+NYZvTl^z)A(oclEPK4^@1RM~IMTpt z{#2)C(J96DsB=z3|XAr~|QI{OfnH)H@uF=+=!f)BPIij0;ZMdw5m#(`s|8ql?1 zQA~turN32Nk_-`q0IZgjpnwgQ41*gV^tw4&W2hnyQeBlyAx-WSyOYxE%csx#VO5)% zZk_0){UwWExH4vGRF)>y0GqAnf{b9d@pR%_GYtI5+yuo960laR$=fXtOt}C17){vc z66=hu95qgtUzb_4y^j%z@oW089{KVoP%xkO5+|5dJAAXVf?>r($^0)TNOYo`e^k}A zm3%LSvUy`EvAOKD>5phxUGXwm*|kZm(J-6P?XeQck)*;jp%aMAH5T1v5q(pCuyXLc)&fmVZdL^HE|p}Oi9fcB z3$Slwr;Mt<_nA9j!n}P}WZ@geo)EMV-pGCEfZmqg6$u##2~lju#5>X?p_St>83F(} zWPGBi;OSwbY3BJC{Q${jab_sZRCPtUsl`qR7~nFj=&m}#1dcaV!vbjNay|sjoG8nb ztuw}x-?BNsUPf~Cs8+PKsFjh}cT$D(cF{dO+f7(l}BiRn9Kc#8dxEfGSYFUWX z!4A!>I|bRe+O}%Ls?DaKNp=8ezZ zwidLV;9W4CT{k-c?UDx}&d!|=4CudqQ#EePu^H(D0Eo$6ku4p{mE3P;_6vgtt)JgQo3oj)c{C5v z%Z)jSvlH{uDaMsKmn_H63G&F0Wp2^NhFSNACmjn3M#@Qa4Z?$Pvl1x3|2CGhil_