From ff72b9ba58575a778d9f75de594d81d7d5e5dfc3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 5 Nov 2019 13:36:07 -0500 Subject: [PATCH 01/21] Dump several strings in link_rfu_3.s --- baserom.ips | Bin 448532 -> 442990 bytes data/link_rfu_3.s | 459 +++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 411 insertions(+), 48 deletions(-) diff --git a/baserom.ips b/baserom.ips index d8b086947bfab64514607abb12d57557204066b3..c0a516b06eb7c96caaec0d94d647e2c69b73689f 100644 GIT binary patch delta 150 zcmbQTLHb>bbVCbc3sVd87M4jbnYeaupYoDrHgUV#|UQM~T({bl3s}7zE7% zL>S})goRiCckO9lFr41b!fMFs+Ovg0VftGo`_7C`1429xQF*;q}4 zT>GamaOm{AawGt;>m(5dmFd!4tSYRolTH9Np63E-oNU8X((cU7y4{(Z?cx~#E?_Md delta 5707 zcma)AO>A6O6+UrHHIxldgaWAmi7dLv0t7-VxVC{;XLIRj7i7*5>iT!xcqEaqI-V_#XHr?MVmI*1 z$J>sjLrrc(%BNs=7hZrpaj0x<3<~w08^u^-)5hHjJtBH^=Fs&?--9feLAyanDwVl8 zdUSTyxsWarQ#pVSojB8a_M!C~H!24wJ(G(xI_F+t^T<&V?P%?j9R~frwkwCnw-GB_ zcYCf6GuW-72quWgde$VzPlOI2RQt9_!=@j-UMzfw@fhQWZxjnnXPF#5EKx@l&u1YAClNmqa`iXG0$Ihvb$q^z&uTSgr{#H|5CIh;{sCe_ zJ4rOG9v;^+SmWfxvC3%;xEDt))14%WY0tf@$ZiHIL_#s;UXUZ^KvgG$%U&-)e$~7!gbC8d8{4vYa;e6{5>q`#r594I4yD54QO+wpp2G zt{;biopd=bm#MJ?pD+&zOF;3b6kLL1!rfcN2XV+nF}7`i*XA#e|W z8qgr}*@>wNH6NLu!)H_vP3SVgW1%ARGAz7~v7R_(R(%pe)wCn%x5)w=_X5_le2|$r z1-=PYJzWyYY(m}^pg9m8w}JZx^?`72I9>m$vjz4PEM-YA{=QiFrG-C@U8#F{=GdsH zNDoO|1U7b3FVFFu8Wbl-5<|-Wwbw+8@#75P?G>E)7^C9^fz^*nB!=f14i=T^}3c&=Nd%@tq;?nuy-=NiXuB0Ps zWR&n;iU&cOqi%YyRAku-9$zLj7KTPE=_)fPz{#jn{*dWvtZvh(rZ){4bpy|WBEx)< zDTz-OiiMZnG*wNoSV|j)nY)T1Xo?!b6QR-}Bf(<~ac~Id*c4zyAS=fJ7g-g^$~+v9 zmvk+Mi4-9pm&!?DQUmf_5mG-9mhk+P4*lH8rO~_ zlG+dbyx^`bqe>}ZJu3)o&`JnU?hScyNAXVNL`l|wo1{6?LwzmiYhR$-bV{_23_xkf zT0w}H$c{pVA}`U3+&D4K7G(3GIS{I8gB7r(R|%EN`k|KeKmeTEtP1yfq9wEAw)h*R z6kKL}#fEU=VrjNc4KzEfl(NO_m5doglR<`7o|6dZd!Ht*1qGqH>oIwunM)&NT$gKR zuBd2oAMQT)2Xs3auVH+E@h^6a>Q<8`M!Mj zf)IN%n1D{hz@wf*0HFzM0Mbd@BUUh-H+$3J76W}9BW>Mtyef6@Gq2^YRzN!7bs01w zHH1K9ZG$KAyCuFX14SS*M)y8EDpQbHbCd&wu|y*cpK1rh0|B>nv@GioM14>ynXC1(w6E?ujx zlWG0*?WQeB0!ga-X`;}*m=N6PDNq(N8*LW*ypmJRh=M`g$TnOZqy{(^tUC8cG>;gs zW8Btoxx-nVCj%TPsf%!CJji&s?)sc7puMa`*bAh{a!^M}*jTdR3)zpxFyQjc?WBZ* zD=zLi)&$ZgI0yitU2_DefG=YReNMxTG!rU~zH}&(B(wqp`WVPu`FG(@$QX?L`_UXI zQg`>o9?jKq&1!7jpp~ZFEI~fH2Tqpq!+FjNCgwSFJ%l#Dl(B=uT&q<1c6NnBNl*Ib zW@el->(ZJDu|f)bz7g?#cO*=1C&D;WDsU1Akup)pC5pYLauueJ^|qE*RrW zGKxf3_wsw~DQf}`mzONT<@v$5ZgkV060#~1kuWGz<0F5;&kKTAc`Gw8hUpod2%5_e({RVyNio z>@^O_2woBoNZ?$L425z68X_}$e1d|)4e8WE&U0y%CXZ&6j+4ydTg15ML5Q-NjS_TX z*U=n`OwK-&n=byjSh$RVy?D8iXB!iH?pi{9M|VxwSWV94I?R9k{OWqMX|?P4FMZr> zY~l0FYHe$^zHv;`Fje`bfp6fa&52!#+90ZpI<3^Uw>Rqld%Z<#&08za+Q10fs6*#g zY6xQU*2Z?@^aFT(P8x{1@djTXW+)Tm-D|XX;Bc>yMvjupVyC%Ro5T;I*3SIX<5)g3c|v645f)LX6FwA#AWULUQTwQ#Mu)@n4(@@qF6 ztDnI6&)o2KvG6U7%NTECTzu!p`0@@O4KP;l!vl;qo@z|zXZ+o1wCWr6b~{~dZf@S% zYOL0_8vt$lc6+gu-h!>E8TRmFs8AV1C}k#AF3D%c;=Z{`qujo=RbP?;b%In{{ljA5B2~6 diff --git a/data/link_rfu_3.s b/data/link_rfu_3.s index 9235d4b62..32560ad9f 100644 --- a/data/link_rfu_3.s +++ b/data/link_rfu_3.s @@ -208,148 +208,511 @@ gUnknown_8457C20:: @ 8457C20 .incbin "baserom.gba", 0x457C20, 0x28 gUnknown_8457C48:: @ 8457C48 - .incbin "baserom.gba", 0x457C48, 0x5C + .string "The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?$" + .align 2 gUnknown_8457CA4:: @ 8457CA4 - .incbin "baserom.gba", 0x457CA4, 0x54 + .string "The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?$" + .align 2 gUnknown_8457CF8:: @ 8457CF8 - .incbin "baserom.gba", 0x457CF8, 0x4C + .string "The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?$" + .align 2 gUnknown_8457D44:: @ 8457D44 - .incbin "baserom.gba", 0x457D44, 0x74 + .string "There is an offer to trade your\nregistered Lv. {DYNAMIC 0} {DYNAMIC 1}\pin exchange for a\nLv. {DYNAMIC 2} {DYNAMIC 3}.\pWill you accept this trade\noffer?$" + .align 2 gUnknown_8457DB8:: @ 8457DB8 - .incbin "baserom.gba", 0x457DB8, 0x54 + .string "There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?$" + .align 2 gUnknown_8457E0C:: @ 8457E0C - .incbin "baserom.gba", 0x457E0C, 0x1C + .string "The chat has been dropped.\p$" gUnknown_8457E28:: @ 8457E28 - .incbin "baserom.gba", 0x457E28, 0x1C + .string "You declined the offer.\p$" + .align 2 gUnknown_8457E44:: @ 8457E44 - .incbin "baserom.gba", 0x457E44, 0x1C + .string "You declined the offer.\p$" + .align 2 gUnknown_8457E60:: @ 8457E60 - .incbin "baserom.gba", 0x457E60, 0x120 + .string "The chat was ended.\p$" + .align 2 +gUnknown_8457E78:: + .4byte gUnknown_8457C48 + .4byte gUnknown_8457CA4 + .4byte gUnknown_8457CF8 + .4byte gUnknown_8457D44 + + .align 2 +gUnknown_8457E88:: + .string "Oh, hey! We're in a chat right now.\nWant to join us?$" + + .align 2 +gUnknown_8457EC0:: + .string "{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?$" + + .align 2 +gUnknown_8457F00:: + .string "Oh, hi! We're having a chat now.\nWould you like to join us?$" + + .align 2 +gUnknown_8457F3C:: + .string "{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?$" + + .align 2 gUnknown_8457F80:: @ 8457F80 - .incbin "baserom.gba", 0x457F80, 0x10 + .4byte gUnknown_8457E88 + .4byte gUnknown_8457F00 + .4byte gUnknown_8457EC0 + .4byte gUnknown_8457F3C gUnknown_8457F90:: @ 8457F90 - .incbin "baserom.gba", 0x457F90, 0x164 + .string "……\nThe TRAINER appears to be busy…\p$" + .align 2 +gUnknown_8457FB4:: + .string "A battle, huh?\nAll right, just give me some time.$" + + .align 2 +gUnknown_8457FE8:: + .string "You want to chat, huh?\nSure, just wait a little.$" + + .align 2 +gUnknown_845801C:: + .string "Sure thing! As my “Greetings,”\nhere's my TRAINER CARD.$" + + .align 2 +gUnknown_8458054:: + .string "A battle? Of course, but I need\ntime to get ready.$" + + .align 2 +gUnknown_8458088:: + .string "Did you want to chat?\nOkay, but please wait a moment.$" + + .align 2 +gUnknown_84580C0:: + .string "As my introduction, I'll show you\nmy TRAINER CARD.$" + + .align 2 gUnknown_84580F4:: @ 84580F4 - .incbin "baserom.gba", 0x4580F4, 0x13C + .4byte gUnknown_8457FB4 + .4byte gUnknown_8457FE8 + .4byte 0 + .4byte gUnknown_845801C + .4byte gUnknown_8458054 + .4byte gUnknown_8458088 + .4byte 0 + .4byte gUnknown_84580C0 + .align 2 + .incbin "baserom.gba", 0x458114, 0x18 + + .align 2 +gUnknown_845812C:: + .string "Thanks for waiting!\nLet's get our battle started!{PAUSE 60}$" + + .align 2 +gUnknown_8458164:: + .string "All right!\nLet's chat!{PAUSE 60}$" + + .align 2 +gUnknown_8458180:: + .string "Sorry I made you wait!\nLet's get started!{PAUSE 60}$" + + .align 2 +gUnknown_84581B0:: + .string "Sorry I made you wait!\nLet's chat.{PAUSE 60}$" + + .align 2 +gUnknown_84581D8:: + .string "The trade will be started.{PAUSE 60}$" + + .align 2 +gUnknown_84581F8:: + .string "The battle will be started.{PAUSE 60}$" + + .align 2 +gUnknown_8458218:: + .string "Entering the chat…{PAUSE 60}$" + + .align 2 gUnknown_8458230:: @ 8458230 - .incbin "baserom.gba", 0x458230, 0xE4 + .4byte gUnknown_84581F8 + .4byte gUnknown_8458218 + .4byte gUnknown_84581D8 + .4byte gUnknown_84581F8 + .4byte gUnknown_8458218 + .4byte gUnknown_84581D8 + .4byte gUnknown_845812C + .4byte gUnknown_8458164 + .4byte gUnknown_84581D8 + .4byte gUnknown_8458180 + .4byte gUnknown_84581B0 + .4byte gUnknown_84581D8 + +gUnknown_8458260:: + .string "Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p$" + +gUnknown_84582C0:: + .string "I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p$" gUnknown_8458314:: @ 8458314 - .incbin "baserom.gba", 0x458314, 0xA0 + .4byte gUnknown_8458260 + .4byte gUnknown_84582C0 + .align 2 +gUnknown_845831C:: + .string "Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p$" + + .align 2 +gUnknown_845836C:: + .string "Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p$" + + .align 2 gUnknown_84583B4:: @ 84583B4 - .incbin "baserom.gba", 0x4583B4, 0x78 + .4byte gUnknown_845831C + .4byte gUnknown_845836C + .align 2 +gUnknown_84583BC:: + .string "If you want to do something with\nme, just give me a shout!\p$" + .align 2 +gUnknown_84583F8:: + .string "If you want to do something with\nme, don't be shy.\p$" + + .align 2 gUnknown_845842C:: @ 845842C - .incbin "baserom.gba", 0x45842C, 0x8 + .4byte gUnknown_84583BC + .4byte gUnknown_84583F8 gUnknown_8458434:: @ 8458434 - .incbin "baserom.gba", 0x458434, 0x48 + .string "Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p$" + .align 2 gUnknown_845847C:: @ 845847C - .incbin "baserom.gba", 0x45847C, 0x44 + .string "If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p$" gUnknown_84584C0:: @ 84584C0 - .incbin "baserom.gba", 0x4584C0, 0x88 + .string "For a battle, you need two\nPOKéMON that are below Lv. 30.\p$" + .align 2 +gUnknown_84584FC:: + .string "Oh, all right.\nCome see me anytime, okay?\p$" + + .align 2 +gUnknown_8458528:: + .string "Oh…\nPlease come by anytime.\p$" + + .align 2 gUnknown_8458548:: @ 8458548 - .incbin "baserom.gba", 0x458548, 0xA0 + .4byte gUnknown_84584FC + .4byte gUnknown_8458528 + .align 2 +gUnknown_8458550:: + .string "Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p$" + + .align 2 +gUnknown_8458598:: + .string "Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p$" + + .align 2 gUnknown_84585E8:: @ 84585E8 - .incbin "baserom.gba", 0x4585E8, 0x170 + .4byte gUnknown_8458550 + .4byte gUnknown_8458598 + .align 2 +gUnknown_84585F0:: + .string "Whoa!\nI can tell you're pretty tough!\p$" + + .align 2 +gUnknown_8458618:: + .string "You used that move?\nThat's good strategy!\p$" + + .align 2 +gUnknown_8458644:: + .string "Way to go!\nThat was an eye-opener!\p$" + + .align 2 +gUnknown_8458668:: + .string "Oh! How could you use that\nPOKéMON in that situation?\p$" + + .align 2 +gUnknown_84586A0:: + .string "That POKéMON…\nIt's been raised really well!\p$" + + .align 2 +gUnknown_84586D0:: + .string "That's it!\nThis is the right move now!\p$" + + .align 2 +gUnknown_84586F8:: + .string "That's awesome!\nYou can battle that way?\p$" + + .align 2 +gUnknown_8458724:: + .string "You have exquisite timing for\nswitching POKéMON!\p$" + + .align 2 gUnknown_8458758:: @ 8458758 - .incbin "baserom.gba", 0x458758, 0x164 + .4byte gUnknown_84585F0 + .4byte gUnknown_8458618 + .4byte gUnknown_8458644 + .4byte gUnknown_8458668 + .4byte gUnknown_84586A0 + .4byte gUnknown_84586D0 + .4byte gUnknown_84586F8 + .4byte gUnknown_8458724 + .align 2 +gUnknown_8458778:: + .string "Oh, I see!\nThis is educational!\p$" + + .align 2 +gUnknown_845879C:: + .string "Don't say anything funny anymore!\nI'm sore from laughing!\p$" + + .align 2 +gUnknown_84587D8:: + .string "Oh?\nSomething like that happened.\p$" + + .align 2 +gUnknown_84587FC:: + .string "Hmhm… What?\nSo is this what you're saying?\p$" + + .align 2 +gUnknown_8458828:: + .string "Is that right?\nI didn't know that.\p$" + + .align 2 +gUnknown_845884C:: + .string "Ahaha!\nWhat is that about?\p$" + + .align 2 +gUnknown_8458868:: + .string "Yes, that's exactly it!\nThat's what I meant.\p$" + + .align 2 +gUnknown_8458898:: + .string "In other words…\nYes! That's right!\p$" + + .align 2 gUnknown_84588BC:: @ 84588BC - .incbin "baserom.gba", 0x4588BC, 0xF0 + .4byte gUnknown_8458778 + .4byte gUnknown_845879C + .4byte gUnknown_84587D8 + .4byte gUnknown_84587FC + .4byte gUnknown_8458828 + .4byte gUnknown_845884C + .4byte gUnknown_8458868 + .4byte gUnknown_8458898 + .align 2 +gUnknown_84588DC:: + .string "I'm just showing my TRAINER CARD\nas my way of greeting.\p$" + + .align 2 +gUnknown_8458918:: + .string "I hope I get to know you better!\p$" + + .align 2 +gUnknown_845893C:: + .string "We're showing each other our\nTRAINER CARDS to get acquainted.\p$" + + .align 2 +gUnknown_845897C:: + .string "Glad to meet you.\nPlease don't be a stranger!\p$" + + .align 2 gUnknown_84589AC:: @ 84589AC - .incbin "baserom.gba", 0x4589AC, 0xCC + .4byte gUnknown_84588DC + .4byte gUnknown_8458918 + .4byte gUnknown_845893C + .4byte gUnknown_845897C + .align 2 +gUnknown_84589BC:: + .string "Yeahah!\nI really wanted this POKéMON!\p$" + + .align 2 +gUnknown_84589E4:: + .string "Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p$" + + .align 2 +gUnknown_8458A24:: + .string "I'm trading POKéMON right now.\p$" + + .align 2 +gUnknown_8458A44:: + .string "I finally got that POKéMON I\nwanted in a trade!\p$" + + .align 2 gUnknown_8458A78:: @ 8458A78 - .incbin "baserom.gba", 0x458A78, 0x20 + .4byte gUnknown_84589BC + .4byte gUnknown_84589E4 + .4byte NULL + .4byte NULL + .4byte gUnknown_8458A24 + .4byte gUnknown_8458A44 + .4byte NULL + .4byte NULL gUnknown_8458A98:: @ 8458A98 - .incbin "baserom.gba", 0x458A98, 0x20 + .string "{STR_VAR_1} checked the\nTRADING BOARD.\p$" + .align 2 gUnknown_8458AB8:: @ 8458AB8 - .incbin "baserom.gba", 0x458AB8, 0x8C + .string "Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?$" + .align 2 gUnknown_8458B44:: @ 8458B44 - .incbin "baserom.gba", 0x458B44, 0x190 + .string "This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?$" + .align 2 + .incbin "baserom.gba", 0x00458c80, 0x31 + + .align 2 + .incbin "baserom.gba", 0x00458cb4, 0x20 + + .align 2 gUnknown_8458CD4:: @ 8458CD4 - .incbin "baserom.gba", 0x458CD4, 0x48 + .string "Please choose the type of POKéMON\nthat you would like in the trade.\n$" + .align 2 gUnknown_8458D1C:: @ 8458D1C - .incbin "baserom.gba", 0x458D1C, 0x38 + .string "Which of your party POKéMON will\nyou offer in trade?\p$" + .align 2 gUnknown_8458D54:: @ 8458D54 - .incbin "baserom.gba", 0x458D54, 0x24 + .string "Registration has been canceled.\p$" + .align 2 gUnknown_8458D78:: @ 8458D78 - .incbin "baserom.gba", 0x458D78, 0x24 + .string "Registration has been completed.\p$" + .align 2 gUnknown_8458D9C:: @ 8458D9C - .incbin "baserom.gba", 0x458D9C, 0x20 + .string "The trade has been canceled.\p$" + .align 2 gUnknown_8458DBC:: @ 8458DBC - .incbin "baserom.gba", 0x458DBC, 0x2C + .string "Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?$" + .align 2 gUnknown_8458DE8:: @ 8458DE8 - .incbin "baserom.gba", 0x458DE8, 0x28 + .string "Cancel the registration of your\nEGG?$" + .align 2 gUnknown_8458E10:: @ 8458E10 - .incbin "baserom.gba", 0x458E10, 0x60 + .string "The registration has been canceled.\p$" + + .align 2 + .incbin "baserom.gba", 0x00458e38, 0x38 gUnknown_8458E70:: @ 8458E70 - .incbin "baserom.gba", 0x458E70, 0x60 + .string "Would you like to ask {STR_VAR_1} to\nmake a trade?$" + + .align 2 + .incbin "baserom.gba", 0x00458e9c, 0x34 gUnknown_8458ED0:: @ 8458ED0 - .incbin "baserom.gba", 0x458ED0, 0x34 + .string "You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p$" + .align 2 gUnknown_8458F04:: @ 8458F04 - .incbin "baserom.gba", 0x458F04, 0x98 + .string "You don't have an EGG that\n{STR_VAR_1} wants.\p$" + .align 2 + .string "{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p$" + .align 2 + .string "You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p$" + .incbin "baserom.gba", 0x00458f94, 0x8 gUnknown_8458F9C:: @ 8458F9C - .incbin "baserom.gba", 0x458F9C, 0x20 + .string "Your trade offer was rejected.\p$" gUnknown_8458FBC:: @ 8458FBC - .incbin "baserom.gba", 0x458FBC, 0xC + .string "EGG TRADE$" + .align 2 gUnknown_8458FC8:: @ 8458FC8 - .incbin "baserom.gba", 0x458FC8, 0x1C + .string "{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL$" + .align 2 gUnknown_8458FE4:: @ 8458FE4 - .incbin "baserom.gba", 0x458FE4, 0x1D4 + .string "Please choose a TRAINER.$" + .align 2 +gUnknown_8459000:: + .string "Please choose a TRAINER for\na SINGLE BATTLE.$" + + .align 2 +gUnknown_8459030:: + .string "Please choose a TRAINER for\na DOUBLE BATTLE.$" + + .align 2 +gUnknown_8459060:: + .string "Please choose the LEADER\nfor a MULTI BATTLE.$" + + .align 2 +gUnknown_8459090:: + .string "Please choose the TRAINER to\ntrade with.$" + + .align 2 +gUnknown_84590BC:: + .string "Please choose the TRAINER who is\nsharing WONDER CARDS.$" + + .align 2 +gUnknown_84590F4:: + .string "Please choose the TRAINER who is\nsharing WONDER NEWS.$" + + .align 2 +gUnknown_845912C:: + .string "Jump with mini POKéMON!\nPlease choose the LEADER.$" + + .align 2 +gUnknown_8459160:: + .string "BERRY CRUSH!\nPlease choose the LEADER.$" + + .align 2 +gUnknown_8459188:: + .string "DODRIO BERRY-PICKING!\nPlease choose the LEADER.$" + + .align 2 gUnknown_84591B8:: @ 84591B8 - .incbin "baserom.gba", 0x4591B8, 0x24 + .4byte gUnknown_8459000 + .4byte gUnknown_8459030 + .4byte gUnknown_8459060 + .4byte gUnknown_8459090 + .4byte gUnknown_845912C + .4byte gUnknown_8459160 + .4byte gUnknown_8459188 + .4byte gUnknown_84590BC + .4byte gUnknown_84590F4 + .align 2 gUnknown_84591DC:: @ 84591DC - .incbin "baserom.gba", 0x4591DC, 0x5C + .string "Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait...$" + + .align 2 + .incbin "baserom.gba", 0x00459214, 0x24 gUnknown_8459238:: @ 8459238 - .incbin "baserom.gba", 0x459238, 0x18 + .string "Awaiting {STR_VAR_1}'s response…$" gUnknown_8459250:: @ 8459250 - .incbin "baserom.gba", 0x459250, 0x3C + .string "{STR_VAR_1} has been asked to register\nyou as a member. Please wait.$" gUnknown_845928C:: @ 845928C - .incbin "baserom.gba", 0x45928C, 0xB0 + .string "Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM.$" + .incbin "baserom.gba", 0x004592c8, 0x20 + .string "No CARDS appear to be shared \nright now.$" + .align 2 + .string "No NEWS appears to be shared\nright now.$" gUnknown_845933C:: @ 845933C .incbin "baserom.gba", 0x45933C, 0x3C From dc02e82c1955c271d927d3cb2c8177467a33ec67 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 5 Nov 2019 17:08:05 -0500 Subject: [PATCH 02/21] Fix atk55 arg type --- asm/macros/battle_script.inc | 2 +- data/battle_scripts_1.s | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 223f191c5..c1c76807f 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -476,7 +476,7 @@ .macro atk55 int .byte 0x55 - .4byte \int + .2byte \int .endm .macro atk56 bank_or_side diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 8c049f4e0..a0e0a486b 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1,7 +1,10 @@ .section script_data, "aw", %progbits gBattleScriptsForMoveEffects:: @ 81D65A8 - .incbin "baserom.gba", 0x1D65A8, 0x388 + .incbin "baserom.gba", 0x1D65A8, 0x37C + +BattleScript_81D6924:: + .incbin "baserom.gba", 0x1D6924, 0xC BattleScript_HitFromCritCalc:: @ 81D6930 .incbin "baserom.gba", 0x1D6930, 0x1E From 91e305255cb4861ad1ecc486c7e07c94476016f0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 5 Nov 2019 21:27:47 -0500 Subject: [PATCH 03/21] Dump battle scripts 1 --- asm/macros/battle_script.inc | 3 +- baserom.ips | Bin 442990 -> 430442 bytes data/battle_message.s | 309 +- data/battle_scripts_1.s | 4382 +++++++++++++++++++- include/battle_string_ids.h | 47 +- include/constants/battle_script_commands.h | 2 +- 6 files changed, 4489 insertions(+), 254 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index c1c76807f..fea575042 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -515,8 +515,9 @@ .byte \bank .endm - .macro atk5d + .macro atk5d addr .byte 0x5d + .4byte \addr .endm .macro atk5e bank diff --git a/baserom.ips b/baserom.ips index c0a516b06eb7c96caaec0d94d647e2c69b73689f..ad0030b85e5ede02541a80ea595e72616ed4a6c1 100644 GIT binary patch delta 53 zcmaFYBK>NS6jy*_h_i=G#+yHTHgfIx!zw#%4Xa1{d0j>zW&&bnAZ7t#*6rtY+2&6H E0C2n(ga7~l delta 12718 zcmai433!x6(yso#NirD%beIt2m>A@ma15}rDC0OJN)!+=pt!6T2zUU3D`FI{j~gPQ zf(X&|K6X9vT=8B-bWy>@UDp!@!Q)?LeboPX)Kz}-zg6AeF#$EtQ`6Pe)!kLq)z#Jg z<@4LSe7U%5qM`1DBS&^SdrwQt!-;41dNe&1p9Rau49UNSkv`D&7__2e1gR4)8GGUBFGVQt?M-rM&pFKz0JA&rZeX z0xknA2W$hVb1^C4dcbA?PxxPy<$p-UrvNShtOnc%_#WV%mx{LobO!VUFh9dU;70(C z1x&Q`sZx4|VKyoY0J{K_=A_~?02ct}16Bam0(hX?P`(0q)7JN(9C$tk2FwNA09X(B z7vM91J2w^Y3OE=r3UCJCM!;KuF92=53(Ua%QO*W%eTk*rX3I}ezS4+E0mT=l;C@%yo1bElshX>k-a;wGnqV%Ek z;#6D%(tyE$9N=gG_Zg3JE}#i;3*bvY@)8IESP$3=*bNwVDFg;w0r&`Te{pcBY$Ik|1mcf?NlR1lzH0R0jx&sUL$mHg6eGpxZ?}Q! zaW(Ug;f~{wIt^4J$Bh*gmy{;jokH0*R7Pz()KYsu$Ij@Bzsx(}rcp$PAG`%4D90UE zP3@Q?J(dS>+!V8^Z(!kWR08xNkQZ;kPd92ol^dj$=s=IEY1oQXyfl$nlE+|`G6n|J zy~rPtYki`%WaB5p<9@63bJDzQzox-*QJEA`71j2DNi)klOiJl~z~@tD8B5Scm8qH- zYgTgv$jR+yuFmL%KWhV#Qf78#W7RAYl_57t1wvIXZT59i=Wa&FSfGs zwxB}P+SY}pcJ#&E$BJ;c*xIf_tEQncRcXSkOpeS-v_VWXE71{{tdK1dh#L@Liy@`R6mqr%8-YKBvWc*d>B!au3t3&kK5M3Lh>tG)EKdGQm0~s8dth5m0~4IvmOB#N(q7qR{Q zsZ)wH(R~=-y)r$B{n>G=sAGJMY}*(l?Q^x=IV~+}GBeQCyqSU#+?8}y<~`n?yVXLR zX}f7Ee*4lGc=KD-4tO`k8(jutTu`gP-W@I9t%OSRcezD2O4>C`F!(7~^OHZLeW%N)viiU@_TPaep^m z@&>O|X(HIi?3enOfLjb!ejHBjXb6Its1CGlG(W)nIOH8fZVXZWAc}M0ho!=(R9qQE zH+Z@37tA+!HVk_X2SJG)RCg%WDvS+ne7RSr=ip!$T}pkLSqX0=1Y7(FeipE9uwZhE z@u+5%O>baQEfvH&u;|`_1khMyZfWsXa0vY3+OIL-eQ8Fy`#+yvepIJY#7sT|CEheuY) zYm5}R&|8a#Zt-Be;x!^^0iDU22K=To$lZw28R&u2%p7;di{pHx>B($wgzNdr1lR)qvtikU zTw^-Ny}mS&ygy=gtP?CxS`NP((D;yP^g?fW-Dq?d@liIptM4aOR52M|6*_cE&eYE# z^8UTGB;u{`l@WojNL1_|2H=B$BK`=uM@a4&qP+x#?0v5R=(9fE!?JVxJ{*ZiS+h2 zkemQGvEb%uj?LscS#~~B-Ek$j(VVcV9q?h*9;GXQlqNWmCZC9`5$oy&x&~vjuph`y z(F-H3XJHVehTK|JDTUcihH`*P%kdgb4NchcT5hs2zcL)n!Q4m)Ir32E1OB}k`9(EF z5=-@xOz6R}CPswDvX>?%chMh51~UPY=ngy4;;>Df=5gpkFN7k5mf~AXZ1J@X=(k$> zZ3U^q=+@kK+9{TWQv~t(F4I;JItDjz{M!T#W1MO0y9v=%6jyPy>)6vF5PJKl2| znh`%m;KCK0svyI?m~urh^ z_e_}VXK({>t~;E&+cbyy3NK40VQQT!tps16?;%{8F?e$gA*I6k%T;r%Nbjp2PzVG;zQh^rseC^B7w-Tzz}fs;<;m!_3(K`&`XY z2Jc>}uL)P^Z*mrNO5cJ^{Rma^5=4gdp<%F`3LZLl8C*9rbgvLgivJ@YFZxT*@OLO z!V3b3K|kk4}-ooq&w~-JRgWZF){N#FKbnz z-<5b38ORki0KcBIRO|AZ&E*@gSo>vj0QIsv8h*!yRak}2imh#9I3?I!y$s|!H+WZm+*?fgc6gn z1v_`0Rkc3U-^%m2oE4FPx&ebe5#+-jf{9$+9e3lCeB|69BXq*64fu{*V8(3_m3FD@ zIOR-KW7M(ge5G9)t5kNp61$1iy9u7%rE#$b*e&ZPzxiO^PzP}^p7qbCJ zvH^c@{2Lx)mz&Z3UY)xWXFn=_3GUx!L*P-wyaI_f!G&vMukLbbQiotcEGN!nc`r&I z1=^wfh=c>w(3J9c;fTXyVNB%EX5wPu(}sr!3|{QRvG&ES9yWvyi@#``Ao*ovFIo-Q zby_JP*6$AOjDm41EOd<@+4e{NJ(hp_#=2n-PWGq=9t3~Uyedq#>{MiOwlS4%T5e7p z6pI2e{N?W#8`IBmU=7Ln86^fLxKZ;sj3IYF&M7_OYG2|P!X)JbyoWkC zz)w(V;Br4KN{{f-k`OHp(U=(PC8LG-($C!>Pf+tPlqWnzYAJA{mnB%d>?ezV^?mvt zv|67w4?^i@aN58%;`E|*nuTn`-P(JH*+TS`2j z_|Z#xj<(Tw5S|O%MSjY)1kqwf#6NMmFXzR+2waGg=5cB14AhEE(#Vp1OC1n@#a43d zl=g5|$6eNp4(1gA4+C?e<2&wVdpP*n)9YrN=zBta_jfu-I$%$SiY8BKxS+KyqlL%A zubmEN0-m@VX?Xf7jBpSo_$j4|YA!_WS8i8`|K_OK=Q368U#8enr*J-JoXQ%uH=f%a z_Z6OcUTMO}(G|4J4nAi`Qiqa}@DFjI+nUrKR??A#kx@U#7)hQsJa;y!_ULVS81;Fg zNr9d&a&R-|9)MyVvRw&VQMPXC9oS+Vn#Id(1d?O!?|izry201SvzZw;ihJGJO=9!P z{dIQSR}n1k4A+-0MO*Zrn81&Xuc7s>NUQG|+pK5YA8mU>h+aakk5a=0l{iK858L-a z=1PwKG<I(@=we2P;{g>CG3?Z%&IvbevOra+eI#Qd?oPQf7#BD2A#zYpO`SZ zBS^WP4camB=eAR=Z^!sshTjjI?w69HlT7z6KD$VUU0Rx`ahc@o0ZC6$y#GeGeth>I zDXrvqsu+0;zROfmdoDr?`5BY7!eW-`Z7bO0fwY4;*LxSB*pW{P1QsoadPZ!=eTO>^ zJ^^8vU%g`XUgtkq@JpV#p$_I|W{a6P@~%ICmEt`sz!QN0FxUH*_+*s0m5IoI^`DvA zZ1N~DZ@0`(hs-VEj709hmwYKlna`r1W`Ur3rb23GP$_CD$Lozmh+X1rMhX`c)B*N9S5YLG6=* znt2!Vm{me9BhdbTjP}W$kzgyr7mG&!4pscoSFxHLMTg-_Ts0>`*8{P82kvg8QE?HX zk&{wtvWWX4G#s@2{aj zJ4c;cwA1*4iizD;+9d+*4g-TV7^D8kGI6r0?xe7pQNP(L=eb|l?G`@PoTzZ9bWvTE z#-Tb$fDO zxC0aCZ1B)ccTf#3_aEmv{fhjgb#*Wx@_Pzvge)tpp<-+PWZYImA928A^td+stGg7= zE={u=7Odv^aj7%;a51yaY*a;am39c%y<@Vchqt{cYOEsM_hy~$j&YB5&v$VHoZ^mk zDch(@#=Ay&mWNe2JKs?B9FOf%L-CgefqMIN^~M(snB_;2SHYLpb?SJP)n#<*|Dmd@ z*dbPZk~hQSs~xRf?pvB4tY@Rvm)0+J9f~n-URS9xVB!nFsi^4#d8AX%WwctnjM+Us zi?^^L&t^2Q=Si_!EoRosxpGXFMe>w&vtek+H!ACO^cbqiQ_RWSs7hgugylD@$u@b7 z$GS-6brDbfJDGDLhG738h;X?IEzFx5wq{kZpk2l2*9xAVQN@47y!8NoA z!+eB>-IPyOnJ}8KU}Qx3L^VRz)}%z}qPa27KUExLVw#SUkIqaooB20{#Qawxx{}vhK{ANL|J`;8gE2l<)^R^IlagfOSmxS zPx%rWp_g(!ua}$RN-jcmVIQkzu7FtAe`WBGA)S@F8zSVa6Z;?QiPASA)`#6-I@1j@ z^Z!3|Cbc8dFZ>6eR{h*E*YtDI3Ef;(iOK!xT$`NP>GXB1Ku)jwIX&{ygPC*wWi@5-rSmooMHP)z6?emmys#(G(Ii& zTu$G_8pxxyyxQjU%|^3ZOmRCGHtG+&3h`kne!i#lP#-@Xfm;5lg~ozZuR5^t(h~$v zvi*bq{)u>9&sk`<7PXK=I%5d*NXB zvZSW^0ICmg)%f3=YA=gJl`M^Zgd428L|;_$riDkAHx(QU9i_u#g&p9lve*9-%;&FK zaodr~DV0@P)%3!Yt2zG2f7dvS`#J7N6*D}mn_gG~x@BS1XUWx5kxadT=g8@&f~m@% zf@;qQRsJzeKgYPyrffbnDwT8G|I|~tbbsC}Xq}YP*GpIZo)o^^x{b(uXVVK6*97t~ z8pvbbHtSV|40|8<&ifz8#N-l4HCmIiO{8pAIX#;^FgD{@?#n%<+5fVz0nv}sb1_j~ z4`Pn=?}6)s4YQ1!+!hWugz3#N$1uatsLXQf(bAVc^d!%;QT$9L{|V&ji@6P14;N<$ z&DfhduHr8#6xW|}6V8ro7(%eb;;ejh!Qym^czqhz(kHXnlNinG zqqsN&J==rXJ6hW1zbsby4HP#Wt_=v<5DsGkD|j(`cD?Ep%&sp{_3D72%07Cj%GQ@j z5a-%u+#^5DNp7au_JJS*K>LZ10-dw%A=tO*6s8aQRKv7^|J&pPNs9#T-wbNHgXV&Ni%GQ@i zdLZ8?hTH#<(;Jy%ICE?hOdrguhx-|8C#^$ZpAxT(M>PZJLz%Hz4L9GaJ`2B6nS5Xu zB+S+Qgx}$xW_6aCb9HU6MHQ2od%oG)AI$*K-0CL*tD@9QDTbJ06c27G?WK2)s>C(){wPRRzNkEL~67I%^dg7nuq}PjlbrSdFUYmlN%N^Jx z`2Gq{lvm@Icv=al=2M*T=%abi*3@J}HolQOdTPhUqLt}D1cm6BbI;PzzVmX5;7pFrv=Bjip@PJfPlU(f$xMx+0XrHJEX6R())z;2cz^f(|OjH zuEY87%aa^pbTbq0h<502JJibtCf%3o1v_en!f9yK>L<)9Uw6=29^6s~?9(Mzo>3#b zdMXuT4CMBl&%N&idIU2_K6`X!I9pTQQp{qK Date: Tue, 5 Nov 2019 21:29:46 -0500 Subject: [PATCH 04/21] Fix whitespace in battle_string_ids.h --- include/battle_string_ids.h | 710 ++++++++++++++++++------------------ 1 file changed, 355 insertions(+), 355 deletions(-) diff --git a/include/battle_string_ids.h b/include/battle_string_ids.h index ede2dbe3b..f3c017b87 100644 --- a/include/battle_string_ids.h +++ b/include/battle_string_ids.h @@ -12,365 +12,365 @@ // todo: make some of those names less vague: attacker/target vs pkmn, etc. -#define STRINGID_TRAINER1LOSETEXT 12 -#define STRINGID_PKMNGAINEDEXP 13 -#define STRINGID_PKMNGREWTOLV 14 -#define STRINGID_PKMNLEARNEDMOVE 15 -#define STRINGID_TRYTOLEARNMOVE1 16 -#define STRINGID_TRYTOLEARNMOVE2 17 -#define STRINGID_TRYTOLEARNMOVE3 18 -#define STRINGID_PKMNFORGOTMOVE 19 -#define STRINGID_STOPLEARNINGMOVE 20 -#define STRINGID_DIDNOTLEARNMOVE 21 -#define STRINGID_PKMNLEARNEDMOVE2 22 -#define STRINGID_ATTACKMISSED 23 -#define STRINGID_PKMNPROTECTEDITSELF 24 -#define STRINGID_STATSWONTINCREASE2 25 -#define STRINGID_AVOIDEDDAMAGE 26 -#define STRINGID_ITDOESNTAFFECT 27 -#define STRINGID_ATTACKERFAINTED 28 -#define STRINGID_TARGETFAINTED 29 -#define STRINGID_PLAYERGOTMONEY 30 -#define STRINGID_PLAYERWHITEOUT 31 -#define STRINGID_PLAYERWHITEOUT2 32 -#define STRINGID_PREVENTSESCAPE 33 -#define STRINGID_HITXTIMES 34 -#define STRINGID_PKMNFELLASLEEP 35 -#define STRINGID_PKMNMADESLEEP 36 -#define STRINGID_PKMNALREADYASLEEP 37 -#define STRINGID_PKMNALREADYASLEEP2 38 -#define STRINGID_PKMNWASNTAFFECTED 39 -#define STRINGID_PKMNWASPOISONED 40 -#define STRINGID_PKMNPOISONEDBY 41 -#define STRINGID_PKMNHURTBYPOISON 42 -#define STRINGID_PKMNALREADYPOISONED 43 -#define STRINGID_PKMNBADLYPOISONED 44 -#define STRINGID_PKMNENERGYDRAINED 45 -#define STRINGID_PKMNWASBURNED 46 -#define STRINGID_PKMNBURNEDBY 47 -#define STRINGID_PKMNHURTBYBURN 48 -#define STRINGID_PKMNWASFROZEN 49 -#define STRINGID_PKMNFROZENBY 50 -#define STRINGID_PKMNISFROZEN 51 -#define STRINGID_PKMNWASDEFROSTED 52 -#define STRINGID_PKMNWASDEFROSTED2 53 -#define STRINGID_PKMNWASDEFROSTEDBY 54 -#define STRINGID_PKMNWASPARALYZED 55 -#define STRINGID_PKMNWASPARALYZEDBY 56 -#define STRINGID_PKMNISPARALYZED 57 -#define STRINGID_PKMNISALREADYPARALYZED 58 -#define STRINGID_PKMNHEALEDPARALYSIS 59 -#define STRINGID_PKMNDREAMEATEN 60 -#define STRINGID_STATSWONTINCREASE 61 -#define STRINGID_STATSWONTDECREASE 62 -#define STRINGID_TEAMSTOPPEDWORKING 63 -#define STRINGID_FOESTOPPEDWORKING 64 -#define STRINGID_PKMNISCONFUSED 65 -#define STRINGID_PKMNHEALEDCONFUSION 66 -#define STRINGID_PKMNWASCONFUSED 67 -#define STRINGID_PKMNALREADYCONFUSED 68 -#define STRINGID_PKMNFELLINLOVE 69 -#define STRINGID_PKMNINLOVE 70 -#define STRINGID_PKMNIMMOBILIZEDBYLOVE 71 -#define STRINGID_PKMNBLOWNAWAY 72 -#define STRINGID_PKMNCHANGEDTYPE 73 -#define STRINGID_PKMNFLINCHED 74 -#define STRINGID_PKMNREGAINEDHEALTH 75 -#define STRINGID_PKMNHPFULL 76 -#define STRINGID_PKMNRAISEDSPDEF 77 -#define STRINGID_PKMNRAISEDDEF 78 -#define STRINGID_PKMNCOVEREDBYVEIL 79 -#define STRINGID_PKMNUSEDSAFEGUARD 80 -#define STRINGID_PKMNSAFEGUARDEXPIRED 81 -#define STRINGID_PKMNWENTTOSLEEP 82 -#define STRINGID_PKMNSLEPTHEALTHY 83 -#define STRINGID_PKMNWHIPPEDWHIRLWIND 84 -#define STRINGID_PKMNTOOKSUNLIGHT 85 -#define STRINGID_PKMNLOWEREDHEAD 86 -#define STRINGID_PKMNISGLOWING 87 -#define STRINGID_PKMNFLEWHIGH 88 -#define STRINGID_PKMNDUGHOLE 89 -#define STRINGID_PKMNSQUEEZEDBYBIND 90 -#define STRINGID_PKMNTRAPPEDINVORTEX 91 -#define STRINGID_PKMNWRAPPEDBY 92 -#define STRINGID_PKMNCLAMPED 93 -#define STRINGID_PKMNHURTBY 94 -#define STRINGID_PKMNFREEDFROM 95 -#define STRINGID_PKMNCRASHED 96 -#define STRINGID_PKMNSHROUDEDINMIST 97 -#define STRINGID_PKMNPROTECTEDBYMIST 98 -#define STRINGID_PKMNGETTINGPUMPED 99 -#define STRINGID_PKMNHITWITHRECOIL 100 -#define STRINGID_PKMNPROTECTEDITSELF2 101 -#define STRINGID_PKMNBUFFETEDBYSANDSTORM 102 -#define STRINGID_PKMNPELTEDBYHAIL 103 -#define STRINGID_PKMNSEEDED 104 -#define STRINGID_PKMNEVADEDATTACK 105 -#define STRINGID_PKMNSAPPEDBYLEECHSEED 106 -#define STRINGID_PKMNFASTASLEEP 107 -#define STRINGID_PKMNWOKEUP 108 -#define STRINGID_PKMNUPROARKEPTAWAKE 109 -#define STRINGID_PKMNWOKEUPINUPROAR 110 -#define STRINGID_PKMNCAUSEDUPROAR 111 -#define STRINGID_PKMNMAKINGUPROAR 112 -#define STRINGID_PKMNCALMEDDOWN 113 -#define STRINGID_PKMNCANTSLEEPINUPROAR 114 -#define STRINGID_PKMNSTOCKPILED 115 -#define STRINGID_PKMNCANTSTOCKPILE 116 -#define STRINGID_PKMNCANTSLEEPINUPROAR2 117 -#define STRINGID_UPROARKEPTPKMNAWAKE 118 -#define STRINGID_PKMNSTAYEDAWAKEUSING 119 -#define STRINGID_PKMNSTORINGENERGY 120 -#define STRINGID_PKMNUNLEASHEDENERGY 121 -#define STRINGID_PKMNFATIGUECONFUSION 122 -#define STRINGID_PKMNPICKEDUPITEM 123 -#define STRINGID_PKMNUNAFFECTED 124 -#define STRINGID_PKMNTRANSFORMEDINTO 125 -#define STRINGID_PKMNMADESUBSTITUTE 126 -#define STRINGID_PKMNHASSUBSTITUTE 127 -#define STRINGID_SUBSTITUTEDAMAGED 128 -#define STRINGID_PKMNSUBSTITUTEFADED 129 -#define STRINGID_PKMNMUSTRECHARGE 130 -#define STRINGID_PKMNRAGEBUILDING 131 -#define STRINGID_PKMNMOVEWASDISABLED 132 -#define STRINGID_PKMNMOVEISDISABLED 133 -#define STRINGID_PKMNMOVEDISABLEDNOMORE 134 -#define STRINGID_PKMNGOTENCORE 135 -#define STRINGID_PKMNENCOREENDED 136 -#define STRINGID_PKMNTOOKAIM 137 -#define STRINGID_PKMNSKETCHEDMOVE 138 -#define STRINGID_PKMNTRYINGTOTAKEFOE 139 -#define STRINGID_PKMNTOOKFOE 140 -#define STRINGID_PKMNREDUCEDPP 141 -#define STRINGID_PKMNSTOLEITEM 142 -#define STRINGID_TARGETCANTESCAPENOW 143 -#define STRINGID_PKMNFELLINTONIGHTMARE 144 -#define STRINGID_PKMNLOCKEDINNIGHTMARE 145 -#define STRINGID_PKMNLAIDCURSE 146 -#define STRINGID_PKMNAFFLICTEDBYCURSE 147 -#define STRINGID_SPIKESSCATTERED 148 -#define STRINGID_PKMNHURTBYSPIKES 149 -#define STRINGID_PKMNIDENTIFIED 150 -#define STRINGID_PKMNPERISHCOUNTFELL 151 -#define STRINGID_PKMNBRACEDITSELF 152 -#define STRINGID_PKMNENDUREDHIT 153 -#define STRINGID_MAGNITUDESTRENGTH 154 -#define STRINGID_PKMNCUTHPMAXEDATTACK 155 -#define STRINGID_PKMNCOPIEDSTATCHANGES 156 -#define STRINGID_PKMNGOTFREE 157 -#define STRINGID_PKMNSHEDLEECHSEED 158 -#define STRINGID_PKMNBLEWAWAYSPIKES 159 -#define STRINGID_PKMNFLEDFROMBATTLE 160 -#define STRINGID_PKMNFORESAWATTACK 161 -#define STRINGID_PKMNTOOKATTACK 162 -#define STRINGID_PKMNATTACK 163 -#define STRINGID_PKMNCENTERATTENTION 164 -#define STRINGID_PKMNCHARGINGPOWER 165 -#define STRINGID_NATUREPOWERTURNEDINTO 166 -#define STRINGID_PKMNSTATUSNORMAL 167 -#define STRINGID_PKMNHASNOMOVESLEFT 168 -#define STRINGID_PKMNSUBJECTEDTOTORMENT 169 -#define STRINGID_PKMNCANTUSEMOVETORMENT 170 -#define STRINGID_PKMNTIGHTENINGFOCUS 171 -#define STRINGID_PKMNFELLFORTAUNT 172 -#define STRINGID_PKMNCANTUSEMOVETAUNT 173 -#define STRINGID_PKMNREADYTOHELP 174 -#define STRINGID_PKMNSWITCHEDITEMS 175 -#define STRINGID_PKMNCOPIEDFOE 176 -#define STRINGID_PKMNMADEWISH 177 -#define STRINGID_PKMNWISHCAMETRUE 178 -#define STRINGID_PKMNPLANTEDROOTS 179 -#define STRINGID_PKMNABSORBEDNUTRIENTS 180 -#define STRINGID_PKMNANCHOREDITSELF 181 -#define STRINGID_PKMNWASMADEDROWSY 182 -#define STRINGID_PKMNKNOCKEDOFF 183 -#define STRINGID_PKMNSWAPPEDABILITIES 184 -#define STRINGID_PKMNSEALEDOPPONENTMOVE 185 -#define STRINGID_PKMNCANTUSEMOVESEALED 186 -#define STRINGID_PKMNWANTSGRUDGE 187 -#define STRINGID_PKMNLOSTPPGRUDGE 188 -#define STRINGID_PKMNSHROUDEDITSELF 189 -#define STRINGID_PKMNMOVEBOUNCED 190 -#define STRINGID_PKMNWAITSFORTARGET 191 -#define STRINGID_PKMNSNATCHEDMOVE 192 -#define STRINGID_PKMNMADEITRAIN 193 -#define STRINGID_PKMNRAISEDSPEED 194 -#define STRINGID_PKMNPROTECTEDBY 195 -#define STRINGID_PKMNPREVENTSUSAGE 196 -#define STRINGID_PKMNRESTOREDHPUSING 197 -#define STRINGID_PKMNCHANGEDTYPEWITH 198 -#define STRINGID_PKMNPREVENTSPARALYSISWITH 199 -#define STRINGID_PKMNPREVENTSROMANCEWITH 200 -#define STRINGID_PKMNPREVENTSPOISONINGWITH 201 -#define STRINGID_PKMNPREVENTSCONFUSIONWITH 202 -#define STRINGID_PKMNRAISEDFIREPOWERWITH 203 -#define STRINGID_PKMNANCHORSITSELFWITH 204 -#define STRINGID_PKMNCUTSATTACKWITH 205 -#define STRINGID_PKMNPREVENTSSTATLOSSWITH 206 -#define STRINGID_PKMNHURTSWITH 207 -#define STRINGID_PKMNTRACED 208 -#define STRINGID_STATSHARPLY 209 -#define STRINGID_STATROSE 210 -#define STRINGID_STATHARSHLY 211 -#define STRINGID_STATFELL 212 -#define STRINGID_PKMNSSTATCHANGED 213 -#define STRINGID_PKMNSSTATCHANGED2 214 -#define STRINGID_PKMNSSTATCHANGED3 215 -#define STRINGID_PKMNSSTATCHANGED4 216 -#define STRINGID_CRITICALHIT 217 -#define STRINGID_ONEHITKO 218 -#define STRINGID_123POOF 219 -#define STRINGID_ANDELLIPSIS 220 -#define STRINGID_NOTVERYEFFECTIVE 221 -#define STRINGID_SUPEREFFECTIVE 222 -#define STRINGID_GOTAWAYSAFELY 223 -#define STRINGID_WILDPKMNFLED 224 -#define STRINGID_NORUNNINGFROMTRAINERS 225 -#define STRINGID_CANTESCAPE 226 -#define STRINGID_DONTLEAVEBIRCH 227 -#define STRINGID_BUTNOTHINGHAPPENED 228 -#define STRINGID_BUTITFAILED 229 -#define STRINGID_ITHURTCONFUSION 230 -#define STRINGID_MIRRORMOVEFAILED 231 -#define STRINGID_STARTEDTORAIN 232 -#define STRINGID_DOWNPOURSTARTED 233 -#define STRINGID_RAINCONTINUES 234 -#define STRINGID_DOWNPOURCONTINUES 235 -#define STRINGID_RAINSTOPPED 236 -#define STRINGID_SANDSTORMBREWED 237 -#define STRINGID_SANDSTORMRAGES 238 -#define STRINGID_SANDSTORMSUBSIDED 239 -#define STRINGID_SUNLIGHTGOTBRIGHT 240 -#define STRINGID_SUNLIGHTSTRONG 241 -#define STRINGID_SUNLIGHTFADED 242 -#define STRINGID_STARTEDHAIL 243 -#define STRINGID_HAILCONTINUES 244 -#define STRINGID_HAILSTOPPED 245 -#define STRINGID_FAILEDTOSPITUP 246 -#define STRINGID_FAILEDTOSWALLOW 247 -#define STRINGID_WINDBECAMEHEATWAVE 248 -#define STRINGID_STATCHANGESGONE 249 -#define STRINGID_COINSSCATTERED 250 -#define STRINGID_TOOWEAKFORSUBSTITUTE 251 -#define STRINGID_SHAREDPAIN 252 -#define STRINGID_BELLCHIMED 253 -#define STRINGID_FAINTINTHREE 254 -#define STRINGID_NOPPLEFT 255 -#define STRINGID_BUTNOPPLEFT 256 -#define STRINGID_PLAYERUSEDITEM 257 -#define STRINGID_WALLYUSEDITEM 258 -#define STRINGID_TRAINERBLOCKEDBALL 259 -#define STRINGID_DONTBEATHIEF 260 -#define STRINGID_ITDODGEDBALL 261 -#define STRINGID_YOUMISSEDPKMN 262 -#define STRINGID_PKMNBROKEFREE 263 -#define STRINGID_ITAPPEAREDCAUGHT 264 -#define STRINGID_AARGHALMOSTHADIT 265 -#define STRINGID_SHOOTSOCLOSE 266 -#define STRINGID_GOTCHAPKMNCAUGHT 267 -#define STRINGID_GOTCHAPKMNCAUGHT2 268 -#define STRINGID_GIVENICKNAMECAPTURED 269 -#define STRINGID_PKMNSENTTOPC 270 -#define STRINGID_PKMNDATAADDEDTODEX 271 -#define STRINGID_ITISRAINING 272 -#define STRINGID_SANDSTORMISRAGING 273 -#define STRINGID_CANTESCAPE2 274 -#define STRINGID_PKMNIGNORESASLEEP 275 -#define STRINGID_PKMNIGNOREDORDERS 276 -#define STRINGID_PKMNBEGANTONAP 277 -#define STRINGID_PKMNLOAFING 278 -#define STRINGID_PKMNWONTOBEY 279 -#define STRINGID_PKMNTURNEDAWAY 280 -#define STRINGID_PKMNPRETENDNOTNOTICE 281 -#define STRINGID_ENEMYABOUTTOSWITCHPKMN 282 -#define STRINGID_CREPTCLOSER 283 -#define STRINGID_CANTGETCLOSER 284 -#define STRINGID_PKMNWATCHINGCAREFULLY 285 -#define STRINGID_PKMNCURIOUSABOUTX 286 -#define STRINGID_PKMNENTHRALLEDBYX 287 -#define STRINGID_PKMNIGNOREDX 288 -#define STRINGID_THREWPOKEBLOCKATPKMN 289 -#define STRINGID_OUTOFSAFARIBALLS 290 -#define STRINGID_PKMNSITEMCUREDPARALYSIS 291 -#define STRINGID_PKMNSITEMCUREDPOISON 292 -#define STRINGID_PKMNSITEMHEALEDBURN 293 -#define STRINGID_PKMNSITEMDEFROSTEDIT 294 -#define STRINGID_PKMNSITEMWOKEIT 295 -#define STRINGID_PKMNSITEMSNAPPEDOUT 296 -#define STRINGID_PKMNSITEMCUREDPROBLEM 297 -#define STRINGID_PKMNSITEMRESTOREDHEALTH 298 -#define STRINGID_PKMNSITEMRESTOREDPP 299 -#define STRINGID_PKMNSITEMRESTOREDSTATUS 300 -#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301 -#define STRINGID_ITEMALLOWSONLYYMOVE 302 -#define STRINGID_PKMNHUNGONWITHX 303 -#define STRINGID_EMPTYSTRING3 304 -#define STRINGID_PKMNSXPREVENTSBURNS 305 -#define STRINGID_PKMNSXBLOCKSY 306 -#define STRINGID_PKMNSXRESTOREDHPALITTLE2 307 -#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM 308 -#define STRINGID_PKMNSXPREVENTSYLOSS 309 -#define STRINGID_PKMNSXINFATUATEDY 310 -#define STRINGID_PKMNSXMADEYINEFFECTIVE 311 -#define STRINGID_PKMNSXCUREDYPROBLEM 312 -#define STRINGID_ITSUCKEDLIQUIDOOZE 313 -#define STRINGID_PKMNTRANSFORMED 314 -#define STRINGID_ELECTRICITYWEAKENED 315 -#define STRINGID_FIREWEAKENED 316 -#define STRINGID_PKMNHIDUNDERWATER 317 -#define STRINGID_PKMNSPRANGUP 318 -#define STRINGID_HMMOVESCANTBEFORGOTTEN 319 -#define STRINGID_XFOUNDONEY 320 -#define STRINGID_PLAYERDEFEATEDTRAINER1 321 -#define STRINGID_SOOTHINGAROMA 322 -#define STRINGID_ITEMSCANTBEUSEDNOW 323 -#define STRINGID_FORXCOMMAYZ 324 -#define STRINGID_USINGXTHEYOFZN 325 -#define STRINGID_PKMNUSEDXTOGETPUMPED 326 -#define STRINGID_PKMNSXMADEYUSELESS 327 -#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328 -#define STRINGID_EMPTYSTRING4 329 -#define STRINGID_ABOOSTED 330 -#define STRINGID_PKMNSXINTENSIFIEDSUN 331 -#define STRINGID_PKMNMAKESGROUNDMISS 332 -#define STRINGID_YOUTHROWABALLNOWRIGHT 333 -#define STRINGID_PKMNSXTOOKATTACK 334 -#define STRINGID_PKMNCHOSEXASDESTINY 335 -#define STRINGID_PKMNLOSTFOCUS 336 -#define STRINGID_USENEXTPKMN 337 -#define STRINGID_PKMNFLEDUSINGITS 338 -#define STRINGID_PKMNFLEDUSING 339 -#define STRINGID_PKMNWASDRAGGEDOUT 340 -#define STRINGID_PREVENTEDFROMWORKING 341 -#define STRINGID_PKMNSITEMNORMALIZEDSTATUS 342 -#define STRINGID_TRAINER1USEDITEM 343 -#define STRINGID_BOXISFULL 344 -#define STRINGID_PKMNAVOIDEDATTACK 345 -#define STRINGID_PKMNSXMADEITINEFFECTIVE 346 -#define STRINGID_PKMNSXPREVENTSFLINCHING 347 -#define STRINGID_PKMNALREADYHASBURN 348 -#define STRINGID_STATSWONTDECREASE2 349 -#define STRINGID_PKMNSXBLOCKSY2 350 -#define STRINGID_PKMNSXWOREOFF 351 -#define STRINGID_PKMNRAISEDDEFALITTLE 352 -#define STRINGID_PKMNRAISEDSPDEFALITTLE 353 -#define STRINGID_THEWALLSHATTERED 354 -#define STRINGID_PKMNSXPREVENTSYSZ 355 -#define STRINGID_PKMNSXCUREDITSYPROBLEM 356 -#define STRINGID_ATTACKERCANTESCAPE 357 -#define STRINGID_PKMNOBTAINEDX 358 -#define STRINGID_PKMNOBTAINEDX2 359 -#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360 -#define STRINGID_BUTNOEFFECT 361 -#define STRINGID_PKMNSXHADNOEFFECTONY 362 +#define STRINGID_TRAINER1LOSETEXT 12 +#define STRINGID_PKMNGAINEDEXP 13 +#define STRINGID_PKMNGREWTOLV 14 +#define STRINGID_PKMNLEARNEDMOVE 15 +#define STRINGID_TRYTOLEARNMOVE1 16 +#define STRINGID_TRYTOLEARNMOVE2 17 +#define STRINGID_TRYTOLEARNMOVE3 18 +#define STRINGID_PKMNFORGOTMOVE 19 +#define STRINGID_STOPLEARNINGMOVE 20 +#define STRINGID_DIDNOTLEARNMOVE 21 +#define STRINGID_PKMNLEARNEDMOVE2 22 +#define STRINGID_ATTACKMISSED 23 +#define STRINGID_PKMNPROTECTEDITSELF 24 +#define STRINGID_STATSWONTINCREASE2 25 +#define STRINGID_AVOIDEDDAMAGE 26 +#define STRINGID_ITDOESNTAFFECT 27 +#define STRINGID_ATTACKERFAINTED 28 +#define STRINGID_TARGETFAINTED 29 +#define STRINGID_PLAYERGOTMONEY 30 +#define STRINGID_PLAYERWHITEOUT 31 +#define STRINGID_PLAYERWHITEOUT2 32 +#define STRINGID_PREVENTSESCAPE 33 +#define STRINGID_HITXTIMES 34 +#define STRINGID_PKMNFELLASLEEP 35 +#define STRINGID_PKMNMADESLEEP 36 +#define STRINGID_PKMNALREADYASLEEP 37 +#define STRINGID_PKMNALREADYASLEEP2 38 +#define STRINGID_PKMNWASNTAFFECTED 39 +#define STRINGID_PKMNWASPOISONED 40 +#define STRINGID_PKMNPOISONEDBY 41 +#define STRINGID_PKMNHURTBYPOISON 42 +#define STRINGID_PKMNALREADYPOISONED 43 +#define STRINGID_PKMNBADLYPOISONED 44 +#define STRINGID_PKMNENERGYDRAINED 45 +#define STRINGID_PKMNWASBURNED 46 +#define STRINGID_PKMNBURNEDBY 47 +#define STRINGID_PKMNHURTBYBURN 48 +#define STRINGID_PKMNWASFROZEN 49 +#define STRINGID_PKMNFROZENBY 50 +#define STRINGID_PKMNISFROZEN 51 +#define STRINGID_PKMNWASDEFROSTED 52 +#define STRINGID_PKMNWASDEFROSTED2 53 +#define STRINGID_PKMNWASDEFROSTEDBY 54 +#define STRINGID_PKMNWASPARALYZED 55 +#define STRINGID_PKMNWASPARALYZEDBY 56 +#define STRINGID_PKMNISPARALYZED 57 +#define STRINGID_PKMNISALREADYPARALYZED 58 +#define STRINGID_PKMNHEALEDPARALYSIS 59 +#define STRINGID_PKMNDREAMEATEN 60 +#define STRINGID_STATSWONTINCREASE 61 +#define STRINGID_STATSWONTDECREASE 62 +#define STRINGID_TEAMSTOPPEDWORKING 63 +#define STRINGID_FOESTOPPEDWORKING 64 +#define STRINGID_PKMNISCONFUSED 65 +#define STRINGID_PKMNHEALEDCONFUSION 66 +#define STRINGID_PKMNWASCONFUSED 67 +#define STRINGID_PKMNALREADYCONFUSED 68 +#define STRINGID_PKMNFELLINLOVE 69 +#define STRINGID_PKMNINLOVE 70 +#define STRINGID_PKMNIMMOBILIZEDBYLOVE 71 +#define STRINGID_PKMNBLOWNAWAY 72 +#define STRINGID_PKMNCHANGEDTYPE 73 +#define STRINGID_PKMNFLINCHED 74 +#define STRINGID_PKMNREGAINEDHEALTH 75 +#define STRINGID_PKMNHPFULL 76 +#define STRINGID_PKMNRAISEDSPDEF 77 +#define STRINGID_PKMNRAISEDDEF 78 +#define STRINGID_PKMNCOVEREDBYVEIL 79 +#define STRINGID_PKMNUSEDSAFEGUARD 80 +#define STRINGID_PKMNSAFEGUARDEXPIRED 81 +#define STRINGID_PKMNWENTTOSLEEP 82 +#define STRINGID_PKMNSLEPTHEALTHY 83 +#define STRINGID_PKMNWHIPPEDWHIRLWIND 84 +#define STRINGID_PKMNTOOKSUNLIGHT 85 +#define STRINGID_PKMNLOWEREDHEAD 86 +#define STRINGID_PKMNISGLOWING 87 +#define STRINGID_PKMNFLEWHIGH 88 +#define STRINGID_PKMNDUGHOLE 89 +#define STRINGID_PKMNSQUEEZEDBYBIND 90 +#define STRINGID_PKMNTRAPPEDINVORTEX 91 +#define STRINGID_PKMNWRAPPEDBY 92 +#define STRINGID_PKMNCLAMPED 93 +#define STRINGID_PKMNHURTBY 94 +#define STRINGID_PKMNFREEDFROM 95 +#define STRINGID_PKMNCRASHED 96 +#define STRINGID_PKMNSHROUDEDINMIST 97 +#define STRINGID_PKMNPROTECTEDBYMIST 98 +#define STRINGID_PKMNGETTINGPUMPED 99 +#define STRINGID_PKMNHITWITHRECOIL 100 +#define STRINGID_PKMNPROTECTEDITSELF2 101 +#define STRINGID_PKMNBUFFETEDBYSANDSTORM 102 +#define STRINGID_PKMNPELTEDBYHAIL 103 +#define STRINGID_PKMNSEEDED 104 +#define STRINGID_PKMNEVADEDATTACK 105 +#define STRINGID_PKMNSAPPEDBYLEECHSEED 106 +#define STRINGID_PKMNFASTASLEEP 107 +#define STRINGID_PKMNWOKEUP 108 +#define STRINGID_PKMNUPROARKEPTAWAKE 109 +#define STRINGID_PKMNWOKEUPINUPROAR 110 +#define STRINGID_PKMNCAUSEDUPROAR 111 +#define STRINGID_PKMNMAKINGUPROAR 112 +#define STRINGID_PKMNCALMEDDOWN 113 +#define STRINGID_PKMNCANTSLEEPINUPROAR 114 +#define STRINGID_PKMNSTOCKPILED 115 +#define STRINGID_PKMNCANTSTOCKPILE 116 +#define STRINGID_PKMNCANTSLEEPINUPROAR2 117 +#define STRINGID_UPROARKEPTPKMNAWAKE 118 +#define STRINGID_PKMNSTAYEDAWAKEUSING 119 +#define STRINGID_PKMNSTORINGENERGY 120 +#define STRINGID_PKMNUNLEASHEDENERGY 121 +#define STRINGID_PKMNFATIGUECONFUSION 122 +#define STRINGID_PKMNPICKEDUPITEM 123 +#define STRINGID_PKMNUNAFFECTED 124 +#define STRINGID_PKMNTRANSFORMEDINTO 125 +#define STRINGID_PKMNMADESUBSTITUTE 126 +#define STRINGID_PKMNHASSUBSTITUTE 127 +#define STRINGID_SUBSTITUTEDAMAGED 128 +#define STRINGID_PKMNSUBSTITUTEFADED 129 +#define STRINGID_PKMNMUSTRECHARGE 130 +#define STRINGID_PKMNRAGEBUILDING 131 +#define STRINGID_PKMNMOVEWASDISABLED 132 +#define STRINGID_PKMNMOVEISDISABLED 133 +#define STRINGID_PKMNMOVEDISABLEDNOMORE 134 +#define STRINGID_PKMNGOTENCORE 135 +#define STRINGID_PKMNENCOREENDED 136 +#define STRINGID_PKMNTOOKAIM 137 +#define STRINGID_PKMNSKETCHEDMOVE 138 +#define STRINGID_PKMNTRYINGTOTAKEFOE 139 +#define STRINGID_PKMNTOOKFOE 140 +#define STRINGID_PKMNREDUCEDPP 141 +#define STRINGID_PKMNSTOLEITEM 142 +#define STRINGID_TARGETCANTESCAPENOW 143 +#define STRINGID_PKMNFELLINTONIGHTMARE 144 +#define STRINGID_PKMNLOCKEDINNIGHTMARE 145 +#define STRINGID_PKMNLAIDCURSE 146 +#define STRINGID_PKMNAFFLICTEDBYCURSE 147 +#define STRINGID_SPIKESSCATTERED 148 +#define STRINGID_PKMNHURTBYSPIKES 149 +#define STRINGID_PKMNIDENTIFIED 150 +#define STRINGID_PKMNPERISHCOUNTFELL 151 +#define STRINGID_PKMNBRACEDITSELF 152 +#define STRINGID_PKMNENDUREDHIT 153 +#define STRINGID_MAGNITUDESTRENGTH 154 +#define STRINGID_PKMNCUTHPMAXEDATTACK 155 +#define STRINGID_PKMNCOPIEDSTATCHANGES 156 +#define STRINGID_PKMNGOTFREE 157 +#define STRINGID_PKMNSHEDLEECHSEED 158 +#define STRINGID_PKMNBLEWAWAYSPIKES 159 +#define STRINGID_PKMNFLEDFROMBATTLE 160 +#define STRINGID_PKMNFORESAWATTACK 161 +#define STRINGID_PKMNTOOKATTACK 162 +#define STRINGID_PKMNATTACK 163 +#define STRINGID_PKMNCENTERATTENTION 164 +#define STRINGID_PKMNCHARGINGPOWER 165 +#define STRINGID_NATUREPOWERTURNEDINTO 166 +#define STRINGID_PKMNSTATUSNORMAL 167 +#define STRINGID_PKMNHASNOMOVESLEFT 168 +#define STRINGID_PKMNSUBJECTEDTOTORMENT 169 +#define STRINGID_PKMNCANTUSEMOVETORMENT 170 +#define STRINGID_PKMNTIGHTENINGFOCUS 171 +#define STRINGID_PKMNFELLFORTAUNT 172 +#define STRINGID_PKMNCANTUSEMOVETAUNT 173 +#define STRINGID_PKMNREADYTOHELP 174 +#define STRINGID_PKMNSWITCHEDITEMS 175 +#define STRINGID_PKMNCOPIEDFOE 176 +#define STRINGID_PKMNMADEWISH 177 +#define STRINGID_PKMNWISHCAMETRUE 178 +#define STRINGID_PKMNPLANTEDROOTS 179 +#define STRINGID_PKMNABSORBEDNUTRIENTS 180 +#define STRINGID_PKMNANCHOREDITSELF 181 +#define STRINGID_PKMNWASMADEDROWSY 182 +#define STRINGID_PKMNKNOCKEDOFF 183 +#define STRINGID_PKMNSWAPPEDABILITIES 184 +#define STRINGID_PKMNSEALEDOPPONENTMOVE 185 +#define STRINGID_PKMNCANTUSEMOVESEALED 186 +#define STRINGID_PKMNWANTSGRUDGE 187 +#define STRINGID_PKMNLOSTPPGRUDGE 188 +#define STRINGID_PKMNSHROUDEDITSELF 189 +#define STRINGID_PKMNMOVEBOUNCED 190 +#define STRINGID_PKMNWAITSFORTARGET 191 +#define STRINGID_PKMNSNATCHEDMOVE 192 +#define STRINGID_PKMNMADEITRAIN 193 +#define STRINGID_PKMNRAISEDSPEED 194 +#define STRINGID_PKMNPROTECTEDBY 195 +#define STRINGID_PKMNPREVENTSUSAGE 196 +#define STRINGID_PKMNRESTOREDHPUSING 197 +#define STRINGID_PKMNCHANGEDTYPEWITH 198 +#define STRINGID_PKMNPREVENTSPARALYSISWITH 199 +#define STRINGID_PKMNPREVENTSROMANCEWITH 200 +#define STRINGID_PKMNPREVENTSPOISONINGWITH 201 +#define STRINGID_PKMNPREVENTSCONFUSIONWITH 202 +#define STRINGID_PKMNRAISEDFIREPOWERWITH 203 +#define STRINGID_PKMNANCHORSITSELFWITH 204 +#define STRINGID_PKMNCUTSATTACKWITH 205 +#define STRINGID_PKMNPREVENTSSTATLOSSWITH 206 +#define STRINGID_PKMNHURTSWITH 207 +#define STRINGID_PKMNTRACED 208 +#define STRINGID_STATSHARPLY 209 +#define STRINGID_STATROSE 210 +#define STRINGID_STATHARSHLY 211 +#define STRINGID_STATFELL 212 +#define STRINGID_PKMNSSTATCHANGED 213 +#define STRINGID_PKMNSSTATCHANGED2 214 +#define STRINGID_PKMNSSTATCHANGED3 215 +#define STRINGID_PKMNSSTATCHANGED4 216 +#define STRINGID_CRITICALHIT 217 +#define STRINGID_ONEHITKO 218 +#define STRINGID_123POOF 219 +#define STRINGID_ANDELLIPSIS 220 +#define STRINGID_NOTVERYEFFECTIVE 221 +#define STRINGID_SUPEREFFECTIVE 222 +#define STRINGID_GOTAWAYSAFELY 223 +#define STRINGID_WILDPKMNFLED 224 +#define STRINGID_NORUNNINGFROMTRAINERS 225 +#define STRINGID_CANTESCAPE 226 +#define STRINGID_DONTLEAVEBIRCH 227 +#define STRINGID_BUTNOTHINGHAPPENED 228 +#define STRINGID_BUTITFAILED 229 +#define STRINGID_ITHURTCONFUSION 230 +#define STRINGID_MIRRORMOVEFAILED 231 +#define STRINGID_STARTEDTORAIN 232 +#define STRINGID_DOWNPOURSTARTED 233 +#define STRINGID_RAINCONTINUES 234 +#define STRINGID_DOWNPOURCONTINUES 235 +#define STRINGID_RAINSTOPPED 236 +#define STRINGID_SANDSTORMBREWED 237 +#define STRINGID_SANDSTORMRAGES 238 +#define STRINGID_SANDSTORMSUBSIDED 239 +#define STRINGID_SUNLIGHTGOTBRIGHT 240 +#define STRINGID_SUNLIGHTSTRONG 241 +#define STRINGID_SUNLIGHTFADED 242 +#define STRINGID_STARTEDHAIL 243 +#define STRINGID_HAILCONTINUES 244 +#define STRINGID_HAILSTOPPED 245 +#define STRINGID_FAILEDTOSPITUP 246 +#define STRINGID_FAILEDTOSWALLOW 247 +#define STRINGID_WINDBECAMEHEATWAVE 248 +#define STRINGID_STATCHANGESGONE 249 +#define STRINGID_COINSSCATTERED 250 +#define STRINGID_TOOWEAKFORSUBSTITUTE 251 +#define STRINGID_SHAREDPAIN 252 +#define STRINGID_BELLCHIMED 253 +#define STRINGID_FAINTINTHREE 254 +#define STRINGID_NOPPLEFT 255 +#define STRINGID_BUTNOPPLEFT 256 +#define STRINGID_PLAYERUSEDITEM 257 +#define STRINGID_WALLYUSEDITEM 258 +#define STRINGID_TRAINERBLOCKEDBALL 259 +#define STRINGID_DONTBEATHIEF 260 +#define STRINGID_ITDODGEDBALL 261 +#define STRINGID_YOUMISSEDPKMN 262 +#define STRINGID_PKMNBROKEFREE 263 +#define STRINGID_ITAPPEAREDCAUGHT 264 +#define STRINGID_AARGHALMOSTHADIT 265 +#define STRINGID_SHOOTSOCLOSE 266 +#define STRINGID_GOTCHAPKMNCAUGHT 267 +#define STRINGID_GOTCHAPKMNCAUGHT2 268 +#define STRINGID_GIVENICKNAMECAPTURED 269 +#define STRINGID_PKMNSENTTOPC 270 +#define STRINGID_PKMNDATAADDEDTODEX 271 +#define STRINGID_ITISRAINING 272 +#define STRINGID_SANDSTORMISRAGING 273 +#define STRINGID_CANTESCAPE2 274 +#define STRINGID_PKMNIGNORESASLEEP 275 +#define STRINGID_PKMNIGNOREDORDERS 276 +#define STRINGID_PKMNBEGANTONAP 277 +#define STRINGID_PKMNLOAFING 278 +#define STRINGID_PKMNWONTOBEY 279 +#define STRINGID_PKMNTURNEDAWAY 280 +#define STRINGID_PKMNPRETENDNOTNOTICE 281 +#define STRINGID_ENEMYABOUTTOSWITCHPKMN 282 +#define STRINGID_CREPTCLOSER 283 +#define STRINGID_CANTGETCLOSER 284 +#define STRINGID_PKMNWATCHINGCAREFULLY 285 +#define STRINGID_PKMNCURIOUSABOUTX 286 +#define STRINGID_PKMNENTHRALLEDBYX 287 +#define STRINGID_PKMNIGNOREDX 288 +#define STRINGID_THREWPOKEBLOCKATPKMN 289 +#define STRINGID_OUTOFSAFARIBALLS 290 +#define STRINGID_PKMNSITEMCUREDPARALYSIS 291 +#define STRINGID_PKMNSITEMCUREDPOISON 292 +#define STRINGID_PKMNSITEMHEALEDBURN 293 +#define STRINGID_PKMNSITEMDEFROSTEDIT 294 +#define STRINGID_PKMNSITEMWOKEIT 295 +#define STRINGID_PKMNSITEMSNAPPEDOUT 296 +#define STRINGID_PKMNSITEMCUREDPROBLEM 297 +#define STRINGID_PKMNSITEMRESTOREDHEALTH 298 +#define STRINGID_PKMNSITEMRESTOREDPP 299 +#define STRINGID_PKMNSITEMRESTOREDSTATUS 300 +#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301 +#define STRINGID_ITEMALLOWSONLYYMOVE 302 +#define STRINGID_PKMNHUNGONWITHX 303 +#define STRINGID_EMPTYSTRING3 304 +#define STRINGID_PKMNSXPREVENTSBURNS 305 +#define STRINGID_PKMNSXBLOCKSY 306 +#define STRINGID_PKMNSXRESTOREDHPALITTLE2 307 +#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM 308 +#define STRINGID_PKMNSXPREVENTSYLOSS 309 +#define STRINGID_PKMNSXINFATUATEDY 310 +#define STRINGID_PKMNSXMADEYINEFFECTIVE 311 +#define STRINGID_PKMNSXCUREDYPROBLEM 312 +#define STRINGID_ITSUCKEDLIQUIDOOZE 313 +#define STRINGID_PKMNTRANSFORMED 314 +#define STRINGID_ELECTRICITYWEAKENED 315 +#define STRINGID_FIREWEAKENED 316 +#define STRINGID_PKMNHIDUNDERWATER 317 +#define STRINGID_PKMNSPRANGUP 318 +#define STRINGID_HMMOVESCANTBEFORGOTTEN 319 +#define STRINGID_XFOUNDONEY 320 +#define STRINGID_PLAYERDEFEATEDTRAINER1 321 +#define STRINGID_SOOTHINGAROMA 322 +#define STRINGID_ITEMSCANTBEUSEDNOW 323 +#define STRINGID_FORXCOMMAYZ 324 +#define STRINGID_USINGXTHEYOFZN 325 +#define STRINGID_PKMNUSEDXTOGETPUMPED 326 +#define STRINGID_PKMNSXMADEYUSELESS 327 +#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328 +#define STRINGID_EMPTYSTRING4 329 +#define STRINGID_ABOOSTED 330 +#define STRINGID_PKMNSXINTENSIFIEDSUN 331 +#define STRINGID_PKMNMAKESGROUNDMISS 332 +#define STRINGID_YOUTHROWABALLNOWRIGHT 333 +#define STRINGID_PKMNSXTOOKATTACK 334 +#define STRINGID_PKMNCHOSEXASDESTINY 335 +#define STRINGID_PKMNLOSTFOCUS 336 +#define STRINGID_USENEXTPKMN 337 +#define STRINGID_PKMNFLEDUSINGITS 338 +#define STRINGID_PKMNFLEDUSING 339 +#define STRINGID_PKMNWASDRAGGEDOUT 340 +#define STRINGID_PREVENTEDFROMWORKING 341 +#define STRINGID_PKMNSITEMNORMALIZEDSTATUS 342 +#define STRINGID_TRAINER1USEDITEM 343 +#define STRINGID_BOXISFULL 344 +#define STRINGID_PKMNAVOIDEDATTACK 345 +#define STRINGID_PKMNSXMADEITINEFFECTIVE 346 +#define STRINGID_PKMNSXPREVENTSFLINCHING 347 +#define STRINGID_PKMNALREADYHASBURN 348 +#define STRINGID_STATSWONTDECREASE2 349 +#define STRINGID_PKMNSXBLOCKSY2 350 +#define STRINGID_PKMNSXWOREOFF 351 +#define STRINGID_PKMNRAISEDDEFALITTLE 352 +#define STRINGID_PKMNRAISEDSPDEFALITTLE 353 +#define STRINGID_THEWALLSHATTERED 354 +#define STRINGID_PKMNSXPREVENTSYSZ 355 +#define STRINGID_PKMNSXCUREDITSYPROBLEM 356 +#define STRINGID_ATTACKERCANTESCAPE 357 +#define STRINGID_PKMNOBTAINEDX 358 +#define STRINGID_PKMNOBTAINEDX2 359 +#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360 +#define STRINGID_BUTNOEFFECT 361 +#define STRINGID_PKMNSXHADNOEFFECTONY 362 #define STRINGID_OAKPLAYERWON 363 #define STRINGID_OAKPLAYERLOST 364 #define STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER 365 #define STRINGID_PLAYERPAIDPRIZEMONEY 366 -#define STRINGID_PKMNTRANSFERREDSOMEONESPC 367 -#define STRINGID_PKMNTRANSFERREDBILLSPC 368 -#define STRINGID_PKMNBOXSOMEONESPCFULL 369 -#define STRINGID_PKMNBOXBILLSPCFULL 370 +#define STRINGID_PKMNTRANSFERREDSOMEONESPC 367 +#define STRINGID_PKMNTRANSFERREDBILLSPC 368 +#define STRINGID_PKMNBOXSOMEONESPCFULL 369 +#define STRINGID_PKMNBOXBILLSPCFULL 370 #define STRINGID_POKEDUDEUSED 371 #define STRINGID_POKEFLUTECATCHY 372 #define STRINGID_POKEFLUTE 373 From 95d19b8e8821d8ac8ad998d4b7109b456335d6bd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 11:26:22 -0500 Subject: [PATCH 05/21] Sync battle script commands with emerald --- asm/macros/battle_script.inc | 1283 +++++++++++--------- data/battle_scripts_1.s | 2171 +++++++++++++++++----------------- include/constants/battle.h | 1 + 3 files changed, 1821 insertions(+), 1634 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index fea575042..5c3c141ca 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1,346 +1,333 @@ -@ 0 == -@ 1 != -@ 2 < -@ 3 > -@ 4 &= - - .macro calculatedamage - critical - atk5 - atk6 - atk7 - .endm - - +@ commands .macro attackcanceler - .byte 0x00 + .byte 0x0 .endm - .macro accuracycheck address, param1 - .byte 0x01 - .4byte \address + .macro accuracycheck param0:req, param1:req + .byte 0x1 + .4byte \param0 .2byte \param1 .endm .macro attackstring - .byte 0x02 + .byte 0x2 .endm .macro ppreduce - .byte 0x03 + .byte 0x3 .endm .macro critcalc - .byte 0x04 + .byte 0x4 .endm - .macro atk5 - .byte 0x05 + .macro damagecalc + .byte 0x5 .endm - .macro atk6 - .byte 0x06 + .macro typecalc + .byte 0x6 .endm - .macro atk7 - .byte 0x07 + .macro adjustnormaldamage + .byte 0x7 .endm - .macro atk8 - .byte 0x08 + .macro adjustnormaldamage2 + .byte 0x8 .endm .macro attackanimation - .byte 0x09 + .byte 0x9 .endm .macro waitanimation - .byte 0x0a + .byte 0xa .endm - .macro graphicalhpupdate bank - .byte 0x0b - .byte \bank + .macro healthbarupdate battler:req + .byte 0xb + .byte \battler .endm - .macro datahpupdate bank - .byte 0x0c - .byte \bank + .macro datahpupdate battler:req + .byte 0xc + .byte \battler .endm .macro critmessage - .byte 0x0d + .byte 0xd .endm - .macro missmessage - .byte 0x0e + .macro effectivenesssound + .byte 0xe .endm .macro resultmessage - .byte 0x0f + .byte 0xf .endm - .macro printstring string + .macro printstring id:req .byte 0x10 - .2byte \string + .2byte \id .endm - .macro printstring2 string + .macro printselectionstring id:req .byte 0x11 - .2byte \string + .2byte \id .endm - .macro waitmessage delay + .macro waitmessage param0:req .byte 0x12 - .2byte \delay + .2byte \param0 .endm - .macro printfromtable table + .macro printfromtable ptr:req .byte 0x13 - .4byte \table + .4byte \ptr .endm - .macro printfromtable2 table + .macro printselectionstringfromtable ptr:req .byte 0x14 - .4byte \table + .4byte \ptr .endm - .macro seteffectwithchancetarget + .macro seteffectwithchance .byte 0x15 .endm - .macro seteffecttarget + .macro seteffectprimary .byte 0x16 .endm - .macro seteffectuser + .macro seteffectsecondary .byte 0x17 .endm - .macro clearstatus bank + .macro clearstatusfromeffect battler:req .byte 0x18 - .byte \bank + .byte \battler .endm - .macro faintpokemon bank, param2, param3 + .macro tryfaintmon battler:req, fromMove:req, ptr:req .byte 0x19 - .byte \bank + .byte \battler + .byte \fromMove + .4byte \ptr + .endm + + .macro dofaintanimation battler:req + .byte 0x1a + .byte \battler + .endm + + .macro cleareffectsonfaint battler:req + .byte 0x1b + .byte \battler + .endm + + .macro jumpifstatus battler:req, status1:req, ptr:req + .byte 0x1c + .byte \battler + .4byte \status1 + .4byte \ptr + .endm + + .macro jumpifstatus2 battler:req, status2:req, ptr:req + .byte 0x1d + .byte \battler + .4byte \status2 + .4byte \ptr + .endm + + .macro jumpifability param0:req, ability:req, ptr:req + .byte 0x1e + .byte \param0 + .byte \ability + .4byte \ptr + .endm + + .macro jumpifsideaffecting battler:req, sidestatus:req, ptr:req + .byte 0x1f + .byte \battler + .2byte \sidestatus + .4byte \ptr + .endm + + .macro jumpifstat battler:req, ifflag:req, stat:req, value:req, ptr + .byte 0x20 + .byte \battler + .byte \ifflag + .byte \stat + .byte \value + .4byte \ptr + .endm + + .macro jumpifstatus3condition battler:req, status3:req, param2:req, ptr:req + .byte 0x21 + .byte \battler + .4byte \status3 + .byte \param2 + .4byte \ptr + .endm + + .macro jumpiftype battler:req, type:req, ptr:req + .byte 0x22 + .byte \battler + .byte \type + .4byte \ptr + .endm + + .macro getexp battler:req + .byte 0x23 + .byte \battler + .endm + + .macro atk24 ptr:req + .byte 0x24 + .4byte \ptr + .endm + + .macro movevaluescleanup + .byte 0x25 + .endm + + .macro setmultihit value:req + .byte 0x26 + .byte \value + .endm + + .macro decrementmultihit value:req + .byte 0x27 + .4byte \value + .endm + + .macro goto ptr:req + .byte 0x28 + .4byte \ptr + .endm + + .macro jumpifbyte ifflag:req, param1:req, param2:req, param3:req + .byte 0x29 + .byte \ifflag + .4byte \param1 .byte \param2 .4byte \param3 .endm - .macro atk1a param1 - .byte 0x1a - .byte \param1 - .endm - - .macro atk1b bank - .byte 0x1b - .byte \bank - .endm - - .macro jumpifstatus bank, status, address - .byte 0x1c - .byte \bank - .4byte \status - .4byte \address - .endm - - .macro jumpifsecondarytstatus bank, status, address - .byte 0x1d - .byte \bank - .4byte \status - .4byte \address - .endm - - .macro jumpifability bank, ability, address - .byte 0x1e - .byte \bank - .byte \ability - .4byte \address - .endm - - .macro jumpifhalverset bank, status, address - .byte 0x1f - .byte \bank - .2byte \status - .4byte \address - .endm - - .macro jumpifstat bank, flag, quantity, statid, address - .byte 0x20 - .byte \bank - .byte \flag - .byte \quantity - .byte \statid - .4byte \address - .endm - - .macro jumpifspecialstatusflag bank, mask, status, address - .byte 0x21 - .byte \bank - .4byte \mask - .byte \status - .4byte \address - .endm - - .macro jumpiftype bank, type, address - .byte 0x22 - .byte \bank - .byte \type - .4byte \address - .endm - - .macro atk23 bank - .byte 0x23 - .byte \bank - .endm - - .macro atk24 address - .byte 0x24 - .4byte \address - .endm - - .macro atk25 - .byte 0x25 - .endm - - .macro atk26 param1 - .byte 0x26 - .byte \param1 - .endm - - .macro atk27 address - .byte 0x27 - .4byte \address - .endm - - .macro jump address - .byte 0x28 - .4byte \address - .endm - - .macro jumpifbyte ifflag, checkaddr, compare, address - .byte 0x29 - .byte \ifflag - .4byte \checkaddr - .byte \compare - .4byte \address - .endm - - .macro jumpifhalfword ifflag, checkaddr, compare, address + .macro jumpifhalfword ifflag:req, param1:req, param2:req, param3:req .byte 0x2a .byte \ifflag - .4byte \checkaddr - .2byte \compare - .4byte \address + .4byte \param1 + .2byte \param2 + .4byte \param3 .endm - .macro jumpifword ifflag, checkaddr, compare, address + .macro jumpifword ifflag:req, param1:req, param2:req, param3:req .byte 0x2b .byte \ifflag - .4byte \checkaddr - .4byte \compare - .4byte \address - .endm - - .macro jumpifarrayequal mem1, mem2, size, address - .byte 0x2c - .4byte \mem1 - .4byte \mem2 - .byte \size - .4byte \address - .endm - - .macro jumpifarraynotequal mem1, mem2, size, address - .byte 0x2d - .4byte \mem1 - .4byte \mem2 - .byte \size - .4byte \address - .endm - - .macro setbyte pointer, value - .byte 0x2e - .4byte \pointer - .byte \value - .endm - - .macro addbyte pointer, value - .byte 0x2f - .4byte \pointer - .byte \value - .endm - - .macro subtractbyte pointer, value - .byte 0x30 - .4byte \pointer - .byte \value - .endm - - .macro copyarray destination, source, size - .byte 0x31 - .4byte \destination - .4byte \source - .byte \size - .endm - - .macro atk32 param1, param2, param3, byte - .byte 0x32 .4byte \param1 .4byte \param2 .4byte \param3 - .byte \byte .endm - .macro orbyte pointer, value + .macro jumpifarrayequal param0:req, param1:req, param2:req, param3:req + .byte 0x2c + .4byte \param0 + .4byte \param1 + .byte \param2 + .4byte \param3 + .endm + + .macro jumpifarraynotequal param0:req, param1:req, param2:req, param3:req + .byte 0x2d + .4byte \param0 + .4byte \param1 + .byte \param2 + .4byte \param3 + .endm + + .macro setbyte ptr:req, param1:req + .byte 0x2e + .4byte \ptr + .byte \param1 + .endm + + .macro addbyte ptr:req, param1:req + .byte 0x2f + .4byte \ptr + .byte \param1 + .endm + + .macro subbyte ptr:req, param1:req + .byte 0x30 + .4byte \ptr + .byte \param1 + .endm + + .macro copyarray param0:req, param1:req, param2:req + .byte 0x31 + .4byte \param0 + .4byte \param1 + .byte \param2 + .endm + + .macro copyarraywithindex param0:req, param1:req, param2:req, param3:req + .byte 0x32 + .4byte \param0 + .4byte \param1 + .4byte \param2 + .byte \param3 + .endm + + .macro orbyte ptr:req, param1:req .byte 0x33 - .4byte \pointer - .byte \value + .4byte \ptr + .byte \param1 .endm - .macro orhalfword pointer, value + .macro orhalfword ptr:req, param1:req .byte 0x34 - .4byte \pointer - .2byte \value + .4byte \ptr + .2byte \param1 .endm - .macro orword pointer, value + .macro orword ptr:req, param1:req .byte 0x35 - .4byte \pointer - .4byte \value + .4byte \ptr + .4byte \param1 .endm - .macro bicbyte pointer, value + .macro bicbyte ptr:req, param1:req .byte 0x36 - .4byte \pointer - .byte \value + .4byte \ptr + .byte \param1 .endm - .macro bichalfword pointer, value + .macro bichalfword ptr:req, param1:req .byte 0x37 - .4byte \pointer - .2byte \value + .4byte \ptr + .2byte \param1 .endm - .macro bicword pointer, value + .macro bicword ptr:req, param1:req .byte 0x38 - .4byte \pointer - .4byte \value + .4byte \ptr + .4byte \param1 .endm - .macro pause pause_duration + .macro pause param0:req .byte 0x39 - .2byte \pause_duration + .2byte \param0 .endm - .macro waitstateatk + .macro waitstate .byte 0x3a .endm - .macro somethinghealatk3b bank + .macro healthbar_update battler:req .byte 0x3b - .byte \bank + .byte \battler .endm .macro return @@ -359,287 +346,319 @@ .byte 0x3f .endm - .macro atk40 address + .macro jumpifaffectedbyprotect ptr:req .byte 0x40 - .4byte \address + .4byte \ptr .endm - .macro callatk address + .macro call ptr:req .byte 0x41 - .4byte \address + .4byte \ptr .endm - .macro jumpiftype2 bank, type, address + .macro jumpiftype2 battler:req, type:req, ptr:req .byte 0x42 - .byte \bank + .byte \battler .byte \type - .4byte \address + .4byte \ptr .endm - .macro jumpifabilitypresent ability, address + .macro jumpifabilitypresent ability:req, ptr:req .byte 0x43 .byte \ability - .4byte \address + .4byte \ptr .endm - .macro atk44 + .macro endselectionscript .byte 0x44 .endm - .macro playanimation bank, animation, var_address + .macro playanimation battler:req, param1:req, param2:req .byte 0x45 - .byte \bank - .byte \animation - .4byte \var_address + .byte \battler + .byte \param1 + .4byte \param2 .endm - .macro atk46 bank, address, int + .macro playanimation2 battler:req, param1:req, param2:req .byte 0x46 - .byte \bank - .4byte \address - .4byte \int + .byte \battler + .4byte \param1 + .4byte \param2 .endm - .macro atk47 + .macro setgraphicalstatchangevalues .byte 0x47 .endm - .macro playstatchangeanimation bank, color, byte + .macro playstatchangeanimation battler:req, param1:req, param2:req .byte 0x48 - .byte \bank - .byte \color - .byte \byte - .endm - - .macro atk49 byte1, byte2 - .byte 0x49 - .byte \byte1 - .byte \byte2 - .endm - - .macro damagecalc2 - .byte 0x4a - .endm - - .macro atk4b - .byte 0x4b - .endm - - .macro switch1 bank - .byte 0x4c - .byte \bank - .endm - - .macro switch2 bank - .byte 0x4d - .byte \bank - .endm - - .macro switch3 bank, byte - .byte 0x4e - .byte \bank - .byte \byte - .endm - - .macro jumpifcannotswitch bank, address - .byte 0x4f - .byte \bank - .4byte \address - .endm - - .macro openpartyscreen bank, address - .byte 0x50 - .byte \bank - .4byte \address - .endm - - .macro atk51 bank, param2 - .byte 0x51 - .byte \bank + .byte \battler + .byte \param1 .byte \param2 .endm - .macro atk52 bank + .macro moveend param0:req, param1:req + .byte 0x49 + .byte \param0 + .byte \param1 + .endm + + @ Help macros for 5 uses of moveend command + + @ All cases + .macro moveendall + setbyte sMOVEEND_STATE, 0 + moveend 0, 0 + .endm + + @ Chosen case + .macro moveendcase case:req + setbyte sMOVEEND_STATE, \case + moveend 1, 0 + .endm + + @ All cases from (inclusive) + .macro moveendfrom from:req + setbyte sMOVEEND_STATE, \from + moveend 0, 0 + .endm + + @ All cases from 0 to (not inclusive) + .macro moveendto to:req + setbyte sMOVEEND_STATE, 0 + moveend 2, \to + .endm + + @ Cases from (inclusive) to (not inclusive) + .macro moveendfromto from:req, to:req + setbyte sMOVEEND_STATE, \from + moveend 2, \to + .endm + + .macro typecalc2 + .byte 0x4a + .endm + + .macro returnatktoball + .byte 0x4b + .endm + + .macro getswitchedmondata battler:req + .byte 0x4c + .byte \battler + .endm + + .macro switchindataupdate battler:req + .byte 0x4d + .byte \battler + .endm + + .macro switchinanim battler:req, dontclearsubstitutebit:req + .byte 0x4e + .byte \battler + .byte \dontclearsubstitutebit + .endm + + .macro jumpifcantswitch battler:req, ptr:req + .byte 0x4f + .byte \battler + .4byte \ptr + .endm + + .macro openpartyscreen param0:req, param1:req + .byte 0x50 + .byte \param0 + .4byte \param1 + .endm + + .macro switchhandleorder battler:req, param1:req + .byte 0x51 + .byte \battler + .byte \param1 + .endm + + .macro switchineffects battler:req .byte 0x52 - .byte \bank + .byte \battler .endm - .macro atk53 bank + .macro trainerslidein battler:req .byte 0x53 - .byte \bank + .byte \battler .endm - .macro atk54 word + .macro playse song:req .byte 0x54 - .2byte \word + .2byte \song .endm - .macro atk55 int + .macro fanfare song:req .byte 0x55 - .2byte \int + .2byte \song .endm - .macro atk56 bank_or_side + .macro playfaintcry battler:req .byte 0x56 - .byte \bank_or_side + .byte \battler .endm .macro atk57 .byte 0x57 .endm - .macro atk58 bank + .macro returntoball battler:req .byte 0x58 - .byte \bank + .byte \battler .endm - .macro checkiflearnmoveinbattle param1, param2, bank_maybe + .macro handlelearnnewmove param0:req, param1:req, param2:req .byte 0x59 + .4byte \param0 .4byte \param1 - .4byte \param2 - .byte \bank_maybe + .byte \param2 .endm - .macro atk5a address + .macro yesnoboxlearnmove param0:req .byte 0x5a - .4byte \address + .4byte \param0 .endm - .macro atk5b address + .macro yesnoboxstoplearningmove param0:req .byte 0x5b - .4byte \address + .4byte \param0 .endm - .macro atk5c bank + .macro hitanimation battler:req .byte 0x5c - .byte \bank + .byte \battler .endm - .macro atk5d addr + .macro getmoneyreward addr .byte 0x5d .4byte \addr .endm - .macro atk5e bank + .macro atk5E battler:req .byte 0x5e - .byte \bank + .byte \battler .endm - .macro atk5f + .macro swapattackerwithtarget .byte 0x5f .endm - .macro atk60 byte + .macro incrementgamestat param0:req .byte 0x60 - .byte \byte + .byte \param0 .endm - .macro atk61 bank_or_side + .macro drawpartystatussummary battler:req .byte 0x61 - .byte \bank_or_side + .byte \battler .endm - .macro atk62_hidepartystatussummary bank_or_side + .macro hidepartystatussummary battler:req .byte 0x62 - .byte \bank_or_side + .byte \battler .endm - .macro jumptoattack bank + .macro jumptocalledmove param0:req .byte 0x63 - .byte \bank + .byte \param0 .endm - .macro statusanimation bank + .macro statusanimation battler:req .byte 0x64 - .byte \bank + .byte \battler .endm - .macro atk65 bank_or_side, address + .macro status2animation battler:req, status2:req .byte 0x65 - .byte \bank_or_side - .4byte \address + .byte \battler + .4byte \status2 .endm - .macro atk66 bank_or_side, bank_or_side2, address + .macro chosenstatusanimation battler:req, param1:req, param2:req .byte 0x66 - .byte \bank_or_side - .byte \bank_or_side2 - .4byte \address + .byte \battler + .byte \param1 + .4byte \param2 .endm - .macro atk67 + .macro yesnobox .byte 0x67 .endm - .macro atk68 + .macro cancelallactions .byte 0x68 .endm - .macro atk69 + .macro adjustsetdamage .byte 0x69 .endm - .macro removeitem bank + .macro removeitem battler:req .byte 0x6a - .byte \bank + .byte \battler .endm - .macro atk6b + .macro atknameinbuff1 .byte 0x6b .endm - .macro atk6c + .macro drawlvlupbox .byte 0x6c .endm - .macro atk6d + .macro resetsentmonsvalue .byte 0x6d .endm - .macro atk6e + .macro setatktoplayer0 .byte 0x6e .endm - .macro atk6f bank + .macro makevisible battler:req .byte 0x6f - .byte \bank + .byte \battler .endm - .macro atk70 bank + .macro recordlastability battler:req .byte 0x70 - .byte \bank + .byte \battler .endm - .macro atk71 + .macro buffermovetolearn .byte 0x71 .endm - .macro atk72 address + .macro jumpifplayerran ptr:req .byte 0x72 - .4byte \address + .4byte \ptr .endm - .macro atk73 bank + .macro hpthresholds battler:req .byte 0x73 - .byte \bank + .byte \battler .endm - .macro atk74 bank + .macro hpthresholds2 battler:req .byte 0x74 - .byte \bank + .byte \battler .endm - .macro atk75 + .macro useitemonopponent .byte 0x75 .endm - .macro atk76 bank, byte + .macro various battler:req, param1:req .byte 0x76 - .byte \bank - .byte \byte + .byte \battler + .byte \param1 .endm - .macro setprotect + .macro setprotectlike .byte 0x77 .endm @@ -647,22 +666,22 @@ .byte 0x78 .endm - .macro setuserhptozero + .macro setatkhptozero .byte 0x79 .endm - .macro jumpwhiletargetvalid address + .macro jumpifnexttargetvalid ptr:req .byte 0x7a - .4byte \address + .4byte \ptr .endm - .macro setdamageasrestorehalfmaxhp address, byte + .macro tryhealhalfhealth param0:req, battler:req .byte 0x7b - .4byte \address - .byte \byte + .4byte \param0 + .byte \battler .endm - .macro jumptolastusedattack + .macro trymirrormove .byte 0x7c .endm @@ -674,56 +693,56 @@ .byte 0x7e .endm - .macro setleechseed + .macro setseeded .byte 0x7f .endm - .macro manipulatedamage id + .macro manipulatedamage param0:req .byte 0x80 - .byte \id + .byte \param0 .endm - .macro setrest address + .macro trysetrest param0:req .byte 0x81 - .4byte \address + .4byte \param0 .endm - .macro jumpifnotfirstturn address + .macro jumpifnotfirstturn ptr:req .byte 0x82 - .4byte \address + .4byte \ptr .endm - .macro nop3 + .macro nop .byte 0x83 .endm - .macro jumpifcannotsleep address + .macro jumpifcantmakeasleep param0:req .byte 0x84 - .4byte \address + .4byte \param0 .endm .macro stockpile .byte 0x85 .endm - .macro stockpiletobasedamage address + .macro stockpiletobasedamage param0:req .byte 0x86 - .4byte \address + .4byte \param0 .endm - .macro stockpiletohprecovery address + .macro stockpiletohpheal param0:req .byte 0x87 - .4byte \address + .4byte \param0 .endm .macro negativedamage .byte 0x88 .endm - .macro statbuffchange target, address + .macro statbuffchange param0:req, param1:req .byte 0x89 - .byte \target - .4byte \address + .byte \param0 + .4byte \param1 .endm .macro normalisebuffs @@ -738,26 +757,26 @@ .byte 0x8c .endm - .macro setloopcounter count + .macro setmultihitcounter param0:req .byte 0x8d - .byte \count + .byte \param0 .endm - .macro atk8e + .macro initmultihitstring .byte 0x8e .endm - .macro forcerandomswitch address + .macro forcerandomswitch param0:req .byte 0x8f - .4byte \address + .4byte \param0 .endm - .macro changetypestoenemyattacktype address + .macro tryconversiontypechange param0:req .byte 0x90 - .4byte \address + .4byte \param0 .endm - .macro givemoney + .macro givepaydaymoney .byte 0x91 .endm @@ -765,12 +784,12 @@ .byte 0x92 .endm - .macro koplussomethings address + .macro tryKO param0:req .byte 0x93 - .4byte \address + .4byte \param0 .endm - .macro gethalfcurrentenemyhp + .macro damagetohalftargethp .byte 0x94 .endm @@ -782,21 +801,21 @@ .byte 0x96 .endm - .macro tryinfatuatetarget address + .macro tryinfatuating param0:req .byte 0x97 - .4byte \address + .4byte \param0 .endm - .macro atk98 byte + .macro updatestatusicon battler:req .byte 0x98 - .byte \byte + .byte \battler .endm - .macro setmisteffect + .macro setmist .byte 0x99 .endm - .macro setincreasedcriticalchance + .macro setfocusenergy .byte 0x9a .endm @@ -804,20 +823,20 @@ .byte 0x9b .endm - .macro setsubstituteeffect + .macro setsubstitute .byte 0x9c .endm - .macro copyattack address + .macro mimicattackcopy param0:req .byte 0x9d - .4byte \address + .4byte \param0 .endm - .macro metronomeeffect + .macro metronome .byte 0x9e .endm - .macro nightshadedamageeffect + .macro dmgtolevel .byte 0x9f .endm @@ -825,55 +844,55 @@ .byte 0xa0 .endm - .macro counterdamagecalculator address + .macro counterdamagecalculator param0:req .byte 0xa1 - .4byte \address + .4byte \param0 .endm - .macro mirrorcoatdamagecalculator address + .macro mirrorcoatdamagecalculator param0:req .byte 0xa2 - .4byte \address + .4byte \param0 .endm - .macro disablelastusedattack address + .macro disablelastusedattack param0:req .byte 0xa3 - .4byte \address + .4byte \param0 .endm - .macro setencore address + .macro trysetencore param0:req .byte 0xa4 - .4byte \address + .4byte \param0 .endm - .macro painsplitdamagecalculator address + .macro painsplitdmgcalc param0:req .byte 0xa5 - .4byte \address + .4byte \param0 .endm - .macro settypetorandomresistance address + .macro settypetorandomresistance param0:req .byte 0xa6 - .4byte \address + .4byte \param0 .endm .macro setalwayshitflag .byte 0xa7 .endm - .macro copymovepermanently address + .macro copymovepermanently param0:req .byte 0xa8 - .4byte \address + .4byte \param0 .endm - .macro selectrandommovefromusermoves address + .macro trychoosesleeptalkmove param0:req .byte 0xa9 - .4byte \address + .4byte \param0 .endm - .macro destinybondeffect + .macro setdestinybond .byte 0xaa .endm - .macro atkab + .macro trysetdestinybondtohappen .byte 0xab .endm @@ -881,45 +900,45 @@ .byte 0xac .endm - .macro reducepprandom address + .macro tryspiteppreduce param0:req .byte 0xad - .4byte \address + .4byte \param0 .endm - .macro clearstatusifnotsoundproofed + .macro healpartystatus .byte 0xae .endm - .macro cursetarget address + .macro cursetarget param0:req .byte 0xaf - .4byte \address + .4byte \param0 .endm - .macro setspikes address + .macro trysetspikes param0:req .byte 0xb0 - .4byte \address + .4byte \param0 .endm .macro setforesight .byte 0xb1 .endm - .macro setperishsong address + .macro trysetperishsong param0:req .byte 0xb2 - .4byte \address + .4byte \param0 .endm .macro rolloutdamagecalculation .byte 0xb3 .endm - .macro jumpifconfusedandattackmaxed bank, address + .macro jumpifconfusedandstatmaxed stat:req, ptr:req .byte 0xb4 - .byte \bank - .4byte \address + .byte \stat + .4byte \ptr .endm - .macro furycutterdamagecalculation + .macro furycuttercalc .byte 0xb5 .endm @@ -939,62 +958,62 @@ .byte 0xb9 .endm - .macro atkba address + .macro jumpifnopursuitswitchdmg param0:req .byte 0xba - .4byte \address + .4byte \param0 .endm .macro setsunny .byte 0xbb .endm - .macro maxattackhalvehp address + .macro maxattackhalvehp param0:req .byte 0xbc - .4byte \address + .4byte \param0 .endm - .macro copyfoestats address + .macro copyfoestats param0:req .byte 0xbd - .4byte \address + .4byte \param0 .endm - .macro breakfree + .macro rapidspinfree .byte 0xbe .endm - .macro setcurled + .macro setdefensecurlbit .byte 0xbf .endm - .macro recoverbasedonsunlight address + .macro recoverbasedonsunlight param0:req .byte 0xc0 - .4byte \address + .4byte \param0 .endm - .macro hiddenpowerdamagecalculation + .macro hiddenpowercalc .byte 0xc1 .endm - .macro selectnexttarget + .macro selectfirstvalidtarget .byte 0xc2 .endm - .macro setfutureattack address + .macro trysetfutureattack param0:req .byte 0xc3 - .4byte \address + .4byte \param0 .endm - .macro beatupcalculation address1, address2 + .macro trydobeatup param0:req, param1:req .byte 0xc4 - .4byte \address1 - .4byte \address2 + .4byte \param0 + .4byte \param1 .endm - .macro hidepreattack + .macro setsemiinvulnerablebit .byte 0xc5 .endm - .macro unhidepostattack + .macro clearsemiinvulnerablebit .byte 0xc6 .endm @@ -1006,9 +1025,9 @@ .byte 0xc8 .endm - .macro jumpifattackandspecialattackcannotfall address + .macro jumpifattackandspecialattackcannotfall ptr:req .byte 0xc9 - .4byte \address + .4byte \ptr .endm .macro setforcedtarget @@ -1023,207 +1042,393 @@ .byte 0xcc .endm - .macro cureifburnedparalysedorpoisoned address + .macro cureifburnedparalysedorpoisoned param0:req .byte 0xcd - .4byte \address + .4byte \param0 .endm - .macro settorment address + .macro settorment param0:req .byte 0xce - .4byte \address + .4byte \param0 .endm - .macro jumpifnodamage address + .macro jumpifnodamage param0:req .byte 0xcf - .4byte \address + .4byte \param0 .endm - .macro settaunt address + .macro settaunt param0:req .byte 0xd0 - .4byte \address + .4byte \param0 .endm - .macro sethelpinghand address + .macro trysethelpinghand param0:req .byte 0xd1 - .4byte \address + .4byte \param0 .endm - .macro itemswap address + .macro tryswapitems param0:req .byte 0xd2 - .4byte \address + .4byte \param0 .endm - .macro copyability address + .macro trycopyability param0:req .byte 0xd3 - .4byte \address + .4byte \param0 .endm - .macro atkd4 byte, address + .macro trywish param0:req, param1:req .byte 0xd4 - .byte \byte - .4byte \address + .byte \param0 + .4byte \param1 .endm - .macro setroots address + .macro trysetroots param0:req .byte 0xd5 - .4byte \address + .4byte \param0 .endm .macro doubledamagedealtifdamaged .byte 0xd6 .endm - .macro setyawn address + .macro setyawn param0:req .byte 0xd7 - .4byte \address + .4byte \param0 .endm - .macro setdamagetohealthdifference address + .macro setdamagetohealthdifference param0:req .byte 0xd8 - .4byte \address + .4byte \param0 .endm .macro scaledamagebyhealthratio .byte 0xd9 .endm - .macro abilityswap address + .macro tryswapabilities param0:req .byte 0xda - .4byte \address + .4byte \param0 .endm - .macro imprisoneffect address + .macro tryimprison param0:req .byte 0xdb - .4byte \address + .4byte \param0 .endm - .macro setgrudge address + .macro trysetgrudge param0:req .byte 0xdc - .4byte \address + .4byte \param0 .endm .macro weightdamagecalculation .byte 0xdd .endm - .macro assistattackselect address + .macro assistattackselect param0:req .byte 0xde - .4byte \address + .4byte \param0 .endm - .macro setmagiccoat address + .macro trysetmagiccoat param0:req .byte 0xdf - .4byte \address + .4byte \param0 .endm - .macro setstealstatchange address + .macro trysetsnatch param0:req .byte 0xe0 - .4byte \address + .4byte \param0 .endm - .macro atke1 address + .macro trygetintimidatetarget param0:req .byte 0xe1 - .4byte \address + .4byte \param0 .endm - .macro atke2 bank + .macro switchoutabilities battler:req .byte 0xe2 - .byte \bank + .byte \battler .endm - .macro jumpiffainted bank, address + .macro jumpifhasnohp battler:req, param1:req .byte 0xe3 - .byte \bank - .4byte \address + .byte \battler + .4byte \param1 .endm - .macro naturepowereffect + .macro getsecretpowereffect .byte 0xe4 .endm - .macro pickupitemcalculation + .macro pickup .byte 0xe5 .endm - .macro actualcastformswitch + .macro docastformchangeanimation .byte 0xe6 .endm - .macro castformswitch + .macro trycastformdatachange .byte 0xe7 .endm - .macro settypebasedhalvers address + .macro settypebasedhalvers param0:req .byte 0xe8 - .4byte \address + .4byte \param0 .endm - .macro seteffectbyweather + .macro setweatherballtype .byte 0xe9 .endm - .macro recycleitem address + .macro tryrecycleitem param0:req .byte 0xea - .4byte \address + .4byte \param0 .endm - .macro settypetoterrain address + .macro settypetoterrain param0:req .byte 0xeb - .4byte \address + .4byte \param0 .endm - .macro pursuitwhenswitched address + .macro pursuitrelated param0:req .byte 0xec - .4byte \address + .4byte \param0 .endm - .macro snatchmove + .macro snatchsetbattlers .byte 0xed .endm - .macro removereflectlightscreen + .macro removelightscreenreflect .byte 0xee .endm - .macro pokemoncatchfunction + .macro handleballthrow .byte 0xef .endm - .macro catchpoke + .macro givecaughtmon .byte 0xf0 .endm - .macro capturesomethingf1 address + .macro trysetcaughtmondexflags param0:req .byte 0xf1 - .4byte \address + .4byte \param0 .endm - .macro capturesomethingf2 + .macro displaydexinfo .byte 0xf2 .endm - .macro capturesomethingf3 address + .macro trygivecaughtmonnick param0:req .byte 0xf3 - .4byte \address + .4byte \param0 .endm - .macro removehp + .macro subattackerhpbydmg .byte 0xf4 .endm - .macro curestatusfirstword + .macro removeattackerstatus1 .byte 0xf5 .endm - .macro atkf6 + .macro finishaction .byte 0xf6 .endm - .macro activesidesomething + .macro finishturn .byte 0xf7 .endm - .macro atkf8 bank + .macro trainerslideout param0:req .byte 0xf8 - .byte \bank + .byte \param0 + .endm + +@ various command changed to more readable macros + .macro cancelmultiturnmoves battler:req + various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES + .endm + + .macro setmagiccoattarget battler:req + various \battler, VARIOUS_SET_MAGIC_COAT_TARGET + .endm + + .macro getifcantrunfrombattle battler:req + various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE + .endm + + .macro getmovetarget battler:req + various \battler, VARIOUS_GET_MOVE_TARGET + .endm + + .macro various4 battler:req + various \battler, 4 + .endm + + .macro resetintrimidatetracebits battler:req + various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS + .endm + + .macro updatechoicemoveonlvlup battler:req + various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP + .endm + + .macro various7 battler:req + various \battler, 7 + .endm + + .macro various8 battler:req + various \battler, 8 + .endm + + .macro arenajudgmentwindow + various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW + .endm + + .macro arenaopponentmonlost + various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST + .endm + + .macro arenaplayermonlost + various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST + .endm + + .macro arenabothmonlost + various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST + .endm + + .macro forfeityesnobox battler:req + various \battler, VARIOUS_EMIT_YESNOBOX + .endm + + .macro various14 battler:req + various \battler, 14 + .endm + + .macro various15 battler:req + various \battler, 15 + .endm + + .macro arenajudmengtstring id:req + various \id, VARIOUS_ARENA_JUDGMENT_STRING + .endm + + .macro arenawaitmessage id:req + various \id, VARIOUS_ARENA_WAIT_STRING + .endm + + .macro waitcry battler:req + various \battler, VARIOUS_WAIT_CRY + .endm + + .macro returnopponentmon1toball battler:req + various \battler, VARIOUS_RETURN_OPPONENT_MON1 + .endm + + .macro returnopponentmon2toball battler:req + various \battler, VARIOUS_RETURN_OPPONENT_MON2 + .endm + + .macro volumedown + various BS_ATTACKER, VARIOUS_VOLUME_DOWN + .endm + + .macro volumeup + various BS_ATTACKER, VARIOUS_VOLUME_UP + .endm + + .macro setalreadystatusedmoveattempt battler:req + various \battler, 23 + .endm + + .macro various24 battler:req + various \battler, 24 + .endm + + .macro setoutcomeonteleport battler:req + various \battler, VARIOUS_SET_TELEPORT_OUTCOME + .endm + + .macro playtrainerdefeatbgm battler:req + various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC + .endm + +@ helpful macros + .macro setstatchanger stat:req, stages:req, down:req + setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7 + .endm + + .macro setmoveeffect effect:req + setbyte cEFFECT_CHOOSER \effect + .endm + + .macro chosenstatus1animation battler:req, status:req + chosenstatusanimation \battler 0x0 \status + .endm + + .macro chosenstatus2animation battler:req, status:req + chosenstatusanimation \battler 0x1 \status + .endm + + .macro sethword dst:req, value:req + setbyte \dst, (\value) & 0xFF + setbyte \dst + 1, ((\value) >> 8) & 0xFF + .endm + + .macro setword dst:req, value:req + setbyte \dst, (\value) & 0xFF + setbyte \dst + 1, ((\value) >> 8) & 0xFF + setbyte \dst + 2, ((\value) >> 16) & 0xFF + setbyte \dst + 3, ((\value) >> 24) & 0xFF + .endm + + .macro copybyte dst:req, src:req + copyarray \dst, \src, 0x1 + .endm + + .macro copyhword dst:req, src:req + copyarray \dst, \src, 0x2 + .endm + + .macro copyword dst:req, src:req + copyarray \dst, \src, 0x4 + .endm + + .macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req + jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr + .endm + + .macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req + jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr + .endm + + .macro jumpifmove move:req, jumpptr:req + jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr + .endm + + .macro jumpifnotmove move:req, jumpptr:req + jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr + .endm + + .macro jumpifstatus3 battler:req, status:req, jumpptr:req + jumpifstatus3condition \battler, \status, 0x0, \jumpptr + .endm + + .macro jumpifnostatus3 battler:req, status:req, jumpptr:req + jumpifstatus3condition \battler, \status, 0x1, \jumpptr + .endm + + .macro jumpifmovehadnoeffect jumpptr:req + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr + .endm + + .macro jumpifbattletype flags:req, jumpptr:req + jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr + .endm + + .macro jumpifnotbattletype flags:req, jumpptr:req + jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr .endm diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a3675befd..0bdfa777a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8,9 +8,13 @@ #include "constants/species.h" #include "constants/pokemon.h" #include "constants/songs.h" +#include "constants/game_stat.h" #include "battle_string_ids.h" .include "asm/macros/battle_script.inc" +@ Define these here since misc_constants.inc conflicts with the C headers .set NULL, 0 + .set FALSE, 0 + .set TRUE, 1 .section script_data, "aw", %progbits .align 2 @@ -231,8 +235,8 @@ gBattleScriptsForMoveEffects:: @ 81D65A8 .4byte BattleScript_EffectCamouflage BattleScript_EffectHit:: @ 81D6900 - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0x39, BattleScript_81D6926 - jumpifspecialstatusflag BS_TARGET, 0x40000, 0x1, BattleScript_81D6926 + jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_SURF, BattleScript_81D6926 + jumpifstatus3condition BS_TARGET, 0x40000, 0x1, BattleScript_81D6926 orword gHitMarker, HITMARKER_IGNORE_UNDERWATER setbyte sDMG_MULTIPLIER, 0x2 @@ -248,28 +252,27 @@ BattleScript_81D692E:: @ 81D692E BattleScript_HitFromCritCalc:: @ 81D6930 critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage BattleScript_81D6934:: @ 81D6934 attackanimation waitanimation - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 resultmessage waitmessage 0x40 - seteffectwithchancetarget - faintpokemon BS_TARGET, 0x0, NULL + seteffectwithchance + tryfaintmon BS_TARGET, 0x0, NULL BattleScript_MoveEnd:: @ 81D694E - setbyte sMOVEEND_STATE, 0x0 - atk49 0x0, 0x0 + moveendall end BattleScript_81D6958:: @ 81D6958 @@ -283,48 +286,48 @@ BattleScript_MoveMissedPause:: @ 81D6960 pause 0x20 BattleScript_81D6963:: @ 81D6963 - missmessage + effectivenesssound resultmessage waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSleep:: @ 81D696D attackcanceler attackstring ppreduce - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed - jumpifstatus BS_TARGET, 0x7, BattleScript_81D69B0 - jumpifcannotsleep BattleScript_81D69CC - jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D69B0 + jumpifcantmakeasleep BattleScript_81D69CC + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0x0 - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 attackanimation waitanimation - setbyte cEFFECT_CHOOSER, 0x1 - seteffecttarget - jump BattleScript_MoveEnd + setmoveeffect MOVE_EFFECT_SLEEP + seteffectprimary + goto BattleScript_MoveEnd BattleScript_81D69B0:: @ 81D69B0 pause 0x20 printstring STRINGID_PKMNALREADYASLEEP waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D69BE:: @ 81D69BE pause 0x20 printstring STRINGID_PKMNWASNTAFFECTED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D69CC:: @ 81D69CC pause 0x20 printfromtable gUproarAwakeStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectPoisonHit:: @ 81D69DC - setbyte cEFFECT_CHOOSER, 0x2 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_POISON + goto BattleScript_EffectHit BattleScript_EffectAbsorb:: @ 81D69E7 attackcanceler @@ -332,15 +335,15 @@ BattleScript_EffectAbsorb:: @ 81D69E7 attackstring ppreduce critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 @@ -348,84 +351,82 @@ BattleScript_EffectAbsorb:: @ 81D69E7 waitmessage 0x40 negativedamage orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - jumpifability BS_TARGET, ABILITY_LIQUID_OOZE, BattleScript_81D6A23 + jumpifability 0x0, ABILITY_LIQUID_OOZE, BattleScript_81D6A23 setbyte cMULTISTRING_CHOOSER, 0x0 - jump BattleScript_81D6A2B + goto BattleScript_81D6A2B BattleScript_81D6A23:: @ 81D6A23 manipulatedamage 0x0 setbyte cMULTISTRING_CHOOSER, 0x1 BattleScript_81D6A2B:: @ 81D6A2B - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6A42 printfromtable gLeechSeedDrainStringIds waitmessage 0x40 BattleScript_81D6A42:: @ 81D6A42 - faintpokemon BS_ATTACKER, 0x0, NULL - faintpokemon BS_TARGET, 0x0, NULL - jump BattleScript_MoveEnd + tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_TARGET, 0x0, NULL + goto BattleScript_MoveEnd BattleScript_EffectBurnHit:: @ 81D6A55 - setbyte cEFFECT_CHOOSER, 0x3 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_BURN + goto BattleScript_EffectHit BattleScript_EffectFreezeHit:: @ 81D6A60 - setbyte cEFFECT_CHOOSER, 0x4 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_FREEZE + goto BattleScript_EffectHit BattleScript_EffectParalyzeHit:: @ 81D6A6B - setbyte cEFFECT_CHOOSER, 0x5 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_PARALYSIS + goto BattleScript_EffectHit BattleScript_EffectExplosion:: @ 81D6A76 attackcanceler attackstring ppreduce faintifabilitynotdamp - setuserhptozero - waitstateatk + setatkhptozero + waitstate jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, 0x1, BattleScript_81D6A91 - callatk BattleScript_81D6AE7 - jump BattleScript_81D6A93 + call BattleScript_81D6AE7 + goto BattleScript_81D6A93 BattleScript_81D6A91:: @ 81D6A91 attackanimation waitanimation BattleScript_81D6A93:: @ 81D6A93 - atk25 + movevaluescleanup critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage accuracycheck BattleScript_81D6ACC, 0x0 - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 resultmessage waitmessage 0x40 - faintpokemon BS_TARGET, 0x0, NULL - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 - jumpwhiletargetvalid BattleScript_81D6A93 - faintpokemon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_TARGET, 0x0, NULL + moveendto 0x10 + jumpifnexttargetvalid BattleScript_81D6A93 + tryfaintmon BS_ATTACKER, 0x0, NULL end BattleScript_81D6ACC:: @ 81D6ACC - missmessage + effectivenesssound resultmessage waitmessage 0x40 - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 - jumpwhiletargetvalid BattleScript_81D6A93 - faintpokemon BS_ATTACKER, 0x0, NULL + moveendto 0x10 + jumpifnexttargetvalid BattleScript_81D6A93 + tryfaintmon BS_ATTACKER, 0x0, NULL end BattleScript_81D6AE7:: @ 81D6AE7 @@ -437,29 +438,29 @@ BattleScript_81D6AE7:: @ 81D6AE7 BattleScript_EffectDreamEater:: @ 81D6AF6 attackcanceler - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D6B0B - jumpifstatus BS_TARGET, 0x7, BattleScript_81D6B15 + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6B0B + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D6B15 BattleScript_81D6B0B:: @ 81D6B0B attackstring ppreduce waitmessage 0x40 - jump BattleScript_81D69BE + goto BattleScript_81D69BE BattleScript_81D6B15:: @ 81D6B15 accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 @@ -467,41 +468,41 @@ BattleScript_81D6B15:: @ 81D6B15 waitmessage 0x40 negativedamage orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6B53 printstring STRINGID_PKMNDREAMEATEN waitmessage 0x40 BattleScript_81D6B53:: @ 81D6B53 - faintpokemon BS_TARGET, 0x0, NULL - jump BattleScript_MoveEnd + tryfaintmon BS_TARGET, 0x0, NULL + goto BattleScript_MoveEnd BattleScript_EffectMirrorMove:: @ 81D6B5F attackcanceler attackstring pause 0x40 - jumptolastusedattack + trymirrormove ppreduce orbyte gMoveResultFlags, 0x20 printstring STRINGID_MIRRORMOVEFAILED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectAttackUp:: @ 81D6B77 - setbyte sSTATCHANGER, 0x11 - jump BattleScript_81D6B9E + setstatchanger STAT_ATK, 1, FALSE + goto BattleScript_81D6B9E BattleScript_EffectDefenseUp:: @ 81D6B82 - setbyte sSTATCHANGER, 0x12 - jump BattleScript_81D6B9E + setstatchanger STAT_DEF, 1, FALSE + goto BattleScript_81D6B9E BattleScript_EffectSpecialAttackUp:: @ 81D6B8D - setbyte sSTATCHANGER, 0x14 - jump BattleScript_81D6B9E + setstatchanger STAT_SPATK, 1, FALSE + goto BattleScript_81D6B9E BattleScript_EffectEvasionUp:: @ 81D6B98 - setbyte sSTATCHANGER, 0x17 + setstatchanger STAT_EVASION, 1, FALSE BattleScript_81D6B9E:: @ 81D6B9E attackcanceler @@ -512,14 +513,14 @@ BattleScript_81D6B9F:: @ 81D6B9F statbuffchange 0x41, BattleScript_81D6BCC jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6BBA pause 0x20 - jump BattleScript_81D6BC4 + goto BattleScript_81D6BC4 BattleScript_81D6BBA:: @ 81D6BBA attackanimation waitanimation BattleScript_81D6BBC:: @ 81D6BBC - atk47 + setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 BattleScript_81D6BC4:: @ 81D6BC4 @@ -527,7 +528,7 @@ BattleScript_81D6BC4:: @ 81D6BC4 waitmessage 0x40 BattleScript_81D6BCC:: @ 81D6BCC - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_StatUp:: @ 81D6BD1 playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -536,27 +537,27 @@ BattleScript_StatUp:: @ 81D6BD1 return BattleScript_EffectAttackDown:: @ 81D6BE1 - setbyte sSTATCHANGER, 0x91 - jump BattleScript_81D6C13 + setstatchanger STAT_ATK, 1, TRUE + goto BattleScript_81D6C13 BattleScript_EffectDefenseDown:: @ 81D6BEC - setbyte sSTATCHANGER, 0x92 - jump BattleScript_81D6C13 + setstatchanger STAT_DEF, 1, TRUE + goto BattleScript_81D6C13 BattleScript_EffectSpeedDown:: @ 81D6BF7 - setbyte sSTATCHANGER, 0x93 - jump BattleScript_81D6C13 + setstatchanger STAT_SPEED, 1, TRUE + goto BattleScript_81D6C13 BattleScript_EffectAccuracyDown:: @ 81D6C02 - setbyte sSTATCHANGER, 0x96 - jump BattleScript_81D6C13 + setstatchanger STAT_ACC, 1, TRUE + goto BattleScript_81D6C13 BattleScript_EffectEvasionDown:: @ 81D6C0D - setbyte sSTATCHANGER, 0x97 + setstatchanger STAT_EVASION, 1, TRUE BattleScript_81D6C13:: @ 81D6C13 attackcanceler - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D7DF0 + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D7DF0 accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce @@ -564,12 +565,12 @@ BattleScript_81D6C13:: @ 81D6C13 jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6C4B jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_81D6C5D pause 0x20 - jump BattleScript_81D6C55 + goto BattleScript_81D6C55 BattleScript_81D6C4B:: @ 81D6C4B attackanimation waitanimation - atk47 + setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 BattleScript_81D6C55:: @ 81D6C55 @@ -577,7 +578,7 @@ BattleScript_81D6C55:: @ 81D6C55 waitmessage 0x40 BattleScript_81D6C5D:: @ 81D6C5D - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_StatDown:: @ 81D6C62 playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -594,7 +595,7 @@ BattleScript_EffectHaze:: @ 81D6C72 normalisebuffs printstring STRINGID_STATCHANGESGONE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectBide:: @ 81D6C83 attackcanceler @@ -604,25 +605,25 @@ BattleScript_EffectBide:: @ 81D6C83 waitanimation orword gHitMarker, HITMARKER_CHARGING setbide - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectRampage:: @ 81D6C97 attackcanceler accuracycheck BattleScript_81D695E, 0x0 attackstring - jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6CAB + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6CAB ppreduce BattleScript_81D6CAB:: @ 81D6CAB confuseifrepeatingattackends - jump BattleScript_HitFromCritCalc + goto BattleScript_HitFromCritCalc BattleScript_EffectRoar:: @ 81D6CB1 attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_81D9408 - jumpifspecialstatusflag BS_TARGET, 0x400, 0x0, BattleScript_81D8F27 + jumpifability 0x0, ABILITY_SUCTION_CUPS, BattleScript_81D9408 + jumpifstatus3condition BS_TARGET, 0x400, 0x0, BattleScript_81D8F27 accuracycheck BattleScript_ButItFailed, 0xFFFF accuracycheck BattleScript_MoveMissedPause, 0x0 forcerandomswitch BattleScript_ButItFailed @@ -632,41 +633,40 @@ BattleScript_EffectMultiHit:: @ 81D6CD9 accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - setloopcounter 0x0 - atk8e + setmultihitcounter 0x0 + initmultihitstring setbyte sMULTIHIT_EFFECT, 0x0 BattleScript_81D6CEC:: @ 81D6CEC - jumpiffainted BS_ATTACKER, BattleScript_81D6D82 - jumpiffainted BS_TARGET, BattleScript_81D6D63 - jumpifhalfword CMP_EQUAL, gChosenMove, 0xD6, BattleScript_81D6D0E - jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D6D63 + jumpifhasnohp BS_ATTACKER, BattleScript_81D6D82 + jumpifhasnohp BS_TARGET, BattleScript_81D6D63 + jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D6D0E + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6D63 BattleScript_81D6D0E:: @ 81D6D0E - atk25 + movevaluescleanup copyarray cEFFECT_CHOOSER, sMULTIHIT_EFFECT, 0x1 critcalc - atk5 - atk6 + damagecalc + typecalc jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6D60 - atk7 + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 printstring STRINGID_EMPTYSTRING3 waitmessage 0x1 addbyte gBattleScripting + 0xC, 0x1 - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 + moveendto 0x10 jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x40, BattleScript_81D6D63 - atk27 BattleScript_81D6CEC - jump BattleScript_81D6D63 + decrementmultihit BattleScript_81D6CEC + goto BattleScript_81D6D63 BattleScript_81D6D60:: @ 81D6D60 pause 0x20 @@ -680,150 +680,148 @@ BattleScript_81D6D63:: @ 81D6D63 waitmessage 0x40 BattleScript_81D6D82:: @ 81D6D82 - seteffectwithchancetarget - faintpokemon BS_TARGET, 0x0, NULL - setbyte sMOVEEND_STATE, 0x2 - atk49 0x1, 0x0 - setbyte sMOVEEND_STATE, 0x4 - atk49 0x0, 0x0 + seteffectwithchance + tryfaintmon BS_TARGET, 0x0, NULL + moveendcase 0x2 + moveendfrom 0x4 end BattleScript_EffectConversion:: @ 81D6D9D attackcanceler attackstring ppreduce - changetypestoenemyattacktype BattleScript_ButItFailed + tryconversiontypechange BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNCHANGEDTYPE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectFlinchHit:: @ 81D6DB2 - setbyte cEFFECT_CHOOSER, 0x8 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_FLINCH + goto BattleScript_EffectHit BattleScript_EffectRestoreHp:: @ 81D6DBD attackcanceler attackstring ppreduce - setdamageasrestorehalfmaxhp BattleScript_AlreadyAtFullHp, 0x1 + tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_ATTACKER attackanimation waitanimation orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNREGAINEDHEALTH waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectToxic:: @ 81D6DE0 attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed - jumpifstatus BS_TARGET, 0x8, BattleScript_81D6E41 - jumpifstatus BS_TARGET, 0x80, BattleScript_81D6E41 - jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed + jumpifability 0x0, ABILITY_IMMUNITY, BattleScript_81D6E4F + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41 + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41 + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed jumpiftype BS_TARGET, 0x3, BattleScript_81D7E04 jumpiftype BS_TARGET, 0x8, BattleScript_81D7E04 accuracycheck BattleScript_ButItFailed, 0x0 - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 attackanimation waitanimation - setbyte cEFFECT_CHOOSER, 0x6 - seteffecttarget + setmoveeffect MOVE_EFFECT_TOXIC + seteffectprimary resultmessage waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D6E41:: @ 81D6E41 pause 0x40 printstring STRINGID_PKMNALREADYPOISONED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D6E4F:: @ 81D6E4F copyarray gEffectBattler, gBattlerTarget, 0x1 setbyte cMULTISTRING_CHOOSER, 0x0 - callatk BattleScript_PSNPrevention - jump BattleScript_MoveEnd + call BattleScript_PSNPrevention + goto BattleScript_MoveEnd BattleScript_EffectPayDay:: @ 81D6E69 - setbyte cEFFECT_CHOOSER, 0xB - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_PAYDAY + goto BattleScript_EffectHit BattleScript_EffectLightScreen:: @ 81D6E74 attackcanceler attackstring ppreduce setlightscreen - jump BattleScript_81D7172 + goto BattleScript_81D7172 BattleScript_EffectTriAttack:: @ 81D6E7D - setbyte cEFFECT_CHOOSER, 0x9 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_TRI_ATTACK + goto BattleScript_EffectHit BattleScript_EffectRest:: @ 81D6E88 attackcanceler attackstring ppreduce - jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D6EC2 - jumpifcannotsleep BattleScript_81D6EB2 - setrest BattleScript_AlreadyAtFullHp + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6EC2 + jumpifcantmakeasleep BattleScript_81D6EB2 + trysetrest BattleScript_AlreadyAtFullHp pause 0x20 printfromtable gRestUsedStringIds waitmessage 0x40 - atk98 0x1 - waitstateatk - jump BattleScript_PresentHealTarget + updatestatusicon BS_ATTACKER + waitstate + goto BattleScript_PresentHealTarget BattleScript_81D6EB2:: @ 81D6EB2 pause 0x40 printfromtable gUproarAwakeStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D6EC2:: @ 81D6EC2 pause 0x20 printstring STRINGID_PKMNALREADYASLEEP2 waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectOhko:: @ 81D6ED0 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 0xFFFF - atk6 + typecalc jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6934 - koplussomethings BattleScript_81D6EF1 - atkab - jump BattleScript_81D6934 + tryKO BattleScript_81D6EF1 + trysetdestinybondtohappen + goto BattleScript_81D6934 BattleScript_81D6EF1:: @ 81D6EF1 pause 0x40 printfromtable gKOFailedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectRazorWind:: @ 81D6F01 - jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29 + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 setbyte sTWOTURN_STRINGID, 0x0 - callatk BattleScript_81D6F58 - jump BattleScript_MoveEnd + call BattleScript_81D6F58 + goto BattleScript_MoveEnd BattleScript_81D6F29:: @ 81D6F29 attackcanceler - setbyte cEFFECT_CHOOSER, 0xC + setmoveeffect MOVE_EFFECT_CHARGING setbyte sB_ANIM_TURN, 0x1 - clearstatus BS_ATTACKER + clearstatusfromeffect BS_ATTACKER orword gHitMarker, HITMARKER_NO_PPDEDUCT - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0x8F, BattleScript_81D6927 - setbyte cEFFECT_CHOOSER, 0x8 - jump BattleScript_81D6927 + jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_SKY_ATTACK, BattleScript_81D6927 + setmoveeffect MOVE_EFFECT_FLINCH + goto BattleScript_81D6927 BattleScript_81D6F58:: @ 81D6F58 attackcanceler @@ -832,8 +830,8 @@ BattleScript_81D6F58:: @ 81D6F58 attackanimation waitanimation orword gHitMarker, HITMARKER_CHARGING - setbyte cEFFECT_CHOOSER, 0x4C - seteffecttarget + setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER + seteffectprimary copyarray cMULTISTRING_CHOOSER, sTWOTURN_STRINGID, 0x1 printfromtable gFirstTurnOfTwoStringIds waitmessage 0x40 @@ -844,49 +842,49 @@ BattleScript_EffectSuperFang:: @ 81D6F82 accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - atk6 + typecalc bicbyte gMoveResultFlags, 0x6 - gethalfcurrentenemyhp - jump BattleScript_81D6934 + damagetohalftargethp + goto BattleScript_81D6934 BattleScript_EffectDragonRage:: @ 81D6F99 attackcanceler accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - atk6 + typecalc bicbyte gMoveResultFlags, 0x6 setbyte gBattleMoveDamage, 0x28 setbyte gBattleMoveDamage + 0x1, 0x0 setbyte gBattleMoveDamage + 0x2, 0x0 setbyte gBattleMoveDamage + 0x3, 0x0 - atk69 - jump BattleScript_81D6934 + adjustsetdamage + goto BattleScript_81D6934 BattleScript_EffectTrap:: @ 81D6FC8 - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0xFA, BattleScript_81D6FEE - jumpifspecialstatusflag BS_TARGET, 0x40000, 0x1, BattleScript_81D6FEE + jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_WHIRLPOOL, BattleScript_81D6FEE + jumpifstatus3condition BS_TARGET, 0x40000, 0x1, BattleScript_81D6FEE orword gHitMarker, HITMARKER_IGNORE_UNDERWATER setbyte sDMG_MULTIPLIER, 0x2 BattleScript_81D6FEE:: @ 81D6FEE - setbyte cEFFECT_CHOOSER, 0xD - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_WRAP + goto BattleScript_EffectHit BattleScript_EffectDoubleHit:: @ 81D6FF9 attackcanceler accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - setloopcounter 0x2 - atk8e + setmultihitcounter 0x2 + initmultihitstring setbyte sMULTIHIT_EFFECT, 0x0 - jump BattleScript_81D6CEC + goto BattleScript_81D6CEC BattleScript_EffectRecoilIfMiss:: @ 81D7011 attackcanceler accuracycheck BattleScript_81D701E, 0x0 - jump BattleScript_81D692E + goto BattleScript_81D692E BattleScript_81D701E:: @ 81D701E attackstring @@ -897,89 +895,89 @@ BattleScript_81D701E:: @ 81D701E jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x8, BattleScript_MoveEnd printstring STRINGID_PKMNCRASHED waitmessage 0x40 - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage manipulatedamage 0x1 bicbyte gMoveResultFlags, 0x1 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - faintpokemon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0x0, NULL orbyte gMoveResultFlags, 0x1 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectMist:: @ 81D7062 attackcanceler attackstring ppreduce - setmisteffect + setmist attackanimation waitanimation printfromtable gMistUsedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectFocusEnergy:: @ 81D7075 attackcanceler attackstring ppreduce - jumpifsecondarytstatus BS_ATTACKER, 0x100000, BattleScript_ButItFailed - setincreasedcriticalchance + jumpifstatus2 BS_ATTACKER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed + setfocusenergy attackanimation waitanimation printfromtable gFocusEnergyUsedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectRecoil:: @ 81D7092 - setbyte cEFFECT_CHOOSER, 0xCE - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0xA5, BattleScript_EffectHit - atk60 0x1B - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_EffectHit + incrementgamestat GAME_STAT_USED_STRUGGLE + goto BattleScript_EffectHit BattleScript_EffectConfuse:: @ 81D70AB attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed - jumpifsecondarytstatus BS_TARGET, 0x7, BattleScript_81D70EA + jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D9460 + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D70EA accuracycheck BattleScript_ButItFailed, 0x0 - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 attackanimation waitanimation - setbyte cEFFECT_CHOOSER, 0x7 - seteffecttarget + setmoveeffect MOVE_EFFECT_CONFUSION + seteffectprimary resultmessage waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D70EA:: @ 81D70EA pause 0x20 printstring STRINGID_PKMNALREADYCONFUSED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectAttackUp2:: @ 81D70F8 - setbyte sSTATCHANGER, 0x21 - jump BattleScript_81D6B9E + setstatchanger STAT_ATK, 2, FALSE + goto BattleScript_81D6B9E BattleScript_EffectDefenseUp2:: @ 81D7103 - setbyte sSTATCHANGER, 0x22 - jump BattleScript_81D6B9E + setstatchanger STAT_DEF, 2, FALSE + goto BattleScript_81D6B9E BattleScript_EffectSpeedUp2:: @ 81D710E - setbyte sSTATCHANGER, 0x23 - jump BattleScript_81D6B9E + setstatchanger STAT_SPEED, 2, FALSE + goto BattleScript_81D6B9E BattleScript_EffectSpecialAttackUp2:: @ 81D7119 - setbyte sSTATCHANGER, 0x24 - jump BattleScript_81D6B9E + setstatchanger STAT_SPATK, 2, FALSE + goto BattleScript_81D6B9E BattleScript_EffectSpecialDefenseUp2:: @ 81D7124 - setbyte sSTATCHANGER, 0x25 - jump BattleScript_81D6B9E + setstatchanger STAT_SPDEF, 2, FALSE + goto BattleScript_81D6B9E BattleScript_EffectTransform:: @ 81D712F attackcanceler @@ -990,23 +988,23 @@ BattleScript_EffectTransform:: @ 81D712F waitanimation printfromtable gTransformUsedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectAttackDown2:: @ 81D7142 - setbyte sSTATCHANGER, 0xA1 - jump BattleScript_81D6C13 + setstatchanger STAT_ATK, 2, TRUE + goto BattleScript_81D6C13 BattleScript_EffectDefenseDown2:: @ 81D714D - setbyte sSTATCHANGER, 0xA2 - jump BattleScript_81D6C13 + setstatchanger STAT_DEF, 2, TRUE + goto BattleScript_81D6C13 BattleScript_EffectSpeedDown2:: @ 81D7158 - setbyte sSTATCHANGER, 0xA3 - jump BattleScript_81D6C13 + setstatchanger STAT_SPEED, 2, TRUE + goto BattleScript_81D6C13 BattleScript_EffectSpecialDefenseDown2:: @ 81D7163 - setbyte sSTATCHANGER, 0xA5 - jump BattleScript_81D6C13 + setstatchanger STAT_SPDEF, 2, TRUE + goto BattleScript_81D6C13 BattleScript_EffectReflect:: @ 81D716E attackcanceler @@ -1019,95 +1017,95 @@ BattleScript_81D7172:: @ 81D7172 waitanimation printfromtable gReflectLightScreenSafeguardStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectPoison:: @ 81D7181 attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed - jumpifstatus BS_TARGET, 0x8, BattleScript_81D6E41 - jumpifstatus BS_TARGET, 0x80, BattleScript_81D6E41 + jumpifability 0x0, ABILITY_IMMUNITY, BattleScript_81D6E4F + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41 + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41 jumpiftype BS_TARGET, 0x3, BattleScript_81D7E04 jumpiftype BS_TARGET, 0x8, BattleScript_81D7E04 - jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0x0 - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 attackanimation waitanimation - setbyte cEFFECT_CHOOSER, 0x2 - seteffecttarget + setmoveeffect MOVE_EFFECT_POISON + seteffectprimary resultmessage waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectParalyze:: @ 81D71E2 attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_81D7245 - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed - atk6 + jumpifability 0x0, ABILITY_LIMBER, BattleScript_81D7245 + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + typecalc jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_ButItFailed - jumpifstatus BS_TARGET, 0x40, BattleScript_81D7237 - jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D7237 + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0x0 - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 attackanimation waitanimation - setbyte cEFFECT_CHOOSER, 0x5 - seteffecttarget + setmoveeffect MOVE_EFFECT_PARALYSIS + seteffectprimary resultmessage waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D7237:: @ 81D7237 pause 0x20 printstring STRINGID_PKMNISALREADYPARALYZED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D7245:: @ 81D7245 copyarray gEffectBattler, gBattlerTarget, 0x1 setbyte cMULTISTRING_CHOOSER, 0x0 - callatk BattleScript_PRLZPrevention - jump BattleScript_MoveEnd + call BattleScript_PRLZPrevention + goto BattleScript_MoveEnd BattleScript_EffectAttackDownHit:: @ 81D725F - setbyte cEFFECT_CHOOSER, 0x16 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_ATK_MINUS_1 + goto BattleScript_EffectHit BattleScript_EffectDefenseDownHit:: @ 81D726A - setbyte cEFFECT_CHOOSER, 0x17 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_DEF_MINUS_1 + goto BattleScript_EffectHit BattleScript_EffectSpeedDownHit:: @ 81D7275 - setbyte cEFFECT_CHOOSER, 0x18 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_SPD_MINUS_1 + goto BattleScript_EffectHit BattleScript_EffectSpecialAttackDownHit:: @ 81D7280 - setbyte cEFFECT_CHOOSER, 0x19 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_SP_ATK_MINUS_1 + goto BattleScript_EffectHit BattleScript_EffectSpecialDefenseDownHit:: @ 81D728B - setbyte cEFFECT_CHOOSER, 0x1A - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_SP_DEF_MINUS_1 + goto BattleScript_EffectHit BattleScript_EffectAccuracyDownHit:: @ 81D7296 - setbyte cEFFECT_CHOOSER, 0x1B - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_ACC_MINUS_1 + goto BattleScript_EffectHit BattleScript_EffectSkyAttack:: @ 81D72A1 - jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29 + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 setbyte sTWOTURN_STRINGID, 0x3 - callatk BattleScript_81D6F58 - jump BattleScript_MoveEnd + call BattleScript_81D6F58 + goto BattleScript_MoveEnd BattleScript_EffectConfuseHit:: @ 81D72C9 - setbyte cEFFECT_CHOOSER, 0x7 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_CONFUSION + goto BattleScript_EffectHit BattleScript_EffectTwineedle:: @ 81D72D4 attackcanceler @@ -1115,74 +1113,74 @@ BattleScript_EffectTwineedle:: @ 81D72D4 setbyte sMULTIHIT_EFFECT, 0x2 attackstring ppreduce - setloopcounter 0x2 - atk8e - jump BattleScript_81D6CEC + setmultihitcounter 0x2 + initmultihitstring + goto BattleScript_81D6CEC BattleScript_EffectSubstitute:: @ 81D72EC attackcanceler ppreduce attackstring - waitstateatk - jumpifsecondarytstatus BS_ATTACKER, 0x1000000, BattleScript_81D7321 - setsubstituteeffect + waitstate + jumpifstatus2 BS_ATTACKER, STATUS2_SUBSTITUTE, BattleScript_81D7321 + setsubstitute jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D730E pause 0x20 - jump BattleScript_81D7314 + goto BattleScript_81D7314 BattleScript_81D730E:: @ 81D730E attackanimation waitanimation - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER BattleScript_81D7314:: @ 81D7314 printfromtable gSubsituteUsedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D7321:: @ 81D7321 pause 0x20 printstring STRINGID_PKMNHASSUBSTITUTE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectRecharge:: @ 81D732F attackcanceler accuracycheck BattleScript_81D695E, 0x0 - setbyte cEFFECT_CHOOSER, 0xDD - jump BattleScript_81D692E + setmoveeffect MOVE_EFFECT_RECHARGE | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_81D692E BattleScript_MoveUsedMustRecharge:: @ 81D7342 printstring STRINGID_PKMNMUSTRECHARGE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectRage:: @ 81D734D attackcanceler accuracycheck BattleScript_81D7367, 0x0 - setbyte cEFFECT_CHOOSER, 0x1E - seteffecttarget - setbyte cEFFECT_CHOOSER, 0x0 - jump BattleScript_81D692E + setmoveeffect MOVE_EFFECT_RAGE + seteffectprimary + setmoveeffect MOVE_EFFECT_NOTHING_0 + goto BattleScript_81D692E BattleScript_81D7367:: @ 81D7367 - setbyte cEFFECT_CHOOSER, 0x1E - clearstatus BS_ATTACKER - jump BattleScript_81D695E + setmoveeffect MOVE_EFFECT_RAGE + clearstatusfromeffect BS_ATTACKER + goto BattleScript_81D695E BattleScript_EffectMimic:: @ 81D7374 attackcanceler attackstring ppreduce - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0xFFFF - copyattack BattleScript_ButItFailed + mimicattackcopy BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNLEARNEDMOVE2 waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectMetronome:: @ 81D739A attackcanceler @@ -1192,23 +1190,23 @@ BattleScript_EffectMetronome:: @ 81D739A waitanimation setbyte sB_ANIM_TURN, 0x0 setbyte sB_ANIM_TARGETS_HIT, 0x0 - metronomeeffect + metronome BattleScript_EffectLeechSeed:: @ 81D73AE attackcanceler attackstring pause 0x20 ppreduce - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_81D73C5, 0x0 BattleScript_81D73C5:: @ 81D73C5 - setleechseed + setseeded attackanimation waitanimation printfromtable gLeechSeedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSplash:: @ 81D73D5 attackcanceler @@ -1216,10 +1214,10 @@ BattleScript_EffectSplash:: @ 81D73D5 ppreduce attackanimation waitanimation - atk60 0x1A + incrementgamestat GAME_STAT_USED_SPLASH printstring STRINGID_BUTNOTHINGHAPPENED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectDisable:: @ 81D73E7 attackcanceler @@ -1231,29 +1229,29 @@ BattleScript_EffectDisable:: @ 81D73E7 waitanimation printstring STRINGID_PKMNMOVEWASDISABLED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectLevelDamage:: @ 81D7403 attackcanceler accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - atk6 + typecalc bicbyte gMoveResultFlags, 0x6 - nightshadedamageeffect - atk69 - jump BattleScript_81D6934 + dmgtolevel + adjustsetdamage + goto BattleScript_81D6934 BattleScript_EffectPsywave:: @ 81D741B attackcanceler accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - atk6 + typecalc bicbyte gMoveResultFlags, 0x6 psywavedamageeffect - atk69 - jump BattleScript_81D6934 + adjustsetdamage + goto BattleScript_81D6934 BattleScript_EffectCounter:: @ 81D7433 attackcanceler @@ -1261,49 +1259,49 @@ BattleScript_EffectCounter:: @ 81D7433 accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - damagecalc2 - atk69 - jump BattleScript_81D6934 + typecalc2 + adjustsetdamage + goto BattleScript_81D6934 BattleScript_EffectEncore:: @ 81D7449 attackcanceler accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - setencore BattleScript_ButItFailed + trysetencore BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNGOTENCORE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectPainSplit:: @ 81D7465 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 0xFFFF - painsplitdamagecalculator BattleScript_ButItFailed + painsplitdmgcalc BattleScript_ButItFailed attackanimation waitanimation orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER copyarray gBattleMoveDamage, gBattleScripting, 0x4 - graphicalhpupdate BS_TARGET + healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_SHAREDPAIN waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSnore:: @ 81D749C attackcanceler - jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D74AE + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D74AE attackstring ppreduce - jump BattleScript_ButItFailed + goto BattleScript_ButItFailed BattleScript_81D74AE:: @ 81D74AE - jumpifhalfword CMP_EQUAL, gChosenMove, 0xD6, BattleScript_81D74C2 + jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D74C2 printstring STRINGID_PKMNFASTASLEEP waitmessage 0x40 statusanimation BS_ATTACKER @@ -1312,8 +1310,8 @@ BattleScript_81D74C2:: @ 81D74C2 attackstring ppreduce accuracycheck BattleScript_MoveMissedPause, 0x0 - setbyte cEFFECT_CHOOSER, 0x8 - jump BattleScript_HitFromCritCalc + setmoveeffect MOVE_EFFECT_FLINCH + goto BattleScript_HitFromCritCalc BattleScript_EffectConversion2:: @ 81D74D6 attackcanceler @@ -1324,39 +1322,39 @@ BattleScript_EffectConversion2:: @ 81D74D6 waitanimation printstring STRINGID_PKMNCHANGEDTYPE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectLockOn:: @ 81D74EB attackcanceler attackstring ppreduce - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0x0 setalwayshitflag attackanimation waitanimation printstring STRINGID_PKMNTOOKAIM waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSketch:: @ 81D750D attackcanceler attackstring ppreduce - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed copymovepermanently BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNSKETCHEDMOVE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSleepTalk:: @ 81D752C attackcanceler - jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D753E + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D753E attackstring ppreduce - jump BattleScript_ButItFailed + goto BattleScript_ButItFailed BattleScript_81D753E:: @ 81D753E printstring STRINGID_PKMNFASTASLEEP @@ -1365,55 +1363,55 @@ BattleScript_81D753E:: @ 81D753E attackstring ppreduce orword gHitMarker, HITMARKER_NO_PPDEDUCT - selectrandommovefromusermoves BattleScript_81D755E + trychoosesleeptalkmove BattleScript_81D755E pause 0x40 - jump BattleScript_ButItFailed + goto BattleScript_ButItFailed BattleScript_81D755E:: @ 81D755E attackanimation waitanimation setbyte sB_ANIM_TURN, 0x0 setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptoattack BS_ATTACKER + jumptocalledmove 0x1 BattleScript_EffectDestinyBond:: @ 81D756E attackcanceler attackstring ppreduce - destinybondeffect + setdestinybond attackanimation waitanimation printstring STRINGID_PKMNTRYINGTOTAKEFOE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectFlail:: @ 81D757F remaininghptopower - jump BattleScript_EffectHit + goto BattleScript_EffectHit BattleScript_EffectSpite:: @ 81D7585 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 0x0 - reducepprandom BattleScript_ButItFailed + tryspiteppreduce BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNREDUCEDPP waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectHealBell:: @ 81D75A1 attackcanceler attackstring ppreduce - clearstatusifnotsoundproofed - waitstateatk + healpartystatus + waitstate attackanimation waitanimation printfromtable gPartyStatusHealStringIds waitmessage 0x40 - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0xD7, BattleScript_81D75DE + jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_HEAL_BELL, BattleScript_81D75DE jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D75CD printstring STRINGID_PKMNSXBLOCKSY waitmessage 0x40 @@ -1424,9 +1422,9 @@ BattleScript_81D75CD:: @ 81D75CD waitmessage 0x40 BattleScript_81D75DE:: @ 81D75DE - atk98 0x4 - waitstateatk - jump BattleScript_MoveEnd + updatestatusicon BS_ATTACKER_WITH_PARTNER + waitstate + goto BattleScript_MoveEnd BattleScript_EffectTripleKick:: @ 81D75E6 attackcanceler @@ -1434,42 +1432,41 @@ BattleScript_EffectTripleKick:: @ 81D75E6 ppreduce setbyte sTRIPLE_KICK_POWER, 0x0 setbyte gBattleScripting + 0x13, 0x0 - atk8e - atk26 0x3 + initmultihitstring + setmultihit 0x3 BattleScript_81D75F8:: @ 81D75F8 - jumpiffainted BS_ATTACKER, BattleScript_81D76B7 - jumpiffainted BS_TARGET, BattleScript_81D7679 - jumpifhalfword CMP_EQUAL, gChosenMove, 0xD6, BattleScript_81D761A - jumpifstatus BS_ATTACKER, 0x7, BattleScript_81D7679 + jumpifhasnohp BS_ATTACKER, BattleScript_81D76B7 + jumpifhasnohp BS_TARGET, BattleScript_81D7679 + jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D761A + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D7679 BattleScript_81D761A:: @ 81D761A accuracycheck BattleScript_81D7679, 0x0 - atk25 + movevaluescleanup addbyte sTRIPLE_KICK_POWER, 0xA addbyte gBattleScripting + 0xC, 0x1 copyarray gDynamicBasePower, sTRIPLE_KICK_POWER, 0x2 critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D7679 attackanimation waitanimation - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 printstring STRINGID_EMPTYSTRING3 waitmessage 0x1 - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 + moveendto 0x10 jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x40, BattleScript_81D768D - atk27 BattleScript_81D75F8 - jump BattleScript_81D768D + decrementmultihit BattleScript_81D75F8 + goto BattleScript_81D768D BattleScript_81D7679:: @ 81D7679 pause 0x20 @@ -1486,132 +1483,131 @@ BattleScript_81D768D:: @ 81D768D waitmessage 0x40 BattleScript_81D76B7:: @ 81D76B7 - seteffectwithchancetarget - faintpokemon BS_TARGET, 0x0, NULL - setbyte sMOVEEND_STATE, 0xE - atk49 0x0, 0x0 + seteffectwithchance + tryfaintmon BS_TARGET, 0x0, NULL + moveendfrom 0xE end BattleScript_EffectThief:: @ 81D76C9 - setbyte cEFFECT_CHOOSER, 0x1F - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_STEAL_ITEM + goto BattleScript_EffectHit BattleScript_EffectMeanLook:: @ 81D76D4 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 0xFFFE - jumpifsecondarytstatus BS_TARGET, 0x4000000, BattleScript_ButItFailed - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed attackanimation waitanimation - setbyte cEFFECT_CHOOSER, 0x20 - seteffecttarget + setmoveeffect MOVE_EFFECT_PREVENT_ESCAPE + seteffectprimary printstring STRINGID_TARGETCANTESCAPENOW waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectNightmare:: @ 81D7706 attackcanceler attackstring ppreduce - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed - jumpifsecondarytstatus BS_TARGET, Start, BattleScript_ButItFailed - jumpifstatus BS_TARGET, 0x7, BattleScript_81D772C - jump BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D772C + goto BattleScript_ButItFailed BattleScript_81D772C:: @ 81D772C attackanimation waitanimation - setbyte cEFFECT_CHOOSER, 0x21 - seteffecttarget + setmoveeffect MOVE_EFFECT_NIGHTMARE + seteffectprimary printstring STRINGID_PKMNFELLINTONIGHTMARE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectMinimize:: @ 81D7740 attackcanceler setminimize - setbyte sSTATCHANGER, 0x17 - jump BattleScript_81D6B9F + setstatchanger STAT_EVASION, 1, FALSE + goto BattleScript_81D6B9F BattleScript_EffectCurse:: @ 81D774D jumpiftype2 BS_ATTACKER, 0x7, BattleScript_81D77C5 attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0x0, BattleScript_81D7772 - jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 0xC, BattleScript_81D7772 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_ButItFailed + jumpifstat BS_ATTACKER, CMP_GREATER_THAN, 0x3, 0x0, BattleScript_81D7772 + jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, 0x1, 0xC, BattleScript_81D7772 + jumpifstat BS_ATTACKER, CMP_EQUAL, 0x2, 0xC, BattleScript_ButItFailed BattleScript_81D7772:: @ 81D7772 copyarray gBattlerTarget, gBattlerAttacker, 0x1 setbyte sB_ANIM_TURN, 0x1 attackanimation waitanimation - setbyte sSTATCHANGER, 0x93 + setstatchanger STAT_SPEED, 1, TRUE statbuffchange 0x41, BattleScript_81D7798 printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_81D7798:: @ 81D7798 - setbyte sSTATCHANGER, 0x11 + setstatchanger STAT_ATK, 1, FALSE statbuffchange 0x41, BattleScript_81D77AC printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D77AC:: @ 81D77AC - setbyte sSTATCHANGER, 0x12 + setstatchanger STAT_DEF, 1, FALSE statbuffchange 0x41, BattleScript_81D77C0 printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D77C0:: @ 81D77C0 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D77C5:: @ 81D77C5 jumpifarraynotequal gBattlerAttacker, gBattlerTarget, 0x1, BattleScript_81D77D6 - atk76 0x1, BS_FAINTED + various BS_ATTACKER, 0x3 BattleScript_81D77D6:: @ 81D77D6 attackcanceler attackstring ppreduce - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0xFFFF cursetarget BattleScript_ButItFailed orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE setbyte sB_ANIM_TURN, 0x0 attackanimation waitanimation - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNLAIDCURSE waitmessage 0x40 - faintpokemon BS_ATTACKER, 0x0, NULL - jump BattleScript_MoveEnd + tryfaintmon BS_ATTACKER, 0x0, NULL + goto BattleScript_MoveEnd BattleScript_EffectProtect:: @ 81D7816 attackcanceler attackstring ppreduce - setprotect + setprotectlike attackanimation waitanimation printfromtable gProtectLikeUsedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSpikes:: @ 81D7829 attackcanceler - setspikes BattleScript_81D7DF0 + trysetspikes BattleScript_81D7DF0 attackstring ppreduce attackanimation waitanimation printstring STRINGID_SPIKESSCATTERED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectForesight:: @ 81D783E attackcanceler @@ -1623,13 +1619,13 @@ BattleScript_EffectForesight:: @ 81D783E waitanimation printstring STRINGID_PKMNIDENTIFIED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectPerishSong:: @ 81D7856 attackcanceler attackstring ppreduce - setperishsong BattleScript_ButItFailed + trysetperishsong BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_FAINTINTHREE @@ -1637,62 +1633,62 @@ BattleScript_EffectPerishSong:: @ 81D7856 setbyte sBATTLER, 0x0 BattleScript_81D786C:: @ 81D786C - jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_81D788C + jumpifability 0xA, ABILITY_SOUNDPROOF, BattleScript_81D788C BattleScript_81D7873:: @ 81D7873 addbyte sBATTLER, 0x1 jumpifarraynotequal sBATTLER, gBattlersCount, 0x1, BattleScript_81D786C - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D788C:: @ 81D788C printstring STRINGID_PKMNSXBLOCKSY2 waitmessage 0x40 - jump BattleScript_81D7873 + goto BattleScript_81D7873 BattleScript_EffectSandstorm:: @ 81D7897 attackcanceler attackstring ppreduce setsandstorm - jump BattleScript_81D7A14 + goto BattleScript_81D7A14 BattleScript_EffectRollout:: @ 81D78A0 attackcanceler attackstring - jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D78AD + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D78AD ppreduce BattleScript_81D78AD:: @ 81D78AD accuracycheck BattleScript_81D78B4, 0x0 BattleScript_81D78B4:: @ 81D78B4 - damagecalc2 + typecalc2 rolloutdamagecalculation - jump BattleScript_HitFromCritCalc + goto BattleScript_HitFromCritCalc BattleScript_EffectSwagger:: @ 81D78BB attackcanceler - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D6958 + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958 accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - jumpifconfusedandattackmaxed BS_ATTACKER, BattleScript_ButItFailed + jumpifconfusedandstatmaxed 0x1, BattleScript_ButItFailed attackanimation waitanimation - setbyte sSTATCHANGER, 0x21 + setstatchanger STAT_ATK, 2, FALSE statbuffchange 0x1, BattleScript_81D78FE jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D78FE - atk47 + setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D78FE:: @ 81D78FE - jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39 - setbyte cEFFECT_CHOOSER, 0x7 - seteffecttarget - jump BattleScript_MoveEnd + jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D9460 + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + setmoveeffect MOVE_EFFECT_CONFUSION + seteffectprimary + goto BattleScript_MoveEnd BattleScript_EffectFuryCutter:: @ 81D7919 attackcanceler @@ -1701,38 +1697,38 @@ BattleScript_EffectFuryCutter:: @ 81D7919 accuracycheck BattleScript_81D7923, 0x0 BattleScript_81D7923:: @ 81D7923 - furycutterdamagecalculation + furycuttercalc critcalc - atk5 - atk6 + damagecalc + typecalc jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D7923 - atk7 - jump BattleScript_81D6934 + adjustnormaldamage + goto BattleScript_81D6934 BattleScript_EffectAttract:: @ 81D7938 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 0x0 - tryinfatuatetarget BattleScript_ButItFailed + tryinfatuating BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNFELLINLOVE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectReturn:: @ 81D7954 attackcanceler accuracycheck BattleScript_81D695E, 0x0 happinesstodamagecalculation - jump BattleScript_81D692E + goto BattleScript_81D692E BattleScript_EffectPresent:: @ 81D7962 attackcanceler accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - atk6 + typecalc presentdamagecalculation BattleScript_EffectSafeguard:: @ 81D796E @@ -1740,73 +1736,73 @@ BattleScript_EffectSafeguard:: @ 81D796E attackstring ppreduce setsafeguard - jump BattleScript_81D7172 + goto BattleScript_81D7172 BattleScript_EffectThawHit:: @ 81D7977 - setbyte cEFFECT_CHOOSER, 0x3 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_BURN + goto BattleScript_EffectHit BattleScript_EffectMagnitude:: @ 81D7982 attackcanceler attackstring ppreduce - selectnexttarget + selectfirstvalidtarget magnitudedamagecalculation pause 0x20 printstring STRINGID_MAGNITUDESTRENGTH waitmessage 0x40 - jump BattleScript_81D7B17 + goto BattleScript_81D7B17 BattleScript_EffectBatonPass:: @ 81D7995 attackcanceler attackstring ppreduce - jumpifcannotswitch BS_ATTACKER | 0x80, BattleScript_ButItFailed + jumpifcantswitch BS_ATTACKER | 0x80, BattleScript_ButItFailed attackanimation waitanimation openpartyscreen 0x1, BattleScript_ButItFailed - atke2 BS_ATTACKER - waitstateatk - atk51 BS_ATTACKER, 0x2 - atk58 BS_ATTACKER - switch1 BS_ATTACKER - switch2 BS_ATTACKER - atk73 BS_ATTACKER + switchoutabilities BS_ATTACKER + waitstate + switchhandleorder BS_ATTACKER, 0x2 + returntoball BS_ATTACKER + getswitchedmondata BS_ATTACKER + switchindataupdate BS_ATTACKER + hpthresholds BS_ATTACKER printstring STRINGID_SWITCHINMON - switch3 BS_ATTACKER, 0x1 - waitstateatk - atk52 BS_ATTACKER - jump BattleScript_MoveEnd + switchinanim BS_ATTACKER, 0x1 + waitstate + switchineffects BS_ATTACKER + goto BattleScript_MoveEnd BattleScript_EffectRapidSpin:: @ 81D79C2 - setbyte cEFFECT_CHOOSER, 0xE3 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_RAPIDSPIN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit BattleScript_EffectSonicboom:: @ 81D79CD attackcanceler accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - atk6 + typecalc bicbyte gMoveResultFlags, 0x6 setbyte gBattleMoveDamage, 0x14 setbyte gBattleMoveDamage + 0x1, 0x0 setbyte gBattleMoveDamage + 0x2, 0x0 setbyte gBattleMoveDamage + 0x3, 0x0 - atk69 - jump BattleScript_81D6934 + adjustsetdamage + goto BattleScript_81D6934 BattleScript_EffectMorningSun:: @ 81D79FC attackcanceler attackstring ppreduce recoverbasedonsunlight BattleScript_AlreadyAtFullHp - jump BattleScript_PresentHealTarget + goto BattleScript_PresentHealTarget BattleScript_EffectHiddenPower:: @ 81D7A09 attackcanceler - hiddenpowerdamagecalculation - jump BattleScript_81D6927 + hiddenpowercalc + goto BattleScript_81D6927 BattleScript_EffectRainDance:: @ 81D7A10 attackcanceler @@ -1819,27 +1815,27 @@ BattleScript_81D7A14:: @ 81D7A14 waitanimation printfromtable gMoveWeatherChangeStringIds waitmessage 0x40 - callatk BattleScript_81D92DC - jump BattleScript_MoveEnd + call BattleScript_81D92DC + goto BattleScript_MoveEnd BattleScript_EffectSunnyDay:: @ 81D7A28 attackcanceler attackstring ppreduce setsunny - jump BattleScript_81D7A14 + goto BattleScript_81D7A14 BattleScript_EffectDefenseUpHit:: @ 81D7A31 - setbyte cEFFECT_CHOOSER, 0x50 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_DEF_PLUS_1 | MOVE_EFFECT_AFFECTS_USER + goto BattleScript_EffectHit BattleScript_EffectAttackUpHit:: @ 81D7A3C - setbyte cEFFECT_CHOOSER, 0x4F - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER + goto BattleScript_EffectHit BattleScript_EffectAllStatsUpHit:: @ 81D7A47 - setbyte cEFFECT_CHOOSER, 0x62 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_ALL_STATS_UP | MOVE_EFFECT_AFFECTS_USER + goto BattleScript_EffectHit BattleScript_EffectBellyDrum:: @ 81D7A52 attackcanceler @@ -1849,11 +1845,11 @@ BattleScript_EffectBellyDrum:: @ 81D7A52 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE attackanimation waitanimation - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNCUTHPMAXEDATTACK waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectPsychUp:: @ 81D7A74 attackcanceler @@ -1864,7 +1860,7 @@ BattleScript_EffectPsychUp:: @ 81D7A74 waitanimation printstring STRINGID_PKMNCOPIEDSTATCHANGES waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectMirrorCoat:: @ 81D7A89 attackcanceler @@ -1872,47 +1868,47 @@ BattleScript_EffectMirrorCoat:: @ 81D7A89 accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - damagecalc2 - atk69 - jump BattleScript_81D6934 + typecalc2 + adjustsetdamage + goto BattleScript_81D6934 BattleScript_EffectSkullBash:: @ 81D7A9F - jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29 + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 setbyte sTWOTURN_STRINGID, 0x2 - callatk BattleScript_81D6F58 - setbyte sSTATCHANGER, 0x12 + call BattleScript_81D6F58 + setstatchanger STAT_DEF, 1, FALSE statbuffchange 0x41, BattleScript_81D7AE9 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D7AE9 - atk47 + setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D7AE9:: @ 81D7AE9 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectTwister:: @ 81D7AEE - jumpifspecialstatusflag BS_TARGET, 0x40, 0x1, BattleScript_81D7B08 + jumpifstatus3condition BS_TARGET, 0x40, 0x1, BattleScript_81D7B08 orword gHitMarker, HITMARKER_IGNORE_ON_AIR setbyte sDMG_MULTIPLIER, 0x2 BattleScript_81D7B08:: @ 81D7B08 - setbyte cEFFECT_CHOOSER, 0x8 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_FLINCH + goto BattleScript_EffectHit BattleScript_EffectEarthquake:: @ 81D7B13 attackcanceler attackstring ppreduce - selectnexttarget + selectfirstvalidtarget BattleScript_81D7B17:: @ 81D7B17 - atk25 - jumpifspecialstatusflag BS_TARGET, 0x80, 0x1, BattleScript_81D7B37 + movevaluescleanup + jumpifstatus3condition BS_TARGET, 0x80, 0x1, BattleScript_81D7B37 orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND setbyte sDMG_MULTIPLIER, 0x2 - jump BattleScript_81D7B46 + goto BattleScript_81D7B46 BattleScript_81D7B37:: @ 81D7B37 bicword gHitMarker, 0x20000 @@ -1921,15 +1917,15 @@ BattleScript_81D7B37:: @ 81D7B37 BattleScript_81D7B46:: @ 81D7B46 accuracycheck BattleScript_81D7B7F, 0x0 critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 @@ -1937,44 +1933,42 @@ BattleScript_81D7B46:: @ 81D7B46 waitmessage 0x40 printstring STRINGID_EMPTYSTRING3 waitmessage 0x1 - faintpokemon BS_TARGET, 0x0, NULL - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 - jumpwhiletargetvalid BattleScript_81D7B17 + tryfaintmon BS_TARGET, 0x0, NULL + moveendto 0x10 + jumpifnexttargetvalid BattleScript_81D7B17 end BattleScript_81D7B7F:: @ 81D7B7F pause 0x20 - atk6 - missmessage + typecalc + effectivenesssound resultmessage waitmessage 0x40 - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 - jumpwhiletargetvalid BattleScript_81D7B17 + moveendto 0x10 + jumpifnexttargetvalid BattleScript_81D7B17 end BattleScript_EffectFutureSight:: @ 81D7B97 attackcanceler attackstring ppreduce - setfutureattack BattleScript_ButItFailed + trysetfutureattack BattleScript_ButItFailed attackanimation waitanimation printfromtable gFutureMoveUsedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectGust:: @ 81D7BAE - jumpifspecialstatusflag BS_TARGET, 0x40, 0x1, BattleScript_EffectHit + jumpifstatus3condition BS_TARGET, 0x40, 0x1, BattleScript_EffectHit orword gHitMarker, HITMARKER_IGNORE_ON_AIR setbyte sDMG_MULTIPLIER, 0x2 - jump BattleScript_EffectHit + goto BattleScript_EffectHit BattleScript_EffectFlinchMinimizeHit:: @ 81D7BCD - jumpifspecialstatusflag BS_TARGET, 0x100, 0x1, BattleScript_81D7B08 + jumpifstatus3condition BS_TARGET, 0x100, 0x1, BattleScript_81D7B08 setbyte sDMG_MULTIPLIER, 0x2 - jump BattleScript_81D7B08 + goto BattleScript_81D7B08 BattleScript_EffectSolarbeam:: @ 81D7BE3 jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_81D7BFB @@ -1982,30 +1976,30 @@ BattleScript_EffectSolarbeam:: @ 81D7BE3 jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 0x60, BattleScript_81D7C23 BattleScript_81D7BFB:: @ 81D7BFB - jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D6F29 + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 setbyte sTWOTURN_STRINGID, 0x1 - callatk BattleScript_81D6F58 - jump BattleScript_MoveEnd + call BattleScript_81D6F58 + goto BattleScript_MoveEnd BattleScript_81D7C23:: @ 81D7C23 orword gHitMarker, HITMARKER_CHARGING - setbyte cEFFECT_CHOOSER, 0x4C - seteffecttarget + setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER + seteffectprimary ppreduce - jump BattleScript_81D6F29 + goto BattleScript_81D6F29 BattleScript_EffectThunder:: @ 81D7C39 - setbyte cEFFECT_CHOOSER, 0x5 + setmoveeffect MOVE_EFFECT_PARALYSIS orword gHitMarker, HITMARKER_IGNORE_ON_AIR - jump BattleScript_EffectHit + goto BattleScript_EffectHit BattleScript_EffectTeleport:: @ 81D7C4D attackcanceler attackstring ppreduce jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_ButItFailed - atk76 0x1, BS_EFFECT_BATTLER + various BS_ATTACKER, 0x2 jumpifbyte CMP_EQUAL, gBattleCommunication, 0x1, BattleScript_ButItFailed jumpifbyte CMP_EQUAL, gBattleCommunication, 0x2, BattleScript_81D8255 attackanimation @@ -2013,7 +2007,7 @@ BattleScript_EffectTeleport:: @ 81D7C4D printstring STRINGID_PKMNFLEDFROMBATTLE waitmessage 0x40 setbyte gBattleOutcome, 0x5 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectBeatUp:: @ 81D7C8A attackcanceler @@ -2024,118 +2018,117 @@ BattleScript_EffectBeatUp:: @ 81D7C8A setbyte gBattleCommunication, 0x0 BattleScript_81D7C9D:: @ 81D7C9D - atk25 - beatupcalculation BattleScript_81D7CE0, BattleScript_ButItFailed + movevaluescleanup + trydobeatup BattleScript_81D7CE0, BattleScript_ButItFailed printstring STRINGID_PKMNATTACK critcalc jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 0x2, BattleScript_81D7CB8 manipulatedamage 0x2 BattleScript_81D7CB8:: @ 81D7CB8 - atk7 + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 resultmessage waitmessage 0x40 - faintpokemon BS_TARGET, 0x0, NULL - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 - jump BattleScript_81D7C9D + tryfaintmon BS_TARGET, 0x0, NULL + moveendto 0x10 + goto BattleScript_81D7C9D BattleScript_81D7CE0:: @ 81D7CE0 end BattleScript_EffectSemiInvulnerable:: @ 81D7CE1 - jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D7D4F + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7D4F jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D7D4F - jumpifhalfword CMP_EQUAL, gCurrentMove, 0x13, BattleScript_81D7D3E - jumpifhalfword CMP_EQUAL, gCurrentMove, 0x123, BattleScript_81D7D33 - jumpifhalfword CMP_EQUAL, gCurrentMove, 0x154, BattleScript_81D7D28 + jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_FLY, BattleScript_81D7D3E + jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_DIVE, BattleScript_81D7D33 + jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_81D7D28 setbyte sTWOTURN_STRINGID, 0x5 - jump BattleScript_81D7D44 + goto BattleScript_81D7D44 BattleScript_81D7D28:: @ 81D7D28 setbyte sTWOTURN_STRINGID, 0x7 - jump BattleScript_81D7D44 + goto BattleScript_81D7D44 BattleScript_81D7D33:: @ 81D7D33 setbyte sTWOTURN_STRINGID, 0x6 - jump BattleScript_81D7D44 + goto BattleScript_81D7D44 BattleScript_81D7D3E:: @ 81D7D3E setbyte sTWOTURN_STRINGID, 0x4 BattleScript_81D7D44:: @ 81D7D44 - callatk BattleScript_81D6F58 - hidepreattack - jump BattleScript_MoveEnd + call BattleScript_81D6F58 + setsemiinvulnerablebit + goto BattleScript_MoveEnd BattleScript_81D7D4F:: @ 81D7D4F attackcanceler - setbyte cEFFECT_CHOOSER, 0xC + setmoveeffect MOVE_EFFECT_CHARGING setbyte sB_ANIM_TURN, 0x1 - clearstatus BS_ATTACKER + clearstatusfromeffect BS_ATTACKER orword gHitMarker, HITMARKER_NO_PPDEDUCT - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, 0x154, BattleScript_81D7D79 - setbyte cEFFECT_CHOOSER, 0x5 + jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_81D7D79 + setmoveeffect MOVE_EFFECT_PARALYSIS BattleScript_81D7D79:: @ 81D7D79 accuracycheck BattleScript_81D7D86, 0x0 - unhidepostattack - jump BattleScript_81D692E + clearsemiinvulnerablebit + goto BattleScript_81D692E BattleScript_81D7D86:: @ 81D7D86 - unhidepostattack - jump BattleScript_81D695E + clearsemiinvulnerablebit + goto BattleScript_81D695E BattleScript_EffectDefenseCurl:: @ 81D7D8C attackcanceler attackstring ppreduce - setcurled - setbyte sSTATCHANGER, 0x12 + setdefensecurlbit + setstatchanger STAT_DEF, 1, FALSE statbuffchange 0x41, BattleScript_81D7DA9 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6BC4 attackanimation waitanimation BattleScript_81D7DA9:: @ 81D7DA9 - jump BattleScript_81D6BBC + goto BattleScript_81D6BBC BattleScript_EffectSoftboiled:: @ 81D7DAE attackcanceler attackstring ppreduce - setdamageasrestorehalfmaxhp BattleScript_AlreadyAtFullHp, 0x0 + tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_TARGET BattleScript_PresentHealTarget:: @ 81D7DB7 attackanimation waitanimation orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_TARGET + healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNREGAINEDHEALTH waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_AlreadyAtFullHp:: @ 81D7DD1 pause 0x20 printstring STRINGID_PKMNHPFULL waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectFakeOut:: @ 81D7DDF attackcanceler jumpifnotfirstturn BattleScript_81D7DF0 - setbyte cEFFECT_CHOOSER, 0x88 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_FLINCH | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit BattleScript_81D7DF0:: @ 81D7DF0 attackstring @@ -2148,26 +2141,26 @@ BattleScript_ButItFailed:: @ 81D7DF2 orbyte gMoveResultFlags, 0x20 resultmessage waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D7E04:: @ 81D7E04 pause 0x20 orbyte gMoveResultFlags, 0x8 resultmessage waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectUproar:: @ 81D7E16 attackcanceler accuracycheck BattleScript_81D695E, 0x0 - setbyte cEFFECT_CHOOSER, 0x4A + setmoveeffect MOVE_EFFECT_UPROAR | MOVE_EFFECT_AFFECTS_USER attackstring - jumpifsecondarytstatus BS_ATTACKER, 0x1000, BattleScript_81D7E30 + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7E30 ppreduce BattleScript_81D7E30:: @ 81D7E30 - nop3 - jump BattleScript_HitFromCritCalc + nop + goto BattleScript_HitFromCritCalc BattleScript_EffectStockpile:: @ 81D7E36 attackcanceler @@ -2178,7 +2171,7 @@ BattleScript_EffectStockpile:: @ 81D7E36 waitanimation printfromtable gStockpileUsedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSpitUp:: @ 81D7E49 attackcanceler @@ -2187,15 +2180,15 @@ BattleScript_EffectSpitUp:: @ 81D7E49 ppreduce accuracycheck BattleScript_81D695E, 0x0 stockpiletobasedamage BattleScript_81D7E6A - atk6 - atk69 - jump BattleScript_81D6934 + typecalc + adjustsetdamage + goto BattleScript_81D6934 BattleScript_81D7E6A:: @ 81D7E6A pause 0x20 printstring STRINGID_FAILEDTOSPITUP waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D7E78:: @ 81D7E78 attackstring @@ -2204,27 +2197,27 @@ BattleScript_81D7E78:: @ 81D7E78 stockpiletobasedamage BattleScript_81D7E6A resultmessage waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSwallow:: @ 81D7E8B attackcanceler attackstring ppreduce - stockpiletohprecovery BattleScript_81D7E98 - jump BattleScript_PresentHealTarget + stockpiletohpheal BattleScript_81D7E98 + goto BattleScript_PresentHealTarget BattleScript_81D7E98:: @ 81D7E98 pause 0x20 printfromtable gSwallowFailStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectHail:: @ 81D7EA8 attackcanceler attackstring ppreduce sethail - jump BattleScript_81D7A14 + goto BattleScript_81D7A14 BattleScript_EffectTorment:: @ 81D7EB1 attackcanceler @@ -2236,60 +2229,60 @@ BattleScript_EffectTorment:: @ 81D7EB1 waitanimation printstring STRINGID_PKMNSUBJECTEDTOTORMENT waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectFlatter:: @ 81D7ECD attackcanceler - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D6958 + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958 accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - jumpifconfusedandattackmaxed BS_ATTACKER_WITH_PARTNER, BattleScript_ButItFailed + jumpifconfusedandstatmaxed 0x4, BattleScript_ButItFailed attackanimation waitanimation - setbyte sSTATCHANGER, 0x14 + setstatchanger STAT_SPATK, 1, FALSE statbuffchange 0x1, BattleScript_81D7F10 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D7F10 - atk47 + setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D7F10:: @ 81D7F10 - jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39 - setbyte cEFFECT_CHOOSER, 0x7 - seteffecttarget - jump BattleScript_MoveEnd + jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D9460 + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + setmoveeffect MOVE_EFFECT_CONFUSION + seteffectprimary + goto BattleScript_MoveEnd BattleScript_EffectWillOWisp:: @ 81D7F2B attackcanceler attackstring ppreduce - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed - jumpifstatus BS_TARGET, 0x10, BattleScript_81D7F91 + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_BURN, BattleScript_81D7F91 jumpiftype BS_TARGET, 0xA, BattleScript_81D7E04 - jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_81D7F77 - jumpifstatus BS_TARGET, 0xFF, BattleScript_ButItFailed + jumpifability 0x0, ABILITY_WATER_VEIL, BattleScript_81D7F77 + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0x0 - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 attackanimation waitanimation - setbyte cEFFECT_CHOOSER, 0x3 - seteffecttarget - jump BattleScript_MoveEnd + setmoveeffect MOVE_EFFECT_BURN + seteffectprimary + goto BattleScript_MoveEnd BattleScript_81D7F77:: @ 81D7F77 copyarray gEffectBattler, gBattlerTarget, 0x1 setbyte cMULTISTRING_CHOOSER, 0x0 - callatk BattleScript_BRNPrevention - jump BattleScript_MoveEnd + call BattleScript_BRNPrevention + goto BattleScript_MoveEnd BattleScript_81D7F91:: @ 81D7F91 pause 0x20 printstring STRINGID_PKMNALREADYHASBURN waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectMemento:: @ 81D7F9F attackcanceler @@ -2297,14 +2290,14 @@ BattleScript_EffectMemento:: @ 81D7F9F attackstring ppreduce jumpifattackandspecialattackcannotfall BattleScript_ButItFailed - setuserhptozero + setatkhptozero attackanimation waitanimation - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D801B + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D801B setbyte sSTAT_ANIM_PLAYED, 0x0 playstatchangeanimation BS_TARGET, 0x12, 0x7 playstatchangeanimation BS_TARGET, 0x2, 0x3 - setbyte sSTATCHANGER, 0xA1 + setstatchanger STAT_ATK, 2, TRUE statbuffchange 0x1, BattleScript_81D7FEC jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D7FEC printfromtable gStatDownStringIds @@ -2312,20 +2305,20 @@ BattleScript_EffectMemento:: @ 81D7F9F BattleScript_81D7FEC:: @ 81D7FEC playstatchangeanimation BS_TARGET, 0x10, 0x3 - setbyte sSTATCHANGER, 0xA4 + setstatchanger STAT_SPATK, 2, TRUE statbuffchange 0x1, BattleScript_81D800F jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D800F printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_81D800F:: @ 81D800F - faintpokemon BS_ATTACKER, 0x0, NULL - jump BattleScript_MoveEnd + tryfaintmon BS_ATTACKER, 0x0, NULL + goto BattleScript_MoveEnd BattleScript_81D801B:: @ 81D801B printstring STRINGID_BUTNOEFFECT waitmessage 0x40 - jump BattleScript_81D800F + goto BattleScript_81D800F BattleScript_81D8026:: @ 81D8026 attackstring @@ -2333,21 +2326,21 @@ BattleScript_81D8026:: @ 81D8026 jumpifattackandspecialattackcannotfall BattleScript_81D802D BattleScript_81D802D:: @ 81D802D - setuserhptozero + setatkhptozero pause 0x40 - missmessage + effectivenesssound resultmessage waitmessage 0x40 - faintpokemon BS_ATTACKER, 0x0, NULL - jump BattleScript_MoveEnd + tryfaintmon BS_ATTACKER, 0x0, NULL + goto BattleScript_MoveEnd BattleScript_EffectFacade:: @ 81D8042 - jumpifstatus BS_ATTACKER, 0xD8, BattleScript_81D8051 - jump BattleScript_EffectHit + jumpifstatus BS_ATTACKER, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_POISON, BattleScript_81D8051 + goto BattleScript_EffectHit BattleScript_81D8051:: @ 81D8051 setbyte sDMG_MULTIPLIER, 0x2 - jump BattleScript_EffectHit + goto BattleScript_EffectHit BattleScript_EffectFocusPunch:: @ 81D805C attackcanceler @@ -2355,17 +2348,17 @@ BattleScript_EffectFocusPunch:: @ 81D805C ppreduce printstring STRINGID_PKMNLOSTFOCUS waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSmellingsalt:: @ 81D806E - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_EffectHit - setbyte cEFFECT_CHOOSER, 0xA4 - jumpifstatus BS_TARGET, 0x40, BattleScript_81D808D - jump BattleScript_EffectHit + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_REMOVE_PARALYSIS | MOVE_EFFECT_CERTAIN + jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D808D + goto BattleScript_EffectHit BattleScript_81D808D:: @ 81D808D setbyte sDMG_MULTIPLIER, 0x2 - jump BattleScript_EffectHit + goto BattleScript_EffectHit BattleScript_EffectFollowMe:: @ 81D8098 attackcanceler @@ -2376,7 +2369,7 @@ BattleScript_EffectFollowMe:: @ 81D8098 waitanimation printstring STRINGID_PKMNCENTERATTENTION waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectNaturePower:: @ 81D80A9 attackcanceler @@ -2396,7 +2389,7 @@ BattleScript_EffectCharge:: @ 81D80B6 waitanimation printstring STRINGID_PKMNCHARGINGPOWER waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectTaunt:: @ 81D80C7 attackcanceler @@ -2408,54 +2401,54 @@ BattleScript_EffectTaunt:: @ 81D80C7 waitanimation printstring STRINGID_PKMNFELLFORTAUNT waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectHelpingHand:: @ 81D80E3 attackcanceler attackstring ppreduce - sethelpinghand BattleScript_ButItFailed + trysethelpinghand BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNREADYTOHELP waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectTrick:: @ 81D80F8 attackcanceler attackstring ppreduce - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, 0x0 - itemswap BattleScript_ButItFailed + tryswapitems BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNSWITCHEDITEMS waitmessage 0x40 printfromtable gItemSwapStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectRolePlay:: @ 81D8126 attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 0xFFFF - copyability BattleScript_ButItFailed + trycopyability BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNCOPIEDFOE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectWish:: @ 81D8142 attackcanceler attackstring ppreduce - atkd4 0x0, BattleScript_ButItFailed + trywish 0x0, BattleScript_ButItFailed attackanimation waitanimation - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectAssist:: @ 81D8152 attackcanceler @@ -2465,59 +2458,59 @@ BattleScript_EffectAssist:: @ 81D8152 waitanimation setbyte sB_ANIM_TURN, 0x0 setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptoattack BS_ATTACKER + jumptocalledmove 0x1 BattleScript_EffectIngrain:: @ 81D8169 attackcanceler attackstring ppreduce - setroots BattleScript_ButItFailed + trysetroots BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNPLANTEDROOTS waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSuperpower:: @ 81D817E - setbyte cEFFECT_CHOOSER, 0xE5 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_ATK_DEF_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit BattleScript_EffectMagicCoat:: @ 81D8189 attackcanceler - setmagiccoat BattleScript_81D7DF0 + trysetmagiccoat BattleScript_81D7DF0 attackstring ppreduce attackanimation waitanimation printstring STRINGID_PKMNSHROUDEDITSELF waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectRecycle:: @ 81D819E attackcanceler attackstring ppreduce - recycleitem BattleScript_ButItFailed + tryrecycleitem BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_XFOUNDONEY waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectRevenge:: @ 81D81B3 doubledamagedealtifdamaged - jump BattleScript_EffectHit + goto BattleScript_EffectHit BattleScript_EffectBrickBreak:: @ 81D81B9 attackcanceler accuracycheck BattleScript_81D695E, 0x0 attackstring ppreduce - removereflectlightscreen + removelightscreenreflect critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0x0, BattleScript_81D81D9 bicbyte gMoveResultFlags, 0x9 @@ -2529,36 +2522,36 @@ BattleScript_81D81D9:: @ 81D81D9 waitmessage 0x40 BattleScript_81D81EC:: @ 81D81EC - damagecalc2 - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + typecalc2 + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 resultmessage waitmessage 0x40 - seteffectwithchancetarget - faintpokemon BS_TARGET, 0x0, NULL - jump BattleScript_MoveEnd + seteffectwithchance + tryfaintmon BS_TARGET, 0x0, NULL + goto BattleScript_MoveEnd BattleScript_EffectYawn:: @ 81D820A attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_81D824B - jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_81D824B - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_ButItFailed - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifability 0x0, ABILITY_VITAL_SPIRIT, BattleScript_81D824B + jumpifability 0x0, ABILITY_INSOMNIA, BattleScript_81D824B + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 accuracycheck BattleScript_ButItFailed, 0xFFFF - jumpifcannotsleep BattleScript_ButItFailed + jumpifcantmakeasleep BattleScript_ButItFailed setyawn BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNWASMADEDROWSY waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D824B:: @ 81D824B copyarray sBATTLER, sBATTLER_WITH_ABILITY, 0x1 @@ -2567,11 +2560,11 @@ BattleScript_81D8255:: @ 81D8255 pause 0x20 printstring STRINGID_PKMNSXMADEITINEFFECTIVE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectKnockOff:: @ 81D8263 - setbyte cEFFECT_CHOOSER, 0x36 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_KNOCK_OFF + goto BattleScript_EffectHit BattleScript_EffectEndeavor:: @ 81D826E attackcanceler @@ -2580,39 +2573,39 @@ BattleScript_EffectEndeavor:: @ 81D826E setdamagetohealthdifference BattleScript_ButItFailed copyarray gHpDealt, gBattleMoveDamage, 0x4 accuracycheck BattleScript_MoveMissedPause, 0x0 - atk6 + typecalc jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6934 bicbyte gMoveResultFlags, 0x6 copyarray gBattleMoveDamage, gHpDealt, 0x4 - atk69 - jump BattleScript_81D6934 + adjustsetdamage + goto BattleScript_81D6934 BattleScript_EffectEruption:: @ 81D82A9 scaledamagebyhealthratio - jump BattleScript_EffectHit + goto BattleScript_EffectHit BattleScript_EffectSkillSwap:: @ 81D82AF attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, 0xFFFF - abilityswap BattleScript_ButItFailed + tryswapabilities BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNSWAPPEDABILITIES waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectImprison:: @ 81D82CB attackcanceler attackstring ppreduce - imprisoneffect BattleScript_ButItFailed + tryimprison BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNSEALEDOPPONENTMOVE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectRefresh:: @ 81D82E0 attackcanceler @@ -2623,23 +2616,23 @@ BattleScript_EffectRefresh:: @ 81D82E0 waitanimation printstring STRINGID_PKMNSTATUSNORMAL waitmessage 0x40 - atk98 0x1 - jump BattleScript_MoveEnd + updatestatusicon BS_ATTACKER + goto BattleScript_MoveEnd BattleScript_EffectGrudge:: @ 81D82F7 attackcanceler attackstring ppreduce - setgrudge BattleScript_ButItFailed + trysetgrudge BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNWANTSGRUDGE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSnatch:: @ 81D830C attackcanceler - setstealstatchange BattleScript_81D7DF0 + trysetsnatch BattleScript_81D7DF0 attackstring ppreduce attackanimation @@ -2647,7 +2640,7 @@ BattleScript_EffectSnatch:: @ 81D830C pause 0x20 printstring STRINGID_PKMNWAITSFORTARGET waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectLowKick:: @ 81D8324 attackcanceler @@ -2655,15 +2648,15 @@ BattleScript_EffectLowKick:: @ 81D8324 ppreduce weightdamagecalculation accuracycheck BattleScript_MoveMissedPause, 0x0 - jump BattleScript_HitFromCritCalc + goto BattleScript_HitFromCritCalc BattleScript_EffectSecretPower:: @ 81D8334 - naturepowereffect - jump BattleScript_EffectHit + getsecretpowereffect + goto BattleScript_EffectHit BattleScript_EffectDoubleEdge:: @ 81D833A - setbyte cEFFECT_CHOOSER, 0xE6 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_RECOIL_33 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit BattleScript_EffectTeeterDance:: @ 81D8345 attackcanceler @@ -2672,23 +2665,22 @@ BattleScript_EffectTeeterDance:: @ 81D8345 setbyte gBattlerTarget, 0x0 BattleScript_81D834E:: @ 81D834E - atk25 - setbyte cEFFECT_CHOOSER, 0x7 + movevaluescleanup + setmoveeffect MOVE_EFFECT_CONFUSION jumpifarrayequal gBattlerAttacker, gBattlerTarget, 0x1, BattleScript_81D8394 - jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D83B2 - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D83CE - jumpifsecondarytstatus BS_TARGET, 0x7, BattleScript_81D83DC + jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D83B2 + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D83CE + jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D83DC accuracycheck BattleScript_81D83EA, 0x0 - jumpifhalverset BS_TARGET, 0x20, BattleScript_81D83C0 + jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D83C0 attackanimation waitanimation - seteffecttarget + seteffectprimary resultmessage waitmessage 0x40 BattleScript_81D8394:: @ 81D8394 - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 + moveendto 0x10 addbyte gBattlerTarget, 0x1 jumpifarraynotequal gBattlerTarget, gBattlersCount, 0x1, BattleScript_81D834E end @@ -2697,30 +2689,30 @@ BattleScript_81D83B2:: @ 81D83B2 pause 0x20 printstring STRINGID_PKMNPREVENTSCONFUSIONWITH waitmessage 0x40 - jump BattleScript_81D8394 + goto BattleScript_81D8394 BattleScript_81D83C0:: @ 81D83C0 pause 0x20 printstring STRINGID_PKMNUSEDSAFEGUARD waitmessage 0x40 - jump BattleScript_81D8394 + goto BattleScript_81D8394 BattleScript_81D83CE:: @ 81D83CE pause 0x20 printstring STRINGID_BUTITFAILED waitmessage 0x40 - jump BattleScript_81D8394 + goto BattleScript_81D8394 BattleScript_81D83DC:: @ 81D83DC pause 0x20 printstring STRINGID_PKMNALREADYCONFUSED waitmessage 0x40 - jump BattleScript_81D8394 + goto BattleScript_81D8394 BattleScript_81D83EA:: @ 81D83EA resultmessage waitmessage 0x40 - jump BattleScript_81D8394 + goto BattleScript_81D8394 BattleScript_EffectMudSport:: @ 81D83F3 attackcanceler @@ -2731,26 +2723,26 @@ BattleScript_EffectMudSport:: @ 81D83F3 waitanimation printfromtable gSportsUsedStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectPoisonFang:: @ 81D840A - setbyte cEFFECT_CHOOSER, 0x6 - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_TOXIC + goto BattleScript_EffectHit BattleScript_EffectWeatherBall:: @ 81D8415 - seteffectbyweather - jump BattleScript_EffectHit + setweatherballtype + goto BattleScript_EffectHit BattleScript_EffectOverheat:: @ 81D841B - setbyte cEFFECT_CHOOSER, 0xFB - jump BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_SP_ATK_TWO_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit BattleScript_EffectTickle:: @ 81D8426 attackcanceler attackstring ppreduce - jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0x0, BattleScript_81D843B - jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0x0, BattleScript_81D8499 + jumpifstat BS_TARGET, CMP_GREATER_THAN, 0x1, 0x0, BattleScript_81D843B + jumpifstat BS_TARGET, CMP_EQUAL, 0x2, 0x0, BattleScript_81D8499 BattleScript_81D843B:: @ 81D843B accuracycheck BattleScript_ButItFailed, 0x0 @@ -2759,7 +2751,7 @@ BattleScript_81D843B:: @ 81D843B setbyte sSTAT_ANIM_PLAYED, 0x0 playstatchangeanimation BS_TARGET, 0x6, 0x5 playstatchangeanimation BS_TARGET, 0x2, 0x1 - setbyte sSTATCHANGER, 0x91 + setstatchanger STAT_ATK, 1, TRUE statbuffchange 0x1, BattleScript_81D8471 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8471 printfromtable gStatDownStringIds @@ -2767,144 +2759,144 @@ BattleScript_81D843B:: @ 81D843B BattleScript_81D8471:: @ 81D8471 playstatchangeanimation BS_TARGET, 0x4, 0x1 - setbyte sSTATCHANGER, 0x92 + setstatchanger STAT_DEF, 1, TRUE statbuffchange 0x1, BattleScript_81D8494 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8494 printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_81D8494:: @ 81D8494 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D8499:: @ 81D8499 pause 0x20 orbyte gMoveResultFlags, 0x20 printstring STRINGID_STATSWONTDECREASE2 waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectCosmicPower:: @ 81D84AD attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_81D84C2 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_81D85E7 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x2, 0xC, BattleScript_81D84C2 + jumpifstat BS_ATTACKER, CMP_EQUAL, 0x5, 0xC, BattleScript_81D85E7 BattleScript_81D84C2:: @ 81D84C2 attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0x0 playstatchangeanimation BS_ATTACKER, 0x24, 0x0 - setbyte sSTATCHANGER, 0x12 + setstatchanger STAT_DEF, 1, FALSE statbuffchange 0x41, BattleScript_81D84ED jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D84ED printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D84ED:: @ 81D84ED - setbyte sSTATCHANGER, 0x15 + setstatchanger STAT_SPDEF, 1, FALSE statbuffchange 0x41, BattleScript_81D850C jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D850C printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D850C:: @ 81D850C - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectSkyUppercut:: @ 81D8511 orword gHitMarker, HITMARKER_IGNORE_ON_AIR - jump BattleScript_EffectHit + goto BattleScript_EffectHit BattleScript_EffectBulkUp:: @ 81D851F attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_81D8534 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_81D85E7 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x1, 0xC, BattleScript_81D8534 + jumpifstat BS_ATTACKER, CMP_EQUAL, 0x2, 0xC, BattleScript_81D85E7 BattleScript_81D8534:: @ 81D8534 attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0x0 playstatchangeanimation BS_ATTACKER, 0x6, 0x0 - setbyte sSTATCHANGER, 0x11 + setstatchanger STAT_ATK, 1, FALSE statbuffchange 0x41, BattleScript_81D855F jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D855F printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D855F:: @ 81D855F - setbyte sSTATCHANGER, 0x12 + setstatchanger STAT_DEF, 1, FALSE statbuffchange 0x41, BattleScript_81D857E jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D857E printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D857E:: @ 81D857E - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectCalmMind:: @ 81D8583 attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_81D8598 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_81D85E7 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x4, 0xC, BattleScript_81D8598 + jumpifstat BS_ATTACKER, CMP_EQUAL, 0x5, 0xC, BattleScript_81D85E7 BattleScript_81D8598:: @ 81D8598 attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0x0 playstatchangeanimation BS_ATTACKER, 0x30, 0x0 - setbyte sSTATCHANGER, 0x14 + setstatchanger STAT_SPATK, 1, FALSE statbuffchange 0x41, BattleScript_81D85C3 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D85C3 printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D85C3:: @ 81D85C3 - setbyte sSTATCHANGER, 0x15 + setstatchanger STAT_SPDEF, 1, FALSE statbuffchange 0x41, BattleScript_81D85E2 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D85E2 printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D85E2:: @ 81D85E2 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D85E7:: @ 81D85E7 pause 0x20 orbyte gMoveResultFlags, 0x20 printstring STRINGID_STATSWONTINCREASE2 waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectDragonDance:: @ 81D85FB attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_81D8610 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 0xC, BattleScript_81D85E7 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x1, 0xC, BattleScript_81D8610 + jumpifstat BS_ATTACKER, CMP_EQUAL, 0x3, 0xC, BattleScript_81D85E7 BattleScript_81D8610:: @ 81D8610 attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0x0 playstatchangeanimation BS_ATTACKER, 0xA, 0x0 - setbyte sSTATCHANGER, 0x11 + setstatchanger STAT_ATK, 1, FALSE statbuffchange 0x41, BattleScript_81D863B jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D863B printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D863B:: @ 81D863B - setbyte sSTATCHANGER, 0x13 + setstatchanger STAT_SPEED, 1, FALSE statbuffchange 0x41, BattleScript_81D865A jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D865A printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D865A:: @ 81D865A - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectCamouflage:: @ 81D865F attackcanceler @@ -2915,29 +2907,29 @@ BattleScript_EffectCamouflage:: @ 81D865F waitanimation printstring STRINGID_PKMNCHANGEDTYPE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_FaintAttacker:: @ 81D8674 - atk56 0x1 + playfaintcry BS_ATTACKER pause 0x40 - atk1a 0x1 - atk1b BS_ATTACKER + dofaintanimation BS_ATTACKER + cleareffectsonfaint BS_ATTACKER printstring STRINGID_ATTACKERFAINTED printstring STRINGID_EMPTYSTRING3 return BattleScript_FaintTarget:: @ 81D8684 - atk56 0x0 + playfaintcry BS_TARGET pause 0x40 - atk1a 0x0 - atk1b BS_TARGET + dofaintanimation BS_TARGET + cleareffectsonfaint BS_TARGET printstring STRINGID_TARGETFAINTED printstring STRINGID_EMPTYSTRING3 return BattleScript_GiveExp:: @ 81D8694 setbyte sGIVEEXP_STATE, 0x0 - atk23 BS_TARGET + getexp BS_TARGET end2 BattleScript_HandleFaintedMon:: @ 81D869D @@ -2947,61 +2939,61 @@ BattleScript_HandleFaintedMon:: @ 81D869D jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D86E6 printstring STRINGID_USENEXTPKMN setbyte gBattleCommunication, 0x0 - atk67 + yesnobox jumpifbyte CMP_EQUAL, gBattleCommunication + 0x1, 0x0, BattleScript_81D86E6 - atk72 BattleScript_81D87B7 + jumpifplayerran BattleScript_81D87B7 printstring STRINGID_CANTESCAPE2 BattleScript_81D86E6:: @ 81D86E6 openpartyscreen 0x3, BattleScript_81D87B7 - atk51 BS_FAINTED, 0x2 + switchhandleorder BS_FAINTED, 0x2 jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8792 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_LINK, BattleScript_81D8792 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER, BattleScript_81D8792 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D8792 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D8792 jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 0x1, BattleScript_81D8792 - jumpifcannotswitch BS_PLAYER1, BattleScript_81D8792 + jumpifcantswitch BS_PLAYER1, BattleScript_81D8792 printstring STRINGID_ENEMYABOUTTOSWITCHPKMN setbyte gBattleCommunication, 0x0 - atk67 + yesnobox jumpifbyte CMP_EQUAL, gBattleCommunication + 0x1, 0x1, BattleScript_81D8792 - atk6e + setatktoplayer0 openpartyscreen 0x81, BattleScript_81D8792 - atk51 BS_ATTACKER, 0x2 + switchhandleorder BS_ATTACKER, 0x2 jumpifbyte CMP_EQUAL, gBattleCommunication, 0x6, BattleScript_81D8792 - atk6b - atk76 0x1, 0x5 - atk74 BS_ATTACKER + atknameinbuff1 + various BS_ATTACKER, 0x5 + hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON - atke2 BS_ATTACKER - waitstateatk - atk4b - waitstateatk - atk61 0x1 - switch1 BS_ATTACKER - switch2 BS_ATTACKER - atk73 BS_ATTACKER + switchoutabilities BS_ATTACKER + waitstate + returnatktoball + waitstate + drawpartystatussummary BS_ATTACKER + getswitchedmondata BS_ATTACKER + switchindataupdate BS_ATTACKER + hpthresholds BS_ATTACKER printstring STRINGID_SWITCHINMON - atk62_hidepartystatussummary 0x1 - switch3 BS_ATTACKER, 0x0 - waitstateatk - atk52 BS_ATTACKER - atk6d + hidepartystatussummary BS_ATTACKER + switchinanim BS_ATTACKER, 0x0 + waitstate + switchineffects BS_ATTACKER + resetsentmonsvalue BattleScript_81D8792:: @ 81D8792 - atk61 0x3 - switch1 BS_FAINTED - switch2 BS_FAINTED - atk73 BS_FAINTED + drawpartystatussummary BS_FAINTED + getswitchedmondata BS_FAINTED + switchindataupdate BS_FAINTED + hpthresholds BS_FAINTED printstring STRINGID_SWITCHINMON - atk62_hidepartystatussummary 0x3 - switch3 BS_FAINTED, 0x0 - waitstateatk - atk76 0x1, BS_BATTLER_0 - atk52 BS_FAINTED + hidepartystatussummary BS_FAINTED + switchinanim BS_FAINTED, 0x0 + waitstate + various BS_ATTACKER, 0x7 + switchineffects BS_FAINTED jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D87B7 - atk68 + cancelallactions BattleScript_81D87B7:: @ 81D87B7 end2 @@ -3010,21 +3002,21 @@ BattleScript_81D87B8:: @ 81D87B8 openpartyscreen 0x5, BattleScript_81D87BE BattleScript_81D87BE:: @ 81D87BE - atk51 BS_FAINTED, 0x0 + switchhandleorder BS_FAINTED, 0x0 openpartyscreen 0x6, BattleScript_81D87EE - atk51 BS_FAINTED, 0x0 + switchhandleorder BS_FAINTED, 0x0 BattleScript_81D87CA:: @ 81D87CA - atk51 BS_FAINTED, 0x2 - atk61 0x3 - switch1 BS_FAINTED - switch2 BS_FAINTED - atk73 BS_FAINTED + switchhandleorder BS_FAINTED, 0x2 + drawpartystatussummary BS_FAINTED + getswitchedmondata BS_FAINTED + switchindataupdate BS_FAINTED + hpthresholds BS_FAINTED printstring STRINGID_SWITCHINMON - atk62_hidepartystatussummary 0x3 - switch3 BS_FAINTED, 0x0 - waitstateatk - atk52 0x5 + hidepartystatussummary BS_FAINTED + switchinanim BS_FAINTED, 0x0 + waitstate + switchineffects 0x5 jumpifarraynotequal gBattlerFainted, gBattlersCount, 0x1, BattleScript_81D87CA BattleScript_81D87EE:: @ 81D87EE @@ -3032,18 +3024,18 @@ BattleScript_81D87EE:: @ 81D87EE BattleScript_LocalTrainerBattleWon:: @ 81D87EF printstring STRINGID_PLAYERDEFEATEDTRAINER1 - atk53 BS_ATTACKER - waitstateatk + trainerslidein BS_ATTACKER + waitstate printstring STRINGID_TRAINER1LOSETEXT - atk5d BattleScript_81D87FD + getmoneyreward BattleScript_81D87FD BattleScript_81D87FD:: @ 81D87FD printstring STRINGID_PLAYERGOTMONEY waitmessage 0x40 BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8803 - givemoney - pickupitemcalculation + givepaydaymoney + pickup end2 BattleScript_LocalBattleLost:: @ 81D8806 @@ -3056,15 +3048,15 @@ BattleScript_81D8839:: @ 81D8839 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D885D printstring STRINGID_PLAYERWHITEOUT waitmessage 0x40 - atk5d BattleScript_81D886F + getmoneyreward BattleScript_81D886F printstring STRINGID_PLAYERWHITEOUT2 waitmessage 0x40 - jump BattleScript_81D886E + goto BattleScript_81D886E BattleScript_81D885D:: @ 81D885D printstring STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER waitmessage 0x40 - atk5d BattleScript_81D886F + getmoneyreward BattleScript_81D886F printstring STRINGID_PLAYERPAIDPRIZEMONEY waitmessage 0x40 @@ -3077,32 +3069,32 @@ BattleScript_81D886F:: @ 81D886F end2 BattleScript_81D8876:: @ 81D8876 - jumpiffainted BS_ATTACKER, BattleScript_81D8884 + jumpifhasnohp BS_ATTACKER, BattleScript_81D8884 printstring STRINGID_TRAINER1MON1COMEBACK waitmessage 0x40 - atk4b - waitstateatk + returnatktoball + waitstate BattleScript_81D8884:: @ 81D8884 - atk53 BS_ATTACKER - waitstateatk + trainerslidein BS_ATTACKER + waitstate printstring STRINGID_TRAINER1WINTEXT jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8839 end2 BattleScript_81D8896:: @ 81D8896 - atk76 0x1, BS_ATTACKER_SIDE + various BS_ATTACKER, 0x8 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D88B4 printfromtable gDoubleBattleRecallStrings waitmessage 0x40 - atk76 0x1, BS_NOT_ATTACKER_SIDE - waitstateatk - atk76 0x1, BS_SCRIPTING - waitstateatk + various BS_ATTACKER, 0x9 + waitstate + various BS_ATTACKER, 0xA + waitstate BattleScript_81D88B4:: @ 81D88B4 - atk53 BS_ATTACKER - waitstateatk + trainerslidein BS_ATTACKER + waitstate printstring STRINGID_TRAINER1WINTEXT jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88CB printstring STRINGID_TRAINER2NAME @@ -3119,15 +3111,15 @@ BattleScript_LinkBattleWonOrLost:: @ 81D88CC gUnknown_81D88D7:: @ 81D88D7 printstring STRINGID_PLAYERDEFEATEDTRAINER1 - atk53 BS_ATTACKER - waitstateatk + trainerslidein BS_ATTACKER + waitstate jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D88FF printstring STRINGID_TRAINER1LOSETEXT jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88FF printstring STRINGID_TRAINER2CLASS BattleScript_81D88FF:: @ 81D88FF - pickupitemcalculation + pickup end2 BattleScript_SmokeBallEscape:: @ 81D8901 @@ -3166,51 +3158,49 @@ BattleScript_PrintFailedToRunString:: @ 81D893A end2 BattleScript_PrintCantEscapeFromBattle:: @ 81D8943 - printfromtable2 gNoEscapeStringIds - atk44 + printselectionstringfromtable gNoEscapeStringIds + endselectionscript BattleScript_PrintFullBox:: @ 81D8949 - printstring2 STRINGID_BOXISFULL - atk44 + printselectionstring STRINGID_BOXISFULL + endselectionscript BattleScript_ActionSwitch:: @ 81D894D - atk74 BS_ATTACKER + hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON setbyte sDMG_MULTIPLIER, 0x2 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D896D - atk26 0x1 - jump BattleScript_81D896F + setmultihit 0x1 + goto BattleScript_81D896F BattleScript_81D896D:: @ 81D896D - atk26 0x2 + setmultihit 0x2 BattleScript_81D896F:: @ 81D896F - atkba BattleScript_81D897C - atk5f - atkab - callatk BattleScript_81D89AF - atk5f + jumpifnopursuitswitchdmg BattleScript_81D897C + swapattackerwithtarget + trysetdestinybondtohappen + call BattleScript_81D89AF + swapattackerwithtarget BattleScript_81D897C:: @ 81D897C - atk27 BattleScript_81D896F - atke2 BS_ATTACKER - waitstateatk - atk4b - waitstateatk - atk61 0x1 - atk51 BS_ATTACKER, 0x1 - switch1 BS_ATTACKER - switch2 BS_ATTACKER - atk73 BS_ATTACKER + decrementmultihit BattleScript_81D896F + switchoutabilities BS_ATTACKER + waitstate + returnatktoball + waitstate + drawpartystatussummary BS_ATTACKER + switchhandleorder BS_ATTACKER, 0x1 + getswitchedmondata BS_ATTACKER + switchindataupdate BS_ATTACKER + hpthresholds BS_ATTACKER printstring STRINGID_SWITCHINMON - atk62_hidepartystatussummary 0x1 - switch3 BS_ATTACKER, 0x0 - waitstateatk - atk52 BS_ATTACKER - setbyte sMOVEEND_STATE, 0x4 - atk49 0x1, 0x0 - setbyte sMOVEEND_STATE, 0xF - atk49 0x1, 0x0 + hidepartystatussummary BS_ATTACKER + switchinanim BS_ATTACKER, 0x0 + waitstate + switchineffects BS_ATTACKER + moveendcase 0x4 + moveendcase 0xF end2 BattleScript_81D89AF:: @ 81D89AF @@ -3218,27 +3208,26 @@ BattleScript_81D89AF:: @ 81D89AF attackstring ppreduce critcalc - atk5 - atk6 - atk7 + damagecalc + typecalc + adjustnormaldamage attackanimation waitanimation - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage waitmessage 0x40 resultmessage waitmessage 0x40 - faintpokemon BS_TARGET, 0x0, NULL - setbyte sMOVEEND_STATE, 0x3 - atk49 0x2, 0x6 - atk76 0x0, BS_ATTACKER_WITH_PARTNER + tryfaintmon BS_TARGET, 0x0, NULL + moveendfromto 0x3, 0x6 + various BS_TARGET, 0x4 jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_81D89F0 setbyte sGIVEEXP_STATE, 0x0 - atk23 BS_TARGET + getexp BS_TARGET BattleScript_81D89F0:: @ 81D89F0 return @@ -3248,30 +3237,30 @@ BattleScript_Pausex20:: @ 81D89F1 return BattleScript_LevelUp:: @ 81D89F5 - atk55 MUS_FANFA1 + fanfare MUS_FANFA1 printstring STRINGID_PKMNGREWTOLV setbyte sLVLBOX_STATE, 0x0 - atk6c - checkiflearnmoveinbattle BattleScript_81D8A51, BattleScript_81D8A63, 0x1 - jump BattleScript_81D8A1B + drawlvlupbox + handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0x1 + goto BattleScript_81D8A1B BattleScript_81D8A11:: @ 81D8A11 - checkiflearnmoveinbattle BattleScript_81D8A51, BattleScript_81D8A63, 0x0 + handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0x0 BattleScript_81D8A1B:: @ 81D8A1B - atk71 + buffermovetolearn printstring STRINGID_TRYTOLEARNMOVE1 printstring STRINGID_TRYTOLEARNMOVE2 printstring STRINGID_TRYTOLEARNMOVE3 - waitstateatk + waitstate setbyte sLEARNMOVE_STATE, 0x0 - atk5a BattleScript_81D8A48 + yesnoboxlearnmove BattleScript_81D8A48 printstring STRINGID_STOPLEARNINGMOVE - waitstateatk + waitstate setbyte sLEARNMOVE_STATE, 0x0 - atk5b BattleScript_81D8A1B + yesnoboxstoplearningmove BattleScript_81D8A1B printstring STRINGID_DIDNOTLEARNMOVE - jump BattleScript_81D8A11 + goto BattleScript_81D8A11 BattleScript_81D8A48:: @ 81D8A48 printstring STRINGID_123POOF @@ -3279,12 +3268,12 @@ BattleScript_81D8A48:: @ 81D8A48 printstring STRINGID_ANDELLIPSIS BattleScript_81D8A51:: @ 81D8A51 - atk71 - atk55 MUS_FANFA1 + buffermovetolearn + fanfare MUS_FANFA1 printstring STRINGID_PKMNLEARNEDMOVE waitmessage 0x40 - atk76 0x1, 0x6 - jump BattleScript_81D8A11 + various BS_ATTACKER, 0x6 + goto BattleScript_81D8A11 BattleScript_81D8A63:: @ 81D8A63 return @@ -3301,21 +3290,21 @@ BattleScript_81D8A7E:: @ 81D8A7E BattleScript_DamagingWeatherContinues:: @ 81D8A7F printfromtable gSandStormHailContinuesStringIds waitmessage 0x40 - atk46 BS_ATTACKER, sB_ANIM_ARG1, NULL + playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL setbyte gBattleCommunication, 0x0 BattleScript_81D8A97:: @ 81D8A97 - atk32 gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 0x1 + copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 0x1 weatherdamage jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_81D8AD8 printfromtable gSandStormHailDmgStringIds waitmessage 0x40 orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE - missmessage - atk5c BS_ATTACKER - graphicalhpupdate BS_ATTACKER + effectivenesssound + hitanimation BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - faintpokemon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0x0, NULL atk24 BattleScript_81D8AD8 BattleScript_81D8AD8:: @ 81D8AD8 @@ -3346,7 +3335,7 @@ BattleScript_SunlightFaded:: @ 81D8B18 BattleScript_OverworldWeatherStarts:: @ 81D8B1F printfromtable gWeatherContinuesStringIds waitmessage 0x40 - atk46 BS_ATTACKER, sB_ANIM_ARG1, NULL + playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL end3 BattleScript_SideStatusWoreOff:: @ 81D8B32 @@ -3369,82 +3358,82 @@ BattleScript_SafeguardEnds:: @ 81D8B43 BattleScript_LeechSeedTurnDrain:: @ 81D8B4D playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER copyarray gBattleMoveDamage, gHpDealt, 0x4 - jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F + jumpifability 0x1, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F manipulatedamage 0x0 setbyte cMULTISTRING_CHOOSER, 0x3 - jump BattleScript_81D8B85 + goto BattleScript_81D8B85 BattleScript_81D8B7F:: @ 81D8B7F setbyte cMULTISTRING_CHOOSER, 0x4 BattleScript_81D8B85:: @ 81D8B85 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_TARGET + healthbarupdate BS_TARGET datahpupdate BS_TARGET printfromtable gLeechSeedStringIds waitmessage 0x40 - faintpokemon BS_ATTACKER, 0x0, NULL - faintpokemon BS_TARGET, 0x0, NULL + tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_TARGET, 0x0, NULL end2 BattleScript_BideStoringEnergy:: @ 81D8BA9 printstring STRINGID_PKMNSTORINGENERGY waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_BideAttack:: @ 81D8BB4 attackcanceler - setbyte cEFFECT_CHOOSER, 0xC - clearstatus BS_ATTACKER + setmoveeffect MOVE_EFFECT_CHARGING + clearstatusfromeffect BS_ATTACKER printstring STRINGID_PKMNUNLEASHEDENERGY waitmessage 0x40 accuracycheck BattleScript_81D6963, 0x0 - atk6 + typecalc bicbyte gMoveResultFlags, 0x6 copyarray gBattleMoveDamage, sBIDE_DMG, 0x4 - atk69 + adjustsetdamage setbyte sB_ANIM_TURN, 0x1 attackanimation waitanimation - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET resultmessage waitmessage 0x40 - faintpokemon BS_TARGET, 0x0, NULL - jump BattleScript_MoveEnd + tryfaintmon BS_TARGET, 0x0, NULL + goto BattleScript_MoveEnd BattleScript_BideNoEnergyToAttack:: @ 81D8BFC attackcanceler - setbyte cEFFECT_CHOOSER, 0xC - clearstatus BS_ATTACKER + setmoveeffect MOVE_EFFECT_CHARGING + clearstatusfromeffect BS_ATTACKER printstring STRINGID_PKMNUNLEASHEDENERGY waitmessage 0x40 - jump BattleScript_ButItFailed + goto BattleScript_ButItFailed BattleScript_SuccessForceOut:: @ 81D8C10 attackanimation waitanimation - atke2 BS_TARGET - atk58 BS_TARGET - waitstateatk + switchoutabilities BS_TARGET + returntoball BS_TARGET + waitstate jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8C2C setbyte gBattleOutcome, 0x5 - atkf6 + finishaction BattleScript_81D8C2C:: @ 81D8C2C - switch1 BS_TARGET - switch2 BS_TARGET - switch3 BS_TARGET, 0x0 - waitstateatk + getswitchedmondata BS_TARGET + switchindataupdate BS_TARGET + switchinanim BS_TARGET, 0x0 + waitstate printstring STRINGID_PKMNWASDRAGGEDOUT - atk52 BS_TARGET - jump BattleScript_MoveEnd + switchineffects BS_TARGET + goto BattleScript_MoveEnd BattleScript_MistProtected:: @ 81D8C3E pause 0x20 @@ -3460,11 +3449,11 @@ BattleScript_RageIsBuilding:: @ 81D8C48 BattleScript_MoveUsedIsDisabled:: @ 81D8C4F printstring STRINGID_PKMNMOVEISDISABLED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_SelectingDisabledMove:: @ 81D8C5A - printstring2 STRINGID_PKMNMOVEISDISABLED - atk44 + printselectionstring STRINGID_PKMNMOVEISDISABLED + endselectionscript BattleScript_DisabledNoMore:: @ 81D8C5E printstring STRINGID_PKMNMOVEDISABLEDNOMORE @@ -3480,58 +3469,55 @@ BattleScript_DestinyBondTakesLife:: @ 81D8C6C printstring STRINGID_PKMNTOOKFOE waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - faintpokemon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0x0, NULL return BattleScript_SpikesOnAttacker:: @ 81D8C87 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - callatk BattleScript_81D8D2C - faintpokemon BS_ATTACKER, 0x0, NULL - faintpokemon BS_ATTACKER, 0x1, BattleScript_81D8CA8 + call BattleScript_81D8D2C + tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0x1, BattleScript_81D8CA8 return BattleScript_81D8CA8:: @ 81D8CA8 setbyte sGIVEEXP_STATE, 0x0 - atk23 BS_ATTACKER - setbyte sMOVEEND_STATE, 0x0 - atk49 0x0, 0x0 - jump BattleScript_HandleFaintedMon + getexp BS_ATTACKER + moveendall + goto BattleScript_HandleFaintedMon BattleScript_SpikesOnTarget:: @ 81D8CBE orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_TARGET + healthbarupdate BS_TARGET datahpupdate BS_TARGET - callatk BattleScript_81D8D2C - faintpokemon BS_TARGET, 0x0, NULL - faintpokemon BS_TARGET, 0x1, BattleScript_81D8CDF + call BattleScript_81D8D2C + tryfaintmon BS_TARGET, 0x0, NULL + tryfaintmon BS_TARGET, 0x1, BattleScript_81D8CDF return BattleScript_81D8CDF:: @ 81D8CDF setbyte sGIVEEXP_STATE, 0x0 - atk23 BS_TARGET - setbyte sMOVEEND_STATE, 0x0 - atk49 0x0, 0x0 - jump BattleScript_HandleFaintedMon + getexp BS_TARGET + moveendall + goto BattleScript_HandleFaintedMon BattleScript_SpikesOnFaintedBattler:: @ 81D8CF5 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_FAINTED + healthbarupdate BS_FAINTED datahpupdate BS_FAINTED - callatk BattleScript_81D8D2C - faintpokemon BS_FAINTED, 0x0, NULL - faintpokemon BS_FAINTED, 0x1, BattleScript_81D8D16 + call BattleScript_81D8D2C + tryfaintmon BS_FAINTED, 0x0, NULL + tryfaintmon BS_FAINTED, 0x1, BattleScript_81D8D16 return BattleScript_81D8D16:: @ 81D8D16 setbyte sGIVEEXP_STATE, 0x0 - atk23 BS_FAINTED - setbyte sMOVEEND_STATE, 0x0 - atk49 0x0, 0x0 - jump BattleScript_HandleFaintedMon + getexp BS_FAINTED + moveendall + goto BattleScript_HandleFaintedMon BattleScript_81D8D2C:: @ 81D8D2C printstring STRINGID_PKMNHURTBYSPIKES @@ -3542,9 +3528,9 @@ BattleScript_PerishSongTakesLife:: @ 81D8D33 printstring STRINGID_PKMNPERISHCOUNTFELL waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - faintpokemon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0x0, NULL end2 BattleScript_PerishSongCountGoesDown:: @ 81D8D4E @@ -3553,40 +3539,40 @@ BattleScript_PerishSongCountGoesDown:: @ 81D8D4E end2 BattleScript_AllStatsUp:: @ 81D8D55 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 0xC, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_81D8DF0 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x1, 0xC, BattleScript_81D8D82 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x2, 0xC, BattleScript_81D8D82 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x3, 0xC, BattleScript_81D8D82 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x4, 0xC, BattleScript_81D8D82 + jumpifstat BS_ATTACKER, CMP_EQUAL, 0x5, 0xC, BattleScript_81D8DF0 BattleScript_81D8D82:: @ 81D8D82 setbyte sSTAT_ANIM_PLAYED, 0x0 playstatchangeanimation BS_ATTACKER, 0x3E, 0x0 - setbyte sSTATCHANGER, 0x11 + setstatchanger STAT_ATK, 1, FALSE statbuffchange 0x41, BattleScript_81D8DA0 printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D8DA0:: @ 81D8DA0 - setbyte sSTATCHANGER, 0x12 + setstatchanger STAT_DEF, 1, FALSE statbuffchange 0x41, BattleScript_81D8DB4 printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D8DB4:: @ 81D8DB4 - setbyte sSTATCHANGER, 0x13 + setstatchanger STAT_SPEED, 1, FALSE statbuffchange 0x41, BattleScript_81D8DC8 printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D8DC8:: @ 81D8DC8 - setbyte sSTATCHANGER, 0x14 + setstatchanger STAT_SPATK, 1, FALSE statbuffchange 0x41, BattleScript_81D8DDC printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_81D8DDC:: @ 81D8DDC - setbyte sSTATCHANGER, 0x15 + setstatchanger STAT_SPDEF, 1, FALSE statbuffchange 0x41, BattleScript_81D8DF0 printfromtable gStatUpStringIds waitmessage 0x40 @@ -3595,7 +3581,7 @@ BattleScript_81D8DF0:: @ 81D8DF0 return BattleScript_RapidSpinAway:: @ 81D8DF1 - breakfree + rapidspinfree return BattleScript_WrapFree:: @ 81D8DF3 @@ -3619,36 +3605,34 @@ BattleScript_MonTookFutureAttack:: @ 81D8E12 waitmessage 0x40 jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8E2F accuracycheck BattleScript_81D8E86, 0xF8 - jump BattleScript_81D8E36 + goto BattleScript_81D8E36 BattleScript_81D8E2F:: @ 81D8E2F accuracycheck BattleScript_81D8E86, 0x161 BattleScript_81D8E36:: @ 81D8E36 - atk8 + adjustnormaldamage2 jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8E4E playanimation BS_ATTACKER, B_ANIM_FUTURE_SIGHT_HIT, NULL - jump BattleScript_81D8E55 + goto BattleScript_81D8E55 BattleScript_81D8E4E:: @ 81D8E4E playanimation BS_ATTACKER, B_ANIM_DOOM_DESIRE_HIT, NULL BattleScript_81D8E55:: @ 81D8E55 - missmessage - atk5c BS_TARGET - waitstateatk - graphicalhpupdate BS_TARGET + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET datahpupdate BS_TARGET resultmessage waitmessage 0x40 - faintpokemon BS_TARGET, 0x0, NULL + tryfaintmon BS_TARGET, 0x0, NULL atk24 BattleScript_81D8E6D BattleScript_81D8E6D:: @ 81D8E6D - setbyte sMOVEEND_STATE, 0x0 - atk49 0x1, 0x0 - setbyte sMOVEEND_STATE, 0xB - atk49 0x2, 0xE + moveendcase 0x0 + moveendfromto 0xB, 0xE setbyte gMoveResultFlags, 0x0 end2 @@ -3662,43 +3646,43 @@ BattleScript_81D8E86:: @ 81D8E86 end2 BattleScript_NoMovesLeft:: @ 81D8EA0 - printstring2 STRINGID_PKMNHASNOMOVESLEFT - atk44 + printselectionstring STRINGID_PKMNHASNOMOVESLEFT + endselectionscript BattleScript_SelectingMoveWithNoPP:: @ 81D8EA4 - printstring2 STRINGID_NOPPLEFT - atk44 + printselectionstring STRINGID_NOPPLEFT + endselectionscript BattleScript_NoPPForMove:: @ 81D8EA8 attackstring pause 0x20 printstring STRINGID_BUTNOPPLEFT waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_SelectingTormentedMove:: @ 81D8EB7 - printstring2 STRINGID_PKMNCANTUSEMOVETORMENT - atk44 + printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT + endselectionscript printstring STRINGID_PKMNCANTUSEMOVETORMENT waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_SelectingNotAllowedMoveTaunt:: @ 81D8EC6 - printstring2 STRINGID_PKMNCANTUSEMOVETAUNT - atk44 + printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT + endselectionscript BattleScript_MoveUsedIsTaunted:: @ 81D8ECA printstring STRINGID_PKMNCANTUSEMOVETAUNT waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_WishComesTrue:: @ 81D8ED5 - atkd4 0x1, BattleScript_81D8EFC + trywish 0x1, BattleScript_81D8EFC playanimation BS_TARGET, B_ANIM_WISH_HEAL, NULL printstring STRINGID_PKMNWISHCAMETRUE waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_TARGET + healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNREGAINEDHEALTH waitmessage 0x40 @@ -3717,7 +3701,7 @@ BattleScript_IngrainTurnHeal:: @ 81D8F0C printstring STRINGID_PKMNABSORBEDNUTRIENTS waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER end2 @@ -3725,13 +3709,13 @@ BattleScript_81D8F27:: @ 81D8F27 pause 0x20 printstring STRINGID_PKMNANCHOREDITSELF waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_AtkDefDown:: @ 81D8F35 setbyte sSTAT_ANIM_PLAYED, 0x0 playstatchangeanimation BS_ATTACKER, 0x6, 0xD playstatchangeanimation BS_ATTACKER, 0x2, 0x9 - setbyte sSTATCHANGER, 0x91 + setstatchanger STAT_ATK, 1, TRUE statbuffchange 0xC1, BattleScript_81D8F62 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8F62 printfromtable gStatDownStringIds @@ -3739,7 +3723,7 @@ BattleScript_AtkDefDown:: @ 81D8F35 BattleScript_81D8F62:: @ 81D8F62 playstatchangeanimation BS_ATTACKER, 0x4, 0x9 - setbyte sSTATCHANGER, 0x92 + setstatchanger STAT_DEF, 1, TRUE statbuffchange 0xC1, BattleScript_81D8F85 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8F85 printfromtable gStatDownStringIds @@ -3757,11 +3741,11 @@ BattleScript_KnockedOff:: @ 81D8F86 BattleScript_MoveUsedIsImprisoned:: @ 81D8F94 printstring STRINGID_PKMNCANTUSEMOVESEALED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_SelectingImprisonedMove:: @ 81D8F9F - printstring2 STRINGID_PKMNCANTUSEMOVESEALED - atk44 + printselectionstring STRINGID_PKMNCANTUSEMOVESEALED + endselectionscript BattleScript_GrudgeTakesPp:: @ 81D8FA3 printstring STRINGID_PKMNLOSTPPGRUDGE @@ -3775,18 +3759,18 @@ BattleScript_MagicCoatBounce:: @ 81D8FAA printstring STRINGID_PKMNMOVEBOUNCED waitmessage 0x40 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 - atk76 0x1, BS_ATTACKER + various BS_ATTACKER, 0x1 return BattleScript_SnatchedMove:: @ 81D8FC2 attackstring ppreduce - snatchmove + snatchsetbattlers playanimation BS_TARGET, B_ANIM_SNATCH_MOVE, NULL printstring STRINGID_PKMNSNATCHEDMOVE waitmessage 0x40 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 - atk5f + swapattackerwithtarget return BattleScript_EnduredMsg:: @ 81D8FDD @@ -3802,7 +3786,7 @@ BattleScript_OneHitKOMsg:: @ 81D8FE4 BattleScript_SAtkDown2:: @ 81D8FEB setbyte sSTAT_ANIM_PLAYED, 0x0 playstatchangeanimation BS_ATTACKER, 0x10, 0xB - setbyte sSTATCHANGER, 0xA4 + setstatchanger STAT_SPATK, 2, TRUE statbuffchange 0xC1, BattleScript_81D9014 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D9014 printfromtable gStatDownStringIds @@ -3823,19 +3807,19 @@ BattleScript_MoveUsedIsAsleep:: @ 81D9029 printstring STRINGID_PKMNFASTASLEEP waitmessage 0x40 statusanimation BS_ATTACKER - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_MoveUsedWokeUp:: @ 81D9036 bicword gHitMarker, 0x10 printfromtable gWokeUpStringIds waitmessage 0x40 - atk98 0x1 + updatestatusicon BS_ATTACKER return BattleScript_MonWokeUpInUproar:: @ 81D904A printstring STRINGID_PKMNWOKEUPINUPROAR waitmessage 0x40 - atk98 0x1 + updatestatusicon BS_ATTACKER end2 BattleScript_PoisonTurnDmg:: @ 81D9053 @@ -3847,9 +3831,9 @@ BattleScript_81D9059:: @ 81D9059 BattleScript_81D905B:: @ 81D905B orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - faintpokemon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0x0, NULL atk24 BattleScript_81D9074 BattleScript_81D9074:: @ 81D9074 @@ -3858,37 +3842,37 @@ BattleScript_81D9074:: @ 81D9074 BattleScript_BurnTurnDmg:: @ 81D9075 printstring STRINGID_PKMNHURTBYBURN waitmessage 0x40 - jump BattleScript_81D9059 + goto BattleScript_81D9059 BattleScript_MoveUsedIsFrozen:: @ 81D9080 printstring STRINGID_PKMNISFROZEN waitmessage 0x40 statusanimation BS_ATTACKER - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_MoveUsedUnfroze:: @ 81D908D printfromtable gGotDefrostedStringIds waitmessage 0x40 - atk98 0x1 + updatestatusicon BS_ATTACKER return BattleScript_DefrostedViaFireMove:: @ 81D9098 printstring STRINGID_PKMNWASDEFROSTED waitmessage 0x40 - atk98 0x0 + updatestatusicon BS_TARGET return BattleScript_MoveUsedIsParalyzed:: @ 81D90A1 printstring STRINGID_PKMNISPARALYZED waitmessage 0x40 statusanimation BS_ATTACKER - atk76 0x1, BS_TARGET - jump BattleScript_MoveEnd + various BS_ATTACKER, 0x0 + goto BattleScript_MoveEnd BattleScript_MoveUsedFlinched:: @ 81D90B1 printstring STRINGID_PKMNFLINCHED waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_PrintUproarOverTurns:: @ 81D90BC printfromtable gUproarOverTurnStringIds @@ -3896,7 +3880,7 @@ BattleScript_PrintUproarOverTurns:: @ 81D90BC end2 BattleScript_ThrashConfuses:: @ 81D90C5 - atk66 0x1, 0x1, 0x7 + chosenstatusanimation BS_ATTACKER, 0x1, 0x7 printstring STRINGID_PKMNFATIGUECONFUSION waitmessage 0x40 end2 @@ -3904,24 +3888,24 @@ BattleScript_ThrashConfuses:: @ 81D90C5 BattleScript_MoveUsedIsConfused:: @ 81D90D3 printstring STRINGID_PKMNISCONFUSED waitmessage 0x40 - atk65 0x1, STATUS2_CONFUSION + status2animation BS_ATTACKER, 0x7 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D9115 BattleScript_81D90EA:: @ 81D90EA - atk76 0x1, BS_TARGET - atk8 + various BS_ATTACKER, 0x0 + adjustnormaldamage2 printstring STRINGID_ITHURTCONFUSION waitmessage 0x40 - missmessage - atk5c BS_ATTACKER - waitstateatk + effectivenesssound + hitanimation BS_ATTACKER + waitstate orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER resultmessage waitmessage 0x40 - faintpokemon BS_ATTACKER, 0x0, NULL - jump BattleScript_MoveEnd + tryfaintmon BS_ATTACKER, 0x0, NULL + goto BattleScript_MoveEnd BattleScript_81D9115:: @ 81D9115 return @@ -3940,7 +3924,7 @@ BattleScript_WrapTurnDmg:: @ 81D9124 playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1 printstring STRINGID_PKMNHURTBY waitmessage 0x40 - jump BattleScript_81D905B + goto BattleScript_81D905B BattleScript_WrapEnds:: @ 81D9136 printstring STRINGID_PKMNFREEDFROM @@ -3950,47 +3934,47 @@ BattleScript_WrapEnds:: @ 81D9136 BattleScript_MoveUsedIsInLove:: @ 81D913D printstring STRINGID_PKMNINLOVE waitmessage 0x40 - atk65 0x1, STATUS2_INFATUATION + status2animation BS_ATTACKER, 0xF0000 return BattleScript_MoveUsedIsInLoveCantAttack:: @ 81D914A printstring STRINGID_PKMNIMMOBILIZEDBYLOVE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_NightmareTurnDmg:: @ 81D9155 printstring STRINGID_PKMNLOCKEDINNIGHTMARE waitmessage 0x40 - atk65 0x1, STATUS2_NIGHTMARE - jump BattleScript_81D905B + status2animation BS_ATTACKER, Start + goto BattleScript_81D905B BattleScript_CurseTurnDmg:: @ 81D9166 printstring STRINGID_PKMNAFFLICTEDBYCURSE waitmessage 0x40 - atk65 0x1, STATUS2_CURSED - jump BattleScript_81D905B + status2animation BS_ATTACKER, 0x10000000 + goto BattleScript_81D905B BattleScript_TargetPRLZHeal:: @ 81D9177 printstring STRINGID_PKMNHEALEDPARALYSIS waitmessage 0x40 - atk98 0x0 + updatestatusicon BS_TARGET return gUnknown_81D9180:: @ 81D9180 printstring STRINGID_MONTOOSCAREDTOMOVE waitmessage 0x40 playanimation BS_ATTACKER, 0x17, NULL - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd gUnknown_81D9192:: @ 81D9192 printstring STRINGID_GHOSTGETOUTGETOUT playanimation BS_ATTACKER, 0x18, NULL - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd gUnknown_81D91A1:: @ 81D91A1 pause 0x20 printstring STRINGID_SILPHSCOPEUNVEILED - waitstateatk + waitstate playanimation BS_OPPONENT1, B_ANIM_x19, NULL pause 0x20 printstring STRINGID_GHOSTWASMAROWAK @@ -4003,42 +3987,42 @@ BattleScript_MoveEffectSleep:: @ 81D91B9 waitmessage 0x40 BattleScript_81D91C3:: @ 81D91C3 - atk98 0x2 - waitstateatk + updatestatusicon BS_EFFECT_BATTLER + waitstate return BattleScript_YawnMakesAsleep:: @ 81D91C7 statusanimation BS_EFFECT_BATTLER printstring STRINGID_PKMNFELLASLEEP waitmessage 0x40 - atk98 0x2 - waitstateatk - atk6f BS_EFFECT_BATTLER + updatestatusicon BS_EFFECT_BATTLER + waitstate + makevisible BS_EFFECT_BATTLER end2 BattleScript_MoveEffectPoison:: @ 81D91D5 statusanimation BS_EFFECT_BATTLER printfromtable gGotPoisonedStringIds waitmessage 0x40 - jump BattleScript_81D91C3 + goto BattleScript_81D91C3 BattleScript_MoveEffectBurn:: @ 81D91E4 statusanimation BS_EFFECT_BATTLER printfromtable gGotBurnedStringIds waitmessage 0x40 - jump BattleScript_81D91C3 + goto BattleScript_81D91C3 BattleScript_MoveEffectFreeze:: @ 81D91F3 statusanimation BS_EFFECT_BATTLER printfromtable gGotFrozenStringIds waitmessage 0x40 - jump BattleScript_81D91C3 + goto BattleScript_81D91C3 BattleScript_MoveEffectParalysis:: @ 81D9202 statusanimation BS_EFFECT_BATTLER printfromtable gGotParalyzedStringIds waitmessage 0x40 - jump BattleScript_81D91C3 + goto BattleScript_81D91C3 BattleScript_MoveEffectUproar:: @ 81D9211 printstring STRINGID_PKMNCAUSEDUPROAR @@ -4049,7 +4033,7 @@ BattleScript_MoveEffectToxic:: @ 81D9218 statusanimation BS_EFFECT_BATTLER printstring STRINGID_PKMNBADLYPOISONED waitmessage 0x40 - jump BattleScript_81D91C3 + goto BattleScript_81D91C3 BattleScript_MoveEffectPayDay:: @ 81D9225 printstring STRINGID_COINSSCATTERED @@ -4062,22 +4046,22 @@ BattleScript_MoveEffectWrap:: @ 81D922C return BattleScript_MoveEffectConfusion:: @ 81D9235 - atk66 0x2, 0x1, 0x7 + chosenstatusanimation BS_EFFECT_BATTLER, 0x1, 0x7 printstring STRINGID_PKMNWASCONFUSED waitmessage 0x40 return BattleScript_MoveEffectRecoil:: @ 81D9243 - jumpifhalfword CMP_EQUAL, gCurrentMove, 0xA5, BattleScript_81D9256 - jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_81D9270 + jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_81D9256 + jumpifability 0x1, ABILITY_ROCK_HEAD, BattleScript_81D9270 BattleScript_81D9256:: @ 81D9256 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHITWITHRECOIL waitmessage 0x40 - faintpokemon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0x0, NULL BattleScript_81D9270:: @ 81D9270 return @@ -4091,9 +4075,9 @@ BattleScript_ItemSteal:: @ 81D9271 BattleScript_DrizzleActivates:: @ 81D927F pause 0x20 printstring STRINGID_PKMNMADEITRAIN - waitstateatk + waitstate playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES, NULL - callatk BattleScript_81D92DC + call BattleScript_81D92DC end3 BattleScript_SpeedBoostActivates:: @ 81D9293 @@ -4112,46 +4096,46 @@ BattleScript_RainDishActivates:: @ 81D92AB printstring STRINGID_PKMNSXRESTOREDHPALITTLE2 waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER end3 BattleScript_SandstreamActivates:: @ 81D92BF pause 0x20 printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM - waitstateatk + waitstate playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES, NULL - callatk BattleScript_81D92DC + call BattleScript_81D92DC end3 BattleScript_ShedSkinActivates:: @ 81D92D3 printstring STRINGID_PKMNSXCUREDYPROBLEM waitmessage 0x40 - atk98 0x1 + updatestatusicon BS_ATTACKER end3 BattleScript_81D92DC:: @ 81D92DC setbyte sBATTLER, 0x0 BattleScript_81D92E2:: @ 81D92E2 - castformswitch + trycastformdatachange addbyte sBATTLER, 0x1 jumpifarraynotequal sBATTLER, gBattlersCount, 0x1, BattleScript_81D92E2 return BattleScript_CastformChange:: @ 81D92F8 - callatk BattleScript_81D92FE + call BattleScript_81D92FE end3 BattleScript_81D92FE:: @ 81D92FE - actualcastformswitch - waitstateatk + docastformchangeanimation + waitstate printstring STRINGID_PKMNTRANSFORMED waitmessage 0x40 return BattleScript_IntimidateActivatesEnd3:: @ 81D9307 - callatk BattleScript_81D930D + call BattleScript_81D930D end3 BattleScript_81D930D:: @ 81D930D @@ -4159,24 +4143,24 @@ BattleScript_81D930D:: @ 81D930D BattleScript_IntimidateActivates:: @ 81D9310 setbyte gBattlerTarget, 0x0 - setbyte sSTATCHANGER, 0x91 + setstatchanger STAT_ATK, 1, TRUE BattleScript_81D931C:: @ 81D931C - atke1 BattleScript_81D936A - jumpifsecondarytstatus BS_TARGET, 0x1000000, BattleScript_81D935F - jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_81D936B - jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_81D936B - jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_81D936B + trygetintimidatetarget BattleScript_81D936A + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D935F + jumpifability 0x0, ABILITY_CLEAR_BODY, BattleScript_81D936B + jumpifability 0x0, ABILITY_HYPER_CUTTER, BattleScript_81D936B + jumpifability 0x0, ABILITY_WHITE_SMOKE, BattleScript_81D936B statbuffchange 0x21, BattleScript_81D935F jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D935F - atk47 + setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH waitmessage 0x40 BattleScript_81D935F:: @ 81D935F addbyte gBattlerTarget, 0x1 - jump BattleScript_81D931C + goto BattleScript_81D931C BattleScript_81D936A:: @ 81D936A return @@ -4185,14 +4169,14 @@ BattleScript_81D936B:: @ 81D936B pause 0x20 printstring STRINGID_PREVENTEDFROMWORKING waitmessage 0x40 - jump BattleScript_81D935F + goto BattleScript_81D935F BattleScript_DroughtActivates:: @ 81D9379 pause 0x20 printstring STRINGID_PKMNSXINTENSIFIEDSUN - waitstateatk + waitstate playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES, NULL - callatk BattleScript_81D92DC + call BattleScript_81D92DC end3 BattleScript_TookAttack:: @ 81D938D @@ -4207,13 +4191,13 @@ BattleScript_SturdyPreventsOHKO:: @ 81D93A1 pause 0x20 printstring STRINGID_PKMNPROTECTEDBY pause 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_DampStopsExplosion:: @ 81D93AF pause 0x20 printstring STRINGID_PKMNPREVENTSUSAGE pause 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_MoveHPDrain_PPLoss:: @ 81D93BD ppreduce @@ -4222,12 +4206,12 @@ BattleScript_MoveHPDrain:: @ 81D93BE attackstring pause 0x20 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_TARGET + healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNRESTOREDHPUSING waitmessage 0x40 orbyte gMoveResultFlags, 0x8 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_MonMadeMoveUseless_PPLoss:: @ 81D93E0 ppreduce @@ -4238,7 +4222,7 @@ BattleScript_MonMadeMoveUseless:: @ 81D93E1 printstring STRINGID_PKMNSXMADEYUSELESS waitmessage 0x40 orbyte gMoveResultFlags, 0x8 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_FlashFireBoost_PPLoss:: @ 81D93F6 ppreduce @@ -4248,13 +4232,13 @@ BattleScript_FlashFireBoost:: @ 81D93F7 pause 0x20 printfromtable gFlashFireStringIds waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D9408:: @ 81D9408 pause 0x20 printstring STRINGID_PKMNANCHORSITSELFWITH waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_AbilityNoStatLoss:: @ 81D9416 pause 0x20 @@ -4284,19 +4268,19 @@ BattleScript_ObliviousPreventsAttraction:: @ 81D9444 pause 0x20 printstring STRINGID_PKMNPREVENTSROMANCEWITH waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_FlinchPrevention:: @ 81D9452 pause 0x20 printstring STRINGID_PKMNSXPREVENTSFLINCHING waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_81D9460:: @ 81D9460 pause 0x20 printstring STRINGID_PKMNPREVENTSCONFUSIONWITH waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_SoundproofProtected:: @ 81D946E attackstring @@ -4304,7 +4288,7 @@ BattleScript_SoundproofProtected:: @ 81D946E pause 0x20 printstring STRINGID_PKMNSXBLOCKSY waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_AbilityNoSpecificStatLoss:: @ 81D947E pause 0x20 @@ -4317,7 +4301,7 @@ BattleScript_StickyHoldActivates:: @ 81D948E pause 0x20 printstring STRINGID_PKMNSXMADEYINEFFECTIVE waitmessage 0x40 - jump BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_ColorChangeActivates:: @ 81D949C printstring STRINGID_PKMNCHANGEDTYPEWITH @@ -4326,67 +4310,64 @@ BattleScript_ColorChangeActivates:: @ 81D949C BattleScript_RoughSkinActivates:: @ 81D94A3 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHURTSWITH waitmessage 0x40 - faintpokemon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0x0, NULL return BattleScript_CuteCharmActivates:: @ 81D94BE - atk65 0x1, STATUS2_INFATUATION + status2animation BS_ATTACKER, 0xF0000 printstring STRINGID_PKMNSXINFATUATEDY waitmessage 0x40 return BattleScript_ApplySecondaryEffect:: @ 81D94CB - waitstateatk - seteffectuser + waitstate + seteffectsecondary return BattleScript_SynchronizeActivates:: @ 81D94CE - waitstateatk - seteffecttarget + waitstate + seteffectprimary return BattleScript_AbilityCuredStatus:: @ 81D94D1 printstring STRINGID_PKMNSXCUREDITSYPROBLEM waitmessage 0x40 - atk98 0xA + updatestatusicon BS_SCRIPTING return BattleScript_IgnoresWhileAsleep:: @ 81D94DA printstring STRINGID_PKMNIGNORESASLEEP waitmessage 0x40 - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 + moveendto 0x10 end BattleScript_IgnoresAndUsesRandomMove:: @ 81D94EA printstring STRINGID_PKMNIGNOREDORDERS waitmessage 0x40 - jumptoattack BS_TARGET + jumptocalledmove 0x0 BattleScript_MoveUsedLoafingAround:: @ 81D94F2 printfromtable gInobedientStringIds waitmessage 0x40 - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 + moveendto 0x10 end BattleScript_IgnoresAndFallsAsleep:: @ 81D9504 printstring STRINGID_PKMNBEGANTONAP waitmessage 0x40 - setbyte cEFFECT_CHOOSER, 0x41 - seteffecttarget - setbyte sMOVEEND_STATE, 0x0 - atk49 0x2, 0x10 + setmoveeffect MOVE_EFFECT_SLEEP | MOVE_EFFECT_AFFECTS_USER + seteffectprimary + moveendto 0x10 end BattleScript_IgnoresAndHitsItself:: @ 81D951B printstring STRINGID_PKMNWONTOBEY waitmessage 0x40 - jump BattleScript_81D90EA + goto BattleScript_81D90EA BattleScript_SubstituteFade:: @ 81D9526 playanimation BS_TARGET, B_ANIM_SUBSTITUTE_FADE, NULL @@ -4394,67 +4375,67 @@ BattleScript_SubstituteFade:: @ 81D9526 return BattleScript_BerryCurePrlzEnd2:: @ 81D9531 - callatk BattleScript_BerryCureParRet + call BattleScript_BerryCureParRet end2 BattleScript_BerryCureParRet:: @ 81D9537 playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMCUREDPARALYSIS waitmessage 0x40 - atk98 0xA + updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return BattleScript_BerryCurePsnEnd2:: @ 81D9549 - callatk BattleScript_BerryCurePsnRet + call BattleScript_BerryCurePsnRet end2 BattleScript_BerryCurePsnRet:: @ 81D954F playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMCUREDPOISON waitmessage 0x40 - atk98 0xA + updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return BattleScript_BerryCureBrnEnd2:: @ 81D9561 - callatk BattleScript_BerryCureBrnRet + call BattleScript_BerryCureBrnRet end2 BattleScript_BerryCureBrnRet:: @ 81D9567 playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMHEALEDBURN waitmessage 0x40 - atk98 0xA + updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return BattleScript_BerryCureFrzEnd2:: @ 81D9579 - callatk BattleScript_BerryCureFrzRet + call BattleScript_BerryCureFrzRet end2 BattleScript_BerryCureFrzRet:: @ 81D957F playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMDEFROSTEDIT waitmessage 0x40 - atk98 0xA + updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return BattleScript_BerryCureSlpEnd2:: @ 81D9591 - callatk BattleScript_BerryCureSlpRet + call BattleScript_BerryCureSlpRet end2 BattleScript_BerryCureSlpRet:: @ 81D9597 playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMWOKEIT waitmessage 0x40 - atk98 0xA + updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return BattleScript_BerryCureConfusionEnd2:: @ 81D95A9 - callatk BattleScript_BerryCureConfusionRet + call BattleScript_BerryCureConfusionRet end2 BattleScript_BerryCureConfusionRet:: @ 81D95AF @@ -4465,19 +4446,19 @@ BattleScript_BerryCureConfusionRet:: @ 81D95AF return BattleScript_BerryCureChosenStatusEnd2:: @ 81D95BF - callatk BattleScript_BerryCureChosenStatusRet + call BattleScript_BerryCureChosenStatusRet end2 BattleScript_BerryCureChosenStatusRet:: @ 81D95C5 playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printfromtable gBerryEffectStringIds waitmessage 0x40 - atk98 0xA + updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return BattleScript_WhiteHerbEnd2:: @ 81D95D9 - callatk BattleScript_WhiteHerbRet + call BattleScript_WhiteHerbRet end2 BattleScript_WhiteHerbRet:: @ 81D95DF @@ -4492,7 +4473,7 @@ BattleScript_ItemHealHP_RemoveItem:: @ 81D95EF printstring STRINGID_PKMNSITEMRESTOREDHEALTH waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER removeitem BS_ATTACKER end2 @@ -4505,7 +4486,7 @@ BattleScript_BerryPPHealEnd2:: @ 81D960C end2 BattleScript_ItemHealHP_End2:: @ 81D961C - callatk BattleScript_ItemHealHP_Ret + call BattleScript_ItemHealHP_Ret end2 BattleScript_ItemHealHP_Ret:: @ 81D9622 @@ -4513,13 +4494,13 @@ BattleScript_ItemHealHP_Ret:: @ 81D9622 printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER return BattleScript_SelectingNotAllowedMoveChoiceItem:: @ 81D963D - printstring2 STRINGID_ITEMALLOWSONLYYMOVE - atk44 + printselectionstring STRINGID_ITEMALLOWSONLYYMOVE + endselectionscript BattleScript_HangedOnMsg:: @ 81D9641 playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL @@ -4532,12 +4513,12 @@ BattleScript_BerryConfuseHealEnd2:: @ 81D964F printstring STRINGID_PKMNSITEMRESTOREDHEALTH waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - graphicalhpupdate BS_ATTACKER + healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_FORXCOMMAYZ waitmessage 0x40 - setbyte cEFFECT_CHOOSER, 0x47 - seteffecttarget + setmoveeffect MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER + seteffectprimary removeitem BS_ATTACKER end2 @@ -4547,7 +4528,7 @@ BattleScript_BerryStatRaiseEnd2:: @ 81D9679 BattleScript_81D9686:: @ 81D9686 setbyte cMULTISTRING_CHOOSER, 0x4 - callatk BattleScript_StatUp + call BattleScript_StatUp removeitem BS_ATTACKER end2 @@ -4559,8 +4540,8 @@ BattleScript_BerryFocusEnergyEnd2:: @ 81D9694 end2 BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D96A4 - printstring2 STRINGID_ITEMSCANTBEUSEDNOW - atk44 + printselectionstring STRINGID_ITEMSCANTBEUSEDNOW + endselectionscript BattleScript_FlushMessageBox:: @ 81D96A8 printstring STRINGID_EMPTYSTRING3 diff --git a/include/constants/battle.h b/include/constants/battle.h index 910b50562..e025af630 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -215,6 +215,7 @@ #define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY) // Move Effects +#define MOVE_EFFECT_NOTHING_0 0x0 #define MOVE_EFFECT_SLEEP 0x1 #define MOVE_EFFECT_POISON 0x2 #define MOVE_EFFECT_BURN 0x3 From 69edfecc16f040a56376c4cd55bb91b15cf6a340 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 12:56:03 -0500 Subject: [PATCH 06/21] Update battle scripts with more defines --- asm/macros/battle_script.inc | 64 +- data/battle_scripts_1.s | 1925 +++++++++----------- include/constants/battle_anim.h | 4 +- include/constants/battle_script_commands.h | 2 +- src/battle_script_commands.c | 4 +- 5 files changed, 895 insertions(+), 1104 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 5c3c141ca..5035361ed 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1284,46 +1284,6 @@ various \battler, 8 .endm - .macro arenajudgmentwindow - various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW - .endm - - .macro arenaopponentmonlost - various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST - .endm - - .macro arenaplayermonlost - various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST - .endm - - .macro arenabothmonlost - various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST - .endm - - .macro forfeityesnobox battler:req - various \battler, VARIOUS_EMIT_YESNOBOX - .endm - - .macro various14 battler:req - various \battler, 14 - .endm - - .macro various15 battler:req - various \battler, 15 - .endm - - .macro arenajudmengtstring id:req - various \id, VARIOUS_ARENA_JUDGMENT_STRING - .endm - - .macro arenawaitmessage id:req - various \id, VARIOUS_ARENA_WAIT_STRING - .endm - - .macro waitcry battler:req - various \battler, VARIOUS_WAIT_CRY - .endm - .macro returnopponentmon1toball battler:req various \battler, VARIOUS_RETURN_OPPONENT_MON1 .endm @@ -1332,28 +1292,12 @@ various \battler, VARIOUS_RETURN_OPPONENT_MON2 .endm - .macro volumedown - various BS_ATTACKER, VARIOUS_VOLUME_DOWN + .macro various11 battler:req + various \battler, 11 .endm - .macro volumeup - various BS_ATTACKER, VARIOUS_VOLUME_UP - .endm - - .macro setalreadystatusedmoveattempt battler:req - various \battler, 23 - .endm - - .macro various24 battler:req - various \battler, 24 - .endm - - .macro setoutcomeonteleport battler:req - various \battler, VARIOUS_SET_TELEPORT_OUTCOME - .endm - - .macro playtrainerdefeatbgm battler:req - various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC + .macro waitfanfare battler:req + various \battler, 12 .endm @ helpful macros diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 0bdfa777a..f44c47652 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -236,26 +236,21 @@ gBattleScriptsForMoveEffects:: @ 81D65A8 BattleScript_EffectHit:: @ 81D6900 jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_SURF, BattleScript_81D6926 - jumpifstatus3condition BS_TARGET, 0x40000, 0x1, BattleScript_81D6926 + jumpifstatus3condition BS_TARGET, STATUS3_UNDERWATER, 1, BattleScript_81D6926 orword gHitMarker, HITMARKER_IGNORE_UNDERWATER - setbyte sDMG_MULTIPLIER, 0x2 - + setbyte sDMG_MULTIPLIER, 2 BattleScript_81D6926:: @ 81D6926 attackcanceler - BattleScript_81D6927:: @ 81D6927 - accuracycheck BattleScript_81D695E, 0x0 - + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE BattleScript_81D692E:: @ 81D692E attackstring ppreduce - BattleScript_HitFromCritCalc:: @ 81D6930 critcalc damagecalc typecalc adjustnormaldamage - BattleScript_81D6934:: @ 81D6934 attackanimation waitanimation @@ -265,30 +260,26 @@ BattleScript_81D6934:: @ 81D6934 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 resultmessage - waitmessage 0x40 + waitmessage 64 seteffectwithchance - tryfaintmon BS_TARGET, 0x0, NULL - + tryfaintmon BS_TARGET, 0, NULL BattleScript_MoveEnd:: @ 81D694E moveendall end BattleScript_81D6958:: @ 81D6958 - orbyte gMoveResultFlags, 0x1 - + orbyte gMoveResultFlags, MOVE_RESULT_MISSED BattleScript_81D695E:: @ 81D695E attackstring ppreduce - BattleScript_MoveMissedPause:: @ 81D6960 - pause 0x20 - + pause 32 BattleScript_81D6963:: @ 81D6963 effectivenesssound resultmessage - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSleep:: @ 81D696D @@ -298,9 +289,9 @@ BattleScript_EffectSleep:: @ 81D696D jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D69B0 jumpifcantmakeasleep BattleScript_81D69CC - jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed - accuracycheck BattleScript_ButItFailed, 0x0 - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_SLEEP @@ -308,21 +299,21 @@ BattleScript_EffectSleep:: @ 81D696D goto BattleScript_MoveEnd BattleScript_81D69B0:: @ 81D69B0 - pause 0x20 + pause 32 printstring STRINGID_PKMNALREADYASLEEP - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D69BE:: @ 81D69BE - pause 0x20 + pause 32 printstring STRINGID_PKMNWASNTAFFECTED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D69CC:: @ 81D69CC - pause 0x20 + pause 32 printfromtable gUproarAwakeStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPoisonHit:: @ 81D69DC @@ -331,7 +322,7 @@ BattleScript_EffectPoisonHit:: @ 81D69DC BattleScript_EffectAbsorb:: @ 81D69E7 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce critcalc @@ -346,29 +337,27 @@ BattleScript_EffectAbsorb:: @ 81D69E7 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 resultmessage - waitmessage 0x40 + waitmessage 64 negativedamage orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - jumpifability 0x0, ABILITY_LIQUID_OOZE, BattleScript_81D6A23 - setbyte cMULTISTRING_CHOOSER, 0x0 + jumpifability BS_TARGET, ABILITY_LIQUID_OOZE, BattleScript_81D6A23 + setbyte cMULTISTRING_CHOOSER, 0 goto BattleScript_81D6A2B BattleScript_81D6A23:: @ 81D6A23 - manipulatedamage 0x0 - setbyte cMULTISTRING_CHOOSER, 0x1 - + manipulatedamage 0 + setbyte cMULTISTRING_CHOOSER, 1 BattleScript_81D6A2B:: @ 81D6A2B healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6A42 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6A42 printfromtable gLeechSeedDrainStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D6A42:: @ 81D6A42 - tryfaintmon BS_ATTACKER, 0x0, NULL - tryfaintmon BS_TARGET, 0x0, NULL + tryfaintmon BS_ATTACKER, 0, NULL + tryfaintmon BS_TARGET, 0, NULL goto BattleScript_MoveEnd BattleScript_EffectBurnHit:: @ 81D6A55 @@ -390,65 +379,63 @@ BattleScript_EffectExplosion:: @ 81D6A76 faintifabilitynotdamp setatkhptozero waitstate - jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, 0x1, BattleScript_81D6A91 + jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_81D6A91 call BattleScript_81D6AE7 goto BattleScript_81D6A93 BattleScript_81D6A91:: @ 81D6A91 attackanimation waitanimation - BattleScript_81D6A93:: @ 81D6A93 movevaluescleanup critcalc damagecalc typecalc adjustnormaldamage - accuracycheck BattleScript_81D6ACC, 0x0 + accuracycheck BattleScript_81D6ACC, ACC_CURR_MOVE effectivenesssound hitanimation BS_TARGET waitstate healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 resultmessage - waitmessage 0x40 - tryfaintmon BS_TARGET, 0x0, NULL - moveendto 0x10 + waitmessage 64 + tryfaintmon BS_TARGET, 0, NULL + moveendto 16 jumpifnexttargetvalid BattleScript_81D6A93 - tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0, NULL end BattleScript_81D6ACC:: @ 81D6ACC effectivenesssound resultmessage - waitmessage 0x40 - moveendto 0x10 + waitmessage 64 + moveendto 16 jumpifnexttargetvalid BattleScript_81D6A93 - tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0, NULL end BattleScript_81D6AE7:: @ 81D6AE7 - bicbyte gMoveResultFlags, 0x1 + bicbyte gMoveResultFlags, MOVE_RESULT_MISSED attackanimation waitanimation - orbyte gMoveResultFlags, 0x1 + orbyte gMoveResultFlags, MOVE_RESULT_MISSED return BattleScript_EffectDreamEater:: @ 81D6AF6 attackcanceler jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6B0B jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D6B15 - BattleScript_81D6B0B:: @ 81D6B0B attackstring ppreduce - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D69BE BattleScript_81D6B15:: @ 81D6B15 - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce critcalc @@ -463,30 +450,29 @@ BattleScript_81D6B15:: @ 81D6B15 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 resultmessage - waitmessage 0x40 + waitmessage 64 negativedamage orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6B53 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6B53 printstring STRINGID_PKMNDREAMEATEN - waitmessage 0x40 - + waitmessage 64 BattleScript_81D6B53:: @ 81D6B53 - tryfaintmon BS_TARGET, 0x0, NULL + tryfaintmon BS_TARGET, 0, NULL goto BattleScript_MoveEnd BattleScript_EffectMirrorMove:: @ 81D6B5F attackcanceler attackstring - pause 0x40 + pause 64 trymirrormove ppreduce - orbyte gMoveResultFlags, 0x20 + orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring STRINGID_MIRRORMOVEFAILED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectAttackUp:: @ 81D6B77 @@ -503,37 +489,32 @@ BattleScript_EffectSpecialAttackUp:: @ 81D6B8D BattleScript_EffectEvasionUp:: @ 81D6B98 setstatchanger STAT_EVASION, 1, FALSE - BattleScript_81D6B9E:: @ 81D6B9E attackcanceler - BattleScript_81D6B9F:: @ 81D6B9F attackstring ppreduce - statbuffchange 0x41, BattleScript_81D6BCC - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6BBA - pause 0x20 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D6BCC + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D6BBA + pause 32 goto BattleScript_81D6BC4 BattleScript_81D6BBA:: @ 81D6BBA attackanimation waitanimation - BattleScript_81D6BBC:: @ 81D6BBC setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 - BattleScript_81D6BC4:: @ 81D6BC4 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D6BCC:: @ 81D6BCC goto BattleScript_MoveEnd BattleScript_StatUp:: @ 81D6BD1 playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds - waitmessage 0x40 + waitmessage 64 return BattleScript_EffectAttackDown:: @ 81D6BE1 @@ -554,17 +535,16 @@ BattleScript_EffectAccuracyDown:: @ 81D6C02 BattleScript_EffectEvasionDown:: @ 81D6C0D setstatchanger STAT_EVASION, 1, TRUE - BattleScript_81D6C13:: @ 81D6C13 attackcanceler jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D7DF0 - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce - statbuffchange 0x1, BattleScript_81D6C5D - jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6C4B - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_81D6C5D - pause 0x20 + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D6C5D + jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 2, BattleScript_81D6C4B + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 3, BattleScript_81D6C5D + pause 32 goto BattleScript_81D6C55 BattleScript_81D6C4B:: @ 81D6C4B @@ -572,18 +552,16 @@ BattleScript_81D6C4B:: @ 81D6C4B waitanimation setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 - BattleScript_81D6C55:: @ 81D6C55 printfromtable gStatDownStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D6C5D:: @ 81D6C5D goto BattleScript_MoveEnd BattleScript_StatDown:: @ 81D6C62 playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatDownStringIds - waitmessage 0x40 + waitmessage 64 return BattleScript_EffectHaze:: @ 81D6C72 @@ -594,7 +572,7 @@ BattleScript_EffectHaze:: @ 81D6C72 waitanimation normalisebuffs printstring STRINGID_STATCHANGESGONE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectBide:: @ 81D6C83 @@ -609,11 +587,10 @@ BattleScript_EffectBide:: @ 81D6C83 BattleScript_EffectRampage:: @ 81D6C97 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6CAB ppreduce - BattleScript_81D6CAB:: @ 81D6CAB confuseifrepeatingattackends goto BattleScript_HitFromCritCalc @@ -622,34 +599,31 @@ BattleScript_EffectRoar:: @ 81D6CB1 attackcanceler attackstring ppreduce - jumpifability 0x0, ABILITY_SUCTION_CUPS, BattleScript_81D9408 - jumpifstatus3condition BS_TARGET, 0x400, 0x0, BattleScript_81D8F27 - accuracycheck BattleScript_ButItFailed, 0xFFFF - accuracycheck BattleScript_MoveMissedPause, 0x0 + jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_81D9408 + jumpifstatus3condition BS_TARGET, STATUS3_ROOTED, 0, BattleScript_81D8F27 + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON + accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE forcerandomswitch BattleScript_ButItFailed - BattleScript_EffectMultiHit:: @ 81D6CD9 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce - setmultihitcounter 0x0 + setmultihitcounter 0 initmultihitstring - setbyte sMULTIHIT_EFFECT, 0x0 - + setbyte sMULTIHIT_EFFECT, 0 BattleScript_81D6CEC:: @ 81D6CEC jumpifhasnohp BS_ATTACKER, BattleScript_81D6D82 jumpifhasnohp BS_TARGET, BattleScript_81D6D63 jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D6D0E jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6D63 - BattleScript_81D6D0E:: @ 81D6D0E movevaluescleanup - copyarray cEFFECT_CHOOSER, sMULTIHIT_EFFECT, 0x1 + copyarray cEFFECT_CHOOSER, sMULTIHIT_EFFECT, 1 critcalc damagecalc typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6D60 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6D60 adjustnormaldamage attackanimation waitanimation @@ -659,31 +633,29 @@ BattleScript_81D6D0E:: @ 81D6D0E healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 printstring STRINGID_EMPTYSTRING3 - waitmessage 0x1 - addbyte gBattleScripting + 0xC, 0x1 - moveendto 0x10 - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x40, BattleScript_81D6D63 + waitmessage 1 + addbyte gBattleScripting + 12, 1 + moveendto 16 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_81D6D63 decrementmultihit BattleScript_81D6CEC goto BattleScript_81D6D63 BattleScript_81D6D60:: @ 81D6D60 - pause 0x20 - + pause 32 BattleScript_81D6D63:: @ 81D6D63 resultmessage - waitmessage 0x40 - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6D82 - copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6 + waitmessage 64 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6D82 + copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 printstring STRINGID_HITXTIMES - waitmessage 0x40 - + waitmessage 64 BattleScript_81D6D82:: @ 81D6D82 seteffectwithchance - tryfaintmon BS_TARGET, 0x0, NULL - moveendcase 0x2 - moveendfrom 0x4 + tryfaintmon BS_TARGET, 0, NULL + moveendcase 2 + moveendfrom 4 end BattleScript_EffectConversion:: @ 81D6D9D @@ -694,7 +666,7 @@ BattleScript_EffectConversion:: @ 81D6D9D attackanimation waitanimation printstring STRINGID_PKMNCHANGEDTYPE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFlinchHit:: @ 81D6DB2 @@ -712,39 +684,39 @@ BattleScript_EffectRestoreHp:: @ 81D6DBD healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNREGAINEDHEALTH - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectToxic:: @ 81D6DE0 attackcanceler attackstring ppreduce - jumpifability 0x0, ABILITY_IMMUNITY, BattleScript_81D6E4F + jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41 jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41 - jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed - jumpiftype BS_TARGET, 0x3, BattleScript_81D7E04 - jumpiftype BS_TARGET, 0x8, BattleScript_81D7E04 - accuracycheck BattleScript_ButItFailed, 0x0 - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed + jumpiftype BS_TARGET, TYPE_POISON, BattleScript_81D7E04 + jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_81D7E04 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_TOXIC seteffectprimary resultmessage - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D6E41:: @ 81D6E41 - pause 0x40 + pause 64 printstring STRINGID_PKMNALREADYPOISONED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D6E4F:: @ 81D6E4F - copyarray gEffectBattler, gBattlerTarget, 0x1 - setbyte cMULTISTRING_CHOOSER, 0x0 + copyarray gEffectBattler, gBattlerTarget, 1 + setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_PSNPrevention goto BattleScript_MoveEnd @@ -770,53 +742,53 @@ BattleScript_EffectRest:: @ 81D6E88 jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6EC2 jumpifcantmakeasleep BattleScript_81D6EB2 trysetrest BattleScript_AlreadyAtFullHp - pause 0x20 + pause 32 printfromtable gRestUsedStringIds - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_ATTACKER waitstate goto BattleScript_PresentHealTarget BattleScript_81D6EB2:: @ 81D6EB2 - pause 0x40 + pause 64 printfromtable gUproarAwakeStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D6EC2:: @ 81D6EC2 - pause 0x20 + pause 32 printstring STRINGID_PKMNALREADYASLEEP2 - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectOhko:: @ 81D6ED0 attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0xFFFF + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6934 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6934 tryKO BattleScript_81D6EF1 trysetdestinybondtohappen goto BattleScript_81D6934 BattleScript_81D6EF1:: @ 81D6EF1 - pause 0x40 + pause 64 printfromtable gKOFailedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRazorWind:: @ 81D6F01 jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 - setbyte sTWOTURN_STRINGID, 0x0 + setbyte sTWOTURN_STRINGID, 0 call BattleScript_81D6F58 goto BattleScript_MoveEnd BattleScript_81D6F29:: @ 81D6F29 attackcanceler setmoveeffect MOVE_EFFECT_CHARGING - setbyte sB_ANIM_TURN, 0x1 + setbyte sB_ANIM_TURN, 1 clearstatusfromeffect BS_ATTACKER orword gHitMarker, HITMARKER_NO_PPDEDUCT jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_SKY_ATTACK, BattleScript_81D6927 @@ -832,79 +804,78 @@ BattleScript_81D6F58:: @ 81D6F58 orword gHitMarker, HITMARKER_CHARGING setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER seteffectprimary - copyarray cMULTISTRING_CHOOSER, sTWOTURN_STRINGID, 0x1 + copyarray cMULTISTRING_CHOOSER, sTWOTURN_STRINGID, 1 printfromtable gFirstTurnOfTwoStringIds - waitmessage 0x40 + waitmessage 64 return BattleScript_EffectSuperFang:: @ 81D6F82 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce typecalc - bicbyte gMoveResultFlags, 0x6 + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE damagetohalftargethp goto BattleScript_81D6934 BattleScript_EffectDragonRage:: @ 81D6F99 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce typecalc - bicbyte gMoveResultFlags, 0x6 - setbyte gBattleMoveDamage, 0x28 - setbyte gBattleMoveDamage + 0x1, 0x0 - setbyte gBattleMoveDamage + 0x2, 0x0 - setbyte gBattleMoveDamage + 0x3, 0x0 + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + setbyte gBattleMoveDamage, 40 + setbyte gBattleMoveDamage + 1, 0 + setbyte gBattleMoveDamage + 2, 0 + setbyte gBattleMoveDamage + 3, 0 adjustsetdamage goto BattleScript_81D6934 BattleScript_EffectTrap:: @ 81D6FC8 jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_WHIRLPOOL, BattleScript_81D6FEE - jumpifstatus3condition BS_TARGET, 0x40000, 0x1, BattleScript_81D6FEE + jumpifstatus3condition BS_TARGET, STATUS3_UNDERWATER, 1, BattleScript_81D6FEE orword gHitMarker, HITMARKER_IGNORE_UNDERWATER - setbyte sDMG_MULTIPLIER, 0x2 - + setbyte sDMG_MULTIPLIER, 2 BattleScript_81D6FEE:: @ 81D6FEE setmoveeffect MOVE_EFFECT_WRAP goto BattleScript_EffectHit BattleScript_EffectDoubleHit:: @ 81D6FF9 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce - setmultihitcounter 0x2 + setmultihitcounter 2 initmultihitstring - setbyte sMULTIHIT_EFFECT, 0x0 + setbyte sMULTIHIT_EFFECT, 0 goto BattleScript_81D6CEC BattleScript_EffectRecoilIfMiss:: @ 81D7011 attackcanceler - accuracycheck BattleScript_81D701E, 0x0 + accuracycheck BattleScript_81D701E, ACC_CURR_MOVE goto BattleScript_81D692E BattleScript_81D701E:: @ 81D701E attackstring ppreduce - pause 0x40 + pause 64 resultmessage - waitmessage 0x40 - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x8, BattleScript_MoveEnd + waitmessage 64 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_MoveEnd printstring STRINGID_PKMNCRASHED - waitmessage 0x40 + waitmessage 64 damagecalc typecalc adjustnormaldamage - manipulatedamage 0x1 - bicbyte gMoveResultFlags, 0x1 + manipulatedamage 1 + bicbyte gMoveResultFlags, MOVE_RESULT_MISSED orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - tryfaintmon BS_ATTACKER, 0x0, NULL - orbyte gMoveResultFlags, 0x1 + tryfaintmon BS_ATTACKER, 0, NULL + orbyte gMoveResultFlags, MOVE_RESULT_MISSED goto BattleScript_MoveEnd BattleScript_EffectMist:: @ 81D7062 @@ -915,7 +886,7 @@ BattleScript_EffectMist:: @ 81D7062 attackanimation waitanimation printfromtable gMistUsedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFocusEnergy:: @ 81D7075 @@ -927,7 +898,7 @@ BattleScript_EffectFocusEnergy:: @ 81D7075 attackanimation waitanimation printfromtable gFocusEnergyUsedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRecoil:: @ 81D7092 @@ -940,23 +911,23 @@ BattleScript_EffectConfuse:: @ 81D70AB attackcanceler attackstring ppreduce - jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D9460 + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D70EA - accuracycheck BattleScript_ButItFailed, 0x0 - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary resultmessage - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D70EA:: @ 81D70EA - pause 0x20 + pause 32 printstring STRINGID_PKMNALREADYCONFUSED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectAttackUp2:: @ 81D70F8 @@ -987,7 +958,7 @@ BattleScript_EffectTransform:: @ 81D712F attackanimation waitanimation printfromtable gTransformUsedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectAttackDown2:: @ 81D7142 @@ -1011,64 +982,63 @@ BattleScript_EffectReflect:: @ 81D716E attackstring ppreduce setreflect - BattleScript_81D7172:: @ 81D7172 attackanimation waitanimation printfromtable gReflectLightScreenSafeguardStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPoison:: @ 81D7181 attackcanceler attackstring ppreduce - jumpifability 0x0, ABILITY_IMMUNITY, BattleScript_81D6E4F + jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41 jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41 - jumpiftype BS_TARGET, 0x3, BattleScript_81D7E04 - jumpiftype BS_TARGET, 0x8, BattleScript_81D7E04 - jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed - accuracycheck BattleScript_ButItFailed, 0x0 - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + jumpiftype BS_TARGET, TYPE_POISON, BattleScript_81D7E04 + jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_81D7E04 + jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_POISON seteffectprimary resultmessage - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectParalyze:: @ 81D71E2 attackcanceler attackstring ppreduce - jumpifability 0x0, ABILITY_LIMBER, BattleScript_81D7245 + jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_81D7245 jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_ButItFailed + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D7237 - jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed - accuracycheck BattleScript_ButItFailed, 0x0 - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_PARALYSIS seteffectprimary resultmessage - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D7237:: @ 81D7237 - pause 0x20 + pause 32 printstring STRINGID_PKMNISALREADYPARALYZED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D7245:: @ 81D7245 - copyarray gEffectBattler, gBattlerTarget, 0x1 - setbyte cMULTISTRING_CHOOSER, 0x0 + copyarray gEffectBattler, gBattlerTarget, 1 + setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_PRLZPrevention goto BattleScript_MoveEnd @@ -1099,7 +1069,7 @@ BattleScript_EffectAccuracyDownHit:: @ 81D7296 BattleScript_EffectSkyAttack:: @ 81D72A1 jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 - setbyte sTWOTURN_STRINGID, 0x3 + setbyte sTWOTURN_STRINGID, 3 call BattleScript_81D6F58 goto BattleScript_MoveEnd @@ -1109,11 +1079,11 @@ BattleScript_EffectConfuseHit:: @ 81D72C9 BattleScript_EffectTwineedle:: @ 81D72D4 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 - setbyte sMULTIHIT_EFFECT, 0x2 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + setbyte sMULTIHIT_EFFECT, 2 attackstring ppreduce - setmultihitcounter 0x2 + setmultihitcounter 2 initmultihitstring goto BattleScript_81D6CEC @@ -1124,8 +1094,8 @@ BattleScript_EffectSubstitute:: @ 81D72EC waitstate jumpifstatus2 BS_ATTACKER, STATUS2_SUBSTITUTE, BattleScript_81D7321 setsubstitute - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D730E - pause 0x20 + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_81D730E + pause 32 goto BattleScript_81D7314 BattleScript_81D730E:: @ 81D730E @@ -1133,32 +1103,31 @@ BattleScript_81D730E:: @ 81D730E waitanimation healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - BattleScript_81D7314:: @ 81D7314 printfromtable gSubsituteUsedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D7321:: @ 81D7321 - pause 0x20 + pause 32 printstring STRINGID_PKMNHASSUBSTITUTE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRecharge:: @ 81D732F attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE setmoveeffect MOVE_EFFECT_RECHARGE | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN goto BattleScript_81D692E BattleScript_MoveUsedMustRecharge:: @ 81D7342 printstring STRINGID_PKMNMUSTRECHARGE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRage:: @ 81D734D attackcanceler - accuracycheck BattleScript_81D7367, 0x0 + accuracycheck BattleScript_81D7367, ACC_CURR_MOVE setmoveeffect MOVE_EFFECT_RAGE seteffectprimary setmoveeffect MOVE_EFFECT_NOTHING_0 @@ -1174,38 +1143,36 @@ BattleScript_EffectMimic:: @ 81D7374 attackstring ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - accuracycheck BattleScript_ButItFailed, 0xFFFF + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON mimicattackcopy BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNLEARNEDMOVE2 - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectMetronome:: @ 81D739A attackcanceler attackstring - pause 0x20 + pause 32 attackanimation waitanimation - setbyte sB_ANIM_TURN, 0x0 - setbyte sB_ANIM_TARGETS_HIT, 0x0 + setbyte sB_ANIM_TURN, 0 + setbyte sB_ANIM_TARGETS_HIT, 0 metronome - BattleScript_EffectLeechSeed:: @ 81D73AE attackcanceler attackstring - pause 0x20 + pause 32 ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - accuracycheck BattleScript_81D73C5, 0x0 - + accuracycheck BattleScript_81D73C5, ACC_CURR_MOVE BattleScript_81D73C5:: @ 81D73C5 setseeded attackanimation waitanimation printfromtable gLeechSeedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSplash:: @ 81D73D5 @@ -1216,39 +1183,39 @@ BattleScript_EffectSplash:: @ 81D73D5 waitanimation incrementgamestat GAME_STAT_USED_SPLASH printstring STRINGID_BUTNOTHINGHAPPENED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectDisable:: @ 81D73E7 attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0x0 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE disablelastusedattack BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNMOVEWASDISABLED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectLevelDamage:: @ 81D7403 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce typecalc - bicbyte gMoveResultFlags, 0x6 + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE dmgtolevel adjustsetdamage goto BattleScript_81D6934 BattleScript_EffectPsywave:: @ 81D741B attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce typecalc - bicbyte gMoveResultFlags, 0x6 + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE psywavedamageeffect adjustsetdamage goto BattleScript_81D6934 @@ -1256,7 +1223,7 @@ BattleScript_EffectPsywave:: @ 81D741B BattleScript_EffectCounter:: @ 81D7433 attackcanceler counterdamagecalculator BattleScript_81D7DF0 - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce typecalc2 @@ -1265,32 +1232,32 @@ BattleScript_EffectCounter:: @ 81D7433 BattleScript_EffectEncore:: @ 81D7449 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce trysetencore BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNGOTENCORE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPainSplit:: @ 81D7465 attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0xFFFF + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON painsplitdmgcalc BattleScript_ButItFailed attackanimation waitanimation orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - copyarray gBattleMoveDamage, gBattleScripting, 0x4 + copyarray gBattleMoveDamage, gBattleScripting, 4 healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_SHAREDPAIN - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSnore:: @ 81D749C @@ -1303,13 +1270,12 @@ BattleScript_EffectSnore:: @ 81D749C BattleScript_81D74AE:: @ 81D74AE jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D74C2 printstring STRINGID_PKMNFASTASLEEP - waitmessage 0x40 + waitmessage 64 statusanimation BS_ATTACKER - BattleScript_81D74C2:: @ 81D74C2 attackstring ppreduce - accuracycheck BattleScript_MoveMissedPause, 0x0 + accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE setmoveeffect MOVE_EFFECT_FLINCH goto BattleScript_HitFromCritCalc @@ -1321,7 +1287,7 @@ BattleScript_EffectConversion2:: @ 81D74D6 attackanimation waitanimation printstring STRINGID_PKMNCHANGEDTYPE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectLockOn:: @ 81D74EB @@ -1329,12 +1295,12 @@ BattleScript_EffectLockOn:: @ 81D74EB attackstring ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - accuracycheck BattleScript_ButItFailed, 0x0 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE setalwayshitflag attackanimation waitanimation printstring STRINGID_PKMNTOOKAIM - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSketch:: @ 81D750D @@ -1346,7 +1312,7 @@ BattleScript_EffectSketch:: @ 81D750D attackanimation waitanimation printstring STRINGID_PKMNSKETCHEDMOVE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSleepTalk:: @ 81D752C @@ -1358,22 +1324,21 @@ BattleScript_EffectSleepTalk:: @ 81D752C BattleScript_81D753E:: @ 81D753E printstring STRINGID_PKMNFASTASLEEP - waitmessage 0x40 + waitmessage 64 statusanimation BS_ATTACKER attackstring ppreduce orword gHitMarker, HITMARKER_NO_PPDEDUCT trychoosesleeptalkmove BattleScript_81D755E - pause 0x40 + pause 64 goto BattleScript_ButItFailed BattleScript_81D755E:: @ 81D755E attackanimation waitanimation - setbyte sB_ANIM_TURN, 0x0 - setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptocalledmove 0x1 - + setbyte sB_ANIM_TURN, 0 + setbyte sB_ANIM_TARGETS_HIT, 0 + jumptocalledmove 1 BattleScript_EffectDestinyBond:: @ 81D756E attackcanceler attackstring @@ -1382,7 +1347,7 @@ BattleScript_EffectDestinyBond:: @ 81D756E attackanimation waitanimation printstring STRINGID_PKMNTRYINGTOTAKEFOE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFlail:: @ 81D757F @@ -1393,12 +1358,12 @@ BattleScript_EffectSpite:: @ 81D7585 attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0x0 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE tryspiteppreduce BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNREDUCEDPP - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectHealBell:: @ 81D75A1 @@ -1410,17 +1375,15 @@ BattleScript_EffectHealBell:: @ 81D75A1 attackanimation waitanimation printfromtable gPartyStatusHealStringIds - waitmessage 0x40 + waitmessage 64 jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_HEAL_BELL, BattleScript_81D75DE - jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D75CD + jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 1, BattleScript_81D75CD printstring STRINGID_PKMNSXBLOCKSY - waitmessage 0x40 - + waitmessage 64 BattleScript_81D75CD:: @ 81D75CD - jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D75DE + jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 2, BattleScript_81D75DE printstring STRINGID_PKMNSXBLOCKSY2 - waitmessage 0x40 - + waitmessage 64 BattleScript_81D75DE:: @ 81D75DE updatestatusicon BS_ATTACKER_WITH_PARTNER waitstate @@ -1430,28 +1393,26 @@ BattleScript_EffectTripleKick:: @ 81D75E6 attackcanceler attackstring ppreduce - setbyte sTRIPLE_KICK_POWER, 0x0 - setbyte gBattleScripting + 0x13, 0x0 + setbyte sTRIPLE_KICK_POWER, 0 + setbyte gBattleScripting + 19, 0 initmultihitstring - setmultihit 0x3 - + setmultihit 3 BattleScript_81D75F8:: @ 81D75F8 jumpifhasnohp BS_ATTACKER, BattleScript_81D76B7 jumpifhasnohp BS_TARGET, BattleScript_81D7679 jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D761A jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D7679 - BattleScript_81D761A:: @ 81D761A - accuracycheck BattleScript_81D7679, 0x0 + accuracycheck BattleScript_81D7679, ACC_CURR_MOVE movevaluescleanup - addbyte sTRIPLE_KICK_POWER, 0xA - addbyte gBattleScripting + 0xC, 0x1 - copyarray gDynamicBasePower, sTRIPLE_KICK_POWER, 0x2 + addbyte sTRIPLE_KICK_POWER, 10 + addbyte gBattleScripting + 12, 1 + copyarray gDynamicBasePower, sTRIPLE_KICK_POWER, 2 critcalc damagecalc typecalc adjustnormaldamage - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D7679 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D7679 attackanimation waitanimation effectivenesssound @@ -1460,32 +1421,30 @@ BattleScript_81D761A:: @ 81D761A healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 printstring STRINGID_EMPTYSTRING3 - waitmessage 0x1 - moveendto 0x10 - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x40, BattleScript_81D768D + waitmessage 1 + moveendto 16 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_81D768D decrementmultihit BattleScript_81D75F8 goto BattleScript_81D768D BattleScript_81D7679:: @ 81D7679 - pause 0x20 - jumpifbyte CMP_EQUAL, gBattleScripting + 0xC, 0x0, BattleScript_81D768D - bicbyte gMoveResultFlags, 0x1 - + pause 32 + jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_81D768D + bicbyte gMoveResultFlags, MOVE_RESULT_MISSED BattleScript_81D768D:: @ 81D768D resultmessage - waitmessage 0x40 - jumpifbyte CMP_EQUAL, gBattleScripting + 0xC, 0x0, BattleScript_81D76B7 - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x8, BattleScript_81D76B7 - copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6 + waitmessage 64 + jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_81D76B7 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_81D76B7 + copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 printstring STRINGID_HITXTIMES - waitmessage 0x40 - + waitmessage 64 BattleScript_81D76B7:: @ 81D76B7 seteffectwithchance - tryfaintmon BS_TARGET, 0x0, NULL - moveendfrom 0xE + tryfaintmon BS_TARGET, 0, NULL + moveendfrom 14 end BattleScript_EffectThief:: @ 81D76C9 @@ -1496,7 +1455,7 @@ BattleScript_EffectMeanLook:: @ 81D76D4 attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0xFFFE + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC jumpifstatus2 BS_TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed attackanimation @@ -1504,7 +1463,7 @@ BattleScript_EffectMeanLook:: @ 81D76D4 setmoveeffect MOVE_EFFECT_PREVENT_ESCAPE seteffectprimary printstring STRINGID_TARGETCANTESCAPENOW - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectNightmare:: @ 81D7706 @@ -1522,7 +1481,7 @@ BattleScript_81D772C:: @ 81D772C setmoveeffect MOVE_EFFECT_NIGHTMARE seteffectprimary printstring STRINGID_PKMNFELLINTONIGHTMARE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectMinimize:: @ 81D7740 @@ -1532,59 +1491,54 @@ BattleScript_EffectMinimize:: @ 81D7740 goto BattleScript_81D6B9F BattleScript_EffectCurse:: @ 81D774D - jumpiftype2 BS_ATTACKER, 0x7, BattleScript_81D77C5 + jumpiftype2 BS_ATTACKER, TYPE_GHOST, BattleScript_81D77C5 attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_GREATER_THAN, 0x3, 0x0, BattleScript_81D7772 - jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, 0x1, 0xC, BattleScript_81D7772 - jumpifstat BS_ATTACKER, CMP_EQUAL, 0x2, 0xC, BattleScript_ButItFailed - + jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0, BattleScript_81D7772 + jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 12, BattleScript_81D7772 + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_ButItFailed BattleScript_81D7772:: @ 81D7772 - copyarray gBattlerTarget, gBattlerAttacker, 0x1 - setbyte sB_ANIM_TURN, 0x1 + copyarray gBattlerTarget, gBattlerAttacker, 1 + setbyte sB_ANIM_TURN, 1 attackanimation waitanimation setstatchanger STAT_SPEED, 1, TRUE - statbuffchange 0x41, BattleScript_81D7798 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7798 printfromtable gStatDownStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D7798:: @ 81D7798 setstatchanger STAT_ATK, 1, FALSE - statbuffchange 0x41, BattleScript_81D77AC + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D77AC printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D77AC:: @ 81D77AC setstatchanger STAT_DEF, 1, FALSE - statbuffchange 0x41, BattleScript_81D77C0 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D77C0 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D77C0:: @ 81D77C0 goto BattleScript_MoveEnd BattleScript_81D77C5:: @ 81D77C5 - jumpifarraynotequal gBattlerAttacker, gBattlerTarget, 0x1, BattleScript_81D77D6 - various BS_ATTACKER, 0x3 - + jumpifarraynotequal gBattlerAttacker, gBattlerTarget, 1, BattleScript_81D77D6 + getmovetarget BS_ATTACKER BattleScript_81D77D6:: @ 81D77D6 attackcanceler attackstring ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - accuracycheck BattleScript_ButItFailed, 0xFFFF + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON cursetarget BattleScript_ButItFailed orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - setbyte sB_ANIM_TURN, 0x0 + setbyte sB_ANIM_TURN, 0 attackanimation waitanimation healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNLAIDCURSE - waitmessage 0x40 - tryfaintmon BS_ATTACKER, 0x0, NULL + waitmessage 64 + tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd BattleScript_EffectProtect:: @ 81D7816 @@ -1595,7 +1549,7 @@ BattleScript_EffectProtect:: @ 81D7816 attackanimation waitanimation printfromtable gProtectLikeUsedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSpikes:: @ 81D7829 @@ -1606,19 +1560,19 @@ BattleScript_EffectSpikes:: @ 81D7829 attackanimation waitanimation printstring STRINGID_SPIKESSCATTERED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectForesight:: @ 81D783E attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce setforesight attackanimation waitanimation printstring STRINGID_PKMNIDENTIFIED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPerishSong:: @ 81D7856 @@ -1629,20 +1583,18 @@ BattleScript_EffectPerishSong:: @ 81D7856 attackanimation waitanimation printstring STRINGID_FAINTINTHREE - waitmessage 0x40 - setbyte sBATTLER, 0x0 - + waitmessage 64 + setbyte sBATTLER, 0 BattleScript_81D786C:: @ 81D786C - jumpifability 0xA, ABILITY_SOUNDPROOF, BattleScript_81D788C - + jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_81D788C BattleScript_81D7873:: @ 81D7873 - addbyte sBATTLER, 0x1 - jumpifarraynotequal sBATTLER, gBattlersCount, 0x1, BattleScript_81D786C + addbyte sBATTLER, 1 + jumpifarraynotequal sBATTLER, gBattlersCount, 1, BattleScript_81D786C goto BattleScript_MoveEnd BattleScript_81D788C:: @ 81D788C printstring STRINGID_PKMNSXBLOCKSY2 - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D7873 BattleScript_EffectSandstorm:: @ 81D7897 @@ -1657,10 +1609,8 @@ BattleScript_EffectRollout:: @ 81D78A0 attackstring jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D78AD ppreduce - BattleScript_81D78AD:: @ 81D78AD - accuracycheck BattleScript_81D78B4, 0x0 - + accuracycheck BattleScript_81D78B4, ACC_CURR_MOVE BattleScript_81D78B4:: @ 81D78B4 typecalc2 rolloutdamagecalculation @@ -1669,23 +1619,22 @@ BattleScript_81D78B4:: @ 81D78B4 BattleScript_EffectSwagger:: @ 81D78BB attackcanceler jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958 - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce - jumpifconfusedandstatmaxed 0x1, BattleScript_ButItFailed + jumpifconfusedandstatmaxed 1, BattleScript_ButItFailed attackanimation waitanimation setstatchanger STAT_ATK, 2, FALSE - statbuffchange 0x1, BattleScript_81D78FE - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D78FE + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D78FE + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D78FE setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D78FE:: @ 81D78FE - jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D9460 - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd @@ -1694,14 +1643,13 @@ BattleScript_EffectFuryCutter:: @ 81D7919 attackcanceler attackstring ppreduce - accuracycheck BattleScript_81D7923, 0x0 - + accuracycheck BattleScript_81D7923, ACC_CURR_MOVE BattleScript_81D7923:: @ 81D7923 furycuttercalc critcalc damagecalc typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D7923 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D7923 adjustnormaldamage goto BattleScript_81D6934 @@ -1709,28 +1657,27 @@ BattleScript_EffectAttract:: @ 81D7938 attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0x0 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE tryinfatuating BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNFELLINLOVE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectReturn:: @ 81D7954 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE happinesstodamagecalculation goto BattleScript_81D692E BattleScript_EffectPresent:: @ 81D7962 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce typecalc presentdamagecalculation - BattleScript_EffectSafeguard:: @ 81D796E attackcanceler attackstring @@ -1748,9 +1695,9 @@ BattleScript_EffectMagnitude:: @ 81D7982 ppreduce selectfirstvalidtarget magnitudedamagecalculation - pause 0x20 + pause 32 printstring STRINGID_MAGNITUDESTRENGTH - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D7B17 BattleScript_EffectBatonPass:: @ 81D7995 @@ -1760,16 +1707,16 @@ BattleScript_EffectBatonPass:: @ 81D7995 jumpifcantswitch BS_ATTACKER | 0x80, BattleScript_ButItFailed attackanimation waitanimation - openpartyscreen 0x1, BattleScript_ButItFailed + openpartyscreen 1, BattleScript_ButItFailed switchoutabilities BS_ATTACKER waitstate - switchhandleorder BS_ATTACKER, 0x2 + switchhandleorder BS_ATTACKER, 2 returntoball BS_ATTACKER getswitchedmondata BS_ATTACKER switchindataupdate BS_ATTACKER hpthresholds BS_ATTACKER printstring STRINGID_SWITCHINMON - switchinanim BS_ATTACKER, 0x1 + switchinanim BS_ATTACKER, 1 waitstate switchineffects BS_ATTACKER goto BattleScript_MoveEnd @@ -1780,15 +1727,15 @@ BattleScript_EffectRapidSpin:: @ 81D79C2 BattleScript_EffectSonicboom:: @ 81D79CD attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce typecalc - bicbyte gMoveResultFlags, 0x6 - setbyte gBattleMoveDamage, 0x14 - setbyte gBattleMoveDamage + 0x1, 0x0 - setbyte gBattleMoveDamage + 0x2, 0x0 - setbyte gBattleMoveDamage + 0x3, 0x0 + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + setbyte gBattleMoveDamage, 20 + setbyte gBattleMoveDamage + 1, 0 + setbyte gBattleMoveDamage + 2, 0 + setbyte gBattleMoveDamage + 3, 0 adjustsetdamage goto BattleScript_81D6934 @@ -1809,12 +1756,11 @@ BattleScript_EffectRainDance:: @ 81D7A10 attackstring ppreduce setrain - BattleScript_81D7A14:: @ 81D7A14 attackanimation waitanimation printfromtable gMoveWeatherChangeStringIds - waitmessage 0x40 + waitmessage 64 call BattleScript_81D92DC goto BattleScript_MoveEnd @@ -1848,7 +1794,7 @@ BattleScript_EffectBellyDrum:: @ 81D7A52 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNCUTHPMAXEDATTACK - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPsychUp:: @ 81D7A74 @@ -1859,13 +1805,13 @@ BattleScript_EffectPsychUp:: @ 81D7A74 attackanimation waitanimation printstring STRINGID_PKMNCOPIEDSTATCHANGES - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectMirrorCoat:: @ 81D7A89 attackcanceler mirrorcoatdamagecalculator BattleScript_81D7DF0 - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce typecalc2 @@ -1875,24 +1821,22 @@ BattleScript_EffectMirrorCoat:: @ 81D7A89 BattleScript_EffectSkullBash:: @ 81D7A9F jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 - setbyte sTWOTURN_STRINGID, 0x2 + setbyte sTWOTURN_STRINGID, 2 call BattleScript_81D6F58 setstatchanger STAT_DEF, 1, FALSE - statbuffchange 0x41, BattleScript_81D7AE9 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D7AE9 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7AE9 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D7AE9 setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D7AE9:: @ 81D7AE9 goto BattleScript_MoveEnd BattleScript_EffectTwister:: @ 81D7AEE - jumpifstatus3condition BS_TARGET, 0x40, 0x1, BattleScript_81D7B08 + jumpifstatus3condition BS_TARGET, STATUS3_ON_AIR, 1, BattleScript_81D7B08 orword gHitMarker, HITMARKER_IGNORE_ON_AIR - setbyte sDMG_MULTIPLIER, 0x2 - + setbyte sDMG_MULTIPLIER, 2 BattleScript_81D7B08:: @ 81D7B08 setmoveeffect MOVE_EFFECT_FLINCH goto BattleScript_EffectHit @@ -1902,20 +1846,18 @@ BattleScript_EffectEarthquake:: @ 81D7B13 attackstring ppreduce selectfirstvalidtarget - BattleScript_81D7B17:: @ 81D7B17 movevaluescleanup - jumpifstatus3condition BS_TARGET, 0x80, 0x1, BattleScript_81D7B37 + jumpifstatus3condition BS_TARGET, STATUS3_UNDERGROUND, 1, BattleScript_81D7B37 orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND - setbyte sDMG_MULTIPLIER, 0x2 + setbyte sDMG_MULTIPLIER, 2 goto BattleScript_81D7B46 BattleScript_81D7B37:: @ 81D7B37 - bicword gHitMarker, 0x20000 - setbyte sDMG_MULTIPLIER, 0x1 - + bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND + setbyte sDMG_MULTIPLIER, 1 BattleScript_81D7B46:: @ 81D7B46 - accuracycheck BattleScript_81D7B7F, 0x0 + accuracycheck BattleScript_81D7B7F, ACC_CURR_MOVE critcalc damagecalc typecalc @@ -1928,23 +1870,23 @@ BattleScript_81D7B46:: @ 81D7B46 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 resultmessage - waitmessage 0x40 + waitmessage 64 printstring STRINGID_EMPTYSTRING3 - waitmessage 0x1 - tryfaintmon BS_TARGET, 0x0, NULL - moveendto 0x10 + waitmessage 1 + tryfaintmon BS_TARGET, 0, NULL + moveendto 16 jumpifnexttargetvalid BattleScript_81D7B17 end BattleScript_81D7B7F:: @ 81D7B7F - pause 0x20 + pause 32 typecalc effectivenesssound resultmessage - waitmessage 0x40 - moveendto 0x10 + waitmessage 64 + moveendto 16 jumpifnexttargetvalid BattleScript_81D7B17 end @@ -1956,29 +1898,28 @@ BattleScript_EffectFutureSight:: @ 81D7B97 attackanimation waitanimation printfromtable gFutureMoveUsedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectGust:: @ 81D7BAE - jumpifstatus3condition BS_TARGET, 0x40, 0x1, BattleScript_EffectHit + jumpifstatus3condition BS_TARGET, STATUS3_ON_AIR, 1, BattleScript_EffectHit orword gHitMarker, HITMARKER_IGNORE_ON_AIR - setbyte sDMG_MULTIPLIER, 0x2 + setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit BattleScript_EffectFlinchMinimizeHit:: @ 81D7BCD - jumpifstatus3condition BS_TARGET, 0x100, 0x1, BattleScript_81D7B08 - setbyte sDMG_MULTIPLIER, 0x2 + jumpifstatus3condition BS_TARGET, STATUS3_MINIMIZED, 1, BattleScript_81D7B08 + setbyte sDMG_MULTIPLIER, 2 goto BattleScript_81D7B08 BattleScript_EffectSolarbeam:: @ 81D7BE3 jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_81D7BFB jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_81D7BFB - jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 0x60, BattleScript_81D7C23 - + jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 96, BattleScript_81D7C23 BattleScript_81D7BFB:: @ 81D7BFB jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 - setbyte sTWOTURN_STRINGID, 0x1 + setbyte sTWOTURN_STRINGID, 1 call BattleScript_81D6F58 goto BattleScript_MoveEnd @@ -1999,32 +1940,30 @@ BattleScript_EffectTeleport:: @ 81D7C4D attackstring ppreduce jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_ButItFailed - various BS_ATTACKER, 0x2 - jumpifbyte CMP_EQUAL, gBattleCommunication, 0x1, BattleScript_ButItFailed - jumpifbyte CMP_EQUAL, gBattleCommunication, 0x2, BattleScript_81D8255 + getifcantrunfrombattle BS_ATTACKER + jumpifbyte CMP_EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed + jumpifbyte CMP_EQUAL, gBattleCommunication, 2, BattleScript_81D8255 attackanimation waitanimation printstring STRINGID_PKMNFLEDFROMBATTLE - waitmessage 0x40 - setbyte gBattleOutcome, 0x5 + waitmessage 64 + setbyte gBattleOutcome, B_OUTCOME_PLAYER_TELEPORTED goto BattleScript_MoveEnd BattleScript_EffectBeatUp:: @ 81D7C8A attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring - pause 0x20 + pause 32 ppreduce - setbyte gBattleCommunication, 0x0 - + setbyte gBattleCommunication, 0 BattleScript_81D7C9D:: @ 81D7C9D movevaluescleanup trydobeatup BattleScript_81D7CE0, BattleScript_ButItFailed printstring STRINGID_PKMNATTACK critcalc - jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 0x2, BattleScript_81D7CB8 - manipulatedamage 0x2 - + jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 2, BattleScript_81D7CB8 + manipulatedamage 2 BattleScript_81D7CB8:: @ 81D7CB8 adjustnormaldamage attackanimation @@ -2035,11 +1974,11 @@ BattleScript_81D7CB8:: @ 81D7CB8 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 resultmessage - waitmessage 0x40 - tryfaintmon BS_TARGET, 0x0, NULL - moveendto 0x10 + waitmessage 64 + tryfaintmon BS_TARGET, 0, NULL + moveendto 16 goto BattleScript_81D7C9D BattleScript_81D7CE0:: @ 81D7CE0 @@ -2051,20 +1990,19 @@ BattleScript_EffectSemiInvulnerable:: @ 81D7CE1 jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_FLY, BattleScript_81D7D3E jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_DIVE, BattleScript_81D7D33 jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_81D7D28 - setbyte sTWOTURN_STRINGID, 0x5 + setbyte sTWOTURN_STRINGID, 5 goto BattleScript_81D7D44 BattleScript_81D7D28:: @ 81D7D28 - setbyte sTWOTURN_STRINGID, 0x7 + setbyte sTWOTURN_STRINGID, 7 goto BattleScript_81D7D44 BattleScript_81D7D33:: @ 81D7D33 - setbyte sTWOTURN_STRINGID, 0x6 + setbyte sTWOTURN_STRINGID, 6 goto BattleScript_81D7D44 BattleScript_81D7D3E:: @ 81D7D3E - setbyte sTWOTURN_STRINGID, 0x4 - + setbyte sTWOTURN_STRINGID, 4 BattleScript_81D7D44:: @ 81D7D44 call BattleScript_81D6F58 setsemiinvulnerablebit @@ -2073,14 +2011,13 @@ BattleScript_81D7D44:: @ 81D7D44 BattleScript_81D7D4F:: @ 81D7D4F attackcanceler setmoveeffect MOVE_EFFECT_CHARGING - setbyte sB_ANIM_TURN, 0x1 + setbyte sB_ANIM_TURN, 1 clearstatusfromeffect BS_ATTACKER orword gHitMarker, HITMARKER_NO_PPDEDUCT jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_81D7D79 setmoveeffect MOVE_EFFECT_PARALYSIS - BattleScript_81D7D79:: @ 81D7D79 - accuracycheck BattleScript_81D7D86, 0x0 + accuracycheck BattleScript_81D7D86, ACC_CURR_MOVE clearsemiinvulnerablebit goto BattleScript_81D692E @@ -2094,11 +2031,10 @@ BattleScript_EffectDefenseCurl:: @ 81D7D8C ppreduce setdefensecurlbit setstatchanger STAT_DEF, 1, FALSE - statbuffchange 0x41, BattleScript_81D7DA9 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D6BC4 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7DA9 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D6BC4 attackanimation waitanimation - BattleScript_81D7DA9:: @ 81D7DA9 goto BattleScript_81D6BBC @@ -2107,7 +2043,6 @@ BattleScript_EffectSoftboiled:: @ 81D7DAE attackstring ppreduce tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_TARGET - BattleScript_PresentHealTarget:: @ 81D7DB7 attackanimation waitanimation @@ -2115,13 +2050,13 @@ BattleScript_PresentHealTarget:: @ 81D7DB7 healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNREGAINEDHEALTH - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_AlreadyAtFullHp:: @ 81D7DD1 - pause 0x20 + pause 32 printstring STRINGID_PKMNHPFULL - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFakeOut:: @ 81D7DDF @@ -2132,32 +2067,29 @@ BattleScript_EffectFakeOut:: @ 81D7DDF BattleScript_81D7DF0:: @ 81D7DF0 attackstring - BattleScript_81D7DF1:: @ 81D7DF1 ppreduce - BattleScript_ButItFailed:: @ 81D7DF2 - pause 0x20 - orbyte gMoveResultFlags, 0x20 + pause 32 + orbyte gMoveResultFlags, MOVE_RESULT_FAILED resultmessage - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D7E04:: @ 81D7E04 - pause 0x20 - orbyte gMoveResultFlags, 0x8 + pause 32 + orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE resultmessage - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectUproar:: @ 81D7E16 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE setmoveeffect MOVE_EFFECT_UPROAR | MOVE_EFFECT_AFFECTS_USER attackstring jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7E30 ppreduce - BattleScript_81D7E30:: @ 81D7E30 nop goto BattleScript_HitFromCritCalc @@ -2170,33 +2102,33 @@ BattleScript_EffectStockpile:: @ 81D7E36 attackanimation waitanimation printfromtable gStockpileUsedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSpitUp:: @ 81D7E49 attackcanceler - jumpifbyte CMP_EQUAL, gBattleCommunication + 0x6, 0x1, BattleScript_81D7E78 + jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_81D7E78 attackstring ppreduce - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE stockpiletobasedamage BattleScript_81D7E6A typecalc adjustsetdamage goto BattleScript_81D6934 BattleScript_81D7E6A:: @ 81D7E6A - pause 0x20 + pause 32 printstring STRINGID_FAILEDTOSPITUP - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D7E78:: @ 81D7E78 attackstring ppreduce - pause 0x40 + pause 64 stockpiletobasedamage BattleScript_81D7E6A resultmessage - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSwallow:: @ 81D7E8B @@ -2207,9 +2139,9 @@ BattleScript_EffectSwallow:: @ 81D7E8B goto BattleScript_PresentHealTarget BattleScript_81D7E98:: @ 81D7E98 - pause 0x20 + pause 32 printfromtable gSwallowFailStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectHail:: @ 81D7EA8 @@ -2223,34 +2155,33 @@ BattleScript_EffectTorment:: @ 81D7EB1 attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0x0 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE settorment BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNSUBJECTEDTOTORMENT - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectFlatter:: @ 81D7ECD attackcanceler jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958 - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce - jumpifconfusedandstatmaxed 0x4, BattleScript_ButItFailed + jumpifconfusedandstatmaxed 4, BattleScript_ButItFailed attackanimation waitanimation setstatchanger STAT_SPATK, 1, FALSE - statbuffchange 0x1, BattleScript_81D7F10 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D7F10 + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D7F10 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D7F10 setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D7F10:: @ 81D7F10 - jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D9460 - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd @@ -2261,11 +2192,11 @@ BattleScript_EffectWillOWisp:: @ 81D7F2B ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_BURN, BattleScript_81D7F91 - jumpiftype BS_TARGET, 0xA, BattleScript_81D7E04 - jumpifability 0x0, ABILITY_WATER_VEIL, BattleScript_81D7F77 - jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON, BattleScript_ButItFailed - accuracycheck BattleScript_ButItFailed, 0x0 - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 + jumpiftype BS_TARGET, TYPE_FIRE, BattleScript_81D7E04 + jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_81D7F77 + jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_BURN @@ -2273,20 +2204,20 @@ BattleScript_EffectWillOWisp:: @ 81D7F2B goto BattleScript_MoveEnd BattleScript_81D7F77:: @ 81D7F77 - copyarray gEffectBattler, gBattlerTarget, 0x1 - setbyte cMULTISTRING_CHOOSER, 0x0 + copyarray gEffectBattler, gBattlerTarget, 1 + setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_BRNPrevention goto BattleScript_MoveEnd BattleScript_81D7F91:: @ 81D7F91 - pause 0x20 + pause 32 printstring STRINGID_PKMNALREADYHASBURN - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectMemento:: @ 81D7F9F attackcanceler - jumpifbyte CMP_EQUAL, gBattleCommunication + 0x6, 0x1, BattleScript_81D8026 + jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_81D8026 attackstring ppreduce jumpifattackandspecialattackcannotfall BattleScript_ButItFailed @@ -2294,52 +2225,49 @@ BattleScript_EffectMemento:: @ 81D7F9F attackanimation waitanimation jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D801B - setbyte sSTAT_ANIM_PLAYED, 0x0 - playstatchangeanimation BS_TARGET, 0x12, 0x7 - playstatchangeanimation BS_TARGET, 0x2, 0x3 + setbyte sSTAT_ANIM_PLAYED, 0 + playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_ONLY_MULTIPLE + playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO setstatchanger STAT_ATK, 2, TRUE - statbuffchange 0x1, BattleScript_81D7FEC - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D7FEC + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D7FEC + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D7FEC printfromtable gStatDownStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D7FEC:: @ 81D7FEC - playstatchangeanimation BS_TARGET, 0x10, 0x3 + playstatchangeanimation BS_TARGET, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO setstatchanger STAT_SPATK, 2, TRUE - statbuffchange 0x1, BattleScript_81D800F - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D800F + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D800F + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D800F printfromtable gStatDownStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D800F:: @ 81D800F - tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd BattleScript_81D801B:: @ 81D801B printstring STRINGID_BUTNOEFFECT - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D800F BattleScript_81D8026:: @ 81D8026 attackstring ppreduce jumpifattackandspecialattackcannotfall BattleScript_81D802D - BattleScript_81D802D:: @ 81D802D setatkhptozero - pause 0x40 + pause 64 effectivenesssound resultmessage - waitmessage 0x40 - tryfaintmon BS_ATTACKER, 0x0, NULL + waitmessage 64 + tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd BattleScript_EffectFacade:: @ 81D8042 - jumpifstatus BS_ATTACKER, STATUS1_TOXIC_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_POISON, BattleScript_81D8051 + jumpifstatus BS_ATTACKER, STATUS1_POISON | STATUS1_PARALYSIS | STATUS1_BURN | STATUS1_TOXIC_POISON, BattleScript_81D8051 goto BattleScript_EffectHit BattleScript_81D8051:: @ 81D8051 - setbyte sDMG_MULTIPLIER, 0x2 + setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit BattleScript_EffectFocusPunch:: @ 81D805C @@ -2347,7 +2275,7 @@ BattleScript_EffectFocusPunch:: @ 81D805C jumpifnodamage BattleScript_81D6927 ppreduce printstring STRINGID_PKMNLOSTFOCUS - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSmellingsalt:: @ 81D806E @@ -2357,7 +2285,7 @@ BattleScript_EffectSmellingsalt:: @ 81D806E goto BattleScript_EffectHit BattleScript_81D808D:: @ 81D808D - setbyte sDMG_MULTIPLIER, 0x2 + setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit BattleScript_EffectFollowMe:: @ 81D8098 @@ -2368,16 +2296,16 @@ BattleScript_EffectFollowMe:: @ 81D8098 attackanimation waitanimation printstring STRINGID_PKMNCENTERATTENTION - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectNaturePower:: @ 81D80A9 attackcanceler attackstring - pause 0x20 + pause 32 callterrainattack printstring STRINGID_NATUREPOWERTURNEDINTO - waitmessage 0x40 + waitmessage 64 return BattleScript_EffectCharge:: @ 81D80B6 @@ -2388,19 +2316,19 @@ BattleScript_EffectCharge:: @ 81D80B6 attackanimation waitanimation printstring STRINGID_PKMNCHARGINGPOWER - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectTaunt:: @ 81D80C7 attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0x0 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE settaunt BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNFELLFORTAUNT - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectHelpingHand:: @ 81D80E3 @@ -2411,7 +2339,7 @@ BattleScript_EffectHelpingHand:: @ 81D80E3 attackanimation waitanimation printstring STRINGID_PKMNREADYTOHELP - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectTrick:: @ 81D80F8 @@ -2419,33 +2347,33 @@ BattleScript_EffectTrick:: @ 81D80F8 attackstring ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - accuracycheck BattleScript_ButItFailed, 0x0 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE tryswapitems BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNSWITCHEDITEMS - waitmessage 0x40 + waitmessage 64 printfromtable gItemSwapStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRolePlay:: @ 81D8126 attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0xFFFF + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON trycopyability BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNCOPIEDFOE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectWish:: @ 81D8142 attackcanceler attackstring ppreduce - trywish 0x0, BattleScript_ButItFailed + trywish 0, BattleScript_ButItFailed attackanimation waitanimation goto BattleScript_MoveEnd @@ -2456,10 +2384,9 @@ BattleScript_EffectAssist:: @ 81D8152 assistattackselect BattleScript_81D7DF1 attackanimation waitanimation - setbyte sB_ANIM_TURN, 0x0 - setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptocalledmove 0x1 - + setbyte sB_ANIM_TURN, 0 + setbyte sB_ANIM_TARGETS_HIT, 0 + jumptocalledmove 1 BattleScript_EffectIngrain:: @ 81D8169 attackcanceler attackstring @@ -2468,7 +2395,7 @@ BattleScript_EffectIngrain:: @ 81D8169 attackanimation waitanimation printstring STRINGID_PKMNPLANTEDROOTS - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSuperpower:: @ 81D817E @@ -2483,7 +2410,7 @@ BattleScript_EffectMagicCoat:: @ 81D8189 attackanimation waitanimation printstring STRINGID_PKMNSHROUDEDITSELF - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRecycle:: @ 81D819E @@ -2494,7 +2421,7 @@ BattleScript_EffectRecycle:: @ 81D819E attackanimation waitanimation printstring STRINGID_XFOUNDONEY - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRevenge:: @ 81D81B3 @@ -2503,7 +2430,7 @@ BattleScript_EffectRevenge:: @ 81D81B3 BattleScript_EffectBrickBreak:: @ 81D81B9 attackcanceler - accuracycheck BattleScript_81D695E, 0x0 + accuracycheck BattleScript_81D695E, ACC_CURR_MOVE attackstring ppreduce removelightscreenreflect @@ -2511,16 +2438,14 @@ BattleScript_EffectBrickBreak:: @ 81D81B9 damagecalc typecalc adjustnormaldamage - jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0x0, BattleScript_81D81D9 - bicbyte gMoveResultFlags, 0x9 - + jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0, BattleScript_81D81D9 + bicbyte gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE BattleScript_81D81D9:: @ 81D81D9 attackanimation waitanimation - jumpifbyte CMP_LESS_THAN, sB_ANIM_TURN, 0x2, BattleScript_81D81EC + jumpifbyte CMP_LESS_THAN, sB_ANIM_TURN, 2, BattleScript_81D81EC printstring STRINGID_THEWALLSHATTERED - waitmessage 0x40 - + waitmessage 64 BattleScript_81D81EC:: @ 81D81EC typecalc2 effectivenesssound @@ -2529,37 +2454,36 @@ BattleScript_81D81EC:: @ 81D81EC healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 resultmessage - waitmessage 0x40 + waitmessage 64 seteffectwithchance - tryfaintmon BS_TARGET, 0x0, NULL + tryfaintmon BS_TARGET, 0, NULL goto BattleScript_MoveEnd BattleScript_EffectYawn:: @ 81D820A attackcanceler attackstring ppreduce - jumpifability 0x0, ABILITY_VITAL_SPIRIT, BattleScript_81D824B - jumpifability 0x0, ABILITY_INSOMNIA, BattleScript_81D824B + jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_81D824B + jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_81D824B jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D8B39 - accuracycheck BattleScript_ButItFailed, 0xFFFF + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON jumpifcantmakeasleep BattleScript_ButItFailed setyawn BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNWASMADEDROWSY - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D824B:: @ 81D824B - copyarray sBATTLER, sBATTLER_WITH_ABILITY, 0x1 - + copyarray sBATTLER, sBATTLER_WITH_ABILITY, 1 BattleScript_81D8255:: @ 81D8255 - pause 0x20 + pause 32 printstring STRINGID_PKMNSXMADEITINEFFECTIVE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectKnockOff:: @ 81D8263 @@ -2571,12 +2495,12 @@ BattleScript_EffectEndeavor:: @ 81D826E attackstring ppreduce setdamagetohealthdifference BattleScript_ButItFailed - copyarray gHpDealt, gBattleMoveDamage, 0x4 - accuracycheck BattleScript_MoveMissedPause, 0x0 + copyarray gHpDealt, gBattleMoveDamage, 4 + accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, 0x29, BattleScript_81D6934 - bicbyte gMoveResultFlags, 0x6 - copyarray gBattleMoveDamage, gHpDealt, 0x4 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6934 + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + copyarray gBattleMoveDamage, gHpDealt, 4 adjustsetdamage goto BattleScript_81D6934 @@ -2588,12 +2512,12 @@ BattleScript_EffectSkillSwap:: @ 81D82AF attackcanceler attackstring ppreduce - accuracycheck BattleScript_ButItFailed, 0xFFFF + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON tryswapabilities BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNSWAPPEDABILITIES - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectImprison:: @ 81D82CB @@ -2604,7 +2528,7 @@ BattleScript_EffectImprison:: @ 81D82CB attackanimation waitanimation printstring STRINGID_PKMNSEALEDOPPONENTMOVE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectRefresh:: @ 81D82E0 @@ -2615,7 +2539,7 @@ BattleScript_EffectRefresh:: @ 81D82E0 attackanimation waitanimation printstring STRINGID_PKMNSTATUSNORMAL - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_ATTACKER goto BattleScript_MoveEnd @@ -2627,7 +2551,7 @@ BattleScript_EffectGrudge:: @ 81D82F7 attackanimation waitanimation printstring STRINGID_PKMNWANTSGRUDGE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectSnatch:: @ 81D830C @@ -2637,9 +2561,9 @@ BattleScript_EffectSnatch:: @ 81D830C ppreduce attackanimation waitanimation - pause 0x20 + pause 32 printstring STRINGID_PKMNWAITSFORTARGET - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectLowKick:: @ 81D8324 @@ -2647,7 +2571,7 @@ BattleScript_EffectLowKick:: @ 81D8324 attackstring ppreduce weightdamagecalculation - accuracycheck BattleScript_MoveMissedPause, 0x0 + accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE goto BattleScript_HitFromCritCalc BattleScript_EffectSecretPower:: @ 81D8334 @@ -2662,56 +2586,54 @@ BattleScript_EffectTeeterDance:: @ 81D8345 attackcanceler attackstring ppreduce - setbyte gBattlerTarget, 0x0 - + setbyte gBattlerTarget, 0 BattleScript_81D834E:: @ 81D834E movevaluescleanup setmoveeffect MOVE_EFFECT_CONFUSION - jumpifarrayequal gBattlerAttacker, gBattlerTarget, 0x1, BattleScript_81D8394 - jumpifability 0x0, ABILITY_OWN_TEMPO, BattleScript_81D83B2 + jumpifarrayequal gBattlerAttacker, gBattlerTarget, 1, BattleScript_81D8394 + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D83B2 jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D83CE jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D83DC - accuracycheck BattleScript_81D83EA, 0x0 - jumpifsideaffecting BS_TARGET, 0x20, BattleScript_81D83C0 + accuracycheck BattleScript_81D83EA, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, 32, BattleScript_81D83C0 attackanimation waitanimation seteffectprimary resultmessage - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8394:: @ 81D8394 - moveendto 0x10 - addbyte gBattlerTarget, 0x1 - jumpifarraynotequal gBattlerTarget, gBattlersCount, 0x1, BattleScript_81D834E + moveendto 16 + addbyte gBattlerTarget, 1 + jumpifarraynotequal gBattlerTarget, gBattlersCount, 1, BattleScript_81D834E end BattleScript_81D83B2:: @ 81D83B2 - pause 0x20 + pause 32 printstring STRINGID_PKMNPREVENTSCONFUSIONWITH - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D8394 BattleScript_81D83C0:: @ 81D83C0 - pause 0x20 + pause 32 printstring STRINGID_PKMNUSEDSAFEGUARD - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D8394 BattleScript_81D83CE:: @ 81D83CE - pause 0x20 + pause 32 printstring STRINGID_BUTITFAILED - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D8394 BattleScript_81D83DC:: @ 81D83DC - pause 0x20 + pause 32 printstring STRINGID_PKMNALREADYCONFUSED - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D8394 BattleScript_81D83EA:: @ 81D83EA resultmessage - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D8394 BattleScript_EffectMudSport:: @ 81D83F3 @@ -2722,7 +2644,7 @@ BattleScript_EffectMudSport:: @ 81D83F3 attackanimation waitanimation printfromtable gSportsUsedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectPoisonFang:: @ 81D840A @@ -2741,65 +2663,59 @@ BattleScript_EffectTickle:: @ 81D8426 attackcanceler attackstring ppreduce - jumpifstat BS_TARGET, CMP_GREATER_THAN, 0x1, 0x0, BattleScript_81D843B - jumpifstat BS_TARGET, CMP_EQUAL, 0x2, 0x0, BattleScript_81D8499 - + jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0, BattleScript_81D843B + jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0, BattleScript_81D8499 BattleScript_81D843B:: @ 81D843B - accuracycheck BattleScript_ButItFailed, 0x0 + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE attackanimation waitanimation - setbyte sSTAT_ANIM_PLAYED, 0x0 - playstatchangeanimation BS_TARGET, 0x6, 0x5 - playstatchangeanimation BS_TARGET, 0x2, 0x1 + setbyte sSTAT_ANIM_PLAYED, 0 + playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE + playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE setstatchanger STAT_ATK, 1, TRUE - statbuffchange 0x1, BattleScript_81D8471 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8471 + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D8471 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8471 printfromtable gStatDownStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8471:: @ 81D8471 - playstatchangeanimation BS_TARGET, 0x4, 0x1 + playstatchangeanimation BS_TARGET, BIT_DEF, ATK48_STAT_NEGATIVE setstatchanger STAT_DEF, 1, TRUE - statbuffchange 0x1, BattleScript_81D8494 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8494 + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D8494 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8494 printfromtable gStatDownStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8494:: @ 81D8494 goto BattleScript_MoveEnd BattleScript_81D8499:: @ 81D8499 - pause 0x20 - orbyte gMoveResultFlags, 0x20 + pause 32 + orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring STRINGID_STATSWONTDECREASE2 - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectCosmicPower:: @ 81D84AD attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x2, 0xC, BattleScript_81D84C2 - jumpifstat BS_ATTACKER, CMP_EQUAL, 0x5, 0xC, BattleScript_81D85E7 - + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_81D84C2 + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D85E7 BattleScript_81D84C2:: @ 81D84C2 attackanimation waitanimation - setbyte sSTAT_ANIM_PLAYED, 0x0 - playstatchangeanimation BS_ATTACKER, 0x24, 0x0 + setbyte sSTAT_ANIM_PLAYED, 0 + playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, 0 setstatchanger STAT_DEF, 1, FALSE - statbuffchange 0x41, BattleScript_81D84ED - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D84ED + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D84ED + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D84ED printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D84ED:: @ 81D84ED setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange 0x41, BattleScript_81D850C - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D850C + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D850C + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D850C printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D850C:: @ 81D850C goto BattleScript_MoveEnd @@ -2811,27 +2727,24 @@ BattleScript_EffectBulkUp:: @ 81D851F attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x1, 0xC, BattleScript_81D8534 - jumpifstat BS_ATTACKER, CMP_EQUAL, 0x2, 0xC, BattleScript_81D85E7 - + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8534 + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_81D85E7 BattleScript_81D8534:: @ 81D8534 attackanimation waitanimation - setbyte sSTAT_ANIM_PLAYED, 0x0 - playstatchangeanimation BS_ATTACKER, 0x6, 0x0 + setbyte sSTAT_ANIM_PLAYED, 0 + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange 0x41, BattleScript_81D855F - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D855F + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D855F + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D855F printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D855F:: @ 81D855F setstatchanger STAT_DEF, 1, FALSE - statbuffchange 0x41, BattleScript_81D857E - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D857E + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D857E + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D857E printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D857E:: @ 81D857E goto BattleScript_MoveEnd @@ -2839,62 +2752,56 @@ BattleScript_EffectCalmMind:: @ 81D8583 attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x4, 0xC, BattleScript_81D8598 - jumpifstat BS_ATTACKER, CMP_EQUAL, 0x5, 0xC, BattleScript_81D85E7 - + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_81D8598 + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D85E7 BattleScript_81D8598:: @ 81D8598 attackanimation waitanimation - setbyte sSTAT_ANIM_PLAYED, 0x0 - playstatchangeanimation BS_ATTACKER, 0x30, 0x0 + setbyte sSTAT_ANIM_PLAYED, 0 + playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0 setstatchanger STAT_SPATK, 1, FALSE - statbuffchange 0x41, BattleScript_81D85C3 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D85C3 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D85C3 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D85C3 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D85C3:: @ 81D85C3 setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange 0x41, BattleScript_81D85E2 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D85E2 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D85E2 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D85E2 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D85E2:: @ 81D85E2 goto BattleScript_MoveEnd BattleScript_81D85E7:: @ 81D85E7 - pause 0x20 - orbyte gMoveResultFlags, 0x20 + pause 32 + orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring STRINGID_STATSWONTINCREASE2 - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_EffectDragonDance:: @ 81D85FB attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x1, 0xC, BattleScript_81D8610 - jumpifstat BS_ATTACKER, CMP_EQUAL, 0x3, 0xC, BattleScript_81D85E7 - + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8610 + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 12, BattleScript_81D85E7 BattleScript_81D8610:: @ 81D8610 attackanimation waitanimation - setbyte sSTAT_ANIM_PLAYED, 0x0 - playstatchangeanimation BS_ATTACKER, 0xA, 0x0 + setbyte sSTAT_ANIM_PLAYED, 0 + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_SPEED, 0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange 0x41, BattleScript_81D863B - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D863B + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D863B + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D863B printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D863B:: @ 81D863B setstatchanger STAT_SPEED, 1, FALSE - statbuffchange 0x41, BattleScript_81D865A - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D865A + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D865A + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D865A printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D865A:: @ 81D865A goto BattleScript_MoveEnd @@ -2906,12 +2813,12 @@ BattleScript_EffectCamouflage:: @ 81D865F attackanimation waitanimation printstring STRINGID_PKMNCHANGEDTYPE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_FaintAttacker:: @ 81D8674 playfaintcry BS_ATTACKER - pause 0x40 + pause 64 dofaintanimation BS_ATTACKER cleareffectsonfaint BS_ATTACKER printstring STRINGID_ATTACKERFAINTED @@ -2920,7 +2827,7 @@ BattleScript_FaintAttacker:: @ 81D8674 BattleScript_FaintTarget:: @ 81D8684 playfaintcry BS_TARGET - pause 0x40 + pause 64 dofaintanimation BS_TARGET cleareffectsonfaint BS_TARGET printstring STRINGID_TARGETFAINTED @@ -2928,42 +2835,41 @@ BattleScript_FaintTarget:: @ 81D8684 return BattleScript_GiveExp:: @ 81D8694 - setbyte sGIVEEXP_STATE, 0x0 + setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET end2 BattleScript_HandleFaintedMon:: @ 81D869D atk24 BattleScript_81D87B8 - jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0x0, BattleScript_81D87B7 + jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D87B7 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D86E6 jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D86E6 printstring STRINGID_USENEXTPKMN - setbyte gBattleCommunication, 0x0 + setbyte gBattleCommunication, 0 yesnobox - jumpifbyte CMP_EQUAL, gBattleCommunication + 0x1, 0x0, BattleScript_81D86E6 + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0, BattleScript_81D86E6 jumpifplayerran BattleScript_81D87B7 printstring STRINGID_CANTESCAPE2 - BattleScript_81D86E6:: @ 81D86E6 - openpartyscreen 0x3, BattleScript_81D87B7 - switchhandleorder BS_FAINTED, 0x2 + openpartyscreen 3, BattleScript_81D87B7 + switchhandleorder BS_FAINTED, 2 jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8792 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_LINK, BattleScript_81D8792 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER, BattleScript_81D8792 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D8792 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D8792 - jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 0x1, BattleScript_81D8792 + jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 1, BattleScript_81D8792 jumpifcantswitch BS_PLAYER1, BattleScript_81D8792 printstring STRINGID_ENEMYABOUTTOSWITCHPKMN - setbyte gBattleCommunication, 0x0 + setbyte gBattleCommunication, 0 yesnobox - jumpifbyte CMP_EQUAL, gBattleCommunication + 0x1, 0x1, BattleScript_81D8792 + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 1, BattleScript_81D8792 setatktoplayer0 - openpartyscreen 0x81, BattleScript_81D8792 - switchhandleorder BS_ATTACKER, 0x2 - jumpifbyte CMP_EQUAL, gBattleCommunication, 0x6, BattleScript_81D8792 + openpartyscreen 129, BattleScript_81D8792 + switchhandleorder BS_ATTACKER, 2 + jumpifbyte CMP_EQUAL, gBattleCommunication, 6, BattleScript_81D8792 atknameinbuff1 - various BS_ATTACKER, 0x5 + resetintrimidatetracebits BS_ATTACKER hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON switchoutabilities BS_ATTACKER @@ -2976,11 +2882,10 @@ BattleScript_81D86E6:: @ 81D86E6 hpthresholds BS_ATTACKER printstring STRINGID_SWITCHINMON hidepartystatussummary BS_ATTACKER - switchinanim BS_ATTACKER, 0x0 + switchinanim BS_ATTACKER, 0 waitstate switchineffects BS_ATTACKER resetsentmonsvalue - BattleScript_81D8792:: @ 81D8792 drawpartystatussummary BS_FAINTED getswitchedmondata BS_FAINTED @@ -2988,37 +2893,33 @@ BattleScript_81D8792:: @ 81D8792 hpthresholds BS_FAINTED printstring STRINGID_SWITCHINMON hidepartystatussummary BS_FAINTED - switchinanim BS_FAINTED, 0x0 + switchinanim BS_FAINTED, 0 waitstate - various BS_ATTACKER, 0x7 + various7 BS_ATTACKER switchineffects BS_FAINTED jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D87B7 cancelallactions - BattleScript_81D87B7:: @ 81D87B7 end2 BattleScript_81D87B8:: @ 81D87B8 - openpartyscreen 0x5, BattleScript_81D87BE - + openpartyscreen 5, BattleScript_81D87BE BattleScript_81D87BE:: @ 81D87BE - switchhandleorder BS_FAINTED, 0x0 - openpartyscreen 0x6, BattleScript_81D87EE - switchhandleorder BS_FAINTED, 0x0 - + switchhandleorder BS_FAINTED, 0 + openpartyscreen 6, BattleScript_81D87EE + switchhandleorder BS_FAINTED, 0 BattleScript_81D87CA:: @ 81D87CA - switchhandleorder BS_FAINTED, 0x2 + switchhandleorder BS_FAINTED, 2 drawpartystatussummary BS_FAINTED getswitchedmondata BS_FAINTED switchindataupdate BS_FAINTED hpthresholds BS_FAINTED printstring STRINGID_SWITCHINMON hidepartystatussummary BS_FAINTED - switchinanim BS_FAINTED, 0x0 + switchinanim BS_FAINTED, 0 waitstate - switchineffects 0x5 - jumpifarraynotequal gBattlerFainted, gBattlersCount, 0x1, BattleScript_81D87CA - + switchineffects 5 + jumpifarraynotequal gBattlerFainted, gBattlersCount, 1, BattleScript_81D87CA BattleScript_81D87EE:: @ 81D87EE end2 @@ -3028,11 +2929,9 @@ BattleScript_LocalTrainerBattleWon:: @ 81D87EF waitstate printstring STRINGID_TRAINER1LOSETEXT getmoneyreward BattleScript_81D87FD - BattleScript_81D87FD:: @ 81D87FD printstring STRINGID_PLAYERGOTMONEY - waitmessage 0x40 - + waitmessage 64 BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8803 givepaydaymoney pickup @@ -3041,72 +2940,67 @@ BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8803 BattleScript_LocalBattleLost:: @ 81D8806 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D8896 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_EREADER_TRAINER, BattleScript_81D886E - jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 0x400, BattleScript_81D886E - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8876 - + jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 1024, BattleScript_81D886E + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8876 BattleScript_81D8839:: @ 81D8839 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D885D printstring STRINGID_PLAYERWHITEOUT - waitmessage 0x40 + waitmessage 64 getmoneyreward BattleScript_81D886F printstring STRINGID_PLAYERWHITEOUT2 - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D886E BattleScript_81D885D:: @ 81D885D printstring STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER - waitmessage 0x40 + waitmessage 64 getmoneyreward BattleScript_81D886F printstring STRINGID_PLAYERPAIDPRIZEMONEY - waitmessage 0x40 - + waitmessage 64 BattleScript_81D886E:: @ 81D886E end2 BattleScript_81D886F:: @ 81D886F printstring STRINGID_PLAYERWHITEDOUT - waitmessage 0x40 + waitmessage 64 end2 BattleScript_81D8876:: @ 81D8876 jumpifhasnohp BS_ATTACKER, BattleScript_81D8884 printstring STRINGID_TRAINER1MON1COMEBACK - waitmessage 0x40 + waitmessage 64 returnatktoball waitstate - BattleScript_81D8884:: @ 81D8884 trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1WINTEXT - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8839 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8839 end2 BattleScript_81D8896:: @ 81D8896 - various BS_ATTACKER, 0x8 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D88B4 + various8 BS_ATTACKER + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D88B4 printfromtable gDoubleBattleRecallStrings - waitmessage 0x40 - various BS_ATTACKER, 0x9 + waitmessage 64 + returnopponentmon1toball BS_ATTACKER waitstate - various BS_ATTACKER, 0xA + returnopponentmon2toball BS_ATTACKER waitstate - BattleScript_81D88B4:: @ 81D88B4 trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1WINTEXT jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88CB printstring STRINGID_TRAINER2NAME - BattleScript_81D88CB:: @ 81D88CB end2 BattleScript_LinkBattleWonOrLost:: @ 81D88CC printstring STRINGID_BATTLEEND - waitmessage 0x40 + waitmessage 64 atk57 - waitmessage 0x40 + waitmessage 64 end2 gUnknown_81D88D7:: @ 81D88D7 @@ -3117,7 +3011,6 @@ gUnknown_81D88D7:: @ 81D88D7 printstring STRINGID_TRAINER1LOSETEXT jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88FF printstring STRINGID_TRAINER2CLASS - BattleScript_81D88FF:: @ 81D88FF pickup end2 @@ -3125,22 +3018,22 @@ BattleScript_81D88FF:: @ 81D88FF BattleScript_SmokeBallEscape:: @ 81D8901 playanimation BS_ATTACKER, B_ANIM_SMOKEBALL_ESCAPE, NULL printstring STRINGID_PKMNFLEDUSINGITS - waitmessage 0x40 + waitmessage 64 end2 BattleScript_RanAwayUsingMonAbility:: @ 81D890F printstring STRINGID_PKMNFLEDUSING - waitmessage 0x40 + waitmessage 64 end2 BattleScript_GotAwaySafely:: @ 81D8916 printstring STRINGID_GOTAWAYSAFELY - waitmessage 0x40 + waitmessage 64 end2 BattleScript_WildMonFled:: @ 81D891D printstring STRINGID_WILDPKMNFLED - waitmessage 0x40 + waitmessage 64 end2 BattleScript_PrintCantRunFromTrainer:: @ 81D8924 @@ -3154,35 +3047,31 @@ BattleScript_81D8936:: @ 81D8936 BattleScript_PrintFailedToRunString:: @ 81D893A printfromtable gNoEscapeStringIds - waitmessage 0x40 + waitmessage 64 end2 BattleScript_PrintCantEscapeFromBattle:: @ 81D8943 printselectionstringfromtable gNoEscapeStringIds endselectionscript - BattleScript_PrintFullBox:: @ 81D8949 printselectionstring STRINGID_BOXISFULL endselectionscript - BattleScript_ActionSwitch:: @ 81D894D hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON - setbyte sDMG_MULTIPLIER, 0x2 + setbyte sDMG_MULTIPLIER, 2 jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D896D - setmultihit 0x1 + setmultihit 1 goto BattleScript_81D896F BattleScript_81D896D:: @ 81D896D - setmultihit 0x2 - + setmultihit 2 BattleScript_81D896F:: @ 81D896F jumpifnopursuitswitchdmg BattleScript_81D897C swapattackerwithtarget trysetdestinybondtohappen call BattleScript_81D89AF swapattackerwithtarget - BattleScript_81D897C:: @ 81D897C decrementmultihit BattleScript_81D896F switchoutabilities BS_ATTACKER @@ -3190,21 +3079,21 @@ BattleScript_81D897C:: @ 81D897C returnatktoball waitstate drawpartystatussummary BS_ATTACKER - switchhandleorder BS_ATTACKER, 0x1 + switchhandleorder BS_ATTACKER, 1 getswitchedmondata BS_ATTACKER switchindataupdate BS_ATTACKER hpthresholds BS_ATTACKER printstring STRINGID_SWITCHINMON hidepartystatussummary BS_ATTACKER - switchinanim BS_ATTACKER, 0x0 + switchinanim BS_ATTACKER, 0 waitstate switchineffects BS_ATTACKER - moveendcase 0x4 - moveendcase 0xF + moveendcase 4 + moveendcase 15 end2 BattleScript_81D89AF:: @ 81D89AF - pause 0x20 + pause 32 attackstring ppreduce critcalc @@ -3219,45 +3108,43 @@ BattleScript_81D89AF:: @ 81D89AF healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 0x40 + waitmessage 64 resultmessage - waitmessage 0x40 - tryfaintmon BS_TARGET, 0x0, NULL - moveendfromto 0x3, 0x6 - various BS_TARGET, 0x4 - jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_81D89F0 - setbyte sGIVEEXP_STATE, 0x0 + waitmessage 64 + tryfaintmon BS_TARGET, 0, NULL + moveendfromto 3, 6 + various4 BS_TARGET + jumpifbyte CMP_EQUAL, gBattleCommunication, 0, BattleScript_81D89F0 + setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET - BattleScript_81D89F0:: @ 81D89F0 return BattleScript_Pausex20:: @ 81D89F1 - pause 0x20 + pause 32 return BattleScript_LevelUp:: @ 81D89F5 fanfare MUS_FANFA1 printstring STRINGID_PKMNGREWTOLV - setbyte sLVLBOX_STATE, 0x0 + setbyte sLVLBOX_STATE, 0 drawlvlupbox - handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0x1 + handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 1 goto BattleScript_81D8A1B BattleScript_81D8A11:: @ 81D8A11 - handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0x0 - + handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0 BattleScript_81D8A1B:: @ 81D8A1B buffermovetolearn printstring STRINGID_TRYTOLEARNMOVE1 printstring STRINGID_TRYTOLEARNMOVE2 printstring STRINGID_TRYTOLEARNMOVE3 waitstate - setbyte sLEARNMOVE_STATE, 0x0 + setbyte sLEARNMOVE_STATE, 0 yesnoboxlearnmove BattleScript_81D8A48 printstring STRINGID_STOPLEARNINGMOVE waitstate - setbyte sLEARNMOVE_STATE, 0x0 + setbyte sLEARNMOVE_STATE, 0 yesnoboxstoplearningmove BattleScript_81D8A1B printstring STRINGID_DIDNOTLEARNMOVE goto BattleScript_81D8A11 @@ -3266,13 +3153,12 @@ BattleScript_81D8A48:: @ 81D8A48 printstring STRINGID_123POOF printstring STRINGID_PKMNFORGOTMOVE printstring STRINGID_ANDELLIPSIS - BattleScript_81D8A51:: @ 81D8A51 buffermovetolearn fanfare MUS_FANFA1 printstring STRINGID_PKMNLEARNEDMOVE - waitmessage 0x40 - various BS_ATTACKER, 0x6 + waitmessage 64 + updatechoicemoveonlvlup BS_ATTACKER goto BattleScript_81D8A11 BattleScript_81D8A63:: @ 81D8A63 @@ -3280,79 +3166,75 @@ BattleScript_81D8A63:: @ 81D8A63 BattleScript_RainContinuesOrEnds:: @ 81D8A64 printfromtable gRainContinuesStringIds - waitmessage 0x40 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8A7E + waitmessage 64 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8A7E playanimation BS_ATTACKER, B_ANIM_RAIN_CONTINUES, NULL - BattleScript_81D8A7E:: @ 81D8A7E end2 BattleScript_DamagingWeatherContinues:: @ 81D8A7F printfromtable gSandStormHailContinuesStringIds - waitmessage 0x40 + waitmessage 64 playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL - setbyte gBattleCommunication, 0x0 - + setbyte gBattleCommunication, 0 BattleScript_81D8A97:: @ 81D8A97 - copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 0x1 + copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 1 weatherdamage jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_81D8AD8 printfromtable gSandStormHailDmgStringIds - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE effectivenesssound hitanimation BS_ATTACKER healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0, NULL atk24 BattleScript_81D8AD8 - BattleScript_81D8AD8:: @ 81D8AD8 - jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0x0, BattleScript_81D8AF7 - addbyte gBattleCommunication, 0x1 - jumpifarraynotequal gBattleCommunication, gBattlersCount, 0x1, BattleScript_81D8A97 - + jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D8AF7 + addbyte gBattleCommunication, 1 + jumpifarraynotequal gBattleCommunication, gBattlersCount, 1, BattleScript_81D8A97 BattleScript_81D8AF7:: @ 81D8AF7 - bicword gHitMarker, 0x1100120 + bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE end2 BattleScript_SandStormHailEnds:: @ 81D8B01 printfromtable gSandStormHailEndStringIds - waitmessage 0x40 + waitmessage 64 end2 BattleScript_SunlightContinues:: @ 81D8B0A printstring STRINGID_SUNLIGHTSTRONG - waitmessage 0x40 + waitmessage 64 playanimation BS_ATTACKER, B_ANIM_SUN_CONTINUES, NULL end2 BattleScript_SunlightFaded:: @ 81D8B18 printstring STRINGID_SUNLIGHTFADED - waitmessage 0x40 + waitmessage 64 end2 BattleScript_OverworldWeatherStarts:: @ 81D8B1F printfromtable gWeatherContinuesStringIds - waitmessage 0x40 + waitmessage 64 playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL end3 BattleScript_SideStatusWoreOff:: @ 81D8B32 printstring STRINGID_PKMNSXWOREOFF - waitmessage 0x40 + waitmessage 64 end2 BattleScript_81D8B39:: @ 81D8B39 - pause 0x20 + pause 32 printstring STRINGID_PKMNUSEDSAFEGUARD - waitmessage 0x40 + waitmessage 64 end2 BattleScript_SafeguardEnds:: @ 81D8B43 - pause 0x20 + pause 32 printstring STRINGID_PKMNSAFEGUARDEXPIRED - waitmessage 0x40 + waitmessage 64 end2 BattleScript_LeechSeedTurnDrain:: @ 81D8B4D @@ -3360,28 +3242,27 @@ BattleScript_LeechSeedTurnDrain:: @ 81D8B4D orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - copyarray gBattleMoveDamage, gHpDealt, 0x4 - jumpifability 0x1, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F - manipulatedamage 0x0 - setbyte cMULTISTRING_CHOOSER, 0x3 + copyarray gBattleMoveDamage, gHpDealt, 4 + jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F + manipulatedamage 0 + setbyte cMULTISTRING_CHOOSER, 3 goto BattleScript_81D8B85 BattleScript_81D8B7F:: @ 81D8B7F - setbyte cMULTISTRING_CHOOSER, 0x4 - + setbyte cMULTISTRING_CHOOSER, 4 BattleScript_81D8B85:: @ 81D8B85 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_TARGET datahpupdate BS_TARGET printfromtable gLeechSeedStringIds - waitmessage 0x40 - tryfaintmon BS_ATTACKER, 0x0, NULL - tryfaintmon BS_TARGET, 0x0, NULL + waitmessage 64 + tryfaintmon BS_ATTACKER, 0, NULL + tryfaintmon BS_TARGET, 0, NULL end2 BattleScript_BideStoringEnergy:: @ 81D8BA9 printstring STRINGID_PKMNSTORINGENERGY - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_BideAttack:: @ 81D8BB4 @@ -3389,13 +3270,13 @@ BattleScript_BideAttack:: @ 81D8BB4 setmoveeffect MOVE_EFFECT_CHARGING clearstatusfromeffect BS_ATTACKER printstring STRINGID_PKMNUNLEASHEDENERGY - waitmessage 0x40 - accuracycheck BattleScript_81D6963, 0x0 + waitmessage 64 + accuracycheck BattleScript_81D6963, ACC_CURR_MOVE typecalc - bicbyte gMoveResultFlags, 0x6 - copyarray gBattleMoveDamage, sBIDE_DMG, 0x4 + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + copyarray gBattleMoveDamage, sBIDE_DMG, 4 adjustsetdamage - setbyte sB_ANIM_TURN, 0x1 + setbyte sB_ANIM_TURN, 1 attackanimation waitanimation effectivenesssound @@ -3404,8 +3285,8 @@ BattleScript_BideAttack:: @ 81D8BB4 healthbarupdate BS_TARGET datahpupdate BS_TARGET resultmessage - waitmessage 0x40 - tryfaintmon BS_TARGET, 0x0, NULL + waitmessage 64 + tryfaintmon BS_TARGET, 0, NULL goto BattleScript_MoveEnd BattleScript_BideNoEnergyToAttack:: @ 81D8BFC @@ -3413,7 +3294,7 @@ BattleScript_BideNoEnergyToAttack:: @ 81D8BFC setmoveeffect MOVE_EFFECT_CHARGING clearstatusfromeffect BS_ATTACKER printstring STRINGID_PKMNUNLEASHEDENERGY - waitmessage 0x40 + waitmessage 64 goto BattleScript_ButItFailed BattleScript_SuccessForceOut:: @ 81D8C10 @@ -3423,55 +3304,53 @@ BattleScript_SuccessForceOut:: @ 81D8C10 returntoball BS_TARGET waitstate jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8C2C - setbyte gBattleOutcome, 0x5 + setbyte gBattleOutcome, B_OUTCOME_PLAYER_TELEPORTED finishaction - BattleScript_81D8C2C:: @ 81D8C2C getswitchedmondata BS_TARGET switchindataupdate BS_TARGET - switchinanim BS_TARGET, 0x0 + switchinanim BS_TARGET, 0 waitstate printstring STRINGID_PKMNWASDRAGGEDOUT switchineffects BS_TARGET goto BattleScript_MoveEnd BattleScript_MistProtected:: @ 81D8C3E - pause 0x20 + pause 32 printstring STRINGID_PKMNPROTECTEDBYMIST - waitmessage 0x40 + waitmessage 64 return BattleScript_RageIsBuilding:: @ 81D8C48 printstring STRINGID_PKMNRAGEBUILDING - waitmessage 0x40 + waitmessage 64 return BattleScript_MoveUsedIsDisabled:: @ 81D8C4F printstring STRINGID_PKMNMOVEISDISABLED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_SelectingDisabledMove:: @ 81D8C5A printselectionstring STRINGID_PKMNMOVEISDISABLED endselectionscript - BattleScript_DisabledNoMore:: @ 81D8C5E printstring STRINGID_PKMNMOVEDISABLEDNOMORE - waitmessage 0x40 + waitmessage 64 end2 BattleScript_EncoredNoMore:: @ 81D8C65 printstring STRINGID_PKMNENCOREENDED - waitmessage 0x40 + waitmessage 64 end2 BattleScript_DestinyBondTakesLife:: @ 81D8C6C printstring STRINGID_PKMNTOOKFOE - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0, NULL return BattleScript_SpikesOnAttacker:: @ 81D8C87 @@ -3479,12 +3358,12 @@ BattleScript_SpikesOnAttacker:: @ 81D8C87 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER call BattleScript_81D8D2C - tryfaintmon BS_ATTACKER, 0x0, NULL - tryfaintmon BS_ATTACKER, 0x1, BattleScript_81D8CA8 + tryfaintmon BS_ATTACKER, 0, NULL + tryfaintmon BS_ATTACKER, 1, BattleScript_81D8CA8 return BattleScript_81D8CA8:: @ 81D8CA8 - setbyte sGIVEEXP_STATE, 0x0 + setbyte sGIVEEXP_STATE, 0 getexp BS_ATTACKER moveendall goto BattleScript_HandleFaintedMon @@ -3494,12 +3373,12 @@ BattleScript_SpikesOnTarget:: @ 81D8CBE healthbarupdate BS_TARGET datahpupdate BS_TARGET call BattleScript_81D8D2C - tryfaintmon BS_TARGET, 0x0, NULL - tryfaintmon BS_TARGET, 0x1, BattleScript_81D8CDF + tryfaintmon BS_TARGET, 0, NULL + tryfaintmon BS_TARGET, 1, BattleScript_81D8CDF return BattleScript_81D8CDF:: @ 81D8CDF - setbyte sGIVEEXP_STATE, 0x0 + setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET moveendall goto BattleScript_HandleFaintedMon @@ -3509,74 +3388,68 @@ BattleScript_SpikesOnFaintedBattler:: @ 81D8CF5 healthbarupdate BS_FAINTED datahpupdate BS_FAINTED call BattleScript_81D8D2C - tryfaintmon BS_FAINTED, 0x0, NULL - tryfaintmon BS_FAINTED, 0x1, BattleScript_81D8D16 + tryfaintmon BS_FAINTED, 0, NULL + tryfaintmon BS_FAINTED, 1, BattleScript_81D8D16 return BattleScript_81D8D16:: @ 81D8D16 - setbyte sGIVEEXP_STATE, 0x0 + setbyte sGIVEEXP_STATE, 0 getexp BS_FAINTED moveendall goto BattleScript_HandleFaintedMon BattleScript_81D8D2C:: @ 81D8D2C printstring STRINGID_PKMNHURTBYSPIKES - waitmessage 0x40 + waitmessage 64 return BattleScript_PerishSongTakesLife:: @ 81D8D33 printstring STRINGID_PKMNPERISHCOUNTFELL - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0, NULL end2 BattleScript_PerishSongCountGoesDown:: @ 81D8D4E printstring STRINGID_PKMNPERISHCOUNTFELL - waitmessage 0x40 + waitmessage 64 end2 BattleScript_AllStatsUp:: @ 81D8D55 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x1, 0xC, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x2, 0xC, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x3, 0xC, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, 0x4, 0xC, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_EQUAL, 0x5, 0xC, BattleScript_81D8DF0 - + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8D82 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_81D8D82 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 12, BattleScript_81D8D82 + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_81D8D82 + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D8DF0 BattleScript_81D8D82:: @ 81D8D82 - setbyte sSTAT_ANIM_PLAYED, 0x0 - playstatchangeanimation BS_ATTACKER, 0x3E, 0x0 + setbyte sSTAT_ANIM_PLAYED, 0 + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange 0x41, BattleScript_81D8DA0 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DA0 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8DA0:: @ 81D8DA0 setstatchanger STAT_DEF, 1, FALSE - statbuffchange 0x41, BattleScript_81D8DB4 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DB4 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8DB4:: @ 81D8DB4 setstatchanger STAT_SPEED, 1, FALSE - statbuffchange 0x41, BattleScript_81D8DC8 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DC8 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8DC8:: @ 81D8DC8 setstatchanger STAT_SPATK, 1, FALSE - statbuffchange 0x41, BattleScript_81D8DDC + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DDC printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8DDC:: @ 81D8DDC setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange 0x41, BattleScript_81D8DF0 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DF0 printfromtable gStatUpStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8DF0:: @ 81D8DF0 return @@ -3586,39 +3459,37 @@ BattleScript_RapidSpinAway:: @ 81D8DF1 BattleScript_WrapFree:: @ 81D8DF3 printstring STRINGID_PKMNGOTFREE - waitmessage 0x40 - copyarray gBattlerTarget, sBATTLER, 0x1 + waitmessage 64 + copyarray gBattlerTarget, sBATTLER, 1 return BattleScript_LeechSeedFree:: @ 81D8E04 printstring STRINGID_PKMNSHEDLEECHSEED - waitmessage 0x40 + waitmessage 64 return BattleScript_SpikesFree:: @ 81D8E0B printstring STRINGID_PKMNBLEWAWAYSPIKES - waitmessage 0x40 + waitmessage 64 return BattleScript_MonTookFutureAttack:: @ 81D8E12 printstring STRINGID_PKMNTOOKATTACK - waitmessage 0x40 - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8E2F - accuracycheck BattleScript_81D8E86, 0xF8 + waitmessage 64 + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8E2F + accuracycheck BattleScript_81D8E86, MOVE_FUTURE_SIGHT goto BattleScript_81D8E36 BattleScript_81D8E2F:: @ 81D8E2F - accuracycheck BattleScript_81D8E86, 0x161 - + accuracycheck BattleScript_81D8E86, MOVE_DOOM_DESIRE BattleScript_81D8E36:: @ 81D8E36 adjustnormaldamage2 - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D8E4E + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8E4E playanimation BS_ATTACKER, B_ANIM_FUTURE_SIGHT_HIT, NULL goto BattleScript_81D8E55 BattleScript_81D8E4E:: @ 81D8E4E playanimation BS_ATTACKER, B_ANIM_DOOM_DESIRE_HIT, NULL - BattleScript_81D8E55:: @ 81D8E55 effectivenesssound hitanimation BS_TARGET @@ -3626,140 +3497,133 @@ BattleScript_81D8E55:: @ 81D8E55 healthbarupdate BS_TARGET datahpupdate BS_TARGET resultmessage - waitmessage 0x40 - tryfaintmon BS_TARGET, 0x0, NULL + waitmessage 64 + tryfaintmon BS_TARGET, 0, NULL atk24 BattleScript_81D8E6D - BattleScript_81D8E6D:: @ 81D8E6D - moveendcase 0x0 - moveendfromto 0xB, 0xE - setbyte gMoveResultFlags, 0x0 + moveendcase 0 + moveendfromto 11, 14 + setbyte gMoveResultFlags, 0 end2 BattleScript_81D8E86:: @ 81D8E86 - pause 0x20 - setbyte gMoveResultFlags, 0x0 - orbyte gMoveResultFlags, 0x20 + pause 32 + setbyte gMoveResultFlags, 0 + orbyte gMoveResultFlags, MOVE_RESULT_FAILED resultmessage - waitmessage 0x40 - setbyte gMoveResultFlags, 0x0 + waitmessage 64 + setbyte gMoveResultFlags, 0 end2 BattleScript_NoMovesLeft:: @ 81D8EA0 printselectionstring STRINGID_PKMNHASNOMOVESLEFT endselectionscript - BattleScript_SelectingMoveWithNoPP:: @ 81D8EA4 printselectionstring STRINGID_NOPPLEFT endselectionscript - BattleScript_NoPPForMove:: @ 81D8EA8 attackstring - pause 0x20 + pause 32 printstring STRINGID_BUTNOPPLEFT - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_SelectingTormentedMove:: @ 81D8EB7 printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT endselectionscript printstring STRINGID_PKMNCANTUSEMOVETORMENT - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_SelectingNotAllowedMoveTaunt:: @ 81D8EC6 printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT endselectionscript - BattleScript_MoveUsedIsTaunted:: @ 81D8ECA printstring STRINGID_PKMNCANTUSEMOVETAUNT - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_WishComesTrue:: @ 81D8ED5 - trywish 0x1, BattleScript_81D8EFC + trywish 1, BattleScript_81D8EFC playanimation BS_TARGET, B_ANIM_WISH_HEAL, NULL printstring STRINGID_PKMNWISHCAMETRUE - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNREGAINEDHEALTH - waitmessage 0x40 + waitmessage 64 end2 BattleScript_81D8EFC:: @ 81D8EFC printstring STRINGID_PKMNWISHCAMETRUE - waitmessage 0x40 - pause 0x20 + waitmessage 64 + pause 32 printstring STRINGID_PKMNHPFULL - waitmessage 0x40 + waitmessage 64 end2 BattleScript_IngrainTurnHeal:: @ 81D8F0C playanimation BS_ATTACKER, B_ANIM_INGRAIN_HEAL, NULL printstring STRINGID_PKMNABSORBEDNUTRIENTS - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER end2 BattleScript_81D8F27:: @ 81D8F27 - pause 0x20 + pause 32 printstring STRINGID_PKMNANCHOREDITSELF - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_AtkDefDown:: @ 81D8F35 - setbyte sSTAT_ANIM_PLAYED, 0x0 - playstatchangeanimation BS_ATTACKER, 0x6, 0xD - playstatchangeanimation BS_ATTACKER, 0x2, 0x9 + setbyte sSTAT_ANIM_PLAYED, 0 + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE | ATK48_DONT_CHECK_LOWER + playstatchangeanimation BS_ATTACKER, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_DONT_CHECK_LOWER setstatchanger STAT_ATK, 1, TRUE - statbuffchange 0xC1, BattleScript_81D8F62 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8F62 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D8F62 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8F62 printfromtable gStatDownStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8F62:: @ 81D8F62 - playstatchangeanimation BS_ATTACKER, 0x4, 0x9 + playstatchangeanimation BS_ATTACKER, BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_DONT_CHECK_LOWER setstatchanger STAT_DEF, 1, TRUE - statbuffchange 0xC1, BattleScript_81D8F85 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D8F85 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D8F85 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8F85 printfromtable gStatDownStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D8F85:: @ 81D8F85 return BattleScript_KnockedOff:: @ 81D8F86 playanimation BS_TARGET, B_ANIM_ITEM_KNOCKOFF, NULL printstring STRINGID_PKMNKNOCKEDOFF - waitmessage 0x40 + waitmessage 64 return BattleScript_MoveUsedIsImprisoned:: @ 81D8F94 printstring STRINGID_PKMNCANTUSEMOVESEALED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_SelectingImprisonedMove:: @ 81D8F9F printselectionstring STRINGID_PKMNCANTUSEMOVESEALED endselectionscript - BattleScript_GrudgeTakesPp:: @ 81D8FA3 printstring STRINGID_PKMNLOSTPPGRUDGE - waitmessage 0x40 + waitmessage 64 return BattleScript_MagicCoatBounce:: @ 81D8FAA attackstring ppreduce - pause 0x20 + pause 32 printstring STRINGID_PKMNMOVEBOUNCED - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 - various BS_ATTACKER, 0x1 + setmagiccoattarget BS_ATTACKER return BattleScript_SnatchedMove:: @ 81D8FC2 @@ -3768,134 +3632,129 @@ BattleScript_SnatchedMove:: @ 81D8FC2 snatchsetbattlers playanimation BS_TARGET, B_ANIM_SNATCH_MOVE, NULL printstring STRINGID_PKMNSNATCHEDMOVE - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 swapattackerwithtarget return BattleScript_EnduredMsg:: @ 81D8FDD printstring STRINGID_PKMNENDUREDHIT - waitmessage 0x40 + waitmessage 64 return BattleScript_OneHitKOMsg:: @ 81D8FE4 printstring STRINGID_ONEHITKO - waitmessage 0x40 + waitmessage 64 return BattleScript_SAtkDown2:: @ 81D8FEB - setbyte sSTAT_ANIM_PLAYED, 0x0 - playstatchangeanimation BS_ATTACKER, 0x10, 0xB + setbyte sSTAT_ANIM_PLAYED, 0 + playstatchangeanimation BS_ATTACKER, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_DONT_CHECK_LOWER setstatchanger STAT_SPATK, 2, TRUE - statbuffchange 0xC1, BattleScript_81D9014 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_81D9014 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D9014 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D9014 printfromtable gStatDownStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D9014:: @ 81D9014 return BattleScript_FocusPunchSetUp:: @ 81D9015 printstring STRINGID_EMPTYSTRING3 - waitmessage 0x1 + waitmessage 1 playanimation BS_ATTACKER, B_ANIM_FOCUS_PUNCH_SETUP, NULL printstring STRINGID_PKMNTIGHTENINGFOCUS - waitmessage 0x40 + waitmessage 64 end2 BattleScript_MoveUsedIsAsleep:: @ 81D9029 printstring STRINGID_PKMNFASTASLEEP - waitmessage 0x40 + waitmessage 64 statusanimation BS_ATTACKER goto BattleScript_MoveEnd BattleScript_MoveUsedWokeUp:: @ 81D9036 - bicword gHitMarker, 0x10 + bicword gHitMarker, HITMARKER_x10 printfromtable gWokeUpStringIds - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_ATTACKER return BattleScript_MonWokeUpInUproar:: @ 81D904A printstring STRINGID_PKMNWOKEUPINUPROAR - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_ATTACKER end2 BattleScript_PoisonTurnDmg:: @ 81D9053 printstring STRINGID_PKMNHURTBYPOISON - waitmessage 0x40 - + waitmessage 64 BattleScript_81D9059:: @ 81D9059 statusanimation BS_ATTACKER - BattleScript_81D905B:: @ 81D905B orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - tryfaintmon BS_ATTACKER, 0x0, NULL + tryfaintmon BS_ATTACKER, 0, NULL atk24 BattleScript_81D9074 - BattleScript_81D9074:: @ 81D9074 end2 BattleScript_BurnTurnDmg:: @ 81D9075 printstring STRINGID_PKMNHURTBYBURN - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D9059 BattleScript_MoveUsedIsFrozen:: @ 81D9080 printstring STRINGID_PKMNISFROZEN - waitmessage 0x40 + waitmessage 64 statusanimation BS_ATTACKER goto BattleScript_MoveEnd BattleScript_MoveUsedUnfroze:: @ 81D908D printfromtable gGotDefrostedStringIds - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_ATTACKER return BattleScript_DefrostedViaFireMove:: @ 81D9098 printstring STRINGID_PKMNWASDEFROSTED - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_TARGET return BattleScript_MoveUsedIsParalyzed:: @ 81D90A1 printstring STRINGID_PKMNISPARALYZED - waitmessage 0x40 + waitmessage 64 statusanimation BS_ATTACKER - various BS_ATTACKER, 0x0 + cancelmultiturnmoves BS_ATTACKER goto BattleScript_MoveEnd BattleScript_MoveUsedFlinched:: @ 81D90B1 printstring STRINGID_PKMNFLINCHED - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_PrintUproarOverTurns:: @ 81D90BC printfromtable gUproarOverTurnStringIds - waitmessage 0x40 + waitmessage 64 end2 BattleScript_ThrashConfuses:: @ 81D90C5 - chosenstatusanimation BS_ATTACKER, 0x1, 0x7 + chosenstatusanimation BS_ATTACKER, 1, STATUS2_CONFUSION printstring STRINGID_PKMNFATIGUECONFUSION - waitmessage 0x40 + waitmessage 64 end2 BattleScript_MoveUsedIsConfused:: @ 81D90D3 printstring STRINGID_PKMNISCONFUSED - waitmessage 0x40 - status2animation BS_ATTACKER, 0x7 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_81D9115 - + waitmessage 64 + status2animation BS_ATTACKER, STATUS2_CONFUSION + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D9115 BattleScript_81D90EA:: @ 81D90EA - various BS_ATTACKER, 0x0 + cancelmultiturnmoves BS_ATTACKER adjustnormaldamage2 printstring STRINGID_ITHURTCONFUSION - waitmessage 0x40 + waitmessage 64 effectivenesssound hitanimation BS_ATTACKER waitstate @@ -3903,8 +3762,8 @@ BattleScript_81D90EA:: @ 81D90EA healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER resultmessage - waitmessage 0x40 - tryfaintmon BS_ATTACKER, 0x0, NULL + waitmessage 64 + tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd BattleScript_81D9115:: @ 81D9115 @@ -3912,80 +3771,79 @@ BattleScript_81D9115:: @ 81D9115 BattleScript_MoveUsedIsConfusedNoMore:: @ 81D9116 printstring STRINGID_PKMNHEALEDCONFUSION - waitmessage 0x40 + waitmessage 64 return BattleScript_PrintPayDayMoneyString:: @ 81D911D printstring STRINGID_PKMNPICKEDUPITEM - waitmessage 0x40 + waitmessage 64 return BattleScript_WrapTurnDmg:: @ 81D9124 playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1 printstring STRINGID_PKMNHURTBY - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D905B BattleScript_WrapEnds:: @ 81D9136 printstring STRINGID_PKMNFREEDFROM - waitmessage 0x40 + waitmessage 64 end2 BattleScript_MoveUsedIsInLove:: @ 81D913D printstring STRINGID_PKMNINLOVE - waitmessage 0x40 - status2animation BS_ATTACKER, 0xF0000 + waitmessage 64 + status2animation BS_ATTACKER, STATUS2_INFATUATION return BattleScript_MoveUsedIsInLoveCantAttack:: @ 81D914A printstring STRINGID_PKMNIMMOBILIZEDBYLOVE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_NightmareTurnDmg:: @ 81D9155 printstring STRINGID_PKMNLOCKEDINNIGHTMARE - waitmessage 0x40 - status2animation BS_ATTACKER, Start + waitmessage 64 + status2animation BS_ATTACKER, STATUS2_NIGHTMARE goto BattleScript_81D905B BattleScript_CurseTurnDmg:: @ 81D9166 printstring STRINGID_PKMNAFFLICTEDBYCURSE - waitmessage 0x40 - status2animation BS_ATTACKER, 0x10000000 + waitmessage 64 + status2animation BS_ATTACKER, STATUS2_CURSED goto BattleScript_81D905B BattleScript_TargetPRLZHeal:: @ 81D9177 printstring STRINGID_PKMNHEALEDPARALYSIS - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_TARGET return gUnknown_81D9180:: @ 81D9180 printstring STRINGID_MONTOOSCAREDTOMOVE - waitmessage 0x40 - playanimation BS_ATTACKER, 0x17, NULL + waitmessage 64 + playanimation BS_ATTACKER, B_ANIM_MON_SCARED, NULL goto BattleScript_MoveEnd gUnknown_81D9192:: @ 81D9192 printstring STRINGID_GHOSTGETOUTGETOUT - playanimation BS_ATTACKER, 0x18, NULL + playanimation BS_ATTACKER, B_ANIM_GHOST_GET_OUT, NULL goto BattleScript_MoveEnd gUnknown_81D91A1:: @ 81D91A1 - pause 0x20 + pause 32 printstring STRINGID_SILPHSCOPEUNVEILED waitstate - playanimation BS_OPPONENT1, B_ANIM_x19, NULL - pause 0x20 + playanimation BS_OPPONENT1, B_ANIM_SILPH_SCOPED, NULL + pause 32 printstring STRINGID_GHOSTWASMAROWAK - waitmessage 0x40 + waitmessage 64 end2 BattleScript_MoveEffectSleep:: @ 81D91B9 statusanimation BS_EFFECT_BATTLER printfromtable gFellAsleepStringIds - waitmessage 0x40 - + waitmessage 64 BattleScript_81D91C3:: @ 81D91C3 updatestatusicon BS_EFFECT_BATTLER waitstate @@ -3994,7 +3852,7 @@ BattleScript_81D91C3:: @ 81D91C3 BattleScript_YawnMakesAsleep:: @ 81D91C7 statusanimation BS_EFFECT_BATTLER printstring STRINGID_PKMNFELLASLEEP - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_EFFECT_BATTLER waitstate makevisible BS_EFFECT_BATTLER @@ -4003,77 +3861,75 @@ BattleScript_YawnMakesAsleep:: @ 81D91C7 BattleScript_MoveEffectPoison:: @ 81D91D5 statusanimation BS_EFFECT_BATTLER printfromtable gGotPoisonedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D91C3 BattleScript_MoveEffectBurn:: @ 81D91E4 statusanimation BS_EFFECT_BATTLER printfromtable gGotBurnedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D91C3 BattleScript_MoveEffectFreeze:: @ 81D91F3 statusanimation BS_EFFECT_BATTLER printfromtable gGotFrozenStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D91C3 BattleScript_MoveEffectParalysis:: @ 81D9202 statusanimation BS_EFFECT_BATTLER printfromtable gGotParalyzedStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D91C3 BattleScript_MoveEffectUproar:: @ 81D9211 printstring STRINGID_PKMNCAUSEDUPROAR - waitmessage 0x40 + waitmessage 64 return BattleScript_MoveEffectToxic:: @ 81D9218 statusanimation BS_EFFECT_BATTLER printstring STRINGID_PKMNBADLYPOISONED - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D91C3 BattleScript_MoveEffectPayDay:: @ 81D9225 printstring STRINGID_COINSSCATTERED - waitmessage 0x40 + waitmessage 64 return BattleScript_MoveEffectWrap:: @ 81D922C printfromtable gWrappedStringIds - waitmessage 0x40 + waitmessage 64 return BattleScript_MoveEffectConfusion:: @ 81D9235 - chosenstatusanimation BS_EFFECT_BATTLER, 0x1, 0x7 + chosenstatusanimation BS_EFFECT_BATTLER, 1, STATUS2_CONFUSION printstring STRINGID_PKMNWASCONFUSED - waitmessage 0x40 + waitmessage 64 return BattleScript_MoveEffectRecoil:: @ 81D9243 jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_81D9256 - jumpifability 0x1, ABILITY_ROCK_HEAD, BattleScript_81D9270 - + jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_81D9270 BattleScript_81D9256:: @ 81D9256 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHITWITHRECOIL - waitmessage 0x40 - tryfaintmon BS_ATTACKER, 0x0, NULL - + waitmessage 64 + tryfaintmon BS_ATTACKER, 0, NULL BattleScript_81D9270:: @ 81D9270 return BattleScript_ItemSteal:: @ 81D9271 playanimation BS_TARGET, B_ANIM_ITEM_STEAL, NULL printstring STRINGID_PKMNSTOLEITEM - waitmessage 0x40 + waitmessage 64 return BattleScript_DrizzleActivates:: @ 81D927F - pause 0x20 + pause 32 printstring STRINGID_PKMNMADEITRAIN waitstate playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES, NULL @@ -4083,25 +3939,25 @@ BattleScript_DrizzleActivates:: @ 81D927F BattleScript_SpeedBoostActivates:: @ 81D9293 playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNRAISEDSPEED - waitmessage 0x40 + waitmessage 64 end3 BattleScript_TraceActivates:: @ 81D92A1 - pause 0x20 + pause 32 printstring STRINGID_PKMNTRACED - waitmessage 0x40 + waitmessage 64 end3 BattleScript_RainDishActivates:: @ 81D92AB printstring STRINGID_PKMNSXRESTOREDHPALITTLE2 - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER end3 BattleScript_SandstreamActivates:: @ 81D92BF - pause 0x20 + pause 32 printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM waitstate playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES, NULL @@ -4110,17 +3966,16 @@ BattleScript_SandstreamActivates:: @ 81D92BF BattleScript_ShedSkinActivates:: @ 81D92D3 printstring STRINGID_PKMNSXCUREDYPROBLEM - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_ATTACKER end3 BattleScript_81D92DC:: @ 81D92DC - setbyte sBATTLER, 0x0 - + setbyte sBATTLER, 0 BattleScript_81D92E2:: @ 81D92E2 trycastformdatachange - addbyte sBATTLER, 0x1 - jumpifarraynotequal sBATTLER, gBattlersCount, 0x1, BattleScript_81D92E2 + addbyte sBATTLER, 1 + jumpifarraynotequal sBATTLER, gBattlersCount, 1, BattleScript_81D92E2 return BattleScript_CastformChange:: @ 81D92F8 @@ -4131,7 +3986,7 @@ BattleScript_81D92FE:: @ 81D92FE docastformchangeanimation waitstate printstring STRINGID_PKMNTRANSFORMED - waitmessage 0x40 + waitmessage 64 return BattleScript_IntimidateActivatesEnd3:: @ 81D9307 @@ -4139,40 +3994,37 @@ BattleScript_IntimidateActivatesEnd3:: @ 81D9307 end3 BattleScript_81D930D:: @ 81D930D - pause 0x20 - + pause 32 BattleScript_IntimidateActivates:: @ 81D9310 - setbyte gBattlerTarget, 0x0 + setbyte gBattlerTarget, 0 setstatchanger STAT_ATK, 1, TRUE - BattleScript_81D931C:: @ 81D931C trygetintimidatetarget BattleScript_81D936A jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D935F - jumpifability 0x0, ABILITY_CLEAR_BODY, BattleScript_81D936B - jumpifability 0x0, ABILITY_HYPER_CUTTER, BattleScript_81D936B - jumpifability 0x0, ABILITY_WHITE_SMOKE, BattleScript_81D936B - statbuffchange 0x21, BattleScript_81D935F - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_81D935F + jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_81D936B + jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_81D936B + jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_81D936B + statbuffchange STAT_CHANGE_BS_PTR | STAT_CHANGE_NOT_PROTECT_AFFECTED, BattleScript_81D935F + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D935F setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH - waitmessage 0x40 - + waitmessage 64 BattleScript_81D935F:: @ 81D935F - addbyte gBattlerTarget, 0x1 + addbyte gBattlerTarget, 1 goto BattleScript_81D931C BattleScript_81D936A:: @ 81D936A return BattleScript_81D936B:: @ 81D936B - pause 0x20 + pause 32 printstring STRINGID_PREVENTEDFROMWORKING - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D935F BattleScript_DroughtActivates:: @ 81D9379 - pause 0x20 + pause 32 printstring STRINGID_PKMNSXINTENSIFIEDSUN waitstate playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES, NULL @@ -4181,131 +4033,128 @@ BattleScript_DroughtActivates:: @ 81D9379 BattleScript_TookAttack:: @ 81D938D attackstring - pause 0x20 + pause 32 printstring STRINGID_PKMNSXTOOKATTACK - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED return BattleScript_SturdyPreventsOHKO:: @ 81D93A1 - pause 0x20 + pause 32 printstring STRINGID_PKMNPROTECTEDBY - pause 0x40 + pause 64 goto BattleScript_MoveEnd BattleScript_DampStopsExplosion:: @ 81D93AF - pause 0x20 + pause 32 printstring STRINGID_PKMNPREVENTSUSAGE - pause 0x40 + pause 64 goto BattleScript_MoveEnd BattleScript_MoveHPDrain_PPLoss:: @ 81D93BD ppreduce - BattleScript_MoveHPDrain:: @ 81D93BE attackstring - pause 0x20 + pause 32 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNRESTOREDHPUSING - waitmessage 0x40 - orbyte gMoveResultFlags, 0x8 + waitmessage 64 + orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE goto BattleScript_MoveEnd BattleScript_MonMadeMoveUseless_PPLoss:: @ 81D93E0 ppreduce - BattleScript_MonMadeMoveUseless:: @ 81D93E1 attackstring - pause 0x20 + pause 32 printstring STRINGID_PKMNSXMADEYUSELESS - waitmessage 0x40 - orbyte gMoveResultFlags, 0x8 + waitmessage 64 + orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE goto BattleScript_MoveEnd BattleScript_FlashFireBoost_PPLoss:: @ 81D93F6 ppreduce - BattleScript_FlashFireBoost:: @ 81D93F7 attackstring - pause 0x20 + pause 32 printfromtable gFlashFireStringIds - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D9408:: @ 81D9408 - pause 0x20 + pause 32 printstring STRINGID_PKMNANCHORSITSELFWITH - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_AbilityNoStatLoss:: @ 81D9416 - pause 0x20 + pause 32 printstring STRINGID_PKMNPREVENTSSTATLOSSWITH - waitmessage 0x40 + waitmessage 64 return BattleScript_BRNPrevention:: @ 81D9420 - pause 0x20 + pause 32 printfromtable gBRNPreventionStringIds - waitmessage 0x40 + waitmessage 64 return BattleScript_PRLZPrevention:: @ 81D942C - pause 0x20 + pause 32 printfromtable gPRLZPreventionStringIds - waitmessage 0x40 + waitmessage 64 return BattleScript_PSNPrevention:: @ 81D9438 - pause 0x20 + pause 32 printfromtable gPSNPreventionStringIds - waitmessage 0x40 + waitmessage 64 return BattleScript_ObliviousPreventsAttraction:: @ 81D9444 - pause 0x20 + pause 32 printstring STRINGID_PKMNPREVENTSROMANCEWITH - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_FlinchPrevention:: @ 81D9452 - pause 0x20 + pause 32 printstring STRINGID_PKMNSXPREVENTSFLINCHING - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_81D9460:: @ 81D9460 - pause 0x20 + pause 32 printstring STRINGID_PKMNPREVENTSCONFUSIONWITH - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_SoundproofProtected:: @ 81D946E attackstring ppreduce - pause 0x20 + pause 32 printstring STRINGID_PKMNSXBLOCKSY - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_AbilityNoSpecificStatLoss:: @ 81D947E - pause 0x20 + pause 32 printstring STRINGID_PKMNSXPREVENTSYLOSS - waitmessage 0x40 - setbyte cMULTISTRING_CHOOSER, 0x3 + waitmessage 64 + setbyte cMULTISTRING_CHOOSER, 3 return BattleScript_StickyHoldActivates:: @ 81D948E - pause 0x20 + pause 32 printstring STRINGID_PKMNSXMADEYINEFFECTIVE - waitmessage 0x40 + waitmessage 64 goto BattleScript_MoveEnd BattleScript_ColorChangeActivates:: @ 81D949C printstring STRINGID_PKMNCHANGEDTYPEWITH - waitmessage 0x40 + waitmessage 64 return BattleScript_RoughSkinActivates:: @ 81D94A3 @@ -4313,14 +4162,14 @@ BattleScript_RoughSkinActivates:: @ 81D94A3 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHURTSWITH - waitmessage 0x40 - tryfaintmon BS_ATTACKER, 0x0, NULL + waitmessage 64 + tryfaintmon BS_ATTACKER, 0, NULL return BattleScript_CuteCharmActivates:: @ 81D94BE - status2animation BS_ATTACKER, 0xF0000 + status2animation BS_ATTACKER, STATUS2_INFATUATION printstring STRINGID_PKMNSXINFATUATEDY - waitmessage 0x40 + waitmessage 64 return BattleScript_ApplySecondaryEffect:: @ 81D94CB @@ -4335,38 +4184,37 @@ BattleScript_SynchronizeActivates:: @ 81D94CE BattleScript_AbilityCuredStatus:: @ 81D94D1 printstring STRINGID_PKMNSXCUREDITSYPROBLEM - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_SCRIPTING return BattleScript_IgnoresWhileAsleep:: @ 81D94DA printstring STRINGID_PKMNIGNORESASLEEP - waitmessage 0x40 - moveendto 0x10 + waitmessage 64 + moveendto 16 end BattleScript_IgnoresAndUsesRandomMove:: @ 81D94EA printstring STRINGID_PKMNIGNOREDORDERS - waitmessage 0x40 - jumptocalledmove 0x0 - + waitmessage 64 + jumptocalledmove 0 BattleScript_MoveUsedLoafingAround:: @ 81D94F2 printfromtable gInobedientStringIds - waitmessage 0x40 - moveendto 0x10 + waitmessage 64 + moveendto 16 end BattleScript_IgnoresAndFallsAsleep:: @ 81D9504 printstring STRINGID_PKMNBEGANTONAP - waitmessage 0x40 + waitmessage 64 setmoveeffect MOVE_EFFECT_SLEEP | MOVE_EFFECT_AFFECTS_USER seteffectprimary - moveendto 0x10 + moveendto 16 end BattleScript_IgnoresAndHitsItself:: @ 81D951B printstring STRINGID_PKMNWONTOBEY - waitmessage 0x40 + waitmessage 64 goto BattleScript_81D90EA BattleScript_SubstituteFade:: @ 81D9526 @@ -4381,7 +4229,7 @@ BattleScript_BerryCurePrlzEnd2:: @ 81D9531 BattleScript_BerryCureParRet:: @ 81D9537 playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMCUREDPARALYSIS - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return @@ -4393,7 +4241,7 @@ BattleScript_BerryCurePsnEnd2:: @ 81D9549 BattleScript_BerryCurePsnRet:: @ 81D954F playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMCUREDPOISON - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return @@ -4405,7 +4253,7 @@ BattleScript_BerryCureBrnEnd2:: @ 81D9561 BattleScript_BerryCureBrnRet:: @ 81D9567 playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMHEALEDBURN - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return @@ -4417,7 +4265,7 @@ BattleScript_BerryCureFrzEnd2:: @ 81D9579 BattleScript_BerryCureFrzRet:: @ 81D957F playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMDEFROSTEDIT - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return @@ -4429,7 +4277,7 @@ BattleScript_BerryCureSlpEnd2:: @ 81D9591 BattleScript_BerryCureSlpRet:: @ 81D9597 playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMWOKEIT - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return @@ -4441,7 +4289,7 @@ BattleScript_BerryCureConfusionEnd2:: @ 81D95A9 BattleScript_BerryCureConfusionRet:: @ 81D95AF playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMSNAPPEDOUT - waitmessage 0x40 + waitmessage 64 removeitem BS_SCRIPTING return @@ -4452,7 +4300,7 @@ BattleScript_BerryCureChosenStatusEnd2:: @ 81D95BF BattleScript_BerryCureChosenStatusRet:: @ 81D95C5 playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printfromtable gBerryEffectStringIds - waitmessage 0x40 + waitmessage 64 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return @@ -4464,14 +4312,14 @@ BattleScript_WhiteHerbEnd2:: @ 81D95D9 BattleScript_WhiteHerbRet:: @ 81D95DF playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDSTATUS - waitmessage 0x40 + waitmessage 64 removeitem BS_SCRIPTING return BattleScript_ItemHealHP_RemoveItem:: @ 81D95EF playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHEALTH - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER @@ -4481,7 +4329,7 @@ BattleScript_ItemHealHP_RemoveItem:: @ 81D95EF BattleScript_BerryPPHealEnd2:: @ 81D960C playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDPP - waitmessage 0x40 + waitmessage 64 removeitem BS_ATTACKER end2 @@ -4492,7 +4340,7 @@ BattleScript_ItemHealHP_End2:: @ 81D961C BattleScript_ItemHealHP_Ret:: @ 81D9622 playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER @@ -4501,22 +4349,21 @@ BattleScript_ItemHealHP_Ret:: @ 81D9622 BattleScript_SelectingNotAllowedMoveChoiceItem:: @ 81D963D printselectionstring STRINGID_ITEMALLOWSONLYYMOVE endselectionscript - BattleScript_HangedOnMsg:: @ 81D9641 playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL printstring STRINGID_PKMNHUNGONWITHX - waitmessage 0x40 + waitmessage 64 return BattleScript_BerryConfuseHealEnd2:: @ 81D964F playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHEALTH - waitmessage 0x40 + waitmessage 64 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_FORXCOMMAYZ - waitmessage 0x40 + waitmessage 64 setmoveeffect MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER seteffectprimary removeitem BS_ATTACKER @@ -4524,10 +4371,9 @@ BattleScript_BerryConfuseHealEnd2:: @ 81D964F BattleScript_BerryStatRaiseEnd2:: @ 81D9679 playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL - statbuffchange 0x41, BattleScript_81D9686 - + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D9686 BattleScript_81D9686:: @ 81D9686 - setbyte cMULTISTRING_CHOOSER, 0x4 + setbyte cMULTISTRING_CHOOSER, 4 call BattleScript_StatUp removeitem BS_ATTACKER end2 @@ -4535,14 +4381,13 @@ BattleScript_81D9686:: @ 81D9686 BattleScript_BerryFocusEnergyEnd2:: @ 81D9694 playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNUSEDXTOGETPUMPED - waitmessage 0x40 + waitmessage 64 removeitem BS_ATTACKER end2 BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D96A4 printselectionstring STRINGID_ITEMSCANTBEUSEDNOW endselectionscript - BattleScript_FlushMessageBox:: @ 81D96A8 printstring STRINGID_EMPTYSTRING3 return diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 22793032f..b9b176956 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -370,7 +370,9 @@ #define B_ANIM_FOCUS_PUNCH_SETUP 0x14 #define B_ANIM_INGRAIN_HEAL 0x15 #define B_ANIM_WISH_HEAL 0x16 -#define B_ANIM_x19 0x19 +#define B_ANIM_MON_SCARED 0x17 +#define B_ANIM_GHOST_GET_OUT 0x18 +#define B_ANIM_SILPH_SCOPED 0x19 // special animations table #define B_ANIM_LVL_UP 0x0 diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index c618ffb4b..cbe3a8209 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -75,7 +75,7 @@ #define VARIOUS_RETURN_OPPONENT_MON1 9 #define VARIOUS_RETURN_OPPONENT_MON2 10 #define VARIOUS_CASE_11 11 -#define VARIOUS_CASE_12 12 +#define VARIOUS_WAIT_FANFARE 12 // atk80, dmg manipulation #define ATK80_DMG_CHANGE_SIGN 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a7d8cb6fa..8442ebfc5 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3773,7 +3773,7 @@ static void atk45_playanimation(void) if (gBattlescriptCurrInstr[2] == B_ANIM_STATS_CHANGE || gBattlescriptCurrInstr[2] == B_ANIM_SNATCH_MOVE || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE - || gBattlescriptCurrInstr[2] == B_ANIM_x19) + || gBattlescriptCurrInstr[2] == B_ANIM_SILPH_SCOPED) { BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); @@ -6236,7 +6236,7 @@ static void atk76_various(void) gBattleCommunication[5] = 1; } break; - case VARIOUS_CASE_12: + case VARIOUS_WAIT_FANFARE: if (!IsFanfareTaskInactive()) return; break; From 7f1d1cbaa86f1adf9b7203ec1236c00187df39de Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 13:20:06 -0500 Subject: [PATCH 07/21] Use helpful battle script macros --- data/battle_scripts_1.s | 136 +++++++++++++++++++--------------------- 1 file changed, 65 insertions(+), 71 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index f44c47652..04dcb7b60 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -235,8 +235,8 @@ gBattleScriptsForMoveEffects:: @ 81D65A8 .4byte BattleScript_EffectCamouflage BattleScript_EffectHit:: @ 81D6900 - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_SURF, BattleScript_81D6926 - jumpifstatus3condition BS_TARGET, STATUS3_UNDERWATER, 1, BattleScript_81D6926 + jumpifnotmove MOVE_SURF, BattleScript_81D6926 + jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_81D6926 orword gHitMarker, HITMARKER_IGNORE_UNDERWATER setbyte sDMG_MULTIPLIER, 2 BattleScript_81D6926:: @ 81D6926 @@ -352,7 +352,7 @@ BattleScript_81D6A23:: @ 81D6A23 BattleScript_81D6A2B:: @ 81D6A2B healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6A42 + jumpifmovehadnoeffect BattleScript_81D6A42 printfromtable gLeechSeedDrainStringIds waitmessage 64 BattleScript_81D6A42:: @ 81D6A42 @@ -457,7 +457,7 @@ BattleScript_81D6B15:: @ 81D6B15 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6B53 + jumpifmovehadnoeffect BattleScript_81D6B53 printstring STRINGID_PKMNDREAMEATEN waitmessage 64 BattleScript_81D6B53:: @ 81D6B53 @@ -600,7 +600,7 @@ BattleScript_EffectRoar:: @ 81D6CB1 attackstring ppreduce jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_81D9408 - jumpifstatus3condition BS_TARGET, STATUS3_ROOTED, 0, BattleScript_81D8F27 + jumpifstatus3 BS_TARGET, STATUS3_ROOTED, BattleScript_81D8F27 accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE forcerandomswitch BattleScript_ButItFailed @@ -619,11 +619,11 @@ BattleScript_81D6CEC:: @ 81D6CEC jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6D63 BattleScript_81D6D0E:: @ 81D6D0E movevaluescleanup - copyarray cEFFECT_CHOOSER, sMULTIHIT_EFFECT, 1 + copybyte cEFFECT_CHOOSER, sMULTIHIT_EFFECT critcalc damagecalc typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6D60 + jumpifmovehadnoeffect BattleScript_81D6D60 adjustnormaldamage attackanimation waitanimation @@ -647,7 +647,7 @@ BattleScript_81D6D60:: @ 81D6D60 BattleScript_81D6D63:: @ 81D6D63 resultmessage waitmessage 64 - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6D82 + jumpifmovehadnoeffect BattleScript_81D6D82 copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 printstring STRINGID_HITXTIMES waitmessage 64 @@ -715,7 +715,7 @@ BattleScript_81D6E41:: @ 81D6E41 goto BattleScript_MoveEnd BattleScript_81D6E4F:: @ 81D6E4F - copyarray gEffectBattler, gBattlerTarget, 1 + copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_PSNPrevention goto BattleScript_MoveEnd @@ -767,7 +767,7 @@ BattleScript_EffectOhko:: @ 81D6ED0 ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6934 + jumpifmovehadnoeffect BattleScript_81D6934 tryKO BattleScript_81D6EF1 trysetdestinybondtohappen goto BattleScript_81D6934 @@ -791,7 +791,7 @@ BattleScript_81D6F29:: @ 81D6F29 setbyte sB_ANIM_TURN, 1 clearstatusfromeffect BS_ATTACKER orword gHitMarker, HITMARKER_NO_PPDEDUCT - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_SKY_ATTACK, BattleScript_81D6927 + jumpifnotmove MOVE_SKY_ATTACK, BattleScript_81D6927 setmoveeffect MOVE_EFFECT_FLINCH goto BattleScript_81D6927 @@ -804,7 +804,7 @@ BattleScript_81D6F58:: @ 81D6F58 orword gHitMarker, HITMARKER_CHARGING setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER seteffectprimary - copyarray cMULTISTRING_CHOOSER, sTWOTURN_STRINGID, 1 + copybyte cMULTISTRING_CHOOSER, sTWOTURN_STRINGID printfromtable gFirstTurnOfTwoStringIds waitmessage 64 return @@ -826,16 +826,13 @@ BattleScript_EffectDragonRage:: @ 81D6F99 ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE - setbyte gBattleMoveDamage, 40 - setbyte gBattleMoveDamage + 1, 0 - setbyte gBattleMoveDamage + 2, 0 - setbyte gBattleMoveDamage + 3, 0 + setword gBattleMoveDamage, 40 adjustsetdamage goto BattleScript_81D6934 BattleScript_EffectTrap:: @ 81D6FC8 - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_WHIRLPOOL, BattleScript_81D6FEE - jumpifstatus3condition BS_TARGET, STATUS3_UNDERWATER, 1, BattleScript_81D6FEE + jumpifnotmove MOVE_WHIRLPOOL, BattleScript_81D6FEE + jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_81D6FEE orword gHitMarker, HITMARKER_IGNORE_UNDERWATER setbyte sDMG_MULTIPLIER, 2 BattleScript_81D6FEE:: @ 81D6FEE @@ -903,7 +900,7 @@ BattleScript_EffectFocusEnergy:: @ 81D7075 BattleScript_EffectRecoil:: @ 81D7092 setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_EffectHit + jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit incrementgamestat GAME_STAT_USED_STRUGGLE goto BattleScript_EffectHit @@ -1017,7 +1014,7 @@ BattleScript_EffectParalyze:: @ 81D71E2 jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_81D7245 jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_ButItFailed + jumpifmovehadnoeffect BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D7237 jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE @@ -1037,7 +1034,7 @@ BattleScript_81D7237:: @ 81D7237 goto BattleScript_MoveEnd BattleScript_81D7245:: @ 81D7245 - copyarray gEffectBattler, gBattlerTarget, 1 + copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_PRLZPrevention goto BattleScript_MoveEnd @@ -1253,7 +1250,7 @@ BattleScript_EffectPainSplit:: @ 81D7465 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - copyarray gBattleMoveDamage, gBattleScripting, 4 + copyword gBattleMoveDamage, gBattleScripting healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_SHAREDPAIN @@ -1376,7 +1373,7 @@ BattleScript_EffectHealBell:: @ 81D75A1 waitanimation printfromtable gPartyStatusHealStringIds waitmessage 64 - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_HEAL_BELL, BattleScript_81D75DE + jumpifnotmove MOVE_HEAL_BELL, BattleScript_81D75DE jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 1, BattleScript_81D75CD printstring STRINGID_PKMNSXBLOCKSY waitmessage 64 @@ -1407,12 +1404,12 @@ BattleScript_81D761A:: @ 81D761A movevaluescleanup addbyte sTRIPLE_KICK_POWER, 10 addbyte gBattleScripting + 12, 1 - copyarray gDynamicBasePower, sTRIPLE_KICK_POWER, 2 + copyhword gDynamicBasePower, sTRIPLE_KICK_POWER critcalc damagecalc typecalc adjustnormaldamage - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D7679 + jumpifmovehadnoeffect BattleScript_81D7679 attackanimation waitanimation effectivenesssound @@ -1499,7 +1496,7 @@ BattleScript_EffectCurse:: @ 81D774D jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 12, BattleScript_81D7772 jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_ButItFailed BattleScript_81D7772:: @ 81D7772 - copyarray gBattlerTarget, gBattlerAttacker, 1 + copybyte gBattlerTarget, gBattlerAttacker setbyte sB_ANIM_TURN, 1 attackanimation waitanimation @@ -1521,7 +1518,7 @@ BattleScript_81D77C0:: @ 81D77C0 goto BattleScript_MoveEnd BattleScript_81D77C5:: @ 81D77C5 - jumpifarraynotequal gBattlerAttacker, gBattlerTarget, 1, BattleScript_81D77D6 + jumpifbytenotequal gBattlerAttacker, gBattlerTarget, BattleScript_81D77D6 getmovetarget BS_ATTACKER BattleScript_81D77D6:: @ 81D77D6 attackcanceler @@ -1589,7 +1586,7 @@ BattleScript_81D786C:: @ 81D786C jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_81D788C BattleScript_81D7873:: @ 81D7873 addbyte sBATTLER, 1 - jumpifarraynotequal sBATTLER, gBattlersCount, 1, BattleScript_81D786C + jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_81D786C goto BattleScript_MoveEnd BattleScript_81D788C:: @ 81D788C @@ -1649,7 +1646,7 @@ BattleScript_81D7923:: @ 81D7923 critcalc damagecalc typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D7923 + jumpifmovehadnoeffect BattleScript_81D7923 adjustnormaldamage goto BattleScript_81D6934 @@ -1732,10 +1729,7 @@ BattleScript_EffectSonicboom:: @ 81D79CD ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE - setbyte gBattleMoveDamage, 20 - setbyte gBattleMoveDamage + 1, 0 - setbyte gBattleMoveDamage + 2, 0 - setbyte gBattleMoveDamage + 3, 0 + setword gBattleMoveDamage, 20 adjustsetdamage goto BattleScript_81D6934 @@ -1834,7 +1828,7 @@ BattleScript_81D7AE9:: @ 81D7AE9 goto BattleScript_MoveEnd BattleScript_EffectTwister:: @ 81D7AEE - jumpifstatus3condition BS_TARGET, STATUS3_ON_AIR, 1, BattleScript_81D7B08 + jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_81D7B08 orword gHitMarker, HITMARKER_IGNORE_ON_AIR setbyte sDMG_MULTIPLIER, 2 BattleScript_81D7B08:: @ 81D7B08 @@ -1848,7 +1842,7 @@ BattleScript_EffectEarthquake:: @ 81D7B13 selectfirstvalidtarget BattleScript_81D7B17:: @ 81D7B17 movevaluescleanup - jumpifstatus3condition BS_TARGET, STATUS3_UNDERGROUND, 1, BattleScript_81D7B37 + jumpifnostatus3 BS_TARGET, STATUS3_UNDERGROUND, BattleScript_81D7B37 orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND setbyte sDMG_MULTIPLIER, 2 goto BattleScript_81D7B46 @@ -1902,13 +1896,13 @@ BattleScript_EffectFutureSight:: @ 81D7B97 goto BattleScript_MoveEnd BattleScript_EffectGust:: @ 81D7BAE - jumpifstatus3condition BS_TARGET, STATUS3_ON_AIR, 1, BattleScript_EffectHit + jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_EffectHit orword gHitMarker, HITMARKER_IGNORE_ON_AIR setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit BattleScript_EffectFlinchMinimizeHit:: @ 81D7BCD - jumpifstatus3condition BS_TARGET, STATUS3_MINIMIZED, 1, BattleScript_81D7B08 + jumpifnostatus3 BS_TARGET, STATUS3_MINIMIZED, BattleScript_81D7B08 setbyte sDMG_MULTIPLIER, 2 goto BattleScript_81D7B08 @@ -1939,7 +1933,7 @@ BattleScript_EffectTeleport:: @ 81D7C4D attackcanceler attackstring ppreduce - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_ButItFailed + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed getifcantrunfrombattle BS_ATTACKER jumpifbyte CMP_EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed jumpifbyte CMP_EQUAL, gBattleCommunication, 2, BattleScript_81D8255 @@ -1987,9 +1981,9 @@ BattleScript_81D7CE0:: @ 81D7CE0 BattleScript_EffectSemiInvulnerable:: @ 81D7CE1 jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7D4F jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D7D4F - jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_FLY, BattleScript_81D7D3E - jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_DIVE, BattleScript_81D7D33 - jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_81D7D28 + jumpifmove MOVE_FLY, BattleScript_81D7D3E + jumpifmove MOVE_DIVE, BattleScript_81D7D33 + jumpifmove MOVE_BOUNCE, BattleScript_81D7D28 setbyte sTWOTURN_STRINGID, 5 goto BattleScript_81D7D44 @@ -2014,7 +2008,7 @@ BattleScript_81D7D4F:: @ 81D7D4F setbyte sB_ANIM_TURN, 1 clearstatusfromeffect BS_ATTACKER orword gHitMarker, HITMARKER_NO_PPDEDUCT - jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, MOVE_BOUNCE, BattleScript_81D7D79 + jumpifnotmove MOVE_BOUNCE, BattleScript_81D7D79 setmoveeffect MOVE_EFFECT_PARALYSIS BattleScript_81D7D79:: @ 81D7D79 accuracycheck BattleScript_81D7D86, ACC_CURR_MOVE @@ -2204,7 +2198,7 @@ BattleScript_EffectWillOWisp:: @ 81D7F2B goto BattleScript_MoveEnd BattleScript_81D7F77:: @ 81D7F77 - copyarray gEffectBattler, gBattlerTarget, 1 + copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_BRNPrevention goto BattleScript_MoveEnd @@ -2479,7 +2473,7 @@ BattleScript_EffectYawn:: @ 81D820A goto BattleScript_MoveEnd BattleScript_81D824B:: @ 81D824B - copyarray sBATTLER, sBATTLER_WITH_ABILITY, 1 + copybyte sBATTLER, sBATTLER_WITH_ABILITY BattleScript_81D8255:: @ 81D8255 pause 32 printstring STRINGID_PKMNSXMADEITINEFFECTIVE @@ -2495,12 +2489,12 @@ BattleScript_EffectEndeavor:: @ 81D826E attackstring ppreduce setdamagetohealthdifference BattleScript_ButItFailed - copyarray gHpDealt, gBattleMoveDamage, 4 + copyword gHpDealt, gBattleMoveDamage accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE typecalc - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED, BattleScript_81D6934 + jumpifmovehadnoeffect BattleScript_81D6934 bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE - copyarray gBattleMoveDamage, gHpDealt, 4 + copyword gBattleMoveDamage, gHpDealt adjustsetdamage goto BattleScript_81D6934 @@ -2590,7 +2584,7 @@ BattleScript_EffectTeeterDance:: @ 81D8345 BattleScript_81D834E:: @ 81D834E movevaluescleanup setmoveeffect MOVE_EFFECT_CONFUSION - jumpifarrayequal gBattlerAttacker, gBattlerTarget, 1, BattleScript_81D8394 + jumpifbyteequal gBattlerAttacker, gBattlerTarget, BattleScript_81D8394 jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D83B2 jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D83CE jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D83DC @@ -2604,7 +2598,7 @@ BattleScript_81D834E:: @ 81D834E BattleScript_81D8394:: @ 81D8394 moveendto 16 addbyte gBattlerTarget, 1 - jumpifarraynotequal gBattlerTarget, gBattlersCount, 1, BattleScript_81D834E + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_81D834E end BattleScript_81D83B2:: @ 81D83B2 @@ -2842,7 +2836,7 @@ BattleScript_GiveExp:: @ 81D8694 BattleScript_HandleFaintedMon:: @ 81D869D atk24 BattleScript_81D87B8 jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D87B7 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D86E6 + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D86E6 jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D86E6 printstring STRINGID_USENEXTPKMN setbyte gBattleCommunication, 0 @@ -2853,10 +2847,10 @@ BattleScript_HandleFaintedMon:: @ 81D869D BattleScript_81D86E6:: @ 81D86E6 openpartyscreen 3, BattleScript_81D87B7 switchhandleorder BS_FAINTED, 2 - jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8792 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_LINK, BattleScript_81D8792 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER, BattleScript_81D8792 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D8792 + jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_81D8792 + jumpifbattletype BATTLE_TYPE_LINK, BattleScript_81D8792 + jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_81D8792 + jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D8792 jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D8792 jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 1, BattleScript_81D8792 jumpifcantswitch BS_PLAYER1, BattleScript_81D8792 @@ -2897,7 +2891,7 @@ BattleScript_81D8792:: @ 81D8792 waitstate various7 BS_ATTACKER switchineffects BS_FAINTED - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D87B7 + jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D87B7 cancelallactions BattleScript_81D87B7:: @ 81D87B7 end2 @@ -2919,7 +2913,7 @@ BattleScript_81D87CA:: @ 81D87CA switchinanim BS_FAINTED, 0 waitstate switchineffects 5 - jumpifarraynotequal gBattlerFainted, gBattlersCount, 1, BattleScript_81D87CA + jumpifbytenotequal gBattlerFainted, gBattlersCount, BattleScript_81D87CA BattleScript_81D87EE:: @ 81D87EE end2 @@ -2938,12 +2932,12 @@ BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8803 end2 BattleScript_LocalBattleLost:: @ 81D8806 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D8896 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_EREADER_TRAINER, BattleScript_81D886E + jumpifbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D8896 + jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_81D886E jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 1024, BattleScript_81D886E jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8876 BattleScript_81D8839:: @ 81D8839 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D885D + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D885D printstring STRINGID_PLAYERWHITEOUT waitmessage 64 getmoneyreward BattleScript_81D886F @@ -2991,7 +2985,7 @@ BattleScript_81D88B4:: @ 81D88B4 trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1WINTEXT - jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88CB + jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D88CB printstring STRINGID_TRAINER2NAME BattleScript_81D88CB:: @ 81D88CB end2 @@ -3007,9 +3001,9 @@ gUnknown_81D88D7:: @ 81D88D7 printstring STRINGID_PLAYERDEFEATEDTRAINER1 trainerslidein BS_ATTACKER waitstate - jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D88FF + jumpifnotbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D88FF printstring STRINGID_TRAINER1LOSETEXT - jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D88FF + jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D88FF printstring STRINGID_TRAINER2CLASS BattleScript_81D88FF:: @ 81D88FF pickup @@ -3037,7 +3031,7 @@ BattleScript_WildMonFled:: @ 81D891D end2 BattleScript_PrintCantRunFromTrainer:: @ 81D8924 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_FIRST_BATTLE, BattleScript_81D8936 + jumpifbattletype BATTLE_TYPE_FIRST_BATTLE, BattleScript_81D8936 printstring STRINGID_NORUNNINGFROMTRAINERS end2 @@ -3060,7 +3054,7 @@ BattleScript_ActionSwitch:: @ 81D894D hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON setbyte sDMG_MULTIPLIER, 2 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_81D896D + jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D896D setmultihit 1 goto BattleScript_81D896F @@ -3193,7 +3187,7 @@ BattleScript_81D8A97:: @ 81D8A97 BattleScript_81D8AD8:: @ 81D8AD8 jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D8AF7 addbyte gBattleCommunication, 1 - jumpifarraynotequal gBattleCommunication, gBattlersCount, 1, BattleScript_81D8A97 + jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_81D8A97 BattleScript_81D8AF7:: @ 81D8AF7 bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE end2 @@ -3242,7 +3236,7 @@ BattleScript_LeechSeedTurnDrain:: @ 81D8B4D orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - copyarray gBattleMoveDamage, gHpDealt, 4 + copyword gBattleMoveDamage, gHpDealt jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F manipulatedamage 0 setbyte cMULTISTRING_CHOOSER, 3 @@ -3274,7 +3268,7 @@ BattleScript_BideAttack:: @ 81D8BB4 accuracycheck BattleScript_81D6963, ACC_CURR_MOVE typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE - copyarray gBattleMoveDamage, sBIDE_DMG, 4 + copyword gBattleMoveDamage, sBIDE_DMG adjustsetdamage setbyte sB_ANIM_TURN, 1 attackanimation @@ -3303,7 +3297,7 @@ BattleScript_SuccessForceOut:: @ 81D8C10 switchoutabilities BS_TARGET returntoball BS_TARGET waitstate - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_81D8C2C + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D8C2C setbyte gBattleOutcome, B_OUTCOME_PLAYER_TELEPORTED finishaction BattleScript_81D8C2C:: @ 81D8C2C @@ -3460,7 +3454,7 @@ BattleScript_RapidSpinAway:: @ 81D8DF1 BattleScript_WrapFree:: @ 81D8DF3 printstring STRINGID_PKMNGOTFREE waitmessage 64 - copyarray gBattlerTarget, sBATTLER, 1 + copybyte gBattlerTarget, sBATTLER return BattleScript_LeechSeedFree:: @ 81D8E04 @@ -3910,7 +3904,7 @@ BattleScript_MoveEffectConfusion:: @ 81D9235 return BattleScript_MoveEffectRecoil:: @ 81D9243 - jumpifhalfword CMP_EQUAL, gCurrentMove, MOVE_STRUGGLE, BattleScript_81D9256 + jumpifmove MOVE_STRUGGLE, BattleScript_81D9256 jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_81D9270 BattleScript_81D9256:: @ 81D9256 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 @@ -3975,7 +3969,7 @@ BattleScript_81D92DC:: @ 81D92DC BattleScript_81D92E2:: @ 81D92E2 trycastformdatachange addbyte sBATTLER, 1 - jumpifarraynotequal sBATTLER, gBattlersCount, 1, BattleScript_81D92E2 + jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_81D92E2 return BattleScript_CastformChange:: @ 81D92F8 From 33e9c6fcfe5313d5703e72253f68f4278deaa57b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 13:21:11 -0500 Subject: [PATCH 08/21] intrimidate --> intimidate --- asm/macros/battle_script.inc | 2 +- data/battle_scripts_1.s | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 5035361ed..8f223f791 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1268,7 +1268,7 @@ various \battler, 4 .endm - .macro resetintrimidatetracebits battler:req + .macro resetintimidatetracebits battler:req various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS .endm diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 04dcb7b60..68efc82d4 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2863,7 +2863,7 @@ BattleScript_81D86E6:: @ 81D86E6 switchhandleorder BS_ATTACKER, 2 jumpifbyte CMP_EQUAL, gBattleCommunication, 6, BattleScript_81D8792 atknameinbuff1 - resetintrimidatetracebits BS_ATTACKER + resetintimidatetracebits BS_ATTACKER hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON switchoutabilities BS_ATTACKER From d34cfe3bb7f47a853be06b58bf2c7ab06ee17e67 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 13:31:43 -0500 Subject: [PATCH 09/21] jumpifsideaffecting --- data/battle_scripts_1.s | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 68efc82d4..ad9ca184f 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -291,7 +291,7 @@ BattleScript_EffectSleep:: @ 81D696D jumpifcantmakeasleep BattleScript_81D69CC jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_SLEEP @@ -699,7 +699,7 @@ BattleScript_EffectToxic:: @ 81D6DE0 jumpiftype BS_TARGET, TYPE_POISON, BattleScript_81D7E04 jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_81D7E04 accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_TOXIC @@ -912,7 +912,7 @@ BattleScript_EffectConfuse:: @ 81D70AB jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D70EA accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_CONFUSION @@ -998,7 +998,7 @@ BattleScript_EffectPoison:: @ 81D7181 jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_81D7E04 jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_POISON @@ -1018,7 +1018,7 @@ BattleScript_EffectParalyze:: @ 81D71E2 jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D7237 jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_PARALYSIS @@ -1631,7 +1631,7 @@ BattleScript_EffectSwagger:: @ 81D78BB waitmessage 64 BattleScript_81D78FE:: @ 81D78FE jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd @@ -2175,7 +2175,7 @@ BattleScript_EffectFlatter:: @ 81D7ECD waitmessage 64 BattleScript_81D7F10:: @ 81D7F10 jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd @@ -2190,7 +2190,7 @@ BattleScript_EffectWillOWisp:: @ 81D7F2B jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_81D7F77 jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 attackanimation waitanimation setmoveeffect MOVE_EFFECT_BURN @@ -2462,7 +2462,7 @@ BattleScript_EffectYawn:: @ 81D820A jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_81D824B jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_81D824B jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON jumpifcantmakeasleep BattleScript_ButItFailed setyawn BattleScript_ButItFailed @@ -2589,7 +2589,7 @@ BattleScript_81D834E:: @ 81D834E jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D83CE jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D83DC accuracycheck BattleScript_81D83EA, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, 32, BattleScript_81D83C0 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D83C0 attackanimation waitanimation seteffectprimary From cbdfbeda6b18d1173613c708843192f1ef4ac908 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 13:37:04 -0500 Subject: [PATCH 10/21] Extra newline after endselectionscript --- data/battle_scripts_1.s | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index ad9ca184f..22cb8e7e6 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -3047,9 +3047,11 @@ BattleScript_PrintFailedToRunString:: @ 81D893A BattleScript_PrintCantEscapeFromBattle:: @ 81D8943 printselectionstringfromtable gNoEscapeStringIds endselectionscript + BattleScript_PrintFullBox:: @ 81D8949 printselectionstring STRINGID_BOXISFULL endselectionscript + BattleScript_ActionSwitch:: @ 81D894D hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON @@ -3328,6 +3330,7 @@ BattleScript_MoveUsedIsDisabled:: @ 81D8C4F BattleScript_SelectingDisabledMove:: @ 81D8C5A printselectionstring STRINGID_PKMNMOVEISDISABLED endselectionscript + BattleScript_DisabledNoMore:: @ 81D8C5E printstring STRINGID_PKMNMOVEDISABLEDNOMORE waitmessage 64 @@ -3512,9 +3515,11 @@ BattleScript_81D8E86:: @ 81D8E86 BattleScript_NoMovesLeft:: @ 81D8EA0 printselectionstring STRINGID_PKMNHASNOMOVESLEFT endselectionscript + BattleScript_SelectingMoveWithNoPP:: @ 81D8EA4 printselectionstring STRINGID_NOPPLEFT endselectionscript + BattleScript_NoPPForMove:: @ 81D8EA8 attackstring pause 32 @@ -3525,6 +3530,7 @@ BattleScript_NoPPForMove:: @ 81D8EA8 BattleScript_SelectingTormentedMove:: @ 81D8EB7 printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT endselectionscript + printstring STRINGID_PKMNCANTUSEMOVETORMENT waitmessage 64 goto BattleScript_MoveEnd @@ -3532,6 +3538,7 @@ BattleScript_SelectingTormentedMove:: @ 81D8EB7 BattleScript_SelectingNotAllowedMoveTaunt:: @ 81D8EC6 printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT endselectionscript + BattleScript_MoveUsedIsTaunted:: @ 81D8ECA printstring STRINGID_PKMNCANTUSEMOVETAUNT waitmessage 64 @@ -3605,6 +3612,7 @@ BattleScript_MoveUsedIsImprisoned:: @ 81D8F94 BattleScript_SelectingImprisonedMove:: @ 81D8F9F printselectionstring STRINGID_PKMNCANTUSEMOVESEALED endselectionscript + BattleScript_GrudgeTakesPp:: @ 81D8FA3 printstring STRINGID_PKMNLOSTPPGRUDGE waitmessage 64 @@ -4343,6 +4351,7 @@ BattleScript_ItemHealHP_Ret:: @ 81D9622 BattleScript_SelectingNotAllowedMoveChoiceItem:: @ 81D963D printselectionstring STRINGID_ITEMALLOWSONLYYMOVE endselectionscript + BattleScript_HangedOnMsg:: @ 81D9641 playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL printstring STRINGID_PKMNHUNGONWITHX @@ -4382,6 +4391,7 @@ BattleScript_BerryFocusEnergyEnd2:: @ 81D9694 BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D96A4 printselectionstring STRINGID_ITEMSCANTBEUSEDNOW endselectionscript + BattleScript_FlushMessageBox:: @ 81D96A8 printstring STRINGID_EMPTYSTRING3 return From f3be95d0c0a76f6bf6f5a03792b2ceaf012bc25b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 14:06:51 -0500 Subject: [PATCH 11/21] Dump battle_scripts_2.s --- baserom.ips | Bin 430442 -> 429862 bytes constants/battle.inc | 2 +- data/battle_message.s | 4 +- data/battle_scripts_2.s | 237 ++++++++++++++++++++++++++++++-- include/battle_string_ids.h | 12 +- include/constants/battle_anim.h | 4 +- 6 files changed, 236 insertions(+), 23 deletions(-) diff --git a/baserom.ips b/baserom.ips index ad0030b85e5ede02541a80ea595e72616ed4a6c1..bedd2c2c0d37a20dd31d294b1e859aeb5a5f5c32 100644 GIT binary patch delta 43 scmaF0NNU+UsSPLpFfp@iKK+MmcD%Gs7ldO z_3Qmi{j>Hr^Fs4_56_WbpCDF<0yx0LExn&jG?j)nC*(VuLec zgFvicBMj?t#xz)<@T$QL{9Gf&-DpR*6Le0KyME+Xi6$Rb<}Im@Oha%>xab~*hT7aj zsj_XWS$F0UP4p-Mz%2zscyOo`nWK3CX}^=#Tco%mJXgin@tUKe&q>DIGYD}W!^s$A z5O`Kha^sIwnXUu|n#jXqt%AStR)5?I%Ep!Apin{99&pTgex2%AylrnwvK#<@*F-f6Ux>4y==@`&#)?Nae&x=6< Uc52;nt&0RB6hghJb+zpNH~0jQy#N3J diff --git a/constants/battle.inc b/constants/battle.inc index 744399469..d3a7c6d58 100644 --- a/constants/battle.inc +++ b/constants/battle.inc @@ -71,7 +71,7 @@ .equiv B_ANIM_STATS_CHANGE, 0x1 .equiv B_ANIM_SUBSTITUTE_FADE, 0x2 .equiv B_ANIM_SUBSTITUTE_APPEAR, 0x3 -.equiv B_ANIM_POKEBLOCK_THROW, 0x4 +.equiv B_ANIM_BAIT_THROW, 0x4 .equiv B_ANIM_ITEM_KNOCKOFF, 0x5 .equiv B_ANIM_TURN_TRAP, 0x6 .equiv B_ANIM_ITEM_EFFECT, 0x7 diff --git a/data/battle_message.s b/data/battle_message.s index 332c3a636..e6ec14116 100644 --- a/data/battle_message.s +++ b/data/battle_message.s @@ -2388,8 +2388,8 @@ gInobedientStringIds:: gSafariPokeblockResultStringIds:: .2byte STRINGID_PKMNWATCHINGCAREFULLY - .2byte STRINGID_PKMNCURIOUSABOUTX - .2byte STRINGID_PKMNENTHRALLEDBYX + .2byte STRINGID_PKMNANGRY + .2byte STRINGID_PKMNEATING gTrainerItemCuredStatusStringIds:: .2byte STRINGID_PKMNSITEMSNAPPEDOUT diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 199fd0c78..cb89649b5 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -1,28 +1,239 @@ +#include "constants/moves.h" +#include "constants/battle.h" +#include "constants/battle_move_effects.h" +#include "constants/battle_script_commands.h" +#include "constants/battle_anim.h" +#include "constants/items.h" +#include "constants/abilities.h" +#include "constants/species.h" +#include "constants/pokemon.h" +#include "constants/songs.h" +#include "constants/game_stat.h" +#include "battle_string_ids.h" + .include "asm/macros/battle_script.inc" +@ Define these here since misc_constants.inc conflicts with the C headers + .set NULL, 0 + .set FALSE, 0 + .set TRUE, 1 .section script_data, "aw", %progbits + .align 2 -gBattlescriptsForBallThrow:: @ 81D99B0 - .incbin "baserom.gba", 0x1D99B0, 0x34 -gBattlescriptsForUsingItem:: @ 81D99E4 - .incbin "baserom.gba", 0x1D99E4, 0x18 +gBattlescriptsForBallThrow:: @ 81D99B4 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A3C + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 + .4byte BattleScript_81D9A14 -gBattlescriptsForRunningByItem:: @ 81D99FC - .incbin "baserom.gba", 0x1D99FC, 0x8 +gBattlescriptsForUsingItem:: @ 81D99E8 + .4byte BattleScript_81D9ADB + .4byte BattleScript_81D9AE5 + .4byte BattleScript_81D9AE5 + .4byte BattleScript_81D9B14 + .4byte BattleScript_81D9B38 + .4byte BattleScript_81D9B5A -gBattlescriptsForSafariActions:: @ 81D9A04 - .incbin "baserom.gba", 0x1D9A04, 0x3E +gBattlescriptsForRunningByItem:: @ 81D9A00 + .4byte BattleScript_81D9B7C + .4byte BattleScript_81D9B86 + +gBattlescriptsForSafariActions:: @ 81D9A08 + .4byte BattleScript_81D9BB5 + .4byte BattleScript_81D9BC5 + .4byte BattleScript_81D9BD3 + .4byte BattleScript_81D9BE1 + +BattleScript_81D9A14:: @ 81D9A14 + jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_OLD_MAN_TUTORIAL, BattleScript_81D9A34 + jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_POKEDUDE, BattleScript_81D9A38 + printstring STRINGID_PLAYERUSEDITEM + handleballthrow + +BattleScript_81D9A34:: @ 81D9A34 + printstring STRINGID_WALLYUSEDITEM + handleballthrow + +BattleScript_81D9A38:: @ 81D9A38 + printstring STRINGID_POKEDUDEUSED + handleballthrow + +BattleScript_81D9A3C:: @ 81D9A3C + printstring STRINGID_PLAYERUSEDITEM + updatestatusicon BS_ATTACKER + handleballthrow BattleScript_SuccessBallThrow:: @ 81D9A42 - .incbin "baserom.gba", 0x1D9A42, 0x46 + jumpifhalfword CMP_EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_81D9A50 + incrementgamestat GAME_STAT_POKEMON_CAPTURES +BattleScript_81D9A50:: @ 81D9A50 + printstring STRINGID_GOTCHAPKMNCAUGHT + trysetcaughtmondexflags BattleScript_81D9A63 + printstring STRINGID_PKMNDATAADDEDTODEX + waitstate + setbyte gBattleCommunication, 0 + displaydexinfo +BattleScript_81D9A63:: @ 81D9A63 + printstring STRINGID_GIVENICKNAMECAPTURED + waitstate + setbyte gBattleCommunication, 0 + trygivecaughtmonnick BattleScript_81D9A80 + givecaughtmon + printfromtable gCaughtMonStringIds + waitmessage 64 + goto BattleScript_81D9A81 + +BattleScript_81D9A80:: @ 81D9A80 + givecaughtmon +BattleScript_81D9A81:: @ 81D9A81 + setbyte gBattleOutcome, B_OUTCOME_CAUGHT + finishturn gUnknown_81D9A88:: @ 81D9A88 - .incbin "baserom.gba", 0x1D9A88, 0xB + printstring STRINGID_GOTCHAPKMNCAUGHT2 + setbyte gBattleOutcome, B_OUTCOME_CAUGHT + atk57 + finishturn BattleScript_ShakeBallThrow:: @ 81D9A93 - .incbin "baserom.gba", 0x1D9A93, 0x2E + printfromtable gBallEscapeStringIds + waitmessage 64 + jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_81D9AC0 + jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0, BattleScript_81D9AC0 + printstring STRINGID_OUTOFSAFARIBALLS + waitmessage 64 + setbyte gBattleOutcome, B_OUTCOME_NO_SAFARI_BALLS +BattleScript_81D9AC0:: @ 81D9AC0 + finishaction BattleScript_TrainerBallBlock:: @ 81D9AC1 - .incbin "baserom.gba", 0x1D9AC1, 0x10 + waitmessage 64 + printstring STRINGID_TRAINERBLOCKEDBALL + waitmessage 64 + printstring STRINGID_DONTBEATHIEF + waitmessage 64 + finishaction BattleScript_GhostBallDodge:: @ 81D9AD1 - .incbin "baserom.gba", 0x1D9AD1, 0x123 + waitmessage 64 + printstring STRINGID_ITDODGEDBALL + waitmessage 64 + finishaction + +BattleScript_81D9ADB:: @ 81D9ADB + moveendcase 15 + end + +BattleScript_81D9AE5:: @ 81D9AE5 + printstring STRINGID_EMPTYSTRING3 + pause 48 + playse SE_KAIFUKU + printstring STRINGID_TRAINER1USEDITEM + waitmessage 64 + useitemonopponent + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + printstring STRINGID_PKMNSITEMRESTOREDHEALTH + waitmessage 64 + updatestatusicon BS_ATTACKER + moveendcase 15 + finishaction + +BattleScript_81D9B14:: @ 81D9B14 + printstring STRINGID_EMPTYSTRING3 + pause 48 + playse SE_KAIFUKU + printstring STRINGID_TRAINER1USEDITEM + waitmessage 64 + useitemonopponent + printfromtable gTrainerItemCuredStatusStringIds + waitmessage 64 + updatestatusicon BS_ATTACKER + moveendcase 15 + finishaction + +BattleScript_81D9B38:: @ 81D9B38 + printstring STRINGID_EMPTYSTRING3 + pause 48 + playse SE_KAIFUKU + printstring STRINGID_TRAINER1USEDITEM + waitmessage 64 + useitemonopponent + printfromtable gStatUpStringIds + waitmessage 64 + moveendcase 15 + finishaction + +BattleScript_81D9B5A:: @ 81D9B5A + printstring STRINGID_EMPTYSTRING3 + pause 48 + playse SE_KAIFUKU + printstring STRINGID_TRAINER1USEDITEM + waitmessage 64 + useitemonopponent + printfromtable gMistUsedStringIds + waitmessage 64 + moveendcase 15 + finishaction + +BattleScript_81D9B7C:: @ 81D9B7C + playse SE_NIGERU + setbyte gBattleOutcome, B_OUTCOME_RAN + finishturn + +BattleScript_81D9B86:: @ 81D9B86 + various11 BS_ATTACKER + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_81D9B9F + printstring STRINGID_POKEFLUTECATCHY + waitmessage 64 + goto BattleScript_81D9BB4 + +BattleScript_81D9B9F:: @ 81D9B9F + printstring STRINGID_POKEFLUTE + waitmessage 64 + fanfare MUS_POKEFUE + waitfanfare BS_ATTACKER + printstring STRINGID_MONHEARINGFLUTEAWOKE + waitmessage 64 + updatestatusicon BS_PLAYER2 + waitstate +BattleScript_81D9BB4:: @ 81D9BB4 + finishaction + +BattleScript_81D9BB5:: @ 81D9BB5 + printfromtable gSafariPokeblockResultStringIds + waitmessage 64 + playanimation BS_OPPONENT1, B_ANIM_SAFARI_REACTION, NULL + end2 + +BattleScript_81D9BC5:: @ 81D9BC5 + printstring STRINGID_THREWROCK + waitmessage 64 + playanimation BS_ATTACKER, B_ANIM_ROCK_THROW, NULL + end2 + +BattleScript_81D9BD3:: @ 81D9BD3 + printstring STRINGID_THREWBAIT + waitmessage 64 + playanimation BS_ATTACKER, B_ANIM_BAIT_THROW, NULL + end2 + +BattleScript_81D9BE1:: @ 81D9BE1 + printstring STRINGID_RETURNMON + waitmessage 64 + returnatktoball + waitstate + trainerslidein BS_TARGET + waitstate + printstring STRINGID_YOUTHROWABALLNOWRIGHT + waitmessage 64 + end2 diff --git a/include/battle_string_ids.h b/include/battle_string_ids.h index f3c017b87..c646b2ebf 100644 --- a/include/battle_string_ids.h +++ b/include/battle_string_ids.h @@ -283,13 +283,13 @@ #define STRINGID_PKMNTURNEDAWAY 280 #define STRINGID_PKMNPRETENDNOTNOTICE 281 #define STRINGID_ENEMYABOUTTOSWITCHPKMN 282 -#define STRINGID_CREPTCLOSER 283 -#define STRINGID_CANTGETCLOSER 284 +#define STRINGID_THREWROCK 283 +#define STRINGID_THREWBAIT 284 #define STRINGID_PKMNWATCHINGCAREFULLY 285 -#define STRINGID_PKMNCURIOUSABOUTX 286 -#define STRINGID_PKMNENTHRALLEDBYX 287 -#define STRINGID_PKMNIGNOREDX 288 -#define STRINGID_THREWPOKEBLOCKATPKMN 289 +#define STRINGID_PKMNANGRY 286 +#define STRINGID_PKMNEATING 287 +#define STRINGID_DUMMY288 288 +#define STRINGID_DUMMY289 289 #define STRINGID_OUTOFSAFARIBALLS 290 #define STRINGID_PKMNSITEMCUREDPARALYSIS 291 #define STRINGID_PKMNSITEMCUREDPOISON 292 diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index b9b176956..962cad668 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -351,7 +351,7 @@ #define B_ANIM_STATS_CHANGE 0x1 #define B_ANIM_SUBSTITUTE_FADE 0x2 #define B_ANIM_SUBSTITUTE_APPEAR 0x3 -#define B_ANIM_POKEBLOCK_THROW 0x4 +#define B_ANIM_BAIT_THROW 0x4 #define B_ANIM_ITEM_KNOCKOFF 0x5 #define B_ANIM_TURN_TRAP 0x6 #define B_ANIM_ITEM_EFFECT 0x7 @@ -373,6 +373,8 @@ #define B_ANIM_MON_SCARED 0x17 #define B_ANIM_GHOST_GET_OUT 0x18 #define B_ANIM_SILPH_SCOPED 0x19 +#define B_ANIM_ROCK_THROW 0x1A +#define B_ANIM_SAFARI_REACTION 0x1B // special animations table #define B_ANIM_LVL_UP 0x0 From 629cb532d8886ba5874b137cab6f148e29a1e753 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 15:05:04 -0500 Subject: [PATCH 12/21] Update macros for battle_scripts_2 --- asm/macros/battle_script.inc | 2 +- data/battle_scripts_2.s | 11 +++++------ include/battle_string_ids.h | 2 +- include/constants/battle_script_commands.h | 2 +- src/battle_script_commands.c | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 8f223f791..5de053b8c 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1292,7 +1292,7 @@ various \battler, VARIOUS_RETURN_OPPONENT_MON2 .endm - .macro various11 battler:req + .macro checkpokeflute battler:req various \battler, 11 .endm diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index cb89649b5..305e7f252 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -18,7 +18,6 @@ .section script_data, "aw", %progbits .align 2 - gBattlescriptsForBallThrow:: @ 81D99B4 .4byte BattleScript_81D9A14 .4byte BattleScript_81D9A14 @@ -53,13 +52,13 @@ gBattlescriptsForSafariActions:: @ 81D9A08 .4byte BattleScript_81D9BE1 BattleScript_81D9A14:: @ 81D9A14 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_OLD_MAN_TUTORIAL, BattleScript_81D9A34 - jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_POKEDUDE, BattleScript_81D9A38 + jumpifbattletype BATTLE_TYPE_OLD_MAN_TUTORIAL, BattleScript_81D9A34 + jumpifbattletype BATTLE_TYPE_POKEDUDE, BattleScript_81D9A38 printstring STRINGID_PLAYERUSEDITEM handleballthrow BattleScript_81D9A34:: @ 81D9A34 - printstring STRINGID_WALLYUSEDITEM + printstring STRINGID_OLDMANUSEDITEM handleballthrow BattleScript_81D9A38:: @ 81D9A38 @@ -106,7 +105,7 @@ gUnknown_81D9A88:: @ 81D9A88 BattleScript_ShakeBallThrow:: @ 81D9A93 printfromtable gBallEscapeStringIds waitmessage 64 - jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_81D9AC0 + jumpifnotbattletype BATTLE_TYPE_SAFARI, BattleScript_81D9AC0 jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0, BattleScript_81D9AC0 printstring STRINGID_OUTOFSAFARIBALLS waitmessage 64 @@ -191,7 +190,7 @@ BattleScript_81D9B7C:: @ 81D9B7C finishturn BattleScript_81D9B86:: @ 81D9B86 - various11 BS_ATTACKER + checkpokeflute BS_ATTACKER jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_81D9B9F printstring STRINGID_POKEFLUTECATCHY waitmessage 64 diff --git a/include/battle_string_ids.h b/include/battle_string_ids.h index c646b2ebf..155e9f7bf 100644 --- a/include/battle_string_ids.h +++ b/include/battle_string_ids.h @@ -258,7 +258,7 @@ #define STRINGID_NOPPLEFT 255 #define STRINGID_BUTNOPPLEFT 256 #define STRINGID_PLAYERUSEDITEM 257 -#define STRINGID_WALLYUSEDITEM 258 +#define STRINGID_OLDMANUSEDITEM 258 #define STRINGID_TRAINERBLOCKEDBALL 259 #define STRINGID_DONTBEATHIEF 260 #define STRINGID_ITDODGEDBALL 261 diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index cbe3a8209..49ecfeafa 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -74,7 +74,7 @@ #define VARIOUS_CASE_8 8 #define VARIOUS_RETURN_OPPONENT_MON1 9 #define VARIOUS_RETURN_OPPONENT_MON2 10 -#define VARIOUS_CASE_11 11 +#define VARIOUS_CHECK_POKEFLUTE 11 #define VARIOUS_WAIT_FANFARE 12 // atk80, dmg manipulation diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 8442ebfc5..d8ea3cdc7 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6183,7 +6183,7 @@ static void atk76_various(void) } } break; - case VARIOUS_CASE_11: + case VARIOUS_CHECK_POKEFLUTE: gBattleCommunication[MULTISTRING_CHOOSER] = 0; monToCheck = 0; for (i = 0; i < gBattlersCount; ++i) From d97eb6353d7f21c28983642dc94033e04bfb488b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 15:52:58 -0500 Subject: [PATCH 13/21] Sync battle script documentation with Emerald, 1 --- data/battle_scripts_1.s | 2337 ++++++++++---------- include/constants/battle.h | 4 +- include/constants/battle_script_commands.h | 7 +- src/battle_main.c | 2 +- src/battle_script_commands.c | 10 +- 5 files changed, 1183 insertions(+), 1177 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 22cb8e7e6..5ef182b53 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -18,7 +18,7 @@ .section script_data, "aw", %progbits .align 2 -gBattleScriptsForMoveEffects:: @ 81D65A8 +gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit .4byte BattleScript_EffectSleep .4byte BattleScript_EffectPoisonHit @@ -57,7 +57,7 @@ gBattleScriptsForMoveEffects:: @ 81D65A8 .4byte BattleScript_EffectLightScreen .4byte BattleScript_EffectTriAttack .4byte BattleScript_EffectRest - .4byte BattleScript_EffectOhko + .4byte BattleScript_EffectOHKO .4byte BattleScript_EffectRazorWind .4byte BattleScript_EffectSuperFang .4byte BattleScript_EffectDragonRage @@ -234,24 +234,24 @@ gBattleScriptsForMoveEffects:: @ 81D65A8 .4byte BattleScript_EffectDragonDance .4byte BattleScript_EffectCamouflage -BattleScript_EffectHit:: @ 81D6900 - jumpifnotmove MOVE_SURF, BattleScript_81D6926 - jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_81D6926 +BattleScript_EffectHit:: + jumpifnotmove MOVE_SURF, BattleScript_HitFromAtkCanceler + jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_HitFromAtkCanceler orword gHitMarker, HITMARKER_IGNORE_UNDERWATER setbyte sDMG_MULTIPLIER, 2 -BattleScript_81D6926:: @ 81D6926 +BattleScript_HitFromAtkCanceler:: attackcanceler -BattleScript_81D6927:: @ 81D6927 - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE -BattleScript_81D692E:: @ 81D692E +BattleScript_HitFromAccCheck:: + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE +BattleScript_HitFromAtkString:: attackstring ppreduce -BattleScript_HitFromCritCalc:: @ 81D6930 +BattleScript_HitFromCritCalc:: critcalc damagecalc typecalc adjustnormaldamage -BattleScript_81D6934:: @ 81D6934 +BattleScript_HitFromAtkAnimation:: attackanimation waitanimation effectivenesssound @@ -260,69 +260,69 @@ BattleScript_81D6934:: @ 81D6934 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 resultmessage - waitmessage 64 + waitmessage 0x40 seteffectwithchance tryfaintmon BS_TARGET, 0, NULL -BattleScript_MoveEnd:: @ 81D694E +BattleScript_MoveEnd:: moveendall end -BattleScript_81D6958:: @ 81D6958 +BattleScript_MakeMoveMissed:: orbyte gMoveResultFlags, MOVE_RESULT_MISSED -BattleScript_81D695E:: @ 81D695E +BattleScript_PrintMoveMissed:: attackstring ppreduce -BattleScript_MoveMissedPause:: @ 81D6960 - pause 32 -BattleScript_81D6963:: @ 81D6963 +BattleScript_MoveMissedPause:: + pause 0x20 +BattleScript_MoveMissed:: effectivenesssound resultmessage - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSleep:: @ 81D696D +BattleScript_EffectSleep:: attackcanceler attackstring ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D69B0 - jumpifcantmakeasleep BattleScript_81D69CC - jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_AlreadyAsleep + jumpifcantmakeasleep BattleScript_CantMakeAsleep + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_SLEEP seteffectprimary goto BattleScript_MoveEnd -BattleScript_81D69B0:: @ 81D69B0 - pause 32 +BattleScript_AlreadyAsleep:: + pause 0x20 printstring STRINGID_PKMNALREADYASLEEP - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D69BE:: @ 81D69BE - pause 32 +BattleScript_WasntAffected:: + pause 0x20 printstring STRINGID_PKMNWASNTAFFECTED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D69CC:: @ 81D69CC - pause 32 +BattleScript_CantMakeAsleep:: + pause 0x20 printfromtable gUproarAwakeStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectPoisonHit:: @ 81D69DC +BattleScript_EffectPoisonHit:: setmoveeffect MOVE_EFFECT_POISON goto BattleScript_EffectHit -BattleScript_EffectAbsorb:: @ 81D69E7 +BattleScript_EffectAbsorb:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce critcalc @@ -337,105 +337,105 @@ BattleScript_EffectAbsorb:: @ 81D69E7 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 resultmessage - waitmessage 64 + waitmessage 0x40 negativedamage orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE - jumpifability BS_TARGET, ABILITY_LIQUID_OOZE, BattleScript_81D6A23 + jumpifability BS_TARGET, ABILITY_LIQUID_OOZE, BattleScript_AbsorbLiquidOoze setbyte cMULTISTRING_CHOOSER, 0 - goto BattleScript_81D6A2B + goto BattleScript_AbsorbUpdateHp -BattleScript_81D6A23:: @ 81D6A23 +BattleScript_AbsorbLiquidOoze:: manipulatedamage 0 setbyte cMULTISTRING_CHOOSER, 1 -BattleScript_81D6A2B:: @ 81D6A2B +BattleScript_AbsorbUpdateHp:: healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - jumpifmovehadnoeffect BattleScript_81D6A42 + jumpifmovehadnoeffect BattleScript_AbsorbTryFainting printfromtable gLeechSeedDrainStringIds - waitmessage 64 -BattleScript_81D6A42:: @ 81D6A42 + waitmessage 0x40 +BattleScript_AbsorbTryFainting:: tryfaintmon BS_ATTACKER, 0, NULL tryfaintmon BS_TARGET, 0, NULL goto BattleScript_MoveEnd -BattleScript_EffectBurnHit:: @ 81D6A55 +BattleScript_EffectBurnHit:: setmoveeffect MOVE_EFFECT_BURN goto BattleScript_EffectHit -BattleScript_EffectFreezeHit:: @ 81D6A60 +BattleScript_EffectFreezeHit:: setmoveeffect MOVE_EFFECT_FREEZE goto BattleScript_EffectHit -BattleScript_EffectParalyzeHit:: @ 81D6A6B +BattleScript_EffectParalyzeHit:: setmoveeffect MOVE_EFFECT_PARALYSIS goto BattleScript_EffectHit -BattleScript_EffectExplosion:: @ 81D6A76 +BattleScript_EffectExplosion:: attackcanceler attackstring ppreduce faintifabilitynotdamp setatkhptozero waitstate - jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_81D6A91 - call BattleScript_81D6AE7 - goto BattleScript_81D6A93 + jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_ExplosionDoAnimStartLoop + call BattleScript_PreserveMissedBitDoMoveAnim + goto BattleScript_ExplosionLoop -BattleScript_81D6A91:: @ 81D6A91 +BattleScript_ExplosionDoAnimStartLoop:: attackanimation waitanimation -BattleScript_81D6A93:: @ 81D6A93 +BattleScript_ExplosionLoop:: movevaluescleanup critcalc damagecalc typecalc adjustnormaldamage - accuracycheck BattleScript_81D6ACC, ACC_CURR_MOVE + accuracycheck BattleScript_ExplosionMissed, ACC_CURR_MOVE effectivenesssound hitanimation BS_TARGET waitstate healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 resultmessage - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_TARGET, 0, NULL moveendto 16 - jumpifnexttargetvalid BattleScript_81D6A93 + jumpifnexttargetvalid BattleScript_ExplosionLoop tryfaintmon BS_ATTACKER, 0, NULL end -BattleScript_81D6ACC:: @ 81D6ACC +BattleScript_ExplosionMissed:: effectivenesssound resultmessage - waitmessage 64 + waitmessage 0x40 moveendto 16 - jumpifnexttargetvalid BattleScript_81D6A93 + jumpifnexttargetvalid BattleScript_ExplosionLoop tryfaintmon BS_ATTACKER, 0, NULL end -BattleScript_81D6AE7:: @ 81D6AE7 +BattleScript_PreserveMissedBitDoMoveAnim:: bicbyte gMoveResultFlags, MOVE_RESULT_MISSED attackanimation waitanimation orbyte gMoveResultFlags, MOVE_RESULT_MISSED return -BattleScript_EffectDreamEater:: @ 81D6AF6 +BattleScript_EffectDreamEater:: attackcanceler - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6B0B - jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D6B15 -BattleScript_81D6B0B:: @ 81D6B0B + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_DreamEaterNoEffect + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_DreamEaterWorked +BattleScript_DreamEaterNoEffect:: attackstring ppreduce - waitmessage 64 - goto BattleScript_81D69BE + waitmessage 0x40 + goto BattleScript_WasntAffected -BattleScript_81D6B15:: @ 81D6B15 - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE +BattleScript_DreamEaterWorked:: + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce critcalc @@ -450,121 +450,121 @@ BattleScript_81D6B15:: @ 81D6B15 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 resultmessage - waitmessage 64 + waitmessage 0x40 negativedamage orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - jumpifmovehadnoeffect BattleScript_81D6B53 + jumpifmovehadnoeffect BattleScript_DreamEaterTryFaintEnd printstring STRINGID_PKMNDREAMEATEN - waitmessage 64 -BattleScript_81D6B53:: @ 81D6B53 + waitmessage 0x40 +BattleScript_DreamEaterTryFaintEnd:: tryfaintmon BS_TARGET, 0, NULL goto BattleScript_MoveEnd -BattleScript_EffectMirrorMove:: @ 81D6B5F +BattleScript_EffectMirrorMove:: attackcanceler attackstring - pause 64 + pause 0x40 trymirrormove ppreduce orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring STRINGID_MIRRORMOVEFAILED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectAttackUp:: @ 81D6B77 +BattleScript_EffectAttackUp:: setstatchanger STAT_ATK, 1, FALSE - goto BattleScript_81D6B9E + goto BattleScript_EffectStatUp -BattleScript_EffectDefenseUp:: @ 81D6B82 +BattleScript_EffectDefenseUp:: setstatchanger STAT_DEF, 1, FALSE - goto BattleScript_81D6B9E + goto BattleScript_EffectStatUp -BattleScript_EffectSpecialAttackUp:: @ 81D6B8D +BattleScript_EffectSpecialAttackUp:: setstatchanger STAT_SPATK, 1, FALSE - goto BattleScript_81D6B9E + goto BattleScript_EffectStatUp -BattleScript_EffectEvasionUp:: @ 81D6B98 +BattleScript_EffectEvasionUp:: setstatchanger STAT_EVASION, 1, FALSE -BattleScript_81D6B9E:: @ 81D6B9E +BattleScript_EffectStatUp:: attackcanceler -BattleScript_81D6B9F:: @ 81D6B9F +BattleScript_EffectStatUpAfterAtkCanceler:: attackstring ppreduce - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D6BCC - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D6BBA - pause 32 - goto BattleScript_81D6BC4 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_StatUpEnd + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_StatUpAttackAnim + pause 0x20 + goto BattleScript_StatUpPrintString -BattleScript_81D6BBA:: @ 81D6BBA +BattleScript_StatUpAttackAnim:: attackanimation waitanimation -BattleScript_81D6BBC:: @ 81D6BBC +BattleScript_StatUpPrintString:: setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 -BattleScript_81D6BC4:: @ 81D6BC4 +BattleScript_StatUpPrintString:: printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D6BCC:: @ 81D6BCC + waitmessage 0x40 +BattleScript_StatUpEnd:: goto BattleScript_MoveEnd -BattleScript_StatUp:: @ 81D6BD1 +BattleScript_StatUp:: playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds - waitmessage 64 + waitmessage 0x40 return -BattleScript_EffectAttackDown:: @ 81D6BE1 +BattleScript_EffectAttackDown:: setstatchanger STAT_ATK, 1, TRUE - goto BattleScript_81D6C13 + goto BattleScript_EffectStatDown -BattleScript_EffectDefenseDown:: @ 81D6BEC +BattleScript_EffectDefenseDown:: setstatchanger STAT_DEF, 1, TRUE - goto BattleScript_81D6C13 + goto BattleScript_EffectStatDown -BattleScript_EffectSpeedDown:: @ 81D6BF7 +BattleScript_EffectSpeedDown:: setstatchanger STAT_SPEED, 1, TRUE - goto BattleScript_81D6C13 + goto BattleScript_EffectStatDown -BattleScript_EffectAccuracyDown:: @ 81D6C02 +BattleScript_EffectAccuracyDown:: setstatchanger STAT_ACC, 1, TRUE - goto BattleScript_81D6C13 + goto BattleScript_EffectStatDown -BattleScript_EffectEvasionDown:: @ 81D6C0D +BattleScript_EffectEvasionDown:: setstatchanger STAT_EVASION, 1, TRUE -BattleScript_81D6C13:: @ 81D6C13 +BattleScript_EffectStatDown:: attackcanceler - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D7DF0 - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedAtkStringPpReduce + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D6C5D - jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 2, BattleScript_81D6C4B - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 3, BattleScript_81D6C5D - pause 32 - goto BattleScript_81D6C55 + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_StatDownEnd + jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 2, BattleScript_StatDownDoAnim + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 3, BattleScript_StatDownEnd + pause 0x20 + goto BattleScript_StatDownPrintString -BattleScript_81D6C4B:: @ 81D6C4B +BattleScript_StatDownDoAnim:: attackanimation waitanimation setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 -BattleScript_81D6C55:: @ 81D6C55 +BattleScript_StatDownPrintString:: printfromtable gStatDownStringIds - waitmessage 64 -BattleScript_81D6C5D:: @ 81D6C5D + waitmessage 0x40 +BattleScript_StatDownEnd:: goto BattleScript_MoveEnd -BattleScript_StatDown:: @ 81D6C62 +BattleScript_StatDown:: playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatDownStringIds - waitmessage 64 + waitmessage 0x40 return -BattleScript_EffectHaze:: @ 81D6C72 +BattleScript_EffectHaze:: attackcanceler attackstring ppreduce @@ -572,10 +572,10 @@ BattleScript_EffectHaze:: @ 81D6C72 waitanimation normalisebuffs printstring STRINGID_STATCHANGESGONE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectBide:: @ 81D6C83 +BattleScript_EffectBide:: attackcanceler attackstring ppreduce @@ -585,45 +585,46 @@ BattleScript_EffectBide:: @ 81D6C83 setbide goto BattleScript_MoveEnd -BattleScript_EffectRampage:: @ 81D6C97 +BattleScript_EffectRampage:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6CAB + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_EffectRampage2 ppreduce -BattleScript_81D6CAB:: @ 81D6CAB +BattleScript_EffectRampage2:: confuseifrepeatingattackends goto BattleScript_HitFromCritCalc -BattleScript_EffectRoar:: @ 81D6CB1 +BattleScript_EffectRoar:: attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_81D9408 - jumpifstatus3 BS_TARGET, STATUS3_ROOTED, BattleScript_81D8F27 + jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut + jumpifstatus3 BS_TARGET, STATUS3_ROOTED, BattleScript_PrintMonIsRooted accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE forcerandomswitch BattleScript_ButItFailed -BattleScript_EffectMultiHit:: @ 81D6CD9 + +BattleScript_EffectMultiHit:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce setmultihitcounter 0 initmultihitstring setbyte sMULTIHIT_EFFECT, 0 -BattleScript_81D6CEC:: @ 81D6CEC - jumpifhasnohp BS_ATTACKER, BattleScript_81D6D82 - jumpifhasnohp BS_TARGET, BattleScript_81D6D63 - jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D6D0E - jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6D63 -BattleScript_81D6D0E:: @ 81D6D0E +BattleScript_MultiHitLoop:: + jumpifhasnohp BS_ATTACKER, BattleScript_MultiHitEnd + jumpifhasnohp BS_TARGET, BattleScript_MultiHitPrintStrings + jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoMultiHit + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_MultiHitPrintStrings +BattleScript_DoMultiHit:: movevaluescleanup copybyte cEFFECT_CHOOSER, sMULTIHIT_EFFECT critcalc damagecalc typecalc - jumpifmovehadnoeffect BattleScript_81D6D60 + jumpifmovehadnoeffect BattleScript_MultiHitNoMoreHits adjustnormaldamage attackanimation waitanimation @@ -633,32 +634,32 @@ BattleScript_81D6D0E:: @ 81D6D0E healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 printstring STRINGID_EMPTYSTRING3 waitmessage 1 addbyte gBattleScripting + 12, 1 moveendto 16 - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_81D6D63 - decrementmultihit BattleScript_81D6CEC - goto BattleScript_81D6D63 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_MultiHitPrintStrings + decrementmultihit BattleScript_MultiHitLoop + goto BattleScript_MultiHitPrintStrings -BattleScript_81D6D60:: @ 81D6D60 - pause 32 -BattleScript_81D6D63:: @ 81D6D63 +BattleScript_MultiHitNoMoreHits:: + pause 0x20 +BattleScript_MultiHitPrintStrings:: resultmessage - waitmessage 64 - jumpifmovehadnoeffect BattleScript_81D6D82 + waitmessage 0x40 + jumpifmovehadnoeffect BattleScript_MultiHitEnd copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 printstring STRINGID_HITXTIMES - waitmessage 64 -BattleScript_81D6D82:: @ 81D6D82 + waitmessage 0x40 +BattleScript_MultiHitEnd:: seteffectwithchance tryfaintmon BS_TARGET, 0, NULL moveendcase 2 moveendfrom 4 end -BattleScript_EffectConversion:: @ 81D6D9D +BattleScript_EffectConversion:: attackcanceler attackstring ppreduce @@ -666,14 +667,14 @@ BattleScript_EffectConversion:: @ 81D6D9D attackanimation waitanimation printstring STRINGID_PKMNCHANGEDTYPE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectFlinchHit:: @ 81D6DB2 +BattleScript_EffectFlinchHit:: setmoveeffect MOVE_EFFECT_FLINCH goto BattleScript_EffectHit -BattleScript_EffectRestoreHp:: @ 81D6DBD +BattleScript_EffectRestoreHp:: attackcanceler attackstring ppreduce @@ -684,118 +685,118 @@ BattleScript_EffectRestoreHp:: @ 81D6DBD healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNREGAINEDHEALTH - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectToxic:: @ 81D6DE0 +BattleScript_EffectToxic:: attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F + jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41 - jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41 - jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed - jumpiftype BS_TARGET, TYPE_POISON, BattleScript_81D7E04 - jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_81D7E04 + jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_AlreadyPoisoned + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_AlreadyPoisoned + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed + jumpiftype BS_TARGET, TYPE_POISON, BattleScript_NotAffected + jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_NotAffected accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_TOXIC seteffectprimary resultmessage - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D6E41:: @ 81D6E41 - pause 64 +BattleScript_AlreadyPoisoned:: + pause 0x40 printstring STRINGID_PKMNALREADYPOISONED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D6E4F:: @ 81D6E4F +BattleScript_ImmunityProtected:: copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_PSNPrevention goto BattleScript_MoveEnd -BattleScript_EffectPayDay:: @ 81D6E69 +BattleScript_EffectPayDay:: setmoveeffect MOVE_EFFECT_PAYDAY goto BattleScript_EffectHit -BattleScript_EffectLightScreen:: @ 81D6E74 +BattleScript_EffectLightScreen:: attackcanceler attackstring ppreduce setlightscreen - goto BattleScript_81D7172 + goto BattleScript_PrintReflectLightScreenSafeguardString -BattleScript_EffectTriAttack:: @ 81D6E7D +BattleScript_EffectTriAttack:: setmoveeffect MOVE_EFFECT_TRI_ATTACK goto BattleScript_EffectHit -BattleScript_EffectRest:: @ 81D6E88 +BattleScript_EffectRest:: attackcanceler attackstring ppreduce - jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D6EC2 - jumpifcantmakeasleep BattleScript_81D6EB2 + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_RestIsAlreadyAsleep + jumpifcantmakeasleep BattleScript_RestCantSleep trysetrest BattleScript_AlreadyAtFullHp - pause 32 + pause 0x20 printfromtable gRestUsedStringIds - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_ATTACKER waitstate goto BattleScript_PresentHealTarget -BattleScript_81D6EB2:: @ 81D6EB2 - pause 64 +BattleScript_RestCantSleep:: + pause 0x40 printfromtable gUproarAwakeStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D6EC2:: @ 81D6EC2 - pause 32 +BattleScript_RestIsAlreadyAsleep:: + pause 0x20 printstring STRINGID_PKMNALREADYASLEEP2 - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectOhko:: @ 81D6ED0 +BattleScript_EffectOHKO:: attackcanceler attackstring ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON typecalc - jumpifmovehadnoeffect BattleScript_81D6934 - tryKO BattleScript_81D6EF1 + jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation + tryKO BattleScript_KOFail trysetdestinybondtohappen - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_81D6EF1:: @ 81D6EF1 - pause 64 +BattleScript_KOFail:: + pause 0x40 printfromtable gKOFailedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectRazorWind:: @ 81D6F01 - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 - jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 +BattleScript_EffectRazorWind:: + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn setbyte sTWOTURN_STRINGID, 0 - call BattleScript_81D6F58 + call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd -BattleScript_81D6F29:: @ 81D6F29 +BattleScript_TwoTurnMovesSecondTurn:: attackcanceler setmoveeffect MOVE_EFFECT_CHARGING setbyte sB_ANIM_TURN, 1 clearstatusfromeffect BS_ATTACKER orword gHitMarker, HITMARKER_NO_PPDEDUCT - jumpifnotmove MOVE_SKY_ATTACK, BattleScript_81D6927 + jumpifnotmove MOVE_SKY_ATTACK, BattleScript_HitFromAccCheck setmoveeffect MOVE_EFFECT_FLINCH - goto BattleScript_81D6927 + goto BattleScript_HitFromAccCheck -BattleScript_81D6F58:: @ 81D6F58 +BattleScriptFirstChargingTurn:: attackcanceler printstring STRINGID_EMPTYSTRING3 ppreduce @@ -806,63 +807,63 @@ BattleScript_81D6F58:: @ 81D6F58 seteffectprimary copybyte cMULTISTRING_CHOOSER, sTWOTURN_STRINGID printfromtable gFirstTurnOfTwoStringIds - waitmessage 64 + waitmessage 0x40 return -BattleScript_EffectSuperFang:: @ 81D6F82 +BattleScript_EffectSuperFang:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE damagetohalftargethp - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_EffectDragonRage:: @ 81D6F99 +BattleScript_EffectDragonRage:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE setword gBattleMoveDamage, 40 adjustsetdamage - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_EffectTrap:: @ 81D6FC8 - jumpifnotmove MOVE_WHIRLPOOL, BattleScript_81D6FEE - jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_81D6FEE +BattleScript_EffectTrap:: + jumpifnotmove MOVE_WHIRLPOOL, BattleScript_DoWrapEffect + jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_DoWrapEffect orword gHitMarker, HITMARKER_IGNORE_UNDERWATER setbyte sDMG_MULTIPLIER, 2 -BattleScript_81D6FEE:: @ 81D6FEE +BattleScript_DoWrapEffect:: setmoveeffect MOVE_EFFECT_WRAP goto BattleScript_EffectHit -BattleScript_EffectDoubleHit:: @ 81D6FF9 +BattleScript_EffectDoubleHit:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce setmultihitcounter 2 initmultihitstring setbyte sMULTIHIT_EFFECT, 0 - goto BattleScript_81D6CEC + goto BattleScript_MultiHitLoop -BattleScript_EffectRecoilIfMiss:: @ 81D7011 +BattleScript_EffectRecoilIfMiss:: attackcanceler - accuracycheck BattleScript_81D701E, ACC_CURR_MOVE - goto BattleScript_81D692E + accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE + goto BattleScript_HitFromAtkString -BattleScript_81D701E:: @ 81D701E +BattleScript_MoveMissedDoDamage:: attackstring ppreduce - pause 64 + pause 0x40 resultmessage - waitmessage 64 + waitmessage 0x40 jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_MoveEnd printstring STRINGID_PKMNCRASHED - waitmessage 64 + waitmessage 0x40 damagecalc typecalc adjustnormaldamage @@ -875,7 +876,7 @@ BattleScript_81D701E:: @ 81D701E orbyte gMoveResultFlags, MOVE_RESULT_MISSED goto BattleScript_MoveEnd -BattleScript_EffectMist:: @ 81D7062 +BattleScript_EffectMist:: attackcanceler attackstring ppreduce @@ -883,10 +884,10 @@ BattleScript_EffectMist:: @ 81D7062 attackanimation waitanimation printfromtable gMistUsedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectFocusEnergy:: @ 81D7075 +BattleScript_EffectFocusEnergy:: attackcanceler attackstring ppreduce @@ -895,59 +896,59 @@ BattleScript_EffectFocusEnergy:: @ 81D7075 attackanimation waitanimation printfromtable gFocusEnergyUsedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectRecoil:: @ 81D7092 +BattleScript_EffectRecoil:: setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit incrementgamestat GAME_STAT_USED_STRUGGLE goto BattleScript_EffectHit -BattleScript_EffectConfuse:: @ 81D70AB +BattleScript_EffectConfuse:: attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D70EA + jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_AlreadyConfused accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary resultmessage - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D70EA:: @ 81D70EA - pause 32 +BattleScript_AlreadyConfused:: + pause 0x20 printstring STRINGID_PKMNALREADYCONFUSED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectAttackUp2:: @ 81D70F8 +BattleScript_EffectAttackUp2:: setstatchanger STAT_ATK, 2, FALSE - goto BattleScript_81D6B9E + goto BattleScript_EffectStatUp -BattleScript_EffectDefenseUp2:: @ 81D7103 +BattleScript_EffectDefenseUp2:: setstatchanger STAT_DEF, 2, FALSE - goto BattleScript_81D6B9E + goto BattleScript_EffectStatUp -BattleScript_EffectSpeedUp2:: @ 81D710E +BattleScript_EffectSpeedUp2:: setstatchanger STAT_SPEED, 2, FALSE - goto BattleScript_81D6B9E + goto BattleScript_EffectStatUp -BattleScript_EffectSpecialAttackUp2:: @ 81D7119 +BattleScript_EffectSpecialAttackUp2:: setstatchanger STAT_SPATK, 2, FALSE - goto BattleScript_81D6B9E + goto BattleScript_EffectStatUp -BattleScript_EffectSpecialDefenseUp2:: @ 81D7124 +BattleScript_EffectSpecialDefenseUp2:: setstatchanger STAT_SPDEF, 2, FALSE - goto BattleScript_81D6B9E + goto BattleScript_EffectStatUp -BattleScript_EffectTransform:: @ 81D712F +BattleScript_EffectTransform:: attackcanceler attackstring ppreduce @@ -955,187 +956,187 @@ BattleScript_EffectTransform:: @ 81D712F attackanimation waitanimation printfromtable gTransformUsedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectAttackDown2:: @ 81D7142 +BattleScript_EffectAttackDown2:: setstatchanger STAT_ATK, 2, TRUE - goto BattleScript_81D6C13 + goto BattleScript_EffectStatDown -BattleScript_EffectDefenseDown2:: @ 81D714D +BattleScript_EffectDefenseDown2:: setstatchanger STAT_DEF, 2, TRUE - goto BattleScript_81D6C13 + goto BattleScript_EffectStatDown -BattleScript_EffectSpeedDown2:: @ 81D7158 +BattleScript_EffectSpeedDown2:: setstatchanger STAT_SPEED, 2, TRUE - goto BattleScript_81D6C13 + goto BattleScript_EffectStatDown -BattleScript_EffectSpecialDefenseDown2:: @ 81D7163 +BattleScript_EffectSpecialDefenseDown2:: setstatchanger STAT_SPDEF, 2, TRUE - goto BattleScript_81D6C13 + goto BattleScript_EffectStatDown -BattleScript_EffectReflect:: @ 81D716E +BattleScript_EffectReflect:: attackcanceler attackstring ppreduce setreflect -BattleScript_81D7172:: @ 81D7172 +BattleScript_PrintReflectLightScreenSafeguardString:: attackanimation waitanimation printfromtable gReflectLightScreenSafeguardStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectPoison:: @ 81D7181 +BattleScript_EffectPoison:: attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_81D6E4F + jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_81D6E41 - jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_81D6E41 - jumpiftype BS_TARGET, TYPE_POISON, BattleScript_81D7E04 - jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_81D7E04 - jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_AlreadyPoisoned + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_AlreadyPoisoned + jumpiftype BS_TARGET, TYPE_POISON, BattleScript_NotAffected + jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_NotAffected + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_POISON seteffectprimary resultmessage - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectParalyze:: @ 81D71E2 +BattleScript_EffectParalyze:: attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_81D7245 + jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_LimberProtected jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed typecalc jumpifmovehadnoeffect BattleScript_ButItFailed - jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D7237 - jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_AlreadyParalyzed + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_PARALYSIS seteffectprimary resultmessage - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D7237:: @ 81D7237 - pause 32 +BattleScript_AlreadyParalyzed:: + pause 0x20 printstring STRINGID_PKMNISALREADYPARALYZED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D7245:: @ 81D7245 +BattleScript_LimberProtected:: copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_PRLZPrevention goto BattleScript_MoveEnd -BattleScript_EffectAttackDownHit:: @ 81D725F +BattleScript_EffectAttackDownHit:: setmoveeffect MOVE_EFFECT_ATK_MINUS_1 goto BattleScript_EffectHit -BattleScript_EffectDefenseDownHit:: @ 81D726A +BattleScript_EffectDefenseDownHit:: setmoveeffect MOVE_EFFECT_DEF_MINUS_1 goto BattleScript_EffectHit -BattleScript_EffectSpeedDownHit:: @ 81D7275 +BattleScript_EffectSpeedDownHit:: setmoveeffect MOVE_EFFECT_SPD_MINUS_1 goto BattleScript_EffectHit -BattleScript_EffectSpecialAttackDownHit:: @ 81D7280 +BattleScript_EffectSpecialAttackDownHit:: setmoveeffect MOVE_EFFECT_SP_ATK_MINUS_1 goto BattleScript_EffectHit -BattleScript_EffectSpecialDefenseDownHit:: @ 81D728B +BattleScript_EffectSpecialDefenseDownHit:: setmoveeffect MOVE_EFFECT_SP_DEF_MINUS_1 goto BattleScript_EffectHit -BattleScript_EffectAccuracyDownHit:: @ 81D7296 +BattleScript_EffectAccuracyDownHit:: setmoveeffect MOVE_EFFECT_ACC_MINUS_1 goto BattleScript_EffectHit -BattleScript_EffectSkyAttack:: @ 81D72A1 - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 - jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 +BattleScript_EffectSkyAttack:: + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn setbyte sTWOTURN_STRINGID, 3 - call BattleScript_81D6F58 + call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd -BattleScript_EffectConfuseHit:: @ 81D72C9 +BattleScript_EffectConfuseHit:: setmoveeffect MOVE_EFFECT_CONFUSION goto BattleScript_EffectHit -BattleScript_EffectTwineedle:: @ 81D72D4 +BattleScript_EffectTwineedle:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE - setbyte sMULTIHIT_EFFECT, 2 + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + setbyte sMULTIHIT_EFFECT, MOVE_EFFECT_POISON attackstring ppreduce setmultihitcounter 2 initmultihitstring - goto BattleScript_81D6CEC + goto BattleScript_MultiHitLoop -BattleScript_EffectSubstitute:: @ 81D72EC +BattleScript_EffectSubstitute:: attackcanceler ppreduce attackstring waitstate - jumpifstatus2 BS_ATTACKER, STATUS2_SUBSTITUTE, BattleScript_81D7321 + jumpifstatus2 BS_ATTACKER, STATUS2_SUBSTITUTE, BattleScript_AlreadyHasSubstitute setsubstitute - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_81D730E - pause 32 - goto BattleScript_81D7314 + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_SubstituteAnim + pause 0x20 + goto BattleScript_SubstituteString -BattleScript_81D730E:: @ 81D730E +BattleScript_SubstituteAnim:: attackanimation waitanimation healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER -BattleScript_81D7314:: @ 81D7314 +BattleScript_SubstituteString:: printfromtable gSubsituteUsedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D7321:: @ 81D7321 - pause 32 +BattleScript_AlreadyHasSubstitute:: + pause 0x20 printstring STRINGID_PKMNHASSUBSTITUTE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectRecharge:: @ 81D732F +BattleScript_EffectRecharge:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE setmoveeffect MOVE_EFFECT_RECHARGE | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - goto BattleScript_81D692E + goto BattleScript_HitFromAtkString -BattleScript_MoveUsedMustRecharge:: @ 81D7342 +BattleScript_MoveUsedMustRecharge:: printstring STRINGID_PKMNMUSTRECHARGE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectRage:: @ 81D734D +BattleScript_EffectRage:: attackcanceler - accuracycheck BattleScript_81D7367, ACC_CURR_MOVE + accuracycheck BattleScript_RageMiss, ACC_CURR_MOVE setmoveeffect MOVE_EFFECT_RAGE seteffectprimary - setmoveeffect MOVE_EFFECT_NOTHING_0 - goto BattleScript_81D692E + setmoveeffect 0 + goto BattleScript_HitFromAtkString -BattleScript_81D7367:: @ 81D7367 +BattleScript_RageMiss:: setmoveeffect MOVE_EFFECT_RAGE clearstatusfromeffect BS_ATTACKER - goto BattleScript_81D695E + goto BattleScript_PrintMoveMissed -BattleScript_EffectMimic:: @ 81D7374 +BattleScript_EffectMimic:: attackcanceler attackstring ppreduce @@ -1145,34 +1146,34 @@ BattleScript_EffectMimic:: @ 81D7374 attackanimation waitanimation printstring STRINGID_PKMNLEARNEDMOVE2 - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectMetronome:: @ 81D739A +BattleScript_EffectMetronome:: attackcanceler attackstring - pause 32 + pause 0x20 attackanimation waitanimation setbyte sB_ANIM_TURN, 0 setbyte sB_ANIM_TARGETS_HIT, 0 metronome -BattleScript_EffectLeechSeed:: @ 81D73AE +BattleScript_EffectLeechSeed:: attackcanceler attackstring - pause 32 + pause 0x20 ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - accuracycheck BattleScript_81D73C5, ACC_CURR_MOVE -BattleScript_81D73C5:: @ 81D73C5 + accuracycheck BattleScript_DoLeechSeed, ACC_CURR_MOVE +BattleScript_DoLeechSeed:: setseeded attackanimation waitanimation printfromtable gLeechSeedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSplash:: @ 81D73D5 +BattleScript_EffectSplash:: attackcanceler attackstring ppreduce @@ -1180,10 +1181,10 @@ BattleScript_EffectSplash:: @ 81D73D5 waitanimation incrementgamestat GAME_STAT_USED_SPLASH printstring STRINGID_BUTNOTHINGHAPPENED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectDisable:: @ 81D73E7 +BattleScript_EffectDisable:: attackcanceler attackstring ppreduce @@ -1192,54 +1193,54 @@ BattleScript_EffectDisable:: @ 81D73E7 attackanimation waitanimation printstring STRINGID_PKMNMOVEWASDISABLED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectLevelDamage:: @ 81D7403 +BattleScript_EffectLevelDamage:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE dmgtolevel adjustsetdamage - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_EffectPsywave:: @ 81D741B +BattleScript_EffectPsywave:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE psywavedamageeffect adjustsetdamage - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_EffectCounter:: @ 81D7433 +BattleScript_EffectCounter:: attackcanceler - counterdamagecalculator BattleScript_81D7DF0 - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + counterdamagecalculator BattleScript_ButItFailedAtkStringPpReduce + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc2 adjustsetdamage - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_EffectEncore:: @ 81D7449 +BattleScript_EffectEncore:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce trysetencore BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNGOTENCORE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectPainSplit:: @ 81D7465 +BattleScript_EffectPainSplit:: attackcanceler attackstring ppreduce @@ -1250,33 +1251,33 @@ BattleScript_EffectPainSplit:: @ 81D7465 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - copyword gBattleMoveDamage, gBattleScripting + copyword gBattleMoveDamage, sPAINSPLIT_HP healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_SHAREDPAIN - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSnore:: @ 81D749C +BattleScript_EffectSnore:: attackcanceler - jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D74AE + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_SnoreIsAsleep attackstring ppreduce goto BattleScript_ButItFailed -BattleScript_81D74AE:: @ 81D74AE - jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D74C2 +BattleScript_SnoreIsAsleep:: + jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoSnore printstring STRINGID_PKMNFASTASLEEP - waitmessage 64 + waitmessage 0x40 statusanimation BS_ATTACKER -BattleScript_81D74C2:: @ 81D74C2 +BattleScript_DoSnore:: attackstring ppreduce accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE setmoveeffect MOVE_EFFECT_FLINCH goto BattleScript_HitFromCritCalc -BattleScript_EffectConversion2:: @ 81D74D6 +BattleScript_EffectConversion2:: attackcanceler attackstring ppreduce @@ -1284,10 +1285,10 @@ BattleScript_EffectConversion2:: @ 81D74D6 attackanimation waitanimation printstring STRINGID_PKMNCHANGEDTYPE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectLockOn:: @ 81D74EB +BattleScript_EffectLockOn:: attackcanceler attackstring ppreduce @@ -1297,10 +1298,10 @@ BattleScript_EffectLockOn:: @ 81D74EB attackanimation waitanimation printstring STRINGID_PKMNTOOKAIM - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSketch:: @ 81D750D +BattleScript_EffectSketch:: attackcanceler attackstring ppreduce @@ -1309,34 +1310,34 @@ BattleScript_EffectSketch:: @ 81D750D attackanimation waitanimation printstring STRINGID_PKMNSKETCHEDMOVE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSleepTalk:: @ 81D752C +BattleScript_EffectSleepTalk:: attackcanceler jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D753E attackstring ppreduce goto BattleScript_ButItFailed -BattleScript_81D753E:: @ 81D753E +BattleScript_81D753E:: printstring STRINGID_PKMNFASTASLEEP - waitmessage 64 + waitmessage 0x40 statusanimation BS_ATTACKER attackstring ppreduce orword gHitMarker, HITMARKER_NO_PPDEDUCT trychoosesleeptalkmove BattleScript_81D755E - pause 64 + pause 0x40 goto BattleScript_ButItFailed -BattleScript_81D755E:: @ 81D755E +BattleScript_81D755E:: attackanimation waitanimation setbyte sB_ANIM_TURN, 0 setbyte sB_ANIM_TARGETS_HIT, 0 jumptocalledmove 1 -BattleScript_EffectDestinyBond:: @ 81D756E +BattleScript_EffectDestinyBond:: attackcanceler attackstring ppreduce @@ -1344,14 +1345,14 @@ BattleScript_EffectDestinyBond:: @ 81D756E attackanimation waitanimation printstring STRINGID_PKMNTRYINGTOTAKEFOE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectFlail:: @ 81D757F +BattleScript_EffectFlail:: remaininghptopower goto BattleScript_EffectHit -BattleScript_EffectSpite:: @ 81D7585 +BattleScript_EffectSpite:: attackcanceler attackstring ppreduce @@ -1360,10 +1361,10 @@ BattleScript_EffectSpite:: @ 81D7585 attackanimation waitanimation printstring STRINGID_PKMNREDUCEDPP - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectHealBell:: @ 81D75A1 +BattleScript_EffectHealBell:: attackcanceler attackstring ppreduce @@ -1372,21 +1373,21 @@ BattleScript_EffectHealBell:: @ 81D75A1 attackanimation waitanimation printfromtable gPartyStatusHealStringIds - waitmessage 64 + waitmessage 0x40 jumpifnotmove MOVE_HEAL_BELL, BattleScript_81D75DE jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 1, BattleScript_81D75CD printstring STRINGID_PKMNSXBLOCKSY - waitmessage 64 -BattleScript_81D75CD:: @ 81D75CD + waitmessage 0x40 +BattleScript_81D75CD:: jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 2, BattleScript_81D75DE printstring STRINGID_PKMNSXBLOCKSY2 - waitmessage 64 -BattleScript_81D75DE:: @ 81D75DE + waitmessage 0x40 +BattleScript_81D75DE:: updatestatusicon BS_ATTACKER_WITH_PARTNER waitstate goto BattleScript_MoveEnd -BattleScript_EffectTripleKick:: @ 81D75E6 +BattleScript_EffectTripleKick:: attackcanceler attackstring ppreduce @@ -1394,12 +1395,12 @@ BattleScript_EffectTripleKick:: @ 81D75E6 setbyte gBattleScripting + 19, 0 initmultihitstring setmultihit 3 -BattleScript_81D75F8:: @ 81D75F8 +BattleScript_81D75F8:: jumpifhasnohp BS_ATTACKER, BattleScript_81D76B7 jumpifhasnohp BS_TARGET, BattleScript_81D7679 jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D761A jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D7679 -BattleScript_81D761A:: @ 81D761A +BattleScript_81D761A:: accuracycheck BattleScript_81D7679, ACC_CURR_MOVE movevaluescleanup addbyte sTRIPLE_KICK_POWER, 10 @@ -1418,7 +1419,7 @@ BattleScript_81D761A:: @ 81D761A healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 printstring STRINGID_EMPTYSTRING3 waitmessage 1 moveendto 16 @@ -1426,29 +1427,29 @@ BattleScript_81D761A:: @ 81D761A decrementmultihit BattleScript_81D75F8 goto BattleScript_81D768D -BattleScript_81D7679:: @ 81D7679 - pause 32 +BattleScript_81D7679:: + pause 0x20 jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_81D768D bicbyte gMoveResultFlags, MOVE_RESULT_MISSED -BattleScript_81D768D:: @ 81D768D +BattleScript_81D768D:: resultmessage - waitmessage 64 + waitmessage 0x40 jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_81D76B7 jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_81D76B7 copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 printstring STRINGID_HITXTIMES - waitmessage 64 -BattleScript_81D76B7:: @ 81D76B7 + waitmessage 0x40 +BattleScript_81D76B7:: seteffectwithchance tryfaintmon BS_TARGET, 0, NULL moveendfrom 14 end -BattleScript_EffectThief:: @ 81D76C9 +BattleScript_EffectThief:: setmoveeffect MOVE_EFFECT_STEAL_ITEM goto BattleScript_EffectHit -BattleScript_EffectMeanLook:: @ 81D76D4 +BattleScript_EffectMeanLook:: attackcanceler attackstring ppreduce @@ -1460,10 +1461,10 @@ BattleScript_EffectMeanLook:: @ 81D76D4 setmoveeffect MOVE_EFFECT_PREVENT_ESCAPE seteffectprimary printstring STRINGID_TARGETCANTESCAPENOW - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectNightmare:: @ 81D7706 +BattleScript_EffectNightmare:: attackcanceler attackstring ppreduce @@ -1472,22 +1473,22 @@ BattleScript_EffectNightmare:: @ 81D7706 jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D772C goto BattleScript_ButItFailed -BattleScript_81D772C:: @ 81D772C +BattleScript_81D772C:: attackanimation waitanimation setmoveeffect MOVE_EFFECT_NIGHTMARE seteffectprimary printstring STRINGID_PKMNFELLINTONIGHTMARE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectMinimize:: @ 81D7740 +BattleScript_EffectMinimize:: attackcanceler setminimize setstatchanger STAT_EVASION, 1, FALSE - goto BattleScript_81D6B9F + goto BattleScript_EffectStatUpAfterAtkCanceler -BattleScript_EffectCurse:: @ 81D774D +BattleScript_EffectCurse:: jumpiftype2 BS_ATTACKER, TYPE_GHOST, BattleScript_81D77C5 attackcanceler attackstring @@ -1495,7 +1496,7 @@ BattleScript_EffectCurse:: @ 81D774D jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0, BattleScript_81D7772 jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 12, BattleScript_81D7772 jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_ButItFailed -BattleScript_81D7772:: @ 81D7772 +BattleScript_81D7772:: copybyte gBattlerTarget, gBattlerAttacker setbyte sB_ANIM_TURN, 1 attackanimation @@ -1503,24 +1504,24 @@ BattleScript_81D7772:: @ 81D7772 setstatchanger STAT_SPEED, 1, TRUE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7798 printfromtable gStatDownStringIds - waitmessage 64 -BattleScript_81D7798:: @ 81D7798 + waitmessage 0x40 +BattleScript_81D7798:: setstatchanger STAT_ATK, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D77AC printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D77AC:: @ 81D77AC + waitmessage 0x40 +BattleScript_81D77AC:: setstatchanger STAT_DEF, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D77C0 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D77C0:: @ 81D77C0 + waitmessage 0x40 +BattleScript_81D77C0:: goto BattleScript_MoveEnd -BattleScript_81D77C5:: @ 81D77C5 +BattleScript_81D77C5:: jumpifbytenotequal gBattlerAttacker, gBattlerTarget, BattleScript_81D77D6 getmovetarget BS_ATTACKER -BattleScript_81D77D6:: @ 81D77D6 +BattleScript_81D77D6:: attackcanceler attackstring ppreduce @@ -1534,11 +1535,11 @@ BattleScript_81D77D6:: @ 81D77D6 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNLAIDCURSE - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd -BattleScript_EffectProtect:: @ 81D7816 +BattleScript_EffectProtect:: attackcanceler attackstring ppreduce @@ -1546,33 +1547,33 @@ BattleScript_EffectProtect:: @ 81D7816 attackanimation waitanimation printfromtable gProtectLikeUsedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSpikes:: @ 81D7829 +BattleScript_EffectSpikes:: attackcanceler - trysetspikes BattleScript_81D7DF0 + trysetspikes BattleScript_ButItFailedAtkStringPpReduce attackstring ppreduce attackanimation waitanimation printstring STRINGID_SPIKESSCATTERED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectForesight:: @ 81D783E +BattleScript_EffectForesight:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce setforesight attackanimation waitanimation printstring STRINGID_PKMNIDENTIFIED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectPerishSong:: @ 81D7856 +BattleScript_EffectPerishSong:: attackcanceler attackstring ppreduce @@ -1580,43 +1581,43 @@ BattleScript_EffectPerishSong:: @ 81D7856 attackanimation waitanimation printstring STRINGID_FAINTINTHREE - waitmessage 64 + waitmessage 0x40 setbyte sBATTLER, 0 -BattleScript_81D786C:: @ 81D786C +BattleScript_81D786C:: jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_81D788C -BattleScript_81D7873:: @ 81D7873 +BattleScript_81D7873:: addbyte sBATTLER, 1 jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_81D786C goto BattleScript_MoveEnd -BattleScript_81D788C:: @ 81D788C +BattleScript_81D788C:: printstring STRINGID_PKMNSXBLOCKSY2 - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D7873 -BattleScript_EffectSandstorm:: @ 81D7897 +BattleScript_EffectSandstorm:: attackcanceler attackstring ppreduce setsandstorm goto BattleScript_81D7A14 -BattleScript_EffectRollout:: @ 81D78A0 +BattleScript_EffectRollout:: attackcanceler attackstring jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D78AD ppreduce -BattleScript_81D78AD:: @ 81D78AD +BattleScript_81D78AD:: accuracycheck BattleScript_81D78B4, ACC_CURR_MOVE -BattleScript_81D78B4:: @ 81D78B4 +BattleScript_81D78B4:: typecalc2 rolloutdamagecalculation goto BattleScript_HitFromCritCalc -BattleScript_EffectSwagger:: @ 81D78BB +BattleScript_EffectSwagger:: attackcanceler - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958 - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce jumpifconfusedandstatmaxed 1, BattleScript_ButItFailed @@ -1628,29 +1629,29 @@ BattleScript_EffectSwagger:: @ 81D78BB setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D78FE:: @ 81D78FE - jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 + waitmessage 0x40 +BattleScript_81D78FE:: + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd -BattleScript_EffectFuryCutter:: @ 81D7919 +BattleScript_EffectFuryCutter:: attackcanceler attackstring ppreduce accuracycheck BattleScript_81D7923, ACC_CURR_MOVE -BattleScript_81D7923:: @ 81D7923 +BattleScript_81D7923:: furycuttercalc critcalc damagecalc typecalc jumpifmovehadnoeffect BattleScript_81D7923 adjustnormaldamage - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_EffectAttract:: @ 81D7938 +BattleScript_EffectAttract:: attackcanceler attackstring ppreduce @@ -1659,52 +1660,52 @@ BattleScript_EffectAttract:: @ 81D7938 attackanimation waitanimation printstring STRINGID_PKMNFELLINLOVE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectReturn:: @ 81D7954 +BattleScript_EffectReturn:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE happinesstodamagecalculation - goto BattleScript_81D692E + goto BattleScript_HitFromAtkString -BattleScript_EffectPresent:: @ 81D7962 +BattleScript_EffectPresent:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc presentdamagecalculation -BattleScript_EffectSafeguard:: @ 81D796E +BattleScript_EffectSafeguard:: attackcanceler attackstring ppreduce setsafeguard - goto BattleScript_81D7172 + goto BattleScript_PrintReflectLightScreenSafeguardString -BattleScript_EffectThawHit:: @ 81D7977 +BattleScript_EffectThawHit:: setmoveeffect MOVE_EFFECT_BURN goto BattleScript_EffectHit -BattleScript_EffectMagnitude:: @ 81D7982 +BattleScript_EffectMagnitude:: attackcanceler attackstring ppreduce selectfirstvalidtarget magnitudedamagecalculation - pause 32 + pause 0x20 printstring STRINGID_MAGNITUDESTRENGTH - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D7B17 -BattleScript_EffectBatonPass:: @ 81D7995 +BattleScript_EffectBatonPass:: attackcanceler attackstring ppreduce - jumpifcantswitch BS_ATTACKER | 0x80, BattleScript_ButItFailed + jumpifcantswitch BS_ATTACKER | ATK4F_DONT_CHECK_STATUSES, BattleScript_ButItFailed attackanimation waitanimation - openpartyscreen 1, BattleScript_ButItFailed + openpartyscreen BS_ATTACKER, BattleScript_ButItFailed switchoutabilities BS_ATTACKER waitstate switchhandleorder BS_ATTACKER, 2 @@ -1718,66 +1719,66 @@ BattleScript_EffectBatonPass:: @ 81D7995 switchineffects BS_ATTACKER goto BattleScript_MoveEnd -BattleScript_EffectRapidSpin:: @ 81D79C2 +BattleScript_EffectRapidSpin:: setmoveeffect MOVE_EFFECT_RAPIDSPIN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit -BattleScript_EffectSonicboom:: @ 81D79CD +BattleScript_EffectSonicboom:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE setword gBattleMoveDamage, 20 adjustsetdamage - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_EffectMorningSun:: @ 81D79FC +BattleScript_EffectMorningSun:: attackcanceler attackstring ppreduce recoverbasedonsunlight BattleScript_AlreadyAtFullHp goto BattleScript_PresentHealTarget -BattleScript_EffectHiddenPower:: @ 81D7A09 +BattleScript_EffectHiddenPower:: attackcanceler hiddenpowercalc - goto BattleScript_81D6927 + goto BattleScript_HitFromAccCheck -BattleScript_EffectRainDance:: @ 81D7A10 +BattleScript_EffectRainDance:: attackcanceler attackstring ppreduce setrain -BattleScript_81D7A14:: @ 81D7A14 +BattleScript_81D7A14:: attackanimation waitanimation printfromtable gMoveWeatherChangeStringIds - waitmessage 64 + waitmessage 0x40 call BattleScript_81D92DC goto BattleScript_MoveEnd -BattleScript_EffectSunnyDay:: @ 81D7A28 +BattleScript_EffectSunnyDay:: attackcanceler attackstring ppreduce setsunny goto BattleScript_81D7A14 -BattleScript_EffectDefenseUpHit:: @ 81D7A31 +BattleScript_EffectDefenseUpHit:: setmoveeffect MOVE_EFFECT_DEF_PLUS_1 | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit -BattleScript_EffectAttackUpHit:: @ 81D7A3C +BattleScript_EffectAttackUpHit:: setmoveeffect MOVE_EFFECT_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit -BattleScript_EffectAllStatsUpHit:: @ 81D7A47 +BattleScript_EffectAllStatsUpHit:: setmoveeffect MOVE_EFFECT_ALL_STATS_UP | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit -BattleScript_EffectBellyDrum:: @ 81D7A52 +BattleScript_EffectBellyDrum:: attackcanceler attackstring ppreduce @@ -1788,10 +1789,10 @@ BattleScript_EffectBellyDrum:: @ 81D7A52 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNCUTHPMAXEDATTACK - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectPsychUp:: @ 81D7A74 +BattleScript_EffectPsychUp:: attackcanceler attackstring ppreduce @@ -1799,58 +1800,58 @@ BattleScript_EffectPsychUp:: @ 81D7A74 attackanimation waitanimation printstring STRINGID_PKMNCOPIEDSTATCHANGES - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectMirrorCoat:: @ 81D7A89 +BattleScript_EffectMirrorCoat:: attackcanceler - mirrorcoatdamagecalculator BattleScript_81D7DF0 - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + mirrorcoatdamagecalculator BattleScript_ButItFailedAtkStringPpReduce + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce typecalc2 adjustsetdamage - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_EffectSkullBash:: @ 81D7A9F - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 - jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 +BattleScript_EffectSkullBash:: + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn setbyte sTWOTURN_STRINGID, 2 - call BattleScript_81D6F58 + call BattleScriptFirstChargingTurn setstatchanger STAT_DEF, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7AE9 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D7AE9 setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D7AE9:: @ 81D7AE9 + waitmessage 0x40 +BattleScript_81D7AE9:: goto BattleScript_MoveEnd -BattleScript_EffectTwister:: @ 81D7AEE +BattleScript_EffectTwister:: jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_81D7B08 orword gHitMarker, HITMARKER_IGNORE_ON_AIR setbyte sDMG_MULTIPLIER, 2 -BattleScript_81D7B08:: @ 81D7B08 +BattleScript_81D7B08:: setmoveeffect MOVE_EFFECT_FLINCH goto BattleScript_EffectHit -BattleScript_EffectEarthquake:: @ 81D7B13 +BattleScript_EffectEarthquake:: attackcanceler attackstring ppreduce selectfirstvalidtarget -BattleScript_81D7B17:: @ 81D7B17 +BattleScript_81D7B17:: movevaluescleanup jumpifnostatus3 BS_TARGET, STATUS3_UNDERGROUND, BattleScript_81D7B37 orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND setbyte sDMG_MULTIPLIER, 2 goto BattleScript_81D7B46 -BattleScript_81D7B37:: @ 81D7B37 +BattleScript_81D7B37:: bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND setbyte sDMG_MULTIPLIER, 1 -BattleScript_81D7B46:: @ 81D7B46 +BattleScript_81D7B46:: accuracycheck BattleScript_81D7B7F, ACC_CURR_MOVE critcalc damagecalc @@ -1864,9 +1865,9 @@ BattleScript_81D7B46:: @ 81D7B46 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 resultmessage - waitmessage 64 + waitmessage 0x40 printstring STRINGID_EMPTYSTRING3 waitmessage 1 tryfaintmon BS_TARGET, 0, NULL @@ -1874,17 +1875,17 @@ BattleScript_81D7B46:: @ 81D7B46 jumpifnexttargetvalid BattleScript_81D7B17 end -BattleScript_81D7B7F:: @ 81D7B7F - pause 32 +BattleScript_81D7B7F:: + pause 0x20 typecalc effectivenesssound resultmessage - waitmessage 64 + waitmessage 0x40 moveendto 16 jumpifnexttargetvalid BattleScript_81D7B17 end -BattleScript_EffectFutureSight:: @ 81D7B97 +BattleScript_EffectFutureSight:: attackcanceler attackstring ppreduce @@ -1892,44 +1893,44 @@ BattleScript_EffectFutureSight:: @ 81D7B97 attackanimation waitanimation printfromtable gFutureMoveUsedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectGust:: @ 81D7BAE +BattleScript_EffectGust:: jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_EffectHit orword gHitMarker, HITMARKER_IGNORE_ON_AIR setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit -BattleScript_EffectFlinchMinimizeHit:: @ 81D7BCD +BattleScript_EffectFlinchMinimizeHit:: jumpifnostatus3 BS_TARGET, STATUS3_MINIMIZED, BattleScript_81D7B08 setbyte sDMG_MULTIPLIER, 2 goto BattleScript_81D7B08 -BattleScript_EffectSolarbeam:: @ 81D7BE3 +BattleScript_EffectSolarbeam:: jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_81D7BFB jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_81D7BFB jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 96, BattleScript_81D7C23 -BattleScript_81D7BFB:: @ 81D7BFB - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D6F29 - jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D6F29 +BattleScript_81D7BFB:: + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn setbyte sTWOTURN_STRINGID, 1 - call BattleScript_81D6F58 + call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd -BattleScript_81D7C23:: @ 81D7C23 +BattleScript_81D7C23:: orword gHitMarker, HITMARKER_CHARGING setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER seteffectprimary ppreduce - goto BattleScript_81D6F29 + goto BattleScript_TwoTurnMovesSecondTurn -BattleScript_EffectThunder:: @ 81D7C39 +BattleScript_EffectThunder:: setmoveeffect MOVE_EFFECT_PARALYSIS orword gHitMarker, HITMARKER_IGNORE_ON_AIR goto BattleScript_EffectHit -BattleScript_EffectTeleport:: @ 81D7C4D +BattleScript_EffectTeleport:: attackcanceler attackstring ppreduce @@ -1940,25 +1941,25 @@ BattleScript_EffectTeleport:: @ 81D7C4D attackanimation waitanimation printstring STRINGID_PKMNFLEDFROMBATTLE - waitmessage 64 + waitmessage 0x40 setbyte gBattleOutcome, B_OUTCOME_PLAYER_TELEPORTED goto BattleScript_MoveEnd -BattleScript_EffectBeatUp:: @ 81D7C8A +BattleScript_EffectBeatUp:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring - pause 32 + pause 0x20 ppreduce setbyte gBattleCommunication, 0 -BattleScript_81D7C9D:: @ 81D7C9D +BattleScript_81D7C9D:: movevaluescleanup trydobeatup BattleScript_81D7CE0, BattleScript_ButItFailed printstring STRINGID_PKMNATTACK critcalc jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 2, BattleScript_81D7CB8 manipulatedamage 2 -BattleScript_81D7CB8:: @ 81D7CB8 +BattleScript_81D7CB8:: adjustnormaldamage attackanimation waitanimation @@ -1968,17 +1969,17 @@ BattleScript_81D7CB8:: @ 81D7CB8 healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 resultmessage - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_TARGET, 0, NULL moveendto 16 goto BattleScript_81D7C9D -BattleScript_81D7CE0:: @ 81D7CE0 +BattleScript_81D7CE0:: end -BattleScript_EffectSemiInvulnerable:: @ 81D7CE1 +BattleScript_EffectSemiInvulnerable:: jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7D4F jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D7D4F jumpifmove MOVE_FLY, BattleScript_81D7D3E @@ -1987,22 +1988,22 @@ BattleScript_EffectSemiInvulnerable:: @ 81D7CE1 setbyte sTWOTURN_STRINGID, 5 goto BattleScript_81D7D44 -BattleScript_81D7D28:: @ 81D7D28 +BattleScript_81D7D28:: setbyte sTWOTURN_STRINGID, 7 goto BattleScript_81D7D44 -BattleScript_81D7D33:: @ 81D7D33 +BattleScript_81D7D33:: setbyte sTWOTURN_STRINGID, 6 goto BattleScript_81D7D44 -BattleScript_81D7D3E:: @ 81D7D3E +BattleScript_81D7D3E:: setbyte sTWOTURN_STRINGID, 4 -BattleScript_81D7D44:: @ 81D7D44 - call BattleScript_81D6F58 +BattleScript_81D7D44:: + call BattleScriptFirstChargingTurn setsemiinvulnerablebit goto BattleScript_MoveEnd -BattleScript_81D7D4F:: @ 81D7D4F +BattleScript_81D7D4F:: attackcanceler setmoveeffect MOVE_EFFECT_CHARGING setbyte sB_ANIM_TURN, 1 @@ -2010,85 +2011,85 @@ BattleScript_81D7D4F:: @ 81D7D4F orword gHitMarker, HITMARKER_NO_PPDEDUCT jumpifnotmove MOVE_BOUNCE, BattleScript_81D7D79 setmoveeffect MOVE_EFFECT_PARALYSIS -BattleScript_81D7D79:: @ 81D7D79 +BattleScript_81D7D79:: accuracycheck BattleScript_81D7D86, ACC_CURR_MOVE clearsemiinvulnerablebit - goto BattleScript_81D692E + goto BattleScript_HitFromAtkString -BattleScript_81D7D86:: @ 81D7D86 +BattleScript_81D7D86:: clearsemiinvulnerablebit - goto BattleScript_81D695E + goto BattleScript_PrintMoveMissed -BattleScript_EffectDefenseCurl:: @ 81D7D8C +BattleScript_EffectDefenseCurl:: attackcanceler attackstring ppreduce setdefensecurlbit setstatchanger STAT_DEF, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7DA9 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D6BC4 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_StatUpPrintString attackanimation waitanimation -BattleScript_81D7DA9:: @ 81D7DA9 - goto BattleScript_81D6BBC +BattleScript_81D7DA9:: + goto BattleScript_StatUpPrintString -BattleScript_EffectSoftboiled:: @ 81D7DAE +BattleScript_EffectSoftboiled:: attackcanceler attackstring ppreduce tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_TARGET -BattleScript_PresentHealTarget:: @ 81D7DB7 +BattleScript_PresentHealTarget:: attackanimation waitanimation orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNREGAINEDHEALTH - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_AlreadyAtFullHp:: @ 81D7DD1 - pause 32 +BattleScript_AlreadyAtFullHp:: + pause 0x20 printstring STRINGID_PKMNHPFULL - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectFakeOut:: @ 81D7DDF +BattleScript_EffectFakeOut:: attackcanceler - jumpifnotfirstturn BattleScript_81D7DF0 + jumpifnotfirstturn BattleScript_ButItFailedAtkStringPpReduce setmoveeffect MOVE_EFFECT_FLINCH | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit -BattleScript_81D7DF0:: @ 81D7DF0 +BattleScript_ButItFailedAtkStringPpReduce:: attackstring -BattleScript_81D7DF1:: @ 81D7DF1 +BattleScript_81D7DF1:: ppreduce -BattleScript_ButItFailed:: @ 81D7DF2 - pause 32 +BattleScript_ButItFailed:: + pause 0x20 orbyte gMoveResultFlags, MOVE_RESULT_FAILED resultmessage - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D7E04:: @ 81D7E04 - pause 32 +BattleScript_NotAffected:: + pause 0x20 orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE resultmessage - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectUproar:: @ 81D7E16 +BattleScript_EffectUproar:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE setmoveeffect MOVE_EFFECT_UPROAR | MOVE_EFFECT_AFFECTS_USER attackstring jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7E30 ppreduce -BattleScript_81D7E30:: @ 81D7E30 +BattleScript_81D7E30:: nop goto BattleScript_HitFromCritCalc -BattleScript_EffectStockpile:: @ 81D7E36 +BattleScript_EffectStockpile:: attackcanceler attackstring ppreduce @@ -2096,56 +2097,56 @@ BattleScript_EffectStockpile:: @ 81D7E36 attackanimation waitanimation printfromtable gStockpileUsedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSpitUp:: @ 81D7E49 +BattleScript_EffectSpitUp:: attackcanceler jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_81D7E78 attackstring ppreduce - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE stockpiletobasedamage BattleScript_81D7E6A typecalc adjustsetdamage - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_81D7E6A:: @ 81D7E6A - pause 32 +BattleScript_81D7E6A:: + pause 0x20 printstring STRINGID_FAILEDTOSPITUP - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D7E78:: @ 81D7E78 +BattleScript_81D7E78:: attackstring ppreduce - pause 64 + pause 0x40 stockpiletobasedamage BattleScript_81D7E6A resultmessage - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSwallow:: @ 81D7E8B +BattleScript_EffectSwallow:: attackcanceler attackstring ppreduce stockpiletohpheal BattleScript_81D7E98 goto BattleScript_PresentHealTarget -BattleScript_81D7E98:: @ 81D7E98 - pause 32 +BattleScript_81D7E98:: + pause 0x20 printfromtable gSwallowFailStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectHail:: @ 81D7EA8 +BattleScript_EffectHail:: attackcanceler attackstring ppreduce sethail goto BattleScript_81D7A14 -BattleScript_EffectTorment:: @ 81D7EB1 +BattleScript_EffectTorment:: attackcanceler attackstring ppreduce @@ -2154,13 +2155,13 @@ BattleScript_EffectTorment:: @ 81D7EB1 attackanimation waitanimation printstring STRINGID_PKMNSUBJECTEDTOTORMENT - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectFlatter:: @ 81D7ECD +BattleScript_EffectFlatter:: attackcanceler - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D6958 - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce jumpifconfusedandstatmaxed 4, BattleScript_ButItFailed @@ -2172,44 +2173,44 @@ BattleScript_EffectFlatter:: @ 81D7ECD setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D7F10:: @ 81D7F10 - jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D9460 - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 + waitmessage 0x40 +BattleScript_81D7F10:: + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd -BattleScript_EffectWillOWisp:: @ 81D7F2B +BattleScript_EffectWillOWisp:: attackcanceler attackstring ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_BURN, BattleScript_81D7F91 - jumpiftype BS_TARGET, TYPE_FIRE, BattleScript_81D7E04 + jumpiftype BS_TARGET, TYPE_FIRE, BattleScript_NotAffected jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_81D7F77 - jumpifstatus BS_TARGET, STATUS1_FREEZE | STATUS1_SLEEP | STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_PARALYSIS | STATUS1_BURN, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_BURN seteffectprimary goto BattleScript_MoveEnd -BattleScript_81D7F77:: @ 81D7F77 +BattleScript_81D7F77:: copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_BRNPrevention goto BattleScript_MoveEnd -BattleScript_81D7F91:: @ 81D7F91 - pause 32 +BattleScript_81D7F91:: + pause 0x20 printstring STRINGID_PKMNALREADYHASBURN - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectMemento:: @ 81D7F9F +BattleScript_EffectMemento:: attackcanceler jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_81D8026 attackstring @@ -2226,63 +2227,63 @@ BattleScript_EffectMemento:: @ 81D7F9F statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D7FEC jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D7FEC printfromtable gStatDownStringIds - waitmessage 64 -BattleScript_81D7FEC:: @ 81D7FEC + waitmessage 0x40 +BattleScript_81D7FEC:: playstatchangeanimation BS_TARGET, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO setstatchanger STAT_SPATK, 2, TRUE statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D800F jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D800F printfromtable gStatDownStringIds - waitmessage 64 -BattleScript_81D800F:: @ 81D800F + waitmessage 0x40 +BattleScript_81D800F:: tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd -BattleScript_81D801B:: @ 81D801B +BattleScript_81D801B:: printstring STRINGID_BUTNOEFFECT - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D800F -BattleScript_81D8026:: @ 81D8026 +BattleScript_81D8026:: attackstring ppreduce jumpifattackandspecialattackcannotfall BattleScript_81D802D -BattleScript_81D802D:: @ 81D802D +BattleScript_81D802D:: setatkhptozero - pause 64 + pause 0x40 effectivenesssound resultmessage - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd -BattleScript_EffectFacade:: @ 81D8042 +BattleScript_EffectFacade:: jumpifstatus BS_ATTACKER, STATUS1_POISON | STATUS1_PARALYSIS | STATUS1_BURN | STATUS1_TOXIC_POISON, BattleScript_81D8051 goto BattleScript_EffectHit -BattleScript_81D8051:: @ 81D8051 +BattleScript_81D8051:: setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit -BattleScript_EffectFocusPunch:: @ 81D805C +BattleScript_EffectFocusPunch:: attackcanceler - jumpifnodamage BattleScript_81D6927 + jumpifnodamage BattleScript_HitFromAccCheck ppreduce printstring STRINGID_PKMNLOSTFOCUS - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSmellingsalt:: @ 81D806E +BattleScript_EffectSmellingsalt:: jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit setmoveeffect MOVE_EFFECT_REMOVE_PARALYSIS | MOVE_EFFECT_CERTAIN jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D808D goto BattleScript_EffectHit -BattleScript_81D808D:: @ 81D808D +BattleScript_81D808D:: setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit -BattleScript_EffectFollowMe:: @ 81D8098 +BattleScript_EffectFollowMe:: attackcanceler attackstring ppreduce @@ -2290,19 +2291,19 @@ BattleScript_EffectFollowMe:: @ 81D8098 attackanimation waitanimation printstring STRINGID_PKMNCENTERATTENTION - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectNaturePower:: @ 81D80A9 +BattleScript_EffectNaturePower:: attackcanceler attackstring - pause 32 + pause 0x20 callterrainattack printstring STRINGID_NATUREPOWERTURNEDINTO - waitmessage 64 + waitmessage 0x40 return -BattleScript_EffectCharge:: @ 81D80B6 +BattleScript_EffectCharge:: attackcanceler attackstring ppreduce @@ -2310,10 +2311,10 @@ BattleScript_EffectCharge:: @ 81D80B6 attackanimation waitanimation printstring STRINGID_PKMNCHARGINGPOWER - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectTaunt:: @ 81D80C7 +BattleScript_EffectTaunt:: attackcanceler attackstring ppreduce @@ -2322,10 +2323,10 @@ BattleScript_EffectTaunt:: @ 81D80C7 attackanimation waitanimation printstring STRINGID_PKMNFELLFORTAUNT - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectHelpingHand:: @ 81D80E3 +BattleScript_EffectHelpingHand:: attackcanceler attackstring ppreduce @@ -2333,10 +2334,10 @@ BattleScript_EffectHelpingHand:: @ 81D80E3 attackanimation waitanimation printstring STRINGID_PKMNREADYTOHELP - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectTrick:: @ 81D80F8 +BattleScript_EffectTrick:: attackcanceler attackstring ppreduce @@ -2346,12 +2347,12 @@ BattleScript_EffectTrick:: @ 81D80F8 attackanimation waitanimation printstring STRINGID_PKMNSWITCHEDITEMS - waitmessage 64 + waitmessage 0x40 printfromtable gItemSwapStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectRolePlay:: @ 81D8126 +BattleScript_EffectRolePlay:: attackcanceler attackstring ppreduce @@ -2360,10 +2361,10 @@ BattleScript_EffectRolePlay:: @ 81D8126 attackanimation waitanimation printstring STRINGID_PKMNCOPIEDFOE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectWish:: @ 81D8142 +BattleScript_EffectWish:: attackcanceler attackstring ppreduce @@ -2372,7 +2373,7 @@ BattleScript_EffectWish:: @ 81D8142 waitanimation goto BattleScript_MoveEnd -BattleScript_EffectAssist:: @ 81D8152 +BattleScript_EffectAssist:: attackcanceler attackstring assistattackselect BattleScript_81D7DF1 @@ -2381,7 +2382,7 @@ BattleScript_EffectAssist:: @ 81D8152 setbyte sB_ANIM_TURN, 0 setbyte sB_ANIM_TARGETS_HIT, 0 jumptocalledmove 1 -BattleScript_EffectIngrain:: @ 81D8169 +BattleScript_EffectIngrain:: attackcanceler attackstring ppreduce @@ -2389,25 +2390,25 @@ BattleScript_EffectIngrain:: @ 81D8169 attackanimation waitanimation printstring STRINGID_PKMNPLANTEDROOTS - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSuperpower:: @ 81D817E +BattleScript_EffectSuperpower:: setmoveeffect MOVE_EFFECT_ATK_DEF_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit -BattleScript_EffectMagicCoat:: @ 81D8189 +BattleScript_EffectMagicCoat:: attackcanceler - trysetmagiccoat BattleScript_81D7DF0 + trysetmagiccoat BattleScript_ButItFailedAtkStringPpReduce attackstring ppreduce attackanimation waitanimation printstring STRINGID_PKMNSHROUDEDITSELF - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectRecycle:: @ 81D819E +BattleScript_EffectRecycle:: attackcanceler attackstring ppreduce @@ -2415,16 +2416,16 @@ BattleScript_EffectRecycle:: @ 81D819E attackanimation waitanimation printstring STRINGID_XFOUNDONEY - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectRevenge:: @ 81D81B3 +BattleScript_EffectRevenge:: doubledamagedealtifdamaged goto BattleScript_EffectHit -BattleScript_EffectBrickBreak:: @ 81D81B9 +BattleScript_EffectBrickBreak:: attackcanceler - accuracycheck BattleScript_81D695E, ACC_CURR_MOVE + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce removelightscreenreflect @@ -2434,13 +2435,13 @@ BattleScript_EffectBrickBreak:: @ 81D81B9 adjustnormaldamage jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0, BattleScript_81D81D9 bicbyte gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE -BattleScript_81D81D9:: @ 81D81D9 +BattleScript_81D81D9:: attackanimation waitanimation jumpifbyte CMP_LESS_THAN, sB_ANIM_TURN, 2, BattleScript_81D81EC printstring STRINGID_THEWALLSHATTERED - waitmessage 64 -BattleScript_81D81EC:: @ 81D81EC + waitmessage 0x40 +BattleScript_81D81EC:: typecalc2 effectivenesssound hitanimation BS_TARGET @@ -2448,43 +2449,43 @@ BattleScript_81D81EC:: @ 81D81EC healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 resultmessage - waitmessage 64 + waitmessage 0x40 seteffectwithchance tryfaintmon BS_TARGET, 0, NULL goto BattleScript_MoveEnd -BattleScript_EffectYawn:: @ 81D820A +BattleScript_EffectYawn:: attackcanceler attackstring ppreduce jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_81D824B jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_81D824B jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D8B39 + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON jumpifcantmakeasleep BattleScript_ButItFailed setyawn BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNWASMADEDROWSY - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D824B:: @ 81D824B +BattleScript_81D824B:: copybyte sBATTLER, sBATTLER_WITH_ABILITY -BattleScript_81D8255:: @ 81D8255 - pause 32 +BattleScript_81D8255:: + pause 0x20 printstring STRINGID_PKMNSXMADEITINEFFECTIVE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectKnockOff:: @ 81D8263 +BattleScript_EffectKnockOff:: setmoveeffect MOVE_EFFECT_KNOCK_OFF goto BattleScript_EffectHit -BattleScript_EffectEndeavor:: @ 81D826E +BattleScript_EffectEndeavor:: attackcanceler attackstring ppreduce @@ -2492,17 +2493,17 @@ BattleScript_EffectEndeavor:: @ 81D826E copyword gHpDealt, gBattleMoveDamage accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE typecalc - jumpifmovehadnoeffect BattleScript_81D6934 + jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE copyword gBattleMoveDamage, gHpDealt adjustsetdamage - goto BattleScript_81D6934 + goto BattleScript_HitFromAtkAnimation -BattleScript_EffectEruption:: @ 81D82A9 +BattleScript_EffectEruption:: scaledamagebyhealthratio goto BattleScript_EffectHit -BattleScript_EffectSkillSwap:: @ 81D82AF +BattleScript_EffectSkillSwap:: attackcanceler attackstring ppreduce @@ -2511,10 +2512,10 @@ BattleScript_EffectSkillSwap:: @ 81D82AF attackanimation waitanimation printstring STRINGID_PKMNSWAPPEDABILITIES - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectImprison:: @ 81D82CB +BattleScript_EffectImprison:: attackcanceler attackstring ppreduce @@ -2522,10 +2523,10 @@ BattleScript_EffectImprison:: @ 81D82CB attackanimation waitanimation printstring STRINGID_PKMNSEALEDOPPONENTMOVE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectRefresh:: @ 81D82E0 +BattleScript_EffectRefresh:: attackcanceler attackstring ppreduce @@ -2533,11 +2534,11 @@ BattleScript_EffectRefresh:: @ 81D82E0 attackanimation waitanimation printstring STRINGID_PKMNSTATUSNORMAL - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_ATTACKER goto BattleScript_MoveEnd -BattleScript_EffectGrudge:: @ 81D82F7 +BattleScript_EffectGrudge:: attackcanceler attackstring ppreduce @@ -2545,22 +2546,22 @@ BattleScript_EffectGrudge:: @ 81D82F7 attackanimation waitanimation printstring STRINGID_PKMNWANTSGRUDGE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSnatch:: @ 81D830C +BattleScript_EffectSnatch:: attackcanceler - trysetsnatch BattleScript_81D7DF0 + trysetsnatch BattleScript_ButItFailedAtkStringPpReduce attackstring ppreduce attackanimation waitanimation - pause 32 + pause 0x20 printstring STRINGID_PKMNWAITSFORTARGET - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectLowKick:: @ 81D8324 +BattleScript_EffectLowKick:: attackcanceler attackstring ppreduce @@ -2568,20 +2569,20 @@ BattleScript_EffectLowKick:: @ 81D8324 accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE goto BattleScript_HitFromCritCalc -BattleScript_EffectSecretPower:: @ 81D8334 +BattleScript_EffectSecretPower:: getsecretpowereffect goto BattleScript_EffectHit -BattleScript_EffectDoubleEdge:: @ 81D833A +BattleScript_EffectDoubleEdge:: setmoveeffect MOVE_EFFECT_RECOIL_33 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit -BattleScript_EffectTeeterDance:: @ 81D8345 +BattleScript_EffectTeeterDance:: attackcanceler attackstring ppreduce setbyte gBattlerTarget, 0 -BattleScript_81D834E:: @ 81D834E +BattleScript_81D834E:: movevaluescleanup setmoveeffect MOVE_EFFECT_CONFUSION jumpifbyteequal gBattlerAttacker, gBattlerTarget, BattleScript_81D8394 @@ -2594,43 +2595,43 @@ BattleScript_81D834E:: @ 81D834E waitanimation seteffectprimary resultmessage - waitmessage 64 -BattleScript_81D8394:: @ 81D8394 + waitmessage 0x40 +BattleScript_81D8394:: moveendto 16 addbyte gBattlerTarget, 1 jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_81D834E end -BattleScript_81D83B2:: @ 81D83B2 - pause 32 +BattleScript_81D83B2:: + pause 0x20 printstring STRINGID_PKMNPREVENTSCONFUSIONWITH - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D8394 -BattleScript_81D83C0:: @ 81D83C0 - pause 32 +BattleScript_81D83C0:: + pause 0x20 printstring STRINGID_PKMNUSEDSAFEGUARD - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D8394 -BattleScript_81D83CE:: @ 81D83CE - pause 32 +BattleScript_81D83CE:: + pause 0x20 printstring STRINGID_BUTITFAILED - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D8394 -BattleScript_81D83DC:: @ 81D83DC - pause 32 +BattleScript_81D83DC:: + pause 0x20 printstring STRINGID_PKMNALREADYCONFUSED - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D8394 -BattleScript_81D83EA:: @ 81D83EA +BattleScript_81D83EA:: resultmessage - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D8394 -BattleScript_EffectMudSport:: @ 81D83F3 +BattleScript_EffectMudSport:: attackcanceler attackstring ppreduce @@ -2638,28 +2639,28 @@ BattleScript_EffectMudSport:: @ 81D83F3 attackanimation waitanimation printfromtable gSportsUsedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectPoisonFang:: @ 81D840A +BattleScript_EffectPoisonFang:: setmoveeffect MOVE_EFFECT_TOXIC goto BattleScript_EffectHit -BattleScript_EffectWeatherBall:: @ 81D8415 +BattleScript_EffectWeatherBall:: setweatherballtype goto BattleScript_EffectHit -BattleScript_EffectOverheat:: @ 81D841B +BattleScript_EffectOverheat:: setmoveeffect MOVE_EFFECT_SP_ATK_TWO_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit -BattleScript_EffectTickle:: @ 81D8426 +BattleScript_EffectTickle:: attackcanceler attackstring ppreduce jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0, BattleScript_81D843B jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0, BattleScript_81D8499 -BattleScript_81D843B:: @ 81D843B +BattleScript_81D843B:: accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE attackanimation waitanimation @@ -2670,31 +2671,31 @@ BattleScript_81D843B:: @ 81D843B statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D8471 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8471 printfromtable gStatDownStringIds - waitmessage 64 -BattleScript_81D8471:: @ 81D8471 + waitmessage 0x40 +BattleScript_81D8471:: playstatchangeanimation BS_TARGET, BIT_DEF, ATK48_STAT_NEGATIVE setstatchanger STAT_DEF, 1, TRUE statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D8494 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8494 printfromtable gStatDownStringIds - waitmessage 64 -BattleScript_81D8494:: @ 81D8494 + waitmessage 0x40 +BattleScript_81D8494:: goto BattleScript_MoveEnd -BattleScript_81D8499:: @ 81D8499 - pause 32 +BattleScript_81D8499:: + pause 0x20 orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring STRINGID_STATSWONTDECREASE2 - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectCosmicPower:: @ 81D84AD +BattleScript_EffectCosmicPower:: attackcanceler attackstring ppreduce jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_81D84C2 jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D85E7 -BattleScript_81D84C2:: @ 81D84C2 +BattleScript_81D84C2:: attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0 @@ -2703,27 +2704,27 @@ BattleScript_81D84C2:: @ 81D84C2 statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D84ED jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D84ED printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D84ED:: @ 81D84ED + waitmessage 0x40 +BattleScript_81D84ED:: setstatchanger STAT_SPDEF, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D850C jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D850C printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D850C:: @ 81D850C + waitmessage 0x40 +BattleScript_81D850C:: goto BattleScript_MoveEnd -BattleScript_EffectSkyUppercut:: @ 81D8511 +BattleScript_EffectSkyUppercut:: orword gHitMarker, HITMARKER_IGNORE_ON_AIR goto BattleScript_EffectHit -BattleScript_EffectBulkUp:: @ 81D851F +BattleScript_EffectBulkUp:: attackcanceler attackstring ppreduce jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8534 jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_81D85E7 -BattleScript_81D8534:: @ 81D8534 +BattleScript_81D8534:: attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0 @@ -2732,23 +2733,23 @@ BattleScript_81D8534:: @ 81D8534 statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D855F jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D855F printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D855F:: @ 81D855F + waitmessage 0x40 +BattleScript_81D855F:: setstatchanger STAT_DEF, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D857E jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D857E printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D857E:: @ 81D857E + waitmessage 0x40 +BattleScript_81D857E:: goto BattleScript_MoveEnd -BattleScript_EffectCalmMind:: @ 81D8583 +BattleScript_EffectCalmMind:: attackcanceler attackstring ppreduce jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_81D8598 jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D85E7 -BattleScript_81D8598:: @ 81D8598 +BattleScript_81D8598:: attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0 @@ -2757,30 +2758,30 @@ BattleScript_81D8598:: @ 81D8598 statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D85C3 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D85C3 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D85C3:: @ 81D85C3 + waitmessage 0x40 +BattleScript_81D85C3:: setstatchanger STAT_SPDEF, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D85E2 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D85E2 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D85E2:: @ 81D85E2 + waitmessage 0x40 +BattleScript_81D85E2:: goto BattleScript_MoveEnd -BattleScript_81D85E7:: @ 81D85E7 - pause 32 +BattleScript_81D85E7:: + pause 0x20 orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring STRINGID_STATSWONTINCREASE2 - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectDragonDance:: @ 81D85FB +BattleScript_EffectDragonDance:: attackcanceler attackstring ppreduce jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8610 jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 12, BattleScript_81D85E7 -BattleScript_81D8610:: @ 81D8610 +BattleScript_81D8610:: attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0 @@ -2789,17 +2790,17 @@ BattleScript_81D8610:: @ 81D8610 statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D863B jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D863B printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D863B:: @ 81D863B + waitmessage 0x40 +BattleScript_81D863B:: setstatchanger STAT_SPEED, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D865A jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D865A printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D865A:: @ 81D865A + waitmessage 0x40 +BattleScript_81D865A:: goto BattleScript_MoveEnd -BattleScript_EffectCamouflage:: @ 81D865F +BattleScript_EffectCamouflage:: attackcanceler attackstring ppreduce @@ -2807,51 +2808,51 @@ BattleScript_EffectCamouflage:: @ 81D865F attackanimation waitanimation printstring STRINGID_PKMNCHANGEDTYPE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_FaintAttacker:: @ 81D8674 +BattleScript_FaintAttacker:: playfaintcry BS_ATTACKER - pause 64 + pause 0x40 dofaintanimation BS_ATTACKER cleareffectsonfaint BS_ATTACKER printstring STRINGID_ATTACKERFAINTED printstring STRINGID_EMPTYSTRING3 return -BattleScript_FaintTarget:: @ 81D8684 +BattleScript_FaintTarget:: playfaintcry BS_TARGET - pause 64 + pause 0x40 dofaintanimation BS_TARGET cleareffectsonfaint BS_TARGET printstring STRINGID_TARGETFAINTED printstring STRINGID_EMPTYSTRING3 return -BattleScript_GiveExp:: @ 81D8694 +BattleScript_GiveExp:: setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET end2 -BattleScript_HandleFaintedMon:: @ 81D869D +BattleScript_HandleFaintedMon:: atk24 BattleScript_81D87B8 jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D87B7 jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D86E6 - jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D86E6 + jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_PLAYER_FAINTED, BattleScript_81D86E6 printstring STRINGID_USENEXTPKMN setbyte gBattleCommunication, 0 yesnobox jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0, BattleScript_81D86E6 jumpifplayerran BattleScript_81D87B7 printstring STRINGID_CANTESCAPE2 -BattleScript_81D86E6:: @ 81D86E6 - openpartyscreen 3, BattleScript_81D87B7 +BattleScript_81D86E6:: + openpartyscreen BS_FAINTED, BattleScript_81D87B7 switchhandleorder BS_FAINTED, 2 jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_81D8792 jumpifbattletype BATTLE_TYPE_LINK, BattleScript_81D8792 jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_81D8792 jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D8792 - jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_81D8792 + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_PLAYER_FAINTED, BattleScript_81D8792 jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 1, BattleScript_81D8792 jumpifcantswitch BS_PLAYER1, BattleScript_81D8792 printstring STRINGID_ENEMYABOUTTOSWITCHPKMN @@ -2859,7 +2860,7 @@ BattleScript_81D86E6:: @ 81D86E6 yesnobox jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 1, BattleScript_81D8792 setatktoplayer0 - openpartyscreen 129, BattleScript_81D8792 + openpartyscreen BS_ATTACKER | OPEN_PARTY_ALLOW_CANCEL, BattleScript_81D8792 switchhandleorder BS_ATTACKER, 2 jumpifbyte CMP_EQUAL, gBattleCommunication, 6, BattleScript_81D8792 atknameinbuff1 @@ -2880,7 +2881,7 @@ BattleScript_81D86E6:: @ 81D86E6 waitstate switchineffects BS_ATTACKER resetsentmonsvalue -BattleScript_81D8792:: @ 81D8792 +BattleScript_81D8792:: drawpartystatussummary BS_FAINTED getswitchedmondata BS_FAINTED switchindataupdate BS_FAINTED @@ -2893,16 +2894,16 @@ BattleScript_81D8792:: @ 81D8792 switchineffects BS_FAINTED jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D87B7 cancelallactions -BattleScript_81D87B7:: @ 81D87B7 +BattleScript_81D87B7:: end2 -BattleScript_81D87B8:: @ 81D87B8 - openpartyscreen 5, BattleScript_81D87BE -BattleScript_81D87BE:: @ 81D87BE +BattleScript_81D87B8:: + openpartyscreen BS_UNKNOWN_5, BattleScript_81D87BE +BattleScript_81D87BE:: switchhandleorder BS_FAINTED, 0 - openpartyscreen 6, BattleScript_81D87EE + openpartyscreen BS_UNKNOWN_6, BattleScript_81D87EE switchhandleorder BS_FAINTED, 0 -BattleScript_81D87CA:: @ 81D87CA +BattleScript_81D87CA:: switchhandleorder BS_FAINTED, 2 drawpartystatussummary BS_FAINTED getswitchedmondata BS_FAINTED @@ -2914,90 +2915,90 @@ BattleScript_81D87CA:: @ 81D87CA waitstate switchineffects 5 jumpifbytenotequal gBattlerFainted, gBattlersCount, BattleScript_81D87CA -BattleScript_81D87EE:: @ 81D87EE +BattleScript_81D87EE:: end2 -BattleScript_LocalTrainerBattleWon:: @ 81D87EF +BattleScript_LocalTrainerBattleWon:: printstring STRINGID_PLAYERDEFEATEDTRAINER1 trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1LOSETEXT getmoneyreward BattleScript_81D87FD -BattleScript_81D87FD:: @ 81D87FD +BattleScript_81D87FD:: printstring STRINGID_PLAYERGOTMONEY - waitmessage 64 -BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8803 + waitmessage 0x40 +BattleScript_PayDayMoneyAndPickUpItems:: givepaydaymoney pickup end2 -BattleScript_LocalBattleLost:: @ 81D8806 +BattleScript_LocalBattleLost:: jumpifbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D8896 jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_81D886E jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 1024, BattleScript_81D886E jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8876 -BattleScript_81D8839:: @ 81D8839 +BattleScript_81D8839:: jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D885D printstring STRINGID_PLAYERWHITEOUT - waitmessage 64 + waitmessage 0x40 getmoneyreward BattleScript_81D886F printstring STRINGID_PLAYERWHITEOUT2 - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D886E -BattleScript_81D885D:: @ 81D885D +BattleScript_81D885D:: printstring STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER - waitmessage 64 + waitmessage 0x40 getmoneyreward BattleScript_81D886F printstring STRINGID_PLAYERPAIDPRIZEMONEY - waitmessage 64 -BattleScript_81D886E:: @ 81D886E + waitmessage 0x40 +BattleScript_81D886E:: end2 -BattleScript_81D886F:: @ 81D886F +BattleScript_81D886F:: printstring STRINGID_PLAYERWHITEDOUT - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_81D8876:: @ 81D8876 +BattleScript_81D8876:: jumpifhasnohp BS_ATTACKER, BattleScript_81D8884 printstring STRINGID_TRAINER1MON1COMEBACK - waitmessage 64 + waitmessage 0x40 returnatktoball waitstate -BattleScript_81D8884:: @ 81D8884 +BattleScript_81D8884:: trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1WINTEXT jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8839 end2 -BattleScript_81D8896:: @ 81D8896 +BattleScript_81D8896:: various8 BS_ATTACKER jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D88B4 printfromtable gDoubleBattleRecallStrings - waitmessage 64 + waitmessage 0x40 returnopponentmon1toball BS_ATTACKER waitstate returnopponentmon2toball BS_ATTACKER waitstate -BattleScript_81D88B4:: @ 81D88B4 +BattleScript_81D88B4:: trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1WINTEXT jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D88CB printstring STRINGID_TRAINER2NAME -BattleScript_81D88CB:: @ 81D88CB +BattleScript_81D88CB:: end2 -BattleScript_LinkBattleWonOrLost:: @ 81D88CC +BattleScript_LinkBattleWonOrLost:: printstring STRINGID_BATTLEEND - waitmessage 64 + waitmessage 0x40 atk57 - waitmessage 64 + waitmessage 0x40 end2 -gUnknown_81D88D7:: @ 81D88D7 +gUnknown_81D88D7:: printstring STRINGID_PLAYERDEFEATEDTRAINER1 trainerslidein BS_ATTACKER waitstate @@ -3005,54 +3006,54 @@ gUnknown_81D88D7:: @ 81D88D7 printstring STRINGID_TRAINER1LOSETEXT jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D88FF printstring STRINGID_TRAINER2CLASS -BattleScript_81D88FF:: @ 81D88FF +BattleScript_81D88FF:: pickup end2 -BattleScript_SmokeBallEscape:: @ 81D8901 +BattleScript_SmokeBallEscape:: playanimation BS_ATTACKER, B_ANIM_SMOKEBALL_ESCAPE, NULL printstring STRINGID_PKMNFLEDUSINGITS - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_RanAwayUsingMonAbility:: @ 81D890F +BattleScript_RanAwayUsingMonAbility:: printstring STRINGID_PKMNFLEDUSING - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_GotAwaySafely:: @ 81D8916 +BattleScript_GotAwaySafely:: printstring STRINGID_GOTAWAYSAFELY - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_WildMonFled:: @ 81D891D +BattleScript_WildMonFled:: printstring STRINGID_WILDPKMNFLED - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_PrintCantRunFromTrainer:: @ 81D8924 +BattleScript_PrintCantRunFromTrainer:: jumpifbattletype BATTLE_TYPE_FIRST_BATTLE, BattleScript_81D8936 printstring STRINGID_NORUNNINGFROMTRAINERS end2 -BattleScript_81D8936:: @ 81D8936 +BattleScript_81D8936:: printstring STRINGID_DONTLEAVEBIRCH end2 -BattleScript_PrintFailedToRunString:: @ 81D893A +BattleScript_PrintFailedToRunString:: printfromtable gNoEscapeStringIds - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_PrintCantEscapeFromBattle:: @ 81D8943 +BattleScript_PrintCantEscapeFromBattle:: printselectionstringfromtable gNoEscapeStringIds endselectionscript -BattleScript_PrintFullBox:: @ 81D8949 +BattleScript_PrintFullBox:: printselectionstring STRINGID_BOXISFULL endselectionscript -BattleScript_ActionSwitch:: @ 81D894D +BattleScript_ActionSwitch:: hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON setbyte sDMG_MULTIPLIER, 2 @@ -3060,15 +3061,15 @@ BattleScript_ActionSwitch:: @ 81D894D setmultihit 1 goto BattleScript_81D896F -BattleScript_81D896D:: @ 81D896D +BattleScript_81D896D:: setmultihit 2 -BattleScript_81D896F:: @ 81D896F +BattleScript_81D896F:: jumpifnopursuitswitchdmg BattleScript_81D897C swapattackerwithtarget trysetdestinybondtohappen call BattleScript_81D89AF swapattackerwithtarget -BattleScript_81D897C:: @ 81D897C +BattleScript_81D897C:: decrementmultihit BattleScript_81D896F switchoutabilities BS_ATTACKER waitstate @@ -3088,8 +3089,8 @@ BattleScript_81D897C:: @ 81D897C moveendcase 15 end2 -BattleScript_81D89AF:: @ 81D89AF - pause 32 +BattleScript_81D89AF:: + pause 0x20 attackstring ppreduce critcalc @@ -3104,23 +3105,23 @@ BattleScript_81D89AF:: @ 81D89AF healthbarupdate BS_TARGET datahpupdate BS_TARGET critmessage - waitmessage 64 + waitmessage 0x40 resultmessage - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_TARGET, 0, NULL moveendfromto 3, 6 various4 BS_TARGET jumpifbyte CMP_EQUAL, gBattleCommunication, 0, BattleScript_81D89F0 setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET -BattleScript_81D89F0:: @ 81D89F0 +BattleScript_81D89F0:: return -BattleScript_Pausex20:: @ 81D89F1 - pause 32 +BattleScript_Pausex20:: + pause 0x20 return -BattleScript_LevelUp:: @ 81D89F5 +BattleScript_LevelUp:: fanfare MUS_FANFA1 printstring STRINGID_PKMNGREWTOLV setbyte sLVLBOX_STATE, 0 @@ -3128,9 +3129,9 @@ BattleScript_LevelUp:: @ 81D89F5 handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 1 goto BattleScript_81D8A1B -BattleScript_81D8A11:: @ 81D8A11 +BattleScript_81D8A11:: handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0 -BattleScript_81D8A1B:: @ 81D8A1B +BattleScript_81D8A1B:: buffermovetolearn printstring STRINGID_TRYTOLEARNMOVE1 printstring STRINGID_TRYTOLEARNMOVE2 @@ -3145,40 +3146,40 @@ BattleScript_81D8A1B:: @ 81D8A1B printstring STRINGID_DIDNOTLEARNMOVE goto BattleScript_81D8A11 -BattleScript_81D8A48:: @ 81D8A48 +BattleScript_81D8A48:: printstring STRINGID_123POOF printstring STRINGID_PKMNFORGOTMOVE printstring STRINGID_ANDELLIPSIS -BattleScript_81D8A51:: @ 81D8A51 +BattleScript_81D8A51:: buffermovetolearn fanfare MUS_FANFA1 printstring STRINGID_PKMNLEARNEDMOVE - waitmessage 64 + waitmessage 0x40 updatechoicemoveonlvlup BS_ATTACKER goto BattleScript_81D8A11 -BattleScript_81D8A63:: @ 81D8A63 +BattleScript_81D8A63:: return -BattleScript_RainContinuesOrEnds:: @ 81D8A64 +BattleScript_RainContinuesOrEnds:: printfromtable gRainContinuesStringIds - waitmessage 64 + waitmessage 0x40 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8A7E playanimation BS_ATTACKER, B_ANIM_RAIN_CONTINUES, NULL -BattleScript_81D8A7E:: @ 81D8A7E +BattleScript_81D8A7E:: end2 -BattleScript_DamagingWeatherContinues:: @ 81D8A7F +BattleScript_DamagingWeatherContinues:: printfromtable gSandStormHailContinuesStringIds - waitmessage 64 + waitmessage 0x40 playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL setbyte gBattleCommunication, 0 -BattleScript_81D8A97:: @ 81D8A97 +BattleScript_81D8A97:: copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 1 weatherdamage jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_81D8AD8 printfromtable gSandStormHailDmgStringIds - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE effectivenesssound hitanimation BS_ATTACKER @@ -3186,54 +3187,54 @@ BattleScript_81D8A97:: @ 81D8A97 datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, 0, NULL atk24 BattleScript_81D8AD8 -BattleScript_81D8AD8:: @ 81D8AD8 +BattleScript_81D8AD8:: jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D8AF7 addbyte gBattleCommunication, 1 jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_81D8A97 -BattleScript_81D8AF7:: @ 81D8AF7 +BattleScript_81D8AF7:: bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE end2 -BattleScript_SandStormHailEnds:: @ 81D8B01 +BattleScript_SandStormHailEnds:: printfromtable gSandStormHailEndStringIds - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_SunlightContinues:: @ 81D8B0A +BattleScript_SunlightContinues:: printstring STRINGID_SUNLIGHTSTRONG - waitmessage 64 + waitmessage 0x40 playanimation BS_ATTACKER, B_ANIM_SUN_CONTINUES, NULL end2 -BattleScript_SunlightFaded:: @ 81D8B18 +BattleScript_SunlightFaded:: printstring STRINGID_SUNLIGHTFADED - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_OverworldWeatherStarts:: @ 81D8B1F +BattleScript_OverworldWeatherStarts:: printfromtable gWeatherContinuesStringIds - waitmessage 64 + waitmessage 0x40 playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL end3 -BattleScript_SideStatusWoreOff:: @ 81D8B32 +BattleScript_SideStatusWoreOff:: printstring STRINGID_PKMNSXWOREOFF - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_81D8B39:: @ 81D8B39 - pause 32 +BattleScript_SafeguardProtected:: + pause 0x20 printstring STRINGID_PKMNUSEDSAFEGUARD - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_SafeguardEnds:: @ 81D8B43 - pause 32 +BattleScript_SafeguardEnds:: + pause 0x20 printstring STRINGID_PKMNSAFEGUARDEXPIRED - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_LeechSeedTurnDrain:: @ 81D8B4D +BattleScript_LeechSeedTurnDrain:: playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER @@ -3244,30 +3245,30 @@ BattleScript_LeechSeedTurnDrain:: @ 81D8B4D setbyte cMULTISTRING_CHOOSER, 3 goto BattleScript_81D8B85 -BattleScript_81D8B7F:: @ 81D8B7F +BattleScript_81D8B7F:: setbyte cMULTISTRING_CHOOSER, 4 -BattleScript_81D8B85:: @ 81D8B85 +BattleScript_81D8B85:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_TARGET datahpupdate BS_TARGET printfromtable gLeechSeedStringIds - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_ATTACKER, 0, NULL tryfaintmon BS_TARGET, 0, NULL end2 -BattleScript_BideStoringEnergy:: @ 81D8BA9 +BattleScript_BideStoringEnergy:: printstring STRINGID_PKMNSTORINGENERGY - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_BideAttack:: @ 81D8BB4 +BattleScript_BideAttack:: attackcanceler setmoveeffect MOVE_EFFECT_CHARGING clearstatusfromeffect BS_ATTACKER printstring STRINGID_PKMNUNLEASHEDENERGY - waitmessage 64 - accuracycheck BattleScript_81D6963, ACC_CURR_MOVE + waitmessage 0x40 + accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE typecalc bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE copyword gBattleMoveDamage, sBIDE_DMG @@ -3281,19 +3282,19 @@ BattleScript_BideAttack:: @ 81D8BB4 healthbarupdate BS_TARGET datahpupdate BS_TARGET resultmessage - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_TARGET, 0, NULL goto BattleScript_MoveEnd -BattleScript_BideNoEnergyToAttack:: @ 81D8BFC +BattleScript_BideNoEnergyToAttack:: attackcanceler setmoveeffect MOVE_EFFECT_CHARGING clearstatusfromeffect BS_ATTACKER printstring STRINGID_PKMNUNLEASHEDENERGY - waitmessage 64 + waitmessage 0x40 goto BattleScript_ButItFailed -BattleScript_SuccessForceOut:: @ 81D8C10 +BattleScript_SuccessForceOut:: attackanimation waitanimation switchoutabilities BS_TARGET @@ -3302,7 +3303,7 @@ BattleScript_SuccessForceOut:: @ 81D8C10 jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D8C2C setbyte gBattleOutcome, B_OUTCOME_PLAYER_TELEPORTED finishaction -BattleScript_81D8C2C:: @ 81D8C2C +BattleScript_81D8C2C:: getswitchedmondata BS_TARGET switchindataupdate BS_TARGET switchinanim BS_TARGET, 0 @@ -3311,46 +3312,46 @@ BattleScript_81D8C2C:: @ 81D8C2C switchineffects BS_TARGET goto BattleScript_MoveEnd -BattleScript_MistProtected:: @ 81D8C3E - pause 32 +BattleScript_MistProtected:: + pause 0x20 printstring STRINGID_PKMNPROTECTEDBYMIST - waitmessage 64 + waitmessage 0x40 return -BattleScript_RageIsBuilding:: @ 81D8C48 +BattleScript_RageIsBuilding:: printstring STRINGID_PKMNRAGEBUILDING - waitmessage 64 + waitmessage 0x40 return -BattleScript_MoveUsedIsDisabled:: @ 81D8C4F +BattleScript_MoveUsedIsDisabled:: printstring STRINGID_PKMNMOVEISDISABLED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_SelectingDisabledMove:: @ 81D8C5A +BattleScript_SelectingDisabledMove:: printselectionstring STRINGID_PKMNMOVEISDISABLED endselectionscript -BattleScript_DisabledNoMore:: @ 81D8C5E +BattleScript_DisabledNoMore:: printstring STRINGID_PKMNMOVEDISABLEDNOMORE - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_EncoredNoMore:: @ 81D8C65 +BattleScript_EncoredNoMore:: printstring STRINGID_PKMNENCOREENDED - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_DestinyBondTakesLife:: @ 81D8C6C +BattleScript_DestinyBondTakesLife:: printstring STRINGID_PKMNTOOKFOE - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, 0, NULL return -BattleScript_SpikesOnAttacker:: @ 81D8C87 +BattleScript_SpikesOnAttacker:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER @@ -3359,13 +3360,13 @@ BattleScript_SpikesOnAttacker:: @ 81D8C87 tryfaintmon BS_ATTACKER, 1, BattleScript_81D8CA8 return -BattleScript_81D8CA8:: @ 81D8CA8 +BattleScript_81D8CA8:: setbyte sGIVEEXP_STATE, 0 getexp BS_ATTACKER moveendall goto BattleScript_HandleFaintedMon -BattleScript_SpikesOnTarget:: @ 81D8CBE +BattleScript_SpikesOnTarget:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_TARGET datahpupdate BS_TARGET @@ -3374,13 +3375,13 @@ BattleScript_SpikesOnTarget:: @ 81D8CBE tryfaintmon BS_TARGET, 1, BattleScript_81D8CDF return -BattleScript_81D8CDF:: @ 81D8CDF +BattleScript_81D8CDF:: setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET moveendall goto BattleScript_HandleFaintedMon -BattleScript_SpikesOnFaintedBattler:: @ 81D8CF5 +BattleScript_SpikesOnFaintedBattler:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_FAINTED datahpupdate BS_FAINTED @@ -3389,197 +3390,197 @@ BattleScript_SpikesOnFaintedBattler:: @ 81D8CF5 tryfaintmon BS_FAINTED, 1, BattleScript_81D8D16 return -BattleScript_81D8D16:: @ 81D8D16 +BattleScript_81D8D16:: setbyte sGIVEEXP_STATE, 0 getexp BS_FAINTED moveendall goto BattleScript_HandleFaintedMon -BattleScript_81D8D2C:: @ 81D8D2C +BattleScript_81D8D2C:: printstring STRINGID_PKMNHURTBYSPIKES - waitmessage 64 + waitmessage 0x40 return -BattleScript_PerishSongTakesLife:: @ 81D8D33 +BattleScript_PerishSongTakesLife:: printstring STRINGID_PKMNPERISHCOUNTFELL - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, 0, NULL end2 -BattleScript_PerishSongCountGoesDown:: @ 81D8D4E +BattleScript_PerishSongCountGoesDown:: printstring STRINGID_PKMNPERISHCOUNTFELL - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_AllStatsUp:: @ 81D8D55 +BattleScript_AllStatsUp:: jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8D82 jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_81D8D82 jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 12, BattleScript_81D8D82 jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_81D8D82 jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D8DF0 -BattleScript_81D8D82:: @ 81D8D82 +BattleScript_81D8D82:: setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0 setstatchanger STAT_ATK, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DA0 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D8DA0:: @ 81D8DA0 + waitmessage 0x40 +BattleScript_81D8DA0:: setstatchanger STAT_DEF, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DB4 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D8DB4:: @ 81D8DB4 + waitmessage 0x40 +BattleScript_81D8DB4:: setstatchanger STAT_SPEED, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DC8 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D8DC8:: @ 81D8DC8 + waitmessage 0x40 +BattleScript_81D8DC8:: setstatchanger STAT_SPATK, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DDC printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D8DDC:: @ 81D8DDC + waitmessage 0x40 +BattleScript_81D8DDC:: setstatchanger STAT_SPDEF, 1, FALSE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DF0 printfromtable gStatUpStringIds - waitmessage 64 -BattleScript_81D8DF0:: @ 81D8DF0 + waitmessage 0x40 +BattleScript_81D8DF0:: return -BattleScript_RapidSpinAway:: @ 81D8DF1 +BattleScript_RapidSpinAway:: rapidspinfree return -BattleScript_WrapFree:: @ 81D8DF3 +BattleScript_WrapFree:: printstring STRINGID_PKMNGOTFREE - waitmessage 64 + waitmessage 0x40 copybyte gBattlerTarget, sBATTLER return -BattleScript_LeechSeedFree:: @ 81D8E04 +BattleScript_LeechSeedFree:: printstring STRINGID_PKMNSHEDLEECHSEED - waitmessage 64 + waitmessage 0x40 return -BattleScript_SpikesFree:: @ 81D8E0B +BattleScript_SpikesFree:: printstring STRINGID_PKMNBLEWAWAYSPIKES - waitmessage 64 + waitmessage 0x40 return -BattleScript_MonTookFutureAttack:: @ 81D8E12 +BattleScript_MonTookFutureAttack:: printstring STRINGID_PKMNTOOKATTACK - waitmessage 64 + waitmessage 0x40 jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8E2F accuracycheck BattleScript_81D8E86, MOVE_FUTURE_SIGHT goto BattleScript_81D8E36 -BattleScript_81D8E2F:: @ 81D8E2F +BattleScript_81D8E2F:: accuracycheck BattleScript_81D8E86, MOVE_DOOM_DESIRE -BattleScript_81D8E36:: @ 81D8E36 +BattleScript_81D8E36:: adjustnormaldamage2 jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8E4E playanimation BS_ATTACKER, B_ANIM_FUTURE_SIGHT_HIT, NULL goto BattleScript_81D8E55 -BattleScript_81D8E4E:: @ 81D8E4E +BattleScript_81D8E4E:: playanimation BS_ATTACKER, B_ANIM_DOOM_DESIRE_HIT, NULL -BattleScript_81D8E55:: @ 81D8E55 +BattleScript_81D8E55:: effectivenesssound hitanimation BS_TARGET waitstate healthbarupdate BS_TARGET datahpupdate BS_TARGET resultmessage - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_TARGET, 0, NULL atk24 BattleScript_81D8E6D -BattleScript_81D8E6D:: @ 81D8E6D +BattleScript_81D8E6D:: moveendcase 0 moveendfromto 11, 14 setbyte gMoveResultFlags, 0 end2 -BattleScript_81D8E86:: @ 81D8E86 - pause 32 +BattleScript_81D8E86:: + pause 0x20 setbyte gMoveResultFlags, 0 orbyte gMoveResultFlags, MOVE_RESULT_FAILED resultmessage - waitmessage 64 + waitmessage 0x40 setbyte gMoveResultFlags, 0 end2 -BattleScript_NoMovesLeft:: @ 81D8EA0 +BattleScript_NoMovesLeft:: printselectionstring STRINGID_PKMNHASNOMOVESLEFT endselectionscript -BattleScript_SelectingMoveWithNoPP:: @ 81D8EA4 +BattleScript_SelectingMoveWithNoPP:: printselectionstring STRINGID_NOPPLEFT endselectionscript -BattleScript_NoPPForMove:: @ 81D8EA8 +BattleScript_NoPPForMove:: attackstring - pause 32 + pause 0x20 printstring STRINGID_BUTNOPPLEFT - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_SelectingTormentedMove:: @ 81D8EB7 +BattleScript_SelectingTormentedMove:: printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT endselectionscript printstring STRINGID_PKMNCANTUSEMOVETORMENT - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_SelectingNotAllowedMoveTaunt:: @ 81D8EC6 +BattleScript_SelectingNotAllowedMoveTaunt:: printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT endselectionscript -BattleScript_MoveUsedIsTaunted:: @ 81D8ECA +BattleScript_MoveUsedIsTaunted:: printstring STRINGID_PKMNCANTUSEMOVETAUNT - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_WishComesTrue:: @ 81D8ED5 +BattleScript_WishComesTrue:: trywish 1, BattleScript_81D8EFC playanimation BS_TARGET, B_ANIM_WISH_HEAL, NULL printstring STRINGID_PKMNWISHCAMETRUE - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNREGAINEDHEALTH - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_81D8EFC:: @ 81D8EFC +BattleScript_81D8EFC:: printstring STRINGID_PKMNWISHCAMETRUE - waitmessage 64 - pause 32 + waitmessage 0x40 + pause 0x20 printstring STRINGID_PKMNHPFULL - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_IngrainTurnHeal:: @ 81D8F0C +BattleScript_IngrainTurnHeal:: playanimation BS_ATTACKER, B_ANIM_INGRAIN_HEAL, NULL printstring STRINGID_PKMNABSORBEDNUTRIENTS - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER end2 -BattleScript_81D8F27:: @ 81D8F27 - pause 32 +BattleScript_PrintMonIsRooted:: + pause 0x20 printstring STRINGID_PKMNANCHOREDITSELF - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_AtkDefDown:: @ 81D8F35 +BattleScript_AtkDefDown:: setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE | ATK48_DONT_CHECK_LOWER playstatchangeanimation BS_ATTACKER, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_DONT_CHECK_LOWER @@ -3587,176 +3588,176 @@ BattleScript_AtkDefDown:: @ 81D8F35 statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D8F62 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8F62 printfromtable gStatDownStringIds - waitmessage 64 -BattleScript_81D8F62:: @ 81D8F62 + waitmessage 0x40 +BattleScript_81D8F62:: playstatchangeanimation BS_ATTACKER, BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_DONT_CHECK_LOWER setstatchanger STAT_DEF, 1, TRUE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D8F85 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8F85 printfromtable gStatDownStringIds - waitmessage 64 -BattleScript_81D8F85:: @ 81D8F85 + waitmessage 0x40 +BattleScript_81D8F85:: return -BattleScript_KnockedOff:: @ 81D8F86 +BattleScript_KnockedOff:: playanimation BS_TARGET, B_ANIM_ITEM_KNOCKOFF, NULL printstring STRINGID_PKMNKNOCKEDOFF - waitmessage 64 + waitmessage 0x40 return -BattleScript_MoveUsedIsImprisoned:: @ 81D8F94 +BattleScript_MoveUsedIsImprisoned:: printstring STRINGID_PKMNCANTUSEMOVESEALED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_SelectingImprisonedMove:: @ 81D8F9F +BattleScript_SelectingImprisonedMove:: printselectionstring STRINGID_PKMNCANTUSEMOVESEALED endselectionscript -BattleScript_GrudgeTakesPp:: @ 81D8FA3 +BattleScript_GrudgeTakesPp:: printstring STRINGID_PKMNLOSTPPGRUDGE - waitmessage 64 + waitmessage 0x40 return -BattleScript_MagicCoatBounce:: @ 81D8FAA +BattleScript_MagicCoatBounce:: attackstring ppreduce - pause 32 + pause 0x20 printstring STRINGID_PKMNMOVEBOUNCED - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 setmagiccoattarget BS_ATTACKER return -BattleScript_SnatchedMove:: @ 81D8FC2 +BattleScript_SnatchedMove:: attackstring ppreduce snatchsetbattlers playanimation BS_TARGET, B_ANIM_SNATCH_MOVE, NULL printstring STRINGID_PKMNSNATCHEDMOVE - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 swapattackerwithtarget return -BattleScript_EnduredMsg:: @ 81D8FDD +BattleScript_EnduredMsg:: printstring STRINGID_PKMNENDUREDHIT - waitmessage 64 + waitmessage 0x40 return -BattleScript_OneHitKOMsg:: @ 81D8FE4 +BattleScript_OneHitKOMsg:: printstring STRINGID_ONEHITKO - waitmessage 64 + waitmessage 0x40 return -BattleScript_SAtkDown2:: @ 81D8FEB +BattleScript_SAtkDown2:: setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_ATTACKER, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_DONT_CHECK_LOWER setstatchanger STAT_SPATK, 2, TRUE statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D9014 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D9014 printfromtable gStatDownStringIds - waitmessage 64 -BattleScript_81D9014:: @ 81D9014 + waitmessage 0x40 +BattleScript_81D9014:: return -BattleScript_FocusPunchSetUp:: @ 81D9015 +BattleScript_FocusPunchSetUp:: printstring STRINGID_EMPTYSTRING3 waitmessage 1 playanimation BS_ATTACKER, B_ANIM_FOCUS_PUNCH_SETUP, NULL printstring STRINGID_PKMNTIGHTENINGFOCUS - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_MoveUsedIsAsleep:: @ 81D9029 +BattleScript_MoveUsedIsAsleep:: printstring STRINGID_PKMNFASTASLEEP - waitmessage 64 + waitmessage 0x40 statusanimation BS_ATTACKER goto BattleScript_MoveEnd -BattleScript_MoveUsedWokeUp:: @ 81D9036 +BattleScript_MoveUsedWokeUp:: bicword gHitMarker, HITMARKER_x10 printfromtable gWokeUpStringIds - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_ATTACKER return -BattleScript_MonWokeUpInUproar:: @ 81D904A +BattleScript_MonWokeUpInUproar:: printstring STRINGID_PKMNWOKEUPINUPROAR - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_ATTACKER end2 -BattleScript_PoisonTurnDmg:: @ 81D9053 +BattleScript_PoisonTurnDmg:: printstring STRINGID_PKMNHURTBYPOISON - waitmessage 64 -BattleScript_81D9059:: @ 81D9059 + waitmessage 0x40 +BattleScript_81D9059:: statusanimation BS_ATTACKER -BattleScript_81D905B:: @ 81D905B +BattleScript_81D905B:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, 0, NULL atk24 BattleScript_81D9074 -BattleScript_81D9074:: @ 81D9074 +BattleScript_81D9074:: end2 -BattleScript_BurnTurnDmg:: @ 81D9075 +BattleScript_BurnTurnDmg:: printstring STRINGID_PKMNHURTBYBURN - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D9059 -BattleScript_MoveUsedIsFrozen:: @ 81D9080 +BattleScript_MoveUsedIsFrozen:: printstring STRINGID_PKMNISFROZEN - waitmessage 64 + waitmessage 0x40 statusanimation BS_ATTACKER goto BattleScript_MoveEnd -BattleScript_MoveUsedUnfroze:: @ 81D908D +BattleScript_MoveUsedUnfroze:: printfromtable gGotDefrostedStringIds - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_ATTACKER return -BattleScript_DefrostedViaFireMove:: @ 81D9098 +BattleScript_DefrostedViaFireMove:: printstring STRINGID_PKMNWASDEFROSTED - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_TARGET return -BattleScript_MoveUsedIsParalyzed:: @ 81D90A1 +BattleScript_MoveUsedIsParalyzed:: printstring STRINGID_PKMNISPARALYZED - waitmessage 64 + waitmessage 0x40 statusanimation BS_ATTACKER cancelmultiturnmoves BS_ATTACKER goto BattleScript_MoveEnd -BattleScript_MoveUsedFlinched:: @ 81D90B1 +BattleScript_MoveUsedFlinched:: printstring STRINGID_PKMNFLINCHED - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_PrintUproarOverTurns:: @ 81D90BC +BattleScript_PrintUproarOverTurns:: printfromtable gUproarOverTurnStringIds - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_ThrashConfuses:: @ 81D90C5 +BattleScript_ThrashConfuses:: chosenstatusanimation BS_ATTACKER, 1, STATUS2_CONFUSION printstring STRINGID_PKMNFATIGUECONFUSION - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_MoveUsedIsConfused:: @ 81D90D3 +BattleScript_MoveUsedIsConfused:: printstring STRINGID_PKMNISCONFUSED - waitmessage 64 + waitmessage 0x40 status2animation BS_ATTACKER, STATUS2_CONFUSION jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D9115 -BattleScript_81D90EA:: @ 81D90EA +BattleScript_81D90EA:: cancelmultiturnmoves BS_ATTACKER adjustnormaldamage2 printstring STRINGID_ITHURTCONFUSION - waitmessage 64 + waitmessage 0x40 effectivenesssound hitanimation BS_ATTACKER waitstate @@ -3764,243 +3765,243 @@ BattleScript_81D90EA:: @ 81D90EA healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER resultmessage - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd -BattleScript_81D9115:: @ 81D9115 +BattleScript_81D9115:: return -BattleScript_MoveUsedIsConfusedNoMore:: @ 81D9116 +BattleScript_MoveUsedIsConfusedNoMore:: printstring STRINGID_PKMNHEALEDCONFUSION - waitmessage 64 + waitmessage 0x40 return -BattleScript_PrintPayDayMoneyString:: @ 81D911D +BattleScript_PrintPayDayMoneyString:: printstring STRINGID_PKMNPICKEDUPITEM - waitmessage 64 + waitmessage 0x40 return -BattleScript_WrapTurnDmg:: @ 81D9124 +BattleScript_WrapTurnDmg:: playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1 printstring STRINGID_PKMNHURTBY - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D905B -BattleScript_WrapEnds:: @ 81D9136 +BattleScript_WrapEnds:: printstring STRINGID_PKMNFREEDFROM - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_MoveUsedIsInLove:: @ 81D913D +BattleScript_MoveUsedIsInLove:: printstring STRINGID_PKMNINLOVE - waitmessage 64 + waitmessage 0x40 status2animation BS_ATTACKER, STATUS2_INFATUATION return -BattleScript_MoveUsedIsInLoveCantAttack:: @ 81D914A +BattleScript_MoveUsedIsInLoveCantAttack:: printstring STRINGID_PKMNIMMOBILIZEDBYLOVE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_NightmareTurnDmg:: @ 81D9155 +BattleScript_NightmareTurnDmg:: printstring STRINGID_PKMNLOCKEDINNIGHTMARE - waitmessage 64 + waitmessage 0x40 status2animation BS_ATTACKER, STATUS2_NIGHTMARE goto BattleScript_81D905B -BattleScript_CurseTurnDmg:: @ 81D9166 +BattleScript_CurseTurnDmg:: printstring STRINGID_PKMNAFFLICTEDBYCURSE - waitmessage 64 + waitmessage 0x40 status2animation BS_ATTACKER, STATUS2_CURSED goto BattleScript_81D905B -BattleScript_TargetPRLZHeal:: @ 81D9177 +BattleScript_TargetPRLZHeal:: printstring STRINGID_PKMNHEALEDPARALYSIS - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_TARGET return -gUnknown_81D9180:: @ 81D9180 +gUnknown_81D9180:: printstring STRINGID_MONTOOSCAREDTOMOVE - waitmessage 64 + waitmessage 0x40 playanimation BS_ATTACKER, B_ANIM_MON_SCARED, NULL goto BattleScript_MoveEnd -gUnknown_81D9192:: @ 81D9192 +gUnknown_81D9192:: printstring STRINGID_GHOSTGETOUTGETOUT playanimation BS_ATTACKER, B_ANIM_GHOST_GET_OUT, NULL goto BattleScript_MoveEnd -gUnknown_81D91A1:: @ 81D91A1 - pause 32 +gUnknown_81D91A1:: + pause 0x20 printstring STRINGID_SILPHSCOPEUNVEILED waitstate playanimation BS_OPPONENT1, B_ANIM_SILPH_SCOPED, NULL - pause 32 + pause 0x20 printstring STRINGID_GHOSTWASMAROWAK - waitmessage 64 + waitmessage 0x40 end2 -BattleScript_MoveEffectSleep:: @ 81D91B9 +BattleScript_MoveEffectSleep:: statusanimation BS_EFFECT_BATTLER printfromtable gFellAsleepStringIds - waitmessage 64 -BattleScript_81D91C3:: @ 81D91C3 + waitmessage 0x40 +BattleScript_81D91C3:: updatestatusicon BS_EFFECT_BATTLER waitstate return -BattleScript_YawnMakesAsleep:: @ 81D91C7 +BattleScript_YawnMakesAsleep:: statusanimation BS_EFFECT_BATTLER printstring STRINGID_PKMNFELLASLEEP - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_EFFECT_BATTLER waitstate makevisible BS_EFFECT_BATTLER end2 -BattleScript_MoveEffectPoison:: @ 81D91D5 +BattleScript_MoveEffectPoison:: statusanimation BS_EFFECT_BATTLER printfromtable gGotPoisonedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D91C3 -BattleScript_MoveEffectBurn:: @ 81D91E4 +BattleScript_MoveEffectBurn:: statusanimation BS_EFFECT_BATTLER printfromtable gGotBurnedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D91C3 -BattleScript_MoveEffectFreeze:: @ 81D91F3 +BattleScript_MoveEffectFreeze:: statusanimation BS_EFFECT_BATTLER printfromtable gGotFrozenStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D91C3 -BattleScript_MoveEffectParalysis:: @ 81D9202 +BattleScript_MoveEffectParalysis:: statusanimation BS_EFFECT_BATTLER printfromtable gGotParalyzedStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D91C3 -BattleScript_MoveEffectUproar:: @ 81D9211 +BattleScript_MoveEffectUproar:: printstring STRINGID_PKMNCAUSEDUPROAR - waitmessage 64 + waitmessage 0x40 return -BattleScript_MoveEffectToxic:: @ 81D9218 +BattleScript_MoveEffectToxic:: statusanimation BS_EFFECT_BATTLER printstring STRINGID_PKMNBADLYPOISONED - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D91C3 -BattleScript_MoveEffectPayDay:: @ 81D9225 +BattleScript_MoveEffectPayDay:: printstring STRINGID_COINSSCATTERED - waitmessage 64 + waitmessage 0x40 return -BattleScript_MoveEffectWrap:: @ 81D922C +BattleScript_MoveEffectWrap:: printfromtable gWrappedStringIds - waitmessage 64 + waitmessage 0x40 return -BattleScript_MoveEffectConfusion:: @ 81D9235 +BattleScript_MoveEffectConfusion:: chosenstatusanimation BS_EFFECT_BATTLER, 1, STATUS2_CONFUSION printstring STRINGID_PKMNWASCONFUSED - waitmessage 64 + waitmessage 0x40 return -BattleScript_MoveEffectRecoil:: @ 81D9243 +BattleScript_MoveEffectRecoil:: jumpifmove MOVE_STRUGGLE, BattleScript_81D9256 jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_81D9270 -BattleScript_81D9256:: @ 81D9256 +BattleScript_81D9256:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHITWITHRECOIL - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_ATTACKER, 0, NULL -BattleScript_81D9270:: @ 81D9270 +BattleScript_81D9270:: return -BattleScript_ItemSteal:: @ 81D9271 +BattleScript_ItemSteal:: playanimation BS_TARGET, B_ANIM_ITEM_STEAL, NULL printstring STRINGID_PKMNSTOLEITEM - waitmessage 64 + waitmessage 0x40 return -BattleScript_DrizzleActivates:: @ 81D927F - pause 32 +BattleScript_DrizzleActivates:: + pause 0x20 printstring STRINGID_PKMNMADEITRAIN waitstate playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES, NULL call BattleScript_81D92DC end3 -BattleScript_SpeedBoostActivates:: @ 81D9293 +BattleScript_SpeedBoostActivates:: playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNRAISEDSPEED - waitmessage 64 + waitmessage 0x40 end3 -BattleScript_TraceActivates:: @ 81D92A1 - pause 32 +BattleScript_TraceActivates:: + pause 0x20 printstring STRINGID_PKMNTRACED - waitmessage 64 + waitmessage 0x40 end3 -BattleScript_RainDishActivates:: @ 81D92AB +BattleScript_RainDishActivates:: printstring STRINGID_PKMNSXRESTOREDHPALITTLE2 - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER end3 -BattleScript_SandstreamActivates:: @ 81D92BF - pause 32 +BattleScript_SandstreamActivates:: + pause 0x20 printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM waitstate playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES, NULL call BattleScript_81D92DC end3 -BattleScript_ShedSkinActivates:: @ 81D92D3 +BattleScript_ShedSkinActivates:: printstring STRINGID_PKMNSXCUREDYPROBLEM - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_ATTACKER end3 -BattleScript_81D92DC:: @ 81D92DC +BattleScript_81D92DC:: setbyte sBATTLER, 0 -BattleScript_81D92E2:: @ 81D92E2 +BattleScript_81D92E2:: trycastformdatachange addbyte sBATTLER, 1 jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_81D92E2 return -BattleScript_CastformChange:: @ 81D92F8 +BattleScript_CastformChange:: call BattleScript_81D92FE end3 -BattleScript_81D92FE:: @ 81D92FE +BattleScript_81D92FE:: docastformchangeanimation waitstate printstring STRINGID_PKMNTRANSFORMED - waitmessage 64 + waitmessage 0x40 return -BattleScript_IntimidateActivatesEnd3:: @ 81D9307 +BattleScript_IntimidateActivatesEnd3:: call BattleScript_81D930D end3 -BattleScript_81D930D:: @ 81D930D - pause 32 -BattleScript_IntimidateActivates:: @ 81D9310 +BattleScript_81D930D:: + pause 0x20 +BattleScript_IntimidateActivates:: setbyte gBattlerTarget, 0 setstatchanger STAT_ATK, 1, TRUE -BattleScript_81D931C:: @ 81D931C +BattleScript_81D931C:: trygetintimidatetarget BattleScript_81D936A jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D935F jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_81D936B @@ -4011,387 +4012,387 @@ BattleScript_81D931C:: @ 81D931C setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH - waitmessage 64 -BattleScript_81D935F:: @ 81D935F + waitmessage 0x40 +BattleScript_81D935F:: addbyte gBattlerTarget, 1 goto BattleScript_81D931C -BattleScript_81D936A:: @ 81D936A +BattleScript_81D936A:: return -BattleScript_81D936B:: @ 81D936B - pause 32 +BattleScript_81D936B:: + pause 0x20 printstring STRINGID_PREVENTEDFROMWORKING - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D935F -BattleScript_DroughtActivates:: @ 81D9379 - pause 32 +BattleScript_DroughtActivates:: + pause 0x20 printstring STRINGID_PKMNSXINTENSIFIEDSUN waitstate playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES, NULL call BattleScript_81D92DC end3 -BattleScript_TookAttack:: @ 81D938D +BattleScript_TookAttack:: attackstring - pause 32 + pause 0x20 printstring STRINGID_PKMNSXTOOKATTACK - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED return -BattleScript_SturdyPreventsOHKO:: @ 81D93A1 - pause 32 +BattleScript_SturdyPreventsOHKO:: + pause 0x20 printstring STRINGID_PKMNPROTECTEDBY - pause 64 + pause 0x40 goto BattleScript_MoveEnd -BattleScript_DampStopsExplosion:: @ 81D93AF - pause 32 +BattleScript_DampStopsExplosion:: + pause 0x20 printstring STRINGID_PKMNPREVENTSUSAGE - pause 64 + pause 0x40 goto BattleScript_MoveEnd -BattleScript_MoveHPDrain_PPLoss:: @ 81D93BD +BattleScript_MoveHPDrain_PPLoss:: ppreduce -BattleScript_MoveHPDrain:: @ 81D93BE +BattleScript_MoveHPDrain:: attackstring - pause 32 + pause 0x20 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNRESTOREDHPUSING - waitmessage 64 + waitmessage 0x40 orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE goto BattleScript_MoveEnd -BattleScript_MonMadeMoveUseless_PPLoss:: @ 81D93E0 +BattleScript_MonMadeMoveUseless_PPLoss:: ppreduce -BattleScript_MonMadeMoveUseless:: @ 81D93E1 +BattleScript_MonMadeMoveUseless:: attackstring - pause 32 + pause 0x20 printstring STRINGID_PKMNSXMADEYUSELESS - waitmessage 64 + waitmessage 0x40 orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE goto BattleScript_MoveEnd -BattleScript_FlashFireBoost_PPLoss:: @ 81D93F6 +BattleScript_FlashFireBoost_PPLoss:: ppreduce -BattleScript_FlashFireBoost:: @ 81D93F7 +BattleScript_FlashFireBoost:: attackstring - pause 32 + pause 0x20 printfromtable gFlashFireStringIds - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D9408:: @ 81D9408 - pause 32 +BattleScript_AbilityPreventsPhasingOut:: + pause 0x20 printstring STRINGID_PKMNANCHORSITSELFWITH - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_AbilityNoStatLoss:: @ 81D9416 - pause 32 +BattleScript_AbilityNoStatLoss:: + pause 0x20 printstring STRINGID_PKMNPREVENTSSTATLOSSWITH - waitmessage 64 + waitmessage 0x40 return -BattleScript_BRNPrevention:: @ 81D9420 - pause 32 +BattleScript_BRNPrevention:: + pause 0x20 printfromtable gBRNPreventionStringIds - waitmessage 64 + waitmessage 0x40 return -BattleScript_PRLZPrevention:: @ 81D942C - pause 32 +BattleScript_PRLZPrevention:: + pause 0x20 printfromtable gPRLZPreventionStringIds - waitmessage 64 + waitmessage 0x40 return -BattleScript_PSNPrevention:: @ 81D9438 - pause 32 +BattleScript_PSNPrevention:: + pause 0x20 printfromtable gPSNPreventionStringIds - waitmessage 64 + waitmessage 0x40 return -BattleScript_ObliviousPreventsAttraction:: @ 81D9444 - pause 32 +BattleScript_ObliviousPreventsAttraction:: + pause 0x20 printstring STRINGID_PKMNPREVENTSROMANCEWITH - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_FlinchPrevention:: @ 81D9452 - pause 32 +BattleScript_FlinchPrevention:: + pause 0x20 printstring STRINGID_PKMNSXPREVENTSFLINCHING - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D9460:: @ 81D9460 - pause 32 +BattleScript_OwnTempoPrevents:: + pause 0x20 printstring STRINGID_PKMNPREVENTSCONFUSIONWITH - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_SoundproofProtected:: @ 81D946E +BattleScript_SoundproofProtected:: attackstring ppreduce - pause 32 + pause 0x20 printstring STRINGID_PKMNSXBLOCKSY - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_AbilityNoSpecificStatLoss:: @ 81D947E - pause 32 +BattleScript_AbilityNoSpecificStatLoss:: + pause 0x20 printstring STRINGID_PKMNSXPREVENTSYLOSS - waitmessage 64 + waitmessage 0x40 setbyte cMULTISTRING_CHOOSER, 3 return -BattleScript_StickyHoldActivates:: @ 81D948E - pause 32 +BattleScript_StickyHoldActivates:: + pause 0x20 printstring STRINGID_PKMNSXMADEYINEFFECTIVE - waitmessage 64 + waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_ColorChangeActivates:: @ 81D949C +BattleScript_ColorChangeActivates:: printstring STRINGID_PKMNCHANGEDTYPEWITH - waitmessage 64 + waitmessage 0x40 return -BattleScript_RoughSkinActivates:: @ 81D94A3 +BattleScript_RoughSkinActivates:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHURTSWITH - waitmessage 64 + waitmessage 0x40 tryfaintmon BS_ATTACKER, 0, NULL return -BattleScript_CuteCharmActivates:: @ 81D94BE +BattleScript_CuteCharmActivates:: status2animation BS_ATTACKER, STATUS2_INFATUATION printstring STRINGID_PKMNSXINFATUATEDY - waitmessage 64 + waitmessage 0x40 return -BattleScript_ApplySecondaryEffect:: @ 81D94CB +BattleScript_ApplySecondaryEffect:: waitstate seteffectsecondary return -BattleScript_SynchronizeActivates:: @ 81D94CE +BattleScript_SynchronizeActivates:: waitstate seteffectprimary return -BattleScript_AbilityCuredStatus:: @ 81D94D1 +BattleScript_AbilityCuredStatus:: printstring STRINGID_PKMNSXCUREDITSYPROBLEM - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_SCRIPTING return -BattleScript_IgnoresWhileAsleep:: @ 81D94DA +BattleScript_IgnoresWhileAsleep:: printstring STRINGID_PKMNIGNORESASLEEP - waitmessage 64 + waitmessage 0x40 moveendto 16 end -BattleScript_IgnoresAndUsesRandomMove:: @ 81D94EA +BattleScript_IgnoresAndUsesRandomMove:: printstring STRINGID_PKMNIGNOREDORDERS - waitmessage 64 + waitmessage 0x40 jumptocalledmove 0 -BattleScript_MoveUsedLoafingAround:: @ 81D94F2 +BattleScript_MoveUsedLoafingAround:: printfromtable gInobedientStringIds - waitmessage 64 + waitmessage 0x40 moveendto 16 end -BattleScript_IgnoresAndFallsAsleep:: @ 81D9504 +BattleScript_IgnoresAndFallsAsleep:: printstring STRINGID_PKMNBEGANTONAP - waitmessage 64 + waitmessage 0x40 setmoveeffect MOVE_EFFECT_SLEEP | MOVE_EFFECT_AFFECTS_USER seteffectprimary moveendto 16 end -BattleScript_IgnoresAndHitsItself:: @ 81D951B +BattleScript_IgnoresAndHitsItself:: printstring STRINGID_PKMNWONTOBEY - waitmessage 64 + waitmessage 0x40 goto BattleScript_81D90EA -BattleScript_SubstituteFade:: @ 81D9526 +BattleScript_SubstituteFade:: playanimation BS_TARGET, B_ANIM_SUBSTITUTE_FADE, NULL printstring STRINGID_PKMNSUBSTITUTEFADED return -BattleScript_BerryCurePrlzEnd2:: @ 81D9531 +BattleScript_BerryCurePrlzEnd2:: call BattleScript_BerryCureParRet end2 -BattleScript_BerryCureParRet:: @ 81D9537 +BattleScript_BerryCureParRet:: playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMCUREDPARALYSIS - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return -BattleScript_BerryCurePsnEnd2:: @ 81D9549 +BattleScript_BerryCurePsnEnd2:: call BattleScript_BerryCurePsnRet end2 -BattleScript_BerryCurePsnRet:: @ 81D954F +BattleScript_BerryCurePsnRet:: playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMCUREDPOISON - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return -BattleScript_BerryCureBrnEnd2:: @ 81D9561 +BattleScript_BerryCureBrnEnd2:: call BattleScript_BerryCureBrnRet end2 -BattleScript_BerryCureBrnRet:: @ 81D9567 +BattleScript_BerryCureBrnRet:: playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMHEALEDBURN - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return -BattleScript_BerryCureFrzEnd2:: @ 81D9579 +BattleScript_BerryCureFrzEnd2:: call BattleScript_BerryCureFrzRet end2 -BattleScript_BerryCureFrzRet:: @ 81D957F +BattleScript_BerryCureFrzRet:: playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMDEFROSTEDIT - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return -BattleScript_BerryCureSlpEnd2:: @ 81D9591 +BattleScript_BerryCureSlpEnd2:: call BattleScript_BerryCureSlpRet end2 -BattleScript_BerryCureSlpRet:: @ 81D9597 +BattleScript_BerryCureSlpRet:: playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMWOKEIT - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return -BattleScript_BerryCureConfusionEnd2:: @ 81D95A9 +BattleScript_BerryCureConfusionEnd2:: call BattleScript_BerryCureConfusionRet end2 -BattleScript_BerryCureConfusionRet:: @ 81D95AF +BattleScript_BerryCureConfusionRet:: playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMSNAPPEDOUT - waitmessage 64 + waitmessage 0x40 removeitem BS_SCRIPTING return -BattleScript_BerryCureChosenStatusEnd2:: @ 81D95BF +BattleScript_BerryCureChosenStatusEnd2:: call BattleScript_BerryCureChosenStatusRet end2 -BattleScript_BerryCureChosenStatusRet:: @ 81D95C5 +BattleScript_BerryCureChosenStatusRet:: playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printfromtable gBerryEffectStringIds - waitmessage 64 + waitmessage 0x40 updatestatusicon BS_SCRIPTING removeitem BS_SCRIPTING return -BattleScript_WhiteHerbEnd2:: @ 81D95D9 +BattleScript_WhiteHerbEnd2:: call BattleScript_WhiteHerbRet end2 -BattleScript_WhiteHerbRet:: @ 81D95DF +BattleScript_WhiteHerbRet:: playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDSTATUS - waitmessage 64 + waitmessage 0x40 removeitem BS_SCRIPTING return -BattleScript_ItemHealHP_RemoveItem:: @ 81D95EF +BattleScript_ItemHealHP_RemoveItem:: playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHEALTH - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER removeitem BS_ATTACKER end2 -BattleScript_BerryPPHealEnd2:: @ 81D960C +BattleScript_BerryPPHealEnd2:: playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDPP - waitmessage 64 + waitmessage 0x40 removeitem BS_ATTACKER end2 -BattleScript_ItemHealHP_End2:: @ 81D961C +BattleScript_ItemHealHP_End2:: call BattleScript_ItemHealHP_Ret end2 -BattleScript_ItemHealHP_Ret:: @ 81D9622 +BattleScript_ItemHealHP_Ret:: playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER return -BattleScript_SelectingNotAllowedMoveChoiceItem:: @ 81D963D +BattleScript_SelectingNotAllowedMoveChoiceItem:: printselectionstring STRINGID_ITEMALLOWSONLYYMOVE endselectionscript -BattleScript_HangedOnMsg:: @ 81D9641 +BattleScript_HangedOnMsg:: playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL printstring STRINGID_PKMNHUNGONWITHX - waitmessage 64 + waitmessage 0x40 return -BattleScript_BerryConfuseHealEnd2:: @ 81D964F +BattleScript_BerryConfuseHealEnd2:: playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNSITEMRESTOREDHEALTH - waitmessage 64 + waitmessage 0x40 orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_FORXCOMMAYZ - waitmessage 64 + waitmessage 0x40 setmoveeffect MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER seteffectprimary removeitem BS_ATTACKER end2 -BattleScript_BerryStatRaiseEnd2:: @ 81D9679 +BattleScript_BerryStatRaiseEnd2:: playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D9686 -BattleScript_81D9686:: @ 81D9686 +BattleScript_81D9686:: setbyte cMULTISTRING_CHOOSER, 4 call BattleScript_StatUp removeitem BS_ATTACKER end2 -BattleScript_BerryFocusEnergyEnd2:: @ 81D9694 +BattleScript_BerryFocusEnergyEnd2:: playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL printstring STRINGID_PKMNUSEDXTOGETPUMPED - waitmessage 64 + waitmessage 0x40 removeitem BS_ATTACKER end2 -BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D96A4 +BattleScript_ActionSelectionItemsCantBeUsed:: printselectionstring STRINGID_ITEMSCANTBEUSEDNOW endselectionscript -BattleScript_FlushMessageBox:: @ 81D96A8 +BattleScript_FlushMessageBox:: printstring STRINGID_EMPTYSTRING3 return diff --git a/include/constants/battle.h b/include/constants/battle.h index e025af630..2da89d815 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -169,14 +169,14 @@ #define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000 #define HITMARKER_x100000 0x00100000 #define HITMARKER_x200000 0x00200000 -#define HITMARKER_x400000 0x00400000 +#define HITMARKER_PLAYER_FAINTED 0x00400000 #define HITMARKER_x800000 0x00800000 #define HITMARKER_GRUDGE 0x01000000 #define HITMARKER_OBEYS 0x02000000 #define HITMARKER_x4000000 0x04000000 #define HITMARKER_CHARGING 0x08000000 #define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C) -#define HITMARKER_UNK(battler) (0x10000000 << battler) +#define HITMARKER_FAINTED2(battler) (0x10000000 << battler) // Per-side statuses that affect an entire party #define SIDE_STATUS_REFLECT (1 << 0) diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 49ecfeafa..de1b2a65e 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -39,6 +39,8 @@ #define BS_EFFECT_BATTLER 2 #define BS_FAINTED 3 #define BS_ATTACKER_WITH_PARTNER 4 // for atk98_updatestatusicon +#define BS_UNKNOWN_5 5 // for openpartyscreen +#define BS_UNKNOWN_6 6 // for openpartyscreen #define BS_BATTLER_0 7 #define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability #define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability @@ -48,6 +50,9 @@ #define BS_PLAYER2 13 // for atk98_updatestatusicon #define BS_OPPONENT2 14 +// used for openpartyscreen +#define OPEN_PARTY_ALLOW_CANCEL 0x80 + // atk 01, accuracy calc #define NO_ACC_CALC 0xFFFE #define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF @@ -70,7 +75,7 @@ #define VARIOUS_CASE_4 4 #define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5 #define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6 -#define VARIOUS_CASE_7 7 +#define VARIOUS_RESET_PLAYER_FAINTED_FLAG 7 #define VARIOUS_CASE_8 8 #define VARIOUS_RETURN_OPPONENT_MON1 9 #define VARIOUS_RETURN_OPPONENT_MON2 10 diff --git a/src/battle_main.c b/src/battle_main.c index 9104bc381..abeea3acf 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2910,7 +2910,7 @@ void BattleTurnPassed(void) TurnValuesCleanUp(FALSE); gHitMarker &= ~(HITMARKER_NO_ATTACKSTRING); gHitMarker &= ~(HITMARKER_UNABLE_TO_USE_MOVE); - gHitMarker &= ~(HITMARKER_x400000); + gHitMarker &= ~(HITMARKER_PLAYER_FAINTED); gHitMarker &= ~(HITMARKER_x100000); gBattleScripting.animTurn = 0; gBattleScripting.animTargetsHit = 0; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index d8ea3cdc7..7be47d762 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2833,7 +2833,7 @@ static void atk19_tryfaintmon(void) gBattlescriptCurrInstr = BS_ptr; if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { - gHitMarker |= HITMARKER_x400000; + gHitMarker |= HITMARKER_PLAYER_FAINTED; if (gBattleResults.playerFaintCounter < 0xFF) ++gBattleResults.playerFaintCounter; AdjustFriendshipOnBattleFaint(gActiveBattler); @@ -4738,11 +4738,11 @@ static void atk50_openpartyscreen(void) } else { - if (gBattlescriptCurrInstr[1] & 0x80) + if (gBattlescriptCurrInstr[1] & OPEN_PARTY_ALLOW_CANCEL) hitmarkerFaintBits = PARTY_CHOOSE_MON; // Used here as the caseId for the EmitChoose function. else hitmarkerFaintBits = PARTY_MUST_CHOOSE_MON; - battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(0x80)); + battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(OPEN_PARTY_ALLOW_CANCEL)); if (gSpecialStatuses[battlerId].flag40) { gBattlescriptCurrInstr += 6; @@ -6146,12 +6146,12 @@ static void atk76_various(void) *choicedMove = MOVE_NONE; } break; - case VARIOUS_CASE_7: + case VARIOUS_RESET_PLAYER_FAINTED_FLAG: if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE)) && gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattleMons[0].hp != 0 && gBattleMons[1].hp != 0) - gHitMarker &= ~(HITMARKER_x400000); + gHitMarker &= ~(HITMARKER_PLAYER_FAINTED); break; case VARIOUS_CASE_8: i = 0; // redundant From 60b75e85c91a87e70dda2695bf5c5c66d61a0c17 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 18:15:43 -0500 Subject: [PATCH 14/21] Finish documentation of battle_scripts_1 --- data/battle_scripts_1.s | 823 +++++++++++++++++++-------------------- include/battle_scripts.h | 4 +- src/battle_main.c | 2 +- 3 files changed, 411 insertions(+), 418 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 5ef182b53..1eeae3a09 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -502,7 +502,7 @@ BattleScript_EffectStatUpAfterAtkCanceler:: BattleScript_StatUpAttackAnim:: attackanimation waitanimation -BattleScript_StatUpPrintString:: +BattleScript_StatUpDoAnim:: setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 BattleScript_StatUpPrintString:: @@ -1164,8 +1164,7 @@ BattleScript_EffectLeechSeed:: pause 0x20 ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - accuracycheck BattleScript_DoLeechSeed, ACC_CURR_MOVE -BattleScript_DoLeechSeed:: + accuracycheck .+6, ACC_CURR_MOVE setseeded attackanimation waitanimation @@ -1315,23 +1314,23 @@ BattleScript_EffectSketch:: BattleScript_EffectSleepTalk:: attackcanceler - jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D753E + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_SleepTalkIsAsleep attackstring ppreduce goto BattleScript_ButItFailed -BattleScript_81D753E:: +BattleScript_SleepTalkIsAsleep:: printstring STRINGID_PKMNFASTASLEEP waitmessage 0x40 statusanimation BS_ATTACKER attackstring ppreduce orword gHitMarker, HITMARKER_NO_PPDEDUCT - trychoosesleeptalkmove BattleScript_81D755E + trychoosesleeptalkmove BattleScript_SleepTalkUsingMove pause 0x40 goto BattleScript_ButItFailed -BattleScript_81D755E:: +BattleScript_SleepTalkUsingMove:: attackanimation waitanimation setbyte sB_ANIM_TURN, 0 @@ -1374,15 +1373,15 @@ BattleScript_EffectHealBell:: waitanimation printfromtable gPartyStatusHealStringIds waitmessage 0x40 - jumpifnotmove MOVE_HEAL_BELL, BattleScript_81D75DE - jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 1, BattleScript_81D75CD + jumpifnotmove MOVE_HEAL_BELL, BattleScript_PartyHealEnd + jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 1, BattleScript_CheckHealBellMon2Unaffected printstring STRINGID_PKMNSXBLOCKSY waitmessage 0x40 -BattleScript_81D75CD:: - jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 2, BattleScript_81D75DE +BattleScript_CheckHealBellMon2Unaffected:: + jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 2, BattleScript_PartyHealEnd printstring STRINGID_PKMNSXBLOCKSY2 waitmessage 0x40 -BattleScript_81D75DE:: +BattleScript_PartyHealEnd:: updatestatusicon BS_ATTACKER_WITH_PARTNER waitstate goto BattleScript_MoveEnd @@ -1395,13 +1394,13 @@ BattleScript_EffectTripleKick:: setbyte gBattleScripting + 19, 0 initmultihitstring setmultihit 3 -BattleScript_81D75F8:: - jumpifhasnohp BS_ATTACKER, BattleScript_81D76B7 - jumpifhasnohp BS_TARGET, BattleScript_81D7679 - jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_81D761A - jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_81D7679 -BattleScript_81D761A:: - accuracycheck BattleScript_81D7679, ACC_CURR_MOVE +BattleScript_TripleKickLoop:: + jumpifhasnohp BS_ATTACKER, BattleScript_TripleKickEnd + jumpifhasnohp BS_TARGET, BattleScript_TripleKickNoMoreHits + jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoTripleKickAttack + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_TripleKickNoMoreHits +BattleScript_DoTripleKickAttack:: + accuracycheck BattleScript_TripleKickNoMoreHits, ACC_CURR_MOVE movevaluescleanup addbyte sTRIPLE_KICK_POWER, 10 addbyte gBattleScripting + 12, 1 @@ -1410,7 +1409,7 @@ BattleScript_81D761A:: damagecalc typecalc adjustnormaldamage - jumpifmovehadnoeffect BattleScript_81D7679 + jumpifmovehadnoeffect BattleScript_TripleKickNoMoreHits attackanimation waitanimation effectivenesssound @@ -1423,23 +1422,23 @@ BattleScript_81D761A:: printstring STRINGID_EMPTYSTRING3 waitmessage 1 moveendto 16 - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_81D768D - decrementmultihit BattleScript_81D75F8 - goto BattleScript_81D768D + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings + decrementmultihit BattleScript_TripleKickLoop + goto BattleScript_TripleKickPrintStrings -BattleScript_81D7679:: +BattleScript_TripleKickNoMoreHits:: pause 0x20 - jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_81D768D + jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_TripleKickPrintStrings bicbyte gMoveResultFlags, MOVE_RESULT_MISSED -BattleScript_81D768D:: +BattleScript_TripleKickPrintStrings:: resultmessage waitmessage 0x40 - jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_81D76B7 - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_81D76B7 + jumpifbyte CMP_EQUAL, gBattleScripting + 12, 0, BattleScript_TripleKickEnd + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_TripleKickEnd copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 printstring STRINGID_HITXTIMES waitmessage 0x40 -BattleScript_81D76B7:: +BattleScript_TripleKickEnd:: seteffectwithchance tryfaintmon BS_TARGET, 0, NULL moveendfrom 14 @@ -1470,10 +1469,10 @@ BattleScript_EffectNightmare:: ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifstatus2 BS_TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed - jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_81D772C + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_NightmareWorked goto BattleScript_ButItFailed -BattleScript_81D772C:: +BattleScript_NightmareWorked:: attackanimation waitanimation setmoveeffect MOVE_EFFECT_NIGHTMARE @@ -1489,39 +1488,39 @@ BattleScript_EffectMinimize:: goto BattleScript_EffectStatUpAfterAtkCanceler BattleScript_EffectCurse:: - jumpiftype2 BS_ATTACKER, TYPE_GHOST, BattleScript_81D77C5 + jumpiftype2 BS_ATTACKER, TYPE_GHOST, BattleScript_GhostCurse attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0, BattleScript_81D7772 - jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 12, BattleScript_81D7772 + jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0, BattleScript_CurseTrySpeed + jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 12, BattleScript_CurseTrySpeed jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_ButItFailed -BattleScript_81D7772:: +BattleScript_CurseTrySpeed:: copybyte gBattlerTarget, gBattlerAttacker setbyte sB_ANIM_TURN, 1 attackanimation waitanimation setstatchanger STAT_SPEED, 1, TRUE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7798 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_CurseTryAttack printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_81D7798:: +BattleScript_CurseTryAttack:: setstatchanger STAT_ATK, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D77AC + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_CurseTryDefence printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D77AC:: +BattleScript_CurseTryDefence:: setstatchanger STAT_DEF, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D77C0 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_CurseEnd printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D77C0:: +BattleScript_CurseEnd:: goto BattleScript_MoveEnd -BattleScript_81D77C5:: - jumpifbytenotequal gBattlerAttacker, gBattlerTarget, BattleScript_81D77D6 +BattleScript_GhostCurse:: + jumpifbytenotequal gBattlerAttacker, gBattlerTarget, BattleScript_DoGhostCurse getmovetarget BS_ATTACKER -BattleScript_81D77D6:: +BattleScript_DoGhostCurse:: attackcanceler attackstring ppreduce @@ -1583,33 +1582,32 @@ BattleScript_EffectPerishSong:: printstring STRINGID_FAINTINTHREE waitmessage 0x40 setbyte sBATTLER, 0 -BattleScript_81D786C:: - jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_81D788C -BattleScript_81D7873:: +BattleScript_PerishSongLoop:: + jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_PerishSongNotAffected +BattleScript_PerishSongLoopIncrement:: addbyte sBATTLER, 1 - jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_81D786C + jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_PerishSongLoop goto BattleScript_MoveEnd -BattleScript_81D788C:: +BattleScript_PerishSongNotAffected:: printstring STRINGID_PKMNSXBLOCKSY2 waitmessage 0x40 - goto BattleScript_81D7873 + goto BattleScript_PerishSongLoopIncrement BattleScript_EffectSandstorm:: attackcanceler attackstring ppreduce setsandstorm - goto BattleScript_81D7A14 + goto BattleScript_MoveWeatherChange BattleScript_EffectRollout:: attackcanceler attackstring - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D78AD + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_RolloutHit ppreduce -BattleScript_81D78AD:: - accuracycheck BattleScript_81D78B4, ACC_CURR_MOVE -BattleScript_81D78B4:: +BattleScript_RolloutHit:: + accuracycheck .+6, ACC_CURR_MOVE typecalc2 rolloutdamagecalculation goto BattleScript_HitFromCritCalc @@ -1624,13 +1622,13 @@ BattleScript_EffectSwagger:: attackanimation waitanimation setstatchanger STAT_ATK, 2, FALSE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D78FE - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D78FE + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_SwaggerTryConfuse + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_SwaggerTryConfuse setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D78FE:: +BattleScript_SwaggerTryConfuse:: jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected setmoveeffect MOVE_EFFECT_CONFUSION @@ -1641,13 +1639,13 @@ BattleScript_EffectFuryCutter:: attackcanceler attackstring ppreduce - accuracycheck BattleScript_81D7923, ACC_CURR_MOVE -BattleScript_81D7923:: + accuracycheck .+6, ACC_CURR_MOVE +BattleScript_FuryCutterHit:: furycuttercalc critcalc damagecalc typecalc - jumpifmovehadnoeffect BattleScript_81D7923 + jumpifmovehadnoeffect BattleScript_FuryCutterHit adjustnormaldamage goto BattleScript_HitFromAtkAnimation @@ -1696,7 +1694,7 @@ BattleScript_EffectMagnitude:: pause 0x20 printstring STRINGID_MAGNITUDESTRENGTH waitmessage 0x40 - goto BattleScript_81D7B17 + goto BattleScript_HitsAllWithUndergroundBonusLoop BattleScript_EffectBatonPass:: attackcanceler @@ -1751,12 +1749,12 @@ BattleScript_EffectRainDance:: attackstring ppreduce setrain -BattleScript_81D7A14:: +BattleScript_MoveWeatherChange:: attackanimation waitanimation printfromtable gMoveWeatherChangeStringIds waitmessage 0x40 - call BattleScript_81D92DC + call BattleScript_HandleWeatherFormChanges goto BattleScript_MoveEnd BattleScript_EffectSunnyDay:: @@ -1764,7 +1762,7 @@ BattleScript_EffectSunnyDay:: attackstring ppreduce setsunny - goto BattleScript_81D7A14 + goto BattleScript_MoveWeatherChange BattleScript_EffectDefenseUpHit:: setmoveeffect MOVE_EFFECT_DEF_PLUS_1 | MOVE_EFFECT_AFFECTS_USER @@ -1819,20 +1817,20 @@ BattleScript_EffectSkullBash:: setbyte sTWOTURN_STRINGID, 2 call BattleScriptFirstChargingTurn setstatchanger STAT_DEF, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7AE9 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D7AE9 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_SkullBashEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_SkullBashEnd setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D7AE9:: +BattleScript_SkullBashEnd:: goto BattleScript_MoveEnd BattleScript_EffectTwister:: - jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_81D7B08 + jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_FlinchEffect orword gHitMarker, HITMARKER_IGNORE_ON_AIR setbyte sDMG_MULTIPLIER, 2 -BattleScript_81D7B08:: +BattleScript_FlinchEffect:: setmoveeffect MOVE_EFFECT_FLINCH goto BattleScript_EffectHit @@ -1841,18 +1839,18 @@ BattleScript_EffectEarthquake:: attackstring ppreduce selectfirstvalidtarget -BattleScript_81D7B17:: +BattleScript_HitsAllWithUndergroundBonusLoop:: movevaluescleanup - jumpifnostatus3 BS_TARGET, STATUS3_UNDERGROUND, BattleScript_81D7B37 + jumpifnostatus3 BS_TARGET, STATUS3_UNDERGROUND, BattleScript_HitsAllNoUndergroundBonus orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND setbyte sDMG_MULTIPLIER, 2 - goto BattleScript_81D7B46 + goto BattleScript_DoHitAllWithUndergroundBonus -BattleScript_81D7B37:: +BattleScript_HitsAllNoUndergroundBonus:: bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND setbyte sDMG_MULTIPLIER, 1 -BattleScript_81D7B46:: - accuracycheck BattleScript_81D7B7F, ACC_CURR_MOVE +BattleScript_DoHitAllWithUndergroundBonus:: + accuracycheck BattleScript_HitAllWithUndergroundBonusMissed, ACC_CURR_MOVE critcalc damagecalc typecalc @@ -1872,17 +1870,17 @@ BattleScript_81D7B46:: waitmessage 1 tryfaintmon BS_TARGET, 0, NULL moveendto 16 - jumpifnexttargetvalid BattleScript_81D7B17 + jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop end -BattleScript_81D7B7F:: +BattleScript_HitAllWithUndergroundBonusMissed:: pause 0x20 typecalc effectivenesssound resultmessage waitmessage 0x40 moveendto 16 - jumpifnexttargetvalid BattleScript_81D7B17 + jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop end BattleScript_EffectFutureSight:: @@ -1903,22 +1901,22 @@ BattleScript_EffectGust:: goto BattleScript_EffectHit BattleScript_EffectFlinchMinimizeHit:: - jumpifnostatus3 BS_TARGET, STATUS3_MINIMIZED, BattleScript_81D7B08 + jumpifnostatus3 BS_TARGET, STATUS3_MINIMIZED, BattleScript_FlinchEffect setbyte sDMG_MULTIPLIER, 2 - goto BattleScript_81D7B08 + goto BattleScript_FlinchEffect BattleScript_EffectSolarbeam:: - jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_81D7BFB - jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_81D7BFB - jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 96, BattleScript_81D7C23 -BattleScript_81D7BFB:: + jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_SolarbeamDecideTurn + jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_SolarbeamDecideTurn + jumpifhalfword CMP_COMMON_BITS, gBattleWeather, 96, BattleScript_SolarbeamOnFirstTurn +BattleScript_SolarbeamDecideTurn:: jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn setbyte sTWOTURN_STRINGID, 1 call BattleScriptFirstChargingTurn goto BattleScript_MoveEnd -BattleScript_81D7C23:: +BattleScript_SolarbeamOnFirstTurn:: orword gHitMarker, HITMARKER_CHARGING setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER seteffectprimary @@ -1937,7 +1935,7 @@ BattleScript_EffectTeleport:: jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed getifcantrunfrombattle BS_ATTACKER jumpifbyte CMP_EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed - jumpifbyte CMP_EQUAL, gBattleCommunication, 2, BattleScript_81D8255 + jumpifbyte CMP_EQUAL, gBattleCommunication, 2, BattleScript_PrintAbilityMadeIneffective attackanimation waitanimation printstring STRINGID_PKMNFLEDFROMBATTLE @@ -1952,14 +1950,14 @@ BattleScript_EffectBeatUp:: pause 0x20 ppreduce setbyte gBattleCommunication, 0 -BattleScript_81D7C9D:: +BattleScript_BeatUpLoop:: movevaluescleanup - trydobeatup BattleScript_81D7CE0, BattleScript_ButItFailed + trydobeatup BattleScript_BeatUpEnd, BattleScript_ButItFailed printstring STRINGID_PKMNATTACK critcalc - jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 2, BattleScript_81D7CB8 + jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 2, BattleScript_BeatUpAttack manipulatedamage 2 -BattleScript_81D7CB8:: +BattleScript_BeatUpAttack:: adjustnormaldamage attackanimation waitanimation @@ -1974,49 +1972,50 @@ BattleScript_81D7CB8:: waitmessage 0x40 tryfaintmon BS_TARGET, 0, NULL moveendto 16 - goto BattleScript_81D7C9D + goto BattleScript_BeatUpLoop -BattleScript_81D7CE0:: +BattleScript_BeatUpEnd:: end BattleScript_EffectSemiInvulnerable:: - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7D4F - jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_81D7D4F - jumpifmove MOVE_FLY, BattleScript_81D7D3E - jumpifmove MOVE_DIVE, BattleScript_81D7D33 - jumpifmove MOVE_BOUNCE, BattleScript_81D7D28 + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_SecondTurnSemiInvulnerable + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_SecondTurnSemiInvulnerable + jumpifmove MOVE_FLY, BattleScript_FlyFirstTurn + jumpifmove MOVE_DIVE, BattleScript_DiveFirstTurn + jumpifmove MOVE_BOUNCE, BattleScript_BounceFirstTurn + @ MOVE_DIG setbyte sTWOTURN_STRINGID, 5 - goto BattleScript_81D7D44 + goto BattleScript_FirstTurnSemiInvulnerable -BattleScript_81D7D28:: +BattleScript_BounceFirstTurn:: setbyte sTWOTURN_STRINGID, 7 - goto BattleScript_81D7D44 + goto BattleScript_FirstTurnSemiInvulnerable -BattleScript_81D7D33:: +BattleScript_DiveFirstTurn:: setbyte sTWOTURN_STRINGID, 6 - goto BattleScript_81D7D44 + goto BattleScript_FirstTurnSemiInvulnerable -BattleScript_81D7D3E:: +BattleScript_FlyFirstTurn:: setbyte sTWOTURN_STRINGID, 4 -BattleScript_81D7D44:: +BattleScript_FirstTurnSemiInvulnerable:: call BattleScriptFirstChargingTurn setsemiinvulnerablebit goto BattleScript_MoveEnd -BattleScript_81D7D4F:: +BattleScript_SecondTurnSemiInvulnerable:: attackcanceler setmoveeffect MOVE_EFFECT_CHARGING setbyte sB_ANIM_TURN, 1 clearstatusfromeffect BS_ATTACKER orword gHitMarker, HITMARKER_NO_PPDEDUCT - jumpifnotmove MOVE_BOUNCE, BattleScript_81D7D79 + jumpifnotmove MOVE_BOUNCE, BattleScript_SemiInvulnerableTryHit setmoveeffect MOVE_EFFECT_PARALYSIS -BattleScript_81D7D79:: - accuracycheck BattleScript_81D7D86, ACC_CURR_MOVE +BattleScript_SemiInvulnerableTryHit:: + accuracycheck BattleScript_SemiInvulnerableMiss, ACC_CURR_MOVE clearsemiinvulnerablebit goto BattleScript_HitFromAtkString -BattleScript_81D7D86:: +BattleScript_SemiInvulnerableMiss:: clearsemiinvulnerablebit goto BattleScript_PrintMoveMissed @@ -2026,12 +2025,12 @@ BattleScript_EffectDefenseCurl:: ppreduce setdefensecurlbit setstatchanger STAT_DEF, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D7DA9 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_DefenseCurlDoStatUpAnim jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_StatUpPrintString attackanimation waitanimation -BattleScript_81D7DA9:: - goto BattleScript_StatUpPrintString +BattleScript_DefenseCurlDoStatUpAnim:: + goto BattleScript_StatUpDoAnim BattleScript_EffectSoftboiled:: attackcanceler @@ -2062,7 +2061,7 @@ BattleScript_EffectFakeOut:: BattleScript_ButItFailedAtkStringPpReduce:: attackstring -BattleScript_81D7DF1:: +BattleScript_ButItFailedPpReduce:: ppreduce BattleScript_ButItFailed:: pause 0x20 @@ -2083,9 +2082,9 @@ BattleScript_EffectUproar:: accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE setmoveeffect MOVE_EFFECT_UPROAR | MOVE_EFFECT_AFFECTS_USER attackstring - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_81D7E30 + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_UproarHit ppreduce -BattleScript_81D7E30:: +BattleScript_UproarHit:: nop goto BattleScript_HitFromCritCalc @@ -2102,26 +2101,26 @@ BattleScript_EffectStockpile:: BattleScript_EffectSpitUp:: attackcanceler - jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_81D7E78 + jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_SpitUpNoDamage attackstring ppreduce accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - stockpiletobasedamage BattleScript_81D7E6A + stockpiletobasedamage BattleScript_SpitUpFail typecalc adjustsetdamage goto BattleScript_HitFromAtkAnimation -BattleScript_81D7E6A:: +BattleScript_SpitUpFail:: pause 0x20 printstring STRINGID_FAILEDTOSPITUP waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D7E78:: +BattleScript_SpitUpNoDamage:: attackstring ppreduce pause 0x40 - stockpiletobasedamage BattleScript_81D7E6A + stockpiletobasedamage BattleScript_SpitUpFail resultmessage waitmessage 0x40 goto BattleScript_MoveEnd @@ -2130,10 +2129,10 @@ BattleScript_EffectSwallow:: attackcanceler attackstring ppreduce - stockpiletohpheal BattleScript_81D7E98 + stockpiletohpheal BattleScript_SwallowFail goto BattleScript_PresentHealTarget -BattleScript_81D7E98:: +BattleScript_SwallowFail:: pause 0x20 printfromtable gSwallowFailStringIds waitmessage 0x40 @@ -2144,7 +2143,7 @@ BattleScript_EffectHail:: attackstring ppreduce sethail - goto BattleScript_81D7A14 + goto BattleScript_MoveWeatherChange BattleScript_EffectTorment:: attackcanceler @@ -2168,13 +2167,13 @@ BattleScript_EffectFlatter:: attackanimation waitanimation setstatchanger STAT_SPATK, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D7F10 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D7F10 + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_FlatterTryConfuse + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_FlatterTryConfuse setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D7F10:: +BattleScript_FlatterTryConfuse:: jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected setmoveeffect MOVE_EFFECT_CONFUSION @@ -2186,9 +2185,9 @@ BattleScript_EffectWillOWisp:: attackstring ppreduce jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed - jumpifstatus BS_TARGET, STATUS1_BURN, BattleScript_81D7F91 + jumpifstatus BS_TARGET, STATUS1_BURN, BattleScript_AlreadyBurned jumpiftype BS_TARGET, TYPE_FIRE, BattleScript_NotAffected - jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_81D7F77 + jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_WaterVeilPrevents jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected @@ -2198,13 +2197,13 @@ BattleScript_EffectWillOWisp:: seteffectprimary goto BattleScript_MoveEnd -BattleScript_81D7F77:: +BattleScript_WaterVeilPrevents:: copybyte gEffectBattler, gBattlerTarget setbyte cMULTISTRING_CHOOSER, 0 call BattleScript_BRNPrevention goto BattleScript_MoveEnd -BattleScript_81D7F91:: +BattleScript_AlreadyBurned:: pause 0x20 printstring STRINGID_PKMNALREADYHASBURN waitmessage 0x40 @@ -2212,43 +2211,42 @@ BattleScript_81D7F91:: BattleScript_EffectMemento:: attackcanceler - jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_81D8026 + jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 1, BattleScript_MementoNoReduceStats attackstring ppreduce jumpifattackandspecialattackcannotfall BattleScript_ButItFailed setatkhptozero attackanimation waitanimation - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D801B + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_MementoSubstituteInvulnerable setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_ONLY_MULTIPLE playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO setstatchanger STAT_ATK, 2, TRUE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D7FEC - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D7FEC + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_MementoSkipStatDown1 + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_MementoSkipStatDown1 printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_81D7FEC:: +BattleScript_MementoSkipStatDown1:: playstatchangeanimation BS_TARGET, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO setstatchanger STAT_SPATK, 2, TRUE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D800F - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D800F + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_MementoSkipStatDown2 + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_MementoSkipStatDown2 printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_81D800F:: +BattleScript_MementoSkipStatDown2:: tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd -BattleScript_81D801B:: +BattleScript_MementoSubstituteInvulnerable:: printstring STRINGID_BUTNOEFFECT waitmessage 0x40 - goto BattleScript_81D800F + goto BattleScript_MementoSkipStatDown2 -BattleScript_81D8026:: +BattleScript_MementoNoReduceStats:: attackstring ppreduce - jumpifattackandspecialattackcannotfall BattleScript_81D802D -BattleScript_81D802D:: + jumpifattackandspecialattackcannotfall .+4 setatkhptozero pause 0x40 effectivenesssound @@ -2258,10 +2256,10 @@ BattleScript_81D802D:: goto BattleScript_MoveEnd BattleScript_EffectFacade:: - jumpifstatus BS_ATTACKER, STATUS1_POISON | STATUS1_PARALYSIS | STATUS1_BURN | STATUS1_TOXIC_POISON, BattleScript_81D8051 + jumpifstatus BS_ATTACKER, STATUS1_POISON | STATUS1_PARALYSIS | STATUS1_BURN | STATUS1_TOXIC_POISON, BattleScript_FacadeDoubleDmg goto BattleScript_EffectHit -BattleScript_81D8051:: +BattleScript_FacadeDoubleDmg:: setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit @@ -2276,10 +2274,10 @@ BattleScript_EffectFocusPunch:: BattleScript_EffectSmellingsalt:: jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit setmoveeffect MOVE_EFFECT_REMOVE_PARALYSIS | MOVE_EFFECT_CERTAIN - jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_81D808D + jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_SmellingSaltBuff goto BattleScript_EffectHit -BattleScript_81D808D:: +BattleScript_SmellingSaltBuff:: setbyte sDMG_MULTIPLIER, 2 goto BattleScript_EffectHit @@ -2376,7 +2374,7 @@ BattleScript_EffectWish:: BattleScript_EffectAssist:: attackcanceler attackstring - assistattackselect BattleScript_81D7DF1 + assistattackselect BattleScript_ButItFailedPpReduce attackanimation waitanimation setbyte sB_ANIM_TURN, 0 @@ -2433,15 +2431,15 @@ BattleScript_EffectBrickBreak:: damagecalc typecalc adjustnormaldamage - jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0, BattleScript_81D81D9 + jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0, BattleScript_BrickBreakAnim bicbyte gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE -BattleScript_81D81D9:: +BattleScript_BrickBreakAnim:: attackanimation waitanimation - jumpifbyte CMP_LESS_THAN, sB_ANIM_TURN, 2, BattleScript_81D81EC + jumpifbyte CMP_LESS_THAN, sB_ANIM_TURN, 2, BattleScript_BrickBreakDoHit printstring STRINGID_THEWALLSHATTERED waitmessage 0x40 -BattleScript_81D81EC:: +BattleScript_BrickBreakDoHit:: typecalc2 effectivenesssound hitanimation BS_TARGET @@ -2460,8 +2458,8 @@ BattleScript_EffectYawn:: attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_81D824B - jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_81D824B + jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_PrintBankAbilityMadeIneffective + jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_PrintBankAbilityMadeIneffective jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON @@ -2473,9 +2471,9 @@ BattleScript_EffectYawn:: waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_81D824B:: +BattleScript_PrintBankAbilityMadeIneffective:: copybyte sBATTLER, sBATTLER_WITH_ABILITY -BattleScript_81D8255:: +BattleScript_PrintAbilityMadeIneffective:: pause 0x20 printstring STRINGID_PKMNSXMADEITINEFFECTIVE waitmessage 0x40 @@ -2582,54 +2580,54 @@ BattleScript_EffectTeeterDance:: attackstring ppreduce setbyte gBattlerTarget, 0 -BattleScript_81D834E:: +BattleScript_TeeterDanceLoop:: movevaluescleanup setmoveeffect MOVE_EFFECT_CONFUSION - jumpifbyteequal gBattlerAttacker, gBattlerTarget, BattleScript_81D8394 - jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_81D83B2 - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D83CE - jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_81D83DC - accuracycheck BattleScript_81D83EA, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_81D83C0 + jumpifbyteequal gBattlerAttacker, gBattlerTarget, BattleScript_TeeterDanceLoopIncrement + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_TeeterDanceOwnTempoPrevents + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_TeeterDanceSubstitutePrevents + jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_TeeterDanceAlreadyConfused + accuracycheck BattleScript_TeeterDanceMissed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_TeeterDanceSafeguardProtected attackanimation waitanimation seteffectprimary resultmessage waitmessage 0x40 -BattleScript_81D8394:: +BattleScript_TeeterDanceLoopIncrement:: moveendto 16 addbyte gBattlerTarget, 1 - jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_81D834E + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TeeterDanceLoop end -BattleScript_81D83B2:: +BattleScript_TeeterDanceOwnTempoPrevents:: pause 0x20 printstring STRINGID_PKMNPREVENTSCONFUSIONWITH waitmessage 0x40 - goto BattleScript_81D8394 + goto BattleScript_TeeterDanceLoopIncrement -BattleScript_81D83C0:: +BattleScript_TeeterDanceSafeguardProtected:: pause 0x20 printstring STRINGID_PKMNUSEDSAFEGUARD waitmessage 0x40 - goto BattleScript_81D8394 + goto BattleScript_TeeterDanceLoopIncrement -BattleScript_81D83CE:: +BattleScript_TeeterDanceSubstitutePrevents:: pause 0x20 printstring STRINGID_BUTITFAILED waitmessage 0x40 - goto BattleScript_81D8394 + goto BattleScript_TeeterDanceLoopIncrement -BattleScript_81D83DC:: +BattleScript_TeeterDanceAlreadyConfused:: pause 0x20 printstring STRINGID_PKMNALREADYCONFUSED waitmessage 0x40 - goto BattleScript_81D8394 + goto BattleScript_TeeterDanceLoopIncrement -BattleScript_81D83EA:: +BattleScript_TeeterDanceMissed:: resultmessage waitmessage 0x40 - goto BattleScript_81D8394 + goto BattleScript_TeeterDanceLoopIncrement BattleScript_EffectMudSport:: attackcanceler @@ -2658,9 +2656,9 @@ BattleScript_EffectTickle:: attackcanceler attackstring ppreduce - jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0, BattleScript_81D843B - jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0, BattleScript_81D8499 -BattleScript_81D843B:: + jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0, BattleScript_TickleDoMoveAnim + jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0, BattleScript_CantLowerMultipleStats +BattleScript_TickleDoMoveAnim:: accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE attackanimation waitanimation @@ -2668,21 +2666,21 @@ BattleScript_81D843B:: playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE setstatchanger STAT_ATK, 1, TRUE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D8471 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8471 + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_TickleTryLowerDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_TickleTryLowerDef printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_81D8471:: +BattleScript_TickleTryLowerDef:: playstatchangeanimation BS_TARGET, BIT_DEF, ATK48_STAT_NEGATIVE setstatchanger STAT_DEF, 1, TRUE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_81D8494 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8494 + statbuffchange STAT_CHANGE_BS_PTR, BattleScript_TickleEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_TickleEnd printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_81D8494:: +BattleScript_TickleEnd:: goto BattleScript_MoveEnd -BattleScript_81D8499:: +BattleScript_CantLowerMultipleStats:: pause 0x20 orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring STRINGID_STATSWONTDECREASE2 @@ -2693,25 +2691,25 @@ BattleScript_EffectCosmicPower:: attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_81D84C2 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D85E7 -BattleScript_81D84C2:: + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_CosmicPowerDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_CantRaiseMultipleStats +BattleScript_CosmicPowerDoMoveAnim:: attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, 0 setstatchanger STAT_DEF, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D84ED - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D84ED + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_CosmicPowerTrySpDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CosmicPowerTrySpDef printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D84ED:: +BattleScript_CosmicPowerTrySpDef:: setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D850C - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D850C + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_CosmicPowerEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CosmicPowerEnd printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D850C:: +BattleScript_CosmicPowerEnd:: goto BattleScript_MoveEnd BattleScript_EffectSkyUppercut:: @@ -2722,53 +2720,53 @@ BattleScript_EffectBulkUp:: attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8534 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_81D85E7 -BattleScript_81D8534:: + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_BulkUpDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 12, BattleScript_CantRaiseMultipleStats +BattleScript_BulkUpDoMoveAnim:: attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D855F - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D855F + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_BulkUpTryDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_BulkUpTryDef printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D855F:: +BattleScript_BulkUpTryDef:: setstatchanger STAT_DEF, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D857E - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D857E + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_BulkUpEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_BulkUpEnd printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D857E:: +BattleScript_BulkUpEnd:: goto BattleScript_MoveEnd BattleScript_EffectCalmMind:: attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_81D8598 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D85E7 -BattleScript_81D8598:: + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_CalmMindDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_CantRaiseMultipleStats +BattleScript_CalmMindDoMoveAnim:: attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0 setstatchanger STAT_SPATK, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D85C3 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D85C3 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_CalmMindTrySpDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CalmMindTrySpDef printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D85C3:: +BattleScript_CalmMindTrySpDef:: setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D85E2 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D85E2 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_CalmMindEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CalmMindEnd printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D85E2:: +BattleScript_CalmMindEnd:: goto BattleScript_MoveEnd -BattleScript_81D85E7:: +BattleScript_CantRaiseMultipleStats:: pause 0x20 orbyte gMoveResultFlags, MOVE_RESULT_FAILED printstring STRINGID_STATSWONTINCREASE2 @@ -2779,25 +2777,25 @@ BattleScript_EffectDragonDance:: attackcanceler attackstring ppreduce - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8610 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 12, BattleScript_81D85E7 -BattleScript_81D8610:: + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_DragonDanceDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 12, BattleScript_CantRaiseMultipleStats +BattleScript_DragonDanceDoMoveAnim:: attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_SPEED, 0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D863B - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D863B + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_DragonDanceTrySpeed + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_DragonDanceTrySpeed printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D863B:: +BattleScript_DragonDanceTrySpeed:: setstatchanger STAT_SPEED, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D865A - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D865A + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_DragonDanceEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_DragonDanceEnd printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D865A:: +BattleScript_DragonDanceEnd:: goto BattleScript_MoveEnd BattleScript_EffectCamouflage:: @@ -2835,34 +2833,34 @@ BattleScript_GiveExp:: end2 BattleScript_HandleFaintedMon:: - atk24 BattleScript_81D87B8 - jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D87B7 - jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D86E6 - jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_PLAYER_FAINTED, BattleScript_81D86E6 + atk24 BattleScript_LinkBattleHandleFaint + jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonTryChooseAnother + jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_PLAYER_FAINTED, BattleScript_FaintedMonTryChooseAnother printstring STRINGID_USENEXTPKMN setbyte gBattleCommunication, 0 yesnobox - jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0, BattleScript_81D86E6 - jumpifplayerran BattleScript_81D87B7 + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0, BattleScript_FaintedMonTryChooseAnother + jumpifplayerran BattleScript_FaintedMonEnd printstring STRINGID_CANTESCAPE2 -BattleScript_81D86E6:: - openpartyscreen BS_FAINTED, BattleScript_81D87B7 +BattleScript_FaintedMonTryChooseAnother:: + openpartyscreen BS_FAINTED, BattleScript_FaintedMonEnd switchhandleorder BS_FAINTED, 2 - jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_81D8792 - jumpifbattletype BATTLE_TYPE_LINK, BattleScript_81D8792 - jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_81D8792 - jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D8792 - jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_PLAYER_FAINTED, BattleScript_81D8792 - jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 1, BattleScript_81D8792 - jumpifcantswitch BS_PLAYER1, BattleScript_81D8792 + jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonChooseAnother + jumpifbattletype BATTLE_TYPE_LINK, BattleScript_FaintedMonChooseAnother + jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_FaintedMonChooseAnother + jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonChooseAnother + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_PLAYER_FAINTED, BattleScript_FaintedMonChooseAnother + jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 1, BattleScript_FaintedMonChooseAnother + jumpifcantswitch BS_PLAYER1, BattleScript_FaintedMonChooseAnother printstring STRINGID_ENEMYABOUTTOSWITCHPKMN setbyte gBattleCommunication, 0 yesnobox - jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 1, BattleScript_81D8792 + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 1, BattleScript_FaintedMonChooseAnother setatktoplayer0 - openpartyscreen BS_ATTACKER | OPEN_PARTY_ALLOW_CANCEL, BattleScript_81D8792 + openpartyscreen BS_ATTACKER | OPEN_PARTY_ALLOW_CANCEL, BattleScript_FaintedMonChooseAnother switchhandleorder BS_ATTACKER, 2 - jumpifbyte CMP_EQUAL, gBattleCommunication, 6, BattleScript_81D8792 + jumpifbyte CMP_EQUAL, gBattleCommunication, 6, BattleScript_FaintedMonChooseAnother atknameinbuff1 resetintimidatetracebits BS_ATTACKER hpthresholds2 BS_ATTACKER @@ -2881,7 +2879,7 @@ BattleScript_81D86E6:: waitstate switchineffects BS_ATTACKER resetsentmonsvalue -BattleScript_81D8792:: +BattleScript_FaintedMonChooseAnother:: drawpartystatussummary BS_FAINTED getswitchedmondata BS_FAINTED switchindataupdate BS_FAINTED @@ -2892,18 +2890,17 @@ BattleScript_81D8792:: waitstate various7 BS_ATTACKER switchineffects BS_FAINTED - jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D87B7 + jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonEnd cancelallactions -BattleScript_81D87B7:: +BattleScript_FaintedMonEnd:: end2 -BattleScript_81D87B8:: - openpartyscreen BS_UNKNOWN_5, BattleScript_81D87BE -BattleScript_81D87BE:: +BattleScript_LinkBattleHandleFaint:: + openpartyscreen BS_UNKNOWN_5, .+4 switchhandleorder BS_FAINTED, 0 - openpartyscreen BS_UNKNOWN_6, BattleScript_81D87EE + openpartyscreen BS_UNKNOWN_6, BattleScript_LinkBattleFaintedMonEnd switchhandleorder BS_FAINTED, 0 -BattleScript_81D87CA:: +BattleScript_LinkBattleFaintedMonLoop:: switchhandleorder BS_FAINTED, 2 drawpartystatussummary BS_FAINTED getswitchedmondata BS_FAINTED @@ -2914,8 +2911,8 @@ BattleScript_81D87CA:: switchinanim BS_FAINTED, 0 waitstate switchineffects 5 - jumpifbytenotequal gBattlerFainted, gBattlersCount, BattleScript_81D87CA -BattleScript_81D87EE:: + jumpifbytenotequal gBattlerFainted, gBattlersCount, BattleScript_LinkBattleFaintedMonLoop +BattleScript_LinkBattleFaintedMonEnd:: end2 BattleScript_LocalTrainerBattleWon:: @@ -2923,8 +2920,7 @@ BattleScript_LocalTrainerBattleWon:: trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1LOSETEXT - getmoneyreward BattleScript_81D87FD -BattleScript_81D87FD:: + getmoneyreward .+4 printstring STRINGID_PLAYERGOTMONEY waitmessage 0x40 BattleScript_PayDayMoneyAndPickUpItems:: @@ -2933,62 +2929,62 @@ BattleScript_PayDayMoneyAndPickUpItems:: end2 BattleScript_LocalBattleLost:: - jumpifbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D8896 - jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_81D886E - jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 1024, BattleScript_81D886E - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8876 -BattleScript_81D8839:: - jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D885D + jumpifbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_BattleTowerLost + jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_EReaderOrSecretBaseTrainerEnd + jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 1024, BattleScript_EReaderOrSecretBaseTrainerEnd + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_RivalBattleLost +BattleScript_LocalBattleLostPrintWhiteOut:: + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_LocalBattleLostEnd printstring STRINGID_PLAYERWHITEOUT waitmessage 0x40 - getmoneyreward BattleScript_81D886F + getmoneyreward BattleScript_LocalBattleLostPrintTrainersWinText printstring STRINGID_PLAYERWHITEOUT2 waitmessage 0x40 - goto BattleScript_81D886E + goto BattleScript_EReaderOrSecretBaseTrainerEnd -BattleScript_81D885D:: +BattleScript_LocalBattleLostEnd:: printstring STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER waitmessage 0x40 - getmoneyreward BattleScript_81D886F + getmoneyreward BattleScript_LocalBattleLostPrintTrainersWinText printstring STRINGID_PLAYERPAIDPRIZEMONEY waitmessage 0x40 -BattleScript_81D886E:: +BattleScript_EReaderOrSecretBaseTrainerEnd:: end2 -BattleScript_81D886F:: +BattleScript_LocalBattleLostPrintTrainersWinText:: printstring STRINGID_PLAYERWHITEDOUT waitmessage 0x40 end2 -BattleScript_81D8876:: - jumpifhasnohp BS_ATTACKER, BattleScript_81D8884 +BattleScript_RivalBattleLost:: + jumpifhasnohp BS_ATTACKER, BattleScript_RivalBattleLostSkipMonRecall printstring STRINGID_TRAINER1MON1COMEBACK waitmessage 0x40 returnatktoball waitstate -BattleScript_81D8884:: +BattleScript_RivalBattleLostSkipMonRecall:: trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1WINTEXT - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8839 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_LocalBattleLostPrintWhiteOut end2 -BattleScript_81D8896:: +BattleScript_BattleTowerLost:: various8 BS_ATTACKER - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D88B4 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_BattleTowerLostLostSkipMonRecall printfromtable gDoubleBattleRecallStrings waitmessage 0x40 returnopponentmon1toball BS_ATTACKER waitstate returnopponentmon2toball BS_ATTACKER waitstate -BattleScript_81D88B4:: +BattleScript_BattleTowerLostLostSkipMonRecall:: trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1WINTEXT - jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D88CB + jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_BattleTowerLostLostSkipDouble printstring STRINGID_TRAINER2NAME -BattleScript_81D88CB:: +BattleScript_BattleTowerLostLostSkipDouble:: end2 BattleScript_LinkBattleWonOrLost:: @@ -2998,15 +2994,15 @@ BattleScript_LinkBattleWonOrLost:: waitmessage 0x40 end2 -gUnknown_81D88D7:: +BattleScript_BattleTowerTrainerBattleWon:: printstring STRINGID_PLAYERDEFEATEDTRAINER1 trainerslidein BS_ATTACKER waitstate - jumpifnotbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_81D88FF + jumpifnotbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_BattleTowerEtcTrainerBattleWonSkipText printstring STRINGID_TRAINER1LOSETEXT - jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D88FF + jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_BattleTowerEtcTrainerBattleWonSkipText printstring STRINGID_TRAINER2CLASS -BattleScript_81D88FF:: +BattleScript_BattleTowerEtcTrainerBattleWonSkipText:: pickup end2 @@ -3032,11 +3028,11 @@ BattleScript_WildMonFled:: end2 BattleScript_PrintCantRunFromTrainer:: - jumpifbattletype BATTLE_TYPE_FIRST_BATTLE, BattleScript_81D8936 + jumpifbattletype BATTLE_TYPE_FIRST_BATTLE, BattleScript_LeftoverBirchString printstring STRINGID_NORUNNINGFROMTRAINERS end2 -BattleScript_81D8936:: +BattleScript_LeftoverBirchString:: printstring STRINGID_DONTLEAVEBIRCH end2 @@ -3057,20 +3053,20 @@ BattleScript_ActionSwitch:: hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON setbyte sDMG_MULTIPLIER, 2 - jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_81D896D + jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_PursuitSwitchCheckTwice setmultihit 1 - goto BattleScript_81D896F + goto BattleScript_PursuitSwitchLoop -BattleScript_81D896D:: +BattleScript_PursuitSwitchCheckTwice:: setmultihit 2 -BattleScript_81D896F:: - jumpifnopursuitswitchdmg BattleScript_81D897C +BattleScript_PursuitSwitchLoop:: + jumpifnopursuitswitchdmg BattleScript_DoSwitchOut swapattackerwithtarget trysetdestinybondtohappen - call BattleScript_81D89AF + call BattleScript_PursuitDmgOnSwitchOut swapattackerwithtarget -BattleScript_81D897C:: - decrementmultihit BattleScript_81D896F +BattleScript_DoSwitchOut:: + decrementmultihit BattleScript_PursuitSwitchLoop switchoutabilities BS_ATTACKER waitstate returnatktoball @@ -3089,7 +3085,7 @@ BattleScript_81D897C:: moveendcase 15 end2 -BattleScript_81D89AF:: +BattleScript_PursuitDmgOnSwitchOut:: pause 0x20 attackstring ppreduce @@ -3111,10 +3107,10 @@ BattleScript_81D89AF:: tryfaintmon BS_TARGET, 0, NULL moveendfromto 3, 6 various4 BS_TARGET - jumpifbyte CMP_EQUAL, gBattleCommunication, 0, BattleScript_81D89F0 + jumpifbyte CMP_EQUAL, gBattleCommunication, 0, BattleScript_PursuitSwitchRivalSkip setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET -BattleScript_81D89F0:: +BattleScript_PursuitSwitchRivalSkip:: return BattleScript_Pausex20:: @@ -3126,47 +3122,47 @@ BattleScript_LevelUp:: printstring STRINGID_PKMNGREWTOLV setbyte sLVLBOX_STATE, 0 drawlvlupbox - handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 1 - goto BattleScript_81D8A1B + handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, 1 + goto BattleScript_AskToLearnMove -BattleScript_81D8A11:: - handlelearnnewmove BattleScript_81D8A51, BattleScript_81D8A63, 0 -BattleScript_81D8A1B:: +BattleScript_LearnMoveLoop:: + handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, 0 +BattleScript_AskToLearnMove:: buffermovetolearn printstring STRINGID_TRYTOLEARNMOVE1 printstring STRINGID_TRYTOLEARNMOVE2 printstring STRINGID_TRYTOLEARNMOVE3 waitstate setbyte sLEARNMOVE_STATE, 0 - yesnoboxlearnmove BattleScript_81D8A48 + yesnoboxlearnmove BattleScript_ForgotAndLearnedNewMove printstring STRINGID_STOPLEARNINGMOVE waitstate setbyte sLEARNMOVE_STATE, 0 - yesnoboxstoplearningmove BattleScript_81D8A1B + yesnoboxstoplearningmove BattleScript_AskToLearnMove printstring STRINGID_DIDNOTLEARNMOVE - goto BattleScript_81D8A11 + goto BattleScript_LearnMoveLoop -BattleScript_81D8A48:: +BattleScript_ForgotAndLearnedNewMove:: printstring STRINGID_123POOF printstring STRINGID_PKMNFORGOTMOVE printstring STRINGID_ANDELLIPSIS -BattleScript_81D8A51:: +BattleScript_LearnedNewMove:: buffermovetolearn fanfare MUS_FANFA1 printstring STRINGID_PKMNLEARNEDMOVE waitmessage 0x40 updatechoicemoveonlvlup BS_ATTACKER - goto BattleScript_81D8A11 + goto BattleScript_LearnMoveLoop -BattleScript_81D8A63:: +BattleScript_LearnMoveReturn:: return BattleScript_RainContinuesOrEnds:: printfromtable gRainContinuesStringIds waitmessage 0x40 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8A7E + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_RainContinuesOrEndsEnd playanimation BS_ATTACKER, B_ANIM_RAIN_CONTINUES, NULL -BattleScript_81D8A7E:: +BattleScript_RainContinuesOrEndsEnd:: end2 BattleScript_DamagingWeatherContinues:: @@ -3174,10 +3170,10 @@ BattleScript_DamagingWeatherContinues:: waitmessage 0x40 playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL setbyte gBattleCommunication, 0 -BattleScript_81D8A97:: +BattleScript_DamagingWeatherLoop:: copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 1 weatherdamage - jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_81D8AD8 + jumpifword CMP_EQUAL, gBattleMoveDamage, NULL, BattleScript_DamagingWeatherContinuesEnd printfromtable gSandStormHailDmgStringIds waitmessage 0x40 orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE @@ -3186,12 +3182,12 @@ BattleScript_81D8A97:: healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, 0, NULL - atk24 BattleScript_81D8AD8 -BattleScript_81D8AD8:: - jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_81D8AF7 + atk24 .+4 +BattleScript_DamagingWeatherContinuesEnd:: + jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_WeatherDamageEndedBattle addbyte gBattleCommunication, 1 - jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_81D8A97 -BattleScript_81D8AF7:: + jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamagingWeatherLoop +BattleScript_WeatherDamageEndedBattle:: bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE end2 @@ -3240,14 +3236,14 @@ BattleScript_LeechSeedTurnDrain:: healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER copyword gBattleMoveDamage, gHpDealt - jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_81D8B7F + jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedLiquidOoze manipulatedamage 0 setbyte cMULTISTRING_CHOOSER, 3 - goto BattleScript_81D8B85 + goto BattleScript_LeechSeedTurnPrintAndUpdateHp -BattleScript_81D8B7F:: +BattleScript_LeechSeedLiquidOoze:: setbyte cMULTISTRING_CHOOSER, 4 -BattleScript_81D8B85:: +BattleScript_LeechSeedTurnPrintAndUpdateHp:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_TARGET datahpupdate BS_TARGET @@ -3300,10 +3296,10 @@ BattleScript_SuccessForceOut:: switchoutabilities BS_TARGET returntoball BS_TARGET waitstate - jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_81D8C2C + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_TrainerBattleForceOut setbyte gBattleOutcome, B_OUTCOME_PLAYER_TELEPORTED finishaction -BattleScript_81D8C2C:: +BattleScript_TrainerBattleForceOut:: getswitchedmondata BS_TARGET switchindataupdate BS_TARGET switchinanim BS_TARGET, 0 @@ -3355,12 +3351,12 @@ BattleScript_SpikesOnAttacker:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER - call BattleScript_81D8D2C + call BattleScript_PrintHurtBySpikes tryfaintmon BS_ATTACKER, 0, NULL - tryfaintmon BS_ATTACKER, 1, BattleScript_81D8CA8 + tryfaintmon BS_ATTACKER, 1, BattleScript_SpikesOnAttackerFainted return -BattleScript_81D8CA8:: +BattleScript_SpikesOnAttackerFainted:: setbyte sGIVEEXP_STATE, 0 getexp BS_ATTACKER moveendall @@ -3370,12 +3366,12 @@ BattleScript_SpikesOnTarget:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_TARGET datahpupdate BS_TARGET - call BattleScript_81D8D2C + call BattleScript_PrintHurtBySpikes tryfaintmon BS_TARGET, 0, NULL - tryfaintmon BS_TARGET, 1, BattleScript_81D8CDF + tryfaintmon BS_TARGET, 1, BattleScript_SpikesOnTargetFainted return -BattleScript_81D8CDF:: +BattleScript_SpikesOnTargetFainted:: setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET moveendall @@ -3385,18 +3381,18 @@ BattleScript_SpikesOnFaintedBattler:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_FAINTED datahpupdate BS_FAINTED - call BattleScript_81D8D2C + call BattleScript_PrintHurtBySpikes tryfaintmon BS_FAINTED, 0, NULL - tryfaintmon BS_FAINTED, 1, BattleScript_81D8D16 + tryfaintmon BS_FAINTED, 1, BattleScript_SpikesOnFaintedBattlerFainted return -BattleScript_81D8D16:: +BattleScript_SpikesOnFaintedBattlerFainted:: setbyte sGIVEEXP_STATE, 0 getexp BS_FAINTED moveendall goto BattleScript_HandleFaintedMon -BattleScript_81D8D2C:: +BattleScript_PrintHurtBySpikes:: printstring STRINGID_PKMNHURTBYSPIKES waitmessage 0x40 return @@ -3416,39 +3412,39 @@ BattleScript_PerishSongCountGoesDown:: end2 BattleScript_AllStatsUp:: - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 12, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_81D8D82 - jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_81D8DF0 -BattleScript_81D8D82:: + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 12, BattleScript_AllStatsUpAtk + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 12, BattleScript_AllStatsUpAtk + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 12, BattleScript_AllStatsUpAtk + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 12, BattleScript_AllStatsUpAtk + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 12, BattleScript_AllStatsUpRet +BattleScript_AllStatsUpAtk:: setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DA0 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_AllStatsUpDef printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D8DA0:: +BattleScript_AllStatsUpDef:: setstatchanger STAT_DEF, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DB4 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_AllStatsUpSpeed printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D8DB4:: +BattleScript_AllStatsUpSpeed:: setstatchanger STAT_SPEED, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DC8 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_AllStatsUpSpAtk printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D8DC8:: +BattleScript_AllStatsUpSpAtk:: setstatchanger STAT_SPATK, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DDC + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_AllStatsUpSpDef printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D8DDC:: +BattleScript_AllStatsUpSpDef:: setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D8DF0 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_AllStatsUpRet printfromtable gStatUpStringIds waitmessage 0x40 -BattleScript_81D8DF0:: +BattleScript_AllStatsUpRet:: return BattleScript_RapidSpinAway:: @@ -3474,21 +3470,21 @@ BattleScript_SpikesFree:: BattleScript_MonTookFutureAttack:: printstring STRINGID_PKMNTOOKATTACK waitmessage 0x40 - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8E2F - accuracycheck BattleScript_81D8E86, MOVE_FUTURE_SIGHT - goto BattleScript_81D8E36 + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_CheckDoomDesireMiss + accuracycheck BattleScript_FutureAttackMiss, MOVE_FUTURE_SIGHT + goto BattleScript_FutureAttackAnimate -BattleScript_81D8E2F:: - accuracycheck BattleScript_81D8E86, MOVE_DOOM_DESIRE -BattleScript_81D8E36:: +BattleScript_CheckDoomDesireMiss:: + accuracycheck BattleScript_FutureAttackMiss, MOVE_DOOM_DESIRE +BattleScript_FutureAttackAnimate:: adjustnormaldamage2 - jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D8E4E + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_FutureHitAnimDoomDesire playanimation BS_ATTACKER, B_ANIM_FUTURE_SIGHT_HIT, NULL - goto BattleScript_81D8E55 + goto BattleScript_DoFutureAttackHit -BattleScript_81D8E4E:: +BattleScript_FutureHitAnimDoomDesire:: playanimation BS_ATTACKER, B_ANIM_DOOM_DESIRE_HIT, NULL -BattleScript_81D8E55:: +BattleScript_DoFutureAttackHit:: effectivenesssound hitanimation BS_TARGET waitstate @@ -3497,14 +3493,13 @@ BattleScript_81D8E55:: resultmessage waitmessage 0x40 tryfaintmon BS_TARGET, 0, NULL - atk24 BattleScript_81D8E6D -BattleScript_81D8E6D:: + atk24 .+4 moveendcase 0 moveendfromto 11, 14 setbyte gMoveResultFlags, 0 end2 -BattleScript_81D8E86:: +BattleScript_FutureAttackMiss:: pause 0x20 setbyte gMoveResultFlags, 0 orbyte gMoveResultFlags, MOVE_RESULT_FAILED @@ -3546,7 +3541,7 @@ BattleScript_MoveUsedIsTaunted:: goto BattleScript_MoveEnd BattleScript_WishComesTrue:: - trywish 1, BattleScript_81D8EFC + trywish 1, BattleScript_WishButFullHp playanimation BS_TARGET, B_ANIM_WISH_HEAL, NULL printstring STRINGID_PKMNWISHCAMETRUE waitmessage 0x40 @@ -3557,7 +3552,7 @@ BattleScript_WishComesTrue:: waitmessage 0x40 end2 -BattleScript_81D8EFC:: +BattleScript_WishButFullHp:: printstring STRINGID_PKMNWISHCAMETRUE waitmessage 0x40 pause 0x20 @@ -3585,18 +3580,18 @@ BattleScript_AtkDefDown:: playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE | ATK48_DONT_CHECK_LOWER playstatchangeanimation BS_ATTACKER, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_DONT_CHECK_LOWER setstatchanger STAT_ATK, 1, TRUE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D8F62 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8F62 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_AtkDefDownAtkFail + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_AtkDefDownAtkFail printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_81D8F62:: +BattleScript_AtkDefDownAtkFail:: playstatchangeanimation BS_ATTACKER, BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_DONT_CHECK_LOWER setstatchanger STAT_DEF, 1, TRUE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D8F85 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D8F85 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_AtkDefDownDefFail + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_AtkDefDownDefFail printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_81D8F85:: +BattleScript_AtkDefDownDefFail:: return BattleScript_KnockedOff:: @@ -3654,11 +3649,11 @@ BattleScript_SAtkDown2:: setbyte sSTAT_ANIM_PLAYED, 0 playstatchangeanimation BS_ATTACKER, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_DONT_CHECK_LOWER setstatchanger STAT_SPATK, 2, TRUE - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_81D9014 - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_81D9014 + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_SAtkDown2End + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_SAtkDown2End printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_81D9014:: +BattleScript_SAtkDown2End:: return BattleScript_FocusPunchSetUp:: @@ -3691,21 +3686,20 @@ BattleScript_MonWokeUpInUproar:: BattleScript_PoisonTurnDmg:: printstring STRINGID_PKMNHURTBYPOISON waitmessage 0x40 -BattleScript_81D9059:: +BattleScript_DoStatusTurnDmg:: statusanimation BS_ATTACKER -BattleScript_81D905B:: +BattleScript_DoTurnDmg:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER, 0, NULL - atk24 BattleScript_81D9074 -BattleScript_81D9074:: + atk24 .+4 end2 BattleScript_BurnTurnDmg:: printstring STRINGID_PKMNHURTBYBURN waitmessage 0x40 - goto BattleScript_81D9059 + goto BattleScript_DoStatusTurnDmg BattleScript_MoveUsedIsFrozen:: printstring STRINGID_PKMNISFROZEN @@ -3752,8 +3746,8 @@ BattleScript_MoveUsedIsConfused:: printstring STRINGID_PKMNISCONFUSED waitmessage 0x40 status2animation BS_ATTACKER, STATUS2_CONFUSION - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_81D9115 -BattleScript_81D90EA:: + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_MoveUsedIsConfusedRet +BattleScript_DoSelfConfusionDmg:: cancelmultiturnmoves BS_ATTACKER adjustnormaldamage2 printstring STRINGID_ITHURTCONFUSION @@ -3769,7 +3763,7 @@ BattleScript_81D90EA:: tryfaintmon BS_ATTACKER, 0, NULL goto BattleScript_MoveEnd -BattleScript_81D9115:: +BattleScript_MoveUsedIsConfusedRet:: return BattleScript_MoveUsedIsConfusedNoMore:: @@ -3786,7 +3780,7 @@ BattleScript_WrapTurnDmg:: playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1 printstring STRINGID_PKMNHURTBY waitmessage 0x40 - goto BattleScript_81D905B + goto BattleScript_DoTurnDmg BattleScript_WrapEnds:: printstring STRINGID_PKMNFREEDFROM @@ -3808,13 +3802,13 @@ BattleScript_NightmareTurnDmg:: printstring STRINGID_PKMNLOCKEDINNIGHTMARE waitmessage 0x40 status2animation BS_ATTACKER, STATUS2_NIGHTMARE - goto BattleScript_81D905B + goto BattleScript_DoTurnDmg BattleScript_CurseTurnDmg:: printstring STRINGID_PKMNAFFLICTEDBYCURSE waitmessage 0x40 status2animation BS_ATTACKER, STATUS2_CURSED - goto BattleScript_81D905B + goto BattleScript_DoTurnDmg BattleScript_TargetPRLZHeal:: printstring STRINGID_PKMNHEALEDPARALYSIS @@ -3847,7 +3841,7 @@ BattleScript_MoveEffectSleep:: statusanimation BS_EFFECT_BATTLER printfromtable gFellAsleepStringIds waitmessage 0x40 -BattleScript_81D91C3:: +BattleScript_UpdateEffectStatusIconRet:: updatestatusicon BS_EFFECT_BATTLER waitstate return @@ -3865,25 +3859,25 @@ BattleScript_MoveEffectPoison:: statusanimation BS_EFFECT_BATTLER printfromtable gGotPoisonedStringIds waitmessage 0x40 - goto BattleScript_81D91C3 + goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectBurn:: statusanimation BS_EFFECT_BATTLER printfromtable gGotBurnedStringIds waitmessage 0x40 - goto BattleScript_81D91C3 + goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectFreeze:: statusanimation BS_EFFECT_BATTLER printfromtable gGotFrozenStringIds waitmessage 0x40 - goto BattleScript_81D91C3 + goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectParalysis:: statusanimation BS_EFFECT_BATTLER printfromtable gGotParalyzedStringIds waitmessage 0x40 - goto BattleScript_81D91C3 + goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectUproar:: printstring STRINGID_PKMNCAUSEDUPROAR @@ -3894,7 +3888,7 @@ BattleScript_MoveEffectToxic:: statusanimation BS_EFFECT_BATTLER printstring STRINGID_PKMNBADLYPOISONED waitmessage 0x40 - goto BattleScript_81D91C3 + goto BattleScript_UpdateEffectStatusIconRet BattleScript_MoveEffectPayDay:: printstring STRINGID_COINSSCATTERED @@ -3913,16 +3907,16 @@ BattleScript_MoveEffectConfusion:: return BattleScript_MoveEffectRecoil:: - jumpifmove MOVE_STRUGGLE, BattleScript_81D9256 - jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_81D9270 -BattleScript_81D9256:: + jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil + jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_RecoilEnd +BattleScript_DoRecoil:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHITWITHRECOIL waitmessage 0x40 tryfaintmon BS_ATTACKER, 0, NULL -BattleScript_81D9270:: +BattleScript_RecoilEnd:: return BattleScript_ItemSteal:: @@ -3936,7 +3930,7 @@ BattleScript_DrizzleActivates:: printstring STRINGID_PKMNMADEITRAIN waitstate playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES, NULL - call BattleScript_81D92DC + call BattleScript_HandleWeatherFormChanges end3 BattleScript_SpeedBoostActivates:: @@ -3964,7 +3958,7 @@ BattleScript_SandstreamActivates:: printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM waitstate playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES, NULL - call BattleScript_81D92DC + call BattleScript_HandleWeatherFormChanges end3 BattleScript_ShedSkinActivates:: @@ -3973,19 +3967,19 @@ BattleScript_ShedSkinActivates:: updatestatusicon BS_ATTACKER end3 -BattleScript_81D92DC:: +BattleScript_HandleWeatherFormChanges:: setbyte sBATTLER, 0 -BattleScript_81D92E2:: +BattleScript_WeatherFormChangesLoop:: trycastformdatachange addbyte sBATTLER, 1 - jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_81D92E2 + jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_WeatherFormChangesLoop return BattleScript_CastformChange:: - call BattleScript_81D92FE + call BattleScript_DoCastformChangeAnim end3 -BattleScript_81D92FE:: +BattleScript_DoCastformChangeAnim:: docastformchangeanimation waitstate printstring STRINGID_PKMNTRANSFORMED @@ -3993,45 +3987,45 @@ BattleScript_81D92FE:: return BattleScript_IntimidateActivatesEnd3:: - call BattleScript_81D930D + call BattleScript_DoIntimidateActivationAnim end3 -BattleScript_81D930D:: +BattleScript_DoIntimidateActivationAnim:: pause 0x20 BattleScript_IntimidateActivates:: setbyte gBattlerTarget, 0 setstatchanger STAT_ATK, 1, TRUE -BattleScript_81D931C:: - trygetintimidatetarget BattleScript_81D936A - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_81D935F - jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_81D936B - jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_81D936B - jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_81D936B - statbuffchange STAT_CHANGE_BS_PTR | STAT_CHANGE_NOT_PROTECT_AFFECTED, BattleScript_81D935F - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_81D935F +BattleScript_IntimidateActivationAnimLoop:: + trygetintimidatetarget BattleScript_IntimidateEnd + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateFail + jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidateAbilityFail + jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidateAbilityFail + jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidateAbilityFail + statbuffchange STAT_CHANGE_BS_PTR | STAT_CHANGE_NOT_PROTECT_AFFECTED, BattleScript_IntimidateFail + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_IntimidateFail setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH waitmessage 0x40 -BattleScript_81D935F:: +BattleScript_IntimidateFail:: addbyte gBattlerTarget, 1 - goto BattleScript_81D931C + goto BattleScript_IntimidateActivationAnimLoop -BattleScript_81D936A:: +BattleScript_IntimidateEnd:: return -BattleScript_81D936B:: +BattleScript_IntimidateAbilityFail:: pause 0x20 printstring STRINGID_PREVENTEDFROMWORKING waitmessage 0x40 - goto BattleScript_81D935F + goto BattleScript_IntimidateFail BattleScript_DroughtActivates:: pause 0x20 printstring STRINGID_PKMNSXINTENSIFIEDSUN waitstate playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES, NULL - call BattleScript_81D92DC + call BattleScript_HandleWeatherFormChanges end3 BattleScript_TookAttack:: @@ -4218,7 +4212,7 @@ BattleScript_IgnoresAndFallsAsleep:: BattleScript_IgnoresAndHitsItself:: printstring STRINGID_PKMNWONTOBEY waitmessage 0x40 - goto BattleScript_81D90EA + goto BattleScript_DoSelfConfusionDmg BattleScript_SubstituteFade:: playanimation BS_TARGET, B_ANIM_SUBSTITUTE_FADE, NULL @@ -4375,8 +4369,7 @@ BattleScript_BerryConfuseHealEnd2:: BattleScript_BerryStatRaiseEnd2:: playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL - statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_81D9686 -BattleScript_81D9686:: + statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, .+4 setbyte cMULTISTRING_CHOOSER, 4 call BattleScript_StatUp removeitem BS_ATTACKER diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 184527587..30985f4d6 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -29,7 +29,7 @@ extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[]; extern const u8 BattleScript_LocalBattleLostEnd[]; extern const u8 BattleScript_CheckDomeDrew[]; extern const u8 BattleScript_LinkBattleWonOrLost[]; -extern const u8 BattleScript_FrontierTrainerBattleWon[]; +extern const u8 BattleScript_BattleTowerTrainerBattleWon[]; extern const u8 BattleScript_SmokeBallEscape[]; extern const u8 BattleScript_RanAwayUsingMonAbility[]; extern const u8 BattleScript_GotAwaySafely[]; @@ -228,7 +228,7 @@ extern const u8 BattleScript_SpikesOnFaintedBattler[]; extern const u8 BattleScript_GhostBallDodge[]; extern const u8 gUnknown_81D9A88[]; extern const u8 gUnknown_81D91A1[]; // knizz: silph scope unveil -extern const u8 gUnknown_81D88D7[]; +extern const u8 BattleScript_BattleTowerTrainerBattleWon[]; extern const u8 *const gBattleScriptsForMoveEffects[]; extern const u8 *const gBattlescriptsForBallThrow[]; diff --git a/src/battle_main.c b/src/battle_main.c index abeea3acf..a7cd989ed 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3675,7 +3675,7 @@ static void HandleEndTurn_BattleWon(void) { BattleStopLowHpSound(); PlayBGM(MUS_WIN_TRE); - gBattlescriptCurrInstr = gUnknown_81D88D7; + gBattlescriptCurrInstr = BattleScript_BattleTowerTrainerBattleWon; } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & BATTLE_TYPE_LINK)) { From f14f13b31269d4e0a537b20c53c766314bab0f86 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 18:25:36 -0500 Subject: [PATCH 15/21] Document battle_scripts_2.s --- data/battle_scripts_2.s | 132 +++++++++++++++++------------------ include/battle_scripts.h | 2 +- src/battle_main.c | 12 ++-- src/battle_script_commands.c | 2 +- 4 files changed, 74 insertions(+), 74 deletions(-) diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 305e7f252..a405b3a3e 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -18,102 +18,102 @@ .section script_data, "aw", %progbits .align 2 -gBattlescriptsForBallThrow:: @ 81D99B4 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A3C - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 - .4byte BattleScript_81D9A14 +gBattlescriptsForBallThrow:: + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowSafariBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall + .4byte BattleScript_ThrowBall -gBattlescriptsForUsingItem:: @ 81D99E8 - .4byte BattleScript_81D9ADB - .4byte BattleScript_81D9AE5 - .4byte BattleScript_81D9AE5 - .4byte BattleScript_81D9B14 - .4byte BattleScript_81D9B38 - .4byte BattleScript_81D9B5A +gBattlescriptsForUsingItem:: + .4byte BattleScript_PlayerUseItem + .4byte BattleScript_AIuseFullRestoreOrHpHeal + .4byte BattleScript_AIuseFullRestoreOrHpHeal + .4byte BattleScript_AIuseStatRestore + .4byte BattleScript_AIuseXstat + .4byte BattleScript_AIuseGuardSpec -gBattlescriptsForRunningByItem:: @ 81D9A00 - .4byte BattleScript_81D9B7C - .4byte BattleScript_81D9B86 +gBattlescriptsForRunningByItem:: + .4byte BattleScript_UseFluffyTail + .4byte BattleScript_UsePokeFlute -gBattlescriptsForSafariActions:: @ 81D9A08 - .4byte BattleScript_81D9BB5 - .4byte BattleScript_81D9BC5 - .4byte BattleScript_81D9BD3 - .4byte BattleScript_81D9BE1 +gBattlescriptsForSafariActions:: + .4byte BattleScript_WatchesCarefully + .4byte BattleScript_ThrowRock + .4byte BattleScript_ThrowBait + .4byte BattleScript_LeftoverWallyPrepToThrow -BattleScript_81D9A14:: @ 81D9A14 - jumpifbattletype BATTLE_TYPE_OLD_MAN_TUTORIAL, BattleScript_81D9A34 - jumpifbattletype BATTLE_TYPE_POKEDUDE, BattleScript_81D9A38 +BattleScript_ThrowBall:: + jumpifbattletype BATTLE_TYPE_OLD_MAN_TUTORIAL, BattleScript_OldManThrowBall + jumpifbattletype BATTLE_TYPE_POKEDUDE, BattleScript_PokeDudeThrowBall printstring STRINGID_PLAYERUSEDITEM handleballthrow -BattleScript_81D9A34:: @ 81D9A34 +BattleScript_OldManThrowBall:: printstring STRINGID_OLDMANUSEDITEM handleballthrow -BattleScript_81D9A38:: @ 81D9A38 +BattleScript_PokeDudeThrowBall:: printstring STRINGID_POKEDUDEUSED handleballthrow -BattleScript_81D9A3C:: @ 81D9A3C +BattleScript_ThrowSafariBall:: printstring STRINGID_PLAYERUSEDITEM updatestatusicon BS_ATTACKER handleballthrow -BattleScript_SuccessBallThrow:: @ 81D9A42 - jumpifhalfword CMP_EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_81D9A50 +BattleScript_SuccessBallThrow:: + jumpifhalfword CMP_EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_SafariNoIncGameStat incrementgamestat GAME_STAT_POKEMON_CAPTURES -BattleScript_81D9A50:: @ 81D9A50 +BattleScript_SafariNoIncGameStat:: printstring STRINGID_GOTCHAPKMNCAUGHT - trysetcaughtmondexflags BattleScript_81D9A63 + trysetcaughtmondexflags BattleScript_CaughtPokemonSkipNewDex printstring STRINGID_PKMNDATAADDEDTODEX waitstate setbyte gBattleCommunication, 0 displaydexinfo -BattleScript_81D9A63:: @ 81D9A63 +BattleScript_CaughtPokemonSkipNewDex:: printstring STRINGID_GIVENICKNAMECAPTURED waitstate setbyte gBattleCommunication, 0 - trygivecaughtmonnick BattleScript_81D9A80 + trygivecaughtmonnick BattleScript_CaughtPokemonSkipNickname givecaughtmon printfromtable gCaughtMonStringIds waitmessage 64 - goto BattleScript_81D9A81 + goto BattleScript_CaughtPokemonDone -BattleScript_81D9A80:: @ 81D9A80 +BattleScript_CaughtPokemonSkipNickname:: givecaughtmon -BattleScript_81D9A81:: @ 81D9A81 +BattleScript_CaughtPokemonDone:: setbyte gBattleOutcome, B_OUTCOME_CAUGHT finishturn -gUnknown_81D9A88:: @ 81D9A88 +BattleScript_OldMan_Pokedude_CaughtMessage:: printstring STRINGID_GOTCHAPKMNCAUGHT2 setbyte gBattleOutcome, B_OUTCOME_CAUGHT atk57 finishturn -BattleScript_ShakeBallThrow:: @ 81D9A93 +BattleScript_ShakeBallThrow:: printfromtable gBallEscapeStringIds waitmessage 64 - jumpifnotbattletype BATTLE_TYPE_SAFARI, BattleScript_81D9AC0 - jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0, BattleScript_81D9AC0 + jumpifnotbattletype BATTLE_TYPE_SAFARI, BattleScript_CatchFailEnd + jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0, BattleScript_CatchFailEnd printstring STRINGID_OUTOFSAFARIBALLS waitmessage 64 setbyte gBattleOutcome, B_OUTCOME_NO_SAFARI_BALLS -BattleScript_81D9AC0:: @ 81D9AC0 +BattleScript_CatchFailEnd:: finishaction -BattleScript_TrainerBallBlock:: @ 81D9AC1 +BattleScript_TrainerBallBlock:: waitmessage 64 printstring STRINGID_TRAINERBLOCKEDBALL waitmessage 64 @@ -121,17 +121,17 @@ BattleScript_TrainerBallBlock:: @ 81D9AC1 waitmessage 64 finishaction -BattleScript_GhostBallDodge:: @ 81D9AD1 +BattleScript_GhostBallDodge:: waitmessage 64 printstring STRINGID_ITDODGEDBALL waitmessage 64 finishaction -BattleScript_81D9ADB:: @ 81D9ADB +BattleScript_PlayerUseItem:: moveendcase 15 end -BattleScript_81D9AE5:: @ 81D9AE5 +BattleScript_AIuseFullRestoreOrHpHeal:: printstring STRINGID_EMPTYSTRING3 pause 48 playse SE_KAIFUKU @@ -147,7 +147,7 @@ BattleScript_81D9AE5:: @ 81D9AE5 moveendcase 15 finishaction -BattleScript_81D9B14:: @ 81D9B14 +BattleScript_AIuseStatRestore:: printstring STRINGID_EMPTYSTRING3 pause 48 playse SE_KAIFUKU @@ -160,7 +160,7 @@ BattleScript_81D9B14:: @ 81D9B14 moveendcase 15 finishaction -BattleScript_81D9B38:: @ 81D9B38 +BattleScript_AIuseXstat:: printstring STRINGID_EMPTYSTRING3 pause 48 playse SE_KAIFUKU @@ -172,7 +172,7 @@ BattleScript_81D9B38:: @ 81D9B38 moveendcase 15 finishaction -BattleScript_81D9B5A:: @ 81D9B5A +BattleScript_AIuseGuardSpec:: printstring STRINGID_EMPTYSTRING3 pause 48 playse SE_KAIFUKU @@ -184,19 +184,19 @@ BattleScript_81D9B5A:: @ 81D9B5A moveendcase 15 finishaction -BattleScript_81D9B7C:: @ 81D9B7C +BattleScript_UseFluffyTail:: playse SE_NIGERU setbyte gBattleOutcome, B_OUTCOME_RAN finishturn -BattleScript_81D9B86:: @ 81D9B86 +BattleScript_UsePokeFlute:: checkpokeflute BS_ATTACKER - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_81D9B9F + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_PokeFluteWakeUp printstring STRINGID_POKEFLUTECATCHY waitmessage 64 - goto BattleScript_81D9BB4 + goto BattleScript_PokeFluteEnd -BattleScript_81D9B9F:: @ 81D9B9F +BattleScript_PokeFluteWakeUp:: printstring STRINGID_POKEFLUTE waitmessage 64 fanfare MUS_POKEFUE @@ -205,28 +205,28 @@ BattleScript_81D9B9F:: @ 81D9B9F waitmessage 64 updatestatusicon BS_PLAYER2 waitstate -BattleScript_81D9BB4:: @ 81D9BB4 +BattleScript_PokeFluteEnd:: finishaction -BattleScript_81D9BB5:: @ 81D9BB5 +BattleScript_WatchesCarefully:: printfromtable gSafariPokeblockResultStringIds waitmessage 64 playanimation BS_OPPONENT1, B_ANIM_SAFARI_REACTION, NULL end2 -BattleScript_81D9BC5:: @ 81D9BC5 +BattleScript_ThrowRock:: printstring STRINGID_THREWROCK waitmessage 64 playanimation BS_ATTACKER, B_ANIM_ROCK_THROW, NULL end2 -BattleScript_81D9BD3:: @ 81D9BD3 +BattleScript_ThrowBait:: printstring STRINGID_THREWBAIT waitmessage 64 playanimation BS_ATTACKER, B_ANIM_BAIT_THROW, NULL end2 -BattleScript_81D9BE1:: @ 81D9BE1 +BattleScript_LeftoverWallyPrepToThrow:: printstring STRINGID_RETURNMON waitmessage 64 returnatktoball diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 30985f4d6..361fff495 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -226,7 +226,7 @@ extern const u8 BattleScript_MoveEffectRecoil[]; extern const u8 BattleScript_FlushMessageBox[]; extern const u8 BattleScript_SpikesOnFaintedBattler[]; extern const u8 BattleScript_GhostBallDodge[]; -extern const u8 gUnknown_81D9A88[]; +extern const u8 BattleScript_OldMan_Pokedude_CaughtMessage[]; extern const u8 gUnknown_81D91A1[]; // knizz: silph scope unveil extern const u8 BattleScript_BattleTowerTrainerBattleWon[]; diff --git a/src/battle_main.c b/src/battle_main.c index a7cd989ed..8852fa188 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -66,8 +66,8 @@ static void HandleAction_UseItem(void); static void HandleAction_Run(void); static void HandleAction_WatchesCarefully(void); static void HandleAction_SafariZoneBallThrow(void); -static void HandleAction_ThrowPokeblock(void); -static void HandleAction_GoNear(void); +static void HandleAction_ThrowBait(void); +static void HandleAction_ThrowRock(void); static void HandleAction_SafariZoneRun(void); static void HandleAction_OldManBallThrow(void); static void HandleAction_TryFinish(void); @@ -582,8 +582,8 @@ static void (*const sTurnActionsFuncsTable[])(void) = [B_ACTION_RUN] = HandleAction_Run, [B_ACTION_SAFARI_WATCH_CAREFULLY] = HandleAction_WatchesCarefully, [B_ACTION_SAFARI_BALL] = HandleAction_SafariZoneBallThrow, - [B_ACTION_SAFARI_POKEBLOCK] = HandleAction_ThrowPokeblock, - [B_ACTION_SAFARI_GO_NEAR] = HandleAction_GoNear, + [B_ACTION_SAFARI_POKEBLOCK] = HandleAction_ThrowBait, + [B_ACTION_SAFARI_GO_NEAR] = HandleAction_ThrowRock, [B_ACTION_SAFARI_RUN] = HandleAction_SafariZoneRun, [B_ACTION_OLDMAN_THROW] = HandleAction_OldManBallThrow, [B_ACTION_EXEC_SCRIPT] = HandleAction_RunBattleScript, @@ -4313,7 +4313,7 @@ static void HandleAction_SafariZoneBallThrow(void) gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } -static void HandleAction_ThrowPokeblock(void) +static void HandleAction_ThrowBait(void) { gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; @@ -4329,7 +4329,7 @@ static void HandleAction_ThrowPokeblock(void) gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } -static void HandleAction_GoNear(void) +static void HandleAction_ThrowRock(void) { gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 7be47d762..0eba68f29 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -9441,7 +9441,7 @@ static void atkEF_handleballthrow(void) { BtlController_EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gActiveBattler); - gBattlescriptCurrInstr = gUnknown_81D9A88; + gBattlescriptCurrInstr = BattleScript_OldMan_Pokedude_CaughtMessage; } else { From 4cad26157e132753b9024dcc4b1cdc1d65f548f8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 18:32:17 -0500 Subject: [PATCH 16/21] Rename ghost battle scripts --- data/battle_scripts_1.s | 6 +++--- include/battle_scripts.h | 6 +++--- src/battle_main.c | 2 +- src/battle_util.c | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 1eeae3a09..c4b0117a5 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -3816,18 +3816,18 @@ BattleScript_TargetPRLZHeal:: updatestatusicon BS_TARGET return -gUnknown_81D9180:: +BattleScript_TooScaredToMove:: printstring STRINGID_MONTOOSCAREDTOMOVE waitmessage 0x40 playanimation BS_ATTACKER, B_ANIM_MON_SCARED, NULL goto BattleScript_MoveEnd -gUnknown_81D9192:: +BattleScript_GhostGetOutGetOut:: printstring STRINGID_GHOSTGETOUTGETOUT playanimation BS_ATTACKER, B_ANIM_GHOST_GET_OUT, NULL goto BattleScript_MoveEnd -gUnknown_81D91A1:: +BattleScript_SilphScopeUnveiled:: pause 0x20 printstring STRINGID_SILPHSCOPEUNVEILED waitstate diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 361fff495..2a06f2425 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -216,8 +216,8 @@ extern const u8 BattleScript_RunByUsingItem[]; extern const u8 BattleScript_ActionWatchesCarefully[]; extern const u8 BattleScript_ActionGetNear[]; extern const u8 BattleScript_ActionThrowPokeblock[]; -extern const u8 gUnknown_81D9192[]; -extern const u8 gUnknown_81D9180[]; +extern const u8 BattleScript_GhostGetOutGetOut[]; +extern const u8 BattleScript_TooScaredToMove[]; extern const u8 BattleScript_IntimidateActivates[]; extern const u8 BattleScript_IntimidateActivatesEnd3[]; extern const u8 BattleScript_IgnoresWhileAsleep[]; @@ -227,7 +227,7 @@ extern const u8 BattleScript_FlushMessageBox[]; extern const u8 BattleScript_SpikesOnFaintedBattler[]; extern const u8 BattleScript_GhostBallDodge[]; extern const u8 BattleScript_OldMan_Pokedude_CaughtMessage[]; -extern const u8 gUnknown_81D91A1[]; // knizz: silph scope unveil +extern const u8 BattleScript_SilphScopeUnveiled[]; // knizz: silph scope unveil extern const u8 BattleScript_BattleTowerTrainerBattleWon[]; extern const u8 *const gBattleScriptsForMoveEffects[]; diff --git a/src/battle_main.c b/src/battle_main.c index 8852fa188..14b191e52 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2677,7 +2677,7 @@ static void BattleIntroPrintWildMonAttacked(void) if ((gBattleTypeFlags & (BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_GHOST)) == (BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_GHOST)) { gBattleScripting.battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - BattleScriptExecute(gUnknown_81D91A1); + BattleScriptExecute(BattleScript_SilphScopeUnveiled); } } } diff --git a/src/battle_util.c b/src/battle_util.c index de6419ecf..b415f6550 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1385,9 +1385,9 @@ u8 AtkCanceller_UnableToUseMove(void) if ((gBattleTypeFlags & (BATTLE_TYPE_GHOST | BATTLE_TYPE_LEGENDARY)) == BATTLE_TYPE_GHOST) { if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) - gBattlescriptCurrInstr = gUnknown_81D9180; + gBattlescriptCurrInstr = BattleScript_TooScaredToMove; else - gBattlescriptCurrInstr = gUnknown_81D9192; + gBattlescriptCurrInstr = BattleScript_GhostGetOutGetOut; gBattleCommunication[MULTISTRING_CHOOSER] = 0; effect = 1; } From 44109583d8c824556935f7f97e3ff1a9230b9845 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 6 Nov 2019 19:00:01 -0500 Subject: [PATCH 17/21] calcrom: pad section size to word --- .travis/calcrom/calcrom.pl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index 1ad3e214d..d252be996 100644 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -18,6 +18,10 @@ while (my $line = <$file>) my $section = $1; my $size = hex($2); my $dir = $3; + if ($size & 3) + { + $size += 4 - ($size % 3); + } if ($section =~ /text/) { From ed426e1f8fb52a79eed074597b210a0f60a30106 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Nov 2019 09:06:46 -0500 Subject: [PATCH 18/21] Review comments --- asm/macros/battle_script.inc | 5 - data/battle_scripts_2.s | 22 +-- data/link_rfu_3.s | 276 +++++++++++++++++++++++++---------- 3 files changed, 206 insertions(+), 97 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 5de053b8c..ca0ea59bd 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1242,11 +1242,6 @@ .byte 0xf7 .endm - .macro trainerslideout param0:req - .byte 0xf8 - .byte \param0 - .endm - @ various command changed to more readable macros .macro cancelmultiturnmoves battler:req various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index a405b3a3e..288b0438d 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -35,11 +35,11 @@ gBattlescriptsForBallThrow:: gBattlescriptsForUsingItem:: .4byte BattleScript_PlayerUseItem - .4byte BattleScript_AIuseFullRestoreOrHpHeal - .4byte BattleScript_AIuseFullRestoreOrHpHeal - .4byte BattleScript_AIuseStatRestore - .4byte BattleScript_AIuseXstat - .4byte BattleScript_AIuseGuardSpec + .4byte BattleScript_AIUseFullRestoreOrHpHeal + .4byte BattleScript_AIUseFullRestoreOrHpHeal + .4byte BattleScript_AIUseStatRestore + .4byte BattleScript_AIUseXstat + .4byte BattleScript_AIUseGuardSpec gBattlescriptsForRunningByItem:: .4byte BattleScript_UseFluffyTail @@ -53,7 +53,7 @@ gBattlescriptsForSafariActions:: BattleScript_ThrowBall:: jumpifbattletype BATTLE_TYPE_OLD_MAN_TUTORIAL, BattleScript_OldManThrowBall - jumpifbattletype BATTLE_TYPE_POKEDUDE, BattleScript_PokeDudeThrowBall + jumpifbattletype BATTLE_TYPE_POKEDUDE, BattleScript_PokedudeThrowBall printstring STRINGID_PLAYERUSEDITEM handleballthrow @@ -61,7 +61,7 @@ BattleScript_OldManThrowBall:: printstring STRINGID_OLDMANUSEDITEM handleballthrow -BattleScript_PokeDudeThrowBall:: +BattleScript_PokedudeThrowBall:: printstring STRINGID_POKEDUDEUSED handleballthrow @@ -131,7 +131,7 @@ BattleScript_PlayerUseItem:: moveendcase 15 end -BattleScript_AIuseFullRestoreOrHpHeal:: +BattleScript_AIUseFullRestoreOrHpHeal:: printstring STRINGID_EMPTYSTRING3 pause 48 playse SE_KAIFUKU @@ -147,7 +147,7 @@ BattleScript_AIuseFullRestoreOrHpHeal:: moveendcase 15 finishaction -BattleScript_AIuseStatRestore:: +BattleScript_AIUseStatRestore:: printstring STRINGID_EMPTYSTRING3 pause 48 playse SE_KAIFUKU @@ -160,7 +160,7 @@ BattleScript_AIuseStatRestore:: moveendcase 15 finishaction -BattleScript_AIuseXstat:: +BattleScript_AIUseXstat:: printstring STRINGID_EMPTYSTRING3 pause 48 playse SE_KAIFUKU @@ -172,7 +172,7 @@ BattleScript_AIuseXstat:: moveendcase 15 finishaction -BattleScript_AIuseGuardSpec:: +BattleScript_AIUseGuardSpec:: printstring STRINGID_EMPTYSTRING3 pause 48 playse SE_KAIFUKU diff --git a/data/link_rfu_3.s b/data/link_rfu_3.s index 32560ad9f..88a72d660 100644 --- a/data/link_rfu_3.s +++ b/data/link_rfu_3.s @@ -208,23 +208,39 @@ gUnknown_8457C20:: @ 8457C20 .incbin "baserom.gba", 0x457C20, 0x28 gUnknown_8457C48:: @ 8457C48 - .string "The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?$" + .string "The other TRAINER showed\n" + .string "you their TRAINER CARD.\p" + .string "Would you like to show your\n" + .string "TRAINER CARD?$" .align 2 gUnknown_8457CA4:: @ 8457CA4 - .string "The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?$" + .string "The other TRAINER challenges you\n" + .string "to battle.\p" + .string "Will you accept the battle\n" + .string "challenge?$" .align 2 gUnknown_8457CF8:: @ 8457CF8 - .string "The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?$" + .string "The other TRAINER invites you\n" + .string "to chat.\p" + .string "Will you accept the chat\n" + .string "invitation?$" .align 2 gUnknown_8457D44:: @ 8457D44 - .string "There is an offer to trade your\nregistered Lv. {DYNAMIC 0} {DYNAMIC 1}\pin exchange for a\nLv. {DYNAMIC 2} {DYNAMIC 3}.\pWill you accept this trade\noffer?$" + .string "There is an offer to trade your\n" + .string "registered Lv. {DYNAMIC 0} {DYNAMIC 1}\p" + .string "in exchange for a\n" + .string "Lv. {DYNAMIC 2} {DYNAMIC 3}.\p" + .string "Will you accept this trade\n" + .string "offer?$" .align 2 gUnknown_8457DB8:: @ 8457DB8 - .string "There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?$" + .string "There is an offer to trade your\n" + .string "registered EGG.\l" + .string "Will you accept this trade offer?$" .align 2 gUnknown_8457E0C:: @ 8457E0C @@ -250,19 +266,25 @@ gUnknown_8457E78:: .align 2 gUnknown_8457E88:: - .string "Oh, hey! We're in a chat right now.\nWant to join us?$" + .string "Oh, hey! We're in a chat right now.\n" + .string "Want to join us?$" .align 2 gUnknown_8457EC0:: - .string "{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?$" + .string "{STR_VAR_1}: Hey, {PLAYER}!\n" + .string "We're having a chat right now.\l" + .string "Want to join us?$" .align 2 gUnknown_8457F00:: - .string "Oh, hi! We're having a chat now.\nWould you like to join us?$" + .string "Oh, hi! We're having a chat now.\n" + .string "Would you like to join us?$" .align 2 gUnknown_8457F3C:: - .string "{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?$" + .string "{STR_VAR_1}: Oh, hi, {PLAYER}!\n" + .string "We're having a chat now.\l" + .string "Would you like to join us?$" .align 2 gUnknown_8457F80:: @ 8457F80 @@ -272,31 +294,38 @@ gUnknown_8457F80:: @ 8457F80 .4byte gUnknown_8457F3C gUnknown_8457F90:: @ 8457F90 - .string "……\nThe TRAINER appears to be busy…\p$" + .string "……\n" + .string "The TRAINER appears to be busy…\p$" .align 2 gUnknown_8457FB4:: - .string "A battle, huh?\nAll right, just give me some time.$" + .string "A battle, huh?\n" + .string "All right, just give me some time.$" .align 2 gUnknown_8457FE8:: - .string "You want to chat, huh?\nSure, just wait a little.$" + .string "You want to chat, huh?\n" + .string "Sure, just wait a little.$" .align 2 gUnknown_845801C:: - .string "Sure thing! As my “Greetings,”\nhere's my TRAINER CARD.$" + .string "Sure thing! As my “Greetings,”\n" + .string "here's my TRAINER CARD.$" .align 2 gUnknown_8458054:: - .string "A battle? Of course, but I need\ntime to get ready.$" + .string "A battle? Of course, but I need\n" + .string "time to get ready.$" .align 2 gUnknown_8458088:: - .string "Did you want to chat?\nOkay, but please wait a moment.$" + .string "Did you want to chat?\n" + .string "Okay, but please wait a moment.$" .align 2 gUnknown_84580C0:: - .string "As my introduction, I'll show you\nmy TRAINER CARD.$" + .string "As my introduction, I'll show you\n" + .string "my TRAINER CARD.$" .align 2 gUnknown_84580F4:: @ 84580F4 @@ -314,19 +343,23 @@ gUnknown_84580F4:: @ 84580F4 .align 2 gUnknown_845812C:: - .string "Thanks for waiting!\nLet's get our battle started!{PAUSE 60}$" + .string "Thanks for waiting!\n" + .string "Let's get our battle started!{PAUSE 60}$" .align 2 gUnknown_8458164:: - .string "All right!\nLet's chat!{PAUSE 60}$" + .string "All right!\n" + .string "Let's chat!{PAUSE 60}$" .align 2 gUnknown_8458180:: - .string "Sorry I made you wait!\nLet's get started!{PAUSE 60}$" + .string "Sorry I made you wait!\n" + .string "Let's get started!{PAUSE 60}$" .align 2 gUnknown_84581B0:: - .string "Sorry I made you wait!\nLet's chat.{PAUSE 60}$" + .string "Sorry I made you wait!\n" + .string "Let's chat.{PAUSE 60}$" .align 2 gUnknown_84581D8:: @@ -356,10 +389,14 @@ gUnknown_8458230:: @ 8458230 .4byte gUnknown_84581D8 gUnknown_8458260:: - .string "Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p$" + .string "Sorry! My POKéMON don't seem to\n" + .string "be feeling too well right now.\l" + .string "Let me battle you another time.\p$" gUnknown_84582C0:: - .string "I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p$" + .string "I'm terribly sorry, but my POKéMON\n" + .string "aren't feeling well…\p" + .string "Let's battle another time.\p$" gUnknown_8458314:: @ 8458314 .4byte gUnknown_8458260 @@ -367,11 +404,15 @@ gUnknown_8458314:: @ 8458314 .align 2 gUnknown_845831C:: - .string "Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p$" + .string "Huh? My TRAINER CARD…\n" + .string "Where'd it go now?\l" + .string "Sorry! I'll show you another time!\p$" .align 2 gUnknown_845836C:: - .string "Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p$" + .string "Oh? Now where did I put my\n" + .string "TRAINER CARD?…\l" + .string "Sorry! I'll show you later!\p$" .align 2 gUnknown_84583B4:: @ 84583B4 @@ -380,10 +421,12 @@ gUnknown_84583B4:: @ 84583B4 .align 2 gUnknown_84583BC:: - .string "If you want to do something with\nme, just give me a shout!\p$" + .string "If you want to do something with\n" + .string "me, just give me a shout!\p$" .align 2 gUnknown_84583F8:: - .string "If you want to do something with\nme, don't be shy.\p$" + .string "If you want to do something with\n" + .string "me, don't be shy.\p$" .align 2 gUnknown_845842C:: @ 845842C @@ -391,22 +434,29 @@ gUnknown_845842C:: @ 845842C .4byte gUnknown_84583F8 gUnknown_8458434:: @ 8458434 - .string "Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p$" + .string "Whoops! Sorry, but I have to do\n" + .string "something else.\l" + .string "Another time, okay?\p$" .align 2 gUnknown_845847C:: @ 845847C - .string "If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p$" + .string "If you want to battle, you need\n" + .string "two POKéMON that are below\l" + .string "Lv. 30.\p$" gUnknown_84584C0:: @ 84584C0 - .string "For a battle, you need two\nPOKéMON that are below Lv. 30.\p$" + .string "For a battle, you need two\n" + .string "POKéMON that are below Lv. 30.\p$" .align 2 gUnknown_84584FC:: - .string "Oh, all right.\nCome see me anytime, okay?\p$" + .string "Oh, all right.\n" + .string "Come see me anytime, okay?\p$" .align 2 gUnknown_8458528:: - .string "Oh…\nPlease come by anytime.\p$" + .string "Oh…\n" + .string "Please come by anytime.\p$" .align 2 gUnknown_8458548:: @ 8458548 @@ -415,11 +465,15 @@ gUnknown_8458548:: @ 8458548 .align 2 gUnknown_8458550:: - .string "Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p$" + .string "Oh, sorry!\n" + .string "I just can't right this instant.\l" + .string "Let's chat another time.\p$" .align 2 gUnknown_8458598:: - .string "Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p$" + .string "Oh, I'm sorry.\n" + .string "I have too much to do right now.\l" + .string "Let's chat some other time.\p$" .align 2 gUnknown_84585E8:: @ 84585E8 @@ -428,35 +482,43 @@ gUnknown_84585E8:: @ 84585E8 .align 2 gUnknown_84585F0:: - .string "Whoa!\nI can tell you're pretty tough!\p$" + .string "Whoa!\n" + .string "I can tell you're pretty tough!\p$" .align 2 gUnknown_8458618:: - .string "You used that move?\nThat's good strategy!\p$" + .string "You used that move?\n" + .string "That's good strategy!\p$" .align 2 gUnknown_8458644:: - .string "Way to go!\nThat was an eye-opener!\p$" + .string "Way to go!\n" + .string "That was an eye-opener!\p$" .align 2 gUnknown_8458668:: - .string "Oh! How could you use that\nPOKéMON in that situation?\p$" + .string "Oh! How could you use that\n" + .string "POKéMON in that situation?\p$" .align 2 gUnknown_84586A0:: - .string "That POKéMON…\nIt's been raised really well!\p$" + .string "That POKéMON…\n" + .string "It's been raised really well!\p$" .align 2 gUnknown_84586D0:: - .string "That's it!\nThis is the right move now!\p$" + .string "That's it!\n" + .string "This is the right move now!\p$" .align 2 gUnknown_84586F8:: - .string "That's awesome!\nYou can battle that way?\p$" + .string "That's awesome!\n" + .string "You can battle that way?\p$" .align 2 gUnknown_8458724:: - .string "You have exquisite timing for\nswitching POKéMON!\p$" + .string "You have exquisite timing for\n" + .string "switching POKéMON!\p$" .align 2 gUnknown_8458758:: @ 8458758 @@ -471,35 +533,43 @@ gUnknown_8458758:: @ 8458758 .align 2 gUnknown_8458778:: - .string "Oh, I see!\nThis is educational!\p$" + .string "Oh, I see!\n" + .string "This is educational!\p$" .align 2 gUnknown_845879C:: - .string "Don't say anything funny anymore!\nI'm sore from laughing!\p$" + .string "Don't say anything funny anymore!\n" + .string "I'm sore from laughing!\p$" .align 2 gUnknown_84587D8:: - .string "Oh?\nSomething like that happened.\p$" + .string "Oh?\n" + .string "Something like that happened.\p$" .align 2 gUnknown_84587FC:: - .string "Hmhm… What?\nSo is this what you're saying?\p$" + .string "Hmhm… What?\n" + .string "So is this what you're saying?\p$" .align 2 gUnknown_8458828:: - .string "Is that right?\nI didn't know that.\p$" + .string "Is that right?\n" + .string "I didn't know that.\p$" .align 2 gUnknown_845884C:: - .string "Ahaha!\nWhat is that about?\p$" + .string "Ahaha!\n" + .string "What is that about?\p$" .align 2 gUnknown_8458868:: - .string "Yes, that's exactly it!\nThat's what I meant.\p$" + .string "Yes, that's exactly it!\n" + .string "That's what I meant.\p$" .align 2 gUnknown_8458898:: - .string "In other words…\nYes! That's right!\p$" + .string "In other words…\n" + .string "Yes! That's right!\p$" .align 2 gUnknown_84588BC:: @ 84588BC @@ -514,7 +584,8 @@ gUnknown_84588BC:: @ 84588BC .align 2 gUnknown_84588DC:: - .string "I'm just showing my TRAINER CARD\nas my way of greeting.\p$" + .string "I'm just showing my TRAINER CARD\n" + .string "as my way of greeting.\p$" .align 2 gUnknown_8458918:: @@ -522,11 +593,13 @@ gUnknown_8458918:: .align 2 gUnknown_845893C:: - .string "We're showing each other our\nTRAINER CARDS to get acquainted.\p$" + .string "We're showing each other our\n" + .string "TRAINER CARDS to get acquainted.\p$" .align 2 gUnknown_845897C:: - .string "Glad to meet you.\nPlease don't be a stranger!\p$" + .string "Glad to meet you.\n" + .string "Please don't be a stranger!\p$" .align 2 gUnknown_84589AC:: @ 84589AC @@ -537,11 +610,13 @@ gUnknown_84589AC:: @ 84589AC .align 2 gUnknown_84589BC:: - .string "Yeahah!\nI really wanted this POKéMON!\p$" + .string "Yeahah!\n" + .string "I really wanted this POKéMON!\p$" .align 2 gUnknown_84589E4:: - .string "Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p$" + .string "Finally, a trade got me that\n" + .string "POKéMON I'd wanted a long time.\p$" .align 2 gUnknown_8458A24:: @@ -549,7 +624,8 @@ gUnknown_8458A24:: .align 2 gUnknown_8458A44:: - .string "I finally got that POKéMON I\nwanted in a trade!\p$" + .string "I finally got that POKéMON I\n" + .string "wanted in a trade!\p$" .align 2 gUnknown_8458A78:: @ 8458A78 @@ -563,15 +639,30 @@ gUnknown_8458A78:: @ 8458A78 .4byte NULL gUnknown_8458A98:: @ 8458A98 - .string "{STR_VAR_1} checked the\nTRADING BOARD.\p$" + .string "{STR_VAR_1} checked the\n" + .string "TRADING BOARD.\p$" .align 2 gUnknown_8458AB8:: @ 8458AB8 - .string "Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?$" + .string "Welcome to the TRADING BOARD.\p" + .string "You may register your POKéMON\n" + .string "and offer it up for a trade.\p" + .string "Would you like to register one of\n" + .string "your POKéMON?$" .align 2 gUnknown_8458B44:: @ 8458B44 - .string "This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?$" + .string "This TRADING BOARD is used for\n" + .string "offering a POKéMON for a trade.\p" + .string "All you need to do is register a\n" + .string "POKéMON for a trade.\p" + .string "Another TRAINER may offer a party\n" + .string "POKéMON in return for the trade.\p" + .string "We hope you will register POKéMON\n" + .string "and trade them with many, many\l" + .string "other TRAINERS.\p" + .string "Would you like to register one of\n" + .string "your POKéMON?$" .align 2 .incbin "baserom.gba", 0x00458c80, 0x31 @@ -581,11 +672,13 @@ gUnknown_8458B44:: @ 8458B44 .align 2 gUnknown_8458CD4:: @ 8458CD4 - .string "Please choose the type of POKéMON\nthat you would like in the trade.\n$" + .string "Please choose the type of POKéMON\n" + .string "that you would like in the trade.\n$" .align 2 gUnknown_8458D1C:: @ 8458D1C - .string "Which of your party POKéMON will\nyou offer in trade?\p$" + .string "Which of your party POKéMON will\n" + .string "you offer in trade?\p$" .align 2 gUnknown_8458D54:: @ 8458D54 @@ -601,11 +694,13 @@ gUnknown_8458D9C:: @ 8458D9C .align 2 gUnknown_8458DBC:: @ 8458DBC - .string "Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?$" + .string "Cancel the registration of your\n" + .string "Lv. {STR_VAR_2} {STR_VAR_1}?$" .align 2 gUnknown_8458DE8:: @ 8458DE8 - .string "Cancel the registration of your\nEGG?$" + .string "Cancel the registration of your\n" + .string "EGG?$" .align 2 gUnknown_8458E10:: @ 8458E10 @@ -615,21 +710,26 @@ gUnknown_8458E10:: @ 8458E10 .incbin "baserom.gba", 0x00458e38, 0x38 gUnknown_8458E70:: @ 8458E70 - .string "Would you like to ask {STR_VAR_1} to\nmake a trade?$" + .string "Would you like to ask {STR_VAR_1} to\n" + .string "make a trade?$" .align 2 .incbin "baserom.gba", 0x00458e9c, 0x34 gUnknown_8458ED0:: @ 8458ED0 - .string "You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p$" + .string "You don't have a {STR_VAR_2}-type\n" + .string "POKéMON that {STR_VAR_1} wants.\p$" .align 2 gUnknown_8458F04:: @ 8458F04 - .string "You don't have an EGG that\n{STR_VAR_1} wants.\p$" + .string "You don't have an EGG that\n" + .string "{STR_VAR_1} wants.\p$" .align 2 - .string "{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p$" + .string "{STR_VAR_1} can't make a trade for\n" + .string "your POKéMON right now.\p$" .align 2 - .string "You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p$" + .string "You can't make a trade for\n" + .string "{STR_VAR_1}'s POKéMON right now.\p$" .incbin "baserom.gba", 0x00458f94, 0x8 gUnknown_8458F9C:: @ 8458F9C @@ -648,39 +748,48 @@ gUnknown_8458FE4:: @ 8458FE4 .align 2 gUnknown_8459000:: - .string "Please choose a TRAINER for\na SINGLE BATTLE.$" + .string "Please choose a TRAINER for\n" + .string "a SINGLE BATTLE.$" .align 2 gUnknown_8459030:: - .string "Please choose a TRAINER for\na DOUBLE BATTLE.$" + .string "Please choose a TRAINER for\n" + .string "a DOUBLE BATTLE.$" .align 2 gUnknown_8459060:: - .string "Please choose the LEADER\nfor a MULTI BATTLE.$" + .string "Please choose the LEADER\n" + .string "for a MULTI BATTLE.$" .align 2 gUnknown_8459090:: - .string "Please choose the TRAINER to\ntrade with.$" + .string "Please choose the TRAINER to\n" + .string "trade with.$" .align 2 gUnknown_84590BC:: - .string "Please choose the TRAINER who is\nsharing WONDER CARDS.$" + .string "Please choose the TRAINER who is\n" + .string "sharing WONDER CARDS.$" .align 2 gUnknown_84590F4:: - .string "Please choose the TRAINER who is\nsharing WONDER NEWS.$" + .string "Please choose the TRAINER who is\n" + .string "sharing WONDER NEWS.$" .align 2 gUnknown_845912C:: - .string "Jump with mini POKéMON!\nPlease choose the LEADER.$" + .string "Jump with mini POKéMON!\n" + .string "Please choose the LEADER.$" .align 2 gUnknown_8459160:: - .string "BERRY CRUSH!\nPlease choose the LEADER.$" + .string "BERRY CRUSH!\n" + .string "Please choose the LEADER.$" .align 2 gUnknown_8459188:: - .string "DODRIO BERRY-PICKING!\nPlease choose the LEADER.$" + .string "DODRIO BERRY-PICKING!\n" + .string "Please choose the LEADER.$" .align 2 gUnknown_84591B8:: @ 84591B8 @@ -696,7 +805,8 @@ gUnknown_84591B8:: @ 84591B8 .align 2 gUnknown_84591DC:: @ 84591DC - .string "Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait...$" + .string "Searching for a WIRELESS\n" + .string "COMMUNICATION SYSTEM. Wait...$" .align 2 .incbin "baserom.gba", 0x00459214, 0x24 @@ -705,14 +815,18 @@ gUnknown_8459238:: @ 8459238 .string "Awaiting {STR_VAR_1}'s response…$" gUnknown_8459250:: @ 8459250 - .string "{STR_VAR_1} has been asked to register\nyou as a member. Please wait.$" + .string "{STR_VAR_1} has been asked to register\n" + .string "you as a member. Please wait.$" gUnknown_845928C:: @ 845928C - .string "Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM.$" + .string "Awaiting a response from the\n" + .string "WIRELESS COMMUNICATION SYSTEM.$" .incbin "baserom.gba", 0x004592c8, 0x20 - .string "No CARDS appear to be shared \nright now.$" + .string "No CARDS appear to be shared \n" + .string "right now.$" .align 2 - .string "No NEWS appears to be shared\nright now.$" + .string "No NEWS appears to be shared\n" + .string "right now.$" gUnknown_845933C:: @ 845933C .incbin "baserom.gba", 0x45933C, 0x3C From 64485f5cd106285e6ed7ec461db49e02b6308d8a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Nov 2019 09:23:21 -0500 Subject: [PATCH 19/21] TRAINER_SECRET_BASE propagation --- data/battle_scripts_1.s | 3 ++- include/constants/trainers.h | 1 + src/battle_script_commands.c | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index c4b0117a5..b802723b7 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8,6 +8,7 @@ #include "constants/species.h" #include "constants/pokemon.h" #include "constants/songs.h" +#include "constants/trainers.h" #include "constants/game_stat.h" #include "battle_string_ids.h" .include "asm/macros/battle_script.inc" @@ -2931,7 +2932,7 @@ BattleScript_PayDayMoneyAndPickUpItems:: BattleScript_LocalBattleLost:: jumpifbattletype BATTLE_TYPE_TRAINER_TOWER, BattleScript_BattleTowerLost jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_EReaderOrSecretBaseTrainerEnd - jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 1024, BattleScript_EReaderOrSecretBaseTrainerEnd + jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, TRAINER_SECRET_BASE, BattleScript_EReaderOrSecretBaseTrainerEnd jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_RivalBattleLost BattleScript_LocalBattleLostPrintWhiteOut:: jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_LocalBattleLostEnd diff --git a/include/constants/trainers.h b/include/constants/trainers.h index d8c429ed5..30e11c14f 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -165,6 +165,7 @@ #define TRAINER_PIC_LADY 146 #define TRAINER_PIC_PAINTER 147 +// Leftover from R/S #define TRAINER_SECRET_BASE 1024 #define F_TRAINER_FEMALE (1 << 7) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 0eba68f29..181f59b09 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5176,7 +5176,7 @@ static void atk5D_getmoneyreward(void) // The whole function is using wrong registers. if (gBattleOutcome == B_OUTCOME_WON) { - if (gTrainerBattleOpponent_A == 0x400) + if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) { moneyReward = 20 * gBattleResources->secretBase->party.levels[0] * gBattleStruct->moneyMultiplier; } @@ -8810,7 +8810,7 @@ static void atkD2_tryswapitems(void) // trick if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER || (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER)) - && gTrainerBattleOpponent_A != 0x400)) + && gTrainerBattleOpponent_A != TRAINER_SECRET_BASE)) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } @@ -8821,7 +8821,7 @@ static void atkD2_tryswapitems(void) // trick // you can't swap items if they were knocked off in regular battles if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER)) - && gTrainerBattleOpponent_A != 0x400 + && gTrainerBattleOpponent_A != TRAINER_SECRET_BASE && (gWishFutureKnock.knockedOffMons[sideAttacker] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]] || gWishFutureKnock.knockedOffMons[sideTarget] & gBitTable[gBattlerPartyIndexes[gBattlerTarget]])) { From 304408defffcde5840250fccdfbe5e8e438d5027 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 7 Nov 2019 09:53:59 -0500 Subject: [PATCH 20/21] Dump data/battle_anim.s pointer tables --- baserom.ips | Bin 429862 -> 424717 bytes data/battle_anim.s | 665 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 656 insertions(+), 9 deletions(-) diff --git a/baserom.ips b/baserom.ips index bedd2c2c0d37a20dd31d294b1e859aeb5a5f5c32..2b8ba6beabb5dd9afc000f0ccab0960660f850a6 100644 GIT binary patch delta 31 kcmZ2BPpbEuWJ3$%7AEiJ_LS*NK+FupEZbA2vmW{m0Mp_Pg8%>k delta 5216 zcmYkd(V%1 z-`sn2{8Nul2v&MR-j!Jl08+|6J$vB zjg<~@Oweo-USNp!n(r_MnQzU*N#!hjaDsA)GKSrc#G5r`@ z>K5txG^xl|r;9H~ogwy0HC4(lQD;j2W$G*`4lH3Za<?+AHR^d%daF8LN^Vy(q&%oDkmftph0?fAJzs{_tC><&tuB&* zhcSM!1Wr$uNO!$9vRs!+-$rWhGO27(FOak+)NJt`)oCNf8D;t0ldKzPThIsUaG^OQm~`Uh`aO+|Gjc zGU?u-JAU7-FL%vzy+T&C>ULMkkQ(~~Nqz-m^2N023tS}$p|EMNu9obb^!-1Sgw@qCfJd(il;Tr1&4K zd#{t^{nXy;#koZ9m7hsXw`1C^V(CRI_6Es&SJ!WpJ`8$plEnA)xFu4HR{YIU)Q5rC zpNsiWH~59LsxhTv_p=c9OECxa0Kby<+x5)+TCzUYx=gYL)Za+yA@u!L%%^(b-$@x- zzH%uzjB#tke6HKwBFEJDTcz_j##Tt~NxjK$lLib}BX5_=7#;^JAOmQ{1|`$4r|J%I zM(C-!Q#!|@f3394LQ^S~=VI(S>6weee=jxjw11c6WT3Z7iWY=9bL%C9LC@XNxlp&e zM@*(#Egg$>yL+W)NjSg@-zP;`+PGirWoT+7l&x>*0ZF`&I`%<{zgVBwha|W{t(AtA z^gRzt_A1@)5lP&n{y|!w3iHY8#P_uBw?SH)(L5?bWV=^O$sQ4Y1&O zT!MS`uHGm;JE^@5lK8Cd@Prhm=%x9S^tI?Gc~S;n(Dg=1KIJB9;3f-to|2kv^nFiD z=+qZYlT>Y|_H3589qKdO%$yO=v(ny5ZJNb;1-;KnML;K>EmGX3ck5P((>LI0ks`j? zg4XlWx{EsI1u1CP{)?_5*KLyY8hx|fb%$%K>r1XLOUG{BsP&5b0ox>f5Bqs{N}z1N zPF|JFZrxy)bfD#Jmz;NS*lUvVE}B0}PY?QDm)7_66z>)XE%SyH9zf4uB=vo*|0#YTYIIqqTlp2FGaq4>5`8+b;vEw_9>1@L0zFQ!37(9{!G)6y5G! z=}p%49x1oAA9zo?r|81J#F@?xo_|aG46S>mWwv@i2IlJX{k~LYtN)SQW!mqPE^5ns zAVte@_=hrdu^M%^@0X6Hy8TCzqTdgmgKqz0arkYqyaSSS83ufZBzQTK*iR&MC7MsA z_$u9CP%_q_@35p+=z;z#eYfcP5g9Dd^&#n@Z^e8j)mLl(s1&bbyO__#1hqaU8Fxjv z+y5thXqhi0@9u~xw2r%;IAx&F`cgX9>kE7(Wu5v?PfEu=)v}Y`W=F5b&fc$j?Z)m1 z*FMI!qtrg1-P4Q1huOjRF@Ct6+^>DVU4BTnGjJa*?c zXE~rrwiCDLfhO6_Xqj{D)E0HJUH812Vq2eJ{1iLmxYkqc!Y`vd#$wlQ*V?u_s4ed_ zyL3LsA3oi#I->OqyJQ$ofl0M}fe}o+Gwsul&n)}&&**IX^z)u(hiu2hi)F>}ypF<5 z?*7r(O@9npd`~1`0*=*nJOk56K;y6!6S0gWG#;y|Ctw_3RA*wKo=FmuJfhJ=%;a%A z3%jYwMOLXMBG*Y+&E0zr?xsH(OXfQ!1^X8`W(wwzfTm(CeZjmXjQfZ_SiDqIV31}APkcehuF{WWA{c~OCxX#54l2N+rJUmhEnDa1&gf!o+ zGh7#71&L@OHm-Nf`NHdWGRdS-NHki6of{mp7zbQSHu@Qy<1*I^T(eO>*@f6f z61vFkFUJZJQVtGocFe_ElZaNJk0i7*z$AysDoh{}t=0t+(Iwcw%`ul^2VX$B*t)|p zmthKt=lj^nU4A(ZV4k~vh4xv$()9;8NHWUDl%0;b3M=^0x*FSe@%#TnCb>kS0@rJF z0}|1-u0O(zJ&q~FUi>lEzv&oqk=24f#cnJ@tJ5*pVIp3SHuuWUFpIhv3-AW4#2YcV z-3geRm^9HS!QFT>4&cu*b+2Q7fq7VprT9yC{a4r}nF}I$YIHm&2Pder{*W0m!M5LD}fkYI(?V$8aqc zkccX=okX+_%Sc4O$7B-GU6@G{s=^vvk1ZskyVU@bdzds3iK;QQBy8@*Y!cCZ=pzx` zkF_MC8rKJ~KPPM+bbSbeB%)eOA`w08`Unn^jQ)T*vGfN$h$tY#LoRVHt_&Dc7g*1m81FI7Bkq zjIAW1XY~1RAQC-Gqxk37ha`ef|^P2%A@EWMUiYSM5$rAPK#S4Y&)FNkr|sP9k~@ zt4TzE#t^>ly4&>)^pS}Ef{lG)auNHJh&r&~VA$-zq$6STH@&&ih)8c@|I~idiGxI= zy%-`9y@lD-`>=*Ysm9#N?Wn@K|N=>`%Z7xBE4i2jXwDtob&f7K3PS$f30k6Ftj z=0C1|t{E6d{SO=0^9AySPKZXw zu^mrf4}OVh_!Z{!|G`Ntb_gamr

o!61pqi=7yQJ`#`*LnNbNuESB!gdb~2Lw%^6rn0vd<){8l7l2*+b!kcA0M3<>5;OvWUvCGkwee3H>wSWhxK8;71F z5xGu6>%}O!=(Lkv$wgN8p{SXH*(9K;*o=ZTFGtBme2|k-GtK7t&mkI3r%^&Qnt}bM zpJ2o#AsNlYX8vKAg@yZ~W;S;5oTp(Mk7;OM*mN0EY6fv#4A|`K7 z#8fcSUf>0&dp3VFZ*2Z%-msNpa(Rk3MNKs$^B|Whz@Pd7P6?;6G88q<41M8_Z@mef z>zjzHiJ0_9c|k@gr?1G{Pde^D_2x>y_2zW0Z%#j06=&`1Pposh^qanZ;J^*G--H3(xBV=u!q!*7N$M(9ZOn{yef=lIQmd499>Jiob)v4Qa%;{apQe0q#07;6^z z%}&N)#*~GAv*&z{m+3b%8R5l#vu%mrjAx&lv;0}+Ko&bL^_$1$`pvp@zj=xI2OQ+K sMZ6(4-a|chncpm8Y+@W>OuB$R Date: Thu, 7 Nov 2019 10:56:35 -0500 Subject: [PATCH 21/21] Get rid of a knizz comment --- include/battle_scripts.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 2a06f2425..080922775 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -227,7 +227,7 @@ extern const u8 BattleScript_FlushMessageBox[]; extern const u8 BattleScript_SpikesOnFaintedBattler[]; extern const u8 BattleScript_GhostBallDodge[]; extern const u8 BattleScript_OldMan_Pokedude_CaughtMessage[]; -extern const u8 BattleScript_SilphScopeUnveiled[]; // knizz: silph scope unveil +extern const u8 BattleScript_SilphScopeUnveiled[]; extern const u8 BattleScript_BattleTowerTrainerBattleWon[]; extern const u8 *const gBattleScriptsForMoveEffects[];