pokeruby/data/battle_scripts_1.s
2020-08-29 01:47:36 -04:00

4476 lines
118 KiB
ArmAsm
Vendored

#include "constants/abilities.h"
#include "constants/battle.h"
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/pokemon.h"
.include "include/macros.inc"
.include "include/macros/battle_script.inc"
.include "constants/constants.inc"
.include "constants/battle_script_constants.inc"
.section script_data, "aw", %progbits
.align 2
gBattleScriptsForMoveEffects:: @ 81D6BBC
.4byte BattleScript_EffectHit
.4byte BattleScript_EffectSleep
.4byte BattleScript_EffectPoisonHit
.4byte BattleScript_EffectAbsorb
.4byte BattleScript_EffectBurnHit
.4byte BattleScript_EffectFreezeHit
.4byte BattleScript_EffectParalyzeHit
.4byte BattleScript_EffectExplosion
.4byte BattleScript_EffectDreamEater
.4byte BattleScript_EffectMirrorMove
.4byte BattleScript_EffectAttackUp
.4byte BattleScript_EffectDefenseUp
.4byte BattleScript_EffectSpeedUp
.4byte BattleScript_EffectSpecialAttackUp
.4byte BattleScript_EffectSpecialDefenseUp
.4byte BattleScript_EffectAccuracyUp
.4byte BattleScript_EffectEvasionUp
.4byte BattleScript_EffectAlwaysHit
.4byte BattleScript_EffectAttackDown
.4byte BattleScript_EffectDefenseDown
.4byte BattleScript_EffectSpeedDown
.4byte BattleScript_EffectSpecialAttackDown
.4byte BattleScript_EffectSpecialDefenseDown
.4byte BattleScript_EffectAccuracyDown
.4byte BattleScript_EffectEvasionDown
.4byte BattleScript_EffectHaze
.4byte BattleScript_EffectBide
.4byte BattleScript_EffectRampage
.4byte BattleScript_EffectRoar
.4byte BattleScript_EffectMultiHit
.4byte BattleScript_EffectConversion
.4byte BattleScript_EffectFlinchHit
.4byte BattleScript_EffectRestoreHp
.4byte BattleScript_EffectToxic
.4byte BattleScript_EffectPayDay
.4byte BattleScript_EffectLightScreen
.4byte BattleScript_EffectTriAttack
.4byte BattleScript_EffectRest
.4byte BattleScript_EffectOHKO
.4byte BattleScript_EffectRazorWind
.4byte BattleScript_EffectSuperFang
.4byte BattleScript_EffectDragonRage
.4byte BattleScript_EffectTrap
.4byte BattleScript_EffectHighCritical
.4byte BattleScript_EffectDoubleHit
.4byte BattleScript_EffectRecoilIfMiss
.4byte BattleScript_EffectMist
.4byte BattleScript_EffectFocusEnergy
.4byte BattleScript_EffectRecoil
.4byte BattleScript_EffectConfuse
.4byte BattleScript_EffectAttackUp2
.4byte BattleScript_EffectDefenseUp2
.4byte BattleScript_EffectSpeedUp2
.4byte BattleScript_EffectSpecialAttackUp2
.4byte BattleScript_EffectSpecialDefenseUp2
.4byte BattleScript_EffectAccuracyUp2
.4byte BattleScript_EffectEvasionUp2
.4byte BattleScript_EffectTransform
.4byte BattleScript_EffectAttackDown2
.4byte BattleScript_EffectDefenseDown2
.4byte BattleScript_EffectSpeedDown2
.4byte BattleScript_EffectSpecialAttackDown2
.4byte BattleScript_EffectSpecialDefenseDown2
.4byte BattleScript_EffectAccuracyDown2
.4byte BattleScript_EffectEvasionDown2
.4byte BattleScript_EffectReflect
.4byte BattleScript_EffectPoison
.4byte BattleScript_EffectParalyze
.4byte BattleScript_EffectAttackDownHit
.4byte BattleScript_EffectDefenseDownHit
.4byte BattleScript_EffectSpeedDownHit
.4byte BattleScript_EffectSpecialAttackDownHit
.4byte BattleScript_EffectSpecialDefenseDownHit
.4byte BattleScript_EffectAccuracyDownHit
.4byte BattleScript_EffectEvasionDownHit
.4byte BattleScript_EffectSkyAttack
.4byte BattleScript_EffectConfuseHit
.4byte BattleScript_EffectTwineedle
.4byte BattleScript_EffectVitalThrow
.4byte BattleScript_EffectSubstitute
.4byte BattleScript_EffectRecharge
.4byte BattleScript_EffectRage
.4byte BattleScript_EffectMimic
.4byte BattleScript_EffectMetronome
.4byte BattleScript_EffectLeechSeed
.4byte BattleScript_EffectSplash
.4byte BattleScript_EffectDisable
.4byte BattleScript_EffectLevelDamage
.4byte BattleScript_EffectPsywave
.4byte BattleScript_EffectCounter
.4byte BattleScript_EffectEncore
.4byte BattleScript_EffectPainSplit
.4byte BattleScript_EffectSnore
.4byte BattleScript_EffectConversion2
.4byte BattleScript_EffectLockOn
.4byte BattleScript_EffectSketch
.4byte BattleScript_EffectUnused60//Thaw
.4byte BattleScript_EffectSleepTalk
.4byte BattleScript_EffectDestinyBond
.4byte BattleScript_EffectFlail
.4byte BattleScript_EffectSpite
.4byte BattleScript_EffectFalseSwipe
.4byte BattleScript_EffectHealBell
.4byte BattleScript_EffectQuickAttack
.4byte BattleScript_EffectTripleKick
.4byte BattleScript_EffectThief
.4byte BattleScript_EffectMeanLook
.4byte BattleScript_EffectNightmare
.4byte BattleScript_EffectMinimize
.4byte BattleScript_EffectCurse
.4byte BattleScript_EffectUnused6E
.4byte BattleScript_EffectProtect
.4byte BattleScript_EffectSpikes
.4byte BattleScript_EffectForesight
.4byte BattleScript_EffectPerishSong
.4byte BattleScript_EffectSandstorm
.4byte BattleScript_EffectEndure
.4byte BattleScript_EffectRollout
.4byte BattleScript_EffectSwagger
.4byte BattleScript_EffectFuryCutter
.4byte BattleScript_EffectAttract
.4byte BattleScript_EffectReturn
.4byte BattleScript_EffectPresent
.4byte BattleScript_EffectFrustration
.4byte BattleScript_EffectSafeguard
.4byte BattleScript_EffectThawHit
.4byte BattleScript_EffectMagnitude
.4byte BattleScript_EffectBatonPass
.4byte BattleScript_EffectPursuit
.4byte BattleScript_EffectRapidSpin
.4byte BattleScript_EffectSonicboom
.4byte BattleScript_EffectUnused83
.4byte BattleScript_EffectMorningSun
.4byte BattleScript_EffectSynthesis
.4byte BattleScript_EffectMoonlight
.4byte BattleScript_EffectHiddenPower
.4byte BattleScript_EffectRainDance
.4byte BattleScript_EffectSunnyDay
.4byte BattleScript_EffectDefenseUpHit
.4byte BattleScript_EffectAttackUpHit
.4byte BattleScript_EffectAllStatsUpHit
.4byte BattleScript_EffectUnused8D
.4byte BattleScript_EffectBellyDrum
.4byte BattleScript_EffectPsychUp
.4byte BattleScript_EffectMirrorCoat
.4byte BattleScript_EffectSkullBash
.4byte BattleScript_EffectTwister
.4byte BattleScript_EffectEarthquake
.4byte BattleScript_EffectFutureSight
.4byte BattleScript_EffectGust
.4byte BattleScript_EffectStomp
.4byte BattleScript_EffectSolarbeam
.4byte BattleScript_EffectThunder
.4byte BattleScript_EffectTeleport
.4byte BattleScript_EffectBeatUp
.4byte BattleScript_EffectSemiInvulnerable
.4byte BattleScript_EffectDefenseCurl
.4byte BattleScript_EffectSoftboiled
.4byte BattleScript_EffectFakeOut
.4byte BattleScript_EffectUproar
.4byte BattleScript_EffectStockpile
.4byte BattleScript_EffectSpitUp
.4byte BattleScript_EffectSwallow
.4byte BattleScript_EffectUnusedA3
.4byte BattleScript_EffectHail
.4byte BattleScript_EffectTorment
.4byte BattleScript_EffectFlatter
.4byte BattleScript_EffectWillOWisp
.4byte BattleScript_EffectMemento
.4byte BattleScript_EffectFacade
.4byte BattleScript_EffectFocusPunch
.4byte BattleScript_EffectSmellingsalt
.4byte BattleScript_EffectFollowMe
.4byte BattleScript_EffectNaturePower
.4byte BattleScript_EffectCharge
.4byte BattleScript_EffectTaunt
.4byte BattleScript_EffectHelpingHand
.4byte BattleScript_EffectTrick
.4byte BattleScript_EffectRolePlay
.4byte BattleScript_EffectWish
.4byte BattleScript_EffectAssist
.4byte BattleScript_EffectIngrain
.4byte BattleScript_EffectSuperpower
.4byte BattleScript_EffectMagicCoat
.4byte BattleScript_EffectRecycle
.4byte BattleScript_EffectRevenge
.4byte BattleScript_EffectBrickBreak
.4byte BattleScript_EffectYawn
.4byte BattleScript_EffectKnockOff
.4byte BattleScript_EffectEndeavor
.4byte BattleScript_EffectEruption
.4byte BattleScript_EffectSkillSwap
.4byte BattleScript_EffectImprison
.4byte BattleScript_EffectRefresh
.4byte BattleScript_EffectGrudge
.4byte BattleScript_EffectSnatch
.4byte BattleScript_EffectLowKick
.4byte BattleScript_EffectSecretPower
.4byte BattleScript_EffectDoubleEdge
.4byte BattleScript_EffectTeeterDance
.4byte BattleScript_EffectBlazeKick
.4byte BattleScript_EffectMudSport
.4byte BattleScript_EffectPoisonFang
.4byte BattleScript_EffectWeatherBall
.4byte BattleScript_EffectOverheat
.4byte BattleScript_EffectTickle
.4byte BattleScript_EffectCosmicPower
.4byte BattleScript_EffectSkyUppercut
.4byte BattleScript_EffectBulkUp
.4byte BattleScript_EffectPoisonTail
.4byte BattleScript_EffectWaterSport
.4byte BattleScript_EffectCalmMind
.4byte BattleScript_EffectDragonDance
.4byte BattleScript_EffectCamouflage
BattleScript_EffectHit: @ 81D6F14
BattleScript_EffectAccuracyDown2: @ 81D6F14
BattleScript_EffectAccuracyUp2: @ 81D6F14
BattleScript_EffectAccuracyUp: @ 81D6F14
BattleScript_EffectAlwaysHit: @ 81D6F14
BattleScript_EffectEvasionDown2: @ 81D6F14
BattleScript_EffectEvasionDownHit: @ 81D6F14
BattleScript_EffectEvasionUp2: @ 81D6F14
BattleScript_EffectFalseSwipe: @ 81D6F14
BattleScript_EffectHighCritical: @ 81D6F14
BattleScript_EffectHit: @ 81D6F14
BattleScript_EffectPursuit: @ 81D6F14
BattleScript_EffectQuickAttack: @ 81D6F14
BattleScript_EffectSpecialAttackDown2: @ 81D6F14
BattleScript_EffectSpecialAttackDown: @ 81D6F14
BattleScript_EffectSpecialDefenseDown: @ 81D6F14
BattleScript_EffectSpecialDefenseUp: @ 81D6F14
BattleScript_EffectSpeedUp: @ 81D6F14
BattleScript_EffectUnused60: @ 81D6F14
BattleScript_EffectUnused6E: @ 81D6F14
BattleScript_EffectUnused83: @ 81D6F14
BattleScript_EffectUnused8D: @ 81D6F14
BattleScript_EffectUnusedA3: @ 81D6F14
BattleScript_EffectVitalThrow: @ 81D6F14
jumpifnotmove MOVE_SURF, BattleScript_HitFromAtkCanceler
jumpifnostatus3 TARGET, STATUS3_UNDERWATER, BattleScript_HitFromAtkCanceler
orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
setbyte sDMG_MULTIPLIER, 2
BattleScript_HitFromAtkCanceler: @ 81D6F3A
attackcanceler
BattleScript_HitFromAccCheck: @ 81D6F3B
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
BattleScript_HitFromAtkString: @ 81D6F42
attackstring
ppreduce
BattleScript_HitFromCritCalc:: @ 81D6F44
critcalc
damagecalc
typecalc
adjustnormaldamage
BattleScript_HitFromAtkAnimation: @ 81D6F48
attackanimation
waitanimation
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
resultmessage
waitmessage 64
seteffectwithchance
tryfaintmon TARGET, FALSE, NULL
BattleScript_MoveEnd:: @ 81D6F62
setbyte sMOVEEND_STATE, 0
moveend 0, 0
end
BattleScript_MakeMoveMissed: @ 81D6F6C
orbyte gMoveResultFlags, MOVE_RESULT_MISSED
BattleScript_PrintMoveMissed: @ 81D6F72
attackstring
ppreduce
BattleScript_MoveMissedPause:: @ 81D6F74
pause 32
BattleScript_MoveMissed: @ 81D6F77
effectivenesssound
resultmessage
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSleep: @ 81D6F81
attackcanceler
attackstring
ppreduce
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
jumpifstatus TARGET, SLP, BattleScript_AlreadyAsleep
jumpifcantmakeasleep BattleScript_CantMakeAsleep
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
setmoveeffect EFFECT_SLEEP
seteffectprimary
goto BattleScript_MoveEnd
BattleScript_AlreadyAsleep: @ 81D6FC4
pause 32
printstring BATTLE_TEXT_DefendingAsleep
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_WasntAffected: @ 81D6FD2
pause 32
printstring BATTLE_TEXT_WasntAffected
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_CantMakeAsleep: @ 81D6FE0
pause 32
printfromtable gUproarAwakeStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectPoisonHit: @ 81D6FF0
BattleScript_EffectPoisonTail: @ 81D6FF0
setmoveeffect EFFECT_POISON
goto BattleScript_EffectHit
BattleScript_EffectAbsorb: @ 81D6FFB
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
critcalc
damagecalc
typecalc
adjustnormaldamage
attackanimation
waitanimation
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
resultmessage
waitmessage 64
negativedamage
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_AbsorbLiquidOoze
setbyte cMULTISTRING_CHOOSER, 0
goto BattleScript_AbsorbUpdateHp
BattleScript_AbsorbLiquidOoze: @ 81D7037
manipulatedamage 0
setbyte cMULTISTRING_CHOOSER, 1
BattleScript_AbsorbUpdateHp: @ 81D703F
healthbarupdate USER
datahpupdate USER
jumpifmovehadnoeffect BattleScript_AbsorbTryFainting
printfromtable gLeechSeedDrainStringIds
waitmessage 64
BattleScript_AbsorbTryFainting: @ 81D7056
tryfaintmon USER, FALSE, NULL
tryfaintmon TARGET, FALSE, NULL
goto BattleScript_MoveEnd
BattleScript_EffectBlazeKick: @ 81D7069
BattleScript_EffectBurnHit: @ 81D7069
setmoveeffect EFFECT_BURN
goto BattleScript_EffectHit
BattleScript_EffectFreezeHit: @ 81D7074
setmoveeffect EFFECT_FREEZE
goto BattleScript_EffectHit
BattleScript_EffectParalyzeHit: @ 81D707F
setmoveeffect EFFECT_PARALYSIS
goto BattleScript_EffectHit
BattleScript_EffectExplosion: @ 81D708A
attackcanceler
attackstring
ppreduce
faintifabilitynotdamp
setatkhptozero
waitstate
jumpifbyte NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_1D70A5
call BattleScript_1D70FB
goto BattleScript_1D70A7
BattleScript_1D70A5: @ 81D70A5
attackanimation
waitanimation
BattleScript_1D70A7: @ 81D70A7
movevaluescleanup
critcalc
damagecalc
typecalc
adjustnormaldamage
accuracycheck BattleScript_1D70E0, ACC_CURR_MOVE
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
resultmessage
waitmessage 64
tryfaintmon TARGET, FALSE, NULL
setbyte sMOVEEND_STATE, 0
moveend 2, 16
jumpifnexttargetvalid BattleScript_1D70A7
tryfaintmon USER, FALSE, NULL
end
BattleScript_1D70E0: @ 81D70E0
effectivenesssound
resultmessage
waitmessage 64
setbyte sMOVEEND_STATE, 0
moveend 2, 16
jumpifnexttargetvalid BattleScript_1D70A7
tryfaintmon USER, FALSE, NULL
end
BattleScript_1D70FB: @ 81D70FB
bicbyte gMoveResultFlags, MOVE_RESULT_MISSED
attackanimation
waitanimation
orbyte gMoveResultFlags, MOVE_RESULT_MISSED
return
BattleScript_EffectDreamEater: @ 81D710A
attackcanceler
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_1D711F
jumpifstatus TARGET, SLP, BattleScript_1D7129
BattleScript_1D711F: @ 81D711F
attackstring
ppreduce
waitmessage 64
goto BattleScript_WasntAffected
BattleScript_1D7129: @ 81D7129
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
critcalc
damagecalc
typecalc
adjustnormaldamage
attackanimation
waitanimation
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
resultmessage
waitmessage 64
negativedamage
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
jumpifmovehadnoeffect BattleScript_DreamEaterTryFaintEnd
printstring BATTLE_TEXT_DreamEaten
waitmessage 64
BattleScript_DreamEaterTryFaintEnd: @ 81D7167
tryfaintmon TARGET, FALSE, NULL
goto BattleScript_MoveEnd
BattleScript_EffectMirrorMove: @ 81D7173
attackcanceler
attackstring
pause 64
trymirrormove
ppreduce
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
printstring BATTLE_TEXT_MirrorFail
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectAttackUp: @ 81D718B
setstatchanger ATTACK, 1, FALSE
goto BattleScript_EffectStatUp
BattleScript_EffectDefenseUp: @ 81D7196
setstatchanger DEFENSE, 1, FALSE
goto BattleScript_EffectStatUp
BattleScript_EffectSpecialAttackUp: @ 81D71A1
setstatchanger SP_ATTACK, 1, FALSE
goto BattleScript_EffectStatUp
BattleScript_EffectEvasionUp: @ 81D71AC
setstatchanger EVASION, 1, FALSE
BattleScript_EffectStatUp: @ 81D71B2
attackcanceler
BattleScript_EffectStatUpAfterAtkCanceler: @ 81D71B3
attackstring
ppreduce
statbuffchange AFFECTS_USER | 0x1, BattleScript_StatUpEnd
jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_StatUpAttackAnim
pause 32
goto BattleScript_StatUpPrintString
BattleScript_StatUpAttackAnim: @ 81D71CE
attackanimation
waitanimation
BattleScript_StatUpDoAnim: @ 81D71D0
setgraphicalstatchangevalues
playanimation USER, B_ANIM_STATS_CHANGE, sANIM_ARG1
BattleScript_StatUpPrintString: @ 81D71D8
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_StatUpEnd: @ 81D71E0
goto BattleScript_MoveEnd
BattleScript_StatUp:: @ 81D71E5
playanimation 2, B_ANIM_STATS_CHANGE, sANIM_ARG1
printfromtable gStatUpStringIds
waitmessage 64
return
BattleScript_EffectAttackDown: @ 81D71F5
setstatchanger ATTACK, 1, TRUE
goto BattleScript_EffectStatDown
BattleScript_EffectDefenseDown: @ 81D7200
setstatchanger DEFENSE, 1, TRUE
goto BattleScript_EffectStatDown
BattleScript_EffectSpeedDown: @ 81D720B
setstatchanger SPEED, 1, TRUE
goto BattleScript_EffectStatDown
BattleScript_EffectAccuracyDown: @ 81D7216
setstatchanger ACCURACY, 1, TRUE
goto BattleScript_EffectStatDown
BattleScript_EffectEvasionDown: @ 81D7221
setstatchanger EVASION, 1, TRUE
BattleScript_EffectStatDown: @ 81D7227
attackcanceler
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedAtkStringPpReduce
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
statbuffchange 1, BattleScript_StatDownEnd
jumpifbyte LESS_THAN, cMULTISTRING_CHOOSER, 2, BattleScript_StatDownDoAnim
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 3, BattleScript_StatDownEnd
pause 32
goto BattleScript_StatDownPrintString
BattleScript_StatDownDoAnim: @ 81D725F
attackanimation
waitanimation
setgraphicalstatchangevalues
playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1
BattleScript_StatDownPrintString: @ 81D7269
printfromtable gStatDownStringIds
waitmessage 64
BattleScript_StatDownEnd: @ 81D7271
goto BattleScript_MoveEnd
BattleScript_StatDown:: @ 81D7276
playanimation 2, B_ANIM_STATS_CHANGE, sANIM_ARG1
printfromtable gStatDownStringIds
waitmessage 64
return
BattleScript_EffectHaze: @ 81D7286
attackcanceler
attackstring
ppreduce
attackanimation
waitanimation
normalisebuffs
printstring BATTLE_TEXT_StatElim
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectBide: @ 81D7297
attackcanceler
attackstring
ppreduce
attackanimation
waitanimation
orword gHitMarker, HITMARKER_CHARGING
setbide
goto BattleScript_MoveEnd
BattleScript_EffectRampage: @ 81D72AB
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_1D72BF
ppreduce
BattleScript_1D72BF: @ 81D72BF
confuseifrepeatingattackends
goto BattleScript_HitFromCritCalc
BattleScript_EffectRoar: @ 81D72C5
attackcanceler
attackstring
ppreduce
jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut
jumpifstatus3 TARGET, STATUS3_ROOTED, BattleScript_PrintMonIsRooted
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
forcerandomswitch BattleScript_ButItFailed
BattleScript_EffectMultiHit: @ 81D72ED
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
setmultihitcounter 0
initmultihitstring
setbyte sMULTIHIT_EFFECT, 0
BattleScript_MultiHitLoop: @ 81D7300
jumpifhasnohp USER, BattleScript_MultiHitEnd
jumpifhasnohp TARGET, BattleScript_MultiHitPrintStrings
jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoMultiHit
jumpifstatus USER, SLP, BattleScript_MultiHitPrintStrings
BattleScript_DoMultiHit: @ 81D7322
movevaluescleanup
copybyte cEFFECT_CHOOSER, sMULTIHIT_EFFECT
critcalc
damagecalc
typecalc
jumpifmovehadnoeffect BattleScript_MultiHitNoMoreHits
adjustnormaldamage
attackanimation
waitanimation
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
printstring BATTLE_TEXT_Terminator2
waitmessage 1
addbyte sMULTIHIT_STRING + 4, 1
setbyte sMOVEEND_STATE, 0
moveend 2, 16
jumpifbyte COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_MultiHitPrintStrings
decrementmultihit BattleScript_MultiHitLoop
goto BattleScript_MultiHitPrintStrings
BattleScript_MultiHitNoMoreHits: @ 81D7374
pause 32
BattleScript_MultiHitPrintStrings: @ 81D7377
resultmessage
waitmessage 64
jumpifmovehadnoeffect BattleScript_MultiHitEnd
copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6
printstring BATTLE_TEXT_HitMulti
waitmessage 64
BattleScript_MultiHitEnd: @ 81D7396
seteffectwithchance
tryfaintmon TARGET, FALSE, NULL
setbyte sMOVEEND_STATE, 2
moveend 1, 0
setbyte sMOVEEND_STATE, 4
moveend 0, 0
end
BattleScript_EffectConversion: @ 81D73B1
attackcanceler
attackstring
ppreduce
tryconversiontypechange BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_TypeTransform
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectFlinchHit: @ 81D73C6
setmoveeffect EFFECT_FLINCH
goto BattleScript_EffectHit
BattleScript_EffectRestoreHp: @ 81D73D1
attackcanceler
attackstring
ppreduce
tryhealhalfhealth BattleScript_AlreadyAtFullHp, 1
attackanimation
waitanimation
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_RegainedHealth
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectToxic: @ 81D73F4
attackcanceler
attackstring
ppreduce
jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
jumpifstatus TARGET, PSN, BattleScript_AlreadyPoisoned
jumpifstatus TARGET, TOX, BattleScript_AlreadyPoisoned
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected
jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
setmoveeffect EFFECT_TOXIC
seteffectprimary
resultmessage
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_AlreadyPoisoned: @ 81D7455
pause 64
printstring BATTLE_TEXT_AlreadyPoisoned
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_ImmunityProtected: @ 81D7463
copybyte gEffectBattler, gBattlerTarget
setbyte cMULTISTRING_CHOOSER, 0
call BattleScript_PSNPrevention
goto BattleScript_MoveEnd
BattleScript_EffectPayDay: @ 81D747D
setmoveeffect EFFECT_PAYDAY
goto BattleScript_EffectHit
BattleScript_EffectLightScreen: @ 81D7488
attackcanceler
attackstring
ppreduce
setlightscreen
goto BattleScript_PrintReflectLightScreenSafeguardString
BattleScript_EffectTriAttack: @ 81D7491
setmoveeffect EFFECT_TRI_ATTACK
goto BattleScript_EffectHit
BattleScript_EffectRest: @ 81D749C
attackcanceler
attackstring
ppreduce
jumpifstatus USER, SLP, BattleScript_RestIsAlreadyAsleep
jumpifcantmakeasleep BattleScript_RestCantSleep
trysetrest BattleScript_AlreadyAtFullHp
pause 32
printfromtable gRestUsedStringIds
waitmessage 64
updatestatusicon USER
waitstate
goto BattleScript_PresentHealTarget
BattleScript_RestCantSleep: @ 81D74C6
pause 64
printfromtable gUproarAwakeStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_RestIsAlreadyAsleep: @ 81D74D6
pause 32
printstring BATTLE_TEXT_AttackingAsleep
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectOHKO: @ 81D74E4
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
typecalc
jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation
tryKO BattleScript_KOFail
trysetdestinybondtohappen
goto BattleScript_HitFromAtkAnimation
BattleScript_KOFail: @ 81D7505
pause 64
printfromtable gKOFailedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectRazorWind: @ 81D7515
jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 0
call BattleScriptFirstChargingTurn
goto BattleScript_MoveEnd
BattleScript_TwoTurnMovesSecondTurn: @ 81D753D
attackcanceler
setmoveeffect EFFECT_CHARGING
setbyte sANIM_TURN, 1
clearstatusfromeffect USER
orword gHitMarker, HITMARKER_NO_PPDEDUCT
jumpifnotmove MOVE_SKY_ATTACK, BattleScript_HitFromAccCheck
setmoveeffect EFFECT_FLINCH
goto BattleScript_HitFromAccCheck
BattleScriptFirstChargingTurn: @ 81D756C
attackcanceler
printstring BATTLE_TEXT_Terminator2
ppreduce
attackanimation
waitanimation
orword gHitMarker, HITMARKER_CHARGING
setbyte cEFFECT_CHOOSER, 76
seteffectprimary
copybyte cMULTISTRING_CHOOSER, sTWOTURN_STRINGID
printfromtable gFirstTurnOfTwoStringIds
waitmessage 64
return
BattleScript_EffectSuperFang: @ 81D7596
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
damagetohalftargethp
goto BattleScript_HitFromAtkAnimation
BattleScript_EffectDragonRage: @ 81D75AD
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
setword gBattleMoveDamage, 40
adjustsetdamage
goto BattleScript_HitFromAtkAnimation
BattleScript_EffectTrap: @ 81D75DC
jumpifnotmove MOVE_WHIRLPOOL, BattleScript_DoWrapEffect
jumpifnostatus3 TARGET, STATUS3_UNDERWATER, BattleScript_DoWrapEffect
orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
setbyte sDMG_MULTIPLIER, 2
BattleScript_DoWrapEffect: @ 81D7602
setmoveeffect EFFECT_WRAP
goto BattleScript_EffectHit
BattleScript_EffectDoubleHit: @ 81D760D
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
setmultihitcounter 2
initmultihitstring
setbyte sMULTIHIT_EFFECT, 0
goto BattleScript_MultiHitLoop
BattleScript_EffectRecoilIfMiss: @ 81D7625
attackcanceler
accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE
goto BattleScript_HitFromAtkString
BattleScript_MoveMissedDoDamage: @ 81D7632
attackstring
ppreduce
pause 64
resultmessage
waitmessage 64
jumpifbyte COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_MoveEnd
printstring BATTLE_TEXT_KeptGoingCrash
waitmessage 64
damagecalc
typecalc
adjustnormaldamage
manipulatedamage 1
bicbyte gMoveResultFlags, MOVE_RESULT_MISSED
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
tryfaintmon USER, FALSE, NULL
orbyte gMoveResultFlags, MOVE_RESULT_MISSED
goto BattleScript_MoveEnd
BattleScript_EffectMist: @ 81D7676
attackcanceler
attackstring
ppreduce
setmist
attackanimation
waitanimation
printfromtable gMistUsedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectFocusEnergy: @ 81D7689
attackcanceler
attackstring
ppreduce
jumpifstatus2 USER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed
setfocusenergy
attackanimation
waitanimation
printfromtable gFocusEnergyUsedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectRecoil: @ 81D76A6
setmoveeffect EFFECT_RECOIL_25 | AFFECTS_USER | CERTAIN
jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit
incrementgamestat 27
goto BattleScript_EffectHit
BattleScript_EffectConfuse: @ 81D76BF
attackcanceler
attackstring
ppreduce
jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_AlreadyConfused
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
setmoveeffect EFFECT_CONFUSION
seteffectprimary
resultmessage
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_AlreadyConfused: @ 81D76FE
pause 32
printstring BATTLE_TEXT_AlreadyConfused
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectAttackUp2: @ 81D770C
setstatchanger ATTACK, 2, FALSE
goto BattleScript_EffectStatUp
BattleScript_EffectDefenseUp2: @ 81D7717
setstatchanger DEFENSE, 2, FALSE
goto BattleScript_EffectStatUp
BattleScript_EffectSpeedUp2: @ 81D7722
setstatchanger SPEED, 2, FALSE
goto BattleScript_EffectStatUp
BattleScript_EffectSpecialAttackUp2: @ 81D772D
setstatchanger SP_ATTACK, 2, FALSE
goto BattleScript_EffectStatUp
BattleScript_EffectSpecialDefenseUp2: @ 81D7738
setstatchanger SP_DEFENSE, 2, FALSE
goto BattleScript_EffectStatUp
BattleScript_EffectTransform: @ 81D7743
attackcanceler
attackstring
ppreduce
transformdataexecution
attackanimation
waitanimation
printfromtable gTransformUsedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectAttackDown2: @ 81D7756
setstatchanger ATTACK, 2, TRUE
goto BattleScript_EffectStatDown
BattleScript_EffectDefenseDown2: @ 81D7761
setstatchanger DEFENSE, 2, TRUE
goto BattleScript_EffectStatDown
BattleScript_EffectSpeedDown2: @ 81D776C
setstatchanger SPEED, 2, TRUE
goto BattleScript_EffectStatDown
BattleScript_EffectSpecialDefenseDown2: @ 81D7777
setstatchanger SP_DEFENSE, 2, TRUE
goto BattleScript_EffectStatDown
BattleScript_EffectReflect: @ 81D7782
attackcanceler
attackstring
ppreduce
setreflect
BattleScript_PrintReflectLightScreenSafeguardString: @ 81D7786
attackanimation
waitanimation
printfromtable gReflectLightScreenSafeguardStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectPoison: @ 81D7795
attackcanceler
attackstring
ppreduce
jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
jumpifstatus TARGET, PSN, BattleScript_AlreadyPoisoned
jumpifstatus TARGET, TOX, BattleScript_AlreadyPoisoned
jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected
jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
setmoveeffect EFFECT_POISON
seteffectprimary
resultmessage
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectParalyze: @ 81D77F6
attackcanceler
attackstring
ppreduce
jumpifability TARGET, ABILITY_LIMBER, BattleScript_LimberProtected
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
typecalc
jumpifmovehadnoeffect BattleScript_ButItFailed
jumpifstatus TARGET, PAR, BattleScript_AlreadyParalyzed
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
setmoveeffect EFFECT_PARALYSIS
seteffectprimary
resultmessage
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_AlreadyParalyzed: @ 81D784B
pause 32
printstring BATTLE_TEXT_AlreadyParalyzed
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_LimberProtected: @ 81D7859
copybyte gEffectBattler, gBattlerTarget
setbyte cMULTISTRING_CHOOSER, 0
call BattleScript_PRLZPrevention
goto BattleScript_MoveEnd
BattleScript_EffectAttackDownHit: @ 81D7873
setmoveeffect EFFECT_ATK_MINUS_1
goto BattleScript_EffectHit
BattleScript_EffectDefenseDownHit: @ 81D787E
setmoveeffect EFFECT_DEF_MINUS_1
goto BattleScript_EffectHit
BattleScript_EffectSpeedDownHit: @ 81D7889
setmoveeffect EFFECT_SPD_MINUS_1
goto BattleScript_EffectHit
BattleScript_EffectSpecialAttackDownHit: @ 81D7894
setmoveeffect EFFECT_SP_ATK_MINUS_1
goto BattleScript_EffectHit
BattleScript_EffectSpecialDefenseDownHit: @ 81D789F
setmoveeffect EFFECT_SP_DEF_MINUS_1
goto BattleScript_EffectHit
BattleScript_EffectAccuracyDownHit: @ 81D78AA
setmoveeffect EFFECT_ACC_MINUS_1
goto BattleScript_EffectHit
BattleScript_EffectSkyAttack: @ 81D78B5
jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 3
call BattleScriptFirstChargingTurn
goto BattleScript_MoveEnd
BattleScript_EffectConfuseHit: @ 81D78DD
setmoveeffect EFFECT_CONFUSION
goto BattleScript_EffectHit
BattleScript_EffectTwineedle: @ 81D78E8
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
setbyte sMULTIHIT_EFFECT, 2
attackstring
ppreduce
setmultihitcounter 2
initmultihitstring
goto BattleScript_MultiHitLoop
BattleScript_EffectSubstitute: @ 81D7900
attackcanceler
ppreduce
attackstring
waitstate
jumpifstatus2 USER, STATUS2_SUBSTITUTE, BattleScript_AlreadyHasSubstitute
setsubstitute
jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_SubstituteAnim
pause 32
goto BattleScript_SubstituteString
BattleScript_SubstituteAnim: @ 81D7922
attackanimation
waitanimation
healthbarupdate USER
datahpupdate USER
BattleScript_SubstituteString: @ 81D7928
printfromtable gSubsituteUsedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_AlreadyHasSubstitute: @ 81D7935
pause 32
printstring BATTLE_TEXT_SubAlready
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectRecharge: @ 81D7943
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
setmoveeffect EFFECT_RECHARGE | AFFECTS_USER | CERTAIN
goto BattleScript_HitFromAtkString
BattleScript_MoveUsedMustRecharge:: @ 81D7956
printstring BATTLE_TEXT_MustRecharge
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectRage: @ 81D7961
attackcanceler
accuracycheck BattleScript_RageMiss, ACC_CURR_MOVE
setmoveeffect EFFECT_RAGE
seteffectprimary
setmoveeffect 0
goto BattleScript_HitFromAtkString
BattleScript_RageMiss: @ 81D797B
setmoveeffect EFFECT_RAGE
clearstatusfromeffect USER
goto BattleScript_PrintMoveMissed
BattleScript_EffectMimic: @ 81D7988
attackcanceler
attackstring
ppreduce
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
mimicattackcopy BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_LearnedMove2
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectMetronome: @ 81D79AE
attackcanceler
attackstring
pause 32
attackanimation
waitanimation
setbyte sANIM_TURN, 0
setbyte sANIM_TARGETS_HIT, 0
metronome
BattleScript_EffectLeechSeed: @ 81D79C2
attackcanceler
attackstring
pause 32
ppreduce
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
accuracycheck BattleScript_DoLeechSeed, ACC_CURR_MOVE
BattleScript_DoLeechSeed: @ 81D79D9
setseeded
attackanimation
waitanimation
printfromtable gLeechSeedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSplash: @ 81D79E9
attackcanceler
attackstring
ppreduce
attackanimation
waitanimation
incrementgamestat 26
printstring BATTLE_TEXT_Nothing
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectDisable: @ 81D79FB
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
disablelastusedattack BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_MoveWasDisabled
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectLevelDamage: @ 81D7A17
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
dmgtolevel
adjustsetdamage
goto BattleScript_HitFromAtkAnimation
BattleScript_EffectPsywave: @ 81D7A2F
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
psywavedamageeffect
adjustsetdamage
goto BattleScript_HitFromAtkAnimation
BattleScript_EffectCounter: @ 81D7A47
attackcanceler
counterdamagecalculator BattleScript_ButItFailedAtkStringPpReduce
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc2
adjustsetdamage
goto BattleScript_HitFromAtkAnimation
BattleScript_EffectEncore: @ 81D7A5D
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
trysetencore BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_EncoreGot
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectPainSplit: @ 81D7A79
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
painsplitdmgcalc BattleScript_ButItFailed
attackanimation
waitanimation
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
copyword gBattleMoveDamage, sPAINSPLIT_HP
healthbarupdate TARGET
datahpupdate TARGET
printstring BATTLE_TEXT_PainSplit
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSnore: @ 81D7AB0
attackcanceler
jumpifstatus USER, SLP, BattleScript_SnoreIsAsleep
attackstring
ppreduce
goto BattleScript_ButItFailed
BattleScript_SnoreIsAsleep: @ 81D7AC2
jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoSnore
printstring BATTLE_TEXT_FastAsleep
waitmessage 64
statusanimation USER
BattleScript_DoSnore: @ 81D7AD6
attackstring
ppreduce
accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
setmoveeffect EFFECT_FLINCH
goto BattleScript_HitFromCritCalc
BattleScript_EffectConversion2: @ 81D7AEA
attackcanceler
attackstring
ppreduce
settypetorandomresistance BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_TypeTransform
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectLockOn: @ 81D7AFF
attackcanceler
attackstring
ppreduce
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
setalwayshitflag
attackanimation
waitanimation
printstring BATTLE_TEXT_TookAim
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSketch: @ 81D7B21
attackcanceler
attackstring
ppreduce
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
copymovepermanently BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_SketchedMove
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSleepTalk: @ 81D7B40
attackcanceler
jumpifstatus USER, SLP, BattleScript_1D7B52
attackstring
ppreduce
goto BattleScript_ButItFailed
BattleScript_1D7B52: @ 81D7B52
printstring BATTLE_TEXT_FastAsleep
waitmessage 64
statusanimation USER
attackstring
ppreduce
orword gHitMarker, HITMARKER_NO_PPDEDUCT
trychoosesleeptalkmove BattleScript_SleepTalkIsAsleep
pause 64
goto BattleScript_ButItFailed
BattleScript_SleepTalkIsAsleep: @ 81D7B72
attackanimation
waitanimation
setbyte sANIM_TURN, 0
setbyte sANIM_TARGETS_HIT, 0
jumptorandomattack USER
BattleScript_EffectDestinyBond: @ 81D7B82
attackcanceler
attackstring
ppreduce
setdestinybond
attackanimation
waitanimation
printstring BATTLE_TEXT_DestinyBondTake
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectFlail: @ 81D7B93
remaininghptopower
goto BattleScript_EffectHit
BattleScript_EffectSpite: @ 81D7B99
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
tryspiteppreduce BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_ReducedBy
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectHealBell: @ 81D7BB5
attackcanceler
attackstring
ppreduce
healpartystatus
waitstate
attackanimation
waitanimation
printfromtable gPartyStatusHealStringIds
waitmessage 64
jumpifnotmove MOVE_HEAL_BELL, BattleScript_PartyHealEnd
jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 1, BattleScript_CheckHealBellMon2Unaffected
printstring BATTLE_TEXT_BlocksOther
waitmessage 64
BattleScript_CheckHealBellMon2Unaffected: @ 81D7BE1
jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 2, BattleScript_PartyHealEnd
printstring BATTLE_TEXT_BlocksOther2
waitmessage 64
BattleScript_PartyHealEnd: @ 81D7BF2
updatestatusicon ATTACKER_WITH_PARTNER
waitstate
goto BattleScript_MoveEnd
BattleScript_EffectTripleKick: @ 81D7BFA
attackcanceler
attackstring
ppreduce
sethword sTRIPLE_KICK_POWER, 0
initmultihitstring
setmultihit 3
BattleScript_TripleKickLoop: @ 81D7C0C
jumpifhasnohp USER, BattleScript_TripleKickEnd
jumpifhasnohp TARGET, BattleScript_TripleKickNoMoreHits
jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoTripleKickAttack
jumpifstatus USER, SLP, BattleScript_TripleKickNoMoreHits
BattleScript_DoTripleKickAttack: @ 81D7C2E
movevaluescleanup
accuracycheck BattleScript_TripleKickNoMoreHits, ACC_CURR_MOVE
addbyte sTRIPLE_KICK_POWER, 10
addbyte sMULTIHIT_STRING + 4, 1
copyhword gDynamicBasePower, sTRIPLE_KICK_POWER
critcalc
damagecalc
typecalc
adjustnormaldamage
jumpifmovehadnoeffect BattleScript_TripleKickNoMoreHits
attackanimation
waitanimation
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
printstring BATTLE_TEXT_Terminator2
waitmessage 1
setbyte sMOVEEND_STATE, 0
moveend 2, 16
jumpifbyte COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings
decrementmultihit BattleScript_TripleKickLoop
goto BattleScript_TripleKickPrintStrings
BattleScript_TripleKickNoMoreHits: @ 81D7C8D
pause 32
BattleScript_TripleKickPrintStrings: @ 81D7C90
resultmessage
waitmessage 64
jumpifbyte EQUAL, sMULTIHIT_STRING + 4, 0, BattleScript_TripleKickEnd
copyarray gBattleTextBuff1,sMULTIHIT_STRING, 6
printstring BATTLE_TEXT_HitMulti
waitmessage 64
BattleScript_TripleKickEnd: @ 81D7CAF
seteffectwithchance
tryfaintmon TARGET, FALSE, NULL
setbyte sMOVEEND_STATE, 14
moveend 0, 0
end
BattleScript_EffectThief: @ 81D7CC1
setmoveeffect EFFECT_STEAL_ITEM
goto BattleScript_EffectHit
BattleScript_EffectMeanLook: @ 81D7CCC
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC
jumpifstatus2 TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed
attackanimation
waitanimation
setmoveeffect EFFECT_PREVENT_ESCAPE
seteffectprimary
printstring BATTLE_TEXT_CantEscapeNow
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectNightmare: @ 81D7CF4
attackcanceler
attackstring
ppreduce
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
jumpifstatus2 TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed
jumpifstatus TARGET, SLP, BattleScript_NightmareWorked
goto BattleScript_ButItFailed
BattleScript_NightmareWorked: @ 81D7D1A
attackanimation
waitanimation
setmoveeffect EFFECT_NIGHTMARE
seteffectprimary
printstring BATTLE_TEXT_NightmareStart
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectMinimize: @ 81D7D2E
attackcanceler
setminimize
setstatchanger EVASION, 1, FALSE
goto BattleScript_EffectStatUpAfterAtkCanceler
BattleScript_EffectCurse: @ 81D7D3B
jumpiftype2 USER, TYPE_GHOST, BattleScript_GhostCurse
attackcanceler
attackstring
ppreduce
jumpifstat USER, GREATER_THAN, SPEED, 0, BattleScript_CurseTrySpeed
jumpifstat USER, NOT_EQUAL, ATTACK, 12, BattleScript_CurseTrySpeed
jumpifstat USER, EQUAL, DEFENSE, 12, BattleScript_ButItFailed
BattleScript_CurseTrySpeed: @ 81D7D60
copybyte gBattlerTarget, gBattlerAttacker
setbyte sANIM_TURN, 1
attackanimation
waitanimation
setstatchanger SPEED, 1, TRUE
statbuffchange AFFECTS_USER | 0x1, BattleScript_CurseTryAttack
printfromtable gStatDownStringIds
waitmessage 64
BattleScript_CurseTryAttack: @ 81D7D86
setstatchanger ATTACK, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_CurseTryDefence
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_CurseTryDefence: @ 81D7D9A
setstatchanger DEFENSE, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_CurseEnd
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_CurseEnd: @ 81D7DAE
goto BattleScript_MoveEnd
BattleScript_GhostCurse: @ 81D7DB3
jumpifbytenotequal gBattlerAttacker, gBattlerTarget, BattleScript_DoGhostCurse
getmovetarget USER
BattleScript_DoGhostCurse: @ 81D7DC4
attackcanceler
attackstring
ppreduce
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
cursetarget BattleScript_ButItFailed
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
setbyte sANIM_TURN, 0
attackanimation
waitanimation
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_CurseLay
waitmessage 64
tryfaintmon USER, FALSE, NULL
goto BattleScript_MoveEnd
BattleScript_EffectEndure: @ 81D7DFD
BattleScript_EffectProtect: @ 81D7DFD
attackcanceler
attackstring
ppreduce
setprotectlike
attackanimation
waitanimation
printfromtable gProtectLikeUsedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSpikes: @ 81D7E10
attackcanceler
trysetspikes BattleScript_ButItFailedAtkStringPpReduce
attackstring
ppreduce
attackanimation
waitanimation
printstring BATTLE_TEXT_SpikesScattered
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectForesight: @ 81D7E25
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
setforesight
attackanimation
waitanimation
printstring BATTLE_TEXT_IdentifiedPoke
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectPerishSong: @ 81D7E3D
attackcanceler
attackstring
ppreduce
trysetperishsong BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_PerishSong
waitmessage 64
setbyte sBANK, 0
BattleScript_PerishSongLoop: @ 81D7E53
jumpifability SCRIPTING_BANK, ABILITY_SOUNDPROOF, BattleScript_1D7E73
BattleScript_PerishSongLoopIncrement: @ 81D7E5A
addbyte sBANK, 1
jumpifbytenotequal sBANK, gBattlersCount, BattleScript_PerishSongLoop
goto BattleScript_MoveEnd
BattleScript_1D7E73: @ 81D7E73
printstring BATTLE_TEXT_BlocksOther2
waitmessage 64
goto BattleScript_PerishSongLoopIncrement
BattleScript_EffectSandstorm: @ 81D7E7E
attackcanceler
attackstring
ppreduce
setsandstorm
goto BattleScript_MoveWeatherChange
BattleScript_EffectRollout: @ 81D7E87
attackcanceler
attackstring
jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_RolloutCheckAccuracy
ppreduce
BattleScript_RolloutCheckAccuracy: @ 81D7E94
accuracycheck BattleScript_RolloutHit, ACC_CURR_MOVE
BattleScript_RolloutHit: @ 81D7E9B
typecalc2
rolloutdamagecalculation
goto BattleScript_HitFromCritCalc
BattleScript_EffectSwagger: @ 81D7EA2
attackcanceler
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
jumpifconfusedandstatmaxed 1, BattleScript_ButItFailed
attackanimation
waitanimation
setstatchanger ATTACK, 2, FALSE
statbuffchange 1, BattleScript_SwaggerTryConfuse
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_SwaggerTryConfuse
setgraphicalstatchangevalues
playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_SwaggerTryConfuse: @ 81D7EE5
jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
setmoveeffect EFFECT_CONFUSION
seteffectprimary
goto BattleScript_MoveEnd
BattleScript_EffectFuryCutter: @ 81D7F00
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_FuryCutterHit, ACC_CURR_MOVE
BattleScript_FuryCutterHit: @ 81D7F0A
furycuttercalc
critcalc
damagecalc
typecalc
jumpifmovehadnoeffect BattleScript_FuryCutterHit
adjustnormaldamage
goto BattleScript_HitFromAtkAnimation
BattleScript_EffectAttract: @ 81D7F1F
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
tryinfatuating BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_FellLove
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectFrustration: @ 81D7F3B
BattleScript_EffectReturn: @ 81D7F3B
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
happinesstodamagecalculation
goto BattleScript_HitFromAtkString
BattleScript_EffectPresent: @ 81D7F49
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
presentdamagecalculation
BattleScript_EffectSafeguard: @ 81D7F55
attackcanceler
attackstring
ppreduce
setsafeguard
goto BattleScript_PrintReflectLightScreenSafeguardString
BattleScript_EffectThawHit: @ 81D7F5E
setmoveeffect EFFECT_BURN
goto BattleScript_EffectHit
BattleScript_EffectMagnitude: @ 81D7F69
attackcanceler
attackstring
ppreduce
selectfirstvalidtarget
magnitudedamagecalculation
pause 32
printstring BATTLE_TEXT_MagnitudeCount
waitmessage 64
goto BattleScript_HitsAllWithUndergroundBonusLoop
BattleScript_EffectBatonPass: @ 81D7F7C
attackcanceler
attackstring
ppreduce
jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | USER, BattleScript_ButItFailed
attackanimation
waitanimation
openpartyscreen USER, BattleScript_ButItFailed
switchoutabilities USER
waitstate
switchhandleorder USER, 2
returntoball USER
getswitchedmondata USER
switchindataupdate USER
hpthresholds USER
printstring 3
switchinanim USER, 1
waitstate
switchineffects USER
goto BattleScript_MoveEnd
BattleScript_EffectRapidSpin: @ 81D7FA9
setmoveeffect EFFECT_RAPIDSPIN | CERTAIN
goto BattleScript_EffectHit
BattleScript_EffectSonicboom: @ 81D7FB4
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
setword gBattleMoveDamage, 20
adjustsetdamage
goto BattleScript_HitFromAtkAnimation
BattleScript_EffectMoonlight: @ 81D7FE3
BattleScript_EffectMorningSun: @ 81D7FE3
BattleScript_EffectSynthesis: @ 81D7FE3
attackcanceler
attackstring
ppreduce
recoverbasedonsunlight BattleScript_AlreadyAtFullHp
goto BattleScript_PresentHealTarget
BattleScript_EffectHiddenPower: @ 81D7FF0
hiddenpowercalc
goto BattleScript_EffectHit
BattleScript_EffectRainDance: @ 81D7FF6
attackcanceler
attackstring
ppreduce
setrain
BattleScript_MoveWeatherChange: @ 81D7FFA
attackanimation
waitanimation
printfromtable gMoveWeatherChangeStringIds
waitmessage 64
call BattleScript_WeatherFormChanges
goto BattleScript_MoveEnd
BattleScript_EffectSunnyDay: @ 81D800E
attackcanceler
attackstring
ppreduce
setsunny
goto BattleScript_MoveWeatherChange
BattleScript_EffectDefenseUpHit: @ 81D8017
setbyte cEFFECT_CHOOSER, 80
goto BattleScript_EffectHit
BattleScript_EffectAttackUpHit: @ 81D8022
setbyte cEFFECT_CHOOSER, 79
goto BattleScript_EffectHit
BattleScript_EffectAllStatsUpHit: @ 81D802D
setbyte cEFFECT_CHOOSER, 98
goto BattleScript_EffectHit
BattleScript_EffectBellyDrum: @ 81D8038
attackcanceler
attackstring
ppreduce
maxattackhalvehp BattleScript_ButItFailed
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
attackanimation
waitanimation
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_CutHPMaxATK
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectPsychUp: @ 81D805A
attackcanceler
attackstring
ppreduce
copyfoestats BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_CopyStatChanges
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectMirrorCoat: @ 81D806F
attackcanceler
mirrorcoatdamagecalculator BattleScript_ButItFailedAtkStringPpReduce
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc2
adjustsetdamage
goto BattleScript_HitFromAtkAnimation
BattleScript_EffectSkullBash: @ 81D8085
jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 2
call BattleScriptFirstChargingTurn
setstatchanger DEFENSE, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_SkullBashEnd
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_SkullBashEnd
setgraphicalstatchangevalues
playanimation USER, B_ANIM_STATS_CHANGE, sANIM_ARG1
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_SkullBashEnd: @ 81D80CF
goto BattleScript_MoveEnd
BattleScript_EffectTwister: @ 81D80D4
jumpifnostatus3 TARGET, STATUS3_ON_AIR, BattleScript_FlinchEffect
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
setbyte sDMG_MULTIPLIER, 2
BattleScript_FlinchEffect: @ 81D80EE
setmoveeffect EFFECT_FLINCH
goto BattleScript_EffectHit
BattleScript_EffectEarthquake: @ 81D80F9
attackcanceler
attackstring
ppreduce
selectfirstvalidtarget
BattleScript_HitsAllWithUndergroundBonusLoop: @ 81D80FD
movevaluescleanup
jumpifnostatus3 TARGET, STATUS3_UNDERGROUND, BattleScript_HitsAllNoUndergroundBonus
orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
setbyte sDMG_MULTIPLIER, 2
goto BattleScript_DoHitAllWithUndergroundBonus
BattleScript_HitsAllNoUndergroundBonus: @ 81D811D
bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
setbyte sDMG_MULTIPLIER, 1
BattleScript_DoHitAllWithUndergroundBonus: @ 81D812C
accuracycheck BattleScript_HitAllWithUndergroundBonusMissed, ACC_CURR_MOVE
critcalc
damagecalc
typecalc
adjustnormaldamage
attackanimation
waitanimation
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
resultmessage
waitmessage 64
printstring BATTLE_TEXT_Terminator2
waitmessage 1
tryfaintmon TARGET, FALSE, NULL
setbyte sMOVEEND_STATE, 0
moveend 2, 16
jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
BattleScript_HitAllWithUndergroundBonusMissed: @ 81D8165
pause 32
typecalc
effectivenesssound
resultmessage
waitmessage 64
setbyte sMOVEEND_STATE, 0
moveend 2, 16
jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
BattleScript_EffectFutureSight: @ 81D817D
attackcanceler
attackstring
ppreduce
trysetfutureattack BattleScript_ButItFailed
attackanimation
waitanimation
printfromtable gFutureMoveUsedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectGust: @ 81D8194
jumpifnostatus3 TARGET, STATUS3_ON_AIR, BattleScript_EffectHit
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
setbyte sDMG_MULTIPLIER, 2
goto BattleScript_EffectHit
BattleScript_EffectStomp: @ 81D81B3
jumpifnostatus3 TARGET, STATUS3_MINIMIZED, BattleScript_FlinchEffect
setbyte sDMG_MULTIPLIER, 2
goto BattleScript_FlinchEffect
BattleScript_EffectSolarbeam: @ 81D81C9
jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_SolarbeamDecideTurn
jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_SolarbeamDecideTurn
jumpifhalfword COMMON_BITS, gBattleWeather, 96, BattleScript_SolarbeamOnFirstTurn
BattleScript_SolarbeamDecideTurn: @ 81D81E1
jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 1
call BattleScriptFirstChargingTurn
goto BattleScript_MoveEnd
BattleScript_SolarbeamOnFirstTurn: @ 81D8209
orword gHitMarker, HITMARKER_CHARGING
setbyte cEFFECT_CHOOSER, 76
seteffectprimary
ppreduce
goto BattleScript_TwoTurnMovesSecondTurn
BattleScript_EffectThunder: @ 81D821F
setmoveeffect EFFECT_PARALYSIS
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
goto BattleScript_EffectHit
BattleScript_EffectTeleport: @ 81D8233
attackcanceler
attackstring
ppreduce
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
getifcantrunfrombattle USER
jumpifbyte EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed
jumpifbyte EQUAL, gBattleCommunication, 2, BattleScript_PrintAbilityMadeIneffective
attackanimation
waitanimation
printstring BATTLE_TEXT_FledBattle
waitmessage 64
setbyte gBattleOutcome, 5
goto BattleScript_MoveEnd
BattleScript_EffectBeatUp: @ 81D826E
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
pause 32
ppreduce
setbyte gBattleCommunication, 0
BattleScript_BeatUpLoop: @ 81D8281
movevaluescleanup
trydobeatup BattleScript_BeatUpEnd, BattleScript_ButItFailed
printstring BATTLE_TEXT_PokeAttack
critcalc
jumpifbyte NOT_EQUAL, gCritMultiplier, 2, BattleScript_BeatUpAttack
manipulatedamage 2
BattleScript_BeatUpAttack: @ 81D829C
adjustnormaldamage
attackanimation
waitanimation
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
resultmessage
waitmessage 64
tryfaintmon TARGET, FALSE, NULL
setbyte sMOVEEND_STATE, 0
moveend 2, 16
goto BattleScript_BeatUpLoop
BattleScript_BeatUpEnd: @ 81D82C4
end
BattleScript_EffectSemiInvulnerable: @ 81D82C5
jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_SecondTurnSemiInvulnerable
jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_SecondTurnSemiInvulnerable
jumpifmove MOVE_FLY, BattleScript_FirstTurnFly
jumpifmove MOVE_DIVE, BattleScript_FirstTurnDive
jumpifmove MOVE_BOUNCE, BattleScript_FirstTurnBounce
setbyte sTWOTURN_STRINGID, 5
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnBounce: @ 81D830C
setbyte sTWOTURN_STRINGID, 7
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnDive: @ 81D8317
setbyte sTWOTURN_STRINGID, 6
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnFly: @ 81D8322
setbyte sTWOTURN_STRINGID, 4
BattleScript_FirstTurnSemiInvulnerable: @ 81D8328
call BattleScriptFirstChargingTurn
setsemiinvulnerablebit
goto BattleScript_MoveEnd
BattleScript_SecondTurnSemiInvulnerable: @ 81D8333
attackcanceler
setmoveeffect EFFECT_CHARGING
setbyte sANIM_TURN, 1
clearstatusfromeffect USER
orword gHitMarker, HITMARKER_NO_PPDEDUCT
jumpifnotmove MOVE_BOUNCE, BattleScript_SemiInvulnerableTryHit
setmoveeffect EFFECT_PARALYSIS
BattleScript_SemiInvulnerableTryHit: @ 81D835D
accuracycheck BattleScript_SemiInvulnerableMiss, ACC_CURR_MOVE
clearsemiinvulnerablebit
goto BattleScript_HitFromAtkString
BattleScript_SemiInvulnerableMiss: @ 81D836A
clearsemiinvulnerablebit
goto BattleScript_PrintMoveMissed
BattleScript_EffectDefenseCurl: @ 81D8370
attackcanceler
attackstring
ppreduce
setdefensecurlbit
setstatchanger DEFENSE, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_DefenseCurlDoStatUpAnim
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_StatUpPrintString
attackanimation
waitanimation
BattleScript_DefenseCurlDoStatUpAnim: @ 81D838D
goto BattleScript_StatUpDoAnim
BattleScript_EffectSoftboiled: @ 81D8392
attackcanceler
attackstring
ppreduce
tryhealhalfhealth BattleScript_AlreadyAtFullHp, 0
BattleScript_PresentHealTarget:: @ 81D839B
attackanimation
waitanimation
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate TARGET
datahpupdate TARGET
printstring BATTLE_TEXT_RegainedHealth
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_AlreadyAtFullHp:: @ 81D83B5
pause 32
printstring BATTLE_TEXT_HPFull
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectFakeOut: @ 81D83C3
attackcanceler
jumpifnotfirstturn BattleScript_ButItFailedAtkStringPpReduce
setbyte cEFFECT_CHOOSER, 136
goto BattleScript_EffectHit
BattleScript_ButItFailedAtkStringPpReduce: @ 81D83D4
attackstring
BattleScript_ButItFailedPpReduce: @ 81D83D5
ppreduce
BattleScript_ButItFailed:: @ 81D83D6
pause 32
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
resultmessage
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_NotAffected: @ 81D83E8
pause 32
orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE
resultmessage
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectUproar: @ 81D83FA
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
setbyte cEFFECT_CHOOSER, 74
attackstring
jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_UproarHit
ppreduce
BattleScript_UproarHit: @ 81D8414
nop
goto BattleScript_HitFromCritCalc
BattleScript_EffectStockpile: @ 81D841A
attackcanceler
attackstring
ppreduce
stockpile
attackanimation
waitanimation
printfromtable gStockpileUsedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSpitUp: @ 81D842D
attackcanceler
jumpifbyte EQUAL, gUnknown_02024D1F + 0x5, 1, BattleScript_SpitUpFail
attackstring
ppreduce
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
stockpiletobasedamage BattleScript_1D844E
typecalc
adjustsetdamage
goto BattleScript_HitFromAtkAnimation
BattleScript_1D844E: @ 81D844E
pause 32
printstring BATTLE_TEXT_SpitUpFail
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_SpitUpFail: @ 81D845C
attackstring
ppreduce
pause 64
stockpiletobasedamage BattleScript_1D844E
resultmessage
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSwallow: @ 81D846F
attackcanceler
attackstring
ppreduce
stockpiletohpheal BattleScript_SwallowFail
goto BattleScript_PresentHealTarget
BattleScript_SwallowFail: @ 81D847C
pause 32
printfromtable gSwallowFailStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectHail: @ 81D848C
attackcanceler
attackstring
ppreduce
sethail
goto BattleScript_MoveWeatherChange
BattleScript_EffectTorment: @ 81D8495
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
settorment BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_TormentSubject
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectFlatter: @ 81D84B1
attackcanceler
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
jumpifconfusedandstatmaxed 4, BattleScript_ButItFailed
attackanimation
waitanimation
setstatchanger SP_ATTACK, 1, FALSE
statbuffchange 1, BattleScript_FlatterTryConfuse
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_FlatterTryConfuse
setgraphicalstatchangevalues
playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_FlatterTryConfuse: @ 81D84F4
jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
setmoveeffect EFFECT_CONFUSION
seteffectprimary
goto BattleScript_MoveEnd
BattleScript_EffectWillOWisp: @ 81D850F
attackcanceler
attackstring
ppreduce
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
jumpifstatus TARGET, BRN, BattleScript_AlreadyBurned
jumpiftype TARGET, TYPE_FIRE, BattleScript_NotAffected
jumpifability TARGET, ABILITY_WATER_VEIL, BattleScript_WaterVeilPrevents
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
setmoveeffect EFFECT_BURN
seteffectprimary
goto BattleScript_MoveEnd
BattleScript_WaterVeilPrevents: @ 81D855B
copybyte gEffectBattler, gBattlerTarget
setbyte cMULTISTRING_CHOOSER, 0
call BattleScript_BRNPrevention
goto BattleScript_MoveEnd
BattleScript_AlreadyBurned: @ 81D8575
pause 32
printstring BATTLE_TEXT_AlreadyBurned
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectMemento: @ 81D8583
attackcanceler
jumpifbyte EQUAL, gUnknown_02024D1F + 0x5, 1, BattleScript_1D860A
attackstring
ppreduce
jumpifattackandspecialattackcannotfall BattleScript_ButItFailed
setatkhptozero
attackanimation
waitanimation
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_1D85FF
setbyte sFIELD_1B, 0
playstatchangeanimation TARGET, 18, 7
playstatchangeanimation TARGET, 2, 3
setstatchanger ATTACK, 2, TRUE
statbuffchange 1, BattleScript_1D85D0
jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_1D85D0
printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D85D0: @ 81D85D0
playstatchangeanimation TARGET, 16, 3
setstatchanger SP_ATTACK, 2, TRUE
statbuffchange 1, BattleScript_1D85F3
jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_1D85F3
printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D85F3: @ 81D85F3
tryfaintmon USER, FALSE, NULL
goto BattleScript_MoveEnd
BattleScript_1D85FF: @ 81D85FF
printstring BATTLE_TEXT_NoEffect
waitmessage 64
goto BattleScript_1D85F3
BattleScript_1D860A: @ 81D860A
attackstring
ppreduce
jumpifattackandspecialattackcannotfall BattleScript_1D8611
BattleScript_1D8611: @ 81D8611
setatkhptozero
pause 64
effectivenesssound
resultmessage
waitmessage 64
tryfaintmon USER, FALSE, NULL
goto BattleScript_MoveEnd
BattleScript_EffectFacade: @ 81D8626
jumpifstatus USER, PSN | BRN | PAR | TOX, BattleScript_FacadeDoubleDmg
goto BattleScript_EffectHit
BattleScript_FacadeDoubleDmg: @ 81D8635
setbyte sDMG_MULTIPLIER, 2
goto BattleScript_EffectHit
BattleScript_EffectFocusPunch: @ 81D8640
attackcanceler
jumpifnodamage BattleScript_HitFromAccCheck
ppreduce
printstring BATTLE_TEXT_LostFocus
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSmellingsalt: @ 81D8652
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit
setmoveeffect EFFECT_REMOVE_PARALYSIS | CERTAIN
jumpifstatus TARGET, PAR, BattleScript_SmellingsaltDoubleDmg
goto BattleScript_EffectHit
BattleScript_SmellingsaltDoubleDmg: @ 81D8671
setbyte sDMG_MULTIPLIER, 2
goto BattleScript_EffectHit
BattleScript_EffectFollowMe: @ 81D867C
attackcanceler
attackstring
ppreduce
setforcedtarget
attackanimation
waitanimation
printstring BATTLE_TEXT_CenterAttention
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectNaturePower: @ 81D868D
attackcanceler
attackstring
pause 32
callterrainattack
printstring BATTLE_TEXT_NaturePower
waitmessage 64
return
BattleScript_EffectCharge: @ 81D869A
attackcanceler
attackstring
ppreduce
setcharge
attackanimation
waitanimation
printstring BATTLE_TEXT_ChargingPower
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectTaunt: @ 81D86AB
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
settaunt BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_TauntFell
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectHelpingHand: @ 81D86C7
attackcanceler
attackstring
ppreduce
trysethelpinghand BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_ReadyToHelp
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectTrick: @ 81D86DC
attackcanceler
attackstring
ppreduce
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
tryswapitems BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_SwitchedItems
waitmessage 64
printfromtable gItemSwapStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectRolePlay: @ 81D870A
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
trycopyability BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_CopiedObject
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectWish: @ 81D8726
attackcanceler
attackstring
ppreduce
trywish 0, BattleScript_ButItFailed
attackanimation
waitanimation
goto BattleScript_MoveEnd
BattleScript_EffectAssist: @ 81D8736
attackcanceler
attackstring
assistattackselect BattleScript_ButItFailedPpReduce
attackanimation
waitanimation
setbyte sANIM_TURN, 0
setbyte sANIM_TARGETS_HIT, 0
jumptorandomattack USER
BattleScript_EffectIngrain: @ 81D874D
attackcanceler
attackstring
ppreduce
trysetroots BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_PlantedRoots
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSuperpower: @ 81D8762
setmoveeffect EFFECT_ATK_DEF_DOWN | AFFECTS_USER | CERTAIN
goto BattleScript_EffectHit
BattleScript_EffectMagicCoat: @ 81D876D
attackcanceler
trysetmagiccoat BattleScript_ButItFailedAtkStringPpReduce
attackstring
ppreduce
attackanimation
waitanimation
printstring BATTLE_TEXT_ShroudedItself
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectRecycle: @ 81D8782
attackcanceler
attackstring
ppreduce
tryrecycleitem BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_FoundOne
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectRevenge: @ 81D8797
doubledamagedealtifdamaged
goto BattleScript_EffectHit
BattleScript_EffectBrickBreak: @ 81D879D
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
removelightscreenreflect
critcalc
damagecalc
typecalc
adjustnormaldamage
jumpifbyte EQUAL, sANIM_TURN, 0, BattleScript_BrickBreakAnim
bicbyte gMoveResultFlags, 9
BattleScript_BrickBreakAnim: @ 81D87BD
attackanimation
waitanimation
jumpifbyte LESS_THAN, sANIM_TURN, 2, BattleScript_BrickBreakDoHit
printstring BATTLE_TEXT_BrokeWall
waitmessage 64
BattleScript_BrickBreakDoHit: @ 81D87D0
typecalc2
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
resultmessage
waitmessage 64
seteffectwithchance
tryfaintmon TARGET, FALSE, NULL
goto BattleScript_MoveEnd
BattleScript_EffectYawn: @ 81D87EE
attackcanceler
attackstring
ppreduce
jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_PrintBankAbilityMadeIneffective
jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_PrintBankAbilityMadeIneffective
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
jumpifcantmakeasleep BattleScript_ButItFailed
setyawn BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_DrowsyMade
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_PrintBankAbilityMadeIneffective: @ 81D882F
copybyte sBANK, sBANK_WITH_ABILITY
BattleScript_PrintAbilityMadeIneffective: @ 81D8839
pause 32
printstring BATTLE_TEXT_MadeIneffective2
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectKnockOff: @ 81D8847
setmoveeffect EFFECT_KNOCK_OFF
goto BattleScript_EffectHit
BattleScript_EffectEndeavor: @ 81D8852
attackcanceler
attackstring
ppreduce
setdamagetohealthdifference BattleScript_ButItFailed
copyword gHpDealt, gBattleMoveDamage
accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
typecalc
jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
copyword gBattleMoveDamage, gHpDealt
adjustsetdamage
goto BattleScript_HitFromAtkAnimation
BattleScript_EffectEruption: @ 81D888D
scaledamagebyhealthratio
goto BattleScript_EffectHit
BattleScript_EffectSkillSwap: @ 81D8893
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
tryswapabilities BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_AbilitySwap
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectImprison: @ 81D88AF
attackcanceler
attackstring
ppreduce
tryimprision BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_SealedMove
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectRefresh: @ 81D88C4
attackcanceler
attackstring
ppreduce
cureifburnedparalysedorpoisoned BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_StatusNormal
waitmessage 64
updatestatusicon USER
goto BattleScript_MoveEnd
BattleScript_EffectGrudge: @ 81D88DB
attackcanceler
attackstring
ppreduce
trysetgrudge BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_GrudgeBear
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectSnatch: @ 81D88F0
attackcanceler
trysetsnatch BattleScript_ButItFailedAtkStringPpReduce
attackstring
ppreduce
attackanimation
waitanimation
pause 32
printstring BATTLE_TEXT_AwaitMove
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectLowKick: @ 81D8908
attackcanceler
attackstring
ppreduce
weightdamagecalculation
accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
goto BattleScript_HitFromCritCalc
BattleScript_EffectSecretPower: @ 81D8918
getsecretpowereffect
goto BattleScript_EffectHit
BattleScript_EffectDoubleEdge: @ 81D891E
setmoveeffect EFFECT_RECOIL_33_PARALYSIS | AFFECTS_USER | CERTAIN
goto BattleScript_EffectHit
BattleScript_EffectTeeterDance: @ 81D8929
attackcanceler
attackstring
ppreduce
setbyte gBattlerTarget, 0
BattleScript_TeeterDanceLoop: @ 81D8932
movevaluescleanup
setmoveeffect EFFECT_CONFUSION
jumpifbyteequal gBattlerAttacker, gBattlerTarget, BattleScript_TeeterDanceDoMoveEndIncrement
jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_TeeterDanceLoopIncrement
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_TeeterDanceSubstitutePrevents
jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_TeeterDanceAlreadyConfused
accuracycheck BattleScript_TeeterDanceMissed, ACC_CURR_MOVE
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_TeeterDanceSafeguardProtected
attackanimation
waitanimation
seteffectprimary
resultmessage
waitmessage 64
BattleScript_TeeterDanceDoMoveEndIncrement: @ 81D8978
setbyte sMOVEEND_STATE, 0
moveend 2, 16
addbyte gBattlerTarget, 1
jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TeeterDanceLoop
end
BattleScript_TeeterDanceLoopIncrement: @ 81D8996
pause 32
printstring BATTLE_TEXT_PreventedConfusion
waitmessage 64
goto BattleScript_TeeterDanceDoMoveEndIncrement
BattleScript_TeeterDanceSafeguardProtected: @ 81D89A4
pause 32
printstring BATTLE_TEXT_SafeguardActive
waitmessage 64
goto BattleScript_TeeterDanceDoMoveEndIncrement
BattleScript_TeeterDanceSubstitutePrevents: @ 81D89B2
pause 32
printstring BATTLE_TEXT_Failed
waitmessage 64
goto BattleScript_TeeterDanceDoMoveEndIncrement
BattleScript_TeeterDanceAlreadyConfused: @ 81D89C0
pause 32
printstring BATTLE_TEXT_AlreadyConfused
waitmessage 64
goto BattleScript_TeeterDanceDoMoveEndIncrement
BattleScript_TeeterDanceMissed: @ 81D89CE
resultmessage
waitmessage 64
goto BattleScript_TeeterDanceDoMoveEndIncrement
BattleScript_EffectMudSport: @ 81D89D7
BattleScript_EffectWaterSport: @ 81D89D7
attackcanceler
attackstring
ppreduce
settypebasedhalvers BattleScript_ButItFailed
attackanimation
waitanimation
printfromtable gSportsUsedStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectPoisonFang: @ 81D89EE
setmoveeffect EFFECT_TOXIC
goto BattleScript_EffectHit
BattleScript_EffectWeatherBall: @ 81D89F9
setweatherballtype
goto BattleScript_EffectHit
BattleScript_EffectOverheat: @ 81D89FF
setmoveeffect EFFECT_SP_ATK_TWO_DOWN | AFFECTS_USER | CERTAIN
goto BattleScript_EffectHit
BattleScript_EffectTickle: @ 81D8A0A
attackcanceler
attackstring
ppreduce
jumpifstat TARGET, GREATER_THAN, ATTACK, 0, BattleScript_TickleDoMoveAnim
jumpifstat TARGET, EQUAL, DEFENSE, 0, BattleScript_CantLowerMultipleStats
BattleScript_TickleDoMoveAnim: @ 81D8A1F
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
attackanimation
waitanimation
setbyte sFIELD_1B, 0
playstatchangeanimation TARGET, 6, 5
playstatchangeanimation TARGET, 2, 1
setstatchanger ATTACK, 1, TRUE
statbuffchange 1, BattleScript_TickleTryLowerDef
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_TickleTryLowerDef
printfromtable gStatDownStringIds
waitmessage 64
BattleScript_TickleTryLowerDef: @ 81D8A55
playstatchangeanimation TARGET, 4, 1
setstatchanger DEFENSE, 1, TRUE
statbuffchange 1, BattleScript_TickleEnd
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_TickleEnd
printfromtable gStatDownStringIds
waitmessage 64
BattleScript_TickleEnd: @ 81D8A78
goto BattleScript_MoveEnd
BattleScript_CantLowerMultipleStats: @ 81D8A7D
pause 32
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
printstring BATTLE_TEXT_StatNoLower
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectCosmicPower: @ 81D8A91
attackcanceler
attackstring
ppreduce
jumpifstat USER, LESS_THAN, DEFENSE, 12, BattleScript_CosmicPowerDoMoveAnim
jumpifstat USER, EQUAL, SP_DEFENSE, 12, BattleScript_CantRaiseMultipleStats
BattleScript_CosmicPowerDoMoveAnim: @ 81D8AA6
attackanimation
waitanimation
setbyte sFIELD_1B, 0
playstatchangeanimation USER, 36, 0
setstatchanger DEFENSE, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_CosmicPowerTrySpDef
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CosmicPowerTrySpDef
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_CosmicPowerTrySpDef: @ 81D8AD1
setstatchanger SP_DEFENSE, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_CosmicPowerEnd
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CosmicPowerEnd
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_CosmicPowerEnd: @ 81D8AF0
goto BattleScript_MoveEnd
BattleScript_EffectSkyUppercut: @ 81D8AF5
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
goto BattleScript_EffectHit
BattleScript_EffectBulkUp: @ 81D8B03
attackcanceler
attackstring
ppreduce
jumpifstat USER, LESS_THAN, ATTACK, 12, BattleScript_BulkUpDoMoveAnim
jumpifstat USER, EQUAL, DEFENSE, 12, BattleScript_CantRaiseMultipleStats
BattleScript_BulkUpDoMoveAnim: @ 81D8B18
attackanimation
waitanimation
setbyte sFIELD_1B, 0
playstatchangeanimation USER, 6, 0
setstatchanger ATTACK, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_BulkUpTryDef
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_BulkUpTryDef
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_BulkUpTryDef: @ 81D8B43
setstatchanger DEFENSE, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_BulkUpEnd
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_BulkUpEnd
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_BulkUpEnd: @ 81D8B62
goto BattleScript_MoveEnd
BattleScript_EffectCalmMind: @ 81D8B67
attackcanceler
attackstring
ppreduce
jumpifstat USER, LESS_THAN, SP_ATTACK, 12, BattleScript_CalmMindDoMoveAnim
jumpifstat USER, EQUAL, SP_DEFENSE, 12, BattleScript_CantRaiseMultipleStats
BattleScript_CalmMindDoMoveAnim: @ 81D8B7C
attackanimation
waitanimation
setbyte sFIELD_1B, 0
playstatchangeanimation USER, 48, 0
setstatchanger SP_ATTACK, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_CalmMindTrySpDef
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CalmMindTrySpDef
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_CalmMindTrySpDef: @ 81D8BA7
setstatchanger SP_DEFENSE, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_CalmMindEnd
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CalmMindEnd
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_CalmMindEnd: @ 81D8BC6
goto BattleScript_MoveEnd
BattleScript_CantRaiseMultipleStats: @ 81D8BCB
pause 32
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
printstring BATTLE_TEXT_StatNoHigher
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_EffectDragonDance: @ 81D8BDF
attackcanceler
attackstring
ppreduce
jumpifstat USER, LESS_THAN, ATTACK, 12, BattleScript_DragonDanceDoMoveAnim
jumpifstat USER, EQUAL, SPEED, 12, BattleScript_CantRaiseMultipleStats
BattleScript_DragonDanceDoMoveAnim: @ 81D8BF4
attackanimation
waitanimation
setbyte sFIELD_1B, 0
playstatchangeanimation USER, 10, 0
setstatchanger ATTACK, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_DragonDanceTrySpeed
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_DragonDanceTrySpeed
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_DragonDanceTrySpeed: @ 81D8C1F
setstatchanger SPEED, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_DragonDanceEnd
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_DragonDanceEnd
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_DragonDanceEnd: @ 81D8C3E
goto BattleScript_MoveEnd
BattleScript_EffectCamouflage: @ 81D8C43
attackcanceler
attackstring
ppreduce
settypetoterrain BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_TypeTransform
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_FaintAttacker:: @ 81D8C58
playfaintcry USER
pause 64
dofaintanimation USER
cleareffectsonfaint USER
printstring BATTLE_TEXT_AttackingFainted
return
BattleScript_FaintTarget:: @ 81D8C65
playfaintcry TARGET
pause 64
dofaintanimation TARGET
cleareffectsonfaint TARGET
printstring BATTLE_TEXT_DefendingFainted
return
BattleScript_GiveExp:: @ 81D8C72
setbyte sGIVEEXP_STATE, 0
getexp TARGET
end2
BattleScript_HandleFaintedMon:: @ 81D8C7B
atk24 BattleScript_1D8D87
jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonTryChooseAnother
jumpifword NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonTryChooseAnother
printstring BATTLE_TEXT_UseNext
setbyte gBattleCommunication, 0
yesnobox
jumpifbyte EQUAL, gUnknown_02024D1F, 0, BattleScript_FaintedMonTryChooseAnother
jumpifplayerran BattleScript_FaintedMonEnd
printstring BATTLE_TEXT_CantEscape
BattleScript_FaintedMonTryChooseAnother: @ 81D8CC2
openpartyscreen 3, BattleScript_FaintedMonEnd
switchhandleorder 3, 2
jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonChooseAnother
jumpifbattletype BATTLE_TYPE_LINK, BattleScript_FaintedMonChooseAnother
jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_FaintedMonChooseAnother
jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonChooseAnother
jumpifword COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonChooseAnother
jumpifbyte EQUAL, sBATTLE_STYLE, 1, BattleScript_FaintedMonChooseAnother
jumpifcantswitch USER, BattleScript_FaintedMonChooseAnother
printstring BATTLE_TEXT_WillSwitch
setbyte gBattleCommunication, 0
yesnobox
jumpifbyte EQUAL, gUnknown_02024D1F, 1, BattleScript_FaintedMonChooseAnother
setatktoplayer0
openpartyscreen 129, BattleScript_FaintedMonChooseAnother
switchhandleorder USER, 2
jumpifbyte EQUAL, gBattleCommunication, 6, BattleScript_FaintedMonChooseAnother
atknameinbuff1
resetintrimidatetracebits USER
hpthresholds2 USER
printstring 2
switchoutabilities USER
waitstate
returnatktoball
waitstate
drawpartystatussummary 1
getswitchedmondata USER
switchindataupdate USER
hpthresholds USER
printstring 3
atk62 1
switchinanim USER, 0
waitstate
switchineffects USER
resetsentmonsvalue
BattleScript_FaintedMonChooseAnother: @ 81D8D66
drawpartystatussummary 3
getswitchedmondata 3
switchindataupdate 3
hpthresholds 3
printstring 3
atk62 3
switchinanim 3, 0
waitstate
switchineffects 3
jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonEnd
cancelallactions
BattleScript_FaintedMonEnd: @ 81D8D86
end2
BattleScript_1D8D87: @ 81D8D87
openpartyscreen 5, BattleScript_1D8D8D
BattleScript_1D8D8D: @ 81D8D8D
switchhandleorder 3, 0
openpartyscreen 6, BattleScript_1D8DBD
switchhandleorder 3, 0
BattleScript_1D8D99: @ 81D8D99
switchhandleorder 3, 2
drawpartystatussummary 3
getswitchedmondata 3
switchindataupdate 3
hpthresholds 3
printstring 3
atk62 3
switchinanim 3, 0
waitstate
switchineffects 5
jumpifbytenotequal gBank1, gBattlersCount, BattleScript_1D8D99
BattleScript_1D8DBD: @ 81D8DBD
end2
BattleScript_LocalTrainerBattleWon:: @ 81D8DBE
printstring BATTLE_TEXT_PlayerDefeatedTrainer2
trainerslidein 1
waitstate
printstring BATTLE_TEXT_UnknownString
getmoneyreward
printstring BATTLE_TEXT_WinningPrize
waitmessage 64
BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8DCE
givepaydaymoney
pickup
end2
BattleScript_LocalBattleLost:: @ 81D8DD1
jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_LocalBattleLostEnd
jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_LocalBattleLostEnd
jumpifhalfword EQUAL, gTrainerBattleOpponent, SECRET_BASE_OPPONENT, BattleScript_LocalBattleLostEnd
printstring BATTLE_TEXT_OutOfUsablePoke
waitmessage 64
printstring BATTLE_TEXT_WhitedOut
waitmessage 64
BattleScript_LocalBattleLostEnd: @ 81D8E01
end2
BattleScript_LinkBattleWonOrLost:: @ 81D8E02
printstring 5
waitmessage 64
atk57
waitmessage 64
end2
gUnknown_081D8E0D:: @ 81D8E0D
printstring BATTLE_TEXT_PlayerDefeatedTrainer2
trainerslidein 1
waitstate
end2
BattleScript_SmokeBallEscape:: @ 81D8E14
playanimation USER, B_ANIM_SMOKEBALL_ESCAPE, NULL
printstring BATTLE_TEXT_FledUsingItem
waitmessage 64
end2
BattleScript_RanAwayUsingMonAbility:: @ 81D8E22
printstring BATTLE_TEXT_FledUsingOther
waitmessage 64
end2
BattleScript_GotAwaySafely:: @ 81D8E29
printstring BATTLE_TEXT_GotAwaySafely
waitmessage 64
end2
BattleScript_WildMonFled:: @ 81D8E30
printstring BATTLE_TEXT_FledWild
waitmessage 64
end2
BattleScript_PrintCantRunFromTrainer:: @ 81D8E37
printstring BATTLE_TEXT_NoRunning
end2
BattleScript_PrintFailedToRunString:: @ 81D8E3B
printfromtable gNoEscapeStringIds
waitmessage 64
end2
BattleScript_PrintCantEscapeFromBattle:: @ 81D8E44
printselectionstringfromtable gNoEscapeStringIds
endselectionscript
BattleScript_PrintFullBox:: @ 81D8E4A
printselectionstring BATTLE_TEXT_BoxFull
endselectionscript
BattleScript_ActionSwitch:: @ 81D8E4E
hpthresholds2 USER
printstring 2
setbyte sDMG_MULTIPLIER, 2
jumpifbyte COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_PursuitSwitchDmgSetMultihit
setmultihit 1
goto BattleScript_PursuitSwitchDmgLoop
BattleScript_PursuitSwitchDmgSetMultihit: @ 81D8E6B
setmultihit 2
BattleScript_PursuitSwitchDmgLoop: @ 81D8E6D
jumpifnopursuitswitchdmg BattleScript_DoSwitchOut
atk5f
trysetdestinybondtohappen
call BattleScript_PursuitDmgOnSwitchOut
atk5f
BattleScript_DoSwitchOut: @ 81D8E7A
decrementmultihit BattleScript_PursuitSwitchDmgLoop
switchoutabilities USER
waitstate
returnatktoball
waitstate
drawpartystatussummary 1
switchhandleorder USER, 1
getswitchedmondata USER
switchindataupdate USER
hpthresholds USER
printstring 3
atk62 1
switchinanim USER, 0
waitstate
switchineffects USER
setbyte sMOVEEND_STATE, 4
moveend 1, 0
setbyte sMOVEEND_STATE, 15
moveend 1, 0
end2
BattleScript_PursuitDmgOnSwitchOut: @ 81D8EAD
pause 32
attackstring
ppreduce
critcalc
damagecalc
typecalc
adjustnormaldamage
attackanimation
waitanimation
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
critmessage
waitmessage 64
resultmessage
waitmessage 64
tryfaintmon TARGET, FALSE, NULL
setbyte sMOVEEND_STATE, 3
moveend 2, 6
various TARGET, 4
jumpifbyte EQUAL, gBattleCommunication, 0, BattleScript_PursuitDmgOnSwitchOutRet
setbyte sGIVEEXP_STATE, 0
getexp TARGET
BattleScript_PursuitDmgOnSwitchOutRet: @ 81D8EEE
return
BattleScript_Pausex20:: @ 81D8EEF
pause 32
return
BattleScript_LevelUp:: @ 81D8EF3
fanfare MUS_LEVEL_UP
printstring BATTLE_TEXT_GrewLevel
setbyte sLVLBOX_STATE, 0
drawlvlupbox
handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, 1
goto BattleScript_AskToLearnMove
BattleScript_TryLearnMoveLoop: @ 81D8F0F
handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, 0
BattleScript_AskToLearnMove: @ 81D8F19
buffermovetolearn
printstring BATTLE_TEXT_TryingToLearnMove
printstring BATTLE_TEXT_CantLearnMore
printstring BATTLE_TEXT_DeleteMove
waitstate
setbyte sLEARNMOVE_STATE, 0
yesnoboxlearnmove BattleScript_ForgotAndLearnedNewMove
printstring BATTLE_TEXT_StopLearning
waitstate
setbyte sLEARNMOVE_STATE, 0
yesnoboxstoplearningmove BattleScript_AskToLearnMove
printstring BATTLE_TEXT_DidNotLearn
goto BattleScript_TryLearnMoveLoop
BattleScript_ForgotAndLearnedNewMove: @ 81D8F46
printstring BATTLE_TEXT_MoveForget123
printstring BATTLE_TEXT_DeletedMove
printstring BATTLE_TEXT_MoveForgetAnd
BattleScript_LearnedNewMove: @ 81D8F4F
buffermovetolearn
fanfare MUS_LEVEL_UP
printstring BATTLE_TEXT_LearnedMove
waitmessage 64
updatechoicemoveonlvlup USER
goto BattleScript_TryLearnMoveLoop
BattleScript_LearnMoveReturn: @ 81D8F61
return
BattleScript_RainContinuesOrEnds:: @ 81D8F62
printfromtable gRainContinuesStringIds
waitmessage 64
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_RainContinuesOrEndsEnd
playanimation USER, B_ANIM_RAIN_CONTINUES, NULL
BattleScript_RainContinuesOrEndsEnd: @ 81D8F7C
end2
BattleScript_DamagingWeatherContinues:: @ 81D8F7D
printfromtable gSandStormHailContinuesStringIds
waitmessage 64
playanimation2 USER, sANIM_ARG1, NULL
setbyte gBattleCommunication, 0
BattleScript_DamagingWeatherLoop: @ 81D8F95
copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 1
weatherdamage
jumpifword EQUAL, gBattleMoveDamage, 0x0, BattleScript_DamagingWeatherLoopIncrement
printfromtable gSandStormHailDmgStringIds
waitmessage 64
orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
effectivenesssound
hitanimation USER
healthbarupdate USER
datahpupdate USER
tryfaintmon USER, FALSE, NULL
atk24 BattleScript_DamagingWeatherLoopIncrement
BattleScript_DamagingWeatherLoopIncrement: @ 81D8FD6
jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_DamagingWeatherContinuesEnd
addbyte gBattleCommunication, 1
jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamagingWeatherLoop
BattleScript_DamagingWeatherContinuesEnd: @ 81D8FF5
bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
end2
BattleScript_SandStormHailEnds:: @ 81D8FFF
printfromtable gSandStormHailEndStringIds
waitmessage 64
end2
BattleScript_SunlightContinues:: @ 81D9008
printstring BATTLE_TEXT_SunStrong
waitmessage 64
playanimation USER, B_ANIM_SUN_CONTINUES, NULL
end2
BattleScript_SunlightFaded:: @ 81D9016
printstring BATTLE_TEXT_SunFaded
waitmessage 64
end2
BattleScript_OverworldWeatherStarts:: @ 81D901D
printfromtable gWeatherContinuesStringIds
waitmessage 64
playanimation2 USER, sANIM_ARG1, NULL
end3
BattleScript_SideStatusWoreOff:: @ 81D9030
printstring BATTLE_TEXT_WoreOff
waitmessage 64
end2
BattleScript_SafeguardProtected: @ 81D9037
pause 32
printstring BATTLE_TEXT_SafeguardActive
waitmessage 64
end2
BattleScript_SafeguardEnds:: @ 81D9041
pause 32
printstring BATTLE_TEXT_SafeguardFaded
waitmessage 64
end2
BattleScript_LeechSeedTurnDrain:: @ 81D904B
playanimation USER, B_ANIM_LEECH_SEED_DRAIN, sANIM_ARG1
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
copyword gBattleMoveDamage, gHpDealt
jumpifability USER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedTurnPrintLiquidOoze
manipulatedamage 0
setbyte cMULTISTRING_CHOOSER, 3
goto BattleScript_LeechSeedTurnPrintAndUpdateHp
BattleScript_LeechSeedTurnPrintLiquidOoze: @ 81D907D
setbyte cMULTISTRING_CHOOSER, 4
BattleScript_LeechSeedTurnPrintAndUpdateHp: @ 81D9083
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate TARGET
datahpupdate TARGET
printfromtable gLeechSeedStringIds
waitmessage 64
tryfaintmon USER, FALSE, NULL
tryfaintmon TARGET, FALSE, NULL
end2
BattleScript_BideStoringEnergy:: @ 81D90A7
printstring BATTLE_TEXT_StoringEnergy
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_BideAttack:: @ 81D90B2
printstring BATTLE_TEXT_UnleashedEnergy
waitmessage 64
accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
typecalc
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
copyword gBattleMoveDamage, sBIDE_DMG
adjustsetdamage
setbyte sANIM_TURN, 1
attackanimation
waitanimation
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
resultmessage
waitmessage 64
tryfaintmon TARGET, FALSE, NULL
goto BattleScript_MoveEnd
BattleScript_BideNoEnergyToAttack:: @ 81D90F1
printstring BATTLE_TEXT_UnleashedEnergy
waitmessage 64
goto BattleScript_ButItFailed
BattleScript_SuccessForceOut:: @ 81D90FC
attackanimation
waitanimation
switchoutabilities TARGET
returntoball TARGET
waitstate
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_TrainerBattleForceOut
setbyte gBattleOutcome, 5
finishaction
BattleScript_TrainerBattleForceOut: @ 81D9116
getswitchedmondata TARGET
switchindataupdate TARGET
switchinanim TARGET, 0
waitstate
printstring BATTLE_TEXT_DraggedOut
switchineffects TARGET
goto BattleScript_MoveEnd
BattleScript_MistProtected:: @ 81D9128
pause 32
printstring BATTLE_TEXT_MistProtect
waitmessage 64
return
BattleScript_RageIsBuilding:: @ 81D9132
printstring BATTLE_TEXT_RageBuilding
waitmessage 64
return
BattleScript_MoveUsedIsDisabled:: @ 81D9139
printstring BATTLE_TEXT_MoveIsDisabled
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_MoveSelectionDisabledMove:: @ 81D9144
printselectionstring BATTLE_TEXT_MoveIsDisabled
endselectionscript
BattleScript_DisabledNoMore:: @ 81D9148
printstring BATTLE_TEXT_DisabledNoMore
waitmessage 64
end2
BattleScript_EncoredNoMore:: @ 81D914F
printstring BATTLE_TEXT_EncoreEnded
waitmessage 64
end2
BattleScript_DestinyBondTakesLife:: @ 81D9156
printstring BATTLE_TEXT_DestinyBondTaken
waitmessage 64
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
tryfaintmon USER, FALSE, NULL
return
BattleScript_SpikesOnAttacker:: @ 81D9171
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
call BattleScript_PrintHurtBySpikes
tryfaintmon USER, FALSE, NULL
tryfaintmon USER, TRUE, BattleScript_SpikesOnAttackerFainted
return
BattleScript_SpikesOnAttackerFainted: @ 81D9192
setbyte sGIVEEXP_STATE, 0
getexp USER
goto BattleScript_HandleFaintedMon
BattleScript_SpikesOnTarget:: @ 81D919F
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate TARGET
datahpupdate TARGET
call BattleScript_PrintHurtBySpikes
tryfaintmon TARGET, FALSE, NULL
tryfaintmon TARGET, TRUE, BattleScript_SpikesOnTargetFainted
return
BattleScript_SpikesOnTargetFainted: @ 81D91C0
setbyte sGIVEEXP_STATE, 0
getexp TARGET
goto BattleScript_HandleFaintedMon
BattleScript_SpikesOngBank1:: @ 81D91CD
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate 3
datahpupdate 3
call BattleScript_PrintHurtBySpikes
tryfaintmon GBANK_1, FALSE, NULL
tryfaintmon GBANK_1, TRUE, BattleScript_SpikesOngBank1Fainted
return
BattleScript_SpikesOngBank1Fainted: @ 81D91EE
setbyte sGIVEEXP_STATE, 0
getexp 3
goto BattleScript_HandleFaintedMon
BattleScript_PrintHurtBySpikes: @ 81D91FB
printstring BATTLE_TEXT_SpikesHurt
waitmessage 64
return
BattleScript_PerishSongHits:: @ 81D9202
printstring BATTLE_TEXT_PerishSongFell
waitmessage 64
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
tryfaintmon USER, FALSE, NULL
end2
BattleScript_PerishSongTimerGoesDown:: @ 81D921D
printstring BATTLE_TEXT_PerishSongFell
waitmessage 64
end2
BattleScript_AllStatsUp:: @ 81D9224
jumpifstat USER, LESS_THAN, ATTACK, 12, BattleScript_AllStatsUpAtk
jumpifstat USER, LESS_THAN, DEFENSE, 12, BattleScript_AllStatsUpAtk
jumpifstat USER, LESS_THAN, SPEED, 12, BattleScript_AllStatsUpAtk
jumpifstat USER, LESS_THAN, SP_ATTACK, 12, BattleScript_AllStatsUpAtk
jumpifstat USER, EQUAL, SP_DEFENSE, 12, BattleScript_AllStatsUpRet
BattleScript_AllStatsUpAtk: @ 81D9251
setbyte sFIELD_1B, 0
playstatchangeanimation USER, 62, 0
setstatchanger ATTACK, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpDef
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_AllStatsUpDef: @ 81D926F
setstatchanger DEFENSE, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpeed
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_AllStatsUpSpeed: @ 81D9283
setstatchanger SPEED, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpAtk
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_AllStatsUpSpAtk: @ 81D9297
setstatchanger SP_ATTACK, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpDef
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_AllStatsUpSpDef: @ 81D92AB
setstatchanger SP_DEFENSE, 1, FALSE
statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpRet
printfromtable gStatUpStringIds
waitmessage 64
BattleScript_AllStatsUpRet: @ 81D92BF
return
BattleScript_RapidSpinAway:: @ 81D92C0
rapidspinfree
return
BattleScript_WrapFree:: @ 81D92C2
printstring BATTLE_TEXT_GotFreeFrom
waitmessage 64
return
BattleScript_LeechSeedFree:: @ 81D92C9
printstring BATTLE_TEXT_LeechShed
waitmessage 64
return
BattleScript_SpikesFree:: @ 81D92D0
printstring BATTLE_TEXT_SpikesBlownAway
waitmessage 64
return
BattleScript_MonTookFutureAttack:: @ 81D92D7
printstring BATTLE_TEXT_TookAttack
waitmessage 64
jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_CheckDoomDesireMiss
accuracycheck BattleScript_FutureAttackMiss, 248
goto BattleScript_FutureAttackAnimate
BattleScript_CheckDoomDesireMiss: @ 81D92F4
accuracycheck BattleScript_FutureAttackMiss, 353
BattleScript_FutureAttackAnimate: @ 81D92FB
adjustnormaldamage2
jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_FutureHitAnimDoomDesire
playanimation USER, B_ANIM_FUTURE_SIGHT_HIT, NULL
goto BattleScript_DoFutureAttackHit
BattleScript_FutureHitAnimDoomDesire: @ 81D9313
playanimation USER, B_ANIM_DOOM_DESIRE_HIT, NULL
BattleScript_DoFutureAttackHit: @ 81D931A
effectivenesssound
hitanimation TARGET
waitstate
healthbarupdate TARGET
datahpupdate TARGET
resultmessage
waitmessage 64
tryfaintmon TARGET, FALSE, NULL
atk24 BattleScript_FutureAttackEnd
BattleScript_FutureAttackEnd: @ 81D9332
setbyte sMOVEEND_STATE, 0
moveend 1, 0
setbyte sMOVEEND_STATE, 8
moveend 2, 14
setbyte gMoveResultFlags, 0
end2
BattleScript_FutureAttackMiss: @ 81D934B
pause 32
setbyte gMoveResultFlags, 0
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
resultmessage
waitmessage 64
setbyte gMoveResultFlags, 0
end2
BattleScript_NoMovesLeft:: @ 81D9365
printselectionstring BATTLE_TEXT_NoMovesLeft
endselectionscript
BattleScript_MoveSelectionNoPP:: @ 81D9369
printselectionstring BATTLE_TEXT_NoPP1
endselectionscript
BattleScript_NoPPForMove:: @ 81D936D
attackstring
pause 32
printstring BATTLE_TEXT_NoPP2
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_MoveSelectionTormented:: @ 81D937C
printselectionstring BATTLE_TEXT_TormentNoUse
endselectionscript
printstring BATTLE_TEXT_TormentNoUse
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_MoveSelectionTaunted:: @ 81D938B
printselectionstring BATTLE_TEXT_TauntNoUse
endselectionscript
BattleScript_MoveUsedIsTaunted:: @ 81D938F
printstring BATTLE_TEXT_TauntNoUse
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_WishComesTrue:: @ 81D939A
trywish 1, BattleScript_WishButFullHp
playanimation TARGET, B_ANIM_WISH_HEAL, NULL
printstring BATTLE_TEXT_WishTrue
waitmessage 64
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate TARGET
datahpupdate TARGET
printstring BATTLE_TEXT_RegainedHealth
waitmessage 64
end2
BattleScript_WishButFullHp: @ 81D93C1
printstring BATTLE_TEXT_WishTrue
waitmessage 64
pause 32
printstring BATTLE_TEXT_HPFull
waitmessage 64
end2
BattleScript_IngrainTurnHeal:: @ 81D93D1
playanimation USER, B_ANIM_INGRAIN_HEAL, NULL
printstring BATTLE_TEXT_AbsorbNutrients
waitmessage 64
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
end2
BattleScript_PrintMonIsRooted: @ 81D93EC
pause 32
printstring BATTLE_TEXT_AnchoredItself
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_AtkDefDown:: @ 81D93FA
setbyte sFIELD_1B, 0
playstatchangeanimation USER, 6, 13
playstatchangeanimation USER, 2, 9
setstatchanger ATTACK, 1, TRUE
statbuffchange AFFECTS_USER | CERTAIN | 0x1, BattleScript_1D9427
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_1D9427
printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D9427: @ 81D9427
playstatchangeanimation USER, 4, 9
setstatchanger DEFENSE, 1, TRUE
statbuffchange AFFECTS_USER | CERTAIN | 0x1, BattleScript_1D944A
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_1D944A
printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D944A: @ 81D944A
return
BattleScript_KnockedOff:: @ 81D944B
playanimation TARGET, B_ANIM_ITEM_KNOCKOFF, NULL
printstring BATTLE_TEXT_KnockedOffItem
waitmessage 64
return
BattleScript_MoveUsedIsImprisoned:: @ 81D9459
printstring BATTLE_TEXT_SealedNoUse
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_MoveSelectionImprisoned:: @ 81D9464
printselectionstring BATTLE_TEXT_SealedNoUse
endselectionscript
BattleScript_GrudgeTakesPp:: @ 81D9468
printstring BATTLE_TEXT_GrudgeLosePP
waitmessage 64
return
BattleScript_MagicCoatBounce:: @ 81D946F
attackstring
ppreduce
pause 32
printstring BATTLE_TEXT_MagicCoatBounce
waitmessage 64
orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
setmagiccoattarget USER
return
BattleScript_SnatchedMove:: @ 81D9487
attackstring
ppreduce
snatchsetbanks
playanimation TARGET, B_ANIM_SNATCH_MOVE, NULL
printstring BATTLE_TEXT_SnatchedMove
waitmessage 64
orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
atk5f
return
BattleScript_EnduredMsg:: @ 81D94A2
printstring BATTLE_TEXT_EnduredHit
waitmessage 64
return
BattleScript_OneHitKOMsg:: @ 81D94A9
printstring BATTLE_TEXT_GrandSlam
waitmessage 64
return
BattleScript_SAtkDown2:: @ 81D94B0
setbyte sFIELD_1B, 0
playstatchangeanimation USER, 16, 11
setstatchanger SP_ATTACK, 2, TRUE
statbuffchange AFFECTS_USER | CERTAIN | 0x1, BattleScript_1D94D9
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_1D94D9
printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D94D9: @ 81D94D9
return
BattleScript_FocusPunchSetUp:: @ 81D94DA
printstring BATTLE_TEXT_Terminator2
waitmessage 1
playanimation USER, B_ANIM_FOCUS_PUNCH_SET_UP, NULL
printstring BATTLE_TEXT_TightenFocus
waitmessage 64
end2
BattleScript_MoveUsedIsAsleep:: @ 81D94EE
printstring BATTLE_TEXT_FastAsleep
waitmessage 64
statusanimation USER
goto BattleScript_MoveEnd
BattleScript_MoveUsedWokeUp:: @ 81D94FB
bicword gHitMarker, HITMARKER_x10
printfromtable gWokeUpStringIds
waitmessage 64
updatestatusicon USER
return
BattleScript_MonWokeUpInUproar:: @ 81D950F
printstring BATTLE_TEXT_UproarWoke
waitmessage 64
updatestatusicon USER
end2
BattleScript_PoisonTurnDmg:: @ 81D9518
printstring BATTLE_TEXT_PoisonHurt
waitmessage 64
BattleScript_DoStatusTurnDmg: @ 81D951E
statusanimation USER
BattleScript_DoTurnDmg: @ 81D9520
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
tryfaintmon USER, FALSE, NULL
atk24 BattleScript_DoTurnDmgEnd
BattleScript_DoTurnDmgEnd: @ 81D9539
end2
BattleScript_BurnTurnDmg:: @ 81D953A
printstring BATTLE_TEXT_BurnHurt
waitmessage 64
goto BattleScript_DoStatusTurnDmg
BattleScript_MoveUsedIsFrozen:: @ 81D9545
printstring BATTLE_TEXT_FrozenSolid
waitmessage 64
statusanimation USER
goto BattleScript_MoveEnd
BattleScript_MoveUsedUnfroze:: @ 81D9552
printfromtable gGotDefrostedStringIds
waitmessage 64
updatestatusicon USER
return
BattleScript_DefrostedViaFireMove:: @ 81D955D
printstring BATTLE_TEXT_DefendingDefrosted
waitmessage 64
updatestatusicon TARGET
return
BattleScript_MoveUsedIsParalyzed:: @ 81D9566
printstring BATTLE_TEXT_Paralyzed3
waitmessage 64
statusanimation USER
goto BattleScript_MoveEnd
BattleScript_MoveUsedFlinched:: @ 81D9573
printstring BATTLE_TEXT_Flinched
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_PrintUproarOverTurns:: @ 81D957E
printfromtable gUproarOverTurnStringIds
waitmessage 64
end2
BattleScript_ThrashConfuses:: @ 81D9587
chosenstatus2animation USER, STATUS2_CONFUSION
printstring BATTLE_TEXT_FatigueConfuse
waitmessage 64
end2
BattleScript_MoveUsedIsConfused:: @ 81D9595
printstring BATTLE_TEXT_Confused
waitmessage 64
status2animation USER, STATUS2_CONFUSION
jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_MoveUsedIsConfusedRet
BattleScript_DoSelfConfusionDmg: @ 81D95AC
cancelmultiturnmoves USER
adjustnormaldamage2
printstring BATTLE_TEXT_HurtItself
waitmessage 64
effectivenesssound
hitanimation USER
waitstate
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
tryfaintmon USER, FALSE, NULL
goto BattleScript_MoveEnd
BattleScript_MoveUsedIsConfusedRet: @ 81D95D3
return
BattleScript_MoveUsedIsConfusedNoMore:: @ 81D95D4
printstring BATTLE_TEXT_ConfusionSnapOut
waitmessage 64
return
BattleScript_PrintPayDayMoneyString:: @ 81D95DB
printstring BATTLE_TEXT_PickedUpYen
waitmessage 64
return
BattleScript_WrapTurnDmg:: @ 81D95E2
playanimation USER, B_ANIM_TURN_TRAP, sANIM_ARG1
printstring BATTLE_TEXT_HurtBy
waitmessage 64
goto BattleScript_DoTurnDmg
BattleScript_WrapEnds:: @ 81D95F4
printstring BATTLE_TEXT_FreedFrom
waitmessage 64
end2
BattleScript_MoveUsedIsInLove:: @ 81D95FB
printstring BATTLE_TEXT_InLoveWith
waitmessage 64
status2animation USER, STATUS2_INFATUATION
return
BattleScript_MoveUsedIsParalyzedCantAttack:: @ 81D9608
printstring BATTLE_TEXT_ImmobilizedBy
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_NightmareTurnDmg:: @ 81D9613
printstring BATTLE_TEXT_NightmareLock
waitmessage 64
status2animation USER, STATUS2_NIGHTMARE
goto BattleScript_DoTurnDmg
BattleScript_CurseTurnDmg:: @ 81D9624
printstring BATTLE_TEXT_CurseAfflict
waitmessage 64
status2animation USER, STATUS2_CURSED
goto BattleScript_DoTurnDmg
BattleScript_TargetPRLZHeal:: @ 81D9635
printstring BATTLE_TEXT_ParalysisHealed
waitmessage 64
updatestatusicon TARGET
return
BattleScript_MoveEffectSleep:: @ 81D963E
statusanimation EFFECT_BANK
printfromtable gFellAsleepStringIds
waitmessage 64
BattleScript_UpdateEffectStatusIconRet: @ 81D9648
updatestatusicon EFFECT_BANK
waitstate
return
BattleScript_YawnMakesAsleep:: @ 81D964C
statusanimation EFFECT_BANK
printstring BATTLE_TEXT_FellAsleep
waitmessage 64
updatestatusicon EFFECT_BANK
waitstate
makevisible 2
end2
BattleScript_MoveEffectPoison:: @ 81D965A
statusanimation EFFECT_BANK
printfromtable gGotPoisonedStringIds
waitmessage 64
goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectBurn:: @ 81D9669
statusanimation EFFECT_BANK
printfromtable gGotBurnedStringIds
waitmessage 64
goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectFreeze:: @ 81D9678
statusanimation EFFECT_BANK
printfromtable gGotFrozenStringIds
waitmessage 64
goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectParalysis:: @ 81D9687
statusanimation EFFECT_BANK
printfromtable gGotParalyzedStringIds
waitmessage 64
goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectUproar:: @ 81D9696
printstring BATTLE_TEXT_UproarCaused
waitmessage 64
return
BattleScript_MoveEffectToxic:: @ 81D969D
statusanimation EFFECT_BANK
printstring BATTLE_TEXT_BadlyPoisoned
waitmessage 64
goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectPayDay:: @ 81D96AA
printstring BATTLE_TEXT_CoinScatter
waitmessage 64
return
BattleScript_MoveEffectWrap:: @ 81D96B1
printfromtable gWrappedStringIds
waitmessage 64
return
BattleScript_MoveEffectConfusion:: @ 81D96BA
chosenstatus2animation EFFECT_BANK, STATUS2_CONFUSION
printstring BATTLE_TEXT_BecameConfused
waitmessage 64
return
BattleScript_MoveEffectRecoil33:: @ 81D96C8
jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil33
jumpifability USER, ABILITY_ROCK_HEAD, BattleScript_Recoil33End
BattleScript_DoRecoil33: @ 81D96DB
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_HitRecoil
waitmessage 64
tryfaintmon USER, FALSE, NULL
BattleScript_Recoil33End: @ 81D96F5
return
BattleScript_ItemSteal:: @ 81D96F6
playanimation TARGET, B_ANIM_ITEM_STEAL, NULL
printstring BATTLE_TEXT_StoleSomething
waitmessage 64
return
BattleScript_DrizzleActivates:: @ 81D9704
pause 32
printstring BATTLE_TEXT_RainMade
waitstate
playanimation 7, B_ANIM_RAIN_CONTINUES, NULL
call BattleScript_WeatherFormChanges
end3
BattleScript_SpeedBoostActivates:: @ 81D9718
playanimation USER, B_ANIM_STATS_CHANGE, sANIM_ARG1
printstring BATTLE_TEXT_SpeedRisen
waitmessage 64
end3
BattleScript_TraceActivates:: @ 81D9726
pause 32
printstring BATTLE_TEXT_Traced
waitmessage 64
end3
BattleScript_RainDishActivates:: @ 81D9730
printstring BATTLE_TEXT_RestoredHPByItem
waitmessage 64
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
end3
BattleScript_SandstreamActivates:: @ 81D9744
pause 32
printstring BATTLE_TEXT_WhipSandstorm
waitstate
playanimation 7, B_ANIM_SANDSTORM_CONTINUES, NULL
call BattleScript_WeatherFormChanges
end3
BattleScript_ShedSkinActivates:: @ 81D9758
printstring BATTLE_TEXT_CuredProblem
waitmessage 64
updatestatusicon USER
end3
BattleScript_WeatherFormChanges: @ 81D9761
setbyte sBANK, 0
BattleScript_WeatherFormChangesLoop: @ 81D9767
trycastformdatachange
addbyte sBANK, 1
jumpifbytenotequal sBANK, gBattlersCount, BattleScript_WeatherFormChangesLoop
return
BattleScript_CastformChange:: @ 81D977D
call BattleScript_1D9783
end3
BattleScript_1D9783: @ 81D9783
docastformchangeanimation
waitstate
printstring BATTLE_TEXT_Transformed2
waitmessage 64
return
gUnknown_081D978C:: @ 81D978C
call BattleScript_1D9792
end3
BattleScript_1D9792: @ 81D9792
pause 32
gUnknown_081D9795:: @ 81D9795
setbyte gBattlerTarget, 0
setstatchanger ATTACK, 1, TRUE
BattleScript_1D97A1: @ 81D97A1
trygetintimidatetarget BattleScript_1D97EF
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_1D97E4
jumpifability TARGET, ABILITY_CLEAR_BODY, BattleScript_1D97F0
jumpifability TARGET, ABILITY_HYPER_CUTTER, BattleScript_1D97F0
jumpifability TARGET, ABILITY_WHITE_SMOKE, BattleScript_1D97F0
statbuffchange 33, BattleScript_1D97E4
jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_1D97E4
setgraphicalstatchangevalues
playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1
printstring BATTLE_TEXT_CutsAttack
waitmessage 64
BattleScript_1D97E4: @ 81D97E4
addbyte gBattlerTarget, 1
goto BattleScript_1D97A1
BattleScript_1D97EF: @ 81D97EF
return
BattleScript_1D97F0: @ 81D97F0
pause 32
printstring BATTLE_TEXT_PreventedOther
waitmessage 64
goto BattleScript_1D97E4
BattleScript_DroughtActivates:: @ 81D97FE
pause 32
printstring BATTLE_TEXT_SunIntensified
waitstate
playanimation 7, B_ANIM_SUN_CONTINUES, NULL
call BattleScript_WeatherFormChanges
end3
BattleScript_TookAttack:: @ 81D9812
attackstring
pause 32
printstring BATTLE_TEXT_TookAttack2
waitmessage 64
orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED
return
BattleScript_SturdyPreventsOHKO:: @ 81D9826
pause 32
printstring BATTLE_TEXT_ProtectedBy
pause 64
goto BattleScript_MoveEnd
BattleScript_DampStopsExplosion:: @ 81D9834
pause 32
printstring BATTLE_TEXT_PreventedBy
pause 64
goto BattleScript_MoveEnd
BattleScript_MoveHPDrain_PPLoss:: @ 81D9842
ppreduce
BattleScript_MoveHPDrain:: @ 81D9843
attackstring
pause 32
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate TARGET
datahpupdate TARGET
printstring BATTLE_TEXT_HPRestoredUsing
waitmessage 64
orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE
goto BattleScript_MoveEnd
BattleScript_MoveHPDrain_FullHP_PPLoss:: @ 81D9865
ppreduce
BattleScript_MoveHPDrain_FullHP:: @ 81D9866
attackstring
pause 32
printstring BATTLE_TEXT_MadeUseless
waitmessage 64
orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE
goto BattleScript_MoveEnd
BattleScript_FlashFireBoost_PPLoss:: @ 81D987B
ppreduce
BattleScript_FlashFireBoost:: @ 81D987C
attackstring
pause 32
printfromtable gFlashFireStringIds
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_AbilityPreventsPhasingOut: @ 81D988D
pause 32
printstring BATTLE_TEXT_AnchorsItself
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_AbilityNoStatLoss:: @ 81D989B
pause 32
printstring BATTLE_TEXT_PreventedStatLoss
waitmessage 64
return
BattleScript_BRNPrevention:: @ 81D98A5
pause 32
printfromtable gBRNPreventionStringIds
waitmessage 64
return
BattleScript_PRLZPrevention:: @ 81D98B1
pause 32
printfromtable gPRLZPreventionStringIds
waitmessage 64
return
BattleScript_PSNPrevention:: @ 81D98BD
pause 32
printfromtable gPSNPreventionStringIds
waitmessage 64
return
BattleScript_ObliviousPreventsAttraction:: @ 81D98C9
pause 32
printstring BATTLE_TEXT_PreventedRomance
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_FlinchPrevention:: @ 81D98D7
pause 32
printstring BATTLE_TEXT_PreventedFlinching
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_OwnTempoPrevents: @ 81D98E5
pause 32
printstring BATTLE_TEXT_PreventedConfusion
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_SoundproofProtected:: @ 81D98F3
attackstring
ppreduce
pause 32
printstring BATTLE_TEXT_BlocksOther
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_AbilityNoSpecificStatLoss:: @ 81D9903
pause 32
printstring BATTLE_TEXT_PreventedLoss
waitmessage 64
setbyte cMULTISTRING_CHOOSER, 3
return
BattleScript_NoItemSteal:: @ 81D9913
pause 32
printstring BATTLE_TEXT_MadeIneffective
waitmessage 64
goto BattleScript_MoveEnd
BattleScript_ColorChangeActivates:: @ 81D9921
printstring BATTLE_TEXT_MadeType
waitmessage 64
return
BattleScript_RoughSkinActivates:: @ 81D9928
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_HurtOther
waitmessage 64
tryfaintmon USER, FALSE, NULL
return
BattleScript_CuteCharmActivates:: @ 81D9943
status2animation USER, STATUS2_INFATUATION
printstring BATTLE_TEXT_InfatuatedPoke
waitmessage 64
return
BattleScript_ApplySecondaryEffect:: @ 81D9950
waitstate
seteffectsecondary
return
BattleScript_SynchronizeActivates:: @ 81D9953
waitstate
seteffectprimary
return
BattleScript_AbilityCuredStatus:: @ 81D9956
printstring BATTLE_TEXT_CuredOfProblem
waitmessage 64
updatestatusicon SCRIPTING_BANK
return
gUnknown_081D995F:: @ 81D995F
printstring BATTLE_TEXT_IgnoredOrdersSLP
waitmessage 64
setbyte sMOVEEND_STATE, 0
moveend 2, 16
end
BattleScript_IgnoresAndUsesRandomMove:: @ 81D996F
printstring BATTLE_TEXT_IgnoredOrders
waitmessage 64
jumptorandomattack TARGET
BattleScript_MoveUsedLoafingAround:: @ 81D9977
printfromtable gInobedientStringIds
waitmessage 64
setbyte sMOVEEND_STATE, 0
moveend 2, 16
end
BattleScript_IgnoresAndFallsAsleep:: @ 81D9989
printstring BATTLE_TEXT_BeganNap
waitmessage 64
setmoveeffect EFFECT_SLEEP | AFFECTS_USER
seteffectprimary
setbyte sMOVEEND_STATE, 0
moveend 2, 16
end
gUnknown_081D99A0:: @ 81D99A0
printstring BATTLE_TEXT_WontObey
waitmessage 64
goto BattleScript_DoSelfConfusionDmg
BattleScript_SubstituteFade:: @ 81D99AB
playanimation TARGET, B_ANIM_SUBSTITUTE_FADE, NULL
printstring BATTLE_TEXT_SubFaded
return
BattleScript_BerryCurePrlzEnd2:: @ 81D99B6
call BattleScript_BerryCureParRet
end2
BattleScript_BerryCureParRet:: @ 81D99BC
playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredParalysis
waitmessage 64
updatestatusicon SCRIPTING_BANK
removeitem SCRIPTING_BANK
return
BattleScript_BerryCurePsnEnd2:: @ 81D99CE
call BattleScript_BerryCurePsnRet
end2
BattleScript_BerryCurePsnRet:: @ 81D99D4
playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredPoison
waitmessage 64
updatestatusicon SCRIPTING_BANK
removeitem SCRIPTING_BANK
return
BattleScript_BerryCureBrnEnd2:: @ 81D99E6
call BattleScript_BerryCureBrnRet
end2
BattleScript_BerryCureBrnRet:: @ 81D99EC
playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredBurn
waitmessage 64
updatestatusicon SCRIPTING_BANK
removeitem SCRIPTING_BANK
return
BattleScript_BerryCureFrzEnd2:: @ 81D99FE
call BattleScript_BerryCureFrzRet
end2
BattleScript_BerryCureFrzRet:: @ 81D9A04
playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredFreeze
waitmessage 64
updatestatusicon SCRIPTING_BANK
removeitem SCRIPTING_BANK
return
BattleScript_BerryCureSlpEnd2:: @ 81D9A16
call BattleScript_BerryCureSlpRet
end2
BattleScript_BerryCureSlpRet:: @ 81D9A1C
playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredSleep
waitmessage 64
updatestatusicon SCRIPTING_BANK
removeitem SCRIPTING_BANK
return
BattleScript_BerryCureConfusionEnd2:: @ 81D9A2E
call BattleScript_BerryCureConfusionRet
end2
BattleScript_BerryCureConfusionRet:: @ 81D9A34
playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredConfusion
waitmessage 64
removeitem SCRIPTING_BANK
return
BattleScript_BerryCureChosenStatusEnd2:: @ 81D9A44
call BattleScript_BerryCureChosenStatusRet
end2
BattleScript_BerryCureChosenStatusRet:: @ 81D9A4A
playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printfromtable gBerryEffectStringIds
waitmessage 64
updatestatusicon SCRIPTING_BANK
removeitem SCRIPTING_BANK
return
BattleScript_WhiteHerbEnd2:: @ 81D9A5E
call BattleScript_WhiteHerbRet
end2
BattleScript_WhiteHerbRet:: @ 81D9A64
playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredStatus
waitmessage 64
removeitem SCRIPTING_BANK
return
BattleScript_ItemHealHP_RemoveItem:: @ 81D9A74
playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredHealth
waitmessage 64
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
removeitem USER
end2
BattleScript_BerryPPHealEnd2:: @ 81D9A91
playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredPP
waitmessage 64
removeitem USER
end2
BattleScript_ItemHealHP_End2:: @ 81D9AA1
call BattleScript_ItemHealHP_Ret
end2
BattleScript_ItemHealHP_Ret:: @ 81D9AA7
playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredHPLittle
waitmessage 64
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
return
BattleScript_MoveSelectionChoiceBanded:: @ 81D9AC2
printselectionstring BATTLE_TEXT_ChoiceBand
endselectionscript
BattleScript_HangedOnMsg:: @ 81D9AC6
playanimation TARGET, B_ANIM_HANGED_ON, NULL
printstring BATTLE_TEXT_FocusSash
waitmessage 64
return
BattleScript_BerryConfuseHealEnd2:: @ 81D9AD4
playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredHealth
waitmessage 64
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_UnknownString2
waitmessage 64
setmoveeffect EFFECT_CONFUSION | AFFECTS_USER
seteffectprimary
removeitem USER
end2
BattleScript_BerryStatRaiseEnd2:: @ 81D9AFE
playanimation USER, B_ANIM_ITEM_EFFECT, NULL
statbuffchange AFFECTS_USER | 0x1, BattleScript_1D9B0B
BattleScript_1D9B0B: @ 81D9B0B
setbyte cMULTISTRING_CHOOSER, 0x4
call BattleScript_StatUp
removeitem USER
end2
BattleScript_BerryFocusEnergyEnd2:: @ 81D9B19
playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_HustleUse
waitmessage 64
removeitem USER
end2
BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D9B29
printselectionstring BATTLE_TEXT_CantUseItems
endselectionscript
gUnknown_081D9B2D:: @ 81D9B2D
printstring BATTLE_TEXT_Terminator2
return