"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var moves_exports = {}; __export(moves_exports, { Moves: () => Moves }); module.exports = __toCommonJS(moves_exports); const Moves = { "10000000voltthunderbolt": { inherit: true, isNonstandard: null }, aciddownpour: { inherit: true, isNonstandard: null }, alloutpummeling: { inherit: true, isNonstandard: null }, assist: { inherit: true, isNonstandard: null }, baddybad: { inherit: true, accuracy: 100, basePower: 90 }, barrage: { inherit: true, isNonstandard: null }, barrier: { inherit: true, isNonstandard: null }, beakblast: { inherit: true, isNonstandard: null }, bestow: { inherit: true, isNonstandard: null }, bide: { inherit: true, isNonstandard: null }, blackholeeclipse: { inherit: true, isNonstandard: null }, bloomdoom: { inherit: true, isNonstandard: null }, boneclub: { inherit: true, isNonstandard: null }, bouncybubble: { inherit: true, basePower: 90, pp: 15 }, breakneckblitz: { inherit: true, isNonstandard: null }, bubble: { inherit: true, isNonstandard: null }, buzzybuzz: { inherit: true, basePower: 90, pp: 15 }, camouflage: { inherit: true, isNonstandard: null }, captivate: { inherit: true, isNonstandard: null }, catastropika: { inherit: true, isNonstandard: null }, chatter: { inherit: true, isNonstandard: null }, chipaway: { inherit: true, isNonstandard: null }, clamp: { inherit: true, isNonstandard: null }, clangoroussoulblaze: { inherit: true, isNonstandard: null }, cometpunch: { inherit: true, isNonstandard: null }, constrict: { inherit: true, isNonstandard: null }, continentalcrush: { inherit: true, isNonstandard: null }, corkscrewcrash: { inherit: true, isNonstandard: null }, curse: { inherit: true, target: "normal" }, darkvoid: { inherit: true, isNonstandard: null }, defog: { inherit: true, onHit(target, source, move) { let success = false; if (!target.volatiles["substitute"] || move.infiltrates) success = !!this.boost({ evasion: -1 }); const removeTarget = [ "reflect", "lightscreen", "auroraveil", "safeguard", "mist", "spikes", "toxicspikes", "stealthrock", "stickyweb" ]; const removeAll = ["spikes", "toxicspikes", "stealthrock", "stickyweb"]; for (const targetCondition of removeTarget) { if (target.side.removeSideCondition(targetCondition)) { if (!removeAll.includes(targetCondition)) continue; this.add("-sideend", target.side, this.dex.conditions.get(targetCondition).name, "[from] move: Defog", "[of] " + source); success = true; } } for (const sideCondition of removeAll) { if (source.side.removeSideCondition(sideCondition)) { this.add("-sideend", source.side, this.dex.conditions.get(sideCondition).name, "[from] move: Defog", "[of] " + source); success = true; } } return success; } }, devastatingdrake: { inherit: true, isNonstandard: null }, dive: { inherit: true, flags: { contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1 } }, dizzypunch: { inherit: true, isNonstandard: null }, doubleironbash: { inherit: true, isNonstandard: "LGPE" }, doubleslap: { inherit: true, isNonstandard: null }, dragonrage: { inherit: true, isNonstandard: null }, eggbomb: { inherit: true, isNonstandard: null }, electricterrain: { inherit: true, condition: { duration: 5, durationCallback(source, effect) { if (source?.hasItem("terrainextender")) { return 8; } return 5; }, onSetStatus(status, target, source, effect) { if (status.id === "slp" && target.isGrounded() && !target.isSemiInvulnerable()) { if (effect.id === "yawn" || effect.effectType === "Move" && !effect.secondaries) { this.add("-activate", target, "move: Electric Terrain"); } return false; } }, onTryAddVolatile(status, target) { if (!target.isGrounded() || target.isSemiInvulnerable()) return; if (status.id === "yawn") { this.add("-activate", target, "move: Electric Terrain"); return null; } }, onBasePower(basePower, attacker, defender, move) { if (move.type === "Electric" && attacker.isGrounded() && !attacker.isSemiInvulnerable()) { this.debug("electric terrain boost"); return this.chainModify(1.5); } }, onFieldStart(field, source, effect) { if (effect && effect.effectType === "Ability") { this.add("-fieldstart", "move: Electric Terrain", "[from] ability: " + effect, "[of] " + source); } else { this.add("-fieldstart", "move: Electric Terrain"); } }, onFieldResidualOrder: 27, onFieldResidualSubOrder: 7, onFieldEnd() { this.add("-fieldend", "move: Electric Terrain"); } } }, embargo: { inherit: true, isNonstandard: null }, extremeevoboost: { inherit: true, isNonstandard: null }, feintattack: { inherit: true, isNonstandard: null }, flameburst: { inherit: true, isNonstandard: null }, flash: { inherit: true, isNonstandard: null }, floralhealing: { inherit: true, onHit(target, source) { let success = false; if (this.field.isTerrain("grassyterrain")) { success = !!this.heal(this.modify(target.baseMaxhp, 0.667)); } else { success = !!this.heal(Math.ceil(target.baseMaxhp * 0.5)); } if (success && !target.isAlly(source)) { target.staleness = "external"; } if (!success) { this.add("-fail", target, "heal"); return null; } return success; } }, fly: { inherit: true, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { return; } this.add("-prepare", attacker, move.name); if (!this.runEvent("ChargeMove", attacker, defender, move)) { return; } attacker.addVolatile("twoturnmove", defender); return null; } }, foresight: { inherit: true, isNonstandard: null }, freezyfrost: { inherit: true, accuracy: 100, basePower: 90, pp: 15 }, frustration: { inherit: true, isNonstandard: null }, genesissupernova: { inherit: true, isNonstandard: null }, gigavolthavoc: { inherit: true, isNonstandard: null }, glitzyglow: { inherit: true, accuracy: 100, basePower: 90 }, grassknot: { inherit: true, onTryHit() { } }, grasswhistle: { inherit: true, isNonstandard: null }, grassyterrain: { inherit: true, condition: { duration: 5, durationCallback(source, effect) { if (source?.hasItem("terrainextender")) { return 8; } return 5; }, onBasePower(basePower, attacker, defender, move) { const weakenedMoves = ["earthquake", "bulldoze", "magnitude"]; if (weakenedMoves.includes(move.id) && defender.isGrounded() && !defender.isSemiInvulnerable()) { this.debug("move weakened by grassy terrain"); return this.chainModify(0.5); } if (move.type === "Grass" && attacker.isGrounded()) { this.debug("grassy terrain boost"); return this.chainModify(1.5); } }, onFieldStart(field, source, effect) { if (effect && effect.effectType === "Ability") { this.add("-fieldstart", "move: Grassy Terrain", "[from] ability: " + effect, "[of] " + source); } else { this.add("-fieldstart", "move: Grassy Terrain"); } }, onResidualOrder: 5, onResidualSubOrder: 2, onResidual(pokemon) { if (pokemon.isGrounded() && !pokemon.isSemiInvulnerable()) { this.heal(pokemon.baseMaxhp / 16, pokemon, pokemon); } else { this.debug(`Pokemon semi-invuln or not grounded; Grassy Terrain skipped`); } }, onFieldResidualOrder: 27, onFieldResidualSubOrder: 7, onFieldEnd() { this.add("-fieldend", "move: Grassy Terrain"); } } }, guardianofalola: { inherit: true, isNonstandard: null }, healbell: { inherit: true, onHit(target, source) { this.add("-activate", source, "move: Heal Bell"); let success = false; const allies = [...target.side.pokemon, ...target.side.allySide?.pokemon || []]; for (const ally of allies) { if (ally.hasAbility("soundproof")) continue; if (ally.cureStatus()) success = true; } return success; } }, healblock: { inherit: true, isNonstandard: null }, healingwish: { inherit: true, condition: { duration: 2, onSwitchInPriority: 1, onSwitchIn(target) { if (!target.fainted) { target.heal(target.maxhp); target.clearStatus(); this.add("-heal", target, target.getHealth, "[from] move: Healing Wish"); target.side.removeSlotCondition(target, "healingwish"); } } } }, healorder: { inherit: true, isNonstandard: null }, healpulse: { inherit: true, onHit(target, source) { let success = false; if (source.hasAbility("megalauncher")) { success = !!this.heal(this.modify(target.baseMaxhp, 0.75)); } else { success = !!this.heal(Math.ceil(target.baseMaxhp * 0.5)); } if (success && !target.isAlly(source)) { target.staleness = "external"; } if (!success) { this.add("-fail", target, "heal"); return null; } return success; } }, heartstamp: { inherit: true, isNonstandard: null }, heartswap: { inherit: true, isNonstandard: null }, heatcrash: { inherit: true, onTryHit() { } }, heavyslam: { inherit: true, onTryHit() { } }, hiddenpower: { inherit: true, isNonstandard: null }, hiddenpowerbug: { inherit: true, isNonstandard: null }, hiddenpowerdark: { inherit: true, isNonstandard: null }, hiddenpowerdragon: { inherit: true, isNonstandard: null }, hiddenpowerelectric: { inherit: true, isNonstandard: null }, hiddenpowerfighting: { inherit: true, isNonstandard: null }, hiddenpowerfire: { inherit: true, isNonstandard: null }, hiddenpowerflying: { inherit: true, isNonstandard: null }, hiddenpowerghost: { inherit: true, isNonstandard: null }, hiddenpowergrass: { inherit: true, isNonstandard: null }, hiddenpowerground: { inherit: true, isNonstandard: null }, hiddenpowerice: { inherit: true, isNonstandard: null }, hiddenpowerpoison: { inherit: true, isNonstandard: null }, hiddenpowerpsychic: { inherit: true, isNonstandard: null }, hiddenpowerrock: { inherit: true, isNonstandard: null }, hiddenpowersteel: { inherit: true, isNonstandard: null }, hiddenpowerwater: { inherit: true, isNonstandard: null }, howl: { inherit: true, flags: { snatch: 1 }, boosts: { atk: 1 }, target: "self" }, hydrovortex: { inherit: true, isNonstandard: null }, hyperfang: { inherit: true, isNonstandard: null }, hyperspacefury: { inherit: true, isNonstandard: null }, hyperspacehole: { inherit: true, isNonstandard: null }, iceball: { inherit: true, isNonstandard: null }, icehammer: { inherit: true, isNonstandard: null }, infernooverdrive: { inherit: true, isNonstandard: null }, iondeluge: { inherit: true, isNonstandard: null }, judgment: { inherit: true, isNonstandard: null }, jumpkick: { inherit: true, isNonstandard: null }, karatechop: { inherit: true, isNonstandard: null }, kingsshield: { inherit: true, condition: { duration: 1, onStart(target) { this.add("-singleturn", target, "Protect"); }, onTryHitPriority: 3, onTryHit(target, source, move) { if (!move.flags["protect"] || move.category === "Status") { if (move.isZ || move.isMax) target.getMoveHitData(move).zBrokeProtect = true; return; } this.add("-activate", target, "move: Protect"); const lockedmove = source.getVolatile("lockedmove"); if (lockedmove) { if (source.volatiles["lockedmove"].duration === 2) { delete source.volatiles["lockedmove"]; } } if (this.checkMoveMakesContact(move, source, target)) { this.boost({ atk: -2 }, source, target, this.dex.getActiveMove("King's Shield")); } return this.NOT_FAIL; }, onHit(target, source, move) { if (move.isZOrMaxPowered && this.checkMoveMakesContact(move, source, target)) { this.boost({ atk: -2 }, source, target, this.dex.getActiveMove("King's Shield")); } } } }, letssnuggleforever: { inherit: true, isNonstandard: null }, lightofruin: { inherit: true, isNonstandard: "Unobtainable" }, lightthatburnsthesky: { inherit: true, isNonstandard: null }, lowkick: { inherit: true, onTryHit() { } }, luckychant: { inherit: true, isNonstandard: null }, lunardance: { inherit: true, condition: { duration: 2, onSwitchInPriority: 1, onSwitchIn(target) { if (!target.fainted) { target.heal(target.maxhp); target.clearStatus(); for (const moveSlot of target.moveSlots) { moveSlot.pp = moveSlot.maxpp; } this.add("-heal", target, target.getHealth, "[from] move: Lunar Dance"); target.side.removeSlotCondition(target, "lunardance"); } } } }, magnetbomb: { inherit: true, isNonstandard: null }, magnitude: { inherit: true, isNonstandard: null }, maliciousmoonsault: { inherit: true, isNonstandard: null }, meditate: { inherit: true, isNonstandard: null }, mefirst: { inherit: true, isNonstandard: null }, menacingmoonrazemaelstrom: { inherit: true, isNonstandard: null }, metronome: { inherit: true, noMetronome: [ "After You", "Assist", "Baneful Bunker", "Beak Blast", "Belch", "Bestow", "Celebrate", "Chatter", "Copycat", "Counter", "Covet", "Crafty Shield", "Destiny Bond", "Detect", "Diamond Storm", "Dragon Ascent", "Endure", "Feint", "Fleur Cannon", "Focus Punch", "Follow Me", "Freeze Shock", "Helping Hand", "Hold Hands", "Hyperspace Fury", "Hyperspace Hole", "Ice Burn", "Instruct", "King's Shield", "Light of Ruin", "Mat Block", "Me First", "Metronome", "Mimic", "Mind Blown", "Mirror Coat", "Mirror Move", "Nature Power", "Origin Pulse", "Photon Geyser", "Plasma Fists", "Precipice Blades", "Protect", "Quash", "Quick Guard", "Rage Powder", "Relic Song", "Secret Sword", "Shell Trap", "Sketch", "Sleep Talk", "Snarl", "Snatch", "Snore", "Spectral Thief", "Spiky Shield", "Spotlight", "Steam Eruption", "Struggle", "Switcheroo", "Techno Blast", "Thief", "Thousand Arrows", "Thousand Waves", "Transform", "Trick", "V-create", "Wide Guard" ] }, miracleeye: { inherit: true, isNonstandard: null }, mirrormove: { inherit: true, isNonstandard: null }, mirrorshot: { inherit: true, isNonstandard: null }, moonlight: { inherit: true, onHit(pokemon) { let factor = 0.5; switch (pokemon.effectiveWeather()) { case "sunnyday": case "desolateland": factor = 0.667; break; case "raindance": case "primordialsea": case "sandstorm": case "hail": factor = 0.25; break; } const success = !!this.heal(this.modify(pokemon.maxhp, factor)); if (!success) { this.add("-fail", pokemon, "heal"); return null; } return success; } }, morningsun: { inherit: true, onHit(pokemon) { let factor = 0.5; switch (pokemon.effectiveWeather()) { case "sunnyday": case "desolateland": factor = 0.667; break; case "raindance": case "primordialsea": case "sandstorm": case "hail": factor = 0.25; break; } const success = !!this.heal(this.modify(pokemon.maxhp, factor)); if (!success) { this.add("-fail", pokemon, "heal"); return null; } return success; } }, mudbomb: { inherit: true, isNonstandard: null }, mudsport: { inherit: true, isNonstandard: null }, multiattack: { inherit: true, basePower: 90 }, naturalgift: { inherit: true, isNonstandard: null }, needlearm: { inherit: true, isNonstandard: null }, neverendingnightmare: { inherit: true, isNonstandard: null }, nightmare: { inherit: true, isNonstandard: null }, oceanicoperetta: { inherit: true, isNonstandard: null }, odorsleuth: { inherit: true, isNonstandard: null }, ominouswind: { inherit: true, isNonstandard: null }, pollenpuff: { inherit: true, flags: { bullet: 1, protect: 1, mirror: 1 }, onHit(target, source) { if (source.isAlly(target)) { if (!this.heal(Math.floor(target.baseMaxhp * 0.5))) { this.add("-immune", target); return null; } } } }, powder: { inherit: true, isNonstandard: null }, precipiceblades: { inherit: true, isNonstandard: null }, psychicterrain: { inherit: true, condition: { duration: 5, durationCallback(source, effect) { if (source?.hasItem("terrainextender")) { return 8; } return 5; }, onTryHitPriority: 4, onTryHit(target, source, effect) { if (effect && (effect.priority <= 0.1 || effect.target === "self")) { return; } if (target.isSemiInvulnerable() || target.isAlly(source)) return; if (!target.isGrounded()) { const baseMove = this.dex.moves.get(effect.id); if (baseMove.priority > 0) { this.hint("Psychic Terrain doesn't affect Pok\xE9mon immune to Ground."); } return; } this.add("-activate", target, "move: Psychic Terrain"); return null; }, onBasePower(basePower, attacker, defender, move) { if (move.type === "Psychic" && attacker.isGrounded() && !attacker.isSemiInvulnerable()) { this.debug("psychic terrain boost"); return this.chainModify(1.5); } }, onFieldStart(field, source, effect) { if (effect && effect.effectType === "Ability") { this.add("-fieldstart", "move: Psychic Terrain", "[from] ability: " + effect, "[of] " + source); } else { this.add("-fieldstart", "move: Psychic Terrain"); } }, onFieldResidualOrder: 27, onFieldResidualSubOrder: 7, onFieldEnd() { this.add("-fieldend", "move: Psychic Terrain"); } } }, psychoboost: { inherit: true, isNonstandard: null }, psywave: { inherit: true, isNonstandard: null }, pulverizingpancake: { inherit: true, isNonstandard: null }, punishment: { inherit: true, isNonstandard: null }, purify: { inherit: true, onHit(target, source) { if (!target.cureStatus()) return false; this.heal(Math.ceil(source.maxhp * 0.5), source); } }, pursuit: { inherit: true, isNonstandard: null }, quash: { inherit: true, onHit(target) { if (this.activePerHalf === 1) return false; const action = this.queue.willMove(target); if (!action) return false; action.priority = -7.1; this.queue.cancelMove(target); for (let i = this.queue.list.length - 1; i >= 0; i--) { if (this.queue.list[i].choice === "residual") { this.queue.list.splice(i, 0, action); break; } } this.add("-activate", target, "move: Quash"); } }, rage: { inherit: true, isNonstandard: null }, rapidspin: { inherit: true, basePower: 20, secondary: null }, razorwind: { inherit: true, isNonstandard: null }, refresh: { inherit: true, isNonstandard: null }, relicsong: { inherit: true, isNonstandard: null }, return: { inherit: true, isNonstandard: null }, revelationdance: { inherit: true, isNonstandard: null }, rockclimb: { inherit: true, isNonstandard: null }, rollingkick: { inherit: true, isNonstandard: null }, rototiller: { inherit: true, isNonstandard: null }, sappyseed: { inherit: true, accuracy: 100, basePower: 90, pp: 15 }, savagespinout: { inherit: true, isNonstandard: null }, searingsunrazesmash: { inherit: true, isNonstandard: null }, secretpower: { inherit: true, isNonstandard: null }, seedflare: { inherit: true, isNonstandard: null }, sharpen: { inherit: true, isNonstandard: null }, shatteredpsyche: { inherit: true, isNonstandard: null }, shoreup: { inherit: true, onHit(pokemon) { let factor = 0.5; if (this.field.isWeather("sandstorm")) { factor = 0.667; } const success = !!this.heal(this.modify(pokemon.maxhp, factor)); if (!success) { this.add("-fail", pokemon, "heal"); return null; } return success; } }, signalbeam: { inherit: true, isNonstandard: null }, silverwind: { inherit: true, isNonstandard: null }, sinisterarrowraid: { inherit: true, isNonstandard: null }, sizzlyslide: { inherit: true, basePower: 90, pp: 15 }, sketch: { inherit: true, isNonstandard: null }, skydrop: { inherit: true, isNonstandard: null }, skyuppercut: { inherit: true, isNonstandard: null }, smellingsalts: { inherit: true, isNonstandard: null }, snatch: { inherit: true, isNonstandard: null }, sonicboom: { inherit: true, isNonstandard: null }, soulstealing7starstrike: { inherit: true, isNonstandard: null }, sparklyswirl: { inherit: true, accuracy: 100, basePower: 90, pp: 15 }, spiderweb: { inherit: true, isNonstandard: null }, spikecannon: { inherit: true, isNonstandard: null }, splinteredstormshards: { inherit: true, isNonstandard: null }, spotlight: { inherit: true, isNonstandard: null }, steamroller: { inherit: true, isNonstandard: null }, stokedsparksurfer: { inherit: true, isNonstandard: null }, subzeroslammer: { inherit: true, isNonstandard: null }, supersonicskystrike: { inherit: true, isNonstandard: null }, swallow: { inherit: true, onHit(pokemon) { const healAmount = [0.25, 0.5, 1]; const success = !!this.heal(this.modify(pokemon.maxhp, healAmount[pokemon.volatiles["stockpile"].layers - 1])); if (!success) this.add("-fail", pokemon, "heal"); pokemon.removeVolatile("stockpile"); return success || null; } }, switcheroo: { inherit: true, onHit(target, source, move) { const yourItem = target.takeItem(source); const myItem = source.takeItem(); if (target.item || source.item || !yourItem && !myItem) { if (yourItem) target.item = yourItem.id; if (myItem) source.item = myItem.id; return false; } if (myItem && !this.singleEvent("TakeItem", myItem, source.itemState, target, source, move, myItem) || yourItem && !this.singleEvent("TakeItem", yourItem, target.itemState, source, target, move, yourItem)) { if (yourItem) target.item = yourItem.id; if (myItem) source.item = myItem.id; return false; } this.add("-activate", source, "move: Trick", "[of] " + target); if (myItem) { target.setItem(myItem); this.add("-item", target, myItem, "[from] move: Switcheroo"); } else { this.add("-enditem", target, yourItem, "[silent]", "[from] move: Switcheroo"); } if (yourItem) { source.setItem(yourItem); this.add("-item", source, yourItem, "[from] move: Switcheroo"); } else { this.add("-enditem", source, myItem, "[silent]", "[from] move: Switcheroo"); } } }, synchronoise: { inherit: true, isNonstandard: null }, synthesis: { inherit: true, onHit(pokemon) { let factor = 0.5; switch (pokemon.effectiveWeather()) { case "sunnyday": case "desolateland": factor = 0.667; break; case "raindance": case "primordialsea": case "sandstorm": case "hail": factor = 0.25; break; } const success = !!this.heal(this.modify(pokemon.maxhp, factor)); if (!success) { this.add("-fail", pokemon, "heal"); return null; } return success; } }, tailglow: { inherit: true, isNonstandard: null }, tectonicrage: { inherit: true, isNonstandard: null }, telekinesis: { inherit: true, isNonstandard: null }, teleport: { inherit: true, priority: 0, selfSwitch: false, onTry: false }, toxic: { inherit: true, onPrepareHit(target, source, move) { if (source.hasType("Poison")) source.addVolatile("toxic"); }, condition: { noCopy: true, duration: 1, onSourceInvulnerabilityPriority: 1, onSourceInvulnerability(target, source, move) { if (move && source === this.effectState.target) return 0; }, onSourceAccuracy(accuracy, target, source, move) { if (move && source === this.effectState.target) return true; } } }, toxicthread: { inherit: true, isNonstandard: null }, trick: { inherit: true, onHit(target, source, move) { const yourItem = target.takeItem(source); const myItem = source.takeItem(); if (target.item || source.item || !yourItem && !myItem) { if (yourItem) target.item = yourItem.id; if (myItem) source.item = myItem.id; return false; } if (myItem && !this.singleEvent("TakeItem", myItem, source.itemState, target, source, move, myItem) || yourItem && !this.singleEvent("TakeItem", yourItem, target.itemState, source, target, move, yourItem)) { if (yourItem) target.item = yourItem.id; if (myItem) source.item = myItem.id; return false; } this.add("-activate", source, "move: Trick", "[of] " + target); if (myItem) { target.setItem(myItem); this.add("-item", target, myItem, "[from] move: Trick"); } else { this.add("-enditem", target, yourItem, "[silent]", "[from] move: Trick"); } if (yourItem) { source.setItem(yourItem); this.add("-item", source, yourItem, "[from] move: Trick"); } else { this.add("-enditem", source, myItem, "[silent]", "[from] move: Trick"); } } }, trumpcard: { inherit: true, isNonstandard: null }, twineedle: { inherit: true, isNonstandard: null }, twinkletackle: { inherit: true, isNonstandard: null }, wakeupslap: { inherit: true, isNonstandard: null }, watersport: { inherit: true, isNonstandard: null }, wringout: { inherit: true, isNonstandard: null }, zippyzap: { inherit: true, basePower: 50, pp: 15, willCrit: true, secondary: null } }; //# sourceMappingURL=moves.js.map