mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-27 18:52:19 +02:00
Compare commits
10 Commits
a35aff7b25
...
9669735d4c
Author | SHA1 | Date | |
---|---|---|---|
|
9669735d4c | ||
|
897f0279ec | ||
|
c32f195fe0 | ||
|
6a6b333fa1 | ||
|
f1dfaff606 | ||
|
55174f14aa | ||
|
377b422cd1 | ||
|
4a095af411 | ||
|
5505a4d1f0 | ||
|
5020d742f7 |
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -21,7 +21,7 @@ body:
|
||||
- type: textarea
|
||||
id: session-file
|
||||
attributes:
|
||||
label: User data export file
|
||||
label: Session export file
|
||||
description: Open Menu → ManageData → Export Session → Select slot. The file should now be in your `/Downloads` directory. Change the file extension type from `.prsv` to `.txt` (How to [Windows](https://www.guidingtech.com/how-to-change-file-type-on-windows/) | [Mac](https://support.apple.com/guide/mac-help/show-or-hide-filename-extensions-on-mac-mchlp2304/mac) | [iOS](https://www.guidingtech.com/change-file-type-extension-on-iphone/)).
|
||||
placeholder: Focus me and then drop your file here (or use the upload button at the bottom)
|
||||
validations:
|
||||
@ -29,7 +29,7 @@ body:
|
||||
- type: textarea
|
||||
id: data-file
|
||||
attributes:
|
||||
label: Session export file
|
||||
label: User data export file
|
||||
description: Open Menu → ManageData → Export Data. The file should now be in your `/Downloads` directory. Change the file extension type from `.prsv` to `.txt` (How to [Windows](https://www.guidingtech.com/how-to-change-file-type-on-windows/) | [Mac](https://support.apple.com/guide/mac-help/show-or-hide-filename-extensions-on-mac-mchlp2304/mac) | [iOS](https://www.guidingtech.com/change-file-type-extension-on-iphone/)).
|
||||
placeholder: Focus me and then drop your file here (or use the upload button at the bottom)
|
||||
validations:
|
||||
|
@ -2215,7 +2215,7 @@ export default class BattleScene extends SceneBase {
|
||||
}
|
||||
} else if (!virtual) {
|
||||
const defaultModifierType = getDefaultModifierTypeForTier(modifier.type.tier);
|
||||
this.queueMessage(`The stack for this item is full.\n You will receive ${defaultModifierType.name} instead.`, undefined, true);
|
||||
this.queueMessage(i18next.t("battle:itemStackFull", { fullItemName: modifier.type.name, itemName: defaultModifierType.name }), undefined, true);
|
||||
return this.addModifier(defaultModifierType.newModifier(), ignoreUpdate, playSound, false, instant).then(success => resolve(success));
|
||||
}
|
||||
|
||||
|
@ -343,12 +343,10 @@ export class TypeImmunityAbAttr extends PreDefendAbAttr {
|
||||
if ([ MoveTarget.BOTH_SIDES, MoveTarget.ENEMY_SIDE, MoveTarget.USER_SIDE ].includes(move.moveTarget)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (attacker !== pokemon && move.type === this.immuneType) {
|
||||
(args[0] as Utils.NumberHolder).value = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -357,6 +355,24 @@ export class TypeImmunityAbAttr extends PreDefendAbAttr {
|
||||
}
|
||||
}
|
||||
|
||||
export class AttackTypeImmunityAbAttr extends TypeImmunityAbAttr {
|
||||
constructor(immuneType: Type, condition?: AbAttrCondition) {
|
||||
super(immuneType, condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies immunity if the move used is not a status move.
|
||||
* Type immunity abilities that do not give additional benefits (HP recovery, stat boosts, etc) are not immune to status moves of the type
|
||||
* Example: Levitate
|
||||
*/
|
||||
applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
|
||||
if (move.category !== MoveCategory.STATUS) {
|
||||
return super.applyPreDefend(pokemon, passive, attacker, move, cancelled, args);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
export class TypeImmunityHealAbAttr extends TypeImmunityAbAttr {
|
||||
constructor(immuneType: Type) {
|
||||
super(immuneType);
|
||||
@ -4375,7 +4391,7 @@ export function initAbilities() {
|
||||
.attr(UnswappableAbilityAbAttr)
|
||||
.ignorable(),
|
||||
new Ability(Abilities.LEVITATE, 3)
|
||||
.attr(TypeImmunityAbAttr, Type.GROUND, (pokemon: Pokemon) => !pokemon.getTag(GroundedTag) && !pokemon.scene.arena.getTag(ArenaTagType.GRAVITY))
|
||||
.attr(AttackTypeImmunityAbAttr, Type.GROUND, (pokemon: Pokemon) => !pokemon.getTag(GroundedTag) && !pokemon.scene.arena.getTag(ArenaTagType.GRAVITY))
|
||||
.ignorable(),
|
||||
new Ability(Abilities.EFFECT_SPORE, 3)
|
||||
.attr(EffectSporeAbAttr),
|
||||
|
@ -60,6 +60,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"turnEndHpRestore": "{{pokemonName}}'s HP was restored.",
|
||||
"hpIsFull": "{{pokemonName}}'s\nHP is full!",
|
||||
"skipItemQuestion": "Are you sure you want to skip taking an item?",
|
||||
"itemStackFull": "The stack for {{fullItemName}} is full.\nYou will receive {{itemName}} instead.",
|
||||
"eggHatching": "Oh?",
|
||||
"ivScannerUseQuestion": "Use IV Scanner on {{pokemonName}}?",
|
||||
"wildPokemonWithAffix": "Wild {{pokemonName}}",
|
||||
|
@ -29,9 +29,9 @@ export const filterBar: SimpleTranslationEntries = {
|
||||
"noHiddenAbility": "Hidden Ability - No",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"pokerus": "Pokerus",
|
||||
"hasPokerus": "Pokerus - Yes",
|
||||
"noPokerus": "Pokerus - No",
|
||||
"pokerus": "Pokérus",
|
||||
"hasPokerus": "Pokérus - Yes",
|
||||
"noPokerus": "Pokérus - No",
|
||||
"sortByNumber": "No.",
|
||||
"sortByCost": "Cost",
|
||||
"sortByCandies": "Candy Count",
|
||||
|
@ -57,6 +57,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"escapeVerbSwitch": "auswechseln",
|
||||
"escapeVerbFlee": "flucht",
|
||||
"skipItemQuestion": "Bist du sicher, dass du kein Item nehmen willst?",
|
||||
"itemStackFull": "Du hast bereits zu viele von {{fullItemName}}. Du erhältst stattdessen {{itemName}}.",
|
||||
"notDisabled": "{{moveName}} von {{pokemonName}} ist nicht mehr deaktiviert!",
|
||||
"turnEndHpRestore": "Die KP von {{pokemonName}} wurden wiederhergestellt.",
|
||||
"hpIsFull": "Die KP von {{pokemonName}} sind voll!",
|
||||
|
@ -13,25 +13,25 @@ export const filterBar: SimpleTranslationEntries = {
|
||||
"passive": "Passive",
|
||||
"passiveUnlocked": "Passive freigeschaltet",
|
||||
"passiveLocked": "Passive gesperrt",
|
||||
"passiveUnlockable": "Passive - Can Unlock",
|
||||
"costReduction": "Cost Reduction",
|
||||
"costReductionUnlocked": "Cost Reduction Unlocked",
|
||||
"costReductionLocked": "Cost Reduction Locked",
|
||||
"costReductionUnlockable": "Cost Reduction - Can Unlock",
|
||||
"favorite": "Favorite",
|
||||
"isFavorite": "Favorite - Yes",
|
||||
"notFavorite": "Favorite - No",
|
||||
"passiveUnlockable": "Passive - Freischalten möglich",
|
||||
"costReduction": "Kostenreduzierung",
|
||||
"costReductionUnlocked": "Kosten bereits reduziert",
|
||||
"costReductionLocked": "Kosten noch nicht reduziert",
|
||||
"costReductionUnlockable": "Kosten können reduziert werden",
|
||||
"favorite": "Favorit",
|
||||
"isFavorite": "Favorit - Ja",
|
||||
"notFavorite": "Favorit - Nein",
|
||||
"ribbon": "Band",
|
||||
"hasWon": "Hat Klassik-Modus gewonnen",
|
||||
"hasNotWon": "Hat Klassik-Modus nicht gewonnen",
|
||||
"hiddenAbility": "Hidden Ability",
|
||||
"hasHiddenAbility": "Hidden Ability - Yes",
|
||||
"noHiddenAbility": "Hidden Ability - No",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"pokerus": "Pokerus",
|
||||
"hasPokerus": "Pokerus - Yes",
|
||||
"noPokerus": "Pokerus - No",
|
||||
"hiddenAbility": "Versteckte Fähigkeit",
|
||||
"hasHiddenAbility": "Versteckte Fähigkeit - Ja",
|
||||
"noHiddenAbility": "Versteckte Fähigkeit - Nein",
|
||||
"egg": "Ei",
|
||||
"eggPurchasable": "Kauf möglich",
|
||||
"pokerus": "Pokérus",
|
||||
"hasPokerus": "Pokérus - Ja",
|
||||
"noPokerus": "Pokérus - Nein",
|
||||
"sortByNumber": "Pokédex-Nummer",
|
||||
"sortByCost": "Kosten",
|
||||
"sortByCandies": "Anzahl Bonbons",
|
||||
|
@ -60,6 +60,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"turnEndHpRestore": "{{pokemonName}}'s HP was restored.",
|
||||
"hpIsFull": "{{pokemonName}}'s\nHP is full!",
|
||||
"skipItemQuestion": "Are you sure you want to skip taking an item?",
|
||||
"itemStackFull": "The stack for {{fullItemName}} is full.\nYou will receive {{itemName}} instead.",
|
||||
"eggHatching": "Oh?",
|
||||
"ivScannerUseQuestion": "Use IV Scanner on {{pokemonName}}?",
|
||||
"wildPokemonWithAffix": "Wild {{pokemonName}}",
|
||||
|
@ -29,9 +29,9 @@ export const filterBar: SimpleTranslationEntries = {
|
||||
"noHiddenAbility": "Hidden Ability - No",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"pokerus": "Pokerus",
|
||||
"hasPokerus": "Pokerus - Yes",
|
||||
"noPokerus": "Pokerus - No",
|
||||
"pokerus": "Pokérus",
|
||||
"hasPokerus": "Pokérus - Yes",
|
||||
"noPokerus": "Pokérus - No",
|
||||
"sortByNumber": "No.",
|
||||
"sortByCost": "Cost",
|
||||
"sortByCandies": "Candy Count",
|
||||
|
@ -57,9 +57,10 @@ export const battle: SimpleTranslationEntries = {
|
||||
"escapeVerbSwitch": "cambiar",
|
||||
"escapeVerbFlee": "huir",
|
||||
"notDisabled": "¡El movimiento {{moveName}} de {{pokemonName}}\nya no está anulado!",
|
||||
"turnEndHpRestore": "{{pokemonName}}'s HP was restored.",
|
||||
"hpIsFull": "{{pokemonName}}'s\nHP is full!",
|
||||
"turnEndHpRestore": "Los PS de {{pokemonName}} fueron restaurados.",
|
||||
"hpIsFull": "¡Los PS de {{pokemonName}}\nestán al máximo!",
|
||||
"skipItemQuestion": "¿Estás seguro de que no quieres coger un objeto?",
|
||||
"itemStackFull": "El máximo número de {{fullItemName}} ha sido alcanzado. Recibirás {{itemName}} en su lugar.",
|
||||
"eggHatching": "¿Y esto?",
|
||||
"ivScannerUseQuestion": "¿Quieres usar el Escáner de IVs en {{pokemonName}}?",
|
||||
"wildPokemonWithAffix": "El {{pokemonName}} salvaje",
|
||||
|
@ -3,35 +3,35 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales";
|
||||
export const filterBar: SimpleTranslationEntries = {
|
||||
"genFilter": "Gen.",
|
||||
"typeFilter": "Tipo",
|
||||
"caughtFilter": "Caught",
|
||||
"caughtFilter": "Capturado",
|
||||
"unlocksFilter": "Otros",
|
||||
"miscFilter": "Misc",
|
||||
"miscFilter": "Misc.",
|
||||
"sortFilter": "Orden",
|
||||
"all": "Todo",
|
||||
"normal": "Normal",
|
||||
"uncaught": "No Capt.",
|
||||
"passive": "Passive",
|
||||
"passiveUnlocked": "Pasiva Desbloq.",
|
||||
"passiveLocked": "Pasiva Bloq.",
|
||||
"passiveUnlockable": "Passive - Can Unlock",
|
||||
"costReduction": "Cost Reduction",
|
||||
"costReductionUnlocked": "Cost Reduction Unlocked",
|
||||
"costReductionLocked": "Cost Reduction Locked",
|
||||
"costReductionUnlockable": "Cost Reduction - Can Unlock",
|
||||
"favorite": "Favorite",
|
||||
"isFavorite": "Favorite - Yes",
|
||||
"notFavorite": "Favorite - No",
|
||||
"ribbon": "Ribbon",
|
||||
"hasWon": "Ya ha ganado",
|
||||
"hasNotWon": "Aún no ha ganado",
|
||||
"hiddenAbility": "Hidden Ability",
|
||||
"hasHiddenAbility": "Hidden Ability - Yes",
|
||||
"noHiddenAbility": "Hidden Ability - No",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"pokerus": "Pokerus",
|
||||
"hasPokerus": "Pokerus - Yes",
|
||||
"noPokerus": "Pokerus - No",
|
||||
"passive": "Pasiva",
|
||||
"passiveUnlocked": "Pasiva desbloq.",
|
||||
"passiveLocked": "Pasiva bloq.",
|
||||
"passiveUnlockable": "Pasiva - puede desbloq.",
|
||||
"costReduction": "Reducción de coste",
|
||||
"costReductionUnlocked": "Reducción de coste desbloq.",
|
||||
"costReductionLocked": "Reducción de coste bloq.",
|
||||
"costReductionUnlockable": "Red. de coste - puede desbloq.",
|
||||
"favorite": "Favoritos",
|
||||
"isFavorite": "Favoritos - Sí",
|
||||
"notFavorite": "Favoritos - No",
|
||||
"ribbon": "Cinta",
|
||||
"hasWon": "Cinta - Sí",
|
||||
"hasNotWon": "Cinta - No",
|
||||
"hiddenAbility": "Habilidad oculta",
|
||||
"hasHiddenAbility": "Habilidad oculta - Sí",
|
||||
"noHiddenAbility": "Habilidad oculta - No",
|
||||
"egg": "Huevo",
|
||||
"eggPurchasable": "Huevo - puede comprar",
|
||||
"pokerus": "Pokérus",
|
||||
"hasPokerus": "Pokérus - Sí",
|
||||
"noPokerus": "Pokérus - No",
|
||||
"sortByNumber": "Núm.",
|
||||
"sortByCost": "Coste",
|
||||
"sortByCandies": "# Caramelos",
|
||||
|
@ -10,7 +10,7 @@ export const PGMachv: AchievementTranslationEntries = {
|
||||
},
|
||||
|
||||
"MoneyAchv": {
|
||||
description: "Récolter un total de {{moneyAmount}} ₽",
|
||||
description: "Récolter un total de {{moneyAmount}} ₽.",
|
||||
},
|
||||
"10K_MONEY": {
|
||||
name: "Épargnant",
|
||||
@ -26,7 +26,7 @@ export const PGMachv: AchievementTranslationEntries = {
|
||||
},
|
||||
|
||||
"DamageAchv": {
|
||||
description: "Infliger {{damageAmount}} de dégâts en un coup",
|
||||
description: "Infliger {{damageAmount}} de dégâts en un coup.",
|
||||
},
|
||||
"250_DMG": {
|
||||
name: "Caïd",
|
||||
@ -42,7 +42,7 @@ export const PGMachv: AchievementTranslationEntries = {
|
||||
},
|
||||
|
||||
"HealAchv": {
|
||||
description: "Soigner {{healAmount}} {{HP}} en une fois avec une capacité, un talent ou un objet tenu",
|
||||
description: "Soigner {{healAmount}} {{HP}} en une fois avec une capacité, un talent ou un objet tenu.",
|
||||
},
|
||||
"250_HEAL": {
|
||||
name: "Infirmier",
|
||||
@ -58,7 +58,7 @@ export const PGMachv: AchievementTranslationEntries = {
|
||||
},
|
||||
|
||||
"LevelAchv": {
|
||||
description: "Monter un Pokémon au N.{{level}}",
|
||||
description: "Monter un Pokémon au N.{{level}}.",
|
||||
},
|
||||
"LV_100": {
|
||||
name: "Et c’est pas fini !",
|
||||
@ -71,7 +71,7 @@ export const PGMachv: AchievementTranslationEntries = {
|
||||
},
|
||||
|
||||
"RibbonAchv": {
|
||||
description: "Accumuler un total de {{ribbonAmount}} Rubans",
|
||||
description: "Accumuler un total de {{ribbonAmount}} Rubans.",
|
||||
},
|
||||
"10_RIBBONS": {
|
||||
name: "Maitre de la Ligue",
|
||||
@ -91,83 +91,83 @@ export const PGMachv: AchievementTranslationEntries = {
|
||||
|
||||
"TRANSFER_MAX_BATTLE_STAT": {
|
||||
name: "Travail d’équipe",
|
||||
description: "Utiliser Relais avec au moins une statistique montée à fond",
|
||||
description: "Utiliser Relais avec au moins une statistique montée à fond.",
|
||||
},
|
||||
"MAX_FRIENDSHIP": {
|
||||
name: "Copinage",
|
||||
description: "Atteindre le niveau de bonheur maximal avec un Pokémon",
|
||||
description: "Atteindre le niveau de bonheur maximal avec un Pokémon.",
|
||||
},
|
||||
"MEGA_EVOLVE": {
|
||||
name: "Mégamorph",
|
||||
description: "Méga-évoluer un Pokémon",
|
||||
description: "Méga-évoluer un Pokémon.",
|
||||
},
|
||||
"GIGANTAMAX": {
|
||||
name: "Kaijū",
|
||||
description: "Gigamaxer un Pokémon",
|
||||
description: "Gigamaxer un Pokémon.",
|
||||
},
|
||||
"TERASTALLIZE": {
|
||||
name: "J’aime les STAB",
|
||||
description: "Téracristalliser un Pokémon",
|
||||
description: "Téracristalliser un Pokémon.",
|
||||
},
|
||||
"STELLAR_TERASTALLIZE": {
|
||||
name: "Le type enfoui",
|
||||
description: "Téracristalliser un Pokémon en type Stellaire",
|
||||
description: "Téracristalliser un Pokémon en type Stellaire.",
|
||||
},
|
||||
"SPLICE": {
|
||||
name: "Infinite Fusion",
|
||||
description: "Fusionner deux Pokémon avec le Pointeau ADN",
|
||||
description: "Fusionner deux Pokémon avec le Pointeau ADN.",
|
||||
},
|
||||
"MINI_BLACK_HOLE": {
|
||||
name: "Item-stellar",
|
||||
description: "Obtenir un Mini Trou Noir",
|
||||
description: "Obtenir un Mini Trou Noir.",
|
||||
},
|
||||
"CATCH_MYTHICAL": {
|
||||
name: "Fabuleux",
|
||||
description: "Capturer un Pokémon fabuleux",
|
||||
description: "Capturer un Pokémon fabuleux.",
|
||||
},
|
||||
"CATCH_SUB_LEGENDARY": {
|
||||
name: "(Semi-)Légendaire",
|
||||
description: "Capturer un Pokémon semi-légendaire",
|
||||
description: "Capturer un Pokémon semi-légendaire.",
|
||||
},
|
||||
"CATCH_LEGENDARY": {
|
||||
name: "Légendaire",
|
||||
description: "Capturer un Pokémon légendaire",
|
||||
description: "Capturer un Pokémon légendaire.",
|
||||
},
|
||||
"SEE_SHINY": {
|
||||
name: "Chromatique",
|
||||
description: "Trouver un Pokémon sauvage chromatique",
|
||||
description: "Trouver un Pokémon sauvage chromatique.",
|
||||
},
|
||||
"SHINY_PARTY": {
|
||||
name: "Shasseur",
|
||||
description: "Avoir une équipe exclusivement composée de Pokémon chromatiques",
|
||||
description: "Avoir une équipe exclusivement composée de Pokémon chromatiques.",
|
||||
},
|
||||
"HATCH_MYTHICAL": {
|
||||
name: "Œuf fabuleux",
|
||||
description: "Obtenir un Pokémon fabuleux dans un Œuf",
|
||||
description: "Obtenir un Pokémon fabuleux dans un Œuf.",
|
||||
},
|
||||
"HATCH_SUB_LEGENDARY": {
|
||||
name: "Œuf semi-légendaire",
|
||||
description: "Obtenir un Pokémon semi-légendaire dans un Œuf",
|
||||
description: "Obtenir un Pokémon semi-légendaire dans un Œuf.",
|
||||
},
|
||||
"HATCH_LEGENDARY": {
|
||||
name: "Œuf légendaire",
|
||||
description: "Obtenir un Pokémon légendaire dans un Œuf",
|
||||
description: "Obtenir un Pokémon légendaire dans un Œuf.",
|
||||
},
|
||||
"HATCH_SHINY": {
|
||||
name: "Œuf chromatique",
|
||||
description: "Obtenir un Pokémon chromatique dans un Œuf",
|
||||
description: "Obtenir un Pokémon chromatique dans un Œuf.",
|
||||
},
|
||||
"HIDDEN_ABILITY": {
|
||||
name: "Potentiel enfoui",
|
||||
description: "Capturer un Pokémon possédant un talent caché",
|
||||
description: "Capturer un Pokémon possédant un talent caché.",
|
||||
},
|
||||
"PERFECT_IVS": {
|
||||
name: "Certificat d’authenticité",
|
||||
description: "Avoir des IV parfaits sur un Pokémon",
|
||||
description: "Avoir des IV parfaits sur un Pokémon.",
|
||||
},
|
||||
"CLASSIC_VICTORY": {
|
||||
name: "Invaincu",
|
||||
description: "Terminer le jeu en mode classique",
|
||||
description: "Terminer le jeu en mode Classique.",
|
||||
},
|
||||
"UNEVOLVED_CLASSIC_VICTORY": {
|
||||
name: "Le stagiaire de 3e",
|
||||
@ -176,39 +176,39 @@ export const PGMachv: AchievementTranslationEntries = {
|
||||
|
||||
"MONO_GEN_ONE": {
|
||||
name: "Le rival originel",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 1re génération.",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon\nde 1re génération.",
|
||||
},
|
||||
"MONO_GEN_TWO": {
|
||||
name: "Entre tradition et modernité",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 2e génération.",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon\nde 2e génération.",
|
||||
},
|
||||
"MONO_GEN_THREE": {
|
||||
name: "Too much water ?",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 3e génération.",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon\nde 3e génération.",
|
||||
},
|
||||
"MONO_GEN_FOUR": {
|
||||
name: "Réellement la plus difficile ?",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 4e génération.",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon\nde 4e génération.",
|
||||
},
|
||||
"MONO_GEN_FIVE": {
|
||||
name: "Recast complet",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 5e génération.",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon\nde 5e génération.",
|
||||
},
|
||||
"MONO_GEN_SIX": {
|
||||
name: "Aristocrate",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 6e génération.",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon\nde 6e génération.",
|
||||
},
|
||||
"MONO_GEN_SEVEN": {
|
||||
name: "Seulement techniquement",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 7e génération.",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon\nde 7e génération.",
|
||||
},
|
||||
"MONO_GEN_EIGHT": {
|
||||
name: "L’heure de gloire",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 8e génération.",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon\nde 8e génération.",
|
||||
},
|
||||
"MONO_GEN_NINE": {
|
||||
name: "Ça va, c’était EZ",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 9e génération.",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon\nde 9e génération.",
|
||||
},
|
||||
|
||||
"MonoType": {
|
||||
@ -277,21 +277,17 @@ export const PGMachv: AchievementTranslationEntries = {
|
||||
// Achievement translations for the when the player character is female (it for now uses the same translations as the male version)
|
||||
export const PGFachv: AchievementTranslationEntries = {
|
||||
"Achievements": {
|
||||
name: "Succès",
|
||||
name: PGMachv.Achievements.name,
|
||||
},
|
||||
"Locked": {
|
||||
name: "Verrouillé",
|
||||
name: PGMachv.Locked.name,
|
||||
},
|
||||
|
||||
"MoneyAchv": {
|
||||
description: "Récolter un total de {{moneyAmount}} ₽",
|
||||
},
|
||||
"MoneyAchv": PGMachv.MoneyAchv,
|
||||
"10K_MONEY": {
|
||||
name: "Épargnante",
|
||||
},
|
||||
"100K_MONEY": {
|
||||
name: "Je possède des thunes",
|
||||
},
|
||||
"100K_MONEY": PGMachv["100K_MONEY"],
|
||||
"1M_MONEY": {
|
||||
name: "Banquière",
|
||||
},
|
||||
@ -299,12 +295,8 @@ export const PGFachv: AchievementTranslationEntries = {
|
||||
name: "Évadée fiscale",
|
||||
},
|
||||
|
||||
"DamageAchv": {
|
||||
description: "Infliger {{damageAmount}} de dégâts en un coup",
|
||||
},
|
||||
"250_DMG": {
|
||||
name: "Caïd",
|
||||
},
|
||||
"DamageAchv": PGMachv.DamageAchv,
|
||||
"250_DMG": PGMachv["250_DMG"],
|
||||
"1000_DMG": {
|
||||
name: "Boxeuse",
|
||||
},
|
||||
@ -315,38 +307,20 @@ export const PGFachv: AchievementTranslationEntries = {
|
||||
name: "One Punch Woman",
|
||||
},
|
||||
|
||||
"HealAchv": {
|
||||
description: "Soigner {{healAmount}} {{HP}} en une fois avec une capacité, un talent ou un objet tenu",
|
||||
},
|
||||
"HealAchv": PGMachv.HealAchv,
|
||||
"250_HEAL": {
|
||||
name: "Infirmière",
|
||||
},
|
||||
"1000_HEAL": {
|
||||
name: "Médecin",
|
||||
},
|
||||
"2500_HEAL": {
|
||||
name: "Clerc",
|
||||
},
|
||||
"10000_HEAL": {
|
||||
name: "Centre Pokémon",
|
||||
},
|
||||
"1000_HEAL": PGMachv["1000_HEAL"],
|
||||
"2500_HEAL": PGMachv["2500_HEAL"],
|
||||
"10000_HEAL": PGMachv["10000_HEAL"],
|
||||
|
||||
"LevelAchv": {
|
||||
description: "Monter un Pokémon au N.{{level}}",
|
||||
},
|
||||
"LV_100": {
|
||||
name: "Et c’est pas fini !",
|
||||
},
|
||||
"LV_250": {
|
||||
name: "Élite",
|
||||
},
|
||||
"LV_1000": {
|
||||
name: "Vers l’infini et au-delà",
|
||||
},
|
||||
"LevelAchv": PGMachv.LevelAchv,
|
||||
"LV_100": PGMachv["LV_100"],
|
||||
"LV_250": PGMachv["LV_250"],
|
||||
"LV_1000": PGMachv["LV_1000"],
|
||||
|
||||
"RibbonAchv": {
|
||||
description: "Accumuler un total de {{ribbonAmount}} Rubans",
|
||||
},
|
||||
"RibbonAchv": PGMachv.RibbonAchv,
|
||||
"10_RIBBONS": {
|
||||
name: "Maitresse de la Ligue",
|
||||
},
|
||||
@ -363,187 +337,61 @@ export const PGFachv: AchievementTranslationEntries = {
|
||||
name: "Master Maitresse de la Ligue",
|
||||
},
|
||||
|
||||
"TRANSFER_MAX_BATTLE_STAT": {
|
||||
name: "Travail d’équipe",
|
||||
description: "Utiliser Relais avec au moins une statistique montée à fond",
|
||||
},
|
||||
"MAX_FRIENDSHIP": {
|
||||
name: "Copinage",
|
||||
description: "Atteindre le niveau de bonheur maximal avec un Pokémon",
|
||||
},
|
||||
"MEGA_EVOLVE": {
|
||||
name: "Mégamorph",
|
||||
description: "Méga-évoluer un Pokémon",
|
||||
},
|
||||
"GIGANTAMAX": {
|
||||
name: "Kaijū",
|
||||
description: "Gigamaxer un Pokémon",
|
||||
},
|
||||
"TERASTALLIZE": {
|
||||
name: "J’aime les STAB",
|
||||
description: "Téracristalliser un Pokémon",
|
||||
},
|
||||
"STELLAR_TERASTALLIZE": {
|
||||
name: "Le type enfoui",
|
||||
description: "Téracristalliser un Pokémon en type Stellaire",
|
||||
},
|
||||
"SPLICE": {
|
||||
name: "Infinite Fusion",
|
||||
description: "Fusionner deux Pokémon avec le Pointeau ADN",
|
||||
},
|
||||
"MINI_BLACK_HOLE": {
|
||||
name: "Item-stellar",
|
||||
description: "Obtenir un Mini Trou Noir",
|
||||
},
|
||||
"CATCH_MYTHICAL": {
|
||||
name: "Fabuleux",
|
||||
description: "Capturer un Pokémon fabuleux",
|
||||
},
|
||||
"CATCH_SUB_LEGENDARY": {
|
||||
name: "(Semi-)Légendaire",
|
||||
description: "Capturer un Pokémon semi-légendaire",
|
||||
},
|
||||
"CATCH_LEGENDARY": {
|
||||
name: "Légendaire",
|
||||
description: "Capturer un Pokémon légendaire",
|
||||
},
|
||||
"SEE_SHINY": {
|
||||
name: "Chromatique",
|
||||
description: "Trouver un Pokémon sauvage chromatique",
|
||||
},
|
||||
"TRANSFER_MAX_BATTLE_STAT": PGMachv.TRANSFER_MAX_BATTLE_STAT,
|
||||
"MAX_FRIENDSHIP": PGMachv.MAX_FRIENDSHIP,
|
||||
"MEGA_EVOLVE": PGMachv.MEGA_EVOLVE,
|
||||
"GIGANTAMAX": PGMachv.GIGANTAMAX,
|
||||
"TERASTALLIZE": PGMachv.TERASTALLIZE,
|
||||
"STELLAR_TERASTALLIZE": PGMachv.STELLAR_TERASTALLIZE,
|
||||
"SPLICE": PGMachv.SPLICE,
|
||||
"MINI_BLACK_HOLE": PGMachv.MINI_BLACK_HOLE,
|
||||
"CATCH_MYTHICAL": PGMachv.CATCH_MYTHICAL,
|
||||
"CATCH_SUB_LEGENDARY": PGMachv.CATCH_SUB_LEGENDARY,
|
||||
"CATCH_LEGENDARY": PGMachv.CATCH_LEGENDARY,
|
||||
"SEE_SHINY": PGMachv.SEE_SHINY,
|
||||
"SHINY_PARTY": {
|
||||
name: "Shasseuse",
|
||||
description: "Avoir une équipe exclusivement composée de Pokémon chromatiques",
|
||||
},
|
||||
"HATCH_MYTHICAL": {
|
||||
name: "Œuf fabuleux",
|
||||
description: "Obtenir un Pokémon fabuleux dans un Œuf",
|
||||
},
|
||||
"HATCH_SUB_LEGENDARY": {
|
||||
name: "Œuf semi-légendaire",
|
||||
description: "Obtenir un Pokémon semi-légendaire dans un Œuf",
|
||||
},
|
||||
"HATCH_LEGENDARY": {
|
||||
name: "Œuf légendaire",
|
||||
description: "Obtenir un Pokémon légendaire dans un Œuf",
|
||||
},
|
||||
"HATCH_SHINY": {
|
||||
name: "Œuf chromatique",
|
||||
description: "Obtenir un Pokémon chromatique dans un Œuf",
|
||||
},
|
||||
"HIDDEN_ABILITY": {
|
||||
name: "Potentiel enfoui",
|
||||
description: "Capturer un Pokémon possédant un talent caché",
|
||||
},
|
||||
"PERFECT_IVS": {
|
||||
name: "Certificat d’authenticité",
|
||||
description: "Avoir des IV parfaits sur un Pokémon",
|
||||
},
|
||||
"HATCH_MYTHICAL": PGMachv.HATCH_MYTHICAL,
|
||||
"HATCH_SUB_LEGENDARY": PGMachv.HATCH_SUB_LEGENDARY,
|
||||
"HATCH_LEGENDARY": PGMachv.HATCH_LEGENDARY,
|
||||
"HATCH_SHINY": PGMachv.HATCH_SHINY,
|
||||
"HIDDEN_ABILITY": PGMachv.HIDDEN_ABILITY,
|
||||
"PERFECT_IVS": PGMachv.PERFECT_IVS,
|
||||
"CLASSIC_VICTORY": {
|
||||
name: "Invaincue",
|
||||
description: "Terminer le jeu en mode classique",
|
||||
},
|
||||
"UNEVOLVED_CLASSIC_VICTORY": {
|
||||
name: "Le stagiaire de 3e",
|
||||
description: "Terminer le mode Classique avec au moins un Pokémon non-évolué dans l’équipe."
|
||||
},
|
||||
"UNEVOLVED_CLASSIC_VICTORY": PGMachv.UNEVOLVED_CLASSIC_VICTORY,
|
||||
"MONO_GEN_ONE": PGMachv.MONO_GEN_ONE,
|
||||
"MONO_GEN_TWO": PGMachv.MONO_GEN_TWO,
|
||||
"MONO_GEN_THREE": PGMachv.MONO_GEN_THREE,
|
||||
"MONO_GEN_FOUR": PGMachv.MONO_GEN_FOUR,
|
||||
"MONO_GEN_FIVE": PGMachv.MONO_GEN_FIVE,
|
||||
"MONO_GEN_SIX": PGMachv.MONO_GEN_SIX,
|
||||
"MONO_GEN_SEVEN": PGMachv.MONO_GEN_SEVEN,
|
||||
"MONO_GEN_EIGHT": PGMachv.MONO_GEN_EIGHT,
|
||||
"MONO_GEN_NINE": PGMachv.MONO_GEN_NINE,
|
||||
|
||||
"MONO_GEN_ONE": {
|
||||
name: "Le rival originel",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 1re génération.",
|
||||
},
|
||||
"MONO_GEN_TWO": {
|
||||
name: "Entre tradition et modernité",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 2e génération.",
|
||||
},
|
||||
"MONO_GEN_THREE": {
|
||||
name: "Too much water ?",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 3e génération.",
|
||||
},
|
||||
"MONO_GEN_FOUR": {
|
||||
name: "Réellement la plus difficile ?",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 4e génération.",
|
||||
},
|
||||
"MONO_GEN_FIVE": {
|
||||
name: "Recast complet",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 5e génération.",
|
||||
},
|
||||
"MONO_GEN_SIX": {
|
||||
name: "Aristocrate",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 6e génération.",
|
||||
},
|
||||
"MONO_GEN_SEVEN": {
|
||||
name: "Seulement techniquement",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 7e génération.",
|
||||
},
|
||||
"MONO_GEN_EIGHT": {
|
||||
name: "L’heure de gloire",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 8e génération.",
|
||||
},
|
||||
"MONO_GEN_NINE": {
|
||||
name: "Ça va, c’était EZ",
|
||||
description: "Terminer un challenge avec uniquement des Pokémon de 9e génération.",
|
||||
},
|
||||
|
||||
"MonoType": {
|
||||
description: "Terminer un challenge en monotype {{type}}.",
|
||||
},
|
||||
"MONO_NORMAL": {
|
||||
name: "Extraordinairement banal",
|
||||
},
|
||||
"MONO_FIGHTING": {
|
||||
name: "Je connais le kung-fu",
|
||||
},
|
||||
"MONO_FLYING": {
|
||||
name: "Angry Birds",
|
||||
},
|
||||
"MONO_POISON": {
|
||||
name: "Touche moi je t’empoisonne !",
|
||||
},
|
||||
"MONO_GROUND": {
|
||||
name: "Prévisions : Séisme",
|
||||
},
|
||||
"MONO_ROCK": {
|
||||
name: "Comme un roc",
|
||||
},
|
||||
"MONO_BUG": {
|
||||
name: "Une chenille !",
|
||||
},
|
||||
"MONO_GHOST": {
|
||||
name: "SOS Fantômes",
|
||||
},
|
||||
"MONO_STEEL": {
|
||||
name: "De type Acier !",
|
||||
},
|
||||
"MONO_FIRE": {
|
||||
name: "Allumer le feu",
|
||||
},
|
||||
"MONO_WATER": {
|
||||
name: "Vacances en Bretagne",
|
||||
},
|
||||
"MONO_GRASS": {
|
||||
name: "Ne pas toucher !",
|
||||
},
|
||||
"MONO_ELECTRIC": {
|
||||
name: "À la masse",
|
||||
},
|
||||
"MONO_PSYCHIC": {
|
||||
name: "Grocervo",
|
||||
},
|
||||
"MONO_ICE": {
|
||||
name: "Froid comme la glace",
|
||||
},
|
||||
"MONO_DRAGON": {
|
||||
name: "Légendes du club, ou presque",
|
||||
},
|
||||
"MONO_DARK": {
|
||||
name: "Ça va lui passer",
|
||||
},
|
||||
"MONO_FAIRY": {
|
||||
name: "Hey ! Listen !",
|
||||
},
|
||||
"FRESH_START": {
|
||||
name: "Du premier coup !",
|
||||
description: "Terminer un challenge « Nouveau départ »."
|
||||
}
|
||||
"MonoType": PGMachv.MonoType,
|
||||
"MONO_NORMAL": PGMachv.MONO_NORMAL,
|
||||
"MONO_FIGHTING": PGMachv.MONO_FIGHTING,
|
||||
"MONO_FLYING": PGMachv.MONO_FLYING,
|
||||
"MONO_POISON": PGMachv.MONO_POISON,
|
||||
"MONO_GROUND": PGMachv.MONO_GROUND,
|
||||
"MONO_ROCK": PGMachv.MONO_ROCK,
|
||||
"MONO_BUG": PGMachv.MONO_BUG,
|
||||
"MONO_GHOST": PGMachv.MONO_GHOST,
|
||||
"MONO_STEEL": PGMachv.MONO_STEEL,
|
||||
"MONO_FIRE": PGMachv.MONO_FIRE,
|
||||
"MONO_WATER": PGMachv.MONO_WATER,
|
||||
"MONO_GRASS": PGMachv.MONO_GRASS,
|
||||
"MONO_ELECTRIC": PGMachv.MONO_ELECTRIC,
|
||||
"MONO_PSYCHIC": PGMachv.MONO_PSYCHIC,
|
||||
"MONO_ICE": PGMachv.MONO_ICE,
|
||||
"MONO_DRAGON": PGMachv.MONO_DRAGON,
|
||||
"MONO_DARK": PGMachv.MONO_DARK,
|
||||
"MONO_FAIRY": PGMachv.MONO_FAIRY,
|
||||
"FRESH_START": PGMachv.FRESH_START
|
||||
} as const;
|
||||
|
@ -60,6 +60,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"turnEndHpRestore": "{{pokemonName}} récupère des PV !",
|
||||
"hpIsFull": "Les PV de {{pokemonName}}\nsont au maximum !",
|
||||
"skipItemQuestion": "Êtes-vous sûr·e de ne pas vouloir prendre d’objet ?",
|
||||
"itemStackFull": "Quantité maximale de {{fullItemName}} atteinte.\nVous recevez {{itemName}} à la place.",
|
||||
"eggHatching": "Hein ?",
|
||||
"ivScannerUseQuestion": "Utiliser le Scanner d’IV\nsur {{pokemonName}} ?",
|
||||
"wildPokemonWithAffix": "{{pokemonName}} sauvage",
|
||||
|
@ -69,5 +69,5 @@ export const battlerTags: SimpleTranslationEntries = {
|
||||
"saltCuredLapse": "{{pokemonNameWithAffix}} est blessé\npar la capacité {{moveName}} !",
|
||||
"cursedOnAdd": "{{pokemonNameWithAffix}} sacrifie des PV\net lance une malédiction sur {{pokemonName}} !",
|
||||
"cursedLapse": "{{pokemonNameWithAffix}} est touché par la malédiction !",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} stockpiled {{stockpiledCount}}!",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} utilise\nla capacité Stockage {{stockpiledCount}} fois !",
|
||||
} as const;
|
||||
|
@ -23,7 +23,7 @@ export const bgmName: SimpleTranslationEntries = {
|
||||
"battle_galar_elite": "ÉB - Vs. Tournoi des Champions",
|
||||
"battle_paldea_elite": "ÉV - Vs. Conseil 4",
|
||||
"battle_bb_elite": "ÉV - Vs. Conseil 4 de l’Institut Myrtille",
|
||||
"battle_final_encounter": "PDM ÉSDX - Vs. Rayquaza",
|
||||
"battle_final_encounter": "PDM ÉdS DX - Vs. Rayquaza",
|
||||
"battle_final": "NB - Vs. Ghetis",
|
||||
"battle_kanto_gym": "N2B2 - Vs. Champion·ne d’Arène de Kanto",
|
||||
"battle_johto_gym": "N2B2 - Vs. Champion·ne d’Arène de Johto",
|
||||
@ -74,14 +74,14 @@ export const bgmName: SimpleTranslationEntries = {
|
||||
"battle_trainer": "NB - Vs. Dresseur·euse",
|
||||
"battle_wild": "NB - Vs. Pokémon sauvage",
|
||||
"battle_wild_strong": "NB - Vs. Pokémon puissant sauvage",
|
||||
"end_summit": "PDM ÉSDX - Tour Céleste",
|
||||
"end_summit": "PDM ÉdS DX - Tour Céleste (Sommet)",
|
||||
"battle_rocket_grunt": "HGSS Vs. Team Rocket",
|
||||
"battle_aqua_magma_grunt": "ROSA Vs. Team Aqua/Magma",
|
||||
"battle_galactic_grunt": "DÉPS Vs. Team Galaxie",
|
||||
"battle_plasma_grunt": "NB - Vs. Team Plasma",
|
||||
"battle_flare_grunt": "XY - Vs. Team Flare",
|
||||
"battle_rocket_boss": "USUL - Vs. Giovanni",
|
||||
"battle_aqua_magma_boss": "ROSA - Vs. Max/Arthur",
|
||||
"battle_aqua_magma_boss": "ROSA - Vs. Arthur/Max",
|
||||
"battle_galactic_boss": "DÉPS - Vs. Hélio",
|
||||
"battle_plasma_boss": "N2B2 - Vs. Ghetis",
|
||||
"battle_flare_boss": "XY - Vs. Lysandre",
|
||||
|
@ -4,7 +4,7 @@ export const challenges: TranslationEntries = {
|
||||
"title": "Paramètres du Challenge",
|
||||
"illegalEvolution": "{{pokemon}} est devenu\ninéligible pour ce challenge !",
|
||||
"singleGeneration": {
|
||||
"name": "Mono-génération",
|
||||
"name": "Monogénération",
|
||||
"desc": "Vous ne pouvez choisir que des Pokémon de {{gen}} génération.",
|
||||
"desc_default": "Vous ne pouvez choisir que des Pokémon de la génération sélectionnée.",
|
||||
"gen_1": "1re",
|
||||
@ -18,7 +18,7 @@ export const challenges: TranslationEntries = {
|
||||
"gen_9": "9e",
|
||||
},
|
||||
"singleType": {
|
||||
"name": "Mono-type",
|
||||
"name": "Monotype",
|
||||
"desc": "Vous ne pouvez choisir que des Pokémon de type {{type}}.",
|
||||
"desc_default": "Vous ne pouvez choisir que des Pokémon du type sélectionné."
|
||||
//type in pokemon-info
|
||||
|
@ -4,7 +4,7 @@ export const filterBar: SimpleTranslationEntries = {
|
||||
"genFilter": "Gen",
|
||||
"typeFilter": "Type",
|
||||
"caughtFilter": "Capturés",
|
||||
"unlocksFilter": "Débloq.",
|
||||
"unlocksFilter": "Amélio.",
|
||||
"miscFilter": "Divers",
|
||||
"sortFilter": "Tri",
|
||||
"all": "Tous",
|
||||
@ -13,25 +13,25 @@ export const filterBar: SimpleTranslationEntries = {
|
||||
"passive": "Passif",
|
||||
"passiveUnlocked": "Passif débloqué",
|
||||
"passiveLocked": "Passif verrouillé",
|
||||
"passiveUnlockable": "Passive - Can Unlock",
|
||||
"costReduction": "Cost Reduction",
|
||||
"costReductionUnlocked": "Cost Reduction Unlocked",
|
||||
"costReductionLocked": "Cost Reduction Locked",
|
||||
"costReductionUnlockable": "Cost Reduction - Can Unlock",
|
||||
"favorite": "Favorite",
|
||||
"isFavorite": "Favorite - Yes",
|
||||
"notFavorite": "Favorite - No",
|
||||
"passiveUnlockable": "Passif déblocable",
|
||||
"costReduction": "Cout réduit",
|
||||
"costReductionUnlocked": "Cout réduit débloqué",
|
||||
"costReductionLocked": "Cout réduit verrouillé",
|
||||
"costReductionUnlockable": "Cout réduit déblocable",
|
||||
"favorite": "Favoris",
|
||||
"isFavorite": "Favoris uniquement",
|
||||
"notFavorite": "Sans Favoris",
|
||||
"ribbon": "Ruban",
|
||||
"hasWon": "Ruban - Oui",
|
||||
"hasNotWon": "Ruban - Non",
|
||||
"hiddenAbility": "Hidden Ability",
|
||||
"hasHiddenAbility": "Hidden Ability - Yes",
|
||||
"noHiddenAbility": "Hidden Ability - No",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"pokerus": "Pokerus",
|
||||
"hasPokerus": "Pokerus - Yes",
|
||||
"noPokerus": "Pokerus - No",
|
||||
"hasWon": "Ruban - Avec",
|
||||
"hasNotWon": "Ruban - Sans",
|
||||
"hiddenAbility": "Talent caché",
|
||||
"hasHiddenAbility": "Talent caché - Avec",
|
||||
"noHiddenAbility": "Talent caché - Sans",
|
||||
"egg": "Œuf",
|
||||
"eggPurchasable": "Œuf achetable",
|
||||
"pokerus": "Pokérus",
|
||||
"hasPokerus": "Pokérus - Avec",
|
||||
"noPokerus": "Pokérus - Sans",
|
||||
"sortByNumber": "Par N°",
|
||||
"sortByCost": "Par cout",
|
||||
"sortByCandies": "Par bonbons",
|
||||
|
@ -42,17 +42,17 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
}
|
||||
},
|
||||
"PokemonPpUpModifierType": {
|
||||
description: "Augmente 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}}",
|
||||
description: "Donne la nature {{natureName}} à un Pokémon et la débloque pour le starter lui étant lié.",
|
||||
description: "Donne la nature {{natureName}} à un Pokémon et la débloque pour le starter lui étant lié.",
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats.",
|
||||
description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats.",
|
||||
},
|
||||
"TempBattleStatBoosterModifierType": {
|
||||
description: "Augmente d’un cran {{tempBattleStatName}} pour toute l’équipe pendant 5 combats.",
|
||||
description: "Augmente d’un 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.",
|
||||
@ -93,7 +93,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
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.",
|
||||
description: "Frappe une fois de plus en échange d’une baisse de puissance de respectivement 60/75/82,5% par cumul.",
|
||||
},
|
||||
"TmModifierType": {
|
||||
name: "CT{{moveId}} - {{moveName}}",
|
||||
@ -132,9 +132,9 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"RARE_CANDY": { name: "Super Bonbon" },
|
||||
"RARER_CANDY": { name: "Hyper Bonbon" },
|
||||
|
||||
"MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes." },
|
||||
"MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes dans la boutique." },
|
||||
"DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque le Dynamax." },
|
||||
"TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats." },
|
||||
"TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats dans la boutique." },
|
||||
|
||||
"MAP": { name: "Carte", description: "Vous permet de choisir votre destination à un croisement." },
|
||||
|
||||
@ -211,7 +211,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
|
||||
"BERRY_POUCH": { name: "Sac à Baies", description: "Ajoute 30% de chances qu’une Baie utilisée ne soit pas consommée." },
|
||||
|
||||
"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: "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é)." },
|
||||
|
||||
@ -226,7 +226,7 @@ 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: "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é." },
|
||||
"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: "Révèle la qualité de deux IV d’un Pokémon sauvage par scanner possédé. Les meilleurs IV sont révélés en priorité." },
|
||||
|
||||
|
@ -37,7 +37,7 @@ export const settings: SimpleTranslationEntries = {
|
||||
"legacy": "Ancienne",
|
||||
"windowType": "Type de fenêtre",
|
||||
"moneyFormat": "Format de l’argent",
|
||||
"damageNumbers": "Nombres de dégâts",
|
||||
"damageNumbers": "Affichage dégâts",
|
||||
"simple": "Simple",
|
||||
"fancy": "Amélioré",
|
||||
"abbreviated": "Abrégé",
|
||||
@ -49,10 +49,10 @@ export const settings: SimpleTranslationEntries = {
|
||||
"icon": "Icône",
|
||||
"animation": "Animation",
|
||||
"moveInfo": "Infos de capacité",
|
||||
"showMovesetFlyout": "Afficher le volet de capacités",
|
||||
"showArenaFlyout": "Afficher le volet d’arène",
|
||||
"showTimeOfDayWidget": "Widget de l’heure",
|
||||
"timeOfDayAnimation": "Animation de l’heure",
|
||||
"showMovesetFlyout": "Afficher volet de capacités",
|
||||
"showArenaFlyout": "Afficher volet d’arène",
|
||||
"showTimeOfDayWidget": "Widget d’heure",
|
||||
"timeOfDayAnimation": "Animation d’heure",
|
||||
"bounce": "Sauter",
|
||||
"timeOfDay_back": "Retour",
|
||||
"spriteSet": "Ensemble de sprites",
|
||||
|
@ -28,8 +28,8 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
|
||||
"toggleIVs": "Voir les IV",
|
||||
"manageMoves": "Modifier les Capacités",
|
||||
"manageNature": "Modifier la Nature",
|
||||
"addToFavorites": "Add to Favorites",
|
||||
"removeFromFavorites": "Remove from Favorites",
|
||||
"addToFavorites": "Ajouter aux Favoris",
|
||||
"removeFromFavorites": "Retirer des Favoris",
|
||||
"useCandies": "Utiliser des Bonbons",
|
||||
"selectNature": "Sélectionnez une nature.",
|
||||
"selectMoveSwapOut": "Sélectionnez la capacité à échanger.",
|
||||
|
@ -60,6 +60,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"turnEndHpRestore": "{{pokemonName}} ha recuperato dei PS.",
|
||||
"hpIsFull": "{{pokemonName}} ha già\ntutti i PS!",
|
||||
"skipItemQuestion": "Sei sicuro di non voler prendere nessun oggetto?",
|
||||
"itemStackFull": "The stack for {{fullItemName}} is full.\nYou will receive {{itemName}} instead.",
|
||||
"eggHatching": "Oh?",
|
||||
"ivScannerUseQuestion": "Vuoi usare lo scanner di IV su {{pokemonName}}?",
|
||||
"stealEatBerry": "{{pokemonName}} ha rubato e mangiato\nla {{berryName}} di {{targetName}}!",
|
||||
|
@ -3,35 +3,35 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales";
|
||||
export const filterBar: SimpleTranslationEntries = {
|
||||
"genFilter": "Gen",
|
||||
"typeFilter": "Tipo",
|
||||
"caughtFilter": "Caught",
|
||||
"caughtFilter": "Catturati",
|
||||
"unlocksFilter": "Altro",
|
||||
"miscFilter": "Misc",
|
||||
"sortFilter": "Ordina",
|
||||
"all": "Tutto",
|
||||
"normal": "Normale",
|
||||
"normal": "Non shiny",
|
||||
"uncaught": "Mancante",
|
||||
"passive": "Passive",
|
||||
"passive": "Passiva",
|
||||
"passiveUnlocked": "Passiva sbloccata",
|
||||
"passiveLocked": "Passiva bloccata",
|
||||
"passiveUnlockable": "Passive - Can Unlock",
|
||||
"costReduction": "Cost Reduction",
|
||||
"costReductionUnlocked": "Cost Reduction Unlocked",
|
||||
"costReductionLocked": "Cost Reduction Locked",
|
||||
"costReductionUnlockable": "Cost Reduction - Can Unlock",
|
||||
"favorite": "Favorite",
|
||||
"isFavorite": "Favorite - Yes",
|
||||
"notFavorite": "Favorite - No",
|
||||
"ribbon": "Ribbon",
|
||||
"hasWon": "Ribbon - Yes",
|
||||
"hasNotWon": "Ribbon - No",
|
||||
"hiddenAbility": "Hidden Ability",
|
||||
"hasHiddenAbility": "Hidden Ability - Yes",
|
||||
"noHiddenAbility": "Hidden Ability - No",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"pokerus": "Pokerus",
|
||||
"hasPokerus": "Pokerus - Yes",
|
||||
"noPokerus": "Pokerus - No",
|
||||
"passiveUnlockable": "Passiva sbloccabile",
|
||||
"costReduction": "Riduzione costo",
|
||||
"costReductionUnlocked": "Costo ridotto",
|
||||
"costReductionLocked": "Costo non ridotto",
|
||||
"costReductionUnlockable": "Costo riducibile",
|
||||
"favorite": "Preferiti",
|
||||
"isFavorite": "Preferiti - Sì",
|
||||
"notFavorite": "Preferiti - No",
|
||||
"ribbon": "Fiocco",
|
||||
"hasWon": "Fiocco - Sì",
|
||||
"hasNotWon": "Fiocco - No",
|
||||
"hiddenAbility": "Abilità speciale",
|
||||
"hasHiddenAbility": "Abilità speciale - Sì",
|
||||
"noHiddenAbility": "Abilità speciale - No",
|
||||
"egg": "Uova",
|
||||
"eggPurchasable": "Uovo acquistabile",
|
||||
"pokerus": "Pokérus",
|
||||
"hasPokerus": "Pokérus - Sì",
|
||||
"noPokerus": "Pokérus - No",
|
||||
"sortByNumber": "Num. Dex",
|
||||
"sortByCost": "Costo",
|
||||
"sortByCandies": "Caramelle",
|
||||
|
@ -11,16 +11,16 @@ export const arenaTag: SimpleTranslationEntries = {
|
||||
"reflectOnAdd": "リフレクターで 物理ダメージを さげた",
|
||||
"reflectOnAddPlayer": "味方の リフレクターで\n物理ダメージを さげた",
|
||||
"reflectOnAddEnemy": "相手の リフレクターで\n物理ダメージを さげた",
|
||||
"lightScreenOnAdd": "ひかりのかべで\n物理ダメージを さげた",
|
||||
"lightScreenOnAddPlayer": "味方の ひかりのかべで\n物理ダメージを さげた",
|
||||
"lightScreenOnAddEnemy": "相手の ひかりのかべで\n物理ダメージを さげた",
|
||||
"lightScreenOnAdd": "ひかりのかべで\n特殊ダメージを さげた",
|
||||
"lightScreenOnAddPlayer": "味方の ひかりのかべで\n特殊ダメージを さげた",
|
||||
"lightScreenOnAddEnemy": "相手の ひかりのかべで\n特殊ダメージを さげた",
|
||||
"auroraVeilOnAdd": "オーロラベールで\n攻撃の ダメージを さげた",
|
||||
"auroraVeilOnAddPlayer": "味方の オーロラベールで\n攻撃ダメージを さげた",
|
||||
"auroraVeilOnAddEnemy": "相手の オーロラベールで\n攻撃ダメージを さげた",
|
||||
"conditionalProtectOnAdd": "{{moveName}}に 守られた!",
|
||||
"conditionalProtectOnAddPlayer": "見方が {{moveName}}に 守られた!",
|
||||
"conditionalProtectOnAddEnemy": "相手が {{moveName}}に 守られた!",
|
||||
"conditionalProtectApply": "{{pokemonNameWithAffix}}が\n{{moveName}}に 守られた!",
|
||||
"conditionalProtectApply": "{{pokemonNameWithAffix}}が\n{{moveName}}に 守られた!",
|
||||
"matBlockOnAdd": "{{pokemonNameWithAffix}}は\nたたみがえしを ねらっている!",
|
||||
"noCritOnAddPlayer": "{{moveName}}の 力で 味方の急所が 隠れた!",
|
||||
"noCritOnAddEnemy": "{{moveName}}の 力で 相手の急所が 隠れた!",
|
||||
@ -33,7 +33,7 @@ export const arenaTag: SimpleTranslationEntries = {
|
||||
"spikesOnAdd": "{{opponentDesc}}の 足下に\n{{moveName}}が 散らばった!",
|
||||
"spikesActivateTrap": "{{pokemonNameWithAffix}}は\nまきびしの ダメージを 受けた!",
|
||||
"toxicSpikesOnAdd": "{{opponentDesc}}の 足下に\n{{moveName}}が 散らばった!",
|
||||
"toxicSpikesActivateTrapPoison": "{{pokemonNameWithAffix}}は {{moveName}}を 吸収した!",
|
||||
"toxicSpikesActivateTrapPoison": "{{pokemonNameWithAffix}}は {{moveName}}で 毒を あびた!",
|
||||
"stealthRockOnAdd": "{{opponentDesc}}の 周りに\nとがった岩が ただよい始めた!",
|
||||
"stealthRockActivateTrap": "{{pokemonNameWithAffix}}に\nとがった岩が 食い込んだ!",
|
||||
"stickyWebOnAdd": "相手の 足下に\n{{moveName}}が 広がった!",
|
||||
|
@ -60,6 +60,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"turnEndHpRestore": "{{pokemonName}}の 体力が 回復した!",
|
||||
"hpIsFull": "{{pokemonName}}の\n体力が 満タンだ!",
|
||||
"skipItemQuestion": "本当に アイテムを 取らずに 進みますか?",
|
||||
"itemStackFull": "{{fullItemName}}の スタックが いっぱいです。\n代わりに {{itemName}}を 取得します。",
|
||||
"eggHatching": "おや?",
|
||||
"ivScannerUseQuestion": "{{pokemonName}}を\n個体値スキャナーで 操作しますか?",
|
||||
"wildPokemonWithAffix": "野生の {{pokemonName}}",
|
||||
|
@ -1,40 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/interfaces/locales";
|
||||
|
||||
export const filterBar: SimpleTranslationEntries = {
|
||||
"genFilter": "Gen",
|
||||
"typeFilter": "Type",
|
||||
"caughtFilter": "Caught",
|
||||
"unlocksFilter": "Unlocks",
|
||||
"miscFilter": "Misc",
|
||||
"sortFilter": "Sort",
|
||||
"all": "All",
|
||||
"normal": "Not Shiny",
|
||||
"uncaught": "Uncaught",
|
||||
"passive": "Passive",
|
||||
"passiveUnlocked": "Passive - Yes",
|
||||
"passiveLocked": "Passive - No",
|
||||
"passiveUnlockable": "Passive - Can Unlock",
|
||||
"costReduction": "Cost Reduction",
|
||||
"costReductionUnlocked": "Cost Reduction - Yes",
|
||||
"costReductionLocked": "Cost Reduction - No",
|
||||
"costReductionUnlockable": "Cost Reduction - Can Unlock",
|
||||
"favorite": "Favorite",
|
||||
"isFavorite": "Favorite - Yes",
|
||||
"notFavorite": "Favorite - No",
|
||||
"ribbon": "Ribbon",
|
||||
"hasWon": "Ribbon - Yes",
|
||||
"hasNotWon": "Ribbon - No",
|
||||
"hiddenAbility": "Hidden Ability",
|
||||
"hasHiddenAbility": "Hidden Ability - Yes",
|
||||
"noHiddenAbility": "Hidden Ability - No",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"pokerus": "Pokerus",
|
||||
"hasPokerus": "Pokerus - Yes",
|
||||
"noPokerus": "Pokerus - No",
|
||||
"genFilter": "世代",
|
||||
"typeFilter": "タイプ",
|
||||
"caughtFilter": "捕獲",
|
||||
"unlocksFilter": "解放",
|
||||
"miscFilter": "その他",
|
||||
"sortFilter": "並べ替え",
|
||||
"all": "すべて",
|
||||
"normal": "非色違い",
|
||||
"uncaught": "未捕獲",
|
||||
"passive": "パッシブ",
|
||||
"passiveUnlocked": "パッシブ - 解放済み",
|
||||
"passiveLocked": "パッシブ - 未解放",
|
||||
"passiveUnlockable": "パッシブ - 解放可能",
|
||||
"costReduction": "ポイント削減",
|
||||
"costReductionUnlocked": "ポイント削減 - 解放済み",
|
||||
"costReductionLocked": "ポイント削減 - 未解放",
|
||||
"costReductionUnlockable": "ポイント削減 - 解放可能",
|
||||
"favorite": "お気に入り",
|
||||
"isFavorite": "お気に入り - あり",
|
||||
"notFavorite": "お気に入り - なし",
|
||||
"ribbon": "リボン",
|
||||
"hasWon": "リボン - あり",
|
||||
"hasNotWon": "リボン - なし",
|
||||
"hiddenAbility": "隠れ特性",
|
||||
"hasHiddenAbility": "隠れ特性 - あり",
|
||||
"noHiddenAbility": "隠れ特性 - なし",
|
||||
"egg": "タマゴ",
|
||||
"eggPurchasable": "タマゴ - 購入可能",
|
||||
"pokerus": "ポケルス",
|
||||
"hasPokerus": "ポケルス - あり",
|
||||
"noPokerus": "ポケルス - なし",
|
||||
"sortByNumber": "No.",
|
||||
"sortByCost": "Cost",
|
||||
"sortByCandies": "Candy Count",
|
||||
"sortByIVs": "IVs",
|
||||
"sortByName": "Name",
|
||||
"sortByCost": "ポイント",
|
||||
"sortByCandies": "飴の数",
|
||||
"sortByIVs": "個体値",
|
||||
"sortByName": "名前",
|
||||
};
|
||||
|
@ -60,6 +60,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"turnEndHpRestore": "{{pokemonName}}의\n체력이 회복되었다!",
|
||||
"hpIsFull": "그러나 {{pokemonName}}의\n체력이 가득 찬 상태다!",
|
||||
"skipItemQuestion": "아이템을 받지 않고 넘어가시겠습니까?",
|
||||
"itemStackFull": "{{fullItemName}}의 소지 한도에 도달했습니다.\n{{itemname}}[[를]] 대신 받습니다.",
|
||||
"eggHatching": "어라…?",
|
||||
"ivScannerUseQuestion": "{{pokemonName}}에게 개체값탐지기를 사용하시겠습니까?",
|
||||
"wildPokemonWithAffix": "야생 {{pokemonName}}",
|
||||
|
@ -10,7 +10,7 @@ export const abilityTriggers: SimpleTranslationEntries = {
|
||||
"trace": "{{pokemonName}} copiou {{abilityName}}\nde {{targetName}}!",
|
||||
"windPowerCharged": "Ser atingido por {{moveName}} carregou {{pokemonName}} com poder!",
|
||||
"quickDraw": "{{pokemonName}} pode agir mais rápido que o normal\ngraças ao seu Quick Draw!",
|
||||
"disguiseAvoidedDamage" : "O disfarce de {{pokemonNameWithAffix}} foi descoberto!",
|
||||
"disguiseAvoidedDamage": "O disfarce de {{pokemonNameWithAffix}} foi descoberto!",
|
||||
"blockItemTheft": "{{abilityName}} de {{pokemonNameWithAffix}}\nprevine o roubo de itens!",
|
||||
"typeImmunityHeal": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaurou um pouco de PS!",
|
||||
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}} evitou dano\ncom {{abilityName}}!",
|
||||
|
@ -60,6 +60,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"turnEndHpRestore": "Os PS de {{pokemonName}} foram restaurados!",
|
||||
"hpIsFull": "Os PS de {{pokemonName}}\njá estão cheios!",
|
||||
"skipItemQuestion": "Tem certeza de que não quer escolher um item?",
|
||||
"itemStackFull": "O estoque de {{fullItemName}} está cheio.\nVocê receberá {{itemName}} no lugar.",
|
||||
"eggHatching": "Opa?",
|
||||
"ivScannerUseQuestion": "Quer usar o Scanner de IVs em {{pokemonName}}?",
|
||||
"wildPokemonWithAffix": "{{pokemonName}} selvagem",
|
||||
@ -67,7 +68,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"useMove": "{{pokemonNameWithAffix}} usou {{moveName}}!",
|
||||
"drainMessage": "{{pokemonName}} teve sua\nenergia drenada!",
|
||||
"regainHealth": "{{pokemonName}} recuperou\npontos de saúde!",
|
||||
"stealEatBerry": "{{pokemonName}} stole and ate\n{{targetName}}'s {{berryName}}!",
|
||||
"stealEatBerry": "{{pokemonName}} roubou e comeu\na {{berryName}} de {{targetName}}!",
|
||||
"ppHealBerry": "{{pokemonNameWithAffix}} restaurou PP do movimento {{moveName}}\nusando sua {{berryName}}!",
|
||||
"hpHealBerry": "{{pokemonNameWithAffix}} restarou sua saúde usando\nsua {{berryName}}!",
|
||||
"fainted": "{{pokemonNameWithAffix}} desmaiou!",
|
||||
|
@ -35,11 +35,12 @@ import { modifier } from "./modifier";
|
||||
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
|
||||
import { modifierType } from "./modifier-type";
|
||||
import { move } from "./move";
|
||||
import { moveTriggers } from "./move-trigger";
|
||||
import { nature } from "./nature";
|
||||
import { partyUiHandler } from "./party-ui-handler";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonForm, battlePokemonForm } from "./pokemon-form";
|
||||
import { battlePokemonForm, pokemonForm } from "./pokemon-form";
|
||||
import { pokemonInfo } from "./pokemon-info";
|
||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||
import { pokemonSummary } from "./pokemon-summary";
|
||||
@ -52,7 +53,6 @@ import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { voucher } from "./voucher";
|
||||
import { terrain, weather } from "./weather";
|
||||
import { moveTriggers } from "./move-trigger";
|
||||
|
||||
export const ptBrConfig = {
|
||||
ability: ability,
|
||||
@ -89,9 +89,12 @@ export const ptBrConfig = {
|
||||
menu: menu,
|
||||
menuUiHandler: menuUiHandler,
|
||||
modifier: modifier,
|
||||
modifierSelectUiHandler: modifierSelectUiHandler,
|
||||
modifierType: modifierType,
|
||||
move: move,
|
||||
moveTriggers: moveTriggers,
|
||||
nature: nature,
|
||||
partyUiHandler: partyUiHandler,
|
||||
pokeball: pokeball,
|
||||
pokemon: pokemon,
|
||||
pokemonForm: pokemonForm,
|
||||
@ -109,8 +112,5 @@ export const ptBrConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
voucher: voucher,
|
||||
weather: weather,
|
||||
partyUiHandler: partyUiHandler,
|
||||
modifierSelectUiHandler: modifierSelectUiHandler,
|
||||
moveTriggers: moveTriggers
|
||||
weather: weather
|
||||
};
|
||||
|
@ -13,22 +13,22 @@ export const filterBar: SimpleTranslationEntries = {
|
||||
"passive": "Passiva",
|
||||
"passiveUnlocked": "Passiva Desbloqueada",
|
||||
"passiveLocked": "Passiva Bloqueada",
|
||||
"passiveUnlockable": "Passive - Can Unlock",
|
||||
"passiveUnlockable": "Passiva - Pode Desbloquear",
|
||||
"costReduction": "Redução de Custo",
|
||||
"costReductionUnlocked": "Redução de Custo Desbloq.",
|
||||
"costReductionLocked": "Redução de Custo Bloq.",
|
||||
"costReductionUnlockable": "Cost Reduction - Can Unlock",
|
||||
"favorite": "Favorite",
|
||||
"isFavorite": "Favorite - Yes",
|
||||
"notFavorite": "Favorite - No",
|
||||
"costReductionLocked": "Redução de Custo Bloqueada",
|
||||
"costReductionUnlockable": "Redução de Custo Disponível",
|
||||
"favorite": "Favoritos",
|
||||
"isFavorite": "Favoritos - Sim",
|
||||
"notFavorite": "Favoritos - Não",
|
||||
"ribbon": "Fita",
|
||||
"hasWon": "Fita - Sim",
|
||||
"hasNotWon": "Fita - Não",
|
||||
"hiddenAbility": "Habilidade Oculta",
|
||||
"hasHiddenAbility": "Habilidade Oculta - Sim",
|
||||
"noHiddenAbility": "Habilidade Oculta - Não",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"egg": "Ovo",
|
||||
"eggPurchasable": "Ovo Comprável",
|
||||
"pokerus": "Pokérus",
|
||||
"hasPokerus": "Pokérus - Sim",
|
||||
"noPokerus": "Pokérus - Não",
|
||||
|
@ -1,13 +1,13 @@
|
||||
import { SimpleTranslationEntries } from "#app/interfaces/locales";
|
||||
|
||||
export const moveTriggers: SimpleTranslationEntries = {
|
||||
"hitWithRecoil" : "{{pokemonName}} foi ferido pelo dano reverso!",
|
||||
"hitWithRecoil": "{{pokemonName}} foi ferido pelo dano reverso!",
|
||||
"cutHpPowerUpMove": "{{pokemonName}} diminuiu seus PS para aumentar o poder do ataque!",
|
||||
"absorbedElectricity": "{{pokemonName}} absorveu eletricidade!",
|
||||
"switchedStatChanges": "{{pokemonName}} trocou as mudanças de atributo com o alvo!",
|
||||
"goingAllOutForAttack": "{{pokemonName}} está arriscando tudo nesse ataque!",
|
||||
"regainedHealth": "{{pokemonName}} recuperou/nsaúde!",
|
||||
"keptGoingAndCrashed": "{{pokemonName}} continuou/nindo e bateu!",
|
||||
"keptGoingAndCrashed": "{{pokemonName}} errou o alvo/ne se arrebentou!",
|
||||
"fled": "{{pokemonName}} fugiu!",
|
||||
"cannotBeSwitchedOut": "{{pokemonName}} não pode ser trocado!",
|
||||
"swappedAbilitiesWithTarget": "{{pokemonName}} trocou/nde habilidades com o alvo!",
|
||||
|
@ -181,15 +181,15 @@ export const pokemonForm: SimpleTranslationEntries = {
|
||||
"gimmighoulChest": "Baú",
|
||||
"gimmighoulRoaming": "Perambulante",
|
||||
"koraidonApexBuild": "Apex Build",
|
||||
"koraidonLimitedBuild":"Limited Build",
|
||||
"koraidonSprintingBuild":"Sprinting Build",
|
||||
"koraidonSwimmingBuild":"Swimming Build",
|
||||
"koraidonGlidingBuild":"Gliding Build",
|
||||
"miraidonUltimateMode":"Ultimate Mode",
|
||||
"miraidonLowPowerMode":"Low Power Mode",
|
||||
"miraidonDriveMode":"Drive Mode",
|
||||
"miraidonAquaticMode":"Aquatic Mode",
|
||||
"miraidonGlideMode":"Glide Mode",
|
||||
"koraidonLimitedBuild": "Limited Build",
|
||||
"koraidonSprintingBuild": "Sprinting Build",
|
||||
"koraidonSwimmingBuild": "Swimming Build",
|
||||
"koraidonGlidingBuild": "Gliding Build",
|
||||
"miraidonUltimateMode": "Ultimate Mode",
|
||||
"miraidonLowPowerMode": "Low Power Mode",
|
||||
"miraidonDriveMode": "Drive Mode",
|
||||
"miraidonAquaticMode": "Aquatic Mode",
|
||||
"miraidonGlideMode": "Glide Mode",
|
||||
"poltchageistCounterfeit": "Imitação",
|
||||
"poltchageistArtisan": "Artesão",
|
||||
"paldeaTaurosCombat": "Combate",
|
||||
|
@ -28,8 +28,8 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
|
||||
"toggleIVs": "Mostrar IVs",
|
||||
"manageMoves": "Mudar Movimentos",
|
||||
"manageNature": "Mudar Natureza",
|
||||
"addToFavorites": "Add to Favorites",
|
||||
"removeFromFavorites": "Remove from Favorites",
|
||||
"addToFavorites": "Adicionar aos Favoritos",
|
||||
"removeFromFavorites": "Remover dos Favoritos",
|
||||
"useCandies": "Usar Doces",
|
||||
"selectNature": "Escolha uma natureza.",
|
||||
"selectMoveSwapOut": "Escolha um movimento para substituir.",
|
||||
|
@ -60,6 +60,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"turnEndHpRestore": "{{pokemonName}}的体力恢复了。",
|
||||
"hpIsFull": "{{pokemonName}}的体力已满!",
|
||||
"skipItemQuestion": "你确定要跳过拾取道具吗?",
|
||||
"itemStackFull": "{{fullItemName}}持有数达到上限,\n你获得了{{itemName}}作为替代。",
|
||||
"eggHatching": "咦?",
|
||||
"stealEatBerry": "{{pokemonName}}夺取并吃掉了\n{{targetName}}的{{berryName}}!",
|
||||
"ppHealBerry": "{{pokemonNameWithAffix}}用{{berryName}}\n回复了{{moveName}}的PP!",
|
||||
|
@ -13,22 +13,22 @@ export const filterBar: SimpleTranslationEntries = {
|
||||
"passive": "被动",
|
||||
"passiveUnlocked": "被动解锁",
|
||||
"passiveLocked": "被动未解锁",
|
||||
"passiveUnlockable": "Passive - Can Unlock",
|
||||
"passiveUnlockable": "被动可解锁",
|
||||
"costReduction": "费用降低",
|
||||
"costReductionUnlocked": "已降费",
|
||||
"costReductionLocked": "未降费",
|
||||
"costReductionUnlockable": "Cost Reduction - Can Unlock",
|
||||
"favorite": "Favorite",
|
||||
"isFavorite": "Favorite - Yes",
|
||||
"notFavorite": "Favorite - No",
|
||||
"costReductionUnlockable": "可降费",
|
||||
"favorite": "最爱",
|
||||
"isFavorite": "包含最爱",
|
||||
"notFavorite": "不包含最爱",
|
||||
"ribbon": "缎带",
|
||||
"hasWon": "有缎带",
|
||||
"hasNotWon": "无缎带",
|
||||
"hiddenAbility": "梦特",
|
||||
"hasHiddenAbility": "有梦特",
|
||||
"noHiddenAbility": "无梦特",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"egg": "蛋",
|
||||
"eggPurchasable": "可购买蛋",
|
||||
"pokerus": "病毒",
|
||||
"hasPokerus": "有病毒",
|
||||
"noPokerus": "无病毒",
|
||||
|
@ -60,6 +60,7 @@ export const battle: SimpleTranslationEntries = {
|
||||
"turnEndHpRestore": "{{pokemonName}}'s HP was restored.",
|
||||
"hpIsFull": "{{pokemonName}}'s\nHP is full!",
|
||||
"skipItemQuestion": "你要跳過拾取道具嗎?",
|
||||
"itemStackFull": "{{fullItemName}}持有數已達到上限,\n你獲得了{{itemName}}作爲代替。",
|
||||
"eggHatching": "咦?",
|
||||
"ivScannerUseQuestion": "對 {{pokemonName}} 使用個體值掃描儀?",
|
||||
"wildPokemonWithAffix": "野生的 {{pokemonName}}",
|
||||
|
@ -13,25 +13,25 @@ export const filterBar: SimpleTranslationEntries = {
|
||||
"passive": "被動",
|
||||
"passiveUnlocked": "被動解鎖",
|
||||
"passiveLocked": "被動未解鎖",
|
||||
"passiveUnlockable": "Passive - Can Unlock",
|
||||
"costReduction": "Cost Reduction",
|
||||
"costReductionUnlocked": "Cost Reduction Unlocked",
|
||||
"costReductionLocked": "Cost Reduction Locked",
|
||||
"costReductionUnlockable": "Cost Reduction - Can Unlock",
|
||||
"favorite": "Favorite",
|
||||
"isFavorite": "Favorite - Yes",
|
||||
"notFavorite": "Favorite - No",
|
||||
"passiveUnlockable": "被動可解鎖",
|
||||
"costReduction": "費用降低",
|
||||
"costReductionUnlocked": "已降費",
|
||||
"costReductionLocked": "未降費",
|
||||
"costReductionUnlockable": "可降費",
|
||||
"favorite": "最愛",
|
||||
"isFavorite": "包含最愛",
|
||||
"notFavorite": "不包含最愛",
|
||||
"ribbon": "緞帶",
|
||||
"hasWon": "有緞帶",
|
||||
"hasNotWon": "無緞帶",
|
||||
"hiddenAbility": "Hidden Ability",
|
||||
"hasHiddenAbility": "Hidden Ability - Yes",
|
||||
"noHiddenAbility": "Hidden Ability - No",
|
||||
"egg": "Egg",
|
||||
"eggPurchasable": "Purchasable Egg",
|
||||
"pokerus": "Pokerus",
|
||||
"hasPokerus": "Pokerus - Yes",
|
||||
"noPokerus": "Pokerus - No",
|
||||
"hiddenAbility": "隱藏特性",
|
||||
"hasHiddenAbility": "有隱藏特性",
|
||||
"noHiddenAbility": "無隱藏特性",
|
||||
"egg": "蛋",
|
||||
"eggPurchasable": "可購買蛋",
|
||||
"pokerus": "病毒",
|
||||
"hasPokerus": "有病毒",
|
||||
"noPokerus": "無病毒",
|
||||
"sortByNumber": "編號",
|
||||
"sortByCost": "花費",
|
||||
"sortByCandies": "糖果",
|
||||
|
@ -1328,44 +1328,48 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
|
||||
let starterContainer;
|
||||
const starterData = this.scene.gameData.starterData[this.lastSpecies.speciesId];
|
||||
// prepare persistent starter data to store changes
|
||||
let starterAttributes = this.starterPreferences[this.lastSpecies.speciesId];
|
||||
|
||||
// this gets the correct pokemon cursor depending on whether you're in the starter screen or the party icons
|
||||
if (!this.starterIconsCursorObj.visible) {
|
||||
starterContainer = this.filteredStarterContainers[this.cursor];
|
||||
} else {
|
||||
// if species is in filtered starters, get the starter container from the filtered starters, it can be undefined if the species is not in the filtered starters
|
||||
starterContainer = this.filteredStarterContainers[this.filteredStarterContainers.findIndex(container => container.species === this.lastSpecies)];
|
||||
}
|
||||
|
||||
if (button === Button.ACTION) {
|
||||
if (!this.speciesStarterDexEntry?.caughtAttr) {
|
||||
error = true;
|
||||
} else if (this.starterSpecies.length <= 6) { // checks to see if the party has 6 or fewer pokemon
|
||||
|
||||
let species;
|
||||
|
||||
// this gets the correct generation and pokemon cursor depending on whether you're in the starter screen or the party icons
|
||||
if (!this.starterIconsCursorObj.visible) {
|
||||
species = this.filteredStarterContainers[this.cursor].species;
|
||||
} else {
|
||||
species = this.starterSpecies[this.starterIconsCursorIndex];
|
||||
}
|
||||
const ui = this.getUi();
|
||||
let options: any[] = []; // TODO: add proper type
|
||||
|
||||
const [isDupe, removeIndex]: [boolean, number] = this.isInParty(species); // checks to see if the pokemon is a duplicate; if it is, returns the index that will be removed
|
||||
|
||||
const [isDupe, removeIndex]: [boolean, number] = this.isInParty(this.lastSpecies); // checks to see if the pokemon is a duplicate; if it is, returns the index that will be removed
|
||||
|
||||
const isPartyValid = this.isPartyValid();
|
||||
const isValidForChallenge = new Utils.BooleanHolder(true);
|
||||
|
||||
Challenge.applyChallenges(this.scene.gameMode, Challenge.ChallengeType.STARTER_CHOICE, species, isValidForChallenge, this.scene.gameData.getSpeciesDexAttrProps(species, this.getCurrentDexProps(species.speciesId)), isPartyValid);
|
||||
Challenge.applyChallenges(this.scene.gameMode, Challenge.ChallengeType.STARTER_CHOICE, this.lastSpecies, isValidForChallenge, this.scene.gameData.getSpeciesDexAttrProps(this.lastSpecies, this.getCurrentDexProps(this.lastSpecies.speciesId)), isPartyValid);
|
||||
|
||||
const currentPartyValue = this.starterSpecies.map(s => s.generation).reduce((total: number, gen: number, i: number) => total += this.scene.gameData.getSpeciesStarterValue(this.starterSpecies[i].speciesId), 0);
|
||||
const newCost = this.scene.gameData.getSpeciesStarterValue(species.speciesId);
|
||||
const newCost = this.scene.gameData.getSpeciesStarterValue(this.lastSpecies.speciesId);
|
||||
if (!isDupe && isValidForChallenge.value && currentPartyValue + newCost <= this.getValueLimit() && this.starterSpecies.length < 6) { // this checks to make sure the pokemon doesn't exist in your party, it's valid for the challenge and that it won't go over the cost limit; if it meets all these criteria it will add it to your party
|
||||
options = [
|
||||
{
|
||||
label: i18next.t("starterSelectUiHandler:addToParty"),
|
||||
handler: () => {
|
||||
ui.setMode(Mode.STARTER_SELECT);
|
||||
const isOverValueLimit = this.tryUpdateValue(this.scene.gameData.getSpeciesStarterValue(species.speciesId), true);
|
||||
const isOverValueLimit = this.tryUpdateValue(this.scene.gameData.getSpeciesStarterValue(this.lastSpecies.speciesId), true);
|
||||
if (!isDupe && isValidForChallenge.value && isOverValueLimit) {
|
||||
const cursorObj = this.starterCursorObjs[this.starterSpecies.length];
|
||||
cursorObj.setVisible(true);
|
||||
cursorObj.setPosition(this.cursorObj.x, this.cursorObj.y);
|
||||
this.addToParty(species, this.dexAttrCursor, this.abilityCursor, this.natureCursor as unknown as Nature, this.starterMoveset?.slice(0) as StarterMoveset);
|
||||
this.addToParty(this.lastSpecies, this.dexAttrCursor, this.abilityCursor, this.natureCursor as unknown as Nature, this.starterMoveset?.slice(0) as StarterMoveset);
|
||||
ui.playSelect();
|
||||
} else {
|
||||
ui.playError(); // this should be redundant as there is now a trigger for when a pokemon can't be added to party
|
||||
@ -1481,9 +1485,6 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
}
|
||||
});
|
||||
}
|
||||
const starterContainer = this.filteredStarterContainers[this.cursor];
|
||||
const starterData = this.scene.gameData.starterData[this.lastSpecies.speciesId];
|
||||
let starterAttributes = this.starterPreferences[this.lastSpecies.speciesId];
|
||||
if (this.canCycleNature) {
|
||||
// if we could cycle natures, enable the improved nature menu
|
||||
const showNatureOptions = () => {
|
||||
@ -1567,7 +1568,10 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
label: i18next.t("starterSelectUiHandler:addToFavorites"),
|
||||
handler: () => {
|
||||
starterAttributes.favorite = true;
|
||||
starterContainer.favoriteIcon.setVisible(starterAttributes.favorite);
|
||||
// if the starter container not exists, it means the species is not in the filtered starters
|
||||
if (starterContainer) {
|
||||
starterContainer.favoriteIcon.setVisible(starterAttributes.favorite);
|
||||
}
|
||||
ui.setMode(Mode.STARTER_SELECT);
|
||||
return true;
|
||||
}
|
||||
@ -1577,7 +1581,10 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
label: i18next.t("starterSelectUiHandler:removeFromFavorites"),
|
||||
handler: () => {
|
||||
starterAttributes.favorite = false;
|
||||
starterContainer.favoriteIcon.setVisible(starterAttributes.favorite);
|
||||
// if the starter container not exists, it means the species is not in the filtered starters
|
||||
if (starterContainer) {
|
||||
starterContainer.favoriteIcon.setVisible(starterAttributes.favorite);
|
||||
}
|
||||
ui.setMode(Mode.STARTER_SELECT);
|
||||
return true;
|
||||
}
|
||||
@ -1598,7 +1605,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
if (name.length > 0) {
|
||||
this.pokemonNameText.setText(name);
|
||||
} else {
|
||||
this.pokemonNameText.setText(species.name);
|
||||
this.pokemonNameText.setText(this.lastSpecies.name);
|
||||
}
|
||||
ui.setMode(Mode.STARTER_SELECT);
|
||||
},
|
||||
@ -1631,16 +1638,18 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
ui.setMode(Mode.STARTER_SELECT);
|
||||
this.setSpeciesDetails(this.lastSpecies, undefined, undefined, undefined, undefined, undefined, undefined);
|
||||
|
||||
// Update the candy upgrade display
|
||||
if (this.isUpgradeIconEnabled() ) {
|
||||
this.setUpgradeIcon(starterContainer);
|
||||
}
|
||||
if (this.isUpgradeAnimationEnabled()) {
|
||||
this.setUpgradeAnimation(starterContainer.icon, this.lastSpecies, true);
|
||||
}
|
||||
|
||||
starterContainer.starterPassiveBgs.setVisible(!!this.scene.gameData.starterData[this.lastSpecies.speciesId].passiveAttr);
|
||||
// if starterContainer exists, update the passive background
|
||||
if (starterContainer) {
|
||||
// Update the candy upgrade display
|
||||
if (this.isUpgradeIconEnabled() ) {
|
||||
this.setUpgradeIcon(starterContainer);
|
||||
}
|
||||
if (this.isUpgradeAnimationEnabled()) {
|
||||
this.setUpgradeAnimation(starterContainer.icon, this.lastSpecies, true);
|
||||
}
|
||||
|
||||
starterContainer.starterPassiveBgs.setVisible(!!this.scene.gameData.starterData[this.lastSpecies.speciesId].passiveAttr);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -1666,21 +1675,24 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
return this.scene.reset(true);
|
||||
}
|
||||
});
|
||||
this.updateStarterValueLabel(starterContainer);
|
||||
this.tryUpdateValue(0);
|
||||
ui.setMode(Mode.STARTER_SELECT);
|
||||
this.scene.playSound("buy");
|
||||
|
||||
// If the notification setting is set to 'On', update the candy upgrade display
|
||||
if (this.scene.candyUpgradeNotification === 2) {
|
||||
if (this.isUpgradeIconEnabled() ) {
|
||||
this.setUpgradeIcon(starterContainer);
|
||||
}
|
||||
if (this.isUpgradeAnimationEnabled()) {
|
||||
this.setUpgradeAnimation(starterContainer.icon, this.lastSpecies, true);
|
||||
// if starterContainer exists, update the value reduction background
|
||||
if (starterContainer) {
|
||||
this.updateStarterValueLabel(starterContainer);
|
||||
|
||||
// If the notification setting is set to 'On', update the candy upgrade display
|
||||
if (this.scene.candyUpgradeNotification === 2) {
|
||||
if (this.isUpgradeIconEnabled() ) {
|
||||
this.setUpgradeIcon(starterContainer);
|
||||
}
|
||||
if (this.isUpgradeAnimationEnabled()) {
|
||||
this.setUpgradeAnimation(starterContainer.icon, this.lastSpecies, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -1755,11 +1767,6 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
}
|
||||
} else {
|
||||
const props = this.scene.gameData.getSpeciesDexAttrProps(this.lastSpecies, this.getCurrentDexProps(this.lastSpecies.speciesId));
|
||||
// prepare persistent starter data to store changes
|
||||
let starterAttributes = this.starterPreferences[this.lastSpecies.speciesId];
|
||||
if (!starterAttributes) {
|
||||
starterAttributes = this.starterPreferences[this.lastSpecies.speciesId] = {};
|
||||
}
|
||||
switch (button) {
|
||||
case Button.CYCLE_SHINY:
|
||||
if (this.canCycleShiny) {
|
||||
@ -2962,10 +2969,12 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
|
||||
const isValidForChallenge = new Utils.BooleanHolder(true);
|
||||
Challenge.applyChallenges(this.scene.gameMode, Challenge.ChallengeType.STARTER_CHOICE, species, isValidForChallenge, this.scene.gameData.getSpeciesDexAttrProps(species, this.dexAttrCursor), !!this.starterSpecies.length);
|
||||
const currentFilteredContainer = this.filteredStarterContainers.find(p => p.species.speciesId === species.speciesId)!;
|
||||
const starterSprite = currentFilteredContainer.icon as Phaser.GameObjects.Sprite;
|
||||
starterSprite.setTexture(species.getIconAtlasKey(formIndex, shiny, variant), species.getIconId(female!, formIndex, shiny, variant));
|
||||
currentFilteredContainer.checkIconId(female, formIndex, shiny, variant);
|
||||
const currentFilteredContainer = this.filteredStarterContainers.find(p => p.species.speciesId === species.speciesId);
|
||||
if (currentFilteredContainer) {
|
||||
const starterSprite = currentFilteredContainer.icon as Phaser.GameObjects.Sprite;
|
||||
starterSprite.setTexture(species.getIconAtlasKey(formIndex, shiny, variant), species.getIconId(female!, formIndex, shiny, variant));
|
||||
currentFilteredContainer.checkIconId(female, formIndex, shiny, variant);
|
||||
}
|
||||
this.canCycleShiny = !!(dexEntry.caughtAttr & DexAttr.NON_SHINY && dexEntry.caughtAttr & DexAttr.SHINY);
|
||||
this.canCycleGender = !!(dexEntry.caughtAttr & DexAttr.MALE && dexEntry.caughtAttr & DexAttr.FEMALE);
|
||||
this.canCycleAbility = [ abilityAttr & AbilityAttr.ABILITY_1, (abilityAttr & AbilityAttr.ABILITY_2) && species.ability2, abilityAttr & AbilityAttr.ABILITY_HIDDEN ].filter(a => a).length > 1;
|
||||
|
Loading…
Reference in New Issue
Block a user