Add list of uncallable moves for Mirror Move

This commit is contained in:
NightKev 2025-03-22 13:22:18 -07:00
parent d0a9672e91
commit 05fa3d79a0
2 changed files with 93 additions and 2 deletions

View File

@ -174,3 +174,94 @@ export const invalidCopycatMoves: ReadonlySet<Moves> = new Set([
Moves.TRICK,
Moves.WHIRLWIND,
]);
export const invalidMirrorMoveMoves: ReadonlySet<Moves> = new Set([
Moves.ACUPRESSURE,
Moves.AFTER_YOU,
Moves.AROMATHERAPY,
Moves.AROMATIC_MIST,
Moves.AURORA_VEIL,
Moves.BEAK_BLAST,
Moves.BELCH,
Moves.BLAZING_TORQUE,
Moves.CHILLY_RECEPTION,
Moves.COACHING,
Moves.COMBAT_TORQUE,
Moves.CONVERSION_2,
Moves.COUNTER,
Moves.CRAFTY_SHIELD,
Moves.CURSE,
Moves.DECORATE,
Moves.DOODLE,
Moves.DOOM_DESIRE,
Moves.DRAGON_CHEER,
Moves.DYNAMAX_CANNON,
Moves.ELECTRIC_TERRAIN,
Moves.FINAL_GAMBIT,
Moves.FLORAL_HEALING,
Moves.FLOWER_SHIELD,
Moves.FOCUS_PUNCH,
Moves.FUTURE_SIGHT,
Moves.GEAR_UP,
Moves.GRASSY_TERRAIN,
Moves.GRAVITY,
Moves.GUARD_SPLIT,
Moves.HAIL,
Moves.HAPPY_HOUR,
Moves.HAZE,
Moves.HEAL_BELL,
Moves.HEAL_PULSE,
Moves.HELPING_HAND,
Moves.HOLD_HANDS,
Moves.HOWL,
Moves.INSTRUCT,
Moves.ION_DELUGE,
Moves.JUNGLE_HEALING,
Moves.LIFE_DEW,
Moves.LIGHT_SCREEN,
Moves.LUCKY_CHANT,
Moves.LUNAR_BLESSING,
Moves.MAGICAL_TORQUE,
Moves.MAGNETIC_FLUX,
Moves.MAT_BLOCK,
Moves.ME_FIRST,
Moves.MIMIC,
Moves.MIRROR_COAT,
Moves.MIRROR_MOVE,
Moves.MIST,
Moves.MISTY_TERRAIN,
Moves.MUD_SPORT,
Moves.NATURE_POWER,
Moves.NOXIOUS_TORQUE,
Moves.ORDER_UP,
Moves.PERISH_SONG,
Moves.POWER_SPLIT,
Moves.PSYCH_UP,
Moves.PSYCHIC_TERRAIN,
Moves.PURIFY,
Moves.QUICK_GUARD,
Moves.RAIN_DANCE,
Moves.REFLECT,
Moves.REFLECT_TYPE,
Moves.ROLE_PLAY,
Moves.ROTOTILLER,
Moves.SAFEGUARD,
Moves.SANDSTORM,
Moves.SHELL_TRAP,
Moves.SKETCH,
Moves.SNOWSCAPE,
Moves.SPIKES,
Moves.SPIT_UP,
Moves.SPOTLIGHT,
Moves.STEALTH_ROCK,
Moves.STICKY_WEB,
Moves.STRUGGLE,
Moves.SUNNY_DAY,
Moves.TAILWIND,
Moves.TEATIME,
Moves.TOXIC_SPIKES,
Moves.TRANSFORM,
Moves.WATER_SPORT,
Moves.WICKED_TORQUE,
Moves.WIDE_GUARD,
]);

View File

@ -125,7 +125,7 @@ import { MoveTarget } from "#enums/MoveTarget";
import { MoveFlags } from "#enums/MoveFlags";
import { MoveEffectTrigger } from "#enums/MoveEffectTrigger";
import { MultiHitType } from "#enums/MultiHitType";
import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidSleepTalkMoves } from "./invalid-moves";
import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidMirrorMoveMoves, invalidSleepTalkMoves } from "./invalid-moves";
type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean;
type UserMoveConditionFunc = (user: Pokemon, move: Move) => boolean;
@ -8562,7 +8562,7 @@ export function initMoves() {
new SelfStatusMove(Moves.METRONOME, PokemonType.NORMAL, -1, 10, -1, 0, 1)
.attr(RandomMoveAttr, invalidMetronomeMoves),
new StatusMove(Moves.MIRROR_MOVE, PokemonType.FLYING, -1, 20, -1, 0, 1)
.attr(CopyMoveAttr, true),
.attr(CopyMoveAttr, true, invalidMirrorMoveMoves),
new AttackMove(Moves.SELF_DESTRUCT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 100, 5, -1, 0, 1)
.attr(SacrificialAttr)
.makesContact(false)