summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-11-06 11:26:22 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2019-11-06 11:26:22 -0500
commit95d19b8e8821d8ac8ad998d4b7109b456335d6bd (patch)
treec4824525ef6de5abde1b9f1965eb7ee08a2a70c9
parent2ed15a3bb5275376649873490bd67a6dea5068c1 (diff)
Sync battle script commands with emerald
-rw-r--r--asm/macros/battle_script.inc1093
-rw-r--r--data/battle_scripts_1.s2171
-rw-r--r--include/constants/battle.h1
3 files changed, 1726 insertions, 1539 deletions
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index fea575042..5c3c141ca 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -1,346 +1,333 @@
-@ 0 ==
-@ 1 !=
-@ 2 <
-@ 3 >
-@ 4 &=
-
- .macro calculatedamage
- critical
- atk5
- atk6
- atk7
- .endm
-
-
+@ commands
.macro attackcanceler
- .byte 0x00
+ .byte 0x0
.endm
- .macro accuracycheck address, param1
- .byte 0x01
- .4byte \address
+ .macro accuracycheck param0:req, param1:req
+ .byte 0x1
+ .4byte \param0
.2byte \param1
.endm
.macro attackstring
- .byte 0x02
+ .byte 0x2
.endm
.macro ppreduce
- .byte 0x03
+ .byte 0x3
.endm
.macro critcalc
- .byte 0x04
+ .byte 0x4
.endm
- .macro atk5
- .byte 0x05
+ .macro damagecalc
+ .byte 0x5
.endm
- .macro atk6
- .byte 0x06
+ .macro typecalc
+ .byte 0x6
.endm
- .macro atk7
- .byte 0x07
+ .macro adjustnormaldamage
+ .byte 0x7
.endm
- .macro atk8
- .byte 0x08
+ .macro adjustnormaldamage2
+ .byte 0x8
.endm
.macro attackanimation
- .byte 0x09
+ .byte 0x9
.endm
.macro waitanimation
- .byte 0x0a
+ .byte 0xa
.endm
- .macro graphicalhpupdate bank
- .byte 0x0b
- .byte \bank
+ .macro healthbarupdate battler:req
+ .byte 0xb
+ .byte \battler
.endm
- .macro datahpupdate bank
- .byte 0x0c
- .byte \bank
+ .macro datahpupdate battler:req
+ .byte 0xc
+ .byte \battler
.endm
.macro critmessage
- .byte 0x0d
+ .byte 0xd
.endm
- .macro missmessage
- .byte 0x0e
+ .macro effectivenesssound
+ .byte 0xe
.endm
.macro resultmessage
- .byte 0x0f
+ .byte 0xf
.endm
- .macro printstring string
+ .macro printstring id:req
.byte 0x10
- .2byte \string
+ .2byte \id
.endm
- .macro printstring2 string
+ .macro printselectionstring id:req
.byte 0x11
- .2byte \string
+ .2byte \id
.endm
- .macro waitmessage delay
+ .macro waitmessage param0:req
.byte 0x12
- .2byte \delay
+ .2byte \param0
.endm
- .macro printfromtable table
+ .macro printfromtable ptr:req
.byte 0x13
- .4byte \table
+ .4byte \ptr
.endm
- .macro printfromtable2 table
+ .macro printselectionstringfromtable ptr:req
.byte 0x14
- .4byte \table
+ .4byte \ptr
.endm
- .macro seteffectwithchancetarget
+ .macro seteffectwithchance
.byte 0x15
.endm
- .macro seteffecttarget
+ .macro seteffectprimary
.byte 0x16
.endm
- .macro seteffectuser
+ .macro seteffectsecondary
.byte 0x17
.endm
- .macro clearstatus bank
+ .macro clearstatusfromeffect battler:req
.byte 0x18
- .byte \bank
+ .byte \battler
.endm
- .macro faintpokemon bank, param2, param3
+ .macro tryfaintmon battler:req, fromMove:req, ptr:req
.byte 0x19
- .byte \bank
- .byte \param2
- .4byte \param3
+ .byte \battler
+ .byte \fromMove
+ .4byte \ptr
.endm
- .macro atk1a param1
+ .macro dofaintanimation battler:req
.byte 0x1a
- .byte \param1
+ .byte \battler
.endm
- .macro atk1b bank
+ .macro cleareffectsonfaint battler:req
.byte 0x1b
- .byte \bank
+ .byte \battler
.endm
- .macro jumpifstatus bank, status, address
+ .macro jumpifstatus battler:req, status1:req, ptr:req
.byte 0x1c
- .byte \bank
- .4byte \status
- .4byte \address
+ .byte \battler
+ .4byte \status1
+ .4byte \ptr
.endm
- .macro jumpifsecondarytstatus bank, status, address
+ .macro jumpifstatus2 battler:req, status2:req, ptr:req
.byte 0x1d
- .byte \bank
- .4byte \status
- .4byte \address
+ .byte \battler
+ .4byte \status2
+ .4byte \ptr
.endm
- .macro jumpifability bank, ability, address
+ .macro jumpifability param0:req, ability:req, ptr:req
.byte 0x1e
- .byte \bank
+ .byte \param0
.byte \ability
- .4byte \address
+ .4byte \ptr
.endm
- .macro jumpifhalverset bank, status, address
+ .macro jumpifsideaffecting battler:req, sidestatus:req, ptr:req
.byte 0x1f
- .byte \bank
- .2byte \status
- .4byte \address
+ .byte \battler
+ .2byte \sidestatus
+ .4byte \ptr
.endm
- .macro jumpifstat bank, flag, quantity, statid, address
+ .macro jumpifstat battler:req, ifflag:req, stat:req, value:req, ptr
.byte 0x20
- .byte \bank
- .byte \flag
- .byte \quantity
- .byte \statid
- .4byte \address
+ .byte \battler
+ .byte \ifflag
+ .byte \stat
+ .byte \value
+ .4byte \ptr
.endm
- .macro jumpifspecialstatusflag bank, mask, status, address
+ .macro jumpifstatus3condition battler:req, status3:req, param2:req, ptr:req
.byte 0x21
- .byte \bank
- .4byte \mask
- .byte \status
- .4byte \address
+ .byte \battler
+ .4byte \status3
+ .byte \param2
+ .4byte \ptr
.endm
- .macro jumpiftype bank, type, address
+ .macro jumpiftype battler:req, type:req, ptr:req
.byte 0x22
- .byte \bank
+ .byte \battler
.byte \type
- .4byte \address
+ .4byte \ptr
.endm
- .macro atk23 bank
+ .macro getexp battler:req
.byte 0x23
- .byte \bank
+ .byte \battler
.endm
- .macro atk24 address
+ .macro atk24 ptr:req
.byte 0x24
- .4byte \address
+ .4byte \ptr
.endm
- .macro atk25
+ .macro movevaluescleanup
.byte 0x25
.endm
- .macro atk26 param1
+ .macro setmultihit value:req
.byte 0x26
- .byte \param1
+ .byte \value
.endm
- .macro atk27 address
+ .macro decrementmultihit value:req
.byte 0x27
- .4byte \address
+ .4byte \value
.endm
- .macro jump address
+ .macro goto ptr:req
.byte 0x28
- .4byte \address
+ .4byte \ptr
.endm
- .macro jumpifbyte ifflag, checkaddr, compare, address
+ .macro jumpifbyte ifflag:req, param1:req, param2:req, param3:req
.byte 0x29
.byte \ifflag
- .4byte \checkaddr
- .byte \compare
- .4byte \address
+ .4byte \param1
+ .byte \param2
+ .4byte \param3
.endm
- .macro jumpifhalfword ifflag, checkaddr, compare, address
+ .macro jumpifhalfword ifflag:req, param1:req, param2:req, param3:req
.byte 0x2a
.byte \ifflag
- .4byte \checkaddr
- .2byte \compare
- .4byte \address
+ .4byte \param1
+ .2byte \param2
+ .4byte \param3
.endm
- .macro jumpifword ifflag, checkaddr, compare, address
+ .macro jumpifword ifflag:req, param1:req, param2:req, param3:req
.byte 0x2b
.byte \ifflag
- .4byte \checkaddr
- .4byte \compare
- .4byte \address
+ .4byte \param1
+ .4byte \param2
+ .4byte \param3
.endm
- .macro jumpifarrayequal mem1, mem2, size, address
+ .macro jumpifarrayequal param0:req, param1:req, param2:req, param3:req
.byte 0x2c
- .4byte \mem1
- .4byte \mem2
- .byte \size
- .4byte \address
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .4byte \param3
.endm
- .macro jumpifarraynotequal mem1, mem2, size, address
+ .macro jumpifarraynotequal param0:req, param1:req, param2:req, param3:req
.byte 0x2d
- .4byte \mem1
- .4byte \mem2
- .byte \size
- .4byte \address
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .4byte \param3
.endm
- .macro setbyte pointer, value
+ .macro setbyte ptr:req, param1:req
.byte 0x2e
- .4byte \pointer
- .byte \value
+ .4byte \ptr
+ .byte \param1
.endm
- .macro addbyte pointer, value
+ .macro addbyte ptr:req, param1:req
.byte 0x2f
- .4byte \pointer
- .byte \value
+ .4byte \ptr
+ .byte \param1
.endm
- .macro subtractbyte pointer, value
+ .macro subbyte ptr:req, param1:req
.byte 0x30
- .4byte \pointer
- .byte \value
+ .4byte \ptr
+ .byte \param1
.endm
- .macro copyarray destination, source, size
+ .macro copyarray param0:req, param1:req, param2:req
.byte 0x31
- .4byte \destination
- .4byte \source
- .byte \size
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
.endm
- .macro atk32 param1, param2, param3, byte
+ .macro copyarraywithindex param0:req, param1:req, param2:req, param3:req
.byte 0x32
+ .4byte \param0
.4byte \param1
.4byte \param2
- .4byte \param3
- .byte \byte
+ .byte \param3
.endm
- .macro orbyte pointer, value
+ .macro orbyte ptr:req, param1:req
.byte 0x33
- .4byte \pointer
- .byte \value
+ .4byte \ptr
+ .byte \param1
.endm
- .macro orhalfword pointer, value
+ .macro orhalfword ptr:req, param1:req
.byte 0x34
- .4byte \pointer
- .2byte \value
+ .4byte \ptr
+ .2byte \param1
.endm
- .macro orword pointer, value
+ .macro orword ptr:req, param1:req
.byte 0x35
- .4byte \pointer
- .4byte \value
+ .4byte \ptr
+ .4byte \param1
.endm
- .macro bicbyte pointer, value
+ .macro bicbyte ptr:req, param1:req
.byte 0x36
- .4byte \pointer
- .byte \value
+ .4byte \ptr
+ .byte \param1
.endm
- .macro bichalfword pointer, value
+ .macro bichalfword ptr:req, param1:req
.byte 0x37
- .4byte \pointer
- .2byte \value
+ .4byte \ptr
+ .2byte \param1
.endm
- .macro bicword pointer, value
+ .macro bicword ptr:req, param1:req
.byte 0x38
- .4byte \pointer
- .4byte \value
+ .4byte \ptr
+ .4byte \param1
.endm
- .macro pause pause_duration
+ .macro pause param0:req
.byte 0x39
- .2byte \pause_duration
+ .2byte \param0
.endm
- .macro waitstateatk
+ .macro waitstate
.byte 0x3a
.endm
- .macro somethinghealatk3b bank
+ .macro healthbar_update battler:req
.byte 0x3b
- .byte \bank
+ .byte \battler
.endm
.macro return
@@ -359,287 +346,319 @@
.byte 0x3f
.endm
- .macro atk40 address
+ .macro jumpifaffectedbyprotect ptr:req
.byte 0x40
- .4byte \address
+ .4byte \ptr
.endm
- .macro callatk address
+ .macro call ptr:req
.byte 0x41
- .4byte \address
+ .4byte \ptr
.endm
- .macro jumpiftype2 bank, type, address
+ .macro jumpiftype2 battler:req, type:req, ptr:req
.byte 0x42
- .byte \bank
+ .byte \battler
.byte \type
- .4byte \address
+ .4byte \ptr
.endm
- .macro jumpifabilitypresent ability, address
+ .macro jumpifabilitypresent ability:req, ptr:req
.byte 0x43
.byte \ability
- .4byte \address
+ .4byte \ptr
.endm
- .macro atk44
+ .macro endselectionscript
.byte 0x44
.endm
- .macro playanimation bank, animation, var_address
+ .macro playanimation battler:req, param1:req, param2:req
.byte 0x45
- .byte \bank
- .byte \animation
- .4byte \var_address
+ .byte \battler
+ .byte \param1
+ .4byte \param2
.endm
- .macro atk46 bank, address, int
+ .macro playanimation2 battler:req, param1:req, param2:req
.byte 0x46
- .byte \bank
- .4byte \address
- .4byte \int
+ .byte \battler
+ .4byte \param1
+ .4byte \param2
.endm
- .macro atk47
+ .macro setgraphicalstatchangevalues
.byte 0x47
.endm
- .macro playstatchangeanimation bank, color, byte
+ .macro playstatchangeanimation battler:req, param1:req, param2:req
.byte 0x48
- .byte \bank
- .byte \color
- .byte \byte
+ .byte \battler
+ .byte \param1
+ .byte \param2
.endm
- .macro atk49 byte1, byte2
+ .macro moveend param0:req, param1:req
.byte 0x49
- .byte \byte1
- .byte \byte2
+ .byte \param0
+ .byte \param1
.endm
- .macro damagecalc2
+ @ Help macros for 5 uses of moveend command
+
+ @ All cases
+ .macro moveendall
+ setbyte sMOVEEND_STATE, 0
+ moveend 0, 0
+ .endm
+
+ @ Chosen case
+ .macro moveendcase case:req
+ setbyte sMOVEEND_STATE, \case
+ moveend 1, 0
+ .endm
+
+ @ All cases from (inclusive)
+ .macro moveendfrom from:req
+ setbyte sMOVEEND_STATE, \from
+ moveend 0, 0
+ .endm
+
+ @ All cases from 0 to (not inclusive)
+ .macro moveendto to:req
+ setbyte sMOVEEND_STATE, 0
+ moveend 2, \to
+ .endm
+
+ @ Cases from (inclusive) to (not inclusive)
+ .macro moveendfromto from:req, to:req
+ setbyte sMOVEEND_STATE, \from
+ moveend 2, \to
+ .endm
+
+ .macro typecalc2
.byte 0x4a
.endm
- .macro atk4b
+ .macro returnatktoball
.byte 0x4b
.endm
- .macro switch1 bank
+ .macro getswitchedmondata battler:req
.byte 0x4c
- .byte \bank
+ .byte \battler
.endm
- .macro switch2 bank
+ .macro switchindataupdate battler:req
.byte 0x4d
- .byte \bank
+ .byte \battler
.endm
- .macro switch3 bank, byte
+ .macro switchinanim battler:req, dontclearsubstitutebit:req
.byte 0x4e
- .byte \bank
- .byte \byte
+ .byte \battler
+ .byte \dontclearsubstitutebit
.endm
- .macro jumpifcannotswitch bank, address
+ .macro jumpifcantswitch battler:req, ptr:req
.byte 0x4f
- .byte \bank
- .4byte \address
+ .byte \battler
+ .4byte \ptr
.endm
- .macro openpartyscreen bank, address
+ .macro openpartyscreen param0:req, param1:req
.byte 0x50
- .byte \bank
- .4byte \address
+ .byte \param0
+ .4byte \param1
.endm
- .macro atk51 bank, param2
+ .macro switchhandleorder battler:req, param1:req
.byte 0x51
- .byte \bank
- .byte \param2
+ .byte \battler
+ .byte \param1
.endm
- .macro atk52 bank
+ .macro switchineffects battler:req
.byte 0x52
- .byte \bank
+ .byte \battler
.endm
- .macro atk53 bank
+ .macro trainerslidein battler:req
.byte 0x53
- .byte \bank
+ .byte \battler
.endm
- .macro atk54 word
+ .macro playse song:req
.byte 0x54
- .2byte \word
+ .2byte \song
.endm
- .macro atk55 int
+ .macro fanfare song:req
.byte 0x55
- .2byte \int
+ .2byte \song
.endm
- .macro atk56 bank_or_side
+ .macro playfaintcry battler:req
.byte 0x56
- .byte \bank_or_side
+ .byte \battler
.endm
.macro atk57
.byte 0x57
.endm
- .macro atk58 bank
+ .macro returntoball battler:req
.byte 0x58
- .byte \bank
+ .byte \battler
.endm
- .macro checkiflearnmoveinbattle param1, param2, bank_maybe
+ .macro handlelearnnewmove param0:req, param1:req, param2:req
.byte 0x59
+ .4byte \param0
.4byte \param1
- .4byte \param2
- .byte \bank_maybe
+ .byte \param2
.endm
- .macro atk5a address
+ .macro yesnoboxlearnmove param0:req
.byte 0x5a
- .4byte \address
+ .4byte \param0
.endm
- .macro atk5b address
+ .macro yesnoboxstoplearningmove param0:req
.byte 0x5b
- .4byte \address
+ .4byte \param0
.endm
- .macro atk5c bank
+ .macro hitanimation battler:req
.byte 0x5c
- .byte \bank
+ .byte \battler
.endm
- .macro atk5d addr
+ .macro getmoneyreward addr
.byte 0x5d
.4byte \addr
.endm
- .macro atk5e bank
+ .macro atk5E battler:req
.byte 0x5e
- .byte \bank
+ .byte \battler
.endm
- .macro atk5f
+ .macro swapattackerwithtarget
.byte 0x5f
.endm
- .macro atk60 byte
+ .macro incrementgamestat param0:req
.byte 0x60
- .byte \byte
+ .byte \param0
.endm
- .macro atk61 bank_or_side
+ .macro drawpartystatussummary battler:req
.byte 0x61
- .byte \bank_or_side
+ .byte \battler
.endm
- .macro atk62_hidepartystatussummary bank_or_side
+ .macro hidepartystatussummary battler:req
.byte 0x62
- .byte \bank_or_side
+ .byte \battler
.endm
- .macro jumptoattack bank
+ .macro jumptocalledmove param0:req
.byte 0x63
- .byte \bank
+ .byte \param0
.endm
- .macro statusanimation bank
+ .macro statusanimation battler:req
.byte 0x64
- .byte \bank
+ .byte \battler
.endm
- .macro atk65 bank_or_side, address
+ .macro status2animation battler:req, status2:req
.byte 0x65
- .byte \bank_or_side
- .4byte \address
+ .byte \battler
+ .4byte \status2
.endm
- .macro atk66 bank_or_side, bank_or_side2, address
+ .macro chosenstatusanimation battler:req, param1:req, param2:req
.byte 0x66
- .byte \bank_or_side
- .byte \bank_or_side2
- .4byte \address
+ .byte \battler
+ .byte \param1
+ .4byte \param2
.endm
- .macro atk67
+ .macro yesnobox
.byte 0x67
.endm
- .macro atk68
+ .macro cancelallactions
.byte 0x68
.endm
- .macro atk69
+ .macro adjustsetdamage
.byte 0x69
.endm
- .macro removeitem bank
+ .macro removeitem battler:req
.byte 0x6a
- .byte \bank
+ .byte \battler
.endm
- .macro atk6b
+ .macro atknameinbuff1
.byte 0x6b
.endm
- .macro atk6c
+ .macro drawlvlupbox
.byte 0x6c
.endm
- .macro atk6d
+ .macro resetsentmonsvalue
.byte 0x6d
.endm
- .macro atk6e
+ .macro setatktoplayer0
.byte 0x6e
.endm
- .macro atk6f bank
+ .macro makevisible battler:req
.byte 0x6f
- .byte \bank
+ .byte \battler
.endm
- .macro atk70 bank
+ .macro recordlastability battler:req
.byte 0x70
- .byte \bank
+ .byte \battler
.endm
- .macro atk71
+ .macro buffermovetolearn
.byte 0x71
.endm
- .macro atk72 address
+ .macro jumpifplayerran ptr:req
.byte 0x72
- .4byte \address
+ .4byte \ptr
.endm
- .macro atk73 bank
+ .macro hpthresholds battler:req
.byte 0x73
- .byte \bank
+ .byte \battler
.endm
- .macro atk74 bank
+ .macro hpthresholds2 battler:req
.byte 0x74
- .byte \bank
+ .byte \battler
.endm
- .macro atk75
+ .macro useitemonopponent
.byte 0x75
.endm
- .macro atk76 bank, byte
+ .macro various battler:req, param1:req
.byte 0x76
- .byte \bank
- .byte \byte
+ .byte \battler
+ .byte \param1
.endm
- .macro setprotect
+ .macro setprotectlike
.byte 0x77
.endm
@@ -647,22 +666,22 @@
.byte 0x78
.endm
- .macro setuserhptozero
+ .macro setatkhptozero
.byte 0x79
.endm
- .macro jumpwhiletargetvalid address
+ .macro jumpifnexttargetvalid ptr:req
.byte 0x7a
- .4byte \address
+ .4byte \ptr
.endm
- .macro setdamageasrestorehalfmaxhp address, byte
+ .macro tryhealhalfhealth param0:req, battler:req
.byte 0x7b
- .4byte \address
- .byte \byte
+ .4byte \param0
+ .byte \battler
.endm
- .macro jumptolastusedattack
+ .macro trymirrormove
.byte 0x7c
.endm
@@ -674,56 +693,56 @@
.byte 0x7e
.endm
- .macro setleechseed
+ .macro setseeded
.byte 0x7f
.endm
- .macro manipulatedamage id
+ .macro manipulatedamage param0:req
.byte 0x80
- .byte \id
+ .byte \param0
.endm
- .macro setrest address
+ .macro trysetrest param0:req
.byte 0x81
- .4byte \address
+ .4byte \param0
.endm
- .macro jumpifnotfirstturn address
+ .macro jumpifnotfirstturn ptr:req
.byte 0x82
- .4byte \address
+ .4byte \ptr
.endm
- .macro nop3
+ .macro nop
.byte 0x83
.endm
- .macro jumpifcannotsleep address
+ .macro jumpifcantmakeasleep param0:req
.byte 0x84
- .4byte \address
+ .4byte \param0
.endm
.macro stockpile
.byte 0x85
.endm
- .macro stockpiletobasedamage address
+ .macro stockpiletobasedamage param0:req
.byte 0x86
- .4byte \address
+ .4byte \param0
.endm
- .macro stockpiletohprecovery address
+ .macro stockpiletohpheal param0:req
.byte 0x87
- .4byte \address
+ .4byte \param0
.endm
.macro negativedamage
.byte 0x88
.endm
- .macro statbuffchange target, address
+ .macro statbuffchange param0:req, param1:req
.byte 0x89
- .byte \target
- .4byte \address
+ .byte \param0
+ .4byte \param1
.endm
.macro normalisebuffs
@@ -738,26 +757,26 @@
.byte 0x8c
.endm
- .macro setloopcounter count
+ .macro setmultihitcounter param0:req
.byte 0x8d
- .byte \count
+ .byte \param0
.endm
- .macro atk8e
+ .macro initmultihitstring
.byte 0x8e
.endm
- .macro forcerandomswitch address
+ .macro forcerandomswitch param0:req
.byte 0x8f
- .4byte \address
+ .4byte \param0
.endm
- .macro changetypestoenemyattacktype address
+ .macro tryconversiontypechange param0:req
.byte 0x90
- .4byte \address
+ .4byte \param0
.endm
- .macro givemoney
+ .macro givepaydaymoney
.byte 0x91
.endm
@@ -765,12 +784,12 @@
.byte 0x92
.endm
- .macro koplussomethings address
+ .macro tryKO param0:req
.byte 0x93
- .4byte \address
+ .4byte \param0
.endm
- .macro gethalfcurrentenemyhp
+ .macro damagetohalftargethp
.byte 0x94
.endm
@@ -782,21 +801,21 @@
.byte 0x96
.endm
- .macro tryinfatuatetarget address
+ .macro tryinfatuating param0:req
.byte 0x97
- .4byte \address
+ .4byte \param0
.endm
- .macro atk98 byte
+ .macro updatestatusicon battler:req
.byte 0x98
- .byte \byte
+ .byte \battler
.endm
- .macro setmisteffect
+ .macro setmist
.byte 0x99
.endm
- .macro setincreasedcriticalchance
+ .macro setfocusenergy
.byte 0x9a
.endm
@@ -804,20 +823,20 @@
.byte 0x9b
.endm
- .macro setsubstituteeffect
+ .macro setsubstitute
.byte 0x9c
.endm
- .macro copyattack address
+ .macro mimicattackcopy param0:req
.byte 0x9d
- .4byte \address
+ .4byte \param0
.endm
- .macro metronomeeffect
+ .macro metronome
.byte 0x9e
.endm
- .macro nightshadedamageeffect
+ .macro dmgtolevel
.byte 0x9f
.endm
@@ -825,55 +844,55 @@
.byte 0xa0
.endm
- .macro counterdamagecalculator address
+ .macro counterdamagecalculator param0:req
.byte 0xa1
- .4byte \address
+ .4byte \param0
.endm
- .macro mirrorcoatdamagecalculator address
+ .macro mirrorcoatdamagecalculator param0:req
.byte 0xa2
- .4byte \address
+ .4byte \param0
.endm
- .macro disablelastusedattack address
+ .macro disablelastusedattack param0:req
.byte 0xa3
- .4byte \address
+ .4byte \param0
.endm
- .macro setencore address
+ .macro trysetencore param0:req
.byte 0xa4
- .4byte \address
+ .4byte \param0
.endm
- .macro painsplitdamagecalculator address
+ .macro painsplitdmgcalc param0:req
.byte 0xa5
- .4byte \address
+ .4byte \param0
.endm
- .macro settypetorandomresistance address
+ .macro settypetorandomresistance param0:req
.byte 0xa6
- .4byte \address
+ .4byte \param0
.endm
.macro setalwayshitflag
.byte 0xa7
.endm
- .macro copymovepermanently address
+ .macro copymovepermanently param0:req
.byte 0xa8
- .4byte \address
+ .4byte \param0
.endm
- .macro selectrandommovefromusermoves address
+ .macro trychoosesleeptalkmove param0:req
.byte 0xa9
- .4byte \address
+ .4byte \param0
.endm
- .macro destinybondeffect
+ .macro setdestinybond
.byte 0xaa
.endm
- .macro atkab
+ .macro trysetdestinybondtohappen
.byte 0xab
.endm
@@ -881,45 +900,45 @@
.byte 0xac
.endm
- .macro reducepprandom address
+ .macro tryspiteppreduce param0:req
.byte 0xad
- .4byte \address
+ .4byte \param0
.endm
- .macro clearstatusifnotsoundproofed
+ .macro healpartystatus
.byte 0xae
.endm
- .macro cursetarget address
+ .macro cursetarget param0:req
.byte 0xaf
- .4byte \address
+ .4byte \param0
.endm
- .macro setspikes address
+ .macro trysetspikes param0:req
.byte 0xb0
- .4byte \address
+ .4byte \param0
.endm
.macro setforesight
.byte 0xb1
.endm
- .macro setperishsong address
+ .macro trysetperishsong param0:req
.byte 0xb2
- .4byte \address
+ .4byte \param0
.endm
.macro rolloutdamagecalculation
.byte 0xb3
.endm
- .macro jumpifconfusedandattackmaxed bank, address
+ .macro jumpifconfusedandstatmaxed stat:req, ptr:req
.byte 0xb4
- .byte \bank
- .4byte \address
+ .byte \stat
+ .4byte \ptr
.endm
- .macro furycutterdamagecalculation
+ .macro furycuttercalc
.byte 0xb5
.endm
@@ -939,62 +958,62 @@
.byte 0xb9
.endm
- .macro atkba address
+ .macro jumpifnopursuitswitchdmg param0:req
.byte 0xba
- .4byte \address
+ .4byte \param0
.endm
.macro setsunny
.byte 0xbb
.endm
- .macro maxattackhalvehp address
+ .macro maxattackhalvehp param0:req
.byte 0xbc
- .4byte \address
+ .4byte \param0
.endm
- .macro copyfoestats address
+ .macro copyfoestats param0:req
.byte 0xbd
- .4byte \address
+ .4byte \param0
.endm
- .macro breakfree
+ .macro rapidspinfree
.byte 0xbe
.endm
- .macro setcurled
+ .macro setdefensecurlbit
.byte 0xbf
.endm
- .macro recoverbasedonsunlight address
+ .macro recoverbasedonsunlight param0:req
.byte 0xc0
- .4byte \address
+ .4byte \param0
.endm
- .macro hiddenpowerdamagecalculation
+ .macro hiddenpowercalc
.byte 0xc1
.endm
- .macro selectnexttarget
+ .macro selectfirstvalidtarget
.byte 0xc2
.endm
- .macro setfutureattack address
+ .macro trysetfutureattack param0:req
.byte 0xc3
- .4byte \address
+ .4byte \param0
.endm
- .macro beatupcalculation address1, address2
+ .macro trydobeatup param0:req, param1:req
.byte 0xc4
- .4byte \address1
- .4byte \address2
+ .4byte \param0
+ .4byte \param1
.endm
- .macro hidepreattack
+ .macro setsemiinvulnerablebit
.byte 0xc5
.endm
- .macro unhidepostattack
+ .macro clearsemiinvulnerablebit
.byte 0xc6
.endm
@@ -1006,9 +1025,9 @@
.byte 0xc8
.endm
- .macro jumpifattackandspecialattackcannotfall address
+ .macro jumpifattackandspecialattackcannotfall ptr:req
.byte 0xc9
- .4byte \address
+ .4byte \ptr
.endm
.macro setforcedtarget
@@ -1023,207 +1042,393 @@
.byte 0xcc
.endm
- .macro cureifburnedparalysedorpoisoned address
+ .macro cureifburnedparalysedorpoisoned param0:req
.byte 0xcd
- .4byte \address
+ .4byte \param0
.endm
- .macro settorment address
+ .macro settorment param0:req
.byte 0xce
- .4byte \address
+ .4byte \param0
.endm
- .macro jumpifnodamage address
+ .macro jumpifnodamage param0:req
.byte 0xcf
- .4byte \address
+ .4byte \param0
.endm
- .macro settaunt address
+ .macro settaunt param0:req
.byte 0xd0
- .4byte \address
+ .4byte \param0
.endm
- .macro sethelpinghand address
+ .macro trysethelpinghand param0:req
.byte 0xd1
- .4byte \address
+ .4byte \param0
.endm
- .macro itemswap address
+ .macro tryswapitems param0:req
.byte 0xd2
- .4byte \address
+ .4byte \param0
.endm
- .macro copyability address
+ .macro trycopyability param0:req
.byte 0xd3
- .4byte \address
+ .4byte \param0
.endm
- .macro atkd4 byte, address
+ .macro trywish param0:req, param1:req
.byte 0xd4
- .byte \byte
- .4byte \address
+ .byte \param0
+ .4byte \param1
.endm
- .macro setroots address
+ .macro trysetroots param0:req
.byte 0xd5
- .4byte \address
+ .4byte \param0
.endm
.macro doubledamagedealtifdamaged
.byte 0xd6
.endm
- .macro setyawn address
+ .macro setyawn param0:req
.byte 0xd7
- .4byte \address
+ .4byte \param0
.endm
- .macro setdamagetohealthdifference address
+ .macro setdamagetohealthdifference param0:req
.byte 0xd8
- .4byte \address
+ .4byte \param0
.endm
.macro scaledamagebyhealthratio
.byte 0xd9
.endm
- .macro abilityswap address
+ .macro tryswapabilities param0:req
.byte 0xda
- .4byte \address
+ .4byte \param0
.endm
- .macro imprisoneffect address
+ .macro tryimprison param0:req
.byte 0xdb
- .4byte \address
+ .4byte \param0
.endm
- .macro setgrudge address
+ .macro trysetgrudge param0:req
.byte 0xdc
- .4byte \address
+ .4byte \param0
.endm
.macro weightdamagecalculation
.byte 0xdd
.endm
- .macro assistattackselect address
+ .macro assistattackselect param0:req
.byte 0xde
- .4byte \address
+ .4byte \param0
.endm
- .macro setmagiccoat address
+ .macro trysetmagiccoat param0:req
.byte 0xdf
- .4byte \address
+ .4byte \param0
.endm
- .macro setstealstatchange address
+ .macro trysetsnatch param0:req
.byte 0xe0
- .4byte \address
+ .4byte \param0
.endm
- .macro atke1 address
+ .macro trygetintimidatetarget param0:req
.byte 0xe1
- .4byte \address
+ .4byte \param0
.endm
- .macro atke2 bank
+ .macro switchoutabilities battler:req
.byte 0xe2
- .byte \bank
+ .byte \battler
.endm
- .macro jumpiffainted bank, address
+ .macro jumpifhasnohp battler:req, param1:req
.byte 0xe3
- .byte \bank
- .4byte \address
+ .byte \battler
+ .4byte \param1
.endm
- .macro naturepowereffect
+ .macro getsecretpowereffect
.byte 0xe4
.endm
- .macro pickupitemcalculation
+ .macro pickup
.byte 0xe5
.endm
- .macro actualcastformswitch
+ .macro docastformchangeanimation
.byte 0xe6
.endm
- .macro castformswitch
+ .macro trycastformdatachange
.byte 0xe7
.endm
- .macro settypebasedhalvers address
+ .macro settypebasedhalvers param0:req
.byte 0xe8
- .4byte \address
+ .4byte \param0
.endm
- .macro seteffectbyweather
+ .macro setweatherballtype
.byte 0xe9
.endm
- .macro recycleitem address
+ .macro tryrecycleitem param0:req
.byte 0xea
- .4byte \address
+ .4byte \param0
.endm
- .macro settypetoterrain address
+ .macro settypetoterrain param0:req
.byte 0xeb
- .4byte \address
+ .4byte \param0
.endm
- .macro pursuitwhenswitched address
+ .macro pursuitrelated param0:req
.byte 0xec
- .4byte \address
+ .4byte \param0
.endm
- .macro snatchmove
+ .macro snatchsetbattlers
.byte 0xed
.endm
- .macro removereflectlightscreen
+ .macro removelightscreenreflect
.byte 0xee
.endm
- .macro pokemoncatchfunction
+ .macro handleballthrow
.byte 0xef
.endm
- .macro catchpoke
+ .macro givecaughtmon
.byte 0xf0
.endm
- .macro capturesomethingf1 address
+ .macro trysetcaughtmondexflags param0:req
.byte 0xf1
- .4byte \address
+ .4byte \param0
.endm
- .macro capturesomethingf2
+ .macro displaydexinfo
.byte 0xf2
.endm
- .macro capturesomethingf3 address
+ .macro trygivecaughtmonnick param0:req
.byte 0xf3
- .4byte \address
+ .4byte \param0
.endm
- .macro removehp
+ .macro subattackerhpbydmg
.byte 0xf4
.endm
- .macro curestatusfirstword
+ .macro removeattackerstatus1
.byte 0xf5
.endm
- .macro atkf6
+ .macro finishaction
.byte 0xf6
.endm
- .macro activesidesomething
+ .macro finishturn
.byte 0xf7
.endm
- .macro atkf8 bank
+ .macro trainerslideout param0:req
.byte 0xf8
- .byte \bank
+ .byte \param0
+ .endm
+
+@ various command changed to more readable macros
+ .macro cancelmultiturnmoves battler:req
+ various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
+ .endm
+
+ .macro setmagiccoattarget battler:req
+ various \battler, VARIOUS_SET_MAGIC_COAT_TARGET
+ .endm
+
+ .macro getifcantrunfrombattle battler:req
+ various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE
+ .endm
+
+ .macro getmovetarget battler:req
+ various \battler, VARIOUS_GET_MOVE_TARGET
+ .endm
+
+ .macro various4 battler:req
+ various \battler, 4
+ .endm
+
+ .macro resetintrimidatetracebits battler:req
+ various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
+ .endm
+
+ .macro updatechoicemoveonlvlup battler:req
+ various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
+ .endm
+
+ .macro various7 battler:req
+ various \battler, 7
+ .endm
+
+ .macro various8 battler:req
+ various \battler, 8
+ .endm
+
+ .macro arenajudgmentwindow
+ various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW
+ .endm
+
+ .macro arenaopponentmonlost
+ various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST
+ .endm
+
+ .macro arenaplayermonlost
+ various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST
+ .endm
+
+ .macro arenabothmonlost
+ various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST
+ .endm
+
+ .macro forfeityesnobox battler:req
+ various \battler, VARIOUS_EMIT_YESNOBOX
+ .endm
+
+ .macro various14 battler:req
+ various \battler, 14
+ .endm
+
+ .macro various15 battler:req
+ various \battler, 15
+ .endm
+
+ .macro arenajudmengtstring id:req
+ various \id, VARIOUS_ARENA_JUDGMENT_STRING
+ .endm
+
+ .macro arenawaitmessage id:req
+ various \id, VARIOUS_ARENA_WAIT_STRING
+ .endm
+
+ .macro waitcry battler:req
+ various \battler, VARIOUS_WAIT_CRY
+ .endm
+
+ .macro returnopponentmon1toball battler:req
+ various \battler, VARIOUS_RETURN_OPPONENT_MON1
+ .endm
+
+ .macro returnopponentmon2toball battler:req
+ various \battler, VARIOUS_RETURN_OPPONENT_MON2
+ .endm
+
+ .macro volumedown
+ various BS_ATTACKER, VARIOUS_VOLUME_DOWN
+ .endm
+
+ .macro volumeup
+ various BS_ATTACKER, VARIOUS_VOLUME_UP
+ .endm
+
+ .macro setalreadystatusedmoveattempt battler:req
+ various \battler, 23
+ .endm
+
+ .macro various24 battler:req
+ various \battler, 24
+ .endm
+
+ .macro setoutcomeonteleport battler:req
+ various \battler, VARIOUS_SET_TELEPORT_OUTCOME
+ .endm
+
+ .macro playtrainerdefeatbgm battler:req
+ various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
+ .endm
+
+@ helpful macros
+ .macro setstatchanger stat:req, stages:req, down:req
+ setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7
+ .endm
+
+ .macro setmoveeffect effect:req
+ setbyte cEFFECT_CHOOSER \effect
+ .endm
+
+ .macro chosenstatus1animation battler:req, status:req
+ chosenstatusanimation \battler 0x0 \status
+ .endm
+
+ .macro chosenstatus2animation battler:req, status:req
+ chosenstatusanimation \battler 0x1 \status
+ .endm
+
+ .macro sethword dst:req, value:req
+ setbyte \dst, (\value) & 0xFF
+ setbyte \dst + 1, ((\value) >> 8) & 0xFF
+ .endm
+
+ .macro setword dst:req, value:req
+ setbyte \dst, (\value) & 0xFF
+ setbyte \dst + 1, ((\value) >> 8) & 0xFF
+ setbyte \dst + 2, ((\value) >> 16) & 0xFF
+ setbyte \dst + 3, ((\value) >> 24) & 0xFF
+ .endm
+
+ .macro copybyte dst:req, src:req
+ copyarray \dst, \src, 0x1
+ .endm
+
+ .macro copyhword dst:req, src:req
+ copyarray \dst, \src, 0x2
+ .endm
+
+ .macro copyword dst:req, src:req
+ copyarray \dst, \src, 0x4
+ .endm
+
+ .macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req
+ jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req
+ jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifmove move:req, jumpptr:req
+ jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr
+ .endm
+
+ .macro jumpifnotmove move:req, jumpptr:req
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
+ .endm
+
+ .macro jumpifstatus3 battler:req, status:req, jumpptr:req
+ jumpifstatus3condition \battler, \status, 0x0, \jumpptr
+ .endm
+
+ .macro jumpifnostatus3 battler:req, status:req, jumpptr:req
+ jumpifstatus3condition \battler, \status, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifmovehadnoeffect jumpptr:req
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
+ .endm
+
+ .macro jumpifbattletype flags:req, jumpptr:req
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
+ .endm
+
+ .macro jumpifnotbattletype flags:req, jumpptr:req
+ jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
.endm
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index a3675befd..0bdfa777a 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -8,9 +8,13 @@
#include "constants/species.h"
#include "constants/pokemon.h"
#include "constants/songs.h"
+#include "constants/game_stat.h"
#include "battle_string_ids.h"
.include "asm/macros/battle_script.inc"
+@ Define these here since misc_constants.inc conflicts with the C headers
.set NULL, 0
+ .set FALSE, 0
+ .set TRUE, 1
.section script_data, "aw", %progbits
.align 2
@@ -231,8 +235,8 @@ gBattleScriptsForMoveEffects:: @ 81D65A8
.4byte BattleScript_EffectCamouflage
BattleScript_EffectHit:: @ 81D6900
- jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0x39, BattleScript_81D6926
- jumpifspecialstatusflag BS_TARGET, 0x40000, 0x1, BattleScript_81D6926
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_SURF, BattleScript_81D6926
+ jumpifstatus3condition BS_TARGET, 0x40000, 0x1, BattleScript_81D6926
orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
setbyte sDMG_MULTIPLIER, 0x2
@@ -248,28 +252,27 @@ BattleScript_81D692E:: @ 81D692E
BattleScript_HitFromCritCalc:: @ 81D6930
critcalc
- atk5
- atk6
- atk7
+ damagecalc
+ typecalc
+ adjustnormaldamage
BattleScript_81D6934:: @ 81D6934
attackanimation
waitanimation
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
resultmessage
waitmessage 0x40
- seteffectwithchancetarget
- faintpokemon BS_TARGET, 0x0, NULL
+ seteffectwithchance
+ tryfaintmon BS_TARGET, 0x0, NULL
BattleScript_MoveEnd:: @ 81D694E
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x0, 0x0
+ moveendall
end
BattleScript_81D6958:: @ 81D6958
@@ -283,48 +286,48 @@ BattleScript_MoveMissedPause:: @ 81D6960
pause 0x20
BattleScript_81D6963:: @ 81D6963
- missmessage
+ effectivenesssound
resultmessage
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSleep:: @ 81D696D
attackcanceler
attackstring
ppreduce
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
- jumpifstatus BS_TARGET, 0x7, BattleScript_81D69B0
- jumpifcannotsleep BattleScript_81D69CC
- jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D69B0
+ jumpifcantmakeasleep BattleScript_81D69CC
+ jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, 0x0
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39
attackanimation
waitanimation
- setbyte cEFFECT_CHOOSER, 0x1
- seteffecttarget
- jump BattleScript_MoveEnd
+ setmoveeffect MOVE_EFFECT_SLEEP
+ seteffectprimary
+ goto BattleScript_MoveEnd
BattleScript_81D69B0:: @ 81D69B0
pause 0x20
printstring STRINGID_PKMNALREADYASLEEP
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D69BE:: @ 81D69BE
pause 0x20
printstring STRINGID_PKMNWASNTAFFECTED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D69CC:: @ 81D69CC
pause 0x20
printfromtable gUproarAwakeStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectPoisonHit:: @ 81D69DC
- setbyte cEFFECT_CHOOSER, 0x2
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_POISON
+ goto BattleScript_EffectHit
BattleScript_EffectAbsorb:: @ 81D69E7
attackcanceler
@@ -332,15 +335,15 @@ BattleScript_EffectAbsorb:: @ 81D69E7
attackstring
ppreduce
critcalc
- atk5
- atk6
- atk7
+ damagecalc
+ typecalc
+ adjustnormaldamage
attackanimation
waitanimation
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
@@ -348,84 +351,82 @@ BattleScript_EffectAbsorb:: @ 81D69E7
waitmessage 0x40
negativedamage
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- jumpifability BS_TARGET, ABILITY_LIQUID_OOZE, BattleScript_81D6A23
+ jumpifability 0x0, ABILITY_LIQUID_OOZE, BattleScript_81D6A23
setbyte cMULTISTRING_CHOOSER, 0x0
- jump BattleScript_81D6A2B
+ goto BattleScript_81D6A2B
BattleScript_81D6A23:: @ 81D6A23
manipulatedamage 0x0
setbyte cMULTISTRING_CHOOSER, 0x1
BattleScript_81D6A2B:: @ 81D6A2B
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6A42
printfromtable gLeechSeedDrainStringIds
waitmessage 0x40
BattleScript_81D6A42:: @ 81D6A42
- faintpokemon BS_ATTACKER, 0x0, NULL
- faintpokemon BS_TARGET, 0x0, NULL
- jump BattleScript_MoveEnd
+ tryfaintmon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_TARGET, 0x0, NULL
+ goto BattleScript_MoveEnd
BattleScript_EffectBurnHit:: @ 81D6A55
- setbyte cEFFECT_CHOOSER, 0x3
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_BURN
+ goto BattleScript_EffectHit
BattleScript_EffectFreezeHit:: @ 81D6A60
- setbyte cEFFECT_CHOOSER, 0x4
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_FREEZE
+ goto BattleScript_EffectHit
BattleScript_EffectParalyzeHit:: @ 81D6A6B
- setbyte cEFFECT_CHOOSER, 0x5
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_PARALYSIS
+ goto BattleScript_EffectHit
BattleScript_EffectExplosion:: @ 81D6A76
attackcanceler
attackstring
ppreduce
faintifabilitynotdamp
- setuserhptozero
- waitstateatk
+ setatkhptozero
+ waitstate
jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, 0x1, BattleScript_81D6A91
- callatk BattleScript_81D6AE7
- jump BattleScript_81D6A93
+ call BattleScript_81D6AE7
+ goto BattleScript_81D6A93
BattleScript_81D6A91:: @ 81D6A91
attackanimation
waitanimation
BattleScript_81D6A93:: @ 81D6A93
- atk25
+ movevaluescleanup
critcalc
- atk5
- atk6
- atk7
+ damagecalc
+ typecalc
+ adjustnormaldamage
accuracycheck BattleScript_81D6ACC, 0x0
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
resultmessage
waitmessage 0x40
- faintpokemon BS_TARGET, 0x0, NULL
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
- jumpwhiletargetvalid BattleScript_81D6A93
- faintpokemon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_TARGET, 0x0, NULL
+ moveendto 0x10
+ jumpifnexttargetvalid BattleScript_81D6A93
+ tryfaintmon BS_ATTACKER, 0x0, NULL
end
BattleScript_81D6ACC:: @ 81D6ACC
- missmessage
+ effectivenesssound
resultmessage
waitmessage 0x40
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
- jumpwhiletargetvalid BattleScript_81D6A93
- faintpokemon BS_ATTACKER, 0x0, NULL
+ moveendto 0x10
+ jumpifnexttargetvalid BattleScript_81D6A93
+ tryfaintmon BS_ATTACKER, 0x0, NULL
end
BattleScript_81D6AE7:: @ 81D6AE7
@@ -437,29 +438,29 @@ BattleScript_81D6AE7:: @ 81D6AE7
BattleScript_EffectDreamEater:: @ 81D6AF6
attackcanceler
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D6B0B
- jumpifstatus BS_TARGET, 0x7, BattleScript_81D6B15
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6B0B
+ jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D6B15
BattleScript_81D6B0B:: @ 81D6B0B
attackstring
ppreduce
waitmessage 0x40
- jump BattleScript_81D69BE
+ goto BattleScript_81D69BE
BattleScript_81D6B15:: @ 81D6B15
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
critcalc
- atk5
- atk6
- atk7
+ damagecalc
+ typecalc
+ adjustnormaldamage
attackanimation
waitanimation
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
@@ -467,41 +468,41 @@ BattleScript_81D6B15:: @ 81D6B15
waitmessage 0x40
negativedamage
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6B53
printstring STRINGID_PKMNDREAMEATEN
waitmessage 0x40
BattleScript_81D6B53:: @ 81D6B53
- faintpokemon BS_TARGET, 0x0, NULL
- jump BattleScript_MoveEnd
+ tryfaintmon BS_TARGET, 0x0, NULL
+ goto BattleScript_MoveEnd
BattleScript_EffectMirrorMove:: @ 81D6B5F
attackcanceler
attackstring
pause 0x40
- jumptolastusedattack
+ trymirrormove
ppreduce
orbyte gMoveResultFlags, 0x20
printstring STRINGID_MIRRORMOVEFAILED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectAttackUp:: @ 81D6B77
- setbyte sSTATCHANGER, 0x11
- jump BattleScript_81D6B9E
+ setstatchanger STAT_ATK, 1, FALSE
+ goto BattleScript_81D6B9E
BattleScript_EffectDefenseUp:: @ 81D6B82
- setbyte sSTATCHANGER, 0x12
- jump BattleScript_81D6B9E
+ setstatchanger STAT_DEF, 1, FALSE
+ goto BattleScript_81D6B9E
BattleScript_EffectSpecialAttackUp:: @ 81D6B8D
- setbyte sSTATCHANGER, 0x14
- jump BattleScript_81D6B9E
+ setstatchanger STAT_SPATK, 1, FALSE
+ goto BattleScript_81D6B9E
BattleScript_EffectEvasionUp:: @ 81D6B98
- setbyte sSTATCHANGER, 0x17
+ setstatchanger STAT_EVASION, 1, FALSE
BattleScript_81D6B9E:: @ 81D6B9E
attackcanceler
@@ -512,14 +513,14 @@ BattleScript_81D6B9F:: @ 81D6B9F
statbuffchange 0x41, BattleScript_81D6BCC
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6BBA
pause 0x20
- jump BattleScript_81D6BC4
+ goto BattleScript_81D6BC4
BattleScript_81D6BBA:: @ 81D6BBA
attackanimation
waitanimation
BattleScript_81D6BBC:: @ 81D6BBC
- atk47
+ setgraphicalstatchangevalues
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
BattleScript_81D6BC4:: @ 81D6BC4
@@ -527,7 +528,7 @@ BattleScript_81D6BC4:: @ 81D6BC4
waitmessage 0x40
BattleScript_81D6BCC:: @ 81D6BCC
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_StatUp:: @ 81D6BD1
playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -536,27 +537,27 @@ BattleScript_StatUp:: @ 81D6BD1
return
BattleScript_EffectAttackDown:: @ 81D6BE1
- setbyte sSTATCHANGER, 0x91
- jump BattleScript_81D6C13
+ setstatchanger STAT_ATK, 1, TRUE
+ goto BattleScript_81D6C13
BattleScript_EffectDefenseDown:: @ 81D6BEC
- setbyte sSTATCHANGER, 0x92
- jump BattleScript_81D6C13
+ setstatchanger STAT_DEF, 1, TRUE
+ goto BattleScript_81D6C13
BattleScript_EffectSpeedDown:: @ 81D6BF7
- setbyte sSTATCHANGER, 0x93
- jump BattleScript_81D6C13
+ setstatchanger STAT_SPEED, 1, TRUE
+ goto BattleScript_81D6C13
BattleScript_EffectAccuracyDown:: @ 81D6C02
- setbyte sSTATCHANGER, 0x96
- jump BattleScript_81D6C13
+ setstatchanger STAT_ACC, 1, TRUE
+ goto BattleScript_81D6C13
BattleScript_EffectEvasionDown:: @ 81D6C0D
- setbyte sSTATCHANGER, 0x97
+ setstatchanger STAT_EVASION, 1, TRUE
BattleScript_81D6C13:: @ 81D6C13
attackcanceler
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D7DF0
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D7DF0
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
@@ -564,12 +565,12 @@ BattleScript_81D6C13:: @ 81D6C13
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6C4B
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_81D6C5D
pause 0x20
- jump BattleScript_81D6C55
+ goto BattleScript_81D6C55
BattleScript_81D6C4B:: @ 81D6C4B
attackanimation
waitanimation
- atk47
+ setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
BattleScript_81D6C55:: @ 81D6C55
@@ -577,7 +578,7 @@ BattleScript_81D6C55:: @ 81D6C55
waitmessage 0x40
BattleScript_81D6C5D:: @ 81D6C5D
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_StatDown:: @ 81D6C62
playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -594,7 +595,7 @@ BattleScript_EffectHaze:: @ 81D6C72
normalisebuffs
printstring STRINGID_STATCHANGESGONE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectBide:: @ 81D6C83
attackcanceler
@@ -604,25 +605,25 @@ BattleScript_EffectBide:: @ 81D6C83
waitanimation
orword gHitMarker, HITMARKER_CHARGING
setbide
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectRampage:: @ 81D6C97
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
attackstring
- jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6CAB
+ jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6CAB
ppreduce
BattleScript_81D6CAB:: @ 81D6CAB
confuseifrepeatingattackends
- jump BattleScript_HitFromCritCalc
+ goto BattleScript_HitFromCritCalc
BattleScript_EffectRoar:: @ 81D6CB1
attackcanceler
attackstring
ppreduce
- jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_81D9408
- jumpifspecialstatusflag BS_TARGET, 0x400, 0x0, BattleScript_81D8F27
+ jumpifability 0x0, ABILITY_SUCTION_CUPS, BattleScript_81D9408
+ jumpifstatus3condition BS_TARGET, 0x400, 0x0, BattleScript_81D8F27
accuracycheck BattleScript_ButItFailed, 0xFFFF
accuracycheck BattleScript_MoveMissedPause, 0x0
forcerandomswitch BattleScript_ButItFailed
@@ -632,41 +633,40 @@ BattleScript_EffectMultiHit:: @ 81D6CD9
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- setloopcounter 0x0
- atk8e
+ setmultihitcounter 0x0
+ initmultihitstring
setbyte sMULTIHIT_EFFECT, 0x0
BattleScript_81D6CEC:: @ 81D6CEC
- jumpiffainted BS_ATTACKER, BattleScript_81D6D82
- jumpiffainted BS_TARGET, BattleScript_81D6D63
- jumpifhalfword CMP_EQUAL, gChosenMove, 0xD6, BattleScript_81D6D0E
- jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D6D63
+ jumpifhasnohp BS_ATTACKER, BattleScript_81D6D82
+ jumpifhasnohp BS_TARGET, BattleScript_81D6D63
+ jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D6D0E
+ jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6D63
BattleScript_81D6D0E:: @ 81D6D0E
- atk25
+ movevaluescleanup
copyarray cEFFECT_CHOOSER, sMULTIHIT_EFFECT, 0x1
critcalc
- atk5
- atk6
+ damagecalc
+ typecalc
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6D60
- atk7
+ adjustnormaldamage
attackanimation
waitanimation
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
printstring STRINGID_EMPTYSTRING3
waitmessage 0x1
addbyte gBattleScripting + 0xC, 0x1
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
+ moveendto 0x10
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x40, BattleScript_81D6D63
- atk27 BattleScript_81D6CEC
- jump BattleScript_81D6D63
+ decrementmultihit BattleScript_81D6CEC
+ goto BattleScript_81D6D63
BattleScript_81D6D60:: @ 81D6D60
pause 0x20
@@ -680,150 +680,148 @@ BattleScript_81D6D63:: @ 81D6D63
waitmessage 0x40
BattleScript_81D6D82:: @ 81D6D82
- seteffectwithchancetarget
- faintpokemon BS_TARGET, 0x0, NULL
- setbyte sMOVEEND_STATE, 0x2
- atk49 0x1, 0x0
- setbyte sMOVEEND_STATE, 0x4
- atk49 0x0, 0x0
+ seteffectwithchance
+ tryfaintmon BS_TARGET, 0x0, NULL
+ moveendcase 0x2
+ moveendfrom 0x4
end
BattleScript_EffectConversion:: @ 81D6D9D
attackcanceler
attackstring
ppreduce
- changetypestoenemyattacktype BattleScript_ButItFailed
+ tryconversiontypechange BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNCHANGEDTYPE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectFlinchHit:: @ 81D6DB2
- setbyte cEFFECT_CHOOSER, 0x8
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_FLINCH
+ goto BattleScript_EffectHit
BattleScript_EffectRestoreHp:: @ 81D6DBD
attackcanceler
attackstring
ppreduce
- setdamageasrestorehalfmaxhp BattleScript_AlreadyAtFullHp, 0x1
+ tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_ATTACKER
attackanimation
waitanimation
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_PKMNREGAINEDHEALTH
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectToxic:: @ 81D6DE0
attackcanceler
attackstring
ppreduce
- jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
- jumpifstatus BS_TARGET, 0x8, BattleScript_81D6E41
- jumpifstatus BS_TARGET, 0x80, BattleScript_81D6E41
- jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ jumpifability 0x0, ABILITY_IMMUNITY, BattleScript_81D6E4F
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41
+ jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41
+ jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed
jumpiftype BS_TARGET, 0x3, BattleScript_81D7E04
jumpiftype BS_TARGET, 0x8, BattleScript_81D7E04
accuracycheck BattleScript_ButItFailed, 0x0
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39
attackanimation
waitanimation
- setbyte cEFFECT_CHOOSER, 0x6
- seteffecttarget
+ setmoveeffect MOVE_EFFECT_TOXIC
+ seteffectprimary
resultmessage
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D6E41:: @ 81D6E41
pause 0x40
printstring STRINGID_PKMNALREADYPOISONED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D6E4F:: @ 81D6E4F
copyarray gEffectBattler, gBattlerTarget, 0x1
setbyte cMULTISTRING_CHOOSER, 0x0
- callatk BattleScript_PSNPrevention
- jump BattleScript_MoveEnd
+ call BattleScript_PSNPrevention
+ goto BattleScript_MoveEnd
BattleScript_EffectPayDay:: @ 81D6E69
- setbyte cEFFECT_CHOOSER, 0xB
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_PAYDAY
+ goto BattleScript_EffectHit
BattleScript_EffectLightScreen:: @ 81D6E74
attackcanceler
attackstring
ppreduce
setlightscreen
- jump BattleScript_81D7172
+ goto BattleScript_81D7172
BattleScript_EffectTriAttack:: @ 81D6E7D
- setbyte cEFFECT_CHOOSER, 0x9
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_TRI_ATTACK
+ goto BattleScript_EffectHit
BattleScript_EffectRest:: @ 81D6E88
attackcanceler
attackstring
ppreduce
- jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D6EC2
- jumpifcannotsleep BattleScript_81D6EB2
- setrest BattleScript_AlreadyAtFullHp
+ jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6EC2
+ jumpifcantmakeasleep BattleScript_81D6EB2
+ trysetrest BattleScript_AlreadyAtFullHp
pause 0x20
printfromtable gRestUsedStringIds
waitmessage 0x40
- atk98 0x1
- waitstateatk
- jump BattleScript_PresentHealTarget
+ updatestatusicon BS_ATTACKER
+ waitstate
+ goto BattleScript_PresentHealTarget
BattleScript_81D6EB2:: @ 81D6EB2
pause 0x40
printfromtable gUproarAwakeStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D6EC2:: @ 81D6EC2
pause 0x20
printstring STRINGID_PKMNALREADYASLEEP2
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectOhko:: @ 81D6ED0
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, 0xFFFF
- atk6
+ typecalc
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6934
- koplussomethings BattleScript_81D6EF1
- atkab
- jump BattleScript_81D6934
+ tryKO BattleScript_81D6EF1
+ trysetdestinybondtohappen
+ goto BattleScript_81D6934
BattleScript_81D6EF1:: @ 81D6EF1
pause 0x40
printfromtable gKOFailedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectRazorWind:: @ 81D6F01
- jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29
+ jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
setbyte sTWOTURN_STRINGID, 0x0
- callatk BattleScript_81D6F58
- jump BattleScript_MoveEnd
+ call BattleScript_81D6F58
+ goto BattleScript_MoveEnd
BattleScript_81D6F29:: @ 81D6F29
attackcanceler
- setbyte cEFFECT_CHOOSER, 0xC
+ setmoveeffect MOVE_EFFECT_CHARGING
setbyte sB_ANIM_TURN, 0x1
- clearstatus BS_ATTACKER
+ clearstatusfromeffect BS_ATTACKER
orword gHitMarker, HITMARKER_NO_PPDEDUCT
- jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0x8F, BattleScript_81D6927
- setbyte cEFFECT_CHOOSER, 0x8
- jump BattleScript_81D6927
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_SKY_ATTACK, BattleScript_81D6927
+ setmoveeffect MOVE_EFFECT_FLINCH
+ goto BattleScript_81D6927
BattleScript_81D6F58:: @ 81D6F58
attackcanceler
@@ -832,8 +830,8 @@ BattleScript_81D6F58:: @ 81D6F58
attackanimation
waitanimation
orword gHitMarker, HITMARKER_CHARGING
- setbyte cEFFECT_CHOOSER, 0x4C
- seteffecttarget
+ setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER
+ seteffectprimary
copyarray cMULTISTRING_CHOOSER, sTWOTURN_STRINGID, 0x1
printfromtable gFirstTurnOfTwoStringIds
waitmessage 0x40
@@ -844,49 +842,49 @@ BattleScript_EffectSuperFang:: @ 81D6F82
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- atk6
+ typecalc
bicbyte gMoveResultFlags, 0x6
- gethalfcurrentenemyhp
- jump BattleScript_81D6934
+ damagetohalftargethp
+ goto BattleScript_81D6934
BattleScript_EffectDragonRage:: @ 81D6F99
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- atk6
+ typecalc
bicbyte gMoveResultFlags, 0x6
setbyte gBattleMoveDamage, 0x28
setbyte gBattleMoveDamage + 0x1, 0x0
setbyte gBattleMoveDamage + 0x2, 0x0
setbyte gBattleMoveDamage + 0x3, 0x0
- atk69
- jump BattleScript_81D6934
+ adjustsetdamage
+ goto BattleScript_81D6934
BattleScript_EffectTrap:: @ 81D6FC8
- jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0xFA, BattleScript_81D6FEE
- jumpifspecialstatusflag BS_TARGET, 0x40000, 0x1, BattleScript_81D6FEE
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_WHIRLPOOL, BattleScript_81D6FEE
+ jumpifstatus3condition BS_TARGET, 0x40000, 0x1, BattleScript_81D6FEE
orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
setbyte sDMG_MULTIPLIER, 0x2
BattleScript_81D6FEE:: @ 81D6FEE
- setbyte cEFFECT_CHOOSER, 0xD
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_WRAP
+ goto BattleScript_EffectHit
BattleScript_EffectDoubleHit:: @ 81D6FF9
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- setloopcounter 0x2
- atk8e
+ setmultihitcounter 0x2
+ initmultihitstring
setbyte sMULTIHIT_EFFECT, 0x0
- jump BattleScript_81D6CEC
+ goto BattleScript_81D6CEC
BattleScript_EffectRecoilIfMiss:: @ 81D7011
attackcanceler
accuracycheck BattleScript_81D701E, 0x0
- jump BattleScript_81D692E
+ goto BattleScript_81D692E
BattleScript_81D701E:: @ 81D701E
attackstring
@@ -897,89 +895,89 @@ BattleScript_81D701E:: @ 81D701E
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x8, BattleScript_MoveEnd
printstring STRINGID_PKMNCRASHED
waitmessage 0x40
- atk5
- atk6
- atk7
+ damagecalc
+ typecalc
+ adjustnormaldamage
manipulatedamage 0x1
bicbyte gMoveResultFlags, 0x1
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
- faintpokemon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_ATTACKER, 0x0, NULL
orbyte gMoveResultFlags, 0x1
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectMist:: @ 81D7062
attackcanceler
attackstring
ppreduce
- setmisteffect
+ setmist
attackanimation
waitanimation
printfromtable gMistUsedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectFocusEnergy:: @ 81D7075
attackcanceler
attackstring
ppreduce
- jumpifsecondarytstatus BS_ATTACKER, 0x100000, BattleScript_ButItFailed
- setincreasedcriticalchance
+ jumpifstatus2 BS_ATTACKER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed
+ setfocusenergy
attackanimation
waitanimation
printfromtable gFocusEnergyUsedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectRecoil:: @ 81D7092
- setbyte cEFFECT_CHOOSER, 0xCE
- jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0xA5, BattleScript_EffectHit
- atk60 0x1B
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_EffectHit
+ incrementgamestat GAME_STAT_USED_STRUGGLE
+ goto BattleScript_EffectHit
BattleScript_EffectConfuse:: @ 81D70AB
attackcanceler
attackstring
ppreduce
- jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
- jumpifsecondarytstatus BS_TARGET, 0x7, BattleScript_81D70EA
+ jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D9460
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D70EA
accuracycheck BattleScript_ButItFailed, 0x0
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39
attackanimation
waitanimation
- setbyte cEFFECT_CHOOSER, 0x7
- seteffecttarget
+ setmoveeffect MOVE_EFFECT_CONFUSION
+ seteffectprimary
resultmessage
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D70EA:: @ 81D70EA
pause 0x20
printstring STRINGID_PKMNALREADYCONFUSED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectAttackUp2:: @ 81D70F8
- setbyte sSTATCHANGER, 0x21
- jump BattleScript_81D6B9E
+ setstatchanger STAT_ATK, 2, FALSE
+ goto BattleScript_81D6B9E
BattleScript_EffectDefenseUp2:: @ 81D7103
- setbyte sSTATCHANGER, 0x22
- jump BattleScript_81D6B9E
+ setstatchanger STAT_DEF, 2, FALSE
+ goto BattleScript_81D6B9E
BattleScript_EffectSpeedUp2:: @ 81D710E
- setbyte sSTATCHANGER, 0x23
- jump BattleScript_81D6B9E
+ setstatchanger STAT_SPEED, 2, FALSE
+ goto BattleScript_81D6B9E
BattleScript_EffectSpecialAttackUp2:: @ 81D7119
- setbyte sSTATCHANGER, 0x24
- jump BattleScript_81D6B9E
+ setstatchanger STAT_SPATK, 2, FALSE
+ goto BattleScript_81D6B9E
BattleScript_EffectSpecialDefenseUp2:: @ 81D7124
- setbyte sSTATCHANGER, 0x25
- jump BattleScript_81D6B9E
+ setstatchanger STAT_SPDEF, 2, FALSE
+ goto BattleScript_81D6B9E
BattleScript_EffectTransform:: @ 81D712F
attackcanceler
@@ -990,23 +988,23 @@ BattleScript_EffectTransform:: @ 81D712F
waitanimation
printfromtable gTransformUsedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectAttackDown2:: @ 81D7142
- setbyte sSTATCHANGER, 0xA1
- jump BattleScript_81D6C13
+ setstatchanger STAT_ATK, 2, TRUE
+ goto BattleScript_81D6C13
BattleScript_EffectDefenseDown2:: @ 81D714D
- setbyte sSTATCHANGER, 0xA2
- jump BattleScript_81D6C13
+ setstatchanger STAT_DEF, 2, TRUE
+ goto BattleScript_81D6C13
BattleScript_EffectSpeedDown2:: @ 81D7158
- setbyte sSTATCHANGER, 0xA3
- jump BattleScript_81D6C13
+ setstatchanger STAT_SPEED, 2, TRUE
+ goto BattleScript_81D6C13
BattleScript_EffectSpecialDefenseDown2:: @ 81D7163
- setbyte sSTATCHANGER, 0xA5
- jump BattleScript_81D6C13
+ setstatchanger STAT_SPDEF, 2, TRUE
+ goto BattleScript_81D6C13
BattleScript_EffectReflect:: @ 81D716E
attackcanceler
@@ -1019,95 +1017,95 @@ BattleScript_81D7172:: @ 81D7172
waitanimation
printfromtable gReflectLightScreenSafeguardStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectPoison:: @ 81D7181
attackcanceler
attackstring
ppreduce
- jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
- jumpifstatus BS_TARGET, 0x8, BattleScript_81D6E41
- jumpifstatus BS_TARGET, 0x80, BattleScript_81D6E41
+ jumpifability 0x0, ABILITY_IMMUNITY, BattleScript_81D6E4F
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41
+ jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41
jumpiftype BS_TARGET, 0x3, BattleScript_81D7E04
jumpiftype BS_TARGET, 0x8, BattleScript_81D7E04
- jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, 0x0
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39
attackanimation
waitanimation
- setbyte cEFFECT_CHOOSER, 0x2
- seteffecttarget
+ setmoveeffect MOVE_EFFECT_POISON
+ seteffectprimary
resultmessage
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectParalyze:: @ 81D71E2
attackcanceler
attackstring
ppreduce
- jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_81D7245
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
- atk6
+ jumpifability 0x0, ABILITY_LIMBER, BattleScript_81D7245
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ typecalc
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_ButItFailed
- jumpifstatus BS_TARGET, 0x40, BattleScript_81D7237
- jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D7237
+ jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, 0x0
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39
attackanimation
waitanimation
- setbyte cEFFECT_CHOOSER, 0x5
- seteffecttarget
+ setmoveeffect MOVE_EFFECT_PARALYSIS
+ seteffectprimary
resultmessage
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D7237:: @ 81D7237
pause 0x20
printstring STRINGID_PKMNISALREADYPARALYZED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D7245:: @ 81D7245
copyarray gEffectBattler, gBattlerTarget, 0x1
setbyte cMULTISTRING_CHOOSER, 0x0
- callatk BattleScript_PRLZPrevention
- jump BattleScript_MoveEnd
+ call BattleScript_PRLZPrevention
+ goto BattleScript_MoveEnd
BattleScript_EffectAttackDownHit:: @ 81D725F
- setbyte cEFFECT_CHOOSER, 0x16
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_ATK_MINUS_1
+ goto BattleScript_EffectHit
BattleScript_EffectDefenseDownHit:: @ 81D726A
- setbyte cEFFECT_CHOOSER, 0x17
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_DEF_MINUS_1
+ goto BattleScript_EffectHit
BattleScript_EffectSpeedDownHit:: @ 81D7275
- setbyte cEFFECT_CHOOSER, 0x18
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_SPD_MINUS_1
+ goto BattleScript_EffectHit
BattleScript_EffectSpecialAttackDownHit:: @ 81D7280
- setbyte cEFFECT_CHOOSER, 0x19
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_SP_ATK_MINUS_1
+ goto BattleScript_EffectHit
BattleScript_EffectSpecialDefenseDownHit:: @ 81D728B
- setbyte cEFFECT_CHOOSER, 0x1A
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_SP_DEF_MINUS_1
+ goto BattleScript_EffectHit
BattleScript_EffectAccuracyDownHit:: @ 81D7296
- setbyte cEFFECT_CHOOSER, 0x1B
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_ACC_MINUS_1
+ goto BattleScript_EffectHit
BattleScript_EffectSkyAttack:: @ 81D72A1
- jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29
+ jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
setbyte sTWOTURN_STRINGID, 0x3
- callatk BattleScript_81D6F58
- jump BattleScript_MoveEnd
+ call BattleScript_81D6F58
+ goto BattleScript_MoveEnd
BattleScript_EffectConfuseHit:: @ 81D72C9
- setbyte cEFFECT_CHOOSER, 0x7
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_CONFUSION
+ goto BattleScript_EffectHit
BattleScript_EffectTwineedle:: @ 81D72D4
attackcanceler
@@ -1115,74 +1113,74 @@ BattleScript_EffectTwineedle:: @ 81D72D4
setbyte sMULTIHIT_EFFECT, 0x2
attackstring
ppreduce
- setloopcounter 0x2
- atk8e
- jump BattleScript_81D6CEC
+ setmultihitcounter 0x2
+ initmultihitstring
+ goto BattleScript_81D6CEC
BattleScript_EffectSubstitute:: @ 81D72EC
attackcanceler
ppreduce
attackstring
- waitstateatk
- jumpifsecondarytstatus BS_ATTACKER, 0x1000000, BattleScript_81D7321
- setsubstituteeffect
+ waitstate
+ jumpifstatus2 BS_ATTACKER, STATUS2_SUBSTITUTE, BattleScript_81D7321
+ setsubstitute
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D730E
pause 0x20
- jump BattleScript_81D7314
+ goto BattleScript_81D7314
BattleScript_81D730E:: @ 81D730E
attackanimation
waitanimation
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
BattleScript_81D7314:: @ 81D7314
printfromtable gSubsituteUsedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D7321:: @ 81D7321
pause 0x20
printstring STRINGID_PKMNHASSUBSTITUTE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectRecharge:: @ 81D732F
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
- setbyte cEFFECT_CHOOSER, 0xDD
- jump BattleScript_81D692E
+ setmoveeffect MOVE_EFFECT_RECHARGE | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
+ goto BattleScript_81D692E
BattleScript_MoveUsedMustRecharge:: @ 81D7342
printstring STRINGID_PKMNMUSTRECHARGE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectRage:: @ 81D734D
attackcanceler
accuracycheck BattleScript_81D7367, 0x0
- setbyte cEFFECT_CHOOSER, 0x1E
- seteffecttarget
- setbyte cEFFECT_CHOOSER, 0x0
- jump BattleScript_81D692E
+ setmoveeffect MOVE_EFFECT_RAGE
+ seteffectprimary
+ setmoveeffect MOVE_EFFECT_NOTHING_0
+ goto BattleScript_81D692E
BattleScript_81D7367:: @ 81D7367
- setbyte cEFFECT_CHOOSER, 0x1E
- clearstatus BS_ATTACKER
- jump BattleScript_81D695E
+ setmoveeffect MOVE_EFFECT_RAGE
+ clearstatusfromeffect BS_ATTACKER
+ goto BattleScript_81D695E
BattleScript_EffectMimic:: @ 81D7374
attackcanceler
attackstring
ppreduce
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, 0xFFFF
- copyattack BattleScript_ButItFailed
+ mimicattackcopy BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNLEARNEDMOVE2
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectMetronome:: @ 81D739A
attackcanceler
@@ -1192,23 +1190,23 @@ BattleScript_EffectMetronome:: @ 81D739A
waitanimation
setbyte sB_ANIM_TURN, 0x0
setbyte sB_ANIM_TARGETS_HIT, 0x0
- metronomeeffect
+ metronome
BattleScript_EffectLeechSeed:: @ 81D73AE
attackcanceler
attackstring
pause 0x20
ppreduce
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
accuracycheck BattleScript_81D73C5, 0x0
BattleScript_81D73C5:: @ 81D73C5
- setleechseed
+ setseeded
attackanimation
waitanimation
printfromtable gLeechSeedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSplash:: @ 81D73D5
attackcanceler
@@ -1216,10 +1214,10 @@ BattleScript_EffectSplash:: @ 81D73D5
ppreduce
attackanimation
waitanimation
- atk60 0x1A
+ incrementgamestat GAME_STAT_USED_SPLASH
printstring STRINGID_BUTNOTHINGHAPPENED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectDisable:: @ 81D73E7
attackcanceler
@@ -1231,29 +1229,29 @@ BattleScript_EffectDisable:: @ 81D73E7
waitanimation
printstring STRINGID_PKMNMOVEWASDISABLED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectLevelDamage:: @ 81D7403
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- atk6
+ typecalc
bicbyte gMoveResultFlags, 0x6
- nightshadedamageeffect
- atk69
- jump BattleScript_81D6934
+ dmgtolevel
+ adjustsetdamage
+ goto BattleScript_81D6934
BattleScript_EffectPsywave:: @ 81D741B
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- atk6
+ typecalc
bicbyte gMoveResultFlags, 0x6
psywavedamageeffect
- atk69
- jump BattleScript_81D6934
+ adjustsetdamage
+ goto BattleScript_81D6934
BattleScript_EffectCounter:: @ 81D7433
attackcanceler
@@ -1261,49 +1259,49 @@ BattleScript_EffectCounter:: @ 81D7433
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- damagecalc2
- atk69
- jump BattleScript_81D6934
+ typecalc2
+ adjustsetdamage
+ goto BattleScript_81D6934
BattleScript_EffectEncore:: @ 81D7449
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- setencore BattleScript_ButItFailed
+ trysetencore BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNGOTENCORE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectPainSplit:: @ 81D7465
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, 0xFFFF
- painsplitdamagecalculator BattleScript_ButItFailed
+ painsplitdmgcalc BattleScript_ButItFailed
attackanimation
waitanimation
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
copyarray gBattleMoveDamage, gBattleScripting, 0x4
- graphicalhpupdate BS_TARGET
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
printstring STRINGID_SHAREDPAIN
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSnore:: @ 81D749C
attackcanceler
- jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D74AE
+ jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D74AE
attackstring
ppreduce
- jump BattleScript_ButItFailed
+ goto BattleScript_ButItFailed
BattleScript_81D74AE:: @ 81D74AE
- jumpifhalfword CMP_EQUAL, gChosenMove, 0xD6, BattleScript_81D74C2
+ jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D74C2
printstring STRINGID_PKMNFASTASLEEP
waitmessage 0x40
statusanimation BS_ATTACKER
@@ -1312,8 +1310,8 @@ BattleScript_81D74C2:: @ 81D74C2
attackstring
ppreduce
accuracycheck BattleScript_MoveMissedPause, 0x0
- setbyte cEFFECT_CHOOSER, 0x8
- jump BattleScript_HitFromCritCalc
+ setmoveeffect MOVE_EFFECT_FLINCH
+ goto BattleScript_HitFromCritCalc
BattleScript_EffectConversion2:: @ 81D74D6
attackcanceler
@@ -1324,39 +1322,39 @@ BattleScript_EffectConversion2:: @ 81D74D6
waitanimation
printstring STRINGID_PKMNCHANGEDTYPE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectLockOn:: @ 81D74EB
attackcanceler
attackstring
ppreduce
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, 0x0
setalwayshitflag
attackanimation
waitanimation
printstring STRINGID_PKMNTOOKAIM
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSketch:: @ 81D750D
attackcanceler
attackstring
ppreduce
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
copymovepermanently BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNSKETCHEDMOVE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSleepTalk:: @ 81D752C
attackcanceler
- jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D753E
+ jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D753E
attackstring
ppreduce
- jump BattleScript_ButItFailed
+ goto BattleScript_ButItFailed
BattleScript_81D753E:: @ 81D753E
printstring STRINGID_PKMNFASTASLEEP
@@ -1365,55 +1363,55 @@ BattleScript_81D753E:: @ 81D753E
attackstring
ppreduce
orword gHitMarker, HITMARKER_NO_PPDEDUCT
- selectrandommovefromusermoves BattleScript_81D755E
+ trychoosesleeptalkmove BattleScript_81D755E
pause 0x40
- jump BattleScript_ButItFailed
+ goto BattleScript_ButItFailed
BattleScript_81D755E:: @ 81D755E
attackanimation
waitanimation
setbyte sB_ANIM_TURN, 0x0
setbyte sB_ANIM_TARGETS_HIT, 0x0
- jumptoattack BS_ATTACKER
+ jumptocalledmove 0x1
BattleScript_EffectDestinyBond:: @ 81D756E
attackcanceler
attackstring
ppreduce
- destinybondeffect
+ setdestinybond
attackanimation
waitanimation
printstring STRINGID_PKMNTRYINGTOTAKEFOE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectFlail:: @ 81D757F
remaininghptopower
- jump BattleScript_EffectHit
+ goto BattleScript_EffectHit
BattleScript_EffectSpite:: @ 81D7585
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, 0x0
- reducepprandom BattleScript_ButItFailed
+ tryspiteppreduce BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNREDUCEDPP
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectHealBell:: @ 81D75A1
attackcanceler
attackstring
ppreduce
- clearstatusifnotsoundproofed
- waitstateatk
+ healpartystatus
+ waitstate
attackanimation
waitanimation
printfromtable gPartyStatusHealStringIds
waitmessage 0x40
- jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0xD7, BattleScript_81D75DE
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_HEAL_BELL, BattleScript_81D75DE
jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D75CD
printstring STRINGID_PKMNSXBLOCKSY
waitmessage 0x40
@@ -1424,9 +1422,9 @@ BattleScript_81D75CD:: @ 81D75CD
waitmessage 0x40
BattleScript_81D75DE:: @ 81D75DE
- atk98 0x4
- waitstateatk
- jump BattleScript_MoveEnd
+ updatestatusicon BS_ATTACKER_WITH_PARTNER
+ waitstate
+ goto BattleScript_MoveEnd
BattleScript_EffectTripleKick:: @ 81D75E6
attackcanceler
@@ -1434,42 +1432,41 @@ BattleScript_EffectTripleKick:: @ 81D75E6
ppreduce
setbyte sTRIPLE_KICK_POWER, 0x0
setbyte gBattleScripting + 0x13, 0x0
- atk8e
- atk26 0x3
+ initmultihitstring
+ setmultihit 0x3
BattleScript_81D75F8:: @ 81D75F8
- jumpiffainted BS_ATTACKER, BattleScript_81D76B7
- jumpiffainted BS_TARGET, BattleScript_81D7679
- jumpifhalfword CMP_EQUAL, gChosenMove, 0xD6, BattleScript_81D761A
- jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D7679
+ jumpifhasnohp BS_ATTACKER, BattleScript_81D76B7
+ jumpifhasnohp BS_TARGET, BattleScript_81D7679
+ jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D761A
+ jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D7679
BattleScript_81D761A:: @ 81D761A
accuracycheck BattleScript_81D7679, 0x0
- atk25
+ movevaluescleanup
addbyte sTRIPLE_KICK_POWER, 0xA
addbyte gBattleScripting + 0xC, 0x1
copyarray gDynamicBasePower, sTRIPLE_KICK_POWER, 0x2
critcalc
- atk5
- atk6
- atk7
+ damagecalc
+ typecalc
+ adjustnormaldamage
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D7679
attackanimation
waitanimation
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
printstring STRINGID_EMPTYSTRING3
waitmessage 0x1
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
+ moveendto 0x10
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x40, BattleScript_81D768D
- atk27 BattleScript_81D75F8
- jump BattleScript_81D768D
+ decrementmultihit BattleScript_81D75F8
+ goto BattleScript_81D768D
BattleScript_81D7679:: @ 81D7679
pause 0x20
@@ -1486,132 +1483,131 @@ BattleScript_81D768D:: @ 81D768D
waitmessage 0x40
BattleScript_81D76B7:: @ 81D76B7
- seteffectwithchancetarget
- faintpokemon BS_TARGET, 0x0, NULL
- setbyte sMOVEEND_STATE, 0xE
- atk49 0x0, 0x0
+ seteffectwithchance
+ tryfaintmon BS_TARGET, 0x0, NULL
+ moveendfrom 0xE
end
BattleScript_EffectThief:: @ 81D76C9
- setbyte cEFFECT_CHOOSER, 0x1F
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_STEAL_ITEM
+ goto BattleScript_EffectHit
BattleScript_EffectMeanLook:: @ 81D76D4
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, 0xFFFE
- jumpifsecondarytstatus BS_TARGET, 0x4000000, BattleScript_ButItFailed
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
attackanimation
waitanimation
- setbyte cEFFECT_CHOOSER, 0x20
- seteffecttarget
+ setmoveeffect MOVE_EFFECT_PREVENT_ESCAPE
+ seteffectprimary
printstring STRINGID_TARGETCANTESCAPENOW
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectNightmare:: @ 81D7706
attackcanceler
attackstring
ppreduce
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
- jumpifsecondarytstatus BS_TARGET, Start, BattleScript_ButItFailed
- jumpifstatus BS_TARGET, 0x7, BattleScript_81D772C
- jump BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D772C
+ goto BattleScript_ButItFailed
BattleScript_81D772C:: @ 81D772C
attackanimation
waitanimation
- setbyte cEFFECT_CHOOSER, 0x21
- seteffecttarget
+ setmoveeffect MOVE_EFFECT_NIGHTMARE
+ seteffectprimary
printstring STRINGID_PKMNFELLINTONIGHTMARE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectMinimize:: @ 81D7740
attackcanceler
setminimize
- setbyte sSTATCHANGER, 0x17
- jump BattleScript_81D6B9F
+ setstatchanger STAT_EVASION, 1, FALSE
+ goto BattleScript_81D6B9F
BattleScript_EffectCurse:: @ 81D774D
jumpiftype2 BS_ATTACKER, 0x7, BattleScript_81D77C5
attackcanceler
attackstring
ppreduce
- jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0x0, BattleScript_81D7772
- jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 0xC, BattleScript_81D7772
- jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_ButItFailed
+ jumpifstat BS_ATTACKER, CMP_GREATER_THAN, 0x3, 0x0, BattleScript_81D7772
+ jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, 0x1, 0xC, BattleScript_81D7772
+ jumpifstat BS_ATTACKER, CMP_EQUAL, 0x2, 0xC, BattleScript_ButItFailed
BattleScript_81D7772:: @ 81D7772
copyarray gBattlerTarget, gBattlerAttacker, 0x1
setbyte sB_ANIM_TURN, 0x1
attackanimation
waitanimation
- setbyte sSTATCHANGER, 0x93
+ setstatchanger STAT_SPEED, 1, TRUE
statbuffchange 0x41, BattleScript_81D7798
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_81D7798:: @ 81D7798
- setbyte sSTATCHANGER, 0x11
+ setstatchanger STAT_ATK, 1, FALSE
statbuffchange 0x41, BattleScript_81D77AC
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D77AC:: @ 81D77AC
- setbyte sSTATCHANGER, 0x12
+ setstatchanger STAT_DEF, 1, FALSE
statbuffchange 0x41, BattleScript_81D77C0
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D77C0:: @ 81D77C0
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D77C5:: @ 81D77C5
jumpifarraynotequal gBattlerAttacker, gBattlerTarget, 0x1, BattleScript_81D77D6
- atk76 0x1, BS_FAINTED
+ various BS_ATTACKER, 0x3
BattleScript_81D77D6:: @ 81D77D6
attackcanceler
attackstring
ppreduce
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, 0xFFFF
cursetarget BattleScript_ButItFailed
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
setbyte sB_ANIM_TURN, 0x0
attackanimation
waitanimation
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_PKMNLAIDCURSE
waitmessage 0x40
- faintpokemon BS_ATTACKER, 0x0, NULL
- jump BattleScript_MoveEnd
+ tryfaintmon BS_ATTACKER, 0x0, NULL
+ goto BattleScript_MoveEnd
BattleScript_EffectProtect:: @ 81D7816
attackcanceler
attackstring
ppreduce
- setprotect
+ setprotectlike
attackanimation
waitanimation
printfromtable gProtectLikeUsedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSpikes:: @ 81D7829
attackcanceler
- setspikes BattleScript_81D7DF0
+ trysetspikes BattleScript_81D7DF0
attackstring
ppreduce
attackanimation
waitanimation
printstring STRINGID_SPIKESSCATTERED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectForesight:: @ 81D783E
attackcanceler
@@ -1623,13 +1619,13 @@ BattleScript_EffectForesight:: @ 81D783E
waitanimation
printstring STRINGID_PKMNIDENTIFIED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectPerishSong:: @ 81D7856
attackcanceler
attackstring
ppreduce
- setperishsong BattleScript_ButItFailed
+ trysetperishsong BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_FAINTINTHREE
@@ -1637,62 +1633,62 @@ BattleScript_EffectPerishSong:: @ 81D7856
setbyte sBATTLER, 0x0
BattleScript_81D786C:: @ 81D786C
- jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_81D788C
+ jumpifability 0xA, ABILITY_SOUNDPROOF, BattleScript_81D788C
BattleScript_81D7873:: @ 81D7873
addbyte sBATTLER, 0x1
jumpifarraynotequal sBATTLER, gBattlersCount, 0x1, BattleScript_81D786C
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D788C:: @ 81D788C
printstring STRINGID_PKMNSXBLOCKSY2
waitmessage 0x40
- jump BattleScript_81D7873
+ goto BattleScript_81D7873
BattleScript_EffectSandstorm:: @ 81D7897
attackcanceler
attackstring
ppreduce
setsandstorm
- jump BattleScript_81D7A14
+ goto BattleScript_81D7A14
BattleScript_EffectRollout:: @ 81D78A0
attackcanceler
attackstring
- jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D78AD
+ jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D78AD
ppreduce
BattleScript_81D78AD:: @ 81D78AD
accuracycheck BattleScript_81D78B4, 0x0
BattleScript_81D78B4:: @ 81D78B4
- damagecalc2
+ typecalc2
rolloutdamagecalculation
- jump BattleScript_HitFromCritCalc
+ goto BattleScript_HitFromCritCalc
BattleScript_EffectSwagger:: @ 81D78BB
attackcanceler
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D6958
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- jumpifconfusedandattackmaxed BS_ATTACKER, BattleScript_ButItFailed
+ jumpifconfusedandstatmaxed 0x1, BattleScript_ButItFailed
attackanimation
waitanimation
- setbyte sSTATCHANGER, 0x21
+ setstatchanger STAT_ATK, 2, FALSE
statbuffchange 0x1, BattleScript_81D78FE
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D78FE
- atk47
+ setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D78FE:: @ 81D78FE
- jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
- setbyte cEFFECT_CHOOSER, 0x7
- seteffecttarget
- jump BattleScript_MoveEnd
+ jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D9460
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39
+ setmoveeffect MOVE_EFFECT_CONFUSION
+ seteffectprimary
+ goto BattleScript_MoveEnd
BattleScript_EffectFuryCutter:: @ 81D7919
attackcanceler
@@ -1701,38 +1697,38 @@ BattleScript_EffectFuryCutter:: @ 81D7919
accuracycheck BattleScript_81D7923, 0x0
BattleScript_81D7923:: @ 81D7923
- furycutterdamagecalculation
+ furycuttercalc
critcalc
- atk5
- atk6
+ damagecalc
+ typecalc
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D7923
- atk7
- jump BattleScript_81D6934
+ adjustnormaldamage
+ goto BattleScript_81D6934
BattleScript_EffectAttract:: @ 81D7938
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, 0x0
- tryinfatuatetarget BattleScript_ButItFailed
+ tryinfatuating BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNFELLINLOVE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectReturn:: @ 81D7954
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
happinesstodamagecalculation
- jump BattleScript_81D692E
+ goto BattleScript_81D692E
BattleScript_EffectPresent:: @ 81D7962
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- atk6
+ typecalc
presentdamagecalculation
BattleScript_EffectSafeguard:: @ 81D796E
@@ -1740,73 +1736,73 @@ BattleScript_EffectSafeguard:: @ 81D796E
attackstring
ppreduce
setsafeguard
- jump BattleScript_81D7172
+ goto BattleScript_81D7172
BattleScript_EffectThawHit:: @ 81D7977
- setbyte cEFFECT_CHOOSER, 0x3
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_BURN
+ goto BattleScript_EffectHit
BattleScript_EffectMagnitude:: @ 81D7982
attackcanceler
attackstring
ppreduce
- selectnexttarget
+ selectfirstvalidtarget
magnitudedamagecalculation
pause 0x20
printstring STRINGID_MAGNITUDESTRENGTH
waitmessage 0x40
- jump BattleScript_81D7B17
+ goto BattleScript_81D7B17
BattleScript_EffectBatonPass:: @ 81D7995
attackcanceler
attackstring
ppreduce
- jumpifcannotswitch BS_ATTACKER | 0x80, BattleScript_ButItFailed
+ jumpifcantswitch BS_ATTACKER | 0x80, BattleScript_ButItFailed
attackanimation
waitanimation
openpartyscreen 0x1, BattleScript_ButItFailed
- atke2 BS_ATTACKER
- waitstateatk
- atk51 BS_ATTACKER, 0x2
- atk58 BS_ATTACKER
- switch1 BS_ATTACKER
- switch2 BS_ATTACKER
- atk73 BS_ATTACKER
+ switchoutabilities BS_ATTACKER
+ waitstate
+ switchhandleorder BS_ATTACKER, 0x2
+ returntoball BS_ATTACKER
+ getswitchedmondata BS_ATTACKER
+ switchindataupdate BS_ATTACKER
+ hpthresholds BS_ATTACKER
printstring STRINGID_SWITCHINMON
- switch3 BS_ATTACKER, 0x1
- waitstateatk
- atk52 BS_ATTACKER
- jump BattleScript_MoveEnd
+ switchinanim BS_ATTACKER, 0x1
+ waitstate
+ switchineffects BS_ATTACKER
+ goto BattleScript_MoveEnd
BattleScript_EffectRapidSpin:: @ 81D79C2
- setbyte cEFFECT_CHOOSER, 0xE3
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_RAPIDSPIN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
+ goto BattleScript_EffectHit
BattleScript_EffectSonicboom:: @ 81D79CD
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- atk6
+ typecalc
bicbyte gMoveResultFlags, 0x6
setbyte gBattleMoveDamage, 0x14
setbyte gBattleMoveDamage + 0x1, 0x0
setbyte gBattleMoveDamage + 0x2, 0x0
setbyte gBattleMoveDamage + 0x3, 0x0
- atk69
- jump BattleScript_81D6934
+ adjustsetdamage
+ goto BattleScript_81D6934
BattleScript_EffectMorningSun:: @ 81D79FC
attackcanceler
attackstring
ppreduce
recoverbasedonsunlight BattleScript_AlreadyAtFullHp
- jump BattleScript_PresentHealTarget
+ goto BattleScript_PresentHealTarget
BattleScript_EffectHiddenPower:: @ 81D7A09
attackcanceler
- hiddenpowerdamagecalculation
- jump BattleScript_81D6927
+ hiddenpowercalc
+ goto BattleScript_81D6927
BattleScript_EffectRainDance:: @ 81D7A10
attackcanceler
@@ -1819,27 +1815,27 @@ BattleScript_81D7A14:: @ 81D7A14
waitanimation
printfromtable gMoveWeatherChangeStringIds
waitmessage 0x40
- callatk BattleScript_81D92DC
- jump BattleScript_MoveEnd
+ call BattleScript_81D92DC
+ goto BattleScript_MoveEnd
BattleScript_EffectSunnyDay:: @ 81D7A28
attackcanceler
attackstring
ppreduce
setsunny
- jump BattleScript_81D7A14
+ goto BattleScript_81D7A14
BattleScript_EffectDefenseUpHit:: @ 81D7A31
- setbyte cEFFECT_CHOOSER, 0x50
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_DEF_PLUS_1 | MOVE_EFFECT_AFFECTS_USER
+ goto BattleScript_EffectHit
BattleScript_EffectAttackUpHit:: @ 81D7A3C
- setbyte cEFFECT_CHOOSER, 0x4F
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER
+ goto BattleScript_EffectHit
BattleScript_EffectAllStatsUpHit:: @ 81D7A47
- setbyte cEFFECT_CHOOSER, 0x62
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_ALL_STATS_UP | MOVE_EFFECT_AFFECTS_USER
+ goto BattleScript_EffectHit
BattleScript_EffectBellyDrum:: @ 81D7A52
attackcanceler
@@ -1849,11 +1845,11 @@ BattleScript_EffectBellyDrum:: @ 81D7A52
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
attackanimation
waitanimation
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_PKMNCUTHPMAXEDATTACK
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectPsychUp:: @ 81D7A74
attackcanceler
@@ -1864,7 +1860,7 @@ BattleScript_EffectPsychUp:: @ 81D7A74
waitanimation
printstring STRINGID_PKMNCOPIEDSTATCHANGES
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectMirrorCoat:: @ 81D7A89
attackcanceler
@@ -1872,47 +1868,47 @@ BattleScript_EffectMirrorCoat:: @ 81D7A89
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- damagecalc2
- atk69
- jump BattleScript_81D6934
+ typecalc2
+ adjustsetdamage
+ goto BattleScript_81D6934
BattleScript_EffectSkullBash:: @ 81D7A9F
- jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29
+ jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
setbyte sTWOTURN_STRINGID, 0x2
- callatk BattleScript_81D6F58
- setbyte sSTATCHANGER, 0x12
+ call BattleScript_81D6F58
+ setstatchanger STAT_DEF, 1, FALSE
statbuffchange 0x41, BattleScript_81D7AE9
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D7AE9
- atk47
+ setgraphicalstatchangevalues
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D7AE9:: @ 81D7AE9
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectTwister:: @ 81D7AEE
- jumpifspecialstatusflag BS_TARGET, 0x40, 0x1, BattleScript_81D7B08
+ jumpifstatus3condition BS_TARGET, 0x40, 0x1, BattleScript_81D7B08
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
setbyte sDMG_MULTIPLIER, 0x2
BattleScript_81D7B08:: @ 81D7B08
- setbyte cEFFECT_CHOOSER, 0x8
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_FLINCH
+ goto BattleScript_EffectHit
BattleScript_EffectEarthquake:: @ 81D7B13
attackcanceler
attackstring
ppreduce
- selectnexttarget
+ selectfirstvalidtarget
BattleScript_81D7B17:: @ 81D7B17
- atk25
- jumpifspecialstatusflag BS_TARGET, 0x80, 0x1, BattleScript_81D7B37
+ movevaluescleanup
+ jumpifstatus3condition BS_TARGET, 0x80, 0x1, BattleScript_81D7B37
orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
setbyte sDMG_MULTIPLIER, 0x2
- jump BattleScript_81D7B46
+ goto BattleScript_81D7B46
BattleScript_81D7B37:: @ 81D7B37
bicword gHitMarker, 0x20000
@@ -1921,15 +1917,15 @@ BattleScript_81D7B37:: @ 81D7B37
BattleScript_81D7B46:: @ 81D7B46
accuracycheck BattleScript_81D7B7F, 0x0
critcalc
- atk5
- atk6
- atk7
+ damagecalc
+ typecalc
+ adjustnormaldamage
attackanimation
waitanimation
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
@@ -1937,44 +1933,42 @@ BattleScript_81D7B46:: @ 81D7B46
waitmessage 0x40
printstring STRINGID_EMPTYSTRING3
waitmessage 0x1
- faintpokemon BS_TARGET, 0x0, NULL
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
- jumpwhiletargetvalid BattleScript_81D7B17
+ tryfaintmon BS_TARGET, 0x0, NULL
+ moveendto 0x10
+ jumpifnexttargetvalid BattleScript_81D7B17
end
BattleScript_81D7B7F:: @ 81D7B7F
pause 0x20
- atk6
- missmessage
+ typecalc
+ effectivenesssound
resultmessage
waitmessage 0x40
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
- jumpwhiletargetvalid BattleScript_81D7B17
+ moveendto 0x10
+ jumpifnexttargetvalid BattleScript_81D7B17
end
BattleScript_EffectFutureSight:: @ 81D7B97
attackcanceler
attackstring
ppreduce
- setfutureattack BattleScript_ButItFailed
+ trysetfutureattack BattleScript_ButItFailed
attackanimation
waitanimation
printfromtable gFutureMoveUsedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectGust:: @ 81D7BAE
- jumpifspecialstatusflag BS_TARGET, 0x40, 0x1, BattleScript_EffectHit
+ jumpifstatus3condition BS_TARGET, 0x40, 0x1, BattleScript_EffectHit
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
setbyte sDMG_MULTIPLIER, 0x2
- jump BattleScript_EffectHit
+ goto BattleScript_EffectHit
BattleScript_EffectFlinchMinimizeHit:: @ 81D7BCD
- jumpifspecialstatusflag BS_TARGET, 0x100, 0x1, BattleScript_81D7B08
+ jumpifstatus3condition BS_TARGET, 0x100, 0x1, BattleScript_81D7B08
setbyte sDMG_MULTIPLIER, 0x2
- jump BattleScript_81D7B08
+ goto BattleScript_81D7B08
BattleScript_EffectSolarbeam:: @ 81D7BE3
jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_81D7BFB
@@ -1982,30 +1976,30 @@ BattleScript_EffectSolarbeam:: @ 81D7BE3
jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 0x60, BattleScript_81D7C23
BattleScript_81D7BFB:: @ 81D7BFB
- jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29
+ jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29
setbyte sTWOTURN_STRINGID, 0x1
- callatk BattleScript_81D6F58
- jump BattleScript_MoveEnd
+ call BattleScript_81D6F58
+ goto BattleScript_MoveEnd
BattleScript_81D7C23:: @ 81D7C23
orword gHitMarker, HITMARKER_CHARGING
- setbyte cEFFECT_CHOOSER, 0x4C
- seteffecttarget
+ setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER
+ seteffectprimary
ppreduce
- jump BattleScript_81D6F29
+ goto BattleScript_81D6F29
BattleScript_EffectThunder:: @ 81D7C39
- setbyte cEFFECT_CHOOSER, 0x5
+ setmoveeffect MOVE_EFFECT_PARALYSIS
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
- jump BattleScript_EffectHit
+ goto BattleScript_EffectHit
BattleScript_EffectTeleport:: @ 81D7C4D
attackcanceler
attackstring
ppreduce
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
- atk76 0x1, BS_EFFECT_BATTLER
+ various BS_ATTACKER, 0x2
jumpifbyte CMP_EQUAL, gBattleCommunication, 0x1, BattleScript_ButItFailed
jumpifbyte CMP_EQUAL, gBattleCommunication, 0x2, BattleScript_81D8255
attackanimation
@@ -2013,7 +2007,7 @@ BattleScript_EffectTeleport:: @ 81D7C4D
printstring STRINGID_PKMNFLEDFROMBATTLE
waitmessage 0x40
setbyte gBattleOutcome, 0x5
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectBeatUp:: @ 81D7C8A
attackcanceler
@@ -2024,118 +2018,117 @@ BattleScript_EffectBeatUp:: @ 81D7C8A
setbyte gBattleCommunication, 0x0
BattleScript_81D7C9D:: @ 81D7C9D
- atk25
- beatupcalculation BattleScript_81D7CE0, BattleScript_ButItFailed
+ movevaluescleanup
+ trydobeatup BattleScript_81D7CE0, BattleScript_ButItFailed
printstring STRINGID_PKMNATTACK
critcalc
jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 0x2, BattleScript_81D7CB8
manipulatedamage 0x2
BattleScript_81D7CB8:: @ 81D7CB8
- atk7
+ adjustnormaldamage
attackanimation
waitanimation
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
resultmessage
waitmessage 0x40
- faintpokemon BS_TARGET, 0x0, NULL
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
- jump BattleScript_81D7C9D
+ tryfaintmon BS_TARGET, 0x0, NULL
+ moveendto 0x10
+ goto BattleScript_81D7C9D
BattleScript_81D7CE0:: @ 81D7CE0
end
BattleScript_EffectSemiInvulnerable:: @ 81D7CE1
- jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D7D4F
+ jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7D4F
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D7D4F
- jumpifhalfword CMP_EQUAL, gCurrentMove, 0x13, BattleScript_81D7D3E
- jumpifhalfword CMP_EQUAL, gCurrentMove, 0x123, BattleScript_81D7D33
- jumpifhalfword CMP_EQUAL, gCurrentMove, 0x154, BattleScript_81D7D28
+ jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_FLY, BattleScript_81D7D3E
+ jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_DIVE, BattleScript_81D7D33
+ jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_81D7D28
setbyte sTWOTURN_STRINGID, 0x5
- jump BattleScript_81D7D44
+ goto BattleScript_81D7D44
BattleScript_81D7D28:: @ 81D7D28
setbyte sTWOTURN_STRINGID, 0x7
- jump BattleScript_81D7D44
+ goto BattleScript_81D7D44
BattleScript_81D7D33:: @ 81D7D33
setbyte sTWOTURN_STRINGID, 0x6
- jump BattleScript_81D7D44
+ goto BattleScript_81D7D44
BattleScript_81D7D3E:: @ 81D7D3E
setbyte sTWOTURN_STRINGID, 0x4
BattleScript_81D7D44:: @ 81D7D44
- callatk BattleScript_81D6F58
- hidepreattack
- jump BattleScript_MoveEnd
+ call BattleScript_81D6F58
+ setsemiinvulnerablebit
+ goto BattleScript_MoveEnd
BattleScript_81D7D4F:: @ 81D7D4F
attackcanceler
- setbyte cEFFECT_CHOOSER, 0xC
+ setmoveeffect MOVE_EFFECT_CHARGING
setbyte sB_ANIM_TURN, 0x1
- clearstatus BS_ATTACKER
+ clearstatusfromeffect BS_ATTACKER
orword gHitMarker, HITMARKER_NO_PPDEDUCT
- jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0x154, BattleScript_81D7D79
- setbyte cEFFECT_CHOOSER, 0x5
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_81D7D79
+ setmoveeffect MOVE_EFFECT_PARALYSIS
BattleScript_81D7D79:: @ 81D7D79
accuracycheck BattleScript_81D7D86, 0x0
- unhidepostattack
- jump BattleScript_81D692E
+ clearsemiinvulnerablebit
+ goto BattleScript_81D692E
BattleScript_81D7D86:: @ 81D7D86
- unhidepostattack
- jump BattleScript_81D695E
+ clearsemiinvulnerablebit
+ goto BattleScript_81D695E
BattleScript_EffectDefenseCurl:: @ 81D7D8C
attackcanceler
attackstring
ppreduce
- setcurled
- setbyte sSTATCHANGER, 0x12
+ setdefensecurlbit
+ setstatchanger STAT_DEF, 1, FALSE
statbuffchange 0x41, BattleScript_81D7DA9
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6BC4
attackanimation
waitanimation
BattleScript_81D7DA9:: @ 81D7DA9
- jump BattleScript_81D6BBC
+ goto BattleScript_81D6BBC
BattleScript_EffectSoftboiled:: @ 81D7DAE
attackcanceler
attackstring
ppreduce
- setdamageasrestorehalfmaxhp BattleScript_AlreadyAtFullHp, 0x0
+ tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_TARGET
BattleScript_PresentHealTarget:: @ 81D7DB7
attackanimation
waitanimation
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_TARGET
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
printstring STRINGID_PKMNREGAINEDHEALTH
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_AlreadyAtFullHp:: @ 81D7DD1
pause 0x20
printstring STRINGID_PKMNHPFULL
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectFakeOut:: @ 81D7DDF
attackcanceler
jumpifnotfirstturn BattleScript_81D7DF0
- setbyte cEFFECT_CHOOSER, 0x88
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_FLINCH | MOVE_EFFECT_CERTAIN
+ goto BattleScript_EffectHit
BattleScript_81D7DF0:: @ 81D7DF0
attackstring
@@ -2148,26 +2141,26 @@ BattleScript_ButItFailed:: @ 81D7DF2
orbyte gMoveResultFlags, 0x20
resultmessage
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D7E04:: @ 81D7E04
pause 0x20
orbyte gMoveResultFlags, 0x8
resultmessage
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectUproar:: @ 81D7E16
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
- setbyte cEFFECT_CHOOSER, 0x4A
+ setmoveeffect MOVE_EFFECT_UPROAR | MOVE_EFFECT_AFFECTS_USER
attackstring
- jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D7E30
+ jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7E30
ppreduce
BattleScript_81D7E30:: @ 81D7E30
- nop3
- jump BattleScript_HitFromCritCalc
+ nop
+ goto BattleScript_HitFromCritCalc
BattleScript_EffectStockpile:: @ 81D7E36
attackcanceler
@@ -2178,7 +2171,7 @@ BattleScript_EffectStockpile:: @ 81D7E36
waitanimation
printfromtable gStockpileUsedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSpitUp:: @ 81D7E49
attackcanceler
@@ -2187,15 +2180,15 @@ BattleScript_EffectSpitUp:: @ 81D7E49
ppreduce
accuracycheck BattleScript_81D695E, 0x0
stockpiletobasedamage BattleScript_81D7E6A
- atk6
- atk69
- jump BattleScript_81D6934
+ typecalc
+ adjustsetdamage
+ goto BattleScript_81D6934
BattleScript_81D7E6A:: @ 81D7E6A
pause 0x20
printstring STRINGID_FAILEDTOSPITUP
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D7E78:: @ 81D7E78
attackstring
@@ -2204,27 +2197,27 @@ BattleScript_81D7E78:: @ 81D7E78
stockpiletobasedamage BattleScript_81D7E6A
resultmessage
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSwallow:: @ 81D7E8B
attackcanceler
attackstring
ppreduce
- stockpiletohprecovery BattleScript_81D7E98
- jump BattleScript_PresentHealTarget
+ stockpiletohpheal BattleScript_81D7E98
+ goto BattleScript_PresentHealTarget
BattleScript_81D7E98:: @ 81D7E98
pause 0x20
printfromtable gSwallowFailStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectHail:: @ 81D7EA8
attackcanceler
attackstring
ppreduce
sethail
- jump BattleScript_81D7A14
+ goto BattleScript_81D7A14
BattleScript_EffectTorment:: @ 81D7EB1
attackcanceler
@@ -2236,60 +2229,60 @@ BattleScript_EffectTorment:: @ 81D7EB1
waitanimation
printstring STRINGID_PKMNSUBJECTEDTOTORMENT
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectFlatter:: @ 81D7ECD
attackcanceler
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D6958
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- jumpifconfusedandattackmaxed BS_ATTACKER_WITH_PARTNER, BattleScript_ButItFailed
+ jumpifconfusedandstatmaxed 0x4, BattleScript_ButItFailed
attackanimation
waitanimation
- setbyte sSTATCHANGER, 0x14
+ setstatchanger STAT_SPATK, 1, FALSE
statbuffchange 0x1, BattleScript_81D7F10
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D7F10
- atk47
+ setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D7F10:: @ 81D7F10
- jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
- setbyte cEFFECT_CHOOSER, 0x7
- seteffecttarget
- jump BattleScript_MoveEnd
+ jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D9460
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39
+ setmoveeffect MOVE_EFFECT_CONFUSION
+ seteffectprimary
+ goto BattleScript_MoveEnd
BattleScript_EffectWillOWisp:: @ 81D7F2B
attackcanceler
attackstring
ppreduce
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
- jumpifstatus BS_TARGET, 0x10, BattleScript_81D7F91
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus BS_TARGET, STATUS1_BURN, BattleScript_81D7F91
jumpiftype BS_TARGET, 0xA, BattleScript_81D7E04
- jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_81D7F77
- jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed
+ jumpifability 0x0, ABILITY_WATER_VEIL, BattleScript_81D7F77
+ jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, 0x0
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39
attackanimation
waitanimation
- setbyte cEFFECT_CHOOSER, 0x3
- seteffecttarget
- jump BattleScript_MoveEnd
+ setmoveeffect MOVE_EFFECT_BURN
+ seteffectprimary
+ goto BattleScript_MoveEnd
BattleScript_81D7F77:: @ 81D7F77
copyarray gEffectBattler, gBattlerTarget, 0x1
setbyte cMULTISTRING_CHOOSER, 0x0
- callatk BattleScript_BRNPrevention
- jump BattleScript_MoveEnd
+ call BattleScript_BRNPrevention
+ goto BattleScript_MoveEnd
BattleScript_81D7F91:: @ 81D7F91
pause 0x20
printstring STRINGID_PKMNALREADYHASBURN
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectMemento:: @ 81D7F9F
attackcanceler
@@ -2297,14 +2290,14 @@ BattleScript_EffectMemento:: @ 81D7F9F
attackstring
ppreduce
jumpifattackandspecialattackcannotfall BattleScript_ButItFailed
- setuserhptozero
+ setatkhptozero
attackanimation
waitanimation
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D801B
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D801B
setbyte sSTAT_ANIM_PLAYED, 0x0
playstatchangeanimation BS_TARGET, 0x12, 0x7
playstatchangeanimation BS_TARGET, 0x2, 0x3
- setbyte sSTATCHANGER, 0xA1
+ setstatchanger STAT_ATK, 2, TRUE
statbuffchange 0x1, BattleScript_81D7FEC
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D7FEC
printfromtable gStatDownStringIds
@@ -2312,20 +2305,20 @@ BattleScript_EffectMemento:: @ 81D7F9F
BattleScript_81D7FEC:: @ 81D7FEC
playstatchangeanimation BS_TARGET, 0x10, 0x3
- setbyte sSTATCHANGER, 0xA4
+ setstatchanger STAT_SPATK, 2, TRUE
statbuffchange 0x1, BattleScript_81D800F
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D800F
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_81D800F:: @ 81D800F
- faintpokemon BS_ATTACKER, 0x0, NULL
- jump BattleScript_MoveEnd
+ tryfaintmon BS_ATTACKER, 0x0, NULL
+ goto BattleScript_MoveEnd
BattleScript_81D801B:: @ 81D801B
printstring STRINGID_BUTNOEFFECT
waitmessage 0x40
- jump BattleScript_81D800F
+ goto BattleScript_81D800F
BattleScript_81D8026:: @ 81D8026
attackstring
@@ -2333,21 +2326,21 @@ BattleScript_81D8026:: @ 81D8026
jumpifattackandspecialattackcannotfall BattleScript_81D802D
BattleScript_81D802D:: @ 81D802D
- setuserhptozero
+ setatkhptozero
pause 0x40
- missmessage
+ effectivenesssound
resultmessage
waitmessage 0x40
- faintpokemon BS_ATTACKER, 0x0, NULL
- jump BattleScript_MoveEnd
+ tryfaintmon BS_ATTACKER, 0x0, NULL
+ goto BattleScript_MoveEnd
BattleScript_EffectFacade:: @ 81D8042
- jumpifstatus BS_ATTACKER, 0xD8, BattleScript_81D8051
- jump BattleScript_EffectHit
+ jumpifstatus BS_ATTACKER, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_POISON, BattleScript_81D8051
+ goto BattleScript_EffectHit
BattleScript_81D8051:: @ 81D8051
setbyte sDMG_MULTIPLIER, 0x2
- jump BattleScript_EffectHit
+ goto BattleScript_EffectHit
BattleScript_EffectFocusPunch:: @ 81D805C
attackcanceler
@@ -2355,17 +2348,17 @@ BattleScript_EffectFocusPunch:: @ 81D805C
ppreduce
printstring STRINGID_PKMNLOSTFOCUS
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSmellingsalt:: @ 81D806E
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_EffectHit
- setbyte cEFFECT_CHOOSER, 0xA4
- jumpifstatus BS_TARGET, 0x40, BattleScript_81D808D
- jump BattleScript_EffectHit
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_REMOVE_PARALYSIS | MOVE_EFFECT_CERTAIN
+ jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D808D
+ goto BattleScript_EffectHit
BattleScript_81D808D:: @ 81D808D
setbyte sDMG_MULTIPLIER, 0x2
- jump BattleScript_EffectHit
+ goto BattleScript_EffectHit
BattleScript_EffectFollowMe:: @ 81D8098
attackcanceler
@@ -2376,7 +2369,7 @@ BattleScript_EffectFollowMe:: @ 81D8098
waitanimation
printstring STRINGID_PKMNCENTERATTENTION
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectNaturePower:: @ 81D80A9
attackcanceler
@@ -2396,7 +2389,7 @@ BattleScript_EffectCharge:: @ 81D80B6
waitanimation
printstring STRINGID_PKMNCHARGINGPOWER
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectTaunt:: @ 81D80C7
attackcanceler
@@ -2408,54 +2401,54 @@ BattleScript_EffectTaunt:: @ 81D80C7
waitanimation
printstring STRINGID_PKMNFELLFORTAUNT
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectHelpingHand:: @ 81D80E3
attackcanceler
attackstring
ppreduce
- sethelpinghand BattleScript_ButItFailed
+ trysethelpinghand BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNREADYTOHELP
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectTrick:: @ 81D80F8
attackcanceler
attackstring
ppreduce
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, 0x0
- itemswap BattleScript_ButItFailed
+ tryswapitems BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNSWITCHEDITEMS
waitmessage 0x40
printfromtable gItemSwapStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectRolePlay:: @ 81D8126
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, 0xFFFF
- copyability BattleScript_ButItFailed
+ trycopyability BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNCOPIEDFOE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectWish:: @ 81D8142
attackcanceler
attackstring
ppreduce
- atkd4 0x0, BattleScript_ButItFailed
+ trywish 0x0, BattleScript_ButItFailed
attackanimation
waitanimation
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectAssist:: @ 81D8152
attackcanceler
@@ -2465,59 +2458,59 @@ BattleScript_EffectAssist:: @ 81D8152
waitanimation
setbyte sB_ANIM_TURN, 0x0
setbyte sB_ANIM_TARGETS_HIT, 0x0
- jumptoattack BS_ATTACKER
+ jumptocalledmove 0x1
BattleScript_EffectIngrain:: @ 81D8169
attackcanceler
attackstring
ppreduce
- setroots BattleScript_ButItFailed
+ trysetroots BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNPLANTEDROOTS
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSuperpower:: @ 81D817E
- setbyte cEFFECT_CHOOSER, 0xE5
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_ATK_DEF_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
+ goto BattleScript_EffectHit
BattleScript_EffectMagicCoat:: @ 81D8189
attackcanceler
- setmagiccoat BattleScript_81D7DF0
+ trysetmagiccoat BattleScript_81D7DF0
attackstring
ppreduce
attackanimation
waitanimation
printstring STRINGID_PKMNSHROUDEDITSELF
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectRecycle:: @ 81D819E
attackcanceler
attackstring
ppreduce
- recycleitem BattleScript_ButItFailed
+ tryrecycleitem BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_XFOUNDONEY
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectRevenge:: @ 81D81B3
doubledamagedealtifdamaged
- jump BattleScript_EffectHit
+ goto BattleScript_EffectHit
BattleScript_EffectBrickBreak:: @ 81D81B9
attackcanceler
accuracycheck BattleScript_81D695E, 0x0
attackstring
ppreduce
- removereflectlightscreen
+ removelightscreenreflect
critcalc
- atk5
- atk6
- atk7
+ damagecalc
+ typecalc
+ adjustnormaldamage
jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0x0, BattleScript_81D81D9
bicbyte gMoveResultFlags, 0x9
@@ -2529,36 +2522,36 @@ BattleScript_81D81D9:: @ 81D81D9
waitmessage 0x40
BattleScript_81D81EC:: @ 81D81EC
- damagecalc2
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ typecalc2
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
resultmessage
waitmessage 0x40
- seteffectwithchancetarget
- faintpokemon BS_TARGET, 0x0, NULL
- jump BattleScript_MoveEnd
+ seteffectwithchance
+ tryfaintmon BS_TARGET, 0x0, NULL
+ goto BattleScript_MoveEnd
BattleScript_EffectYawn:: @ 81D820A
attackcanceler
attackstring
ppreduce
- jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_81D824B
- jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_81D824B
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39
+ jumpifability 0x0, ABILITY_VITAL_SPIRIT, BattleScript_81D824B
+ jumpifability 0x0, ABILITY_INSOMNIA, BattleScript_81D824B
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39
accuracycheck BattleScript_ButItFailed, 0xFFFF
- jumpifcannotsleep BattleScript_ButItFailed
+ jumpifcantmakeasleep BattleScript_ButItFailed
setyawn BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNWASMADEDROWSY
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D824B:: @ 81D824B
copyarray sBATTLER, sBATTLER_WITH_ABILITY, 0x1
@@ -2567,11 +2560,11 @@ BattleScript_81D8255:: @ 81D8255
pause 0x20
printstring STRINGID_PKMNSXMADEITINEFFECTIVE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectKnockOff:: @ 81D8263
- setbyte cEFFECT_CHOOSER, 0x36
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_KNOCK_OFF
+ goto BattleScript_EffectHit
BattleScript_EffectEndeavor:: @ 81D826E
attackcanceler
@@ -2580,39 +2573,39 @@ BattleScript_EffectEndeavor:: @ 81D826E
setdamagetohealthdifference BattleScript_ButItFailed
copyarray gHpDealt, gBattleMoveDamage, 0x4
accuracycheck BattleScript_MoveMissedPause, 0x0
- atk6
+ typecalc
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6934
bicbyte gMoveResultFlags, 0x6
copyarray gBattleMoveDamage, gHpDealt, 0x4
- atk69
- jump BattleScript_81D6934
+ adjustsetdamage
+ goto BattleScript_81D6934
BattleScript_EffectEruption:: @ 81D82A9
scaledamagebyhealthratio
- jump BattleScript_EffectHit
+ goto BattleScript_EffectHit
BattleScript_EffectSkillSwap:: @ 81D82AF
attackcanceler
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, 0xFFFF
- abilityswap BattleScript_ButItFailed
+ tryswapabilities BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNSWAPPEDABILITIES
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectImprison:: @ 81D82CB
attackcanceler
attackstring
ppreduce
- imprisoneffect BattleScript_ButItFailed
+ tryimprison BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNSEALEDOPPONENTMOVE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectRefresh:: @ 81D82E0
attackcanceler
@@ -2623,23 +2616,23 @@ BattleScript_EffectRefresh:: @ 81D82E0
waitanimation
printstring STRINGID_PKMNSTATUSNORMAL
waitmessage 0x40
- atk98 0x1
- jump BattleScript_MoveEnd
+ updatestatusicon BS_ATTACKER
+ goto BattleScript_MoveEnd
BattleScript_EffectGrudge:: @ 81D82F7
attackcanceler
attackstring
ppreduce
- setgrudge BattleScript_ButItFailed
+ trysetgrudge BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNWANTSGRUDGE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSnatch:: @ 81D830C
attackcanceler
- setstealstatchange BattleScript_81D7DF0
+ trysetsnatch BattleScript_81D7DF0
attackstring
ppreduce
attackanimation
@@ -2647,7 +2640,7 @@ BattleScript_EffectSnatch:: @ 81D830C
pause 0x20
printstring STRINGID_PKMNWAITSFORTARGET
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectLowKick:: @ 81D8324
attackcanceler
@@ -2655,15 +2648,15 @@ BattleScript_EffectLowKick:: @ 81D8324
ppreduce
weightdamagecalculation
accuracycheck BattleScript_MoveMissedPause, 0x0
- jump BattleScript_HitFromCritCalc
+ goto BattleScript_HitFromCritCalc
BattleScript_EffectSecretPower:: @ 81D8334
- naturepowereffect
- jump BattleScript_EffectHit
+ getsecretpowereffect
+ goto BattleScript_EffectHit
BattleScript_EffectDoubleEdge:: @ 81D833A
- setbyte cEFFECT_CHOOSER, 0xE6
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_RECOIL_33 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
+ goto BattleScript_EffectHit
BattleScript_EffectTeeterDance:: @ 81D8345
attackcanceler
@@ -2672,23 +2665,22 @@ BattleScript_EffectTeeterDance:: @ 81D8345
setbyte gBattlerTarget, 0x0
BattleScript_81D834E:: @ 81D834E
- atk25
- setbyte cEFFECT_CHOOSER, 0x7
+ movevaluescleanup
+ setmoveeffect MOVE_EFFECT_CONFUSION
jumpifarrayequal gBattlerAttacker, gBattlerTarget, 0x1, BattleScript_81D8394
- jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D83B2
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D83CE
- jumpifsecondarytstatus BS_TARGET, 0x7, BattleScript_81D83DC
+ jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D83B2
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D83CE
+ jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D83DC
accuracycheck BattleScript_81D83EA, 0x0
- jumpifhalverset BS_TARGET, 0x20, BattleScript_81D83C0
+ jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D83C0
attackanimation
waitanimation
- seteffecttarget
+ seteffectprimary
resultmessage
waitmessage 0x40
BattleScript_81D8394:: @ 81D8394
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
+ moveendto 0x10
addbyte gBattlerTarget, 0x1
jumpifarraynotequal gBattlerTarget, gBattlersCount, 0x1, BattleScript_81D834E
end
@@ -2697,30 +2689,30 @@ BattleScript_81D83B2:: @ 81D83B2
pause 0x20
printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
waitmessage 0x40
- jump BattleScript_81D8394
+ goto BattleScript_81D8394
BattleScript_81D83C0:: @ 81D83C0
pause 0x20
printstring STRINGID_PKMNUSEDSAFEGUARD
waitmessage 0x40
- jump BattleScript_81D8394
+ goto BattleScript_81D8394
BattleScript_81D83CE:: @ 81D83CE
pause 0x20
printstring STRINGID_BUTITFAILED
waitmessage 0x40
- jump BattleScript_81D8394
+ goto BattleScript_81D8394
BattleScript_81D83DC:: @ 81D83DC
pause 0x20
printstring STRINGID_PKMNALREADYCONFUSED
waitmessage 0x40
- jump BattleScript_81D8394
+ goto BattleScript_81D8394
BattleScript_81D83EA:: @ 81D83EA
resultmessage
waitmessage 0x40
- jump BattleScript_81D8394
+ goto BattleScript_81D8394
BattleScript_EffectMudSport:: @ 81D83F3
attackcanceler
@@ -2731,26 +2723,26 @@ BattleScript_EffectMudSport:: @ 81D83F3
waitanimation
printfromtable gSportsUsedStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectPoisonFang:: @ 81D840A
- setbyte cEFFECT_CHOOSER, 0x6
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_TOXIC
+ goto BattleScript_EffectHit
BattleScript_EffectWeatherBall:: @ 81D8415
- seteffectbyweather
- jump BattleScript_EffectHit
+ setweatherballtype
+ goto BattleScript_EffectHit
BattleScript_EffectOverheat:: @ 81D841B
- setbyte cEFFECT_CHOOSER, 0xFB
- jump BattleScript_EffectHit
+ setmoveeffect MOVE_EFFECT_SP_ATK_TWO_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
+ goto BattleScript_EffectHit
BattleScript_EffectTickle:: @ 81D8426
attackcanceler
attackstring
ppreduce
- jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0x0, BattleScript_81D843B
- jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0x0, BattleScript_81D8499
+ jumpifstat BS_TARGET, CMP_GREATER_THAN, 0x1, 0x0, BattleScript_81D843B
+ jumpifstat BS_TARGET, CMP_EQUAL, 0x2, 0x0, BattleScript_81D8499
BattleScript_81D843B:: @ 81D843B
accuracycheck BattleScript_ButItFailed, 0x0
@@ -2759,7 +2751,7 @@ BattleScript_81D843B:: @ 81D843B
setbyte sSTAT_ANIM_PLAYED, 0x0
playstatchangeanimation BS_TARGET, 0x6, 0x5
playstatchangeanimation BS_TARGET, 0x2, 0x1
- setbyte sSTATCHANGER, 0x91
+ setstatchanger STAT_ATK, 1, TRUE
statbuffchange 0x1, BattleScript_81D8471
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8471
printfromtable gStatDownStringIds
@@ -2767,144 +2759,144 @@ BattleScript_81D843B:: @ 81D843B
BattleScript_81D8471:: @ 81D8471
playstatchangeanimation BS_TARGET, 0x4, 0x1
- setbyte sSTATCHANGER, 0x92
+ setstatchanger STAT_DEF, 1, TRUE
statbuffchange 0x1, BattleScript_81D8494
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8494
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_81D8494:: @ 81D8494
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D8499:: @ 81D8499
pause 0x20
orbyte gMoveResultFlags, 0x20
printstring STRINGID_STATSWONTDECREASE2
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectCosmicPower:: @ 81D84AD
attackcanceler
attackstring
ppreduce
- jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_81D84C2
- jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_81D85E7
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x2, 0xC, BattleScript_81D84C2
+ jumpifstat BS_ATTACKER, CMP_EQUAL, 0x5, 0xC, BattleScript_81D85E7
BattleScript_81D84C2:: @ 81D84C2
attackanimation
waitanimation
setbyte sSTAT_ANIM_PLAYED, 0x0
playstatchangeanimation BS_ATTACKER, 0x24, 0x0
- setbyte sSTATCHANGER, 0x12
+ setstatchanger STAT_DEF, 1, FALSE
statbuffchange 0x41, BattleScript_81D84ED
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D84ED
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D84ED:: @ 81D84ED
- setbyte sSTATCHANGER, 0x15
+ setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange 0x41, BattleScript_81D850C
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D850C
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D850C:: @ 81D850C
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectSkyUppercut:: @ 81D8511
orword gHitMarker, HITMARKER_IGNORE_ON_AIR
- jump BattleScript_EffectHit
+ goto BattleScript_EffectHit
BattleScript_EffectBulkUp:: @ 81D851F
attackcanceler
attackstring
ppreduce
- jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_81D8534
- jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_81D85E7
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x1, 0xC, BattleScript_81D8534
+ jumpifstat BS_ATTACKER, CMP_EQUAL, 0x2, 0xC, BattleScript_81D85E7
BattleScript_81D8534:: @ 81D8534
attackanimation
waitanimation
setbyte sSTAT_ANIM_PLAYED, 0x0
playstatchangeanimation BS_ATTACKER, 0x6, 0x0
- setbyte sSTATCHANGER, 0x11
+ setstatchanger STAT_ATK, 1, FALSE
statbuffchange 0x41, BattleScript_81D855F
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D855F
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D855F:: @ 81D855F
- setbyte sSTATCHANGER, 0x12
+ setstatchanger STAT_DEF, 1, FALSE
statbuffchange 0x41, BattleScript_81D857E
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D857E
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D857E:: @ 81D857E
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectCalmMind:: @ 81D8583
attackcanceler
attackstring
ppreduce
- jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_81D8598
- jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_81D85E7
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x4, 0xC, BattleScript_81D8598
+ jumpifstat BS_ATTACKER, CMP_EQUAL, 0x5, 0xC, BattleScript_81D85E7
BattleScript_81D8598:: @ 81D8598
attackanimation
waitanimation
setbyte sSTAT_ANIM_PLAYED, 0x0
playstatchangeanimation BS_ATTACKER, 0x30, 0x0
- setbyte sSTATCHANGER, 0x14
+ setstatchanger STAT_SPATK, 1, FALSE
statbuffchange 0x41, BattleScript_81D85C3
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D85C3
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D85C3:: @ 81D85C3
- setbyte sSTATCHANGER, 0x15
+ setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange 0x41, BattleScript_81D85E2
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D85E2
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D85E2:: @ 81D85E2
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D85E7:: @ 81D85E7
pause 0x20
orbyte gMoveResultFlags, 0x20
printstring STRINGID_STATSWONTINCREASE2
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectDragonDance:: @ 81D85FB
attackcanceler
attackstring
ppreduce
- jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_81D8610
- jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 0xC, BattleScript_81D85E7
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x1, 0xC, BattleScript_81D8610
+ jumpifstat BS_ATTACKER, CMP_EQUAL, 0x3, 0xC, BattleScript_81D85E7
BattleScript_81D8610:: @ 81D8610
attackanimation
waitanimation
setbyte sSTAT_ANIM_PLAYED, 0x0
playstatchangeanimation BS_ATTACKER, 0xA, 0x0
- setbyte sSTATCHANGER, 0x11
+ setstatchanger STAT_ATK, 1, FALSE
statbuffchange 0x41, BattleScript_81D863B
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D863B
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D863B:: @ 81D863B
- setbyte sSTATCHANGER, 0x13
+ setstatchanger STAT_SPEED, 1, FALSE
statbuffchange 0x41, BattleScript_81D865A
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D865A
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D865A:: @ 81D865A
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_EffectCamouflage:: @ 81D865F
attackcanceler
@@ -2915,29 +2907,29 @@ BattleScript_EffectCamouflage:: @ 81D865F
waitanimation
printstring STRINGID_PKMNCHANGEDTYPE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_FaintAttacker:: @ 81D8674
- atk56 0x1
+ playfaintcry BS_ATTACKER
pause 0x40
- atk1a 0x1
- atk1b BS_ATTACKER
+ dofaintanimation BS_ATTACKER
+ cleareffectsonfaint BS_ATTACKER
printstring STRINGID_ATTACKERFAINTED
printstring STRINGID_EMPTYSTRING3
return
BattleScript_FaintTarget:: @ 81D8684
- atk56 0x0
+ playfaintcry BS_TARGET
pause 0x40
- atk1a 0x0
- atk1b BS_TARGET
+ dofaintanimation BS_TARGET
+ cleareffectsonfaint BS_TARGET
printstring STRINGID_TARGETFAINTED
printstring STRINGID_EMPTYSTRING3
return
BattleScript_GiveExp:: @ 81D8694
setbyte sGIVEEXP_STATE, 0x0
- atk23 BS_TARGET
+ getexp BS_TARGET
end2
BattleScript_HandleFaintedMon:: @ 81D869D
@@ -2947,61 +2939,61 @@ BattleScript_HandleFaintedMon:: @ 81D869D
jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D86E6
printstring STRINGID_USENEXTPKMN
setbyte gBattleCommunication, 0x0
- atk67
+ yesnobox
jumpifbyte CMP_EQUAL, gBattleCommunication + 0x1, 0x0, BattleScript_81D86E6
- atk72 BattleScript_81D87B7
+ jumpifplayerran BattleScript_81D87B7
printstring STRINGID_CANTESCAPE2
BattleScript_81D86E6:: @ 81D86E6
openpartyscreen 0x3, BattleScript_81D87B7
- atk51 BS_FAINTED, 0x2
+ switchhandleorder BS_FAINTED, 0x2
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8792
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_LINK, BattleScript_81D8792
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER, BattleScript_81D8792
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D8792
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D8792
jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 0x1, BattleScript_81D8792
- jumpifcannotswitch BS_PLAYER1, BattleScript_81D8792
+ jumpifcantswitch BS_PLAYER1, BattleScript_81D8792
printstring STRINGID_ENEMYABOUTTOSWITCHPKMN
setbyte gBattleCommunication, 0x0
- atk67
+ yesnobox
jumpifbyte CMP_EQUAL, gBattleCommunication + 0x1, 0x1, BattleScript_81D8792
- atk6e
+ setatktoplayer0
openpartyscreen 0x81, BattleScript_81D8792
- atk51 BS_ATTACKER, 0x2
+ switchhandleorder BS_ATTACKER, 0x2
jumpifbyte CMP_EQUAL, gBattleCommunication, 0x6, BattleScript_81D8792
- atk6b
- atk76 0x1, 0x5
- atk74 BS_ATTACKER
+ atknameinbuff1
+ various BS_ATTACKER, 0x5
+ hpthresholds2 BS_ATTACKER
printstring STRINGID_RETURNMON
- atke2 BS_ATTACKER
- waitstateatk
- atk4b
- waitstateatk
- atk61 0x1
- switch1 BS_ATTACKER
- switch2 BS_ATTACKER
- atk73 BS_ATTACKER
+ switchoutabilities BS_ATTACKER
+ waitstate
+ returnatktoball
+ waitstate
+ drawpartystatussummary BS_ATTACKER
+ getswitchedmondata BS_ATTACKER
+ switchindataupdate BS_ATTACKER
+ hpthresholds BS_ATTACKER
printstring STRINGID_SWITCHINMON
- atk62_hidepartystatussummary 0x1
- switch3 BS_ATTACKER, 0x0
- waitstateatk
- atk52 BS_ATTACKER
- atk6d
+ hidepartystatussummary BS_ATTACKER
+ switchinanim BS_ATTACKER, 0x0
+ waitstate
+ switchineffects BS_ATTACKER
+ resetsentmonsvalue
BattleScript_81D8792:: @ 81D8792
- atk61 0x3
- switch1 BS_FAINTED
- switch2 BS_FAINTED
- atk73 BS_FAINTED
+ drawpartystatussummary BS_FAINTED
+ getswitchedmondata BS_FAINTED
+ switchindataupdate BS_FAINTED
+ hpthresholds BS_FAINTED
printstring STRINGID_SWITCHINMON
- atk62_hidepartystatussummary 0x3
- switch3 BS_FAINTED, 0x0
- waitstateatk
- atk76 0x1, BS_BATTLER_0
- atk52 BS_FAINTED
+ hidepartystatussummary BS_FAINTED
+ switchinanim BS_FAINTED, 0x0
+ waitstate
+ various BS_ATTACKER, 0x7
+ switchineffects BS_FAINTED
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D87B7
- atk68
+ cancelallactions
BattleScript_81D87B7:: @ 81D87B7
end2
@@ -3010,21 +3002,21 @@ BattleScript_81D87B8:: @ 81D87B8
openpartyscreen 0x5, BattleScript_81D87BE
BattleScript_81D87BE:: @ 81D87BE
- atk51 BS_FAINTED, 0x0
+ switchhandleorder BS_FAINTED, 0x0
openpartyscreen 0x6, BattleScript_81D87EE
- atk51 BS_FAINTED, 0x0
+ switchhandleorder BS_FAINTED, 0x0
BattleScript_81D87CA:: @ 81D87CA
- atk51 BS_FAINTED, 0x2
- atk61 0x3
- switch1 BS_FAINTED
- switch2 BS_FAINTED
- atk73 BS_FAINTED
+ switchhandleorder BS_FAINTED, 0x2
+ drawpartystatussummary BS_FAINTED
+ getswitchedmondata BS_FAINTED
+ switchindataupdate BS_FAINTED
+ hpthresholds BS_FAINTED
printstring STRINGID_SWITCHINMON
- atk62_hidepartystatussummary 0x3
- switch3 BS_FAINTED, 0x0
- waitstateatk
- atk52 0x5
+ hidepartystatussummary BS_FAINTED
+ switchinanim BS_FAINTED, 0x0
+ waitstate
+ switchineffects 0x5
jumpifarraynotequal gBattlerFainted, gBattlersCount, 0x1, BattleScript_81D87CA
BattleScript_81D87EE:: @ 81D87EE
@@ -3032,18 +3024,18 @@ BattleScript_81D87EE:: @ 81D87EE
BattleScript_LocalTrainerBattleWon:: @ 81D87EF
printstring STRINGID_PLAYERDEFEATEDTRAINER1
- atk53 BS_ATTACKER
- waitstateatk
+ trainerslidein BS_ATTACKER
+ waitstate
printstring STRINGID_TRAINER1LOSETEXT
- atk5d BattleScript_81D87FD
+ getmoneyreward BattleScript_81D87FD
BattleScript_81D87FD:: @ 81D87FD
printstring STRINGID_PLAYERGOTMONEY
waitmessage 0x40
BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8803
- givemoney
- pickupitemcalculation
+ givepaydaymoney
+ pickup
end2
BattleScript_LocalBattleLost:: @ 81D8806
@@ -3056,15 +3048,15 @@ BattleScript_81D8839:: @ 81D8839
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D885D
printstring STRINGID_PLAYERWHITEOUT
waitmessage 0x40
- atk5d BattleScript_81D886F
+ getmoneyreward BattleScript_81D886F
printstring STRINGID_PLAYERWHITEOUT2
waitmessage 0x40
- jump BattleScript_81D886E
+ goto BattleScript_81D886E
BattleScript_81D885D:: @ 81D885D
printstring STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER
waitmessage 0x40
- atk5d BattleScript_81D886F
+ getmoneyreward BattleScript_81D886F
printstring STRINGID_PLAYERPAIDPRIZEMONEY
waitmessage 0x40
@@ -3077,32 +3069,32 @@ BattleScript_81D886F:: @ 81D886F
end2
BattleScript_81D8876:: @ 81D8876
- jumpiffainted BS_ATTACKER, BattleScript_81D8884
+ jumpifhasnohp BS_ATTACKER, BattleScript_81D8884
printstring STRINGID_TRAINER1MON1COMEBACK
waitmessage 0x40
- atk4b
- waitstateatk
+ returnatktoball
+ waitstate
BattleScript_81D8884:: @ 81D8884
- atk53 BS_ATTACKER
- waitstateatk
+ trainerslidein BS_ATTACKER
+ waitstate
printstring STRINGID_TRAINER1WINTEXT
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8839
end2
BattleScript_81D8896:: @ 81D8896
- atk76 0x1, BS_ATTACKER_SIDE
+ various BS_ATTACKER, 0x8
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D88B4
printfromtable gDoubleBattleRecallStrings
waitmessage 0x40
- atk76 0x1, BS_NOT_ATTACKER_SIDE
- waitstateatk
- atk76 0x1, BS_SCRIPTING
- waitstateatk
+ various BS_ATTACKER, 0x9
+ waitstate
+ various BS_ATTACKER, 0xA
+ waitstate
BattleScript_81D88B4:: @ 81D88B4
- atk53 BS_ATTACKER
- waitstateatk
+ trainerslidein BS_ATTACKER
+ waitstate
printstring STRINGID_TRAINER1WINTEXT
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88CB
printstring STRINGID_TRAINER2NAME
@@ -3119,15 +3111,15 @@ BattleScript_LinkBattleWonOrLost:: @ 81D88CC
gUnknown_81D88D7:: @ 81D88D7
printstring STRINGID_PLAYERDEFEATEDTRAINER1
- atk53 BS_ATTACKER
- waitstateatk
+ trainerslidein BS_ATTACKER
+ waitstate
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D88FF
printstring STRINGID_TRAINER1LOSETEXT
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88FF
printstring STRINGID_TRAINER2CLASS
BattleScript_81D88FF:: @ 81D88FF
- pickupitemcalculation
+ pickup
end2
BattleScript_SmokeBallEscape:: @ 81D8901
@@ -3166,51 +3158,49 @@ BattleScript_PrintFailedToRunString:: @ 81D893A
end2
BattleScript_PrintCantEscapeFromBattle:: @ 81D8943
- printfromtable2 gNoEscapeStringIds
- atk44
+ printselectionstringfromtable gNoEscapeStringIds
+ endselectionscript
BattleScript_PrintFullBox:: @ 81D8949
- printstring2 STRINGID_BOXISFULL
- atk44
+ printselectionstring STRINGID_BOXISFULL
+ endselectionscript
BattleScript_ActionSwitch:: @ 81D894D
- atk74 BS_ATTACKER
+ hpthresholds2 BS_ATTACKER
printstring STRINGID_RETURNMON
setbyte sDMG_MULTIPLIER, 0x2
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D896D
- atk26 0x1
- jump BattleScript_81D896F
+ setmultihit 0x1
+ goto BattleScript_81D896F
BattleScript_81D896D:: @ 81D896D
- atk26 0x2
+ setmultihit 0x2
BattleScript_81D896F:: @ 81D896F
- atkba BattleScript_81D897C
- atk5f
- atkab
- callatk BattleScript_81D89AF
- atk5f
+ jumpifnopursuitswitchdmg BattleScript_81D897C
+ swapattackerwithtarget
+ trysetdestinybondtohappen
+ call BattleScript_81D89AF
+ swapattackerwithtarget
BattleScript_81D897C:: @ 81D897C
- atk27 BattleScript_81D896F
- atke2 BS_ATTACKER
- waitstateatk
- atk4b
- waitstateatk
- atk61 0x1
- atk51 BS_ATTACKER, 0x1
- switch1 BS_ATTACKER
- switch2 BS_ATTACKER
- atk73 BS_ATTACKER
+ decrementmultihit BattleScript_81D896F
+ switchoutabilities BS_ATTACKER
+ waitstate
+ returnatktoball
+ waitstate
+ drawpartystatussummary BS_ATTACKER
+ switchhandleorder BS_ATTACKER, 0x1
+ getswitchedmondata BS_ATTACKER
+ switchindataupdate BS_ATTACKER
+ hpthresholds BS_ATTACKER
printstring STRINGID_SWITCHINMON
- atk62_hidepartystatussummary 0x1
- switch3 BS_ATTACKER, 0x0
- waitstateatk
- atk52 BS_ATTACKER
- setbyte sMOVEEND_STATE, 0x4
- atk49 0x1, 0x0
- setbyte sMOVEEND_STATE, 0xF
- atk49 0x1, 0x0
+ hidepartystatussummary BS_ATTACKER
+ switchinanim BS_ATTACKER, 0x0
+ waitstate
+ switchineffects BS_ATTACKER
+ moveendcase 0x4
+ moveendcase 0xF
end2
BattleScript_81D89AF:: @ 81D89AF
@@ -3218,27 +3208,26 @@ BattleScript_81D89AF:: @ 81D89AF
attackstring
ppreduce
critcalc
- atk5
- atk6
- atk7
+ damagecalc
+ typecalc
+ adjustnormaldamage
attackanimation
waitanimation
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
resultmessage
waitmessage 0x40
- faintpokemon BS_TARGET, 0x0, NULL
- setbyte sMOVEEND_STATE, 0x3
- atk49 0x2, 0x6
- atk76 0x0, BS_ATTACKER_WITH_PARTNER
+ tryfaintmon BS_TARGET, 0x0, NULL
+ moveendfromto 0x3, 0x6
+ various BS_TARGET, 0x4
jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_81D89F0
setbyte sGIVEEXP_STATE, 0x0
- atk23 BS_TARGET
+ getexp BS_TARGET
BattleScript_81D89F0:: @ 81D89F0
return
@@ -3248,30 +3237,30 @@ BattleScript_Pausex20:: @ 81D89F1
return
BattleScript_LevelUp:: @ 81D89F5
- atk55 MUS_FANFA1
+ fanfare MUS_FANFA1
printstring STRINGID_PKMNGREWTOLV
setbyte sLVLBOX_STATE, 0x0
- atk6c
- checkiflearnmoveinbattle BattleScript_81D8A51, BattleScript_81D8A63, 0x1
- jump BattleScript_81D8A1B
+ drawlvlupbox
+ handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0x1
+ goto BattleScript_81D8A1B
BattleScript_81D8A11:: @ 81D8A11
- checkiflearnmoveinbattle BattleScript_81D8A51, BattleScript_81D8A63, 0x0
+ handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0x0
BattleScript_81D8A1B:: @ 81D8A1B
- atk71
+ buffermovetolearn
printstring STRINGID_TRYTOLEARNMOVE1
printstring STRINGID_TRYTOLEARNMOVE2
printstring STRINGID_TRYTOLEARNMOVE3
- waitstateatk
+ waitstate
setbyte sLEARNMOVE_STATE, 0x0
- atk5a BattleScript_81D8A48
+ yesnoboxlearnmove BattleScript_81D8A48
printstring STRINGID_STOPLEARNINGMOVE
- waitstateatk
+ waitstate
setbyte sLEARNMOVE_STATE, 0x0
- atk5b BattleScript_81D8A1B
+ yesnoboxstoplearningmove BattleScript_81D8A1B
printstring STRINGID_DIDNOTLEARNMOVE
- jump BattleScript_81D8A11
+ goto BattleScript_81D8A11
BattleScript_81D8A48:: @ 81D8A48
printstring STRINGID_123POOF
@@ -3279,12 +3268,12 @@ BattleScript_81D8A48:: @ 81D8A48
printstring STRINGID_ANDELLIPSIS
BattleScript_81D8A51:: @ 81D8A51
- atk71
- atk55 MUS_FANFA1
+ buffermovetolearn
+ fanfare MUS_FANFA1
printstring STRINGID_PKMNLEARNEDMOVE
waitmessage 0x40
- atk76 0x1, 0x6
- jump BattleScript_81D8A11
+ various BS_ATTACKER, 0x6
+ goto BattleScript_81D8A11
BattleScript_81D8A63:: @ 81D8A63
return
@@ -3301,21 +3290,21 @@ BattleScript_81D8A7E:: @ 81D8A7E
BattleScript_DamagingWeatherContinues:: @ 81D8A7F
printfromtable gSandStormHailContinuesStringIds
waitmessage 0x40
- atk46 BS_ATTACKER, sB_ANIM_ARG1, NULL
+ playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL
setbyte gBattleCommunication, 0x0
BattleScript_81D8A97:: @ 81D8A97
- atk32 gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 0x1
+ copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 0x1
weatherdamage
jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_81D8AD8
printfromtable gSandStormHailDmgStringIds
waitmessage 0x40
orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
- missmessage
- atk5c BS_ATTACKER
- graphicalhpupdate BS_ATTACKER
+ effectivenesssound
+ hitanimation BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
- faintpokemon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_ATTACKER, 0x0, NULL
atk24 BattleScript_81D8AD8
BattleScript_81D8AD8:: @ 81D8AD8
@@ -3346,7 +3335,7 @@ BattleScript_SunlightFaded:: @ 81D8B18
BattleScript_OverworldWeatherStarts:: @ 81D8B1F
printfromtable gWeatherContinuesStringIds
waitmessage 0x40
- atk46 BS_ATTACKER, sB_ANIM_ARG1, NULL
+ playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL
end3
BattleScript_SideStatusWoreOff:: @ 81D8B32
@@ -3369,82 +3358,82 @@ BattleScript_SafeguardEnds:: @ 81D8B43
BattleScript_LeechSeedTurnDrain:: @ 81D8B4D
playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
copyarray gBattleMoveDamage, gHpDealt, 0x4
- jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F
+ jumpifability 0x1, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F
manipulatedamage 0x0
setbyte cMULTISTRING_CHOOSER, 0x3
- jump BattleScript_81D8B85
+ goto BattleScript_81D8B85
BattleScript_81D8B7F:: @ 81D8B7F
setbyte cMULTISTRING_CHOOSER, 0x4
BattleScript_81D8B85:: @ 81D8B85
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_TARGET
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
printfromtable gLeechSeedStringIds
waitmessage 0x40
- faintpokemon BS_ATTACKER, 0x0, NULL
- faintpokemon BS_TARGET, 0x0, NULL
+ tryfaintmon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_TARGET, 0x0, NULL
end2
BattleScript_BideStoringEnergy:: @ 81D8BA9
printstring STRINGID_PKMNSTORINGENERGY
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_BideAttack:: @ 81D8BB4
attackcanceler
- setbyte cEFFECT_CHOOSER, 0xC
- clearstatus BS_ATTACKER
+ setmoveeffect MOVE_EFFECT_CHARGING
+ clearstatusfromeffect BS_ATTACKER
printstring STRINGID_PKMNUNLEASHEDENERGY
waitmessage 0x40
accuracycheck BattleScript_81D6963, 0x0
- atk6
+ typecalc
bicbyte gMoveResultFlags, 0x6
copyarray gBattleMoveDamage, sBIDE_DMG, 0x4
- atk69
+ adjustsetdamage
setbyte sB_ANIM_TURN, 0x1
attackanimation
waitanimation
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
resultmessage
waitmessage 0x40
- faintpokemon BS_TARGET, 0x0, NULL
- jump BattleScript_MoveEnd
+ tryfaintmon BS_TARGET, 0x0, NULL
+ goto BattleScript_MoveEnd
BattleScript_BideNoEnergyToAttack:: @ 81D8BFC
attackcanceler
- setbyte cEFFECT_CHOOSER, 0xC
- clearstatus BS_ATTACKER
+ setmoveeffect MOVE_EFFECT_CHARGING
+ clearstatusfromeffect BS_ATTACKER
printstring STRINGID_PKMNUNLEASHEDENERGY
waitmessage 0x40
- jump BattleScript_ButItFailed
+ goto BattleScript_ButItFailed
BattleScript_SuccessForceOut:: @ 81D8C10
attackanimation
waitanimation
- atke2 BS_TARGET
- atk58 BS_TARGET
- waitstateatk
+ switchoutabilities BS_TARGET
+ returntoball BS_TARGET
+ waitstate
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8C2C
setbyte gBattleOutcome, 0x5
- atkf6
+ finishaction
BattleScript_81D8C2C:: @ 81D8C2C
- switch1 BS_TARGET
- switch2 BS_TARGET
- switch3 BS_TARGET, 0x0
- waitstateatk
+ getswitchedmondata BS_TARGET
+ switchindataupdate BS_TARGET
+ switchinanim BS_TARGET, 0x0
+ waitstate
printstring STRINGID_PKMNWASDRAGGEDOUT
- atk52 BS_TARGET
- jump BattleScript_MoveEnd
+ switchineffects BS_TARGET
+ goto BattleScript_MoveEnd
BattleScript_MistProtected:: @ 81D8C3E
pause 0x20
@@ -3460,11 +3449,11 @@ BattleScript_RageIsBuilding:: @ 81D8C48
BattleScript_MoveUsedIsDisabled:: @ 81D8C4F
printstring STRINGID_PKMNMOVEISDISABLED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_SelectingDisabledMove:: @ 81D8C5A
- printstring2 STRINGID_PKMNMOVEISDISABLED
- atk44
+ printselectionstring STRINGID_PKMNMOVEISDISABLED
+ endselectionscript
BattleScript_DisabledNoMore:: @ 81D8C5E
printstring STRINGID_PKMNMOVEDISABLEDNOMORE
@@ -3480,58 +3469,55 @@ BattleScript_DestinyBondTakesLife:: @ 81D8C6C
printstring STRINGID_PKMNTOOKFOE
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
- faintpokemon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_ATTACKER, 0x0, NULL
return
BattleScript_SpikesOnAttacker:: @ 81D8C87
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
- callatk BattleScript_81D8D2C
- faintpokemon BS_ATTACKER, 0x0, NULL
- faintpokemon BS_ATTACKER, 0x1, BattleScript_81D8CA8
+ call BattleScript_81D8D2C
+ tryfaintmon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_ATTACKER, 0x1, BattleScript_81D8CA8
return
BattleScript_81D8CA8:: @ 81D8CA8
setbyte sGIVEEXP_STATE, 0x0
- atk23 BS_ATTACKER
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x0, 0x0
- jump BattleScript_HandleFaintedMon
+ getexp BS_ATTACKER
+ moveendall
+ goto BattleScript_HandleFaintedMon
BattleScript_SpikesOnTarget:: @ 81D8CBE
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_TARGET
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
- callatk BattleScript_81D8D2C
- faintpokemon BS_TARGET, 0x0, NULL
- faintpokemon BS_TARGET, 0x1, BattleScript_81D8CDF
+ call BattleScript_81D8D2C
+ tryfaintmon BS_TARGET, 0x0, NULL
+ tryfaintmon BS_TARGET, 0x1, BattleScript_81D8CDF
return
BattleScript_81D8CDF:: @ 81D8CDF
setbyte sGIVEEXP_STATE, 0x0
- atk23 BS_TARGET
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x0, 0x0
- jump BattleScript_HandleFaintedMon
+ getexp BS_TARGET
+ moveendall
+ goto BattleScript_HandleFaintedMon
BattleScript_SpikesOnFaintedBattler:: @ 81D8CF5
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_FAINTED
+ healthbarupdate BS_FAINTED
datahpupdate BS_FAINTED
- callatk BattleScript_81D8D2C
- faintpokemon BS_FAINTED, 0x0, NULL
- faintpokemon BS_FAINTED, 0x1, BattleScript_81D8D16
+ call BattleScript_81D8D2C
+ tryfaintmon BS_FAINTED, 0x0, NULL
+ tryfaintmon BS_FAINTED, 0x1, BattleScript_81D8D16
return
BattleScript_81D8D16:: @ 81D8D16
setbyte sGIVEEXP_STATE, 0x0
- atk23 BS_FAINTED
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x0, 0x0
- jump BattleScript_HandleFaintedMon
+ getexp BS_FAINTED
+ moveendall
+ goto BattleScript_HandleFaintedMon
BattleScript_81D8D2C:: @ 81D8D2C
printstring STRINGID_PKMNHURTBYSPIKES
@@ -3542,9 +3528,9 @@ BattleScript_PerishSongTakesLife:: @ 81D8D33
printstring STRINGID_PKMNPERISHCOUNTFELL
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
- faintpokemon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_ATTACKER, 0x0, NULL
end2
BattleScript_PerishSongCountGoesDown:: @ 81D8D4E
@@ -3553,40 +3539,40 @@ BattleScript_PerishSongCountGoesDown:: @ 81D8D4E
end2
BattleScript_AllStatsUp:: @ 81D8D55
- jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_81D8D82
- jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_81D8D82
- jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 0xC, BattleScript_81D8D82
- jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_81D8D82
- jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_81D8DF0
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x1, 0xC, BattleScript_81D8D82
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x2, 0xC, BattleScript_81D8D82
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x3, 0xC, BattleScript_81D8D82
+ jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x4, 0xC, BattleScript_81D8D82
+ jumpifstat BS_ATTACKER, CMP_EQUAL, 0x5, 0xC, BattleScript_81D8DF0
BattleScript_81D8D82:: @ 81D8D82
setbyte sSTAT_ANIM_PLAYED, 0x0
playstatchangeanimation BS_ATTACKER, 0x3E, 0x0
- setbyte sSTATCHANGER, 0x11
+ setstatchanger STAT_ATK, 1, FALSE
statbuffchange 0x41, BattleScript_81D8DA0
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D8DA0:: @ 81D8DA0
- setbyte sSTATCHANGER, 0x12
+ setstatchanger STAT_DEF, 1, FALSE
statbuffchange 0x41, BattleScript_81D8DB4
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D8DB4:: @ 81D8DB4
- setbyte sSTATCHANGER, 0x13
+ setstatchanger STAT_SPEED, 1, FALSE
statbuffchange 0x41, BattleScript_81D8DC8
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D8DC8:: @ 81D8DC8
- setbyte sSTATCHANGER, 0x14
+ setstatchanger STAT_SPATK, 1, FALSE
statbuffchange 0x41, BattleScript_81D8DDC
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_81D8DDC:: @ 81D8DDC
- setbyte sSTATCHANGER, 0x15
+ setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange 0x41, BattleScript_81D8DF0
printfromtable gStatUpStringIds
waitmessage 0x40
@@ -3595,7 +3581,7 @@ BattleScript_81D8DF0:: @ 81D8DF0
return
BattleScript_RapidSpinAway:: @ 81D8DF1
- breakfree
+ rapidspinfree
return
BattleScript_WrapFree:: @ 81D8DF3
@@ -3619,36 +3605,34 @@ BattleScript_MonTookFutureAttack:: @ 81D8E12
waitmessage 0x40
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8E2F
accuracycheck BattleScript_81D8E86, 0xF8
- jump BattleScript_81D8E36
+ goto BattleScript_81D8E36
BattleScript_81D8E2F:: @ 81D8E2F
accuracycheck BattleScript_81D8E86, 0x161
BattleScript_81D8E36:: @ 81D8E36
- atk8
+ adjustnormaldamage2
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8E4E
playanimation BS_ATTACKER, B_ANIM_FUTURE_SIGHT_HIT, NULL
- jump BattleScript_81D8E55
+ goto BattleScript_81D8E55
BattleScript_81D8E4E:: @ 81D8E4E
playanimation BS_ATTACKER, B_ANIM_DOOM_DESIRE_HIT, NULL
BattleScript_81D8E55:: @ 81D8E55
- missmessage
- atk5c BS_TARGET
- waitstateatk
- graphicalhpupdate BS_TARGET
+ effectivenesssound
+ hitanimation BS_TARGET
+ waitstate
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
resultmessage
waitmessage 0x40
- faintpokemon BS_TARGET, 0x0, NULL
+ tryfaintmon BS_TARGET, 0x0, NULL
atk24 BattleScript_81D8E6D
BattleScript_81D8E6D:: @ 81D8E6D
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x1, 0x0
- setbyte sMOVEEND_STATE, 0xB
- atk49 0x2, 0xE
+ moveendcase 0x0
+ moveendfromto 0xB, 0xE
setbyte gMoveResultFlags, 0x0
end2
@@ -3662,43 +3646,43 @@ BattleScript_81D8E86:: @ 81D8E86
end2
BattleScript_NoMovesLeft:: @ 81D8EA0
- printstring2 STRINGID_PKMNHASNOMOVESLEFT
- atk44
+ printselectionstring STRINGID_PKMNHASNOMOVESLEFT
+ endselectionscript
BattleScript_SelectingMoveWithNoPP:: @ 81D8EA4
- printstring2 STRINGID_NOPPLEFT
- atk44
+ printselectionstring STRINGID_NOPPLEFT
+ endselectionscript
BattleScript_NoPPForMove:: @ 81D8EA8
attackstring
pause 0x20
printstring STRINGID_BUTNOPPLEFT
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_SelectingTormentedMove:: @ 81D8EB7
- printstring2 STRINGID_PKMNCANTUSEMOVETORMENT
- atk44
+ printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT
+ endselectionscript
printstring STRINGID_PKMNCANTUSEMOVETORMENT
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_SelectingNotAllowedMoveTaunt:: @ 81D8EC6
- printstring2 STRINGID_PKMNCANTUSEMOVETAUNT
- atk44
+ printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT
+ endselectionscript
BattleScript_MoveUsedIsTaunted:: @ 81D8ECA
printstring STRINGID_PKMNCANTUSEMOVETAUNT
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_WishComesTrue:: @ 81D8ED5
- atkd4 0x1, BattleScript_81D8EFC
+ trywish 0x1, BattleScript_81D8EFC
playanimation BS_TARGET, B_ANIM_WISH_HEAL, NULL
printstring STRINGID_PKMNWISHCAMETRUE
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_TARGET
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
printstring STRINGID_PKMNREGAINEDHEALTH
waitmessage 0x40
@@ -3717,7 +3701,7 @@ BattleScript_IngrainTurnHeal:: @ 81D8F0C
printstring STRINGID_PKMNABSORBEDNUTRIENTS
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
end2
@@ -3725,13 +3709,13 @@ BattleScript_81D8F27:: @ 81D8F27
pause 0x20
printstring STRINGID_PKMNANCHOREDITSELF
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_AtkDefDown:: @ 81D8F35
setbyte sSTAT_ANIM_PLAYED, 0x0
playstatchangeanimation BS_ATTACKER, 0x6, 0xD
playstatchangeanimation BS_ATTACKER, 0x2, 0x9
- setbyte sSTATCHANGER, 0x91
+ setstatchanger STAT_ATK, 1, TRUE
statbuffchange 0xC1, BattleScript_81D8F62
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8F62
printfromtable gStatDownStringIds
@@ -3739,7 +3723,7 @@ BattleScript_AtkDefDown:: @ 81D8F35
BattleScript_81D8F62:: @ 81D8F62
playstatchangeanimation BS_ATTACKER, 0x4, 0x9
- setbyte sSTATCHANGER, 0x92
+ setstatchanger STAT_DEF, 1, TRUE
statbuffchange 0xC1, BattleScript_81D8F85
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8F85
printfromtable gStatDownStringIds
@@ -3757,11 +3741,11 @@ BattleScript_KnockedOff:: @ 81D8F86
BattleScript_MoveUsedIsImprisoned:: @ 81D8F94
printstring STRINGID_PKMNCANTUSEMOVESEALED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_SelectingImprisonedMove:: @ 81D8F9F
- printstring2 STRINGID_PKMNCANTUSEMOVESEALED
- atk44
+ printselectionstring STRINGID_PKMNCANTUSEMOVESEALED
+ endselectionscript
BattleScript_GrudgeTakesPp:: @ 81D8FA3
printstring STRINGID_PKMNLOSTPPGRUDGE
@@ -3775,18 +3759,18 @@ BattleScript_MagicCoatBounce:: @ 81D8FAA
printstring STRINGID_PKMNMOVEBOUNCED
waitmessage 0x40
orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
- atk76 0x1, BS_ATTACKER
+ various BS_ATTACKER, 0x1
return
BattleScript_SnatchedMove:: @ 81D8FC2
attackstring
ppreduce
- snatchmove
+ snatchsetbattlers
playanimation BS_TARGET, B_ANIM_SNATCH_MOVE, NULL
printstring STRINGID_PKMNSNATCHEDMOVE
waitmessage 0x40
orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
- atk5f
+ swapattackerwithtarget
return
BattleScript_EnduredMsg:: @ 81D8FDD
@@ -3802,7 +3786,7 @@ BattleScript_OneHitKOMsg:: @ 81D8FE4
BattleScript_SAtkDown2:: @ 81D8FEB
setbyte sSTAT_ANIM_PLAYED, 0x0
playstatchangeanimation BS_ATTACKER, 0x10, 0xB
- setbyte sSTATCHANGER, 0xA4
+ setstatchanger STAT_SPATK, 2, TRUE
statbuffchange 0xC1, BattleScript_81D9014
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D9014
printfromtable gStatDownStringIds
@@ -3823,19 +3807,19 @@ BattleScript_MoveUsedIsAsleep:: @ 81D9029
printstring STRINGID_PKMNFASTASLEEP
waitmessage 0x40
statusanimation BS_ATTACKER
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_MoveUsedWokeUp:: @ 81D9036
bicword gHitMarker, 0x10
printfromtable gWokeUpStringIds
waitmessage 0x40
- atk98 0x1
+ updatestatusicon BS_ATTACKER
return
BattleScript_MonWokeUpInUproar:: @ 81D904A
printstring STRINGID_PKMNWOKEUPINUPROAR
waitmessage 0x40
- atk98 0x1
+ updatestatusicon BS_ATTACKER
end2
BattleScript_PoisonTurnDmg:: @ 81D9053
@@ -3847,9 +3831,9 @@ BattleScript_81D9059:: @ 81D9059
BattleScript_81D905B:: @ 81D905B
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
- faintpokemon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_ATTACKER, 0x0, NULL
atk24 BattleScript_81D9074
BattleScript_81D9074:: @ 81D9074
@@ -3858,37 +3842,37 @@ BattleScript_81D9074:: @ 81D9074
BattleScript_BurnTurnDmg:: @ 81D9075
printstring STRINGID_PKMNHURTBYBURN
waitmessage 0x40
- jump BattleScript_81D9059
+ goto BattleScript_81D9059
BattleScript_MoveUsedIsFrozen:: @ 81D9080
printstring STRINGID_PKMNISFROZEN
waitmessage 0x40
statusanimation BS_ATTACKER
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_MoveUsedUnfroze:: @ 81D908D
printfromtable gGotDefrostedStringIds
waitmessage 0x40
- atk98 0x1
+ updatestatusicon BS_ATTACKER
return
BattleScript_DefrostedViaFireMove:: @ 81D9098
printstring STRINGID_PKMNWASDEFROSTED
waitmessage 0x40
- atk98 0x0
+ updatestatusicon BS_TARGET
return
BattleScript_MoveUsedIsParalyzed:: @ 81D90A1
printstring STRINGID_PKMNISPARALYZED
waitmessage 0x40
statusanimation BS_ATTACKER
- atk76 0x1, BS_TARGET
- jump BattleScript_MoveEnd
+ various BS_ATTACKER, 0x0
+ goto BattleScript_MoveEnd
BattleScript_MoveUsedFlinched:: @ 81D90B1
printstring STRINGID_PKMNFLINCHED
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_PrintUproarOverTurns:: @ 81D90BC
printfromtable gUproarOverTurnStringIds
@@ -3896,7 +3880,7 @@ BattleScript_PrintUproarOverTurns:: @ 81D90BC
end2
BattleScript_ThrashConfuses:: @ 81D90C5
- atk66 0x1, 0x1, 0x7
+ chosenstatusanimation BS_ATTACKER, 0x1, 0x7
printstring STRINGID_PKMNFATIGUECONFUSION
waitmessage 0x40
end2
@@ -3904,24 +3888,24 @@ BattleScript_ThrashConfuses:: @ 81D90C5
BattleScript_MoveUsedIsConfused:: @ 81D90D3
printstring STRINGID_PKMNISCONFUSED
waitmessage 0x40
- atk65 0x1, STATUS2_CONFUSION
+ status2animation BS_ATTACKER, 0x7
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D9115
BattleScript_81D90EA:: @ 81D90EA
- atk76 0x1, BS_TARGET
- atk8
+ various BS_ATTACKER, 0x0
+ adjustnormaldamage2
printstring STRINGID_ITHURTCONFUSION
waitmessage 0x40
- missmessage
- atk5c BS_ATTACKER
- waitstateatk
+ effectivenesssound
+ hitanimation BS_ATTACKER
+ waitstate
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
resultmessage
waitmessage 0x40
- faintpokemon BS_ATTACKER, 0x0, NULL
- jump BattleScript_MoveEnd
+ tryfaintmon BS_ATTACKER, 0x0, NULL
+ goto BattleScript_MoveEnd
BattleScript_81D9115:: @ 81D9115
return
@@ -3940,7 +3924,7 @@ BattleScript_WrapTurnDmg:: @ 81D9124
playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1
printstring STRINGID_PKMNHURTBY
waitmessage 0x40
- jump BattleScript_81D905B
+ goto BattleScript_81D905B
BattleScript_WrapEnds:: @ 81D9136
printstring STRINGID_PKMNFREEDFROM
@@ -3950,47 +3934,47 @@ BattleScript_WrapEnds:: @ 81D9136
BattleScript_MoveUsedIsInLove:: @ 81D913D
printstring STRINGID_PKMNINLOVE
waitmessage 0x40
- atk65 0x1, STATUS2_INFATUATION
+ status2animation BS_ATTACKER, 0xF0000
return
BattleScript_MoveUsedIsInLoveCantAttack:: @ 81D914A
printstring STRINGID_PKMNIMMOBILIZEDBYLOVE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_NightmareTurnDmg:: @ 81D9155
printstring STRINGID_PKMNLOCKEDINNIGHTMARE
waitmessage 0x40
- atk65 0x1, STATUS2_NIGHTMARE
- jump BattleScript_81D905B
+ status2animation BS_ATTACKER, Start
+ goto BattleScript_81D905B
BattleScript_CurseTurnDmg:: @ 81D9166
printstring STRINGID_PKMNAFFLICTEDBYCURSE
waitmessage 0x40
- atk65 0x1, STATUS2_CURSED
- jump BattleScript_81D905B
+ status2animation BS_ATTACKER, 0x10000000
+ goto BattleScript_81D905B
BattleScript_TargetPRLZHeal:: @ 81D9177
printstring STRINGID_PKMNHEALEDPARALYSIS
waitmessage 0x40
- atk98 0x0
+ updatestatusicon BS_TARGET
return
gUnknown_81D9180:: @ 81D9180
printstring STRINGID_MONTOOSCAREDTOMOVE
waitmessage 0x40
playanimation BS_ATTACKER, 0x17, NULL
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
gUnknown_81D9192:: @ 81D9192
printstring STRINGID_GHOSTGETOUTGETOUT
playanimation BS_ATTACKER, 0x18, NULL
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
gUnknown_81D91A1:: @ 81D91A1
pause 0x20
printstring STRINGID_SILPHSCOPEUNVEILED
- waitstateatk
+ waitstate
playanimation BS_OPPONENT1, B_ANIM_x19, NULL
pause 0x20
printstring STRINGID_GHOSTWASMAROWAK
@@ -4003,42 +3987,42 @@ BattleScript_MoveEffectSleep:: @ 81D91B9
waitmessage 0x40
BattleScript_81D91C3:: @ 81D91C3
- atk98 0x2
- waitstateatk
+ updatestatusicon BS_EFFECT_BATTLER
+ waitstate
return
BattleScript_YawnMakesAsleep:: @ 81D91C7
statusanimation BS_EFFECT_BATTLER
printstring STRINGID_PKMNFELLASLEEP
waitmessage 0x40
- atk98 0x2
- waitstateatk
- atk6f BS_EFFECT_BATTLER
+ updatestatusicon BS_EFFECT_BATTLER
+ waitstate
+ makevisible BS_EFFECT_BATTLER
end2
BattleScript_MoveEffectPoison:: @ 81D91D5
statusanimation BS_EFFECT_BATTLER
printfromtable gGotPoisonedStringIds
waitmessage 0x40
- jump BattleScript_81D91C3
+ goto BattleScript_81D91C3
BattleScript_MoveEffectBurn:: @ 81D91E4
statusanimation BS_EFFECT_BATTLER
printfromtable gGotBurnedStringIds
waitmessage 0x40
- jump BattleScript_81D91C3
+ goto BattleScript_81D91C3
BattleScript_MoveEffectFreeze:: @ 81D91F3
statusanimation BS_EFFECT_BATTLER
printfromtable gGotFrozenStringIds
waitmessage 0x40
- jump BattleScript_81D91C3
+ goto BattleScript_81D91C3
BattleScript_MoveEffectParalysis:: @ 81D9202
statusanimation BS_EFFECT_BATTLER
printfromtable gGotParalyzedStringIds
waitmessage 0x40
- jump BattleScript_81D91C3
+ goto BattleScript_81D91C3
BattleScript_MoveEffectUproar:: @ 81D9211
printstring STRINGID_PKMNCAUSEDUPROAR
@@ -4049,7 +4033,7 @@ BattleScript_MoveEffectToxic:: @ 81D9218
statusanimation BS_EFFECT_BATTLER
printstring STRINGID_PKMNBADLYPOISONED
waitmessage 0x40
- jump BattleScript_81D91C3
+ goto BattleScript_81D91C3
BattleScript_MoveEffectPayDay:: @ 81D9225
printstring STRINGID_COINSSCATTERED
@@ -4062,22 +4046,22 @@ BattleScript_MoveEffectWrap:: @ 81D922C
return
BattleScript_MoveEffectConfusion:: @ 81D9235
- atk66 0x2, 0x1, 0x7
+ chosenstatusanimation BS_EFFECT_BATTLER, 0x1, 0x7
printstring STRINGID_PKMNWASCONFUSED
waitmessage 0x40
return
BattleScript_MoveEffectRecoil:: @ 81D9243
- jumpifhalfword CMP_EQUAL, gCurrentMove, 0xA5, BattleScript_81D9256
- jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_81D9270
+ jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_81D9256
+ jumpifability 0x1, ABILITY_ROCK_HEAD, BattleScript_81D9270
BattleScript_81D9256:: @ 81D9256
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_PKMNHITWITHRECOIL
waitmessage 0x40
- faintpokemon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_ATTACKER, 0x0, NULL
BattleScript_81D9270:: @ 81D9270
return
@@ -4091,9 +4075,9 @@ BattleScript_ItemSteal:: @ 81D9271
BattleScript_DrizzleActivates:: @ 81D927F
pause 0x20
printstring STRINGID_PKMNMADEITRAIN
- waitstateatk
+ waitstate
playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES, NULL
- callatk BattleScript_81D92DC
+ call BattleScript_81D92DC
end3
BattleScript_SpeedBoostActivates:: @ 81D9293
@@ -4112,46 +4096,46 @@ BattleScript_RainDishActivates:: @ 81D92AB
printstring STRINGID_PKMNSXRESTOREDHPALITTLE2
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
end3
BattleScript_SandstreamActivates:: @ 81D92BF
pause 0x20
printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM
- waitstateatk
+ waitstate
playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES, NULL
- callatk BattleScript_81D92DC
+ call BattleScript_81D92DC
end3
BattleScript_ShedSkinActivates:: @ 81D92D3
printstring STRINGID_PKMNSXCUREDYPROBLEM
waitmessage 0x40
- atk98 0x1
+ updatestatusicon BS_ATTACKER
end3
BattleScript_81D92DC:: @ 81D92DC
setbyte sBATTLER, 0x0
BattleScript_81D92E2:: @ 81D92E2
- castformswitch
+ trycastformdatachange
addbyte sBATTLER, 0x1
jumpifarraynotequal sBATTLER, gBattlersCount, 0x1, BattleScript_81D92E2
return
BattleScript_CastformChange:: @ 81D92F8
- callatk BattleScript_81D92FE
+ call BattleScript_81D92FE
end3
BattleScript_81D92FE:: @ 81D92FE
- actualcastformswitch
- waitstateatk
+ docastformchangeanimation
+ waitstate
printstring STRINGID_PKMNTRANSFORMED
waitmessage 0x40
return
BattleScript_IntimidateActivatesEnd3:: @ 81D9307
- callatk BattleScript_81D930D
+ call BattleScript_81D930D
end3
BattleScript_81D930D:: @ 81D930D
@@ -4159,24 +4143,24 @@ BattleScript_81D930D:: @ 81D930D
BattleScript_IntimidateActivates:: @ 81D9310
setbyte gBattlerTarget, 0x0
- setbyte sSTATCHANGER, 0x91
+ setstatchanger STAT_ATK, 1, TRUE
BattleScript_81D931C:: @ 81D931C
- atke1 BattleScript_81D936A
- jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D935F
- jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_81D936B
- jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_81D936B
- jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_81D936B
+ trygetintimidatetarget BattleScript_81D936A
+ jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D935F
+ jumpifability 0x0, ABILITY_CLEAR_BODY, BattleScript_81D936B
+ jumpifability 0x0, ABILITY_HYPER_CUTTER, BattleScript_81D936B
+ jumpifability 0x0, ABILITY_WHITE_SMOKE, BattleScript_81D936B
statbuffchange 0x21, BattleScript_81D935F
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D935F
- atk47
+ setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
printstring STRINGID_PKMNCUTSATTACKWITH
waitmessage 0x40
BattleScript_81D935F:: @ 81D935F
addbyte gBattlerTarget, 0x1
- jump BattleScript_81D931C
+ goto BattleScript_81D931C
BattleScript_81D936A:: @ 81D936A
return
@@ -4185,14 +4169,14 @@ BattleScript_81D936B:: @ 81D936B
pause 0x20
printstring STRINGID_PREVENTEDFROMWORKING
waitmessage 0x40
- jump BattleScript_81D935F
+ goto BattleScript_81D935F
BattleScript_DroughtActivates:: @ 81D9379
pause 0x20
printstring STRINGID_PKMNSXINTENSIFIEDSUN
- waitstateatk
+ waitstate
playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES, NULL
- callatk BattleScript_81D92DC
+ call BattleScript_81D92DC
end3
BattleScript_TookAttack:: @ 81D938D
@@ -4207,13 +4191,13 @@ BattleScript_SturdyPreventsOHKO:: @ 81D93A1
pause 0x20
printstring STRINGID_PKMNPROTECTEDBY
pause 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_DampStopsExplosion:: @ 81D93AF
pause 0x20
printstring STRINGID_PKMNPREVENTSUSAGE
pause 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_MoveHPDrain_PPLoss:: @ 81D93BD
ppreduce
@@ -4222,12 +4206,12 @@ BattleScript_MoveHPDrain:: @ 81D93BE
attackstring
pause 0x20
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_TARGET
+ healthbarupdate BS_TARGET
datahpupdate BS_TARGET
printstring STRINGID_PKMNRESTOREDHPUSING
waitmessage 0x40
orbyte gMoveResultFlags, 0x8
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_MonMadeMoveUseless_PPLoss:: @ 81D93E0
ppreduce
@@ -4238,7 +4222,7 @@ BattleScript_MonMadeMoveUseless:: @ 81D93E1
printstring STRINGID_PKMNSXMADEYUSELESS
waitmessage 0x40
orbyte gMoveResultFlags, 0x8
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_FlashFireBoost_PPLoss:: @ 81D93F6
ppreduce
@@ -4248,13 +4232,13 @@ BattleScript_FlashFireBoost:: @ 81D93F7
pause 0x20
printfromtable gFlashFireStringIds
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D9408:: @ 81D9408
pause 0x20
printstring STRINGID_PKMNANCHORSITSELFWITH
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_AbilityNoStatLoss:: @ 81D9416
pause 0x20
@@ -4284,19 +4268,19 @@ BattleScript_ObliviousPreventsAttraction:: @ 81D9444
pause 0x20
printstring STRINGID_PKMNPREVENTSROMANCEWITH
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_FlinchPrevention:: @ 81D9452
pause 0x20
printstring STRINGID_PKMNSXPREVENTSFLINCHING
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_81D9460:: @ 81D9460
pause 0x20
printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_SoundproofProtected:: @ 81D946E
attackstring
@@ -4304,7 +4288,7 @@ BattleScript_SoundproofProtected:: @ 81D946E
pause 0x20
printstring STRINGID_PKMNSXBLOCKSY
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_AbilityNoSpecificStatLoss:: @ 81D947E
pause 0x20
@@ -4317,7 +4301,7 @@ BattleScript_StickyHoldActivates:: @ 81D948E
pause 0x20
printstring STRINGID_PKMNSXMADEYINEFFECTIVE
waitmessage 0x40
- jump BattleScript_MoveEnd
+ goto BattleScript_MoveEnd
BattleScript_ColorChangeActivates:: @ 81D949C
printstring STRINGID_PKMNCHANGEDTYPEWITH
@@ -4326,67 +4310,64 @@ BattleScript_ColorChangeActivates:: @ 81D949C
BattleScript_RoughSkinActivates:: @ 81D94A3
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_PKMNHURTSWITH
waitmessage 0x40
- faintpokemon BS_ATTACKER, 0x0, NULL
+ tryfaintmon BS_ATTACKER, 0x0, NULL
return
BattleScript_CuteCharmActivates:: @ 81D94BE
- atk65 0x1, STATUS2_INFATUATION
+ status2animation BS_ATTACKER, 0xF0000
printstring STRINGID_PKMNSXINFATUATEDY
waitmessage 0x40
return
BattleScript_ApplySecondaryEffect:: @ 81D94CB
- waitstateatk
- seteffectuser
+ waitstate
+ seteffectsecondary
return
BattleScript_SynchronizeActivates:: @ 81D94CE
- waitstateatk
- seteffecttarget
+ waitstate
+ seteffectprimary
return
BattleScript_AbilityCuredStatus:: @ 81D94D1
printstring STRINGID_PKMNSXCUREDITSYPROBLEM
waitmessage 0x40
- atk98 0xA
+ updatestatusicon BS_SCRIPTING
return
BattleScript_IgnoresWhileAsleep:: @ 81D94DA
printstring STRINGID_PKMNIGNORESASLEEP
waitmessage 0x40
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
+ moveendto 0x10
end
BattleScript_IgnoresAndUsesRandomMove:: @ 81D94EA
printstring STRINGID_PKMNIGNOREDORDERS
waitmessage 0x40
- jumptoattack BS_TARGET
+ jumptocalledmove 0x0
BattleScript_MoveUsedLoafingAround:: @ 81D94F2
printfromtable gInobedientStringIds
waitmessage 0x40
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
+ moveendto 0x10
end
BattleScript_IgnoresAndFallsAsleep:: @ 81D9504
printstring STRINGID_PKMNBEGANTONAP
waitmessage 0x40
- setbyte cEFFECT_CHOOSER, 0x41
- seteffecttarget
- setbyte sMOVEEND_STATE, 0x0
- atk49 0x2, 0x10
+ setmoveeffect MOVE_EFFECT_SLEEP | MOVE_EFFECT_AFFECTS_USER
+ seteffectprimary
+ moveendto 0x10
end
BattleScript_IgnoresAndHitsItself:: @ 81D951B
printstring STRINGID_PKMNWONTOBEY
waitmessage 0x40
- jump BattleScript_81D90EA
+ goto BattleScript_81D90EA
BattleScript_SubstituteFade:: @ 81D9526
playanimation BS_TARGET, B_ANIM_SUBSTITUTE_FADE, NULL
@@ -4394,67 +4375,67 @@ BattleScript_SubstituteFade:: @ 81D9526
return
BattleScript_BerryCurePrlzEnd2:: @ 81D9531
- callatk BattleScript_BerryCureParRet
+ call BattleScript_BerryCureParRet
end2
BattleScript_BerryCureParRet:: @ 81D9537
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
printstring STRINGID_PKMNSITEMCUREDPARALYSIS
waitmessage 0x40
- atk98 0xA
+ updatestatusicon BS_SCRIPTING
removeitem BS_SCRIPTING
return
BattleScript_BerryCurePsnEnd2:: @ 81D9549
- callatk BattleScript_BerryCurePsnRet
+ call BattleScript_BerryCurePsnRet
end2
BattleScript_BerryCurePsnRet:: @ 81D954F
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
printstring STRINGID_PKMNSITEMCUREDPOISON
waitmessage 0x40
- atk98 0xA
+ updatestatusicon BS_SCRIPTING
removeitem BS_SCRIPTING
return
BattleScript_BerryCureBrnEnd2:: @ 81D9561
- callatk BattleScript_BerryCureBrnRet
+ call BattleScript_BerryCureBrnRet
end2
BattleScript_BerryCureBrnRet:: @ 81D9567
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
printstring STRINGID_PKMNSITEMHEALEDBURN
waitmessage 0x40
- atk98 0xA
+ updatestatusicon BS_SCRIPTING
removeitem BS_SCRIPTING
return
BattleScript_BerryCureFrzEnd2:: @ 81D9579
- callatk BattleScript_BerryCureFrzRet
+ call BattleScript_BerryCureFrzRet
end2
BattleScript_BerryCureFrzRet:: @ 81D957F
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
printstring STRINGID_PKMNSITEMDEFROSTEDIT
waitmessage 0x40
- atk98 0xA
+ updatestatusicon BS_SCRIPTING
removeitem BS_SCRIPTING
return
BattleScript_BerryCureSlpEnd2:: @ 81D9591
- callatk BattleScript_BerryCureSlpRet
+ call BattleScript_BerryCureSlpRet
end2
BattleScript_BerryCureSlpRet:: @ 81D9597
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
printstring STRINGID_PKMNSITEMWOKEIT
waitmessage 0x40
- atk98 0xA
+ updatestatusicon BS_SCRIPTING
removeitem BS_SCRIPTING
return
BattleScript_BerryCureConfusionEnd2:: @ 81D95A9
- callatk BattleScript_BerryCureConfusionRet
+ call BattleScript_BerryCureConfusionRet
end2
BattleScript_BerryCureConfusionRet:: @ 81D95AF
@@ -4465,19 +4446,19 @@ BattleScript_BerryCureConfusionRet:: @ 81D95AF
return
BattleScript_BerryCureChosenStatusEnd2:: @ 81D95BF
- callatk BattleScript_BerryCureChosenStatusRet
+ call BattleScript_BerryCureChosenStatusRet
end2
BattleScript_BerryCureChosenStatusRet:: @ 81D95C5
playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL
printfromtable gBerryEffectStringIds
waitmessage 0x40
- atk98 0xA
+ updatestatusicon BS_SCRIPTING
removeitem BS_SCRIPTING
return
BattleScript_WhiteHerbEnd2:: @ 81D95D9
- callatk BattleScript_WhiteHerbRet
+ call BattleScript_WhiteHerbRet
end2
BattleScript_WhiteHerbRet:: @ 81D95DF
@@ -4492,7 +4473,7 @@ BattleScript_ItemHealHP_RemoveItem:: @ 81D95EF
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
removeitem BS_ATTACKER
end2
@@ -4505,7 +4486,7 @@ BattleScript_BerryPPHealEnd2:: @ 81D960C
end2
BattleScript_ItemHealHP_End2:: @ 81D961C
- callatk BattleScript_ItemHealHP_Ret
+ call BattleScript_ItemHealHP_Ret
end2
BattleScript_ItemHealHP_Ret:: @ 81D9622
@@ -4513,13 +4494,13 @@ BattleScript_ItemHealHP_Ret:: @ 81D9622
printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
return
BattleScript_SelectingNotAllowedMoveChoiceItem:: @ 81D963D
- printstring2 STRINGID_ITEMALLOWSONLYYMOVE
- atk44
+ printselectionstring STRINGID_ITEMALLOWSONLYYMOVE
+ endselectionscript
BattleScript_HangedOnMsg:: @ 81D9641
playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL
@@ -4532,12 +4513,12 @@ BattleScript_BerryConfuseHealEnd2:: @ 81D964F
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- graphicalhpupdate BS_ATTACKER
+ healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
printstring STRINGID_FORXCOMMAYZ
waitmessage 0x40
- setbyte cEFFECT_CHOOSER, 0x47
- seteffecttarget
+ setmoveeffect MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER
+ seteffectprimary
removeitem BS_ATTACKER
end2
@@ -4547,7 +4528,7 @@ BattleScript_BerryStatRaiseEnd2:: @ 81D9679
BattleScript_81D9686:: @ 81D9686
setbyte cMULTISTRING_CHOOSER, 0x4
- callatk BattleScript_StatUp
+ call BattleScript_StatUp
removeitem BS_ATTACKER
end2
@@ -4559,8 +4540,8 @@ BattleScript_BerryFocusEnergyEnd2:: @ 81D9694
end2
BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D96A4
- printstring2 STRINGID_ITEMSCANTBEUSEDNOW
- atk44
+ printselectionstring STRINGID_ITEMSCANTBEUSEDNOW
+ endselectionscript
BattleScript_FlushMessageBox:: @ 81D96A8
printstring STRINGID_EMPTYSTRING3
diff --git a/include/constants/battle.h b/include/constants/battle.h
index 910b50562..e025af630 100644
--- a/include/constants/battle.h
+++ b/include/constants/battle.h
@@ -215,6 +215,7 @@
#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)
// Move Effects
+#define MOVE_EFFECT_NOTHING_0 0x0
#define MOVE_EFFECT_SLEEP 0x1
#define MOVE_EFFECT_POISON 0x2
#define MOVE_EFFECT_BURN 0x3