Compare commits

..

No commits in common. "7561521020d29eb7e2191f00dc38294a8c3f1b34" and "8a8a2e128a8ca8630d66deeb7b22ef72bb5d3f60" have entirely different histories.

20 changed files with 606 additions and 697 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

View File

@ -1013,7 +1013,6 @@ export default class BattleScene extends SceneBase {
case Species.FURFROU: case Species.FURFROU:
case Species.ORICORIO: case Species.ORICORIO:
case Species.MAGEARNA: case Species.MAGEARNA:
case Species.ZARUDE:
case Species.SQUAWKABILLY: case Species.SQUAWKABILLY:
case Species.TATSUGIRI: case Species.TATSUGIRI:
case Species.PALDEA_TAUROS: case Species.PALDEA_TAUROS:

View File

@ -14,7 +14,7 @@ import { BattlerTagType } from "./enums/battler-tag-type";
import { TerrainType } from "./terrain"; import { TerrainType } from "./terrain";
import { WeatherType } from "./weather"; import { WeatherType } from "./weather";
import { BattleStat } from "./battle-stat"; import { BattleStat } from "./battle-stat";
import { allAbilities } from "./ability"; import { allAbilities } from "./ability"
export enum BattlerTagLapseType { export enum BattlerTagLapseType {
FAINT, FAINT,

View File

@ -2290,25 +2290,6 @@ 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 { export function getCharVariantFromDialogue(message: string): string {
const variantMatch = /@c\{(.*?)\}/.exec(message); const variantMatch = /@c\{(.*?)\}/.exec(message);
if (variantMatch) if (variantMatch)

View File

@ -8,14 +8,14 @@ export function getSplashMessages(): string[] {
const splashMessages = Array(10).fill(getBattleCountSplashMessage()); const splashMessages = Array(10).fill(getBattleCountSplashMessage());
splashMessages.push(...[ splashMessages.push(...[
i18next.t('splashMessages:joinTheDiscord'), i18next.t('splashMessages:joinTheDiscord'),
i18next.t('splashMessages:infiniteLevels'), i18next.t('splashMessages:infiniteLevel'),
i18next.t('splashMessages:everythingStacks'), i18next.t('splashMessages:everythingStacks'),
i18next.t('splashMessages:optionalSaveScumming'), i18next.t('splashMessages:optionalSaveScumming'),
i18next.t('splashMessages:biomes'), i18next.t('splashMessages:biomes'),
i18next.t('splashMessages:openSource'), i18next.t('splashMessages:openSource'),
i18next.t('splashMessages:playWithSpeed'), i18next.t('splashMessages:playWith5xSpeed'),
i18next.t('splashMessages:liveBugTesting'), i18next.t('splashMessages:liveBugTesting'),
i18next.t('splashMessages:heavyInfluence'), i18next.t('splashMessages:heavyRoR2Influence'),
i18next.t('splashMessages:pokemonRiskAndPokemonRain'), i18next.t('splashMessages:pokemonRiskAndPokemonRain'),
i18next.t('splashMessages:nowWithMoreSalt'), i18next.t('splashMessages:nowWithMoreSalt'),
i18next.t('splashMessages:infiniteFusionAtHome'), i18next.t('splashMessages:infiniteFusionAtHome'),

View File

@ -209,9 +209,6 @@ export class LoadingScene extends SceneBase {
this.loadImage('egg_list_bg', 'ui'); this.loadImage('egg_list_bg', 'ui');
this.loadImage('end_m', 'cg');
this.loadImage('end_f', 'cg');
for (let i = 0; i < 10; i++) { for (let i = 0; i < 10; i++) {
this.loadAtlas(`pokemon_icons_${i}`, ''); this.loadAtlas(`pokemon_icons_${i}`, '');
if (i) if (i)

View File

@ -13,11 +13,10 @@ import { nature } from "./nature";
import { pokeball } from "./pokeball"; import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon"; import { pokemon } from "./pokemon";
import { pokemonStat } from "./pokemon-stat"; import { pokemonStat } from "./pokemon-stat";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial"; import { tutorial } from "./tutorial";
import { weather } from "./weather"; import { titles,trainerClasses,trainerNames } from "./trainers";
import { splashMessages } from "./splash-messages"
export const deConfig = { export const deConfig = {
@ -27,20 +26,19 @@ export const deConfig = {
commandUiHandler: commandUiHandler, commandUiHandler: commandUiHandler,
egg: egg, egg: egg,
fightUiHandler: fightUiHandler, fightUiHandler: fightUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler, menuUiHandler: menuUiHandler,
modifierType: modifierType, menu: menu,
move: move, move: move,
nature: nature,
pokeball: pokeball, pokeball: pokeball,
pokemon: pokemon,
pokemonStat: pokemonStat, pokemonStat: pokemonStat,
splashMessages: splashMessages, pokemon: pokemon,
starterSelectUiHandler: starterSelectUiHandler, starterSelectUiHandler: starterSelectUiHandler,
titles: titles, titles: titles,
trainerClasses: trainerClasses, trainerClasses: trainerClasses,
trainerNames: trainerNames, trainerNames: trainerNames,
tutorial: tutorial, tutorial: tutorial,
weather: weather, splashMessages: splashMessages,
nature: nature,
growth: growth,
modifierType: modifierType,
} }

View File

@ -13,12 +13,13 @@ import { nature } from "./nature";
import { pokeball } from "./pokeball"; import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon"; import { pokemon } from "./pokemon";
import { pokemonStat } from "./pokemon-stat"; import { pokemonStat } from "./pokemon-stat";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial"; import { tutorial } from "./tutorial";
import { titles,trainerClasses,trainerNames } from "./trainers";
import { splashMessages } from "./splash-messages"
import { weather } from "./weather"; import { weather } from "./weather";
export const enConfig = { export const enConfig = {
ability: ability, ability: ability,
abilityTriggers: abilityTriggers, abilityTriggers: abilityTriggers,
@ -26,20 +27,20 @@ export const enConfig = {
commandUiHandler: commandUiHandler, commandUiHandler: commandUiHandler,
egg: egg, egg: egg,
fightUiHandler: fightUiHandler, fightUiHandler: fightUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler, menuUiHandler: menuUiHandler,
modifierType: modifierType, menu: menu,
move: move, move: move,
nature: nature,
pokeball: pokeball, pokeball: pokeball,
pokemon: pokemon,
pokemonStat: pokemonStat, pokemonStat: pokemonStat,
splashMessages: splashMessages, pokemon: pokemon,
starterSelectUiHandler: starterSelectUiHandler, starterSelectUiHandler: starterSelectUiHandler,
titles: titles, titles: titles,
trainerClasses: trainerClasses, trainerClasses: trainerClasses,
trainerNames: trainerNames, trainerNames: trainerNames,
tutorial: tutorial, tutorial: tutorial,
splashMessages: splashMessages,
nature: nature,
growth: growth,
weather: weather, weather: weather,
modifierType: modifierType,
} }

View File

@ -13,10 +13,10 @@ import { nature } from "./nature";
import { pokeball } from "./pokeball"; import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon"; import { pokemon } from "./pokemon";
import { pokemonStat } from "./pokemon-stat"; import { pokemonStat } from "./pokemon-stat";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial"; import { tutorial } from "./tutorial";
import { titles,trainerClasses,trainerNames } from "./trainers";
import { splashMessages } from "./splash-messages"
import { weather } from "./weather"; import { weather } from "./weather";
@ -27,20 +27,20 @@ export const esConfig = {
commandUiHandler: commandUiHandler, commandUiHandler: commandUiHandler,
egg: egg, egg: egg,
fightUiHandler: fightUiHandler, fightUiHandler: fightUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler, menuUiHandler: menuUiHandler,
modifierType: modifierType, menu: menu,
move: move, move: move,
nature: nature,
pokeball: pokeball, pokeball: pokeball,
pokemon: pokemon,
pokemonStat: pokemonStat, pokemonStat: pokemonStat,
splashMessages: splashMessages, pokemon: pokemon,
starterSelectUiHandler: starterSelectUiHandler, starterSelectUiHandler: starterSelectUiHandler,
titles: titles, titles: titles,
trainerClasses: trainerClasses, trainerClasses: trainerClasses,
trainerNames: trainerNames, trainerNames: trainerNames,
tutorial: tutorial, tutorial: tutorial,
splashMessages: splashMessages,
nature: nature,
growth: growth,
weather: weather, weather: weather,
modifierType: modifierType,
} }

View File

@ -13,13 +13,14 @@ import { nature } from "./nature";
import { pokeball } from "./pokeball"; import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon"; import { pokemon } from "./pokemon";
import { pokemonStat } from "./pokemon-stat"; import { pokemonStat } from "./pokemon-stat";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial"; import { tutorial } from "./tutorial";
import { titles,trainerClasses,trainerNames } from "./trainers";
import { splashMessages } from "./splash-messages"
import { weather } from "./weather"; import { weather } from "./weather";
export const frConfig = { export const frConfig = {
ability: ability, ability: ability,
abilityTriggers: abilityTriggers, abilityTriggers: abilityTriggers,
@ -27,21 +28,21 @@ export const frConfig = {
commandUiHandler: commandUiHandler, commandUiHandler: commandUiHandler,
egg: egg, egg: egg,
fightUiHandler: fightUiHandler, fightUiHandler: fightUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler, menuUiHandler: menuUiHandler,
modifierType: modifierType, menu: menu,
move: move, move: move,
nature: nature,
pokeball: pokeball, pokeball: pokeball,
pokemon: pokemon,
pokemonStat: pokemonStat, pokemonStat: pokemonStat,
splashMessages: splashMessages, pokemon: pokemon,
starterSelectUiHandler: starterSelectUiHandler, starterSelectUiHandler: starterSelectUiHandler,
titles: titles, titles: titles,
trainerClasses: trainerClasses, trainerClasses: trainerClasses,
trainerNames: trainerNames, trainerNames: trainerNames,
tutorial: tutorial, tutorial: tutorial,
splashMessages: splashMessages,
nature: nature,
growth: growth,
weather: weather, weather: weather,
modifierType: modifierType,
} }

View File

@ -3,407 +3,407 @@ import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
export const modifierType: ModifierTypeTranslationEntries = { export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: { ModifierType: {
"AddPokeballModifierType": { "AddPokeballModifierType": {
name: "{{pokeballName}} x{{modifierCount}}", name: "{{modifierCount}}x {{pokeballName}}",
description: "Recevez {{modifierCount}} {{pokeballName}}s (Inventaire : {{pokeballAmount}}) \nTaux de capture : {{catchRate}}", description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}",
}, },
"AddVoucherModifierType": { "AddVoucherModifierType": {
name: "{{voucherTypeName}} x{{modifierCount}}", name: "{{modifierCount}}x {{voucherTypeName}}",
description: "Recevez {{modifierCount}} {{voucherTypeName}}", description: "Receive {{voucherTypeName}} x{{modifierCount}}",
}, },
"PokemonHeldItemModifierType": { "PokemonHeldItemModifierType": {
extra: { extra: {
"inoperable": "{{pokemonName}} ne peut pas\nporter cet objet !", "inoperable": "{{pokemonName}} can't take\nthis item!",
"tooMany": "{{pokemonName}} possède trop\ndexemplaires de cet objet !", "tooMany": "{{pokemonName}} has too many\nof this item!",
} }
}, },
"PokemonHpRestoreModifierType": { "PokemonHpRestoreModifierType": {
description: "Restaure {{restorePoints}} PV ou {{restorePercent}}% des PV totaux dun Pokémon, en fonction duquel des deux est le plus élevé", description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher",
extra: { extra: {
"fully": "Restaure tous les PV dun Pokémon", "fully": "Fully restores HP for one Pokémon",
"fullyWithStatus": "Restaure tous les PV dun Pokémon et soigne tous ses problèmes de statut", "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment",
} }
}, },
"PokemonReviveModifierType": { "PokemonReviveModifierType": {
description: "Réanime un Pokémon et restaure {{restorePercent}}% de ses PV", description: "Revives one Pokémon and restores {{restorePercent}}% HP",
}, },
"PokemonStatusHealModifierType": { "PokemonStatusHealModifierType": {
description: "Soigne tous les problèmes de statut dun Pokémon", description: "Heals any status ailment for one Pokémon",
}, },
"PokemonPpRestoreModifierType": { "PokemonPpRestoreModifierType": {
description: "Restaure {{restorePoints}} PP à une capacité dun Pokémon", description: "Restores {{restorePoints}} PP for one Pokémon move",
extra: { extra: {
"fully": "Restaure tous les PP à une capacité dun Pokémon", "fully": "Restores all PP for one Pokémon move",
} }
}, },
"PokemonAllMovePpRestoreModifierType": { "PokemonAllMovePpRestoreModifierType": {
description: "Restaure {{restorePoints}} PP à toutes les capacités dun Pokémon", description: "Restores {{restorePoints}} PP for all of one Pokémon's moves",
extra: { extra: {
"fully": "Restaure tous les PP à toutes les capacités dun Pokémon", "fully": "Restores all PP for all of one Pokémon's moves",
} }
}, },
"PokemonPpUpModifierType": { "PokemonPpUpModifierType": {
description: "Augmente le max de PP de {{upPoints}} à une capacité dun Pokémon pour chaque 5 PP max (max : 3)", description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)",
}, },
"PokemonNatureChangeModifierType": { "PokemonNatureChangeModifierType": {
name: "Aromate {{natureName}}", name: "{{natureName}} Mint",
description: "Donne la nature {{natureName}} à un Pokémon et la débloque pour le starter lui étant lié.", description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.",
}, },
"DoubleBattleChanceBoosterModifierType": { "DoubleBattleChanceBoosterModifierType": {
description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats", description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles",
}, },
"TempBattleStatBoosterModifierType": { "TempBattleStatBoosterModifierType": {
description: "Augmente d1 cran {{tempBattleStatName}} pour tout léquipe pendant 5 combats", description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles",
}, },
"AttackTypeBoosterModifierType": { "AttackTypeBoosterModifierType": {
description: "Augmente de 20% la puissance des capacités de type {{moveType}} dun Pokémon", description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%",
}, },
"PokemonLevelIncrementModifierType": { "PokemonLevelIncrementModifierType": {
description: "Fait monter un Pokémon d1 niveau", description: "Increases a Pokémon's level by 1",
}, },
"AllPokemonLevelIncrementModifierType": { "AllPokemonLevelIncrementModifierType": {
description: "Fait monter toute léquipe d1 niveau", description: "Increases all party members' level by 1",
}, },
"PokemonBaseStatBoosterModifierType": { "PokemonBaseStatBoosterModifierType": {
description: "Augmente de 10% {{statName}} de base de son porteur. Plus les IV sont hauts, plus il peut en porter.", description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.",
}, },
"AllPokemonFullHpRestoreModifierType": { "AllPokemonFullHpRestoreModifierType": {
description: "Restaure tous les PV de toute l'équipe", description: "Restores 100% HP for all Pokémon",
}, },
"AllPokemonFullReviveModifierType": { "AllPokemonFullReviveModifierType": {
description: "Réanime et restaure tous les PV de tous les Pokémon K.O.", description: "Revives all fainted Pokémon, fully restoring HP",
}, },
"MoneyRewardModifierType": { "MoneyRewardModifierType": {
description: "Octroie une {{moneyMultiplier}} somme dargent ({{moneyAmount}}₽)", description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})",
extra: { extra: {
"small": "petite", "small": "small",
"moderate": "moyenne", "moderate": "moderate",
"large": "grande", "large": "large",
}, },
}, },
"ExpBoosterModifierType": { "ExpBoosterModifierType": {
description: "Augmente de {{boostPercent}}% le gain de Points dExp", description: "Increases gain of EXP. Points by {{boostPercent}}%",
}, },
"PokemonExpBoosterModifierType": { "PokemonExpBoosterModifierType": {
description: "Augmente de {{boostPercent}}% le gain de Points dExp du porteur", description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%",
}, },
"PokemonFriendshipBoosterModifierType": { "PokemonFriendshipBoosterModifierType": {
description: "Augmente le gain damitié de 50% par victoire", description: "Increases friendship gain per victory by 50%",
}, },
"PokemonMoveAccuracyBoosterModifierType": { "PokemonMoveAccuracyBoosterModifierType": {
description: "Augmente de {{accuracyAmount}} la précision des capacités (maximum 100)", description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)",
}, },
"PokemonMultiHitModifierType": { "PokemonMultiHitModifierType": {
description: "Frappe une fois de plus en échange dune baisse de puissance de respectivement 60/75/82,5% par cumul", description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively",
}, },
"TmModifierType": { "TmModifierType": {
name: "CT{{moveId}} - {{moveName}}", name: "TM{{moveId}} - {{moveName}}",
description: "Apprend la capacité {{moveName}} à un Pokémon", description: "Teach {{moveName}} to a Pokémon",
}, },
"EvolutionItemModifierType": { "EvolutionItemModifierType": {
description: "Permet à certains Pokémon dévoluer", description: "Causes certain Pokémon to evolve",
}, },
"FormChangeItemModifierType": { "FormChangeItemModifierType": {
description: "Permet à certains Pokémon de changer de forme", description: "Causes certain Pokémon to change form",
}, },
"FusePokemonModifierType": { "FusePokemonModifierType": {
description: "Fusionne deux Pokémon (transfère le Talent, sépare les stats de base et les types, partage le movepool)", description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)",
}, },
"TerastallizeModifierType": { "TerastallizeModifierType": {
name: "Téra-Éclat {{teraType}}", name: "{{teraType}} Tera Shard",
description: "{{teraType}} Téracristallise son porteur pendant 10 combats", description: "{{teraType}} Terastallizes the holder for up to 10 battles",
}, },
"ContactHeldItemTransferChanceModifierType": { "ContactHeldItemTransferChanceModifierType": {
description: "{{chancePercent}}% de chances de voler un objet de ladversaire en lattaquant", description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen",
}, },
"TurnHeldItemTransferModifierType": { "TurnHeldItemTransferModifierType": {
description: "À chaque tour, son porteur obtient un objet de son adversaire", description: "Every turn, the holder acquires one held item from the foe",
}, },
"EnemyAttackStatusEffectChanceModifierType": { "EnemyAttackStatusEffectChanceModifierType": {
description: "Ajoute {{chancePercent}}% de chances dinfliger le statut {{statusEffect}} avec des capacités offensives", description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves",
}, },
"EnemyEndureChanceModifierType": { "EnemyEndureChanceModifierType": {
description: "Ajoute {{chancePercent}}% de chances dencaisser un coup", description: "Adds a {{chancePercent}}% chance of enduring a hit",
}, },
"RARE_CANDY": { name: "Super Bonbon" }, "RARE_CANDY": { name: "Rare Candy" },
"RARER_CANDY": { name: "Hyper Bonbon" }, "RARER_CANDY": { name: "Rarer Candy" },
"MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes" }, "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" },
"DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque les Maxi Champis" }, "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" },
"TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats" }, "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" },
"MAP": { name: "Carte", description: "Vous permet de choisir votre destination à un croisement" }, "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" },
"POTION": { name: "Potion" }, "POTION": { name: "Potion" },
"SUPER_POTION": { name: "Super Potion" }, "SUPER_POTION": { name: "Super Potion" },
"HYPER_POTION": { name: "Hyper Potion" }, "HYPER_POTION": { name: "Hyper Potion" },
"MAX_POTION": { name: "Potion Max" }, "MAX_POTION": { name: "Max Potion" },
"FULL_RESTORE": { name: "Guérison" }, "FULL_RESTORE": { name: "Full Restore" },
"REVIVE": { name: "Rappel" }, "REVIVE": { name: "Revive" },
"MAX_REVIVE": { name: "Rappel Max" }, "MAX_REVIVE": { name: "Max Revive" },
"FULL_HEAL": { name: "Total Soin" }, "FULL_HEAL": { name: "Full Heal" },
"SACRED_ASH": { name: "Cendres Sacrées" }, "SACRED_ASH": { name: "Sacred Ash" },
"REVIVER_SEED": { name: "Résugraine", description: "Réanime et restaure la moitié des PV de son porteur sil tombe K.O." }, "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" },
"ETHER": { name: "Huile" }, "ETHER": { name: "Ether" },
"MAX_ETHER": { name: "Huile Max" }, "MAX_ETHER": { name: "Max Ether" },
"ELIXIR": { name: "Élixir" }, "ELIXIR": { name: "Elixir" },
"MAX_ELIXIR": { name: "Élixir Max" }, "MAX_ELIXIR": { name: "Max Elixir" },
"PP_UP": { name: "PP Plus" }, "PP_UP": { name: "PP Up" },
"PP_MAX": { name: "PP Max" }, "PP_MAX": { name: "PP Max" },
"LURE": { name: "Parfum" }, "LURE": { name: "Lure" },
"SUPER_LURE": { name: "Super Parfum" }, "SUPER_LURE": { name: "Super Lure" },
"MAX_LURE": { name: "Parfum Max" }, "MAX_LURE": { name: "Max Lure" },
"MEMORY_MUSHROOM": { name: "Champi Mémoriel", description: "Remémore une capacité à un Pokémon" }, "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" },
"EXP_SHARE": { name: "Multi Exp", description: "Tous les non-participants reçoivent 20% des Points dExp dun participant" }, "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" },
"EXP_BALANCE": { name: "ÉquilibrExp", description: "Équilibre les Points dExp à lavantage des membres de léquipe aux plus bas niveaux" }, "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" },
"OVAL_CHARM": { name: "Charme Ovale", description: "Quand plusieurs Pokémon sont en combat, chacun gagne 10% supplémentaires du total dExp" }, "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: "Charme Exp" }, "EXP_CHARM": { name: "EXP. Charm" },
"SUPER_EXP_CHARM": { name: "Super Charme Exp" }, "SUPER_EXP_CHARM": { name: "Super EXP. Charm" },
"GOLDEN_EXP_CHARM": { name: "Charme Exp Doré" }, "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" },
"LUCKY_EGG": { name: "Œuf Chance" }, "LUCKY_EGG": { name: "Lucky Egg" },
"GOLDEN_EGG": { name: "Œuf dOr" }, "GOLDEN_EGG": { name: "Golden Egg" },
"SOOTHE_BELL": { name: "Grelot Zen" }, "SOOTHE_BELL": { name: "Soothe Bell" },
"SOUL_DEW": { name: "Rosée Âme", description: "Augmente de 10% linfluence de la nature dun Pokémon sur ses statistiques (cumulatif)" }, "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" },
"NUGGET": { name: "Pépite" }, "NUGGET": { name: "Nugget" },
"BIG_NUGGET": { name: "Maxi Pépite" }, "BIG_NUGGET": { name: "Big Nugget" },
"RELIC_GOLD": { name: "Vieux Ducat" }, "RELIC_GOLD": { name: "Relic Gold" },
"AMULET_COIN": { name: "Pièce Rune", description: "Augmente de 20% les gains dargent" }, "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" },
"GOLDEN_PUNCH": { name: "Poing Doré", description: "50% des dégâts infligés sont convertis en argent" }, "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" },
"COIN_CASE": { name: "Boite Jetons", description: "Tous les 10 combats, recevez 10% de votre argent en intérêts" }, "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" },
"LOCK_CAPSULE": { name: "Poké Écrin", description: "Permet de verrouiller des objets rares si vous relancez les objets proposés" }, "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" },
"GRIP_CLAW": { name: "Accro Griffe" }, "GRIP_CLAW": { name: "Grip Claw" },
"WIDE_LENS": { name: "Loupe" }, "WIDE_LENS": { name: "Wide Lens" },
"MULTI_LENS": { name: "Multi Loupe" }, "MULTI_LENS": { name: "Multi Lens" },
"HEALING_CHARM": { name: "Charme Soin", description: "Augmente de 10% lefficacité des capacités et objets de soin de PV (hors Rappels)" }, "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" },
"CANDY_JAR": { name: "Jarre de Bonbons", description: "Augmente de 1 le nombre de niveaux gagnés à lutilisation dun Super Bonbon" }, "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" },
"BERRY_POUCH": { name: "Sac à Baies", description: "Ajoute 25% de chances quune Baie utilisée ne soit pas consommée" }, "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" },
"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." }, "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" },
"QUICK_CLAW": { name: "Vive Griffe", description: "Ajoute 10% de chances dagir en premier, indépendamment de la vitesse (après la priorité)" }, "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" },
"KINGS_ROCK": { name: "Roche Royale", description: "Ajoute 10% de chances quune capacité offensive apeure ladversaire" }, "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" },
"LEFTOVERS": { name: "Restes", description: "Soigne à chaque tour 1/16 des PV max dun Pokémon" }, "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" },
"SHELL_BELL": { name: "Grelot Coque", description: "Soigne 1/8 des dégâts infligés par un Pokémon" }, "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" },
"BATON": { name: "Bâton", description: "Permet de transmettre les effets en cas de changement de Pokémon. Ignore les pièges." }, "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" },
"SHINY_CHARM": { name: "Charme Chroma", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage chromatique" }, "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" },
"ABILITY_CHARM": { name: "Charme Talent", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage avec un Talent Caché" }, "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" },
"IV_SCANNER": { name: "Scanner dIV", description: "Scanne les IV dun Pokémon sauvage. 2 IV sont révélés par Scanner. Les meilleurs sont montrés en 1er." }, "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: "Pointeau ADN" }, "DNA_SPLICERS": { name: "DNA Splicers" },
"MINI_BLACK_HOLE": { name: "Mini Trou Noir" }, "MINI_BLACK_HOLE": { name: "Mini Black Hole" },
"GOLDEN_POKEBALL": { name: "Poké Ball Dorée", description: "Ajoute 1 choix dobjet à la fin de chaque combat" }, "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" },
"ENEMY_DAMAGE_BOOSTER": { name: "Jeton Dégâts", description: "Augmente les dégâts de 5%" }, "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" },
"ENEMY_DAMAGE_REDUCTION": { name: "Jeton Protection", description: "Diminue les dégâts reçus de 2,5%" }, "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" },
"ENEMY_HEAL": { name: "Jeton Soin", description: "Soigne 2% des PV max à chaque tour" }, "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" },
"ENEMY_ATTACK_POISON_CHANCE": { name: "Jeton Poison" }, "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" },
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Jeton Paralysie" }, "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" },
"ENEMY_ATTACK_SLEEP_CHANCE": { name: "Jeton Sommeil" }, "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" },
"ENEMY_ATTACK_FREEZE_CHANCE": { name: "Jeton Gel" }, "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" },
"ENEMY_ATTACK_BURN_CHANCE": { name: "Jeton Brulure" }, "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" },
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Jeton Total Soin", description: "Ajoute 10% de chances à chaque tour de se soigner dun problème de statut." }, "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: "Jeton Ténacité" }, "ENEMY_ENDURE_CHANCE": { name: "Endure Token" },
"ENEMY_FUSED_CHANCE": { name: "Jeton Fusion", description: "Ajoute 1% de chances quun Pokémon sauvage soit une fusion." }, "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" },
}, },
TempBattleStatBoosterItem: { TempBattleStatBoosterItem: {
"x_attack": "Attaque +", "x_attack": "X Attack",
"x_defense": "Défense +", "x_defense": "X Defense",
"x_sp_atk": "Atq. Spé. +", "x_sp_atk": "X Sp. Atk",
"x_sp_def": "Déf. Spé. +", "x_sp_def": "X Sp. Def",
"x_speed": "Vitesse +", "x_speed": "X Speed",
"x_accuracy": "Précision +", "x_accuracy": "X Accuracy",
"dire_hit": "Muscle +", "dire_hit": "Dire Hit",
}, },
AttackTypeBoosterItem: { AttackTypeBoosterItem: {
"silk_scarf": "Mouchoir Soie", "silk_scarf": "Silk Scarf",
"black_belt": "Ceinture Noire", "black_belt": "Black Belt",
"sharp_beak": "Bec Pointu", "sharp_beak": "Sharp Beak",
"poison_barb": "Pic Venin", "poison_barb": "Poison Barb",
"soft_sand": "Sable Doux", "soft_sand": "Soft Sand",
"hard_stone": "Pierre Dure", "hard_stone": "Hard Stone",
"silver_powder": "Poudre Argentée", "silver_powder": "Silver Powder",
"spell_tag": "Rune Sort", "spell_tag": "Spell Tag",
"metal_coat": "Peau Métal", "metal_coat": "Metal Coat",
"charcoal": "Charbon", "charcoal": "Charcoal",
"mystic_water": "Eau Mystique", "mystic_water": "Mystic Water",
"miracle_seed": "Graine Miracle", "miracle_seed": "Miracle Seed",
"magnet": "Aimant", "magnet": "Magnet",
"twisted_spoon": "Cuillère Tordue", "twisted_spoon": "Twisted Spoon",
"never_melt_ice": "Glace Éternelle", "never_melt_ice": "Never-Melt Ice",
"dragon_fang": "Croc Dragon", "dragon_fang": "Dragon Fang",
"black_glasses": "Lunettes Noires", "black_glasses": "Black Glasses",
"fairy_feather": "Plume Enchantée", "fairy_feather": "Fairy Feather",
}, },
BaseStatBoosterItem: { BaseStatBoosterItem: {
"hp_up": "PP Plus", "hp_up": "HP Up",
"protein": "Protéine", "protein": "Protein",
"iron": "Fer", "iron": "Iron",
"calcium": "Calcium", "calcium": "Calcium",
"zinc": "Zinc", "zinc": "Zinc",
"carbos": "Carbone", "carbos": "Carbos",
}, },
EvolutionItem: { EvolutionItem: {
"NONE": "Aucun", "NONE": "None",
"LINKING_CORD": "Fil de Liaison", "LINKING_CORD": "Linking Cord",
"SUN_STONE": "Pierre Soleil", "SUN_STONE": "Sun Stone",
"MOON_STONE": "Pierre Lune", "MOON_STONE": "Moon Stone",
"LEAF_STONE": "Pierre Plante", "LEAF_STONE": "Leaf Stone",
"FIRE_STONE": "Pierre Feu", "FIRE_STONE": "Fire Stone",
"WATER_STONE": "Pierre Eau", "WATER_STONE": "Water Stone",
"THUNDER_STONE": "Pierre Foudre", "THUNDER_STONE": "Thunder Stone",
"ICE_STONE": "Pierre Glace", "ICE_STONE": "Ice Stone",
"DUSK_STONE": "Pierre Nuit", "DUSK_STONE": "Dusk Stone",
"DAWN_STONE": "Pierre Aube", "DAWN_STONE": "Dawn Stone",
"SHINY_STONE": "Pierre Éclat", "SHINY_STONE": "Shiny Stone",
"CRACKED_POT": "Théière Fêlée", "CRACKED_POT": "Cracked Pot",
"SWEET_APPLE": "Pomme Sucrée", "SWEET_APPLE": "Sweet Apple",
"TART_APPLE": "Pomme Acidulée", "TART_APPLE": "Tart Apple",
"STRAWBERRY_SWEET": "Fraise en Sucre", "STRAWBERRY_SWEET": "Strawberry Sweet",
"UNREMARKABLE_TEACUP": "Bol Médiocre", "UNREMARKABLE_TEACUP": "Unremarkable Teacup",
"CHIPPED_POT": "Théière Ébréchée", "CHIPPED_POT": "Chipped Pot",
"BLACK_AUGURITE": "Obsidienne", "BLACK_AUGURITE": "Black Augurite",
"GALARICA_CUFF": "Bracelet Galanoa", "GALARICA_CUFF": "Galarica Cuff",
"GALARICA_WREATH": "Couronne Galanoa", "GALARICA_WREATH": "Galarica Wreath",
"PEAT_BLOCK": "Bloc de Tourbe", "PEAT_BLOCK": "Peat Block",
"AUSPICIOUS_ARMOR": "Armure de la Fortune", "AUSPICIOUS_ARMOR": "Auspicious Armor",
"MALICIOUS_ARMOR": "Armure de la Rancune", "MALICIOUS_ARMOR": "Malicious Armor",
"MASTERPIECE_TEACUP": "Bol Exceptionnel", "MASTERPIECE_TEACUP": "Masterpiece Teacup",
"METAL_ALLOY": "Métal Composite", "METAL_ALLOY": "Metal Alloy",
"SCROLL_OF_DARKNESS": "Rouleau des Ténèbres", "SCROLL_OF_DARKNESS": "Scroll Of Darkness",
"SCROLL_OF_WATERS": "Rouleau de lEau", "SCROLL_OF_WATERS": "Scroll Of Waters",
"SYRUPY_APPLE": "Pomme Nectar", "SYRUPY_APPLE": "Syrupy Apple",
}, },
FormChangeItem: { FormChangeItem: {
"NONE": "Aucun", "NONE": "None",
"ABOMASITE": "Blizzarite", "ABOMASITE": "Abomasite",
"ABSOLITE": "Absolite", "ABSOLITE": "Absolite",
"AERODACTYLITE": "Ptéraïte", "AERODACTYLITE": "Aerodactylite",
"AGGRONITE": "Galekingite", "AGGRONITE": "Aggronite",
"ALAKAZITE": "Alakazamite", "ALAKAZITE": "Alakazite",
"ALTARIANITE": "Altarite", "ALTARIANITE": "Altarianite",
"AMPHAROSITE": "Pharampite", "AMPHAROSITE": "Ampharosite",
"AUDINITE": "Nanméouïte", "AUDINITE": "Audinite",
"BANETTITE": "Branettite", "BANETTITE": "Banettite",
"BEEDRILLITE": "Dardargnite", "BEEDRILLITE": "Beedrillite",
"BLASTOISINITE": "Tortankite", "BLASTOISINITE": "Blastoisinite",
"BLAZIKENITE": "Braségalite", "BLAZIKENITE": "Blazikenite",
"CAMERUPTITE": "Caméruptite", "CAMERUPTITE": "Cameruptite",
"CHARIZARDITE_X": "Dracaufite X", "CHARIZARDITE_X": "Charizardite X",
"CHARIZARDITE_Y": "Dracaufite Y", "CHARIZARDITE_Y": "Charizardite Y",
"DIANCITE": "Diancite", "DIANCITE": "Diancite",
"GALLADITE": "Gallamite", "GALLADITE": "Galladite",
"GARCHOMPITE": "Carchacrokite", "GARCHOMPITE": "Garchompite",
"GARDEVOIRITE": "Gardevoirite", "GARDEVOIRITE": "Gardevoirite",
"GENGARITE": "Ectoplasmite", "GENGARITE": "Gengarite",
"GLALITITE": "Oniglalite", "GLALITITE": "Glalitite",
"GYARADOSITE": "Léviatorite", "GYARADOSITE": "Gyaradosite",
"HERACRONITE": "Scarhinoïte", "HERACRONITE": "Heracronite",
"HOUNDOOMINITE": "Démolossite", "HOUNDOOMINITE": "Houndoominite",
"KANGASKHANITE": "Kangourexite", "KANGASKHANITE": "Kangaskhanite",
"LATIASITE": "Latiasite", "LATIASITE": "Latiasite",
"LATIOSITE": "Latiosite", "LATIOSITE": "Latiosite",
"LOPUNNITE": "Lockpinite", "LOPUNNITE": "Lopunnite",
"LUCARIONITE": "Lucarite", "LUCARIONITE": "Lucarionite",
"MANECTITE": "Élecsprintite", "MANECTITE": "Manectite",
"MAWILITE": "Mysdibulite", "MAWILITE": "Mawilite",
"MEDICHAMITE": "Charminite", "MEDICHAMITE": "Medichamite",
"METAGROSSITE": "Métalossite", "METAGROSSITE": "Metagrossite",
"MEWTWONITE_X": "Mewtwoïte X", "MEWTWONITE_X": "Mewtwonite X",
"MEWTWONITE_Y": "Mewtwoïte Y", "MEWTWONITE_Y": "Mewtwonite Y",
"PIDGEOTITE": "Roucarnagite", "PIDGEOTITE": "Pidgeotite",
"PINSIRITE": "Scarabruite", "PINSIRITE": "Pinsirite",
"RAYQUAZITE": "Rayquazite", "RAYQUAZITE": "Rayquazite",
"SABLENITE": "Ténéfixite", "SABLENITE": "Sablenite",
"SALAMENCITE": "Drattakite", "SALAMENCITE": "Salamencite",
"SCEPTILITE": "Jungkite", "SCEPTILITE": "Sceptilite",
"SCIZORITE": "Cizayoxite", "SCIZORITE": "Scizorite",
"SHARPEDONITE": "Sharpedite", "SHARPEDONITE": "Sharpedonite",
"SLOWBRONITE": "Flagadossite", "SLOWBRONITE": "Slowbronite",
"STEELIXITE": "Steelixite", "STEELIXITE": "Steelixite",
"SWAMPERTITE": "Laggronite", "SWAMPERTITE": "Swampertite",
"TYRANITARITE": "Tyranocivite", "TYRANITARITE": "Tyranitarite",
"VENUSAURITE": "Florizarrite", "VENUSAURITE": "Venusaurite",
"BLUE_ORB": "Gemme Bleue", "BLUE_ORB": "Blue Orb",
"RED_ORB": "Gemme Rouge", "RED_ORB": "Red Orb",
"SHARP_METEORITE": "Méteorite Aiguisée", "SHARP_METEORITE": "Sharp Meteorite",
"HARD_METEORITE": "Méteorite Solide", "HARD_METEORITE": "Hard Meteorite",
"SMOOTH_METEORITE": "Méteorite Lisse", "SMOOTH_METEORITE": "Smooth Meteorite",
"ADAMANT_CRYSTAL": "Globe Adamant", "ADAMANT_CRYSTAL": "Adamant Crystal",
"LUSTROUS_ORB": "Orbe Perlé", "LUSTROUS_ORB": "Lustrous Orb",
"GRISEOUS_CORE": "Globe Platiné", "GRISEOUS_CORE": "Griseous Core",
"REVEAL_GLASS": "Miroir Sacré", "REVEAL_GLASS": "Reveal Glass",
"GRACIDEA": "Gracidée", "GRACIDEA": "Gracidea",
"MAX_MUSHROOMS": "Maxi Champis", "MAX_MUSHROOMS": "Max Mushrooms",
"DARK_STONE": "Galet Noir", "DARK_STONE": "Dark Stone",
"LIGHT_STONE": "Galet Blanc", "LIGHT_STONE": "Light Stone",
"PRISON_BOTTLE": "Vase Scellé", "PRISON_BOTTLE": "Prison Bottle",
"N_LUNARIZER": "Necroluna", "N_LUNARIZER": "N Lunarizer",
"N_SOLARIZER": "Necrosol", "N_SOLARIZER": "N Solarizer",
"RUSTED_SWORD": "Épée Rouillée", "RUSTED_SWORD": "Rusted Sword",
"RUSTED_SHIELD": "Bouclier Rouillé", "RUSTED_SHIELD": "Rusted Shield",
"ICY_REINS_OF_UNITY": "Rênes de lUnité du Froid", "ICY_REINS_OF_UNITY": "Icy Reins Of Unity",
"SHADOW_REINS_OF_UNITY": "Rênes de lUnité dEffroi", "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity",
"WELLSPRING_MASK": "Masque du Puits", "WELLSPRING_MASK": "Wellspring Mask",
"HEARTHFLAME_MASK": "Masque du Fourneau", "HEARTHFLAME_MASK": "Hearthflame Mask",
"CORNERSTONE_MASK": "Masque de la Pierre", "CORNERSTONE_MASK": "Cornerstone Mask",
"SHOCK_DRIVE": "Module Choc", "SHOCK_DRIVE": "Shock Drive",
"BURN_DRIVE": "Module Pyro", "BURN_DRIVE": "Burn Drive",
"CHILL_DRIVE": "Module Aqua", "CHILL_DRIVE": "Chill Drive",
"DOUSE_DRIVE": "Module Choc", "DOUSE_DRIVE": "Douse Drive",
}, },
TeraType: { TeraType: {
"UNKNOWN": "Inconnu", "UNKNOWN": "Unknown",
"NORMAL": "Normal", "NORMAL": "Normal",
"FIGHTING": "Combat", "FIGHTING": "Fighting",
"FLYING": "Vol", "FLYING": "Flying",
"POISON": "Poison", "POISON": "Poison",
"GROUND": "Sol", "GROUND": "Ground",
"ROCK": "Roche", "ROCK": "Rock",
"BUG": "Insecte", "BUG": "Bug",
"GHOST": "Spectre", "GHOST": "Ghost",
"STEEL": "Acier", "STEEL": "Steel",
"FIRE": "Feu", "FIRE": "Fire",
"WATER": "Eau", "WATER": "Water",
"GRASS": "Plante", "GRASS": "Grass",
"ELECTRIC": "Électrik", "ELECTRIC": "Electric",
"PSYCHIC": "Psy", "PSYCHIC": "Psychic",
"ICE": "Glace", "ICE": "Ice",
"DRAGON": "Dragon", "DRAGON": "Dragon",
"DARK": "Ténèbres", "DARK": "Dark",
"FAIRY": "Fée", "FAIRY": "Fairy",
"STELLAR": "Stellaire", "STELLAR": "Stellar",
}, },
} as const; } as const;

View File

@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = {
}, },
"zippyZap": { "zippyZap": {
name: "Pika-Sprint", name: "Pika-Sprint",
effect: "Une attaque électrique rapide comme léclair qui augmente lesquive. Frappe en priorité." effect: "Une attaque électrique rapide comme léclair qui auguemente lesquive. Frappe en priorité."
}, },
"splishySplash": { "splishySplash": {
name: "Pika-Splash", name: "Pika-Splash",

View File

@ -39,6 +39,6 @@ export const weather: SimpleTranslationEntries = {
"harshSunClearMessage": "Les rayons du soleil saffaiblissent !", "harshSunClearMessage": "Les rayons du soleil saffaiblissent !",
"strongWindsStartMessage": "Un vent mystérieux se lève !", "strongWindsStartMessage": "Un vent mystérieux se lève !",
"strongWindsLapseMessage": "Le vent mystérieux souffle violemment !", "strongWindsLapseMessage": "Le vent mystérieux violemment !",
"strongWindsClearMessage": "Le vent mystérieux sest dissipé…" "strongWindsClearMessage": "Le vent mystérieux sest dissipé…"
} }

View File

@ -13,10 +13,10 @@ import { nature } from "./nature";
import { pokeball } from "./pokeball"; import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon"; import { pokemon } from "./pokemon";
import { pokemonStat } from "./pokemon-stat"; import { pokemonStat } from "./pokemon-stat";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial"; import { tutorial } from "./tutorial";
import { titles,trainerClasses,trainerNames } from "./trainers";
import { splashMessages } from "./splash-messages"
import { weather } from "./weather"; import { weather } from "./weather";
@ -27,20 +27,20 @@ export const itConfig = {
commandUiHandler: commandUiHandler, commandUiHandler: commandUiHandler,
egg: egg, egg: egg,
fightUiHandler: fightUiHandler, fightUiHandler: fightUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler, menuUiHandler: menuUiHandler,
modifierType: modifierType, menu: menu,
move: move, move: move,
nature: nature,
pokeball: pokeball, pokeball: pokeball,
pokemon: pokemon,
pokemonStat: pokemonStat, pokemonStat: pokemonStat,
splashMessages: splashMessages, pokemon: pokemon,
starterSelectUiHandler: starterSelectUiHandler, starterSelectUiHandler: starterSelectUiHandler,
titles: titles, titles: titles,
trainerClasses: trainerClasses, trainerClasses: trainerClasses,
trainerNames: trainerNames, trainerNames: trainerNames,
tutorial: tutorial, tutorial: tutorial,
splashMessages: splashMessages,
nature: nature,
growth: growth,
weather: weather, weather: weather,
modifierType: modifierType,
} }

View File

@ -4,320 +4,320 @@ export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: { ModifierType: {
"AddPokeballModifierType": { "AddPokeballModifierType": {
name: "{{modifierCount}}x {{pokeballName}}", name: "{{modifierCount}}x {{pokeballName}}",
description: "Ricevi {{pokeballName}} x{{modifierCount}} (Inventario: {{pokeballAmount}}) \nTasso di cattura: {{catchRate}}", description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}",
}, },
"AddVoucherModifierType": { "AddVoucherModifierType": {
name: "{{modifierCount}}x {{voucherTypeName}}", name: "{{modifierCount}}x {{voucherTypeName}}",
description: "Ricevi {{voucherTypeName}} x{{modifierCount}}", description: "Receive {{voucherTypeName}} x{{modifierCount}}",
}, },
"PokemonHeldItemModifierType": { "PokemonHeldItemModifierType": {
extra: { extra: {
"inoperable": "{{pokemonName}} non può prendere\nquesto oggetto!", "inoperable": "{{pokemonName}} can't take\nthis item!",
"tooMany": "{{pokemonName}} ne ha troppi\ndi questo oggetto!", "tooMany": "{{pokemonName}} has too many\nof this item!",
} }
}, },
"PokemonHpRestoreModifierType": { "PokemonHpRestoreModifierType": {
description: "Restituisce {{restorePoints}} PS o {{restorePercent}}% PS ad un Pokémon, a seconda del valore più alto", description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher",
extra: { extra: {
"fully": "Restituisce tutti gli PS ad un Pokémon", "fully": "Fully restores HP for one Pokémon",
"fullyWithStatus": "Restituisce tutti gli PS ad un Pokémon e lo cura da ogni stato", "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment",
} }
}, },
"PokemonReviveModifierType": { "PokemonReviveModifierType": {
description: "Rianima un Pokémon esausto e gli restituisce il {{restorePercent}}% PS", description: "Revives one Pokémon and restores {{restorePercent}}% HP",
}, },
"PokemonStatusHealModifierType": { "PokemonStatusHealModifierType": {
description: "Cura tutti i problemi di stato di un Pokémon", description: "Heals any status ailment for one Pokémon",
}, },
"PokemonPpRestoreModifierType": { "PokemonPpRestoreModifierType": {
description: "Restituisce {{restorePoints}} PP per una mossa di un Pokémon ", description: "Restores {{restorePoints}} PP for one Pokémon move",
extra: { extra: {
"fully": "Restituisce tutti i PP di una mossa", "fully": "Restores all PP for one Pokémon move",
} }
}, },
"PokemonAllMovePpRestoreModifierType": { "PokemonAllMovePpRestoreModifierType": {
description: "Restituisce {{restorePoints}} PP a tutte le mosse di un Pokémon", description: "Restores {{restorePoints}} PP for all of one Pokémon's moves",
extra: { extra: {
"fully": "Restituisce tutti i PP a tutte le mosse di un Pokémon", "fully": "Restores all PP for all of one Pokémon's moves",
} }
}, },
"PokemonPpUpModifierType": { "PokemonPpUpModifierType": {
description: "Aumenta i PP di una mossa di {{upPoints}} per ogni 5 PP (massimo 3)", description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)",
}, },
"PokemonNatureChangeModifierType": { "PokemonNatureChangeModifierType": {
name: "Menta {{natureName}}", name: "{{natureName}} Mint",
description: "Cambia la natura del Pokémon in {{natureName}} e sblocca la natura per il Pokémon iniziale", description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.",
}, },
"DoubleBattleChanceBoosterModifierType": { "DoubleBattleChanceBoosterModifierType": {
description: "Raddoppia la possibilità di imbattersi in doppie battaglie per {{battleCount}} battaglie", description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles",
}, },
"TempBattleStatBoosterModifierType": { "TempBattleStatBoosterModifierType": {
description: "Aumenta {{tempBattleStatName}} di un livello a tutti i Pokémon nel gruppo per 5 battaglie", description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles",
}, },
"AttackTypeBoosterModifierType": { "AttackTypeBoosterModifierType": {
description: "Aumenta la potenza delle mosse di tipo {{moveType}} del 20% per un Pokémon", description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%",
}, },
"PokemonLevelIncrementModifierType": { "PokemonLevelIncrementModifierType": {
description: "Fa salire un Pokémon di un livello", description: "Increases a Pokémon's level by 1",
}, },
"AllPokemonLevelIncrementModifierType": { "AllPokemonLevelIncrementModifierType": {
description: "Aumenta il livello di tutti i Pokémon nel gruppo di 1", description: "Increases all party members' level by 1",
}, },
"PokemonBaseStatBoosterModifierType": { "PokemonBaseStatBoosterModifierType": {
description: "Aumenta {{statName}} di base del possessore del 10%", description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.",
}, },
"AllPokemonFullHpRestoreModifierType": { "AllPokemonFullHpRestoreModifierType": {
description: "Recupera il 100% degli PS per tutti i Pokémon", description: "Restores 100% HP for all Pokémon",
}, },
"AllPokemonFullReviveModifierType": { "AllPokemonFullReviveModifierType": {
description: "Rianima tutti i Pokémon esausti restituendogli tutti i PS", description: "Revives all fainted Pokémon, fully restoring HP",
}, },
"MoneyRewardModifierType": { "MoneyRewardModifierType": {
description: "Garantisce una {{moneyMultiplier}} quantità di soldi (₽{{moneyAmount}})", description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})",
extra: { extra: {
"small": "poca", "small": "small",
"moderate": "moderata", "moderate": "moderate",
"large": "grande", "large": "large",
}, },
}, },
"ExpBoosterModifierType": { "ExpBoosterModifierType": {
description: "Aumenta il guadagno di Punti Esperienza del {{boostPercent}}%", description: "Increases gain of EXP. Points by {{boostPercent}}%",
}, },
"PokemonExpBoosterModifierType": { "PokemonExpBoosterModifierType": {
description: "Aumenta il guadagno di Punti Esperienza del possessore del {{boostPercent}}%", description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%",
}, },
"PokemonFriendshipBoosterModifierType": { "PokemonFriendshipBoosterModifierType": {
description: "Aumenta del 50% il guadagno di amicizia per vittoria", description: "Increases friendship gain per victory by 50%",
}, },
"PokemonMoveAccuracyBoosterModifierType": { "PokemonMoveAccuracyBoosterModifierType": {
description: "Aumenta l'accuratezza delle mosse di {{accuracyAmount}} (massimo 100)", description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)",
}, },
"PokemonMultiHitModifierType": { "PokemonMultiHitModifierType": {
description: "Gli attacchi colpiscono una volta in più al costo di una riduzione di potenza del 60/75/82,5% per mossa", description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively",
}, },
"TmModifierType": { "TmModifierType": {
name: "MT{{moveId}} - {{moveName}}", name: "TM{{moveId}} - {{moveName}}",
description: "Insegna {{moveName}} a un Pokémon", description: "Teach {{moveName}} to a Pokémon",
}, },
"EvolutionItemModifierType": { "EvolutionItemModifierType": {
description: "Fa evolvere determinate specie di Pokémon", description: "Causes certain Pokémon to evolve",
}, },
"FormChangeItemModifierType": { "FormChangeItemModifierType": {
description: "Fa cambiare forma a determinati Pokémon", description: "Causes certain Pokémon to change form",
}, },
"FusePokemonModifierType": { "FusePokemonModifierType": {
description: "Combina due Pokémon (trasferisce i poteri, divide le statistiche e i tipi base, condivide il pool di mosse)", description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)",
}, },
"TerastallizeModifierType": { "TerastallizeModifierType": {
name: "Teralite {{teraType}}", name: "{{teraType}} Tera Shard",
description: "Teracristallizza in {{teraType}} il possessore per massimo 10 battaglie", description: "{{teraType}} Terastallizes the holder for up to 10 battles",
}, },
"ContactHeldItemTransferChanceModifierType": { "ContactHeldItemTransferChanceModifierType": {
description: "Quando si attacca, c'è una probabilità del {{chancePercent}}% che l'oggetto in possesso del nemico venga rubato", description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen",
}, },
"TurnHeldItemTransferModifierType": { "TurnHeldItemTransferModifierType": {
description: "Ogni turno, il possessore acquisisce un oggetto posseduto dal nemico", description: "Every turn, the holder acquires one held item from the foe",
}, },
"EnemyAttackStatusEffectChanceModifierType": { "EnemyAttackStatusEffectChanceModifierType": {
description: "Aggiunge una probabilità del {{chancePercent}}% di infliggere {{statusEffect}} con le mosse d'attacco", description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves",
}, },
"EnemyEndureChanceModifierType": { "EnemyEndureChanceModifierType": {
description: "Aggiunge una probabilità del {{probabilitàPercent}}% di resistere ad un colpo", description: "Adds a {{chancePercent}}% chance of enduring a hit",
}, },
"RARE_CANDY": { name: "Caramella Rara" }, "RARE_CANDY": { name: "Rare Candy" },
"RARER_CANDY": { name: "Caramella Molto Rara" }, "RARER_CANDY": { name: "Rarer Candy" },
"MEGA_BRACELET": { name: "Megapolsiera", description: "Le Megapietre sono disponibili" }, "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" },
"DYNAMAX_BAND": { name: "Polsino Dynamax", description: "I Fungomax sono disponibili" }, "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" },
"TERA_ORB": { name: "Terasfera", description: "I Teraliti sono disponibili" }, "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" },
"MAP": { name: "Mappa", description: "Permette di scegliere la propria strada a un bivio" }, "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" },
"POTION": { name: "Pozione" }, "POTION": { name: "Potion" },
"SUPER_POTION": { name: "Superpozione" }, "SUPER_POTION": { name: "Super Potion" },
"HYPER_POTION": { name: "Iperpozione" }, "HYPER_POTION": { name: "Hyper Potion" },
"MAX_POTION": { name: "Pozione Max" }, "MAX_POTION": { name: "Max Potion" },
"FULL_RESTORE": { name: "Ricarica Totale" }, "FULL_RESTORE": { name: "Full Restore" },
"REVIVE": { name: "Revitalizzante" }, "REVIVE": { name: "Revive" },
"MAX_REVIVE": { name: "Revitalizzante Max" }, "MAX_REVIVE": { name: "Max Revive" },
"FULL_HEAL": { name: "Cura Totale" }, "FULL_HEAL": { name: "Full Heal" },
"SACRED_ASH": { name: "Cenere Magica" }, "SACRED_ASH": { name: "Sacred Ash" },
"REVIVER_SEED": { name: "Revitalseme", description: "Il possessore recupera 1/2 di PS in caso di svenimento" }, "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" },
"ETHER": { name: "Etere" }, "ETHER": { name: "Ether" },
"MAX_ETHER": { name: "Etere Max" }, "MAX_ETHER": { name: "Max Ether" },
"ELIXIR": { name: "Elisir" }, "ELIXIR": { name: "Elixir" },
"MAX_ELIXIR": { name: "Elisir Max" }, "MAX_ELIXIR": { name: "Max Elixir" },
"PP_UP": { name: "PP-su" }, "PP_UP": { name: "PP Up" },
"PP_MAX": { name: "PP-max" }, "PP_MAX": { name: "PP Max" },
"LURE": { name: "Profumo Invito" }, "LURE": { name: "Lure" },
"SUPER_LURE": { name: "Profumo Invito Super" }, "SUPER_LURE": { name: "Super Lure" },
"MAX_LURE": { name: "Profumo Invito Max" }, "MAX_LURE": { name: "Max Lure" },
"MEMORY_MUSHROOM": { name: "Fungo della Memoria", description: "Ricorda la mossa dimenticata di un Pokémon" }, "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" },
"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_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" },
"EXP_BALANCE": { name: "Bilancia Esperienza", description: "Bilancia i Punti Esperienza ricevuti verso i Pokémon del gruppo di livello inferiore" }, "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" },
"OVAL_CHARM": { name: "Ovamuleto", description: "Quando più Pokémon partecipano a una battaglia, ognuno di essi riceve il 10% in più dell'esperienza totale" }, "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: "Esperienzamuleto" }, "EXP_CHARM": { name: "EXP. Charm" },
"SUPER_EXP_CHARM": { name: "Esperienzamuleto Super" }, "SUPER_EXP_CHARM": { name: "Super EXP. Charm" },
"GOLDEN_EXP_CHARM": { name: "Esperienzamuleto Oro" }, "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" },
"LUCKY_EGG": { name: "Uovo Fortunato" }, "LUCKY_EGG": { name: "Lucky Egg" },
"GOLDEN_EGG": { name: "Uovo d'Oro" }, "GOLDEN_EGG": { name: "Golden Egg" },
"SOOTHE_BELL": { name: "Calmanella" }, "SOOTHE_BELL": { name: "Soothe Bell" },
"SOUL_DEW": { name: "Cuorugiada", description: "Aumenta del 10% l'influenza della natura di un Pokémon sulle sue statistiche (Aggiuntivo)" }, "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" },
"NUGGET": { name: "Pepita" }, "NUGGET": { name: "Nugget" },
"BIG_NUGGET": { name: "Granpepita" }, "BIG_NUGGET": { name: "Big Nugget" },
"RELIC_GOLD": { name: " Dobloantico" }, "RELIC_GOLD": { name: "Relic Gold" },
"AMULET_COIN": { name: "Monetamuleto", description: "Aumenta le ricompense in denaro del 20%" }, "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" },
"GOLDEN_PUNCH": { name: "Pugno Dorato", description: "Garantisce il 50% dei danni inflitti come denaro" }, "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" },
"COIN_CASE": { name: " Salvadanaio", description: "Dopo ogni 10° battaglia, riceverete il 10% del vostro denaro in interessi" }, "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" },
"LOCK_CAPSULE": { name: "Capsula Scrigno", description: "Permette di bloccare le rarità degli oggetti quando si fa un reroll degli oggetti" }, "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" },
"GRIP_CLAW": { name: "Presartigli" }, "GRIP_CLAW": { name: "Grip Claw" },
"WIDE_LENS": { name: "Grandelente" }, "WIDE_LENS": { name: "Wide Lens" },
"MULTI_LENS": { name: "Multilente" }, "MULTI_LENS": { name: "Multi Lens" },
"HEALING_CHARM": { name: "Curamuleto", description: "Aumenta del 10% l'efficacia delle mosse e degli oggetti che ripristinano gli PS (escluse le rianimazioni)" }, "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" },
"CANDY_JAR": { name: "Barattolo di caramelle", description: "Aumenta di 1 il numero di livelli aggiunti dalle Caramelle Rare" }, "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" },
"BERRY_POUCH": { name: "Porta Bacche", description: "Aggiunge il 25% di possibilità che una bacca usata non venga consumata" }, "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" },
"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" }, "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" },
"QUICK_CLAW": { name: "Rapidartigli", description: "Aggiunge una probabilità del 10% di muoversi per primi, indipendentemente dalla velocità (dopo la priorità)" }, "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" },
"KINGS_ROCK": { name: "Roccia di re", description: "Aggiunge il 10% di possibilità che una mossa d'attacco faccia tentennare l'avversario" }, "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" },
"LEFTOVERS": { name: "Avanzi", description: "Ripristina 1/16 dei PS massimi di un Pokémon ogni turno" }, "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" },
"SHELL_BELL": { name: "Conchinella", description: "Guarisce 1/8 del danno inflitto a un Pokémon" }, "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" },
"BATON": { name: "Staffetta", description: "Permette di trasmettere gli effetti quando si cambia Pokémon, aggirando anche le trappole" }, "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" },
"SHINY_CHARM": { name: "Cromamuleto", description: "Misterioso amuleto luminoso che aumenta la probabilità di incontrare Pokémon cromatici" }, "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" },
"ABILITY_CHARM": { name: "Abilitamuleto", description: "Aumenta drasticamente la possibilità che un Pokémon selvatico abbia un'abilità nascosta" }, "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" },
"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" }, "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: " Cuneo DNA" }, "DNA_SPLICERS": { name: "DNA Splicers" },
"MINI_BLACK_HOLE": { name: "Piccolo Buco Nero" }, "MINI_BLACK_HOLE": { name: "Mini Black Hole" },
"GOLDEN_POKEBALL": { name: "Poké Ball Oro", description: "Aggiunge 1 opzione di oggetto extra alla fine di ogni battaglia" }, "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" },
"ENEMY_DAMAGE_BOOSTER": { name: "Gettone del Danno", description: "Aumenta il danno del 5%" }, "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" },
"ENEMY_DAMAGE_REDUCTION": { name: "Gettone della Protezione", description: "Riduce i danni ricevuti del 2.5%" }, "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" },
"ENEMY_HEAL": { name: "Gettone del Recupero", description: "Cura il 2% dei PS massimi ogni turno" }, "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" },
"ENEMY_ATTACK_POISON_CHANCE": { name: "Gettone del Veleno" }, "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" },
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Gettone della Paralisi" }, "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" },
"ENEMY_ATTACK_SLEEP_CHANCE": { name: "Gettone del Sonno" }, "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" },
"ENEMY_ATTACK_FREEZE_CHANCE": { name: "Gettone del Congelamento" }, "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" },
"ENEMY_ATTACK_BURN_CHANCE": { name: "Gettone della Bruciatura" }, "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" },
"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_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" },
"ENEMY_ENDURE_CHANCE": { name: "Gettone di Resistenza" }, "ENEMY_ENDURE_CHANCE": { name: "Endure Token" },
"ENEMY_FUSED_CHANCE": { name: "Gettone della fusione", description: "Aggiunge l'1% di possibilità che un Pokémon selvatico sia una fusione" }, "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" },
}, },
TempBattleStatBoosterItem: { TempBattleStatBoosterItem: {
"x_attack": "Attacco X", "x_attack": "X Attack",
"x_defense": "Difesa X", "x_defense": "X Defense",
"x_sp_atk": "Att. Speciale X", "x_sp_atk": "X Sp. Atk",
"x_sp_def": "Dif. Speciale X", "x_sp_def": "X Sp. Def",
"x_speed": "Velocità X", "x_speed": "X Speed",
"x_accuracy": "Precisione X", "x_accuracy": "X Accuracy",
"dire_hit": "Supercolpo", "dire_hit": "Dire Hit",
}, },
AttackTypeBoosterItem: { AttackTypeBoosterItem: {
"silk_scarf": "Sciarpa seta", "silk_scarf": "Silk Scarf",
"black_belt": "Cinturanera", "black_belt": "Black Belt",
"sharp_beak": "Beccaffilato", "sharp_beak": "Sharp Beak",
"poison_barb": "Velenaculeo", "poison_barb": "Poison Barb",
"soft_sand": "Sabbia soffice", "soft_sand": "Soft Sand",
"hard_stone": "Pietradura", "hard_stone": "Hard Stone",
"silver_powder": "Argenpolvere", "silver_powder": "Silver Powder",
"spell_tag": "Spettrotarga", "spell_tag": "Spell Tag",
"metal_coat": "Metalcopertura", "metal_coat": "Metal Coat",
"charcoal": "Carbonella", "charcoal": "Charcoal",
"mystic_water": "Acqua magica", "mystic_water": "Mystic Water",
"miracle_seed": "Miracolseme", "miracle_seed": "Miracle Seed",
"magnet": "Magnete", "magnet": "Magnet",
"twisted_spoon": "Cucchiaio torto", "twisted_spoon": "Twisted Spoon",
"never_melt_ice": "Gelomai", "never_melt_ice": "Never-Melt Ice",
"dragon_fang": "Dente di drago", "dragon_fang": "Dragon Fang",
"black_glasses": "Occhialineri", "black_glasses": "Black Glasses",
"fairy_feather": "Piuma fatata", "fairy_feather": "Fairy Feather",
}, },
BaseStatBoosterItem: { BaseStatBoosterItem: {
"hp_up": "PS-su", "hp_up": "HP Up",
"protein": "Proteina", "protein": "Protein",
"iron": "Ferro", "iron": "Iron",
"calcium": "Calcio", "calcium": "Calcium",
"zinc": "Zinco", "zinc": "Zinc",
"carbos": "Carburante", "carbos": "Carbos",
}, },
EvolutionItem: { EvolutionItem: {
"NONE": "Nessuno", "NONE": "None",
"LINKING_CORD": "Filo dell'unione", "LINKING_CORD": "Linking Cord",
"SUN_STONE": "Pietrasolare", "SUN_STONE": "Sun Stone",
"MOON_STONE": "Pietralunare", "MOON_STONE": "Moon Stone",
"LEAF_STONE": "Pietrafoglia", "LEAF_STONE": "Leaf Stone",
"FIRE_STONE": "Pietrafocaia", "FIRE_STONE": "Fire Stone",
"WATER_STONE": "Pietraidrica", "WATER_STONE": "Water Stone",
"THUNDER_STONE": "Pietratuono", "THUNDER_STONE": "Thunder Stone",
"ICE_STONE": "Pietragelo", "ICE_STONE": "Ice Stone",
"DUSK_STONE": "Neropietra", "DUSK_STONE": "Dusk Stone",
"DAWN_STONE": "Pietralbore", "DAWN_STONE": "Dawn Stone",
"SHINY_STONE": "Pietrabrillo", "SHINY_STONE": "Shiny Stone",
"CRACKED_POT": "Teiera rotta", "CRACKED_POT": "Cracked Pot",
"SWEET_APPLE": "Dolcepomo", "SWEET_APPLE": "Sweet Apple",
"TART_APPLE": "Aspropomo", "TART_APPLE": "Tart Apple",
"STRAWBERRY_SWEET": "Bonbonfragola", "STRAWBERRY_SWEET": "Strawberry Sweet",
"UNREMARKABLE_TEACUP": "Tazza dozzinale", "UNREMARKABLE_TEACUP": "Unremarkable Teacup",
"CHIPPED_POT": "Teiera crepata", "CHIPPED_POT": "Chipped Pot",
"BLACK_AUGURITE": "Augite nera", "BLACK_AUGURITE": "Black Augurite",
"GALARICA_CUFF": "Fascia Galarnoce", "GALARICA_CUFF": "Galarica Cuff",
"GALARICA_WREATH": "Corona Galarnoce", "GALARICA_WREATH": "Galarica Wreath",
"PEAT_BLOCK": "Blocco di torba", "PEAT_BLOCK": "Peat Block",
"AUSPICIOUS_ARMOR": "Armatura fausta", "AUSPICIOUS_ARMOR": "Auspicious Armor",
"MALICIOUS_ARMOR": "Armatura infausta", "MALICIOUS_ARMOR": "Malicious Armor",
"MASTERPIECE_TEACUP": "Tazza eccezionale", "MASTERPIECE_TEACUP": "Masterpiece Teacup",
"METAL_ALLOY": "Metallo composito", "METAL_ALLOY": "Metal Alloy",
"SCROLL_OF_DARKNESS": "Rotolo del Buio", "SCROLL_OF_DARKNESS": "Scroll Of Darkness",
"SCROLL_OF_WATERS": "Rotolo dell'Acqua", "SCROLL_OF_WATERS": "Scroll Of Waters",
"SYRUPY_APPLE": "Sciroppomo", "SYRUPY_APPLE": "Syrupy Apple",
}, },
FormChangeItem: { FormChangeItem: {
"NONE": "Nessuno", "NONE": "None",
"ABOMASITE": "Abomasnowite", "ABOMASITE": "Abomasite",
"ABSOLITE": "Absolite", "ABSOLITE": "Absolite",
"AERODACTYLITE": "Aerodactylite", "AERODACTYLITE": "Aerodactylite",
"AGGRONITE": "Aggronite", "AGGRONITE": "Aggronite",
"ALAKAZITE": "Alakazamite", "ALAKAZITE": "Alakazite",
"ALTARIANITE": "Altarite", "ALTARIANITE": "Altarianite",
"AMPHAROSITE": "Ampharosite", "AMPHAROSITE": "Ampharosite",
"AUDINITE": "Audinite", "AUDINITE": "Audinite",
"BANETTITE": "Banettite", "BANETTITE": "Banettite",
"BEEDRILLITE": "Beedrillite", "BEEDRILLITE": "Beedrillite",
"BLASTOISINITE": "Blastoisite", "BLASTOISINITE": "Blastoisinite",
"BLAZIKENITE": "Blazikenite", "BLAZIKENITE": "Blazikenite",
"CAMERUPTITE": "Cameruptite", "CAMERUPTITE": "Cameruptite",
"CHARIZARDITE_X": "Charizardite X", "CHARIZARDITE_X": "Charizardite X",
@ -327,83 +327,83 @@ export const modifierType: ModifierTypeTranslationEntries = {
"GARCHOMPITE": "Garchompite", "GARCHOMPITE": "Garchompite",
"GARDEVOIRITE": "Gardevoirite", "GARDEVOIRITE": "Gardevoirite",
"GENGARITE": "Gengarite", "GENGARITE": "Gengarite",
"GLALITITE": "Glalite", "GLALITITE": "Glalitite",
"GYARADOSITE": "Gyaradosite", "GYARADOSITE": "Gyaradosite",
"HERACRONITE": "Heracronite", "HERACRONITE": "Heracronite",
"HOUNDOOMINITE": "Houndoomite", "HOUNDOOMINITE": "Houndoominite",
"KANGASKHANITE": "Kangaskhanite", "KANGASKHANITE": "Kangaskhanite",
"LATIASITE": "Latiasite", "LATIASITE": "Latiasite",
"LATIOSITE": "Latiosite", "LATIOSITE": "Latiosite",
"LOPUNNITE": "Lopunnite", "LOPUNNITE": "Lopunnite",
"LUCARIONITE": "Lucarite", "LUCARIONITE": "Lucarionite",
"MANECTITE": "Manectricite", "MANECTITE": "Manectite",
"MAWILITE": "Mawilite", "MAWILITE": "Mawilite",
"MEDICHAMITE": "Medichamite", "MEDICHAMITE": "Medichamite",
"METAGROSSITE": "Metagrossite", "METAGROSSITE": "Metagrossite",
"MEWTWONITE_X": "Mewtwoite X", "MEWTWONITE_X": "Mewtwonite X",
"MEWTWONITE_Y": "Mewtwoite Y", "MEWTWONITE_Y": "Mewtwonite Y",
"PIDGEOTITE": "Pidgeotite", "PIDGEOTITE": "Pidgeotite",
"PINSIRITE": "Pinsirite", "PINSIRITE": "Pinsirite",
"RAYQUAZITE": "Rayquazite", "RAYQUAZITE": "Rayquazite",
"SABLENITE": "Sableyite", "SABLENITE": "Sablenite",
"SALAMENCITE": "Salamencite", "SALAMENCITE": "Salamencite",
"SCEPTILITE": "Sceptilite", "SCEPTILITE": "Sceptilite",
"SCIZORITE": "Scizorite", "SCIZORITE": "Scizorite",
"SHARPEDONITE": "Sharpedite", "SHARPEDONITE": "Sharpedonite",
"SLOWBRONITE": "Slowbroite", "SLOWBRONITE": "Slowbronite",
"STEELIXITE": "Steelixite", "STEELIXITE": "Steelixite",
"SWAMPERTITE": "Swampertite", "SWAMPERTITE": "Swampertite",
"TYRANITARITE": "Tyranitarite", "TYRANITARITE": "Tyranitarite",
"VENUSAURITE": "Venusaurite", "VENUSAURITE": "Venusaurite",
"BLUE_ORB": "Gemma Blu", "BLUE_ORB": "Blue Orb",
"RED_ORB": "Gemma Rossa", "RED_ORB": "Red Orb",
"SHARP_METEORITE": "Meteorite Tagliente", "SHARP_METEORITE": "Sharp Meteorite",
"HARD_METEORITE": "Meteorite Dura", "HARD_METEORITE": "Hard Meteorite",
"SMOOTH_METEORITE": "Meteorite Liscia", "SMOOTH_METEORITE": "Smooth Meteorite",
"ADAMANT_CRYSTAL": "Adamasferoide", "ADAMANT_CRYSTAL": "Adamant Crystal",
"LUSTROUS_ORB": "Splendisfera", "LUSTROUS_ORB": "Lustrous Orb",
"GRISEOUS_CORE": "Grigiosferoide", "GRISEOUS_CORE": "Griseous Core",
"REVEAL_GLASS": "Verispecchio", "REVEAL_GLASS": "Reveal Glass",
"GRACIDEA": "Gracidea", "GRACIDEA": "Gracidea",
"MAX_MUSHROOMS": "Fungomax", "MAX_MUSHROOMS": "Max Mushrooms",
"DARK_STONE": "Scurolite", "DARK_STONE": "Dark Stone",
"LIGHT_STONE": "Chiarolite", "LIGHT_STONE": "Light Stone",
"PRISON_BOTTLE": "Vaso del Vincolo", "PRISON_BOTTLE": "Prison Bottle",
"N_LUNARIZER": "Necrolunix", "N_LUNARIZER": "N Lunarizer",
"N_SOLARIZER": "Necrosolix", "N_SOLARIZER": "N Solarizer",
"RUSTED_SWORD": "Spada Rovinata", "RUSTED_SWORD": "Rusted Sword",
"RUSTED_SHIELD": "Scudo Rovinato", "RUSTED_SHIELD": "Rusted Shield",
"ICY_REINS_OF_UNITY": "Briglie Legame Giaccio", "ICY_REINS_OF_UNITY": "Icy Reins Of Unity",
"SHADOW_REINS_OF_UNITY": "Briglie legame Ombra", "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity",
"WELLSPRING_MASK": "Maschera Pozzo", "WELLSPRING_MASK": "Wellspring Mask",
"HEARTHFLAME_MASK": "Maschera Focolare", "HEARTHFLAME_MASK": "Hearthflame Mask",
"CORNERSTONE_MASK": "Maschera Fondamenta", "CORNERSTONE_MASK": "Cornerstone Mask",
"SHOCK_DRIVE": "Voltmodulo", "SHOCK_DRIVE": "Shock Drive",
"BURN_DRIVE": "Piromodulo", "BURN_DRIVE": "Burn Drive",
"CHILL_DRIVE": "Gelomodulo", "CHILL_DRIVE": "Chill Drive",
"DOUSE_DRIVE": "Idromodulo", "DOUSE_DRIVE": "Douse Drive",
}, },
TeraType: { TeraType: {
"UNKNOWN": "Sconosciuto", "UNKNOWN": "Unknown",
"NORMAL": "Normale", "NORMAL": "Normal",
"FIGHTING": "Lotta", "FIGHTING": "Fighting",
"FLYING": "Volante", "FLYING": "Flying",
"POISON": "Veleno", "POISON": "Poison",
"GROUND": "Terra", "GROUND": "Ground",
"ROCK": "Roccia", "ROCK": "Rock",
"BUG": "Coleottero", "BUG": "Bug",
"GHOST": "Spettro", "GHOST": "Ghost",
"STEEL": "Acciaio", "STEEL": "Steel",
"FIRE": "Fuoco", "FIRE": "Fire",
"WATER": "Acqua", "WATER": "Water",
"GRASS": "Erba", "GRASS": "Grass",
"ELECTRIC": "Elettro", "ELECTRIC": "Electric",
"PSYCHIC": "Psico", "PSYCHIC": "Psychic",
"ICE": "Ghiaccio", "ICE": "Ice",
"DRAGON": "Drago", "DRAGON": "Dragon",
"DARK": "Buio", "DARK": "Dark",
"FAIRY": "Folletto", "FAIRY": "Fairy",
"STELLAR": "Astrale", "STELLAR": "Stellar",
}, },
} as const; } as const;

View File

@ -2,22 +2,20 @@ import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger"; import { abilityTriggers } from "./ability-trigger";
import { battle } from "./battle"; import { battle } from "./battle";
import { commandUiHandler } from "./command-ui-handler"; import { commandUiHandler } from "./command-ui-handler";
// import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler"; import { fightUiHandler } from "./fight-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu"; import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler"; import { menuUiHandler } from "./menu-ui-handler";
import { modifierType } from "./modifier-type";
import { move } from "./move"; import { move } from "./move";
import { nature } from "./nature";
import { pokeball } from "./pokeball"; import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon"; import { pokemon } from "./pokemon";
import { pokemonStat } from "./pokemon-stat"; import { pokemonStat } from "./pokemon-stat";
// import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial"; import { tutorial } from "./tutorial";
import { titles,trainerClasses,trainerNames } from "./trainers";
import { nature } from "./nature";
import { weather } from "./weather"; import { weather } from "./weather";
import { modifierType } from "./modifier-type";
import { growth } from "./growth";
export const zhCnConfig = { export const zhCnConfig = {
@ -25,22 +23,21 @@ export const zhCnConfig = {
abilityTriggers: abilityTriggers, abilityTriggers: abilityTriggers,
battle: battle, battle: battle,
commandUiHandler: commandUiHandler, commandUiHandler: commandUiHandler,
// egg: egg,
fightUiHandler: fightUiHandler, fightUiHandler: fightUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler, menuUiHandler: menuUiHandler,
modifierType: modifierType, menu: menu,
move: move, move: move,
nature: nature,
pokeball: pokeball, pokeball: pokeball,
pokemon: pokemon,
pokemonStat: pokemonStat, pokemonStat: pokemonStat,
// splashMessages: splashMessages, pokemon: pokemon,
starterSelectUiHandler: starterSelectUiHandler, starterSelectUiHandler: starterSelectUiHandler,
nature: nature,
titles: titles, titles: titles,
trainerClasses: trainerClasses, trainerClasses: trainerClasses,
trainerNames: trainerNames, trainerNames: trainerNames,
tutorial: tutorial, tutorial: tutorial,
nature: nature,
growth: growth,
weather: weather, weather: weather,
modifierType: modifierType,
} }

View File

@ -48,13 +48,6 @@ export const POKEBALL_OVERRIDE: { active: boolean, pokeballs: PokeballCounts } =
export const STARTER_FORM_OVERRIDE: integer = 0; export const STARTER_FORM_OVERRIDE: integer = 0;
// default 5 or 20 for Daily // default 5 or 20 for Daily
export const STARTING_LEVEL_OVERRIDE: integer = 0; 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 ABILITY_OVERRIDE: Abilities = Abilities.NONE;
export const PASSIVE_ABILITY_OVERRIDE: Abilities = Abilities.NONE; export const PASSIVE_ABILITY_OVERRIDE: Abilities = Abilities.NONE;
export const MOVESET_OVERRIDE: Array<Moves> = []; export const MOVESET_OVERRIDE: Array<Moves> = [];
@ -65,13 +58,21 @@ export const VARIANT_OVERRIDE: Variant = 0;
* OPPONENT / ENEMY OVERRIDES * OPPONENT / ENEMY OVERRIDES
*/ */
export const OPP_SPECIES_OVERRIDE: Species | integer = 0;
export const OPP_ABILITY_OVERRIDE: Abilities = Abilities.NONE; export const OPP_ABILITY_OVERRIDE: Abilities = Abilities.NONE;
export const OPP_PASSIVE_ABILITY_OVERRIDE = Abilities.NONE; export const OPP_PASSIVE_ABILITY_OVERRIDE = Abilities.NONE;
export const OPP_MOVESET_OVERRIDE: Array<Moves> = []; export const OPP_MOVESET_OVERRIDE: Array<Moves> = [];
export const OPP_SHINY_OVERRIDE: boolean = false; export const OPP_SHINY_OVERRIDE: boolean = false;
export const OPP_VARIANT_OVERRIDE: Variant = 0; 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 * MODIFIER / ITEM OVERRIDES
* if count is not provided, it will default to 1 * if count is not provided, it will default to 1

View File

@ -37,7 +37,7 @@ import { BattleType, BattlerIndex, TurnCommand } from "./battle";
import { BattleSpec } from "./enums/battle-spec"; import { BattleSpec } from "./enums/battle-spec";
import { Species } from "./data/enums/species"; import { Species } from "./data/enums/species";
import { HealAchv, LevelAchv, achvs } from "./system/achv"; import { HealAchv, LevelAchv, achvs } from "./system/achv";
import { TrainerConfig, TrainerSlot, trainerConfigs } from "./data/trainer-config"; import { TrainerSlot, trainerConfigs } from "./data/trainer-config";
import { TrainerType } from "./data/enums/trainer-type"; import { TrainerType } from "./data/enums/trainer-type";
import { EggHatchPhase } from "./egg-hatch-phase"; import { EggHatchPhase } from "./egg-hatch-phase";
import { Egg } from "./data/egg"; import { Egg } from "./data/egg";
@ -46,7 +46,7 @@ import { loggedInUser, updateUserInfo } from "./account";
import { PlayerGender, SessionSaveData } from "./system/game-data"; import { PlayerGender, SessionSaveData } from "./system/game-data";
import { addPokeballCaptureStars, addPokeballOpenParticles } from "./field/anims"; import { addPokeballCaptureStars, addPokeballOpenParticles } from "./field/anims";
import { SpeciesFormChangeActiveTrigger, SpeciesFormChangeManualTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangePreMoveTrigger } from "./data/pokemon-forms"; import { SpeciesFormChangeActiveTrigger, SpeciesFormChangeManualTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangePreMoveTrigger } from "./data/pokemon-forms";
import { battleSpecDialogue, getCharVariantFromDialogue, miscDialogue } from "./data/dialogue"; import { battleSpecDialogue, getCharVariantFromDialogue } from "./data/dialogue";
import ModifierSelectUiHandler, { SHOP_OPTIONS_ROW_LIMIT } from "./ui/modifier-select-ui-handler"; import ModifierSelectUiHandler, { SHOP_OPTIONS_ROW_LIMIT } from "./ui/modifier-select-ui-handler";
import { Setting } from "./system/settings"; import { Setting } from "./system/settings";
import { Tutorial, handleTutorial } from "./tutorial"; import { Tutorial, handleTutorial } from "./tutorial";
@ -59,7 +59,6 @@ import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm, speciesStarte
import i18next from './plugins/i18n'; import i18next from './plugins/i18n';
import { Abilities } from "./data/enums/abilities"; import { Abilities } from "./data/enums/abilities";
import * as Overrides from './overrides'; import * as Overrides from './overrides';
import { TextStyle, addTextObject } from "./ui/text";
export class LoginPhase extends Phase { export class LoginPhase extends Phase {
private showText: boolean; private showText: boolean;
@ -161,6 +160,7 @@ export class TitlePhase extends Phase {
this.scene.gameData.getSession(loggedInUser.lastSessionSlot).then(sessionData => { this.scene.gameData.getSession(loggedInUser.lastSessionSlot).then(sessionData => {
if (sessionData) { if (sessionData) {
this.lastSessionData = sessionData; this.lastSessionData = sessionData;
console.log(sessionData);
const biomeKey = getBiomeKey(sessionData.arena.biome); const biomeKey = getBiomeKey(sessionData.arena.biome);
const bgTexture = `${biomeKey}_bg`; const bgTexture = `${biomeKey}_bg`;
this.scene.arenaBg.setTexture(bgTexture); this.scene.arenaBg.setTexture(bgTexture);
@ -3219,10 +3219,11 @@ export class FaintPhase extends PokemonPhase {
if (defeatSource?.isOnField()) { if (defeatSource?.isOnField()) {
applyPostVictoryAbAttrs(PostVictoryAbAttr, defeatSource); applyPostVictoryAbAttrs(PostVictoryAbAttr, defeatSource);
const pvmove = allMoves[pokemon.turnData.attacksReceived[0].move]; const pvmove = allMoves[pokemon.turnData.attacksReceived[0].move];
const pvattrs = pvmove.getAttrs(PostVictoryStatChangeAttr) as PostVictoryStatChangeAttr[]; const pvattrs = pvmove.getAttrs(PostVictoryStatChangeAttr);
if (pvattrs.length) { if (pvattrs.length) {
for (let pvattr of pvattrs) for (let pvattr of pvattrs) {
pvattr.applyPostVictory(defeatSource, defeatSource, pvmove); pvattr.applyPostVictory(defeatSource, defeatSource, pvmove);
}
} }
} }
} }
@ -3536,10 +3537,12 @@ export class GameOverModifierRewardPhase extends ModifierRewardPhase {
this.scene.addModifier(newModifier).then(() => { this.scene.addModifier(newModifier).then(() => {
this.scene.playSound('level_up_fanfare'); this.scene.playSound('level_up_fanfare');
this.scene.ui.setMode(Mode.MESSAGE); this.scene.ui.setMode(Mode.MESSAGE);
this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => { this.scene.ui.fadeIn(250).then(() => {
this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true)); this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => {
resolve(); this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true));
}, null, true, 1500); resolve();
}, null, true, 1500);
});
}); });
}) })
} }
@ -3560,9 +3563,11 @@ export class RibbonModifierRewardPhase extends ModifierRewardPhase {
this.scene.addModifier(newModifier).then(() => { this.scene.addModifier(newModifier).then(() => {
this.scene.playSound('level_up_fanfare'); this.scene.playSound('level_up_fanfare');
this.scene.ui.setMode(Mode.MESSAGE); this.scene.ui.setMode(Mode.MESSAGE);
this.scene.ui.showText(`${this.species.name} beat ${this.scene.gameMode.getName()} Mode for the first time!\nYou received ${newModifier.type.name}!`, null, () => { this.scene.ui.fadeIn(250).then(() => {
resolve(); this.scene.ui.showText(`${this.species.name} beat ${this.scene.gameMode.getName()} Mode for the first time!\nYou received ${newModifier.type.name}!`, null, () => {
}, null, true, 1500); resolve();
}, null, true, 1500);
});
}); });
}) })
} }
@ -3614,7 +3619,6 @@ export class GameOverPhase extends BattlePhase {
handleGameOver(): void { handleGameOver(): void {
const doGameOver = (newClear: boolean) => { const doGameOver = (newClear: boolean) => {
this.scene.disableMenu = true;
this.scene.time.delayedCall(1000, () => { this.scene.time.delayedCall(1000, () => {
let firstClear = false; let firstClear = false;
if (this.victory && newClear) { if (this.victory && newClear) {
@ -3636,40 +3640,20 @@ export class GameOverPhase extends BattlePhase {
const activeBattlers = this.scene.getField().filter(p => p?.isActive(true)); const activeBattlers = this.scene.getField().filter(p => p?.isActive(true));
activeBattlers.map(p => p.hideInfo()); activeBattlers.map(p => p.hideInfo());
this.scene.ui.fadeOut(fadeDuration).then(() => { this.scene.ui.fadeOut(fadeDuration).then(() => {
activeBattlers.map(a => a.setVisible(false)); [ this.scene.field, ...activeBattlers ].map(a => a.setVisible(false));
this.scene.setFieldScale(1, true); this.scene.setFieldScale(1, true);
this.scene.clearPhaseQueue(); this.scene.clearPhaseQueue();
this.scene.ui.clearText(); this.scene.ui.clearText();
if (newClear)
const clear = (endCardPhase?: EndCardPhase) => { this.handleUnlocks();
if (newClear) if (this.victory && newClear) {
this.handleUnlocks(); for (let species of this.firstRibbons)
if (this.victory && newClear) { this.scene.unshiftPhase(new RibbonModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PLUS, species));
for (let species of this.firstRibbons) if (!firstClear)
this.scene.unshiftPhase(new RibbonModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PLUS, species)); this.scene.unshiftPhase(new GameOverModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PREMIUM));
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));
if (this.victory) { this.end();
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();
}); });
}); });
}; };
@ -3712,41 +3696,6 @@ 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 { export class UnlockPhase extends Phase {
private unlockable: Unlockables; private unlockable: Unlockables;
@ -3761,50 +3710,35 @@ export class UnlockPhase extends Phase {
this.scene.gameData.unlocks[this.unlockable] = true; this.scene.gameData.unlocks[this.unlockable] = true;
this.scene.playSound('level_up_fanfare'); this.scene.playSound('level_up_fanfare');
this.scene.ui.setMode(Mode.MESSAGE); this.scene.ui.setMode(Mode.MESSAGE);
this.scene.ui.showText(`${getUnlockableName(this.unlockable)}\nhas been unlocked.`, null, () => { this.scene.ui.fadeIn(250).then(() => {
this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true)); this.scene.ui.showText(`${getUnlockableName(this.unlockable)}\nhas been unlocked.`, null, () => {
this.end(); this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true));
}, null, true, 1500); this.end();
}, null, true, 1500);
});
}); });
} }
} }
export class PostGameOverPhase extends Phase { export class PostGameOverPhase extends Phase {
private endCardPhase: EndCardPhase; constructor(scene: BattleScene) {
constructor(scene: BattleScene, endCardPhase: EndCardPhase) {
super(scene); super(scene);
this.endCardPhase = endCardPhase;
} }
start() { start() {
super.start(); super.start();
const saveAndReset = () => { this.scene.gameData.saveAll(this.scene, true, true, true).then(success => {
this.scene.gameData.saveAll(this.scene, true, true, true).then(success => { if (!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])
return this.scene.reset(true); return this.scene.reset(true);
this.scene.gameData.tryClearSession(this.scene, this.scene.sessionSlotId).then((success: boolean | [boolean, boolean]) => { this.scene.reset();
if (!success[0]) this.scene.unshiftPhase(new TitlePhase(this.scene));
return this.scene.reset(true); this.end();
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();
} }
} }

View File

@ -31,7 +31,7 @@ export default class BattleMessageUiHandler extends MessageUiHandler {
this.textCallbackTimer = null; this.textCallbackTimer = null;
const bg = this.scene.add.sprite(0, 0, 'bg', this.scene.windowType); const bg = this.scene.add.sprite(0, 0, 'bg', this.scene.windowType);
bg.setOrigin(0, 1); bg.setOrigin(0, 1);
ui.add(bg); ui.add(bg);
this.bg = bg; this.bg = bg;