diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-12-27 15:43:22 -0600 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2017-12-27 15:43:29 -0600 |
commit | 4767f21f2e72ae89ab542d61a86d5fbbe85df1a2 (patch) | |
tree | 985706af891626bcf4335ad26758dbdcef617cf5 | |
parent | 16e0d8089194a8d098da47c7a7b07fbc4dcc0292 (diff) |
Port updated battle_script macros from pokeemerald
-rw-r--r-- | asm/macros/battle_script.inc | 403 | ||||
-rw-r--r-- | constants/battle_script_constants.inc | 13 | ||||
-rw-r--r-- | constants/misc_constants.inc | 4 | ||||
-rw-r--r-- | data/battle_scripts_1.s | 1729 | ||||
-rw-r--r-- | data/battle_scripts_2.s | 85 | ||||
-rw-r--r-- | include/battle.h | 2 | ||||
-rw-r--r-- | include/field_fadetransition.h | 2 | ||||
-rw-r--r-- | src/battle/battle_4.c | 696 | ||||
-rw-r--r-- | src/field/field_fadetransition.c | 2 | ||||
-rw-r--r-- | src/field/overworld.c | 2 |
10 files changed, 1529 insertions, 1409 deletions
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 5dd1d5a1a..3a6eccc99 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -34,19 +34,19 @@ .byte 0x04 .endm - .macro atk5 + .macro damagecalc .byte 0x05 .endm - .macro atk6 + .macro typecalc .byte 0x06 .endm - .macro atk7 + .macro adjustnormaldamage .byte 0x07 .endm - .macro atk8 + .macro adjustnormaldamage2 .byte 0x08 .endm @@ -58,7 +58,7 @@ .byte 0x0a .endm - .macro graphicalhpupdate bank + .macro healthbarupdate bank .byte 0x0b .byte \bank .endm @@ -72,7 +72,7 @@ .byte 0x0d .endm - .macro missmessage + .macro effectivenesssound .byte 0x0e .endm @@ -85,7 +85,7 @@ .2byte \string .endm - .macro printstring2 string + .macro printselectionstring string .byte 0x11 .2byte \string .endm @@ -100,41 +100,41 @@ .4byte \table .endm - .macro printfromtable2 table + .macro printselectionstringfromtable table .byte 0x14 .4byte \table .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 bank .byte 0x18 .byte \bank .endm - .macro faintpokemon bank, param2, param3 + .macro tryfaintmon bank, param2, param3 .byte 0x19 .byte \bank .byte \param2 .4byte \param3 .endm - .macro atk1a param1 + .macro dofaintanimation param1 .byte 0x1a .byte \param1 .endm - .macro atk1b bank + .macro cleareffectsonfaint bank .byte 0x1b .byte \bank .endm @@ -146,7 +146,7 @@ .4byte \address .endm - .macro jumpifsecondarytstatus bank, status, address + .macro jumpifstatus2 bank, status, address .byte 0x1d .byte \bank .4byte \status @@ -160,7 +160,7 @@ .4byte \address .endm - .macro jumpifhalverset bank, status, address + .macro jumpifsideaffecting bank, status, address .byte 0x1f .byte \bank .2byte \status @@ -176,7 +176,7 @@ .4byte \address .endm - .macro jumpifspecialstatusflag bank, mask, status, address + .macro jumpifstatus3condition bank, mask, status, address .byte 0x21 .byte \bank .4byte \mask @@ -191,7 +191,7 @@ .4byte \address .endm - .macro atk23 bank + .macro getexp bank .byte 0x23 .byte \bank .endm @@ -201,21 +201,21 @@ .4byte \address .endm - .macro atk25 + .macro movevaluescleanup .byte 0x25 .endm - .macro atk26 param1 + .macro setmultihit param1 .byte 0x26 .byte \param1 .endm - .macro atk27 address + .macro decrementmultihit address .byte 0x27 .4byte \address .endm - .macro jump address + .macro goto address .byte 0x28 .4byte \address .endm @@ -272,7 +272,7 @@ .byte \value .endm - .macro subtractbyte pointer, value + .macro subbyte pointer, value .byte 0x30 .4byte \pointer .byte \value @@ -285,7 +285,7 @@ .byte \size .endm - .macro atk32 param1, param2, param3, byte + .macro copyarraywithindex param1, param2, param3, byte .byte 0x32 .4byte \param1 .4byte \param2 @@ -334,11 +334,11 @@ .2byte \pause_duration .endm - .macro waitstateatk + .macro waitstate .byte 0x3a .endm - .macro somethinghealatk3b bank + .macro healthbar_update bank .byte 0x3b .byte \bank .endm @@ -359,12 +359,12 @@ .byte 0x3f .endm - .macro atk40 address + .macro jumpifaffectedbyprotect address .byte 0x40 .4byte \address .endm - .macro callatk address + .macro call address .byte 0x41 .4byte \address .endm @@ -382,7 +382,7 @@ .4byte \address .endm - .macro atk44 + .macro endselectionscript .byte 0x44 .endm @@ -393,14 +393,14 @@ .4byte \var_address .endm - .macro atk46 bank, address, int + .macro playanimation2 bank, address, int .byte 0x46 .byte \bank .4byte \address .4byte \int .endm - .macro atk47 + .macro setgraphicalstatchangevalues .byte 0x47 .endm @@ -411,37 +411,37 @@ .byte \byte .endm - .macro atk49 byte1, byte2 + .macro moveend byte1, byte2 .byte 0x49 .byte \byte1 .byte \byte2 .endm - .macro damagecalc2 + .macro typecalc2 .byte 0x4a .endm - .macro atk4b + .macro returnatktoball .byte 0x4b .endm - .macro switch1 bank + .macro getswitchedmondata bank .byte 0x4c .byte \bank .endm - .macro switch2 bank + .macro switchindataupdate bank .byte 0x4d .byte \bank .endm - .macro switch3 bank, byte + .macro switchinanim bank, byte .byte 0x4e .byte \bank .byte \byte .endm - .macro jumpifcannotswitch bank, address + .macro jumpifcantswitch bank, address .byte 0x4f .byte \bank .4byte \address @@ -453,33 +453,33 @@ .4byte \address .endm - .macro atk51 bank, param2 + .macro switchhandleorder bank, param2 .byte 0x51 .byte \bank .byte \param2 .endm - .macro atk52 bank + .macro switchineffects bank .byte 0x52 .byte \bank .endm - .macro atk53 bank + .macro trainerslidein bank .byte 0x53 .byte \bank .endm - .macro atk54 word + .macro playse word .byte 0x54 .2byte \word .endm - .macro atk55 int + .macro fanfare int .byte 0x55 .4byte \int .endm - .macro atk56 bank_or_side + .macro playfaintcry bank_or_side .byte 0x56 .byte \bank_or_side .endm @@ -488,34 +488,34 @@ .byte 0x57 .endm - .macro atk58 bank + .macro returntoball bank .byte 0x58 .byte \bank .endm - .macro checkiflearnmoveinbattle param1, param2, bank_maybe + .macro handlelearnnewmove param1, param2, bank_maybe .byte 0x59 .4byte \param1 .4byte \param2 .byte \bank_maybe .endm - .macro atk5a address + .macro yesnoboxlearnmove address .byte 0x5a .4byte \address .endm - .macro atk5b address + .macro yesnoboxstoplearningmove address .byte 0x5b .4byte \address .endm - .macro atk5c bank + .macro hitanimation bank .byte 0x5c .byte \bank .endm - .macro atk5d + .macro getmoneyreward .byte 0x5d .endm @@ -528,12 +528,12 @@ .byte 0x5f .endm - .macro atk60 byte + .macro incrementgamestat byte .byte 0x60 .byte \byte .endm - .macro atk61 bank_or_side + .macro drawpartystatussummary bank_or_side .byte 0x61 .byte \bank_or_side .endm @@ -543,7 +543,7 @@ .byte \bank_or_side .endm - .macro jumptoattack bank + .macro jumptorandomattack bank .byte 0x63 .byte \bank .endm @@ -553,28 +553,28 @@ .byte \bank .endm - .macro atk65 bank_or_side, address + .macro status2animation bank_or_side, address .byte 0x65 .byte \bank_or_side .4byte \address .endm - .macro atk66 bank_or_side, bank_or_side2, address + .macro chosenstatusanimation bank_or_side, bank_or_side2, address .byte 0x66 .byte \bank_or_side .byte \bank_or_side2 .4byte \address .endm - .macro atk67 + .macro yesnobox .byte 0x67 .endm - .macro atk68 + .macro cancelallactions .byte 0x68 .endm - .macro atk69 + .macro adjustsetdamage .byte 0x69 .endm @@ -583,62 +583,62 @@ .byte \bank .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 bank .byte 0x6f .byte \bank .endm - .macro atk70 bank + .macro recordlastability bank .byte 0x70 .byte \bank .endm - .macro atk71 + .macro buffermovetolearn .byte 0x71 .endm - .macro atk72 address + .macro jumpifplayerran address .byte 0x72 .4byte \address .endm - .macro atk73 bank + .macro hpthresholds bank .byte 0x73 .byte \bank .endm - .macro atk74 bank + .macro hpthresholds2 bank .byte 0x74 .byte \bank .endm - .macro atk75 + .macro useitemonopponent .byte 0x75 .endm - .macro atk76 bank, byte + .macro various bank, byte .byte 0x76 .byte \bank .byte \byte .endm - .macro setprotect + .macro setprotectlike .byte 0x77 .endm @@ -646,22 +646,22 @@ .byte 0x78 .endm - .macro setuserhptozero + .macro setatkhptozero .byte 0x79 .endm - .macro jumpwhiletargetvalid address + .macro jumpifnexttargetvalid address .byte 0x7a .4byte \address .endm - .macro setdamageasrestorehalfmaxhp address, byte + .macro tryhealhalfhealth address, byte .byte 0x7b .4byte \address .byte \byte .endm - .macro jumptolastusedattack + .macro trymirrormove .byte 0x7c .endm @@ -673,7 +673,7 @@ .byte 0x7e .endm - .macro setleechseed + .macro setseeded .byte 0x7f .endm @@ -682,7 +682,7 @@ .byte \id .endm - .macro setrest address + .macro trysetrest address .byte 0x81 .4byte \address .endm @@ -692,11 +692,11 @@ .4byte \address .endm - .macro nop3 + .macro nop .byte 0x83 .endm - .macro jumpifcannotsleep address + .macro jumpifcantmakeasleep address .byte 0x84 .4byte \address .endm @@ -710,7 +710,7 @@ .4byte \address .endm - .macro stockpiletohprecovery address + .macro stockpiletohpheal address .byte 0x87 .4byte \address .endm @@ -737,12 +737,12 @@ .byte 0x8c .endm - .macro setloopcounter count + .macro setmultihitcounter count .byte 0x8d .byte \count .endm - .macro atk8e + .macro initmultihitstring .byte 0x8e .endm @@ -751,12 +751,12 @@ .4byte \address .endm - .macro changetypestoenemyattacktype address + .macro tryconversiontypechange address .byte 0x90 .4byte \address .endm - .macro givemoney + .macro givepaydaymoney .byte 0x91 .endm @@ -764,12 +764,12 @@ .byte 0x92 .endm - .macro koplussomethings address + .macro tryKO address .byte 0x93 .4byte \address .endm - .macro gethalfcurrentenemyhp + .macro damagetohalftargethp .byte 0x94 .endm @@ -781,21 +781,21 @@ .byte 0x96 .endm - .macro tryinfatuatetarget address + .macro tryinfatuating address .byte 0x97 .4byte \address .endm - .macro atk98 byte + .macro updatestatusicon byte .byte 0x98 .byte \byte .endm - .macro setmisteffect + .macro setmist .byte 0x99 .endm - .macro setincreasedcriticalchance + .macro setfocusenergy .byte 0x9a .endm @@ -803,20 +803,20 @@ .byte 0x9b .endm - .macro setsubstituteeffect + .macro setsubstitute .byte 0x9c .endm - .macro copyattack address + .macro mimicattackcopy address .byte 0x9d .4byte \address .endm - .macro metronomeeffect + .macro metronome .byte 0x9e .endm - .macro nightshadedamageeffect + .macro dmgtolevel .byte 0x9f .endm @@ -839,12 +839,12 @@ .4byte \address .endm - .macro setencore address + .macro trysetencore address .byte 0xa4 .4byte \address .endm - .macro painsplitdamagecalculator address + .macro painsplitdmgcalc address .byte 0xa5 .4byte \address .endm @@ -863,16 +863,16 @@ .4byte \address .endm - .macro selectrandommovefromusermoves address + .macro trychoosesleeptalkmove address .byte 0xa9 .4byte \address .endm - .macro destinybondeffect + .macro setdestinybond .byte 0xaa .endm - .macro atkab + .macro trysetdestinybondtohappen .byte 0xab .endm @@ -880,12 +880,12 @@ .byte 0xac .endm - .macro reducepprandom address + .macro tryspiteppreduce address .byte 0xad .4byte \address .endm - .macro clearstatusifnotsoundproofed + .macro healpartystatus .byte 0xae .endm @@ -894,7 +894,7 @@ .4byte \address .endm - .macro setspikes address + .macro trysetspikes address .byte 0xb0 .4byte \address .endm @@ -903,7 +903,7 @@ .byte 0xb1 .endm - .macro setperishsong address + .macro trysetperishsong address .byte 0xb2 .4byte \address .endm @@ -912,13 +912,13 @@ .byte 0xb3 .endm - .macro jumpifconfusedandattackmaxed bank, address + .macro jumpifconfusedandstatmaxed bank, address .byte 0xb4 .byte \bank .4byte \address .endm - .macro furycutterdamagecalculation + .macro furycuttercalc .byte 0xb5 .endm @@ -938,7 +938,7 @@ .byte 0xb9 .endm - .macro atkba address + .macro jumpifnopursuitswitchdmg address .byte 0xba .4byte \address .endm @@ -957,11 +957,11 @@ .4byte \address .endm - .macro breakfree + .macro rapidspinfree .byte 0xbe .endm - .macro setcurled + .macro setdefensecurlbit .byte 0xbf .endm @@ -970,30 +970,30 @@ .4byte \address .endm - .macro hiddenpowerdamagecalculation + .macro hiddenpowercalc .byte 0xc1 .endm - .macro selectnexttarget + .macro selectfirstvalidtarget .byte 0xc2 .endm - .macro setfutureattack address + .macro trysetfutureattack address .byte 0xc3 .4byte \address .endm - .macro beatupcalculation address1, address2 + .macro trydobeatup address1, address2 .byte 0xc4 .4byte \address1 .4byte \address2 .endm - .macro hidepreattack + .macro setsemiinvulnerablebit .byte 0xc5 .endm - .macro unhidepostattack + .macro clearsemiinvulnerablebit .byte 0xc6 .endm @@ -1042,28 +1042,28 @@ .4byte \address .endm - .macro sethelpinghand address + .macro trysethelpinghand address .byte 0xd1 .4byte \address .endm - .macro itemswap address + .macro tryswapitems address .byte 0xd2 .4byte \address .endm - .macro copyability address + .macro trycopyability address .byte 0xd3 .4byte \address .endm - .macro atkd4 byte, address + .macro trywish byte, address .byte 0xd4 .byte \byte .4byte \address .endm - .macro setroots address + .macro trysetroots address .byte 0xd5 .4byte \address .endm @@ -1086,17 +1086,17 @@ .byte 0xd9 .endm - .macro abilityswap address + .macro tryswapabilities address .byte 0xda .4byte \address .endm - .macro imprisoneffect address + .macro tryimprision address .byte 0xdb .4byte \address .endm - .macro setgrudge address + .macro trysetgrudge address .byte 0xdc .4byte \address .endm @@ -1110,45 +1110,45 @@ .4byte \address .endm - .macro setmagiccoat address + .macro trysetmagiccoat address .byte 0xdf .4byte \address .endm - .macro setstealstatchange address + .macro trysetsnatch address .byte 0xe0 .4byte \address .endm - .macro atke1 address + .macro trygetintimidatetarget address .byte 0xe1 .4byte \address .endm - .macro atke2 bank + .macro switchoutabilities bank .byte 0xe2 .byte \bank .endm - .macro jumpiffainted bank, address + .macro jumpifhasnohp bank, address .byte 0xe3 .byte \bank .4byte \address .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 @@ -1157,11 +1157,11 @@ .4byte \address .endm - .macro seteffectbyweather + .macro setweatherballtype .byte 0xe9 .endm - .macro recycleitem address + .macro tryrecycleitem address .byte 0xea .4byte \address .endm @@ -1171,58 +1171,167 @@ .4byte \address .endm - .macro pursuitwhenswitched address + .macro pursuitrelated address .byte 0xec .4byte \address .endm - .macro snatchmove + .macro snatchsetbanks .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 address .byte 0xf1 .4byte \address .endm - .macro capturesomethingf2 + .macro displaydexinfo .byte 0xf2 .endm - .macro capturesomethingf3 address + .macro trygivecaughtmonnick address .byte 0xf3 .4byte \address .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 bank .byte 0xf8 .byte \bank .endm + +@ various command changed to more readable macros + .macro cancelmultiturnmoves bank + various \bank, VARIOUS_CANCEL_MULTI_TURN_MOVES + .endm + + .macro setmagiccoattarget bank + various \bank, VARIOUS_SET_MAGIC_COAT_TARGET + .endm + + .macro getifcantrunfrombattle bank + various \bank, VARIOUS_IS_RUNNING_IMPOSSIBLE + .endm + + .macro getmovetarget bank + various \bank, VARIOUS_GET_MOVE_TARGET + .endm + + .macro various4 bank + various \bank, 4 + .endm + + .macro resetintrimidatetracebits bank + various \bank, VARIOUS_RESET_INTIMIDATE_TRACE_BITS + .endm + + .macro updatechoicemoveonlvlup bank + various \bank, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP + .endm + + .macro various7 bank + various \bank, 7 + .endm + + .macro various8 bank + various \bank, 8 + .endm + + .macro various9 bank + various \bank, 9 + .endm + + .macro various10 bank + various \bank, 10 + .endm + + .macro various11 bank + various \bank, 11 + .endm + + .macro various12 bank + various \bank, 12 + .endm + + .macro forfeityesnobox bank + various \bank, VARIOUS_EMIT_YESNOBOX + .endm + + .macro various14 bank + various \bank, 14 + .endm + + .macro various15 bank + various \bank, 15 + .endm + + .macro various16 bank + various \bank, 16 + .endm + + .macro various17 bank + various \bank, 17 + .endm + + .macro waitcry bank + various \bank, VARIOUS_WAIT_CRY + .endm + + .macro returnopponentmon1toball bank + various \bank, VARIOUS_RETURN_OPPONENT_MON1 + .endm + + .macro returnopponentmon2toball bank + various \bank, VARIOUS_RETURN_OPPONENT_MON2 + .endm + + .macro various21 bank + various \bank, 21 + .endm + + .macro various22 bank + various \bank, 22 + .endm + + .macro various23 bank + various \bank, 23 + .endm + + .macro various24 bank + various \bank, 24 + .endm + + .macro setoutcomeonteleport bank + various \bank, VARIOUS_SET_TELEPORT_OUTCOME + .endm + + .macro playtrainerdefeatbgm bank + various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC + .endm diff --git a/constants/battle_script_constants.inc b/constants/battle_script_constants.inc new file mode 100644 index 000000000..291807e0d --- /dev/null +++ b/constants/battle_script_constants.inc @@ -0,0 +1,13 @@ +@ various + .set VARIOUS_CANCEL_MULTI_TURN_MOVES, 0 + .set VARIOUS_SET_MAGIC_COAT_TARGET, 1 + .set VARIOUS_IS_RUNNING_IMPOSSIBLE, 2 + .set VARIOUS_GET_MOVE_TARGET, 3 + .set VARIOUS_RESET_INTIMIDATE_TRACE_BITS, 5 + .set VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP, 6 + .set VARIOUS_EMIT_YESNOBOX, 13 + .set VARIOUS_WAIT_CRY, 18 + .set VARIOUS_RETURN_OPPONENT_MON1, 19 + .set VARIOUS_RETURN_OPPONENT_MON2, 20 + .set VARIOUS_SET_TELEPORT_OUTCOME, 25 + .set VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC, 26 diff --git a/constants/misc_constants.inc b/constants/misc_constants.inc index 5f4330928..bf90fcd1e 100644 --- a/constants/misc_constants.inc +++ b/constants/misc_constants.inc @@ -45,7 +45,3 @@ .equiv PLAYER_TYPE1, 2 .equiv PLAYER_TYPE2, 3 .equiv CURRENT_MOVE, 4 - - .equiv LESS_THAN, 0 - .equiv GREATER_THAN, 1 - .equiv EQUAL, 2 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 4e41bcc20..3041e7a48 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1,7 +1,8 @@ #include "constants/abilities.h" .include "asm/macros.inc" - .include "constants/constants.inc" .include "asm/macros/battle_script.inc" + .include "constants/constants.inc" + .include "constants/battle_script_constants.inc" .section script_data, "aw", %progbits @@ -246,7 +247,7 @@ MoveEffect_Unused8D: @ 81D6F14 MoveEffect_UnusedA3: @ 81D6F14 MoveEffect_VitalThrow: @ 81D6F14 jumpifhalfword 1, gCurrentMove, 57, BattleScript_1D6F3A - jumpifspecialstatusflag TARGET, 0x40000, 1, BattleScript_1D6F3A + jumpifstatus3condition TARGET, 0x40000, 1, BattleScript_1D6F3A orword gHitMarker, 0x40000 setbyte gSharedMem + 0x1601F, 2 @@ -262,28 +263,28 @@ BattleScript_1D6F42: @ 81D6F42 BattleScript_1D6F44:: @ 81D6F44 critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage BattleScript_1D6F48: @ 81D6F48 attackanimation waitanimation - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 - seteffectwithchancetarget - faintpokemon TARGET, 0, 0x0 + seteffectwithchance + tryfaintmon TARGET, 0, 0x0 BattleScript_EndTurn:: @ 81D6F62 setbyte gSharedMem + 0x1600C, 0 - atk49 0, 0 + moveend 0, 0 end BattleScript_1D6F6C: @ 81D6F6C @@ -297,49 +298,49 @@ BattleScript_1D6F74:: @ 81D6F74 pause 32 BattleScript_1D6F77: @ 81D6F77 - missmessage + effectivenesssound resultmessage waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Sleep: @ 81D6F81 attackcanceler attackstring ppreduce - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus TARGET, SLP, BattleScript_1D6FC4 - jumpifcannotsleep BattleScript_1D6FE0 + jumpifcantmakeasleep BattleScript_1D6FE0 jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0 - jumpifhalverset TARGET, 32, BattleScript_1D9037 + jumpifsideaffecting TARGET, 32, BattleScript_1D9037 attackanimation waitanimation setbyte gUnknown_02024D1F + 0x2, 1 - seteffecttarget - jump BattleScript_EndTurn + seteffectprimary + goto BattleScript_EndTurn BattleScript_1D6FC4: @ 81D6FC4 pause 32 printstring BATTLE_TEXT_DefendingAsleep waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D6FD2: @ 81D6FD2 pause 32 printstring BATTLE_TEXT_WasntAffected waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D6FE0: @ 81D6FE0 pause 32 printfromtable BattleTextList_40156A waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_PoisonHit: @ 81D6FF0 MoveEffect_PoisonTail: @ 81D6FF0 setbyte gUnknown_02024D1F + 0x2, 2 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Absorb: @ 81D6FFB attackcanceler @@ -347,15 +348,15 @@ MoveEffect_Absorb: @ 81D6FFB attackstring ppreduce critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 @@ -365,83 +366,83 @@ MoveEffect_Absorb: @ 81D6FFB orword gHitMarker, 0x100 jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_1D7037 setbyte gUnknown_02024D1F + 0x4, 0 - jump BattleScript_1D703F + goto BattleScript_1D703F BattleScript_1D7037: @ 81D7037 manipulatedamage 0 setbyte gUnknown_02024D1F + 0x4, 1 BattleScript_1D703F: @ 81D703F - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7056 printfromtable BattleTextList_4015D0 waitmessage 64 BattleScript_1D7056: @ 81D7056 - faintpokemon USER, 0, 0x0 - faintpokemon TARGET, 0, 0x0 - jump BattleScript_EndTurn + tryfaintmon USER, 0, 0x0 + tryfaintmon TARGET, 0, 0x0 + goto BattleScript_EndTurn MoveEffect_BlazeKick: @ 81D7069 MoveEffect_BurnHit: @ 81D7069 setbyte gUnknown_02024D1F + 0x2, 3 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_FreezeHit: @ 81D7074 setbyte gUnknown_02024D1F + 0x2, 4 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_ParalyzeHit: @ 81D707F setbyte gUnknown_02024D1F + 0x2, 5 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Explosion: @ 81D708A attackcanceler attackstring ppreduce faintifabilitynotdamp - setuserhptozero - waitstateatk + setatkhptozero + waitstate jumpifbyte 5, gBattleMoveFlags, 1, BattleScript_1D70A5 - callatk BattleScript_1D70FB - jump BattleScript_1D70A7 + call BattleScript_1D70FB + goto BattleScript_1D70A7 BattleScript_1D70A5: @ 81D70A5 attackanimation waitanimation BattleScript_1D70A7: @ 81D70A7 - atk25 + movevaluescleanup critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage accuracycheck BattleScript_1D70E0, 0 - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 - faintpokemon TARGET, 0, 0x0 + tryfaintmon TARGET, 0, 0x0 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 - jumpwhiletargetvalid BattleScript_1D70A7 - faintpokemon USER, 0, 0x0 + moveend 2, 16 + jumpifnexttargetvalid BattleScript_1D70A7 + tryfaintmon USER, 0, 0x0 end BattleScript_1D70E0: @ 81D70E0 - missmessage + effectivenesssound resultmessage waitmessage 64 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 - jumpwhiletargetvalid BattleScript_1D70A7 - faintpokemon USER, 0, 0x0 + moveend 2, 16 + jumpifnexttargetvalid BattleScript_1D70A7 + tryfaintmon USER, 0, 0x0 end BattleScript_1D70FB: @ 81D70FB @@ -453,29 +454,29 @@ BattleScript_1D70FB: @ 81D70FB MoveEffect_DreamEater: @ 81D710A attackcanceler - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D711F + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D711F jumpifstatus TARGET, SLP, BattleScript_1D7129 BattleScript_1D711F: @ 81D711F attackstring ppreduce waitmessage 64 - jump BattleScript_1D6FD2 + goto BattleScript_1D6FD2 BattleScript_1D7129: @ 81D7129 accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 @@ -483,38 +484,38 @@ BattleScript_1D7129: @ 81D7129 waitmessage 64 negativedamage orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7167 printstring BATTLE_TEXT_DreamEaten waitmessage 64 BattleScript_1D7167: @ 81D7167 - faintpokemon TARGET, 0, 0x0 - jump BattleScript_EndTurn + tryfaintmon TARGET, 0, 0x0 + goto BattleScript_EndTurn MoveEffect_MirrorMove: @ 81D7173 attackcanceler attackstring pause 64 - jumptolastusedattack + trymirrormove ppreduce orbyte gBattleMoveFlags, 32 printstring BATTLE_TEXT_MirrorFail waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_AttackUp: @ 81D718B setbyte gSharedMem + 0x1601E, 17 - jump BattleScript_1D71B2 + goto BattleScript_1D71B2 MoveEffect_DefenseUp: @ 81D7196 setbyte gSharedMem + 0x1601E, 18 - jump BattleScript_1D71B2 + goto BattleScript_1D71B2 MoveEffect_SpecialAttackUp: @ 81D71A1 setbyte gSharedMem + 0x1601E, 20 - jump BattleScript_1D71B2 + goto BattleScript_1D71B2 MoveEffect_EvasionUp: @ 81D71AC setbyte gSharedMem + 0x1601E, 23 @@ -528,14 +529,14 @@ BattleScript_1D71B3: @ 81D71B3 statbuffchange 65, BattleScript_1D71E0 jumpifbyte 1, gUnknown_02024D1F + 0x4, 2, BattleScript_1D71CE pause 32 - jump BattleScript_1D71D8 + goto BattleScript_1D71D8 BattleScript_1D71CE: @ 81D71CE attackanimation waitanimation BattleScript_1D71D0: @ 81D71D0 - atk47 + setgraphicalstatchangevalues playanimation USER, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 BattleScript_1D71D8: @ 81D71D8 @@ -543,7 +544,7 @@ BattleScript_1D71D8: @ 81D71D8 waitmessage 64 BattleScript_1D71E0: @ 81D71E0 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_StatUp:: @ 81D71E5 playanimation 2, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 @@ -553,26 +554,26 @@ BattleScript_StatUp:: @ 81D71E5 MoveEffect_AttackDown: @ 81D71F5 setbyte gSharedMem + 0x1601E, 145 - jump BattleScript_1D7227 + goto BattleScript_1D7227 MoveEffect_DefenseDown: @ 81D7200 setbyte gSharedMem + 0x1601E, 146 - jump BattleScript_1D7227 + goto BattleScript_1D7227 MoveEffect_SpeedDown: @ 81D720B setbyte gSharedMem + 0x1601E, 147 - jump BattleScript_1D7227 + goto BattleScript_1D7227 MoveEffect_AccuracyDown: @ 81D7216 setbyte gSharedMem + 0x1601E, 150 - jump BattleScript_1D7227 + goto BattleScript_1D7227 MoveEffect_EvasionDown: @ 81D7221 setbyte gSharedMem + 0x1601E, 151 BattleScript_1D7227: @ 81D7227 attackcanceler - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D83D4 + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D83D4 accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce @@ -580,12 +581,12 @@ BattleScript_1D7227: @ 81D7227 jumpifbyte 3, gUnknown_02024D1F + 0x4, 2, BattleScript_1D725F jumpifbyte 0, gUnknown_02024D1F + 0x4, 3, BattleScript_1D7271 pause 32 - jump BattleScript_1D7269 + goto BattleScript_1D7269 BattleScript_1D725F: @ 81D725F attackanimation waitanimation - atk47 + setgraphicalstatchangevalues playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 BattleScript_1D7269: @ 81D7269 @@ -593,7 +594,7 @@ BattleScript_1D7269: @ 81D7269 waitmessage 64 BattleScript_1D7271: @ 81D7271 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_StatDown:: @ 81D7276 playanimation 2, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 @@ -610,7 +611,7 @@ MoveEffect_Haze: @ 81D7286 normalisebuffs printstring BATTLE_TEXT_StatElim waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Bide: @ 81D7297 attackcanceler @@ -620,25 +621,25 @@ MoveEffect_Bide: @ 81D7297 waitanimation orword gHitMarker, 0x8000000 setbide - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Rampage: @ 81D72AB attackcanceler accuracycheck BattleScript_1D6F72, 0 attackstring - jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D72BF + jumpifstatus2 USER, S_CONTINUE, BattleScript_1D72BF ppreduce BattleScript_1D72BF: @ 81D72BF confuseifrepeatingattackends - jump BattleScript_1D6F44 + goto BattleScript_1D6F44 MoveEffect_Roar: @ 81D72C5 attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_1D988D - jumpifspecialstatusflag TARGET, 0x400, 0, BattleScript_1D93EC + jumpifstatus3condition TARGET, 0x400, 0, BattleScript_1D93EC accuracycheck BattleScript_ButItFailed, 65535 accuracycheck BattleScript_1D6F77, 0 forcerandomswitch BattleScript_ButItFailed @@ -648,30 +649,30 @@ MoveEffect_MultiHit: @ 81D72ED accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - setloopcounter 0 - atk8e + setmultihitcounter 0 + initmultihitstring setbyte gSharedMem + 0x16112, 0 BattleScript_1D7300: @ 81D7300 - jumpiffainted USER, BattleScript_1D7396 - jumpiffainted TARGET, BattleScript_1D7377 + jumpifhasnohp USER, BattleScript_1D7396 + jumpifhasnohp TARGET, BattleScript_1D7377 jumpifhalfword 0, gUnknown_02024BE8, 214, BattleScript_1D7322 jumpifstatus USER, SLP, BattleScript_1D7377 BattleScript_1D7322: @ 81D7322 - atk25 + movevaluescleanup copyarray gUnknown_02024D1F + 0x2, gSharedMem + 0x16112, 1 critcalc - atk5 - atk6 + damagecalc + typecalc jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7374 - atk7 + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 @@ -679,10 +680,10 @@ BattleScript_1D7322: @ 81D7322 waitmessage 1 addbyte gSharedMem + 0x160E4, 1 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 + moveend 2, 16 jumpifbyte 4, gBattleMoveFlags, 64, BattleScript_1D7377 - atk27 BattleScript_1D7300 - jump BattleScript_1D7377 + decrementmultihit BattleScript_1D7300 + goto BattleScript_1D7377 BattleScript_1D7374: @ 81D7374 pause 32 @@ -696,150 +697,150 @@ BattleScript_1D7377: @ 81D7377 waitmessage 64 BattleScript_1D7396: @ 81D7396 - seteffectwithchancetarget - faintpokemon TARGET, 0, 0x0 + seteffectwithchance + tryfaintmon TARGET, 0, 0x0 setbyte gSharedMem + 0x1600C, 2 - atk49 1, 0 + moveend 1, 0 setbyte gSharedMem + 0x1600C, 4 - atk49 0, 0 + moveend 0, 0 end MoveEffect_Conversion: @ 81D73B1 attackcanceler attackstring ppreduce - changetypestoenemyattacktype BattleScript_ButItFailed + tryconversiontypechange BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_TypeTransform waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_FlinchHit: @ 81D73C6 setbyte gUnknown_02024D1F + 0x2, 8 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_RestoreHp: @ 81D73D1 attackcanceler attackstring ppreduce - setdamageasrestorehalfmaxhp BattleScript_1D83B5, 1 + tryhealhalfhealth BattleScript_1D83B5, 1 attackanimation waitanimation orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_RegainedHealth waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Toxic: @ 81D73F4 attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_1D7463 - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus TARGET, PSN, BattleScript_1D7455 jumpifstatus TARGET, TOX, BattleScript_1D7455 jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed jumpiftype TARGET, TYPE_POISON, BattleScript_1D83E8 jumpiftype TARGET, TYPE_STEEL, BattleScript_1D83E8 accuracycheck BattleScript_ButItFailed, 0 - jumpifhalverset TARGET, 32, BattleScript_1D9037 + jumpifsideaffecting TARGET, 32, BattleScript_1D9037 attackanimation waitanimation setbyte gUnknown_02024D1F + 0x2, 6 - seteffecttarget + seteffectprimary resultmessage waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D7455: @ 81D7455 pause 64 printstring BATTLE_TEXT_AlreadyPoisoned waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D7463: @ 81D7463 copyarray gEffectBank, gBankTarget, 1 setbyte gUnknown_02024D1F + 0x4, 0 - callatk BattleScript_PSNPrevention - jump BattleScript_EndTurn + call BattleScript_PSNPrevention + goto BattleScript_EndTurn MoveEffect_PayDay: @ 81D747D setbyte gUnknown_02024D1F + 0x2, 11 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_LightScreen: @ 81D7488 attackcanceler attackstring ppreduce setlightscreen - jump BattleScript_1D7786 + goto BattleScript_1D7786 MoveEffect_TriAttack: @ 81D7491 setbyte gUnknown_02024D1F + 0x2, 9 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Rest: @ 81D749C attackcanceler attackstring ppreduce jumpifstatus USER, SLP, BattleScript_1D74D6 - jumpifcannotsleep BattleScript_1D74C6 - setrest BattleScript_1D83B5 + jumpifcantmakeasleep BattleScript_1D74C6 + trysetrest BattleScript_1D83B5 pause 32 printfromtable BattleTextList_401556 waitmessage 64 - atk98 1 - waitstateatk - jump BattleScript_1D839B + updatestatusicon 1 + waitstate + goto BattleScript_1D839B BattleScript_1D74C6: @ 81D74C6 pause 64 printfromtable BattleTextList_40156A waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D74D6: @ 81D74D6 pause 32 printstring BATTLE_TEXT_AttackingAsleep waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Ohko: @ 81D74E4 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 65535 - atk6 + typecalc jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D6F48 - koplussomethings BattleScript_1D7505 - atkab - jump BattleScript_1D6F48 + tryKO BattleScript_1D7505 + trysetdestinybondtohappen + goto BattleScript_1D6F48 BattleScript_1D7505: @ 81D7505 pause 64 printfromtable BattleTextList_4015C8 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_RazorWind: @ 81D7515 - jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D753D + jumpifstatus2 USER, S_CONTINUE, BattleScript_1D753D jumpifword 4, gHitMarker, 0x200, BattleScript_1D753D setbyte gSharedMem + 0x16055, 0 - callatk BattleScript_1D756C - jump BattleScript_EndTurn + call BattleScript_1D756C + goto BattleScript_EndTurn BattleScript_1D753D: @ 81D753D attackcanceler setbyte gUnknown_02024D1F + 0x2, 12 setbyte gSharedMem + 0x16002, 1 - clearstatus USER + clearstatusfromeffect USER orword gHitMarker, 0x800 jumpifhalfword 1, gCurrentMove, 143, BattleScript_1D6F3B setbyte gUnknown_02024D1F + 0x2, 8 - jump BattleScript_1D6F3B + goto BattleScript_1D6F3B BattleScript_1D756C: @ 81D756C attackcanceler @@ -849,7 +850,7 @@ BattleScript_1D756C: @ 81D756C waitanimation orword gHitMarker, 0x8000000 setbyte gUnknown_02024D1F + 0x2, 76 - seteffecttarget + seteffectprimary copyarray gUnknown_02024D1F + 0x4, gSharedMem + 0x16055, 1 printfromtable BattleTextList_401584 waitmessage 64 @@ -860,49 +861,49 @@ MoveEffect_SuperFang: @ 81D7596 accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - atk6 + typecalc bicbyte gBattleMoveFlags, 6 - gethalfcurrentenemyhp - jump BattleScript_1D6F48 + damagetohalftargethp + goto BattleScript_1D6F48 MoveEffect_DragonRage: @ 81D75AD attackcanceler accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - atk6 + typecalc bicbyte gBattleMoveFlags, 6 setbyte gBattleMoveDamage, 40 setbyte gBattleMoveDamage + 0x1, 0 setbyte gBattleMoveDamage + 0x2, 0 setbyte gBattleMoveDamage + 0x3, 0 - atk69 - jump BattleScript_1D6F48 + adjustsetdamage + goto BattleScript_1D6F48 MoveEffect_Trap: @ 81D75DC jumpifhalfword 1, gCurrentMove, 250, BattleScript_1D7602 - jumpifspecialstatusflag TARGET, 0x40000, 1, BattleScript_1D7602 + jumpifstatus3condition TARGET, 0x40000, 1, BattleScript_1D7602 orword gHitMarker, 0x40000 setbyte gSharedMem + 0x1601F, 2 BattleScript_1D7602: @ 81D7602 setbyte gUnknown_02024D1F + 0x2, 13 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_DoubleHit: @ 81D760D attackcanceler accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - setloopcounter 2 - atk8e + setmultihitcounter 2 + initmultihitstring setbyte gSharedMem + 0x16112, 0 - jump BattleScript_1D7300 + goto BattleScript_1D7300 MoveEffect_RecoilIfMiss: @ 81D7625 attackcanceler accuracycheck BattleScript_1D7632, 0 - jump BattleScript_1D6F42 + goto BattleScript_1D6F42 BattleScript_1D7632: @ 81D7632 attackstring @@ -913,89 +914,89 @@ BattleScript_1D7632: @ 81D7632 jumpifbyte 4, gBattleMoveFlags, 8, BattleScript_EndTurn printstring BATTLE_TEXT_KeptGoingCrash waitmessage 64 - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage manipulatedamage 1 bicbyte gBattleMoveFlags, 1 orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER - faintpokemon USER, 0, 0x0 + tryfaintmon USER, 0, 0x0 orbyte gBattleMoveFlags, 1 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Mist: @ 81D7676 attackcanceler attackstring ppreduce - setmisteffect + setmist attackanimation waitanimation printfromtable BattleTextList_4015A0 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_FocusEnergy: @ 81D7689 attackcanceler attackstring ppreduce - jumpifsecondarytstatus USER, S_FOCUS_ENERGY, BattleScript_ButItFailed - setincreasedcriticalchance + jumpifstatus2 USER, S_FOCUS_ENERGY, BattleScript_ButItFailed + setfocusenergy attackanimation waitanimation printfromtable BattleTextList_4015A4 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Recoil: @ 81D76A6 setbyte gUnknown_02024D1F + 0x2, 206 jumpifhalfword 1, gCurrentMove, 165, BattleScript_1D6F14 - atk60 27 - jump BattleScript_1D6F14 + incrementgamestat 27 + goto BattleScript_1D6F14 MoveEffect_Confuse: @ 81D76BF attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D98E5 - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed - jumpifsecondarytstatus TARGET, S_CONFUSED, BattleScript_1D76FE + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_CONFUSED, BattleScript_1D76FE accuracycheck BattleScript_ButItFailed, 0 - jumpifhalverset TARGET, 32, BattleScript_1D9037 + jumpifsideaffecting TARGET, 32, BattleScript_1D9037 attackanimation waitanimation setbyte gUnknown_02024D1F + 0x2, 7 - seteffecttarget + seteffectprimary resultmessage waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D76FE: @ 81D76FE pause 32 printstring BATTLE_TEXT_AlreadyConfused waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_AttackUp2: @ 81D770C setbyte gSharedMem + 0x1601E, 33 - jump BattleScript_1D71B2 + goto BattleScript_1D71B2 MoveEffect_DefenseUp2: @ 81D7717 setbyte gSharedMem + 0x1601E, 34 - jump BattleScript_1D71B2 + goto BattleScript_1D71B2 MoveEffect_SpeedUp2: @ 81D7722 setbyte gSharedMem + 0x1601E, 35 - jump BattleScript_1D71B2 + goto BattleScript_1D71B2 MoveEffect_SpecialAttackUp2: @ 81D772D setbyte gSharedMem + 0x1601E, 36 - jump BattleScript_1D71B2 + goto BattleScript_1D71B2 MoveEffect_SpecialDefenseUp2: @ 81D7738 setbyte gSharedMem + 0x1601E, 37 - jump BattleScript_1D71B2 + goto BattleScript_1D71B2 MoveEffect_Transform: @ 81D7743 attackcanceler @@ -1006,23 +1007,23 @@ MoveEffect_Transform: @ 81D7743 waitanimation printfromtable BattleTextList_4015A8 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_AttackDown2: @ 81D7756 setbyte gSharedMem + 0x1601E, 161 - jump BattleScript_1D7227 + goto BattleScript_1D7227 MoveEffect_DefenseDown2: @ 81D7761 setbyte gSharedMem + 0x1601E, 162 - jump BattleScript_1D7227 + goto BattleScript_1D7227 MoveEffect_SpeedDown2: @ 81D776C setbyte gSharedMem + 0x1601E, 163 - jump BattleScript_1D7227 + goto BattleScript_1D7227 MoveEffect_SpecialDefenseDown2: @ 81D7777 setbyte gSharedMem + 0x1601E, 165 - jump BattleScript_1D7227 + goto BattleScript_1D7227 MoveEffect_Reflect: @ 81D7782 attackcanceler @@ -1035,95 +1036,95 @@ BattleScript_1D7786: @ 81D7786 waitanimation printfromtable BattleTextList_401540 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Poison: @ 81D7795 attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_1D7463 - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus TARGET, PSN, BattleScript_1D7455 jumpifstatus TARGET, TOX, BattleScript_1D7455 jumpiftype TARGET, TYPE_POISON, BattleScript_1D83E8 jumpiftype TARGET, TYPE_STEEL, BattleScript_1D83E8 jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0 - jumpifhalverset TARGET, 32, BattleScript_1D9037 + jumpifsideaffecting TARGET, 32, BattleScript_1D9037 attackanimation waitanimation setbyte gUnknown_02024D1F + 0x2, 2 - seteffecttarget + seteffectprimary resultmessage waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Paralyze: @ 81D77F6 attackcanceler attackstring ppreduce jumpifability TARGET, ABILITY_LIMBER, BattleScript_1D7859 - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed - atk6 + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + typecalc jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_ButItFailed jumpifstatus TARGET, PAR, BattleScript_1D784B jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0 - jumpifhalverset TARGET, 32, BattleScript_1D9037 + jumpifsideaffecting TARGET, 32, BattleScript_1D9037 attackanimation waitanimation setbyte gUnknown_02024D1F + 0x2, 5 - seteffecttarget + seteffectprimary resultmessage waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D784B: @ 81D784B pause 32 printstring BATTLE_TEXT_AlreadyParalyzed waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D7859: @ 81D7859 copyarray gEffectBank, gBankTarget, 1 setbyte gUnknown_02024D1F + 0x4, 0 - callatk BattleScript_PRLZPrevention - jump BattleScript_EndTurn + call BattleScript_PRLZPrevention + goto BattleScript_EndTurn MoveEffect_AttackDownHit: @ 81D7873 setbyte gUnknown_02024D1F + 0x2, 22 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_DefenseDownHit: @ 81D787E setbyte gUnknown_02024D1F + 0x2, 23 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_SpeedDownHit: @ 81D7889 setbyte gUnknown_02024D1F + 0x2, 24 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_SpecialAttackDownHit: @ 81D7894 setbyte gUnknown_02024D1F + 0x2, 25 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_SpecialDefenseDownHit: @ 81D789F setbyte gUnknown_02024D1F + 0x2, 26 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_AccuracyDownHit: @ 81D78AA setbyte gUnknown_02024D1F + 0x2, 27 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_SkyAttack: @ 81D78B5 - jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D753D + jumpifstatus2 USER, S_CONTINUE, BattleScript_1D753D jumpifword 4, gHitMarker, 0x200, BattleScript_1D753D setbyte gSharedMem + 0x16055, 3 - callatk BattleScript_1D756C - jump BattleScript_EndTurn + call BattleScript_1D756C + goto BattleScript_EndTurn MoveEffect_ConfuseHit: @ 81D78DD setbyte gUnknown_02024D1F + 0x2, 7 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Twineedle: @ 81D78E8 attackcanceler @@ -1131,74 +1132,74 @@ MoveEffect_Twineedle: @ 81D78E8 setbyte gSharedMem + 0x16112, 2 attackstring ppreduce - setloopcounter 2 - atk8e - jump BattleScript_1D7300 + setmultihitcounter 2 + initmultihitstring + goto BattleScript_1D7300 MoveEffect_Substitute: @ 81D7900 attackcanceler ppreduce attackstring - waitstateatk - jumpifsecondarytstatus USER, S_SUBSTITUTE, BattleScript_1D7935 - setsubstituteeffect + waitstate + jumpifstatus2 USER, S_SUBSTITUTE, BattleScript_1D7935 + setsubstitute jumpifbyte 1, gUnknown_02024D1F + 0x4, 1, BattleScript_1D7922 pause 32 - jump BattleScript_1D7928 + goto BattleScript_1D7928 BattleScript_1D7922: @ 81D7922 attackanimation waitanimation - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER BattleScript_1D7928: @ 81D7928 printfromtable BattleTextList_4015AC waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D7935: @ 81D7935 pause 32 printstring BATTLE_TEXT_SubAlready waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Recharge: @ 81D7943 attackcanceler accuracycheck BattleScript_1D6F72, 0 setbyte gUnknown_02024D1F + 0x2, 221 - jump BattleScript_1D6F42 + goto BattleScript_1D6F42 BattleScript_MoveUsedMustRecharge:: @ 81D7956 printstring BATTLE_TEXT_MustRecharge waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Rage: @ 81D7961 attackcanceler accuracycheck BattleScript_1D797B, 0 setbyte gUnknown_02024D1F + 0x2, 30 - seteffecttarget + seteffectprimary setbyte gUnknown_02024D1F + 0x2, 0 - jump BattleScript_1D6F42 + goto BattleScript_1D6F42 BattleScript_1D797B: @ 81D797B setbyte gUnknown_02024D1F + 0x2, 30 - clearstatus USER - jump BattleScript_1D6F72 + clearstatusfromeffect USER + goto BattleScript_1D6F72 MoveEffect_Mimic: @ 81D7988 attackcanceler attackstring ppreduce - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 65535 - copyattack BattleScript_ButItFailed + mimicattackcopy BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_LearnedMove2 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Metronome: @ 81D79AE attackcanceler @@ -1208,23 +1209,23 @@ MoveEffect_Metronome: @ 81D79AE waitanimation setbyte gSharedMem + 0x16002, 0 setbyte gSharedMem + 0x160A1, 0 - metronomeeffect + metronome MoveEffect_LeechSeed: @ 81D79C2 attackcanceler attackstring pause 32 ppreduce - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_1D79D9, 0 BattleScript_1D79D9: @ 81D79D9 - setleechseed + setseeded attackanimation waitanimation printfromtable BattleTextList_40154C waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Splash: @ 81D79E9 attackcanceler @@ -1232,10 +1233,10 @@ MoveEffect_Splash: @ 81D79E9 ppreduce attackanimation waitanimation - atk60 26 + incrementgamestat 26 printstring BATTLE_TEXT_Nothing waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Disable: @ 81D79FB attackcanceler @@ -1247,29 +1248,29 @@ MoveEffect_Disable: @ 81D79FB waitanimation printstring BATTLE_TEXT_MoveWasDisabled waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_LevelDamage: @ 81D7A17 attackcanceler accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - atk6 + typecalc bicbyte gBattleMoveFlags, 6 - nightshadedamageeffect - atk69 - jump BattleScript_1D6F48 + dmgtolevel + adjustsetdamage + goto BattleScript_1D6F48 MoveEffect_Psywave: @ 81D7A2F attackcanceler accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - atk6 + typecalc bicbyte gBattleMoveFlags, 6 psywavedamageeffect - atk69 - jump BattleScript_1D6F48 + adjustsetdamage + goto BattleScript_1D6F48 MoveEffect_Counter: @ 81D7A47 attackcanceler @@ -1277,46 +1278,46 @@ MoveEffect_Counter: @ 81D7A47 accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - damagecalc2 - atk69 - jump BattleScript_1D6F48 + typecalc2 + adjustsetdamage + goto BattleScript_1D6F48 MoveEffect_Encore: @ 81D7A5D attackcanceler accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - setencore BattleScript_ButItFailed + trysetencore BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_EncoreGot waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_PainSplit: @ 81D7A79 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 65535 - painsplitdamagecalculator BattleScript_ButItFailed + painsplitdmgcalc BattleScript_ButItFailed attackanimation waitanimation orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER copyarray gBattleMoveDamage, gSharedMem + 0x16014, 4 - graphicalhpupdate TARGET + healthbarupdate TARGET datahpupdate TARGET printstring BATTLE_TEXT_PainSplit waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Snore: @ 81D7AB0 attackcanceler jumpifstatus USER, SLP, BattleScript_1D7AC2 attackstring ppreduce - jump BattleScript_ButItFailed + goto BattleScript_ButItFailed BattleScript_1D7AC2: @ 81D7AC2 jumpifhalfword 0, gUnknown_02024BE8, 214, BattleScript_1D7AD6 @@ -1329,7 +1330,7 @@ BattleScript_1D7AD6: @ 81D7AD6 ppreduce accuracycheck BattleScript_1D6F77, 0 setbyte gUnknown_02024D1F + 0x2, 8 - jump BattleScript_1D6F44 + goto BattleScript_1D6F44 MoveEffect_Conversion2: @ 81D7AEA attackcanceler @@ -1340,39 +1341,39 @@ MoveEffect_Conversion2: @ 81D7AEA waitanimation printstring BATTLE_TEXT_TypeTransform waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_LockOn: @ 81D7AFF attackcanceler attackstring ppreduce - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0 setalwayshitflag attackanimation waitanimation printstring BATTLE_TEXT_TookAim waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Sketch: @ 81D7B21 attackcanceler attackstring ppreduce - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed copymovepermanently BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_SketchedMove waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_SleepTalk: @ 81D7B40 attackcanceler jumpifstatus USER, SLP, BattleScript_1D7B52 attackstring ppreduce - jump BattleScript_ButItFailed + goto BattleScript_ButItFailed BattleScript_1D7B52: @ 81D7B52 printstring BATTLE_TEXT_FastAsleep @@ -1381,50 +1382,50 @@ BattleScript_1D7B52: @ 81D7B52 attackstring ppreduce orword gHitMarker, 0x800 - selectrandommovefromusermoves BattleScript_1D7B72 + trychoosesleeptalkmove BattleScript_1D7B72 pause 64 - jump BattleScript_ButItFailed + goto BattleScript_ButItFailed BattleScript_1D7B72: @ 81D7B72 attackanimation waitanimation setbyte gSharedMem + 0x16002, 0 setbyte gSharedMem + 0x160A1, 0 - jumptoattack USER + jumptorandomattack USER MoveEffect_DestinyBond: @ 81D7B82 attackcanceler attackstring ppreduce - destinybondeffect + setdestinybond attackanimation waitanimation printstring BATTLE_TEXT_DestinyBondTake waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Flail: @ 81D7B93 remaininghptopower - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Spite: @ 81D7B99 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 0 - reducepprandom BattleScript_ButItFailed + tryspiteppreduce BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_ReducedBy waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_HealBell: @ 81D7BB5 attackcanceler attackstring ppreduce - clearstatusifnotsoundproofed - waitstateatk + healpartystatus + waitstate attackanimation waitanimation printfromtable BattleTextList_4015D8 @@ -1440,9 +1441,9 @@ BattleScript_1D7BE1: @ 81D7BE1 waitmessage 64 BattleScript_1D7BF2: @ 81D7BF2 - atk98 4 - waitstateatk - jump BattleScript_EndTurn + updatestatusicon 4 + waitstate + goto BattleScript_EndTurn MoveEffect_TripleKick: @ 81D7BFA attackcanceler @@ -1450,42 +1451,42 @@ MoveEffect_TripleKick: @ 81D7BFA ppreduce setbyte gSharedMem + 0x160DE, 0 setbyte gSharedMem + 0x160DF, 0 - atk8e - atk26 3 + initmultihitstring + setmultihit 3 BattleScript_1D7C0C: @ 81D7C0C - jumpiffainted USER, BattleScript_1D7CAF - jumpiffainted TARGET, BattleScript_1D7C8D + jumpifhasnohp USER, BattleScript_1D7CAF + jumpifhasnohp TARGET, BattleScript_1D7C8D jumpifhalfword 0, gUnknown_02024BE8, 214, BattleScript_1D7C2E jumpifstatus USER, SLP, BattleScript_1D7C8D BattleScript_1D7C2E: @ 81D7C2E - atk25 + movevaluescleanup accuracycheck BattleScript_1D7C8D, 0 addbyte gSharedMem + 0x160DE, 10 addbyte gSharedMem + 0x160E4, 1 copyarray gDynamicBasePower, gSharedMem + 0x160DE, 2 critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7C8D attackanimation waitanimation - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 printstring BATTLE_TEXT_Terminator2 waitmessage 1 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 + moveend 2, 16 jumpifbyte 4, gBattleMoveFlags, 64, BattleScript_1D7C90 - atk27 BattleScript_1D7C0C - jump BattleScript_1D7C90 + decrementmultihit BattleScript_1D7C0C + goto BattleScript_1D7C90 BattleScript_1D7C8D: @ 81D7C8D pause 32 @@ -1499,53 +1500,53 @@ BattleScript_1D7C90: @ 81D7C90 waitmessage 64 BattleScript_1D7CAF: @ 81D7CAF - seteffectwithchancetarget - faintpokemon TARGET, 0, 0x0 + seteffectwithchance + tryfaintmon TARGET, 0, 0x0 setbyte gSharedMem + 0x1600C, 14 - atk49 0, 0 + moveend 0, 0 end MoveEffect_Thief: @ 81D7CC1 setbyte gUnknown_02024D1F + 0x2, 31 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_MeanLook: @ 81D7CCC attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 65534 - jumpifsecondarytstatus TARGET, S_MEAN_LOOK, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_MEAN_LOOK, BattleScript_ButItFailed attackanimation waitanimation setbyte gUnknown_02024D1F + 0x2, 32 - seteffecttarget + seteffectprimary printstring BATTLE_TEXT_CantEscapeNow waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Nightmare: @ 81D7CF4 attackcanceler attackstring ppreduce - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed - jumpifsecondarytstatus TARGET, S_NIGHTMARE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_NIGHTMARE, BattleScript_ButItFailed jumpifstatus TARGET, SLP, BattleScript_1D7D1A - jump BattleScript_ButItFailed + goto BattleScript_ButItFailed BattleScript_1D7D1A: @ 81D7D1A attackanimation waitanimation setbyte gUnknown_02024D1F + 0x2, 33 - seteffecttarget + seteffectprimary printstring BATTLE_TEXT_NightmareStart waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Minimize: @ 81D7D2E attackcanceler setminimize setbyte gSharedMem + 0x1601E, 23 - jump BattleScript_1D71B3 + goto BattleScript_1D71B3 MoveEffect_Curse: @ 81D7D3B jumpiftype2 USER, TYPE_GHOST, BattleScript_1D7DB3 @@ -1579,51 +1580,51 @@ BattleScript_1D7D9A: @ 81D7D9A waitmessage 64 BattleScript_1D7DAE: @ 81D7DAE - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D7DB3: @ 81D7DB3 jumpifarraynotequal gBankAttacker, gBankTarget, 1, BattleScript_1D7DC4 - atk76 USER, 3 + getmovetarget USER BattleScript_1D7DC4: @ 81D7DC4 attackcanceler attackstring ppreduce - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed cursetarget BattleScript_ButItFailed orword gHitMarker, 0x100 setbyte gSharedMem + 0x16002, 0 attackanimation waitanimation - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_CurseLay waitmessage 64 - faintpokemon USER, 0, 0x0 - jump BattleScript_EndTurn + tryfaintmon USER, 0, 0x0 + goto BattleScript_EndTurn MoveEffect_Endure: @ 81D7DFD MoveEffect_Protect: @ 81D7DFD attackcanceler attackstring ppreduce - setprotect + setprotectlike attackanimation waitanimation printfromtable BattleTextList_40153A waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Spikes: @ 81D7E10 attackcanceler - setspikes BattleScript_1D83D4 + trysetspikes BattleScript_1D83D4 attackstring ppreduce attackanimation waitanimation printstring BATTLE_TEXT_SpikesScattered waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Foresight: @ 81D7E25 attackcanceler @@ -1635,13 +1636,13 @@ MoveEffect_Foresight: @ 81D7E25 waitanimation printstring BATTLE_TEXT_IdentifiedPoke waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_PerishSong: @ 81D7E3D attackcanceler attackstring ppreduce - setperishsong BattleScript_ButItFailed + trysetperishsong BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_PerishSong @@ -1654,57 +1655,57 @@ BattleScript_1D7E53: @ 81D7E53 BattleScript_1D7E5A: @ 81D7E5A addbyte gSharedMem + 0x16003, 1 jumpifarraynotequal gSharedMem + 0x16003, gNoOfAllBanks, 1, BattleScript_1D7E53 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D7E73: @ 81D7E73 printstring BATTLE_TEXT_BlocksOther2 waitmessage 64 - jump BattleScript_1D7E5A + goto BattleScript_1D7E5A MoveEffect_Sandstorm: @ 81D7E7E attackcanceler attackstring ppreduce setsandstorm - jump BattleScript_1D7FFA + goto BattleScript_1D7FFA MoveEffect_Rollout: @ 81D7E87 attackcanceler attackstring - jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D7E94 + jumpifstatus2 USER, S_CONTINUE, BattleScript_1D7E94 ppreduce BattleScript_1D7E94: @ 81D7E94 accuracycheck BattleScript_1D7E9B, 0 BattleScript_1D7E9B: @ 81D7E9B - damagecalc2 + typecalc2 rolloutdamagecalculation - jump BattleScript_1D6F44 + goto BattleScript_1D6F44 MoveEffect_Swagger: @ 81D7EA2 attackcanceler - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D6F6C + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D6F6C accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - jumpifconfusedandattackmaxed 1, BattleScript_ButItFailed + jumpifconfusedandstatmaxed 1, BattleScript_ButItFailed attackanimation waitanimation setbyte gSharedMem + 0x1601E, 33 statbuffchange 1, BattleScript_1D7EE5 jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D7EE5 - atk47 + setgraphicalstatchangevalues playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printfromtable BattleTextList_401570 waitmessage 64 BattleScript_1D7EE5: @ 81D7EE5 jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D98E5 - jumpifhalverset TARGET, 32, BattleScript_1D9037 + jumpifsideaffecting TARGET, 32, BattleScript_1D9037 setbyte gUnknown_02024D1F + 0x2, 7 - seteffecttarget - jump BattleScript_EndTurn + seteffectprimary + goto BattleScript_EndTurn MoveEffect_FuryCutter: @ 81D7F00 attackcanceler @@ -1713,39 +1714,39 @@ MoveEffect_FuryCutter: @ 81D7F00 accuracycheck BattleScript_1D7F0A, 0 BattleScript_1D7F0A: @ 81D7F0A - furycutterdamagecalculation + furycuttercalc critcalc - atk5 - atk6 + damagecalc + typecalc jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7F0A - atk7 - jump BattleScript_1D6F48 + adjustnormaldamage + goto BattleScript_1D6F48 MoveEffect_Attract: @ 81D7F1F attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 0 - tryinfatuatetarget BattleScript_ButItFailed + tryinfatuating BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_FellLove waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Frustration: @ 81D7F3B MoveEffect_Return: @ 81D7F3B attackcanceler accuracycheck BattleScript_1D6F72, 0 happinesstodamagecalculation - jump BattleScript_1D6F42 + goto BattleScript_1D6F42 MoveEffect_Present: @ 81D7F49 attackcanceler accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - atk6 + typecalc presentdamagecalculation MoveEffect_Safeguard: @ 81D7F55 @@ -1753,61 +1754,61 @@ MoveEffect_Safeguard: @ 81D7F55 attackstring ppreduce setsafeguard - jump BattleScript_1D7786 + goto BattleScript_1D7786 MoveEffect_ThawHit: @ 81D7F5E setbyte gUnknown_02024D1F + 0x2, 3 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Magnitude: @ 81D7F69 attackcanceler attackstring ppreduce - selectnexttarget + selectfirstvalidtarget magnitudedamagecalculation pause 32 printstring BATTLE_TEXT_MagnitudeCount waitmessage 64 - jump BattleScript_1D80FD + goto BattleScript_1D80FD MoveEffect_BatonPass: @ 81D7F7C attackcanceler attackstring ppreduce - jumpifcannotswitch 129, BattleScript_ButItFailed + jumpifcantswitch 129, BattleScript_ButItFailed attackanimation waitanimation openpartyscreen USER, BattleScript_ButItFailed - atke2 USER - waitstateatk - atk51 USER, 2 - atk58 USER - switch1 USER - switch2 USER - atk73 USER + switchoutabilities USER + waitstate + switchhandleorder USER, 2 + returntoball USER + getswitchedmondata USER + switchindataupdate USER + hpthresholds USER printstring 3 - switch3 USER, 1 - waitstateatk - atk52 USER - jump BattleScript_EndTurn + switchinanim USER, 1 + waitstate + switchineffects USER + goto BattleScript_EndTurn MoveEffect_RapidSpin: @ 81D7FA9 setbyte gUnknown_02024D1F + 0x2, 163 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Sonicboom: @ 81D7FB4 attackcanceler accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - atk6 + typecalc bicbyte gBattleMoveFlags, 6 setbyte gBattleMoveDamage, 20 setbyte gBattleMoveDamage + 0x1, 0 setbyte gBattleMoveDamage + 0x2, 0 setbyte gBattleMoveDamage + 0x3, 0 - atk69 - jump BattleScript_1D6F48 + adjustsetdamage + goto BattleScript_1D6F48 MoveEffect_Moonlight: @ 81D7FE3 MoveEffect_MorningSun: @ 81D7FE3 @@ -1816,11 +1817,11 @@ MoveEffect_Synthesis: @ 81D7FE3 attackstring ppreduce recoverbasedonsunlight BattleScript_1D83B5 - jump BattleScript_1D839B + goto BattleScript_1D839B MoveEffect_HiddenPower: @ 81D7FF0 - hiddenpowerdamagecalculation - jump BattleScript_1D6F14 + hiddenpowercalc + goto BattleScript_1D6F14 MoveEffect_RainDance: @ 81D7FF6 attackcanceler @@ -1833,27 +1834,27 @@ BattleScript_1D7FFA: @ 81D7FFA waitanimation printfromtable BattleTextList_40151C waitmessage 64 - callatk BattleScript_1D9761 - jump BattleScript_EndTurn + call BattleScript_1D9761 + goto BattleScript_EndTurn MoveEffect_SunnyDay: @ 81D800E attackcanceler attackstring ppreduce setsunny - jump BattleScript_1D7FFA + goto BattleScript_1D7FFA MoveEffect_DefenseUpHit: @ 81D8017 setbyte gUnknown_02024D1F + 0x2, 80 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_AttackUpHit: @ 81D8022 setbyte gUnknown_02024D1F + 0x2, 79 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_AllStatsUpHit: @ 81D802D setbyte gUnknown_02024D1F + 0x2, 98 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_BellyDrum: @ 81D8038 attackcanceler @@ -1863,11 +1864,11 @@ MoveEffect_BellyDrum: @ 81D8038 orword gHitMarker, 0x100 attackanimation waitanimation - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_CutHPMaxATK waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_PsychUp: @ 81D805A attackcanceler @@ -1878,7 +1879,7 @@ MoveEffect_PsychUp: @ 81D805A waitanimation printstring BATTLE_TEXT_CopyStatChanges waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_MirrorCoat: @ 81D806F attackcanceler @@ -1886,47 +1887,47 @@ MoveEffect_MirrorCoat: @ 81D806F accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - damagecalc2 - atk69 - jump BattleScript_1D6F48 + typecalc2 + adjustsetdamage + goto BattleScript_1D6F48 MoveEffect_SkullBash: @ 81D8085 - jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D753D + jumpifstatus2 USER, S_CONTINUE, BattleScript_1D753D jumpifword 4, gHitMarker, 0x200, BattleScript_1D753D setbyte gSharedMem + 0x16055, 2 - callatk BattleScript_1D756C + call BattleScript_1D756C setbyte gSharedMem + 0x1601E, 18 statbuffchange 65, BattleScript_1D80CF jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D80CF - atk47 + setgraphicalstatchangevalues playanimation USER, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printfromtable BattleTextList_401570 waitmessage 64 BattleScript_1D80CF: @ 81D80CF - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Twister: @ 81D80D4 - jumpifspecialstatusflag TARGET, 0x40, 1, BattleScript_1D80EE + jumpifstatus3condition TARGET, 0x40, 1, BattleScript_1D80EE orword gHitMarker, 0x10000 setbyte gSharedMem + 0x1601F, 2 BattleScript_1D80EE: @ 81D80EE setbyte gUnknown_02024D1F + 0x2, 8 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Earthquake: @ 81D80F9 attackcanceler attackstring ppreduce - selectnexttarget + selectfirstvalidtarget BattleScript_1D80FD: @ 81D80FD - atk25 - jumpifspecialstatusflag TARGET, 0x80, 1, BattleScript_1D811D + movevaluescleanup + jumpifstatus3condition TARGET, 0x80, 1, BattleScript_1D811D orword gHitMarker, 0x20000 setbyte gSharedMem + 0x1601F, 2 - jump BattleScript_1D812C + goto BattleScript_1D812C BattleScript_1D811D: @ 81D811D bicword gHitMarker, 0x20000 @@ -1935,15 +1936,15 @@ BattleScript_1D811D: @ 81D811D BattleScript_1D812C: @ 81D812C accuracycheck BattleScript_1D8165, 0 critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 @@ -1951,44 +1952,44 @@ BattleScript_1D812C: @ 81D812C waitmessage 64 printstring BATTLE_TEXT_Terminator2 waitmessage 1 - faintpokemon TARGET, 0, 0x0 + tryfaintmon TARGET, 0, 0x0 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 - jumpwhiletargetvalid BattleScript_1D80FD + moveend 2, 16 + jumpifnexttargetvalid BattleScript_1D80FD end BattleScript_1D8165: @ 81D8165 pause 32 - atk6 - missmessage + typecalc + effectivenesssound resultmessage waitmessage 64 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 - jumpwhiletargetvalid BattleScript_1D80FD + moveend 2, 16 + jumpifnexttargetvalid BattleScript_1D80FD end MoveEffect_FutureSight: @ 81D817D attackcanceler attackstring ppreduce - setfutureattack BattleScript_ButItFailed + trysetfutureattack BattleScript_ButItFailed attackanimation waitanimation printfromtable BattleTextList_4015E2 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Gust: @ 81D8194 - jumpifspecialstatusflag TARGET, 0x40, 1, BattleScript_1D6F14 + jumpifstatus3condition TARGET, 0x40, 1, BattleScript_1D6F14 orword gHitMarker, 0x10000 setbyte gSharedMem + 0x1601F, 2 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_FlinchHit2: @ 81D81B3 - jumpifspecialstatusflag TARGET, 0x100, 1, BattleScript_1D80EE + jumpifstatus3condition TARGET, 0x100, 1, BattleScript_1D80EE setbyte gSharedMem + 0x1601F, 2 - jump BattleScript_1D80EE + goto BattleScript_1D80EE MoveEffect_Solarbeam: @ 81D81C9 jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_1D81E1 @@ -1996,30 +1997,30 @@ MoveEffect_Solarbeam: @ 81D81C9 jumpifhalfword 4, gBattleWeather, 96, BattleScript_1D8209 BattleScript_1D81E1: @ 81D81E1 - jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D753D + jumpifstatus2 USER, S_CONTINUE, BattleScript_1D753D jumpifword 4, gHitMarker, 0x200, BattleScript_1D753D setbyte gSharedMem + 0x16055, 1 - callatk BattleScript_1D756C - jump BattleScript_EndTurn + call BattleScript_1D756C + goto BattleScript_EndTurn BattleScript_1D8209: @ 81D8209 orword gHitMarker, 0x8000000 setbyte gUnknown_02024D1F + 0x2, 76 - seteffecttarget + seteffectprimary ppreduce - jump BattleScript_1D753D + goto BattleScript_1D753D MoveEffect_Thunder: @ 81D821F setbyte gUnknown_02024D1F + 0x2, 5 orword gHitMarker, 0x10000 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Teleport: @ 81D8233 attackcanceler attackstring ppreduce jumpifhalfword 4, gBattleTypeFlags, 8, BattleScript_ButItFailed - atk76 USER, 2 + getifcantrunfrombattle USER jumpifbyte 0, gBattleCommunication, 1, BattleScript_ButItFailed jumpifbyte 0, gBattleCommunication, 2, BattleScript_1D8839 attackanimation @@ -2027,7 +2028,7 @@ MoveEffect_Teleport: @ 81D8233 printstring BATTLE_TEXT_FledBattle waitmessage 64 setbyte gBattleOutcome, 5 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_BeatUp: @ 81D826E attackcanceler @@ -2038,82 +2039,82 @@ MoveEffect_BeatUp: @ 81D826E setbyte gBattleCommunication, 0 BattleScript_1D8281: @ 81D8281 - atk25 - beatupcalculation BattleScript_1D82C4, BattleScript_ButItFailed + movevaluescleanup + trydobeatup BattleScript_1D82C4, BattleScript_ButItFailed printstring BATTLE_TEXT_PokeAttack critcalc jumpifbyte 1, gCritMultiplier, 2, BattleScript_1D829C manipulatedamage 2 BattleScript_1D829C: @ 81D829C - atk7 + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 - faintpokemon TARGET, 0, 0x0 + tryfaintmon TARGET, 0, 0x0 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 - jump BattleScript_1D8281 + moveend 2, 16 + goto BattleScript_1D8281 BattleScript_1D82C4: @ 81D82C4 end MoveEffect_Fly: @ 81D82C5 - jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D8333 + jumpifstatus2 USER, S_CONTINUE, BattleScript_1D8333 jumpifword 4, gHitMarker, 0x200, BattleScript_1D8333 jumpifhalfword 0, gCurrentMove, 19, BattleScript_1D8322 jumpifhalfword 0, gCurrentMove, 291, BattleScript_1D8317 jumpifhalfword 0, gCurrentMove, 340, BattleScript_1D830C setbyte gSharedMem + 0x16055, 5 - jump BattleScript_1D8328 + goto BattleScript_1D8328 BattleScript_1D830C: @ 81D830C setbyte gSharedMem + 0x16055, 7 - jump BattleScript_1D8328 + goto BattleScript_1D8328 BattleScript_1D8317: @ 81D8317 setbyte gSharedMem + 0x16055, 6 - jump BattleScript_1D8328 + goto BattleScript_1D8328 BattleScript_1D8322: @ 81D8322 setbyte gSharedMem + 0x16055, 4 BattleScript_1D8328: @ 81D8328 - callatk BattleScript_1D756C - hidepreattack - jump BattleScript_EndTurn + call BattleScript_1D756C + setsemiinvulnerablebit + goto BattleScript_EndTurn BattleScript_1D8333: @ 81D8333 attackcanceler setbyte gUnknown_02024D1F + 0x2, 12 setbyte gSharedMem + 0x16002, 1 - clearstatus USER + clearstatusfromeffect USER orword gHitMarker, 0x800 jumpifhalfword 1, gCurrentMove, 340, BattleScript_1D835D setbyte gUnknown_02024D1F + 0x2, 5 BattleScript_1D835D: @ 81D835D accuracycheck BattleScript_1D836A, 0 - unhidepostattack - jump BattleScript_1D6F42 + clearsemiinvulnerablebit + goto BattleScript_1D6F42 BattleScript_1D836A: @ 81D836A - unhidepostattack - jump BattleScript_1D6F72 + clearsemiinvulnerablebit + goto BattleScript_1D6F72 MoveEffect_DefenseCurl: @ 81D8370 attackcanceler attackstring ppreduce - setcurled + setdefensecurlbit setbyte gSharedMem + 0x1601E, 18 statbuffchange 65, BattleScript_1D838D jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D71D8 @@ -2121,35 +2122,35 @@ MoveEffect_DefenseCurl: @ 81D8370 waitanimation BattleScript_1D838D: @ 81D838D - jump BattleScript_1D71D0 + goto BattleScript_1D71D0 MoveEffect_Softboiled: @ 81D8392 attackcanceler attackstring ppreduce - setdamageasrestorehalfmaxhp BattleScript_1D83B5, 0 + tryhealhalfhealth BattleScript_1D83B5, 0 BattleScript_1D839B:: @ 81D839B attackanimation waitanimation orword gHitMarker, 0x100 - graphicalhpupdate TARGET + healthbarupdate TARGET datahpupdate TARGET printstring BATTLE_TEXT_RegainedHealth waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D83B5:: @ 81D83B5 pause 32 printstring BATTLE_TEXT_HPFull waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_FakeOut: @ 81D83C3 attackcanceler jumpifnotfirstturn BattleScript_1D83D4 setbyte gUnknown_02024D1F + 0x2, 136 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 BattleScript_1D83D4: @ 81D83D4 attackstring @@ -2162,26 +2163,26 @@ BattleScript_ButItFailed:: @ 81D83D6 orbyte gBattleMoveFlags, 32 resultmessage waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D83E8: @ 81D83E8 pause 32 orbyte gBattleMoveFlags, 8 resultmessage waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Uproar: @ 81D83FA attackcanceler accuracycheck BattleScript_1D6F72, 0 setbyte gUnknown_02024D1F + 0x2, 74 attackstring - jumpifsecondarytstatus USER, S_CONTINUE, BattleScript_1D8414 + jumpifstatus2 USER, S_CONTINUE, BattleScript_1D8414 ppreduce BattleScript_1D8414: @ 81D8414 - nop3 - jump BattleScript_1D6F44 + nop + goto BattleScript_1D6F44 MoveEffect_Stockpile: @ 81D841A attackcanceler @@ -2192,7 +2193,7 @@ MoveEffect_Stockpile: @ 81D841A waitanimation printfromtable BattleTextList_40155E waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_SpitUp: @ 81D842D attackcanceler @@ -2201,15 +2202,15 @@ MoveEffect_SpitUp: @ 81D842D ppreduce accuracycheck BattleScript_1D6F72, 0 stockpiletobasedamage BattleScript_1D844E - atk6 - atk69 - jump BattleScript_1D6F48 + typecalc + adjustsetdamage + goto BattleScript_1D6F48 BattleScript_1D844E: @ 81D844E pause 32 printstring BATTLE_TEXT_SpitUpFail waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D845C: @ 81D845C attackstring @@ -2218,27 +2219,27 @@ BattleScript_1D845C: @ 81D845C stockpiletobasedamage BattleScript_1D844E resultmessage waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Swallow: @ 81D846F attackcanceler attackstring ppreduce - stockpiletohprecovery BattleScript_1D847C - jump BattleScript_1D839B + stockpiletohpheal BattleScript_1D847C + goto BattleScript_1D839B BattleScript_1D847C: @ 81D847C pause 32 printfromtable BattleTextList_401566 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Hail: @ 81D848C attackcanceler attackstring ppreduce sethail - jump BattleScript_1D7FFA + goto BattleScript_1D7FFA MoveEffect_Torment: @ 81D8495 attackcanceler @@ -2250,60 +2251,60 @@ MoveEffect_Torment: @ 81D8495 waitanimation printstring BATTLE_TEXT_TormentSubject waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Flatter: @ 81D84B1 attackcanceler - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D6F6C + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D6F6C accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - jumpifconfusedandattackmaxed 4, BattleScript_ButItFailed + jumpifconfusedandstatmaxed 4, BattleScript_ButItFailed attackanimation waitanimation setbyte gSharedMem + 0x1601E, 20 statbuffchange 1, BattleScript_1D84F4 jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D84F4 - atk47 + setgraphicalstatchangevalues playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printfromtable BattleTextList_401570 waitmessage 64 BattleScript_1D84F4: @ 81D84F4 jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D98E5 - jumpifhalverset TARGET, 32, BattleScript_1D9037 + jumpifsideaffecting TARGET, 32, BattleScript_1D9037 setbyte gUnknown_02024D1F + 0x2, 7 - seteffecttarget - jump BattleScript_EndTurn + seteffectprimary + goto BattleScript_EndTurn MoveEffect_WillOWisp: @ 81D850F attackcanceler attackstring ppreduce - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus TARGET, BRN, BattleScript_1D8575 jumpiftype TARGET, TYPE_FIRE, BattleScript_1D83E8 jumpifability TARGET, ABILITY_WATER_VEIL, BattleScript_1D855B jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0 - jumpifhalverset TARGET, 32, BattleScript_1D9037 + jumpifsideaffecting TARGET, 32, BattleScript_1D9037 attackanimation waitanimation setbyte gUnknown_02024D1F + 0x2, 3 - seteffecttarget - jump BattleScript_EndTurn + seteffectprimary + goto BattleScript_EndTurn BattleScript_1D855B: @ 81D855B copyarray gEffectBank, gBankTarget, 1 setbyte gUnknown_02024D1F + 0x4, 0 - callatk BattleScript_BRNPrevention - jump BattleScript_EndTurn + call BattleScript_BRNPrevention + goto BattleScript_EndTurn BattleScript_1D8575: @ 81D8575 pause 32 printstring BATTLE_TEXT_AlreadyBurned waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Memento: @ 81D8583 attackcanceler @@ -2311,10 +2312,10 @@ MoveEffect_Memento: @ 81D8583 attackstring ppreduce jumpifattackandspecialattackcannotfall BattleScript_ButItFailed - setuserhptozero + setatkhptozero attackanimation waitanimation - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D85FF + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D85FF setbyte gSharedMem + 0x160DC, 0 playstatchangeanimation TARGET, 18, 7 playstatchangeanimation TARGET, 2, 3 @@ -2333,13 +2334,13 @@ BattleScript_1D85D0: @ 81D85D0 waitmessage 64 BattleScript_1D85F3: @ 81D85F3 - faintpokemon USER, 0, 0x0 - jump BattleScript_EndTurn + tryfaintmon USER, 0, 0x0 + goto BattleScript_EndTurn BattleScript_1D85FF: @ 81D85FF printstring BATTLE_TEXT_NoEffect waitmessage 64 - jump BattleScript_1D85F3 + goto BattleScript_1D85F3 BattleScript_1D860A: @ 81D860A attackstring @@ -2347,21 +2348,21 @@ BattleScript_1D860A: @ 81D860A jumpifattackandspecialattackcannotfall BattleScript_1D8611 BattleScript_1D8611: @ 81D8611 - setuserhptozero + setatkhptozero pause 64 - missmessage + effectivenesssound resultmessage waitmessage 64 - faintpokemon USER, 0, 0x0 - jump BattleScript_EndTurn + tryfaintmon USER, 0, 0x0 + goto BattleScript_EndTurn MoveEffect_Facade: @ 81D8626 jumpifstatus USER, PSN | BRN | PAR | TOX, BattleScript_1D8635 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 BattleScript_1D8635: @ 81D8635 setbyte gSharedMem + 0x1601F, 2 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_FocusPunch: @ 81D8640 attackcanceler @@ -2369,17 +2370,17 @@ MoveEffect_FocusPunch: @ 81D8640 ppreduce printstring BATTLE_TEXT_LostFocus waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Smellingsalt: @ 81D8652 - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D6F14 + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D6F14 setbyte gUnknown_02024D1F + 0x2, 164 jumpifstatus TARGET, PAR, BattleScript_1D8671 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 BattleScript_1D8671: @ 81D8671 setbyte gSharedMem + 0x1601F, 2 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_FollowMe: @ 81D867C attackcanceler @@ -2390,7 +2391,7 @@ MoveEffect_FollowMe: @ 81D867C waitanimation printstring BATTLE_TEXT_CenterAttention waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_NaturePower: @ 81D868D attackcanceler @@ -2410,7 +2411,7 @@ MoveEffect_Charge: @ 81D869A waitanimation printstring BATTLE_TEXT_ChargingPower waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Taunt: @ 81D86AB attackcanceler @@ -2422,54 +2423,54 @@ MoveEffect_Taunt: @ 81D86AB waitanimation printstring BATTLE_TEXT_TauntFell waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_HelpingHand: @ 81D86C7 attackcanceler attackstring ppreduce - sethelpinghand BattleScript_ButItFailed + trysethelpinghand BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_ReadyToHelp waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Trick: @ 81D86DC attackcanceler attackstring ppreduce - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0 - itemswap BattleScript_ButItFailed + tryswapitems BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_SwitchedItems waitmessage 64 printfromtable BattleTextList_401642 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_RolePlay: @ 81D870A attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 65535 - copyability BattleScript_ButItFailed + trycopyability BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_CopiedObject waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Wish: @ 81D8726 attackcanceler attackstring ppreduce - atkd4 0, BattleScript_ButItFailed + trywish 0, BattleScript_ButItFailed attackanimation waitanimation - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Assist: @ 81D8736 attackcanceler @@ -2479,59 +2480,59 @@ MoveEffect_Assist: @ 81D8736 waitanimation setbyte gSharedMem + 0x16002, 0 setbyte gSharedMem + 0x160A1, 0 - jumptoattack USER + jumptorandomattack USER MoveEffect_Ingrain: @ 81D874D attackcanceler attackstring ppreduce - setroots BattleScript_ButItFailed + trysetroots BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_PlantedRoots waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Superpower: @ 81D8762 setbyte gUnknown_02024D1F + 0x2, 229 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_MagicCoat: @ 81D876D attackcanceler - setmagiccoat BattleScript_1D83D4 + trysetmagiccoat BattleScript_1D83D4 attackstring ppreduce attackanimation waitanimation printstring BATTLE_TEXT_ShroudedItself waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Recycle: @ 81D8782 attackcanceler attackstring ppreduce - recycleitem BattleScript_ButItFailed + tryrecycleitem BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_FoundOne waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Revenge: @ 81D8797 doubledamagedealtifdamaged - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_BrickBreak: @ 81D879D attackcanceler accuracycheck BattleScript_1D6F72, 0 attackstring ppreduce - removereflectlightscreen + removelightscreenreflect critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage jumpifbyte 0, gSharedMem + 0x16002, 0, BattleScript_1D87BD bicbyte gBattleMoveFlags, 9 @@ -2543,19 +2544,19 @@ BattleScript_1D87BD: @ 81D87BD waitmessage 64 BattleScript_1D87D0: @ 81D87D0 - damagecalc2 - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + typecalc2 + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 - seteffectwithchancetarget - faintpokemon TARGET, 0, 0x0 - jump BattleScript_EndTurn + seteffectwithchance + tryfaintmon TARGET, 0, 0x0 + goto BattleScript_EndTurn MoveEffect_Yawn: @ 81D87EE attackcanceler @@ -2563,16 +2564,16 @@ MoveEffect_Yawn: @ 81D87EE ppreduce jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_1D882F jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_1D882F - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_ButItFailed - jumpifhalverset TARGET, 32, BattleScript_1D9037 + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed + jumpifsideaffecting TARGET, 32, BattleScript_1D9037 accuracycheck BattleScript_ButItFailed, 65535 - jumpifcannotsleep BattleScript_ButItFailed + jumpifcantmakeasleep BattleScript_ButItFailed setyawn BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_DrowsyMade waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D882F: @ 81D882F copyarray gSharedMem + 0x16003, gSharedMem + 0x160F8, 1 @@ -2581,11 +2582,11 @@ BattleScript_1D8839: @ 81D8839 pause 32 printstring BATTLE_TEXT_MadeIneffective2 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_KnockOff: @ 81D8847 setbyte gUnknown_02024D1F + 0x2, 54 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Endeavor: @ 81D8852 attackcanceler @@ -2594,39 +2595,39 @@ MoveEffect_Endeavor: @ 81D8852 setdamagetohealthdifference BattleScript_ButItFailed copyarray gHP_dealt, gBattleMoveDamage, 4 accuracycheck BattleScript_1D6F77, 0 - atk6 + typecalc jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D6F48 bicbyte gBattleMoveFlags, 6 copyarray gBattleMoveDamage, gHP_dealt, 4 - atk69 - jump BattleScript_1D6F48 + adjustsetdamage + goto BattleScript_1D6F48 MoveEffect_Eruption: @ 81D888D scaledamagebyhealthratio - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_SkillSwap: @ 81D8893 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 65535 - abilityswap BattleScript_ButItFailed + tryswapabilities BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_AbilitySwap waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Imprison: @ 81D88AF attackcanceler attackstring ppreduce - imprisoneffect BattleScript_ButItFailed + tryimprision BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_SealedMove waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Refresh: @ 81D88C4 attackcanceler @@ -2637,23 +2638,23 @@ MoveEffect_Refresh: @ 81D88C4 waitanimation printstring BATTLE_TEXT_StatusNormal waitmessage 64 - atk98 1 - jump BattleScript_EndTurn + updatestatusicon 1 + goto BattleScript_EndTurn MoveEffect_Grudge: @ 81D88DB attackcanceler attackstring ppreduce - setgrudge BattleScript_ButItFailed + trysetgrudge BattleScript_ButItFailed attackanimation waitanimation printstring BATTLE_TEXT_GrudgeBear waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Snatch: @ 81D88F0 attackcanceler - setstealstatchange BattleScript_1D83D4 + trysetsnatch BattleScript_1D83D4 attackstring ppreduce attackanimation @@ -2661,7 +2662,7 @@ MoveEffect_Snatch: @ 81D88F0 pause 32 printstring BATTLE_TEXT_AwaitMove waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_LowKick: @ 81D8908 attackcanceler @@ -2669,15 +2670,15 @@ MoveEffect_LowKick: @ 81D8908 ppreduce weightdamagecalculation accuracycheck BattleScript_1D6F77, 0 - jump BattleScript_1D6F44 + goto BattleScript_1D6F44 MoveEffect_SecretPower: @ 81D8918 - naturepowereffect - jump BattleScript_1D6F14 + getsecretpowereffect + goto BattleScript_1D6F14 MoveEffect_DoubleEdge: @ 81D891E setbyte gUnknown_02024D1F + 0x2, 230 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_TeeterDance: @ 81D8929 attackcanceler @@ -2686,23 +2687,23 @@ MoveEffect_TeeterDance: @ 81D8929 setbyte gBankTarget, 0 BattleScript_1D8932: @ 81D8932 - atk25 + movevaluescleanup setbyte gUnknown_02024D1F + 0x2, 7 jumpifarrayequal gBankAttacker, gBankTarget, 1, BattleScript_1D8978 jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D8996 - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D89B2 - jumpifsecondarytstatus TARGET, S_CONFUSED, BattleScript_1D89C0 + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D89B2 + jumpifstatus2 TARGET, S_CONFUSED, BattleScript_1D89C0 accuracycheck BattleScript_1D89CE, 0 - jumpifhalverset TARGET, 32, BattleScript_1D89A4 + jumpifsideaffecting TARGET, 32, BattleScript_1D89A4 attackanimation waitanimation - seteffecttarget + seteffectprimary resultmessage waitmessage 64 BattleScript_1D8978: @ 81D8978 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 + moveend 2, 16 addbyte gBankTarget, 1 jumpifarraynotequal gBankTarget, gNoOfAllBanks, 1, BattleScript_1D8932 end @@ -2711,30 +2712,30 @@ BattleScript_1D8996: @ 81D8996 pause 32 printstring BATTLE_TEXT_PreventedConfusion waitmessage 64 - jump BattleScript_1D8978 + goto BattleScript_1D8978 BattleScript_1D89A4: @ 81D89A4 pause 32 printstring BATTLE_TEXT_SafeguardActive waitmessage 64 - jump BattleScript_1D8978 + goto BattleScript_1D8978 BattleScript_1D89B2: @ 81D89B2 pause 32 printstring BATTLE_TEXT_Failed waitmessage 64 - jump BattleScript_1D8978 + goto BattleScript_1D8978 BattleScript_1D89C0: @ 81D89C0 pause 32 printstring BATTLE_TEXT_AlreadyConfused waitmessage 64 - jump BattleScript_1D8978 + goto BattleScript_1D8978 BattleScript_1D89CE: @ 81D89CE resultmessage waitmessage 64 - jump BattleScript_1D8978 + goto BattleScript_1D8978 MoveEffect_MudSport: @ 81D89D7 MoveEffect_WaterSport: @ 81D89D7 @@ -2746,19 +2747,19 @@ MoveEffect_WaterSport: @ 81D89D7 waitanimation printfromtable BattleTextList_4015D4 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_PoisonFang: @ 81D89EE setbyte gUnknown_02024D1F + 0x2, 6 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_WeatherBall: @ 81D89F9 - seteffectbyweather - jump BattleScript_1D6F14 + setweatherballtype + goto BattleScript_1D6F14 MoveEffect_Overheat: @ 81D89FF setbyte gUnknown_02024D1F + 0x2, 251 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_Tickle: @ 81D8A0A attackcanceler @@ -2789,14 +2790,14 @@ BattleScript_1D8A55: @ 81D8A55 waitmessage 64 BattleScript_1D8A78: @ 81D8A78 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D8A7D: @ 81D8A7D pause 32 orbyte gBattleMoveFlags, 32 printstring BATTLE_TEXT_StatNoLower waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_CosmicPower: @ 81D8A91 attackcanceler @@ -2824,11 +2825,11 @@ BattleScript_1D8AD1: @ 81D8AD1 waitmessage 64 BattleScript_1D8AF0: @ 81D8AF0 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_SkyUppercut: @ 81D8AF5 orword gHitMarker, 0x10000 - jump BattleScript_1D6F14 + goto BattleScript_1D6F14 MoveEffect_BulkUp: @ 81D8B03 attackcanceler @@ -2856,7 +2857,7 @@ BattleScript_1D8B43: @ 81D8B43 waitmessage 64 BattleScript_1D8B62: @ 81D8B62 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_CalmMind: @ 81D8B67 attackcanceler @@ -2884,14 +2885,14 @@ BattleScript_1D8BA7: @ 81D8BA7 waitmessage 64 BattleScript_1D8BC6: @ 81D8BC6 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D8BCB: @ 81D8BCB pause 32 orbyte gBattleMoveFlags, 32 printstring BATTLE_TEXT_StatNoHigher waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_DragonDance: @ 81D8BDF attackcanceler @@ -2919,7 +2920,7 @@ BattleScript_1D8C1F: @ 81D8C1F waitmessage 64 BattleScript_1D8C3E: @ 81D8C3E - jump BattleScript_EndTurn + goto BattleScript_EndTurn MoveEffect_Camouflage: @ 81D8C43 attackcanceler @@ -2930,27 +2931,27 @@ MoveEffect_Camouflage: @ 81D8C43 waitanimation printstring BATTLE_TEXT_TypeTransform waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn gUnknown_081D8C58:: @ 81D8C58 - atk56 1 + playfaintcry 1 pause 64 - atk1a 1 - atk1b 1 + dofaintanimation 1 + cleareffectsonfaint 1 printstring BATTLE_TEXT_AttackingFainted return gUnknown_081D8C65:: @ 81D8C65 - atk56 0 + playfaintcry 0 pause 64 - atk1a 0 - atk1b 0 + dofaintanimation 0 + cleareffectsonfaint 0 printstring BATTLE_TEXT_DefendingFainted return gUnknown_081D8C72:: @ 81D8C72 setbyte gSharedMem + 0x1600F, 0 - atk23 0 + getexp 0 end2 gUnknown_081D8C7B:: @ 81D8C7B @@ -2960,60 +2961,60 @@ gUnknown_081D8C7B:: @ 81D8C7B jumpifword 5, gHitMarker, 0x400000, BattleScript_1D8CC2 printstring BATTLE_TEXT_UseNext setbyte gBattleCommunication, 0 - atk67 + yesnobox jumpifbyte 0, gUnknown_02024D1F, 0, BattleScript_1D8CC2 - atk72 BattleScript_1D8D86 + jumpifplayerran BattleScript_1D8D86 printstring BATTLE_TEXT_CantEscape BattleScript_1D8CC2: @ 81D8CC2 openpartyscreen 3, BattleScript_1D8D86 - atk51 3, 2 + switchhandleorder 3, 2 jumpifhalfword 5, gBattleTypeFlags, 8, BattleScript_1D8D66 jumpifhalfword 4, gBattleTypeFlags, 2, BattleScript_1D8D66 jumpifhalfword 4, gBattleTypeFlags, 256, BattleScript_1D8D66 jumpifhalfword 4, gBattleTypeFlags, 1, BattleScript_1D8D66 jumpifword 4, gHitMarker, 0x400000, BattleScript_1D8D66 jumpifbyte 0, gSharedMem + 0x16084, 1, BattleScript_1D8D66 - jumpifcannotswitch USER, BattleScript_1D8D66 + jumpifcantswitch USER, BattleScript_1D8D66 printstring BATTLE_TEXT_WillSwitch setbyte gBattleCommunication, 0 - atk67 + yesnobox jumpifbyte 0, gUnknown_02024D1F, 1, BattleScript_1D8D66 - atk6e + setatktoplayer0 openpartyscreen 129, BattleScript_1D8D66 - atk51 USER, 2 + switchhandleorder USER, 2 jumpifbyte 0, gBattleCommunication, 6, BattleScript_1D8D66 - atk6b - atk76 USER, 5 - atk74 1 + atknameinbuff1 + resetintrimidatetracebits USER + hpthresholds2 1 printstring 2 - atke2 USER - waitstateatk - atk4b - waitstateatk - atk61 1 - switch1 USER - switch2 USER - atk73 USER + switchoutabilities USER + waitstate + returnatktoball + waitstate + drawpartystatussummary 1 + getswitchedmondata USER + switchindataupdate USER + hpthresholds USER printstring 3 atk62 1 - switch3 USER, 0 - waitstateatk - atk52 USER - atk6d + switchinanim USER, 0 + waitstate + switchineffects USER + resetsentmonsvalue BattleScript_1D8D66: @ 81D8D66 - atk61 3 - switch1 3 - switch2 3 - atk73 3 + drawpartystatussummary 3 + getswitchedmondata 3 + switchindataupdate 3 + hpthresholds 3 printstring 3 atk62 3 - switch3 3, 0 - waitstateatk - atk52 3 + switchinanim 3, 0 + waitstate + switchineffects 3 jumpifhalfword 4, gBattleTypeFlags, 1, BattleScript_1D8D86 - atk68 + cancelallactions BattleScript_1D8D86: @ 81D8D86 end2 @@ -3022,21 +3023,21 @@ BattleScript_1D8D87: @ 81D8D87 openpartyscreen 5, BattleScript_1D8D8D BattleScript_1D8D8D: @ 81D8D8D - atk51 3, 0 + switchhandleorder 3, 0 openpartyscreen 6, BattleScript_1D8DBD - atk51 3, 0 + switchhandleorder 3, 0 BattleScript_1D8D99: @ 81D8D99 - atk51 3, 2 - atk61 3 - switch1 3 - switch2 3 - atk73 3 + switchhandleorder 3, 2 + drawpartystatussummary 3 + getswitchedmondata 3 + switchindataupdate 3 + hpthresholds 3 printstring 3 atk62 3 - switch3 3, 0 - waitstateatk - atk52 5 + switchinanim 3, 0 + waitstate + switchineffects 5 jumpifarraynotequal gBank1, gNoOfAllBanks, 1, BattleScript_1D8D99 BattleScript_1D8DBD: @ 81D8DBD @@ -3044,16 +3045,16 @@ BattleScript_1D8DBD: @ 81D8DBD gUnknown_081D8DBE:: @ 81D8DBE printstring BATTLE_TEXT_PlayerDefeatedTrainer2 - atk53 1 - waitstateatk + trainerslidein 1 + waitstate printstring BATTLE_TEXT_UnknownString - atk5d + getmoneyreward printstring BATTLE_TEXT_WinningPrize waitmessage 64 gUnknown_081D8DCE:: @ 81D8DCE - givemoney - pickupitemcalculation + givepaydaymoney + pickup end2 gUnknown_081D8DD1:: @ 81D8DD1 @@ -3077,8 +3078,8 @@ gUnknown_081D8E02:: @ 81D8E02 gUnknown_081D8E0D:: @ 81D8E0D printstring BATTLE_TEXT_PlayerDefeatedTrainer2 - atk53 1 - waitstateatk + trainerslidein 1 + waitstate end2 gUnknown_081D8E14:: @ 81D8E14 @@ -3112,51 +3113,51 @@ gUnknown_081D8E3B:: @ 81D8E3B end2 gUnknown_081D8E44:: @ 81D8E44 - printfromtable2 BattleTextList_401512 - atk44 + printselectionstringfromtable BattleTextList_401512 + endselectionscript gUnknown_081D8E4A:: @ 81D8E4A - printstring2 BATTLE_TEXT_BoxFull - atk44 + printselectionstring BATTLE_TEXT_BoxFull + endselectionscript gUnknown_081D8E4E:: @ 81D8E4E - atk74 1 + hpthresholds2 1 printstring 2 setbyte gSharedMem + 0x1601F, 2 jumpifbyte 4, gBattleTypeFlags, 1, BattleScript_1D8E6B - atk26 1 - jump BattleScript_1D8E6D + setmultihit 1 + goto BattleScript_1D8E6D BattleScript_1D8E6B: @ 81D8E6B - atk26 2 + setmultihit 2 BattleScript_1D8E6D: @ 81D8E6D - atkba BattleScript_1D8E7A + jumpifnopursuitswitchdmg BattleScript_1D8E7A atk5f - atkab - callatk BattleScript_1D8EAD + trysetdestinybondtohappen + call BattleScript_1D8EAD atk5f BattleScript_1D8E7A: @ 81D8E7A - atk27 BattleScript_1D8E6D - atke2 USER - waitstateatk - atk4b - waitstateatk - atk61 1 - atk51 USER, 1 - switch1 USER - switch2 USER - atk73 USER + decrementmultihit BattleScript_1D8E6D + switchoutabilities USER + waitstate + returnatktoball + waitstate + drawpartystatussummary 1 + switchhandleorder USER, 1 + getswitchedmondata USER + switchindataupdate USER + hpthresholds USER printstring 3 atk62 1 - switch3 USER, 0 - waitstateatk - atk52 USER + switchinanim USER, 0 + waitstate + switchineffects USER setbyte gSharedMem + 0x1600C, 4 - atk49 1, 0 + moveend 1, 0 setbyte gSharedMem + 0x1600C, 15 - atk49 1, 0 + moveend 1, 0 end2 BattleScript_1D8EAD: @ 81D8EAD @@ -3164,27 +3165,27 @@ BattleScript_1D8EAD: @ 81D8EAD attackstring ppreduce critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET critmessage waitmessage 64 resultmessage waitmessage 64 - faintpokemon TARGET, 0, 0x0 + tryfaintmon TARGET, 0, 0x0 setbyte gSharedMem + 0x1600C, 3 - atk49 2, 6 - atk76 TARGET, 4 + moveend 2, 6 + various TARGET, 4 jumpifbyte 0, gBattleCommunication, 0, BattleScript_1D8EEE setbyte gSharedMem + 0x1600F, 0 - atk23 0 + getexp 0 BattleScript_1D8EEE: @ 81D8EEE return @@ -3194,30 +3195,30 @@ BattleScript_Pausex20:: @ 81D8EEF return BattleScript_LevelUp:: @ 81D8EF3 - atk55 0xe10016f + fanfare 0xe10016f attackcanceler setbyte gSharedMem + 0x1609C, 0 - atk6c - checkiflearnmoveinbattle BattleScript_1D8F4F, BattleScript_1D8F61, 1 - jump BattleScript_1D8F19 + drawlvlupbox + handlelearnnewmove BattleScript_1D8F4F, BattleScript_1D8F61, 1 + goto BattleScript_1D8F19 BattleScript_1D8F0F: @ 81D8F0F - checkiflearnmoveinbattle BattleScript_1D8F4F, BattleScript_1D8F61, 0 + handlelearnnewmove BattleScript_1D8F4F, BattleScript_1D8F61, 0 BattleScript_1D8F19: @ 81D8F19 - atk71 + buffermovetolearn printstring BATTLE_TEXT_TryingToLearnMove printstring BATTLE_TEXT_CantLearnMore printstring BATTLE_TEXT_DeleteMove - waitstateatk + waitstate setbyte gSharedMem + 0x1601A, 0 - atk5a BattleScript_1D8F46 + yesnoboxlearnmove BattleScript_1D8F46 printstring BATTLE_TEXT_StopLearning - waitstateatk + waitstate setbyte gSharedMem + 0x1601A, 0 - atk5b BattleScript_1D8F19 + yesnoboxstoplearningmove BattleScript_1D8F19 printstring BATTLE_TEXT_DidNotLearn - jump BattleScript_1D8F0F + goto BattleScript_1D8F0F BattleScript_1D8F46: @ 81D8F46 printstring BATTLE_TEXT_MoveForget123 @@ -3225,12 +3226,12 @@ BattleScript_1D8F46: @ 81D8F46 printstring BATTLE_TEXT_MoveForgetAnd BattleScript_1D8F4F: @ 81D8F4F - atk71 - atk55 0xf10016f + buffermovetolearn + fanfare 0xf10016f attackcanceler waitmessage 64 - atk76 USER, 6 - jump BattleScript_1D8F0F + updatechoicemoveonlvlup USER + goto BattleScript_1D8F0F BattleScript_1D8F61: @ 81D8F61 return @@ -3247,21 +3248,21 @@ BattleScript_1D8F7C: @ 81D8F7C gUnknown_081D8F7D:: @ 81D8F7D printfromtable BattleTextList_401528 waitmessage 64 - atk46 1, gSharedMem + 0x160A4, 0x0 + playanimation2 1, gSharedMem + 0x160A4, 0x0 setbyte gBattleCommunication, 0 BattleScript_1D8F95: @ 81D8F95 - atk32 gBankAttacker, gTurnOrder, gBattleCommunication, 1 + copyarraywithindex gBankAttacker, gTurnOrder, gBattleCommunication, 1 weatherdamage jumpifword 0, gBattleMoveDamage, 0x0, BattleScript_1D8FD6 printfromtable BattleTextList_40152C waitmessage 64 orword gHitMarker, 0x1100120 - missmessage - atk5c USER - graphicalhpupdate USER + effectivenesssound + hitanimation USER + healthbarupdate USER datahpupdate USER - faintpokemon USER, 0, 0x0 + tryfaintmon USER, 0, 0x0 atk24 BattleScript_1D8FD6 BattleScript_1D8FD6: @ 81D8FD6 @@ -3292,7 +3293,7 @@ gUnknown_081D9016:: @ 81D9016 gUnknown_081D901D:: @ 81D901D printfromtable BattleTextList_4015EE waitmessage 64 - atk46 1, gSharedMem + 0x160A4, 0x0 + playanimation2 1, gSharedMem + 0x160A4, 0x0 end3 gUnknown_081D9030:: @ 81D9030 @@ -3315,76 +3316,76 @@ gUnknown_081D9041:: @ 81D9041 BattleScript_LeechSeedTurnDrain:: @ 81D904B playanimation USER, B_ANIM_LEECH_SEED_DRAIN, gSharedMem + 0x160A4 orword gHitMarker, 0x100100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER copyarray gBattleMoveDamage, gHP_dealt, 4 jumpifability USER, ABILITY_LIQUID_OOZE, BattleScript_1D907D manipulatedamage 0 setbyte gUnknown_02024D1F + 0x4, 3 - jump BattleScript_1D9083 + goto BattleScript_1D9083 BattleScript_1D907D: @ 81D907D setbyte gUnknown_02024D1F + 0x4, 4 BattleScript_1D9083: @ 81D9083 orword gHitMarker, 0x100100 - graphicalhpupdate TARGET + healthbarupdate TARGET datahpupdate TARGET printfromtable BattleTextList_40154C waitmessage 64 - faintpokemon USER, 0, 0x0 - faintpokemon TARGET, 0, 0x0 + tryfaintmon USER, 0, 0x0 + tryfaintmon TARGET, 0, 0x0 end2 BattleScript_BideStoringEnergy:: @ 81D90A7 printstring BATTLE_TEXT_StoringEnergy waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_BideAttack:: @ 81D90B2 printstring BATTLE_TEXT_UnleashedEnergy waitmessage 64 accuracycheck BattleScript_1D6F77, 0 - atk6 + typecalc bicbyte gBattleMoveFlags, 6 copyarray gBattleMoveDamage, gSharedMem + 0x16090, 4 - atk69 + adjustsetdamage setbyte gSharedMem + 0x16002, 1 attackanimation waitanimation - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET resultmessage waitmessage 64 - faintpokemon TARGET, 0, 0x0 - jump BattleScript_EndTurn + tryfaintmon TARGET, 0, 0x0 + goto BattleScript_EndTurn BattleScript_BideNoEnergyToAttack:: @ 81D90F1 printstring BATTLE_TEXT_UnleashedEnergy waitmessage 64 - jump BattleScript_ButItFailed + goto BattleScript_ButItFailed gUnknown_081D90FC:: @ 81D90FC attackanimation waitanimation - atke2 TARGET - atk58 TARGET - waitstateatk + switchoutabilities TARGET + returntoball TARGET + waitstate jumpifhalfword 4, gBattleTypeFlags, 8, BattleScript_1D9116 setbyte gBattleOutcome, 5 - atkf6 + finishaction BattleScript_1D9116: @ 81D9116 - switch1 TARGET - switch2 TARGET - switch3 TARGET, 0 - waitstateatk + getswitchedmondata TARGET + switchindataupdate TARGET + switchinanim TARGET, 0 + waitstate printstring BATTLE_TEXT_DraggedOut - atk52 TARGET - jump BattleScript_EndTurn + switchineffects TARGET + goto BattleScript_EndTurn BattleScript_MistProtected:: @ 81D9128 pause 32 @@ -3400,11 +3401,11 @@ gUnknown_081D9132:: @ 81D9132 BattleScript_MoveUsedIsDisabled:: @ 81D9139 printstring BATTLE_TEXT_MoveIsDisabled waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_MoveSelectionDisabledMove:: @ 81D9144 - printstring2 BATTLE_TEXT_MoveIsDisabled - atk44 + printselectionstring BATTLE_TEXT_MoveIsDisabled + endselectionscript BattleScript_DisabledNoMore:: @ 81D9148 printstring BATTLE_TEXT_DisabledNoMore @@ -3420,52 +3421,52 @@ gUnknown_081D9156:: @ 81D9156 printstring BATTLE_TEXT_DestinyBondTaken waitmessage 64 orword gHitMarker, 0x100100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER - faintpokemon USER, 0, 0x0 + tryfaintmon USER, 0, 0x0 return gUnknown_081D9171:: @ 81D9171 orword gHitMarker, 0x100100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER - callatk BattleScript_1D91FB - faintpokemon USER, 0, 0x0 - faintpokemon USER, 1, BattleScript_1D9192 + call BattleScript_1D91FB + tryfaintmon USER, 0, 0x0 + tryfaintmon USER, 1, BattleScript_1D9192 return BattleScript_1D9192: @ 81D9192 setbyte gSharedMem + 0x1600F, 0 - atk23 1 - jump gUnknown_081D8C7B + getexp 1 + goto gUnknown_081D8C7B gUnknown_081D919F:: @ 81D919F orword gHitMarker, 0x100100 - graphicalhpupdate TARGET + healthbarupdate TARGET datahpupdate TARGET - callatk BattleScript_1D91FB - faintpokemon TARGET, 0, 0x0 - faintpokemon TARGET, 1, BattleScript_1D91C0 + call BattleScript_1D91FB + tryfaintmon TARGET, 0, 0x0 + tryfaintmon TARGET, 1, BattleScript_1D91C0 return BattleScript_1D91C0: @ 81D91C0 setbyte gSharedMem + 0x1600F, 0 - atk23 0 - jump gUnknown_081D8C7B + getexp 0 + goto gUnknown_081D8C7B gUnknown_081D91CD:: @ 81D91CD orword gHitMarker, 0x100100 - graphicalhpupdate 3 + healthbarupdate 3 datahpupdate 3 - callatk BattleScript_1D91FB - faintpokemon 3, 0, 0x0 - faintpokemon 3, 1, BattleScript_1D91EE + call BattleScript_1D91FB + tryfaintmon 3, 0, 0x0 + tryfaintmon 3, 1, BattleScript_1D91EE return BattleScript_1D91EE: @ 81D91EE setbyte gSharedMem + 0x1600F, 0 - atk23 3 - jump gUnknown_081D8C7B + getexp 3 + goto gUnknown_081D8C7B BattleScript_1D91FB: @ 81D91FB printstring BATTLE_TEXT_SpikesHurt @@ -3476,9 +3477,9 @@ BattleScript_PerishSongHits:: @ 81D9202 printstring BATTLE_TEXT_PerishSongFell waitmessage 64 orword gHitMarker, 0x100100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER - faintpokemon USER, 0, 0x0 + tryfaintmon USER, 0, 0x0 end2 BattleScript_PerishSongTimerGoesDown:: @ 81D921D @@ -3529,7 +3530,7 @@ BattleScript_1D92BF: @ 81D92BF return BattleScript_RapidSpinAway:: @ 81D92C0 - breakfree + rapidspinfree return BattleScript_WrapFree:: @ 81D92C2 @@ -3552,36 +3553,36 @@ BattleScript_FutureSightHits:: @ 81D92D7 waitmessage 64 jumpifbyte 1, gUnknown_02024D1F + 0x4, 0, BattleScript_1D92F4 accuracycheck BattleScript_1D934B, 248 - jump BattleScript_1D92FB + goto BattleScript_1D92FB BattleScript_1D92F4: @ 81D92F4 accuracycheck BattleScript_1D934B, 353 BattleScript_1D92FB: @ 81D92FB - atk8 + adjustnormaldamage2 jumpifbyte 1, gUnknown_02024D1F + 0x4, 0, BattleScript_1D9313 playanimation USER, B_ANIM_FUTURE_SIGHT_HIT, 0x0 - jump BattleScript_1D931A + goto BattleScript_1D931A BattleScript_1D9313: @ 81D9313 playanimation USER, B_ANIM_DOOM_DESIRE_HIT, 0x0 BattleScript_1D931A: @ 81D931A - missmessage - atk5c TARGET - waitstateatk - graphicalhpupdate TARGET + effectivenesssound + hitanimation TARGET + waitstate + healthbarupdate TARGET datahpupdate TARGET resultmessage waitmessage 64 - faintpokemon TARGET, 0, 0x0 + tryfaintmon TARGET, 0, 0x0 atk24 BattleScript_1D9332 BattleScript_1D9332: @ 81D9332 setbyte gSharedMem + 0x1600C, 0 - atk49 1, 0 + moveend 1, 0 setbyte gSharedMem + 0x1600C, 8 - atk49 2, 14 + moveend 2, 14 setbyte gBattleMoveFlags, 0 end2 @@ -3595,43 +3596,43 @@ BattleScript_1D934B: @ 81D934B end2 BattleScript_NoMovesLeft:: @ 81D9365 - printstring2 BATTLE_TEXT_NoMovesLeft - atk44 + printselectionstring BATTLE_TEXT_NoMovesLeft + endselectionscript BattleScript_MoveSelectionNoPP:: @ 81D9369 - printstring2 BATTLE_TEXT_NoPP1 - atk44 + printselectionstring BATTLE_TEXT_NoPP1 + endselectionscript BattleScript_NoPPForMove:: @ 81D936D attackstring pause 32 printstring BATTLE_TEXT_NoPP2 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_MoveSelectionTormented:: @ 81D937C - printstring2 BATTLE_TEXT_TormentNoUse - atk44 + printselectionstring BATTLE_TEXT_TormentNoUse + endselectionscript printstring BATTLE_TEXT_TormentNoUse waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_MoveSelectionTaunted:: @ 81D938B - printstring2 BATTLE_TEXT_TauntNoUse - atk44 + printselectionstring BATTLE_TEXT_TauntNoUse + endselectionscript BattleScript_MoveUsedIsTaunted:: @ 81D938F printstring BATTLE_TEXT_TauntNoUse waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_WishComesTrue:: @ 81D939A - atkd4 1, BattleScript_1D93C1 + trywish 1, BattleScript_1D93C1 playanimation TARGET, B_ANIM_WISH_HEAL, 0x0 printstring BATTLE_TEXT_WishTrue waitmessage 64 orword gHitMarker, 0x100 - graphicalhpupdate TARGET + healthbarupdate TARGET datahpupdate TARGET printstring BATTLE_TEXT_RegainedHealth waitmessage 64 @@ -3650,7 +3651,7 @@ BattleScript_IngrainTurnHeal:: @ 81D93D1 printstring BATTLE_TEXT_AbsorbNutrients waitmessage 64 orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER end2 @@ -3658,7 +3659,7 @@ BattleScript_1D93EC: @ 81D93EC pause 32 printstring BATTLE_TEXT_AnchoredItself waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_AtkDefDown:: @ 81D93FA setbyte gSharedMem + 0x160DC, 0 @@ -3690,11 +3691,11 @@ BattleScript_KnockedOff:: @ 81D944B BattleScript_MoveUsedIsImprisoned:: @ 81D9459 printstring BATTLE_TEXT_SealedNoUse waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_MoveSelectionImprisoned:: @ 81D9464 - printstring2 BATTLE_TEXT_SealedNoUse - atk44 + printselectionstring BATTLE_TEXT_SealedNoUse + endselectionscript gUnknown_081D9468:: @ 81D9468 printstring BATTLE_TEXT_GrudgeLosePP @@ -3708,13 +3709,13 @@ BattleScript_MagicCoatBounce:: @ 81D946F printstring BATTLE_TEXT_MagicCoatBounce waitmessage 64 orword gHitMarker, 0x800c00 - atk76 USER, 1 + setmagiccoattarget USER return BattleScript_SnatchedMove:: @ 81D9487 attackstring ppreduce - snatchmove + snatchsetbanks playanimation TARGET, B_ANIM_SNATCH_MOVE, 0x0 printstring BATTLE_TEXT_SnatchedMove waitmessage 64 @@ -3756,19 +3757,19 @@ BattleScript_MoveUsedIsAsleep:: @ 81D94EE printstring BATTLE_TEXT_FastAsleep waitmessage 64 statusanimation USER - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_MoveUsedWokeUp:: @ 81D94FB bicword gHitMarker, 0x10 printfromtable BattleTextList_401562 waitmessage 64 - atk98 1 + updatestatusicon 1 return gUnknown_081D950F:: @ 81D950F printstring BATTLE_TEXT_UproarWoke waitmessage 64 - atk98 1 + updatestatusicon 1 end2 BattleScript_PoisonTurnDmg:: @ 81D9518 @@ -3780,9 +3781,9 @@ BattleScript_1D951E: @ 81D951E BattleScript_1D9520: @ 81D9520 orword gHitMarker, 0x100100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER - faintpokemon USER, 0, 0x0 + tryfaintmon USER, 0, 0x0 atk24 BattleScript_1D9539 BattleScript_1D9539: @ 81D9539 @@ -3791,36 +3792,36 @@ BattleScript_1D9539: @ 81D9539 BattleScript_BurnTurnDmg:: @ 81D953A printstring BATTLE_TEXT_BurnHurt waitmessage 64 - jump BattleScript_1D951E + goto BattleScript_1D951E BattleScript_MoveUsedIsFrozen:: @ 81D9545 printstring BATTLE_TEXT_FrozenSolid waitmessage 64 statusanimation USER - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_MoveUsedUnfroze:: @ 81D9552 printfromtable BattleTextList_4015C4 waitmessage 64 - atk98 1 + updatestatusicon 1 return gUnknown_081D955D:: @ 81D955D printstring BATTLE_TEXT_DefendingDefrosted waitmessage 64 - atk98 0 + updatestatusicon 0 return BattleScript_MoveUsedIsParalyzed:: @ 81D9566 printstring BATTLE_TEXT_Paralyzed3 waitmessage 64 statusanimation USER - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_MoveUsedFlinched:: @ 81D9573 printstring BATTLE_TEXT_Flinched waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn gUnknown_081D957E:: @ 81D957E printfromtable BattleTextList_40155A @@ -3828,7 +3829,7 @@ gUnknown_081D957E:: @ 81D957E end2 BattleScript_ThrashConfuses:: @ 81D9587 - atk66 1, 1, S_CONFUSED + chosenstatusanimation 1, 1, S_CONFUSED printstring BATTLE_TEXT_FatigueConfuse waitmessage 64 end2 @@ -3836,22 +3837,22 @@ BattleScript_ThrashConfuses:: @ 81D9587 BattleScript_MoveUsedIsConfused:: @ 81D9595 printstring BATTLE_TEXT_Confused waitmessage 64 - atk65 1, 0x7 + status2animation 1, 0x7 jumpifbyte 0, gUnknown_02024D1F + 0x4, 0, BattleScript_1D95D3 BattleScript_1D95AC: @ 81D95AC - atk76 USER, 0 - atk8 + cancelmultiturnmoves USER + adjustnormaldamage2 printstring BATTLE_TEXT_HurtItself waitmessage 64 - missmessage - atk5c USER - waitstateatk + effectivenesssound + hitanimation USER + waitstate orword gHitMarker, 0x100100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER - faintpokemon USER, 0, 0x0 - jump BattleScript_EndTurn + tryfaintmon USER, 0, 0x0 + goto BattleScript_EndTurn BattleScript_1D95D3: @ 81D95D3 return @@ -3870,7 +3871,7 @@ BattleScript_WrapTurnDmg:: @ 81D95E2 playanimation USER, B_ANIM_TURN_TRAP, gSharedMem + 0x160A4 printstring BATTLE_TEXT_HurtBy waitmessage 64 - jump BattleScript_1D9520 + goto BattleScript_1D9520 BattleScript_WrapEnds:: @ 81D95F4 printstring BATTLE_TEXT_FreedFrom @@ -3880,30 +3881,30 @@ BattleScript_WrapEnds:: @ 81D95F4 BattleScript_MoveUsedIsInLove:: @ 81D95FB printstring BATTLE_TEXT_InLoveWith waitmessage 64 - atk65 1, 0xf0000 + status2animation 1, 0xf0000 return BattleScript_MoveUsedIsParalyzedCantAttack:: @ 81D9608 printstring BATTLE_TEXT_ImmobilizedBy waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_NightmareTurnDmg:: @ 81D9613 printstring BATTLE_TEXT_NightmareLock waitmessage 64 - atk65 1, Start - jump BattleScript_1D9520 + status2animation 1, Start + goto BattleScript_1D9520 BattleScript_CurseTurnDmg:: @ 81D9624 printstring BATTLE_TEXT_CurseAfflict waitmessage 64 - atk65 1, 0x10000000 - jump BattleScript_1D9520 + status2animation 1, 0x10000000 + goto BattleScript_1D9520 BattleScript_TargetPRLZHeal:: @ 81D9635 printstring BATTLE_TEXT_ParalysisHealed waitmessage 64 - atk98 0 + updatestatusicon 0 return BattleScript_1D963E:: @ 81D963E @@ -3912,42 +3913,42 @@ BattleScript_1D963E:: @ 81D963E waitmessage 64 BattleScript_1D9648: @ 81D9648 - atk98 2 - waitstateatk + updatestatusicon 2 + waitstate return BattleScript_YawnMakesAsleep:: @ 81D964C statusanimation 2 printstring BATTLE_TEXT_FellAsleep waitmessage 64 - atk98 2 - waitstateatk - atk6f 2 + updatestatusicon 2 + waitstate + makevisible 2 end2 BattleScript_1D965A:: @ 81D965A statusanimation 2 printfromtable BattleTextList_4015B0 waitmessage 64 - jump BattleScript_1D9648 + goto BattleScript_1D9648 BattleScript_1D9669:: @ 81D9669 statusanimation 2 printfromtable BattleTextList_4015BC waitmessage 64 - jump BattleScript_1D9648 + goto BattleScript_1D9648 BattleScript_1D9678:: @ 81D9678 statusanimation 2 printfromtable BattleTextList_4015C0 waitmessage 64 - jump BattleScript_1D9648 + goto BattleScript_1D9648 BattleScript_1D9687:: @ 81D9687 statusanimation 2 printfromtable BattleTextList_4015B4 waitmessage 64 - jump BattleScript_1D9648 + goto BattleScript_1D9648 BattleScript_1D9696:: @ 81D9696 printstring BATTLE_TEXT_UproarCaused @@ -3958,7 +3959,7 @@ BattleScript_1D969D:: @ 81D969D statusanimation 2 printstring BATTLE_TEXT_BadlyPoisoned waitmessage 64 - jump BattleScript_1D9648 + goto BattleScript_1D9648 BattleScript_1D96AA:: @ 81D96AA printstring BATTLE_TEXT_CoinScatter @@ -3971,7 +3972,7 @@ BattleScript_1D96B1:: @ 81D96B1 return BattleScript_1D96BA:: @ 81D96BA - atk66 2, 1, S_CONFUSED + chosenstatusanimation 2, 1, S_CONFUSED printstring BATTLE_TEXT_BecameConfused waitmessage 64 return @@ -3982,11 +3983,11 @@ BattleScript_1D96C8:: @ 81D96C8 BattleScript_1D96DB: @ 81D96DB orword gHitMarker, 0x100100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_HitRecoil waitmessage 64 - faintpokemon USER, 0, 0x0 + tryfaintmon USER, 0, 0x0 BattleScript_1D96F5: @ 81D96F5 return @@ -4000,9 +4001,9 @@ BattleScript_ItemSteal:: @ 81D96F6 BattleScript_DrizzleActivates:: @ 81D9704 pause 32 printstring BATTLE_TEXT_RainMade - waitstateatk + waitstate playanimation 7, B_ANIM_RAIN_CONTINUES, 0x0 - callatk BattleScript_1D9761 + call BattleScript_1D9761 end3 BattleScript_SpeedBoostActivates:: @ 81D9718 @@ -4021,46 +4022,46 @@ BattleScript_RainDishActivates:: @ 81D9730 printstring BATTLE_TEXT_RestoredHPByItem waitmessage 64 orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER end3 BattleScript_SandstreamActivates:: @ 81D9744 pause 32 printstring BATTLE_TEXT_WhipSandstorm - waitstateatk + waitstate playanimation 7, B_ANIM_SANDSTORM_CONTINUES, 0x0 - callatk BattleScript_1D9761 + call BattleScript_1D9761 end3 BattleScript_ShedSkinActivates:: @ 81D9758 printstring BATTLE_TEXT_CuredProblem waitmessage 64 - atk98 1 + updatestatusicon 1 end3 BattleScript_1D9761: @ 81D9761 setbyte gSharedMem + 0x16003, 0 BattleScript_1D9767: @ 81D9767 - castformswitch + trycastformdatachange addbyte gSharedMem + 0x16003, 1 jumpifarraynotequal gSharedMem + 0x16003, gNoOfAllBanks, 1, BattleScript_1D9767 return BattleScript_CastformChange:: @ 81D977D - callatk BattleScript_1D9783 + call BattleScript_1D9783 end3 BattleScript_1D9783: @ 81D9783 - actualcastformswitch - waitstateatk + docastformchangeanimation + waitstate printstring BATTLE_TEXT_Transformed2 waitmessage 64 return gUnknown_081D978C:: @ 81D978C - callatk BattleScript_1D9792 + call BattleScript_1D9792 end3 BattleScript_1D9792: @ 81D9792 @@ -4071,21 +4072,21 @@ gUnknown_081D9795:: @ 81D9795 setbyte gSharedMem + 0x1601E, 145 BattleScript_1D97A1: @ 81D97A1 - atke1 BattleScript_1D97EF - jumpifsecondarytstatus TARGET, S_SUBSTITUTE, BattleScript_1D97E4 + trygetintimidatetarget BattleScript_1D97EF + jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D97E4 jumpifability TARGET, ABILITY_CLEAR_BODY, BattleScript_1D97F0 jumpifability TARGET, ABILITY_HYPER_CUTTER, BattleScript_1D97F0 jumpifability TARGET, ABILITY_WHITE_SMOKE, BattleScript_1D97F0 statbuffchange 33, BattleScript_1D97E4 jumpifbyte 2, gUnknown_02024D1F + 0x4, 1, BattleScript_1D97E4 - atk47 + setgraphicalstatchangevalues playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4 printstring BATTLE_TEXT_CutsAttack waitmessage 64 BattleScript_1D97E4: @ 81D97E4 addbyte gBankTarget, 1 - jump BattleScript_1D97A1 + goto BattleScript_1D97A1 BattleScript_1D97EF: @ 81D97EF return @@ -4094,14 +4095,14 @@ BattleScript_1D97F0: @ 81D97F0 pause 32 printstring BATTLE_TEXT_PreventedOther waitmessage 64 - jump BattleScript_1D97E4 + goto BattleScript_1D97E4 BattleScript_DroughtActivates:: @ 81D97FE pause 32 printstring BATTLE_TEXT_SunIntensified - waitstateatk + waitstate playanimation 7, B_ANIM_SUN_CONTINUES, 0x0 - callatk BattleScript_1D9761 + call BattleScript_1D9761 end3 BattleScript_TookAttack:: @ 81D9812 @@ -4116,13 +4117,13 @@ gUnknown_081D9826:: @ 81D9826 pause 32 printstring BATTLE_TEXT_ProtectedBy pause 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn gUnknown_081D9834:: @ 81D9834 pause 32 printstring BATTLE_TEXT_PreventedBy pause 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_MoveHPDrain_PPLoss:: @ 81D9842 ppreduce @@ -4131,12 +4132,12 @@ BattleScript_MoveHPDrain:: @ 81D9843 attackstring pause 32 orword gHitMarker, 0x100 - graphicalhpupdate TARGET + healthbarupdate TARGET datahpupdate TARGET printstring BATTLE_TEXT_HPRestoredUsing waitmessage 64 orbyte gBattleMoveFlags, 8 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_MoveHPDrain_FullHP_PPLoss:: @ 81D9865 ppreduce @@ -4147,7 +4148,7 @@ BattleScript_MoveHPDrain_FullHP:: @ 81D9866 printstring BATTLE_TEXT_MadeUseless waitmessage 64 orbyte gBattleMoveFlags, 8 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_FlashFireBoost_PPLoss:: @ 81D987B ppreduce @@ -4157,13 +4158,13 @@ BattleScript_FlashFireBoost:: @ 81D987C pause 32 printfromtable BattleTextList_401648 waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D988D: @ 81D988D pause 32 printstring BATTLE_TEXT_AnchorsItself waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_AbilityNoStatLoss:: @ 81D989B pause 32 @@ -4193,19 +4194,19 @@ BattleScript_ObliviousPreventsAttraction:: @ 81D98C9 pause 32 printstring BATTLE_TEXT_PreventedRomance waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_FlinchPrevention:: @ 81D98D7 pause 32 printstring BATTLE_TEXT_PreventedFlinching waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_1D98E5: @ 81D98E5 pause 32 printstring BATTLE_TEXT_PreventedConfusion waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_SoundproofProtected:: @ 81D98F3 attackstring @@ -4213,7 +4214,7 @@ BattleScript_SoundproofProtected:: @ 81D98F3 pause 32 printstring BATTLE_TEXT_BlocksOther waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_AbilityNoSpecificStatLoss:: @ 81D9903 pause 32 @@ -4226,7 +4227,7 @@ BattleScript_NoItemSteal:: @ 81D9913 pause 32 printstring BATTLE_TEXT_MadeIneffective waitmessage 64 - jump BattleScript_EndTurn + goto BattleScript_EndTurn BattleScript_ColorChangeActivates:: @ 81D9921 printstring BATTLE_TEXT_MadeType @@ -4235,67 +4236,67 @@ BattleScript_ColorChangeActivates:: @ 81D9921 BattleScript_RoughSkinActivates:: @ 81D9928 orword gHitMarker, 0x100100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_HurtOther waitmessage 64 - faintpokemon USER, 0, 0x0 + tryfaintmon USER, 0, 0x0 return BattleScript_CuteCharmActivates:: @ 81D9943 - atk65 1, 0xf0000 + status2animation 1, 0xf0000 printstring BATTLE_TEXT_InfatuatedPoke waitmessage 64 return BattleScript_ApplySecondaryEffect:: @ 81D9950 - waitstateatk - seteffectuser + waitstate + seteffectsecondary return BattleScript_SynchronizeActivates:: @ 81D9953 - waitstateatk - seteffecttarget + waitstate + seteffectprimary return gUnknown_081D9956:: @ 81D9956 printstring BATTLE_TEXT_CuredOfProblem waitmessage 64 - atk98 10 + updatestatusicon 10 return gUnknown_081D995F:: @ 81D995F printstring BATTLE_TEXT_IgnoredOrdersSLP waitmessage 64 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 + moveend 2, 16 end gUnknown_081D996F:: @ 81D996F printstring BATTLE_TEXT_IgnoredOrders waitmessage 64 - jumptoattack TARGET + jumptorandomattack TARGET BattleScript_MoveUsedLoafingAround:: @ 81D9977 printfromtable BattleTextList_40160E waitmessage 64 setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 + moveend 2, 16 end gUnknown_081D9989:: @ 81D9989 printstring BATTLE_TEXT_BeganNap waitmessage 64 setbyte gUnknown_02024D1F + 0x2, 65 - seteffecttarget + seteffectprimary setbyte gSharedMem + 0x1600C, 0 - atk49 2, 16 + moveend 2, 16 end gUnknown_081D99A0:: @ 81D99A0 printstring BATTLE_TEXT_WontObey waitmessage 64 - jump BattleScript_1D95AC + goto BattleScript_1D95AC BattleScript_SubstituteFade:: @ 81D99AB playanimation TARGET, B_ANIM_SUBSTITUTE_FADE, 0x0 @@ -4303,67 +4304,67 @@ BattleScript_SubstituteFade:: @ 81D99AB return BattleScript_BerryCurePrlzEnd2:: @ 81D99B6 - callatk BattleScript_BerryCureParRet + call BattleScript_BerryCureParRet end2 BattleScript_BerryCureParRet:: @ 81D99BC playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredParalysis waitmessage 64 - atk98 10 + updatestatusicon 10 removeitem 10 return BattleScript_BerryCurePsnEnd2:: @ 81D99CE - callatk BattleScript_BerryCurePsnRet + call BattleScript_BerryCurePsnRet end2 BattleScript_BerryCurePsnRet:: @ 81D99D4 playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredPoison waitmessage 64 - atk98 10 + updatestatusicon 10 removeitem 10 return BattleScript_BerryCureBrnEnd2:: @ 81D99E6 - callatk BattleScript_BerryCureBrnRet + call BattleScript_BerryCureBrnRet end2 BattleScript_BerryCureBrnRet:: @ 81D99EC playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredBurn waitmessage 64 - atk98 10 + updatestatusicon 10 removeitem 10 return BattleScript_BerryCureFrzEnd2:: @ 81D99FE - callatk BattleScript_BerryCureFrzRet + call BattleScript_BerryCureFrzRet end2 BattleScript_BerryCureFrzRet:: @ 81D9A04 playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredFreeze waitmessage 64 - atk98 10 + updatestatusicon 10 removeitem 10 return BattleScript_BerryCureSlpEnd2:: @ 81D9A16 - callatk BattleScript_BerryCureSlpRet + call BattleScript_BerryCureSlpRet end2 BattleScript_BerryCureSlpRet:: @ 81D9A1C playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printstring BATTLE_TEXT_CuredSleep waitmessage 64 - atk98 10 + updatestatusicon 10 removeitem 10 return BattleScript_BerryCureConfusionEnd2:: @ 81D9A2E - callatk BattleScript_BerryCureConfusionRet + call BattleScript_BerryCureConfusionRet end2 BattleScript_BerryCureConfusionRet:: @ 81D9A34 @@ -4374,19 +4375,19 @@ BattleScript_BerryCureConfusionRet:: @ 81D9A34 return gUnknown_081D9A44:: @ 81D9A44 - callatk gUnknown_081D9A4A + call gUnknown_081D9A4A end2 gUnknown_081D9A4A:: @ 81D9A4A playanimation 10, B_ANIM_ITEM_EFFECT, 0x0 printfromtable BattleTextList_40162C waitmessage 64 - atk98 10 + updatestatusicon 10 removeitem 10 return BattleScript_WhiteHerbEnd2:: @ 81D9A5E - callatk BattleScript_WhiteHerbRet + call BattleScript_WhiteHerbRet end2 BattleScript_WhiteHerbRet:: @ 81D9A64 @@ -4401,7 +4402,7 @@ BattleScript_ItemHealHP_RemoveItem:: @ 81D9A74 printstring BATTLE_TEXT_RestoredHealth waitmessage 64 orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER removeitem USER end2 @@ -4414,7 +4415,7 @@ BattleScript_BerryPPHealEnd2:: @ 81D9A91 end2 BattleScript_ItemHealHP_End2:: @ 81D9AA1 - callatk BattleScript_ItemHealHP_Ret + call BattleScript_ItemHealHP_Ret end2 BattleScript_ItemHealHP_Ret:: @ 81D9AA7 @@ -4422,13 +4423,13 @@ BattleScript_ItemHealHP_Ret:: @ 81D9AA7 printstring BATTLE_TEXT_RestoredHPLittle waitmessage 64 orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER return BattleScript_MoveSelectionChoiceBanded:: @ 81D9AC2 - printstring2 BATTLE_TEXT_ChoiceBand - atk44 + printselectionstring BATTLE_TEXT_ChoiceBand + endselectionscript BattleScript_HangedOnMsg:: @ 81D9AC6 playanimation TARGET, B_ANIM_HANGED_ON, 0x0 @@ -4441,12 +4442,12 @@ BattleScript_BerryConfuseHealEnd2:: @ 81D9AD4 printstring BATTLE_TEXT_RestoredHealth waitmessage 64 orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_UnknownString2 waitmessage 64 setbyte gUnknown_02024D1F + 0x2, 71 - seteffecttarget + seteffectprimary removeitem USER end2 @@ -4456,7 +4457,7 @@ BattleScript_BerryStatRaiseEnd2:: @ 81D9AFE BattleScript_1D9B0B: @ 81D9B0B setbyte gUnknown_02024D1F + 0x4, 4 - callatk BattleScript_StatUp + call BattleScript_StatUp removeitem USER end2 @@ -4468,8 +4469,8 @@ BattleScript_BerryFocusEnergyEnd2:: @ 81D9B19 end2 gUnknown_081D9B29:: @ 81D9B29 - printstring2 BATTLE_TEXT_CantUseItems - atk44 + printselectionstring BATTLE_TEXT_CantUseItems + endselectionscript gUnknown_081D9B2D:: @ 81D9B2D printstring BATTLE_TEXT_Terminator2 diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 22ecc7769..c6112fdd3 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -1,6 +1,7 @@ .include "asm/macros.inc" - .include "constants/constants.inc" .include "asm/macros/battle_script.inc" + .include "constants/constants.inc" + .include "constants/battle_script_constants.inc" .section script_data, "aw", %progbits @@ -40,46 +41,46 @@ gBattlescriptsForSafariActions:: @ 81D9E98 BattleScript_1D9EA8: @ 81D9EA8 jumpifhalfword 4, gBattleTypeFlags, 512, BattleScript_1D9EB8 printstring BATTLE_TEXT_Used1 - pokemoncatchfunction + handleballthrow BattleScript_1D9EB8: @ 81D9EB8 printstring BATTLE_TEXT_TutorialUsed - pokemoncatchfunction + handleballthrow BattleScript_1D9EBC: @ 81D9EBC printstring BATTLE_TEXT_Used1 - atk98 1 - pokemoncatchfunction + updatestatusicon 1 + handleballthrow BattleScript_SuccessBallThrow:: @ 81D9EC2 jumpifhalfword 0, gLastUsedItem, 5, BattleScript_1D9ED0 - atk60 11 + incrementgamestat 11 BattleScript_1D9ED0: @ 81D9ED0 printstring BATTLE_TEXT_BallCaught1 - capturesomethingf1 BattleScript_1D9EE3 + trysetcaughtmondexflags BattleScript_1D9EE3 printstring BATTLE_TEXT_AddedToDex - waitstateatk + waitstate setbyte gBattleCommunication, 0 - capturesomethingf2 + displaydexinfo BattleScript_1D9EE3: @ 81D9EE3 printstring BATTLE_TEXT_GiveNickname - waitstateatk + waitstate setbyte gBattleCommunication, 0 - capturesomethingf3 BattleScript_1D9EF8 + trygivecaughtmonnick BattleScript_1D9EF8 printstring BATTLE_TEXT_SentToPC waitmessage 64 BattleScript_1D9EF8: @ 81D9EF8 - catchpoke + givecaughtmon setbyte gBattleOutcome, 7 - activesidesomething + finishturn BattleScript_WallyBallThrow:: @ 81D9F00 printstring BATTLE_TEXT_BallCaught2 setbyte gBattleOutcome, 7 - activesidesomething + finishturn BattleScript_ShakeBallThrow:: @ 81D9F0A printfromtable BattleTextList_4015E6 @@ -91,7 +92,7 @@ BattleScript_ShakeBallThrow:: @ 81D9F0A setbyte gBattleOutcome, 8 BattleScript_1D9F34: @ 81D9F34 - atkf6 + finishaction BattleScript_TrainerBallBlock:: @ 81D9F35 waitmessage 64 @@ -99,70 +100,70 @@ BattleScript_TrainerBallBlock:: @ 81D9F35 waitmessage 64 printstring BATTLE_TEXT_DontBeAThief waitmessage 64 - atkf6 + finishaction BattleScript_1D9F45: @ 81D9F45 setbyte gSharedMem + 0x1600C, 15 - atk49 1, 0 + moveend 1, 0 end BattleScript_1D9F4F: @ 81D9F4F pause 48 - atk54 1 + playse 1 printstring BATTLE_TEXT_Used2 waitmessage 64 - atk75 + useitemonopponent orword gHitMarker, 0x100 - graphicalhpupdate USER + healthbarupdate USER datahpupdate USER printstring BATTLE_TEXT_RestoredHealth waitmessage 64 - atk98 1 + updatestatusicon 1 setbyte gSharedMem + 0x1600C, 15 - atk49 1, 0 - atkf6 + moveend 1, 0 + finishaction BattleScript_1D9F7B: @ 81D9F7B pause 48 - atk54 1 + playse 1 printstring BATTLE_TEXT_Used2 waitmessage 64 - atk75 + useitemonopponent printfromtable BattleTextList_401620 waitmessage 64 - atk98 1 + updatestatusicon 1 setbyte gSharedMem + 0x1600C, 15 - atk49 1, 0 - atkf6 + moveend 1, 0 + finishaction BattleScript_1D9F9C: @ 81D9F9C pause 48 - atk54 1 + playse 1 printstring BATTLE_TEXT_Used2 waitmessage 64 - atk75 + useitemonopponent printfromtable BattleTextList_401570 waitmessage 64 setbyte gSharedMem + 0x1600C, 15 - atk49 1, 0 - atkf6 + moveend 1, 0 + finishaction BattleScript_1D9FBB: @ 81D9FBB pause 48 - atk54 1 + playse 1 printstring BATTLE_TEXT_Used2 waitmessage 64 - atk75 + useitemonopponent printfromtable BattleTextList_4015A0 waitmessage 64 setbyte gSharedMem + 0x1600C, 15 - atk49 1, 0 - atkf6 + moveend 1, 0 + finishaction BattleScript_1D9FDA: @ 81D9FDA - atk54 17 + playse 17 setbyte gBattleOutcome, 4 - activesidesomething + finishturn BattleScript_1D9FE4: @ 81D9FE4 printstring BATTLE_TEXT_WatchingCarefully @@ -185,10 +186,10 @@ BattleScript_1D9FF4: @ 81D9FF4 BattleScript_1DA00A: @ 81DA00A printstring 2 waitmessage 64 - atk4b - waitstateatk - atk53 0 - waitstateatk + returnatktoball + waitstate + trainerslidein 0 + waitstate printstring BATTLE_TEXT_WallyBall waitmessage 64 end2 diff --git a/include/battle.h b/include/battle.h index febb5807a..dd44e0172 100644 --- a/include/battle.h +++ b/include/battle.h @@ -312,7 +312,7 @@ struct BattleStruct /* 0x2000000 */ /*0x1600C*/ u8 cmd49StateTracker; /*0x1600D*/ u8 unk1600D; /*0x1600E*/ u8 turncountersTracker; - /*0x1600F*/ u8 atk23StateTracker; + /*0x1600F*/ u8 getexpStateTracker; /*0x16010*/ u8 moveTarget[4]; /*0x16014*/ u8 unk16014; /*0x16015*/ u8 unk16015; diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 111dc92a6..4377367f7 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -13,7 +13,7 @@ void sub_8080A3C(void); void sub_8080AC4(void); void mapldr_default(); void sub_8080B60(void); -void atk17_seteffectuser(void); +void atk17_seteffectsecondary(void); void sub_8080E28(void); void sub_8080E44(void); bool32 sub_8080E70(void); diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 18585cebb..f37ba8682 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -282,41 +282,41 @@ static void atk01_accuracycheck(void); static void atk02_attackstring(void); static void atk03_ppreduce(void); static void atk04_critcalc(void); -static void atk05_damagecalc1(void); +static void atk05_damagecalc(void); static void atk06_typecalc(void); -static void atk07_dmg_adjustment(void); -static void atk08_dmg_adjustment2(void); +static void atk07_adjustnormaldamage(void); +static void atk08_adjustnormaldamage2(void); static void atk09_attackanimation(void); static void atk0A_waitanimation(void); static void atk0B_healthbarupdate(void); static void atk0C_datahpupdate(void); static void atk0D_critmessage(void); -static void atk0E_effectiveness_sound(void); +static void atk0E_effectivenesssound(void); static void atk0F_resultmessage(void); static void atk10_printstring(void); -static void atk11_printstring_playeronly(void); +static void atk11_printselectionstring(void); static void atk12_waitmessage(void); static void atk13_printfromtable(void); -static void atk14_printfromtable_playeronly(void); -static void atk15_seteffectwithchancetarget(void); +static void atk14_printselectionstringfromtable(void); +static void atk15_seteffectwithchance(void); static void atk16_seteffectprimary(void); static void atk17_seteffectsecondary(void); -static void atk18_status_effect_clear(void); -static void atk19_faint_pokemon(void); -static void atk1A_faint_animation(void); -static void atk1B_faint_effects_clear(void); +static void atk18_clearstatusfromeffect(void); +static void atk19_tryfaintmon(void); +static void atk1A_dofaintanimation(void); +static void atk1B_cleareffectsonfaint(void); static void atk1C_jumpifstatus(void); static void atk1D_jumpifstatus2(void); static void atk1E_jumpifability(void); static void atk1F_jumpifsideaffecting(void); static void atk20_jumpifstat(void); -static void atk21_jumpifstatus3(void); +static void atk21_jumpifstatus3condition(void); static void atk22_jumpiftype(void); static void atk23_getexp(void); static void atk24(void); -static void atk25_move_values_cleanup(void); -static void atk26_set_multihit(void); -static void atk27_decrement_multihit(void); +static void atk25_movevaluescleanup(void); +static void atk26_setmultihit(void); +static void atk27_decrementmultihit(void); static void atk28_goto(void); static void atk29_jumpifbyte(void); static void atk2A_jumpifhalfword(void); @@ -327,7 +327,7 @@ static void atk2E_setbyte(void); static void atk2F_addbyte(void); static void atk30_subbyte(void); static void atk31_copyarray(void); -static void atk32_copyarray_withindex(void); +static void atk32_copyarraywithindex(void); static void atk33_orbyte(void); static void atk34_orhalfword(void); static void atk35_orword(void); @@ -341,75 +341,75 @@ static void atk3C_return(void); static void atk3D_end(void); static void atk3E_end2(void); static void atk3F_end3(void); -static void atk40_jump_if_move_affected_by_protect(void); +static void atk40_jumpifaffectedbyprotect(void); static void atk41_call(void); static void atk42_jumpiftype2(void); static void atk43_jumpifabilitypresent(void); -static void atk44(void); +static void atk44_endselectionscript(void); static void atk45_playanimation(void); static void atk46_playanimation2(void); static void atk47_setgraphicalstatchangevalues(void); static void atk48_playstatchangeanimation(void); -static void atk49_moveendturn(void); +static void atk49_moveend(void); static void atk4A_typecalc2(void); -static void atk4B_return_atk_to_ball(void); -static void atk4C_copy_poke_data(void); -static void atk4D_switch_data_update(void); -static void atk4E_switchin_anim(void); -static void atk4F_jump_if_cannot_switch(void); +static void atk4B_returnatktoball(void); +static void atk4C_getswitchedmondata(void); +static void atk4D_switchindataupdate(void); +static void atk4E_switchinanim(void); +static void atk4F_jumpifcantswitch(void); static void atk50_openpartyscreen(void); -static void atk51_switch_handle_order(void); -static void atk52_switch_in_effects(void); -static void atk53_trainer_slide(void); -static void atk54_effectiveness_sound(void); -static void atk55_play_sound(void); -static void atk56_fainting_cry(void); +static void atk51_switchhandleorder(void); +static void atk52_switchineffects(void); +static void atk53_trainerslidein(void); +static void atk54_playse(void); +static void atk55_fanfare(void); +static void atk56_playfaintcry(void); static void atk57(void); -static void atk58_return_to_ball(void); -void atk59_learnmove_inbattle(void); -static void atk5A(void); -static void atk5B_80256E0(void); +static void atk58_returntoball(void); +void atk59_handlelearnnewmove(void); +static void atk5A_yesnoboxlearnmove(void); +static void atk5B_yesnoboxstoplearningmove(void); static void atk5C_hitanimation(void); static void atk5D_getmoneyreward(void); static void atk5E_8025A70(void); static void atk5F_8025B24(void); -static void atk60_increment_gamestat(void); -static void atk61_8025BA4(void); +static void atk60_incrementgamestat(void); +static void atk61_drawpartystatussummary(void); static void atk62_08025C6C(void); static void atk63_jumptorandomattack(void); static void atk64_statusanimation(void); static void atk65_status2animation(void); static void atk66_chosenstatusanimation(void); -static void atk67_8025ECC(void); -static void atk68_80246A0(void); -static void atk69_dmg_adjustment2(void); +static void atk67_yesnobox(void); +static void atk68_cancelallactions(void); +static void atk69_adjustsetdamage(void); void atk6A_removeitem(void); static void atk6B_atknameinbuff1(void); -static void atk6C_lvlbox_display(void); -static void atk6D_set_sentpokes_values(void); -static void atk6E_set_atk_to_player0(void); -static void atk6F_set_visible(void); -static void atk70_record_ability(void); -static void atk71_buffer_move_to_learn(void); -static void atk72_jump_if_can_run_frombattle(void); -static void atk73_hp_thresholds(void); -static void atk74_hp_thresholds2(void); -static void atk75_8026A58(void); +static void atk6C_drawlvlupbox(void); +static void atk6D_resetsentmonsvalue(void); +static void atk6E_setatktoplayer0(void); +static void atk6F_makevisible(void); +static void atk70_recordlastability(void); +static void atk71_buffermovetolearn(void); +static void atk72_jumpifplayerran(void); +static void atk73_hpthresholds(void); +static void atk74_hpthresholds2(void); +static void atk75_useitemonopponent(void); static void atk76_various(void); -static void atk77_setprotect(void); +static void atk77_setprotectlike(void); static void atk78_faintifabilitynotdamp(void); static void atk79_setatkhptozero(void); -static void atk7A_jumpwhiletargetvalid(void); -static void atk7B_healhalfHP_if_possible(void); -static void atk7C_8025508(void); -static void atk7D_set_rain(void); +static void atk7A_jumpifnexttargetvalid(void); +static void atk7B_tryhealhalfhealth(void); +static void atk7C_trymirrormove(void); +static void atk7D_setrain(void); static void atk7E_setreflect(void); static void atk7F_setseeded(void); static void atk80_manipulatedamage(void); -static void atk81_setrest(void); +static void atk81_trysetrest(void); static void atk82_jumpifnotfirstturn(void); static void atk83_nop(void); -static void atk84_jump_if_cant_sleep(void); +static void atk84_jumpifcantmakeasleep(void); static void atk85_stockpile(void); static void atk86_stockpiletobasedamage(void); static void atk87_stockpiletohpheal(void); @@ -419,64 +419,64 @@ static void atk89_statbuffchange(void); static void atk8A_normalisebuffs(void); static void atk8B_setbide(void); static void atk8C_confuseifrepeatingattackends(void); -static void atk8D_setmultihit_counter(void); -static void atk8E_prepare_multihit(void); +static void atk8D_setmultihitcounter(void); +static void atk8E_initmultihitstring(void); static void atk8F_forcerandomswitch(void); -static void atk90_conversion_type_change(void); +static void atk90_tryconversiontypechange(void); static void atk91_givepaydaymoney(void); static void atk92_setlightscreen(void); -static void atk93_ko_move(void); -static void atk94_gethalfcurrentenemyhp(void); +static void atk93_tryKO(void); +static void atk94_damagetohalftargethp(void); static void atk95_setsandstorm(void); static void atk96_weatherdamage(void); -static void atk97_try_infatuation(void); -static void atk98_status_icon_update(void); +static void atk97_tryinfatuating(void); +static void atk98_updatestatusicon(void); static void atk99_setmist(void); -static void atk9A_set_focusenergy(void); +static void atk9A_setfocusenergy(void); static void atk9B_transformdataexecution(void); -static void atk9C_set_substitute(void); -static void atk9D_copyattack(void); +static void atk9C_setsubstitute(void); +static void atk9D_mimicattackcopy(void); static void atk9E_metronome(void); static void atk9F_dmgtolevel(void); static void atkA0_psywavedamageeffect(void); static void atkA1_counterdamagecalculator(void); static void atkA2_mirrorcoatdamagecalculator(void); static void atkA3_disablelastusedattack(void); -static void atkA4_setencore(void); +static void atkA4_trysetencore(void); static void atkA5_painsplitdmgcalc(void); static void atkA6_settypetorandomresistance(void); static void atkA7_setalwayshitflag(void); static void atkA8_copymovepermanently(void); -static void atkA9_sleeptalk_choose_move(void); -static void atkAA_set_destinybond(void); -static void atkAB_DestinyBondFlagUpdate(void); +static void atkA9_trychoosesleeptalkmove(void); +static void atkAA_setdestinybond(void); +static void atkAB_trysetdestinybondtohappen(void); static void atkAC_remaininghptopower(void); -static void atkAD_spite_ppreduce(void); -static void atkAE_heal_party_status(void); +static void atkAD_tryspiteppreduce(void); +static void atkAE_healpartystatus(void); static void atkAF_cursetarget(void); -static void atkB0_set_spikes(void); -static void atkB1_set_foresight(void); -static void atkB2_setperishsong(void); +static void atkB0_trysetspikes(void); +static void atkB1_setforesight(void); +static void atkB2_trysetperishsong(void); static void atkB3_rolloutdamagecalculation(void); static void atkB4_jumpifconfusedandstatmaxed(void); static void atkB5_furycuttercalc(void); static void atkB6_happinesstodamagecalculation(void); static void atkB7_presentdamagecalculation(void); -static void atkB8_set_safeguard(void); +static void atkB8_setsafeguard(void); static void atkB9_magnitudedamagecalculation(void); static void atkBA_jumpifnopursuitswitchdmg(void); static void atkBB_setsunny(void); static void atkBC_maxattackhalvehp(void); static void atkBD_copyfoestats(void); -static void atkBE_breakfree(void); -static void atkBF_set_defense_curl(void); +static void atkBE_rapidspinfree(void); +static void atkBF_setdefensecurlbit(void); static void atkC0_recoverbasedonsunlight(void); -static void atkC1_hidden_power(void); -static void atkC2_selectnexttarget(void); -static void atkC3_setfutureattack(void); -static void atkC4_beat_up(void); -static void atkC5_hidepreattack(void); -static void atkC6_unhidepostattack(void); +static void atkC1_hiddenpowercalc(void); +static void atkC2_selectfirstvalidtarget(void); +static void atkC3_trysetfutureattack(void); +static void atkC4_trydobeatup(void); +static void atkC5_setsemiinvulnerablebit(void); +static void atkC6_clearsemiinvulnerablebit(void); static void atkC7_setminimize(void); static void atkC8_sethail(void); static void atkC9_jumpifattackandspecialattackcannotfall(void); @@ -487,45 +487,45 @@ static void atkCD_cureifburnedparalysedorpoisoned(void); static void atkCE_settorment(void); static void atkCF_jumpifnodamage(void); static void atkD0_settaunt(void); -static void atkD1_set_helpinghand(void); -static void atkD2_swap_items(void); -static void atkD3_copy_ability(void); -static void atkD4_wish_effect(void); -static void atkD5_setroots(void); +static void atkD1_trysethelpinghand(void); +static void atkD2_tryswapitems(void); +static void atkD3_trycopyability(void); +static void atkD4_trywish(void); +static void atkD5_trysetroots(void); static void atkD6_doubledamagedealtifdamaged(void); static void atkD7_setyawn(void); static void atkD8_setdamagetohealthdifference(void); static void atkD9_scaledamagebyhealthratio(void); -static void atkDA_abilityswap(void); -static void atkDB_imprisoneffect(void); -static void atkDC_setgrudge(void); +static void atkDA_tryswapabilities(void); +static void atkDB_tryimprision(void); +static void atkDC_trysetgrudge(void); static void atkDD_weightdamagecalculation(void); static void atkDE_asistattackselect(void); -static void atkDF_setmagiccoat(void); -static void atkE0_setstealstatchange(void); -static void atkE1_intimidate_string_loader(void); -static void atkE2_switchout_abilities(void); -static void atkE3_jumpiffainted(void); +static void atkDF_trysetmagiccoat(void); +static void atkE0_trysetsnatch(void); +static void atkE1_trygetintimidatetarget(void); +static void atkE2_switchoutabilities(void); +static void atkE3_jumpifhasnohp(void); static void atkE4_getsecretpowereffect(void); static void atkE5_pickup(void); -static void atkE6_castform_change_animation(void); -static void atkE7_castform_data_change(void); +static void atkE6_docastformchangeanimation(void); +static void atkE7_trycastformdatachange(void); static void atkE8_settypebasedhalvers(void); static void atkE9_setweatherballtype(void); -static void atkEA_recycleitem(void); +static void atkEA_tryrecycleitem(void); static void atkEB_settypetoterrain(void); -static void atkEC_pursuit_sth(void); -static void atkED_802B4B4(void); +static void atkEC_pursuitrelated(void); +static void atkED_snatchsetbanks(void); static void atkEE_removelightscreenreflect(void); -void atkEF_pokeball_catch_calculation(void); -static void atkF0_copy_caught_poke(void); -static void atkF1_setpoke_as_caught(void); -static void atkF2_display_dex_info(void); -static void atkF3_nickname_caught_poke(void); -static void atkF4_802BEF0(void); +void atkEF_handleballthrow(void); +static void atkF0_givecaughtmon(void); +static void atkF1_trysetcaughtmondexflags(void); +static void atkF2_displaydexinfo(void); +static void atkF3_trygivecaughtmonnick(void); +static void atkF4_subattackerhpbydmg(void); static void atkF5_removeattackerstatus1(void); -static void atkF6_802BF48(void); -static void atkF7_802BF54(void); +static void atkF6_finishaction(void); +static void atkF7_finishturn(void); const BattleCmdFunc gBattleScriptingCommandsTable[] = { @@ -534,41 +534,41 @@ const BattleCmdFunc gBattleScriptingCommandsTable[] = atk02_attackstring, atk03_ppreduce, atk04_critcalc, - atk05_damagecalc1, + atk05_damagecalc, atk06_typecalc, - atk07_dmg_adjustment, - atk08_dmg_adjustment2, + atk07_adjustnormaldamage, + atk08_adjustnormaldamage2, atk09_attackanimation, atk0A_waitanimation, atk0B_healthbarupdate, atk0C_datahpupdate, atk0D_critmessage, - atk0E_effectiveness_sound, + atk0E_effectivenesssound, atk0F_resultmessage, atk10_printstring, - atk11_printstring_playeronly, + atk11_printselectionstring, atk12_waitmessage, atk13_printfromtable, - atk14_printfromtable_playeronly, - atk15_seteffectwithchancetarget, + atk14_printselectionstringfromtable, + atk15_seteffectwithchance, atk16_seteffectprimary, atk17_seteffectsecondary, - atk18_status_effect_clear, - atk19_faint_pokemon, - atk1A_faint_animation, - atk1B_faint_effects_clear, + atk18_clearstatusfromeffect, + atk19_tryfaintmon, + atk1A_dofaintanimation, + atk1B_cleareffectsonfaint, atk1C_jumpifstatus, atk1D_jumpifstatus2, atk1E_jumpifability, atk1F_jumpifsideaffecting, atk20_jumpifstat, - atk21_jumpifstatus3, + atk21_jumpifstatus3condition, atk22_jumpiftype, atk23_getexp, atk24, - atk25_move_values_cleanup, - atk26_set_multihit, - atk27_decrement_multihit, + atk25_movevaluescleanup, + atk26_setmultihit, + atk27_decrementmultihit, atk28_goto, atk29_jumpifbyte, atk2A_jumpifhalfword, @@ -579,7 +579,7 @@ const BattleCmdFunc gBattleScriptingCommandsTable[] = atk2F_addbyte, atk30_subbyte, atk31_copyarray, - atk32_copyarray_withindex, + atk32_copyarraywithindex, atk33_orbyte, atk34_orhalfword, atk35_orword, @@ -593,75 +593,75 @@ const BattleCmdFunc gBattleScriptingCommandsTable[] = atk3D_end, atk3E_end2, atk3F_end3, - atk40_jump_if_move_affected_by_protect, + atk40_jumpifaffectedbyprotect, atk41_call, atk42_jumpiftype2, atk43_jumpifabilitypresent, - atk44, + atk44_endselectionscript, atk45_playanimation, atk46_playanimation2, atk47_setgraphicalstatchangevalues, atk48_playstatchangeanimation, - atk49_moveendturn, + atk49_moveend, atk4A_typecalc2, - atk4B_return_atk_to_ball, - atk4C_copy_poke_data, - atk4D_switch_data_update, - atk4E_switchin_anim, - atk4F_jump_if_cannot_switch, + atk4B_returnatktoball, + atk4C_getswitchedmondata, + atk4D_switchindataupdate, + atk4E_switchinanim, + atk4F_jumpifcantswitch, atk50_openpartyscreen, - atk51_switch_handle_order, - atk52_switch_in_effects, - atk53_trainer_slide, - atk54_effectiveness_sound, - atk55_play_sound, - atk56_fainting_cry, + atk51_switchhandleorder, + atk52_switchineffects, + atk53_trainerslidein, + atk54_playse, + atk55_fanfare, + atk56_playfaintcry, atk57, - atk58_return_to_ball, - atk59_learnmove_inbattle, - atk5A, - atk5B_80256E0, + atk58_returntoball, + atk59_handlelearnnewmove, + atk5A_yesnoboxlearnmove, + atk5B_yesnoboxstoplearningmove, atk5C_hitanimation, atk5D_getmoneyreward, atk5E_8025A70, atk5F_8025B24, - atk60_increment_gamestat, - atk61_8025BA4, + atk60_incrementgamestat, + atk61_drawpartystatussummary, atk62_08025C6C, atk63_jumptorandomattack, atk64_statusanimation, atk65_status2animation, atk66_chosenstatusanimation, - atk67_8025ECC, - atk68_80246A0, - atk69_dmg_adjustment2, + atk67_yesnobox, + atk68_cancelallactions, + atk69_adjustsetdamage, atk6A_removeitem, atk6B_atknameinbuff1, - atk6C_lvlbox_display, - atk6D_set_sentpokes_values, - atk6E_set_atk_to_player0, - atk6F_set_visible, - atk70_record_ability, - atk71_buffer_move_to_learn, - atk72_jump_if_can_run_frombattle, - atk73_hp_thresholds, - atk74_hp_thresholds2, - atk75_8026A58, + atk6C_drawlvlupbox, + atk6D_resetsentmonsvalue, + atk6E_setatktoplayer0, + atk6F_makevisible, + atk70_recordlastability, + atk71_buffermovetolearn, + atk72_jumpifplayerran, + atk73_hpthresholds, + atk74_hpthresholds2, + atk75_useitemonopponent, atk76_various, - atk77_setprotect, + atk77_setprotectlike, atk78_faintifabilitynotdamp, atk79_setatkhptozero, - atk7A_jumpwhiletargetvalid, - atk7B_healhalfHP_if_possible, - atk7C_8025508, - atk7D_set_rain, + atk7A_jumpifnexttargetvalid, + atk7B_tryhealhalfhealth, + atk7C_trymirrormove, + atk7D_setrain, atk7E_setreflect, atk7F_setseeded, atk80_manipulatedamage, - atk81_setrest, + atk81_trysetrest, atk82_jumpifnotfirstturn, atk83_nop, - atk84_jump_if_cant_sleep, + atk84_jumpifcantmakeasleep, atk85_stockpile, atk86_stockpiletobasedamage, atk87_stockpiletohpheal, @@ -670,64 +670,64 @@ const BattleCmdFunc gBattleScriptingCommandsTable[] = atk8A_normalisebuffs, atk8B_setbide, atk8C_confuseifrepeatingattackends, - atk8D_setmultihit_counter, - atk8E_prepare_multihit, + atk8D_setmultihitcounter, + atk8E_initmultihitstring, atk8F_forcerandomswitch, - atk90_conversion_type_change, + atk90_tryconversiontypechange, atk91_givepaydaymoney, atk92_setlightscreen, - atk93_ko_move, - atk94_gethalfcurrentenemyhp, + atk93_tryKO, + atk94_damagetohalftargethp, atk95_setsandstorm, atk96_weatherdamage, - atk97_try_infatuation, - atk98_status_icon_update, + atk97_tryinfatuating, + atk98_updatestatusicon, atk99_setmist, - atk9A_set_focusenergy, + atk9A_setfocusenergy, atk9B_transformdataexecution, - atk9C_set_substitute, - atk9D_copyattack, + atk9C_setsubstitute, + atk9D_mimicattackcopy, atk9E_metronome, atk9F_dmgtolevel, atkA0_psywavedamageeffect, atkA1_counterdamagecalculator, atkA2_mirrorcoatdamagecalculator, atkA3_disablelastusedattack, - atkA4_setencore, + atkA4_trysetencore, atkA5_painsplitdmgcalc, atkA6_settypetorandomresistance, atkA7_setalwayshitflag, atkA8_copymovepermanently, - atkA9_sleeptalk_choose_move, - atkAA_set_destinybond, - atkAB_DestinyBondFlagUpdate, + atkA9_trychoosesleeptalkmove, + atkAA_setdestinybond, + atkAB_trysetdestinybondtohappen, atkAC_remaininghptopower, - atkAD_spite_ppreduce, - atkAE_heal_party_status, + atkAD_tryspiteppreduce, + atkAE_healpartystatus, atkAF_cursetarget, - atkB0_set_spikes, - atkB1_set_foresight, - atkB2_setperishsong, + atkB0_trysetspikes, + atkB1_setforesight, + atkB2_trysetperishsong, atkB3_rolloutdamagecalculation, atkB4_jumpifconfusedandstatmaxed, atkB5_furycuttercalc, atkB6_happinesstodamagecalculation, atkB7_presentdamagecalculation, - atkB8_set_safeguard, + atkB8_setsafeguard, atkB9_magnitudedamagecalculation, atkBA_jumpifnopursuitswitchdmg, atkBB_setsunny, atkBC_maxattackhalvehp, atkBD_copyfoestats, - atkBE_breakfree, - atkBF_set_defense_curl, + atkBE_rapidspinfree, + atkBF_setdefensecurlbit, atkC0_recoverbasedonsunlight, - atkC1_hidden_power, - atkC2_selectnexttarget, - atkC3_setfutureattack, - atkC4_beat_up, - atkC5_hidepreattack, - atkC6_unhidepostattack, + atkC1_hiddenpowercalc, + atkC2_selectfirstvalidtarget, + atkC3_trysetfutureattack, + atkC4_trydobeatup, + atkC5_setsemiinvulnerablebit, + atkC6_clearsemiinvulnerablebit, atkC7_setminimize, atkC8_sethail, atkC9_jumpifattackandspecialattackcannotfall, @@ -738,45 +738,45 @@ const BattleCmdFunc gBattleScriptingCommandsTable[] = atkCE_settorment, atkCF_jumpifnodamage, atkD0_settaunt, - atkD1_set_helpinghand, - atkD2_swap_items, - atkD3_copy_ability, - atkD4_wish_effect, - atkD5_setroots, + atkD1_trysethelpinghand, + atkD2_tryswapitems, + atkD3_trycopyability, + atkD4_trywish, + atkD5_trysetroots, atkD6_doubledamagedealtifdamaged, atkD7_setyawn, atkD8_setdamagetohealthdifference, atkD9_scaledamagebyhealthratio, - atkDA_abilityswap, - atkDB_imprisoneffect, - atkDC_setgrudge, + atkDA_tryswapabilities, + atkDB_tryimprision, + atkDC_trysetgrudge, atkDD_weightdamagecalculation, atkDE_asistattackselect, - atkDF_setmagiccoat, - atkE0_setstealstatchange, - atkE1_intimidate_string_loader, - atkE2_switchout_abilities, - atkE3_jumpiffainted, + atkDF_trysetmagiccoat, + atkE0_trysetsnatch, + atkE1_trygetintimidatetarget, + atkE2_switchoutabilities, + atkE3_jumpifhasnohp, atkE4_getsecretpowereffect, atkE5_pickup, - atkE6_castform_change_animation, - atkE7_castform_data_change, + atkE6_docastformchangeanimation, + atkE7_trycastformdatachange, atkE8_settypebasedhalvers, atkE9_setweatherballtype, - atkEA_recycleitem, + atkEA_tryrecycleitem, atkEB_settypetoterrain, - atkEC_pursuit_sth, - atkED_802B4B4, + atkEC_pursuitrelated, + atkED_snatchsetbanks, atkEE_removelightscreenreflect, - atkEF_pokeball_catch_calculation, - atkF0_copy_caught_poke, - atkF1_setpoke_as_caught, - atkF2_display_dex_info, - atkF3_nickname_caught_poke, - atkF4_802BEF0, + atkEF_handleballthrow, + atkF0_givecaughtmon, + atkF1_trysetcaughtmondexflags, + atkF2_displaydexinfo, + atkF3_trygivecaughtmonnick, + atkF4_subattackerhpbydmg, atkF5_removeattackerstatus1, - atkF6_802BF48, - atkF7_802BF54, + atkF6_finishaction, + atkF7_finishturn, }; struct statFractions @@ -1127,7 +1127,7 @@ static void JumpIfMoveFailed(u8 adder, u16 move) gBattlescriptCurrInstr = to_store; } -static void atk40_jump_if_move_affected_by_protect(void) +static void atk40_jumpifaffectedbyprotect(void) { if (TargetProtectAffected) { @@ -1383,7 +1383,7 @@ static void atk04_critcalc(void) gBattlescriptCurrInstr++; } -static void atk05_damagecalc1(void) +static void atk05_damagecalc(void) { u16 side_hword = gSideAffecting[GetBankIdentity(gBankTarget) & 1]; gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, @@ -1744,7 +1744,7 @@ void Unused_ApplyRandomDmgMultiplier(void) ApplyRandomDmgMultiplier(); } -static void atk07_dmg_adjustment(void) +static void atk07_adjustnormaldamage(void) { u8 hold_effect, quality; ApplyRandomDmgMultiplier(); @@ -1791,7 +1791,7 @@ static void atk07_dmg_adjustment(void) gBattlescriptCurrInstr++; } -static void atk08_dmg_adjustment2(void) //literally the same as 0x7 except it doesn't check for false swipe move effect... +static void atk08_adjustnormaldamage2(void) //literally the same as 0x7 except it doesn't check for false swipe move effect... { u8 hold_effect, quality; ApplyRandomDmgMultiplier(); @@ -2050,7 +2050,7 @@ static void atk0D_critmessage(void) } } -static void atk0E_effectiveness_sound(void) +static void atk0E_effectivenesssound(void) { if (gBattleExecBuffer) return; @@ -2192,7 +2192,7 @@ static void atk10_printstring(void) } } -static void atk11_printstring_playeronly(void) +static void atk11_printselectionstring(void) { gActiveBank = gBankAttacker; EmitPrintStringPlayerOnly(0, T2_READ_16(gBattlescriptCurrInstr + 1)); @@ -2234,7 +2234,7 @@ static void atk13_printfromtable(void) } } -static void atk14_printfromtable_playeronly(void) +static void atk14_printselectionstringfromtable(void) { if (gBattleExecBuffer == 0) { @@ -4919,7 +4919,7 @@ _0801F610: .4byte BattleScript_SAtkDown2\n\ #endif // NONMATCHING -static void atk15_seteffectwithchancetarget(void) +static void atk15_seteffectwithchance(void) { u32 PercentChance; if (gBattleMons[gBankAttacker].ability == ABILITY_SERENE_GRACE) @@ -4954,7 +4954,7 @@ static void atk17_seteffectsecondary(void) SetMoveEffect(0, 0); } -static void atk18_status_effect_clear(void) +static void atk18_clearstatusfromeffect(void) { gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleCommunication[MOVE_EFFECT_BYTE] <= 6) @@ -4967,7 +4967,7 @@ static void atk18_status_effect_clear(void) BATTLE_STRUCT->unk16112 = 0; } -static void atk19_faint_pokemon(void) +static void atk19_tryfaintmon(void) { u8 *r4; @@ -5070,7 +5070,7 @@ static void atk19_faint_pokemon(void) } } -static void atk1A_faint_animation(void) +static void atk1A_dofaintanimation(void) { if (gBattleExecBuffer == 0) { @@ -5081,7 +5081,7 @@ static void atk1A_faint_animation(void) } } -static void atk1B_faint_effects_clear(void) +static void atk1B_cleareffectsonfaint(void) { //Clears things like attraction or trapping to other banks if (gBattleExecBuffer == 0) @@ -5220,7 +5220,7 @@ static void atk20_jumpifstat(void) gBattlescriptCurrInstr += 9; } -static void atk21_jumpifstatus3(void) +static void atk21_jumpifstatus3condition(void) { u32 flags; void* jump_loc; @@ -5265,14 +5265,14 @@ static void atk23_getexp(void) u16* exp = &BATTLE_STRUCT->exp; gBank1 = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); sent_in = gSentPokesToOpponent[(gBank1 & 2) >> 1]; - switch (BATTLE_STRUCT->atk23StateTracker) + switch (BATTLE_STRUCT->getexpStateTracker) { case 0: //check if should receive exp at all if (GetBankSide(gBank1) != 1 || (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) - BATTLE_STRUCT->atk23StateTracker = 6; //goto last case + BATTLE_STRUCT->getexpStateTracker = 6; //goto last case else { - BATTLE_STRUCT->atk23StateTracker++; + BATTLE_STRUCT->getexpStateTracker++; ((u8*)ewram)[0x16113] |= gBitTable[gBattlePartyID[gBank1]]; } break; @@ -5317,7 +5317,7 @@ static void atk23_getexp(void) *exp = 1; gExpShareExp = 0; } - BATTLE_STRUCT->atk23StateTracker++; + BATTLE_STRUCT->getexpStateTracker++; BATTLE_STRUCT->expGetterID = 0; BATTLE_STRUCT->sentInPokes = sent_in; } //no break statement @@ -5334,7 +5334,7 @@ static void atk23_getexp(void) if ((hold_effect != HOLD_EFFECT_EXP_SHARE && !(BATTLE_STRUCT->sentInPokes & 1))) { BATTLE_STRUCT->sentInPokes >>= 1; - tracker = &BATTLE_STRUCT->atk23StateTracker; + tracker = &BATTLE_STRUCT->getexpStateTracker; zero = 0; *tracker = 5; //increment looper gBattleMoveDamage = zero; //used for exp @@ -5342,7 +5342,7 @@ static void atk23_getexp(void) else if (GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_LEVEL) == 100) { BATTLE_STRUCT->sentInPokes >>= 1; - tracker = &BATTLE_STRUCT->atk23StateTracker; + tracker = &BATTLE_STRUCT->getexpStateTracker; zero = 0; *tracker = 5; //increment looper gBattleMoveDamage = zero; //used for exp @@ -5428,7 +5428,7 @@ static void atk23_getexp(void) MonGainEVs(&gPlayerParty[BATTLE_STRUCT->expGetterID], gBattleMons[gBank1].species); } BATTLE_STRUCT->sentInPokes >>= 1; - BATTLE_STRUCT->atk23StateTracker++; + BATTLE_STRUCT->getexpStateTracker++; } } break; @@ -5450,7 +5450,7 @@ static void atk23_getexp(void) EmitExpBarUpdate(0, BATTLE_STRUCT->expGetterID, gBattleMoveDamage); MarkBufferBankForExecution(gActiveBank); } - BATTLE_STRUCT->atk23StateTracker++; + BATTLE_STRUCT->getexpStateTracker++; } break; case 4: //lvl up if necessary @@ -5508,24 +5508,24 @@ static void atk23_getexp(void) gBattleMons[2].spAttack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPEED /*RIP*/); gBattleMons[2].spDefense = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPATK); } - BATTLE_STRUCT->atk23StateTracker = 5; + BATTLE_STRUCT->getexpStateTracker = 5; } else { gBattleMoveDamage = 0; - BATTLE_STRUCT->atk23StateTracker = 5; + BATTLE_STRUCT->getexpStateTracker = 5; } } break; case 5: //looper increment if (gBattleMoveDamage) //there is exp to give, goto case 3 that gives exp - BATTLE_STRUCT->atk23StateTracker = 3; + BATTLE_STRUCT->getexpStateTracker = 3; else { if (++BATTLE_STRUCT->expGetterID <= 5) - BATTLE_STRUCT->atk23StateTracker = 2; //loop again + BATTLE_STRUCT->getexpStateTracker = 2; //loop again else - BATTLE_STRUCT->atk23StateTracker = 6; //we're done + BATTLE_STRUCT->getexpStateTracker = 6; //we're done } break; case 6: //increment instruction @@ -6966,19 +6966,19 @@ static void MoveValuesCleanUp(void) gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT); } -static void atk25_move_values_cleanup(void) +static void atk25_movevaluescleanup(void) { MoveValuesCleanUp(); gBattlescriptCurrInstr += 1; } -static void atk26_set_multihit(void) +static void atk26_setmultihit(void) { gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr += 2; } -static void atk27_decrement_multihit(void) +static void atk27_decrementmultihit(void) { if (--gMultiHitCounter == 0) gBattlescriptCurrInstr += 5; @@ -7184,7 +7184,7 @@ static void atk31_copyarray(void) gBattlescriptCurrInstr += 10; } -static void atk32_copyarray_withindex(void) +static void atk32_copyarraywithindex(void) { u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); @@ -7332,7 +7332,7 @@ static void atk43_jumpifabilitypresent(void) gBattlescriptCurrInstr += 6; } -static void atk44(void) +static void atk44_endselectionscript(void) { ewram16060(gBankAttacker) = 1; } @@ -7796,7 +7796,7 @@ _080217E6:\n\ #endif // NONMATCHING #ifdef NONMATCHING -static void atk49_moveendturn(void) +static void atk49_moveend(void) { int i; int effect = 0; @@ -7936,7 +7936,7 @@ static void atk49_moveendturn(void) } #else __attribute__((naked)) -static void atk49_moveendturn(void) +static void atk49_moveend(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -9322,7 +9322,7 @@ static void atk4A_typecalc2(void) gBattlescriptCurrInstr++; } -static void atk4B_return_atk_to_ball(void) +static void atk4B_returnatktoball(void) { gActiveBank = gBankAttacker; if (!(gHitMarker & HITMARKER_FAINTED(gActiveBank))) @@ -9333,7 +9333,7 @@ static void atk4B_return_atk_to_ball(void) gBattlescriptCurrInstr++; } -static void atk4C_copy_poke_data(void) +static void atk4C_getswitchedmondata(void) { if (gBattleExecBuffer) return; @@ -9357,7 +9357,7 @@ static inline u8 get_knocked_off_byte(u8 bank) return *cc; } -static void atk4D_switch_data_update(void) +static void atk4D_switchindataupdate(void) { struct BattlePokemon OldData; int i; @@ -9401,7 +9401,7 @@ static void atk4D_switch_data_update(void) gBattlescriptCurrInstr += 2; } -static void atk4E_switchin_anim(void) +static void atk4E_switchinanim(void) { if (gBattleExecBuffer) return; @@ -9417,7 +9417,7 @@ static void atk4E_switchin_anim(void) gBattlescriptCurrInstr += 3; } -static void atk4F_jump_if_cannot_switch(void) +static void atk4F_jumpifcantswitch(void) { int val, to_cmp; register struct Pokemon *party; @@ -10565,7 +10565,7 @@ _08023318: .4byte gBitTable\n\ .syntax divided"); } -static void atk51_switch_handle_order(void) +static void atk51_switchhandleorder(void) { int i; if (gBattleExecBuffer) @@ -10616,7 +10616,7 @@ static void atk51_switch_handle_order(void) gBattlescriptCurrInstr += 3; } -static void atk52_switch_in_effects(void) +static void atk52_switchineffects(void) { int i; @@ -10687,7 +10687,7 @@ static void atk52_switch_in_effects(void) } } -static void atk53_trainer_slide(void) +static void atk53_trainerslidein(void) { if (!T2_READ_8(gBattlescriptCurrInstr + 1)) gActiveBank = GetBankByPlayerAI(0); @@ -10699,7 +10699,7 @@ static void atk53_trainer_slide(void) gBattlescriptCurrInstr += 2; } -static void atk54_effectiveness_sound(void) +static void atk54_playse(void) { gActiveBank = gBankAttacker; EmitEffectivenessSound(0, T2_READ_16(gBattlescriptCurrInstr + 1)); @@ -10707,7 +10707,7 @@ static void atk54_effectiveness_sound(void) gBattlescriptCurrInstr += 3; } -static void atk55_play_sound(void) +static void atk55_fanfare(void) { gActiveBank = gBankAttacker; Emitcmd44(0, T2_READ_16(gBattlescriptCurrInstr + 1)); @@ -10715,7 +10715,7 @@ static void atk55_play_sound(void) gBattlescriptCurrInstr += 3; } -static void atk56_fainting_cry(void) +static void atk56_playfaintcry(void) { gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitFaintingCry(0); @@ -10731,7 +10731,7 @@ static void atk57(void) gBattlescriptCurrInstr += 1; } -static void atk58_return_to_ball(void) +static void atk58_returntoball(void) { gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitReturnPokeToBall(0, 1); @@ -10739,7 +10739,7 @@ static void atk58_return_to_ball(void) gBattlescriptCurrInstr += 2; } -void atk59_learnmove_inbattle(void) +void atk59_handlelearnnewmove(void) { u8* loc1 = T1_READ_PTR(gBattlescriptCurrInstr + 1); u8* loc2 = T1_READ_PTR(gBattlescriptCurrInstr + 5); @@ -10785,7 +10785,7 @@ void sub_8023AD8(void) DestroyMenuCursor(); } -static void atk5A(void) +static void atk5A_yesnoboxlearnmove(void) { gActiveBank = 0; switch (BATTLE_STRUCT->atk5A_StateTracker) @@ -10898,7 +10898,7 @@ static void atk5A(void) } } -static void atk5B_80256E0(void) +static void atk5B_yesnoboxstoplearningmove(void) { switch (BATTLE_STRUCT->atk5A_StateTracker) { @@ -11253,7 +11253,7 @@ static void atk5F_8025B24(void) gBattlescriptCurrInstr++; } -static void atk60_increment_gamestat(void) +static void atk60_incrementgamestat(void) { if (GetBankSide(gBankAttacker) == 0) { @@ -11262,7 +11262,7 @@ static void atk60_increment_gamestat(void) gBattlescriptCurrInstr += 2; } -static void atk61_8025BA4(void) +static void atk61_drawpartystatussummary(void) { int i; struct Pokemon* party; @@ -11357,7 +11357,7 @@ static void atk66_chosenstatusanimation(void) } } -static void atk67_8025ECC(void) +static void atk67_yesnobox(void) { switch (gBattleCommunication[0]) { @@ -11399,7 +11399,7 @@ static void atk67_8025ECC(void) } } -static void atk68_80246A0(void) +static void atk68_cancelallactions(void) { int i; for (i = 0; i < gNoOfAllBanks; i++) @@ -11409,7 +11409,7 @@ static void atk68_80246A0(void) gBattlescriptCurrInstr++; } -static void atk69_dmg_adjustment2(void) //literally a copy of atk07 except theres no rand dmg modifier... +static void atk69_adjustsetdamage(void) //literally a copy of atk07 except theres no rand dmg modifier... { u8 hold_effect, quality; if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) @@ -11474,7 +11474,7 @@ static void atk6B_atknameinbuff1(void) } #ifdef NONMATCHING -static void atk6C_lvlbox_display(void) +static void atk6C_drawlvlupbox(void) { u8 r1 = 0; u8 r7 = 0; @@ -11489,7 +11489,7 @@ static void atk6C_lvlbox_display(void) #else __attribute__((naked)) -static void atk6C_lvlbox_display(void) +static void atk6C_drawlvlupbox(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -11899,19 +11899,19 @@ _08024C48: .4byte gBattlescriptCurrInstr\n\ #endif -static void atk6D_set_sentpokes_values(void) +static void atk6D_resetsentmonsvalue(void) { sub_80156DC(); gBattlescriptCurrInstr++; } -static void atk6E_set_atk_to_player0(void) +static void atk6E_setatktoplayer0(void) { gBankAttacker = GetBankByPlayerAI(0); gBattlescriptCurrInstr++; } -static void atk6F_set_visible(void) +static void atk6F_makevisible(void) { gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitSpriteInvisibility(0, 0); @@ -11919,7 +11919,7 @@ static void atk6F_set_visible(void) gBattlescriptCurrInstr += 2; } -static void atk70_record_ability(void) +static void atk70_recordlastability(void) { gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); RecordAbilityBattle(gActiveBank, gLastUsedAbility); @@ -11935,13 +11935,13 @@ void sub_8024CEC(void) gBattleTextBuff2[4] = 0xFF; } -static void atk71_buffer_move_to_learn(void) +static void atk71_buffermovetolearn(void) { sub_8024CEC(); gBattlescriptCurrInstr++; } -static void atk72_jump_if_can_run_frombattle(void) +static void atk72_jumpifplayerran(void) { if (sub_8014AB8(gBank1)) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -11949,7 +11949,7 @@ static void atk72_jump_if_can_run_frombattle(void) gBattlescriptCurrInstr += 5; } -static void atk73_hp_thresholds(void) +static void atk73_hpthresholds(void) { u8 opposing_bank; s32 result; @@ -11975,7 +11975,7 @@ static void atk73_hp_thresholds(void) gBattlescriptCurrInstr += 2; } -static void atk74_hp_thresholds2(void) +static void atk74_hpthresholds2(void) { u8 opposing_bank; u8 hp_switchout; @@ -12000,7 +12000,7 @@ static void atk74_hp_thresholds2(void) gBattlescriptCurrInstr += 2; } -static void atk75_8026A58(void) +static void atk75_useitemonopponent(void) { gBankInMenu = gBankAttacker; sub_803E1B0(&gEnemyParty[gBattlePartyID[gBankAttacker]], gLastUsedItem, gBattlePartyID[gBankAttacker], 0, 1); @@ -12073,7 +12073,7 @@ static void atk76_various(void) gBattlescriptCurrInstr += 3; } -static void atk77_setprotect(void) //protect and endure +static void atk77_setprotectlike(void) //protect and endure { bool8 not_last_turn = 1; u16 last_move = gUnknown_02024C4C[gBankAttacker]; @@ -12155,7 +12155,7 @@ static void atk79_setatkhptozero(void) gBattlescriptCurrInstr++; } -static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop through all targets +static void atk7A_jumpifnexttargetvalid(void) //used by intimidate to loop through all targets { u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -12178,7 +12178,7 @@ static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop throug gBattlescriptCurrInstr += 5; } -static void atk7B_healhalfHP_if_possible(void) +static void atk7B_tryhealhalfhealth(void) { u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -12196,7 +12196,7 @@ static void atk7B_healhalfHP_if_possible(void) gBattlescriptCurrInstr += 6; } -static void atk7C_8025508(void) +static void atk7C_trymirrormove(void) { u16 r7 = ewram160ACarr2(0, gBankAttacker) | (ewram160ACarr2(1, gBankAttacker) << 8); u16 r6 = ewram16100arr2(0, gBankAttacker) | (ewram16100arr2(1, gBankAttacker) << 8); @@ -12240,7 +12240,7 @@ static void atk7C_8025508(void) } } -static void atk7D_set_rain(void) +static void atk7D_setrain(void) { if (gBattleWeather & WEATHER_RAIN_ANY) { @@ -12319,7 +12319,7 @@ static void atk80_manipulatedamage(void) gBattlescriptCurrInstr += 2; } -static void atk81_setrest(void) +static void atk81_trysetrest(void) { u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); gActiveBank = gBankTarget = gBankAttacker; @@ -12377,7 +12377,7 @@ bool8 UproarWakeUpCheck(u8 bank) return 1; } -static void atk84_jump_if_cant_sleep(void) +static void atk84_jumpifcantmakeasleep(void) { u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (UproarWakeUpCheck(gBankTarget)) @@ -13264,7 +13264,7 @@ static void atk8C_confuseifrepeatingattackends(void) gBattlescriptCurrInstr++; } -static void atk8D_setmultihit_counter(void) +static void atk8D_setmultihitcounter(void) { if (T2_READ_8(gBattlescriptCurrInstr + 1)) gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1); @@ -13279,7 +13279,7 @@ static void atk8D_setmultihit_counter(void) gBattlescriptCurrInstr += 2; } -static void atk8E_prepare_multihit(void) +static void atk8E_initmultihitstring(void) { ewram160E0(0) = 0xFD; ewram160E0(1) = 1; @@ -13399,7 +13399,7 @@ static void atk8F_forcerandomswitch(void) } } -static void atk90_conversion_type_change(void) +static void atk90_tryconversiontypechange(void) { //randomly changes user's type to one of its moves' type u8 valid_moves = 0; @@ -13498,7 +13498,7 @@ static void atk92_setlightscreen(void) } #ifdef NOTMATCHING -static void atk93_ko_move(void) +static void atk93_tryKO(void) { if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) hold_effect = gEnigmaBerries[gBankTarget].holdEffect, quality = gEnigmaBerries[gBankTarget].holdEffectParam; @@ -13552,7 +13552,7 @@ MOVESTATUS_MISSED_LABEL: #else __attribute((naked)) -static void atk93_ko_move(void) +static void atk93_tryKO(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -13903,7 +13903,7 @@ _08026E54: .4byte gBattlescriptCurrInstr\n\ } #endif // NOTMATCHING -static void atk94_gethalfcurrentenemyhp(void) //super fang +static void atk94_damagetohalftargethp(void) //super fang { gBattleMoveDamage = gBattleMons[gBankTarget].hp / 2; if (gBattleMoveDamage == 0) @@ -13969,7 +13969,7 @@ static void atk96_weatherdamage(void) gBattlescriptCurrInstr++; } -static void atk97_try_infatuation(void) +static void atk97_tryinfatuating(void) { struct Pokemon *attacker, *target; u16 atk_species, def_species; @@ -14012,7 +14012,7 @@ static void atk97_try_infatuation(void) } } -static void atk98_status_icon_update(void) +static void atk98_updatestatusicon(void) { if (gBattleExecBuffer) return; @@ -14061,7 +14061,7 @@ static void atk99_setmist(void) gBattlescriptCurrInstr++; } -static void atk9A_set_focusenergy(void) +static void atk9A_setfocusenergy(void) { if (gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY) { @@ -14122,7 +14122,7 @@ static void atk9B_transformdataexecution(void) } } -static void atk9C_set_substitute(void) +static void atk9C_setsubstitute(void) { u32 hp = gBattleMons[gBankAttacker].maxHP / 4; if (gBattleMons[gBankAttacker].maxHP / 4 == 0) @@ -14153,7 +14153,7 @@ static bool8 IsMoveUncopyable(u16 move) return (sUnknown_081FACFE[i] != 0xFFFE); } -static void atk9D_copyattack(void) +static void atk9D_mimicattackcopy(void) { gUnknown_02024BE8 = 0xFFFF; if (IsMoveUncopyable(gLastUsedMove[gBankTarget]) || gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED @@ -14375,7 +14375,7 @@ static void atkA3_disablelastusedattack(void) } } -static void atkA4_setencore(void) +static void atkA4_trysetencore(void) { int i; for (i = 0; i < 4; i++) @@ -14813,7 +14813,7 @@ static u8 AttacksThisTurn(u8 bank, u16 move) //Note: returns 1 if it's a chargin return 2; } -static void atkA9_sleeptalk_choose_move(void) +static void atkA9_trychoosesleeptalkmove(void) { u8 unusable_moves = 0; int i; @@ -14843,7 +14843,7 @@ static void atkA9_sleeptalk_choose_move(void) } } -static void atkAA_set_destinybond(void) +static void atkAA_setdestinybond(void) { gBattleMons[gBankAttacker].status2 |= STATUS2_DESTINY_BOND; gBattlescriptCurrInstr++; @@ -14857,7 +14857,7 @@ static void DestinyBondFlagUpdate(void) gHitMarker |= HITMARKER_DESTINYBOND; } -static void atkAB_DestinyBondFlagUpdate(void) +static void atkAB_trysetdestinybondtohappen(void) { DestinyBondFlagUpdate(); gBattlescriptCurrInstr++; @@ -14876,7 +14876,7 @@ static void atkAC_remaininghptopower(void) gBattlescriptCurrInstr++; } -static void atkAD_spite_ppreduce(void) +static void atkAD_tryspiteppreduce(void) { if (gLastUsedMove[gBankTarget] != 0 && gLastUsedMove[gBankTarget] != 0xFFFF && !(gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE)) { @@ -14922,7 +14922,7 @@ static void atkAD_spite_ppreduce(void) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atkAE_heal_party_status(void) +static void atkAE_healpartystatus(void) { register u32 zero2 asm("r4") = 0; u32 zero = zero2; @@ -15015,7 +15015,7 @@ static void atkAF_cursetarget(void) } } -static void atkB0_set_spikes(void) +static void atkB0_trysetspikes(void) { u8 side = GetBankSide(gBankAttacker) ^ 1; if (gSideTimer[side].spikesAmount == 3) @@ -15031,13 +15031,13 @@ static void atkB0_set_spikes(void) } } -static void atkB1_set_foresight(void) +static void atkB1_setforesight(void) { gBattleMons[gBankTarget].status2 |= STATUS2_FORESIGHT; gBattlescriptCurrInstr++; } -static void atkB2_setperishsong(void) +static void atkB2_trysetperishsong(void) { int not_affected_pokes = 0, i; @@ -15157,7 +15157,7 @@ static void atkB7_presentdamagecalculation(void) } } -static void atkB8_set_safeguard(void) +static void atkB8_setsafeguard(void) { if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_SAFEGUARD) { @@ -15310,7 +15310,7 @@ static void atkBD_copyfoestats(void) //psych up gBattlescriptCurrInstr += 5; //why not 1? possible unused fail possibility? } -static void atkBE_breakfree(void) //rapid spin +static void atkBE_rapidspinfree(void) //rapid spin { if (gBattleMons[gBankAttacker].status2 & STATUS2_WRAPPED) { @@ -15342,7 +15342,7 @@ static void atkBE_breakfree(void) //rapid spin gBattlescriptCurrInstr++; } -static void atkBF_set_defense_curl(void) +static void atkBF_setdefensecurlbit(void) { gBattleMons[gBankAttacker].status2 |= STATUS2_DEFENSE_CURL; gBattlescriptCurrInstr++; @@ -15371,7 +15371,7 @@ static void atkC0_recoverbasedonsunlight(void) } __attribute__((naked)) -static void atkC1_hidden_power(void) +static void atkC1_hiddenpowercalc(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -15519,7 +15519,7 @@ _080298A8: .4byte gBattlescriptCurrInstr\n\ .syntax divided"); } -static void atkC2_selectnexttarget(void) +static void atkC2_selectfirstvalidtarget(void) { for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) { @@ -15531,7 +15531,7 @@ static void atkC2_selectnexttarget(void) gBattlescriptCurrInstr++; } -static void atkC3_setfutureattack(void) +static void atkC3_trysetfutureattack(void) { if (gWishFutureKnock.futureSightCounter[gBankTarget] != 0) { @@ -15559,7 +15559,7 @@ static void atkC3_setfutureattack(void) } #ifdef NONMATCHING -static void atkC4_beat_up(void) +static void atkC4_trydobeatup(void) { register struct Pokemon* party asm("r7"); if (GetBankSide(gBankAttacker) == 0) @@ -15605,7 +15605,7 @@ static void atkC4_beat_up(void) } #else __attribute__((naked)) -static void atkC4_beat_up(void) +static void atkC4_trydobeatup(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -15858,7 +15858,7 @@ _08029C54: .4byte gBattlescriptCurrInstr\n\ } #endif // NONMATCHING -static void atkC5_hidepreattack(void) +static void atkC5_setsemiinvulnerablebit(void) { switch (gCurrentMove) { @@ -15876,7 +15876,7 @@ static void atkC5_hidepreattack(void) gBattlescriptCurrInstr++; } -static void atkC6_unhidepostattack(void) +static void atkC6_clearsemiinvulnerablebit(void) { switch (gCurrentMove) { @@ -16002,7 +16002,7 @@ static void atkD0_settaunt(void) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atkD1_set_helpinghand(void) +static void atkD1_trysethelpinghand(void) { gBankTarget = GetBankByPlayerAI(GetBankIdentity(gBankAttacker) ^ 2); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gBankTarget]) @@ -16016,7 +16016,7 @@ static void atkD1_set_helpinghand(void) } #ifdef NONMATCHING -static void atkD2_swap_items(void) +static void atkD2_tryswapitems(void) { if ((GetBankSide(gBankAttacker) != 1 || gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER) || gTrainerBattleOpponent == 0x400)) { @@ -16029,7 +16029,7 @@ static void atkD2_swap_items(void) #else __attribute__((naked)) -static void atkD2_swap_items(void) +static void atkD2_tryswapitems(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -16348,7 +16348,7 @@ _0802A4AC: .4byte gBattleCommunication\n\ } #endif // NONMATCHING -static void atkD3_copy_ability(void) //role play +static void atkD3_trycopyability(void) //role play { if (gBattleMons[gBankTarget].ability != 0 && gBattleMons[gBankTarget].ability != ABILITY_WONDER_GUARD) { @@ -16360,7 +16360,7 @@ static void atkD3_copy_ability(void) //role play gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atkD4_wish_effect(void) +static void atkD4_trywish(void) { switch (T2_READ_8(gBattlescriptCurrInstr + 1)) { @@ -16392,7 +16392,7 @@ static void atkD4_wish_effect(void) } } -static void atkD5_setroots(void) //ingrain +static void atkD5_trysetroots(void) //ingrain { if (gStatuses3[gBankAttacker] & STATUS3_ROOTED) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -16447,7 +16447,7 @@ static void atkD9_scaledamagebyhealthratio(void) gBattlescriptCurrInstr++; } -static void atkDA_abilityswap(void) +static void atkDA_tryswapabilities(void) { if ((gBattleMons[gBankAttacker].ability == 0 && gBattleMons[gBankTarget].ability == 0) || gBattleMons[gBankAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD @@ -16462,7 +16462,7 @@ static void atkDA_abilityswap(void) } } -static void atkDB_imprisoneffect(void) +static void atkDB_tryimprision(void) { u8 r8 = 0; if ((gStatuses3[gBankAttacker] & STATUS3_IMPRISIONED)) @@ -16502,7 +16502,7 @@ static void atkDB_imprisoneffect(void) } } -static void atkDC_setgrudge(void) +static void atkDC_trysetgrudge(void) { if (gStatuses3[gBankAttacker] & STATUS3_GRUDGE) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -16770,7 +16770,7 @@ _0802ABF8: .4byte gBattlescriptCurrInstr\n\ #endif // NONMATCHING -static void atkDF_setmagiccoat(void) +static void atkDF_trysetmagiccoat(void) { gBankTarget = gBankAttacker; gSpecialStatuses[gBankAttacker].flag20 = 1; @@ -16783,7 +16783,7 @@ static void atkDF_setmagiccoat(void) } } -static void atkE0_setstealstatchange(void) +static void atkE0_trysetsnatch(void) { gSpecialStatuses[gBankAttacker].flag20 = 1; if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn @@ -16795,7 +16795,7 @@ static void atkE0_setstealstatchange(void) } } -static void atkE1_intimidate_string_loader(void) +static void atkE1_trygetintimidatetarget(void) { u8 side; @@ -16820,7 +16820,7 @@ static void atkE1_intimidate_string_loader(void) gBattlescriptCurrInstr += 5; } -static void atkE2_switchout_abilities(void) +static void atkE2_switchoutabilities(void) { gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (gBattleMons[gActiveBank].ability) @@ -16834,7 +16834,7 @@ static void atkE2_switchout_abilities(void) gBattlescriptCurrInstr += 2; } -static void atkE3_jumpiffainted(void) +static void atkE3_jumpifhasnohp(void) { gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMons[gActiveBank].hp == 0) @@ -16906,7 +16906,7 @@ static void atkE5_pickup(void) gBattlescriptCurrInstr++; } -static void atkE6_castform_change_animation(void) +static void atkE6_docastformchangeanimation(void) { gActiveBank = BATTLE_STRUCT->scriptingActive; if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) @@ -16916,7 +16916,7 @@ static void atkE6_castform_change_animation(void) gBattlescriptCurrInstr++; } -static void atkE7_castform_data_change(void) +static void atkE7_trycastformdatachange(void) { u8 form; gBattlescriptCurrInstr++; @@ -16975,7 +16975,7 @@ static void atkE9_setweatherballtype(void) gBattlescriptCurrInstr++; } -static void atkEA_recycleitem(void) +static void atkEA_tryrecycleitem(void) { u16* used_item; gActiveBank = gBankAttacker; @@ -17009,7 +17009,7 @@ static void atkEB_settypetoterrain(void) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atkEC_pursuit_sth(void) +static void atkEC_pursuitrelated(void) { gActiveBank = GetBankByPlayerAI(GetBankIdentity(gBankAttacker) ^ 2); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank]) && gActionForBanks[gActiveBank] == 0 && gChosenMovesByBanks[gActiveBank] == MOVE_PURSUIT) @@ -17025,7 +17025,7 @@ static void atkEC_pursuit_sth(void) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atkED_802B4B4(void) +static void atkED_snatchsetbanks(void) { gEffectBank = gBankAttacker; if (gBankAttacker == gBankTarget) @@ -17056,7 +17056,7 @@ static void atkEE_removelightscreenreflect(void) //brick break gBattlescriptCurrInstr++; } -void atkEF_pokeball_catch_calculation(void) +void atkEF_handleballthrow(void) { u8 ball_multiplier = 0; if (gBattleExecBuffer) @@ -17187,7 +17187,7 @@ void atkEF_pokeball_catch_calculation(void) } } -static void atkF0_copy_caught_poke(void) +static void atkF0_givecaughtmon(void) { GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]); gBattleResults.caughtPoke = gBattleMons[gBankAttacker ^ 1].species; @@ -17195,7 +17195,7 @@ static void atkF0_copy_caught_poke(void) gBattlescriptCurrInstr++; } -static void atkF1_setpoke_as_caught(void) +static void atkF1_trysetcaughtmondexflags(void) { if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -17214,7 +17214,7 @@ extern const u32 gBattleTerrainTiles_Building[]; extern const u32 gBattleTerrainTilemap_Building[]; extern const u32 gBattleTerrainPalette_BattleTower[]; -static void atkF2_display_dex_info(void) +static void atkF2_displaydexinfo(void) { switch (gBattleCommunication[0]) { @@ -17348,7 +17348,7 @@ void nullsub_6(void) return; } -static void atkF3_nickname_caught_poke(void) +static void atkF3_trygivecaughtmonnick(void) { switch (gBattleCommunication[0]) { @@ -17414,7 +17414,7 @@ static void atkF3_nickname_caught_poke(void) } } -static void atkF4_802BEF0(void) +static void atkF4_subattackerhpbydmg(void) { gBattleMons[gBankAttacker].hp -= gBattleMoveDamage; gBattlescriptCurrInstr++; @@ -17426,12 +17426,12 @@ static void atkF5_removeattackerstatus1(void) gBattlescriptCurrInstr++; } -static void atkF6_802BF48(void) +static void atkF6_finishaction(void) { gFightStateTracker = 0xC; } -static void atkF7_802BF54(void) +static void atkF7_finishturn(void) { gFightStateTracker = 0xC; gCurrentMoveTurn = gNoOfAllBanks; diff --git a/src/field/field_fadetransition.c b/src/field/field_fadetransition.c index 829ce2dfa..5014e97e3 100644 --- a/src/field/field_fadetransition.c +++ b/src/field/field_fadetransition.c @@ -327,7 +327,7 @@ void sub_8080DC4(u8 taskId) } } -void atk17_seteffectuser(void) +void atk17_seteffectsecondary(void) { pal_fill_black(); CreateStartMenuTask(sub_8080DC4); diff --git a/src/field/overworld.c b/src/field/overworld.c index d0e40eac3..c4d01f907 100644 --- a/src/field/overworld.c +++ b/src/field/overworld.c @@ -1329,7 +1329,7 @@ void sub_805465C(void) void sub_805469C(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = atk17_seteffectuser; + gFieldCallback = atk17_seteffectsecondary; c2_exit_to_overworld_2_switch(); } |