summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2016-08-11 18:18:11 -0400
committeryenatch <yenatch@gmail.com>2016-08-11 18:18:11 -0400
commit0689f380a753749adf23eeee87f15e42a871526d (patch)
tree2d2526dd25467794a8b29a5650d7be68d2dbf1eb
parent7a097903bfa28b2c433b7b67f7c30dd8ed2f4712 (diff)
Add battle scripts and battle text constants.
-rw-r--r--asm/macros/battle_script.s1231
-rw-r--r--asm/rom3.s26
-rw-r--r--constants/battle.s13
-rw-r--r--constants/battle_text.s352
-rw-r--r--constants/constants.s2
-rw-r--r--constants/move_effects.s215
-rw-r--r--data/data1.s3926
-rw-r--r--data/data2.s78
-rw-r--r--data/text/battle_strings.s393
9 files changed, 5252 insertions, 984 deletions
diff --git a/asm/macros/battle_script.s b/asm/macros/battle_script.s
new file mode 100644
index 000000000..261efd8eb
--- /dev/null
+++ b/asm/macros/battle_script.s
@@ -0,0 +1,1231 @@
+@ 0 ==
+@ 1 !=
+@ 2 <
+@ 3 >
+@ 4 &=
+
+.equiv TARGET, 0
+.equiv USER, 1
+
+ .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 atk5
+ .byte 0x05
+ .endm
+
+ .macro atk6
+ .byte 0x06
+ .endm
+
+ .macro atk7
+ .byte 0x07
+ .endm
+
+ .macro atk8
+ .byte 0x08
+ .endm
+
+ .macro attackanimation
+ .byte 0x09
+ .endm
+
+ .macro waitanimation
+ .byte 0x0a
+ .endm
+
+ .macro graphicalhpupdate bank
+ .byte 0x0b
+ .byte \bank
+ .endm
+
+ .macro datahpupdate bank
+ .byte 0x0c
+ .byte \bank
+ .endm
+
+ .macro critmessage
+ .byte 0x0d
+ .endm
+
+ .macro missmessage
+ .byte 0x0e
+ .endm
+
+ .macro resultmessage
+ .byte 0x0f
+ .endm
+
+ .macro printstring string
+ .byte 0x10
+ .2byte \string
+ .endm
+
+ .macro printstring2 string
+ .byte 0x11
+ .2byte \string
+ .endm
+
+ .macro waitmessage delay
+ .byte 0x12
+ .2byte \delay
+ .endm
+
+ .macro printfromtable table
+ .byte 0x13
+ .4byte \table
+ .endm
+
+ .macro printfromtable2 table
+ .byte 0x14
+ .4byte \table
+ .endm
+
+ .macro seteffectwithchancetarget
+ .byte 0x15
+ .endm
+
+ .macro seteffecttarget
+ .byte 0x16
+ .endm
+
+ .macro seteffectuser
+ .byte 0x17
+ .endm
+
+ .macro clearstatus bank
+ .byte 0x18
+ .byte \bank
+ .endm
+
+ .macro faintpokemon bank, param2, param3
+ .byte 0x19
+ .byte \bank
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro atk1a param1
+ .byte 0x1a
+ .byte \param1
+ .endm
+
+ .macro atk1b bank
+ .byte 0x1b
+ .byte \bank
+ .endm
+
+ .macro jumpifstatus bank, status, address
+ .byte 0x1c
+ .byte \bank
+ .4byte \status
+ .4byte \address
+ .endm
+
+ .macro jumpifsecondarytstatus 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 jumpifhalverset 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 jumpifspecialstatusflag 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 atk23 bank
+ .byte 0x23
+ .byte \bank
+ .endm
+
+ .macro atk24 address
+ .byte 0x24
+ .4byte \address
+ .endm
+
+ .macro atk25
+ .byte 0x25
+ .endm
+
+ .macro atk26 param1
+ .byte 0x26
+ .byte \param1
+ .endm
+
+ .macro atk27 address
+ .byte 0x27
+ .4byte \address
+ .endm
+
+ .macro jump 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 subtractbyte pointer, value
+ .byte 0x30
+ .4byte \pointer
+ .byte \value
+ .endm
+
+ .macro copyarray destination, source, size
+ .byte 0x31
+ .4byte \destination
+ .4byte \source
+ .byte \size
+ .endm
+
+ .macro atk32 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 waitstateatk
+ .byte 0x3a
+ .endm
+
+ .macro somethinghealatk3b 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 atk40 address
+ .byte 0x40
+ .4byte \address
+ .endm
+
+ .macro callatk 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 atk44
+ .byte 0x44
+ .endm
+
+ .macro playanimation bank, animation, var_address
+ .byte 0x45
+ .byte \bank
+ .byte \animation
+ .4byte \var_address
+ .endm
+
+ .macro atk46 bank, address, int
+ .byte 0x46
+ .byte \bank
+ .4byte \address
+ .4byte \int
+ .endm
+
+ .macro atk47
+ .byte 0x47
+ .endm
+
+ .macro playstatchangeanimation bank, color, byte
+ .byte 0x48
+ .byte \bank
+ .byte \color
+ .byte \byte
+ .endm
+
+ .macro atk49 byte1, byte2
+ .byte 0x49
+ .byte \byte1
+ .byte \byte2
+ .endm
+
+ .macro damagecalc2
+ .byte 0x4a
+ .endm
+
+ .macro atk4b
+ .byte 0x4b
+ .endm
+
+ .macro switch1 bank
+ .byte 0x4c
+ .byte \bank
+ .endm
+
+ .macro switch2 bank
+ .byte 0x4d
+ .byte \bank
+ .endm
+
+ .macro switch3 bank, byte
+ .byte 0x4e
+ .byte \bank
+ .byte \byte
+ .endm
+
+ .macro jumpifcannotswitch bank, address
+ .byte 0x4f
+ .byte \bank
+ .4byte \address
+ .endm
+
+ .macro openpartyscreen bank, address
+ .byte 0x50
+ .byte \bank
+ .4byte \address
+ .endm
+
+ .macro atk51 bank, param2
+ .byte 0x51
+ .byte \bank
+ .byte \param2
+ .endm
+
+ .macro atk52 bank
+ .byte 0x52
+ .byte \bank
+ .endm
+
+ .macro atk53 bank
+ .byte 0x53
+ .byte \bank
+ .endm
+
+ .macro atk54 word
+ .byte 0x54
+ .2byte \word
+ .endm
+
+ .macro atk55 int
+ .byte 0x55
+ .4byte \int
+ .endm
+
+ .macro atk56 bank_or_side
+ .byte 0x56
+ .byte \bank_or_side
+ .endm
+
+ .macro atk57
+ .byte 0x57
+ .endm
+
+ .macro atk58 bank
+ .byte 0x58
+ .byte \bank
+ .endm
+
+ .macro checkiflearnmoveinbattle param1, param2, bank_maybe
+ .byte 0x59
+ .4byte \param1
+ .4byte \param2
+ .byte \bank_maybe
+ .endm
+
+ .macro atk5a address
+ .byte 0x5a
+ .4byte \address
+ .endm
+
+ .macro atk5b address
+ .byte 0x5b
+ .4byte \address
+ .endm
+
+ .macro atk5c bank
+ .byte 0x5c
+ .byte \bank
+ .endm
+
+ .macro atk5d
+ .byte 0x5d
+ .endm
+
+ .macro atk5e bank
+ .byte 0x5e
+ .byte \bank
+ .endm
+
+ .macro atk5f
+ .byte 0x5f
+ .endm
+
+ .macro atk60 byte
+ .byte 0x60
+ .byte \byte
+ .endm
+
+ .macro atk61 bank_or_side
+ .byte 0x61
+ .byte \bank_or_side
+ .endm
+
+ .macro atk62 bank_or_side
+ .byte 0x62
+ .byte \bank_or_side
+ .endm
+
+ .macro jumptoattack bank
+ .byte 0x63
+ .byte \bank
+ .endm
+
+ .macro statusanimation bank
+ .byte 0x64
+ .byte \bank
+ .endm
+
+ .macro atk65 bank_or_side, address
+ .byte 0x65
+ .byte \bank_or_side
+ .4byte \address
+ .endm
+
+ .macro atk66 bank_or_side, bank_or_side2, address
+ .byte 0x66
+ .byte \bank_or_side
+ .byte \bank_or_side2
+ .4byte \address
+ .endm
+
+ .macro atk67
+ .byte 0x67
+ .endm
+
+ .macro atk68
+ .byte 0x68
+ .endm
+
+ .macro atk69
+ .byte 0x69
+ .endm
+
+ .macro removeitem bank
+ .byte 0x6a
+ .byte \bank
+ .endm
+
+ .macro atk6b
+ .byte 0x6b
+ .endm
+
+ .macro atk6c
+ .byte 0x6c
+ .endm
+
+ .macro atk6d
+ .byte 0x6d
+ .endm
+
+ .macro atk6e
+ .byte 0x6e
+ .endm
+
+ .macro atk6f bank
+ .byte 0x6f
+ .byte \bank
+ .endm
+
+ .macro atk70 bank
+ .byte 0x70
+ .byte \bank
+ .endm
+
+ .macro atk71
+ .byte 0x71
+ .endm
+
+ .macro atk72 address
+ .byte 0x72
+ .4byte \address
+ .endm
+
+ .macro atk73 bank
+ .byte 0x73
+ .byte \bank
+ .endm
+
+ .macro atk74 bank
+ .byte 0x74
+ .byte \bank
+ .endm
+
+ .macro atk75
+ .byte 0x75
+ .endm
+
+ .macro atk76 bank, byte
+ .byte 0x76
+ .byte \bank
+ .byte \byte
+ .endm
+
+ .macro setprotect
+ .byte 0x77
+ .endm
+
+ .macro faintifabilitynotdamp
+ .byte 0x78
+ .endm
+
+ .macro setuserhptozero
+ .byte 0x79
+ .endm
+
+ .macro jumpwhiletargetvalid address
+ .byte 0x7a
+ .4byte \address
+ .endm
+
+ .macro setdamageasrestorehalfmaxhp address, byte
+ .byte 0x7b
+ .4byte \address
+ .byte \byte
+ .endm
+
+ .macro jumptolastusedattack
+ .byte 0x7c
+ .endm
+
+ .macro setrain
+ .byte 0x7d
+ .endm
+
+ .macro setreflect
+ .byte 0x7e
+ .endm
+
+ .macro setleechseed
+ .byte 0x7f
+ .endm
+
+ .macro manipulatedamage id
+ .byte 0x80
+ .byte \id
+ .endm
+
+ .macro setrest address
+ .byte 0x81
+ .4byte \address
+ .endm
+
+ .macro jumpifnotfirstturn address
+ .byte 0x82
+ .4byte \address
+ .endm
+
+ .macro nop3
+ .byte 0x83
+ .endm
+
+ .macro jumpifcannotsleep address
+ .byte 0x84
+ .4byte \address
+ .endm
+
+ .macro stockpile
+ .byte 0x85
+ .endm
+
+ .macro stockpiletobasedamage address
+ .byte 0x86
+ .4byte \address
+ .endm
+
+ .macro stockpiletohprecovery 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 setloopcounter count
+ .byte 0x8d
+ .byte \count
+ .endm
+
+ .macro atk8e
+ .byte 0x8e
+ .endm
+
+ .macro forcerandomswitch address
+ .byte 0x8f
+ .4byte \address
+ .endm
+
+ .macro changetypestoenemyattacktype address
+ .byte 0x90
+ .4byte \address
+ .endm
+
+ .macro givemoney
+ .byte 0x91
+ .endm
+
+ .macro setlightscreen
+ .byte 0x92
+ .endm
+
+ .macro koplussomethings address
+ .byte 0x93
+ .4byte \address
+ .endm
+
+ .macro gethalfcurrentenemyhp
+ .byte 0x94
+ .endm
+
+ .macro setsandstorm
+ .byte 0x95
+ .endm
+
+ .macro weatherdamage
+ .byte 0x96
+ .endm
+
+ .macro tryinfatuatetarget address
+ .byte 0x97
+ .4byte \address
+ .endm
+
+ .macro atk98 byte
+ .byte 0x98
+ .byte \byte
+ .endm
+
+ .macro setmisteffect
+ .byte 0x99
+ .endm
+
+ .macro setincreasedcriticalchance
+ .byte 0x9a
+ .endm
+
+ .macro transformdataexecution
+ .byte 0x9b
+ .endm
+
+ .macro setsubstituteeffect
+ .byte 0x9c
+ .endm
+
+ .macro copyattack address
+ .byte 0x9d
+ .4byte \address
+ .endm
+
+ .macro metronomeeffect
+ .byte 0x9e
+ .endm
+
+ .macro nightshadedamageeffect
+ .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 setencore address
+ .byte 0xa4
+ .4byte \address
+ .endm
+
+ .macro painsplitdamagecalculator 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 selectrandommovefromusermoves address
+ .byte 0xa9
+ .4byte \address
+ .endm
+
+ .macro destinybondeffect
+ .byte 0xaa
+ .endm
+
+ .macro atkab
+ .byte 0xab
+ .endm
+
+ .macro remaininghptopower
+ .byte 0xac
+ .endm
+
+ .macro reducepprandom address
+ .byte 0xad
+ .4byte \address
+ .endm
+
+ .macro clearstatusifnotsoundproofed
+ .byte 0xae
+ .endm
+
+ .macro cursetarget address
+ .byte 0xaf
+ .4byte \address
+ .endm
+
+ .macro setspikes address
+ .byte 0xb0
+ .4byte \address
+ .endm
+
+ .macro setforesight
+ .byte 0xb1
+ .endm
+
+ .macro setperishsong address
+ .byte 0xb2
+ .4byte \address
+ .endm
+
+ .macro rolloutdamagecalculation
+ .byte 0xb3
+ .endm
+
+ .macro jumpifconfusedandattackmaxed bank, address
+ .byte 0xb4
+ .byte \bank
+ .4byte \address
+ .endm
+
+ .macro furycutterdamagecalculation
+ .byte 0xb5
+ .endm
+
+ .macro happinesstodamagecalculation
+ .byte 0xb6
+ .endm
+
+ .macro presentdamagecalculation
+ .byte 0xb7
+ .endm
+
+ .macro setsafeguard
+ .byte 0xb8
+ .endm
+
+ .macro magnitudedamagecalculation
+ .byte 0xb9
+ .endm
+
+ .macro atkba 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 breakfree
+ .byte 0xbe
+ .endm
+
+ .macro setcurled
+ .byte 0xbf
+ .endm
+
+ .macro recoverbasedonsunlight address
+ .byte 0xc0
+ .4byte \address
+ .endm
+
+ .macro hiddenpowerdamagecalculation
+ .byte 0xc1
+ .endm
+
+ .macro selectnexttarget
+ .byte 0xc2
+ .endm
+
+ .macro setfutureattack address
+ .byte 0xc3
+ .4byte \address
+ .endm
+
+ .macro beatupcalculation address1, address2
+ .byte 0xc4
+ .4byte \address1
+ .4byte \address2
+ .endm
+
+ .macro hidepreattack
+ .byte 0xc5
+ .endm
+
+ .macro unhidepostattack
+ .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 sethelpinghand address
+ .byte 0xd1
+ .4byte \address
+ .endm
+
+ .macro itemswap address
+ .byte 0xd2
+ .4byte \address
+ .endm
+
+ .macro copyability address
+ .byte 0xd3
+ .4byte \address
+ .endm
+
+ .macro atkd4 byte, address
+ .byte 0xd4
+ .byte \byte
+ .4byte \address
+ .endm
+
+ .macro setroots 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 abilityswap address
+ .byte 0xda
+ .4byte \address
+ .endm
+
+ .macro imprisoneffect address
+ .byte 0xdb
+ .4byte \address
+ .endm
+
+ .macro setgrudge address
+ .byte 0xdc
+ .4byte \address
+ .endm
+
+ .macro weightdamagecalculation
+ .byte 0xdd
+ .endm
+
+ .macro assistattackselect address
+ .byte 0xde
+ .4byte \address
+ .endm
+
+ .macro setmagiccoat address
+ .byte 0xdf
+ .4byte \address
+ .endm
+
+ .macro setstealstatchange address
+ .byte 0xe0
+ .4byte \address
+ .endm
+
+ .macro atke1 address
+ .byte 0xe1
+ .4byte \address
+ .endm
+
+ .macro atke2 bank
+ .byte 0xe2
+ .byte \bank
+ .endm
+
+ .macro jumpiffainted bank, address
+ .byte 0xe3
+ .byte \bank
+ .4byte \address
+ .endm
+
+ .macro naturepowereffect
+ .byte 0xe4
+ .endm
+
+ .macro pickupitemcalculation
+ .byte 0xe5
+ .endm
+
+ .macro actualcastformswitch
+ .byte 0xe6
+ .endm
+
+ .macro castformswitch
+ .byte 0xe7
+ .endm
+
+ .macro settypebasedhalvers address
+ .byte 0xe8
+ .4byte \address
+ .endm
+
+ .macro seteffectbyweather
+ .byte 0xe9
+ .endm
+
+ .macro recycleitem address
+ .byte 0xea
+ .4byte \address
+ .endm
+
+ .macro settypetoterrain address
+ .byte 0xeb
+ .4byte \address
+ .endm
+
+ .macro pursuitwhenswitched address
+ .byte 0xec
+ .4byte \address
+ .endm
+
+ .macro snatchmove
+ .byte 0xed
+ .endm
+
+ .macro removereflectlightscreen
+ .byte 0xee
+ .endm
+
+ .macro pokemoncatchfunction
+ .byte 0xef
+ .endm
+
+ .macro catchpoke
+ .byte 0xf0
+ .endm
+
+ .macro capturesomethingf1 address
+ .byte 0xf1
+ .4byte \address
+ .endm
+
+ .macro capturesomethingf2
+ .byte 0xf2
+ .endm
+
+ .macro capturesomethingf3 address
+ .byte 0xf3
+ .4byte \address
+ .endm
+
+ .macro removehp
+ .byte 0xf4
+ .endm
+
+ .macro curestatusfirstword
+ .byte 0xf5
+ .endm
+
+ .macro atkf6
+ .byte 0xf6
+ .endm
+
+ .macro activesidesomething
+ .byte 0xf7
+ .endm
+
+ .macro atkf8 bank
+ .byte 0xf8
+ .byte \bank
+ .endm
diff --git a/asm/rom3.s b/asm/rom3.s
index 091637bec..0e7921f3f 100644
--- a/asm/rom3.s
+++ b/asm/rom3.s
@@ -36163,7 +36163,7 @@ _0801BCA4: .4byte 0x02024a80
_0801BCA8: .4byte 0x02024c07
_0801BCAC: .4byte 0x02024c6c
_0801BCB0: .4byte 0x02024c10
-_0801BCB4: .4byte gUnknown_081D6F62
+_0801BCB4: .4byte BattleScript_1D6F62
_0801BCB8:
bl sub_8017718
lsls r0, 24
@@ -41425,7 +41425,7 @@ _0801E676:
.align 2, 0
_0801E678: .4byte 0x02024c06
_0801E67C: .4byte 0x02024c10
-_0801E680: .4byte gUnknown_081D98BD
+_0801E680: .4byte BattleScript_1D98BD
_0801E684: .4byte 0x02024c6c
_0801E688:
mov r1, r8
@@ -41537,7 +41537,7 @@ _0801E72E:
.align 2, 0
_0801E74C: .4byte 0x02024c06
_0801E750: .4byte 0x02024c10
-_0801E754: .4byte gUnknown_081D98A5
+_0801E754: .4byte BattleScript_1D98A5
_0801E758:
mov r0, r8
ldrb r1, [r0]
@@ -41577,7 +41577,7 @@ _0801E78E:
.align 2, 0
_0801E79C: .4byte 0x02024c6c
_0801E7A0: .4byte 0x02024c10
-_0801E7A4: .4byte gUnknown_081D98A5
+_0801E7A4: .4byte BattleScript_1D98A5
_0801E7A8:
mov r3, r8
ldrb r0, [r3]
@@ -41728,7 +41728,7 @@ _0801E8A6:
.align 2, 0
_0801E8C4: .4byte 0x02024c06
_0801E8C8: .4byte 0x02024c10
-_0801E8CC: .4byte gUnknown_081D98B1
+_0801E8CC: .4byte BattleScript_1D98B1
_0801E8D0:
mov r0, r9
adds r0, 0x4C
@@ -41785,7 +41785,7 @@ _0801E928:
.align 2, 0
_0801E938: .4byte 0x02024c06
_0801E93C: .4byte 0x02024c10
-_0801E940: .4byte gUnknown_081D98BD
+_0801E940: .4byte BattleScript_1D98BD
_0801E944: .4byte 0x02024c6c
_0801E948: .4byte 0xffffdfff
_0801E94C:
@@ -41837,7 +41837,7 @@ _0801E998:
.align 2, 0
_0801E9A4: .4byte 0x02024c6c
_0801E9A8: .4byte 0x02024c10
-_0801E9AC: .4byte gUnknown_081D98BD
+_0801E9AC: .4byte BattleScript_1D98BD
_0801E9B0: .4byte 0x02024d1e
_0801E9B4:
mov r3, r8
@@ -56388,7 +56388,7 @@ _08025F74:
.align 2, 0
_08025F78: .4byte 0x02024be6
_08025F7C: .4byte 0x02024c10
-_08025F80: .4byte gUnknown_081D83D6
+_08025F80: .4byte BattleScript_1D83D6
_08025F84:
ldr r2, _08025FCC
ldr r1, _08025FD0
@@ -62114,7 +62114,7 @@ atkB3_rolloutdamagecalculation: @ 8028CE4
_08028D08: .4byte 0x02024c68
_08028D0C: .4byte 0x02024c07
_08028D10: .4byte 0x02024c10
-_08028D14: .4byte gUnknown_081D6F74
+_08028D14: .4byte BattleScript_1D6F74
_08028D18:
ldr r2, _08028E3C
ldr r1, _08028E40
@@ -62362,7 +62362,7 @@ _08028EF0: .4byte 0x02024c68
_08028EF4: .4byte 0x02024ca8
_08028EF8: .4byte 0x02024c07
_08028EFC: .4byte 0x02024c10
-_08028F00: .4byte gUnknown_081D6F74
+_08028F00: .4byte BattleScript_1D6F74
_08028F04:
ldr r5, _08028F64
ldr r4, _08028F68
@@ -62548,7 +62548,7 @@ _08029068: .4byte 0x02024bec
_0802906C: .4byte 0x02024a80
_08029070: .4byte 0x02024c08
_08029074: .4byte 0x02024c10
-_08029078: .4byte gUnknown_081D6F44
+_08029078: .4byte BattleScript_1D6F44
_0802907C:
ldr r2, _08029098
ldr r0, _0802909C
@@ -62567,7 +62567,7 @@ _0802907C:
_08029098: .4byte 0x02024a80
_0802909C: .4byte 0x02024c08
_080290A0: .4byte 0x02024c10
-_080290A4: .4byte gUnknown_081D83B5
+_080290A4: .4byte BattleScript_1D83B5
_080290A8:
ldr r1, _080290B4
ldr r0, _080290B8
@@ -62578,7 +62578,7 @@ _080290AC:
bx r0
.align 2, 0
_080290B4: .4byte 0x02024c10
-_080290B8: .4byte gUnknown_081D839B
+_080290B8: .4byte BattleScript_1D839B
thumb_func_end atkB7_presentdamagecalculation
thumb_func_start sub_80290BC
diff --git a/constants/battle.s b/constants/battle.s
new file mode 100644
index 000000000..26df01cf3
--- /dev/null
+++ b/constants/battle.s
@@ -0,0 +1,13 @@
+.equiv SLP, 0x07
+.equiv PSN, 0x08
+.equiv BRN, 0x10
+.equiv FRZ, 0x20
+.equiv PAR, 0x40
+.equiv TOX, 0x80
+
+.equiv S_CONFUSED, 0x07
+.equiv S_CONTINUE, 0x1000
+.equiv S_FOCUS_ENERGY, 0x100000
+.equiv S_SUBSTITUTE, 0x1000000
+.equiv S_MEAN_LOOK, 0x4000000
+.equiv S_NIGHTMARE, 0x8000000
diff --git a/constants/battle_text.s b/constants/battle_text.s
new file mode 100644
index 000000000..f7025f68f
--- /dev/null
+++ b/constants/battle_text.s
@@ -0,0 +1,352 @@
+ enum_start 12
+ enum BATTLE_TEXT_UnknownString
+ enum BATTLE_TEXT_GainExpPoints
+ enum BATTLE_TEXT_GrewLevel
+ enum BATTLE_TEXT_LearnedMove
+ enum BATTLE_TEXT_TryingToLearnMove
+ enum BATTLE_TEXT_CantLearnMore
+ enum BATTLE_TEXT_DeleteMove
+ enum BATTLE_TEXT_DeletedMove
+ enum BATTLE_TEXT_StopLearning
+ enum BATTLE_TEXT_DidNotLearn
+ enum BATTLE_TEXT_LearnedMove2
+ enum BATTLE_TEXT_AttackMissed
+ enum BATTLE_TEXT_ProtectedItself
+ enum BATTLE_TEXT_StatNoHigher
+ enum BATTLE_TEXT_AvoidedDamage
+ enum BATTLE_TEXT_DoesntAffect
+ enum BATTLE_TEXT_AttackingFainted
+ enum BATTLE_TEXT_DefendingFainted
+ enum BATTLE_TEXT_WinningPrize
+ enum BATTLE_TEXT_OutOfUsablePoke
+ enum BATTLE_TEXT_WhitedOut
+ enum BATTLE_TEXT_PreventEscape
+ enum BATTLE_TEXT_HitMulti
+ enum BATTLE_TEXT_FellAsleep
+ enum BATTLE_TEXT_MadeAsleep
+ enum BATTLE_TEXT_DefendingAsleep
+ enum BATTLE_TEXT_AttackingAsleep
+ enum BATTLE_TEXT_WasntAffected
+ enum BATTLE_TEXT_Poisoned
+ enum BATTLE_TEXT_Poisoned2
+ enum BATTLE_TEXT_PoisonHurt
+ enum BATTLE_TEXT_AlreadyPoisoned
+ enum BATTLE_TEXT_BadlyPoisoned
+ enum BATTLE_TEXT_EnergyDrained
+ enum BATTLE_TEXT_Burned
+ enum BATTLE_TEXT_Burned2
+ enum BATTLE_TEXT_BurnHurt
+ enum BATTLE_TEXT_Frozen
+ enum BATTLE_TEXT_Frozen2
+ enum BATTLE_TEXT_FrozenSolid
+ enum BATTLE_TEXT_DefendingDefrosted
+ enum BATTLE_TEXT_AttackingDefrosted
+ enum BATTLE_TEXT_Defrosted
+ enum BATTLE_TEXT_Paralyzed
+ enum BATTLE_TEXT_Paralyzed2
+ enum BATTLE_TEXT_Paralyzed3
+ enum BATTLE_TEXT_AlreadyParalyzed
+ enum BATTLE_TEXT_ParalysisHealed
+ enum BATTLE_TEXT_DreamEaten
+ enum BATTLE_TEXT_AttackingStatNoHigher
+ enum BATTLE_TEXT_DefendingStatNoHigher
+ enum BATTLE_TEXT_StoppedWorking
+ enum BATTLE_TEXT_StoppedWorking2
+ enum BATTLE_TEXT_Confused
+ enum BATTLE_TEXT_ConfusionSnapOut
+ enum BATTLE_TEXT_BecameConfused
+ enum BATTLE_TEXT_AlreadyConfused
+ enum BATTLE_TEXT_FellLove
+ enum BATTLE_TEXT_InLoveWith
+ enum BATTLE_TEXT_ImmobilizedBy
+ enum BATTLE_TEXT_BlownAway
+ enum BATTLE_TEXT_TypeTransform
+ enum BATTLE_TEXT_Flinched
+ enum BATTLE_TEXT_RegainedHealth
+ enum BATTLE_TEXT_HPFull
+ enum BATTLE_TEXT_RaisedSpDef
+ enum BATTLE_TEXT_RaisedDefense
+ enum BATTLE_TEXT_CoveredVeil
+ enum BATTLE_TEXT_SafeguardActive
+ enum BATTLE_TEXT_SafeguardFaded
+ enum BATTLE_TEXT_WentToSleep
+ enum BATTLE_TEXT_SpeltHealthy
+ enum BATTLE_TEXT_WhipWhirlwind
+ enum BATTLE_TEXT_TookSunlight
+ enum BATTLE_TEXT_LoweredHead
+ enum BATTLE_TEXT_IsGlowing
+ enum BATTLE_TEXT_FlewHigh
+ enum BATTLE_TEXT_DugHole
+ enum BATTLE_TEXT_SqueezedBind
+ enum BATTLE_TEXT_TrappedVortex
+ enum BATTLE_TEXT_Wrapped
+ enum BATTLE_TEXT_Clamped
+ enum BATTLE_TEXT_HurtBy
+ enum BATTLE_TEXT_FreedFrom
+ enum BATTLE_TEXT_KeptGoingCrash
+ enum BATTLE_TEXT_MistShroud
+ enum BATTLE_TEXT_MistProtect
+ enum BATTLE_TEXT_GetPumped
+ enum BATTLE_TEXT_HitRecoil
+ enum BATTLE_TEXT_ProtectedItself2
+ enum BATTLE_TEXT_SandBuffeted
+ enum BATTLE_TEXT_HailStricken
+ enum BATTLE_TEXT_WasSeeded
+ enum BATTLE_TEXT_EvadedAttack
+ enum BATTLE_TEXT_HealthSapped
+ enum BATTLE_TEXT_FastAsleep
+ enum BATTLE_TEXT_WokeUp
+ enum BATTLE_TEXT_UproarAwake
+ enum BATTLE_TEXT_UproarWoke
+ enum BATTLE_TEXT_UproarCaused
+ enum BATTLE_TEXT_UproarMaking
+ enum BATTLE_TEXT_CalmedDown
+ enum BATTLE_TEXT_UproarCantSleep
+ enum BATTLE_TEXT_Stockpiled
+ enum BATTLE_TEXT_StockpiledCant
+ enum BATTLE_TEXT_UproarCantSleep2
+ enum BATTLE_TEXT_UproarKeptAwake
+ enum BATTLE_TEXT_StayedAwake
+ enum BATTLE_TEXT_StoringEnergy
+ enum BATTLE_TEXT_UnleashedEnergy
+ enum BATTLE_TEXT_FatigueConfuse
+ enum BATTLE_TEXT_PickedUpYen
+ enum BATTLE_TEXT_Unaffected
+ enum BATTLE_TEXT_Transformed
+ enum BATTLE_TEXT_SubMade
+ enum BATTLE_TEXT_SubAlready
+ enum BATTLE_TEXT_SubTookDamage
+ enum BATTLE_TEXT_SubFaded
+ enum BATTLE_TEXT_MustRecharge
+ enum BATTLE_TEXT_RageBuilding
+ enum BATTLE_TEXT_MoveWasDisabled
+ enum BATTLE_TEXT_MoveIsDisabled
+ enum BATTLE_TEXT_DisabledNoMore
+ enum BATTLE_TEXT_EncoreGot
+ enum BATTLE_TEXT_EncoreEnded
+ enum BATTLE_TEXT_TookAim
+ enum BATTLE_TEXT_SketchedMove
+ enum BATTLE_TEXT_DestinyBondTake
+ enum BATTLE_TEXT_DestinyBondTaken
+ enum BATTLE_TEXT_ReducedBy
+ enum BATTLE_TEXT_StoleSomething
+ enum BATTLE_TEXT_CantEscapeNow
+ enum BATTLE_TEXT_NightmareStart
+ enum BATTLE_TEXT_NightmareLock
+ enum BATTLE_TEXT_CurseLay
+ enum BATTLE_TEXT_CurseAfflict
+ enum BATTLE_TEXT_SpikesScattered
+ enum BATTLE_TEXT_SpikesHurt
+ enum BATTLE_TEXT_IdentifiedPoke
+ enum BATTLE_TEXT_PerishSongFell
+ enum BATTLE_TEXT_BracedItself
+ enum BATTLE_TEXT_EnduredHit
+ enum BATTLE_TEXT_MagnitudeCount
+ enum BATTLE_TEXT_CutHPMaxATK
+ enum BATTLE_TEXT_CopyStatChanges
+ enum BATTLE_TEXT_GotFreeFrom
+ enum BATTLE_TEXT_LeechShed
+ enum BATTLE_TEXT_SpikesBlownAway
+ enum BATTLE_TEXT_FledBattle
+ enum BATTLE_TEXT_ForesawAttack
+ enum BATTLE_TEXT_TookAttack
+ enum BATTLE_TEXT_PokeAttack
+ enum BATTLE_TEXT_CenterAttention
+ enum BATTLE_TEXT_ChargingPower
+ enum BATTLE_TEXT_NaturePower
+ enum BATTLE_TEXT_StatusNormal
+ enum BATTLE_TEXT_NoMovesLeft
+ enum BATTLE_TEXT_TormentSubject
+ enum BATTLE_TEXT_TormentNoUse
+ enum BATTLE_TEXT_TightenFocus
+ enum BATTLE_TEXT_TauntFell
+ enum BATTLE_TEXT_TauntNoUse
+ enum BATTLE_TEXT_ReadyToHelp
+ enum BATTLE_TEXT_SwitchedItems
+ enum BATTLE_TEXT_CopiedObject
+ enum BATTLE_TEXT_WishMade
+ enum BATTLE_TEXT_WishTrue
+ enum BATTLE_TEXT_PlantedRoots
+ enum BATTLE_TEXT_AbsorbNutrients
+ enum BATTLE_TEXT_AnchoredItself
+ enum BATTLE_TEXT_DrowsyMade
+ enum BATTLE_TEXT_KnockedOffItem
+ enum BATTLE_TEXT_AbilitySwap
+ enum BATTLE_TEXT_SealedMove
+ enum BATTLE_TEXT_SealedNoUse
+ enum BATTLE_TEXT_GrudgeBear
+ enum BATTLE_TEXT_GrudgeLosePP
+ enum BATTLE_TEXT_ShroudedItself
+ enum BATTLE_TEXT_MagicCoatBounce
+ enum BATTLE_TEXT_AwaitMove
+ enum BATTLE_TEXT_SnatchedMove
+ enum BATTLE_TEXT_RainMade
+ enum BATTLE_TEXT_SpeedRisen
+ enum BATTLE_TEXT_ProtectedBy
+ enum BATTLE_TEXT_PreventedBy
+ enum BATTLE_TEXT_HPRestoredUsing
+ enum BATTLE_TEXT_MadeType
+ enum BATTLE_TEXT_PreventedPara
+ enum BATTLE_TEXT_PreventedRomance
+ enum BATTLE_TEXT_PreventedPoison
+ enum BATTLE_TEXT_PreventedConfusion
+ enum BATTLE_TEXT_RaisedFirePower
+ enum BATTLE_TEXT_AnchorsItself
+ enum BATTLE_TEXT_CutsAttack
+ enum BATTLE_TEXT_PreventedStatLoss
+ enum BATTLE_TEXT_HurtOther
+ enum BATTLE_TEXT_Traced
+ enum BATTLE_TEXT_Sharply
+ enum BATTLE_TEXT_Rose
+ enum BATTLE_TEXT_Harshly
+ enum BATTLE_TEXT_Fell
+ enum BATTLE_TEXT_UnknownString7
+ enum BATTLE_TEXT_UnknownString3
+ enum BATTLE_TEXT_UnknownString5
+ enum BATTLE_TEXT_UnknownString6
+ enum BATTLE_TEXT_Critical
+ enum BATTLE_TEXT_GrandSlam
+ enum BATTLE_TEXT_MoveForget123
+ enum BATTLE_TEXT_MoveForgetAnd
+ enum BATTLE_TEXT_NotEffective
+ enum BATTLE_TEXT_SuperEffective
+ enum BATTLE_TEXT_GotAwaySafely
+ enum BATTLE_TEXT_FledWild
+ enum BATTLE_TEXT_NoRunning
+ enum BATTLE_TEXT_CantEscape2
+ enum BATTLE_TEXT_BirchDontLeaveMe
+ enum BATTLE_TEXT_Nothing
+ enum BATTLE_TEXT_Failed
+ enum BATTLE_TEXT_HurtItself
+ enum BATTLE_TEXT_MirrorFail
+ enum BATTLE_TEXT_RainStart
+ enum BATTLE_TEXT_PourStart
+ enum BATTLE_TEXT_RainCont1
+ enum BATTLE_TEXT_PourCont
+ enum BATTLE_TEXT_RainStop
+ enum BATTLE_TEXT_SandBrewed
+ enum BATTLE_TEXT_SandRages
+ enum BATTLE_TEXT_SandSubsided
+ enum BATTLE_TEXT_SunBright
+ enum BATTLE_TEXT_SunStrong
+ enum BATTLE_TEXT_SunFaded
+ enum BATTLE_TEXT_HailStart
+ enum BATTLE_TEXT_HailCont
+ enum BATTLE_TEXT_HailStop
+ enum BATTLE_TEXT_SpitUpFail
+ enum BATTLE_TEXT_SwallowFail
+ enum BATTLE_TEXT_WindHeatWave
+ enum BATTLE_TEXT_StatElim
+ enum BATTLE_TEXT_CoinScatter
+ enum BATTLE_TEXT_SubWeak
+ enum BATTLE_TEXT_PainSplit
+ enum BATTLE_TEXT_BellChime
+ enum BATTLE_TEXT_PerishSong
+ enum BATTLE_TEXT_NoPP1
+ enum BATTLE_TEXT_NoPP2
+ enum BATTLE_TEXT_Used1
+ enum BATTLE_TEXT_TutorialUsed
+ enum BATTLE_TEXT_BlockBall
+ enum BATTLE_TEXT_DontBeAThief
+ enum BATTLE_TEXT_DodgeBall
+ enum BATTLE_TEXT_MissPoke
+ enum BATTLE_TEXT_BallBrokeOhNo
+ enum BATTLE_TEXT_BallBrokeAppeared
+ enum BATTLE_TEXT_BallBrokeAlmost
+ enum BATTLE_TEXT_BallBrokeSoClose
+ enum BATTLE_TEXT_BallCaught1
+ enum BATTLE_TEXT_BallCaught2
+ enum BATTLE_TEXT_GiveNickname
+ enum BATTLE_TEXT_SentToPC
+ enum BATTLE_TEXT_AddedToDex
+ enum BATTLE_TEXT_Raining
+ enum BATTLE_TEXT_Sandstorm
+ enum BATTLE_TEXT_CantEscape
+ enum BATTLE_TEXT_IgnoredOrdersSLP
+ enum BATTLE_TEXT_IgnoredOrders
+ enum BATTLE_TEXT_BeganNap
+ enum BATTLE_TEXT_LoafingAround
+ enum BATTLE_TEXT_WontObey
+ enum BATTLE_TEXT_TurnedAway
+ enum BATTLE_TEXT_NotNotice
+ enum BATTLE_TEXT_WillSwitch
+ enum BATTLE_TEXT_CreptCloser
+ enum BATTLE_TEXT_CantGetCloser
+ enum BATTLE_TEXT_WatchingCarefully
+ enum BATTLE_TEXT_CuriousAbout
+ enum BATTLE_TEXT_EnthralledBy
+ enum BATTLE_TEXT_IgnoredThing
+ enum BATTLE_TEXT_ThrewBlock
+ enum BATTLE_TEXT_SafariOver
+ enum BATTLE_TEXT_CuredParalysis
+ enum BATTLE_TEXT_CuredPoison
+ enum BATTLE_TEXT_CuredBurn
+ enum BATTLE_TEXT_CuredFreeze
+ enum BATTLE_TEXT_CuredSleep
+ enum BATTLE_TEXT_CuredConfusion
+ enum BATTLE_TEXT_CuredStatus
+ enum BATTLE_TEXT_RestoredHealth
+ enum BATTLE_TEXT_RestoredPP
+ enum BATTLE_TEXT_RestoredStatus
+ enum BATTLE_TEXT_RestoredHPLittle
+ enum BATTLE_TEXT_ChoiceBand
+ enum BATTLE_TEXT_FocusSash
+ enum BATTLE_TEXT_Terminator2 @ terminator?
+ enum BATTLE_TEXT_PreventedBurn
+ enum BATTLE_TEXT_BlocksOther
+ enum BATTLE_TEXT_RestoredHPByItem
+ enum BATTLE_TEXT_WhipSandstorm
+ enum BATTLE_TEXT_PreventedLoss
+ enum BATTLE_TEXT_InfatuatedPoke
+ enum BATTLE_TEXT_MadeIneffective
+ enum BATTLE_TEXT_CuredProblem
+ enum BATTLE_TEXT_OozeSuckup
+ enum BATTLE_TEXT_Transformed2
+ enum BATTLE_TEXT_ElecWeakened
+ enum BATTLE_TEXT_FireWeakened
+ enum BATTLE_TEXT_HidUnderwater
+ enum BATTLE_TEXT_SprangUp
+ enum BATTLE_TEXT_CantForgetHM
+ enum BATTLE_TEXT_FoundOne
+ enum BATTLE_TEXT_PlayerDefeatedTrainer2
+ enum BATTLE_TEXT_SoothingAroma
+ enum BATTLE_TEXT_CantUseItems
+ enum BATTLE_TEXT_UnknownString2
+ enum BATTLE_TEXT_UnknownString4
+ enum BATTLE_TEXT_HustleUse
+ enum BATTLE_TEXT_MadeUseless
+ enum BATTLE_TEXT_SandTombTrapped @ sand tomb
+ enum BATTLE_TEXT_Terminator
+ enum BATTLE_TEXT_BoostedExp
+ enum BATTLE_TEXT_SunIntensified
+ enum BATTLE_TEXT_GroundMoveNegate
+ enum BATTLE_TEXT_WallyBall
+ enum BATTLE_TEXT_TookAttack2
+ enum BATTLE_TEXT_ChoseDestiny
+ enum BATTLE_TEXT_LostFocus
+ enum BATTLE_TEXT_UseNext
+ enum BATTLE_TEXT_FledUsingItem
+ enum BATTLE_TEXT_FledUsingOther
+ enum BATTLE_TEXT_DraggedOut
+ enum BATTLE_TEXT_PreventedOther
+ enum BATTLE_TEXT_NormalizedStatus
+ enum BATTLE_TEXT_Used2
+ enum BATTLE_TEXT_BoxFull
+ enum BATTLE_TEXT_AvoidedAttack
+ enum BATTLE_TEXT_MadeIneffective2
+ enum BATTLE_TEXT_PreventedFlinching
+ enum BATTLE_TEXT_AlreadyBurned
+ enum BATTLE_TEXT_StatNoLower
+ enum BATTLE_TEXT_BlocksOther2
+ enum BATTLE_TEXT_WoreOff
+ enum BATTLE_TEXT_RaisedDefenseLittle
+ enum BATTLE_TEXT_RaisedSpDefLittle
+ enum BATTLE_TEXT_BrokeWall
+ enum BATTLE_TEXT_PreventedOther2
+ enum BATTLE_TEXT_CuredOfProblem
+ enum BATTLE_TEXT_AttackingCantEscape
+ enum BATTLE_TEXT_Obtained1
+ enum BATTLE_TEXT_Obtained2
+ enum BATTLE_TEXT_Obtained3
+ enum BATTLE_TEXT_NoEffect
+ enum BATTLE_TEXT_NoEffectOn
diff --git a/constants/constants.s b/constants/constants.s
index 02c219341..9cb7d4371 100644
--- a/constants/constants.s
+++ b/constants/constants.s
@@ -22,3 +22,5 @@
.include "constants/version.s"
.include "constants/region_map_sections.s"
.include "constants/hold_effects.s"
+ .include "constants/battle.s"
+ .include "constants/battle_text.s"
diff --git a/constants/move_effects.s b/constants/move_effects.s
new file mode 100644
index 000000000..bd801083b
--- /dev/null
+++ b/constants/move_effects.s
@@ -0,0 +1,215 @@
+ enum_start
+ enum EFFECT_HIT
+ enum EFFECT_SLEEP
+ enum EFFECT_POISON_HIT
+ enum EFFECT_ABSORB
+ enum EFFECT_BURN_HIT
+ enum EFFECT_FREEZE_HIT
+ enum EFFECT_PARALYZE_HIT
+ enum EFFECT_EXPLOSION
+ enum EFFECT_DREAM_EATER
+ enum EFFECT_MIRROR_MOVE
+ enum EFFECT_ATTACK_UP
+ enum EFFECT_DEFENSE_UP
+ enum EFFECT_SPEED_UP
+ enum EFFECT_SPECIAL_ATTACK_UP
+ enum EFFECT_SPECIAL_DEFENSE_UP
+ enum EFFECT_ACCURACY_UP
+ enum EFFECT_EVASION_UP
+ enum EFFECT_ALWAYS_HIT
+ enum EFFECT_ATTACK_DOWN
+ enum EFFECT_DEFENSE_DOWN
+ enum EFFECT_SPEED_DOWN
+ enum EFFECT_SPECIAL_ATTACK_DOWN @ unused
+ enum EFFECT_SPECIAL_DEFENSE_DOWN @ unused
+ enum EFFECT_ACCURACY_DOWN
+ enum EFFECT_EVASION_DOWN
+ enum EFFECT_HAZE
+ enum EFFECT_BIDE
+ enum EFFECT_RAMPAGE
+ enum EFFECT_ROAR
+ enum EFFECT_MULTI_HIT
+ enum EFFECT_CONVERSION
+ enum EFFECT_FLINCH_HIT
+ enum EFFECT_RESTORE_HP
+ enum EFFECT_TOXIC
+ enum EFFECT_PAY_DAY
+ enum EFFECT_LIGHT_SCREEN
+ enum EFFECT_TRI_ATTACK
+ enum EFFECT_REST
+ enum EFFECT_OHKO
+ enum EFFECT_RAZOR_WIND
+ enum EFFECT_SUPER_FANG
+ enum EFFECT_DRAGON_RAGE
+ enum EFFECT_TRAP
+ enum EFFECT_HIGH_CRITICAL
+ enum EFFECT_DOUBLE_HIT
+ enum EFFECT_RECOIL_IF_MISS
+ enum EFFECT_MIST
+ enum EFFECT_FOCUS_ENERGY
+ enum EFFECT_RECOIL
+ enum EFFECT_CONFUSE
+ enum EFFECT_ATTACK_UP_2
+ enum EFFECT_DEFENSE_UP_2
+ enum EFFECT_SPEED_UP_2
+ enum EFFECT_SPECIAL_ATTACK_UP_2
+ enum EFFECT_SPECIAL_DEFENSE_UP_2
+ enum EFFECT_ACCURACY_UP_2
+ enum EFFECT_EVASION_UP_2
+ enum EFFECT_TRANSFORM
+ enum EFFECT_ATTACK_DOWN_2
+ enum EFFECT_DEFENSE_DOWN_2
+ enum EFFECT_SPEED_DOWN_2
+ enum EFFECT_SPECIAL_ATTACK_DOWN_2
+ enum EFFECT_SPECIAL_DEFENSE_DOWN_2
+ enum EFFECT_ACCURACY_DOWN_2
+ enum EFFECT_EVASION_DOWN_2
+ enum EFFECT_REFLECT
+ enum EFFECT_POISON
+ enum EFFECT_PARALYZE
+ enum EFFECT_ATTACK_DOWN_HIT
+ enum EFFECT_DEFENSE_DOWN_HIT
+ enum EFFECT_SPEED_DOWN_HIT
+ enum EFFECT_SPECIAL_ATTACK_DOWN_HIT
+ enum EFFECT_SPECIAL_DEFENSE_DOWN_HIT
+ enum EFFECT_ACCURACY_DOWN_HIT
+ enum EFFECT_EVASION_DOWN_HIT
+ enum EFFECT_SKY_ATTACK
+ enum EFFECT_CONFUSE_HIT
+ enum EFFECT_TWINEEDLE
+ enum EFFECT_VITAL_THROW
+ enum EFFECT_SUBSTITUTE
+ enum EFFECT_RECHARGE
+ enum EFFECT_RAGE
+ enum EFFECT_MIMIC
+ enum EFFECT_METRONOME
+ enum EFFECT_LEECH_SEED
+ enum EFFECT_SPLASH
+ enum EFFECT_DISABLE
+ enum EFFECT_LEVEL_DAMAGE
+ enum EFFECT_PSYWAVE
+ enum EFFECT_COUNTER
+ enum EFFECT_ENCORE
+ enum EFFECT_PAIN_SPLIT
+ enum EFFECT_SNORE
+ enum EFFECT_CONVERSION_2
+ enum EFFECT_LOCK_ON
+ enum EFFECT_SKETCH
+ enum EFFECT_UNUSED_60 @ thaw
+ enum EFFECT_SLEEP_TALK
+ enum EFFECT_DESTINY_BOND
+ enum EFFECT_FLAIL
+ enum EFFECT_SPITE
+ enum EFFECT_FALSE_SWIPE
+ enum EFFECT_HEAL_BELL
+ enum EFFECT_QUICK_ATTACK
+ enum EFFECT_TRIPLE_KICK
+ enum EFFECT_THIEF
+ enum EFFECT_MEAN_LOOK
+ enum EFFECT_NIGHTMARE
+ enum EFFECT_MINIMIZE
+ enum EFFECT_CURSE
+ enum EFFECT_UNUSED_6E
+ enum EFFECT_PROTECT
+ enum EFFECT_SPIKES
+ enum EFFECT_FORESIGHT
+ enum EFFECT_PERISH_SONG
+ enum EFFECT_SANDSTORM
+ enum EFFECT_ENDURE
+ enum EFFECT_ROLLOUT
+ enum EFFECT_SWAGGER
+ enum EFFECT_FURY_CUTTER
+ enum EFFECT_ATTRACT
+ enum EFFECT_RETURN
+ enum EFFECT_PRESENT
+ enum EFFECT_FRUSTRATION
+ enum EFFECT_SAFEGUARD
+ enum EFFECT_THAW_HIT
+ enum EFFECT_MAGNITUDE
+ enum EFFECT_BATON_PASS
+ enum EFFECT_PURSUIT
+ enum EFFECT_RAPID_SPIN
+ enum EFFECT_SONICBOOM
+ enum EFFECT_UNUSED_83
+ enum EFFECT_MORNING_SUN
+ enum EFFECT_SYNTHESIS
+ enum EFFECT_MOONLIGHT
+ enum EFFECT_HIDDEN_POWER
+ enum EFFECT_RAIN_DANCE
+ enum EFFECT_SUNNY_DAY
+ enum EFFECT_DEFENSE_UP_HIT
+ enum EFFECT_ATTACK_UP_HIT
+ enum EFFECT_ALL_STATS_UP_HIT
+ enum EFFECT_UNUSED_8D @ incomplete fake out in gen 2
+ enum EFFECT_BELLY_DRUM
+ enum EFFECT_PSYCH_UP
+ enum EFFECT_MIRROR_COAT
+ enum EFFECT_SKULL_BASH
+ enum EFFECT_TWISTER
+ enum EFFECT_EARTHQUAKE
+ enum EFFECT_FUTURE_SIGHT
+ enum EFFECT_GUST
+ enum EFFECT_FLINCH_HIT_2 @ STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
+ enum EFFECT_SOLARBEAM
+ enum EFFECT_THUNDER
+ enum EFFECT_TELEPORT
+ enum EFFECT_BEAT_UP
+ enum EFFECT_FLY
+ enum EFFECT_DEFENSE_CURL
+ enum EFFECT_SOFTBOILED
+ enum EFFECT_FAKE_OUT
+ enum EFFECT_UPROAR
+ enum EFFECT_STOCKPILE
+ enum EFFECT_SPIT_UP
+ enum EFFECT_SWALLOW
+ enum EFFECT_UNUSED_A3
+ enum EFFECT_HAIL
+ enum EFFECT_TORMENT
+ enum EFFECT_FLATTER
+ enum EFFECT_WILL_O_WISP
+ enum EFFECT_MEMENTO
+ enum EFFECT_FACADE
+ enum EFFECT_FOCUS_PUNCH
+ enum EFFECT_SMELLINGSALT
+ enum EFFECT_FOLLOW_ME
+ enum EFFECT_NATURE_POWER
+ enum EFFECT_CHARGE
+ enum EFFECT_TAUNT
+ enum EFFECT_HELPING_HAND
+ enum EFFECT_TRICK
+ enum EFFECT_ROLE_PLAY
+ enum EFFECT_WISH
+ enum EFFECT_ASSIST
+ enum EFFECT_INGRAIN
+ enum EFFECT_SUPERPOWER
+ enum EFFECT_MAGIC_COAT
+ enum EFFECT_RECYCLE
+ enum EFFECT_REVENGE
+ enum EFFECT_BRICK_BREAK
+ enum EFFECT_YAWN
+ enum EFFECT_KNOCK_OFF
+ enum EFFECT_ENDEAVOR
+ enum EFFECT_ERUPTION
+ enum EFFECT_SKILL_SWAP
+ enum EFFECT_IMPRISON
+ enum EFFECT_REFRESH
+ enum EFFECT_GRUDGE
+ enum EFFECT_SNATCH
+ enum EFFECT_LOW_KICK
+ enum EFFECT_SECRET_POWER
+ enum EFFECT_DOUBLE_EDGE
+ enum EFFECT_TEETER_DANCE
+ enum EFFECT_BLAZE_KICK
+ enum EFFECT_MUD_SPORT
+ enum EFFECT_POISON_FANG
+ enum EFFECT_WEATHER_BALL
+ enum EFFECT_OVERHEAT
+ enum EFFECT_TICKLE
+ enum EFFECT_COSMIC_POWER
+ enum EFFECT_SKY_UPPERCUT
+ enum EFFECT_BULK_UP
+ enum EFFECT_POISON_TAIL
+ enum EFFECT_WATER_SPORT
+ enum EFFECT_CALM_MIND
+ enum EFFECT_DRAGON_DANCE
+ enum EFFECT_CAMOUFLAGE
diff --git a/data/data1.s b/data/data1.s
index a811a294e..7f817a75c 100644
--- a/data/data1.s
+++ b/data/data1.s
@@ -1,1020 +1,3408 @@
.include "asm/macros.s"
.include "constants/constants.s"
+ .include "asm/macros/battle_script.s"
.section script_data, "aw", %progbits
gUnknown_081D6BBC:: @ 81D6BBC
- .4byte Unknown_081D6F14
- .4byte Unknown_081D6F81
- .4byte Unknown_081D6FF0
- .4byte Unknown_081D6FFB
- .4byte Unknown_081D7069
- .4byte Unknown_081D7074
- .4byte Unknown_081D707F
- .4byte Unknown_081D708A
- .4byte Unknown_081D710A
- .4byte Unknown_081D7173
- .4byte Unknown_081D718B
- .4byte Unknown_081D7196
- .4byte Unknown_081D6F14
- .4byte Unknown_081D71A1
- .4byte Unknown_081D6F14
- .4byte Unknown_081D6F14
- .4byte Unknown_081D71AC
- .4byte Unknown_081D6F14
- .4byte Unknown_081D71F5
- .4byte Unknown_081D7200
- .4byte Unknown_081D720B
- .4byte Unknown_081D6F14
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7216
- .4byte Unknown_081D7221
- .4byte Unknown_081D7286
- .4byte Unknown_081D7297
- .4byte Unknown_081D72AB
- .4byte Unknown_081D72C5
- .4byte Unknown_081D72ED
- .4byte Unknown_081D73B1
- .4byte Unknown_081D73C6
- .4byte Unknown_081D73D1
- .4byte Unknown_081D73F4
- .4byte Unknown_081D747D
- .4byte Unknown_081D7488
- .4byte Unknown_081D7491
- .4byte Unknown_081D749C
- .4byte Unknown_081D74E4
- .4byte Unknown_081D7515
- .4byte Unknown_081D7596
- .4byte Unknown_081D75AD
- .4byte Unknown_081D75DC
- .4byte Unknown_081D6F14
- .4byte Unknown_081D760D
- .4byte Unknown_081D7625
- .4byte Unknown_081D7676
- .4byte Unknown_081D7689
- .4byte Unknown_081D76A6
- .4byte Unknown_081D76BF
- .4byte Unknown_081D770C
- .4byte Unknown_081D7717
- .4byte Unknown_081D7722
- .4byte Unknown_081D772D
- .4byte Unknown_081D7738
- .4byte Unknown_081D6F14
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7743
- .4byte Unknown_081D7756
- .4byte Unknown_081D7761
- .4byte Unknown_081D776C
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7777
- .4byte Unknown_081D6F14
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7782
- .4byte Unknown_081D7795
- .4byte Unknown_081D77F6
- .4byte Unknown_081D7873
- .4byte Unknown_081D787E
- .4byte Unknown_081D7889
- .4byte Unknown_081D7894
- .4byte Unknown_081D789F
- .4byte Unknown_081D78AA
- .4byte Unknown_081D6F14
- .4byte Unknown_081D78B5
- .4byte Unknown_081D78DD
- .4byte Unknown_081D78E8
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7900
- .4byte Unknown_081D7943
- .4byte Unknown_081D7961
- .4byte Unknown_081D7988
- .4byte Unknown_081D79AE
- .4byte Unknown_081D79C2
- .4byte Unknown_081D79E9
- .4byte Unknown_081D79FB
- .4byte Unknown_081D7A17
- .4byte Unknown_081D7A2F
- .4byte Unknown_081D7A47
- .4byte Unknown_081D7A5D
- .4byte Unknown_081D7A79
- .4byte Unknown_081D7AB0
- .4byte Unknown_081D7AEA
- .4byte Unknown_081D7AFF
- .4byte Unknown_081D7B21
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7B40
- .4byte Unknown_081D7B82
- .4byte Unknown_081D7B93
- .4byte Unknown_081D7B99
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7BB5
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7BFA
- .4byte Unknown_081D7CC1
- .4byte Unknown_081D7CCC
- .4byte Unknown_081D7CF4
- .4byte Unknown_081D7D2E
- .4byte Unknown_081D7D3B
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7DFD
- .4byte Unknown_081D7E10
- .4byte Unknown_081D7E25
- .4byte Unknown_081D7E3D
- .4byte Unknown_081D7E7E
- .4byte Unknown_081D7DFD
- .4byte Unknown_081D7E87
- .4byte Unknown_081D7EA2
- .4byte Unknown_081D7F00
- .4byte Unknown_081D7F1F
- .4byte Unknown_081D7F3B
- .4byte Unknown_081D7F49
- .4byte Unknown_081D7F3B
- .4byte Unknown_081D7F55
- .4byte Unknown_081D7F5E
- .4byte Unknown_081D7F69
- .4byte Unknown_081D7F7C
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7FA9
- .4byte Unknown_081D7FB4
- .4byte Unknown_081D6F14
- .4byte Unknown_081D7FE3
- .4byte Unknown_081D7FE3
- .4byte Unknown_081D7FE3
- .4byte Unknown_081D7FF0
- .4byte Unknown_081D7FF6
- .4byte Unknown_081D800E
- .4byte Unknown_081D8017
- .4byte Unknown_081D8022
- .4byte Unknown_081D802D
- .4byte Unknown_081D6F14
- .4byte Unknown_081D8038
- .4byte Unknown_081D805A
- .4byte Unknown_081D806F
- .4byte Unknown_081D8085
- .4byte Unknown_081D80D4
- .4byte Unknown_081D80F9
- .4byte Unknown_081D817D
- .4byte Unknown_081D8194
- .4byte Unknown_081D81B3
- .4byte Unknown_081D81C9
- .4byte Unknown_081D821F
- .4byte Unknown_081D8233
- .4byte Unknown_081D826E
- .4byte Unknown_081D82C5
- .4byte Unknown_081D8370
- .4byte Unknown_081D8392
- .4byte Unknown_081D83C3
- .4byte Unknown_081D83FA
- .4byte Unknown_081D841A
- .4byte Unknown_081D842D
- .4byte Unknown_081D846F
- .4byte Unknown_081D6F14
- .4byte Unknown_081D848C
- .4byte Unknown_081D8495
- .4byte Unknown_081D84B1
- .4byte Unknown_081D850F
- .4byte Unknown_081D8583
- .4byte Unknown_081D8626
- .4byte Unknown_081D8640
- .4byte Unknown_081D8652
- .4byte Unknown_081D867C
- .4byte Unknown_081D868D
- .4byte Unknown_081D869A
- .4byte Unknown_081D86AB
- .4byte Unknown_081D86C7
- .4byte Unknown_081D86DC
- .4byte Unknown_081D870A
- .4byte Unknown_081D8726
- .4byte Unknown_081D8736
- .4byte Unknown_081D874D
- .4byte Unknown_081D8762
- .4byte Unknown_081D876D
- .4byte Unknown_081D8782
- .4byte Unknown_081D8797
- .4byte Unknown_081D879D
- .4byte Unknown_081D87EE
- .4byte Unknown_081D8847
- .4byte Unknown_081D8852
- .4byte Unknown_081D888D
- .4byte Unknown_081D8893
- .4byte Unknown_081D88AF
- .4byte Unknown_081D88C4
- .4byte Unknown_081D88DB
- .4byte Unknown_081D88F0
- .4byte Unknown_081D8908
- .4byte Unknown_081D8918
- .4byte Unknown_081D891E
- .4byte Unknown_081D8929
- .4byte Unknown_081D7069
- .4byte Unknown_081D89D7
- .4byte Unknown_081D89EE
- .4byte Unknown_081D89F9
- .4byte Unknown_081D89FF
- .4byte Unknown_081D8A0A
- .4byte Unknown_081D8A91
- .4byte Unknown_081D8AF5
- .4byte Unknown_081D8B03
- .4byte Unknown_081D6FF0
- .4byte Unknown_081D89D7
- .4byte Unknown_081D8B67
- .4byte Unknown_081D8BDF
- .4byte Unknown_081D8C43
-Unknown_081D6F14:
- .incbin "baserom.gba", 0x001d6f14, 0x8
- .4byte Unknown_081D6F3A
- .incbin "baserom.gba", 0x001d6f20, 0x7
- .4byte Unknown_081D6F3A
- .incbin "baserom.gba", 0x001d6f2b, 0xF
-Unknown_081D6F3A:
- .2byte 0x100
- .4byte Unknown_081D6F72
- .incbin "baserom.gba", 0x001d6f40, 0x4
-
-gUnknown_081D6F44:: @ 81D6F44
- .incbin "baserom.gba", 0x001d6f44, 0x1e
-
-gUnknown_081D6F62:: @ 81D6F62
- .incbin "baserom.gba", 0x001d6f62, 0x10
-Unknown_081D6F72:
- .incbin "baserom.gba", 0x001d6f72, 0x2
-
-gUnknown_081D6F74:: @ 81D6F74
- .incbin "baserom.gba", 0x001d6f74, 0xD
-Unknown_081D6F81: @ 81D6F81
- .incbin "baserom.gba", 0x001d6f81, 0x6F
-Unknown_081D6FF0: @ 81D6FF0
- .incbin "baserom.gba", 0x001d6ff0, 0xB
-Unknown_081D6FFB: @ 81D6FFB
- .incbin "baserom.gba", 0x001d6ffb, 0x6E
-Unknown_081D7069: @ 81D7069
- .incbin "baserom.gba", 0x001d7069, 0xB
-Unknown_081D7074: @ 81D7074
- .incbin "baserom.gba", 0x001d7074, 0xB
-Unknown_081D707F: @ 81D707F
- .incbin "baserom.gba", 0x001d707f, 0xB
-Unknown_081D708A: @ 81D708A
- .incbin "baserom.gba", 0x001d708a, 0x80
-Unknown_081D710A: @ 81D710A
- .incbin "baserom.gba", 0x001d710a, 0x69
-Unknown_081D7173: @ 81D7173
- .incbin "baserom.gba", 0x001d7173, 0x18
-Unknown_081D718B: @ 81D718B
- .incbin "baserom.gba", 0x001d718b, 0xB
-Unknown_081D7196: @ 81D7196
- .incbin "baserom.gba", 0x001d7196, 0xB
-Unknown_081D71A1: @ 81D71A1
- .incbin "baserom.gba", 0x001d71a1, 0xB
-Unknown_081D71AC: @ 81D71AC
- .incbin "baserom.gba", 0x001d71ac, 0x39
+ .4byte MoveEffect_Hit
+ .4byte MoveEffect_Sleep
+ .4byte MoveEffect_PoisonHit
+ .4byte MoveEffect_Absorb
+ .4byte MoveEffect_BurnHit
+ .4byte MoveEffect_FreezeHit
+ .4byte MoveEffect_ParalyzeHit
+ .4byte MoveEffect_Explosion
+ .4byte MoveEffect_DreamEater
+ .4byte MoveEffect_MirrorMove
+ .4byte MoveEffect_AttackUp
+ .4byte MoveEffect_DefenseUp
+ .4byte MoveEffect_SpeedUp
+ .4byte MoveEffect_SpecialAttackUp
+ .4byte MoveEffect_SpecialDefenseUp
+ .4byte MoveEffect_AccuracyUp
+ .4byte MoveEffect_EvasionUp
+ .4byte MoveEffect_AlwaysHit
+ .4byte MoveEffect_AttackDown
+ .4byte MoveEffect_DefenseDown
+ .4byte MoveEffect_SpeedDown
+ .4byte MoveEffect_SpecialAttackDown
+ .4byte MoveEffect_SpecialDefenseDown
+ .4byte MoveEffect_AccuracyDown
+ .4byte MoveEffect_EvasionDown
+ .4byte MoveEffect_Haze
+ .4byte MoveEffect_Bide
+ .4byte MoveEffect_Rampage
+ .4byte MoveEffect_Roar
+ .4byte MoveEffect_MultiHit
+ .4byte MoveEffect_Conversion
+ .4byte MoveEffect_FlinchHit
+ .4byte MoveEffect_RestoreHp
+ .4byte MoveEffect_Toxic
+ .4byte MoveEffect_PayDay
+ .4byte MoveEffect_LightScreen
+ .4byte MoveEffect_TriAttack
+ .4byte MoveEffect_Rest
+ .4byte MoveEffect_Ohko
+ .4byte MoveEffect_RazorWind
+ .4byte MoveEffect_SuperFang
+ .4byte MoveEffect_DragonRage
+ .4byte MoveEffect_Trap
+ .4byte MoveEffect_HighCritical
+ .4byte MoveEffect_DoubleHit
+ .4byte MoveEffect_RecoilIfMiss
+ .4byte MoveEffect_Mist
+ .4byte MoveEffect_FocusEnergy
+ .4byte MoveEffect_Recoil
+ .4byte MoveEffect_Confuse
+ .4byte MoveEffect_AttackUp2
+ .4byte MoveEffect_DefenseUp2
+ .4byte MoveEffect_SpeedUp2
+ .4byte MoveEffect_SpecialAttackUp2
+ .4byte MoveEffect_SpecialDefenseUp2
+ .4byte MoveEffect_AccuracyUp2
+ .4byte MoveEffect_EvasionUp2
+ .4byte MoveEffect_Transform
+ .4byte MoveEffect_AttackDown2
+ .4byte MoveEffect_DefenseDown2
+ .4byte MoveEffect_SpeedDown2
+ .4byte MoveEffect_SpecialAttackDown2
+ .4byte MoveEffect_SpecialDefenseDown2
+ .4byte MoveEffect_AccuracyDown2
+ .4byte MoveEffect_EvasionDown2
+ .4byte MoveEffect_Reflect
+ .4byte MoveEffect_Poison
+ .4byte MoveEffect_Paralyze
+ .4byte MoveEffect_AttackDownHit
+ .4byte MoveEffect_DefenseDownHit
+ .4byte MoveEffect_SpeedDownHit
+ .4byte MoveEffect_SpecialAttackDownHit
+ .4byte MoveEffect_SpecialDefenseDownHit
+ .4byte MoveEffect_AccuracyDownHit
+ .4byte MoveEffect_EvasionDownHit
+ .4byte MoveEffect_SkyAttack
+ .4byte MoveEffect_ConfuseHit
+ .4byte MoveEffect_Twineedle
+ .4byte MoveEffect_VitalThrow
+ .4byte MoveEffect_Substitute
+ .4byte MoveEffect_Recharge
+ .4byte MoveEffect_Rage
+ .4byte MoveEffect_Mimic
+ .4byte MoveEffect_Metronome
+ .4byte MoveEffect_LeechSeed
+ .4byte MoveEffect_Splash
+ .4byte MoveEffect_Disable
+ .4byte MoveEffect_LevelDamage
+ .4byte MoveEffect_Psywave
+ .4byte MoveEffect_Counter
+ .4byte MoveEffect_Encore
+ .4byte MoveEffect_PainSplit
+ .4byte MoveEffect_Snore
+ .4byte MoveEffect_Conversion2
+ .4byte MoveEffect_LockOn
+ .4byte MoveEffect_Sketch
+ .4byte MoveEffect_Unused60
+ .4byte MoveEffect_SleepTalk
+ .4byte MoveEffect_DestinyBond
+ .4byte MoveEffect_Flail
+ .4byte MoveEffect_Spite
+ .4byte MoveEffect_FalseSwipe
+ .4byte MoveEffect_HealBell
+ .4byte MoveEffect_QuickAttack
+ .4byte MoveEffect_TripleKick
+ .4byte MoveEffect_Thief
+ .4byte MoveEffect_MeanLook
+ .4byte MoveEffect_Nightmare
+ .4byte MoveEffect_Minimize
+ .4byte MoveEffect_Curse
+ .4byte MoveEffect_Unused6E
+ .4byte MoveEffect_Protect
+ .4byte MoveEffect_Spikes
+ .4byte MoveEffect_Foresight
+ .4byte MoveEffect_PerishSong
+ .4byte MoveEffect_Sandstorm
+ .4byte MoveEffect_Endure
+ .4byte MoveEffect_Rollout
+ .4byte MoveEffect_Swagger
+ .4byte MoveEffect_FuryCutter
+ .4byte MoveEffect_Attract
+ .4byte MoveEffect_Return
+ .4byte MoveEffect_Present
+ .4byte MoveEffect_Frustration
+ .4byte MoveEffect_Safeguard
+ .4byte MoveEffect_ThawHit
+ .4byte MoveEffect_Magnitude
+ .4byte MoveEffect_BatonPass
+ .4byte MoveEffect_Pursuit
+ .4byte MoveEffect_RapidSpin
+ .4byte MoveEffect_Sonicboom
+ .4byte MoveEffect_Unused83
+ .4byte MoveEffect_MorningSun
+ .4byte MoveEffect_Synthesis
+ .4byte MoveEffect_Moonlight
+ .4byte MoveEffect_HiddenPower
+ .4byte MoveEffect_RainDance
+ .4byte MoveEffect_SunnyDay
+ .4byte MoveEffect_DefenseUpHit
+ .4byte MoveEffect_AttackUpHit
+ .4byte MoveEffect_AllStatsUpHit
+ .4byte MoveEffect_Unused8D
+ .4byte MoveEffect_BellyDrum
+ .4byte MoveEffect_PsychUp
+ .4byte MoveEffect_MirrorCoat
+ .4byte MoveEffect_SkullBash
+ .4byte MoveEffect_Twister
+ .4byte MoveEffect_Earthquake
+ .4byte MoveEffect_FutureSight
+ .4byte MoveEffect_Gust
+ .4byte MoveEffect_FlinchHit2
+ .4byte MoveEffect_Solarbeam
+ .4byte MoveEffect_Thunder
+ .4byte MoveEffect_Teleport
+ .4byte MoveEffect_BeatUp
+ .4byte MoveEffect_Fly
+ .4byte MoveEffect_DefenseCurl
+ .4byte MoveEffect_Softboiled
+ .4byte MoveEffect_FakeOut
+ .4byte MoveEffect_Uproar
+ .4byte MoveEffect_Stockpile
+ .4byte MoveEffect_SpitUp
+ .4byte MoveEffect_Swallow
+ .4byte MoveEffect_UnusedA3
+ .4byte MoveEffect_Hail
+ .4byte MoveEffect_Torment
+ .4byte MoveEffect_Flatter
+ .4byte MoveEffect_WillOWisp
+ .4byte MoveEffect_Memento
+ .4byte MoveEffect_Facade
+ .4byte MoveEffect_FocusPunch
+ .4byte MoveEffect_Smellingsalt
+ .4byte MoveEffect_FollowMe
+ .4byte MoveEffect_NaturePower
+ .4byte MoveEffect_Charge
+ .4byte MoveEffect_Taunt
+ .4byte MoveEffect_HelpingHand
+ .4byte MoveEffect_Trick
+ .4byte MoveEffect_RolePlay
+ .4byte MoveEffect_Wish
+ .4byte MoveEffect_Assist
+ .4byte MoveEffect_Ingrain
+ .4byte MoveEffect_Superpower
+ .4byte MoveEffect_MagicCoat
+ .4byte MoveEffect_Recycle
+ .4byte MoveEffect_Revenge
+ .4byte MoveEffect_BrickBreak
+ .4byte MoveEffect_Yawn
+ .4byte MoveEffect_KnockOff
+ .4byte MoveEffect_Endeavor
+ .4byte MoveEffect_Eruption
+ .4byte MoveEffect_SkillSwap
+ .4byte MoveEffect_Imprison
+ .4byte MoveEffect_Refresh
+ .4byte MoveEffect_Grudge
+ .4byte MoveEffect_Snatch
+ .4byte MoveEffect_LowKick
+ .4byte MoveEffect_SecretPower
+ .4byte MoveEffect_DoubleEdge
+ .4byte MoveEffect_TeeterDance
+ .4byte MoveEffect_BlazeKick
+ .4byte MoveEffect_MudSport
+ .4byte MoveEffect_PoisonFang
+ .4byte MoveEffect_WeatherBall
+ .4byte MoveEffect_Overheat
+ .4byte MoveEffect_Tickle
+ .4byte MoveEffect_CosmicPower
+ .4byte MoveEffect_SkyUppercut
+ .4byte MoveEffect_BulkUp
+ .4byte MoveEffect_PoisonTail
+ .4byte MoveEffect_WaterSport
+ .4byte MoveEffect_CalmMind
+ .4byte MoveEffect_DragonDance
+ .4byte MoveEffect_Camouflage
+
+BattleScript_1D6F14: @ 81D6F14
+MoveEffect_AccuracyDown2: @ 81D6F14
+MoveEffect_AccuracyUp2: @ 81D6F14
+MoveEffect_AccuracyUp: @ 81D6F14
+MoveEffect_AlwaysHit: @ 81D6F14
+MoveEffect_EvasionDown2: @ 81D6F14
+MoveEffect_EvasionDownHit: @ 81D6F14
+MoveEffect_EvasionUp2: @ 81D6F14
+MoveEffect_FalseSwipe: @ 81D6F14
+MoveEffect_HighCritical: @ 81D6F14
+MoveEffect_Hit: @ 81D6F14
+MoveEffect_Pursuit: @ 81D6F14
+MoveEffect_QuickAttack: @ 81D6F14
+MoveEffect_SpecialAttackDown2: @ 81D6F14
+MoveEffect_SpecialAttackDown: @ 81D6F14
+MoveEffect_SpecialDefenseDown: @ 81D6F14
+MoveEffect_SpecialDefenseUp: @ 81D6F14
+MoveEffect_SpeedUp: @ 81D6F14
+MoveEffect_Unused60: @ 81D6F14
+MoveEffect_Unused6E: @ 81D6F14
+MoveEffect_Unused83: @ 81D6F14
+MoveEffect_Unused8D: @ 81D6F14
+MoveEffect_UnusedA3: @ 81D6F14
+MoveEffect_VitalThrow: @ 81D6F14
+ jumpifhalfword 1, 0x2024be6, 57, BattleScript_1D6F3A
+ jumpifspecialstatusflag TARGET, 0x40000, 1, BattleScript_1D6F3A
+ orword 0x2024c6c, 0x40000
+ setbyte 0x201601f, 2
+
+BattleScript_1D6F3A: @ 81D6F3A
+ attackcanceler
+
+BattleScript_1D6F3B: @ 81D6F3B
+ accuracycheck BattleScript_1D6F72, 0
+
+BattleScript_1D6F42: @ 81D6F42
+ attackstring
+ ppreduce
+
+BattleScript_1D6F44:: @ 81D6F44
+ critcalc
+ atk5
+ atk6
+ atk7
+
+BattleScript_1D6F48: @ 81D6F48
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c TARGET
+ waitstateatk
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 64
+ resultmessage
+ waitmessage 64
+ seteffectwithchancetarget
+ faintpokemon TARGET, 0, 0x0
+
+BattleScript_1D6F62:: @ 81D6F62
+ setbyte 0x201600c, 0
+ atk49 0, 0
+ end
+
+BattleScript_1D6F6C: @ 81D6F6C
+ orbyte 0x2024c68, 1
+
+BattleScript_1D6F72: @ 81D6F72
+ attackstring
+ ppreduce
+
+BattleScript_1D6F74:: @ 81D6F74
+ pause 32
+
+BattleScript_1D6F77: @ 81D6F77
+ missmessage
+ resultmessage
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Sleep: @ 81D6F81
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ jumpifstatus TARGET, SLP, BattleScript_1D6FC4
+ jumpifcannotsleep BattleScript_1D6FE0
+ jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_1D83D6
+ accuracycheck BattleScript_1D83D6, 0
+ jumpifhalverset TARGET, 32, BattleScript_1D9037
+ attackanimation
+ waitanimation
+ setbyte 0x2024d21, 1
+ seteffecttarget
+ jump BattleScript_1D6F62
+
+BattleScript_1D6FC4: @ 81D6FC4
+ pause 32
+ printstring BATTLE_TEXT_DefendingAsleep
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D6FD2: @ 81D6FD2
+ pause 32
+ printstring BATTLE_TEXT_WasntAffected
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D6FE0: @ 81D6FE0
+ pause 32
+ printfromtable BattleTextList_40156A
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_PoisonHit: @ 81D6FF0
+MoveEffect_PoisonTail: @ 81D6FF0
+ setbyte 0x2024d21, 2
+ jump BattleScript_1D6F14
+
+MoveEffect_Absorb: @ 81D6FFB
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ critcalc
+ atk5
+ atk6
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c TARGET
+ waitstateatk
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 64
+ resultmessage
+ waitmessage 64
+ negativedamage
+ orword 0x2024c6c, 0x100
+ jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_1D7037
+ setbyte 0x2024d23, 0
+ jump BattleScript_1D703F
+
+BattleScript_1D7037: @ 81D7037
+ manipulatedamage 0
+ setbyte 0x2024d23, 1
+
+BattleScript_1D703F: @ 81D703F
+ graphicalhpupdate USER
+ datahpupdate USER
+ jumpifbyte 4, 0x2024c68, 41, BattleScript_1D7056
+ printfromtable BattleTextList_4015D0
+ waitmessage 64
+
+BattleScript_1D7056: @ 81D7056
+ faintpokemon USER, 0, 0x0
+ faintpokemon TARGET, 0, 0x0
+ jump BattleScript_1D6F62
+
+MoveEffect_BlazeKick: @ 81D7069
+MoveEffect_BurnHit: @ 81D7069
+ setbyte 0x2024d21, 3
+ jump BattleScript_1D6F14
+
+MoveEffect_FreezeHit: @ 81D7074
+ setbyte 0x2024d21, 4
+ jump BattleScript_1D6F14
+
+MoveEffect_ParalyzeHit: @ 81D707F
+ setbyte 0x2024d21, 5
+ jump BattleScript_1D6F14
+
+MoveEffect_Explosion: @ 81D708A
+ attackcanceler
+ attackstring
+ ppreduce
+ faintifabilitynotdamp
+ setuserhptozero
+ waitstateatk
+ jumpifbyte 5, 0x2024c68, 1, BattleScript_1D70A5
+ callatk BattleScript_1D70FB
+ jump BattleScript_1D70A7
+
+BattleScript_1D70A5: @ 81D70A5
+ attackanimation
+ waitanimation
+
+BattleScript_1D70A7: @ 81D70A7
+ atk25
+ critcalc
+ atk5
+ atk6
+ atk7
+ accuracycheck BattleScript_1D70E0, 0
+ missmessage
+ atk5c TARGET
+ waitstateatk
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 64
+ resultmessage
+ waitmessage 64
+ faintpokemon TARGET, 0, 0x0
+ setbyte 0x201600c, 0
+ atk49 2, 16
+ jumpwhiletargetvalid BattleScript_1D70A7
+ faintpokemon USER, 0, 0x0
+ end
+
+BattleScript_1D70E0: @ 81D70E0
+ missmessage
+ resultmessage
+ waitmessage 64
+ setbyte 0x201600c, 0
+ atk49 2, 16
+ jumpwhiletargetvalid BattleScript_1D70A7
+ faintpokemon USER, 0, 0x0
+ end
+
+BattleScript_1D70FB: @ 81D70FB
+ bicbyte 0x2024c68, 1
+ attackanimation
+ waitanimation
+ orbyte 0x2024c68, 1
+ return
+
+MoveEffect_DreamEater: @ 81D710A
+ attackcanceler
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D711F
+ jumpifstatus TARGET, SLP, BattleScript_1D7129
+
+BattleScript_1D711F: @ 81D711F
+ attackstring
+ ppreduce
+ waitmessage 64
+ jump BattleScript_1D6FD2
+
+BattleScript_1D7129: @ 81D7129
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ critcalc
+ atk5
+ atk6
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c TARGET
+ waitstateatk
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 64
+ resultmessage
+ waitmessage 64
+ negativedamage
+ orword 0x2024c6c, 0x100
+ graphicalhpupdate USER
+ datahpupdate USER
+ jumpifbyte 4, 0x2024c68, 41, BattleScript_1D7167
+ printstring BATTLE_TEXT_DreamEaten
+ waitmessage 64
+
+BattleScript_1D7167: @ 81D7167
+ faintpokemon TARGET, 0, 0x0
+ jump BattleScript_1D6F62
+
+MoveEffect_MirrorMove: @ 81D7173
+ attackcanceler
+ attackstring
+ pause 64
+ jumptolastusedattack
+ ppreduce
+ orbyte 0x2024c68, 32
+ printstring BATTLE_TEXT_MirrorFail
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_AttackUp: @ 81D718B
+ setbyte 0x201601e, 17
+ jump BattleScript_1D71B2
+
+MoveEffect_DefenseUp: @ 81D7196
+ setbyte 0x201601e, 18
+ jump BattleScript_1D71B2
+
+MoveEffect_SpecialAttackUp: @ 81D71A1
+ setbyte 0x201601e, 20
+ jump BattleScript_1D71B2
+
+MoveEffect_EvasionUp: @ 81D71AC
+ setbyte 0x201601e, 23
+
+BattleScript_1D71B2: @ 81D71B2
+ attackcanceler
+
+BattleScript_1D71B3: @ 81D71B3
+ attackstring
+ ppreduce
+ statbuffchange 65, BattleScript_1D71E0
+ jumpifbyte 1, 0x2024d23, 2, BattleScript_1D71CE
+ pause 32
+ jump BattleScript_1D71D8
+
+BattleScript_1D71CE: @ 81D71CE
+ attackanimation
+ waitanimation
+
+BattleScript_1D71D0: @ 81D71D0
+ atk47
+ playanimation USER, 1, 0x20160a4
+
+BattleScript_1D71D8: @ 81D71D8
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D71E0: @ 81D71E0
+ jump BattleScript_1D6F62
gUnknown_081D71E5:: @ 81D71E5
- .incbin "baserom.gba", 0x001d71e5, 0x10
-Unknown_081D71F5: @ 81D71F5
- .incbin "baserom.gba", 0x001d71f5, 0xB
-Unknown_081D7200: @ 81D7200
- .incbin "baserom.gba", 0x001d7200, 0xB
-Unknown_081D720B: @ 81D720B
- .incbin "baserom.gba", 0x001d720b, 0xB
-Unknown_081D7216: @ 81D7216
- .incbin "baserom.gba", 0x001d7216, 0xB
-Unknown_081D7221: @ 81D7221
- .incbin "baserom.gba", 0x001d7221, 0x55
+ .incbin "baserom.gba", 0x1d71e5, 0x10
+
+MoveEffect_AttackDown: @ 81D71F5
+ setbyte 0x201601e, 145
+ jump BattleScript_1D7227
+
+MoveEffect_DefenseDown: @ 81D7200
+ setbyte 0x201601e, 146
+ jump BattleScript_1D7227
+
+MoveEffect_SpeedDown: @ 81D720B
+ setbyte 0x201601e, 147
+ jump BattleScript_1D7227
+
+MoveEffect_AccuracyDown: @ 81D7216
+ setbyte 0x201601e, 150
+ jump BattleScript_1D7227
+
+MoveEffect_EvasionDown: @ 81D7221
+ setbyte 0x201601e, 151
+
+BattleScript_1D7227: @ 81D7227
+ attackcanceler
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D4
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ statbuffchange 1, BattleScript_1D7271
+ jumpifbyte 3, 0x2024d23, 2, BattleScript_1D725F
+ jumpifbyte 0, 0x2024d23, 3, BattleScript_1D7271
+ pause 32
+ jump BattleScript_1D7269
+
+BattleScript_1D725F: @ 81D725F
+ attackanimation
+ waitanimation
+ atk47
+ playanimation TARGET, 1, 0x20160a4
+
+BattleScript_1D7269: @ 81D7269
+ printfromtable BattleTextList_40157C
+ waitmessage 64
+
+BattleScript_1D7271: @ 81D7271
+ jump BattleScript_1D6F62
gUnknown_081D7276:: @ 81D7276
- .incbin "baserom.gba", 0x001d7276, 0x10
-Unknown_081D7286: @ 81D7286
- .incbin "baserom.gba", 0x001d7286, 0x11
-Unknown_081D7297: @ 81D7297
- .incbin "baserom.gba", 0x001d7297, 0x14
-Unknown_081D72AB: @ 81D72AB
- .incbin "baserom.gba", 0x001d72ab, 0x1A
-Unknown_081D72C5: @ 81D72C5
- .incbin "baserom.gba", 0x001d72c5, 0x28
-Unknown_081D72ED: @ 81D72ED
- .incbin "baserom.gba", 0x001d72ed, 0xC4
-Unknown_081D73B1: @ 81D73B1
- .incbin "baserom.gba", 0x001d73b1, 0x15
-Unknown_081D73C6: @ 81D73C6
- .incbin "baserom.gba", 0x001d73c6, 0xB
-Unknown_081D73D1: @ 81D73D1
- .incbin "baserom.gba", 0x001d73d1, 0x23
-Unknown_081D73F4: @ 81D73F4
- .incbin "baserom.gba", 0x001d73f4, 0x89
-Unknown_081D747D: @ 81D747D
- .incbin "baserom.gba", 0x001d747d, 0xB
-Unknown_081D7488: @ 81D7488
- .incbin "baserom.gba", 0x001d7488, 0x9
-Unknown_081D7491: @ 81D7491
- .incbin "baserom.gba", 0x001d7491, 0xB
-Unknown_081D749C: @ 81D749C
- .incbin "baserom.gba", 0x001d749c, 0x48
-Unknown_081D74E4: @ 81D74E4
- .incbin "baserom.gba", 0x001d74e4, 0x31
-Unknown_081D7515: @ 81D7515
- .incbin "baserom.gba", 0x001d7515, 0x81
-Unknown_081D7596: @ 81D7596
- .incbin "baserom.gba", 0x001d7596, 0x17
-Unknown_081D75AD: @ 81D75AD
- .incbin "baserom.gba", 0x001d75ad, 0x2F
-Unknown_081D75DC: @ 81D75DC
- .incbin "baserom.gba", 0x001d75dc, 0x31
-Unknown_081D760D: @ 81D760D
- .incbin "baserom.gba", 0x001d760d, 0x18
-Unknown_081D7625: @ 81D7625
- .incbin "baserom.gba", 0x001d7625, 0x51
-Unknown_081D7676: @ 81D7676
- .incbin "baserom.gba", 0x001d7676, 0x13
-Unknown_081D7689: @ 81D7689
- .incbin "baserom.gba", 0x001d7689, 0x1D
-Unknown_081D76A6: @ 81D76A6
- .incbin "baserom.gba", 0x001d76a6, 0x19
-Unknown_081D76BF: @ 81D76BF
- .incbin "baserom.gba", 0x001d76bf, 0x4D
-Unknown_081D770C: @ 81D770C
- .incbin "baserom.gba", 0x001d770c, 0xB
-Unknown_081D7717: @ 81D7717
- .incbin "baserom.gba", 0x001d7717, 0xB
-Unknown_081D7722: @ 81D7722
- .incbin "baserom.gba", 0x001d7722, 0xB
-Unknown_081D772D: @ 81D772D
- .incbin "baserom.gba", 0x001d772d, 0xB
-Unknown_081D7738: @ 81D7738
- .incbin "baserom.gba", 0x001d7738, 0xB
-Unknown_081D7743: @ 81D7743
- .incbin "baserom.gba", 0x001d7743, 0x13
-Unknown_081D7756: @ 81D7756
- .incbin "baserom.gba", 0x001d7756, 0xB
-Unknown_081D7761: @ 81D7761
- .incbin "baserom.gba", 0x001d7761, 0xB
-Unknown_081D776C: @ 81D776C
- .incbin "baserom.gba", 0x001d776c, 0xB
-Unknown_081D7777: @ 81D7777
- .incbin "baserom.gba", 0x001d7777, 0xB
-Unknown_081D7782: @ 81D7782
- .incbin "baserom.gba", 0x001d7782, 0x13
-Unknown_081D7795: @ 81D7795
- .incbin "baserom.gba", 0x001d7795, 0x61
-Unknown_081D77F6: @ 81D77F6
- .incbin "baserom.gba", 0x001d77f6, 0x7D
-Unknown_081D7873: @ 81D7873
- .incbin "baserom.gba", 0x001d7873, 0xB
-Unknown_081D787E: @ 81D787E
- .incbin "baserom.gba", 0x001d787e, 0xB
-Unknown_081D7889: @ 81D7889
- .incbin "baserom.gba", 0x001d7889, 0xB
-Unknown_081D7894: @ 81D7894
- .incbin "baserom.gba", 0x001d7894, 0xB
-Unknown_081D789F: @ 81D789F
- .incbin "baserom.gba", 0x001d789f, 0xB
-Unknown_081D78AA: @ 81D78AA
- .incbin "baserom.gba", 0x001d78aa, 0xB
-Unknown_081D78B5: @ 81D78B5
- .incbin "baserom.gba", 0x001d78b5, 0x28
-Unknown_081D78DD: @ 81D78DD
- .incbin "baserom.gba", 0x001d78dd, 0xB
-Unknown_081D78E8: @ 81D78E8
- .incbin "baserom.gba", 0x001d78e8, 0x18
-Unknown_081D7900: @ 81D7900
- .incbin "baserom.gba", 0x001d7900, 0x43
-Unknown_081D7943: @ 81D7943
- .incbin "baserom.gba", 0x001d7943, 0x13
+ .incbin "baserom.gba", 0x1d7276, 0x10
+
+MoveEffect_Haze: @ 81D7286
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ normalisebuffs
+ printstring BATTLE_TEXT_StatElim
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Bide: @ 81D7297
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ orword 0x2024c6c, 0x8000000
+ setbide
+ jump BattleScript_1D6F62
+
+MoveEffect_Rampage: @ 81D72AB
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D72BF
+ ppreduce
+
+BattleScript_1D72BF: @ 81D72BF
+ confuseifrepeatingattackends
+ jump BattleScript_1D6F44
+
+MoveEffect_Roar: @ 81D72C5
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_1D988D
+ jumpifspecialstatusflag TARGET, 0x400, 0, BattleScript_1D93EC
+ accuracycheck BattleScript_1D83D6, 65535
+ accuracycheck BattleScript_1D6F77, 0
+ forcerandomswitch BattleScript_1D83D6
+
+MoveEffect_MultiHit: @ 81D72ED
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ setloopcounter 0
+ atk8e
+ setbyte 0x2016112, 0
+
+BattleScript_1D7300: @ 81D7300
+ jumpiffainted USER, BattleScript_1D7396
+ jumpiffainted TARGET, BattleScript_1D7377
+ jumpifhalfword 0, 0x2024be8, 214, BattleScript_1D7322
+ jumpifstatus USER, SLP, BattleScript_1D7377
+
+BattleScript_1D7322: @ 81D7322
+ atk25
+ copyarray 0x2024d21, 0x2016112, 1
+ critcalc
+ atk5
+ atk6
+ jumpifbyte 4, 0x2024c68, 41, BattleScript_1D7374
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c TARGET
+ waitstateatk
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 64
+ printstring BATTLE_TEXT_Terminator2
+ waitmessage 1
+ addbyte 0x20160e4, 1
+ setbyte 0x201600c, 0
+ atk49 2, 16
+ jumpifbyte 4, 0x2024c68, 64, BattleScript_1D7377
+ atk27 BattleScript_1D7300
+ jump BattleScript_1D7377
+
+BattleScript_1D7374: @ 81D7374
+ pause 32
+
+BattleScript_1D7377: @ 81D7377
+ resultmessage
+ waitmessage 64
+ jumpifbyte 4, 0x2024c68, 41, BattleScript_1D7396
+ copyarray 0x30041c0, 0x20160e0, 6
+ printstring BATTLE_TEXT_HitMulti
+ waitmessage 64
+
+BattleScript_1D7396: @ 81D7396
+ seteffectwithchancetarget
+ faintpokemon TARGET, 0, 0x0
+ setbyte 0x201600c, 2
+ atk49 1, 0
+ setbyte 0x201600c, 4
+ atk49 0, 0
+ end
+
+MoveEffect_Conversion: @ 81D73B1
+ attackcanceler
+ attackstring
+ ppreduce
+ changetypestoenemyattacktype BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_TypeTransform
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_FlinchHit: @ 81D73C6
+ setbyte 0x2024d21, 8
+ jump BattleScript_1D6F14
+
+MoveEffect_RestoreHp: @ 81D73D1
+ attackcanceler
+ attackstring
+ ppreduce
+ setdamageasrestorehalfmaxhp BattleScript_1D83B5, 1
+ attackanimation
+ waitanimation
+ orword 0x2024c6c, 0x100
+ graphicalhpupdate USER
+ datahpupdate USER
+ printstring BATTLE_TEXT_RegainedHealth
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Toxic: @ 81D73F4
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_1D7463
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ jumpifstatus TARGET, PSN, BattleScript_1D7455
+ jumpifstatus TARGET, TOX, BattleScript_1D7455
+ jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_1D83D6
+ jumpiftype TARGET, TYPE_POISON, BattleScript_1D83E8
+ jumpiftype TARGET, TYPE_STEEL, BattleScript_1D83E8
+ accuracycheck BattleScript_1D83D6, 0
+ jumpifhalverset TARGET, 32, BattleScript_1D9037
+ attackanimation
+ waitanimation
+ setbyte 0x2024d21, 6
+ seteffecttarget
+ resultmessage
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D7455: @ 81D7455
+ pause 64
+ printstring BATTLE_TEXT_AlreadyPoisoned
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D7463: @ 81D7463
+ copyarray 0x2024c0a, 0x2024c08, 1
+ setbyte 0x2024d23, 0
+ callatk BattleScript_1D98BD
+ jump BattleScript_1D6F62
+
+MoveEffect_PayDay: @ 81D747D
+ setbyte 0x2024d21, 11
+ jump BattleScript_1D6F14
+
+MoveEffect_LightScreen: @ 81D7488
+ attackcanceler
+ attackstring
+ ppreduce
+ setlightscreen
+ jump BattleScript_1D7786
+
+MoveEffect_TriAttack: @ 81D7491
+ setbyte 0x2024d21, 9
+ jump BattleScript_1D6F14
+
+MoveEffect_Rest: @ 81D749C
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstatus USER, SLP, BattleScript_1D74D6
+ jumpifcannotsleep BattleScript_1D74C6
+ setrest BattleScript_1D83B5
+ pause 32
+ printfromtable BattleTextList_401556
+ waitmessage 64
+ atk98 1
+ waitstateatk
+ jump BattleScript_1D839B
+
+BattleScript_1D74C6: @ 81D74C6
+ pause 64
+ printfromtable BattleTextList_40156A
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D74D6: @ 81D74D6
+ pause 32
+ printstring BATTLE_TEXT_AttackingAsleep
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Ohko: @ 81D74E4
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 65535
+ atk6
+ jumpifbyte 4, 0x2024c68, 41, BattleScript_1D6F48
+ koplussomethings BattleScript_1D7505
+ atkab
+ jump BattleScript_1D6F48
+
+BattleScript_1D7505: @ 81D7505
+ pause 64
+ printfromtable BattleTextList_4015C8
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_RazorWind: @ 81D7515
+ jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D753D
+ jumpifword 4, 0x2024c6c, 0x200, BattleScript_1D753D
+ setbyte 0x2016055, 0
+ callatk BattleScript_1D756C
+ jump BattleScript_1D6F62
+
+BattleScript_1D753D: @ 81D753D
+ attackcanceler
+ setbyte 0x2024d21, 12
+ setbyte 0x2016002, 1
+ clearstatus USER
+ orword 0x2024c6c, 0x800
+ jumpifhalfword 1, 0x2024be6, 143, BattleScript_1D6F3B
+ setbyte 0x2024d21, 8
+ jump BattleScript_1D6F3B
+
+BattleScript_1D756C: @ 81D756C
+ attackcanceler
+ printstring BATTLE_TEXT_Terminator2
+ ppreduce
+ attackanimation
+ waitanimation
+ orword 0x2024c6c, 0x8000000
+ setbyte 0x2024d21, 76
+ seteffecttarget
+ copyarray 0x2024d23, 0x2016055, 1
+ printfromtable BattleTextList_401584
+ waitmessage 64
+ return
+
+MoveEffect_SuperFang: @ 81D7596
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte 0x2024c68, 6
+ gethalfcurrentenemyhp
+ jump BattleScript_1D6F48
+
+MoveEffect_DragonRage: @ 81D75AD
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte 0x2024c68, 6
+ setbyte 0x2024bec, 40
+ setbyte 0x2024bed, 0
+ setbyte 0x2024bee, 0
+ setbyte 0x2024bef, 0
+ atk69
+ jump BattleScript_1D6F48
+
+MoveEffect_Trap: @ 81D75DC
+ jumpifhalfword 1, 0x2024be6, 250, BattleScript_1D7602
+ jumpifspecialstatusflag TARGET, 0x40000, 1, BattleScript_1D7602
+ orword 0x2024c6c, 0x40000
+ setbyte 0x201601f, 2
+
+BattleScript_1D7602: @ 81D7602
+ setbyte 0x2024d21, 13
+ jump BattleScript_1D6F14
+
+MoveEffect_DoubleHit: @ 81D760D
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ setloopcounter 2
+ atk8e
+ setbyte 0x2016112, 0
+ jump BattleScript_1D7300
+
+MoveEffect_RecoilIfMiss: @ 81D7625
+ attackcanceler
+ accuracycheck BattleScript_1D7632, 0
+ jump BattleScript_1D6F42
+
+BattleScript_1D7632: @ 81D7632
+ attackstring
+ ppreduce
+ pause 64
+ resultmessage
+ waitmessage 64
+ jumpifbyte 4, 0x2024c68, 8, BattleScript_1D6F62
+ printstring BATTLE_TEXT_KeptGoingCrash
+ waitmessage 64
+ atk5
+ atk6
+ atk7
+ manipulatedamage 1
+ bicbyte 0x2024c68, 1
+ orword 0x2024c6c, 0x100
+ graphicalhpupdate USER
+ datahpupdate USER
+ faintpokemon USER, 0, 0x0
+ orbyte 0x2024c68, 1
+ jump BattleScript_1D6F62
+
+MoveEffect_Mist: @ 81D7676
+ attackcanceler
+ attackstring
+ ppreduce
+ setmisteffect
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_4015A0
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_FocusEnergy: @ 81D7689
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus USER, S_FOCUS_ENERGY, BattleScript_1D83D6
+ setincreasedcriticalchance
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_4015A4
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Recoil: @ 81D76A6
+ setbyte 0x2024d21, 206
+ jumpifhalfword 1, 0x2024be6, 165, BattleScript_1D6F14
+ atk60 27
+ jump BattleScript_1D6F14
+
+MoveEffect_Confuse: @ 81D76BF
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D98E5
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ jumpifsecondarytstatus TARGET, S_CONFUSED, BattleScript_1D76FE
+ accuracycheck BattleScript_1D83D6, 0
+ jumpifhalverset TARGET, 32, BattleScript_1D9037
+ attackanimation
+ waitanimation
+ setbyte 0x2024d21, 7
+ seteffecttarget
+ resultmessage
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D76FE: @ 81D76FE
+ pause 32
+ printstring BATTLE_TEXT_AlreadyConfused
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_AttackUp2: @ 81D770C
+ setbyte 0x201601e, 33
+ jump BattleScript_1D71B2
+
+MoveEffect_DefenseUp2: @ 81D7717
+ setbyte 0x201601e, 34
+ jump BattleScript_1D71B2
+
+MoveEffect_SpeedUp2: @ 81D7722
+ setbyte 0x201601e, 35
+ jump BattleScript_1D71B2
+
+MoveEffect_SpecialAttackUp2: @ 81D772D
+ setbyte 0x201601e, 36
+ jump BattleScript_1D71B2
+
+MoveEffect_SpecialDefenseUp2: @ 81D7738
+ setbyte 0x201601e, 37
+ jump BattleScript_1D71B2
+
+MoveEffect_Transform: @ 81D7743
+ attackcanceler
+ attackstring
+ ppreduce
+ transformdataexecution
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_4015A8
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_AttackDown2: @ 81D7756
+ setbyte 0x201601e, 161
+ jump BattleScript_1D7227
+
+MoveEffect_DefenseDown2: @ 81D7761
+ setbyte 0x201601e, 162
+ jump BattleScript_1D7227
+
+MoveEffect_SpeedDown2: @ 81D776C
+ setbyte 0x201601e, 163
+ jump BattleScript_1D7227
+
+MoveEffect_SpecialDefenseDown2: @ 81D7777
+ setbyte 0x201601e, 165
+ jump BattleScript_1D7227
+
+MoveEffect_Reflect: @ 81D7782
+ attackcanceler
+ attackstring
+ ppreduce
+ setreflect
+
+BattleScript_1D7786: @ 81D7786
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_401540
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Poison: @ 81D7795
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_1D7463
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ jumpifstatus TARGET, PSN, BattleScript_1D7455
+ jumpifstatus TARGET, TOX, BattleScript_1D7455
+ jumpiftype TARGET, TYPE_POISON, BattleScript_1D83E8
+ jumpiftype TARGET, TYPE_STEEL, BattleScript_1D83E8
+ jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_1D83D6
+ accuracycheck BattleScript_1D83D6, 0
+ jumpifhalverset TARGET, 32, BattleScript_1D9037
+ attackanimation
+ waitanimation
+ setbyte 0x2024d21, 2
+ seteffecttarget
+ resultmessage
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Paralyze: @ 81D77F6
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_LIMBER, BattleScript_1D7859
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ atk6
+ jumpifbyte 4, 0x2024c68, 41, BattleScript_1D83D6
+ jumpifstatus TARGET, PAR, BattleScript_1D784B
+ jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_1D83D6
+ accuracycheck BattleScript_1D83D6, 0
+ jumpifhalverset TARGET, 32, BattleScript_1D9037
+ attackanimation
+ waitanimation
+ setbyte 0x2024d21, 5
+ seteffecttarget
+ resultmessage
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D784B: @ 81D784B
+ pause 32
+ printstring BATTLE_TEXT_AlreadyParalyzed
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D7859: @ 81D7859
+ copyarray 0x2024c0a, 0x2024c08, 1
+ setbyte 0x2024d23, 0
+ callatk BattleScript_1D98B1
+ jump BattleScript_1D6F62
+
+MoveEffect_AttackDownHit: @ 81D7873
+ setbyte 0x2024d21, 22
+ jump BattleScript_1D6F14
+
+MoveEffect_DefenseDownHit: @ 81D787E
+ setbyte 0x2024d21, 23
+ jump BattleScript_1D6F14
+
+MoveEffect_SpeedDownHit: @ 81D7889
+ setbyte 0x2024d21, 24
+ jump BattleScript_1D6F14
+
+MoveEffect_SpecialAttackDownHit: @ 81D7894
+ setbyte 0x2024d21, 25
+ jump BattleScript_1D6F14
+
+MoveEffect_SpecialDefenseDownHit: @ 81D789F
+ setbyte 0x2024d21, 26
+ jump BattleScript_1D6F14
+
+MoveEffect_AccuracyDownHit: @ 81D78AA
+ setbyte 0x2024d21, 27
+ jump BattleScript_1D6F14
+
+MoveEffect_SkyAttack: @ 81D78B5
+ jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D753D
+ jumpifword 4, 0x2024c6c, 0x200, BattleScript_1D753D
+ setbyte 0x2016055, 3
+ callatk BattleScript_1D756C
+ jump BattleScript_1D6F62
+
+MoveEffect_ConfuseHit: @ 81D78DD
+ setbyte 0x2024d21, 7
+ jump BattleScript_1D6F14
+
+MoveEffect_Twineedle: @ 81D78E8
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ setbyte 0x2016112, 2
+ attackstring
+ ppreduce
+ setloopcounter 2
+ atk8e
+ jump BattleScript_1D7300
+
+MoveEffect_Substitute: @ 81D7900
+ attackcanceler
+ ppreduce
+ attackstring
+ waitstateatk
+ jumpifsecondarytstatus USER, S_SUBSTITUTE, BattleScript_1D7935
+ setsubstituteeffect
+ jumpifbyte 1, 0x2024d23, 1, BattleScript_1D7922
+ pause 32
+ jump BattleScript_1D7928
+
+BattleScript_1D7922: @ 81D7922
+ attackanimation
+ waitanimation
+ graphicalhpupdate USER
+ datahpupdate USER
+
+BattleScript_1D7928: @ 81D7928
+ printfromtable BattleTextList_4015AC
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D7935: @ 81D7935
+ pause 32
+ printstring BATTLE_TEXT_SubAlready
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Recharge: @ 81D7943
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ setbyte 0x2024d21, 221
+ jump BattleScript_1D6F42
gUnknown_081D7956:: @ 81D7956
- .incbin "baserom.gba", 0x001d7956, 0xB
-Unknown_081D7961: @ 81D7961
- .incbin "baserom.gba", 0x001d7961, 0x27
-Unknown_081D7988: @ 81D7988
- .incbin "baserom.gba", 0x001d7988, 0x26
-Unknown_081D79AE: @ 81D79AE
- .incbin "baserom.gba", 0x001d79ae, 0x14
-Unknown_081D79C2: @ 81D79C2
- .incbin "baserom.gba", 0x001d79c2, 0x27
-Unknown_081D79E9: @ 81D79E9
- .incbin "baserom.gba", 0x001d79e9, 0x12
-Unknown_081D79FB: @ 81D79FB
- .incbin "baserom.gba", 0x001d79fb, 0x1C
-Unknown_081D7A17: @ 81D7A17
- .incbin "baserom.gba", 0x001d7a17, 0x18
-Unknown_081D7A2F: @ 81D7A2F
- .incbin "baserom.gba", 0x001d7a2f, 0x18
-Unknown_081D7A47: @ 81D7A47
- .incbin "baserom.gba", 0x001d7a47, 0x16
-Unknown_081D7A5D: @ 81D7A5D
- .incbin "baserom.gba", 0x001d7a5d, 0x1C
-Unknown_081D7A79: @ 81D7A79
- .incbin "baserom.gba", 0x001d7a79, 0x37
-Unknown_081D7AB0: @ 81D7AB0
- .incbin "baserom.gba", 0x001d7ab0, 0x3A
-Unknown_081D7AEA: @ 81D7AEA
- .incbin "baserom.gba", 0x001d7aea, 0x15
-Unknown_081D7AFF: @ 81D7AFF
- .incbin "baserom.gba", 0x001d7aff, 0x22
-Unknown_081D7B21: @ 81D7B21
- .incbin "baserom.gba", 0x001d7b21, 0x1F
-Unknown_081D7B40: @ 81D7B40
- .incbin "baserom.gba", 0x001d7b40, 0x42
-Unknown_081D7B82: @ 81D7B82
- .incbin "baserom.gba", 0x001d7b82, 0x11
-Unknown_081D7B93: @ 81D7B93
- .incbin "baserom.gba", 0x001d7b93, 0x6
-Unknown_081D7B99: @ 81D7B99
- .incbin "baserom.gba", 0x001d7b99, 0x1C
-Unknown_081D7BB5: @ 81D7BB5
- .incbin "baserom.gba", 0x001d7bb5, 0x45
-Unknown_081D7BFA: @ 81D7BFA
- .incbin "baserom.gba", 0x001d7bfa, 0xC7
-Unknown_081D7CC1: @ 81D7CC1
- .incbin "baserom.gba", 0x001d7cc1, 0xB
-Unknown_081D7CCC: @ 81D7CCC
- .incbin "baserom.gba", 0x001d7ccc, 0x28
-Unknown_081D7CF4: @ 81D7CF4
- .incbin "baserom.gba", 0x001d7cf4, 0x3A
-Unknown_081D7D2E: @ 81D7D2E
- .incbin "baserom.gba", 0x001d7d2e, 0xD
-Unknown_081D7D3B: @ 81D7D3B
- .incbin "baserom.gba", 0x001d7d3b, 0xC2
-Unknown_081D7DFD: @ 81D7DFD
- .incbin "baserom.gba", 0x001d7dfd, 0x13
-Unknown_081D7E10: @ 81D7E10
- .incbin "baserom.gba", 0x001d7e10, 0x15
-Unknown_081D7E25: @ 81D7E25
- .incbin "baserom.gba", 0x001d7e25, 0x18
-Unknown_081D7E3D: @ 81D7E3D
- .incbin "baserom.gba", 0x001d7e3d, 0x41
-Unknown_081D7E7E: @ 81D7E7E
- .incbin "baserom.gba", 0x001d7e7e, 0x9
-Unknown_081D7E87: @ 81D7E87
- .incbin "baserom.gba", 0x001d7e87, 0x1B
-Unknown_081D7EA2: @ 81D7EA2
- .incbin "baserom.gba", 0x001d7ea2, 0x5E
-Unknown_081D7F00: @ 81D7F00
- .incbin "baserom.gba", 0x001d7f00, 0x1F
-Unknown_081D7F1F: @ 81D7F1F
- .incbin "baserom.gba", 0x001d7f1f, 0x1C
-Unknown_081D7F3B: @ 81D7F3B
- .incbin "baserom.gba", 0x001d7f3b, 0xE
-Unknown_081D7F49: @ 81D7F49
- .incbin "baserom.gba", 0x001d7f49, 0xC
-Unknown_081D7F55: @ 81D7F55
- .incbin "baserom.gba", 0x001d7f55, 0x9
-Unknown_081D7F5E: @ 81D7F5E
- .incbin "baserom.gba", 0x001d7f5e, 0xB
-Unknown_081D7F69: @ 81D7F69
- .incbin "baserom.gba", 0x001d7f69, 0x13
-Unknown_081D7F7C: @ 81D7F7C
- .incbin "baserom.gba", 0x001d7f7c, 0x2D
-Unknown_081D7FA9: @ 81D7FA9
- .incbin "baserom.gba", 0x001d7fa9, 0xB
-Unknown_081D7FB4: @ 81D7FB4
- .incbin "baserom.gba", 0x001d7fb4, 0x2F
-Unknown_081D7FE3: @ 81D7FE3
- .incbin "baserom.gba", 0x001d7fe3, 0xD
-Unknown_081D7FF0: @ 81D7FF0
- .incbin "baserom.gba", 0x001d7ff0, 0x6
-Unknown_081D7FF6: @ 81D7FF6
- .incbin "baserom.gba", 0x001d7ff6, 0x18
-Unknown_081D800E: @ 81D800E
- .incbin "baserom.gba", 0x001d800e, 0x9
-Unknown_081D8017: @ 81D8017
- .incbin "baserom.gba", 0x001d8017, 0xB
-Unknown_081D8022: @ 81D8022
- .incbin "baserom.gba", 0x001d8022, 0xB
-Unknown_081D802D: @ 81D802D
- .incbin "baserom.gba", 0x001d802d, 0xB
-Unknown_081D8038: @ 81D8038
- .incbin "baserom.gba", 0x001d8038, 0x22
-Unknown_081D805A: @ 81D805A
- .incbin "baserom.gba", 0x001d805a, 0x15
-Unknown_081D806F: @ 81D806F
- .incbin "baserom.gba", 0x001d806f, 0x16
-Unknown_081D8085: @ 81D8085
- .incbin "baserom.gba", 0x001d8085, 0x4F
-Unknown_081D80D4: @ 81D80D4
- .incbin "baserom.gba", 0x001d80d4, 0x25
-Unknown_081D80F9: @ 81D80F9
- .incbin "baserom.gba", 0x001d80f9, 0x84
-Unknown_081D817D: @ 81D817D
- .incbin "baserom.gba", 0x001d817d, 0x17
-Unknown_081D8194: @ 81D8194
- .incbin "baserom.gba", 0x001d8194, 0x1F
-Unknown_081D81B3: @ 81D81B3
- .incbin "baserom.gba", 0x001d81b3, 0x16
-Unknown_081D81C9: @ 81D81C9
- .incbin "baserom.gba", 0x001d81c9, 0x56
-Unknown_081D821F: @ 81D821F
- .incbin "baserom.gba", 0x001d821f, 0x14
-Unknown_081D8233: @ 81D8233
- .incbin "baserom.gba", 0x001d8233, 0x3B
-Unknown_081D826E: @ 81D826E
- .incbin "baserom.gba", 0x001d826e, 0x57
-Unknown_081D82C5: @ 81D82C5
- .incbin "baserom.gba", 0x001d82c5, 0xAB
-Unknown_081D8370: @ 81D8370
- .incbin "baserom.gba", 0x001d8370, 0x22
-Unknown_081D8392: @ 81D8392
- .incbin "baserom.gba", 0x001d8392, 0x9
-
-gUnknown_081D839B:: @ 81D839B
- .incbin "baserom.gba", 0x001d839b, 0x1a
-
-gUnknown_081D83B5:: @ 81D83B5
- .incbin "baserom.gba", 0x001d83b5, 0xE
-Unknown_081D83C3:
- .incbin "baserom.gba", 0x001d83c3, 0x13
-
-gUnknown_081D83D6:: @ 81D83D6
- .incbin "baserom.gba", 0x001d83d6, 0x24
-Unknown_081D83FA: @ 81D83FA
- .incbin "baserom.gba", 0x001d83fa, 0x20
-Unknown_081D841A: @ 81D841A
- .incbin "baserom.gba", 0x001d841a, 0x13
-Unknown_081D842D: @ 81D842D
- .incbin "baserom.gba", 0x001d842d, 0x42
-Unknown_081D846F: @ 81D846F
- .incbin "baserom.gba", 0x001d846f, 0x1D
-Unknown_081D848C: @ 81D848C
- .incbin "baserom.gba", 0x001d848c, 0x9
-Unknown_081D8495: @ 81D8495
- .incbin "baserom.gba", 0x001d8495, 0x1C
-Unknown_081D84B1: @ 81D84B1
- .incbin "baserom.gba", 0x001d84b1, 0x5E
-Unknown_081D850F: @ 81D850F
- .incbin "baserom.gba", 0x001d850f, 0x74
-Unknown_081D8583: @ 81D8583
- .incbin "baserom.gba", 0x001d8583, 0xA3
-Unknown_081D8626: @ 81D8626
- .incbin "baserom.gba", 0x001d8626, 0x1A
-Unknown_081D8640: @ 81D8640
- .incbin "baserom.gba", 0x001d8640, 0x12
-Unknown_081D8652: @ 81D8652
- .incbin "baserom.gba", 0x001d8652, 0x2A
-Unknown_081D867C: @ 81D867C
- .incbin "baserom.gba", 0x001d867c, 0x11
-Unknown_081D868D: @ 81D868D
- .incbin "baserom.gba", 0x001d868d, 0xD
-Unknown_081D869A: @ 81D869A
- .incbin "baserom.gba", 0x001d869a, 0x11
-Unknown_081D86AB: @ 81D86AB
- .incbin "baserom.gba", 0x001d86ab, 0x1C
-Unknown_081D86C7: @ 81D86C7
- .incbin "baserom.gba", 0x001d86c7, 0x15
-Unknown_081D86DC: @ 81D86DC
- .incbin "baserom.gba", 0x001d86dc, 0x2E
-Unknown_081D870A: @ 81D870A
- .incbin "baserom.gba", 0x001d870a, 0x1C
-Unknown_081D8726: @ 81D8726
- .incbin "baserom.gba", 0x001d8726, 0x10
-Unknown_081D8736: @ 81D8736
- .incbin "baserom.gba", 0x001d8736, 0x17
-Unknown_081D874D: @ 81D874D
- .incbin "baserom.gba", 0x001d874d, 0x15
-Unknown_081D8762: @ 81D8762
- .incbin "baserom.gba", 0x001d8762, 0xB
-Unknown_081D876D: @ 81D876D
- .incbin "baserom.gba", 0x001d876d, 0x15
-Unknown_081D8782: @ 81D8782
- .incbin "baserom.gba", 0x001d8782, 0x15
-Unknown_081D8797: @ 81D8797
- .incbin "baserom.gba", 0x001d8797, 0x6
-Unknown_081D879D: @ 81D879D
- .incbin "baserom.gba", 0x001d879d, 0x51
-Unknown_081D87EE: @ 81D87EE
- .incbin "baserom.gba", 0x001d87ee, 0x59
-Unknown_081D8847: @ 81D8847
- .incbin "baserom.gba", 0x001d8847, 0xB
-Unknown_081D8852: @ 81D8852
- .incbin "baserom.gba", 0x001d8852, 0x3B
-Unknown_081D888D: @ 81D888D
- .incbin "baserom.gba", 0x001d888d, 0x6
-Unknown_081D8893: @ 81D8893
- .incbin "baserom.gba", 0x001d8893, 0x1C
-Unknown_081D88AF: @ 81D88AF
- .incbin "baserom.gba", 0x001d88af, 0x15
-Unknown_081D88C4: @ 81D88C4
- .incbin "baserom.gba", 0x001d88c4, 0x17
-Unknown_081D88DB: @ 81D88DB
- .incbin "baserom.gba", 0x001d88db, 0x15
-Unknown_081D88F0: @ 81D88F0
- .incbin "baserom.gba", 0x001d88f0, 0x18
-Unknown_081D8908: @ 81D8908
- .incbin "baserom.gba", 0x001d8908, 0x10
-Unknown_081D8918: @ 81D8918
- .incbin "baserom.gba", 0x001d8918, 0x6
-Unknown_081D891E: @ 81D891E
- .incbin "baserom.gba", 0x001d891e, 0xB
-Unknown_081D8929: @ 81D8929
- .incbin "baserom.gba", 0x001d8929, 0xAE
-Unknown_081D89D7: @ 81D89D7
- .incbin "baserom.gba", 0x001d89d7, 0x17
-Unknown_081D89EE: @ 81D89EE
- .incbin "baserom.gba", 0x001d89ee, 0xB
-Unknown_081D89F9: @ 81D89F9
- .incbin "baserom.gba", 0x001d89f9, 0x6
-Unknown_081D89FF: @ 81D89FF
- .incbin "baserom.gba", 0x001d89ff, 0xB
-Unknown_081D8A0A: @ 81D8A0A
- .incbin "baserom.gba", 0x001d8a0a, 0x87
-Unknown_081D8A91: @ 81D8A91
- .incbin "baserom.gba", 0x001d8a91, 0x64
-Unknown_081D8AF5: @ 81D8AF5
- .incbin "baserom.gba", 0x001d8af5, 0xE
-Unknown_081D8B03: @ 81D8B03
- .incbin "baserom.gba", 0x001d8b03, 0x64
-Unknown_081D8B67: @ 81D8B67
- .incbin "baserom.gba", 0x001d8b67, 0x78
-Unknown_081D8BDF: @ 81D8BDF
- .incbin "baserom.gba", 0x001d8bdf, 0x64
-Unknown_081D8C43: @ 81D8C43
- .incbin "baserom.gba", 0x001d8c43, 0x15
+ .incbin "baserom.gba", 0x1d7956, 0xb
+
+MoveEffect_Rage: @ 81D7961
+ attackcanceler
+ accuracycheck BattleScript_1D797B, 0
+ setbyte 0x2024d21, 30
+ seteffecttarget
+ setbyte 0x2024d21, 0
+ jump BattleScript_1D6F42
+
+BattleScript_1D797B: @ 81D797B
+ setbyte 0x2024d21, 30
+ clearstatus USER
+ jump BattleScript_1D6F72
+
+MoveEffect_Mimic: @ 81D7988
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ accuracycheck BattleScript_1D83D6, 65535
+ copyattack BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_LearnedMove2
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Metronome: @ 81D79AE
+ attackcanceler
+ attackstring
+ pause 32
+ attackanimation
+ waitanimation
+ setbyte 0x2016002, 0
+ setbyte 0x20160a1, 0
+ metronomeeffect
+
+MoveEffect_LeechSeed: @ 81D79C2
+ attackcanceler
+ attackstring
+ pause 32
+ ppreduce
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ accuracycheck BattleScript_1D79D9, 0
+
+BattleScript_1D79D9: @ 81D79D9
+ setleechseed
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_40154C
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Splash: @ 81D79E9
+ attackcanceler
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ atk60 26
+ printstring BATTLE_TEXT_Nothing
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Disable: @ 81D79FB
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 0
+ disablelastusedattack BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_MoveWasDisabled
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_LevelDamage: @ 81D7A17
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte 0x2024c68, 6
+ nightshadedamageeffect
+ atk69
+ jump BattleScript_1D6F48
+
+MoveEffect_Psywave: @ 81D7A2F
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte 0x2024c68, 6
+ psywavedamageeffect
+ atk69
+ jump BattleScript_1D6F48
+
+MoveEffect_Counter: @ 81D7A47
+ attackcanceler
+ counterdamagecalculator BattleScript_1D83D4
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ damagecalc2
+ atk69
+ jump BattleScript_1D6F48
+
+MoveEffect_Encore: @ 81D7A5D
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ setencore BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_EncoreGot
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_PainSplit: @ 81D7A79
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 65535
+ painsplitdamagecalculator BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ orword 0x2024c6c, 0x100
+ graphicalhpupdate USER
+ datahpupdate USER
+ copyarray 0x2024bec, 0x2016014, 4
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ printstring BATTLE_TEXT_PainSplit
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Snore: @ 81D7AB0
+ attackcanceler
+ jumpifstatus USER, SLP, BattleScript_1D7AC2
+ attackstring
+ ppreduce
+ jump BattleScript_1D83D6
+
+BattleScript_1D7AC2: @ 81D7AC2
+ jumpifhalfword 0, 0x2024be8, 214, BattleScript_1D7AD6
+ printstring BATTLE_TEXT_FastAsleep
+ waitmessage 64
+ statusanimation USER
+
+BattleScript_1D7AD6: @ 81D7AD6
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D6F77, 0
+ setbyte 0x2024d21, 8
+ jump BattleScript_1D6F44
+
+MoveEffect_Conversion2: @ 81D7AEA
+ attackcanceler
+ attackstring
+ ppreduce
+ settypetorandomresistance BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_TypeTransform
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_LockOn: @ 81D7AFF
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ accuracycheck BattleScript_1D83D6, 0
+ setalwayshitflag
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_TookAim
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Sketch: @ 81D7B21
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ copymovepermanently BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_SketchedMove
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_SleepTalk: @ 81D7B40
+ attackcanceler
+ jumpifstatus USER, SLP, BattleScript_1D7B52
+ attackstring
+ ppreduce
+ jump BattleScript_1D83D6
+
+BattleScript_1D7B52: @ 81D7B52
+ printstring BATTLE_TEXT_FastAsleep
+ waitmessage 64
+ statusanimation USER
+ attackstring
+ ppreduce
+ orword 0x2024c6c, 0x800
+ selectrandommovefromusermoves BattleScript_1D7B72
+ pause 64
+ jump BattleScript_1D83D6
+
+BattleScript_1D7B72: @ 81D7B72
+ attackanimation
+ waitanimation
+ setbyte 0x2016002, 0
+ setbyte 0x20160a1, 0
+ jumptoattack USER
+
+MoveEffect_DestinyBond: @ 81D7B82
+ attackcanceler
+ attackstring
+ ppreduce
+ destinybondeffect
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_DestinyBondTake
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Flail: @ 81D7B93
+ remaininghptopower
+ jump BattleScript_1D6F14
+
+MoveEffect_Spite: @ 81D7B99
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 0
+ reducepprandom BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_ReducedBy
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_HealBell: @ 81D7BB5
+ attackcanceler
+ attackstring
+ ppreduce
+ clearstatusifnotsoundproofed
+ waitstateatk
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_4015D8
+ waitmessage 64
+ jumpifhalfword 1, 0x2024be6, 215, BattleScript_1D7BF2
+ jumpifbyte 5, 0x2024d23, 1, BattleScript_1D7BE1
+ printstring BATTLE_TEXT_BlocksOther
+ waitmessage 64
+
+BattleScript_1D7BE1: @ 81D7BE1
+ jumpifbyte 5, 0x2024d23, 2, BattleScript_1D7BF2
+ printstring BATTLE_TEXT_BlocksOther2
+ waitmessage 64
+
+BattleScript_1D7BF2: @ 81D7BF2
+ atk98 4
+ waitstateatk
+ jump BattleScript_1D6F62
+
+MoveEffect_TripleKick: @ 81D7BFA
+ attackcanceler
+ attackstring
+ ppreduce
+ setbyte 0x20160de, 0
+ setbyte 0x20160df, 0
+ atk8e
+ atk26 3
+
+BattleScript_1D7C0C: @ 81D7C0C
+ jumpiffainted USER, BattleScript_1D7CAF
+ jumpiffainted TARGET, BattleScript_1D7C8D
+ jumpifhalfword 0, 0x2024be8, 214, BattleScript_1D7C2E
+ jumpifstatus USER, SLP, BattleScript_1D7C8D
+
+BattleScript_1D7C2E: @ 81D7C2E
+ atk25
+ accuracycheck BattleScript_1D7C8D, 0
+ addbyte 0x20160de, 10
+ addbyte 0x20160e4, 1
+ copyarray 0x2024dec, 0x20160de, 2
+ critcalc
+ atk5
+ atk6
+ atk7
+ jumpifbyte 4, 0x2024c68, 41, BattleScript_1D7C8D
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c TARGET
+ waitstateatk
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 64
+ printstring BATTLE_TEXT_Terminator2
+ waitmessage 1
+ setbyte 0x201600c, 0
+ atk49 2, 16
+ jumpifbyte 4, 0x2024c68, 64, BattleScript_1D7C90
+ atk27 BattleScript_1D7C0C
+ jump BattleScript_1D7C90
+
+BattleScript_1D7C8D: @ 81D7C8D
+ pause 32
+
+BattleScript_1D7C90: @ 81D7C90
+ resultmessage
+ waitmessage 64
+ jumpifbyte 0, 0x20160e4, 0, BattleScript_1D7CAF
+ copyarray 0x30041c0, 0x20160e0, 6
+ printstring BATTLE_TEXT_HitMulti
+ waitmessage 64
+
+BattleScript_1D7CAF: @ 81D7CAF
+ seteffectwithchancetarget
+ faintpokemon TARGET, 0, 0x0
+ setbyte 0x201600c, 14
+ atk49 0, 0
+ end
+
+MoveEffect_Thief: @ 81D7CC1
+ setbyte 0x2024d21, 31
+ jump BattleScript_1D6F14
+
+MoveEffect_MeanLook: @ 81D7CCC
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 65534
+ jumpifsecondarytstatus TARGET, S_MEAN_LOOK, BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ setbyte 0x2024d21, 32
+ seteffecttarget
+ printstring BATTLE_TEXT_CantEscapeNow
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Nightmare: @ 81D7CF4
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ jumpifsecondarytstatus TARGET, S_NIGHTMARE, BattleScript_1D83D6
+ jumpifstatus TARGET, SLP, BattleScript_1D7D1A
+ jump BattleScript_1D83D6
+
+BattleScript_1D7D1A: @ 81D7D1A
+ attackanimation
+ waitanimation
+ setbyte 0x2024d21, 33
+ seteffecttarget
+ printstring BATTLE_TEXT_NightmareStart
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Minimize: @ 81D7D2E
+ attackcanceler
+ setminimize
+ setbyte 0x201601e, 23
+ jump BattleScript_1D71B3
+
+MoveEffect_Curse: @ 81D7D3B
+ jumpiftype2 USER, TYPE_GHOST, BattleScript_1D7DB3
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat USER, 2, 3, 0, BattleScript_1D7D60
+ jumpifstat USER, 1, 1, 12, BattleScript_1D7D60
+ jumpifstat USER, 0, 2, 12, BattleScript_1D83D6
+
+BattleScript_1D7D60: @ 81D7D60
+ copyarray 0x2024c08, 0x2024c07, 1
+ setbyte 0x2016002, 1
+ attackanimation
+ waitanimation
+ setbyte 0x201601e, 147
+ statbuffchange 65, BattleScript_1D7D86
+ printfromtable BattleTextList_40157C
+ waitmessage 64
+
+BattleScript_1D7D86: @ 81D7D86
+ setbyte 0x201601e, 17
+ statbuffchange 65, BattleScript_1D7D9A
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D7D9A: @ 81D7D9A
+ setbyte 0x201601e, 18
+ statbuffchange 65, BattleScript_1D7DAE
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D7DAE: @ 81D7DAE
+ jump BattleScript_1D6F62
+
+BattleScript_1D7DB3: @ 81D7DB3
+ jumpifarraynotequal 0x2024c07, 0x2024c08, 1, BattleScript_1D7DC4
+ atk76 USER, 3
+
+BattleScript_1D7DC4: @ 81D7DC4
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ cursetarget BattleScript_1D83D6
+ orword 0x2024c6c, 0x100
+ setbyte 0x2016002, 0
+ attackanimation
+ waitanimation
+ graphicalhpupdate USER
+ datahpupdate USER
+ printstring BATTLE_TEXT_CurseLay
+ waitmessage 64
+ faintpokemon USER, 0, 0x0
+ jump BattleScript_1D6F62
+
+MoveEffect_Endure: @ 81D7DFD
+MoveEffect_Protect: @ 81D7DFD
+ attackcanceler
+ attackstring
+ ppreduce
+ setprotect
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_40153A
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Spikes: @ 81D7E10
+ attackcanceler
+ setspikes BattleScript_1D83D4
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_SpikesScattered
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Foresight: @ 81D7E25
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ setforesight
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_IdentifiedPoke
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_PerishSong: @ 81D7E3D
+ attackcanceler
+ attackstring
+ ppreduce
+ setperishsong BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_PerishSong
+ waitmessage 64
+ setbyte 0x2016003, 0
+
+BattleScript_1D7E53: @ 81D7E53
+ jumpifability 10, ABILITY_SOUNDPROOF, BattleScript_1D7E73
+
+BattleScript_1D7E5A: @ 81D7E5A
+ addbyte 0x2016003, 1
+ jumpifarraynotequal 0x2016003, 0x2024a68, 1, BattleScript_1D7E53
+ jump BattleScript_1D6F62
+
+BattleScript_1D7E73: @ 81D7E73
+ printstring BATTLE_TEXT_BlocksOther2
+ waitmessage 64
+ jump BattleScript_1D7E5A
+
+MoveEffect_Sandstorm: @ 81D7E7E
+ attackcanceler
+ attackstring
+ ppreduce
+ setsandstorm
+ jump BattleScript_1D7FFA
+
+MoveEffect_Rollout: @ 81D7E87
+ attackcanceler
+ attackstring
+ jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D7E94
+ ppreduce
+
+BattleScript_1D7E94: @ 81D7E94
+ accuracycheck BattleScript_1D7E9B, 0
+
+BattleScript_1D7E9B: @ 81D7E9B
+ damagecalc2
+ rolloutdamagecalculation
+ jump BattleScript_1D6F44
+
+MoveEffect_Swagger: @ 81D7EA2
+ attackcanceler
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D6F6C
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ jumpifconfusedandattackmaxed 1, BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ setbyte 0x201601e, 33
+ statbuffchange 1, BattleScript_1D7EE5
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D7EE5
+ atk47
+ playanimation TARGET, 1, 0x20160a4
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D7EE5: @ 81D7EE5
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D98E5
+ jumpifhalverset TARGET, 32, BattleScript_1D9037
+ setbyte 0x2024d21, 7
+ seteffecttarget
+ jump BattleScript_1D6F62
+
+MoveEffect_FuryCutter: @ 81D7F00
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D7F0A, 0
+
+BattleScript_1D7F0A: @ 81D7F0A
+ furycutterdamagecalculation
+ critcalc
+ atk5
+ atk6
+ jumpifbyte 4, 0x2024c68, 41, BattleScript_1D7F0A
+ atk7
+ jump BattleScript_1D6F48
+
+MoveEffect_Attract: @ 81D7F1F
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 0
+ tryinfatuatetarget BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_FellLove
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Frustration: @ 81D7F3B
+MoveEffect_Return: @ 81D7F3B
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ happinesstodamagecalculation
+ jump BattleScript_1D6F42
+
+MoveEffect_Present: @ 81D7F49
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ atk6
+ presentdamagecalculation
+
+MoveEffect_Safeguard: @ 81D7F55
+ attackcanceler
+ attackstring
+ ppreduce
+ setsafeguard
+ jump BattleScript_1D7786
+
+MoveEffect_ThawHit: @ 81D7F5E
+ setbyte 0x2024d21, 3
+ jump BattleScript_1D6F14
+
+MoveEffect_Magnitude: @ 81D7F69
+ attackcanceler
+ attackstring
+ ppreduce
+ selectnexttarget
+ magnitudedamagecalculation
+ pause 32
+ printstring BATTLE_TEXT_MagnitudeCount
+ waitmessage 64
+ jump BattleScript_1D80FD
+
+MoveEffect_BatonPass: @ 81D7F7C
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifcannotswitch 129, BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ openpartyscreen USER, BattleScript_1D83D6
+ atke2 USER
+ waitstateatk
+ atk51 USER, 2
+ atk58 USER
+ switch1 USER
+ switch2 USER
+ atk73 USER
+ printstring 3
+ switch3 USER, 1
+ waitstateatk
+ atk52 USER
+ jump BattleScript_1D6F62
+
+MoveEffect_RapidSpin: @ 81D7FA9
+ setbyte 0x2024d21, 163
+ jump BattleScript_1D6F14
+
+MoveEffect_Sonicboom: @ 81D7FB4
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ atk6
+ bicbyte 0x2024c68, 6
+ setbyte 0x2024bec, 20
+ setbyte 0x2024bed, 0
+ setbyte 0x2024bee, 0
+ setbyte 0x2024bef, 0
+ atk69
+ jump BattleScript_1D6F48
+
+MoveEffect_Moonlight: @ 81D7FE3
+MoveEffect_MorningSun: @ 81D7FE3
+MoveEffect_Synthesis: @ 81D7FE3
+ attackcanceler
+ attackstring
+ ppreduce
+ recoverbasedonsunlight BattleScript_1D83B5
+ jump BattleScript_1D839B
+
+MoveEffect_HiddenPower: @ 81D7FF0
+ hiddenpowerdamagecalculation
+ jump BattleScript_1D6F14
+
+MoveEffect_RainDance: @ 81D7FF6
+ attackcanceler
+ attackstring
+ ppreduce
+ setrain
+
+BattleScript_1D7FFA: @ 81D7FFA
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_40151C
+ waitmessage 64
+ callatk BattleScript_1D9761
+ jump BattleScript_1D6F62
+
+MoveEffect_SunnyDay: @ 81D800E
+ attackcanceler
+ attackstring
+ ppreduce
+ setsunny
+ jump BattleScript_1D7FFA
+
+MoveEffect_DefenseUpHit: @ 81D8017
+ setbyte 0x2024d21, 80
+ jump BattleScript_1D6F14
+
+MoveEffect_AttackUpHit: @ 81D8022
+ setbyte 0x2024d21, 79
+ jump BattleScript_1D6F14
+
+MoveEffect_AllStatsUpHit: @ 81D802D
+ setbyte 0x2024d21, 98
+ jump BattleScript_1D6F14
+
+MoveEffect_BellyDrum: @ 81D8038
+ attackcanceler
+ attackstring
+ ppreduce
+ maxattackhalvehp BattleScript_1D83D6
+ orword 0x2024c6c, 0x100
+ attackanimation
+ waitanimation
+ graphicalhpupdate USER
+ datahpupdate USER
+ printstring BATTLE_TEXT_CutHPMaxATK
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_PsychUp: @ 81D805A
+ attackcanceler
+ attackstring
+ ppreduce
+ copyfoestats BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_CopyStatChanges
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_MirrorCoat: @ 81D806F
+ attackcanceler
+ mirrorcoatdamagecalculator BattleScript_1D83D4
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ damagecalc2
+ atk69
+ jump BattleScript_1D6F48
+
+MoveEffect_SkullBash: @ 81D8085
+ jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D753D
+ jumpifword 4, 0x2024c6c, 0x200, BattleScript_1D753D
+ setbyte 0x2016055, 2
+ callatk BattleScript_1D756C
+ setbyte 0x201601e, 18
+ statbuffchange 65, BattleScript_1D80CF
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D80CF
+ atk47
+ playanimation USER, 1, 0x20160a4
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D80CF: @ 81D80CF
+ jump BattleScript_1D6F62
+
+MoveEffect_Twister: @ 81D80D4
+ jumpifspecialstatusflag TARGET, 0x40, 1, BattleScript_1D80EE
+ orword 0x2024c6c, 0x10000
+ setbyte 0x201601f, 2
+
+BattleScript_1D80EE: @ 81D80EE
+ setbyte 0x2024d21, 8
+ jump BattleScript_1D6F14
+
+MoveEffect_Earthquake: @ 81D80F9
+ attackcanceler
+ attackstring
+ ppreduce
+ selectnexttarget
+
+BattleScript_1D80FD: @ 81D80FD
+ atk25
+ jumpifspecialstatusflag TARGET, 0x80, 1, BattleScript_1D811D
+ orword 0x2024c6c, 0x20000
+ setbyte 0x201601f, 2
+ jump BattleScript_1D812C
+
+BattleScript_1D811D: @ 81D811D
+ bicword 0x2024c6c, 0x20000
+ setbyte 0x201601f, 1
+
+BattleScript_1D812C: @ 81D812C
+ accuracycheck BattleScript_1D8165, 0
+ critcalc
+ atk5
+ atk6
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c TARGET
+ waitstateatk
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 64
+ resultmessage
+ waitmessage 64
+ printstring BATTLE_TEXT_Terminator2
+ waitmessage 1
+ faintpokemon TARGET, 0, 0x0
+ setbyte 0x201600c, 0
+ atk49 2, 16
+ jumpwhiletargetvalid BattleScript_1D80FD
+ end
+
+BattleScript_1D8165: @ 81D8165
+ pause 32
+ atk6
+ missmessage
+ resultmessage
+ waitmessage 64
+ setbyte 0x201600c, 0
+ atk49 2, 16
+ jumpwhiletargetvalid BattleScript_1D80FD
+ end
+
+MoveEffect_FutureSight: @ 81D817D
+ attackcanceler
+ attackstring
+ ppreduce
+ setfutureattack BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_4015E2
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Gust: @ 81D8194
+ jumpifspecialstatusflag TARGET, 0x40, 1, BattleScript_1D6F14
+ orword 0x2024c6c, 0x10000
+ setbyte 0x201601f, 2
+ jump BattleScript_1D6F14
+
+MoveEffect_FlinchHit2: @ 81D81B3
+ jumpifspecialstatusflag TARGET, 0x100, 1, BattleScript_1D80EE
+ setbyte 0x201601f, 2
+ jump BattleScript_1D80EE
+
+MoveEffect_Solarbeam: @ 81D81C9
+ jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_1D81E1
+ jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_1D81E1
+ jumpifhalfword 4, 0x2024db8, 96, BattleScript_1D8209
+
+BattleScript_1D81E1: @ 81D81E1
+ jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D753D
+ jumpifword 4, 0x2024c6c, 0x200, BattleScript_1D753D
+ setbyte 0x2016055, 1
+ callatk BattleScript_1D756C
+ jump BattleScript_1D6F62
+
+BattleScript_1D8209: @ 81D8209
+ orword 0x2024c6c, 0x8000000
+ setbyte 0x2024d21, 76
+ seteffecttarget
+ ppreduce
+ jump BattleScript_1D753D
+
+MoveEffect_Thunder: @ 81D821F
+ setbyte 0x2024d21, 5
+ orword 0x2024c6c, 0x10000
+ jump BattleScript_1D6F14
+
+MoveEffect_Teleport: @ 81D8233
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifhalfword 4, 0x20239f8, 8, BattleScript_1D83D6
+ atk76 USER, 2
+ jumpifbyte 0, 0x2024d1e, 1, BattleScript_1D83D6
+ jumpifbyte 0, 0x2024d1e, 2, BattleScript_1D8839
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_FledBattle
+ waitmessage 64
+ setbyte 0x2024d26, 5
+ jump BattleScript_1D6F62
+
+MoveEffect_BeatUp: @ 81D826E
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ pause 32
+ ppreduce
+ setbyte 0x2024d1e, 0
+
+BattleScript_1D8281: @ 81D8281
+ atk25
+ beatupcalculation BattleScript_1D82C4, BattleScript_1D83D6
+ printstring BATTLE_TEXT_PokeAttack
+ critcalc
+ jumpifbyte 1, 0x2024c0d, 2, BattleScript_1D829C
+ manipulatedamage 2
+
+BattleScript_1D829C: @ 81D829C
+ atk7
+ attackanimation
+ waitanimation
+ missmessage
+ atk5c TARGET
+ waitstateatk
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 64
+ resultmessage
+ waitmessage 64
+ faintpokemon TARGET, 0, 0x0
+ setbyte 0x201600c, 0
+ atk49 2, 16
+ jump BattleScript_1D8281
+
+BattleScript_1D82C4: @ 81D82C4
+ end
+
+MoveEffect_Fly: @ 81D82C5
+ jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D8333
+ jumpifword 4, 0x2024c6c, 0x200, BattleScript_1D8333
+ jumpifhalfword 0, 0x2024be6, 19, BattleScript_1D8322
+ jumpifhalfword 0, 0x2024be6, 291, BattleScript_1D8317
+ jumpifhalfword 0, 0x2024be6, 340, BattleScript_1D830C
+ setbyte 0x2016055, 5
+ jump BattleScript_1D8328
+
+BattleScript_1D830C: @ 81D830C
+ setbyte 0x2016055, 7
+ jump BattleScript_1D8328
+
+BattleScript_1D8317: @ 81D8317
+ setbyte 0x2016055, 6
+ jump BattleScript_1D8328
+
+BattleScript_1D8322: @ 81D8322
+ setbyte 0x2016055, 4
+
+BattleScript_1D8328: @ 81D8328
+ callatk BattleScript_1D756C
+ hidepreattack
+ jump BattleScript_1D6F62
+
+BattleScript_1D8333: @ 81D8333
+ attackcanceler
+ setbyte 0x2024d21, 12
+ setbyte 0x2016002, 1
+ clearstatus USER
+ orword 0x2024c6c, 0x800
+ jumpifhalfword 1, 0x2024be6, 340, BattleScript_1D835D
+ setbyte 0x2024d21, 5
+
+BattleScript_1D835D: @ 81D835D
+ accuracycheck BattleScript_1D836A, 0
+ unhidepostattack
+ jump BattleScript_1D6F42
+
+BattleScript_1D836A: @ 81D836A
+ unhidepostattack
+ jump BattleScript_1D6F72
+
+MoveEffect_DefenseCurl: @ 81D8370
+ attackcanceler
+ attackstring
+ ppreduce
+ setcurled
+ setbyte 0x201601e, 18
+ statbuffchange 65, BattleScript_1D838D
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D71D8
+ attackanimation
+ waitanimation
+
+BattleScript_1D838D: @ 81D838D
+ jump BattleScript_1D71D0
+
+MoveEffect_Softboiled: @ 81D8392
+ attackcanceler
+ attackstring
+ ppreduce
+ setdamageasrestorehalfmaxhp BattleScript_1D83B5, 0
+
+BattleScript_1D839B:: @ 81D839B
+ attackanimation
+ waitanimation
+ orword 0x2024c6c, 0x100
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ printstring BATTLE_TEXT_RegainedHealth
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D83B5:: @ 81D83B5
+ pause 32
+ printstring BATTLE_TEXT_HPFull
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_FakeOut: @ 81D83C3
+ attackcanceler
+ jumpifnotfirstturn BattleScript_1D83D4
+ setbyte 0x2024d21, 136
+ jump BattleScript_1D6F14
+
+BattleScript_1D83D4: @ 81D83D4
+ attackstring
+
+BattleScript_1D83D5: @ 81D83D5
+ ppreduce
+
+BattleScript_1D83D6:: @ 81D83D6
+ pause 32
+ orbyte 0x2024c68, 32
+ resultmessage
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D83E8: @ 81D83E8
+ pause 32
+ orbyte 0x2024c68, 8
+ resultmessage
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Uproar: @ 81D83FA
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ setbyte 0x2024d21, 74
+ attackstring
+ jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D8414
+ ppreduce
+
+BattleScript_1D8414: @ 81D8414
+ nop3
+ jump BattleScript_1D6F44
+
+MoveEffect_Stockpile: @ 81D841A
+ attackcanceler
+ attackstring
+ ppreduce
+ stockpile
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_40155E
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_SpitUp: @ 81D842D
+ attackcanceler
+ jumpifbyte 0, 0x2024d24, 1, BattleScript_1D845C
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D6F72, 0
+ stockpiletobasedamage BattleScript_1D844E
+ atk6
+ atk69
+ jump BattleScript_1D6F48
+
+BattleScript_1D844E: @ 81D844E
+ pause 32
+ printstring BATTLE_TEXT_SpitUpFail
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D845C: @ 81D845C
+ attackstring
+ ppreduce
+ pause 64
+ stockpiletobasedamage BattleScript_1D844E
+ resultmessage
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Swallow: @ 81D846F
+ attackcanceler
+ attackstring
+ ppreduce
+ stockpiletohprecovery BattleScript_1D847C
+ jump BattleScript_1D839B
+
+BattleScript_1D847C: @ 81D847C
+ pause 32
+ printfromtable BattleTextList_401566
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Hail: @ 81D848C
+ attackcanceler
+ attackstring
+ ppreduce
+ sethail
+ jump BattleScript_1D7FFA
+
+MoveEffect_Torment: @ 81D8495
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 0
+ settorment BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_TormentSubject
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Flatter: @ 81D84B1
+ attackcanceler
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D6F6C
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ jumpifconfusedandattackmaxed 4, BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ setbyte 0x201601e, 20
+ statbuffchange 1, BattleScript_1D84F4
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D84F4
+ atk47
+ playanimation TARGET, 1, 0x20160a4
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D84F4: @ 81D84F4
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D98E5
+ jumpifhalverset TARGET, 32, BattleScript_1D9037
+ setbyte 0x2024d21, 7
+ seteffecttarget
+ jump BattleScript_1D6F62
+
+MoveEffect_WillOWisp: @ 81D850F
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ jumpifstatus TARGET, BRN, BattleScript_1D8575
+ jumpiftype TARGET, TYPE_FIRE, BattleScript_1D83E8
+ jumpifability TARGET, ABILITY_WATER_VEIL, BattleScript_1D855B
+ jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_1D83D6
+ accuracycheck BattleScript_1D83D6, 0
+ jumpifhalverset TARGET, 32, BattleScript_1D9037
+ attackanimation
+ waitanimation
+ setbyte 0x2024d21, 3
+ seteffecttarget
+ jump BattleScript_1D6F62
+
+BattleScript_1D855B: @ 81D855B
+ copyarray 0x2024c0a, 0x2024c08, 1
+ setbyte 0x2024d23, 0
+ callatk BattleScript_1D98A5
+ jump BattleScript_1D6F62
+
+BattleScript_1D8575: @ 81D8575
+ pause 32
+ printstring BATTLE_TEXT_AlreadyBurned
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Memento: @ 81D8583
+ attackcanceler
+ jumpifbyte 0, 0x2024d24, 1, BattleScript_1D860A
+ attackstring
+ ppreduce
+ jumpifattackandspecialattackcannotfall BattleScript_1D83D6
+ setuserhptozero
+ attackanimation
+ waitanimation
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D85FF
+ setbyte 0x20160dc, 0
+ playstatchangeanimation TARGET, 18, 7
+ playstatchangeanimation TARGET, 2, 3
+ setbyte 0x201601e, 161
+ statbuffchange 1, BattleScript_1D85D0
+ jumpifbyte 2, 0x2024d23, 1, BattleScript_1D85D0
+ printfromtable BattleTextList_40157C
+ waitmessage 64
+
+BattleScript_1D85D0: @ 81D85D0
+ playstatchangeanimation TARGET, 16, 3
+ setbyte 0x201601e, 164
+ statbuffchange 1, BattleScript_1D85F3
+ jumpifbyte 2, 0x2024d23, 1, BattleScript_1D85F3
+ printfromtable BattleTextList_40157C
+ waitmessage 64
+
+BattleScript_1D85F3: @ 81D85F3
+ faintpokemon USER, 0, 0x0
+ jump BattleScript_1D6F62
+
+BattleScript_1D85FF: @ 81D85FF
+ printstring BATTLE_TEXT_NoEffect
+ waitmessage 64
+ jump BattleScript_1D85F3
+
+BattleScript_1D860A: @ 81D860A
+ attackstring
+ ppreduce
+ jumpifattackandspecialattackcannotfall BattleScript_1D8611
+
+BattleScript_1D8611: @ 81D8611
+ setuserhptozero
+ pause 64
+ missmessage
+ resultmessage
+ waitmessage 64
+ faintpokemon USER, 0, 0x0
+ jump BattleScript_1D6F62
+
+MoveEffect_Facade: @ 81D8626
+ jumpifstatus USER, PSN | BRN | PAR | TOX, BattleScript_1D8635
+ jump BattleScript_1D6F14
+
+BattleScript_1D8635: @ 81D8635
+ setbyte 0x201601f, 2
+ jump BattleScript_1D6F14
+
+MoveEffect_FocusPunch: @ 81D8640
+ attackcanceler
+ jumpifnodamage BattleScript_1D6F3B
+ ppreduce
+ printstring BATTLE_TEXT_LostFocus
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Smellingsalt: @ 81D8652
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D6F14
+ setbyte 0x2024d21, 164
+ jumpifstatus TARGET, PAR, BattleScript_1D8671
+ jump BattleScript_1D6F14
+
+BattleScript_1D8671: @ 81D8671
+ setbyte 0x201601f, 2
+ jump BattleScript_1D6F14
+
+MoveEffect_FollowMe: @ 81D867C
+ attackcanceler
+ attackstring
+ ppreduce
+ setforcedtarget
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_CenterAttention
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_NaturePower: @ 81D868D
+ attackcanceler
+ attackstring
+ pause 32
+ callterrainattack
+ printstring BATTLE_TEXT_NaturePower
+ waitmessage 64
+ return
+
+MoveEffect_Charge: @ 81D869A
+ attackcanceler
+ attackstring
+ ppreduce
+ setcharge
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_ChargingPower
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Taunt: @ 81D86AB
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 0
+ settaunt BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_TauntFell
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_HelpingHand: @ 81D86C7
+ attackcanceler
+ attackstring
+ ppreduce
+ sethelpinghand BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_ReadyToHelp
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Trick: @ 81D86DC
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ accuracycheck BattleScript_1D83D6, 0
+ itemswap BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_SwitchedItems
+ waitmessage 64
+ printfromtable BattleTextList_401642
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_RolePlay: @ 81D870A
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 65535
+ copyability BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_CopiedObject
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Wish: @ 81D8726
+ attackcanceler
+ attackstring
+ ppreduce
+ atkd4 0, BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ jump BattleScript_1D6F62
+
+MoveEffect_Assist: @ 81D8736
+ attackcanceler
+ attackstring
+ assistattackselect BattleScript_1D83D5
+ attackanimation
+ waitanimation
+ setbyte 0x2016002, 0
+ setbyte 0x20160a1, 0
+ jumptoattack USER
+
+MoveEffect_Ingrain: @ 81D874D
+ attackcanceler
+ attackstring
+ ppreduce
+ setroots BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_PlantedRoots
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Superpower: @ 81D8762
+ setbyte 0x2024d21, 229
+ jump BattleScript_1D6F14
+
+MoveEffect_MagicCoat: @ 81D876D
+ attackcanceler
+ setmagiccoat BattleScript_1D83D4
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_ShroudedItself
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Recycle: @ 81D8782
+ attackcanceler
+ attackstring
+ ppreduce
+ recycleitem BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_FoundOne
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Revenge: @ 81D8797
+ doubledamagedealtifdamaged
+ jump BattleScript_1D6F14
+
+MoveEffect_BrickBreak: @ 81D879D
+ attackcanceler
+ accuracycheck BattleScript_1D6F72, 0
+ attackstring
+ ppreduce
+ removereflectlightscreen
+ critcalc
+ atk5
+ atk6
+ atk7
+ jumpifbyte 0, 0x2016002, 0, BattleScript_1D87BD
+ bicbyte 0x2024c68, 9
+
+BattleScript_1D87BD: @ 81D87BD
+ attackanimation
+ waitanimation
+ jumpifbyte 3, 0x2016002, 2, BattleScript_1D87D0
+ printstring BATTLE_TEXT_BrokeWall
+ waitmessage 64
+
+BattleScript_1D87D0: @ 81D87D0
+ damagecalc2
+ missmessage
+ atk5c TARGET
+ waitstateatk
+ graphicalhpupdate TARGET
+ datahpupdate TARGET
+ critmessage
+ waitmessage 64
+ resultmessage
+ waitmessage 64
+ seteffectwithchancetarget
+ faintpokemon TARGET, 0, 0x0
+ jump BattleScript_1D6F62
+
+MoveEffect_Yawn: @ 81D87EE
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_1D882F
+ jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_1D882F
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D6
+ jumpifhalverset TARGET, 32, BattleScript_1D9037
+ accuracycheck BattleScript_1D83D6, 65535
+ jumpifcannotsleep BattleScript_1D83D6
+ setyawn BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_DrowsyMade
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+BattleScript_1D882F: @ 81D882F
+ copyarray 0x2016003, 0x20160f8, 1
+
+BattleScript_1D8839: @ 81D8839
+ pause 32
+ printstring BATTLE_TEXT_MadeIneffective2
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_KnockOff: @ 81D8847
+ setbyte 0x2024d21, 54
+ jump BattleScript_1D6F14
+
+MoveEffect_Endeavor: @ 81D8852
+ attackcanceler
+ attackstring
+ ppreduce
+ setdamagetohealthdifference BattleScript_1D83D6
+ copyarray 0x2024bf0, 0x2024bec, 4
+ accuracycheck BattleScript_1D6F77, 0
+ atk6
+ jumpifbyte 4, 0x2024c68, 41, BattleScript_1D6F48
+ bicbyte 0x2024c68, 6
+ copyarray 0x2024bec, 0x2024bf0, 4
+ atk69
+ jump BattleScript_1D6F48
+
+MoveEffect_Eruption: @ 81D888D
+ scaledamagebyhealthratio
+ jump BattleScript_1D6F14
+
+MoveEffect_SkillSwap: @ 81D8893
+ attackcanceler
+ attackstring
+ ppreduce
+ accuracycheck BattleScript_1D83D6, 65535
+ abilityswap BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_AbilitySwap
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Imprison: @ 81D88AF
+ attackcanceler
+ attackstring
+ ppreduce
+ imprisoneffect BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_SealedMove
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Refresh: @ 81D88C4
+ attackcanceler
+ attackstring
+ ppreduce
+ cureifburnedparalysedorpoisoned BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_StatusNormal
+ waitmessage 64
+ atk98 1
+ jump BattleScript_1D6F62
+
+MoveEffect_Grudge: @ 81D88DB
+ attackcanceler
+ attackstring
+ ppreduce
+ setgrudge BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_GrudgeBear
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_Snatch: @ 81D88F0
+ attackcanceler
+ setstealstatchange BattleScript_1D83D4
+ attackstring
+ ppreduce
+ attackanimation
+ waitanimation
+ pause 32
+ printstring BATTLE_TEXT_AwaitMove
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_LowKick: @ 81D8908
+ attackcanceler
+ attackstring
+ ppreduce
+ weightdamagecalculation
+ accuracycheck BattleScript_1D6F77, 0
+ jump BattleScript_1D6F44
+
+MoveEffect_SecretPower: @ 81D8918
+ naturepowereffect
+ jump BattleScript_1D6F14
+
+MoveEffect_DoubleEdge: @ 81D891E
+ setbyte 0x2024d21, 230
+ jump BattleScript_1D6F14
+
+MoveEffect_TeeterDance: @ 81D8929
+ attackcanceler
+ attackstring
+ ppreduce
+ setbyte 0x2024c08, 0
+
+BattleScript_1D8932: @ 81D8932
+ atk25
+ setbyte 0x2024d21, 7
+ jumpifarrayequal 0x2024c07, 0x2024c08, 1, BattleScript_1D8978
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D8996
+ jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D89B2
+ jumpifsecondarytstatus TARGET, S_CONFUSED, BattleScript_1D89C0
+ accuracycheck BattleScript_1D89CE, 0
+ jumpifhalverset TARGET, 32, BattleScript_1D89A4
+ attackanimation
+ waitanimation
+ seteffecttarget
+ resultmessage
+ waitmessage 64
+
+BattleScript_1D8978: @ 81D8978
+ setbyte 0x201600c, 0
+ atk49 2, 16
+ addbyte 0x2024c08, 1
+ jumpifarraynotequal 0x2024c08, 0x2024a68, 1, BattleScript_1D8932
+ end
+
+BattleScript_1D8996: @ 81D8996
+ pause 32
+ printstring BATTLE_TEXT_PreventedConfusion
+ waitmessage 64
+ jump BattleScript_1D8978
+
+BattleScript_1D89A4: @ 81D89A4
+ pause 32
+ printstring BATTLE_TEXT_SafeguardActive
+ waitmessage 64
+ jump BattleScript_1D8978
+
+BattleScript_1D89B2: @ 81D89B2
+ pause 32
+ printstring BATTLE_TEXT_Failed
+ waitmessage 64
+ jump BattleScript_1D8978
+
+BattleScript_1D89C0: @ 81D89C0
+ pause 32
+ printstring BATTLE_TEXT_AlreadyConfused
+ waitmessage 64
+ jump BattleScript_1D8978
+
+BattleScript_1D89CE: @ 81D89CE
+ resultmessage
+ waitmessage 64
+ jump BattleScript_1D8978
+
+MoveEffect_MudSport: @ 81D89D7
+MoveEffect_WaterSport: @ 81D89D7
+ attackcanceler
+ attackstring
+ ppreduce
+ settypebasedhalvers BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printfromtable BattleTextList_4015D4
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_PoisonFang: @ 81D89EE
+ setbyte 0x2024d21, 6
+ jump BattleScript_1D6F14
+
+MoveEffect_WeatherBall: @ 81D89F9
+ seteffectbyweather
+ jump BattleScript_1D6F14
+
+MoveEffect_Overheat: @ 81D89FF
+ setbyte 0x2024d21, 251
+ jump BattleScript_1D6F14
+
+MoveEffect_Tickle: @ 81D8A0A
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat TARGET, 2, 1, 0, BattleScript_1D8A1F
+ jumpifstat TARGET, 0, 2, 0, BattleScript_1D8A7D
+
+BattleScript_1D8A1F: @ 81D8A1F
+ accuracycheck BattleScript_1D83D6, 0
+ attackanimation
+ waitanimation
+ setbyte 0x20160dc, 0
+ playstatchangeanimation TARGET, 6, 5
+ playstatchangeanimation TARGET, 2, 1
+ setbyte 0x201601e, 145
+ statbuffchange 1, BattleScript_1D8A55
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8A55
+ printfromtable BattleTextList_40157C
+ waitmessage 64
+
+BattleScript_1D8A55: @ 81D8A55
+ playstatchangeanimation TARGET, 4, 1
+ setbyte 0x201601e, 146
+ statbuffchange 1, BattleScript_1D8A78
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8A78
+ printfromtable BattleTextList_40157C
+ waitmessage 64
+
+BattleScript_1D8A78: @ 81D8A78
+ jump BattleScript_1D6F62
+
+BattleScript_1D8A7D: @ 81D8A7D
+ pause 32
+ orbyte 0x2024c68, 32
+ printstring BATTLE_TEXT_StatNoLower
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_CosmicPower: @ 81D8A91
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat USER, 3, 2, 12, BattleScript_1D8AA6
+ jumpifstat USER, 0, 5, 12, BattleScript_1D8BCB
+
+BattleScript_1D8AA6: @ 81D8AA6
+ attackanimation
+ waitanimation
+ setbyte 0x20160dc, 0
+ playstatchangeanimation USER, 36, 0
+ setbyte 0x201601e, 18
+ statbuffchange 65, BattleScript_1D8AD1
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8AD1
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D8AD1: @ 81D8AD1
+ setbyte 0x201601e, 21
+ statbuffchange 65, BattleScript_1D8AF0
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8AF0
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D8AF0: @ 81D8AF0
+ jump BattleScript_1D6F62
+
+MoveEffect_SkyUppercut: @ 81D8AF5
+ orword 0x2024c6c, 0x10000
+ jump BattleScript_1D6F14
+
+MoveEffect_BulkUp: @ 81D8B03
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat USER, 3, 1, 12, BattleScript_1D8B18
+ jumpifstat USER, 0, 2, 12, BattleScript_1D8BCB
+
+BattleScript_1D8B18: @ 81D8B18
+ attackanimation
+ waitanimation
+ setbyte 0x20160dc, 0
+ playstatchangeanimation USER, 6, 0
+ setbyte 0x201601e, 17
+ statbuffchange 65, BattleScript_1D8B43
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8B43
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D8B43: @ 81D8B43
+ setbyte 0x201601e, 18
+ statbuffchange 65, BattleScript_1D8B62
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8B62
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D8B62: @ 81D8B62
+ jump BattleScript_1D6F62
+
+MoveEffect_CalmMind: @ 81D8B67
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat USER, 3, 4, 12, BattleScript_1D8B7C
+ jumpifstat USER, 0, 5, 12, BattleScript_1D8BCB
+
+BattleScript_1D8B7C: @ 81D8B7C
+ attackanimation
+ waitanimation
+ setbyte 0x20160dc, 0
+ playstatchangeanimation USER, 48, 0
+ setbyte 0x201601e, 20
+ statbuffchange 65, BattleScript_1D8BA7
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8BA7
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D8BA7: @ 81D8BA7
+ setbyte 0x201601e, 21
+ statbuffchange 65, BattleScript_1D8BC6
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8BC6
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D8BC6: @ 81D8BC6
+ jump BattleScript_1D6F62
+
+BattleScript_1D8BCB: @ 81D8BCB
+ pause 32
+ orbyte 0x2024c68, 32
+ printstring BATTLE_TEXT_StatNoHigher
+ waitmessage 64
+ jump BattleScript_1D6F62
+
+MoveEffect_DragonDance: @ 81D8BDF
+ attackcanceler
+ attackstring
+ ppreduce
+ jumpifstat USER, 3, 1, 12, BattleScript_1D8BF4
+ jumpifstat USER, 0, 3, 12, BattleScript_1D8BCB
+
+BattleScript_1D8BF4: @ 81D8BF4
+ attackanimation
+ waitanimation
+ setbyte 0x20160dc, 0
+ playstatchangeanimation USER, 10, 0
+ setbyte 0x201601e, 17
+ statbuffchange 65, BattleScript_1D8C1F
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8C1F
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D8C1F: @ 81D8C1F
+ setbyte 0x201601e, 19
+ statbuffchange 65, BattleScript_1D8C3E
+ jumpifbyte 0, 0x2024d23, 2, BattleScript_1D8C3E
+ printfromtable BattleTextList_401570
+ waitmessage 64
+
+BattleScript_1D8C3E: @ 81D8C3E
+ jump BattleScript_1D6F62
+
+MoveEffect_Camouflage: @ 81D8C43
+ attackcanceler
+ attackstring
+ ppreduce
+ settypetoterrain BattleScript_1D83D6
+ attackanimation
+ waitanimation
+ printstring BATTLE_TEXT_TypeTransform
+ waitmessage 64
+ jump BattleScript_1D6F62
gUnknown_081D8C58:: @ 81D8C58
- .incbin "baserom.gba", 0x001d8c58, 0xd
+ .incbin "baserom.gba", 0x1d8c58, 0xd
gUnknown_081D8C65:: @ 81D8C65
- .incbin "baserom.gba", 0x001d8c65, 0xd
+ .incbin "baserom.gba", 0x1d8c65, 0xd
gUnknown_081D8C72:: @ 81D8C72
- .incbin "baserom.gba", 0x001d8c72, 0x9
+ .incbin "baserom.gba", 0x1d8c72, 0x9
gUnknown_081D8C7B:: @ 81D8C7B
- .incbin "baserom.gba", 0x001d8c7b, 0x143
+ .incbin "baserom.gba", 0x1d8c7b, 0x143
gUnknown_081D8DBE:: @ 81D8DBE
- .incbin "baserom.gba", 0x001d8dbe, 0x10
+ .incbin "baserom.gba", 0x1d8dbe, 0x10
gUnknown_081D8DCE:: @ 81D8DCE
- .incbin "baserom.gba", 0x001d8dce, 0x3
+ .incbin "baserom.gba", 0x1d8dce, 0x3
gUnknown_081D8DD1:: @ 81D8DD1
- .incbin "baserom.gba", 0x001d8dd1, 0x31
+ .incbin "baserom.gba", 0x1d8dd1, 0x31
gUnknown_081D8E02:: @ 81D8E02
- .incbin "baserom.gba", 0x001d8e02, 0xb
+ .incbin "baserom.gba", 0x1d8e02, 0xb
gUnknown_081D8E0D:: @ 81D8E0D
- .incbin "baserom.gba", 0x001d8e0d, 0x7
+ .incbin "baserom.gba", 0x1d8e0d, 0x7
gUnknown_081D8E14:: @ 81D8E14
- .incbin "baserom.gba", 0x001d8e14, 0xe
+ .incbin "baserom.gba", 0x1d8e14, 0xe
gUnknown_081D8E22:: @ 81D8E22
- .incbin "baserom.gba", 0x001d8e22, 0x7
+ .incbin "baserom.gba", 0x1d8e22, 0x7
gUnknown_081D8E29:: @ 81D8E29
- .incbin "baserom.gba", 0x001d8e29, 0x7
+ .incbin "baserom.gba", 0x1d8e29, 0x7
gUnknown_081D8E30:: @ 81D8E30
- .incbin "baserom.gba", 0x001d8e30, 0x7
+ .incbin "baserom.gba", 0x1d8e30, 0x7
gUnknown_081D8E37:: @ 81D8E37
- .incbin "baserom.gba", 0x001d8e37, 0x4
+ .incbin "baserom.gba", 0x1d8e37, 0x4
gUnknown_081D8E3B:: @ 81D8E3B
- .incbin "baserom.gba", 0x001d8e3b, 0x9
+ .incbin "baserom.gba", 0x1d8e3b, 0x9
gUnknown_081D8E44:: @ 81D8E44
- .incbin "baserom.gba", 0x001d8e44, 0x6
+ .incbin "baserom.gba", 0x1d8e44, 0x6
gUnknown_081D8E4A:: @ 81D8E4A
- .incbin "baserom.gba", 0x001d8e4a, 0x4
+ .incbin "baserom.gba", 0x1d8e4a, 0x4
gUnknown_081D8E4E:: @ 81D8E4E
- .incbin "baserom.gba", 0x001d8e4e, 0xa1
+ .incbin "baserom.gba", 0x1d8e4e, 0xa1
gUnknown_081D8EEF:: @ 81D8EEF
- .incbin "baserom.gba", 0x001d8eef, 0x4
+ .incbin "baserom.gba", 0x1d8eef, 0x4
gUnknown_081D8EF3:: @ 81D8EF3
- .incbin "baserom.gba", 0x001d8ef3, 0x6f
+ .incbin "baserom.gba", 0x1d8ef3, 0x6f
gUnknown_081D8F62:: @ 81D8F62
- .incbin "baserom.gba", 0x001d8f62, 0x1b
+ .incbin "baserom.gba", 0x1d8f62, 0x1b
gUnknown_081D8F7D:: @ 81D8F7D
- .incbin "baserom.gba", 0x001d8f7d, 0x82
+ .incbin "baserom.gba", 0x1d8f7d, 0x82
gUnknown_081D8FFF:: @ 81D8FFF
- .incbin "baserom.gba", 0x001d8fff, 0x9
+ .incbin "baserom.gba", 0x1d8fff, 0x9
gUnknown_081D9008:: @ 81D9008
- .incbin "baserom.gba", 0x001d9008, 0xe
+ .incbin "baserom.gba", 0x1d9008, 0xe
gUnknown_081D9016:: @ 81D9016
- .incbin "baserom.gba", 0x001d9016, 0x7
+ .incbin "baserom.gba", 0x1d9016, 0x7
gUnknown_081D901D:: @ 81D901D
- .incbin "baserom.gba", 0x001d901d, 0x13
+ .incbin "baserom.gba", 0x1d901d, 0x13
gUnknown_081D9030:: @ 81D9030
- .incbin "baserom.gba", 0x001d9030, 0x11
+ .incbin "baserom.gba", 0x1d9030, 0x7
+
+BattleScript_1D9037: @ 81D9037
+ pause 32
+ printstring BATTLE_TEXT_SafeguardActive
+ waitmessage 64
+ end2
gUnknown_081D9041:: @ 81D9041
- .incbin "baserom.gba", 0x001d9041, 0xa
+ .incbin "baserom.gba", 0x1d9041, 0xa
gUnknown_081D904B:: @ 81D904B
- .incbin "baserom.gba", 0x001d904b, 0x5c
+ .incbin "baserom.gba", 0x1d904b, 0x5c
gUnknown_081D90A7:: @ 81D90A7
- .incbin "baserom.gba", 0x001d90a7, 0xb
+ .incbin "baserom.gba", 0x1d90a7, 0xb
gUnknown_081D90B2:: @ 81D90B2
- .incbin "baserom.gba", 0x001d90b2, 0x3f
+ .incbin "baserom.gba", 0x1d90b2, 0x3f
gUnknown_081D90F1:: @ 81D90F1
- .incbin "baserom.gba", 0x001d90f1, 0xb
+ .incbin "baserom.gba", 0x1d90f1, 0xb
gUnknown_081D90FC:: @ 81D90FC
- .incbin "baserom.gba", 0x001d90fc, 0x2c
+ .incbin "baserom.gba", 0x1d90fc, 0x2c
gUnknown_081D9128:: @ 81D9128
- .incbin "baserom.gba", 0x001d9128, 0xa
+ .incbin "baserom.gba", 0x1d9128, 0xa
gUnknown_081D9132:: @ 81D9132
- .incbin "baserom.gba", 0x001d9132, 0x7
+ .incbin "baserom.gba", 0x1d9132, 0x7
gUnknown_081D9139:: @ 81D9139
- .incbin "baserom.gba", 0x001d9139, 0xb
+ .incbin "baserom.gba", 0x1d9139, 0xb
gUnknown_081D9144:: @ 81D9144
- .incbin "baserom.gba", 0x001d9144, 0x4
+ .incbin "baserom.gba", 0x1d9144, 0x4
gUnknown_081D9148:: @ 81D9148
- .incbin "baserom.gba", 0x001d9148, 0x7
+ .incbin "baserom.gba", 0x1d9148, 0x7
gUnknown_081D914F:: @ 81D914F
- .incbin "baserom.gba", 0x001d914f, 0x7
+ .incbin "baserom.gba", 0x1d914f, 0x7
gUnknown_081D9156:: @ 81D9156
- .incbin "baserom.gba", 0x001d9156, 0x1b
+ .incbin "baserom.gba", 0x1d9156, 0x1b
gUnknown_081D9171:: @ 81D9171
- .incbin "baserom.gba", 0x001d9171, 0x2e
+ .incbin "baserom.gba", 0x1d9171, 0x2e
gUnknown_081D919F:: @ 81D919F
- .incbin "baserom.gba", 0x001d919f, 0x2e
+ .incbin "baserom.gba", 0x1d919f, 0x2e
gUnknown_081D91CD:: @ 81D91CD
- .incbin "baserom.gba", 0x001d91cd, 0x35
+ .incbin "baserom.gba", 0x1d91cd, 0x35
gUnknown_081D9202:: @ 81D9202
- .incbin "baserom.gba", 0x001d9202, 0x1b
+ .incbin "baserom.gba", 0x1d9202, 0x1b
gUnknown_081D921D:: @ 81D921D
- .incbin "baserom.gba", 0x001d921d, 0x7
+ .incbin "baserom.gba", 0x1d921d, 0x7
gUnknown_081D9224:: @ 81D9224
- .incbin "baserom.gba", 0x001d9224, 0x9c
+ .incbin "baserom.gba", 0x1d9224, 0x9c
gUnknown_081D92C0:: @ 81D92C0
- .incbin "baserom.gba", 0x001d92c0, 0x2
+ .incbin "baserom.gba", 0x1d92c0, 0x2
gUnknown_081D92C2:: @ 81D92C2
- .incbin "baserom.gba", 0x001d92c2, 0x7
+ .incbin "baserom.gba", 0x1d92c2, 0x7
gUnknown_081D92C9:: @ 81D92C9
- .incbin "baserom.gba", 0x001d92c9, 0x7
+ .incbin "baserom.gba", 0x1d92c9, 0x7
gUnknown_081D92D0:: @ 81D92D0
- .incbin "baserom.gba", 0x001d92d0, 0x7
+ .incbin "baserom.gba", 0x1d92d0, 0x7
gUnknown_081D92D7:: @ 81D92D7
- .incbin "baserom.gba", 0x001d92d7, 0x8e
+ .incbin "baserom.gba", 0x1d92d7, 0x8e
gUnknown_081D9365:: @ 81D9365
- .incbin "baserom.gba", 0x001d9365, 0x4
+ .incbin "baserom.gba", 0x1d9365, 0x4
gUnknown_081D9369:: @ 81D9369
- .incbin "baserom.gba", 0x001d9369, 0x4
+ .incbin "baserom.gba", 0x1d9369, 0x4
gUnknown_081D936D:: @ 81D936D
- .incbin "baserom.gba", 0x001d936d, 0xf
+ .incbin "baserom.gba", 0x1d936d, 0xf
gUnknown_081D937C:: @ 81D937C
- .incbin "baserom.gba", 0x001d937c, 0xf
+ .incbin "baserom.gba", 0x1d937c, 0xf
gUnknown_081D938B:: @ 81D938B
- .incbin "baserom.gba", 0x001d938b, 0x4
+ .incbin "baserom.gba", 0x1d938b, 0x4
gUnknown_081D938F:: @ 81D938F
- .incbin "baserom.gba", 0x001d938f, 0xb
+ .incbin "baserom.gba", 0x1d938f, 0xb
gUnknown_081D939A:: @ 81D939A
- .incbin "baserom.gba", 0x001d939a, 0x37
+ .incbin "baserom.gba", 0x1d939a, 0x37
gUnknown_081D93D1:: @ 81D93D1
- .incbin "baserom.gba", 0x001d93d1, 0x29
+ .incbin "baserom.gba", 0x1d93d1, 0x1b
+
+BattleScript_1D93EC: @ 81D93EC
+ pause 32
+ printstring BATTLE_TEXT_AnchoredItself
+ waitmessage 64
+ jump BattleScript_1D6F62
gUnknown_081D93FA:: @ 81D93FA
- .incbin "baserom.gba", 0x001d93fa, 0x51
+ .incbin "baserom.gba", 0x1d93fa, 0x51
gUnknown_081D944B:: @ 81D944B
- .incbin "baserom.gba", 0x001d944b, 0xe
+ .incbin "baserom.gba", 0x1d944b, 0xe
gUnknown_081D9459:: @ 81D9459
- .incbin "baserom.gba", 0x001d9459, 0xb
+ .incbin "baserom.gba", 0x1d9459, 0xb
gUnknown_081D9464:: @ 81D9464
- .incbin "baserom.gba", 0x001d9464, 0x4
+ .incbin "baserom.gba", 0x1d9464, 0x4
gUnknown_081D9468:: @ 81D9468
- .incbin "baserom.gba", 0x001d9468, 0x7
+ .incbin "baserom.gba", 0x1d9468, 0x7
gUnknown_081D946F:: @ 81D946F
- .incbin "baserom.gba", 0x001d946f, 0x18
+ .incbin "baserom.gba", 0x1d946f, 0x18
gUnknown_081D9487:: @ 81D9487
- .incbin "baserom.gba", 0x001d9487, 0x1b
+ .incbin "baserom.gba", 0x1d9487, 0x1b
gUnknown_081D94A2:: @ 81D94A2
- .incbin "baserom.gba", 0x001d94a2, 0x7
+ .incbin "baserom.gba", 0x1d94a2, 0x7
gUnknown_081D94A9:: @ 81D94A9
- .incbin "baserom.gba", 0x001d94a9, 0x7
+ .incbin "baserom.gba", 0x1d94a9, 0x7
gUnknown_081D94B0:: @ 81D94B0
- .incbin "baserom.gba", 0x001d94b0, 0x2a
+ .incbin "baserom.gba", 0x1d94b0, 0x2a
gUnknown_081D94DA:: @ 81D94DA
- .incbin "baserom.gba", 0x001d94da, 0x14
+ .incbin "baserom.gba", 0x1d94da, 0x14
gUnknown_081D94EE:: @ 81D94EE
- .incbin "baserom.gba", 0x001d94ee, 0xd
+ .incbin "baserom.gba", 0x1d94ee, 0xd
gUnknown_081D94FB:: @ 81D94FB
- .incbin "baserom.gba", 0x001d94fb, 0x14
+ .incbin "baserom.gba", 0x1d94fb, 0x14
gUnknown_081D950F:: @ 81D950F
- .incbin "baserom.gba", 0x001d950f, 0x9
+ .incbin "baserom.gba", 0x1d950f, 0x9
gUnknown_081D9518:: @ 81D9518
- .incbin "baserom.gba", 0x001d9518, 0x22
+ .incbin "baserom.gba", 0x1d9518, 0x22
gUnknown_081D953A:: @ 81D953A
- .incbin "baserom.gba", 0x001d953a, 0xb
+ .incbin "baserom.gba", 0x1d953a, 0xb
gUnknown_081D9545:: @ 81D9545
- .incbin "baserom.gba", 0x001d9545, 0xd
+ .incbin "baserom.gba", 0x1d9545, 0xd
gUnknown_081D9552:: @ 81D9552
- .incbin "baserom.gba", 0x001d9552, 0xb
+ .incbin "baserom.gba", 0x1d9552, 0xb
gUnknown_081D955D:: @ 81D955D
- .incbin "baserom.gba", 0x001d955d, 0x9
+ .incbin "baserom.gba", 0x1d955d, 0x9
gUnknown_081D9566:: @ 81D9566
- .incbin "baserom.gba", 0x001d9566, 0xd
+ .incbin "baserom.gba", 0x1d9566, 0xd
gUnknown_081D9573:: @ 81D9573
- .incbin "baserom.gba", 0x001d9573, 0xb
+ .incbin "baserom.gba", 0x1d9573, 0xb
gUnknown_081D957E:: @ 81D957E
- .incbin "baserom.gba", 0x001d957e, 0x9
+ .incbin "baserom.gba", 0x1d957e, 0x9
gUnknown_081D9587:: @ 81D9587
- .incbin "baserom.gba", 0x001d9587, 0xe
+ .incbin "baserom.gba", 0x1d9587, 0xe
gUnknown_081D9595:: @ 81D9595
- .incbin "baserom.gba", 0x001d9595, 0x3f
+ .incbin "baserom.gba", 0x1d9595, 0x3f
gUnknown_081D95D4:: @ 81D95D4
- .incbin "baserom.gba", 0x001d95d4, 0x7
+ .incbin "baserom.gba", 0x1d95d4, 0x7
gUnknown_081D95DB:: @ 81D95DB
- .incbin "baserom.gba", 0x001d95db, 0x7
+ .incbin "baserom.gba", 0x1d95db, 0x7
gUnknown_081D95E2:: @ 81D95E2
- .incbin "baserom.gba", 0x001d95e2, 0x12
+ .incbin "baserom.gba", 0x1d95e2, 0x12
gUnknown_081D95F4:: @ 81D95F4
- .incbin "baserom.gba", 0x001d95f4, 0x7
+ .incbin "baserom.gba", 0x1d95f4, 0x7
gUnknown_081D95FB:: @ 81D95FB
- .incbin "baserom.gba", 0x001d95fb, 0xd
+ .incbin "baserom.gba", 0x1d95fb, 0xd
gUnknown_081D9608:: @ 81D9608
- .incbin "baserom.gba", 0x001d9608, 0xb
+ .incbin "baserom.gba", 0x1d9608, 0xb
gUnknown_081D9613:: @ 81D9613
- .incbin "baserom.gba", 0x001d9613, 0x11
+ .incbin "baserom.gba", 0x1d9613, 0x11
gUnknown_081D9624:: @ 81D9624
- .incbin "baserom.gba", 0x001d9624, 0x11
+ .incbin "baserom.gba", 0x1d9624, 0x11
gUnknown_081D9635:: @ 81D9635
- .incbin "baserom.gba", 0x001d9635, 0x9
-
-gUnknown_081D963E:: @ 81D963E
- .incbin "baserom.gba", 0x001d963e, 0xe
-
-gUnknown_081D964C:: @ 81D964C
- .incbin "baserom.gba", 0x001d964c, 0xe
-
-gUnknown_081D965A:: @ 81D965A
- .incbin "baserom.gba", 0x001d965a, 0xf
-
-gUnknown_081D9669:: @ 81D9669
- .incbin "baserom.gba", 0x001d9669, 0xf
-
-gUnknown_081D9678:: @ 81D9678
- .incbin "baserom.gba", 0x001d9678, 0xf
-
-gUnknown_081D9687:: @ 81D9687
- .incbin "baserom.gba", 0x001d9687, 0xf
-gUnknown_081D9696:: @ 81D9696
- .incbin "baserom.gba", 0x001d9696, 0x7
+ .incbin "baserom.gba", 0x1d9635, 0x9
-gUnknown_081D969D:: @ 81D969D
- .incbin "baserom.gba", 0x001d969d, 0xd
+BattleScript_1D963E:: @ 81D963E
+ statusanimation 2
+ printfromtable BattleTextList_4015B8
+ waitmessage 64
-gUnknown_081D96AA:: @ 81D96AA
- .incbin "baserom.gba", 0x001d96aa, 0x7
+BattleScript_1D9648: @ 81D9648
+ atk98 2
+ waitstateatk
+ return
-gUnknown_081D96B1:: @ 81D96B1
- .incbin "baserom.gba", 0x001d96b1, 0x9
-
-gUnknown_081D96BA:: @ 81D96BA
- .incbin "baserom.gba", 0x001d96ba, 0xe
+gUnknown_081D964C:: @ 81D964C
-gUnknown_081D96C8:: @ 81D96C8
- .incbin "baserom.gba", 0x001d96c8, 0x2e
+ .incbin "baserom.gba", 0x1d964c, 0xe
+
+BattleScript_1D965A:: @ 81D965A
+ statusanimation 2
+ printfromtable BattleTextList_4015B0
+ waitmessage 64
+ jump BattleScript_1D9648
+
+BattleScript_1D9669:: @ 81D9669
+ statusanimation 2
+ printfromtable BattleTextList_4015BC
+ waitmessage 64
+ jump BattleScript_1D9648
+
+BattleScript_1D9678:: @ 81D9678
+ statusanimation 2
+ printfromtable BattleTextList_4015C0
+ waitmessage 64
+ jump BattleScript_1D9648
+
+BattleScript_1D9687:: @ 81D9687
+ statusanimation 2
+ printfromtable BattleTextList_4015B4
+ waitmessage 64
+ jump BattleScript_1D9648
+
+BattleScript_1D9696:: @ 81D9696
+ printstring BATTLE_TEXT_UproarCaused
+ waitmessage 64
+ return
+
+BattleScript_1D969D:: @ 81D969D
+ statusanimation 2
+ printstring BATTLE_TEXT_BadlyPoisoned
+ waitmessage 64
+ jump BattleScript_1D9648
+
+BattleScript_1D96AA:: @ 81D96AA
+ printstring BATTLE_TEXT_CoinScatter
+ waitmessage 64
+ return
+
+BattleScript_1D96B1:: @ 81D96B1
+ printfromtable BattleTextList_401594
+ waitmessage 64
+ return
+
+BattleScript_1D96BA:: @ 81D96BA
+ atk66 2, 1, 0x7
+ printstring BATTLE_TEXT_BecameConfused
+ waitmessage 64
+ return
+
+BattleScript_1D96C8:: @ 81D96C8
+ jumpifhalfword 0, 0x2024be6, 165, BattleScript_1D96DB
+ jumpifability USER, ABILITY_ROCK_HEAD, BattleScript_1D96F5
+
+BattleScript_1D96DB: @ 81D96DB
+ orword 0x2024c6c, 0x100100
+ graphicalhpupdate USER
+ datahpupdate USER
+ printstring BATTLE_TEXT_HitRecoil
+ waitmessage 64
+ faintpokemon USER, 0, 0x0
+
+BattleScript_1D96F5: @ 81D96F5
+ return
gUnknown_081D96F6:: @ 81D96F6
- .incbin "baserom.gba", 0x001d96f6, 0xe
+ .incbin "baserom.gba", 0x1d96f6, 0xe
gUnknown_081D9704:: @ 81D9704
- .incbin "baserom.gba", 0x001d9704, 0x14
+ .incbin "baserom.gba", 0x1d9704, 0x14
gUnknown_081D9718:: @ 81D9718
- .incbin "baserom.gba", 0x001d9718, 0xe
+ .incbin "baserom.gba", 0x1d9718, 0xe
gUnknown_081D9726:: @ 81D9726
- .incbin "baserom.gba", 0x001d9726, 0xa
+ .incbin "baserom.gba", 0x1d9726, 0xa
gUnknown_081D9730:: @ 81D9730
- .incbin "baserom.gba", 0x001d9730, 0x14
+ .incbin "baserom.gba", 0x1d9730, 0x14
gUnknown_081D9744:: @ 81D9744
- .incbin "baserom.gba", 0x001d9744, 0x14
+ .incbin "baserom.gba", 0x1d9744, 0x14
gUnknown_081D9758:: @ 81D9758
- .incbin "baserom.gba", 0x001d9758, 0x25
+ .incbin "baserom.gba", 0x1d9758, 0x9
+
+BattleScript_1D9761: @ 81D9761
+ setbyte 0x2016003, 0
+BattleScript_1D9767: @ 81D9767
+ castformswitch
+ addbyte 0x2016003, 1
+ jumpifarraynotequal 0x2016003, 0x2024a68, 1, BattleScript_1D9767
+ return
+
+gUnknown_081D977D:: @ 81D977d
gUnknown_081D977D:: @ 81D977D
- .incbin "baserom.gba", 0x001d977d, 0xf
+ .incbin "baserom.gba", 0x1d977d, 0xf
gUnknown_081D978C:: @ 81D978C
- .incbin "baserom.gba", 0x001d978c, 0x9
+ .incbin "baserom.gba", 0x1d978c, 0x9
gUnknown_081D9795:: @ 81D9795
- .incbin "baserom.gba", 0x001d9795, 0x69
+ .incbin "baserom.gba", 0x1d9795, 0x69
gUnknown_081D97FE:: @ 81D97FE
- .incbin "baserom.gba", 0x001d97fe, 0x14
+ .incbin "baserom.gba", 0x1d97fe, 0x14
gUnknown_081D9812:: @ 81D9812
- .incbin "baserom.gba", 0x001d9812, 0x14
+ .incbin "baserom.gba", 0x1d9812, 0x14
gUnknown_081D9826:: @ 81D9826
- .incbin "baserom.gba", 0x001d9826, 0xe
+ .incbin "baserom.gba", 0x1d9826, 0xe
gUnknown_081D9834:: @ 81D9834
- .incbin "baserom.gba", 0x001d9834, 0xe
+ .incbin "baserom.gba", 0x1d9834, 0xe
gUnknown_081D9842:: @ 81D9842
- .incbin "baserom.gba", 0x001d9842, 0x1
+ .incbin "baserom.gba", 0x1d9842, 0x1
gUnknown_081D9843:: @ 81D9843
- .incbin "baserom.gba", 0x001d9843, 0x22
+ .incbin "baserom.gba", 0x1d9843, 0x22
gUnknown_081D9865:: @ 81D9865
- .incbin "baserom.gba", 0x001d9865, 0x1
+ .incbin "baserom.gba", 0x1d9865, 0x1
gUnknown_081D9866:: @ 81D9866
- .incbin "baserom.gba", 0x001d9866, 0x15
+ .incbin "baserom.gba", 0x1d9866, 0x15
gUnknown_081D987B:: @ 81D987B
- .incbin "baserom.gba", 0x001d987b, 0x1
+ .incbin "baserom.gba", 0x1d987b, 0x1
gUnknown_081D987C:: @ 81D987C
- .incbin "baserom.gba", 0x001d987c, 0x1f
+ .incbin "baserom.gba", 0x1d987c, 0x11
+
+BattleScript_1D988D: @ 81D988D
+ pause 32
+ printstring BATTLE_TEXT_AnchorsItself
+ waitmessage 64
+ jump BattleScript_1D6F62
gUnknown_081D989B:: @ 81D989B
- .incbin "baserom.gba", 0x001d989b, 0xa
+ .incbin "baserom.gba", 0x1d989b, 0xa
+
+BattleScript_1D98A5:: @ 81D98A5
+ pause 32
+ printfromtable BattleTextList_401630
+ waitmessage 64
+ return
+
+BattleScript_1D98B1:: @ 81D98B1
+ pause 32
+ printfromtable BattleTextList_401636
+ waitmessage 64
+ return
+
+BattleScript_1D98BD:: @ 81D98BD
+ pause 32
+ printfromtable BattleTextList_40163C
+ waitmessage 64
+ return
-gUnknown_081D98A5:: @ 81D98A5
- .incbin "baserom.gba", 0x001d98a5, 0xc
+gUnknown_081D98C9:: @ 81D98C9
+ .incbin "baserom.gba", 0x1d98c9, 0xe
-gUnknown_081D98B1:: @ 81D98B1
- .incbin "baserom.gba", 0x001d98b1, 0xc
+gUnknown_081D98D7:: @ 81D98D7
+ .incbin "baserom.gba", 0x1d98d7, 0xe
-gUnknown_081D98BD:: @ 81D98BD
- .incbin "baserom.gba", 0x001d98bd, 0xc
+BattleScript_1D98E5: @ 81D98E5
+ pause 32
+ printstring BATTLE_TEXT_PreventedConfusion
+ waitmessage 64
+ jump BattleScript_1D6F62
-gUnknown_081D98C9:: @ 81D98C9
- .incbin "baserom.gba", 0x001d98c9, 0xe
+@ end of battle scripts?
-gUnknown_081D98D7:: @ 81D98D7
- .incbin "baserom.gba", 0x001d98d7, 0x1c
gUnknown_081D98F3:: @ 81D98F3
.incbin "baserom.gba", 0x001d98f3, 0x10
diff --git a/data/data2.s b/data/data2.s
index 2ca7fa4f4..6999cddaf 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -1281,45 +1281,45 @@ gUnknown_081FAB5C:: @ 81FAB5C
.align 2
gUnknown_081FAC4C:: @ 81FAC4C
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D965A
- .4byte gUnknown_081D9669
- .4byte gUnknown_081D9678
- .4byte gUnknown_081D9687
- .4byte gUnknown_081D969D
- .4byte gUnknown_081D96BA
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D9696
- .4byte gUnknown_081D96AA
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D96B1
- .4byte gUnknown_081D96C8
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D963E
- .4byte gUnknown_081D96C8
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D965A
+ .4byte BattleScript_1D9669
+ .4byte BattleScript_1D9678
+ .4byte BattleScript_1D9687
+ .4byte BattleScript_1D969D
+ .4byte BattleScript_1D96BA
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D9696
+ .4byte BattleScript_1D96AA
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D96B1
+ .4byte BattleScript_1D96C8
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D963E
+ .4byte BattleScript_1D96C8
.incbin "baserom.gba", 0x001face8, 0x7
diff --git a/data/text/battle_strings.s b/data/text/battle_strings.s
index 950e2b489..ffa248bf9 100644
--- a/data/text/battle_strings.s
+++ b/data/text/battle_strings.s
@@ -1598,171 +1598,238 @@ gUnknown_08401508:: @ 8401508
@ Each entry refers to a text pointer in gUnknown_08400F8C, but the values are offset
@ by 0xc. For example, 0x0017 refers to BattleText_AttackMissed because it is the
@ 11th entry in the pointer table.
- .2byte 0x0017
- .2byte 0x0018
- .2byte 0x0159
- .2byte 0x001A
- .2byte 0x014C
- .2byte 0x00E2
- .2byte 0x00E3
- .2byte 0x0021
- .2byte 0x0112
- .2byte 0x0165
- .2byte 0x00E8
- .2byte 0x00E9
- .2byte 0x00E5
- .2byte 0x00ED
- .2byte 0x00F0
- .2byte 0x00F3
- .2byte 0x00EE
- .2byte 0x00F4
- .2byte 0x0066
- .2byte 0x0067
- .2byte 0x00EF
- .2byte 0x00F5
- .2byte 0x00EA
- .2byte 0x00EB
- .2byte 0x00EC
- .2byte 0x0065
- .2byte 0x0098
- .2byte 0x00E5
- .2byte 0x00E5
- .2byte 0x004E
- .2byte 0x0160
- .2byte 0x004D
- .2byte 0x0161
- .2byte 0x004F
- .2byte 0x0068
- .2byte 0x0069
- .2byte 0x001B
- .2byte 0x006A
- .2byte 0x0139
- .2byte 0x0052
- .2byte 0x0053
- .2byte 0x0070
- .2byte 0x0071
- .2byte 0x0073
- .2byte 0x0074
- .2byte 0x006C
- .2byte 0x006E
- .2byte 0x00F7
- .2byte 0x004C
- .2byte 0x0075
- .2byte 0x0076
- .2byte 0x0077
- .2byte 0x00D5
- .2byte 0x00D6
- .2byte 0x003D
- .2byte 0x0130
- .2byte 0x0145
- .2byte 0x0146
- .2byte 0x00D7
- .2byte 0x00D8
- .2byte 0x003E
- .2byte 0x0130
- .2byte 0x0054
- .2byte 0x0055
- .2byte 0x0056
- .2byte 0x0057
- .2byte 0x0058
- .2byte 0x0059
- .2byte 0x013D
- .2byte 0x013E
- .2byte 0x005A
- .2byte 0x005C
- .2byte 0x005B
- .2byte 0x005D
- .2byte 0x005B
- .2byte 0x0148
- .2byte 0x0061
- .2byte 0x00E5
- .2byte 0x0063
- .2byte 0x00E5
- .2byte 0x007D
- .2byte 0x00E5
- .2byte 0x007E
- .2byte 0x00FB
- .2byte 0x0028
- .2byte 0x0029
- .2byte 0x0037
- .2byte 0x0038
- .2byte 0x0023
- .2byte 0x0024
- .2byte 0x002E
- .2byte 0x002F
- .2byte 0x0031
- .2byte 0x0032
- .2byte 0x0035
- .2byte 0x0036
- .2byte 0x0017
- .2byte 0x007C
- .2byte 0x0045
- .2byte 0x0136
- .2byte 0x002D
- .2byte 0x0139
- .2byte 0x013B
- .2byte 0x013C
- .2byte 0x00FD
- .2byte 0x00FD
- .2byte 0x00FD
- .2byte 0x00FD
- .2byte 0x0142
- .2byte 0x00A1
- .2byte 0x014F
- .2byte 0x0107
- .2byte 0x0108
- .2byte 0x0109
- .2byte 0x010A
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0111
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x00F1
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0110
- .2byte 0x0116
- .2byte 0x0117
- .2byte 0x0118
- .2byte 0x0119
- .2byte 0x011B
- .2byte 0x011C
- .2byte 0x011E
- .2byte 0x011F
- .2byte 0x0120
- .2byte 0x0128
- .2byte 0x0123
- .2byte 0x0126
- .2byte 0x0125
- .2byte 0x0124
- .2byte 0x0127
- .2byte 0x0129
- .2byte 0x0156
- .2byte 0x0131
- .2byte 0x0163
- .2byte 0x016A
- .2byte 0x00C7
- .2byte 0x0163
- .2byte 0x016A
- .2byte 0x00C9
- .2byte 0x0163
- .2byte 0x016A
- .2byte 0x0166
- .2byte 0x0167
- .2byte 0x0168
- .2byte 0x00CB
- .2byte 0x0137
+ .2byte BATTLE_TEXT_AttackMissed
+ .2byte BATTLE_TEXT_ProtectedItself
+ .2byte BATTLE_TEXT_AvoidedAttack
+ .2byte BATTLE_TEXT_AvoidedDamage
+ .2byte BATTLE_TEXT_GroundMoveNegate
+ .2byte BATTLE_TEXT_CantEscape2
+ .2byte BATTLE_TEXT_BirchDontLeaveMe
+ .2byte BATTLE_TEXT_PreventEscape
+ .2byte BATTLE_TEXT_CantEscape
+ .2byte BATTLE_TEXT_AttackingCantEscape
+
+BattleTextList_40151C:: @ 840151C
+ .2byte BATTLE_TEXT_RainStart
+ .2byte BATTLE_TEXT_PourStart
+ .2byte BATTLE_TEXT_Failed
+ .2byte BATTLE_TEXT_SandBrewed
+ .2byte BATTLE_TEXT_SunBright
+ .2byte BATTLE_TEXT_HailStart
+ .2byte BATTLE_TEXT_SandRages
+ .2byte BATTLE_TEXT_HailCont
+ .2byte BATTLE_TEXT_SandBuffeted
+ .2byte BATTLE_TEXT_HailStricken
+ .2byte BATTLE_TEXT_SandSubsided
+ .2byte BATTLE_TEXT_HailStop
+ .2byte BATTLE_TEXT_RainCont1
+ .2byte BATTLE_TEXT_PourCont
+ .2byte BATTLE_TEXT_RainStop
+
+BattleTextList_40153A:: @ 840153A
+ .2byte BATTLE_TEXT_ProtectedItself2
+ .2byte BATTLE_TEXT_BracedItself
+ .2byte BATTLE_TEXT_Failed
+
+BattleTextList_401540:: @ 8401540
+ .2byte BATTLE_TEXT_Failed
+ .2byte BATTLE_TEXT_RaisedDefense
+ .2byte BATTLE_TEXT_RaisedDefenseLittle
+ .2byte BATTLE_TEXT_RaisedSpDef
+ .2byte BATTLE_TEXT_RaisedSpDefLittle
+ .2byte BATTLE_TEXT_CoveredVeil
+
+BattleTextList_40154C:: @ 840154C
+ .2byte BATTLE_TEXT_WasSeeded
+ .2byte BATTLE_TEXT_EvadedAttack
+ .2byte BATTLE_TEXT_DoesntAffect
+ .2byte BATTLE_TEXT_HealthSapped
+ .2byte BATTLE_TEXT_OozeSuckup
+
+BattleTextList_401556:: @ 8401556
+ .2byte BATTLE_TEXT_WentToSleep
+ .2byte BATTLE_TEXT_SpeltHealthy
+ .2byte BATTLE_TEXT_UproarMaking
+ .2byte BATTLE_TEXT_CalmedDown
+
+BattleTextList_40155E:: @ 840155E
+ .2byte BATTLE_TEXT_Stockpiled
+ .2byte BATTLE_TEXT_StockpiledCant
+ .2byte BATTLE_TEXT_WokeUp
+ .2byte BATTLE_TEXT_UproarWoke
+
+BattleTextList_401566:: @ 8401566
+ .2byte BATTLE_TEXT_SwallowFail
+ .2byte BATTLE_TEXT_HPFull
+
+BattleTextList_40156A:: @ 840156A
+ .2byte BATTLE_TEXT_UproarCantSleep2
+ .2byte BATTLE_TEXT_UproarKeptAwake
+ .2byte BATTLE_TEXT_StayedAwake
+
+BattleTextList_401570:: @ 8401570
+ .2byte BATTLE_TEXT_UnknownString7
+ .2byte BATTLE_TEXT_UnknownString3
+ .2byte BATTLE_TEXT_AttackingStatNoHigher
+ .2byte BATTLE_TEXT_Terminator2
+ .2byte BATTLE_TEXT_UnknownString4
+ .2byte BATTLE_TEXT_HustleUse
+
+BattleTextList_40157C:: @ 840157C
+ .2byte BATTLE_TEXT_UnknownString5
+ .2byte BATTLE_TEXT_UnknownString6
+ .2byte BATTLE_TEXT_DefendingStatNoHigher
+ .2byte BATTLE_TEXT_Terminator2
+
+BattleTextList_401584:: @ 8401584
+ .2byte BATTLE_TEXT_WhipWhirlwind
+ .2byte BATTLE_TEXT_TookSunlight
+ .2byte BATTLE_TEXT_LoweredHead
+ .2byte BATTLE_TEXT_IsGlowing
+ .2byte BATTLE_TEXT_FlewHigh
+ .2byte BATTLE_TEXT_DugHole
+ .2byte BATTLE_TEXT_HidUnderwater
+ .2byte BATTLE_TEXT_SprangUp
+
+BattleTextList_401594:: @ 8401594
+ .2byte BATTLE_TEXT_SqueezedBind
+ .2byte BATTLE_TEXT_Wrapped
+ .2byte BATTLE_TEXT_TrappedVortex
+ .2byte BATTLE_TEXT_Clamped
+ .2byte BATTLE_TEXT_TrappedVortex
+ .2byte BATTLE_TEXT_SandTombTrapped
+
+BattleTextList_4015A0:: @ 84015A0
+ .2byte BATTLE_TEXT_MistShroud
+ .2byte BATTLE_TEXT_Failed
+
+BattleTextList_4015A4:: @ 84015A4
+ .2byte BATTLE_TEXT_GetPumped
+ .2byte BATTLE_TEXT_Failed
+
+BattleTextList_4015A8:: @ 84015A8
+ .2byte BATTLE_TEXT_Transformed
+ .2byte BATTLE_TEXT_Failed
+
+BattleTextList_4015AC:: @ 84015AC
+ .2byte BATTLE_TEXT_SubMade
+ .2byte BATTLE_TEXT_SubWeak
+
+BattleTextList_4015B0:: @ 84015B0
+ .2byte BATTLE_TEXT_Poisoned
+ .2byte BATTLE_TEXT_Poisoned2
+
+BattleTextList_4015B4:: @ 84015B4
+ .2byte BATTLE_TEXT_Paralyzed
+ .2byte BATTLE_TEXT_Paralyzed2
+
+BattleTextList_4015B8:: @ 84015B8
+ .2byte BATTLE_TEXT_FellAsleep
+ .2byte BATTLE_TEXT_MadeAsleep
+
+BattleTextList_4015BC:: @ 84015BC
+ .2byte BATTLE_TEXT_Burned
+ .2byte BATTLE_TEXT_Burned2
+
+BattleTextList_4015C0:: @ 84015C0
+ .2byte BATTLE_TEXT_Frozen
+ .2byte BATTLE_TEXT_Frozen2
+ .2byte BATTLE_TEXT_AttackingDefrosted
+ .2byte BATTLE_TEXT_Defrosted
+
+BattleTextList_4015C8:: @ 84015C8
+ .2byte BATTLE_TEXT_AttackMissed
+ .2byte BATTLE_TEXT_Unaffected
+ .2byte BATTLE_TEXT_FellLove
+ .2byte BATTLE_TEXT_InfatuatedPoke
+
+BattleTextList_4015D0:: @ 84015D0
+ .2byte BATTLE_TEXT_EnergyDrained
+ .2byte BATTLE_TEXT_OozeSuckup
+
+BattleTextList_4015D4:: @ 84015D4
+ .2byte BATTLE_TEXT_ElecWeakened
+ .2byte BATTLE_TEXT_FireWeakened
+
+BattleTextList_4015D8:: @ 84015D8
+ .2byte BATTLE_TEXT_BellChime
+ .2byte BATTLE_TEXT_BellChime
+ .2byte BATTLE_TEXT_BellChime
+ .2byte BATTLE_TEXT_BellChime
+ .2byte BATTLE_TEXT_SoothingAroma
+
+BattleTextList_4015E2:: @ 84015E2
+ .2byte BATTLE_TEXT_ForesawAttack
+ .2byte BATTLE_TEXT_ChoseDestiny
+ .2byte BATTLE_TEXT_BallBrokeOhNo
+ .2byte BATTLE_TEXT_BallBrokeAppeared
+ .2byte BATTLE_TEXT_BallBrokeAlmost
+ .2byte BATTLE_TEXT_BallBrokeSoClose
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Sandstorm
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_SunStrong
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_Raining
+ .2byte BATTLE_TEXT_LoafingAround
+ .2byte BATTLE_TEXT_WontObey
+ .2byte BATTLE_TEXT_TurnedAway
+ .2byte BATTLE_TEXT_NotNotice
+ .2byte BATTLE_TEXT_CreptCloser
+ .2byte BATTLE_TEXT_CantGetCloser
+ .2byte BATTLE_TEXT_CuriousAbout
+ .2byte BATTLE_TEXT_EnthralledBy
+ .2byte BATTLE_TEXT_IgnoredThing
+ .2byte BATTLE_TEXT_CuredConfusion
+ .2byte BATTLE_TEXT_CuredParalysis
+ .2byte BATTLE_TEXT_CuredFreeze
+ .2byte BATTLE_TEXT_CuredBurn
+ .2byte BATTLE_TEXT_CuredPoison
+ .2byte BATTLE_TEXT_CuredSleep
+ .2byte BATTLE_TEXT_CuredStatus
+ .2byte BATTLE_TEXT_NormalizedStatus
+
+BattleTextList_401630:: @ 8401630
+ .2byte BATTLE_TEXT_PreventedBurn
+ .2byte BATTLE_TEXT_PreventedOther2
+ .2byte BATTLE_TEXT_NoEffectOn
+
+BattleTextList_401636:: @ 8401636
+ .2byte BATTLE_TEXT_PreventedPara
+ .2byte BATTLE_TEXT_PreventedOther2
+ .2byte BATTLE_TEXT_NoEffectOn
+
+BattleTextList_40163C:: @ 840163C
+ .2byte BATTLE_TEXT_PreventedPoison
+ .2byte BATTLE_TEXT_PreventedOther2
+ .2byte BATTLE_TEXT_NoEffectOn
+
+BattleTextList_401642:: @ 8401642
+ .2byte BATTLE_TEXT_Obtained1
+ .2byte BATTLE_TEXT_Obtained2
+ .2byte BATTLE_TEXT_Obtained3
+ .2byte BATTLE_TEXT_RaisedFirePower
+ .2byte BATTLE_TEXT_MadeIneffective
gUnknown_0840164C:: @ 840164C
- .incbin "baserom.gba", 0x0040164c, 0x10
+ .2byte BATTLE_TEXT_StopLearning
+ .2byte BATTLE_TEXT_FellAsleep
+ .2byte BATTLE_TEXT_SpeltHealthy
+ .2byte BATTLE_TEXT_SubTookDamage
+ .2byte BATTLE_TEXT_CoinScatter
+ .2byte BATTLE_TEXT_SandTombTrapped
+
+ .incbin "baserom.gba", 0x401658, 0x4
.align 2
gUnknown_0840165C:: @ 840165C