mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-07 23:43:59 -05:00
4388 lines
120 KiB
ArmAsm
4388 lines
120 KiB
ArmAsm
#include "constants/moves.h"
|
|
#include "constants/battle.h"
|
|
#include "constants/battle_move_effects.h"
|
|
#include "constants/battle_script_commands.h"
|
|
#include "constants/battle_anim.h"
|
|
#include "constants/items.h"
|
|
#include "constants/abilities.h"
|
|
#include "constants/species.h"
|
|
#include "constants/pokemon.h"
|
|
#include "constants/songs.h"
|
|
#include "constants/game_stat.h"
|
|
#include "battle_string_ids.h"
|
|
.include "asm/macros/battle_script.inc"
|
|
@ Define these here since misc_constants.inc conflicts with the C headers
|
|
.set NULL, 0
|
|
.set FALSE, 0
|
|
.set TRUE, 1
|
|
.section script_data, "aw", %progbits
|
|
.align 2
|
|
|
|
gBattleScriptsForMoveEffects:: @ 81D65A8
|
|
.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_EffectHit
|
|
.4byte BattleScript_EffectSpecialAttackUp
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectEvasionUp
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectAttackDown
|
|
.4byte BattleScript_EffectDefenseDown
|
|
.4byte BattleScript_EffectSpeedDown
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectHit
|
|
.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_EffectHit
|
|
.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_EffectHit
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectTransform
|
|
.4byte BattleScript_EffectAttackDown2
|
|
.4byte BattleScript_EffectDefenseDown2
|
|
.4byte BattleScript_EffectSpeedDown2
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectSpecialDefenseDown2
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectHit
|
|
.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_EffectHit
|
|
.4byte BattleScript_EffectSkyAttack
|
|
.4byte BattleScript_EffectConfuseHit
|
|
.4byte BattleScript_EffectTwineedle
|
|
.4byte BattleScript_EffectHit
|
|
.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_EffectHit
|
|
.4byte BattleScript_EffectSleepTalk
|
|
.4byte BattleScript_EffectDestinyBond
|
|
.4byte BattleScript_EffectFlail
|
|
.4byte BattleScript_EffectSpite
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectHealBell
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectTripleKick
|
|
.4byte BattleScript_EffectThief
|
|
.4byte BattleScript_EffectMeanLook
|
|
.4byte BattleScript_EffectNightmare
|
|
.4byte BattleScript_EffectMinimize
|
|
.4byte BattleScript_EffectCurse
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectProtect
|
|
.4byte BattleScript_EffectSpikes
|
|
.4byte BattleScript_EffectForesight
|
|
.4byte BattleScript_EffectPerishSong
|
|
.4byte BattleScript_EffectSandstorm
|
|
.4byte BattleScript_EffectProtect
|
|
.4byte BattleScript_EffectRollout
|
|
.4byte BattleScript_EffectSwagger
|
|
.4byte BattleScript_EffectFuryCutter
|
|
.4byte BattleScript_EffectAttract
|
|
.4byte BattleScript_EffectReturn
|
|
.4byte BattleScript_EffectPresent
|
|
.4byte BattleScript_EffectReturn
|
|
.4byte BattleScript_EffectSafeguard
|
|
.4byte BattleScript_EffectThawHit
|
|
.4byte BattleScript_EffectMagnitude
|
|
.4byte BattleScript_EffectBatonPass
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectRapidSpin
|
|
.4byte BattleScript_EffectSonicboom
|
|
.4byte BattleScript_EffectHit
|
|
.4byte BattleScript_EffectMorningSun
|
|
.4byte BattleScript_EffectMorningSun
|
|
.4byte BattleScript_EffectMorningSun
|
|
.4byte BattleScript_EffectHiddenPower
|
|
.4byte BattleScript_EffectRainDance
|
|
.4byte BattleScript_EffectSunnyDay
|
|
.4byte BattleScript_EffectDefenseUpHit
|
|
.4byte BattleScript_EffectAttackUpHit
|
|
.4byte BattleScript_EffectAllStatsUpHit
|
|
.4byte BattleScript_EffectHit
|
|
.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_EffectFlinchMinimizeHit
|
|
.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_EffectHit
|
|
.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_EffectBurnHit
|
|
.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_EffectPoisonHit
|
|
.4byte BattleScript_EffectMudSport
|
|
.4byte BattleScript_EffectCalmMind
|
|
.4byte BattleScript_EffectDragonDance
|
|
.4byte BattleScript_EffectCamouflage
|
|
|
|
BattleScript_EffectHit:: @ 81D6900
|
|
jumpifnotmove MOVE_SURF, BattleScript_81D6926
|
|
jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_81D6926
|
|
orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
|
|
setbyte sDMG_MULTIPLIER, 2
|
|
BattleScript_81D6926:: @ 81D6926
|
|
attackcanceler
|
|
BattleScript_81D6927:: @ 81D6927
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
BattleScript_81D692E:: @ 81D692E
|
|
attackstring
|
|
ppreduce
|
|
BattleScript_HitFromCritCalc:: @ 81D6930
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
adjustnormaldamage
|
|
BattleScript_81D6934:: @ 81D6934
|
|
attackanimation
|
|
waitanimation
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
resultmessage
|
|
waitmessage 64
|
|
seteffectwithchance
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
BattleScript_MoveEnd:: @ 81D694E
|
|
moveendall
|
|
end
|
|
|
|
BattleScript_81D6958:: @ 81D6958
|
|
orbyte gMoveResultFlags, MOVE_RESULT_MISSED
|
|
BattleScript_81D695E:: @ 81D695E
|
|
attackstring
|
|
ppreduce
|
|
BattleScript_MoveMissedPause:: @ 81D6960
|
|
pause 32
|
|
BattleScript_81D6963:: @ 81D6963
|
|
effectivenesssound
|
|
resultmessage
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSleep:: @ 81D696D
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D69B0
|
|
jumpifcantmakeasleep BattleScript_81D69CC
|
|
jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39
|
|
attackanimation
|
|
waitanimation
|
|
setmoveeffect MOVE_EFFECT_SLEEP
|
|
seteffectprimary
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D69B0:: @ 81D69B0
|
|
pause 32
|
|
printstring STRINGID_PKMNALREADYASLEEP
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D69BE:: @ 81D69BE
|
|
pause 32
|
|
printstring STRINGID_PKMNWASNTAFFECTED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D69CC:: @ 81D69CC
|
|
pause 32
|
|
printfromtable gUproarAwakeStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectPoisonHit:: @ 81D69DC
|
|
setmoveeffect MOVE_EFFECT_POISON
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectAbsorb:: @ 81D69E7
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
adjustnormaldamage
|
|
attackanimation
|
|
waitanimation
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
resultmessage
|
|
waitmessage 64
|
|
negativedamage
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
jumpifability BS_TARGET, ABILITY_LIQUID_OOZE, BattleScript_81D6A23
|
|
setbyte cMULTISTRING_CHOOSER, 0
|
|
goto BattleScript_81D6A2B
|
|
|
|
BattleScript_81D6A23:: @ 81D6A23
|
|
manipulatedamage 0
|
|
setbyte cMULTISTRING_CHOOSER, 1
|
|
BattleScript_81D6A2B:: @ 81D6A2B
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
jumpifmovehadnoeffect BattleScript_81D6A42
|
|
printfromtable gLeechSeedDrainStringIds
|
|
waitmessage 64
|
|
BattleScript_81D6A42:: @ 81D6A42
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectBurnHit:: @ 81D6A55
|
|
setmoveeffect MOVE_EFFECT_BURN
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectFreezeHit:: @ 81D6A60
|
|
setmoveeffect MOVE_EFFECT_FREEZE
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectParalyzeHit:: @ 81D6A6B
|
|
setmoveeffect MOVE_EFFECT_PARALYSIS
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectExplosion:: @ 81D6A76
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
faintifabilitynotdamp
|
|
setatkhptozero
|
|
waitstate
|
|
jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_81D6A91
|
|
call BattleScript_81D6AE7
|
|
goto BattleScript_81D6A93
|
|
|
|
BattleScript_81D6A91:: @ 81D6A91
|
|
attackanimation
|
|
waitanimation
|
|
BattleScript_81D6A93:: @ 81D6A93
|
|
movevaluescleanup
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
adjustnormaldamage
|
|
accuracycheck BattleScript_81D6ACC, ACC_CURR_MOVE
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
resultmessage
|
|
waitmessage 64
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
moveendto 16
|
|
jumpifnexttargetvalid BattleScript_81D6A93
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
end
|
|
|
|
BattleScript_81D6ACC:: @ 81D6ACC
|
|
effectivenesssound
|
|
resultmessage
|
|
waitmessage 64
|
|
moveendto 16
|
|
jumpifnexttargetvalid BattleScript_81D6A93
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
end
|
|
|
|
BattleScript_81D6AE7:: @ 81D6AE7
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_MISSED
|
|
attackanimation
|
|
waitanimation
|
|
orbyte gMoveResultFlags, MOVE_RESULT_MISSED
|
|
return
|
|
|
|
BattleScript_EffectDreamEater:: @ 81D6AF6
|
|
attackcanceler
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6B0B
|
|
jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D6B15
|
|
BattleScript_81D6B0B:: @ 81D6B0B
|
|
attackstring
|
|
ppreduce
|
|
waitmessage 64
|
|
goto BattleScript_81D69BE
|
|
|
|
BattleScript_81D6B15:: @ 81D6B15
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
adjustnormaldamage
|
|
attackanimation
|
|
waitanimation
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
resultmessage
|
|
waitmessage 64
|
|
negativedamage
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
jumpifmovehadnoeffect BattleScript_81D6B53
|
|
printstring STRINGID_PKMNDREAMEATEN
|
|
waitmessage 64
|
|
BattleScript_81D6B53:: @ 81D6B53
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectMirrorMove:: @ 81D6B5F
|
|
attackcanceler
|
|
attackstring
|
|
pause 64
|
|
trymirrormove
|
|
ppreduce
|
|
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
|
|
printstring STRINGID_MIRRORMOVEFAILED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectAttackUp:: @ 81D6B77
|
|
setstatchanger STAT_ATK, 1, FALSE
|
|
goto BattleScript_81D6B9E
|
|
|
|
BattleScript_EffectDefenseUp:: @ 81D6B82
|
|
setstatchanger STAT_DEF, 1, FALSE
|
|
goto BattleScript_81D6B9E
|
|
|
|
BattleScript_EffectSpecialAttackUp:: @ 81D6B8D
|
|
setstatchanger STAT_SPATK, 1, FALSE
|
|
goto BattleScript_81D6B9E
|
|
|
|
BattleScript_EffectEvasionUp:: @ 81D6B98
|
|
setstatchanger STAT_EVASION, 1, FALSE
|
|
BattleScript_81D6B9E:: @ 81D6B9E
|
|
attackcanceler
|
|
BattleScript_81D6B9F:: @ 81D6B9F
|
|
attackstring
|
|
ppreduce
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D6BCC
|
|
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D6BBA
|
|
pause 32
|
|
goto BattleScript_81D6BC4
|
|
|
|
BattleScript_81D6BBA:: @ 81D6BBA
|
|
attackanimation
|
|
waitanimation
|
|
BattleScript_81D6BBC:: @ 81D6BBC
|
|
setgraphicalstatchangevalues
|
|
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
|
BattleScript_81D6BC4:: @ 81D6BC4
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D6BCC:: @ 81D6BCC
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_StatUp:: @ 81D6BD1
|
|
playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_EffectAttackDown:: @ 81D6BE1
|
|
setstatchanger STAT_ATK, 1, TRUE
|
|
goto BattleScript_81D6C13
|
|
|
|
BattleScript_EffectDefenseDown:: @ 81D6BEC
|
|
setstatchanger STAT_DEF, 1, TRUE
|
|
goto BattleScript_81D6C13
|
|
|
|
BattleScript_EffectSpeedDown:: @ 81D6BF7
|
|
setstatchanger STAT_SPEED, 1, TRUE
|
|
goto BattleScript_81D6C13
|
|
|
|
BattleScript_EffectAccuracyDown:: @ 81D6C02
|
|
setstatchanger STAT_ACC, 1, TRUE
|
|
goto BattleScript_81D6C13
|
|
|
|
BattleScript_EffectEvasionDown:: @ 81D6C0D
|
|
setstatchanger STAT_EVASION, 1, TRUE
|
|
BattleScript_81D6C13:: @ 81D6C13
|
|
attackcanceler
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D7DF0
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D6C5D
|
|
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 2, BattleScript_81D6C4B
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 3, BattleScript_81D6C5D
|
|
pause 32
|
|
goto BattleScript_81D6C55
|
|
|
|
BattleScript_81D6C4B:: @ 81D6C4B
|
|
attackanimation
|
|
waitanimation
|
|
setgraphicalstatchangevalues
|
|
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
|
BattleScript_81D6C55:: @ 81D6C55
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
BattleScript_81D6C5D:: @ 81D6C5D
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_StatDown:: @ 81D6C62
|
|
playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_EffectHaze:: @ 81D6C72
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
attackanimation
|
|
waitanimation
|
|
normalisebuffs
|
|
printstring STRINGID_STATCHANGESGONE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectBide:: @ 81D6C83
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
attackanimation
|
|
waitanimation
|
|
orword gHitMarker, HITMARKER_CHARGING
|
|
setbide
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRampage:: @ 81D6C97
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6CAB
|
|
ppreduce
|
|
BattleScript_81D6CAB:: @ 81D6CAB
|
|
confuseifrepeatingattackends
|
|
goto BattleScript_HitFromCritCalc
|
|
|
|
BattleScript_EffectRoar:: @ 81D6CB1
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_81D9408
|
|
jumpifstatus3 BS_TARGET, STATUS3_ROOTED, BattleScript_81D8F27
|
|
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
|
|
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
|
|
forcerandomswitch BattleScript_ButItFailed
|
|
BattleScript_EffectMultiHit:: @ 81D6CD9
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
setmultihitcounter 0
|
|
initmultihitstring
|
|
setbyte sMULTIHIT_EFFECT, 0
|
|
BattleScript_81D6CEC:: @ 81D6CEC
|
|
jumpifhasnohp BS_ATTACKER, BattleScript_81D6D82
|
|
jumpifhasnohp BS_TARGET, BattleScript_81D6D63
|
|
jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D6D0E
|
|
jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6D63
|
|
BattleScript_81D6D0E:: @ 81D6D0E
|
|
movevaluescleanup
|
|
copybyte cEFFECT_CHOOSER, sMULTIHIT_EFFECT
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
jumpifmovehadnoeffect BattleScript_81D6D60
|
|
adjustnormaldamage
|
|
attackanimation
|
|
waitanimation
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
printstring STRINGID_EMPTYSTRING3
|
|
waitmessage 1
|
|
addbyte gBattleScripting + 12, 1
|
|
moveendto 16
|
|
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_81D6D63
|
|
decrementmultihit BattleScript_81D6CEC
|
|
goto BattleScript_81D6D63
|
|
|
|
BattleScript_81D6D60:: @ 81D6D60
|
|
pause 32
|
|
BattleScript_81D6D63:: @ 81D6D63
|
|
resultmessage
|
|
waitmessage 64
|
|
jumpifmovehadnoeffect BattleScript_81D6D82
|
|
copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6
|
|
printstring STRINGID_HITXTIMES
|
|
waitmessage 64
|
|
BattleScript_81D6D82:: @ 81D6D82
|
|
seteffectwithchance
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
moveendcase 2
|
|
moveendfrom 4
|
|
end
|
|
|
|
BattleScript_EffectConversion:: @ 81D6D9D
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
tryconversiontypechange BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNCHANGEDTYPE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectFlinchHit:: @ 81D6DB2
|
|
setmoveeffect MOVE_EFFECT_FLINCH
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectRestoreHp:: @ 81D6DBD
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_ATTACKER
|
|
attackanimation
|
|
waitanimation
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
printstring STRINGID_PKMNREGAINEDHEALTH
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectToxic:: @ 81D6DE0
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41
|
|
jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41
|
|
jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed
|
|
jumpiftype BS_TARGET, TYPE_POISON, BattleScript_81D7E04
|
|
jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_81D7E04
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39
|
|
attackanimation
|
|
waitanimation
|
|
setmoveeffect MOVE_EFFECT_TOXIC
|
|
seteffectprimary
|
|
resultmessage
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D6E41:: @ 81D6E41
|
|
pause 64
|
|
printstring STRINGID_PKMNALREADYPOISONED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D6E4F:: @ 81D6E4F
|
|
copybyte gEffectBattler, gBattlerTarget
|
|
setbyte cMULTISTRING_CHOOSER, 0
|
|
call BattleScript_PSNPrevention
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectPayDay:: @ 81D6E69
|
|
setmoveeffect MOVE_EFFECT_PAYDAY
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectLightScreen:: @ 81D6E74
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setlightscreen
|
|
goto BattleScript_81D7172
|
|
|
|
BattleScript_EffectTriAttack:: @ 81D6E7D
|
|
setmoveeffect MOVE_EFFECT_TRI_ATTACK
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectRest:: @ 81D6E88
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6EC2
|
|
jumpifcantmakeasleep BattleScript_81D6EB2
|
|
trysetrest BattleScript_AlreadyAtFullHp
|
|
pause 32
|
|
printfromtable gRestUsedStringIds
|
|
waitmessage 64
|
|
updatestatusicon BS_ATTACKER
|
|
waitstate
|
|
goto BattleScript_PresentHealTarget
|
|
|
|
BattleScript_81D6EB2:: @ 81D6EB2
|
|
pause 64
|
|
printfromtable gUproarAwakeStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D6EC2:: @ 81D6EC2
|
|
pause 32
|
|
printstring STRINGID_PKMNALREADYASLEEP2
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectOhko:: @ 81D6ED0
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
|
|
typecalc
|
|
jumpifmovehadnoeffect BattleScript_81D6934
|
|
tryKO BattleScript_81D6EF1
|
|
trysetdestinybondtohappen
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_81D6EF1:: @ 81D6EF1
|
|
pause 64
|
|
printfromtable gKOFailedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRazorWind:: @ 81D6F01
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29
|
|
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
|
|
setbyte sTWOTURN_STRINGID, 0
|
|
call BattleScript_81D6F58
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D6F29:: @ 81D6F29
|
|
attackcanceler
|
|
setmoveeffect MOVE_EFFECT_CHARGING
|
|
setbyte sB_ANIM_TURN, 1
|
|
clearstatusfromeffect BS_ATTACKER
|
|
orword gHitMarker, HITMARKER_NO_PPDEDUCT
|
|
jumpifnotmove MOVE_SKY_ATTACK, BattleScript_81D6927
|
|
setmoveeffect MOVE_EFFECT_FLINCH
|
|
goto BattleScript_81D6927
|
|
|
|
BattleScript_81D6F58:: @ 81D6F58
|
|
attackcanceler
|
|
printstring STRINGID_EMPTYSTRING3
|
|
ppreduce
|
|
attackanimation
|
|
waitanimation
|
|
orword gHitMarker, HITMARKER_CHARGING
|
|
setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER
|
|
seteffectprimary
|
|
copybyte cMULTISTRING_CHOOSER, sTWOTURN_STRINGID
|
|
printfromtable gFirstTurnOfTwoStringIds
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_EffectSuperFang:: @ 81D6F82
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
typecalc
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
|
|
damagetohalftargethp
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_EffectDragonRage:: @ 81D6F99
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
typecalc
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
|
|
setword gBattleMoveDamage, 40
|
|
adjustsetdamage
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_EffectTrap:: @ 81D6FC8
|
|
jumpifnotmove MOVE_WHIRLPOOL, BattleScript_81D6FEE
|
|
jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_81D6FEE
|
|
orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
|
|
setbyte sDMG_MULTIPLIER, 2
|
|
BattleScript_81D6FEE:: @ 81D6FEE
|
|
setmoveeffect MOVE_EFFECT_WRAP
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectDoubleHit:: @ 81D6FF9
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
setmultihitcounter 2
|
|
initmultihitstring
|
|
setbyte sMULTIHIT_EFFECT, 0
|
|
goto BattleScript_81D6CEC
|
|
|
|
BattleScript_EffectRecoilIfMiss:: @ 81D7011
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D701E, ACC_CURR_MOVE
|
|
goto BattleScript_81D692E
|
|
|
|
BattleScript_81D701E:: @ 81D701E
|
|
attackstring
|
|
ppreduce
|
|
pause 64
|
|
resultmessage
|
|
waitmessage 64
|
|
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_MoveEnd
|
|
printstring STRINGID_PKMNCRASHED
|
|
waitmessage 64
|
|
damagecalc
|
|
typecalc
|
|
adjustnormaldamage
|
|
manipulatedamage 1
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_MISSED
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
orbyte gMoveResultFlags, MOVE_RESULT_MISSED
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectMist:: @ 81D7062
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setmist
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gMistUsedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectFocusEnergy:: @ 81D7075
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed
|
|
setfocusenergy
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gFocusEnergyUsedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRecoil:: @ 81D7092
|
|
setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
|
jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit
|
|
incrementgamestat GAME_STAT_USED_STRUGGLE
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectConfuse:: @ 81D70AB
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D70EA
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39
|
|
attackanimation
|
|
waitanimation
|
|
setmoveeffect MOVE_EFFECT_CONFUSION
|
|
seteffectprimary
|
|
resultmessage
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D70EA:: @ 81D70EA
|
|
pause 32
|
|
printstring STRINGID_PKMNALREADYCONFUSED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectAttackUp2:: @ 81D70F8
|
|
setstatchanger STAT_ATK, 2, FALSE
|
|
goto BattleScript_81D6B9E
|
|
|
|
BattleScript_EffectDefenseUp2:: @ 81D7103
|
|
setstatchanger STAT_DEF, 2, FALSE
|
|
goto BattleScript_81D6B9E
|
|
|
|
BattleScript_EffectSpeedUp2:: @ 81D710E
|
|
setstatchanger STAT_SPEED, 2, FALSE
|
|
goto BattleScript_81D6B9E
|
|
|
|
BattleScript_EffectSpecialAttackUp2:: @ 81D7119
|
|
setstatchanger STAT_SPATK, 2, FALSE
|
|
goto BattleScript_81D6B9E
|
|
|
|
BattleScript_EffectSpecialDefenseUp2:: @ 81D7124
|
|
setstatchanger STAT_SPDEF, 2, FALSE
|
|
goto BattleScript_81D6B9E
|
|
|
|
BattleScript_EffectTransform:: @ 81D712F
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
transformdataexecution
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gTransformUsedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectAttackDown2:: @ 81D7142
|
|
setstatchanger STAT_ATK, 2, TRUE
|
|
goto BattleScript_81D6C13
|
|
|
|
BattleScript_EffectDefenseDown2:: @ 81D714D
|
|
setstatchanger STAT_DEF, 2, TRUE
|
|
goto BattleScript_81D6C13
|
|
|
|
BattleScript_EffectSpeedDown2:: @ 81D7158
|
|
setstatchanger STAT_SPEED, 2, TRUE
|
|
goto BattleScript_81D6C13
|
|
|
|
BattleScript_EffectSpecialDefenseDown2:: @ 81D7163
|
|
setstatchanger STAT_SPDEF, 2, TRUE
|
|
goto BattleScript_81D6C13
|
|
|
|
BattleScript_EffectReflect:: @ 81D716E
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setreflect
|
|
BattleScript_81D7172:: @ 81D7172
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gReflectLightScreenSafeguardStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectPoison:: @ 81D7181
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41
|
|
jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41
|
|
jumpiftype BS_TARGET, TYPE_POISON, BattleScript_81D7E04
|
|
jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_81D7E04
|
|
jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39
|
|
attackanimation
|
|
waitanimation
|
|
setmoveeffect MOVE_EFFECT_POISON
|
|
seteffectprimary
|
|
resultmessage
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectParalyze:: @ 81D71E2
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_81D7245
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
typecalc
|
|
jumpifmovehadnoeffect BattleScript_ButItFailed
|
|
jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D7237
|
|
jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39
|
|
attackanimation
|
|
waitanimation
|
|
setmoveeffect MOVE_EFFECT_PARALYSIS
|
|
seteffectprimary
|
|
resultmessage
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D7237:: @ 81D7237
|
|
pause 32
|
|
printstring STRINGID_PKMNISALREADYPARALYZED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D7245:: @ 81D7245
|
|
copybyte gEffectBattler, gBattlerTarget
|
|
setbyte cMULTISTRING_CHOOSER, 0
|
|
call BattleScript_PRLZPrevention
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectAttackDownHit:: @ 81D725F
|
|
setmoveeffect MOVE_EFFECT_ATK_MINUS_1
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectDefenseDownHit:: @ 81D726A
|
|
setmoveeffect MOVE_EFFECT_DEF_MINUS_1
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectSpeedDownHit:: @ 81D7275
|
|
setmoveeffect MOVE_EFFECT_SPD_MINUS_1
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectSpecialAttackDownHit:: @ 81D7280
|
|
setmoveeffect MOVE_EFFECT_SP_ATK_MINUS_1
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectSpecialDefenseDownHit:: @ 81D728B
|
|
setmoveeffect MOVE_EFFECT_SP_DEF_MINUS_1
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectAccuracyDownHit:: @ 81D7296
|
|
setmoveeffect MOVE_EFFECT_ACC_MINUS_1
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectSkyAttack:: @ 81D72A1
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29
|
|
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
|
|
setbyte sTWOTURN_STRINGID, 3
|
|
call BattleScript_81D6F58
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectConfuseHit:: @ 81D72C9
|
|
setmoveeffect MOVE_EFFECT_CONFUSION
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectTwineedle:: @ 81D72D4
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
setbyte sMULTIHIT_EFFECT, 2
|
|
attackstring
|
|
ppreduce
|
|
setmultihitcounter 2
|
|
initmultihitstring
|
|
goto BattleScript_81D6CEC
|
|
|
|
BattleScript_EffectSubstitute:: @ 81D72EC
|
|
attackcanceler
|
|
ppreduce
|
|
attackstring
|
|
waitstate
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_SUBSTITUTE, BattleScript_81D7321
|
|
setsubstitute
|
|
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_81D730E
|
|
pause 32
|
|
goto BattleScript_81D7314
|
|
|
|
BattleScript_81D730E:: @ 81D730E
|
|
attackanimation
|
|
waitanimation
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
BattleScript_81D7314:: @ 81D7314
|
|
printfromtable gSubsituteUsedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D7321:: @ 81D7321
|
|
pause 32
|
|
printstring STRINGID_PKMNHASSUBSTITUTE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRecharge:: @ 81D732F
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
setmoveeffect MOVE_EFFECT_RECHARGE | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
|
goto BattleScript_81D692E
|
|
|
|
BattleScript_MoveUsedMustRecharge:: @ 81D7342
|
|
printstring STRINGID_PKMNMUSTRECHARGE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRage:: @ 81D734D
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D7367, ACC_CURR_MOVE
|
|
setmoveeffect MOVE_EFFECT_RAGE
|
|
seteffectprimary
|
|
setmoveeffect MOVE_EFFECT_NOTHING_0
|
|
goto BattleScript_81D692E
|
|
|
|
BattleScript_81D7367:: @ 81D7367
|
|
setmoveeffect MOVE_EFFECT_RAGE
|
|
clearstatusfromeffect BS_ATTACKER
|
|
goto BattleScript_81D695E
|
|
|
|
BattleScript_EffectMimic:: @ 81D7374
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
|
|
mimicattackcopy BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNLEARNEDMOVE2
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectMetronome:: @ 81D739A
|
|
attackcanceler
|
|
attackstring
|
|
pause 32
|
|
attackanimation
|
|
waitanimation
|
|
setbyte sB_ANIM_TURN, 0
|
|
setbyte sB_ANIM_TARGETS_HIT, 0
|
|
metronome
|
|
BattleScript_EffectLeechSeed:: @ 81D73AE
|
|
attackcanceler
|
|
attackstring
|
|
pause 32
|
|
ppreduce
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
accuracycheck BattleScript_81D73C5, ACC_CURR_MOVE
|
|
BattleScript_81D73C5:: @ 81D73C5
|
|
setseeded
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gLeechSeedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSplash:: @ 81D73D5
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
attackanimation
|
|
waitanimation
|
|
incrementgamestat GAME_STAT_USED_SPLASH
|
|
printstring STRINGID_BUTNOTHINGHAPPENED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectDisable:: @ 81D73E7
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
disablelastusedattack BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNMOVEWASDISABLED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectLevelDamage:: @ 81D7403
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
typecalc
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
|
|
dmgtolevel
|
|
adjustsetdamage
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_EffectPsywave:: @ 81D741B
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
typecalc
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
|
|
psywavedamageeffect
|
|
adjustsetdamage
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_EffectCounter:: @ 81D7433
|
|
attackcanceler
|
|
counterdamagecalculator BattleScript_81D7DF0
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
typecalc2
|
|
adjustsetdamage
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_EffectEncore:: @ 81D7449
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
trysetencore BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNGOTENCORE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectPainSplit:: @ 81D7465
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
|
|
painsplitdmgcalc BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
copyword gBattleMoveDamage, gBattleScripting
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
printstring STRINGID_SHAREDPAIN
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSnore:: @ 81D749C
|
|
attackcanceler
|
|
jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D74AE
|
|
attackstring
|
|
ppreduce
|
|
goto BattleScript_ButItFailed
|
|
|
|
BattleScript_81D74AE:: @ 81D74AE
|
|
jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D74C2
|
|
printstring STRINGID_PKMNFASTASLEEP
|
|
waitmessage 64
|
|
statusanimation BS_ATTACKER
|
|
BattleScript_81D74C2:: @ 81D74C2
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
|
|
setmoveeffect MOVE_EFFECT_FLINCH
|
|
goto BattleScript_HitFromCritCalc
|
|
|
|
BattleScript_EffectConversion2:: @ 81D74D6
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
settypetorandomresistance BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNCHANGEDTYPE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectLockOn:: @ 81D74EB
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
setalwayshitflag
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNTOOKAIM
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSketch:: @ 81D750D
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
copymovepermanently BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNSKETCHEDMOVE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSleepTalk:: @ 81D752C
|
|
attackcanceler
|
|
jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D753E
|
|
attackstring
|
|
ppreduce
|
|
goto BattleScript_ButItFailed
|
|
|
|
BattleScript_81D753E:: @ 81D753E
|
|
printstring STRINGID_PKMNFASTASLEEP
|
|
waitmessage 64
|
|
statusanimation BS_ATTACKER
|
|
attackstring
|
|
ppreduce
|
|
orword gHitMarker, HITMARKER_NO_PPDEDUCT
|
|
trychoosesleeptalkmove BattleScript_81D755E
|
|
pause 64
|
|
goto BattleScript_ButItFailed
|
|
|
|
BattleScript_81D755E:: @ 81D755E
|
|
attackanimation
|
|
waitanimation
|
|
setbyte sB_ANIM_TURN, 0
|
|
setbyte sB_ANIM_TARGETS_HIT, 0
|
|
jumptocalledmove 1
|
|
BattleScript_EffectDestinyBond:: @ 81D756E
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setdestinybond
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNTRYINGTOTAKEFOE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectFlail:: @ 81D757F
|
|
remaininghptopower
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectSpite:: @ 81D7585
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
tryspiteppreduce BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNREDUCEDPP
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectHealBell:: @ 81D75A1
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
healpartystatus
|
|
waitstate
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gPartyStatusHealStringIds
|
|
waitmessage 64
|
|
jumpifnotmove MOVE_HEAL_BELL, BattleScript_81D75DE
|
|
jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 1, BattleScript_81D75CD
|
|
printstring STRINGID_PKMNSXBLOCKSY
|
|
waitmessage 64
|
|
BattleScript_81D75CD:: @ 81D75CD
|
|
jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 2, BattleScript_81D75DE
|
|
printstring STRINGID_PKMNSXBLOCKSY2
|
|
waitmessage 64
|
|
BattleScript_81D75DE:: @ 81D75DE
|
|
updatestatusicon BS_ATTACKER_WITH_PARTNER
|
|
waitstate
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectTripleKick:: @ 81D75E6
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setbyte sTRIPLE_KICK_POWER, 0
|
|
setbyte gBattleScripting + 19, 0
|
|
initmultihitstring
|
|
setmultihit 3
|
|
BattleScript_81D75F8:: @ 81D75F8
|
|
jumpifhasnohp BS_ATTACKER, BattleScript_81D76B7
|
|
jumpifhasnohp BS_TARGET, BattleScript_81D7679
|
|
jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D761A
|
|
jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D7679
|
|
BattleScript_81D761A:: @ 81D761A
|
|
accuracycheck BattleScript_81D7679, ACC_CURR_MOVE
|
|
movevaluescleanup
|
|
addbyte sTRIPLE_KICK_POWER, 10
|
|
addbyte gBattleScripting + 12, 1
|
|
copyhword gDynamicBasePower, sTRIPLE_KICK_POWER
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
adjustnormaldamage
|
|
jumpifmovehadnoeffect BattleScript_81D7679
|
|
attackanimation
|
|
waitanimation
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
printstring STRINGID_EMPTYSTRING3
|
|
waitmessage 1
|
|
moveendto 16
|
|
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_81D768D
|
|
decrementmultihit BattleScript_81D75F8
|
|
goto BattleScript_81D768D
|
|
|
|
BattleScript_81D7679:: @ 81D7679
|
|
pause 32
|
|
jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_81D768D
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_MISSED
|
|
BattleScript_81D768D:: @ 81D768D
|
|
resultmessage
|
|
waitmessage 64
|
|
jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_81D76B7
|
|
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_81D76B7
|
|
copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6
|
|
printstring STRINGID_HITXTIMES
|
|
waitmessage 64
|
|
BattleScript_81D76B7:: @ 81D76B7
|
|
seteffectwithchance
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
moveendfrom 14
|
|
end
|
|
|
|
BattleScript_EffectThief:: @ 81D76C9
|
|
setmoveeffect MOVE_EFFECT_STEAL_ITEM
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectMeanLook:: @ 81D76D4
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC
|
|
jumpifstatus2 BS_TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
setmoveeffect MOVE_EFFECT_PREVENT_ESCAPE
|
|
seteffectprimary
|
|
printstring STRINGID_TARGETCANTESCAPENOW
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectNightmare:: @ 81D7706
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
jumpifstatus2 BS_TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed
|
|
jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D772C
|
|
goto BattleScript_ButItFailed
|
|
|
|
BattleScript_81D772C:: @ 81D772C
|
|
attackanimation
|
|
waitanimation
|
|
setmoveeffect MOVE_EFFECT_NIGHTMARE
|
|
seteffectprimary
|
|
printstring STRINGID_PKMNFELLINTONIGHTMARE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectMinimize:: @ 81D7740
|
|
attackcanceler
|
|
setminimize
|
|
setstatchanger STAT_EVASION, 1, FALSE
|
|
goto BattleScript_81D6B9F
|
|
|
|
BattleScript_EffectCurse:: @ 81D774D
|
|
jumpiftype2 BS_ATTACKER, TYPE_GHOST, BattleScript_81D77C5
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0, BattleScript_81D7772
|
|
jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 12, BattleScript_81D7772
|
|
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_ButItFailed
|
|
BattleScript_81D7772:: @ 81D7772
|
|
copybyte gBattlerTarget, gBattlerAttacker
|
|
setbyte sB_ANIM_TURN, 1
|
|
attackanimation
|
|
waitanimation
|
|
setstatchanger STAT_SPEED, 1, TRUE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7798
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
BattleScript_81D7798:: @ 81D7798
|
|
setstatchanger STAT_ATK, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D77AC
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D77AC:: @ 81D77AC
|
|
setstatchanger STAT_DEF, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D77C0
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D77C0:: @ 81D77C0
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D77C5:: @ 81D77C5
|
|
jumpifbytenotequal gBattlerAttacker, gBattlerTarget, BattleScript_81D77D6
|
|
getmovetarget BS_ATTACKER
|
|
BattleScript_81D77D6:: @ 81D77D6
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
|
|
cursetarget BattleScript_ButItFailed
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
setbyte sB_ANIM_TURN, 0
|
|
attackanimation
|
|
waitanimation
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
printstring STRINGID_PKMNLAIDCURSE
|
|
waitmessage 64
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectProtect:: @ 81D7816
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setprotectlike
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gProtectLikeUsedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSpikes:: @ 81D7829
|
|
attackcanceler
|
|
trysetspikes BattleScript_81D7DF0
|
|
attackstring
|
|
ppreduce
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_SPIKESSCATTERED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectForesight:: @ 81D783E
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
setforesight
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNIDENTIFIED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectPerishSong:: @ 81D7856
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
trysetperishsong BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_FAINTINTHREE
|
|
waitmessage 64
|
|
setbyte sBATTLER, 0
|
|
BattleScript_81D786C:: @ 81D786C
|
|
jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_81D788C
|
|
BattleScript_81D7873:: @ 81D7873
|
|
addbyte sBATTLER, 1
|
|
jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_81D786C
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D788C:: @ 81D788C
|
|
printstring STRINGID_PKMNSXBLOCKSY2
|
|
waitmessage 64
|
|
goto BattleScript_81D7873
|
|
|
|
BattleScript_EffectSandstorm:: @ 81D7897
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setsandstorm
|
|
goto BattleScript_81D7A14
|
|
|
|
BattleScript_EffectRollout:: @ 81D78A0
|
|
attackcanceler
|
|
attackstring
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D78AD
|
|
ppreduce
|
|
BattleScript_81D78AD:: @ 81D78AD
|
|
accuracycheck BattleScript_81D78B4, ACC_CURR_MOVE
|
|
BattleScript_81D78B4:: @ 81D78B4
|
|
typecalc2
|
|
rolloutdamagecalculation
|
|
goto BattleScript_HitFromCritCalc
|
|
|
|
BattleScript_EffectSwagger:: @ 81D78BB
|
|
attackcanceler
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
jumpifconfusedandstatmaxed 1, BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
setstatchanger STAT_ATK, 2, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D78FE
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D78FE
|
|
setgraphicalstatchangevalues
|
|
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D78FE:: @ 81D78FE
|
|
jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39
|
|
setmoveeffect MOVE_EFFECT_CONFUSION
|
|
seteffectprimary
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectFuryCutter:: @ 81D7919
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_81D7923, ACC_CURR_MOVE
|
|
BattleScript_81D7923:: @ 81D7923
|
|
furycuttercalc
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
jumpifmovehadnoeffect BattleScript_81D7923
|
|
adjustnormaldamage
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_EffectAttract:: @ 81D7938
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
tryinfatuating BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNFELLINLOVE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectReturn:: @ 81D7954
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
happinesstodamagecalculation
|
|
goto BattleScript_81D692E
|
|
|
|
BattleScript_EffectPresent:: @ 81D7962
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
typecalc
|
|
presentdamagecalculation
|
|
BattleScript_EffectSafeguard:: @ 81D796E
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setsafeguard
|
|
goto BattleScript_81D7172
|
|
|
|
BattleScript_EffectThawHit:: @ 81D7977
|
|
setmoveeffect MOVE_EFFECT_BURN
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectMagnitude:: @ 81D7982
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
selectfirstvalidtarget
|
|
magnitudedamagecalculation
|
|
pause 32
|
|
printstring STRINGID_MAGNITUDESTRENGTH
|
|
waitmessage 64
|
|
goto BattleScript_81D7B17
|
|
|
|
BattleScript_EffectBatonPass:: @ 81D7995
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifcantswitch BS_ATTACKER | 0x80, BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
openpartyscreen 1, BattleScript_ButItFailed
|
|
switchoutabilities BS_ATTACKER
|
|
waitstate
|
|
switchhandleorder BS_ATTACKER, 2
|
|
returntoball BS_ATTACKER
|
|
getswitchedmondata BS_ATTACKER
|
|
switchindataupdate BS_ATTACKER
|
|
hpthresholds BS_ATTACKER
|
|
printstring STRINGID_SWITCHINMON
|
|
switchinanim BS_ATTACKER, 1
|
|
waitstate
|
|
switchineffects BS_ATTACKER
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRapidSpin:: @ 81D79C2
|
|
setmoveeffect MOVE_EFFECT_RAPIDSPIN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectSonicboom:: @ 81D79CD
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
typecalc
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
|
|
setword gBattleMoveDamage, 20
|
|
adjustsetdamage
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_EffectMorningSun:: @ 81D79FC
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
recoverbasedonsunlight BattleScript_AlreadyAtFullHp
|
|
goto BattleScript_PresentHealTarget
|
|
|
|
BattleScript_EffectHiddenPower:: @ 81D7A09
|
|
attackcanceler
|
|
hiddenpowercalc
|
|
goto BattleScript_81D6927
|
|
|
|
BattleScript_EffectRainDance:: @ 81D7A10
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setrain
|
|
BattleScript_81D7A14:: @ 81D7A14
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gMoveWeatherChangeStringIds
|
|
waitmessage 64
|
|
call BattleScript_81D92DC
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSunnyDay:: @ 81D7A28
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setsunny
|
|
goto BattleScript_81D7A14
|
|
|
|
BattleScript_EffectDefenseUpHit:: @ 81D7A31
|
|
setmoveeffect MOVE_EFFECT_DEF_PLUS_1 | MOVE_EFFECT_AFFECTS_USER
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectAttackUpHit:: @ 81D7A3C
|
|
setmoveeffect MOVE_EFFECT_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectAllStatsUpHit:: @ 81D7A47
|
|
setmoveeffect MOVE_EFFECT_ALL_STATS_UP | MOVE_EFFECT_AFFECTS_USER
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectBellyDrum:: @ 81D7A52
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
maxattackhalvehp BattleScript_ButItFailed
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
attackanimation
|
|
waitanimation
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
printstring STRINGID_PKMNCUTHPMAXEDATTACK
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectPsychUp:: @ 81D7A74
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
copyfoestats BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNCOPIEDSTATCHANGES
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectMirrorCoat:: @ 81D7A89
|
|
attackcanceler
|
|
mirrorcoatdamagecalculator BattleScript_81D7DF0
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
typecalc2
|
|
adjustsetdamage
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_EffectSkullBash:: @ 81D7A9F
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29
|
|
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
|
|
setbyte sTWOTURN_STRINGID, 2
|
|
call BattleScript_81D6F58
|
|
setstatchanger STAT_DEF, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7AE9
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D7AE9
|
|
setgraphicalstatchangevalues
|
|
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D7AE9:: @ 81D7AE9
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectTwister:: @ 81D7AEE
|
|
jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_81D7B08
|
|
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
|
|
setbyte sDMG_MULTIPLIER, 2
|
|
BattleScript_81D7B08:: @ 81D7B08
|
|
setmoveeffect MOVE_EFFECT_FLINCH
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectEarthquake:: @ 81D7B13
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
selectfirstvalidtarget
|
|
BattleScript_81D7B17:: @ 81D7B17
|
|
movevaluescleanup
|
|
jumpifnostatus3 BS_TARGET, STATUS3_UNDERGROUND, BattleScript_81D7B37
|
|
orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
|
|
setbyte sDMG_MULTIPLIER, 2
|
|
goto BattleScript_81D7B46
|
|
|
|
BattleScript_81D7B37:: @ 81D7B37
|
|
bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
|
|
setbyte sDMG_MULTIPLIER, 1
|
|
BattleScript_81D7B46:: @ 81D7B46
|
|
accuracycheck BattleScript_81D7B7F, ACC_CURR_MOVE
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
adjustnormaldamage
|
|
attackanimation
|
|
waitanimation
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
resultmessage
|
|
waitmessage 64
|
|
printstring STRINGID_EMPTYSTRING3
|
|
waitmessage 1
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
moveendto 16
|
|
jumpifnexttargetvalid BattleScript_81D7B17
|
|
end
|
|
|
|
BattleScript_81D7B7F:: @ 81D7B7F
|
|
pause 32
|
|
typecalc
|
|
effectivenesssound
|
|
resultmessage
|
|
waitmessage 64
|
|
moveendto 16
|
|
jumpifnexttargetvalid BattleScript_81D7B17
|
|
end
|
|
|
|
BattleScript_EffectFutureSight:: @ 81D7B97
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
trysetfutureattack BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gFutureMoveUsedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectGust:: @ 81D7BAE
|
|
jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_EffectHit
|
|
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
|
|
setbyte sDMG_MULTIPLIER, 2
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectFlinchMinimizeHit:: @ 81D7BCD
|
|
jumpifnostatus3 BS_TARGET, STATUS3_MINIMIZED, BattleScript_81D7B08
|
|
setbyte sDMG_MULTIPLIER, 2
|
|
goto BattleScript_81D7B08
|
|
|
|
BattleScript_EffectSolarbeam:: @ 81D7BE3
|
|
jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_81D7BFB
|
|
jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_81D7BFB
|
|
jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 96, BattleScript_81D7C23
|
|
BattleScript_81D7BFB:: @ 81D7BFB
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29
|
|
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
|
|
setbyte sTWOTURN_STRINGID, 1
|
|
call BattleScript_81D6F58
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D7C23:: @ 81D7C23
|
|
orword gHitMarker, HITMARKER_CHARGING
|
|
setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER
|
|
seteffectprimary
|
|
ppreduce
|
|
goto BattleScript_81D6F29
|
|
|
|
BattleScript_EffectThunder:: @ 81D7C39
|
|
setmoveeffect MOVE_EFFECT_PARALYSIS
|
|
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectTeleport:: @ 81D7C4D
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
|
|
getifcantrunfrombattle BS_ATTACKER
|
|
jumpifbyte CMP_EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed
|
|
jumpifbyte CMP_EQUAL, gBattleCommunication, 2, BattleScript_81D8255
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNFLEDFROMBATTLE
|
|
waitmessage 64
|
|
setbyte gBattleOutcome, B_OUTCOME_PLAYER_TELEPORTED
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectBeatUp:: @ 81D7C8A
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
pause 32
|
|
ppreduce
|
|
setbyte gBattleCommunication, 0
|
|
BattleScript_81D7C9D:: @ 81D7C9D
|
|
movevaluescleanup
|
|
trydobeatup BattleScript_81D7CE0, BattleScript_ButItFailed
|
|
printstring STRINGID_PKMNATTACK
|
|
critcalc
|
|
jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 2, BattleScript_81D7CB8
|
|
manipulatedamage 2
|
|
BattleScript_81D7CB8:: @ 81D7CB8
|
|
adjustnormaldamage
|
|
attackanimation
|
|
waitanimation
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
resultmessage
|
|
waitmessage 64
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
moveendto 16
|
|
goto BattleScript_81D7C9D
|
|
|
|
BattleScript_81D7CE0:: @ 81D7CE0
|
|
end
|
|
|
|
BattleScript_EffectSemiInvulnerable:: @ 81D7CE1
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7D4F
|
|
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D7D4F
|
|
jumpifmove MOVE_FLY, BattleScript_81D7D3E
|
|
jumpifmove MOVE_DIVE, BattleScript_81D7D33
|
|
jumpifmove MOVE_BOUNCE, BattleScript_81D7D28
|
|
setbyte sTWOTURN_STRINGID, 5
|
|
goto BattleScript_81D7D44
|
|
|
|
BattleScript_81D7D28:: @ 81D7D28
|
|
setbyte sTWOTURN_STRINGID, 7
|
|
goto BattleScript_81D7D44
|
|
|
|
BattleScript_81D7D33:: @ 81D7D33
|
|
setbyte sTWOTURN_STRINGID, 6
|
|
goto BattleScript_81D7D44
|
|
|
|
BattleScript_81D7D3E:: @ 81D7D3E
|
|
setbyte sTWOTURN_STRINGID, 4
|
|
BattleScript_81D7D44:: @ 81D7D44
|
|
call BattleScript_81D6F58
|
|
setsemiinvulnerablebit
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D7D4F:: @ 81D7D4F
|
|
attackcanceler
|
|
setmoveeffect MOVE_EFFECT_CHARGING
|
|
setbyte sB_ANIM_TURN, 1
|
|
clearstatusfromeffect BS_ATTACKER
|
|
orword gHitMarker, HITMARKER_NO_PPDEDUCT
|
|
jumpifnotmove MOVE_BOUNCE, BattleScript_81D7D79
|
|
setmoveeffect MOVE_EFFECT_PARALYSIS
|
|
BattleScript_81D7D79:: @ 81D7D79
|
|
accuracycheck BattleScript_81D7D86, ACC_CURR_MOVE
|
|
clearsemiinvulnerablebit
|
|
goto BattleScript_81D692E
|
|
|
|
BattleScript_81D7D86:: @ 81D7D86
|
|
clearsemiinvulnerablebit
|
|
goto BattleScript_81D695E
|
|
|
|
BattleScript_EffectDefenseCurl:: @ 81D7D8C
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setdefensecurlbit
|
|
setstatchanger STAT_DEF, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7DA9
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D6BC4
|
|
attackanimation
|
|
waitanimation
|
|
BattleScript_81D7DA9:: @ 81D7DA9
|
|
goto BattleScript_81D6BBC
|
|
|
|
BattleScript_EffectSoftboiled:: @ 81D7DAE
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_TARGET
|
|
BattleScript_PresentHealTarget:: @ 81D7DB7
|
|
attackanimation
|
|
waitanimation
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
printstring STRINGID_PKMNREGAINEDHEALTH
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_AlreadyAtFullHp:: @ 81D7DD1
|
|
pause 32
|
|
printstring STRINGID_PKMNHPFULL
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectFakeOut:: @ 81D7DDF
|
|
attackcanceler
|
|
jumpifnotfirstturn BattleScript_81D7DF0
|
|
setmoveeffect MOVE_EFFECT_FLINCH | MOVE_EFFECT_CERTAIN
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_81D7DF0:: @ 81D7DF0
|
|
attackstring
|
|
BattleScript_81D7DF1:: @ 81D7DF1
|
|
ppreduce
|
|
BattleScript_ButItFailed:: @ 81D7DF2
|
|
pause 32
|
|
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
|
|
resultmessage
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D7E04:: @ 81D7E04
|
|
pause 32
|
|
orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE
|
|
resultmessage
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectUproar:: @ 81D7E16
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
setmoveeffect MOVE_EFFECT_UPROAR | MOVE_EFFECT_AFFECTS_USER
|
|
attackstring
|
|
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7E30
|
|
ppreduce
|
|
BattleScript_81D7E30:: @ 81D7E30
|
|
nop
|
|
goto BattleScript_HitFromCritCalc
|
|
|
|
BattleScript_EffectStockpile:: @ 81D7E36
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
stockpile
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gStockpileUsedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSpitUp:: @ 81D7E49
|
|
attackcanceler
|
|
jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_81D7E78
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
stockpiletobasedamage BattleScript_81D7E6A
|
|
typecalc
|
|
adjustsetdamage
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_81D7E6A:: @ 81D7E6A
|
|
pause 32
|
|
printstring STRINGID_FAILEDTOSPITUP
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D7E78:: @ 81D7E78
|
|
attackstring
|
|
ppreduce
|
|
pause 64
|
|
stockpiletobasedamage BattleScript_81D7E6A
|
|
resultmessage
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSwallow:: @ 81D7E8B
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
stockpiletohpheal BattleScript_81D7E98
|
|
goto BattleScript_PresentHealTarget
|
|
|
|
BattleScript_81D7E98:: @ 81D7E98
|
|
pause 32
|
|
printfromtable gSwallowFailStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectHail:: @ 81D7EA8
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
sethail
|
|
goto BattleScript_81D7A14
|
|
|
|
BattleScript_EffectTorment:: @ 81D7EB1
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
settorment BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNSUBJECTEDTOTORMENT
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectFlatter:: @ 81D7ECD
|
|
attackcanceler
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
jumpifconfusedandstatmaxed 4, BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
setstatchanger STAT_SPATK, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D7F10
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D7F10
|
|
setgraphicalstatchangevalues
|
|
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D7F10:: @ 81D7F10
|
|
jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39
|
|
setmoveeffect MOVE_EFFECT_CONFUSION
|
|
seteffectprimary
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectWillOWisp:: @ 81D7F2B
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
jumpifstatus BS_TARGET, STATUS1_BURN, BattleScript_81D7F91
|
|
jumpiftype BS_TARGET, TYPE_FIRE, BattleScript_81D7E04
|
|
jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_81D7F77
|
|
jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39
|
|
attackanimation
|
|
waitanimation
|
|
setmoveeffect MOVE_EFFECT_BURN
|
|
seteffectprimary
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D7F77:: @ 81D7F77
|
|
copybyte gEffectBattler, gBattlerTarget
|
|
setbyte cMULTISTRING_CHOOSER, 0
|
|
call BattleScript_BRNPrevention
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D7F91:: @ 81D7F91
|
|
pause 32
|
|
printstring STRINGID_PKMNALREADYHASBURN
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectMemento:: @ 81D7F9F
|
|
attackcanceler
|
|
jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_81D8026
|
|
attackstring
|
|
ppreduce
|
|
jumpifattackandspecialattackcannotfall BattleScript_ButItFailed
|
|
setatkhptozero
|
|
attackanimation
|
|
waitanimation
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D801B
|
|
setbyte sSTAT_ANIM_PLAYED, 0
|
|
playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_ONLY_MULTIPLE
|
|
playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO
|
|
setstatchanger STAT_ATK, 2, TRUE
|
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D7FEC
|
|
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D7FEC
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
BattleScript_81D7FEC:: @ 81D7FEC
|
|
playstatchangeanimation BS_TARGET, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO
|
|
setstatchanger STAT_SPATK, 2, TRUE
|
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D800F
|
|
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D800F
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
BattleScript_81D800F:: @ 81D800F
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D801B:: @ 81D801B
|
|
printstring STRINGID_BUTNOEFFECT
|
|
waitmessage 64
|
|
goto BattleScript_81D800F
|
|
|
|
BattleScript_81D8026:: @ 81D8026
|
|
attackstring
|
|
ppreduce
|
|
jumpifattackandspecialattackcannotfall BattleScript_81D802D
|
|
BattleScript_81D802D:: @ 81D802D
|
|
setatkhptozero
|
|
pause 64
|
|
effectivenesssound
|
|
resultmessage
|
|
waitmessage 64
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectFacade:: @ 81D8042
|
|
jumpifstatus BS_ATTACKER, STATUS1_POISON | STATUS1_PARALYSIS | STATUS1_BURN | STATUS1_TOXIC_POISON, BattleScript_81D8051
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_81D8051:: @ 81D8051
|
|
setbyte sDMG_MULTIPLIER, 2
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectFocusPunch:: @ 81D805C
|
|
attackcanceler
|
|
jumpifnodamage BattleScript_81D6927
|
|
ppreduce
|
|
printstring STRINGID_PKMNLOSTFOCUS
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSmellingsalt:: @ 81D806E
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit
|
|
setmoveeffect MOVE_EFFECT_REMOVE_PARALYSIS | MOVE_EFFECT_CERTAIN
|
|
jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D808D
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_81D808D:: @ 81D808D
|
|
setbyte sDMG_MULTIPLIER, 2
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectFollowMe:: @ 81D8098
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setforcedtarget
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNCENTERATTENTION
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectNaturePower:: @ 81D80A9
|
|
attackcanceler
|
|
attackstring
|
|
pause 32
|
|
callterrainattack
|
|
printstring STRINGID_NATUREPOWERTURNEDINTO
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_EffectCharge:: @ 81D80B6
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setcharge
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNCHARGINGPOWER
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectTaunt:: @ 81D80C7
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
settaunt BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNFELLFORTAUNT
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectHelpingHand:: @ 81D80E3
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
trysethelpinghand BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNREADYTOHELP
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectTrick:: @ 81D80F8
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
tryswapitems BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNSWITCHEDITEMS
|
|
waitmessage 64
|
|
printfromtable gItemSwapStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRolePlay:: @ 81D8126
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
|
|
trycopyability BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNCOPIEDFOE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectWish:: @ 81D8142
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
trywish 0, BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectAssist:: @ 81D8152
|
|
attackcanceler
|
|
attackstring
|
|
assistattackselect BattleScript_81D7DF1
|
|
attackanimation
|
|
waitanimation
|
|
setbyte sB_ANIM_TURN, 0
|
|
setbyte sB_ANIM_TARGETS_HIT, 0
|
|
jumptocalledmove 1
|
|
BattleScript_EffectIngrain:: @ 81D8169
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
trysetroots BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNPLANTEDROOTS
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSuperpower:: @ 81D817E
|
|
setmoveeffect MOVE_EFFECT_ATK_DEF_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectMagicCoat:: @ 81D8189
|
|
attackcanceler
|
|
trysetmagiccoat BattleScript_81D7DF0
|
|
attackstring
|
|
ppreduce
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNSHROUDEDITSELF
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRecycle:: @ 81D819E
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
tryrecycleitem BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_XFOUNDONEY
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRevenge:: @ 81D81B3
|
|
doubledamagedealtifdamaged
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectBrickBreak:: @ 81D81B9
|
|
attackcanceler
|
|
accuracycheck BattleScript_81D695E, ACC_CURR_MOVE
|
|
attackstring
|
|
ppreduce
|
|
removelightscreenreflect
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
adjustnormaldamage
|
|
jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0, BattleScript_81D81D9
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE
|
|
BattleScript_81D81D9:: @ 81D81D9
|
|
attackanimation
|
|
waitanimation
|
|
jumpifbyte CMP_LESS_THAN, sB_ANIM_TURN, 2, BattleScript_81D81EC
|
|
printstring STRINGID_THEWALLSHATTERED
|
|
waitmessage 64
|
|
BattleScript_81D81EC:: @ 81D81EC
|
|
typecalc2
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
resultmessage
|
|
waitmessage 64
|
|
seteffectwithchance
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectYawn:: @ 81D820A
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_81D824B
|
|
jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_81D824B
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39
|
|
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
|
|
jumpifcantmakeasleep BattleScript_ButItFailed
|
|
setyawn BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNWASMADEDROWSY
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D824B:: @ 81D824B
|
|
copybyte sBATTLER, sBATTLER_WITH_ABILITY
|
|
BattleScript_81D8255:: @ 81D8255
|
|
pause 32
|
|
printstring STRINGID_PKMNSXMADEITINEFFECTIVE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectKnockOff:: @ 81D8263
|
|
setmoveeffect MOVE_EFFECT_KNOCK_OFF
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectEndeavor:: @ 81D826E
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setdamagetohealthdifference BattleScript_ButItFailed
|
|
copyword gHpDealt, gBattleMoveDamage
|
|
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
|
|
typecalc
|
|
jumpifmovehadnoeffect BattleScript_81D6934
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
|
|
copyword gBattleMoveDamage, gHpDealt
|
|
adjustsetdamage
|
|
goto BattleScript_81D6934
|
|
|
|
BattleScript_EffectEruption:: @ 81D82A9
|
|
scaledamagebyhealthratio
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectSkillSwap:: @ 81D82AF
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
|
|
tryswapabilities BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNSWAPPEDABILITIES
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectImprison:: @ 81D82CB
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
tryimprison BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNSEALEDOPPONENTMOVE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectRefresh:: @ 81D82E0
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
cureifburnedparalysedorpoisoned BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNSTATUSNORMAL
|
|
waitmessage 64
|
|
updatestatusicon BS_ATTACKER
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectGrudge:: @ 81D82F7
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
trysetgrudge BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNWANTSGRUDGE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSnatch:: @ 81D830C
|
|
attackcanceler
|
|
trysetsnatch BattleScript_81D7DF0
|
|
attackstring
|
|
ppreduce
|
|
attackanimation
|
|
waitanimation
|
|
pause 32
|
|
printstring STRINGID_PKMNWAITSFORTARGET
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectLowKick:: @ 81D8324
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
weightdamagecalculation
|
|
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
|
|
goto BattleScript_HitFromCritCalc
|
|
|
|
BattleScript_EffectSecretPower:: @ 81D8334
|
|
getsecretpowereffect
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectDoubleEdge:: @ 81D833A
|
|
setmoveeffect MOVE_EFFECT_RECOIL_33 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectTeeterDance:: @ 81D8345
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
setbyte gBattlerTarget, 0
|
|
BattleScript_81D834E:: @ 81D834E
|
|
movevaluescleanup
|
|
setmoveeffect MOVE_EFFECT_CONFUSION
|
|
jumpifbyteequal gBattlerAttacker, gBattlerTarget, BattleScript_81D8394
|
|
jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D83B2
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D83CE
|
|
jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D83DC
|
|
accuracycheck BattleScript_81D83EA, ACC_CURR_MOVE
|
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D83C0
|
|
attackanimation
|
|
waitanimation
|
|
seteffectprimary
|
|
resultmessage
|
|
waitmessage 64
|
|
BattleScript_81D8394:: @ 81D8394
|
|
moveendto 16
|
|
addbyte gBattlerTarget, 1
|
|
jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_81D834E
|
|
end
|
|
|
|
BattleScript_81D83B2:: @ 81D83B2
|
|
pause 32
|
|
printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
|
|
waitmessage 64
|
|
goto BattleScript_81D8394
|
|
|
|
BattleScript_81D83C0:: @ 81D83C0
|
|
pause 32
|
|
printstring STRINGID_PKMNUSEDSAFEGUARD
|
|
waitmessage 64
|
|
goto BattleScript_81D8394
|
|
|
|
BattleScript_81D83CE:: @ 81D83CE
|
|
pause 32
|
|
printstring STRINGID_BUTITFAILED
|
|
waitmessage 64
|
|
goto BattleScript_81D8394
|
|
|
|
BattleScript_81D83DC:: @ 81D83DC
|
|
pause 32
|
|
printstring STRINGID_PKMNALREADYCONFUSED
|
|
waitmessage 64
|
|
goto BattleScript_81D8394
|
|
|
|
BattleScript_81D83EA:: @ 81D83EA
|
|
resultmessage
|
|
waitmessage 64
|
|
goto BattleScript_81D8394
|
|
|
|
BattleScript_EffectMudSport:: @ 81D83F3
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
settypebasedhalvers BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printfromtable gSportsUsedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectPoisonFang:: @ 81D840A
|
|
setmoveeffect MOVE_EFFECT_TOXIC
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectWeatherBall:: @ 81D8415
|
|
setweatherballtype
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectOverheat:: @ 81D841B
|
|
setmoveeffect MOVE_EFFECT_SP_ATK_TWO_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectTickle:: @ 81D8426
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0, BattleScript_81D843B
|
|
jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0, BattleScript_81D8499
|
|
BattleScript_81D843B:: @ 81D843B
|
|
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
|
attackanimation
|
|
waitanimation
|
|
setbyte sSTAT_ANIM_PLAYED, 0
|
|
playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE
|
|
playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE
|
|
setstatchanger STAT_ATK, 1, TRUE
|
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D8471
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8471
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
BattleScript_81D8471:: @ 81D8471
|
|
playstatchangeanimation BS_TARGET, BIT_DEF, ATK48_STAT_NEGATIVE
|
|
setstatchanger STAT_DEF, 1, TRUE
|
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D8494
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8494
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
BattleScript_81D8494:: @ 81D8494
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D8499:: @ 81D8499
|
|
pause 32
|
|
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
|
|
printstring STRINGID_STATSWONTDECREASE2
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectCosmicPower:: @ 81D84AD
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_81D84C2
|
|
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D85E7
|
|
BattleScript_81D84C2:: @ 81D84C2
|
|
attackanimation
|
|
waitanimation
|
|
setbyte sSTAT_ANIM_PLAYED, 0
|
|
playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, 0
|
|
setstatchanger STAT_DEF, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D84ED
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D84ED
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D84ED:: @ 81D84ED
|
|
setstatchanger STAT_SPDEF, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D850C
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D850C
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D850C:: @ 81D850C
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectSkyUppercut:: @ 81D8511
|
|
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
|
|
goto BattleScript_EffectHit
|
|
|
|
BattleScript_EffectBulkUp:: @ 81D851F
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8534
|
|
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_81D85E7
|
|
BattleScript_81D8534:: @ 81D8534
|
|
attackanimation
|
|
waitanimation
|
|
setbyte sSTAT_ANIM_PLAYED, 0
|
|
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0
|
|
setstatchanger STAT_ATK, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D855F
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D855F
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D855F:: @ 81D855F
|
|
setstatchanger STAT_DEF, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D857E
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D857E
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D857E:: @ 81D857E
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectCalmMind:: @ 81D8583
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_81D8598
|
|
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D85E7
|
|
BattleScript_81D8598:: @ 81D8598
|
|
attackanimation
|
|
waitanimation
|
|
setbyte sSTAT_ANIM_PLAYED, 0
|
|
playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0
|
|
setstatchanger STAT_SPATK, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D85C3
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D85C3
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D85C3:: @ 81D85C3
|
|
setstatchanger STAT_SPDEF, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D85E2
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D85E2
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D85E2:: @ 81D85E2
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D85E7:: @ 81D85E7
|
|
pause 32
|
|
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
|
|
printstring STRINGID_STATSWONTINCREASE2
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectDragonDance:: @ 81D85FB
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8610
|
|
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 12, BattleScript_81D85E7
|
|
BattleScript_81D8610:: @ 81D8610
|
|
attackanimation
|
|
waitanimation
|
|
setbyte sSTAT_ANIM_PLAYED, 0
|
|
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_SPEED, 0
|
|
setstatchanger STAT_ATK, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D863B
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D863B
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D863B:: @ 81D863B
|
|
setstatchanger STAT_SPEED, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D865A
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D865A
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D865A:: @ 81D865A
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_EffectCamouflage:: @ 81D865F
|
|
attackcanceler
|
|
attackstring
|
|
ppreduce
|
|
settypetoterrain BattleScript_ButItFailed
|
|
attackanimation
|
|
waitanimation
|
|
printstring STRINGID_PKMNCHANGEDTYPE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_FaintAttacker:: @ 81D8674
|
|
playfaintcry BS_ATTACKER
|
|
pause 64
|
|
dofaintanimation BS_ATTACKER
|
|
cleareffectsonfaint BS_ATTACKER
|
|
printstring STRINGID_ATTACKERFAINTED
|
|
printstring STRINGID_EMPTYSTRING3
|
|
return
|
|
|
|
BattleScript_FaintTarget:: @ 81D8684
|
|
playfaintcry BS_TARGET
|
|
pause 64
|
|
dofaintanimation BS_TARGET
|
|
cleareffectsonfaint BS_TARGET
|
|
printstring STRINGID_TARGETFAINTED
|
|
printstring STRINGID_EMPTYSTRING3
|
|
return
|
|
|
|
BattleScript_GiveExp:: @ 81D8694
|
|
setbyte sGIVEEXP_STATE, 0
|
|
getexp BS_TARGET
|
|
end2
|
|
|
|
BattleScript_HandleFaintedMon:: @ 81D869D
|
|
atk24 BattleScript_81D87B8
|
|
jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D87B7
|
|
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D86E6
|
|
jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D86E6
|
|
printstring STRINGID_USENEXTPKMN
|
|
setbyte gBattleCommunication, 0
|
|
yesnobox
|
|
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0, BattleScript_81D86E6
|
|
jumpifplayerran BattleScript_81D87B7
|
|
printstring STRINGID_CANTESCAPE2
|
|
BattleScript_81D86E6:: @ 81D86E6
|
|
openpartyscreen 3, BattleScript_81D87B7
|
|
switchhandleorder BS_FAINTED, 2
|
|
jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_81D8792
|
|
jumpifbattletype BATTLE_TYPE_LINK, BattleScript_81D8792
|
|
jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_81D8792
|
|
jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D8792
|
|
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D8792
|
|
jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 1, BattleScript_81D8792
|
|
jumpifcantswitch BS_PLAYER1, BattleScript_81D8792
|
|
printstring STRINGID_ENEMYABOUTTOSWITCHPKMN
|
|
setbyte gBattleCommunication, 0
|
|
yesnobox
|
|
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 1, BattleScript_81D8792
|
|
setatktoplayer0
|
|
openpartyscreen 129, BattleScript_81D8792
|
|
switchhandleorder BS_ATTACKER, 2
|
|
jumpifbyte CMP_EQUAL, gBattleCommunication, 6, BattleScript_81D8792
|
|
atknameinbuff1
|
|
resetintimidatetracebits BS_ATTACKER
|
|
hpthresholds2 BS_ATTACKER
|
|
printstring STRINGID_RETURNMON
|
|
switchoutabilities BS_ATTACKER
|
|
waitstate
|
|
returnatktoball
|
|
waitstate
|
|
drawpartystatussummary BS_ATTACKER
|
|
getswitchedmondata BS_ATTACKER
|
|
switchindataupdate BS_ATTACKER
|
|
hpthresholds BS_ATTACKER
|
|
printstring STRINGID_SWITCHINMON
|
|
hidepartystatussummary BS_ATTACKER
|
|
switchinanim BS_ATTACKER, 0
|
|
waitstate
|
|
switchineffects BS_ATTACKER
|
|
resetsentmonsvalue
|
|
BattleScript_81D8792:: @ 81D8792
|
|
drawpartystatussummary BS_FAINTED
|
|
getswitchedmondata BS_FAINTED
|
|
switchindataupdate BS_FAINTED
|
|
hpthresholds BS_FAINTED
|
|
printstring STRINGID_SWITCHINMON
|
|
hidepartystatussummary BS_FAINTED
|
|
switchinanim BS_FAINTED, 0
|
|
waitstate
|
|
various7 BS_ATTACKER
|
|
switchineffects BS_FAINTED
|
|
jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D87B7
|
|
cancelallactions
|
|
BattleScript_81D87B7:: @ 81D87B7
|
|
end2
|
|
|
|
BattleScript_81D87B8:: @ 81D87B8
|
|
openpartyscreen 5, BattleScript_81D87BE
|
|
BattleScript_81D87BE:: @ 81D87BE
|
|
switchhandleorder BS_FAINTED, 0
|
|
openpartyscreen 6, BattleScript_81D87EE
|
|
switchhandleorder BS_FAINTED, 0
|
|
BattleScript_81D87CA:: @ 81D87CA
|
|
switchhandleorder BS_FAINTED, 2
|
|
drawpartystatussummary BS_FAINTED
|
|
getswitchedmondata BS_FAINTED
|
|
switchindataupdate BS_FAINTED
|
|
hpthresholds BS_FAINTED
|
|
printstring STRINGID_SWITCHINMON
|
|
hidepartystatussummary BS_FAINTED
|
|
switchinanim BS_FAINTED, 0
|
|
waitstate
|
|
switchineffects 5
|
|
jumpifbytenotequal gBattlerFainted, gBattlersCount, BattleScript_81D87CA
|
|
BattleScript_81D87EE:: @ 81D87EE
|
|
end2
|
|
|
|
BattleScript_LocalTrainerBattleWon:: @ 81D87EF
|
|
printstring STRINGID_PLAYERDEFEATEDTRAINER1
|
|
trainerslidein BS_ATTACKER
|
|
waitstate
|
|
printstring STRINGID_TRAINER1LOSETEXT
|
|
getmoneyreward BattleScript_81D87FD
|
|
BattleScript_81D87FD:: @ 81D87FD
|
|
printstring STRINGID_PLAYERGOTMONEY
|
|
waitmessage 64
|
|
BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8803
|
|
givepaydaymoney
|
|
pickup
|
|
end2
|
|
|
|
BattleScript_LocalBattleLost:: @ 81D8806
|
|
jumpifbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D8896
|
|
jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_81D886E
|
|
jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 1024, BattleScript_81D886E
|
|
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8876
|
|
BattleScript_81D8839:: @ 81D8839
|
|
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D885D
|
|
printstring STRINGID_PLAYERWHITEOUT
|
|
waitmessage 64
|
|
getmoneyreward BattleScript_81D886F
|
|
printstring STRINGID_PLAYERWHITEOUT2
|
|
waitmessage 64
|
|
goto BattleScript_81D886E
|
|
|
|
BattleScript_81D885D:: @ 81D885D
|
|
printstring STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER
|
|
waitmessage 64
|
|
getmoneyreward BattleScript_81D886F
|
|
printstring STRINGID_PLAYERPAIDPRIZEMONEY
|
|
waitmessage 64
|
|
BattleScript_81D886E:: @ 81D886E
|
|
end2
|
|
|
|
BattleScript_81D886F:: @ 81D886F
|
|
printstring STRINGID_PLAYERWHITEDOUT
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_81D8876:: @ 81D8876
|
|
jumpifhasnohp BS_ATTACKER, BattleScript_81D8884
|
|
printstring STRINGID_TRAINER1MON1COMEBACK
|
|
waitmessage 64
|
|
returnatktoball
|
|
waitstate
|
|
BattleScript_81D8884:: @ 81D8884
|
|
trainerslidein BS_ATTACKER
|
|
waitstate
|
|
printstring STRINGID_TRAINER1WINTEXT
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8839
|
|
end2
|
|
|
|
BattleScript_81D8896:: @ 81D8896
|
|
various8 BS_ATTACKER
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D88B4
|
|
printfromtable gDoubleBattleRecallStrings
|
|
waitmessage 64
|
|
returnopponentmon1toball BS_ATTACKER
|
|
waitstate
|
|
returnopponentmon2toball BS_ATTACKER
|
|
waitstate
|
|
BattleScript_81D88B4:: @ 81D88B4
|
|
trainerslidein BS_ATTACKER
|
|
waitstate
|
|
printstring STRINGID_TRAINER1WINTEXT
|
|
jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D88CB
|
|
printstring STRINGID_TRAINER2NAME
|
|
BattleScript_81D88CB:: @ 81D88CB
|
|
end2
|
|
|
|
BattleScript_LinkBattleWonOrLost:: @ 81D88CC
|
|
printstring STRINGID_BATTLEEND
|
|
waitmessage 64
|
|
atk57
|
|
waitmessage 64
|
|
end2
|
|
|
|
gUnknown_81D88D7:: @ 81D88D7
|
|
printstring STRINGID_PLAYERDEFEATEDTRAINER1
|
|
trainerslidein BS_ATTACKER
|
|
waitstate
|
|
jumpifnotbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D88FF
|
|
printstring STRINGID_TRAINER1LOSETEXT
|
|
jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D88FF
|
|
printstring STRINGID_TRAINER2CLASS
|
|
BattleScript_81D88FF:: @ 81D88FF
|
|
pickup
|
|
end2
|
|
|
|
BattleScript_SmokeBallEscape:: @ 81D8901
|
|
playanimation BS_ATTACKER, B_ANIM_SMOKEBALL_ESCAPE, NULL
|
|
printstring STRINGID_PKMNFLEDUSINGITS
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_RanAwayUsingMonAbility:: @ 81D890F
|
|
printstring STRINGID_PKMNFLEDUSING
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_GotAwaySafely:: @ 81D8916
|
|
printstring STRINGID_GOTAWAYSAFELY
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_WildMonFled:: @ 81D891D
|
|
printstring STRINGID_WILDPKMNFLED
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_PrintCantRunFromTrainer:: @ 81D8924
|
|
jumpifbattletype BATTLE_TYPE_FIRST_BATTLE, BattleScript_81D8936
|
|
printstring STRINGID_NORUNNINGFROMTRAINERS
|
|
end2
|
|
|
|
BattleScript_81D8936:: @ 81D8936
|
|
printstring STRINGID_DONTLEAVEBIRCH
|
|
end2
|
|
|
|
BattleScript_PrintFailedToRunString:: @ 81D893A
|
|
printfromtable gNoEscapeStringIds
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_PrintCantEscapeFromBattle:: @ 81D8943
|
|
printselectionstringfromtable gNoEscapeStringIds
|
|
endselectionscript
|
|
BattleScript_PrintFullBox:: @ 81D8949
|
|
printselectionstring STRINGID_BOXISFULL
|
|
endselectionscript
|
|
BattleScript_ActionSwitch:: @ 81D894D
|
|
hpthresholds2 BS_ATTACKER
|
|
printstring STRINGID_RETURNMON
|
|
setbyte sDMG_MULTIPLIER, 2
|
|
jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D896D
|
|
setmultihit 1
|
|
goto BattleScript_81D896F
|
|
|
|
BattleScript_81D896D:: @ 81D896D
|
|
setmultihit 2
|
|
BattleScript_81D896F:: @ 81D896F
|
|
jumpifnopursuitswitchdmg BattleScript_81D897C
|
|
swapattackerwithtarget
|
|
trysetdestinybondtohappen
|
|
call BattleScript_81D89AF
|
|
swapattackerwithtarget
|
|
BattleScript_81D897C:: @ 81D897C
|
|
decrementmultihit BattleScript_81D896F
|
|
switchoutabilities BS_ATTACKER
|
|
waitstate
|
|
returnatktoball
|
|
waitstate
|
|
drawpartystatussummary BS_ATTACKER
|
|
switchhandleorder BS_ATTACKER, 1
|
|
getswitchedmondata BS_ATTACKER
|
|
switchindataupdate BS_ATTACKER
|
|
hpthresholds BS_ATTACKER
|
|
printstring STRINGID_SWITCHINMON
|
|
hidepartystatussummary BS_ATTACKER
|
|
switchinanim BS_ATTACKER, 0
|
|
waitstate
|
|
switchineffects BS_ATTACKER
|
|
moveendcase 4
|
|
moveendcase 15
|
|
end2
|
|
|
|
BattleScript_81D89AF:: @ 81D89AF
|
|
pause 32
|
|
attackstring
|
|
ppreduce
|
|
critcalc
|
|
damagecalc
|
|
typecalc
|
|
adjustnormaldamage
|
|
attackanimation
|
|
waitanimation
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
critmessage
|
|
waitmessage 64
|
|
resultmessage
|
|
waitmessage 64
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
moveendfromto 3, 6
|
|
various4 BS_TARGET
|
|
jumpifbyte CMP_EQUAL, gBattleCommunication, 0, BattleScript_81D89F0
|
|
setbyte sGIVEEXP_STATE, 0
|
|
getexp BS_TARGET
|
|
BattleScript_81D89F0:: @ 81D89F0
|
|
return
|
|
|
|
BattleScript_Pausex20:: @ 81D89F1
|
|
pause 32
|
|
return
|
|
|
|
BattleScript_LevelUp:: @ 81D89F5
|
|
fanfare MUS_FANFA1
|
|
printstring STRINGID_PKMNGREWTOLV
|
|
setbyte sLVLBOX_STATE, 0
|
|
drawlvlupbox
|
|
handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 1
|
|
goto BattleScript_81D8A1B
|
|
|
|
BattleScript_81D8A11:: @ 81D8A11
|
|
handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0
|
|
BattleScript_81D8A1B:: @ 81D8A1B
|
|
buffermovetolearn
|
|
printstring STRINGID_TRYTOLEARNMOVE1
|
|
printstring STRINGID_TRYTOLEARNMOVE2
|
|
printstring STRINGID_TRYTOLEARNMOVE3
|
|
waitstate
|
|
setbyte sLEARNMOVE_STATE, 0
|
|
yesnoboxlearnmove BattleScript_81D8A48
|
|
printstring STRINGID_STOPLEARNINGMOVE
|
|
waitstate
|
|
setbyte sLEARNMOVE_STATE, 0
|
|
yesnoboxstoplearningmove BattleScript_81D8A1B
|
|
printstring STRINGID_DIDNOTLEARNMOVE
|
|
goto BattleScript_81D8A11
|
|
|
|
BattleScript_81D8A48:: @ 81D8A48
|
|
printstring STRINGID_123POOF
|
|
printstring STRINGID_PKMNFORGOTMOVE
|
|
printstring STRINGID_ANDELLIPSIS
|
|
BattleScript_81D8A51:: @ 81D8A51
|
|
buffermovetolearn
|
|
fanfare MUS_FANFA1
|
|
printstring STRINGID_PKMNLEARNEDMOVE
|
|
waitmessage 64
|
|
updatechoicemoveonlvlup BS_ATTACKER
|
|
goto BattleScript_81D8A11
|
|
|
|
BattleScript_81D8A63:: @ 81D8A63
|
|
return
|
|
|
|
BattleScript_RainContinuesOrEnds:: @ 81D8A64
|
|
printfromtable gRainContinuesStringIds
|
|
waitmessage 64
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8A7E
|
|
playanimation BS_ATTACKER, B_ANIM_RAIN_CONTINUES, NULL
|
|
BattleScript_81D8A7E:: @ 81D8A7E
|
|
end2
|
|
|
|
BattleScript_DamagingWeatherContinues:: @ 81D8A7F
|
|
printfromtable gSandStormHailContinuesStringIds
|
|
waitmessage 64
|
|
playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL
|
|
setbyte gBattleCommunication, 0
|
|
BattleScript_81D8A97:: @ 81D8A97
|
|
copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 1
|
|
weatherdamage
|
|
jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_81D8AD8
|
|
printfromtable gSandStormHailDmgStringIds
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
|
|
effectivenesssound
|
|
hitanimation BS_ATTACKER
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
atk24 BattleScript_81D8AD8
|
|
BattleScript_81D8AD8:: @ 81D8AD8
|
|
jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D8AF7
|
|
addbyte gBattleCommunication, 1
|
|
jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_81D8A97
|
|
BattleScript_81D8AF7:: @ 81D8AF7
|
|
bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
|
|
end2
|
|
|
|
BattleScript_SandStormHailEnds:: @ 81D8B01
|
|
printfromtable gSandStormHailEndStringIds
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_SunlightContinues:: @ 81D8B0A
|
|
printstring STRINGID_SUNLIGHTSTRONG
|
|
waitmessage 64
|
|
playanimation BS_ATTACKER, B_ANIM_SUN_CONTINUES, NULL
|
|
end2
|
|
|
|
BattleScript_SunlightFaded:: @ 81D8B18
|
|
printstring STRINGID_SUNLIGHTFADED
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_OverworldWeatherStarts:: @ 81D8B1F
|
|
printfromtable gWeatherContinuesStringIds
|
|
waitmessage 64
|
|
playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL
|
|
end3
|
|
|
|
BattleScript_SideStatusWoreOff:: @ 81D8B32
|
|
printstring STRINGID_PKMNSXWOREOFF
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_81D8B39:: @ 81D8B39
|
|
pause 32
|
|
printstring STRINGID_PKMNUSEDSAFEGUARD
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_SafeguardEnds:: @ 81D8B43
|
|
pause 32
|
|
printstring STRINGID_PKMNSAFEGUARDEXPIRED
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_LeechSeedTurnDrain:: @ 81D8B4D
|
|
playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
copyword gBattleMoveDamage, gHpDealt
|
|
jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F
|
|
manipulatedamage 0
|
|
setbyte cMULTISTRING_CHOOSER, 3
|
|
goto BattleScript_81D8B85
|
|
|
|
BattleScript_81D8B7F:: @ 81D8B7F
|
|
setbyte cMULTISTRING_CHOOSER, 4
|
|
BattleScript_81D8B85:: @ 81D8B85
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
printfromtable gLeechSeedStringIds
|
|
waitmessage 64
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
end2
|
|
|
|
BattleScript_BideStoringEnergy:: @ 81D8BA9
|
|
printstring STRINGID_PKMNSTORINGENERGY
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_BideAttack:: @ 81D8BB4
|
|
attackcanceler
|
|
setmoveeffect MOVE_EFFECT_CHARGING
|
|
clearstatusfromeffect BS_ATTACKER
|
|
printstring STRINGID_PKMNUNLEASHEDENERGY
|
|
waitmessage 64
|
|
accuracycheck BattleScript_81D6963, ACC_CURR_MOVE
|
|
typecalc
|
|
bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
|
|
copyword gBattleMoveDamage, sBIDE_DMG
|
|
adjustsetdamage
|
|
setbyte sB_ANIM_TURN, 1
|
|
attackanimation
|
|
waitanimation
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
resultmessage
|
|
waitmessage 64
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_BideNoEnergyToAttack:: @ 81D8BFC
|
|
attackcanceler
|
|
setmoveeffect MOVE_EFFECT_CHARGING
|
|
clearstatusfromeffect BS_ATTACKER
|
|
printstring STRINGID_PKMNUNLEASHEDENERGY
|
|
waitmessage 64
|
|
goto BattleScript_ButItFailed
|
|
|
|
BattleScript_SuccessForceOut:: @ 81D8C10
|
|
attackanimation
|
|
waitanimation
|
|
switchoutabilities BS_TARGET
|
|
returntoball BS_TARGET
|
|
waitstate
|
|
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D8C2C
|
|
setbyte gBattleOutcome, B_OUTCOME_PLAYER_TELEPORTED
|
|
finishaction
|
|
BattleScript_81D8C2C:: @ 81D8C2C
|
|
getswitchedmondata BS_TARGET
|
|
switchindataupdate BS_TARGET
|
|
switchinanim BS_TARGET, 0
|
|
waitstate
|
|
printstring STRINGID_PKMNWASDRAGGEDOUT
|
|
switchineffects BS_TARGET
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_MistProtected:: @ 81D8C3E
|
|
pause 32
|
|
printstring STRINGID_PKMNPROTECTEDBYMIST
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_RageIsBuilding:: @ 81D8C48
|
|
printstring STRINGID_PKMNRAGEBUILDING
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_MoveUsedIsDisabled:: @ 81D8C4F
|
|
printstring STRINGID_PKMNMOVEISDISABLED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_SelectingDisabledMove:: @ 81D8C5A
|
|
printselectionstring STRINGID_PKMNMOVEISDISABLED
|
|
endselectionscript
|
|
BattleScript_DisabledNoMore:: @ 81D8C5E
|
|
printstring STRINGID_PKMNMOVEDISABLEDNOMORE
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_EncoredNoMore:: @ 81D8C65
|
|
printstring STRINGID_PKMNENCOREENDED
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_DestinyBondTakesLife:: @ 81D8C6C
|
|
printstring STRINGID_PKMNTOOKFOE
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
return
|
|
|
|
BattleScript_SpikesOnAttacker:: @ 81D8C87
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
call BattleScript_81D8D2C
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
tryfaintmon BS_ATTACKER, 1, BattleScript_81D8CA8
|
|
return
|
|
|
|
BattleScript_81D8CA8:: @ 81D8CA8
|
|
setbyte sGIVEEXP_STATE, 0
|
|
getexp BS_ATTACKER
|
|
moveendall
|
|
goto BattleScript_HandleFaintedMon
|
|
|
|
BattleScript_SpikesOnTarget:: @ 81D8CBE
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
call BattleScript_81D8D2C
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
tryfaintmon BS_TARGET, 1, BattleScript_81D8CDF
|
|
return
|
|
|
|
BattleScript_81D8CDF:: @ 81D8CDF
|
|
setbyte sGIVEEXP_STATE, 0
|
|
getexp BS_TARGET
|
|
moveendall
|
|
goto BattleScript_HandleFaintedMon
|
|
|
|
BattleScript_SpikesOnFaintedBattler:: @ 81D8CF5
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_FAINTED
|
|
datahpupdate BS_FAINTED
|
|
call BattleScript_81D8D2C
|
|
tryfaintmon BS_FAINTED, 0, NULL
|
|
tryfaintmon BS_FAINTED, 1, BattleScript_81D8D16
|
|
return
|
|
|
|
BattleScript_81D8D16:: @ 81D8D16
|
|
setbyte sGIVEEXP_STATE, 0
|
|
getexp BS_FAINTED
|
|
moveendall
|
|
goto BattleScript_HandleFaintedMon
|
|
|
|
BattleScript_81D8D2C:: @ 81D8D2C
|
|
printstring STRINGID_PKMNHURTBYSPIKES
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_PerishSongTakesLife:: @ 81D8D33
|
|
printstring STRINGID_PKMNPERISHCOUNTFELL
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
end2
|
|
|
|
BattleScript_PerishSongCountGoesDown:: @ 81D8D4E
|
|
printstring STRINGID_PKMNPERISHCOUNTFELL
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_AllStatsUp:: @ 81D8D55
|
|
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8D82
|
|
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_81D8D82
|
|
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 12, BattleScript_81D8D82
|
|
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_81D8D82
|
|
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D8DF0
|
|
BattleScript_81D8D82:: @ 81D8D82
|
|
setbyte sSTAT_ANIM_PLAYED, 0
|
|
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0
|
|
setstatchanger STAT_ATK, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DA0
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D8DA0:: @ 81D8DA0
|
|
setstatchanger STAT_DEF, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DB4
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D8DB4:: @ 81D8DB4
|
|
setstatchanger STAT_SPEED, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DC8
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D8DC8:: @ 81D8DC8
|
|
setstatchanger STAT_SPATK, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DDC
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D8DDC:: @ 81D8DDC
|
|
setstatchanger STAT_SPDEF, 1, FALSE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DF0
|
|
printfromtable gStatUpStringIds
|
|
waitmessage 64
|
|
BattleScript_81D8DF0:: @ 81D8DF0
|
|
return
|
|
|
|
BattleScript_RapidSpinAway:: @ 81D8DF1
|
|
rapidspinfree
|
|
return
|
|
|
|
BattleScript_WrapFree:: @ 81D8DF3
|
|
printstring STRINGID_PKMNGOTFREE
|
|
waitmessage 64
|
|
copybyte gBattlerTarget, sBATTLER
|
|
return
|
|
|
|
BattleScript_LeechSeedFree:: @ 81D8E04
|
|
printstring STRINGID_PKMNSHEDLEECHSEED
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_SpikesFree:: @ 81D8E0B
|
|
printstring STRINGID_PKMNBLEWAWAYSPIKES
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_MonTookFutureAttack:: @ 81D8E12
|
|
printstring STRINGID_PKMNTOOKATTACK
|
|
waitmessage 64
|
|
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8E2F
|
|
accuracycheck BattleScript_81D8E86, MOVE_FUTURE_SIGHT
|
|
goto BattleScript_81D8E36
|
|
|
|
BattleScript_81D8E2F:: @ 81D8E2F
|
|
accuracycheck BattleScript_81D8E86, MOVE_DOOM_DESIRE
|
|
BattleScript_81D8E36:: @ 81D8E36
|
|
adjustnormaldamage2
|
|
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8E4E
|
|
playanimation BS_ATTACKER, B_ANIM_FUTURE_SIGHT_HIT, NULL
|
|
goto BattleScript_81D8E55
|
|
|
|
BattleScript_81D8E4E:: @ 81D8E4E
|
|
playanimation BS_ATTACKER, B_ANIM_DOOM_DESIRE_HIT, NULL
|
|
BattleScript_81D8E55:: @ 81D8E55
|
|
effectivenesssound
|
|
hitanimation BS_TARGET
|
|
waitstate
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
resultmessage
|
|
waitmessage 64
|
|
tryfaintmon BS_TARGET, 0, NULL
|
|
atk24 BattleScript_81D8E6D
|
|
BattleScript_81D8E6D:: @ 81D8E6D
|
|
moveendcase 0
|
|
moveendfromto 11, 14
|
|
setbyte gMoveResultFlags, 0
|
|
end2
|
|
|
|
BattleScript_81D8E86:: @ 81D8E86
|
|
pause 32
|
|
setbyte gMoveResultFlags, 0
|
|
orbyte gMoveResultFlags, MOVE_RESULT_FAILED
|
|
resultmessage
|
|
waitmessage 64
|
|
setbyte gMoveResultFlags, 0
|
|
end2
|
|
|
|
BattleScript_NoMovesLeft:: @ 81D8EA0
|
|
printselectionstring STRINGID_PKMNHASNOMOVESLEFT
|
|
endselectionscript
|
|
BattleScript_SelectingMoveWithNoPP:: @ 81D8EA4
|
|
printselectionstring STRINGID_NOPPLEFT
|
|
endselectionscript
|
|
BattleScript_NoPPForMove:: @ 81D8EA8
|
|
attackstring
|
|
pause 32
|
|
printstring STRINGID_BUTNOPPLEFT
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_SelectingTormentedMove:: @ 81D8EB7
|
|
printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT
|
|
endselectionscript
|
|
printstring STRINGID_PKMNCANTUSEMOVETORMENT
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_SelectingNotAllowedMoveTaunt:: @ 81D8EC6
|
|
printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT
|
|
endselectionscript
|
|
BattleScript_MoveUsedIsTaunted:: @ 81D8ECA
|
|
printstring STRINGID_PKMNCANTUSEMOVETAUNT
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_WishComesTrue:: @ 81D8ED5
|
|
trywish 1, BattleScript_81D8EFC
|
|
playanimation BS_TARGET, B_ANIM_WISH_HEAL, NULL
|
|
printstring STRINGID_PKMNWISHCAMETRUE
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
printstring STRINGID_PKMNREGAINEDHEALTH
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_81D8EFC:: @ 81D8EFC
|
|
printstring STRINGID_PKMNWISHCAMETRUE
|
|
waitmessage 64
|
|
pause 32
|
|
printstring STRINGID_PKMNHPFULL
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_IngrainTurnHeal:: @ 81D8F0C
|
|
playanimation BS_ATTACKER, B_ANIM_INGRAIN_HEAL, NULL
|
|
printstring STRINGID_PKMNABSORBEDNUTRIENTS
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
end2
|
|
|
|
BattleScript_81D8F27:: @ 81D8F27
|
|
pause 32
|
|
printstring STRINGID_PKMNANCHOREDITSELF
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_AtkDefDown:: @ 81D8F35
|
|
setbyte sSTAT_ANIM_PLAYED, 0
|
|
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE | ATK48_DONT_CHECK_LOWER
|
|
playstatchangeanimation BS_ATTACKER, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_DONT_CHECK_LOWER
|
|
setstatchanger STAT_ATK, 1, TRUE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D8F62
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8F62
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
BattleScript_81D8F62:: @ 81D8F62
|
|
playstatchangeanimation BS_ATTACKER, BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_DONT_CHECK_LOWER
|
|
setstatchanger STAT_DEF, 1, TRUE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D8F85
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8F85
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
BattleScript_81D8F85:: @ 81D8F85
|
|
return
|
|
|
|
BattleScript_KnockedOff:: @ 81D8F86
|
|
playanimation BS_TARGET, B_ANIM_ITEM_KNOCKOFF, NULL
|
|
printstring STRINGID_PKMNKNOCKEDOFF
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_MoveUsedIsImprisoned:: @ 81D8F94
|
|
printstring STRINGID_PKMNCANTUSEMOVESEALED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_SelectingImprisonedMove:: @ 81D8F9F
|
|
printselectionstring STRINGID_PKMNCANTUSEMOVESEALED
|
|
endselectionscript
|
|
BattleScript_GrudgeTakesPp:: @ 81D8FA3
|
|
printstring STRINGID_PKMNLOSTPPGRUDGE
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_MagicCoatBounce:: @ 81D8FAA
|
|
attackstring
|
|
ppreduce
|
|
pause 32
|
|
printstring STRINGID_PKMNMOVEBOUNCED
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
|
|
setmagiccoattarget BS_ATTACKER
|
|
return
|
|
|
|
BattleScript_SnatchedMove:: @ 81D8FC2
|
|
attackstring
|
|
ppreduce
|
|
snatchsetbattlers
|
|
playanimation BS_TARGET, B_ANIM_SNATCH_MOVE, NULL
|
|
printstring STRINGID_PKMNSNATCHEDMOVE
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
|
|
swapattackerwithtarget
|
|
return
|
|
|
|
BattleScript_EnduredMsg:: @ 81D8FDD
|
|
printstring STRINGID_PKMNENDUREDHIT
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_OneHitKOMsg:: @ 81D8FE4
|
|
printstring STRINGID_ONEHITKO
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_SAtkDown2:: @ 81D8FEB
|
|
setbyte sSTAT_ANIM_PLAYED, 0
|
|
playstatchangeanimation BS_ATTACKER, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_DONT_CHECK_LOWER
|
|
setstatchanger STAT_SPATK, 2, TRUE
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D9014
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D9014
|
|
printfromtable gStatDownStringIds
|
|
waitmessage 64
|
|
BattleScript_81D9014:: @ 81D9014
|
|
return
|
|
|
|
BattleScript_FocusPunchSetUp:: @ 81D9015
|
|
printstring STRINGID_EMPTYSTRING3
|
|
waitmessage 1
|
|
playanimation BS_ATTACKER, B_ANIM_FOCUS_PUNCH_SETUP, NULL
|
|
printstring STRINGID_PKMNTIGHTENINGFOCUS
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_MoveUsedIsAsleep:: @ 81D9029
|
|
printstring STRINGID_PKMNFASTASLEEP
|
|
waitmessage 64
|
|
statusanimation BS_ATTACKER
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_MoveUsedWokeUp:: @ 81D9036
|
|
bicword gHitMarker, HITMARKER_x10
|
|
printfromtable gWokeUpStringIds
|
|
waitmessage 64
|
|
updatestatusicon BS_ATTACKER
|
|
return
|
|
|
|
BattleScript_MonWokeUpInUproar:: @ 81D904A
|
|
printstring STRINGID_PKMNWOKEUPINUPROAR
|
|
waitmessage 64
|
|
updatestatusicon BS_ATTACKER
|
|
end2
|
|
|
|
BattleScript_PoisonTurnDmg:: @ 81D9053
|
|
printstring STRINGID_PKMNHURTBYPOISON
|
|
waitmessage 64
|
|
BattleScript_81D9059:: @ 81D9059
|
|
statusanimation BS_ATTACKER
|
|
BattleScript_81D905B:: @ 81D905B
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
atk24 BattleScript_81D9074
|
|
BattleScript_81D9074:: @ 81D9074
|
|
end2
|
|
|
|
BattleScript_BurnTurnDmg:: @ 81D9075
|
|
printstring STRINGID_PKMNHURTBYBURN
|
|
waitmessage 64
|
|
goto BattleScript_81D9059
|
|
|
|
BattleScript_MoveUsedIsFrozen:: @ 81D9080
|
|
printstring STRINGID_PKMNISFROZEN
|
|
waitmessage 64
|
|
statusanimation BS_ATTACKER
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_MoveUsedUnfroze:: @ 81D908D
|
|
printfromtable gGotDefrostedStringIds
|
|
waitmessage 64
|
|
updatestatusicon BS_ATTACKER
|
|
return
|
|
|
|
BattleScript_DefrostedViaFireMove:: @ 81D9098
|
|
printstring STRINGID_PKMNWASDEFROSTED
|
|
waitmessage 64
|
|
updatestatusicon BS_TARGET
|
|
return
|
|
|
|
BattleScript_MoveUsedIsParalyzed:: @ 81D90A1
|
|
printstring STRINGID_PKMNISPARALYZED
|
|
waitmessage 64
|
|
statusanimation BS_ATTACKER
|
|
cancelmultiturnmoves BS_ATTACKER
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_MoveUsedFlinched:: @ 81D90B1
|
|
printstring STRINGID_PKMNFLINCHED
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_PrintUproarOverTurns:: @ 81D90BC
|
|
printfromtable gUproarOverTurnStringIds
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_ThrashConfuses:: @ 81D90C5
|
|
chosenstatusanimation BS_ATTACKER, 1, STATUS2_CONFUSION
|
|
printstring STRINGID_PKMNFATIGUECONFUSION
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_MoveUsedIsConfused:: @ 81D90D3
|
|
printstring STRINGID_PKMNISCONFUSED
|
|
waitmessage 64
|
|
status2animation BS_ATTACKER, STATUS2_CONFUSION
|
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D9115
|
|
BattleScript_81D90EA:: @ 81D90EA
|
|
cancelmultiturnmoves BS_ATTACKER
|
|
adjustnormaldamage2
|
|
printstring STRINGID_ITHURTCONFUSION
|
|
waitmessage 64
|
|
effectivenesssound
|
|
hitanimation BS_ATTACKER
|
|
waitstate
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
resultmessage
|
|
waitmessage 64
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D9115:: @ 81D9115
|
|
return
|
|
|
|
BattleScript_MoveUsedIsConfusedNoMore:: @ 81D9116
|
|
printstring STRINGID_PKMNHEALEDCONFUSION
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_PrintPayDayMoneyString:: @ 81D911D
|
|
printstring STRINGID_PKMNPICKEDUPITEM
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_WrapTurnDmg:: @ 81D9124
|
|
playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1
|
|
printstring STRINGID_PKMNHURTBY
|
|
waitmessage 64
|
|
goto BattleScript_81D905B
|
|
|
|
BattleScript_WrapEnds:: @ 81D9136
|
|
printstring STRINGID_PKMNFREEDFROM
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_MoveUsedIsInLove:: @ 81D913D
|
|
printstring STRINGID_PKMNINLOVE
|
|
waitmessage 64
|
|
status2animation BS_ATTACKER, STATUS2_INFATUATION
|
|
return
|
|
|
|
BattleScript_MoveUsedIsInLoveCantAttack:: @ 81D914A
|
|
printstring STRINGID_PKMNIMMOBILIZEDBYLOVE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_NightmareTurnDmg:: @ 81D9155
|
|
printstring STRINGID_PKMNLOCKEDINNIGHTMARE
|
|
waitmessage 64
|
|
status2animation BS_ATTACKER, STATUS2_NIGHTMARE
|
|
goto BattleScript_81D905B
|
|
|
|
BattleScript_CurseTurnDmg:: @ 81D9166
|
|
printstring STRINGID_PKMNAFFLICTEDBYCURSE
|
|
waitmessage 64
|
|
status2animation BS_ATTACKER, STATUS2_CURSED
|
|
goto BattleScript_81D905B
|
|
|
|
BattleScript_TargetPRLZHeal:: @ 81D9177
|
|
printstring STRINGID_PKMNHEALEDPARALYSIS
|
|
waitmessage 64
|
|
updatestatusicon BS_TARGET
|
|
return
|
|
|
|
gUnknown_81D9180:: @ 81D9180
|
|
printstring STRINGID_MONTOOSCAREDTOMOVE
|
|
waitmessage 64
|
|
playanimation BS_ATTACKER, B_ANIM_MON_SCARED, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
gUnknown_81D9192:: @ 81D9192
|
|
printstring STRINGID_GHOSTGETOUTGETOUT
|
|
playanimation BS_ATTACKER, B_ANIM_GHOST_GET_OUT, NULL
|
|
goto BattleScript_MoveEnd
|
|
|
|
gUnknown_81D91A1:: @ 81D91A1
|
|
pause 32
|
|
printstring STRINGID_SILPHSCOPEUNVEILED
|
|
waitstate
|
|
playanimation BS_OPPONENT1, B_ANIM_SILPH_SCOPED, NULL
|
|
pause 32
|
|
printstring STRINGID_GHOSTWASMAROWAK
|
|
waitmessage 64
|
|
end2
|
|
|
|
BattleScript_MoveEffectSleep:: @ 81D91B9
|
|
statusanimation BS_EFFECT_BATTLER
|
|
printfromtable gFellAsleepStringIds
|
|
waitmessage 64
|
|
BattleScript_81D91C3:: @ 81D91C3
|
|
updatestatusicon BS_EFFECT_BATTLER
|
|
waitstate
|
|
return
|
|
|
|
BattleScript_YawnMakesAsleep:: @ 81D91C7
|
|
statusanimation BS_EFFECT_BATTLER
|
|
printstring STRINGID_PKMNFELLASLEEP
|
|
waitmessage 64
|
|
updatestatusicon BS_EFFECT_BATTLER
|
|
waitstate
|
|
makevisible BS_EFFECT_BATTLER
|
|
end2
|
|
|
|
BattleScript_MoveEffectPoison:: @ 81D91D5
|
|
statusanimation BS_EFFECT_BATTLER
|
|
printfromtable gGotPoisonedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_81D91C3
|
|
|
|
BattleScript_MoveEffectBurn:: @ 81D91E4
|
|
statusanimation BS_EFFECT_BATTLER
|
|
printfromtable gGotBurnedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_81D91C3
|
|
|
|
BattleScript_MoveEffectFreeze:: @ 81D91F3
|
|
statusanimation BS_EFFECT_BATTLER
|
|
printfromtable gGotFrozenStringIds
|
|
waitmessage 64
|
|
goto BattleScript_81D91C3
|
|
|
|
BattleScript_MoveEffectParalysis:: @ 81D9202
|
|
statusanimation BS_EFFECT_BATTLER
|
|
printfromtable gGotParalyzedStringIds
|
|
waitmessage 64
|
|
goto BattleScript_81D91C3
|
|
|
|
BattleScript_MoveEffectUproar:: @ 81D9211
|
|
printstring STRINGID_PKMNCAUSEDUPROAR
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_MoveEffectToxic:: @ 81D9218
|
|
statusanimation BS_EFFECT_BATTLER
|
|
printstring STRINGID_PKMNBADLYPOISONED
|
|
waitmessage 64
|
|
goto BattleScript_81D91C3
|
|
|
|
BattleScript_MoveEffectPayDay:: @ 81D9225
|
|
printstring STRINGID_COINSSCATTERED
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_MoveEffectWrap:: @ 81D922C
|
|
printfromtable gWrappedStringIds
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_MoveEffectConfusion:: @ 81D9235
|
|
chosenstatusanimation BS_EFFECT_BATTLER, 1, STATUS2_CONFUSION
|
|
printstring STRINGID_PKMNWASCONFUSED
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_MoveEffectRecoil:: @ 81D9243
|
|
jumpifmove MOVE_STRUGGLE, BattleScript_81D9256
|
|
jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_81D9270
|
|
BattleScript_81D9256:: @ 81D9256
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
printstring STRINGID_PKMNHITWITHRECOIL
|
|
waitmessage 64
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
BattleScript_81D9270:: @ 81D9270
|
|
return
|
|
|
|
BattleScript_ItemSteal:: @ 81D9271
|
|
playanimation BS_TARGET, B_ANIM_ITEM_STEAL, NULL
|
|
printstring STRINGID_PKMNSTOLEITEM
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_DrizzleActivates:: @ 81D927F
|
|
pause 32
|
|
printstring STRINGID_PKMNMADEITRAIN
|
|
waitstate
|
|
playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES, NULL
|
|
call BattleScript_81D92DC
|
|
end3
|
|
|
|
BattleScript_SpeedBoostActivates:: @ 81D9293
|
|
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
|
printstring STRINGID_PKMNRAISEDSPEED
|
|
waitmessage 64
|
|
end3
|
|
|
|
BattleScript_TraceActivates:: @ 81D92A1
|
|
pause 32
|
|
printstring STRINGID_PKMNTRACED
|
|
waitmessage 64
|
|
end3
|
|
|
|
BattleScript_RainDishActivates:: @ 81D92AB
|
|
printstring STRINGID_PKMNSXRESTOREDHPALITTLE2
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
end3
|
|
|
|
BattleScript_SandstreamActivates:: @ 81D92BF
|
|
pause 32
|
|
printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM
|
|
waitstate
|
|
playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES, NULL
|
|
call BattleScript_81D92DC
|
|
end3
|
|
|
|
BattleScript_ShedSkinActivates:: @ 81D92D3
|
|
printstring STRINGID_PKMNSXCUREDYPROBLEM
|
|
waitmessage 64
|
|
updatestatusicon BS_ATTACKER
|
|
end3
|
|
|
|
BattleScript_81D92DC:: @ 81D92DC
|
|
setbyte sBATTLER, 0
|
|
BattleScript_81D92E2:: @ 81D92E2
|
|
trycastformdatachange
|
|
addbyte sBATTLER, 1
|
|
jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_81D92E2
|
|
return
|
|
|
|
BattleScript_CastformChange:: @ 81D92F8
|
|
call BattleScript_81D92FE
|
|
end3
|
|
|
|
BattleScript_81D92FE:: @ 81D92FE
|
|
docastformchangeanimation
|
|
waitstate
|
|
printstring STRINGID_PKMNTRANSFORMED
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_IntimidateActivatesEnd3:: @ 81D9307
|
|
call BattleScript_81D930D
|
|
end3
|
|
|
|
BattleScript_81D930D:: @ 81D930D
|
|
pause 32
|
|
BattleScript_IntimidateActivates:: @ 81D9310
|
|
setbyte gBattlerTarget, 0
|
|
setstatchanger STAT_ATK, 1, TRUE
|
|
BattleScript_81D931C:: @ 81D931C
|
|
trygetintimidatetarget BattleScript_81D936A
|
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D935F
|
|
jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_81D936B
|
|
jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_81D936B
|
|
jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_81D936B
|
|
statbuffchange STAT_CHANGE_BS_PTR | STAT_CHANGE_NOT_PROTECT_AFFECTED, BattleScript_81D935F
|
|
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D935F
|
|
setgraphicalstatchangevalues
|
|
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
|
printstring STRINGID_PKMNCUTSATTACKWITH
|
|
waitmessage 64
|
|
BattleScript_81D935F:: @ 81D935F
|
|
addbyte gBattlerTarget, 1
|
|
goto BattleScript_81D931C
|
|
|
|
BattleScript_81D936A:: @ 81D936A
|
|
return
|
|
|
|
BattleScript_81D936B:: @ 81D936B
|
|
pause 32
|
|
printstring STRINGID_PREVENTEDFROMWORKING
|
|
waitmessage 64
|
|
goto BattleScript_81D935F
|
|
|
|
BattleScript_DroughtActivates:: @ 81D9379
|
|
pause 32
|
|
printstring STRINGID_PKMNSXINTENSIFIEDSUN
|
|
waitstate
|
|
playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES, NULL
|
|
call BattleScript_81D92DC
|
|
end3
|
|
|
|
BattleScript_TookAttack:: @ 81D938D
|
|
attackstring
|
|
pause 32
|
|
printstring STRINGID_PKMNSXTOOKATTACK
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED
|
|
return
|
|
|
|
BattleScript_SturdyPreventsOHKO:: @ 81D93A1
|
|
pause 32
|
|
printstring STRINGID_PKMNPROTECTEDBY
|
|
pause 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_DampStopsExplosion:: @ 81D93AF
|
|
pause 32
|
|
printstring STRINGID_PKMNPREVENTSUSAGE
|
|
pause 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_MoveHPDrain_PPLoss:: @ 81D93BD
|
|
ppreduce
|
|
BattleScript_MoveHPDrain:: @ 81D93BE
|
|
attackstring
|
|
pause 32
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_TARGET
|
|
datahpupdate BS_TARGET
|
|
printstring STRINGID_PKMNRESTOREDHPUSING
|
|
waitmessage 64
|
|
orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_MonMadeMoveUseless_PPLoss:: @ 81D93E0
|
|
ppreduce
|
|
BattleScript_MonMadeMoveUseless:: @ 81D93E1
|
|
attackstring
|
|
pause 32
|
|
printstring STRINGID_PKMNSXMADEYUSELESS
|
|
waitmessage 64
|
|
orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_FlashFireBoost_PPLoss:: @ 81D93F6
|
|
ppreduce
|
|
BattleScript_FlashFireBoost:: @ 81D93F7
|
|
attackstring
|
|
pause 32
|
|
printfromtable gFlashFireStringIds
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D9408:: @ 81D9408
|
|
pause 32
|
|
printstring STRINGID_PKMNANCHORSITSELFWITH
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_AbilityNoStatLoss:: @ 81D9416
|
|
pause 32
|
|
printstring STRINGID_PKMNPREVENTSSTATLOSSWITH
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_BRNPrevention:: @ 81D9420
|
|
pause 32
|
|
printfromtable gBRNPreventionStringIds
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_PRLZPrevention:: @ 81D942C
|
|
pause 32
|
|
printfromtable gPRLZPreventionStringIds
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_PSNPrevention:: @ 81D9438
|
|
pause 32
|
|
printfromtable gPSNPreventionStringIds
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_ObliviousPreventsAttraction:: @ 81D9444
|
|
pause 32
|
|
printstring STRINGID_PKMNPREVENTSROMANCEWITH
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_FlinchPrevention:: @ 81D9452
|
|
pause 32
|
|
printstring STRINGID_PKMNSXPREVENTSFLINCHING
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_81D9460:: @ 81D9460
|
|
pause 32
|
|
printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_SoundproofProtected:: @ 81D946E
|
|
attackstring
|
|
ppreduce
|
|
pause 32
|
|
printstring STRINGID_PKMNSXBLOCKSY
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_AbilityNoSpecificStatLoss:: @ 81D947E
|
|
pause 32
|
|
printstring STRINGID_PKMNSXPREVENTSYLOSS
|
|
waitmessage 64
|
|
setbyte cMULTISTRING_CHOOSER, 3
|
|
return
|
|
|
|
BattleScript_StickyHoldActivates:: @ 81D948E
|
|
pause 32
|
|
printstring STRINGID_PKMNSXMADEYINEFFECTIVE
|
|
waitmessage 64
|
|
goto BattleScript_MoveEnd
|
|
|
|
BattleScript_ColorChangeActivates:: @ 81D949C
|
|
printstring STRINGID_PKMNCHANGEDTYPEWITH
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_RoughSkinActivates:: @ 81D94A3
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
printstring STRINGID_PKMNHURTSWITH
|
|
waitmessage 64
|
|
tryfaintmon BS_ATTACKER, 0, NULL
|
|
return
|
|
|
|
BattleScript_CuteCharmActivates:: @ 81D94BE
|
|
status2animation BS_ATTACKER, STATUS2_INFATUATION
|
|
printstring STRINGID_PKMNSXINFATUATEDY
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_ApplySecondaryEffect:: @ 81D94CB
|
|
waitstate
|
|
seteffectsecondary
|
|
return
|
|
|
|
BattleScript_SynchronizeActivates:: @ 81D94CE
|
|
waitstate
|
|
seteffectprimary
|
|
return
|
|
|
|
BattleScript_AbilityCuredStatus:: @ 81D94D1
|
|
printstring STRINGID_PKMNSXCUREDITSYPROBLEM
|
|
waitmessage 64
|
|
updatestatusicon BS_SCRIPTING
|
|
return
|
|
|
|
BattleScript_IgnoresWhileAsleep:: @ 81D94DA
|
|
printstring STRINGID_PKMNIGNORESASLEEP
|
|
waitmessage 64
|
|
moveendto 16
|
|
end
|
|
|
|
BattleScript_IgnoresAndUsesRandomMove:: @ 81D94EA
|
|
printstring STRINGID_PKMNIGNOREDORDERS
|
|
waitmessage 64
|
|
jumptocalledmove 0
|
|
BattleScript_MoveUsedLoafingAround:: @ 81D94F2
|
|
printfromtable gInobedientStringIds
|
|
waitmessage 64
|
|
moveendto 16
|
|
end
|
|
|
|
BattleScript_IgnoresAndFallsAsleep:: @ 81D9504
|
|
printstring STRINGID_PKMNBEGANTONAP
|
|
waitmessage 64
|
|
setmoveeffect MOVE_EFFECT_SLEEP | MOVE_EFFECT_AFFECTS_USER
|
|
seteffectprimary
|
|
moveendto 16
|
|
end
|
|
|
|
BattleScript_IgnoresAndHitsItself:: @ 81D951B
|
|
printstring STRINGID_PKMNWONTOBEY
|
|
waitmessage 64
|
|
goto BattleScript_81D90EA
|
|
|
|
BattleScript_SubstituteFade:: @ 81D9526
|
|
playanimation BS_TARGET, B_ANIM_SUBSTITUTE_FADE, NULL
|
|
printstring STRINGID_PKMNSUBSTITUTEFADED
|
|
return
|
|
|
|
BattleScript_BerryCurePrlzEnd2:: @ 81D9531
|
|
call BattleScript_BerryCureParRet
|
|
end2
|
|
|
|
BattleScript_BerryCureParRet:: @ 81D9537
|
|
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMCUREDPARALYSIS
|
|
waitmessage 64
|
|
updatestatusicon BS_SCRIPTING
|
|
removeitem BS_SCRIPTING
|
|
return
|
|
|
|
BattleScript_BerryCurePsnEnd2:: @ 81D9549
|
|
call BattleScript_BerryCurePsnRet
|
|
end2
|
|
|
|
BattleScript_BerryCurePsnRet:: @ 81D954F
|
|
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMCUREDPOISON
|
|
waitmessage 64
|
|
updatestatusicon BS_SCRIPTING
|
|
removeitem BS_SCRIPTING
|
|
return
|
|
|
|
BattleScript_BerryCureBrnEnd2:: @ 81D9561
|
|
call BattleScript_BerryCureBrnRet
|
|
end2
|
|
|
|
BattleScript_BerryCureBrnRet:: @ 81D9567
|
|
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMHEALEDBURN
|
|
waitmessage 64
|
|
updatestatusicon BS_SCRIPTING
|
|
removeitem BS_SCRIPTING
|
|
return
|
|
|
|
BattleScript_BerryCureFrzEnd2:: @ 81D9579
|
|
call BattleScript_BerryCureFrzRet
|
|
end2
|
|
|
|
BattleScript_BerryCureFrzRet:: @ 81D957F
|
|
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMDEFROSTEDIT
|
|
waitmessage 64
|
|
updatestatusicon BS_SCRIPTING
|
|
removeitem BS_SCRIPTING
|
|
return
|
|
|
|
BattleScript_BerryCureSlpEnd2:: @ 81D9591
|
|
call BattleScript_BerryCureSlpRet
|
|
end2
|
|
|
|
BattleScript_BerryCureSlpRet:: @ 81D9597
|
|
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMWOKEIT
|
|
waitmessage 64
|
|
updatestatusicon BS_SCRIPTING
|
|
removeitem BS_SCRIPTING
|
|
return
|
|
|
|
BattleScript_BerryCureConfusionEnd2:: @ 81D95A9
|
|
call BattleScript_BerryCureConfusionRet
|
|
end2
|
|
|
|
BattleScript_BerryCureConfusionRet:: @ 81D95AF
|
|
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMSNAPPEDOUT
|
|
waitmessage 64
|
|
removeitem BS_SCRIPTING
|
|
return
|
|
|
|
BattleScript_BerryCureChosenStatusEnd2:: @ 81D95BF
|
|
call BattleScript_BerryCureChosenStatusRet
|
|
end2
|
|
|
|
BattleScript_BerryCureChosenStatusRet:: @ 81D95C5
|
|
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
|
|
printfromtable gBerryEffectStringIds
|
|
waitmessage 64
|
|
updatestatusicon BS_SCRIPTING
|
|
removeitem BS_SCRIPTING
|
|
return
|
|
|
|
BattleScript_WhiteHerbEnd2:: @ 81D95D9
|
|
call BattleScript_WhiteHerbRet
|
|
end2
|
|
|
|
BattleScript_WhiteHerbRet:: @ 81D95DF
|
|
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMRESTOREDSTATUS
|
|
waitmessage 64
|
|
removeitem BS_SCRIPTING
|
|
return
|
|
|
|
BattleScript_ItemHealHP_RemoveItem:: @ 81D95EF
|
|
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
removeitem BS_ATTACKER
|
|
end2
|
|
|
|
BattleScript_BerryPPHealEnd2:: @ 81D960C
|
|
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMRESTOREDPP
|
|
waitmessage 64
|
|
removeitem BS_ATTACKER
|
|
end2
|
|
|
|
BattleScript_ItemHealHP_End2:: @ 81D961C
|
|
call BattleScript_ItemHealHP_Ret
|
|
end2
|
|
|
|
BattleScript_ItemHealHP_Ret:: @ 81D9622
|
|
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
return
|
|
|
|
BattleScript_SelectingNotAllowedMoveChoiceItem:: @ 81D963D
|
|
printselectionstring STRINGID_ITEMALLOWSONLYYMOVE
|
|
endselectionscript
|
|
BattleScript_HangedOnMsg:: @ 81D9641
|
|
playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL
|
|
printstring STRINGID_PKMNHUNGONWITHX
|
|
waitmessage 64
|
|
return
|
|
|
|
BattleScript_BerryConfuseHealEnd2:: @ 81D964F
|
|
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
|
|
waitmessage 64
|
|
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
|
healthbarupdate BS_ATTACKER
|
|
datahpupdate BS_ATTACKER
|
|
printstring STRINGID_FORXCOMMAYZ
|
|
waitmessage 64
|
|
setmoveeffect MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER
|
|
seteffectprimary
|
|
removeitem BS_ATTACKER
|
|
end2
|
|
|
|
BattleScript_BerryStatRaiseEnd2:: @ 81D9679
|
|
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
|
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D9686
|
|
BattleScript_81D9686:: @ 81D9686
|
|
setbyte cMULTISTRING_CHOOSER, 4
|
|
call BattleScript_StatUp
|
|
removeitem BS_ATTACKER
|
|
end2
|
|
|
|
BattleScript_BerryFocusEnergyEnd2:: @ 81D9694
|
|
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
|
|
printstring STRINGID_PKMNUSEDXTOGETPUMPED
|
|
waitmessage 64
|
|
removeitem BS_ATTACKER
|
|
end2
|
|
|
|
BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D96A4
|
|
printselectionstring STRINGID_ITEMSCANTBEUSEDNOW
|
|
endselectionscript
|
|
BattleScript_FlushMessageBox:: @ 81D96A8
|
|
printstring STRINGID_EMPTYSTRING3
|
|
return
|