INCLUDE "data/moves/effects_pointers.asm" MoveEffects: ; used only for BANK(MoveEffects) NormalHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove DoSleep: checkobedience usedmovetext doturn checkhit checksafeguard sleeptarget endmove PoisonHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage poisontarget endmove LeechHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext draintarget checkfaint buildopponentrage kingsrock endmove BurnHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage burntarget endmove FreezeHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage freezetarget endmove ParalyzeHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage paralyzetarget endmove Selfdestruct: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit selfdestruct moveanimnosub failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove DreamEater: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext eatdream checkfaint buildopponentrage endmove MirrorMove: checkobedience usedmovetext doturn mirrormove endmove AttackUp: checkobedience usedmovetext doturn attackup lowersub statupanim raisesub statupmessage statupfailtext endmove DefenseUp: checkobedience usedmovetext doturn defenseup lowersub statupanim raisesub statupmessage statupfailtext endmove SpeedUp: checkobedience usedmovetext doturn speedup lowersub statupanim raisesub statupmessage statupfailtext endmove SpecialAttackUp: checkobedience usedmovetext doturn specialattackup lowersub statupanim raisesub statupmessage statupfailtext endmove SpecialDefenseUp: checkobedience usedmovetext doturn specialdefenseup lowersub statupanim raisesub statupmessage statupfailtext endmove AccuracyUp: checkobedience usedmovetext doturn accuracyup lowersub statupanim raisesub statupmessage statupfailtext endmove EvasionUp: checkobedience usedmovetext doturn lowersub evasionup statupanim lowersubnoanim raisesub statupmessage statupfailtext endmove AttackUp2: checkobedience usedmovetext doturn attackup2 lowersub statupanim raisesub statupmessage statupfailtext endmove DefenseUp2: checkobedience usedmovetext doturn defenseup2 lowersub statupanim raisesub statupmessage statupfailtext endmove SpeedUp2: checkobedience usedmovetext doturn speedup2 lowersub statupanim raisesub statupmessage statupfailtext endmove SpecialAttackUp2: checkobedience usedmovetext doturn specialattackup2 lowersub statupanim raisesub statupmessage statupfailtext endmove SpecialDefenseUp2: checkobedience usedmovetext doturn specialdefenseup2 lowersub statupanim raisesub statupmessage statupfailtext endmove AccuracyUp2: checkobedience usedmovetext doturn accuracyup2 lowersub statupanim raisesub statupmessage statupfailtext endmove EvasionUp2: checkobedience usedmovetext doturn evasionup2 lowersub statupanim raisesub statupmessage statupfailtext endmove AttackDown: checkobedience usedmovetext doturn checkhit attackdown lowersub statdownanim raisesub statdownmessage statdownfailtext endmove DefenseDown: checkobedience usedmovetext doturn checkhit defensedown lowersub statdownanim raisesub statdownmessage statdownfailtext endmove SpeedDown: checkobedience usedmovetext doturn checkhit speeddown lowersub statdownanim raisesub statdownmessage statdownfailtext endmove SpecialAttackDown: checkobedience usedmovetext doturn checkhit specialattackdown lowersub statdownanim raisesub statdownmessage statdownfailtext endmove SpecialDefenseDown: checkobedience usedmovetext doturn checkhit specialdefensedown lowersub statdownanim raisesub statdownmessage statdownfailtext endmove AccuracyDown: checkobedience usedmovetext doturn checkhit accuracydown lowersub statdownanim raisesub statdownmessage statdownfailtext endmove EvasionDown: checkobedience usedmovetext doturn checkhit evasiondown lowersub statdownanim raisesub statdownmessage statdownfailtext endmove AttackDown2: checkobedience usedmovetext doturn checkhit attackdown2 lowersub statdownanim raisesub statdownmessage statdownfailtext endmove DefenseDown2: checkobedience usedmovetext doturn checkhit defensedown2 lowersub statdownanim raisesub statdownmessage statdownfailtext endmove SpeedDown2: checkobedience usedmovetext doturn checkhit speeddown2 lowersub statdownanim raisesub statdownmessage statdownfailtext endmove SpecialAttackDown2: checkobedience usedmovetext doturn checkhit specialattackdown2 lowersub statdownanim raisesub statdownmessage statdownfailtext endmove SpecialDefenseDown2: checkobedience usedmovetext doturn checkhit specialdefensedown2 lowersub statdownanim raisesub statdownmessage statdownfailtext endmove AccuracyDown2: checkobedience usedmovetext doturn checkhit accuracydown2 lowersub statdownanim raisesub statdownmessage statdownfailtext endmove EvasionDown2: checkobedience usedmovetext doturn checkhit evasiondown2 lowersub statdownanim raisesub statdownmessage statdownfailtext endmove AttackDownHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage attackdown statdownmessage endmove DefenseDownHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage ; BUG: Moves that lower Defense can do so after breaking a Substitute (see docs/bugs_and_glitches.md) effectchance defensedown statdownmessage endmove SpeedDownHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage speeddown statdownmessage endmove SpecialAttackDownHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage specialattackdown statdownmessage endmove SpecialDefenseDownHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage specialdefensedown statdownmessage endmove AccuracyDownHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage accuracydown statdownmessage endmove EvasionDownHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage evasiondown statdownmessage endmove DefenseUpHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext ; BUG: Moves that do damage and increase your stats do not increase stats after a KO (see docs/bugs_and_glitches.md) checkfaint buildopponentrage defenseup statupmessage endmove AttackUpHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage attackup statupmessage endmove AllUpHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage allstatsup endmove PayDay: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext payday checkfaint buildopponentrage kingsrock endmove Conversion: checkobedience usedmovetext doturn conversion endmove ResetStats: checkobedience usedmovetext doturn resetstats endmove Bide: storeenergy checkobedience doturn usedmovetext unleashenergy resettypematchup checkhit moveanim bidefailtext applydamage checkfaint buildopponentrage kingsrock endmove Rampage: checkrampage checkobedience doturn rampage usedmovetext checkhit critical damagestats damagecalc stab damagevariation clearmissdamage moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove ForceSwitch: checkobedience usedmovetext doturn checkhit forceswitch endmove MultiHit: checkobedience usedmovetext doturn startloop lowersub checkhit critical damagestats damagecalc stab damagevariation clearmissdamage moveanimnosub failuretext applydamage criticaltext cleartext supereffectivelooptext checkfaint buildopponentrage endloop raisesub kingsrock endmove PoisonMultiHit: checkobedience usedmovetext doturn startloop lowersub checkhit effectchance critical damagestats damagecalc stab damagevariation clearmissdamage moveanimnosub failuretext applydamage criticaltext cleartext supereffectivelooptext checkfaint buildopponentrage endloop raisesub kingsrock poisontarget endmove FlinchHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage flinchtarget endmove OHKOHit: checkobedience usedmovetext doturn stab ohko moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage endmove RecoilHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext recoil checkfaint buildopponentrage kingsrock endmove Mist: checkobedience usedmovetext doturn mist endmove FocusEnergy: checkobedience usedmovetext doturn focusenergy endmove DoConfuse: checkobedience usedmovetext doturn checkhit checksafeguard confuse endmove ConfuseHit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage confusetarget endmove Heal: checkobedience usedmovetext doturn heal endmove Transform: checkobedience usedmovetext doturn transform endmove LightScreen: Reflect: checkobedience usedmovetext doturn screen endmove TriAttack: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage tristatuschance endmove Toxic: DoPoison: checkobedience usedmovetext doturn checkhit stab checksafeguard poison endmove DoParalyze: checkobedience usedmovetext doturn stab checkhit checksafeguard paralyze endmove SkyAttack: checkcharge checkobedience doturn charge usedmovetext critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage flinchtarget kingsrock endmove Substitute: checkobedience usedmovetext doturn substitute endmove HyperBeam: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext rechargenextturn checkfaint buildopponentrage endmove Rage: checkobedience usedmovetext doturn critical damagestats damagecalc stab checkhit ragedamage damagevariation moveanim failuretext rage applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove Mimic: checkobedience usedmovetext doturn checkhit mimic endmove Metronome: checkobedience usedmovetext doturn metronome endmove LeechSeed: checkobedience usedmovetext doturn checkhit leechseed endmove Splash: checkobedience usedmovetext doturn splash endmove Disable: checkobedience usedmovetext doturn checkhit disable endmove RazorWind: checkcharge checkobedience doturn charge usedmovetext critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove Fly: checkcharge checkobedience doturn charge usedmovetext critical damagestats damagecalc stab damagevariation checkhit moveanimnosub raisesub failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove TrapTarget: checkobedience usedmovetext doturn checkhit critical damagestats damagecalc stab damagevariation clearmissdamage moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage traptarget endmove SuperFang: Psywave: StaticDamage: checkobedience usedmovetext doturn constantdamage checkhit resettypematchup moveanim failuretext applydamage checkfaint buildopponentrage kingsrock endmove Reversal: checkobedience usedmovetext doturn constantdamage stab checkhit moveanim failuretext applydamage supereffectivetext checkfaint buildopponentrage kingsrock endmove Counter: checkobedience usedmovetext doturn counter moveanim failuretext applydamage checkfaint buildopponentrage kingsrock endmove Encore: checkobedience usedmovetext doturn checkhit encore endmove PainSplit: checkobedience usedmovetext doturn checkhit painsplit endmove Snore: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance snore moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage flinchtarget kingsrock endmove Conversion2: checkobedience usedmovetext doturn checkhit conversion2 endmove LockOn: checkobedience usedmovetext doturn checkhit lockon endmove Sketch: checkobedience usedmovetext doturn sketch endmove DefrostOpponent: checkobedience usedmovetext doturn defrostopponent endmove SleepTalk: checkobedience usedmovetext doturn sleeptalk endmove DestinyBond: checkobedience usedmovetext doturn destinybond endmove Spite: checkobedience usedmovetext doturn checkhit spite endmove FalseSwipe: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation falseswipe checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove HealBell: checkobedience usedmovetext doturn healbell endmove TripleKick: checkobedience usedmovetext doturn startloop lowersub checkhit critical damagestats damagecalc triplekick stab damagevariation clearmissdamage moveanimnosub failuretext applydamage criticaltext cleartext supereffectivelooptext checkfaint buildopponentrage kickcounter endloop raisesub kingsrock endmove Thief: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext thief checkfaint buildopponentrage kingsrock endmove MeanLook: checkobedience usedmovetext doturn arenatrap endmove Nightmare: checkobedience usedmovetext doturn nightmare endmove FlameWheel: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext defrost checkfaint buildopponentrage burntarget endmove Curse: checkobedience usedmovetext doturn curse endmove Protect: checkobedience usedmovetext doturn protect endmove Spikes: checkobedience usedmovetext doturn spikes endmove Foresight: checkobedience usedmovetext doturn checkhit foresight endmove PerishSong: checkobedience usedmovetext doturn perishsong endmove Sandstorm: checkobedience usedmovetext doturn startsandstorm endmove Endure: checkobedience usedmovetext doturn endure endmove Rollout: checkcurl checkobedience doturn usedmovetext critical damagestats damagecalc stab checkhit rolloutpower damagevariation moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove Swagger: checkobedience usedmovetext doturn checkhit switchturn attackup2 switchturn lowersub statupanim raisesub failuretext switchturn statupmessage switchturn confusetarget endmove FuryCutter: checkobedience usedmovetext doturn critical damagestats damagecalc stab checkhit furycutter damagevariation moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove Attract: checkobedience usedmovetext doturn checkhit attract endmove Return: checkobedience usedmovetext doturn critical damagestats happinesspower damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove Present: checkobedience usedmovetext doturn checkhit critical damagestats present damagecalc stab damagevariation clearmissdamage failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove Frustration: checkobedience usedmovetext doturn critical damagestats frustrationpower damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove Safeguard: checkobedience usedmovetext doturn safeguard endmove SacredFire: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext defrost checkfaint buildopponentrage burntarget endmove Magnitude: checkobedience usedmovetext doturn critical damagestats getmagnitude damagecalc stab damagevariation checkhit doubleundergrounddamage moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove BatonPass: checkobedience usedmovetext doturn batonpass endmove Pursuit: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation pursuit checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove RapidSpin: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext clearhazards checkfaint buildopponentrage kingsrock endmove MorningSun: checkobedience usedmovetext doturn healmorn endmove Synthesis: checkobedience usedmovetext doturn healday endmove Moonlight: checkobedience usedmovetext doturn healnite endmove HiddenPower: checkobedience usedmovetext doturn critical hiddenpower damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove RainDance: checkobedience usedmovetext doturn startrain endmove SunnyDay: checkobedience usedmovetext doturn startsun endmove FakeOut: checkobedience usedmovetext doturn checkhit fakeout moveanim failuretext endmove BellyDrum: checkobedience usedmovetext doturn bellydrum endmove PsychUp: checkobedience usedmovetext doturn psychup endmove MirrorCoat: checkobedience usedmovetext doturn mirrorcoat moveanim failuretext applydamage checkfaint buildopponentrage kingsrock endmove SkullBash: checkcharge checkobedience doturn charge usedmovetext critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endturn defenseup statupmessage endmove Twister: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation doubleflyingdamage checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage flinchtarget endmove Earthquake: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation doubleundergrounddamage checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage endmove FutureSight: checkfuturesight checkobedience usedmovetext doturn damagestats damagecalc futuresight damagevariation ; skip here if last turn checkhit moveanimnosub failuretext applydamage checkfaint buildopponentrage endmove Gust: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation doubleflyingdamage checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage endmove Stomp: checkobedience usedmovetext doturn critical damagestats damagecalc stab damagevariation doubleminimizedamage checkhit effectchance moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage flinchtarget endmove Solarbeam: checkcharge checkobedience doturn skipsuncharge charge usedmovetext critical damagestats damagecalc stab damagevariation checkhit moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage kingsrock endmove Thunder: checkobedience usedmovetext doturn critical damagestats damagecalc thunderaccuracy checkhit effectchance stab damagevariation moveanim failuretext applydamage criticaltext supereffectivetext checkfaint buildopponentrage paralyzetarget endmove Teleport: checkobedience usedmovetext doturn teleport endmove BeatUp: checkobedience usedmovetext movedelay doturn startloop lowersub checkhit critical beatup damagecalc damagevariation clearmissdamage moveanimnosub failuretext applydamage criticaltext cleartext supereffectivetext checkfaint buildopponentrage endloop beatupfailtext raisesub kingsrock endmove DefenseCurl: checkobedience usedmovetext doturn defenseup curl lowersub statupanim raisesub statupmessage statupfailtext endmove