mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-06 16:32:16 +02:00
Merge branch 'beta' into MergeFix
This commit is contained in:
commit
f26d85674e
@ -1791,6 +1791,7 @@ export default class BattleScene extends SceneBase {
|
|||||||
config = config ?? {};
|
config = config ?? {};
|
||||||
try {
|
try {
|
||||||
const keyDetails = key.split("/");
|
const keyDetails = key.split("/");
|
||||||
|
config["volume"] = config["volume"] ?? 1;
|
||||||
switch (keyDetails[0]) {
|
switch (keyDetails[0]) {
|
||||||
case "level_up_fanfare":
|
case "level_up_fanfare":
|
||||||
case "item_fanfare":
|
case "item_fanfare":
|
||||||
@ -1800,11 +1801,11 @@ export default class BattleScene extends SceneBase {
|
|||||||
case "evolution_fanfare":
|
case "evolution_fanfare":
|
||||||
// These sounds are loaded in as BGM, but played as sound effects
|
// These sounds are loaded in as BGM, but played as sound effects
|
||||||
// When these sounds are updated in updateVolume(), they are treated as BGM however because they are placed in the BGM Cache through being called by playSoundWithoutBGM()
|
// When these sounds are updated in updateVolume(), they are treated as BGM however because they are placed in the BGM Cache through being called by playSoundWithoutBGM()
|
||||||
config["volume"] = this.masterVolume * this.bgmVolume;
|
config["volume"] *= (this.masterVolume * this.bgmVolume);
|
||||||
break;
|
break;
|
||||||
case "battle_anims":
|
case "battle_anims":
|
||||||
case "cry":
|
case "cry":
|
||||||
config["volume"] = this.masterVolume * this.fieldVolume;
|
config["volume"] *= (this.masterVolume * this.fieldVolume);
|
||||||
//PRSFX sound files are unusually loud
|
//PRSFX sound files are unusually loud
|
||||||
if (keyDetails[1].startsWith("PRSFX- ")) {
|
if (keyDetails[1].startsWith("PRSFX- ")) {
|
||||||
config["volume"] *= 0.5;
|
config["volume"] *= 0.5;
|
||||||
@ -1812,10 +1813,10 @@ export default class BattleScene extends SceneBase {
|
|||||||
break;
|
break;
|
||||||
case "ui":
|
case "ui":
|
||||||
//As of, right now this applies to the "select", "menu_open", "error" sound effects
|
//As of, right now this applies to the "select", "menu_open", "error" sound effects
|
||||||
config["volume"] = this.masterVolume * this.uiVolume;
|
config["volume"] *= (this.masterVolume * this.uiVolume);
|
||||||
break;
|
break;
|
||||||
case "se":
|
case "se":
|
||||||
config["volume"] = this.masterVolume * this.seVolume;
|
config["volume"] *= (this.masterVolume * this.seVolume);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
this.sound.play(key, config);
|
this.sound.play(key, config);
|
||||||
|
@ -848,7 +848,7 @@ export class PostDefendTerrainChangeAbAttr extends PostDefendAbAttr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class PostDefendContactApplyStatusEffectAbAttr extends PostDefendAbAttr {
|
export class PostDefendContactApplyStatusEffectAbAttr extends PostDefendAbAttr {
|
||||||
private chance: integer;
|
public chance: integer;
|
||||||
private effects: StatusEffect[];
|
private effects: StatusEffect[];
|
||||||
|
|
||||||
constructor(chance: integer, ...effects: StatusEffect[]) {
|
constructor(chance: integer, ...effects: StatusEffect[]) {
|
||||||
@ -3640,10 +3640,10 @@ export class PostDancingMoveAbAttr extends PostMoveUsedAbAttr {
|
|||||||
// If the move is an AttackMove or a StatusMove the Dancer must replicate the move on the source of the Dance
|
// If the move is an AttackMove or a StatusMove the Dancer must replicate the move on the source of the Dance
|
||||||
if (move.getMove() instanceof AttackMove || move.getMove() instanceof StatusMove) {
|
if (move.getMove() instanceof AttackMove || move.getMove() instanceof StatusMove) {
|
||||||
const target = this.getTarget(dancer, source, targets);
|
const target = this.getTarget(dancer, source, targets);
|
||||||
dancer.scene.unshiftPhase(new MovePhase(dancer.scene, dancer, target, move, true));
|
dancer.scene.unshiftPhase(new MovePhase(dancer.scene, dancer, target, move, true, true));
|
||||||
} else if (move.getMove() instanceof SelfStatusMove) {
|
} else if (move.getMove() instanceof SelfStatusMove) {
|
||||||
// If the move is a SelfStatusMove (ie. Swords Dance) the Dancer should replicate it on itself
|
// If the move is a SelfStatusMove (ie. Swords Dance) the Dancer should replicate it on itself
|
||||||
dancer.scene.unshiftPhase(new MovePhase(dancer.scene, dancer, [dancer.getBattlerIndex()], move, true));
|
dancer.scene.unshiftPhase(new MovePhase(dancer.scene, dancer, [dancer.getBattlerIndex()], move, true, true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -905,6 +905,21 @@ class HappyHourTag extends ArenaTag {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class SafeguardTag extends ArenaTag {
|
||||||
|
constructor(turnCount: integer, sourceId: integer, side: ArenaTagSide) {
|
||||||
|
super(ArenaTagType.SAFEGUARD, turnCount, Moves.SAFEGUARD, sourceId, side);
|
||||||
|
}
|
||||||
|
|
||||||
|
onAdd(arena: Arena): void {
|
||||||
|
arena.scene.queueMessage(i18next.t(`arenaTag:safeguardOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
|
||||||
|
}
|
||||||
|
|
||||||
|
onRemove(arena: Arena): void {
|
||||||
|
arena.scene.queueMessage(i18next.t(`arenaTag:safeguardOnRemove${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export function getArenaTag(tagType: ArenaTagType, turnCount: integer, sourceMove: Moves | undefined, sourceId: integer, targetIndex?: BattlerIndex, side: ArenaTagSide = ArenaTagSide.BOTH): ArenaTag | null {
|
export function getArenaTag(tagType: ArenaTagType, turnCount: integer, sourceMove: Moves | undefined, sourceId: integer, targetIndex?: BattlerIndex, side: ArenaTagSide = ArenaTagSide.BOTH): ArenaTag | null {
|
||||||
switch (tagType) {
|
switch (tagType) {
|
||||||
case ArenaTagType.MIST:
|
case ArenaTagType.MIST:
|
||||||
@ -950,6 +965,8 @@ export function getArenaTag(tagType: ArenaTagType, turnCount: integer, sourceMov
|
|||||||
return new TailwindTag(turnCount, sourceId, side);
|
return new TailwindTag(turnCount, sourceId, side);
|
||||||
case ArenaTagType.HAPPY_HOUR:
|
case ArenaTagType.HAPPY_HOUR:
|
||||||
return new HappyHourTag(turnCount, sourceId, side);
|
return new HappyHourTag(turnCount, sourceId, side);
|
||||||
|
case ArenaTagType.SAFEGUARD:
|
||||||
|
return new SafeguardTag(turnCount, sourceId, side);
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -767,7 +767,7 @@ export class OctolockTag extends TrappedTag {
|
|||||||
const shouldLapse = lapseType !== BattlerTagLapseType.CUSTOM || super.lapse(pokemon, lapseType);
|
const shouldLapse = lapseType !== BattlerTagLapseType.CUSTOM || super.lapse(pokemon, lapseType);
|
||||||
|
|
||||||
if (shouldLapse) {
|
if (shouldLapse) {
|
||||||
pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [BattleStat.DEF, BattleStat.SPDEF], -1));
|
pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), false, [BattleStat.DEF, BattleStat.SPDEF], -1));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1954,6 +1954,12 @@ export class StatusEffectAttr extends MoveEffectAttr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (user !== target && target.scene.arena.getTagOnSide(ArenaTagType.SAFEGUARD, target.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY)) {
|
||||||
|
if (move.category === MoveCategory.STATUS) {
|
||||||
|
user.scene.queueMessage(i18next.t("moveTriggers:safeguard", { targetName: getPokemonNameWithAffix(target)}));
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if ((!pokemon.status || (pokemon.status.effect === this.effect && moveChance < 0))
|
if ((!pokemon.status || (pokemon.status.effect === this.effect && moveChance < 0))
|
||||||
&& pokemon.checkIfCanSetStatus(this.effect, false, false, user) && pokemon.trySetStatus(this.effect, true, user, this.cureTurn)) {
|
&& pokemon.checkIfCanSetStatus(this.effect, false, false, user) && pokemon.trySetStatus(this.effect, true, user, this.cureTurn)) {
|
||||||
applyPostAttackAbAttrs(ConfusionOnStatusEffectAbAttr, user, target, move, null, false, this.effect);
|
applyPostAttackAbAttrs(ConfusionOnStatusEffectAbAttr, user, target, move, null, false, this.effect);
|
||||||
@ -4660,6 +4666,17 @@ export class ConfuseAttr extends AddBattlerTagAttr {
|
|||||||
constructor(selfTarget?: boolean) {
|
constructor(selfTarget?: boolean) {
|
||||||
super(BattlerTagType.CONFUSED, selfTarget, false, 2, 5);
|
super(BattlerTagType.CONFUSED, selfTarget, false, 2, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||||
|
if (!this.selfTarget && target.scene.arena.getTagOnSide(ArenaTagType.SAFEGUARD, target.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY)) {
|
||||||
|
if (move.category === MoveCategory.STATUS) {
|
||||||
|
user.scene.queueMessage(i18next.t("moveTriggers:safeguard", { targetName: getPokemonNameWithAffix(target)}));
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.apply(user, target, move, args);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class RechargeAttr extends AddBattlerTagAttr {
|
export class RechargeAttr extends AddBattlerTagAttr {
|
||||||
@ -7015,7 +7032,7 @@ export function initMoves() {
|
|||||||
.attr(FriendshipPowerAttr, true),
|
.attr(FriendshipPowerAttr, true),
|
||||||
new StatusMove(Moves.SAFEGUARD, Type.NORMAL, -1, 25, -1, 0, 2)
|
new StatusMove(Moves.SAFEGUARD, Type.NORMAL, -1, 25, -1, 0, 2)
|
||||||
.target(MoveTarget.USER_SIDE)
|
.target(MoveTarget.USER_SIDE)
|
||||||
.unimplemented(),
|
.attr(AddArenaTagAttr, ArenaTagType.SAFEGUARD, 5, true, true),
|
||||||
new StatusMove(Moves.PAIN_SPLIT, Type.NORMAL, -1, 20, -1, 0, 2)
|
new StatusMove(Moves.PAIN_SPLIT, Type.NORMAL, -1, 20, -1, 0, 2)
|
||||||
.attr(HpSplitAttr)
|
.attr(HpSplitAttr)
|
||||||
.condition(failOnBossCondition),
|
.condition(failOnBossCondition),
|
||||||
@ -7204,7 +7221,7 @@ export function initMoves() {
|
|||||||
.attr(RemoveScreensAttr),
|
.attr(RemoveScreensAttr),
|
||||||
new StatusMove(Moves.YAWN, Type.NORMAL, -1, 10, -1, 0, 3)
|
new StatusMove(Moves.YAWN, Type.NORMAL, -1, 10, -1, 0, 3)
|
||||||
.attr(AddBattlerTagAttr, BattlerTagType.DROWSY, false, true)
|
.attr(AddBattlerTagAttr, BattlerTagType.DROWSY, false, true)
|
||||||
.condition((user, target, move) => !target.status),
|
.condition((user, target, move) => !target.status && !target.scene.arena.getTagOnSide(ArenaTagType.SAFEGUARD, target.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY)),
|
||||||
new AttackMove(Moves.KNOCK_OFF, Type.DARK, MoveCategory.PHYSICAL, 65, 100, 20, -1, 0, 3)
|
new AttackMove(Moves.KNOCK_OFF, Type.DARK, MoveCategory.PHYSICAL, 65, 100, 20, -1, 0, 3)
|
||||||
.attr(MovePowerMultiplierAttr, (user, target, move) => target.getHeldItems().filter(i => i.isTransferrable).length > 0 ? 1.5 : 1)
|
.attr(MovePowerMultiplierAttr, (user, target, move) => target.getHeldItems().filter(i => i.isTransferrable).length > 0 ? 1.5 : 1)
|
||||||
.attr(RemoveHeldItemAttr, false),
|
.attr(RemoveHeldItemAttr, false),
|
||||||
|
@ -22,5 +22,6 @@ export enum ArenaTagType {
|
|||||||
CRAFTY_SHIELD = "CRAFTY_SHIELD",
|
CRAFTY_SHIELD = "CRAFTY_SHIELD",
|
||||||
TAILWIND = "TAILWIND",
|
TAILWIND = "TAILWIND",
|
||||||
HAPPY_HOUR = "HAPPY_HOUR",
|
HAPPY_HOUR = "HAPPY_HOUR",
|
||||||
|
SAFEGUARD = "SAFEGUARD",
|
||||||
NO_CRIT = "NO_CRIT"
|
NO_CRIT = "NO_CRIT"
|
||||||
}
|
}
|
||||||
|
@ -133,9 +133,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
this.scene.applyModifiers(HiddenAbilityRateBoosterModifier, true, hiddenAbilityChance);
|
this.scene.applyModifiers(HiddenAbilityRateBoosterModifier, true, hiddenAbilityChance);
|
||||||
}
|
}
|
||||||
|
|
||||||
const hasHiddenAbility = !Utils.randSeedInt(hiddenAbilityChance.value);
|
|
||||||
const randAbilityIndex = Utils.randSeedInt(2);
|
|
||||||
|
|
||||||
this.species = species;
|
this.species = species;
|
||||||
this.pokeball = dataSource?.pokeball || PokeballType.POKEBALL;
|
this.pokeball = dataSource?.pokeball || PokeballType.POKEBALL;
|
||||||
this.level = level;
|
this.level = level;
|
||||||
@ -146,6 +143,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
this.abilityIndex = abilityIndex; // Use the provided ability index if it is defined
|
this.abilityIndex = abilityIndex; // Use the provided ability index if it is defined
|
||||||
} else {
|
} else {
|
||||||
// If abilityIndex is not provided, determine it based on species and hidden ability
|
// If abilityIndex is not provided, determine it based on species and hidden ability
|
||||||
|
const hasHiddenAbility = !Utils.randSeedInt(hiddenAbilityChance.value);
|
||||||
|
const randAbilityIndex = Utils.randSeedInt(2);
|
||||||
if (species.abilityHidden && hasHiddenAbility) {
|
if (species.abilityHidden && hasHiddenAbility) {
|
||||||
// If the species has a hidden ability and the hidden ability is present
|
// If the species has a hidden ability and the hidden ability is present
|
||||||
this.abilityIndex = 2;
|
this.abilityIndex = 2;
|
||||||
@ -1526,13 +1525,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function that tries to set a Pokemon shiny based on the trainer's trainer ID and secret ID
|
* Function that tries to set a Pokemon shiny based on the trainer's trainer ID and secret ID.
|
||||||
* Endless Pokemon in the end biome are unable to be set to shiny
|
* Endless Pokemon in the end biome are unable to be set to shiny
|
||||||
*
|
*
|
||||||
* The exact mechanic is that it calculates E as the XOR of the player's trainer ID and secret ID
|
* The exact mechanic is that it calculates E as the XOR of the player's trainer ID and secret ID.
|
||||||
* F is calculated as the XOR of the first 16 bits of the Pokemon's ID with the last 16 bits
|
* F is calculated as the XOR of the first 16 bits of the Pokemon's ID with the last 16 bits.
|
||||||
* The XOR of E and F are then compared to the thresholdOverride (default case 32) to see whether or not to generate a shiny
|
* The XOR of E and F are then compared to the {@linkcode shinyThreshold} (or {@linkcode thresholdOverride} if set) to see whether or not to generate a shiny.
|
||||||
* @param thresholdOverride number that is divided by 2^16 (65536) to get the shiny chance
|
* The base shiny odds are {@linkcode baseShinyChance} / 65536
|
||||||
|
* @param thresholdOverride number that is divided by 2^16 (65536) to get the shiny chance, overrides {@linkcode shinyThreshold} if set (bypassing shiny rate modifiers such as Shiny Charm)
|
||||||
* @returns true if the Pokemon has been set as a shiny, false otherwise
|
* @returns true if the Pokemon has been set as a shiny, false otherwise
|
||||||
*/
|
*/
|
||||||
trySetShiny(thresholdOverride?: integer): boolean {
|
trySetShiny(thresholdOverride?: integer): boolean {
|
||||||
@ -1547,7 +1547,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
const E = this.scene.gameData.trainerId ^ this.scene.gameData.secretId;
|
const E = this.scene.gameData.trainerId ^ this.scene.gameData.secretId;
|
||||||
const F = rand1 ^ rand2;
|
const F = rand1 ^ rand2;
|
||||||
|
|
||||||
const shinyThreshold = new Utils.IntegerHolder(32);
|
/** `64/65536 -> 1/1024` */
|
||||||
|
const baseShinyChance = 64;
|
||||||
|
const shinyThreshold = new Utils.IntegerHolder(baseShinyChance);
|
||||||
if (thresholdOverride === undefined) {
|
if (thresholdOverride === undefined) {
|
||||||
if (this.scene.eventManager.isEventActive()) {
|
if (this.scene.eventManager.isEventActive()) {
|
||||||
shinyThreshold.value *= this.scene.eventManager.getShinyMultiplier();
|
shinyThreshold.value *= this.scene.eventManager.getShinyMultiplier();
|
||||||
@ -1560,9 +1562,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.shiny = (E ^ F) < shinyThreshold.value;
|
this.shiny = (E ^ F) < shinyThreshold.value;
|
||||||
if ((E ^ F) < 32) {
|
|
||||||
console.log("REAL SHINY!!");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.shiny) {
|
if (this.shiny) {
|
||||||
this.initShinySparkle();
|
this.initShinySparkle();
|
||||||
@ -2808,6 +2807,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||||||
|
|
||||||
const types = this.getTypes(true, true);
|
const types = this.getTypes(true, true);
|
||||||
|
|
||||||
|
const defendingSide = this.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY;
|
||||||
|
if (sourcePokemon && sourcePokemon !== this && this.scene.arena.getTagOnSide(ArenaTagType.SAFEGUARD, defendingSide)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
switch (effect) {
|
switch (effect) {
|
||||||
case StatusEffect.POISON:
|
case StatusEffect.POISON:
|
||||||
case StatusEffect.TOXIC:
|
case StatusEffect.TOXIC:
|
||||||
|
@ -47,5 +47,11 @@
|
|||||||
"tailwindOnRemovePlayer": "Der Rückenwind auf deiner Seite hat sich gelegt!",
|
"tailwindOnRemovePlayer": "Der Rückenwind auf deiner Seite hat sich gelegt!",
|
||||||
"tailwindOnRemoveEnemy": "Der Rückenwind auf gegnerischer Seite hat sich gelegt!",
|
"tailwindOnRemoveEnemy": "Der Rückenwind auf gegnerischer Seite hat sich gelegt!",
|
||||||
"happyHourOnAdd": "Goldene Zeiten sind angebrochen!",
|
"happyHourOnAdd": "Goldene Zeiten sind angebrochen!",
|
||||||
"happyHourOnRemove": "Die goldenen Zeiten sind vorbei!"
|
"happyHourOnRemove": "Die goldenen Zeiten sind vorbei!",
|
||||||
|
"safeguardOnAdd": "Das ganze Feld wird von einem Schleier umhüllt!",
|
||||||
|
"safeguardOnAddPlayer": "Das Team des Anwenders wird von einem Schleier umhüllt!",
|
||||||
|
"safeguardOnAddEnemy": "Das gegnerische Team wird von einem Schleier umhüllt!",
|
||||||
|
"safeguardOnRemove": "Der mystische Schleier, der das ganze Feld umgab, hat sich gelüftet!",
|
||||||
|
"safeguardOnRemovePlayer": "Der mystische Schleier, der dein Team umgab, hat sich gelüftet!",
|
||||||
|
"safeguardOnRemoveEnemy": "Der mystische Schleier, der das gegnerische Team umgab, hat sich gelüftet!"
|
||||||
}
|
}
|
@ -61,5 +61,6 @@
|
|||||||
"suppressAbilities": "Die Fähigkeit von {{pokemonName}} wirkt nicht mehr!",
|
"suppressAbilities": "Die Fähigkeit von {{pokemonName}} wirkt nicht mehr!",
|
||||||
"revivalBlessing": "{{pokemonName}} ist wieder fit und kampfbereit!",
|
"revivalBlessing": "{{pokemonName}} ist wieder fit und kampfbereit!",
|
||||||
"swapArenaTags": "{{pokemonName}} hat die Effekte, die auf den beiden Seiten des Kampffeldes wirken, miteinander getauscht!",
|
"swapArenaTags": "{{pokemonName}} hat die Effekte, die auf den beiden Seiten des Kampffeldes wirken, miteinander getauscht!",
|
||||||
"exposedMove": "{{pokemonName}} erkennt {{targetPokemonName}}!"
|
"exposedMove": "{{pokemonName}} erkennt {{targetPokemonName}}!",
|
||||||
|
"safeguard": "{{targetName}} wird durch Bodyguard geschützt!"
|
||||||
}
|
}
|
@ -209,7 +209,7 @@
|
|||||||
},
|
},
|
||||||
"pickup": {
|
"pickup": {
|
||||||
"name": "Recogida",
|
"name": "Recogida",
|
||||||
"description": "Puede recoger objetos que otros Pokémon hayan usado, o bien aquellos que encuentre en plena aventura."
|
"description": "Puede que recoja un objeto del enemigo tras cada batalla, al azar."
|
||||||
},
|
},
|
||||||
"truant": {
|
"truant": {
|
||||||
"name": "Pereza",
|
"name": "Pereza",
|
||||||
@ -217,7 +217,7 @@
|
|||||||
},
|
},
|
||||||
"hustle": {
|
"hustle": {
|
||||||
"name": "Entusiasmo",
|
"name": "Entusiasmo",
|
||||||
"description": "Aumenta su Ataque, pero reduce su Precisión."
|
"description": "Aumenta su ataque, pero reduce su precisión."
|
||||||
},
|
},
|
||||||
"cuteCharm": {
|
"cuteCharm": {
|
||||||
"name": "Gran Encanto",
|
"name": "Gran Encanto",
|
||||||
@ -225,11 +225,11 @@
|
|||||||
},
|
},
|
||||||
"plus": {
|
"plus": {
|
||||||
"name": "Más",
|
"name": "Más",
|
||||||
"description": "Aumenta su Ataque Especial si un Pokémon aliado tiene la habilidad Más o la habilidad Menos."
|
"description": "Aumenta su ataque especial si un Pokémon aliado tiene la habilidad Más o la habilidad Menos."
|
||||||
},
|
},
|
||||||
"minus": {
|
"minus": {
|
||||||
"name": "Menos",
|
"name": "Menos",
|
||||||
"description": "Aumenta su Ataque Especial si un Pokémon aliado tiene la habilidad Más o la habilidad Menos."
|
"description": "Aumenta su ataque especial si un Pokémon aliado tiene la habilidad Más o la habilidad Menos."
|
||||||
},
|
},
|
||||||
"forecast": {
|
"forecast": {
|
||||||
"name": "Predicción",
|
"name": "Predicción",
|
||||||
@ -245,11 +245,11 @@
|
|||||||
},
|
},
|
||||||
"guts": {
|
"guts": {
|
||||||
"name": "Agallas",
|
"name": "Agallas",
|
||||||
"description": "Si sufre un problema de estado, se arma de valor y aumenta su Ataque."
|
"description": "Si sufre un problema de estado, se arma de valor y aumenta su ataque."
|
||||||
},
|
},
|
||||||
"marvelScale": {
|
"marvelScale": {
|
||||||
"name": "Escama Especial",
|
"name": "Escama Especial",
|
||||||
"description": "Si sufre un problema de estado, sus escamas especiales reaccionan y aumenta su Defensa."
|
"description": "Si sufre un problema de estado, sus escamas especiales reaccionan y aumenta su defensa."
|
||||||
},
|
},
|
||||||
"liquidOoze": {
|
"liquidOoze": {
|
||||||
"name": "Viscosecreción",
|
"name": "Viscosecreción",
|
||||||
@ -305,11 +305,11 @@
|
|||||||
},
|
},
|
||||||
"tangledFeet": {
|
"tangledFeet": {
|
||||||
"name": "Tumbos",
|
"name": "Tumbos",
|
||||||
"description": "Aumenta su Evasión si está confuso."
|
"description": "Aumenta su evasión si está confuso."
|
||||||
},
|
},
|
||||||
"motorDrive": {
|
"motorDrive": {
|
||||||
"name": "Electromotor",
|
"name": "Electromotor",
|
||||||
"description": "Si lo alcanza un movimiento de tipo Eléctrico, aumenta su Velocidad en vez de sufrir daño."
|
"description": "Si lo alcanza un movimiento de tipo Eléctrico, aumenta su velocidad en vez de sufrir daño."
|
||||||
},
|
},
|
||||||
"rivalry": {
|
"rivalry": {
|
||||||
"name": "Rivalidad",
|
"name": "Rivalidad",
|
||||||
@ -317,11 +317,11 @@
|
|||||||
},
|
},
|
||||||
"steadfast": {
|
"steadfast": {
|
||||||
"name": "Impasible",
|
"name": "Impasible",
|
||||||
"description": "Cada vez que se amedrenta, aumenta su Velocidad debido a su voluntad inquebrantable."
|
"description": "Cada vez que se amedrenta, aumenta su velocidad debido a su voluntad inquebrantable."
|
||||||
},
|
},
|
||||||
"snowCloak": {
|
"snowCloak": {
|
||||||
"name": "Manto Níveo",
|
"name": "Manto Níveo",
|
||||||
"description": "Aumenta su Evasión cuando nieva."
|
"description": "Aumenta su evasión cuando nieva."
|
||||||
},
|
},
|
||||||
"gluttony": {
|
"gluttony": {
|
||||||
"name": "Gula",
|
"name": "Gula",
|
||||||
@ -329,11 +329,11 @@
|
|||||||
},
|
},
|
||||||
"angerPoint": {
|
"angerPoint": {
|
||||||
"name": "Irascible",
|
"name": "Irascible",
|
||||||
"description": "Si recibe un golpe crítico, monta en cólera y su Ataque aumenta al máximo."
|
"description": "Si recibe un golpe crítico, monta en cólera y su ataque aumenta al máximo."
|
||||||
},
|
},
|
||||||
"unburden": {
|
"unburden": {
|
||||||
"name": "Liviano",
|
"name": "Liviano",
|
||||||
"description": "Aumenta su Velocidad si usa o pierde el objeto que lleva."
|
"description": "Aumenta su velocidad si usa o pierde el objeto que lleva."
|
||||||
},
|
},
|
||||||
"heatproof": {
|
"heatproof": {
|
||||||
"name": "Ignífugo",
|
"name": "Ignífugo",
|
||||||
@ -349,7 +349,7 @@
|
|||||||
},
|
},
|
||||||
"download": {
|
"download": {
|
||||||
"name": "Descarga",
|
"name": "Descarga",
|
||||||
"description": "Compara la Defensa y la Defensa Especial del rival para ver cuál es inferior y aumenta su propio Ataque o Ataque Especial según sea lo más eficaz."
|
"description": "Compara la defensa y la defensa especial del rival para ver cuál es inferior y aumenta su propio ataque o ataque especial según sea lo más eficaz."
|
||||||
},
|
},
|
||||||
"ironFist": {
|
"ironFist": {
|
||||||
"name": "Puño Férreo",
|
"name": "Puño Férreo",
|
||||||
@ -373,11 +373,11 @@
|
|||||||
},
|
},
|
||||||
"solarPower": {
|
"solarPower": {
|
||||||
"name": "Poder Solar",
|
"name": "Poder Solar",
|
||||||
"description": "Si hace sol, aumenta su Ataque Especial, pero pierde PS en cada turno."
|
"description": "Si hace sol, aumenta su ataque especial, pero pierde PS en cada turno."
|
||||||
},
|
},
|
||||||
"quickFeet": {
|
"quickFeet": {
|
||||||
"name": "Pies Rápidos",
|
"name": "Pies Rápidos",
|
||||||
"description": "Aumenta su Velocidad si sufre problemas de estado."
|
"description": "Aumenta su velocidad si sufre problemas de estado."
|
||||||
},
|
},
|
||||||
"normalize": {
|
"normalize": {
|
||||||
"name": "Normalidad",
|
"name": "Normalidad",
|
||||||
@ -445,7 +445,7 @@
|
|||||||
},
|
},
|
||||||
"slowStart": {
|
"slowStart": {
|
||||||
"name": "Inicio Lento",
|
"name": "Inicio Lento",
|
||||||
"description": "Reduce a la mitad su Ataque y su Velocidad durante cinco turnos."
|
"description": "Reduce a la mitad su ataque y su velocidad durante cinco turnos."
|
||||||
},
|
},
|
||||||
"scrappy": {
|
"scrappy": {
|
||||||
"name": "Intrépido",
|
"name": "Intrépido",
|
||||||
@ -453,7 +453,7 @@
|
|||||||
},
|
},
|
||||||
"stormDrain": {
|
"stormDrain": {
|
||||||
"name": "Colector",
|
"name": "Colector",
|
||||||
"description": "Atrae y neutraliza los movimientos de tipo Agua, que además le aumentan el Ataque Especial."
|
"description": "Atrae y neutraliza los movimientos de tipo Agua, que además le aumentan el ataque especial."
|
||||||
},
|
},
|
||||||
"iceBody": {
|
"iceBody": {
|
||||||
"name": "Gélido",
|
"name": "Gélido",
|
||||||
@ -469,7 +469,7 @@
|
|||||||
},
|
},
|
||||||
"honeyGather": {
|
"honeyGather": {
|
||||||
"name": "Recogemiel",
|
"name": "Recogemiel",
|
||||||
"description": "The Pokémon gathers Honey after a battle. The Honey is then sold for money."
|
"description": "El Pokémon recoge miel tras cada batalla. La miel se vende inmediatamente por ₽."
|
||||||
},
|
},
|
||||||
"frisk": {
|
"frisk": {
|
||||||
"name": "Cacheo",
|
"name": "Cacheo",
|
||||||
@ -485,7 +485,7 @@
|
|||||||
},
|
},
|
||||||
"flowerGift": {
|
"flowerGift": {
|
||||||
"name": "Don Floral",
|
"name": "Don Floral",
|
||||||
"description": "Si hace sol, aumenta su Ataque y su Defensa Especial, así como los de sus aliados."
|
"description": "Si hace sol, aumenta su ataque y su defensa Especial, así como los de sus aliados."
|
||||||
},
|
},
|
||||||
"badDreams": {
|
"badDreams": {
|
||||||
"name": "Mal Sueño",
|
"name": "Mal Sueño",
|
||||||
@ -509,11 +509,11 @@
|
|||||||
},
|
},
|
||||||
"defiant": {
|
"defiant": {
|
||||||
"name": "Competitivo",
|
"name": "Competitivo",
|
||||||
"description": "Aumenta mucho su Ataque cuando el rival le reduce cualquiera de sus características."
|
"description": "Aumenta mucho su ataque cuando el rival le reduce cualquiera de sus características."
|
||||||
},
|
},
|
||||||
"defeatist": {
|
"defeatist": {
|
||||||
"name": "Flaqueza",
|
"name": "Flaqueza",
|
||||||
"description": "Cuando sus PS se ven reducidos a la mitad, se cansa tanto que su Ataque y su Ataque Especial también se ven reducidos a la mitad."
|
"description": "Cuando sus PS se ven reducidos a la mitad, se cansa tanto que su ataque y su ataque Especial también se ven reducidos a la mitad."
|
||||||
},
|
},
|
||||||
"cursedBody": {
|
"cursedBody": {
|
||||||
"name": "Cuerpo Maldito",
|
"name": "Cuerpo Maldito",
|
||||||
@ -529,7 +529,7 @@
|
|||||||
},
|
},
|
||||||
"weakArmor": {
|
"weakArmor": {
|
||||||
"name": "Armadura Frágil",
|
"name": "Armadura Frágil",
|
||||||
"description": "Al recibir daño de un ataque físico, se reduce su Defensa, pero aumenta mucho su Velocidad."
|
"description": "Al recibir daño de un ataque físico, se reduce su defensa, pero aumenta mucho su velocidad."
|
||||||
},
|
},
|
||||||
"heavyMetal": {
|
"heavyMetal": {
|
||||||
"name": "Metal Pesado",
|
"name": "Metal Pesado",
|
||||||
@ -577,11 +577,11 @@
|
|||||||
},
|
},
|
||||||
"bigPecks": {
|
"bigPecks": {
|
||||||
"name": "Sacapecho",
|
"name": "Sacapecho",
|
||||||
"description": "Impide que otros Pokémon le reduzcan la Defensa."
|
"description": "Impide que otros Pokémon le reduzcan la defensa."
|
||||||
},
|
},
|
||||||
"sandRush": {
|
"sandRush": {
|
||||||
"name": "Ímpetu Arena",
|
"name": "Ímpetu Arena",
|
||||||
"description": "Aumenta su Velocidad durante las tormentas de arena."
|
"description": "Aumenta su velocidad durante las tormentas de arena."
|
||||||
},
|
},
|
||||||
"wonderSkin": {
|
"wonderSkin": {
|
||||||
"name": "Piel Milagro",
|
"name": "Piel Milagro",
|
||||||
@ -609,15 +609,15 @@
|
|||||||
},
|
},
|
||||||
"moxie": {
|
"moxie": {
|
||||||
"name": "Autoestima",
|
"name": "Autoestima",
|
||||||
"description": "Al debilitar a un objetivo, su confianza se refuerza de tal manera que aumenta su Ataque."
|
"description": "Al debilitar a un objetivo, su confianza se refuerza de tal manera que aumenta su ataque."
|
||||||
},
|
},
|
||||||
"justified": {
|
"justified": {
|
||||||
"name": "Justiciero",
|
"name": "Justiciero",
|
||||||
"description": "Si lo alcanza un movimiento de tipo Siniestro, aumenta el Ataque debido a su integridad."
|
"description": "Si lo alcanza un movimiento de tipo Siniestro, aumenta el ataque debido a su integridad."
|
||||||
},
|
},
|
||||||
"rattled": {
|
"rattled": {
|
||||||
"name": "Cobardía",
|
"name": "Cobardía",
|
||||||
"description": "Si lo alcanza un ataque de tipo Siniestro, Bicho o Fantasma, o si sufre los efectos de Intimidación, el miedo hace que aumente su Velocidad."
|
"description": "Si lo alcanza un ataque de tipo Siniestro, Bicho o Fantasma, o si sufre los efectos de Intimidación, el miedo hace que aumente su velocidad."
|
||||||
},
|
},
|
||||||
"magicBounce": {
|
"magicBounce": {
|
||||||
"name": "Espejo Mágico",
|
"name": "Espejo Mágico",
|
||||||
@ -625,7 +625,7 @@
|
|||||||
},
|
},
|
||||||
"sapSipper": {
|
"sapSipper": {
|
||||||
"name": "Herbívoro",
|
"name": "Herbívoro",
|
||||||
"description": "Si lo alcanza un movimiento de tipo Planta, aumenta su Ataque en vez de sufrir daño."
|
"description": "Si lo alcanza un movimiento de tipo Planta, aumenta su ataque en vez de sufrir daño."
|
||||||
},
|
},
|
||||||
"prankster": {
|
"prankster": {
|
||||||
"name": "Bromista",
|
"name": "Bromista",
|
||||||
@ -645,7 +645,7 @@
|
|||||||
},
|
},
|
||||||
"victoryStar": {
|
"victoryStar": {
|
||||||
"name": "Tinovictoria",
|
"name": "Tinovictoria",
|
||||||
"description": "Aumenta su Precisión y la de sus aliados."
|
"description": "Aumenta su precisión y la de sus aliados."
|
||||||
},
|
},
|
||||||
"turboblaze": {
|
"turboblaze": {
|
||||||
"name": "Turbollama",
|
"name": "Turbollama",
|
||||||
@ -685,7 +685,7 @@
|
|||||||
},
|
},
|
||||||
"competitive": {
|
"competitive": {
|
||||||
"name": "Tenacidad",
|
"name": "Tenacidad",
|
||||||
"description": "Aumenta mucho su Ataque Especial cuando el rival le reduce cualquiera de sus características."
|
"description": "Aumenta mucho su ataque especial cuando el rival le reduce cualquiera de sus características."
|
||||||
},
|
},
|
||||||
"strongJaw": {
|
"strongJaw": {
|
||||||
"name": "Mandíbula Fuerte",
|
"name": "Mandíbula Fuerte",
|
||||||
@ -713,7 +713,7 @@
|
|||||||
},
|
},
|
||||||
"grassPelt": {
|
"grassPelt": {
|
||||||
"name": "Manto Frondoso",
|
"name": "Manto Frondoso",
|
||||||
"description": "Aumenta su Defensa si hay un campo de hierba en el terreno de combate."
|
"description": "Aumenta su defensa si hay un campo de hierba en el terreno de combate."
|
||||||
},
|
},
|
||||||
"symbiosis": {
|
"symbiosis": {
|
||||||
"name": "Simbiosis",
|
"name": "Simbiosis",
|
||||||
@ -729,7 +729,7 @@
|
|||||||
},
|
},
|
||||||
"gooey": {
|
"gooey": {
|
||||||
"name": "Baba",
|
"name": "Baba",
|
||||||
"description": "Reduce la Velocidad del Pokémon que lo ataque con un movimiento de contacto."
|
"description": "Reduce la velocidad del Pokémon que lo ataque con un movimiento de contacto."
|
||||||
},
|
},
|
||||||
"aerilate": {
|
"aerilate": {
|
||||||
"name": "Piel Celeste",
|
"name": "Piel Celeste",
|
||||||
@ -765,7 +765,7 @@
|
|||||||
},
|
},
|
||||||
"stamina": {
|
"stamina": {
|
||||||
"name": "Firmeza",
|
"name": "Firmeza",
|
||||||
"description": "Aumenta su Defensa al recibir un ataque."
|
"description": "Aumenta su defensa al recibir un ataque."
|
||||||
},
|
},
|
||||||
"wimpOut": {
|
"wimpOut": {
|
||||||
"name": "Huida",
|
"name": "Huida",
|
||||||
@ -777,7 +777,7 @@
|
|||||||
},
|
},
|
||||||
"waterCompaction": {
|
"waterCompaction": {
|
||||||
"name": "Hidrorrefuerzo",
|
"name": "Hidrorrefuerzo",
|
||||||
"description": "Aumenta mucho su Defensa si lo alcanza un movimiento de tipo Agua."
|
"description": "Aumenta mucho su defensa si lo alcanza un movimiento de tipo Agua."
|
||||||
},
|
},
|
||||||
"merciless": {
|
"merciless": {
|
||||||
"name": "Ensañamiento",
|
"name": "Ensañamiento",
|
||||||
@ -801,11 +801,11 @@
|
|||||||
},
|
},
|
||||||
"berserk": {
|
"berserk": {
|
||||||
"name": "Cólera",
|
"name": "Cólera",
|
||||||
"description": "Aumenta su Ataque Especial si sus PS se ven reducidos a la mitad debido a algún ataque."
|
"description": "Aumenta su ataque especial si sus PS se ven reducidos a la mitad debido a algún ataque."
|
||||||
},
|
},
|
||||||
"slushRush": {
|
"slushRush": {
|
||||||
"name": "Quitanieves",
|
"name": "Quitanieves",
|
||||||
"description": "Aumenta su Velocidad cuando nieva."
|
"description": "Aumenta su velocidad cuando nieva."
|
||||||
},
|
},
|
||||||
"longReach": {
|
"longReach": {
|
||||||
"name": "Remoto",
|
"name": "Remoto",
|
||||||
@ -825,7 +825,7 @@
|
|||||||
},
|
},
|
||||||
"surgeSurfer": {
|
"surgeSurfer": {
|
||||||
"name": "Cola Surf",
|
"name": "Cola Surf",
|
||||||
"description": "Duplica su Velocidad si hay un campo eléctrico en el terreno de combate."
|
"description": "Duplica su velocidad si hay un campo eléctrico en el terreno de combate."
|
||||||
},
|
},
|
||||||
"schooling": {
|
"schooling": {
|
||||||
"name": "Banco",
|
"name": "Banco",
|
||||||
@ -837,7 +837,7 @@
|
|||||||
},
|
},
|
||||||
"battleBond": {
|
"battleBond": {
|
||||||
"name": "Fuerte Afecto",
|
"name": "Fuerte Afecto",
|
||||||
"description": "Al derrotar a un Pokémon, los vínculos con su Entrenador se refuerzan y aumentan su Ataque, su Ataque Especial y su Velocidad."
|
"description": "Al derrotar a un Pokémon, los vínculos con su Entrenador se refuerzan y aumentan su ataque, su ataque especial y su velocidad."
|
||||||
},
|
},
|
||||||
"powerConstruct": {
|
"powerConstruct": {
|
||||||
"name": "Agrupamiento",
|
"name": "Agrupamiento",
|
||||||
@ -877,11 +877,11 @@
|
|||||||
},
|
},
|
||||||
"soulHeart": {
|
"soulHeart": {
|
||||||
"name": "Coránima",
|
"name": "Coránima",
|
||||||
"description": "Aumenta su Ataque Especial cada vez que un Pokémon cae debilitado."
|
"description": "Aumenta su ataque especial cada vez que un Pokémon cae debilitado."
|
||||||
},
|
},
|
||||||
"tanglingHair": {
|
"tanglingHair": {
|
||||||
"name": "Rizos Rebeldes",
|
"name": "Rizos Rebeldes",
|
||||||
"description": "Reduce la Velocidad del Pokémon que lo ataque con un movimiento de contacto."
|
"description": "Reduce la velocidad del Pokémon que lo ataque con un movimiento de contacto."
|
||||||
},
|
},
|
||||||
"receiver": {
|
"receiver": {
|
||||||
"name": "Receptor",
|
"name": "Receptor",
|
||||||
@ -933,11 +933,11 @@
|
|||||||
},
|
},
|
||||||
"intrepidSword": {
|
"intrepidSword": {
|
||||||
"name": "Espada Indómita",
|
"name": "Espada Indómita",
|
||||||
"description": "Aumenta su Ataque al entrar en combate por primera vez."
|
"description": "Aumenta su ataque al entrar en combate por primera vez."
|
||||||
},
|
},
|
||||||
"dauntlessShield": {
|
"dauntlessShield": {
|
||||||
"name": "Escudo Recio",
|
"name": "Escudo Recio",
|
||||||
"description": "Aumenta su Defensa al entrar en combate por primera vez."
|
"description": "Aumenta su defensa al entrar en combate por primera vez."
|
||||||
},
|
},
|
||||||
"libero": {
|
"libero": {
|
||||||
"name": "Líbero",
|
"name": "Líbero",
|
||||||
@ -945,11 +945,11 @@
|
|||||||
},
|
},
|
||||||
"ballFetch": {
|
"ballFetch": {
|
||||||
"name": "Recogebolas",
|
"name": "Recogebolas",
|
||||||
"description": "Si no lleva equipado ningún objeto, recupera la Poké Ball del primer intento de captura fallido."
|
"description": "Recupera la Poké Ball del primer intento de captura fallido."
|
||||||
},
|
},
|
||||||
"cottonDown": {
|
"cottonDown": {
|
||||||
"name": "Pelusa",
|
"name": "Pelusa",
|
||||||
"description": "Al ser alcanzado por un ataque, suelta una pelusa de algodón que reduce la Velocidad de todos los demás Pokémon."
|
"description": "Al ser alcanzado por un ataque, suelta una pelusa de algodón que reduce la velocidad de todos los demás Pokémon."
|
||||||
},
|
},
|
||||||
"propellerTail": {
|
"propellerTail": {
|
||||||
"name": "Hélice Caudal",
|
"name": "Hélice Caudal",
|
||||||
@ -969,7 +969,7 @@
|
|||||||
},
|
},
|
||||||
"steamEngine": {
|
"steamEngine": {
|
||||||
"name": "Combustible",
|
"name": "Combustible",
|
||||||
"description": "Si lo alcanza un movimiento de tipo Fuego o Agua, aumenta muchísimo su Velocidad."
|
"description": "Si lo alcanza un movimiento de tipo Fuego o Agua, aumenta muchísimo su velocidad."
|
||||||
},
|
},
|
||||||
"punkRock": {
|
"punkRock": {
|
||||||
"name": "Punk Rock",
|
"name": "Punk Rock",
|
||||||
@ -1017,7 +1017,7 @@
|
|||||||
},
|
},
|
||||||
"gorillaTactics": {
|
"gorillaTactics": {
|
||||||
"name": "Monotema",
|
"name": "Monotema",
|
||||||
"description": "Aumenta su Ataque, pero solo puede usar el primer movimiento escogido."
|
"description": "Aumenta su ataque, pero solo puede usar el primer movimiento escogido."
|
||||||
},
|
},
|
||||||
"neutralizingGas": {
|
"neutralizingGas": {
|
||||||
"name": "Gas Reactivo",
|
"name": "Gas Reactivo",
|
||||||
@ -1053,11 +1053,11 @@
|
|||||||
},
|
},
|
||||||
"chillingNeigh": {
|
"chillingNeigh": {
|
||||||
"name": "Relincho Blanco",
|
"name": "Relincho Blanco",
|
||||||
"description": "Al derrotar a un objetivo, emite un relincho gélido y aumenta su Ataque."
|
"description": "Al derrotar a un objetivo, emite un relincho gélido y aumenta su ataque."
|
||||||
},
|
},
|
||||||
"grimNeigh": {
|
"grimNeigh": {
|
||||||
"name": "Relincho Negro",
|
"name": "Relincho Negro",
|
||||||
"description": "Al derrotar a un objetivo, emite un relincho aterrador y aumenta su Ataque Especial."
|
"description": "Al derrotar a un objetivo, emite un relincho aterrador y aumenta su ataque especial."
|
||||||
},
|
},
|
||||||
"asOneGlastrier": {
|
"asOneGlastrier": {
|
||||||
"name": "Unidad Ecuestre",
|
"name": "Unidad Ecuestre",
|
||||||
@ -1077,11 +1077,11 @@
|
|||||||
},
|
},
|
||||||
"thermalExchange": {
|
"thermalExchange": {
|
||||||
"name": "Termoconversión",
|
"name": "Termoconversión",
|
||||||
"description": "Evita las quemaduras y, si lo alcanza un movimiento de tipo Fuego, aumenta su Ataque."
|
"description": "Evita las quemaduras y, si lo alcanza un movimiento de tipo Fuego, aumenta su ataque."
|
||||||
},
|
},
|
||||||
"angerShell": {
|
"angerShell": {
|
||||||
"name": "Coraza Ira",
|
"name": "Coraza Ira",
|
||||||
"description": "Cuando un ataque reduce sus PS a la mitad, un arrebato de cólera reduce su Defensa y su Defensa Especial, pero aumenta su Ataque, su Ataque Especial y su Velocidad."
|
"description": "Cuando un ataque reduce sus PS a la mitad, un arrebato de cólera reduce su defensa y su defensa especial, pero aumenta su ataque, su ataque especial y su velocidad."
|
||||||
},
|
},
|
||||||
"purifyingSalt": {
|
"purifyingSalt": {
|
||||||
"name": "Sal Purificadora",
|
"name": "Sal Purificadora",
|
||||||
@ -1089,15 +1089,15 @@
|
|||||||
},
|
},
|
||||||
"wellBakedBody": {
|
"wellBakedBody": {
|
||||||
"name": "Cuerpo Horneado",
|
"name": "Cuerpo Horneado",
|
||||||
"description": "Si lo alcanza un movimiento de tipo Fuego, aumenta mucho su Defensa en vez de sufrir daño."
|
"description": "Si lo alcanza un movimiento de tipo Fuego, aumenta mucho su defensa en vez de sufrir daño."
|
||||||
},
|
},
|
||||||
"windRider": {
|
"windRider": {
|
||||||
"name": "Surcavientos",
|
"name": "Surcavientos",
|
||||||
"description": "Si sopla un Viento Afín o lo alcanza un movimiento que usa viento, aumenta su Ataque. Tampoco recibe daño de este último."
|
"description": "Si sopla un Viento Afín o lo alcanza un movimiento que usa viento, aumenta su ataque. Tampoco recibe daño de este último."
|
||||||
},
|
},
|
||||||
"guardDog": {
|
"guardDog": {
|
||||||
"name": "Perro Guardián",
|
"name": "Perro Guardián",
|
||||||
"description": "Aumenta su Ataque si sufre los efectos de Intimidación. También anula movimientos y objetos que fuercen el cambio de Pokémon."
|
"description": "Aumenta su ataque si sufre los efectos de Intimidación. También anula movimientos y objetos que fuercen el cambio de Pokémon."
|
||||||
},
|
},
|
||||||
"rockyPayload": {
|
"rockyPayload": {
|
||||||
"name": "Transportarrocas",
|
"name": "Transportarrocas",
|
||||||
@ -1133,27 +1133,27 @@
|
|||||||
},
|
},
|
||||||
"vesselOfRuin": {
|
"vesselOfRuin": {
|
||||||
"name": "Caldero Debacle",
|
"name": "Caldero Debacle",
|
||||||
"description": "Reduce el Ataque Especial de todos los demás Pokémon con el poder de su caldero maldito."
|
"description": "Reduce el ataque especial de todos los demás Pokémon con el poder de su caldero maldito."
|
||||||
},
|
},
|
||||||
"swordOfRuin": {
|
"swordOfRuin": {
|
||||||
"name": "Espada Debacle",
|
"name": "Espada Debacle",
|
||||||
"description": "Reduce la Defensa de todos los demás Pokémon con el poder de su espada maldita."
|
"description": "Reduce la defensa de todos los demás Pokémon con el poder de su espada maldita."
|
||||||
},
|
},
|
||||||
"tabletsOfRuin": {
|
"tabletsOfRuin": {
|
||||||
"name": "Tablilla Debacle",
|
"name": "Tablilla Debacle",
|
||||||
"description": "Reduce el Ataque de todos los demás Pokémon con el poder de sus tablillas malditas."
|
"description": "Reduce el ataque de todos los demás Pokémon con el poder de sus tablillas malditas."
|
||||||
},
|
},
|
||||||
"beadsOfRuin": {
|
"beadsOfRuin": {
|
||||||
"name": "Abalorio Debacle",
|
"name": "Abalorio Debacle",
|
||||||
"description": "Reduce la Defensa Especial de todos los demás Pokémon con el poder de sus abalorios malditos."
|
"description": "Reduce la defensa especial de todos los demás Pokémon con el poder de sus abalorios malditos."
|
||||||
},
|
},
|
||||||
"orichalcumPulse": {
|
"orichalcumPulse": {
|
||||||
"name": "Latido Oricalco",
|
"name": "Latido Oricalco",
|
||||||
"description": "El tiempo pasa a ser soleado cuando entra en combate. Si hace mucho sol, su Ataque aumenta gracias a su pulso primigenio."
|
"description": "El tiempo pasa a ser soleado cuando entra en combate. Si hace mucho sol, su ataque aumenta gracias a su pulso primigenio."
|
||||||
},
|
},
|
||||||
"hadronEngine": {
|
"hadronEngine": {
|
||||||
"name": "Motor Hadrónico",
|
"name": "Motor Hadrónico",
|
||||||
"description": "Crea un campo eléctrico al entrar en combate. Si hay un campo eléctrico, su Ataque Especial aumenta gracias a su motor futurista."
|
"description": "Crea un campo eléctrico al entrar en combate. Si hay un campo eléctrico, su ataque especial aumenta gracias a su motor futurista."
|
||||||
},
|
},
|
||||||
"opportunist": {
|
"opportunist": {
|
||||||
"name": "Oportunista",
|
"name": "Oportunista",
|
||||||
@ -1169,7 +1169,7 @@
|
|||||||
},
|
},
|
||||||
"supremeOverlord": {
|
"supremeOverlord": {
|
||||||
"name": "General Supremo",
|
"name": "General Supremo",
|
||||||
"description": "Al entrar en combate, su Ataque y su Ataque Especial aumentan un poco por cada miembro del equipo que haya sido derrotado hasta el momento."
|
"description": "Al entrar en combate, su ataque y su ataque especial aumentan un poco por cada miembro del equipo que haya sido derrotado hasta el momento."
|
||||||
},
|
},
|
||||||
"costar": {
|
"costar": {
|
||||||
"name": "Unísono",
|
"name": "Unísono",
|
||||||
@ -1193,11 +1193,11 @@
|
|||||||
},
|
},
|
||||||
"mindsEye": {
|
"mindsEye": {
|
||||||
"name": "Ojo Mental",
|
"name": "Ojo Mental",
|
||||||
"description": "Alcanza a Pokémon de tipo Fantasma con movimientos de tipo Normal o Lucha. Su Precisión no se puede reducir e ignora los cambios en la Evasión del objetivo."
|
"description": "Alcanza a Pokémon de tipo Fantasma con movimientos de tipo Normal o Lucha. Su precisión no se puede reducir e ignora los cambios en la evasión del objetivo."
|
||||||
},
|
},
|
||||||
"supersweetSyrup": {
|
"supersweetSyrup": {
|
||||||
"name": "Néctar Dulce",
|
"name": "Néctar Dulce",
|
||||||
"description": "Al entrar en combate por primera vez, esparce un aroma dulzón a néctar que reduce la Evasión del rival."
|
"description": "Al entrar en combate por primera vez, esparce un aroma dulzón a néctar que reduce la evasión del rival."
|
||||||
},
|
},
|
||||||
"hospitality": {
|
"hospitality": {
|
||||||
"name": "Hospitalidad",
|
"name": "Hospitalidad",
|
||||||
@ -1209,19 +1209,19 @@
|
|||||||
},
|
},
|
||||||
"embodyAspectTeal": {
|
"embodyAspectTeal": {
|
||||||
"name": "Evocarrecuerdos",
|
"name": "Evocarrecuerdos",
|
||||||
"description": "Al evocar viejos recuerdos, el Pokémon hace brillar la Máscara Cimiento y aumenta su Defensa."
|
"description": "Al evocar viejos recuerdos, el Pokémon hace brillar la máscara turquesa y aumenta su velocidad."
|
||||||
},
|
},
|
||||||
"embodyAspectWellspring": {
|
"embodyAspectWellspring": {
|
||||||
"name": "Evocarrecuerdos",
|
"name": "Evocarrecuerdos",
|
||||||
"description": "Al evocar viejos recuerdos, el Pokémon hace brillar la Máscara Cimiento y aumenta su Defensa."
|
"description": "Al evocar viejos recuerdos, el Pokémon hace brillar la máscara fuente y aumenta su defensa especial."
|
||||||
},
|
},
|
||||||
"embodyAspectHearthflame": {
|
"embodyAspectHearthflame": {
|
||||||
"name": "Evocarrecuerdos",
|
"name": "Evocarrecuerdos",
|
||||||
"description": "Al evocar viejos recuerdos, el Pokémon hace brillar la Máscara Cimiento y aumenta su Defensa."
|
"description": "Al evocar viejos recuerdos, el Pokémon hace brillar la máscara horno y aumenta su ataque."
|
||||||
},
|
},
|
||||||
"embodyAspectCornerstone": {
|
"embodyAspectCornerstone": {
|
||||||
"name": "Evocarrecuerdos",
|
"name": "Evocarrecuerdos",
|
||||||
"description": "Al evocar viejos recuerdos, el Pokémon hace brillar la Máscara Cimiento y aumenta su Defensa."
|
"description": "Al evocar viejos recuerdos, el Pokémon hace brillar la máscara cimiento y aumenta su defensa."
|
||||||
},
|
},
|
||||||
"teraShift": {
|
"teraShift": {
|
||||||
"name": "Teracambio",
|
"name": "Teracambio",
|
||||||
|
@ -1 +1,8 @@
|
|||||||
{}
|
{
|
||||||
|
"safeguardOnAdd": "¡Todos los Pokémon están protegidos por Velo Sagrado!",
|
||||||
|
"safeguardOnAddPlayer": "¡Tu equipo se ha protegido con Velo Sagrado!",
|
||||||
|
"safeguardOnAddEnemy": "¡El equipo enemigo se ha protegido con Velo Sagrado!",
|
||||||
|
"safeguardOnRemove": "¡Velo Sagrado dejó de hacer efecto!",
|
||||||
|
"safeguardOnRemovePlayer": "El efecto de Velo Sagrado en tu equipo se ha disipado.",
|
||||||
|
"safeguardOnRemoveEnemy": "El efecto de Velo Sagrado en el equipo enemigo se ha disipado."
|
||||||
|
}
|
@ -1,95 +1,99 @@
|
|||||||
{
|
{
|
||||||
"music": "Música: ",
|
"music": "Música: ",
|
||||||
"missing_entries": "{{name}}",
|
"missing_entries": "{{name}}",
|
||||||
"battle_kanto_champion": "B2W2 - ¡Vs Campeón de Kanto!",
|
"battle_kanto_champion": "B2W2 - ¡Vs. Campeón de Kanto!",
|
||||||
"battle_johto_champion": "B2W2 - ¡Vs Campeón de Johto!",
|
"battle_johto_champion": "B2W2 - ¡Vs. Campeón de Johto!",
|
||||||
"battle_hoenn_champion_g5": "B2W2 - ¡Vs Campeón de Hoenn!",
|
"battle_hoenn_champion_g5": "B2W2 - ¡Vs. Campeón de Hoenn!",
|
||||||
"battle_hoenn_champion_g6": "ORAS - ¡Vs Campeón de Hoenn!",
|
"battle_hoenn_champion_g6": "ORAS - ¡Vs. Campeón de Hoenn!",
|
||||||
"battle_sinnoh_champion": "B2W2 - ¡Vs Campeón de Sinnoh!",
|
"battle_sinnoh_champion": "B2W2 - ¡Vs. Campeón de Sinnoh!",
|
||||||
"battle_champion_alder": "BW - ¡Vs Campeón de Teselia!",
|
"battle_champion_alder": "BW - ¡Vs. Campeón de Teselia!",
|
||||||
"battle_champion_iris": "B2W2 - ¡Vs Campeón de Teselia!",
|
"battle_champion_iris": "B2W2 - ¡Vs. Campeón de Teselia!",
|
||||||
"battle_kalos_champion": "XY - ¡Vs Campeón de Kalos!",
|
"battle_kalos_champion": "XY - ¡Vs. Campeón de Kalos!",
|
||||||
"battle_alola_champion": "USUM - ¡Vs Campeón de Alola!",
|
"battle_alola_champion": "USUM - ¡Vs. Campeón de Alola!",
|
||||||
"battle_galar_champion": "SWSH - ¡Vs Campeón de Galar!",
|
"battle_galar_champion": "SWSH - ¡Vs. Campeón de Galar!",
|
||||||
"battle_champion_geeta": "SV - ¡Vs Campeona Ságita!",
|
"battle_champion_geeta": "SV - ¡Vs. Campeona Ságita!",
|
||||||
"battle_champion_nemona": "SV - ¡Vs Campeona Mencía!",
|
"battle_champion_nemona": "SV - ¡Vs. Campeona Mencía!",
|
||||||
"battle_champion_kieran": "SV - ¡Vs Campeón Cass!",
|
"battle_champion_kieran": "SV - ¡Vs. Campeón Cass!",
|
||||||
"battle_hoenn_elite": "ORAS - ¡Vs Alto Mando!",
|
"battle_hoenn_elite": "ORAS - ¡Vs. Alto Mando!",
|
||||||
"battle_unova_elite": "BW - ¡Vs Alto Mando!",
|
"battle_unova_elite": "BW - ¡Vs. Alto Mando!",
|
||||||
"battle_kalos_elite": "XY - ¡Vs Alto Mando!",
|
"battle_kalos_elite": "XY - ¡Vs. Alto Mando!",
|
||||||
"battle_alola_elite": "SM - ¡Vs Alto Mando!",
|
"battle_alola_elite": "SM - ¡Vs. Alto Mando!",
|
||||||
"battle_galar_elite": "SWSH - Torneo de Finalistas",
|
"battle_galar_elite": "SWSH - Torneo de finalistas",
|
||||||
"battle_paldea_elite": "SV - ¡Vs Alto Mando!",
|
"battle_paldea_elite": "SV - ¡Vs. Alto Mando!",
|
||||||
"battle_bb_elite": "SV - ¡Vs Alto Mando de la Academia Arándano!",
|
"battle_bb_elite": "SV - ¡Vs. Alto Mando de la Academia Arándano!",
|
||||||
"battle_final_encounter": "PMD RTDX - Dominio de Rayquaza",
|
"battle_final_encounter": "PMD RTDX - Dominio de Rayquaza",
|
||||||
"battle_final": "BW - ¡Vs Ghechis!",
|
"battle_final": "BW - ¡Vs. Ghechis!",
|
||||||
"battle_kanto_gym": "B2W2 - ¡Vs Líder de Kanto!",
|
"battle_kanto_gym": "B2W2 - ¡Vs. Líder de Kanto!",
|
||||||
"battle_johto_gym": "B2W2 - ¡Vs Líder de Johto!",
|
"battle_johto_gym": "B2W2 - ¡Vs. Líder de Johto!",
|
||||||
"battle_hoenn_gym": "B2W2 - ¡Vs Líder de Hoenn!",
|
"battle_hoenn_gym": "B2W2 - ¡Vs. Líder de Hoenn!",
|
||||||
"battle_sinnoh_gym": "B2W2 - ¡Vs Líder de Sinnoh!",
|
"battle_sinnoh_gym": "B2W2 - ¡Vs. Líder de Sinnoh!",
|
||||||
"battle_unova_gym": "BW - ¡Vs Líder de Teselia!",
|
"battle_unova_gym": "BW - ¡Vs. Líder de Teselia!",
|
||||||
"battle_kalos_gym": "XY - ¡Vs Líder de Kalos!",
|
"battle_kalos_gym": "XY - ¡Vs. Líder de Kalos!",
|
||||||
"battle_galar_gym": "SWSH - ¡Vs Líder de Galar!",
|
"battle_galar_gym": "SWSH - ¡Vs. Líder de Galar!",
|
||||||
"battle_paldea_gym": "SV - ¡Vs Líder de Paldea!",
|
"battle_paldea_gym": "SV - ¡Vs. Líder de Paldea!",
|
||||||
"battle_legendary_kanto": "XY - ¡Vs Legendarios de Kanto!",
|
"battle_legendary_kanto": "XY - ¡Vs. Legendarios de Kanto!",
|
||||||
"battle_legendary_raikou": "HGSS - ¡Vs Raikou!",
|
"battle_legendary_raikou": "HGSS - ¡Vs. Raikou!",
|
||||||
"battle_legendary_entei": "HGSS - ¡Vs Entei!",
|
"battle_legendary_entei": "HGSS - ¡Vs. Entei!",
|
||||||
"battle_legendary_suicune": "HGSS - ¡Vs Suicune!",
|
"battle_legendary_suicune": "HGSS - ¡Vs. Suicune!",
|
||||||
"battle_legendary_lugia": "HGSS - ¡Vs Lugia!",
|
"battle_legendary_lugia": "HGSS - ¡Vs. Lugia!",
|
||||||
"battle_legendary_ho_oh": "HGSS - ¡Vs Ho-oh!",
|
"battle_legendary_ho_oh": "HGSS - ¡Vs. Ho-oh!",
|
||||||
"battle_legendary_regis_g5": "B2W2 - ¡Vs Regis!",
|
"battle_legendary_regis_g5": "B2W2 - ¡Vs. Regis!",
|
||||||
"battle_legendary_regis_g6": "ORAS - ¡Vs Regis!",
|
"battle_legendary_regis_g6": "ORAS - ¡Vs. Regis!",
|
||||||
"battle_legendary_gro_kyo": "ORAS - ¡Vs Groudon/Kyogre!",
|
"battle_legendary_gro_kyo": "ORAS - ¡Vs. Groudon/Kyogre!",
|
||||||
"battle_legendary_rayquaza": "ORAS - ¡Vs Rayquaza!",
|
"battle_legendary_rayquaza": "ORAS - ¡Vs. Rayquaza!",
|
||||||
"battle_legendary_deoxys": "ORAS - ¡Vs Deoxys!",
|
"battle_legendary_deoxys": "ORAS - ¡Vs. Deoxys!",
|
||||||
"battle_legendary_lake_trio": "ORAS - ¡Vs Trío del Lago!",
|
"battle_legendary_lake_trio": "ORAS - ¡Vs. trío del Lago!",
|
||||||
"battle_legendary_sinnoh": "ORAS - ¡Vs Legendarios de Sinnoh!",
|
"battle_legendary_sinnoh": "ORAS - ¡Vs. legendarios de Sinnoh!",
|
||||||
"battle_legendary_dia_pal": "ORAS - ¡Vs Dialga/Palkia!",
|
"battle_legendary_dia_pal": "ORAS - ¡Vs. Dialga/Palkia!",
|
||||||
"battle_legendary_giratina": "ORAS - ¡Vs Giratina!",
|
"battle_legendary_origin_forme": "LA - ¡Vs. Dialga & Palkia, Forma Origen!",
|
||||||
"battle_legendary_arceus": "HGSS - ¡Vs Arceus!",
|
"battle_legendary_giratina": "ORAS - ¡Vs. Giratina!",
|
||||||
"battle_legendary_unova": "BW - ¡Vs Legendarios de Teselia!",
|
"battle_legendary_arceus": "HGSS - ¡Vs. Arceus!",
|
||||||
"battle_legendary_kyurem": "BW - ¡Vs Kyurem!",
|
"battle_legendary_unova": "BW - ¡Vs. legendarios de Teselia!",
|
||||||
"battle_legendary_res_zek": "BW - ¡Vs Reshiram/Zekrom!",
|
"battle_legendary_kyurem": "BW - ¡Vs. Kyurem!",
|
||||||
"battle_legendary_xern_yvel": "XY - ¡Vs Xerneas/Yveltal!",
|
"battle_legendary_res_zek": "BW - ¡Vs. Reshiram/Zekrom!",
|
||||||
"battle_legendary_tapu": "SM - ¡Vs Tapus!",
|
"battle_legendary_xern_yvel": "XY - ¡Vs. Xerneas/Yveltal!",
|
||||||
"battle_legendary_sol_lun": "SM - ¡Vs Solgaleo/Lunala!",
|
"battle_legendary_tapu": "SM - ¡Vs. Tapus!",
|
||||||
"battle_legendary_ub": "SM - ¡Vs Ultraentes!",
|
"battle_legendary_sol_lun": "SM - ¡Vs. Solgaleo/Lunala!",
|
||||||
"battle_legendary_dusk_dawn": "USUM - ¡Vs Necrozma Melena Crepuscular/Alas del Alba!",
|
"battle_legendary_ub": "SM - ¡Vs. Ultraentes!",
|
||||||
"battle_legendary_ultra_nec": "USUM - ¡Vs Ultra-Necrozma!",
|
"battle_legendary_dusk_dawn": "USUM - ¡Vs. Necrozma Melena Crepuscular/Alas del Alba!",
|
||||||
"battle_legendary_zac_zam": "SWSH - ¡Vs Zacian/Zamazenta!",
|
"battle_legendary_ultra_nec": "USUM - ¡Vs. Ultra-Necrozma!",
|
||||||
"battle_legendary_glas_spec": "SWSH - ¡Vs Glastrier/Spectrier!",
|
"battle_legendary_zac_zam": "SWSH - ¡Vs. Zacian/Zamazenta!",
|
||||||
"battle_legendary_calyrex": "SWSH - ¡Vs Calyrex!",
|
"battle_legendary_glas_spec": "SWSH - ¡Vs. Glastrier/Spectrier!",
|
||||||
"battle_legendary_birds_galar": "SWSH - ¡Vs Aves Legendarias de Galar!",
|
"battle_legendary_calyrex": "SWSH - ¡Vs. Calyrex!",
|
||||||
"battle_legendary_ruinous": "SV - ¡Vs Tesoros Funestos!",
|
"battle_legendary_riders": "SWSH - ¡Vs. Calyrex Jinete!",
|
||||||
"battle_legendary_kor_mir": "SV Depths of Area Zero Battle",
|
"battle_legendary_birds_galar": "SWSH - ¡Vs. Aves Legendarias de Galar!",
|
||||||
"battle_legendary_loyal_three": "SV - ¡Vs Compatrones!",
|
"battle_legendary_ruinous": "SV - ¡Vs. Tesoros Funestos!",
|
||||||
"battle_legendary_ogerpon": "SV - ¡Vs Ogerpon!",
|
"battle_legendary_kor_mir": "SV - ¡Batalla en el área Zero!",
|
||||||
"battle_legendary_terapagos": "SV - ¡Vs Terapagos!",
|
"battle_legendary_loyal_three": "SV - ¡Vs. Compatrones!",
|
||||||
"battle_legendary_pecharunt": "SV - ¡Vs Pecharunt!",
|
"battle_legendary_ogerpon": "SV - ¡Vs. Ogerpon!",
|
||||||
"battle_rival": "BW - ¡Vs Rival!",
|
"battle_legendary_terapagos": "SV - ¡Vs. Terapagos!",
|
||||||
|
"battle_legendary_pecharunt": "SV - ¡Vs. Pecharunt!",
|
||||||
|
"battle_rival": "BW - ¡Vs. Rival!",
|
||||||
"battle_rival_2": "BW - ¡Vs N!",
|
"battle_rival_2": "BW - ¡Vs N!",
|
||||||
"battle_rival_3": "BW - ¡Vs N (Liga Pokémon)!",
|
"battle_rival_3": "BW - ¡Vs. N (Liga Pokémon)!",
|
||||||
"battle_trainer": "BW - ¡Vs Entrenador!",
|
"battle_trainer": "BW - ¡Vs. entrenador!",
|
||||||
"battle_wild": "BW - ¡Vs Pokémon Salvaje!",
|
"battle_wild": "BW - ¡Vs. Pokémon salvaje!",
|
||||||
"battle_wild_strong": "BW - ¡Vs Pokémon Salvaje Raro!",
|
"battle_wild_strong": "BW - ¡Vs. Pokémon salvaje raro!",
|
||||||
"end_summit": "PMD RTDX - Techo del Cielo",
|
"end_summit": "PMD RTDX - Techo del cielo",
|
||||||
"battle_rocket_grunt": "HGSS Team Rocket Battle",
|
"battle_rocket_grunt": "HGSS - ¡Vs. Team Rocket!",
|
||||||
"battle_aqua_magma_grunt": "ORAS Team Aqua & Magma Battle",
|
"battle_aqua_magma_grunt": "ORAS - ¡Vs. Equipo Aqua & Magma!",
|
||||||
"battle_galactic_grunt": "BDSP Team Galactic Battle",
|
"battle_galactic_grunt": "BDSP - ¡Vs. Equipo Galaxia!",
|
||||||
"battle_plasma_grunt": "BW - ¡Vs Equipo Plasma!",
|
"battle_plasma_grunt": "BW - ¡Vs Equipo Plasma!",
|
||||||
"battle_flare_grunt": "XY Team Flare Battle",
|
"battle_flare_grunt": "XY - ¡Vs. Team Flare!",
|
||||||
"battle_aether_grunt": "SM Aether Foundation Battle",
|
"battle_aether_grunt": "SM - ¡Vs. Fundación Æther!",
|
||||||
"battle_skull_grunt": "SM Team Skull Battle",
|
"battle_skull_grunt": "SM - ¡Vs. Team Skull!",
|
||||||
"battle_macro_grunt": "SWSH Trainer Battle",
|
"battle_macro_grunt": "SWSH - ¡Vs. entrenador!",
|
||||||
"battle_galactic_admin": "BDSP Team Galactic Admin Battle",
|
"battle_galactic_admin": "BDSP - ¡Vs. Comandante del Equipo Galaxia!",
|
||||||
"battle_skull_admin": "SM Team Skull Admin Battle",
|
"battle_skull_admin": "SM - ¡Vs. Comandante del Team Skull!",
|
||||||
"battle_oleana": "SWSH Oleana Battle",
|
"battle_oleana": "SWSH - ¡Vs. Olivia!",
|
||||||
"battle_rocket_boss": "USUM Giovanni Battle",
|
"battle_rocket_boss": "USUM - ¡Vs. Giovanni!",
|
||||||
"battle_aqua_magma_boss": "ORAS Archie & Maxie Battle",
|
"battle_aqua_magma_boss": "ORAS - ¡Vs. Aquiles & Magno!",
|
||||||
"battle_galactic_boss": "BDSP Cyrus Battle",
|
"battle_galactic_boss": "BDSP - ¡Vs. Helio!",
|
||||||
"battle_plasma_boss": "B2W2 Ghetsis Battle",
|
"battle_plasma_boss": "B2W2 - ¡Vs. Ghechis Armonia!",
|
||||||
"battle_flare_boss": "XY Lysandre Battle",
|
"battle_flare_boss": "XY - ¡Vs. Lysson!",
|
||||||
|
"battle_aether_boss": "SM - ¡Vs. Samina!",
|
||||||
|
"battle_skull_boss": "SM - ¡Vs. Guzmán!",
|
||||||
|
"battle_macro_boss": "SWSH - ¡Vs. Rose!",
|
||||||
"abyss": "PMD EoS - Cráter Oscuro",
|
"abyss": "PMD EoS - Cráter Oscuro",
|
||||||
"badlands": "PMD EoS - Valle Desolado",
|
"badlands": "PMD EoS - Valle Desolado",
|
||||||
"beach": "PMD EoS - Risco Calado",
|
"beach": "PMD EoS - Risco Calado",
|
||||||
@ -105,40 +109,40 @@
|
|||||||
"graveyard": "PMD EoS - Bosque Misterio",
|
"graveyard": "PMD EoS - Bosque Misterio",
|
||||||
"ice_cave": "PMD EoS - Gran Iceberg",
|
"ice_cave": "PMD EoS - Gran Iceberg",
|
||||||
"island": "PMD EoS - Costa Escarpada",
|
"island": "PMD EoS - Costa Escarpada",
|
||||||
"jungle": "Lmz - Jungle",
|
"jungle": "Lmz - Jungla",
|
||||||
"laboratory": "Firel - Laboratory",
|
"laboratory": "Firel - Laboratorio",
|
||||||
"lake": "PMD EoS - Cueva Cristal",
|
"lake": "PMD EoS - Cueva Cristal",
|
||||||
"meadow": "PMD EoS - Bosque de la Cumbre del Cielo",
|
"meadow": "PMD EoS - Bosque de la Cumbre del Cielo",
|
||||||
"metropolis": "Firel - Metropolis",
|
"metropolis": "Firel - Metrópolis",
|
||||||
"mountain": "PMD EoS - Monte Cuerno",
|
"mountain": "PMD EoS - Monte Cuerno",
|
||||||
"plains": "PMD EoS - Pradera de la Cumbre del Cielo",
|
"plains": "PMD EoS - Pradera de la Cumbre del Cielo",
|
||||||
"power_plant": "PMD EoS - Pradera Destello",
|
"power_plant": "PMD EoS - Pradera Destello",
|
||||||
"ruins": "PMD EoS - Sima Hermética",
|
"ruins": "PMD EoS - Sima Hermética",
|
||||||
"sea": "Andr06 - Marine Mystique",
|
"sea": "Andr06 - Misticismo marino",
|
||||||
"seabed": "Firel - Seabed",
|
"seabed": "Firel - Lecho del mar",
|
||||||
"slum": "Andr06 - Sneaky Snom",
|
"slum": "Andr06 - Snom sigiloso",
|
||||||
"snowy_forest": "PMD EoS - Campo nevado de la Cumbre del Cielo",
|
"snowy_forest": "PMD EoS - Campo nevado de la Cumbre del Cielo",
|
||||||
"space": "Firel - Aether",
|
"space": "Firel - Æther ",
|
||||||
"swamp": "PMD EoS - Mar Circundante",
|
"swamp": "PMD EoS - Mar Circundante",
|
||||||
"tall_grass": "PMD EoS - Bosque Niebla",
|
"tall_grass": "PMD EoS - Bosque Niebla",
|
||||||
"temple": "PMD EoS - Cueva Regia",
|
"temple": "PMD EoS - Cueva Regia",
|
||||||
"town": "PMD EoS - Tema del territorio aleatorio 3",
|
"town": "PMD EoS - Tema del territorio aleatorio 3",
|
||||||
"volcano": "PMD EoS - Cueva Vapor",
|
"volcano": "PMD EoS - Cueva Vapor",
|
||||||
"wasteland": "PMD EoS - Corazón Tierra Oculta",
|
"wasteland": "PMD EoS - Corazón Tierra Oculta",
|
||||||
"encounter_ace_trainer": "BW - Desafío Combate (Entrenador Guay)",
|
"encounter_ace_trainer": "BW - ¡Vs. entrenador guay!",
|
||||||
"encounter_backpacker": "BW - Desafío Combate (Mochilero)",
|
"encounter_backpacker": "BW - ¡Vs. mochilero!",
|
||||||
"encounter_clerk": "BW - Desafío Combate (Empresario)",
|
"encounter_clerk": "BW - ¡Vs. empresario!",
|
||||||
"encounter_cyclist": "BW - Desafío Combate (Ciclista)",
|
"encounter_cyclist": "BW - ¡Vs. ciclista!",
|
||||||
"encounter_lass": "BW - Desafío Combate (Chica)",
|
"encounter_lass": "BW - ¡Vs. chica joven!",
|
||||||
"encounter_parasol_lady": "BW - Desafío Combate (Dama parasol)",
|
"encounter_parasol_lady": "BW - ¡Vs. dama parasol!",
|
||||||
"encounter_pokefan": "BW - Desafío Combate (Pokéfan)",
|
"encounter_pokefan": "BW - ¡Vs. poké-fan!",
|
||||||
"encounter_psychic": "BW - Desafío Combate (Médium)",
|
"encounter_psychic": "BW -¡Vs. médium!",
|
||||||
"encounter_rich": "BW - Desafío Combate (Aristócrata)",
|
"encounter_rich": "BW - ¡Vs. aristócrata!",
|
||||||
"encounter_rival": "BW - Desafío Combate (Cheren)",
|
"encounter_rival": "BW - ¡Vs. Cheren!",
|
||||||
"encounter_roughneck": "BW - Desafío Combate (Calvo)",
|
"encounter_roughneck": "BW - ¡Vs. tío chungo!",
|
||||||
"encounter_scientist": "BW - Desafío Combate (Científico)",
|
"encounter_scientist": "BW - ¡Vs. científico!",
|
||||||
"encounter_twins": "BW - Desafío Combate (Gemelas)",
|
"encounter_twins": "BW - ¡Vs. gemelas!",
|
||||||
"encounter_youngster": "BW - Desafío Combate (Joven)",
|
"encounter_youngster": "BW - ¡Vs. chico joven!",
|
||||||
"heal": "BW - Cura Pokémon",
|
"heal": "BW - Cura Pokémon",
|
||||||
"menu": "PMD EoS - ¡Bienvenidos al mundo de los Pokémon!",
|
"menu": "PMD EoS - ¡Bienvenidos al mundo de los Pokémon!",
|
||||||
"title": "PMD EoS - Tema del menú principal"
|
"title": "PMD EoS - Tema del menú principal"
|
||||||
|
@ -7,5 +7,6 @@
|
|||||||
"usedUpAllElectricity": "¡{{pokemonName}} ha descargado toda su electricidad!",
|
"usedUpAllElectricity": "¡{{pokemonName}} ha descargado toda su electricidad!",
|
||||||
"stoleItem": "¡{{pokemonName}} robó el objeto\n{{itemName}} de {{targetName}}!",
|
"stoleItem": "¡{{pokemonName}} robó el objeto\n{{itemName}} de {{targetName}}!",
|
||||||
"statEliminated": "¡Los cambios en estadísticas fueron eliminados!",
|
"statEliminated": "¡Los cambios en estadísticas fueron eliminados!",
|
||||||
"revivalBlessing": "¡{{pokemonName}} ha revivido!"
|
"revivalBlessing": "¡{{pokemonName}} ha revivido!",
|
||||||
|
"safeguard": "¡{{targetName}} está protegido por Velo Sagrado!"
|
||||||
}
|
}
|
@ -4,5 +4,11 @@
|
|||||||
"mega-y": "Mega {{pokemonName}} Y",
|
"mega-y": "Mega {{pokemonName}} Y",
|
||||||
"primal": "{{pokemonName}} Primigenio",
|
"primal": "{{pokemonName}} Primigenio",
|
||||||
"gigantamax": "G-Max {{pokemonName}}",
|
"gigantamax": "G-Max {{pokemonName}}",
|
||||||
"eternamax": "E-Max {{pokemonName}}"
|
"eternamax": "E-Max {{pokemonName}}",
|
||||||
|
"megaChange": "¡{{preName}} ha mega-evolucionado a {{pokemonName}}!",
|
||||||
|
"gigantamaxChange": "¡{{preName}} ha gigamaxizado a {{pokemonName}}!",
|
||||||
|
"eternamaxChange": "¡{{preName}} ha eternamaxizado a {{pokemonName}}!",
|
||||||
|
"revertChange": "¡{{pokemonName}} ha revertido a su forma original!",
|
||||||
|
"formChange": "¡{{preName}} ha cambiado de forma!",
|
||||||
|
"disguiseChange": "¡El disfraz ha actuado como señuelo!\t"
|
||||||
}
|
}
|
@ -7,6 +7,7 @@
|
|||||||
"pikachuToughCosplay": "Enmascarada",
|
"pikachuToughCosplay": "Enmascarada",
|
||||||
"pikachuPartner": "Compañero",
|
"pikachuPartner": "Compañero",
|
||||||
"eeveePartner": "Compañero",
|
"eeveePartner": "Compañero",
|
||||||
|
"pichuSpiky": "Picoreja",
|
||||||
"unownA": "A",
|
"unownA": "A",
|
||||||
"unownB": "B",
|
"unownB": "B",
|
||||||
"unownC": "C",
|
"unownC": "C",
|
||||||
@ -49,6 +50,8 @@
|
|||||||
"rotomFrost": "Frío",
|
"rotomFrost": "Frío",
|
||||||
"rotomFan": "Ventilador",
|
"rotomFan": "Ventilador",
|
||||||
"rotomMow": "Corte",
|
"rotomMow": "Corte",
|
||||||
|
"giratinaAltered": "Modificada",
|
||||||
|
"shayminLand": "Tierra",
|
||||||
"basculinRedStriped": "Raya Roja",
|
"basculinRedStriped": "Raya Roja",
|
||||||
"basculinBlueStriped": "Raya Azul",
|
"basculinBlueStriped": "Raya Azul",
|
||||||
"basculinWhiteStriped": "Raya Blanca",
|
"basculinWhiteStriped": "Raya Blanca",
|
||||||
@ -56,6 +59,10 @@
|
|||||||
"deerlingSummer": "Verano",
|
"deerlingSummer": "Verano",
|
||||||
"deerlingAutumn": "Otoño",
|
"deerlingAutumn": "Otoño",
|
||||||
"deerlingWinter": "Invierno",
|
"deerlingWinter": "Invierno",
|
||||||
|
"tornadusIncarnate": "Avatar",
|
||||||
|
"thundurusIncarnate": "Avatar",
|
||||||
|
"landorusIncarnate": "Avatar",
|
||||||
|
"keldeoOrdinary": "Habitual",
|
||||||
"meloettaAria": "Lírica",
|
"meloettaAria": "Lírica",
|
||||||
"meloettaPirouette": "Danza",
|
"meloettaPirouette": "Danza",
|
||||||
"froakieBattleBond": "Fuerte Afecto",
|
"froakieBattleBond": "Fuerte Afecto",
|
||||||
@ -87,12 +94,12 @@
|
|||||||
"furfrouHeart": "Corazón",
|
"furfrouHeart": "Corazón",
|
||||||
"furfrouStar": "Estrella",
|
"furfrouStar": "Estrella",
|
||||||
"furfrouDiamond": "Diamante",
|
"furfrouDiamond": "Diamante",
|
||||||
"furfrouDebutante": "Debutante",
|
"furfrouDebutante": "Señorita",
|
||||||
"furfrouMatron": "Matrón",
|
"furfrouMatron": "Dama",
|
||||||
"furfrouDandy": "Dandi",
|
"furfrouDandy": "Caballero",
|
||||||
"furfrouLaReine": "La Reine",
|
"furfrouLaReine": "Aristócrata",
|
||||||
"furfrouKabuki": "Kabuki",
|
"furfrouKabuki": "Kabuki",
|
||||||
"furfrouPharaoh": "Faraón",
|
"furfrouPharaoh": "Faraónico",
|
||||||
"pumpkabooSmall": "Pequeño",
|
"pumpkabooSmall": "Pequeño",
|
||||||
"pumpkabooLarge": "Grande",
|
"pumpkabooLarge": "Grande",
|
||||||
"pumpkabooSuper": "Enorme",
|
"pumpkabooSuper": "Enorme",
|
||||||
@ -127,11 +134,15 @@
|
|||||||
"magearnaOriginal": "Vetusto",
|
"magearnaOriginal": "Vetusto",
|
||||||
"marshadowZenith": "Cénit",
|
"marshadowZenith": "Cénit",
|
||||||
"sinisteaPhony": "Falsificada",
|
"sinisteaPhony": "Falsificada",
|
||||||
"sinisteaAntique": "Auténtica",
|
"sinisteaAntique": "Genuina",
|
||||||
"eiscueNoIce": "Cara Deshielo",
|
"eiscueNoIce": "Cara Deshielo",
|
||||||
"indeedeeMale": "Macho",
|
"indeedeeMale": "Macho",
|
||||||
"indeedeeFemale": "Hembra",
|
"indeedeeFemale": "Hembra",
|
||||||
|
"morpekoFullBelly": "Saciada",
|
||||||
|
"zacianHeroOfManyBattles": "Guerrero avezado",
|
||||||
|
"zamazentaHeroOfManyBattles": "Guerrero avezado",
|
||||||
"zarudeDada": "Papá",
|
"zarudeDada": "Papá",
|
||||||
|
"enamorusIncarnate": "Avatar",
|
||||||
"squawkabillyGreenPlumage": "Plumaje Verde",
|
"squawkabillyGreenPlumage": "Plumaje Verde",
|
||||||
"squawkabillyBluePlumage": "Plumaje Azul",
|
"squawkabillyBluePlumage": "Plumaje Azul",
|
||||||
"squawkabillyYellowPlumage": "Plumaje Amarillo",
|
"squawkabillyYellowPlumage": "Plumaje Amarillo",
|
||||||
@ -141,8 +152,18 @@
|
|||||||
"tatsugiriStretchy": "Estirada",
|
"tatsugiriStretchy": "Estirada",
|
||||||
"gimmighoulChest": "Cofre",
|
"gimmighoulChest": "Cofre",
|
||||||
"gimmighoulRoaming": "Andante",
|
"gimmighoulRoaming": "Andante",
|
||||||
"poltchageistCounterfeit": "Imitación",
|
"koraidonApexBuild": "Forma Plena",
|
||||||
"poltchageistArtisan": "Original",
|
"koraidonLimitedBuild": "Forma Limitada",
|
||||||
|
"koraidonSprintingBuild": "Forma Carrera",
|
||||||
|
"koraidonSwimmingBuild": "Forma Nado",
|
||||||
|
"koraidonGlidingBuild": "Forma Planeo",
|
||||||
|
"miraidonUltimateMode": "Modo Pleno",
|
||||||
|
"miraidonLowPowerMode": "Modo Limitado",
|
||||||
|
"miraidonDriveMode": "Modo Conducción",
|
||||||
|
"miraidonAquaticMode": "Modo Flote",
|
||||||
|
"miraidonGlideMode": "Modo Planeo",
|
||||||
|
"poltchageistCounterfeit": "Fraudulenta",
|
||||||
|
"poltchageistArtisan": "Opulenta",
|
||||||
"paldeaTaurosCombat": "Combatiente",
|
"paldeaTaurosCombat": "Combatiente",
|
||||||
"paldeaTaurosBlaze": "Ardiente",
|
"paldeaTaurosBlaze": "Ardiente",
|
||||||
"paldeaTaurosAqua": "Acuático"
|
"paldeaTaurosAqua": "Acuático"
|
||||||
|
@ -47,5 +47,11 @@
|
|||||||
"tailwindOnRemovePlayer": "Le vent arrière soufflant\nsur votre équipe s’arrête !",
|
"tailwindOnRemovePlayer": "Le vent arrière soufflant\nsur votre équipe s’arrête !",
|
||||||
"tailwindOnRemoveEnemy": "Le vent arrière soufflant\nsur l’équipe ennemie s’arrête !",
|
"tailwindOnRemoveEnemy": "Le vent arrière soufflant\nsur l’équipe ennemie s’arrête !",
|
||||||
"happyHourOnAdd": "L’ambiance est euphorique !",
|
"happyHourOnAdd": "L’ambiance est euphorique !",
|
||||||
"happyHourOnRemove": "L’ambiance se calme !"
|
"happyHourOnRemove": "L’ambiance se calme !",
|
||||||
|
"safeguardOnAdd": "Un voile mystérieux recouvre\ntout le terrain !",
|
||||||
|
"safeguardOnAddPlayer": "Un voile mystérieux recouvre\nvotre équipe !",
|
||||||
|
"safeguardOnAddEnemy": "Un voile mystérieux recouvre\nl’équipe ennemie !",
|
||||||
|
"safeguardOnRemove": "Le terrain n’est plus protégé\npar le voile mystérieux !",
|
||||||
|
"safeguardOnRemovePlayer": "Votre équipe n’est plus protégée\npar le voile mystérieux !",
|
||||||
|
"safeguardOnRemoveEnemy": "L’équipe ennemie n’est plus protégée\npar le voile mystérieux !"
|
||||||
}
|
}
|
@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
"ending": "@c{smile}Oh ? T’as gagné ?@d{96} @c{smile_eclosed}J’aurais dû le savoir.\nMais de voilà de retour.\n$@c{smile}C’est terminé.@d{64} T’as brisé ce cycle infernal.\n$@c{serious_smile_fists}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.\n$@c{neutral}Je suis le seul à me souvenir de ce que t’as fait.@d{96}\nJe pense que ça ira, non ?\n$@c{serious_smile_fists}Ta légende vivra à jamais dans nos cœurs.\n$@c{smile_eclosed}Bref, j’en ai un peu marre de ce endroit, pas toi ? Rentrons à la maison.\n$@c{serious_smile_fists}On se fera un p’tit combat une fois rentrés ?\nSi t’es d’accord.",
|
"ending": "@c{smile}Oh ? T’as gagné ?@d{96} @c{smile_eclosed}J’aurais dû le savoir.\nMais de voilà de retour.\n$@c{smile}C’est terminé.@d{64} T’as brisé ce cycle infernal.\n$@c{serious_smile_fists}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.\n$@c{neutral}Je suis le seul à me souvenir de ce que t’as fait.@d{96}\nJe pense que ça ira, non ?\n$@c{serious_smile_fists}Ta légende vivra à jamais dans nos cœurs.\n$@c{smile_eclosed}Bref, j’en ai un peu marre de ce endroit, pas toi ? Rentrons à la maison.\n$@c{serious_smile_fists}On se fera un p’tit combat une fois rentrés ?\nSi t’es d’accord.",
|
||||||
"ending_female": "@c{shock}T’es revenu ?@d{32} Ça veut dire…@d{96} que t’as gagné ?!\n@c{smile_ehalf}J’aurais dû le savoir.\n$@c{smile_eclosed}Bien sûr… J’ai toujours eu ce sentiment.\n@c{smile}C’est fini maitenant hein ? T’as brisé ce cycle.\n$@c{smile_ehalf}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.\n$Je serai la seule à me souvenir de ce que t’as fait.\n@c{angry_mopen}Je tâcherai de ne pas oublier !\n$@c{smile_wave_wink}J’déconne !@d{64} @c{smile}Jamais j’oublierai.@d{32}\nTa légende vivra à jamais dans nos cœurs.\n$@c{smile_wave}Bon,@d{64} il se fait tard…@d{96} je crois ?\nDifficile à dire ici.\n$Rentrons, @c{smile_wave_wink}et demain on se fera un p’tit combat, comme au bon vieux temps ?"
|
"ending_female": "@c{shock}T’es revenu ?@d{32} Ça veut dire…@d{96} que t’as gagné ?!\n@c{smile_ehalf}J’aurais dû le savoir.\n$@c{smile_eclosed}Bien sûr… J’ai toujours eu ce sentiment.\n@c{smile}C’est fini maitenant hein ? T’as brisé ce cycle.\n$@c{smile_ehalf}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.\n$Je serai la seule à me souvenir de ce que t’as fait.\n@c{angry_mopen}Je tâcherai de ne pas oublier !\n$@c{smile_wave_wink}J’déconne !@d{64} @c{smile}Jamais j’oublierai.@d{32}\nTa légende vivra à jamais dans nos cœurs.\n$@c{smile_wave}Bon,@d{64} il se fait tard…@d{96} je crois ?\nDifficile à dire ici.\n$Rentrons, @c{smile_wave_wink}et demain on se fera un p’tit combat, comme au bon vieux temps ?",
|
||||||
|
"ending_endless": "Félicitations ! Vous avez atteint la fin actuelle.\nPlus de contenu à venir bientôt !",
|
||||||
|
"ending_name": "Les devs"
|
||||||
}
|
}
|
@ -61,5 +61,6 @@
|
|||||||
"suppressAbilities": "Le talent de {{pokemonName}}\na été rendu inactif !",
|
"suppressAbilities": "Le talent de {{pokemonName}}\na été rendu inactif !",
|
||||||
"revivalBlessing": "{{pokemonName}} a repris connaissance\net est prêt à se battre de nouveau !",
|
"revivalBlessing": "{{pokemonName}} a repris connaissance\net est prêt à se battre de nouveau !",
|
||||||
"swapArenaTags": "Les effets affectant chaque côté du terrain\nont été échangés par {{pokemonName}} !",
|
"swapArenaTags": "Les effets affectant chaque côté du terrain\nont été échangés par {{pokemonName}} !",
|
||||||
"exposedMove": "{{targetPokemonName}} est identifié\npar {{pokemonName}} !"
|
"exposedMove": "{{targetPokemonName}} est identifié\npar {{pokemonName}} !",
|
||||||
|
"safeguard": "{{targetName}} est protégé\npar la capacité Rune Protect !"
|
||||||
}
|
}
|
@ -13,7 +13,8 @@
|
|||||||
"SPD": "Vitesse",
|
"SPD": "Vitesse",
|
||||||
"SPDshortened": "Vit",
|
"SPDshortened": "Vit",
|
||||||
"ACC": "Précison",
|
"ACC": "Précison",
|
||||||
"EVA": "Esquive"
|
"EVA": "Esquive",
|
||||||
|
"HPStat": "PV"
|
||||||
},
|
},
|
||||||
"Type": {
|
"Type": {
|
||||||
"UNKNOWN": "Inconnu",
|
"UNKNOWN": "Inconnu",
|
||||||
|
@ -101,8 +101,8 @@
|
|||||||
"workers": "Ouvriers",
|
"workers": "Ouvriers",
|
||||||
"youngster": "Gamin",
|
"youngster": "Gamin",
|
||||||
"rocket_grunt": "Sbire de la Team Rocket",
|
"rocket_grunt": "Sbire de la Team Rocket",
|
||||||
"rocket_grunt_female": "Sbire de la Team Rocket",
|
|
||||||
"rocket_grunts": "Sbires de la Team Rocket",
|
"rocket_grunts": "Sbires de la Team Rocket",
|
||||||
|
"rocket_grunt_female": "Sbire de la Team Rocket",
|
||||||
"magma_grunt": "Sbire de la Team Magma",
|
"magma_grunt": "Sbire de la Team Magma",
|
||||||
"magma_grunt_female": "Sbire de la Team Magma",
|
"magma_grunt_female": "Sbire de la Team Magma",
|
||||||
"magma_grunts": "Sbires de la Team Magma",
|
"magma_grunts": "Sbires de la Team Magma",
|
||||||
@ -123,6 +123,7 @@
|
|||||||
"aether_grunts": "Employés de la Fondation Æther",
|
"aether_grunts": "Employés de la Fondation Æther",
|
||||||
"skull_grunt": "Sbire de la Team Skull",
|
"skull_grunt": "Sbire de la Team Skull",
|
||||||
"skull_grunt_female": "Sbire de la Team Skull",
|
"skull_grunt_female": "Sbire de la Team Skull",
|
||||||
|
"skull_grunts": "Sbires de la Team Skull",
|
||||||
"macro_grunt": "Employé de Macro Cosmos",
|
"macro_grunt": "Employé de Macro Cosmos",
|
||||||
"macro_grunt_female": "Employée de Macro Cosmos",
|
"macro_grunt_female": "Employée de Macro Cosmos",
|
||||||
"macro_grunts": "Employés de Macro Cosmos"
|
"macro_grunts": "Employés de Macro Cosmos"
|
||||||
|
@ -1 +1,8 @@
|
|||||||
{}
|
{
|
||||||
|
"safeguardOnAdd": "Un velo mistico ricopre il campo!",
|
||||||
|
"safeguardOnAddPlayer": "Un velo mistico ricopre la tua squadra!",
|
||||||
|
"safeguardOnAddEnemy": "Un velo mistico ricopre la squadra avversaria!",
|
||||||
|
"safeguardOnRemove": "Il campo non è più protetto da Salvaguardia!",
|
||||||
|
"safeguardOnRemovePlayer": "La tua squadra non è più protetta da Salvaguardia!",
|
||||||
|
"safeguardOnRemoveEnemy": "La squadra avversaria non è più protetta da Salvaguardia!"
|
||||||
|
}
|
@ -61,5 +61,6 @@
|
|||||||
"suppressAbilities": "L’abilità di {{pokemonName}}\nperde ogni efficacia!",
|
"suppressAbilities": "L’abilità di {{pokemonName}}\nperde ogni efficacia!",
|
||||||
"revivalBlessing": "{{pokemonName}} torna in forze!",
|
"revivalBlessing": "{{pokemonName}} torna in forze!",
|
||||||
"swapArenaTags": "{{pokemonName}} ha invertito gli effetti attivi\nnelle due metà del campo!",
|
"swapArenaTags": "{{pokemonName}} ha invertito gli effetti attivi\nnelle due metà del campo!",
|
||||||
"exposedMove": "{{pokemonName}} ha identificato\n{{targetPokemonName}}!"
|
"exposedMove": "{{pokemonName}} ha identificato\n{{targetPokemonName}}!",
|
||||||
|
"safeguard": "Salvaguardia protegge {{targetName}}!"
|
||||||
}
|
}
|
@ -31,6 +31,9 @@
|
|||||||
"changeQuantity": "Scegli un oggetto da trasferire.\nUsa < e > per cambiarne la quantità.",
|
"changeQuantity": "Scegli un oggetto da trasferire.\nUsa < e > per cambiarne la quantità.",
|
||||||
"selectAnotherPokemonToSplice": "Scegli un altro Pokémon da unire.",
|
"selectAnotherPokemonToSplice": "Scegli un altro Pokémon da unire.",
|
||||||
"cancel": "Annulla",
|
"cancel": "Annulla",
|
||||||
|
"able": "Sì!",
|
||||||
|
"notAble": "No!",
|
||||||
|
"learned": "La conosce!",
|
||||||
"goodbye": "Addio, {{pokemonName}}!",
|
"goodbye": "Addio, {{pokemonName}}!",
|
||||||
"byebye": "Ciao ciao, {{pokemonName}}!",
|
"byebye": "Ciao ciao, {{pokemonName}}!",
|
||||||
"farewell": "Arrivederci, {{pokemonName}}!",
|
"farewell": "Arrivederci, {{pokemonName}}!",
|
||||||
@ -38,5 +41,7 @@
|
|||||||
"thisIsWhereWePart": "Le nostre strade si dividono, {{pokemonName}}!",
|
"thisIsWhereWePart": "Le nostre strade si dividono, {{pokemonName}}!",
|
||||||
"illMissYou": "Mi mancherai, {{pokemonName}}!",
|
"illMissYou": "Mi mancherai, {{pokemonName}}!",
|
||||||
"illNeverForgetYou": "Non ti dimenticherò, {{pokemonName}}!",
|
"illNeverForgetYou": "Non ti dimenticherò, {{pokemonName}}!",
|
||||||
"untilWeMeetAgain": "Alla prossima, {{pokemonName}}!"
|
"untilWeMeetAgain": "Alla prossima, {{pokemonName}}!",
|
||||||
}
|
"sayonara": "Sayonara, {{pokemonName}}!",
|
||||||
|
"smellYaLater": "Ci becchiamo, {{pokemonName}}!"
|
||||||
|
}
|
||||||
|
@ -2,5 +2,6 @@
|
|||||||
"moveset": "Set di mosse",
|
"moveset": "Set di mosse",
|
||||||
"gender": "Genere:",
|
"gender": "Genere:",
|
||||||
"ability": "Abilità:",
|
"ability": "Abilità:",
|
||||||
"nature": "Natura:"
|
"nature": "Natura:",
|
||||||
|
"form": "Forma:"
|
||||||
}
|
}
|
@ -1 +1,23 @@
|
|||||||
{}
|
{
|
||||||
|
"type_null": "Tipo Zero",
|
||||||
|
"great_tusk": "Grandizanne",
|
||||||
|
"scream_tail": "Codaurlante",
|
||||||
|
"brute_bonnet": "Fungofurioso",
|
||||||
|
"flutter_mane": "Crinealato",
|
||||||
|
"slither_wing": "Alirasenti",
|
||||||
|
"sandy_shocks": "Peldisabbia",
|
||||||
|
"iron_treads": "Solcoferreo",
|
||||||
|
"iron_bundle": "Saccoferreo",
|
||||||
|
"iron_hands": "Manoferrea",
|
||||||
|
"iron_jugulis": "Colloferreo",
|
||||||
|
"iron_moth": "Falenaferrea",
|
||||||
|
"iron_thorns": "Spineferree",
|
||||||
|
"roaring_moon": "Lunaruggente",
|
||||||
|
"iron_valiant": "Eroeferreo",
|
||||||
|
"walking_wake": "Acquecrespe",
|
||||||
|
"iron_leaves": "Fogliaferrea",
|
||||||
|
"gouging_fire": "Vampeaguzze",
|
||||||
|
"raging_bolt": "Furiatonante",
|
||||||
|
"iron_boulder": "Massoferreo",
|
||||||
|
"iron_crown": "Capoferreo"
|
||||||
|
}
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
"blockItemTheft": "{{pokemonNameWithAffix}}の {{abilityName}}で\n道具を うばわれない!",
|
"blockItemTheft": "{{pokemonNameWithAffix}}の {{abilityName}}で\n道具を うばわれない!",
|
||||||
"typeImmunityHeal": "{{pokemonNameWithAffix}}は {{abilityName}}で\n体力を 回復した!",
|
"typeImmunityHeal": "{{pokemonNameWithAffix}}は {{abilityName}}で\n体力を 回復した!",
|
||||||
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}}は {{abilityName}}で\nダメージを 受けない。",
|
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}}は {{abilityName}}で\nダメージを 受けない。",
|
||||||
"postDefendDisguise": "{{pokemonNameWithAffix}}の\nばけのかわが はがれた!",
|
|
||||||
"moveImmunity": "{{pokemonNameWithAffix}}には\n効果が ないようだ…",
|
"moveImmunity": "{{pokemonNameWithAffix}}には\n効果が ないようだ…",
|
||||||
"reverseDrain": "{{pokemonNameWithAffix}}は\nヘドロえきを 吸い取った!",
|
"reverseDrain": "{{pokemonNameWithAffix}}は\nヘドロえきを 吸い取った!",
|
||||||
"postDefendTypeChange": "{{pokemonNameWithAffix}}は {{abilityName}}で\n{{typeName}}タイプに なった!",
|
"postDefendTypeChange": "{{pokemonNameWithAffix}}は {{abilityName}}で\n{{typeName}}タイプに なった!",
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
"name": "なし"
|
"name": "なし"
|
||||||
},
|
},
|
||||||
"MoneyAchv": {
|
"MoneyAchv": {
|
||||||
"description": "一回の ランで ₽{{moneyAmount}}を 稼ぐ"
|
"description": "一回の ランで {{moneyAmount}}円を 稼ぐ"
|
||||||
},
|
},
|
||||||
"10K_MONEY": {
|
"10K_MONEY": {
|
||||||
"name": "お金を持つ人"
|
"name": "お金を持つ人"
|
||||||
@ -21,7 +21,7 @@
|
|||||||
"name": "超富裕層"
|
"name": "超富裕層"
|
||||||
},
|
},
|
||||||
"DamageAchv": {
|
"DamageAchv": {
|
||||||
"description": "一撃で {{damageAmount}}ダメージを 与える"
|
"description": "一撃で HP{{damageAmount}}の ダメージを 与える"
|
||||||
},
|
},
|
||||||
"250_DMG": {
|
"250_DMG": {
|
||||||
"name": "力持ち"
|
"name": "力持ち"
|
||||||
@ -33,10 +33,11 @@
|
|||||||
"name": "カカロット"
|
"name": "カカロット"
|
||||||
},
|
},
|
||||||
"10000_DMG": {
|
"10000_DMG": {
|
||||||
"name": "ワンパンマン"
|
"name": "ワンパンマン",
|
||||||
|
"name_female": "ワンパンウーマン"
|
||||||
},
|
},
|
||||||
"HealAchv": {
|
"HealAchv": {
|
||||||
"description": "一つの 技や 特性や 持っているアイテムで {{healAmount}}{{HP}}を 一気に 回復する"
|
"description": "一つの 技や 特性や 持っているアイテムで\n{{healAmount}}{{HP}}を 一気に 回復する"
|
||||||
},
|
},
|
||||||
"250_HEAL": {
|
"250_HEAL": {
|
||||||
"name": "回復発見者"
|
"name": "回復発見者"
|
||||||
@ -82,7 +83,7 @@
|
|||||||
},
|
},
|
||||||
"TRANSFER_MAX_BATTLE_STAT": {
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
"name": "同力",
|
"name": "同力",
|
||||||
"description": "少なくとも 一つの 能力を 最大まで あげて 他の 手持ちポケモンに バトンタッチする"
|
"description": "少なくとも 一つの 能力を 最大まで あげて\n他の 手持ちポケモンに バトンタッチする"
|
||||||
},
|
},
|
||||||
"MAX_FRIENDSHIP": {
|
"MAX_FRIENDSHIP": {
|
||||||
"name": "マブ達",
|
"name": "マブ達",
|
||||||
@ -106,7 +107,7 @@
|
|||||||
},
|
},
|
||||||
"SPLICE": {
|
"SPLICE": {
|
||||||
"name": "インフィニット・フュジョン",
|
"name": "インフィニット・フュジョン",
|
||||||
"description": "いでんしのくさびで 二つの ポケモンを 吸収合体させる"
|
"description": "遺伝子のくさびで 二つの ポケモンを 吸収合体させる"
|
||||||
},
|
},
|
||||||
"MINI_BLACK_HOLE": {
|
"MINI_BLACK_HOLE": {
|
||||||
"name": "アイテムホーリック",
|
"name": "アイテムホーリック",
|
||||||
@ -161,8 +162,8 @@
|
|||||||
"description": "クラシックモードを クリアする"
|
"description": "クラシックモードを クリアする"
|
||||||
},
|
},
|
||||||
"UNEVOLVED_CLASSIC_VICTORY": {
|
"UNEVOLVED_CLASSIC_VICTORY": {
|
||||||
"name": "Bring Your Child To Work Day",
|
"name": "はじめてのおつかい",
|
||||||
"description": "Beat the game in Classic Mode with at least one unevolved party member."
|
"description": "少なくとも 一つの 進化していない 手持ちポケモンで\nクラシックモードを クリアする"
|
||||||
},
|
},
|
||||||
"MONO_GEN_ONE": {
|
"MONO_GEN_ONE": {
|
||||||
"name": "原始",
|
"name": "原始",
|
||||||
@ -260,5 +261,9 @@
|
|||||||
"FRESH_START": {
|
"FRESH_START": {
|
||||||
"name": "一発で!",
|
"name": "一発で!",
|
||||||
"description": "出直しチャレンジを クリアする"
|
"description": "出直しチャレンジを クリアする"
|
||||||
|
},
|
||||||
|
"INVERSE_BATTLE": {
|
||||||
|
"name": "カガミよミガカ",
|
||||||
|
"description": "反転バトルチャレンジを クリアする\nるすアリク をジンレャチルトバ転反"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"trappedDesc": "捕らわれること",
|
||||||
|
"flinchedDesc": "ひるむこと",
|
||||||
|
"confusedDesc": "混乱",
|
||||||
|
"infatuatedDesc": "メロメロ",
|
||||||
|
"seedDesc": "種を植えつくこと",
|
||||||
|
"nightmareDesc": "あくむ",
|
||||||
|
"ingrainDesc": "根",
|
||||||
|
"drowsyDesc": "ねむけ",
|
||||||
"rechargingLapse": "{{pokemonNameWithAffix}}は 攻撃の 反動で 動けない!",
|
"rechargingLapse": "{{pokemonNameWithAffix}}は 攻撃の 反動で 動けない!",
|
||||||
"trappedOnAdd": "{{pokemonNameWithAffix}}は もう 逃げられない!",
|
"trappedOnAdd": "{{pokemonNameWithAffix}}は もう 逃げられない!",
|
||||||
"trappedOnRemove": "{{pokemonNameWithAffix}}は\n{{moveName}}の 効果が 解けた!",
|
"trappedOnRemove": "{{pokemonNameWithAffix}}は\n{{moveName}}の 効果が 解けた!",
|
||||||
@ -13,9 +21,9 @@
|
|||||||
"infatuatedOnAdd": "{{pokemonNameWithAffix}}は {{sourcePokemonName}}に メロメロに なった!",
|
"infatuatedOnAdd": "{{pokemonNameWithAffix}}は {{sourcePokemonName}}に メロメロに なった!",
|
||||||
"infatuatedOnOverlap": "{{pokemonNameWithAffix}}は すでに メロメロだ!",
|
"infatuatedOnOverlap": "{{pokemonNameWithAffix}}は すでに メロメロだ!",
|
||||||
"infatuatedLapse": "{{pokemonNameWithAffix}}は {{sourcePokemonName}}に メロメロだ!",
|
"infatuatedLapse": "{{pokemonNameWithAffix}}は {{sourcePokemonName}}に メロメロだ!",
|
||||||
"infatuatedLapseImmobilize": "{{pokemonNameWithAffix}}は\nメロメロで わざが 出せなかった!",
|
"infatuatedLapseImmobilize": "{{pokemonNameWithAffix}}は メロメロで 技が出せなかった!",
|
||||||
"infatuatedOnRemove": "{{pokemonNameWithAffix}}は メロメロ状態が 治った!",
|
"infatuatedOnRemove": "{{pokemonNameWithAffix}}は メロメロ状態が 治った!",
|
||||||
"seededOnAdd": "{{pokemonNameWithAffix}}に 種を 植(う)えつけた!",
|
"seededOnAdd": "{{pokemonNameWithAffix}}に 種を 植えつけた!",
|
||||||
"seededLapse": "やどりぎが {{pokemonNameWithAffix}}の 体力を うばう!",
|
"seededLapse": "やどりぎが {{pokemonNameWithAffix}}の 体力を うばう!",
|
||||||
"seededLapseShed": "{{pokemonNameWithAffix}}は ヘドロえきを 吸い取った!",
|
"seededLapseShed": "{{pokemonNameWithAffix}}は ヘドロえきを 吸い取った!",
|
||||||
"nightmareOnAdd": "{{pokemonNameWithAffix}}は あくむを 見始めた!",
|
"nightmareOnAdd": "{{pokemonNameWithAffix}}は あくむを 見始めた!",
|
||||||
|
@ -1,46 +1,46 @@
|
|||||||
{
|
{
|
||||||
"SITRUS": {
|
"SITRUS": {
|
||||||
"name": "オボンのみ",
|
"name": "オボンのみ",
|
||||||
"effect": "HP 50%いかのとき HPを 25パーセント かいふくする"
|
"effect": "持たせると HPが 50%以下になるとき HPを 25% 回復する"
|
||||||
},
|
},
|
||||||
"LUM": {
|
"LUM": {
|
||||||
"name": "ラムのみ",
|
"name": "ラムのみ",
|
||||||
"effect": "すべての じょうたい いじょうと こんらんを かいふくする"
|
"effect": "持たせると 状態異常や 混乱になるとき 回復する\n"
|
||||||
},
|
},
|
||||||
"ENIGMA": {
|
"ENIGMA": {
|
||||||
"name": "ナゾのみ",
|
"name": "ナゾのみ",
|
||||||
"effect": "こうかばつぐんの わざを うけたとき HPを 25パーセント かいふくする"
|
"effect": "持たせると 効果バツグンの 技を 受けたとき HPを 25%回復する"
|
||||||
},
|
},
|
||||||
"LIECHI": {
|
"LIECHI": {
|
||||||
"name": "チイラのみ",
|
"name": "チイラのみ",
|
||||||
"effect": "HP 25%いかのとき こうげきが あがる"
|
"effect": "持たせると HPが 25%以下に なるとき 攻撃が あがる"
|
||||||
},
|
},
|
||||||
"GANLON": {
|
"GANLON": {
|
||||||
"name": "リュガのみ",
|
"name": "リュガのみ",
|
||||||
"effect": "HP 25%いかのとき ぼうぎょが あがる"
|
"effect": "持たせると HPが 25%以下に なるとき 防御が あがる\n"
|
||||||
},
|
},
|
||||||
"PETAYA": {
|
"PETAYA": {
|
||||||
"name": "ヤタピのみ",
|
"name": "ヤタピのみ",
|
||||||
"effect": "HP 25%いかのとき とくこうが あがる"
|
"effect": "持たせると HPが 25%以下に なるとき 特攻が あがる\n"
|
||||||
},
|
},
|
||||||
"APICOT": {
|
"APICOT": {
|
||||||
"name": "ズアのみ",
|
"name": "ズアのみ",
|
||||||
"effect": "HP 25%いかのとき とくぼうが あがる"
|
"effect": "持たせると HPが 25%以下に なるとき 特防が あがる\n"
|
||||||
},
|
},
|
||||||
"SALAC": {
|
"SALAC": {
|
||||||
"name": "カムラのみ",
|
"name": "カムラのみ",
|
||||||
"effect": "HP 25%いかのとき すばやさが あがる"
|
"effect": "持たせると HPが 25%以下に なるとき 素早さが あがる"
|
||||||
},
|
},
|
||||||
"LANSAT": {
|
"LANSAT": {
|
||||||
"name": "サンのみ",
|
"name": "サンのみ",
|
||||||
"effect": "HP 25%いかのとき こうげきが きゅうしょに あたりやすくなる"
|
"effect": "持たせると HPが 25%以下に なるとき 攻撃が 急所に 当たりやすくなる"
|
||||||
},
|
},
|
||||||
"STARF": {
|
"STARF": {
|
||||||
"name": "スターのみ",
|
"name": "スターのみ",
|
||||||
"effect": "HP 25%いかのとき のうりょくの どれか 1つが ぐーんと あがる"
|
"effect": "持たせると HPが 25%以下に なるとき どれか 1つの 能力が ぐーんと あがる"
|
||||||
},
|
},
|
||||||
"LEPPA": {
|
"LEPPA": {
|
||||||
"name": "ヒメリのみ",
|
"name": "ヒメリのみ",
|
||||||
"effect": "PPが 0に なった わざの PPを 10だけ かいふくする"
|
"effect": "持たせると PPが 0になる 技のPPを 10回復する"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"title": "チャレンジを 設定",
|
"title": "チャレンジを 設定",
|
||||||
"illegalEvolution": "{{pokemon}}は このチャレンジで\n対象外の ポケモンに なってしまった!",
|
"illegalEvolution": "{{pokemon}}は このチャレンジで\n対象外の ポケモンに なってしまった!",
|
||||||
"singleGeneration": {
|
"singleGeneration": {
|
||||||
"name": "単一世代",
|
"name": "単一世代",
|
||||||
"desc": "{{gen}}世代からの ポケモンしか 使えません",
|
"desc": "{{gen}}世代からの ポケモンしか 使えません",
|
||||||
"desc_default": "選んだ 世代からの ポケモンしか 使えません",
|
"desc_default": "選んだ 世代からの ポケモンしか 使えません",
|
||||||
"gen_1": "1",
|
"gen_1": "1",
|
||||||
"gen_2": "2",
|
"gen_2": "2",
|
||||||
"gen_3": "3",
|
"gen_3": "3",
|
||||||
@ -17,13 +17,19 @@
|
|||||||
},
|
},
|
||||||
"singleType": {
|
"singleType": {
|
||||||
"name": "単一タイプ",
|
"name": "単一タイプ",
|
||||||
"desc": "{{type}}タイプの ポケモンしか 使えません",
|
"desc": "{{type}}タイプの ポケモンしか 使えません",
|
||||||
"desc_default": "選んだ タイプの ポケモンしか 使えません"
|
"desc_default": "選んだ タイプの ポケモンしか 使えません"
|
||||||
},
|
},
|
||||||
"freshStart": {
|
"freshStart": {
|
||||||
"name": "出直し",
|
"name": "出直し",
|
||||||
"shortName": "出直し",
|
"desc": "ポケローグを 始めた ばかりの ような ままで ゲーム開始の スターターしか 使えません",
|
||||||
"desc": "ポケローグを 始めた ばかりの ような ままで ゲーム開始の 最初のパートナーしか 使えません",
|
"value.0": "オフ",
|
||||||
|
"value.1": "オン"
|
||||||
|
},
|
||||||
|
"inverseBattle": {
|
||||||
|
"name": "反転バトル",
|
||||||
|
"shortName": "反バ",
|
||||||
|
"desc": "タイプ相性が 反転で、なんの タイプも 「効果はなし」が ありません\n他の チャレンジの 実績が 無効に されます",
|
||||||
"value.0": "オフ",
|
"value.0": "オフ",
|
||||||
"value.1": "オン"
|
"value.1": "オン"
|
||||||
}
|
}
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
"ball": "ボール",
|
"ball": "ボール",
|
||||||
"pokemon": "ポケモン",
|
"pokemon": "ポケモン",
|
||||||
"run": "にげる",
|
"run": "にげる",
|
||||||
"actionMessage": "{{pokemonName}}は どうする?"
|
"actionMessage": "{{pokemonName}}は どうする?"
|
||||||
}
|
}
|
@ -4,23 +4,23 @@
|
|||||||
"ultraTier": "超レア",
|
"ultraTier": "超レア",
|
||||||
"masterTier": "伝説",
|
"masterTier": "伝説",
|
||||||
"defaultTier": "ふつう",
|
"defaultTier": "ふつう",
|
||||||
"hatchWavesMessageSoon": "なかから おとが きこえてくる! もうすぐ うまれそう!",
|
"hatchWavesMessageSoon": "中から 音が 聞こえてくる! もうすぐ 生まれそう!",
|
||||||
"hatchWavesMessageClose": "ときどき うごいている みたい。 うまれるまで もう ちょっとかな?",
|
"hatchWavesMessageClose": "時々 動いている みたい。生まれるまで もう ちょっとかな?",
|
||||||
"hatchWavesMessageNotClose": "なにが うまれてくるのかな? うまれるまで まだまだ じかんが かかりそう。",
|
"hatchWavesMessageNotClose": "なにが 生まれてくるのかな? 生まれるまで まだまだ 時間が かかりそう。",
|
||||||
"hatchWavesMessageLongTime": "この タマゴは うまれるまで かなり じかんが かかりそう。",
|
"hatchWavesMessageLongTime": "この タマゴは 生まれるまで かなり 時間が かかりそう。",
|
||||||
"gachaTypeLegendary": "伝説確率アップ",
|
"gachaTypeLegendary": "伝説確率アップ",
|
||||||
"gachaTypeMove": "レアなタマゴわざ確率アップ",
|
"gachaTypeMove": "レアなタマゴ技確率アップ",
|
||||||
"gachaTypeShiny": "色違い確率アップ",
|
"gachaTypeShiny": "色違い確率アップ",
|
||||||
"selectMachine": "ガチャマシンを選択",
|
"selectMachine": "ガチャマシンを選択",
|
||||||
"notEnoughVouchers": "タマゴクーポンが足りません!",
|
"notEnoughVouchers": "タマゴクーポンが足りません!",
|
||||||
"tooManyEggs": "タマゴが一杯です!",
|
"tooManyEggs": "タマゴが一杯です!",
|
||||||
"pull": "回引く",
|
"pull": "回引く",
|
||||||
"pulls": "回引く",
|
"pulls": "回引く",
|
||||||
"sameSpeciesEgg": "{{species}}は このタマゴから うまれる!",
|
"sameSpeciesEgg": "{{species}}は このタマゴから 生まれる!",
|
||||||
"hatchFromTheEgg": "{{pokemonName}}は タマゴから うまれた!",
|
"hatchFromTheEgg": "{{pokemonName}}は タマゴから 生まれた!",
|
||||||
"eggMoveUnlock": "タマゴわざ {{moveName}}を おぼえた!",
|
"eggMoveUnlock": "タマゴ技: {{moveName}}を 覚えた!",
|
||||||
"rareEggMoveUnlock": "レアなタマゴわざ {{moveName}}を おぼえた!!",
|
"rareEggMoveUnlock": "レアなタマゴ技: {{moveName}}を 覚えた!!",
|
||||||
"moveUPGacha": "わざ UP!",
|
"moveUPGacha": "技 UP!",
|
||||||
"shinyUPGacha": "色違い UP!",
|
"shinyUPGacha": "色違い UP!",
|
||||||
"legendaryUPGacha": "UP!"
|
"legendaryUPGacha": "UP!"
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"classic": "クラシック",
|
"classic": "クラシック",
|
||||||
"endless": "エンドレス",
|
"endless": "エンドレス",
|
||||||
"endlessSpliced": "エンドレス (Spliced)",
|
"endlessSpliced": "エンドレス(吸収合体)",
|
||||||
"dailyRun": "デイリーラン",
|
"dailyRun": "デイリーラン",
|
||||||
"unknown": "Unknown",
|
"unknown": "???",
|
||||||
"challenge": "チャレンジ"
|
"challenge": "チャレンジ"
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"stats": "統計",
|
"stats": "統計",
|
||||||
"playTime": "プレー時間",
|
"playTime": "プレイ時間",
|
||||||
"totalBattles": "合計バトル数",
|
"totalBattles": "合計バトル数",
|
||||||
"starters": "スターター数",
|
"starters": "スターター数",
|
||||||
"shinyStarters": "色違いスターター数",
|
"shinyStarters": "色違いスターター数",
|
||||||
@ -12,27 +12,27 @@
|
|||||||
"dailyRunAttempts": "デイリーラン",
|
"dailyRunAttempts": "デイリーラン",
|
||||||
"dailyRunWins": "デイリーラン勝利",
|
"dailyRunWins": "デイリーラン勝利",
|
||||||
"endlessRuns": "エンドレスラン",
|
"endlessRuns": "エンドレスラン",
|
||||||
"highestWaveEndless": "エンドレス最高ウェーブ",
|
"highestWaveEndless": "エンドレス最高波",
|
||||||
"highestMoney": "最大貯金",
|
"highestMoney": "最大貯金",
|
||||||
"highestDamage": "最大ダメージ",
|
"highestDamage": "最大ダメージ",
|
||||||
"highestHPHealed": "最大HP回復",
|
"highestHPHealed": "最大HP回復",
|
||||||
"pokemonEncountered": "遭遇したポケモン",
|
"pokemonEncountered": "遭遇したポケモン",
|
||||||
"pokemonDefeated": "倒したポケモン",
|
"pokemonDefeated": "倒したポケモン",
|
||||||
"pokemonCaught": "捕まえたポケモン",
|
"pokemonCaught": "捕まえたポケモン",
|
||||||
"eggsHatched": "ふかしたタマゴ",
|
"eggsHatched": "孵化したタマゴ",
|
||||||
"subLegendsSeen": "見つけた順伝説",
|
"subLegendsSeen": "見つけた順伝説ポケモン",
|
||||||
"subLegendsCaught": "捕まえた順伝説",
|
"subLegendsCaught": "捕まえた準伝説ポケモン",
|
||||||
"subLegendsHatched": "ふかした順伝説",
|
"subLegendsHatched": "孵化した準伝説ポケモン",
|
||||||
"legendsSeen": "見つけた伝説",
|
"legendsSeen": "見つけた伝説ポケモン",
|
||||||
"legendsCaught": "捕まえた伝説",
|
"legendsCaught": "捕まえた伝説ポケモン",
|
||||||
"legendsHatched": "ふかした伝説",
|
"legendsHatched": "孵化した伝説ポケモン",
|
||||||
"mythicalsSeen": "見つけた幻ポケモン",
|
"mythicalsSeen": "見つけた幻ポケモン",
|
||||||
"mythicalsCaught": "捕まえた幻ポケモン",
|
"mythicalsCaught": "捕まえた幻ポケモン",
|
||||||
"mythicalsHatched": "ふかした幻ポケモン",
|
"mythicalsHatched": "孵化した幻ポケモン",
|
||||||
"shiniesSeen": "見つけた色違い",
|
"shiniesSeen": "見つけた色違いポケモン",
|
||||||
"shiniesCaught": "捕まえた色違い",
|
"shiniesCaught": "捕まえた色違いポケモン",
|
||||||
"shiniesHatched": "ふかした色違い",
|
"shiniesHatched": "孵化した色違いポケモン",
|
||||||
"pokemonFused": "合体したポケモン",
|
"pokemonFused": "吸収合体したポケモン",
|
||||||
"trainersDefeated": "倒したトレーナー",
|
"trainersDefeated": "倒したトレーナー",
|
||||||
"eggsPulled": "引いたタマゴ",
|
"eggsPulled": "引いたタマゴ",
|
||||||
"rareEggsPulled": "引いたレアタマゴ",
|
"rareEggsPulled": "引いたレアタマゴ",
|
||||||
|
@ -2,19 +2,22 @@
|
|||||||
"GAME_SETTINGS": "設定",
|
"GAME_SETTINGS": "設定",
|
||||||
"ACHIEVEMENTS": "実績",
|
"ACHIEVEMENTS": "実績",
|
||||||
"STATS": "統計",
|
"STATS": "統計",
|
||||||
|
"RUN_HISTORY": "ラン歴",
|
||||||
"EGG_LIST": "タマゴリスト",
|
"EGG_LIST": "タマゴリスト",
|
||||||
"EGG_GACHA": "タマゴガチャ",
|
"EGG_GACHA": "タマゴガチャ",
|
||||||
"MANAGE_DATA": "データ管理",
|
"MANAGE_DATA": "データ管理",
|
||||||
"COMMUNITY": "コミュニティ",
|
"COMMUNITY": "コミュニティ",
|
||||||
"SAVE_AND_QUIT": "保存して終了",
|
"SAVE_AND_QUIT": "セーブして終了",
|
||||||
"LOG_OUT": "ログアウト",
|
"LOG_OUT": "ログアウト",
|
||||||
"slot": "スロット {{slotNumber}}",
|
"slot": "スロット {{slotNumber}}",
|
||||||
"importSession": "セッションのインポート",
|
"importSession": "セッションをインポート",
|
||||||
"importSlotSelect": "インポート先の スロットを 選んでください",
|
"importSlotSelect": "インポート先の スロットを 選んでください",
|
||||||
"exportSession": "セッションのエクスポート",
|
"exportSession": "セッションをエクスポート",
|
||||||
"exportSlotSelect": "エクスポート元の スロットを 選んでください",
|
"exportSlotSelect": "エクスポート元の スロットを 選んでください",
|
||||||
"importData": "データのインポート",
|
"importRunHistory": "ラン歴をインポート",
|
||||||
"exportData": "データのエクスポート",
|
"exportRunHistory": "ラン歴をエクスポート",
|
||||||
|
"importData": "データをインポート",
|
||||||
|
"exportData": "データをエクスポート",
|
||||||
"consentPreferences": "同意設定",
|
"consentPreferences": "同意設定",
|
||||||
"linkDiscord": "Discord連携",
|
"linkDiscord": "Discord連携",
|
||||||
"unlinkDiscord": "Discord連携解除",
|
"unlinkDiscord": "Discord連携解除",
|
||||||
@ -22,5 +25,5 @@
|
|||||||
"unlinkGoogle": "Google連携解除",
|
"unlinkGoogle": "Google連携解除",
|
||||||
"cancel": "キャンセル",
|
"cancel": "キャンセル",
|
||||||
"losingProgressionWarning": "戦闘開始からの データが 保存されません。\nよろしいですか?",
|
"losingProgressionWarning": "戦闘開始からの データが 保存されません。\nよろしいですか?",
|
||||||
"noEggs": "現在 タマゴを ふかしていません!"
|
"noEggs": "現在は タマゴを 孵化していません!"
|
||||||
}
|
}
|
@ -1,38 +1,55 @@
|
|||||||
{
|
{
|
||||||
"cancel": "キャンセル",
|
"cancel": "キャンセル",
|
||||||
"continue": "つづきから",
|
"continue": "つづきから",
|
||||||
"loadGame": "ロードセーブ",
|
"dailyRun": "日替わりラン(ベータ版)",
|
||||||
|
"loadGame": "セーブを読み込む",
|
||||||
"newGame": "はじめから",
|
"newGame": "はじめから",
|
||||||
"username": "ユーザーめい",
|
"settings": "設定",
|
||||||
|
"selectGameMode": "ゲームモードを 選んでください。",
|
||||||
|
"logInOrCreateAccount": "始めるには、ログイン、または 登録して ください。\nメールアドレスは 必要が ありません!",
|
||||||
|
"username": "ユーザー名",
|
||||||
"password": "パスワード",
|
"password": "パスワード",
|
||||||
"login": "ログイン",
|
"login": "ログイン",
|
||||||
"orUse": "Or use",
|
"orUse": "他の\nログイン方法",
|
||||||
"register": "かいいん とうろく",
|
"register": "登録",
|
||||||
"emptyUsername": "ユーザー名は空にできません",
|
"emptyUsername": "ユーザー名を 空にする ことは できません",
|
||||||
"invalidLoginUsername": "入力したユーザー名は無効です",
|
"invalidLoginUsername": "入力されたユーザー名は無効です",
|
||||||
"invalidRegisterUsername": "ユーザー名には英文字、数字、アンダースコアのみを含める必要があります",
|
"invalidRegisterUsername": "ユーザー名には 英文字、 数字、 アンダースコアのみを 含くむ必要が あります",
|
||||||
"invalidLoginPassword": "入力したパスワードは無効です",
|
"invalidLoginPassword": "入力したパスワードは無効です",
|
||||||
"invalidRegisterPassword": "パスワードは6文字以上でなければなりません",
|
"invalidRegisterPassword": "パスワードは 6文字以上 でなければなりません",
|
||||||
"usernameAlreadyUsed": "ユーザー名は既に使用されています",
|
"usernameAlreadyUsed": "入力したユーザー名は すでに 使用されています",
|
||||||
"accountNonExistent": "ユーザーは存在しません",
|
"accountNonExistent": "入力したユーザーは 存在しません",
|
||||||
"unmatchingPassword": "パスワードが一致しません",
|
"unmatchingPassword": "入力したパスワードが 一致しません",
|
||||||
"passwordNotMatchingConfirmPassword": "パスワードは確認パスワードと一致する必要があります",
|
"passwordNotMatchingConfirmPassword": "パスワードは パスワード確認と 一致する 必要があります",
|
||||||
"confirmPassword": "パスワード確認",
|
"confirmPassword": "パスワード確認",
|
||||||
"registrationAgeWarning": "登録することで、あなたが13歳以上であることを確認します。",
|
"registrationAgeWarning": "登録では 13歳以上 であることを 確認します。",
|
||||||
"backToLogin": "ログインへ",
|
"backToLogin": "ログインへ",
|
||||||
"failedToLoadSaveData": "保存データの読み込みに失敗しました。ページを再読み込みしてください。\nこれが続く場合は、管理者に連絡してください。",
|
"failedToLoadSaveData": "セーブデータの 読み込みは 不可能でした。ページを 再読み込み してください。\n長い間に続く 場合は 管理者に 連絡してください。",
|
||||||
"sessionSuccess": "セッションが正常に読み込まれました。",
|
"sessionSuccess": "セッションが 正常に 読み込まれました。",
|
||||||
"failedToLoadSession": "セッションデータを読み込むことができませんでした。\nデータが破損している可能性があります。",
|
"failedToLoadSession": "セッションデータを 読み込むことが できませんでした。\nデータが 破損している 可能性が あります。",
|
||||||
"boyOrGirl": "おとこのこ?\nそれとも おんなのこ?",
|
"boyOrGirl": "男の子?\nそれとも 女の子?",
|
||||||
"evolving": "…おや!?\n{{pokemonName}}のようすが…!",
|
"evolving": "…おや!?\n{{pokemonName}}の 様子が…!",
|
||||||
"stoppedEvolving": "{{pokemonName}}のへんかがとまった",
|
"stoppedEvolving": "あれ…? {{pokemonName}}の 変化が 止まった!",
|
||||||
"evolutionDone": "おめでとう!\n{{pokemonName}}は{{evolvedPokemonName}}にしんかした!",
|
"pauseEvolutionsQuestion": "{{pokemonName}}の 進化を 休止しますか?\n後で 手持ち画面から 進化を また 可能にできます。",
|
||||||
"dailyRankings": "ほんじつのランキング",
|
"evolutionsPaused": "{{pokemonName}}の 進化を 休止しました。",
|
||||||
"weeklyRankings": "しゅうのランキング",
|
"evolutionDone": "おめでとう!\n{{pokemonName}}は {{evolvedPokemonName}}に 進化した!",
|
||||||
|
"dailyRankings": "今日のランキング",
|
||||||
|
"weeklyRankings": "今週のランキング",
|
||||||
"noRankings": "ランキングなし",
|
"noRankings": "ランキングなし",
|
||||||
"positionIcon": "#",
|
"positionIcon": "#",
|
||||||
"loading": "よみこみちゅう…",
|
"usernameScoreboard": "ユーザー名",
|
||||||
|
"score": "スコア",
|
||||||
|
"wave": "波",
|
||||||
|
"loading": "読み込み中…",
|
||||||
|
"loadingAsset": "読み込み中:{{assetName}}",
|
||||||
"playersOnline": "オンラインのプレイヤー",
|
"playersOnline": "オンラインのプレイヤー",
|
||||||
"yes": "はい",
|
"yes": "はい",
|
||||||
"no": "いいえ"
|
"no": "いいえ",
|
||||||
|
"disclaimer": "免責",
|
||||||
|
"disclaimerDescription": "このゲームは 未完成作品です。\nセーブデータの 損失を含める ゲーム性に関する 問題が 起きる可能性が あります。\nなお、ゲームは 予告なく変更される 可能性もあり、さらに更新され、完成されるとも 限りません。",
|
||||||
|
"choosePokemon": "ポケモンを選ぶ",
|
||||||
|
"renamePokemon": "ニックネームを変える",
|
||||||
|
"rename": "変える",
|
||||||
|
"nickname": "ニックネーム",
|
||||||
|
"errorServerDown": "おや!\nサーバーとの 接続中に 問題が 発生しました。\nゲームは 自動的に 再接続されます から\nウィンドウは 開いたままに しておいても よろしいです。"
|
||||||
}
|
}
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"transfer": "アイテム移行",
|
"transfer": "アイテム移行",
|
||||||
"reroll": "選択肢変更",
|
"reroll": "選択肢変更",
|
||||||
"lockRarities": "レア度の固定",
|
"lockRarities": "レア度を固定",
|
||||||
"checkTeam": "チームを確認",
|
"checkTeam": "手持ちを確認",
|
||||||
"transferDesc": "ポケモンの 手持ちアイテムを 移行する",
|
"transferDesc": "手持ちポケモンの 持たせるアイテムを 移行する",
|
||||||
"rerollDesc": "お金を 使って アイテムの 選択肢を 変更する",
|
"rerollDesc": "お金を 使って アイテムの 選択肢を 変更する",
|
||||||
"lockRaritiesDesc": "選択肢を 変更するときの レア度を 固定する\n(選択肢変更金額を影響する)",
|
"lockRaritiesDesc": "選択肢を 変更するときの レア度を 固定する\n(選択肢変更の価格は変わる)",
|
||||||
"checkTeamDesc": "チームの 状態を 確認する\nフォルムチェンジアイテムを 有効・無効にする",
|
"checkTeamDesc": "手持ちポケモンの 状態を 確認する\nフォルムチェンジアイテムを 有効・無効にする",
|
||||||
"rerollCost": "{{formattedMoney}}円",
|
"rerollCost": "{{formattedMoney}}円",
|
||||||
"itemCost": "{{formattedMoney}}円"
|
"itemCost": "{{formattedMoney}}円"
|
||||||
}
|
}
|
||||||
|
@ -2,21 +2,22 @@
|
|||||||
"Stat": {
|
"Stat": {
|
||||||
"HP": "HP",
|
"HP": "HP",
|
||||||
"HPshortened": "HP",
|
"HPshortened": "HP",
|
||||||
"ATK": "こうげき",
|
"ATK": "攻撃",
|
||||||
"ATKshortened": "こうげき",
|
"ATKshortened": "攻撃",
|
||||||
"DEF": "ぼうぎょ",
|
"DEF": "防御",
|
||||||
"DEFshortened": "ぼうぎょ",
|
"DEFshortened": "防御",
|
||||||
"SPATK": "とくこう",
|
"SPATK": "特攻",
|
||||||
"SPATKshortened": "とくこう",
|
"SPATKshortened": "特攻",
|
||||||
"SPDEF": "とくぼう",
|
"SPDEF": "特防",
|
||||||
"SPDEFshortened": "とくぼう",
|
"SPDEFshortened": "特防",
|
||||||
"SPD": "すばやさ",
|
"SPD": "素早さ",
|
||||||
"SPDshortened": "すばやさ",
|
"SPDshortened": "素早さ",
|
||||||
"ACC": "めいちゅう",
|
"ACC": "命中",
|
||||||
"EVA": "かいひ"
|
"EVA": "回避",
|
||||||
|
"HPStat": "HP"
|
||||||
},
|
},
|
||||||
"Type": {
|
"Type": {
|
||||||
"UNKNOWN": "Unknown",
|
"UNKNOWN": "???",
|
||||||
"NORMAL": "ノーマル",
|
"NORMAL": "ノーマル",
|
||||||
"FIGHTING": "かくとう",
|
"FIGHTING": "かくとう",
|
||||||
"FLYING": "ひこう",
|
"FLYING": "ひこう",
|
||||||
|
@ -437,7 +437,7 @@
|
|||||||
"bronzor": "ドーミラー",
|
"bronzor": "ドーミラー",
|
||||||
"bronzong": "ドータクン",
|
"bronzong": "ドータクン",
|
||||||
"bonsly": "ウソハチ",
|
"bonsly": "ウソハチ",
|
||||||
"mime_jr.": "マネネ",
|
"mime_jr": "マネネ",
|
||||||
"happiny": "ピンプク",
|
"happiny": "ピンプク",
|
||||||
"chatot": "ペラップ",
|
"chatot": "ペラップ",
|
||||||
"spiritomb": "ミカルゲ",
|
"spiritomb": "ミカルゲ",
|
||||||
@ -770,7 +770,7 @@
|
|||||||
"sandygast": "スナバァ",
|
"sandygast": "スナバァ",
|
||||||
"palossand": "シロデスナ",
|
"palossand": "シロデスナ",
|
||||||
"pyukumuku": "ナマコブシ",
|
"pyukumuku": "ナマコブシ",
|
||||||
"type:_null": "タイプ:ヌル",
|
"type_null": "タイプ:ヌル",
|
||||||
"silvally": "シルヴァディ",
|
"silvally": "シルヴァディ",
|
||||||
"minior": "メテノ",
|
"minior": "メテノ",
|
||||||
"komala": "ネッコアラ",
|
"komala": "ネッコアラ",
|
||||||
@ -863,7 +863,7 @@
|
|||||||
"obstagoon": "タチフサグマ",
|
"obstagoon": "タチフサグマ",
|
||||||
"perrserker": "ニャイキング",
|
"perrserker": "ニャイキング",
|
||||||
"cursola": "サニゴーン",
|
"cursola": "サニゴーン",
|
||||||
"sirfetch_d": "ネギガナイト",
|
"sirfetchd": "ネギガナイト",
|
||||||
"mr_rime": "バリコオル",
|
"mr_rime": "バリコオル",
|
||||||
"runerigus": "デスバーン",
|
"runerigus": "デスバーン",
|
||||||
"milcery": "マホミル",
|
"milcery": "マホミル",
|
||||||
|
@ -6,12 +6,14 @@
|
|||||||
"audio": "音声",
|
"audio": "音声",
|
||||||
"gamepad": "コントローラー",
|
"gamepad": "コントローラー",
|
||||||
"keyboard": "キーボード",
|
"keyboard": "キーボード",
|
||||||
"gameSpeed": "ゲームスピード",
|
"gameSpeed": "ゲームの速さ",
|
||||||
"hpBarSpeed": "HPバーの増減スピード",
|
"hpBarSpeed": "HPバー増減の速さ",
|
||||||
"expGainsSpeed": "EXPバーの増加スピード",
|
"expGainsSpeed": "経験値バー増加の速さ",
|
||||||
"expPartyDisplay": "パーティの経験値取得表示",
|
"expPartyDisplay": "手持ちの経験値取得表示",
|
||||||
|
"skipSeenDialogues": "もう見た話をスキップ",
|
||||||
"battleStyle": "試合のルール",
|
"battleStyle": "試合のルール",
|
||||||
"enableRetries": "リトライを有効にする",
|
"enableRetries": "再挑戦を有効にする",
|
||||||
|
"hideIvs": "個体値スキャナーを隠す",
|
||||||
"tutorials": "チュートリアル",
|
"tutorials": "チュートリアル",
|
||||||
"touchControls": "タッチ操作",
|
"touchControls": "タッチ操作",
|
||||||
"vibrations": "振動",
|
"vibrations": "振動",
|
||||||
@ -35,33 +37,71 @@
|
|||||||
"moneyFormat": "お金の表示形式",
|
"moneyFormat": "お金の表示形式",
|
||||||
"damageNumbers": "ダメージ表示",
|
"damageNumbers": "ダメージ表示",
|
||||||
"simple": "シンプル",
|
"simple": "シンプル",
|
||||||
"fancy": "Fancy",
|
"fancy": "オシャレ",
|
||||||
"abbreviated": "省略",
|
"abbreviated": "省略",
|
||||||
"moveAnimations": "戦闘アニメ",
|
"moveAnimations": "戦闘アニメーション",
|
||||||
"showStatsOnLevelUp": "レベルアップ時のステータス表示",
|
"showStatsOnLevelUp": "レベルアップ時のステータス表示",
|
||||||
|
"candyUpgradeNotification": "飴アプグレ通知",
|
||||||
"passivesOnly": "パッシブのみ",
|
"passivesOnly": "パッシブのみ",
|
||||||
|
"candyUpgradeDisplay": "飴アプグレ表示",
|
||||||
"icon": "アイコン",
|
"icon": "アイコン",
|
||||||
"animation": "アニメーション",
|
"animation": "アニメーション",
|
||||||
"moveInfo": "技の情報表示",
|
"moveInfo": "技情報",
|
||||||
|
"showMovesetFlyout": "技情報表示",
|
||||||
|
"showArenaFlyout": "戦場情報表示",
|
||||||
|
"showTimeOfDayWidget": "時刻指標",
|
||||||
|
"timeOfDayAnimation": "時刻指標アニメーション",
|
||||||
|
"bounce": "跳ねる",
|
||||||
|
"timeOfDay_back": "跳ね返る",
|
||||||
|
"spriteSet": "スプライト設定",
|
||||||
|
"consistent": "一貫",
|
||||||
|
"mixedAnimated": "アニメーションミックス",
|
||||||
|
"fusionPaletteSwaps": "吸収合体ポケモンの色違い",
|
||||||
"playerGender": "プレイヤーの性別",
|
"playerGender": "プレイヤーの性別",
|
||||||
"typeHints": "相性のヒント",
|
"typeHints": "タイプ相性ヒント",
|
||||||
"masterVolume": "マスターボリューム",
|
"masterVolume": "マスターボリューム",
|
||||||
"bgmVolume": "BGMのボリューム",
|
"bgmVolume": "BGMボリューム",
|
||||||
"seVolume": "SEのボリューム",
|
"fieldVolume": "フィールドボリューム",
|
||||||
|
"seVolume": "SEボリューム",
|
||||||
|
"uiVolume": "UIボリューム",
|
||||||
|
"musicPreference": "BGM設定",
|
||||||
|
"mixed": "ミックス",
|
||||||
|
"gamepadPleasePlug": "コントローラーを 接続してください\nまたは、ボタンを 押してください",
|
||||||
|
"delete": "削除",
|
||||||
|
"keyboardPleasePress": "キーを押してください",
|
||||||
"reset": "リセット",
|
"reset": "リセット",
|
||||||
"requireReload": "再読み込みが必要",
|
"requireReload": "再読み込みが必要",
|
||||||
"action": "決定",
|
"action": "決定",
|
||||||
"back": "戻る",
|
"back": "戻る",
|
||||||
|
"pressToBind": "押下でキーバインド",
|
||||||
|
"pressButton": "ボタンを押してください",
|
||||||
"buttonUp": "上",
|
"buttonUp": "上",
|
||||||
"buttonDown": "下",
|
"buttonDown": "下",
|
||||||
"buttonLeft": "左",
|
"buttonLeft": "左",
|
||||||
"buttonRight": "右",
|
"buttonRight": "右",
|
||||||
"buttonAction": "決定",
|
"buttonAction": "決定",
|
||||||
"buttonMenu": "メニュー",
|
"buttonMenu": "メニュー",
|
||||||
"buttonSubmit": "Submit",
|
"buttonSubmit": "提出",
|
||||||
"buttonCancel": "キャンセル",
|
"buttonCancel": "キャンセル",
|
||||||
"alt": " (代替)",
|
"buttonStats": "能力変化表示",
|
||||||
|
"buttonCycleForm": "フォルム変更",
|
||||||
|
"buttonCycleShiny": "色違い変更",
|
||||||
|
"buttonCycleGender": "性別変更",
|
||||||
|
"buttonCycleAbility": "特性変更",
|
||||||
|
"buttonCycleNature": "性格変更",
|
||||||
|
"buttonCycleVariant": "色変更",
|
||||||
|
"buttonSpeedUp": "速さを上げる",
|
||||||
|
"buttonSlowDown": "速さを下げる",
|
||||||
|
"alt": "(代替)",
|
||||||
"mute": "ミュート",
|
"mute": "ミュート",
|
||||||
"controller": "コントローラー",
|
"controller": "コントローラー",
|
||||||
"gamepadSupport": "コントローラーサポート"
|
"gamepadSupport": "コントローラーサポート",
|
||||||
|
"showBgmBar": "BGMの名前を表示",
|
||||||
|
"moveTouchControls": "タッチ移動操作",
|
||||||
|
"shopOverlayOpacity": "ショップオーバレイ不透明度",
|
||||||
|
"shopCursorTarget": "ショップカーソル初位置",
|
||||||
|
"items": "アイテム",
|
||||||
|
"reroll": "選択肢変更",
|
||||||
|
"shop": "ショップ",
|
||||||
|
"checkTeam": "手持ちを確認"
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"confirmStartTeam": "この条件で チャレンジを 始めますか?",
|
"confirmStartTeam": "この手持ちで 始めますか?",
|
||||||
"confirmExit": "終了しますか?",
|
"confirmExit": "終了しますか?",
|
||||||
"invalidParty": "手持ちは チャレンジの 条件で 認められない!",
|
"invalidParty": "手持ちは チャレンジの 条件で 認められない!",
|
||||||
"gen1": "1世代",
|
"gen1": "1世代",
|
||||||
@ -16,8 +16,8 @@
|
|||||||
"passive": "パッシブ:",
|
"passive": "パッシブ:",
|
||||||
"nature": "性格:",
|
"nature": "性格:",
|
||||||
"eggMoves": "タマゴ技",
|
"eggMoves": "タマゴ技",
|
||||||
"start": "始める",
|
|
||||||
"addToParty": "手持ちに入れる",
|
"addToParty": "手持ちに入れる",
|
||||||
|
"removeFromParty": "手持ちから除く",
|
||||||
"toggleIVs": "個体値を表示",
|
"toggleIVs": "個体値を表示",
|
||||||
"manageMoves": "技を並び替える",
|
"manageMoves": "技を並び替える",
|
||||||
"manageNature": "性格を変える",
|
"manageNature": "性格を変える",
|
||||||
@ -36,9 +36,10 @@
|
|||||||
"cycleAbility": ": 特性変更",
|
"cycleAbility": ": 特性変更",
|
||||||
"cycleNature": ": 性格変更",
|
"cycleNature": ": 性格変更",
|
||||||
"cycleVariant": ": 色変更",
|
"cycleVariant": ": 色変更",
|
||||||
|
"goFilter": ": フィルタ へ ",
|
||||||
"enablePassive": "パッシブ - オン",
|
"enablePassive": "パッシブ - オン",
|
||||||
"disablePassive": "パッシブ - オフ",
|
"disablePassive": "パッシブ - オフ",
|
||||||
"locked": "開放されていない",
|
"locked": "非開放",
|
||||||
"disabled": "無効",
|
"disabled": "無効",
|
||||||
"uncaught": "捕まっていない"
|
"uncaught": "捕まっていない"
|
||||||
}
|
}
|
@ -47,5 +47,11 @@
|
|||||||
"tailwindOnRemovePlayer": "우리 편의\n순풍이 멈췄다!",
|
"tailwindOnRemovePlayer": "우리 편의\n순풍이 멈췄다!",
|
||||||
"tailwindOnRemoveEnemy": "상대의\n순풍이 멈췄다!",
|
"tailwindOnRemoveEnemy": "상대의\n순풍이 멈췄다!",
|
||||||
"happyHourOnAdd": "모두 행복한 기분에\n휩싸였다!",
|
"happyHourOnAdd": "모두 행복한 기분에\n휩싸였다!",
|
||||||
"happyHourOnRemove": "기분이 원래대로 돌아왔다."
|
"happyHourOnRemove": "기분이 원래대로 돌아왔다.",
|
||||||
|
"safeguardOnAdd": "필드 전체가 신비의 베일에 둘러싸였다!",
|
||||||
|
"safeguardOnAddPlayer": "우리 편은 신비의 베일에 둘러싸였다!",
|
||||||
|
"safeguardOnAddEnemy": "상대 편은 신비의 베일에 둘러싸였다!",
|
||||||
|
"safeguardOnRemove": "필드를 감싸던 신비의 베일이 없어졌다!",
|
||||||
|
"safeguardOnRemovePlayer": "우리 편을 감싸던 신비의 베일이 없어졌다!",
|
||||||
|
"safeguardOnRemoveEnemy": "상대 편을 감싸던 신비의 베일이 없어졌다!"
|
||||||
}
|
}
|
@ -61,5 +61,6 @@
|
|||||||
"suppressAbilities": "{{pokemonName}}의\n특성이 효과를 발휘하지 못하게 되었다!",
|
"suppressAbilities": "{{pokemonName}}의\n특성이 효과를 발휘하지 못하게 되었다!",
|
||||||
"revivalBlessing": "{{pokemonName}}[[는]]\n정신을 차려 싸울 수 있게 되었다!",
|
"revivalBlessing": "{{pokemonName}}[[는]]\n정신을 차려 싸울 수 있게 되었다!",
|
||||||
"swapArenaTags": "{{pokemonName}}[[는]]\n서로의 필드 효과를 교체했다!",
|
"swapArenaTags": "{{pokemonName}}[[는]]\n서로의 필드 효과를 교체했다!",
|
||||||
"exposedMove": "{{pokemonName}}[[는]]\n{{targetPokemonName}}의 정체를 꿰뚫어 보았다!"
|
"exposedMove": "{{pokemonName}}[[는]]\n{{targetPokemonName}}의 정체를 꿰뚫어 보았다!",
|
||||||
|
"safeguard": "{{targetName}}[[는]] 신비의 베일이 지켜 주고 있다!"
|
||||||
}
|
}
|
@ -47,5 +47,11 @@
|
|||||||
"tailwindOnRemovePlayer": "O Tailwind de sua equipe acabou!",
|
"tailwindOnRemovePlayer": "O Tailwind de sua equipe acabou!",
|
||||||
"tailwindOnRemoveEnemy": "O Tailwind da equipe adversária acabou!",
|
"tailwindOnRemoveEnemy": "O Tailwind da equipe adversária acabou!",
|
||||||
"happyHourOnAdd": "Todos foram envolvidos por uma atmosfera alegre!",
|
"happyHourOnAdd": "Todos foram envolvidos por uma atmosfera alegre!",
|
||||||
"happyHourOnRemove": "A atmosfera retornou ao normal."
|
"happyHourOnRemove": "A atmosfera retornou ao normal.",
|
||||||
|
"safeguardOnAdd": "O campo de batalha está envolto num véu místico!",
|
||||||
|
"safeguardOnAddPlayer": "Sua equipe se envolveu num véu místico!",
|
||||||
|
"safeguardOnAddEnemy": "A equipe adversária se envolveu num véu místico!",
|
||||||
|
"safeguardOnRemove": "O campo não está mais protegido por Safeguard!",
|
||||||
|
"safeguardOnRemovePlayer": "Sua equipe não está mais protegido por Safeguard!",
|
||||||
|
"safeguardOnRemoveEnemy": "A equipe adversária não está mais protegido por Safeguard!"
|
||||||
}
|
}
|
@ -14,8 +14,8 @@
|
|||||||
"importSlotSelect": "Selecione um slot para importar.",
|
"importSlotSelect": "Selecione um slot para importar.",
|
||||||
"exportSession": "Exportar sessão",
|
"exportSession": "Exportar sessão",
|
||||||
"exportSlotSelect": "Selecione um slot para exportar.",
|
"exportSlotSelect": "Selecione um slot para exportar.",
|
||||||
"importRunHistory":"Importar Histórico de Jogos",
|
"importRunHistory": "Importar Histórico de Jogos",
|
||||||
"exportRunHistory":"Exportar Histórico de Jogos",
|
"exportRunHistory": "Exportar Histórico de Jogos",
|
||||||
"importData": "Importar dados",
|
"importData": "Importar dados",
|
||||||
"exportData": "Exportar dados",
|
"exportData": "Exportar dados",
|
||||||
"consentPreferences": "Opções de Privacidade",
|
"consentPreferences": "Opções de Privacidade",
|
||||||
@ -25,5 +25,5 @@
|
|||||||
"unlinkGoogle": "Desconectar Google",
|
"unlinkGoogle": "Desconectar Google",
|
||||||
"cancel": "Cancelar",
|
"cancel": "Cancelar",
|
||||||
"losingProgressionWarning": "Você vai perder todo o progresso desde o início da batalha. Confirmar?",
|
"losingProgressionWarning": "Você vai perder todo o progresso desde o início da batalha. Confirmar?",
|
||||||
"noEggs": "Você não está chocando\nnenhum ovo no momento!"
|
"noEggs": "Você não está chocando nenhum ovo\nno momento!"
|
||||||
}
|
}
|
@ -61,5 +61,6 @@
|
|||||||
"suppressAbilities": "A habilidade de {{pokemonName}}\nfoi suprimida!",
|
"suppressAbilities": "A habilidade de {{pokemonName}}\nfoi suprimida!",
|
||||||
"revivalBlessing": "{{pokemonName}} foi reanimado!",
|
"revivalBlessing": "{{pokemonName}} foi reanimado!",
|
||||||
"swapArenaTags": "{{pokemonName}} trocou os efeitos de batalha que afetam cada lado do campo!",
|
"swapArenaTags": "{{pokemonName}} trocou os efeitos de batalha que afetam cada lado do campo!",
|
||||||
"exposedMove": "{{pokemonName}} identificou\n{{targetPokemonName}}!"
|
"exposedMove": "{{pokemonName}} identificou\n{{targetPokemonName}}!",
|
||||||
|
"safeguard": "{{targetName}} está protegido por Safeguard!"
|
||||||
}
|
}
|
@ -13,5 +13,32 @@
|
|||||||
"metFragment": {
|
"metFragment": {
|
||||||
"normal": "encontrado no Nv.{{level}},\n{{biome}}.",
|
"normal": "encontrado no Nv.{{level}},\n{{biome}}.",
|
||||||
"apparently": "aparentemente encontrado no Nv.{{level}},\n{{biome}}."
|
"apparently": "aparentemente encontrado no Nv.{{level}},\n{{biome}}."
|
||||||
|
},
|
||||||
|
"natureFragment": {
|
||||||
|
"Hardy": "{{nature}}",
|
||||||
|
"Lonely": "{{nature}}",
|
||||||
|
"Brave": "{{nature}}",
|
||||||
|
"Adamant": "{{nature}}",
|
||||||
|
"Naughty": "{{nature}}",
|
||||||
|
"Bold": "{{nature}}",
|
||||||
|
"Docile": "{{nature}}",
|
||||||
|
"Relaxed": "{{nature}}",
|
||||||
|
"Impish": "{{nature}}",
|
||||||
|
"Lax": "{{nature}}",
|
||||||
|
"Timid": "{{nature}}",
|
||||||
|
"Hasty": "{{nature}}",
|
||||||
|
"Serious": "{{nature}}",
|
||||||
|
"Jolly": "{{nature}}",
|
||||||
|
"Naive": "{{nature}}",
|
||||||
|
"Modest": "{{nature}}",
|
||||||
|
"Mild": "{{nature}}",
|
||||||
|
"Quiet": "{{nature}}",
|
||||||
|
"Bashful": "{{nature}}",
|
||||||
|
"Rash": "{{nature}}",
|
||||||
|
"Calm": "{{nature}}",
|
||||||
|
"Gentle": "{{nature}}",
|
||||||
|
"Sassy": "{{nature}}",
|
||||||
|
"Careful": "{{nature}}",
|
||||||
|
"Quirky": "{{nature}}"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"intro": "Bem-vindo ao PokéRogue! Este é um jogo Pokémon feito por fãs focado em batalhas com elementos roguelite.\n$Este jogo não é monetizado e não reivindicamos propriedade de Pokémon nem dos ativos protegidos\n$por direitos autorais usados.\n$O jogo é um trabalho em andamento, mas é totalmente jogável.\n$Para relatórios de bugs, use a comunidade no Discord.\n$Se o jogo estiver rodando lentamente, certifique-se de que a 'Aceleração de hardware' esteja ativada \n$nas configurações do seu navegador.",
|
"intro": "Bem-vindo ao PokéRogue!\n$Este é um fangame Pokémon focado em batalhas com elementos roguelite.\n$Este jogo não é monetizado e não reivindicamos propriedade do Pokémon nem dos ativos protegidos$por direitos autorais usados.\n$O jogo é um trabalho em andamento,\nmas totalmente jogável.\n$Para relatórios de bugs, use a comunidade do Discord.\n$Se o jogo rodar lentamente, certifique-se de que\na 'Aceleração de Hardware' esteja ativada$nas configurações do seu navegador.",
|
||||||
"accessMenu": "Para acessar o menu, pressione M ou Esc.\n$O menu contém configurações e diversas funções.",
|
"accessMenu": "Para acessar o menu, pressione M ou Esc.\n$O menu contém configurações e diversas funções.",
|
||||||
"menu": "A partir deste menu, você pode acessar as configurações. \n$Nas configurações, você pode alterar a velocidade do jogo,\n$o estilo da janela, entre outras opções. \n$Existem também vários outros recursos disponíveis aqui.\n$Não deixe de conferir todos eles!",
|
"menu": "A partir deste menu, você pode\\nacessar as configurações.\n$A partir das configurações, você\npode alterar a velocidade do jogo,\n$o estilo da janela e outras opções.\n$Há também vários outros recursos aqui.\nCertifique-se de verificar todos eles!",
|
||||||
"starterSelect": "Aqui você pode escolher seus iniciais apertando a tecla Z ou\na Barra de Espaço.\n$Esses serão os primeiro Pokémon da sua equipe.\n$Cada inicial tem seu custo. Sua equipe pode ter até 6\nmembros, desde que a soma dos custos não ultrapasse 10. \n$Você pode escolher o gênero, a habilidade\ne até a forma do seu inicial.\n$Essas opções dependem das variantes dessa\nespécie que você já capturou ou chocou. \n$Os IVs de cada inicial são os melhores de todos os Pokémon\ndaquela espécie que você já capturou ou chocou.\n$Sempre capture vários Pokémon de várias espécies!",
|
"starterSelect": "Nesta tela, você pode selecionar seus iniciais\npressionando Z ou a barra de espaço.\n$Esses serão os primeiros membros da sua equipe.\n$Cada inicial tem um custo. Sua equipe pode ter até 6 membros,\ndesde que desde que o custo total não exceda 10.\n$Você pode escolher o gênero, a habilidade\ne até a forma do seu inicial.\n$Essas opções dependem das variantes dessa\nespécie que você já capturou ou chocou.\n$Os IVs de cada inicial são os melhores de todos os Pokémon\ndaquela espécie que você já capturou ou chocou.\n$Sempre capture vários Pokémon de todas as espécies!",
|
||||||
"pokerus": "Todo dia, 3 Pokémon iniciais ficam com uma borda roxa.\n$Caso veja um inicial que você possui com uma dessa, tente\nadicioná-lo a sua equipe. Lembre-se de olhar seu sumário!",
|
"pokerus": "Todo dia, 3 Pokémon iniciais ficam com uma borda roxa.\n$Caso veja um inicial que você possui com uma dessa, tente\nadicioná-lo a sua equipe. Lembre-se de olhar seu sumário!",
|
||||||
"statChange": "As mudanças de atributos se mantém após a batalha desde que o Pokémon não seja trocado.\n$Seus Pokémon voltam a suas Poké Bolas antes de batalhas contra treinadores e de entrar em um novo bioma.\n$Para ver as mudanças de atributos dos Pokémon em campo, mantena C ou Shift pressionado durante a batalha.",
|
"statChange": "As mudanças de atributos se mantém após a batalha desde que o Pokémon não seja trocado.\n$Seus Pokémon voltam a suas Poké Bolas antes de batalhas contra treinadores e de entrar em um novo bioma.\n$Para ver as mudanças de atributos dos Pokémon em campo, mantena C ou Shift pressionado durante a batalha.",
|
||||||
"selectItem": "Após cada batalha, você pode escolher entre 3 itens aleatórios.\n$Você pode escolher apenas um deles.\n$Esses itens variam entre consumíveis, itens de segurar e itens passivos permanentes.\n$A maioria dos efeitos de itens não consumíveis podem ser acumulados.\n$Alguns itens só aparecerão se puderem ser usados, como os itens de evolução.\n$Você também pode transferir itens de segurar entre os Pokémon utilizando a opção \"Alterar\".\n$A opção de transferir irá aparecer no canto inferior direito assim que você obter um item de segurar.\n$Você pode comprar itens consumíveis com dinheiro, e sua variedade aumentará conforme você for mais longe.\n$Certifique-se de comprá-los antes de escolher seu item aleatório. Ao escolhê-lo, a próxima batalha começará.",
|
"selectItem": "Após cada batalha, você pode escolher entre 3 itens aleatórios.\n$Você pode escolher apenas um deles.\n$Esses itens variam entre consumíveis, itens de segurar e itens passivos permanentes.\n$A maioria dos efeitos de itens não consumíveis podem ser acumulados.\n$Alguns itens só aparecerão se puderem ser usados, como os itens de evolução.\n$Você também pode transferir itens de segurar entre os Pokémon utilizando a opção \"Alterar\".\n$A opção de transferir irá aparecer no canto inferior direito assim que você obter um item de segurar.\n$Você pode comprar itens consumíveis com dinheiro, e sua variedade aumentará conforme você for mais longe.\n$Certifique-se de comprá-los antes de escolher seu item aleatório. Ao escolhê-lo, a próxima batalha começará.",
|
||||||
"eggGacha": "Aqui você pode trocar seus vouchers\npor ovos de Pokémon.\n$Ovos ficam mais próximos de chocar após cada batalha.\nOvos mais raros demoram mais para chocar.\n$Pokémon chocados não serão adicionados a sua equipe,\nmas sim aos seus iniciais.\n$Pokémon chocados geralmente possuem IVs melhores\nque Pokémon selvagens.\n$Alguns Pokémon só podem ser obtidos através de seus ovos.\n$Temos 3 máquinas, cada uma com seu bônus específico,\nentão escolha a que mais lhe convém!"
|
"eggGacha": "Nesta tela, você pode trocar seus vouchers por ovos\nde Pokémon.\n$Ovos ficam mais próximos de chocar após cada batalha.\nOvos mais raros demoram mais tempo para chocar.\n$Pokémon chocados não serão adicionados a sua equipe,\nmas sim aos seus iniciais.\n$Pokémon chocados de ovos geralmente têm IVs melhores\ndo que Pokémon selvagens.\n$Alguns Pokémon só podem ser obtidos através de ovos.\n$Existem 3 máquinas para usar com diferentes bônus, então\nescolha a que mais lhe convém!"
|
||||||
}
|
}
|
||||||
|
@ -47,5 +47,11 @@
|
|||||||
"tailwindOnRemovePlayer": "我方的顺风停止了!",
|
"tailwindOnRemovePlayer": "我方的顺风停止了!",
|
||||||
"tailwindOnRemoveEnemy": "敌方的顺风停止了!",
|
"tailwindOnRemoveEnemy": "敌方的顺风停止了!",
|
||||||
"happyHourOnAdd": "大家被欢乐的\n气氛包围了!",
|
"happyHourOnAdd": "大家被欢乐的\n气氛包围了!",
|
||||||
"happyHourOnRemove": "气氛回复到平常了。"
|
"happyHourOnRemove": "气氛回复到平常了。",
|
||||||
|
"safeguardOnAdd": "整个场地被\n神秘之幕包围了!",
|
||||||
|
"safeguardOnAddPlayer": "我方被\n神秘之幕包围了!",
|
||||||
|
"safeguardOnAddEnemy": "对手被\n神秘之幕包围了!",
|
||||||
|
"safeguardOnRemove": "包围整个场地的\n神秘之幕消失了!",
|
||||||
|
"safeguardOnRemovePlayer": "包围我方的\n神秘之幕消失了!",
|
||||||
|
"safeguardOnRemoveEnemy": "包围对手的\n神秘之幕消失了!"
|
||||||
}
|
}
|
@ -61,5 +61,6 @@
|
|||||||
"suppressAbilities": "{{pokemonName}}的特性\n变得无效了!",
|
"suppressAbilities": "{{pokemonName}}的特性\n变得无效了!",
|
||||||
"revivalBlessing": "{{pokemonName}}复活了!",
|
"revivalBlessing": "{{pokemonName}}复活了!",
|
||||||
"swapArenaTags": "{{pokemonName}}\n交换了双方的场地效果!",
|
"swapArenaTags": "{{pokemonName}}\n交换了双方的场地效果!",
|
||||||
"exposedMove": "{{pokemonName}}识破了\n{{targetPokemonName}}的原型!"
|
"exposedMove": "{{pokemonName}}识破了\n{{targetPokemonName}}的原型!",
|
||||||
|
"safeguard": "{{targetName}}\n正受到神秘之幕的保护!"
|
||||||
}
|
}
|
@ -1,5 +1,11 @@
|
|||||||
{
|
{
|
||||||
"noCritOnAddPlayer": "{{moveName}}保護了你的\n隊伍不被擊中要害!",
|
"noCritOnAddPlayer": "{{moveName}}保護了你的\n隊伍不被擊中要害!",
|
||||||
"noCritOnAddEnemy": "{{moveName}}保護了對方的\n隊伍不被擊中要害!",
|
"noCritOnAddEnemy": "{{moveName}}保護了對方的\n隊伍不被擊中要害!",
|
||||||
"noCritOnRemove": "{{pokemonNameWithAffix}}的{{moveName}}\n效果消失了!"
|
"noCritOnRemove": "{{pokemonNameWithAffix}}的{{moveName}}\n效果消失了!",
|
||||||
|
"safeguardOnAdd": "整個場地被\n神秘之幕包圍了!",
|
||||||
|
"safeguardOnAddPlayer": "我方被\n神秘之幕包圍了!",
|
||||||
|
"safeguardOnAddEnemy": "對手被\n神秘之幕包圍了!",
|
||||||
|
"safeguardOnRemove": "包圍整個場地的\n神秘之幕消失了!",
|
||||||
|
"safeguardOnRemovePlayer": "包圍我方的\n神秘之幕消失了!",
|
||||||
|
"safeguardOnRemoveEnemy": "包圍對手的\n神秘之幕消失了!"
|
||||||
}
|
}
|
@ -61,5 +61,6 @@
|
|||||||
"suppressAbilities": "{{pokemonName}}的特性\n變得無效了!",
|
"suppressAbilities": "{{pokemonName}}的特性\n變得無效了!",
|
||||||
"revivalBlessing": "{{pokemonName}}復活了!",
|
"revivalBlessing": "{{pokemonName}}復活了!",
|
||||||
"swapArenaTags": "{{pokemonName}}\n交換了雙方的場地效果!",
|
"swapArenaTags": "{{pokemonName}}\n交換了雙方的場地效果!",
|
||||||
"exposedMove": "{{pokemonName}}識破了\n{{targetPokemonName}}的原形!"
|
"exposedMove": "{{pokemonName}}識破了\n{{targetPokemonName}}的原形!",
|
||||||
|
"safeguard": "{{targetName}}\n正受到神秘之幕的保護!"
|
||||||
}
|
}
|
@ -12,7 +12,7 @@ import { getPokemonNameWithAffix } from "../messages";
|
|||||||
import * as Utils from "../utils";
|
import * as Utils from "../utils";
|
||||||
import { TempBattleStat } from "../data/temp-battle-stat";
|
import { TempBattleStat } from "../data/temp-battle-stat";
|
||||||
import { getBerryEffectFunc, getBerryPredicate } from "../data/berry";
|
import { getBerryEffectFunc, getBerryPredicate } from "../data/berry";
|
||||||
import { BattlerTagType} from "#enums/battler-tag-type";
|
import { BattlerTagType } from "#enums/battler-tag-type";
|
||||||
import { BerryType } from "#enums/berry-type";
|
import { BerryType } from "#enums/berry-type";
|
||||||
import { StatusEffect, getStatusEffectHealText } from "../data/status-effect";
|
import { StatusEffect, getStatusEffectHealText } from "../data/status-effect";
|
||||||
import { achvs } from "../system/achv";
|
import { achvs } from "../system/achv";
|
||||||
@ -2193,7 +2193,7 @@ export class ShinyRateBoosterModifier extends PersistentModifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
apply(args: any[]): boolean {
|
apply(args: any[]): boolean {
|
||||||
(args[0] as Utils.IntegerHolder).value *= Math.pow(2, 2 + this.getStackCount());
|
(args[0] as Utils.IntegerHolder).value *= Math.pow(2, 1 + this.getStackCount());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -23,12 +23,6 @@ export class BattleEndPhase extends BattlePhase {
|
|||||||
this.scene.unshiftPhase(new GameOverPhase(this.scene, true));
|
this.scene.unshiftPhase(new GameOverPhase(this.scene, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const pokemon of this.scene.getField()) {
|
|
||||||
if (pokemon) {
|
|
||||||
pokemon.resetBattleSummonData();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const pokemon of this.scene.getParty().filter(p => p.isAllowedInBattle())) {
|
for (const pokemon of this.scene.getParty().filter(p => p.isAllowedInBattle())) {
|
||||||
applyPostBattleAbAttrs(PostBattleAbAttr, pokemon);
|
applyPostBattleAbAttrs(PostBattleAbAttr, pokemon);
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import BattleScene from "#app/battle-scene.js";
|
import BattleScene from "#app/battle-scene.js";
|
||||||
import { BattlerIndex } from "#app/battle.js";
|
import { BattlerIndex } from "#app/battle.js";
|
||||||
import { applyAbAttrs, RedirectMoveAbAttr, BlockRedirectAbAttr, IncreasePpAbAttr, applyPreAttackAbAttrs, PokemonTypeChangeAbAttr, applyPostMoveUsedAbAttrs, PostMoveUsedAbAttr } from "#app/data/ability.js";
|
import { applyAbAttrs, applyPostMoveUsedAbAttrs, applyPreAttackAbAttrs, BlockRedirectAbAttr, IncreasePpAbAttr, PokemonTypeChangeAbAttr, PostMoveUsedAbAttr, RedirectMoveAbAttr } from "#app/data/ability.js";
|
||||||
import { CommonAnim } from "#app/data/battle-anims.js";
|
import { CommonAnim } from "#app/data/battle-anims.js";
|
||||||
import { CenterOfAttentionTag, BattlerTagLapseType } from "#app/data/battler-tags.js";
|
import { BattlerTagLapseType, CenterOfAttentionTag } from "#app/data/battler-tags.js";
|
||||||
import { MoveFlags, BypassRedirectAttr, allMoves, CopyMoveAttr, applyMoveAttrs, BypassSleepAttr, HealStatusEffectAttr, ChargeAttr, PreMoveMessageAttr } from "#app/data/move.js";
|
import { allMoves, applyMoveAttrs, BypassRedirectAttr, BypassSleepAttr, ChargeAttr, CopyMoveAttr, HealStatusEffectAttr, MoveFlags, PreMoveMessageAttr } from "#app/data/move.js";
|
||||||
import { SpeciesFormChangePreMoveTrigger } from "#app/data/pokemon-forms.js";
|
import { SpeciesFormChangePreMoveTrigger } from "#app/data/pokemon-forms.js";
|
||||||
import { getStatusEffectActivationText, getStatusEffectHealText } from "#app/data/status-effect.js";
|
import { getStatusEffectActivationText, getStatusEffectHealText } from "#app/data/status-effect.js";
|
||||||
import { Type } from "#app/data/type.js";
|
import { Type } from "#app/data/type.js";
|
||||||
@ -13,10 +13,10 @@ import { BattlerTagType } from "#app/enums/battler-tag-type.js";
|
|||||||
import { Moves } from "#app/enums/moves.js";
|
import { Moves } from "#app/enums/moves.js";
|
||||||
import { StatusEffect } from "#app/enums/status-effect.js";
|
import { StatusEffect } from "#app/enums/status-effect.js";
|
||||||
import { MoveUsedEvent } from "#app/events/battle-scene.js";
|
import { MoveUsedEvent } from "#app/events/battle-scene.js";
|
||||||
import Pokemon, { PokemonMove, MoveResult, TurnMove } from "#app/field/pokemon.js";
|
import Pokemon, { MoveResult, PokemonMove, TurnMove } from "#app/field/pokemon.js";
|
||||||
import { getPokemonNameWithAffix } from "#app/messages.js";
|
import { getPokemonNameWithAffix } from "#app/messages.js";
|
||||||
import i18next from "i18next";
|
|
||||||
import * as Utils from "#app/utils.js";
|
import * as Utils from "#app/utils.js";
|
||||||
|
import i18next from "i18next";
|
||||||
import { BattlePhase } from "./battle-phase";
|
import { BattlePhase } from "./battle-phase";
|
||||||
import { CommonAnimPhase } from "./common-anim-phase";
|
import { CommonAnimPhase } from "./common-anim-phase";
|
||||||
import { MoveEffectPhase } from "./move-effect-phase";
|
import { MoveEffectPhase } from "./move-effect-phase";
|
||||||
@ -38,8 +38,8 @@ export class MovePhase extends BattlePhase {
|
|||||||
this.pokemon = pokemon;
|
this.pokemon = pokemon;
|
||||||
this.targets = targets;
|
this.targets = targets;
|
||||||
this.move = move;
|
this.move = move;
|
||||||
this.followUp = !!followUp;
|
this.followUp = followUp ?? false;
|
||||||
this.ignorePp = !!ignorePp;
|
this.ignorePp = ignorePp ?? false;
|
||||||
this.failed = false;
|
this.failed = false;
|
||||||
this.cancelled = false;
|
this.cancelled = false;
|
||||||
}
|
}
|
||||||
@ -194,7 +194,7 @@ export class MovePhase extends BattlePhase {
|
|||||||
return this.end();
|
return this.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!moveQueue.length || !moveQueue.shift()?.ignorePP) { // using .shift here clears out two turn moves once they've been used
|
if ((!moveQueue.length || !moveQueue.shift()?.ignorePP) && !this.ignorePp) { // using .shift here clears out two turn moves once they've been used
|
||||||
this.move.usePp(ppUsed);
|
this.move.usePp(ppUsed);
|
||||||
this.scene.eventTarget.dispatchEvent(new MoveUsedEvent(this.pokemon?.id, this.move.getMove(), this.move.ppUsed));
|
this.scene.eventTarget.dispatchEvent(new MoveUsedEvent(this.pokemon?.id, this.move.getMove(), this.move.ppUsed));
|
||||||
}
|
}
|
||||||
|
64
src/test/abilities/dancer.test.ts
Normal file
64
src/test/abilities/dancer.test.ts
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
import { BattlerIndex } from "#app/battle";
|
||||||
|
import { MovePhase } from "#app/phases/move-phase";
|
||||||
|
import { Abilities } from "#enums/abilities";
|
||||||
|
import { Moves } from "#enums/moves";
|
||||||
|
import { Species } from "#enums/species";
|
||||||
|
import GameManager from "#test/utils/gameManager";
|
||||||
|
import Phaser from "phaser";
|
||||||
|
import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
||||||
|
|
||||||
|
const TIMEOUT = 20 * 1000;
|
||||||
|
|
||||||
|
describe("Abilities - Dancer", () => {
|
||||||
|
let phaserGame: Phaser.Game;
|
||||||
|
let game: GameManager;
|
||||||
|
|
||||||
|
beforeAll(() => {
|
||||||
|
phaserGame = new Phaser.Game({
|
||||||
|
type: Phaser.HEADLESS,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
game.phaseInterceptor.restoreOg();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
game = new GameManager(phaserGame);
|
||||||
|
game.override
|
||||||
|
.battleType("double")
|
||||||
|
.moveset([Moves.SWORDS_DANCE, Moves.SPLASH])
|
||||||
|
.enemySpecies(Species.MAGIKARP)
|
||||||
|
.enemyAbility(Abilities.DANCER)
|
||||||
|
.enemyMoveset(Array(4).fill(Moves.VICTORY_DANCE));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Reference Link: https://bulbapedia.bulbagarden.net/wiki/Dancer_(Ability)
|
||||||
|
|
||||||
|
it("triggers when dance moves are used, doesn't consume extra PP", async () => {
|
||||||
|
await game.classicMode.startBattle([Species.ORICORIO, Species.FEEBAS]);
|
||||||
|
|
||||||
|
const [oricorio] = game.scene.getPlayerField();
|
||||||
|
|
||||||
|
game.move.select(Moves.SPLASH);
|
||||||
|
game.move.select(Moves.SWORDS_DANCE, 1);
|
||||||
|
await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2]);
|
||||||
|
await game.phaseInterceptor.to("MovePhase");
|
||||||
|
// immediately copies ally move
|
||||||
|
await game.phaseInterceptor.to("MovePhase", false);
|
||||||
|
let currentPhase = game.scene.getCurrentPhase() as MovePhase;
|
||||||
|
expect(currentPhase.pokemon).toBe(oricorio);
|
||||||
|
expect(currentPhase.move.moveId).toBe(Moves.SWORDS_DANCE);
|
||||||
|
await game.phaseInterceptor.to("MoveEndPhase");
|
||||||
|
await game.phaseInterceptor.to("MovePhase");
|
||||||
|
// immediately copies enemy move
|
||||||
|
await game.phaseInterceptor.to("MovePhase", false);
|
||||||
|
currentPhase = game.scene.getCurrentPhase() as MovePhase;
|
||||||
|
expect(currentPhase.pokemon).toBe(oricorio);
|
||||||
|
expect(currentPhase.move.moveId).toBe(Moves.VICTORY_DANCE);
|
||||||
|
await game.phaseInterceptor.to("BerryPhase");
|
||||||
|
|
||||||
|
// doesn't use PP if copied move is also in moveset
|
||||||
|
expect(oricorio.moveset[0]?.ppUsed).toBe(0);
|
||||||
|
}, TIMEOUT);
|
||||||
|
});
|
83
src/test/moves/fake_out.test.ts
Normal file
83
src/test/moves/fake_out.test.ts
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
import GameManager from "#app/test/utils/gameManager";
|
||||||
|
import { getMovePosition } from "#app/test/utils/gameManagerUtils";
|
||||||
|
import { Moves } from "#enums/moves";
|
||||||
|
import { Species } from "#enums/species";
|
||||||
|
import Phaser from "phaser";
|
||||||
|
import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
||||||
|
import { SPLASH_ONLY } from "../utils/testUtils";
|
||||||
|
|
||||||
|
describe("Moves - Fake Out", () => {
|
||||||
|
let phaserGame: Phaser.Game;
|
||||||
|
let game: GameManager;
|
||||||
|
|
||||||
|
beforeAll(() => {
|
||||||
|
phaserGame = new Phaser.Game({
|
||||||
|
type: Phaser.HEADLESS,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
game.phaseInterceptor.restoreOg();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
game = new GameManager(phaserGame);
|
||||||
|
game.override
|
||||||
|
.battleType("single")
|
||||||
|
.enemySpecies(Species.CORVIKNIGHT)
|
||||||
|
.starterSpecies(Species.FEEBAS)
|
||||||
|
.moveset([Moves.FAKE_OUT, Moves.SPLASH])
|
||||||
|
.enemyMoveset(SPLASH_ONLY)
|
||||||
|
.disableCrits();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("can only be used on the first turn a pokemon is sent out", async() => {
|
||||||
|
await game.startBattle();
|
||||||
|
|
||||||
|
const enemy = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.FAKE_OUT));
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemy.hp).toBeLessThan(enemy.getMaxHp());
|
||||||
|
const postTurnOneHp = enemy.hp;
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.FAKE_OUT));
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemy.hp).toBe(postTurnOneHp);
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
|
||||||
|
await game.doKillOpponents();
|
||||||
|
await game.toNextWave();
|
||||||
|
|
||||||
|
const newEnemy = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.FAKE_OUT));
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(newEnemy.hp).toBe(newEnemy.getMaxHp());
|
||||||
|
}, 20000);
|
||||||
|
|
||||||
|
it("can be used again if recalled and sent back out", async() => {
|
||||||
|
game.override.startingWave(4);
|
||||||
|
await game.startBattle();
|
||||||
|
|
||||||
|
const enemy1 = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.FAKE_OUT));
|
||||||
|
await game.phaseInterceptor.to("MoveEndPhase");
|
||||||
|
|
||||||
|
expect(enemy1.hp).toBeLessThan(enemy1.getMaxHp());
|
||||||
|
|
||||||
|
await game.doKillOpponents();
|
||||||
|
await game.toNextWave();
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.FAKE_OUT));
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
const enemy2 = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
expect(enemy2.hp).toBeLessThan(enemy2.getMaxHp());
|
||||||
|
}, 20000);
|
||||||
|
});
|
81
src/test/moves/gigaton_hammer.test.ts
Normal file
81
src/test/moves/gigaton_hammer.test.ts
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
import { BattlerIndex } from "#app/battle.js";
|
||||||
|
import GameManager from "#app/test/utils/gameManager";
|
||||||
|
import { getMovePosition } from "#app/test/utils/gameManagerUtils";
|
||||||
|
import { Moves } from "#enums/moves";
|
||||||
|
import { Species } from "#enums/species";
|
||||||
|
import Phaser from "phaser";
|
||||||
|
import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
||||||
|
import { SPLASH_ONLY } from "../utils/testUtils";
|
||||||
|
|
||||||
|
describe("Moves - Gigaton Hammer", () => {
|
||||||
|
let phaserGame: Phaser.Game;
|
||||||
|
let game: GameManager;
|
||||||
|
|
||||||
|
beforeAll(() => {
|
||||||
|
phaserGame = new Phaser.Game({
|
||||||
|
type: Phaser.HEADLESS,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
game.phaseInterceptor.restoreOg();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
game = new GameManager(phaserGame);
|
||||||
|
game.override
|
||||||
|
.battleType("single")
|
||||||
|
.enemySpecies(Species.MAGIKARP)
|
||||||
|
.starterSpecies(Species.FEEBAS)
|
||||||
|
.moveset([Moves.GIGATON_HAMMER])
|
||||||
|
.startingLevel(10)
|
||||||
|
.enemyLevel(100)
|
||||||
|
.enemyMoveset(SPLASH_ONLY)
|
||||||
|
.disableCrits();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("can't be used two turns in a row", async() => {
|
||||||
|
await game.startBattle();
|
||||||
|
|
||||||
|
const enemy1 = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.GIGATON_HAMMER));
|
||||||
|
await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]);
|
||||||
|
await game.phaseInterceptor.to("MoveEndPhase");
|
||||||
|
|
||||||
|
expect(enemy1.hp).toBeLessThan(enemy1.getMaxHp());
|
||||||
|
|
||||||
|
await game.doKillOpponents();
|
||||||
|
await game.toNextWave();
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.GIGATON_HAMMER));
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
const enemy2 = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
expect(enemy2.hp).toBe(enemy2.getMaxHp());
|
||||||
|
}, 20000);
|
||||||
|
|
||||||
|
it("can be used again if recalled and sent back out", async() => {
|
||||||
|
game.override.startingWave(4);
|
||||||
|
await game.startBattle();
|
||||||
|
|
||||||
|
const enemy1 = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.GIGATON_HAMMER));
|
||||||
|
await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]);
|
||||||
|
await game.phaseInterceptor.to("MoveEndPhase");
|
||||||
|
|
||||||
|
expect(enemy1.hp).toBeLessThan(enemy1.getMaxHp());
|
||||||
|
|
||||||
|
await game.doKillOpponents();
|
||||||
|
await game.toNextWave();
|
||||||
|
|
||||||
|
game.doAttack(getMovePosition(game.scene, 0, Moves.GIGATON_HAMMER));
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
const enemy2 = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
expect(enemy2.hp).toBeLessThan(enemy2.getMaxHp());
|
||||||
|
}, 20000);
|
||||||
|
});
|
@ -61,6 +61,48 @@ describe("Moves - Octolock", () => {
|
|||||||
expect(enemyPokemon[0].summonData.battleStats[BattleStat.SPDEF]).toBe(-2);
|
expect(enemyPokemon[0].summonData.battleStats[BattleStat.SPDEF]).toBe(-2);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("If target pokemon has Big Pecks, Octolock should only reduce spdef by 1", { timeout: 10000 }, async () => {
|
||||||
|
game.override.enemyAbility(Abilities.BIG_PECKS);
|
||||||
|
await game.startBattle([Species.GRAPPLOCT]);
|
||||||
|
|
||||||
|
const enemyPokemon = game.scene.getEnemyField();
|
||||||
|
|
||||||
|
// use Octolock and advance to init phase of next turn to check for stat changes
|
||||||
|
game.move.select(Moves.OCTOLOCK);
|
||||||
|
await game.phaseInterceptor.to(TurnInitPhase);
|
||||||
|
|
||||||
|
expect(enemyPokemon[0].summonData.battleStats[BattleStat.DEF]).toBe(0);
|
||||||
|
expect(enemyPokemon[0].summonData.battleStats[BattleStat.SPDEF]).toBe(-1);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("If target pokemon has White Smoke, Octolock should not reduce any stats", { timeout: 10000 }, async () => {
|
||||||
|
game.override.enemyAbility(Abilities.WHITE_SMOKE);
|
||||||
|
await game.startBattle([Species.GRAPPLOCT]);
|
||||||
|
|
||||||
|
const enemyPokemon = game.scene.getEnemyField();
|
||||||
|
|
||||||
|
// use Octolock and advance to init phase of next turn to check for stat changes
|
||||||
|
game.move.select(Moves.OCTOLOCK);
|
||||||
|
await game.phaseInterceptor.to(TurnInitPhase);
|
||||||
|
|
||||||
|
expect(enemyPokemon[0].summonData.battleStats[BattleStat.DEF]).toBe(0);
|
||||||
|
expect(enemyPokemon[0].summonData.battleStats[BattleStat.SPDEF]).toBe(0);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("If target pokemon has Clear Body, Octolock should not reduce any stats", { timeout: 10000 }, async () => {
|
||||||
|
game.override.enemyAbility(Abilities.CLEAR_BODY);
|
||||||
|
await game.startBattle([Species.GRAPPLOCT]);
|
||||||
|
|
||||||
|
const enemyPokemon = game.scene.getEnemyField();
|
||||||
|
|
||||||
|
// use Octolock and advance to init phase of next turn to check for stat changes
|
||||||
|
game.move.select(Moves.OCTOLOCK);
|
||||||
|
await game.phaseInterceptor.to(TurnInitPhase);
|
||||||
|
|
||||||
|
expect(enemyPokemon[0].summonData.battleStats[BattleStat.DEF]).toBe(0);
|
||||||
|
expect(enemyPokemon[0].summonData.battleStats[BattleStat.SPDEF]).toBe(0);
|
||||||
|
});
|
||||||
|
|
||||||
it("Traps the target pokemon", { timeout: 10000 }, async () => {
|
it("Traps the target pokemon", { timeout: 10000 }, async () => {
|
||||||
await game.startBattle([Species.GRAPPLOCT]);
|
await game.startBattle([Species.GRAPPLOCT]);
|
||||||
|
|
||||||
|
150
src/test/moves/safeguard.test.ts
Normal file
150
src/test/moves/safeguard.test.ts
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
import { BattlerIndex } from "#app/battle";
|
||||||
|
import { allAbilities, PostDefendContactApplyStatusEffectAbAttr } from "#app/data/ability";
|
||||||
|
import { Abilities } from "#app/enums/abilities";
|
||||||
|
import { StatusEffect } from "#app/enums/status-effect";
|
||||||
|
import GameManager from "#app/test/utils/gameManager";
|
||||||
|
import { Moves } from "#enums/moves";
|
||||||
|
import { Species } from "#enums/species";
|
||||||
|
import Phaser from "phaser";
|
||||||
|
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
||||||
|
|
||||||
|
const TIMEOUT = 20 * 1000;
|
||||||
|
|
||||||
|
describe("Moves - Safeguard", () => {
|
||||||
|
let phaserGame: Phaser.Game;
|
||||||
|
let game: GameManager;
|
||||||
|
|
||||||
|
beforeAll(() => {
|
||||||
|
phaserGame = new Phaser.Game({
|
||||||
|
type: Phaser.HEADLESS,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
game.phaseInterceptor.restoreOg();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
game = new GameManager(phaserGame);
|
||||||
|
game.override
|
||||||
|
.battleType("single")
|
||||||
|
.enemySpecies(Species.DRATINI)
|
||||||
|
.enemyMoveset(Array(4).fill(Moves.SAFEGUARD))
|
||||||
|
.enemyAbility(Abilities.BALL_FETCH)
|
||||||
|
.enemyLevel(5)
|
||||||
|
.starterSpecies(Species.DRATINI)
|
||||||
|
.moveset([Moves.NUZZLE, Moves.SPORE, Moves.YAWN, Moves.SPLASH])
|
||||||
|
.ability(Abilities.BALL_FETCH);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("protects from damaging moves with additional effects", async () => {
|
||||||
|
await game.startBattle();
|
||||||
|
const enemy = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.move.select(Moves.NUZZLE);
|
||||||
|
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemy.status).toBeUndefined();
|
||||||
|
}, TIMEOUT);
|
||||||
|
|
||||||
|
it("protects from status moves", async () => {
|
||||||
|
await game.startBattle();
|
||||||
|
const enemyPokemon = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.move.select(Moves.SPORE);
|
||||||
|
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemyPokemon.status).toBeUndefined();
|
||||||
|
}, TIMEOUT);
|
||||||
|
|
||||||
|
it("protects from confusion", async () => {
|
||||||
|
game.override.moveset([Moves.CONFUSE_RAY]);
|
||||||
|
await game.startBattle();
|
||||||
|
const enemyPokemon = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.move.select(Moves.CONFUSE_RAY);
|
||||||
|
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemyPokemon.summonData.tags).toEqual([]);
|
||||||
|
}, TIMEOUT);
|
||||||
|
|
||||||
|
it("protects ally from status", async () => {
|
||||||
|
game.override.battleType("double");
|
||||||
|
|
||||||
|
await game.startBattle();
|
||||||
|
|
||||||
|
game.move.select(Moves.SPORE, 0, BattlerIndex.ENEMY_2);
|
||||||
|
game.move.select(Moves.NUZZLE, 1, BattlerIndex.ENEMY_2);
|
||||||
|
|
||||||
|
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY_2]);
|
||||||
|
|
||||||
|
await game.phaseInterceptor.to("BerryPhase");
|
||||||
|
|
||||||
|
const enemyPokemon = game.scene.getEnemyField();
|
||||||
|
|
||||||
|
expect(enemyPokemon[0].status).toBeUndefined();
|
||||||
|
expect(enemyPokemon[1].status).toBeUndefined();
|
||||||
|
}, TIMEOUT);
|
||||||
|
|
||||||
|
it("protects from Yawn", async () => {
|
||||||
|
await game.startBattle();
|
||||||
|
const enemyPokemon = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.move.select(Moves.YAWN);
|
||||||
|
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemyPokemon.summonData.tags).toEqual([]);
|
||||||
|
}, TIMEOUT);
|
||||||
|
|
||||||
|
it("doesn't protect from already existing Yawn", async () => {
|
||||||
|
await game.startBattle();
|
||||||
|
const enemyPokemon = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.move.select(Moves.YAWN);
|
||||||
|
await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]);
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
game.move.select(Moves.SPLASH);
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemyPokemon.status?.effect).toEqual(StatusEffect.SLEEP);
|
||||||
|
}, TIMEOUT);
|
||||||
|
|
||||||
|
it("doesn't protect from self-inflicted via Rest or Flame Orb", async () => {
|
||||||
|
game.override.enemyHeldItems([{name: "FLAME_ORB"}]);
|
||||||
|
await game.startBattle();
|
||||||
|
const enemyPokemon = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.move.select(Moves.SPLASH);
|
||||||
|
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemyPokemon.status?.effect).toEqual(StatusEffect.BURN);
|
||||||
|
|
||||||
|
game.override.enemyMoveset(Array(4).fill(Moves.REST));
|
||||||
|
game.move.select(Moves.SPLASH);
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemyPokemon.status?.effect).toEqual(StatusEffect.SLEEP);
|
||||||
|
}, TIMEOUT);
|
||||||
|
|
||||||
|
it("protects from ability-inflicted status", async () => {
|
||||||
|
game.override.ability(Abilities.STATIC);
|
||||||
|
vi.spyOn(allAbilities[Abilities.STATIC].getAttrs(PostDefendContactApplyStatusEffectAbAttr)[0], "chance", "get").mockReturnValue(100);
|
||||||
|
await game.startBattle();
|
||||||
|
const enemyPokemon = game.scene.getEnemyPokemon()!;
|
||||||
|
|
||||||
|
game.move.select(Moves.SPLASH);
|
||||||
|
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
|
||||||
|
await game.toNextTurn();
|
||||||
|
game.override.enemyMoveset(Array(4).fill(Moves.TACKLE));
|
||||||
|
game.move.select(Moves.SPLASH);
|
||||||
|
await game.toNextTurn();
|
||||||
|
|
||||||
|
expect(enemyPokemon.status).toBeUndefined();
|
||||||
|
}, TIMEOUT);
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user