summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_2.s124
-rw-r--r--asm/macros/battle_script.inc79
-rw-r--r--constants/battle_script_constants.inc149
-rw-r--r--data/battle_scripts_1.s3592
-rw-r--r--data/battle_scripts_2.s145
-rw-r--r--include/battle.h235
-rw-r--r--include/constants/battle_constants.h239
-rw-r--r--src/battle/battle_3.c84
-rw-r--r--src/battle/battle_4.c224
-rwxr-xr-xsrc/data/battle_strings_de.h92
-rwxr-xr-xsrc/data/battle_strings_en.h92
-rw-r--r--src/rom3.c6
-rw-r--r--sym_ewram.txt2
13 files changed, 2647 insertions, 2416 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index dd720ec79..5a751ba55 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -426,13 +426,13 @@ _080126C2:
ldrb r0, [r3]
lsls r0, 2
adds r0, r1
- ldr r1, _080126DC @ =gUnknown_081D9B29
+ ldr r1, _080126DC @ =BattleScript_ActionSelectionItemsCantBeUsed
b _080129CC
.align 2, 0
_080126D0: .4byte gBattleTypeFlags
_080126D4: .4byte 0x00000902
_080126D8: .4byte gUnknown_02024C1C
-_080126DC: .4byte gUnknown_081D9B29
+_080126DC: .4byte BattleScript_ActionSelectionItemsCantBeUsed
_080126E0:
ldr r3, _08012738 @ =gSharedMem
ldr r5, _0801273C @ =gActiveBank
@@ -661,7 +661,7 @@ _080128B0:
ldrb r0, [r2]
lsls r0, 2
adds r0, r1
- ldr r1, _080128F4 @ =gUnknown_081D8E4A
+ ldr r1, _080128F4 @ =BattleScript_PrintFullBox
str r1, [r0]
ldr r0, _080128F8 @ =gBattleCommunication
ldrb r1, [r2]
@@ -684,7 +684,7 @@ _080128B0:
.align 2, 0
_080128EC: .4byte gUnknown_02024C1C
_080128F0: .4byte gActiveBank
-_080128F4: .4byte gUnknown_081D8E4A
+_080128F4: .4byte BattleScript_PrintFullBox
_080128F8: .4byte gBattleCommunication
_080128FC: .4byte gSharedMem
_08012900: .4byte 0x00016060
@@ -747,7 +747,7 @@ _08012968:
ldrb r0, [r1]
cmp r0, 0x3
bne _080129A8
- ldr r0, _080129A0 @ =gUnknown_081D8E37
+ ldr r0, _080129A0 @ =BattleScript_PrintCantRunFromTrainer
bl b_call_bc_move_exec
ldr r1, _080129A4 @ =gBattleCommunication
ldrb r0, [r4]
@@ -757,7 +757,7 @@ _08012968:
_08012994: .4byte gBattleTypeFlags
_08012998: .4byte gBattleBufferB
_0801299C: .4byte gActiveBank
-_080129A0: .4byte gUnknown_081D8E37
+_080129A0: .4byte BattleScript_PrintCantRunFromTrainer
_080129A4: .4byte gBattleCommunication
_080129A8:
bl CanRunFromBattle
@@ -776,7 +776,7 @@ _080129A8:
ldr r1, _080129FC @ =gUnknown_02024C1C
lsls r0, r2, 2
adds r0, r1
- ldr r1, _08012A00 @ =gUnknown_081D8E44
+ ldr r1, _08012A00 @ =BattleScript_PrintCantEscapeFromBattle
_080129CC:
str r1, [r0]
ldr r0, _08012A04 @ =gBattleCommunication
@@ -801,7 +801,7 @@ _080129CC:
_080129F4: .4byte gBattleBufferB
_080129F8: .4byte gActiveBank
_080129FC: .4byte gUnknown_02024C1C
-_08012A00: .4byte gUnknown_081D8E44
+_08012A00: .4byte BattleScript_PrintCantEscapeFromBattle
_08012A04: .4byte gBattleCommunication
_08012A08: .4byte gSharedMem
_08012A0C: .4byte 0x00016060
@@ -2790,7 +2790,7 @@ _08013A04:
_08013A0E:
bl BattleMusicStop
ldr r1, _08013A3C @ =gBattlescriptCurrInstr
- ldr r0, _08013A40 @ =gUnknown_081D8DBE
+ ldr r0, _08013A40 @ =BattleScript_LocalTrainerBattleWon
str r0, [r1]
ldr r2, _08013A44 @ =gTrainers
ldr r0, _08013A48 @ =gTrainerBattleOpponent
@@ -2812,7 +2812,7 @@ _08013A30:
mov pc, r0
.align 2, 0
_08013A3C: .4byte gBattlescriptCurrInstr
-_08013A40: .4byte gUnknown_081D8DBE
+_08013A40: .4byte BattleScript_LocalTrainerBattleWon
_08013A44: .4byte gTrainers
_08013A48: .4byte gTrainerBattleOpponent
_08013A4C: .4byte _08013A50
@@ -2891,7 +2891,7 @@ _08013B38:
b _08013B48
_08013B42:
ldr r1, _08013B54 @ =gBattlescriptCurrInstr
- ldr r0, _08013B58 @ =gUnknown_081D8DCE
+ ldr r0, _08013B58 @ =BattleScript_PayDayMoneyAndPickUpItems
_08013B46:
str r0, [r1]
_08013B48:
@@ -2903,7 +2903,7 @@ _08013B48:
bx r0
.align 2, 0
_08013B54: .4byte gBattlescriptCurrInstr
-_08013B58: .4byte gUnknown_081D8DCE
+_08013B58: .4byte BattleScript_PayDayMoneyAndPickUpItems
_08013B5C: .4byte gBattleMainFunc
_08013B60: .4byte sub_8013C9C
thumb_func_end sub_8013998
@@ -2946,7 +2946,7 @@ _08013BB0: .4byte gBattlescriptCurrInstr
_08013BB4: .4byte gUnknown_081D8E02
_08013BB8:
ldr r1, _08013BCC @ =gBattlescriptCurrInstr
- ldr r0, _08013BD0 @ =gUnknown_081D8DD1
+ ldr r0, _08013BD0 @ =BattleScript_LocalBattleLost
str r0, [r1]
_08013BBE:
ldr r1, _08013BD4 @ =gBattleMainFunc
@@ -2957,7 +2957,7 @@ _08013BBE:
bx r0
.align 2, 0
_08013BCC: .4byte gBattlescriptCurrInstr
-_08013BD0: .4byte gUnknown_081D8DD1
+_08013BD0: .4byte BattleScript_LocalBattleLost
_08013BD4: .4byte gBattleMainFunc
_08013BD8: .4byte sub_8013C9C
thumb_func_end sub_8013B64
@@ -2981,24 +2981,24 @@ sub_8013BDC: @ 8013BDC
cmp r0, 0x2
beq _08013C28
ldr r1, _08013C10 @ =gBattlescriptCurrInstr
- ldr r0, _08013C14 @ =gUnknown_081D8E29
+ ldr r0, _08013C14 @ =BattleScript_GotAwaySafely
b _08013C2C
.align 2, 0
_08013C04: .4byte gFightStateTracker
_08013C08: .4byte gProtectStructs
_08013C0C: .4byte gBankAttacker
_08013C10: .4byte gBattlescriptCurrInstr
-_08013C14: .4byte gUnknown_081D8E29
+_08013C14: .4byte BattleScript_GotAwaySafely
_08013C18:
ldr r1, _08013C20 @ =gBattlescriptCurrInstr
- ldr r0, _08013C24 @ =gUnknown_081D8E14
+ ldr r0, _08013C24 @ =BattleScript_SmokeBallEscape
b _08013C2C
.align 2, 0
_08013C20: .4byte gBattlescriptCurrInstr
-_08013C24: .4byte gUnknown_081D8E14
+_08013C24: .4byte BattleScript_SmokeBallEscape
_08013C28:
ldr r1, _08013C38 @ =gBattlescriptCurrInstr
- ldr r0, _08013C3C @ =gUnknown_081D8E22
+ ldr r0, _08013C3C @ =BattleScript_RanAwayUsingMonAbility
_08013C2C:
str r0, [r1]
ldr r1, _08013C40 @ =gBattleMainFunc
@@ -3008,7 +3008,7 @@ _08013C2C:
bx r0
.align 2, 0
_08013C38: .4byte gBattlescriptCurrInstr
-_08013C3C: .4byte gUnknown_081D8E22
+_08013C3C: .4byte BattleScript_RanAwayUsingMonAbility
_08013C40: .4byte gBattleMainFunc
_08013C44: .4byte sub_8013C9C
thumb_func_end sub_8013BDC
@@ -3035,7 +3035,7 @@ sub_8013C48: @ 8013C48
movs r0, 0xFF
strb r0, [r1, 0x4]
ldr r1, _08013C8C @ =gBattlescriptCurrInstr
- ldr r0, _08013C90 @ =gUnknown_081D8E30
+ ldr r0, _08013C90 @ =BattleScript_WildMonFled
str r0, [r1]
ldr r1, _08013C94 @ =gBattleMainFunc
ldr r0, _08013C98 @ =sub_8013C9C
@@ -3047,7 +3047,7 @@ _08013C80: .4byte gBattleTextBuff1
_08013C84: .4byte gBankAttacker
_08013C88: .4byte gBattlePartyID
_08013C8C: .4byte gBattlescriptCurrInstr
-_08013C90: .4byte gUnknown_081D8E30
+_08013C90: .4byte BattleScript_WildMonFled
_08013C94: .4byte gBattleMainFunc
_08013C98: .4byte sub_8013C9C
thumb_func_end sub_8013C48
@@ -3545,7 +3545,7 @@ _08014044:
ands r0, r1
strb r0, [r5]
ldr r2, _080140E0 @ =gCurrentMove
- ldr r1, _080140E4 @ =gUnknown_02024BE8
+ ldr r1, _080140E4 @ =gChosenMove
movs r0, 0xA5
strh r0, [r1]
strh r0, [r2]
@@ -3574,7 +3574,7 @@ _080140D4: .4byte 0x0001608c
_080140D8: .4byte gUnknown_02024BE5
_080140DC: .4byte gProtectStructs
_080140E0: .4byte gCurrentMove
-_080140E4: .4byte gUnknown_02024BE8
+_080140E4: .4byte gChosenMove
_080140E8: .4byte gHitMarker
_080140EC: .4byte 0x00016010
_080140F0:
@@ -3598,7 +3598,7 @@ _080140F0:
beq _08014138
_08014114:
ldr r3, _0801412C @ =gCurrentMove
- ldr r2, _08014130 @ =gUnknown_02024BE8
+ ldr r2, _08014130 @ =gChosenMove
ldr r1, _08014134 @ =gLockedMove
lsls r0, r4, 1
adds r0, r1
@@ -3609,7 +3609,7 @@ _08014114:
.align 2, 0
_08014128: .4byte gBattleMons
_0801412C: .4byte gCurrentMove
-_08014130: .4byte gUnknown_02024BE8
+_08014130: .4byte gChosenMove
_08014134: .4byte gLockedMove
_08014138:
ldr r3, _08014188 @ =gDisableStructs
@@ -3635,7 +3635,7 @@ _08014138:
cmp r1, r0
bne _080141A0
ldr r1, _08014190 @ =gCurrentMove
- ldr r0, _08014194 @ =gUnknown_02024BE8
+ ldr r0, _08014194 @ =gChosenMove
strh r4, [r0]
strh r4, [r1]
ldrb r0, [r2, 0xC]
@@ -3654,7 +3654,7 @@ _08014138:
_08014188: .4byte gDisableStructs
_0801418C: .4byte gBattleMons
_08014190: .4byte gCurrentMove
-_08014194: .4byte gUnknown_02024BE8
+_08014194: .4byte gChosenMove
_08014198: .4byte gUnknown_02024BE5
_0801419C: .4byte 0x00016010
_080141A0:
@@ -3667,7 +3667,7 @@ _080141A0:
mov r1, r8
strb r3, [r1]
ldr r3, _0801420C @ =gCurrentMove
- ldr r1, _08014210 @ =gUnknown_02024BE8
+ ldr r1, _08014210 @ =gChosenMove
mov r2, r8
ldrb r0, [r2]
lsls r0, 1
@@ -3712,7 +3712,7 @@ _08014200:
.align 2, 0
_08014208: .4byte gUnknown_02024BE5
_0801420C: .4byte gCurrentMove
-_08014210: .4byte gUnknown_02024BE8
+_08014210: .4byte gChosenMove
_08014214: .4byte 0x00016010
_08014218:
mov r4, r8
@@ -3734,7 +3734,7 @@ _08014218:
cmp r3, r2
beq _08014278
ldr r1, _08014268 @ =gCurrentMove
- ldr r0, _0801426C @ =gUnknown_02024BE8
+ ldr r0, _0801426C @ =gChosenMove
strh r3, [r0]
strh r3, [r1]
ldrh r0, [r1]
@@ -3752,12 +3752,12 @@ _0801425C: .4byte gBankAttacker
_08014260: .4byte gBattleMons
_08014264: .4byte gChosenMovesByBanks
_08014268: .4byte gCurrentMove
-_0801426C: .4byte gUnknown_02024BE8
+_0801426C: .4byte gChosenMove
_08014270: .4byte gSharedMem
_08014274: .4byte 0x00016010
_08014278:
ldr r1, _08014298 @ =gCurrentMove
- ldr r0, _0801429C @ =gUnknown_02024BE8
+ ldr r0, _0801429C @ =gChosenMove
strh r3, [r0]
strh r3, [r1]
_08014280:
@@ -3774,7 +3774,7 @@ _08014280:
b _080142B0
.align 2, 0
_08014298: .4byte gCurrentMove
-_0801429C: .4byte gUnknown_02024BE8
+_0801429C: .4byte gChosenMove
_080142A0: .4byte gBankAttacker
_080142A4: .4byte gBattleResults
_080142A8:
@@ -3963,7 +3963,7 @@ _08014416:
b _08014522
_0801441E:
ldr r2, _08014460 @ =gBattleMoves
- ldr r0, _0801447C @ =gUnknown_02024BE8
+ ldr r0, _0801447C @ =gChosenMove
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -3998,7 +3998,7 @@ _0801446C: .4byte gSharedMem
_08014470: .4byte 0x00016010
_08014474: .4byte gActiveBank
_08014478: .4byte gNoOfAllBanks
-_0801447C: .4byte gUnknown_02024BE8
+_0801447C: .4byte gChosenMove
_08014480:
movs r0, 0x3
b _08014496
@@ -4121,7 +4121,7 @@ _08014570:
cmp r0, 0
beq _0801461C
ldr r2, _080145B4 @ =gBattleMoves
- ldr r0, _080145B8 @ =gUnknown_02024BE8
+ ldr r0, _080145B8 @ =gChosenMove
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -4146,7 +4146,7 @@ _08014570:
b _080145D2
.align 2, 0
_080145B4: .4byte gBattleMoves
-_080145B8: .4byte gUnknown_02024BE8
+_080145B8: .4byte gChosenMove
_080145BC:
movs r0, 0x3
b _080145D2
@@ -4260,7 +4260,7 @@ _0801469A:
strb r0, [r5]
_080146AC:
ldr r4, _080146E0 @ =gBattlescriptCurrInstr
- ldr r3, _080146E4 @ =gBattleScriptsEffectsTable
+ ldr r3, _080146E4 @ =gBattleScriptsForMoveEffects
ldr r2, _080146E8 @ =gBattleMoves
ldr r0, _080146EC @ =gCurrentMove
ldrh r1, [r0]
@@ -4287,7 +4287,7 @@ _080146CC:
bx r0
.align 2, 0
_080146E0: .4byte gBattlescriptCurrInstr
-_080146E4: .4byte gBattleScriptsEffectsTable
+_080146E4: .4byte gBattleScriptsForMoveEffects
_080146E8: .4byte gBattleMoves
_080146EC: .4byte gCurrentMove
_080146F0: .4byte gFightStateTracker
@@ -4336,7 +4336,7 @@ sub_80146F4: @ 80146F4
adds r1, r0
strb r4, [r1]
ldr r1, _08014790 @ =gBattlescriptCurrInstr
- ldr r0, _08014794 @ =gUnknown_081D8E4E
+ ldr r0, _08014794 @ =BattleScript_ActionSwitch
str r0, [r1]
ldr r1, _08014798 @ =gFightStateTracker
movs r0, 0xA
@@ -4364,7 +4364,7 @@ _08014784: .4byte gSharedMem
_08014788: .4byte 0x00016064
_0801478C: .4byte 0x00016003
_08014790: .4byte gBattlescriptCurrInstr
-_08014794: .4byte gUnknown_081D8E4E
+_08014794: .4byte BattleScript_ActionSwitch
_08014798: .4byte gFightStateTracker
_0801479C: .4byte gBattleResults
thumb_func_end sub_80146F4
@@ -4452,14 +4452,14 @@ _0801484C:
cmp r0, 0
bne _0801486C
ldr r0, _08014864 @ =gBattlescriptCurrInstr
- ldr r1, _08014868 @ =gUnknown_081D9E7C
+ ldr r1, _08014868 @ =gBattlescriptsForUsingItem
_0801485C:
ldr r1, [r1]
str r1, [r0]
b _08014A8C
.align 2, 0
_08014864: .4byte gBattlescriptCurrInstr
-_08014868: .4byte gUnknown_081D9E7C
+_08014868: .4byte gBattlescriptsForUsingItem
_0801486C:
ldr r2, _080148A0 @ =gSharedMem
ldrb r0, [r4]
@@ -4476,7 +4476,7 @@ _0801486C:
mov r8, r4
ldr r3, _080148AC @ =gBattlescriptCurrInstr
mov r9, r3
- ldr r1, _080148B0 @ =gUnknown_081D9E7C
+ ldr r1, _080148B0 @ =gBattlescriptsForUsingItem
mov r10, r1
adds r7, r2, 0
cmp r0, 0x4
@@ -4493,7 +4493,7 @@ _080148A0: .4byte gSharedMem
_080148A4: .4byte 0x00016003
_080148A8: .4byte 0x000160d8
_080148AC: .4byte gBattlescriptCurrInstr
-_080148B0: .4byte gUnknown_081D9E7C
+_080148B0: .4byte gBattlescriptsForUsingItem
_080148B4: .4byte _080148B8
.align 2, 0
_080148B8:
@@ -4522,7 +4522,7 @@ _080148CC:
ands r0, r3
ldr r3, _08014910 @ =gBattlescriptCurrInstr
mov r9, r3
- ldr r1, _08014914 @ =gUnknown_081D9E7C
+ ldr r1, _08014914 @ =gBattlescriptsForUsingItem
mov r10, r1
cmp r0, 0
bne _080148FC
@@ -4536,11 +4536,11 @@ _08014904: .4byte gBattleCommunication
_08014908: .4byte gBankAttacker
_0801490C: .4byte 0x000160da
_08014910: .4byte gBattlescriptCurrInstr
-_08014914: .4byte gUnknown_081D9E7C
+_08014914: .4byte gBattlescriptsForUsingItem
_08014918:
ldr r3, _08014950 @ =gBattlescriptCurrInstr
mov r9, r3
- ldr r0, _08014954 @ =gUnknown_081D9E7C
+ ldr r0, _08014954 @ =gBattlescriptsForUsingItem
mov r10, r0
adds r5, r7, 0
mov r4, r8
@@ -4568,7 +4568,7 @@ _08014926:
b _08014A74
.align 2, 0
_08014950: .4byte gBattlescriptCurrInstr
-_08014954: .4byte gUnknown_081D9E7C
+_08014954: .4byte gBattlescriptsForUsingItem
_08014958:
ldr r3, _0801498C @ =gBattleCommunication
movs r0, 0x4
@@ -4592,7 +4592,7 @@ _08014958:
strb r0, [r3, 0x5]
ldr r2, _08014998 @ =gBattlescriptCurrInstr
mov r9, r2
- ldr r3, _0801499C @ =gUnknown_081D9E7C
+ ldr r3, _0801499C @ =gBattlescriptsForUsingItem
mov r10, r3
b _08014A74
.align 2, 0
@@ -4600,7 +4600,7 @@ _0801498C: .4byte gBattleCommunication
_08014990: .4byte gBankAttacker
_08014994: .4byte 0x000160da
_08014998: .4byte gBattlescriptCurrInstr
-_0801499C: .4byte gUnknown_081D9E7C
+_0801499C: .4byte gBattlescriptsForUsingItem
_080149A0:
ldr r3, _08014A18 @ =gBattleTextBuff1
movs r4, 0xFD
@@ -4623,7 +4623,7 @@ _080149A0:
ands r2, r0
ldr r0, _08014A20 @ =gBattlescriptCurrInstr
mov r9, r0
- ldr r1, _08014A24 @ =gUnknown_081D9E7C
+ ldr r1, _08014A24 @ =gBattlescriptsForUsingItem
mov r10, r1
adds r6, r3, 0
cmp r2, 0
@@ -4667,7 +4667,7 @@ _08014A02:
_08014A18: .4byte gBattleTextBuff1
_08014A1C: .4byte gBattleTextBuff2
_08014A20: .4byte gBattlescriptCurrInstr
-_08014A24: .4byte gUnknown_081D9E7C
+_08014A24: .4byte gBattlescriptsForUsingItem
_08014A28: .4byte 0x000160a4
_08014A2C: .4byte 0x000160a5
_08014A30:
@@ -4684,7 +4684,7 @@ _08014A30:
mov r8, r0
ldr r1, _08014A5C @ =gBattlescriptCurrInstr
mov r9, r1
- ldr r2, _08014A60 @ =gUnknown_081D9E7C
+ ldr r2, _08014A60 @ =gBattlescriptsForUsingItem
mov r10, r2
b _08014A74
.align 2, 0
@@ -4692,7 +4692,7 @@ _08014A50: .4byte gBattleTypeFlags
_08014A54: .4byte gBattleCommunication
_08014A58: .4byte gBankAttacker
_08014A5C: .4byte gBattlescriptCurrInstr
-_08014A60: .4byte gUnknown_081D9E7C
+_08014A60: .4byte gBattlescriptsForUsingItem
_08014A64:
ldr r0, _08014AA0 @ =gBattleCommunication
strb r1, [r0, 0x5]
@@ -4700,7 +4700,7 @@ _08014A64:
mov r8, r3
ldr r0, _08014AA8 @ =gBattlescriptCurrInstr
mov r9, r0
- ldr r1, _08014AAC @ =gUnknown_081D9E7C
+ ldr r1, _08014AAC @ =gBattlescriptsForUsingItem
mov r10, r1
_08014A74:
mov r2, r8
@@ -4730,7 +4730,7 @@ _08014A8C:
_08014AA0: .4byte gBattleCommunication
_08014AA4: .4byte gBankAttacker
_08014AA8: .4byte gBattlescriptCurrInstr
-_08014AAC: .4byte gUnknown_081D9E7C
+_08014AAC: .4byte gBattlescriptsForUsingItem
_08014AB0: .4byte 0x000160d8
_08014AB4: .4byte gFightStateTracker
thumb_func_end sub_80147A0
@@ -4998,7 +4998,7 @@ _08014C9C:
movs r0, 0x3
strb r0, [r1, 0x5]
ldr r1, _08014CE8 @ =gBattlescriptCurrInstr
- ldr r0, _08014CEC @ =gUnknown_081D8E3B
+ ldr r0, _08014CEC @ =BattleScript_PrintFailedToRunString
str r0, [r1]
ldr r1, _08014CF0 @ =gFightStateTracker
movs r0, 0xA
@@ -5008,7 +5008,7 @@ _08014CDC: .4byte gBattleMons
_08014CE0: .4byte 0xfdffffff
_08014CE4: .4byte gBattleCommunication
_08014CE8: .4byte gBattlescriptCurrInstr
-_08014CEC: .4byte gUnknown_081D8E3B
+_08014CEC: .4byte BattleScript_PrintFailedToRunString
_08014CF0: .4byte gFightStateTracker
_08014CF4:
ldr r1, _08014D1C @ =gBattleMons
@@ -5026,7 +5026,7 @@ _08014CF4:
movs r0, 0x4
strb r0, [r1, 0x5]
ldr r1, _08014D28 @ =gBattlescriptCurrInstr
- ldr r0, _08014D2C @ =gUnknown_081D8E3B
+ ldr r0, _08014D2C @ =BattleScript_PrintFailedToRunString
str r0, [r1]
ldr r1, _08014D30 @ =gFightStateTracker
movs r0, 0xA
@@ -5036,7 +5036,7 @@ _08014D1C: .4byte gBattleMons
_08014D20: .4byte 0x0400e000
_08014D24: .4byte gBattleCommunication
_08014D28: .4byte gBattlescriptCurrInstr
-_08014D2C: .4byte gUnknown_081D8E3B
+_08014D2C: .4byte BattleScript_PrintFailedToRunString
_08014D30: .4byte gFightStateTracker
_08014D34:
ldr r0, _08014D48 @ =gNoOfAllBanks
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index 3a6eccc99..e4fa0c454 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -476,7 +476,7 @@
.macro fanfare int
.byte 0x55
- .4byte \int
+ .2byte \int
.endm
.macro playfaintcry bank_or_side
@@ -1335,3 +1335,80 @@
.macro playtrainerdefeatbgm bank
various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
.endm
+
+@ helpful macros
+ .macro setstatchanger stat, stages, down
+ setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7
+ .endm
+
+ .macro setmoveeffect effect
+ setbyte cEFFECT_CHOOSER \effect
+ .endm
+
+ .macro chosenstatus1animation bank, status
+ chosenstatusanimation \bank 0x0 \status
+ .endm
+
+ .macro chosenstatus2animation bank, status
+ chosenstatusanimation \bank 0x1 \status
+ .endm
+
+ .macro sethword dst, value
+ setbyte \dst, \value & 0xFF
+ setbyte \dst + 1, (\value >> 8) & 0xFF
+ .endm
+
+ .macro setword dst, value
+ setbyte \dst, \value & 0xFF
+ setbyte \dst + 1, (\value >> 8) & 0xFF
+ setbyte \dst + 2, (\value >> 16) & 0xFF
+ setbyte \dst + 3, (\value >> 24) & 0xFF
+ .endm
+
+ .macro copybyte dst, src
+ copyarray \dst, \src, 0x1
+ .endm
+
+ .macro copyhword dst, src
+ copyarray \dst, \src, 0x2
+ .endm
+
+ .macro copyword dst, src
+ copyarray \dst, \src, 0x4
+ .endm
+
+ .macro jumpifbytenotequal byte1, byte2, jumpptr
+ jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifbyteequal byte1, byte2, jumpptr
+ jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifmove move, jumpptr
+ jumpifhalfword EQUAL, gCurrentMove, \move, \jumpptr
+ .endm
+
+ .macro jumpifnotmove move, jumpptr
+ jumpifhalfword NOT_EQUAL, gCurrentMove, \move, \jumpptr
+ .endm
+
+ .macro jumpifstatus3 bank, status, jumpptr
+ jumpifstatus3condition \bank, \status, 0x0, \jumpptr
+ .endm
+
+ .macro jumpifnostatus3 bank, status, jumpptr
+ jumpifstatus3condition \bank, \status, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifmovehadnoeffect jumpptr
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, \jumpptr
+ .endm
+
+ .macro jumpifbattletype flags, jumpptr
+ jumpifhalfword COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
+ .endm
+
+ .macro jumpifnotbattletype flags, jumpptr
+ jumpifhalfword NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
+ .endm
diff --git a/constants/battle_script_constants.inc b/constants/battle_script_constants.inc
index 291807e0d..f35c80543 100644
--- a/constants/battle_script_constants.inc
+++ b/constants/battle_script_constants.inc
@@ -1,3 +1,122 @@
+@ animation ids
+ .set ANIM_CASTFORM_CHANGE, 0x0
+ .set ANIM_STATS_CHANGE, 0x1
+ .set ANIM_SUBSTITUTE_FADE, 0x2
+ .set ANIM_SUBSTITUTE_APPEAR, 0x3
+ .set ANIM_x4, 0x4
+ .set ANIM_ITEM_KNOCKOFF, 0x5
+ .set ANIM_TURN_TRAP, 0x6
+ .set ANIM_ITEM_EFFECT, 0x7
+ .set ANIM_SMOKEBALL_ESCAPE, 0x8
+ .set ANIM_HANGED_ON, 0x9
+ .set ANIM_RAIN_CONTINUES, 0xA
+ .set ANIM_SUN_CONTINUES, 0xB
+ .set ANIM_SANDSTORM_CONTINUES, 0xC
+ .set ANIM_HAIL_CONTINUES, 0xD
+ .set ANIM_LEECH_SEED_DRAIN, 0xE
+ .set ANIM_MON_HIT, 0xF
+ .set ANIM_ITEM_STEAL, 0x10
+ .set ANIM_SNATCH_MOVE, 0x11
+ .set ANIM_FUTURE_SIGHT_HIT, 0x12
+ .set ANIM_DOOM_DESIRE_HIT, 0x13
+ .set ANIM_x14, 0x14
+ .set ANIM_INGRAIN_HEAL, 0x15
+ .set ANIM_WISH_HEAL, 0x16
+
+@ atk 80
+ .set ATK80_DMG_CHANGE_SIGN, 0x0
+ .set ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP, 0x1
+ .set ATK80_DMG_DOUBLED, 0x2
+
+@ compare operands
+ .set EQUAL, 0x0
+ .set NOT_EQUAL, 0x1
+ .set GREATER_THAN, 0x2
+ .set LESS_THAN, 0x3
+ .set COMMON_BITS, 0x4
+ .set NO_COMMON_BITS, 0x5
+
+@ move effects
+ .set EFFECT_SLEEP, 0x1
+ .set EFFECT_POISON, 0x2
+ .set EFFECT_BURN, 0x3
+ .set EFFECT_FREEZE, 0x4
+ .set EFFECT_PARALYSIS, 0x5
+ .set EFFECT_TOXIC, 0x6
+ .set EFFECT_CONFUSION, 0x7
+ .set EFFECT_FLINCH, 0x8
+ .set EFFECT_TRI_ATTACK, 0x9
+ .set EFFECT_UPROAR, 0xA
+ .set EFFECT_PAYDAY, 0xB
+ .set EFFECT_CHARGING, 0xC
+ .set EFFECT_WRAP, 0xD
+ .set EFFECT_RECOIL_25, 0xE
+ .set EFFECT_ATK_PLUS_1, 0xF
+ .set EFFECT_DEF_PLUS_1, 0x10
+ .set EFFECT_SPD_PLUS_1, 0x11
+ .set EFFECT_SP_ATK_PLUS_1, 0x12
+ .set EFFECT_SP_DEF_PLUS_1, 0x13
+ .set EFFECT_ACC_PLUS_1, 0x14
+ .set EFFECT_EVS_PLUS_1, 0x15
+ .set EFFECT_ATK_MINUS_1, 0x16
+ .set EFFECT_DEF_MINUS_1, 0x17
+ .set EFFECT_SPD_MINUS_1, 0x18
+ .set EFFECT_SP_ATK_MINUS_1, 0x19
+ .set EFFECT_SP_DEF_MINUS_1, 0x1A
+ .set EFFECT_ACC_MINUS_1, 0x1B
+ .set EFFECT_EVS_MINUS_1, 0x1C
+ .set EFFECT_RECHARGE, 0x1D
+ .set EFFECT_RAGE, 0x1E
+ .set EFFECT_STEAL_ITEM, 0x1F
+ .set EFFECT_PREVENT_ESCAPE, 0x20
+ .set EFFECT_NIGHTMARE, 0x21
+ .set EFFECT_ALL_STATS_UP, 0x22
+ .set EFFECT_RAPIDSPIN, 0x23
+ .set EFFECT_REMOVE_PARALYSIS, 0x24
+ .set EFFECT_ATK_DEF_DOWN, 0x25
+ .set EFFECT_RECOIL_33_PARALYSIS, 0x26
+ .set EFFECT_ATK_PLUS_2, 0x27
+ .set EFFECT_DEF_PLUS_2, 0x28
+ .set EFFECT_SPD_PLUS_2, 0x29
+ .set EFFECT_SP_ATK_PLUS_2, 0x2A
+ .set EFFECT_SP_DEF_PLUS_2, 0x2B
+ .set EFFECT_ACC_PLUS_2, 0x2C
+ .set EFFECT_EVS_PLUS_2, 0x2D
+ .set EFFECT_ATK_MINUS_2, 0x2E
+ .set EFFECT_DEF_MINUS_2, 0x2F
+ .set EFFECT_SPD_MINUS_2, 0x30
+ .set EFFECT_SP_ATK_MINUS_2, 0x31
+ .set EFFECT_SP_DEF_MINUS_2, 0x32
+ .set EFFECT_ACC_MINUS_2, 0x33
+ .set EFFECT_EVS_MINUS_2, 0x34
+ .set EFFECT_THRASH, 0x35
+ .set EFFECT_KNOCK_OFF, 0x36
+ .set EFFECT_NOTHING_37, 0x37
+ .set EFFECT_NOTHING_38, 0x38
+ .set EFFECT_NOTHING_39, 0x39
+ .set EFFECT_NOTHING_3A, 0x3A
+ .set EFFECT_SP_ATK_TWO_DOWN, 0x3B
+ .set EFFECT_NOTHING_3C, 0x3C
+ .set EFFECT_NOTHING_3D, 0x3D
+ .set EFFECT_NOTHING_3E, 0x3E
+ .set EFFECT_NOTHING_3F, 0x3F
+
+ .set AFFECTS_USER, 0x40
+ .set CERTAIN, 0x80
+
+@ accuracy calc
+ .set NO_ACC_CALC, 0xFFFE
+ .set NO_ACC_CALC_CHECK_LOCK_ON, 0xFFFF
+ .set ACC_CURR_MOVE, 0x0
+
+@ bank values
+ .set EFFECT_BANK, 0x2
+ .set GBANK_1, 0x3
+ .set ATTACKER_WITH_PARTNER, 0x4 @ only for cmd98
+ .set BANK0, 0x7
+ .set SCRIPTING_BANK, 0xA
+ .set OPPONENT1, 0xC
+
@ various
.set VARIOUS_CANCEL_MULTI_TURN_MOVES, 0
.set VARIOUS_SET_MAGIC_COAT_TARGET, 1
@@ -11,3 +130,33 @@
.set VARIOUS_RETURN_OPPONENT_MON2, 20
.set VARIOUS_SET_TELEPORT_OUTCOME, 25
.set VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC, 26
+
+@ jumpifcant switch flag argument
+ .set ATK4F_DONT_CHECK_STATUSES, 0x80
+
+@ battle scripting struct
+ .equiv sANIM_TURN, gSharedMem + 0x16002
+ .equiv sBANK, gSharedMem + 0x16003
+ .equiv sMOVEEND_STATE, gSharedMem + 0x1600C
+ .equiv sGIVEEXP_STATE, gSharedMem + 0x1600F
+ .equiv sPAINSPLIT_HP, gSharedMem + 0x16014
+ .equiv sLEARNMOVE_STATE, gSharedMem + 0x1601A
+ .equiv sSTATCHANGER, gSharedMem + 0x1601E
+ .equiv sDMG_MULTIPLIER, gSharedMem + 0x1601F
+ .equiv sTWOTURN_STRINGID, gSharedMem + 0x16055
+ .equiv sBATTLE_STYLE, gSharedMem + 0x16084
+ .equiv sBIDE_DMG, gSharedMem + 0x16090
+ .equiv sLVLBOX_STATE, gSharedMem + 0x1609C
+ .equiv sANIM_TARGETS_HIT, gSharedMem + 0x160A1
+ .equiv sANIM_ARG1, gSharedMem + 0x160A4
+ .equiv sANIM_ARG2, gSharedMem + 0x160A5
+ .equiv sFIELD_1B, gSharedMem + 0x160DC
+ .equiv sTRIPLE_KICK_POWER, gSharedMem + 0x160DE
+ .equiv sMULTIHIT_STRING, gSharedMem + 0x160E0
+ .equiv sBANK_WITH_ABILITY, gSharedMem + 0x160F8
+ .equiv sMULTIHIT_EFFECT, gSharedMem + 0x16112
+
+
+@ battle communication struct
+ .equiv cEFFECT_CHOOSER, gBattleCommunication + 3
+ .equiv cMULTISTRING_CHOOSER, gBattleCommunication + 5
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index 3041e7a48..3c255b461 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -1,4 +1,7 @@
#include "constants/abilities.h"
+#include "constants/battle_constants.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
.include "asm/macros.inc"
.include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
@@ -6,268 +9,268 @@
.section script_data, "aw", %progbits
-gBattleScriptsEffectsTable:: @ 81D6BBC
- .4byte MoveEffect_Hit
- .4byte MoveEffect_Sleep
- .4byte MoveEffect_PoisonHit
- .4byte MoveEffect_Absorb
- .4byte MoveEffect_BurnHit
- .4byte MoveEffect_FreezeHit
- .4byte MoveEffect_ParalyzeHit
- .4byte MoveEffect_Explosion
- .4byte MoveEffect_DreamEater
- .4byte MoveEffect_MirrorMove
- .4byte MoveEffect_AttackUp
- .4byte MoveEffect_DefenseUp
- .4byte MoveEffect_SpeedUp
- .4byte MoveEffect_SpecialAttackUp
- .4byte MoveEffect_SpecialDefenseUp
- .4byte MoveEffect_AccuracyUp
- .4byte MoveEffect_EvasionUp
- .4byte MoveEffect_AlwaysHit
- .4byte MoveEffect_AttackDown
- .4byte MoveEffect_DefenseDown
- .4byte MoveEffect_SpeedDown
- .4byte MoveEffect_SpecialAttackDown
- .4byte MoveEffect_SpecialDefenseDown
- .4byte MoveEffect_AccuracyDown
- .4byte MoveEffect_EvasionDown
- .4byte MoveEffect_Haze
- .4byte MoveEffect_Bide
- .4byte MoveEffect_Rampage
- .4byte MoveEffect_Roar
- .4byte MoveEffect_MultiHit
- .4byte MoveEffect_Conversion
- .4byte MoveEffect_FlinchHit
- .4byte MoveEffect_RestoreHp
- .4byte MoveEffect_Toxic
- .4byte MoveEffect_PayDay
- .4byte MoveEffect_LightScreen
- .4byte MoveEffect_TriAttack
- .4byte MoveEffect_Rest
- .4byte MoveEffect_Ohko
- .4byte MoveEffect_RazorWind
- .4byte MoveEffect_SuperFang
- .4byte MoveEffect_DragonRage
- .4byte MoveEffect_Trap
- .4byte MoveEffect_HighCritical
- .4byte MoveEffect_DoubleHit
- .4byte MoveEffect_RecoilIfMiss
- .4byte MoveEffect_Mist
- .4byte MoveEffect_FocusEnergy
- .4byte MoveEffect_Recoil
- .4byte MoveEffect_Confuse
- .4byte MoveEffect_AttackUp2
- .4byte MoveEffect_DefenseUp2
- .4byte MoveEffect_SpeedUp2
- .4byte MoveEffect_SpecialAttackUp2
- .4byte MoveEffect_SpecialDefenseUp2
- .4byte MoveEffect_AccuracyUp2
- .4byte MoveEffect_EvasionUp2
- .4byte MoveEffect_Transform
- .4byte MoveEffect_AttackDown2
- .4byte MoveEffect_DefenseDown2
- .4byte MoveEffect_SpeedDown2
- .4byte MoveEffect_SpecialAttackDown2
- .4byte MoveEffect_SpecialDefenseDown2
- .4byte MoveEffect_AccuracyDown2
- .4byte MoveEffect_EvasionDown2
- .4byte MoveEffect_Reflect
- .4byte MoveEffect_Poison
- .4byte MoveEffect_Paralyze
- .4byte MoveEffect_AttackDownHit
- .4byte MoveEffect_DefenseDownHit
- .4byte MoveEffect_SpeedDownHit
- .4byte MoveEffect_SpecialAttackDownHit
- .4byte MoveEffect_SpecialDefenseDownHit
- .4byte MoveEffect_AccuracyDownHit
- .4byte MoveEffect_EvasionDownHit
- .4byte MoveEffect_SkyAttack
- .4byte MoveEffect_ConfuseHit
- .4byte MoveEffect_Twineedle
- .4byte MoveEffect_VitalThrow
- .4byte MoveEffect_Substitute
- .4byte MoveEffect_Recharge
- .4byte MoveEffect_Rage
- .4byte MoveEffect_Mimic
- .4byte MoveEffect_Metronome
- .4byte MoveEffect_LeechSeed
- .4byte MoveEffect_Splash
- .4byte MoveEffect_Disable
- .4byte MoveEffect_LevelDamage
- .4byte MoveEffect_Psywave
- .4byte MoveEffect_Counter
- .4byte MoveEffect_Encore
- .4byte MoveEffect_PainSplit
- .4byte MoveEffect_Snore
- .4byte MoveEffect_Conversion2
- .4byte MoveEffect_LockOn
- .4byte MoveEffect_Sketch
- .4byte MoveEffect_Unused60
- .4byte MoveEffect_SleepTalk
- .4byte MoveEffect_DestinyBond
- .4byte MoveEffect_Flail
- .4byte MoveEffect_Spite
- .4byte MoveEffect_FalseSwipe
- .4byte MoveEffect_HealBell
- .4byte MoveEffect_QuickAttack
- .4byte MoveEffect_TripleKick
- .4byte MoveEffect_Thief
- .4byte MoveEffect_MeanLook
- .4byte MoveEffect_Nightmare
- .4byte MoveEffect_Minimize
- .4byte MoveEffect_Curse
- .4byte MoveEffect_Unused6E
- .4byte MoveEffect_Protect
- .4byte MoveEffect_Spikes
- .4byte MoveEffect_Foresight
- .4byte MoveEffect_PerishSong
- .4byte MoveEffect_Sandstorm
- .4byte MoveEffect_Endure
- .4byte MoveEffect_Rollout
- .4byte MoveEffect_Swagger
- .4byte MoveEffect_FuryCutter
- .4byte MoveEffect_Attract
- .4byte MoveEffect_Return
- .4byte MoveEffect_Present
- .4byte MoveEffect_Frustration
- .4byte MoveEffect_Safeguard
- .4byte MoveEffect_ThawHit
- .4byte MoveEffect_Magnitude
- .4byte MoveEffect_BatonPass
- .4byte MoveEffect_Pursuit
- .4byte MoveEffect_RapidSpin
- .4byte MoveEffect_Sonicboom
- .4byte MoveEffect_Unused83
- .4byte MoveEffect_MorningSun
- .4byte MoveEffect_Synthesis
- .4byte MoveEffect_Moonlight
- .4byte MoveEffect_HiddenPower
- .4byte MoveEffect_RainDance
- .4byte MoveEffect_SunnyDay
- .4byte MoveEffect_DefenseUpHit
- .4byte MoveEffect_AttackUpHit
- .4byte MoveEffect_AllStatsUpHit
- .4byte MoveEffect_Unused8D
- .4byte MoveEffect_BellyDrum
- .4byte MoveEffect_PsychUp
- .4byte MoveEffect_MirrorCoat
- .4byte MoveEffect_SkullBash
- .4byte MoveEffect_Twister
- .4byte MoveEffect_Earthquake
- .4byte MoveEffect_FutureSight
- .4byte MoveEffect_Gust
- .4byte MoveEffect_FlinchHit2
- .4byte MoveEffect_Solarbeam
- .4byte MoveEffect_Thunder
- .4byte MoveEffect_Teleport
- .4byte MoveEffect_BeatUp
- .4byte MoveEffect_Fly
- .4byte MoveEffect_DefenseCurl
- .4byte MoveEffect_Softboiled
- .4byte MoveEffect_FakeOut
- .4byte MoveEffect_Uproar
- .4byte MoveEffect_Stockpile
- .4byte MoveEffect_SpitUp
- .4byte MoveEffect_Swallow
- .4byte MoveEffect_UnusedA3
- .4byte MoveEffect_Hail
- .4byte MoveEffect_Torment
- .4byte MoveEffect_Flatter
- .4byte MoveEffect_WillOWisp
- .4byte MoveEffect_Memento
- .4byte MoveEffect_Facade
- .4byte MoveEffect_FocusPunch
- .4byte MoveEffect_Smellingsalt
- .4byte MoveEffect_FollowMe
- .4byte MoveEffect_NaturePower
- .4byte MoveEffect_Charge
- .4byte MoveEffect_Taunt
- .4byte MoveEffect_HelpingHand
- .4byte MoveEffect_Trick
- .4byte MoveEffect_RolePlay
- .4byte MoveEffect_Wish
- .4byte MoveEffect_Assist
- .4byte MoveEffect_Ingrain
- .4byte MoveEffect_Superpower
- .4byte MoveEffect_MagicCoat
- .4byte MoveEffect_Recycle
- .4byte MoveEffect_Revenge
- .4byte MoveEffect_BrickBreak
- .4byte MoveEffect_Yawn
- .4byte MoveEffect_KnockOff
- .4byte MoveEffect_Endeavor
- .4byte MoveEffect_Eruption
- .4byte MoveEffect_SkillSwap
- .4byte MoveEffect_Imprison
- .4byte MoveEffect_Refresh
- .4byte MoveEffect_Grudge
- .4byte MoveEffect_Snatch
- .4byte MoveEffect_LowKick
- .4byte MoveEffect_SecretPower
- .4byte MoveEffect_DoubleEdge
- .4byte MoveEffect_TeeterDance
- .4byte MoveEffect_BlazeKick
- .4byte MoveEffect_MudSport
- .4byte MoveEffect_PoisonFang
- .4byte MoveEffect_WeatherBall
- .4byte MoveEffect_Overheat
- .4byte MoveEffect_Tickle
- .4byte MoveEffect_CosmicPower
- .4byte MoveEffect_SkyUppercut
- .4byte MoveEffect_BulkUp
- .4byte MoveEffect_PoisonTail
- .4byte MoveEffect_WaterSport
- .4byte MoveEffect_CalmMind
- .4byte MoveEffect_DragonDance
- .4byte MoveEffect_Camouflage
-
-BattleScript_1D6F14: @ 81D6F14
-MoveEffect_AccuracyDown2: @ 81D6F14
-MoveEffect_AccuracyUp2: @ 81D6F14
-MoveEffect_AccuracyUp: @ 81D6F14
-MoveEffect_AlwaysHit: @ 81D6F14
-MoveEffect_EvasionDown2: @ 81D6F14
-MoveEffect_EvasionDownHit: @ 81D6F14
-MoveEffect_EvasionUp2: @ 81D6F14
-MoveEffect_FalseSwipe: @ 81D6F14
-MoveEffect_HighCritical: @ 81D6F14
-MoveEffect_Hit: @ 81D6F14
-MoveEffect_Pursuit: @ 81D6F14
-MoveEffect_QuickAttack: @ 81D6F14
-MoveEffect_SpecialAttackDown2: @ 81D6F14
-MoveEffect_SpecialAttackDown: @ 81D6F14
-MoveEffect_SpecialDefenseDown: @ 81D6F14
-MoveEffect_SpecialDefenseUp: @ 81D6F14
-MoveEffect_SpeedUp: @ 81D6F14
-MoveEffect_Unused60: @ 81D6F14
-MoveEffect_Unused6E: @ 81D6F14
-MoveEffect_Unused83: @ 81D6F14
-MoveEffect_Unused8D: @ 81D6F14
-MoveEffect_UnusedA3: @ 81D6F14
-MoveEffect_VitalThrow: @ 81D6F14
- jumpifhalfword 1, gCurrentMove, 57, BattleScript_1D6F3A
- jumpifstatus3condition TARGET, 0x40000, 1, BattleScript_1D6F3A
- orword gHitMarker, 0x40000
- setbyte gSharedMem + 0x1601F, 2
-
-BattleScript_1D6F3A: @ 81D6F3A
- attackcanceler
-
-BattleScript_1D6F3B: @ 81D6F3B
- accuracycheck BattleScript_1D6F72, 0
-
-BattleScript_1D6F42: @ 81D6F42
- attackstring
- ppreduce
-
-BattleScript_1D6F44:: @ 81D6F44
+gBattleScriptsForMoveEffects:: @ 81D6BBC
+ .4byte BattleScript_EffectHit
+ .4byte BattleScript_EffectSleep
+ .4byte BattleScript_EffectPoisonHit
+ .4byte BattleScript_EffectAbsorb
+ .4byte BattleScript_EffectBurnHit
+ .4byte BattleScript_EffectFreezeHit
+ .4byte BattleScript_EffectParalyzeHit
+ .4byte BattleScript_EffectExplosion
+ .4byte BattleScript_EffectDreamEater
+ .4byte BattleScript_EffectMirrorMove
+ .4byte BattleScript_EffectAttackUp
+ .4byte BattleScript_EffectDefenseUp
+ .4byte BattleScript_EffectSpeedUp
+ .4byte BattleScript_EffectSpecialAttackUp
+ .4byte BattleScript_EffectSpecialDefenseUp
+ .4byte BattleScript_EffectAccuracyUp
+ .4byte BattleScript_EffectEvasionUp
+ .4byte BattleScript_EffectAlwaysHit
+ .4byte BattleScript_EffectAttackDown
+ .4byte BattleScript_EffectDefenseDown
+ .4byte BattleScript_EffectSpeedDown
+ .4byte BattleScript_EffectSpecialAttackDown
+ .4byte BattleScript_EffectSpecialDefenseDown
+ .4byte BattleScript_EffectAccuracyDown
+ .4byte BattleScript_EffectEvasionDown
+ .4byte BattleScript_EffectHaze
+ .4byte BattleScript_EffectBide
+ .4byte BattleScript_EffectRampage
+ .4byte BattleScript_EffectRoar
+ .4byte BattleScript_EffectMultiHit
+ .4byte BattleScript_EffectConversion
+ .4byte BattleScript_EffectFlinchHit
+ .4byte BattleScript_EffectRestoreHp
+ .4byte BattleScript_EffectToxic
+ .4byte BattleScript_EffectPayDay
+ .4byte BattleScript_EffectLightScreen
+ .4byte BattleScript_EffectTriAttack
+ .4byte BattleScript_EffectRest
+ .4byte BattleScript_EffectOHKO
+ .4byte BattleScript_EffectRazorWind
+ .4byte BattleScript_EffectSuperFang
+ .4byte BattleScript_EffectDragonRage
+ .4byte BattleScript_EffectTrap
+ .4byte BattleScript_EffectHighCritical
+ .4byte BattleScript_EffectDoubleHit
+ .4byte BattleScript_EffectRecoilIfMiss
+ .4byte BattleScript_EffectMist
+ .4byte BattleScript_EffectFocusEnergy
+ .4byte BattleScript_EffectRecoil
+ .4byte BattleScript_EffectConfuse
+ .4byte BattleScript_EffectAttackUp2
+ .4byte BattleScript_EffectDefenseUp2
+ .4byte BattleScript_EffectSpeedUp2
+ .4byte BattleScript_EffectSpecialAttackUp2
+ .4byte BattleScript_EffectSpecialDefenseUp2
+ .4byte BattleScript_EffectAccuracyUp2
+ .4byte BattleScript_EffectEvasionUp2
+ .4byte BattleScript_EffectTransform
+ .4byte BattleScript_EffectAttackDown2
+ .4byte BattleScript_EffectDefenseDown2
+ .4byte BattleScript_EffectSpeedDown2
+ .4byte BattleScript_EffectSpecialAttackDown2
+ .4byte BattleScript_EffectSpecialDefenseDown2
+ .4byte BattleScript_EffectAccuracyDown2
+ .4byte BattleScript_EffectEvasionDown2
+ .4byte BattleScript_EffectReflect
+ .4byte BattleScript_EffectPoison
+ .4byte BattleScript_EffectParalyze
+ .4byte BattleScript_EffectAttackDownHit
+ .4byte BattleScript_EffectDefenseDownHit
+ .4byte BattleScript_EffectSpeedDownHit
+ .4byte BattleScript_EffectSpecialAttackDownHit
+ .4byte BattleScript_EffectSpecialDefenseDownHit
+ .4byte BattleScript_EffectAccuracyDownHit
+ .4byte BattleScript_EffectEvasionDownHit
+ .4byte BattleScript_EffectSkyAttack
+ .4byte BattleScript_EffectConfuseHit
+ .4byte BattleScript_EffectTwineedle
+ .4byte BattleScript_EffectVitalThrow
+ .4byte BattleScript_EffectSubstitute
+ .4byte BattleScript_EffectRecharge
+ .4byte BattleScript_EffectRage
+ .4byte BattleScript_EffectMimic
+ .4byte BattleScript_EffectMetronome
+ .4byte BattleScript_EffectLeechSeed
+ .4byte BattleScript_EffectSplash
+ .4byte BattleScript_EffectDisable
+ .4byte BattleScript_EffectLevelDamage
+ .4byte BattleScript_EffectPsywave
+ .4byte BattleScript_EffectCounter
+ .4byte BattleScript_EffectEncore
+ .4byte BattleScript_EffectPainSplit
+ .4byte BattleScript_EffectSnore
+ .4byte BattleScript_EffectConversion2
+ .4byte BattleScript_EffectLockOn
+ .4byte BattleScript_EffectSketch
+ .4byte BattleScript_EffectUnused60//Thaw
+ .4byte BattleScript_EffectSleepTalk
+ .4byte BattleScript_EffectDestinyBond
+ .4byte BattleScript_EffectFlail
+ .4byte BattleScript_EffectSpite
+ .4byte BattleScript_EffectFalseSwipe
+ .4byte BattleScript_EffectHealBell
+ .4byte BattleScript_EffectQuickAttack
+ .4byte BattleScript_EffectTripleKick
+ .4byte BattleScript_EffectThief
+ .4byte BattleScript_EffectMeanLook
+ .4byte BattleScript_EffectNightmare
+ .4byte BattleScript_EffectMinimize
+ .4byte BattleScript_EffectCurse
+ .4byte BattleScript_EffectUnused6E
+ .4byte BattleScript_EffectProtect
+ .4byte BattleScript_EffectSpikes
+ .4byte BattleScript_EffectForesight
+ .4byte BattleScript_EffectPerishSong
+ .4byte BattleScript_EffectSandstorm
+ .4byte BattleScript_EffectEndure
+ .4byte BattleScript_EffectRollout
+ .4byte BattleScript_EffectSwagger
+ .4byte BattleScript_EffectFuryCutter
+ .4byte BattleScript_EffectAttract
+ .4byte BattleScript_EffectReturn
+ .4byte BattleScript_EffectPresent
+ .4byte BattleScript_EffectFrustration
+ .4byte BattleScript_EffectSafeguard
+ .4byte BattleScript_EffectThawHit
+ .4byte BattleScript_EffectMagnitude
+ .4byte BattleScript_EffectBatonPass
+ .4byte BattleScript_EffectPursuit
+ .4byte BattleScript_EffectRapidSpin
+ .4byte BattleScript_EffectSonicboom
+ .4byte BattleScript_EffectUnused83
+ .4byte BattleScript_EffectMorningSun
+ .4byte BattleScript_EffectSynthesis
+ .4byte BattleScript_EffectMoonlight
+ .4byte BattleScript_EffectHiddenPower
+ .4byte BattleScript_EffectRainDance
+ .4byte BattleScript_EffectSunnyDay
+ .4byte BattleScript_EffectDefenseUpHit
+ .4byte BattleScript_EffectAttackUpHit
+ .4byte BattleScript_EffectAllStatsUpHit
+ .4byte BattleScript_EffectUnused8D
+ .4byte BattleScript_EffectBellyDrum
+ .4byte BattleScript_EffectPsychUp
+ .4byte BattleScript_EffectMirrorCoat
+ .4byte BattleScript_EffectSkullBash
+ .4byte BattleScript_EffectTwister
+ .4byte BattleScript_EffectEarthquake
+ .4byte BattleScript_EffectFutureSight
+ .4byte BattleScript_EffectGust
+ .4byte BattleScript_EffectStomp
+ .4byte BattleScript_EffectSolarbeam
+ .4byte BattleScript_EffectThunder
+ .4byte BattleScript_EffectTeleport
+ .4byte BattleScript_EffectBeatUp
+ .4byte BattleScript_EffectSemiInvulnerable
+ .4byte BattleScript_EffectDefenseCurl
+ .4byte BattleScript_EffectSoftboiled
+ .4byte BattleScript_EffectFakeOut
+ .4byte BattleScript_EffectUproar
+ .4byte BattleScript_EffectStockpile
+ .4byte BattleScript_EffectSpitUp
+ .4byte BattleScript_EffectSwallow
+ .4byte BattleScript_EffectUnusedA3
+ .4byte BattleScript_EffectHail
+ .4byte BattleScript_EffectTorment
+ .4byte BattleScript_EffectFlatter
+ .4byte BattleScript_EffectWillOWisp
+ .4byte BattleScript_EffectMemento
+ .4byte BattleScript_EffectFacade
+ .4byte BattleScript_EffectFocusPunch
+ .4byte BattleScript_EffectSmellingsalt
+ .4byte BattleScript_EffectFollowMe
+ .4byte BattleScript_EffectNaturePower
+ .4byte BattleScript_EffectCharge
+ .4byte BattleScript_EffectTaunt
+ .4byte BattleScript_EffectHelpingHand
+ .4byte BattleScript_EffectTrick
+ .4byte BattleScript_EffectRolePlay
+ .4byte BattleScript_EffectWish
+ .4byte BattleScript_EffectAssist
+ .4byte BattleScript_EffectIngrain
+ .4byte BattleScript_EffectSuperpower
+ .4byte BattleScript_EffectMagicCoat
+ .4byte BattleScript_EffectRecycle
+ .4byte BattleScript_EffectRevenge
+ .4byte BattleScript_EffectBrickBreak
+ .4byte BattleScript_EffectYawn
+ .4byte BattleScript_EffectKnockOff
+ .4byte BattleScript_EffectEndeavor
+ .4byte BattleScript_EffectEruption
+ .4byte BattleScript_EffectSkillSwap
+ .4byte BattleScript_EffectImprison
+ .4byte BattleScript_EffectRefresh
+ .4byte BattleScript_EffectGrudge
+ .4byte BattleScript_EffectSnatch
+ .4byte BattleScript_EffectLowKick
+ .4byte BattleScript_EffectSecretPower
+ .4byte BattleScript_EffectDoubleEdge
+ .4byte BattleScript_EffectTeeterDance
+ .4byte BattleScript_EffectBlazeKick
+ .4byte BattleScript_EffectMudSport
+ .4byte BattleScript_EffectPoisonFang
+ .4byte BattleScript_EffectWeatherBall
+ .4byte BattleScript_EffectOverheat
+ .4byte BattleScript_EffectTickle
+ .4byte BattleScript_EffectCosmicPower
+ .4byte BattleScript_EffectSkyUppercut
+ .4byte BattleScript_EffectBulkUp
+ .4byte BattleScript_EffectPoisonTail
+ .4byte BattleScript_EffectWaterSport
+ .4byte BattleScript_EffectCalmMind
+ .4byte BattleScript_EffectDragonDance
+ .4byte BattleScript_EffectCamouflage
+
+BattleScript_EffectHit: @ 81D6F14
+BattleScript_EffectAccuracyDown2: @ 81D6F14
+BattleScript_EffectAccuracyUp2: @ 81D6F14
+BattleScript_EffectAccuracyUp: @ 81D6F14
+BattleScript_EffectAlwaysHit: @ 81D6F14
+BattleScript_EffectEvasionDown2: @ 81D6F14
+BattleScript_EffectEvasionDownHit: @ 81D6F14
+BattleScript_EffectEvasionUp2: @ 81D6F14
+BattleScript_EffectFalseSwipe: @ 81D6F14
+BattleScript_EffectHighCritical: @ 81D6F14
+BattleScript_EffectHit: @ 81D6F14
+BattleScript_EffectPursuit: @ 81D6F14
+BattleScript_EffectQuickAttack: @ 81D6F14
+BattleScript_EffectSpecialAttackDown2: @ 81D6F14
+BattleScript_EffectSpecialAttackDown: @ 81D6F14
+BattleScript_EffectSpecialDefenseDown: @ 81D6F14
+BattleScript_EffectSpecialDefenseUp: @ 81D6F14
+BattleScript_EffectSpeedUp: @ 81D6F14
+BattleScript_EffectUnused60: @ 81D6F14
+BattleScript_EffectUnused6E: @ 81D6F14
+BattleScript_EffectUnused83: @ 81D6F14
+BattleScript_EffectUnused8D: @ 81D6F14
+BattleScript_EffectUnusedA3: @ 81D6F14
+BattleScript_EffectVitalThrow: @ 81D6F14
+ jumpifnotmove MOVE_SURF, BattleScript_HitFromAtkCanceler
+ jumpifnostatus3 TARGET, STATUS3_UNDERWATER, BattleScript_HitFromAtkCanceler
+ orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
+ setbyte sDMG_MULTIPLIER, 2
+
+BattleScript_HitFromAtkCanceler: @ 81D6F3A
+ attackcanceler
+
+BattleScript_HitFromAccCheck: @ 81D6F3B
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+
+BattleScript_HitFromAtkString: @ 81D6F42
+ attackstring
+ ppreduce
+
+BattleScript_HitFromCritCalc:: @ 81D6F44
critcalc
damagecalc
typecalc
adjustnormaldamage
-BattleScript_1D6F48: @ 81D6F48
+BattleScript_HitFromAtkAnimation: @ 81D6F48
attackanimation
waitanimation
effectivenesssound
@@ -280,71 +283,71 @@ BattleScript_1D6F48: @ 81D6F48
resultmessage
waitmessage 64
seteffectwithchance
- tryfaintmon TARGET, 0, 0x0
+ tryfaintmon TARGET, FALSE, NULL
-BattleScript_EndTurn:: @ 81D6F62
- setbyte gSharedMem + 0x1600C, 0
+BattleScript_MoveEnd:: @ 81D6F62
+ setbyte sMOVEEND_STATE, 0
moveend 0, 0
end
-BattleScript_1D6F6C: @ 81D6F6C
- orbyte gBattleMoveFlags, 1
+BattleScript_MakeMoveMissed: @ 81D6F6C
+ orbyte gBattleMoveFlags, MOVESTATUS_MISSED
-BattleScript_1D6F72: @ 81D6F72
+BattleScript_PrintMoveMissed: @ 81D6F72
attackstring
ppreduce
-BattleScript_1D6F74:: @ 81D6F74
+BattleScript_MoveMissedPause:: @ 81D6F74
pause 32
-BattleScript_1D6F77: @ 81D6F77
+BattleScript_MoveMissed: @ 81D6F77
effectivenesssound
resultmessage
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Sleep: @ 81D6F81
+BattleScript_EffectSleep: @ 81D6F81
attackcanceler
attackstring
ppreduce
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- jumpifstatus TARGET, SLP, BattleScript_1D6FC4
- jumpifcantmakeasleep BattleScript_1D6FE0
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, SLP, BattleScript_AlreadyAsleep
+ jumpifcantmakeasleep BattleScript_CantMakeAsleep
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
- accuracycheck BattleScript_ButItFailed, 0
- jumpifsideaffecting TARGET, 32, BattleScript_1D9037
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
- setbyte gUnknown_02024D1F + 0x2, 1
+ setmoveeffect EFFECT_SLEEP
seteffectprimary
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D6FC4: @ 81D6FC4
+BattleScript_AlreadyAsleep: @ 81D6FC4
pause 32
printstring BATTLE_TEXT_DefendingAsleep
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D6FD2: @ 81D6FD2
+BattleScript_WasntAffected: @ 81D6FD2
pause 32
printstring BATTLE_TEXT_WasntAffected
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D6FE0: @ 81D6FE0
+BattleScript_CantMakeAsleep: @ 81D6FE0
pause 32
- printfromtable BattleTextList_40156A
+ printfromtable gUproarAwakeStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_PoisonHit: @ 81D6FF0
-MoveEffect_PoisonTail: @ 81D6FF0
- setbyte gUnknown_02024D1F + 0x2, 2
- goto BattleScript_1D6F14
+BattleScript_EffectPoisonHit: @ 81D6FF0
+BattleScript_EffectPoisonTail: @ 81D6FF0
+ setmoveeffect EFFECT_POISON
+ goto BattleScript_EffectHit
-MoveEffect_Absorb: @ 81D6FFB
+BattleScript_EffectAbsorb: @ 81D6FFB
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
critcalc
@@ -363,48 +366,48 @@ MoveEffect_Absorb: @ 81D6FFB
resultmessage
waitmessage 64
negativedamage
- orword gHitMarker, 0x100
- jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_1D7037
- setbyte gUnknown_02024D1F + 0x4, 0
- goto BattleScript_1D703F
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_AbsorbLiquidOoze
+ setbyte cMULTISTRING_CHOOSER, 0
+ goto BattleScript_AbsorbUpdateHp
-BattleScript_1D7037: @ 81D7037
+BattleScript_AbsorbLiquidOoze: @ 81D7037
manipulatedamage 0
- setbyte gUnknown_02024D1F + 0x4, 1
+ setbyte cMULTISTRING_CHOOSER, 1
-BattleScript_1D703F: @ 81D703F
+BattleScript_AbsorbUpdateHp: @ 81D703F
healthbarupdate USER
datahpupdate USER
- jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7056
- printfromtable BattleTextList_4015D0
+ jumpifmovehadnoeffect BattleScript_AbsorbTryFainting
+ printfromtable gLeechSeedDrainStringIds
waitmessage 64
-BattleScript_1D7056: @ 81D7056
- tryfaintmon USER, 0, 0x0
- tryfaintmon TARGET, 0, 0x0
- goto BattleScript_EndTurn
+BattleScript_AbsorbTryFainting: @ 81D7056
+ tryfaintmon USER, FALSE, NULL
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
-MoveEffect_BlazeKick: @ 81D7069
-MoveEffect_BurnHit: @ 81D7069
- setbyte gUnknown_02024D1F + 0x2, 3
- goto BattleScript_1D6F14
+BattleScript_EffectBlazeKick: @ 81D7069
+BattleScript_EffectBurnHit: @ 81D7069
+ setmoveeffect EFFECT_BURN
+ goto BattleScript_EffectHit
-MoveEffect_FreezeHit: @ 81D7074
- setbyte gUnknown_02024D1F + 0x2, 4
- goto BattleScript_1D6F14
+BattleScript_EffectFreezeHit: @ 81D7074
+ setmoveeffect EFFECT_FREEZE
+ goto BattleScript_EffectHit
-MoveEffect_ParalyzeHit: @ 81D707F
- setbyte gUnknown_02024D1F + 0x2, 5
- goto BattleScript_1D6F14
+BattleScript_EffectParalyzeHit: @ 81D707F
+ setmoveeffect EFFECT_PARALYSIS
+ goto BattleScript_EffectHit
-MoveEffect_Explosion: @ 81D708A
+BattleScript_EffectExplosion: @ 81D708A
attackcanceler
attackstring
ppreduce
faintifabilitynotdamp
setatkhptozero
waitstate
- jumpifbyte 5, gBattleMoveFlags, 1, BattleScript_1D70A5
+ jumpifbyte NO_COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED, BattleScript_1D70A5
call BattleScript_1D70FB
goto BattleScript_1D70A7
@@ -418,7 +421,7 @@ BattleScript_1D70A7: @ 81D70A7
damagecalc
typecalc
adjustnormaldamage
- accuracycheck BattleScript_1D70E0, 0
+ accuracycheck BattleScript_1D70E0, ACC_CURR_MOVE
effectivenesssound
hitanimation TARGET
waitstate
@@ -428,43 +431,43 @@ BattleScript_1D70A7: @ 81D70A7
waitmessage 64
resultmessage
waitmessage 64
- tryfaintmon TARGET, 0, 0x0
- setbyte gSharedMem + 0x1600C, 0
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
jumpifnexttargetvalid BattleScript_1D70A7
- tryfaintmon USER, 0, 0x0
+ tryfaintmon USER, FALSE, NULL
end
BattleScript_1D70E0: @ 81D70E0
effectivenesssound
resultmessage
waitmessage 64
- setbyte gSharedMem + 0x1600C, 0
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
jumpifnexttargetvalid BattleScript_1D70A7
- tryfaintmon USER, 0, 0x0
+ tryfaintmon USER, FALSE, NULL
end
BattleScript_1D70FB: @ 81D70FB
- bicbyte gBattleMoveFlags, 1
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED
attackanimation
waitanimation
- orbyte gBattleMoveFlags, 1
+ orbyte gBattleMoveFlags, MOVESTATUS_MISSED
return
-MoveEffect_DreamEater: @ 81D710A
+BattleScript_EffectDreamEater: @ 81D710A
attackcanceler
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D711F
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_1D711F
jumpifstatus TARGET, SLP, BattleScript_1D7129
BattleScript_1D711F: @ 81D711F
attackstring
ppreduce
waitmessage 64
- goto BattleScript_1D6FD2
+ goto BattleScript_WasntAffected
BattleScript_1D7129: @ 81D7129
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
critcalc
@@ -483,126 +486,126 @@ BattleScript_1D7129: @ 81D7129
resultmessage
waitmessage 64
negativedamage
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
- jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7167
+ jumpifmovehadnoeffect BattleScript_DreamEaterTryFaintEnd
printstring BATTLE_TEXT_DreamEaten
waitmessage 64
-BattleScript_1D7167: @ 81D7167
- tryfaintmon TARGET, 0, 0x0
- goto BattleScript_EndTurn
+BattleScript_DreamEaterTryFaintEnd: @ 81D7167
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
-MoveEffect_MirrorMove: @ 81D7173
+BattleScript_EffectMirrorMove: @ 81D7173
attackcanceler
attackstring
pause 64
trymirrormove
ppreduce
- orbyte gBattleMoveFlags, 32
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
printstring BATTLE_TEXT_MirrorFail
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_AttackUp: @ 81D718B
- setbyte gSharedMem + 0x1601E, 17
- goto BattleScript_1D71B2
+BattleScript_EffectAttackUp: @ 81D718B
+ setstatchanger ATTACK, 1, FALSE
+ goto BattleScript_EffectStatUp
-MoveEffect_DefenseUp: @ 81D7196
- setbyte gSharedMem + 0x1601E, 18
- goto BattleScript_1D71B2
+BattleScript_EffectDefenseUp: @ 81D7196
+ setstatchanger DEFENSE, 1, FALSE
+ goto BattleScript_EffectStatUp
-MoveEffect_SpecialAttackUp: @ 81D71A1
- setbyte gSharedMem + 0x1601E, 20
- goto BattleScript_1D71B2
+BattleScript_EffectSpecialAttackUp: @ 81D71A1
+ setstatchanger SP_ATTACK, 1, FALSE
+ goto BattleScript_EffectStatUp
-MoveEffect_EvasionUp: @ 81D71AC
- setbyte gSharedMem + 0x1601E, 23
+BattleScript_EffectEvasionUp: @ 81D71AC
+ setstatchanger EVASION, 1, FALSE
-BattleScript_1D71B2: @ 81D71B2
+BattleScript_EffectStatUp: @ 81D71B2
attackcanceler
-BattleScript_1D71B3: @ 81D71B3
+BattleScript_EffectStatUpAfterAtkCanceler: @ 81D71B3
attackstring
ppreduce
- statbuffchange 65, BattleScript_1D71E0
- jumpifbyte 1, gUnknown_02024D1F + 0x4, 2, BattleScript_1D71CE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_StatUpEnd
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_StatUpAttackAnim
pause 32
- goto BattleScript_1D71D8
+ goto BattleScript_StatUpPrintString
-BattleScript_1D71CE: @ 81D71CE
+BattleScript_StatUpAttackAnim: @ 81D71CE
attackanimation
waitanimation
-BattleScript_1D71D0: @ 81D71D0
+BattleScript_StatUpDoAnim: @ 81D71D0
setgraphicalstatchangevalues
- playanimation USER, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4
+ playanimation USER, B_ANIM_STATS_CHANGE, sANIM_ARG1
-BattleScript_1D71D8: @ 81D71D8
- printfromtable BattleTextList_401570
+BattleScript_StatUpPrintString: @ 81D71D8
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D71E0: @ 81D71E0
- goto BattleScript_EndTurn
+BattleScript_StatUpEnd: @ 81D71E0
+ goto BattleScript_MoveEnd
BattleScript_StatUp:: @ 81D71E5
- playanimation 2, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4
- printfromtable BattleTextList_401570
+ playanimation 2, B_ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable gStatUpStringIds
waitmessage 64
return
-MoveEffect_AttackDown: @ 81D71F5
- setbyte gSharedMem + 0x1601E, 145
- goto BattleScript_1D7227
+BattleScript_EffectAttackDown: @ 81D71F5
+ setstatchanger ATTACK, 1, TRUE
+ goto BattleScript_EffectStatDown
-MoveEffect_DefenseDown: @ 81D7200
- setbyte gSharedMem + 0x1601E, 146
- goto BattleScript_1D7227
+BattleScript_EffectDefenseDown: @ 81D7200
+ setstatchanger DEFENSE, 1, TRUE
+ goto BattleScript_EffectStatDown
-MoveEffect_SpeedDown: @ 81D720B
- setbyte gSharedMem + 0x1601E, 147
- goto BattleScript_1D7227
+BattleScript_EffectSpeedDown: @ 81D720B
+ setstatchanger SPEED, 1, TRUE
+ goto BattleScript_EffectStatDown
-MoveEffect_AccuracyDown: @ 81D7216
- setbyte gSharedMem + 0x1601E, 150
- goto BattleScript_1D7227
+BattleScript_EffectAccuracyDown: @ 81D7216
+ setstatchanger ACCURACY, 1, TRUE
+ goto BattleScript_EffectStatDown
-MoveEffect_EvasionDown: @ 81D7221
- setbyte gSharedMem + 0x1601E, 151
+BattleScript_EffectEvasionDown: @ 81D7221
+ setstatchanger EVASION, 1, TRUE
-BattleScript_1D7227: @ 81D7227
+BattleScript_EffectStatDown: @ 81D7227
attackcanceler
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D83D4
- accuracycheck BattleScript_1D6F72, 0
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedAtkStringPpReduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
- statbuffchange 1, BattleScript_1D7271
- jumpifbyte 3, gUnknown_02024D1F + 0x4, 2, BattleScript_1D725F
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 3, BattleScript_1D7271
+ statbuffchange 1, BattleScript_StatDownEnd
+ jumpifbyte LESS_THAN, cMULTISTRING_CHOOSER, 2, BattleScript_StatDownDoAnim
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 3, BattleScript_StatDownEnd
pause 32
- goto BattleScript_1D7269
+ goto BattleScript_StatDownPrintString
-BattleScript_1D725F: @ 81D725F
+BattleScript_StatDownDoAnim: @ 81D725F
attackanimation
waitanimation
setgraphicalstatchangevalues
- playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4
+ playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1
-BattleScript_1D7269: @ 81D7269
- printfromtable BattleTextList_40157C
+BattleScript_StatDownPrintString: @ 81D7269
+ printfromtable gStatDownStringIds
waitmessage 64
-BattleScript_1D7271: @ 81D7271
- goto BattleScript_EndTurn
+BattleScript_StatDownEnd: @ 81D7271
+ goto BattleScript_MoveEnd
BattleScript_StatDown:: @ 81D7276
- playanimation 2, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4
- printfromtable BattleTextList_40157C
+ playanimation 2, B_ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable gStatDownStringIds
waitmessage 64
return
-MoveEffect_Haze: @ 81D7286
+BattleScript_EffectHaze: @ 81D7286
attackcanceler
attackstring
ppreduce
@@ -611,61 +614,61 @@ MoveEffect_Haze: @ 81D7286
normalisebuffs
printstring BATTLE_TEXT_StatElim
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Bide: @ 81D7297
+BattleScript_EffectBide: @ 81D7297
attackcanceler
attackstring
ppreduce
attackanimation
waitanimation
- orword gHitMarker, 0x8000000
+ orword gHitMarker, HITMARKER_x8000000
setbide
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Rampage: @ 81D72AB
+BattleScript_EffectRampage: @ 81D72AB
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
- jumpifstatus2 USER, S_CONTINUE, BattleScript_1D72BF
+ jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_1D72BF
ppreduce
BattleScript_1D72BF: @ 81D72BF
confuseifrepeatingattackends
- goto BattleScript_1D6F44
+ goto BattleScript_HitFromCritCalc
-MoveEffect_Roar: @ 81D72C5
+BattleScript_EffectRoar: @ 81D72C5
attackcanceler
attackstring
ppreduce
- jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_1D988D
- jumpifstatus3condition TARGET, 0x400, 0, BattleScript_1D93EC
- accuracycheck BattleScript_ButItFailed, 65535
- accuracycheck BattleScript_1D6F77, 0
+ jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut
+ jumpifstatus3 TARGET, STATUS3_ROOTED, BattleScript_PrintMonIsRooted
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
+ accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
forcerandomswitch BattleScript_ButItFailed
-MoveEffect_MultiHit: @ 81D72ED
+BattleScript_EffectMultiHit: @ 81D72ED
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
setmultihitcounter 0
initmultihitstring
- setbyte gSharedMem + 0x16112, 0
+ setbyte sMULTIHIT_EFFECT, 0
-BattleScript_1D7300: @ 81D7300
- jumpifhasnohp USER, BattleScript_1D7396
- jumpifhasnohp TARGET, BattleScript_1D7377
- jumpifhalfword 0, gUnknown_02024BE8, 214, BattleScript_1D7322
- jumpifstatus USER, SLP, BattleScript_1D7377
+BattleScript_MultiHitLoop: @ 81D7300
+ jumpifhasnohp USER, BattleScript_MultiHitEnd
+ jumpifhasnohp TARGET, BattleScript_MultiHitPrintStrings
+ jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoMultiHit
+ jumpifstatus USER, SLP, BattleScript_MultiHitPrintStrings
-BattleScript_1D7322: @ 81D7322
+BattleScript_DoMultiHit: @ 81D7322
movevaluescleanup
- copyarray gUnknown_02024D1F + 0x2, gSharedMem + 0x16112, 1
+ copybyte cEFFECT_CHOOSER, sMULTIHIT_EFFECT
critcalc
damagecalc
typecalc
- jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7374
+ jumpifmovehadnoeffect BattleScript_MultiHitNoMoreHits
adjustnormaldamage
attackanimation
waitanimation
@@ -678,34 +681,34 @@ BattleScript_1D7322: @ 81D7322
waitmessage 64
printstring BATTLE_TEXT_Terminator2
waitmessage 1
- addbyte gSharedMem + 0x160E4, 1
- setbyte gSharedMem + 0x1600C, 0
+ addbyte sMULTIHIT_STRING + 4, 1
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
- jumpifbyte 4, gBattleMoveFlags, 64, BattleScript_1D7377
- decrementmultihit BattleScript_1D7300
- goto BattleScript_1D7377
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_ENDURED, BattleScript_MultiHitPrintStrings
+ decrementmultihit BattleScript_MultiHitLoop
+ goto BattleScript_MultiHitPrintStrings
-BattleScript_1D7374: @ 81D7374
+BattleScript_MultiHitNoMoreHits: @ 81D7374
pause 32
-BattleScript_1D7377: @ 81D7377
+BattleScript_MultiHitPrintStrings: @ 81D7377
resultmessage
waitmessage 64
- jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7396
- copyarray gBattleTextBuff1, gSharedMem + 0x160E0, 6
+ jumpifmovehadnoeffect BattleScript_MultiHitEnd
+ copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6
printstring BATTLE_TEXT_HitMulti
waitmessage 64
-BattleScript_1D7396: @ 81D7396
+BattleScript_MultiHitEnd: @ 81D7396
seteffectwithchance
- tryfaintmon TARGET, 0, 0x0
- setbyte gSharedMem + 0x1600C, 2
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 2
moveend 1, 0
- setbyte gSharedMem + 0x1600C, 4
+ setbyte sMOVEEND_STATE, 4
moveend 0, 0
end
-MoveEffect_Conversion: @ 81D73B1
+BattleScript_EffectConversion: @ 81D73B1
attackcanceler
attackstring
ppreduce
@@ -714,520 +717,517 @@ MoveEffect_Conversion: @ 81D73B1
waitanimation
printstring BATTLE_TEXT_TypeTransform
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_FlinchHit: @ 81D73C6
- setbyte gUnknown_02024D1F + 0x2, 8
- goto BattleScript_1D6F14
+BattleScript_EffectFlinchHit: @ 81D73C6
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_EffectHit
-MoveEffect_RestoreHp: @ 81D73D1
+BattleScript_EffectRestoreHp: @ 81D73D1
attackcanceler
attackstring
ppreduce
- tryhealhalfhealth BattleScript_1D83B5, 1
+ tryhealhalfhealth BattleScript_AlreadyAtFullHp, 1
attackanimation
waitanimation
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_RegainedHealth
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Toxic: @ 81D73F4
+BattleScript_EffectToxic: @ 81D73F4
attackcanceler
attackstring
ppreduce
- jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_1D7463
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- jumpifstatus TARGET, PSN, BattleScript_1D7455
- jumpifstatus TARGET, TOX, BattleScript_1D7455
+ jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, PSN, BattleScript_AlreadyPoisoned
+ jumpifstatus TARGET, TOX, BattleScript_AlreadyPoisoned
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
- jumpiftype TARGET, TYPE_POISON, BattleScript_1D83E8
- jumpiftype TARGET, TYPE_STEEL, BattleScript_1D83E8
- accuracycheck BattleScript_ButItFailed, 0
- jumpifsideaffecting TARGET, 32, BattleScript_1D9037
+ jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected
+ jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
- setbyte gUnknown_02024D1F + 0x2, 6
+ setmoveeffect EFFECT_TOXIC
seteffectprimary
resultmessage
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D7455: @ 81D7455
+BattleScript_AlreadyPoisoned: @ 81D7455
pause 64
printstring BATTLE_TEXT_AlreadyPoisoned
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D7463: @ 81D7463
- copyarray gEffectBank, gBankTarget, 1
- setbyte gUnknown_02024D1F + 0x4, 0
+BattleScript_ImmunityProtected: @ 81D7463
+ copybyte gEffectBank, gBankTarget
+ setbyte cMULTISTRING_CHOOSER, 0
call BattleScript_PSNPrevention
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_PayDay: @ 81D747D
- setbyte gUnknown_02024D1F + 0x2, 11
- goto BattleScript_1D6F14
+BattleScript_EffectPayDay: @ 81D747D
+ setmoveeffect EFFECT_PAYDAY
+ goto BattleScript_EffectHit
-MoveEffect_LightScreen: @ 81D7488
+BattleScript_EffectLightScreen: @ 81D7488
attackcanceler
attackstring
ppreduce
setlightscreen
- goto BattleScript_1D7786
+ goto BattleScript_PrintReflectLightScreenSafeguardString
-MoveEffect_TriAttack: @ 81D7491
- setbyte gUnknown_02024D1F + 0x2, 9
- goto BattleScript_1D6F14
+BattleScript_EffectTriAttack: @ 81D7491
+ setmoveeffect EFFECT_TRI_ATTACK
+ goto BattleScript_EffectHit
-MoveEffect_Rest: @ 81D749C
+BattleScript_EffectRest: @ 81D749C
attackcanceler
attackstring
ppreduce
- jumpifstatus USER, SLP, BattleScript_1D74D6
- jumpifcantmakeasleep BattleScript_1D74C6
- trysetrest BattleScript_1D83B5
+ jumpifstatus USER, SLP, BattleScript_RestIsAlreadyAsleep
+ jumpifcantmakeasleep BattleScript_RestCantSleep
+ trysetrest BattleScript_AlreadyAtFullHp
pause 32
- printfromtable BattleTextList_401556
+ printfromtable gRestUsedStringIds
waitmessage 64
- updatestatusicon 1
+ updatestatusicon USER
waitstate
- goto BattleScript_1D839B
+ goto BattleScript_PresentHealTarget
-BattleScript_1D74C6: @ 81D74C6
+BattleScript_RestCantSleep: @ 81D74C6
pause 64
- printfromtable BattleTextList_40156A
+ printfromtable gUproarAwakeStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D74D6: @ 81D74D6
+BattleScript_RestIsAlreadyAsleep: @ 81D74D6
pause 32
printstring BATTLE_TEXT_AttackingAsleep
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Ohko: @ 81D74E4
+BattleScript_EffectOHKO: @ 81D74E4
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 65535
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
typecalc
- jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D6F48
- tryKO BattleScript_1D7505
+ jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation
+ tryKO BattleScript_KOFail
trysetdestinybondtohappen
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
-BattleScript_1D7505: @ 81D7505
+BattleScript_KOFail: @ 81D7505
pause 64
- printfromtable BattleTextList_4015C8
+ printfromtable gKOFailedStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_RazorWind: @ 81D7515
- jumpifstatus2 USER, S_CONTINUE, BattleScript_1D753D
- jumpifword 4, gHitMarker, 0x200, BattleScript_1D753D
- setbyte gSharedMem + 0x16055, 0
- call BattleScript_1D756C
- goto BattleScript_EndTurn
+BattleScript_EffectRazorWind: @ 81D7515
+ jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
+ setbyte sTWOTURN_STRINGID, 0
+ call BattleScriptFirstChargingTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D753D: @ 81D753D
+BattleScript_TwoTurnMovesSecondTurn: @ 81D753D
attackcanceler
- setbyte gUnknown_02024D1F + 0x2, 12
- setbyte gSharedMem + 0x16002, 1
+ setmoveeffect EFFECT_CHARGING
+ setbyte sANIM_TURN, 1
clearstatusfromeffect USER
- orword gHitMarker, 0x800
- jumpifhalfword 1, gCurrentMove, 143, BattleScript_1D6F3B
- setbyte gUnknown_02024D1F + 0x2, 8
- goto BattleScript_1D6F3B
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ jumpifnotmove MOVE_SKY_ATTACK, BattleScript_HitFromAccCheck
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_HitFromAccCheck
-BattleScript_1D756C: @ 81D756C
+BattleScriptFirstChargingTurn: @ 81D756C
attackcanceler
printstring BATTLE_TEXT_Terminator2
ppreduce
attackanimation
waitanimation
- orword gHitMarker, 0x8000000
- setbyte gUnknown_02024D1F + 0x2, 76
+ orword gHitMarker, HITMARKER_x8000000
+ setbyte cEFFECT_CHOOSER, 76
seteffectprimary
- copyarray gUnknown_02024D1F + 0x4, gSharedMem + 0x16055, 1
- printfromtable BattleTextList_401584
+ copybyte cMULTISTRING_CHOOSER, sTWOTURN_STRINGID
+ printfromtable gFirstTurnOfTwoStringIds
waitmessage 64
return
-MoveEffect_SuperFang: @ 81D7596
+BattleScript_EffectSuperFang: @ 81D7596
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
- bicbyte gBattleMoveFlags, 6
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
damagetohalftargethp
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
-MoveEffect_DragonRage: @ 81D75AD
+BattleScript_EffectDragonRage: @ 81D75AD
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
- bicbyte gBattleMoveFlags, 6
- setbyte gBattleMoveDamage, 40
- setbyte gBattleMoveDamage + 0x1, 0
- setbyte gBattleMoveDamage + 0x2, 0
- setbyte gBattleMoveDamage + 0x3, 0
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ setword gBattleMoveDamage, 40
adjustsetdamage
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
-MoveEffect_Trap: @ 81D75DC
- jumpifhalfword 1, gCurrentMove, 250, BattleScript_1D7602
- jumpifstatus3condition TARGET, 0x40000, 1, BattleScript_1D7602
- orword gHitMarker, 0x40000
- setbyte gSharedMem + 0x1601F, 2
+BattleScript_EffectTrap: @ 81D75DC
+ jumpifnotmove MOVE_WHIRLPOOL, BattleScript_DoWrapEffect
+ jumpifnostatus3 TARGET, STATUS3_UNDERWATER, BattleScript_DoWrapEffect
+ orword gHitMarker, HITMARKER_IGNORE_UNDERWATER
+ setbyte sDMG_MULTIPLIER, 2
-BattleScript_1D7602: @ 81D7602
- setbyte gUnknown_02024D1F + 0x2, 13
- goto BattleScript_1D6F14
+BattleScript_DoWrapEffect: @ 81D7602
+ setmoveeffect EFFECT_WRAP
+ goto BattleScript_EffectHit
-MoveEffect_DoubleHit: @ 81D760D
+BattleScript_EffectDoubleHit: @ 81D760D
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
setmultihitcounter 2
initmultihitstring
- setbyte gSharedMem + 0x16112, 0
- goto BattleScript_1D7300
+ setbyte sMULTIHIT_EFFECT, 0
+ goto BattleScript_MultiHitLoop
-MoveEffect_RecoilIfMiss: @ 81D7625
+BattleScript_EffectRecoilIfMiss: @ 81D7625
attackcanceler
- accuracycheck BattleScript_1D7632, 0
- goto BattleScript_1D6F42
+ accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE
+ goto BattleScript_HitFromAtkString
-BattleScript_1D7632: @ 81D7632
+BattleScript_MoveMissedDoDamage: @ 81D7632
attackstring
ppreduce
pause 64
resultmessage
waitmessage 64
- jumpifbyte 4, gBattleMoveFlags, 8, BattleScript_EndTurn
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_NOTAFFECTED, BattleScript_MoveEnd
printstring BATTLE_TEXT_KeptGoingCrash
waitmessage 64
damagecalc
typecalc
adjustnormaldamage
manipulatedamage 1
- bicbyte gBattleMoveFlags, 1
- orword gHitMarker, 0x100
+ bicbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
- tryfaintmon USER, 0, 0x0
- orbyte gBattleMoveFlags, 1
- goto BattleScript_EndTurn
+ tryfaintmon USER, FALSE, NULL
+ orbyte gBattleMoveFlags, MOVESTATUS_MISSED
+ goto BattleScript_MoveEnd
-MoveEffect_Mist: @ 81D7676
+BattleScript_EffectMist: @ 81D7676
attackcanceler
attackstring
ppreduce
setmist
attackanimation
waitanimation
- printfromtable BattleTextList_4015A0
+ printfromtable gMistUsedStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_FocusEnergy: @ 81D7689
+BattleScript_EffectFocusEnergy: @ 81D7689
attackcanceler
attackstring
ppreduce
- jumpifstatus2 USER, S_FOCUS_ENERGY, BattleScript_ButItFailed
+ jumpifstatus2 USER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed
setfocusenergy
attackanimation
waitanimation
- printfromtable BattleTextList_4015A4
+ printfromtable gFocusEnergyUsedStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Recoil: @ 81D76A6
- setbyte gUnknown_02024D1F + 0x2, 206
- jumpifhalfword 1, gCurrentMove, 165, BattleScript_1D6F14
+BattleScript_EffectRecoil: @ 81D76A6
+ setmoveeffect EFFECT_RECOIL_25 | AFFECTS_USER | CERTAIN
+ jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit
incrementgamestat 27
- goto BattleScript_1D6F14
+ goto BattleScript_EffectHit
-MoveEffect_Confuse: @ 81D76BF
+BattleScript_EffectConfuse: @ 81D76BF
attackcanceler
attackstring
ppreduce
- jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D98E5
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- jumpifstatus2 TARGET, S_CONFUSED, BattleScript_1D76FE
- accuracycheck BattleScript_ButItFailed, 0
- jumpifsideaffecting TARGET, 32, BattleScript_1D9037
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_AlreadyConfused
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
- setbyte gUnknown_02024D1F + 0x2, 7
+ setmoveeffect EFFECT_CONFUSION
seteffectprimary
resultmessage
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D76FE: @ 81D76FE
+BattleScript_AlreadyConfused: @ 81D76FE
pause 32
printstring BATTLE_TEXT_AlreadyConfused
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_AttackUp2: @ 81D770C
- setbyte gSharedMem + 0x1601E, 33
- goto BattleScript_1D71B2
+BattleScript_EffectAttackUp2: @ 81D770C
+ setstatchanger ATTACK, 2, FALSE
+ goto BattleScript_EffectStatUp
-MoveEffect_DefenseUp2: @ 81D7717
- setbyte gSharedMem + 0x1601E, 34
- goto BattleScript_1D71B2
+BattleScript_EffectDefenseUp2: @ 81D7717
+ setstatchanger DEFENSE, 2, FALSE
+ goto BattleScript_EffectStatUp
-MoveEffect_SpeedUp2: @ 81D7722
- setbyte gSharedMem + 0x1601E, 35
- goto BattleScript_1D71B2
+BattleScript_EffectSpeedUp2: @ 81D7722
+ setstatchanger SPEED, 2, FALSE
+ goto BattleScript_EffectStatUp
-MoveEffect_SpecialAttackUp2: @ 81D772D
- setbyte gSharedMem + 0x1601E, 36
- goto BattleScript_1D71B2
+BattleScript_EffectSpecialAttackUp2: @ 81D772D
+ setstatchanger SP_ATTACK, 2, FALSE
+ goto BattleScript_EffectStatUp
-MoveEffect_SpecialDefenseUp2: @ 81D7738
- setbyte gSharedMem + 0x1601E, 37
- goto BattleScript_1D71B2
+BattleScript_EffectSpecialDefenseUp2: @ 81D7738
+ setstatchanger SP_DEFENSE, 2, FALSE
+ goto BattleScript_EffectStatUp
-MoveEffect_Transform: @ 81D7743
+BattleScript_EffectTransform: @ 81D7743
attackcanceler
attackstring
ppreduce
transformdataexecution
attackanimation
waitanimation
- printfromtable BattleTextList_4015A8
+ printfromtable gTransformUsedStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_AttackDown2: @ 81D7756
- setbyte gSharedMem + 0x1601E, 161
- goto BattleScript_1D7227
+BattleScript_EffectAttackDown2: @ 81D7756
+ setstatchanger ATTACK, 2, TRUE
+ goto BattleScript_EffectStatDown
-MoveEffect_DefenseDown2: @ 81D7761
- setbyte gSharedMem + 0x1601E, 162
- goto BattleScript_1D7227
+BattleScript_EffectDefenseDown2: @ 81D7761
+ setstatchanger DEFENSE, 2, TRUE
+ goto BattleScript_EffectStatDown
-MoveEffect_SpeedDown2: @ 81D776C
- setbyte gSharedMem + 0x1601E, 163
- goto BattleScript_1D7227
+BattleScript_EffectSpeedDown2: @ 81D776C
+ setstatchanger SPEED, 2, TRUE
+ goto BattleScript_EffectStatDown
-MoveEffect_SpecialDefenseDown2: @ 81D7777
- setbyte gSharedMem + 0x1601E, 165
- goto BattleScript_1D7227
+BattleScript_EffectSpecialDefenseDown2: @ 81D7777
+ setstatchanger SP_DEFENSE, 2, TRUE
+ goto BattleScript_EffectStatDown
-MoveEffect_Reflect: @ 81D7782
+BattleScript_EffectReflect: @ 81D7782
attackcanceler
attackstring
ppreduce
setreflect
-BattleScript_1D7786: @ 81D7786
+BattleScript_PrintReflectLightScreenSafeguardString: @ 81D7786
attackanimation
waitanimation
- printfromtable BattleTextList_401540
+ printfromtable gReflectLightScreenSafeguardStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Poison: @ 81D7795
+BattleScript_EffectPoison: @ 81D7795
attackcanceler
attackstring
ppreduce
- jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_1D7463
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- jumpifstatus TARGET, PSN, BattleScript_1D7455
- jumpifstatus TARGET, TOX, BattleScript_1D7455
- jumpiftype TARGET, TYPE_POISON, BattleScript_1D83E8
- jumpiftype TARGET, TYPE_STEEL, BattleScript_1D83E8
+ jumpifability TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, PSN, BattleScript_AlreadyPoisoned
+ jumpifstatus TARGET, TOX, BattleScript_AlreadyPoisoned
+ jumpiftype TARGET, TYPE_POISON, BattleScript_NotAffected
+ jumpiftype TARGET, TYPE_STEEL, BattleScript_NotAffected
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
- accuracycheck BattleScript_ButItFailed, 0
- jumpifsideaffecting TARGET, 32, BattleScript_1D9037
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
- setbyte gUnknown_02024D1F + 0x2, 2
+ setmoveeffect EFFECT_POISON
seteffectprimary
resultmessage
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Paralyze: @ 81D77F6
+BattleScript_EffectParalyze: @ 81D77F6
attackcanceler
attackstring
ppreduce
- jumpifability TARGET, ABILITY_LIMBER, BattleScript_1D7859
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifability TARGET, ABILITY_LIMBER, BattleScript_LimberProtected
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
typecalc
- jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_ButItFailed
- jumpifstatus TARGET, PAR, BattleScript_1D784B
+ jumpifmovehadnoeffect BattleScript_ButItFailed
+ jumpifstatus TARGET, PAR, BattleScript_AlreadyParalyzed
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
- accuracycheck BattleScript_ButItFailed, 0
- jumpifsideaffecting TARGET, 32, BattleScript_1D9037
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
- setbyte gUnknown_02024D1F + 0x2, 5
+ setmoveeffect EFFECT_PARALYSIS
seteffectprimary
resultmessage
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D784B: @ 81D784B
+BattleScript_AlreadyParalyzed: @ 81D784B
pause 32
printstring BATTLE_TEXT_AlreadyParalyzed
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D7859: @ 81D7859
- copyarray gEffectBank, gBankTarget, 1
- setbyte gUnknown_02024D1F + 0x4, 0
+BattleScript_LimberProtected: @ 81D7859
+ copybyte gEffectBank, gBankTarget
+ setbyte cMULTISTRING_CHOOSER, 0
call BattleScript_PRLZPrevention
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_AttackDownHit: @ 81D7873
- setbyte gUnknown_02024D1F + 0x2, 22
- goto BattleScript_1D6F14
+BattleScript_EffectAttackDownHit: @ 81D7873
+ setmoveeffect EFFECT_ATK_MINUS_1
+ goto BattleScript_EffectHit
-MoveEffect_DefenseDownHit: @ 81D787E
- setbyte gUnknown_02024D1F + 0x2, 23
- goto BattleScript_1D6F14
+BattleScript_EffectDefenseDownHit: @ 81D787E
+ setmoveeffect EFFECT_DEF_MINUS_1
+ goto BattleScript_EffectHit
-MoveEffect_SpeedDownHit: @ 81D7889
- setbyte gUnknown_02024D1F + 0x2, 24
- goto BattleScript_1D6F14
+BattleScript_EffectSpeedDownHit: @ 81D7889
+ setmoveeffect EFFECT_SPD_MINUS_1
+ goto BattleScript_EffectHit
-MoveEffect_SpecialAttackDownHit: @ 81D7894
- setbyte gUnknown_02024D1F + 0x2, 25
- goto BattleScript_1D6F14
+BattleScript_EffectSpecialAttackDownHit: @ 81D7894
+ setmoveeffect EFFECT_SP_ATK_MINUS_1
+ goto BattleScript_EffectHit
-MoveEffect_SpecialDefenseDownHit: @ 81D789F
- setbyte gUnknown_02024D1F + 0x2, 26
- goto BattleScript_1D6F14
+BattleScript_EffectSpecialDefenseDownHit: @ 81D789F
+ setmoveeffect EFFECT_SP_DEF_MINUS_1
+ goto BattleScript_EffectHit
-MoveEffect_AccuracyDownHit: @ 81D78AA
- setbyte gUnknown_02024D1F + 0x2, 27
- goto BattleScript_1D6F14
+BattleScript_EffectAccuracyDownHit: @ 81D78AA
+ setmoveeffect EFFECT_ACC_MINUS_1
+ goto BattleScript_EffectHit
-MoveEffect_SkyAttack: @ 81D78B5
- jumpifstatus2 USER, S_CONTINUE, BattleScript_1D753D
- jumpifword 4, gHitMarker, 0x200, BattleScript_1D753D
- setbyte gSharedMem + 0x16055, 3
- call BattleScript_1D756C
- goto BattleScript_EndTurn
+BattleScript_EffectSkyAttack: @ 81D78B5
+ jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
+ setbyte sTWOTURN_STRINGID, 3
+ call BattleScriptFirstChargingTurn
+ goto BattleScript_MoveEnd
-MoveEffect_ConfuseHit: @ 81D78DD
- setbyte gUnknown_02024D1F + 0x2, 7
- goto BattleScript_1D6F14
+BattleScript_EffectConfuseHit: @ 81D78DD
+ setmoveeffect EFFECT_CONFUSION
+ goto BattleScript_EffectHit
-MoveEffect_Twineedle: @ 81D78E8
+BattleScript_EffectTwineedle: @ 81D78E8
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
- setbyte gSharedMem + 0x16112, 2
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ setbyte sMULTIHIT_EFFECT, 2
attackstring
ppreduce
setmultihitcounter 2
initmultihitstring
- goto BattleScript_1D7300
+ goto BattleScript_MultiHitLoop
-MoveEffect_Substitute: @ 81D7900
+BattleScript_EffectSubstitute: @ 81D7900
attackcanceler
ppreduce
attackstring
waitstate
- jumpifstatus2 USER, S_SUBSTITUTE, BattleScript_1D7935
+ jumpifstatus2 USER, STATUS2_SUBSTITUTE, BattleScript_AlreadyHasSubstitute
setsubstitute
- jumpifbyte 1, gUnknown_02024D1F + 0x4, 1, BattleScript_1D7922
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 1, BattleScript_SubstituteAnim
pause 32
- goto BattleScript_1D7928
+ goto BattleScript_SubstituteString
-BattleScript_1D7922: @ 81D7922
+BattleScript_SubstituteAnim: @ 81D7922
attackanimation
waitanimation
healthbarupdate USER
datahpupdate USER
-BattleScript_1D7928: @ 81D7928
- printfromtable BattleTextList_4015AC
+BattleScript_SubstituteString: @ 81D7928
+ printfromtable gSubsituteUsedStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D7935: @ 81D7935
+BattleScript_AlreadyHasSubstitute: @ 81D7935
pause 32
printstring BATTLE_TEXT_SubAlready
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Recharge: @ 81D7943
+BattleScript_EffectRecharge: @ 81D7943
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
- setbyte gUnknown_02024D1F + 0x2, 221
- goto BattleScript_1D6F42
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ setmoveeffect EFFECT_RECHARGE | AFFECTS_USER | CERTAIN
+ goto BattleScript_HitFromAtkString
BattleScript_MoveUsedMustRecharge:: @ 81D7956
printstring BATTLE_TEXT_MustRecharge
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Rage: @ 81D7961
+BattleScript_EffectRage: @ 81D7961
attackcanceler
- accuracycheck BattleScript_1D797B, 0
- setbyte gUnknown_02024D1F + 0x2, 30
+ accuracycheck BattleScript_RageMiss, ACC_CURR_MOVE
+ setmoveeffect EFFECT_RAGE
seteffectprimary
- setbyte gUnknown_02024D1F + 0x2, 0
- goto BattleScript_1D6F42
+ setmoveeffect 0
+ goto BattleScript_HitFromAtkString
-BattleScript_1D797B: @ 81D797B
- setbyte gUnknown_02024D1F + 0x2, 30
+BattleScript_RageMiss: @ 81D797B
+ setmoveeffect EFFECT_RAGE
clearstatusfromeffect USER
- goto BattleScript_1D6F72
+ goto BattleScript_PrintMoveMissed
-MoveEffect_Mimic: @ 81D7988
+BattleScript_EffectMimic: @ 81D7988
attackcanceler
attackstring
ppreduce
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- accuracycheck BattleScript_ButItFailed, 65535
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
mimicattackcopy BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_LearnedMove2
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Metronome: @ 81D79AE
+BattleScript_EffectMetronome: @ 81D79AE
attackcanceler
attackstring
pause 32
attackanimation
waitanimation
- setbyte gSharedMem + 0x16002, 0
- setbyte gSharedMem + 0x160A1, 0
+ setbyte sANIM_TURN, 0
+ setbyte sANIM_TARGETS_HIT, 0
metronome
-MoveEffect_LeechSeed: @ 81D79C2
+BattleScript_EffectLeechSeed: @ 81D79C2
attackcanceler
attackstring
pause 32
ppreduce
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- accuracycheck BattleScript_1D79D9, 0
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_DoLeechSeed, ACC_CURR_MOVE
-BattleScript_1D79D9: @ 81D79D9
+BattleScript_DoLeechSeed: @ 81D79D9
setseeded
attackanimation
waitanimation
- printfromtable BattleTextList_40154C
+ printfromtable gLeechSeedStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Splash: @ 81D79E9
+BattleScript_EffectSplash: @ 81D79E9
attackcanceler
attackstring
ppreduce
@@ -1236,55 +1236,55 @@ MoveEffect_Splash: @ 81D79E9
incrementgamestat 26
printstring BATTLE_TEXT_Nothing
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Disable: @ 81D79FB
+BattleScript_EffectDisable: @ 81D79FB
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 0
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
disablelastusedattack BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_MoveWasDisabled
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_LevelDamage: @ 81D7A17
+BattleScript_EffectLevelDamage: @ 81D7A17
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
- bicbyte gBattleMoveFlags, 6
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
dmgtolevel
adjustsetdamage
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
-MoveEffect_Psywave: @ 81D7A2F
+BattleScript_EffectPsywave: @ 81D7A2F
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
- bicbyte gBattleMoveFlags, 6
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
psywavedamageeffect
adjustsetdamage
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
-MoveEffect_Counter: @ 81D7A47
+BattleScript_EffectCounter: @ 81D7A47
attackcanceler
- counterdamagecalculator BattleScript_1D83D4
- accuracycheck BattleScript_1D6F72, 0
+ counterdamagecalculator BattleScript_ButItFailedAtkStringPpReduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc2
adjustsetdamage
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
-MoveEffect_Encore: @ 81D7A5D
+BattleScript_EffectEncore: @ 81D7A5D
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
trysetencore BattleScript_ButItFailed
@@ -1292,47 +1292,47 @@ MoveEffect_Encore: @ 81D7A5D
waitanimation
printstring BATTLE_TEXT_EncoreGot
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_PainSplit: @ 81D7A79
+BattleScript_EffectPainSplit: @ 81D7A79
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 65535
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
painsplitdmgcalc BattleScript_ButItFailed
attackanimation
waitanimation
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
- copyarray gBattleMoveDamage, gSharedMem + 0x16014, 4
+ copyword gBattleMoveDamage, sPAINSPLIT_HP
healthbarupdate TARGET
datahpupdate TARGET
printstring BATTLE_TEXT_PainSplit
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Snore: @ 81D7AB0
+BattleScript_EffectSnore: @ 81D7AB0
attackcanceler
- jumpifstatus USER, SLP, BattleScript_1D7AC2
+ jumpifstatus USER, SLP, BattleScript_SnoreIsAsleep
attackstring
ppreduce
goto BattleScript_ButItFailed
-BattleScript_1D7AC2: @ 81D7AC2
- jumpifhalfword 0, gUnknown_02024BE8, 214, BattleScript_1D7AD6
+BattleScript_SnoreIsAsleep: @ 81D7AC2
+ jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoSnore
printstring BATTLE_TEXT_FastAsleep
waitmessage 64
statusanimation USER
-BattleScript_1D7AD6: @ 81D7AD6
+BattleScript_DoSnore: @ 81D7AD6
attackstring
ppreduce
- accuracycheck BattleScript_1D6F77, 0
- setbyte gUnknown_02024D1F + 0x2, 8
- goto BattleScript_1D6F44
+ accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_HitFromCritCalc
-MoveEffect_Conversion2: @ 81D7AEA
+BattleScript_EffectConversion2: @ 81D7AEA
attackcanceler
attackstring
ppreduce
@@ -1341,34 +1341,34 @@ MoveEffect_Conversion2: @ 81D7AEA
waitanimation
printstring BATTLE_TEXT_TypeTransform
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_LockOn: @ 81D7AFF
+BattleScript_EffectLockOn: @ 81D7AFF
attackcanceler
attackstring
ppreduce
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- accuracycheck BattleScript_ButItFailed, 0
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
setalwayshitflag
attackanimation
waitanimation
printstring BATTLE_TEXT_TookAim
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Sketch: @ 81D7B21
+BattleScript_EffectSketch: @ 81D7B21
attackcanceler
attackstring
ppreduce
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
copymovepermanently BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_SketchedMove
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_SleepTalk: @ 81D7B40
+BattleScript_EffectSleepTalk: @ 81D7B40
attackcanceler
jumpifstatus USER, SLP, BattleScript_1D7B52
attackstring
@@ -1381,19 +1381,19 @@ BattleScript_1D7B52: @ 81D7B52
statusanimation USER
attackstring
ppreduce
- orword gHitMarker, 0x800
- trychoosesleeptalkmove BattleScript_1D7B72
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ trychoosesleeptalkmove BattleScript_SleepTalkIsAsleep
pause 64
goto BattleScript_ButItFailed
-BattleScript_1D7B72: @ 81D7B72
+BattleScript_SleepTalkIsAsleep: @ 81D7B72
attackanimation
waitanimation
- setbyte gSharedMem + 0x16002, 0
- setbyte gSharedMem + 0x160A1, 0
+ setbyte sANIM_TURN, 0
+ setbyte sANIM_TARGETS_HIT, 0
jumptorandomattack USER
-MoveEffect_DestinyBond: @ 81D7B82
+BattleScript_EffectDestinyBond: @ 81D7B82
attackcanceler
attackstring
ppreduce
@@ -1402,25 +1402,25 @@ MoveEffect_DestinyBond: @ 81D7B82
waitanimation
printstring BATTLE_TEXT_DestinyBondTake
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Flail: @ 81D7B93
+BattleScript_EffectFlail: @ 81D7B93
remaininghptopower
- goto BattleScript_1D6F14
+ goto BattleScript_EffectHit
-MoveEffect_Spite: @ 81D7B99
+BattleScript_EffectSpite: @ 81D7B99
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 0
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
tryspiteppreduce BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_ReducedBy
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_HealBell: @ 81D7BB5
+BattleScript_EffectHealBell: @ 81D7BB5
attackcanceler
attackstring
ppreduce
@@ -1428,49 +1428,48 @@ MoveEffect_HealBell: @ 81D7BB5
waitstate
attackanimation
waitanimation
- printfromtable BattleTextList_4015D8
+ printfromtable gPartyStatusHealStringIds
waitmessage 64
- jumpifhalfword 1, gCurrentMove, 215, BattleScript_1D7BF2
- jumpifbyte 5, gUnknown_02024D1F + 0x4, 1, BattleScript_1D7BE1
+ jumpifnotmove MOVE_HEAL_BELL, BattleScript_PartyHealEnd
+ jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 1, BattleScript_CheckHealBellMon2Unaffected
printstring BATTLE_TEXT_BlocksOther
waitmessage 64
-BattleScript_1D7BE1: @ 81D7BE1
- jumpifbyte 5, gUnknown_02024D1F + 0x4, 2, BattleScript_1D7BF2
+BattleScript_CheckHealBellMon2Unaffected: @ 81D7BE1
+ jumpifbyte NO_COMMON_BITS, cMULTISTRING_CHOOSER, 2, BattleScript_PartyHealEnd
printstring BATTLE_TEXT_BlocksOther2
waitmessage 64
-BattleScript_1D7BF2: @ 81D7BF2
- updatestatusicon 4
+BattleScript_PartyHealEnd: @ 81D7BF2
+ updatestatusicon ATTACKER_WITH_PARTNER
waitstate
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_TripleKick: @ 81D7BFA
+BattleScript_EffectTripleKick: @ 81D7BFA
attackcanceler
attackstring
ppreduce
- setbyte gSharedMem + 0x160DE, 0
- setbyte gSharedMem + 0x160DF, 0
+ sethword sTRIPLE_KICK_POWER, 0
initmultihitstring
setmultihit 3
-BattleScript_1D7C0C: @ 81D7C0C
- jumpifhasnohp USER, BattleScript_1D7CAF
- jumpifhasnohp TARGET, BattleScript_1D7C8D
- jumpifhalfword 0, gUnknown_02024BE8, 214, BattleScript_1D7C2E
- jumpifstatus USER, SLP, BattleScript_1D7C8D
+BattleScript_TripleKickLoop: @ 81D7C0C
+ jumpifhasnohp USER, BattleScript_TripleKickEnd
+ jumpifhasnohp TARGET, BattleScript_TripleKickNoMoreHits
+ jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoTripleKickAttack
+ jumpifstatus USER, SLP, BattleScript_TripleKickNoMoreHits
-BattleScript_1D7C2E: @ 81D7C2E
+BattleScript_DoTripleKickAttack: @ 81D7C2E
movevaluescleanup
- accuracycheck BattleScript_1D7C8D, 0
- addbyte gSharedMem + 0x160DE, 10
- addbyte gSharedMem + 0x160E4, 1
- copyarray gDynamicBasePower, gSharedMem + 0x160DE, 2
+ accuracycheck BattleScript_TripleKickNoMoreHits, ACC_CURR_MOVE
+ addbyte sTRIPLE_KICK_POWER, 10
+ addbyte sMULTIHIT_STRING + 4, 1
+ copyhword gDynamicBasePower, sTRIPLE_KICK_POWER
critcalc
damagecalc
typecalc
adjustnormaldamage
- jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7C8D
+ jumpifmovehadnoeffect BattleScript_TripleKickNoMoreHits
attackanimation
waitanimation
effectivenesssound
@@ -1482,153 +1481,153 @@ BattleScript_1D7C2E: @ 81D7C2E
waitmessage 64
printstring BATTLE_TEXT_Terminator2
waitmessage 1
- setbyte gSharedMem + 0x1600C, 0
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
- jumpifbyte 4, gBattleMoveFlags, 64, BattleScript_1D7C90
- decrementmultihit BattleScript_1D7C0C
- goto BattleScript_1D7C90
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_ENDURED, BattleScript_TripleKickPrintStrings
+ decrementmultihit BattleScript_TripleKickLoop
+ goto BattleScript_TripleKickPrintStrings
-BattleScript_1D7C8D: @ 81D7C8D
+BattleScript_TripleKickNoMoreHits: @ 81D7C8D
pause 32
-BattleScript_1D7C90: @ 81D7C90
+BattleScript_TripleKickPrintStrings: @ 81D7C90
resultmessage
waitmessage 64
- jumpifbyte 0, gSharedMem + 0x160E4, 0, BattleScript_1D7CAF
- copyarray gBattleTextBuff1, gSharedMem + 0x160E0, 6
+ jumpifbyte EQUAL, sMULTIHIT_STRING + 4, 0, BattleScript_TripleKickEnd
+ copyarray gBattleTextBuff1,sMULTIHIT_STRING, 6
printstring BATTLE_TEXT_HitMulti
waitmessage 64
-BattleScript_1D7CAF: @ 81D7CAF
+BattleScript_TripleKickEnd: @ 81D7CAF
seteffectwithchance
- tryfaintmon TARGET, 0, 0x0
- setbyte gSharedMem + 0x1600C, 14
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 14
moveend 0, 0
end
-MoveEffect_Thief: @ 81D7CC1
- setbyte gUnknown_02024D1F + 0x2, 31
- goto BattleScript_1D6F14
+BattleScript_EffectThief: @ 81D7CC1
+ setmoveeffect EFFECT_STEAL_ITEM
+ goto BattleScript_EffectHit
-MoveEffect_MeanLook: @ 81D7CCC
+BattleScript_EffectMeanLook: @ 81D7CCC
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 65534
- jumpifstatus2 TARGET, S_MEAN_LOOK, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC
+ jumpifstatus2 TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed
attackanimation
waitanimation
- setbyte gUnknown_02024D1F + 0x2, 32
+ setmoveeffect EFFECT_PREVENT_ESCAPE
seteffectprimary
printstring BATTLE_TEXT_CantEscapeNow
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Nightmare: @ 81D7CF4
+BattleScript_EffectNightmare: @ 81D7CF4
attackcanceler
attackstring
ppreduce
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- jumpifstatus2 TARGET, S_NIGHTMARE, BattleScript_ButItFailed
- jumpifstatus TARGET, SLP, BattleScript_1D7D1A
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed
+ jumpifstatus TARGET, SLP, BattleScript_NightmareWorked
goto BattleScript_ButItFailed
-BattleScript_1D7D1A: @ 81D7D1A
+BattleScript_NightmareWorked: @ 81D7D1A
attackanimation
waitanimation
- setbyte gUnknown_02024D1F + 0x2, 33
+ setmoveeffect EFFECT_NIGHTMARE
seteffectprimary
printstring BATTLE_TEXT_NightmareStart
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Minimize: @ 81D7D2E
+BattleScript_EffectMinimize: @ 81D7D2E
attackcanceler
setminimize
- setbyte gSharedMem + 0x1601E, 23
- goto BattleScript_1D71B3
+ setstatchanger EVASION, 1, FALSE
+ goto BattleScript_EffectStatUpAfterAtkCanceler
-MoveEffect_Curse: @ 81D7D3B
- jumpiftype2 USER, TYPE_GHOST, BattleScript_1D7DB3
+BattleScript_EffectCurse: @ 81D7D3B
+ jumpiftype2 USER, TYPE_GHOST, BattleScript_GhostCurse
attackcanceler
attackstring
ppreduce
- jumpifstat USER, 2, 3, 0, BattleScript_1D7D60
- jumpifstat USER, 1, 1, 12, BattleScript_1D7D60
- jumpifstat USER, 0, 2, 12, BattleScript_ButItFailed
+ jumpifstat USER, GREATER_THAN, SPEED, 0, BattleScript_CurseTrySpeed
+ jumpifstat USER, NOT_EQUAL, ATTACK, 12, BattleScript_CurseTrySpeed
+ jumpifstat USER, EQUAL, DEFENSE, 12, BattleScript_ButItFailed
-BattleScript_1D7D60: @ 81D7D60
- copyarray gBankTarget, gBankAttacker, 1
- setbyte gSharedMem + 0x16002, 1
+BattleScript_CurseTrySpeed: @ 81D7D60
+ copybyte gBankTarget, gBankAttacker
+ setbyte sANIM_TURN, 1
attackanimation
waitanimation
- setbyte gSharedMem + 0x1601E, 147
- statbuffchange 65, BattleScript_1D7D86
- printfromtable BattleTextList_40157C
+ setstatchanger SPEED, 1, TRUE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_CurseTryAttack
+ printfromtable gStatDownStringIds
waitmessage 64
-BattleScript_1D7D86: @ 81D7D86
- setbyte gSharedMem + 0x1601E, 17
- statbuffchange 65, BattleScript_1D7D9A
- printfromtable BattleTextList_401570
+BattleScript_CurseTryAttack: @ 81D7D86
+ setstatchanger ATTACK, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_CurseTryDefence
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D7D9A: @ 81D7D9A
- setbyte gSharedMem + 0x1601E, 18
- statbuffchange 65, BattleScript_1D7DAE
- printfromtable BattleTextList_401570
+BattleScript_CurseTryDefence: @ 81D7D9A
+ setstatchanger DEFENSE, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_CurseEnd
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D7DAE: @ 81D7DAE
- goto BattleScript_EndTurn
+BattleScript_CurseEnd: @ 81D7DAE
+ goto BattleScript_MoveEnd
-BattleScript_1D7DB3: @ 81D7DB3
- jumpifarraynotequal gBankAttacker, gBankTarget, 1, BattleScript_1D7DC4
+BattleScript_GhostCurse: @ 81D7DB3
+ jumpifbytenotequal gBankAttacker, gBankTarget, BattleScript_DoGhostCurse
getmovetarget USER
-BattleScript_1D7DC4: @ 81D7DC4
+BattleScript_DoGhostCurse: @ 81D7DC4
attackcanceler
attackstring
ppreduce
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
cursetarget BattleScript_ButItFailed
- orword gHitMarker, 0x100
- setbyte gSharedMem + 0x16002, 0
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
+ setbyte sANIM_TURN, 0
attackanimation
waitanimation
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_CurseLay
waitmessage 64
- tryfaintmon USER, 0, 0x0
- goto BattleScript_EndTurn
+ tryfaintmon USER, FALSE, NULL
+ goto BattleScript_MoveEnd
-MoveEffect_Endure: @ 81D7DFD
-MoveEffect_Protect: @ 81D7DFD
+BattleScript_EffectEndure: @ 81D7DFD
+BattleScript_EffectProtect: @ 81D7DFD
attackcanceler
attackstring
ppreduce
setprotectlike
attackanimation
waitanimation
- printfromtable BattleTextList_40153A
+ printfromtable gProtectLikeUsedStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Spikes: @ 81D7E10
+BattleScript_EffectSpikes: @ 81D7E10
attackcanceler
- trysetspikes BattleScript_1D83D4
+ trysetspikes BattleScript_ButItFailedAtkStringPpReduce
attackstring
ppreduce
attackanimation
waitanimation
printstring BATTLE_TEXT_SpikesScattered
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Foresight: @ 81D7E25
+BattleScript_EffectForesight: @ 81D7E25
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
setforesight
@@ -1636,9 +1635,9 @@ MoveEffect_Foresight: @ 81D7E25
waitanimation
printstring BATTLE_TEXT_IdentifiedPoke
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_PerishSong: @ 81D7E3D
+BattleScript_EffectPerishSong: @ 81D7E3D
attackcanceler
attackstring
ppreduce
@@ -1647,120 +1646,120 @@ MoveEffect_PerishSong: @ 81D7E3D
waitanimation
printstring BATTLE_TEXT_PerishSong
waitmessage 64
- setbyte gSharedMem + 0x16003, 0
+ setbyte sBANK, 0
-BattleScript_1D7E53: @ 81D7E53
- jumpifability 10, ABILITY_SOUNDPROOF, BattleScript_1D7E73
+BattleScript_PerishSongLoop: @ 81D7E53
+ jumpifability SCRIPTING_BANK, ABILITY_SOUNDPROOF, BattleScript_1D7E73
-BattleScript_1D7E5A: @ 81D7E5A
- addbyte gSharedMem + 0x16003, 1
- jumpifarraynotequal gSharedMem + 0x16003, gNoOfAllBanks, 1, BattleScript_1D7E53
- goto BattleScript_EndTurn
+BattleScript_PerishSongLoopIncrement: @ 81D7E5A
+ addbyte sBANK, 1
+ jumpifbytenotequal sBANK, gNoOfAllBanks, BattleScript_PerishSongLoop
+ goto BattleScript_MoveEnd
BattleScript_1D7E73: @ 81D7E73
printstring BATTLE_TEXT_BlocksOther2
waitmessage 64
- goto BattleScript_1D7E5A
+ goto BattleScript_PerishSongLoopIncrement
-MoveEffect_Sandstorm: @ 81D7E7E
+BattleScript_EffectSandstorm: @ 81D7E7E
attackcanceler
attackstring
ppreduce
setsandstorm
- goto BattleScript_1D7FFA
+ goto BattleScript_MoveWeatherChange
-MoveEffect_Rollout: @ 81D7E87
+BattleScript_EffectRollout: @ 81D7E87
attackcanceler
attackstring
- jumpifstatus2 USER, S_CONTINUE, BattleScript_1D7E94
+ jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_RolloutCheckAccuracy
ppreduce
-BattleScript_1D7E94: @ 81D7E94
- accuracycheck BattleScript_1D7E9B, 0
+BattleScript_RolloutCheckAccuracy: @ 81D7E94
+ accuracycheck BattleScript_RolloutHit, ACC_CURR_MOVE
-BattleScript_1D7E9B: @ 81D7E9B
+BattleScript_RolloutHit: @ 81D7E9B
typecalc2
rolloutdamagecalculation
- goto BattleScript_1D6F44
+ goto BattleScript_HitFromCritCalc
-MoveEffect_Swagger: @ 81D7EA2
+BattleScript_EffectSwagger: @ 81D7EA2
attackcanceler
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D6F6C
- accuracycheck BattleScript_1D6F72, 0
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
jumpifconfusedandstatmaxed 1, BattleScript_ButItFailed
attackanimation
waitanimation
- setbyte gSharedMem + 0x1601E, 33
- statbuffchange 1, BattleScript_1D7EE5
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D7EE5
+ setstatchanger ATTACK, 2, FALSE
+ statbuffchange 1, BattleScript_SwaggerTryConfuse
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_SwaggerTryConfuse
setgraphicalstatchangevalues
- playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4
- printfromtable BattleTextList_401570
+ playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D7EE5: @ 81D7EE5
- jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D98E5
- jumpifsideaffecting TARGET, 32, BattleScript_1D9037
- setbyte gUnknown_02024D1F + 0x2, 7
+BattleScript_SwaggerTryConfuse: @ 81D7EE5
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
+ setmoveeffect EFFECT_CONFUSION
seteffectprimary
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_FuryCutter: @ 81D7F00
+BattleScript_EffectFuryCutter: @ 81D7F00
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_1D7F0A, 0
+ accuracycheck BattleScript_FuryCutterHit, ACC_CURR_MOVE
-BattleScript_1D7F0A: @ 81D7F0A
+BattleScript_FuryCutterHit: @ 81D7F0A
furycuttercalc
critcalc
damagecalc
typecalc
- jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D7F0A
+ jumpifmovehadnoeffect BattleScript_FuryCutterHit
adjustnormaldamage
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
-MoveEffect_Attract: @ 81D7F1F
+BattleScript_EffectAttract: @ 81D7F1F
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 0
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
tryinfatuating BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_FellLove
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Frustration: @ 81D7F3B
-MoveEffect_Return: @ 81D7F3B
+BattleScript_EffectFrustration: @ 81D7F3B
+BattleScript_EffectReturn: @ 81D7F3B
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
happinesstodamagecalculation
- goto BattleScript_1D6F42
+ goto BattleScript_HitFromAtkString
-MoveEffect_Present: @ 81D7F49
+BattleScript_EffectPresent: @ 81D7F49
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
presentdamagecalculation
-MoveEffect_Safeguard: @ 81D7F55
+BattleScript_EffectSafeguard: @ 81D7F55
attackcanceler
attackstring
ppreduce
setsafeguard
- goto BattleScript_1D7786
+ goto BattleScript_PrintReflectLightScreenSafeguardString
-MoveEffect_ThawHit: @ 81D7F5E
- setbyte gUnknown_02024D1F + 0x2, 3
- goto BattleScript_1D6F14
+BattleScript_EffectThawHit: @ 81D7F5E
+ setmoveeffect EFFECT_BURN
+ goto BattleScript_EffectHit
-MoveEffect_Magnitude: @ 81D7F69
+BattleScript_EffectMagnitude: @ 81D7F69
attackcanceler
attackstring
ppreduce
@@ -1769,13 +1768,13 @@ MoveEffect_Magnitude: @ 81D7F69
pause 32
printstring BATTLE_TEXT_MagnitudeCount
waitmessage 64
- goto BattleScript_1D80FD
+ goto BattleScript_HitsAllWithUndergroundBonusLoop
-MoveEffect_BatonPass: @ 81D7F7C
+BattleScript_EffectBatonPass: @ 81D7F7C
attackcanceler
attackstring
ppreduce
- jumpifcantswitch 129, BattleScript_ButItFailed
+ jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | USER, BattleScript_ButItFailed
attackanimation
waitanimation
openpartyscreen USER, BattleScript_ButItFailed
@@ -1790,87 +1789,84 @@ MoveEffect_BatonPass: @ 81D7F7C
switchinanim USER, 1
waitstate
switchineffects USER
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_RapidSpin: @ 81D7FA9
- setbyte gUnknown_02024D1F + 0x2, 163
- goto BattleScript_1D6F14
+BattleScript_EffectRapidSpin: @ 81D7FA9
+ setmoveeffect EFFECT_RAPIDSPIN | CERTAIN
+ goto BattleScript_EffectHit
-MoveEffect_Sonicboom: @ 81D7FB4
+BattleScript_EffectSonicboom: @ 81D7FB4
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
- bicbyte gBattleMoveFlags, 6
- setbyte gBattleMoveDamage, 20
- setbyte gBattleMoveDamage + 0x1, 0
- setbyte gBattleMoveDamage + 0x2, 0
- setbyte gBattleMoveDamage + 0x3, 0
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ setword gBattleMoveDamage, 20
adjustsetdamage
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
-MoveEffect_Moonlight: @ 81D7FE3
-MoveEffect_MorningSun: @ 81D7FE3
-MoveEffect_Synthesis: @ 81D7FE3
+BattleScript_EffectMoonlight: @ 81D7FE3
+BattleScript_EffectMorningSun: @ 81D7FE3
+BattleScript_EffectSynthesis: @ 81D7FE3
attackcanceler
attackstring
ppreduce
- recoverbasedonsunlight BattleScript_1D83B5
- goto BattleScript_1D839B
+ recoverbasedonsunlight BattleScript_AlreadyAtFullHp
+ goto BattleScript_PresentHealTarget
-MoveEffect_HiddenPower: @ 81D7FF0
+BattleScript_EffectHiddenPower: @ 81D7FF0
hiddenpowercalc
- goto BattleScript_1D6F14
+ goto BattleScript_EffectHit
-MoveEffect_RainDance: @ 81D7FF6
+BattleScript_EffectRainDance: @ 81D7FF6
attackcanceler
attackstring
ppreduce
setrain
-BattleScript_1D7FFA: @ 81D7FFA
+BattleScript_MoveWeatherChange: @ 81D7FFA
attackanimation
waitanimation
- printfromtable BattleTextList_40151C
+ printfromtable gMoveWeatherChangeStringIds
waitmessage 64
- call BattleScript_1D9761
- goto BattleScript_EndTurn
+ call BattleScript_WeatherFormChanges
+ goto BattleScript_MoveEnd
-MoveEffect_SunnyDay: @ 81D800E
+BattleScript_EffectSunnyDay: @ 81D800E
attackcanceler
attackstring
ppreduce
setsunny
- goto BattleScript_1D7FFA
+ goto BattleScript_MoveWeatherChange
-MoveEffect_DefenseUpHit: @ 81D8017
- setbyte gUnknown_02024D1F + 0x2, 80
- goto BattleScript_1D6F14
+BattleScript_EffectDefenseUpHit: @ 81D8017
+ setbyte cEFFECT_CHOOSER, 80
+ goto BattleScript_EffectHit
-MoveEffect_AttackUpHit: @ 81D8022
- setbyte gUnknown_02024D1F + 0x2, 79
- goto BattleScript_1D6F14
+BattleScript_EffectAttackUpHit: @ 81D8022
+ setbyte cEFFECT_CHOOSER, 79
+ goto BattleScript_EffectHit
-MoveEffect_AllStatsUpHit: @ 81D802D
- setbyte gUnknown_02024D1F + 0x2, 98
- goto BattleScript_1D6F14
+BattleScript_EffectAllStatsUpHit: @ 81D802D
+ setbyte cEFFECT_CHOOSER, 98
+ goto BattleScript_EffectHit
-MoveEffect_BellyDrum: @ 81D8038
+BattleScript_EffectBellyDrum: @ 81D8038
attackcanceler
attackstring
ppreduce
maxattackhalvehp BattleScript_ButItFailed
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
attackanimation
waitanimation
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_CutHPMaxATK
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_PsychUp: @ 81D805A
+BattleScript_EffectPsychUp: @ 81D805A
attackcanceler
attackstring
ppreduce
@@ -1879,62 +1875,62 @@ MoveEffect_PsychUp: @ 81D805A
waitanimation
printstring BATTLE_TEXT_CopyStatChanges
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_MirrorCoat: @ 81D806F
+BattleScript_EffectMirrorCoat: @ 81D806F
attackcanceler
- mirrorcoatdamagecalculator BattleScript_1D83D4
- accuracycheck BattleScript_1D6F72, 0
+ mirrorcoatdamagecalculator BattleScript_ButItFailedAtkStringPpReduce
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc2
adjustsetdamage
- goto BattleScript_1D6F48
-
-MoveEffect_SkullBash: @ 81D8085
- jumpifstatus2 USER, S_CONTINUE, BattleScript_1D753D
- jumpifword 4, gHitMarker, 0x200, BattleScript_1D753D
- setbyte gSharedMem + 0x16055, 2
- call BattleScript_1D756C
- setbyte gSharedMem + 0x1601E, 18
- statbuffchange 65, BattleScript_1D80CF
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D80CF
+ goto BattleScript_HitFromAtkAnimation
+
+BattleScript_EffectSkullBash: @ 81D8085
+ jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
+ setbyte sTWOTURN_STRINGID, 2
+ call BattleScriptFirstChargingTurn
+ setstatchanger DEFENSE, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_SkullBashEnd
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_SkullBashEnd
setgraphicalstatchangevalues
- playanimation USER, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4
- printfromtable BattleTextList_401570
+ playanimation USER, B_ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D80CF: @ 81D80CF
- goto BattleScript_EndTurn
+BattleScript_SkullBashEnd: @ 81D80CF
+ goto BattleScript_MoveEnd
-MoveEffect_Twister: @ 81D80D4
- jumpifstatus3condition TARGET, 0x40, 1, BattleScript_1D80EE
- orword gHitMarker, 0x10000
- setbyte gSharedMem + 0x1601F, 2
+BattleScript_EffectTwister: @ 81D80D4
+ jumpifnostatus3 TARGET, STATUS3_ON_AIR, BattleScript_FlinchEffect
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ setbyte sDMG_MULTIPLIER, 2
-BattleScript_1D80EE: @ 81D80EE
- setbyte gUnknown_02024D1F + 0x2, 8
- goto BattleScript_1D6F14
+BattleScript_FlinchEffect: @ 81D80EE
+ setmoveeffect EFFECT_FLINCH
+ goto BattleScript_EffectHit
-MoveEffect_Earthquake: @ 81D80F9
+BattleScript_EffectEarthquake: @ 81D80F9
attackcanceler
attackstring
ppreduce
selectfirstvalidtarget
-BattleScript_1D80FD: @ 81D80FD
+BattleScript_HitsAllWithUndergroundBonusLoop: @ 81D80FD
movevaluescleanup
- jumpifstatus3condition TARGET, 0x80, 1, BattleScript_1D811D
- orword gHitMarker, 0x20000
- setbyte gSharedMem + 0x1601F, 2
- goto BattleScript_1D812C
+ jumpifnostatus3 TARGET, STATUS3_UNDERGROUND, BattleScript_HitsAllNoUndergroundBonus
+ orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
+ setbyte sDMG_MULTIPLIER, 2
+ goto BattleScript_DoHitAllWithUndergroundBonus
-BattleScript_1D811D: @ 81D811D
- bicword gHitMarker, 0x20000
- setbyte gSharedMem + 0x1601F, 1
+BattleScript_HitsAllNoUndergroundBonus: @ 81D811D
+ bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
+ setbyte sDMG_MULTIPLIER, 1
-BattleScript_1D812C: @ 81D812C
- accuracycheck BattleScript_1D8165, 0
+BattleScript_DoHitAllWithUndergroundBonus: @ 81D812C
+ accuracycheck BattleScript_HitAllWithUndergroundBonusMissed, ACC_CURR_MOVE
critcalc
damagecalc
typecalc
@@ -1952,101 +1948,101 @@ BattleScript_1D812C: @ 81D812C
waitmessage 64
printstring BATTLE_TEXT_Terminator2
waitmessage 1
- tryfaintmon TARGET, 0, 0x0
- setbyte gSharedMem + 0x1600C, 0
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
- jumpifnexttargetvalid BattleScript_1D80FD
+ jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
-BattleScript_1D8165: @ 81D8165
+BattleScript_HitAllWithUndergroundBonusMissed: @ 81D8165
pause 32
typecalc
effectivenesssound
resultmessage
waitmessage 64
- setbyte gSharedMem + 0x1600C, 0
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
- jumpifnexttargetvalid BattleScript_1D80FD
+ jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
-MoveEffect_FutureSight: @ 81D817D
+BattleScript_EffectFutureSight: @ 81D817D
attackcanceler
attackstring
ppreduce
trysetfutureattack BattleScript_ButItFailed
attackanimation
waitanimation
- printfromtable BattleTextList_4015E2
- waitmessage 64
- goto BattleScript_EndTurn
-
-MoveEffect_Gust: @ 81D8194
- jumpifstatus3condition TARGET, 0x40, 1, BattleScript_1D6F14
- orword gHitMarker, 0x10000
- setbyte gSharedMem + 0x1601F, 2
- goto BattleScript_1D6F14
-
-MoveEffect_FlinchHit2: @ 81D81B3
- jumpifstatus3condition TARGET, 0x100, 1, BattleScript_1D80EE
- setbyte gSharedMem + 0x1601F, 2
- goto BattleScript_1D80EE
-
-MoveEffect_Solarbeam: @ 81D81C9
- jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_1D81E1
- jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_1D81E1
- jumpifhalfword 4, gBattleWeather, 96, BattleScript_1D8209
-
-BattleScript_1D81E1: @ 81D81E1
- jumpifstatus2 USER, S_CONTINUE, BattleScript_1D753D
- jumpifword 4, gHitMarker, 0x200, BattleScript_1D753D
- setbyte gSharedMem + 0x16055, 1
- call BattleScript_1D756C
- goto BattleScript_EndTurn
-
-BattleScript_1D8209: @ 81D8209
- orword gHitMarker, 0x8000000
- setbyte gUnknown_02024D1F + 0x2, 76
+ printfromtable gFutureMoveUsedStringIds
+ waitmessage 64
+ goto BattleScript_MoveEnd
+
+BattleScript_EffectGust: @ 81D8194
+ jumpifnostatus3 TARGET, STATUS3_ON_AIR, BattleScript_EffectHit
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ setbyte sDMG_MULTIPLIER, 2
+ goto BattleScript_EffectHit
+
+BattleScript_EffectStomp: @ 81D81B3
+ jumpifnostatus3 TARGET, STATUS3_MINIMIZED, BattleScript_FlinchEffect
+ setbyte sDMG_MULTIPLIER, 2
+ goto BattleScript_FlinchEffect
+
+BattleScript_EffectSolarbeam: @ 81D81C9
+ jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_SolarbeamDecideTurn
+ jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_SolarbeamDecideTurn
+ jumpifhalfword COMMON_BITS, gBattleWeather, 96, BattleScript_SolarbeamOnFirstTurn
+
+BattleScript_SolarbeamDecideTurn: @ 81D81E1
+ jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
+ setbyte sTWOTURN_STRINGID, 1
+ call BattleScriptFirstChargingTurn
+ goto BattleScript_MoveEnd
+
+BattleScript_SolarbeamOnFirstTurn: @ 81D8209
+ orword gHitMarker, HITMARKER_x8000000
+ setbyte cEFFECT_CHOOSER, 76
seteffectprimary
ppreduce
- goto BattleScript_1D753D
+ goto BattleScript_TwoTurnMovesSecondTurn
-MoveEffect_Thunder: @ 81D821F
- setbyte gUnknown_02024D1F + 0x2, 5
- orword gHitMarker, 0x10000
- goto BattleScript_1D6F14
+BattleScript_EffectThunder: @ 81D821F
+ setmoveeffect EFFECT_PARALYSIS
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ goto BattleScript_EffectHit
-MoveEffect_Teleport: @ 81D8233
+BattleScript_EffectTeleport: @ 81D8233
attackcanceler
attackstring
ppreduce
- jumpifhalfword 4, gBattleTypeFlags, 8, BattleScript_ButItFailed
+ jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
getifcantrunfrombattle USER
- jumpifbyte 0, gBattleCommunication, 1, BattleScript_ButItFailed
- jumpifbyte 0, gBattleCommunication, 2, BattleScript_1D8839
+ jumpifbyte EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed
+ jumpifbyte EQUAL, gBattleCommunication, 2, BattleScript_PrintAbilityMadeIneffective
attackanimation
waitanimation
printstring BATTLE_TEXT_FledBattle
waitmessage 64
setbyte gBattleOutcome, 5
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_BeatUp: @ 81D826E
+BattleScript_EffectBeatUp: @ 81D826E
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
pause 32
ppreduce
setbyte gBattleCommunication, 0
-BattleScript_1D8281: @ 81D8281
+BattleScript_BeatUpLoop: @ 81D8281
movevaluescleanup
- trydobeatup BattleScript_1D82C4, BattleScript_ButItFailed
+ trydobeatup BattleScript_BeatUpEnd, BattleScript_ButItFailed
printstring BATTLE_TEXT_PokeAttack
critcalc
- jumpifbyte 1, gCritMultiplier, 2, BattleScript_1D829C
+ jumpifbyte NOT_EQUAL, gCritMultiplier, 2, BattleScript_BeatUpAttack
manipulatedamage 2
-BattleScript_1D829C: @ 81D829C
+BattleScript_BeatUpAttack: @ 81D829C
adjustnormaldamage
attackanimation
waitanimation
@@ -2059,283 +2055,283 @@ BattleScript_1D829C: @ 81D829C
waitmessage 64
resultmessage
waitmessage 64
- tryfaintmon TARGET, 0, 0x0
- setbyte gSharedMem + 0x1600C, 0
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
- goto BattleScript_1D8281
+ goto BattleScript_BeatUpLoop
-BattleScript_1D82C4: @ 81D82C4
+BattleScript_BeatUpEnd: @ 81D82C4
end
-MoveEffect_Fly: @ 81D82C5
- jumpifstatus2 USER, S_CONTINUE, BattleScript_1D8333
- jumpifword 4, gHitMarker, 0x200, BattleScript_1D8333
- jumpifhalfword 0, gCurrentMove, 19, BattleScript_1D8322
- jumpifhalfword 0, gCurrentMove, 291, BattleScript_1D8317
- jumpifhalfword 0, gCurrentMove, 340, BattleScript_1D830C
- setbyte gSharedMem + 0x16055, 5
- goto BattleScript_1D8328
+BattleScript_EffectSemiInvulnerable: @ 81D82C5
+ jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_SecondTurnSemiInvulnerable
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_SecondTurnSemiInvulnerable
+ jumpifmove MOVE_FLY, BattleScript_FirstTurnFly
+ jumpifmove MOVE_DIVE, BattleScript_FirstTurnDive
+ jumpifmove MOVE_BOUNCE, BattleScript_FirstTurnBounce
+ setbyte sTWOTURN_STRINGID, 5
+ goto BattleScript_FirstTurnSemiInvulnerable
-BattleScript_1D830C: @ 81D830C
- setbyte gSharedMem + 0x16055, 7
- goto BattleScript_1D8328
+BattleScript_FirstTurnBounce: @ 81D830C
+ setbyte sTWOTURN_STRINGID, 7
+ goto BattleScript_FirstTurnSemiInvulnerable
-BattleScript_1D8317: @ 81D8317
- setbyte gSharedMem + 0x16055, 6
- goto BattleScript_1D8328
+BattleScript_FirstTurnDive: @ 81D8317
+ setbyte sTWOTURN_STRINGID, 6
+ goto BattleScript_FirstTurnSemiInvulnerable
-BattleScript_1D8322: @ 81D8322
- setbyte gSharedMem + 0x16055, 4
+BattleScript_FirstTurnFly: @ 81D8322
+ setbyte sTWOTURN_STRINGID, 4
-BattleScript_1D8328: @ 81D8328
- call BattleScript_1D756C
+BattleScript_FirstTurnSemiInvulnerable: @ 81D8328
+ call BattleScriptFirstChargingTurn
setsemiinvulnerablebit
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D8333: @ 81D8333
+BattleScript_SecondTurnSemiInvulnerable: @ 81D8333
attackcanceler
- setbyte gUnknown_02024D1F + 0x2, 12
- setbyte gSharedMem + 0x16002, 1
+ setmoveeffect EFFECT_CHARGING
+ setbyte sANIM_TURN, 1
clearstatusfromeffect USER
- orword gHitMarker, 0x800
- jumpifhalfword 1, gCurrentMove, 340, BattleScript_1D835D
- setbyte gUnknown_02024D1F + 0x2, 5
+ orword gHitMarker, HITMARKER_NO_PPDEDUCT
+ jumpifnotmove MOVE_BOUNCE, BattleScript_SemiInvulnerableTryHit
+ setmoveeffect EFFECT_PARALYSIS
-BattleScript_1D835D: @ 81D835D
- accuracycheck BattleScript_1D836A, 0
+BattleScript_SemiInvulnerableTryHit: @ 81D835D
+ accuracycheck BattleScript_SemiInvulnerableMiss, ACC_CURR_MOVE
clearsemiinvulnerablebit
- goto BattleScript_1D6F42
+ goto BattleScript_HitFromAtkString
-BattleScript_1D836A: @ 81D836A
+BattleScript_SemiInvulnerableMiss: @ 81D836A
clearsemiinvulnerablebit
- goto BattleScript_1D6F72
+ goto BattleScript_PrintMoveMissed
-MoveEffect_DefenseCurl: @ 81D8370
+BattleScript_EffectDefenseCurl: @ 81D8370
attackcanceler
attackstring
ppreduce
setdefensecurlbit
- setbyte gSharedMem + 0x1601E, 18
- statbuffchange 65, BattleScript_1D838D
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D71D8
+ setstatchanger DEFENSE, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_DefenseCurlDoStatUpAnim
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_StatUpPrintString
attackanimation
waitanimation
-BattleScript_1D838D: @ 81D838D
- goto BattleScript_1D71D0
+BattleScript_DefenseCurlDoStatUpAnim: @ 81D838D
+ goto BattleScript_StatUpDoAnim
-MoveEffect_Softboiled: @ 81D8392
+BattleScript_EffectSoftboiled: @ 81D8392
attackcanceler
attackstring
ppreduce
- tryhealhalfhealth BattleScript_1D83B5, 0
+ tryhealhalfhealth BattleScript_AlreadyAtFullHp, 0
-BattleScript_1D839B:: @ 81D839B
+BattleScript_PresentHealTarget:: @ 81D839B
attackanimation
waitanimation
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate TARGET
datahpupdate TARGET
printstring BATTLE_TEXT_RegainedHealth
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D83B5:: @ 81D83B5
+BattleScript_AlreadyAtFullHp:: @ 81D83B5
pause 32
printstring BATTLE_TEXT_HPFull
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_FakeOut: @ 81D83C3
+BattleScript_EffectFakeOut: @ 81D83C3
attackcanceler
- jumpifnotfirstturn BattleScript_1D83D4
- setbyte gUnknown_02024D1F + 0x2, 136
- goto BattleScript_1D6F14
+ jumpifnotfirstturn BattleScript_ButItFailedAtkStringPpReduce
+ setbyte cEFFECT_CHOOSER, 136
+ goto BattleScript_EffectHit
-BattleScript_1D83D4: @ 81D83D4
+BattleScript_ButItFailedAtkStringPpReduce: @ 81D83D4
attackstring
-BattleScript_1D83D5: @ 81D83D5
+BattleScript_ButItFailedPpReduce: @ 81D83D5
ppreduce
BattleScript_ButItFailed:: @ 81D83D6
pause 32
- orbyte gBattleMoveFlags, 32
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
resultmessage
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D83E8: @ 81D83E8
+BattleScript_NotAffected: @ 81D83E8
pause 32
- orbyte gBattleMoveFlags, 8
+ orbyte gBattleMoveFlags, MOVESTATUS_NOTAFFECTED
resultmessage
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Uproar: @ 81D83FA
+BattleScript_EffectUproar: @ 81D83FA
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
- setbyte gUnknown_02024D1F + 0x2, 74
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
+ setbyte cEFFECT_CHOOSER, 74
attackstring
- jumpifstatus2 USER, S_CONTINUE, BattleScript_1D8414
+ jumpifstatus2 USER, STATUS2_MULTIPLETURNS, BattleScript_UproarHit
ppreduce
-BattleScript_1D8414: @ 81D8414
+BattleScript_UproarHit: @ 81D8414
nop
- goto BattleScript_1D6F44
+ goto BattleScript_HitFromCritCalc
-MoveEffect_Stockpile: @ 81D841A
+BattleScript_EffectStockpile: @ 81D841A
attackcanceler
attackstring
ppreduce
stockpile
attackanimation
waitanimation
- printfromtable BattleTextList_40155E
+ printfromtable gStockpileUsedStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_SpitUp: @ 81D842D
+BattleScript_EffectSpitUp: @ 81D842D
attackcanceler
- jumpifbyte 0, gUnknown_02024D1F + 0x5, 1, BattleScript_1D845C
+ jumpifbyte EQUAL, gUnknown_02024D1F + 0x5, 1, BattleScript_SpitUpFail
attackstring
ppreduce
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
stockpiletobasedamage BattleScript_1D844E
typecalc
adjustsetdamage
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
BattleScript_1D844E: @ 81D844E
pause 32
printstring BATTLE_TEXT_SpitUpFail
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D845C: @ 81D845C
+BattleScript_SpitUpFail: @ 81D845C
attackstring
ppreduce
pause 64
stockpiletobasedamage BattleScript_1D844E
resultmessage
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Swallow: @ 81D846F
+BattleScript_EffectSwallow: @ 81D846F
attackcanceler
attackstring
ppreduce
- stockpiletohpheal BattleScript_1D847C
- goto BattleScript_1D839B
+ stockpiletohpheal BattleScript_SwallowFail
+ goto BattleScript_PresentHealTarget
-BattleScript_1D847C: @ 81D847C
+BattleScript_SwallowFail: @ 81D847C
pause 32
- printfromtable BattleTextList_401566
+ printfromtable gSwallowFailStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Hail: @ 81D848C
+BattleScript_EffectHail: @ 81D848C
attackcanceler
attackstring
ppreduce
sethail
- goto BattleScript_1D7FFA
+ goto BattleScript_MoveWeatherChange
-MoveEffect_Torment: @ 81D8495
+BattleScript_EffectTorment: @ 81D8495
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 0
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
settorment BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_TormentSubject
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Flatter: @ 81D84B1
+BattleScript_EffectFlatter: @ 81D84B1
attackcanceler
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D6F6C
- accuracycheck BattleScript_1D6F72, 0
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
jumpifconfusedandstatmaxed 4, BattleScript_ButItFailed
attackanimation
waitanimation
- setbyte gSharedMem + 0x1601E, 20
- statbuffchange 1, BattleScript_1D84F4
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D84F4
+ setstatchanger SP_ATTACK, 1, FALSE
+ statbuffchange 1, BattleScript_FlatterTryConfuse
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_FlatterTryConfuse
setgraphicalstatchangevalues
- playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4
- printfromtable BattleTextList_401570
+ playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D84F4: @ 81D84F4
- jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D98E5
- jumpifsideaffecting TARGET, 32, BattleScript_1D9037
- setbyte gUnknown_02024D1F + 0x2, 7
+BattleScript_FlatterTryConfuse: @ 81D84F4
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
+ setmoveeffect EFFECT_CONFUSION
seteffectprimary
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_WillOWisp: @ 81D850F
+BattleScript_EffectWillOWisp: @ 81D850F
attackcanceler
attackstring
ppreduce
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- jumpifstatus TARGET, BRN, BattleScript_1D8575
- jumpiftype TARGET, TYPE_FIRE, BattleScript_1D83E8
- jumpifability TARGET, ABILITY_WATER_VEIL, BattleScript_1D855B
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifstatus TARGET, BRN, BattleScript_AlreadyBurned
+ jumpiftype TARGET, TYPE_FIRE, BattleScript_NotAffected
+ jumpifability TARGET, ABILITY_WATER_VEIL, BattleScript_WaterVeilPrevents
jumpifstatus TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, BattleScript_ButItFailed
- accuracycheck BattleScript_ButItFailed, 0
- jumpifsideaffecting TARGET, 32, BattleScript_1D9037
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
attackanimation
waitanimation
- setbyte gUnknown_02024D1F + 0x2, 3
+ setmoveeffect EFFECT_BURN
seteffectprimary
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D855B: @ 81D855B
- copyarray gEffectBank, gBankTarget, 1
- setbyte gUnknown_02024D1F + 0x4, 0
+BattleScript_WaterVeilPrevents: @ 81D855B
+ copybyte gEffectBank, gBankTarget
+ setbyte cMULTISTRING_CHOOSER, 0
call BattleScript_BRNPrevention
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D8575: @ 81D8575
+BattleScript_AlreadyBurned: @ 81D8575
pause 32
printstring BATTLE_TEXT_AlreadyBurned
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Memento: @ 81D8583
+BattleScript_EffectMemento: @ 81D8583
attackcanceler
- jumpifbyte 0, gUnknown_02024D1F + 0x5, 1, BattleScript_1D860A
+ jumpifbyte EQUAL, gUnknown_02024D1F + 0x5, 1, BattleScript_1D860A
attackstring
ppreduce
jumpifattackandspecialattackcannotfall BattleScript_ButItFailed
setatkhptozero
attackanimation
waitanimation
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D85FF
- setbyte gSharedMem + 0x160DC, 0
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_1D85FF
+ setbyte sFIELD_1B, 0
playstatchangeanimation TARGET, 18, 7
playstatchangeanimation TARGET, 2, 3
- setbyte gSharedMem + 0x1601E, 161
+ setstatchanger ATTACK, 2, TRUE
statbuffchange 1, BattleScript_1D85D0
- jumpifbyte 2, gUnknown_02024D1F + 0x4, 1, BattleScript_1D85D0
- printfromtable BattleTextList_40157C
+ jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_1D85D0
+ printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D85D0: @ 81D85D0
playstatchangeanimation TARGET, 16, 3
- setbyte gSharedMem + 0x1601E, 164
+ setstatchanger SP_ATTACK, 2, TRUE
statbuffchange 1, BattleScript_1D85F3
- jumpifbyte 2, gUnknown_02024D1F + 0x4, 1, BattleScript_1D85F3
- printfromtable BattleTextList_40157C
+ jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_1D85F3
+ printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D85F3: @ 81D85F3
- tryfaintmon USER, 0, 0x0
- goto BattleScript_EndTurn
+ tryfaintmon USER, FALSE, NULL
+ goto BattleScript_MoveEnd
BattleScript_1D85FF: @ 81D85FF
printstring BATTLE_TEXT_NoEffect
@@ -2353,36 +2349,36 @@ BattleScript_1D8611: @ 81D8611
effectivenesssound
resultmessage
waitmessage 64
- tryfaintmon USER, 0, 0x0
- goto BattleScript_EndTurn
+ tryfaintmon USER, FALSE, NULL
+ goto BattleScript_MoveEnd
-MoveEffect_Facade: @ 81D8626
- jumpifstatus USER, PSN | BRN | PAR | TOX, BattleScript_1D8635
- goto BattleScript_1D6F14
+BattleScript_EffectFacade: @ 81D8626
+ jumpifstatus USER, PSN | BRN | PAR | TOX, BattleScript_FacadeDoubleDmg
+ goto BattleScript_EffectHit
-BattleScript_1D8635: @ 81D8635
- setbyte gSharedMem + 0x1601F, 2
- goto BattleScript_1D6F14
+BattleScript_FacadeDoubleDmg: @ 81D8635
+ setbyte sDMG_MULTIPLIER, 2
+ goto BattleScript_EffectHit
-MoveEffect_FocusPunch: @ 81D8640
+BattleScript_EffectFocusPunch: @ 81D8640
attackcanceler
- jumpifnodamage BattleScript_1D6F3B
+ jumpifnodamage BattleScript_HitFromAccCheck
ppreduce
printstring BATTLE_TEXT_LostFocus
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Smellingsalt: @ 81D8652
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D6F14
- setbyte gUnknown_02024D1F + 0x2, 164
- jumpifstatus TARGET, PAR, BattleScript_1D8671
- goto BattleScript_1D6F14
+BattleScript_EffectSmellingsalt: @ 81D8652
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit
+ setmoveeffect EFFECT_REMOVE_PARALYSIS | CERTAIN
+ jumpifstatus TARGET, PAR, BattleScript_SmellingsaltDoubleDmg
+ goto BattleScript_EffectHit
-BattleScript_1D8671: @ 81D8671
- setbyte gSharedMem + 0x1601F, 2
- goto BattleScript_1D6F14
+BattleScript_SmellingsaltDoubleDmg: @ 81D8671
+ setbyte sDMG_MULTIPLIER, 2
+ goto BattleScript_EffectHit
-MoveEffect_FollowMe: @ 81D867C
+BattleScript_EffectFollowMe: @ 81D867C
attackcanceler
attackstring
ppreduce
@@ -2391,9 +2387,9 @@ MoveEffect_FollowMe: @ 81D867C
waitanimation
printstring BATTLE_TEXT_CenterAttention
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_NaturePower: @ 81D868D
+BattleScript_EffectNaturePower: @ 81D868D
attackcanceler
attackstring
pause 32
@@ -2402,7 +2398,7 @@ MoveEffect_NaturePower: @ 81D868D
waitmessage 64
return
-MoveEffect_Charge: @ 81D869A
+BattleScript_EffectCharge: @ 81D869A
attackcanceler
attackstring
ppreduce
@@ -2411,21 +2407,21 @@ MoveEffect_Charge: @ 81D869A
waitanimation
printstring BATTLE_TEXT_ChargingPower
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Taunt: @ 81D86AB
+BattleScript_EffectTaunt: @ 81D86AB
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 0
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
settaunt BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_TauntFell
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_HelpingHand: @ 81D86C7
+BattleScript_EffectHelpingHand: @ 81D86C7
attackcanceler
attackstring
ppreduce
@@ -2434,55 +2430,55 @@ MoveEffect_HelpingHand: @ 81D86C7
waitanimation
printstring BATTLE_TEXT_ReadyToHelp
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Trick: @ 81D86DC
+BattleScript_EffectTrick: @ 81D86DC
attackcanceler
attackstring
ppreduce
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- accuracycheck BattleScript_ButItFailed, 0
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
tryswapitems BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_SwitchedItems
waitmessage 64
- printfromtable BattleTextList_401642
+ printfromtable gItemSwapStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_RolePlay: @ 81D870A
+BattleScript_EffectRolePlay: @ 81D870A
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 65535
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
trycopyability BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_CopiedObject
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Wish: @ 81D8726
+BattleScript_EffectWish: @ 81D8726
attackcanceler
attackstring
ppreduce
trywish 0, BattleScript_ButItFailed
attackanimation
waitanimation
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Assist: @ 81D8736
+BattleScript_EffectAssist: @ 81D8736
attackcanceler
attackstring
- assistattackselect BattleScript_1D83D5
+ assistattackselect BattleScript_ButItFailedPpReduce
attackanimation
waitanimation
- setbyte gSharedMem + 0x16002, 0
- setbyte gSharedMem + 0x160A1, 0
+ setbyte sANIM_TURN, 0
+ setbyte sANIM_TARGETS_HIT, 0
jumptorandomattack USER
-MoveEffect_Ingrain: @ 81D874D
+BattleScript_EffectIngrain: @ 81D874D
attackcanceler
attackstring
ppreduce
@@ -2491,24 +2487,24 @@ MoveEffect_Ingrain: @ 81D874D
waitanimation
printstring BATTLE_TEXT_PlantedRoots
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Superpower: @ 81D8762
- setbyte gUnknown_02024D1F + 0x2, 229
- goto BattleScript_1D6F14
+BattleScript_EffectSuperpower: @ 81D8762
+ setmoveeffect EFFECT_ATK_DEF_DOWN | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
-MoveEffect_MagicCoat: @ 81D876D
+BattleScript_EffectMagicCoat: @ 81D876D
attackcanceler
- trysetmagiccoat BattleScript_1D83D4
+ trysetmagiccoat BattleScript_ButItFailedAtkStringPpReduce
attackstring
ppreduce
attackanimation
waitanimation
printstring BATTLE_TEXT_ShroudedItself
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Recycle: @ 81D8782
+BattleScript_EffectRecycle: @ 81D8782
attackcanceler
attackstring
ppreduce
@@ -2517,15 +2513,15 @@ MoveEffect_Recycle: @ 81D8782
waitanimation
printstring BATTLE_TEXT_FoundOne
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Revenge: @ 81D8797
+BattleScript_EffectRevenge: @ 81D8797
doubledamagedealtifdamaged
- goto BattleScript_1D6F14
+ goto BattleScript_EffectHit
-MoveEffect_BrickBreak: @ 81D879D
+BattleScript_EffectBrickBreak: @ 81D879D
attackcanceler
- accuracycheck BattleScript_1D6F72, 0
+ accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
removelightscreenreflect
@@ -2533,17 +2529,17 @@ MoveEffect_BrickBreak: @ 81D879D
damagecalc
typecalc
adjustnormaldamage
- jumpifbyte 0, gSharedMem + 0x16002, 0, BattleScript_1D87BD
+ jumpifbyte EQUAL, sANIM_TURN, 0, BattleScript_BrickBreakAnim
bicbyte gBattleMoveFlags, 9
-BattleScript_1D87BD: @ 81D87BD
+BattleScript_BrickBreakAnim: @ 81D87BD
attackanimation
waitanimation
- jumpifbyte 3, gSharedMem + 0x16002, 2, BattleScript_1D87D0
+ jumpifbyte LESS_THAN, sANIM_TURN, 2, BattleScript_BrickBreakDoHit
printstring BATTLE_TEXT_BrokeWall
waitmessage 64
-BattleScript_1D87D0: @ 81D87D0
+BattleScript_BrickBreakDoHit: @ 81D87D0
typecalc2
effectivenesssound
hitanimation TARGET
@@ -2555,70 +2551,70 @@ BattleScript_1D87D0: @ 81D87D0
resultmessage
waitmessage 64
seteffectwithchance
- tryfaintmon TARGET, 0, 0x0
- goto BattleScript_EndTurn
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
-MoveEffect_Yawn: @ 81D87EE
+BattleScript_EffectYawn: @ 81D87EE
attackcanceler
attackstring
ppreduce
- jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_1D882F
- jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_1D882F
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_ButItFailed
- jumpifsideaffecting TARGET, 32, BattleScript_1D9037
- accuracycheck BattleScript_ButItFailed, 65535
+ jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_PrintBankAbilityMadeIneffective
+ jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_PrintBankAbilityMadeIneffective
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
jumpifcantmakeasleep BattleScript_ButItFailed
setyawn BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_DrowsyMade
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D882F: @ 81D882F
- copyarray gSharedMem + 0x16003, gSharedMem + 0x160F8, 1
+BattleScript_PrintBankAbilityMadeIneffective: @ 81D882F
+ copybyte sBANK, sBANK_WITH_ABILITY
-BattleScript_1D8839: @ 81D8839
+BattleScript_PrintAbilityMadeIneffective: @ 81D8839
pause 32
printstring BATTLE_TEXT_MadeIneffective2
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_KnockOff: @ 81D8847
- setbyte gUnknown_02024D1F + 0x2, 54
- goto BattleScript_1D6F14
+BattleScript_EffectKnockOff: @ 81D8847
+ setmoveeffect EFFECT_KNOCK_OFF
+ goto BattleScript_EffectHit
-MoveEffect_Endeavor: @ 81D8852
+BattleScript_EffectEndeavor: @ 81D8852
attackcanceler
attackstring
ppreduce
setdamagetohealthdifference BattleScript_ButItFailed
- copyarray gHP_dealt, gBattleMoveDamage, 4
- accuracycheck BattleScript_1D6F77, 0
+ copyword gHP_dealt, gBattleMoveDamage
+ accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
typecalc
- jumpifbyte 4, gBattleMoveFlags, 41, BattleScript_1D6F48
- bicbyte gBattleMoveFlags, 6
- copyarray gBattleMoveDamage, gHP_dealt, 4
+ jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ copyword gBattleMoveDamage, gHP_dealt
adjustsetdamage
- goto BattleScript_1D6F48
+ goto BattleScript_HitFromAtkAnimation
-MoveEffect_Eruption: @ 81D888D
+BattleScript_EffectEruption: @ 81D888D
scaledamagebyhealthratio
- goto BattleScript_1D6F14
+ goto BattleScript_EffectHit
-MoveEffect_SkillSwap: @ 81D8893
+BattleScript_EffectSkillSwap: @ 81D8893
attackcanceler
attackstring
ppreduce
- accuracycheck BattleScript_ButItFailed, 65535
+ accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
tryswapabilities BattleScript_ButItFailed
attackanimation
waitanimation
printstring BATTLE_TEXT_AbilitySwap
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Imprison: @ 81D88AF
+BattleScript_EffectImprison: @ 81D88AF
attackcanceler
attackstring
ppreduce
@@ -2627,9 +2623,9 @@ MoveEffect_Imprison: @ 81D88AF
waitanimation
printstring BATTLE_TEXT_SealedMove
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Refresh: @ 81D88C4
+BattleScript_EffectRefresh: @ 81D88C4
attackcanceler
attackstring
ppreduce
@@ -2638,10 +2634,10 @@ MoveEffect_Refresh: @ 81D88C4
waitanimation
printstring BATTLE_TEXT_StatusNormal
waitmessage 64
- updatestatusicon 1
- goto BattleScript_EndTurn
+ updatestatusicon USER
+ goto BattleScript_MoveEnd
-MoveEffect_Grudge: @ 81D88DB
+BattleScript_EffectGrudge: @ 81D88DB
attackcanceler
attackstring
ppreduce
@@ -2650,11 +2646,11 @@ MoveEffect_Grudge: @ 81D88DB
waitanimation
printstring BATTLE_TEXT_GrudgeBear
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_Snatch: @ 81D88F0
+BattleScript_EffectSnatch: @ 81D88F0
attackcanceler
- trysetsnatch BattleScript_1D83D4
+ trysetsnatch BattleScript_ButItFailedAtkStringPpReduce
attackstring
ppreduce
attackanimation
@@ -2662,267 +2658,267 @@ MoveEffect_Snatch: @ 81D88F0
pause 32
printstring BATTLE_TEXT_AwaitMove
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_LowKick: @ 81D8908
+BattleScript_EffectLowKick: @ 81D8908
attackcanceler
attackstring
ppreduce
weightdamagecalculation
- accuracycheck BattleScript_1D6F77, 0
- goto BattleScript_1D6F44
+ accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
+ goto BattleScript_HitFromCritCalc
-MoveEffect_SecretPower: @ 81D8918
+BattleScript_EffectSecretPower: @ 81D8918
getsecretpowereffect
- goto BattleScript_1D6F14
+ goto BattleScript_EffectHit
-MoveEffect_DoubleEdge: @ 81D891E
- setbyte gUnknown_02024D1F + 0x2, 230
- goto BattleScript_1D6F14
+BattleScript_EffectDoubleEdge: @ 81D891E
+ setmoveeffect EFFECT_RECOIL_33_PARALYSIS | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
-MoveEffect_TeeterDance: @ 81D8929
+BattleScript_EffectTeeterDance: @ 81D8929
attackcanceler
attackstring
ppreduce
setbyte gBankTarget, 0
-BattleScript_1D8932: @ 81D8932
+BattleScript_TeeterDanceLoop: @ 81D8932
movevaluescleanup
- setbyte gUnknown_02024D1F + 0x2, 7
- jumpifarrayequal gBankAttacker, gBankTarget, 1, BattleScript_1D8978
- jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_1D8996
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D89B2
- jumpifstatus2 TARGET, S_CONFUSED, BattleScript_1D89C0
- accuracycheck BattleScript_1D89CE, 0
- jumpifsideaffecting TARGET, 32, BattleScript_1D89A4
+ setmoveeffect EFFECT_CONFUSION
+ jumpifbyteequal gBankAttacker, gBankTarget, BattleScript_TeeterDanceDoMoveEndIncrement
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_TeeterDanceLoopIncrement
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_TeeterDanceSubstitutePrevents
+ jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_TeeterDanceAlreadyConfused
+ accuracycheck BattleScript_TeeterDanceMissed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_TeeterDanceSafeguardProtected
attackanimation
waitanimation
seteffectprimary
resultmessage
waitmessage 64
-BattleScript_1D8978: @ 81D8978
- setbyte gSharedMem + 0x1600C, 0
+BattleScript_TeeterDanceDoMoveEndIncrement: @ 81D8978
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
addbyte gBankTarget, 1
- jumpifarraynotequal gBankTarget, gNoOfAllBanks, 1, BattleScript_1D8932
+ jumpifbytenotequal gBankTarget, gNoOfAllBanks, BattleScript_TeeterDanceLoop
end
-BattleScript_1D8996: @ 81D8996
+BattleScript_TeeterDanceLoopIncrement: @ 81D8996
pause 32
printstring BATTLE_TEXT_PreventedConfusion
waitmessage 64
- goto BattleScript_1D8978
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
-BattleScript_1D89A4: @ 81D89A4
+BattleScript_TeeterDanceSafeguardProtected: @ 81D89A4
pause 32
printstring BATTLE_TEXT_SafeguardActive
waitmessage 64
- goto BattleScript_1D8978
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
-BattleScript_1D89B2: @ 81D89B2
+BattleScript_TeeterDanceSubstitutePrevents: @ 81D89B2
pause 32
printstring BATTLE_TEXT_Failed
waitmessage 64
- goto BattleScript_1D8978
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
-BattleScript_1D89C0: @ 81D89C0
+BattleScript_TeeterDanceAlreadyConfused: @ 81D89C0
pause 32
printstring BATTLE_TEXT_AlreadyConfused
waitmessage 64
- goto BattleScript_1D8978
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
-BattleScript_1D89CE: @ 81D89CE
+BattleScript_TeeterDanceMissed: @ 81D89CE
resultmessage
waitmessage 64
- goto BattleScript_1D8978
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
-MoveEffect_MudSport: @ 81D89D7
-MoveEffect_WaterSport: @ 81D89D7
+BattleScript_EffectMudSport: @ 81D89D7
+BattleScript_EffectWaterSport: @ 81D89D7
attackcanceler
attackstring
ppreduce
settypebasedhalvers BattleScript_ButItFailed
attackanimation
waitanimation
- printfromtable BattleTextList_4015D4
+ printfromtable gSportsUsedStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_PoisonFang: @ 81D89EE
- setbyte gUnknown_02024D1F + 0x2, 6
- goto BattleScript_1D6F14
+BattleScript_EffectPoisonFang: @ 81D89EE
+ setmoveeffect EFFECT_TOXIC
+ goto BattleScript_EffectHit
-MoveEffect_WeatherBall: @ 81D89F9
+BattleScript_EffectWeatherBall: @ 81D89F9
setweatherballtype
- goto BattleScript_1D6F14
+ goto BattleScript_EffectHit
-MoveEffect_Overheat: @ 81D89FF
- setbyte gUnknown_02024D1F + 0x2, 251
- goto BattleScript_1D6F14
+BattleScript_EffectOverheat: @ 81D89FF
+ setmoveeffect EFFECT_SP_ATK_TWO_DOWN | AFFECTS_USER | CERTAIN
+ goto BattleScript_EffectHit
-MoveEffect_Tickle: @ 81D8A0A
+BattleScript_EffectTickle: @ 81D8A0A
attackcanceler
attackstring
ppreduce
- jumpifstat TARGET, 2, 1, 0, BattleScript_1D8A1F
- jumpifstat TARGET, 0, 2, 0, BattleScript_1D8A7D
+ jumpifstat TARGET, GREATER_THAN, ATTACK, 0, BattleScript_TickleDoMoveAnim
+ jumpifstat TARGET, EQUAL, DEFENSE, 0, BattleScript_CantLowerMultipleStats
-BattleScript_1D8A1F: @ 81D8A1F
- accuracycheck BattleScript_ButItFailed, 0
+BattleScript_TickleDoMoveAnim: @ 81D8A1F
+ accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
attackanimation
waitanimation
- setbyte gSharedMem + 0x160DC, 0
+ setbyte sFIELD_1B, 0
playstatchangeanimation TARGET, 6, 5
playstatchangeanimation TARGET, 2, 1
- setbyte gSharedMem + 0x1601E, 145
- statbuffchange 1, BattleScript_1D8A55
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8A55
- printfromtable BattleTextList_40157C
+ setstatchanger ATTACK, 1, TRUE
+ statbuffchange 1, BattleScript_TickleTryLowerDef
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_TickleTryLowerDef
+ printfromtable gStatDownStringIds
waitmessage 64
-BattleScript_1D8A55: @ 81D8A55
+BattleScript_TickleTryLowerDef: @ 81D8A55
playstatchangeanimation TARGET, 4, 1
- setbyte gSharedMem + 0x1601E, 146
- statbuffchange 1, BattleScript_1D8A78
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8A78
- printfromtable BattleTextList_40157C
+ setstatchanger DEFENSE, 1, TRUE
+ statbuffchange 1, BattleScript_TickleEnd
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_TickleEnd
+ printfromtable gStatDownStringIds
waitmessage 64
-BattleScript_1D8A78: @ 81D8A78
- goto BattleScript_EndTurn
+BattleScript_TickleEnd: @ 81D8A78
+ goto BattleScript_MoveEnd
-BattleScript_1D8A7D: @ 81D8A7D
+BattleScript_CantLowerMultipleStats: @ 81D8A7D
pause 32
- orbyte gBattleMoveFlags, 32
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
printstring BATTLE_TEXT_StatNoLower
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_CosmicPower: @ 81D8A91
+BattleScript_EffectCosmicPower: @ 81D8A91
attackcanceler
attackstring
ppreduce
- jumpifstat USER, 3, 2, 12, BattleScript_1D8AA6
- jumpifstat USER, 0, 5, 12, BattleScript_1D8BCB
+ jumpifstat USER, LESS_THAN, DEFENSE, 12, BattleScript_CosmicPowerDoMoveAnim
+ jumpifstat USER, EQUAL, SP_DEFENSE, 12, BattleScript_CantRaiseMultipleStats
-BattleScript_1D8AA6: @ 81D8AA6
+BattleScript_CosmicPowerDoMoveAnim: @ 81D8AA6
attackanimation
waitanimation
- setbyte gSharedMem + 0x160DC, 0
+ setbyte sFIELD_1B, 0
playstatchangeanimation USER, 36, 0
- setbyte gSharedMem + 0x1601E, 18
- statbuffchange 65, BattleScript_1D8AD1
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8AD1
- printfromtable BattleTextList_401570
+ setstatchanger DEFENSE, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_CosmicPowerTrySpDef
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CosmicPowerTrySpDef
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D8AD1: @ 81D8AD1
- setbyte gSharedMem + 0x1601E, 21
- statbuffchange 65, BattleScript_1D8AF0
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8AF0
- printfromtable BattleTextList_401570
+BattleScript_CosmicPowerTrySpDef: @ 81D8AD1
+ setstatchanger SP_DEFENSE, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_CosmicPowerEnd
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CosmicPowerEnd
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D8AF0: @ 81D8AF0
- goto BattleScript_EndTurn
+BattleScript_CosmicPowerEnd: @ 81D8AF0
+ goto BattleScript_MoveEnd
-MoveEffect_SkyUppercut: @ 81D8AF5
- orword gHitMarker, 0x10000
- goto BattleScript_1D6F14
+BattleScript_EffectSkyUppercut: @ 81D8AF5
+ orword gHitMarker, HITMARKER_IGNORE_ON_AIR
+ goto BattleScript_EffectHit
-MoveEffect_BulkUp: @ 81D8B03
+BattleScript_EffectBulkUp: @ 81D8B03
attackcanceler
attackstring
ppreduce
- jumpifstat USER, 3, 1, 12, BattleScript_1D8B18
- jumpifstat USER, 0, 2, 12, BattleScript_1D8BCB
+ jumpifstat USER, LESS_THAN, ATTACK, 12, BattleScript_BulkUpDoMoveAnim
+ jumpifstat USER, EQUAL, DEFENSE, 12, BattleScript_CantRaiseMultipleStats
-BattleScript_1D8B18: @ 81D8B18
+BattleScript_BulkUpDoMoveAnim: @ 81D8B18
attackanimation
waitanimation
- setbyte gSharedMem + 0x160DC, 0
+ setbyte sFIELD_1B, 0
playstatchangeanimation USER, 6, 0
- setbyte gSharedMem + 0x1601E, 17
- statbuffchange 65, BattleScript_1D8B43
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8B43
- printfromtable BattleTextList_401570
+ setstatchanger ATTACK, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_BulkUpTryDef
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_BulkUpTryDef
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D8B43: @ 81D8B43
- setbyte gSharedMem + 0x1601E, 18
- statbuffchange 65, BattleScript_1D8B62
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8B62
- printfromtable BattleTextList_401570
+BattleScript_BulkUpTryDef: @ 81D8B43
+ setstatchanger DEFENSE, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_BulkUpEnd
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_BulkUpEnd
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D8B62: @ 81D8B62
- goto BattleScript_EndTurn
+BattleScript_BulkUpEnd: @ 81D8B62
+ goto BattleScript_MoveEnd
-MoveEffect_CalmMind: @ 81D8B67
+BattleScript_EffectCalmMind: @ 81D8B67
attackcanceler
attackstring
ppreduce
- jumpifstat USER, 3, 4, 12, BattleScript_1D8B7C
- jumpifstat USER, 0, 5, 12, BattleScript_1D8BCB
+ jumpifstat USER, LESS_THAN, SP_ATTACK, 12, BattleScript_CalmMindDoMoveAnim
+ jumpifstat USER, EQUAL, SP_DEFENSE, 12, BattleScript_CantRaiseMultipleStats
-BattleScript_1D8B7C: @ 81D8B7C
+BattleScript_CalmMindDoMoveAnim: @ 81D8B7C
attackanimation
waitanimation
- setbyte gSharedMem + 0x160DC, 0
+ setbyte sFIELD_1B, 0
playstatchangeanimation USER, 48, 0
- setbyte gSharedMem + 0x1601E, 20
- statbuffchange 65, BattleScript_1D8BA7
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8BA7
- printfromtable BattleTextList_401570
+ setstatchanger SP_ATTACK, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_CalmMindTrySpDef
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CalmMindTrySpDef
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D8BA7: @ 81D8BA7
- setbyte gSharedMem + 0x1601E, 21
- statbuffchange 65, BattleScript_1D8BC6
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8BC6
- printfromtable BattleTextList_401570
+BattleScript_CalmMindTrySpDef: @ 81D8BA7
+ setstatchanger SP_DEFENSE, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_CalmMindEnd
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_CalmMindEnd
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D8BC6: @ 81D8BC6
- goto BattleScript_EndTurn
+BattleScript_CalmMindEnd: @ 81D8BC6
+ goto BattleScript_MoveEnd
-BattleScript_1D8BCB: @ 81D8BCB
+BattleScript_CantRaiseMultipleStats: @ 81D8BCB
pause 32
- orbyte gBattleMoveFlags, 32
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
printstring BATTLE_TEXT_StatNoHigher
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-MoveEffect_DragonDance: @ 81D8BDF
+BattleScript_EffectDragonDance: @ 81D8BDF
attackcanceler
attackstring
ppreduce
- jumpifstat USER, 3, 1, 12, BattleScript_1D8BF4
- jumpifstat USER, 0, 3, 12, BattleScript_1D8BCB
+ jumpifstat USER, LESS_THAN, ATTACK, 12, BattleScript_DragonDanceDoMoveAnim
+ jumpifstat USER, EQUAL, SPEED, 12, BattleScript_CantRaiseMultipleStats
-BattleScript_1D8BF4: @ 81D8BF4
+BattleScript_DragonDanceDoMoveAnim: @ 81D8BF4
attackanimation
waitanimation
- setbyte gSharedMem + 0x160DC, 0
+ setbyte sFIELD_1B, 0
playstatchangeanimation USER, 10, 0
- setbyte gSharedMem + 0x1601E, 17
- statbuffchange 65, BattleScript_1D8C1F
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8C1F
- printfromtable BattleTextList_401570
+ setstatchanger ATTACK, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_DragonDanceTrySpeed
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_DragonDanceTrySpeed
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D8C1F: @ 81D8C1F
- setbyte gSharedMem + 0x1601E, 19
- statbuffchange 65, BattleScript_1D8C3E
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8C3E
- printfromtable BattleTextList_401570
+BattleScript_DragonDanceTrySpeed: @ 81D8C1F
+ setstatchanger SPEED, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_DragonDanceEnd
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_DragonDanceEnd
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D8C3E: @ 81D8C3E
- goto BattleScript_EndTurn
+BattleScript_DragonDanceEnd: @ 81D8C3E
+ goto BattleScript_MoveEnd
-MoveEffect_Camouflage: @ 81D8C43
+BattleScript_EffectCamouflage: @ 81D8C43
attackcanceler
attackstring
ppreduce
@@ -2931,62 +2927,62 @@ MoveEffect_Camouflage: @ 81D8C43
waitanimation
printstring BATTLE_TEXT_TypeTransform
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-gUnknown_081D8C58:: @ 81D8C58
- playfaintcry 1
+BattleScript_FaintAttacker:: @ 81D8C58
+ playfaintcry USER
pause 64
- dofaintanimation 1
- cleareffectsonfaint 1
+ dofaintanimation USER
+ cleareffectsonfaint USER
printstring BATTLE_TEXT_AttackingFainted
return
-gUnknown_081D8C65:: @ 81D8C65
- playfaintcry 0
+BattleScript_FaintTarget:: @ 81D8C65
+ playfaintcry TARGET
pause 64
- dofaintanimation 0
- cleareffectsonfaint 0
+ dofaintanimation TARGET
+ cleareffectsonfaint TARGET
printstring BATTLE_TEXT_DefendingFainted
return
-gUnknown_081D8C72:: @ 81D8C72
- setbyte gSharedMem + 0x1600F, 0
- getexp 0
+BattleScript_GiveExp:: @ 81D8C72
+ setbyte sGIVEEXP_STATE, 0
+ getexp TARGET
end2
-gUnknown_081D8C7B:: @ 81D8C7B
+BattleScript_HandleFaintedMon:: @ 81D8C7B
atk24 BattleScript_1D8D87
- jumpifbyte 1, gBattleOutcome, 0, BattleScript_1D8D86
- jumpifhalfword 4, gBattleTypeFlags, 8, BattleScript_1D8CC2
- jumpifword 5, gHitMarker, 0x400000, BattleScript_1D8CC2
+ jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd
+ jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonTryChooseAnother
+ jumpifword NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonTryChooseAnother
printstring BATTLE_TEXT_UseNext
setbyte gBattleCommunication, 0
yesnobox
- jumpifbyte 0, gUnknown_02024D1F, 0, BattleScript_1D8CC2
- jumpifplayerran BattleScript_1D8D86
+ jumpifbyte EQUAL, gUnknown_02024D1F, 0, BattleScript_FaintedMonTryChooseAnother
+ jumpifplayerran BattleScript_FaintedMonEnd
printstring BATTLE_TEXT_CantEscape
-BattleScript_1D8CC2: @ 81D8CC2
- openpartyscreen 3, BattleScript_1D8D86
+BattleScript_FaintedMonTryChooseAnother: @ 81D8CC2
+ openpartyscreen 3, BattleScript_FaintedMonEnd
switchhandleorder 3, 2
- jumpifhalfword 5, gBattleTypeFlags, 8, BattleScript_1D8D66
- jumpifhalfword 4, gBattleTypeFlags, 2, BattleScript_1D8D66
- jumpifhalfword 4, gBattleTypeFlags, 256, BattleScript_1D8D66
- jumpifhalfword 4, gBattleTypeFlags, 1, BattleScript_1D8D66
- jumpifword 4, gHitMarker, 0x400000, BattleScript_1D8D66
- jumpifbyte 0, gSharedMem + 0x16084, 1, BattleScript_1D8D66
- jumpifcantswitch USER, BattleScript_1D8D66
+ 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 COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonChooseAnother
+ jumpifbyte EQUAL, sBATTLE_STYLE, 1, BattleScript_FaintedMonChooseAnother
+ jumpifcantswitch USER, BattleScript_FaintedMonChooseAnother
printstring BATTLE_TEXT_WillSwitch
setbyte gBattleCommunication, 0
yesnobox
- jumpifbyte 0, gUnknown_02024D1F, 1, BattleScript_1D8D66
+ jumpifbyte EQUAL, gUnknown_02024D1F, 1, BattleScript_FaintedMonChooseAnother
setatktoplayer0
- openpartyscreen 129, BattleScript_1D8D66
+ openpartyscreen 129, BattleScript_FaintedMonChooseAnother
switchhandleorder USER, 2
- jumpifbyte 0, gBattleCommunication, 6, BattleScript_1D8D66
+ jumpifbyte EQUAL, gBattleCommunication, 6, BattleScript_FaintedMonChooseAnother
atknameinbuff1
resetintrimidatetracebits USER
- hpthresholds2 1
+ hpthresholds2 USER
printstring 2
switchoutabilities USER
waitstate
@@ -3003,7 +2999,7 @@ BattleScript_1D8CC2: @ 81D8CC2
switchineffects USER
resetsentmonsvalue
-BattleScript_1D8D66: @ 81D8D66
+BattleScript_FaintedMonChooseAnother: @ 81D8D66
drawpartystatussummary 3
getswitchedmondata 3
switchindataupdate 3
@@ -3013,10 +3009,10 @@ BattleScript_1D8D66: @ 81D8D66
switchinanim 3, 0
waitstate
switchineffects 3
- jumpifhalfword 4, gBattleTypeFlags, 1, BattleScript_1D8D86
+ jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonEnd
cancelallactions
-BattleScript_1D8D86: @ 81D8D86
+BattleScript_FaintedMonEnd: @ 81D8D86
end2
BattleScript_1D8D87: @ 81D8D87
@@ -3038,12 +3034,12 @@ BattleScript_1D8D99: @ 81D8D99
switchinanim 3, 0
waitstate
switchineffects 5
- jumpifarraynotequal gBank1, gNoOfAllBanks, 1, BattleScript_1D8D99
+ jumpifbytenotequal gBank1, gNoOfAllBanks, BattleScript_1D8D99
BattleScript_1D8DBD: @ 81D8DBD
end2
-gUnknown_081D8DBE:: @ 81D8DBE
+BattleScript_LocalTrainerBattleWon:: @ 81D8DBE
printstring BATTLE_TEXT_PlayerDefeatedTrainer2
trainerslidein 1
waitstate
@@ -3052,21 +3048,21 @@ gUnknown_081D8DBE:: @ 81D8DBE
printstring BATTLE_TEXT_WinningPrize
waitmessage 64
-gUnknown_081D8DCE:: @ 81D8DCE
+BattleScript_PayDayMoneyAndPickUpItems:: @ 81D8DCE
givepaydaymoney
pickup
end2
-gUnknown_081D8DD1:: @ 81D8DD1
- jumpifhalfword 4, gBattleTypeFlags, 256, BattleScript_1D8E01
- jumpifhalfword 4, gBattleTypeFlags, 2048, BattleScript_1D8E01
- jumpifhalfword 0, gTrainerBattleOpponent, 1024, BattleScript_1D8E01
+BattleScript_LocalBattleLost:: @ 81D8DD1
+ jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_LocalBattleLostEnd
+ jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_LocalBattleLostEnd
+ jumpifhalfword EQUAL, gTrainerBattleOpponent, 1024, BattleScript_LocalBattleLostEnd
printstring BATTLE_TEXT_OutOfUsablePoke
waitmessage 64
printstring BATTLE_TEXT_WhitedOut
waitmessage 64
-BattleScript_1D8E01: @ 81D8E01
+BattleScript_LocalBattleLostEnd: @ 81D8E01
end2
gUnknown_081D8E02:: @ 81D8E02
@@ -3082,64 +3078,64 @@ gUnknown_081D8E0D:: @ 81D8E0D
waitstate
end2
-gUnknown_081D8E14:: @ 81D8E14
- playanimation USER, B_ANIM_SMOKEBALL_ESCAPE, 0x0
+BattleScript_SmokeBallEscape:: @ 81D8E14
+ playanimation USER, B_ANIM_SMOKEBALL_ESCAPE, NULL
printstring BATTLE_TEXT_FledUsingItem
waitmessage 64
end2
-gUnknown_081D8E22:: @ 81D8E22
+BattleScript_RanAwayUsingMonAbility:: @ 81D8E22
printstring BATTLE_TEXT_FledUsingOther
waitmessage 64
end2
-gUnknown_081D8E29:: @ 81D8E29
+BattleScript_GotAwaySafely:: @ 81D8E29
printstring BATTLE_TEXT_GotAwaySafely
waitmessage 64
end2
-gUnknown_081D8E30:: @ 81D8E30
+BattleScript_WildMonFled:: @ 81D8E30
printstring BATTLE_TEXT_FledWild
waitmessage 64
end2
-gUnknown_081D8E37:: @ 81D8E37
+BattleScript_PrintCantRunFromTrainer:: @ 81D8E37
printstring BATTLE_TEXT_NoRunning
end2
-gUnknown_081D8E3B:: @ 81D8E3B
- printfromtable BattleTextList_401512
+BattleScript_PrintFailedToRunString:: @ 81D8E3B
+ printfromtable gNoEscapeStringIds
waitmessage 64
end2
-gUnknown_081D8E44:: @ 81D8E44
- printselectionstringfromtable BattleTextList_401512
+BattleScript_PrintCantEscapeFromBattle:: @ 81D8E44
+ printselectionstringfromtable gNoEscapeStringIds
endselectionscript
-gUnknown_081D8E4A:: @ 81D8E4A
+BattleScript_PrintFullBox:: @ 81D8E4A
printselectionstring BATTLE_TEXT_BoxFull
endselectionscript
-gUnknown_081D8E4E:: @ 81D8E4E
- hpthresholds2 1
+BattleScript_ActionSwitch:: @ 81D8E4E
+ hpthresholds2 USER
printstring 2
- setbyte gSharedMem + 0x1601F, 2
- jumpifbyte 4, gBattleTypeFlags, 1, BattleScript_1D8E6B
+ setbyte sDMG_MULTIPLIER, 2
+ jumpifbyte COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_PursuitSwitchDmgSetMultihit
setmultihit 1
- goto BattleScript_1D8E6D
+ goto BattleScript_PursuitSwitchDmgLoop
-BattleScript_1D8E6B: @ 81D8E6B
+BattleScript_PursuitSwitchDmgSetMultihit: @ 81D8E6B
setmultihit 2
-BattleScript_1D8E6D: @ 81D8E6D
- jumpifnopursuitswitchdmg BattleScript_1D8E7A
+BattleScript_PursuitSwitchDmgLoop: @ 81D8E6D
+ jumpifnopursuitswitchdmg BattleScript_DoSwitchOut
atk5f
trysetdestinybondtohappen
- call BattleScript_1D8EAD
+ call BattleScript_PursuitDmgOnSwitchOut
atk5f
-BattleScript_1D8E7A: @ 81D8E7A
- decrementmultihit BattleScript_1D8E6D
+BattleScript_DoSwitchOut: @ 81D8E7A
+ decrementmultihit BattleScript_PursuitSwitchDmgLoop
switchoutabilities USER
waitstate
returnatktoball
@@ -3154,13 +3150,13 @@ BattleScript_1D8E7A: @ 81D8E7A
switchinanim USER, 0
waitstate
switchineffects USER
- setbyte gSharedMem + 0x1600C, 4
+ setbyte sMOVEEND_STATE, 4
moveend 1, 0
- setbyte gSharedMem + 0x1600C, 15
+ setbyte sMOVEEND_STATE, 15
moveend 1, 0
end2
-BattleScript_1D8EAD: @ 81D8EAD
+BattleScript_PursuitDmgOnSwitchOut: @ 81D8EAD
pause 32
attackstring
ppreduce
@@ -3179,15 +3175,15 @@ BattleScript_1D8EAD: @ 81D8EAD
waitmessage 64
resultmessage
waitmessage 64
- tryfaintmon TARGET, 0, 0x0
- setbyte gSharedMem + 0x1600C, 3
+ tryfaintmon TARGET, FALSE, NULL
+ setbyte sMOVEEND_STATE, 3
moveend 2, 6
various TARGET, 4
- jumpifbyte 0, gBattleCommunication, 0, BattleScript_1D8EEE
- setbyte gSharedMem + 0x1600F, 0
- getexp 0
+ jumpifbyte EQUAL, gBattleCommunication, 0, BattleScript_PursuitDmgOnSwitchOutRet
+ setbyte sGIVEEXP_STATE, 0
+ getexp TARGET
-BattleScript_1D8EEE: @ 81D8EEE
+BattleScript_PursuitDmgOnSwitchOutRet: @ 81D8EEE
return
BattleScript_Pausex20:: @ 81D8EEF
@@ -3195,162 +3191,162 @@ BattleScript_Pausex20:: @ 81D8EEF
return
BattleScript_LevelUp:: @ 81D8EF3
- fanfare 0xe10016f
- attackcanceler
- setbyte gSharedMem + 0x1609C, 0
+ fanfare BGM_FANFA1
+ printstring BATTLE_TEXT_GrewLevel
+ setbyte sLVLBOX_STATE, 0
drawlvlupbox
- handlelearnnewmove BattleScript_1D8F4F, BattleScript_1D8F61, 1
- goto BattleScript_1D8F19
+ handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, 1
+ goto BattleScript_AskToLearnMove
-BattleScript_1D8F0F: @ 81D8F0F
- handlelearnnewmove BattleScript_1D8F4F, BattleScript_1D8F61, 0
+BattleScript_TryLearnMoveLoop: @ 81D8F0F
+ handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, 0
-BattleScript_1D8F19: @ 81D8F19
+BattleScript_AskToLearnMove: @ 81D8F19
buffermovetolearn
printstring BATTLE_TEXT_TryingToLearnMove
printstring BATTLE_TEXT_CantLearnMore
printstring BATTLE_TEXT_DeleteMove
waitstate
- setbyte gSharedMem + 0x1601A, 0
- yesnoboxlearnmove BattleScript_1D8F46
+ setbyte sLEARNMOVE_STATE, 0
+ yesnoboxlearnmove BattleScript_ForgotAndLearnedNewMove
printstring BATTLE_TEXT_StopLearning
waitstate
- setbyte gSharedMem + 0x1601A, 0
- yesnoboxstoplearningmove BattleScript_1D8F19
+ setbyte sLEARNMOVE_STATE, 0
+ yesnoboxstoplearningmove BattleScript_AskToLearnMove
printstring BATTLE_TEXT_DidNotLearn
- goto BattleScript_1D8F0F
+ goto BattleScript_TryLearnMoveLoop
-BattleScript_1D8F46: @ 81D8F46
+BattleScript_ForgotAndLearnedNewMove: @ 81D8F46
printstring BATTLE_TEXT_MoveForget123
printstring BATTLE_TEXT_DeletedMove
printstring BATTLE_TEXT_MoveForgetAnd
-BattleScript_1D8F4F: @ 81D8F4F
+BattleScript_LearnedNewMove: @ 81D8F4F
buffermovetolearn
- fanfare 0xf10016f
- attackcanceler
+ fanfare BGM_FANFA1
+ printstring BATTLE_TEXT_LearnedMove
waitmessage 64
updatechoicemoveonlvlup USER
- goto BattleScript_1D8F0F
+ goto BattleScript_TryLearnMoveLoop
-BattleScript_1D8F61: @ 81D8F61
+BattleScript_LearnMoveReturn: @ 81D8F61
return
-gUnknown_081D8F62:: @ 81D8F62
- printfromtable BattleTextList_401534
+BattleScript_RainContinuesOrEnds:: @ 81D8F62
+ printfromtable gRainContinuesStringIds
waitmessage 64
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D8F7C
- playanimation USER, B_ANIM_RAIN_CONTINUES, 0x0
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_RainContinuesOrEndsEnd
+ playanimation USER, B_ANIM_RAIN_CONTINUES, NULL
-BattleScript_1D8F7C: @ 81D8F7C
+BattleScript_RainContinuesOrEndsEnd: @ 81D8F7C
end2
-gUnknown_081D8F7D:: @ 81D8F7D
- printfromtable BattleTextList_401528
+BattleScript_DamagingWeatherContinues:: @ 81D8F7D
+ printfromtable gSandStormHailContinuesStringIds
waitmessage 64
- playanimation2 1, gSharedMem + 0x160A4, 0x0
+ playanimation2 USER, sANIM_ARG1, NULL
setbyte gBattleCommunication, 0
-BattleScript_1D8F95: @ 81D8F95
+BattleScript_DamagingWeatherLoop: @ 81D8F95
copyarraywithindex gBankAttacker, gTurnOrder, gBattleCommunication, 1
weatherdamage
- jumpifword 0, gBattleMoveDamage, 0x0, BattleScript_1D8FD6
- printfromtable BattleTextList_40152C
+ jumpifword EQUAL, gBattleMoveDamage, 0x0, BattleScript_DamagingWeatherLoopIncrement
+ printfromtable gSandStormHailDmgStringIds
waitmessage 64
- orword gHitMarker, 0x1100120
+ orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
effectivenesssound
hitanimation USER
healthbarupdate USER
datahpupdate USER
- tryfaintmon USER, 0, 0x0
- atk24 BattleScript_1D8FD6
+ tryfaintmon USER, FALSE, NULL
+ atk24 BattleScript_DamagingWeatherLoopIncrement
-BattleScript_1D8FD6: @ 81D8FD6
- jumpifbyte 1, gBattleOutcome, 0, BattleScript_1D8FF5
+BattleScript_DamagingWeatherLoopIncrement: @ 81D8FD6
+ jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_DamagingWeatherContinuesEnd
addbyte gBattleCommunication, 1
- jumpifarraynotequal gBattleCommunication, gNoOfAllBanks, 1, BattleScript_1D8F95
+ jumpifbytenotequal gBattleCommunication, gNoOfAllBanks, BattleScript_DamagingWeatherLoop
-BattleScript_1D8FF5: @ 81D8FF5
- bicword gHitMarker, 0x1100120
+BattleScript_DamagingWeatherContinuesEnd: @ 81D8FF5
+ bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE
end2
-gUnknown_081D8FFF:: @ 81D8FFF
- printfromtable BattleTextList_401530
+BattleScript_SandStormHailEnds:: @ 81D8FFF
+ printfromtable gSandStormHailEndStringIds
waitmessage 64
end2
-gUnknown_081D9008:: @ 81D9008
+BattleScript_SunlightContinues:: @ 81D9008
printstring BATTLE_TEXT_SunStrong
waitmessage 64
- playanimation USER, B_ANIM_SUN_CONTINUES, 0x0
+ playanimation USER, B_ANIM_SUN_CONTINUES, NULL
end2
-gUnknown_081D9016:: @ 81D9016
+BattleScript_SunlightFaded:: @ 81D9016
printstring BATTLE_TEXT_SunFaded
waitmessage 64
end2
-gUnknown_081D901D:: @ 81D901D
- printfromtable BattleTextList_4015EE
+BattleScript_OverworldWeatherStarts:: @ 81D901D
+ printfromtable gWeatherContinuesStringIds
waitmessage 64
- playanimation2 1, gSharedMem + 0x160A4, 0x0
+ playanimation2 USER, sANIM_ARG1, NULL
end3
-gUnknown_081D9030:: @ 81D9030
+BattleScript_SideStatusWoreOff:: @ 81D9030
printstring BATTLE_TEXT_WoreOff
waitmessage 64
end2
-BattleScript_1D9037: @ 81D9037
+BattleScript_SafeguardProtected: @ 81D9037
pause 32
printstring BATTLE_TEXT_SafeguardActive
waitmessage 64
end2
-gUnknown_081D9041:: @ 81D9041
+BattleScript_SafeguardEnds:: @ 81D9041
pause 32
printstring BATTLE_TEXT_SafeguardFaded
waitmessage 64
end2
BattleScript_LeechSeedTurnDrain:: @ 81D904B
- playanimation USER, B_ANIM_LEECH_SEED_DRAIN, gSharedMem + 0x160A4
- orword gHitMarker, 0x100100
+ playanimation USER, B_ANIM_LEECH_SEED_DRAIN, sANIM_ARG1
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
- copyarray gBattleMoveDamage, gHP_dealt, 4
- jumpifability USER, ABILITY_LIQUID_OOZE, BattleScript_1D907D
+ copyword gBattleMoveDamage, gHP_dealt
+ jumpifability USER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedTurnPrintLiquidOoze
manipulatedamage 0
- setbyte gUnknown_02024D1F + 0x4, 3
- goto BattleScript_1D9083
+ setbyte cMULTISTRING_CHOOSER, 3
+ goto BattleScript_LeechSeedTurnPrintAndUpdateHp
-BattleScript_1D907D: @ 81D907D
- setbyte gUnknown_02024D1F + 0x4, 4
+BattleScript_LeechSeedTurnPrintLiquidOoze: @ 81D907D
+ setbyte cMULTISTRING_CHOOSER, 4
-BattleScript_1D9083: @ 81D9083
- orword gHitMarker, 0x100100
+BattleScript_LeechSeedTurnPrintAndUpdateHp: @ 81D9083
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate TARGET
datahpupdate TARGET
- printfromtable BattleTextList_40154C
+ printfromtable gLeechSeedStringIds
waitmessage 64
- tryfaintmon USER, 0, 0x0
- tryfaintmon TARGET, 0, 0x0
+ tryfaintmon USER, FALSE, NULL
+ tryfaintmon TARGET, FALSE, NULL
end2
BattleScript_BideStoringEnergy:: @ 81D90A7
printstring BATTLE_TEXT_StoringEnergy
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_BideAttack:: @ 81D90B2
printstring BATTLE_TEXT_UnleashedEnergy
waitmessage 64
- accuracycheck BattleScript_1D6F77, 0
+ accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE
typecalc
- bicbyte gBattleMoveFlags, 6
- copyarray gBattleMoveDamage, gSharedMem + 0x16090, 4
+ bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
+ copyword gBattleMoveDamage, sBIDE_DMG
adjustsetdamage
- setbyte gSharedMem + 0x16002, 1
+ setbyte sANIM_TURN, 1
attackanimation
waitanimation
effectivenesssound
@@ -3360,32 +3356,32 @@ BattleScript_BideAttack:: @ 81D90B2
datahpupdate TARGET
resultmessage
waitmessage 64
- tryfaintmon TARGET, 0, 0x0
- goto BattleScript_EndTurn
+ tryfaintmon TARGET, FALSE, NULL
+ goto BattleScript_MoveEnd
BattleScript_BideNoEnergyToAttack:: @ 81D90F1
printstring BATTLE_TEXT_UnleashedEnergy
waitmessage 64
goto BattleScript_ButItFailed
-gUnknown_081D90FC:: @ 81D90FC
+BattleScript_SuccessForceOut:: @ 81D90FC
attackanimation
waitanimation
switchoutabilities TARGET
returntoball TARGET
waitstate
- jumpifhalfword 4, gBattleTypeFlags, 8, BattleScript_1D9116
+ jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_TrainerBattleForceOut
setbyte gBattleOutcome, 5
finishaction
-BattleScript_1D9116: @ 81D9116
+BattleScript_TrainerBattleForceOut: @ 81D9116
getswitchedmondata TARGET
switchindataupdate TARGET
switchinanim TARGET, 0
waitstate
printstring BATTLE_TEXT_DraggedOut
switchineffects TARGET
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_MistProtected:: @ 81D9128
pause 32
@@ -3393,7 +3389,7 @@ BattleScript_MistProtected:: @ 81D9128
waitmessage 64
return
-gUnknown_081D9132:: @ 81D9132
+BattleScript_RageIsBuilding:: @ 81D9132
printstring BATTLE_TEXT_RageBuilding
waitmessage 64
return
@@ -3401,7 +3397,7 @@ gUnknown_081D9132:: @ 81D9132
BattleScript_MoveUsedIsDisabled:: @ 81D9139
printstring BATTLE_TEXT_MoveIsDisabled
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_MoveSelectionDisabledMove:: @ 81D9144
printselectionstring BATTLE_TEXT_MoveIsDisabled
@@ -3417,58 +3413,58 @@ BattleScript_EncoredNoMore:: @ 81D914F
waitmessage 64
end2
-gUnknown_081D9156:: @ 81D9156
+BattleScript_DestinyBondTakesLife:: @ 81D9156
printstring BATTLE_TEXT_DestinyBondTaken
waitmessage 64
- orword gHitMarker, 0x100100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
- tryfaintmon USER, 0, 0x0
+ tryfaintmon USER, FALSE, NULL
return
-gUnknown_081D9171:: @ 81D9171
- orword gHitMarker, 0x100100
+BattleScript_SpikesOnAttacker:: @ 81D9171
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
- call BattleScript_1D91FB
- tryfaintmon USER, 0, 0x0
- tryfaintmon USER, 1, BattleScript_1D9192
+ call BattleScript_PrintHurtBySpikes
+ tryfaintmon USER, FALSE, NULL
+ tryfaintmon USER, TRUE, BattleScript_SpikesOnAttackerFainted
return
-BattleScript_1D9192: @ 81D9192
- setbyte gSharedMem + 0x1600F, 0
- getexp 1
- goto gUnknown_081D8C7B
+BattleScript_SpikesOnAttackerFainted: @ 81D9192
+ setbyte sGIVEEXP_STATE, 0
+ getexp USER
+ goto BattleScript_HandleFaintedMon
-gUnknown_081D919F:: @ 81D919F
- orword gHitMarker, 0x100100
+BattleScript_SpikesOnTarget:: @ 81D919F
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate TARGET
datahpupdate TARGET
- call BattleScript_1D91FB
- tryfaintmon TARGET, 0, 0x0
- tryfaintmon TARGET, 1, BattleScript_1D91C0
+ call BattleScript_PrintHurtBySpikes
+ tryfaintmon TARGET, FALSE, NULL
+ tryfaintmon TARGET, TRUE, BattleScript_SpikesOnTargetFainted
return
-BattleScript_1D91C0: @ 81D91C0
- setbyte gSharedMem + 0x1600F, 0
- getexp 0
- goto gUnknown_081D8C7B
+BattleScript_SpikesOnTargetFainted: @ 81D91C0
+ setbyte sGIVEEXP_STATE, 0
+ getexp TARGET
+ goto BattleScript_HandleFaintedMon
-gUnknown_081D91CD:: @ 81D91CD
- orword gHitMarker, 0x100100
+BattleScript_SpikesOngBank1:: @ 81D91CD
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate 3
datahpupdate 3
- call BattleScript_1D91FB
- tryfaintmon 3, 0, 0x0
- tryfaintmon 3, 1, BattleScript_1D91EE
+ call BattleScript_PrintHurtBySpikes
+ tryfaintmon GBANK_1, FALSE, NULL
+ tryfaintmon GBANK_1, TRUE, BattleScript_SpikesOngBank1Fainted
return
-BattleScript_1D91EE: @ 81D91EE
- setbyte gSharedMem + 0x1600F, 0
+BattleScript_SpikesOngBank1Fainted: @ 81D91EE
+ setbyte sGIVEEXP_STATE, 0
getexp 3
- goto gUnknown_081D8C7B
+ goto BattleScript_HandleFaintedMon
-BattleScript_1D91FB: @ 81D91FB
+BattleScript_PrintHurtBySpikes: @ 81D91FB
printstring BATTLE_TEXT_SpikesHurt
waitmessage 64
return
@@ -3476,10 +3472,10 @@ BattleScript_1D91FB: @ 81D91FB
BattleScript_PerishSongHits:: @ 81D9202
printstring BATTLE_TEXT_PerishSongFell
waitmessage 64
- orword gHitMarker, 0x100100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
- tryfaintmon USER, 0, 0x0
+ tryfaintmon USER, FALSE, NULL
end2
BattleScript_PerishSongTimerGoesDown:: @ 81D921D
@@ -3488,45 +3484,45 @@ BattleScript_PerishSongTimerGoesDown:: @ 81D921D
end2
BattleScript_AllStatsUp:: @ 81D9224
- jumpifstat USER, 3, 1, 12, BattleScript_1D9251
- jumpifstat USER, 3, 2, 12, BattleScript_1D9251
- jumpifstat USER, 3, 3, 12, BattleScript_1D9251
- jumpifstat USER, 3, 4, 12, BattleScript_1D9251
- jumpifstat USER, 0, 5, 12, BattleScript_1D92BF
-
-BattleScript_1D9251: @ 81D9251
- setbyte gSharedMem + 0x160DC, 0
+ jumpifstat USER, LESS_THAN, ATTACK, 12, BattleScript_AllStatsUpAtk
+ jumpifstat USER, LESS_THAN, DEFENSE, 12, BattleScript_AllStatsUpAtk
+ jumpifstat USER, LESS_THAN, SPEED, 12, BattleScript_AllStatsUpAtk
+ jumpifstat USER, LESS_THAN, SP_ATTACK, 12, BattleScript_AllStatsUpAtk
+ jumpifstat USER, EQUAL, SP_DEFENSE, 12, BattleScript_AllStatsUpRet
+
+BattleScript_AllStatsUpAtk: @ 81D9251
+ setbyte sFIELD_1B, 0
playstatchangeanimation USER, 62, 0
- setbyte gSharedMem + 0x1601E, 17
- statbuffchange 65, BattleScript_1D926F
- printfromtable BattleTextList_401570
+ setstatchanger ATTACK, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpDef
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D926F: @ 81D926F
- setbyte gSharedMem + 0x1601E, 18
- statbuffchange 65, BattleScript_1D9283
- printfromtable BattleTextList_401570
+BattleScript_AllStatsUpDef: @ 81D926F
+ setstatchanger DEFENSE, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpeed
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D9283: @ 81D9283
- setbyte gSharedMem + 0x1601E, 19
- statbuffchange 65, BattleScript_1D9297
- printfromtable BattleTextList_401570
+BattleScript_AllStatsUpSpeed: @ 81D9283
+ setstatchanger SPEED, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpAtk
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D9297: @ 81D9297
- setbyte gSharedMem + 0x1601E, 20
- statbuffchange 65, BattleScript_1D92AB
- printfromtable BattleTextList_401570
+BattleScript_AllStatsUpSpAtk: @ 81D9297
+ setstatchanger SP_ATTACK, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpDef
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D92AB: @ 81D92AB
- setbyte gSharedMem + 0x1601E, 21
- statbuffchange 65, BattleScript_1D92BF
- printfromtable BattleTextList_401570
+BattleScript_AllStatsUpSpDef: @ 81D92AB
+ setstatchanger SP_DEFENSE, 1, FALSE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpRet
+ printfromtable gStatUpStringIds
waitmessage 64
-BattleScript_1D92BF: @ 81D92BF
+BattleScript_AllStatsUpRet: @ 81D92BF
return
BattleScript_RapidSpinAway:: @ 81D92C0
@@ -3548,26 +3544,26 @@ BattleScript_SpikesFree:: @ 81D92D0
waitmessage 64
return
-BattleScript_FutureSightHits:: @ 81D92D7
+BattleScript_MonTookFutureAttack:: @ 81D92D7
printstring BATTLE_TEXT_TookAttack
waitmessage 64
- jumpifbyte 1, gUnknown_02024D1F + 0x4, 0, BattleScript_1D92F4
- accuracycheck BattleScript_1D934B, 248
- goto BattleScript_1D92FB
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_CheckDoomDesireMiss
+ accuracycheck BattleScript_FutureAttackMiss, 248
+ goto BattleScript_FutureAttackAnimate
-BattleScript_1D92F4: @ 81D92F4
- accuracycheck BattleScript_1D934B, 353
+BattleScript_CheckDoomDesireMiss: @ 81D92F4
+ accuracycheck BattleScript_FutureAttackMiss, 353
-BattleScript_1D92FB: @ 81D92FB
+BattleScript_FutureAttackAnimate: @ 81D92FB
adjustnormaldamage2
- jumpifbyte 1, gUnknown_02024D1F + 0x4, 0, BattleScript_1D9313
- playanimation USER, B_ANIM_FUTURE_SIGHT_HIT, 0x0
- goto BattleScript_1D931A
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_FutureHitAnimDoomDesire
+ playanimation USER, B_ANIM_FUTURE_SIGHT_HIT, NULL
+ goto BattleScript_DoFutureAttackHit
-BattleScript_1D9313: @ 81D9313
- playanimation USER, B_ANIM_DOOM_DESIRE_HIT, 0x0
+BattleScript_FutureHitAnimDoomDesire: @ 81D9313
+ playanimation USER, B_ANIM_DOOM_DESIRE_HIT, NULL
-BattleScript_1D931A: @ 81D931A
+BattleScript_DoFutureAttackHit: @ 81D931A
effectivenesssound
hitanimation TARGET
waitstate
@@ -3575,21 +3571,21 @@ BattleScript_1D931A: @ 81D931A
datahpupdate TARGET
resultmessage
waitmessage 64
- tryfaintmon TARGET, 0, 0x0
- atk24 BattleScript_1D9332
+ tryfaintmon TARGET, FALSE, NULL
+ atk24 BattleScript_FutureAttackEnd
-BattleScript_1D9332: @ 81D9332
- setbyte gSharedMem + 0x1600C, 0
+BattleScript_FutureAttackEnd: @ 81D9332
+ setbyte sMOVEEND_STATE, 0
moveend 1, 0
- setbyte gSharedMem + 0x1600C, 8
+ setbyte sMOVEEND_STATE, 8
moveend 2, 14
setbyte gBattleMoveFlags, 0
end2
-BattleScript_1D934B: @ 81D934B
+BattleScript_FutureAttackMiss: @ 81D934B
pause 32
setbyte gBattleMoveFlags, 0
- orbyte gBattleMoveFlags, 32
+ orbyte gBattleMoveFlags, MOVESTATUS_FAILED
resultmessage
waitmessage 64
setbyte gBattleMoveFlags, 0
@@ -3608,14 +3604,14 @@ BattleScript_NoPPForMove:: @ 81D936D
pause 32
printstring BATTLE_TEXT_NoPP2
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_MoveSelectionTormented:: @ 81D937C
printselectionstring BATTLE_TEXT_TormentNoUse
endselectionscript
printstring BATTLE_TEXT_TormentNoUse
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_MoveSelectionTaunted:: @ 81D938B
printselectionstring BATTLE_TEXT_TauntNoUse
@@ -3624,21 +3620,21 @@ BattleScript_MoveSelectionTaunted:: @ 81D938B
BattleScript_MoveUsedIsTaunted:: @ 81D938F
printstring BATTLE_TEXT_TauntNoUse
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_WishComesTrue:: @ 81D939A
- trywish 1, BattleScript_1D93C1
- playanimation TARGET, B_ANIM_WISH_HEAL, 0x0
+ trywish 1, BattleScript_WishButFullHp
+ playanimation TARGET, B_ANIM_WISH_HEAL, NULL
printstring BATTLE_TEXT_WishTrue
waitmessage 64
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate TARGET
datahpupdate TARGET
printstring BATTLE_TEXT_RegainedHealth
waitmessage 64
end2
-BattleScript_1D93C1: @ 81D93C1
+BattleScript_WishButFullHp: @ 81D93C1
printstring BATTLE_TEXT_WishTrue
waitmessage 64
pause 32
@@ -3647,43 +3643,43 @@ BattleScript_1D93C1: @ 81D93C1
end2
BattleScript_IngrainTurnHeal:: @ 81D93D1
- playanimation USER, B_ANIM_INGRAIN_HEAL, 0x0
+ playanimation USER, B_ANIM_INGRAIN_HEAL, NULL
printstring BATTLE_TEXT_AbsorbNutrients
waitmessage 64
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
end2
-BattleScript_1D93EC: @ 81D93EC
+BattleScript_PrintMonIsRooted: @ 81D93EC
pause 32
printstring BATTLE_TEXT_AnchoredItself
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_AtkDefDown:: @ 81D93FA
- setbyte gSharedMem + 0x160DC, 0
+ setbyte sFIELD_1B, 0
playstatchangeanimation USER, 6, 13
playstatchangeanimation USER, 2, 9
- setbyte gSharedMem + 0x1601E, 145
- statbuffchange 193, BattleScript_1D9427
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D9427
- printfromtable BattleTextList_40157C
+ setstatchanger ATTACK, 1, TRUE
+ statbuffchange AFFECTS_USER | CERTAIN | 0x1, BattleScript_1D9427
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_1D9427
+ printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D9427: @ 81D9427
playstatchangeanimation USER, 4, 9
- setbyte gSharedMem + 0x1601E, 146
- statbuffchange 193, BattleScript_1D944A
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D944A
- printfromtable BattleTextList_40157C
+ setstatchanger DEFENSE, 1, TRUE
+ statbuffchange AFFECTS_USER | CERTAIN | 0x1, BattleScript_1D944A
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_1D944A
+ printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D944A: @ 81D944A
return
BattleScript_KnockedOff:: @ 81D944B
- playanimation TARGET, B_ANIM_ITEM_KNOCKOFF, 0x0
+ playanimation TARGET, B_ANIM_ITEM_KNOCKOFF, NULL
printstring BATTLE_TEXT_KnockedOffItem
waitmessage 64
return
@@ -3691,13 +3687,13 @@ BattleScript_KnockedOff:: @ 81D944B
BattleScript_MoveUsedIsImprisoned:: @ 81D9459
printstring BATTLE_TEXT_SealedNoUse
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_MoveSelectionImprisoned:: @ 81D9464
printselectionstring BATTLE_TEXT_SealedNoUse
endselectionscript
-gUnknown_081D9468:: @ 81D9468
+BattleScript_SelectingImprisionedMoveInPalace:: @ 81D9468
printstring BATTLE_TEXT_GrudgeLosePP
waitmessage 64
return
@@ -3708,7 +3704,7 @@ BattleScript_MagicCoatBounce:: @ 81D946F
pause 32
printstring BATTLE_TEXT_MagicCoatBounce
waitmessage 64
- orword gHitMarker, 0x800c00
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
setmagiccoattarget USER
return
@@ -3716,10 +3712,10 @@ BattleScript_SnatchedMove:: @ 81D9487
attackstring
ppreduce
snatchsetbanks
- playanimation TARGET, B_ANIM_SNATCH_MOVE, 0x0
+ playanimation TARGET, B_ANIM_SNATCH_MOVE, NULL
printstring BATTLE_TEXT_SnatchedMove
waitmessage 64
- orword gHitMarker, 0x800c00
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000
atk5f
return
@@ -3734,12 +3730,12 @@ BattleScript_OneHitKOMsg:: @ 81D94A9
return
BattleScript_SAtkDown2:: @ 81D94B0
- setbyte gSharedMem + 0x160DC, 0
+ setbyte sFIELD_1B, 0
playstatchangeanimation USER, 16, 11
- setbyte gSharedMem + 0x1601E, 164
- statbuffchange 193, BattleScript_1D94D9
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 2, BattleScript_1D94D9
- printfromtable BattleTextList_40157C
+ setstatchanger SP_ATTACK, 2, TRUE
+ statbuffchange AFFECTS_USER | CERTAIN | 0x1, BattleScript_1D94D9
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 2, BattleScript_1D94D9
+ printfromtable gStatDownStringIds
waitmessage 64
BattleScript_1D94D9: @ 81D94D9
@@ -3748,7 +3744,7 @@ BattleScript_1D94D9: @ 81D94D9
BattleScript_FocusPunchSetUp:: @ 81D94DA
printstring BATTLE_TEXT_Terminator2
waitmessage 1
- playanimation USER, B_ANIM_FOCUS_PUNCH_SET_UP, 0x0
+ playanimation USER, B_ANIM_FOCUS_PUNCH_SET_UP, NULL
printstring BATTLE_TEXT_TightenFocus
waitmessage 64
end2
@@ -3757,79 +3753,79 @@ BattleScript_MoveUsedIsAsleep:: @ 81D94EE
printstring BATTLE_TEXT_FastAsleep
waitmessage 64
statusanimation USER
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_MoveUsedWokeUp:: @ 81D94FB
- bicword gHitMarker, 0x10
- printfromtable BattleTextList_401562
+ bicword gHitMarker, HITMARKER_x10
+ printfromtable gWokeUpStringIds
waitmessage 64
- updatestatusicon 1
+ updatestatusicon USER
return
-gUnknown_081D950F:: @ 81D950F
+BattleScript_MonWokeUpInUproar:: @ 81D950F
printstring BATTLE_TEXT_UproarWoke
waitmessage 64
- updatestatusicon 1
+ updatestatusicon USER
end2
BattleScript_PoisonTurnDmg:: @ 81D9518
printstring BATTLE_TEXT_PoisonHurt
waitmessage 64
-BattleScript_1D951E: @ 81D951E
+BattleScript_DoStatusTurnDmg: @ 81D951E
statusanimation USER
-BattleScript_1D9520: @ 81D9520
- orword gHitMarker, 0x100100
+BattleScript_DoTurnDmg: @ 81D9520
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
- tryfaintmon USER, 0, 0x0
- atk24 BattleScript_1D9539
+ tryfaintmon USER, FALSE, NULL
+ atk24 BattleScript_DoTurnDmgEnd
-BattleScript_1D9539: @ 81D9539
+BattleScript_DoTurnDmgEnd: @ 81D9539
end2
BattleScript_BurnTurnDmg:: @ 81D953A
printstring BATTLE_TEXT_BurnHurt
waitmessage 64
- goto BattleScript_1D951E
+ goto BattleScript_DoStatusTurnDmg
BattleScript_MoveUsedIsFrozen:: @ 81D9545
printstring BATTLE_TEXT_FrozenSolid
waitmessage 64
statusanimation USER
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_MoveUsedUnfroze:: @ 81D9552
- printfromtable BattleTextList_4015C4
+ printfromtable gGotDefrostedStringIds
waitmessage 64
- updatestatusicon 1
+ updatestatusicon USER
return
-gUnknown_081D955D:: @ 81D955D
+BattleScript_DefrostedViaFireMove:: @ 81D955D
printstring BATTLE_TEXT_DefendingDefrosted
waitmessage 64
- updatestatusicon 0
+ updatestatusicon TARGET
return
BattleScript_MoveUsedIsParalyzed:: @ 81D9566
printstring BATTLE_TEXT_Paralyzed3
waitmessage 64
statusanimation USER
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_MoveUsedFlinched:: @ 81D9573
printstring BATTLE_TEXT_Flinched
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-gUnknown_081D957E:: @ 81D957E
- printfromtable BattleTextList_40155A
+BattleScript_PrintUproarOverTurns:: @ 81D957E
+ printfromtable gUproarOverTurnStringIds
waitmessage 64
end2
BattleScript_ThrashConfuses:: @ 81D9587
- chosenstatusanimation 1, 1, S_CONFUSED
+ chosenstatus2animation USER, STATUS2_CONFUSION
printstring BATTLE_TEXT_FatigueConfuse
waitmessage 64
end2
@@ -3837,10 +3833,10 @@ BattleScript_ThrashConfuses:: @ 81D9587
BattleScript_MoveUsedIsConfused:: @ 81D9595
printstring BATTLE_TEXT_Confused
waitmessage 64
- status2animation 1, 0x7
- jumpifbyte 0, gUnknown_02024D1F + 0x4, 0, BattleScript_1D95D3
+ status2animation USER, STATUS2_CONFUSION
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0, BattleScript_MoveUsedIsConfusedRet
-BattleScript_1D95AC: @ 81D95AC
+BattleScript_DoSelfConfusionDmg: @ 81D95AC
cancelmultiturnmoves USER
adjustnormaldamage2
printstring BATTLE_TEXT_HurtItself
@@ -3848,13 +3844,13 @@ BattleScript_1D95AC: @ 81D95AC
effectivenesssound
hitanimation USER
waitstate
- orword gHitMarker, 0x100100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
- tryfaintmon USER, 0, 0x0
- goto BattleScript_EndTurn
+ tryfaintmon USER, FALSE, NULL
+ goto BattleScript_MoveEnd
-BattleScript_1D95D3: @ 81D95D3
+BattleScript_MoveUsedIsConfusedRet: @ 81D95D3
return
BattleScript_MoveUsedIsConfusedNoMore:: @ 81D95D4
@@ -3862,16 +3858,16 @@ BattleScript_MoveUsedIsConfusedNoMore:: @ 81D95D4
waitmessage 64
return
-gUnknown_081D95DB:: @ 81D95DB
+BattleScript_PrintPayDayMoneyString:: @ 81D95DB
printstring BATTLE_TEXT_PickedUpYen
waitmessage 64
return
BattleScript_WrapTurnDmg:: @ 81D95E2
- playanimation USER, B_ANIM_TURN_TRAP, gSharedMem + 0x160A4
+ playanimation USER, B_ANIM_TURN_TRAP, sANIM_ARG1
printstring BATTLE_TEXT_HurtBy
waitmessage 64
- goto BattleScript_1D9520
+ goto BattleScript_DoTurnDmg
BattleScript_WrapEnds:: @ 81D95F4
printstring BATTLE_TEXT_FreedFrom
@@ -3881,119 +3877,119 @@ BattleScript_WrapEnds:: @ 81D95F4
BattleScript_MoveUsedIsInLove:: @ 81D95FB
printstring BATTLE_TEXT_InLoveWith
waitmessage 64
- status2animation 1, 0xf0000
+ status2animation USER, STATUS2_INFATUATION
return
BattleScript_MoveUsedIsParalyzedCantAttack:: @ 81D9608
printstring BATTLE_TEXT_ImmobilizedBy
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_NightmareTurnDmg:: @ 81D9613
printstring BATTLE_TEXT_NightmareLock
waitmessage 64
- status2animation 1, Start
- goto BattleScript_1D9520
+ status2animation USER, STATUS2_NIGHTMARE
+ goto BattleScript_DoTurnDmg
BattleScript_CurseTurnDmg:: @ 81D9624
printstring BATTLE_TEXT_CurseAfflict
waitmessage 64
- status2animation 1, 0x10000000
- goto BattleScript_1D9520
+ status2animation USER, STATUS2_CURSED
+ goto BattleScript_DoTurnDmg
BattleScript_TargetPRLZHeal:: @ 81D9635
printstring BATTLE_TEXT_ParalysisHealed
waitmessage 64
- updatestatusicon 0
+ updatestatusicon TARGET
return
-BattleScript_1D963E:: @ 81D963E
- statusanimation 2
- printfromtable BattleTextList_4015B8
+BattleScript_MoveEffectSleep:: @ 81D963E
+ statusanimation EFFECT_BANK
+ printfromtable gFellAsleepStringIds
waitmessage 64
-BattleScript_1D9648: @ 81D9648
- updatestatusicon 2
+BattleScript_UpdateEffectStatusIconRet: @ 81D9648
+ updatestatusicon EFFECT_BANK
waitstate
return
BattleScript_YawnMakesAsleep:: @ 81D964C
- statusanimation 2
+ statusanimation EFFECT_BANK
printstring BATTLE_TEXT_FellAsleep
waitmessage 64
- updatestatusicon 2
+ updatestatusicon EFFECT_BANK
waitstate
makevisible 2
end2
-BattleScript_1D965A:: @ 81D965A
- statusanimation 2
- printfromtable BattleTextList_4015B0
+BattleScript_MoveEffectPoison:: @ 81D965A
+ statusanimation EFFECT_BANK
+ printfromtable gGotPoisonedStringIds
waitmessage 64
- goto BattleScript_1D9648
+ goto BattleScript_UpdateEffectStatusIconRet
-BattleScript_1D9669:: @ 81D9669
- statusanimation 2
- printfromtable BattleTextList_4015BC
+BattleScript_MoveEffectBurn:: @ 81D9669
+ statusanimation EFFECT_BANK
+ printfromtable gGotBurnedStringIds
waitmessage 64
- goto BattleScript_1D9648
+ goto BattleScript_UpdateEffectStatusIconRet
-BattleScript_1D9678:: @ 81D9678
- statusanimation 2
- printfromtable BattleTextList_4015C0
+BattleScript_MoveEffectFreeze:: @ 81D9678
+ statusanimation EFFECT_BANK
+ printfromtable gGotFrozenStringIds
waitmessage 64
- goto BattleScript_1D9648
+ goto BattleScript_UpdateEffectStatusIconRet
-BattleScript_1D9687:: @ 81D9687
- statusanimation 2
- printfromtable BattleTextList_4015B4
+BattleScript_MoveEffectParalysis:: @ 81D9687
+ statusanimation EFFECT_BANK
+ printfromtable gGotParalyzedStringIds
waitmessage 64
- goto BattleScript_1D9648
+ goto BattleScript_UpdateEffectStatusIconRet
-BattleScript_1D9696:: @ 81D9696
+BattleScript_MoveEffectUproar:: @ 81D9696
printstring BATTLE_TEXT_UproarCaused
waitmessage 64
return
-BattleScript_1D969D:: @ 81D969D
- statusanimation 2
+BattleScript_MoveEffectToxic:: @ 81D969D
+ statusanimation EFFECT_BANK
printstring BATTLE_TEXT_BadlyPoisoned
waitmessage 64
- goto BattleScript_1D9648
+ goto BattleScript_UpdateEffectStatusIconRet
-BattleScript_1D96AA:: @ 81D96AA
+BattleScript_MoveEffectPayDay:: @ 81D96AA
printstring BATTLE_TEXT_CoinScatter
waitmessage 64
return
-BattleScript_1D96B1:: @ 81D96B1
- printfromtable BattleTextList_401594
+BattleScript_MoveEffectWrap:: @ 81D96B1
+ printfromtable gWrappedStringIds
waitmessage 64
return
-BattleScript_1D96BA:: @ 81D96BA
- chosenstatusanimation 2, 1, S_CONFUSED
+BattleScript_MoveEffectConfusion:: @ 81D96BA
+ chosenstatus2animation EFFECT_BANK, STATUS2_CONFUSION
printstring BATTLE_TEXT_BecameConfused
waitmessage 64
return
-BattleScript_1D96C8:: @ 81D96C8
- jumpifhalfword 0, gCurrentMove, 165, BattleScript_1D96DB
- jumpifability USER, ABILITY_ROCK_HEAD, BattleScript_1D96F5
+BattleScript_MoveEffectRecoil33:: @ 81D96C8
+ jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil33
+ jumpifability USER, ABILITY_ROCK_HEAD, BattleScript_Recoil33End
-BattleScript_1D96DB: @ 81D96DB
- orword gHitMarker, 0x100100
+BattleScript_DoRecoil33: @ 81D96DB
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_HitRecoil
waitmessage 64
- tryfaintmon USER, 0, 0x0
+ tryfaintmon USER, FALSE, NULL
-BattleScript_1D96F5: @ 81D96F5
+BattleScript_Recoil33End: @ 81D96F5
return
BattleScript_ItemSteal:: @ 81D96F6
- playanimation TARGET, B_ANIM_ITEM_STEAL, 0x0
+ playanimation TARGET, B_ANIM_ITEM_STEAL, NULL
printstring BATTLE_TEXT_StoleSomething
waitmessage 64
return
@@ -4002,12 +3998,12 @@ BattleScript_DrizzleActivates:: @ 81D9704
pause 32
printstring BATTLE_TEXT_RainMade
waitstate
- playanimation 7, B_ANIM_RAIN_CONTINUES, 0x0
- call BattleScript_1D9761
+ playanimation 7, B_ANIM_RAIN_CONTINUES, NULL
+ call BattleScript_WeatherFormChanges
end3
BattleScript_SpeedBoostActivates:: @ 81D9718
- playanimation USER, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4
+ playanimation USER, B_ANIM_STATS_CHANGE, sANIM_ARG1
printstring BATTLE_TEXT_SpeedRisen
waitmessage 64
end3
@@ -4021,7 +4017,7 @@ BattleScript_TraceActivates:: @ 81D9726
BattleScript_RainDishActivates:: @ 81D9730
printstring BATTLE_TEXT_RestoredHPByItem
waitmessage 64
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
end3
@@ -4030,23 +4026,23 @@ BattleScript_SandstreamActivates:: @ 81D9744
pause 32
printstring BATTLE_TEXT_WhipSandstorm
waitstate
- playanimation 7, B_ANIM_SANDSTORM_CONTINUES, 0x0
- call BattleScript_1D9761
+ playanimation 7, B_ANIM_SANDSTORM_CONTINUES, NULL
+ call BattleScript_WeatherFormChanges
end3
BattleScript_ShedSkinActivates:: @ 81D9758
printstring BATTLE_TEXT_CuredProblem
waitmessage 64
- updatestatusicon 1
+ updatestatusicon USER
end3
-BattleScript_1D9761: @ 81D9761
- setbyte gSharedMem + 0x16003, 0
+BattleScript_WeatherFormChanges: @ 81D9761
+ setbyte sBANK, 0
-BattleScript_1D9767: @ 81D9767
+BattleScript_WeatherFormChangesLoop: @ 81D9767
trycastformdatachange
- addbyte gSharedMem + 0x16003, 1
- jumpifarraynotequal gSharedMem + 0x16003, gNoOfAllBanks, 1, BattleScript_1D9767
+ addbyte sBANK, 1
+ jumpifbytenotequal sBANK, gNoOfAllBanks, BattleScript_WeatherFormChangesLoop
return
BattleScript_CastformChange:: @ 81D977D
@@ -4069,18 +4065,18 @@ BattleScript_1D9792: @ 81D9792
gUnknown_081D9795:: @ 81D9795
setbyte gBankTarget, 0
- setbyte gSharedMem + 0x1601E, 145
+ setstatchanger ATTACK, 1, TRUE
BattleScript_1D97A1: @ 81D97A1
trygetintimidatetarget BattleScript_1D97EF
- jumpifstatus2 TARGET, S_SUBSTITUTE, BattleScript_1D97E4
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_1D97E4
jumpifability TARGET, ABILITY_CLEAR_BODY, BattleScript_1D97F0
jumpifability TARGET, ABILITY_HYPER_CUTTER, BattleScript_1D97F0
jumpifability TARGET, ABILITY_WHITE_SMOKE, BattleScript_1D97F0
statbuffchange 33, BattleScript_1D97E4
- jumpifbyte 2, gUnknown_02024D1F + 0x4, 1, BattleScript_1D97E4
+ jumpifbyte GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_1D97E4
setgraphicalstatchangevalues
- playanimation TARGET, B_ANIM_STATS_CHANGE, gSharedMem + 0x160A4
+ playanimation TARGET, B_ANIM_STATS_CHANGE, sANIM_ARG1
printstring BATTLE_TEXT_CutsAttack
waitmessage 64
@@ -4101,8 +4097,8 @@ BattleScript_DroughtActivates:: @ 81D97FE
pause 32
printstring BATTLE_TEXT_SunIntensified
waitstate
- playanimation 7, B_ANIM_SUN_CONTINUES, 0x0
- call BattleScript_1D9761
+ playanimation 7, B_ANIM_SUN_CONTINUES, NULL
+ call BattleScript_WeatherFormChanges
end3
BattleScript_TookAttack:: @ 81D9812
@@ -4110,20 +4106,20 @@ BattleScript_TookAttack:: @ 81D9812
pause 32
printstring BATTLE_TEXT_TookAttack2
waitmessage 64
- orword gHitMarker, 0x400
+ orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED
return
-gUnknown_081D9826:: @ 81D9826
+BattleScript_SturdyPreventsOHKO:: @ 81D9826
pause 32
printstring BATTLE_TEXT_ProtectedBy
pause 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-gUnknown_081D9834:: @ 81D9834
+BattleScript_DampStopsExplosion:: @ 81D9834
pause 32
printstring BATTLE_TEXT_PreventedBy
pause 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_MoveHPDrain_PPLoss:: @ 81D9842
ppreduce
@@ -4131,13 +4127,13 @@ BattleScript_MoveHPDrain_PPLoss:: @ 81D9842
BattleScript_MoveHPDrain:: @ 81D9843
attackstring
pause 32
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate TARGET
datahpupdate TARGET
printstring BATTLE_TEXT_HPRestoredUsing
waitmessage 64
- orbyte gBattleMoveFlags, 8
- goto BattleScript_EndTurn
+ orbyte gBattleMoveFlags, MOVESTATUS_NOTAFFECTED
+ goto BattleScript_MoveEnd
BattleScript_MoveHPDrain_FullHP_PPLoss:: @ 81D9865
ppreduce
@@ -4147,8 +4143,8 @@ BattleScript_MoveHPDrain_FullHP:: @ 81D9866
pause 32
printstring BATTLE_TEXT_MadeUseless
waitmessage 64
- orbyte gBattleMoveFlags, 8
- goto BattleScript_EndTurn
+ orbyte gBattleMoveFlags, MOVESTATUS_NOTAFFECTED
+ goto BattleScript_MoveEnd
BattleScript_FlashFireBoost_PPLoss:: @ 81D987B
ppreduce
@@ -4156,15 +4152,15 @@ BattleScript_FlashFireBoost_PPLoss:: @ 81D987B
BattleScript_FlashFireBoost:: @ 81D987C
attackstring
pause 32
- printfromtable BattleTextList_401648
+ printfromtable gFlashFireStringIds
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D988D: @ 81D988D
+BattleScript_AbilityPreventsPhasingOut: @ 81D988D
pause 32
printstring BATTLE_TEXT_AnchorsItself
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_AbilityNoStatLoss:: @ 81D989B
pause 32
@@ -4174,19 +4170,19 @@ BattleScript_AbilityNoStatLoss:: @ 81D989B
BattleScript_BRNPrevention:: @ 81D98A5
pause 32
- printfromtable BattleTextList_401630
+ printfromtable gBRNPreventionStringIds
waitmessage 64
return
BattleScript_PRLZPrevention:: @ 81D98B1
pause 32
- printfromtable BattleTextList_401636
+ printfromtable gPRLZPreventionStringIds
waitmessage 64
return
BattleScript_PSNPrevention:: @ 81D98BD
pause 32
- printfromtable BattleTextList_40163C
+ printfromtable gPSNPreventionStringIds
waitmessage 64
return
@@ -4194,19 +4190,19 @@ BattleScript_ObliviousPreventsAttraction:: @ 81D98C9
pause 32
printstring BATTLE_TEXT_PreventedRomance
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_FlinchPrevention:: @ 81D98D7
pause 32
printstring BATTLE_TEXT_PreventedFlinching
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
-BattleScript_1D98E5: @ 81D98E5
+BattleScript_OwnTempoPrevents: @ 81D98E5
pause 32
printstring BATTLE_TEXT_PreventedConfusion
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_SoundproofProtected:: @ 81D98F3
attackstring
@@ -4214,20 +4210,20 @@ BattleScript_SoundproofProtected:: @ 81D98F3
pause 32
printstring BATTLE_TEXT_BlocksOther
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_AbilityNoSpecificStatLoss:: @ 81D9903
pause 32
printstring BATTLE_TEXT_PreventedLoss
waitmessage 64
- setbyte gUnknown_02024D1F + 0x4, 3
+ setbyte cMULTISTRING_CHOOSER, 3
return
BattleScript_NoItemSteal:: @ 81D9913
pause 32
printstring BATTLE_TEXT_MadeIneffective
waitmessage 64
- goto BattleScript_EndTurn
+ goto BattleScript_MoveEnd
BattleScript_ColorChangeActivates:: @ 81D9921
printstring BATTLE_TEXT_MadeType
@@ -4235,16 +4231,16 @@ BattleScript_ColorChangeActivates:: @ 81D9921
return
BattleScript_RoughSkinActivates:: @ 81D9928
- orword gHitMarker, 0x100100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_HurtOther
waitmessage 64
- tryfaintmon USER, 0, 0x0
+ tryfaintmon USER, FALSE, NULL
return
BattleScript_CuteCharmActivates:: @ 81D9943
- status2animation 1, 0xf0000
+ status2animation USER, STATUS2_INFATUATION
printstring BATTLE_TEXT_InfatuatedPoke
waitmessage 64
return
@@ -4259,47 +4255,47 @@ BattleScript_SynchronizeActivates:: @ 81D9953
seteffectprimary
return
-gUnknown_081D9956:: @ 81D9956
+BattleScript_AbilityCuredStatus:: @ 81D9956
printstring BATTLE_TEXT_CuredOfProblem
waitmessage 64
- updatestatusicon 10
+ updatestatusicon SCRIPTING_BANK
return
gUnknown_081D995F:: @ 81D995F
printstring BATTLE_TEXT_IgnoredOrdersSLP
waitmessage 64
- setbyte gSharedMem + 0x1600C, 0
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
end
-gUnknown_081D996F:: @ 81D996F
+BattleScript_IgnoresAndUsesRandomMove:: @ 81D996F
printstring BATTLE_TEXT_IgnoredOrders
waitmessage 64
jumptorandomattack TARGET
BattleScript_MoveUsedLoafingAround:: @ 81D9977
- printfromtable BattleTextList_40160E
+ printfromtable gInobedientStringIds
waitmessage 64
- setbyte gSharedMem + 0x1600C, 0
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
end
-gUnknown_081D9989:: @ 81D9989
+BattleScript_IgnoresAndFallsAsleep:: @ 81D9989
printstring BATTLE_TEXT_BeganNap
waitmessage 64
- setbyte gUnknown_02024D1F + 0x2, 65
+ setmoveeffect EFFECT_SLEEP | AFFECTS_USER
seteffectprimary
- setbyte gSharedMem + 0x1600C, 0
+ setbyte sMOVEEND_STATE, 0
moveend 2, 16
end
gUnknown_081D99A0:: @ 81D99A0
printstring BATTLE_TEXT_WontObey
waitmessage 64
- goto BattleScript_1D95AC
+ goto BattleScript_DoSelfConfusionDmg
BattleScript_SubstituteFade:: @ 81D99AB
- playanimation TARGET, B_ANIM_SUBSTITUTE_FADE, 0x0
+ playanimation TARGET, B_ANIM_SUBSTITUTE_FADE, NULL
printstring BATTLE_TEXT_SubFaded
return
@@ -4308,11 +4304,11 @@ BattleScript_BerryCurePrlzEnd2:: @ 81D99B6
end2
BattleScript_BerryCureParRet:: @ 81D99BC
- playanimation 10, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredParalysis
waitmessage 64
- updatestatusicon 10
- removeitem 10
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
return
BattleScript_BerryCurePsnEnd2:: @ 81D99CE
@@ -4320,11 +4316,11 @@ BattleScript_BerryCurePsnEnd2:: @ 81D99CE
end2
BattleScript_BerryCurePsnRet:: @ 81D99D4
- playanimation 10, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredPoison
waitmessage 64
- updatestatusicon 10
- removeitem 10
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
return
BattleScript_BerryCureBrnEnd2:: @ 81D99E6
@@ -4332,11 +4328,11 @@ BattleScript_BerryCureBrnEnd2:: @ 81D99E6
end2
BattleScript_BerryCureBrnRet:: @ 81D99EC
- playanimation 10, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredBurn
waitmessage 64
- updatestatusicon 10
- removeitem 10
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
return
BattleScript_BerryCureFrzEnd2:: @ 81D99FE
@@ -4344,11 +4340,11 @@ BattleScript_BerryCureFrzEnd2:: @ 81D99FE
end2
BattleScript_BerryCureFrzRet:: @ 81D9A04
- playanimation 10, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredFreeze
waitmessage 64
- updatestatusicon 10
- removeitem 10
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
return
BattleScript_BerryCureSlpEnd2:: @ 81D9A16
@@ -4356,11 +4352,11 @@ BattleScript_BerryCureSlpEnd2:: @ 81D9A16
end2
BattleScript_BerryCureSlpRet:: @ 81D9A1C
- playanimation 10, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredSleep
waitmessage 64
- updatestatusicon 10
- removeitem 10
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
return
BattleScript_BerryCureConfusionEnd2:: @ 81D9A2E
@@ -4368,22 +4364,22 @@ BattleScript_BerryCureConfusionEnd2:: @ 81D9A2E
end2
BattleScript_BerryCureConfusionRet:: @ 81D9A34
- playanimation 10, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_CuredConfusion
waitmessage 64
- removeitem 10
+ removeitem SCRIPTING_BANK
return
-gUnknown_081D9A44:: @ 81D9A44
- call gUnknown_081D9A4A
+BattleScript_BerryCureChosenStatusEnd2:: @ 81D9A44
+ call BattleScript_BerryCureChosenStatusRet
end2
-gUnknown_081D9A4A:: @ 81D9A4A
- playanimation 10, B_ANIM_ITEM_EFFECT, 0x0
- printfromtable BattleTextList_40162C
+BattleScript_BerryCureChosenStatusRet:: @ 81D9A4A
+ playanimation 10, B_ANIM_ITEM_EFFECT, NULL
+ printfromtable gBerryEffectStringIds
waitmessage 64
- updatestatusicon 10
- removeitem 10
+ updatestatusicon SCRIPTING_BANK
+ removeitem SCRIPTING_BANK
return
BattleScript_WhiteHerbEnd2:: @ 81D9A5E
@@ -4391,24 +4387,24 @@ BattleScript_WhiteHerbEnd2:: @ 81D9A5E
end2
BattleScript_WhiteHerbRet:: @ 81D9A64
- playanimation 10, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation 10, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredStatus
waitmessage 64
- removeitem 10
+ removeitem SCRIPTING_BANK
return
BattleScript_ItemHealHP_RemoveItem:: @ 81D9A74
- playanimation USER, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredHealth
waitmessage 64
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
removeitem USER
end2
BattleScript_BerryPPHealEnd2:: @ 81D9A91
- playanimation USER, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredPP
waitmessage 64
removeitem USER
@@ -4419,10 +4415,10 @@ BattleScript_ItemHealHP_End2:: @ 81D9AA1
end2
BattleScript_ItemHealHP_Ret:: @ 81D9AA7
- playanimation USER, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredHPLittle
waitmessage 64
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
return
@@ -4432,43 +4428,43 @@ BattleScript_MoveSelectionChoiceBanded:: @ 81D9AC2
endselectionscript
BattleScript_HangedOnMsg:: @ 81D9AC6
- playanimation TARGET, B_ANIM_HANGED_ON, 0x0
+ playanimation TARGET, B_ANIM_HANGED_ON, NULL
printstring BATTLE_TEXT_FocusSash
waitmessage 64
return
BattleScript_BerryConfuseHealEnd2:: @ 81D9AD4
- playanimation USER, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_RestoredHealth
waitmessage 64
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_UnknownString2
waitmessage 64
- setbyte gUnknown_02024D1F + 0x2, 71
+ setmoveeffect EFFECT_CONFUSION | AFFECTS_USER
seteffectprimary
removeitem USER
end2
BattleScript_BerryStatRaiseEnd2:: @ 81D9AFE
- playanimation USER, B_ANIM_ITEM_EFFECT, 0x0
- statbuffchange 65, BattleScript_1D9B0B
+ playanimation USER, B_ANIM_ITEM_EFFECT, NULL
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_1D9B0B
BattleScript_1D9B0B: @ 81D9B0B
- setbyte gUnknown_02024D1F + 0x4, 4
+ setbyte cMULTISTRING_CHOOSER, 0x4
call BattleScript_StatUp
removeitem USER
end2
BattleScript_BerryFocusEnergyEnd2:: @ 81D9B19
- playanimation USER, B_ANIM_ITEM_EFFECT, 0x0
+ playanimation USER, B_ANIM_ITEM_EFFECT, NULL
printstring BATTLE_TEXT_HustleUse
waitmessage 64
removeitem USER
end2
-gUnknown_081D9B29:: @ 81D9B29
+BattleScript_ActionSelectionItemsCantBeUsed:: @ 81D9B29
printselectionstring BATTLE_TEXT_CantUseItems
endselectionscript
diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s
index c6112fdd3..26f28726d 100644
--- a/data/battle_scripts_2.s
+++ b/data/battle_scripts_2.s
@@ -1,3 +1,6 @@
+#include "constants/battle_constants.h"
+#include "constants/items.h"
+#include "constants/songs.h"
.include "asm/macros.inc"
.include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
@@ -7,91 +10,91 @@
.align 2
gBattlescriptsForBallThrow:: @ 81D9E48
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EBC
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
- .4byte BattleScript_1D9EA8
-
-gUnknown_081D9E7C:: @ 81D9E7C
- .4byte BattleScript_1D9F45
- .4byte BattleScript_1D9F4F
- .4byte BattleScript_1D9F4F
- .4byte BattleScript_1D9F7B
- .4byte BattleScript_1D9F9C
- .4byte BattleScript_1D9FBB
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_SafariBallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+ .4byte BattleScript_BallThrow
+
+gBattlescriptsForUsingItem:: @ 81D9E7C
+ .4byte BattleScript_PlayerUsesItem
+ .4byte BattleScript_OpponentUsesHealItem
+ .4byte BattleScript_OpponentUsesHealItem
+ .4byte BattleScript_OpponentUsesStatusCureItem
+ .4byte BattleScript_OpponentUsesXItem
+ .4byte BattleScript_OpponentUsesGuardSpecs
gBattlescriptsForRunningByItem:: @ 81D9E94
- .4byte BattleScript_1D9FDA
+ .4byte BattleScript_RunByUsingItem
gBattlescriptsForSafariActions:: @ 81D9E98
- .4byte BattleScript_1D9FE4
- .4byte BattleScript_1D9FEB
- .4byte BattleScript_1D9FF4
+ .4byte BattleScript_ActionWatchesCarefully
+ .4byte BattleScript_ActionGetNear
+ .4byte BattleScript_ActionThrowPokeblock
.4byte BattleScript_1DA00A
-BattleScript_1D9EA8: @ 81D9EA8
- jumpifhalfword 4, gBattleTypeFlags, 512, BattleScript_1D9EB8
+BattleScript_BallThrow: @ 81D9EA8
+ jumpifhalfword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_WALLY_TUTORIAL, BattleScript_BallThrowByWally
printstring BATTLE_TEXT_Used1
handleballthrow
-BattleScript_1D9EB8: @ 81D9EB8
+BattleScript_BallThrowByWally: @ 81D9EB8
printstring BATTLE_TEXT_TutorialUsed
handleballthrow
-BattleScript_1D9EBC: @ 81D9EBC
+BattleScript_SafariBallThrow: @ 81D9EBC
printstring BATTLE_TEXT_Used1
- updatestatusicon 1
+ updatestatusicon USER
handleballthrow
BattleScript_SuccessBallThrow:: @ 81D9EC2
- jumpifhalfword 0, gLastUsedItem, 5, BattleScript_1D9ED0
+ jumpifhalfword EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_PrintCaughtMonInfo
incrementgamestat 11
-BattleScript_1D9ED0: @ 81D9ED0
+BattleScript_PrintCaughtMonInfo: @ 81D9ED0
printstring BATTLE_TEXT_BallCaught1
- trysetcaughtmondexflags BattleScript_1D9EE3
+ trysetcaughtmondexflags BattleScript_TryNicknameCaughtMon
printstring BATTLE_TEXT_AddedToDex
waitstate
setbyte gBattleCommunication, 0
displaydexinfo
-BattleScript_1D9EE3: @ 81D9EE3
+BattleScript_TryNicknameCaughtMon: @ 81D9EE3
printstring BATTLE_TEXT_GiveNickname
waitstate
setbyte gBattleCommunication, 0
- trygivecaughtmonnick BattleScript_1D9EF8
+ trygivecaughtmonnick BattleScript_GiveCaughtMonEnd
printstring BATTLE_TEXT_SentToPC
waitmessage 64
-BattleScript_1D9EF8: @ 81D9EF8
+BattleScript_GiveCaughtMonEnd: @ 81D9EF8
givecaughtmon
- setbyte gBattleOutcome, 7
+ setbyte gBattleOutcome, BATTLE_CAUGHT
finishturn
BattleScript_WallyBallThrow:: @ 81D9F00
printstring BATTLE_TEXT_BallCaught2
- setbyte gBattleOutcome, 7
+ setbyte gBattleOutcome, BATTLE_CAUGHT
finishturn
BattleScript_ShakeBallThrow:: @ 81D9F0A
- printfromtable BattleTextList_4015E6
+ printfromtable gBallEscapeStringIds
waitmessage 64
- jumpifbyte 5, gBattleTypeFlags, 128, BattleScript_1D9F34
- jumpifbyte 1, gNumSafariBalls, 0, BattleScript_1D9F34
+ jumpifbyte NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_ShakeBallThrowEnd
+ jumpifbyte NOT_EQUAL, gNumSafariBalls, 0, BattleScript_ShakeBallThrowEnd
printstring BATTLE_TEXT_SafariOver
waitmessage 64
- setbyte gBattleOutcome, 8
+ setbyte gBattleOutcome, BATTLE_OUT_OF_BALLS
-BattleScript_1D9F34: @ 81D9F34
+BattleScript_ShakeBallThrowEnd: @ 81D9F34
finishaction
BattleScript_TrainerBallBlock:: @ 81D9F35
@@ -102,84 +105,84 @@ BattleScript_TrainerBallBlock:: @ 81D9F35
waitmessage 64
finishaction
-BattleScript_1D9F45: @ 81D9F45
- setbyte gSharedMem + 0x1600C, 15
+BattleScript_PlayerUsesItem: @ 81D9F45
+ setbyte sMOVEEND_STATE, 15
moveend 1, 0
end
-BattleScript_1D9F4F: @ 81D9F4F
+BattleScript_OpponentUsesHealItem: @ 81D9F4F
pause 48
- playse 1
+ playse SE_KAIFUKU
printstring BATTLE_TEXT_Used2
waitmessage 64
useitemonopponent
- orword gHitMarker, 0x100
+ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate USER
datahpupdate USER
printstring BATTLE_TEXT_RestoredHealth
waitmessage 64
- updatestatusicon 1
- setbyte gSharedMem + 0x1600C, 15
+ updatestatusicon USER
+ setbyte sMOVEEND_STATE, 15
moveend 1, 0
finishaction
-BattleScript_1D9F7B: @ 81D9F7B
+BattleScript_OpponentUsesStatusCureItem: @ 81D9F7B
pause 48
- playse 1
+ playse SE_KAIFUKU
printstring BATTLE_TEXT_Used2
waitmessage 64
useitemonopponent
- printfromtable BattleTextList_401620
+ printfromtable gTrainerItemCuredStatusStringIds
waitmessage 64
- updatestatusicon 1
- setbyte gSharedMem + 0x1600C, 15
+ updatestatusicon USER
+ setbyte sMOVEEND_STATE, 15
moveend 1, 0
finishaction
-BattleScript_1D9F9C: @ 81D9F9C
+BattleScript_OpponentUsesXItem: @ 81D9F9C
pause 48
- playse 1
+ playse SE_KAIFUKU
printstring BATTLE_TEXT_Used2
waitmessage 64
useitemonopponent
- printfromtable BattleTextList_401570
+ printfromtable gStatUpStringIds
waitmessage 64
- setbyte gSharedMem + 0x1600C, 15
+ setbyte sMOVEEND_STATE, 15
moveend 1, 0
finishaction
-BattleScript_1D9FBB: @ 81D9FBB
+BattleScript_OpponentUsesGuardSpecs: @ 81D9FBB
pause 48
- playse 1
+ playse SE_KAIFUKU
printstring BATTLE_TEXT_Used2
waitmessage 64
useitemonopponent
- printfromtable BattleTextList_4015A0
+ printfromtable gMistUsedStringIds
waitmessage 64
- setbyte gSharedMem + 0x1600C, 15
+ setbyte sMOVEEND_STATE, 15
moveend 1, 0
finishaction
-BattleScript_1D9FDA: @ 81D9FDA
+BattleScript_RunByUsingItem: @ 81D9FDA
playse 17
- setbyte gBattleOutcome, 4
+ setbyte gBattleOutcome, BATTLE_RAN
finishturn
-BattleScript_1D9FE4: @ 81D9FE4
+BattleScript_ActionWatchesCarefully: @ 81D9FE4
printstring BATTLE_TEXT_WatchingCarefully
waitmessage 64
end2
-BattleScript_1D9FEB: @ 81D9FEB
- printfromtable BattleTextList_401616
+BattleScript_ActionGetNear: @ 81D9FEB
+ printfromtable gSafariGetNearStringIds
waitmessage 64
end2
-BattleScript_1D9FF4: @ 81D9FF4
+BattleScript_ActionThrowPokeblock: @ 81D9FF4
printstring BATTLE_TEXT_ThrewBlock
waitmessage 64
playanimation USER, B_ANIM_POKEBLOCK_THROW, 0x0
- printfromtable BattleTextList_40161A
+ printfromtable gSafariPokeblockResultStringIds
waitmessage 64
end2
@@ -188,7 +191,7 @@ BattleScript_1DA00A: @ 81DA00A
waitmessage 64
returnatktoball
waitstate
- trainerslidein 0
+ trainerslidein TARGET
waitstate
printstring BATTLE_TEXT_WallyBall
waitmessage 64
diff --git a/include/battle.h b/include/battle.h
index dd44e0172..f34260e16 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -2,240 +2,7 @@
#define GUARD_BATTLE_H
#include "sprite.h"
-
-#define F_TARGET_SELECTED_POKEMON 0
-#define F_TARGET_SPECIAL (1 << 0)
-#define F_TARGET_UNK2 (1 << 1)
-#define F_TARGET_RANDOM (1 << 2)
-#define F_TARGET_BOTH_ENEMIES (1 << 3)
-#define F_TARGET_USER (1 << 4)
-#define F_TARGET_ALL_EXCEPT_USER (1 << 5)
-#define F_TARGET_ENEMY_SIDE (1 << 6)
-
-#define F_MAKES_CONTACT (1 << 0)
-#define F_AFFECTED_BY_PROTECT (1 << 1)
-#define F_AFFECTED_BY_MAGIC_COAT (1 << 2)
-#define F_AFFECTED_BY_SNATCH (1 << 3)
-#define F_MIRROR_MOVE_COMPATIBLE (1 << 4)
-#define F_AFFECTED_BY_KINGS_ROCK (1 << 5)
-
-#define BATTLE_TYPE_DOUBLE 0x0001
-#define BATTLE_TYPE_LINK 0x0002
-#define BATTLE_TYPE_WILD 0x0004
-#define BATTLE_TYPE_TRAINER 0x0008
-#define BATTLE_TYPE_FIRST_BATTLE 0x0010
-#define BATTLE_TYPE_20 0x0020
-#define BATTLE_TYPE_MULTI 0x0040
-#define BATTLE_TYPE_SAFARI 0x0080
-#define BATTLE_TYPE_BATTLE_TOWER 0x0100
-#define BATTLE_TYPE_WALLY_TUTORIAL 0x0200
-#define BATTLE_TYPE_ROAMER 0x0400
-#define BATTLE_TYPE_EREADER_TRAINER 0x0800
-#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000
-#define BATTLE_TYPE_LEGENDARY 0x2000
-#define BATTLE_TYPE_REGI 0x4000
-
-#define BATTLE_TYPE_LINK_DOUBLE (BATTLE_TYPE_MULTI | BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE)
-
-#define BATTLE_WON 0x1
-#define BATTLE_LOST 0x2
-#define BATTLE_DREW 0x3
-#define BATTLE_RAN 0x4
-#define BATTLE_PLAYER_TELEPORTED 0x5
-#define BATTLE_POKE_FLED 0x6
-#define BATTLE_CAUGHT 0x7
-#define BATTLE_OPPONENT_TELEPORTED 0xA
-
-#define AI_ACTION_DONE 0x0001
-#define AI_ACTION_FLEE 0x0002
-#define AI_ACTION_WATCH 0x0004
-#define AI_ACTION_DO_NOT_ATTACK 0x0008
-#define AI_ACTION_UNK5 0x0010
-#define AI_ACTION_UNK6 0x0020
-#define AI_ACTION_UNK7 0x0040
-#define AI_ACTION_UNK8 0x0080
-
-#define STATUS_SLEEP 0x7
-#define STATUS_POISON 0x8
-#define STATUS_BURN 0x10
-#define STATUS_FREEZE 0x20
-#define STATUS_PARALYSIS 0x40
-#define STATUS_TOXIC_POISON 0x80
-#define STATUS_TOXIC_COUNTER 0xF00
-
-#define STATUS_PSN_ANY ((STATUS_POISON | STATUS_TOXIC_POISON))
-#define STATUS_ANY ((STATUS_SLEEP | STATUS_POISON | STATUS_BURN | STATUS_FREEZE | STATUS_PARALYSIS | STATUS_TOXIC_POISON))
-
-#define STATUS2_CONFUSION 0x00000007
-#define STATUS2_FLINCHED 0x00000008
-#define STATUS2_UPROAR 0x00000070
-#define STATUS2_BIDE 0x00000300 //two bits 0x100 0x200
-#define STATUS2_LOCK_CONFUSE 0x00000C00
-#define STATUS2_MULTIPLETURNS 0x00001000
-#define STATUS2_WRAPPED 0x0000E000
-#define STATUS2_INFATUATION 0x000F0000
-#define STATUS2_FOCUS_ENERGY 0x00100000
-#define STATUS2_TRANSFORMED 0x00200000
-#define STATUS2_RECHARGE 0x00400000
-#define STATUS2_RAGE 0x00800000
-#define STATUS2_SUBSTITUTE 0x01000000
-#define STATUS2_DESTINY_BOND 0x02000000
-#define STATUS2_ESCAPE_PREVENTION 0x04000000
-#define STATUS2_NIGHTMARE 0x08000000
-#define STATUS2_CURSED 0x10000000
-#define STATUS2_FORESIGHT 0x20000000
-#define STATUS2_DEFENSE_CURL 0x40000000
-#define STATUS2_TORMENT 0x80000000
-
-#define STATUS3_LEECHSEED_BANK 0x3
-#define STATUS3_LEECHSEED 0x4
-#define STATUS3_ALWAYS_HITS 0x18 //two bits
-#define STATUS3_PERISH_SONG 0x20
-#define STATUS3_ON_AIR 0x40
-#define STATUS3_UNDERGROUND 0x80
-#define STATUS3_MINIMIZED 0x100
-#define STATUS3_ROOTED 0x400
-#define STATUS3_CHARGED_UP 0x200
-#define STATUS3_YAWN 0x1800 //two bits
-#define STATUS3_IMPRISIONED 0x2000
-#define STATUS3_GRUDGE 0x4000
-#define STATUS3_CANT_SCORE_A_CRIT 0x8000
-#define STATUS3_MUDSPORT 0x10000
-#define STATUS3_WATERSPORT 0x20000
-#define STATUS3_UNDERWATER 0x40000
-#define STATUS3_INTIMIDATE_POKES 0x80000
-#define STATUS3_TRACE 0x100000
-
-#define STATUS3_SEMI_INVULNERABLE ((STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER))
-
-#define HITMARKER_x20 0x00000020
-#define HITMARKER_DESTINYBOND 0x00000040
-#define HITMARKER_NO_ANIMATIONS 0x00000080
-#define HITMARKER_IGNORE_SUBSTITUTE 0x00000100
-#define HITMARKER_NO_ATTACKSTRING 0x00000200
-#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400
-#define HITMARKER_NO_PPDEDUCT 0x00000800
-#define HITMARKER_PURSUIT_TRAP 0x00001000
-#define HITMARKER_IGNORE_SAFEGUARD 0x00002000
-#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000
-#define HITMARKER_IGNORE_ON_AIR 0x00010000
-#define HITMARKER_IGNORE_UNDERGROUND 0x00020000
-#define HITMARKER_IGNORE_UNDERWATER 0x00040000
-#define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000
-#define HITMARKER_x100000 0x00100000
-#define HITMARKER_x200000 0x00200000
-#define HITMARKER_x400000 0x00400000
-#define HITMARKER_x800000 0x00800000
-#define HITMARKER_GRUDGE 0x01000000
-#define HITMARKER_OBEYS 0x02000000
-#define HITMARKER_x8000000 0x08000000
-#define HITMARKER_FAINTED(bank) ((gBitTable[bank] << 0x1C))
-#define HITMARKER_UNK(bank) ((0x10000000 << bank))
-
-#define SIDE_STATUS_REFLECT (1 << 0)
-#define SIDE_STATUS_LIGHTSCREEN (1 << 1)
-#define SIDE_STATUS_X4 (1 << 2)
-#define SIDE_STATUS_SPIKES (1 << 4)
-#define SIDE_STATUS_SAFEGUARD (1 << 5)
-#define SIDE_STATUS_FUTUREATTACK (1 << 6)
-#define SIDE_STATUS_MIST (1 << 8)
-#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9)
-
-#define ABILITYEFFECT_ON_SWITCHIN 0x0
-#define ABILITYEFFECT_ENDTURN 0x1
-#define ABILITYEFFECT_MOVES_BLOCK 0x2
-#define ABILITYEFFECT_ABSORBING 0x3
-#define ABILITYEFFECT_CONTACT 0x4
-#define ABILITYEFFECT_IMMUNITY 0x5
-#define ABILITYEFFECT_FORECAST 0x6
-#define ABILITYEFFECT_SYNCHRONIZE 0x7
-#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8
-#define ABILITYEFFECT_INTIMIDATE1 0x9
-#define ABILITYEFFECT_INTIMIDATE2 0xA
-#define ABILITYEFFECT_TRACE 0xB
-#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC
-#define ABILITYEFFECT_CHECK_BANK_SIDE 0xD
-#define ABILITYEFFECT_FIELD_SPORT 0xE
-#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK 0xF
-#define ABILITYEFFECT_COUNT_OTHER_SIZE 0x10
-#define ABILITYEFFECT_COUNT_BANK_SIDE 0x11
-#define ABILITYEFFECT_COUNT_ON_FIELD 0x12
-#define ABILITYEFFECT_CHECK_ON_FIELD 0x13
-
-#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0)))
-
-#define MOVESTATUS_MISSED (1 << 0)
-#define MOVESTATUS_SUPEREFFECTIVE (1 << 1)
-#define MOVESTATUS_NOTVERYEFFECTIVE (1 << 2)
-#define MOVESTATUS_NOTAFFECTED (1 << 3)
-#define MOVESTATUS_ONEHITKO (1 << 4)
-#define MOVESTATUS_FAILED (1 << 5)
-#define MOVESTATUS_ENDURED (1 << 6)
-#define MOVESTATUS_HUNGON (1 << 7)
-
-#define MOVESTATUS_NOEFFECT ((MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED))
-
-#define MAX_TRAINER_ITEMS 4
-#define MAX_MON_MOVES 4
-#define MAX_BANKS_BATTLE 4
-
-#define WEATHER_RAIN_TEMPORARY (1 << 0)
-#define WEATHER_RAIN_DOWNPOUR (1 << 1)
-#define WEATHER_RAIN_PERMANENT (1 << 2)
-#define WEATHER_RAIN_ANY ((WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT))
-#define WEATHER_SANDSTORM_TEMPORARY (1 << 3)
-#define WEATHER_SANDSTORM_PERMANENT (1 << 4)
-#define WEATHER_SANDSTORM_ANY ((WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT))
-#define WEATHER_SUN_TEMPORARY (1 << 5)
-#define WEATHER_SUN_PERMANENT (1 << 6)
-#define WEATHER_SUN_ANY ((WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT))
-#define WEATHER_HAIL (1 << 7)
-
-// status animation table
-#define B_ANIM_STATUS_PSN 0x0
-#define B_ANIM_STATUS_CONFUSION 0x1
-#define B_ANIM_STATUS_BRN 0x2
-#define B_ANIM_STATUS_INFATUATION 0x3
-#define B_ANIM_STATUS_SLP 0x4
-#define B_ANIM_STATUS_PRZ 0x5
-#define B_ANIM_STATUS_FRZ 0x6
-#define B_ANIM_STATUS_CURSED 0x7
-#define B_ANIM_STATUS_NIGHTMARE 0x8
-#define B_ANIM_STATUS_WRAPPED 0x9
-
-// general animation table
-#define B_ANIM_CASTFORM_CHANGE 0x0
-#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_ITEM_KNOCKOFF 0x5
-#define B_ANIM_TURN_TRAP 0x6
-#define B_ANIM_ITEM_EFFECT 0x7
-#define B_ANIM_SMOKEBALL_ESCAPE 0x8
-#define B_ANIM_HANGED_ON 0x9
-#define B_ANIM_RAIN_CONTINUES 0xA
-#define B_ANIM_SUN_CONTINUES 0xB
-#define B_ANIM_SANDSTORM_CONTINUES 0xC
-#define B_ANIM_HAIL_CONTINUES 0xD
-#define B_ANIM_LEECH_SEED_DRAIN 0xE
-#define B_ANIM_MON_HIT 0xF
-#define B_ANIM_ITEM_STEAL 0x10
-#define B_ANIM_SNATCH_MOVE 0x11
-#define B_ANIM_FUTURE_SIGHT_HIT 0x12
-#define B_ANIM_DOOM_DESIRE_HIT 0x13
-#define B_ANIM_FOCUS_PUNCH_SET_UP 0x14
-#define B_ANIM_INGRAIN_HEAL 0x15
-#define B_ANIM_WISH_HEAL 0x16
-
-// special animation table
-#define B_ANIM_LVL_UP 0x0
-#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1
-#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2
-#define B_ANIM_BALL_THROW 0x3
-#define B_ANIM_SAFARI_BALL_THROW 0x4
-#define B_ANIM_SUBSTITUTE_TO_MON 0x5
-#define B_ANIM_MON_TO_SUBSTITUTE 0x6
+#include "constants/battle_constants.h"
enum
{
diff --git a/include/constants/battle_constants.h b/include/constants/battle_constants.h
new file mode 100644
index 000000000..c446b916b
--- /dev/null
+++ b/include/constants/battle_constants.h
@@ -0,0 +1,239 @@
+#ifndef GUARD_CONSTANTS_BATTLE_CONSTANTS_H
+#define GUARD_CONSTANTS_BATTLE_CONSTANTS_H
+
+#define STATUS_SLEEP 0x7
+#define STATUS_POISON 0x8
+#define STATUS_BURN 0x10
+#define STATUS_FREEZE 0x20
+#define STATUS_PARALYSIS 0x40
+#define STATUS_TOXIC_POISON 0x80
+#define STATUS_TOXIC_COUNTER 0xF00
+
+#define STATUS_PSN_ANY ((STATUS_POISON | STATUS_TOXIC_POISON))
+#define STATUS_ANY ((STATUS_SLEEP | STATUS_POISON | STATUS_BURN | STATUS_FREEZE | STATUS_PARALYSIS | STATUS_TOXIC_POISON))
+
+#define STATUS2_CONFUSION 0x00000007
+#define STATUS2_FLINCHED 0x00000008
+#define STATUS2_UPROAR 0x00000070
+#define STATUS2_BIDE 0x00000300 //two bits 0x100 0x200
+#define STATUS2_LOCK_CONFUSE 0x00000C00
+#define STATUS2_MULTIPLETURNS 0x00001000
+#define STATUS2_WRAPPED 0x0000E000
+#define STATUS2_INFATUATION 0x000F0000
+#define STATUS2_FOCUS_ENERGY 0x00100000
+#define STATUS2_TRANSFORMED 0x00200000
+#define STATUS2_RECHARGE 0x00400000
+#define STATUS2_RAGE 0x00800000
+#define STATUS2_SUBSTITUTE 0x01000000
+#define STATUS2_DESTINY_BOND 0x02000000
+#define STATUS2_ESCAPE_PREVENTION 0x04000000
+#define STATUS2_NIGHTMARE 0x08000000
+#define STATUS2_CURSED 0x10000000
+#define STATUS2_FORESIGHT 0x20000000
+#define STATUS2_DEFENSE_CURL 0x40000000
+#define STATUS2_TORMENT 0x80000000
+
+#define STATUS3_LEECHSEED_BANK 0x3
+#define STATUS3_LEECHSEED 0x4
+#define STATUS3_ALWAYS_HITS 0x18 //two bits
+#define STATUS3_PERISH_SONG 0x20
+#define STATUS3_ON_AIR 0x40
+#define STATUS3_UNDERGROUND 0x80
+#define STATUS3_MINIMIZED 0x100
+#define STATUS3_ROOTED 0x400
+#define STATUS3_CHARGED_UP 0x200
+#define STATUS3_YAWN 0x1800 //two bits
+#define STATUS3_IMPRISIONED 0x2000
+#define STATUS3_GRUDGE 0x4000
+#define STATUS3_CANT_SCORE_A_CRIT 0x8000
+#define STATUS3_MUDSPORT 0x10000
+#define STATUS3_WATERSPORT 0x20000
+#define STATUS3_UNDERWATER 0x40000
+#define STATUS3_INTIMIDATE_POKES 0x80000
+#define STATUS3_TRACE 0x100000
+
+#define STATUS3_SEMI_INVULNERABLE ((STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER))
+
+#define HITMARKER_x10 0x00000010
+#define HITMARKER_x20 0x00000020
+#define HITMARKER_DESTINYBOND 0x00000040
+#define HITMARKER_NO_ANIMATIONS 0x00000080
+#define HITMARKER_IGNORE_SUBSTITUTE 0x00000100
+#define HITMARKER_NO_ATTACKSTRING 0x00000200
+#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400
+#define HITMARKER_NO_PPDEDUCT 0x00000800
+#define HITMARKER_PURSUIT_TRAP 0x00001000
+#define HITMARKER_IGNORE_SAFEGUARD 0x00002000
+#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000
+#define HITMARKER_IGNORE_ON_AIR 0x00010000
+#define HITMARKER_IGNORE_UNDERGROUND 0x00020000
+#define HITMARKER_IGNORE_UNDERWATER 0x00040000
+#define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000
+#define HITMARKER_x100000 0x00100000
+#define HITMARKER_x200000 0x00200000
+#define HITMARKER_x400000 0x00400000
+#define HITMARKER_x800000 0x00800000
+#define HITMARKER_GRUDGE 0x01000000
+#define HITMARKER_OBEYS 0x02000000
+#define HITMARKER_x8000000 0x08000000
+#define HITMARKER_FAINTED(bank) ((gBitTable[bank] << 0x1C))
+#define HITMARKER_UNK(bank) ((0x10000000 << bank))
+
+#define MOVESTATUS_MISSED (1 << 0)
+#define MOVESTATUS_SUPEREFFECTIVE (1 << 1)
+#define MOVESTATUS_NOTVERYEFFECTIVE (1 << 2)
+#define MOVESTATUS_NOTAFFECTED (1 << 3)
+#define MOVESTATUS_ONEHITKO (1 << 4)
+#define MOVESTATUS_FAILED (1 << 5)
+#define MOVESTATUS_ENDURED (1 << 6)
+#define MOVESTATUS_HUNGON (1 << 7)
+
+#define BATTLE_TYPE_DOUBLE 0x0001
+#define BATTLE_TYPE_LINK 0x0002
+#define BATTLE_TYPE_WILD 0x0004
+#define BATTLE_TYPE_TRAINER 0x0008
+#define BATTLE_TYPE_FIRST_BATTLE 0x0010
+#define BATTLE_TYPE_20 0x0020
+#define BATTLE_TYPE_MULTI 0x0040
+#define BATTLE_TYPE_SAFARI 0x0080
+#define BATTLE_TYPE_BATTLE_TOWER 0x0100
+#define BATTLE_TYPE_WALLY_TUTORIAL 0x0200
+#define BATTLE_TYPE_ROAMER 0x0400
+#define BATTLE_TYPE_EREADER_TRAINER 0x0800
+#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000
+#define BATTLE_TYPE_LEGENDARY 0x2000
+#define BATTLE_TYPE_REGI 0x4000
+#define BATTLE_TYPE_LINK_DOUBLE (BATTLE_TYPE_MULTI | BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE)
+
+#define BATTLE_WON 0x1
+#define BATTLE_LOST 0x2
+#define BATTLE_DREW 0x3
+#define BATTLE_RAN 0x4
+#define BATTLE_PLAYER_TELEPORTED 0x5
+#define BATTLE_POKE_FLED 0x6
+#define BATTLE_CAUGHT 0x7
+#define BATTLE_OUT_OF_BALLS 0x8
+#define BATTLE_OPPONENT_TELEPORTED 0xA
+
+#define SIDE_STATUS_REFLECT (1 << 0)
+#define SIDE_STATUS_LIGHTSCREEN (1 << 1)
+#define SIDE_STATUS_X4 (1 << 2)
+#define SIDE_STATUS_SPIKES (1 << 4)
+#define SIDE_STATUS_SAFEGUARD (1 << 5)
+#define SIDE_STATUS_FUTUREATTACK (1 << 6)
+#define SIDE_STATUS_MIST (1 << 8)
+#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9)
+
+#define F_TARGET_SELECTED_POKEMON 0
+#define F_TARGET_SPECIAL (1 << 0)
+#define F_TARGET_UNK2 (1 << 1)
+#define F_TARGET_RANDOM (1 << 2)
+#define F_TARGET_BOTH_ENEMIES (1 << 3)
+#define F_TARGET_USER (1 << 4)
+#define F_TARGET_ALL_EXCEPT_USER (1 << 5)
+#define F_TARGET_ENEMY_SIDE (1 << 6)
+
+#define F_MAKES_CONTACT (1 << 0)
+#define F_AFFECTED_BY_PROTECT (1 << 1)
+#define F_AFFECTED_BY_MAGIC_COAT (1 << 2)
+#define F_AFFECTED_BY_SNATCH (1 << 3)
+#define F_MIRROR_MOVE_COMPATIBLE (1 << 4)
+#define F_AFFECTED_BY_KINGS_ROCK (1 << 5)
+
+#define AI_ACTION_DONE 0x0001
+#define AI_ACTION_FLEE 0x0002
+#define AI_ACTION_WATCH 0x0004
+#define AI_ACTION_DO_NOT_ATTACK 0x0008
+#define AI_ACTION_UNK5 0x0010
+#define AI_ACTION_UNK6 0x0020
+#define AI_ACTION_UNK7 0x0040
+#define AI_ACTION_UNK8 0x0080
+
+#define ABILITYEFFECT_ON_SWITCHIN 0x0
+#define ABILITYEFFECT_ENDTURN 0x1
+#define ABILITYEFFECT_MOVES_BLOCK 0x2
+#define ABILITYEFFECT_ABSORBING 0x3
+#define ABILITYEFFECT_CONTACT 0x4
+#define ABILITYEFFECT_IMMUNITY 0x5
+#define ABILITYEFFECT_FORECAST 0x6
+#define ABILITYEFFECT_SYNCHRONIZE 0x7
+#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8
+#define ABILITYEFFECT_INTIMIDATE1 0x9
+#define ABILITYEFFECT_INTIMIDATE2 0xA
+#define ABILITYEFFECT_TRACE 0xB
+#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC
+#define ABILITYEFFECT_CHECK_BANK_SIDE 0xD
+#define ABILITYEFFECT_FIELD_SPORT 0xE
+#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK 0xF
+#define ABILITYEFFECT_COUNT_OTHER_SIZE 0x10
+#define ABILITYEFFECT_COUNT_BANK_SIDE 0x11
+#define ABILITYEFFECT_COUNT_ON_FIELD 0x12
+#define ABILITYEFFECT_CHECK_ON_FIELD 0x13
+
+#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0)))
+
+#define MOVESTATUS_NOEFFECT ((MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED))
+
+#define MAX_TRAINER_ITEMS 4
+#define MAX_MON_MOVES 4
+#define MAX_BANKS_BATTLE 4
+
+#define WEATHER_RAIN_TEMPORARY (1 << 0)
+#define WEATHER_RAIN_DOWNPOUR (1 << 1)
+#define WEATHER_RAIN_PERMANENT (1 << 2)
+#define WEATHER_RAIN_ANY ((WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT))
+#define WEATHER_SANDSTORM_TEMPORARY (1 << 3)
+#define WEATHER_SANDSTORM_PERMANENT (1 << 4)
+#define WEATHER_SANDSTORM_ANY ((WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT))
+#define WEATHER_SUN_TEMPORARY (1 << 5)
+#define WEATHER_SUN_PERMANENT (1 << 6)
+#define WEATHER_SUN_ANY ((WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT))
+#define WEATHER_HAIL (1 << 7)
+
+// status animation table
+#define B_ANIM_STATUS_PSN 0x0
+#define B_ANIM_STATUS_CONFUSION 0x1
+#define B_ANIM_STATUS_BRN 0x2
+#define B_ANIM_STATUS_INFATUATION 0x3
+#define B_ANIM_STATUS_SLP 0x4
+#define B_ANIM_STATUS_PRZ 0x5
+#define B_ANIM_STATUS_FRZ 0x6
+#define B_ANIM_STATUS_CURSED 0x7
+#define B_ANIM_STATUS_NIGHTMARE 0x8
+#define B_ANIM_STATUS_WRAPPED 0x9
+
+// general animation table
+#define B_ANIM_CASTFORM_CHANGE 0x0
+#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_ITEM_KNOCKOFF 0x5
+#define B_ANIM_TURN_TRAP 0x6
+#define B_ANIM_ITEM_EFFECT 0x7
+#define B_ANIM_SMOKEBALL_ESCAPE 0x8
+#define B_ANIM_HANGED_ON 0x9
+#define B_ANIM_RAIN_CONTINUES 0xA
+#define B_ANIM_SUN_CONTINUES 0xB
+#define B_ANIM_SANDSTORM_CONTINUES 0xC
+#define B_ANIM_HAIL_CONTINUES 0xD
+#define B_ANIM_LEECH_SEED_DRAIN 0xE
+#define B_ANIM_MON_HIT 0xF
+#define B_ANIM_ITEM_STEAL 0x10
+#define B_ANIM_SNATCH_MOVE 0x11
+#define B_ANIM_FUTURE_SIGHT_HIT 0x12
+#define B_ANIM_DOOM_DESIRE_HIT 0x13
+#define B_ANIM_FOCUS_PUNCH_SET_UP 0x14
+#define B_ANIM_INGRAIN_HEAL 0x15
+#define B_ANIM_WISH_HEAL 0x16
+
+// special animation table
+#define B_ANIM_LVL_UP 0x0
+#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1
+#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2
+#define B_ANIM_BALL_THROW 0x3
+#define B_ANIM_SAFARI_BALL_THROW 0x4
+#define B_ANIM_SUBSTITUTE_TO_MON 0x5
+#define B_ANIM_MON_TO_SUBSTITUTE 0x6
+
+#endif // GUARD_CONSTANTS_BATTLE_CONSTANTS_H
diff --git a/src/battle/battle_3.c b/src/battle/battle_3.c
index b21ec1572..e5a730598 100644
--- a/src/battle/battle_3.c
+++ b/src/battle/battle_3.c
@@ -110,22 +110,22 @@ extern u8 BattleScript_WrapEnds[];
extern u8 BattleScript_DisabledNoMore[];
extern u8 BattleScript_EncoredNoMore[];
-extern u8 gUnknown_081D9030[];
-extern u8 gUnknown_081D8F62[];
-extern u8 gUnknown_081D8FFF[];
-extern u8 gUnknown_081D8F7D[];
-extern u8 gUnknown_081D9016[];
-extern u8 gUnknown_081D9008[];
-extern u8 gUnknown_081D9041[];
-extern u8 gUnknown_081D950F[]; //uproar wakeup BS
-extern u8 gUnknown_081D957E[]; //uproar BS
+extern u8 BattleScript_SideStatusWoreOff[];
+extern u8 BattleScript_RainContinuesOrEnds[];
+extern u8 BattleScript_SandStormHailEnds[];
+extern u8 BattleScript_DamagingWeatherContinues[];
+extern u8 BattleScript_SunlightFaded[];
+extern u8 BattleScript_SunlightContinues[];
+extern u8 BattleScript_SafeguardEnds[];
+extern u8 BattleScript_MonWokeUpInUproar[]; //uproar wakeup BS
+extern u8 BattleScript_PrintUproarOverTurns[]; //uproar BS
extern u8 BattleScript_ThrashConfuses[];
extern u8 BattleScript_YawnMakesAsleep[];
-extern u8 BattleScript_FutureSightHits[];
+extern u8 BattleScript_MonTookFutureAttack[];
extern u8 BattleScript_PerishSongHits[];
extern u8 BattleScript_PerishSongTimerGoesDown[];
-extern u8 gUnknown_081D8C72[];
-extern u8 gUnknown_081D8C7B[];
+extern u8 BattleScript_GiveExp[];
+extern u8 BattleScript_HandleFaintedMon[];
extern u8 BattleScript_MoveUsedIsAsleep[];
extern u8 BattleScript_MoveUsedWokeUp[];
@@ -146,7 +146,7 @@ extern u8 BattleScript_BideStoringEnergy[];
extern u8 BattleScript_BideAttack[];
extern u8 BattleScript_BideNoEnergyToAttack[];
-extern u8 gUnknown_081D901D[]; //load weather from overworld
+extern u8 BattleScript_OverworldWeatherStarts[]; //load weather from overworld
extern u8 BattleScript_DrizzleActivates[];
extern u8 BattleScript_SandstreamActivates[];
extern u8 BattleScript_DroughtActivates[];
@@ -165,7 +165,7 @@ extern u8 BattleScript_ColorChangeActivates[];
extern u8 BattleScript_RoughSkinActivates[];
extern u8 BattleScript_ApplySecondaryEffect[];
extern u8 BattleScript_CuteCharmActivates[];
-extern u8 gUnknown_081D9956[]; //ability status clear
+extern u8 BattleScript_AbilityCuredStatus[]; //ability status clear
extern u8 BattleScript_SynchronizeActivates[];
extern u8 gUnknown_081D978C[]; //intimidate1
extern u8 gUnknown_081D9795[]; //intimidate2
@@ -185,20 +185,20 @@ extern u8 BattleScript_BerryCureBrnEnd2[];
extern u8 BattleScript_BerryCureFrzEnd2[];
extern u8 BattleScript_BerryCureSlpEnd2[];
extern u8 BattleScript_BerryCureConfusionEnd2[];
-extern u8 gUnknown_081D9A44[]; //berry cure any status end2
+extern u8 BattleScript_BerryCureChosenStatusEnd2[]; //berry cure any status end2
extern u8 BattleScript_BerryCureParRet[];
extern u8 BattleScript_BerryCurePsnRet[];
extern u8 BattleScript_BerryCureBrnRet[];
extern u8 BattleScript_BerryCureFrzRet[];
extern u8 BattleScript_BerryCureSlpRet[];
extern u8 BattleScript_BerryCureConfusionRet[];
-extern u8 gUnknown_081D9A4A[]; //berry cure any status return
+extern u8 BattleScript_BerryCureChosenStatusRet[]; //berry cure any status return
extern u8 BattleScript_ItemHealHP_Ret[];
extern u8 gUnknown_081D995F[]; //disobedient while asleep
-extern u8 gUnknown_081D996F[]; //disobedient, uses a random move
-extern u8 gUnknown_081D9989[]; //disobedient, went to sleep
+extern u8 BattleScript_IgnoresAndUsesRandomMove[]; //disobedient, uses a random move
+extern u8 BattleScript_IgnoresAndFallsAsleep[]; //disobedient, went to sleep
extern u8 gUnknown_081D99A0[]; //disobedient, hits itself
//array entries for battle communication
@@ -396,7 +396,7 @@ u8 UpdateTurnCounters(void)
{
gSideAffecting[sideBank] &= ~SIDE_STATUS_REFLECT;
- b_call_bc_move_exec(gUnknown_081D9030);
+ b_call_bc_move_exec(BattleScript_SideStatusWoreOff);
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 2;
gBattleTextBuff1[2] = MOVE_REFLECT;
@@ -424,7 +424,7 @@ u8 UpdateTurnCounters(void)
if (--gSideTimer[sideBank].lightscreenTimer == 0)
{
gSideAffecting[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN;
- b_call_bc_move_exec(gUnknown_081D9030);
+ b_call_bc_move_exec(BattleScript_SideStatusWoreOff);
gBattleCommunication[MULTISTRING_CHOOSER] = sideBank;
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 2;
@@ -451,7 +451,7 @@ u8 UpdateTurnCounters(void)
if (gSideTimer[sideBank].mistTimer && --gSideTimer[sideBank].mistTimer == 0)
{
gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST;
- b_call_bc_move_exec(gUnknown_081D9030);
+ b_call_bc_move_exec(BattleScript_SideStatusWoreOff);
gBattleCommunication[MULTISTRING_CHOOSER] = sideBank;
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 2;
@@ -479,7 +479,7 @@ u8 UpdateTurnCounters(void)
if (--gSideTimer[sideBank].safeguardTimer == 0)
{
gSideAffecting[sideBank] &= ~SIDE_STATUS_SAFEGUARD;
- b_call_bc_move_exec(gUnknown_081D9041);
+ b_call_bc_move_exec(BattleScript_SafeguardEnds);
effect++;
}
}
@@ -532,7 +532,7 @@ u8 UpdateTurnCounters(void)
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
else
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- b_call_bc_move_exec(gUnknown_081D8F62);
+ b_call_bc_move_exec(BattleScript_RainContinuesOrEnds);
effect++;
}
BATTLE_STRUCT->turncountersTracker++;
@@ -543,10 +543,10 @@ u8 UpdateTurnCounters(void)
if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
{
gBattleWeather &= ~WEATHER_SANDSTORM_TEMPORARY;
- gBattlescriptCurrInstr = gUnknown_081D8FFF;
+ gBattlescriptCurrInstr = BattleScript_SandStormHailEnds;
}
else
- gBattlescriptCurrInstr = gUnknown_081D8F7D;
+ gBattlescriptCurrInstr = BattleScript_DamagingWeatherContinues;
BATTLE_STRUCT->animArg1 = B_ANIM_SANDSTORM_CONTINUES;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
@@ -561,10 +561,10 @@ u8 UpdateTurnCounters(void)
if (!(gBattleWeather & WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0)
{
gBattleWeather &= ~WEATHER_SUN_TEMPORARY;
- gBattlescriptCurrInstr = gUnknown_081D9016;
+ gBattlescriptCurrInstr = BattleScript_SunlightFaded;
}
else
- gBattlescriptCurrInstr = gUnknown_081D9008;
+ gBattlescriptCurrInstr = BattleScript_SunlightContinues;
b_call_bc_move_exec(gBattlescriptCurrInstr);
effect++;
@@ -577,10 +577,10 @@ u8 UpdateTurnCounters(void)
if (--gWishFutureKnock.weatherDuration == 0)
{
gBattleWeather &= ~WEATHER_HAIL;
- gBattlescriptCurrInstr = gUnknown_081D8FFF;
+ gBattlescriptCurrInstr = BattleScript_SandStormHailEnds;
}
else
- gBattlescriptCurrInstr = gUnknown_081D8F7D;
+ gBattlescriptCurrInstr = BattleScript_DamagingWeatherContinues;
BATTLE_STRUCT->animArg1 = B_ANIM_HAIL_CONTINUES;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
@@ -760,7 +760,7 @@ u8 TurnBasedEffects(void)
gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP);
gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE);
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- b_call_bc_move_exec(gUnknown_081D950F);
+ b_call_bc_move_exec(BattleScript_MonWokeUpInUproar);
gActiveBank = gBankAttacker;
EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1);
MarkBufferBankForExecution(gActiveBank);
@@ -791,7 +791,7 @@ u8 TurnBasedEffects(void)
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
CancelMultiTurnMoves(gActiveBank);
}
- b_call_bc_move_exec(gUnknown_081D957E);
+ b_call_bc_move_exec(BattleScript_PrintUproarOverTurns);
effect = 1;
}
}
@@ -938,7 +938,7 @@ bool8 sub_80170DC(void) // handle future sight and perish song
gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank];
gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank];
gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF;
- b_call_bc_move_exec(BattleScript_FutureSightHits);
+ b_call_bc_move_exec(BattleScript_MonTookFutureAttack);
return 1;
}
}
@@ -1009,7 +1009,7 @@ bool8 sub_80173A4(void)
gBank1 = gBankTarget = BATTLE_STRUCT->unk1605A;
if (gBattleMons[BATTLE_STRUCT->unk1605A].hp == 0 && !(BATTLE_STRUCT->unk16113 & gBitTable[gBattlePartyID[BATTLE_STRUCT->unk1605A]]) && !(gAbsentBankFlags & gBitTable[BATTLE_STRUCT->unk1605A]))
{
- b_call_bc_move_exec(gUnknown_081D8C72);
+ b_call_bc_move_exec(BattleScript_GiveExp);
BATTLE_STRUCT->sub80173A4_Tracker = 2;
return 1;
}
@@ -1032,7 +1032,7 @@ bool8 sub_80173A4(void)
gBank1 = gBankTarget = BATTLE_STRUCT->unk1605A; //or should banks be switched?
if (gBattleMons[BATTLE_STRUCT->unk1605A].hp == 0 && !(gAbsentBankFlags & gBitTable[BATTLE_STRUCT->unk1605A]))
{
- b_call_bc_move_exec(gUnknown_081D8C7B);
+ b_call_bc_move_exec(BattleScript_HandleFaintedMon);
BATTLE_STRUCT->sub80173A4_Tracker = 5;
return 1;
}
@@ -1534,7 +1534,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
if (effect)
{
gBattleCommunication[MULTISTRING_CHOOSER] = weather_get_current();
- b_push_move_exec(gUnknown_081D901D);
+ b_push_move_exec(BattleScript_OverworldWeatherStarts);
}
break;
case ABILITY_DRIZZLE:
@@ -1969,7 +1969,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
break;
}
b_movescr_stack_push_cursor();
- gBattlescriptCurrInstr = gUnknown_081D9956;
+ gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus;
BATTLE_STRUCT->scriptingActive = bank;
gActiveBank = bank;
EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1);
@@ -2768,7 +2768,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
gBattleMons[bank].status1 = 0;
gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION);
- b_call_bc_move_exec(gUnknown_081D9A44);
+ b_call_bc_move_exec(BattleScript_BerryCureChosenStatusEnd2);
effect = ITEM_STATUS_CHANGE;
}
break;
@@ -2777,7 +2777,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
{
gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION);
StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn);
- b_call_bc_move_exec(gUnknown_081D9A44);
+ b_call_bc_move_exec(BattleScript_BerryCureChosenStatusEnd2);
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
effect = ITEM_EFFECT_OTHER;
}
@@ -2882,7 +2882,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn);
b_movescr_stack_push_cursor();
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- gBattlescriptCurrInstr = gUnknown_081D9A4A;
+ gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet;
effect = ITEM_EFFECT_OTHER;
}
break;
@@ -2918,7 +2918,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION);
b_movescr_stack_push_cursor();
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- gBattlescriptCurrInstr = gUnknown_081D9A4A;
+ gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet;
effect = ITEM_STATUS_CHANGE;
}
break;
@@ -3186,7 +3186,7 @@ u8 IsPokeDisobedient(void)
gBattleCommunication[3] = 0;
gDynamicBasePower = 0;
BATTLE_STRUCT->dynamicMoveType = 0;
- gBattlescriptCurrInstr = gUnknown_081D996F;
+ gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove;
gBankTarget = GetMoveTarget(gRandomMove, 0);
gHitMarker |= HITMARKER_x200000;
return 2;
@@ -3208,7 +3208,7 @@ u8 IsPokeDisobedient(void)
}
if (i == gNoOfAllBanks)
{
- gBattlescriptCurrInstr = gUnknown_081D9989;
+ gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep;
return 1;
}
}
diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c
index f37ba8682..7f67abe81 100644
--- a/src/battle/battle_4.c
+++ b/src/battle/battle_4.c
@@ -87,8 +87,8 @@ extern u8 gPlayerPartyCount;
extern u16 gMoveToLearn; //move to learn
extern const u8 gTrainerMoney[];
extern u16 gRandomMove;
-extern u8* gBattleScriptsEffectsTable[];
-extern u16 gUnknown_02024BE8; //last used move in battle
+extern u8* gBattleScriptsForMoveEffects[];
+extern u16 gChosenMove; //last used move in battle
extern u8 gBankInMenu;
extern u8 gActionForBanks[4];
extern u16 gUnknown_02024C2C[4]; //last used moves 2, used by sketch
@@ -167,7 +167,7 @@ bool8 IsLinkDoubleBattle(void);
void sub_8094B6C(u8 bank, u8 partyID, u8 r2);
//extern BattleScripts
-extern u8 BattleScript_EndTurn[];
+extern u8 BattleScript_MoveEnd[];
extern u8 BattleScript_NoPPForMove[];
extern u8 BattleScript_MagicCoatBounce[];
extern u8 BattleScript_TookAttack[];
@@ -205,21 +205,21 @@ extern u8 BattleScript_AllStatsUp[];
extern u8 BattleScript_AtkDefDown[];
extern u8 BattleScript_SAtkDown2[];
-extern u8 gUnknown_081D919F[]; //spikes1
-extern u8 gUnknown_081D9171[]; //spikes2
-extern u8 gUnknown_081D91CD[]; //spikes3
-extern u8 BattleScript_1D6F44[]; //present dmg
-extern u8 BattleScript_1D83B5[]; //present full hp
-extern u8 BattleScript_1D839B[]; //present hp heal
-extern u8 BattleScript_1D6F74[];
+extern u8 BattleScript_SpikesOnTarget[]; //spikes1
+extern u8 BattleScript_SpikesOnAttacker[]; //spikes2
+extern u8 BattleScript_SpikesOngBank1[]; //spikes3
+extern u8 BattleScript_HitFromCritCalc[]; //present dmg
+extern u8 BattleScript_AlreadyAtFullHp[]; //present full hp
+extern u8 BattleScript_PresentHealTarget[]; //present hp heal
+extern u8 BattleScript_MoveMissedPause[];
extern u8 BattleScript_CastformChange[];
-extern u8 gUnknown_081D9834[];
-extern u8 gUnknown_081D90FC[]; //bs random switchout
-extern u8 gUnknown_081D95DB[]; //bs payday money give
-extern u8 gUnknown_081D8C58[];
-extern u8 gUnknown_081D8C65[];
-extern u8 gUnknown_081D9156[];
-extern u8 gUnknown_081D9468[];
+extern u8 BattleScript_DampStopsExplosion[];
+extern u8 BattleScript_SuccessForceOut[]; //bs random switchout
+extern u8 BattleScript_PrintPayDayMoneyString[]; //bs payday money give
+extern u8 BattleScript_FaintAttacker[];
+extern u8 BattleScript_FaintTarget[];
+extern u8 BattleScript_DestinyBondTakesLife[];
+extern u8 BattleScript_SelectingImprisionedMoveInPalace[];
// read via orr
#define BSScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
@@ -869,59 +869,59 @@ static const u32 gStatusFlagsForMoveEffects[] =
0x00000000
};
-extern u8 BattleScript_1D963E[];
-extern u8 BattleScript_1D965A[];
-extern u8 BattleScript_1D9669[];
-extern u8 BattleScript_1D9678[];
-extern u8 BattleScript_1D9687[];
-extern u8 BattleScript_1D969D[];
-extern u8 BattleScript_1D96BA[];
-extern u8 BattleScript_1D9696[];
-extern u8 BattleScript_1D96B1[];
-extern u8 BattleScript_1D96AA[];
-extern u8 BattleScript_1D96C8[];
+extern u8 BattleScript_MoveEffectSleep[];
+extern u8 BattleScript_MoveEffectPoison[];
+extern u8 BattleScript_MoveEffectBurn[];
+extern u8 BattleScript_MoveEffectFreeze[];
+extern u8 BattleScript_MoveEffectParalysis[];
+extern u8 BattleScript_MoveEffectToxic[];
+extern u8 BattleScript_MoveEffectConfusion[];
+extern u8 BattleScript_MoveEffectUproar[];
+extern u8 BattleScript_MoveEffectWrap[];
+extern u8 BattleScript_MoveEffectPayDay[];
+extern u8 BattleScript_MoveEffectRecoil33[];
u8* const gMoveEffectBS_Ptrs[] =
{
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D965A,
- BattleScript_1D9669,
- BattleScript_1D9678,
- BattleScript_1D9687,
- BattleScript_1D969D,
- BattleScript_1D96BA,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D9696,
- BattleScript_1D96AA,
- BattleScript_1D963E,
- BattleScript_1D96B1,
- BattleScript_1D96C8,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D96C8
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectPoison,
+ BattleScript_MoveEffectBurn,
+ BattleScript_MoveEffectFreeze,
+ BattleScript_MoveEffectParalysis,
+ BattleScript_MoveEffectToxic,
+ BattleScript_MoveEffectConfusion,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectUproar,
+ BattleScript_MoveEffectPayDay,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectWrap,
+ BattleScript_MoveEffectRecoil33,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectSleep,
+ BattleScript_MoveEffectRecoil33
};
const u8 sUnreferencedBitMask1[] = {0, 1, 3, 7, 0xF, 0x1F, 0x3F};
@@ -1034,7 +1034,7 @@ static void atk00_attackcanceler(void)
if (gBattleMons[gBankAttacker].hp == 0 && !(gHitMarker & HITMARKER_NO_ATTACKSTRING))
{
gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE;
- gBattlescriptCurrInstr = BattleScript_EndTurn;
+ gBattlescriptCurrInstr = BattleScript_MoveEnd;
return;
}
if (AtkCanceller_UnableToUseMove())
@@ -4995,13 +4995,13 @@ static void atk19_tryfaintmon(void)
{
gActiveBank = gBankAttacker;
bank = gBankTarget;
- r4 = gUnknown_081D8C58;
+ r4 = BattleScript_FaintAttacker;
}
else
{
gActiveBank = gBankTarget;
bank = gBankAttacker;
- r4 = gUnknown_081D8C65;
+ r4 = BattleScript_FaintTarget;
}
if (!(gAbsentBankFlags & gBitTable[gActiveBank])
&& gBattleMons[gActiveBank].hp == 0)
@@ -5039,7 +5039,7 @@ static void atk19_tryfaintmon(void)
{
b_movescr_stack_push(gBattlescriptCurrInstr);
gBattleMoveDamage = gBattleMons[bank].hp;
- gBattlescriptCurrInstr = gUnknown_081D9156;
+ gBattlescriptCurrInstr = BattleScript_DestinyBondTakesLife;
}
if ((gStatuses3[gBankTarget] & STATUS3_GRUDGE)
&& !(gHitMarker & HITMARKER_GRUDGE)
@@ -5051,7 +5051,7 @@ static void atk19_tryfaintmon(void)
gBattleMons[gBankAttacker].pp[moveIndex] = 0;
b_movescr_stack_push(gBattlescriptCurrInstr);
- gBattlescriptCurrInstr = gUnknown_081D9468;
+ gBattlescriptCurrInstr = BattleScript_SelectingImprisionedMoveInPalace;
gActiveBank = gBankAttacker;
EmitSetAttributes(0, moveIndex + 9, 0, 1, &gBattleMons[gActiveBank].pp[moveIndex]);
MarkBufferBankForExecution(gActiveBank);
@@ -7831,7 +7831,7 @@ static void atk49_moveend(void)
{
gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK]++;
b_movescr_stack_push_cursor();
- gBattlescriptCurrInstr = gUnknown_081D9132;
+ gBattlescriptCurrInstr = BattleScript_RageIsBuilding;
effect = 1;
}
BATTLE_STRUCT->cmd49StateTracker++;
@@ -7847,7 +7847,7 @@ static void atk49_moveend(void)
EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1);
MarkBufferBankForExecution(gActiveBank);
b_movescr_stack_push_cursor();
- gBattlescriptCurrInstr = gUnknown_081D955D;
+ gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove;
effect = 1;
}
BATTLE_STRUCT->cmd49StateTracker++;
@@ -8008,7 +8008,7 @@ _08021874:\n\
adds r0, r3\n\
strb r4, [r0]\n\
bl MoveValuesCleanUp\n\
- ldr r2, _080218B4 @ =gBattleScriptsEffectsTable\n\
+ ldr r2, _080218B4 @ =gBattleScriptsForMoveEffects\n\
mov r4, r8\n\
ldrh r1, [r4]\n\
lsls r0, r1, 1\n\
@@ -8026,7 +8026,7 @@ _08021874:\n\
.align 2, 0\n\
_080218AC: .4byte gSharedMem\n\
_080218B0: .4byte 0x0001600c\n\
-_080218B4: .4byte gBattleScriptsEffectsTable\n\
+_080218B4: .4byte gBattleScriptsForMoveEffects\n\
_080218B8: .4byte gBattlescriptCurrInstr\n\
_080218BC: .4byte gUnknown_081D9B2D\n\
_080218C0:\n\
@@ -8166,7 +8166,7 @@ _080219C8:\n\
strb r0, [r1, 0x19]\n\
bl b_movescr_stack_push_cursor\n\
ldr r1, _08021A24 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08021A28 @ =gUnknown_081D9132\n\
+ ldr r0, _08021A28 @ =BattleScript_RageIsBuilding\n\
str r0, [r1]\n\
movs r5, 0x1\n\
mov r10, r5\n\
@@ -8184,7 +8184,7 @@ _08021A18: .4byte gProtectStructs\n\
_08021A1C: .4byte gBattleMoves\n\
_08021A20: .4byte gCurrentMove\n\
_08021A24: .4byte gBattlescriptCurrInstr\n\
-_08021A28: .4byte gUnknown_081D9132\n\
+_08021A28: .4byte BattleScript_RageIsBuilding\n\
_08021A2C: .4byte gSharedMem\n\
_08021A30: .4byte 0x0001600c\n\
_08021A34:\n\
@@ -8264,7 +8264,7 @@ _08021A92:\n\
bl MarkBufferBankForExecution\n\
bl b_movescr_stack_push_cursor\n\
ldr r1, _08021AE8 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08021AEC @ =gUnknown_081D955D\n\
+ ldr r0, _08021AEC @ =BattleScript_DefrostedViaFireMove\n\
str r0, [r1]\n\
movs r2, 0x1\n\
mov r10, r2\n\
@@ -8277,7 +8277,7 @@ _08021ADC: .4byte gSpecialStatuses\n\
_08021AE0: .4byte gBattleMoveFlags\n\
_08021AE4: .4byte gActiveBank\n\
_08021AE8: .4byte gBattlescriptCurrInstr\n\
-_08021AEC: .4byte gUnknown_081D955D\n\
+_08021AEC: .4byte BattleScript_DefrostedViaFireMove\n\
_08021AF0:\n\
ldr r0, _08021B14 @ =gBankTarget\n\
ldrb r1, [r0]\n\
@@ -8376,7 +8376,7 @@ _08021B9C:\n\
ldr r4, [sp, 0x8]\n\
cmp r4, 0x1D\n\
bne _08021BE0\n\
- ldr r0, _08021C2C @ =gUnknown_02024BE8\n\
+ ldr r0, _08021C2C @ =gChosenMove\n\
ldrh r2, [r0]\n\
adds r7, r0, 0\n\
cmp r2, 0xA5\n\
@@ -8444,7 +8444,7 @@ _08021C22:\n\
b _08022244\n\
.align 2, 0\n\
_08021C28: .4byte gHitMarker\n\
-_08021C2C: .4byte gUnknown_02024BE8\n\
+_08021C2C: .4byte gChosenMove\n\
_08021C30: .4byte 0x0000ffff\n\
_08021C34: .4byte gBattleMoveFlags\n\
_08021C38: .4byte gBattleMons\n\
@@ -8733,7 +8733,7 @@ _08021E70:\n\
str r3, [r5]\n\
_08021E9A:\n\
ldr r1, _08021F40 @ =gBattleMoves\n\
- ldr r2, _08021F44 @ =gUnknown_02024BE8\n\
+ ldr r2, _08021F44 @ =gChosenMove\n\
ldrh r3, [r2]\n\
lsls r0, r3, 1\n\
adds r0, r3\n\
@@ -8816,7 +8816,7 @@ _08021F34: .4byte gActiveBank\n\
_08021F38: .4byte gBankTarget\n\
_08021F3C: .4byte 0xffffefff\n\
_08021F40: .4byte gBattleMoves\n\
-_08021F44: .4byte gUnknown_02024BE8\n\
+_08021F44: .4byte gChosenMove\n\
_08021F48: .4byte gBattleMoveFlags\n\
_08021F4C: .4byte gUnknown_02024C2C\n\
_08021F50: .4byte gAbsentBankFlags\n\
@@ -8967,7 +8967,7 @@ _08022082:\n\
b _08022244\n\
_08022090:\n\
ldr r1, _0802213C @ =gBattleMoves\n\
- ldr r4, _08022140 @ =gUnknown_02024BE8\n\
+ ldr r4, _08022140 @ =gChosenMove\n\
ldrh r3, [r4]\n\
lsls r0, r3, 1\n\
adds r0, r3\n\
@@ -9051,7 +9051,7 @@ _08022130: .4byte gBitTable\n\
_08022134: .4byte gBankAttacker\n\
_08022138: .4byte 0x000160a6\n\
_0802213C: .4byte gBattleMoves\n\
-_08022140: .4byte gUnknown_02024BE8\n\
+_08022140: .4byte gChosenMove\n\
_08022144: .4byte gHitMarker\n\
_08022148: .4byte gBankTarget\n\
_0802214C: .4byte gBattleMoveFlags\n\
@@ -10641,11 +10641,11 @@ static void atk52_switchineffects(void)
b_movescr_stack_push_cursor();
if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0)
- gBattlescriptCurrInstr = gUnknown_081D919F;
+ gBattlescriptCurrInstr = BattleScript_SpikesOnTarget;
else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1)
- gBattlescriptCurrInstr = gUnknown_081D9171;
+ gBattlescriptCurrInstr = BattleScript_SpikesOnAttacker;
else
- gBattlescriptCurrInstr = gUnknown_081D91CD;
+ gBattlescriptCurrInstr = BattleScript_SpikesOngBank1;
}
else
{
@@ -11307,8 +11307,8 @@ static void atk63_jumptorandomattack(void)
if (T2_READ_8(gBattlescriptCurrInstr + 1))
gCurrentMove = gRandomMove;
else
- gUnknown_02024BE8 = gCurrentMove = gRandomMove;
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ gChosenMove = gCurrentMove = gRandomMove;
+ gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
}
static void atk64_statusanimation(void)
@@ -12138,7 +12138,7 @@ static void atk78_faintifabilitynotdamp(void)
{
gLastUsedAbility = ABILITY_DAMP;
RecordAbilityBattle(gBankTarget, gBattleMons[gBankTarget].ability);
- gBattlescriptCurrInstr = gUnknown_081D9834;
+ gBattlescriptCurrInstr = BattleScript_DampStopsExplosion;
}
}
@@ -12207,7 +12207,7 @@ static void atk7C_trymirrormove(void)
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gCurrentMove = r7;
gBankTarget = GetMoveTarget(gCurrentMove, 0);
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
}
else if (r6 != 0 && r5 != 0 && r6 != 0xFFFF && r5 != 0xFFFF)
{
@@ -12217,21 +12217,21 @@ static void atk7C_trymirrormove(void)
else
gCurrentMove = r5;
gBankTarget = GetMoveTarget(gCurrentMove, 0);
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
}
else if (r6 != 0 && r6 != 0xFFFF)
{
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gCurrentMove = r6;
gBankTarget = GetMoveTarget(gCurrentMove, 0);
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
}
else if (r5 != 0 && r5 != 0xFFFF)
{
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gCurrentMove = r5;
gBankTarget = GetMoveTarget(gCurrentMove, 0);
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
}
else
{
@@ -13306,7 +13306,7 @@ static bool8 sub_80264C0(void)
}
ewram16064arr(gBankTarget) = gBattlePartyID[gBankTarget];
}
- gBattlescriptCurrInstr = gUnknown_081D90FC;
+ gBattlescriptCurrInstr = BattleScript_SuccessForceOut;
return 1;
}
@@ -13472,7 +13472,7 @@ static void atk91_givepaydaymoney(void)
gBattleTextBuff1[5] = uBYTE1_16(gPaydayMoney);
gBattleTextBuff1[6] = 0xFF;
b_movescr_stack_push(gBattlescriptCurrInstr + 1);
- gBattlescriptCurrInstr = gUnknown_081D95DB;
+ gBattlescriptCurrInstr = BattleScript_PrintPayDayMoneyString;
}
else
gBattlescriptCurrInstr++;
@@ -13647,7 +13647,7 @@ _08026C0C:\n\
ldr r0, _08026C60 @ =gLastUsedAbility\n\
strb r3, [r0]\n\
ldr r1, _08026C64 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08026C68 @ =gUnknown_081D9826\n\
+ ldr r0, _08026C68 @ =BattleScript_SturdyPreventsOHKO\n\
str r0, [r1]\n\
ldr r1, _08026C50 @ =gBankTarget\n\
ldrb r0, [r1]\n\
@@ -13662,7 +13662,7 @@ _08026C58: .4byte gBattleMons\n\
_08026C5C: .4byte gBattleMoveFlags\n\
_08026C60: .4byte gLastUsedAbility\n\
_08026C64: .4byte gBattlescriptCurrInstr\n\
-_08026C68: .4byte gUnknown_081D9826\n\
+_08026C68: .4byte BattleScript_SturdyPreventsOHKO\n\
_08026C6C:\n\
ldr r1, _08026CE0 @ =gStatuses3\n\
lsls r0, r2, 2\n\
@@ -14078,7 +14078,7 @@ static void atk9A_setfocusenergy(void)
static void atk9B_transformdataexecution(void)
{
- gUnknown_02024BE8 = 0xFFFF;
+ gChosenMove = 0xFFFF;
gBattlescriptCurrInstr++;
if (gBattleMons[gBankTarget].status2 & STATUS2_TRANSFORMED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE)
{
@@ -14155,7 +14155,7 @@ static bool8 IsMoveUncopyable(u16 move)
static void atk9D_mimicattackcopy(void)
{
- gUnknown_02024BE8 = 0xFFFF;
+ gChosenMove = 0xFFFF;
if (IsMoveUncopyable(gLastUsedMove[gBankTarget]) || gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED
|| gLastUsedMove[gBankTarget] == 0 || gLastUsedMove[gBankTarget] == 0xFFFF)
{
@@ -14203,7 +14203,7 @@ static void atk9E_metronome(void)
} while (sUnknown_081FACFE[i] != 0xFFFF);
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
gBankTarget = GetMoveTarget(gCurrentMove, 0);
}
@@ -14255,7 +14255,7 @@ _080278F8:\n\
ldr r1, _08027950 @ =0xfffffbff\n\
ands r0, r1\n\
str r0, [r2]\n\
- ldr r3, _08027954 @ =gBattleScriptsEffectsTable\n\
+ ldr r3, _08027954 @ =gBattleScriptsForMoveEffects\n\
ldr r2, _08027958 @ =gBattleMoves\n\
ldrh r1, [r4]\n\
lsls r0, r1, 1\n\
@@ -14286,7 +14286,7 @@ _08027944: .4byte 0x000001ff\n\
_08027948: .4byte 0x0000ffff\n\
_0802794C: .4byte gHitMarker\n\
_08027950: .4byte 0xfffffbff\n\
-_08027954: .4byte gBattleScriptsEffectsTable\n\
+_08027954: .4byte gBattleScriptsForMoveEffects\n\
_08027958: .4byte gBattleMoves\n\
_0802795C: .4byte gBankTarget\n\
.syntax divided");
@@ -14742,7 +14742,7 @@ struct move_pp
static void atkA8_copymovepermanently(void)
{
- gUnknown_02024BE8 = 0xFFFF;
+ gChosenMove = 0xFFFF;
if (!(gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED) && gUnknown_02024C2C[gBankTarget] != MOVE_STRUGGLE && gUnknown_02024C2C[gBankTarget] != 0 && gUnknown_02024C2C[gBankTarget] != 0xFFFF && gUnknown_02024C2C[gBankTarget] != MOVE_SKETCH)
{
int i;
@@ -15065,7 +15065,7 @@ static void atkB3_rolloutdamagecalculation(void)
if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
{
CancelMultiTurnMoves(gBankAttacker);
- gBattlescriptCurrInstr = BattleScript_1D6F74;
+ gBattlescriptCurrInstr = BattleScript_MoveMissedPause;
}
else
{
@@ -15104,7 +15104,7 @@ static void atkB5_furycuttercalc(void)
if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
{
gDisableStructs[gBankAttacker].furyCutterCounter = 0;
- gBattlescriptCurrInstr = BattleScript_1D6F74;
+ gBattlescriptCurrInstr = BattleScript_MoveMissedPause;
}
else
{
@@ -15147,13 +15147,13 @@ static void atkB7_presentdamagecalculation(void)
gBattleMoveDamage *= -1;
}
if (rand < 204)
- gBattlescriptCurrInstr = BattleScript_1D6F44;
+ gBattlescriptCurrInstr = BattleScript_HitFromCritCalc;
else if (gBattleMons[gBankTarget].maxHP == gBattleMons[gBankTarget].hp)
- gBattlescriptCurrInstr = BattleScript_1D83B5;
+ gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp;
else
{
//gBattleMoveFlags &= ~(MOVESTATUS_NOTAFFECTED); only in Emerald
- gBattlescriptCurrInstr = BattleScript_1D839B;
+ gBattlescriptCurrInstr = BattleScript_PresentHealTarget;
}
}
@@ -15953,7 +15953,7 @@ static void atkCC_callterrainattack(void) //nature power
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gCurrentMove = sNaturePowerMoves[gBattleTerrain];
gBankTarget = GetMoveTarget(gCurrentMove, 0);
- b_movescr_stack_push(gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect]);
+ b_movescr_stack_push(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]);
gBattlescriptCurrInstr++;
}
diff --git a/src/data/battle_strings_de.h b/src/data/battle_strings_de.h
index f78d0bf14..a3d51f2a5 100755
--- a/src/data/battle_strings_de.h
+++ b/src/data/battle_strings_de.h
@@ -1227,7 +1227,7 @@ const u16 gMissStrings[] =
BATTLE_TEXT_GroundMoveNegate,
};
-const u16 BattleTextList_401512[] =
+const u16 gNoEscapeStringIds[] =
{
BATTLE_TEXT_CantEscape2,
BATTLE_TEXT_BirchDontLeaveMe,
@@ -1236,7 +1236,7 @@ const u16 BattleTextList_401512[] =
BATTLE_TEXT_AttackingCantEscape,
};
-const u16 BattleTextList_40151C[] =
+const u16 gMoveWeatherChangeStringIds[] =
{
BATTLE_TEXT_RainStart,
BATTLE_TEXT_PourStart,
@@ -1246,39 +1246,39 @@ const u16 BattleTextList_40151C[] =
BATTLE_TEXT_HailStart,
};
-const u16 BattleTextList_401528[] =
+const u16 gSandStormHailContinuesStringIds[] =
{
BATTLE_TEXT_SandRages,
BATTLE_TEXT_HailCont,
};
-const u16 BattleTextList_40152C[] =
+const u16 gSandStormHailDmgStringIds[] =
{
BATTLE_TEXT_SandBuffeted,
BATTLE_TEXT_HailStricken,
};
-const u16 BattleTextList_401530[] =
+const u16 gSandStormHailEndStringIds[] =
{
BATTLE_TEXT_SandSubsided,
BATTLE_TEXT_HailStop,
};
-const u16 BattleTextList_401534[] =
+const u16 gRainContinuesStringIds[] =
{
BATTLE_TEXT_RainCont1,
BATTLE_TEXT_PourCont,
BATTLE_TEXT_RainStop,
};
-const u16 BattleTextList_40153A[] =
+const u16 gProtectLikeUsedStringIds[] =
{
BATTLE_TEXT_ProtectedItself2,
BATTLE_TEXT_BracedItself,
BATTLE_TEXT_Failed,
};
-const u16 BattleTextList_401540[] =
+const u16 gReflectLightScreenSafeguardStringIds[] =
{
BATTLE_TEXT_Failed,
BATTLE_TEXT_RaisedDefense,
@@ -1288,7 +1288,7 @@ const u16 BattleTextList_401540[] =
BATTLE_TEXT_CoveredVeil,
};
-const u16 BattleTextList_40154C[] =
+const u16 gLeechSeedStringIds[] =
{
BATTLE_TEXT_WasSeeded,
BATTLE_TEXT_EvadedAttack,
@@ -1297,44 +1297,44 @@ const u16 BattleTextList_40154C[] =
BATTLE_TEXT_OozeSuckup,
};
-const u16 BattleTextList_401556[] =
+const u16 gRestUsedStringIds[] =
{
BATTLE_TEXT_WentToSleep,
BATTLE_TEXT_SpeltHealthy,
};
-const u16 BattleTextList_40155A[] =
+const u16 gUproarOverTurnStringIds[] =
{
BATTLE_TEXT_UproarMaking,
BATTLE_TEXT_CalmedDown,
};
-const u16 BattleTextList_40155E[] =
+const u16 gStockpileUsedStringIds[] =
{
BATTLE_TEXT_Stockpiled,
BATTLE_TEXT_StockpiledCant,
};
-const u16 BattleTextList_401562[] =
+const u16 gWokeUpStringIds[] =
{
BATTLE_TEXT_WokeUp,
BATTLE_TEXT_UproarWoke,
};
-const u16 BattleTextList_401566[] =
+const u16 gSwallowFailStringIds[] =
{
BATTLE_TEXT_SwallowFail,
BATTLE_TEXT_HPFull,
};
-const u16 BattleTextList_40156A[] =
+const u16 gUproarAwakeStringIds[] =
{
BATTLE_TEXT_UproarCantSleep2,
BATTLE_TEXT_UproarKeptAwake,
BATTLE_TEXT_StayedAwake,
};
-const u16 BattleTextList_401570[] =
+const u16 gStatUpStringIds[] =
{
BATTLE_TEXT_UnknownString7,
BATTLE_TEXT_UnknownString3,
@@ -1344,7 +1344,7 @@ const u16 BattleTextList_401570[] =
BATTLE_TEXT_HustleUse,
};
-const u16 BattleTextList_40157C[] =
+const u16 gStatDownStringIds[] =
{
BATTLE_TEXT_UnknownString5,
BATTLE_TEXT_UnknownString6,
@@ -1352,7 +1352,7 @@ const u16 BattleTextList_40157C[] =
BATTLE_TEXT_Terminator2,
};
-const u16 BattleTextList_401584[] =
+const u16 gFirstTurnOfTwoStringIds[] =
{
BATTLE_TEXT_WhipWhirlwind,
BATTLE_TEXT_TookSunlight,
@@ -1364,7 +1364,7 @@ const u16 BattleTextList_401584[] =
BATTLE_TEXT_SprangUp,
};
-const u16 BattleTextList_401594[] =
+const u16 gWrappedStringIds[] =
{
BATTLE_TEXT_SqueezedBind,
BATTLE_TEXT_Wrapped,
@@ -1374,67 +1374,67 @@ const u16 BattleTextList_401594[] =
BATTLE_TEXT_SandTombTrapped,
};
-const u16 BattleTextList_4015A0[] =
+const u16 gMistUsedStringIds[] =
{
BATTLE_TEXT_MistShroud,
BATTLE_TEXT_Failed,
};
-const u16 BattleTextList_4015A4[] =
+const u16 gFocusEnergyUsedStringIds[] =
{
BATTLE_TEXT_GetPumped,
BATTLE_TEXT_Failed,
};
-const u16 BattleTextList_4015A8[] =
+const u16 gTransformUsedStringIds[] =
{
BATTLE_TEXT_Transformed,
BATTLE_TEXT_Failed,
};
-const u16 BattleTextList_4015AC[] =
+const u16 gSubsituteUsedStringIds[] =
{
BATTLE_TEXT_SubMade,
BATTLE_TEXT_SubWeak,
};
-const u16 BattleTextList_4015B0[] =
+const u16 gGotPoisonedStringIds[] =
{
BATTLE_TEXT_Poisoned,
BATTLE_TEXT_Poisoned2,
};
-const u16 BattleTextList_4015B4[] =
+const u16 gGotParalyzedStringIds[] =
{
BATTLE_TEXT_Paralyzed,
BATTLE_TEXT_Paralyzed2,
};
-const u16 BattleTextList_4015B8[] =
+const u16 gFellAsleepStringIds[] =
{
BATTLE_TEXT_FellAsleep,
BATTLE_TEXT_MadeAsleep,
};
-const u16 BattleTextList_4015BC[] =
+const u16 gGotBurnedStringIds[] =
{
BATTLE_TEXT_Burned,
BATTLE_TEXT_Burned2,
};
-const u16 BattleTextList_4015C0[] =
+const u16 gGotFrozenStringIds[] =
{
BATTLE_TEXT_Frozen,
BATTLE_TEXT_Frozen2,
};
-const u16 BattleTextList_4015C4[] =
+const u16 gGotDefrostedStringIds[] =
{
BATTLE_TEXT_AttackingDefrosted,
BATTLE_TEXT_Defrosted,
};
-const u16 BattleTextList_4015C8[] =
+const u16 gKOFailedStringIds[] =
{
BATTLE_TEXT_AttackMissed,
BATTLE_TEXT_Unaffected,
@@ -1442,19 +1442,19 @@ const u16 BattleTextList_4015C8[] =
BATTLE_TEXT_InfatuatedPoke,
};
-const u16 BattleTextList_4015D0[] =
+const u16 gLeechSeedDrainStringIds[] =
{
BATTLE_TEXT_EnergyDrained,
BATTLE_TEXT_OozeSuckup,
};
-const u16 BattleTextList_4015D4[] =
+const u16 gSportsUsedStringIds[] =
{
BATTLE_TEXT_ElecWeakened,
BATTLE_TEXT_FireWeakened,
};
-const u16 BattleTextList_4015D8[] =
+const u16 gPartyStatusHealStringIds[] =
{
BATTLE_TEXT_BellChime,
BATTLE_TEXT_BellChime,
@@ -1463,13 +1463,13 @@ const u16 BattleTextList_4015D8[] =
BATTLE_TEXT_SoothingAroma,
};
-const u16 BattleTextList_4015E2[] =
+const u16 gFutureMoveUsedStringIds[] =
{
BATTLE_TEXT_ForesawAttack,
BATTLE_TEXT_ChoseDestiny,
};
-const u16 BattleTextList_4015E6[] =
+const u16 gBallEscapeStringIds[] =
{
BATTLE_TEXT_BallBrokeOhNo,
BATTLE_TEXT_BallBrokeAppeared,
@@ -1477,7 +1477,7 @@ const u16 BattleTextList_4015E6[] =
BATTLE_TEXT_BallBrokeSoClose,
};
-const u16 BattleTextList_4015EE[] =
+const u16 gWeatherContinuesStringIds[] =
{
BATTLE_TEXT_Raining,
BATTLE_TEXT_Raining,
@@ -1497,7 +1497,7 @@ const u16 BattleTextList_4015EE[] =
BATTLE_TEXT_Raining,
};
-const u16 BattleTextList_40160E[] =
+const u16 gInobedientStringIds[] =
{
BATTLE_TEXT_LoafingAround,
BATTLE_TEXT_WontObey,
@@ -1505,20 +1505,20 @@ const u16 BattleTextList_40160E[] =
BATTLE_TEXT_NotNotice,
};
-const u16 BattleTextList_401616[] =
+const u16 gSafariGetNearStringIds[] =
{
BATTLE_TEXT_CreptCloser,
BATTLE_TEXT_CantGetCloser,
};
-const u16 BattleTextList_40161A[] =
+const u16 gSafariPokeblockResultStringIds[] =
{
BATTLE_TEXT_CuriousAbout,
BATTLE_TEXT_EnthralledBy,
BATTLE_TEXT_IgnoredThing,
};
-const u16 BattleTextList_401620[] =
+const u16 gTrainerItemCuredStatusStringIds[] =
{
BATTLE_TEXT_CuredConfusion,
BATTLE_TEXT_CuredParalysis,
@@ -1528,41 +1528,41 @@ const u16 BattleTextList_401620[] =
BATTLE_TEXT_CuredSleep,
};
-const u16 BattleTextList_40162C[] =
+const u16 gBerryEffectStringIds[] =
{
BATTLE_TEXT_CuredStatus,
BATTLE_TEXT_NormalizedStatus,
};
-const u16 BattleTextList_401630[] =
+const u16 gBRNPreventionStringIds[] =
{
BATTLE_TEXT_PreventedBurn,
BATTLE_TEXT_PreventedOther2,
BATTLE_TEXT_NoEffectOn,
};
-const u16 BattleTextList_401636[] =
+const u16 gPRLZPreventionStringIds[] =
{
BATTLE_TEXT_PreventedPara,
BATTLE_TEXT_PreventedOther2,
BATTLE_TEXT_NoEffectOn,
};
-const u16 BattleTextList_40163C[] =
+const u16 gPSNPreventionStringIds[] =
{
BATTLE_TEXT_PreventedPoison,
BATTLE_TEXT_PreventedOther2,
BATTLE_TEXT_NoEffectOn,
};
-const u16 BattleTextList_401642[] =
+const u16 gItemSwapStringIds[] =
{
BATTLE_TEXT_Obtained1,
BATTLE_TEXT_Obtained2,
BATTLE_TEXT_Obtained3,
};
-const u16 BattleTextList_401648[] =
+const u16 gFlashFireStringIds[] =
{
BATTLE_TEXT_RaisedFirePower,
BATTLE_TEXT_MadeIneffective,
diff --git a/src/data/battle_strings_en.h b/src/data/battle_strings_en.h
index 26523d2e0..f29e48410 100755
--- a/src/data/battle_strings_en.h
+++ b/src/data/battle_strings_en.h
@@ -1227,7 +1227,7 @@ const u16 gMissStrings[] =
BATTLE_TEXT_GroundMoveNegate,
};
-const u16 BattleTextList_401512[] =
+const u16 gNoEscapeStringIds[] =
{
BATTLE_TEXT_CantEscape2,
BATTLE_TEXT_BirchDontLeaveMe,
@@ -1236,7 +1236,7 @@ const u16 BattleTextList_401512[] =
BATTLE_TEXT_AttackingCantEscape,
};
-const u16 BattleTextList_40151C[] =
+const u16 gMoveWeatherChangeStringIds[] =
{
BATTLE_TEXT_RainStart,
BATTLE_TEXT_PourStart,
@@ -1246,39 +1246,39 @@ const u16 BattleTextList_40151C[] =
BATTLE_TEXT_HailStart,
};
-const u16 BattleTextList_401528[] =
+const u16 gSandStormHailContinuesStringIds[] =
{
BATTLE_TEXT_SandRages,
BATTLE_TEXT_HailCont,
};
-const u16 BattleTextList_40152C[] =
+const u16 gSandStormHailDmgStringIds[] =
{
BATTLE_TEXT_SandBuffeted,
BATTLE_TEXT_HailStricken,
};
-const u16 BattleTextList_401530[] =
+const u16 gSandStormHailEndStringIds[] =
{
BATTLE_TEXT_SandSubsided,
BATTLE_TEXT_HailStop,
};
-const u16 BattleTextList_401534[] =
+const u16 gRainContinuesStringIds[] =
{
BATTLE_TEXT_RainCont1,
BATTLE_TEXT_PourCont,
BATTLE_TEXT_RainStop,
};
-const u16 BattleTextList_40153A[] =
+const u16 gProtectLikeUsedStringIds[] =
{
BATTLE_TEXT_ProtectedItself2,
BATTLE_TEXT_BracedItself,
BATTLE_TEXT_Failed,
};
-const u16 BattleTextList_401540[] =
+const u16 gReflectLightScreenSafeguardStringIds[] =
{
BATTLE_TEXT_Failed,
BATTLE_TEXT_RaisedDefense,
@@ -1288,7 +1288,7 @@ const u16 BattleTextList_401540[] =
BATTLE_TEXT_CoveredVeil,
};
-const u16 BattleTextList_40154C[] =
+const u16 gLeechSeedStringIds[] =
{
BATTLE_TEXT_WasSeeded,
BATTLE_TEXT_EvadedAttack,
@@ -1297,44 +1297,44 @@ const u16 BattleTextList_40154C[] =
BATTLE_TEXT_OozeSuckup,
};
-const u16 BattleTextList_401556[] =
+const u16 gRestUsedStringIds[] =
{
BATTLE_TEXT_WentToSleep,
BATTLE_TEXT_SpeltHealthy,
};
-const u16 BattleTextList_40155A[] =
+const u16 gUproarOverTurnStringIds[] =
{
BATTLE_TEXT_UproarMaking,
BATTLE_TEXT_CalmedDown,
};
-const u16 BattleTextList_40155E[] =
+const u16 gStockpileUsedStringIds[] =
{
BATTLE_TEXT_Stockpiled,
BATTLE_TEXT_StockpiledCant,
};
-const u16 BattleTextList_401562[] =
+const u16 gWokeUpStringIds[] =
{
BATTLE_TEXT_WokeUp,
BATTLE_TEXT_UproarWoke,
};
-const u16 BattleTextList_401566[] =
+const u16 gSwallowFailStringIds[] =
{
BATTLE_TEXT_SwallowFail,
BATTLE_TEXT_HPFull,
};
-const u16 BattleTextList_40156A[] =
+const u16 gUproarAwakeStringIds[] =
{
BATTLE_TEXT_UproarCantSleep2,
BATTLE_TEXT_UproarKeptAwake,
BATTLE_TEXT_StayedAwake,
};
-const u16 BattleTextList_401570[] =
+const u16 gStatUpStringIds[] =
{
BATTLE_TEXT_UnknownString7,
BATTLE_TEXT_UnknownString3,
@@ -1344,7 +1344,7 @@ const u16 BattleTextList_401570[] =
BATTLE_TEXT_HustleUse,
};
-const u16 BattleTextList_40157C[] =
+const u16 gStatDownStringIds[] =
{
BATTLE_TEXT_UnknownString5,
BATTLE_TEXT_UnknownString6,
@@ -1352,7 +1352,7 @@ const u16 BattleTextList_40157C[] =
BATTLE_TEXT_Terminator2,
};
-const u16 BattleTextList_401584[] =
+const u16 gFirstTurnOfTwoStringIds[] =
{
BATTLE_TEXT_WhipWhirlwind,
BATTLE_TEXT_TookSunlight,
@@ -1364,7 +1364,7 @@ const u16 BattleTextList_401584[] =
BATTLE_TEXT_SprangUp,
};
-const u16 BattleTextList_401594[] =
+const u16 gWrappedStringIds[] =
{
BATTLE_TEXT_SqueezedBind,
BATTLE_TEXT_Wrapped,
@@ -1374,67 +1374,67 @@ const u16 BattleTextList_401594[] =
BATTLE_TEXT_SandTombTrapped,
};
-const u16 BattleTextList_4015A0[] =
+const u16 gMistUsedStringIds[] =
{
BATTLE_TEXT_MistShroud,
BATTLE_TEXT_Failed,
};
-const u16 BattleTextList_4015A4[] =
+const u16 gFocusEnergyUsedStringIds[] =
{
BATTLE_TEXT_GetPumped,
BATTLE_TEXT_Failed,
};
-const u16 BattleTextList_4015A8[] =
+const u16 gTransformUsedStringIds[] =
{
BATTLE_TEXT_Transformed,
BATTLE_TEXT_Failed,
};
-const u16 BattleTextList_4015AC[] =
+const u16 gSubsituteUsedStringIds[] =
{
BATTLE_TEXT_SubMade,
BATTLE_TEXT_SubWeak,
};
-const u16 BattleTextList_4015B0[] =
+const u16 gGotPoisonedStringIds[] =
{
BATTLE_TEXT_Poisoned,
BATTLE_TEXT_Poisoned2,
};
-const u16 BattleTextList_4015B4[] =
+const u16 gGotParalyzedStringIds[] =
{
BATTLE_TEXT_Paralyzed,
BATTLE_TEXT_Paralyzed2,
};
-const u16 BattleTextList_4015B8[] =
+const u16 gFellAsleepStringIds[] =
{
BATTLE_TEXT_FellAsleep,
BATTLE_TEXT_MadeAsleep,
};
-const u16 BattleTextList_4015BC[] =
+const u16 gGotBurnedStringIds[] =
{
BATTLE_TEXT_Burned,
BATTLE_TEXT_Burned2,
};
-const u16 BattleTextList_4015C0[] =
+const u16 gGotFrozenStringIds[] =
{
BATTLE_TEXT_Frozen,
BATTLE_TEXT_Frozen2,
};
-const u16 BattleTextList_4015C4[] =
+const u16 gGotDefrostedStringIds[] =
{
BATTLE_TEXT_AttackingDefrosted,
BATTLE_TEXT_Defrosted,
};
-const u16 BattleTextList_4015C8[] =
+const u16 gKOFailedStringIds[] =
{
BATTLE_TEXT_AttackMissed,
BATTLE_TEXT_Unaffected,
@@ -1442,19 +1442,19 @@ const u16 BattleTextList_4015C8[] =
BATTLE_TEXT_InfatuatedPoke,
};
-const u16 BattleTextList_4015D0[] =
+const u16 gLeechSeedDrainStringIds[] =
{
BATTLE_TEXT_EnergyDrained,
BATTLE_TEXT_OozeSuckup,
};
-const u16 BattleTextList_4015D4[] =
+const u16 gSportsUsedStringIds[] =
{
BATTLE_TEXT_ElecWeakened,
BATTLE_TEXT_FireWeakened,
};
-const u16 BattleTextList_4015D8[] =
+const u16 gPartyStatusHealStringIds[] =
{
BATTLE_TEXT_BellChime,
BATTLE_TEXT_BellChime,
@@ -1463,13 +1463,13 @@ const u16 BattleTextList_4015D8[] =
BATTLE_TEXT_SoothingAroma,
};
-const u16 BattleTextList_4015E2[] =
+const u16 gFutureMoveUsedStringIds[] =
{
BATTLE_TEXT_ForesawAttack,
BATTLE_TEXT_ChoseDestiny,
};
-const u16 BattleTextList_4015E6[] =
+const u16 gBallEscapeStringIds[] =
{
BATTLE_TEXT_BallBrokeOhNo,
BATTLE_TEXT_BallBrokeAppeared,
@@ -1477,7 +1477,7 @@ const u16 BattleTextList_4015E6[] =
BATTLE_TEXT_BallBrokeSoClose,
};
-const u16 BattleTextList_4015EE[] =
+const u16 gWeatherContinuesStringIds[] =
{
BATTLE_TEXT_Raining,
BATTLE_TEXT_Raining,
@@ -1497,7 +1497,7 @@ const u16 BattleTextList_4015EE[] =
BATTLE_TEXT_Raining,
};
-const u16 BattleTextList_40160E[] =
+const u16 gInobedientStringIds[] =
{
BATTLE_TEXT_LoafingAround,
BATTLE_TEXT_WontObey,
@@ -1505,20 +1505,20 @@ const u16 BattleTextList_40160E[] =
BATTLE_TEXT_NotNotice,
};
-const u16 BattleTextList_401616[] =
+const u16 gSafariGetNearStringIds[] =
{
BATTLE_TEXT_CreptCloser,
BATTLE_TEXT_CantGetCloser,
};
-const u16 BattleTextList_40161A[] =
+const u16 gSafariPokeblockResultStringIds[] =
{
BATTLE_TEXT_CuriousAbout,
BATTLE_TEXT_EnthralledBy,
BATTLE_TEXT_IgnoredThing,
};
-const u16 BattleTextList_401620[] =
+const u16 gTrainerItemCuredStatusStringIds[] =
{
BATTLE_TEXT_CuredConfusion,
BATTLE_TEXT_CuredParalysis,
@@ -1528,41 +1528,41 @@ const u16 BattleTextList_401620[] =
BATTLE_TEXT_CuredSleep,
};
-const u16 BattleTextList_40162C[] =
+const u16 gBerryEffectStringIds[] =
{
BATTLE_TEXT_CuredStatus,
BATTLE_TEXT_NormalizedStatus,
};
-const u16 BattleTextList_401630[] =
+const u16 gBRNPreventionStringIds[] =
{
BATTLE_TEXT_PreventedBurn,
BATTLE_TEXT_PreventedOther2,
BATTLE_TEXT_NoEffectOn,
};
-const u16 BattleTextList_401636[] =
+const u16 gPRLZPreventionStringIds[] =
{
BATTLE_TEXT_PreventedPara,
BATTLE_TEXT_PreventedOther2,
BATTLE_TEXT_NoEffectOn,
};
-const u16 BattleTextList_40163C[] =
+const u16 gPSNPreventionStringIds[] =
{
BATTLE_TEXT_PreventedPoison,
BATTLE_TEXT_PreventedOther2,
BATTLE_TEXT_NoEffectOn,
};
-const u16 BattleTextList_401642[] =
+const u16 gItemSwapStringIds[] =
{
BATTLE_TEXT_Obtained1,
BATTLE_TEXT_Obtained2,
BATTLE_TEXT_Obtained3,
};
-const u16 BattleTextList_401648[] =
+const u16 gFlashFireStringIds[] =
{
BATTLE_TEXT_RaisedFirePower,
BATTLE_TEXT_MadeIneffective,
diff --git a/src/rom3.c b/src/rom3.c
index b29bc7428..cdc66989c 100644
--- a/src/rom3.c
+++ b/src/rom3.c
@@ -35,7 +35,7 @@ extern u8 gNoOfAllBanks;
extern u16 gBattlePartyID[];
extern u8 gBanksBySide[];
extern u16 gCurrentMove;
-extern u16 gUnknown_02024BE8;
+extern u16 gChosenMove;
extern u16 gLastUsedItem;
extern u8 gLastUsedAbility;
extern u8 gBankAttacker;
@@ -745,7 +745,7 @@ void EmitPrintString(u8 a, u16 stringID)
stringInfo = (struct StringInfoBattle*)(&gBattleBuffersTransferData[4]);
stringInfo->currentMove = gCurrentMove;
- stringInfo->lastMove = gUnknown_02024BE8;
+ stringInfo->lastMove = gChosenMove;
stringInfo->lastItem = gLastUsedItem;
stringInfo->lastAbility = gLastUsedAbility;
stringInfo->scrActive = BATTLE_STRUCT->scriptingActive;
@@ -777,7 +777,7 @@ void EmitPrintStringPlayerOnly(u8 a, u16 stringID)
stringInfo = (struct StringInfoBattle*)(&gBattleBuffersTransferData[4]);
stringInfo->currentMove = gCurrentMove;
- stringInfo->lastMove = gUnknown_02024BE8;
+ stringInfo->lastMove = gChosenMove;
stringInfo->lastItem = gLastUsedItem;
stringInfo->lastAbility = gLastUsedAbility;
stringInfo->scrActive = BATTLE_STRUCT->scriptingActive;
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 3f2ba7660..8a216b012 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -110,7 +110,7 @@ gUnknown_02024BE5: @ 2024BE5
gCurrentMove: @ 2024BE6
.space 0x2
-gUnknown_02024BE8: @ 2024BE8
+gChosenMove: @ 2024BE8
.space 0x2
gRandomMove: @ 2024BEA