summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/macros/battle_script.inc1232
-rw-r--r--constants/battle_constants.inc170
-rw-r--r--constants/battle_script_constants.inc170
-rw-r--r--constants/battle_text.inc375
-rw-r--r--data/battle_scripts_1.s5184
-rw-r--r--data/battle_scripts_2.s258
-rw-r--r--include/battle.h4
-rw-r--r--include/battle_controllers.h4
-rw-r--r--include/battle_move_effects.h2
-rw-r--r--include/battle_script_commands.h6
-rw-r--r--include/battle_scripts.h640
-rw-r--r--src/battle_2.c48
-rw-r--r--src/battle_controller_link_opponent.c12
-rw-r--r--src/battle_controller_link_partner.c12
-rw-r--r--src/battle_controller_opponent.c12
-rw-r--r--src/battle_controller_player.c12
-rw-r--r--src/battle_controller_player_partner.c12
-rw-r--r--src/battle_controller_recorded_opponent.c12
-rw-r--r--src/battle_controller_recorded_player.c12
-rw-r--r--src/battle_controller_safari.c12
-rw-r--r--src/battle_controller_wally.c12
-rw-r--r--src/battle_controllers.c6
-rw-r--r--src/battle_script_commands.c733
-rw-r--r--src/battle_util.c198
24 files changed, 7828 insertions, 1310 deletions
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
new file mode 100644
index 000000000..3a8e99a94
--- /dev/null
+++ b/asm/macros/battle_script.inc
@@ -0,0 +1,1232 @@
+@ commands
+ .macro attackcanceler
+ .byte 0x0
+ .endm
+
+ .macro accuracycheck param0, param1
+ .byte 0x1
+ .4byte \param0
+ .2byte \param1
+ .endm
+
+ .macro attackstring
+ .byte 0x2
+ .endm
+
+ .macro ppreduce
+ .byte 0x3
+ .endm
+
+ .macro critcalc
+ .byte 0x4
+ .endm
+
+ .macro damagecalc
+ .byte 0x5
+ .endm
+
+ .macro typecalc
+ .byte 0x6
+ .endm
+
+ .macro adjustnormaldamage
+ .byte 0x7
+ .endm
+
+ .macro adjustnormaldamage2
+ .byte 0x8
+ .endm
+
+ .macro attackanimation
+ .byte 0x9
+ .endm
+
+ .macro waitanimation
+ .byte 0xa
+ .endm
+
+ .macro healthbarupdate bank
+ .byte 0xb
+ .byte \bank
+ .endm
+
+ .macro datahpupdate bank
+ .byte 0xc
+ .byte \bank
+ .endm
+
+ .macro critmessage
+ .byte 0xd
+ .endm
+
+ .macro effectivenesssound
+ .byte 0xe
+ .endm
+
+ .macro resultmessage
+ .byte 0xf
+ .endm
+
+ .macro printstring param0
+ .byte 0x10
+ .2byte \param0
+ .endm
+
+ .macro printselectionstring param0
+ .byte 0x11
+ .2byte \param0
+ .endm
+
+ .macro waitmessage param0
+ .byte 0x12
+ .2byte \param0
+ .endm
+
+ .macro printfromtable param0
+ .byte 0x13
+ .4byte \param0
+ .endm
+
+ .macro printselectionstringfromtable param0
+ .byte 0x14
+ .4byte \param0
+ .endm
+
+ .macro seteffectwithchance
+ .byte 0x15
+ .endm
+
+ .macro seteffectprimary
+ .byte 0x16
+ .endm
+
+ .macro seteffectsecondary
+ .byte 0x17
+ .endm
+
+ .macro clearstatusfromeffect bank
+ .byte 0x18
+ .byte \bank
+ .endm
+
+ .macro tryfaintmon bank, param1, param2
+ .byte 0x19
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro dofaintanimation bank
+ .byte 0x1a
+ .byte \bank
+ .endm
+
+ .macro cleareffectsonfaint bank
+ .byte 0x1b
+ .byte \bank
+ .endm
+
+ .macro jumpifstatus bank, status1, param2
+ .byte 0x1c
+ .byte \bank
+ .4byte \status1
+ .4byte \param2
+ .endm
+
+ .macro jumpifstatus2 bank, status2, param2
+ .byte 0x1d
+ .byte \bank
+ .4byte \status2
+ .4byte \param2
+ .endm
+
+ .macro jumpifability param0, ability, param2
+ .byte 0x1e
+ .byte \param0
+ .byte \ability
+ .4byte \param2
+ .endm
+
+ .macro jumpifsideaffecting bank, sidestatus, param2
+ .byte 0x1f
+ .byte \bank
+ .2byte \sidestatus
+ .4byte \param2
+ .endm
+
+ .macro jumpifstat bank, ifflag, stat, param3, param4
+ .byte 0x20
+ .byte \bank
+ .byte \ifflag
+ .byte \stat
+ .byte \param3
+ .4byte \param4
+ .endm
+
+ .macro jumpifstatus3 bank, status3, param2, param3
+ .byte 0x21
+ .byte \bank
+ .4byte \status3
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpiftype bank, type, param2
+ .byte 0x22
+ .byte \bank
+ .byte \type
+ .4byte \param2
+ .endm
+
+ .macro getexp bank
+ .byte 0x23
+ .byte \bank
+ .endm
+
+ .macro atk24 param0
+ .byte 0x24
+ .4byte \param0
+ .endm
+
+ .macro movevaluescleanup
+ .byte 0x25
+ .endm
+
+ .macro setmultihit param0
+ .byte 0x26
+ .byte \param0
+ .endm
+
+ .macro decrementmultihit param0
+ .byte 0x27
+ .4byte \param0
+ .endm
+
+ .macro goto param0
+ .byte 0x28
+ .4byte \param0
+ .endm
+
+ .macro jumpifbyte ifflag, param1, param2, param3
+ .byte 0x29
+ .byte \ifflag
+ .4byte \param1
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpifhalfword ifflag, param1, param2, param3
+ .byte 0x2a
+ .byte \ifflag
+ .4byte \param1
+ .2byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpifword ifflag, param1, param2, param3
+ .byte 0x2b
+ .byte \ifflag
+ .4byte \param1
+ .4byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpifarrayequal param0, param1, param2, param3
+ .byte 0x2c
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpifarraynotequal param0, param1, param2, param3
+ .byte 0x2d
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro setbyte param0, param1
+ .byte 0x2e
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro addbyte param0, param1
+ .byte 0x2f
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro subbyte param0, param1
+ .byte 0x30
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro copyarray param0, param1, param2
+ .byte 0x31
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .endm
+
+ .macro copyarraywithindex param0, param1, param2, param3
+ .byte 0x32
+ .4byte \param0
+ .4byte \param1
+ .4byte \param2
+ .byte \param3
+ .endm
+
+ .macro orbyte param0, param1
+ .byte 0x33
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro orhalfword param0, param1
+ .byte 0x34
+ .4byte \param0
+ .2byte \param1
+ .endm
+
+ .macro orword param0, param1
+ .byte 0x35
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro bicbyte param0, param1
+ .byte 0x36
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro bichalfword param0, param1
+ .byte 0x37
+ .4byte \param0
+ .2byte \param1
+ .endm
+
+ .macro bicword param0, param1
+ .byte 0x38
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro pause param0
+ .byte 0x39
+ .2byte \param0
+ .endm
+
+ .macro waitstate
+ .byte 0x3a
+ .endm
+
+ .macro healthbar_update bank
+ .byte 0x3b
+ .byte \bank
+ .endm
+
+ .macro return
+ .byte 0x3c
+ .endm
+
+ .macro end
+ .byte 0x3d
+ .endm
+
+ .macro end2
+ .byte 0x3e
+ .endm
+
+ .macro end3
+ .byte 0x3f
+ .endm
+
+ .macro jumpifaffectedbyprotect param0
+ .byte 0x40
+ .4byte \param0
+ .endm
+
+ .macro call param0
+ .byte 0x41
+ .4byte \param0
+ .endm
+
+ .macro jumpiftype2 bank, type, param2
+ .byte 0x42
+ .byte \bank
+ .byte \type
+ .4byte \param2
+ .endm
+
+ .macro jumpifabilitypresent ability, param1
+ .byte 0x43
+ .byte \ability
+ .4byte \param1
+ .endm
+
+ .macro endselectionscript
+ .byte 0x44
+ .endm
+
+ .macro playanimation bank, param1, param2
+ .byte 0x45
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro playanimation2 bank, param1, param2
+ .byte 0x46
+ .byte \bank
+ .4byte \param1
+ .4byte \param2
+ .endm
+
+ .macro setgraphicalstatchangevalues
+ .byte 0x47
+ .endm
+
+ .macro playstatchangeanimation bank, param1, param2
+ .byte 0x48
+ .byte \bank
+ .byte \param1
+ .byte \param2
+ .endm
+
+ .macro moveend param0, param1
+ .byte 0x49
+ .byte \param0
+ .byte \param1
+ .endm
+
+ .macro typecalc2
+ .byte 0x4a
+ .endm
+
+ .macro returnatktoball
+ .byte 0x4b
+ .endm
+
+ .macro getswitchedmondata bank
+ .byte 0x4c
+ .byte \bank
+ .endm
+
+ .macro switchindataupdate bank
+ .byte 0x4d
+ .byte \bank
+ .endm
+
+ .macro switchinanim bank, param1
+ .byte 0x4e
+ .byte \bank
+ .byte \param1
+ .endm
+
+ .macro jumpifcantswitch bank, param1
+ .byte 0x4f
+ .byte \bank
+ .4byte \param1
+ .endm
+
+ .macro openpartyscreen param0, param1
+ .byte 0x50
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro switchhandleorder bank, param1
+ .byte 0x51
+ .byte \bank
+ .byte \param1
+ .endm
+
+ .macro switchineffects bank
+ .byte 0x52
+ .byte \bank
+ .endm
+
+ .macro trainerslidein bank
+ .byte 0x53
+ .byte \bank
+ .endm
+
+ .macro playse param0
+ .byte 0x54
+ .2byte \param0
+ .endm
+
+ .macro fanfare param0
+ .byte 0x55
+ .2byte \param0
+ .endm
+
+ .macro playfaintcry bank
+ .byte 0x56
+ .byte \bank
+ .endm
+
+ .macro atk57
+ .byte 0x57
+ .endm
+
+ .macro returntoball bank
+ .byte 0x58
+ .byte \bank
+ .endm
+
+ .macro handlelearnnewmove param0, param1, param2
+ .byte 0x59
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .endm
+
+ .macro yesnoboxlearnmove param0
+ .byte 0x5a
+ .4byte \param0
+ .endm
+
+ .macro yesnoboxstoplearningmove param0
+ .byte 0x5b
+ .4byte \param0
+ .endm
+
+ .macro hitanimation bank
+ .byte 0x5c
+ .byte \bank
+ .endm
+
+ .macro getmoneyreward
+ .byte 0x5d
+ .endm
+
+ .macro atk5E bank
+ .byte 0x5e
+ .byte \bank
+ .endm
+
+ .macro atk5F
+ .byte 0x5f
+ .endm
+
+ .macro incrementgamestat param0
+ .byte 0x60
+ .byte \param0
+ .endm
+
+ .macro drawpartystatussummary bank
+ .byte 0x61
+ .byte \bank
+ .endm
+
+ .macro atk62 bank
+ .byte 0x62
+ .byte \bank
+ .endm
+
+ .macro jumptorandomattack param0
+ .byte 0x63
+ .byte \param0
+ .endm
+
+ .macro statusanimation bank
+ .byte 0x64
+ .byte \bank
+ .endm
+
+ .macro status2animation bank, status2
+ .byte 0x65
+ .byte \bank
+ .4byte \status2
+ .endm
+
+ .macro chosenstatusanimation bank, param1, param2
+ .byte 0x66
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro yesnobox
+ .byte 0x67
+ .endm
+
+ .macro cancelallactions
+ .byte 0x68
+ .endm
+
+ .macro adjustsetdamage
+ .byte 0x69
+ .endm
+
+ .macro removeitem bank
+ .byte 0x6a
+ .byte \bank
+ .endm
+
+ .macro atknameinbuff1
+ .byte 0x6b
+ .endm
+
+ .macro drawlvlupbox
+ .byte 0x6c
+ .endm
+
+ .macro resetsentmonsvalue
+ .byte 0x6d
+ .endm
+
+ .macro setatktoplayer0
+ .byte 0x6e
+ .endm
+
+ .macro makevisible bank
+ .byte 0x6f
+ .byte \bank
+ .endm
+
+ .macro recordlastability bank
+ .byte 0x70
+ .byte \bank
+ .endm
+
+ .macro buffermovetolearn
+ .byte 0x71
+ .endm
+
+ .macro jumpifplayerran param0
+ .byte 0x72
+ .4byte \param0
+ .endm
+
+ .macro hpthresholds bank
+ .byte 0x73
+ .byte \bank
+ .endm
+
+ .macro hpthresholds2 bank
+ .byte 0x74
+ .byte \bank
+ .endm
+
+ .macro useitemonopponent
+ .byte 0x75
+ .endm
+
+ .macro various bank, param1
+ .byte 0x76
+ .byte \bank
+ .byte \param1
+ .endm
+
+ .macro setprotectlike
+ .byte 0x77
+ .endm
+
+ .macro faintifabilitynotdamp
+ .byte 0x78
+ .endm
+
+ .macro setatkhptozero
+ .byte 0x79
+ .endm
+
+ .macro jumpifnexttargetvalid param0
+ .byte 0x7a
+ .4byte \param0
+ .endm
+
+ .macro tryhealhalfhealth param0, bank
+ .byte 0x7b
+ .4byte \param0
+ .byte \bank
+ .endm
+
+ .macro trymirrormove
+ .byte 0x7c
+ .endm
+
+ .macro setrain
+ .byte 0x7d
+ .endm
+
+ .macro setreflect
+ .byte 0x7e
+ .endm
+
+ .macro setseeded
+ .byte 0x7f
+ .endm
+
+ .macro manipulatedamage param0
+ .byte 0x80
+ .byte \param0
+ .endm
+
+ .macro trysetrest param0
+ .byte 0x81
+ .4byte \param0
+ .endm
+
+ .macro jumpifnotfirstturn param0
+ .byte 0x82
+ .4byte \param0
+ .endm
+
+ .macro nop
+ .byte 0x83
+ .endm
+
+ .macro jumpifcantmakeasleep param0
+ .byte 0x84
+ .4byte \param0
+ .endm
+
+ .macro stockpile
+ .byte 0x85
+ .endm
+
+ .macro stockpiletobasedamage param0
+ .byte 0x86
+ .4byte \param0
+ .endm
+
+ .macro stockpiletohpheal param0
+ .byte 0x87
+ .4byte \param0
+ .endm
+
+ .macro negativedamage
+ .byte 0x88
+ .endm
+
+ .macro statbuffchange param0, param1
+ .byte 0x89
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro normalisebuffs
+ .byte 0x8a
+ .endm
+
+ .macro setbide
+ .byte 0x8b
+ .endm
+
+ .macro confuseifrepeatingattackends
+ .byte 0x8c
+ .endm
+
+ .macro setmultihitcounter param0
+ .byte 0x8d
+ .byte \param0
+ .endm
+
+ .macro initmultihitstring
+ .byte 0x8e
+ .endm
+
+ .macro forcerandomswitch param0
+ .byte 0x8f
+ .4byte \param0
+ .endm
+
+ .macro tryconversiontypechange param0
+ .byte 0x90
+ .4byte \param0
+ .endm
+
+ .macro givepaydaymoney
+ .byte 0x91
+ .endm
+
+ .macro setlightscreen
+ .byte 0x92
+ .endm
+
+ .macro tryKO param0
+ .byte 0x93
+ .4byte \param0
+ .endm
+
+ .macro damagetohalftargethp
+ .byte 0x94
+ .endm
+
+ .macro setsandstorm
+ .byte 0x95
+ .endm
+
+ .macro weatherdamage
+ .byte 0x96
+ .endm
+
+ .macro tryinfatuating param0
+ .byte 0x97
+ .4byte \param0
+ .endm
+
+ .macro updatestatusicon bank
+ .byte 0x98
+ .byte \bank
+ .endm
+
+ .macro setmist
+ .byte 0x99
+ .endm
+
+ .macro setfocusenergy
+ .byte 0x9a
+ .endm
+
+ .macro transformdataexecution
+ .byte 0x9b
+ .endm
+
+ .macro setsubstitute
+ .byte 0x9c
+ .endm
+
+ .macro mimicattackcopy param0
+ .byte 0x9d
+ .4byte \param0
+ .endm
+
+ .macro metronome
+ .byte 0x9e
+ .endm
+
+ .macro dmgtolevel
+ .byte 0x9f
+ .endm
+
+ .macro psywavedamageeffect
+ .byte 0xa0
+ .endm
+
+ .macro counterdamagecalculator param0
+ .byte 0xa1
+ .4byte \param0
+ .endm
+
+ .macro mirrorcoatdamagecalculator param0
+ .byte 0xa2
+ .4byte \param0
+ .endm
+
+ .macro disablelastusedattack param0
+ .byte 0xa3
+ .4byte \param0
+ .endm
+
+ .macro trysetencore param0
+ .byte 0xa4
+ .4byte \param0
+ .endm
+
+ .macro painsplitdmgcalc param0
+ .byte 0xa5
+ .4byte \param0
+ .endm
+
+ .macro settypetorandomresistance param0
+ .byte 0xa6
+ .4byte \param0
+ .endm
+
+ .macro setalwayshitflag
+ .byte 0xa7
+ .endm
+
+ .macro copymovepermanently param0
+ .byte 0xa8
+ .4byte \param0
+ .endm
+
+ .macro sleeptalk_choose_move param0
+ .byte 0xa9
+ .4byte \param0
+ .endm
+
+ .macro setdestinybond
+ .byte 0xaa
+ .endm
+
+ .macro trysetdestinybondtohappen
+ .byte 0xab
+ .endm
+
+ .macro remaininghptopower
+ .byte 0xac
+ .endm
+
+ .macro tryspiteppreduce param0
+ .byte 0xad
+ .4byte \param0
+ .endm
+
+ .macro healpartystatus
+ .byte 0xae
+ .endm
+
+ .macro cursetarget param0
+ .byte 0xaf
+ .4byte \param0
+ .endm
+
+ .macro trysetspikes param0
+ .byte 0xb0
+ .4byte \param0
+ .endm
+
+ .macro setforesight
+ .byte 0xb1
+ .endm
+
+ .macro trysetperishsong param0
+ .byte 0xb2
+ .4byte \param0
+ .endm
+
+ .macro rolloutdamagecalculation
+ .byte 0xb3
+ .endm
+
+ .macro jumpifconfusedandstatmaxed stat, param1
+ .byte 0xb4
+ .byte \stat
+ .4byte \param1
+ .endm
+
+ .macro furycuttercalc
+ .byte 0xb5
+ .endm
+
+ .macro happinesstodamagecalculation
+ .byte 0xb6
+ .endm
+
+ .macro presentdamagecalculation
+ .byte 0xb7
+ .endm
+
+ .macro setsafeguard
+ .byte 0xb8
+ .endm
+
+ .macro magnitudedamagecalculation
+ .byte 0xb9
+ .endm
+
+ .macro jumpifnopursuitswitchdmg param0
+ .byte 0xba
+ .4byte \param0
+ .endm
+
+ .macro setsunny
+ .byte 0xbb
+ .endm
+
+ .macro maxattackhalvehp param0
+ .byte 0xbc
+ .4byte \param0
+ .endm
+
+ .macro copyfoestats param0
+ .byte 0xbd
+ .4byte \param0
+ .endm
+
+ .macro rapidspinfree
+ .byte 0xbe
+ .endm
+
+ .macro setdefensecurlbit
+ .byte 0xbf
+ .endm
+
+ .macro recoverbasedonsunlight param0
+ .byte 0xc0
+ .4byte \param0
+ .endm
+
+ .macro hiddenpowercalc
+ .byte 0xc1
+ .endm
+
+ .macro selectfirstvalidtarget
+ .byte 0xc2
+ .endm
+
+ .macro trysetfutureattack param0
+ .byte 0xc3
+ .4byte \param0
+ .endm
+
+ .macro trydobeatup param0, param1
+ .byte 0xc4
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro setsemiinvulnerablebit
+ .byte 0xc5
+ .endm
+
+ .macro clearsemiinvulnerablebit
+ .byte 0xc6
+ .endm
+
+ .macro setminimize
+ .byte 0xc7
+ .endm
+
+ .macro sethail
+ .byte 0xc8
+ .endm
+
+ .macro jumpifattackandspecialattackcannotfall param0
+ .byte 0xc9
+ .4byte \param0
+ .endm
+
+ .macro setforcedtarget
+ .byte 0xca
+ .endm
+
+ .macro setcharge
+ .byte 0xcb
+ .endm
+
+ .macro callterrainattack
+ .byte 0xcc
+ .endm
+
+ .macro cureifburnedparalysedorpoisoned param0
+ .byte 0xcd
+ .4byte \param0
+ .endm
+
+ .macro settorment param0
+ .byte 0xce
+ .4byte \param0
+ .endm
+
+ .macro jumpifnodamage param0
+ .byte 0xcf
+ .4byte \param0
+ .endm
+
+ .macro settaunt param0
+ .byte 0xd0
+ .4byte \param0
+ .endm
+
+ .macro trysethelpinghand param0
+ .byte 0xd1
+ .4byte \param0
+ .endm
+
+ .macro tryswapitems param0
+ .byte 0xd2
+ .4byte \param0
+ .endm
+
+ .macro trycopyability param0
+ .byte 0xd3
+ .4byte \param0
+ .endm
+
+ .macro trywish param0, param1
+ .byte 0xd4
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro trysetroots param0
+ .byte 0xd5
+ .4byte \param0
+ .endm
+
+ .macro doubledamagedealtifdamaged
+ .byte 0xd6
+ .endm
+
+ .macro setyawn param0
+ .byte 0xd7
+ .4byte \param0
+ .endm
+
+ .macro setdamagetohealthdifference param0
+ .byte 0xd8
+ .4byte \param0
+ .endm
+
+ .macro scaledamagebyhealthratio
+ .byte 0xd9
+ .endm
+
+ .macro tryswapabilities param0
+ .byte 0xda
+ .4byte \param0
+ .endm
+
+ .macro tryimprision param0
+ .byte 0xdb
+ .4byte \param0
+ .endm
+
+ .macro trysetgrudge param0
+ .byte 0xdc
+ .4byte \param0
+ .endm
+
+ .macro weightdamagecalculation
+ .byte 0xdd
+ .endm
+
+ .macro asistattackselect param0
+ .byte 0xde
+ .4byte \param0
+ .endm
+
+ .macro trysetmagiccoat param0
+ .byte 0xdf
+ .4byte \param0
+ .endm
+
+ .macro trysetsnatch param0
+ .byte 0xe0
+ .4byte \param0
+ .endm
+
+ .macro trygetintimidatetarget param0
+ .byte 0xe1
+ .4byte \param0
+ .endm
+
+ .macro switchoutabilities bank
+ .byte 0xe2
+ .byte \bank
+ .endm
+
+ .macro jumpifhasnohp bank, param1
+ .byte 0xe3
+ .byte \bank
+ .4byte \param1
+ .endm
+
+ .macro getsecretpowereffect
+ .byte 0xe4
+ .endm
+
+ .macro pickup
+ .byte 0xe5
+ .endm
+
+ .macro docastformchangeanimation
+ .byte 0xe6
+ .endm
+
+ .macro trycastformdatachange
+ .byte 0xe7
+ .endm
+
+ .macro settypebasedhalvers param0
+ .byte 0xe8
+ .4byte \param0
+ .endm
+
+ .macro setweatherballtype
+ .byte 0xe9
+ .endm
+
+ .macro tryrecycleitem param0
+ .byte 0xea
+ .4byte \param0
+ .endm
+
+ .macro settypetoterrain param0
+ .byte 0xeb
+ .4byte \param0
+ .endm
+
+ .macro pursuitrelated param0
+ .byte 0xec
+ .4byte \param0
+ .endm
+
+ .macro snatchsetbanks
+ .byte 0xed
+ .endm
+
+ .macro removelightscreenreflect
+ .byte 0xee
+ .endm
+
+ .macro pokeball_catch_calculation
+ .byte 0xef
+ .endm
+
+ .macro givecaughtmon
+ .byte 0xf0
+ .endm
+
+ .macro trysetcaughtmondexflags param0
+ .byte 0xf1
+ .4byte \param0
+ .endm
+
+ .macro displaydexinfo
+ .byte 0xf2
+ .endm
+
+ .macro trygivecaughtmonnick param0
+ .byte 0xf3
+ .4byte \param0
+ .endm
+
+ .macro subattackerhpbydmg
+ .byte 0xf4
+ .endm
+
+ .macro removeattackerstatus1
+ .byte 0xf5
+ .endm
+
+ .macro finishaction
+ .byte 0xf6
+ .endm
+
+ .macro finishturn
+ .byte 0xf7
+ .endm
+
+ .macro trainerslideout param0
+ .byte 0xf8
+ .byte \param0
+ .endm
+
+@ helpful macros
+ .macro setstatchanger stat, stages, down
+ setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7
+ .endm
+
+ .macro setmoveeffect effect
+ setbyte cEFFECT_CHOOSER \effect
+ .endm
+
+ .macro chosenstatus1animation bank, status
+ chosenstatusanimation \bank 0x0 \status
+ .endm
+
+ .macro chosenstatus2animation bank, status
+ chosenstatusanimation \bank 0x1 \status
+ .endm
diff --git a/constants/battle_constants.inc b/constants/battle_constants.inc
new file mode 100644
index 000000000..34f16a8c9
--- /dev/null
+++ b/constants/battle_constants.inc
@@ -0,0 +1,170 @@
+@ battle types
+ .set BATTLE_TYPE_DOUBLE , 0x0001
+ .set BATTLE_TYPE_LINK, 0x0002
+ .set BATTLE_TYPE_WILD, 0x0004
+ .set BATTLE_TYPE_TRAINER, 0x0008
+ .set BATTLE_TYPE_FIRST_BATTLE, 0x0010
+ .set BATTLE_TYPE_20, 0x0020
+ .set BATTLE_TYPE_MULTI, 0x0040
+ .set BATTLE_TYPE_SAFARI, 0x0080
+ .set BATTLE_TYPE_BATTLE_TOWER, 0x0100
+ .set BATTLE_TYPE_WALLY_TUTORIAL, 0x0200
+ .set BATTLE_TYPE_ROAMER, 0x0400
+ .set BATTLE_TYPE_EREADER_TRAINER, 0x0800
+ .set BATTLE_TYPE_KYOGRE_GROUDON, 0x1000
+ .set BATTLE_TYPE_LEGENDARY, 0x2000
+ .set BATTLE_TYPE_REGI, 0x4000
+ .set BATTLE_TYPE_TWO_OPPONENTS, 0x8000
+ .set BATTLE_TYPE_DOME, 0x10000
+ .set BATTLE_TYPE_PALACE, 0x20000
+ .set BATTLE_TYPE_ARENA, 0x40000
+ .set BATTLE_TYPE_FACTORY, 0x80000
+ .set BATTLE_TYPE_x100000, 0x100000
+ .set BATTLE_TYPE_PYRAMID, 0x200000
+ .set BATTLE_TYPE_INGAME_PARTNER, 0x400000
+ .set BATTLE_TYPE_x800000, 0x800000
+ .set BATTLE_TYPE_RECORDED, 0x1000000
+ .set BATTLE_TYPE_x2000000, 0x2000000
+ .set BATTLE_TYPE_x4000000, 0x4000000
+ .set BATTLE_TYPE_SECRET_BASE, 0x8000000
+ .set BATTLE_TYPE_GROUDON, 0x10000000
+ .set BATTLE_TYPE_KYORGE, 0x20000000
+ .set BATTLE_TYPE_RAYQUAZA, 0x40000000
+ .set BATTLE_TYPE_x80000000, 0x80000000
+
+@ battle outcomes
+ .set WON, 0x1
+ .set LOST, 0x2
+ .set DREW, 0x3
+ .set RAN, 0x4
+ .set PLAYER_TELEPORTED, 0x5
+ .set MON_FLED, 0x6
+ .set CAUGHT, 0x7
+ .set OUT_OF_BALLS, 0x8
+ .set FORFEITED, 0x9
+ .set OPPONENT_TELEPORTED, 0xA
+
+@ identities
+ .set IDENTITY_PLAYER_MON1, 0
+ .set IDENTITY_OPPONENT_MON1, 1
+ .set IDENTITY_PLAYER_MON2, 2
+ .set IDENTITY_OPPONENT_MON2, 3
+
+@ status 1
+ .set STATUS_SLEEP, 0x7
+ .set STATUS_POISON, 0x8
+ .set STATUS_BURN, 0x10
+ .set STATUS_FREEZE, 0x20
+ .set STATUS_PARALYSIS, 0x40
+ .set STATUS_TOXIC_POISON, 0x80
+ .set STATUS_TOXIC_COUNTER, 0xF00
+
+ .set STATUS_ANY, STATUS_SLEEP | STATUS_POISON | STATUS_BURN | STATUS_FREEZE | STATUS_PARALYSIS | STATUS_TOXIC_POISON
+
+@ status 2
+ .set STATUS2_CONFUSION, 0x00000007
+ .set STATUS2_FLINCHED, 0x00000008
+ .set STATUS2_UPROAR, 0x00000070
+ .set STATUS2_BIDE, 0x00000300
+ .set STATUS2_LOCK_CONFUSE, 0x00000C00
+ .set STATUS2_MULTIPLETURNS, 0x00001000
+ .set STATUS2_WRAPPED, 0x0000E000
+ .set STATUS2_INFATUATION, 0x000F0000
+ .set STATUS2_FOCUS_ENERGY, 0x00100000
+ .set STATUS2_TRANSFORMED, 0x00200000
+ .set STATUS2_RECHARGE, 0x00400000
+ .set STATUS2_RAGE, 0x00800000
+ .set STATUS2_SUBSTITUTE, 0x01000000
+ .set STATUS2_DESTINY_BOND, 0x02000000
+ .set STATUS2_ESCAPE_PREVENTION, 0x04000000
+ .set STATUS2_NIGHTMARE, 0x08000000
+ .set STATUS2_CURSED, 0x10000000
+ .set STATUS2_FORESIGHT, 0x20000000
+ .set STATUS2_DEFENSE_CURL, 0x40000000
+ .set STATUS2_TORMENT, 0x80000000
+
+@ status 3
+ .set STATUS3_LEECHSEED_BANK, 0x3
+ .set STATUS3_LEECHSEED, 0x4
+ .set STATUS3_ALWAYS_HITS, 0x18
+ .set STATUS3_PERISH_SONG, 0x20
+ .set STATUS3_ON_AIR, 0x40
+ .set STATUS3_UNDERGROUND, 0x80
+ .set STATUS3_MINIMIZED, 0x100
+ .set STATUS3_ROOTED, 0x400
+ .set STATUS3_CHARGED_UP, 0x200
+ .set STATUS3_YAWN, 0x1800
+ .set STATUS3_IMPRISONED_OTHERS, 0x2000
+ .set STATUS3_GRUDGE, 0x4000
+ .set STATUS3_CANT_SCORE_A_CRIT, 0x8000
+ .set STATUS3_MUDSPORT, 0x10000
+ .set STATUS3_WATERSPORT, 0x20000
+ .set STATUS3_UNDERWATER, 0x40000
+ .set STATUS3_INTIMIDATE_POKES, 0x80000
+ .set STATUS3_TRACE, 0x100000
+
+@ side status
+ .set SIDE_STATUS_REFLECT, 0x1
+ .set SIDE_STATUS_LIGHTSCREEN, 0x2
+ .set SIDE_STATUS_X4, 0x4
+ .set SIDE_STATUS_SPIKES, 0x10
+ .set SIDE_STATUS_SAFEGUARD, 0x20
+ .set SIDE_STATUS_FUTUREATTACK, 0x40
+ .set SIDE_STATUS_MIST, 0x100
+ .set SIDE_STATUS_SPIKES_DAMAGED, 0x200
+
+@ stats
+ .set HP, 0x0
+ .set ATK, 0x1
+ .set DEF, 0x2
+ .set SPEED, 0x3
+ .set SPATK, 0x4
+ .set SPDEF, 0x5
+ .set ACC, 0x6
+ .set EVASION, 0x7
+
+@ weather flags
+ .set WEATHER_RAIN_TEMPORARY, 0x01
+ .set WEATHER_RAIN_DOWNPOUR, 0x02
+ .set WEATHER_RAIN_PERMANENT, 0x04
+ .set WEATHER_SANDSTORM_TEMPORARY, 0x08
+ .set WEATHER_SANDSTORM_PERMANENT, 0x10
+ .set WEATHER_SUN_TEMPORARY, 0x20
+ .set WEATHER_SUN_PERMANENT, 0x40
+ .set WEATHER_HAIL, 0x80
+
+@ hitmarker
+ .set HITMARKER_x10, 0x00000010
+ .set HITMARKER_x20, 0x00000020
+ .set HITMARKER_DESTINYBOND, 0x00000040
+ .set HITMARKER_NO_ANIMATIONS, 0x00000080
+ .set HITMARKER_IGNORE_SUBSTITUTE, 0x00000100
+ .set HITMARKER_NO_ATTACKSTRING, 0x00000200
+ .set HITMARKER_ATTACKSTRING_PRINTED, 0x00000400
+ .set HITMARKER_NO_PPDEDUCT, 0x00000800
+ .set HITMARKER_PURSUIT_TRAP, 0x00001000
+ .set HITMARKER_IGNORE_SAFEGUARD, 0x00002000
+ .set HITMARKER_SYNCHRONISE_EFFECT, 0x00004000
+ .set HITMARKER_RUN, 0x00008000
+ .set HITMARKER_IGNORE_ON_AIR, 0x00010000
+ .set HITMARKER_IGNORE_UNDERGROUND, 0x00020000
+ .set HITMARKER_IGNORE_UNDERWATER, 0x00040000
+ .set HITMARKER_UNABLE_TO_USE_MOVE, 0x00080000
+ .set HITMARKER_x100000, 0x00100000
+ .set HITMARKER_x200000, 0x00200000
+ .set HITMARKER_x400000, 0x00400000
+ .set HITMARKER_x800000, 0x00800000
+ .set HITMARKER_GRUDGE, 0x01000000
+ .set HITMARKER_OBEYS, 0x02000000
+ .set HITMARKER_x4000000, 0x04000000
+ .set HITMARKER_x8000000, 0x08000000
+
+@ move flags
+ .set MOVESTATUS_MISSED, 0x1
+ .set MOVESTATUS_SUPEREFFECTIVE, 0x2
+ .set MOVESTATUS_NOTVERYEFFECTIVE, 0x4
+ .set MOVESTATUS_NOTAFFECTED, 0x8
+ .set MOVESTATUS_ONEHITKO, 0x10
+ .set MOVESTATUS_FAILED, 0x20
+ .set MOVESTATUS_ENDURED, 0x40
+ .set MOVESTATUS_HUNGON, 0x80
diff --git a/constants/battle_script_constants.inc b/constants/battle_script_constants.inc
new file mode 100644
index 000000000..106bffd03
--- /dev/null
+++ b/constants/battle_script_constants.inc
@@ -0,0 +1,170 @@
+@ animation ids
+ .set ANIM_CASTFORM_CHANGE, 0x0
+ .set ANIM_STATS_CHANGE, 0x1
+ .set ANIM_SUBSTITUTE_FADE, 0x2
+ .set ANIM_SUBSTITUTE_APPEAR, 0x3
+ .set ANIM_x4, 0x4
+ .set ANIM_ITEM_KNOCKOFF, 0x5
+ .set ANIM_TURN_TRAP, 0x6
+ .set ANIM_ITEM_EFFECT, 0x7
+ .set ANIM_SMOKEBALL_ESCAPE, 0x8
+ .set ANIM_HANGED_ON, 0x9
+ .set ANIM_RAIN_CONTINUES, 0xA
+ .set ANIM_SUN_CONTINUES, 0xB
+ .set ANIM_SANDSTORM_CONTINUES, 0xC
+ .set ANIM_HAIL_CONTINUES, 0xD
+ .set ANIM_LEECH_SEED_DRAIN, 0xE
+ .set ANIM_MON_HIT, 0xF
+ .set ANIM_ITEM_STEAL, 0x10
+ .set ANIM_SNATCH_MOVE, 0x11
+ .set ANIM_FUTURE_SIGHT_HIT, 0x12
+ .set ANIM_x13, 0x13
+ .set ANIM_x14, 0x14
+ .set ANIM_INGRAIN_HEAL, 0x15
+ .set ANIM_WISH_HEAL, 0x16
+
+@ atk 80
+ .set ATK80_DMG_CHANGE_SIGN, 0x0
+ .set ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP, 0x1
+ .set ATK80_DMG_DOUBLED, 0x2
+
+@ compare operands
+ .set EQUAL, 0x0
+ .set NOT_EQUAL, 0x1
+ .set GREATER_THAN, 0x2
+ .set LESS_THAN, 0x3
+ .set COMMON_BITS, 0x4
+ .set NO_COMMON_BITS, 0x5
+
+@ move effects
+ .set EFFECT_SLEEP, 0x1
+ .set EFFECT_POISON, 0x2
+ .set EFFECT_BURN, 0x3
+ .set EFFECT_FREEZE, 0x4
+ .set EFFECT_PARALYSIS, 0x5
+ .set EFFECT_TOXIC, 0x6
+ .set EFFECT_CONFUSION, 0x7
+ .set EFFECT_FLINCH, 0x8
+ .set EFFECT_TRI_ATTACK, 0x9
+ .set EFFECT_UPROAR, 0xA
+ .set EFFECT_PAYDAY, 0xB
+ .set EFFECT_CHARGING, 0xC
+ .set EFFECT_WRAP, 0xD
+ .set EFFECT_RECOIL_25, 0xE
+ .set EFFECT_ATK_PLUS_1, 0xF
+ .set EFFECT_DEF_PLUS_1, 0x10
+ .set EFFECT_SPD_PLUS_1, 0x11
+ .set EFFECT_SP_ATK_PLUS_1, 0x12
+ .set EFFECT_SP_DEF_PLUS_1, 0x13
+ .set EFFECT_ACC_PLUS_1, 0x14
+ .set EFFECT_EVS_PLUS_1, 0x15
+ .set EFFECT_ATK_MINUS_1, 0x16
+ .set EFFECT_DEF_MINUS_1, 0x17
+ .set EFFECT_SPD_MINUS_1, 0x18
+ .set EFFECT_SP_ATK_MINUS_1, 0x19
+ .set EFFECT_SP_DEF_MINUS_1, 0x1A
+ .set EFFECT_ACC_MINUS_1, 0x1B
+ .set EFFECT_EVS_MINUS_1, 0x1C
+ .set EFFECT_RECHARGE, 0x1D
+ .set EFFECT_RAGE, 0x1E
+ .set EFFECT_STEAL_ITEM, 0x1F
+ .set EFFECT_PREVENT_ESCAPE, 0x20
+ .set EFFECT_NIGHTMARE, 0x21
+ .set EFFECT_ALL_STATS_UP, 0x22
+ .set EFFECT_RAPIDSPIN, 0x23
+ .set EFFECT_REMOVE_PARALYSIS, 0x24
+ .set EFFECT_ATK_DEF_DOWN, 0x25
+ .set EFFECT_RECOIL_33_PARALYSIS, 0x26
+ .set EFFECT_ATK_PLUS_2, 0x27
+ .set EFFECT_DEF_PLUS_2, 0x28
+ .set EFFECT_SPD_PLUS_2, 0x29
+ .set EFFECT_SP_ATK_PLUS_2, 0x2A
+ .set EFFECT_SP_DEF_PLUS_2, 0x2B
+ .set EFFECT_ACC_PLUS_2, 0x2C
+ .set EFFECT_EVS_PLUS_2, 0x2D
+ .set EFFECT_ATK_MINUS_2, 0x2E
+ .set EFFECT_DEF_MINUS_2, 0x2F
+ .set EFFECT_SPD_MINUS_2, 0x30
+ .set EFFECT_SP_ATK_MINUS_2, 0x31
+ .set EFFECT_SP_DEF_MINUS_2, 0x32
+ .set EFFECT_ACC_MINUS_2, 0x33
+ .set EFFECT_EVS_MINUS_2, 0x34
+ .set EFFECT_THRASH, 0x35
+ .set EFFECT_KNOCK_OFF, 0x36
+ .set EFFECT_NOTHING_37, 0x37
+ .set EFFECT_NOTHING_38, 0x38
+ .set EFFECT_NOTHING_39, 0x39
+ .set EFFECT_NOTHING_3A, 0x3A
+ .set EFFECT_SP_ATK_TWO_DOWN, 0x3B
+ .set EFFECT_NOTHING_3C, 0x3C
+ .set EFFECT_NOTHING_3D, 0x3D
+ .set EFFECT_NOTHING_3E, 0x3E
+ .set EFFECT_NOTHING_3F, 0x3F
+
+ .set AFFECTS_USER, 0x40
+ .set CERTAIN, 0x80
+
+@ accuracy calc
+ .set NO_ACC_CALC, 0xFFFE
+ .set NO_ACC_CALC_CHECK_LOCK_ON, 0xFFFF
+ .set ACC_CURR_MOVE, 0x0
+
+@ bank values
+ .set TARGET, 0x0
+ .set ATTACKER, 0x1
+ .set EFFECT_BANK, 0x2
+ .set GBANK_1, 0x3
+ .set ATTACKER_WITH_PARTNER, 0x4 @ only for cmd98
+ .set BANK0, 0x7
+ .set SCRIPTING_BANK, 0xA
+ .set OPPONENT1, 0xC
+
+@ various
+ .set VARIOUS_CANCEL_MULTI_TURN_MOVES, 0
+ .set VARIOUS_SET_MAGIC_COAT_TARGET, 1
+ .set VARIOUS_IS_RUNNING_IMPOSSIBLE, 2
+ .set VARIOUS_GET_MOVE_TARGET, 3
+ .set VARIOUS_RESET_INTIMIDATE_TRACE_BITS, 5
+ .set VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP, 6
+ .set VARIOUS_EMIT_YESNOBOX, 13
+ .set VARIOUS_WAIT_CRY, 18
+ .set VARIOUS_RETURN_OPPONENT_MON1, 19
+ .set VARIOUS_RETURN_OPPONENT_MON2, 20
+ .set VARIOUS_SET_TELEPORT_OUTCOME, 25
+ .set VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC, 26
+
+@ jumpifcant switch flag argument
+ .set ATK4F_DONT_CHECK_STATUSES, 0x80
+
+@ battle scripting struct
+ .equiv sPAINSPLIT_HP, gBattleScripting
+ .equiv sBIDE_DMG, gBattleScripting + 4
+ .equiv sMULTIHIT_STRING, gBattleScripting + 8
+ .equiv sDMG_MULTIPLIER, gBattleScripting + 0xE
+ .equiv sFIELD_F, gBattleScripting + 0xF
+ .equiv sANIM_ARG1, gBattleScripting + 0x10
+ .equiv sANIM_ARG2, gBattleScripting + 0x11
+ .equiv sTRIPLE_KICK_POWER, gBattleScripting + 0x12
+ .equiv sFIELD_13, gBattleScripting + 0x13
+ .equiv sMOVEEND_STATE, gBattleScripting + 0x14
+ .equiv sFIELD_15, gBattleScripting + 0x15
+ .equiv sFIELD_16, gBattleScripting + 0x16
+ .equiv sBANK, gBattleScripting + 0x17
+ .equiv sANIM_TURN, gBattleScripting + 0x18
+ .equiv sANIM_TARGETS_HIT, gBattleScripting + 0x19
+ .equiv sSTATCHANGER, gBattleScripting + 0x1A
+ .equiv sFIELD_1B, gBattleScripting + 0x1B
+ .equiv sGIVEEXP_STATE, gBattleScripting + 0x1C
+ .equiv sBATTLE_STYLE, gBattleScripting + 0x1D
+ .equiv sLVLBOX_STATE, gBattleScripting + 0x1E
+ .equiv sLEARNMOVE_STATE, gBattleScripting + 0x1F
+ .equiv sFIELD_20, gBattleScripting + 0x20
+ .equiv sRESHOW_MAIN_STATE, gBattleScripting + 0x21
+ .equiv sRESHOW_HELPER_STATE, gBattleScripting + 0x22
+ .equiv sFIELD_23, gBattleScripting + 0x23
+ .equiv sFIELD_24, gBattleScripting + 0x24
+ .equiv sMULTIPLAYER_ID, gBattleScripting + 0x25
+
+@ battle communication struct
+ .equiv cEFFECT_CHOOSER, gBattleCommunication + 3
+ .equiv cMULTISTRING_CHOOSER, gBattleCommunication + 5
diff --git a/constants/battle_text.inc b/constants/battle_text.inc
new file mode 100644
index 000000000..1d3a5f346
--- /dev/null
+++ b/constants/battle_text.inc
@@ -0,0 +1,375 @@
+ .set STRINGID_INTROMSG, 0
+ .set STRINGID_INTROSENDOUT, 1
+ .set STRINGID_RETURNMON, 2
+ .set STRINGID_SWITCHINMON, 3
+ .set STRINGID_USEDMOVE, 4
+ .set STRINGID_BATTLEEND, 5
+ .set STRINGID_TRAINER1LOSETEXT, 12
+ .set STRINGID_PKMNGAINEDEXP, 13
+ .set STRINGID_PKMNGREWTOLV, 14
+ .set STRINGID_PKMNLEARNEDMOVE, 15
+ .set STRINGID_TRYTOLEARNMOVE1, 16
+ .set STRINGID_TRYTOLEARNMOVE2, 17
+ .set STRINGID_TRYTOLEARNMOVE3, 18
+ .set STRINGID_PKMNFORGOTMOVE, 19
+ .set STRINGID_STOPLEARNINGMOVE, 20
+ .set STRINGID_DIDNOTLEARNMOVE, 21
+ .set STRINGID_PKMNLEARNEDMOVE2, 22
+ .set STRINGID_ATTACKMISSED, 23
+ .set STRINGID_PKMNPROTECTEDITSELF, 24
+ .set STRINGID_STATSWONTINCREASE2, 25
+ .set STRINGID_AVOIDEDDAMAGE, 26
+ .set STRINGID_ITDOESNTAFFECT, 27
+ .set STRINGID_ATTACKERFAINTED, 28
+ .set STRINGID_TARGETFAINTED, 29
+ .set STRINGID_PLAYERGOTMONEY, 30
+ .set STRINGID_PLAYERWHITEOUT, 31
+ .set STRINGID_PLAYERWHITEOUT2, 32
+ .set STRINGID_PREVENTSESCAPE, 33
+ .set STRINGID_HITXTIMES, 34
+ .set STRINGID_PKMNFELLASLEEP, 35
+ .set STRINGID_PKMNMADESLEEP, 36
+ .set STRINGID_PKMNALREADYASLEEP, 37
+ .set STRINGID_PKMNALREADYASLEEP2, 38
+ .set STRINGID_PKMNWASNTAFFECTED, 39
+ .set STRINGID_PKMNWASPOISONED, 40
+ .set STRINGID_PKMNPOISONEDBY, 41
+ .set STRINGID_PKMNHURTBYPOISON, 42
+ .set STRINGID_PKMNALREADYPOISONED, 43
+ .set STRINGID_PKMNBADLYPOISONED, 44
+ .set STRINGID_PKMNENERGYDRAINED, 45
+ .set STRINGID_PKMNWASBURNED, 46
+ .set STRINGID_PKMNBURNEDBY, 47
+ .set STRINGID_PKMNHURTBYBURN, 48
+ .set STRINGID_PKMNWASFROZEN, 49
+ .set STRINGID_PKMNFROZENBY, 50
+ .set STRINGID_PKMNISFROZEN, 51
+ .set STRINGID_PKMNWASDEFROSTED, 52
+ .set STRINGID_PKMNWASDEFROSTED2, 53
+ .set STRINGID_PKMNWASDEFROSTEDBY, 54
+ .set STRINGID_PKMNWASPARALYZED, 55
+ .set STRINGID_PKMNWASPARALYZEDBY, 56
+ .set STRINGID_PKMNISPARALYZED, 57
+ .set STRINGID_PKMNISALREADYPARALYZED, 58
+ .set STRINGID_PKMNHEALEDPARALYSIS, 59
+ .set STRINGID_PKMNDREAMEATEN, 60
+ .set STRINGID_STATSWONTINCREASE, 61
+ .set STRINGID_STATSWONTDECREASE, 62
+ .set STRINGID_TEAMSTOPPEDWORKING, 63
+ .set STRINGID_FOESTOPPEDWORKING, 64
+ .set STRINGID_PKMNISCONFUSED, 65
+ .set STRINGID_PKMNHEALEDCONFUSION, 66
+ .set STRINGID_PKMNWASCONFUSED, 67
+ .set STRINGID_PKMNALREADYCONFUSED, 68
+ .set STRINGID_PKMNFELLINLOVE, 69
+ .set STRINGID_PKMNINLOVE, 70
+ .set STRINGID_PKMNIMMOBILIZEDBYLOVE, 71
+ .set STRINGID_PKMNBLOWNAWAY, 72
+ .set STRINGID_PKMNCHANGEDTYPE, 73
+ .set STRINGID_PKMNFLINCHED, 74
+ .set STRINGID_PKMNREGAINEDHEALTH, 75
+ .set STRINGID_PKMNHPFULL, 76
+ .set STRINGID_PKMNRAISEDSPDEF, 77
+ .set STRINGID_PKMNRAISEDDEF, 78
+ .set STRINGID_PKMNCOVEREDBYVEIL, 79
+ .set STRINGID_PKMNUSEDSAFEGUARD, 80
+ .set STRINGID_PKMNSAFEGUARDEXPIRED, 81
+ .set STRINGID_PKMNWENTTOSLEEP, 82
+ .set STRINGID_PKMNSLEPTHEALTHY, 83
+ .set STRINGID_PKMNWHIPPEDWHIRLWIND, 84
+ .set STRINGID_PKMNTOOKSUNLIGHT, 85
+ .set STRINGID_PKMNLOWEREDHEAD, 86
+ .set STRINGID_PKMNISGLOWING, 87
+ .set STRINGID_PKMNFLEWHIGH, 88
+ .set STRINGID_PKMNDUGHOLE, 89
+ .set STRINGID_PKMNSQUEEZEDBYBIND, 90
+ .set STRINGID_PKMNTRAPPEDINVORTEX, 91
+ .set STRINGID_PKMNWRAPPEDBY, 92
+ .set STRINGID_PKMNCLAMPED, 93
+ .set STRINGID_PKMNHURTBY, 94
+ .set STRINGID_PKMNFREEDFROM, 95
+ .set STRINGID_PKMNCRASHED, 96
+ .set STRINGID_PKMNSHROUDEDINMIST, 97
+ .set STRINGID_PKMNPROTECTEDBYMIST, 98
+ .set STRINGID_PKMNGETTINGPUMPED, 99
+ .set STRINGID_PKMNHITWITHRECOIL, 100
+ .set STRINGID_PKMNPROTECTEDITSELF2, 101
+ .set STRINGID_PKMNBUFFETEDBYSANDSTORM, 102
+ .set STRINGID_PKMNPELTEDBYHAIL, 103
+ .set STRINGID_PKMNSEEDED, 104
+ .set STRINGID_PKMNEVADEDATTACK, 105
+ .set STRINGID_PKMNSAPPEDBYLEECHSEED, 106
+ .set STRINGID_PKMNFASTASLEEP, 107
+ .set STRINGID_PKMNWOKEUP, 108
+ .set STRINGID_PKMNUPROARKEPTAWAKE, 109
+ .set STRINGID_PKMNWOKEUPINUPROAR, 110
+ .set STRINGID_PKMNCAUSEDUPROAR, 111
+ .set STRINGID_PKMNMAKINGUPROAR, 112
+ .set STRINGID_PKMNCALMEDDOWN, 113
+ .set STRINGID_PKMNCANTSLEEPINUPROAR, 114
+ .set STRINGID_PKMNSTOCKPILED, 115
+ .set STRINGID_PKMNCANTSTOCKPILE, 116
+ .set STRINGID_PKMNCANTSLEEPINUPROAR2, 117
+ .set STRINGID_UPROARKEPTPKMNAWAKE, 118
+ .set STRINGID_PKMNSTAYEDAWAKEUSING, 119
+ .set STRINGID_PKMNSTORINGENERGY, 120
+ .set STRINGID_PKMNUNLEASHEDENERGY, 121
+ .set STRINGID_PKMNFATIGUECONFUSION, 122
+ .set STRINGID_PKMNPICKEDUPITEM, 123
+ .set STRINGID_PKMNUNAFFECTED, 124
+ .set STRINGID_PKMNTRANSFORMEDINTO, 125
+ .set STRINGID_PKMNMADESUBSTITUTE, 126
+ .set STRINGID_PKMNHASSUBSTITUTE, 127
+ .set STRINGID_SUBSTITUTEDAMAGED, 128
+ .set STRINGID_PKMNSUBSTITUTEFADED, 129
+ .set STRINGID_PKMNMUSTRECHARGE, 130
+ .set STRINGID_PKMNRAGEBUILDING, 131
+ .set STRINGID_PKMNMOVEWASDISABLED, 132
+ .set STRINGID_PKMNMOVEISDISABLED, 133
+ .set STRINGID_PKMNMOVEDISABLEDNOMORE, 134
+ .set STRINGID_PKMNGOTENCORE, 135
+ .set STRINGID_PKMNENCOREENDED, 136
+ .set STRINGID_PKMNTOOKAIM, 137
+ .set STRINGID_PKMNSKETCHEDMOVE, 138
+ .set STRINGID_PKMNTRYINGTOTAKEFOE, 139
+ .set STRINGID_PKMNTOOKFOE, 140
+ .set STRINGID_PKMNREDUCEDPP, 141
+ .set STRINGID_PKMNSTOLEITEM, 142
+ .set STRINGID_TARGETCANTESCAPENOW, 143
+ .set STRINGID_PKMNFELLINTONIGHTMARE, 144
+ .set STRINGID_PKMNLOCKEDINNIGHTMARE, 145
+ .set STRINGID_PKMNLAIDCURSE, 146
+ .set STRINGID_PKMNAFFLICTEDBYCURSE, 147
+ .set STRINGID_SPIKESSCATTERED, 148
+ .set STRINGID_PKMNHURTBYSPIKES, 149
+ .set STRINGID_PKMNIDENTIFIED, 150
+ .set STRINGID_PKMNPERISHCOUNTFELL, 151
+ .set STRINGID_PKMNBRACEDITSELF, 152
+ .set STRINGID_PKMNENDUREDHIT, 153
+ .set STRINGID_MAGNITUDESTRENGTH, 154
+ .set STRINGID_PKMNCUTHPMAXEDATTACK, 155
+ .set STRINGID_PKMNCOPIEDSTATCHANGES, 156
+ .set STRINGID_PKMNGOTFREE, 157
+ .set STRINGID_PKMNSHEDLEECHSEED, 158
+ .set STRINGID_PKMNBLEWAWAYSPIKES, 159
+ .set STRINGID_PKMNFLEDFROMBATTLE, 160
+ .set STRINGID_PKMNFORESAWATTACK, 161
+ .set STRINGID_PKMNTOOKATTACK, 162
+ .set STRINGID_PKMNATTACK, 163
+ .set STRINGID_PKMNCENTERATTENTION, 164
+ .set STRINGID_PKMNCHARGINGPOWER, 165
+ .set STRINGID_NATUREPOWERTURNEDINTO, 166
+ .set STRINGID_PKMNSTATUSNORMAL, 167
+ .set STRINGID_PKMNHASNOMOVESLEFT, 168
+ .set STRINGID_PKMNSUBJECTEDTOTORMENT, 169
+ .set STRINGID_PKMNCANTUSEMOVETORMENT, 170
+ .set STRINGID_PKMNTIGHTENINGFOCUS, 171
+ .set STRINGID_PKMNFELLFORTAUNT, 172
+ .set STRINGID_PKMNCANTUSEMOVETAUNT, 173
+ .set STRINGID_PKMNREADYTOHELP, 174
+ .set STRINGID_PKMNSWITCHEDITEMS, 175
+ .set STRINGID_PKMNCOPIEDFOE, 176
+ .set STRINGID_PKMNMADEWISH, 177
+ .set STRINGID_PKMNWISHCAMETRUE, 178
+ .set STRINGID_PKMNPLANTEDROOTS, 179
+ .set STRINGID_PKMNABSORBEDNUTRIENTS, 180
+ .set STRINGID_PKMNANCHOREDITSELF, 181
+ .set STRINGID_PKMNWASMADEDROWSY, 182
+ .set STRINGID_PKMNKNOCKEDOFF, 183
+ .set STRINGID_PKMNSWAPPEDABILITIES, 184
+ .set STRINGID_PKMNSEALEDOPPONENTMOVE, 185
+ .set STRINGID_PKMNCANTUSEMOVESEALED, 186
+ .set STRINGID_PKMNWANTSGRUDGE, 187
+ .set STRINGID_PKMNLOSTPPGRUDGE, 188
+ .set STRINGID_PKMNSHROUDEDITSELF, 189
+ .set STRINGID_PKMNMOVEBOUNCED, 190
+ .set STRINGID_PKMNWAITSFORTARGET, 191
+ .set STRINGID_PKMNSNATCHEDMOVE, 192
+ .set STRINGID_PKMNMADEITRAIN, 193
+ .set STRINGID_PKMNRAISEDSPEED, 194
+ .set STRINGID_PKMNPROTECTEDBY, 195
+ .set STRINGID_PKMNPREVENTSUSAGE, 196
+ .set STRINGID_PKMNRESTOREDHPUSING, 197
+ .set STRINGID_PKMNCHANGEDTYPEWITH, 198
+ .set STRINGID_PKMNPREVENTSPARALYSISWITH, 199
+ .set STRINGID_PKMNPREVENTSROMANCEWITH, 200
+ .set STRINGID_PKMNPREVENTSPOISONINGWITH, 201
+ .set STRINGID_PKMNPREVENTSCONFUSIONWITH, 202
+ .set STRINGID_PKMNRAISEDFIREPOWERWITH, 203
+ .set STRINGID_PKMNANCHORSITSELFWITH, 204
+ .set STRINGID_PKMNCUTSATTACKWITH, 205
+ .set STRINGID_PKMNPREVENTSSTATLOSSWITH, 206
+ .set STRINGID_PKMNHURTSWITH, 207
+ .set STRINGID_PKMNTRACED, 208
+ .set STRINGID_STATSHARPLY, 209
+ .set STRINGID_STATROSE, 210
+ .set STRINGID_STATHARSHLY, 211
+ .set STRINGID_STATFELL, 212
+ .set STRINGID_PKMNSSTATCHANGED, 213
+ .set STRINGID_PKMNSSTATCHANGED2, 214
+ .set STRINGID_PKMNSSTATCHANGED3, 215
+ .set STRINGID_PKMNSSTATCHANGED4, 216
+ .set STRINGID_CRITICALHIT, 217
+ .set STRINGID_ONEHITKO, 218
+ .set STRINGID_123POOF, 219
+ .set STRINGID_ANDELLIPSIS, 220
+ .set STRINGID_NOTVERYEFFECTIVE, 221
+ .set STRINGID_SUPEREFFECTIVE, 222
+ .set STRINGID_GOTAWAYSAFELY, 223
+ .set STRINGID_WILDPKMNFLED, 224
+ .set STRINGID_NORUNNINGFROMTRAINERS, 225
+ .set STRINGID_CANTESCAPE, 226
+ .set STRINGID_DONTLEAVEBIRCH, 227
+ .set STRINGID_BUTNOTHINGHAPPENED, 228
+ .set STRINGID_BUTITFAILED, 229
+ .set STRINGID_ITHURTCONFUSION, 230
+ .set STRINGID_MIRRORMOVEFAILED, 231
+ .set STRINGID_STARTEDTORAIN, 232
+ .set STRINGID_DOWNPOURSTARTED, 233
+ .set STRINGID_RAINCONTINUES, 234
+ .set STRINGID_DOWNPOURCONTINUES, 235
+ .set STRINGID_RAINSTOPPED, 236
+ .set STRINGID_SANDSTORMBREWED, 237
+ .set STRINGID_SANDSTORMRAGES, 238
+ .set STRINGID_SANDSTORMSUBSIDED, 239
+ .set STRINGID_SUNLIGHTGOTBRIGHT, 240
+ .set STRINGID_SUNLIGHTSTRONG, 241
+ .set STRINGID_SUNLIGHTFADED, 242
+ .set STRINGID_STARTEDHAIL, 243
+ .set STRINGID_HAILCONTINUES, 244
+ .set STRINGID_HAILSTOPPED, 245
+ .set STRINGID_FAILEDTOSPITUP, 246
+ .set STRINGID_FAILEDTOSWALLOW, 247
+ .set STRINGID_WINDBECAMEHEATWAVE, 248
+ .set STRINGID_STATCHANGESGONE, 249
+ .set STRINGID_COINSSCATTERED, 250
+ .set STRINGID_TOOWEAKFORSUBSTITUTE, 251
+ .set STRINGID_SHAREDPAIN, 252
+ .set STRINGID_BELLCHIMED, 253
+ .set STRINGID_FAINTINTHREE, 254
+ .set STRINGID_NOPPLEFT, 255
+ .set STRINGID_BUTNOPPLEFT, 256
+ .set STRINGID_PLAYERUSEDITEM, 257
+ .set STRINGID_WALLYUSEDITEM, 258
+ .set STRINGID_TRAINERBLOCKEDBALL, 259
+ .set STRINGID_DONTBEATHIEF, 260
+ .set STRINGID_ITDODGEDBALL, 261
+ .set STRINGID_YOUMISSEDPKMN, 262
+ .set STRINGID_PKMNBROKEFREE, 263
+ .set STRINGID_ITAPPEAREDCAUGHT, 264
+ .set STRINGID_AARGHALMOSTHADIT, 265
+ .set STRINGID_SHOOTSOCLOSE, 266
+ .set STRINGID_GOTCHAPKMNCAUGHT, 267
+ .set STRINGID_GOTCHAPKMNCAUGHT2, 268
+ .set STRINGID_GIVENICKNAMECAPTURED, 269
+ .set STRINGID_PKMNSENTTOPC, 270
+ .set STRINGID_PKMNDATAADDEDTODEX, 271
+ .set STRINGID_ITISRAINING, 272
+ .set STRINGID_SANDSTORMISRAGING, 273
+ .set STRINGID_CANTESCAPE2, 274
+ .set STRINGID_PKMNIGNORESASLEEP, 275
+ .set STRINGID_PKMNIGNOREDORDERS, 276
+ .set STRINGID_PKMNBEGANTONAP, 277
+ .set STRINGID_PKMNLOAFING, 278
+ .set STRINGID_PKMNWONTOBEY, 279
+ .set STRINGID_PKMNTURNEDAWAY, 280
+ .set STRINGID_PKMNPRETENDNOTNOTICE, 281
+ .set STRINGID_ENEMYABOUTTOSWITCHPKMN, 282
+ .set STRINGID_CREPTCLOSER, 283
+ .set STRINGID_CANTGETCLOSER, 284
+ .set STRINGID_PKMNWATCHINGCAREFULLY, 285
+ .set STRINGID_PKMNCURIOUSABOUTX, 286
+ .set STRINGID_PKMNENTHRALLEDBYX, 287
+ .set STRINGID_PKMNIGNOREDX, 288
+ .set STRINGID_THREWPOKEBLOCKATPKMN, 289
+ .set STRINGID_OUTOFSAFARIBALLS, 290
+ .set STRINGID_PKMNSITEMCUREDPARALYSIS, 291
+ .set STRINGID_PKMNSITEMCUREDPOISON, 292
+ .set STRINGID_PKMNSITEMHEALEDBURN, 293
+ .set STRINGID_PKMNSITEMDEFROSTEDIT, 294
+ .set STRINGID_PKMNSITEMWOKEIT, 295
+ .set STRINGID_PKMNSITEMSNAPPEDOUT, 296
+ .set STRINGID_PKMNSITEMCUREDPROBLEM, 297
+ .set STRINGID_PKMNSITEMRESTOREDHEALTH, 298
+ .set STRINGID_PKMNSITEMRESTOREDPP, 299
+ .set STRINGID_PKMNSITEMRESTOREDSTATUS, 300
+ .set STRINGID_PKMNSITEMRESTOREDHPALITTLE, 301
+ .set STRINGID_ITEMALLOWSONLYYMOVE, 302
+ .set STRINGID_PKMNHUNGONWITHX, 303
+ .set STRINGID_EMPTYSTRING3, 304
+ .set STRINGID_PKMNSXPREVENTSBURNS, 305
+ .set STRINGID_PKMNSXBLOCKSY, 306
+ .set STRINGID_PKMNSXRESTOREDHPALITTLE2, 307
+ .set STRINGID_PKMNSXWHIPPEDUPSANDSTORM, 308
+ .set STRINGID_PKMNSXPREVENTSYLOSS, 309
+ .set STRINGID_PKMNSXINFATUATEDY, 310
+ .set STRINGID_PKMNSXMADEYINEFFECTIVE, 311
+ .set STRINGID_PKMNSXCUREDYPROBLEM, 312
+ .set STRINGID_ITSUCKEDLIQUIDOOZE, 313
+ .set STRINGID_PKMNTRANSFORMED, 314
+ .set STRINGID_ELECTRICITYWEAKENED, 315
+ .set STRINGID_FIREWEAKENED, 316
+ .set STRINGID_PKMNHIDUNDERWATER, 317
+ .set STRINGID_PKMNSPRANGUP, 318
+ .set STRINGID_HMMOVESCANTBEFORGOTTEN, 319
+ .set STRINGID_XFOUNDONEY, 320
+ .set STRINGID_PLAYERDEFEATEDTRAINER1, 321
+ .set STRINGID_SOOTHINGAROMA, 322
+ .set STRINGID_ITEMSCANTBEUSEDNOW, 323
+ .set STRINGID_FORXCOMMAYZ, 324
+ .set STRINGID_USINGXTHEYOFZN, 325
+ .set STRINGID_PKMNUSEDXTOGETPUMPED, 326
+ .set STRINGID_PKMNSXMADEYUSELESS, 327
+ .set STRINGID_PKMNTRAPPEDBYSANDTOMB, 328
+ .set STRINGID_EMPTYSTRING4, 329
+ .set STRINGID_ABOOSTED, 330
+ .set STRINGID_PKMNSXINTENSIFIEDSUN, 331
+ .set STRINGID_PKMNMAKESGROUNDMISS, 332
+ .set STRINGID_YOUTHROWABALLNOWRIGHT, 333
+ .set STRINGID_PKMNSXTOOKATTACK, 334
+ .set STRINGID_PKMNCHOSEXASDESTINY, 335
+ .set STRINGID_PKMNLOSTFOCUS, 336
+ .set STRINGID_USENEXTPKMN, 337
+ .set STRINGID_PKMNFLEDUSINGITS, 338
+ .set STRINGID_PKMNFLEDUSING, 339
+ .set STRINGID_PKMNWASDRAGGEDOUT, 340
+ .set STRINGID_PREVENTEDFROMWORKING, 341
+ .set STRINGID_PKMNSITEMNORMALIZEDSTATUS, 342
+ .set STRINGID_TRAINER1USEDITEM, 343
+ .set STRINGID_BOXISFULL, 344
+ .set STRINGID_PKMNAVOIDEDATTACK, 345
+ .set STRINGID_PKMNSXMADEITINEFFECTIVE, 346
+ .set STRINGID_PKMNSXPREVENTSFLINCHING, 347
+ .set STRINGID_PKMNALREADYHASBURN, 348
+ .set STRINGID_STATSWONTDECREASE2, 349
+ .set STRINGID_PKMNSXBLOCKSY2, 350
+ .set STRINGID_PKMNSXWOREOFF, 351
+ .set STRINGID_PKMNRAISEDDEFALITTLE, 352
+ .set STRINGID_PKMNRAISEDSPDEFALITTLE, 353
+ .set STRINGID_THEWALLSHATTERED, 354
+ .set STRINGID_PKMNSXPREVENTSYSZ, 355
+ .set STRINGID_PKMNSXCUREDITSYPROBLEM, 356
+ .set STRINGID_ATTACKERCANTESCAPE, 357
+ .set STRINGID_PKMNOBTAINEDX, 358
+ .set STRINGID_PKMNOBTAINEDX2, 359
+ .set STRINGID_PKMNOBTAINEDXYOBTAINEDZ, 360
+ .set STRINGID_BUTNOEFFECT, 361
+ .set STRINGID_PKMNSXHADNOEFFECTONY, 362
+ .set STRINGID_TWOENEMIESDEFEATED, 363
+ .set STRINGID_TRAINER2LOSETEXT, 364
+ .set STRINGID_PKMNINCAPABLEOFPOWER, 365
+ .set STRINGID_GLINTAPPEARSINEYE, 366
+ .set STRINGID_PKMNGETTINGINTOPOSITION, 367
+ .set STRINGID_PKMNBEGANGROWLINGDEEPLY, 368
+ .set STRINGID_PKMNEAGERFORMORE, 369
+ .set STRINGID_DEFEATEDOPPONENTBYREFEREE, 370
+ .set STRINGID_LOSTTOOPPONENTBYREFEREE, 371
+ .set STRINGID_TIEDOPPONENTBYREFEREE, 372
+ .set STRINGID_QUESTIONFORFEITMATCH, 373
+ .set STRINGID_FORFEITEDMATCH, 374
+ .set STRINGID_PKMNTRANSFERREDSOMEONESPC, 375
+ .set STRINGID_PKMNTRANSFERREDLANETTESPC, 376
+ .set STRINGID_PKMNBOXSOMEONESPCFULL, 377
+ .set STRINGID_PKMNBOXLANETTESPCFULL, 378
+ .set STRINGID_TRAINER1WINTEXT, 379
+ .set STRINGID_TRAINER2WINTEXT, 380
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index b2dfec5d8..1f6be1390 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -1,586 +1,4610 @@
.include "asm/macros.inc"
+ .include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
+ .include "constants/battle_constants.inc"
+ .include "constants/battle_script_constants.inc"
+ .include "constants/battle_text.inc"
.section script_data, "aw", %progbits
gBattleScriptsForMoveEffects:: @ 82D86A8
- .incbin "baserom.gba", 0x2d86a8, 0x388
-
-BattleScript_PresentDamageTarget:: @ 82D8A30
- .incbin "baserom.gba", 0x2d8a30, 0x1e
-
-BattleScript_MoveEnd:: @ 82D8A4E
- .incbin "baserom.gba", 0x2d8a4e, 0x12
-
-BattleScript_PauseEffectivenessSoundResultMsgEndMove:: @ 82D8A60
- .incbin "baserom.gba", 0x2d8a60, 0x274
-
-BattleScript_StatUp:: @ 82D8CD4
- .incbin "baserom.gba", 0x2d8cd4, 0x91
-
-BattleScript_StatDown:: @ 82D8D65
- .incbin "baserom.gba", 0x2d8d65, 0x6fd
-
-BattleScript_MoveUsedMustRecharge:: @ 82D9462
- .incbin "baserom.gba", 0x2d9462, 0xa7f
-
-BattleScript_PresentHealTarget:: @ 82D9EE1
- .incbin "baserom.gba", 0x2d9ee1, 0x1a
-
-BattleScript_AlreadyAtFullHp:: @ 82D9EFB
- .incbin "baserom.gba", 0x2d9efb, 0x21
-
-BattleScript_ButItFailed:: @ 82D9F1C
- .incbin "baserom.gba", 0x2d9f1c, 0x88e
-
-BattleScript_FaintAttacker:: @ 82DA7AA
- .incbin "baserom.gba", 0x2da7aa, 0xd
-
-BattleScript_FaintTarget:: @ 82DA7B7
- .incbin "baserom.gba", 0x2da7b7, 0xd
-
-gUnknown_082DA7C4:: @ 82DA7C4
- .incbin "baserom.gba", 0x2da7c4, 0x9
-
-gUnknown_082DA7CD:: @ 82DA7CD
- .incbin "baserom.gba", 0x2da7cd, 0x160
-
-BattleScript_LocalTrainerBattleWon:: @ 82DA92D
- .incbin "baserom.gba", 0x2da92d, 0x3d
-
-BattleScript_PayDayMoneyAndPickUpItems:: @ 82DA96A
- .incbin "baserom.gba", 0x2da96a, 0x3
-
-BattleScript_LocalBattleLost:: @ 82DA96D
- .incbin "baserom.gba", 0x2da96d, 0x9e
-
-gUnknown_082DAA0B:: @ 82DAA0B
- .incbin "baserom.gba", 0x2daa0b, 0x2a
-
-BattleScript_LinkBattleWonOrLost:: @ 82DAA35
- .incbin "baserom.gba", 0x2daa35, 0x52
-
-BattleScript_FrontierTrainerBattleWon:: @ 82DAA87
- .incbin "baserom.gba", 0x2daa87, 0x54
-
-BattleScript_SmokeBallEscape:: @ 82DAADB
- .incbin "baserom.gba", 0x2daadb, 0xe
-
-BattleScript_RanAwayUsingMonAbility:: @ 82DAAE9
- .incbin "baserom.gba", 0x2daae9, 0x7
-
-BattleScript_GotAwaySafely:: @ 82DAAF0
- .incbin "baserom.gba", 0x2daaf0, 0x7
-
-BattleScript_WildMonFled:: @ 82DAAF7
- .incbin "baserom.gba", 0x2daaf7, 0x7
-
-gUnknown_082DAAFE:: @ 82DAAFE
- .incbin "baserom.gba", 0x2daafe, 0x4
-
-BattleScript_PrintFailedToRunString:: @ 82DAB02
- .incbin "baserom.gba", 0x2dab02, 0x9
-
-gUnknown_082DAB0B:: @ 82DAB0B
- .incbin "baserom.gba", 0x2dab0b, 0x6
-
-gUnknown_082DAB11:: @ 82DAB11
- .incbin "baserom.gba", 0x2dab11, 0x4
-
-BattleScript_ActionSwitch:: @ 82DAB15
- .incbin "baserom.gba", 0x2dab15, 0xa4
-
-BattleScript_Pausex20:: @ 82DABB9
- .incbin "baserom.gba", 0x2dabb9, 0x4
-
-BattleScript_LevelUp:: @ 82DABBD
- .incbin "baserom.gba", 0x2dabbd, 0x6f
-
-gUnknown_082DAC2C:: @ 82DAC2C
- .incbin "baserom.gba", 0x2dac2c, 0x1b
-
-gUnknown_082DAC47:: @ 82DAC47
- .incbin "baserom.gba", 0x2dac47, 0x82
-
-gUnknown_082DACC9:: @ 82DACC9
- .incbin "baserom.gba", 0x2dacc9, 0x9
-
-gUnknown_082DACD2:: @ 82DACD2
- .incbin "baserom.gba", 0x2dacd2, 0xe
-
-gUnknown_082DACE0:: @ 82DACE0
- .incbin "baserom.gba", 0x2dace0, 0x7
-
-gUnknown_082DACE7:: @ 82DACE7
- .incbin "baserom.gba", 0x2dace7, 0x13
-
-gUnknown_082DACFA:: @ 82DACFA
- .incbin "baserom.gba", 0x2dacfa, 0x11
-
-gUnknown_082DAD0B:: @ 82DAD0B
- .incbin "baserom.gba", 0x2dad0b, 0xa
-
-BattleScript_LeechSeedTurnDrain:: @ 82DAD15
- .incbin "baserom.gba", 0x2dad15, 0x5c
-
-BattleScript_BideStoringEnergy:: @ 82DAD71
- .incbin "baserom.gba", 0x2dad71, 0xb
-
-BattleScript_BideAttack:: @ 82DAD7C
- .incbin "baserom.gba", 0x2dad7c, 0x48
-
-BattleScript_BideNoEnergyToAttack:: @ 82DADC4
- .incbin "baserom.gba", 0x2dadc4, 0x14
-
-gUnknown_082DADD8:: @ 82DADD8
- .incbin "baserom.gba", 0x2dadd8, 0x2b
-
-BattleScript_MistProtected:: @ 82DAE03
- .incbin "baserom.gba", 0x2dae03, 0xa
-
-BattleScript_RageIsBuilding:: @ 82DAE0D
- .incbin "baserom.gba", 0x2dae0d, 0x7
-
-BattleScript_MoveUsedIsDisabled:: @ 82DAE14
- .incbin "baserom.gba", 0x2dae14, 0xb
-
-gUnknown_082DAE1F:: @ 82DAE1F
- .incbin "baserom.gba", 0x2dae1f, 0x4
-
-BattleScript_DisabledNoMore:: @ 82DAE23
- .incbin "baserom.gba", 0x2dae23, 0x7
-
-gUnknown_082DAE2A:: @ 82DAE2A
- .incbin "baserom.gba", 0x2dae2a, 0xd
-
-BattleScript_EncoredNoMore:: @ 82DAE37
- .incbin "baserom.gba", 0x2dae37, 0x7
-
-BattleScript_DestinyBondTakesLife:: @ 82DAE3E
- .incbin "baserom.gba", 0x2dae3e, 0x1b
-
-gUnknown_082DAE59:: @ 82DAE59
- .incbin "baserom.gba", 0x2dae59, 0x37
-
-gUnknown_082DAE90:: @ 82DAE90
- .incbin "baserom.gba", 0x2dae90, 0x37
-
-gUnknown_082DAEC7:: @ 82DAEC7
- .incbin "baserom.gba", 0x2daec7, 0x3e
-
-gUnknown_082DAF05:: @ 82DAF05
- .incbin "baserom.gba", 0x2daf05, 0x1b
-
-gUnknown_082DAF20:: @ 82DAF20
- .incbin "baserom.gba", 0x2daf20, 0x7
-
-BattleScript_AllStatsUp:: @ 82DAF27
- .incbin "baserom.gba", 0x2daf27, 0x9c
-
-BattleScript_RapidSpinAway:: @ 82DAFC3
- .incbin "baserom.gba", 0x2dafc3, 0x2
-
-BattleScript_WrapFree:: @ 82DAFC5
- .incbin "baserom.gba", 0x2dafc5, 0x11
-
-BattleScript_LeechSeedFree:: @ 82DAFD6
- .incbin "baserom.gba", 0x2dafd6, 0x7
-
-BattleScript_SpikesFree:: @ 82DAFDD
- .incbin "baserom.gba", 0x2dafdd, 0x7
-
-gUnknown_082DAFE4:: @ 82DAFE4
- .incbin "baserom.gba", 0x2dafe4, 0x8e
-
-BattleScript_NoMovesLeft:: @ 82DB072
- .incbin "baserom.gba", 0x2db072, 0x4
-
-gUnknown_082DB076:: @ 82DB076
- .incbin "baserom.gba", 0x2db076, 0x4
-
-BattleScript_NoPPForMove:: @ 82DB07A
- .incbin "baserom.gba", 0x2db07a, 0xf
-
-gUnknown_082DB089:: @ 82DB089
- .incbin "baserom.gba", 0x2db089, 0xf
-
-gUnknown_082DB098:: @ 82DB098
- .incbin "baserom.gba", 0x2db098, 0x8
-
-gUnknown_082DB0A0:: @ 82DB0A0
- .incbin "baserom.gba", 0x2db0a0, 0x4
-
-BattleScript_MoveUsedIsTaunted:: @ 82DB0A4
- .incbin "baserom.gba", 0x2db0a4, 0xb
-
-gUnknown_082DB0AF:: @ 82DB0AF
- .incbin "baserom.gba", 0x2db0af, 0x8
-
-BattleScript_WishComesTrue:: @ 82DB0B7
- .incbin "baserom.gba", 0x2db0b7, 0x37
-
-BattleScript_IngrainTurnHeal:: @ 82DB0EE
- .incbin "baserom.gba", 0x2db0ee, 0x29
-
-BattleScript_AtkDefDown:: @ 82DB117
- .incbin "baserom.gba", 0x2db117, 0x51
-
-BattleScript_KnockedOff:: @ 82DB168
- .incbin "baserom.gba", 0x2db168, 0xe
-
-BattleScript_MoveUsedIsImprisoned:: @ 82DB176
- .incbin "baserom.gba", 0x2db176, 0xb
-
-gUnknown_082DB181:: @ 82DB181
- .incbin "baserom.gba", 0x2db181, 0x4
-
-gUnknown_082DB185:: @ 82DB185
- .incbin "baserom.gba", 0x2db185, 0x8
-
-BattleScript_GrudgeTakesPp:: @ 82DB18D
- .incbin "baserom.gba", 0x2db18d, 0x7
-
-BattleScript_MagicCoatBounce:: @ 82DB194
- .incbin "baserom.gba", 0x2db194, 0x18
-
-BattleScript_SnatchedMove:: @ 82DB1AC
- .incbin "baserom.gba", 0x2db1ac, 0x1b
-
-BattleScript_EnduredMsg:: @ 82DB1C7
- .incbin "baserom.gba", 0x2db1c7, 0x7
-
-BattleScript_OneHitKOMsg:: @ 82DB1CE
- .incbin "baserom.gba", 0x2db1ce, 0x7
-
-BattleScript_SAtkDown2:: @ 82DB1D5
- .incbin "baserom.gba", 0x2db1d5, 0x2a
-
-BattleScript_FocusPunchSetUp:: @ 82DB1FF
- .incbin "baserom.gba", 0x2db1ff, 0x14
-
-BattleScript_MoveUsedIsAsleep:: @ 82DB213
- .incbin "baserom.gba", 0x2db213, 0xd
-
-BattleScript_MoveUsedWokeUp:: @ 82DB220
- .incbin "baserom.gba", 0x2db220, 0x14
-
-gUnknown_082DB234:: @ 82DB234
- .incbin "baserom.gba", 0x2db234, 0x9
-
-BattleScript_PoisonTurnDmg:: @ 82DB23D
- .incbin "baserom.gba", 0x2db23d, 0x22
-
-BattleScript_BurnTurnDmg:: @ 82DB25F
- .incbin "baserom.gba", 0x2db25f, 0xb
-
-BattleScript_MoveUsedIsFrozen:: @ 82DB26A
- .incbin "baserom.gba", 0x2db26a, 0xd
-
-BattleScript_MoveUsedUnfroze:: @ 82DB277
- .incbin "baserom.gba", 0x2db277, 0xb
-
-BattleScript_DefrostedViaFireMove:: @ 82DB282
- .incbin "baserom.gba", 0x2db282, 0x9
-
-BattleScript_MoveUsedIsParalyzed:: @ 82DB28B
- .incbin "baserom.gba", 0x2db28b, 0x10
-
-BattleScript_MoveUsedFlinched:: @ 82DB29B
- .incbin "baserom.gba", 0x2db29b, 0xb
-
-gUnknown_082DB2A6:: @ 82DB2A6
- .incbin "baserom.gba", 0x2db2a6, 0x9
-
-BattleScript_ThrashConfuses:: @ 82DB2AF
- .incbin "baserom.gba", 0x2db2af, 0xe
-
-BattleScript_MoveUsedIsConfused:: @ 82DB2BD
- .incbin "baserom.gba", 0x2db2bd, 0x43
-
-BattleScript_MoveUsedIsConfusedNoMore:: @ 82DB300
- .incbin "baserom.gba", 0x2db300, 0x7
-
-BattleScript_PrintPayDayMoneyString:: @ 82DB307
- .incbin "baserom.gba", 0x2db307, 0x7
-
-BattleScript_WrapTurnDmg:: @ 82DB30E
- .incbin "baserom.gba", 0x2db30e, 0x12
-
-BattleScript_WrapEnds:: @ 82DB320
- .incbin "baserom.gba", 0x2db320, 0x7
-
-BattleScript_MoveUsedIsInLove:: @ 82DB327
- .incbin "baserom.gba", 0x2db327, 0xd
-
-BattleScript_MoveUsedIsParalyzedCantAttack:: @ 82DB334
- .incbin "baserom.gba", 0x2db334, 0xb
-
-BattleScript_NightmareTurnDmg:: @ 82DB33F
- .incbin "baserom.gba", 0x2db33f, 0x11
-
-BattleScript_CurseTurnDmg:: @ 82DB350
- .incbin "baserom.gba", 0x2db350, 0x11
-
-BattleScript_TargetPRLZHeal:: @ 82DB361
- .incbin "baserom.gba", 0x2db361, 0x9
-
-BattleScript_MoveEffectSleep:: @ 82DB36A
- .incbin "baserom.gba", 0x2db36A, 0xE
-
-BattleScript_YawnMakesAsleep:: @ 82DB378
- .incbin "baserom.gba", 0x2db378, 0xE
-
-BattleScript_MoveEffectPoison:: @ 82DB386
- .incbin "baserom.gba", 0x2db386, 0xF
-
-BattleScript_MoveEffectBurn:: @ 82DB395
- .incbin "baserom.gba", 0x2db395, 0xF
-
-BattleScript_MoveEffectFreeze:: @ 82DB3A4
- .incbin "baserom.gba", 0x2db3A4, 0xF
-
-BattleScript_MoveEffectParalysis:: @ 82DB3B3
- .incbin "baserom.gba", 0x2db3B3, 0xF
-
-BattleScript_MoveEffectUproar:: @ 82DB3C2
- .incbin "baserom.gba", 0x2db3C2, 0x7
-
-BattleScript_MoveEffectToxic:: @ 82DB3C9
- .incbin "baserom.gba", 0x2db3C9, 0xD
-
-BattleScript_MoveEffectPayDay:: @ 82DB3D6
- .incbin "baserom.gba", 0x2db3D6, 0x7
-
-BattleScript_MoveEffectWrap:: @ 82DB3DD
- .incbin "baserom.gba", 0x2db3DD, 0x9
-
-BattleScript_MoveEffectConfusion:: @ 82DB3E6
- .incbin "baserom.gba", 0x2db3E6, 0xE
-
-BattleScript_MoveEffectRecoil33:: @ 82DB3F4
- .incbin "baserom.gba", 0x2db3F4, 0x2e
-
-BattleScript_ItemSteal:: @ 82DB422
- .incbin "baserom.gba", 0x2db422, 0xe
-
-BattleScript_DrizzleActivates:: @ 82DB430
- .incbin "baserom.gba", 0x2db430, 0x14
-
-BattleScript_SpeedBoostActivates:: @ 82DB444
- .incbin "baserom.gba", 0x2db444, 0xe
-
-BattleScript_TraceActivates:: @ 82DB452
- .incbin "baserom.gba", 0x2db452, 0xa
-
-BattleScript_RainDishActivates:: @ 82DB45C
- .incbin "baserom.gba", 0x2db45c, 0x14
-
-BattleScript_SandstreamActivates:: @ 82DB470
- .incbin "baserom.gba", 0x2db470, 0x14
-
-BattleScript_ShedSkinActivates:: @ 82DB484
- .incbin "baserom.gba", 0x2db484, 0x25
-
-BattleScript_CastformChange:: @ 82DB4A9
- .incbin "baserom.gba", 0x2db4a9, 0xf
-
-gUnknown_082DB4B8:: @ 82DB4B8
- .incbin "baserom.gba", 0x2db4b8, 0x9
-
-gUnknown_082DB4C1:: @ 82DB4C1
- .incbin "baserom.gba", 0x2db4c1, 0x69
-
-BattleScript_DroughtActivates:: @ 82DB52A
- .incbin "baserom.gba", 0x2db52a, 0x14
-
-BattleScript_TookAttack:: @ 82DB53E
- .incbin "baserom.gba", 0x2db53e, 0x14
-
-BattleScript_SturdyPreventsOHKO:: @ 82DB552
- .incbin "baserom.gba", 0x2db552, 0xe
-
-BattleScript_DampStopsExplosion:: @ 82DB560
- .incbin "baserom.gba", 0x2db560, 0xe
-
-BattleScript_MoveHPDrain_PPLoss:: @ 82DB56E
- .incbin "baserom.gba", 0x2db56e, 0x1
-
-BattleScript_MoveHPDrain:: @ 82DB56F
- .incbin "baserom.gba", 0x2db56f, 0x22
-
-gUnknown_082DB591:: @ 82DB591
- .incbin "baserom.gba", 0x2db591, 0x1
-
-gUnknown_082DB592:: @ 82DB592
- .incbin "baserom.gba", 0x2db592, 0x15
-
-BattleScript_FlashFireBoost_PPLoss:: @ 82DB5A7
- .incbin "baserom.gba", 0x2db5a7, 0x1
-
-BattleScript_FlashFireBoost:: @ 82DB5A8
- .incbin "baserom.gba", 0x2db5a8, 0x1f
-
-BattleScript_AbilityNoStatLoss:: @ 82DB5C7
- .incbin "baserom.gba", 0x2db5c7, 0xa
-
-BattleScript_BRNPrevention:: @ 82DB5D1
- .incbin "baserom.gba", 0x2db5d1, 0xc
-
-BattleScript_PRLZPrevention:: @ 82DB5DD
- .incbin "baserom.gba", 0x2db5dd, 0xc
-
-BattleScript_PSNPrevention:: @ 82DB5E9
- .incbin "baserom.gba", 0x2db5e9, 0xc
-
-BattleScript_ObliviousPreventsAttraction:: @ 82DB5F5
- .incbin "baserom.gba", 0x2db5f5, 0xe
-
-BattleScript_FlinchPrevention:: @ 82DB603
- .incbin "baserom.gba", 0x2db603, 0x1c
-
-BattleScript_SoundproofProtected:: @ 82DB61F
- .incbin "baserom.gba", 0x2db61f, 0x10
-
-BattleScript_AbilityNoSpecificStatLoss:: @ 82DB62F
- .incbin "baserom.gba", 0x2db62f, 0x10
-
-BattleScript_StickyHoldActivates:: @ 82DB63F
- .incbin "baserom.gba", 0x2db63f, 0xe
-
-BattleScript_ColorChangeActivates:: @ 82DB64D
- .incbin "baserom.gba", 0x2db64d, 0x7
-
-BattleScript_RoughSkinActivates:: @ 82DB654
- .incbin "baserom.gba", 0x2db654, 0x1b
-
-BattleScript_CuteCharmActivates:: @ 82DB66F
- .incbin "baserom.gba", 0x2db66f, 0xd
-
-BattleScript_ApplySecondaryEffect:: @ 82DB67C
- .incbin "baserom.gba", 0x2db67c, 0x3
-
-BattleScript_SynchronizeActivates:: @ 82DB67F
- .incbin "baserom.gba", 0x2db67f, 0x3
-
-BattleScript_NoItemSteal:: @ 82DB682
- .incbin "baserom.gba", 0x2db682, 0xa
-
-gUnknown_082DB68C:: @ 82DB68C
- .incbin "baserom.gba", 0x2db68c, 0x9
-
-gUnknown_082DB695:: @ 82DB695
- .incbin "baserom.gba", 0x2db695, 0x10
-
-gUnknown_082DB6A5:: @ 82DB6A5
- .incbin "baserom.gba", 0x2db6a5, 0x8
-
-BattleScript_MoveUsedLoafingAround:: @ 82DB6AD
- .incbin "baserom.gba", 0x2db6ad, 0x2c
-
-gUnknown_082DB6D9:: @ 82DB6D9
- .incbin "baserom.gba", 0x2db6d9, 0x17
-
-gUnknown_082DB6F0:: @ 82DB6F0
- .incbin "baserom.gba", 0x2db6f0, 0xb
-
-BattleScript_SubstituteFade:: @ 82DB6FB
- .incbin "baserom.gba", 0x2db6fb, 0xb
-
-BattleScript_BerryCurePrlzEnd2:: @ 82DB706
- .incbin "baserom.gba", 0x2db706, 0x6
-
-BattleScript_BerryCureParRet:: @ 82DB70C
- .incbin "baserom.gba", 0x2db70c, 0x12
-
-BattleScript_BerryCurePsnEnd2:: @ 82DB71E
- .incbin "baserom.gba", 0x2db71e, 0x6
-
-BattleScript_BerryCurePsnRet:: @ 82DB724
- .incbin "baserom.gba", 0x2db724, 0x12
-
-BattleScript_BerryCureBrnEnd2:: @ 82DB736
- .incbin "baserom.gba", 0x2db736, 0x6
-
-BattleScript_BerryCureBrnRet:: @ 82DB73C
- .incbin "baserom.gba", 0x2db73c, 0x12
-
-BattleScript_BerryCureFrzEnd2:: @ 82DB74E
- .incbin "baserom.gba", 0x2db74e, 0x6
-
-BattleScript_BerryCureFrzRet:: @ 82DB754
- .incbin "baserom.gba", 0x2db754, 0x12
-
-BattleScript_BerryCureSlpEnd2:: @ 82DB766
- .incbin "baserom.gba", 0x2db766, 0x6
-
-BattleScript_BerryCureSlpRet:: @ 82DB76C
- .incbin "baserom.gba", 0x2db76c, 0x12
-
-BattleScript_BerryCureConfusionEnd2:: @ 82DB77E
- .incbin "baserom.gba", 0x2db77e, 0x6
-
-BattleScript_BerryCureConfusionRet:: @ 82DB784
- .incbin "baserom.gba", 0x2db784, 0x10
-
-BattleScript_BerryCureChosenStatusEnd2:: @ 82DB794
- .incbin "baserom.gba", 0x2db794, 0x6
-
-BattleScript_BerryCureChosenStatusRet:: @ 82DB79A
- .incbin "baserom.gba", 0x2db79a, 0x14
-
-BattleScript_WhiteHerbEnd2:: @ 82DB7AE
- .incbin "baserom.gba", 0x2db7ae, 0x6
-
-BattleScript_WhiteHerbRet:: @ 82DB7B4
- .incbin "baserom.gba", 0x2db7b4, 0x10
-
-BattleScript_ItemHealHP_RemoveItem:: @ 82DB7C4
- .incbin "baserom.gba", 0x2db7c4, 0x1d
-
-BattleScript_BerryPPHealEnd2:: @ 82DB7E1
- .incbin "baserom.gba", 0x2db7e1, 0x10
-
-BattleScript_ItemHealHP_End2:: @ 82DB7F1
- .incbin "baserom.gba", 0x2db7f1, 0x6
-
-BattleScript_ItemHealHP_Ret:: @ 82DB7F7
- .incbin "baserom.gba", 0x2db7f7, 0x1b
-
-gUnknown_082DB812:: @ 82DB812
- .incbin "baserom.gba", 0x2db812, 0x4
-
-BattleScript_HangedOnMsg:: @ 82DB816
- .incbin "baserom.gba", 0x2db816, 0xe
-
-BattleScript_BerryConfuseHealEnd2:: @ 82DB824
- .incbin "baserom.gba", 0x2db824, 0x2a
-
-BattleScript_BerryStatRaiseEnd2:: @ 82DB84E
- .incbin "baserom.gba", 0x2db84e, 0x1b
-
-BattleScript_BerryFocusEnergyEnd2:: @ 82DB869
- .incbin "baserom.gba", 0x2db869, 0x10
-
-BattleScript_ActionSelectionItemsCantBeUsed:: @ 82DB879
- .incbin "baserom.gba", 0x2db879, 0x4
-
-gUnknown_082DB87D:: @ 82DB87D
- .incbin "baserom.gba", 0x2db87d, 0x4
-
-gUnknown_082DB881:: @ 82DB881
- .incbin "baserom.gba", 0x2db881, 0x3d
-
-gUnknown_082DB8BE:: @ 82DB8BE
- .incbin "baserom.gba", 0x2db8be, 0x35
-
-gUnknown_082DB8F3:: @ 82DB8F3
- .incbin "baserom.gba", 0x2db8f3, 0xc7
-
-gUnknown_082DB9BA:: @ 82DB9BA
- .incbin "baserom.gba", 0x2db9ba, 0x7
-
-gUnknown_082DB9C1:: @ 82DB9C1
- .incbin "baserom.gba", 0x2db9c1, 0x7
-
-gUnknown_082DB9C8:: @ 82DB9C8
- .incbin "baserom.gba", 0x2db9c8, 0xc
+ .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_EffectStomp
+ .4byte BattleScript_EffectSolarbeam
+ .4byte BattleScript_EffectThunder
+ .4byte BattleScript_EffectTeleport
+ .4byte BattleScript_EffectBeatUp
+ .4byte BattleScript_EffectFly
+ .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::
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_SURF, BattleScript_HitFromAtkCanceler
+ jumpifstatus3 TARGET, STATUS3_UNDERWATER, 0x1, BattleScript_HitFromAtkCanceler
+ orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
+ setbyte sDMG_MULTIPLIER, 0x2
+BattleScript_HitFromAtkCanceler::
+ attackcanceler
+BattleScript_HitFromAccCheck::
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+BattleScript_HitFromAtkString::
+ attackstring
+ ppreduce
+BattleScript_HitFromCritCalc::
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+BattleScript_HitFromAtkAnimation::
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ seteffectwithchance
+ tryfaintmon TARGET, FALSE, NULL
+BattleScript_MoveEnd::
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x0, 0x0
+ end
+
+BattleScript_MakeMoveMissed::
+ orbyte gBattleMoveFlags, MOVESTATUS_MISSED
+BattleScript_PrintMoveMissed::
+ attackstring
+ ppreduce
+BattleScript_MoveMissedPause::
+ pause 0x20
+BattleScript_MoveMissed::
+ effectivenesssound
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSleep::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_SLEEP, BattleScript_82D8AB0
+ jumpifcantmakeasleep BattleScript_82D8ACF
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_SLEEP
+ seteffectprimary
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8AB0::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYASLEEP
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8AC1::
+ pause 0x20
+ printstring STRINGID_PKMNWASNTAFFECTED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8ACF::
+ pause 0x20
+ printfromtable 0x85CC896
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPoisonHit::
+ setmoveeffect EFFECT_POISON
+ goto BattleScript_EffectHit
+
+BattleScript_EffectAbsorb::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ negativedamage
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_82D8B26
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ goto BattleScript_82D8B2E
+
+BattleScript_82D8B26::
+ manipulatedamage ATK80_DMG_CHANGE_SIGN
+ setbyte cMULTISTRING_CHOOSER, 0x1
+BattleScript_82D8B2E::
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8B45
+ printfromtable 0x85CC8FC
+ waitmessage 0x40
+BattleScript_82D8B45::
+ tryfaintmon ATTACKER, FALSE, NULL
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectBurnHit::
+ setmoveeffect EFFECT_BURN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectFreezeHit::
+ setmoveeffect EFFECT_FREEZE
+ goto BattleScript_EffectHit
+
+BattleScript_EffectParalyzeHit::
+ setmoveeffect EFFECT_PARALYSIS
+ goto BattleScript_EffectHit
+
+BattleScript_EffectExplosion::
+ attackcanceler
+ attackstring
+ ppreduce
+ faintifabilitynotdamp
+ setatkhptozero
+ waitstate
+ jumpifbyte NO_COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED, BattleScript_82D8B94
+ call BattleScript_82D8BEA
+ goto BattleScript_82D8B96
+
+BattleScript_82D8B94::
+ attackanimation
+ waitanimation
+BattleScript_82D8B96::
+ movevaluescleanup
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ accuracycheck BattleScript_82D8BCF, ACC_CURR_MOVE
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifnexttargetvalid BattleScript_82D8B96
+ tryfaintmon ATTACKER, FALSE, NULL
+ end
+
+BattleScript_82D8BCF::
+ effectivenesssound
+ resultmessage
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifnexttargetvalid BattleScript_82D8B96
+ tryfaintmon ATTACKER, FALSE, NULL
+ end
+
+BattleScript_82D8BEA::
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ attackanimation
+ waitanimation
+ orbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ return
+
+BattleScript_EffectDreamEater::
+ attackcanceler
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82D8C0E
+ jumpifstatus TARGET, STATUS_SLEEP, BattleScript_82D8C18
+BattleScript_82D8C0E::
+ attackstring
+ ppreduce
+ waitmessage 0x40
+ goto BattleScript_82D8AC1
+
+BattleScript_82D8C18::
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ negativedamage
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8C56
+ printstring STRINGID_PKMNDREAMEATEN
+ waitmessage 0x40
+BattleScript_82D8C56::
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMirrorMove::
+ attackcanceler
+ attackstring
+ pause 0x40
+ trymirrormove
+ ppreduce
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ printstring STRINGID_MIRRORMOVEFAILED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAttackUp::
+ setstatchanger ATK, 1, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectDefenseUp::
+ setstatchanger DEF, 1, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectSpecialAttackUp::
+ setstatchanger SPATK, 1, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectEvasionUp::
+ setstatchanger EVASION, 1, FALSE
+BattleScript_EffectStatUp::
+ attackcanceler
+BattleScript_EffectStatUpAfterAtkCanceler::
+ attackstring
+ ppreduce
+ statbuffchange 0x41, BattleScript_82D8CCF
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D8CBD
+ pause 0x20
+ goto BattleScript_82D8CC7
+
+BattleScript_82D8CBD::
+ attackanimation
+ waitanimation
+BattleScript_82D8CBF::
+ setgraphicalstatchangevalues
+ playanimation ATTACKER, ANIM_STATS_CHANGE, sANIM_ARG1
+BattleScript_82D8CC7::
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D8CCF::
+ goto BattleScript_MoveEnd
+
+BattleScript_StatUp::
+ playanimation EFFECT_BANK, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+ return
+
+BattleScript_EffectAttackDown::
+ setstatchanger ATK, 1, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectDefenseDown::
+ setstatchanger DEF, 1, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectSpeedDown::
+ setstatchanger SPEED, 1, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectAccuracyDown::
+ setstatchanger ACC, 1, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectEvasionDown::
+ setstatchanger EVASION, 1, TRUE
+BattleScript_EffectStatDown::
+ attackcanceler
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedAtkStringPpReduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ statbuffchange 0x1, BattleScript_82D8D60
+ jumpifbyte LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D8D4E
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_82D8D60
+ pause 0x20
+ goto BattleScript_82D8D58
+
+BattleScript_82D8D4E::
+ attackanimation
+ waitanimation
+ setgraphicalstatchangevalues
+ playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1
+BattleScript_82D8D58::
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82D8D60::
+ goto BattleScript_MoveEnd
+
+BattleScript_StatDown::
+ playanimation EFFECT_BANK, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+ return
+
+BattleScript_EffectHaze::
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ normalisebuffs
+ printstring STRINGID_STATCHANGESGONE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectBide::
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_x8000000
+ setbide
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRampage::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D8DAE
+ ppreduce
+BattleScript_82D8DAE::
+ confuseifrepeatingattackends
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectRoar::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_82DB5B9
+ jumpifstatus3 TARGET, STATUS3_ROOTED, 0x0, BattleScript_82DB109
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_ARENA, BattleScript_ButItFailed
+ forcerandomswitch BattleScript_ButItFailed
+
+BattleScript_EffectMultiHit::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ setmultihitcounter 0x0
+ initmultihitstring
+ setbyte sFIELD_16, 0x0
+BattleScript_82D8DFD::
+ jumpifhasnohp ATTACKER, BattleScript_82D8E93
+ jumpifhasnohp TARGET, BattleScript_82D8E74
+ jumpifhalfword EQUAL, gLastUsedMove, 0xD6, BattleScript_82D8E1F
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D8E74
+BattleScript_82D8E1F::
+ movevaluescleanup
+ copyarray cEFFECT_CHOOSER, sFIELD_16, 0x1
+ critcalc
+ damagecalc
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8E71
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ addbyte sMULTIHIT_STRING + 4, 0x1
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_ENDURED, BattleScript_82D8E74
+ decrementmultihit BattleScript_82D8DFD
+ goto BattleScript_82D8E74
+
+BattleScript_82D8E71::
+ pause 0x20
+BattleScript_82D8E74::
+ resultmessage
+ waitmessage 0x40
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8E93
+ copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6
+ printstring STRINGID_HITXTIMES
+ waitmessage 0x40
+BattleScript_82D8E93::
+ seteffectwithchance
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x2
+ moveend 0x1, 0x0
+ setbyte sMOVEEND_STATE, 0x4
+ moveend 0x0, 0x0
+ end
+
+BattleScript_EffectConversion::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryconversiontypechange BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHANGEDTYPE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFlinchHit::
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_EffectHit
+
+BattleScript_EffectRestoreHp::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryhealhalfhealth BattleScript_AlreadyAtFullHp, ATTACKER
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNREGAINEDHEALTH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectToxic::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_82D8F63
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_POISON, BattleScript_AlreadyPoisoned
+ jumpifstatus TARGET, STATUS_TOXIC_POISON, BattleScript_AlreadyPoisoned
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected
+ jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_TOXIC
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AlreadyPoisoned::
+ various ATTACKER, 0x17
+ pause 0x40
+ printstring STRINGID_PKMNALREADYPOISONED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8F63::
+ copyarray gEffectBank, gBankTarget, 0x1
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ call BattleScript_PSNPrevention
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPayDay::
+ setmoveeffect EFFECT_PAYDAY
+ goto BattleScript_EffectHit
+
+BattleScript_EffectLightScreen::
+ attackcanceler
+ attackstring
+ ppreduce
+ setlightscreen
+ goto BattleScript_82D928C
+
+BattleScript_EffectTriAttack::
+ setmoveeffect EFFECT_TRI_ATTACK
+ goto BattleScript_EffectHit
+
+BattleScript_EffectRest::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D8FD6
+ jumpifcantmakeasleep BattleScript_82D8FC6
+ trysetrest BattleScript_AlreadyAtFullHp
+ pause 0x20
+ printfromtable 0x85CC882
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ waitstate
+ goto BattleScript_PresentHealTarget
+
+BattleScript_82D8FC6::
+ pause 0x40
+ printfromtable 0x85CC896
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D8FD6::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYASLEEP2
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectOhko::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_HitFromAtkAnimation
+ tryKO BattleScript_82D9008
+ trysetdestinybondtohappen
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_82D9008::
+ pause 0x40
+ printfromtable 0x85CC8F4
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRazorWind::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040
+ setbyte sFIELD_F, 0x0
+ call BattleScript_82D906F
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9040::
+ attackcanceler
+ setmoveeffect EFFECT_CHARGING
+ setbyte sANIM_TURN, 0x1
+ clearstatusfromeffect ATTACKER
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_SKY_ATTACK, BattleScript_HitFromAccCheck
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_HitFromAccCheck
+
+BattleScript_82D906F::
+ attackcanceler
+ printstring STRINGID_EMPTYSTRING3
+ ppreduce
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_x8000000
+ setmoveeffect EFFECT_CHARGING | AFFECTS_USER
+ seteffectprimary
+ copyarray cMULTISTRING_CHOOSER, sFIELD_F, 0x1
+ printfromtable 0x85CC8B0
+ waitmessage 0x40
+ return
+
+BattleScript_EffectSuperFang::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ damagetohalftargethp
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectDragonRage::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ setbyte gBattleMoveDamage, 0x28
+ setbyte gBattleMoveDamage + 1, 0x0
+ setbyte gBattleMoveDamage + 2, 0x0
+ setbyte gBattleMoveDamage + 3, 0x0
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectTrap::
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_WHIRLPOOL, BattleScript_82D9105
+ jumpifstatus3 TARGET, STATUS3_UNDERWATER, 0x1, BattleScript_82D9105
+ orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
+ setbyte sDMG_MULTIPLIER, 0x2
+BattleScript_82D9105::
+ setmoveeffect EFFECT_WRAP
+ goto BattleScript_EffectHit
+
+BattleScript_EffectDoubleHit::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ setmultihitcounter 0x2
+ initmultihitstring
+ setbyte sFIELD_16, 0x0
+ goto BattleScript_82D8DFD
+
+BattleScript_EffectRecoilIfMiss::
+ attackcanceler
+ accuracycheck BattleScript_82D9135, ACC_CURR_MOVE
+ goto BattleScript_HitFromAtkString
+
+BattleScript_82D9135::
+ attackstring
+ ppreduce
+ pause 0x40
+ resultmessage
+ waitmessage 0x40
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_NOTAFFECTED, BattleScript_MoveEnd
+ printstring STRINGID_PKMNCRASHED
+ waitmessage 0x40
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ manipulatedamage ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ orbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMist::
+ attackcanceler
+ attackstring
+ ppreduce
+ setmist
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC8CC
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFocusEnergy::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 ATTACKER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed
+ setfocusenergy
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC8D0
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRecoil::
+ setmoveeffect EFFECT_RECOIL_25 | AFFECTS_USER | CERTAIN
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_EffectHit
+ incrementgamestat 0x1B
+ goto BattleScript_EffectHit
+
+BattleScript_EffectConfuse::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DB611
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_82D9201
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_CONFUSION
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9201::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYCONFUSED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAttackUp2::
+ setstatchanger ATK, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectDefenseUp2::
+ setstatchanger DEF, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectSpeedUp2::
+ setstatchanger SPEED, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectSpecialAttackUp2::
+ setstatchanger SPATK, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectSpecialDefenseUp2::
+ setstatchanger SPDEF, 2, FALSE
+ goto BattleScript_EffectStatUp
+
+BattleScript_EffectTransform::
+ attackcanceler
+ attackstring
+ ppreduce
+ transformdataexecution
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC8D4
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAttackDown2::
+ setstatchanger ATK, 2, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectDefenseDown2::
+ setstatchanger DEF, 2, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectSpeedDown2::
+ setstatchanger SPEED, 2, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectSpecialDefenseDown2::
+ setstatchanger SPDEF, 2, TRUE
+ goto BattleScript_EffectStatDown
+
+BattleScript_EffectReflect::
+ attackcanceler
+ attackstring
+ ppreduce
+ setreflect
+BattleScript_82D928C::
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC86C
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPoison::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_82D8F63
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_POISON, BattleScript_AlreadyPoisoned
+ jumpifstatus TARGET, STATUS_TOXIC_POISON, BattleScript_AlreadyPoisoned
+ jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected
+ jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_POISON
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectParalyze::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_LIMBER, BattleScript_82D9362
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_PARALYSIS, BattleScript_82D9351
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_PARALYSIS
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9351::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNISALREADYPARALYZED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9362::
+ copyarray gEffectBank, gBankTarget, 0x1
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ call BattleScript_PRLZPrevention
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAttackDownHit::
+ setmoveeffect EFFECT_ATK_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectDefenseDownHit::
+ setmoveeffect EFFECT_DEF_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSpeedDownHit::
+ setmoveeffect EFFECT_SPD_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSpecialAttackDownHit::
+ setmoveeffect EFFECT_SP_ATK_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSpecialDefenseDownHit::
+ setmoveeffect EFFECT_SP_DEF_MINUS_1
+ goto BattleScript_EffectHit
+
+BattleScript_EffectAccuracyDownHit::
+ setmoveeffect EFFECT_ACC_MINUS_1
+ goto BattleScript_EffectHit
+
+
+BattleScript_EffectSkyAttack::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040
+ setbyte sFIELD_F, 0x3
+ call BattleScript_82D906F
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectConfuseHit::
+ setmoveeffect EFFECT_CONFUSION
+ goto BattleScript_EffectHit
+
+BattleScript_EffectTwineedle::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ setbyte sFIELD_16, 0x2
+ attackstring
+ ppreduce
+ setmultihitcounter 0x2
+ initmultihitstring
+ goto BattleScript_82D8DFD
+
+BattleScript_EffectSubstitute::
+ attackcanceler
+ ppreduce
+ attackstring
+ waitstate
+ jumpifstatus2 ATTACKER, STATUS2_SUBSTITUTE, BattleScript_82D943E
+ setsubstitute
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x1, BattleScript_82D942B
+ pause 0x20
+ goto BattleScript_82D9431
+
+BattleScript_82D942B::
+ attackanimation
+ waitanimation
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+BattleScript_82D9431::
+ printfromtable 0x85CC8D8
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D943E::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNHASSUBSTITUTE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRecharge::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ setmoveeffect EFFECT_RECHARGE | AFFECTS_USER | CERTAIN
+ goto BattleScript_HitFromAtkString
+
+BattleScript_MoveUsedMustRecharge::
+ printstring STRINGID_PKMNMUSTRECHARGE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRage::
+ attackcanceler
+ accuracycheck BattleScript_82D9487, ACC_CURR_MOVE
+ setmoveeffect EFFECT_RAGE
+ seteffectprimary
+ setmoveeffect 0
+ goto BattleScript_HitFromAtkString
+
+BattleScript_82D9487::
+ setmoveeffect EFFECT_RAGE
+ clearstatusfromeffect ATTACKER
+ goto BattleScript_PrintMoveMissed
+
+BattleScript_EffectMimic::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ mimicattackcopy BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNLEARNEDMOVE2
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMetronome::
+ attackcanceler
+ attackstring
+ pause 0x20
+ attackanimation
+ waitanimation
+ setbyte sANIM_TURN, 0x0
+ setbyte sANIM_TARGETS_HIT, 0x0
+ metronome
+BattleScript_EffectLeechSeed::
+ attackcanceler
+ attackstring
+ pause 0x20
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_82D94E5, ACC_CURR_MOVE
+BattleScript_82D94E5::
+ setseeded
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC878
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSplash::
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ incrementgamestat 0x1A
+ printstring STRINGID_BUTNOTHINGHAPPENED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectDisable::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ disablelastusedattack BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNMOVEWASDISABLED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectLevelDamage::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ dmgtolevel
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectPsywave::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ psywavedamageeffect
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectCounter::
+ attackcanceler
+ counterdamagecalculator BattleScript_ButItFailedAtkStringPpReduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc2
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectEncore::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ trysetencore BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNGOTENCORE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPainSplit::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ painsplitdmgcalc BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ copyarray gBattleMoveDamage, sPAINSPLIT_HP, 0x4
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printstring STRINGID_SHAREDPAIN
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSnore::
+ attackcanceler
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D95CE
+ attackstring
+ ppreduce
+ goto BattleScript_ButItFailed
+
+BattleScript_82D95CE::
+ jumpifhalfword EQUAL, gLastUsedMove, 0xD6, BattleScript_82D95E2
+ printstring STRINGID_PKMNFASTASLEEP
+ waitmessage 0x40
+ statusanimation ATTACKER
+BattleScript_82D95E2::
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectConversion2::
+ attackcanceler
+ attackstring
+ ppreduce
+ settypetorandomresistance BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHANGEDTYPE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectLockOn::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ setalwayshitflag
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNTOOKAIM
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSketch::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ copymovepermanently BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSKETCHEDMOVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSleepTalk::
+ attackcanceler
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D965E
+ attackstring
+ ppreduce
+ goto BattleScript_ButItFailed
+
+BattleScript_82D965E::
+ printstring STRINGID_PKMNFASTASLEEP
+ waitmessage 0x40
+ statusanimation ATTACKER
+ attackstring
+ ppreduce
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ sleeptalk_choose_move BattleScript_82D967E
+ pause 0x40
+ goto BattleScript_ButItFailed
+
+BattleScript_82D967E::
+ attackanimation
+ waitanimation
+ setbyte sANIM_TURN, 0x0
+ setbyte sANIM_TARGETS_HIT, 0x0
+ jumptorandomattack 0x1
+
+BattleScript_EffectDestinyBond::
+ attackcanceler
+ attackstring
+ ppreduce
+ setdestinybond
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNTRYINGTOTAKEFOE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFlail::
+ remaininghptopower
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSpite::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ tryspiteppreduce BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNREDUCEDPP
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectHealBell::
+ attackcanceler
+ attackstring
+ ppreduce
+ healpartystatus
+ waitstate
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC904
+ waitmessage 0x40
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_HEAL_BELL, BattleScript_82D96FE
+ jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x1, BattleScript_82D96ED
+ printstring STRINGID_PKMNSXBLOCKSY
+ waitmessage 0x40
+BattleScript_82D96ED::
+ jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D96FE
+ printstring STRINGID_PKMNSXBLOCKSY2
+ waitmessage 0x40
+BattleScript_82D96FE::
+ updatestatusicon ATTACKER_WITH_PARTNER
+ waitstate
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectTripleKick::
+ attackcanceler
+ attackstring
+ ppreduce
+ setbyte sTRIPLE_KICK_POWER, 0x0
+ setbyte sFIELD_13, 0x0
+ initmultihitstring
+ setmultihit 0x3
+BattleScript_82D9718::
+ jumpifhasnohp ATTACKER, BattleScript_82D97D7
+ jumpifhasnohp TARGET, BattleScript_82D9799
+ jumpifhalfword EQUAL, gLastUsedMove, 0xD6, BattleScript_82D973A
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D9799
+BattleScript_82D973A::
+ accuracycheck BattleScript_82D9799, ACC_CURR_MOVE
+ movevaluescleanup
+ addbyte sTRIPLE_KICK_POWER, 0xA
+ addbyte sMULTIHIT_STRING + 4, 0x1
+ copyarray gDynamicBasePower, sTRIPLE_KICK_POWER, 0x2
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D9799
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_ENDURED, BattleScript_82D97AD
+ decrementmultihit BattleScript_82D9718
+ goto BattleScript_82D97AD
+
+BattleScript_82D9799::
+ pause 0x20
+ jumpifbyte EQUAL, sMULTIHIT_STRING + 4, 0x0, BattleScript_82D97AD
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED
+BattleScript_82D97AD::
+ resultmessage
+ waitmessage 0x40
+ jumpifbyte EQUAL, sMULTIHIT_STRING + 4, 0x0, BattleScript_82D97D7
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_NOTAFFECTED, BattleScript_82D97D7
+ copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6
+ printstring STRINGID_HITXTIMES
+ waitmessage 0x40
+BattleScript_82D97D7::
+ seteffectwithchance
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0xE
+ moveend 0x0, 0x0
+ end
+
+BattleScript_EffectThief::
+ setmoveeffect EFFECT_STEAL_ITEM
+ goto BattleScript_EffectHit
+
+BattleScript_EffectMeanLook::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC
+ jumpifstatus2 TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_PREVENT_ESCAPE
+ seteffectprimary
+ printstring STRINGID_TARGETCANTESCAPENOW
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectNightmare::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_SLEEP, BattleScript_NightmareWorked
+ goto BattleScript_ButItFailed
+
+BattleScript_NightmareWorked::
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_NIGHTMARE
+ seteffectprimary
+ printstring STRINGID_PKMNFELLINTONIGHTMARE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMinimize::
+ attackcanceler
+ setminimize
+ setstatchanger EVASION, 1, FALSE
+ goto BattleScript_EffectStatUpAfterAtkCanceler
+
+BattleScript_EffectCurse::
+ jumpiftype2 ATTACKER, TYPE_GHOST, BattleScript_82D98E5
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, GREATER_THAN, SPEED, 0x0, BattleScript_82D9892
+ jumpifstat ATTACKER, NOT_EQUAL, ATK, 0xC, BattleScript_82D9892
+ jumpifstat ATTACKER, EQUAL, DEF, 0xC, BattleScript_ButItFailed
+BattleScript_82D9892::
+ copyarray gBankTarget, gBankAttacker, 0x1
+ setbyte sANIM_TURN, 0x1
+ attackanimation
+ waitanimation
+ setstatchanger SPEED, 1, TRUE
+ statbuffchange 0x41, BattleScript_82D98B8
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82D98B8::
+ setstatchanger ATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82D98CC
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D98CC::
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82D98E0
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D98E0::
+ goto BattleScript_MoveEnd
+
+BattleScript_82D98E5::
+ jumpifarraynotequal gBankAttacker, gBankTarget, 0x1, BattleScript_82D98F6
+ various ATTACKER, VARIOUS_GET_MOVE_TARGET
+BattleScript_82D98F6::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ cursetarget BattleScript_ButItFailed
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ setbyte sANIM_TURN, 0x0
+ attackanimation
+ waitanimation
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNLAIDCURSE
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectProtect::
+ attackcanceler
+ attackstring
+ ppreduce
+ setprotectlike
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC866
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSpikes::
+ attackcanceler
+ trysetspikes BattleScript_ButItFailedAtkStringPpReduce
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ printstring STRINGID_SPIKESSCATTERED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectForesight::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ setforesight
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNIDENTIFIED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPerishSong::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysetperishsong BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_FAINTINTHREE
+ waitmessage 0x40
+ setbyte sBANK, 0x0
+BattleScript_PerishSongLoop::
+ jumpifability SCRIPTING_BANK, ABILITY_SOUNDPROOF, BattleScript_PerishSongNotAffected
+BattleScript_PerishSongLoopIncrement::
+ addbyte sBANK, 0x1
+ jumpifarraynotequal sBANK, gNoOfAllBanks, 0x1, BattleScript_PerishSongLoop
+ goto BattleScript_MoveEnd
+
+BattleScript_PerishSongNotAffected::
+ printstring STRINGID_PKMNSXBLOCKSY2
+ waitmessage 0x40
+ goto BattleScript_PerishSongLoopIncrement
+
+BattleScript_EffectSandstorm::
+ attackcanceler
+ attackstring
+ ppreduce
+ setsandstorm
+ goto BattleScript_82D9B41
+
+BattleScript_EffectRollout::
+ attackcanceler
+ attackstring
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D99CD
+ ppreduce
+BattleScript_82D99CD::
+ accuracycheck BattleScript_82D99D4, ACC_CURR_MOVE
+BattleScript_82D99D4::
+ typecalc2
+ rolloutdamagecalculation
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectSwagger::
+ attackcanceler
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ jumpifconfusedandstatmaxed ATK, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ setstatchanger ATK, 2, FALSE
+ statbuffchange 0x1, BattleScript_82D9A1E
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D9A1E
+ setgraphicalstatchangevalues
+ playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D9A1E::
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DB611
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ setmoveeffect EFFECT_CONFUSION
+ seteffectprimary
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFuryCutter::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_82D9A43, ACC_CURR_MOVE
+BattleScript_82D9A43::
+ furycuttercalc
+ critcalc
+ damagecalc
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D9A43
+ adjustnormaldamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectAttract::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ tryinfatuating BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNFELLINLOVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectReturn::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ happinesstodamagecalculation
+ goto BattleScript_HitFromAtkString
+
+BattleScript_EffectPresent::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ presentdamagecalculation
+BattleScript_EffectSafeguard::
+ attackcanceler
+ attackstring
+ ppreduce
+ setsafeguard
+ goto BattleScript_82D928C
+
+BattleScript_EffectThawHit::
+ setmoveeffect EFFECT_BURN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectMagnitude::
+ attackcanceler
+ attackstring
+ ppreduce
+ selectfirstvalidtarget
+ magnitudedamagecalculation
+ pause 0x20
+ printstring STRINGID_MAGNITUDESTRENGTH
+ waitmessage 0x40
+ goto BattleScript_82D9C44
+
+BattleScript_EffectBatonPass::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_ARENA, BattleScript_ButItFailed
+ jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | ATTACKER, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ openpartyscreen 0x1, BattleScript_ButItFailed
+ switchoutabilities ATTACKER
+ waitstate
+ switchhandleorder ATTACKER, 0x2
+ returntoball ATTACKER
+ getswitchedmondata ATTACKER
+ switchindataupdate ATTACKER
+ hpthresholds ATTACKER
+ printstring STRINGID_SWITCHINMON
+ switchinanim ATTACKER, 0x1
+ waitstate
+ switchineffects ATTACKER
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRapidSpin::
+ setmoveeffect EFFECT_RAPIDSPIN | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectSonicboom::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ setbyte gBattleMoveDamage, 0x14
+ setbyte gBattleMoveDamage + 1, 0x0
+ setbyte gBattleMoveDamage + 2, 0x0
+ setbyte gBattleMoveDamage + 3, 0x0
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectMorningSun::
+ attackcanceler
+ attackstring
+ ppreduce
+ recoverbasedonsunlight BattleScript_AlreadyAtFullHp
+ goto BattleScript_PresentHealTarget
+
+BattleScript_EffectHiddenPower::
+ hiddenpowercalc
+ goto BattleScript_EffectHit
+
+BattleScript_EffectRainDance::
+ attackcanceler
+ attackstring
+ ppreduce
+ setrain
+BattleScript_82D9B41::
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC848
+ waitmessage 0x40
+ call BattleScript_82DB48D
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSunnyDay::
+ attackcanceler
+ attackstring
+ ppreduce
+ setsunny
+ goto BattleScript_82D9B41
+
+BattleScript_EffectDefenseUpHit::
+ setmoveeffect EFFECT_DEF_PLUS_1 | AFFECTS_USER
+ goto BattleScript_EffectHit
+
+BattleScript_EffectAttackUpHit::
+ setmoveeffect EFFECT_ATK_PLUS_1 | AFFECTS_USER
+ goto BattleScript_EffectHit
+
+BattleScript_EffectAllStatsUpHit::
+ setmoveeffect EFFECT_ALL_STATS_UP | AFFECTS_USER
+ goto BattleScript_EffectHit
+
+BattleScript_EffectBellyDrum::
+ attackcanceler
+ attackstring
+ ppreduce
+ maxattackhalvehp BattleScript_ButItFailed
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ attackanimation
+ waitanimation
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNCUTHPMAXEDATTACK
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPsychUp::
+ attackcanceler
+ attackstring
+ ppreduce
+ copyfoestats BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCOPIEDSTATCHANGES
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMirrorCoat::
+ attackcanceler
+ mirrorcoatdamagecalculator BattleScript_ButItFailedAtkStringPpReduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ typecalc2
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectSkullBash::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040
+ setbyte sFIELD_F, 0x2
+ call BattleScript_82D906F
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82D9C16
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D9C16
+ setgraphicalstatchangevalues
+ playanimation ATTACKER, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82D9C16::
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectTwister::
+ jumpifstatus3 TARGET, STATUS3_ON_AIR, 0x1, BattleScript_82D9C35
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ setbyte sDMG_MULTIPLIER, 0x2
+BattleScript_82D9C35::
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_EffectHit
+
+BattleScript_EffectEarthquake::
+ attackcanceler
+ attackstring
+ ppreduce
+ selectfirstvalidtarget
+BattleScript_82D9C44::
+ movevaluescleanup
+ jumpifstatus3 TARGET, STATUS3_UNDERGROUND, 0x1, BattleScript_82D9C64
+ orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_82D9C73
+
+BattleScript_82D9C64::
+ bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
+ setbyte sDMG_MULTIPLIER, 0x1
+BattleScript_82D9C73::
+ accuracycheck BattleScript_82D9CAC, ACC_CURR_MOVE
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifnexttargetvalid BattleScript_82D9C44
+ end
+
+BattleScript_82D9CAC::
+ pause 0x20
+ typecalc
+ effectivenesssound
+ resultmessage
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ jumpifnexttargetvalid BattleScript_82D9C44
+ end
+
+BattleScript_EffectFutureSight::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysetfutureattack BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC90E
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectGust::
+ jumpifstatus3 TARGET, STATUS3_ON_AIR, 0x1, BattleScript_EffectHit
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_EffectHit
+
+BattleScript_EffectStomp::
+ jumpifstatus3 TARGET, STATUS3_MINIMIZED, 0x1, BattleScript_82D9C35
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_82D9C35
+
+BattleScript_EffectSolarbeam::
+ jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_82D9D28
+ jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_82D9D28
+ jumpifhalfword COMMON_BITS, gBattleWeather, WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT, BattleScript_82D9D50
+BattleScript_82D9D28::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9040
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9040
+ setbyte sFIELD_F, 0x1
+ call BattleScript_82D906F
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9D50::
+ orword gHitMarker, HITMARKER_x8000000
+ setmoveeffect EFFECT_CHARGING | AFFECTS_USER
+ seteffectprimary
+ ppreduce
+ goto BattleScript_82D9040
+
+BattleScript_EffectThunder::
+ setmoveeffect EFFECT_PARALYSIS
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ goto BattleScript_EffectHit
+
+BattleScript_EffectTeleport::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
+ various ATTACKER, VARIOUS_IS_RUNNING_IMPOSSIBLE
+ jumpifbyte EQUAL, gBattleCommunication, 0x1, BattleScript_ButItFailed
+ jumpifbyte EQUAL, gBattleCommunication, 0x2, BattleScript_82DA382
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNFLEDFROMBATTLE
+ waitmessage 0x40
+ various ATTACKER, VARIOUS_SET_TELEPORT_OUTCOME
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectBeatUp::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ pause 0x20
+ ppreduce
+ setbyte gBattleCommunication, 0x0
+BattleScript_BeatUpLoop::
+ movevaluescleanup
+ trydobeatup BattleScript_BeatUpEnd, BattleScript_ButItFailed
+ printstring STRINGID_PKMNATTACK
+ critcalc
+ jumpifbyte NOT_EQUAL, gCritMultiplier, 0x2, BattleScript_BeatUpAttack
+ manipulatedamage ATK80_DMG_DOUBLED
+BattleScript_BeatUpAttack::
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ goto BattleScript_BeatUpLoop
+
+BattleScript_BeatUpEnd::
+ end
+
+BattleScript_EffectFly::
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9E79
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_82D9E79
+ jumpifhalfword EQUAL, gCurrentMove, MOVE_FLY, BattleScript_82D9E68
+ jumpifhalfword EQUAL, gCurrentMove, MOVE_DIVE, BattleScript_82D9E5D
+ jumpifhalfword EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_82D9E52
+ setbyte sFIELD_F, 0x5
+ goto BattleScript_82D9E6E
+
+BattleScript_82D9E52::
+ setbyte sFIELD_F, 0x7
+ goto BattleScript_82D9E6E
+
+BattleScript_82D9E5D::
+ setbyte sFIELD_F, 0x6
+ goto BattleScript_82D9E6E
+
+BattleScript_82D9E68::
+ setbyte sFIELD_F, 0x4
+BattleScript_82D9E6E::
+ call BattleScript_82D906F
+ setsemiinvulnerablebit
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9E79::
+ attackcanceler
+ setmoveeffect EFFECT_CHARGING
+ setbyte sANIM_TURN, 0x1
+ clearstatusfromeffect ATTACKER
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ jumpifhalfword NOT_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_82D9EA3
+ setmoveeffect EFFECT_PARALYSIS
+BattleScript_82D9EA3::
+ accuracycheck BattleScript_82D9EB0, ACC_CURR_MOVE
+ clearsemiinvulnerablebit
+ goto BattleScript_HitFromAtkString
+
+BattleScript_82D9EB0::
+ clearsemiinvulnerablebit
+ goto BattleScript_PrintMoveMissed
+
+BattleScript_EffectDefenseCurl::
+ attackcanceler
+ attackstring
+ ppreduce
+ setdefensecurlbit
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82D9ED3
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82D8CC7
+ attackanimation
+ waitanimation
+BattleScript_82D9ED3::
+ goto BattleScript_82D8CBF
+
+BattleScript_EffectSoftboiled::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryhealhalfhealth BattleScript_AlreadyAtFullHp, TARGET
+BattleScript_PresentHealTarget::
+ attackanimation
+ waitanimation
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printstring STRINGID_PKMNREGAINEDHEALTH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AlreadyAtFullHp::
+ pause 0x20
+ printstring STRINGID_PKMNHPFULL
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFakeOut::
+ attackcanceler
+ jumpifnotfirstturn BattleScript_ButItFailedAtkStringPpReduce
+ setmoveeffect EFFECT_FLINCH | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_ButItFailedAtkStringPpReduce::
+ attackstring
+BattleScript_ButItFailedPpReduce::
+ ppreduce
+BattleScript_ButItFailed::
+ pause 0x20
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_NotAffected::
+ pause 0x20
+ orbyte gBattleMoveFlags, MOVESTATUS_NOTAFFECTED
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectUproar::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ setmoveeffect EFFECT_UPROAR | AFFECTS_USER
+ attackstring
+ jumpifstatus2 ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D9F5A
+ ppreduce
+BattleScript_82D9F5A::
+ nop
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectStockpile::
+ attackcanceler
+ attackstring
+ ppreduce
+ stockpile
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC88A
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSpitUp::
+ attackcanceler
+ jumpifbyte EQUAL, gBattleCommunication + 6, 0x1, BattleScript_82D9FA2
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ stockpiletobasedamage BattleScript_SpitUpFail
+ typecalc
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_SpitUpFail::
+ pause 0x20
+ printstring STRINGID_FAILEDTOSPITUP
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82D9FA2::
+ attackstring
+ ppreduce
+ pause 0x40
+ stockpiletobasedamage BattleScript_SpitUpFail
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSwallow::
+ attackcanceler
+ attackstring
+ ppreduce
+ stockpiletohpheal BattleScript_SwallowFail
+ goto BattleScript_PresentHealTarget
+
+BattleScript_SwallowFail::
+ pause 0x20
+ printfromtable 0x85CC892
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectHail::
+ attackcanceler
+ attackstring
+ ppreduce
+ sethail
+ goto BattleScript_82D9B41
+
+BattleScript_EffectTorment::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ settorment BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSUBJECTEDTOTORMENT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFlatter::
+ attackcanceler
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ jumpifconfusedandstatmaxed SPATK, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ setstatchanger SPATK, 1, FALSE
+ statbuffchange 0x1, BattleScript_82DA03A
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA03A
+ setgraphicalstatchangevalues
+ playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA03A::
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DB611
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ setmoveeffect EFFECT_CONFUSION
+ seteffectprimary
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectWillOWisp::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, STATUS_BURN, BattleScript_82DA0BB
+ jumpiftype TARGET, TYPE_FIRE, BattleScript_NotAffected
+ jumpifability TARGET, ABILITY_WATER_VEIL, BattleScript_82DA0A1
+ jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ attackanimation
+ waitanimation
+ setmoveeffect EFFECT_BURN
+ seteffectprimary
+ goto BattleScript_MoveEnd
+
+BattleScript_82DA0A1::
+ copyarray gEffectBank, gBankTarget, 0x1
+ setbyte cMULTISTRING_CHOOSER, 0x0
+ call BattleScript_BRNPrevention
+ goto BattleScript_MoveEnd
+
+BattleScript_82DA0BB::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYHASBURN
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectMemento::
+ attackcanceler
+ jumpifbyte EQUAL, gBattleCommunication + 6, 0x1, BattleScript_82DA153
+ attackstring
+ ppreduce
+ jumpifattackandspecialattackcannotfall BattleScript_ButItFailed
+ setatkhptozero
+ attackanimation
+ waitanimation
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82DA148
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation TARGET, 0x12, 0x7
+ playstatchangeanimation TARGET, 0x2, 0x3
+ setstatchanger ATK, 2, TRUE
+ statbuffchange 0x1, BattleScript_82DA119
+ jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA119
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DA119::
+ playstatchangeanimation TARGET, 0x10, 0x3
+ setstatchanger SPATK, 2, TRUE
+ statbuffchange 0x1, BattleScript_82DA13C
+ jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA13C
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DA13C::
+ tryfaintmon ATTACKER, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_82DA148::
+ printstring STRINGID_BUTNOEFFECT
+ waitmessage 0x40
+ goto BattleScript_82DA13C
+
+BattleScript_82DA153::
+ attackstring
+ ppreduce
+ jumpifattackandspecialattackcannotfall BattleScript_82DA15A
+BattleScript_82DA15A::
+ setatkhptozero
+ pause 0x40
+ effectivenesssound
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectFacade::
+ jumpifstatus ATTACKER, STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS | STATUS_TOXIC_POISON, BattleScript_FacadeDoubleDmg
+ goto BattleScript_EffectHit
+
+BattleScript_FacadeDoubleDmg::
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_EffectHit
+
+BattleScript_EffectFocusPunch::
+ attackcanceler
+ jumpifnodamage BattleScript_HitFromAccCheck
+ ppreduce
+ printstring STRINGID_PKMNLOSTFOCUS
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSmellingsalt::
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit
+ setmoveeffect EFFECT_REMOVE_PARALYSIS | CERTAIN
+ jumpifstatus TARGET, STATUS_PARALYSIS, BattleScript_82DA1BA
+ goto BattleScript_EffectHit
+
+BattleScript_82DA1BA::
+ setbyte sDMG_MULTIPLIER, 0x2
+ goto BattleScript_EffectHit
+
+BattleScript_EffectFollowMe::
+ attackcanceler
+ attackstring
+ ppreduce
+ setforcedtarget
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCENTERATTENTION
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectNaturePower::
+ attackcanceler
+ attackstring
+ pause 0x20
+ callterrainattack
+ printstring STRINGID_NATUREPOWERTURNEDINTO
+ waitmessage 0x40
+ return
+
+BattleScript_EffectCharge::
+ attackcanceler
+ attackstring
+ ppreduce
+ setcharge
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHARGINGPOWER
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectTaunt::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ settaunt BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNFELLFORTAUNT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectHelpingHand::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysethelpinghand BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNREADYTOHELP
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectTrick::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ tryswapitems BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSWITCHEDITEMS
+ waitmessage 0x40
+ printfromtable 0x85CC970
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRolePlay::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ trycopyability BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCOPIEDFOE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectWish::
+ attackcanceler
+ attackstring
+ ppreduce
+ trywish 0x0, BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectAssist::
+ attackcanceler
+ attackstring
+ asistattackselect BattleScript_ButItFailedPpReduce
+ attackanimation
+ waitanimation
+ setbyte sANIM_TURN, 0x0
+ setbyte sANIM_TARGETS_HIT, 0x0
+ jumptorandomattack 0x1
+
+BattleScript_EffectIngrain::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysetroots BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNPLANTEDROOTS
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSuperpower::
+ setmoveeffect EFFECT_ATK_DEF_DOWN | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectMagicCoat::
+ attackcanceler
+ trysetmagiccoat BattleScript_ButItFailedAtkStringPpReduce
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSHROUDEDITSELF
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRecycle::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryrecycleitem BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_XFOUNDONEY
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRevenge::
+ doubledamagedealtifdamaged
+ goto BattleScript_EffectHit
+
+BattleScript_EffectBrickBreak::
+ attackcanceler
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ attackstring
+ ppreduce
+ removelightscreenreflect
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ jumpifbyte EQUAL, sANIM_TURN, 0x0, BattleScript_82DA306
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED
+BattleScript_82DA306::
+ attackanimation
+ waitanimation
+ jumpifbyte LESS_THAN, sANIM_TURN, 0x2, BattleScript_82DA319
+ printstring STRINGID_THEWALLSHATTERED
+ waitmessage 0x40
+BattleScript_82DA319::
+ typecalc2
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ seteffectwithchance
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectYawn::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_82DA378
+ jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_82DA378
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DAD01
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ jumpifcantmakeasleep BattleScript_ButItFailed
+ setyawn BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNWASMADEDROWSY
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DA378::
+ copyarray sBANK, sFIELD_15, 0x1
+BattleScript_82DA382::
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEITINEFFECTIVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectKnockOff::
+ setmoveeffect EFFECT_KNOCK_OFF
+ goto BattleScript_EffectHit
+
+BattleScript_EffectEndeavor::
+ attackcanceler
+ attackstring
+ ppreduce
+ setdamagetohealthdifference BattleScript_ButItFailed
+ copyarray gHpDealt, gBattleMoveDamage, 0x4
+ accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
+ typecalc
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_HitFromAtkAnimation
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ copyarray gBattleMoveDamage, gHpDealt, 0x4
+ adjustsetdamage
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectEruption::
+ scaledamagebyhealthratio
+ goto BattleScript_EffectHit
+
+
+
+
+BattleScript_EffectSkillSwap::
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ tryswapabilities BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSWAPPEDABILITIES
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectImprison::
+ attackcanceler
+ attackstring
+ ppreduce
+ tryimprision BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSEALEDOPPONENTMOVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectRefresh::
+ attackcanceler
+ attackstring
+ ppreduce
+ cureifburnedparalysedorpoisoned BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNSTATUSNORMAL
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectGrudge::
+ attackcanceler
+ attackstring
+ ppreduce
+ trysetgrudge BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNWANTSGRUDGE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+
+BattleScript_EffectSnatch::
+ attackcanceler
+ trysetsnatch BattleScript_ButItFailedAtkStringPpReduce
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ pause 0x20
+ printstring STRINGID_PKMNWAITSFORTARGET
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectLowKick::
+ attackcanceler
+ attackstring
+ ppreduce
+ weightdamagecalculation
+ accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
+ goto BattleScript_HitFromCritCalc
+
+BattleScript_EffectSecretPower::
+ getsecretpowereffect
+ goto BattleScript_EffectHit
+
+BattleScript_EffectDoubleEdge::
+ setmoveeffect EFFECT_RECOIL_33_PARALYSIS | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectTeeterDance::
+ attackcanceler
+ attackstring
+ ppreduce
+ setbyte gBankTarget, 0x0
+BattleScript_82DA47B::
+ movevaluescleanup
+ setmoveeffect EFFECT_CONFUSION
+ jumpifarrayequal gBankAttacker, gBankTarget, 0x1, BattleScript_82DA4D0
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DA4E5
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82DA501
+ jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_82DA50F
+ jumpifhasnohp TARGET, BattleScript_82DA4D0
+ accuracycheck BattleScript_82DA520, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DA4F3
+ attackanimation
+ waitanimation
+ seteffectprimary
+ resultmessage
+ waitmessage 0x40
+BattleScript_82DA4C7::
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+BattleScript_82DA4D0::
+ addbyte gBankTarget, 0x1
+ jumpifarraynotequal gBankTarget, gNoOfAllBanks, 0x1, BattleScript_82DA47B
+ end
+
+BattleScript_82DA4E5::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_82DA4F3::
+ pause 0x20
+ printstring STRINGID_PKMNUSEDSAFEGUARD
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_82DA501::
+ pause 0x20
+ printstring STRINGID_BUTITFAILED
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_82DA50F::
+ various ATTACKER, 0x17
+ pause 0x20
+ printstring STRINGID_PKMNALREADYCONFUSED
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_82DA520::
+ resultmessage
+ waitmessage 0x40
+ goto BattleScript_82DA4C7
+
+BattleScript_EffectMudSport::
+ attackcanceler
+ attackstring
+ ppreduce
+ settypebasedhalvers BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printfromtable 0x85CC900
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectPoisonFang::
+ setmoveeffect EFFECT_TOXIC
+ goto BattleScript_EffectHit
+
+
+BattleScript_EffectWeatherBall::
+ setweatherballtype
+ goto BattleScript_EffectHit
+
+BattleScript_EffectOverheat::
+ setmoveeffect EFFECT_SP_ATK_TWO_DOWN | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
+
+BattleScript_EffectTickle::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat TARGET, GREATER_THAN, ATK, 0x0, BattleScript_82DA571
+ jumpifstat TARGET, EQUAL, DEF, 0x0, BattleScript_82DA5CF
+BattleScript_82DA571::
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation TARGET, 0x6, 0x5
+ playstatchangeanimation TARGET, 0x2, 0x1
+ setstatchanger ATK, 1, TRUE
+ statbuffchange 0x1, BattleScript_82DA5A7
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA5A7
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DA5A7::
+ playstatchangeanimation TARGET, 0x4, 0x1
+ setstatchanger DEF, 1, TRUE
+ statbuffchange 0x1, BattleScript_82DA5CA
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA5CA
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DA5CA::
+ goto BattleScript_MoveEnd
+
+
+BattleScript_82DA5CF::
+ pause 0x20
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ printstring STRINGID_STATSWONTDECREASE2
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectCosmicPower::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, LESS_THAN, DEF, 0xC, BattleScript_82DA5F8
+ jumpifstat ATTACKER, EQUAL, SPDEF, 0xC, BattleScript_CantRaiseMultipleStats
+BattleScript_82DA5F8::
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x24, 0x0
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA623
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA623
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA623::
+ setstatchanger SPDEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA642
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA642
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA642::
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectSkyUppercut::
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ goto BattleScript_EffectHit
+
+BattleScript_EffectBulkUp::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, LESS_THAN, ATK, 0xC, BattleScript_82DA66A
+ jumpifstat ATTACKER, EQUAL, DEF, 0xC, BattleScript_CantRaiseMultipleStats
+BattleScript_82DA66A::
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x6, 0x0
+ setstatchanger ATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA695
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA695
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA695::
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA6B4
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA6B4
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA6B4::
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectCalmMind::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, LESS_THAN, SPATK, 0xC, BattleScript_82DA6CE
+ jumpifstat ATTACKER, EQUAL, SPDEF, 0xC, BattleScript_CantRaiseMultipleStats
+BattleScript_82DA6CE::
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x30, 0x0
+ setstatchanger SPATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA6F9
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA6F9
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA6F9::
+ setstatchanger SPDEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA718
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA718
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA718::
+ goto BattleScript_MoveEnd
+
+BattleScript_CantRaiseMultipleStats::
+ pause 0x20
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ printstring STRINGID_STATSWONTINCREASE2
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectDragonDance::
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat ATTACKER, LESS_THAN, ATK, 0xC, BattleScript_82DA746
+ jumpifstat ATTACKER, EQUAL, SPEED, 0xC, BattleScript_CantRaiseMultipleStats
+BattleScript_82DA746::
+ attackanimation
+ waitanimation
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0xA, 0x0
+ setstatchanger ATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA771
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA771
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA771::
+ setstatchanger SPEED, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DA790
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DA790
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DA790::
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectCamouflage::
+ attackcanceler
+ attackstring
+ ppreduce
+ settypetoterrain BattleScript_ButItFailed
+ attackanimation
+ waitanimation
+ printstring STRINGID_PKMNCHANGEDTYPE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_FaintAttacker::
+ playfaintcry ATTACKER
+ pause 0x40
+ dofaintanimation ATTACKER
+ cleareffectsonfaint ATTACKER
+ printstring STRINGID_ATTACKERFAINTED
+ return
+
+BattleScript_FaintTarget::
+ playfaintcry TARGET
+ pause 0x40
+ dofaintanimation TARGET
+ cleareffectsonfaint TARGET
+ printstring STRINGID_TARGETFAINTED
+ return
+
+BattleScript_82DA7C4::
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp TARGET
+ end2
+
+BattleScript_82DA7CD::
+ atk24 BattleScript_82DA8F6
+ jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_82DA8F5
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DA816
+ jumpifword NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_82DA816
+ printstring STRINGID_USENEXTPKMN
+ setbyte gBattleCommunication, 0x0
+ yesnobox
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x0, BattleScript_82DA816
+ jumpifplayerran BattleScript_82DA8F5
+ printstring STRINGID_CANTESCAPE2
+BattleScript_82DA816::
+ openpartyscreen 0x3, BattleScript_82DA8F5
+ switchhandleorder GBANK_1, 0x2
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_LINK, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x2000000, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_82DA8D0
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_82DA8D0
+ jumpifbyte EQUAL, sBATTLE_STYLE, 0x1, BattleScript_82DA8D0
+ jumpifcantswitch 11, BattleScript_82DA8D0
+ printstring STRINGID_ENEMYABOUTTOSWITCHPKMN
+ setbyte gBattleCommunication, 0x0
+ yesnobox
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x1, BattleScript_82DA8D0
+ setatktoplayer0
+ openpartyscreen 0x81, BattleScript_82DA8D0
+ switchhandleorder ATTACKER, 0x2
+ jumpifbyte EQUAL, gBattleCommunication, 0x6, BattleScript_82DA8D0
+ atknameinbuff1
+ various ATTACKER, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
+ hpthresholds2 ATTACKER
+ printstring STRINGID_RETURNMON
+ switchoutabilities ATTACKER
+ waitstate
+ returnatktoball
+ waitstate
+ drawpartystatussummary ATTACKER
+ getswitchedmondata ATTACKER
+ switchindataupdate ATTACKER
+ hpthresholds ATTACKER
+ printstring STRINGID_SWITCHINMON
+ atk62 ATTACKER
+ switchinanim ATTACKER, 0x0
+ waitstate
+ switchineffects ATTACKER
+ resetsentmonsvalue
+BattleScript_82DA8D0::
+ drawpartystatussummary GBANK_1
+ getswitchedmondata GBANK_1
+ switchindataupdate GBANK_1
+ hpthresholds GBANK_1
+ printstring STRINGID_SWITCHINMON
+ atk62 GBANK_1
+ switchinanim GBANK_1, 0x0
+ waitstate
+ various ATTACKER, 0x7
+ switchineffects GBANK_1
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_82DA8F5
+ cancelallactions
+BattleScript_82DA8F5::
+ end2
+
+BattleScript_82DA8F6::
+ openpartyscreen 0x5, BattleScript_82DA8FC
+BattleScript_82DA8FC::
+ switchhandleorder GBANK_1, 0x0
+ openpartyscreen 0x6, BattleScript_82DA92C
+ switchhandleorder GBANK_1, 0x0
+BattleScript_82DA908::
+ switchhandleorder GBANK_1, 0x3
+ drawpartystatussummary GBANK_1
+ getswitchedmondata GBANK_1
+ switchindataupdate GBANK_1
+ hpthresholds GBANK_1
+ printstring STRINGID_SWITCHINMON
+ atk62 GBANK_1
+ switchinanim GBANK_1, 0x0
+ waitstate
+ switchineffects 5
+ jumpifarraynotequal gBank1, gNoOfAllBanks, 0x1, BattleScript_82DA908
+BattleScript_82DA92C::
+ end2
+
+BattleScript_LocalTrainerBattleWon::
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DA943
+ printstring STRINGID_PLAYERDEFEATEDTRAINER1
+ goto BattleScript_82DA946
+
+BattleScript_82DA943::
+ printstring STRINGID_TWOENEMIESDEFEATED
+BattleScript_82DA946::
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1LOSETEXT
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DA963
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2LOSETEXT
+BattleScript_82DA963::
+ getmoneyreward
+ printstring STRINGID_PLAYERGOTMONEY
+ waitmessage 0x40
+BattleScript_PayDayMoneyAndPickUpItems::
+ givepaydaymoney
+ pickup
+ end2
+
+BattleScript_LocalBattleLost::
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOME, BattleScript_82DA9BE
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID, BattleScript_82DA9C9
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x4000000, BattleScript_82DA9C9
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_EREADER_TRAINER, BattleScript_82DA9BD
+ jumpifhalfword EQUAL, 0x2038BCA, 0x400, BattleScript_82DA9BD
+BattleScript_82DA9B1::
+ printstring STRINGID_PLAYERWHITEOUT
+ waitmessage 0x40
+ printstring STRINGID_PLAYERWHITEOUT2
+ waitmessage 0x40
+BattleScript_82DA9BD::
+ end2
+
+BattleScript_82DA9BE::
+ jumpifbyte EQUAL, gBattleOutcome, DREW, BattleScript_82DAA0A
+BattleScript_82DA9C9::
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DA9B1
+ various ATTACKER, VARIOUS_RETURN_OPPONENT_MON1
+ waitstate
+ various ATTACKER, VARIOUS_RETURN_OPPONENT_MON2
+ waitstate
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1WINTEXT
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x800000, BattleScript_82DAA01
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAA0A
+BattleScript_82DAA01::
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2WINTEXT
+BattleScript_82DAA0A::
+ end2
+
+BattleScript_82DAA0B::
+ various ATTACKER, VARIOUS_RETURN_OPPONENT_MON1
+ waitstate
+ various ATTACKER, VARIOUS_RETURN_OPPONENT_MON2
+ waitstate
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1WINTEXT
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2WINTEXT
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_RECORDED, BattleScript_82DAA31
+ atk57
+BattleScript_82DAA31::
+ waitmessage 0x40
+ end2
+
+BattleScript_LinkBattleWonOrLost::
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER, BattleScript_82DAA5C
+ printstring STRINGID_BATTLEEND
+ waitmessage 0x40
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_RECORDED, BattleScript_82DAA58
+ atk57
+BattleScript_82DAA58::
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAA5C::
+ various ATTACKER, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
+ printstring STRINGID_BATTLEEND
+ waitmessage 0x40
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1LOSETEXT
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2LOSETEXT
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_RECORDED, BattleScript_82DAA83
+ atk57
+BattleScript_82DAA83::
+ waitmessage 0x40
+ end2
+
+BattleScript_FrontierTrainerBattleWon::
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_PayDayMoneyAndPickUpItems
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAAAB
+ printstring STRINGID_PLAYERDEFEATEDTRAINER1
+ goto BattleScript_82DAAAE
+
+BattleScript_82DAAAB::
+ printstring STRINGID_TWOENEMIESDEFEATED
+BattleScript_82DAAAE::
+ trainerslidein ATTACKER
+ waitstate
+ printstring STRINGID_TRAINER1LOSETEXT
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAACB
+ trainerslideout IDENTITY_OPPONENT_MON1
+ waitstate
+ trainerslidein GBANK_1
+ waitstate
+ printstring STRINGID_TRAINER2LOSETEXT
+BattleScript_82DAACB::
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_PYRAMID, BattleScript_82DAADA
+ pickup
+BattleScript_82DAADA::
+ end2
+
+BattleScript_SmokeBallEscape::
+ playanimation ATTACKER, ANIM_SMOKEBALL_ESCAPE, NULL
+ printstring STRINGID_PKMNFLEDUSINGITS
+ waitmessage 0x40
+ end2
+
+BattleScript_RanAwayUsingMonAbility::
+ printstring STRINGID_PKMNFLEDUSING
+ waitmessage 0x40
+ end2
+
+BattleScript_GotAwaySafely::
+ printstring STRINGID_GOTAWAYSAFELY
+ waitmessage 0x40
+ end2
+
+BattleScript_WildMonFled::
+ printstring STRINGID_WILDPKMNFLED
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAAFE::
+ printstring STRINGID_NORUNNINGFROMTRAINERS
+ end2
+
+BattleScript_PrintFailedToRunString::
+ printfromtable 0x85CC83E
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAB0B::
+ printselectionstringfromtable 0x85CC83E
+ endselectionscript
+
+BattleScript_82DAB11::
+ printselectionstring STRINGID_BOXISFULL
+ endselectionscript
+
+BattleScript_ActionSwitch::
+ hpthresholds2 ATTACKER
+ printstring STRINGID_RETURNMON
+ setbyte sDMG_MULTIPLIER, 0x2
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_82DAB35
+ setmultihit 0x1
+ goto BattleScript_82DAB37
+
+BattleScript_82DAB35::
+ setmultihit 0x2
+BattleScript_82DAB37::
+ jumpifnopursuitswitchdmg BattleScript_82DAB44
+ atk5F
+ trysetdestinybondtohappen
+ call BattleScript_82DAB77
+ atk5F
+BattleScript_82DAB44::
+ decrementmultihit BattleScript_82DAB37
+ switchoutabilities ATTACKER
+ waitstate
+ returnatktoball
+ waitstate
+ drawpartystatussummary ATTACKER
+ switchhandleorder ATTACKER, 0x1
+ getswitchedmondata ATTACKER
+ switchindataupdate ATTACKER
+ hpthresholds ATTACKER
+ printstring STRINGID_SWITCHINMON
+ atk62 ATTACKER
+ switchinanim ATTACKER, 0x0
+ waitstate
+ switchineffects ATTACKER
+ setbyte sMOVEEND_STATE, 0x4
+ moveend 0x1, 0x0
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ end2
+
+BattleScript_82DAB77::
+ pause 0x20
+ attackstring
+ ppreduce
+ critcalc
+ damagecalc
+ typecalc
+ adjustnormaldamage
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 0x40
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0x3
+ moveend 0x2, 0x6
+ various TARGET, 0x4
+ jumpifbyte EQUAL, gBattleCommunication, 0x0, BattleScript_82DABB8
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp TARGET
+BattleScript_82DABB8::
+ return
+
+BattleScript_Pausex20::
+ pause 0x20
+ return
+
+BattleScript_LevelUp::
+ fanfare BGM_FANFA1
+ printstring STRINGID_PKMNGREWTOLV
+ setbyte sLVLBOX_STATE, 0x0
+ drawlvlupbox
+ handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, TRUE
+ goto BattleScript_AskToLearnMove
+
+BattleScript_TryLearnMoveLoop::
+ handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, FALSE
+BattleScript_AskToLearnMove::
+ buffermovetolearn
+ printstring STRINGID_TRYTOLEARNMOVE1
+ printstring STRINGID_TRYTOLEARNMOVE2
+ printstring STRINGID_TRYTOLEARNMOVE3
+ waitstate
+ setbyte sLEARNMOVE_STATE, 0x0
+ yesnoboxlearnmove BattleScript_ForgotAndLearnedNewMove
+ printstring STRINGID_STOPLEARNINGMOVE
+ waitstate
+ setbyte sLEARNMOVE_STATE, 0x0
+ yesnoboxstoplearningmove BattleScript_AskToLearnMove
+ printstring STRINGID_DIDNOTLEARNMOVE
+ goto BattleScript_TryLearnMoveLoop
+
+BattleScript_ForgotAndLearnedNewMove::
+ printstring STRINGID_123POOF
+ printstring STRINGID_PKMNFORGOTMOVE
+ printstring STRINGID_ANDELLIPSIS
+BattleScript_LearnedNewMove::
+ buffermovetolearn
+ fanfare BGM_FANFA1
+ printstring STRINGID_PKMNLEARNEDMOVE
+ waitmessage 0x40
+ various ATTACKER, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
+ goto BattleScript_TryLearnMoveLoop
+
+BattleScript_LearnMoveReturn::
+ return
+
+BattleScript_82DAC2C::
+ printfromtable 0x85CC860
+ waitmessage 0x40
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DAC46
+ playanimation ATTACKER, ANIM_RAIN_CONTINUES, NULL
+BattleScript_82DAC46::
+ end2
+
+BattleScript_82DAC47::
+ printfromtable 0x85CC854
+ waitmessage 0x40
+ playanimation2 ATTACKER, sANIM_ARG1, NULL
+ setbyte gBattleCommunication, 0x0
+BattleScript_82DAC5F::
+ copyarraywithindex gBankAttacker, gBanksByTurnOrder, gBattleCommunication, 0x1
+ weatherdamage
+ jumpifword EQUAL, gBattleMoveDamage, 0x0, BattleScript_82DACA0
+ printfromtable 0x85CC858
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
+ effectivenesssound
+ hitanimation ATTACKER
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ atk24 BattleScript_82DACA0
+BattleScript_82DACA0::
+ jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_82DACBF
+ addbyte gBattleCommunication, 0x1
+ jumpifarraynotequal gBattleCommunication, gNoOfAllBanks, 0x1, BattleScript_82DAC5F
+BattleScript_82DACBF::
+ bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
+ end2
+
+BattleScript_82DACC9::
+ printfromtable 0x85CC85C
+ waitmessage 0x40
+ end2
+
+BattleScript_82DACD2::
+ printstring STRINGID_SUNLIGHTSTRONG
+ waitmessage 0x40
+ playanimation ATTACKER, ANIM_SUN_CONTINUES, NULL
+ end2
+
+BattleScript_82DACE0::
+ printstring STRINGID_SUNLIGHTFADED
+ waitmessage 0x40
+ end2
+
+BattleScript_82DACE7::
+ printfromtable 0x85CC91A
+ waitmessage 0x40
+ playanimation2 ATTACKER, sANIM_ARG1, NULL
+ end3
+
+BattleScript_82DACFA::
+ printstring STRINGID_PKMNSXWOREOFF
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAD01::
+ pause 0x20
+ printstring STRINGID_PKMNUSEDSAFEGUARD
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAD0B::
+ pause 0x20
+ printstring STRINGID_PKMNSAFEGUARDEXPIRED
+ waitmessage 0x40
+ end2
+
+BattleScript_LeechSeedTurnDrain::
+ playanimation ATTACKER, ANIM_LEECH_SEED_DRAIN, sANIM_ARG1
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ copyarray gBattleMoveDamage, gHpDealt, 0x4
+ jumpifability ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_82DAD47
+ manipulatedamage ATK80_DMG_CHANGE_SIGN
+ setbyte cMULTISTRING_CHOOSER, 0x3
+ goto BattleScript_82DAD4D
+
+BattleScript_82DAD47::
+ setbyte cMULTISTRING_CHOOSER, 0x4
+BattleScript_82DAD4D::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printfromtable 0x85CC878
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ tryfaintmon TARGET, FALSE, NULL
+ end2
+
+BattleScript_BideStoringEnergy::
+ printstring STRINGID_PKMNSTORINGENERGY
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_BideAttack::
+ attackcanceler
+ setmoveeffect EFFECT_CHARGING
+ clearstatusfromeffect ATTACKER
+ printstring STRINGID_PKMNUNLEASHEDENERGY
+ waitmessage 0x40
+ accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
+ typecalc
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ copyarray gBattleMoveDamage, sBIDE_DMG, 0x4
+ adjustsetdamage
+ setbyte sANIM_TURN, 0x1
+ attackanimation
+ waitanimation
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_BideNoEnergyToAttack::
+ attackcanceler
+ setmoveeffect EFFECT_CHARGING
+ clearstatusfromeffect ATTACKER
+ printstring STRINGID_PKMNUNLEASHEDENERGY
+ waitmessage 0x40
+ goto BattleScript_ButItFailed
+
+BattleScript_82DADD8::
+ attackanimation
+ waitanimation
+ switchoutabilities TARGET
+ returntoball TARGET
+ waitstate
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DADF1
+ various ATTACKER, VARIOUS_SET_TELEPORT_OUTCOME
+ finishaction
+
+BattleScript_82DADF1::
+ getswitchedmondata TARGET
+ switchindataupdate TARGET
+ switchinanim TARGET, 0x0
+ waitstate
+ printstring STRINGID_PKMNWASDRAGGEDOUT
+ switchineffects TARGET
+ goto BattleScript_MoveEnd
+
+BattleScript_MistProtected::
+ pause 0x20
+ printstring STRINGID_PKMNPROTECTEDBYMIST
+ waitmessage 0x40
+ return
+
+BattleScript_RageIsBuilding::
+ printstring STRINGID_PKMNRAGEBUILDING
+ waitmessage 0x40
+ return
+
+BattleScript_MoveUsedIsDisabled::
+ printstring STRINGID_PKMNMOVEISDISABLED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DAE1F::
+ printselectionstring STRINGID_PKMNMOVEISDISABLED
+ endselectionscript
+
+BattleScript_DisabledNoMore::
+ printstring STRINGID_PKMNMOVEDISABLEDNOMORE
+ waitmessage 0x40
+ end2
+
+BattleScript_82DAE2A::
+ printstring STRINGID_PKMNMOVEISDISABLED
+BattleScript_82DAE2D::
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ end
+
+BattleScript_EncoredNoMore::
+ printstring STRINGID_PKMNENCOREENDED
+ waitmessage 0x40
+ end2
+
+BattleScript_DestinyBondTakesLife::
+ printstring STRINGID_PKMNTOOKFOE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ return
+
+BattleScript_SpikesOnAttacker::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ call BattleScript_82DAEFE
+ tryfaintmon ATTACKER, FALSE, NULL
+ tryfaintmon ATTACKER, TRUE, BattleScript_82DAE7A
+ return
+
+BattleScript_82DAE7A::
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp ATTACKER
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x0, 0x0
+ goto BattleScript_82DA7CD
+
+BattleScript_SpikesOnTarget::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ call BattleScript_82DAEFE
+ tryfaintmon TARGET, FALSE, NULL
+ tryfaintmon TARGET, TRUE, BattleScript_82DAEB1
+ return
+
+BattleScript_82DAEB1::
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp TARGET
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x0, 0x0
+ goto BattleScript_82DA7CD
+
+BattleScript_SpikesOngBank1::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate GBANK_1
+ datahpupdate GBANK_1
+ call BattleScript_82DAEFE
+ tryfaintmon GBANK_1, FALSE, NULL
+ tryfaintmon GBANK_1, TRUE, BattleScript_82DAEE8
+ return
+
+BattleScript_82DAEE8::
+ setbyte sGIVEEXP_STATE, 0x0
+ getexp GBANK_1
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x0, 0x0
+ goto BattleScript_82DA7CD
+
+BattleScript_82DAEFE::
+ printstring STRINGID_PKMNHURTBYSPIKES
+ waitmessage 0x40
+ return
+
+BattleScript_82DAF05::
+ printstring STRINGID_PKMNPERISHCOUNTFELL
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ end2
+
+BattleScript_82DAF20::
+ printstring STRINGID_PKMNPERISHCOUNTFELL
+ waitmessage 0x40
+ end2
+
+BattleScript_AllStatsUp::
+ jumpifstat ATTACKER, LESS_THAN, ATK, 0xC, BattleScript_82DAF54
+ jumpifstat ATTACKER, LESS_THAN, DEF, 0xC, BattleScript_82DAF54
+ jumpifstat ATTACKER, LESS_THAN, SPEED, 0xC, BattleScript_82DAF54
+ jumpifstat ATTACKER, LESS_THAN, SPATK, 0xC, BattleScript_82DAF54
+ jumpifstat ATTACKER, EQUAL, SPDEF, 0xC, BattleScript_82DAFC2
+BattleScript_82DAF54::
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x3E, 0x0
+ setstatchanger ATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAF72
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAF72::
+ setstatchanger DEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAF86
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAF86::
+ setstatchanger SPEED, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAF9A
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAF9A::
+ setstatchanger SPATK, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAFAE
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAFAE::
+ setstatchanger SPDEF, 1, FALSE
+ statbuffchange 0x41, BattleScript_82DAFC2
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+BattleScript_82DAFC2::
+ return
+
+BattleScript_RapidSpinAway::
+ rapidspinfree
+ return
+
+BattleScript_WrapFree::
+ printstring STRINGID_PKMNGOTFREE
+ waitmessage 0x40
+ copyarray gBankTarget, sBANK, 0x1
+ return
+
+BattleScript_LeechSeedFree::
+ printstring STRINGID_PKMNSHEDLEECHSEED
+ waitmessage 0x40
+ return
+
+BattleScript_SpikesFree::
+ printstring STRINGID_PKMNBLEWAWAYSPIKES
+ waitmessage 0x40
+ return
+
+BattleScript_82DAFE4::
+ printstring STRINGID_PKMNTOOKATTACK
+ waitmessage 0x40
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_82DB001
+ accuracycheck BattleScript_82DB058, MOVE_FUTURE_SIGHT
+ goto BattleScript_82DB008
+
+BattleScript_82DB001::
+ accuracycheck BattleScript_82DB058, MOVE_DOOM_DESIRE
+BattleScript_82DB008::
+ adjustnormaldamage2
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_82DB020
+ playanimation ATTACKER, ANIM_FUTURE_SIGHT_HIT, NULL
+ goto BattleScript_82DB027
+
+BattleScript_82DB020::
+ playanimation ATTACKER, ANIM_x13, NULL
+BattleScript_82DB027::
+ effectivenesssound
+ hitanimation TARGET
+ waitstate
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon TARGET, FALSE, NULL
+ atk24 BattleScript_82DB03F
+BattleScript_82DB03F::
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x1, 0x0
+ setbyte sMOVEEND_STATE, 0xB
+ moveend 0x2, 0xE
+ setbyte gBattleMoveFlags, 0
+ end2
+
+BattleScript_82DB058::
+ pause 0x20
+ setbyte gBattleMoveFlags, 0
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
+ resultmessage
+ waitmessage 0x40
+ setbyte gBattleMoveFlags, 0
+ end2
+
+BattleScript_NoMovesLeft::
+ printselectionstring STRINGID_PKMNHASNOMOVESLEFT
+ endselectionscript
+
+BattleScript_82DB076::
+ printselectionstring STRINGID_NOPPLEFT
+ endselectionscript
+
+BattleScript_NoPPForMove::
+ attackstring
+ pause 0x20
+ printstring STRINGID_BUTNOPPLEFT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB089::
+ printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT
+ endselectionscript
+
+BattleScript_82DB08D::
+ printstring STRINGID_PKMNCANTUSEMOVETORMENT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB098::
+ printstring STRINGID_PKMNCANTUSEMOVETORMENT
+ goto BattleScript_82DAE2D
+
+BattleScript_82DB0A0::
+ printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT
+ endselectionscript
+
+BattleScript_MoveUsedIsTaunted::
+ printstring STRINGID_PKMNCANTUSEMOVETAUNT
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB0AF::
+ printstring STRINGID_PKMNCANTUSEMOVETAUNT
+ goto BattleScript_82DAE2D
+
+BattleScript_WishComesTrue::
+ trywish 0x1, BattleScript_82DB0DE
+ playanimation TARGET, ANIM_WISH_HEAL, NULL
+ printstring STRINGID_PKMNWISHCAMETRUE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printstring STRINGID_PKMNREGAINEDHEALTH
+ waitmessage 0x40
+ end2
+
+BattleScript_82DB0DE::
+ printstring STRINGID_PKMNWISHCAMETRUE
+ waitmessage 0x40
+ pause 0x20
+ printstring STRINGID_PKMNHPFULL
+ waitmessage 0x40
+ end2
+
+BattleScript_IngrainTurnHeal::
+ playanimation ATTACKER, ANIM_INGRAIN_HEAL, NULL
+ printstring STRINGID_PKMNABSORBEDNUTRIENTS
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ end2
+
+BattleScript_82DB109::
+ pause 0x20
+ printstring STRINGID_PKMNANCHOREDITSELF
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AtkDefDown::
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x6, 0xD
+ playstatchangeanimation ATTACKER, 0x2, 0x9
+ setstatchanger ATK, 1, TRUE
+ statbuffchange 0xC1, BattleScript_82DB144
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB144
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DB144::
+ playstatchangeanimation ATTACKER, 0x4, 0x9
+ setstatchanger DEF, 1, TRUE
+ statbuffchange 0xC1, BattleScript_82DB167
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB167
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DB167::
+ return
+
+BattleScript_KnockedOff::
+ playanimation TARGET, ANIM_ITEM_KNOCKOFF, NULL
+ printstring STRINGID_PKMNKNOCKEDOFF
+ waitmessage 0x40
+ return
+
+BattleScript_MoveUsedIsImprisoned::
+ printstring STRINGID_PKMNCANTUSEMOVESEALED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB181::
+ printselectionstring STRINGID_PKMNCANTUSEMOVESEALED
+ endselectionscript
+
+BattleScript_82DB185::
+ printstring STRINGID_PKMNCANTUSEMOVESEALED
+ goto BattleScript_82DAE2D
+
+BattleScript_GrudgeTakesPp::
+ printstring STRINGID_PKMNLOSTPPGRUDGE
+ waitmessage 0x40
+ return
+
+BattleScript_MagicCoatBounce::
+ attackstring
+ ppreduce
+ pause 0x20
+ printstring STRINGID_PKMNMOVEBOUNCED
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
+ various ATTACKER, VARIOUS_SET_MAGIC_COAT_TARGET
+ return
+
+BattleScript_SnatchedMove::
+ attackstring
+ ppreduce
+ snatchsetbanks
+ playanimation TARGET, ANIM_SNATCH_MOVE, NULL
+ printstring STRINGID_PKMNSNATCHEDMOVE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
+ atk5F
+ return
+
+BattleScript_EnduredMsg::
+ printstring STRINGID_PKMNENDUREDHIT
+ waitmessage 0x40
+ return
+
+BattleScript_OneHitKOMsg::
+ printstring STRINGID_ONEHITKO
+ waitmessage 0x40
+ return
+
+BattleScript_SAtkDown2::
+ setbyte sFIELD_1B, 0x0
+ playstatchangeanimation ATTACKER, 0x10, 0xB
+ setstatchanger SPATK, 2, TRUE
+ statbuffchange 0xC1, BattleScript_82DB1FE
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB1FE
+ printfromtable 0x85CC8A8
+ waitmessage 0x40
+BattleScript_82DB1FE::
+ return
+
+BattleScript_FocusPunchSetUp::
+ printstring STRINGID_EMPTYSTRING3
+ waitmessage 0x1
+ playanimation ATTACKER, ANIM_x14, NULL
+ printstring STRINGID_PKMNTIGHTENINGFOCUS
+ waitmessage 0x40
+ end2
+
+BattleScript_MoveUsedIsAsleep::
+ printstring STRINGID_PKMNFASTASLEEP
+ waitmessage 0x40
+ statusanimation ATTACKER
+ goto BattleScript_MoveEnd
+
+BattleScript_MoveUsedWokeUp::
+ bicword gHitMarker, HITMARKER_x10
+ printfromtable 0x85CC88E
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ return
+
+BattleScript_82DB234::
+ printstring STRINGID_PKMNWOKEUPINUPROAR
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ end2
+
+BattleScript_PoisonTurnDmg::
+ printstring STRINGID_PKMNHURTBYPOISON
+ waitmessage 0x40
+BattleScript_82DB243::
+ statusanimation ATTACKER
+BattleScript_82DB245::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ tryfaintmon ATTACKER, FALSE, NULL
+ atk24 BattleScript_82DB25E
+BattleScript_82DB25E::
+ end2
+
+BattleScript_BurnTurnDmg::
+ printstring STRINGID_PKMNHURTBYBURN
+ waitmessage 0x40
+ goto BattleScript_82DB243
+
+BattleScript_MoveUsedIsFrozen::
+ printstring STRINGID_PKMNISFROZEN
+ waitmessage 0x40
+ statusanimation ATTACKER
+ goto BattleScript_MoveEnd
+
+BattleScript_MoveUsedUnfroze::
+ printfromtable 0x85CC8F0
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ return
+
+BattleScript_DefrostedViaFireMove::
+ printstring STRINGID_PKMNWASDEFROSTED
+ waitmessage 0x40
+ updatestatusicon TARGET
+ return
+
+BattleScript_MoveUsedIsParalyzed::
+ printstring STRINGID_PKMNISPARALYZED
+ waitmessage 0x40
+ statusanimation ATTACKER
+ various ATTACKER, VARIOUS_CANCEL_MULTI_TURN_MOVES
+ goto BattleScript_MoveEnd
+
+BattleScript_MoveUsedFlinched::
+ printstring STRINGID_PKMNFLINCHED
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB2A6::
+ printfromtable 0x85CC886
+ waitmessage 0x40
+ end2
+
+BattleScript_ThrashConfuses::
+ chosenstatus2animation ATTACKER, STATUS2_CONFUSION
+ printstring STRINGID_PKMNFATIGUECONFUSION
+ waitmessage 0x40
+ end2
+
+BattleScript_MoveUsedIsConfused::
+ printstring STRINGID_PKMNISCONFUSED
+ waitmessage 0x40
+ status2animation ATTACKER, STATUS2_CONFUSION
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_82DB2FF
+BattleScript_82DB2D4::
+ various ATTACKER, VARIOUS_CANCEL_MULTI_TURN_MOVES
+ adjustnormaldamage2
+ printstring STRINGID_ITHURTCONFUSION
+ waitmessage 0x40
+ effectivenesssound
+ hitanimation ATTACKER
+ waitstate
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ resultmessage
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB2FF::
+ return
+
+BattleScript_MoveUsedIsConfusedNoMore::
+ printstring STRINGID_PKMNHEALEDCONFUSION
+ waitmessage 0x40
+ return
+
+BattleScript_PrintPayDayMoneyString::
+ printstring STRINGID_PKMNPICKEDUPITEM
+ waitmessage 0x40
+ return
+
+BattleScript_WrapTurnDmg::
+ playanimation ATTACKER, ANIM_TURN_TRAP, sANIM_ARG1
+ printstring STRINGID_PKMNHURTBY
+ waitmessage 0x40
+ goto BattleScript_82DB245
+
+BattleScript_WrapEnds::
+ printstring STRINGID_PKMNFREEDFROM
+ waitmessage 0x40
+ end2
+
+BattleScript_MoveUsedIsInLove::
+ printstring STRINGID_PKMNINLOVE
+ waitmessage 0x40
+ status2animation ATTACKER, STATUS2_INFATUATION
+ return
+
+BattleScript_MoveUsedIsParalyzedCantAttack::
+ printstring STRINGID_PKMNIMMOBILIZEDBYLOVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_NightmareTurnDmg::
+ printstring STRINGID_PKMNLOCKEDINNIGHTMARE
+ waitmessage 0x40
+ status2animation ATTACKER, STATUS2_NIGHTMARE
+ goto BattleScript_82DB245
+
+BattleScript_CurseTurnDmg::
+ printstring STRINGID_PKMNAFFLICTEDBYCURSE
+ waitmessage 0x40
+ status2animation ATTACKER, STATUS2_CURSED
+ goto BattleScript_82DB245
+
+BattleScript_TargetPRLZHeal::
+ printstring STRINGID_PKMNHEALEDPARALYSIS
+ waitmessage 0x40
+ updatestatusicon TARGET
+ return
+
+BattleScript_MoveEffectSleep::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8E4
+ waitmessage 0x40
+BattleScript_82DB374::
+ updatestatusicon EFFECT_BANK
+ waitstate
+ return
+
+BattleScript_YawnMakesAsleep::
+ statusanimation EFFECT_BANK
+ printstring STRINGID_PKMNFELLASLEEP
+ waitmessage 0x40
+ updatestatusicon EFFECT_BANK
+ waitstate
+ makevisible EFFECT_BANK
+ end2
+
+BattleScript_MoveEffectPoison::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8DC
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectBurn::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8E8
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectFreeze::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8EC
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectParalysis::
+ statusanimation EFFECT_BANK
+ printfromtable 0x85CC8E0
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectUproar::
+ printstring STRINGID_PKMNCAUSEDUPROAR
+ waitmessage 0x40
+ return
+
+BattleScript_MoveEffectToxic::
+ statusanimation EFFECT_BANK
+ printstring STRINGID_PKMNBADLYPOISONED
+ waitmessage 0x40
+ goto BattleScript_82DB374
+
+BattleScript_MoveEffectPayDay::
+ printstring STRINGID_COINSSCATTERED
+ waitmessage 0x40
+ return
+
+BattleScript_MoveEffectWrap::
+ printfromtable 0x85CC8C0
+ waitmessage 0x40
+ return
+
+BattleScript_MoveEffectConfusion::
+ chosenstatus2animation EFFECT_BANK, STATUS2_CONFUSION
+ printstring STRINGID_PKMNWASCONFUSED
+ waitmessage 0x40
+ return
+
+BattleScript_MoveEffectRecoil33::
+ jumpifhalfword EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_82DB407
+ jumpifability ATTACKER, ABILITY_ROCK_HEAD, BattleScript_82DB421
+BattleScript_82DB407::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNHITWITHRECOIL
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+BattleScript_82DB421::
+ return
+
+BattleScript_ItemSteal::
+ playanimation TARGET, ANIM_ITEM_STEAL, NULL
+ printstring STRINGID_PKMNSTOLEITEM
+ waitmessage 0x40
+ return
+
+BattleScript_DrizzleActivates::
+ pause 0x20
+ printstring STRINGID_PKMNMADEITRAIN
+ waitstate
+ playanimation BANK0, ANIM_RAIN_CONTINUES, NULL
+ call BattleScript_82DB48D
+ end3
+
+BattleScript_SpeedBoostActivates::
+ playanimation ATTACKER, ANIM_STATS_CHANGE, sANIM_ARG1
+ printstring STRINGID_PKMNRAISEDSPEED
+ waitmessage 0x40
+ end3
+
+BattleScript_TraceActivates::
+ pause 0x20
+ printstring STRINGID_PKMNTRACED
+ waitmessage 0x40
+ end3
+
+BattleScript_RainDishActivates::
+ printstring STRINGID_PKMNSXRESTOREDHPALITTLE2
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ end3
+
+BattleScript_SandstreamActivates::
+ pause 0x20
+ printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM
+ waitstate
+ playanimation BANK0, ANIM_SANDSTORM_CONTINUES, NULL
+ call BattleScript_82DB48D
+ end3
+
+BattleScript_ShedSkinActivates::
+ printstring STRINGID_PKMNSXCUREDYPROBLEM
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ end3
+
+BattleScript_82DB48D::
+ setbyte sBANK, 0x0
+BattleScript_82DB493::
+ trycastformdatachange
+ addbyte sBANK, 0x1
+ jumpifarraynotequal sBANK, gNoOfAllBanks, 0x1, BattleScript_82DB493
+ return
+
+BattleScript_CastformChange::
+ call BattleScript_82DB4AF
+ end3
+
+BattleScript_82DB4AF::
+ docastformchangeanimation
+ waitstate
+ printstring STRINGID_PKMNTRANSFORMED
+ waitmessage 0x40
+ return
+
+BattleScript_82DB4B8::
+ call BattleScript_82DB4BE
+ end3
+
+BattleScript_82DB4BE::
+ pause 0x20
+BattleScript_82DB4C1::
+ setbyte gBankTarget, 0x0
+ setstatchanger ATK, 1, TRUE
+BattleScript_82DB4CD::
+ trygetintimidatetarget BattleScript_82DB51B
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82DB510
+ jumpifability TARGET, ABILITY_CLEAR_BODY, BattleScript_82DB51C
+ jumpifability TARGET, ABILITY_HYPER_CUTTER, BattleScript_82DB51C
+ jumpifability TARGET, ABILITY_WHITE_SMOKE, BattleScript_82DB51C
+ statbuffchange 0x21, BattleScript_82DB510
+ jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DB510
+ setgraphicalstatchangevalues
+ playanimation TARGET, ANIM_STATS_CHANGE, sANIM_ARG1
+ printstring STRINGID_PKMNCUTSATTACKWITH
+ waitmessage 0x40
+BattleScript_82DB510::
+ addbyte gBankTarget, 0x1
+ goto BattleScript_82DB4CD
+BattleScript_82DB51B::
+ return
+
+BattleScript_82DB51C::
+ pause 0x20
+ printstring STRINGID_PREVENTEDFROMWORKING
+ waitmessage 0x40
+ goto BattleScript_82DB510
+
+BattleScript_DroughtActivates::
+ pause 0x20
+ printstring STRINGID_PKMNSXINTENSIFIEDSUN
+ waitstate
+ playanimation BANK0, ANIM_SUN_CONTINUES, NULL
+ call BattleScript_82DB48D
+ end3
+
+BattleScript_TookAttack::
+ attackstring
+ pause 0x20
+ printstring STRINGID_PKMNSXTOOKATTACK
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED
+ return
+
+BattleScript_SturdyPreventsOHKO::
+ pause 0x20
+ printstring STRINGID_PKMNPROTECTEDBY
+ pause 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_DampStopsExplosion::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSUSAGE
+ pause 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_MoveHPDrain_PPLoss::
+ ppreduce
+BattleScript_MoveHPDrain::
+ attackstring
+ pause 0x20
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate TARGET
+ datahpupdate TARGET
+ printstring STRINGID_PKMNRESTOREDHPUSING
+ waitmessage 0x40
+ orbyte gBattleMoveFlags, MOVESTATUS_NOTAFFECTED
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB591::
+ ppreduce
+BattleScript_82DB592::
+ attackstring
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEYUSELESS
+ waitmessage 0x40
+ orbyte gBattleMoveFlags, MOVESTATUS_NOTAFFECTED
+ goto BattleScript_MoveEnd
+
+BattleScript_FlashFireBoost_PPLoss::
+ ppreduce
+BattleScript_FlashFireBoost::
+ attackstring
+ pause 0x20
+ printfromtable 0x85CC976
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB5B9::
+ pause 0x20
+ printstring STRINGID_PKMNANCHORSITSELFWITH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AbilityNoStatLoss::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSSTATLOSSWITH
+ waitmessage 0x40
+ return
+
+BattleScript_BRNPrevention::
+ pause 0x20
+ printfromtable 0x85CC95E
+ waitmessage 0x40
+ return
+
+BattleScript_PRLZPrevention::
+ pause 0x20
+ printfromtable 0x85CC964
+ waitmessage 0x40
+ return
+
+BattleScript_PSNPrevention::
+ pause 0x20
+ printfromtable 0x85CC96A
+ waitmessage 0x40
+ return
+
+BattleScript_ObliviousPreventsAttraction::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSROMANCEWITH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_FlinchPrevention::
+ pause 0x20
+ printstring STRINGID_PKMNSXPREVENTSFLINCHING
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_82DB611::
+ pause 0x20
+ printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_SoundproofProtected::
+ attackstring
+ ppreduce
+ pause 0x20
+ printstring STRINGID_PKMNSXBLOCKSY
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_AbilityNoSpecificStatLoss::
+ pause 0x20
+ printstring STRINGID_PKMNSXPREVENTSYLOSS
+ waitmessage 0x40
+ setbyte cMULTISTRING_CHOOSER, 0x3
+ return
+
+BattleScript_StickyHoldActivates::
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEYINEFFECTIVE
+ waitmessage 0x40
+ goto BattleScript_MoveEnd
+
+BattleScript_ColorChangeActivates::
+ printstring STRINGID_PKMNCHANGEDTYPEWITH
+ waitmessage 0x40
+ return
+
+BattleScript_RoughSkinActivates::
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNHURTSWITH
+ waitmessage 0x40
+ tryfaintmon ATTACKER, FALSE, NULL
+ return
+
+BattleScript_CuteCharmActivates::
+ status2animation ATTACKER, STATUS2_INFATUATION
+ printstring STRINGID_PKMNSXINFATUATEDY
+ waitmessage 0x40
+ return
+
+BattleScript_ApplySecondaryEffect::
+ waitstate
+ seteffectsecondary
+ return
+
+BattleScript_SynchronizeActivates::
+ waitstate
+ seteffectprimary
+ return
+
+BattleScript_NoItemSteal::
+ pause 0x20
+ printstring STRINGID_PKMNSXMADEYINEFFECTIVE
+ waitmessage 0x40
+ return
+
+BattleScript_82DB68C::
+ printstring STRINGID_PKMNSXCUREDITSYPROBLEM
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ return
+
+BattleScript_82DB695::
+ printstring STRINGID_PKMNIGNORESASLEEP
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ end
+
+BattleScript_82DB6A5::
+ printstring STRINGID_PKMNIGNOREDORDERS
+ waitmessage 0x40
+ jumptorandomattack 0x0
+
+BattleScript_MoveUsedLoafingAround::
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x4, BattleScript_82DB6C7
+ setbyte gBattleCommunication, 0x0
+ various ATTACKER, 0x18
+ setbyte cMULTISTRING_CHOOSER, 0x4
+BattleScript_82DB6C7::
+ printfromtable 0x85CC93A
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ end
+
+BattleScript_82DB6D9::
+ printstring STRINGID_PKMNBEGANTONAP
+ waitmessage 0x40
+ setmoveeffect EFFECT_SLEEP | AFFECTS_USER
+ seteffectprimary
+ setbyte sMOVEEND_STATE, 0x0
+ moveend 0x2, 0x10
+ end
+
+BattleScript_82DB6F0::
+ printstring STRINGID_PKMNWONTOBEY
+ waitmessage 0x40
+ goto BattleScript_82DB2D4
+
+BattleScript_SubstituteFade::
+ playanimation TARGET, ANIM_SUBSTITUTE_FADE, NULL
+ printstring STRINGID_PKMNSUBSTITUTEFADED
+ return
+
+BattleScript_BerryCurePrlzEnd2::
+ call BattleScript_BerryCureParRet
+ end2
+
+BattleScript_BerryCureParRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMCUREDPARALYSIS
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCurePsnEnd2::
+ call BattleScript_BerryCurePsnRet
+ end2
+
+BattleScript_BerryCurePsnRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMCUREDPOISON
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureBrnEnd2::
+ call BattleScript_BerryCureBrnRet
+ end2
+
+BattleScript_BerryCureBrnRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMHEALEDBURN
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureFrzEnd2::
+ call BattleScript_BerryCureFrzRet
+ end2
+
+BattleScript_BerryCureFrzRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMDEFROSTEDIT
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureSlpEnd2::
+ call BattleScript_BerryCureSlpRet
+ end2
+
+BattleScript_BerryCureSlpRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMWOKEIT
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureConfusionEnd2::
+ call BattleScript_BerryCureConfusionRet
+ end2
+
+BattleScript_BerryCureConfusionRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMSNAPPEDOUT
+ waitmessage 0x40
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_BerryCureChosenStatusEnd2::
+ call BattleScript_BerryCureChosenStatusRet
+ end2
+
+BattleScript_BerryCureChosenStatusRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printfromtable 0x85CC95A
+ waitmessage 0x40
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_WhiteHerbEnd2::
+ call BattleScript_WhiteHerbRet
+ end2
+
+BattleScript_WhiteHerbRet::
+ playanimation SCRIPTING_BANK, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDSTATUS
+ waitmessage 0x40
+ removeitem SCRIPTING_BANK
+ return
+
+BattleScript_ItemHealHP_RemoveItem::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDHEALTH
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ removeitem ATTACKER
+ end2
+
+BattleScript_BerryPPHealEnd2::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDPP
+ waitmessage 0x40
+ removeitem ATTACKER
+ end2
+
+BattleScript_ItemHealHP_End2::
+ call BattleScript_ItemHealHP_Ret
+ end2
+
+BattleScript_ItemHealHP_Ret::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ return
+
+BattleScript_82DB812::
+ printselectionstring STRINGID_ITEMALLOWSONLYYMOVE
+ endselectionscript
+
+BattleScript_HangedOnMsg::
+ playanimation TARGET, ANIM_HANGED_ON, NULL
+ printstring STRINGID_PKMNHUNGONWITHX
+ waitmessage 0x40
+ return
+
+BattleScript_BerryConfuseHealEnd2::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNSITEMRESTOREDHEALTH
+ waitmessage 0x40
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_FORXCOMMAYZ
+ waitmessage 0x40
+ setmoveeffect EFFECT_CONFUSION | AFFECTS_USER
+ seteffectprimary
+ removeitem ATTACKER
+ end2
+
+BattleScript_BerryStatRaiseEnd2::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ statbuffchange 0x41, BattleScript_82DB85B
+BattleScript_82DB85B::
+ setbyte cMULTISTRING_CHOOSER, 0x4
+ call BattleScript_StatUp
+ removeitem ATTACKER
+ end2
+
+BattleScript_BerryFocusEnergyEnd2::
+ playanimation ATTACKER, ANIM_ITEM_EFFECT, NULL
+ printstring STRINGID_PKMNUSEDXTOGETPUMPED
+ waitmessage 0x40
+ removeitem ATTACKER
+ end2
+
+BattleScript_ActionSelectionItemsCantBeUsed::
+ printselectionstring STRINGID_ITEMSCANTBEUSEDNOW
+ endselectionscript
+
+BattleScript_82DB87D::
+ printstring STRINGID_EMPTYSTRING3
+ return
+
+BattleScript_82DB881::
+ setbyte gBattleCommunication + 1, 0x0
+BattleScript_82DB887::
+ various ATTACKER, 0x8
+ jumpifbyte NOT_EQUAL, gBattleCommunication, 0x1, BattleScript_82DB89D
+ printfromtable 0x85CCF0A
+ waitmessage 0x40
+BattleScript_82DB89D::
+ addbyte gBattleCommunication + 1, 0x1
+ jumpifarraynotequal gBattleCommunication + 1, gNoOfAllBanks, 0x1, BattleScript_82DB887
+ setbyte gBattleCommunication, 0x0
+ setbyte gBattleCommunication + 1, 0x0
+ end2
+
+BattleScript_82DB8BE::
+ various ATTACKER, VARIOUS_WAIT_CRY
+ various ATTACKER, 0x15
+ playse 0x109
+ pause 0x8
+ playse 0x109
+ various ATTACKER, 0xE
+ various 8, 0x10
+ various 8, 0x11
+ pause 0x40
+ various ATTACKER, 0xF
+ various ATTACKER, 0x16
+ end2
+
+BattleScript_82DB8E0::
+ playse SE_PINPON
+ various ATTACKER, 0xE
+ various TARGET, 0x10
+ various TARGET, 0x11
+ pause 0x40
+ various ATTACKER, 0xF
+ end2
+
+BattleScript_82DB8F3::
+ makevisible 11
+ waitstate
+ makevisible OPPONENT1
+ waitstate
+ various ATTACKER, 0x15
+ playse 0x109
+ pause 0x8
+ playse 0x109
+ pause 0x40
+ various ATTACKER, 0xE
+ various ATTACKER, 0x10
+ various ATTACKER, 0x11
+ pause 0x40
+ setbyte gBattleCommunication, 0x0
+ various ATTACKER, 0x9
+ pause 0x40
+ various ATTACKER, 0x9
+ various EFFECT_BANK, 0x10
+ various EFFECT_BANK, 0x11
+ various ATTACKER, 0x9
+ various GBANK_1, 0x10
+ various GBANK_1, 0x11
+ various ATTACKER, 0x9
+ various 4, 0x10
+ various 4, 0x11
+ various ATTACKER, 0x9
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x3, BattleScript_82DB973
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x4, BattleScript_82DB992
+ various 5, 0x10
+ various 5, 0x11
+ various ATTACKER, 0x9
+ various ATTACKER, 0xF
+ printstring STRINGID_DEFEATEDOPPONENTBYREFEREE
+ waitmessage 0x40
+ playfaintcry OPPONENT1
+ various ATTACKER, VARIOUS_WAIT_CRY
+ dofaintanimation OPPONENT1
+ cleareffectsonfaint OPPONENT1
+ various ATTACKER, 0xA
+ end2
+
+BattleScript_82DB973::
+ various 6, 0x10
+ various 6, 0x11
+ various ATTACKER, 0x9
+ various ATTACKER, 0xF
+ printstring STRINGID_LOSTTOOPPONENTBYREFEREE
+ waitmessage 0x40
+ playfaintcry 11
+ various ATTACKER, VARIOUS_WAIT_CRY
+ dofaintanimation 11
+ cleareffectsonfaint 11
+ various ATTACKER, 0xB
+ end2
+
+BattleScript_82DB992::
+ various BANK0, 0x10
+ various BANK0, 0x11
+ various ATTACKER, 0x9
+ various ATTACKER, 0xF
+ printstring STRINGID_TIEDOPPONENTBYREFEREE
+ waitmessage 0x40
+ playfaintcry 11
+ various ATTACKER, VARIOUS_WAIT_CRY
+ dofaintanimation 11
+ cleareffectsonfaint 11
+ playfaintcry OPPONENT1
+ various ATTACKER, VARIOUS_WAIT_CRY
+ dofaintanimation OPPONENT1
+ cleareffectsonfaint OPPONENT1
+ various ATTACKER, 0xC
+ end2
+
+BattleScript_82DB9BA::
+ printselectionstring STRINGID_QUESTIONFORFEITMATCH
+ various ATTACKER, VARIOUS_EMIT_YESNOBOX
+ endselectionscript
+
+BattleScript_82DB9C1::
+ printstring STRINGID_FORFEITEDMATCH
+ waitmessage 0x40
+ end2
+
+BattleScript_82DB9C8::
+ printstring STRINGID_FORFEITEDMATCH
+ waitmessage 0x40
+ atk57
+ waitmessage 0x40
+ end2
diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s
index 4a4dc4665..6f6ea084b 100644
--- a/data/battle_scripts_2.s
+++ b/data/battle_scripts_2.s
@@ -1,32 +1,36 @@
.include "asm/macros.inc"
+ .include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
+ .include "constants/battle_constants.inc"
+ .include "constants/battle_script_constants.inc"
+ .include "constants/battle_text.inc"
.section script_data, "aw", %progbits
.align 2
gBattlescriptsForBallThrow:: @ 82DBD08
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD7E
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
- .4byte gUnknown_082DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD7E
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
+ .4byte BattleScript_82DBD68
.align 2
gUnknown_082DBD3C:: @ 82DBD3C
- .4byte gUnknown_082DBE12
- .4byte gUnknown_082DBE1C
- .4byte gUnknown_082DBE1C
- .4byte gUnknown_082DBE4B
- .4byte gUnknown_082DBE6F
- .4byte gUnknown_082DBE91
+ .4byte BattleScript_82DBE12
+ .4byte BattleScript_82DBE1C
+ .4byte BattleScript_82DBE1C
+ .4byte BattleScript_82DBE4B
+ .4byte BattleScript_82DBE6F
+ .4byte BattleScript_82DBE91
.align 2
gBattlescriptsForRunningByItem:: @ 82DBD54
@@ -34,55 +38,167 @@ gBattlescriptsForRunningByItem:: @ 82DBD54
.align 2
gBattlescriptsForSafariActions:: @ 82DBD58
- .4byte gUnknown_082DBEBD
- .4byte gUnknown_082DBEC4
- .4byte gUnknown_082DBECD
- .4byte gUnknown_082DBEE3
-
-gUnknown_082DBD68:: @ 82DBD68
- .incbin "baserom.gba", 0x2dbd68, 0x16
-
-gUnknown_082DBD7E:: @ 82DBD7E
- .incbin "baserom.gba", 0x2dbd7e, 0x6
-
-BattleScript_SuccessBallThrow:: @ 82DBD84
- .incbin "baserom.gba", 0x2dbd84, 0x46
-
-BattleScript_WallyBallThrow:: @ 82DBDCA
- .incbin "baserom.gba", 0x2dbdca, 0xa
-
-BattleScript_ShakeBallThrow:: @ 82DBDD4
- .incbin "baserom.gba", 0x2dbdd4, 0x2e
-
-BattleScript_TrainerBallBlock:: @ 82DBE02
- .incbin "baserom.gba", 0x2dbe02, 0x10
-
-gUnknown_082DBE12:: @ 82DBE12
- .incbin "baserom.gba", 0x2dbe12, 0xa
-
-gUnknown_082DBE1C:: @ 82DBE1C
- .incbin "baserom.gba", 0x2dbe1c, 0x2f
-
-gUnknown_082DBE4B:: @ 82DBE4B
- .incbin "baserom.gba", 0x2dbe4b, 0x24
-
-gUnknown_082DBE6F:: @ 82DBE6F
- .incbin "baserom.gba", 0x2dbe6f, 0x22
-
-gUnknown_082DBE91:: @ 82DBE91
- .incbin "baserom.gba", 0x2dbe91, 0x22
-
-BattleScript_RunByUsingItem:: @ 82DBEB3
- .incbin "baserom.gba", 0x2dbeb3, 0xA
-
-gUnknown_082DBEBD:: @ 82DBEBD
- .incbin "baserom.gba", 0x2dbebd, 0x7
-
-gUnknown_082DBEC4:: @ 82DBEC4
- .incbin "baserom.gba", 0x2dbec4, 0x9
-
-gUnknown_082DBECD:: @ 82DBECD
- .incbin "baserom.gba", 0x2dbecd, 0x16
-
-gUnknown_082DBEE3:: @ 82DBEE3
- .incbin "baserom.gba", 0x2dbee3, 0x15
+ .4byte BattleScript_82DBEBD
+ .4byte BattleScript_82DBEC4
+ .4byte BattleScript_82DBECD
+ .4byte BattleScript_82DBEE3
+
+BattleScript_82DBD68::
+ jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_WALLY_TUTORIAL, BattleScript_82DBD7A
+ printstring STRINGID_PLAYERUSEDITEM
+ pokeball_catch_calculation
+
+BattleScript_82DBD7A::
+ printstring STRINGID_WALLYUSEDITEM
+ pokeball_catch_calculation
+
+BattleScript_82DBD7E::
+ printstring STRINGID_PLAYERUSEDITEM
+ updatestatusicon ATTACKER
+ pokeball_catch_calculation
+
+BattleScript_SuccessBallThrow::
+ jumpifhalfword EQUAL, gLastUsedItem, 0x5, BattleScript_82DBD92
+ incrementgamestat 0xB
+BattleScript_82DBD92::
+ printstring STRINGID_GOTCHAPKMNCAUGHT
+ trysetcaughtmondexflags BattleScript_82DBDA5
+ printstring STRINGID_PKMNDATAADDEDTODEX
+ waitstate
+ setbyte gBattleCommunication, 0x0
+ displaydexinfo
+BattleScript_82DBDA5::
+ printstring STRINGID_GIVENICKNAMECAPTURED
+ waitstate
+ setbyte gBattleCommunication, 0x0
+ trygivecaughtmonnick BattleScript_82DBDC2
+ givecaughtmon
+ printfromtable 0x85CC97A
+ waitmessage 0x40
+ goto BattleScript_82DBDC3
+
+BattleScript_82DBDC2::
+ givecaughtmon
+BattleScript_82DBDC3::
+ setbyte gBattleOutcome, CAUGHT
+ finishturn
+
+BattleScript_WallyBallThrow::
+ printstring STRINGID_GOTCHAPKMNCAUGHT2
+ setbyte gBattleOutcome, CAUGHT
+ finishturn
+
+BattleScript_ShakeBallThrow::
+ printfromtable 0x85CC912
+ waitmessage 0x40
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_82DBE01
+ jumpifbyte NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_82DBE01
+ printstring STRINGID_OUTOFSAFARIBALLS
+ waitmessage 0x40
+ setbyte gBattleOutcome, OUT_OF_BALLS
+BattleScript_82DBE01::
+ finishaction
+
+BattleScript_TrainerBallBlock::
+ waitmessage 0x40
+ printstring STRINGID_TRAINERBLOCKEDBALL
+ waitmessage 0x40
+ printstring STRINGID_DONTBEATHIEF
+ waitmessage 0x40
+ finishaction
+
+BattleScript_82DBE12::
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ end
+
+BattleScript_82DBE1C::
+ printstring STRINGID_EMPTYSTRING3
+ pause 0x30
+ playse 0x1
+ printstring STRINGID_TRAINER1USEDITEM
+ waitmessage 0x40
+ useitemonopponent
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ healthbarupdate ATTACKER
+ datahpupdate ATTACKER
+ printstring STRINGID_PKMNSITEMRESTOREDHEALTH
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ finishaction
+
+BattleScript_82DBE4B::
+ printstring STRINGID_EMPTYSTRING3
+ pause 0x30
+ playse 0x1
+ printstring STRINGID_TRAINER1USEDITEM
+ waitmessage 0x40
+ useitemonopponent
+ printfromtable 0x85CC94E
+ waitmessage 0x40
+ updatestatusicon ATTACKER
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ finishaction
+
+BattleScript_82DBE6F::
+ printstring STRINGID_EMPTYSTRING3
+ pause 0x30
+ playse 0x1
+ printstring STRINGID_TRAINER1USEDITEM
+ waitmessage 0x40
+ useitemonopponent
+ printfromtable 0x85CC89C
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ finishaction
+
+BattleScript_82DBE91::
+ printstring STRINGID_EMPTYSTRING3
+ pause 0x30
+ playse 0x1
+ printstring STRINGID_TRAINER1USEDITEM
+ waitmessage 0x40
+ useitemonopponent
+ printfromtable 0x85CC8CC
+ waitmessage 0x40
+ setbyte sMOVEEND_STATE, 0xF
+ moveend 0x1, 0x0
+ finishaction
+
+BattleScript_RunByUsingItem::
+ playse 0x11
+ setbyte gBattleOutcome, RAN
+ finishturn
+
+BattleScript_82DBEBD::
+ printstring STRINGID_PKMNWATCHINGCAREFULLY
+ waitmessage 0x40
+ end2
+
+BattleScript_82DBEC4::
+ printfromtable 0x85CC944
+ waitmessage 0x40
+ end2
+
+BattleScript_82DBECD::
+ printstring STRINGID_THREWPOKEBLOCKATPKMN
+ waitmessage 0x40
+ playanimation ATTACKER, ANIM_x4, NULL
+ printfromtable 0x85CC948
+ waitmessage 0x40
+ end2
+
+BattleScript_82DBEE3::
+ printstring STRINGID_RETURNMON
+ waitmessage 0x40
+ returnatktoball
+ waitstate
+ trainerslidein TARGET
+ waitstate
+ printstring STRINGID_YOUTHROWABALLNOWRIGHT
+ waitmessage 0x40
+ end2
diff --git a/include/battle.h b/include/battle.h
index 0939c92b6..ada5282dc 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -272,6 +272,8 @@
#define BS_GET_TARGET 0
#define BS_GET_ATTACKER 1
#define BS_GET_EFFECT_BANK 2
+#define BS_GET_gBank1 3
+#define BS_GET_BANK_0 7
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability
#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
@@ -847,7 +849,7 @@ struct BattleScripting
u8 field_F;
u8 animArg1;
u8 animArg2;
- u8 field_12;
+ u8 tripleKickPower;
u8 field_13;
u8 atk49_state;
u8 field_15;
diff --git a/include/battle_controllers.h b/include/battle_controllers.h
index 973a723e0..c69cb1017 100644
--- a/include/battle_controllers.h
+++ b/include/battle_controllers.h
@@ -198,7 +198,7 @@ void EmitBallThrowAnim(u8 bufferId, u8 caseId);
void EmitPause(u8 bufferId, u8 toWait, void *data); // unused
void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit);
void EmitPrintString(u8 bufferId, u16 stringId);
-void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId);
+void EmitPrintSelectionString(u8 bufferId, u16 stringId);
void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2);
void EmitUnknownYesNoBox(u8 bufferId);
void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData);
@@ -224,7 +224,7 @@ void EmitCmd39(u8 bufferId); // unused
void EmitCmd40(u8 bufferId); // unused
void EmitHitAnimation(u8 bufferId);
void EmitCmd42(u8 bufferId);
-void EmitEffectivenessSound(u8 bufferId, u16 songId);
+void EmitPlaySE(u8 bufferId, u16 songId);
void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM);
void EmitFaintingCry(u8 bufferId);
void EmitIntroSlide(u8 bufferId, u8 terrainId);
diff --git a/include/battle_move_effects.h b/include/battle_move_effects.h
index 4a9415379..003913380 100644
--- a/include/battle_move_effects.h
+++ b/include/battle_move_effects.h
@@ -153,7 +153,7 @@ enum
EFFECT_EARTHQUAKE,
EFFECT_FUTURE_SIGHT,
EFFECT_GUST,
- EFFECT_FLINCH_HIT_2, // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
+ EFFECT_STOMP, // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
EFFECT_SOLARBEAM,
EFFECT_THUNDER,
EFFECT_TELEPORT,
diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h
index ebfeabccc..80fabaa64 100644
--- a/include/battle_script_commands.h
+++ b/include/battle_script_commands.h
@@ -1,6 +1,10 @@
#ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H
#define GUARD_BATTLE_SCRIPT_COMMANDS_H
+#define NO_ACC_CALC 0xFFFE
+#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
+#define ACC_CURR_MOVE 0
+
#define CMP_EQUAL 0x0
#define CMP_NOT_EQUAL 0x1
#define CMP_GREATER_THAN 0x2
@@ -21,7 +25,7 @@
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
-#define VARIOUS_CAN_RUN_FROM_BATTLE 2
+#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
#define VARIOUS_GET_MOVE_TARGET 3
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
diff --git a/include/battle_scripts.h b/include/battle_scripts.h
new file mode 100644
index 000000000..b04a82673
--- /dev/null
+++ b/include/battle_scripts.h
@@ -0,0 +1,640 @@
+#ifndef GUARD_BATTLE_SCRIPTS_H
+#define GUARD_BATTLE_SCRIPTS_H
+
+extern const u8 BattleScript_EffectHit[];
+extern const u8 BattleScript_HitFromAtkCanceler[];
+extern const u8 BattleScript_HitFromAccCheck[];
+extern const u8 BattleScript_HitFromAtkString[];
+extern const u8 BattleScript_HitFromCritCalc[];
+extern const u8 BattleScript_HitFromAtkAnimation[];
+extern const u8 BattleScript_MoveEnd[];
+extern const u8 BattleScript_MakeMoveMissed[];
+extern const u8 BattleScript_PrintMoveMissed[];
+extern const u8 BattleScript_MoveMissedPause[];
+extern const u8 BattleScript_MoveMissed[];
+extern const u8 BattleScript_EffectSleep[];
+extern const u8 BattleScript_82D8AB0[];
+extern const u8 BattleScript_82D8AC1[];
+extern const u8 BattleScript_82D8ACF[];
+extern const u8 BattleScript_EffectPoisonHit[];
+extern const u8 BattleScript_EffectAbsorb[];
+extern const u8 BattleScript_82D8B26[];
+extern const u8 BattleScript_82D8B2E[];
+extern const u8 BattleScript_82D8B45[];
+extern const u8 BattleScript_EffectBurnHit[];
+extern const u8 BattleScript_EffectFreezeHit[];
+extern const u8 BattleScript_EffectParalyzeHit[];
+extern const u8 BattleScript_EffectExplosion[];
+extern const u8 BattleScript_82D8B94[];
+extern const u8 BattleScript_82D8B96[];
+extern const u8 BattleScript_82D8BCF[];
+extern const u8 BattleScript_82D8BEA[];
+extern const u8 BattleScript_EffectDreamEater[];
+extern const u8 BattleScript_82D8C0E[];
+extern const u8 BattleScript_82D8C18[];
+extern const u8 BattleScript_82D8C56[];
+extern const u8 BattleScript_EffectMirrorMove[];
+extern const u8 BattleScript_EffectAttackUp[];
+extern const u8 BattleScript_EffectDefenseUp[];
+extern const u8 BattleScript_EffectSpecialAttackUp[];
+extern const u8 BattleScript_EffectEvasionUp[];
+extern const u8 BattleScript_EffectStatUp[];
+extern const u8 BattleScript_EffectStatUpAfterAtkCanceler[];
+extern const u8 BattleScript_82D8CBD[];
+extern const u8 BattleScript_82D8CBF[];
+extern const u8 BattleScript_82D8CC7[];
+extern const u8 BattleScript_82D8CCF[];
+extern const u8 BattleScript_StatUp[];
+extern const u8 BattleScript_EffectAttackDown[];
+extern const u8 BattleScript_EffectDefenseDown[];
+extern const u8 BattleScript_EffectSpeedDown[];
+extern const u8 BattleScript_EffectAccuracyDown[];
+extern const u8 BattleScript_EffectEvasionDown[];
+extern const u8 BattleScript_EffectStatDown[];
+extern const u8 BattleScript_82D8D4E[];
+extern const u8 BattleScript_82D8D58[];
+extern const u8 BattleScript_82D8D60[];
+extern const u8 BattleScript_StatDown[];
+extern const u8 BattleScript_EffectHaze[];
+extern const u8 BattleScript_EffectBide[];
+extern const u8 BattleScript_EffectRampage[];
+extern const u8 BattleScript_82D8DAE[];
+extern const u8 BattleScript_EffectRoar[];
+extern const u8 BattleScript_EffectMultiHit[];
+extern const u8 BattleScript_82D8DFD[];
+extern const u8 BattleScript_82D8E1F[];
+extern const u8 BattleScript_82D8E71[];
+extern const u8 BattleScript_82D8E74[];
+extern const u8 BattleScript_82D8E93[];
+extern const u8 BattleScript_EffectConversion[];
+extern const u8 BattleScript_EffectFlinchHit[];
+extern const u8 BattleScript_EffectRestoreHp[];
+extern const u8 BattleScript_EffectToxic[];
+extern const u8 BattleScript_AlreadyPoisoned[];
+extern const u8 BattleScript_82D8F63[];
+extern const u8 BattleScript_EffectPayDay[];
+extern const u8 BattleScript_EffectLightScreen[];
+extern const u8 BattleScript_EffectTriAttack[];
+extern const u8 BattleScript_EffectRest[];
+extern const u8 BattleScript_82D8FC6[];
+extern const u8 BattleScript_82D8FD6[];
+extern const u8 BattleScript_EffectOhko[];
+extern const u8 BattleScript_82D9008[];
+extern const u8 BattleScript_EffectRazorWind[];
+extern const u8 BattleScript_82D9040[];
+extern const u8 BattleScript_82D906F[];
+extern const u8 BattleScript_EffectSuperFang[];
+extern const u8 BattleScript_EffectDragonRage[];
+extern const u8 BattleScript_EffectTrap[];
+extern const u8 BattleScript_82D9105[];
+extern const u8 BattleScript_EffectDoubleHit[];
+extern const u8 BattleScript_EffectRecoilIfMiss[];
+extern const u8 BattleScript_82D9135[];
+extern const u8 BattleScript_EffectMist[];
+extern const u8 BattleScript_EffectFocusEnergy[];
+extern const u8 BattleScript_EffectRecoil[];
+extern const u8 BattleScript_EffectConfuse[];
+extern const u8 BattleScript_82D9201[];
+extern const u8 BattleScript_EffectAttackUp2[];
+extern const u8 BattleScript_EffectDefenseUp2[];
+extern const u8 BattleScript_EffectSpeedUp2[];
+extern const u8 BattleScript_EffectSpecialAttackUp2[];
+extern const u8 BattleScript_EffectSpecialDefenseUp2[];
+extern const u8 BattleScript_EffectTransform[];
+extern const u8 BattleScript_EffectAttackDown2[];
+extern const u8 BattleScript_EffectDefenseDown2[];
+extern const u8 BattleScript_EffectSpeedDown2[];
+extern const u8 BattleScript_EffectSpecialDefenseDown2[];
+extern const u8 BattleScript_EffectReflect[];
+extern const u8 BattleScript_82D928C[];
+extern const u8 BattleScript_EffectPoison[];
+extern const u8 BattleScript_EffectParalyze[];
+extern const u8 BattleScript_82D9351[];
+extern const u8 BattleScript_82D9362[];
+extern const u8 BattleScript_EffectAttackDownHit[];
+extern const u8 BattleScript_EffectDefenseDownHit[];
+extern const u8 BattleScript_EffectSpeedDownHit[];
+extern const u8 BattleScript_EffectSpecialAttackDownHit[];
+extern const u8 BattleScript_EffectSpecialDefenseDownHit[];
+extern const u8 BattleScript_EffectAccuracyDownHit[];
+extern const u8 BattleScript_EffectSkyAttack[];
+extern const u8 BattleScript_EffectConfuseHit[];
+extern const u8 BattleScript_EffectTwineedle[];
+extern const u8 BattleScript_EffectSubstitute[];
+extern const u8 BattleScript_82D942B[];
+extern const u8 BattleScript_82D9431[];
+extern const u8 BattleScript_82D943E[];
+extern const u8 BattleScript_EffectRecharge[];
+extern const u8 BattleScript_MoveUsedMustRecharge[];
+extern const u8 BattleScript_EffectRage[];
+extern const u8 BattleScript_82D9487[];
+extern const u8 BattleScript_EffectMimic[];
+extern const u8 BattleScript_EffectMetronome[];
+extern const u8 BattleScript_EffectLeechSeed[];
+extern const u8 BattleScript_82D94E5[];
+extern const u8 BattleScript_EffectSplash[];
+extern const u8 BattleScript_EffectDisable[];
+extern const u8 BattleScript_EffectLevelDamage[];
+extern const u8 BattleScript_EffectPsywave[];
+extern const u8 BattleScript_EffectCounter[];
+extern const u8 BattleScript_EffectEncore[];
+extern const u8 BattleScript_EffectPainSplit[];
+extern const u8 BattleScript_EffectSnore[];
+extern const u8 BattleScript_82D95CE[];
+extern const u8 BattleScript_82D95E2[];
+extern const u8 BattleScript_EffectConversion2[];
+extern const u8 BattleScript_EffectLockOn[];
+extern const u8 BattleScript_EffectSketch[];
+extern const u8 BattleScript_EffectSleepTalk[];
+extern const u8 BattleScript_82D965E[];
+extern const u8 BattleScript_82D967E[];
+extern const u8 BattleScript_EffectDestinyBond[];
+extern const u8 BattleScript_EffectFlail[];
+extern const u8 BattleScript_EffectSpite[];
+extern const u8 BattleScript_EffectHealBell[];
+extern const u8 BattleScript_82D96ED[];
+extern const u8 BattleScript_82D96FE[];
+extern const u8 BattleScript_EffectTripleKick[];
+extern const u8 BattleScript_82D9718[];
+extern const u8 BattleScript_82D973A[];
+extern const u8 BattleScript_82D9799[];
+extern const u8 BattleScript_82D97AD[];
+extern const u8 BattleScript_82D97D7[];
+extern const u8 BattleScript_EffectThief[];
+extern const u8 BattleScript_EffectMeanLook[];
+extern const u8 BattleScript_EffectNightmare[];
+extern const u8 BattleScript_NightmareWorked[];
+extern const u8 BattleScript_EffectMinimize[];
+extern const u8 BattleScript_EffectCurse[];
+extern const u8 BattleScript_82D9892[];
+extern const u8 BattleScript_82D98B8[];
+extern const u8 BattleScript_82D98CC[];
+extern const u8 BattleScript_82D98E0[];
+extern const u8 BattleScript_82D98E5[];
+extern const u8 BattleScript_82D98F6[];
+extern const u8 BattleScript_EffectProtect[];
+extern const u8 BattleScript_EffectSpikes[];
+extern const u8 BattleScript_EffectForesight[];
+extern const u8 BattleScript_EffectPerishSong[];
+extern const u8 BattleScript_PerishSongLoop[];
+extern const u8 BattleScript_PerishSongLoopIncrement[];
+extern const u8 BattleScript_PerishSongNotAffected[];
+extern const u8 BattleScript_EffectSandstorm[];
+extern const u8 BattleScript_EffectRollout[];
+extern const u8 BattleScript_82D99CD[];
+extern const u8 BattleScript_82D99D4[];
+extern const u8 BattleScript_EffectSwagger[];
+extern const u8 BattleScript_82D9A1E[];
+extern const u8 BattleScript_EffectFuryCutter[];
+extern const u8 BattleScript_82D9A43[];
+extern const u8 BattleScript_EffectAttract[];
+extern const u8 BattleScript_EffectReturn[];
+extern const u8 BattleScript_EffectPresent[];
+extern const u8 BattleScript_EffectSafeguard[];
+extern const u8 BattleScript_EffectThawHit[];
+extern const u8 BattleScript_EffectMagnitude[];
+extern const u8 BattleScript_EffectBatonPass[];
+extern const u8 BattleScript_EffectRapidSpin[];
+extern const u8 BattleScript_EffectSonicboom[];
+extern const u8 BattleScript_EffectMorningSun[];
+extern const u8 BattleScript_EffectHiddenPower[];
+extern const u8 BattleScript_EffectRainDance[];
+extern const u8 BattleScript_82D9B41[];
+extern const u8 BattleScript_EffectSunnyDay[];
+extern const u8 BattleScript_EffectDefenseUpHit[];
+extern const u8 BattleScript_EffectAttackUpHit[];
+extern const u8 BattleScript_EffectAllStatsUpHit[];
+extern const u8 BattleScript_EffectBellyDrum[];
+extern const u8 BattleScript_EffectPsychUp[];
+extern const u8 BattleScript_EffectMirrorCoat[];
+extern const u8 BattleScript_EffectSkullBash[];
+extern const u8 BattleScript_82D9C16[];
+extern const u8 BattleScript_EffectTwister[];
+extern const u8 BattleScript_82D9C35[];
+extern const u8 BattleScript_EffectEarthquake[];
+extern const u8 BattleScript_82D9C44[];
+extern const u8 BattleScript_82D9C64[];
+extern const u8 BattleScript_82D9C73[];
+extern const u8 BattleScript_82D9CAC[];
+extern const u8 BattleScript_EffectFutureSight[];
+extern const u8 BattleScript_EffectGust[];
+extern const u8 BattleScript_EffectStomp[];
+extern const u8 BattleScript_EffectSolarbeam[];
+extern const u8 BattleScript_82D9D28[];
+extern const u8 BattleScript_82D9D50[];
+extern const u8 BattleScript_EffectThunder[];
+extern const u8 BattleScript_EffectTeleport[];
+extern const u8 BattleScript_EffectBeatUp[];
+extern const u8 BattleScript_BeatUpLoop[];
+extern const u8 BattleScript_BeatUpAttack[];
+extern const u8 BattleScript_BeatUpEnd[];
+extern const u8 BattleScript_EffectFly[];
+extern const u8 BattleScript_82D9E52[];
+extern const u8 BattleScript_82D9E5D[];
+extern const u8 BattleScript_82D9E68[];
+extern const u8 BattleScript_82D9E6E[];
+extern const u8 BattleScript_82D9E79[];
+extern const u8 BattleScript_82D9EA3[];
+extern const u8 BattleScript_82D9EB0[];
+extern const u8 BattleScript_EffectDefenseCurl[];
+extern const u8 BattleScript_82D9ED3[];
+extern const u8 BattleScript_EffectSoftboiled[];
+extern const u8 BattleScript_PresentHealTarget[];
+extern const u8 BattleScript_AlreadyAtFullHp[];
+extern const u8 BattleScript_EffectFakeOut[];
+extern const u8 BattleScript_ButItFailedAtkStringPpReduce[];
+extern const u8 BattleScript_ButItFailedPpReduce[];
+extern const u8 BattleScript_ButItFailed[];
+extern const u8 BattleScript_NotAffected[];
+extern const u8 BattleScript_EffectUproar[];
+extern const u8 BattleScript_82D9F5A[];
+extern const u8 BattleScript_EffectStockpile[];
+extern const u8 BattleScript_EffectSpitUp[];
+extern const u8 BattleScript_SpitUpFail[];
+extern const u8 BattleScript_82D9FA2[];
+extern const u8 BattleScript_EffectSwallow[];
+extern const u8 BattleScript_SwallowFail[];
+extern const u8 BattleScript_EffectHail[];
+extern const u8 BattleScript_EffectTorment[];
+extern const u8 BattleScript_EffectFlatter[];
+extern const u8 BattleScript_82DA03A[];
+extern const u8 BattleScript_EffectWillOWisp[];
+extern const u8 BattleScript_82DA0A1[];
+extern const u8 BattleScript_82DA0BB[];
+extern const u8 BattleScript_EffectMemento[];
+extern const u8 BattleScript_82DA119[];
+extern const u8 BattleScript_82DA13C[];
+extern const u8 BattleScript_82DA148[];
+extern const u8 BattleScript_82DA153[];
+extern const u8 BattleScript_82DA15A[];
+extern const u8 BattleScript_EffectFacade[];
+extern const u8 BattleScript_FacadeDoubleDmg[];
+extern const u8 BattleScript_EffectFocusPunch[];
+extern const u8 BattleScript_EffectSmellingsalt[];
+extern const u8 BattleScript_82DA1BA[];
+extern const u8 BattleScript_EffectFollowMe[];
+extern const u8 BattleScript_EffectNaturePower[];
+extern const u8 BattleScript_EffectCharge[];
+extern const u8 BattleScript_EffectTaunt[];
+extern const u8 BattleScript_EffectHelpingHand[];
+extern const u8 BattleScript_EffectTrick[];
+extern const u8 BattleScript_EffectRolePlay[];
+extern const u8 BattleScript_EffectWish[];
+extern const u8 BattleScript_EffectAssist[];
+extern const u8 BattleScript_EffectIngrain[];
+extern const u8 BattleScript_EffectSuperpower[];
+extern const u8 BattleScript_EffectMagicCoat[];
+extern const u8 BattleScript_EffectRecycle[];
+extern const u8 BattleScript_EffectRevenge[];
+extern const u8 BattleScript_EffectBrickBreak[];
+extern const u8 BattleScript_82DA306[];
+extern const u8 BattleScript_82DA319[];
+extern const u8 BattleScript_EffectYawn[];
+extern const u8 BattleScript_82DA378[];
+extern const u8 BattleScript_82DA382[];
+extern const u8 BattleScript_EffectKnockOff[];
+extern const u8 BattleScript_EffectEndeavor[];
+extern const u8 BattleScript_EffectEruption[];
+extern const u8 BattleScript_EffectSkillSwap[];
+extern const u8 BattleScript_EffectImprison[];
+extern const u8 BattleScript_EffectRefresh[];
+extern const u8 BattleScript_EffectGrudge[];
+extern const u8 BattleScript_EffectSnatch[];
+extern const u8 BattleScript_EffectLowKick[];
+extern const u8 BattleScript_EffectSecretPower[];
+extern const u8 BattleScript_EffectDoubleEdge[];
+extern const u8 BattleScript_EffectTeeterDance[];
+extern const u8 BattleScript_82DA47B[];
+extern const u8 BattleScript_82DA4C7[];
+extern const u8 BattleScript_82DA4D0[];
+extern const u8 BattleScript_82DA4E5[];
+extern const u8 BattleScript_82DA4F3[];
+extern const u8 BattleScript_82DA501[];
+extern const u8 BattleScript_82DA50F[];
+extern const u8 BattleScript_82DA520[];
+extern const u8 BattleScript_EffectMudSport[];
+extern const u8 BattleScript_EffectPoisonFang[];
+extern const u8 BattleScript_EffectWeatherBall[];
+extern const u8 BattleScript_EffectOverheat[];
+extern const u8 BattleScript_EffectTickle[];
+extern const u8 BattleScript_82DA571[];
+extern const u8 BattleScript_82DA5A7[];
+extern const u8 BattleScript_82DA5CA[];
+extern const u8 BattleScript_82DA5CF[];
+extern const u8 BattleScript_EffectCosmicPower[];
+extern const u8 BattleScript_82DA5F8[];
+extern const u8 BattleScript_82DA623[];
+extern const u8 BattleScript_82DA642[];
+extern const u8 BattleScript_EffectSkyUppercut[];
+extern const u8 BattleScript_EffectBulkUp[];
+extern const u8 BattleScript_82DA66A[];
+extern const u8 BattleScript_82DA695[];
+extern const u8 BattleScript_82DA6B4[];
+extern const u8 BattleScript_EffectCalmMind[];
+extern const u8 BattleScript_82DA6CE[];
+extern const u8 BattleScript_82DA6F9[];
+extern const u8 BattleScript_82DA718[];
+extern const u8 BattleScript_CantRaiseMultipleStats[];
+extern const u8 BattleScript_EffectDragonDance[];
+extern const u8 BattleScript_82DA746[];
+extern const u8 BattleScript_82DA771[];
+extern const u8 BattleScript_82DA790[];
+extern const u8 BattleScript_EffectCamouflage[];
+extern const u8 BattleScript_FaintAttacker[];
+extern const u8 BattleScript_FaintTarget[];
+extern const u8 BattleScript_82DA7C4[];
+extern const u8 BattleScript_82DA7CD[];
+extern const u8 BattleScript_82DA816[];
+extern const u8 BattleScript_82DA8D0[];
+extern const u8 BattleScript_82DA8F5[];
+extern const u8 BattleScript_82DA8F6[];
+extern const u8 BattleScript_82DA8FC[];
+extern const u8 BattleScript_82DA908[];
+extern const u8 BattleScript_82DA92C[];
+extern const u8 BattleScript_LocalTrainerBattleWon[];
+extern const u8 BattleScript_82DA943[];
+extern const u8 BattleScript_82DA946[];
+extern const u8 BattleScript_82DA963[];
+extern const u8 BattleScript_PayDayMoneyAndPickUpItems[];
+extern const u8 BattleScript_LocalBattleLost[];
+extern const u8 BattleScript_82DA9B1[];
+extern const u8 BattleScript_82DA9BD[];
+extern const u8 BattleScript_82DA9BE[];
+extern const u8 BattleScript_82DA9C9[];
+extern const u8 BattleScript_82DAA01[];
+extern const u8 BattleScript_82DAA0A[];
+extern const u8 BattleScript_82DAA0B[];
+extern const u8 BattleScript_82DAA31[];
+extern const u8 BattleScript_LinkBattleWonOrLost[];
+extern const u8 BattleScript_82DAA58[];
+extern const u8 BattleScript_82DAA5C[];
+extern const u8 BattleScript_82DAA83[];
+extern const u8 BattleScript_FrontierTrainerBattleWon[];
+extern const u8 BattleScript_82DAAAB[];
+extern const u8 BattleScript_82DAAAE[];
+extern const u8 BattleScript_82DAACB[];
+extern const u8 BattleScript_82DAADA[];
+extern const u8 BattleScript_SmokeBallEscape[];
+extern const u8 BattleScript_RanAwayUsingMonAbility[];
+extern const u8 BattleScript_GotAwaySafely[];
+extern const u8 BattleScript_WildMonFled[];
+extern const u8 BattleScript_82DAAFE[];
+extern const u8 BattleScript_PrintFailedToRunString[];
+extern const u8 BattleScript_82DAB0B[];
+extern const u8 BattleScript_82DAB11[];
+extern const u8 BattleScript_ActionSwitch[];
+extern const u8 BattleScript_82DAB35[];
+extern const u8 BattleScript_82DAB37[];
+extern const u8 BattleScript_82DAB44[];
+extern const u8 BattleScript_82DAB77[];
+extern const u8 BattleScript_82DABB8[];
+extern const u8 BattleScript_Pausex20[];
+extern const u8 BattleScript_LevelUp[];
+extern const u8 BattleScript_TryLearnMoveLoop[];
+extern const u8 BattleScript_AskToLearnMove[];
+extern const u8 BattleScript_ForgotAndLearnedNewMove[];
+extern const u8 BattleScript_LearnedNewMove[];
+extern const u8 BattleScript_LearnMoveReturn[];
+extern const u8 BattleScript_82DAC2C[];
+extern const u8 BattleScript_82DAC46[];
+extern const u8 BattleScript_82DAC47[];
+extern const u8 BattleScript_82DAC5F[];
+extern const u8 BattleScript_82DACA0[];
+extern const u8 BattleScript_82DACBF[];
+extern const u8 BattleScript_82DACC9[];
+extern const u8 BattleScript_82DACD2[];
+extern const u8 BattleScript_82DACE0[];
+extern const u8 BattleScript_82DACE7[];
+extern const u8 BattleScript_82DACFA[];
+extern const u8 BattleScript_82DAD01[];
+extern const u8 BattleScript_82DAD0B[];
+extern const u8 BattleScript_LeechSeedTurnDrain[];
+extern const u8 BattleScript_82DAD47[];
+extern const u8 BattleScript_82DAD4D[];
+extern const u8 BattleScript_BideStoringEnergy[];
+extern const u8 BattleScript_BideAttack[];
+extern const u8 BattleScript_BideNoEnergyToAttack[];
+extern const u8 BattleScript_82DADD8[];
+extern const u8 BattleScript_82DADF1[];
+extern const u8 BattleScript_MistProtected[];
+extern const u8 BattleScript_RageIsBuilding[];
+extern const u8 BattleScript_MoveUsedIsDisabled[];
+extern const u8 BattleScript_82DAE1F[];
+extern const u8 BattleScript_DisabledNoMore[];
+extern const u8 BattleScript_82DAE2A[];
+extern const u8 BattleScript_82DAE2D[];
+extern const u8 BattleScript_EncoredNoMore[];
+extern const u8 BattleScript_DestinyBondTakesLife[];
+extern const u8 BattleScript_SpikesOnAttacker[];
+extern const u8 BattleScript_82DAE7A[];
+extern const u8 BattleScript_SpikesOnTarget[];
+extern const u8 BattleScript_82DAEB1[];
+extern const u8 BattleScript_SpikesOngBank1[];
+extern const u8 BattleScript_82DAEE8[];
+extern const u8 BattleScript_82DAEFE[];
+extern const u8 BattleScript_82DAF05[];
+extern const u8 BattleScript_82DAF20[];
+extern const u8 BattleScript_AllStatsUp[];
+extern const u8 BattleScript_82DAF54[];
+extern const u8 BattleScript_82DAF72[];
+extern const u8 BattleScript_82DAF86[];
+extern const u8 BattleScript_82DAF9A[];
+extern const u8 BattleScript_82DAFAE[];
+extern const u8 BattleScript_82DAFC2[];
+extern const u8 BattleScript_RapidSpinAway[];
+extern const u8 BattleScript_WrapFree[];
+extern const u8 BattleScript_LeechSeedFree[];
+extern const u8 BattleScript_SpikesFree[];
+extern const u8 BattleScript_82DAFE4[];
+extern const u8 BattleScript_82DB001[];
+extern const u8 BattleScript_82DB008[];
+extern const u8 BattleScript_82DB020[];
+extern const u8 BattleScript_82DB027[];
+extern const u8 BattleScript_82DB03F[];
+extern const u8 BattleScript_82DB058[];
+extern const u8 BattleScript_NoMovesLeft[];
+extern const u8 BattleScript_82DB076[];
+extern const u8 BattleScript_NoPPForMove[];
+extern const u8 BattleScript_82DB089[];
+extern const u8 BattleScript_82DB08D[];
+extern const u8 BattleScript_82DB098[];
+extern const u8 BattleScript_82DB0A0[];
+extern const u8 BattleScript_MoveUsedIsTaunted[];
+extern const u8 BattleScript_82DB0AF[];
+extern const u8 BattleScript_WishComesTrue[];
+extern const u8 BattleScript_82DB0DE[];
+extern const u8 BattleScript_IngrainTurnHeal[];
+extern const u8 BattleScript_82DB109[];
+extern const u8 BattleScript_AtkDefDown[];
+extern const u8 BattleScript_82DB144[];
+extern const u8 BattleScript_82DB167[];
+extern const u8 BattleScript_KnockedOff[];
+extern const u8 BattleScript_MoveUsedIsImprisoned[];
+extern const u8 BattleScript_82DB181[];
+extern const u8 BattleScript_82DB185[];
+extern const u8 BattleScript_GrudgeTakesPp[];
+extern const u8 BattleScript_MagicCoatBounce[];
+extern const u8 BattleScript_SnatchedMove[];
+extern const u8 BattleScript_EnduredMsg[];
+extern const u8 BattleScript_OneHitKOMsg[];
+extern const u8 BattleScript_SAtkDown2[];
+extern const u8 BattleScript_82DB1FE[];
+extern const u8 BattleScript_FocusPunchSetUp[];
+extern const u8 BattleScript_MoveUsedIsAsleep[];
+extern const u8 BattleScript_MoveUsedWokeUp[];
+extern const u8 BattleScript_82DB234[];
+extern const u8 BattleScript_PoisonTurnDmg[];
+extern const u8 BattleScript_82DB243[];
+extern const u8 BattleScript_82DB245[];
+extern const u8 BattleScript_82DB25E[];
+extern const u8 BattleScript_BurnTurnDmg[];
+extern const u8 BattleScript_MoveUsedIsFrozen[];
+extern const u8 BattleScript_MoveUsedUnfroze[];
+extern const u8 BattleScript_DefrostedViaFireMove[];
+extern const u8 BattleScript_MoveUsedIsParalyzed[];
+extern const u8 BattleScript_MoveUsedFlinched[];
+extern const u8 BattleScript_82DB2A6[];
+extern const u8 BattleScript_ThrashConfuses[];
+extern const u8 BattleScript_MoveUsedIsConfused[];
+extern const u8 BattleScript_82DB2D4[];
+extern const u8 BattleScript_82DB2FF[];
+extern const u8 BattleScript_MoveUsedIsConfusedNoMore[];
+extern const u8 BattleScript_PrintPayDayMoneyString[];
+extern const u8 BattleScript_WrapTurnDmg[];
+extern const u8 BattleScript_WrapEnds[];
+extern const u8 BattleScript_MoveUsedIsInLove[];
+extern const u8 BattleScript_MoveUsedIsParalyzedCantAttack[];
+extern const u8 BattleScript_NightmareTurnDmg[];
+extern const u8 BattleScript_CurseTurnDmg[];
+extern const u8 BattleScript_TargetPRLZHeal[];
+extern const u8 BattleScript_MoveEffectSleep[];
+extern const u8 BattleScript_82DB374[];
+extern const u8 BattleScript_YawnMakesAsleep[];
+extern const u8 BattleScript_MoveEffectPoison[];
+extern const u8 BattleScript_MoveEffectBurn[];
+extern const u8 BattleScript_MoveEffectFreeze[];
+extern const u8 BattleScript_MoveEffectParalysis[];
+extern const u8 BattleScript_MoveEffectUproar[];
+extern const u8 BattleScript_MoveEffectToxic[];
+extern const u8 BattleScript_MoveEffectPayDay[];
+extern const u8 BattleScript_MoveEffectWrap[];
+extern const u8 BattleScript_MoveEffectConfusion[];
+extern const u8 BattleScript_MoveEffectRecoil33[];
+extern const u8 BattleScript_82DB407[];
+extern const u8 BattleScript_82DB421[];
+extern const u8 BattleScript_ItemSteal[];
+extern const u8 BattleScript_DrizzleActivates[];
+extern const u8 BattleScript_SpeedBoostActivates[];
+extern const u8 BattleScript_TraceActivates[];
+extern const u8 BattleScript_RainDishActivates[];
+extern const u8 BattleScript_SandstreamActivates[];
+extern const u8 BattleScript_ShedSkinActivates[];
+extern const u8 BattleScript_82DB48D[];
+extern const u8 BattleScript_82DB493[];
+extern const u8 BattleScript_CastformChange[];
+extern const u8 BattleScript_82DB4AF[];
+extern const u8 BattleScript_82DB4B8[];
+extern const u8 BattleScript_82DB4BE[];
+extern const u8 BattleScript_82DB4C1[];
+extern const u8 BattleScript_82DB4CD[];
+extern const u8 BattleScript_82DB510[];
+extern const u8 BattleScript_82DB51B[];
+extern const u8 BattleScript_82DB51C[];
+extern const u8 BattleScript_DroughtActivates[];
+extern const u8 BattleScript_TookAttack[];
+extern const u8 BattleScript_SturdyPreventsOHKO[];
+extern const u8 BattleScript_DampStopsExplosion[];
+extern const u8 BattleScript_MoveHPDrain_PPLoss[];
+extern const u8 BattleScript_MoveHPDrain[];
+extern const u8 BattleScript_82DB591[];
+extern const u8 BattleScript_82DB592[];
+extern const u8 BattleScript_FlashFireBoost_PPLoss[];
+extern const u8 BattleScript_FlashFireBoost[];
+extern const u8 BattleScript_82DB5B9[];
+extern const u8 BattleScript_AbilityNoStatLoss[];
+extern const u8 BattleScript_BRNPrevention[];
+extern const u8 BattleScript_PRLZPrevention[];
+extern const u8 BattleScript_PSNPrevention[];
+extern const u8 BattleScript_ObliviousPreventsAttraction[];
+extern const u8 BattleScript_FlinchPrevention[];
+extern const u8 BattleScript_82DB611[];
+extern const u8 BattleScript_SoundproofProtected[];
+extern const u8 BattleScript_AbilityNoSpecificStatLoss[];
+extern const u8 BattleScript_StickyHoldActivates[];
+extern const u8 BattleScript_ColorChangeActivates[];
+extern const u8 BattleScript_RoughSkinActivates[];
+extern const u8 BattleScript_CuteCharmActivates[];
+extern const u8 BattleScript_ApplySecondaryEffect[];
+extern const u8 BattleScript_SynchronizeActivates[];
+extern const u8 BattleScript_NoItemSteal[];
+extern const u8 BattleScript_82DB68C[];
+extern const u8 BattleScript_82DB695[];
+extern const u8 BattleScript_82DB6A5[];
+extern const u8 BattleScript_MoveUsedLoafingAround[];
+extern const u8 BattleScript_82DB6C7[];
+extern const u8 BattleScript_82DB6D9[];
+extern const u8 BattleScript_82DB6F0[];
+extern const u8 BattleScript_SubstituteFade[];
+extern const u8 BattleScript_BerryCurePrlzEnd2[];
+extern const u8 BattleScript_BerryCureParRet[];
+extern const u8 BattleScript_BerryCurePsnEnd2[];
+extern const u8 BattleScript_BerryCurePsnRet[];
+extern const u8 BattleScript_BerryCureBrnEnd2[];
+extern const u8 BattleScript_BerryCureBrnRet[];
+extern const u8 BattleScript_BerryCureFrzEnd2[];
+extern const u8 BattleScript_BerryCureFrzRet[];
+extern const u8 BattleScript_BerryCureSlpEnd2[];
+extern const u8 BattleScript_BerryCureSlpRet[];
+extern const u8 BattleScript_BerryCureConfusionEnd2[];
+extern const u8 BattleScript_BerryCureConfusionRet[];
+extern const u8 BattleScript_BerryCureChosenStatusEnd2[];
+extern const u8 BattleScript_BerryCureChosenStatusRet[];
+extern const u8 BattleScript_WhiteHerbEnd2[];
+extern const u8 BattleScript_WhiteHerbRet[];
+extern const u8 BattleScript_ItemHealHP_RemoveItem[];
+extern const u8 BattleScript_BerryPPHealEnd2[];
+extern const u8 BattleScript_ItemHealHP_End2[];
+extern const u8 BattleScript_ItemHealHP_Ret[];
+extern const u8 BattleScript_82DB812[];
+extern const u8 BattleScript_HangedOnMsg[];
+extern const u8 BattleScript_BerryConfuseHealEnd2[];
+extern const u8 BattleScript_BerryStatRaiseEnd2[];
+extern const u8 BattleScript_82DB85B[];
+extern const u8 BattleScript_BerryFocusEnergyEnd2[];
+extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
+extern const u8 BattleScript_82DB87D[];
+extern const u8 BattleScript_82DB881[];
+extern const u8 BattleScript_82DB887[];
+extern const u8 BattleScript_82DB89D[];
+extern const u8 BattleScript_82DB8BE[];
+extern const u8 BattleScript_82DB8E0[];
+extern const u8 BattleScript_82DB8F3[];
+extern const u8 BattleScript_82DB973[];
+extern const u8 BattleScript_82DB992[];
+extern const u8 BattleScript_82DB9BA[];
+extern const u8 BattleScript_82DB9C1[];
+extern const u8 BattleScript_82DB9C8[];
+extern const u8 BattleScript_82DBD68[];
+extern const u8 BattleScript_82DBD7A[];
+extern const u8 BattleScript_82DBD7E[];
+extern const u8 BattleScript_SuccessBallThrow[];
+extern const u8 BattleScript_82DBD92[];
+extern const u8 BattleScript_82DBDA5[];
+extern const u8 BattleScript_82DBDC2[];
+extern const u8 BattleScript_82DBDC3[];
+extern const u8 BattleScript_WallyBallThrow[];
+extern const u8 BattleScript_ShakeBallThrow[];
+extern const u8 BattleScript_82DBE01[];
+extern const u8 BattleScript_TrainerBallBlock[];
+extern const u8 BattleScript_82DBE12[];
+extern const u8 BattleScript_82DBE1C[];
+extern const u8 BattleScript_82DBE4B[];
+extern const u8 BattleScript_82DBE6F[];
+extern const u8 BattleScript_82DBE91[];
+extern const u8 BattleScript_RunByUsingItem[];
+extern const u8 BattleScript_82DBEBD[];
+extern const u8 BattleScript_82DBEC4[];
+extern const u8 BattleScript_82DBECD[];
+extern const u8 BattleScript_82DBEE3[];
+
+#endif // GUARD_BATTLE_SCRIPTS_H
diff --git a/src/battle_2.c b/src/battle_2.c
index 2be6f9d77..d7f051272 100644
--- a/src/battle_2.c
+++ b/src/battle_2.c
@@ -6,6 +6,7 @@
#include "gpu_regs.h"
#include "unknown_task.h"
#include "battle_setup.h"
+#include "battle_scripts.h"
#include "pokemon.h"
#include "palette.h"
#include "task.h"
@@ -178,31 +179,6 @@ extern const u8 gText_Ice[];
extern const u8 gText_Confusion[];
extern const u8 gText_Love[];
-// battlescripts
-extern const u8 gUnknown_082DB8BE[];
-extern const u8 gUnknown_082DB881[];
-extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
-extern const u8 gUnknown_082DAB11[];
-extern const u8 gUnknown_082DB9BA[];
-extern const u8 gUnknown_082DAAFE[];
-extern const u8 gUnknown_082DAB0B[];
-extern const u8 BattleScript_FocusPunchSetUp[];
-extern const u8 BattleScript_LinkBattleWonOrLost[];
-extern const u8 BattleScript_FrontierTrainerBattleWon[];
-extern const u8 BattleScript_LocalTrainerBattleWon[];
-extern const u8 BattleScript_PayDayMoneyAndPickUpItems[];
-extern const u8 BattleScript_LocalBattleLost[];
-extern const u8 gUnknown_082DB9C8[];
-extern const u8 gUnknown_082DAA0B[];
-extern const u8 gUnknown_082DB9C1[];
-extern const u8 BattleScript_RanAwayUsingMonAbility[];
-extern const u8 BattleScript_SmokeBallEscape[];
-extern const u8 BattleScript_GotAwaySafely[];
-extern const u8 BattleScript_WildMonFled[];
-extern const u8 BattleScript_MoveUsedLoafingAround[];
-extern const u8 BattleScript_ActionSwitch[];
-extern const u8 BattleScript_PrintFailedToRunString[];
-
// functions
extern void dp12_8087EA4(void);
extern void sub_80356D0(void);
@@ -3704,7 +3680,7 @@ static void TryDoEventsBeforeFirstTurn(void)
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
{
StopCryAndClearCrySongs();
- BattleScriptExecute(gUnknown_082DB8BE);
+ BattleScriptExecute(BattleScript_82DB8BE);
}
}
@@ -3792,9 +3768,9 @@ void BattleTurnPassed(void)
gRandomTurnNumber = Random();
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
- BattleScriptExecute(gUnknown_082DB881);
+ BattleScriptExecute(BattleScript_82DB881);
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0)
- BattleScriptExecute(gUnknown_082DB8BE);
+ BattleScriptExecute(BattleScript_82DB8BE);
}
u8 IsRunningFromBattleImpossible(void)
@@ -4052,7 +4028,7 @@ static void HandleTurnActionSelectionState(void)
case ACTION_SAFARI_ZONE_BALL:
if (IsPlayerPartyAndPokemonStorageFull())
{
- gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAB11;
+ gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DAB11;
gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT;
*(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE;
*(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN;
@@ -4107,7 +4083,7 @@ static void HandleTurnActionSelectionState(void)
&& gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000)
&& gBattleBufferB[gActiveBank][1] == ACTION_RUN)
{
- gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB9BA;
+ gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB9BA;
gBattleCommunication[gActiveBank] = 8;
*(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE;
*(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN;
@@ -4117,13 +4093,13 @@ static void HandleTurnActionSelectionState(void)
&& !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
&& gBattleBufferB[gActiveBank][1] == ACTION_RUN)
{
- BattleScriptExecute(gUnknown_082DAAFE);
+ BattleScriptExecute(BattleScript_82DAAFE);
gBattleCommunication[gActiveBank] = 1;
}
else if (IsRunningFromBattleImpossible() != 0
&& gBattleBufferB[gActiveBank][1] == ACTION_RUN)
{
- gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAB0B;
+ gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DAB0B;
gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT;
*(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE;
*(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN;
@@ -4811,13 +4787,13 @@ static void HandleEndTurn_BattleLost(void)
{
if (gBattleOutcome & BATTLE_OUTCOME_BIT_x80)
{
- gBattlescriptCurrInstr = gUnknown_082DB9C8;
+ gBattlescriptCurrInstr = BattleScript_82DB9C8;
gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80);
gSaveBlock2Ptr->field_CA9_b = 1;
}
else
{
- gBattlescriptCurrInstr = gUnknown_082DAA0B;
+ gBattlescriptCurrInstr = BattleScript_82DAA0B;
gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80);
}
}
@@ -4843,13 +4819,13 @@ static void HandleEndTurn_RanFromBattle(void)
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER && gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
- gBattlescriptCurrInstr = gUnknown_082DB9C1;
+ gBattlescriptCurrInstr = BattleScript_82DB9C1;
gBattleOutcome = BATTLE_FORFEITED;
gSaveBlock2Ptr->field_CA9_b = 1;
}
else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
{
- gBattlescriptCurrInstr = gUnknown_082DB9C1;
+ gBattlescriptCurrInstr = BattleScript_82DB9C1;
gBattleOutcome = BATTLE_FORFEITED;
}
else
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index 423d34d45..5758aba87 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -82,7 +82,7 @@ static void LinkOpponentHandleBallThrowAnim(void);
static void LinkOpponentHandlePause(void);
static void LinkOpponentHandleMoveAnimation(void);
static void LinkOpponentHandlePrintString(void);
-static void LinkOpponentHandlePrintStringPlayerOnly(void);
+static void LinkOpponentHandlePrintSelectionString(void);
static void LinkOpponentHandleChooseAction(void);
static void LinkOpponentHandleUnknownYesNoBox(void);
static void LinkOpponentHandleChooseMove(void);
@@ -108,7 +108,7 @@ static void LinkOpponentHandleCmd39(void);
static void LinkOpponentHandleCmd40(void);
static void LinkOpponentHandleHitAnimation(void);
static void LinkOpponentHandleCmd42(void);
-static void LinkOpponentHandleEffectivenessSound(void);
+static void LinkOpponentHandlePlaySE(void);
static void LinkOpponentHandlePlayFanfareOrBGM(void);
static void LinkOpponentHandleFaintingCry(void);
static void LinkOpponentHandleIntroSlide(void);
@@ -154,7 +154,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
LinkOpponentHandlePause,
LinkOpponentHandleMoveAnimation,
LinkOpponentHandlePrintString,
- LinkOpponentHandlePrintStringPlayerOnly,
+ LinkOpponentHandlePrintSelectionString,
LinkOpponentHandleChooseAction,
LinkOpponentHandleUnknownYesNoBox,
LinkOpponentHandleChooseMove,
@@ -180,7 +180,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
LinkOpponentHandleCmd40,
LinkOpponentHandleHitAnimation,
LinkOpponentHandleCmd42,
- LinkOpponentHandleEffectivenessSound,
+ LinkOpponentHandlePlaySE,
LinkOpponentHandlePlayFanfareOrBGM,
LinkOpponentHandleFaintingCry,
LinkOpponentHandleIntroSlide,
@@ -1505,7 +1505,7 @@ static void LinkOpponentHandlePrintString(void)
sub_817C95C(*stringId);
}
-static void LinkOpponentHandlePrintStringPlayerOnly(void)
+static void LinkOpponentHandlePrintSelectionString(void)
{
LinkOpponentBufferExecCompleted();
}
@@ -1681,7 +1681,7 @@ static void LinkOpponentHandleCmd42(void)
LinkOpponentBufferExecCompleted();
}
-static void LinkOpponentHandleEffectivenessSound(void)
+static void LinkOpponentHandlePlaySE(void)
{
s8 pan;
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index e3bee98d9..1af6da1cd 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -78,7 +78,7 @@ static void LinkPartnerHandleBallThrowAnim(void);
static void LinkPartnerHandlePause(void);
static void LinkPartnerHandleMoveAnimation(void);
static void LinkPartnerHandlePrintString(void);
-static void LinkPartnerHandlePrintStringPlayerOnly(void);
+static void LinkPartnerHandlePrintSelectionString(void);
static void LinkPartnerHandleChooseAction(void);
static void LinkPartnerHandleUnknownYesNoBox(void);
static void LinkPartnerHandleChooseMove(void);
@@ -104,7 +104,7 @@ static void LinkPartnerHandleCmd39(void);
static void LinkPartnerHandleCmd40(void);
static void LinkPartnerHandleHitAnimation(void);
static void LinkPartnerHandleCmd42(void);
-static void LinkPartnerHandleEffectivenessSound(void);
+static void LinkPartnerHandlePlaySE(void);
static void LinkPartnerHandlePlayFanfareOrBGM(void);
static void LinkPartnerHandleFaintingCry(void);
static void LinkPartnerHandleIntroSlide(void);
@@ -149,7 +149,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
LinkPartnerHandlePause,
LinkPartnerHandleMoveAnimation,
LinkPartnerHandlePrintString,
- LinkPartnerHandlePrintStringPlayerOnly,
+ LinkPartnerHandlePrintSelectionString,
LinkPartnerHandleChooseAction,
LinkPartnerHandleUnknownYesNoBox,
LinkPartnerHandleChooseMove,
@@ -175,7 +175,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
LinkPartnerHandleCmd40,
LinkPartnerHandleHitAnimation,
LinkPartnerHandleCmd42,
- LinkPartnerHandleEffectivenessSound,
+ LinkPartnerHandlePlaySE,
LinkPartnerHandlePlayFanfareOrBGM,
LinkPartnerHandleFaintingCry,
LinkPartnerHandleIntroSlide,
@@ -1327,7 +1327,7 @@ static void LinkPartnerHandlePrintString(void)
sub_817C95C(*stringId);
}
-static void LinkPartnerHandlePrintStringPlayerOnly(void)
+static void LinkPartnerHandlePrintSelectionString(void)
{
LinkPartnerBufferExecCompleted();
}
@@ -1503,7 +1503,7 @@ static void LinkPartnerHandleCmd42(void)
LinkPartnerBufferExecCompleted();
}
-static void LinkPartnerHandleEffectivenessSound(void)
+static void LinkPartnerHandlePlaySE(void)
{
s8 pan;
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 0aac4cbe4..d69de8c29 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -83,7 +83,7 @@ static void OpponentHandleBallThrow(void);
static void OpponentHandlePause(void);
static void OpponentHandleMoveAnimation(void);
static void OpponentHandlePrintString(void);
-static void OpponentHandlePrintStringPlayerOnly(void);
+static void OpponentHandlePrintSelectionString(void);
static void OpponentHandleChooseAction(void);
static void OpponentHandleUnknownYesNoBox(void);
static void OpponentHandleChooseMove(void);
@@ -109,7 +109,7 @@ static void OpponentHandleCmd39(void);
static void OpponentHandleCmd40(void);
static void OpponentHandleHitAnimation(void);
static void OpponentHandleCmd42(void);
-static void OpponentHandleEffectivenessSound(void);
+static void OpponentHandlePlaySE(void);
static void OpponentHandlePlayFanfareOrBGM(void);
static void OpponentHandleFaintingCry(void);
static void OpponentHandleIntroSlide(void);
@@ -155,7 +155,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
OpponentHandlePause,
OpponentHandleMoveAnimation,
OpponentHandlePrintString,
- OpponentHandlePrintStringPlayerOnly,
+ OpponentHandlePrintSelectionString,
OpponentHandleChooseAction,
OpponentHandleUnknownYesNoBox,
OpponentHandleChooseMove,
@@ -181,7 +181,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
OpponentHandleCmd40,
OpponentHandleHitAnimation,
OpponentHandleCmd42,
- OpponentHandleEffectivenessSound,
+ OpponentHandlePlaySE,
OpponentHandlePlayFanfareOrBGM,
OpponentHandleFaintingCry,
OpponentHandleIntroSlide,
@@ -1537,7 +1537,7 @@ static void OpponentHandlePrintString(void)
sub_81A57E4(gActiveBank, *stringId);
}
-static void OpponentHandlePrintStringPlayerOnly(void)
+static void OpponentHandlePrintSelectionString(void)
{
OpponentBufferExecCompleted();
}
@@ -1826,7 +1826,7 @@ static void OpponentHandleCmd42(void)
OpponentBufferExecCompleted();
}
-static void OpponentHandleEffectivenessSound(void)
+static void OpponentHandlePlaySE(void)
{
s8 pan;
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 16c62c53b..7ea2abccf 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -102,7 +102,7 @@ static void PlayerHandleBallThrowAnim(void);
static void PlayerHandlePause(void);
static void PlayerHandleMoveAnimation(void);
static void PlayerHandlePrintString(void);
-static void PlayerHandlePrintStringPlayerOnly(void);
+static void PlayerHandlePrintSelectionString(void);
static void PlayerHandleChooseAction(void);
static void PlayerHandleUnknownYesNoBox(void);
static void PlayerHandleChooseMove(void);
@@ -128,7 +128,7 @@ static void PlayerHandleCmd39(void);
static void PlayerHandleCmd40(void);
static void PlayerHandleHitAnimation(void);
static void PlayerHandleCmd42(void);
-static void PlayerHandleEffectivenessSound(void);
+static void PlayerHandlePlaySE(void);
static void PlayerHandlePlayFanfareOrBGM(void);
static void PlayerHandleFaintingCry(void);
static void PlayerHandleIntroSlide(void);
@@ -189,7 +189,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
PlayerHandlePause,
PlayerHandleMoveAnimation,
PlayerHandlePrintString,
- PlayerHandlePrintStringPlayerOnly,
+ PlayerHandlePrintSelectionString,
PlayerHandleChooseAction,
PlayerHandleUnknownYesNoBox,
PlayerHandleChooseMove,
@@ -215,7 +215,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
PlayerHandleCmd40,
PlayerHandleHitAnimation,
PlayerHandleCmd42,
- PlayerHandleEffectivenessSound,
+ PlayerHandlePlaySE,
PlayerHandlePlayFanfareOrBGM,
PlayerHandleFaintingCry,
PlayerHandleIntroSlide,
@@ -2576,7 +2576,7 @@ static void PlayerHandlePrintString(void)
sub_81A57E4(gActiveBank, *stringId);
}
-static void PlayerHandlePrintStringPlayerOnly(void)
+static void PlayerHandlePrintSelectionString(void)
{
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
PlayerHandlePrintString();
@@ -2913,7 +2913,7 @@ static void PlayerHandleCmd42(void)
PlayerBufferExecCompleted();
}
-static void PlayerHandleEffectivenessSound(void)
+static void PlayerHandlePlaySE(void)
{
s8 pan;
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index 0cd34442a..4cca5c002 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -78,7 +78,7 @@ static void PlayerPartnerHandleBallThrowAnim(void);
static void PlayerPartnerHandlePause(void);
static void PlayerPartnerHandleMoveAnimation(void);
static void PlayerPartnerHandlePrintString(void);
-static void PlayerPartnerHandlePrintStringPlayerOnly(void);
+static void PlayerPartnerHandlePrintSelectionString(void);
static void PlayerPartnerHandleChooseAction(void);
static void PlayerPartnerHandleUnknownYesNoBox(void);
static void PlayerPartnerHandleChooseMove(void);
@@ -104,7 +104,7 @@ static void PlayerPartnerHandleCmd39(void);
static void PlayerPartnerHandleCmd40(void);
static void PlayerPartnerHandleHitAnimation(void);
static void PlayerPartnerHandleCmd42(void);
-static void PlayerPartnerHandleEffectivenessSound(void);
+static void PlayerPartnerHandlePlaySE(void);
static void PlayerPartnerHandlePlayFanfareOrBGM(void);
static void PlayerPartnerHandleFaintingCry(void);
static void PlayerPartnerHandleIntroSlide(void);
@@ -155,7 +155,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
PlayerPartnerHandlePause,
PlayerPartnerHandleMoveAnimation,
PlayerPartnerHandlePrintString,
- PlayerPartnerHandlePrintStringPlayerOnly,
+ PlayerPartnerHandlePrintSelectionString,
PlayerPartnerHandleChooseAction,
PlayerPartnerHandleUnknownYesNoBox,
PlayerPartnerHandleChooseMove,
@@ -181,7 +181,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
PlayerPartnerHandleCmd40,
PlayerPartnerHandleHitAnimation,
PlayerPartnerHandleCmd42,
- PlayerPartnerHandleEffectivenessSound,
+ PlayerPartnerHandlePlaySE,
PlayerPartnerHandlePlayFanfareOrBGM,
PlayerPartnerHandleFaintingCry,
PlayerPartnerHandleIntroSlide,
@@ -1519,7 +1519,7 @@ static void PlayerPartnerHandlePrintString(void)
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter2;
}
-static void PlayerPartnerHandlePrintStringPlayerOnly(void)
+static void PlayerPartnerHandlePrintSelectionString(void)
{
PlayerPartnerBufferExecCompleted();
}
@@ -1756,7 +1756,7 @@ static void PlayerPartnerHandleCmd42(void)
PlayerPartnerBufferExecCompleted();
}
-static void PlayerPartnerHandleEffectivenessSound(void)
+static void PlayerPartnerHandlePlaySE(void)
{
s8 pan;
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index b55d644ac..027230be4 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -81,7 +81,7 @@ static void RecordedOpponentHandleBallThrowAnim(void);
static void RecordedOpponentHandlePause(void);
static void RecordedOpponentHandleMoveAnimation(void);
static void RecordedOpponentHandlePrintString(void);
-static void RecordedOpponentHandlePrintStringPlayerOnly(void);
+static void RecordedOpponentHandlePrintSelectionString(void);
static void RecordedOpponentHandleChooseAction(void);
static void RecordedOpponentHandleUnknownYesNoBox(void);
static void RecordedOpponentHandleChooseMove(void);
@@ -107,7 +107,7 @@ static void RecordedOpponentHandleCmd39(void);
static void RecordedOpponentHandleCmd40(void);
static void RecordedOpponentHandleHitAnimation(void);
static void RecordedOpponentHandleCmd42(void);
-static void RecordedOpponentHandleEffectivenessSound(void);
+static void RecordedOpponentHandlePlaySE(void);
static void RecordedOpponentHandlePlayFanfareOrBGM(void);
static void RecordedOpponentHandleFaintingCry(void);
static void RecordedOpponentHandleIntroSlide(void);
@@ -153,7 +153,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void
RecordedOpponentHandlePause,
RecordedOpponentHandleMoveAnimation,
RecordedOpponentHandlePrintString,
- RecordedOpponentHandlePrintStringPlayerOnly,
+ RecordedOpponentHandlePrintSelectionString,
RecordedOpponentHandleChooseAction,
RecordedOpponentHandleUnknownYesNoBox,
RecordedOpponentHandleChooseMove,
@@ -179,7 +179,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void
RecordedOpponentHandleCmd40,
RecordedOpponentHandleHitAnimation,
RecordedOpponentHandleCmd42,
- RecordedOpponentHandleEffectivenessSound,
+ RecordedOpponentHandlePlaySE,
RecordedOpponentHandlePlayFanfareOrBGM,
RecordedOpponentHandleFaintingCry,
RecordedOpponentHandleIntroSlide,
@@ -1435,7 +1435,7 @@ static void RecordedOpponentHandlePrintString(void)
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter;
}
-static void RecordedOpponentHandlePrintStringPlayerOnly(void)
+static void RecordedOpponentHandlePrintSelectionString(void)
{
RecordedOpponentBufferExecCompleted();
}
@@ -1625,7 +1625,7 @@ static void RecordedOpponentHandleCmd42(void)
RecordedOpponentBufferExecCompleted();
}
-static void RecordedOpponentHandleEffectivenessSound(void)
+static void RecordedOpponentHandlePlaySE(void)
{
s8 pan;
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index 78e7497a5..f5f3ab3c0 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -81,7 +81,7 @@ static void RecordedPlayerHandleBallThrowAnim(void);
static void RecordedPlayerHandlePause(void);
static void RecordedPlayerHandleMoveAnimation(void);
static void RecordedPlayerHandlePrintString(void);
-static void RecordedPlayerHandlePrintStringPlayerOnly(void);
+static void RecordedPlayerHandlePrintSelectionString(void);
static void RecordedPlayerHandleChooseAction(void);
static void RecordedPlayerHandleUnknownYesNoBox(void);
static void RecordedPlayerHandleChooseMove(void);
@@ -107,7 +107,7 @@ static void RecordedPlayerHandleCmd39(void);
static void RecordedPlayerHandleCmd40(void);
static void RecordedPlayerHandleHitAnimation(void);
static void RecordedPlayerHandleCmd42(void);
-static void RecordedPlayerHandleEffectivenessSound(void);
+static void RecordedPlayerHandlePlaySE(void);
static void RecordedPlayerHandlePlayFanfareOrBGM(void);
static void RecordedPlayerHandleFaintingCry(void);
static void RecordedPlayerHandleIntroSlide(void);
@@ -152,7 +152,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void)
RecordedPlayerHandlePause,
RecordedPlayerHandleMoveAnimation,
RecordedPlayerHandlePrintString,
- RecordedPlayerHandlePrintStringPlayerOnly,
+ RecordedPlayerHandlePrintSelectionString,
RecordedPlayerHandleChooseAction,
RecordedPlayerHandleUnknownYesNoBox,
RecordedPlayerHandleChooseMove,
@@ -178,7 +178,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void)
RecordedPlayerHandleCmd40,
RecordedPlayerHandleHitAnimation,
RecordedPlayerHandleCmd42,
- RecordedPlayerHandleEffectivenessSound,
+ RecordedPlayerHandlePlaySE,
RecordedPlayerHandlePlayFanfareOrBGM,
RecordedPlayerHandleFaintingCry,
RecordedPlayerHandleIntroSlide,
@@ -1437,7 +1437,7 @@ static void RecordedPlayerHandlePrintString(void)
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter;
}
-static void RecordedPlayerHandlePrintStringPlayerOnly(void)
+static void RecordedPlayerHandlePrintSelectionString(void)
{
RecordedPlayerBufferExecCompleted();
}
@@ -1644,7 +1644,7 @@ static void RecordedPlayerHandleCmd42(void)
RecordedPlayerBufferExecCompleted();
}
-static void RecordedPlayerHandleEffectivenessSound(void)
+static void RecordedPlayerHandlePlaySE(void)
{
s8 pan;
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index a4f35bed1..635f5fef1 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -66,7 +66,7 @@ static void SafariHandleBallThrowAnim(void);
static void SafariHandlePause(void);
static void SafariHandleMoveAnimation(void);
static void SafariHandlePrintString(void);
-static void SafariHandlePrintStringPlayerOnly(void);
+static void SafariHandlePrintSelectionString(void);
static void SafariHandleChooseAction(void);
static void SafariHandleUnknownYesNoBox(void);
static void SafariHandleChooseMove(void);
@@ -92,7 +92,7 @@ static void SafariHandleCmd39(void);
static void SafariHandleCmd40(void);
static void SafariHandleHitAnimation(void);
static void SafariHandleCmd42(void);
-static void SafariHandleEffectivenessSound(void);
+static void SafariHandlePlaySE(void);
static void SafariHandlePlayFanfareOrBGM(void);
static void SafariHandleFaintingCry(void);
static void SafariHandleIntroSlide(void);
@@ -130,7 +130,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
SafariHandlePause,
SafariHandleMoveAnimation,
SafariHandlePrintString,
- SafariHandlePrintStringPlayerOnly,
+ SafariHandlePrintSelectionString,
SafariHandleChooseAction,
SafariHandleUnknownYesNoBox,
SafariHandleChooseMove,
@@ -156,7 +156,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
SafariHandleCmd40,
SafariHandleHitAnimation,
SafariHandleCmd42,
- SafariHandleEffectivenessSound,
+ SafariHandlePlaySE,
SafariHandlePlayFanfareOrBGM,
SafariHandleFaintingCry,
SafariHandleIntroSlide,
@@ -449,7 +449,7 @@ static void SafariHandlePrintString(void)
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter;
}
-static void SafariHandlePrintStringPlayerOnly(void)
+static void SafariHandlePrintSelectionString(void)
{
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
SafariHandlePrintString();
@@ -607,7 +607,7 @@ static void SafariHandleCmd42(void)
SafariBufferExecCompleted();
}
-static void SafariHandleEffectivenessSound(void)
+static void SafariHandlePlaySE(void)
{
s8 pan;
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index 4dac1d264..442e32cca 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -86,7 +86,7 @@ static void WallyHandleBallThrowAnim(void);
static void WallyHandlePause(void);
static void WallyHandleMoveAnimation(void);
static void WallyHandlePrintString(void);
-static void WallyHandlePrintStringPlayerOnly(void);
+static void WallyHandlePrintSelectionString(void);
static void WallyHandleChooseAction(void);
static void WallyHandleUnknownYesNoBox(void);
static void WallyHandleChooseMove(void);
@@ -112,7 +112,7 @@ static void WallyHandleCmd39(void);
static void WallyHandleCmd40(void);
static void WallyHandleHitAnimation(void);
static void WallyHandleCmd42(void);
-static void WallyHandleEffectivenessSound(void);
+static void WallyHandlePlaySE(void);
static void WallyHandlePlayFanfareOrBGM(void);
static void WallyHandleFaintingCry(void);
static void WallyHandleIntroSlide(void);
@@ -155,7 +155,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
WallyHandlePause,
WallyHandleMoveAnimation,
WallyHandlePrintString,
- WallyHandlePrintStringPlayerOnly,
+ WallyHandlePrintSelectionString,
WallyHandleChooseAction,
WallyHandleUnknownYesNoBox,
WallyHandleChooseMove,
@@ -181,7 +181,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
WallyHandleCmd40,
WallyHandleHitAnimation,
WallyHandleCmd42,
- WallyHandleEffectivenessSound,
+ WallyHandlePlaySE,
WallyHandlePlayFanfareOrBGM,
WallyHandleFaintingCry,
WallyHandleIntroSlide,
@@ -1211,7 +1211,7 @@ static void WallyHandlePrintString(void)
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter;
}
-static void WallyHandlePrintStringPlayerOnly(void)
+static void WallyHandlePrintSelectionString(void)
{
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
WallyHandlePrintString();
@@ -1419,7 +1419,7 @@ static void WallyHandleCmd42(void)
WallyBufferExecCompleted();
}
-static void WallyHandleEffectivenessSound(void)
+static void WallyHandlePlaySE(void)
{
PlaySE(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
WallyBufferExecCompleted();
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index 858540a9f..ed48ec5d9 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -1140,10 +1140,10 @@ void EmitPrintString(u8 bufferId, u16 stringID)
PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, sizeof(struct StringInfoBattle) + 4);
}
-void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringID)
+void EmitPrintSelectionString(u8 bufferId, u16 stringID)
{
s32 i;
- struct StringInfoBattle* stringInfo;
+ struct StringInfoBattle *stringInfo;
gBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY;
gBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY;
@@ -1427,7 +1427,7 @@ void EmitCmd42(u8 bufferId)
PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4);
}
-void EmitEffectivenessSound(u8 bufferId, u16 songId)
+void EmitPlaySE(u8 bufferId, u16 songId)
{
gBattleBuffersTransferData[0] = CONTROLLER_EFFECTIVENESSSOUND;
gBattleBuffersTransferData[1] = songId;
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 6409ff56e..e0a61a612 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -3,6 +3,7 @@
#include "battle_move_effects.h"
#include "battle_message.h"
#include "battle_ai_script_commands.h"
+#include "battle_scripts.h"
#include "moves.h"
#include "abilities.h"
#include "item.h"
@@ -146,88 +147,6 @@ extern u8 sub_813B21C(void);
extern u16 get_unknown_box_id(void);
extern void sub_80356D0(void);
-// BattleScripts
-extern const u8 BattleScript_MoveEnd[];
-extern const u8 BattleScript_NoPPForMove[];
-extern const u8 BattleScript_MagicCoatBounce[];
-extern const u8 BattleScript_TookAttack[];
-extern const u8 BattleScript_SnatchedMove[];
-extern const u8 BattleScript_Pausex20[];
-extern const u8 BattleScript_SubstituteFade[];
-extern const u8 BattleScript_HangedOnMsg[];
-extern const u8 BattleScript_OneHitKOMsg[];
-extern const u8 BattleScript_EnduredMsg[];
-extern const u8 BattleScript_PSNPrevention[];
-extern const u8 BattleScript_BRNPrevention[];
-extern const u8 BattleScript_PRLZPrevention[];
-extern const u8 BattleScript_FlinchPrevention[];
-extern const u8 BattleScript_StatUp[];
-extern const u8 BattleScript_StatDown[];
-extern const u8 BattleScript_NoItemSteal[];
-extern const u8 BattleScript_ItemSteal[];
-extern const u8 BattleScript_RapidSpinAway[];
-extern const u8 BattleScript_TargetPRLZHeal[];
-extern const u8 BattleScript_KnockedOff[];
-extern const u8 BattleScript_StickyHoldActivates[];
-extern const u8 BattleScript_AllStatsUp[];
-extern const u8 BattleScript_AtkDefDown[];
-extern const u8 BattleScript_SAtkDown2[];
-extern const u8 BattleScript_LevelUp[];
-extern const u8 BattleScript_WrapFree[];
-extern const u8 BattleScript_LeechSeedFree[];
-extern const u8 BattleScript_SpikesFree[];
-extern const u8 BattleScript_ButItFailed[];
-extern const u8 BattleScript_ObliviousPreventsAttraction[];
-extern const u8 BattleScript_MistProtected[];
-extern const u8 BattleScript_AbilityNoStatLoss[];
-extern const u8 BattleScript_AbilityNoSpecificStatLoss[];
-extern const u8 BattleScript_TrainerBallBlock[];
-extern const u8 BattleScript_WallyBallThrow[];
-extern const u8 BattleScript_SuccessBallThrow[];
-extern const u8 BattleScript_ShakeBallThrow[];
-extern const u8 BattleScript_FaintAttacker[];
-extern const u8 BattleScript_FaintTarget[];
-extern const u8 BattleScript_DestinyBondTakesLife[];
-extern const u8 BattleScript_GrudgeTakesPp[];
-extern const u8 BattleScript_RageIsBuilding[];
-extern const u8 BattleScript_DefrostedViaFireMove[];
-extern const u8 gUnknown_082DB87D[];
-extern const u8 gUnknown_082DAE90[];
-extern const u8 gUnknown_082DAE59[];
-extern const u8 gUnknown_082DAEC7[];
-extern const u8 BattleScript_MoveEffectSleep[];
-extern const u8 BattleScript_MoveEffectPoison[];
-extern const u8 BattleScript_MoveEffectBurn[];
-extern const u8 BattleScript_MoveEffectFreeze[];
-extern const u8 BattleScript_MoveEffectParalysis[];
-extern const u8 BattleScript_MoveEffectToxic[];
-extern const u8 BattleScript_MoveEffectConfusion[];
-extern const u8 BattleScript_MoveEffectUproar[];
-extern const u8 BattleScript_MoveEffectPayDay[];
-extern const u8 BattleScript_MoveEffectWrap[];
-extern const u8 BattleScript_MoveEffectRecoil33[];
-extern const u8 BattleScript_DampStopsExplosion[];
-extern const u8 BattleScript_MistProtected[];
-extern const u8 BattleScript_AbilityNoStatLoss[];
-extern const u8 BattleScript_AbilityNoSpecificStatLoss[];
-extern const u8 BattleScript_ButItFailed[];
-extern const u8 gUnknown_082DADD8[];
-extern const u8 BattleScript_PrintPayDayMoneyString[];
-extern const u8 BattleScript_SturdyPreventsOHKO[];
-extern const u8 BattleScript_ObliviousPreventsAttraction[];
-extern const u8 BattleScript_PauseEffectivenessSoundResultMsgEndMove[];
-extern const u8 BattleScript_CastformChange[];
-extern const u8 BattleScript_TrainerBallBlock[];
-extern const u8 BattleScript_WallyBallThrow[];
-extern const u8 BattleScript_SuccessBallThrow[];
-extern const u8 BattleScript_ShakeBallThrow[];
-extern const u8 BattleScript_PresentDamageTarget[];
-extern const u8 BattleScript_AlreadyAtFullHp[];
-extern const u8 BattleScript_PresentHealTarget[];
-extern const u8 BattleScript_WrapFree[];
-extern const u8 BattleScript_LeechSeedFree[];
-extern const u8 BattleScript_SpikesFree[];
-
// strings
extern const u8 gText_BattleYesNoChoice[];
@@ -247,7 +166,7 @@ extern const u8 gText_BattleYesNoChoice[];
// this file's functions
static bool8 IsTwoTurnsMove(u16 move);
-static void DestinyBondFlagUpdate(void);
+static void TrySetDestinyBondToHappen(void);
static u8 AttacksThisTurn(u8 bank, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2.
static void CheckWonderGuardAndLevitate(void);
static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8* BS_ptr);
@@ -267,29 +186,29 @@ static void atk01_accuracycheck(void);
static void atk02_attackstring(void);
static void atk03_ppreduce(void);
static void atk04_critcalc(void);
-static void atk05_damagecalc1(void);
+static void atk05_damagecalc(void);
static void atk06_typecalc(void);
-static void atk07_dmg_adjustment(void);
-static void atk08_dmg_adjustment2(void);
+static void atk07_adjustnormaldamage(void);
+static void atk08_adjustnormaldamage2(void);
static void atk09_attackanimation(void);
static void atk0A_waitanimation(void);
static void atk0B_healthbarupdate(void);
static void atk0C_datahpupdate(void);
static void atk0D_critmessage(void);
-static void atk0E_effectiveness_sound(void);
+static void atk0E_effectivenesssound(void);
static void atk0F_resultmessage(void);
static void atk10_printstring(void);
-static void atk11_printstring_playeronly(void);
+static void atk11_printselectionstring(void);
static void atk12_waitmessage(void);
static void atk13_printfromtable(void);
-static void atk14_printfromtable_playeronly(void);
+static void atk14_printselectionstringfromtable(void);
static void atk15_seteffectwithchance(void);
static void atk16_seteffectprimary(void);
static void atk17_seteffectsecondary(void);
-static void atk18_status_effect_clear(void);
-static void atk19_faint_pokemon(void);
-static void atk1A_faint_animation(void);
-static void atk1B_faint_effects_clear(void);
+static void atk18_clearstatusfromeffect(void);
+static void atk19_tryfaintmon(void);
+static void atk1A_dofaintanimation(void);
+static void atk1B_cleareffectsonfaint(void);
static void atk1C_jumpifstatus(void);
static void atk1D_jumpifstatus2(void);
static void atk1E_jumpifability(void);
@@ -299,9 +218,9 @@ static void atk21_jumpifstatus3(void);
static void atk22_jumpiftype(void);
static void atk23_getexp(void);
static void atk24(void);
-static void atk25_move_values_cleanup(void);
-static void atk26_set_multihit(void);
-static void atk27_decrement_multihit(void);
+static void atk25_movevaluescleanup(void);
+static void atk26_setmultihit(void);
+static void atk27_decrementmultihit(void);
static void atk28_goto(void);
static void atk29_jumpifbyte(void);
static void atk2A_jumpifhalfword(void);
@@ -312,7 +231,7 @@ static void atk2E_setbyte(void);
static void atk2F_addbyte(void);
static void atk30_subbyte(void);
static void atk31_copyarray(void);
-static void atk32_copyarray_withindex(void);
+static void atk32_copyarraywithindex(void);
static void atk33_orbyte(void);
static void atk34_orhalfword(void);
static void atk35_orword(void);
@@ -326,75 +245,75 @@ static void atk3C_return(void);
static void atk3D_end(void);
static void atk3E_end2(void);
static void atk3F_end3(void);
-static void atk40_jump_if_move_affected_by_protect(void);
+static void atk40_jumpifaffectedbyprotect(void);
static void atk41_call(void);
static void atk42_jumpiftype2(void);
static void atk43_jumpifabilitypresent(void);
-static void atk44_end_selection_script(void);
+static void atk44_endselectionscript(void);
static void atk45_playanimation(void);
static void atk46_playanimation2(void);
static void atk47_setgraphicalstatchangevalues(void);
static void atk48_playstatchangeanimation(void);
static void atk49_moveend(void);
static void atk4A_typecalc2(void);
-static void atk4B_return_atk_to_ball(void);
-static void atk4C_get_switched_mon_data(void);
-static void atk4D_switch_data_update(void);
-static void atk4E_switchin_anim(void);
-static void atk4F_jump_if_cannot_switch(void);
+static void atk4B_returnatktoball(void);
+static void atk4C_getswitchedmondata(void);
+static void atk4D_switchindataupdate(void);
+static void atk4E_switchinanim(void);
+static void atk4F_jumpifcantswitch(void);
static void atk50_openpartyscreen(void);
-static void atk51_switch_handle_order(void);
-static void atk52_switch_in_effects(void);
-static void atk53_trainer_slide(void);
-static void atk54_effectiveness_sound(void);
-static void atk55_play_fanfare(void);
-static void atk56_fainting_cry(void);
+static void atk51_switchhandleorder(void);
+static void atk52_switchineffects(void);
+static void atk53_trainerslidein(void);
+static void atk54_playse(void);
+static void atk55_fanfare(void);
+static void atk56_playfaintcry(void);
static void atk57(void);
-static void atk58_return_to_ball(void);
-static void atk59_learnmove_inbattle(void);
+static void atk58_returntoball(void);
+static void atk59_handlelearnnewmove(void);
static void atk5A_yesnoboxlearnmove(void);
static void atk5B_yesnoboxstoplearningmove(void);
static void atk5C_hitanimation(void);
static void atk5D_getmoneyreward(void);
-static void atk5E_8025A70(void);
-static void atk5F_8025B24(void);
-static void atk60_increment_gamestat(void);
-static void atk61_draw_party_status_summary(void);
-static void atk62_08025C6C(void);
+static void atk5E(void);
+static void atk5F(void);
+static void atk60_incrementgamestat(void);
+static void atk61_drawpartystatussummary(void);
+static void atk62(void);
static void atk63_jumptorandomattack(void);
static void atk64_statusanimation(void);
static void atk65_status2animation(void);
static void atk66_chosenstatusanimation(void);
static void atk67_yesnobox(void);
-static void atk68_cancel_everyones_actions(void);
-static void atk69_dmg_adjustment3(void);
+static void atk68_cancelallactions(void);
+static void atk69_adjustsetdamage(void);
static void atk6A_removeitem(void);
static void atk6B_atknameinbuff1(void);
-static void atk6C_draw_lvlupbox(void);
-static void atk6D_reset_sentpokes_value(void);
-static void atk6E_set_atk_to_player0(void);
-static void atk6F_set_visible(void);
-static void atk70_record_last_used_ability(void);
-static void atk71_buffer_move_to_learn(void);
-static void atk72_jump_if_run_attempt_success(void);
-static void atk73_hp_thresholds(void);
-static void atk74_hp_thresholds2(void);
-static void atk75_item_effect_on_opponent(void);
+static void atk6C_drawlvlupbox(void);
+static void atk6D_resetsentmonsvalue(void);
+static void atk6E_setatktoplayer0(void);
+static void atk6F_makevisible(void);
+static void atk70_recordlastability(void);
+static void atk71_buffermovetolearn(void);
+static void atk72_jumpifplayerran(void);
+static void atk73_hpthresholds(void);
+static void atk74_hpthresholds2(void);
+static void atk75_useitemonopponent(void);
static void atk76_various(void);
-static void atk77_set_protect_like(void);
+static void atk77_setprotectlike(void);
static void atk78_faintifabilitynotdamp(void);
static void atk79_setatkhptozero(void);
-static void atk7A_jumpwhiletargetvalid(void);
-static void atk7B_healhalfHP_if_possible(void);
+static void atk7A_jumpifnexttargetvalid(void);
+static void atk7B_tryhealhalfhealth(void);
static void atk7C_trymirrormove(void);
-static void atk7D_set_rain(void);
+static void atk7D_setrain(void);
static void atk7E_setreflect(void);
static void atk7F_setseeded(void);
static void atk80_manipulatedamage(void);
-static void atk81_setrest(void);
+static void atk81_trysetrest(void);
static void atk82_jumpifnotfirstturn(void);
static void atk83_nop(void);
-static void atk84_jump_if_cant_sleep(void);
+static void atk84_jumpifcantmakeasleep(void);
static void atk85_stockpile(void);
static void atk86_stockpiletobasedamage(void);
static void atk87_stockpiletohpheal(void);
@@ -403,22 +322,22 @@ static void atk89_statbuffchange(void);
static void atk8A_normalisebuffs(void);
static void atk8B_setbide(void);
static void atk8C_confuseifrepeatingattackends(void);
-static void atk8D_setmultihit_counter(void);
-static void atk8E_init_multihit_string(void);
+static void atk8D_setmultihitcounter(void);
+static void atk8E_initmultihitstring(void);
static void atk8F_forcerandomswitch(void);
-static void atk90_conversion_type_change(void);
+static void atk90_tryconversiontypechange(void);
static void atk91_givepaydaymoney(void);
static void atk92_setlightscreen(void);
-static void atk93_ko_move(void);
+static void atk93_tryKO(void);
static void atk94_damagetohalftargethp(void);
static void atk95_setsandstorm(void);
static void atk96_weatherdamage(void);
-static void atk97_try_infatuation(void);
-static void atk98_status_icon_update(void);
+static void atk97_tryinfatuating(void);
+static void atk98_updatestatusicon(void);
static void atk99_setmist(void);
-static void atk9A_set_focusenergy(void);
+static void atk9A_setfocusenergy(void);
static void atk9B_transformdataexecution(void);
-static void atk9C_set_substitute(void);
+static void atk9C_setsubstitute(void);
static void atk9D_mimicattackcopy(void);
static void atk9E_metronome(void);
static void atk9F_dmgtolevel(void);
@@ -426,39 +345,39 @@ static void atkA0_psywavedamageeffect(void);
static void atkA1_counterdamagecalculator(void);
static void atkA2_mirrorcoatdamagecalculator(void);
static void atkA3_disablelastusedattack(void);
-static void atkA4_setencore(void);
+static void atkA4_trysetencore(void);
static void atkA5_painsplitdmgcalc(void);
static void atkA6_settypetorandomresistance(void);
static void atkA7_setalwayshitflag(void);
static void atkA8_copymovepermanently(void);
static void atkA9_sleeptalk_choose_move(void);
-static void atkAA_set_destinybond(void);
-static void atkAB_DestinyBondFlagUpdate(void);
+static void atkAA_setdestinybond(void);
+static void atkAB_trysetdestinybondtohappen(void);
static void atkAC_remaininghptopower(void);
-static void atkAD_spite_ppreduce(void);
-static void atkAE_heal_party_status(void);
+static void atkAD_tryspiteppreduce(void);
+static void atkAE_healpartystatus(void);
static void atkAF_cursetarget(void);
-static void atkB0_set_spikes(void);
-static void atkB1_set_foresight(void);
-static void atkB2_setperishsong(void);
+static void atkB0_trysetspikes(void);
+static void atkB1_setforesight(void);
+static void atkB2_trysetperishsong(void);
static void atkB3_rolloutdamagecalculation(void);
static void atkB4_jumpifconfusedandstatmaxed(void);
static void atkB5_furycuttercalc(void);
static void atkB6_happinesstodamagecalculation(void);
static void atkB7_presentdamagecalculation(void);
-static void atkB8_set_safeguard(void);
+static void atkB8_setsafeguard(void);
static void atkB9_magnitudedamagecalculation(void);
static void atkBA_jumpifnopursuitswitchdmg(void);
static void atkBB_setsunny(void);
static void atkBC_maxattackhalvehp(void);
static void atkBD_copyfoestats(void);
static void atkBE_rapidspinfree(void);
-static void atkBF_set_defense_curl(void);
+static void atkBF_setdefensecurlbit(void);
static void atkC0_recoverbasedonsunlight(void);
-static void atkC1_hidden_power_calc(void);
-static void atkC2_selectnexttarget(void);
-static void atkC3_setfutureattack(void);
-static void atkC4_beat_up(void);
+static void atkC1_hiddenpowercalc(void);
+static void atkC2_selectfirstvalidtarget(void);
+static void atkC3_trysetfutureattack(void);
+static void atkC4_trydobeatup(void);
static void atkC5_setsemiinvulnerablebit(void);
static void atkC6_clearsemiinvulnerablebit(void);
static void atkC7_setminimize(void);
@@ -471,46 +390,46 @@ static void atkCD_cureifburnedparalysedorpoisoned(void);
static void atkCE_settorment(void);
static void atkCF_jumpifnodamage(void);
static void atkD0_settaunt(void);
-static void atkD1_set_helpinghand(void);
-static void atkD2_swap_items(void);
-static void atkD3_copy_ability(void);
-static void atkD4_wish_effect(void);
-static void atkD5_setroots(void);
+static void atkD1_trysethelpinghand(void);
+static void atkD2_tryswapitems(void);
+static void atkD3_trycopyability(void);
+static void atkD4_trywish(void);
+static void atkD5_trysetroots(void);
static void atkD6_doubledamagedealtifdamaged(void);
static void atkD7_setyawn(void);
static void atkD8_setdamagetohealthdifference(void);
static void atkD9_scaledamagebyhealthratio(void);
-static void atkDA_abilityswap(void);
-static void atkDB_imprisoneffect(void);
-static void atkDC_setgrudge(void);
+static void atkDA_tryswapabilities(void);
+static void atkDB_tryimprision(void);
+static void atkDC_trysetgrudge(void);
static void atkDD_weightdamagecalculation(void);
static void atkDE_asistattackselect(void);
-static void atkDF_setmagiccoat(void);
-static void atkE0_setstealstatchange(void);
-static void atkE1_intimidate_string_loader(void);
-static void atkE2_switchout_abilities(void);
+static void atkDF_trysetmagiccoat(void);
+static void atkE0_trysetsnatch(void);
+static void atkE1_trygetintimidatetarget(void);
+static void atkE2_switchoutabilities(void);
static void atkE3_jumpifhasnohp(void);
static void atkE4_getsecretpowereffect(void);
static void atkE5_pickup(void);
-static void atkE6_castform_change_animation(void);
-static void atkE7_castform_data_change(void);
+static void atkE6_docastformchangeanimation(void);
+static void atkE7_trycastformdatachange(void);
static void atkE8_settypebasedhalvers(void);
static void atkE9_setweatherballtype(void);
-static void atkEA_recycleitem(void);
+static void atkEA_tryrecycleitem(void);
static void atkEB_settypetoterrain(void);
-static void atkEC_pursuit_sth(void);
-static void atkED_802B4B4(void);
+static void atkEC_pursuitrelated(void);
+static void atkEF_snatchsetbanks(void);
static void atkEE_removelightscreenreflect(void);
static void atkEF_pokeball_catch_calculation(void);
-static void atkF0_give_caught_mon(void);
-static void atkF1_set_caught_mon_dex_flags(void);
-static void atkF2_display_dex_info(void);
-static void atkF3_nickname_caught_poke(void);
+static void atkF0_givecaughtmon(void);
+static void atkF1_trysetcaughtmondexflags(void);
+static void atkF2_displaydexinfo(void);
+static void atkF3_trygivecaughtmonnick(void);
static void atkF4_subattackerhpbydmg(void);
static void atkF5_removeattackerstatus1(void);
-static void atkF6_action_finished(void);
-static void atkF7_turn_finished(void);
-static void atkF8_trainer_slide_back(void);
+static void atkF6_finishaction(void);
+static void atkF7_finishturn(void);
+static void atkF8_trainerslideout(void);
void (* const gBattleScriptingCommandsTable[])(void) =
{
@@ -519,29 +438,29 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atk02_attackstring,
atk03_ppreduce,
atk04_critcalc,
- atk05_damagecalc1,
+ atk05_damagecalc,
atk06_typecalc,
- atk07_dmg_adjustment,
- atk08_dmg_adjustment2,
+ atk07_adjustnormaldamage,
+ atk08_adjustnormaldamage2,
atk09_attackanimation,
atk0A_waitanimation,
atk0B_healthbarupdate,
atk0C_datahpupdate,
atk0D_critmessage,
- atk0E_effectiveness_sound,
+ atk0E_effectivenesssound,
atk0F_resultmessage,
atk10_printstring,
- atk11_printstring_playeronly,
+ atk11_printselectionstring,
atk12_waitmessage,
atk13_printfromtable,
- atk14_printfromtable_playeronly,
+ atk14_printselectionstringfromtable,
atk15_seteffectwithchance,
atk16_seteffectprimary,
atk17_seteffectsecondary,
- atk18_status_effect_clear,
- atk19_faint_pokemon,
- atk1A_faint_animation,
- atk1B_faint_effects_clear,
+ atk18_clearstatusfromeffect,
+ atk19_tryfaintmon,
+ atk1A_dofaintanimation,
+ atk1B_cleareffectsonfaint,
atk1C_jumpifstatus,
atk1D_jumpifstatus2,
atk1E_jumpifability,
@@ -551,9 +470,9 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atk22_jumpiftype,
atk23_getexp,
atk24,
- atk25_move_values_cleanup,
- atk26_set_multihit,
- atk27_decrement_multihit,
+ atk25_movevaluescleanup,
+ atk26_setmultihit,
+ atk27_decrementmultihit,
atk28_goto,
atk29_jumpifbyte,
atk2A_jumpifhalfword,
@@ -564,7 +483,7 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atk2F_addbyte,
atk30_subbyte,
atk31_copyarray,
- atk32_copyarray_withindex,
+ atk32_copyarraywithindex,
atk33_orbyte,
atk34_orhalfword,
atk35_orword,
@@ -578,75 +497,75 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atk3D_end,
atk3E_end2,
atk3F_end3,
- atk40_jump_if_move_affected_by_protect,
+ atk40_jumpifaffectedbyprotect,
atk41_call,
atk42_jumpiftype2,
atk43_jumpifabilitypresent,
- atk44_end_selection_script,
+ atk44_endselectionscript,
atk45_playanimation,
atk46_playanimation2,
atk47_setgraphicalstatchangevalues,
atk48_playstatchangeanimation,
atk49_moveend,
atk4A_typecalc2,
- atk4B_return_atk_to_ball,
- atk4C_get_switched_mon_data,
- atk4D_switch_data_update,
- atk4E_switchin_anim,
- atk4F_jump_if_cannot_switch,
+ atk4B_returnatktoball,
+ atk4C_getswitchedmondata,
+ atk4D_switchindataupdate,
+ atk4E_switchinanim,
+ atk4F_jumpifcantswitch,
atk50_openpartyscreen,
- atk51_switch_handle_order,
- atk52_switch_in_effects,
- atk53_trainer_slide,
- atk54_effectiveness_sound,
- atk55_play_fanfare,
- atk56_fainting_cry,
+ atk51_switchhandleorder,
+ atk52_switchineffects,
+ atk53_trainerslidein,
+ atk54_playse,
+ atk55_fanfare,
+ atk56_playfaintcry,
atk57,
- atk58_return_to_ball,
- atk59_learnmove_inbattle,
+ atk58_returntoball,
+ atk59_handlelearnnewmove,
atk5A_yesnoboxlearnmove,
atk5B_yesnoboxstoplearningmove,
atk5C_hitanimation,
atk5D_getmoneyreward,
- atk5E_8025A70,
- atk5F_8025B24,
- atk60_increment_gamestat,
- atk61_draw_party_status_summary,
- atk62_08025C6C,
+ atk5E,
+ atk5F,
+ atk60_incrementgamestat,
+ atk61_drawpartystatussummary,
+ atk62,
atk63_jumptorandomattack,
atk64_statusanimation,
atk65_status2animation,
atk66_chosenstatusanimation,
atk67_yesnobox,
- atk68_cancel_everyones_actions,
- atk69_dmg_adjustment3,
+ atk68_cancelallactions,
+ atk69_adjustsetdamage,
atk6A_removeitem,
atk6B_atknameinbuff1,
- atk6C_draw_lvlupbox,
- atk6D_reset_sentpokes_value,
- atk6E_set_atk_to_player0,
- atk6F_set_visible,
- atk70_record_last_used_ability,
- atk71_buffer_move_to_learn,
- atk72_jump_if_run_attempt_success,
- atk73_hp_thresholds,
- atk74_hp_thresholds2,
- atk75_item_effect_on_opponent,
+ atk6C_drawlvlupbox,
+ atk6D_resetsentmonsvalue,
+ atk6E_setatktoplayer0,
+ atk6F_makevisible,
+ atk70_recordlastability,
+ atk71_buffermovetolearn,
+ atk72_jumpifplayerran,
+ atk73_hpthresholds,
+ atk74_hpthresholds2,
+ atk75_useitemonopponent,
atk76_various,
- atk77_set_protect_like,
+ atk77_setprotectlike,
atk78_faintifabilitynotdamp,
atk79_setatkhptozero,
- atk7A_jumpwhiletargetvalid,
- atk7B_healhalfHP_if_possible,
+ atk7A_jumpifnexttargetvalid,
+ atk7B_tryhealhalfhealth,
atk7C_trymirrormove,
- atk7D_set_rain,
+ atk7D_setrain,
atk7E_setreflect,
atk7F_setseeded,
atk80_manipulatedamage,
- atk81_setrest,
+ atk81_trysetrest,
atk82_jumpifnotfirstturn,
atk83_nop,
- atk84_jump_if_cant_sleep,
+ atk84_jumpifcantmakeasleep,
atk85_stockpile,
atk86_stockpiletobasedamage,
atk87_stockpiletohpheal,
@@ -655,22 +574,22 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atk8A_normalisebuffs,
atk8B_setbide,
atk8C_confuseifrepeatingattackends,
- atk8D_setmultihit_counter,
- atk8E_init_multihit_string,
+ atk8D_setmultihitcounter,
+ atk8E_initmultihitstring,
atk8F_forcerandomswitch,
- atk90_conversion_type_change,
+ atk90_tryconversiontypechange,
atk91_givepaydaymoney,
atk92_setlightscreen,
- atk93_ko_move,
+ atk93_tryKO,
atk94_damagetohalftargethp,
atk95_setsandstorm,
atk96_weatherdamage,
- atk97_try_infatuation,
- atk98_status_icon_update,
+ atk97_tryinfatuating,
+ atk98_updatestatusicon,
atk99_setmist,
- atk9A_set_focusenergy,
+ atk9A_setfocusenergy,
atk9B_transformdataexecution,
- atk9C_set_substitute,
+ atk9C_setsubstitute,
atk9D_mimicattackcopy,
atk9E_metronome,
atk9F_dmgtolevel,
@@ -678,39 +597,39 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atkA1_counterdamagecalculator,
atkA2_mirrorcoatdamagecalculator,
atkA3_disablelastusedattack,
- atkA4_setencore,
+ atkA4_trysetencore,
atkA5_painsplitdmgcalc,
atkA6_settypetorandomresistance,
atkA7_setalwayshitflag,
atkA8_copymovepermanently,
atkA9_sleeptalk_choose_move,
- atkAA_set_destinybond,
- atkAB_DestinyBondFlagUpdate,
+ atkAA_setdestinybond,
+ atkAB_trysetdestinybondtohappen,
atkAC_remaininghptopower,
- atkAD_spite_ppreduce,
- atkAE_heal_party_status,
+ atkAD_tryspiteppreduce,
+ atkAE_healpartystatus,
atkAF_cursetarget,
- atkB0_set_spikes,
- atkB1_set_foresight,
- atkB2_setperishsong,
+ atkB0_trysetspikes,
+ atkB1_setforesight,
+ atkB2_trysetperishsong,
atkB3_rolloutdamagecalculation,
atkB4_jumpifconfusedandstatmaxed,
atkB5_furycuttercalc,
atkB6_happinesstodamagecalculation,
atkB7_presentdamagecalculation,
- atkB8_set_safeguard,
+ atkB8_setsafeguard,
atkB9_magnitudedamagecalculation,
atkBA_jumpifnopursuitswitchdmg,
atkBB_setsunny,
atkBC_maxattackhalvehp,
atkBD_copyfoestats,
atkBE_rapidspinfree,
- atkBF_set_defense_curl,
+ atkBF_setdefensecurlbit,
atkC0_recoverbasedonsunlight,
- atkC1_hidden_power_calc,
- atkC2_selectnexttarget,
- atkC3_setfutureattack,
- atkC4_beat_up,
+ atkC1_hiddenpowercalc,
+ atkC2_selectfirstvalidtarget,
+ atkC3_trysetfutureattack,
+ atkC4_trydobeatup,
atkC5_setsemiinvulnerablebit,
atkC6_clearsemiinvulnerablebit,
atkC7_setminimize,
@@ -723,46 +642,46 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atkCE_settorment,
atkCF_jumpifnodamage,
atkD0_settaunt,
- atkD1_set_helpinghand,
- atkD2_swap_items,
- atkD3_copy_ability,
- atkD4_wish_effect,
- atkD5_setroots,
+ atkD1_trysethelpinghand,
+ atkD2_tryswapitems,
+ atkD3_trycopyability,
+ atkD4_trywish,
+ atkD5_trysetroots,
atkD6_doubledamagedealtifdamaged,
atkD7_setyawn,
atkD8_setdamagetohealthdifference,
atkD9_scaledamagebyhealthratio,
- atkDA_abilityswap,
- atkDB_imprisoneffect,
- atkDC_setgrudge,
+ atkDA_tryswapabilities,
+ atkDB_tryimprision,
+ atkDC_trysetgrudge,
atkDD_weightdamagecalculation,
atkDE_asistattackselect,
- atkDF_setmagiccoat,
- atkE0_setstealstatchange,
- atkE1_intimidate_string_loader,
- atkE2_switchout_abilities,
+ atkDF_trysetmagiccoat,
+ atkE0_trysetsnatch,
+ atkE1_trygetintimidatetarget,
+ atkE2_switchoutabilities,
atkE3_jumpifhasnohp,
atkE4_getsecretpowereffect,
atkE5_pickup,
- atkE6_castform_change_animation,
- atkE7_castform_data_change,
+ atkE6_docastformchangeanimation,
+ atkE7_trycastformdatachange,
atkE8_settypebasedhalvers,
atkE9_setweatherballtype,
- atkEA_recycleitem,
+ atkEA_tryrecycleitem,
atkEB_settypetoterrain,
- atkEC_pursuit_sth,
- atkED_802B4B4,
+ atkEC_pursuitrelated,
+ atkEF_snatchsetbanks,
atkEE_removelightscreenreflect,
atkEF_pokeball_catch_calculation,
- atkF0_give_caught_mon,
- atkF1_set_caught_mon_dex_flags,
- atkF2_display_dex_info,
- atkF3_nickname_caught_poke,
+ atkF0_givecaughtmon,
+ atkF1_trysetcaughtmondexflags,
+ atkF2_displaydexinfo,
+ atkF3_trygivecaughtmonnick,
atkF4_subattackerhpbydmg,
atkF5_removeattackerstatus1,
- atkF6_action_finished,
- atkF7_turn_finished,
- atkF8_trainer_slide_back
+ atkF6_finishaction,
+ atkF7_finishturn,
+ atkF8_trainerslideout
};
struct StatFractions
@@ -1208,14 +1127,14 @@ static void JumpIfMoveFailed(u8 adder, u16 move)
}
else
{
- DestinyBondFlagUpdate();
+ TrySetDestinyBondToHappen();
if (AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBankTarget, 0, 0, move))
return;
}
gBattlescriptCurrInstr = BS_ptr;
}
-static void atk40_jump_if_move_affected_by_protect(void)
+static void atk40_jumpifaffectedbyprotect(void)
{
if (TARGET_PROTECT_AFFECTED)
{
@@ -1476,7 +1395,7 @@ static void atk04_critcalc(void)
gBattlescriptCurrInstr++;
}
-static void atk05_damagecalc1(void)
+static void atk05_damagecalc(void)
{
u16 sideStatus = gSideAffecting[GET_BANK_SIDE(gBankTarget)];
gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove,
@@ -1843,7 +1762,7 @@ static void Unused_ApplyRandomDmgMultiplier(void)
ApplyRandomDmgMultiplier();
}
-static void atk07_dmg_adjustment(void)
+static void atk07_adjustnormaldamage(void)
{
u8 holdEffect, quality;
@@ -1891,7 +1810,7 @@ static void atk07_dmg_adjustment(void)
gBattlescriptCurrInstr++;
}
-static void atk08_dmg_adjustment2(void) // The same as 0x7 except it doesn't check for false swipe move effect.
+static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't check for false swipe move effect.
{
u8 holdEffect, quality;
@@ -2172,7 +2091,7 @@ static void atk0D_critmessage(void)
}
}
-static void atk0E_effectiveness_sound(void)
+static void atk0E_effectivenesssound(void)
{
if (gBattleExecBuffer)
return;
@@ -2183,11 +2102,11 @@ static void atk0E_effectiveness_sound(void)
switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED)))
{
case MOVESTATUS_SUPEREFFECTIVE:
- EmitEffectivenessSound(0, SE_KOUKA_H);
+ EmitPlaySE(0, SE_KOUKA_H);
MarkBufferBankForExecution(gActiveBank);
break;
case MOVESTATUS_NOTVERYEFFECTIVE:
- EmitEffectivenessSound(0, SE_KOUKA_L);
+ EmitPlaySE(0, SE_KOUKA_L);
MarkBufferBankForExecution(gActiveBank);
break;
case MOVESTATUS_NOTAFFECTED:
@@ -2200,17 +2119,17 @@ static void atk0E_effectiveness_sound(void)
default:
if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE)
{
- EmitEffectivenessSound(0, SE_KOUKA_H);
+ EmitPlaySE(0, SE_KOUKA_H);
MarkBufferBankForExecution(gActiveBank);
}
else if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE)
{
- EmitEffectivenessSound(0, SE_KOUKA_L);
+ EmitPlaySE(0, SE_KOUKA_L);
MarkBufferBankForExecution(gActiveBank);
}
else if (!(gBattleMoveFlags & (MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED)))
{
- EmitEffectivenessSound(0, SE_KOUKA_M);
+ EmitPlaySE(0, SE_KOUKA_M);
MarkBufferBankForExecution(gActiveBank);
}
break;
@@ -2319,11 +2238,11 @@ static void atk10_printstring(void)
}
}
-static void atk11_printstring_playeronly(void)
+static void atk11_printselectionstring(void)
{
gActiveBank = gBankAttacker;
- EmitPrintStringPlayerOnly(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ EmitPrintSelectionString(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
@@ -2365,7 +2284,7 @@ static void atk13_printfromtable(void)
}
}
-static void atk14_printfromtable_playeronly(void)
+static void atk14_printselectionstringfromtable(void)
{
if (gBattleExecBuffer == 0)
{
@@ -2373,7 +2292,7 @@ static void atk14_printfromtable_playeronly(void)
ptr += gBattleCommunication[MULTISTRING_CHOOSER];
gActiveBank = gBankAttacker;
- EmitPrintStringPlayerOnly(0, *ptr);
+ EmitPrintSelectionString(0, *ptr);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 5;
@@ -3134,7 +3053,7 @@ static void atk17_seteffectsecondary(void)
SetMoveEffect(FALSE, 0);
}
-static void atk18_status_effect_clear(void)
+static void atk18_clearstatusfromeffect(void)
{
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
@@ -3148,7 +3067,7 @@ static void atk18_status_effect_clear(void)
gBattleScripting.field_16 = 0;
}
-static void atk19_faint_pokemon(void)
+static void atk19_tryfaintmon(void)
{
const u8 *BS_ptr;
@@ -3235,7 +3154,7 @@ static void atk19_faint_pokemon(void)
}
}
-static void atk1A_faint_animation(void)
+static void atk1A_dofaintanimation(void)
{
if (gBattleExecBuffer == 0)
{
@@ -3246,7 +3165,7 @@ static void atk1A_faint_animation(void)
}
}
-static void atk1B_faint_effects_clear(void)
+static void atk1B_cleareffectsonfaint(void)
{
if (gBattleExecBuffer == 0)
{
@@ -4098,19 +4017,19 @@ static void MoveValuesCleanUp(void)
gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT);
}
-static void atk25_move_values_cleanup(void)
+static void atk25_movevaluescleanup(void)
{
MoveValuesCleanUp();
gBattlescriptCurrInstr += 1;
}
-static void atk26_set_multihit(void)
+static void atk26_setmultihit(void)
{
gMultiHitCounter = gBattlescriptCurrInstr[1];
gBattlescriptCurrInstr += 2;
}
-static void atk27_decrement_multihit(void)
+static void atk27_decrementmultihit(void)
{
if (--gMultiHitCounter == 0)
gBattlescriptCurrInstr += 5;
@@ -4320,7 +4239,7 @@ static void atk31_copyarray(void)
gBattlescriptCurrInstr += 10;
}
-static void atk32_copyarray_withindex(void)
+static void atk32_copyarraywithindex(void)
{
u8* dest = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
const u8* src = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
@@ -4470,7 +4389,7 @@ static void atk43_jumpifabilitypresent(void)
gBattlescriptCurrInstr += 6;
}
-static void atk44_end_selection_script(void)
+static void atk44_endselectionscript(void)
{
*(gBankAttacker + gBattleStruct->selectionScriptFinished) = TRUE;
}
@@ -5190,7 +5109,7 @@ static void atk49_moveend(void)
gBattleScripting.atk49_state = 0;
MoveValuesCleanUp();
BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]);
- gBattlescriptCurrInstr = gUnknown_082DB87D;
+ gBattlescriptCurrInstr = BattleScript_82DB87D;
return;
}
else
@@ -5310,7 +5229,7 @@ static void atk4A_typecalc2(void)
gBattlescriptCurrInstr++;
}
-static void atk4B_return_atk_to_ball(void)
+static void atk4B_returnatktoball(void)
{
gActiveBank = gBankAttacker;
if (!(gHitMarker & HITMARKER_FAINTED(gActiveBank)))
@@ -5321,7 +5240,7 @@ static void atk4B_return_atk_to_ball(void)
gBattlescriptCurrInstr++;
}
-static void atk4C_get_switched_mon_data(void)
+static void atk4C_getswitchedmondata(void)
{
if (gBattleExecBuffer)
return;
@@ -5336,7 +5255,7 @@ static void atk4C_get_switched_mon_data(void)
gBattlescriptCurrInstr += 2;
}
-static void atk4D_switch_data_update(void)
+static void atk4D_switchindataupdate(void)
{
struct BattlePokemon oldData;
s32 i;
@@ -5389,7 +5308,7 @@ static void atk4D_switch_data_update(void)
gBattlescriptCurrInstr += 2;
}
-static void atk4E_switchin_anim(void)
+static void atk4E_switchinanim(void)
{
if (gBattleExecBuffer)
return;
@@ -5415,7 +5334,7 @@ static void atk4E_switchin_anim(void)
sub_81A56B4();
}
-static void atk4F_jump_if_cannot_switch(void)
+static void atk4F_jumpifcantswitch(void)
{
s32 val = 0;
s32 compareVar = 0;
@@ -5869,7 +5788,7 @@ static void atk50_openpartyscreen(void)
}
}
-static void atk51_switch_handle_order(void)
+static void atk51_switchhandleorder(void)
{
s32 i;
if (gBattleExecBuffer)
@@ -5936,7 +5855,7 @@ static void atk51_switch_handle_order(void)
gBattlescriptCurrInstr += 3;
}
-static void atk52_switch_in_effects(void)
+static void atk52_switchineffects(void)
{
s32 i;
@@ -5967,12 +5886,12 @@ static void atk52_switch_in_effects(void)
gBattleScripting.bank = gActiveBank;
BattleScriptPushCursor();
- if (gBattlescriptCurrInstr[1] == 0)
- gBattlescriptCurrInstr = gUnknown_082DAE90;
- else if (gBattlescriptCurrInstr[1] == 1)
- gBattlescriptCurrInstr = gUnknown_082DAE59;
+ if (gBattlescriptCurrInstr[1] == BS_GET_TARGET)
+ gBattlescriptCurrInstr = BattleScript_SpikesOnTarget;
+ else if (gBattlescriptCurrInstr[1] == BS_GET_ATTACKER)
+ gBattlescriptCurrInstr = BattleScript_SpikesOnAttacker;
else
- gBattlescriptCurrInstr = gUnknown_082DAEC7;
+ gBattlescriptCurrInstr = BattleScript_SpikesOngBank1;
}
else
{
@@ -6017,7 +5936,7 @@ static void atk52_switch_in_effects(void)
}
}
-static void atk53_trainer_slide(void)
+static void atk53_trainerslidein(void)
{
gActiveBank = GetBankByIdentity(gBattlescriptCurrInstr[1]);
EmitTrainerSlide(0);
@@ -6026,16 +5945,16 @@ static void atk53_trainer_slide(void)
gBattlescriptCurrInstr += 2;
}
-static void atk54_effectiveness_sound(void)
+static void atk54_playse(void)
{
gActiveBank = gBankAttacker;
- EmitEffectivenessSound(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ EmitPlaySE(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
}
-static void atk55_play_fanfare(void)
+static void atk55_fanfare(void)
{
gActiveBank = gBankAttacker;
EmitPlayFanfareOrBGM(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1), FALSE);
@@ -6044,7 +5963,7 @@ static void atk55_play_fanfare(void)
gBattlescriptCurrInstr += 3;
}
-static void atk56_fainting_cry(void)
+static void atk56_playfaintcry(void)
{
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
EmitFaintingCry(0);
@@ -6055,14 +5974,14 @@ static void atk56_fainting_cry(void)
static void atk57(void)
{
- gActiveBank = GetBankByIdentity(0);
+ gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1);
EmitCmd55(0, gBattleOutcome);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 1;
}
-static void atk58_return_to_ball(void)
+static void atk58_returntoball(void)
{
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
EmitReturnMonToBall(0, 1);
@@ -6071,7 +5990,7 @@ static void atk58_return_to_ball(void)
gBattlescriptCurrInstr += 2;
}
-static void atk59_learnmove_inbattle(void)
+static void atk59_handlelearnnewmove(void)
{
const u8* jumpPtr1 = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
const u8* jumpPtr2 = BSScriptReadPtr(gBattlescriptCurrInstr + 5);
@@ -6367,7 +6286,7 @@ static void atk5D_getmoneyreward(void)
gBattlescriptCurrInstr++;
}
-static void atk5E_8025A70(void)
+static void atk5E(void)
{
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
@@ -6394,7 +6313,7 @@ static void atk5E_8025A70(void)
}
}
-static void atk5F_8025B24(void)
+static void atk5F(void)
{
gActiveBank = gBankAttacker;
gBankAttacker = gBankTarget;
@@ -6408,7 +6327,7 @@ static void atk5F_8025B24(void)
gBattlescriptCurrInstr++;
}
-static void atk60_increment_gamestat(void)
+static void atk60_incrementgamestat(void)
{
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
IncrementGameStat(gBattlescriptCurrInstr[1]);
@@ -6416,7 +6335,7 @@ static void atk60_increment_gamestat(void)
gBattlescriptCurrInstr += 2;
}
-static void atk61_draw_party_status_summary(void)
+static void atk61_drawpartystatussummary(void)
{
s32 i;
struct Pokemon* party;
@@ -6453,7 +6372,7 @@ static void atk61_draw_party_status_summary(void)
gBattlescriptCurrInstr += 2;
}
-static void atk62_08025C6C(void)
+static void atk62(void)
{
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
EmitCmd49(0);
@@ -6569,7 +6488,7 @@ static void atk67_yesnobox(void)
}
}
-static void atk68_cancel_everyones_actions(void)
+static void atk68_cancelallactions(void)
{
s32 i;
@@ -6579,7 +6498,7 @@ static void atk68_cancel_everyones_actions(void)
gBattlescriptCurrInstr++;
}
-static void atk69_dmg_adjustment3(void) // The same as 0x7, except there's no random damage multiplier.
+static void atk69_adjustsetdamage(void) // The same as 0x7, except there's no random damage multiplier.
{
u8 holdEffect, quality;
@@ -6648,7 +6567,7 @@ static void atk6B_atknameinbuff1(void)
gBattlescriptCurrInstr++;
}
-static void atk6C_draw_lvlupbox(void)
+static void atk6C_drawlvlupbox(void)
{
if (gBattleScripting.atk6C_state == 0)
{
@@ -6922,19 +6841,19 @@ static bool32 IsMonGettingExpSentOut(void)
return FALSE;
}
-static void atk6D_reset_sentpokes_value(void)
+static void atk6D_resetsentmonsvalue(void)
{
ResetSentPokesToOpponentValue();
gBattlescriptCurrInstr++;
}
-static void atk6E_set_atk_to_player0(void)
+static void atk6E_setatktoplayer0(void)
{
gBankAttacker = GetBankByIdentity(0);
gBattlescriptCurrInstr++;
}
-static void atk6F_set_visible(void)
+static void atk6F_makevisible(void)
{
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
EmitSpriteInvisibility(0, FALSE);
@@ -6943,7 +6862,7 @@ static void atk6F_set_visible(void)
gBattlescriptCurrInstr += 2;
}
-static void atk70_record_last_used_ability(void)
+static void atk70_recordlastability(void)
{
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
RecordAbilityBattle(gActiveBank, gLastUsedAbility);
@@ -6955,13 +6874,13 @@ void BufferMoveToLearnIntoBattleTextBuff2(void)
PREPARE_MOVE_BUFFER(gBattleTextBuff2, gMoveToLearn);
}
-static void atk71_buffer_move_to_learn(void)
+static void atk71_buffermovetolearn(void)
{
BufferMoveToLearnIntoBattleTextBuff2();
gBattlescriptCurrInstr++;
}
-static void atk72_jump_if_run_attempt_success(void)
+static void atk72_jumpifplayerran(void)
{
if (TryRunFromBattle(gBank1))
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
@@ -6969,7 +6888,7 @@ static void atk72_jump_if_run_attempt_success(void)
gBattlescriptCurrInstr += 5;
}
-static void atk73_hp_thresholds(void)
+static void atk73_hpthresholds(void)
{
u8 opposingBank;
s32 result;
@@ -6996,7 +6915,7 @@ static void atk73_hp_thresholds(void)
gBattlescriptCurrInstr += 2;
}
-static void atk74_hp_thresholds2(void)
+static void atk74_hpthresholds2(void)
{
u8 opposingBank;
s32 result;
@@ -7022,7 +6941,7 @@ static void atk74_hp_thresholds2(void)
gBattlescriptCurrInstr += 2;
}
-static void atk75_item_effect_on_opponent(void)
+static void atk75_useitemonopponent(void)
{
gBankInMenu = gBankAttacker;
ExecuteTableBasedItemEffect(&gEnemyParty[gBattlePartyID[gBankAttacker]], gLastUsedItem, gBattlePartyID[gBankAttacker], 0, 1);
@@ -7044,13 +6963,13 @@ static void atk76_various(void)
break;
case VARIOUS_SET_MAGIC_COAT_TARGET:
gBankAttacker = gBankTarget;
- side = GetBankSide(gBankAttacker) ^ 1;
+ side = GetBankSide(gBankAttacker) ^ BIT_SIDE;
if (gSideTimers[side].followmeTimer != 0 && gBattleMons[gSideTimers[side].followmeTarget].hp != 0)
gBankTarget = gSideTimers[side].followmeTarget;
else
gBankTarget = gActiveBank;
break;
- case VARIOUS_CAN_RUN_FROM_BATTLE:
+ case VARIOUS_IS_RUNNING_IMPOSSIBLE:
gBattleCommunication[0] = IsRunningFromBattleImpossible();
break;
case VARIOUS_GET_MOVE_TARGET:
@@ -7209,7 +7128,7 @@ static void atk76_various(void)
gBattlescriptCurrInstr += 3;
}
-static void atk77_set_protect_like(void) // protect and endure
+static void atk77_setprotectlike(void) // protect and endure
{
bool8 notLastTurn = TRUE;
u16 lastMove = gUnknown_02024260[gBankAttacker];
@@ -7292,9 +7211,9 @@ static void atk79_setatkhptozero(void)
gBattlescriptCurrInstr++;
}
-static void atk7A_jumpwhiletargetvalid(void) // Used by intimidate to loop through all targets.
+static void atk7A_jumpifnexttargetvalid(void)
{
- const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ const u8 *jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
@@ -7312,10 +7231,12 @@ static void atk7A_jumpwhiletargetvalid(void) // Used by intimidate to loop throu
gBattlescriptCurrInstr = jumpPtr;
}
else
+ {
gBattlescriptCurrInstr += 5;
+ }
}
-static void atk7B_healhalfHP_if_possible(void)
+static void atk7B_tryhealhalfhealth(void)
{
const u8* failPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
@@ -7383,7 +7304,7 @@ static void atk7C_trymirrormove(void)
}
}
-static void atk7D_set_rain(void)
+static void atk7D_setrain(void)
{
if (gBattleWeather & WEATHER_RAIN_ANY)
{
@@ -7464,9 +7385,9 @@ static void atk80_manipulatedamage(void)
gBattlescriptCurrInstr += 2;
}
-static void atk81_setrest(void)
+static void atk81_trysetrest(void)
{
- const u8* failJump = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ const u8 *failJump = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
gActiveBank = gBankTarget = gBankAttacker;
gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1);
@@ -7530,9 +7451,9 @@ bool8 UproarWakeUpCheck(u8 bank)
return TRUE;
}
-static void atk84_jump_if_cant_sleep(void)
+static void atk84_jumpifcantmakeasleep(void)
{
- const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ const u8 *jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
if (UproarWakeUpCheck(gBankTarget))
{
@@ -7844,7 +7765,7 @@ static void atk8C_confuseifrepeatingattackends(void)
gBattlescriptCurrInstr++;
}
-static void atk8D_setmultihit_counter(void)
+static void atk8D_setmultihitcounter(void)
{
if (gBattlescriptCurrInstr[1])
{
@@ -7862,7 +7783,7 @@ static void atk8D_setmultihit_counter(void)
gBattlescriptCurrInstr += 2;
}
-static void atk8E_init_multihit_string(void)
+static void atk8E_initmultihitstring(void)
{
PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0)
@@ -7886,7 +7807,7 @@ static bool8 sub_8051064(void)
*(gBattleStruct->field_58 + gBankTarget) = gBattlePartyID[gBankTarget];
}
- gBattlescriptCurrInstr = gUnknown_082DADD8;
+ gBattlescriptCurrInstr = BattleScript_82DADD8;
return TRUE;
}
@@ -8051,7 +7972,7 @@ static void atk8F_forcerandomswitch(void)
}
}
-static void atk90_conversion_type_change(void) // randomly changes user's type to one of its moves' type
+static void atk90_tryconversiontypechange(void) // randomly changes user's type to one of its moves' type
{
u8 validMoves = 0;
u8 moveChecked;
@@ -8155,7 +8076,7 @@ static void atk92_setlightscreen(void)
gBattlescriptCurrInstr++;
}
-static void atk93_ko_move(void)
+static void atk93_tryKO(void)
{
u8 holdEffect, param;
@@ -8319,7 +8240,7 @@ static void atk96_weatherdamage(void)
gBattlescriptCurrInstr++;
}
-static void atk97_try_infatuation(void)
+static void atk97_tryinfatuating(void)
{
struct Pokemon *monAttacker, *monTarget;
u16 speciesAttacker, speciesTarget;
@@ -8364,7 +8285,7 @@ static void atk97_try_infatuation(void)
}
}
-static void atk98_status_icon_update(void)
+static void atk98_updatestatusicon(void)
{
if (gBattleExecBuffer)
return;
@@ -8414,7 +8335,7 @@ static void atk99_setmist(void)
gBattlescriptCurrInstr++;
}
-static void atk9A_set_focusenergy(void)
+static void atk9A_setfocusenergy(void)
{
if (gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY)
{
@@ -8473,7 +8394,7 @@ static void atk9B_transformdataexecution(void)
}
}
-static void atk9C_set_substitute(void)
+static void atk9C_setsubstitute(void)
{
u32 hp = gBattleMons[gBankAttacker].maxHP / 4;
if (gBattleMons[gBankAttacker].maxHP / 4 == 0)
@@ -8673,7 +8594,7 @@ static void atkA3_disablelastusedattack(void)
}
}
-static void atkA4_setencore(void)
+static void atkA4_trysetencore(void)
{
s32 i;
@@ -8937,13 +8858,13 @@ static void atkA9_sleeptalk_choose_move(void)
}
}
-static void atkAA_set_destinybond(void)
+static void atkAA_setdestinybond(void)
{
gBattleMons[gBankAttacker].status2 |= STATUS2_DESTINY_BOND;
gBattlescriptCurrInstr++;
}
-static void DestinyBondFlagUpdate(void)
+static void TrySetDestinyBondToHappen(void)
{
u8 sideAttacker = GetBankSide(gBankAttacker);
u8 sideTarget = GetBankSide(gBankTarget);
@@ -8955,9 +8876,9 @@ static void DestinyBondFlagUpdate(void)
}
}
-static void atkAB_DestinyBondFlagUpdate(void)
+static void atkAB_trysetdestinybondtohappen(void)
{
- DestinyBondFlagUpdate();
+ TrySetDestinyBondToHappen();
gBattlescriptCurrInstr++;
}
@@ -8976,7 +8897,7 @@ static void atkAC_remaininghptopower(void)
gBattlescriptCurrInstr++;
}
-static void atkAD_spite_ppreduce(void)
+static void atkAD_tryspiteppreduce(void)
{
if (gLastUsedMovesByBanks[gBankTarget] != 0
&& gLastUsedMovesByBanks[gBankTarget] != 0xFFFF)
@@ -9027,7 +8948,7 @@ static void atkAD_spite_ppreduce(void)
}
}
-static void atkAE_heal_party_status(void)
+static void atkAE_healpartystatus(void)
{
u32 zero = 0;
u8 toHeal = 0;
@@ -9140,7 +9061,7 @@ static void atkAF_cursetarget(void)
}
}
-static void atkB0_set_spikes(void)
+static void atkB0_trysetspikes(void)
{
u8 targetSide = GetBankSide(gBankAttacker) ^ BIT_SIDE;
@@ -9157,13 +9078,13 @@ static void atkB0_set_spikes(void)
}
}
-static void atkB1_set_foresight(void)
+static void atkB1_setforesight(void)
{
gBattleMons[gBankTarget].status2 |= STATUS2_FORESIGHT;
gBattlescriptCurrInstr++;
}
-static void atkB2_setperishsong(void)
+static void atkB2_trysetperishsong(void)
{
s32 i;
s32 notAffectedCount = 0;
@@ -9196,7 +9117,7 @@ static void atkB3_rolloutdamagecalculation(void)
if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
{
CancelMultiTurnMoves(gBankAttacker);
- gBattlescriptCurrInstr = BattleScript_PauseEffectivenessSoundResultMsgEndMove;
+ gBattlescriptCurrInstr = BattleScript_MoveMissedPause;
}
else
{
@@ -9240,7 +9161,7 @@ static void atkB5_furycuttercalc(void)
if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
{
gDisableStructs[gBankAttacker].furyCutterCounter = 0;
- gBattlescriptCurrInstr = BattleScript_PauseEffectivenessSoundResultMsgEndMove;
+ gBattlescriptCurrInstr = BattleScript_MoveMissedPause;
}
else
{
@@ -9286,7 +9207,7 @@ static void atkB7_presentdamagecalculation(void)
gBattleMoveDamage *= -1;
}
if (rand < 204)
- gBattlescriptCurrInstr = BattleScript_PresentDamageTarget;
+ gBattlescriptCurrInstr = BattleScript_HitFromCritCalc;
else if (gBattleMons[gBankTarget].maxHP == gBattleMons[gBankTarget].hp)
gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp;
else
@@ -9296,7 +9217,7 @@ static void atkB7_presentdamagecalculation(void)
}
}
-static void atkB8_set_safeguard(void)
+static void atkB8_setsafeguard(void)
{
if (gSideAffecting[GET_BANK_SIDE(gBankAttacker)] & SIDE_STATUS_SAFEGUARD)
{
@@ -9501,7 +9422,7 @@ static void atkBE_rapidspinfree(void)
}
}
-static void atkBF_set_defense_curl(void)
+static void atkBF_setdefensecurlbit(void)
{
gBattleMons[gBankAttacker].status2 |= STATUS2_DEFENSE_CURL;
gBattlescriptCurrInstr++;
@@ -9533,7 +9454,7 @@ static void atkC0_recoverbasedonsunlight(void)
}
#ifdef NONMATCHING
-static void atkC1_hidden_power_calc(void)
+static void atkC1_hiddenpowercalc(void)
{
u32 powerBits = 0;
u32 typeBits = 0;
@@ -9564,7 +9485,7 @@ static void atkC1_hidden_power_calc(void)
#else
__attribute__((naked))
-static void atkC1_hidden_power_calc(void)
+static void atkC1_hiddenpowercalc(void)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
@@ -9707,7 +9628,7 @@ _080544F0:\n\
}
#endif // NONMATCHING
-static void atkC2_selectnexttarget(void)
+static void atkC2_selectfirstvalidtarget(void)
{
for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++)
{
@@ -9719,7 +9640,7 @@ static void atkC2_selectnexttarget(void)
gBattlescriptCurrInstr++;
}
-static void atkC3_setfutureattack(void)
+static void atkC3_trysetfutureattack(void)
{
if (gWishFutureKnock.futureSightCounter[gBankTarget] != 0)
{
@@ -9747,9 +9668,9 @@ static void atkC3_setfutureattack(void)
}
}
-static void atkC4_beat_up(void)
+static void atkC4_trydobeatup(void)
{
- struct Pokemon* party;
+ struct Pokemon *party;
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
party = gPlayerParty;
@@ -9950,7 +9871,7 @@ static void atkD0_settaunt(void)
}
}
-static void atkD1_set_helpinghand(void)
+static void atkD1_trysethelpinghand(void)
{
gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
@@ -9968,7 +9889,7 @@ static void atkD1_set_helpinghand(void)
}
}
-static void atkD2_swap_items(void) // trick
+static void atkD2_tryswapitems(void) // trick
{
// opponent can't swap items with player in regular battles
if (gBattleTypeFlags & BATTLE_TYPE_x4000000
@@ -10055,7 +9976,7 @@ static void atkD2_swap_items(void) // trick
}
}
-static void atkD3_copy_ability(void) // role play
+static void atkD3_trycopyability(void) // role play
{
if (gBattleMons[gBankTarget].ability != 0
&& gBattleMons[gBankTarget].ability != ABILITY_WONDER_GUARD)
@@ -10070,7 +9991,7 @@ static void atkD3_copy_ability(void) // role play
}
}
-static void atkD4_wish_effect(void)
+static void atkD4_trywish(void)
{
switch (gBattlescriptCurrInstr[1])
{
@@ -10103,7 +10024,7 @@ static void atkD4_wish_effect(void)
}
}
-static void atkD5_setroots(void) // ingrain
+static void atkD5_trysetroots(void) // ingrain
{
if (gStatuses3[gBankAttacker] & STATUS3_ROOTED)
{
@@ -10168,7 +10089,7 @@ static void atkD9_scaledamagebyhealthratio(void)
gBattlescriptCurrInstr++;
}
-static void atkDA_abilityswap(void) // skill swap
+static void atkDA_tryswapabilities(void) // skill swap
{
if ((gBattleMons[gBankAttacker].ability == 0
&& gBattleMons[gBankTarget].ability == 0)
@@ -10188,7 +10109,7 @@ static void atkDA_abilityswap(void) // skill swap
}
}
-static void atkDB_imprisoneffect(void)
+static void atkDB_tryimprision(void)
{
if ((gStatuses3[gBankAttacker] & STATUS3_IMPRISONED_OTHERS))
{
@@ -10230,7 +10151,7 @@ static void atkDB_imprisoneffect(void)
}
}
-static void atkDC_setgrudge(void)
+static void atkDC_trysetgrudge(void)
{
if (gStatuses3[gBankAttacker] & STATUS3_GRUDGE)
{
@@ -10313,7 +10234,7 @@ static void atkDE_asistattackselect(void)
}
}
-static void atkDF_setmagiccoat(void)
+static void atkDF_trysetmagiccoat(void)
{
gBankTarget = gBankAttacker;
gSpecialStatuses[gBankAttacker].flag20 = 1;
@@ -10328,7 +10249,7 @@ static void atkDF_setmagiccoat(void)
}
}
-static void atkE0_setstealstatchange(void) // snatch
+static void atkE0_trysetsnatch(void) // snatch
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) // moves last turn
@@ -10342,7 +10263,7 @@ static void atkE0_setstealstatchange(void) // snatch
}
}
-static void atkE1_intimidate_string_loader(void)
+static void atkE1_trygetintimidatetarget(void)
{
u8 side;
@@ -10365,7 +10286,7 @@ static void atkE1_intimidate_string_loader(void)
gBattlescriptCurrInstr += 5;
}
-static void atkE2_switchout_abilities(void)
+static void atkE2_switchoutabilities(void)
{
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
@@ -10502,7 +10423,7 @@ static void atkE5_pickup(void)
gBattlescriptCurrInstr++;
}
-static void atkE6_castform_change_animation(void)
+static void atkE6_docastformchangeanimation(void)
{
gActiveBank = gBattleScripting.bank;
@@ -10515,7 +10436,7 @@ static void atkE6_castform_change_animation(void)
gBattlescriptCurrInstr++;
}
-static void atkE7_castform_data_change(void)
+static void atkE7_trycastformdatachange(void)
{
u8 form;
@@ -10578,7 +10499,7 @@ static void atkE9_setweatherballtype(void)
gBattlescriptCurrInstr++;
}
-static void atkEA_recycleitem(void)
+static void atkEA_tryrecycleitem(void)
{
u16 *usedHeldItem;
@@ -10619,7 +10540,7 @@ static void atkEB_settypetoterrain(void)
}
}
-static void atkEC_pursuit_sth(void)
+static void atkEC_pursuitrelated(void)
{
gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON);
@@ -10641,7 +10562,7 @@ static void atkEC_pursuit_sth(void)
}
}
-static void atkED_802B4B4(void)
+static void atkEF_snatchsetbanks(void)
{
gEffectBank = gBankAttacker;
@@ -10827,7 +10748,7 @@ static void atkEF_pokeball_catch_calculation(void)
}
}
-static void atkF0_give_caught_mon(void)
+static void atkF0_givecaughtmon(void)
{
if (GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY)
{
@@ -10856,7 +10777,7 @@ static void atkF0_give_caught_mon(void)
gBattlescriptCurrInstr++;
}
-static void atkF1_set_caught_mon_dex_flags(void)
+static void atkF1_trysetcaughtmondexflags(void)
{
u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL);
u32 personality = GetMonData(&gEnemyParty[0], MON_DATA_PERSONALITY, NULL);
@@ -10872,7 +10793,7 @@ static void atkF1_set_caught_mon_dex_flags(void)
}
}
-static void atkF2_display_dex_info(void)
+static void atkF2_displaydexinfo(void)
{
u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL);
@@ -10991,7 +10912,7 @@ void BattleDestroyYesNoCursorAt(u8 cursorPosition)
CopyBgTilemapBufferToVram(0);
}
-static void atkF3_nickname_caught_poke(void)
+static void atkF3_trygivecaughtmonnick(void)
{
switch (gBattleCommunication[MULTIUSE_STATE])
{
@@ -11079,18 +11000,18 @@ static void atkF5_removeattackerstatus1(void)
gBattlescriptCurrInstr++;
}
-static void atkF6_action_finished(void)
+static void atkF6_finishaction(void)
{
gCurrentActionFuncId = ACTION_FINISHED;
}
-static void atkF7_turn_finished(void)
+static void atkF7_finishturn(void)
{
gCurrentActionFuncId = ACTION_FINISHED;
gCurrentTurnActionNumber = gNoOfAllBanks;
}
-static void atkF8_trainer_slide_back(void)
+static void atkF8_trainerslideout(void)
{
gActiveBank = GetBankByIdentity(gBattlescriptCurrInstr[1]);
EmitTrainerSlideBack(0);
diff --git a/src/battle_util.c b/src/battle_util.c
index ed3bdef98..0ec98d125 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -9,6 +9,7 @@
#include "items.h"
#include "util.h"
#include "battle_move_effects.h"
+#include "battle_scripts.h"
#include "rng.h"
#include "text.h"
#include "string_util.h"
@@ -60,119 +61,6 @@ extern u8 gSentPokesToOpponent[2];
extern const struct BattleMove gBattleMoves[];
-// scripts
-extern const u8 gUnknown_082DAE2A[];
-extern const u8 gUnknown_082DAE1F[];
-extern const u8 gUnknown_082DB089[];
-extern const u8 gUnknown_082DB098[];
-extern const u8 gUnknown_082DB0AF[];
-extern const u8 gUnknown_082DB0A0[];
-extern const u8 gUnknown_082DB185[];
-extern const u8 gUnknown_082DB181[];
-extern const u8 gUnknown_082DB812[];
-extern const u8 gUnknown_082DB076[];
-extern const u8 BattleScript_NoMovesLeft[];
-extern const u8 gUnknown_082DACFA[];
-extern const u8 gUnknown_082DAD0B[];
-extern const u8 gUnknown_082DACC9[];
-extern const u8 gUnknown_082DAC47[];
-extern const u8 gUnknown_082DACE0[];
-extern const u8 gUnknown_082DACD2[];
-extern const u8 BattleScript_WishComesTrue[];
-extern const u8 gUnknown_082DACC9[];
-extern const u8 gUnknown_082DAC2C[];
-extern const u8 BattleScript_IngrainTurnHeal[];
-extern const u8 BattleScript_LeechSeedTurnDrain[];
-extern const u8 BattleScript_PoisonTurnDmg[];
-extern const u8 BattleScript_BurnTurnDmg[];
-extern const u8 BattleScript_NightmareTurnDmg[];
-extern const u8 BattleScript_CurseTurnDmg[];
-extern const u8 BattleScript_WrapTurnDmg[];
-extern const u8 BattleScript_WrapEnds[];
-extern const u8 gUnknown_082DB234[];
-extern const u8 gUnknown_082DB2A6[];
-extern const u8 BattleScript_ThrashConfuses[];
-extern const u8 BattleScript_DisabledNoMore[];
-extern const u8 BattleScript_EncoredNoMore[];
-extern const u8 BattleScript_YawnMakesAsleep[];
-extern const u8 gUnknown_082DAFE4[];
-extern const u8 gUnknown_082DB8F3[];
-extern const u8 gUnknown_082DAF05[];
-extern const u8 gUnknown_082DAF20[];
-extern const u8 gUnknown_082DA7C4[];
-extern const u8 gUnknown_082DA7CD[];
-extern const u8 BattleScript_MoveUsedWokeUp[];
-extern const u8 BattleScript_MoveUsedIsAsleep[];
-extern const u8 BattleScript_MoveUsedIsFrozen[];
-extern const u8 BattleScript_MoveUsedUnfroze[];
-extern const u8 BattleScript_MoveUsedLoafingAround[];
-extern const u8 BattleScript_MoveUsedMustRecharge[];
-extern const u8 BattleScript_MoveUsedFlinched[];
-extern const u8 BattleScript_MoveUsedIsDisabled[];
-extern const u8 BattleScript_MoveUsedIsTaunted[];
-extern const u8 BattleScript_MoveUsedIsImprisoned[];
-extern const u8 BattleScript_MoveUsedIsConfused[];
-extern const u8 BattleScript_MoveUsedIsConfusedNoMore[];
-extern const u8 BattleScript_MoveUsedIsParalyzed[];
-extern const u8 BattleScript_MoveUsedIsParalyzedCantAttack[];
-extern const u8 BattleScript_MoveUsedIsInLove[];
-extern const u8 BattleScript_BideStoringEnergy[];
-extern const u8 BattleScript_BideAttack[];
-extern const u8 BattleScript_BideNoEnergyToAttack[];
-extern const u8 gUnknown_082DACE7[];
-extern const u8 BattleScript_DrizzleActivates[];
-extern const u8 BattleScript_SandstreamActivates[];
-extern const u8 BattleScript_DroughtActivates[];
-extern const u8 BattleScript_CastformChange[];
-extern const u8 BattleScript_RainDishActivates[];
-extern const u8 BattleScript_ShedSkinActivates[];
-extern const u8 BattleScript_SpeedBoostActivates[];
-extern const u8 BattleScript_SoundproofProtected[];
-extern const u8 BattleScript_MoveHPDrain[];
-extern const u8 BattleScript_MoveHPDrain_PPLoss[];
-extern const u8 BattleScript_FlashFireBoost[];
-extern const u8 BattleScript_FlashFireBoost_PPLoss[];
-extern const u8 gUnknown_082DB592[];
-extern const u8 gUnknown_082DB591[];
-extern const u8 BattleScript_ColorChangeActivates[];
-extern const u8 BattleScript_RoughSkinActivates[];
-extern const u8 BattleScript_ApplySecondaryEffect[];
-extern const u8 BattleScript_CuteCharmActivates[];
-extern const u8 gUnknown_082DB68C[];
-extern const u8 BattleScript_SynchronizeActivates[];
-extern const u8 gUnknown_082DB4B8[];
-extern const u8 gUnknown_082DB4C1[];
-extern const u8 BattleScript_TraceActivates[];
-
-extern const u8 BattleScript_WhiteHerbEnd2[];
-extern const u8 BattleScript_WhiteHerbRet[];
-extern const u8 BattleScript_ItemHealHP_RemoveItem[];
-extern const u8 BattleScript_BerryPPHealEnd2[];
-extern const u8 BattleScript_ItemHealHP_End2[];
-extern const u8 BattleScript_BerryConfuseHealEnd2[];
-extern const u8 BattleScript_BerryStatRaiseEnd2[];
-extern const u8 BattleScript_BerryFocusEnergyEnd2[];
-extern const u8 BattleScript_BerryCurePrlzEnd2[];
-extern const u8 BattleScript_BerryCurePsnEnd2[];
-extern const u8 BattleScript_BerryCureBrnEnd2[];
-extern const u8 BattleScript_BerryCureFrzEnd2[];
-extern const u8 BattleScript_BerryCureSlpEnd2[];
-extern const u8 BattleScript_BerryCureConfusionEnd2[];
-extern const u8 BattleScript_BerryCureChosenStatusEnd2[];
-extern const u8 BattleScript_BerryCureParRet[];
-extern const u8 BattleScript_BerryCurePsnRet[];
-extern const u8 BattleScript_BerryCureBrnRet[];
-extern const u8 BattleScript_BerryCureFrzRet[];
-extern const u8 BattleScript_BerryCureSlpRet[];
-extern const u8 BattleScript_BerryCureConfusionRet[];
-extern const u8 BattleScript_BerryCureChosenStatusRet[];
-extern const u8 BattleScript_ItemHealHP_Ret[];
-
-extern const u8 gUnknown_082DB695[]; //disobedient while asleep
-extern const u8 gUnknown_082DB6A5[]; //disobedient, uses a random move
-extern const u8 gUnknown_082DB6D9[]; //disobedient, went to sleep
-extern const u8 gUnknown_082DB6F0[]; //disobedient, hits itself
-
extern u8 weather_get_current(void);
// rom const data
@@ -196,13 +84,13 @@ u8 GetBattleBank(u8 caseId)
case BS_GET_EFFECT_BANK:
ret = gEffectBank;
break;
- case 7:
+ case BS_GET_BANK_0:
ret = 0;
break;
case BS_GET_SCRIPTING_BANK:
ret = gBattleScripting.bank;
break;
- case 3:
+ case BS_GET_gBank1:
ret = gBank1;
break;
case 5:
@@ -474,12 +362,12 @@ u8 TrySetCantSelectMoveBattleScript(void)
gCurrentMove = move;
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gUnknown_02024230[gActiveBank] = gUnknown_082DAE2A;
+ gUnknown_02024230[gActiveBank] = BattleScript_82DAE2A;
gProtectStructs[gActiveBank].flag_x10 = 1;
}
else
{
- gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAE1F;
+ gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DAE1F;
limitations = 1;
}
}
@@ -489,12 +377,12 @@ u8 TrySetCantSelectMoveBattleScript(void)
CancelMultiTurnMoves(gActiveBank);
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gUnknown_02024230[gActiveBank] = gUnknown_082DB098;
+ gUnknown_02024230[gActiveBank] = BattleScript_82DB098;
gProtectStructs[gActiveBank].flag_x10 = 1;
}
else
{
- gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB089;
+ gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB089;
limitations++;
}
}
@@ -504,12 +392,12 @@ u8 TrySetCantSelectMoveBattleScript(void)
gCurrentMove = move;
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gUnknown_02024230[gActiveBank] = gUnknown_082DB0AF;
+ gUnknown_02024230[gActiveBank] = BattleScript_82DB0AF;
gProtectStructs[gActiveBank].flag_x10 = 1;
}
else
{
- gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB0A0;
+ gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB0A0;
limitations++;
}
}
@@ -519,12 +407,12 @@ u8 TrySetCantSelectMoveBattleScript(void)
gCurrentMove = move;
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gUnknown_02024230[gActiveBank] = gUnknown_082DB185;
+ gUnknown_02024230[gActiveBank] = BattleScript_82DB185;
gProtectStructs[gActiveBank].flag_x10 = 1;
}
else
{
- gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB181;
+ gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB181;
limitations++;
}
}
@@ -546,7 +434,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
}
else
{
- gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB812;
+ gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB812;
limitations++;
}
}
@@ -559,7 +447,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
}
else
{
- gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB076;
+ gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB076;
limitations++;
}
}
@@ -694,7 +582,7 @@ u8 UpdateTurnCounters(void)
if (--gSideTimers[sideBank].reflectTimer == 0)
{
gSideAffecting[sideBank] &= ~SIDE_STATUS_REFLECT;
- BattleScriptExecute(gUnknown_082DACFA);
+ BattleScriptExecute(BattleScript_82DACFA);
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 2;
gBattleTextBuff1[2] = MOVE_REFLECT;
@@ -723,7 +611,7 @@ u8 UpdateTurnCounters(void)
if (--gSideTimers[sideBank].lightscreenTimer == 0)
{
gSideAffecting[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN;
- BattleScriptExecute(gUnknown_082DACFA);
+ BattleScriptExecute(BattleScript_82DACFA);
gBattleCommunication[MULTISTRING_CHOOSER] = sideBank;
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 2;
@@ -752,7 +640,7 @@ u8 UpdateTurnCounters(void)
&& --gSideTimers[sideBank].mistTimer == 0)
{
gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST;
- BattleScriptExecute(gUnknown_082DACFA);
+ BattleScriptExecute(BattleScript_82DACFA);
gBattleCommunication[MULTISTRING_CHOOSER] = sideBank;
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 2;
@@ -781,7 +669,7 @@ u8 UpdateTurnCounters(void)
if (--gSideTimers[sideBank].safeguardTimer == 0)
{
gSideAffecting[sideBank] &= ~SIDE_STATUS_SAFEGUARD;
- BattleScriptExecute(gUnknown_082DAD0B);
+ BattleScriptExecute(BattleScript_82DAD0B);
effect++;
}
}
@@ -836,7 +724,7 @@ u8 UpdateTurnCounters(void)
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
else
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- BattleScriptExecute(gUnknown_082DAC2C);
+ BattleScriptExecute(BattleScript_82DAC2C);
effect++;
}
gBattleStruct->turncountersTracker++;
@@ -847,10 +735,10 @@ u8 UpdateTurnCounters(void)
if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
{
gBattleWeather &= ~WEATHER_SANDSTORM_TEMPORARY;
- gBattlescriptCurrInstr = gUnknown_082DACC9;
+ gBattlescriptCurrInstr = BattleScript_82DACC9;
}
else
- gBattlescriptCurrInstr = gUnknown_082DAC47;
+ gBattlescriptCurrInstr = BattleScript_82DAC47;
gBattleScripting.animArg1 = 0xC;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
@@ -865,10 +753,10 @@ u8 UpdateTurnCounters(void)
if (!(gBattleWeather & WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
{
gBattleWeather &= ~WEATHER_SUN_TEMPORARY;
- gBattlescriptCurrInstr = gUnknown_082DACE0;
+ gBattlescriptCurrInstr = BattleScript_82DACE0;
}
else
- gBattlescriptCurrInstr = gUnknown_082DACD2;
+ gBattlescriptCurrInstr = BattleScript_82DACD2;
BattleScriptExecute(gBattlescriptCurrInstr);
effect++;
@@ -881,10 +769,10 @@ u8 UpdateTurnCounters(void)
if (--gWishFutureKnock.weatherDuration == 0)
{
gBattleWeather &= ~WEATHER_HAIL;
- gBattlescriptCurrInstr = gUnknown_082DACC9;
+ gBattlescriptCurrInstr = BattleScript_82DACC9;
}
else
- gBattlescriptCurrInstr = gUnknown_082DAC47;
+ gBattlescriptCurrInstr = BattleScript_82DAC47;
gBattleScripting.animArg1 = 0xD;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
@@ -1075,7 +963,7 @@ u8 TurnBasedEffects(void)
gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP);
gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE);
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- BattleScriptExecute(gUnknown_082DB234);
+ BattleScriptExecute(BattleScript_82DB234);
gActiveBank = gBankAttacker;
EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1);
MarkBufferBankForExecution(gActiveBank);
@@ -1106,7 +994,7 @@ u8 TurnBasedEffects(void)
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
CancelMultiTurnMoves(gActiveBank);
}
- BattleScriptExecute(gUnknown_082DB2A6);
+ BattleScriptExecute(BattleScript_82DB2A6);
effect = 1;
}
}
@@ -1259,7 +1147,7 @@ bool8 sub_8041364(void)
gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank];
gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank];
gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF;
- BattleScriptExecute(gUnknown_082DAFE4);
+ BattleScriptExecute(BattleScript_82DAFE4);
if (gWishFutureKnock.futureSightCounter[gActiveBank] == 0
&& gWishFutureKnock.futureSightCounter[gActiveBank ^ 2] == 0)
@@ -1298,12 +1186,12 @@ bool8 sub_8041364(void)
{
gStatuses3[gActiveBank] &= ~STATUS3_PERISH_SONG;
gBattleMoveDamage = gBattleMons[gActiveBank].hp;
- gBattlescriptCurrInstr = gUnknown_082DAF05;
+ gBattlescriptCurrInstr = BattleScript_82DAF05;
}
else
{
gDisableStructs[gActiveBank].perishSongTimer1--;
- gBattlescriptCurrInstr = gUnknown_082DAF20;
+ gBattlescriptCurrInstr = BattleScript_82DAF20;
}
BattleScriptExecute(gBattlescriptCurrInstr);
return 1;
@@ -1326,8 +1214,8 @@ bool8 sub_8041364(void)
for (i = 0; i < 2; i++)
CancelMultiTurnMoves(i);
- gBattlescriptCurrInstr = gUnknown_082DB8F3;
- BattleScriptExecute(gUnknown_082DB8F3);
+ gBattlescriptCurrInstr = BattleScript_82DB8F3;
+ BattleScriptExecute(BattleScript_82DB8F3);
gBattleStruct->field_1A0++;
return 1;
}
@@ -1367,7 +1255,7 @@ bool8 sub_8041728(void)
&& !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->field_4E]])
&& !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E]))
{
- BattleScriptExecute(gUnknown_082DA7C4);
+ BattleScriptExecute(BattleScript_82DA7C4);
gBattleStruct->field_4D = 2;
return TRUE;
}
@@ -1392,7 +1280,7 @@ bool8 sub_8041728(void)
if (gBattleMons[gBattleStruct->field_4E].hp == 0
&& !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E]))
{
- BattleScriptExecute(gUnknown_082DA7CD);
+ BattleScriptExecute(BattleScript_82DA7CD);
gBattleStruct->field_4D = 5;
return TRUE;
}
@@ -1961,7 +1849,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
if (effect)
{
gBattleCommunication[MULTISTRING_CHOOSER] = weather_get_current();
- BattleScriptPushCursorAndCallback(gUnknown_082DACE7);
+ BattleScriptPushCursorAndCallback(BattleScript_82DACE7);
}
break;
case ABILITY_DRIZZLE:
@@ -2167,9 +2055,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
if (gBattleMons[bank].maxHP == gBattleMons[bank].hp)
{
if ((gProtectStructs[gBankAttacker].notFirstStrike))
- gBattlescriptCurrInstr = gUnknown_082DB592;
+ gBattlescriptCurrInstr = BattleScript_82DB592;
else
- gBattlescriptCurrInstr = gUnknown_082DB591;
+ gBattlescriptCurrInstr = BattleScript_82DB591;
}
else
{
@@ -2380,7 +2268,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
}
BattleScriptPushCursor();
- gBattlescriptCurrInstr = gUnknown_082DB68C;
+ gBattlescriptCurrInstr = BattleScript_82DB68C;
gBattleScripting.bank = bank;
gActiveBank = bank;
EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1);
@@ -2445,7 +2333,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
{
gLastUsedAbility = ABILITY_INTIMIDATE;
gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES);
- BattleScriptPushCursorAndCallback(gUnknown_082DB4B8);
+ BattleScriptPushCursorAndCallback(BattleScript_82DB4B8);
gBattleStruct->intimidateBank = i;
effect++;
break;
@@ -2517,7 +2405,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
gLastUsedAbility = ABILITY_INTIMIDATE;
gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES);
BattleScriptPushCursor();
- gBattlescriptCurrInstr = gUnknown_082DB4C1;
+ gBattlescriptCurrInstr = BattleScript_82DB4C1;
gBattleStruct->intimidateBank = i;
effect++;
break;
@@ -3536,7 +3424,7 @@ u8 IsPokeDisobedient(void)
gBattleMons[gBankAttacker].status2 &= ~(STATUS2_RAGE);
if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK))
{
- gBattlescriptCurrInstr = gUnknown_082DB695;
+ gBattlescriptCurrInstr = BattleScript_82DB695;
return 1;
}
@@ -3559,7 +3447,7 @@ u8 IsPokeDisobedient(void)
} while (gBitTable[gCurrMovePos] & calc);
gRandomMove = gBattleMons[gBankAttacker].moves[gCurrMovePos];
- gBattlescriptCurrInstr = gUnknown_082DB6A5;
+ gBattlescriptCurrInstr = BattleScript_82DB6A5;
gBankTarget = GetMoveTarget(gRandomMove, 0);
gHitMarker |= HITMARKER_x200000;
return 2;
@@ -3581,7 +3469,7 @@ u8 IsPokeDisobedient(void)
}
if (i == gNoOfAllBanks)
{
- gBattlescriptCurrInstr = gUnknown_082DB6D9;
+ gBattlescriptCurrInstr = BattleScript_82DB6D9;
return 1;
}
}
@@ -3590,7 +3478,7 @@ u8 IsPokeDisobedient(void)
{
gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker);
gBankTarget = gBankAttacker;
- gBattlescriptCurrInstr = gUnknown_082DB6F0;
+ gBattlescriptCurrInstr = BattleScript_82DB6F0;
gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE;
return 2;
}