Spaces:
Running
Running
export const Moves: import('../../../sim/dex-moves').ModdedMoveDataTable = { | |
allyswitch: { | |
inherit: true, | |
// Prevents setting the volatile used to check for Ally Switch failure | |
onPrepareHit() {}, | |
}, | |
anchorshot: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
aromatherapy: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
assist: { | |
inherit: true, | |
flags: { failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1 }, | |
}, | |
auroraveil: { | |
inherit: true, | |
onTry() { | |
return this.field.isWeather('hail'); | |
}, | |
}, | |
autotomize: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
beakblast: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
belch: { | |
inherit: true, | |
flags: { protect: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1 }, | |
}, | |
blizzard: { | |
inherit: true, | |
onModifyMove(move) { | |
if (this.field.isWeather('hail')) move.accuracy = true; | |
}, | |
}, | |
boltbeak: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
bonemerang: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
burnup: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
celebrate: { | |
inherit: true, | |
flags: { nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1 }, | |
}, | |
charge: { | |
inherit: true, | |
condition: { | |
onStart(pokemon, source, effect) { | |
this.add('-start', pokemon, 'Charge'); | |
}, | |
onRestart(pokemon, source, effect) { | |
this.add('-start', pokemon, 'Charge'); | |
}, | |
onBasePowerPriority: 9, | |
onBasePower(basePower, attacker, defender, move) { | |
if (move.type === 'Electric') { | |
this.debug('charge boost'); | |
return this.chainModify(2); | |
} | |
}, | |
onMoveAborted(pokemon, target, move) { | |
if (move.id !== 'charge') { | |
pokemon.removeVolatile('charge'); | |
} | |
}, | |
onAfterMove(pokemon, target, move) { | |
if (move.id !== 'charge') { | |
pokemon.removeVolatile('charge'); | |
} | |
}, | |
onEnd(pokemon) { | |
this.add('-end', pokemon, 'Charge', '[silent]'); | |
}, | |
}, | |
}, | |
chatter: { | |
inherit: true, | |
flags: { | |
protect: 1, mirror: 1, sound: 1, distance: 1, bypasssub: 1, | |
noassist: 1, failcopycat: 1, failinstruct: 1, failmefirst: 1, nosleeptalk: 1, failmimic: 1, nosketch: 1, | |
}, | |
}, | |
copycat: { | |
inherit: true, | |
flags: { failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1 }, | |
}, | |
coreenforcer: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
corrosivegas: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
craftyshield: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
curse: { | |
inherit: true, | |
onModifyMove(move, source, target) { | |
if (!source.hasType('Ghost')) { | |
move.target = move.nonGhostTarget!; | |
} | |
}, | |
target: "randomNormal", | |
}, | |
cut: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
darkvoid: { | |
inherit: true, | |
isNonstandard: "Past", | |
flags: { protect: 1, reflectable: 1, mirror: 1, metronome: 1 }, | |
}, | |
doubleironbash: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
dragonhammer: { | |
inherit: true, | |
flags: { contact: 1, protect: 1, mirror: 1 }, | |
}, | |
dualchop: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
electrify: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
eternabeam: { | |
inherit: true, | |
flags: { recharge: 1, protect: 1, mirror: 1, failinstruct: 1 }, | |
isNonstandard: null, | |
}, | |
fishiousrend: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
flowershield: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
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; | |
} | |
// In SwSh, Fly's animation leaks the initial target through a camera focus | |
// The animation leak target itself isn't "accurate"; the target it reveals is as if Fly weren't a charge movee | |
// (Fly, like all other charge moves, will actually target slots on its charging turn, relevant for things like Follow Me) | |
// We use a generic single-target move to represent this | |
if (this.sides.length > 2) { | |
const animatedTarget = attacker.getMoveTargets(this.dex.getActiveMove('aerialace'), defender).targets[0]; | |
if (animatedTarget) { | |
this.hint(`${move.name}'s animation targeted ${animatedTarget.name}`); | |
} | |
} | |
attacker.addVolatile('twoturnmove', defender); | |
return null; | |
}, | |
}, | |
futuresight: { | |
inherit: true, | |
flags: { metronome: 1, futuremove: 1 }, | |
}, | |
geargrind: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
gearup: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
geomancy: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
glaciallance: { | |
inherit: true, | |
basePower: 130, | |
}, | |
grassyglide: { | |
inherit: true, | |
basePower: 70, | |
}, | |
grudge: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
hail: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
headcharge: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
heartswap: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
holdback: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
holdhands: { | |
inherit: true, | |
isNonstandard: null, | |
flags: { bypasssub: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1 }, | |
}, | |
hyperspacefury: { | |
inherit: true, | |
isNonstandard: "Past", | |
flags: { mirror: 1, bypasssub: 1 }, | |
}, | |
hyperspacehole: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
icehammer: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
judgment: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
kinesis: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
kingsshield: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
landswrath: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
laserfocus: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
leaftornado: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
lovelykiss: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
lusterpurge: { | |
inherit: true, | |
basePower: 70, | |
}, | |
magiccoat: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
matblock: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxairstream: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxdarkness: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxflare: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxflutterby: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxgeyser: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxguard: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxhailstorm: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxknuckle: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxlightning: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxmindstorm: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxooze: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxovergrowth: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxphantasm: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxquake: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxrockfall: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxstarfall: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxsteelspike: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxstrike: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
maxwyrmwind: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
mefirst: { | |
inherit: true, | |
flags: { | |
protect: 1, bypasssub: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, | |
}, | |
}, | |
meteorassault: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
metronome: { | |
inherit: true, | |
flags: { failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1 }, | |
}, | |
milkdrink: { | |
inherit: true, | |
pp: 10, | |
}, | |
mindblown: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
mindreader: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
mirrorcoat: { | |
inherit: true, | |
flags: { protect: 1, failmefirst: 1, noassist: 1, failcopycat: 1 }, | |
}, | |
mirrormove: { | |
inherit: true, | |
flags: { failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1 }, | |
}, | |
mistball: { | |
inherit: true, | |
basePower: 70, | |
}, | |
multiattack: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
naturepower: { | |
inherit: true, | |
isNonstandard: null, | |
flags: { failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1 }, | |
}, | |
naturesmadness: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
oblivionwing: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
obstruct: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
octazooka: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
octolock: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
plasmafists: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
poweruppunch: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
psychoboost: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
psychoshift: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
purify: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
recover: { | |
inherit: true, | |
pp: 10, | |
}, | |
relicsong: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
rest: { | |
inherit: true, | |
pp: 10, | |
}, | |
revelationdance: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
revenge: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
roost: { | |
inherit: true, | |
pp: 10, | |
}, | |
searingshot: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
secretsword: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
seedflare: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
shadowbone: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
shelltrap: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
shoreup: { | |
inherit: true, | |
pp: 10, | |
}, | |
sketch: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
skullbash: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
slackoff: { | |
inherit: true, | |
pp: 10, | |
}, | |
sleeptalk: { | |
inherit: true, | |
flags: { failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1 }, | |
}, | |
snaptrap: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
softboiled: { | |
inherit: true, | |
pp: 10, | |
}, | |
spectralthief: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
stickyweb: { | |
inherit: true, | |
condition: { | |
onSideStart(side) { | |
this.add('-sidestart', side, 'move: Sticky Web'); | |
}, | |
onSwitchIn(pokemon) { | |
if (!pokemon.isGrounded() || pokemon.hasItem('heavydutyboots')) return; | |
this.add('-activate', pokemon, 'move: Sticky Web'); | |
this.boost({ spe: -1 }, pokemon, this.effectState.source, this.dex.getActiveMove('stickyweb')); | |
}, | |
}, | |
}, | |
stormthrow: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
submission: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
tailglow: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
technoblast: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
thousandarrows: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
thousandwaves: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
toxicthread: { | |
inherit: true, | |
isNonstandard: "Past", | |
}, | |
trickortreat: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
vcreate: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
venomdrench: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
vitalthrow: { | |
inherit: true, | |
isNonstandard: null, | |
}, | |
wickedblow: { | |
inherit: true, | |
basePower: 80, | |
}, | |
}; | |