{ "version": 3, "sources": ["../../../../data/mods/gen5/moves.ts"], "sourcesContent": ["export const Moves: import('../../../sim/dex-moves').ModdedMoveDataTable = {\n\tabsorb: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, metronome: 1 },\n\t},\n\tacidarmor: {\n\t\tinherit: true,\n\t\tpp: 40,\n\t},\n\taircutter: {\n\t\tinherit: true,\n\t\tbasePower: 55,\n\t},\n\tairslash: {\n\t\tinherit: true,\n\t\tpp: 20,\n\t},\n\taromatherapy: {\n\t\tinherit: true,\n\t\tonHit(target, source) {\n\t\t\tthis.add('-activate', source, 'move: Aromatherapy');\n\t\t\tconst allies = [...target.side.pokemon, ...target.side.allySide?.pokemon || []];\n\t\t\tfor (const ally of allies) {\n\t\t\t\tally.cureStatus();\n\t\t\t}\n\t\t},\n\t},\n\tassurance: {\n\t\tinherit: true,\n\t\tbasePower: 50,\n\t},\n\taurasphere: {\n\t\tinherit: true,\n\t\tbasePower: 90,\n\t},\n\tautotomize: {\n\t\tinherit: true,\n\t\tvolatileStatus: 'autotomize',\n\t\tonHit(pokemon) {\n\t\t},\n\t\tcondition: {\n\t\t\tnoCopy: true, // doesn't get copied by Baton Pass\n\t\t\tonStart(pokemon) {\n\t\t\t\tif (pokemon.species.weighthg > 1) {\n\t\t\t\t\tthis.effectState.multiplier = 1;\n\t\t\t\t\tthis.add('-start', pokemon, 'Autotomize');\n\t\t\t\t}\n\t\t\t},\n\t\t\tonRestart(pokemon) {\n\t\t\t\tif (pokemon.species.weighthg - (this.effectState.multiplier * 1000) > 1) {\n\t\t\t\t\tthis.effectState.multiplier++;\n\t\t\t\t\tthis.add('-start', pokemon, 'Autotomize');\n\t\t\t\t}\n\t\t\t},\n\t\t\tonModifyWeightPriority: 2,\n\t\t\tonModifyWeight(weighthg, pokemon) {\n\t\t\t\tif (this.effectState.multiplier) {\n\t\t\t\t\tweighthg -= this.effectState.multiplier * 1000;\n\t\t\t\t\tif (weighthg < 1) weighthg = 1;\n\t\t\t\t\treturn weighthg;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\tbarrier: {\n\t\tinherit: true,\n\t\tpp: 30,\n\t},\n\tbestow: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, noassist: 1, failcopycat: 1 },\n\t},\n\tblizzard: {\n\t\tinherit: true,\n\t\tbasePower: 120,\n\t},\n\tblock: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, metronome: 1 },\n\t},\n\tbounce: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, metronome: 1, nosleeptalk: 1 },\n\t},\n\tbubble: {\n\t\tinherit: true,\n\t\tbasePower: 20,\n\t},\n\tbugbuzz: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\tcamouflage: {\n\t\tinherit: true,\n\t\tonHit(target) {\n\t\t\tif (!target.setType('Ground')) return false;\n\t\t\tthis.add('-start', target, 'typechange', 'Ground');\n\t\t},\n\t},\n\tcharm: {\n\t\tinherit: true,\n\t\ttype: \"Normal\",\n\t},\n\tchatter: {\n\t\tinherit: true,\n\t\tbasePower: 60,\n\t\tonModifyMove(move, pokemon) {\n\t\t\tif (pokemon.species.name !== 'Chatot') delete move.secondaries;\n\t\t},\n\t\tsecondary: {\n\t\t\tchance: 10,\n\t\t\tvolatileStatus: 'confusion',\n\t\t},\n\t\tflags: {\n\t\t\tprotect: 1, sound: 1, distance: 1, noassist: 1, failcopycat: 1,\n\t\t\tfailmefirst: 1, nosleeptalk: 1, failmimic: 1, nosketch: 1,\n\t\t},\n\t},\n\tconversion: {\n\t\tinherit: true,\n\t\tonHit(target) {\n\t\t\tconst possibleTypes = target.moveSlots.map(moveSlot => {\n\t\t\t\tconst move = this.dex.moves.get(moveSlot.id);\n\t\t\t\tif (move.id !== 'conversion' && !target.hasType(move.type)) {\n\t\t\t\t\treturn move.type;\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t}).filter(type => type);\n\t\t\tif (!possibleTypes.length) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst type = this.sample(possibleTypes);\n\n\t\t\tif (!target.setType(type)) return false;\n\t\t\tthis.add('-start', target, 'typechange', type);\n\t\t},\n\t},\n\tcopycat: {\n\t\tinherit: true,\n\t\tonHit(pokemon) {\n\t\t\tif (!this.lastMove || this.dex.moves.get(this.lastMove.id).flags['failcopycat']) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.actions.useMove(this.lastMove.id, pokemon);\n\t\t},\n\t},\n\tcottonspore: {\n\t\tinherit: true,\n\t\tonTryHit() {},\n\t\ttarget: \"normal\",\n\t},\n\tcovet: {\n\t\tinherit: true,\n\t\tpp: 40,\n\t},\n\tcrabhammer: {\n\t\tinherit: true,\n\t\tbasePower: 90,\n\t},\n\tdefog: {\n\t\tinherit: true,\n\t\tonHit(pokemon) {\n\t\t\tif (!pokemon.volatiles['substitute']) this.boost({ evasion: -1 });\n\t\t\tconst sideConditions = ['reflect', 'lightscreen', 'safeguard', 'mist', 'spikes', 'toxicspikes', 'stealthrock'];\n\t\t\tfor (const condition of sideConditions) {\n\t\t\t\tif (pokemon.side.removeSideCondition(condition)) {\n\t\t\t\t\tthis.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Defog', `[of] ${pokemon}`);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tdig: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1, nosleeptalk: 1 },\n\t},\n\tdive: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1, nosleeptalk: 1 },\n\t},\n\tdracometeor: {\n\t\tinherit: true,\n\t\tbasePower: 140,\n\t},\n\tdragonpulse: {\n\t\tinherit: true,\n\t\tbasePower: 90,\n\t},\n\tdrainpunch: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1 },\n\t},\n\tdreameater: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, metronome: 1 },\n\t},\n\techoedvoice: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\telectroball: {\n\t\tinherit: true,\n\t\tbasePowerCallback(pokemon, target) {\n\t\t\tconst ratio = Math.floor(pokemon.getStat('spe') / Math.max(1, target.getStat('spe')));\n\t\t\tconst bp = [40, 60, 80, 120, 150][Math.min(ratio, 4)];\n\t\t\tthis.debug(`BP: ${bp}`);\n\t\t\treturn bp;\n\t\t},\n\t},\n\tenergyball: {\n\t\tinherit: true,\n\t\tbasePower: 80,\n\t},\n\textrasensory: {\n\t\tinherit: true,\n\t\tpp: 30,\n\t},\n\tfeint: {\n\t\tinherit: true,\n\t\tflags: { noassist: 1, failcopycat: 1 },\n\t},\n\tfinalgambit: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, protect: 1, metronome: 1 },\n\t},\n\tfireblast: {\n\t\tinherit: true,\n\t\tbasePower: 120,\n\t},\n\tfirepledge: {\n\t\tinherit: true,\n\t\tbasePower: 50,\n\t\tbasePowerCallback(target, source, move) {\n\t\t\tif (['grasspledge', 'waterpledge'].includes(move.sourceEffect)) {\n\t\t\t\tthis.add('-combine');\n\t\t\t\treturn 150;\n\t\t\t}\n\t\t\treturn 50;\n\t\t},\n\t},\n\tflamethrower: {\n\t\tinherit: true,\n\t\tbasePower: 95,\n\t},\n\tfly: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, metronome: 1 },\n\t},\n\tfollowme: {\n\t\tinherit: true,\n\t\tpriority: 3,\n\t},\n\tfrostbreath: {\n\t\tinherit: true,\n\t\tbasePower: 40,\n\t},\n\tfurycutter: {\n\t\tinherit: true,\n\t\tbasePower: 20,\n\t\tcondition: {\n\t\t\tduration: 2,\n\t\t\tonStart() {\n\t\t\t\tthis.effectState.multiplier = 1;\n\t\t\t},\n\t\t\tonRestart() {\n\t\t\t\tif (this.effectState.multiplier < 8) {\n\t\t\t\t\tthis.effectState.multiplier <<= 1;\n\t\t\t\t}\n\t\t\t\tthis.effectState.duration = 2;\n\t\t\t},\n\t\t},\n\t},\n\tfuturesight: {\n\t\tinherit: true,\n\t\tbasePower: 100,\n\t\tonTry(source, target) {\n\t\t\tif (!target.side.addSlotCondition(target, 'futuremove')) return false;\n\t\t\tObject.assign(target.side.slotConditions[target.position]['futuremove'], {\n\t\t\t\tduration: 3,\n\t\t\t\tmove: 'futuresight',\n\t\t\t\tsource,\n\t\t\t\tmoveData: {\n\t\t\t\t\tid: 'futuresight',\n\t\t\t\t\tname: \"Future Sight\",\n\t\t\t\t\taccuracy: 100,\n\t\t\t\t\tbasePower: 100,\n\t\t\t\t\tcategory: \"Special\",\n\t\t\t\t\tpriority: 0,\n\t\t\t\t\tflags: { metronome: 1, futuremove: 1 },\n\t\t\t\t\tignoreImmunity: false,\n\t\t\t\t\teffectType: 'Move',\n\t\t\t\t\ttype: 'Psychic',\n\t\t\t\t},\n\t\t\t});\n\t\t\tthis.add('-start', source, 'move: Future Sight');\n\t\t\treturn null;\n\t\t},\n\t},\n\tgigadrain: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, metronome: 1 },\n\t},\n\tglare: {\n\t\tinherit: true,\n\t\taccuracy: 90,\n\t},\n\tgrasswhistle: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\tgrasspledge: {\n\t\tinherit: true,\n\t\tbasePower: 50,\n\t\tbasePowerCallback(target, source, move) {\n\t\t\tif (['waterpledge', 'firepledge'].includes(move.sourceEffect)) {\n\t\t\t\tthis.add('-combine');\n\t\t\t\treturn 150;\n\t\t\t}\n\t\t\treturn 50;\n\t\t},\n\t},\n\tgrowl: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\tgrowth: {\n\t\tinherit: true,\n\t\tpp: 40,\n\t},\n\tgunkshot: {\n\t\tinherit: true,\n\t\taccuracy: 70,\n\t},\n\tgyroball: {\n\t\tinherit: true,\n\t\tbasePowerCallback(pokemon, target) {\n\t\t\tlet power = Math.floor(25 * target.getStat('spe') / Math.max(1, pokemon.getStat('spe'))) + 1;\n\t\t\tif (power > 150) power = 150;\n\t\t\tthis.debug(`BP: ${power}`);\n\t\t\treturn power;\n\t\t},\n\t},\n\thealbell: {\n\t\tinherit: true,\n\t\tflags: { snatch: 1, sound: 1, metronome: 1 },\n\t\tonHit(target, source) {\n\t\t\tthis.add('-activate', source, 'move: Heal Bell');\n\t\t\tconst allies = [...target.side.pokemon, ...target.side.allySide?.pokemon || []];\n\t\t\tfor (const ally of allies) {\n\t\t\t\tally.cureStatus();\n\t\t\t}\n\t\t},\n\t},\n\thealpulse: {\n\t\tinherit: true,\n\t\theal: [1, 2],\n\t\tonHit() {},\n\t},\n\theatwave: {\n\t\tinherit: true,\n\t\tbasePower: 100,\n\t},\n\thex: {\n\t\tinherit: true,\n\t\tbasePower: 50,\n\t},\n\thiddenpower: {\n\t\tinherit: true,\n\t\tbasePower: 0,\n\t\tbasePowerCallback(pokemon) {\n\t\t\tconst bp = pokemon.hpPower || 70;\n\t\t\tthis.debug(`BP: ${bp}`);\n\t\t\treturn bp;\n\t\t},\n\t},\n\thiddenpowerbug: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerdark: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerdragon: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerelectric: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerfighting: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerfire: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerflying: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerghost: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowergrass: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerground: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerice: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerpoison: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerpsychic: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerrock: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowersteel: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thiddenpowerwater: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\thornleech: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, protect: 1, mirror: 1, metronome: 1 },\n\t},\n\thurricane: {\n\t\tinherit: true,\n\t\tbasePower: 120,\n\t},\n\thydropump: {\n\t\tinherit: true,\n\t\tbasePower: 120,\n\t},\n\thypervoice: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\ticebeam: {\n\t\tinherit: true,\n\t\tbasePower: 95,\n\t},\n\tincinerate: {\n\t\tinherit: true,\n\t\tbasePower: 30,\n\t\tonHit(pokemon, source) {\n\t\t\tconst item = pokemon.getItem();\n\t\t\tif (item.isBerry && pokemon.takeItem(source)) {\n\t\t\t\tthis.add('-enditem', pokemon, item.name, '[from] move: Incinerate');\n\t\t\t}\n\t\t},\n\t},\n\tknockoff: {\n\t\tinherit: true,\n\t\tbasePower: 20,\n\t\tonBasePower() {},\n\t},\n\tleafstorm: {\n\t\tinherit: true,\n\t\tbasePower: 140,\n\t},\n\tleechlife: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, protect: 1, mirror: 1, metronome: 1 },\n\t},\n\tlick: {\n\t\tinherit: true,\n\t\tbasePower: 20,\n\t},\n\tlightscreen: {\n\t\tinherit: true,\n\t\tcondition: {\n\t\t\tduration: 5,\n\t\t\tdurationCallback(target, source, effect) {\n\t\t\t\tif (source?.hasItem('lightclay')) {\n\t\t\t\t\treturn 8;\n\t\t\t\t}\n\t\t\t\treturn 5;\n\t\t\t},\n\t\t\tonAnyModifyDamage(damage, source, target, move) {\n\t\t\t\tif (target !== source && this.effectState.target.hasAlly(target) && this.getCategory(move) === 'Special') {\n\t\t\t\t\tif (!target.getMoveHitData(move).crit && !move.infiltrates) {\n\t\t\t\t\t\tthis.debug('Light Screen weaken');\n\t\t\t\t\t\tif (this.activePerHalf > 1) return this.chainModify([2703, 4096]);\n\t\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonSideStart(side) {\n\t\t\t\tthis.add('-sidestart', side, 'move: Light Screen');\n\t\t\t},\n\t\t\tonSideResidualOrder: 26,\n\t\t\tonSideResidualSubOrder: 2,\n\t\t\tonSideEnd(side) {\n\t\t\t\tthis.add('-sideend', side, 'move: Light Screen');\n\t\t\t},\n\t\t},\n\t},\n\tlowsweep: {\n\t\tinherit: true,\n\t\tbasePower: 60,\n\t},\n\tmagiccoat: {\n\t\tinherit: true,\n\t\tcondition: {\n\t\t\tduration: 1,\n\t\t\tonStart(target, source, effect) {\n\t\t\t\tthis.add('-singleturn', target, 'move: Magic Coat');\n\t\t\t\tif (effect?.effectType === 'Move') {\n\t\t\t\t\tthis.effectState.pranksterBoosted = effect.pranksterBoosted;\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTryHitPriority: 2,\n\t\t\tonTryHit(target, source, move) {\n\t\t\t\tif (target === source || move.hasBounced || !move.flags['reflectable'] || target.isSemiInvulnerable()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst newMove = this.dex.getActiveMove(move.id);\n\t\t\t\tnewMove.hasBounced = true;\n\t\t\t\tnewMove.pranksterBoosted = this.effectState.pranksterBoosted;\n\t\t\t\tthis.actions.useMove(newMove, target, { target: source });\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\tonAllyTryHitSide(target, source, move) {\n\t\t\t\tif (target.isAlly(source) || move.hasBounced || !move.flags['reflectable']) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst newMove = this.dex.getActiveMove(move.id);\n\t\t\t\tnewMove.hasBounced = true;\n\t\t\t\tnewMove.pranksterBoosted = false;\n\t\t\t\tthis.actions.useMove(newMove, this.effectState.target, { target: source });\n\t\t\t\treturn null;\n\t\t\t},\n\t\t},\n\t},\n\tmagicroom: {\n\t\tinherit: true,\n\t\tpriority: -7,\n\t},\n\tmagmastorm: {\n\t\tinherit: true,\n\t\tbasePower: 120,\n\t},\n\tmeanlook: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, metronome: 1 },\n\t},\n\tmegadrain: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, metronome: 1 },\n\t},\n\tmetalsound: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\tmeteormash: {\n\t\tinherit: true,\n\t\taccuracy: 85,\n\t\tbasePower: 100,\n\t},\n\tminimize: {\n\t\tinherit: true,\n\t\tpp: 20,\n\t\tcondition: {\n\t\t\tnoCopy: true,\n\t\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\t\tif (['stomp', 'steamroller'].includes(move.id)) {\n\t\t\t\t\treturn this.chainModify(2);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\tmoonlight: {\n\t\tinherit: true,\n\t\ttype: \"Normal\",\n\t},\n\tmudsport: {\n\t\tinherit: true,\n\t\tpseudoWeather: undefined,\n\t\tvolatileStatus: 'mudsport',\n\t\tcondition: {\n\t\t\tnoCopy: true,\n\t\t\tonStart(pokemon) {\n\t\t\t\tthis.add('-start', pokemon, 'Mud Sport');\n\t\t\t},\n\t\t\tonAnyBasePowerPriority: 1,\n\t\t\tonAnyBasePower(basePower, user, target, move) {\n\t\t\t\tif (move.type === 'Electric') {\n\t\t\t\t\tthis.debug('mud sport weaken');\n\t\t\t\t\treturn this.chainModify([1352, 4096]);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\tmuddywater: {\n\t\tinherit: true,\n\t\tbasePower: 95,\n\t},\n\tnaturepower: {\n\t\tinherit: true,\n\t\tonTryHit() {},\n\t\tonHit(pokemon) {\n\t\t\tthis.actions.useMove('earthquake', pokemon);\n\t\t},\n\t\ttarget: \"self\",\n\t},\n\toverheat: {\n\t\tinherit: true,\n\t\tbasePower: 140,\n\t},\n\tperishsong: {\n\t\tinherit: true,\n\t\tflags: { sound: 1, distance: 1, metronome: 1 },\n\t},\n\tpinmissile: {\n\t\tinherit: true,\n\t\taccuracy: 85,\n\t\tbasePower: 14,\n\t},\n\tpoisonfang: {\n\t\tinherit: true,\n\t\tsecondary: {\n\t\t\tchance: 30,\n\t\t\tstatus: 'tox',\n\t\t},\n\t},\n\tpoisongas: {\n\t\tinherit: true,\n\t\taccuracy: 80,\n\t},\n\tpoisonpowder: {\n\t\tinherit: true,\n\t\tonTryHit() {},\n\t},\n\tpowergem: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t},\n\tpsychup: {\n\t\tinherit: true,\n\t\tonHit(target, source) {\n\t\t\tlet i: BoostID;\n\t\t\tfor (i in target.boosts) {\n\t\t\t\tsource.boosts[i] = target.boosts[i];\n\t\t\t}\n\t\t\tthis.add('-copyboost', source, target, '[from] move: Psych Up');\n\t\t},\n\t},\n\tpsychoshift: {\n\t\tinherit: true,\n\t\taccuracy: 90,\n\t},\n\tpsywave: {\n\t\tinherit: true,\n\t\taccuracy: 80,\n\t},\n\tquickguard: {\n\t\tinherit: true,\n\t\tstallingMove: true,\n\t\tonTry(source) {\n\t\t\treturn this.queue.willAct() && this.runEvent('StallMove', source);\n\t\t},\n\t\tonHitSide(side, source) {\n\t\t\tsource.addVolatile('stall');\n\t\t},\n\t\tcondition: {\n\t\t\tduration: 1,\n\t\t\tonSideStart(target, source) {\n\t\t\t\tthis.add('-singleturn', source, 'Quick Guard');\n\t\t\t},\n\t\t\tonTryHitPriority: 4,\n\t\t\tonTryHit(target, source, effect) {\n\t\t\t\t// Quick Guard only blocks moves with a natural positive priority\n\t\t\t\t// (e.g. it doesn't block 0 priority moves boosted by Prankster)\n\t\t\t\tif (effect && (effect.id === 'feint' || this.dex.moves.get(effect.id).priority <= 0)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.add('-activate', target, 'Quick Guard');\n\t\t\t\tconst lockedmove = source.getVolatile('lockedmove');\n\t\t\t\tif (lockedmove) {\n\t\t\t\t\t// Outrage counter is reset\n\t\t\t\t\tif (source.volatiles['lockedmove'].duration === 2) {\n\t\t\t\t\t\tdelete source.volatiles['lockedmove'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t},\n\t\t},\n\t},\n\tragepowder: {\n\t\tinherit: true,\n\t\tpriority: 3,\n\t\tflags: { noassist: 1, failcopycat: 1 },\n\t},\n\treflect: {\n\t\tinherit: true,\n\t\tcondition: {\n\t\t\tduration: 5,\n\t\t\tdurationCallback(target, source, effect) {\n\t\t\t\tif (source?.hasItem('lightclay')) {\n\t\t\t\t\treturn 8;\n\t\t\t\t}\n\t\t\t\treturn 5;\n\t\t\t},\n\t\t\tonAnyModifyDamage(damage, source, target, move) {\n\t\t\t\tif (target !== source && this.effectState.target.hasAlly(target) && this.getCategory(move) === 'Physical') {\n\t\t\t\t\tif (!target.getMoveHitData(move).crit && !move.infiltrates) {\n\t\t\t\t\t\tthis.debug('Reflect weaken');\n\t\t\t\t\t\tif (this.activePerHalf > 1) return this.chainModify([2703, 4096]);\n\t\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonSideStart(side) {\n\t\t\t\tthis.add('-sidestart', side, 'Reflect');\n\t\t\t},\n\t\t\tonSideResidualOrder: 26,\n\t\t\tonSideResidualSubOrder: 1,\n\t\t\tonSideEnd(side) {\n\t\t\t\tthis.add('-sideend', side, 'Reflect');\n\t\t\t},\n\t\t},\n\t},\n\trelicsong: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, sound: 1 },\n\t},\n\troar: {\n\t\tinherit: true,\n\t\taccuracy: 100,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1 },\n\t},\n\trocktomb: {\n\t\tinherit: true,\n\t\taccuracy: 80,\n\t\tbasePower: 50,\n\t\tpp: 10,\n\t},\n\tround: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\tsacredsword: {\n\t\tinherit: true,\n\t\tpp: 20,\n\t},\n\tscald: {\n\t\tinherit: true,\n\t\tthawsTarget: false,\n\t},\n\tscreech: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\tsecretpower: {\n\t\tinherit: true,\n\t\tsecondary: {\n\t\t\tchance: 30,\n\t\t\tboosts: {\n\t\t\t\taccuracy: -1,\n\t\t\t},\n\t\t},\n\t},\n\tshadowforce: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, charge: 1, mirror: 1, metronome: 1, nosleeptalk: 1 },\n\t},\n\tsing: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\tskillswap: {\n\t\tinherit: true,\n\t\tonHit(target, source) {\n\t\t\tconst targetAbility = target.ability;\n\t\t\tconst sourceAbility = source.ability;\n\t\t\tif (targetAbility === sourceAbility) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.add('-activate', source, 'move: Skill Swap', this.dex.abilities.get(targetAbility), this.dex.abilities.get(sourceAbility), `[of] ${target}`);\n\t\t\tsource.setAbility(targetAbility);\n\t\t\ttarget.setAbility(sourceAbility);\n\t\t},\n\t},\n\tskullbash: {\n\t\tinherit: true,\n\t\tbasePower: 100,\n\t\tpp: 15,\n\t},\n\tskydrop: {\n\t\tinherit: true,\n\t\tflags: { contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, metronome: 1, nosleeptalk: 1 },\n\t\tonTryHit(target, source, move) {\n\t\t\tif (target.fainted) return false;\n\t\t\tif (source.removeVolatile(move.id)) {\n\t\t\t\tif (target !== source.volatiles['twoturnmove'].source) return false;\n\n\t\t\t\tif (target.hasType('Flying')) {\n\t\t\t\t\tthis.add('-immune', target);\n\t\t\t\t\tthis.add('-end', target, 'Sky Drop');\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (target.volatiles['substitute'] || target.isAlly(source)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tthis.add('-prepare', source, move.name, target);\n\t\t\t\tsource.addVolatile('twoturnmove', target);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t},\n\tsleeppowder: {\n\t\tinherit: true,\n\t\tonTryHit() {},\n\t},\n\tsmellingsalts: {\n\t\tinherit: true,\n\t\tbasePower: 60,\n\t},\n\tsmog: {\n\t\tinherit: true,\n\t\tbasePower: 20,\n\t},\n\tsnarl: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, sound: 1 },\n\t},\n\tsnore: {\n\t\tinherit: true,\n\t\tbasePower: 40,\n\t\tflags: { protect: 1, mirror: 1, sound: 1 },\n\t},\n\tsoak: {\n\t\tinherit: true,\n\t\tonHit(target) {\n\t\t\tif (!target.setType('Water')) {\n\t\t\t\t// Soak should animate even when it fails.\n\t\t\t\t// Returning false would suppress the animation.\n\t\t\t\tthis.add('-fail', target);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-start', target, 'typechange', 'Water');\n\t\t},\n\t},\n\tspore: {\n\t\tinherit: true,\n\t\tonTryHit() {},\n\t},\n\tstormthrow: {\n\t\tinherit: true,\n\t\tbasePower: 40,\n\t},\n\tstringshot: {\n\t\tinherit: true,\n\t\tboosts: {\n\t\t\tspe: -1,\n\t\t},\n\t},\n\tstrugglebug: {\n\t\tinherit: true,\n\t\tbasePower: 30,\n\t},\n\tstunspore: {\n\t\tinherit: true,\n\t\tonTryHit() {},\n\t},\n\tsubstitute: {\n\t\tinherit: true,\n\t\tcondition: {\n\t\t\tonStart(target) {\n\t\t\t\tthis.add('-start', target, 'Substitute');\n\t\t\t\tthis.effectState.hp = Math.floor(target.maxhp / 4);\n\t\t\t\tdelete target.volatiles['partiallytrapped'];\n\t\t\t},\n\t\t\tonTryPrimaryHitPriority: -1,\n\t\t\tonTryPrimaryHit(target, source, move) {\n\t\t\t\tif (target === source || move.flags['bypasssub']) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet damage = this.actions.getDamage(source, target, move);\n\t\t\t\tif (!damage && damage !== 0) {\n\t\t\t\t\tthis.add('-fail', source);\n\t\t\t\t\tthis.attrLastMove('[still]');\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tdamage = this.runEvent('SubDamage', target, source, move, damage);\n\t\t\t\tif (!damage) {\n\t\t\t\t\treturn damage;\n\t\t\t\t}\n\t\t\t\tif (damage > target.volatiles['substitute'].hp) {\n\t\t\t\t\tdamage = target.volatiles['substitute'].hp as number;\n\t\t\t\t}\n\t\t\t\ttarget.volatiles['substitute'].hp -= damage;\n\t\t\t\tsource.lastDamage = damage;\n\t\t\t\tif (target.volatiles['substitute'].hp <= 0) {\n\t\t\t\t\tif (move.ohko) this.add('-ohko');\n\t\t\t\t\ttarget.removeVolatile('substitute');\n\t\t\t\t} else {\n\t\t\t\t\tthis.add('-activate', target, 'Substitute', '[damage]');\n\t\t\t\t}\n\t\t\t\tif (move.recoil && damage) {\n\t\t\t\t\tthis.damage(this.actions.calcRecoilDamage(damage, move, source), source, target, 'recoil');\n\t\t\t\t}\n\t\t\t\tif (move.drain) {\n\t\t\t\t\tthis.heal(Math.ceil(damage * move.drain[0] / move.drain[1]), source, target, 'drain');\n\t\t\t\t}\n\t\t\t\tthis.singleEvent('AfterSubDamage', move, null, target, source, move, damage);\n\t\t\t\tthis.runEvent('AfterSubDamage', target, source, move, damage);\n\t\t\t\treturn this.HIT_SUBSTITUTE;\n\t\t\t},\n\t\t\tonEnd(target) {\n\t\t\t\tthis.add('-end', target, 'Substitute');\n\t\t\t},\n\t\t},\n\t},\n\tsubmission: {\n\t\tinherit: true,\n\t\tpp: 25,\n\t},\n\tsupersonic: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1 },\n\t},\n\tsurf: {\n\t\tinherit: true,\n\t\tbasePower: 95,\n\t},\n\tsweetkiss: {\n\t\tinherit: true,\n\t\ttype: \"Normal\",\n\t},\n\tsweetscent: {\n\t\tinherit: true,\n\t\tboosts: {\n\t\t\tevasion: -1,\n\t\t},\n\t},\n\tswordsdance: {\n\t\tinherit: true,\n\t\tpp: 30,\n\t},\n\tsynchronoise: {\n\t\tinherit: true,\n\t\tbasePower: 70,\n\t\tpp: 15,\n\t},\n\ttailwind: {\n\t\tinherit: true,\n\t\tpp: 30,\n\t},\n\ttechnoblast: {\n\t\tinherit: true,\n\t\tbasePower: 85,\n\t},\n\tthief: {\n\t\tinherit: true,\n\t\tbasePower: 40,\n\t\tpp: 10,\n\t},\n\tthunder: {\n\t\tinherit: true,\n\t\tbasePower: 120,\n\t},\n\tthunderbolt: {\n\t\tinherit: true,\n\t\tbasePower: 95,\n\t},\n\ttoxic: {\n\t\tinherit: true,\n\t\tonPrepareHit() {},\n\t},\n\tuproar: {\n\t\tinherit: true,\n\t\tflags: { protect: 1, mirror: 1, sound: 1, metronome: 1, nosleeptalk: 1 },\n\t},\n\tvinewhip: {\n\t\tinherit: true,\n\t\tbasePower: 35,\n\t\tpp: 15,\n\t},\n\twakeupslap: {\n\t\tinherit: true,\n\t\tbasePower: 60,\n\t},\n\twaterpledge: {\n\t\tinherit: true,\n\t\tbasePower: 50,\n\t\tbasePowerCallback(target, source, move) {\n\t\t\tif (['firepledge', 'grasspledge'].includes(move.sourceEffect)) {\n\t\t\t\tthis.add('-combine');\n\t\t\t\treturn 150;\n\t\t\t}\n\t\t\treturn 50;\n\t\t},\n\t},\n\twatersport: {\n\t\tinherit: true,\n\t\tpseudoWeather: undefined,\n\t\tvolatileStatus: 'watersport',\n\t\tcondition: {\n\t\t\tnoCopy: true,\n\t\t\tonStart(pokemon) {\n\t\t\t\tthis.add('-start', pokemon, 'move: Water Sport');\n\t\t\t},\n\t\t\tonAnyBasePowerPriority: 1,\n\t\t\tonAnyBasePower(basePower, user, target, move) {\n\t\t\t\tif (move.type === 'Fire') {\n\t\t\t\t\tthis.debug('water sport weaken');\n\t\t\t\t\treturn this.chainModify([1352, 4096]);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\twhirlwind: {\n\t\tinherit: true,\n\t\taccuracy: 100,\n\t\tflags: { protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1 },\n\t},\n\twideguard: {\n\t\tinherit: true,\n\t\tstallingMove: true,\n\t\tonTry(source) {\n\t\t\treturn this.queue.willAct() && this.runEvent('StallMove', source);\n\t\t},\n\t\tonHitSide(side, source) {\n\t\t\tsource.addVolatile('stall');\n\t\t},\n\t},\n\twillowisp: {\n\t\tinherit: true,\n\t\taccuracy: 75,\n\t},\n\twonderroom: {\n\t\tinherit: true,\n\t\tpriority: -7,\n\t},\n};\n"], "mappings": "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", "names": ["type"] }