Compare commits
1 Commits
c78a95d5ae
...
430ac2316b
Author | SHA1 | Date |
---|---|---|
Jannik Tappert | 430ac2316b |
|
@ -55,7 +55,7 @@ Check out [Github Issues](https://github.com/pagefaultgames/pokerogue/issues) to
|
|||
- Pokémon Sword/Shield
|
||||
- Pokémon Legends: Arceus
|
||||
- Pokémon Scarlet/Violet
|
||||
- Firel (Custom Ice Cave, Laboratory, Metropolis, Plains, Power Plant, Seabed, Space, and Volcano biome music)
|
||||
- Firel (Custom Laboratory, Metropolis, Seabed, and Space biome music)
|
||||
- Lmz (Custom Jungle biome music)
|
||||
- Andr06 (Custom Slum and Sea biome music)
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -2625,11 +2625,7 @@ export class PreStatStageChangeAbAttr extends AbAttr {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Protect one or all {@linkcode BattleStat} from reductions caused by other Pokémon's moves and Abilities
|
||||
*/
|
||||
export class ProtectStatAbAttr extends PreStatStageChangeAbAttr {
|
||||
/** {@linkcode BattleStat} to protect or `undefined` if **all** {@linkcode BattleStat} are protected */
|
||||
private protectedStat?: BattleStat;
|
||||
|
||||
constructor(protectedStat?: BattleStat) {
|
||||
|
@ -2638,17 +2634,7 @@ export class ProtectStatAbAttr extends PreStatStageChangeAbAttr {
|
|||
this.protectedStat = protectedStat;
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply the {@linkcode ProtectedStatAbAttr} to an interaction
|
||||
* @param _pokemon
|
||||
* @param _passive
|
||||
* @param simulated
|
||||
* @param stat the {@linkcode BattleStat} being affected
|
||||
* @param cancelled The {@linkcode Utils.BooleanHolder} that will be set to true if the stat is protected
|
||||
* @param _args
|
||||
* @returns true if the stat is protected, false otherwise
|
||||
*/
|
||||
applyPreStatStageChange(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, stat: BattleStat, cancelled: Utils.BooleanHolder, _args: any[]): boolean {
|
||||
applyPreStatStageChange(_pokemon: Pokemon, _passive: boolean, simulated: boolean, stat: BattleStat, cancelled: Utils.BooleanHolder, _args: any[]): boolean {
|
||||
if (Utils.isNullOrUndefined(this.protectedStat) || stat === this.protectedStat) {
|
||||
cancelled.value = true;
|
||||
return true;
|
||||
|
@ -3771,7 +3757,7 @@ export class StatStageChangeMultiplierAbAttr extends AbAttr {
|
|||
this.multiplier = multiplier;
|
||||
}
|
||||
|
||||
override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
|
||||
apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
|
||||
(args[0] as Utils.IntegerHolder).value *= this.multiplier;
|
||||
|
||||
return true;
|
||||
|
|
|
@ -488,14 +488,14 @@ export function initMoveAnim(scene: BattleScene, move: Moves): Promise<void> {
|
|||
} else {
|
||||
moveAnims.set(move, null);
|
||||
const defaultMoveAnim = allMoves[move] instanceof AttackMove ? Moves.TACKLE : allMoves[move] instanceof SelfStatusMove ? Moves.FOCUS_ENERGY : Moves.TAIL_WHIP;
|
||||
|
||||
const moveName = Moves[move].toLowerCase().replace(/\_/g, "-");
|
||||
const fetchAnimAndResolve = (move: Moves) => {
|
||||
scene.cachedFetch(`./battle-anims/${Utils.animationFileName(move)}.json`)
|
||||
scene.cachedFetch(`./battle-anims/${moveName}.json`)
|
||||
.then(response => {
|
||||
const contentType = response.headers.get("content-type");
|
||||
if (!response.ok || contentType?.indexOf("application/json") === -1) {
|
||||
useDefaultAnim(move, defaultMoveAnim);
|
||||
logMissingMoveAnim(move, response.status, response.statusText);
|
||||
console.error(`Could not load animation file for move '${moveName}'`, response.status, response.statusText);
|
||||
populateMoveAnim(move, moveAnims.get(defaultMoveAnim));
|
||||
return resolve();
|
||||
}
|
||||
return response.json();
|
||||
|
@ -515,11 +515,6 @@ export function initMoveAnim(scene: BattleScene, move: Moves): Promise<void> {
|
|||
} else {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
useDefaultAnim(move, defaultMoveAnim);
|
||||
logMissingMoveAnim(move, error);
|
||||
return resolve();
|
||||
});
|
||||
};
|
||||
fetchAnimAndResolve(move);
|
||||
|
@ -527,29 +522,6 @@ export function initMoveAnim(scene: BattleScene, move: Moves): Promise<void> {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Populates the default animation for the given move.
|
||||
*
|
||||
* @param move the move to populate an animation for
|
||||
* @param defaultMoveAnim the move to use as the default animation
|
||||
*/
|
||||
function useDefaultAnim(move: Moves, defaultMoveAnim: Moves) {
|
||||
populateMoveAnim(move, moveAnims.get(defaultMoveAnim));
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method for printing a warning to the console when a move animation is missing.
|
||||
*
|
||||
* @param move the move to populate an animation for
|
||||
* @param optionalParams parameters to add to the error logging
|
||||
*
|
||||
* @remarks use {@linkcode useDefaultAnim} to use a default animation
|
||||
*/
|
||||
function logMissingMoveAnim(move: Moves, ...optionalParams: any[]) {
|
||||
const moveName = Utils.animationFileName(move);
|
||||
console.warn(`Could not load animation file for move '${moveName}'`, ...optionalParams);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches animation configs to be used in a Mystery Encounter
|
||||
* @param scene
|
||||
|
|
|
@ -3839,7 +3839,7 @@ export class StormAccuracyAttr extends VariableAccuracyAttr {
|
|||
* @extends VariableAccuracyAttr
|
||||
* @see {@linkcode apply}
|
||||
*/
|
||||
export class AlwaysHitMinimizeAttr extends VariableAccuracyAttr {
|
||||
export class MinimizeAccuracyAttr extends VariableAccuracyAttr {
|
||||
/**
|
||||
* @see {@linkcode apply}
|
||||
* @param user N/A
|
||||
|
@ -4855,10 +4855,10 @@ export class RemoveAllSubstitutesAttr extends MoveEffectAttr {
|
|||
* Attribute used when a move hits a {@linkcode BattlerTagType} for double damage
|
||||
* @extends MoveAttr
|
||||
*/
|
||||
export class DealsDoubleDamageToTagAttr extends MoveAttr {
|
||||
export class HitsTagAttr extends MoveAttr {
|
||||
/** The {@linkcode BattlerTagType} this move hits */
|
||||
public tagType: BattlerTagType;
|
||||
/** Should this move deal double damage against {@linkcode DealsDoubleDamageToTagAttr.tagType}? */
|
||||
/** Should this move deal double damage against {@linkcode HitsTagAttr.tagType}? */
|
||||
public doubleDamage: boolean;
|
||||
|
||||
constructor(tagType: BattlerTagType, doubleDamage?: boolean) {
|
||||
|
@ -6752,11 +6752,12 @@ export function initMoves() {
|
|||
new AttackMove(Moves.CUT, Type.NORMAL, MoveCategory.PHYSICAL, 50, 95, 30, -1, 0, 1)
|
||||
.slicingMove(),
|
||||
new AttackMove(Moves.GUST, Type.FLYING, MoveCategory.SPECIAL, 40, 100, 35, -1, 0, 1)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.FLYING, true)
|
||||
.attr(HitsTagAttr, BattlerTagType.FLYING, true)
|
||||
.windMove(),
|
||||
new AttackMove(Moves.WING_ATTACK, Type.FLYING, MoveCategory.PHYSICAL, 60, 100, 35, -1, 0, 1),
|
||||
new StatusMove(Moves.WHIRLWIND, Type.NORMAL, -1, 20, -1, -6, 1)
|
||||
.attr(ForceSwitchOutAttr)
|
||||
.attr(HitsTagAttr, BattlerTagType.FLYING, false)
|
||||
.ignoresSubstitute()
|
||||
.hidesTarget()
|
||||
.windMove(),
|
||||
|
@ -6769,8 +6770,8 @@ export function initMoves() {
|
|||
new AttackMove(Moves.SLAM, Type.NORMAL, MoveCategory.PHYSICAL, 80, 75, 20, -1, 0, 1),
|
||||
new AttackMove(Moves.VINE_WHIP, Type.GRASS, MoveCategory.PHYSICAL, 45, 100, 25, -1, 0, 1),
|
||||
new AttackMove(Moves.STOMP, Type.NORMAL, MoveCategory.PHYSICAL, 65, 100, 20, 30, 0, 1)
|
||||
.attr(AlwaysHitMinimizeAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.attr(MinimizeAccuracyAttr)
|
||||
.attr(HitsTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.attr(FlinchAttr),
|
||||
new AttackMove(Moves.DOUBLE_KICK, Type.FIGHTING, MoveCategory.PHYSICAL, 30, 100, 30, -1, 0, 1)
|
||||
.attr(MultiHitAttr, MultiHitType._2),
|
||||
|
@ -6794,8 +6795,8 @@ export function initMoves() {
|
|||
.attr(OneHitKOAccuracyAttr),
|
||||
new AttackMove(Moves.TACKLE, Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, -1, 0, 1),
|
||||
new AttackMove(Moves.BODY_SLAM, Type.NORMAL, MoveCategory.PHYSICAL, 85, 100, 15, 30, 0, 1)
|
||||
.attr(AlwaysHitMinimizeAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.attr(MinimizeAccuracyAttr)
|
||||
.attr(HitsTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.attr(StatusEffectAttr, StatusEffect.PARALYSIS),
|
||||
new AttackMove(Moves.WRAP, Type.NORMAL, MoveCategory.PHYSICAL, 15, 90, 20, -1, 0, 1)
|
||||
.attr(TrapAttr, BattlerTagType.WRAP),
|
||||
|
@ -6863,7 +6864,7 @@ export function initMoves() {
|
|||
new AttackMove(Moves.HYDRO_PUMP, Type.WATER, MoveCategory.SPECIAL, 110, 80, 5, -1, 0, 1),
|
||||
new AttackMove(Moves.SURF, Type.WATER, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 1)
|
||||
.target(MoveTarget.ALL_NEAR_OTHERS)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.UNDERWATER, true)
|
||||
.attr(HitsTagAttr, BattlerTagType.UNDERWATER, true)
|
||||
.attr(GulpMissileTagAttr),
|
||||
new AttackMove(Moves.ICE_BEAM, Type.ICE, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 1)
|
||||
.attr(StatusEffectAttr, StatusEffect.FREEZE),
|
||||
|
@ -6946,18 +6947,18 @@ export function initMoves() {
|
|||
new AttackMove(Moves.THUNDER, Type.ELECTRIC, MoveCategory.SPECIAL, 110, 70, 10, 30, 0, 1)
|
||||
.attr(StatusEffectAttr, StatusEffect.PARALYSIS)
|
||||
.attr(ThunderAccuracyAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.FLYING, false),
|
||||
.attr(HitsTagAttr, BattlerTagType.FLYING, false),
|
||||
new AttackMove(Moves.ROCK_THROW, Type.ROCK, MoveCategory.PHYSICAL, 50, 90, 15, -1, 0, 1)
|
||||
.makesContact(false),
|
||||
new AttackMove(Moves.EARTHQUAKE, Type.GROUND, MoveCategory.PHYSICAL, 100, 100, 10, -1, 0, 1)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.UNDERGROUND, true)
|
||||
.attr(HitsTagAttr, BattlerTagType.UNDERGROUND, true)
|
||||
.attr(MovePowerMultiplierAttr, (user, target, move) => user.scene.arena.getTerrainType() === TerrainType.GRASSY && target.isGrounded() ? 0.5 : 1)
|
||||
.makesContact(false)
|
||||
.target(MoveTarget.ALL_NEAR_OTHERS),
|
||||
new AttackMove(Moves.FISSURE, Type.GROUND, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1)
|
||||
.attr(OneHitKOAttr)
|
||||
.attr(OneHitKOAccuracyAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.UNDERGROUND, false)
|
||||
.attr(HitsTagAttr, BattlerTagType.UNDERGROUND, false)
|
||||
.makesContact(false),
|
||||
new AttackMove(Moves.DIG, Type.GROUND, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 1)
|
||||
.attr(ChargeAttr, ChargeAnim.DIG_CHARGING, i18next.t("moveTriggers:dugAHole", {pokemonName: "{USER}"}), BattlerTagType.UNDERGROUND)
|
||||
|
@ -7346,7 +7347,7 @@ export function initMoves() {
|
|||
.attr(PreMoveMessageAttr, magnitudeMessageFunc)
|
||||
.attr(MagnitudePowerAttr)
|
||||
.attr(MovePowerMultiplierAttr, (user, target, move) => user.scene.arena.getTerrainType() === TerrainType.GRASSY && target.isGrounded() ? 0.5 : 1)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.UNDERGROUND, true)
|
||||
.attr(HitsTagAttr, BattlerTagType.UNDERGROUND, true)
|
||||
.makesContact(false)
|
||||
.target(MoveTarget.ALL_NEAR_OTHERS),
|
||||
new AttackMove(Moves.DYNAMIC_PUNCH, Type.FIGHTING, MoveCategory.PHYSICAL, 100, 50, 5, 100, 0, 2)
|
||||
|
@ -7402,7 +7403,7 @@ export function initMoves() {
|
|||
new AttackMove(Moves.CROSS_CHOP, Type.FIGHTING, MoveCategory.PHYSICAL, 100, 80, 5, -1, 0, 2)
|
||||
.attr(HighCritAttr),
|
||||
new AttackMove(Moves.TWISTER, Type.DRAGON, MoveCategory.SPECIAL, 40, 100, 20, 20, 0, 2)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.FLYING, true)
|
||||
.attr(HitsTagAttr, BattlerTagType.FLYING, true)
|
||||
.attr(FlinchAttr)
|
||||
.windMove()
|
||||
.target(MoveTarget.ALL_NEAR_ENEMIES),
|
||||
|
@ -7434,7 +7435,7 @@ export function initMoves() {
|
|||
.attr(StatStageChangeAttr, [ Stat.DEF ], -1),
|
||||
new AttackMove(Moves.WHIRLPOOL, Type.WATER, MoveCategory.SPECIAL, 35, 85, 15, -1, 0, 2)
|
||||
.attr(TrapAttr, BattlerTagType.WHIRLPOOL)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.UNDERWATER, true),
|
||||
.attr(HitsTagAttr, BattlerTagType.UNDERWATER, true),
|
||||
new AttackMove(Moves.BEAT_UP, Type.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 2)
|
||||
.attr(MultiHitAttr, MultiHitType.BEAT_UP)
|
||||
.attr(BeatUpAttr)
|
||||
|
@ -7657,7 +7658,7 @@ export function initMoves() {
|
|||
new AttackMove(Moves.EXTRASENSORY, Type.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 20, 10, 0, 3)
|
||||
.attr(FlinchAttr),
|
||||
new AttackMove(Moves.SKY_UPPERCUT, Type.FIGHTING, MoveCategory.PHYSICAL, 85, 90, 15, -1, 0, 3)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.FLYING)
|
||||
.attr(HitsTagAttr, BattlerTagType.FLYING)
|
||||
.punchingMove(),
|
||||
new AttackMove(Moves.SAND_TOMB, Type.GROUND, MoveCategory.PHYSICAL, 35, 85, 15, -1, 0, 3)
|
||||
.attr(TrapAttr, BattlerTagType.SAND_TOMB)
|
||||
|
@ -7888,8 +7889,8 @@ export function initMoves() {
|
|||
new AttackMove(Moves.DRAGON_PULSE, Type.DRAGON, MoveCategory.SPECIAL, 85, 100, 10, -1, 0, 4)
|
||||
.pulseMove(),
|
||||
new AttackMove(Moves.DRAGON_RUSH, Type.DRAGON, MoveCategory.PHYSICAL, 100, 75, 10, 20, 0, 4)
|
||||
.attr(AlwaysHitMinimizeAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.attr(MinimizeAccuracyAttr)
|
||||
.attr(HitsTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.attr(FlinchAttr),
|
||||
new AttackMove(Moves.POWER_GEM, Type.ROCK, MoveCategory.SPECIAL, 80, 100, 20, -1, 0, 4),
|
||||
new AttackMove(Moves.DRAIN_PUNCH, Type.FIGHTING, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 4)
|
||||
|
@ -8086,7 +8087,7 @@ export function initMoves() {
|
|||
.attr(AddBattlerTagAttr, BattlerTagType.IGNORE_FLYING, false, false, 1, 1, true)
|
||||
.attr(AddBattlerTagAttr, BattlerTagType.INTERRUPTED)
|
||||
.attr(RemoveBattlerTagAttr, [BattlerTagType.FLYING, BattlerTagType.MAGNET_RISEN])
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.FLYING, false)
|
||||
.attr(HitsTagAttr, BattlerTagType.FLYING, false)
|
||||
.makesContact(false),
|
||||
new AttackMove(Moves.STORM_THROW, Type.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 5)
|
||||
.attr(CritOnlyAttr),
|
||||
|
@ -8099,9 +8100,9 @@ export function initMoves() {
|
|||
.attr(StatStageChangeAttr, [ Stat.SPATK, Stat.SPDEF, Stat.SPD ], 1, true)
|
||||
.danceMove(),
|
||||
new AttackMove(Moves.HEAVY_SLAM, Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 5)
|
||||
.attr(AlwaysHitMinimizeAttr)
|
||||
.attr(MinimizeAccuracyAttr)
|
||||
.attr(CompareWeightPowerAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.MINIMIZED, true),
|
||||
.attr(HitsTagAttr, BattlerTagType.MINIMIZED, true),
|
||||
new AttackMove(Moves.SYNCHRONOISE, Type.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 5)
|
||||
.target(MoveTarget.ALL_NEAR_OTHERS)
|
||||
.condition(unknownTypeCondition)
|
||||
|
@ -8252,14 +8253,12 @@ export function initMoves() {
|
|||
.attr(StatStageChangeAttr, [ Stat.DEF ], -1)
|
||||
.slicingMove(),
|
||||
new AttackMove(Moves.HEAT_CRASH, Type.FIRE, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 5)
|
||||
.attr(AlwaysHitMinimizeAttr)
|
||||
.attr(MinimizeAccuracyAttr)
|
||||
.attr(CompareWeightPowerAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.MINIMIZED, true),
|
||||
.attr(HitsTagAttr, BattlerTagType.MINIMIZED, true),
|
||||
new AttackMove(Moves.LEAF_TORNADO, Type.GRASS, MoveCategory.SPECIAL, 65, 90, 10, 50, 0, 5)
|
||||
.attr(StatStageChangeAttr, [ Stat.ACC ], -1),
|
||||
new AttackMove(Moves.STEAMROLLER, Type.BUG, MoveCategory.PHYSICAL, 65, 100, 20, 30, 0, 5)
|
||||
.attr(AlwaysHitMinimizeAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.attr(FlinchAttr),
|
||||
new SelfStatusMove(Moves.COTTON_GUARD, Type.GRASS, -1, 10, -1, 0, 5)
|
||||
.attr(StatStageChangeAttr, [ Stat.DEF ], 3, true),
|
||||
|
@ -8272,7 +8271,7 @@ export function initMoves() {
|
|||
new AttackMove(Moves.HURRICANE, Type.FLYING, MoveCategory.SPECIAL, 110, 70, 10, 30, 0, 5)
|
||||
.attr(ThunderAccuracyAttr)
|
||||
.attr(ConfuseAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.FLYING, false)
|
||||
.attr(HitsTagAttr, BattlerTagType.FLYING, false)
|
||||
.windMove(),
|
||||
new AttackMove(Moves.HEAD_CHARGE, Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 5)
|
||||
.attr(RecoilAttr)
|
||||
|
@ -8326,9 +8325,9 @@ export function initMoves() {
|
|||
.attr(LastMoveDoublePowerAttr, Moves.FUSION_FLARE)
|
||||
.makesContact(false),
|
||||
new AttackMove(Moves.FLYING_PRESS, Type.FIGHTING, MoveCategory.PHYSICAL, 100, 95, 10, -1, 0, 6)
|
||||
.attr(AlwaysHitMinimizeAttr)
|
||||
.attr(MinimizeAccuracyAttr)
|
||||
.attr(FlyingTypeMultiplierAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.attr(HitsTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.condition(failOnGravityCondition),
|
||||
new StatusMove(Moves.MAT_BLOCK, Type.FIGHTING, -1, 10, -1, 0, 6)
|
||||
.target(MoveTarget.USER_SIDE)
|
||||
|
@ -8499,8 +8498,8 @@ export function initMoves() {
|
|||
new AttackMove(Moves.THOUSAND_ARROWS, Type.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6)
|
||||
.attr(NeutralDamageAgainstFlyingTypeMultiplierAttr)
|
||||
.attr(AddBattlerTagAttr, BattlerTagType.IGNORE_FLYING, false, false, 1, 1, true)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.FLYING, false)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.MAGNET_RISEN, false)
|
||||
.attr(HitsTagAttr, BattlerTagType.FLYING, false)
|
||||
.attr(HitsTagAttr, BattlerTagType.MAGNET_RISEN, false)
|
||||
.attr(AddBattlerTagAttr, BattlerTagType.INTERRUPTED)
|
||||
.attr(RemoveBattlerTagAttr, [BattlerTagType.FLYING, BattlerTagType.MAGNET_RISEN])
|
||||
.makesContact(false)
|
||||
|
@ -8757,8 +8756,6 @@ export function initMoves() {
|
|||
.partial()
|
||||
.ignoresVirtual(),
|
||||
new AttackMove(Moves.MALICIOUS_MOONSAULT, Type.DARK, MoveCategory.PHYSICAL, 180, -1, 1, -1, 0, 7)
|
||||
.attr(AlwaysHitMinimizeAttr)
|
||||
.attr(DealsDoubleDamageToTagAttr, BattlerTagType.MINIMIZED, true)
|
||||
.partial()
|
||||
.ignoresVirtual(),
|
||||
new AttackMove(Moves.OCEANIC_OPERETTA, Type.WATER, MoveCategory.SPECIAL, 195, -1, 1, -1, 0, 7)
|
||||
|
|
|
@ -746,7 +746,7 @@ export class Arena {
|
|||
case Biome.TOWN:
|
||||
return 7.288;
|
||||
case Biome.PLAINS:
|
||||
return 17.485;
|
||||
return 7.693;
|
||||
case Biome.GRASS:
|
||||
return 1.995;
|
||||
case Biome.TALL_GRASS:
|
||||
|
@ -774,13 +774,13 @@ export class Arena {
|
|||
case Biome.DESERT:
|
||||
return 1.143;
|
||||
case Biome.ICE_CAVE:
|
||||
return 0.000;
|
||||
return 15.010;
|
||||
case Biome.MEADOW:
|
||||
return 3.891;
|
||||
case Biome.POWER_PLANT:
|
||||
return 9.447;
|
||||
return 2.810;
|
||||
case Biome.VOLCANO:
|
||||
return 17.637;
|
||||
return 5.116;
|
||||
case Biome.GRAVEYARD:
|
||||
return 3.232;
|
||||
case Biome.DOJO:
|
||||
|
|
|
@ -3,7 +3,7 @@ import BattleScene, { AnySound } from "../battle-scene";
|
|||
import { Variant, VariantSet, variantColorCache } from "#app/data/variant";
|
||||
import { variantData } from "#app/data/variant";
|
||||
import BattleInfo, { PlayerBattleInfo, EnemyBattleInfo } from "../ui/battle-info";
|
||||
import Move, { HighCritAttr, DealsDoubleDamageToTagAttr, applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, allMoves, MoveCategory, TypelessAttr, CritOnlyAttr, getMoveTargets, OneHitKOAttr, VariableMoveTypeAttr, VariableDefAttr, AttackMove, ModifiedDamageAttr, VariableMoveTypeMultiplierAttr, IgnoreOpponentStatStagesAttr, SacrificialAttr, VariableMoveCategoryAttr, CounterDamageAttr, StatStageChangeAttr, RechargeAttr, ChargeAttr, IgnoreWeatherTypeDebuffAttr, BypassBurnDamageReductionAttr, SacrificialAttrOnHit, OneHitKOAccuracyAttr, RespectAttackTypeImmunityAttr, MoveTarget } from "../data/move";
|
||||
import Move, { HighCritAttr, HitsTagAttr, applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, allMoves, MoveCategory, TypelessAttr, CritOnlyAttr, getMoveTargets, OneHitKOAttr, VariableMoveTypeAttr, VariableDefAttr, AttackMove, ModifiedDamageAttr, VariableMoveTypeMultiplierAttr, IgnoreOpponentStatStagesAttr, SacrificialAttr, VariableMoveCategoryAttr, CounterDamageAttr, StatStageChangeAttr, RechargeAttr, ChargeAttr, IgnoreWeatherTypeDebuffAttr, BypassBurnDamageReductionAttr, SacrificialAttrOnHit, OneHitKOAccuracyAttr, RespectAttackTypeImmunityAttr, MoveTarget } from "../data/move";
|
||||
import { default as PokemonSpecies, PokemonSpeciesForm, SpeciesFormKey, getFusedSpeciesName, getPokemonSpecies, getPokemonSpeciesForm, getStarterValueFriendshipCap, speciesStarters, starterPassiveAbilities } from "../data/pokemon-species";
|
||||
import { Constructor, isNullOrUndefined, randSeedInt } from "#app/utils";
|
||||
import * as Utils from "../utils";
|
||||
|
@ -1273,13 +1273,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
* @param attrType {@linkcode AbAttr} The ability attribute to check for.
|
||||
* @param canApply {@linkcode Boolean} If false, it doesn't check whether the ability is currently active
|
||||
* @param ignoreOverride {@linkcode Boolean} If true, it ignores ability changing effects
|
||||
* @returns A list of all the ability attributes on this ability.
|
||||
* @returns {AbAttr[]} A list of all the ability attributes on this ability.
|
||||
*/
|
||||
getAbilityAttrs<T extends AbAttr = AbAttr>(attrType: { new(...args: any[]): T }, canApply: boolean = true, ignoreOverride?: boolean): T[] {
|
||||
const abilityAttrs: T[] = [];
|
||||
getAbilityAttrs(attrType: { new(...args: any[]): AbAttr }, canApply: boolean = true, ignoreOverride?: boolean): AbAttr[] {
|
||||
const abilityAttrs: AbAttr[] = [];
|
||||
|
||||
if (!canApply || this.canApplyAbility()) {
|
||||
abilityAttrs.push(...this.getAbility(ignoreOverride).getAttrs<T>(attrType));
|
||||
abilityAttrs.push(...this.getAbility(ignoreOverride).getAttrs(attrType));
|
||||
}
|
||||
|
||||
if (!canApply || this.canApplyAbility(true)) {
|
||||
|
@ -1513,7 +1513,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
|
||||
const immuneTags = this.findTags(tag => tag instanceof TypeImmuneTag && tag.immuneType === moveType);
|
||||
for (const tag of immuneTags) {
|
||||
if (move && !move.getAttrs(DealsDoubleDamageToTagAttr).some(attr => attr.tagType === tag.tagType)) {
|
||||
if (move && !move.getAttrs(HitsTagAttr).some(attr => attr.tagType === tag.tagType)) {
|
||||
typeMultiplier.value = 0;
|
||||
break;
|
||||
}
|
||||
|
@ -2489,13 +2489,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
this.scene.arena.applyTagsForSide(WeakenMoveScreenTag, defendingSide, move.category, this.scene.currentBattle.double, screenMultiplier);
|
||||
|
||||
/**
|
||||
* For each {@linkcode DealsDoubleDamageToTagAttr} the move has, doubles the damage of the move if:
|
||||
* For each {@linkcode HitsTagAttr} the move has, doubles the damage of the move if:
|
||||
* The target has a {@linkcode BattlerTagType} that this move interacts with
|
||||
* AND
|
||||
* The move doubles damage when used against that tag
|
||||
*/
|
||||
const hitsTagMultiplier = new Utils.NumberHolder(1);
|
||||
move.getAttrs(DealsDoubleDamageToTagAttr).filter(hta => hta.doubleDamage).forEach(hta => {
|
||||
move.getAttrs(HitsTagAttr).filter(hta => hta.doubleDamage).forEach(hta => {
|
||||
if (this.getTag(hta.tagType)) {
|
||||
hitsTagMultiplier.value *= 2;
|
||||
}
|
||||
|
|
|
@ -40,14 +40,9 @@
|
|||
"castformRainy": "Regenform",
|
||||
"castformSnowy": "Schneeform",
|
||||
"deoxysNormal": "Normalform",
|
||||
"deoxysAttack": "Angriffsform",
|
||||
"deoxysDefense": "Verteidigungsform",
|
||||
"deoxysSpeed": "Initiativeform",
|
||||
"burmyPlant": "Pflanzenumhang",
|
||||
"burmySandy": "Sandumhang",
|
||||
"burmyTrash": "Lumpenumhang",
|
||||
"cheribiOvercast": "Wolkenform",
|
||||
"cheribiSunshine": "Sonnenform",
|
||||
"shellosEast": "Östliches Meer",
|
||||
"shellosWest": "Westliches Meer",
|
||||
"rotomHeat": "Hitze-Rotom",
|
||||
|
@ -55,36 +50,21 @@
|
|||
"rotomFrost": "Frost-Rotom",
|
||||
"rotomFan": "Wirbel-Rotom",
|
||||
"rotomMow": "Schneid-Rotom",
|
||||
"dialgaOrigin": "Urform",
|
||||
"palkiaOrigin": "Urform",
|
||||
"giratinaAltered": "Wandelform",
|
||||
"giratinaOrigin": "Urform",
|
||||
"shayminLand": "Landform",
|
||||
"shayminSky": "Zenitform",
|
||||
"basculinRedStriped": "Rotlinige Form",
|
||||
"basculinBlueStriped": "Blaulinige Form",
|
||||
"basculinWhiteStriped": "Weißlinige Form",
|
||||
"darumakaZen": "Trance-Modus",
|
||||
"deerlingSpring": "Frühlingsform",
|
||||
"deerlingSummer": "Sommerform",
|
||||
"deerlingAutumn": "Herbstform",
|
||||
"deerlingWinter": "Winterform",
|
||||
"tornadusIncarnate": "Inkarnationsform",
|
||||
"tornadusTherian": "Tiergeistform",
|
||||
"thundurusIncarnate": "Inkarnationsform",
|
||||
"thundurusTherian": "Tiergeistform",
|
||||
"landorusIncarnate": "Inkarnationsform",
|
||||
"landorusTherian": "Tiergeistform",
|
||||
"kyuremBlack": "Schwarzes Kyurem",
|
||||
"kyuremWhite": "Weißes Kyurem",
|
||||
"keldeoOrdinary": "Standardform",
|
||||
"keldeoResolute": "Resolutform",
|
||||
"meloettaAria": "Gesangsform",
|
||||
"meloettaPirouette": "Tanzform",
|
||||
"genesectShock": "Blitzmodul",
|
||||
"genesectBurn": "Flammenmodul",
|
||||
"genesectChill": "Gefriermodul",
|
||||
"genesectDouse": "Aquamodul",
|
||||
"froakieBattleBond": "Ash-Form",
|
||||
"scatterbugMeadow": "Blumenmeermuster",
|
||||
"scatterbugIcySnow": "Frostmuster",
|
||||
|
@ -120,10 +100,6 @@
|
|||
"furfrouLaReine": "Königinnenschnitt",
|
||||
"furfrouKabuki": "Kabuki-Schnitt",
|
||||
"furfrouPharaoh": "Herrscherschnitt",
|
||||
"espurrMale": "männlich",
|
||||
"espurrFemale": "weiblich",
|
||||
"honedgeShiled": "Schildform",
|
||||
"honedgeBlade": "Klingenform",
|
||||
"pumpkabooSmall": "Größe S",
|
||||
"pumpkabooLarge": "Größe L",
|
||||
"pumpkabooSuper": "Größe XL",
|
||||
|
@ -134,34 +110,11 @@
|
|||
"zygarde50Pc": "50% Form Scharwandel",
|
||||
"zygarde10Pc": "10% Form Scharwandel",
|
||||
"zygardeComplete": "Optimum-Form",
|
||||
"hoopaUnbound": "Entfesseltes Hoopa",
|
||||
"oricorioBaile": "Flamenco-Stil",
|
||||
"oricorioPompom": "Cheerleading-Stil",
|
||||
"oricorioPau": "Hula-Stil",
|
||||
"oricorioSensu": "Buyo-Stil",
|
||||
"rockruffOwnTempo": "Gleichmut",
|
||||
"rockruffMidday": "Tagform",
|
||||
"rockruffMidnight": "Nachtform",
|
||||
"rockruffMidnight": "Zwielichtform",
|
||||
"wishiwashiSchool": "Schwarmform",
|
||||
"typeNullNormal": "Typ:Normal",
|
||||
"typeNullFighting": "Typ:Kampf",
|
||||
"typeNullFlying": "Typ:Flug",
|
||||
"typeNullPoison": "Typ:Gift",
|
||||
"typeNullGround": "Typ:Boden",
|
||||
"typeNullRock": "Typ:Gestein",
|
||||
"typeNullBug": "Typ:Käfer",
|
||||
"typeNullGhost": "Typ:Geist",
|
||||
"typeNullSteel": "Typ:Stahl",
|
||||
"typeNullFire": "Typ:Feuer",
|
||||
"typeNullWater": "Typ:Wasser",
|
||||
"typeNullGrass": "Typ:Pflanze",
|
||||
"typeNullElectric": "Typ:Elektro",
|
||||
"typeNullPsychic": "Typ:Psycho",
|
||||
"typeNullIce": "Typ:Eis",
|
||||
"typeNullDragon": "Typ:Drache",
|
||||
"typeNullDark": "Typ:Unlicht",
|
||||
"typeNullFairy": "Typ:Fee",
|
||||
"miniorRedMeteor": "Rote-Meteorform",
|
||||
"miniorOrangeMeteor": "Oranger-Meteorform",
|
||||
"miniorYellowMeteor": "Gelber-Meteorform",
|
||||
|
@ -178,55 +131,25 @@
|
|||
"miniorViolet": "Violetter Kern",
|
||||
"mimikyuDisguised": "Verkleidete Form",
|
||||
"mimikyuBusted": "Entlarvte Form",
|
||||
"necrozmaDuskMane": "Abendmähne",
|
||||
"necrozmaDawnWings": "Morgenschwingen",
|
||||
"necrozmaUltra": "Ultra-Necrozma",
|
||||
"magearnaOriginal": "Originalfarbe",
|
||||
"marshadowZenith": "Zenitform",
|
||||
"sinisteaPhony": "Fälschungsform",
|
||||
"sinisteaAntique": "Originalform",
|
||||
"milceryVanillaCream": "Vanille-Creme",
|
||||
"milceryRubyCream": "Ruby-Creme",
|
||||
"milceryMatchaCream": "Matcha-Creme",
|
||||
"milceryMintCream": "Minz-Creme",
|
||||
"milceryLemonCream": "Zitronen-Creme",
|
||||
"milcerySaltedCream": "Salz-Creme",
|
||||
"milceryRubySwirl": "Ruby-Mix",
|
||||
"milceryCaramelSwirl": "Karamell-Mix",
|
||||
"milceryRainbowSwirl": "Trio-Mix",
|
||||
"eiscueNoIce": "Wohlfühlkopf",
|
||||
"indeedeeMale": "männlich",
|
||||
"indeedeeFemale": "weiblich",
|
||||
"morpekoFullBelly": "Pappsattmuster",
|
||||
"morpekoHangry": "Kohldampfmuster",
|
||||
"zacianHeroOfManyBattles": "Heldenhafter Krieger",
|
||||
"zacianCrowned": "König des Schwertes",
|
||||
"zamazentaHeroOfManyBattles": "Heldenhafter Krieger",
|
||||
"zamazentaCrowned": "König des Schildes",
|
||||
"kubfuSingleStrike": "Fokussierter Stil",
|
||||
"kubfuRapidStrike": "Fließender Stil",
|
||||
"zarudeDada": "Papa",
|
||||
"calyrexIce": "Schimmelreiter",
|
||||
"calyrexShadow": "Rappenreiter",
|
||||
"basculinMale": "männlich",
|
||||
"basculinFemale": "weiblich",
|
||||
"enamorusIncarnate": "Inkarnationsform",
|
||||
"enamorusTherian": "Tiergeistform",
|
||||
"lechonkMale": "männlich",
|
||||
"lechonkFemale": "weiblich",
|
||||
"tandemausFour": "Dreierfamilie",
|
||||
"tandemausThree": "Viererfamilie",
|
||||
"squawkabillyGreenPlumage": "Grüngefiedert",
|
||||
"squawkabillyBluePlumage": "Blaugefiedert",
|
||||
"squawkabillyYellowPlumage": "Gelbgefiedert",
|
||||
"squawkabillyWhitePlumage": "Weißgefiedert",
|
||||
"finizenZero": "Alltagsform",
|
||||
"finizenZero": "Heldenform",
|
||||
"tatsugiriCurly": "Gebogene Form",
|
||||
"tatsugiriDroopy": "Hängende Form",
|
||||
"tatsugiriStretchy": "Gestrekte Form",
|
||||
"dunsparceTwo": "Zweisegmentform",
|
||||
"dunsparceThree": "Dreisegmentform",
|
||||
"gimmighoulChest": "Truhenform",
|
||||
"gimmighoulRoaming": "Wanderform",
|
||||
"koraidonApexBuild": "Vollkommene Gestalt",
|
||||
|
@ -241,19 +164,6 @@
|
|||
"miraidonGlideMode": "Gleitmodus",
|
||||
"poltchageistCounterfeit": "Imitationsform",
|
||||
"poltchageistArtisan": "Kostbarkeitsform",
|
||||
"poltchageistUnremarkable": "Simple Form",
|
||||
"poltchageistMasterpiece": "Edle Form",
|
||||
"ogerponTealMask": "Türkisgrüne Maske",
|
||||
"ogerponTealMaskTera": "Türkisgrüne Maske (Terakristallisiert)",
|
||||
"ogerponWellspringMask": "Brunnenmaske",
|
||||
"ogerponWellspringMaskTera": "Brunnenmaske (Terakristallisiert)",
|
||||
"ogerponHearthflameMask": "Ofenmaske",
|
||||
"ogerponHearthflameMaskTera": "Ofenmaske (Terakristallisiert)",
|
||||
"ogerponCornerstoneMask": "Fundamentmaske",
|
||||
"ogerponCornerstoneMaskTera": "Fundamentmaske (Terakristallisiert)",
|
||||
"terpagosTerastal": "Terakristall-Form",
|
||||
"terpagosStellar": "Stellarform",
|
||||
"galarDarumakaZen": "Trance-Modus",
|
||||
"paldeaTaurosCombat": "Gefechtsvariante",
|
||||
"paldeaTaurosBlaze": "Flammenvariante",
|
||||
"paldeaTaurosAqua": "Flutenvariante"
|
||||
|
|
|
@ -108,7 +108,7 @@
|
|||
"forest": "PMD EoS Dusk Forest",
|
||||
"grass": "PMD EoS Apple Woods",
|
||||
"graveyard": "PMD EoS Mystifying Forest",
|
||||
"ice_cave": "Firel - -60F",
|
||||
"ice_cave": "PMD EoS Vast Ice Mountain",
|
||||
"island": "PMD EoS Craggy Coast",
|
||||
"jungle": "Lmz - Jungle",
|
||||
"laboratory": "Firel - Laboratory",
|
||||
|
@ -116,8 +116,8 @@
|
|||
"meadow": "PMD EoS Sky Peak Forest",
|
||||
"metropolis": "Firel - Metropolis",
|
||||
"mountain": "PMD EoS Mt. Horn",
|
||||
"plains": "Firel - Route 888",
|
||||
"power_plant": "Firel - The Klink",
|
||||
"plains": "PMD EoS Sky Peak Prairie",
|
||||
"power_plant": "PMD EoS Far Amp Plains",
|
||||
"ruins": "PMD EoS Deep Sealed Ruin",
|
||||
"sea": "Andr06 - Marine Mystique",
|
||||
"seabed": "Firel - Seabed",
|
||||
|
@ -128,7 +128,7 @@
|
|||
"tall_grass": "PMD EoS Foggy Forest",
|
||||
"temple": "PMD EoS Aegis Cave",
|
||||
"town": "PMD EoS Random Dungeon Theme 3",
|
||||
"volcano": "Firel - Twisturn Volcano",
|
||||
"volcano": "PMD EoS Steam Cave",
|
||||
"wasteland": "PMD EoS Hidden Highland",
|
||||
"encounter_ace_trainer": "BW Trainers' Eyes Meet (Ace Trainer)",
|
||||
"encounter_backpacker": "BW Trainers' Eyes Meet (Backpacker)",
|
||||
|
|
|
@ -40,14 +40,9 @@
|
|||
"castformRainy": "Lluvia",
|
||||
"castformSnowy": "Nieve",
|
||||
"deoxysNormal": "Normal",
|
||||
"deoxysAttack": "Attack",
|
||||
"deoxysDefense": "Defense",
|
||||
"deoxysSpeed": "Speed",
|
||||
"burmyPlant": "Planta",
|
||||
"burmySandy": "Arena",
|
||||
"burmyTrash": "Basura",
|
||||
"cheribiOvercast": "Overcast",
|
||||
"cheribiSunshine": "Sunshine",
|
||||
"shellosEast": "Este",
|
||||
"shellosWest": "Oeste",
|
||||
"rotomHeat": "Calor",
|
||||
|
@ -55,36 +50,21 @@
|
|||
"rotomFrost": "Frío",
|
||||
"rotomFan": "Ventilador",
|
||||
"rotomMow": "Corte",
|
||||
"dialgaOrigin": "Origin",
|
||||
"palkiaOrigin": "Origin",
|
||||
"giratinaAltered": "Modificada",
|
||||
"giratinaOrigin": "Origin",
|
||||
"shayminLand": "Tierra",
|
||||
"shayminSky": "Sky",
|
||||
"basculinRedStriped": "Raya Roja",
|
||||
"basculinBlueStriped": "Raya Azul",
|
||||
"basculinWhiteStriped": "Raya Blanca",
|
||||
"darumakaZen": "Zen",
|
||||
"deerlingSpring": "Primavera",
|
||||
"deerlingSummer": "Verano",
|
||||
"deerlingAutumn": "Otoño",
|
||||
"deerlingWinter": "Invierno",
|
||||
"tornadusIncarnate": "Avatar",
|
||||
"tornadusTherian": "Therian",
|
||||
"thundurusIncarnate": "Avatar",
|
||||
"thundurusTherian": "Therian",
|
||||
"landorusIncarnate": "Avatar",
|
||||
"landorusTherian": "Therian",
|
||||
"kyuremBlack": "Black",
|
||||
"kyuremWhite": "White",
|
||||
"keldeoOrdinary": "Habitual",
|
||||
"keldeoResolute": "Resolute",
|
||||
"meloettaAria": "Lírica",
|
||||
"meloettaPirouette": "Danza",
|
||||
"genesectShock": "Shock Drive",
|
||||
"genesectBurn": "Burn Drive",
|
||||
"genesectChill": "Chill Drive",
|
||||
"genesectDouse": "Douse Drive",
|
||||
"froakieBattleBond": "Fuerte Afecto",
|
||||
"scatterbugMeadow": "Floral",
|
||||
"scatterbugIcySnow": "Polar",
|
||||
|
@ -120,10 +100,6 @@
|
|||
"furfrouLaReine": "Aristócrata",
|
||||
"furfrouKabuki": "Kabuki",
|
||||
"furfrouPharaoh": "Faraónico",
|
||||
"espurrMale": "Male",
|
||||
"espurrFemale": "Female",
|
||||
"honedgeShiled": "Shield",
|
||||
"honedgeBlade": "Blade",
|
||||
"pumpkabooSmall": "Pequeño",
|
||||
"pumpkabooLarge": "Grande",
|
||||
"pumpkabooSuper": "Enorme",
|
||||
|
@ -134,34 +110,11 @@
|
|||
"zygarde50Pc": "Zygarde al 50%",
|
||||
"zygarde10Pc": "Zygarde al 10%",
|
||||
"zygardeComplete": "Zygarde Completo",
|
||||
"hoopaUnbound": "Unbound",
|
||||
"oricorioBaile": "Apasionado",
|
||||
"oricorioPompom": "Animado",
|
||||
"oricorioPau": "Plácido",
|
||||
"oricorioSensu": "Refinado",
|
||||
"rockruffOwnTempo": "Ritmo Propio",
|
||||
"rockruffMidday": "Midday",
|
||||
"rockruffMidnight": "Midnight",
|
||||
"rockruffMidnight": "Dusk",
|
||||
"wishiwashiSchool": "School",
|
||||
"typeNullNormal": "Type: Normal",
|
||||
"typeNullFighting": "Type: Fighting",
|
||||
"typeNullFlying": "Type: Flying",
|
||||
"typeNullPoison": "Type: Poison",
|
||||
"typeNullGround": "Type: Ground",
|
||||
"typeNullRock": "Type: Rock",
|
||||
"typeNullBug": "Type: Bug",
|
||||
"typeNullGhost": "Type: Ghost",
|
||||
"typeNullSteel": "Type: Steel",
|
||||
"typeNullFire": "Type: Fire",
|
||||
"typeNullWater": "Type: Water",
|
||||
"typeNullGrass": "Type: Grass",
|
||||
"typeNullElectric": "Type: Electric",
|
||||
"typeNullPsychic": "Type: Psychic",
|
||||
"typeNullIce": "Type: Ice",
|
||||
"typeNullDragon": "Type: Dragon",
|
||||
"typeNullDark": "Type: Dark",
|
||||
"typeNullFairy": "Type: Fairy",
|
||||
"miniorRedMeteor": "Núcleo Rojo",
|
||||
"miniorOrangeMeteor": "Núcleo Naranja",
|
||||
"miniorYellowMeteor": "Núcleo Amarillo",
|
||||
|
@ -178,55 +131,25 @@
|
|||
"miniorViolet": "Violeta",
|
||||
"mimikyuDisguised": "Encubierta",
|
||||
"mimikyuBusted": "Descubierta",
|
||||
"necrozmaDuskMane": "Dusk Mane",
|
||||
"necrozmaDawnWings": "Dawn Wings",
|
||||
"necrozmaUltra": "Ultra",
|
||||
"magearnaOriginal": "Vetusto",
|
||||
"marshadowZenith": "Cénit",
|
||||
"sinisteaPhony": "Falsificada",
|
||||
"sinisteaAntique": "Genuina",
|
||||
"milceryVanillaCream": "Vanilla Cream",
|
||||
"milceryRubyCream": "Ruby Cream",
|
||||
"milceryMatchaCream": "Matcha Cream",
|
||||
"milceryMintCream": "Mint Cream",
|
||||
"milceryLemonCream": "Lemon Cream",
|
||||
"milcerySaltedCream": "Salted Cream",
|
||||
"milceryRubySwirl": "Ruby Swirl",
|
||||
"milceryCaramelSwirl": "Caramel Swirl",
|
||||
"milceryRainbowSwirl": "Rainbow Swirl",
|
||||
"eiscueNoIce": "Cara Deshielo",
|
||||
"indeedeeMale": "Macho",
|
||||
"indeedeeFemale": "Hembra",
|
||||
"morpekoFullBelly": "Saciada",
|
||||
"morpekoHangry": "Hangry",
|
||||
"zacianHeroOfManyBattles": "Guerrero avezado",
|
||||
"zacianCrowned": "Crowned",
|
||||
"zamazentaHeroOfManyBattles": "Guerrero avezado",
|
||||
"zamazentaCrowned": "Crowned",
|
||||
"kubfuSingleStrike": "Single Strike",
|
||||
"kubfuRapidStrike": "Rapid Strike",
|
||||
"zarudeDada": "Papá",
|
||||
"calyrexIce": "Ice Rider",
|
||||
"calyrexShadow": "Shadow Rider",
|
||||
"basculinMale": "Male",
|
||||
"basculinFemale": "Female",
|
||||
"enamorusIncarnate": "Avatar",
|
||||
"enamorusTherian": "Therian",
|
||||
"lechonkMale": "Male",
|
||||
"lechonkFemale": "Female",
|
||||
"tandemausFour": "Family of Four",
|
||||
"tandemausThree": "Family of Three",
|
||||
"squawkabillyGreenPlumage": "Plumaje Verde",
|
||||
"squawkabillyBluePlumage": "Plumaje Azul",
|
||||
"squawkabillyYellowPlumage": "Plumaje Amarillo",
|
||||
"squawkabillyWhitePlumage": "Plumaje Blanco",
|
||||
"finizenZero": "Zero",
|
||||
"finizenZero": "Hero",
|
||||
"tatsugiriCurly": "Curvada",
|
||||
"tatsugiriDroopy": "Lánguida",
|
||||
"tatsugiriStretchy": "Estirada",
|
||||
"dunsparceTwo": "Two-Segment",
|
||||
"dunsparceThree": "Three-Segment",
|
||||
"gimmighoulChest": "Cofre",
|
||||
"gimmighoulRoaming": "Andante",
|
||||
"koraidonApexBuild": "Forma Plena",
|
||||
|
@ -241,19 +164,6 @@
|
|||
"miraidonGlideMode": "Modo Planeo",
|
||||
"poltchageistCounterfeit": "Fraudulenta",
|
||||
"poltchageistArtisan": "Opulenta",
|
||||
"poltchageistUnremarkable": "Unremarkable",
|
||||
"poltchageistMasterpiece": "Masterpiece",
|
||||
"ogerponTealMask": "Teal Mask",
|
||||
"ogerponTealMaskTera": "Teal Mask Terastallized",
|
||||
"ogerponWellspringMask": "Wellspring Mask",
|
||||
"ogerponWellspringMaskTera": "Wellspring Mask Terastallized",
|
||||
"ogerponHearthflameMask": "Hearthflame Mask",
|
||||
"ogerponHearthflameMaskTera": "Hearthflame Mask Terastallized",
|
||||
"ogerponCornerstoneMask": "Cornerstone Mask",
|
||||
"ogerponCornerstoneMaskTera": "Cornerstone Mask Terastallized",
|
||||
"terpagosTerastal": "Terastal",
|
||||
"terpagosStellar": "Stellar",
|
||||
"galarDarumakaZen": "Zen",
|
||||
"paldeaTaurosCombat": "Combatiente",
|
||||
"paldeaTaurosBlaze": "Ardiente",
|
||||
"paldeaTaurosAqua": "Acuático"
|
||||
|
|
|
@ -40,14 +40,9 @@
|
|||
"castformRainy": "Pioggia",
|
||||
"castformSnowy": "Nuvola di neve",
|
||||
"deoxysNormal": "Normale",
|
||||
"deoxysAttack": "Attack",
|
||||
"deoxysDefense": "Defense",
|
||||
"deoxysSpeed": "Speed",
|
||||
"burmyPlant": "Pianta",
|
||||
"burmySandy": "Sabbia",
|
||||
"burmyTrash": "Scarti",
|
||||
"cheribiOvercast": "Overcast",
|
||||
"cheribiSunshine": "Sunshine",
|
||||
"shellosEast": "Est",
|
||||
"shellosWest": "Ovest",
|
||||
"rotomHeat": "Calore",
|
||||
|
@ -55,36 +50,21 @@
|
|||
"rotomFrost": "Gelo",
|
||||
"rotomFan": "Vortice",
|
||||
"rotomMow": "Taglio",
|
||||
"dialgaOrigin": "Origin",
|
||||
"palkiaOrigin": "Origin",
|
||||
"giratinaAltered": "Alterata",
|
||||
"giratinaOrigin": "Origin",
|
||||
"shayminLand": "Terra",
|
||||
"shayminSky": "Sky",
|
||||
"basculinRedStriped": "Linearossa",
|
||||
"basculinBlueStriped": "Lineablu",
|
||||
"basculinWhiteStriped": "Lineabianca",
|
||||
"darumakaZen": "Zen",
|
||||
"deerlingSpring": "Primavera",
|
||||
"deerlingSummer": "Estate",
|
||||
"deerlingAutumn": "Autunno",
|
||||
"deerlingWinter": "Inverno",
|
||||
"tornadusIncarnate": "Incarnazione",
|
||||
"tornadusTherian": "Therian",
|
||||
"thundurusIncarnate": "Incarnazione",
|
||||
"thundurusTherian": "Therian",
|
||||
"landorusIncarnate": "Incarnazione",
|
||||
"landorusTherian": "Therian",
|
||||
"kyuremBlack": "Black",
|
||||
"kyuremWhite": "White",
|
||||
"keldeoOrdinary": "Normale",
|
||||
"keldeoResolute": "Resolute",
|
||||
"meloettaAria": "Canto",
|
||||
"meloettaPirouette": "Danza",
|
||||
"genesectShock": "Shock Drive",
|
||||
"genesectBurn": "Burn Drive",
|
||||
"genesectChill": "Chill Drive",
|
||||
"genesectDouse": "Douse Drive",
|
||||
"froakieBattleBond": "Morfosintonia",
|
||||
"scatterbugMeadow": "Giardinfiore",
|
||||
"scatterbugIcySnow": "Nevi perenni",
|
||||
|
@ -120,10 +100,6 @@
|
|||
"furfrouLaReine": "Regina",
|
||||
"furfrouKabuki": "Kabuki",
|
||||
"furfrouPharaoh": "Faraone",
|
||||
"espurrMale": "Male",
|
||||
"espurrFemale": "Female",
|
||||
"honedgeShiled": "Shield",
|
||||
"honedgeBlade": "Blade",
|
||||
"pumpkabooSmall": "Mini",
|
||||
"pumpkabooLarge": "Grande",
|
||||
"pumpkabooSuper": "Maxi",
|
||||
|
@ -134,34 +110,11 @@
|
|||
"zygarde50Pc": "Forma 50% Sciamefusione",
|
||||
"zygarde10Pc": "Forma 10% Sciamefusione",
|
||||
"zygardeComplete": "Forma perfetta",
|
||||
"hoopaUnbound": "Unbound",
|
||||
"oricorioBaile": "Flamenco",
|
||||
"oricorioPompom": "Cheerdance",
|
||||
"oricorioPau": "Hula",
|
||||
"oricorioSensu": "Buyō",
|
||||
"rockruffOwnTempo": "Mentelocale",
|
||||
"rockruffMidday": "Midday",
|
||||
"rockruffMidnight": "Midnight",
|
||||
"rockruffMidnight": "Dusk",
|
||||
"wishiwashiSchool": "School",
|
||||
"typeNullNormal": "Type: Normal",
|
||||
"typeNullFighting": "Type: Fighting",
|
||||
"typeNullFlying": "Type: Flying",
|
||||
"typeNullPoison": "Type: Poison",
|
||||
"typeNullGround": "Type: Ground",
|
||||
"typeNullRock": "Type: Rock",
|
||||
"typeNullBug": "Type: Bug",
|
||||
"typeNullGhost": "Type: Ghost",
|
||||
"typeNullSteel": "Type: Steel",
|
||||
"typeNullFire": "Type: Fire",
|
||||
"typeNullWater": "Type: Water",
|
||||
"typeNullGrass": "Type: Grass",
|
||||
"typeNullElectric": "Type: Electric",
|
||||
"typeNullPsychic": "Type: Psychic",
|
||||
"typeNullIce": "Type: Ice",
|
||||
"typeNullDragon": "Type: Dragon",
|
||||
"typeNullDark": "Type: Dark",
|
||||
"typeNullFairy": "Type: Fairy",
|
||||
"miniorRedMeteor": "Nucleo Rosso",
|
||||
"miniorOrangeMeteor": "Nucleo Arancione",
|
||||
"miniorYellowMeteor": "Nucleo Giallo",
|
||||
|
@ -178,55 +131,25 @@
|
|||
"miniorViolet": "Violetto",
|
||||
"mimikyuDisguised": "Mascherata",
|
||||
"mimikyuBusted": "Smascherata",
|
||||
"necrozmaDuskMane": "Dusk Mane",
|
||||
"necrozmaDawnWings": "Dawn Wings",
|
||||
"necrozmaUltra": "Ultra",
|
||||
"magearnaOriginal": "Colore Antico",
|
||||
"marshadowZenith": "Zenith",
|
||||
"sinisteaPhony": "Contraffatta",
|
||||
"sinisteaAntique": "Autentica",
|
||||
"milceryVanillaCream": "Vanilla Cream",
|
||||
"milceryRubyCream": "Ruby Cream",
|
||||
"milceryMatchaCream": "Matcha Cream",
|
||||
"milceryMintCream": "Mint Cream",
|
||||
"milceryLemonCream": "Lemon Cream",
|
||||
"milcerySaltedCream": "Salted Cream",
|
||||
"milceryRubySwirl": "Ruby Swirl",
|
||||
"milceryCaramelSwirl": "Caramel Swirl",
|
||||
"milceryRainbowSwirl": "Rainbow Swirl",
|
||||
"eiscueNoIce": "Liquefaccia",
|
||||
"indeedeeMale": "Maschio",
|
||||
"indeedeeFemale": "Femmina",
|
||||
"morpekoFullBelly": "Panciapiena",
|
||||
"morpekoHangry": "Hangry",
|
||||
"zacianHeroOfManyBattles": "Eroe di Mille Lotte",
|
||||
"zacianCrowned": "Crowned",
|
||||
"zamazentaHeroOfManyBattles": "Eroe di Mille Lotte",
|
||||
"zamazentaCrowned": "Crowned",
|
||||
"kubfuSingleStrike": "Single Strike",
|
||||
"kubfuRapidStrike": "Rapid Strike",
|
||||
"zarudeDada": "Papà",
|
||||
"calyrexIce": "Ice Rider",
|
||||
"calyrexShadow": "Shadow Rider",
|
||||
"basculinMale": "Male",
|
||||
"basculinFemale": "Female",
|
||||
"enamorusIncarnate": "Incarnazione",
|
||||
"enamorusTherian": "Therian",
|
||||
"lechonkMale": "Male",
|
||||
"lechonkFemale": "Female",
|
||||
"tandemausFour": "Family of Four",
|
||||
"tandemausThree": "Family of Three",
|
||||
"squawkabillyGreenPlumage": "Piume Verdi",
|
||||
"squawkabillyBluePlumage": "Piume Azzurre",
|
||||
"squawkabillyYellowPlumage": "Piume Gialle",
|
||||
"squawkabillyWhitePlumage": "Piume Bianche",
|
||||
"finizenZero": "Zero",
|
||||
"finizenZero": "Hero",
|
||||
"tatsugiriCurly": "Arcuata",
|
||||
"tatsugiriDroopy": "Adagiata",
|
||||
"tatsugiriStretchy": "Tesa",
|
||||
"dunsparceTwo": "Two-Segment",
|
||||
"dunsparceThree": "Three-Segment",
|
||||
"gimmighoulChest": "Scrigno",
|
||||
"gimmighoulRoaming": "Ambulante",
|
||||
"koraidonApexBuild": "Foggia Integrale",
|
||||
|
@ -241,19 +164,6 @@
|
|||
"miraidonGlideMode": "Assetto Planata",
|
||||
"poltchageistCounterfeit": "Taroccata",
|
||||
"poltchageistArtisan": "Pregiata",
|
||||
"poltchageistUnremarkable": "Unremarkable",
|
||||
"poltchageistMasterpiece": "Masterpiece",
|
||||
"ogerponTealMask": "Teal Mask",
|
||||
"ogerponTealMaskTera": "Teal Mask Terastallized",
|
||||
"ogerponWellspringMask": "Wellspring Mask",
|
||||
"ogerponWellspringMaskTera": "Wellspring Mask Terastallized",
|
||||
"ogerponHearthflameMask": "Hearthflame Mask",
|
||||
"ogerponHearthflameMaskTera": "Hearthflame Mask Terastallized",
|
||||
"ogerponCornerstoneMask": "Cornerstone Mask",
|
||||
"ogerponCornerstoneMaskTera": "Cornerstone Mask Terastallized",
|
||||
"terpagosTerastal": "Terastal",
|
||||
"terpagosStellar": "Stellar",
|
||||
"galarDarumakaZen": "Zen",
|
||||
"paldeaTaurosCombat": "Combattiva",
|
||||
"paldeaTaurosBlaze": "Infuocata",
|
||||
"paldeaTaurosAqua": "Acquatica"
|
||||
|
|
|
@ -40,14 +40,9 @@
|
|||
"castformRainy": "あまみず",
|
||||
"castformSnowy": "ゆきぐも",
|
||||
"deoxysNormal": "ノーマル",
|
||||
"deoxysAttack": "Attack",
|
||||
"deoxysDefense": "Defense",
|
||||
"deoxysSpeed": "Speed",
|
||||
"burmyPlant": "くさき",
|
||||
"burmySandy": "すなち",
|
||||
"burmyTrash": "ゴミ",
|
||||
"cheribiOvercast": "Overcast",
|
||||
"cheribiSunshine": "Sunshine",
|
||||
"shellosEast": "ひがし",
|
||||
"shellosWest": "にし",
|
||||
"rotomHeat": "ヒート",
|
||||
|
@ -55,36 +50,21 @@
|
|||
"rotomFrost": "フロスト",
|
||||
"rotomFan": "スピン",
|
||||
"rotomMow": "カット",
|
||||
"dialgaOrigin": "Origin",
|
||||
"palkiaOrigin": "Origin",
|
||||
"giratinaAltered": "アナザー",
|
||||
"giratinaOrigin": "Origin",
|
||||
"shayminLand": "ランド",
|
||||
"shayminSky": "Sky",
|
||||
"basculinRedStriped": "赤筋",
|
||||
"basculinBlueStriped": "青筋",
|
||||
"basculinWhiteStriped": "白筋",
|
||||
"darumakaZen": "Zen",
|
||||
"deerlingSpring": "春",
|
||||
"deerlingSummer": "夏",
|
||||
"deerlingAutumn": "秋",
|
||||
"deerlingWinter": "冬",
|
||||
"tornadusIncarnate": "けしん",
|
||||
"tornadusTherian": "Therian",
|
||||
"thundurusIncarnate": "けしん",
|
||||
"thundurusTherian": "Therian",
|
||||
"landorusIncarnate": "けしん",
|
||||
"landorusTherian": "Therian",
|
||||
"kyuremBlack": "Black",
|
||||
"kyuremWhite": "White",
|
||||
"keldeoOrdinary": "いつも",
|
||||
"keldeoResolute": "Resolute",
|
||||
"meloettaAria": "ボイス",
|
||||
"meloettaPirouette": "ステップ",
|
||||
"genesectShock": "Shock Drive",
|
||||
"genesectBurn": "Burn Drive",
|
||||
"genesectChill": "Chill Drive",
|
||||
"genesectDouse": "Douse Drive",
|
||||
"froakieBattleBond": "きずなへんげ",
|
||||
"scatterbugMeadow": "はなぞの",
|
||||
"scatterbugIcySnow": "ひょうせつ",
|
||||
|
@ -120,10 +100,6 @@
|
|||
"furfrouLaReine": "クイーン",
|
||||
"furfrouKabuki": "カブキ",
|
||||
"furfrouPharaoh": "キングダム",
|
||||
"espurrMale": "Male",
|
||||
"espurrFemale": "Female",
|
||||
"honedgeShiled": "Shield",
|
||||
"honedgeBlade": "Blade",
|
||||
"pumpkabooSmall": "ちいさい",
|
||||
"pumpkabooLarge": "おおきい",
|
||||
"pumpkabooSuper": "とくだい",
|
||||
|
@ -134,34 +110,11 @@
|
|||
"zygarde50Pc": "50%フォルム スワームチェンジ",
|
||||
"zygarde10Pc": "10%フォルム スワームチェンジ",
|
||||
"zygardeComplete": "パーフェクトフォルム",
|
||||
"hoopaUnbound": "Unbound",
|
||||
"oricorioBaile": "めらめら",
|
||||
"oricorioPompom": "ぱちぱち",
|
||||
"oricorioPau": "ふらふら",
|
||||
"oricorioSensu": "まいまい",
|
||||
"rockruffOwnTempo": "マイペース",
|
||||
"rockruffMidday": "Midday",
|
||||
"rockruffMidnight": "Midnight",
|
||||
"rockruffMidnight": "Dusk",
|
||||
"wishiwashiSchool": "School",
|
||||
"typeNullNormal": "Type: Normal",
|
||||
"typeNullFighting": "Type: Fighting",
|
||||
"typeNullFlying": "Type: Flying",
|
||||
"typeNullPoison": "Type: Poison",
|
||||
"typeNullGround": "Type: Ground",
|
||||
"typeNullRock": "Type: Rock",
|
||||
"typeNullBug": "Type: Bug",
|
||||
"typeNullGhost": "Type: Ghost",
|
||||
"typeNullSteel": "Type: Steel",
|
||||
"typeNullFire": "Type: Fire",
|
||||
"typeNullWater": "Type: Water",
|
||||
"typeNullGrass": "Type: Grass",
|
||||
"typeNullElectric": "Type: Electric",
|
||||
"typeNullPsychic": "Type: Psychic",
|
||||
"typeNullIce": "Type: Ice",
|
||||
"typeNullDragon": "Type: Dragon",
|
||||
"typeNullDark": "Type: Dark",
|
||||
"typeNullFairy": "Type: Fairy",
|
||||
"miniorRedMeteor": "赤 りゅうせい",
|
||||
"miniorOrangeMeteor": "オレンジ りゅうせい",
|
||||
"miniorYellowMeteor": "黄 りゅうせい",
|
||||
|
@ -178,52 +131,22 @@
|
|||
"miniorViolet": "紫",
|
||||
"mimikyuDisguised": "ばけたすがた",
|
||||
"mimikyuBusted": "ばれたすがた",
|
||||
"necrozmaDuskMane": "Dusk Mane",
|
||||
"necrozmaDawnWings": "Dawn Wings",
|
||||
"necrozmaUltra": "Ultra",
|
||||
"magearnaOriginal": "500ねんまえ",
|
||||
"marshadowZenith": "Zパワー",
|
||||
"sinisteaPhony": "がんさく",
|
||||
"sinisteaAntique": "しんさく",
|
||||
"milceryVanillaCream": "Vanilla Cream",
|
||||
"milceryRubyCream": "Ruby Cream",
|
||||
"milceryMatchaCream": "Matcha Cream",
|
||||
"milceryMintCream": "Mint Cream",
|
||||
"milceryLemonCream": "Lemon Cream",
|
||||
"milcerySaltedCream": "Salted Cream",
|
||||
"milceryRubySwirl": "Ruby Swirl",
|
||||
"milceryCaramelSwirl": "Caramel Swirl",
|
||||
"milceryRainbowSwirl": "Rainbow Swirl",
|
||||
"eiscueNoIce": "ナイスなし",
|
||||
"indeedeeMale": "オス",
|
||||
"indeedeeFemale": "メス",
|
||||
"morpekoFullBelly": "まんぷく",
|
||||
"morpekoHangry": "Hangry",
|
||||
"zacianHeroOfManyBattles": "れきせんのゆうしゃ",
|
||||
"zacianCrowned": "Crowned",
|
||||
"zamazentaHeroOfManyBattles": "れきせんのゆうしゃ",
|
||||
"zamazentaCrowned": "Crowned",
|
||||
"kubfuSingleStrike": "Single Strike",
|
||||
"kubfuRapidStrike": "Rapid Strike",
|
||||
"zarudeDada": "とうちゃん",
|
||||
"calyrexIce": "Ice Rider",
|
||||
"calyrexShadow": "Shadow Rider",
|
||||
"basculinMale": "Male",
|
||||
"basculinFemale": "Female",
|
||||
"enamorusIncarnate": "けしん",
|
||||
"enamorusTherian": "Therian",
|
||||
"lechonkMale": "Male",
|
||||
"lechonkFemale": "Female",
|
||||
"tandemausFour": "Family of Four",
|
||||
"tandemausThree": "Family of Three",
|
||||
"squawkabillyGreenPlumage": "グリーンフェザー",
|
||||
"squawkabillyBluePlumage": "ブルーフェザー",
|
||||
"squawkabillyYellowPlumage": "イエローフェザー",
|
||||
"squawkabillyWhitePlumage": "ホワイトフェザー",
|
||||
"dunsparceTwo": "Two-Segment",
|
||||
"dunsparceThree": "Three-Segment",
|
||||
"finizenZero": "Zero",
|
||||
"finizenZero": "Hero",
|
||||
"tatsugiriCurly": "そったすがた",
|
||||
"tatsugiriDroopy": "たれたすがた",
|
||||
"tatsugiriStretchy": "のびたすがた",
|
||||
|
@ -241,19 +164,6 @@
|
|||
"miraidonGlideMode":"グライドモード",
|
||||
"poltchageistCounterfeit": "マガイモノ",
|
||||
"poltchageistArtisan": "タカイモノ",
|
||||
"poltchageistUnremarkable": "Unremarkable",
|
||||
"poltchageistMasterpiece": "Masterpiece",
|
||||
"ogerponTealMask": "Teal Mask",
|
||||
"ogerponTealMaskTera": "Teal Mask Terastallized",
|
||||
"ogerponWellspringMask": "Wellspring Mask",
|
||||
"ogerponWellspringMaskTera": "Wellspring Mask Terastallized",
|
||||
"ogerponHearthflameMask": "Hearthflame Mask",
|
||||
"ogerponHearthflameMaskTera": "Hearthflame Mask Terastallized",
|
||||
"ogerponCornerstoneMask": "Cornerstone Mask",
|
||||
"ogerponCornerstoneMaskTera": "Cornerstone Mask Terastallized",
|
||||
"terpagosTerastal": "Terastal",
|
||||
"terpagosStellar": "Stellar",
|
||||
"galarDarumakaZen": "Zen",
|
||||
"paldeaTaurosCombat": "コンバット",
|
||||
"paldeaTaurosBlaze": "ブレイズ",
|
||||
"paldeaTaurosAqua": "ウォーター"
|
||||
|
|
|
@ -40,14 +40,9 @@
|
|||
"castformRainy": "빗방울의 모습",
|
||||
"castformSnowy": "설운의 모습",
|
||||
"deoxysNormal": "노말폼",
|
||||
"deoxysAttack": "Attack",
|
||||
"deoxysDefense": "Defense",
|
||||
"deoxysSpeed": "Speed",
|
||||
"burmyPlant": "초목도롱",
|
||||
"burmySandy": "모래땅도롱",
|
||||
"burmyTrash": "슈레도롱",
|
||||
"cheribiOvercast": "Overcast",
|
||||
"cheribiSunshine": "Sunshine",
|
||||
"shellosEast": "동쪽바다의 모습",
|
||||
"shellosWest": "서쪽바다의 모습",
|
||||
"rotomHeat": "히트",
|
||||
|
@ -55,36 +50,21 @@
|
|||
"rotomFrost": "프로스트",
|
||||
"rotomFan": "스핀",
|
||||
"rotomMow": "커트",
|
||||
"dialgaOrigin": "Origin",
|
||||
"palkiaOrigin": "Origin",
|
||||
"giratinaAltered": "어나더폼",
|
||||
"giratinaOrigin": "Origin",
|
||||
"shayminLand": "랜드폼",
|
||||
"shayminSky": "Sky",
|
||||
"basculinRedStriped": "적색근의 모습",
|
||||
"basculinBlueStriped": "청색근의 모습",
|
||||
"basculinWhiteStriped": "백색근의 모습",
|
||||
"darumakaZen": "Zen",
|
||||
"deerlingSpring": "봄의 모습",
|
||||
"deerlingSummer": "여름의 모습",
|
||||
"deerlingAutumn": "가을의 모습",
|
||||
"deerlingWinter": "겨울의 모습",
|
||||
"tornadusIncarnate": "화신폼",
|
||||
"tornadusTherian": "Therian",
|
||||
"thundurusIncarnate": "화신폼",
|
||||
"thundurusTherian": "Therian",
|
||||
"landorusIncarnate": "화신폼",
|
||||
"landorusTherian": "Therian",
|
||||
"kyuremBlack": "Black",
|
||||
"kyuremWhite": "White",
|
||||
"keldeoOrdinary": "평상시 모습",
|
||||
"keldeoResolute": "Resolute",
|
||||
"meloettaAria": "보이스폼",
|
||||
"meloettaPirouette": "스텝폼",
|
||||
"genesectShock": "Shock Drive",
|
||||
"genesectBurn": "Burn Drive",
|
||||
"genesectChill": "Chill Drive",
|
||||
"genesectDouse": "Douse Drive",
|
||||
"froakieBattleBond": "유대변화",
|
||||
"scatterbugMeadow": "화원의 모양",
|
||||
"scatterbugIcySnow": "빙설의 모양",
|
||||
|
@ -120,10 +100,6 @@
|
|||
"furfrouLaReine": "퀸컷",
|
||||
"furfrouKabuki": "가부키컷",
|
||||
"furfrouPharaoh": "킹덤컷",
|
||||
"espurrMale": "Male",
|
||||
"espurrFemale": "Female",
|
||||
"honedgeShiled": "Shield",
|
||||
"honedgeBlade": "Blade",
|
||||
"pumpkabooSmall": "작은 사이즈",
|
||||
"pumpkabooLarge": "큰 사이즈",
|
||||
"pumpkabooSuper": "특대 사이즈",
|
||||
|
@ -134,34 +110,11 @@
|
|||
"zygarde50Pc": "스웜체인지 50%폼",
|
||||
"zygarde10Pc": "스웜체인지 10%폼",
|
||||
"zygardeComplete": "퍼펙트폼",
|
||||
"hoopaUnbound": "Unbound",
|
||||
"oricorioBaile": "이글이글스타일",
|
||||
"oricorioPompom": "파칙파칙스타일",
|
||||
"oricorioPau": "훌라훌라스타일",
|
||||
"oricorioSensu": "하늘하늘스타일",
|
||||
"rockruffOwnTempo": "마이페이스",
|
||||
"rockruffMidday": "Midday",
|
||||
"rockruffMidnight": "Midnight",
|
||||
"rockruffMidnight": "Dusk",
|
||||
"wishiwashiSchool": "School",
|
||||
"typeNullNormal": "Type: Normal",
|
||||
"typeNullFighting": "Type: Fighting",
|
||||
"typeNullFlying": "Type: Flying",
|
||||
"typeNullPoison": "Type: Poison",
|
||||
"typeNullGround": "Type: Ground",
|
||||
"typeNullRock": "Type: Rock",
|
||||
"typeNullBug": "Type: Bug",
|
||||
"typeNullGhost": "Type: Ghost",
|
||||
"typeNullSteel": "Type: Steel",
|
||||
"typeNullFire": "Type: Fire",
|
||||
"typeNullWater": "Type: Water",
|
||||
"typeNullGrass": "Type: Grass",
|
||||
"typeNullElectric": "Type: Electric",
|
||||
"typeNullPsychic": "Type: Psychic",
|
||||
"typeNullIce": "Type: Ice",
|
||||
"typeNullDragon": "Type: Dragon",
|
||||
"typeNullDark": "Type: Dark",
|
||||
"typeNullFairy": "Type: Fairy",
|
||||
"miniorRedMeteor": "유성의 모습(빨강)",
|
||||
"miniorOrangeMeteor": "유성의 모습(주황)",
|
||||
"miniorYellowMeteor": "유성의 모습(노랑)",
|
||||
|
@ -178,55 +131,25 @@
|
|||
"miniorViolet": "보라색 코어",
|
||||
"mimikyuDisguised": "둔갑한 모습",
|
||||
"mimikyuBusted": "들킨 모습",
|
||||
"necrozmaDuskMane": "Dusk Mane",
|
||||
"necrozmaDawnWings": "Dawn Wings",
|
||||
"necrozmaUltra": "Ultra",
|
||||
"magearnaOriginal": "500년 전의 색",
|
||||
"marshadowZenith": "투지를 불태운 마샤도",
|
||||
"sinisteaPhony": "위작품",
|
||||
"sinisteaAntique": "진작품",
|
||||
"milceryVanillaCream": "Vanilla Cream",
|
||||
"milceryRubyCream": "Ruby Cream",
|
||||
"milceryMatchaCream": "Matcha Cream",
|
||||
"milceryMintCream": "Mint Cream",
|
||||
"milceryLemonCream": "Lemon Cream",
|
||||
"milcerySaltedCream": "Salted Cream",
|
||||
"milceryRubySwirl": "Ruby Swirl",
|
||||
"milceryCaramelSwirl": "Caramel Swirl",
|
||||
"milceryRainbowSwirl": "Rainbow Swirl",
|
||||
"eiscueNoIce": "나이스페이스",
|
||||
"indeedeeMale": "수컷의 모습",
|
||||
"indeedeeFemale": "암컷의 모습",
|
||||
"morpekoFullBelly": "배부른 모양",
|
||||
"morpekoHangry": "Hangry",
|
||||
"zacianHeroOfManyBattles": "역전의 용사",
|
||||
"zacianCrowned": "Crowned",
|
||||
"zamazentaHeroOfManyBattles": "역전의 용사",
|
||||
"zamazentaCrowned": "Crowned",
|
||||
"kubfuSingleStrike": "Single Strike",
|
||||
"kubfuRapidStrike": "Rapid Strike",
|
||||
"zarudeDada": "아빠",
|
||||
"calyrexIce": "Ice Rider",
|
||||
"calyrexShadow": "Shadow Rider",
|
||||
"basculinMale": "Male",
|
||||
"basculinFemale": "Female",
|
||||
"enamorusIncarnate": "화신폼",
|
||||
"enamorusTherian": "Therian",
|
||||
"lechonkMale": "Male",
|
||||
"lechonkFemale": "Female",
|
||||
"tandemausFour": "Family of Four",
|
||||
"tandemausThree": "Family of Three",
|
||||
"squawkabillyGreenPlumage": "그린 페더",
|
||||
"squawkabillyBluePlumage": "블루 페더",
|
||||
"squawkabillyYellowPlumage": "옐로 페더",
|
||||
"squawkabillyWhitePlumage": "화이트 페더",
|
||||
"finizenZero": "Zero",
|
||||
"finizenZero": "Hero",
|
||||
"tatsugiriCurly": "젖힌 모습",
|
||||
"tatsugiriDroopy": "늘어진 모습",
|
||||
"tatsugiriStretchy": "뻗은 모습",
|
||||
"dunsparceTwo": "Two-Segment",
|
||||
"dunsparceThree": "Three-Segment",
|
||||
"gimmighoulChest": "상자폼",
|
||||
"gimmighoulRoaming": "도보폼",
|
||||
"koraidonApexBuild": "완전형태",
|
||||
|
@ -241,19 +164,6 @@
|
|||
"miraidonGlideMode": "글라이드모드",
|
||||
"poltchageistCounterfeit": "가짜배기의 모습",
|
||||
"poltchageistArtisan": "알짜배기의 모습",
|
||||
"poltchageistUnremarkable": "Unremarkable",
|
||||
"poltchageistMasterpiece": "Masterpiece",
|
||||
"ogerponTealMask": "Teal Mask",
|
||||
"ogerponTealMaskTera": "Teal Mask Terastallized",
|
||||
"ogerponWellspringMask": "Wellspring Mask",
|
||||
"ogerponWellspringMaskTera": "Wellspring Mask Terastallized",
|
||||
"ogerponHearthflameMask": "Hearthflame Mask",
|
||||
"ogerponHearthflameMaskTera": "Hearthflame Mask Terastallized",
|
||||
"ogerponCornerstoneMask": "Cornerstone Mask",
|
||||
"ogerponCornerstoneMaskTera": "Cornerstone Mask Terastallized",
|
||||
"terpagosTerastal": "Terastal",
|
||||
"terpagosStellar": "Stellar",
|
||||
"galarDarumakaZen": "Zen",
|
||||
"paldeaTaurosCombat": "컴뱃종",
|
||||
"paldeaTaurosBlaze": "블레이즈종",
|
||||
"paldeaTaurosAqua": "워터종"
|
||||
|
|
|
@ -40,14 +40,9 @@
|
|||
"castformRainy": "Chuvoso",
|
||||
"castformSnowy": "Nevado",
|
||||
"deoxysNormal": "Normal",
|
||||
"deoxysAttack": "Attack",
|
||||
"deoxysDefense": "Defense",
|
||||
"deoxysSpeed": "Speed",
|
||||
"burmyPlant": "Vegetal",
|
||||
"burmySandy": "Arenoso",
|
||||
"burmyTrash": "Lixo",
|
||||
"cheribiOvercast": "Overcast",
|
||||
"cheribiSunshine": "Sunshine",
|
||||
"shellosEast": "Leste",
|
||||
"shellosWest": "Oeste",
|
||||
"rotomHeat": "Calor",
|
||||
|
@ -55,36 +50,21 @@
|
|||
"rotomFrost": "Congelante",
|
||||
"rotomFan": "Ventilador",
|
||||
"rotomMow": "Corte",
|
||||
"dialgaOrigin": "Origin",
|
||||
"palkiaOrigin": "Origin",
|
||||
"giratinaAltered": "Alterado",
|
||||
"giratinaOrigin": "Origin",
|
||||
"shayminLand": "Terrestre",
|
||||
"shayminSky": "Sky",
|
||||
"basculinRedStriped": "Listras Vermelhas",
|
||||
"basculinBlueStriped": "Listras Azuis",
|
||||
"basculinWhiteStriped": "Listras Brancas",
|
||||
"darumakaZen": "Zen",
|
||||
"deerlingSpring": "Primavera",
|
||||
"deerlingSummer": "Verão",
|
||||
"deerlingAutumn": "Outono",
|
||||
"deerlingWinter": "Inverno",
|
||||
"tornadusIncarnate": "Materializado",
|
||||
"tornadusTherian": "Therian",
|
||||
"thundurusIncarnate": "Materializado",
|
||||
"thundurusTherian": "Therian",
|
||||
"landorusIncarnate": "Materializado",
|
||||
"landorusTherian": "Therian",
|
||||
"kyuremBlack": "Black",
|
||||
"kyuremWhite": "White",
|
||||
"keldeoOrdinary": "Comum",
|
||||
"keldeoResolute": "Resolute",
|
||||
"meloettaAria": "Ária",
|
||||
"meloettaPirouette": "Pirueta",
|
||||
"genesectShock": "Shock Drive",
|
||||
"genesectBurn": "Burn Drive",
|
||||
"genesectChill": "Chill Drive",
|
||||
"genesectDouse": "Douse Drive",
|
||||
"froakieBattleBond": "Vínculo de Batalha",
|
||||
"scatterbugMeadow": "Prado",
|
||||
"scatterbugIcySnow": "Neve Congelada",
|
||||
|
@ -120,10 +100,6 @@
|
|||
"furfrouLaReine": "Aristocrático",
|
||||
"furfrouKabuki": "Kabuki",
|
||||
"furfrouPharaoh": "Faraó",
|
||||
"espurrMale": "Male",
|
||||
"espurrFemale": "Female",
|
||||
"honedgeShiled": "Shield",
|
||||
"honedgeBlade": "Blade",
|
||||
"pumpkabooSmall": "Pequeno",
|
||||
"pumpkabooLarge": "Grande",
|
||||
"pumpkabooSuper": "Extragrande",
|
||||
|
@ -134,34 +110,11 @@
|
|||
"zygarde50Pc": "Forma 50% Agrupada",
|
||||
"zygarde10Pc": "Forma 10% Agrupada",
|
||||
"zygardeComplete": "Forma Completa",
|
||||
"hoopaUnbound": "Unbound",
|
||||
"oricorioBaile": "Flamenco",
|
||||
"oricorioPompom": "Pompom",
|
||||
"oricorioPau": "Hula",
|
||||
"oricorioSensu": "Leque",
|
||||
"rockruffOwnTempo": "Próprio Tempo",
|
||||
"rockruffMidday": "Midday",
|
||||
"rockruffMidnight": "Midnight",
|
||||
"rockruffMidnight": "Dusk",
|
||||
"wishiwashiSchool": "School",
|
||||
"typeNullNormal": "Type: Normal",
|
||||
"typeNullFighting": "Type: Fighting",
|
||||
"typeNullFlying": "Type: Flying",
|
||||
"typeNullPoison": "Type: Poison",
|
||||
"typeNullGround": "Type: Ground",
|
||||
"typeNullRock": "Type: Rock",
|
||||
"typeNullBug": "Type: Bug",
|
||||
"typeNullGhost": "Type: Ghost",
|
||||
"typeNullSteel": "Type: Steel",
|
||||
"typeNullFire": "Type: Fire",
|
||||
"typeNullWater": "Type: Water",
|
||||
"typeNullGrass": "Type: Grass",
|
||||
"typeNullElectric": "Type: Electric",
|
||||
"typeNullPsychic": "Type: Psychic",
|
||||
"typeNullIce": "Type: Ice",
|
||||
"typeNullDragon": "Type: Dragon",
|
||||
"typeNullDark": "Type: Dark",
|
||||
"typeNullFairy": "Type: Fairy",
|
||||
"miniorRedMeteor": "Meteoro Vermelho",
|
||||
"miniorOrangeMeteor": "Meteoro Laranja",
|
||||
"miniorYellowMeteor": "Meteoro Amarelo",
|
||||
|
@ -178,55 +131,25 @@
|
|||
"miniorViolet": "Violeta",
|
||||
"mimikyuDisguised": "Disfarçado",
|
||||
"mimikyuBusted": "Descoberto",
|
||||
"necrozmaDuskMane": "Dusk Mane",
|
||||
"necrozmaDawnWings": "Dawn Wings",
|
||||
"necrozmaUltra": "Ultra",
|
||||
"magearnaOriginal": "Original",
|
||||
"marshadowZenith": "Zênite",
|
||||
"sinisteaPhony": "Falsificado",
|
||||
"sinisteaAntique": "Autêntico",
|
||||
"milceryVanillaCream": "Vanilla Cream",
|
||||
"milceryRubyCream": "Ruby Cream",
|
||||
"milceryMatchaCream": "Matcha Cream",
|
||||
"milceryMintCream": "Mint Cream",
|
||||
"milceryLemonCream": "Lemon Cream",
|
||||
"milcerySaltedCream": "Salted Cream",
|
||||
"milceryRubySwirl": "Ruby Swirl",
|
||||
"milceryCaramelSwirl": "Caramel Swirl",
|
||||
"milceryRainbowSwirl": "Rainbow Swirl",
|
||||
"eiscueNoIce": "Descongelado",
|
||||
"indeedeeMale": "Macho",
|
||||
"indeedeeFemale": "Fêmea",
|
||||
"morpekoFullBelly": "Saciado",
|
||||
"morpekoHangry": "Hangry",
|
||||
"zacianHeroOfManyBattles": "Herói Veterano",
|
||||
"zacianCrowned": "Crowned",
|
||||
"zamazentaHeroOfManyBattles": "Herói Veterano",
|
||||
"zamazentaCrowned": "Crowned",
|
||||
"kubfuSingleStrike": "Single Strike",
|
||||
"kubfuRapidStrike": "Rapid Strike",
|
||||
"zarudeDada": "Papa",
|
||||
"calyrexIce": "Ice Rider",
|
||||
"calyrexShadow": "Shadow Rider",
|
||||
"basculinMale": "Male",
|
||||
"basculinFemale": "Female",
|
||||
"enamorusIncarnate": "Materializado",
|
||||
"enamorusTherian": "Therian",
|
||||
"lechonkMale": "Male",
|
||||
"lechonkFemale": "Female",
|
||||
"tandemausFour": "Family of Four",
|
||||
"tandemausThree": "Family of Three",
|
||||
"squawkabillyGreenPlumage": "Plumas Verdes",
|
||||
"squawkabillyBluePlumage": "Plumas Azuis",
|
||||
"squawkabillyYellowPlumage": "Plumas Amarelas",
|
||||
"squawkabillyWhitePlumage": "Plumas Brancas",
|
||||
"finizenZero": "Zero",
|
||||
"finizenZero": "Hero",
|
||||
"tatsugiriCurly": "Curvado",
|
||||
"tatsugiriDroopy": "Caído",
|
||||
"tatsugiriStretchy": "Reto",
|
||||
"dunsparceTwo": "Two-Segment",
|
||||
"dunsparceThree": "Three-Segment",
|
||||
"gimmighoulChest": "Baú",
|
||||
"gimmighoulRoaming": "Perambulante",
|
||||
"koraidonApexBuild": "Forma Plena",
|
||||
|
@ -241,19 +164,6 @@
|
|||
"miraidonGlideMode": "Modo Aéreo",
|
||||
"poltchageistCounterfeit": "Imitação",
|
||||
"poltchageistArtisan": "Artesão",
|
||||
"poltchageistUnremarkable": "Unremarkable",
|
||||
"poltchageistMasterpiece": "Masterpiece",
|
||||
"ogerponTealMask": "Teal Mask",
|
||||
"ogerponTealMaskTera": "Teal Mask Terastallized",
|
||||
"ogerponWellspringMask": "Wellspring Mask",
|
||||
"ogerponWellspringMaskTera": "Wellspring Mask Terastallized",
|
||||
"ogerponHearthflameMask": "Hearthflame Mask",
|
||||
"ogerponHearthflameMaskTera": "Hearthflame Mask Terastallized",
|
||||
"ogerponCornerstoneMask": "Cornerstone Mask",
|
||||
"ogerponCornerstoneMaskTera": "Cornerstone Mask Terastallized",
|
||||
"terpagosTerastal": "Terastal",
|
||||
"terpagosStellar": "Stellar",
|
||||
"galarDarumakaZen": "Zen",
|
||||
"paldeaTaurosCombat": "Combate",
|
||||
"paldeaTaurosBlaze": "Chamas",
|
||||
"paldeaTaurosAqua": "Aquático"
|
||||
|
|
|
@ -40,14 +40,9 @@
|
|||
"castformRainy": "雨天",
|
||||
"castformSnowy": "雪天",
|
||||
"deoxysNormal": "普通",
|
||||
"deoxysAttack": "Attack",
|
||||
"deoxysDefense": "Defense",
|
||||
"deoxysSpeed": "Speed",
|
||||
"burmyPlant": "草木蓑衣",
|
||||
"burmySandy": "砂土蓑衣",
|
||||
"burmyTrash": "垃圾蓑衣",
|
||||
"cheribiOvercast": "Overcast",
|
||||
"cheribiSunshine": "Sunshine",
|
||||
"shellosEast": "东海",
|
||||
"shellosWest": "西海",
|
||||
"rotomHeat": "加热",
|
||||
|
@ -55,36 +50,21 @@
|
|||
"rotomFrost": "结冰",
|
||||
"rotomFan": "旋转",
|
||||
"rotomMow": "切割",
|
||||
"dialgaOrigin": "Origin",
|
||||
"palkiaOrigin": "Origin",
|
||||
"giratinaAltered": "别种",
|
||||
"giratinaOrigin": "Origin",
|
||||
"shayminLand": "陆上",
|
||||
"shayminSky": "Sky",
|
||||
"basculinRedStriped": "红条纹",
|
||||
"basculinBlueStriped": "蓝条纹",
|
||||
"basculinWhiteStriped": "白条纹",
|
||||
"darumakaZen": "Zen",
|
||||
"deerlingSpring": "春天",
|
||||
"deerlingSummer": "夏天",
|
||||
"deerlingAutumn": "秋天",
|
||||
"deerlingWinter": "冬天",
|
||||
"tornadusIncarnate": "化身",
|
||||
"tornadusTherian": "Therian",
|
||||
"thundurusIncarnate": "化身",
|
||||
"thundurusTherian": "Therian",
|
||||
"landorusIncarnate": "化身",
|
||||
"landorusTherian": "Therian",
|
||||
"kyuremBlack": "Black",
|
||||
"kyuremWhite": "White",
|
||||
"keldeoOrdinary": "通常",
|
||||
"keldeoResolute": "Resolute",
|
||||
"meloettaAria": "歌声",
|
||||
"meloettaPirouette": "舞步形态",
|
||||
"genesectShock": "Shock Drive",
|
||||
"genesectBurn": "Burn Drive",
|
||||
"genesectChill": "Chill Drive",
|
||||
"genesectDouse": "Douse Drive",
|
||||
"froakieBattleBond": "牵绊变身",
|
||||
"scatterbugMeadow": "花园花纹",
|
||||
"scatterbugIcySnow": "冰雪花纹",
|
||||
|
@ -120,10 +100,6 @@
|
|||
"furfrouLaReine": "女王造型",
|
||||
"furfrouKabuki": "歌舞伎造型",
|
||||
"furfrouPharaoh": "国王造型",
|
||||
"espurrMale": "Male",
|
||||
"espurrFemale": "Female",
|
||||
"honedgeShiled": "Shield",
|
||||
"honedgeBlade": "Blade",
|
||||
"pumpkabooSmall": "小尺寸",
|
||||
"pumpkabooLarge": "大尺寸",
|
||||
"pumpkabooSuper": "特大尺寸",
|
||||
|
@ -134,34 +110,11 @@
|
|||
"zygarde50Pc": "50%形态 群聚变形",
|
||||
"zygarde10Pc": "10%形态 群聚变形",
|
||||
"zygardeComplete": "完全体形态",
|
||||
"hoopaUnbound": "Unbound",
|
||||
"oricorioBaile": "热辣热辣风格",
|
||||
"oricorioPompom": "啪滋啪滋风格",
|
||||
"oricorioPau": "呼拉呼拉风格",
|
||||
"oricorioSensu": "轻盈轻盈风格",
|
||||
"rockruffOwnTempo": "特殊岩狗狗",
|
||||
"rockruffMidday": "Midday",
|
||||
"rockruffMidnight": "Midnight",
|
||||
"rockruffMidnight": "Dusk",
|
||||
"wishiwashiSchool": "School",
|
||||
"typeNullNormal": "Type: Normal",
|
||||
"typeNullFighting": "Type: Fighting",
|
||||
"typeNullFlying": "Type: Flying",
|
||||
"typeNullPoison": "Type: Poison",
|
||||
"typeNullGround": "Type: Ground",
|
||||
"typeNullRock": "Type: Rock",
|
||||
"typeNullBug": "Type: Bug",
|
||||
"typeNullGhost": "Type: Ghost",
|
||||
"typeNullSteel": "Type: Steel",
|
||||
"typeNullFire": "Type: Fire",
|
||||
"typeNullWater": "Type: Water",
|
||||
"typeNullGrass": "Type: Grass",
|
||||
"typeNullElectric": "Type: Electric",
|
||||
"typeNullPsychic": "Type: Psychic",
|
||||
"typeNullIce": "Type: Ice",
|
||||
"typeNullDragon": "Type: Dragon",
|
||||
"typeNullDark": "Type: Dark",
|
||||
"typeNullFairy": "Type: Fairy",
|
||||
"miniorRedMeteor": "红色核心",
|
||||
"miniorOrangeMeteor": "橙色核心",
|
||||
"miniorYellowMeteor": "黄色核心",
|
||||
|
@ -178,55 +131,25 @@
|
|||
"miniorViolet": "紫色",
|
||||
"mimikyuDisguised": "化形",
|
||||
"mimikyuBusted": "现形",
|
||||
"necrozmaDuskMane": "Dusk Mane",
|
||||
"necrozmaDawnWings": "Dawn Wings",
|
||||
"necrozmaUltra": "Ultra",
|
||||
"magearnaOriginal": "500年前的颜色",
|
||||
"marshadowZenith": "全力",
|
||||
"sinisteaPhony": "赝品",
|
||||
"sinisteaAntique": "真品",
|
||||
"milceryVanillaCream": "Vanilla Cream",
|
||||
"milceryRubyCream": "Ruby Cream",
|
||||
"milceryMatchaCream": "Matcha Cream",
|
||||
"milceryMintCream": "Mint Cream",
|
||||
"milceryLemonCream": "Lemon Cream",
|
||||
"milcerySaltedCream": "Salted Cream",
|
||||
"milceryRubySwirl": "Ruby Swirl",
|
||||
"milceryCaramelSwirl": "Caramel Swirl",
|
||||
"milceryRainbowSwirl": "Rainbow Swirl",
|
||||
"eiscueNoIce": "解冻头",
|
||||
"indeedeeMale": "雄性",
|
||||
"indeedeeFemale": "雌性",
|
||||
"morpekoFullBelly": "满腹花纹",
|
||||
"morpekoHangry": "Hangry",
|
||||
"zacianHeroOfManyBattles": "百战勇者",
|
||||
"zacianCrowned": "Crowned",
|
||||
"zamazentaHeroOfManyBattles": "百战勇者",
|
||||
"zamazentaCrowned": "Crowned",
|
||||
"kubfuSingleStrike": "Single Strike",
|
||||
"kubfuRapidStrike": "Rapid Strike",
|
||||
"zarudeDada": "老爹",
|
||||
"calyrexIce": "Ice Rider",
|
||||
"calyrexShadow": "Shadow Rider",
|
||||
"basculinMale": "Male",
|
||||
"basculinFemale": "Female",
|
||||
"enamorusIncarnate": "化身",
|
||||
"enamorusTherian": "Therian",
|
||||
"lechonkMale": "Male",
|
||||
"lechonkFemale": "Female",
|
||||
"tandemausFour": "Family of Four",
|
||||
"tandemausThree": "Family of Three",
|
||||
"squawkabillyGreenPlumage": "绿羽毛",
|
||||
"squawkabillyBluePlumage": "蓝羽毛",
|
||||
"squawkabillyYellowPlumage": "黄羽毛",
|
||||
"squawkabillyWhitePlumage": "白羽毛",
|
||||
"finizenZero": "Zero",
|
||||
"finizenZero": "Hero",
|
||||
"tatsugiriCurly": "上弓姿势",
|
||||
"tatsugiriDroopy": "下垂姿势",
|
||||
"tatsugiriStretchy": "平挺姿势",
|
||||
"dunsparceTwo": "Two-Segment",
|
||||
"dunsparceThree": "Three-Segment",
|
||||
"gimmighoulChest": "宝箱形态",
|
||||
"gimmighoulRoaming": "徒步形态",
|
||||
"koraidonApexBuild": "顶尖形态",
|
||||
|
@ -241,19 +164,6 @@
|
|||
"miraidonGlideMode": "滑翔模式",
|
||||
"poltchageistCounterfeit": "冒牌货",
|
||||
"poltchageistArtisan": "高档货",
|
||||
"poltchageistUnremarkable": "Unremarkable",
|
||||
"poltchageistMasterpiece": "Masterpiece",
|
||||
"ogerponTealMask": "Teal Mask",
|
||||
"ogerponTealMaskTera": "Teal Mask Terastallized",
|
||||
"ogerponWellspringMask": "Wellspring Mask",
|
||||
"ogerponWellspringMaskTera": "Wellspring Mask Terastallized",
|
||||
"ogerponHearthflameMask": "Hearthflame Mask",
|
||||
"ogerponHearthflameMaskTera": "Hearthflame Mask Terastallized",
|
||||
"ogerponCornerstoneMask": "Cornerstone Mask",
|
||||
"ogerponCornerstoneMaskTera": "Cornerstone Mask Terastallized",
|
||||
"terpagosTerastal": "Terastal",
|
||||
"terpagosStellar": "Stellar",
|
||||
"galarDarumakaZen": "Zen",
|
||||
"paldeaTaurosCombat": "斗战种",
|
||||
"paldeaTaurosBlaze": "火炽种",
|
||||
"paldeaTaurosAqua": "水澜种"
|
||||
|
|
|
@ -40,14 +40,9 @@
|
|||
"castformRainy": "雨天",
|
||||
"castformSnowy": "雪天",
|
||||
"deoxysNormal": "普通",
|
||||
"deoxysAttack": "Attack",
|
||||
"deoxysDefense": "Defense",
|
||||
"deoxysSpeed": "Speed",
|
||||
"burmyPlant": "草木蓑衣",
|
||||
"burmySandy": "砂土蓑衣",
|
||||
"burmyTrash": "垃圾蓑衣",
|
||||
"cheribiOvercast": "Overcast",
|
||||
"cheribiSunshine": "Sunshine",
|
||||
"shellosEast": "東海",
|
||||
"shellosWest": "西海",
|
||||
"rotomHeat": "加熱",
|
||||
|
@ -55,36 +50,21 @@
|
|||
"rotomFrost": "結冰",
|
||||
"rotomFan": "旋轉",
|
||||
"rotomMow": "切割",
|
||||
"dialgaOrigin": "Origin",
|
||||
"palkiaOrigin": "Origin",
|
||||
"giratinaAltered": "別種",
|
||||
"giratinaOrigin": "Origin",
|
||||
"shayminLand": "陸上",
|
||||
"shayminSky": "Sky",
|
||||
"basculinRedStriped": "紅條紋",
|
||||
"basculinBlueStriped": "藍條紋",
|
||||
"basculinWhiteStriped": "白條紋",
|
||||
"darumakaZen": "Zen",
|
||||
"deerlingSpring": "春天",
|
||||
"deerlingSummer": "夏天",
|
||||
"deerlingAutumn": "秋天",
|
||||
"deerlingWinter": "冬天",
|
||||
"tornadusIncarnate": "化身",
|
||||
"tornadusTherian": "Therian",
|
||||
"thundurusIncarnate": "化身",
|
||||
"thundurusTherian": "Therian",
|
||||
"landorusIncarnate": "化身",
|
||||
"landorusTherian": "Therian",
|
||||
"kyuremBlack": "Black",
|
||||
"kyuremWhite": "White",
|
||||
"keldeoOrdinary": "通常",
|
||||
"keldeoResolute": "Resolute",
|
||||
"meloettaAria": "歌聲",
|
||||
"meloettaPirouette": "舞步形態",
|
||||
"genesectShock": "Shock Drive",
|
||||
"genesectBurn": "Burn Drive",
|
||||
"genesectChill": "Chill Drive",
|
||||
"genesectDouse": "Douse Drive",
|
||||
"froakieBattleBond": "牽絆變身",
|
||||
"scatterbugMeadow": "花園花紋",
|
||||
"scatterbugIcySnow": "冰雪花紋",
|
||||
|
@ -120,10 +100,6 @@
|
|||
"furfrouLaReine": "女王造型",
|
||||
"furfrouKabuki": "歌舞伎造型",
|
||||
"furfrouPharaoh": "國王造型",
|
||||
"espurrMale": "Male",
|
||||
"espurrFemale": "Female",
|
||||
"honedgeShiled": "Shield",
|
||||
"honedgeBlade": "Blade",
|
||||
"pumpkabooSmall": "小尺寸",
|
||||
"pumpkabooLarge": "大尺寸",
|
||||
"pumpkabooSuper": "特大尺寸",
|
||||
|
@ -134,34 +110,11 @@
|
|||
"zygarde50Pc": "50%形態 群聚變形",
|
||||
"zygarde10Pc": "10%形態 群聚變形",
|
||||
"zygardeComplete": "完全體形態",
|
||||
"hoopaUnbound": "Unbound",
|
||||
"oricorioBaile": "熱辣熱辣風格",
|
||||
"oricorioPompom": "啪滋啪滋風格",
|
||||
"oricorioPau": "呼拉呼拉風格",
|
||||
"oricorioSensu": "輕盈輕盈風格",
|
||||
"rockruffOwnTempo": "特殊岩狗狗",
|
||||
"rockruffMidday": "Midday",
|
||||
"rockruffMidnight": "Midnight",
|
||||
"rockruffMidnight": "Dusk",
|
||||
"wishiwashiSchool": "School",
|
||||
"typeNullNormal": "Type: Normal",
|
||||
"typeNullFighting": "Type: Fighting",
|
||||
"typeNullFlying": "Type: Flying",
|
||||
"typeNullPoison": "Type: Poison",
|
||||
"typeNullGround": "Type: Ground",
|
||||
"typeNullRock": "Type: Rock",
|
||||
"typeNullBug": "Type: Bug",
|
||||
"typeNullGhost": "Type: Ghost",
|
||||
"typeNullSteel": "Type: Steel",
|
||||
"typeNullFire": "Type: Fire",
|
||||
"typeNullWater": "Type: Water",
|
||||
"typeNullGrass": "Type: Grass",
|
||||
"typeNullElectric": "Type: Electric",
|
||||
"typeNullPsychic": "Type: Psychic",
|
||||
"typeNullIce": "Type: Ice",
|
||||
"typeNullDragon": "Type: Dragon",
|
||||
"typeNullDark": "Type: Dark",
|
||||
"typeNullFairy": "Type: Fairy",
|
||||
"miniorRedMeteor": "紅色核心",
|
||||
"miniorOrangeMeteor": "橙色核心",
|
||||
"miniorYellowMeteor": "黃色核心",
|
||||
|
@ -178,55 +131,25 @@
|
|||
"miniorViolet": "紫色",
|
||||
"mimikyuDisguised": "化形",
|
||||
"mimikyuBusted": "現形",
|
||||
"necrozmaDuskMane": "Dusk Mane",
|
||||
"necrozmaDawnWings": "Dawn Wings",
|
||||
"necrozmaUltra": "Ultra",
|
||||
"magearnaOriginal": "500年前的顔色",
|
||||
"marshadowZenith": "全力",
|
||||
"sinisteaPhony": "赝品",
|
||||
"sinisteaAntique": "真品",
|
||||
"milceryVanillaCream": "Vanilla Cream",
|
||||
"milceryRubyCream": "Ruby Cream",
|
||||
"milceryMatchaCream": "Matcha Cream",
|
||||
"milceryMintCream": "Mint Cream",
|
||||
"milceryLemonCream": "Lemon Cream",
|
||||
"milcerySaltedCream": "Salted Cream",
|
||||
"milceryRubySwirl": "Ruby Swirl",
|
||||
"milceryCaramelSwirl": "Caramel Swirl",
|
||||
"milceryRainbowSwirl": "Rainbow Swirl",
|
||||
"eiscueNoIce": "解凍頭",
|
||||
"indeedeeMale": "雄性",
|
||||
"indeedeeFemale": "雌性",
|
||||
"morpekoFullBelly": "滿腹花紋",
|
||||
"morpekoHangry": "Hangry",
|
||||
"zacianHeroOfManyBattles": "百戰勇者",
|
||||
"zacianCrowned": "Crowned",
|
||||
"zamazentaHeroOfManyBattles": "百戰勇者",
|
||||
"zamazentaCrowned": "Crowned",
|
||||
"kubfuSingleStrike": "Single Strike",
|
||||
"kubfuRapidStrike": "Rapid Strike",
|
||||
"zarudeDada": "老爹",
|
||||
"calyrexIce": "Ice Rider",
|
||||
"calyrexShadow": "Shadow Rider",
|
||||
"basculinMale": "Male",
|
||||
"basculinFemale": "Female",
|
||||
"enamorusIncarnate": "化身",
|
||||
"enamorusTherian": "Therian",
|
||||
"lechonkMale": "Male",
|
||||
"lechonkFemale": "Female",
|
||||
"tandemausFour": "Family of Four",
|
||||
"tandemausThree": "Family of Three",
|
||||
"squawkabillyGreenPlumage": "綠羽毛",
|
||||
"squawkabillyBluePlumage": "藍羽毛",
|
||||
"squawkabillyYellowPlumage": "黃羽毛",
|
||||
"squawkabillyWhitePlumage": "白羽毛",
|
||||
"finizenZero": "Zero",
|
||||
"finizenZero": "Hero",
|
||||
"tatsugiriCurly": "上弓姿勢",
|
||||
"tatsugiriDroopy": "下垂姿勢",
|
||||
"tatsugiriStretchy": "平挺姿勢",
|
||||
"dunsparceTwo": "Two-Segment",
|
||||
"dunsparceThree": "Three-Segment",
|
||||
"gimmighoulChest": "寶箱形態",
|
||||
"gimmighoulRoaming": "徒步形態",
|
||||
"koraidonApexBuild": "頂尖形態",
|
||||
|
@ -241,19 +164,6 @@
|
|||
"miraidonGlideMode":"滑翔模式",
|
||||
"poltchageistCounterfeit": "冒牌貨",
|
||||
"poltchageistArtisan": "高檔貨",
|
||||
"poltchageistUnremarkable": "Unremarkable",
|
||||
"poltchageistMasterpiece": "Masterpiece",
|
||||
"ogerponTealMask": "Teal Mask",
|
||||
"ogerponTealMaskTera": "Teal Mask Terastallized",
|
||||
"ogerponWellspringMask": "Wellspring Mask",
|
||||
"ogerponWellspringMaskTera": "Wellspring Mask Terastallized",
|
||||
"ogerponHearthflameMask": "Hearthflame Mask",
|
||||
"ogerponHearthflameMaskTera": "Hearthflame Mask Terastallized",
|
||||
"ogerponCornerstoneMask": "Cornerstone Mask",
|
||||
"ogerponCornerstoneMaskTera": "Cornerstone Mask Terastallized",
|
||||
"terpagosTerastal": "Terastal",
|
||||
"terpagosStellar": "Stellar",
|
||||
"galarDarumakaZen": "Zen",
|
||||
"paldeaTaurosCombat": "鬥戰種",
|
||||
"paldeaTaurosBlaze": "火熾種",
|
||||
"paldeaTaurosAqua": "水瀾種"
|
||||
|
|
|
@ -4,7 +4,7 @@ import { applyPreAttackAbAttrs, AddSecondStrikeAbAttr, IgnoreMoveEffectsAbAttr,
|
|||
import { ArenaTagSide, ConditionalProtectTag } from "#app/data/arena-tag";
|
||||
import { MoveAnim } from "#app/data/battle-anims";
|
||||
import { BattlerTagLapseType, DamageProtectedTag, ProtectedTag, SemiInvulnerableTag, SubstituteTag } from "#app/data/battler-tags";
|
||||
import { MoveTarget, applyMoveAttrs, OverrideMoveEffectAttr, MultiHitAttr, AttackMove, FixedDamageAttr, VariableTargetAttr, MissEffectAttr, MoveFlags, applyFilteredMoveAttrs, MoveAttr, MoveEffectAttr, MoveEffectTrigger, ChargeAttr, MoveCategory, NoEffectAttr, DealsDoubleDamageToTagAttr } from "#app/data/move";
|
||||
import { MoveTarget, applyMoveAttrs, OverrideMoveEffectAttr, MultiHitAttr, AttackMove, FixedDamageAttr, VariableTargetAttr, MissEffectAttr, MoveFlags, applyFilteredMoveAttrs, MoveAttr, MoveEffectAttr, MoveEffectTrigger, ChargeAttr, MoveCategory, NoEffectAttr, HitsTagAttr } from "#app/data/move";
|
||||
import { SpeciesFormChangePostMoveTrigger } from "#app/data/pokemon-forms";
|
||||
import { BattlerTagType } from "#app/enums/battler-tag-type";
|
||||
import { Moves } from "#app/enums/moves";
|
||||
|
@ -394,7 +394,7 @@ export class MoveEffectPhase extends PokemonPhase {
|
|||
}
|
||||
|
||||
const semiInvulnerableTag = target.getTag(SemiInvulnerableTag);
|
||||
if (semiInvulnerableTag && !this.move.getMove().getAttrs(DealsDoubleDamageToTagAttr).some(hta => hta.tagType === semiInvulnerableTag.tagType)) {
|
||||
if (semiInvulnerableTag && !this.move.getMove().getAttrs(HitsTagAttr).some(hta => hta.tagType === semiInvulnerableTag.tagType)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import Pokemon from "#app/field/pokemon";
|
|||
import { getPokemonNameWithAffix } from "#app/messages";
|
||||
import { ResetNegativeStatStageModifier } from "#app/modifier/modifier";
|
||||
import { handleTutorial, Tutorial } from "#app/tutorial";
|
||||
import { NumberHolder, BooleanHolder } from "#app/utils";
|
||||
import * as Utils from "#app/utils";
|
||||
import i18next from "i18next";
|
||||
import { PokemonPhase } from "./pokemon-phase";
|
||||
import { Stat, type BattleStat, getStatKey, getStatStageChangeDescriptionKey } from "#enums/stat";
|
||||
|
@ -42,23 +42,17 @@ export class StatStageChangePhase extends PokemonPhase {
|
|||
return this.end();
|
||||
}
|
||||
|
||||
const stages = new NumberHolder(this.stages);
|
||||
|
||||
if (!this.ignoreAbilities) {
|
||||
applyAbAttrs(StatStageChangeMultiplierAbAttr, pokemon, null, false, stages);
|
||||
}
|
||||
|
||||
let simulate = false;
|
||||
|
||||
const filteredStats = this.stats.filter(stat => {
|
||||
const cancelled = new BooleanHolder(false);
|
||||
const cancelled = new Utils.BooleanHolder(false);
|
||||
|
||||
if (!this.selfTarget && stages.value < 0) {
|
||||
if (!this.selfTarget && this.stages < 0) {
|
||||
// TODO: Include simulate boolean when tag applications can be simulated
|
||||
this.scene.arena.applyTagsForSide(MistTag, pokemon.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY, cancelled);
|
||||
}
|
||||
|
||||
if (!cancelled.value && !this.selfTarget && stages.value < 0) {
|
||||
if (!cancelled.value && !this.selfTarget && this.stages < 0) {
|
||||
applyPreStatStageChangeAbAttrs(ProtectStatAbAttr, pokemon, stat, cancelled, simulate);
|
||||
}
|
||||
|
||||
|
@ -70,6 +64,12 @@ export class StatStageChangePhase extends PokemonPhase {
|
|||
return !cancelled.value;
|
||||
});
|
||||
|
||||
const stages = new Utils.IntegerHolder(this.stages);
|
||||
|
||||
if (!this.ignoreAbilities) {
|
||||
applyAbAttrs(StatStageChangeMultiplierAbAttr, pokemon, null, false, stages);
|
||||
}
|
||||
|
||||
const relLevels = filteredStats.map(s => (stages.value >= 1 ? Math.min(pokemon.getStatStage(s) + stages.value, 6) : Math.max(pokemon.getStatStage(s) + stages.value, -6)) - pokemon.getStatStage(s));
|
||||
|
||||
this.onChange && this.onChange(this.getPokemon(), filteredStats, relLevels);
|
||||
|
|
|
@ -31,7 +31,7 @@ describe("Abilities - Contrary", () => {
|
|||
});
|
||||
|
||||
it("should invert stat changes when applied", async() => {
|
||||
await game.classicMode.startBattle([
|
||||
await game.startBattle([
|
||||
Species.SLOWBRO
|
||||
]);
|
||||
|
||||
|
@ -39,39 +39,4 @@ describe("Abilities - Contrary", () => {
|
|||
|
||||
expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(1);
|
||||
}, 20000);
|
||||
|
||||
describe("With Clear Body", () => {
|
||||
it("should apply positive effects", async () => {
|
||||
game.override
|
||||
.enemyPassiveAbility(Abilities.CLEAR_BODY)
|
||||
.moveset([Moves.TAIL_WHIP]);
|
||||
await game.classicMode.startBattle([Species.SLOWBRO]);
|
||||
|
||||
const enemyPokemon = game.scene.getEnemyPokemon()!;
|
||||
|
||||
expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(1);
|
||||
|
||||
game.move.select(Moves.TAIL_WHIP);
|
||||
await game.phaseInterceptor.to("TurnEndPhase");
|
||||
|
||||
expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(1);
|
||||
});
|
||||
|
||||
it("should block negative effects", async () => {
|
||||
game.override
|
||||
.enemyPassiveAbility(Abilities.CLEAR_BODY)
|
||||
.enemyMoveset([Moves.HOWL, Moves.HOWL, Moves.HOWL, Moves.HOWL])
|
||||
.moveset([Moves.SPLASH]);
|
||||
await game.classicMode.startBattle([Species.SLOWBRO]);
|
||||
|
||||
const enemyPokemon = game.scene.getEnemyPokemon()!;
|
||||
|
||||
expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(1);
|
||||
|
||||
game.move.select(Moves.SPLASH);
|
||||
await game.phaseInterceptor.to("TurnEndPhase");
|
||||
|
||||
expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
import { BattlerIndex } from "#app/battle";
|
||||
import { allMoves } from "#app/data/move";
|
||||
import { BattlerTagType } from "#app/enums/battler-tag-type";
|
||||
import { DamageCalculationResult } from "#app/field/pokemon";
|
||||
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, vi } from "vitest";
|
||||
|
||||
describe("Moves - Steamroller", () => {
|
||||
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.moveset([Moves.STEAMROLLER]).battleType("single").enemyAbility(Abilities.BALL_FETCH);
|
||||
});
|
||||
|
||||
it("should always hit a minimzed target with double damage", async () => {
|
||||
game.override.enemySpecies(Species.DITTO).enemyMoveset(Moves.MINIMIZE);
|
||||
await game.classicMode.startBattle([Species.IRON_BOULDER]);
|
||||
|
||||
const ditto = game.scene.getEnemyPokemon()!;
|
||||
vi.spyOn(ditto, "getAttackDamage");
|
||||
ditto.hp = 5000;
|
||||
const steamroller = allMoves[Moves.STEAMROLLER];
|
||||
vi.spyOn(steamroller, "calculateBattleAccuracy");
|
||||
const ironBoulder = game.scene.getPlayerPokemon()!;
|
||||
vi.spyOn(ironBoulder, "getAccuracyMultiplier");
|
||||
// Turn 1
|
||||
game.move.select(Moves.STEAMROLLER);
|
||||
await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]);
|
||||
await game.toNextTurn();
|
||||
// Turn 2
|
||||
game.move.select(Moves.STEAMROLLER);
|
||||
await game.toNextTurn();
|
||||
|
||||
const [dmgCalcTurn1, dmgCalcTurn2]: DamageCalculationResult[] = vi
|
||||
.mocked(ditto.getAttackDamage)
|
||||
.mock.results.map((r) => r.value);
|
||||
|
||||
expect(dmgCalcTurn2.damage).toBeGreaterThanOrEqual(dmgCalcTurn1.damage * 2);
|
||||
expect(ditto.getTag(BattlerTagType.MINIMIZED)).toBeDefined();
|
||||
expect(steamroller.calculateBattleAccuracy).toHaveReturnedWith(-1);
|
||||
});
|
||||
});
|
|
@ -1,53 +0,0 @@
|
|||
import { BattlerIndex } from "#app/battle";
|
||||
import { allMoves } from "#app/data/move";
|
||||
import { BattlerTagType } from "#app/enums/battler-tag-type";
|
||||
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, it, expect, vi } from "vitest";
|
||||
|
||||
describe("Moves - Whirlwind", () => {
|
||||
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")
|
||||
.enemyAbility(Abilities.BALL_FETCH)
|
||||
.enemyMoveset(Moves.WHIRLWIND)
|
||||
.enemySpecies(Species.PIDGEY);
|
||||
});
|
||||
|
||||
it.each([
|
||||
{ move: Moves.FLY, name: "Fly" },
|
||||
{ move: Moves.BOUNCE, name: "Bounce" },
|
||||
{ move: Moves.SKY_DROP, name: "Sky Drop" },
|
||||
])("should not hit a flying target: $name (=$move)", async ({ move }) => {
|
||||
game.override.moveset([move]);
|
||||
await game.classicMode.startBattle([Species.STARAPTOR]);
|
||||
|
||||
const staraptor = game.scene.getPlayerPokemon()!;
|
||||
const whirlwind = allMoves[Moves.WHIRLWIND];
|
||||
vi.spyOn(whirlwind, "getFailedText");
|
||||
|
||||
game.move.select(move);
|
||||
await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]);
|
||||
await game.toNextTurn();
|
||||
|
||||
expect(staraptor.findTag((t) => t.tagType === BattlerTagType.FLYING)).toBeDefined();
|
||||
expect(whirlwind.getFailedText).toHaveBeenCalledOnce();
|
||||
});
|
||||
});
|
|
@ -162,7 +162,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container {
|
|||
this.splicedIcon.setInteractive(new Phaser.Geom.Rectangle(0, 0, 12, 15), Phaser.Geom.Rectangle.Contains);
|
||||
this.add(this.splicedIcon);
|
||||
|
||||
this.statusIndicator = this.scene.add.sprite(0, 0, Utils.getLocalizedSpriteKey("statuses"));
|
||||
this.statusIndicator = this.scene.add.sprite(0, 0, `statuses_${i18next.resolvedLanguage}`);
|
||||
this.statusIndicator.setName("icon_status");
|
||||
this.statusIndicator.setVisible(false);
|
||||
this.statusIndicator.setOrigin(0, 0);
|
||||
|
|
|
@ -91,7 +91,7 @@ export default class MoveInfoOverlay extends Phaser.GameObjects.Container implem
|
|||
valuesBg.setOrigin(0, 0);
|
||||
this.val.add(valuesBg);
|
||||
|
||||
this.typ = this.scene.add.sprite(25, EFF_HEIGHT - 35, Utils.getLocalizedSpriteKey("types"), "unknown");
|
||||
this.typ = this.scene.add.sprite(25, EFF_HEIGHT - 35, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}`, "unknown");
|
||||
this.typ.setScale(0.8);
|
||||
this.val.add(this.typ);
|
||||
|
||||
|
@ -138,7 +138,7 @@ export default class MoveInfoOverlay extends Phaser.GameObjects.Container implem
|
|||
this.pow.setText(move.power >= 0 ? move.power.toString() : "---");
|
||||
this.acc.setText(move.accuracy >= 0 ? move.accuracy.toString() : "---");
|
||||
this.pp.setText(move.pp >= 0 ? move.pp.toString() : "---");
|
||||
this.typ.setTexture(Utils.getLocalizedSpriteKey("types"), Type[move.type].toLowerCase());
|
||||
this.typ.setTexture(`types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}`, Type[move.type].toLowerCase());
|
||||
this.cat.setFrame(MoveCategory[move.category].toLowerCase());
|
||||
|
||||
this.desc.setText(move?.effect || "");
|
||||
|
|
|
@ -1272,7 +1272,7 @@ class PartySlot extends Phaser.GameObjects.Container {
|
|||
}
|
||||
|
||||
if (this.pokemon.status) {
|
||||
const statusIndicator = this.scene.add.sprite(0, 0, Utils.getLocalizedSpriteKey("statuses"));
|
||||
const statusIndicator = this.scene.add.sprite(0, 0, `statuses_${i18next.resolvedLanguage}`);
|
||||
statusIndicator.setFrame(StatusEffect[this.pokemon.status?.effect].toLowerCase());
|
||||
statusIndicator.setOrigin(0, 0);
|
||||
statusIndicator.setPositionRelative(slotLevelLabel, this.slotIndex >= battlerCount ? 43 : 55, 0);
|
||||
|
|
|
@ -214,7 +214,7 @@ export default class SummaryUiHandler extends UiHandler {
|
|||
|
||||
this.statusContainer.add(statusLabel);
|
||||
|
||||
this.status = this.scene.add.sprite(91, 4, Utils.getLocalizedSpriteKey("statuses"));
|
||||
this.status = this.scene.add.sprite(91, 4, `statuses_${i18next.resolvedLanguage}`);
|
||||
this.status.setOrigin(0.5, 0);
|
||||
|
||||
this.statusContainer.add(this.status);
|
||||
|
|
10
src/utils.ts
10
src/utils.ts
|
@ -1,5 +1,4 @@
|
|||
import { MoneyFormat } from "#enums/money-format";
|
||||
import { Moves } from "#enums/moves";
|
||||
import i18next from "i18next";
|
||||
|
||||
export const MissingTextureKey = "__MISSING";
|
||||
|
@ -629,12 +628,3 @@ export function getLocalizedSpriteKey(baseKey: string) {
|
|||
export function isBetween(num: number, min: number, max: number): boolean {
|
||||
return num >= min && num <= max;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to return the animation filename for a given move
|
||||
*
|
||||
* @param move the move for which the animation filename is needed
|
||||
*/
|
||||
export function animationFileName(move: Moves): string {
|
||||
return Moves[move].toLowerCase().replace(/\_/g, "-");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue