summaryrefslogtreecommitdiff
path: root/include/macros/battle_script.inc
diff options
context:
space:
mode:
Diffstat (limited to 'include/macros/battle_script.inc')
-rw-r--r--include/macros/battle_script.inc1414
1 files changed, 1414 insertions, 0 deletions
diff --git a/include/macros/battle_script.inc b/include/macros/battle_script.inc
new file mode 100644
index 000000000..e4fa0c454
--- /dev/null
+++ b/include/macros/battle_script.inc
@@ -0,0 +1,1414 @@
+@ 0 ==
+@ 1 !=
+@ 2 <
+@ 3 >
+@ 4 &=
+
+ .macro calculatedamage
+ critical
+ atk5
+ atk6
+ atk7
+ .endm
+
+
+ .macro attackcanceler
+ .byte 0x00
+ .endm
+
+ .macro accuracycheck address, param1
+ .byte 0x01
+ .4byte \address
+ .2byte \param1
+ .endm
+
+ .macro attackstring
+ .byte 0x02
+ .endm
+
+ .macro ppreduce
+ .byte 0x03
+ .endm
+
+ .macro critcalc
+ .byte 0x04
+ .endm
+
+ .macro damagecalc
+ .byte 0x05
+ .endm
+
+ .macro typecalc
+ .byte 0x06
+ .endm
+
+ .macro adjustnormaldamage
+ .byte 0x07
+ .endm
+
+ .macro adjustnormaldamage2
+ .byte 0x08
+ .endm
+
+ .macro attackanimation
+ .byte 0x09
+ .endm
+
+ .macro waitanimation
+ .byte 0x0a
+ .endm
+
+ .macro healthbarupdate bank
+ .byte 0x0b
+ .byte \bank
+ .endm
+
+ .macro datahpupdate bank
+ .byte 0x0c
+ .byte \bank
+ .endm
+
+ .macro critmessage
+ .byte 0x0d
+ .endm
+
+ .macro effectivenesssound
+ .byte 0x0e
+ .endm
+
+ .macro resultmessage
+ .byte 0x0f
+ .endm
+
+ .macro printstring string
+ .byte 0x10
+ .2byte \string
+ .endm
+
+ .macro printselectionstring string
+ .byte 0x11
+ .2byte \string
+ .endm
+
+ .macro waitmessage delay
+ .byte 0x12
+ .2byte \delay
+ .endm
+
+ .macro printfromtable table
+ .byte 0x13
+ .4byte \table
+ .endm
+
+ .macro printselectionstringfromtable table
+ .byte 0x14
+ .4byte \table
+ .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, param2, param3
+ .byte 0x19
+ .byte \bank
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro dofaintanimation param1
+ .byte 0x1a
+ .byte \param1
+ .endm
+
+ .macro cleareffectsonfaint bank
+ .byte 0x1b
+ .byte \bank
+ .endm
+
+ .macro jumpifstatus bank, status, address
+ .byte 0x1c
+ .byte \bank
+ .4byte \status
+ .4byte \address
+ .endm
+
+ .macro jumpifstatus2 bank, status, address
+ .byte 0x1d
+ .byte \bank
+ .4byte \status
+ .4byte \address
+ .endm
+
+ .macro jumpifability bank, ability, address
+ .byte 0x1e
+ .byte \bank
+ .byte \ability
+ .4byte \address
+ .endm
+
+ .macro jumpifsideaffecting bank, status, address
+ .byte 0x1f
+ .byte \bank
+ .2byte \status
+ .4byte \address
+ .endm
+
+ .macro jumpifstat bank, flag, quantity, statid, address
+ .byte 0x20
+ .byte \bank
+ .byte \flag
+ .byte \quantity
+ .byte \statid
+ .4byte \address
+ .endm
+
+ .macro jumpifstatus3condition bank, mask, status, address
+ .byte 0x21
+ .byte \bank
+ .4byte \mask
+ .byte \status
+ .4byte \address
+ .endm
+
+ .macro jumpiftype bank, type, address
+ .byte 0x22
+ .byte \bank
+ .byte \type
+ .4byte \address
+ .endm
+
+ .macro getexp bank
+ .byte 0x23
+ .byte \bank
+ .endm
+
+ .macro atk24 address
+ .byte 0x24
+ .4byte \address
+ .endm
+
+ .macro movevaluescleanup
+ .byte 0x25
+ .endm
+
+ .macro setmultihit param1
+ .byte 0x26
+ .byte \param1
+ .endm
+
+ .macro decrementmultihit address
+ .byte 0x27
+ .4byte \address
+ .endm
+
+ .macro goto address
+ .byte 0x28
+ .4byte \address
+ .endm
+
+ .macro jumpifbyte ifflag, checkaddr, compare, address
+ .byte 0x29
+ .byte \ifflag
+ .4byte \checkaddr
+ .byte \compare
+ .4byte \address
+ .endm
+
+ .macro jumpifhalfword ifflag, checkaddr, compare, address
+ .byte 0x2a
+ .byte \ifflag
+ .4byte \checkaddr
+ .2byte \compare
+ .4byte \address
+ .endm
+
+ .macro jumpifword ifflag, checkaddr, compare, address
+ .byte 0x2b
+ .byte \ifflag
+ .4byte \checkaddr
+ .4byte \compare
+ .4byte \address
+ .endm
+
+ .macro jumpifarrayequal mem1, mem2, size, address
+ .byte 0x2c
+ .4byte \mem1
+ .4byte \mem2
+ .byte \size
+ .4byte \address
+ .endm
+
+ .macro jumpifarraynotequal mem1, mem2, size, address
+ .byte 0x2d
+ .4byte \mem1
+ .4byte \mem2
+ .byte \size
+ .4byte \address
+ .endm
+
+ .macro setbyte pointer, value
+ .byte 0x2e
+ .4byte \pointer
+ .byte \value
+ .endm
+
+ .macro addbyte pointer, value
+ .byte 0x2f
+ .4byte \pointer
+ .byte \value
+ .endm
+
+ .macro subbyte pointer, value
+ .byte 0x30
+ .4byte \pointer
+ .byte \value
+ .endm
+
+ .macro copyarray destination, source, size
+ .byte 0x31
+ .4byte \destination
+ .4byte \source
+ .byte \size
+ .endm
+
+ .macro copyarraywithindex param1, param2, param3, byte
+ .byte 0x32
+ .4byte \param1
+ .4byte \param2
+ .4byte \param3
+ .byte \byte
+ .endm
+
+ .macro orbyte pointer, value
+ .byte 0x33
+ .4byte \pointer
+ .byte \value
+ .endm
+
+ .macro orhalfword pointer, value
+ .byte 0x34
+ .4byte \pointer
+ .2byte \value
+ .endm
+
+ .macro orword pointer, value
+ .byte 0x35
+ .4byte \pointer
+ .4byte \value
+ .endm
+
+ .macro bicbyte pointer, value
+ .byte 0x36
+ .4byte \pointer
+ .byte \value
+ .endm
+
+ .macro bichalfword pointer, value
+ .byte 0x37
+ .4byte \pointer
+ .2byte \value
+ .endm
+
+ .macro bicword pointer, value
+ .byte 0x38
+ .4byte \pointer
+ .4byte \value
+ .endm
+
+ .macro pause pause_duration
+ .byte 0x39
+ .2byte \pause_duration
+ .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 address
+ .byte 0x40
+ .4byte \address
+ .endm
+
+ .macro call address
+ .byte 0x41
+ .4byte \address
+ .endm
+
+ .macro jumpiftype2 bank, type, address
+ .byte 0x42
+ .byte \bank
+ .byte \type
+ .4byte \address
+ .endm
+
+ .macro jumpifabilitypresent ability, address
+ .byte 0x43
+ .byte \ability
+ .4byte \address
+ .endm
+
+ .macro endselectionscript
+ .byte 0x44
+ .endm
+
+ .macro playanimation bank, animation, var_address
+ .byte 0x45
+ .byte \bank
+ .byte \animation
+ .4byte \var_address
+ .endm
+
+ .macro playanimation2 bank, address, int
+ .byte 0x46
+ .byte \bank
+ .4byte \address
+ .4byte \int
+ .endm
+
+ .macro setgraphicalstatchangevalues
+ .byte 0x47
+ .endm
+
+ .macro playstatchangeanimation bank, color, byte
+ .byte 0x48
+ .byte \bank
+ .byte \color
+ .byte \byte
+ .endm
+
+ .macro moveend byte1, byte2
+ .byte 0x49
+ .byte \byte1
+ .byte \byte2
+ .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, byte
+ .byte 0x4e
+ .byte \bank
+ .byte \byte
+ .endm
+
+ .macro jumpifcantswitch bank, address
+ .byte 0x4f
+ .byte \bank
+ .4byte \address
+ .endm
+
+ .macro openpartyscreen bank, address
+ .byte 0x50
+ .byte \bank
+ .4byte \address
+ .endm
+
+ .macro switchhandleorder bank, param2
+ .byte 0x51
+ .byte \bank
+ .byte \param2
+ .endm
+
+ .macro switchineffects bank
+ .byte 0x52
+ .byte \bank
+ .endm
+
+ .macro trainerslidein bank
+ .byte 0x53
+ .byte \bank
+ .endm
+
+ .macro playse word
+ .byte 0x54
+ .2byte \word
+ .endm
+
+ .macro fanfare int
+ .byte 0x55
+ .2byte \int
+ .endm
+
+ .macro playfaintcry bank_or_side
+ .byte 0x56
+ .byte \bank_or_side
+ .endm
+
+ .macro atk57
+ .byte 0x57
+ .endm
+
+ .macro returntoball bank
+ .byte 0x58
+ .byte \bank
+ .endm
+
+ .macro handlelearnnewmove param1, param2, bank_maybe
+ .byte 0x59
+ .4byte \param1
+ .4byte \param2
+ .byte \bank_maybe
+ .endm
+
+ .macro yesnoboxlearnmove address
+ .byte 0x5a
+ .4byte \address
+ .endm
+
+ .macro yesnoboxstoplearningmove address
+ .byte 0x5b
+ .4byte \address
+ .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 byte
+ .byte 0x60
+ .byte \byte
+ .endm
+
+ .macro drawpartystatussummary bank_or_side
+ .byte 0x61
+ .byte \bank_or_side
+ .endm
+
+ .macro atk62 bank_or_side
+ .byte 0x62
+ .byte \bank_or_side
+ .endm
+
+ .macro jumptorandomattack bank
+ .byte 0x63
+ .byte \bank
+ .endm
+
+ .macro statusanimation bank
+ .byte 0x64
+ .byte \bank
+ .endm
+
+ .macro status2animation bank_or_side, address
+ .byte 0x65
+ .byte \bank_or_side
+ .4byte \address
+ .endm
+
+ .macro chosenstatusanimation bank_or_side, bank_or_side2, address
+ .byte 0x66
+ .byte \bank_or_side
+ .byte \bank_or_side2
+ .4byte \address
+ .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 address
+ .byte 0x72
+ .4byte \address
+ .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, byte
+ .byte 0x76
+ .byte \bank
+ .byte \byte
+ .endm
+
+ .macro setprotectlike
+ .byte 0x77
+ .endm
+
+ .macro faintifabilitynotdamp
+ .byte 0x78
+ .endm
+
+ .macro setatkhptozero
+ .byte 0x79
+ .endm
+
+ .macro jumpifnexttargetvalid address
+ .byte 0x7a
+ .4byte \address
+ .endm
+
+ .macro tryhealhalfhealth address, byte
+ .byte 0x7b
+ .4byte \address
+ .byte \byte
+ .endm
+
+ .macro trymirrormove
+ .byte 0x7c
+ .endm
+
+ .macro setrain
+ .byte 0x7d
+ .endm
+
+ .macro setreflect
+ .byte 0x7e
+ .endm
+
+ .macro setseeded
+ .byte 0x7f
+ .endm
+
+ .macro manipulatedamage id
+ .byte 0x80
+ .byte \id
+ .endm
+
+ .macro trysetrest address
+ .byte 0x81
+ .4byte \address
+ .endm
+
+ .macro jumpifnotfirstturn address
+ .byte 0x82
+ .4byte \address
+ .endm
+
+ .macro nop
+ .byte 0x83
+ .endm
+
+ .macro jumpifcantmakeasleep address
+ .byte 0x84
+ .4byte \address
+ .endm
+
+ .macro stockpile
+ .byte 0x85
+ .endm
+
+ .macro stockpiletobasedamage address
+ .byte 0x86
+ .4byte \address
+ .endm
+
+ .macro stockpiletohpheal address
+ .byte 0x87
+ .4byte \address
+ .endm
+
+ .macro negativedamage
+ .byte 0x88
+ .endm
+
+ .macro statbuffchange target, address
+ .byte 0x89
+ .byte \target
+ .4byte \address
+ .endm
+
+ .macro normalisebuffs
+ .byte 0x8a
+ .endm
+
+ .macro setbide
+ .byte 0x8b
+ .endm
+
+ .macro confuseifrepeatingattackends
+ .byte 0x8c
+ .endm
+
+ .macro setmultihitcounter count
+ .byte 0x8d
+ .byte \count
+ .endm
+
+ .macro initmultihitstring
+ .byte 0x8e
+ .endm
+
+ .macro forcerandomswitch address
+ .byte 0x8f
+ .4byte \address
+ .endm
+
+ .macro tryconversiontypechange address
+ .byte 0x90
+ .4byte \address
+ .endm
+
+ .macro givepaydaymoney
+ .byte 0x91
+ .endm
+
+ .macro setlightscreen
+ .byte 0x92
+ .endm
+
+ .macro tryKO address
+ .byte 0x93
+ .4byte \address
+ .endm
+
+ .macro damagetohalftargethp
+ .byte 0x94
+ .endm
+
+ .macro setsandstorm
+ .byte 0x95
+ .endm
+
+ .macro weatherdamage
+ .byte 0x96
+ .endm
+
+ .macro tryinfatuating address
+ .byte 0x97
+ .4byte \address
+ .endm
+
+ .macro updatestatusicon byte
+ .byte 0x98
+ .byte \byte
+ .endm
+
+ .macro setmist
+ .byte 0x99
+ .endm
+
+ .macro setfocusenergy
+ .byte 0x9a
+ .endm
+
+ .macro transformdataexecution
+ .byte 0x9b
+ .endm
+
+ .macro setsubstitute
+ .byte 0x9c
+ .endm
+
+ .macro mimicattackcopy address
+ .byte 0x9d
+ .4byte \address
+ .endm
+
+ .macro metronome
+ .byte 0x9e
+ .endm
+
+ .macro dmgtolevel
+ .byte 0x9f
+ .endm
+
+ .macro psywavedamageeffect
+ .byte 0xa0
+ .endm
+
+ .macro counterdamagecalculator address
+ .byte 0xa1
+ .4byte \address
+ .endm
+
+ .macro mirrorcoatdamagecalculator address
+ .byte 0xa2
+ .4byte \address
+ .endm
+
+ .macro disablelastusedattack address
+ .byte 0xa3
+ .4byte \address
+ .endm
+
+ .macro trysetencore address
+ .byte 0xa4
+ .4byte \address
+ .endm
+
+ .macro painsplitdmgcalc address
+ .byte 0xa5
+ .4byte \address
+ .endm
+
+ .macro settypetorandomresistance address
+ .byte 0xa6
+ .4byte \address
+ .endm
+
+ .macro setalwayshitflag
+ .byte 0xa7
+ .endm
+
+ .macro copymovepermanently address
+ .byte 0xa8
+ .4byte \address
+ .endm
+
+ .macro trychoosesleeptalkmove address
+ .byte 0xa9
+ .4byte \address
+ .endm
+
+ .macro setdestinybond
+ .byte 0xaa
+ .endm
+
+ .macro trysetdestinybondtohappen
+ .byte 0xab
+ .endm
+
+ .macro remaininghptopower
+ .byte 0xac
+ .endm
+
+ .macro tryspiteppreduce address
+ .byte 0xad
+ .4byte \address
+ .endm
+
+ .macro healpartystatus
+ .byte 0xae
+ .endm
+
+ .macro cursetarget address
+ .byte 0xaf
+ .4byte \address
+ .endm
+
+ .macro trysetspikes address
+ .byte 0xb0
+ .4byte \address
+ .endm
+
+ .macro setforesight
+ .byte 0xb1
+ .endm
+
+ .macro trysetperishsong address
+ .byte 0xb2
+ .4byte \address
+ .endm
+
+ .macro rolloutdamagecalculation
+ .byte 0xb3
+ .endm
+
+ .macro jumpifconfusedandstatmaxed bank, address
+ .byte 0xb4
+ .byte \bank
+ .4byte \address
+ .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 address
+ .byte 0xba
+ .4byte \address
+ .endm
+
+ .macro setsunny
+ .byte 0xbb
+ .endm
+
+ .macro maxattackhalvehp address
+ .byte 0xbc
+ .4byte \address
+ .endm
+
+ .macro copyfoestats address
+ .byte 0xbd
+ .4byte \address
+ .endm
+
+ .macro rapidspinfree
+ .byte 0xbe
+ .endm
+
+ .macro setdefensecurlbit
+ .byte 0xbf
+ .endm
+
+ .macro recoverbasedonsunlight address
+ .byte 0xc0
+ .4byte \address
+ .endm
+
+ .macro hiddenpowercalc
+ .byte 0xc1
+ .endm
+
+ .macro selectfirstvalidtarget
+ .byte 0xc2
+ .endm
+
+ .macro trysetfutureattack address
+ .byte 0xc3
+ .4byte \address
+ .endm
+
+ .macro trydobeatup address1, address2
+ .byte 0xc4
+ .4byte \address1
+ .4byte \address2
+ .endm
+
+ .macro setsemiinvulnerablebit
+ .byte 0xc5
+ .endm
+
+ .macro clearsemiinvulnerablebit
+ .byte 0xc6
+ .endm
+
+ .macro setminimize
+ .byte 0xc7
+ .endm
+
+ .macro sethail
+ .byte 0xc8
+ .endm
+
+ .macro jumpifattackandspecialattackcannotfall address
+ .byte 0xc9
+ .4byte \address
+ .endm
+
+ .macro setforcedtarget
+ .byte 0xca
+ .endm
+
+ .macro setcharge
+ .byte 0xcb
+ .endm
+
+ .macro callterrainattack
+ .byte 0xcc
+ .endm
+
+ .macro cureifburnedparalysedorpoisoned address
+ .byte 0xcd
+ .4byte \address
+ .endm
+
+ .macro settorment address
+ .byte 0xce
+ .4byte \address
+ .endm
+
+ .macro jumpifnodamage address
+ .byte 0xcf
+ .4byte \address
+ .endm
+
+ .macro settaunt address
+ .byte 0xd0
+ .4byte \address
+ .endm
+
+ .macro trysethelpinghand address
+ .byte 0xd1
+ .4byte \address
+ .endm
+
+ .macro tryswapitems address
+ .byte 0xd2
+ .4byte \address
+ .endm
+
+ .macro trycopyability address
+ .byte 0xd3
+ .4byte \address
+ .endm
+
+ .macro trywish byte, address
+ .byte 0xd4
+ .byte \byte
+ .4byte \address
+ .endm
+
+ .macro trysetroots address
+ .byte 0xd5
+ .4byte \address
+ .endm
+
+ .macro doubledamagedealtifdamaged
+ .byte 0xd6
+ .endm
+
+ .macro setyawn address
+ .byte 0xd7
+ .4byte \address
+ .endm
+
+ .macro setdamagetohealthdifference address
+ .byte 0xd8
+ .4byte \address
+ .endm
+
+ .macro scaledamagebyhealthratio
+ .byte 0xd9
+ .endm
+
+ .macro tryswapabilities address
+ .byte 0xda
+ .4byte \address
+ .endm
+
+ .macro tryimprision address
+ .byte 0xdb
+ .4byte \address
+ .endm
+
+ .macro trysetgrudge address
+ .byte 0xdc
+ .4byte \address
+ .endm
+
+ .macro weightdamagecalculation
+ .byte 0xdd
+ .endm
+
+ .macro assistattackselect address
+ .byte 0xde
+ .4byte \address
+ .endm
+
+ .macro trysetmagiccoat address
+ .byte 0xdf
+ .4byte \address
+ .endm
+
+ .macro trysetsnatch address
+ .byte 0xe0
+ .4byte \address
+ .endm
+
+ .macro trygetintimidatetarget address
+ .byte 0xe1
+ .4byte \address
+ .endm
+
+ .macro switchoutabilities bank
+ .byte 0xe2
+ .byte \bank
+ .endm
+
+ .macro jumpifhasnohp bank, address
+ .byte 0xe3
+ .byte \bank
+ .4byte \address
+ .endm
+
+ .macro getsecretpowereffect
+ .byte 0xe4
+ .endm
+
+ .macro pickup
+ .byte 0xe5
+ .endm
+
+ .macro docastformchangeanimation
+ .byte 0xe6
+ .endm
+
+ .macro trycastformdatachange
+ .byte 0xe7
+ .endm
+
+ .macro settypebasedhalvers address
+ .byte 0xe8
+ .4byte \address
+ .endm
+
+ .macro setweatherballtype
+ .byte 0xe9
+ .endm
+
+ .macro tryrecycleitem address
+ .byte 0xea
+ .4byte \address
+ .endm
+
+ .macro settypetoterrain address
+ .byte 0xeb
+ .4byte \address
+ .endm
+
+ .macro pursuitrelated address
+ .byte 0xec
+ .4byte \address
+ .endm
+
+ .macro snatchsetbanks
+ .byte 0xed
+ .endm
+
+ .macro removelightscreenreflect
+ .byte 0xee
+ .endm
+
+ .macro handleballthrow
+ .byte 0xef
+ .endm
+
+ .macro givecaughtmon
+ .byte 0xf0
+ .endm
+
+ .macro trysetcaughtmondexflags address
+ .byte 0xf1
+ .4byte \address
+ .endm
+
+ .macro displaydexinfo
+ .byte 0xf2
+ .endm
+
+ .macro trygivecaughtmonnick address
+ .byte 0xf3
+ .4byte \address
+ .endm
+
+ .macro subattackerhpbydmg
+ .byte 0xf4
+ .endm
+
+ .macro removeattackerstatus1
+ .byte 0xf5
+ .endm
+
+ .macro finishaction
+ .byte 0xf6
+ .endm
+
+ .macro finishturn
+ .byte 0xf7
+ .endm
+
+ .macro trainerslideout bank
+ .byte 0xf8
+ .byte \bank
+ .endm
+
+@ various command changed to more readable macros
+ .macro cancelmultiturnmoves bank
+ various \bank, VARIOUS_CANCEL_MULTI_TURN_MOVES
+ .endm
+
+ .macro setmagiccoattarget bank
+ various \bank, VARIOUS_SET_MAGIC_COAT_TARGET
+ .endm
+
+ .macro getifcantrunfrombattle bank
+ various \bank, VARIOUS_IS_RUNNING_IMPOSSIBLE
+ .endm
+
+ .macro getmovetarget bank
+ various \bank, VARIOUS_GET_MOVE_TARGET
+ .endm
+
+ .macro various4 bank
+ various \bank, 4
+ .endm
+
+ .macro resetintrimidatetracebits bank
+ various \bank, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
+ .endm
+
+ .macro updatechoicemoveonlvlup bank
+ various \bank, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
+ .endm
+
+ .macro various7 bank
+ various \bank, 7
+ .endm
+
+ .macro various8 bank
+ various \bank, 8
+ .endm
+
+ .macro various9 bank
+ various \bank, 9
+ .endm
+
+ .macro various10 bank
+ various \bank, 10
+ .endm
+
+ .macro various11 bank
+ various \bank, 11
+ .endm
+
+ .macro various12 bank
+ various \bank, 12
+ .endm
+
+ .macro forfeityesnobox bank
+ various \bank, VARIOUS_EMIT_YESNOBOX
+ .endm
+
+ .macro various14 bank
+ various \bank, 14
+ .endm
+
+ .macro various15 bank
+ various \bank, 15
+ .endm
+
+ .macro various16 bank
+ various \bank, 16
+ .endm
+
+ .macro various17 bank
+ various \bank, 17
+ .endm
+
+ .macro waitcry bank
+ various \bank, VARIOUS_WAIT_CRY
+ .endm
+
+ .macro returnopponentmon1toball bank
+ various \bank, VARIOUS_RETURN_OPPONENT_MON1
+ .endm
+
+ .macro returnopponentmon2toball bank
+ various \bank, VARIOUS_RETURN_OPPONENT_MON2
+ .endm
+
+ .macro various21 bank
+ various \bank, 21
+ .endm
+
+ .macro various22 bank
+ various \bank, 22
+ .endm
+
+ .macro various23 bank
+ various \bank, 23
+ .endm
+
+ .macro various24 bank
+ various \bank, 24
+ .endm
+
+ .macro setoutcomeonteleport bank
+ various \bank, VARIOUS_SET_TELEPORT_OUTCOME
+ .endm
+
+ .macro playtrainerdefeatbgm bank
+ various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
+ .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
+
+ .macro sethword dst, value
+ setbyte \dst, \value & 0xFF
+ setbyte \dst + 1, (\value >> 8) & 0xFF
+ .endm
+
+ .macro setword dst, value
+ setbyte \dst, \value & 0xFF
+ setbyte \dst + 1, (\value >> 8) & 0xFF
+ setbyte \dst + 2, (\value >> 16) & 0xFF
+ setbyte \dst + 3, (\value >> 24) & 0xFF
+ .endm
+
+ .macro copybyte dst, src
+ copyarray \dst, \src, 0x1
+ .endm
+
+ .macro copyhword dst, src
+ copyarray \dst, \src, 0x2
+ .endm
+
+ .macro copyword dst, src
+ copyarray \dst, \src, 0x4
+ .endm
+
+ .macro jumpifbytenotequal byte1, byte2, jumpptr
+ jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifbyteequal byte1, byte2, jumpptr
+ jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifmove move, jumpptr
+ jumpifhalfword EQUAL, gCurrentMove, \move, \jumpptr
+ .endm
+
+ .macro jumpifnotmove move, jumpptr
+ jumpifhalfword NOT_EQUAL, gCurrentMove, \move, \jumpptr
+ .endm
+
+ .macro jumpifstatus3 bank, status, jumpptr
+ jumpifstatus3condition \bank, \status, 0x0, \jumpptr
+ .endm
+
+ .macro jumpifnostatus3 bank, status, jumpptr
+ jumpifstatus3condition \bank, \status, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifmovehadnoeffect jumpptr
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, \jumpptr
+ .endm
+
+ .macro jumpifbattletype flags, jumpptr
+ jumpifhalfword COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
+ .endm
+
+ .macro jumpifnotbattletype flags, jumpptr
+ jumpifhalfword NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
+ .endm