From a4263a6bd8fa3a31d2b1de1279414b403a58e28b Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 29 Jul 2019 06:47:34 +0800 Subject: ported battle_controller_safari from pokeem --- asm/battle_script_commands.s | 168 +++++++++++++++++++++---------------------- 1 file changed, 84 insertions(+), 84 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 42d1f653d..5af41017e 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -1291,7 +1291,7 @@ _0801E1D4: .4byte gUnknown_2023E82 thumb_func_start atk02_attackstring atk02_attackstring: @ 801E1D8 push {r4,r5,lr} - ldr r0, _0801E218 @ =gUnknown_2023BC8 + ldr r0, _0801E218 @ =gBattleControllerExecFlags ldr r5, [r0] cmp r5, 0 bne _0801E210 @@ -1323,7 +1323,7 @@ _0801E210: pop {r0} bx r0 .align 2, 0 -_0801E218: .4byte gUnknown_2023BC8 +_0801E218: .4byte gBattleControllerExecFlags _0801E21C: .4byte gUnknown_2023DD0 _0801E220: .4byte sBattler_AI _0801E224: .4byte gUnknown_2023D74 @@ -1339,7 +1339,7 @@ atk03_ppreduce: @ 801E22C push {r5-r7} sub sp, 0x4 movs r6, 0x1 - ldr r0, _0801E27C @ =gUnknown_2023BC8 + ldr r0, _0801E27C @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0801E244 @@ -1374,7 +1374,7 @@ _0801E244: beq _0801E2AC b _0801E2C6 .align 2, 0 -_0801E27C: .4byte gUnknown_2023BC8 +_0801E27C: .4byte gBattleControllerExecFlags _0801E280: .4byte gUnknown_2023ECC _0801E284: .4byte sBattler_AI _0801E288: .4byte gBattleMoves @@ -3640,7 +3640,7 @@ atk09_attackanimation: @ 801F440 mov r6, r8 push {r6} sub sp, 0xC - ldr r0, _0801F488 @ =gUnknown_2023BC8 + ldr r0, _0801F488 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0801F452 @@ -3673,7 +3673,7 @@ _0801F452: strb r0, [r1, 0x19] b _0801F572 .align 2, 0 -_0801F488: .4byte gUnknown_2023BC8 +_0801F488: .4byte gBattleControllerExecFlags _0801F48C: .4byte gUnknown_2023DD0 _0801F490: .4byte gCurrentMove _0801F494: .4byte gUnknown_2023D74 @@ -3791,7 +3791,7 @@ _0801F584: .4byte gUnknown_81D89F1 thumb_func_start sub_801F588 sub_801F588: @ 801F588 push {lr} - ldr r0, _0801F5A0 @ =gUnknown_2023BC8 + ldr r0, _0801F5A0 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801F59A @@ -3803,14 +3803,14 @@ _0801F59A: pop {r0} bx r0 .align 2, 0 -_0801F5A0: .4byte gUnknown_2023BC8 +_0801F5A0: .4byte gBattleControllerExecFlags _0801F5A4: .4byte gUnknown_2023D74 thumb_func_end sub_801F588 thumb_func_start atk0B_healthbarupdate atk0B_healthbarupdate: @ 801F5A8 push {r4,lr} - ldr r0, _0801F60C @ =gUnknown_2023BC8 + ldr r0, _0801F60C @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801F66A @@ -3858,7 +3858,7 @@ atk0B_healthbarupdate: @ 801F5A8 bl PrepareStringBattle b _0801F662 .align 2, 0 -_0801F60C: .4byte gUnknown_2023BC8 +_0801F60C: .4byte gBattleControllerExecFlags _0801F610: .4byte gMoveResultFlags _0801F614: .4byte gUnknown_2023D74 _0801F618: .4byte gActiveBattler @@ -3914,7 +3914,7 @@ _0801F680: .4byte gUnknown_2023D74 atk0C_datahpupdate: @ 801F684 push {r4-r7,lr} sub sp, 0x4 - ldr r0, _0801F6AC @ =gUnknown_2023BC8 + ldr r0, _0801F6AC @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0801F692 @@ -3933,7 +3933,7 @@ _0801F692: ands r6, r1 b _0801F6C4 .align 2, 0 -_0801F6AC: .4byte gUnknown_2023BC8 +_0801F6AC: .4byte gBattleControllerExecFlags _0801F6B0: .4byte gBattleStruct _0801F6B4: ldr r2, _0801F750 @ =gBattleMoves @@ -4403,7 +4403,7 @@ _0801FA78: .4byte 0x0000ffff thumb_func_start atk0D_critmessage atk0D_critmessage: @ 801FA7C push {lr} - ldr r0, _0801FAB8 @ =gUnknown_2023BC8 + ldr r0, _0801FAB8 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FAB2 @@ -4433,7 +4433,7 @@ _0801FAB2: pop {r0} bx r0 .align 2, 0 -_0801FAB8: .4byte gUnknown_2023BC8 +_0801FAB8: .4byte gBattleControllerExecFlags _0801FABC: .4byte gCritMultiplier _0801FAC0: .4byte gMoveResultFlags _0801FAC4: .4byte sBattler_AI @@ -4444,7 +4444,7 @@ _0801FACC: .4byte gUnknown_2023D74 thumb_func_start atk0E_effectivenesssound atk0E_effectivenesssound: @ 801FAD0 push {r4,lr} - ldr r0, _0801FB08 @ =gUnknown_2023BC8 + ldr r0, _0801FB08 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FB90 @@ -4472,7 +4472,7 @@ atk0E_effectivenesssound: @ 801FAD0 beq _0801FB2C b _0801FB42 .align 2, 0 -_0801FB08: .4byte gUnknown_2023BC8 +_0801FB08: .4byte gBattleControllerExecFlags _0801FB0C: .4byte gActiveBattler _0801FB10: .4byte gBattlerTarget _0801FB14: .4byte gMoveResultFlags @@ -4553,7 +4553,7 @@ _0801FB9C: .4byte gUnknown_2023D74 atk0F_resultmessage: @ 801FBA0 push {r4-r7,lr} movs r3, 0 - ldr r0, _0801FBDC @ =gUnknown_2023BC8 + ldr r0, _0801FBDC @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0801FBAE @@ -4584,7 +4584,7 @@ _0801FBCE: strb r4, [r7, 0x7] b _0801FD2A .align 2, 0 -_0801FBDC: .4byte gUnknown_2023BC8 +_0801FBDC: .4byte gBattleControllerExecFlags _0801FBE0: .4byte gMoveResultFlags _0801FBE4: .4byte gUnknown_2023E82 _0801FBE8: .4byte gUnknown_83FE514 @@ -4775,7 +4775,7 @@ _0801FD4C: .4byte gUnknown_2023D74 thumb_func_start atk10_printstring atk10_printstring: @ 801FD50 push {r4,lr} - ldr r0, _0801FD80 @ =gUnknown_2023BC8 + ldr r0, _0801FD80 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FD7A @@ -4799,7 +4799,7 @@ _0801FD7A: pop {r0} bx r0 .align 2, 0 -_0801FD80: .4byte gUnknown_2023BC8 +_0801FD80: .4byte gBattleControllerExecFlags _0801FD84: .4byte gUnknown_2023D74 _0801FD88: .4byte sBattler_AI _0801FD8C: .4byte gUnknown_2023E82 @@ -4841,7 +4841,7 @@ _0801FDD0: .4byte gUnknown_2023E82 thumb_func_start atk12_waitmessage atk12_waitmessage: @ 801FDD4 push {r4-r6,lr} - ldr r0, _0801FDF0 @ =gUnknown_2023BC8 + ldr r0, _0801FDF0 @ =gBattleControllerExecFlags ldr r4, [r0] cmp r4, 0 bne _0801FE22 @@ -4855,7 +4855,7 @@ atk12_waitmessage: @ 801FDD4 str r0, [r1] b _0801FE22 .align 2, 0 -_0801FDF0: .4byte gUnknown_2023BC8 +_0801FDF0: .4byte gBattleControllerExecFlags _0801FDF4: .4byte gUnknown_2023E82 _0801FDF8: .4byte gUnknown_2023D74 _0801FDFC: @@ -4890,7 +4890,7 @@ _0801FE2C: .4byte gUnknown_2023E7C thumb_func_start atk13_printfromtable atk13_printfromtable: @ 801FE30 push {r4,r5,lr} - ldr r0, _0801FE74 @ =gUnknown_2023BC8 + ldr r0, _0801FE74 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FE6E @@ -4924,7 +4924,7 @@ _0801FE6E: pop {r0} bx r0 .align 2, 0 -_0801FE74: .4byte gUnknown_2023BC8 +_0801FE74: .4byte gBattleControllerExecFlags _0801FE78: .4byte gUnknown_2023D74 _0801FE7C: .4byte gUnknown_2023E82 _0801FE80: .4byte sBattler_AI @@ -4933,7 +4933,7 @@ _0801FE80: .4byte sBattler_AI thumb_func_start atk14_printselectionstringfromtable atk14_printselectionstringfromtable: @ 801FE84 push {r4-r6,lr} - ldr r0, _0801FED4 @ =gUnknown_2023BC8 + ldr r0, _0801FED4 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FECE @@ -4972,7 +4972,7 @@ _0801FECE: pop {r0} bx r0 .align 2, 0 -_0801FED4: .4byte gUnknown_2023BC8 +_0801FED4: .4byte gBattleControllerExecFlags _0801FED8: .4byte gUnknown_2023D74 _0801FEDC: .4byte gUnknown_2023E82 _0801FEE0: .4byte gActiveBattler @@ -7726,7 +7726,7 @@ _08021592: thumb_func_start atk1A_faint_animation atk1A_faint_animation: @ 80215A0 push {r4,r5,lr} - ldr r0, _080215D0 @ =gUnknown_2023BC8 + ldr r0, _080215D0 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _080215CA @@ -7748,7 +7748,7 @@ _080215CA: pop {r0} bx r0 .align 2, 0 -_080215D0: .4byte gUnknown_2023BC8 +_080215D0: .4byte gBattleControllerExecFlags _080215D4: .4byte gUnknown_2023D74 _080215D8: .4byte gActiveBattler thumb_func_end atk1A_faint_animation @@ -7757,7 +7757,7 @@ _080215D8: .4byte gActiveBattler atk1B_faint_effects_clear: @ 80215DC push {r4-r6,lr} sub sp, 0x4 - ldr r0, _08021630 @ =gUnknown_2023BC8 + ldr r0, _08021630 @ =gBattleControllerExecFlags ldr r6, [r0] cmp r6, 0 bne _08021628 @@ -7795,7 +7795,7 @@ _08021628: pop {r0} bx r0 .align 2, 0 -_08021630: .4byte gUnknown_2023BC8 +_08021630: .4byte gBattleControllerExecFlags _08021634: .4byte gUnknown_2023D74 _08021638: .4byte gActiveBattler _0802163C: .4byte gBattleMons @@ -8582,7 +8582,7 @@ _08021C52: mov r4, r8 strb r4, [r0] _08021C6A: - ldr r0, _08021CA8 @ =gUnknown_2023BC8 + ldr r0, _08021CA8 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _08021C74 @@ -8611,7 +8611,7 @@ _08021C74: _08021C9C: .4byte gUnknown_2023F52 _08021CA0: .4byte gBattleScripting _08021CA4: .4byte gBattleStruct -_08021CA8: .4byte gUnknown_2023BC8 +_08021CA8: .4byte gBattleControllerExecFlags _08021CAC: .4byte gPlayerParty _08021CB0: .4byte gSaveBlock1Ptr _08021CB4: .4byte 0x0000311a @@ -8946,7 +8946,7 @@ _08021F6C: .4byte gPlayerParty _08021F70: .4byte gBattleMons _08021F74: .4byte gUnknown_2023D6D _08021F78: - ldr r0, _0802205C @ =gUnknown_2023BC8 + ldr r0, _0802205C @ =gBattleControllerExecFlags ldr r2, [r0] cmp r2, 0 beq _08021F82 @@ -9053,7 +9053,7 @@ _08022052: strb r0, [r1, 0x1C] b _080223DA .align 2, 0 -_0802205C: .4byte gUnknown_2023BC8 +_0802205C: .4byte gBattleControllerExecFlags _08022060: .4byte gUnknown_20233C4 _08022064: .4byte gBattleStruct _08022068: .4byte gPlayerParty @@ -9062,7 +9062,7 @@ _08022070: .4byte gActiveBattler _08022074: .4byte gBattleMoveDamage _08022078: .4byte gBattleScripting _0802207C: - ldr r0, _08022314 @ =gUnknown_2023BC8 + ldr r0, _08022314 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _08022086 @@ -9379,7 +9379,7 @@ _08022256: strh r0, [r1] b _08022356 .align 2, 0 -_08022314: .4byte gUnknown_2023BC8 +_08022314: .4byte gBattleControllerExecFlags _08022318: .4byte gActiveBattler _0802231C: .4byte gBattleStruct _08022320: .4byte gUnknown_20233C4 @@ -9443,7 +9443,7 @@ _080223A4: .align 2, 0 _080223AC: .4byte gBattleScripting _080223B0: - ldr r0, _080223E8 @ =gUnknown_2023BC8 + ldr r0, _080223E8 @ =gBattleControllerExecFlags ldr r5, [r0] cmp r5, 0 bne _080223DA @@ -9472,7 +9472,7 @@ _080223DA: pop {r0} bx r0 .align 2, 0 -_080223E8: .4byte gUnknown_2023BC8 +_080223E8: .4byte gBattleControllerExecFlags _080223EC: .4byte gBattleMons _080223F0: .4byte gUnknown_2023D6D _080223F4: .4byte gUnknown_2023D74 @@ -9484,7 +9484,7 @@ sub_80223F8: @ 80223F8 mov r7, r8 push {r7} movs r6, 0 - ldr r0, _08022534 @ =gUnknown_2023BC8 + ldr r0, _08022534 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0802240A @@ -9645,7 +9645,7 @@ _0802251E: bgt _08022560 b _0802257A .align 2, 0 -_08022534: .4byte gUnknown_2023BC8 +_08022534: .4byte gBattleControllerExecFlags _08022538: .4byte gPlayerParty _0802253C: .4byte gBattleOutcome _08022540: .4byte gEnemyParty @@ -10610,7 +10610,7 @@ _08022C04: .4byte gUnknown_2023D74 thumb_func_start atk39_pause atk39_pause: @ 8022C08 push {r4,r5,lr} - ldr r0, _08022C3C @ =gUnknown_2023BC8 + ldr r0, _08022C3C @ =gBattleControllerExecFlags ldr r4, [r0] cmp r4, 0 bne _08022C34 @@ -10636,7 +10636,7 @@ _08022C34: pop {r0} bx r0 .align 2, 0 -_08022C3C: .4byte gUnknown_2023BC8 +_08022C3C: .4byte gBattleControllerExecFlags _08022C40: .4byte gUnknown_2023D74 _08022C44: .4byte gUnknown_2023E7C thumb_func_end atk39_pause @@ -10644,7 +10644,7 @@ _08022C44: .4byte gUnknown_2023E7C thumb_func_start sub_8022C48 sub_8022C48: @ 8022C48 push {lr} - ldr r0, _08022C60 @ =gUnknown_2023BC8 + ldr r0, _08022C60 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08022C5A @@ -10656,7 +10656,7 @@ _08022C5A: pop {r0} bx r0 .align 2, 0 -_08022C60: .4byte gUnknown_2023BC8 +_08022C60: .4byte gBattleControllerExecFlags _08022C64: .4byte gUnknown_2023D74 thumb_func_end sub_8022C48 @@ -12993,7 +12993,7 @@ _08023ED4: .4byte gUnknown_2023D74 thumb_func_start atk4C_getswitchedmondata atk4C_getswitchedmondata: @ 8023ED8 push {r4,r5,lr} - ldr r0, _08023F30 @ =gUnknown_2023BC8 + ldr r0, _08023F30 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08023F28 @@ -13034,7 +13034,7 @@ _08023F28: pop {r0} bx r0 .align 2, 0 -_08023F30: .4byte gUnknown_2023BC8 +_08023F30: .4byte gBattleControllerExecFlags _08023F34: .4byte gUnknown_2023D74 _08023F38: .4byte gActiveBattler _08023F3C: .4byte gBattlerPartyIndexes @@ -13046,7 +13046,7 @@ _08023F44: .4byte gBitTable sub_8023F48: @ 8023F48 push {r4-r7,lr} sub sp, 0x58 - ldr r0, _080240A0 @ =gUnknown_2023BC8 + ldr r0, _080240A0 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _08023F56 @@ -13218,7 +13218,7 @@ _08024098: pop {r0} bx r0 .align 2, 0 -_080240A0: .4byte gUnknown_2023BC8 +_080240A0: .4byte gBattleControllerExecFlags _080240A4: .4byte gUnknown_2023D74 _080240A8: .4byte gActiveBattler _080240AC: .4byte gBattleMons @@ -13236,7 +13236,7 @@ _080240D0: .4byte gBattleTextBuff1 thumb_func_start sub_80240D4 sub_80240D4: @ 80240D4 push {r4-r6,lr} - ldr r0, _08024168 @ =gUnknown_2023BC8 + ldr r0, _08024168 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08024160 @@ -13305,7 +13305,7 @@ _08024160: pop {r0} bx r0 .align 2, 0 -_08024168: .4byte gUnknown_2023BC8 +_08024168: .4byte gBattleControllerExecFlags _0802416C: .4byte gUnknown_2023D74 _08024170: .4byte gActiveBattler _08024174: .4byte gBattleTypeFlags @@ -14623,7 +14623,7 @@ _08024C44: .4byte gBitTable thumb_func_start sub_8024C48 sub_8024C48: @ 8024C48 push {r4-r7,lr} - ldr r0, _08024C74 @ =gUnknown_2023BC8 + ldr r0, _08024C74 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _08024C54 @@ -14645,7 +14645,7 @@ _08024C54: beq _08024C86 b _08024E0E .align 2, 0 -_08024C74: .4byte gUnknown_2023BC8 +_08024C74: .4byte gBattleControllerExecFlags _08024C78: .4byte gUnknown_2023D74 _08024C7C: .4byte gActiveBattler _08024C80: @@ -15559,7 +15559,7 @@ _080253C4: bl sub_802DB7C ldr r0, _080253F0 @ =gUnknown_83FE791 movs r1, 0xE - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r1, _080253F4 @ =gBattleScripting ldrb r0, [r1, 0x1F] adds r0, 0x1 @@ -15702,7 +15702,7 @@ _08025500: _0802550E: ldr r0, _08025530 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _08025534 @ =sub_8011100 + ldr r0, _08025534 @ =BattleMainCB2 cmp r1, r0 beq _0802551A b _080256D0 @@ -15718,7 +15718,7 @@ _0802551A: .align 2, 0 _0802552C: .4byte gPaletteFade _08025530: .4byte gMain -_08025534: .4byte sub_8011100 +_08025534: .4byte BattleMainCB2 _08025538: .4byte gBattleScripting _0802553C: ldr r6, _08025578 @ =gBattleStruct @@ -15897,7 +15897,7 @@ _080256A4: .align 2, 0 _080256C0: .4byte gUnknown_2023D74 _080256C4: - ldr r0, _080256DC @ =gUnknown_2023BC8 + ldr r0, _080256DC @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _080256D0 @@ -15911,7 +15911,7 @@ _080256D0: pop {r0} bx r0 .align 2, 0 -_080256DC: .4byte gUnknown_2023BC8 +_080256DC: .4byte gBattleControllerExecFlags thumb_func_end sub_802537C thumb_func_start sub_80256E0 @@ -15936,7 +15936,7 @@ _080256F8: bl sub_802DB7C ldr r0, _08025720 @ =gUnknown_83FE791 movs r1, 0xE - bl sub_80D87BC + bl BattlePutTextOnWindow ldrb r0, [r5, 0x1F] adds r0, 0x1 strb r0, [r5, 0x1F] @@ -16401,7 +16401,7 @@ _08025AA0: strb r0, [r5] b _08025B0C _08025AB8: - ldr r0, _08025B18 @ =gUnknown_2023BC8 + ldr r0, _08025B18 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025B0C @@ -16451,7 +16451,7 @@ _08025B0C: pop {r0} bx r0 .align 2, 0 -_08025B18: .4byte gUnknown_2023BC8 +_08025B18: .4byte gBattleControllerExecFlags _08025B1C: .4byte gUnknown_20233C8 _08025B20: .4byte gUnknown_2023C08 thumb_func_end atk5E @@ -16529,7 +16529,7 @@ atk61_drawpartystatussummary: @ 8025BA4 mov r7, r8 push {r7} sub sp, 0x30 - ldr r0, _08025C08 @ =gUnknown_2023BC8 + ldr r0, _08025C08 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025C58 @@ -16575,7 +16575,7 @@ _08025C00: movs r0, 0 b _08025C32 .align 2, 0 -_08025C08: .4byte gUnknown_2023BC8 +_08025C08: .4byte gBattleControllerExecFlags _08025C0C: .4byte gUnknown_2023D74 _08025C10: .4byte gActiveBattler _08025C14: .4byte gEnemyParty @@ -16696,7 +16696,7 @@ _08025CFC: .4byte gBattleMoves thumb_func_start atk64_statusanimation atk64_statusanimation: @ 8025D00 push {r4,lr} - ldr r0, _08025D70 @ =gUnknown_2023BC8 + ldr r0, _08025D70 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025D68 @@ -16750,7 +16750,7 @@ _08025D68: pop {r0} bx r0 .align 2, 0 -_08025D70: .4byte gUnknown_2023BC8 +_08025D70: .4byte gBattleControllerExecFlags _08025D74: .4byte gUnknown_2023D74 _08025D78: .4byte gActiveBattler _08025D7C: .4byte gStatuses3 @@ -16763,7 +16763,7 @@ _08025D8C: .4byte gBattleMons thumb_func_start atk65_status2animation atk65_status2animation: @ 8025D90 push {r4,r5,lr} - ldr r0, _08025E18 @ =gUnknown_2023BC8 + ldr r0, _08025E18 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025E10 @@ -16829,7 +16829,7 @@ _08025E10: pop {r0} bx r0 .align 2, 0 -_08025E18: .4byte gUnknown_2023BC8 +_08025E18: .4byte gBattleControllerExecFlags _08025E1C: .4byte gUnknown_2023D74 _08025E20: .4byte gActiveBattler _08025E24: .4byte gStatuses3 @@ -16842,7 +16842,7 @@ _08025E34: .4byte gBattleMons thumb_func_start atk66_chosenstatusanimation atk66_chosenstatusanimation: @ 8025E38 push {r4,r5,lr} - ldr r0, _08025EB0 @ =gUnknown_2023BC8 + ldr r0, _08025EB0 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025EAA @@ -16901,7 +16901,7 @@ _08025EAA: pop {r0} bx r0 .align 2, 0 -_08025EB0: .4byte gUnknown_2023BC8 +_08025EB0: .4byte gBattleControllerExecFlags _08025EB4: .4byte gUnknown_2023D74 _08025EB8: .4byte gActiveBattler _08025EBC: .4byte gStatuses3 @@ -16932,7 +16932,7 @@ _08025EE4: bl sub_802DB7C ldr r0, _08025F08 @ =gUnknown_83FE791 movs r1, 0xE - bl sub_80D87BC + bl BattlePutTextOnWindow ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] @@ -19133,7 +19133,7 @@ atk78_faintifabilitynotdamp: @ 80270A4 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _08027160 @ =gUnknown_2023BC8 + ldr r0, _08027160 @ =gBattleControllerExecFlags ldr r2, [r0] cmp r2, 0 bne _080271A8 @@ -19227,7 +19227,7 @@ _08027152: bcc _0802713C b _080271A8 .align 2, 0 -_08027160: .4byte gUnknown_2023BC8 +_08027160: .4byte gBattleControllerExecFlags _08027164: .4byte gBattlerTarget _08027168: .4byte gBattlersCount _0802716C: .4byte gBattleMons @@ -19268,7 +19268,7 @@ _080271BC: .4byte gUnknown_81D93AF atk79_setatkhptozero: @ 80271C0 push {r4,lr} sub sp, 0x4 - ldr r0, _0802720C @ =gUnknown_2023BC8 + ldr r0, _0802720C @ =gBattleControllerExecFlags ldr r3, [r0] cmp r3, 0 bne _08027204 @@ -19304,7 +19304,7 @@ _08027204: pop {r0} bx r0 .align 2, 0 -_0802720C: .4byte gUnknown_2023BC8 +_0802720C: .4byte gBattleControllerExecFlags _08027210: .4byte gActiveBattler _08027214: .4byte sBattler_AI _08027218: .4byte gBattleMons @@ -23131,7 +23131,7 @@ _08029044: .4byte gUnknown_2023D74 thumb_func_start sub_8029048 sub_8029048: @ 8029048 push {r4-r7,lr} - ldr r0, _080290B8 @ =gUnknown_2023BC8 + ldr r0, _080290B8 @ =gBattleControllerExecFlags ldr r1, [r0] cmp r1, 0 beq _08029054 @@ -23187,7 +23187,7 @@ _080290A2: bcc _08029074 b _08029164 .align 2, 0 -_080290B8: .4byte gUnknown_2023BC8 +_080290B8: .4byte gBattleControllerExecFlags _080290BC: .4byte gUnknown_2023D74 _080290C0: .4byte gActiveBattler _080290C4: .4byte gBattlersCount @@ -31742,7 +31742,7 @@ _0802D430: .4byte gUnknown_2023D74 sub_802D434: @ 802D434 push {r4-r6,lr} movs r4, 0 - ldr r0, _0802D474 @ =gUnknown_2023BC8 + ldr r0, _0802D474 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0802D442 @@ -31772,7 +31772,7 @@ _0802D442: ldr r0, _0802D48C @ =gUnknown_81D9AD1 b _0802D7EC .align 2, 0 -_0802D474: .4byte gUnknown_2023BC8 +_0802D474: .4byte gBattleControllerExecFlags _0802D478: .4byte gActiveBattler _0802D47C: .4byte sBattler_AI _0802D480: .4byte gBattlerTarget @@ -32471,7 +32471,7 @@ _0802DA64: _0802DA72: ldr r0, _0802DAB0 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _0802DAB4 @ =sub_8011100 + ldr r0, _0802DAB4 @ =BattleMainCB2 cmp r1, r0 bne _0802DB6C ldr r2, _0802DAB8 @ =gTasks @@ -32499,7 +32499,7 @@ _0802DA72: .align 2, 0 _0802DAAC: .4byte gPaletteFade _0802DAB0: .4byte gMain -_0802DAB4: .4byte sub_8011100 +_0802DAB4: .4byte BattleMainCB2 _0802DAB8: .4byte gTasks _0802DABC: .4byte gUnknown_2023E82 _0802DAC0: .4byte 0x05006000 @@ -32863,7 +32863,7 @@ _0802DD78: bl sub_802DB7C ldr r0, _0802DDA0 @ =gUnknown_83FE791 movs r1, 0xE - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r1, _0802DDA4 @ =gUnknown_2023E82 ldrb r0, [r1] adds r0, 0x1 @@ -33023,7 +33023,7 @@ _0802DE4E: ldr r1, [r2] adds r1, 0x6D str r0, [sp] - ldr r0, _0802DF10 @ =sub_8011100 + ldr r0, _0802DF10 @ =BattleMainCB2 str r0, [sp, 0x4] movs r0, 0x2 adds r2, r6, 0 @@ -33040,12 +33040,12 @@ _0802DF00: .4byte gBattlerPartyIndexes _0802DF04: .4byte sBattler_AI _0802DF08: .4byte gEnemyParty _0802DF0C: .4byte gBattleStruct -_0802DF10: .4byte sub_8011100 +_0802DF10: .4byte BattleMainCB2 _0802DF14: .4byte gUnknown_2023E82 _0802DF18: ldr r0, _0802DF54 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _0802DF58 @ =sub_8011100 + ldr r0, _0802DF58 @ =BattleMainCB2 cmp r1, r0 bne _0802DFA6 ldr r0, _0802DF5C @ =gPaletteFade @@ -33074,7 +33074,7 @@ _0802DF18: b _0802DF8C .align 2, 0 _0802DF54: .4byte gMain -_0802DF58: .4byte sub_8011100 +_0802DF58: .4byte BattleMainCB2 _0802DF5C: .4byte gPaletteFade _0802DF60: .4byte gBattlerPartyIndexes _0802DF64: .4byte sBattler_AI -- cgit v1.2.3 From 604347808138a0514933b3b994ac0f4eb62237a8 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 29 Jul 2019 08:34:15 +0800 Subject: ported battle_util2 from pokeem --- asm/battle_script_commands.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 5af41017e..11c522a5e 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -7510,7 +7510,7 @@ _08021392: strb r0, [r1] _080213C8: ldrb r0, [r7] - bl sub_802E228 + bl AdjustFriendshipOnBattleFaint b _0802142C .align 2, 0 _080213D0: .4byte gActiveBattler -- cgit v1.2.3 From 045331d139f04169df59f4550fd2f5fadac14a58 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 30 Jul 2019 02:54:50 +0800 Subject: ported battle_controllers from pokeem --- asm/battle_script_commands.s | 1166 +++++++++++++++++++++--------------------- 1 file changed, 583 insertions(+), 583 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 11c522a5e..373d191ef 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -25,7 +25,7 @@ _0801D77C: .4byte gBattleOutcome _0801D780: .4byte gUnknown_2023BE3 _0801D784: ldr r2, _0801D7B4 @ =gBattleMons - ldr r0, _0801D7B8 @ =sBattler_AI + ldr r0, _0801D7B8 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -49,7 +49,7 @@ _0801D784: b _0801DAFA .align 2, 0 _0801D7B4: .4byte gBattleMons -_0801D7B8: .4byte sBattler_AI +_0801D7B8: .4byte gBattlerAttacker _0801D7BC: .4byte gUnknown_2023DD0 _0801D7C0: .4byte gUnknown_2023D74 _0801D7C4: .4byte gUnknown_81D694E @@ -76,7 +76,7 @@ _0801D7EE: ldr r4, _0801D848 @ =gBattleMons ldr r0, _0801D84C @ =gUnknown_2023D48 ldrb r1, [r0] - ldr r3, _0801D850 @ =sBattler_AI + ldr r3, _0801D850 @ =gBattlerAttacker ldrb r2, [r3] movs r0, 0x58 muls r2, r0 @@ -119,7 +119,7 @@ _0801D7EE: _0801D844: .4byte gBattlerTarget _0801D848: .4byte gBattleMons _0801D84C: .4byte gUnknown_2023D48 -_0801D850: .4byte sBattler_AI +_0801D850: .4byte gBattlerAttacker _0801D854: .4byte gUnknown_2023DD0 _0801D858: .4byte gCurrentMove _0801D85C: .4byte 0x00800200 @@ -200,7 +200,7 @@ _0801D8C4: ands r0, r1 cmp r0, 0 beq _0801D94C - ldr r0, _0801D93C @ =sBattler_AI + ldr r0, _0801D93C @ =gBattlerAttacker ldrb r0, [r0] ldr r2, _0801D940 @ =0x00000115 adds r1, r3, 0 @@ -224,7 +224,7 @@ _0801D92C: .4byte gUnknown_2023E8C _0801D930: .4byte gBattlerTarget _0801D934: .4byte gBattleMoves _0801D938: .4byte gCurrentMove -_0801D93C: .4byte sBattler_AI +_0801D93C: .4byte gBattlerAttacker _0801D940: .4byte 0x00000115 _0801D944: .4byte gUnknown_2023D74 _0801D948: .4byte gUnknown_81D8FAA @@ -327,7 +327,7 @@ _0801D9FA: cmp r3, 0xAE bne _0801DA38 ldr r2, _0801DA98 @ =gBattleMons - ldr r0, _0801DA9C @ =sBattler_AI + ldr r0, _0801DA9C @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -349,7 +349,7 @@ _0801DA38: cmp r0, 0 beq _0801DA5E ldr r1, _0801DA98 @ =gBattleMons - ldr r0, _0801DA9C @ =sBattler_AI + ldr r0, _0801DA9C @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -362,7 +362,7 @@ _0801DA38: cmp r0, 0 beq _0801DAF4 _0801DA5E: - ldr r0, _0801DA9C @ =sBattler_AI + ldr r0, _0801DA9C @ =gBattlerAttacker ldrb r0, [r0] bl CancelMultiTurnMoves ldr r2, _0801DAA0 @ =gMoveResultFlags @@ -390,14 +390,14 @@ _0801DA5E: _0801DA90: .4byte gBattleMoves _0801DA94: .4byte gCurrentMove _0801DA98: .4byte gBattleMons -_0801DA9C: .4byte sBattler_AI +_0801DA9C: .4byte gBattlerAttacker _0801DAA0: .4byte gMoveResultFlags _0801DAA4: .4byte gUnknown_2023DA0 _0801DAA8: .4byte gBattlerTarget _0801DAAC: .4byte gUnknown_2023DA8 _0801DAB0: .4byte gUnknown_2023E82 _0801DAB4: - ldr r0, _0801DAE0 @ =sBattler_AI + ldr r0, _0801DAE0 @ =gBattlerAttacker ldrb r0, [r0] ldr r2, _0801DAE4 @ =0x00000121 adds r1, r3, 0 @@ -418,7 +418,7 @@ _0801DAB4: ldr r0, _0801DAF0 @ =gUnknown_81D8FC2 b _0801DAFA .align 2, 0 -_0801DAE0: .4byte sBattler_AI +_0801DAE0: .4byte gBattlerAttacker _0801DAE4: .4byte 0x00000121 _0801DAE8: .4byte gBattleScripting _0801DAEC: .4byte gUnknown_2023D74 @@ -642,7 +642,7 @@ AccuracyCalcHelper: @ 801DC7C subs r0, r4 lsls r0, 2 adds r0, r1 - ldr r1, _0801DCE8 @ =sBattler_AI + ldr r1, _0801DCE8 @ =gBattlerAttacker ldrb r0, [r0, 0x15] ldrb r1, [r1] cmp r0, r1 @@ -675,7 +675,7 @@ _0801DCCE: _0801DCDC: .4byte gStatuses3 _0801DCE0: .4byte gBattlerTarget _0801DCE4: .4byte gDisableStructs -_0801DCE8: .4byte sBattler_AI +_0801DCE8: .4byte gBattlerAttacker _0801DCEC: .4byte gUnknown_2023DD0 _0801DCF0: .4byte gMoveResultFlags _0801DCF4: @@ -816,7 +816,7 @@ sub_801DDC4: @ 801DDC4 ldrb r0, [r1, 0x1] cmp r0, 0 beq _0801DE12 - ldr r0, _0801DE6C @ =sBattler_AI + ldr r0, _0801DE6C @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -842,7 +842,7 @@ _0801DE12: ldrb r0, [r1, 0x1] cmp r0, 0 bne _0801DE48 - ldr r0, _0801DE6C @ =sBattler_AI + ldr r0, _0801DE6C @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -865,7 +865,7 @@ _0801DE56: _0801DE60: .4byte gUnknown_2023D74 _0801DE64: .4byte gBattleTypeFlags _0801DE68: .4byte gBattleMoves -_0801DE6C: .4byte sBattler_AI +_0801DE6C: .4byte gBattlerAttacker _0801DE70: adds r0, r6, 0x2 lsls r0, 16 @@ -890,7 +890,7 @@ _0801DE70: subs r0, r4 lsls r0, 2 adds r0, r1 - ldr r1, _0801DEE4 @ =sBattler_AI + ldr r1, _0801DEE4 @ =gBattlerAttacker ldrb r0, [r0, 0x15] ldrb r1, [r1] cmp r0, r1 @@ -923,7 +923,7 @@ _0801DED4: .4byte gStatuses3 _0801DED8: .4byte gBattlerTarget _0801DEDC: .4byte 0x0000ffff _0801DEE0: .4byte gDisableStructs -_0801DEE4: .4byte sBattler_AI +_0801DEE4: .4byte gBattlerAttacker _0801DEE8: .4byte 0x000400c0 _0801DEEC: .4byte gUnknown_2023D74 _0801DEF0: @@ -999,7 +999,7 @@ _0801DF5E: ands r0, r1 cmp r0, 0 beq _0801DF98 - ldr r0, _0801DF94 @ =sBattler_AI + ldr r0, _0801DF94 @ =gBattlerAttacker ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -1009,9 +1009,9 @@ _0801DF5E: _0801DF88: .4byte gBattleMoves _0801DF8C: .4byte gBattleMons _0801DF90: .4byte gBattlerTarget -_0801DF94: .4byte sBattler_AI +_0801DF94: .4byte gBattlerAttacker _0801DF98: - ldr r0, _0801E0FC @ =sBattler_AI + ldr r0, _0801E0FC @ =gBattlerAttacker ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -1087,7 +1087,7 @@ _0801E012: lsls r0, 16 lsrs r4, r0, 16 ldr r7, _0801E10C @ =gBattleMons - ldr r0, _0801E0FC @ =sBattler_AI + ldr r0, _0801E0FC @ =gBattlerAttacker ldrb r0, [r0] movs r5, 0x58 muls r0, r5 @@ -1147,7 +1147,7 @@ _0801E050: lsrs r4, r0, 16 _0801E0A8: ldr r2, _0801E10C @ =gBattleMons - ldr r0, _0801E0FC @ =sBattler_AI + ldr r0, _0801E0FC @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -1188,7 +1188,7 @@ _0801E0D4: ldrb r2, [r0, 0x1A] b _0801E134 .align 2, 0 -_0801E0FC: .4byte sBattler_AI +_0801E0FC: .4byte gBattlerAttacker _0801E100: .4byte gBattleMoves _0801E104: .4byte gBattleWeather _0801E108: .4byte gUnknown_82504FC @@ -1302,7 +1302,7 @@ atk02_attackstring: @ 801E1D8 ands r0, r1 cmp r0, 0 bne _0801E204 - ldr r0, _0801E220 @ =sBattler_AI + ldr r0, _0801E220 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x4 bl PrepareStringBattle @@ -1325,7 +1325,7 @@ _0801E210: .align 2, 0 _0801E218: .4byte gBattleControllerExecFlags _0801E21C: .4byte gUnknown_2023DD0 -_0801E220: .4byte sBattler_AI +_0801E220: .4byte gBattlerAttacker _0801E224: .4byte gUnknown_2023D74 _0801E228: .4byte gUnknown_2023E82 thumb_func_end atk02_attackstring @@ -1346,7 +1346,7 @@ atk03_ppreduce: @ 801E22C b _0801E3DE _0801E244: ldr r1, _0801E280 @ =gUnknown_2023ECC - ldr r2, _0801E284 @ =sBattler_AI + ldr r2, _0801E284 @ =gBattlerAttacker ldrb r3, [r2] lsls r0, r3, 2 adds r0, r3 @@ -1376,7 +1376,7 @@ _0801E244: .align 2, 0 _0801E27C: .4byte gBattleControllerExecFlags _0801E280: .4byte gUnknown_2023ECC -_0801E284: .4byte sBattler_AI +_0801E284: .4byte gBattlerAttacker _0801E288: .4byte gBattleMoves _0801E28C: .4byte gCurrentMove _0801E290: @@ -1434,7 +1434,7 @@ _0801E2E6: bne _0801E3CC ldr r2, _0801E34C @ =gBattleMons ldr r3, _0801E354 @ =gUnknown_2023D48 - ldr r1, _0801E358 @ =sBattler_AI + ldr r1, _0801E358 @ =gBattlerAttacker ldrb r5, [r1] movs r0, 0x58 mov r8, r0 @@ -1479,7 +1479,7 @@ _0801E348: .4byte gBattlerTarget _0801E34C: .4byte gBattleMons _0801E350: .4byte gUnknown_2023DD0 _0801E354: .4byte gUnknown_2023D48 -_0801E358: .4byte sBattler_AI +_0801E358: .4byte gBattlerAttacker _0801E35C: .4byte gUnknown_2023E8C _0801E360: strb r4, [r2] @@ -1531,7 +1531,7 @@ _0801E362: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData mov r7, r9 ldrb r0, [r7] bl MarkBufferBankForExecution @@ -1567,7 +1567,7 @@ _0801E404: .4byte gUnknown_2023D74 sub_801E408: @ 801E408 push {r4-r7,lr} ldr r1, _0801E42C @ =gBattleMons - ldr r0, _0801E430 @ =sBattler_AI + ldr r0, _0801E430 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -1584,7 +1584,7 @@ sub_801E408: @ 801E408 b _0801E440 .align 2, 0 _0801E42C: .4byte gBattleMons -_0801E430: .4byte sBattler_AI +_0801E430: .4byte gBattlerAttacker _0801E434: .4byte gEnigmaBerries _0801E438: bl ItemId_GetHoldEffect @@ -1592,7 +1592,7 @@ _0801E438: lsrs r6, r0, 24 _0801E440: ldr r1, _0801E4CC @ =gPotentialItemEffectBattler - ldr r3, _0801E4D0 @ =sBattler_AI + ldr r3, _0801E4D0 @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r1] ldr r4, _0801E4D4 @ =gBattleMons @@ -1669,7 +1669,7 @@ _0801E4C0: b _0801E4E2 .align 2, 0 _0801E4CC: .4byte gPotentialItemEffectBattler -_0801E4D0: .4byte sBattler_AI +_0801E4D0: .4byte gBattlerAttacker _0801E4D4: .4byte gBattleMons _0801E4D8: .4byte gBattleMoves _0801E4DC: .4byte gCurrentMove @@ -1780,7 +1780,7 @@ atk05_damagecalc: @ 801E59C lsls r1, 1 adds r1, r4 ldrh r3, [r1] - ldr r6, _0801E65C @ =sBattler_AI + ldr r6, _0801E65C @ =gBattlerAttacker ldrb r0, [r6] movs r4, 0x58 muls r0, r4 @@ -1835,7 +1835,7 @@ atk05_damagecalc: @ 801E59C str r0, [r4] _0801E620: ldr r1, _0801E684 @ =gUnknown_2023E8C - ldr r0, _0801E65C @ =sBattler_AI + ldr r0, _0801E65C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -1862,7 +1862,7 @@ _0801E642: .align 2, 0 _0801E654: .4byte gSideAffecting _0801E658: .4byte gBattlerTarget -_0801E65C: .4byte sBattler_AI +_0801E65C: .4byte gBattlerAttacker _0801E660: .4byte gBattleMons _0801E664: .4byte gCurrentMove _0801E668: .4byte gDynamicBasePower @@ -2134,7 +2134,7 @@ _0801E878: mov r8, r0 _0801E888: ldr r2, _0801E914 @ =gBattleMons - ldr r0, _0801E918 @ =sBattler_AI + ldr r0, _0801E918 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -2203,7 +2203,7 @@ _0801E8C0: .align 2, 0 _0801E910: .4byte gBattleMoves _0801E914: .4byte gBattleMons -_0801E918: .4byte sBattler_AI +_0801E918: .4byte gBattlerAttacker _0801E91C: .4byte gBattleMoveDamage _0801E920: .4byte gBattlerTarget _0801E924: .4byte gLastUsedAbility @@ -2304,7 +2304,7 @@ _0801E9D4: ldrb r6, [r0] cmp r6, 0x19 bne _0801EA52 - ldr r0, _0801EA90 @ =sBattler_AI + ldr r0, _0801EA90 @ =gBattlerAttacker ldrb r0, [r0] ldr r7, _0801EA94 @ =gCurrentMove ldrh r1, [r7] @@ -2364,7 +2364,7 @@ _0801EA52: cmp r0, 0 beq _0801EA70 ldr r2, _0801EAB0 @ =gUnknown_2023E8C - ldr r0, _0801EA90 @ =sBattler_AI + ldr r0, _0801EA90 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 4 adds r1, r2 @@ -2387,7 +2387,7 @@ _0801EA70: _0801EA84: .4byte gUnknown_824F050 _0801EA88: .4byte gBattleMons _0801EA8C: .4byte gBattlerTarget -_0801EA90: .4byte sBattler_AI +_0801EA90: .4byte gBattlerAttacker _0801EA94: .4byte gCurrentMove _0801EA98: .4byte gMoveResultFlags _0801EA9C: .4byte gBattleMoves @@ -2511,7 +2511,7 @@ _0801EB66: orrs r0, r1 strb r0, [r2] ldr r1, _0801ED28 @ =gUnknown_2023E8C - ldr r0, _0801ED2C @ =sBattler_AI + ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r2, [r0] lsls r2, 4 adds r2, r1 @@ -2547,7 +2547,7 @@ _0801EBA6: orrs r0, r1 strb r0, [r2] ldr r1, _0801ED28 @ =gUnknown_2023E8C - ldr r0, _0801ED2C @ =sBattler_AI + ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r2, [r0] lsls r2, 4 adds r2, r1 @@ -2679,7 +2679,7 @@ _0801ECC2: ldrb r4, [r0] cmp r4, 0x19 bne _0801ED18 - ldr r0, _0801ED2C @ =sBattler_AI + ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r0, [r0] mov r2, r9 ldrh r1, [r2] @@ -2721,7 +2721,7 @@ _0801ED18: .align 2, 0 _0801ED24: .4byte gMoveResultFlags _0801ED28: .4byte gUnknown_2023E8C -_0801ED2C: .4byte sBattler_AI +_0801ED2C: .4byte gBattlerAttacker _0801ED30: .4byte gBattleMoves _0801ED34: .4byte gLastUsedAbility _0801ED38: .4byte gUnknown_2023E82 @@ -3425,7 +3425,7 @@ _0801F26C: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _0801F2AC @ =gUnknown_2023D68 + ldr r1, _0801F2AC @ =gLastUsedItem adds r0, r3, 0 muls r0, r4 adds r0, r5 @@ -3442,7 +3442,7 @@ _0801F294: .align 2, 0 _0801F2A4: .4byte gUnknown_2023ECC _0801F2A8: .4byte gMoveResultFlags -_0801F2AC: .4byte gUnknown_2023D68 +_0801F2AC: .4byte gLastUsedItem _0801F2B0: .4byte gUnknown_2023D74 thumb_func_end atk07_adjustnormaldamage @@ -3613,7 +3613,7 @@ _0801F3F8: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _0801F438 @ =gUnknown_2023D68 + ldr r1, _0801F438 @ =gLastUsedItem adds r0, r3, 0 muls r0, r7 adds r0, r4 @@ -3630,7 +3630,7 @@ _0801F420: .align 2, 0 _0801F430: .4byte gUnknown_2023ECC _0801F434: .4byte gMoveResultFlags -_0801F438: .4byte gUnknown_2023D68 +_0801F438: .4byte gLastUsedItem _0801F43C: .4byte gUnknown_2023D74 thumb_func_end atk08_adjustnormaldamage2 @@ -3712,7 +3712,7 @@ _0801F4CE: cmp r0, 0 bne _0801F564 ldr r1, _0801F548 @ =gActiveBattler - ldr r0, _0801F54C @ =sBattler_AI + ldr r0, _0801F54C @ =gBattlerAttacker mov r8, r0 ldrb r0, [r0] strb r0, [r1] @@ -3742,7 +3742,7 @@ _0801F4CE: adds r0, r4 str r0, [sp, 0x8] movs r0, 0 - bl EmitMoveAnimation + bl BtlController_EmitMoveAnimation ldrb r0, [r6, 0x18] adds r0, 0x1 strb r0, [r6, 0x18] @@ -3763,7 +3763,7 @@ _0801F53C: .4byte gBattleMoves _0801F540: .4byte gBattleScripting _0801F544: .4byte gMoveResultFlags _0801F548: .4byte gActiveBattler -_0801F54C: .4byte sBattler_AI +_0801F54C: .4byte gBattlerAttacker _0801F550: .4byte gBattleMovePower _0801F554: .4byte gBattleMoveDamage _0801F558: .4byte gBattleMons @@ -3875,7 +3875,7 @@ _0801F628: lsrs r1, r0, 16 _0801F636: movs r0, 0 - bl EmitHealthBarUpdate + bl BtlController_EmitHealthBarUpdate ldr r4, _0801F678 @ =gActiveBattler ldrb r0, [r4] bl MarkBufferBankForExecution @@ -4152,14 +4152,14 @@ _0801F858: ldr r1, _0801F88C @ =gUnknown_2023DD8 ldrb r0, [r5] adds r0, r1 - ldr r1, _0801F890 @ =sBattler_AI + ldr r1, _0801F890 @ =gBattlerAttacker b _0801F89C .align 2, 0 _0801F880: .4byte gUnknown_2023D58 _0801F884: .4byte gActiveBattler _0801F888: .4byte gUnknown_2023D74 _0801F88C: .4byte gUnknown_2023DD8 -_0801F890: .4byte sBattler_AI +_0801F890: .4byte gBattlerAttacker _0801F894: ldr r1, _0801F8C0 @ =gUnknown_2023DD8 ldrb r0, [r5] @@ -4256,7 +4256,7 @@ _0801F908: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801F968 @ =sBattler_AI + ldr r2, _0801F968 @ =gBattlerAttacker b _0801F974 .align 2, 0 _0801F954: .4byte gUnknown_2023D54 @@ -4264,7 +4264,7 @@ _0801F958: .4byte gUnknown_2023ECC _0801F95C: .4byte gCurrentMove _0801F960: .4byte gUnknown_2023E8C _0801F964: .4byte gUnknown_2023D74 -_0801F968: .4byte sBattler_AI +_0801F968: .4byte gBattlerAttacker _0801F96C: ldrb r0, [r5] lsls r0, 4 @@ -4318,12 +4318,12 @@ _0801F990: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801F9DC @ =sBattler_AI + ldr r2, _0801F9DC @ =gBattlerAttacker b _0801F9E8 .align 2, 0 _0801F9D4: .4byte gUnknown_2023E8C _0801F9D8: .4byte gUnknown_2023D74 -_0801F9DC: .4byte sBattler_AI +_0801F9DC: .4byte gBattlerAttacker _0801F9E0: ldrb r0, [r5] lsls r0, 4 @@ -4356,7 +4356,7 @@ _0801F9FA: movs r1, 0x2A movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r5] bl MarkBufferBankForExecution b _0801FA5A @@ -4417,7 +4417,7 @@ atk0D_critmessage: @ 801FA7C ands r0, r1 cmp r0, 0 bne _0801FAAA - ldr r0, _0801FAC4 @ =sBattler_AI + ldr r0, _0801FAC4 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0xD9 bl PrepareStringBattle @@ -4436,7 +4436,7 @@ _0801FAB2: _0801FAB8: .4byte gBattleControllerExecFlags _0801FABC: .4byte gCritMultiplier _0801FAC0: .4byte gMoveResultFlags -_0801FAC4: .4byte sBattler_AI +_0801FAC4: .4byte gBattlerAttacker _0801FAC8: .4byte gUnknown_2023E82 _0801FACC: .4byte gUnknown_2023D74 thumb_func_end atk0D_critmessage @@ -4496,7 +4496,7 @@ _0801FB32: movs r0, 0 movs r1, 0xC _0801FB36: - bl EmitPlaySE + bl BtlController_EmitPlaySE ldrb r0, [r4] bl MarkBufferBankForExecution b _0801FB88 @@ -4517,7 +4517,7 @@ _0801FB52: movs r0, 0 movs r1, 0xC _0801FB5E: - bl EmitPlaySE + bl BtlController_EmitPlaySE ldr r0, _0801FB6C @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -4531,7 +4531,7 @@ _0801FB70: bne _0801FB88 movs r0, 0 movs r1, 0xD - bl EmitPlaySE + bl BtlController_EmitPlaySE ldr r0, _0801FB98 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -4636,7 +4636,7 @@ _0801FC34: movs r3, 0x99 b _0801FD2E _0801FC38: - ldr r4, _0801FC60 @ =gUnknown_2023D68 + ldr r4, _0801FC60 @ =gLastUsedItem ldr r2, _0801FC64 @ =gBattleMons ldr r3, _0801FC68 @ =gBattlerTarget ldrb r1, [r3] @@ -4656,7 +4656,7 @@ _0801FC38: ldr r0, _0801FC74 @ =gUnknown_81D9641 b _0801FD3E .align 2, 0 -_0801FC60: .4byte gUnknown_2023D68 +_0801FC60: .4byte gLastUsedItem _0801FC64: .4byte gBattleMons _0801FC68: .4byte gBattlerTarget _0801FC6C: .4byte gPotentialItemEffectBattler @@ -4711,7 +4711,7 @@ _0801FCD0: ands r0, r5 cmp r0, 0 beq _0801FD18 - ldr r4, _0801FD00 @ =gUnknown_2023D68 + ldr r4, _0801FD00 @ =gLastUsedItem ldr r2, _0801FD04 @ =gBattleMons ldr r3, _0801FD08 @ =gBattlerTarget ldrb r1, [r3] @@ -4731,7 +4731,7 @@ _0801FCD0: ldr r0, _0801FD14 @ =gUnknown_81D9641 b _0801FD3E .align 2, 0 -_0801FD00: .4byte gUnknown_2023D68 +_0801FD00: .4byte gLastUsedItem _0801FD04: .4byte gBattleMons _0801FD08: .4byte gBattlerTarget _0801FD0C: .4byte gPotentialItemEffectBattler @@ -4754,7 +4754,7 @@ _0801FD2A: beq _0801FD38 _0801FD2E: adds r0, r3, 0 - ldr r1, _0801FD48 @ =sBattler_AI + ldr r1, _0801FD48 @ =gBattlerAttacker ldrb r1, [r1] bl PrepareStringBattle _0801FD38: @@ -4768,7 +4768,7 @@ _0801FD40: pop {r0} bx r0 .align 2, 0 -_0801FD48: .4byte sBattler_AI +_0801FD48: .4byte gBattlerAttacker _0801FD4C: .4byte gUnknown_2023D74 thumb_func_end atk0F_resultmessage @@ -4785,7 +4785,7 @@ atk10_printstring: @ 801FD50 ldrb r1, [r1, 0x2] lsls r1, 8 orrs r0, r1 - ldr r1, _0801FD88 @ =sBattler_AI + ldr r1, _0801FD88 @ =gBattlerAttacker ldrb r1, [r1] bl PrepareStringBattle ldr r0, [r4] @@ -4801,7 +4801,7 @@ _0801FD7A: .align 2, 0 _0801FD80: .4byte gBattleControllerExecFlags _0801FD84: .4byte gUnknown_2023D74 -_0801FD88: .4byte sBattler_AI +_0801FD88: .4byte gBattlerAttacker _0801FD8C: .4byte gUnknown_2023E82 thumb_func_end atk10_printstring @@ -4809,7 +4809,7 @@ _0801FD8C: .4byte gUnknown_2023E82 atk11_printselectionstring: @ 801FD90 push {r4,r5,lr} ldr r5, _0801FDC4 @ =gActiveBattler - ldr r0, _0801FDC8 @ =sBattler_AI + ldr r0, _0801FDC8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] ldr r4, _0801FDCC @ =gUnknown_2023D74 @@ -4819,7 +4819,7 @@ atk11_printselectionstring: @ 801FD90 lsls r0, 8 orrs r1, r0 movs r0, 0 - bl EmitPrintSelectionString + bl BtlController_EmitPrintSelectionString ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r4] @@ -4833,7 +4833,7 @@ atk11_printselectionstring: @ 801FD90 bx r0 .align 2, 0 _0801FDC4: .4byte gActiveBattler -_0801FDC8: .4byte sBattler_AI +_0801FDC8: .4byte gBattlerAttacker _0801FDCC: .4byte gUnknown_2023D74 _0801FDD0: .4byte gUnknown_2023E82 thumb_func_end atk11_printselectionstring @@ -4911,7 +4911,7 @@ atk13_printfromtable: @ 801FE30 lsls r0, 1 adds r1, r0 ldrh r0, [r1] - ldr r1, _0801FE80 @ =sBattler_AI + ldr r1, _0801FE80 @ =gBattlerAttacker ldrb r1, [r1] bl PrepareStringBattle ldr r0, [r4] @@ -4927,7 +4927,7 @@ _0801FE6E: _0801FE74: .4byte gBattleControllerExecFlags _0801FE78: .4byte gUnknown_2023D74 _0801FE7C: .4byte gUnknown_2023E82 -_0801FE80: .4byte sBattler_AI +_0801FE80: .4byte gBattlerAttacker thumb_func_end atk13_printfromtable thumb_func_start atk14_printselectionstringfromtable @@ -4954,12 +4954,12 @@ atk14_printselectionstringfromtable: @ 801FE84 lsls r0, 1 adds r1, r0 ldr r4, _0801FEE0 @ =gActiveBattler - ldr r0, _0801FEE4 @ =sBattler_AI + ldr r0, _0801FEE4 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] ldrh r1, [r1] movs r0, 0 - bl EmitPrintSelectionString + bl BtlController_EmitPrintSelectionString ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -4976,7 +4976,7 @@ _0801FED4: .4byte gBattleControllerExecFlags _0801FED8: .4byte gUnknown_2023D74 _0801FEDC: .4byte gUnknown_2023E82 _0801FEE0: .4byte gActiveBattler -_0801FEE4: .4byte sBattler_AI +_0801FEE4: .4byte gBattlerAttacker thumb_func_end atk14_printselectionstringfromtable thumb_func_start BankGetTurnOrder @@ -5036,8 +5036,8 @@ sub_801FF20: @ 801FF20 adds r6, r1, 0 cmp r0, 0 beq _0801FF78 - ldr r2, _0801FF68 @ =gUnknown_2023D6E - ldr r0, _0801FF6C @ =sBattler_AI + ldr r2, _0801FF68 @ =gEffectBattler + ldr r0, _0801FF6C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r2] movs r0, 0xBF @@ -5049,17 +5049,17 @@ sub_801FF20: @ 801FF20 b _0801FF84 .align 2, 0 _0801FF64: .4byte gUnknown_2023E82 -_0801FF68: .4byte gUnknown_2023D6E -_0801FF6C: .4byte sBattler_AI +_0801FF68: .4byte gEffectBattler +_0801FF6C: .4byte gBattlerAttacker _0801FF70: .4byte gBattleScripting _0801FF74: .4byte gBattlerTarget _0801FF78: - ldr r2, _08020094 @ =gUnknown_2023D6E + ldr r2, _08020094 @ =gEffectBattler ldr r0, _08020098 @ =gBattlerTarget ldrb r0, [r0] strb r0, [r2] ldr r1, _0802009C @ =gBattleScripting - ldr r0, _080200A0 @ =sBattler_AI + ldr r0, _080200A0 @ =gBattlerAttacker _0801FF84: ldrb r0, [r0] strb r0, [r1, 0x17] @@ -5084,7 +5084,7 @@ _0801FF84: bl _080210EC _0801FFB2: ldr r3, _080200A8 @ =gBattleMons - ldr r2, _08020094 @ =gUnknown_2023D6E + ldr r2, _08020094 @ =gEffectBattler ldrb r1, [r2] movs r0, 0x58 muls r0, r1 @@ -5138,7 +5138,7 @@ _0801FFE6: bl _080210EC _08020020: ldr r3, _080200A8 @ =gBattleMons - ldr r2, _08020094 @ =gUnknown_2023D6E + ldr r2, _08020094 @ =gEffectBattler ldrb r1, [r2] movs r0, 0x58 muls r0, r1 @@ -5199,10 +5199,10 @@ _08020084: _08020092: b _08020570 .align 2, 0 -_08020094: .4byte gUnknown_2023D6E +_08020094: .4byte gEffectBattler _08020098: .4byte gBattlerTarget _0802009C: .4byte gBattleScripting -_080200A0: .4byte sBattler_AI +_080200A0: .4byte gBattlerAttacker _080200A4: .4byte gBattleTypeFlags _080200A8: .4byte gBattleMons _080200AC: .4byte gUnknown_2023DD0 @@ -5585,7 +5585,7 @@ _08020346: str r1, [sp, 0x4] _08020382: ldr r4, _080203DC @ =gBattleMons - ldr r0, _080203E0 @ =gUnknown_2023D6E + ldr r0, _080203E0 @ =gEffectBattler ldrb r3, [r0] movs r0, 0x58 adds r2, r3, 0 @@ -5633,7 +5633,7 @@ _080203CA: .align 2, 0 _080203D8: .4byte gBattleWeather _080203DC: .4byte gBattleMons -_080203E0: .4byte gUnknown_2023D6E +_080203E0: .4byte gEffectBattler _080203E4: mov r0, r9 ldrb r1, [r0] @@ -5848,7 +5848,7 @@ _08020578: bne _080205CC bl Random ldr r2, _080205C4 @ =gBattleMons - ldr r1, _080205C8 @ =gUnknown_2023D6E + ldr r1, _080205C8 @ =gEffectBattler ldrb r3, [r1] movs r1, 0x58 muls r3, r1 @@ -5867,10 +5867,10 @@ _080205B8: .4byte gUnknown_2023D74 _080205BC: .4byte gUnknown_825053C _080205C0: .4byte gUnknown_2023E82 _080205C4: .4byte gBattleMons -_080205C8: .4byte gUnknown_2023D6E +_080205C8: .4byte gEffectBattler _080205CC: ldr r2, _08020630 @ =gBattleMons - ldr r0, _08020634 @ =gUnknown_2023D6E + ldr r0, _08020634 @ =gEffectBattler ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -5889,7 +5889,7 @@ _080205E0: ldr r0, [r0] str r0, [r2] ldr r4, _08020644 @ =gActiveBattler - ldr r1, _08020634 @ =gUnknown_2023D6E + ldr r1, _08020634 @ =gEffectBattler ldrb r0, [r1] strb r0, [r4] ldrb r1, [r1] @@ -5902,7 +5902,7 @@ _080205E0: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r2, _0802064C @ =gUnknown_2023DD0 @@ -5920,7 +5920,7 @@ _080205E0: b _08020656 .align 2, 0 _08020630: .4byte gBattleMons -_08020634: .4byte gUnknown_2023D6E +_08020634: .4byte gEffectBattler _08020638: .4byte gUnknown_2023D74 _0802063C: .4byte gUnknown_825062C _08020640: .4byte gUnknown_2023E82 @@ -6226,7 +6226,7 @@ _08020928: .4byte gUnknown_2023D74 _0802092C: .4byte gUnknown_825062C _08020930: .4byte gUnknown_2023E82 _08020934: - ldr r5, _08020984 @ =sBattler_AI + ldr r5, _08020984 @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerPosition movs r1, 0x1 @@ -6266,7 +6266,7 @@ _0802096C: ldr r0, [r0] b _08021108 .align 2, 0 -_08020984: .4byte sBattler_AI +_08020984: .4byte gBattlerAttacker _08020988: .4byte gUnknown_2023E7E _0802098C: .4byte gBattleMons _08020990: .4byte 0x0000ffff @@ -6383,7 +6383,7 @@ _08020A3C: ldrb r1, [r3] ldr r0, [r2] adds r1, r0 - ldr r0, _08020AD8 @ =sBattler_AI + ldr r0, _08020AD8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r1, 0x14] ldr r4, _08020ADC @ =gUnknown_2023D74 @@ -6428,7 +6428,7 @@ _08020ABE: .align 2, 0 _08020AD0: .4byte gBattleStruct _08020AD4: .4byte gCurrentMove -_08020AD8: .4byte sBattler_AI +_08020AD8: .4byte gBattlerAttacker _08020ADC: .4byte gUnknown_2023D74 _08020AE0: .4byte gUnknown_825062C _08020AE4: .4byte gUnknown_2023E82 @@ -6627,7 +6627,7 @@ _08020C7C: .4byte gDisableStructs _08020C80: .4byte gUnknown_2023DB8 _08020C84: .4byte gCurrentMove _08020C88: - ldr r0, _08020CA4 @ =sBattler_AI + ldr r0, _08020CA4 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 adds r2, r1, 0 @@ -6643,7 +6643,7 @@ _08020C9E: str r0, [r2] b _080210EC .align 2, 0 -_08020CA4: .4byte sBattler_AI +_08020CA4: .4byte gBattlerAttacker _08020CA8: ldr r5, _08020D64 @ =gBattleTypeFlags ldr r0, [r5] @@ -6654,7 +6654,7 @@ _08020CA8: beq _08020CB8 b _080210EC _08020CB8: - ldr r4, _08020D68 @ =sBattler_AI + ldr r4, _08020D68 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -6696,7 +6696,7 @@ _08020CEA: ldrb r1, [r0] ldr r3, _08020D78 @ =gBitTable ldr r2, _08020D7C @ =gBattlerPartyIndexes - ldr r0, _08020D68 @ =sBattler_AI + ldr r0, _08020D68 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r2 @@ -6741,7 +6741,7 @@ _08020D26: b _0802110A .align 2, 0 _08020D64: .4byte gBattleTypeFlags -_08020D68: .4byte sBattler_AI +_08020D68: .4byte gBattlerAttacker _08020D6C: .4byte 0x00000902 _08020D70: .4byte gTrainerBattleOpponent_A _08020D74: .4byte gUnknown_2023F20 @@ -6753,7 +6753,7 @@ _08020D88: .4byte gUnknown_2023D74 _08020D8C: .4byte gUnknown_81D948E _08020D90: .4byte gLastUsedAbility _08020D94: - ldr r4, _08020E60 @ =sBattler_AI + ldr r4, _08020E60 @ =gBattlerAttacker mov r10, r4 ldrb r2, [r4] movs r0, 0x58 @@ -6794,7 +6794,7 @@ _08020DD4: adds r0, 0xD0 ldr r1, [r5] adds r1, r0 - ldr r2, _08020E68 @ =gUnknown_2023D68 + ldr r2, _08020E68 @ =gLastUsedItem strh r3, [r1] strh r3, [r2] ldrb r0, [r7] @@ -6813,7 +6813,7 @@ _08020DD4: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData mov r2, r10 ldrb r0, [r2] bl MarkBufferBankForExecution @@ -6831,7 +6831,7 @@ _08020DD4: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r7] bl MarkBufferBankForExecution ldr r4, _08020E70 @ =gUnknown_2023D74 @@ -6854,9 +6854,9 @@ _08020DD4: strb r6, [r0] b _0802110A .align 2, 0 -_08020E60: .4byte sBattler_AI +_08020E60: .4byte gBattlerAttacker _08020E64: .4byte gBattleStruct -_08020E68: .4byte gUnknown_2023D68 +_08020E68: .4byte gLastUsedItem _08020E6C: .4byte gActiveBattler _08020E70: .4byte gUnknown_2023D74 _08020E74: .4byte gUnknown_81D9271 @@ -6880,14 +6880,14 @@ _08020E78: subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _08020EB0 @ =sBattler_AI + ldr r1, _08020EB0 @ =gBattlerAttacker ldrb r1, [r1] strb r1, [r0, 0x14] b _080210EC .align 2, 0 _08020EA8: .4byte gBattlerTarget _08020EAC: .4byte gDisableStructs -_08020EB0: .4byte sBattler_AI +_08020EB0: .4byte gBattlerAttacker _08020EB4: ldr r0, _08020ECC @ =gBattlerTarget ldrb r1, [r0] @@ -6953,7 +6953,7 @@ _08020F1A: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r4, _08020F58 @ =gUnknown_2023D74 @@ -7089,7 +7089,7 @@ _08021058: bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _080210D0 @ =gUnknown_2023D68 + ldr r1, _080210D0 @ =gLastUsedItem mov r3, r9 ldrb r0, [r3] muls r0, r4 @@ -7141,7 +7141,7 @@ _08021058: strb r5, [r0] b _0802110A .align 2, 0 -_080210D0: .4byte gUnknown_2023D68 +_080210D0: .4byte gLastUsedItem _080210D4: .4byte gUnknown_2023F20 _080210D8: .4byte gBitTable _080210DC: .4byte gBattlerPartyIndexes @@ -7182,7 +7182,7 @@ _08021120: .4byte gUnknown_81D8FEB atk15_seteffectwithchance: @ 8021124 push {r4,lr} ldr r2, _08021150 @ =gBattleMons - ldr r0, _08021154 @ =sBattler_AI + ldr r0, _08021154 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -7203,7 +7203,7 @@ atk15_seteffectwithchance: @ 8021124 b _08021170 .align 2, 0 _08021150: .4byte gBattleMons -_08021154: .4byte sBattler_AI +_08021154: .4byte gBattlerAttacker _08021158: .4byte gBattleMoves _0802115C: .4byte gCurrentMove _08021160: @@ -7437,7 +7437,7 @@ _08021330: cmp r0, 0x1 bne _08021358 ldr r1, _08021348 @ =gActiveBattler - ldr r0, _0802134C @ =sBattler_AI + ldr r0, _0802134C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r1] ldr r0, _08021350 @ =gBattlerTarget @@ -7447,7 +7447,7 @@ _08021330: b _08021368 .align 2, 0 _08021348: .4byte gActiveBattler -_0802134C: .4byte sBattler_AI +_0802134C: .4byte gBattlerAttacker _08021350: .4byte gBattlerTarget _08021354: .4byte gUnknown_81D8674 _08021358: @@ -7455,7 +7455,7 @@ _08021358: ldr r0, _080213D4 @ =gBattlerTarget ldrb r0, [r0] strb r0, [r1] - ldr r0, _080213D8 @ =sBattler_AI + ldr r0, _080213D8 @ =gBattlerAttacker ldrb r0, [r0] mov r9, r0 ldr r4, _080213DC @ =gUnknown_81D8684 @@ -7515,7 +7515,7 @@ _080213C8: .align 2, 0 _080213D0: .4byte gActiveBattler _080213D4: .4byte gBattlerTarget -_080213D8: .4byte sBattler_AI +_080213D8: .4byte gBattlerAttacker _080213DC: .4byte gUnknown_81D8684 _080213E0: .4byte gAbsentBattlerFlags _080213E4: .4byte gBitTable @@ -7548,7 +7548,7 @@ _08021400: movs r3, 0xC1 lsls r3, 1 adds r1, r0, r3 - ldr r0, _0802155C @ =sBattler_AI + ldr r0, _0802155C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r1] _0802142C: @@ -7559,7 +7559,7 @@ _0802142C: cmp r0, 0 beq _0802146A ldr r6, _08021564 @ =gBattleMons - ldr r0, _0802155C @ =sBattler_AI + ldr r0, _0802155C @ =gBattlerAttacker ldrb r0, [r0] movs r5, 0x58 muls r0, r5 @@ -7605,7 +7605,7 @@ _08021482: beq _08021492 b _08021592 _08021492: - ldr r0, _0802155C @ =sBattler_AI + ldr r0, _0802155C @ =gBattlerAttacker mov r8, r0 ldrb r0, [r0] bl GetBattlerSide @@ -7663,7 +7663,7 @@ _08021492: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r5] bl MarkBufferBankForExecution ldr r1, _08021588 @ =gBattleTextBuff1 @@ -7697,7 +7697,7 @@ _0802154C: .4byte gBattleResults _08021550: .4byte gBattlerPartyIndexes _08021554: .4byte gEnemyParty _08021558: .4byte gBattleStruct -_0802155C: .4byte sBattler_AI +_0802155C: .4byte gBattlerAttacker _08021560: .4byte gUnknown_2023DD0 _08021564: .4byte gBattleMons _08021568: .4byte gUnknown_2023D74 @@ -7737,7 +7737,7 @@ atk1A_faint_animation: @ 80215A0 ldr r4, _080215D8 @ =gActiveBattler strb r0, [r4] movs r0, 0 - bl EmitFaintAnimation + bl BtlController_EmitFaintAnimation ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -7782,7 +7782,7 @@ atk1B_faint_effects_clear: @ 80215DC movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution bl sub_8012BC8 @@ -7948,7 +7948,7 @@ atk1E_jumpifability: @ 8021730 ldrb r0, [r2, 0x1] cmp r0, 0x8 bne _08021790 - ldr r0, _08021788 @ =sBattler_AI + ldr r0, _08021788 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -7970,12 +7970,12 @@ atk1E_jumpifability: @ 8021730 b _080217EC .align 2, 0 _08021784: .4byte gUnknown_2023D74 -_08021788: .4byte sBattler_AI +_08021788: .4byte gBattlerAttacker _0802178C: .4byte gLastUsedAbility _08021790: cmp r0, 0x9 bne _080217C8 - ldr r0, _080217C0 @ =sBattler_AI + ldr r0, _080217C0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -7996,7 +7996,7 @@ _08021790: ldrb r1, [r1] b _080217EC .align 2, 0 -_080217C0: .4byte sBattler_AI +_080217C0: .4byte gBattlerAttacker _080217C4: .4byte gLastUsedAbility _080217C8: ldrb r0, [r2, 0x1] @@ -8046,13 +8046,13 @@ atk1F_jumpifsideaffecting: @ 8021818 ldrb r4, [r0, 0x1] cmp r4, 0x1 bne _08021838 - ldr r0, _08021834 @ =sBattler_AI + ldr r0, _08021834 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerPosition b _08021842 .align 2, 0 _08021830: .4byte gUnknown_2023D74 -_08021834: .4byte sBattler_AI +_08021834: .4byte gBattlerAttacker _08021838: ldr r0, _08021878 @ =gBattlerTarget ldrb r0, [r0] @@ -8887,7 +8887,7 @@ _08021EB6: movs r0, 0x1 negs r0, r0 strb r0, [r1, 0x4] - ldr r1, _08021F68 @ =gUnknown_2022AD8 + ldr r1, _08021F68 @ =gBattleTextBuff3 strb r3, [r1] movs r0, 0x1 strb r0, [r1, 0x1] @@ -8941,7 +8941,7 @@ _08021F4C: _08021F5C: .4byte gBattleStruct _08021F60: .4byte gBattleTextBuff1 _08021F64: .4byte gBattleTextBuff2 -_08021F68: .4byte gUnknown_2022AD8 +_08021F68: .4byte gBattleTextBuff3 _08021F6C: .4byte gPlayerParty _08021F70: .4byte gBattleMons _08021F74: .4byte gUnknown_2023D6D @@ -8952,7 +8952,7 @@ _08021F78: beq _08021F82 b _080223DA _08021F82: - ldr r1, _08022060 @ =gUnknown_20233C4 + ldr r1, _08022060 @ =gBattleBufferB ldr r7, _08022064 @ =gBattleStruct ldr r0, [r7] adds r0, 0x8F @@ -9043,7 +9043,7 @@ _08021F82: ldr r0, _08022074 @ =gBattleMoveDamage ldrh r2, [r0] movs r0, 0 - bl EmitExpUpdate + bl BtlController_EmitExpUpdate ldrb r0, [r4] bl MarkBufferBankForExecution _08022052: @@ -9054,7 +9054,7 @@ _08022052: b _080223DA .align 2, 0 _0802205C: .4byte gBattleControllerExecFlags -_08022060: .4byte gUnknown_20233C4 +_08022060: .4byte gBattleBufferB _08022064: .4byte gBattleStruct _08022068: .4byte gPlayerParty _0802206C: .4byte gBattleResources @@ -9075,7 +9075,7 @@ _08022086: adds r0, 0x8F ldrb r0, [r0] strb r0, [r1] - ldr r3, _08022320 @ =gUnknown_20233C4 + ldr r3, _08022320 @ =gBattleBufferB ldrb r2, [r1] lsls r1, r2, 9 adds r0, r1, r3 @@ -9164,7 +9164,7 @@ _080220DA: ldr r0, _08022344 @ =gUnknown_81D89F5 str r0, [r1] ldr r4, _08022348 @ =gBattleMoveDamage - ldr r2, _08022320 @ =gUnknown_20233C4 + ldr r2, _08022320 @ =gBattleBufferB ldrb r1, [r6] lsls r1, 9 adds r0, r2, 0x2 @@ -9382,7 +9382,7 @@ _08022256: _08022314: .4byte gBattleControllerExecFlags _08022318: .4byte gActiveBattler _0802231C: .4byte gBattleStruct -_08022320: .4byte gUnknown_20233C4 +_08022320: .4byte gBattleBufferB _08022324: .4byte gBattleTypeFlags _08022328: .4byte gBattlerPartyIndexes _0802232C: .4byte gPlayerParty @@ -10677,14 +10677,14 @@ _08022C80: .4byte gActiveBattler _08022C84: .4byte gBattlerTarget _08022C88: ldr r0, _08022CB0 @ =gActiveBattler - ldr r1, _08022CB4 @ =sBattler_AI + ldr r1, _08022CB4 @ =gBattlerAttacker _08022C8C: ldrb r1, [r1] strb r1, [r0] ldr r0, _08022CB8 @ =gBattleMoveDamage ldrh r1, [r0] movs r0, 0 - bl EmitHealthBarUpdate + bl BtlController_EmitHealthBarUpdate ldr r0, _08022CB0 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -10696,7 +10696,7 @@ _08022C8C: bx r0 .align 2, 0 _08022CB0: .4byte gActiveBattler -_08022CB4: .4byte sBattler_AI +_08022CB4: .4byte gBattlerAttacker _08022CB8: .4byte gBattleMoveDamage _08022CBC: .4byte gUnknown_2023D74 thumb_func_end atk3B_healthbar_update @@ -10755,7 +10755,7 @@ atk3F_end3: @ 8022D04 subs r0, 0x1 strb r0, [r1] _08022D1E: - ldr r2, _08022D3C @ =gUnknown_3004F84 + ldr r2, _08022D3C @ =gBattleMainFunc ldr r0, [r3] ldr r1, [r0, 0xC] adds r0, r1, 0 @@ -10769,7 +10769,7 @@ _08022D1E: bx r0 .align 2, 0 _08022D38: .4byte gBattleResources -_08022D3C: .4byte gUnknown_3004F84 +_08022D3C: .4byte gBattleMainFunc thumb_func_end atk3F_end3 thumb_func_start atk41_call @@ -10891,7 +10891,7 @@ _08022E0E: thumb_func_start atk44_endselectionscript atk44_endselectionscript: @ 8022E18 - ldr r0, _08022E2C @ =sBattler_AI + ldr r0, _08022E2C @ =gBattlerAttacker ldrb r0, [r0] ldr r1, _08022E30 @ =gBattleStruct ldr r1, [r1] @@ -10901,7 +10901,7 @@ atk44_endselectionscript: @ 8022E18 strb r1, [r0] bx lr .align 2, 0 -_08022E2C: .4byte sBattler_AI +_08022E2C: .4byte gBattlerAttacker _08022E30: .4byte gBattleStruct thumb_func_end atk44_endselectionscript @@ -10941,7 +10941,7 @@ _08022E6E: ldrb r1, [r0, 0x2] ldrh r2, [r3] movs r0, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldr r0, _08022E88 @ =gActiveBattler ldrb r0, [r0] b _08022EE4 @@ -10987,7 +10987,7 @@ _08022ED8: ldrb r1, [r2, 0x2] ldrh r2, [r3] movs r0, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldrb r0, [r6] _08022EE4: bl MarkBufferBankForExecution @@ -11042,7 +11042,7 @@ _08022F3E: ldrb r1, [r3] ldrh r2, [r4] movs r0, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldr r0, _08022F60 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -11090,7 +11090,7 @@ _08022FA4: ldrb r1, [r3] ldrh r2, [r4] movs r0, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldrb r0, [r7] bl MarkBufferBankForExecution ldr r0, [r6] @@ -11379,7 +11379,7 @@ _080231B0: movs r1, 0x1 mov r2, r8 str r3, [sp] - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldr r0, _080231F0 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -11429,7 +11429,7 @@ atk49_moveend: @ 8023210 sub sp, 0x1C movs r0, 0 mov r10, r0 - ldr r2, _08023260 @ =gUnknown_2023D4C + ldr r2, _08023260 @ =gChosenMove ldrh r1, [r2] ldr r0, _08023264 @ =0x0000ffff movs r3, 0 @@ -11446,7 +11446,7 @@ _08023232: ldrb r0, [r0, 0x2] str r0, [sp, 0x14] ldr r1, _0802326C @ =gBattleMons - ldr r0, _08023270 @ =sBattler_AI + ldr r0, _08023270 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -11462,11 +11462,11 @@ _08023232: ldrb r0, [r0, 0x7] b _08023282 .align 2, 0 -_08023260: .4byte gUnknown_2023D4C +_08023260: .4byte gChosenMove _08023264: .4byte 0x0000ffff _08023268: .4byte gUnknown_2023D74 _0802326C: .4byte gBattleMons -_08023270: .4byte sBattler_AI +_08023270: .4byte gBattlerAttacker _08023274: .4byte gEnigmaBerries _08023278: ldrh r0, [r1, 0x2E] @@ -11476,7 +11476,7 @@ _08023278: _08023282: str r0, [sp, 0x8] ldr r1, _080232A4 @ =gBattleStruct - ldr r0, _080232A8 @ =sBattler_AI + ldr r0, _080232A8 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, 0xC8 @@ -11492,13 +11492,13 @@ _08023282: b _08023346 .align 2, 0 _080232A4: .4byte gBattleStruct -_080232A8: .4byte sBattler_AI +_080232A8: .4byte gBattlerAttacker _080232AC: ldr r4, _080232C0 @ =gActiveBattler strb r2, [r4] movs r0, 0 movs r1, 0x1 - bl EmitSpriteInvisibility + bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] bl MarkBufferBankForExecution b _0802379E @@ -11509,7 +11509,7 @@ _080232C4: strb r2, [r4] movs r0, 0 movs r1, 0 - bl EmitSpriteInvisibility + bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] bl MarkBufferBankForExecution ldrb r1, [r6] @@ -11632,7 +11632,7 @@ _080233E4: bne _080233EE b _080237C8 _080233EE: - ldr r0, _08023484 @ =sBattler_AI + ldr r0, _08023484 @ =gBattlerAttacker ldrb r1, [r0] cmp r1, r3 bne _080233F8 @@ -11708,7 +11708,7 @@ _0802346A: .align 2, 0 _0802347C: .4byte gBattleMons _08023480: .4byte gBattlerTarget -_08023484: .4byte sBattler_AI +_08023484: .4byte gBattlerAttacker _08023488: .4byte gMoveResultFlags _0802348C: .4byte gUnknown_2023ECC _08023490: .4byte gBattleMoves @@ -11739,7 +11739,7 @@ _080234C0: bne _080234CA b _080237C8 _080234CA: - ldr r0, _08023544 @ =sBattler_AI + ldr r0, _08023544 @ =gBattlerAttacker ldrb r0, [r0] cmp r0, r2 bne _080234D4 @@ -11786,7 +11786,7 @@ _080234FE: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution bl BattleScriptPushCursor @@ -11799,7 +11799,7 @@ _080234FE: .align 2, 0 _0802353C: .4byte gBattleMons _08023540: .4byte gBattlerTarget -_08023544: .4byte sBattler_AI +_08023544: .4byte gBattlerAttacker _08023548: .4byte gUnknown_2023ECC _0802354C: .4byte gMoveResultFlags _08023550: .4byte gActiveBattler @@ -11857,7 +11857,7 @@ _080235B0: .align 2, 0 _080235BC: .4byte gBattleScripting _080235C0: - ldr r0, _080235E0 @ =sBattler_AI + ldr r0, _080235E0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -11874,7 +11874,7 @@ _080235DA: mov r10, r1 b _080237C8 .align 2, 0 -_080235E0: .4byte sBattler_AI +_080235E0: .4byte gBattlerAttacker _080235E4: ldr r0, _08023674 @ =gUnknown_2023DD0 ldr r0, [r0] @@ -11886,7 +11886,7 @@ _080235E4: ldr r2, [sp, 0x8] cmp r2, 0x1D bne _08023628 - ldr r0, _08023678 @ =gUnknown_2023D4C + ldr r0, _08023678 @ =gChosenMove ldrh r2, [r0] adds r3, r0, 0 cmp r2, 0xA5 @@ -11915,7 +11915,7 @@ _08023622: _08023628: movs r4, 0 ldr r2, _08023684 @ =gBattleMons - ldr r3, _08023688 @ =sBattler_AI + ldr r3, _08023688 @ =gBattlerAttacker ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -11956,11 +11956,11 @@ _0802366A: b _08023BB4 .align 2, 0 _08023674: .4byte gUnknown_2023DD0 -_08023678: .4byte gUnknown_2023D4C +_08023678: .4byte gChosenMove _0802367C: .4byte 0x0000ffff _08023680: .4byte gMoveResultFlags _08023684: .4byte gBattleMons -_08023688: .4byte sBattler_AI +_08023688: .4byte gBattlerAttacker _0802368C: movs r4, 0 ldr r0, _080236C0 @ =gBattlersCount @@ -12024,7 +12024,7 @@ _080236FC: b _080237C8 _08023702: ldr r1, _08023728 @ =gStatuses3 - ldr r0, _0802372C @ =sBattler_AI + ldr r0, _0802372C @ =gBattlerAttacker ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -12046,7 +12046,7 @@ _08023726: b _08023AFA .align 2, 0 _08023728: .4byte gStatuses3 -_0802372C: .4byte sBattler_AI +_0802372C: .4byte gBattlerAttacker _08023730: .4byte 0x000400c0 _08023734: .4byte gUnknown_2023DD0 _08023738: @@ -12057,7 +12057,7 @@ _08023738: cmp r0, 0 bne _08023764 ldr r1, _080237AC @ =gStatuses3 - ldr r0, _080237B0 @ =sBattler_AI + ldr r0, _080237B0 @ =gBattlerAttacker ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -12073,12 +12073,12 @@ _08023738: beq _080237C8 _08023764: ldr r4, _080237B8 @ =gActiveBattler - ldr r5, _080237B0 @ =sBattler_AI + ldr r5, _080237B0 @ =gBattlerAttacker ldrb r0, [r5] strb r0, [r4] movs r0, 0 movs r1, 0 - bl EmitSpriteInvisibility + bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, _080237AC @ =gStatuses3 @@ -12108,7 +12108,7 @@ _0802379E: .align 2, 0 _080237A8: .4byte gMoveResultFlags _080237AC: .4byte gStatuses3 -_080237B0: .4byte sBattler_AI +_080237B0: .4byte gBattlerAttacker _080237B4: .4byte 0x000400c0 _080237B8: .4byte gActiveBattler _080237BC: .4byte 0xfffbff3f @@ -12196,7 +12196,7 @@ _08023860: movs r0, 0x80 lsls r0, 5 ands r0, r3 - ldr r2, _08023918 @ =sBattler_AI + ldr r2, _08023918 @ =gBattlerAttacker mov r9, r2 adds r5, r1, 0 cmp r0, 0 @@ -12224,7 +12224,7 @@ _0802388A: ldrb r1, [r2] lsls r1, 1 adds r1, r0 - ldr r0, _0802392C @ =gUnknown_2023D4C + ldr r0, _0802392C @ =gChosenMove ldrh r0, [r0] strh r0, [r1] _080238A6: @@ -12273,7 +12273,7 @@ _080238E8: ldr r0, _08023940 @ =gLastUsedMove lsls r1, r4, 1 adds r1, r0 - ldr r0, _0802392C @ =gUnknown_2023D4C + ldr r0, _0802392C @ =gChosenMove ldrh r0, [r0] strh r0, [r1] ldr r0, _08023944 @ =gUnknown_2023DB0 @@ -12287,12 +12287,12 @@ _080238E8: b _08023966 .align 2, 0 _08023914: .4byte gUnknown_2023DD0 -_08023918: .4byte sBattler_AI +_08023918: .4byte gBattlerAttacker _0802391C: .4byte gActiveBattler _08023920: .4byte gBattlerTarget _08023924: .4byte 0xffffefff _08023928: .4byte gUnknown_2023D90 -_0802392C: .4byte gUnknown_2023D4C +_0802392C: .4byte gChosenMove _08023930: .4byte gAbsentBattlerFlags _08023934: .4byte gBitTable _08023938: .4byte gBattleStruct @@ -12343,7 +12343,7 @@ _08023984: ands r0, r1 cmp r0, 0 bne _08023A20 - ldr r0, _080239CC @ =gUnknown_2023D4C + ldr r0, _080239CC @ =gChosenMove ldrh r3, [r0] ldr r0, _080239B8 @ =0x0000ffff cmp r3, r0 @@ -12361,7 +12361,7 @@ _080239BC: .4byte gUnknown_2023DB0 _080239C0: .4byte gBattlerTarget _080239C4: .4byte gUnknown_2023DC0 _080239C8: .4byte gMoveResultFlags -_080239CC: .4byte gUnknown_2023D4C +_080239CC: .4byte gChosenMove _080239D0: .4byte gUnknown_2023DA0 _080239D4: ldr r0, _080239F8 @ =gUnknown_2023DA0 @@ -12422,7 +12422,7 @@ _08023A40: ldr r0, _08023B04 @ =gAbsentBattlerFlags ldrb r1, [r0] ldr r7, _08023B08 @ =gBitTable - ldr r2, _08023B0C @ =sBattler_AI + ldr r2, _08023B0C @ =gBattlerAttacker ldrb r3, [r2] lsls r0, r3, 2 adds r0, r7 @@ -12478,7 +12478,7 @@ _08023A40: lsls r1, r2, 1 adds r1, r5 adds r1, 0x98 - ldr r3, _08023B24 @ =gUnknown_2023D4C + ldr r3, _08023B24 @ =gChosenMove ldrh r0, [r3] strb r0, [r1] ldrb r1, [r4] @@ -12521,13 +12521,13 @@ _08023AFA: .align 2, 0 _08023B04: .4byte gAbsentBattlerFlags _08023B08: .4byte gBitTable -_08023B0C: .4byte sBattler_AI +_08023B0C: .4byte gBattlerAttacker _08023B10: .4byte gBattleStruct _08023B14: .4byte gBattleMoves _08023B18: .4byte gUnknown_2023DD0 _08023B1C: .4byte gBattlerTarget _08023B20: .4byte gMoveResultFlags -_08023B24: .4byte gUnknown_2023D4C +_08023B24: .4byte gChosenMove _08023B28: ldr r5, _08023C10 @ =gUnknown_2023DD0 ldr r2, [r5] @@ -12543,7 +12543,7 @@ _08023B28: cmp r0, 0 beq _08023BAC ldr r1, _08023C18 @ =gUnknown_2023E8C - ldr r0, _08023C1C @ =sBattler_AI + ldr r0, _08023C1C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -12652,7 +12652,7 @@ _08023BFE: _08023C10: .4byte gUnknown_2023DD0 _08023C14: .4byte gBattleTypeFlags _08023C18: .4byte gUnknown_2023E8C -_08023C1C: .4byte sBattler_AI +_08023C1C: .4byte gBattlerAttacker _08023C20: .4byte gBattleMoves _08023C24: .4byte gCurrentMove _08023C28: .4byte gBattlerTarget @@ -12865,7 +12865,7 @@ _08023DAE: ands r5, r4 cmp r5, 0 bne _08023E2A - ldr r0, _08023E64 @ =sBattler_AI + ldr r0, _08023E64 @ =gBattlerAttacker ldrb r0, [r0] ldr r7, _08023E68 @ =gCurrentMove ldrh r1, [r7] @@ -12919,7 +12919,7 @@ _08023E2A: cmp r0, 0 beq _08023E48 ldr r2, _08023E80 @ =gUnknown_2023E8C - ldr r0, _08023E64 @ =sBattler_AI + ldr r0, _08023E64 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 4 adds r1, r2 @@ -12940,7 +12940,7 @@ _08023E48: .align 2, 0 _08023E5C: .4byte gBattleMons _08023E60: .4byte gBattlerTarget -_08023E64: .4byte sBattler_AI +_08023E64: .4byte gBattlerAttacker _08023E68: .4byte gCurrentMove _08023E6C: .4byte gBattleMoves _08023E70: .4byte gLastUsedAbility @@ -12955,7 +12955,7 @@ _08023E84: .4byte gUnknown_2023D74 atk4B_returnatktoball: @ 8023E88 push {r4,lr} ldr r4, _08023EC4 @ =gActiveBattler - ldr r0, _08023EC8 @ =sBattler_AI + ldr r0, _08023EC8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] ldr r2, _08023ECC @ =gUnknown_2023DD0 @@ -12971,7 +12971,7 @@ atk4B_returnatktoball: @ 8023E88 bne _08023EB6 movs r0, 0 movs r1, 0 - bl EmitReturnMonToBall + bl BtlController_EmitReturnMonToBall ldrb r0, [r4] bl MarkBufferBankForExecution _08023EB6: @@ -12984,7 +12984,7 @@ _08023EB6: bx r0 .align 2, 0 _08023EC4: .4byte gActiveBattler -_08023EC8: .4byte sBattler_AI +_08023EC8: .4byte gBattlerAttacker _08023ECC: .4byte gUnknown_2023DD0 _08023ED0: .4byte gBitTable _08023ED4: .4byte gUnknown_2023D74 @@ -13071,7 +13071,7 @@ _08023F56: muls r0, r5 adds r3, r0, r6 movs r2, 0 - ldr r5, _080240B0 @ =gUnknown_20233C4 + ldr r5, _080240B0 @ =gBattleBufferB adds r7, r4, 0 _08023F84: adds r0, r3, r2 @@ -13222,7 +13222,7 @@ _080240A0: .4byte gBattleControllerExecFlags _080240A4: .4byte gUnknown_2023D74 _080240A8: .4byte gActiveBattler _080240AC: .4byte gBattleMons -_080240B0: .4byte gUnknown_20233C4 +_080240B0: .4byte gBattleBufferB _080240B4: .4byte gBaseStats _080240B8: .4byte gUnknown_2023F20 _080240BC: .4byte gBitTable @@ -13294,7 +13294,7 @@ _0802412A: ldr r0, [r4] ldrb r2, [r0, 0x2] movs r0, 0 - bl EmitSwitchInAnim + bl BtlController_EmitSwitchInAnim ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r4] @@ -13603,7 +13603,7 @@ sub_8024398: @ 8024398 movs r0, 0 movs r1, 0x1 movs r3, 0 - bl EmitChoosePokemon + bl BtlController_EmitChoosePokemon ldrb r0, [r4] bl MarkBufferBankForExecution add sp, 0x4 @@ -13700,7 +13700,7 @@ _08024446: str r0, [r7] movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution b _080244F6 @@ -13740,7 +13740,7 @@ _080244E4: .4byte gUnknown_2023ECC _080244E8: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _080244F6: @@ -13798,7 +13798,7 @@ _08024518: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r4] bl MarkBufferBankForExecution b _080245CE @@ -13839,7 +13839,7 @@ _080245B8: .4byte gBattleStruct _080245BC: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution movs r0, 0x1 @@ -13882,7 +13882,7 @@ _080245CE: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r4] bl MarkBufferBankForExecution b _0802468C @@ -13928,7 +13928,7 @@ _08024674: bne _0802468C movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _0802468C: @@ -13965,7 +13965,7 @@ _0802468C: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r4] bl MarkBufferBankForExecution b _0802473E @@ -14006,7 +14006,7 @@ _08024724: .4byte gBattleStruct _08024728: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution movs r0, 0x2 @@ -14051,7 +14051,7 @@ _0802473E: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r4] bl MarkBufferBankForExecution b _080247FC @@ -14097,7 +14097,7 @@ _080247E4: bne _080247FC movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _080247FC: @@ -14136,7 +14136,7 @@ _0802483C: _08024840: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldr r0, _08024880 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -14176,7 +14176,7 @@ _08024894: strb r0, [r1] movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldr r0, _080248B0 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -14223,7 +14223,7 @@ _080248D6: ldr r6, _08024940 @ =gActiveBattler movs r0, 0x2 strb r0, [r6] - ldr r0, _08024944 @ =gUnknown_20233C4 + ldr r0, _08024944 @ =gBattleBufferB ldrb r1, [r0, 0x1] movs r0, 0x2 movs r2, 0x6 @@ -14248,7 +14248,7 @@ _080248D6: bics r0, r1 str r0, [r7] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r6] bl MarkBufferBankForExecution b _0802497E @@ -14257,7 +14257,7 @@ _08024934: .4byte gBattleTypeFlags _08024938: .4byte gUnknown_2023DD0 _0802493C: .4byte gBitTable _08024940: .4byte gActiveBattler -_08024944: .4byte gUnknown_20233C4 +_08024944: .4byte gBattleBufferB _08024948: .4byte gAbsentBattlerFlags _0802494C: ldr r4, _080249DC @ =gUnknown_2023ECC @@ -14297,7 +14297,7 @@ _0802497E: ldr r5, _080249E8 @ =gActiveBattler movs r0, 0x3 strb r0, [r5] - ldr r0, _080249EC @ =gUnknown_20233C4 + ldr r0, _080249EC @ =gBattleBufferB ldr r2, _080249F0 @ =0x00000201 adds r0, r2 ldrb r1, [r0] @@ -14325,7 +14325,7 @@ _0802497E: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r5] bl MarkBufferBankForExecution b _08024A2E @@ -14334,7 +14334,7 @@ _080249DC: .4byte gUnknown_2023ECC _080249E0: .4byte gBattleStruct _080249E4: .4byte gBitTable _080249E8: .4byte gActiveBattler -_080249EC: .4byte gUnknown_20233C4 +_080249EC: .4byte gBattleBufferB _080249F0: .4byte 0x00000201 _080249F4: .4byte gAbsentBattlerFlags _080249F8: .4byte gUnknown_2023DD0 @@ -14518,7 +14518,7 @@ _08024B34: movs r0, 0 adds r1, r5, 0 movs r3, 0 - bl EmitChoosePokemon + bl BtlController_EmitChoosePokemon ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r6] @@ -14556,7 +14556,7 @@ _08024BB0: beq _08024BC4 movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _08024BC4: @@ -14603,7 +14603,7 @@ _08024BF0: _08024C20: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _08024C2E: @@ -14661,7 +14661,7 @@ _08024C86: b _08024E0E _08024C92: ldr r6, _08024CBC @ =gBattleStruct - ldr r2, _08024CC0 @ =gUnknown_20233C4 + ldr r2, _08024CC0 @ =gBattleBufferB movs r5, 0x80 lsls r5, 2 adds r4, r0, 0 @@ -14684,7 +14684,7 @@ _08024CAC: .align 2, 0 _08024CB8: .4byte gBattlersCount _08024CBC: .4byte gBattleStruct -_08024CC0: .4byte gUnknown_20233C4 +_08024CC0: .4byte gBattleBufferB _08024CC4: ldr r0, _08024CDC @ =gBattleTypeFlags ldr r0, [r0] @@ -14701,7 +14701,7 @@ _08024CD2: _08024CDC: .4byte gBattleTypeFlags _08024CE0: ldr r1, _08024DAC @ =gUnknown_2023E82 - ldr r4, _08024DB0 @ =gUnknown_20233C4 + ldr r4, _08024DB0 @ =gBattleBufferB ldrb r0, [r7] lsls r0, 9 adds r2, r4, 0x1 @@ -14804,7 +14804,7 @@ _08024CE0: b _08024DC2 .align 2, 0 _08024DAC: .4byte gUnknown_2023E82 -_08024DB0: .4byte gUnknown_20233C4 +_08024DB0: .4byte gBattleBufferB _08024DB4: .4byte gBattleStruct _08024DB8: .4byte gBattleTypeFlags _08024DBC: @@ -14817,7 +14817,7 @@ _08024DC2: movs r0, 0x6 strb r0, [r1, 0x1] ldr r4, _08024E20 @ =gBattleMons - ldr r3, _08024E24 @ =sBattler_AI + ldr r3, _08024E24 @ =gBattlerAttacker ldrb r0, [r3] movs r2, 0x58 muls r0, r2 @@ -14839,7 +14839,7 @@ _08024DC2: ldr r3, _08024E2C @ =gActiveBattler ldrb r0, [r3] strb r0, [r2, 0x2] - ldr r1, _08024E30 @ =gUnknown_20233C4 + ldr r1, _08024E30 @ =gBattleBufferB ldrb r0, [r3] lsls r0, 9 adds r1, 0x1 @@ -14861,10 +14861,10 @@ _08024E16: .align 2, 0 _08024E1C: .4byte gBattleTextBuff1 _08024E20: .4byte gBattleMons -_08024E24: .4byte sBattler_AI +_08024E24: .4byte gBattlerAttacker _08024E28: .4byte gBattleTextBuff2 _08024E2C: .4byte gActiveBattler -_08024E30: .4byte gUnknown_20233C4 +_08024E30: .4byte gBattleBufferB _08024E34: .4byte gUnknown_2023D74 thumb_func_end sub_8024C48 @@ -15207,7 +15207,7 @@ _080250F2: ldr r1, _08025114 @ =gActiveBattler strb r0, [r1] movs r0, 0 - bl EmitTrainerSlide + bl BtlController_EmitTrainerSlide ldr r0, _08025114 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -15226,7 +15226,7 @@ _08025118: .4byte gUnknown_2023D74 atk54_playse: @ 802511C push {r4,r5,lr} ldr r5, _0802514C @ =gActiveBattler - ldr r0, _08025150 @ =sBattler_AI + ldr r0, _08025150 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] ldr r4, _08025154 @ =gUnknown_2023D74 @@ -15236,7 +15236,7 @@ atk54_playse: @ 802511C lsls r0, 8 orrs r1, r0 movs r0, 0 - bl EmitPlaySE + bl BtlController_EmitPlaySE ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r4] @@ -15247,7 +15247,7 @@ atk54_playse: @ 802511C bx r0 .align 2, 0 _0802514C: .4byte gActiveBattler -_08025150: .4byte sBattler_AI +_08025150: .4byte gBattlerAttacker _08025154: .4byte gUnknown_2023D74 thumb_func_end atk54_playse @@ -15255,7 +15255,7 @@ _08025154: .4byte gUnknown_2023D74 atk55_play_sound: @ 8025158 push {r4,r5,lr} ldr r5, _08025188 @ =gActiveBattler - ldr r0, _0802518C @ =sBattler_AI + ldr r0, _0802518C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] ldr r4, _08025190 @ =gUnknown_2023D74 @@ -15265,7 +15265,7 @@ atk55_play_sound: @ 8025158 lsls r0, 8 orrs r1, r0 movs r0, 0 - bl Emitcmd44 + bl BtlController_EmitPlayFanfare ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r4] @@ -15276,7 +15276,7 @@ atk55_play_sound: @ 8025158 bx r0 .align 2, 0 _08025188: .4byte gActiveBattler -_0802518C: .4byte sBattler_AI +_0802518C: .4byte gBattlerAttacker _08025190: .4byte gUnknown_2023D74 thumb_func_end atk55_play_sound @@ -15290,7 +15290,7 @@ atk56_playfaintcry: @ 8025194 ldr r4, _080251C0 @ =gActiveBattler strb r0, [r4] movs r0, 0 - bl EmitFaintingCry + bl BtlController_EmitFaintingCry ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -15314,7 +15314,7 @@ atk57: @ 80251C4 ldr r0, _080251F4 @ =gBattleOutcome ldrb r1, [r0] movs r0, 0 - bl EmitCmd55 + bl BtlController_EmitCmd55 ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _080251F8 @ =gUnknown_2023D74 @@ -15341,7 +15341,7 @@ atk58_returntoball: @ 80251FC strb r0, [r4] movs r0, 0 movs r1, 0x1 - bl EmitReturnMonToBall + bl BtlController_EmitReturnMonToBall ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -16108,7 +16108,7 @@ sub_802581C: @ 802581C bne _080258A0 _0802586E: movs r0, 0 - bl EmitHitAnimation + bl BtlController_EmitHitAnimation ldr r0, _0802588C @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -16460,7 +16460,7 @@ _08025B20: .4byte gUnknown_2023C08 atk5F: @ 8025B24 push {lr} ldr r0, _08025B4C @ =gActiveBattler - ldr r2, _08025B50 @ =sBattler_AI + ldr r2, _08025B50 @ =gBattlerAttacker ldrb r3, [r2] strb r3, [r0] ldr r1, _08025B54 @ =gBattlerTarget @@ -16480,7 +16480,7 @@ atk5F: @ 8025B24 b _08025B62 .align 2, 0 _08025B4C: .4byte gActiveBattler -_08025B50: .4byte sBattler_AI +_08025B50: .4byte gBattlerAttacker _08025B54: .4byte gBattlerTarget _08025B58: .4byte gUnknown_2023DD0 _08025B5C: .4byte 0xffffefff @@ -16501,7 +16501,7 @@ _08025B70: .4byte gUnknown_2023D74 thumb_func_start atk60_incrementgamestat atk60_incrementgamestat: @ 8025B74 push {lr} - ldr r0, _08025B9C @ =sBattler_AI + ldr r0, _08025B9C @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -16519,7 +16519,7 @@ _08025B8E: pop {r0} bx r0 .align 2, 0 -_08025B9C: .4byte sBattler_AI +_08025B9C: .4byte gBattlerAttacker _08025BA0: .4byte gUnknown_2023D74 thumb_func_end atk60_incrementgamestat @@ -16599,7 +16599,7 @@ _08025C32: movs r0, 0 mov r1, sp movs r2, 0x1 - bl EmitDrawPartyStatusSummary + bl BtlController_EmitDrawPartyStatusSummary ldr r0, _08025C64 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -16629,7 +16629,7 @@ atk62: @ 8025C6C ldr r4, _08025C98 @ =gActiveBattler strb r0, [r4] movs r0, 0 - bl EmitCmd49 + bl BtlController_EmitHidePartyStatusSummary ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -16662,7 +16662,7 @@ _08025CB4: .4byte gUnknown_2023D74 _08025CB8: .4byte gCurrentMove _08025CBC: .4byte gUnknown_2023D4E _08025CC0: - ldr r2, _08025CEC @ =gUnknown_2023D4C + ldr r2, _08025CEC @ =gChosenMove ldr r1, _08025CF0 @ =gCurrentMove ldr r0, _08025CF4 @ =gUnknown_2023D4E ldrh r0, [r0] @@ -16686,7 +16686,7 @@ _08025CCE: pop {r0} bx r0 .align 2, 0 -_08025CEC: .4byte gUnknown_2023D4C +_08025CEC: .4byte gChosenMove _08025CF0: .4byte gCurrentMove _08025CF4: .4byte gUnknown_2023D4E _08025CF8: .4byte gUnknown_81D65A8 @@ -16737,7 +16737,7 @@ atk64_statusanimation: @ 8025D00 ldr r2, [r0] movs r0, 0 movs r1, 0 - bl EmitStatusAnimation + bl BtlController_EmitStatusAnimation ldrb r0, [r4] bl MarkBufferBankForExecution _08025D60: @@ -16816,7 +16816,7 @@ atk65_status2animation: @ 8025D90 ands r2, r3 movs r0, 0 movs r1, 0x1 - bl EmitStatusAnimation + bl BtlController_EmitStatusAnimation ldrb r0, [r5] bl MarkBufferBankForExecution _08025E08: @@ -16888,7 +16888,7 @@ atk66_chosenstatusanimation: @ 8025E38 bne _08025EA2 ldrb r1, [r4, 0x2] movs r0, 0 - bl EmitStatusAnimation + bl BtlController_EmitStatusAnimation ldrb r0, [r5] bl MarkBufferBankForExecution _08025EA2: @@ -17206,7 +17206,7 @@ _08026114: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _08026154 @ =gUnknown_2023D68 + ldr r1, _08026154 @ =gLastUsedItem adds r0, r3, 0 muls r0, r4 adds r0, r5 @@ -17223,7 +17223,7 @@ _0802613C: .align 2, 0 _0802614C: .4byte gUnknown_2023ECC _08026150: .4byte gMoveResultFlags -_08026154: .4byte gUnknown_2023D68 +_08026154: .4byte gLastUsedItem _08026158: .4byte gUnknown_2023D74 thumb_func_end atk69_adjustsetdamage @@ -17264,7 +17264,7 @@ atk6A_removeitem: @ 802615C movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r6] @@ -17288,7 +17288,7 @@ atk6B_atknameinbuff1: @ 80261CC strb r0, [r1] movs r0, 0x7 strb r0, [r1, 0x1] - ldr r2, _080261FC @ =sBattler_AI + ldr r2, _080261FC @ =gBattlerAttacker ldrb r0, [r2] strb r0, [r1, 0x2] ldr r3, _08026200 @ =gBattlerPartyIndexes @@ -17306,7 +17306,7 @@ atk6B_atknameinbuff1: @ 80261CC bx lr .align 2, 0 _080261F8: .4byte gBattleTextBuff1 -_080261FC: .4byte sBattler_AI +_080261FC: .4byte gBattlerAttacker _08026200: .4byte gBattlerPartyIndexes _08026204: .4byte gUnknown_2023D74 thumb_func_end atk6B_atknameinbuff1 @@ -18040,7 +18040,7 @@ atk6E_setatktoplayer0: @ 80267F0 push {lr} movs r0, 0 bl GetBattlerAtPosition - ldr r1, _08026808 @ =sBattler_AI + ldr r1, _08026808 @ =gBattlerAttacker strb r0, [r1] ldr r1, _0802680C @ =gUnknown_2023D74 ldr r0, [r1] @@ -18049,7 +18049,7 @@ atk6E_setatktoplayer0: @ 80267F0 pop {r0} bx r0 .align 2, 0 -_08026808: .4byte sBattler_AI +_08026808: .4byte gBattlerAttacker _0802680C: .4byte gUnknown_2023D74 thumb_func_end atk6E_setatktoplayer0 @@ -18064,7 +18064,7 @@ atk6F_makevisible: @ 8026810 strb r0, [r4] movs r0, 0 movs r1, 0 - bl EmitSpriteInvisibility + bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -18361,7 +18361,7 @@ atk75_useitemonopponent: @ 8026A58 push {lr} sub sp, 0x4 ldr r2, _08026A98 @ =gBattlerInMenuId - ldr r1, _08026A9C @ =sBattler_AI + ldr r1, _08026A9C @ =gBattlerAttacker ldrb r0, [r1] strb r0, [r2] ldr r2, _08026AA0 @ =gBattlerPartyIndexes @@ -18373,7 +18373,7 @@ atk75_useitemonopponent: @ 8026A58 muls r0, r2 ldr r1, _08026AA4 @ =gEnemyParty adds r0, r1 - ldr r1, _08026AA8 @ =gUnknown_2023D68 + ldr r1, _08026AA8 @ =gLastUsedItem ldrh r1, [r1] lsls r2, 24 lsrs r2, 24 @@ -18390,10 +18390,10 @@ atk75_useitemonopponent: @ 8026A58 bx r0 .align 2, 0 _08026A98: .4byte gBattlerInMenuId -_08026A9C: .4byte sBattler_AI +_08026A9C: .4byte gBattlerAttacker _08026AA0: .4byte gBattlerPartyIndexes _08026AA4: .4byte gEnemyParty -_08026AA8: .4byte gUnknown_2023D68 +_08026AA8: .4byte gLastUsedItem _08026AAC: .4byte gUnknown_2023D74 thumb_func_end atk75_useitemonopponent @@ -18448,7 +18448,7 @@ _08026B1C: .align 2, 0 _08026B28: .4byte gActiveBattler _08026B2C: - ldr r1, _08026B68 @ =sBattler_AI + ldr r1, _08026B68 @ =gBattlerAttacker ldr r4, _08026B6C @ =gBattlerTarget ldrb r0, [r4] strb r0, [r1] @@ -18477,7 +18477,7 @@ _08026B2C: strb r2, [r4] b _08026F4E .align 2, 0 -_08026B68: .4byte sBattler_AI +_08026B68: .4byte gBattlerAttacker _08026B6C: .4byte gBattlerTarget _08026B70: .4byte gSideTimers _08026B74: .4byte gBattleMons @@ -18746,7 +18746,7 @@ _08026D7C: _08026D84: movs r0, 0 movs r1, 0 - bl EmitReturnMonToBall + bl BtlController_EmitReturnMonToBall ldrb r0, [r4] bl MarkBufferBankForExecution b _08026F4E @@ -18863,7 +18863,7 @@ _08026E4E: movs r0, 0 movs r1, 0x28 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _08026F28 @ =gUnknown_2023E82 @@ -18938,7 +18938,7 @@ _08026EEC: movs r0, 0 movs r1, 0x28 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _08026F28 @ =gUnknown_2023E82 @@ -18982,7 +18982,7 @@ atk77_setprotectlike: @ 8026F68 push {r7} movs r6, 0x1 ldr r2, _08027034 @ =gUnknown_2023DB0 - ldr r1, _08027038 @ =sBattler_AI + ldr r1, _08027038 @ =gBattlerAttacker ldrb r3, [r1] lsls r0, r3, 1 adds r0, r2 @@ -19083,7 +19083,7 @@ _0802701E: b _0802707E .align 2, 0 _08027034: .4byte gUnknown_2023DB0 -_08027038: .4byte sBattler_AI +_08027038: .4byte gBattlerAttacker _0802703C: .4byte gDisableStructs _08027040: .4byte gUnknown_2023BE2 _08027044: .4byte gBattlersCount @@ -19094,7 +19094,7 @@ _08027054: .4byte gUnknown_2023E8C _08027058: .4byte gUnknown_2023E82 _0802705C: ldr r2, _08027090 @ =gDisableStructs - ldr r0, _08027094 @ =sBattler_AI + ldr r0, _08027094 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -19122,7 +19122,7 @@ _0802707E: bx r0 .align 2, 0 _08027090: .4byte gDisableStructs -_08027094: .4byte sBattler_AI +_08027094: .4byte gBattlerAttacker _08027098: .4byte gUnknown_2023E82 _0802709C: .4byte gMoveResultFlags _080270A0: .4byte gUnknown_2023D74 @@ -19176,7 +19176,7 @@ _080270F0: cmp r0, r1 bne _0802718C ldr r4, _08027170 @ =gActiveBattler - ldr r7, _08027174 @ =sBattler_AI + ldr r7, _08027174 @ =gBattlerAttacker ldrb r0, [r7] strb r0, [r4] ldr r2, _08027178 @ =gBattleMoveDamage @@ -19188,7 +19188,7 @@ _080270F0: str r0, [r2] ldr r1, _0802717C @ =0x00007fff movs r0, 0 - bl EmitHealthBarUpdate + bl BtlController_EmitHealthBarUpdate ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _08027180 @ =gUnknown_2023D74 @@ -19232,7 +19232,7 @@ _08027164: .4byte gBattlerTarget _08027168: .4byte gBattlersCount _0802716C: .4byte gBattleMons _08027170: .4byte gActiveBattler -_08027174: .4byte sBattler_AI +_08027174: .4byte gBattlerAttacker _08027178: .4byte gBattleMoveDamage _0802717C: .4byte 0x00007fff _08027180: .4byte gUnknown_2023D74 @@ -19273,7 +19273,7 @@ atk79_setatkhptozero: @ 80271C0 cmp r3, 0 bne _08027204 ldr r4, _08027210 @ =gActiveBattler - ldr r0, _08027214 @ =sBattler_AI + ldr r0, _08027214 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] ldr r1, _08027218 @ =gBattleMons @@ -19291,7 +19291,7 @@ atk79_setatkhptozero: @ 80271C0 movs r1, 0x2A movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _0802721C @ =gUnknown_2023D74 @@ -19306,7 +19306,7 @@ _08027204: .align 2, 0 _0802720C: .4byte gBattleControllerExecFlags _08027210: .4byte gActiveBattler -_08027214: .4byte sBattler_AI +_08027214: .4byte gBattlerAttacker _08027218: .4byte gBattleMons _0802721C: .4byte gUnknown_2023D74 thumb_func_end atk79_setatkhptozero @@ -19337,7 +19337,7 @@ atk7A_jumpifnexttargetvalid: @ 8027220 ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] - ldr r2, _080272A4 @ =sBattler_AI + ldr r2, _080272A4 @ =gBattlerAttacker lsls r1, 24 lsrs r1, 24 adds r3, r0, 0 @@ -19379,7 +19379,7 @@ _08027276: _08027298: .4byte gUnknown_2023D74 _0802729C: .4byte gBattleTypeFlags _080272A0: .4byte gBattlerTarget -_080272A4: .4byte sBattler_AI +_080272A4: .4byte gBattlerAttacker _080272A8: .4byte gAbsentBattlerFlags _080272AC: .4byte gBitTable _080272B0: .4byte gBattlersCount @@ -19414,7 +19414,7 @@ atk7B_tryhealhalfhealth: @ 80272C4 ldr r3, _08027324 @ =gBattlerTarget cmp r0, 0x1 bne _080272EC - ldr r0, _08027328 @ =sBattler_AI + ldr r0, _08027328 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r3] _080272EC: @@ -19447,7 +19447,7 @@ _08027306: .align 2, 0 _08027320: .4byte gUnknown_2023D74 _08027324: .4byte gBattlerTarget -_08027328: .4byte sBattler_AI +_08027328: .4byte gBattlerAttacker _0802732C: .4byte gBattleMoveDamage _08027330: .4byte gBattleMons _08027334: @@ -19484,7 +19484,7 @@ _08027356: ldrb r1, [r2] cmp r5, r1 bge _080273AC - ldr r0, _080273E8 @ =sBattler_AI + ldr r0, _080273E8 @ =gBattlerAttacker ldrb r6, [r0] ldr r2, _080273EC @ =0x0000ffff mov r9, r2 @@ -19520,7 +19520,7 @@ _080273A4: cmp r5, r7 blt _0802737C _080273AC: - ldr r1, _080273E8 @ =sBattler_AI + ldr r1, _080273E8 @ =gBattlerAttacker ldrb r0, [r1] mov r2, r10 ldr r1, [r2] @@ -19549,7 +19549,7 @@ _080273AC: .align 2, 0 _080273E0: .4byte gBattlersCount _080273E4: .4byte gBattleStruct -_080273E8: .4byte sBattler_AI +_080273E8: .4byte gBattlerAttacker _080273EC: .4byte 0x0000ffff _080273F0: .4byte gUnknown_2023DD0 _080273F4: .4byte 0xfffffbff @@ -19604,7 +19604,7 @@ _08027464: .4byte gUnknown_81D65A8 _08027468: .4byte gBattleMoves _0802746C: ldr r2, _0802749C @ =gUnknown_2023ECC - ldr r0, _080274A0 @ =sBattler_AI + ldr r0, _080274A0 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -19629,7 +19629,7 @@ _0802748A: bx r0 .align 2, 0 _0802749C: .4byte gUnknown_2023ECC -_080274A0: .4byte sBattler_AI +_080274A0: .4byte gBattlerAttacker _080274A4: .4byte gUnknown_2023D74 thumb_func_end atk7C_trymirrormove @@ -19680,7 +19680,7 @@ _080274F8: .4byte gUnknown_2023D74 thumb_func_start atk7E_setreflect atk7E_setreflect: @ 80274FC push {r4-r6,lr} - ldr r6, _0802752C @ =sBattler_AI + ldr r6, _0802752C @ =gBattlerAttacker ldrb r0, [r6] bl GetBattlerPosition ldr r4, _08027530 @ =gSideAffecting @@ -19703,7 +19703,7 @@ atk7E_setreflect: @ 80274FC movs r0, 0 b _080275B0 .align 2, 0 -_0802752C: .4byte sBattler_AI +_0802752C: .4byte gBattlerAttacker _08027530: .4byte gSideAffecting _08027534: .4byte gMoveResultFlags _08027538: .4byte gUnknown_2023E82 @@ -19842,7 +19842,7 @@ _08027634: _08027644: .4byte gBattleMons _08027648: .4byte gUnknown_2023E82 _0802764C: - ldr r0, _0802767C @ =sBattler_AI + ldr r0, _0802767C @ =gBattlerAttacker ldrb r0, [r0] orrs r2, r0 str r2, [r6] @@ -19868,7 +19868,7 @@ _08027668: pop {r0} bx r0 .align 2, 0 -_0802767C: .4byte sBattler_AI +_0802767C: .4byte gBattlerAttacker _08027680: .4byte gUnknown_2023E82 _08027684: .4byte gUnknown_2023D74 thumb_func_end atk7F_setseeded @@ -19964,7 +19964,7 @@ atk81_trysetrest: @ 8027708 orrs r6, r0 ldr r5, _08027764 @ =gActiveBattler ldr r2, _08027768 @ =gBattlerTarget - ldr r0, _0802776C @ =sBattler_AI + ldr r0, _0802776C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r2] strb r0, [r5] @@ -19995,7 +19995,7 @@ atk81_trysetrest: @ 8027708 _08027760: .4byte gUnknown_2023D74 _08027764: .4byte gActiveBattler _08027768: .4byte gBattlerTarget -_0802776C: .4byte sBattler_AI +_0802776C: .4byte gBattlerAttacker _08027770: .4byte gBattleMoveDamage _08027774: .4byte gBattleMons _08027778: @@ -20032,7 +20032,7 @@ _08027798: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r7] bl MarkBufferBankForExecution ldr r1, _080277D4 @ =gUnknown_2023D74 @@ -20065,7 +20065,7 @@ atk82_jumpifnotfirstturn: @ 80277D8 lsls r0, 24 orrs r3, r0 ldr r2, _08027810 @ =gDisableStructs - ldr r0, _08027814 @ =sBattler_AI + ldr r0, _08027814 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -20080,7 +20080,7 @@ atk82_jumpifnotfirstturn: @ 80277D8 .align 2, 0 _0802780C: .4byte gUnknown_2023D74 _08027810: .4byte gDisableStructs -_08027814: .4byte sBattler_AI +_08027814: .4byte gBattlerAttacker _08027818: str r3, [r5] _0802781A: @@ -20252,7 +20252,7 @@ _08027942: atk85_stockpile: @ 8027948 push {r4,r5,lr} ldr r5, _08027970 @ =gDisableStructs - ldr r4, _08027974 @ =sBattler_AI + ldr r4, _08027974 @ =gBattlerAttacker ldrb r1, [r4] lsls r0, r1, 3 subs r0, r1 @@ -20272,7 +20272,7 @@ atk85_stockpile: @ 8027948 b _080279AA .align 2, 0 _08027970: .4byte gDisableStructs -_08027974: .4byte sBattler_AI +_08027974: .4byte gBattlerAttacker _08027978: .4byte gMoveResultFlags _0802797C: .4byte gUnknown_2023E82 _08027980: @@ -20330,7 +20330,7 @@ atk86_stockpiletobasedamage: @ 80279C4 lsls r0, 24 orrs r2, r0 ldr r7, _08027A00 @ =gDisableStructs - ldr r6, _08027A04 @ =sBattler_AI + ldr r6, _08027A04 @ =gBattlerAttacker ldrb r1, [r6] lsls r0, r1, 3 subs r0, r1 @@ -20344,7 +20344,7 @@ atk86_stockpiletobasedamage: @ 80279C4 .align 2, 0 _080279FC: .4byte gUnknown_2023D74 _08027A00: .4byte gDisableStructs -_08027A04: .4byte sBattler_AI +_08027A04: .4byte gBattlerAttacker _08027A08: ldr r0, _08027AB8 @ =gUnknown_2023E82 ldrb r0, [r0, 0x6] @@ -20413,7 +20413,7 @@ _08027A08: str r0, [r1] _08027A90: ldr r2, _08027AD8 @ =gDisableStructs - ldr r0, _08027ADC @ =sBattler_AI + ldr r0, _08027ADC @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -20442,7 +20442,7 @@ _08027ACC: .4byte gCurrentMove _08027AD0: .4byte gBattleScripting _08027AD4: .4byte gUnknown_2023E8C _08027AD8: .4byte gDisableStructs -_08027ADC: .4byte sBattler_AI +_08027ADC: .4byte gBattlerAttacker _08027AE0: .4byte gUnknown_2023D74 thumb_func_end atk86_stockpiletobasedamage @@ -20465,7 +20465,7 @@ atk87_stockpiletohpheal: @ 8027AE4 orrs r2, r0 ldr r0, _08027B28 @ =gDisableStructs mov r8, r0 - ldr r6, _08027B2C @ =sBattler_AI + ldr r6, _08027B2C @ =gBattlerAttacker ldrb r3, [r6] lsls r0, r3, 3 subs r0, r3 @@ -20482,7 +20482,7 @@ atk87_stockpiletohpheal: @ 8027AE4 .align 2, 0 _08027B24: .4byte gUnknown_2023D74 _08027B28: .4byte gDisableStructs -_08027B2C: .4byte sBattler_AI +_08027B2C: .4byte gBattlerAttacker _08027B30: .4byte gUnknown_2023E82 _08027B34: ldr r1, _08027B58 @ =gBattleMons @@ -20609,11 +20609,11 @@ ChangeStatBuffs: @ 8027BFC cmp r0, 0 beq _08027C30 ldr r0, _08027C28 @ =gActiveBattler - ldr r1, _08027C2C @ =sBattler_AI + ldr r1, _08027C2C @ =gBattlerAttacker b _08027C34 .align 2, 0 _08027C28: .4byte gActiveBattler -_08027C2C: .4byte sBattler_AI +_08027C2C: .4byte gBattlerAttacker _08027C30: ldr r0, _08027CD4 @ =gActiveBattler ldr r1, _08027CD8 @ =gBattlerTarget @@ -21239,7 +21239,7 @@ _0802811C: .4byte gBattleMons atk8B_setbide: @ 8028120 push {r4,r5,lr} ldr r4, _08028178 @ =gBattleMons - ldr r3, _0802817C @ =sBattler_AI + ldr r3, _0802817C @ =gBattlerAttacker ldrb r0, [r3] movs r5, 0x58 adds r2, r0, 0 @@ -21282,7 +21282,7 @@ atk8B_setbide: @ 8028120 bx r0 .align 2, 0 _08028178: .4byte gBattleMons -_0802817C: .4byte sBattler_AI +_0802817C: .4byte gBattlerAttacker _08028180: .4byte gUnknown_2023DB8 _08028184: .4byte gCurrentMove _08028188: .4byte gUnknown_2023D58 @@ -21293,7 +21293,7 @@ _0802818C: .4byte gUnknown_2023D74 atk8C_confuseifrepeatingattackends: @ 8028190 push {lr} ldr r1, _080281C0 @ =gBattleMons - ldr r0, _080281C4 @ =sBattler_AI + ldr r0, _080281C4 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -21317,7 +21317,7 @@ _080281B2: bx r0 .align 2, 0 _080281C0: .4byte gBattleMons -_080281C4: .4byte sBattler_AI +_080281C4: .4byte gBattlerAttacker _080281C8: .4byte gUnknown_2023E82 _080281CC: .4byte gUnknown_2023D74 thumb_func_end atk8C_confuseifrepeatingattackends @@ -21389,7 +21389,7 @@ _08028240: .4byte gUnknown_2023D74 TryDoForceSwitchOut: @ 8028244 push {r4-r7,lr} ldr r6, _08028278 @ =gBattleMons - ldr r7, _0802827C @ =sBattler_AI + ldr r7, _0802827C @ =gBattlerAttacker ldrb r0, [r7] movs r5, 0x58 adds r1, r0, 0 @@ -21415,7 +21415,7 @@ TryDoForceSwitchOut: @ 8028244 b _080282E8 .align 2, 0 _08028278: .4byte gBattleMons -_0802827C: .4byte sBattler_AI +_0802827C: .4byte gBattlerAttacker _08028280: .4byte gBattlerTarget _08028284: .4byte gBattleStruct _08028288: .4byte gBattlerPartyIndexes @@ -21857,7 +21857,7 @@ atk90_tryconversiontypechange: @ 8028604 push {r5-r7} movs r6, 0 ldr r2, _08028698 @ =gBattleMons - ldr r3, _0802869C @ =sBattler_AI + ldr r3, _0802869C @ =gBattlerAttacker ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -21892,7 +21892,7 @@ _08028646: mov r10, r0 ldr r5, _08028698 @ =gBattleMons mov r12, r5 - ldr r7, _0802869C @ =sBattler_AI + ldr r7, _0802869C @ =gBattlerAttacker ldrb r0, [r7] movs r4, 0x58 adds r5, r0, 0 @@ -21929,7 +21929,7 @@ _08028692: b _080286A6 .align 2, 0 _08028698: .4byte gBattleMons -_0802869C: .4byte sBattler_AI +_0802869C: .4byte gBattlerAttacker _080286A0: .4byte gBattleMoves _080286A4: movs r2, 0 @@ -21983,7 +21983,7 @@ _080286F2: bcs _080286F2 ldr r4, _08028748 @ =gBattleMons lsls r1, r3, 1 - ldr r3, _0802874C @ =sBattler_AI + ldr r3, _0802874C @ =gBattlerAttacker ldrb r2, [r3] movs r0, 0x58 adds r5, r2, 0 @@ -22020,7 +22020,7 @@ _08028740: .align 2, 0 _08028744: .4byte gBattleMoves _08028748: .4byte gBattleMons -_0802874C: .4byte sBattler_AI +_0802874C: .4byte gBattlerAttacker _08028750: movs r2, 0 _08028752: @@ -22142,7 +22142,7 @@ _08028838: .4byte gUnknown_2023D74 thumb_func_start atk92_setlightscreen atk92_setlightscreen: @ 802883C push {r4-r6,lr} - ldr r5, _0802886C @ =sBattler_AI + ldr r5, _0802886C @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerPosition ldr r4, _08028870 @ =gSideAffecting @@ -22165,7 +22165,7 @@ atk92_setlightscreen: @ 802883C movs r0, 0 b _080288F0 .align 2, 0 -_0802886C: .4byte sBattler_AI +_0802886C: .4byte gBattlerAttacker _08028870: .4byte gSideAffecting _08028874: .4byte gMoveResultFlags _08028878: .4byte gUnknown_2023E82 @@ -22360,7 +22360,7 @@ _080289F4: adds r2, r0 lsls r2, 2 adds r2, r1 - ldr r7, _08028A74 @ =sBattler_AI + ldr r7, _08028A74 @ =gBattlerAttacker ldrb r0, [r7] muls r0, r6 add r0, r8 @@ -22406,14 +22406,14 @@ _08028A48: _08028A68: .4byte gStatuses3 _08028A6C: .4byte gBattleMoves _08028A70: .4byte gCurrentMove -_08028A74: .4byte sBattler_AI +_08028A74: .4byte gBattlerAttacker _08028A78: ldr r1, _08028B44 @ =gDisableStructs lsls r0, r3, 3 subs r0, r3 lsls r0, 2 adds r0, r1 - ldr r1, _08028B48 @ =sBattler_AI + ldr r1, _08028B48 @ =gBattlerAttacker ldrb r0, [r0, 0x15] adds r7, r1, 0 ldrb r3, [r7] @@ -22513,7 +22513,7 @@ _08028B1A: b _08028BC6 .align 2, 0 _08028B44: .4byte gDisableStructs -_08028B48: .4byte sBattler_AI +_08028B48: .4byte gBattlerAttacker _08028B4C: .4byte gBattleMoves _08028B50: .4byte gCurrentMove _08028B54: .4byte gBattleMons @@ -22544,7 +22544,7 @@ _08028B68: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _08028BB0 @ =gUnknown_2023D68 + ldr r1, _08028BB0 @ =gLastUsedItem mov r2, r9 ldrb r0, [r2] muls r0, r3 @@ -22556,7 +22556,7 @@ _08028B68: _08028BA4: .4byte gUnknown_2023ECC _08028BA8: .4byte gBattleMoveDamage _08028BAC: .4byte gMoveResultFlags -_08028BB0: .4byte gUnknown_2023D68 +_08028BB0: .4byte gLastUsedItem _08028BB4: ldr r1, _08028BD4 @ =gBattleMoveDamage movs r0, 0x58 @@ -22587,7 +22587,7 @@ _08028BE0: orrs r0, r1 strb r0, [r2] ldr r3, _08028C18 @ =gBattleMons - ldr r0, _08028C1C @ =sBattler_AI + ldr r0, _08028C1C @ =gBattlerAttacker ldrb r0, [r0] movs r2, 0x58 adds r1, r0, 0 @@ -22609,7 +22609,7 @@ _08028BE0: .align 2, 0 _08028C14: .4byte gMoveResultFlags _08028C18: .4byte gBattleMons -_08028C1C: .4byte sBattler_AI +_08028C1C: .4byte gBattlerAttacker _08028C20: .4byte gBattlerTarget _08028C24: .4byte gUnknown_2023E82 _08028C28: @@ -22731,7 +22731,7 @@ sub_8028CF0: @ 8028CF0 lsls r1, 8 cmp r0, r1 bne _08028D18 - ldr r0, _08028DC0 @ =sBattler_AI + ldr r0, _08028DC0 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -22768,7 +22768,7 @@ _08028D48: ldrh r1, [r2] movs r0, 0x18 ands r0, r1 - ldr r5, _08028DC0 @ =sBattler_AI + ldr r5, _08028DC0 @ =gBattlerAttacker adds r4, r2, 0 cmp r0, 0 beq _08028DDA @@ -22823,7 +22823,7 @@ _08028D48: b _08028DD8 .align 2, 0 _08028DBC: .4byte gBattleTypeFlags -_08028DC0: .4byte sBattler_AI +_08028DC0: .4byte gBattlerAttacker _08028DC4: .4byte gBattleWeather _08028DC8: .4byte gBattleMons _08028DCC: .4byte gStatuses3 @@ -22892,7 +22892,7 @@ _08028E48: ldr r1, _08028E7C @ =gBattleMoveDamage movs r0, 0 str r0, [r1] - ldr r5, _08028E80 @ =sBattler_AI + ldr r5, _08028E80 @ =gBattlerAttacker _08028E50: ldr r0, _08028E84 @ =gAbsentBattlerFlags ldrb r1, [r0] @@ -22919,7 +22919,7 @@ _08028E6A: bx r0 .align 2, 0 _08028E7C: .4byte gBattleMoveDamage -_08028E80: .4byte sBattler_AI +_08028E80: .4byte gBattlerAttacker _08028E84: .4byte gAbsentBattlerFlags _08028E88: .4byte gBitTable _08028E8C: .4byte gUnknown_2023D74 @@ -22932,7 +22932,7 @@ sub_8028E90: @ 8028E90 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r4, _08028EBC @ =sBattler_AI + ldr r4, _08028EBC @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -22948,7 +22948,7 @@ sub_8028E90: @ 8028E90 ldr r0, _08028EC4 @ =gPlayerParty b _08028ED8 .align 2, 0 -_08028EBC: .4byte sBattler_AI +_08028EBC: .4byte gBattlerAttacker _08028EC0: .4byte gBattlerPartyIndexes _08028EC4: .4byte gPlayerParty _08028EC8: @@ -23101,7 +23101,7 @@ _08029008: muls r2, r6 adds r2, r4 ldr r1, _0802903C @ =gBitTable - ldr r0, _08029040 @ =sBattler_AI + ldr r0, _08029040 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r0, r1 @@ -23124,7 +23124,7 @@ _0802902C: bx r0 .align 2, 0 _0802903C: .4byte gBitTable -_08029040: .4byte sBattler_AI +_08029040: .4byte gBattlerAttacker _08029044: .4byte gUnknown_2023D74 thumb_func_end sub_8028E90 @@ -23172,7 +23172,7 @@ _08029074: adds r2, r6 ldr r2, [r2] movs r0, 0 - bl EmitStatusIconUpdate + bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] bl MarkBufferBankForExecution _080290A2: @@ -23198,7 +23198,7 @@ _080290D4: cmp r0, 0x4 bne _0802918C ldr r4, _08029170 @ =gActiveBattler - ldr r5, _08029174 @ =sBattler_AI + ldr r5, _08029174 @ =gBattlerAttacker ldrb r0, [r5] strb r0, [r4] ldr r6, _08029178 @ =gAbsentBattlerFlags @@ -23222,7 +23222,7 @@ _080290D4: adds r2, r3 ldr r2, [r2] movs r0, 0 - bl EmitStatusIconUpdate + bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] bl MarkBufferBankForExecution _08029114: @@ -23259,7 +23259,7 @@ _08029114: adds r2, r3 ldr r2, [r2] movs r0, 0 - bl EmitStatusIconUpdate + bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] bl MarkBufferBankForExecution _08029164: @@ -23270,7 +23270,7 @@ _08029164: b _080291C0 .align 2, 0 _08029170: .4byte gActiveBattler -_08029174: .4byte sBattler_AI +_08029174: .4byte gBattlerAttacker _08029178: .4byte gAbsentBattlerFlags _0802917C: .4byte gBitTable _08029180: .4byte gBattleMons @@ -23294,7 +23294,7 @@ _0802918C: adds r2, r3 ldr r2, [r2] movs r0, 0 - bl EmitStatusIconUpdate + bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -23313,7 +23313,7 @@ _080291CC: .4byte gBattleMons atk99_setmist: @ 80291D0 push {r4-r6,lr} ldr r6, _08029200 @ =gSideTimers - ldr r4, _08029204 @ =sBattler_AI + ldr r4, _08029204 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerPosition movs r5, 0x1 @@ -23336,7 +23336,7 @@ atk99_setmist: @ 80291D0 b _0802925E .align 2, 0 _08029200: .4byte gSideTimers -_08029204: .4byte sBattler_AI +_08029204: .4byte gBattlerAttacker _08029208: .4byte gMoveResultFlags _0802920C: .4byte gUnknown_2023E82 _08029210: @@ -23394,7 +23394,7 @@ _08029274: .4byte gUnknown_2023D74 atk9A_setfocusenergy: @ 8029278 push {lr} ldr r1, _080292A8 @ =gBattleMons - ldr r0, _080292AC @ =sBattler_AI + ldr r0, _080292AC @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -23418,7 +23418,7 @@ atk9A_setfocusenergy: @ 8029278 b _080292C0 .align 2, 0 _080292A8: .4byte gBattleMons -_080292AC: .4byte sBattler_AI +_080292AC: .4byte gBattlerAttacker _080292B0: .4byte gMoveResultFlags _080292B4: .4byte gUnknown_2023E82 _080292B8: @@ -23443,7 +23443,7 @@ atk9B_transformdataexecution: @ 80292D4 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r1, _0802932C @ =gUnknown_2023D4C + ldr r1, _0802932C @ =gChosenMove ldr r2, _08029330 @ =0x0000ffff adds r0, r2, 0 strh r0, [r1] @@ -23485,7 +23485,7 @@ _0802931A: movs r0, 0x1 b _08029464 .align 2, 0 -_0802932C: .4byte gUnknown_2023D4C +_0802932C: .4byte gChosenMove _08029330: .4byte 0x0000ffff _08029334: .4byte gUnknown_2023D74 _08029338: .4byte gBattleMons @@ -23495,7 +23495,7 @@ _08029344: .4byte 0x000400c0 _08029348: .4byte gMoveResultFlags _0802934C: .4byte gUnknown_2023E82 _08029350: - ldr r3, _08029424 @ =sBattler_AI + ldr r3, _08029424 @ =gBattlerAttacker ldrb r0, [r3] adds r1, r0, 0 muls r1, r6 @@ -23603,7 +23603,7 @@ _08029400: adds r0, r5 b _08029442 .align 2, 0 -_08029424: .4byte sBattler_AI +_08029424: .4byte gBattlerAttacker _08029428: .4byte gDisableStructs _0802942C: .4byte gBattleTextBuff1 _08029430: .4byte gActiveBattler @@ -23623,7 +23623,7 @@ _08029442: strb r0, [r1] movs r0, 0 movs r1, 0x2 - bl EmitResetActionMoveSelection + bl BtlController_EmitResetActionMoveSelection mov r2, r8 ldrb r0, [r2] bl MarkBufferBankForExecution @@ -23644,7 +23644,7 @@ _08029470: .4byte gUnknown_2023E82 atk9C_setsubstitute: @ 8029474 push {r4-r7,lr} ldr r7, _080294A4 @ =gBattleMons - ldr r6, _080294A8 @ =sBattler_AI + ldr r6, _080294A8 @ =gBattlerAttacker ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -23668,7 +23668,7 @@ _0802948E: b _08029508 .align 2, 0 _080294A4: .4byte gBattleMons -_080294A8: .4byte sBattler_AI +_080294A8: .4byte gBattlerAttacker _080294AC: .4byte gBattleMoveDamage _080294B0: .4byte gUnknown_2023E82 _080294B4: @@ -23779,7 +23779,7 @@ atk9D_mimicattackcopy: @ 8029578 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _080295F0 @ =gUnknown_2023D4C + ldr r0, _080295F0 @ =gChosenMove ldr r1, _080295F4 @ =0x0000ffff adds r7, r1, 0 strh r7, [r0] @@ -23794,7 +23794,7 @@ atk9D_mimicattackcopy: @ 8029578 cmp r0, 0 bne _080295D2 ldr r3, _08029600 @ =gBattleMons - ldr r2, _08029604 @ =sBattler_AI + ldr r2, _08029604 @ =gBattlerAttacker ldrb r1, [r2] movs r0, 0x58 adds r4, r1, 0 @@ -23834,12 +23834,12 @@ _080295D2: str r1, [r3] b _08029744 .align 2, 0 -_080295F0: .4byte gUnknown_2023D4C +_080295F0: .4byte gChosenMove _080295F4: .4byte 0x0000ffff _080295F8: .4byte gLastUsedMove _080295FC: .4byte gBattlerTarget _08029600: .4byte gBattleMons -_08029604: .4byte sBattler_AI +_08029604: .4byte gBattlerAttacker _08029608: .4byte gUnknown_2023D74 _0802960C: movs r2, 0 @@ -24090,7 +24090,7 @@ _080297F8: .4byte gBattlerTarget atk9F_dmgtolevel: @ 80297FC ldr r3, _0802981C @ =gBattleMoveDamage ldr r2, _08029820 @ =gBattleMons - ldr r0, _08029824 @ =sBattler_AI + ldr r0, _08029824 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -24106,7 +24106,7 @@ atk9F_dmgtolevel: @ 80297FC .align 2, 0 _0802981C: .4byte gBattleMoveDamage _08029820: .4byte gBattleMons -_08029824: .4byte sBattler_AI +_08029824: .4byte gBattlerAttacker _08029828: .4byte gUnknown_2023D74 thumb_func_end atk9F_dmgtolevel @@ -24125,7 +24125,7 @@ _08029830: lsls r3, r0, 1 ldr r4, _08029870 @ =gBattleMoveDamage ldr r2, _08029874 @ =gBattleMons - ldr r0, _08029878 @ =sBattler_AI + ldr r0, _08029878 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -24148,14 +24148,14 @@ _08029830: .align 2, 0 _08029870: .4byte gBattleMoveDamage _08029874: .4byte gBattleMons -_08029878: .4byte sBattler_AI +_08029878: .4byte gBattlerAttacker _0802987C: .4byte gUnknown_2023D74 thumb_func_end atkA0_psywavedamageeffect thumb_func_start atkA1_counterdamagecalculator atkA1_counterdamagecalculator: @ 8029880 push {r4-r6,lr} - ldr r4, _080298F0 @ =sBattler_AI + ldr r4, _080298F0 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -24208,7 +24208,7 @@ atkA1_counterdamagecalculator: @ 8029880 strb r1, [r0] b _08029918 .align 2, 0 -_080298F0: .4byte sBattler_AI +_080298F0: .4byte gBattlerAttacker _080298F4: .4byte gUnknown_2023E8C _080298F8: .4byte gBattleMons _080298FC: .4byte gBattleMoveDamage @@ -24217,7 +24217,7 @@ _08029904: .4byte gBattlerTarget _08029908: ldr r2, _08029924 @ =gBattlerTarget ldr r1, _08029928 @ =gUnknown_2023E8C - ldr r0, _0802992C @ =sBattler_AI + ldr r0, _0802992C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -24232,11 +24232,11 @@ _08029918: .align 2, 0 _08029924: .4byte gBattlerTarget _08029928: .4byte gUnknown_2023E8C -_0802992C: .4byte sBattler_AI +_0802992C: .4byte gBattlerAttacker _08029930: .4byte gUnknown_2023D74 _08029934: ldr r2, _0802996C @ =gUnknown_2023ECC - ldr r0, _08029970 @ =sBattler_AI + ldr r0, _08029970 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -24265,14 +24265,14 @@ _08029964: bx r0 .align 2, 0 _0802996C: .4byte gUnknown_2023ECC -_08029970: .4byte sBattler_AI +_08029970: .4byte gBattlerAttacker _08029974: .4byte gUnknown_2023D74 thumb_func_end atkA1_counterdamagecalculator thumb_func_start atkA2_mirrorcoatdamagecalculator atkA2_mirrorcoatdamagecalculator: @ 8029978 push {r4-r6,lr} - ldr r4, _080299E8 @ =sBattler_AI + ldr r4, _080299E8 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -24326,7 +24326,7 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978 strb r1, [r0] b _08029A10 .align 2, 0 -_080299E8: .4byte sBattler_AI +_080299E8: .4byte gBattlerAttacker _080299EC: .4byte gUnknown_2023E8C _080299F0: .4byte gBattleMons _080299F4: .4byte gBattleMoveDamage @@ -24335,7 +24335,7 @@ _080299FC: .4byte gBattlerTarget _08029A00: ldr r2, _08029A1C @ =gBattlerTarget ldr r1, _08029A20 @ =gUnknown_2023E8C - ldr r0, _08029A24 @ =sBattler_AI + ldr r0, _08029A24 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -24350,11 +24350,11 @@ _08029A10: .align 2, 0 _08029A1C: .4byte gBattlerTarget _08029A20: .4byte gUnknown_2023E8C -_08029A24: .4byte sBattler_AI +_08029A24: .4byte gBattlerAttacker _08029A28: .4byte gUnknown_2023D74 _08029A2C: ldr r2, _08029A64 @ =gUnknown_2023ECC - ldr r0, _08029A68 @ =sBattler_AI + ldr r0, _08029A68 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -24383,7 +24383,7 @@ _08029A5C: bx r0 .align 2, 0 _08029A64: .4byte gUnknown_2023ECC -_08029A68: .4byte sBattler_AI +_08029A68: .4byte gBattlerAttacker _08029A6C: .4byte gUnknown_2023D74 thumb_func_end atkA2_mirrorcoatdamagecalculator @@ -24728,7 +24728,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8 ands r0, r1 cmp r0, 0 bne _08029D88 - ldr r5, _08029D70 @ =sBattler_AI + ldr r5, _08029D70 @ =gBattlerAttacker ldrb r0, [r5] muls r0, r7 adds r0, r6 @@ -24778,7 +24778,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8 .align 2, 0 _08029D68: .4byte gBattleMons _08029D6C: .4byte gBattlerTarget -_08029D70: .4byte sBattler_AI +_08029D70: .4byte gBattlerAttacker _08029D74: .4byte gBattleMoveDamage _08029D78: .4byte gBattleScripting _08029D7C: .4byte gUnknown_2023ECC @@ -24814,7 +24814,7 @@ atkA6_settypetorandomresistance: @ 8029DAC mov r5, r8 push {r5-r7} ldr r1, _08029E14 @ =gUnknown_2023DA0 - ldr r4, _08029E18 @ =sBattler_AI + ldr r4, _08029E18 @ =gBattlerAttacker ldrb r0, [r4] lsls r0, 1 adds r2, r0, r1 @@ -24861,7 +24861,7 @@ _08029DF6: b _08029F80 .align 2, 0 _08029E14: .4byte gUnknown_2023DA0 -_08029E18: .4byte sBattler_AI +_08029E18: .4byte gBattlerAttacker _08029E1C: .4byte 0x0000ffff _08029E20: .4byte gBattleMons _08029E24: .4byte gUnknown_2023DC0 @@ -24934,7 +24934,7 @@ _08029E9C: ldr r6, _08029F90 @ =gUnknown_824F050 adds r3, r4, r6 ldr r1, _08029F94 @ =gUnknown_2023DA8 - ldr r2, _08029F98 @ =sBattler_AI + ldr r2, _08029F98 @ =gBattlerAttacker ldrb r5, [r2] lsls r0, r5, 1 adds r0, r1 @@ -25052,7 +25052,7 @@ _08029F80: .align 2, 0 _08029F90: .4byte gUnknown_824F050 _08029F94: .4byte gUnknown_2023DA8 -_08029F98: .4byte sBattler_AI +_08029F98: .4byte gBattlerAttacker _08029F9C: .4byte gBattleMons _08029FA0: .4byte 0x000003e7 _08029FA4: .4byte gUnknown_2023D74 @@ -25085,7 +25085,7 @@ atkA7_setalwayshitflag: @ 8029FAC subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _08029FFC @ =sBattler_AI + ldr r1, _08029FFC @ =gBattlerAttacker ldrb r1, [r1] strb r1, [r0, 0x15] ldr r1, _0802A000 @ =gUnknown_2023D74 @@ -25099,7 +25099,7 @@ atkA7_setalwayshitflag: @ 8029FAC _08029FF0: .4byte gStatuses3 _08029FF4: .4byte gBattlerTarget _08029FF8: .4byte gDisableStructs -_08029FFC: .4byte sBattler_AI +_08029FFC: .4byte gBattlerAttacker _0802A000: .4byte gUnknown_2023D74 thumb_func_end atkA7_setalwayshitflag @@ -25111,12 +25111,12 @@ atkA8_copymovepermanently: @ 802A004 mov r5, r8 push {r5-r7} sub sp, 0x14 - ldr r0, _0802A164 @ =gUnknown_2023D4C + ldr r0, _0802A164 @ =gChosenMove ldr r1, _0802A168 @ =0x0000ffff adds r5, r1, 0 strh r5, [r0] ldr r3, _0802A16C @ =gBattleMons - ldr r2, _0802A170 @ =sBattler_AI + ldr r2, _0802A170 @ =gBattlerAttacker ldrb r1, [r2] movs r0, 0x58 adds r4, r1, 0 @@ -25260,7 +25260,7 @@ _0802A0F2: movs r1, 0x3 movs r2, 0 movs r3, 0x10 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldr r0, _0802A184 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -25290,10 +25290,10 @@ _0802A0F2: str r0, [r1] b _0802A1AA .align 2, 0 -_0802A164: .4byte gUnknown_2023D4C +_0802A164: .4byte gChosenMove _0802A168: .4byte 0x0000ffff _0802A16C: .4byte gBattleMons -_0802A170: .4byte sBattler_AI +_0802A170: .4byte gBattlerAttacker _0802A174: .4byte gUnknown_2023D90 _0802A178: .4byte gBattlerTarget _0802A17C: .4byte gUnknown_2023D48 @@ -25458,7 +25458,7 @@ atkA9_trychoosesleeptalkmove: @ 802A290 push {r5-r7} movs r6, 0 movs r5, 0 - ldr r0, _0802A320 @ =sBattler_AI + ldr r0, _0802A320 @ =gBattlerAttacker mov r9, r0 movs r1, 0x58 mov r8, r1 @@ -25509,7 +25509,7 @@ _0802A2FC: adds r5, 0x1 cmp r5, 0x3 ble _0802A2AE - ldr r0, _0802A320 @ =sBattler_AI + ldr r0, _0802A320 @ =gBattlerAttacker ldrb r0, [r0] adds r1, r6, 0 movs r2, 0xFD @@ -25524,7 +25524,7 @@ _0802A2FC: str r0, [r1] b _0802A394 .align 2, 0 -_0802A320: .4byte sBattler_AI +_0802A320: .4byte gBattlerAttacker _0802A324: .4byte gUnknown_2023BF0 _0802A328: .4byte gBitTable _0802A32C: .4byte gUnknown_2023D74 @@ -25544,7 +25544,7 @@ _0802A334: ldr r4, _0802A3A8 @ =gUnknown_2023D4E ldr r2, _0802A3AC @ =gBattleMons lsls r1, r5, 1 - ldr r0, _0802A3B0 @ =sBattler_AI + ldr r0, _0802A3B0 @ =gBattlerAttacker ldrb r3, [r0] movs r0, 0x58 muls r0, r3 @@ -25590,7 +25590,7 @@ _0802A394: _0802A3A4: .4byte gBitTable _0802A3A8: .4byte gUnknown_2023D4E _0802A3AC: .4byte gBattleMons -_0802A3B0: .4byte sBattler_AI +_0802A3B0: .4byte gBattlerAttacker _0802A3B4: .4byte gUnknown_2023D48 _0802A3B8: .4byte gUnknown_2023DD0 _0802A3BC: .4byte 0xfffffbff @@ -25601,7 +25601,7 @@ _0802A3C4: .4byte gUnknown_2023D74 thumb_func_start atkAA_setdestinybond atkAA_setdestinybond: @ 802A3C8 ldr r1, _0802A3EC @ =gBattleMons - ldr r0, _0802A3F0 @ =sBattler_AI + ldr r0, _0802A3F0 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -25619,14 +25619,14 @@ atkAA_setdestinybond: @ 802A3C8 bx lr .align 2, 0 _0802A3EC: .4byte gBattleMons -_0802A3F0: .4byte sBattler_AI +_0802A3F0: .4byte gBattlerAttacker _0802A3F4: .4byte gUnknown_2023D74 thumb_func_end atkAA_setdestinybond thumb_func_start TrySetDestinyBondToHappen TrySetDestinyBondToHappen: @ 802A3F8 push {r4,r5,lr} - ldr r0, _0802A448 @ =sBattler_AI + ldr r0, _0802A448 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -25665,7 +25665,7 @@ _0802A442: pop {r0} bx r0 .align 2, 0 -_0802A448: .4byte sBattler_AI +_0802A448: .4byte gBattlerAttacker _0802A44C: .4byte gBattlerTarget _0802A450: .4byte gBattleMons _0802A454: .4byte gUnknown_2023DD0 @@ -25689,7 +25689,7 @@ _0802A46C: .4byte gUnknown_2023D74 atkAC_remaininghptopower: @ 802A470 push {lr} ldr r2, _0802A4C4 @ =gBattleMons - ldr r0, _0802A4C8 @ =sBattler_AI + ldr r0, _0802A4C8 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -25731,7 +25731,7 @@ _0802A4AA: bx r0 .align 2, 0 _0802A4C4: .4byte gBattleMons -_0802A4C8: .4byte sBattler_AI +_0802A4C8: .4byte gBattlerAttacker _0802A4CC: .4byte gUnknown_8250810 _0802A4D0: .4byte gDynamicBasePower _0802A4D4: .4byte gUnknown_2023D74 @@ -25911,7 +25911,7 @@ _0802A57C: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _0802A630: @@ -25991,7 +25991,7 @@ _0802A6CC: ldr r6, _0802A724 @ =gUnknown_2023E82 mov r0, r8 strb r0, [r6, 0x5] - ldr r5, _0802A728 @ =sBattler_AI + ldr r5, _0802A728 @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 @@ -26032,7 +26032,7 @@ _0802A6E8: .align 2, 0 _0802A720: .4byte gCurrentMove _0802A724: .4byte gUnknown_2023E82 -_0802A728: .4byte sBattler_AI +_0802A728: .4byte gBattlerAttacker _0802A72C: .4byte gEnemyParty _0802A730: .4byte gPlayerParty _0802A734: .4byte gBattleMons @@ -26047,7 +26047,7 @@ _0802A73C: strb r0, [r6, 0x5] _0802A74C: ldr r7, _0802A7C0 @ =gActiveBattler - ldr r0, _0802A7C4 @ =sBattler_AI + ldr r0, _0802A7C4 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerPosition movs r2, 0x2 @@ -26103,7 +26103,7 @@ _0802A74C: b _0802A7F2 .align 2, 0 _0802A7C0: .4byte gActiveBattler -_0802A7C4: .4byte sBattler_AI +_0802A7C4: .4byte gBattlerAttacker _0802A7C8: .4byte gBattleScripting _0802A7CC: .4byte gBattleTypeFlags _0802A7D0: .4byte gAbsentBattlerFlags @@ -26144,7 +26144,7 @@ _0802A7F6: cmp r5, r0 beq _0802A8AE ldr r2, _0802A840 @ =gBattlerPartyIndexes - ldr r0, _0802A844 @ =sBattler_AI + ldr r0, _0802A844 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 1 adds r0, r2 @@ -26158,7 +26158,7 @@ _0802A7F6: _0802A838: .4byte gUnknown_2023E82 _0802A83C: .4byte gBattleMons _0802A840: .4byte gBattlerPartyIndexes -_0802A844: .4byte sBattler_AI +_0802A844: .4byte gBattlerAttacker _0802A848: ldr r0, _0802A880 @ =gBattleTypeFlags ldr r0, [r0] @@ -26222,7 +26222,7 @@ _0802A8B6: movs r2, 0x3F mov r8, r2 ldr r3, _0802A974 @ =gBattleMons - ldr r2, _0802A978 @ =sBattler_AI + ldr r2, _0802A978 @ =gBattlerAttacker ldrb r0, [r2] movs r5, 0x58 muls r0, r5 @@ -26282,7 +26282,7 @@ _0802A934: cmp r2, 0 beq _0802A956 ldr r4, _0802A980 @ =gActiveBattler - ldr r0, _0802A978 @ =sBattler_AI + ldr r0, _0802A978 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] add r0, sp, 0x4 @@ -26290,7 +26290,7 @@ _0802A934: movs r0, 0 movs r1, 0x28 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _0802A956: @@ -26309,7 +26309,7 @@ _0802A956: .align 2, 0 _0802A970: .4byte gUnknown_2023E82 _0802A974: .4byte gBattleMons -_0802A978: .4byte sBattler_AI +_0802A978: .4byte gBattlerAttacker _0802A97C: .4byte 0xf7ffffff _0802A980: .4byte gActiveBattler _0802A984: .4byte gBattleTypeFlags @@ -26359,7 +26359,7 @@ _0802A9E0: orrs r2, r3 str r2, [r1] ldr r1, _0802AA0C @ =gBattleMoveDamage - ldr r0, _0802AA10 @ =sBattler_AI + ldr r0, _0802AA10 @ =gBattlerAttacker ldrb r0, [r0] muls r0, r4 adds r0, r5 @@ -26381,14 +26381,14 @@ _0802AA04: bx r0 .align 2, 0 _0802AA0C: .4byte gBattleMoveDamage -_0802AA10: .4byte sBattler_AI +_0802AA10: .4byte gBattlerAttacker _0802AA14: .4byte gUnknown_2023D74 thumb_func_end atkAF_cursetarget thumb_func_start atkB0_trysetspikes atkB0_trysetspikes: @ 802AA18 push {r4,lr} - ldr r4, _0802AA6C @ =sBattler_AI + ldr r4, _0802AA6C @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide movs r1, 0x1 @@ -26428,7 +26428,7 @@ atkB0_trysetspikes: @ 802AA18 str r1, [r3] b _0802AA96 .align 2, 0 -_0802AA6C: .4byte sBattler_AI +_0802AA6C: .4byte gBattlerAttacker _0802AA70: .4byte gSideTimers _0802AA74: .4byte gUnknown_2023ECC _0802AA78: .4byte gUnknown_2023D74 @@ -26490,7 +26490,7 @@ atkB2_trysetperishsong: @ 802AAD4 movs r3, 0 ldr r0, _0802AB18 @ =gBattlersCount adds r7, r0, 0 - ldr r0, _0802AB1C @ =sBattler_AI + ldr r0, _0802AB1C @ =gBattlerAttacker mov r8, r0 ldrb r1, [r7] cmp r6, r1 @@ -26520,7 +26520,7 @@ _0802AB14: b _0802AB34 .align 2, 0 _0802AB18: .4byte gBattlersCount -_0802AB1C: .4byte sBattler_AI +_0802AB1C: .4byte gBattlerAttacker _0802AB20: .4byte gBattleMons _0802AB24: .4byte gDisableStructs _0802AB28: .4byte gStatuses3 @@ -26589,7 +26589,7 @@ atkB3_rolloutdamagecalculation: @ 802AB8C ands r0, r1 cmp r0, 0 beq _0802ABC0 - ldr r0, _0802ABB4 @ =sBattler_AI + ldr r0, _0802ABB4 @ =gBattlerAttacker ldrb r0, [r0] bl CancelMultiTurnMoves ldr r1, _0802ABB8 @ =gUnknown_2023D74 @@ -26598,12 +26598,12 @@ atkB3_rolloutdamagecalculation: @ 802AB8C b _0802ACD8 .align 2, 0 _0802ABB0: .4byte gMoveResultFlags -_0802ABB4: .4byte sBattler_AI +_0802ABB4: .4byte gBattlerAttacker _0802ABB8: .4byte gUnknown_2023D74 _0802ABBC: .4byte gUnknown_81D6960 _0802ABC0: ldr r2, _0802ACE4 @ =gBattleMons - ldr r1, _0802ACE8 @ =sBattler_AI + ldr r1, _0802ACE8 @ =gBattlerAttacker ldrb r3, [r1] movs r5, 0x58 adds r0, r3, 0 @@ -26756,7 +26756,7 @@ _0802ACD8: bx r0 .align 2, 0 _0802ACE4: .4byte gBattleMons -_0802ACE8: .4byte sBattler_AI +_0802ACE8: .4byte gBattlerAttacker _0802ACEC: .4byte gDisableStructs _0802ACF0: .4byte gCurrentMove _0802ACF4: .4byte gUnknown_2023DB8 @@ -26831,7 +26831,7 @@ atkB5_furycuttercalc: @ 802AD70 cmp r0, 0 beq _0802ADAC ldr r2, _0802AD9C @ =gDisableStructs - ldr r0, _0802ADA0 @ =sBattler_AI + ldr r0, _0802ADA0 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -26846,12 +26846,12 @@ atkB5_furycuttercalc: @ 802AD70 .align 2, 0 _0802AD98: .4byte gMoveResultFlags _0802AD9C: .4byte gDisableStructs -_0802ADA0: .4byte sBattler_AI +_0802ADA0: .4byte gBattlerAttacker _0802ADA4: .4byte gUnknown_2023D74 _0802ADA8: .4byte gUnknown_81D6960 _0802ADAC: ldr r5, _0802AE0C @ =gDisableStructs - ldr r4, _0802AE10 @ =sBattler_AI + ldr r4, _0802AE10 @ =gBattlerAttacker ldrb r1, [r4] lsls r0, r1, 3 subs r0, r1 @@ -26903,7 +26903,7 @@ _0802AE04: bx r0 .align 2, 0 _0802AE0C: .4byte gDisableStructs -_0802AE10: .4byte sBattler_AI +_0802AE10: .4byte gBattlerAttacker _0802AE14: .4byte gDynamicBasePower _0802AE18: .4byte gBattleMoves _0802AE1C: .4byte gCurrentMove @@ -26925,7 +26925,7 @@ atkB6_happinesstodamagecalculation: @ 802AE24 bne _0802AE64 ldr r4, _0802AE58 @ =gDynamicBasePower ldr r2, _0802AE5C @ =gBattleMons - ldr r0, _0802AE60 @ =sBattler_AI + ldr r0, _0802AE60 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -26938,11 +26938,11 @@ _0802AE50: .4byte gBattleMoves _0802AE54: .4byte gCurrentMove _0802AE58: .4byte gDynamicBasePower _0802AE5C: .4byte gBattleMons -_0802AE60: .4byte sBattler_AI +_0802AE60: .4byte gBattlerAttacker _0802AE64: ldr r4, _0802AE98 @ =gDynamicBasePower ldr r2, _0802AE9C @ =gBattleMons - ldr r0, _0802AEA0 @ =sBattler_AI + ldr r0, _0802AEA0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -26968,7 +26968,7 @@ _0802AE7A: .align 2, 0 _0802AE98: .4byte gDynamicBasePower _0802AE9C: .4byte gBattleMons -_0802AEA0: .4byte sBattler_AI +_0802AEA0: .4byte gBattlerAttacker _0802AEA4: .4byte gUnknown_2023D74 thumb_func_end atkB6_happinesstodamagecalculation @@ -27076,7 +27076,7 @@ _0802AF70: .4byte gUnknown_81D7DB7 thumb_func_start atkB8_setsafeguard atkB8_setsafeguard: @ 802AF74 push {r4-r7,lr} - ldr r7, _0802AFA8 @ =sBattler_AI + ldr r7, _0802AFA8 @ =gBattlerAttacker ldrb r0, [r7] bl GetBattlerPosition ldr r4, _0802AFAC @ =gSideAffecting @@ -27100,7 +27100,7 @@ atkB8_setsafeguard: @ 802AF74 strb r0, [r1, 0x5] b _0802B000 .align 2, 0 -_0802AFA8: .4byte sBattler_AI +_0802AFA8: .4byte gBattlerAttacker _0802AFAC: .4byte gSideAffecting _0802AFB0: .4byte gMoveResultFlags _0802AFB4: .4byte gUnknown_2023E82 @@ -27251,7 +27251,7 @@ _0802B0B4: cmp r2, r3 bcs _0802B10C adds r4, r6, 0 - ldr r0, _0802B134 @ =sBattler_AI + ldr r0, _0802B134 @ =gBattlerAttacker ldrb r5, [r0] ldr r1, _0802B138 @ =gBitTable mov r12, r1 @@ -27291,7 +27291,7 @@ _0802B124: .4byte gBattleTextBuff1 _0802B128: .4byte gBattlerTarget _0802B12C: .4byte gBattlersCount _0802B130: .4byte gUnknown_2023D74 -_0802B134: .4byte sBattler_AI +_0802B134: .4byte gBattlerAttacker _0802B138: .4byte gBitTable _0802B13C: .4byte gAbsentBattlerFlags thumb_func_end atkB9_magnitudedamagecalculation @@ -27307,7 +27307,7 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140 ldrb r0, [r0] cmp r0, 0x1 bne _0802B170 - ldr r0, _0802B168 @ =sBattler_AI + ldr r0, _0802B168 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -27317,12 +27317,12 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140 b _0802B18A .align 2, 0 _0802B164: .4byte gUnknown_2023D72 -_0802B168: .4byte sBattler_AI +_0802B168: .4byte gBattlerAttacker _0802B16C: movs r0, 0 b _0802B18A _0802B170: - ldr r0, _0802B184 @ =sBattler_AI + ldr r0, _0802B184 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -27331,7 +27331,7 @@ _0802B170: movs r0, 0x3 b _0802B18A .align 2, 0 -_0802B184: .4byte sBattler_AI +_0802B184: .4byte gBattlerAttacker _0802B188: movs r0, 0x2 _0802B18A: @@ -27347,7 +27347,7 @@ _0802B18A: beq _0802B1A2 b _0802B2A8 _0802B1A2: - ldr r5, _0802B26C @ =sBattler_AI + ldr r5, _0802B26C @ =gBattlerAttacker ldr r0, _0802B270 @ =gBattleStruct ldr r1, [r0] adds r1, r3, r1 @@ -27450,7 +27450,7 @@ _0802B22E: .align 2, 0 _0802B264: .4byte gBattlerTarget _0802B268: .4byte gUnknown_2023D7C -_0802B26C: .4byte sBattler_AI +_0802B26C: .4byte gBattlerAttacker _0802B270: .4byte gBattleStruct _0802B274: .4byte gBattleMons _0802B278: .4byte gDisableStructs @@ -27540,7 +27540,7 @@ _0802B328: .4byte gUnknown_2023D74 atkBC_maxattackhalvehp: @ 802B32C push {r4,r5,lr} ldr r5, _0802B378 @ =gBattleMons - ldr r4, _0802B37C @ =sBattler_AI + ldr r4, _0802B37C @ =gBattlerAttacker ldrb r0, [r4] movs r3, 0x58 muls r0, r3 @@ -27579,7 +27579,7 @@ _0802B36C: b _0802B3A2 .align 2, 0 _0802B378: .4byte gBattleMons -_0802B37C: .4byte sBattler_AI +_0802B37C: .4byte gBattlerAttacker _0802B380: .4byte gBattleMoveDamage _0802B384: .4byte gUnknown_2023D74 _0802B388: @@ -27609,7 +27609,7 @@ atkBD_copyfoestats: @ 802B3AC push {r4-r7,lr} movs r2, 0 ldr r7, _0802B3E4 @ =gUnknown_2023D74 - ldr r6, _0802B3E8 @ =sBattler_AI + ldr r6, _0802B3E8 @ =gBattlerAttacker movs r4, 0x58 ldr r3, _0802B3EC @ =gUnknown_2023BFC ldr r5, _0802B3F0 @ =gBattlerTarget @@ -27636,7 +27636,7 @@ _0802B3BA: bx r0 .align 2, 0 _0802B3E4: .4byte gUnknown_2023D74 -_0802B3E8: .4byte sBattler_AI +_0802B3E8: .4byte gBattlerAttacker _0802B3EC: .4byte gUnknown_2023BFC _0802B3F0: .4byte gBattlerTarget thumb_func_end atkBD_copyfoestats @@ -27645,7 +27645,7 @@ _0802B3F0: .4byte gBattlerTarget atkBE_rapidspinfree: @ 802B3F4 push {r4-r6,lr} ldr r1, _0802B464 @ =gBattleMons - ldr r5, _0802B468 @ =sBattler_AI + ldr r5, _0802B468 @ =gBattlerAttacker ldrb r2, [r5] movs r6, 0x58 adds r0, r2, 0 @@ -27700,7 +27700,7 @@ atkBE_rapidspinfree: @ 802B3F4 b _0802B532 .align 2, 0 _0802B464: .4byte gBattleMons -_0802B468: .4byte sBattler_AI +_0802B468: .4byte gBattlerAttacker _0802B46C: .4byte gBattleScripting _0802B470: .4byte gBattlerTarget _0802B474: .4byte 0xffff1fff @@ -27795,7 +27795,7 @@ _0802B53C: .4byte gUnknown_2023D74 thumb_func_start atkBF_setdefensecurlbit atkBF_setdefensecurlbit: @ 802B540 ldr r1, _0802B564 @ =gBattleMons - ldr r0, _0802B568 @ =sBattler_AI + ldr r0, _0802B568 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -27813,7 +27813,7 @@ atkBF_setdefensecurlbit: @ 802B540 bx lr .align 2, 0 _0802B564: .4byte gBattleMons -_0802B568: .4byte sBattler_AI +_0802B568: .4byte gBattlerAttacker _0802B56C: .4byte gUnknown_2023D74 thumb_func_end atkBF_setdefensecurlbit @@ -27822,7 +27822,7 @@ atkC0_recoverbasedonsunlight: @ 802B570 push {r4-r7,lr} sub sp, 0x4 ldr r1, _0802B5DC @ =gBattlerTarget - ldr r5, _0802B5E0 @ =sBattler_AI + ldr r5, _0802B5E0 @ =gBattlerAttacker ldrb r0, [r5] strb r0, [r1] ldr r7, _0802B5E4 @ =gBattleMons @@ -27861,7 +27861,7 @@ atkC0_recoverbasedonsunlight: @ 802B570 _0802B5C2: ldr r3, _0802B5EC @ =gBattleMoveDamage ldr r2, _0802B5E4 @ =gBattleMons - ldr r0, _0802B5E0 @ =sBattler_AI + ldr r0, _0802B5E0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -27873,7 +27873,7 @@ _0802B5C2: b _0802B62A .align 2, 0 _0802B5DC: .4byte gBattlerTarget -_0802B5E0: .4byte sBattler_AI +_0802B5E0: .4byte gBattlerAttacker _0802B5E4: .4byte gBattleMons _0802B5E8: .4byte gBattleWeather _0802B5EC: .4byte gBattleMoveDamage @@ -27955,7 +27955,7 @@ sub_802B678: @ 802B678 mov r6, r8 push {r6,r7} ldr r2, _0802B760 @ =gBattleMons - ldr r0, _0802B764 @ =sBattler_AI + ldr r0, _0802B764 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -28067,7 +28067,7 @@ _0802B742: bx r0 .align 2, 0 _0802B760: .4byte gBattleMons -_0802B764: .4byte sBattler_AI +_0802B764: .4byte gBattlerAttacker _0802B768: .4byte gDynamicBasePower _0802B76C: .4byte gBattleStruct _0802B770: .4byte gUnknown_2023D74 @@ -28089,7 +28089,7 @@ atkC2_selectfirstvalidtarget: @ 802B774 cmp r1, 0 beq _0802B7BE adds r3, r6, 0 - ldr r0, _0802B7DC @ =sBattler_AI + ldr r0, _0802B7DC @ =gBattlerAttacker ldrb r5, [r0] ldr r0, _0802B7E0 @ =gBitTable mov r12, r0 @@ -28128,7 +28128,7 @@ _0802B7BE: _0802B7D0: .4byte gBattlerTarget _0802B7D4: .4byte gBattlersCount _0802B7D8: .4byte gUnknown_2023D74 -_0802B7DC: .4byte sBattler_AI +_0802B7DC: .4byte gBattlerAttacker _0802B7E0: .4byte gBitTable _0802B7E4: .4byte gAbsentBattlerFlags thumb_func_end atkC2_selectfirstvalidtarget @@ -28180,7 +28180,7 @@ _0802B82C: adds r0, 0x4 ldrb r4, [r7] adds r0, r4 - ldr r5, _0802B8D0 @ =sBattler_AI + ldr r5, _0802B8D0 @ =gBattlerAttacker ldrb r1, [r5] strb r1, [r0] ldrb r0, [r7] @@ -28248,7 +28248,7 @@ _0802B8BA: b _0802B8EE .align 2, 0 _0802B8CC: .4byte gCurrentMove -_0802B8D0: .4byte sBattler_AI +_0802B8D0: .4byte gBattlerAttacker _0802B8D4: .4byte gSideAffecting _0802B8D8: .4byte gBattleMons _0802B8DC: .4byte gUnknown_2023E8C @@ -28283,7 +28283,7 @@ atkC4_trydobeatup: @ 802B910 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _0802B954 @ =sBattler_AI + ldr r0, _0802B954 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -28313,7 +28313,7 @@ _0802B92A: ldrb r0, [r2, 0x4] b _0802BB08 .align 2, 0 -_0802B954: .4byte sBattler_AI +_0802B954: .4byte gBattlerAttacker _0802B958: .4byte gEnemyParty _0802B95C: .4byte gPlayerParty _0802B960: .4byte gBattleMons @@ -28380,7 +28380,7 @@ _0802B9D0: strb r0, [r1] movs r0, 0x4 strb r0, [r1, 0x1] - ldr r6, _0802BAB0 @ =sBattler_AI + ldr r6, _0802BAB0 @ =gBattlerAttacker ldrb r0, [r6] strb r0, [r1, 0x2] strb r2, [r1, 0x3] @@ -28475,7 +28475,7 @@ _0802BA9C: .align 2, 0 _0802BAA8: .4byte gUnknown_2023E82 _0802BAAC: .4byte gBattleTextBuff1 -_0802BAB0: .4byte sBattler_AI +_0802BAB0: .4byte gBattlerAttacker _0802BAB4: .4byte gUnknown_2023D74 _0802BAB8: .4byte gBattleMoveDamage _0802BABC: .4byte gBaseStats @@ -28550,7 +28550,7 @@ _0802BB38: bne _0802BB8C _0802BB44: ldr r2, _0802BB58 @ =gStatuses3 - ldr r0, _0802BB5C @ =sBattler_AI + ldr r0, _0802BB5C @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28560,10 +28560,10 @@ _0802BB44: .align 2, 0 _0802BB54: .4byte 0x00000123 _0802BB58: .4byte gStatuses3 -_0802BB5C: .4byte sBattler_AI +_0802BB5C: .4byte gBattlerAttacker _0802BB60: ldr r2, _0802BB70 @ =gStatuses3 - ldr r0, _0802BB74 @ =sBattler_AI + ldr r0, _0802BB74 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28572,10 +28572,10 @@ _0802BB60: b _0802BB88 .align 2, 0 _0802BB70: .4byte gStatuses3 -_0802BB74: .4byte sBattler_AI +_0802BB74: .4byte gBattlerAttacker _0802BB78: ldr r2, _0802BB98 @ =gStatuses3 - ldr r0, _0802BB9C @ =sBattler_AI + ldr r0, _0802BB9C @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28594,7 +28594,7 @@ _0802BB8C: bx r0 .align 2, 0 _0802BB98: .4byte gStatuses3 -_0802BB9C: .4byte sBattler_AI +_0802BB9C: .4byte gBattlerAttacker _0802BBA0: .4byte gUnknown_2023D74 thumb_func_end atkC5_setsemiinvulnerablebit @@ -28621,7 +28621,7 @@ _0802BBBC: bne _0802BC16 _0802BBC8: ldr r2, _0802BBE0 @ =gStatuses3 - ldr r0, _0802BBE4 @ =sBattler_AI + ldr r0, _0802BBE4 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28632,10 +28632,10 @@ _0802BBC8: .align 2, 0 _0802BBDC: .4byte 0x00000123 _0802BBE0: .4byte gStatuses3 -_0802BBE4: .4byte sBattler_AI +_0802BBE4: .4byte gBattlerAttacker _0802BBE8: ldr r2, _0802BBFC @ =gStatuses3 - ldr r0, _0802BC00 @ =sBattler_AI + ldr r0, _0802BC00 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28645,10 +28645,10 @@ _0802BBE8: b _0802BC12 .align 2, 0 _0802BBFC: .4byte gStatuses3 -_0802BC00: .4byte sBattler_AI +_0802BC00: .4byte gBattlerAttacker _0802BC04: ldr r2, _0802BC24 @ =gStatuses3 - ldr r0, _0802BC28 @ =sBattler_AI + ldr r0, _0802BC28 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28666,7 +28666,7 @@ _0802BC16: bx r0 .align 2, 0 _0802BC24: .4byte gStatuses3 -_0802BC28: .4byte sBattler_AI +_0802BC28: .4byte gBattlerAttacker _0802BC2C: .4byte 0xfffbffff _0802BC30: .4byte gUnknown_2023D74 thumb_func_end atkC6_clearsemiinvulnerablebit @@ -28682,7 +28682,7 @@ atkC7_setminimize: @ 802BC34 cmp r0, 0 beq _0802BC58 ldr r2, _0802BC68 @ =gStatuses3 - ldr r0, _0802BC6C @ =sBattler_AI + ldr r0, _0802BC6C @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28701,7 +28701,7 @@ _0802BC58: .align 2, 0 _0802BC64: .4byte gUnknown_2023DD0 _0802BC68: .4byte gStatuses3 -_0802BC6C: .4byte sBattler_AI +_0802BC6C: .4byte gBattlerAttacker _0802BC70: .4byte gUnknown_2023D74 thumb_func_end atkC7_setminimize @@ -28792,7 +28792,7 @@ _0802BD18: .4byte gUnknown_2023E82 _0802BD1C: .4byte gUnknown_2023D74 _0802BD20: ldr r4, _0802BD54 @ =gActiveBattler - ldr r0, _0802BD58 @ =sBattler_AI + ldr r0, _0802BD58 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] ldr r2, _0802BD5C @ =gBattleMoveDamage @@ -28804,7 +28804,7 @@ _0802BD20: str r0, [r2] ldr r1, _0802BD60 @ =0x00007fff movs r0, 0 - bl EmitHealthBarUpdate + bl BtlController_EmitHealthBarUpdate ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _0802BD64 @ =gUnknown_2023D74 @@ -28817,7 +28817,7 @@ _0802BD4C: bx r0 .align 2, 0 _0802BD54: .4byte gActiveBattler -_0802BD58: .4byte sBattler_AI +_0802BD58: .4byte gBattlerAttacker _0802BD5C: .4byte gBattleMoveDamage _0802BD60: .4byte 0x00007fff _0802BD64: .4byte gUnknown_2023D74 @@ -28826,7 +28826,7 @@ _0802BD64: .4byte gUnknown_2023D74 thumb_func_start atkCA_setforcedtarget atkCA_setforcedtarget: @ 802BD68 push {r4,r5,lr} - ldr r4, _0802BDA8 @ =sBattler_AI + ldr r4, _0802BDA8 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide ldr r5, _0802BDAC @ =gSideTimers @@ -28856,7 +28856,7 @@ atkCA_setforcedtarget: @ 802BD68 pop {r0} bx r0 .align 2, 0 -_0802BDA8: .4byte sBattler_AI +_0802BDA8: .4byte gBattlerAttacker _0802BDAC: .4byte gSideTimers _0802BDB0: .4byte gUnknown_2023D74 thumb_func_end atkCA_setforcedtarget @@ -28865,7 +28865,7 @@ _0802BDB0: .4byte gUnknown_2023D74 atkCB_setcharge: @ 802BDB4 push {r4,lr} ldr r0, _0802BE08 @ =gStatuses3 - ldr r3, _0802BE0C @ =sBattler_AI + ldr r3, _0802BE0C @ =gBattlerAttacker ldrb r1, [r3] lsls r1, 2 adds r1, r0 @@ -28907,7 +28907,7 @@ atkCB_setcharge: @ 802BDB4 bx r0 .align 2, 0 _0802BE08: .4byte gStatuses3 -_0802BE0C: .4byte sBattler_AI +_0802BE0C: .4byte gBattlerAttacker _0802BE10: .4byte gDisableStructs _0802BE14: .4byte gUnknown_2023D74 thumb_func_end atkCB_setcharge @@ -28969,7 +28969,7 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C push {r4-r6,lr} sub sp, 0x4 ldr r1, _0802BED8 @ =gBattleMons - ldr r3, _0802BEDC @ =sBattler_AI + ldr r3, _0802BEDC @ =gBattlerAttacker ldrb r0, [r3] movs r6, 0x58 muls r0, r6 @@ -28998,13 +28998,13 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution b _0802BF02 .align 2, 0 _0802BED8: .4byte gBattleMons -_0802BEDC: .4byte sBattler_AI +_0802BEDC: .4byte gBattlerAttacker _0802BEE0: .4byte gUnknown_2023D74 _0802BEE4: .4byte gActiveBattler _0802BEE8: @@ -29081,7 +29081,7 @@ _0802BF64: .4byte gUnknown_2023D74 atkCF_jumpifnodamage: @ 802BF68 push {lr} ldr r2, _0802BF94 @ =gUnknown_2023E8C - ldr r0, _0802BF98 @ =sBattler_AI + ldr r0, _0802BF98 @ =gBattlerAttacker ldrb r0, [r0] lsls r1, r0, 4 adds r0, r2, 0x4 @@ -29103,7 +29103,7 @@ _0802BF88: b _0802BFBA .align 2, 0 _0802BF94: .4byte gUnknown_2023E8C -_0802BF98: .4byte sBattler_AI +_0802BF98: .4byte gBattlerAttacker _0802BF9C: .4byte gUnknown_2023D74 _0802BFA0: ldr r3, _0802BFC0 @ =gUnknown_2023D74 @@ -29191,7 +29191,7 @@ _0802C034: .4byte gUnknown_2023D74 thumb_func_start atkD1_trysethelpinghand atkD1_trysethelpinghand: @ 802C038 push {r4,lr} - ldr r4, _0802C0A0 @ =sBattler_AI + ldr r4, _0802C0A0 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerPosition movs r1, 0x2 @@ -29240,7 +29240,7 @@ atkD1_trysethelpinghand: @ 802C038 str r0, [r1] b _0802C0D6 .align 2, 0 -_0802C0A0: .4byte sBattler_AI +_0802C0A0: .4byte gBattlerAttacker _0802C0A4: .4byte gBattlerTarget _0802C0A8: .4byte gBattleTypeFlags _0802C0AC: .4byte gAbsentBattlerFlags @@ -29284,7 +29284,7 @@ sub_802C0E0: @ 802C0E0 ands r0, r1 cmp r0, 0 bne _0802C1DE - ldr r0, _0802C200 @ =sBattler_AI + ldr r0, _0802C200 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -29303,7 +29303,7 @@ sub_802C0E0: @ 802C0E0 cmp r1, r0 bne _0802C1DE _0802C120: - ldr r6, _0802C200 @ =sBattler_AI + ldr r6, _0802C200 @ =gBattlerAttacker ldrb r0, [r6] bl GetBattlerSide lsls r0, 24 @@ -29357,7 +29357,7 @@ _0802C120: _0802C18A: ldr r0, _0802C21C @ =gBattleMons mov r8, r0 - ldr r1, _0802C200 @ =sBattler_AI + ldr r1, _0802C200 @ =gBattlerAttacker ldrb r4, [r1] movs r5, 0x58 adds r0, r4, 0 @@ -29415,7 +29415,7 @@ _0802C1DE: b _0802C37A .align 2, 0 _0802C1FC: .4byte gBattleTypeFlags -_0802C200: .4byte sBattler_AI +_0802C200: .4byte gBattlerAttacker _0802C204: .4byte 0x00000902 _0802C208: .4byte gTrainerBattleOpponent_A _0802C20C: .4byte gBattlerTarget @@ -29459,7 +29459,7 @@ _0802C258: ldrh r0, [r0, 0x2E] mov r9, r0 strh r2, [r6] - ldr r1, _0802C348 @ =sBattler_AI + ldr r1, _0802C348 @ =gBattlerAttacker ldrb r0, [r1] muls r0, r5 add r0, r8 @@ -29471,7 +29471,7 @@ _0802C258: mov r2, r9 strh r2, [r0, 0x2E] ldr r4, _0802C34C @ =gActiveBattler - ldr r3, _0802C348 @ =sBattler_AI + ldr r3, _0802C348 @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r4] str r6, [sp] @@ -29479,8 +29479,8 @@ _0802C258: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData - ldr r1, _0802C348 @ =sBattler_AI + bl BtlController_EmitSetMonData + ldr r1, _0802C348 @ =gBattlerAttacker ldrb r0, [r1] bl MarkBufferBankForExecution ldrb r0, [r7] @@ -29495,7 +29495,7 @@ _0802C258: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r7] bl MarkBufferBankForExecution ldrb r0, [r7] @@ -29512,14 +29512,14 @@ _0802C258: adds r0, r1 adds r0, 0xC9 strb r3, [r0] - ldr r1, _0802C348 @ =sBattler_AI + ldr r1, _0802C348 @ =gBattlerAttacker ldrb r0, [r1] ldr r1, [r2] lsls r0, 1 adds r0, r1 adds r0, 0xC8 strb r3, [r0] - ldr r2, _0802C348 @ =sBattler_AI + ldr r2, _0802C348 @ =gBattlerAttacker ldrb r0, [r2] mov r3, r10 ldr r1, [r3] @@ -29565,7 +29565,7 @@ _0802C258: b _0802C378 .align 2, 0 _0802C344: .4byte gBattleStruct -_0802C348: .4byte sBattler_AI +_0802C348: .4byte gBattlerAttacker _0802C34C: .4byte gActiveBattler _0802C350: .4byte gUnknown_2023D74 _0802C354: .4byte gBattleTextBuff1 @@ -29615,7 +29615,7 @@ atkD3_trycopyability: @ 802C390 beq _0802C3E4 cmp r0, 0x19 beq _0802C3E4 - ldr r0, _0802C3D8 @ =sBattler_AI + ldr r0, _0802C3D8 @ =gBattlerAttacker ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -29636,7 +29636,7 @@ atkD3_trycopyability: @ 802C390 .align 2, 0 _0802C3D0: .4byte gBattleMons _0802C3D4: .4byte gBattlerTarget -_0802C3D8: .4byte sBattler_AI +_0802C3D8: .4byte gBattlerAttacker _0802C3DC: .4byte gLastUsedAbility _0802C3E0: .4byte gUnknown_2023D74 _0802C3E4: @@ -29676,7 +29676,7 @@ atkD4_trywish: @ 802C408 _0802C41C: .4byte gUnknown_2023D74 _0802C420: ldr r1, _0802C44C @ =gUnknown_2023F20 - ldr r4, _0802C450 @ =sBattler_AI + ldr r4, _0802C450 @ =gBattlerAttacker adds r0, r1, 0 adds r0, 0x20 ldrb r5, [r4] @@ -29699,7 +29699,7 @@ _0802C420: b _0802C4D2 .align 2, 0 _0802C44C: .4byte gUnknown_2023F20 -_0802C450: .4byte sBattler_AI +_0802C450: .4byte gBattlerAttacker _0802C454: .4byte gBattlerPartyIndexes _0802C458: ldr r1, _0802C4BC @ =gBattleTextBuff1 @@ -29774,7 +29774,7 @@ _0802C4D4: atkD5_trysetroots: @ 802C4DC push {lr} ldr r1, _0802C514 @ =gStatuses3 - ldr r0, _0802C518 @ =sBattler_AI + ldr r0, _0802C518 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -29801,7 +29801,7 @@ atkD5_trysetroots: @ 802C4DC b _0802C52C .align 2, 0 _0802C514: .4byte gStatuses3 -_0802C518: .4byte sBattler_AI +_0802C518: .4byte gBattlerAttacker _0802C51C: .4byte gUnknown_2023D74 _0802C520: orrs r1, r3 @@ -29821,7 +29821,7 @@ _0802C530: .4byte gUnknown_2023D74 atkD6_doubledamagedealtifdamaged: @ 802C534 push {lr} ldr r3, _0802C580 @ =gUnknown_2023E8C - ldr r0, _0802C584 @ =sBattler_AI + ldr r0, _0802C584 @ =gBattlerAttacker ldrb r0, [r0] lsls r2, r0, 4 adds r0, r3, 0x4 @@ -29861,7 +29861,7 @@ _0802C572: bx r0 .align 2, 0 _0802C580: .4byte gUnknown_2023E8C -_0802C584: .4byte sBattler_AI +_0802C584: .4byte gBattlerAttacker _0802C588: .4byte gBattlerTarget _0802C58C: .4byte gBattleScripting _0802C590: .4byte gUnknown_2023D74 @@ -29935,7 +29935,7 @@ atkD8_setdamagetohealthdifference: @ 802C604 movs r1, 0x58 muls r0, r1 adds r3, r0, r2 - ldr r0, _0802C648 @ =sBattler_AI + ldr r0, _0802C648 @ =gBattlerAttacker ldrb r0, [r0] muls r0, r1 adds r1, r0, r2 @@ -29960,7 +29960,7 @@ atkD8_setdamagetohealthdifference: @ 802C604 .align 2, 0 _0802C640: .4byte gBattleMons _0802C644: .4byte gBattlerTarget -_0802C648: .4byte sBattler_AI +_0802C648: .4byte gBattlerAttacker _0802C64C: .4byte gUnknown_2023D74 _0802C650: ldr r2, _0802C668 @ =gBattleMoveDamage @@ -29996,7 +29996,7 @@ atkD9_scaledamagebyhealthratio: @ 802C670 adds r0, r2 ldrb r3, [r0, 0x1] ldr r2, _0802C6C8 @ =gBattleMons - ldr r0, _0802C6CC @ =sBattler_AI + ldr r0, _0802C6CC @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -30024,7 +30024,7 @@ _0802C6BC: .4byte gDynamicBasePower _0802C6C0: .4byte gBattleMoves _0802C6C4: .4byte gCurrentMove _0802C6C8: .4byte gBattleMons -_0802C6CC: .4byte sBattler_AI +_0802C6CC: .4byte gBattlerAttacker _0802C6D0: .4byte gUnknown_2023D74 thumb_func_end atkD9_scaledamagebyhealthratio @@ -30032,7 +30032,7 @@ _0802C6D0: .4byte gUnknown_2023D74 atkDA_tryswapabilities: @ 802C6D4 push {r4-r6,lr} ldr r5, _0802C738 @ =gBattleMons - ldr r0, _0802C73C @ =sBattler_AI + ldr r0, _0802C73C @ =gBattlerAttacker ldrb r0, [r0] movs r4, 0x58 muls r0, r4 @@ -30084,7 +30084,7 @@ _0802C71C: b _0802C762 .align 2, 0 _0802C738: .4byte gBattleMons -_0802C73C: .4byte sBattler_AI +_0802C73C: .4byte gBattlerAttacker _0802C740: .4byte gBattlerTarget _0802C744: .4byte gMoveResultFlags _0802C748: .4byte gUnknown_2023D74 @@ -30115,7 +30115,7 @@ atkDB_tryimprision: @ 802C76C mov r6, r8 push {r6,r7} ldr r1, _0802C78C @ =gStatuses3 - ldr r4, _0802C790 @ =sBattler_AI + ldr r4, _0802C790 @ =gBattlerAttacker ldrb r2, [r4] lsls r0, r2, 2 adds r0, r1 @@ -30128,7 +30128,7 @@ atkDB_tryimprision: @ 802C76C b _0802C83E .align 2, 0 _0802C78C: .4byte gStatuses3 -_0802C790: .4byte sBattler_AI +_0802C790: .4byte gBattlerAttacker _0802C794: ldr r0, _0802C7B4 @ =gStatuses3 mov r2, r9 @@ -30166,7 +30166,7 @@ _0802C7D2: cmp r8, r0 beq _0802C828 movs r4, 0 - ldr r7, _0802C864 @ =sBattler_AI + ldr r7, _0802C864 @ =gBattlerAttacker mov r9, r7 ldr r0, _0802C868 @ =gBattleMons mov r12, r0 @@ -30242,7 +30242,7 @@ _0802C858: pop {r0} bx r0 .align 2, 0 -_0802C864: .4byte sBattler_AI +_0802C864: .4byte gBattlerAttacker _0802C868: .4byte gBattleMons _0802C86C: .4byte gBattlersCount _0802C870: .4byte gUnknown_2023D74 @@ -30252,7 +30252,7 @@ _0802C870: .4byte gUnknown_2023D74 atkDC_trysetgrudge: @ 802C874 push {lr} ldr r1, _0802C8AC @ =gStatuses3 - ldr r0, _0802C8B0 @ =sBattler_AI + ldr r0, _0802C8B0 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -30279,7 +30279,7 @@ atkDC_trysetgrudge: @ 802C874 b _0802C8C4 .align 2, 0 _0802C8AC: .4byte gStatuses3 -_0802C8B0: .4byte sBattler_AI +_0802C8B0: .4byte gBattlerAttacker _0802C8B4: .4byte gUnknown_2023D74 _0802C8B8: orrs r1, r3 @@ -30386,7 +30386,7 @@ atkDE_asistattackselect: @ 802C964 ldr r0, [r0] adds r0, 0x18 str r0, [sp, 0x4] - ldr r0, _0802CA88 @ =sBattler_AI + ldr r0, _0802CA88 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerPosition movs r1, 0x1 @@ -30401,7 +30401,7 @@ _0802C994: movs r2, 0 _0802C996: ldr r1, _0802CA94 @ =gBattlerPartyIndexes - ldr r0, _0802CA88 @ =sBattler_AI + ldr r0, _0802CA88 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -30520,7 +30520,7 @@ _0802CA3C: b _0802CACE .align 2, 0 _0802CA84: .4byte gBattleStruct -_0802CA88: .4byte sBattler_AI +_0802CA88: .4byte gBattlerAttacker _0802CA8C: .4byte gPlayerParty _0802CA90: .4byte gEnemyParty _0802CA94: .4byte gBattlerPartyIndexes @@ -30562,7 +30562,7 @@ _0802CAE0: .4byte gUnknown_2023D74 atkDF_trysetmagiccoat: @ 802CAE4 push {lr} ldr r1, _0802CB2C @ =gBattlerTarget - ldr r3, _0802CB30 @ =sBattler_AI + ldr r3, _0802CB30 @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r1] ldr r2, _0802CB34 @ =gUnknown_2023ECC @@ -30598,7 +30598,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 b _0802CB5C .align 2, 0 _0802CB2C: .4byte gBattlerTarget -_0802CB30: .4byte sBattler_AI +_0802CB30: .4byte gBattlerAttacker _0802CB34: .4byte gUnknown_2023ECC _0802CB38: .4byte gUnknown_2023BE2 _0802CB3C: .4byte gBattlersCount @@ -30628,7 +30628,7 @@ _0802CB64: .4byte gUnknown_2023D74 atkE0_trysetsnatch: @ 802CB68 push {lr} ldr r2, _0802CBAC @ =gUnknown_2023ECC - ldr r3, _0802CBB0 @ =sBattler_AI + ldr r3, _0802CBB0 @ =gBattlerAttacker ldrb r1, [r3] lsls r0, r1, 2 adds r0, r1 @@ -30661,7 +30661,7 @@ atkE0_trysetsnatch: @ 802CB68 b _0802CBD6 .align 2, 0 _0802CBAC: .4byte gUnknown_2023ECC -_0802CBB0: .4byte sBattler_AI +_0802CBB0: .4byte gBattlerAttacker _0802CBB4: .4byte gUnknown_2023BE2 _0802CBB8: .4byte gBattlersCount _0802CBBC: .4byte gUnknown_2023D74 @@ -30834,7 +30834,7 @@ atkE2_switchoutabilities: @ 802CCC0 movs r0, 0 movs r1, 0x28 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _0802CD1A: @@ -31132,7 +31132,7 @@ _0802CF60: ldrb r2, [r0] movs r0, 0 movs r1, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _0802CF94 @ =gUnknown_2023D74 @@ -31197,7 +31197,7 @@ atkE8_settypebasedhalvers: @ 802CFD8 cmp r0, 0xC9 bne _0802D028 ldr r1, _0802D01C @ =gStatuses3 - ldr r0, _0802D020 @ =sBattler_AI + ldr r0, _0802D020 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -31217,11 +31217,11 @@ atkE8_settypebasedhalvers: @ 802CFD8 _0802D014: .4byte gBattleMoves _0802D018: .4byte gCurrentMove _0802D01C: .4byte gStatuses3 -_0802D020: .4byte sBattler_AI +_0802D020: .4byte gBattlerAttacker _0802D024: .4byte gUnknown_2023E82 _0802D028: ldr r1, _0802D05C @ =gStatuses3 - ldr r0, _0802D060 @ =sBattler_AI + ldr r0, _0802D060 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -31249,7 +31249,7 @@ _0802D050: b _0802D086 .align 2, 0 _0802D05C: .4byte gStatuses3 -_0802D060: .4byte sBattler_AI +_0802D060: .4byte gBattlerAttacker _0802D064: .4byte gUnknown_2023E82 _0802D068: .4byte gUnknown_2023D74 _0802D06C: @@ -31376,7 +31376,7 @@ atkEA_tryrecycleitem: @ 802D148 push {r4-r7,lr} sub sp, 0x4 ldr r7, _0802D1B0 @ =gActiveBattler - ldr r0, _0802D1B4 @ =sBattler_AI + ldr r0, _0802D1B4 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r7] ldr r1, _0802D1B8 @ =gBattleStruct @@ -31396,7 +31396,7 @@ atkEA_tryrecycleitem: @ 802D148 ldrh r0, [r0, 0x2E] cmp r0, 0 bne _0802D1C8 - ldr r1, _0802D1C0 @ =gUnknown_2023D68 + ldr r1, _0802D1C0 @ =gLastUsedItem strh r5, [r1] strh r0, [r6] ldrb r0, [r7] @@ -31414,7 +31414,7 @@ atkEA_tryrecycleitem: @ 802D148 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r7] bl MarkBufferBankForExecution ldr r1, _0802D1C4 @ =gUnknown_2023D74 @@ -31424,10 +31424,10 @@ atkEA_tryrecycleitem: @ 802D148 b _0802D1E2 .align 2, 0 _0802D1B0: .4byte gActiveBattler -_0802D1B4: .4byte sBattler_AI +_0802D1B4: .4byte gBattlerAttacker _0802D1B8: .4byte gBattleStruct _0802D1BC: .4byte gBattleMons -_0802D1C0: .4byte gUnknown_2023D68 +_0802D1C0: .4byte gLastUsedItem _0802D1C4: .4byte gUnknown_2023D74 _0802D1C8: ldr r3, _0802D1EC @ =gUnknown_2023D74 @@ -31459,7 +31459,7 @@ atkEB_settypetoterrain: @ 802D1F0 push {r7} ldr r0, _0802D260 @ =gBattleMons mov r8, r0 - ldr r7, _0802D264 @ =sBattler_AI + ldr r7, _0802D264 @ =gBattlerAttacker ldrb r0, [r7] movs r6, 0x58 muls r0, r6 @@ -31512,7 +31512,7 @@ atkEB_settypetoterrain: @ 802D1F0 b _0802D292 .align 2, 0 _0802D260: .4byte gBattleMons -_0802D264: .4byte sBattler_AI +_0802D264: .4byte gBattlerAttacker _0802D268: .4byte gUnknown_8250888 _0802D26C: .4byte gUnknown_2022B50 _0802D270: .4byte gBattleTextBuff1 @@ -31544,7 +31544,7 @@ _0802D29C: .4byte gUnknown_2023D74 thumb_func_start atkEC_pursuitrelated atkEC_pursuitrelated: @ 802D2A0 push {r4-r6,lr} - ldr r5, _0802D314 @ =sBattler_AI + ldr r5, _0802D314 @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerPosition movs r1, 0x2 @@ -31600,7 +31600,7 @@ atkEC_pursuitrelated: @ 802D2A0 strb r0, [r5] b _0802D35A .align 2, 0 -_0802D314: .4byte sBattler_AI +_0802D314: .4byte gBattlerAttacker _0802D318: .4byte gActiveBattler _0802D31C: .4byte gBattleTypeFlags _0802D320: .4byte gAbsentBattlerFlags @@ -31636,8 +31636,8 @@ _0802D360: .4byte gUnknown_2023D74 thumb_func_start atkEF_snatchsetbanks atkEF_snatchsetbanks: @ 802D364 push {r4,lr} - ldr r1, _0802D388 @ =gUnknown_2023D6E - ldr r3, _0802D38C @ =sBattler_AI + ldr r1, _0802D388 @ =gEffectBattler + ldr r3, _0802D38C @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r1] ldr r2, _0802D390 @ =gBattlerTarget @@ -31653,8 +31653,8 @@ atkEF_snatchsetbanks: @ 802D364 strb r0, [r3] b _0802D39E .align 2, 0 -_0802D388: .4byte gUnknown_2023D6E -_0802D38C: .4byte sBattler_AI +_0802D388: .4byte gEffectBattler +_0802D38C: .4byte gBattlerAttacker _0802D390: .4byte gBattlerTarget _0802D394: .4byte gBattleScripting _0802D398: @@ -31679,7 +31679,7 @@ _0802D3B4: .4byte gUnknown_2023D74 thumb_func_start atkEE_removelightscreenreflect atkEE_removelightscreenreflect: @ 802D3B8 push {r4,lr} - ldr r0, _0802D400 @ =sBattler_AI + ldr r0, _0802D400 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide movs r1, 0x1 @@ -31715,7 +31715,7 @@ _0802D3E0: strb r0, [r1, 0x19] b _0802D41E .align 2, 0 -_0802D400: .4byte sBattler_AI +_0802D400: .4byte gBattlerAttacker _0802D404: .4byte gSideTimers _0802D408: .4byte gSideAffecting _0802D40C: .4byte 0x0000fffe @@ -31749,7 +31749,7 @@ sub_802D434: @ 802D434 b _0802D7EE _0802D442: ldr r5, _0802D478 @ =gActiveBattler - ldr r0, _0802D47C @ =sBattler_AI + ldr r0, _0802D47C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] ldr r6, _0802D480 @ =gBattlerTarget @@ -31765,7 +31765,7 @@ _0802D442: beq _0802D490 movs r0, 0 movs r1, 0x6 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldrb r0, [r5] bl MarkBufferBankForExecution ldr r1, _0802D488 @ =gUnknown_2023D74 @@ -31774,7 +31774,7 @@ _0802D442: .align 2, 0 _0802D474: .4byte gBattleControllerExecFlags _0802D478: .4byte gActiveBattler -_0802D47C: .4byte sBattler_AI +_0802D47C: .4byte gBattlerAttacker _0802D480: .4byte gBattlerTarget _0802D484: .4byte gBattleTypeFlags _0802D488: .4byte gUnknown_2023D74 @@ -31786,7 +31786,7 @@ _0802D490: beq _0802D4B4 movs r0, 0 movs r1, 0x5 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldrb r0, [r5] bl MarkBufferBankForExecution ldr r1, _0802D4AC @ =gUnknown_2023D74 @@ -31803,7 +31803,7 @@ _0802D4B4: beq _0802D4DC movs r0, 0 movs r1, 0x4 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldrb r0, [r5] bl MarkBufferBankForExecution ldr r1, _0802D4D4 @ =gUnknown_2023D74 @@ -31813,7 +31813,7 @@ _0802D4B4: _0802D4D4: .4byte gUnknown_2023D74 _0802D4D8: .4byte gUnknown_81D9A88 _0802D4DC: - ldr r0, _0802D500 @ =gUnknown_2023D68 + ldr r0, _0802D500 @ =gLastUsedItem ldrh r0, [r0] cmp r0, 0x5 bne _0802D508 @@ -31831,7 +31831,7 @@ _0802D4DC: lsrs r5, r0, 24 b _0802D520 .align 2, 0 -_0802D500: .4byte gUnknown_2023D68 +_0802D500: .4byte gLastUsedItem _0802D504: .4byte gBattleStruct _0802D508: ldr r3, _0802D53C @ =gBaseStats @@ -31847,7 +31847,7 @@ _0802D508: adds r0, r3 ldrb r5, [r0, 0x8] _0802D520: - ldr r2, _0802D544 @ =gUnknown_2023D68 + ldr r2, _0802D544 @ =gLastUsedItem ldrh r0, [r2] cmp r0, 0x5 bhi _0802D52A @@ -31866,7 +31866,7 @@ _0802D532: .align 2, 0 _0802D53C: .4byte gBaseStats _0802D540: .4byte gBattleMons -_0802D544: .4byte gUnknown_2023D68 +_0802D544: .4byte gLastUsedItem _0802D548: .4byte _0802D54C .align 2, 0 _0802D54C: @@ -32014,7 +32014,7 @@ _0802D666: bl __udivsi3 adds r6, r0, 0 _0802D67A: - ldr r1, _0802D6A0 @ =gUnknown_2023D68 + ldr r1, _0802D6A0 @ =gLastUsedItem ldrh r0, [r1] cmp r0, 0x5 beq _0802D6BC @@ -32030,7 +32030,7 @@ _0802D67A: _0802D694: .4byte gUnknown_8250892 _0802D698: .4byte gBattleMons _0802D69C: .4byte gBattlerTarget -_0802D6A0: .4byte gUnknown_2023D68 +_0802D6A0: .4byte gLastUsedItem _0802D6A4: .4byte gBattleResults _0802D6A8: ldr r0, _0802D700 @ =gBattleResults @@ -32048,7 +32048,7 @@ _0802D6BC: bls _0802D720 movs r0, 0 movs r1, 0x4 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldr r0, _0802D704 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -32065,7 +32065,7 @@ _0802D6BC: muls r0, r1 ldr r1, _0802D718 @ =gEnemyParty adds r0, r1 - ldr r2, _0802D71C @ =gUnknown_2023D68 + ldr r2, _0802D71C @ =gLastUsedItem movs r1, 0x26 bl SetMonData bl CalculatePlayerPartyCount @@ -32082,7 +32082,7 @@ _0802D70C: .4byte gUnknown_81D9A42 _0802D710: .4byte gBattlerPartyIndexes _0802D714: .4byte gBattlerTarget _0802D718: .4byte gEnemyParty -_0802D71C: .4byte gUnknown_2023D68 +_0802D71C: .4byte gLastUsedItem _0802D720: movs r0, 0xFF lsls r0, 16 @@ -32115,7 +32115,7 @@ _0802D752: cmp r0, r6 bcc _0802D74C _0802D762: - ldr r5, _0802D7B8 @ =gUnknown_2023D68 + ldr r5, _0802D7B8 @ =gLastUsedItem ldrh r0, [r5] cmp r0, 0x1 bne _0802D76C @@ -32123,7 +32123,7 @@ _0802D762: _0802D76C: movs r0, 0 adds r1, r4, 0 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldr r0, _0802D7BC @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -32156,7 +32156,7 @@ _0802D7AE: strb r0, [r1, 0x5] b _0802D7EE .align 2, 0 -_0802D7B8: .4byte gUnknown_2023D68 +_0802D7B8: .4byte gLastUsedItem _0802D7BC: .4byte gActiveBattler _0802D7C0: .4byte gUnknown_2023D74 _0802D7C4: .4byte gUnknown_81D9A42 @@ -32196,7 +32196,7 @@ sub_802D800: @ 802D800 push {r6,r7} ldr r0, _0802D870 @ =gBattlerPartyIndexes mov r9, r0 - ldr r5, _0802D874 @ =sBattler_AI + ldr r5, _0802D874 @ =gBattlerAttacker ldrb r0, [r5] movs r6, 0x1 eors r0, r6 @@ -32241,7 +32241,7 @@ sub_802D800: @ 802D800 b _0802D8D6 .align 2, 0 _0802D870: .4byte gBattlerPartyIndexes -_0802D874: .4byte sBattler_AI +_0802D874: .4byte gBattlerAttacker _0802D878: .4byte gEnemyParty _0802D87C: .4byte gUnknown_2023E82 _0802D880: .4byte gStringVar1 @@ -32291,7 +32291,7 @@ _0802D8D6: _0802D8EA: ldr r2, _0802D944 @ =gBattleResults ldr r3, _0802D948 @ =gBattleMons - ldr r0, _0802D94C @ =sBattler_AI + ldr r0, _0802D94C @ =gBattlerAttacker ldrb r0, [r0] movs r1, 0x1 eors r1, r0 @@ -32330,7 +32330,7 @@ _0802D93C: .4byte gUnknown_2023E82 _0802D940: .4byte 0x00000834 _0802D944: .4byte gBattleResults _0802D948: .4byte gBattleMons -_0802D94C: .4byte sBattler_AI +_0802D94C: .4byte gBattlerAttacker _0802D950: .4byte gBattlerPartyIndexes _0802D954: .4byte gEnemyParty _0802D958: .4byte gUnknown_2023D74 @@ -32955,7 +32955,7 @@ _0802DE40: b _0802DFA6 _0802DE4E: ldr r7, _0802DF00 @ =gBattlerPartyIndexes - ldr r0, _0802DF04 @ =sBattler_AI + ldr r0, _0802DF04 @ =gBattlerAttacker mov r10, r0 ldrb r0, [r0] movs r4, 0x1 @@ -33037,7 +33037,7 @@ _0802DE4E: .align 2, 0 _0802DEFC: .4byte gPaletteFade _0802DF00: .4byte gBattlerPartyIndexes -_0802DF04: .4byte sBattler_AI +_0802DF04: .4byte gBattlerAttacker _0802DF08: .4byte gEnemyParty _0802DF0C: .4byte gBattleStruct _0802DF10: .4byte BattleMainCB2 @@ -33055,7 +33055,7 @@ _0802DF18: cmp r0, 0 bne _0802DFA6 ldr r2, _0802DF60 @ =gBattlerPartyIndexes - ldr r0, _0802DF64 @ =sBattler_AI + ldr r0, _0802DF64 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x1 eors r0, r1 @@ -33077,7 +33077,7 @@ _0802DF54: .4byte gMain _0802DF58: .4byte BattleMainCB2 _0802DF5C: .4byte gPaletteFade _0802DF60: .4byte gBattlerPartyIndexes -_0802DF64: .4byte sBattler_AI +_0802DF64: .4byte gBattlerAttacker _0802DF68: .4byte gEnemyParty _0802DF6C: .4byte gBattleStruct _0802DF70: @@ -33123,7 +33123,7 @@ _0802DFB8: .4byte gUnknown_2023D74 thumb_func_start atkF4_subattackerhpbydmg atkF4_subattackerhpbydmg: @ 802DFBC ldr r2, _0802DFDC @ =gBattleMons - ldr r0, _0802DFE0 @ =sBattler_AI + ldr r0, _0802DFE0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -33140,7 +33140,7 @@ atkF4_subattackerhpbydmg: @ 802DFBC bx lr .align 2, 0 _0802DFDC: .4byte gBattleMons -_0802DFE0: .4byte sBattler_AI +_0802DFE0: .4byte gBattlerAttacker _0802DFE4: .4byte gBattleMoveDamage _0802DFE8: .4byte gUnknown_2023D74 thumb_func_end atkF4_subattackerhpbydmg @@ -33148,7 +33148,7 @@ _0802DFE8: .4byte gUnknown_2023D74 thumb_func_start atkF5_removeattackerstatus1 atkF5_removeattackerstatus1: @ 802DFEC ldr r1, _0802E008 @ =gBattleMons - ldr r0, _0802E00C @ =sBattler_AI + ldr r0, _0802E00C @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -33163,7 +33163,7 @@ atkF5_removeattackerstatus1: @ 802DFEC bx lr .align 2, 0 _0802E008: .4byte gBattleMons -_0802E00C: .4byte sBattler_AI +_0802E00C: .4byte gBattlerAttacker _0802E010: .4byte gUnknown_2023D74 thumb_func_end atkF5_removeattackerstatus1 -- cgit v1.2.3 From 035df4d7a4a2782cf7bc3789f56471a03ffbfca0 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 30 Jul 2019 12:10:40 +0800 Subject: ported documentation of battle_util.s --- asm/battle_script_commands.s | 3274 +++++++++++++++++++++--------------------- 1 file changed, 1637 insertions(+), 1637 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 373d191ef..25dbe3ce3 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -33,7 +33,7 @@ _0801D784: ldrh r0, [r0, 0x28] cmp r0, 0 bne _0801D7C8 - ldr r2, _0801D7BC @ =gUnknown_2023DD0 + ldr r2, _0801D7BC @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 2 @@ -44,17 +44,17 @@ _0801D784: lsls r0, 12 orrs r1, r0 str r1, [r2] - ldr r1, _0801D7C0 @ =gUnknown_2023D74 + ldr r1, _0801D7C0 @ =gBattlescriptCurrInstr ldr r0, _0801D7C4 @ =gUnknown_81D694E b _0801DAFA .align 2, 0 _0801D7B4: .4byte gBattleMons _0801D7B8: .4byte gBattlerAttacker -_0801D7BC: .4byte gUnknown_2023DD0 -_0801D7C0: .4byte gUnknown_2023D74 +_0801D7BC: .4byte gHitMarker +_0801D7C0: .4byte gBattlescriptCurrInstr _0801D7C4: .4byte gUnknown_81D694E _0801D7C8: - bl sub_80192D4 + bl AtkCanceller_UnableToUseMove lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -85,7 +85,7 @@ _0801D7EE: adds r0, 0x24 adds r1, r0 ldrb r0, [r1] - ldr r5, _0801D854 @ =gUnknown_2023DD0 + ldr r5, _0801D854 @ =gHitMarker cmp r0, 0 bne _0801D86C ldr r0, _0801D858 @ =gCurrentMove @@ -106,7 +106,7 @@ _0801D7EE: ands r0, r1 cmp r0, 0 bne _0801D86C - ldr r1, _0801D860 @ =gUnknown_2023D74 + ldr r1, _0801D860 @ =gBattlescriptCurrInstr ldr r0, _0801D864 @ =gUnknown_81D8EA8 str r0, [r1] ldr r2, _0801D868 @ =gMoveResultFlags @@ -120,10 +120,10 @@ _0801D844: .4byte gBattlerTarget _0801D848: .4byte gBattleMons _0801D84C: .4byte gUnknown_2023D48 _0801D850: .4byte gBattlerAttacker -_0801D854: .4byte gUnknown_2023DD0 +_0801D854: .4byte gHitMarker _0801D858: .4byte gCurrentMove _0801D85C: .4byte 0x00800200 -_0801D860: .4byte gUnknown_2023D74 +_0801D860: .4byte gBattlescriptCurrInstr _0801D864: .4byte gUnknown_81D8EA8 _0801D868: .4byte gMoveResultFlags _0801D86C: @@ -148,7 +148,7 @@ _0801D86C: ands r0, r1 cmp r0, 0 bne _0801D8C4 - bl sub_801D438 + bl IsMonDisobedient lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -171,13 +171,13 @@ _0801D8B4: .align 2, 0 _0801D8C0: .4byte gMoveResultFlags _0801D8C4: - ldr r2, _0801D928 @ =gUnknown_2023DD0 + ldr r2, _0801D928 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 18 orrs r0, r1 str r0, [r2] - ldr r2, _0801D92C @ =gUnknown_2023E8C + ldr r2, _0801D92C @ =gProtectStructs ldr r1, _0801D930 @ =gBattlerTarget ldrb r3, [r1] lsls r0, r3, 4 @@ -215,18 +215,18 @@ _0801D8C4: ands r0, r2 strb r0, [r1] bl BattleScriptPushCursor - ldr r1, _0801D944 @ =gUnknown_2023D74 + ldr r1, _0801D944 @ =gBattlescriptCurrInstr ldr r0, _0801D948 @ =gUnknown_81D8FAA b _0801DAFA .align 2, 0 -_0801D928: .4byte gUnknown_2023DD0 -_0801D92C: .4byte gUnknown_2023E8C +_0801D928: .4byte gHitMarker +_0801D92C: .4byte gProtectStructs _0801D930: .4byte gBattlerTarget _0801D934: .4byte gBattleMoves _0801D938: .4byte gCurrentMove _0801D93C: .4byte gBattlerAttacker _0801D940: .4byte 0x00000115 -_0801D944: .4byte gUnknown_2023D74 +_0801D944: .4byte gBattlescriptCurrInstr _0801D948: .4byte gUnknown_81D8FAA _0801D94C: movs r2, 0 @@ -234,11 +234,11 @@ _0801D94C: ldrb r0, [r0] cmp r2, r0 bge _0801D98E - ldr r6, _0801D9CC @ =gUnknown_2023E8C + ldr r6, _0801D9CC @ =gProtectStructs ldr r1, _0801D9D0 @ =gBattleMoves mov r12, r1 adds r5, r0, 0 - ldr r7, _0801D9D4 @ =gUnknown_2023BDE + ldr r7, _0801D9D4 @ =gBattlerByTurnOrder _0801D960: adds r4, r2, r7 ldrb r3, [r4] @@ -265,7 +265,7 @@ _0801D988: cmp r2, r5 blt _0801D960 _0801D98E: - ldr r0, _0801D9DC @ =gUnknown_2023ECC + ldr r0, _0801D9DC @ =gSpecialStatuses mov r1, r8 ldrb r2, [r1] lsls r1, r2, 2 @@ -284,7 +284,7 @@ _0801D98E: movs r0, 0x1F strb r0, [r4] bl BattleScriptPushCursor - ldr r1, _0801D9E4 @ =gUnknown_2023D74 + ldr r1, _0801D9E4 @ =gBattlescriptCurrInstr ldr r0, _0801D9E8 @ =gUnknown_81D938D str r0, [r1] mov r1, r8 @@ -294,13 +294,13 @@ _0801D98E: b _0801DAFC .align 2, 0 _0801D9C8: .4byte gBattlersCount -_0801D9CC: .4byte gUnknown_2023E8C +_0801D9CC: .4byte gProtectStructs _0801D9D0: .4byte gBattleMoves -_0801D9D4: .4byte gUnknown_2023BDE +_0801D9D4: .4byte gBattlerByTurnOrder _0801D9D8: .4byte gCurrentMove -_0801D9DC: .4byte gUnknown_2023ECC +_0801D9DC: .4byte gSpecialStatuses _0801D9E0: .4byte gLastUsedAbility -_0801D9E4: .4byte gUnknown_2023D74 +_0801D9E4: .4byte gBattlescriptCurrInstr _0801D9E8: .4byte gUnknown_81D938D _0801D9EC: lsls r0, r2, 4 @@ -382,7 +382,7 @@ _0801DA5E: lsls r0, 1 adds r0, r1 strh r2, [r0] - ldr r1, _0801DAB0 @ =gUnknown_2023E82 + ldr r1, _0801DAB0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x6] b _0801DAF4 @@ -395,7 +395,7 @@ _0801DAA0: .4byte gMoveResultFlags _0801DAA4: .4byte gUnknown_2023DA0 _0801DAA8: .4byte gBattlerTarget _0801DAAC: .4byte gUnknown_2023DA8 -_0801DAB0: .4byte gUnknown_2023E82 +_0801DAB0: .4byte gBattleCommunication _0801DAB4: ldr r0, _0801DAE0 @ =gBattlerAttacker ldrb r0, [r0] @@ -414,17 +414,17 @@ _0801DAB4: ldrb r0, [r4] strb r0, [r1, 0x17] bl BattleScriptPushCursor - ldr r1, _0801DAEC @ =gUnknown_2023D74 + ldr r1, _0801DAEC @ =gBattlescriptCurrInstr ldr r0, _0801DAF0 @ =gUnknown_81D8FC2 b _0801DAFA .align 2, 0 _0801DAE0: .4byte gBattlerAttacker _0801DAE4: .4byte 0x00000121 _0801DAE8: .4byte gBattleScripting -_0801DAEC: .4byte gUnknown_2023D74 +_0801DAEC: .4byte gBattlescriptCurrInstr _0801DAF0: .4byte gUnknown_81D8FC2 _0801DAF4: - ldr r1, _0801DB0C @ =gUnknown_2023D74 + ldr r1, _0801DB0C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 _0801DAFA: @@ -438,7 +438,7 @@ _0801DAFC: pop {r0} bx r0 .align 2, 0 -_0801DB0C: .4byte gUnknown_2023D74 +_0801DB0C: .4byte gBattlescriptCurrInstr thumb_func_end atk00_attackcanceler thumb_func_start JumpIfMoveFailed @@ -449,7 +449,7 @@ JumpIfMoveFailed: @ 801DB10 lsrs r0, 24 lsls r1, 16 lsrs r6, r1, 16 - ldr r1, _0801DB5C @ =gUnknown_2023D74 + ldr r1, _0801DB5C @ =gBattlescriptCurrInstr ldr r5, [r1] adds r4, r5, r0 ldr r0, _0801DB60 @ =gMoveResultFlags @@ -482,7 +482,7 @@ JumpIfMoveFailed: @ 801DB10 orrs r4, r0 b _0801DB8A .align 2, 0 -_0801DB5C: .4byte gUnknown_2023D74 +_0801DB5C: .4byte gBattlescriptCurrInstr _0801DB60: .4byte gMoveResultFlags _0801DB64: .4byte gUnknown_2023DA0 _0801DB68: .4byte gBattlerTarget @@ -500,7 +500,7 @@ _0801DB70: cmp r0, 0 bne _0801DB8E _0801DB8A: - ldr r0, _0801DB9C @ =gUnknown_2023D74 + ldr r0, _0801DB9C @ =gBattlescriptCurrInstr str r4, [r0] _0801DB8E: add sp, 0x4 @@ -509,13 +509,13 @@ _0801DB8E: bx r0 .align 2, 0 _0801DB98: .4byte gBattlerTarget -_0801DB9C: .4byte gUnknown_2023D74 +_0801DB9C: .4byte gBattlescriptCurrInstr thumb_func_end JumpIfMoveFailed thumb_func_start atk40_jumpifaffectedbyprotect atk40_jumpifaffectedbyprotect: @ 801DBA0 push {lr} - ldr r1, _0801DBE8 @ =gUnknown_2023E8C + ldr r1, _0801DBE8 @ =gProtectStructs ldr r0, _0801DBEC @ =gBattlerTarget ldrb r0, [r0] lsls r0, 4 @@ -544,19 +544,19 @@ atk40_jumpifaffectedbyprotect: @ 801DBA0 movs r0, 0x5 movs r1, 0 bl JumpIfMoveFailed - ldr r1, _0801DBFC @ =gUnknown_2023E82 + ldr r1, _0801DBFC @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x6] b _0801DC08 .align 2, 0 -_0801DBE8: .4byte gUnknown_2023E8C +_0801DBE8: .4byte gProtectStructs _0801DBEC: .4byte gBattlerTarget _0801DBF0: .4byte gBattleMoves _0801DBF4: .4byte gCurrentMove _0801DBF8: .4byte gMoveResultFlags -_0801DBFC: .4byte gUnknown_2023E82 +_0801DBFC: .4byte gBattleCommunication _0801DC00: - ldr r1, _0801DC0C @ =gUnknown_2023D74 + ldr r1, _0801DC0C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -564,7 +564,7 @@ _0801DC08: pop {r0} bx r0 .align 2, 0 -_0801DC0C: .4byte gUnknown_2023D74 +_0801DC0C: .4byte gBattlescriptCurrInstr thumb_func_end atk40_jumpifaffectedbyprotect thumb_func_start JumpIfMoveAffectedByProtect @@ -573,7 +573,7 @@ JumpIfMoveAffectedByProtect: @ 801DC10 lsls r0, 16 lsrs r3, r0, 16 movs r4, 0 - ldr r1, _0801DC64 @ =gUnknown_2023E8C + ldr r1, _0801DC64 @ =gProtectStructs ldr r0, _0801DC68 @ =gBattlerTarget ldrb r0, [r0] lsls r0, 4 @@ -602,7 +602,7 @@ JumpIfMoveAffectedByProtect: @ 801DC10 movs r0, 0x7 adds r1, r3, 0 bl JumpIfMoveFailed - ldr r1, _0801DC78 @ =gUnknown_2023E82 + ldr r1, _0801DC78 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x6] movs r4, 0x1 @@ -612,12 +612,12 @@ _0801DC5C: pop {r1} bx r1 .align 2, 0 -_0801DC64: .4byte gUnknown_2023E8C +_0801DC64: .4byte gProtectStructs _0801DC68: .4byte gBattlerTarget _0801DC6C: .4byte gBattleMoves _0801DC70: .4byte gCurrentMove _0801DC74: .4byte gMoveResultFlags -_0801DC78: .4byte gUnknown_2023E82 +_0801DC78: .4byte gBattleCommunication thumb_func_end JumpIfMoveAffectedByProtect thumb_func_start AccuracyCalcHelper @@ -648,7 +648,7 @@ AccuracyCalcHelper: @ 801DC7C cmp r0, r1 beq _0801DD98 _0801DCAE: - ldr r0, _0801DCEC @ =gUnknown_2023DD0 + ldr r0, _0801DCEC @ =gHitMarker ldr r1, [r0] movs r2, 0x80 lsls r2, 9 @@ -676,7 +676,7 @@ _0801DCDC: .4byte gStatuses3 _0801DCE0: .4byte gBattlerTarget _0801DCE4: .4byte gDisableStructs _0801DCE8: .4byte gBattlerAttacker -_0801DCEC: .4byte gUnknown_2023DD0 +_0801DCEC: .4byte gHitMarker _0801DCF0: .4byte gMoveResultFlags _0801DCF4: ldr r0, [r2] @@ -791,7 +791,7 @@ sub_801DDC4: @ 801DDC4 mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r0, _0801DE60 @ =gUnknown_2023D74 + ldr r0, _0801DE60 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r6, [r0, 0x5] ldrb r0, [r0, 0x6] @@ -862,7 +862,7 @@ _0801DE56: bl JumpIfMoveFailed b _0801E1C2 .align 2, 0 -_0801DE60: .4byte gUnknown_2023D74 +_0801DE60: .4byte gBattlescriptCurrInstr _0801DE64: .4byte gBattleTypeFlags _0801DE68: .4byte gBattleMoves _0801DE6C: .4byte gBattlerAttacker @@ -904,7 +904,7 @@ _0801DEA8: ands r0, r1 cmp r0, 0 beq _0801DEF0 - ldr r3, _0801DEEC @ =gUnknown_2023D74 + ldr r3, _0801DEEC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -925,7 +925,7 @@ _0801DEDC: .4byte 0x0000ffff _0801DEE0: .4byte gDisableStructs _0801DEE4: .4byte gBattlerAttacker _0801DEE8: .4byte 0x000400c0 -_0801DEEC: .4byte gUnknown_2023D74 +_0801DEEC: .4byte gBattlescriptCurrInstr _0801DEF0: movs r0, 0 bl JumpIfMoveAffectedByProtect @@ -934,13 +934,13 @@ _0801DEF0: beq _0801DEFE b _0801E1C2 _0801DEFE: - ldr r1, _0801DF08 @ =gUnknown_2023D74 + ldr r1, _0801DF08 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x7 str r0, [r1] b _0801E1C2 .align 2, 0 -_0801DF08: .4byte gUnknown_2023D74 +_0801DF08: .4byte gBattlescriptCurrInstr _0801DF0C: cmp r6, 0 bne _0801DF14 @@ -1255,7 +1255,7 @@ _0801E150: cmp r0, 0x20 bne _0801E1B0 _0801E192: - ldr r1, _0801E1AC @ =gUnknown_2023E82 + ldr r1, _0801E1AC @ =gBattleCommunication movs r0, 0x2 b _0801E1B4 .align 2, 0 @@ -1264,9 +1264,9 @@ _0801E19C: .4byte gBattlerTarget _0801E1A0: .4byte gMoveResultFlags _0801E1A4: .4byte gBattleTypeFlags _0801E1A8: .4byte gBattleMoves -_0801E1AC: .4byte gUnknown_2023E82 +_0801E1AC: .4byte gBattleCommunication _0801E1B0: - ldr r1, _0801E1D4 @ =gUnknown_2023E82 + ldr r1, _0801E1D4 @ =gBattleCommunication movs r0, 0 _0801E1B4: strb r0, [r1, 0x6] @@ -1285,7 +1285,7 @@ _0801E1C2: pop {r0} bx r0 .align 2, 0 -_0801E1D4: .4byte gUnknown_2023E82 +_0801E1D4: .4byte gBattleCommunication thumb_func_end sub_801DDC4 thumb_func_start atk02_attackstring @@ -1295,7 +1295,7 @@ atk02_attackstring: @ 801E1D8 ldr r5, [r0] cmp r5, 0 bne _0801E210 - ldr r4, _0801E21C @ =gUnknown_2023DD0 + ldr r4, _0801E21C @ =gHitMarker ldr r0, [r4] movs r1, 0xC0 lsls r1, 3 @@ -1312,11 +1312,11 @@ atk02_attackstring: @ 801E1D8 orrs r0, r1 str r0, [r4] _0801E204: - ldr r0, _0801E224 @ =gUnknown_2023D74 + ldr r0, _0801E224 @ =gBattlescriptCurrInstr ldr r1, [r0] adds r1, 0x1 str r1, [r0] - ldr r0, _0801E228 @ =gUnknown_2023E82 + ldr r0, _0801E228 @ =gBattleCommunication strb r5, [r0, 0x7] _0801E210: pop {r4,r5} @@ -1324,10 +1324,10 @@ _0801E210: bx r0 .align 2, 0 _0801E218: .4byte gBattleControllerExecFlags -_0801E21C: .4byte gUnknown_2023DD0 +_0801E21C: .4byte gHitMarker _0801E220: .4byte gBattlerAttacker -_0801E224: .4byte gUnknown_2023D74 -_0801E228: .4byte gUnknown_2023E82 +_0801E224: .4byte gBattlescriptCurrInstr +_0801E228: .4byte gBattleCommunication thumb_func_end atk02_attackstring thumb_func_start atk03_ppreduce @@ -1345,7 +1345,7 @@ atk03_ppreduce: @ 801E22C beq _0801E244 b _0801E3DE _0801E244: - ldr r1, _0801E280 @ =gUnknown_2023ECC + ldr r1, _0801E280 @ =gSpecialStatuses ldr r2, _0801E284 @ =gBattlerAttacker ldrb r3, [r2] lsls r0, r3, 2 @@ -1375,7 +1375,7 @@ _0801E244: b _0801E2C6 .align 2, 0 _0801E27C: .4byte gBattleControllerExecFlags -_0801E280: .4byte gUnknown_2023ECC +_0801E280: .4byte gSpecialStatuses _0801E284: .4byte gBattlerAttacker _0801E288: .4byte gBattleMoves _0801E28C: .4byte gCurrentMove @@ -1425,7 +1425,7 @@ _0801E2C6: bne _0801E2E6 adds r6, 0x1 _0801E2E6: - ldr r0, _0801E350 @ =gUnknown_2023DD0 + ldr r0, _0801E350 @ =gHitMarker ldr r4, [r0] movs r0, 0xA0 lsls r0, 4 @@ -1452,7 +1452,7 @@ _0801E2E6: adds r7, r3, 0 cmp r0, 0 beq _0801E3CC - ldr r0, _0801E35C @ =gUnknown_2023E8C + ldr r0, _0801E35C @ =gProtectStructs lsls r1, r5, 4 adds r1, r0 ldrb r0, [r1, 0x2] @@ -1477,10 +1477,10 @@ _0801E2E6: .align 2, 0 _0801E348: .4byte gBattlerTarget _0801E34C: .4byte gBattleMons -_0801E350: .4byte gUnknown_2023DD0 +_0801E350: .4byte gHitMarker _0801E354: .4byte gUnknown_2023D48 _0801E358: .4byte gBattlerAttacker -_0801E35C: .4byte gUnknown_2023E8C +_0801E35C: .4byte gProtectStructs _0801E360: strb r4, [r2] _0801E362: @@ -1534,14 +1534,14 @@ _0801E362: bl BtlController_EmitSetMonData mov r7, r9 ldrb r0, [r7] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0801E3CC: - ldr r2, _0801E3FC @ =gUnknown_2023DD0 + ldr r2, _0801E3FC @ =gHitMarker ldr r0, [r2] ldr r1, _0801E400 @ =0xfffff7ff ands r0, r1 str r0, [r2] - ldr r1, _0801E404 @ =gUnknown_2023D74 + ldr r1, _0801E404 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -1558,9 +1558,9 @@ _0801E3DE: _0801E3F0: .4byte gDisableStructs _0801E3F4: .4byte gBitTable _0801E3F8: .4byte gActiveBattler -_0801E3FC: .4byte gUnknown_2023DD0 +_0801E3FC: .4byte gHitMarker _0801E400: .4byte 0xfffff7ff -_0801E404: .4byte gUnknown_2023D74 +_0801E404: .4byte gBattlescriptCurrInstr thumb_func_end atk03_ppreduce thumb_func_start sub_801E408 @@ -1755,7 +1755,7 @@ _0801E580: movs r0, 0x1 _0801E584: strb r0, [r1] - ldr r1, _0801E598 @ =gUnknown_2023D74 + ldr r1, _0801E598 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -1764,14 +1764,14 @@ _0801E584: bx r0 .align 2, 0 _0801E594: .4byte gCritMultiplier -_0801E598: .4byte gUnknown_2023D74 +_0801E598: .4byte gBattlescriptCurrInstr thumb_func_end sub_801E408 thumb_func_start atk05_damagecalc atk05_damagecalc: @ 801E59C push {r4-r7,lr} sub sp, 0x10 - ldr r4, _0801E654 @ =gSideAffecting + ldr r4, _0801E654 @ =gSideStatuses ldr r5, _0801E658 @ =gBattlerTarget ldrb r0, [r5] bl GetBattlerPosition @@ -1834,7 +1834,7 @@ atk05_damagecalc: @ 801E59C lsls r0, r3, 1 str r0, [r4] _0801E620: - ldr r1, _0801E684 @ =gUnknown_2023E8C + ldr r1, _0801E684 @ =gProtectStructs ldr r0, _0801E65C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -1851,7 +1851,7 @@ _0801E620: bl __divsi3 str r0, [r4] _0801E642: - ldr r1, _0801E688 @ =gUnknown_2023D74 + ldr r1, _0801E688 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -1860,7 +1860,7 @@ _0801E642: pop {r0} bx r0 .align 2, 0 -_0801E654: .4byte gSideAffecting +_0801E654: .4byte gSideStatuses _0801E658: .4byte gBattlerTarget _0801E65C: .4byte gBattlerAttacker _0801E660: .4byte gBattleMons @@ -1872,8 +1872,8 @@ _0801E674: .4byte gCritMultiplier _0801E678: .4byte gBattleScripting _0801E67C: .4byte gStatuses3 _0801E680: .4byte gBattleMoves -_0801E684: .4byte gUnknown_2023E8C -_0801E688: .4byte gUnknown_2023D74 +_0801E684: .4byte gProtectStructs +_0801E688: .4byte gBattlescriptCurrInstr thumb_func_end atk05_damagecalc thumb_func_start AI_CalcDmg @@ -1887,7 +1887,7 @@ AI_CalcDmg: @ 801E68C lsrs r7, r0, 24 lsls r5, 24 lsrs r5, 24 - ldr r4, _0801E744 @ =gSideAffecting + ldr r4, _0801E744 @ =gSideStatuses adds r0, r5, 0 bl GetBattlerPosition movs r1, 0x1 @@ -1948,7 +1948,7 @@ AI_CalcDmg: @ 801E68C lsls r0, r3, 1 str r0, [r4] _0801E71A: - ldr r0, _0801E76C @ =gUnknown_2023E8C + ldr r0, _0801E76C @ =gProtectStructs lsls r1, r7, 4 adds r1, r0 ldrb r0, [r1] @@ -1970,7 +1970,7 @@ _0801E738: pop {r0} bx r0 .align 2, 0 -_0801E744: .4byte gSideAffecting +_0801E744: .4byte gSideStatuses _0801E748: .4byte gBattleMons _0801E74C: .4byte gCurrentMove _0801E750: .4byte gDynamicBasePower @@ -1980,7 +1980,7 @@ _0801E75C: .4byte gCritMultiplier _0801E760: .4byte gBattleScripting _0801E764: .4byte gStatuses3 _0801E768: .4byte gBattleMoves -_0801E76C: .4byte gUnknown_2023E8C +_0801E76C: .4byte gProtectStructs thumb_func_end AI_CalcDmg thumb_func_start ModulateDmgByType @@ -2193,7 +2193,7 @@ _0801E8C0: lsls r0, 1 adds r0, r1 strh r2, [r0] - ldr r0, _0801E934 @ =gUnknown_2023E82 + ldr r0, _0801E934 @ =gBattleCommunication mov r1, r8 strb r1, [r0, 0x6] ldrb r0, [r4] @@ -2210,7 +2210,7 @@ _0801E924: .4byte gLastUsedAbility _0801E928: .4byte gMoveResultFlags _0801E92C: .4byte gUnknown_2023DA0 _0801E930: .4byte gUnknown_2023DA8 -_0801E934: .4byte gUnknown_2023E82 +_0801E934: .4byte gBattleCommunication _0801E938: ldr r1, _0801E944 @ =gUnknown_824F050 adds r0, r3, r1 @@ -2350,7 +2350,7 @@ _0801EA10: lsls r0, 1 adds r0, r1 strh r2, [r0] - ldr r1, _0801EAAC @ =gUnknown_2023E82 + ldr r1, _0801EAAC @ =gBattleCommunication movs r0, 0x3 strb r0, [r1, 0x6] ldrb r0, [r5] @@ -2363,7 +2363,7 @@ _0801EA52: ands r0, r1 cmp r0, 0 beq _0801EA70 - ldr r2, _0801EAB0 @ =gUnknown_2023E8C + ldr r2, _0801EAB0 @ =gProtectStructs ldr r0, _0801EA90 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 4 @@ -2373,7 +2373,7 @@ _0801EA52: orrs r0, r2 strb r0, [r1, 0x1] _0801EA70: - ldr r1, _0801EAB4 @ =gUnknown_2023D74 + ldr r1, _0801EAB4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -2394,9 +2394,9 @@ _0801EA9C: .4byte gBattleMoves _0801EAA0: .4byte gLastUsedAbility _0801EAA4: .4byte gUnknown_2023DA0 _0801EAA8: .4byte gUnknown_2023DA8 -_0801EAAC: .4byte gUnknown_2023E82 -_0801EAB0: .4byte gUnknown_2023E8C -_0801EAB4: .4byte gUnknown_2023D74 +_0801EAAC: .4byte gBattleCommunication +_0801EAB0: .4byte gProtectStructs +_0801EAB4: .4byte gBattlescriptCurrInstr thumb_func_end atk06_typecalc thumb_func_start CheckWonderGuardAndLevitate @@ -2460,7 +2460,7 @@ _0801EB08: bne _0801EB4C ldr r0, _0801EB44 @ =gLastUsedAbility strb r1, [r0] - ldr r0, _0801EB48 @ =gUnknown_2023E82 + ldr r0, _0801EB48 @ =gBattleCommunication mov r1, r12 strb r1, [r0, 0x6] ldrb r0, [r3] @@ -2471,7 +2471,7 @@ _0801EB08: _0801EB3C: .4byte gBattleMons _0801EB40: .4byte gBattlerTarget _0801EB44: .4byte gLastUsedAbility -_0801EB48: .4byte gUnknown_2023E82 +_0801EB48: .4byte gBattleCommunication _0801EB4C: ldr r1, _0801EB58 @ =gUnknown_824F050 adds r0, r5, r1 @@ -2510,7 +2510,7 @@ _0801EB66: movs r1, 0x8 orrs r0, r1 strb r0, [r2] - ldr r1, _0801ED28 @ =gUnknown_2023E8C + ldr r1, _0801ED28 @ =gProtectStructs ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r2, [r0] lsls r2, 4 @@ -2546,7 +2546,7 @@ _0801EBA6: movs r1, 0x8 orrs r0, r1 strb r0, [r2] - ldr r1, _0801ED28 @ =gUnknown_2023E8C + ldr r1, _0801ED28 @ =gProtectStructs ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r2, [r0] lsls r2, 4 @@ -2704,7 +2704,7 @@ _0801ECC2: beq _0801ED18 ldr r0, _0801ED34 @ =gLastUsedAbility strb r4, [r0] - ldr r1, _0801ED38 @ =gUnknown_2023E82 + ldr r1, _0801ED38 @ =gBattleCommunication movs r0, 0x3 strb r0, [r1, 0x6] mov r1, r8 @@ -2720,11 +2720,11 @@ _0801ED18: bx r0 .align 2, 0 _0801ED24: .4byte gMoveResultFlags -_0801ED28: .4byte gUnknown_2023E8C +_0801ED28: .4byte gProtectStructs _0801ED2C: .4byte gBattlerAttacker _0801ED30: .4byte gBattleMoves _0801ED34: .4byte gLastUsedAbility -_0801ED38: .4byte gUnknown_2023E82 +_0801ED38: .4byte gBattleCommunication thumb_func_end CheckWonderGuardAndLevitate thumb_func_start ModulateDmgByType2 @@ -3322,7 +3322,7 @@ _0801F186: ldrb r0, [r5] movs r1, 0x27 bl sub_80C7208 - ldr r2, _0801F250 @ =gUnknown_2023ECC + ldr r2, _0801F250 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -3358,14 +3358,14 @@ _0801F1C4: ldrb r0, [r0] cmp r0, 0x65 beq _0801F216 - ldr r0, _0801F260 @ =gUnknown_2023E8C + ldr r0, _0801F260 @ =gProtectStructs lsls r1, r4, 4 adds r1, r0 ldrb r0, [r1] lsls r0, 30 cmp r0, 0 blt _0801F216 - ldr r0, _0801F250 @ =gUnknown_2023ECC + ldr r0, _0801F250 @ =gSpecialStatuses lsls r1, r4, 2 adds r1, r4 lsls r1, 2 @@ -3386,7 +3386,7 @@ _0801F216: bgt _0801F294 subs r0, r1, 0x1 str r0, [r2] - ldr r1, _0801F260 @ =gUnknown_2023E8C + ldr r1, _0801F260 @ =gProtectStructs ldrb r3, [r3] lsls r0, r3, 4 adds r0, r1 @@ -3403,15 +3403,15 @@ _0801F216: .align 2, 0 _0801F248: .4byte gPotentialItemEffectBattler _0801F24C: .4byte gBattlerTarget -_0801F250: .4byte gUnknown_2023ECC +_0801F250: .4byte gSpecialStatuses _0801F254: .4byte gBattleMons _0801F258: .4byte gBattleMoves _0801F25C: .4byte gCurrentMove -_0801F260: .4byte gUnknown_2023E8C +_0801F260: .4byte gProtectStructs _0801F264: .4byte gBattleMoveDamage _0801F268: .4byte gMoveResultFlags _0801F26C: - ldr r0, _0801F2A4 @ =gUnknown_2023ECC + ldr r0, _0801F2A4 @ =gSpecialStatuses lsls r1, r3, 2 adds r1, r3 lsls r1, 2 @@ -3432,7 +3432,7 @@ _0801F26C: ldrh r0, [r0, 0x2E] strh r0, [r1] _0801F294: - ldr r1, _0801F2B0 @ =gUnknown_2023D74 + ldr r1, _0801F2B0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -3440,10 +3440,10 @@ _0801F294: pop {r0} bx r0 .align 2, 0 -_0801F2A4: .4byte gUnknown_2023ECC +_0801F2A4: .4byte gSpecialStatuses _0801F2A8: .4byte gMoveResultFlags _0801F2AC: .4byte gLastUsedItem -_0801F2B0: .4byte gUnknown_2023D74 +_0801F2B0: .4byte gBattlescriptCurrInstr thumb_func_end atk07_adjustnormaldamage thumb_func_start atk08_adjustnormaldamage2 @@ -3526,7 +3526,7 @@ _0801F336: ldrb r0, [r5] movs r1, 0x27 bl sub_80C7208 - ldr r2, _0801F3E4 @ =gUnknown_2023ECC + ldr r2, _0801F3E4 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -3552,14 +3552,14 @@ _0801F374: ands r0, r1 cmp r0, 0 bne _0801F420 - ldr r5, _0801F3EC @ =gUnknown_2023E8C + ldr r5, _0801F3EC @ =gProtectStructs lsls r0, r2, 4 adds r0, r5 ldrb r0, [r0] lsls r0, 30 cmp r0, 0 blt _0801F3B2 - ldr r0, _0801F3E4 @ =gUnknown_2023ECC + ldr r0, _0801F3E4 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -3593,13 +3593,13 @@ _0801F3B2: .align 2, 0 _0801F3DC: .4byte gPotentialItemEffectBattler _0801F3E0: .4byte gBattlerTarget -_0801F3E4: .4byte gUnknown_2023ECC +_0801F3E4: .4byte gSpecialStatuses _0801F3E8: .4byte gBattleMons -_0801F3EC: .4byte gUnknown_2023E8C +_0801F3EC: .4byte gProtectStructs _0801F3F0: .4byte gBattleMoveDamage _0801F3F4: .4byte gMoveResultFlags _0801F3F8: - ldr r0, _0801F430 @ =gUnknown_2023ECC + ldr r0, _0801F430 @ =gSpecialStatuses lsls r1, r3, 2 adds r1, r3 lsls r1, 2 @@ -3620,7 +3620,7 @@ _0801F3F8: ldrh r0, [r0, 0x2E] strh r0, [r1] _0801F420: - ldr r1, _0801F43C @ =gUnknown_2023D74 + ldr r1, _0801F43C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -3628,10 +3628,10 @@ _0801F420: pop {r0} bx r0 .align 2, 0 -_0801F430: .4byte gUnknown_2023ECC +_0801F430: .4byte gSpecialStatuses _0801F434: .4byte gMoveResultFlags _0801F438: .4byte gLastUsedItem -_0801F43C: .4byte gUnknown_2023D74 +_0801F43C: .4byte gBattlescriptCurrInstr thumb_func_end atk08_adjustnormaldamage2 thumb_func_start atk09_attackanimation @@ -3646,7 +3646,7 @@ atk09_attackanimation: @ 801F440 beq _0801F452 b _0801F572 _0801F452: - ldr r0, _0801F48C @ =gUnknown_2023DD0 + ldr r0, _0801F48C @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -3658,7 +3658,7 @@ _0801F452: beq _0801F4A0 cmp r0, 0xA4 beq _0801F4A0 - ldr r4, _0801F494 @ =gUnknown_2023D74 + ldr r4, _0801F494 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -3674,9 +3674,9 @@ _0801F452: b _0801F572 .align 2, 0 _0801F488: .4byte gBattleControllerExecFlags -_0801F48C: .4byte gUnknown_2023DD0 +_0801F48C: .4byte gHitMarker _0801F490: .4byte gCurrentMove -_0801F494: .4byte gUnknown_2023D74 +_0801F494: .4byte gBattlescriptCurrInstr _0801F498: .4byte gUnknown_81D89F1 _0801F49C: .4byte gBattleScripting _0801F4A0: @@ -3751,9 +3751,9 @@ _0801F4CE: strb r0, [r6, 0x19] mov r1, r8 ldrb r0, [r1] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0801F530: - ldr r1, _0801F560 @ =gUnknown_2023D74 + ldr r1, _0801F560 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -3768,9 +3768,9 @@ _0801F550: .4byte gBattleMovePower _0801F554: .4byte gBattleMoveDamage _0801F558: .4byte gBattleMons _0801F55C: .4byte gDisableStructs -_0801F560: .4byte gUnknown_2023D74 +_0801F560: .4byte gBattlescriptCurrInstr _0801F564: - ldr r4, _0801F580 @ =gUnknown_2023D74 + ldr r4, _0801F580 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -3784,7 +3784,7 @@ _0801F572: pop {r0} bx r0 .align 2, 0 -_0801F580: .4byte gUnknown_2023D74 +_0801F580: .4byte gBattlescriptCurrInstr _0801F584: .4byte gUnknown_81D89F1 thumb_func_end atk09_attackanimation @@ -3795,7 +3795,7 @@ sub_801F588: @ 801F588 ldr r0, [r0] cmp r0, 0 bne _0801F59A - ldr r1, _0801F5A4 @ =gUnknown_2023D74 + ldr r1, _0801F5A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -3804,7 +3804,7 @@ _0801F59A: bx r0 .align 2, 0 _0801F5A0: .4byte gBattleControllerExecFlags -_0801F5A4: .4byte gUnknown_2023D74 +_0801F5A4: .4byte gBattlescriptCurrInstr thumb_func_end sub_801F588 thumb_func_start atk0B_healthbarupdate @@ -3820,10 +3820,10 @@ atk0B_healthbarupdate: @ 801F5A8 ands r0, r1 cmp r0, 0 bne _0801F662 - ldr r0, _0801F614 @ =gUnknown_2023D74 + ldr r0, _0801F614 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r2, _0801F618 @ =gActiveBattler strb r0, [r2] ldr r1, _0801F61C @ =gBattleMons @@ -3846,7 +3846,7 @@ atk0B_healthbarupdate: @ 801F5A8 ldrb r0, [r1, 0xA] cmp r0, 0 beq _0801F628 - ldr r0, _0801F624 @ =gUnknown_2023DD0 + ldr r0, _0801F624 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 1 @@ -3860,11 +3860,11 @@ atk0B_healthbarupdate: @ 801F5A8 .align 2, 0 _0801F60C: .4byte gBattleControllerExecFlags _0801F610: .4byte gMoveResultFlags -_0801F614: .4byte gUnknown_2023D74 +_0801F614: .4byte gBattlescriptCurrInstr _0801F618: .4byte gActiveBattler _0801F61C: .4byte gBattleMons _0801F620: .4byte gDisableStructs -_0801F624: .4byte gUnknown_2023DD0 +_0801F624: .4byte gHitMarker _0801F628: ldr r0, _0801F670 @ =gBattleMoveDamage ldr r0, [r0] @@ -3878,7 +3878,7 @@ _0801F636: bl BtlController_EmitHealthBarUpdate ldr r4, _0801F678 @ =gActiveBattler ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -3894,7 +3894,7 @@ _0801F636: orrs r1, r2 strb r1, [r0, 0x5] _0801F662: - ldr r1, _0801F680 @ =gUnknown_2023D74 + ldr r1, _0801F680 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -3907,7 +3907,7 @@ _0801F670: .4byte gBattleMoveDamage _0801F674: .4byte 0x00002710 _0801F678: .4byte gActiveBattler _0801F67C: .4byte gBattleResults -_0801F680: .4byte gUnknown_2023D74 +_0801F680: .4byte gBattlescriptCurrInstr thumb_func_end atk0B_healthbarupdate thumb_func_start atk0C_datahpupdate @@ -3953,10 +3953,10 @@ _0801F6C4: beq _0801F6D2 b _0801FA34 _0801F6D2: - ldr r0, _0801F75C @ =gUnknown_2023D74 + ldr r0, _0801F75C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r7, _0801F760 @ =gActiveBattler strb r0, [r7] ldr r1, _0801F764 @ =gBattleMons @@ -3980,7 +3980,7 @@ _0801F6D2: mov r12, r0 cmp r1, 0 beq _0801F7E8 - ldr r0, _0801F76C @ =gUnknown_2023DD0 + ldr r0, _0801F76C @ =gHitMarker ldr r3, [r0] movs r0, 0x80 lsls r0, 1 @@ -3992,7 +3992,7 @@ _0801F6D2: ldr r4, [r6] cmp r5, r4 blt _0801F77C - ldr r0, _0801F774 @ =gUnknown_2023ECC + ldr r0, _0801F774 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -4020,16 +4020,16 @@ _0801F736: _0801F750: .4byte gBattleMoves _0801F754: .4byte gCurrentMove _0801F758: .4byte gMoveResultFlags -_0801F75C: .4byte gUnknown_2023D74 +_0801F75C: .4byte gBattlescriptCurrInstr _0801F760: .4byte gActiveBattler _0801F764: .4byte gBattleMons _0801F768: .4byte gDisableStructs -_0801F76C: .4byte gUnknown_2023DD0 +_0801F76C: .4byte gHitMarker _0801F770: .4byte gBattleMoveDamage -_0801F774: .4byte gUnknown_2023ECC +_0801F774: .4byte gSpecialStatuses _0801F778: .4byte gUnknown_2023D54 _0801F77C: - ldr r0, _0801F7D4 @ =gUnknown_2023ECC + ldr r0, _0801F7D4 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -4066,7 +4066,7 @@ _0801F7AC: beq _0801F7C0 b _0801FA5A _0801F7C0: - ldr r4, _0801F7E0 @ =gUnknown_2023D74 + ldr r4, _0801F7E0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x2 str r0, [r4] @@ -4075,13 +4075,13 @@ _0801F7C0: str r0, [r4] b _0801FA62 .align 2, 0 -_0801F7D4: .4byte gUnknown_2023ECC +_0801F7D4: .4byte gSpecialStatuses _0801F7D8: .4byte gUnknown_2023D54 _0801F7DC: .4byte gActiveBattler -_0801F7E0: .4byte gUnknown_2023D74 +_0801F7E0: .4byte gBattlescriptCurrInstr _0801F7E4: .4byte gUnknown_81D9526 _0801F7E8: - ldr r0, _0801F828 @ =gUnknown_2023DD0 + ldr r0, _0801F828 @ =gHitMarker ldr r2, [r0] ldr r1, _0801F82C @ =0xfffffeff ands r2, r1 @@ -4115,7 +4115,7 @@ _0801F824: strh r3, [r1, 0x28] b _0801F9FA .align 2, 0 -_0801F828: .4byte gUnknown_2023DD0 +_0801F828: .4byte gHitMarker _0801F82C: .4byte 0xfffffeff _0801F830: .4byte gBattleMoveDamage _0801F834: .4byte gBattleMons @@ -4135,7 +4135,7 @@ _0801F83C: .align 2, 0 _0801F854: .4byte gActiveBattler _0801F858: - ldr r0, _0801F880 @ =gUnknown_2023D58 + ldr r0, _0801F880 @ =gTakenDmg ldr r2, _0801F884 @ =gActiveBattler ldrb r1, [r2] lsls r1, 2 @@ -4143,25 +4143,25 @@ _0801F858: ldr r0, [r1] adds r0, r5 str r0, [r1] - ldr r0, _0801F888 @ =gUnknown_2023D74 + ldr r0, _0801F888 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] adds r5, r2, 0 cmp r0, 0 bne _0801F894 - ldr r1, _0801F88C @ =gUnknown_2023DD8 + ldr r1, _0801F88C @ =gTakenDmgByBattler ldrb r0, [r5] adds r0, r1 ldr r1, _0801F890 @ =gBattlerAttacker b _0801F89C .align 2, 0 -_0801F880: .4byte gUnknown_2023D58 +_0801F880: .4byte gTakenDmg _0801F884: .4byte gActiveBattler -_0801F888: .4byte gUnknown_2023D74 -_0801F88C: .4byte gUnknown_2023DD8 +_0801F888: .4byte gBattlescriptCurrInstr +_0801F88C: .4byte gTakenDmgByBattler _0801F890: .4byte gBattlerAttacker _0801F894: - ldr r1, _0801F8C0 @ =gUnknown_2023DD8 + ldr r1, _0801F8C0 @ =gTakenDmgByBattler ldrb r0, [r5] adds r0, r1 ldr r1, _0801F8C4 @ =gBattlerTarget @@ -4185,7 +4185,7 @@ _0801F8A0: adds r7, r0, 0 b _0801F8E0 .align 2, 0 -_0801F8C0: .4byte gUnknown_2023DD8 +_0801F8C0: .4byte gTakenDmgByBattler _0801F8C4: .4byte gBattlerTarget _0801F8C8: .4byte gBattleMons _0801F8CC: .4byte gUnknown_2023D54 @@ -4199,7 +4199,7 @@ _0801F8D0: strh r1, [r0, 0x28] adds r7, r2, 0 _0801F8E0: - ldr r2, _0801F958 @ =gUnknown_2023ECC + ldr r2, _0801F958 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -4233,7 +4233,7 @@ _0801F908: ldrh r0, [r0] cmp r0, 0xDC beq _0801F98C - ldr r3, _0801F960 @ =gUnknown_2023E8C + ldr r3, _0801F960 @ =gProtectStructs ldrb r0, [r5] lsls r0, 4 adds r1, r3, 0x4 @@ -4248,7 +4248,7 @@ _0801F908: adds r1, 0x8 adds r0, r1 str r2, [r0] - ldr r0, _0801F964 @ =gUnknown_2023D74 + ldr r0, _0801F964 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0 @@ -4260,10 +4260,10 @@ _0801F908: b _0801F974 .align 2, 0 _0801F954: .4byte gUnknown_2023D54 -_0801F958: .4byte gUnknown_2023ECC +_0801F958: .4byte gSpecialStatuses _0801F95C: .4byte gCurrentMove -_0801F960: .4byte gUnknown_2023E8C -_0801F964: .4byte gUnknown_2023D74 +_0801F960: .4byte gProtectStructs +_0801F964: .4byte gBattlescriptCurrInstr _0801F968: .4byte gBattlerAttacker _0801F96C: ldrb r0, [r5] @@ -4294,7 +4294,7 @@ _0801F990: ands r0, r1 cmp r0, 0 bne _0801F9FA - ldr r3, _0801F9D4 @ =gUnknown_2023E8C + ldr r3, _0801F9D4 @ =gProtectStructs ldrb r0, [r5] lsls r0, 4 adds r1, r3, 0 @@ -4310,7 +4310,7 @@ _0801F990: adds r1, 0xC adds r0, r1 str r2, [r0] - ldr r0, _0801F9D8 @ =gUnknown_2023D74 + ldr r0, _0801F9D8 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0 @@ -4321,8 +4321,8 @@ _0801F990: ldr r2, _0801F9DC @ =gBattlerAttacker b _0801F9E8 .align 2, 0 -_0801F9D4: .4byte gUnknown_2023E8C -_0801F9D8: .4byte gUnknown_2023D74 +_0801F9D4: .4byte gProtectStructs +_0801F9D8: .4byte gBattlescriptCurrInstr _0801F9DC: .4byte gBattlerAttacker _0801F9E0: ldrb r0, [r5] @@ -4358,20 +4358,20 @@ _0801F9FA: movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0801FA5A .align 2, 0 _0801FA28: .4byte gBattlerTarget _0801FA2C: .4byte 0xffefffff _0801FA30: .4byte gUnknown_2023C0C _0801FA34: - ldr r0, _0801FA6C @ =gUnknown_2023D74 + ldr r0, _0801FA6C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _0801FA70 @ =gActiveBattler strb r0, [r1] - ldr r2, _0801FA74 @ =gUnknown_2023ECC + ldr r2, _0801FA74 @ =gSpecialStatuses ldrb r1, [r1] lsls r0, r1, 2 adds r0, r1 @@ -4384,7 +4384,7 @@ _0801FA34: ldr r0, _0801FA78 @ =0x0000ffff str r0, [r1] _0801FA5A: - ldr r1, _0801FA6C @ =gUnknown_2023D74 + ldr r1, _0801FA6C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -4394,9 +4394,9 @@ _0801FA62: pop {r0} bx r0 .align 2, 0 -_0801FA6C: .4byte gUnknown_2023D74 +_0801FA6C: .4byte gBattlescriptCurrInstr _0801FA70: .4byte gActiveBattler -_0801FA74: .4byte gUnknown_2023ECC +_0801FA74: .4byte gSpecialStatuses _0801FA78: .4byte 0x0000ffff thumb_func_end atk0C_datahpupdate @@ -4421,11 +4421,11 @@ atk0D_critmessage: @ 801FA7C ldrb r1, [r0] movs r0, 0xD9 bl PrepareStringBattle - ldr r1, _0801FAC8 @ =gUnknown_2023E82 + ldr r1, _0801FAC8 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x7] _0801FAAA: - ldr r1, _0801FACC @ =gUnknown_2023D74 + ldr r1, _0801FACC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -4437,8 +4437,8 @@ _0801FAB8: .4byte gBattleControllerExecFlags _0801FABC: .4byte gCritMultiplier _0801FAC0: .4byte gMoveResultFlags _0801FAC4: .4byte gBattlerAttacker -_0801FAC8: .4byte gUnknown_2023E82 -_0801FACC: .4byte gUnknown_2023D74 +_0801FAC8: .4byte gBattleCommunication +_0801FACC: .4byte gBattlescriptCurrInstr thumb_func_end atk0D_critmessage thumb_func_start atk0E_effectivenesssound @@ -4498,7 +4498,7 @@ _0801FB32: _0801FB36: bl BtlController_EmitPlaySE ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0801FB88 _0801FB42: ldrb r1, [r1] @@ -4520,7 +4520,7 @@ _0801FB5E: bl BtlController_EmitPlaySE ldr r0, _0801FB6C @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0801FB88 .align 2, 0 _0801FB6C: .4byte gActiveBattler @@ -4534,9 +4534,9 @@ _0801FB70: bl BtlController_EmitPlaySE ldr r0, _0801FB98 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0801FB88: - ldr r1, _0801FB9C @ =gUnknown_2023D74 + ldr r1, _0801FB9C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -4546,7 +4546,7 @@ _0801FB90: bx r0 .align 2, 0 _0801FB98: .4byte gActiveBattler -_0801FB9C: .4byte gUnknown_2023D74 +_0801FB9C: .4byte gBattlescriptCurrInstr thumb_func_end atk0E_effectivenesssound thumb_func_start atk0F_resultmessage @@ -4565,7 +4565,7 @@ _0801FBAE: adds r0, r4, 0 ands r0, r2 adds r6, r1, 0 - ldr r7, _0801FBE4 @ =gUnknown_2023E82 + ldr r7, _0801FBE4 @ =gBattleCommunication cmp r0, 0 beq _0801FBEC movs r0, 0x8 @@ -4586,7 +4586,7 @@ _0801FBCE: .align 2, 0 _0801FBDC: .4byte gBattleControllerExecFlags _0801FBE0: .4byte gMoveResultFlags -_0801FBE4: .4byte gUnknown_2023E82 +_0801FBE4: .4byte gBattleCommunication _0801FBE8: .4byte gUnknown_83FE514 _0801FBEC: movs r0, 0x1 @@ -4652,7 +4652,7 @@ _0801FC38: ands r0, r5 strb r0, [r6] bl BattleScriptPushCursor - ldr r1, _0801FC70 @ =gUnknown_2023D74 + ldr r1, _0801FC70 @ =gBattlescriptCurrInstr ldr r0, _0801FC74 @ =gUnknown_81D9641 b _0801FD3E .align 2, 0 @@ -4660,7 +4660,7 @@ _0801FC60: .4byte gLastUsedItem _0801FC64: .4byte gBattleMons _0801FC68: .4byte gBattlerTarget _0801FC6C: .4byte gPotentialItemEffectBattler -_0801FC70: .4byte gUnknown_2023D74 +_0801FC70: .4byte gBattlescriptCurrInstr _0801FC74: .4byte gUnknown_81D9641 _0801FC78: adds r2, r6, 0 @@ -4685,11 +4685,11 @@ _0801FC88: ands r0, r1 strb r0, [r2] bl BattleScriptPushCursor - ldr r1, _0801FCA8 @ =gUnknown_2023D74 + ldr r1, _0801FCA8 @ =gBattlescriptCurrInstr ldr r0, _0801FCAC @ =gUnknown_81D8FE4 b _0801FD3E .align 2, 0 -_0801FCA8: .4byte gUnknown_2023D74 +_0801FCA8: .4byte gBattlescriptCurrInstr _0801FCAC: .4byte gUnknown_81D8FE4 _0801FCB0: movs r0, 0x40 @@ -4700,11 +4700,11 @@ _0801FCB0: ands r0, r5 strb r0, [r2] bl BattleScriptPushCursor - ldr r1, _0801FCC8 @ =gUnknown_2023D74 + ldr r1, _0801FCC8 @ =gBattlescriptCurrInstr ldr r0, _0801FCCC @ =gUnknown_81D8FDD b _0801FD3E .align 2, 0 -_0801FCC8: .4byte gUnknown_2023D74 +_0801FCC8: .4byte gBattlescriptCurrInstr _0801FCCC: .4byte gUnknown_81D8FDD _0801FCD0: movs r0, 0x80 @@ -4727,7 +4727,7 @@ _0801FCD0: ands r0, r5 strb r0, [r6] bl BattleScriptPushCursor - ldr r1, _0801FD10 @ =gUnknown_2023D74 + ldr r1, _0801FD10 @ =gBattlescriptCurrInstr ldr r0, _0801FD14 @ =gUnknown_81D9641 b _0801FD3E .align 2, 0 @@ -4735,7 +4735,7 @@ _0801FD00: .4byte gLastUsedItem _0801FD04: .4byte gBattleMons _0801FD08: .4byte gBattlerTarget _0801FD0C: .4byte gPotentialItemEffectBattler -_0801FD10: .4byte gUnknown_2023D74 +_0801FD10: .4byte gBattlescriptCurrInstr _0801FD14: .4byte gUnknown_81D9641 _0801FD18: movs r0, 0x20 @@ -4758,7 +4758,7 @@ _0801FD2E: ldrb r1, [r1] bl PrepareStringBattle _0801FD38: - ldr r1, _0801FD4C @ =gUnknown_2023D74 + ldr r1, _0801FD4C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 _0801FD3E: @@ -4769,7 +4769,7 @@ _0801FD40: bx r0 .align 2, 0 _0801FD48: .4byte gBattlerAttacker -_0801FD4C: .4byte gUnknown_2023D74 +_0801FD4C: .4byte gBattlescriptCurrInstr thumb_func_end atk0F_resultmessage thumb_func_start atk10_printstring @@ -4779,7 +4779,7 @@ atk10_printstring: @ 801FD50 ldr r0, [r0] cmp r0, 0 bne _0801FD7A - ldr r4, _0801FD84 @ =gUnknown_2023D74 + ldr r4, _0801FD84 @ =gBattlescriptCurrInstr ldr r1, [r4] ldrb r0, [r1, 0x1] ldrb r1, [r1, 0x2] @@ -4791,7 +4791,7 @@ atk10_printstring: @ 801FD50 ldr r0, [r4] adds r0, 0x3 str r0, [r4] - ldr r1, _0801FD8C @ =gUnknown_2023E82 + ldr r1, _0801FD8C @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x7] _0801FD7A: @@ -4800,9 +4800,9 @@ _0801FD7A: bx r0 .align 2, 0 _0801FD80: .4byte gBattleControllerExecFlags -_0801FD84: .4byte gUnknown_2023D74 +_0801FD84: .4byte gBattlescriptCurrInstr _0801FD88: .4byte gBattlerAttacker -_0801FD8C: .4byte gUnknown_2023E82 +_0801FD8C: .4byte gBattleCommunication thumb_func_end atk10_printstring thumb_func_start atk11_printselectionstring @@ -4812,7 +4812,7 @@ atk11_printselectionstring: @ 801FD90 ldr r0, _0801FDC8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] - ldr r4, _0801FDCC @ =gUnknown_2023D74 + ldr r4, _0801FDCC @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x1] ldrb r0, [r0, 0x2] @@ -4821,11 +4821,11 @@ atk11_printselectionstring: @ 801FD90 movs r0, 0 bl BtlController_EmitPrintSelectionString ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x3 str r0, [r4] - ldr r1, _0801FDD0 @ =gUnknown_2023E82 + ldr r1, _0801FDD0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x7] pop {r4,r5} @@ -4834,8 +4834,8 @@ atk11_printselectionstring: @ 801FD90 .align 2, 0 _0801FDC4: .4byte gActiveBattler _0801FDC8: .4byte gBattlerAttacker -_0801FDCC: .4byte gUnknown_2023D74 -_0801FDD0: .4byte gUnknown_2023E82 +_0801FDCC: .4byte gBattlescriptCurrInstr +_0801FDD0: .4byte gBattleCommunication thumb_func_end atk11_printselectionstring thumb_func_start atk12_waitmessage @@ -4845,21 +4845,21 @@ atk12_waitmessage: @ 801FDD4 ldr r4, [r0] cmp r4, 0 bne _0801FE22 - ldr r6, _0801FDF4 @ =gUnknown_2023E82 + ldr r6, _0801FDF4 @ =gBattleCommunication ldrb r0, [r6, 0x7] cmp r0, 0 bne _0801FDFC - ldr r1, _0801FDF8 @ =gUnknown_2023D74 + ldr r1, _0801FDF8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x3 str r0, [r1] b _0801FE22 .align 2, 0 _0801FDF0: .4byte gBattleControllerExecFlags -_0801FDF4: .4byte gUnknown_2023E82 -_0801FDF8: .4byte gUnknown_2023D74 +_0801FDF4: .4byte gBattleCommunication +_0801FDF8: .4byte gBattlescriptCurrInstr _0801FDFC: - ldr r5, _0801FE28 @ =gUnknown_2023D74 + ldr r5, _0801FE28 @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -4883,7 +4883,7 @@ _0801FE22: pop {r0} bx r0 .align 2, 0 -_0801FE28: .4byte gUnknown_2023D74 +_0801FE28: .4byte gBattlescriptCurrInstr _0801FE2C: .4byte gUnknown_2023E7C thumb_func_end atk12_waitmessage @@ -4894,7 +4894,7 @@ atk13_printfromtable: @ 801FE30 ldr r0, [r0] cmp r0, 0 bne _0801FE6E - ldr r4, _0801FE78 @ =gUnknown_2023D74 + ldr r4, _0801FE78 @ =gBattlescriptCurrInstr ldr r2, [r4] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -4906,7 +4906,7 @@ atk13_printfromtable: @ 801FE30 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 - ldr r5, _0801FE7C @ =gUnknown_2023E82 + ldr r5, _0801FE7C @ =gBattleCommunication ldrb r0, [r5, 0x5] lsls r0, 1 adds r1, r0 @@ -4925,8 +4925,8 @@ _0801FE6E: bx r0 .align 2, 0 _0801FE74: .4byte gBattleControllerExecFlags -_0801FE78: .4byte gUnknown_2023D74 -_0801FE7C: .4byte gUnknown_2023E82 +_0801FE78: .4byte gBattlescriptCurrInstr +_0801FE7C: .4byte gBattleCommunication _0801FE80: .4byte gBattlerAttacker thumb_func_end atk13_printfromtable @@ -4937,7 +4937,7 @@ atk14_printselectionstringfromtable: @ 801FE84 ldr r0, [r0] cmp r0, 0 bne _0801FECE - ldr r5, _0801FED8 @ =gUnknown_2023D74 + ldr r5, _0801FED8 @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -4949,7 +4949,7 @@ atk14_printselectionstringfromtable: @ 801FE84 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 - ldr r6, _0801FEDC @ =gUnknown_2023E82 + ldr r6, _0801FEDC @ =gBattleCommunication ldrb r0, [r6, 0x5] lsls r0, 1 adds r1, r0 @@ -4961,7 +4961,7 @@ atk14_printselectionstringfromtable: @ 801FE84 movs r0, 0 bl BtlController_EmitPrintSelectionString ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x5 str r0, [r5] @@ -4973,8 +4973,8 @@ _0801FECE: bx r0 .align 2, 0 _0801FED4: .4byte gBattleControllerExecFlags -_0801FED8: .4byte gUnknown_2023D74 -_0801FEDC: .4byte gUnknown_2023E82 +_0801FED8: .4byte gBattlescriptCurrInstr +_0801FEDC: .4byte gBattleCommunication _0801FEE0: .4byte gActiveBattler _0801FEE4: .4byte gBattlerAttacker thumb_func_end atk14_printselectionstringfromtable @@ -4989,7 +4989,7 @@ BankGetTurnOrder: @ 801FEE8 ldrb r3, [r0] cmp r1, r3 bge _0801FF0E - ldr r4, _0801FF1C @ =gUnknown_2023BDE + ldr r4, _0801FF1C @ =gBattlerByTurnOrder ldrb r0, [r4] cmp r0, r2 beq _0801FF0E @@ -5009,11 +5009,11 @@ _0801FF0E: bx r1 .align 2, 0 _0801FF18: .4byte gBattlersCount -_0801FF1C: .4byte gUnknown_2023BDE +_0801FF1C: .4byte gBattlerByTurnOrder thumb_func_end BankGetTurnOrder - thumb_func_start sub_801FF20 -sub_801FF20: @ 801FF20 + thumb_func_start SetMoveEffect +SetMoveEffect: @ 801FF20 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -5029,7 +5029,7 @@ sub_801FF20: @ 801FF20 movs r7, 0 movs r1, 0x1 str r1, [sp, 0x4] - ldr r1, _0801FF64 @ =gUnknown_2023E82 + ldr r1, _0801FF64 @ =gBattleCommunication ldrb r3, [r1, 0x3] movs r0, 0x40 ands r0, r3 @@ -5048,7 +5048,7 @@ sub_801FF20: @ 801FF20 ldr r0, _0801FF74 @ =gBattlerTarget b _0801FF84 .align 2, 0 -_0801FF64: .4byte gUnknown_2023E82 +_0801FF64: .4byte gBattleCommunication _0801FF68: .4byte gEffectBattler _0801FF6C: .4byte gBattlerAttacker _0801FF70: .4byte gBattleScripting @@ -5094,7 +5094,7 @@ _0801FFB2: mov r9, r2 cmp r0, 0x13 bne _0801FFE6 - ldr r0, _080200AC @ =gUnknown_2023DD0 + ldr r0, _080200AC @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5103,7 +5103,7 @@ _0801FFB2: bne _0801FFE6 cmp r4, 0 bne _0801FFE6 - ldr r0, _080200B0 @ =gUnknown_2023E82 + ldr r0, _080200B0 @ =gBattleCommunication ldrb r0, [r0, 0x3] cmp r0, 0x9 bhi _0801FFE6 @@ -5112,7 +5112,7 @@ _0801FFE6: mov r3, r9 ldrb r0, [r3] bl GetBattlerPosition - ldr r2, _080200B4 @ =gSideAffecting + ldr r2, _080200B4 @ =gSideStatuses movs r1, 0x1 ands r1, r0 lsls r1, 1 @@ -5122,7 +5122,7 @@ _0801FFE6: ands r0, r1 cmp r0, 0 beq _08020020 - ldr r0, _080200AC @ =gUnknown_2023DD0 + ldr r0, _080200AC @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5131,7 +5131,7 @@ _0801FFE6: bne _08020020 cmp r4, 0 bne _08020020 - ldr r0, _080200B0 @ =gUnknown_2023E82 + ldr r0, _080200B0 @ =gBattleCommunication ldrb r0, [r0, 0x3] cmp r0, 0x7 bhi _08020020 @@ -5148,7 +5148,7 @@ _08020020: mov r8, r3 cmp r0, 0 bne _08020046 - ldr r0, _080200B0 @ =gUnknown_2023E82 + ldr r0, _080200B0 @ =gBattleCommunication ldrb r0, [r0, 0x3] cmp r0, 0xB beq _08020046 @@ -5173,7 +5173,7 @@ _08020046: beq _08020068 bl _080210EC _08020068: - ldr r0, _080200B0 @ =gUnknown_2023E82 + ldr r0, _080200B0 @ =gBattleCommunication ldrb r1, [r0, 0x3] adds r6, r0, 0 cmp r1, 0x6 @@ -5205,9 +5205,9 @@ _0802009C: .4byte gBattleScripting _080200A0: .4byte gBattlerAttacker _080200A4: .4byte gBattleTypeFlags _080200A8: .4byte gBattleMons -_080200AC: .4byte gUnknown_2023DD0 -_080200B0: .4byte gUnknown_2023E82 -_080200B4: .4byte gSideAffecting +_080200AC: .4byte gHitMarker +_080200B0: .4byte gBattleCommunication +_080200B4: .4byte gSideStatuses _080200B8: .4byte gUnknown_825053C _080200BC: cmp r0, 0x40 @@ -5343,14 +5343,14 @@ _080201A6: ldrb r0, [r3] movs r1, 0x11 bl sub_80C71D0 - ldr r4, _080201D8 @ =gUnknown_2023D74 + ldr r4, _080201D8 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _080201DC @ =gUnknown_81D9438 _080201C0: str r0, [r4] - ldr r2, _080201E0 @ =gUnknown_2023DD0 + ldr r2, _080201E0 @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 6 @@ -5362,9 +5362,9 @@ _080201D2: b _080204A8 .align 2, 0 _080201D4: .4byte gLastUsedAbility -_080201D8: .4byte gUnknown_2023D74 +_080201D8: .4byte gBattlescriptCurrInstr _080201DC: .4byte gUnknown_81D9438 -_080201E0: .4byte gUnknown_2023DD0 +_080201E0: .4byte gHitMarker _080201E4: mov r1, r9 ldrb r0, [r1] @@ -5385,7 +5385,7 @@ _080201E4: cmp r0, 0x8 bne _08020222 _08020208: - ldr r0, _0802026C @ =gUnknown_2023DD0 + ldr r0, _0802026C @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5444,7 +5444,7 @@ _0802025E: _0802026A: b _08020560 .align 2, 0 -_0802026C: .4byte gUnknown_2023DD0 +_0802026C: .4byte gHitMarker _08020270: mov r2, r9 ldrb r1, [r2] @@ -5466,7 +5466,7 @@ _0802028A: ldrb r0, [r3] movs r1, 0x29 bl sub_80C71D0 - ldr r4, _080202AC @ =gUnknown_2023D74 + ldr r4, _080202AC @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -5474,7 +5474,7 @@ _0802028A: b _080201C0 .align 2, 0 _080202A8: .4byte gLastUsedAbility -_080202AC: .4byte gUnknown_2023D74 +_080202AC: .4byte gBattlescriptCurrInstr _080202B0: .4byte gUnknown_81D9420 _080202B4: mov r0, r9 @@ -5494,7 +5494,7 @@ _080202B4: cmp r0, 0xA bne _08020304 _080202D4: - ldr r0, _080202F8 @ =gUnknown_2023DD0 + ldr r0, _080202F8 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5506,15 +5506,15 @@ _080202D4: cmp r5, 0x80 bne _08020304 _080202EA: - ldr r4, _080202FC @ =gUnknown_2023D74 + ldr r4, _080202FC @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020300 @ =gUnknown_81D9420 b _080204F4 .align 2, 0 -_080202F8: .4byte gUnknown_2023DD0 -_080202FC: .4byte gUnknown_2023D74 +_080202F8: .4byte gHitMarker +_080202FC: .4byte gBattlescriptCurrInstr _08020300: .4byte gUnknown_81D9420 _08020304: mov r3, r9 @@ -5657,7 +5657,7 @@ _08020402: ldrb r0, [r3] movs r1, 0x7 bl sub_80C71D0 - ldr r4, _08020424 @ =gUnknown_2023D74 + ldr r4, _08020424 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -5665,7 +5665,7 @@ _08020402: b _080201C0 .align 2, 0 _08020420: .4byte gLastUsedAbility -_08020424: .4byte gUnknown_2023D74 +_08020424: .4byte gBattlescriptCurrInstr _08020428: .4byte gUnknown_81D942C _0802042C: mov r0, r8 @@ -5700,13 +5700,13 @@ _0802045A: ldrb r0, [r1] movs r1, 0x11 bl sub_80C71D0 - ldr r4, _08020498 @ =gUnknown_2023D74 + ldr r4, _08020498 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _0802049C @ =gUnknown_81D9438 str r0, [r4] - ldr r2, _080204A0 @ =gUnknown_2023DD0 + ldr r2, _080204A0 @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 6 @@ -5722,9 +5722,9 @@ _08020484: bl _0802110A .align 2, 0 _08020494: .4byte gLastUsedAbility -_08020498: .4byte gUnknown_2023D74 +_08020498: .4byte gBattlescriptCurrInstr _0802049C: .4byte gUnknown_81D9438 -_080204A0: .4byte gUnknown_2023DD0 +_080204A0: .4byte gHitMarker _080204A4: .4byte 0xffffdfff _080204A8: strb r0, [r6, 0x5] @@ -5749,7 +5749,7 @@ _080204AE: cmp r0, 0x8 bne _08020510 _080204D2: - ldr r0, _08020500 @ =gUnknown_2023DD0 + ldr r0, _08020500 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5761,22 +5761,22 @@ _080204D2: cmp r5, 0x80 bne _08020510 _080204E8: - ldr r4, _08020504 @ =gUnknown_2023D74 + ldr r4, _08020504 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020508 @ =gUnknown_81D9438 _080204F4: str r0, [r4] - ldr r1, _0802050C @ =gUnknown_2023E82 + ldr r1, _0802050C @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] bl _0802110A .align 2, 0 -_08020500: .4byte gUnknown_2023DD0 -_08020504: .4byte gUnknown_2023D74 +_08020500: .4byte gHitMarker +_08020504: .4byte gBattlescriptCurrInstr _08020508: .4byte gUnknown_81D9438 -_0802050C: .4byte gUnknown_2023E82 +_0802050C: .4byte gBattleCommunication _08020510: mov r3, r9 ldrb r0, [r3] @@ -5834,12 +5834,12 @@ _08020570: beq _08020578 b _08020694 _08020578: - ldr r0, _080205B8 @ =gUnknown_2023D74 + ldr r0, _080205B8 @ =gBattlescriptCurrInstr ldr r0, [r0] adds r0, 0x1 bl BattleScriptPush ldr r1, _080205BC @ =gUnknown_825053C - ldr r0, _080205C0 @ =gUnknown_2023E82 + ldr r0, _080205C0 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -5863,9 +5863,9 @@ _08020578: b _080205E0 .align 2, 0 _080205B4: .4byte gMoveResultFlags -_080205B8: .4byte gUnknown_2023D74 +_080205B8: .4byte gBattlescriptCurrInstr _080205BC: .4byte gUnknown_825053C -_080205C0: .4byte gUnknown_2023E82 +_080205C0: .4byte gBattleCommunication _080205C4: .4byte gBattleMons _080205C8: .4byte gEffectBattler _080205CC: @@ -5880,9 +5880,9 @@ _080205CC: orrs r0, r3 str r0, [r1] _080205E0: - ldr r2, _08020638 @ =gUnknown_2023D74 + ldr r2, _08020638 @ =gBattlescriptCurrInstr ldr r1, _0802063C @ =gUnknown_825062C - ldr r5, _08020640 @ =gUnknown_2023E82 + ldr r5, _08020640 @ =gBattleCommunication ldrb r0, [r5, 0x3] lsls r0, 2 adds r0, r1 @@ -5904,8 +5904,8 @@ _080205E0: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r2, _0802064C @ =gUnknown_2023DD0 + bl MarkBattlerForControllerExec + ldr r2, _0802064C @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 6 @@ -5921,17 +5921,17 @@ _080205E0: .align 2, 0 _08020630: .4byte gBattleMons _08020634: .4byte gEffectBattler -_08020638: .4byte gUnknown_2023D74 +_08020638: .4byte gBattlescriptCurrInstr _0802063C: .4byte gUnknown_825062C -_08020640: .4byte gUnknown_2023E82 +_08020640: .4byte gBattleCommunication _08020644: .4byte gActiveBattler _08020648: .4byte gUnknown_2023C30 -_0802064C: .4byte gUnknown_2023DD0 +_0802064C: .4byte gHitMarker _08020650: .4byte 0xffffdfff _08020654: strb r0, [r5, 0x5] _08020656: - ldr r0, _08020688 @ =gUnknown_2023E82 + ldr r0, _08020688 @ =gBattleCommunication ldrb r2, [r0, 0x3] adds r6, r0, 0 cmp r2, 0x2 @@ -5949,15 +5949,15 @@ _08020670: adds r0, 0xB4 ldrb r1, [r6, 0x3] strb r1, [r0] - ldr r2, _08020690 @ =gUnknown_2023DD0 + ldr r2, _08020690 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 7 bl _08021008 .align 2, 0 -_08020688: .4byte gUnknown_2023E82 +_08020688: .4byte gBattleCommunication _0802068C: .4byte gBattleStruct -_08020690: .4byte gUnknown_2023DD0 +_08020690: .4byte gHitMarker _08020694: mov r2, r10 cmp r2, 0 @@ -6091,21 +6091,21 @@ _080207E6: ldr r0, [r2] orrs r0, r1 str r0, [r2] - ldr r4, _08020820 @ =gUnknown_2023D74 + ldr r4, _08020820 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020824 @ =gUnknown_825062C - ldr r0, _08020828 @ =gUnknown_2023E82 + ldr r0, _08020828 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 ldr r0, [r0] bl _08021108 .align 2, 0 -_08020820: .4byte gUnknown_2023D74 +_08020820: .4byte gBattlescriptCurrInstr _08020824: .4byte gUnknown_825062C -_08020828: .4byte gUnknown_2023E82 +_08020828: .4byte gBattleCommunication _0802082C: mov r0, r9 ldrb r2, [r0] @@ -6129,13 +6129,13 @@ _0802084C: ldrb r0, [r1] movs r1, 0x27 bl sub_80C71D0 - ldr r1, _08020868 @ =gUnknown_2023D74 + ldr r1, _08020868 @ =gBattlescriptCurrInstr ldr r0, _0802086C @ =gUnknown_81D9452 str r0, [r1] bl _0802110A .align 2, 0 _08020864: .4byte gLastUsedAbility -_08020868: .4byte gUnknown_2023D74 +_08020868: .4byte gBattlescriptCurrInstr _0802086C: .4byte gUnknown_81D9452 _08020870: adds r0, r2, 0 @@ -6156,7 +6156,7 @@ _08020886: adds r0, 0x50 adds r2, r0 ldr r1, _080208B0 @ =gUnknown_825053C - ldr r0, _080208B4 @ =gUnknown_2023E82 + ldr r0, _080208B4 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -6168,7 +6168,7 @@ _08020886: .align 2, 0 _080208AC: .4byte gUnknown_2023BE2 _080208B0: .4byte gUnknown_825053C -_080208B4: .4byte gUnknown_2023E82 +_080208B4: .4byte gBattleCommunication _080208B8: mov r3, r9 ldrb r0, [r3] @@ -6208,12 +6208,12 @@ _080208D4: ldr r0, [r2] orrs r0, r1 str r0, [r2] - ldr r4, _08020928 @ =gUnknown_2023D74 + ldr r4, _08020928 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _0802092C @ =gUnknown_825062C - ldr r0, _08020930 @ =gUnknown_2023E82 + ldr r0, _08020930 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -6222,9 +6222,9 @@ _080208D4: .align 2, 0 _08020920: .4byte gUnknown_2023DB8 _08020924: .4byte gCurrentMove -_08020928: .4byte gUnknown_2023D74 +_08020928: .4byte gBattlescriptCurrInstr _0802092C: .4byte gUnknown_825062C -_08020930: .4byte gUnknown_2023E82 +_08020930: .4byte gBattleCommunication _08020934: ldr r5, _08020984 @ =gBattlerAttacker ldrb r0, [r5] @@ -6254,12 +6254,12 @@ _08020934: adds r0, r3, 0 strh r0, [r4] _0802096C: - ldr r4, _08020994 @ =gUnknown_2023D74 + ldr r4, _08020994 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020998 @ =gUnknown_825062C - ldr r0, _0802099C @ =gUnknown_2023E82 + ldr r0, _0802099C @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -6270,9 +6270,9 @@ _08020984: .4byte gBattlerAttacker _08020988: .4byte gUnknown_2023E7E _0802098C: .4byte gBattleMons _08020990: .4byte 0x0000ffff -_08020994: .4byte gUnknown_2023D74 +_08020994: .4byte gBattlescriptCurrInstr _08020998: .4byte gUnknown_825062C -_0802099C: .4byte gUnknown_2023E82 +_0802099C: .4byte gBattleCommunication _080209A0: mov r4, r9 ldrb r1, [r4] @@ -6287,7 +6287,7 @@ _080209A0: b _080210EC _080209B6: bl Random - ldr r4, _080209D4 @ =gUnknown_2023E82 + ldr r4, _080209D4 @ =gBattleCommunication lsls r0, 16 lsrs r0, 16 movs r1, 0x3 @@ -6296,10 +6296,10 @@ _080209B6: strb r0, [r4, 0x3] movs r0, 0 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect b _0802110A .align 2, 0 -_080209D4: .4byte gUnknown_2023E82 +_080209D4: .4byte gBattleCommunication _080209D8: mov r0, r9 ldrb r1, [r0] @@ -6322,7 +6322,7 @@ _080209D8: ldr r1, _08020A18 @ =gCurrentMove ldrh r1, [r1] strh r1, [r0] - ldr r0, _08020A1C @ =gUnknown_2023E8C + ldr r0, _08020A1C @ =gProtectStructs ldrb r1, [r2] lsls r1, 4 adds r1, r0 @@ -6334,7 +6334,7 @@ _080209D8: .align 2, 0 _08020A14: .4byte gUnknown_2023DB8 _08020A18: .4byte gCurrentMove -_08020A1C: .4byte gUnknown_2023E8C +_08020A1C: .4byte gProtectStructs _08020A20: mov r3, r9 ldrb r0, [r3] @@ -6386,12 +6386,12 @@ _08020A3C: ldr r0, _08020AD8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r1, 0x14] - ldr r4, _08020ADC @ =gUnknown_2023D74 + ldr r4, _08020ADC @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020AE0 @ =gUnknown_825062C - ldr r2, _08020AE4 @ =gUnknown_2023E82 + ldr r2, _08020AE4 @ =gBattleCommunication ldrb r0, [r2, 0x3] lsls r0, 2 adds r0, r1 @@ -6429,9 +6429,9 @@ _08020ABE: _08020AD0: .4byte gBattleStruct _08020AD4: .4byte gCurrentMove _08020AD8: .4byte gBattlerAttacker -_08020ADC: .4byte gUnknown_2023D74 +_08020ADC: .4byte gBattlescriptCurrInstr _08020AE0: .4byte gUnknown_825062C -_08020AE4: .4byte gUnknown_2023E82 +_08020AE4: .4byte gBattleCommunication _08020AE8: .4byte gUnknown_83FE664 _08020AEC: ldr r1, _08020B1C @ =gBattleMoveDamage @@ -6448,12 +6448,12 @@ _08020AF8: movs r0, 0x1 str r0, [r1] _08020B04: - ldr r4, _08020B24 @ =gUnknown_2023D74 + ldr r4, _08020B24 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020B28 @ =gUnknown_825062C - ldr r0, _08020B2C @ =gUnknown_2023E82 + ldr r0, _08020B2C @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -6462,9 +6462,9 @@ _08020B04: .align 2, 0 _08020B1C: .4byte gBattleMoveDamage _08020B20: .4byte gUnknown_2023D54 -_08020B24: .4byte gUnknown_2023D74 +_08020B24: .4byte gBattlescriptCurrInstr _08020B28: .4byte gUnknown_825062C -_08020B2C: .4byte gUnknown_2023E82 +_08020B2C: .4byte gBattleCommunication _08020B30: ldrb r1, [r6, 0x3] adds r1, 0xF2 @@ -6486,7 +6486,7 @@ _08020B4C: ands r0, r1 strb r0, [r2, 0x10] strb r3, [r2, 0x11] - ldr r4, _08020B6C @ =gUnknown_2023D74 + ldr r4, _08020B6C @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6494,7 +6494,7 @@ _08020B4C: b _08021108 .align 2, 0 _08020B68: .4byte gBattleScripting -_08020B6C: .4byte gUnknown_2023D74 +_08020B6C: .4byte gBattlescriptCurrInstr _08020B70: .4byte gUnknown_81D6BD1 _08020B74: movs r0, 0x70 @@ -6518,7 +6518,7 @@ _08020B92: ands r0, r1 strb r0, [r2, 0x10] strb r3, [r2, 0x11] - ldr r4, _08020BB0 @ =gUnknown_2023D74 + ldr r4, _08020BB0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6526,7 +6526,7 @@ _08020B92: b _08021108 .align 2, 0 _08020BAC: .4byte gBattleScripting -_08020BB0: .4byte gUnknown_2023D74 +_08020BB0: .4byte gBattlescriptCurrInstr _08020BB4: .4byte gUnknown_81D6C62 _08020BB8: ldrb r1, [r6, 0x3] @@ -6549,7 +6549,7 @@ _08020BD4: ands r0, r1 strb r0, [r2, 0x10] strb r3, [r2, 0x11] - ldr r4, _08020BF4 @ =gUnknown_2023D74 + ldr r4, _08020BF4 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6557,7 +6557,7 @@ _08020BD4: b _08021108 .align 2, 0 _08020BF0: .4byte gBattleScripting -_08020BF4: .4byte gUnknown_2023D74 +_08020BF4: .4byte gBattlescriptCurrInstr _08020BF8: .4byte gUnknown_81D6BD1 _08020BFC: movs r0, 0x60 @@ -6581,7 +6581,7 @@ _08020C1A: ands r0, r1 strb r0, [r2, 0x10] strb r3, [r2, 0x11] - ldr r4, _08020C38 @ =gUnknown_2023D74 + ldr r4, _08020C38 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6589,7 +6589,7 @@ _08020C1A: b _08021108 .align 2, 0 _08020C34: .4byte gBattleScripting -_08020C38: .4byte gUnknown_2023D74 +_08020C38: .4byte gBattlescriptCurrInstr _08020C3C: .4byte gUnknown_81D6C62 _08020C40: mov r0, r9 @@ -6690,7 +6690,7 @@ _08020CEA: lsls r0, 3 cmp r1, r0 beq _08020D26 - ldr r0, _08020D74 @ =gUnknown_2023F20 + ldr r0, _08020D74 @ =gWishFutureKnock adds r0, 0x29 adds r0, r6, r0 ldrb r1, [r0] @@ -6725,7 +6725,7 @@ _08020D26: ldrb r0, [r0] cmp r0, 0x3C bne _08020D94 - ldr r1, _08020D88 @ =gUnknown_2023D74 + ldr r1, _08020D88 @ =gBattlescriptCurrInstr ldr r0, _08020D8C @ =gUnknown_81D948E str r0, [r1] ldr r1, _08020D90 @ =gLastUsedAbility @@ -6744,12 +6744,12 @@ _08020D64: .4byte gBattleTypeFlags _08020D68: .4byte gBattlerAttacker _08020D6C: .4byte 0x00000902 _08020D70: .4byte gTrainerBattleOpponent_A -_08020D74: .4byte gUnknown_2023F20 +_08020D74: .4byte gWishFutureKnock _08020D78: .4byte gBitTable _08020D7C: .4byte gBattlerPartyIndexes _08020D80: .4byte gBattleMons _08020D84: .4byte gBattlerTarget -_08020D88: .4byte gUnknown_2023D74 +_08020D88: .4byte gBattlescriptCurrInstr _08020D8C: .4byte gUnknown_81D948E _08020D90: .4byte gLastUsedAbility _08020D94: @@ -6816,7 +6816,7 @@ _08020DD4: bl BtlController_EmitSetMonData mov r2, r10 ldrb r0, [r2] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r7] strb r0, [r4] ldrb r0, [r7] @@ -6833,8 +6833,8 @@ _08020DD4: movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r4, _08020E70 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r4, _08020E70 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6858,7 +6858,7 @@ _08020E60: .4byte gBattlerAttacker _08020E64: .4byte gBattleStruct _08020E68: .4byte gLastUsedItem _08020E6C: .4byte gActiveBattler -_08020E70: .4byte gUnknown_2023D74 +_08020E70: .4byte gBattlescriptCurrInstr _08020E74: .4byte gUnknown_81D9271 _08020E78: ldr r3, _08020EA8 @ =gBattlerTarget @@ -6904,24 +6904,24 @@ _08020EB4: .align 2, 0 _08020ECC: .4byte gBattlerTarget _08020ED0: - ldr r4, _08020EE0 @ =gUnknown_2023D74 + ldr r4, _08020EE0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020EE4 @ =gUnknown_81D8D55 b _08021108 .align 2, 0 -_08020EE0: .4byte gUnknown_2023D74 +_08020EE0: .4byte gBattlescriptCurrInstr _08020EE4: .4byte gUnknown_81D8D55 _08020EE8: - ldr r4, _08020EF8 @ =gUnknown_2023D74 + ldr r4, _08020EF8 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020EFC @ =gUnknown_81D8DF1 b _08021108 .align 2, 0 -_08020EF8: .4byte gUnknown_2023D74 +_08020EF8: .4byte gBattlescriptCurrInstr _08020EFC: .4byte gUnknown_81D8DF1 _08020F00: ldr r6, _08020F50 @ =gBattlerTarget @@ -6955,8 +6955,8 @@ _08020F1A: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r4, _08020F58 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r4, _08020F58 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6965,17 +6965,17 @@ _08020F1A: .align 2, 0 _08020F50: .4byte gBattlerTarget _08020F54: .4byte gActiveBattler -_08020F58: .4byte gUnknown_2023D74 +_08020F58: .4byte gBattlescriptCurrInstr _08020F5C: .4byte gUnknown_81D9177 _08020F60: - ldr r4, _08020F70 @ =gUnknown_2023D74 + ldr r4, _08020F70 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020F74 @ =gUnknown_81D8F35 b _08021108 .align 2, 0 -_08020F70: .4byte gUnknown_2023D74 +_08020F70: .4byte gBattlescriptCurrInstr _08020F74: .4byte gUnknown_81D8F35 _08020F78: ldr r4, _08020FA8 @ =gBattleMoveDamage @@ -6989,12 +6989,12 @@ _08020F78: movs r0, 0x1 str r0, [r4] _08020F8E: - ldr r4, _08020FB0 @ =gUnknown_2023D74 + ldr r4, _08020FB0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020FB4 @ =gUnknown_825062C - ldr r0, _08020FB8 @ =gUnknown_2023E82 + ldr r0, _08020FB8 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -7003,9 +7003,9 @@ _08020F8E: .align 2, 0 _08020FA8: .4byte gBattleMoveDamage _08020FAC: .4byte gUnknown_2023D54 -_08020FB0: .4byte gUnknown_2023D74 +_08020FB0: .4byte gBattlescriptCurrInstr _08020FB4: .4byte gUnknown_825062C -_08020FB8: .4byte gUnknown_2023E82 +_08020FB8: .4byte gBattleCommunication _08020FBC: mov r4, r9 ldrb r0, [r4] @@ -7070,7 +7070,7 @@ _08021018: beq _080210EC ldr r0, _0802104C @ =gLastUsedAbility strb r2, [r0] - ldr r1, _08021050 @ =gUnknown_2023D74 + ldr r1, _08021050 @ =gBattlescriptCurrInstr ldr r0, _08021054 @ =gUnknown_81D948E str r0, [r1] ldrb r0, [r5] @@ -7079,7 +7079,7 @@ _08021018: b _0802110A .align 2, 0 _0802104C: .4byte gLastUsedAbility -_08021050: .4byte gUnknown_2023D74 +_08021050: .4byte gBattlescriptCurrInstr _08021054: .4byte gUnknown_81D948E _08021058: ldrh r0, [r1, 0x2E] @@ -7102,7 +7102,7 @@ _08021058: movs r5, 0 movs r1, 0 strh r1, [r0, 0x2E] - ldr r2, _080210D4 @ =gUnknown_2023F20 + ldr r2, _080210D4 @ =gWishFutureKnock adds r2, 0x29 adds r2, r6, r2 ldr r3, _080210D8 @ =gBitTable @@ -7118,7 +7118,7 @@ _08021058: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r4, _080210E0 @ =gUnknown_2023D74 + ldr r4, _080210E0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -7142,22 +7142,22 @@ _08021058: b _0802110A .align 2, 0 _080210D0: .4byte gLastUsedItem -_080210D4: .4byte gUnknown_2023F20 +_080210D4: .4byte gWishFutureKnock _080210D8: .4byte gBitTable _080210DC: .4byte gBattlerPartyIndexes -_080210E0: .4byte gUnknown_2023D74 +_080210E0: .4byte gBattlescriptCurrInstr _080210E4: .4byte gUnknown_81D8F86 _080210E8: .4byte gBattleStruct _080210EC: - ldr r1, _080210F8 @ =gUnknown_2023D74 + ldr r1, _080210F8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] b _0802110A .align 2, 0 -_080210F8: .4byte gUnknown_2023D74 +_080210F8: .4byte gBattlescriptCurrInstr _080210FC: - ldr r4, _0802111C @ =gUnknown_2023D74 + ldr r4, _0802111C @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -7174,9 +7174,9 @@ _0802110A: pop {r0} bx r0 .align 2, 0 -_0802111C: .4byte gUnknown_2023D74 +_0802111C: .4byte gBattlescriptCurrInstr _08021120: .4byte gUnknown_81D8FEB - thumb_func_end sub_801FF20 + thumb_func_end SetMoveEffect thumb_func_start atk15_seteffectwithchance atk15_seteffectwithchance: @ 8021124 @@ -7216,7 +7216,7 @@ _08021160: adds r0, r2 ldrb r4, [r0, 0x5] _08021170: - ldr r3, _08021198 @ =gUnknown_2023E82 + ldr r3, _08021198 @ =gBattleCommunication ldrb r2, [r3, 0x3] movs r0, 0x80 ands r0, r2 @@ -7235,7 +7235,7 @@ _08021170: .align 2, 0 _08021190: .4byte gBattleMoves _08021194: .4byte gCurrentMove -_08021198: .4byte gUnknown_2023E82 +_08021198: .4byte gBattleCommunication _0802119C: .4byte gMoveResultFlags _080211A0: bl Random @@ -7247,7 +7247,7 @@ _080211A0: lsrs r0, 16 cmp r0, r4 bhi _080211EA - ldr r0, _080211D8 @ =gUnknown_2023E82 + ldr r0, _080211D8 @ =gBattleCommunication ldrb r0, [r0, 0x3] cmp r0, 0 beq _080211EA @@ -7262,23 +7262,23 @@ _080211A0: _080211CE: movs r0, 0 movs r1, 0x80 - bl sub_801FF20 + bl SetMoveEffect b _080211F2 .align 2, 0 -_080211D8: .4byte gUnknown_2023E82 +_080211D8: .4byte gBattleCommunication _080211DC: .4byte gMoveResultFlags _080211E0: movs r0, 0 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect b _080211F2 _080211EA: - ldr r1, _08021204 @ =gUnknown_2023D74 + ldr r1, _08021204 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] _080211F2: - ldr r0, _08021208 @ =gUnknown_2023E82 + ldr r0, _08021208 @ =gBattleCommunication movs r1, 0 strb r1, [r0, 0x3] ldr r0, _0802120C @ =gBattleScripting @@ -7287,8 +7287,8 @@ _080211F2: pop {r0} bx r0 .align 2, 0 -_08021204: .4byte gUnknown_2023D74 -_08021208: .4byte gUnknown_2023E82 +_08021204: .4byte gBattlescriptCurrInstr +_08021208: .4byte gBattleCommunication _0802120C: .4byte gBattleScripting thumb_func_end atk15_seteffectwithchance @@ -7297,7 +7297,7 @@ atk16_seteffectprimary: @ 8021210 push {lr} movs r0, 0x1 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect pop {r0} bx r0 thumb_func_end atk16_seteffectprimary @@ -7307,7 +7307,7 @@ atk17_seteffectsecondary: @ 8021220 push {lr} movs r0, 0 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect pop {r0} bx r0 thumb_func_end atk17_seteffectsecondary @@ -7315,13 +7315,13 @@ atk17_seteffectsecondary: @ 8021220 thumb_func_start atk18_clearstatusfromeffect atk18_clearstatusfromeffect: @ 8021230 push {lr} - ldr r0, _08021254 @ =gUnknown_2023D74 + ldr r0, _08021254 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r2, _08021258 @ =gActiveBattler strb r0, [r2] - ldr r3, _0802125C @ =gUnknown_2023E82 + ldr r3, _0802125C @ =gBattleCommunication ldrb r0, [r3, 0x3] cmp r0, 0x6 bhi _08021264 @@ -7332,9 +7332,9 @@ atk18_clearstatusfromeffect: @ 8021230 adds r1, 0x4C b _0802126E .align 2, 0 -_08021254: .4byte gUnknown_2023D74 +_08021254: .4byte gBattlescriptCurrInstr _08021258: .4byte gActiveBattler -_0802125C: .4byte gUnknown_2023E82 +_0802125C: .4byte gBattleCommunication _08021260: .4byte gBattleMons _08021264: ldr r1, _08021298 @ =gBattleMons @@ -7352,10 +7352,10 @@ _0802126E: ldr r0, [r2] bics r0, r1 str r0, [r2] - ldr r0, _080212A0 @ =gUnknown_2023E82 + ldr r0, _080212A0 @ =gBattleCommunication movs r2, 0 strb r2, [r0, 0x3] - ldr r1, _080212A4 @ =gUnknown_2023D74 + ldr r1, _080212A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -7366,8 +7366,8 @@ _0802126E: .align 2, 0 _08021298: .4byte gBattleMons _0802129C: .4byte gUnknown_825053C -_080212A0: .4byte gUnknown_2023E82 -_080212A4: .4byte gUnknown_2023D74 +_080212A0: .4byte gBattleCommunication +_080212A4: .4byte gBattlescriptCurrInstr _080212A8: .4byte gBattleScripting thumb_func_end atk18_clearstatusfromeffect @@ -7378,17 +7378,17 @@ atk19_tryfaintmon: @ 80212AC mov r6, r8 push {r6,r7} sub sp, 0x4 - ldr r0, _08021318 @ =gUnknown_2023D74 + ldr r0, _08021318 @ =gBattlescriptCurrInstr ldr r2, [r0] ldrb r1, [r2, 0x2] adds r6, r0, 0 cmp r1, 0 beq _08021330 ldrb r0, [r2, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _0802131C @ =gActiveBattler strb r0, [r5] - ldr r2, _08021320 @ =gUnknown_2023DD0 + ldr r2, _08021320 @ =gHitMarker ldr r1, _08021324 @ =gBitTable ldrb r0, [r5] lsls r0, 2 @@ -7416,7 +7416,7 @@ _080212E4: str r4, [r6] ldrb r0, [r5] bl GetBattlerSide - ldr r1, _08021328 @ =gSideAffecting + ldr r1, _08021328 @ =gSideStatuses lsls r0, 24 lsrs r0, 23 adds r0, r1 @@ -7426,11 +7426,11 @@ _080212E4: strh r1, [r0] b _08021592 .align 2, 0 -_08021318: .4byte gUnknown_2023D74 +_08021318: .4byte gBattlescriptCurrInstr _0802131C: .4byte gActiveBattler -_08021320: .4byte gUnknown_2023DD0 +_08021320: .4byte gHitMarker _08021324: .4byte gBitTable -_08021328: .4byte gSideAffecting +_08021328: .4byte gSideStatuses _0802132C: .4byte 0x0000fdff _08021330: ldrb r0, [r2, 0x1] @@ -7483,7 +7483,7 @@ _08021382: beq _08021392 b _0802158C _08021392: - ldr r5, _080213EC @ =gUnknown_2023DD0 + ldr r5, _080213EC @ =gHitMarker lsls r1, r2, 28 ldr r0, [r5] orrs r0, r1 @@ -7520,7 +7520,7 @@ _080213DC: .4byte gUnknown_81D8684 _080213E0: .4byte gAbsentBattlerFlags _080213E4: .4byte gBitTable _080213E8: .4byte gBattleMons -_080213EC: .4byte gUnknown_2023DD0 +_080213EC: .4byte gHitMarker _080213F0: .4byte gBattleResults _080213F4: ldr r4, _0802154C @ =gBattleResults @@ -7552,7 +7552,7 @@ _08021400: ldrb r0, [r0] strb r0, [r1] _0802142C: - ldr r2, _08021560 @ =gUnknown_2023DD0 + ldr r2, _08021560 @ =gHitMarker ldr r1, [r2] movs r0, 0x40 ands r0, r1 @@ -7571,7 +7571,7 @@ _0802142C: negs r0, r0 ands r1, r0 str r1, [r2] - ldr r4, _08021568 @ =gUnknown_2023D74 + ldr r4, _08021568 @ =gBattlescriptCurrInstr ldr r0, [r4] bl BattleScriptPush ldr r1, _0802156C @ =gBattleMoveDamage @@ -7596,7 +7596,7 @@ _0802146A: bne _08021482 b _08021592 _08021482: - ldr r0, _08021560 @ =gUnknown_2023DD0 + ldr r0, _08021560 @ =gHitMarker ldr r5, [r0] movs r0, 0x80 lsls r0, 17 @@ -7642,7 +7642,7 @@ _08021492: adds r6, 0x24 adds r0, r6 strb r5, [r0] - ldr r5, _08021568 @ =gUnknown_2023D74 + ldr r5, _08021568 @ =gBattlescriptCurrInstr ldr r0, [r5] bl BattleScriptPush ldr r0, _08021580 @ =gUnknown_81D8FA3 @@ -7665,7 +7665,7 @@ _08021492: movs r3, 0x1 bl BtlController_EmitSetMonData ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r1, _08021588 @ =gBattleTextBuff1 movs r0, 0xFD strb r0, [r1] @@ -7698,9 +7698,9 @@ _08021550: .4byte gBattlerPartyIndexes _08021554: .4byte gEnemyParty _08021558: .4byte gBattleStruct _0802155C: .4byte gBattlerAttacker -_08021560: .4byte gUnknown_2023DD0 +_08021560: .4byte gHitMarker _08021564: .4byte gBattleMons -_08021568: .4byte gUnknown_2023D74 +_08021568: .4byte gBattlescriptCurrInstr _0802156C: .4byte gBattleMoveDamage _08021570: .4byte gUnknown_81D8C6C _08021574: .4byte gStatuses3 @@ -7730,16 +7730,16 @@ atk1A_faint_animation: @ 80215A0 ldr r0, [r0] cmp r0, 0 bne _080215CA - ldr r5, _080215D4 @ =gUnknown_2023D74 + ldr r5, _080215D4 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _080215D8 @ =gActiveBattler strb r0, [r4] movs r0, 0 bl BtlController_EmitFaintAnimation ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -7749,7 +7749,7 @@ _080215CA: bx r0 .align 2, 0 _080215D0: .4byte gBattleControllerExecFlags -_080215D4: .4byte gUnknown_2023D74 +_080215D4: .4byte gBattlescriptCurrInstr _080215D8: .4byte gActiveBattler thumb_func_end atk1A_faint_animation @@ -7761,10 +7761,10 @@ atk1B_faint_effects_clear: @ 80215DC ldr r6, [r0] cmp r6, 0 bne _08021628 - ldr r5, _08021634 @ =gUnknown_2023D74 + ldr r5, _08021634 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08021638 @ =gActiveBattler strb r0, [r4] ldr r1, _0802163C @ =gBattleMons @@ -7784,7 +7784,7 @@ atk1B_faint_effects_clear: @ 80215DC movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec bl sub_8012BC8 ldr r0, [r5] adds r0, 0x2 @@ -7796,7 +7796,7 @@ _08021628: bx r0 .align 2, 0 _08021630: .4byte gBattleControllerExecFlags -_08021634: .4byte gUnknown_2023D74 +_08021634: .4byte gBattlescriptCurrInstr _08021638: .4byte gActiveBattler _0802163C: .4byte gBattleMons thumb_func_end atk1B_faint_effects_clear @@ -7804,10 +7804,10 @@ _0802163C: .4byte gBattleMons thumb_func_start atk1C_jumpifstatus atk1C_jumpifstatus: @ 8021640 push {r4,r5,lr} - ldr r5, _0802169C @ =gUnknown_2023D74 + ldr r5, _0802169C @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r2, [r5] @@ -7848,10 +7848,10 @@ atk1C_jumpifstatus: @ 8021640 str r3, [r5] b _080216AC .align 2, 0 -_0802169C: .4byte gUnknown_2023D74 +_0802169C: .4byte gBattlescriptCurrInstr _080216A0: .4byte gBattleMons _080216A4: - ldr r1, _080216B4 @ =gUnknown_2023D74 + ldr r1, _080216B4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0xA str r0, [r1] @@ -7860,16 +7860,16 @@ _080216AC: pop {r0} bx r0 .align 2, 0 -_080216B4: .4byte gUnknown_2023D74 +_080216B4: .4byte gBattlescriptCurrInstr thumb_func_end atk1C_jumpifstatus thumb_func_start atk1D_jumpifstatus2 atk1D_jumpifstatus2: @ 80216B8 push {r4,r5,lr} - ldr r5, _08021714 @ =gUnknown_2023D74 + ldr r5, _08021714 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r2, [r5] @@ -7910,10 +7910,10 @@ atk1D_jumpifstatus2: @ 80216B8 str r3, [r5] b _08021724 .align 2, 0 -_08021714: .4byte gUnknown_2023D74 +_08021714: .4byte gBattlescriptCurrInstr _08021718: .4byte gBattleMons _0802171C: - ldr r1, _0802172C @ =gUnknown_2023D74 + ldr r1, _0802172C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0xA str r0, [r1] @@ -7922,7 +7922,7 @@ _08021724: pop {r0} bx r0 .align 2, 0 -_0802172C: .4byte gUnknown_2023D74 +_0802172C: .4byte gBattlescriptCurrInstr thumb_func_end atk1D_jumpifstatus2 thumb_func_start atk1E_jumpifability @@ -7931,7 +7931,7 @@ atk1E_jumpifability: @ 8021730 mov r7, r8 push {r7} sub sp, 0x4 - ldr r6, _08021784 @ =gUnknown_2023D74 + ldr r6, _08021784 @ =gBattlescriptCurrInstr ldr r2, [r6] ldrb r5, [r2, 0x2] mov r8, r5 @@ -7969,7 +7969,7 @@ atk1E_jumpifability: @ 8021730 ldrb r1, [r1] b _080217EC .align 2, 0 -_08021784: .4byte gUnknown_2023D74 +_08021784: .4byte gBattlescriptCurrInstr _08021788: .4byte gBattlerAttacker _0802178C: .4byte gLastUsedAbility _08021790: @@ -8000,7 +8000,7 @@ _080217C0: .4byte gBattlerAttacker _080217C4: .4byte gLastUsedAbility _080217C8: ldrb r0, [r2, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r4, r0, 24 ldr r1, _080217F8 @ =gBattleMons @@ -8041,7 +8041,7 @@ _0802180A: thumb_func_start atk1F_jumpifsideaffecting atk1F_jumpifsideaffecting: @ 8021818 push {r4-r6,lr} - ldr r0, _08021830 @ =gUnknown_2023D74 + ldr r0, _08021830 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r4, [r0, 0x1] cmp r4, 0x1 @@ -8051,7 +8051,7 @@ atk1F_jumpifsideaffecting: @ 8021818 bl GetBattlerPosition b _08021842 .align 2, 0 -_08021830: .4byte gUnknown_2023D74 +_08021830: .4byte gBattlescriptCurrInstr _08021834: .4byte gBattlerAttacker _08021838: ldr r0, _08021878 @ =gBattlerTarget @@ -8060,7 +8060,7 @@ _08021838: movs r4, 0x1 _08021842: ands r4, r0 - ldr r6, _0802187C @ =gUnknown_2023D74 + ldr r6, _0802187C @ =gBattlescriptCurrInstr ldr r3, [r6] ldrb r2, [r3, 0x2] ldrb r0, [r3, 0x3] @@ -8076,7 +8076,7 @@ _08021842: ldrb r0, [r3, 0x7] lsls r0, 24 adds r5, r1, r0 - ldr r1, _08021880 @ =gSideAffecting + ldr r1, _08021880 @ =gSideStatuses lsls r0, r4, 1 adds r0, r1 ldrh r0, [r0] @@ -8087,8 +8087,8 @@ _08021842: b _0802188A .align 2, 0 _08021878: .4byte gBattlerTarget -_0802187C: .4byte gUnknown_2023D74 -_08021880: .4byte gSideAffecting +_0802187C: .4byte gBattlescriptCurrInstr +_08021880: .4byte gSideStatuses _08021884: adds r0, r3, 0 adds r0, 0x8 @@ -8103,10 +8103,10 @@ _0802188A: atk20_jumpifstat: @ 8021890 push {r4,r5,lr} movs r5, 0 - ldr r4, _080218C4 @ =gUnknown_2023D74 + ldr r4, _080218C4 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r2, _080218C8 @ =gBattleMons @@ -8127,7 +8127,7 @@ atk20_jumpifstat: @ 8021890 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080218C4: .4byte gUnknown_2023D74 +_080218C4: .4byte gBattlescriptCurrInstr _080218C8: .4byte gBattleMons _080218CC: .4byte _080218D0 .align 2, 0 @@ -8139,43 +8139,43 @@ _080218D0: .4byte _08021928 .4byte _0802193C _080218E8: - ldr r0, _080218F4 @ =gUnknown_2023D74 + ldr r0, _080218F4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r2, r0 bne _0802194E b _08021948 .align 2, 0 -_080218F4: .4byte gUnknown_2023D74 +_080218F4: .4byte gBattlescriptCurrInstr _080218F8: - ldr r0, _08021904 @ =gUnknown_2023D74 + ldr r0, _08021904 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r2, r0 beq _0802194E b _08021948 .align 2, 0 -_08021904: .4byte gUnknown_2023D74 +_08021904: .4byte gBattlescriptCurrInstr _08021908: - ldr r0, _08021914 @ =gUnknown_2023D74 + ldr r0, _08021914 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r2, r0 bls _0802194E b _08021948 .align 2, 0 -_08021914: .4byte gUnknown_2023D74 +_08021914: .4byte gBattlescriptCurrInstr _08021918: - ldr r0, _08021924 @ =gUnknown_2023D74 + ldr r0, _08021924 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r2, r0 bcs _0802194E b _08021948 .align 2, 0 -_08021924: .4byte gUnknown_2023D74 +_08021924: .4byte gBattlescriptCurrInstr _08021928: - ldr r0, _08021938 @ =gUnknown_2023D74 + ldr r0, _08021938 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] ands r2, r0 @@ -8183,9 +8183,9 @@ _08021928: beq _0802194E b _08021948 .align 2, 0 -_08021938: .4byte gUnknown_2023D74 +_08021938: .4byte gBattlescriptCurrInstr _0802193C: - ldr r0, _08021970 @ =gUnknown_2023D74 + ldr r0, _08021970 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] ands r2, r0 @@ -8198,7 +8198,7 @@ _08021948: _0802194E: cmp r5, 0 beq _08021974 - ldr r3, _08021970 @ =gUnknown_2023D74 + ldr r3, _08021970 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x5] ldrb r0, [r2, 0x6] @@ -8213,9 +8213,9 @@ _0802194E: str r1, [r3] b _0802197C .align 2, 0 -_08021970: .4byte gUnknown_2023D74 +_08021970: .4byte gBattlescriptCurrInstr _08021974: - ldr r1, _08021984 @ =gUnknown_2023D74 + ldr r1, _08021984 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x9 str r0, [r1] @@ -8224,16 +8224,16 @@ _0802197C: pop {r0} bx r0 .align 2, 0 -_08021984: .4byte gUnknown_2023D74 +_08021984: .4byte gBattlescriptCurrInstr thumb_func_end atk20_jumpifstat thumb_func_start atk21_jumpifstatus3condition atk21_jumpifstatus3condition: @ 8021988 push {r4-r6,lr} - ldr r4, _080219DC @ =gUnknown_2023D74 + ldr r4, _080219DC @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _080219E0 @ =gActiveBattler strb r0, [r5] ldr r2, [r4] @@ -8270,7 +8270,7 @@ atk21_jumpifstatus3condition: @ 8021988 bne _08021A00 b _080219F8 .align 2, 0 -_080219DC: .4byte gUnknown_2023D74 +_080219DC: .4byte gBattlescriptCurrInstr _080219E0: .4byte gActiveBattler _080219E4: .4byte gStatuses3 _080219E8: @@ -8300,10 +8300,10 @@ _08021A06: thumb_func_start atk22_jumpiftype atk22_jumpiftype: @ 8021A0C push {r4-r6,lr} - ldr r4, _08021A54 @ =gUnknown_2023D74 + ldr r4, _08021A54 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r3, [r4] @@ -8336,7 +8336,7 @@ _08021A50: str r6, [r4] b _08021A60 .align 2, 0 -_08021A54: .4byte gUnknown_2023D74 +_08021A54: .4byte gBattlescriptCurrInstr _08021A58: .4byte gBattleMons _08021A5C: adds r0, r3, 0x7 @@ -8358,13 +8358,13 @@ sub_8021A68: @ 8021A68 ldr r0, [r0] adds r0, 0x50 mov r9, r0 - ldr r0, _08021AB4 @ =gUnknown_2023D74 + ldr r0, _08021AB4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 - ldr r1, _08021AB8 @ =gUnknown_2023D6D + bl GetBattlerForBattleScript + ldr r1, _08021AB8 @ =gBattlerFainted strb r0, [r1] - ldr r2, _08021ABC @ =gUnknown_2023F4E + ldr r2, _08021ABC @ =gSentPokesToOpponent movs r1, 0x2 ands r1, r0 lsls r1, 24 @@ -8385,9 +8385,9 @@ _08021AA4: mov pc, r0 .align 2, 0 _08021AB0: .4byte gBattleStruct -_08021AB4: .4byte gUnknown_2023D74 -_08021AB8: .4byte gUnknown_2023D6D -_08021ABC: .4byte gUnknown_2023F4E +_08021AB4: .4byte gBattlescriptCurrInstr +_08021AB8: .4byte gBattlerFainted +_08021ABC: .4byte gSentPokesToOpponent _08021AC0: .4byte gBattleScripting _08021AC4: .4byte _08021AC8 .align 2, 0 @@ -8400,7 +8400,7 @@ _08021AC8: .4byte _08022368 .4byte _080223B0 _08021AE4: - ldr r4, _08021B34 @ =gUnknown_2023D6D + ldr r4, _08021B34 @ =gBattlerFainted ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -8438,7 +8438,7 @@ _08021B08: strb r0, [r2] bl _080223DA .align 2, 0 -_08021B34: .4byte gUnknown_2023D6D +_08021B34: .4byte gBattlerFainted _08021B38: .4byte gBattleTypeFlags _08021B3C: .4byte 0x00080982 _08021B40: .4byte gBattleScripting @@ -8506,7 +8506,7 @@ _08021BC2: ble _08021B54 ldr r3, _08021C28 @ =gBaseStats ldr r2, _08021C2C @ =gBattleMons - ldr r0, _08021C30 @ =gUnknown_2023D6D + ldr r0, _08021C30 @ =gBattlerFainted ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -8552,7 +8552,7 @@ _08021C0E: .align 2, 0 _08021C28: .4byte gBaseStats _08021C2C: .4byte gBattleMons -_08021C30: .4byte gUnknown_2023D6D +_08021C30: .4byte gBattlerFainted _08021C34: .4byte gUnknown_2023F52 _08021C38: adds r0, r1, 0 @@ -8922,7 +8922,7 @@ _08021EB6: ldr r1, _08021F6C @ =gPlayerParty adds r0, r1 ldr r3, _08021F70 @ =gBattleMons - ldr r1, _08021F74 @ =gUnknown_2023D6D + ldr r1, _08021F74 @ =gBattlerFainted ldrb r2, [r1] movs r1, 0x58 muls r1, r2 @@ -8944,7 +8944,7 @@ _08021F64: .4byte gBattleTextBuff2 _08021F68: .4byte gBattleTextBuff3 _08021F6C: .4byte gPlayerParty _08021F70: .4byte gBattleMons -_08021F74: .4byte gUnknown_2023D6D +_08021F74: .4byte gBattlerFainted _08021F78: ldr r0, _0802205C @ =gBattleControllerExecFlags ldr r2, [r0] @@ -9045,7 +9045,7 @@ _08021F82: movs r0, 0 bl BtlController_EmitExpUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08022052: ldr r1, _08022078 @ =gBattleScripting ldrb r0, [r1, 0x1C] @@ -9160,7 +9160,7 @@ _080220DA: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r1, _08022340 @ =gUnknown_2023D74 + ldr r1, _08022340 @ =gBattlescriptCurrInstr ldr r0, _08022344 @ =gUnknown_81D89F5 str r0, [r1] ldr r4, _08022348 @ =gBattleMoveDamage @@ -9390,7 +9390,7 @@ _08022330: .4byte gBattleTextBuff1 _08022334: .4byte gBattleTextBuff2 _08022338: .4byte gUnknown_3004FD4 _0802233C: .4byte gBitTable -_08022340: .4byte gUnknown_2023D74 +_08022340: .4byte gBattlescriptCurrInstr _08022344: .4byte gUnknown_81D89F5 _08022348: .4byte gBattleMoveDamage _0802234C: .4byte gBattleMons @@ -9448,7 +9448,7 @@ _080223B0: cmp r5, 0 bne _080223DA ldr r4, _080223EC @ =gBattleMons - ldr r2, _080223F0 @ =gUnknown_2023D6D + ldr r2, _080223F0 @ =gBattlerFainted ldrb r0, [r2] movs r1, 0x58 muls r0, r1 @@ -9460,7 +9460,7 @@ _080223B0: adds r0, r4 adds r0, 0x20 strb r3, [r0] - ldr r1, _080223F4 @ =gUnknown_2023D74 + ldr r1, _080223F4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -9474,8 +9474,8 @@ _080223DA: .align 2, 0 _080223E8: .4byte gBattleControllerExecFlags _080223EC: .4byte gBattleMons -_080223F0: .4byte gUnknown_2023D6D -_080223F4: .4byte gUnknown_2023D74 +_080223F0: .4byte gBattlerFainted +_080223F4: .4byte gBattlescriptCurrInstr thumb_func_end sub_8021A68 thumb_func_start sub_80223F8 @@ -9576,15 +9576,15 @@ _08022498: ldr r0, _08022548 @ =gBattlersCount ldrb r1, [r0] mov r12, r0 - ldr r7, _0802254C @ =gUnknown_2023D74 + ldr r7, _0802254C @ =gBattlescriptCurrInstr cmp r3, r1 bge _080224E4 - ldr r0, _08022550 @ =gUnknown_2023DD0 + ldr r0, _08022550 @ =gHitMarker movs r6, 0x80 lsls r6, 21 ldr r4, [r0] adds r2, r1, 0 - ldr r1, _08022554 @ =gUnknown_2023ECC + ldr r1, _08022554 @ =gSpecialStatuses _080224C8: adds r0, r6, 0 lsls r0, r5 @@ -9608,12 +9608,12 @@ _080224E4: ldrb r1, [r0] cmp r5, r1 bge _0802251E - ldr r0, _08022550 @ =gUnknown_2023DD0 + ldr r0, _08022550 @ =gHitMarker movs r4, 0x80 lsls r4, 21 mov r12, r4 ldr r6, [r0] - ldr r0, _08022554 @ =gUnknown_2023ECC + ldr r0, _08022554 @ =gSpecialStatuses adds r4, r1, 0 adds r1, r0, 0 adds r1, 0x14 @@ -9651,9 +9651,9 @@ _0802253C: .4byte gBattleOutcome _08022540: .4byte gEnemyParty _08022544: .4byte gBattleTypeFlags _08022548: .4byte gBattlersCount -_0802254C: .4byte gUnknown_2023D74 -_08022550: .4byte gUnknown_2023DD0 -_08022554: .4byte gUnknown_2023ECC +_0802254C: .4byte gBattlescriptCurrInstr +_08022550: .4byte gHitMarker +_08022554: .4byte gSpecialStatuses _08022558: cmp r2, 0 beq _0802257A @@ -9679,7 +9679,7 @@ _0802257A: str r0, [r7] b _0802258A _08022582: - ldr r1, _08022594 @ =gUnknown_2023D74 + ldr r1, _08022594 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -9690,7 +9690,7 @@ _0802258A: pop {r0} bx r0 .align 2, 0 -_08022594: .4byte gUnknown_2023D74 +_08022594: .4byte gBattlescriptCurrInstr thumb_func_end sub_80223F8 thumb_func_start MoveValuesCleanUp @@ -9704,10 +9704,10 @@ MoveValuesCleanUp: @ 8022598 strb r1, [r0, 0xE] ldr r0, _080225C8 @ =gCritMultiplier strb r1, [r0] - ldr r0, _080225CC @ =gUnknown_2023E82 + ldr r0, _080225CC @ =gBattleCommunication strb r2, [r0, 0x3] strb r2, [r0, 0x6] - ldr r2, _080225D0 @ =gUnknown_2023DD0 + ldr r2, _080225D0 @ =gHitMarker ldr r0, [r2] subs r1, 0x42 ands r0, r1 @@ -9719,8 +9719,8 @@ MoveValuesCleanUp: @ 8022598 _080225C0: .4byte gMoveResultFlags _080225C4: .4byte gBattleScripting _080225C8: .4byte gCritMultiplier -_080225CC: .4byte gUnknown_2023E82 -_080225D0: .4byte gUnknown_2023DD0 +_080225CC: .4byte gBattleCommunication +_080225D0: .4byte gHitMarker _080225D4: .4byte 0xffffbfff thumb_func_end MoveValuesCleanUp @@ -9728,20 +9728,20 @@ _080225D4: .4byte 0xffffbfff atk25_movevaluescleanup: @ 80225D8 push {lr} bl MoveValuesCleanUp - ldr r1, _080225EC @ =gUnknown_2023D74 + ldr r1, _080225EC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080225EC: .4byte gUnknown_2023D74 +_080225EC: .4byte gBattlescriptCurrInstr thumb_func_end atk25_movevaluescleanup thumb_func_start atk26_setmultihit atk26_setmultihit: @ 80225F0 ldr r3, _08022600 @ =gUnknown_2023D72 - ldr r2, _08022604 @ =gUnknown_2023D74 + ldr r2, _08022604 @ =gBattlescriptCurrInstr ldr r0, [r2] ldrb r1, [r0, 0x1] strb r1, [r3] @@ -9750,7 +9750,7 @@ atk26_setmultihit: @ 80225F0 bx lr .align 2, 0 _08022600: .4byte gUnknown_2023D72 -_08022604: .4byte gUnknown_2023D74 +_08022604: .4byte gBattlescriptCurrInstr thumb_func_end atk26_setmultihit thumb_func_start atk27_decrementmultihit @@ -9763,16 +9763,16 @@ atk27_decrementmultihit: @ 8022608 lsls r0, 24 cmp r0, 0 bne _0802262C - ldr r1, _08022628 @ =gUnknown_2023D74 + ldr r1, _08022628 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _08022646 .align 2, 0 _08022624: .4byte gUnknown_2023D72 -_08022628: .4byte gUnknown_2023D74 +_08022628: .4byte gBattlescriptCurrInstr _0802262C: - ldr r3, _0802264C @ =gUnknown_2023D74 + ldr r3, _0802264C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -9789,12 +9789,12 @@ _08022646: pop {r0} bx r0 .align 2, 0 -_0802264C: .4byte gUnknown_2023D74 +_0802264C: .4byte gBattlescriptCurrInstr thumb_func_end atk27_decrementmultihit thumb_func_start atk28_goto atk28_goto: @ 8022650 - ldr r3, _0802266C @ =gUnknown_2023D74 + ldr r3, _0802266C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -9809,13 +9809,13 @@ atk28_goto: @ 8022650 str r1, [r3] bx lr .align 2, 0 -_0802266C: .4byte gUnknown_2023D74 +_0802266C: .4byte gBattlescriptCurrInstr thumb_func_end atk28_goto thumb_func_start atk29_jumpifbyte atk29_jumpifbyte: @ 8022670 push {r4-r6,lr} - ldr r3, _080226B4 @ =gUnknown_2023D74 + ldr r3, _080226B4 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r6, [r1, 0x1] ldrb r2, [r1, 0x2] @@ -9849,7 +9849,7 @@ atk29_jumpifbyte: @ 8022670 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080226B4: .4byte gUnknown_2023D74 +_080226B4: .4byte gBattlescriptCurrInstr _080226B8: .4byte _080226BC .align 2, 0 _080226BC: @@ -9901,7 +9901,7 @@ _08022708: thumb_func_start atk2A_jumpifhalfword atk2A_jumpifhalfword: @ 8022710 push {r4-r6,lr} - ldr r3, _0802275C @ =gUnknown_2023D74 + ldr r3, _0802275C @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r6, [r1, 0x1] ldrb r2, [r1, 0x2] @@ -9938,7 +9938,7 @@ atk2A_jumpifhalfword: @ 8022710 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0802275C: .4byte gUnknown_2023D74 +_0802275C: .4byte gBattlescriptCurrInstr _08022760: .4byte _08022764 .align 2, 0 _08022764: @@ -9990,7 +9990,7 @@ _080227B0: thumb_func_start atk2B_jumpifword atk2B_jumpifword: @ 80227B8 push {r4-r6,lr} - ldr r3, _08022810 @ =gUnknown_2023D74 + ldr r3, _08022810 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r6, [r1, 0x1] ldrb r2, [r1, 0x2] @@ -10033,7 +10033,7 @@ atk2B_jumpifword: @ 80227B8 ldr r0, [r0] mov pc, r0 .align 2, 0 -_08022810: .4byte gUnknown_2023D74 +_08022810: .4byte gBattlescriptCurrInstr _08022814: .4byte _08022818 .align 2, 0 _08022818: @@ -10085,7 +10085,7 @@ _08022864: thumb_func_start atk2C_jumpifarrayequal atk2C_jumpifarrayequal: @ 802286C push {r4-r7,lr} - ldr r2, _080228C4 @ =gUnknown_2023D74 + ldr r2, _080228C4 @ =gBattlescriptCurrInstr ldr r3, [r2] ldrb r1, [r3, 0x1] ldrb r0, [r3, 0x2] @@ -10129,7 +10129,7 @@ atk2C_jumpifarrayequal: @ 802286C adds r0, r3, 0 b _080228E0 .align 2, 0 -_080228C4: .4byte gUnknown_2023D74 +_080228C4: .4byte gBattlescriptCurrInstr _080228C8: adds r5, 0x1 adds r4, 0x1 @@ -10161,7 +10161,7 @@ _080228EC: atk2D_jumpifarraynotequal: @ 80228F4 push {r4-r7,lr} movs r7, 0 - ldr r3, _08022968 @ =gUnknown_2023D74 + ldr r3, _08022968 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -10220,7 +10220,7 @@ _0802295E: mov r0, r12 b _08022970 .align 2, 0 -_08022968: .4byte gUnknown_2023D74 +_08022968: .4byte gBattlescriptCurrInstr _0802296C: ldr r0, [r3] adds r0, 0xE @@ -10233,7 +10233,7 @@ _08022970: thumb_func_start atk2E_setbyte atk2E_setbyte: @ 8022978 - ldr r3, _0802299C @ =gUnknown_2023D74 + ldr r3, _0802299C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10252,12 +10252,12 @@ atk2E_setbyte: @ 8022978 str r0, [r3] bx lr .align 2, 0 -_0802299C: .4byte gUnknown_2023D74 +_0802299C: .4byte gBattlescriptCurrInstr thumb_func_end atk2E_setbyte thumb_func_start atk2F_addbyte atk2F_addbyte: @ 80229A0 - ldr r3, _080229C8 @ =gUnknown_2023D74 + ldr r3, _080229C8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10278,12 +10278,12 @@ atk2F_addbyte: @ 80229A0 str r0, [r3] bx lr .align 2, 0 -_080229C8: .4byte gUnknown_2023D74 +_080229C8: .4byte gBattlescriptCurrInstr thumb_func_end atk2F_addbyte thumb_func_start atk30_subbyte atk30_subbyte: @ 80229CC - ldr r3, _080229F4 @ =gUnknown_2023D74 + ldr r3, _080229F4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10304,13 +10304,13 @@ atk30_subbyte: @ 80229CC str r0, [r3] bx lr .align 2, 0 -_080229F4: .4byte gUnknown_2023D74 +_080229F4: .4byte gBattlescriptCurrInstr thumb_func_end atk30_subbyte thumb_func_start atk31_copyarray atk31_copyarray: @ 80229F8 push {r4-r6,lr} - ldr r3, _08022A48 @ =gUnknown_2023D74 + ldr r3, _08022A48 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -10352,13 +10352,13 @@ _08022A3C: pop {r0} bx r0 .align 2, 0 -_08022A48: .4byte gUnknown_2023D74 +_08022A48: .4byte gBattlescriptCurrInstr thumb_func_end atk31_copyarray thumb_func_start atk32_copyarraywithindex atk32_copyarraywithindex: @ 8022A4C push {r4-r7,lr} - ldr r3, _08022AB4 @ =gUnknown_2023D74 + ldr r3, _08022AB4 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -10412,12 +10412,12 @@ _08022AA8: pop {r0} bx r0 .align 2, 0 -_08022AB4: .4byte gUnknown_2023D74 +_08022AB4: .4byte gBattlescriptCurrInstr thumb_func_end atk32_copyarraywithindex thumb_func_start atk33_orbyte atk33_orbyte: @ 8022AB8 - ldr r3, _08022AE0 @ =gUnknown_2023D74 + ldr r3, _08022AE0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10438,13 +10438,13 @@ atk33_orbyte: @ 8022AB8 str r0, [r3] bx lr .align 2, 0 -_08022AE0: .4byte gUnknown_2023D74 +_08022AE0: .4byte gBattlescriptCurrInstr thumb_func_end atk33_orbyte thumb_func_start atk34_orhalfword atk34_orhalfword: @ 8022AE4 push {r4,lr} - ldr r4, _08022B18 @ =gUnknown_2023D74 + ldr r4, _08022B18 @ =gBattlescriptCurrInstr ldr r3, [r4] ldrb r2, [r3, 0x1] ldrb r0, [r3, 0x2] @@ -10470,13 +10470,13 @@ atk34_orhalfword: @ 8022AE4 pop {r0} bx r0 .align 2, 0 -_08022B18: .4byte gUnknown_2023D74 +_08022B18: .4byte gBattlescriptCurrInstr thumb_func_end atk34_orhalfword thumb_func_start atk35_orword atk35_orword: @ 8022B1C push {r4,lr} - ldr r4, _08022B5C @ =gUnknown_2023D74 + ldr r4, _08022B5C @ =gBattlescriptCurrInstr ldr r2, [r4] ldrb r3, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10508,12 +10508,12 @@ atk35_orword: @ 8022B1C pop {r0} bx r0 .align 2, 0 -_08022B5C: .4byte gUnknown_2023D74 +_08022B5C: .4byte gBattlescriptCurrInstr thumb_func_end atk35_orword thumb_func_start atk36_bicbyte atk36_bicbyte: @ 8022B60 - ldr r3, _08022B88 @ =gUnknown_2023D74 + ldr r3, _08022B88 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10534,13 +10534,13 @@ atk36_bicbyte: @ 8022B60 str r0, [r3] bx lr .align 2, 0 -_08022B88: .4byte gUnknown_2023D74 +_08022B88: .4byte gBattlescriptCurrInstr thumb_func_end atk36_bicbyte thumb_func_start atk37_bichalfword atk37_bichalfword: @ 8022B8C push {r4,lr} - ldr r4, _08022BC0 @ =gUnknown_2023D74 + ldr r4, _08022BC0 @ =gBattlescriptCurrInstr ldr r3, [r4] ldrb r1, [r3, 0x1] ldrb r0, [r3, 0x2] @@ -10566,13 +10566,13 @@ atk37_bichalfword: @ 8022B8C pop {r0} bx r0 .align 2, 0 -_08022BC0: .4byte gUnknown_2023D74 +_08022BC0: .4byte gBattlescriptCurrInstr thumb_func_end atk37_bichalfword thumb_func_start atk38_bicword atk38_bicword: @ 8022BC4 push {r4,lr} - ldr r4, _08022C04 @ =gUnknown_2023D74 + ldr r4, _08022C04 @ =gBattlescriptCurrInstr ldr r2, [r4] ldrb r3, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10604,7 +10604,7 @@ atk38_bicword: @ 8022BC4 pop {r0} bx r0 .align 2, 0 -_08022C04: .4byte gUnknown_2023D74 +_08022C04: .4byte gBattlescriptCurrInstr thumb_func_end atk38_bicword thumb_func_start atk39_pause @@ -10614,7 +10614,7 @@ atk39_pause: @ 8022C08 ldr r4, [r0] cmp r4, 0 bne _08022C34 - ldr r5, _08022C40 @ =gUnknown_2023D74 + ldr r5, _08022C40 @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10637,7 +10637,7 @@ _08022C34: bx r0 .align 2, 0 _08022C3C: .4byte gBattleControllerExecFlags -_08022C40: .4byte gUnknown_2023D74 +_08022C40: .4byte gBattlescriptCurrInstr _08022C44: .4byte gUnknown_2023E7C thumb_func_end atk39_pause @@ -10648,7 +10648,7 @@ sub_8022C48: @ 8022C48 ldr r0, [r0] cmp r0, 0 bne _08022C5A - ldr r1, _08022C64 @ =gUnknown_2023D74 + ldr r1, _08022C64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -10657,13 +10657,13 @@ _08022C5A: bx r0 .align 2, 0 _08022C60: .4byte gBattleControllerExecFlags -_08022C64: .4byte gUnknown_2023D74 +_08022C64: .4byte gBattlescriptCurrInstr thumb_func_end sub_8022C48 thumb_func_start atk3B_healthbar_update atk3B_healthbar_update: @ 8022C68 push {lr} - ldr r0, _08022C7C @ =gUnknown_2023D74 + ldr r0, _08022C7C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0 @@ -10672,7 +10672,7 @@ atk3B_healthbar_update: @ 8022C68 ldr r1, _08022C84 @ =gBattlerTarget b _08022C8C .align 2, 0 -_08022C7C: .4byte gUnknown_2023D74 +_08022C7C: .4byte gBattlescriptCurrInstr _08022C80: .4byte gActiveBattler _08022C84: .4byte gBattlerTarget _08022C88: @@ -10687,8 +10687,8 @@ _08022C8C: bl BtlController_EmitHealthBarUpdate ldr r0, _08022CB0 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08022CBC @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08022CBC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -10698,7 +10698,7 @@ _08022C8C: _08022CB0: .4byte gActiveBattler _08022CB4: .4byte gBattlerAttacker _08022CB8: .4byte gBattleMoveDamage -_08022CBC: .4byte gUnknown_2023D74 +_08022CBC: .4byte gBattlescriptCurrInstr thumb_func_end atk3B_healthbar_update thumb_func_start atk3C_return @@ -10775,7 +10775,7 @@ _08022D3C: .4byte gBattleMainFunc thumb_func_start atk41_call atk41_call: @ 8022D40 push {r4,lr} - ldr r4, _08022D6C @ =gUnknown_2023D74 + ldr r4, _08022D6C @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x5 bl BattleScriptPush @@ -10795,16 +10795,16 @@ atk41_call: @ 8022D40 pop {r0} bx r0 .align 2, 0 -_08022D6C: .4byte gUnknown_2023D74 +_08022D6C: .4byte gBattlescriptCurrInstr thumb_func_end atk41_call thumb_func_start atk42_jumpiftype2 atk42_jumpiftype2: @ 8022D70 push {r4,lr} - ldr r4, _08022DB8 @ =gUnknown_2023D74 + ldr r4, _08022DB8 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r3, [r4] @@ -10836,7 +10836,7 @@ _08022D9E: str r1, [r4] b _08022DC4 .align 2, 0 -_08022DB8: .4byte gUnknown_2023D74 +_08022DB8: .4byte gBattlescriptCurrInstr _08022DBC: .4byte gBattleMons _08022DC0: adds r0, r3, 0x7 @@ -10851,7 +10851,7 @@ _08022DC4: atk43_jumpifabilitypresent: @ 8022DCC push {r4,lr} sub sp, 0x4 - ldr r4, _08022E04 @ =gUnknown_2023D74 + ldr r4, _08022E04 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r2, [r0, 0x1] movs r0, 0 @@ -10877,7 +10877,7 @@ atk43_jumpifabilitypresent: @ 8022DCC str r1, [r4] b _08022E0E .align 2, 0 -_08022E04: .4byte gUnknown_2023D74 +_08022E04: .4byte gBattlescriptCurrInstr _08022E08: ldr r0, [r4] adds r0, 0x6 @@ -10908,10 +10908,10 @@ _08022E30: .4byte gBattleStruct thumb_func_start sub_8022E34 sub_8022E34: @ 8022E34 push {r4-r6,lr} - ldr r4, _08022E84 @ =gUnknown_2023D74 + ldr r4, _08022E84 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r6, _08022E88 @ =gActiveBattler strb r0, [r6] ldr r2, [r4] @@ -10936,7 +10936,7 @@ sub_8022E34: @ 8022E34 cmp r0, 0x19 bne _08022E8C _08022E6E: - ldr r4, _08022E84 @ =gUnknown_2023D74 + ldr r4, _08022E84 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x2] ldrh r2, [r3] @@ -10946,10 +10946,10 @@ _08022E6E: ldrb r0, [r0] b _08022EE4 .align 2, 0 -_08022E84: .4byte gUnknown_2023D74 +_08022E84: .4byte gBattlescriptCurrInstr _08022E88: .4byte gActiveBattler _08022E8C: - ldr r0, _08022EA4 @ =gUnknown_2023DD0 + ldr r0, _08022EA4 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -10960,7 +10960,7 @@ _08022E8C: ldr r0, _08022EA8 @ =gUnknown_81D89F1 b _08022EEC .align 2, 0 -_08022EA4: .4byte gUnknown_2023DD0 +_08022EA4: .4byte gHitMarker _08022EA8: .4byte gUnknown_81D89F1 _08022EAC: adds r0, r5, 0 @@ -10990,7 +10990,7 @@ _08022ED8: bl BtlController_EmitBattleAnimation ldrb r0, [r6] _08022EE4: - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x7 _08022EEC: @@ -11003,10 +11003,10 @@ _08022EEC: thumb_func_start atk46_playanimation2 atk46_playanimation2: @ 8022EF4 push {r4-r7,lr} - ldr r6, _08022F5C @ =gUnknown_2023D74 + ldr r6, _08022F5C @ =gBattlescriptCurrInstr ldr r0, [r6] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r7, _08022F60 @ =gActiveBattler strb r0, [r7] ldr r2, [r6] @@ -11045,17 +11045,17 @@ _08022F3E: bl BtlController_EmitBattleAnimation ldr r0, _08022F60 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08022F5C @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08022F5C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0xA str r0, [r1] b _08022FBA .align 2, 0 -_08022F5C: .4byte gUnknown_2023D74 +_08022F5C: .4byte gBattlescriptCurrInstr _08022F60: .4byte gActiveBattler _08022F64: - ldr r0, _08022F74 @ =gUnknown_2023DD0 + ldr r0, _08022F74 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -11064,7 +11064,7 @@ _08022F64: adds r0, r2, 0 b _08022FB6 .align 2, 0 -_08022F74: .4byte gUnknown_2023DD0 +_08022F74: .4byte gHitMarker _08022F78: adds r0, r5, 0 subs r0, 0xA @@ -11092,7 +11092,7 @@ _08022FA4: movs r0, 0 bl BtlController_EmitBattleAnimation ldrb r0, [r7] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r6] _08022FB6: adds r0, 0xA @@ -11147,7 +11147,7 @@ _08022FF8: movs r1, 0 strb r0, [r4, 0x10] strb r1, [r4, 0x11] - ldr r1, _08023018 @ =gUnknown_2023D74 + ldr r1, _08023018 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -11155,7 +11155,7 @@ _08022FF8: pop {r0} bx r0 .align 2, 0 -_08023018: .4byte gUnknown_2023D74 +_08023018: .4byte gBattlescriptCurrInstr thumb_func_end atk47_setgraphicalstatchangevalues thumb_func_start atk48_playstatchangeanimation @@ -11170,11 +11170,11 @@ atk48_playstatchangeanimation: @ 802301C movs r0, 0 mov r8, r0 movs r3, 0 - ldr r5, _08023090 @ =gUnknown_2023D74 + ldr r5, _08023090 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] str r3, [sp] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r2, _08023094 @ =gActiveBattler strb r0, [r2] ldr r0, [r5] @@ -11205,7 +11205,7 @@ _0802306A: ands r0, r1 cmp r0, 0 beq _080230F6 - ldr r0, _08023090 @ =gUnknown_2023D74 + ldr r0, _08023090 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r1, [r0, 0x3] movs r0, 0x8 @@ -11219,7 +11219,7 @@ _0802306A: adds r0, r7, r0 b _080230E4 .align 2, 0 -_08023090: .4byte gUnknown_2023D74 +_08023090: .4byte gBattlescriptCurrInstr _08023094: .4byte gActiveBattler _08023098: .4byte gUnknown_2023BFC _0802309C: @@ -11279,7 +11279,7 @@ _080230F6: cmp r4, 0 bne _0802306A _08023104: - ldr r0, _0802312C @ =gUnknown_2023D74 + ldr r0, _0802312C @ =gBattlescriptCurrInstr mov r9, r0 cmp r3, 0x1 ble _08023192 @@ -11297,7 +11297,7 @@ _08023104: _08023120: .4byte gActiveBattler _08023124: .4byte gSideTimers _08023128: .4byte gBattleMons -_0802312C: .4byte gUnknown_2023D74 +_0802312C: .4byte gBattlescriptCurrInstr _08023130: movs r0, 0x2 ands r0, r1 @@ -11382,8 +11382,8 @@ _080231B0: bl BtlController_EmitBattleAnimation ldr r0, _080231F0 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r0, _080231F4 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r0, _080231F4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r1, [r0, 0x3] movs r0, 0x4 @@ -11396,12 +11396,12 @@ _080231B0: movs r0, 0x1 strb r0, [r4, 0x1B] _080231E8: - ldr r1, _080231F4 @ =gUnknown_2023D74 + ldr r1, _080231F4 @ =gBattlescriptCurrInstr b _080231FA .align 2, 0 _080231EC: .4byte gBattleScripting _080231F0: .4byte gActiveBattler -_080231F4: .4byte gUnknown_2023D74 +_080231F4: .4byte gBattlescriptCurrInstr _080231F8: mov r1, r9 _080231FA: @@ -11439,7 +11439,7 @@ atk49_moveend: @ 8023210 ldrh r2, [r2] str r2, [sp, 0x18] _08023232: - ldr r0, _08023268 @ =gUnknown_2023D74 + ldr r0, _08023268 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r4, [r0, 0x1] str r4, [sp, 0x10] @@ -11464,7 +11464,7 @@ _08023232: .align 2, 0 _08023260: .4byte gChosenMove _08023264: .4byte 0x0000ffff -_08023268: .4byte gUnknown_2023D74 +_08023268: .4byte gBattlescriptCurrInstr _0802326C: .4byte gBattleMons _08023270: .4byte gBattlerAttacker _08023274: .4byte gEnigmaBerries @@ -11500,7 +11500,7 @@ _080232AC: movs r1, 0x1 bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802379E .align 2, 0 _080232C0: .4byte gActiveBattler @@ -11511,7 +11511,7 @@ _080232C4: movs r1, 0 bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r1, [r6] lsls r1, 2 adds r1, r5 @@ -11543,13 +11543,13 @@ _080232F0: adds r0, r2 ldr r0, [r0] bl BattleScriptPush - ldr r1, _0802332C @ =gUnknown_2023D74 + ldr r1, _0802332C @ =gBattlescriptCurrInstr ldr r0, _08023330 @ =gUnknown_81D96A8 bl _08023BFC .align 2, 0 _08023324: .4byte gBattleScripting _08023328: .4byte gUnknown_81D65A8 -_0802332C: .4byte gUnknown_2023D74 +_0802332C: .4byte gBattlescriptCurrInstr _08023330: .4byte gUnknown_81D96A8 _08023334: ldr r2, _0802334C @ =gBattleMoves @@ -11657,7 +11657,7 @@ _08023410: beq _0802341E b _080237C8 _0802341E: - ldr r2, _0802348C @ =gUnknown_2023ECC + ldr r2, _0802348C @ =gSpecialStatuses ldrb r3, [r5] lsls r0, r3, 2 adds r0, r3 @@ -11701,7 +11701,7 @@ _0802346A: adds r0, r2, 0x1 strb r0, [r1, 0x19] bl BattleScriptPushCursor - ldr r1, _08023498 @ =gUnknown_2023D74 + ldr r1, _08023498 @ =gBattlescriptCurrInstr ldr r0, _0802349C @ =gUnknown_81D8C48 str r0, [r1] b _080236FC @@ -11710,10 +11710,10 @@ _0802347C: .4byte gBattleMons _08023480: .4byte gBattlerTarget _08023484: .4byte gBattlerAttacker _08023488: .4byte gMoveResultFlags -_0802348C: .4byte gUnknown_2023ECC +_0802348C: .4byte gSpecialStatuses _08023490: .4byte gBattleMoves _08023494: .4byte gCurrentMove -_08023498: .4byte gUnknown_2023D74 +_08023498: .4byte gBattlescriptCurrInstr _0802349C: .4byte gUnknown_81D8C48 _080234A0: ldr r4, _0802353C @ =gBattleMons @@ -11745,7 +11745,7 @@ _080234CA: bne _080234D4 b _080237C8 _080234D4: - ldr r0, _08023548 @ =gUnknown_2023ECC + ldr r0, _08023548 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -11788,9 +11788,9 @@ _080234FE: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec bl BattleScriptPushCursor - ldr r1, _08023554 @ =gUnknown_2023D74 + ldr r1, _08023554 @ =gBattlescriptCurrInstr ldr r0, _08023558 @ =gUnknown_81D9098 str r0, [r1] movs r2, 0x1 @@ -11800,10 +11800,10 @@ _080234FE: _0802353C: .4byte gBattleMons _08023540: .4byte gBattlerTarget _08023544: .4byte gBattlerAttacker -_08023548: .4byte gUnknown_2023ECC +_08023548: .4byte gSpecialStatuses _0802354C: .4byte gMoveResultFlags _08023550: .4byte gActiveBattler -_08023554: .4byte gUnknown_2023D74 +_08023554: .4byte gBattlescriptCurrInstr _08023558: .4byte gUnknown_81D9098 _0802355C: ldr r0, _0802357C @ =gBattlerTarget @@ -11876,7 +11876,7 @@ _080235DA: .align 2, 0 _080235E0: .4byte gBattlerAttacker _080235E4: - ldr r0, _08023674 @ =gUnknown_2023DD0 + ldr r0, _08023674 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 18 @@ -11955,7 +11955,7 @@ _0802366A: strb r0, [r2, 0x14] b _08023BB4 .align 2, 0 -_08023674: .4byte gUnknown_2023DD0 +_08023674: .4byte gHitMarker _08023678: .4byte gChosenMove _0802367C: .4byte 0x0000ffff _08023680: .4byte gMoveResultFlags @@ -11998,7 +11998,7 @@ _080236CC: movs r0, 0x3 movs r1, 0 movs r2, 0 - bl sub_801BC68 + bl ItemBattleEffects lsls r0, 24 cmp r0, 0 beq _080237C8 @@ -12013,7 +12013,7 @@ _080236EC: movs r0, 0x4 movs r1, 0 movs r2, 0 - bl sub_801BC68 + bl ItemBattleEffects _080236F6: lsls r0, 24 cmp r0, 0 @@ -12035,7 +12035,7 @@ _08023702: bne _08023718 b _08023AFA _08023718: - ldr r0, _08023734 @ =gUnknown_2023DD0 + ldr r0, _08023734 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -12048,7 +12048,7 @@ _08023726: _08023728: .4byte gStatuses3 _0802372C: .4byte gBattlerAttacker _08023730: .4byte 0x000400c0 -_08023734: .4byte gUnknown_2023DD0 +_08023734: .4byte gHitMarker _08023738: ldr r0, _080237A8 @ =gMoveResultFlags ldrb r1, [r0] @@ -12080,7 +12080,7 @@ _08023764: movs r1, 0 bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, _080237AC @ =gStatuses3 ldrb r2, [r5] lsls r2, 2 @@ -12089,7 +12089,7 @@ _08023764: ldr r1, _080237BC @ =0xfffbff3f ands r0, r1 str r0, [r2] - ldr r2, _080237C0 @ =gUnknown_2023ECC + ldr r2, _080237C0 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -12112,7 +12112,7 @@ _080237B0: .4byte gBattlerAttacker _080237B4: .4byte 0x000400c0 _080237B8: .4byte gActiveBattler _080237BC: .4byte 0xfffbff3f -_080237C0: .4byte gUnknown_2023ECC +_080237C0: .4byte gSpecialStatuses _080237C4: .4byte gBattleScripting _080237C8: ldr r1, _080237D4 @ =gBattleScripting @@ -12124,7 +12124,7 @@ _080237C8: .align 2, 0 _080237D4: .4byte gBattleScripting _080237D8: - ldr r0, _08023808 @ =gUnknown_2023ECC + ldr r0, _08023808 @ =gSpecialStatuses ldr r6, _0802380C @ =gBattlerTarget ldrb r2, [r6] lsls r3, r2, 2 @@ -12150,7 +12150,7 @@ _080237D8: _08023806: b _08023846 .align 2, 0 -_08023808: .4byte gUnknown_2023ECC +_08023808: .4byte gSpecialStatuses _0802380C: .4byte gBattlerTarget _08023810: .4byte gBattlersCount _08023814: .4byte gStatuses3 @@ -12164,7 +12164,7 @@ _0802381C: ldr r2, _08023854 @ =gDisableStructs ldr r5, _08023858 @ =0xfeffffff adds r3, r0, 0 - ldr r1, _0802385C @ =gUnknown_2023C34 + ldr r1, _0802385C @ =gChosenMoveByBattler _0802382E: ldrb r0, [r2, 0xA] cmp r0, 0 @@ -12189,9 +12189,9 @@ _08023846: _08023850: .4byte gBattlersCount _08023854: .4byte gDisableStructs _08023858: .4byte 0xfeffffff -_0802385C: .4byte gUnknown_2023C34 +_0802385C: .4byte gChosenMoveByBattler _08023860: - ldr r1, _08023914 @ =gUnknown_2023DD0 + ldr r1, _08023914 @ =gHitMarker ldr r3, [r1] movs r0, 0x80 lsls r0, 5 @@ -12286,7 +12286,7 @@ _080238E8: strh r0, [r1] b _08023966 .align 2, 0 -_08023914: .4byte gUnknown_2023DD0 +_08023914: .4byte gHitMarker _08023918: .4byte gBattlerAttacker _0802391C: .4byte gActiveBattler _08023920: .4byte gBattlerTarget @@ -12450,7 +12450,7 @@ _08023A40: ands r0, r1 cmp r0, 0 beq _08023AFA - ldr r0, _08023B18 @ =gUnknown_2023DD0 + ldr r0, _08023B18 @ =gHitMarker ldr r1, [r0] movs r0, 0x80 lsls r0, 18 @@ -12524,12 +12524,12 @@ _08023B08: .4byte gBitTable _08023B0C: .4byte gBattlerAttacker _08023B10: .4byte gBattleStruct _08023B14: .4byte gBattleMoves -_08023B18: .4byte gUnknown_2023DD0 +_08023B18: .4byte gHitMarker _08023B1C: .4byte gBattlerTarget _08023B20: .4byte gMoveResultFlags _08023B24: .4byte gChosenMove _08023B28: - ldr r5, _08023C10 @ =gUnknown_2023DD0 + ldr r5, _08023C10 @ =gHitMarker ldr r2, [r5] movs r0, 0x80 lsls r0, 12 @@ -12542,7 +12542,7 @@ _08023B28: ands r0, r1 cmp r0, 0 beq _08023BAC - ldr r1, _08023C18 @ =gUnknown_2023E8C + ldr r1, _08023C18 @ =gProtectStructs ldr r0, _08023C1C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -12634,7 +12634,7 @@ _08023BE8: mov r2, r10 cmp r2, 0 bne _08023BFE - ldr r1, _08023C34 @ =gUnknown_2023D74 + ldr r1, _08023C34 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x3 _08023BFC: @@ -12649,16 +12649,16 @@ _08023BFE: pop {r0} bx r0 .align 2, 0 -_08023C10: .4byte gUnknown_2023DD0 +_08023C10: .4byte gHitMarker _08023C14: .4byte gBattleTypeFlags -_08023C18: .4byte gUnknown_2023E8C +_08023C18: .4byte gProtectStructs _08023C1C: .4byte gBattlerAttacker _08023C20: .4byte gBattleMoves _08023C24: .4byte gCurrentMove _08023C28: .4byte gBattlerTarget _08023C2C: .4byte gBattleMons _08023C30: .4byte gBattleScripting -_08023C34: .4byte gUnknown_2023D74 +_08023C34: .4byte gBattlescriptCurrInstr thumb_func_end atk49_moveend thumb_func_start atk4A_typecalc2 @@ -12704,7 +12704,7 @@ atk4A_typecalc2: @ 8023C38 lsls r0, 1 adds r0, r1 strh r4, [r0] - ldr r0, _08023CB8 @ =gUnknown_2023E82 + ldr r0, _08023CB8 @ =gBattleCommunication mov r2, r8 strb r2, [r0, 0x6] ldrb r0, [r7] @@ -12719,7 +12719,7 @@ _08023CA8: .4byte gBattlerTarget _08023CAC: .4byte gLastUsedAbility _08023CB0: .4byte gMoveResultFlags _08023CB4: .4byte gUnknown_2023DA0 -_08023CB8: .4byte gUnknown_2023E82 +_08023CB8: .4byte gBattleCommunication _08023CBC: ldr r0, _08023CC8 @ =gMoveResultFlags ldrb r1, [r0] @@ -12905,7 +12905,7 @@ _08023DF0: lsls r0, 1 adds r0, r1 strh r5, [r0] - ldr r1, _08023E7C @ =gUnknown_2023E82 + ldr r1, _08023E7C @ =gBattleCommunication movs r0, 0x3 strb r0, [r1, 0x6] ldrb r0, [r2] @@ -12918,7 +12918,7 @@ _08023E2A: ands r0, r1 cmp r0, 0 beq _08023E48 - ldr r2, _08023E80 @ =gUnknown_2023E8C + ldr r2, _08023E80 @ =gProtectStructs ldr r0, _08023E64 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 4 @@ -12928,7 +12928,7 @@ _08023E2A: orrs r0, r2 strb r0, [r1, 0x1] _08023E48: - ldr r1, _08023E84 @ =gUnknown_2023D74 + ldr r1, _08023E84 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -12946,9 +12946,9 @@ _08023E6C: .4byte gBattleMoves _08023E70: .4byte gLastUsedAbility _08023E74: .4byte gMoveResultFlags _08023E78: .4byte gUnknown_2023DA0 -_08023E7C: .4byte gUnknown_2023E82 -_08023E80: .4byte gUnknown_2023E8C -_08023E84: .4byte gUnknown_2023D74 +_08023E7C: .4byte gBattleCommunication +_08023E80: .4byte gProtectStructs +_08023E84: .4byte gBattlescriptCurrInstr thumb_func_end atk4A_typecalc2 thumb_func_start atk4B_returnatktoball @@ -12958,7 +12958,7 @@ atk4B_returnatktoball: @ 8023E88 ldr r0, _08023EC8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] - ldr r2, _08023ECC @ =gUnknown_2023DD0 + ldr r2, _08023ECC @ =gHitMarker ldr r1, _08023ED0 @ =gBitTable ldrb r0, [r4] lsls r0, 2 @@ -12973,9 +12973,9 @@ atk4B_returnatktoball: @ 8023E88 movs r1, 0 bl BtlController_EmitReturnMonToBall ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08023EB6: - ldr r1, _08023ED4 @ =gUnknown_2023D74 + ldr r1, _08023ED4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -12985,9 +12985,9 @@ _08023EB6: .align 2, 0 _08023EC4: .4byte gActiveBattler _08023EC8: .4byte gBattlerAttacker -_08023ECC: .4byte gUnknown_2023DD0 +_08023ECC: .4byte gHitMarker _08023ED0: .4byte gBitTable -_08023ED4: .4byte gUnknown_2023D74 +_08023ED4: .4byte gBattlescriptCurrInstr thumb_func_end atk4B_returnatktoball thumb_func_start atk4C_getswitchedmondata @@ -12997,10 +12997,10 @@ atk4C_getswitchedmondata: @ 8023ED8 ldr r0, [r0] cmp r0, 0 bne _08023F28 - ldr r5, _08023F34 @ =gUnknown_2023D74 + ldr r5, _08023F34 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08023F38 @ =gActiveBattler strb r0, [r4] ldr r3, _08023F3C @ =gBattlerPartyIndexes @@ -13025,7 +13025,7 @@ atk4C_getswitchedmondata: @ 8023ED8 movs r1, 0 bl BtlController_EmitGetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -13035,7 +13035,7 @@ _08023F28: bx r0 .align 2, 0 _08023F30: .4byte gBattleControllerExecFlags -_08023F34: .4byte gUnknown_2023D74 +_08023F34: .4byte gBattlescriptCurrInstr _08023F38: .4byte gActiveBattler _08023F3C: .4byte gBattlerPartyIndexes _08023F40: .4byte gBattleStruct @@ -13052,10 +13052,10 @@ sub_8023F48: @ 8023F48 beq _08023F56 b _08024098 _08023F56: - ldr r0, _080240A4 @ =gUnknown_2023D74 + ldr r0, _080240A4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _080240A8 @ =gActiveBattler strb r0, [r4] ldr r6, _080240AC @ =gBattleMons @@ -13129,7 +13129,7 @@ _08023F84: bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080240B8 @ =gUnknown_2023F20 + ldr r0, _080240B8 @ =gWishFutureKnock adds r0, 0x29 adds r0, r2, r0 ldrb r1, [r0] @@ -13208,7 +13208,7 @@ _08024068: strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _080240A4 @ =gUnknown_2023D74 + ldr r1, _080240A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -13219,12 +13219,12 @@ _08024098: bx r0 .align 2, 0 _080240A0: .4byte gBattleControllerExecFlags -_080240A4: .4byte gUnknown_2023D74 +_080240A4: .4byte gBattlescriptCurrInstr _080240A8: .4byte gActiveBattler _080240AC: .4byte gBattleMons _080240B0: .4byte gBattleBufferB _080240B4: .4byte gBaseStats -_080240B8: .4byte gUnknown_2023F20 +_080240B8: .4byte gWishFutureKnock _080240BC: .4byte gBitTable _080240C0: .4byte gBattlerPartyIndexes _080240C4: .4byte gBattleMoves @@ -13240,10 +13240,10 @@ sub_80240D4: @ 80240D4 ldr r0, [r0] cmp r0, 0 bne _08024160 - ldr r0, _0802416C @ =gUnknown_2023D74 + ldr r0, _0802416C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r6, _08024170 @ =gActiveBattler strb r0, [r6] ldrb r0, [r6] @@ -13290,13 +13290,13 @@ _0802412A: lsls r0, 1 adds r0, r1 ldrb r1, [r0] - ldr r4, _0802416C @ =gUnknown_2023D74 + ldr r4, _0802416C @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r2, [r0, 0x2] movs r0, 0 bl BtlController_EmitSwitchInAnim ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x3 str r0, [r4] @@ -13306,7 +13306,7 @@ _08024160: bx r0 .align 2, 0 _08024168: .4byte gBattleControllerExecFlags -_0802416C: .4byte gUnknown_2023D74 +_0802416C: .4byte gBattlescriptCurrInstr _08024170: .4byte gActiveBattler _08024174: .4byte gBattleTypeFlags _08024178: .4byte 0x0001aa02 @@ -13321,12 +13321,12 @@ sub_802418C: @ 802418C push {r4-r7,lr} mov r7, r8 push {r7} - ldr r4, _080241F0 @ =gUnknown_2023D74 + ldr r4, _080241F0 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x1] movs r0, 0x7F ands r0, r1 - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r3, _080241F4 @ =gActiveBattler strb r0, [r3] ldr r2, [r4] @@ -13369,7 +13369,7 @@ _080241D8: str r1, [r4] b _08024388 .align 2, 0 -_080241F0: .4byte gUnknown_2023D74 +_080241F0: .4byte gBattlescriptCurrInstr _080241F4: .4byte gActiveBattler _080241F8: .4byte gBattleMons _080241FC: .4byte 0x0400e000 @@ -13542,7 +13542,7 @@ _08024354: cmp r5, 0x6 bne _08024380 _08024358: - ldr r3, _0802437C @ =gUnknown_2023D74 + ldr r3, _0802437C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x2] ldrb r0, [r2, 0x3] @@ -13559,9 +13559,9 @@ _08024358: .align 2, 0 _08024374: .4byte gPlayerParty _08024378: .4byte gBattlerPartyIndexes -_0802437C: .4byte gUnknown_2023D74 +_0802437C: .4byte gBattlescriptCurrInstr _08024380: - ldr r1, _08024394 @ =gUnknown_2023D74 + ldr r1, _08024394 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x6 str r0, [r1] @@ -13572,7 +13572,7 @@ _08024388: pop {r0} bx r0 .align 2, 0 -_08024394: .4byte gUnknown_2023D74 +_08024394: .4byte gBattlescriptCurrInstr thumb_func_end sub_802418C thumb_func_start sub_8024398 @@ -13605,7 +13605,7 @@ sub_8024398: @ 8024398 movs r3, 0 bl BtlController_EmitChoosePokemon ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec add sp, 0x4 pop {r4,r5} pop {r0} @@ -13626,7 +13626,7 @@ sub_80243EC: @ 80243EC movs r7, 0 movs r0, 0 mov r9, r0 - ldr r6, _08024498 @ =gUnknown_2023D74 + ldr r6, _08024498 @ =gBattlescriptCurrInstr ldr r2, [r6] ldrb r1, [r2, 0x2] ldrb r0, [r2, 0x3] @@ -13660,7 +13660,7 @@ _08024422: bcc _0802443C b _080248A6 _0802443C: - ldr r7, _080244A8 @ =gUnknown_2023DD0 + ldr r7, _080244A8 @ =gHitMarker ldr r6, _080244AC @ =gBitTable adds r4, r1, 0 ldr r2, _080244B0 @ =gAbsentBattlerFlags @@ -13678,7 +13678,7 @@ _08024446: adds r0, r2, 0 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _080244B4 @@ -13702,18 +13702,18 @@ _08024446: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _080244F6 .align 2, 0 -_08024498: .4byte gUnknown_2023D74 +_08024498: .4byte gBattlescriptCurrInstr _0802449C: .4byte gBattleTypeFlags _080244A0: .4byte gActiveBattler _080244A4: .4byte gBattlersCount -_080244A8: .4byte gUnknown_2023DD0 +_080244A8: .4byte gHitMarker _080244AC: .4byte gBitTable _080244B0: .4byte gAbsentBattlerFlags _080244B4: - ldr r5, _080244E4 @ =gUnknown_2023ECC + ldr r5, _080244E4 @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -13736,13 +13736,13 @@ _080244B4: strb r1, [r0] b _080244F6 .align 2, 0 -_080244E4: .4byte gUnknown_2023ECC +_080244E4: .4byte gSpecialStatuses _080244E8: movs r0, 0 movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080244F6: ldrb r0, [r4] adds r0, 0x1 @@ -13762,7 +13762,7 @@ _08024510: bne _08024518 b _080248A6 _08024518: - ldr r0, _08024570 @ =gUnknown_2023DD0 + ldr r0, _08024570 @ =gHitMarker mov r8, r0 ldr r0, [r0] lsrs r5, r0, 28 @@ -13776,7 +13776,7 @@ _08024518: movs r0, 0 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _08024580 @@ -13800,15 +13800,15 @@ _08024518: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _080245CE .align 2, 0 -_08024570: .4byte gUnknown_2023DD0 +_08024570: .4byte gHitMarker _08024574: .4byte gBitTable _08024578: .4byte gActiveBattler _0802457C: .4byte gAbsentBattlerFlags _08024580: - ldr r6, _080245B4 @ =gUnknown_2023ECC + ldr r6, _080245B4 @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -13834,14 +13834,14 @@ _08024580: strb r1, [r0] b _080245CE .align 2, 0 -_080245B4: .4byte gUnknown_2023ECC +_080245B4: .4byte gSpecialStatuses _080245B8: .4byte gBattleStruct _080245BC: movs r0, 0 movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec movs r0, 0x1 mov r9, r0 _080245CE: @@ -13860,7 +13860,7 @@ _080245CE: movs r0, 0x2 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _08024638 @@ -13872,7 +13872,7 @@ _080245CE: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r2, _08024634 @ =gUnknown_2023DD0 + ldr r2, _08024634 @ =gHitMarker ldrb r0, [r4] lsls r0, 2 adds r0, r6 @@ -13884,15 +13884,15 @@ _080245CE: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802468C .align 2, 0 _08024628: .4byte gBitTable _0802462C: .4byte gActiveBattler _08024630: .4byte gAbsentBattlerFlags -_08024634: .4byte gUnknown_2023DD0 +_08024634: .4byte gHitMarker _08024638: - ldr r6, _0802466C @ =gUnknown_2023ECC + ldr r6, _0802466C @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -13918,7 +13918,7 @@ _08024638: strb r1, [r0] b _0802468C .align 2, 0 -_0802466C: .4byte gUnknown_2023ECC +_0802466C: .4byte gSpecialStatuses _08024670: .4byte gBattleStruct _08024674: movs r0, 0x1 @@ -13930,7 +13930,7 @@ _08024674: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0802468C: ldr r6, _080246DC @ =gBitTable ldr r0, [r6, 0x4] @@ -13943,7 +13943,7 @@ _0802468C: movs r0, 0x1 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _080246EC @@ -13955,7 +13955,7 @@ _0802468C: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r2, _080246E8 @ =gUnknown_2023DD0 + ldr r2, _080246E8 @ =gHitMarker ldrb r0, [r4] lsls r0, 2 adds r0, r6 @@ -13967,15 +13967,15 @@ _0802468C: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802473E .align 2, 0 _080246DC: .4byte gBitTable _080246E0: .4byte gActiveBattler _080246E4: .4byte gAbsentBattlerFlags -_080246E8: .4byte gUnknown_2023DD0 +_080246E8: .4byte gHitMarker _080246EC: - ldr r6, _08024720 @ =gUnknown_2023ECC + ldr r6, _08024720 @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -14001,14 +14001,14 @@ _080246EC: strb r1, [r0] b _0802473E .align 2, 0 -_08024720: .4byte gUnknown_2023ECC +_08024720: .4byte gSpecialStatuses _08024724: .4byte gBattleStruct _08024728: movs r0, 0 movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec movs r0, 0x2 mov r2, r9 orrs r2, r0 @@ -14029,7 +14029,7 @@ _0802473E: movs r0, 0x3 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _080247A8 @@ -14041,7 +14041,7 @@ _0802473E: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r2, _080247A4 @ =gUnknown_2023DD0 + ldr r2, _080247A4 @ =gHitMarker ldrb r0, [r4] lsls r0, 2 adds r0, r6 @@ -14053,15 +14053,15 @@ _0802473E: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _080247FC .align 2, 0 _08024798: .4byte gBitTable _0802479C: .4byte gActiveBattler _080247A0: .4byte gAbsentBattlerFlags -_080247A4: .4byte gUnknown_2023DD0 +_080247A4: .4byte gHitMarker _080247A8: - ldr r6, _080247DC @ =gUnknown_2023ECC + ldr r6, _080247DC @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -14087,7 +14087,7 @@ _080247A8: strb r1, [r0] b _080247FC .align 2, 0 -_080247DC: .4byte gUnknown_2023ECC +_080247DC: .4byte gSpecialStatuses _080247E0: .4byte gBattleStruct _080247E4: movs r0, 0x2 @@ -14099,9 +14099,9 @@ _080247E4: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080247FC: - ldr r1, _0802482C @ =gUnknown_2023ECC + ldr r1, _0802482C @ =gSpecialStatuses ldrb r0, [r1] lsls r0, 25 cmp r0, 0 @@ -14126,7 +14126,7 @@ _080247FC: strb r0, [r1] b _08024840 .align 2, 0 -_0802482C: .4byte gUnknown_2023ECC +_0802482C: .4byte gSpecialStatuses _08024830: .4byte gAbsentBattlerFlags _08024834: .4byte gBitTable _08024838: .4byte gActiveBattler @@ -14139,9 +14139,9 @@ _08024840: bl BtlController_EmitLinkStandbyMsg ldr r0, _08024880 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08024850: - ldr r1, _08024884 @ =gUnknown_2023ECC + ldr r1, _08024884 @ =gSpecialStatuses ldrb r0, [r1, 0x14] lsls r0, 25 cmp r0, 0 @@ -14166,7 +14166,7 @@ _08024850: b _08024894 .align 2, 0 _08024880: .4byte gActiveBattler -_08024884: .4byte gUnknown_2023ECC +_08024884: .4byte gSpecialStatuses _08024888: .4byte gAbsentBattlerFlags _0802488C: .4byte gBitTable _08024890: @@ -14179,16 +14179,16 @@ _08024894: bl BtlController_EmitLinkStandbyMsg ldr r0, _080248B0 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080248A6: - ldr r1, _080248B4 @ =gUnknown_2023D74 + ldr r1, _080248B4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x6 str r0, [r1] b _08024C2E .align 2, 0 _080248B0: .4byte gActiveBattler -_080248B4: .4byte gUnknown_2023D74 +_080248B4: .4byte gBattlescriptCurrInstr _080248B8: cmp r0, 0x6 beq _080248BE @@ -14208,7 +14208,7 @@ _080248CC: bne _080248D6 b _08024A48 _080248D6: - ldr r7, _08024938 @ =gUnknown_2023DD0 + ldr r7, _08024938 @ =gHitMarker ldr r0, [r7] lsrs r5, r0, 28 ldr r4, _0802493C @ =gBitTable @@ -14227,7 +14227,7 @@ _080248D6: ldrb r1, [r0, 0x1] movs r0, 0x2 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _0802494C @@ -14250,17 +14250,17 @@ _080248D6: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r6] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802497E .align 2, 0 _08024934: .4byte gBattleTypeFlags -_08024938: .4byte gUnknown_2023DD0 +_08024938: .4byte gHitMarker _0802493C: .4byte gBitTable _08024940: .4byte gActiveBattler _08024944: .4byte gBattleBufferB _08024948: .4byte gAbsentBattlerFlags _0802494C: - ldr r4, _080249DC @ =gUnknown_2023ECC + ldr r4, _080249DC @ =gSpecialStatuses ldrb r0, [r6] lsls r1, r0, 2 adds r1, r0 @@ -14303,7 +14303,7 @@ _0802497E: ldrb r1, [r0] movs r0, 0x3 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _080249FC @@ -14315,7 +14315,7 @@ _0802497E: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r2, _080249F8 @ =gUnknown_2023DD0 + ldr r2, _080249F8 @ =gHitMarker ldrb r0, [r5] lsls r0, 2 adds r0, r4 @@ -14327,19 +14327,19 @@ _0802497E: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _08024A2E .align 2, 0 -_080249DC: .4byte gUnknown_2023ECC +_080249DC: .4byte gSpecialStatuses _080249E0: .4byte gBattleStruct _080249E4: .4byte gBitTable _080249E8: .4byte gActiveBattler _080249EC: .4byte gBattleBufferB _080249F0: .4byte 0x00000201 _080249F4: .4byte gAbsentBattlerFlags -_080249F8: .4byte gUnknown_2023DD0 +_080249F8: .4byte gHitMarker _080249FC: - ldr r4, _08024A3C @ =gUnknown_2023ECC + ldr r4, _08024A3C @ =gSpecialStatuses ldrb r0, [r5] lsls r1, r0, 2 adds r1, r0 @@ -14364,24 +14364,24 @@ _080249FC: orrs r1, r2 strb r1, [r0] _08024A2E: - ldr r1, _08024A44 @ =gUnknown_2023D74 + ldr r1, _08024A44 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x6 str r0, [r1] mov r12, r1 b _08024A4C .align 2, 0 -_08024A3C: .4byte gUnknown_2023ECC +_08024A3C: .4byte gSpecialStatuses _08024A40: .4byte gBattleStruct -_08024A44: .4byte gUnknown_2023D74 +_08024A44: .4byte gBattlescriptCurrInstr _08024A48: adds r0, r2, 0x6 str r0, [r6] _08024A4C: - ldr r0, _08024A9C @ =gUnknown_2023DD0 + ldr r0, _08024A9C @ =gHitMarker ldr r0, [r0] lsrs r5, r0, 28 - ldr r1, _08024AA0 @ =gUnknown_2023D6D + ldr r1, _08024AA0 @ =gBattlerFainted movs r0, 0 strb r0, [r1] ldr r4, _08024AA4 @ =gBitTable @@ -14421,8 +14421,8 @@ _08024A92: str r1, [r2] b _08024C2E .align 2, 0 -_08024A9C: .4byte gUnknown_2023DD0 -_08024AA0: .4byte gUnknown_2023D6D +_08024A9C: .4byte gHitMarker +_08024AA0: .4byte gBattlerFainted _08024AA4: .4byte gBitTable _08024AA8: .4byte gBattlersCount _08024AAC: @@ -14435,10 +14435,10 @@ _08024AAC: _08024AB8: movs r0, 0x7F ands r0, r1 - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r7, r0, 24 - ldr r1, _08024AE0 @ =gUnknown_2023ECC + ldr r1, _08024AE0 @ =gSpecialStatuses lsls r0, r7, 2 adds r0, r7 lsls r0, 2 @@ -14452,12 +14452,12 @@ _08024AB8: str r0, [r6] b _08024C2E .align 2, 0 -_08024AE0: .4byte gUnknown_2023ECC +_08024AE0: .4byte gSpecialStatuses _08024AE4: adds r0, r7, 0 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _08024B34 @@ -14472,7 +14472,7 @@ _08024AE4: ldrb r1, [r3] orrs r0, r1 strb r0, [r3] - ldr r3, _08024B30 @ =gUnknown_2023DD0 + ldr r3, _08024B30 @ =gHitMarker ldrb r0, [r2] lsls r0, 2 adds r0, r4 @@ -14488,7 +14488,7 @@ _08024AE4: _08024B24: .4byte gActiveBattler _08024B28: .4byte gAbsentBattlerFlags _08024B2C: .4byte gBitTable -_08024B30: .4byte gUnknown_2023DD0 +_08024B30: .4byte gHitMarker _08024B34: ldr r4, _08024BD8 @ =gActiveBattler strb r7, [r4] @@ -14520,7 +14520,7 @@ _08024B34: movs r3, 0 bl BtlController_EmitChoosePokemon ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r6] adds r0, 0x6 str r0, [r6] @@ -14558,7 +14558,7 @@ _08024BB0: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08024BC4: ldrb r0, [r4] adds r0, 0x1 @@ -14605,7 +14605,7 @@ _08024C20: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08024C2E: add sp, 0x4 pop {r3,r4} @@ -14629,10 +14629,10 @@ sub_8024C48: @ 8024C48 beq _08024C54 b _08024E16 _08024C54: - ldr r4, _08024C78 @ =gUnknown_2023D74 + ldr r4, _08024C78 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r7, _08024C7C @ =gActiveBattler strb r0, [r7] ldr r0, [r4] @@ -14646,7 +14646,7 @@ _08024C54: b _08024E0E .align 2, 0 _08024C74: .4byte gBattleControllerExecFlags -_08024C78: .4byte gUnknown_2023D74 +_08024C78: .4byte gBattlescriptCurrInstr _08024C7C: .4byte gActiveBattler _08024C80: cmp r0, 0x2 @@ -14700,7 +14700,7 @@ _08024CD2: .align 2, 0 _08024CDC: .4byte gBattleTypeFlags _08024CE0: - ldr r1, _08024DAC @ =gUnknown_2023E82 + ldr r1, _08024DAC @ =gBattleCommunication ldr r4, _08024DB0 @ =gBattleBufferB ldrb r0, [r7] lsls r0, 9 @@ -14803,7 +14803,7 @@ _08024CE0: strb r0, [r1] b _08024DC2 .align 2, 0 -_08024DAC: .4byte gUnknown_2023E82 +_08024DAC: .4byte gBattleCommunication _08024DB0: .4byte gBattleBufferB _08024DB4: .4byte gBattleStruct _08024DB8: .4byte gBattleTypeFlags @@ -14850,7 +14850,7 @@ _08024DC2: negs r0, r0 strb r0, [r2, 0x4] _08024E0E: - ldr r1, _08024E34 @ =gUnknown_2023D74 + ldr r1, _08024E34 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x3 str r0, [r1] @@ -14865,7 +14865,7 @@ _08024E24: .4byte gBattlerAttacker _08024E28: .4byte gBattleTextBuff2 _08024E2C: .4byte gActiveBattler _08024E30: .4byte gBattleBufferB -_08024E34: .4byte gUnknown_2023D74 +_08024E34: .4byte gBattlescriptCurrInstr thumb_func_end sub_8024C48 thumb_func_start sub_8024E38 @@ -14875,15 +14875,15 @@ sub_8024E38: @ 8024E38 mov r6, r8 push {r6,r7} sub sp, 0x4 - ldr r6, _08024F40 @ =gUnknown_2023D74 + ldr r6, _08024F40 @ =gBattlescriptCurrInstr ldr r0, [r6] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08024F44 @ =gActiveBattler strb r0, [r4] ldrb r0, [r4] bl sub_80174B8 - ldr r2, _08024F48 @ =gUnknown_2023DD0 + ldr r2, _08024F48 @ =gHitMarker ldr r1, _08024F4C @ =gBitTable ldrb r0, [r4] lsls r0, 2 @@ -14893,7 +14893,7 @@ sub_8024E38: @ 8024E38 ldr r0, [r2] bics r0, r1 str r0, [r2] - ldr r2, _08024F50 @ =gUnknown_2023ECC + ldr r2, _08024F50 @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -14906,7 +14906,7 @@ sub_8024E38: @ 8024E38 strb r0, [r1] ldrb r0, [r4] bl GetBattlerSide - ldr r5, _08024F54 @ =gSideAffecting + ldr r5, _08024F54 @ =gSideStatuses lsls r0, 24 lsrs r0, 23 adds r0, r5 @@ -14996,12 +14996,12 @@ _08024F28: str r0, [r6] b _080250C6 .align 2, 0 -_08024F40: .4byte gUnknown_2023D74 +_08024F40: .4byte gBattlescriptCurrInstr _08024F44: .4byte gActiveBattler -_08024F48: .4byte gUnknown_2023DD0 +_08024F48: .4byte gHitMarker _08024F4C: .4byte gBitTable -_08024F50: .4byte gUnknown_2023ECC -_08024F54: .4byte gSideAffecting +_08024F50: .4byte gSpecialStatuses +_08024F54: .4byte gSideStatuses _08024F58: .4byte gBattleMons _08024F5C: .4byte gSideTimers _08024F60: .4byte gBattleMoveDamage @@ -15056,13 +15056,13 @@ _08024FC4: ldrb r1, [r5] movs r0, 0 movs r2, 0 - bl sub_801BC68 + bl ItemBattleEffects lsls r0, 24 cmp r0, 0 bne _080250C6 ldrb r0, [r5] bl GetBattlerSide - ldr r1, _08025070 @ =gSideAffecting + ldr r1, _08025070 @ =gSideStatuses lsls r0, 24 lsrs r0, 23 adds r0, r1 @@ -15075,7 +15075,7 @@ _08024FC4: ldrb r3, [r0] cmp r4, r3 bge _08025012 - ldr r6, _0802507C @ =gUnknown_2023BDE + ldr r6, _0802507C @ =gBattlerByTurnOrder ldr r3, _08025080 @ =gUnknown_2023BDA movs r2, 0xC adds r1, r0, 0 @@ -15120,16 +15120,16 @@ _08025020: cmp r4, r0 blt _08025020 _08025046: - ldr r0, _08025088 @ =gUnknown_2023D74 + ldr r0, _08025088 @ =gBattlescriptCurrInstr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r5, r0, 0 cmp r1, 0x5 bne _080250C0 - ldr r0, _0802508C @ =gUnknown_2023DD0 + ldr r0, _0802508C @ =gHitMarker ldr r0, [r0] lsrs r4, r0, 28 - ldr r1, _08025090 @ =gUnknown_2023D6D + ldr r1, _08025090 @ =gBattlerFainted ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -15139,15 +15139,15 @@ _08025046: _08025064: .4byte gBattleMons _08025068: .4byte gActiveBattler _0802506C: .4byte gDisableStructs -_08025070: .4byte gSideAffecting +_08025070: .4byte gSideStatuses _08025074: .4byte 0x0000fdff _08025078: .4byte gBattlersCount -_0802507C: .4byte gUnknown_2023BDE +_0802507C: .4byte gBattlerByTurnOrder _08025080: .4byte gUnknown_2023BDA _08025084: .4byte gBattleStruct -_08025088: .4byte gUnknown_2023D74 -_0802508C: .4byte gUnknown_2023DD0 -_08025090: .4byte gUnknown_2023D6D +_08025088: .4byte gBattlescriptCurrInstr +_0802508C: .4byte gHitMarker +_08025090: .4byte gBattlerFainted _08025094: .4byte gBitTable _08025098: ldr r0, _080250D4 @ =gBattlersCount @@ -15191,7 +15191,7 @@ _080250D8: .4byte gAbsentBattlerFlags thumb_func_start atk53_trainer_slide atk53_trainer_slide: @ 80250DC push {lr} - ldr r0, _080250EC @ =gUnknown_2023D74 + ldr r0, _080250EC @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0 @@ -15199,7 +15199,7 @@ atk53_trainer_slide: @ 80250DC movs r0, 0 b _080250F2 .align 2, 0 -_080250EC: .4byte gUnknown_2023D74 +_080250EC: .4byte gBattlescriptCurrInstr _080250F0: movs r0, 0x1 _080250F2: @@ -15210,8 +15210,8 @@ _080250F2: bl BtlController_EmitTrainerSlide ldr r0, _08025114 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08025118 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08025118 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -15219,7 +15219,7 @@ _080250F2: bx r0 .align 2, 0 _08025114: .4byte gActiveBattler -_08025118: .4byte gUnknown_2023D74 +_08025118: .4byte gBattlescriptCurrInstr thumb_func_end atk53_trainer_slide thumb_func_start atk54_playse @@ -15229,7 +15229,7 @@ atk54_playse: @ 802511C ldr r0, _08025150 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] - ldr r4, _08025154 @ =gUnknown_2023D74 + ldr r4, _08025154 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x1] ldrb r0, [r0, 0x2] @@ -15238,7 +15238,7 @@ atk54_playse: @ 802511C movs r0, 0 bl BtlController_EmitPlaySE ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x3 str r0, [r4] @@ -15248,7 +15248,7 @@ atk54_playse: @ 802511C .align 2, 0 _0802514C: .4byte gActiveBattler _08025150: .4byte gBattlerAttacker -_08025154: .4byte gUnknown_2023D74 +_08025154: .4byte gBattlescriptCurrInstr thumb_func_end atk54_playse thumb_func_start atk55_play_sound @@ -15258,7 +15258,7 @@ atk55_play_sound: @ 8025158 ldr r0, _0802518C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] - ldr r4, _08025190 @ =gUnknown_2023D74 + ldr r4, _08025190 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x1] ldrb r0, [r0, 0x2] @@ -15267,7 +15267,7 @@ atk55_play_sound: @ 8025158 movs r0, 0 bl BtlController_EmitPlayFanfare ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x3 str r0, [r4] @@ -15277,22 +15277,22 @@ atk55_play_sound: @ 8025158 .align 2, 0 _08025188: .4byte gActiveBattler _0802518C: .4byte gBattlerAttacker -_08025190: .4byte gUnknown_2023D74 +_08025190: .4byte gBattlescriptCurrInstr thumb_func_end atk55_play_sound thumb_func_start atk56_playfaintcry atk56_playfaintcry: @ 8025194 push {r4,r5,lr} - ldr r5, _080251BC @ =gUnknown_2023D74 + ldr r5, _080251BC @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _080251C0 @ =gActiveBattler strb r0, [r4] movs r0, 0 bl BtlController_EmitFaintingCry ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -15300,7 +15300,7 @@ atk56_playfaintcry: @ 8025194 pop {r0} bx r0 .align 2, 0 -_080251BC: .4byte gUnknown_2023D74 +_080251BC: .4byte gBattlescriptCurrInstr _080251C0: .4byte gActiveBattler thumb_func_end atk56_playfaintcry @@ -15316,8 +15316,8 @@ atk57: @ 80251C4 movs r0, 0 bl BtlController_EmitCmd55 ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _080251F8 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _080251F8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -15327,23 +15327,23 @@ atk57: @ 80251C4 .align 2, 0 _080251F0: .4byte gActiveBattler _080251F4: .4byte gBattleOutcome -_080251F8: .4byte gUnknown_2023D74 +_080251F8: .4byte gBattlescriptCurrInstr thumb_func_end atk57 thumb_func_start atk58_returntoball atk58_returntoball: @ 80251FC push {r4,r5,lr} - ldr r5, _08025228 @ =gUnknown_2023D74 + ldr r5, _08025228 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _0802522C @ =gActiveBattler strb r0, [r4] movs r0, 0 movs r1, 0x1 bl BtlController_EmitReturnMonToBall ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -15351,14 +15351,14 @@ atk58_returntoball: @ 80251FC pop {r0} bx r0 .align 2, 0 -_08025228: .4byte gUnknown_2023D74 +_08025228: .4byte gBattlescriptCurrInstr _0802522C: .4byte gActiveBattler thumb_func_end atk58_returntoball thumb_func_start atk59_handlelearnnewmove atk59_handlelearnnewmove: @ 8025230 push {r4-r7,lr} - ldr r0, _080252A4 @ =gUnknown_2023D74 + ldr r0, _080252A4 @ =gBattlescriptCurrInstr ldr r2, [r0] ldrb r6, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -15412,11 +15412,11 @@ _0802527E: _0802529A: cmp r5, 0 bne _080252B4 - ldr r0, _080252A4 @ =gUnknown_2023D74 + ldr r0, _080252A4 @ =gBattlescriptCurrInstr str r4, [r0] b _0802535C .align 2, 0 -_080252A4: .4byte gUnknown_2023D74 +_080252A4: .4byte gBattlescriptCurrInstr _080252A8: .4byte gBattleStruct _080252AC: .4byte gPlayerParty _080252B0: .4byte 0x0000fffe @@ -15424,14 +15424,14 @@ _080252B4: ldr r0, _080252C4 @ =0x0000ffff cmp r5, r0 bne _080252CC - ldr r1, _080252C8 @ =gUnknown_2023D74 + ldr r1, _080252C8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0xA str r0, [r1] b _0802535C .align 2, 0 _080252C4: .4byte 0x0000ffff -_080252C8: .4byte gUnknown_2023D74 +_080252C8: .4byte gBattlescriptCurrInstr _080252CC: movs r0, 0 bl GetBattlerAtPosition @@ -15501,7 +15501,7 @@ _0802530C: adds r1, r5, 0 bl GiveMoveToBattleMon _08025358: - ldr r0, _08025378 @ =gUnknown_2023D74 + ldr r0, _08025378 @ =gBattlescriptCurrInstr str r6, [r0] _0802535C: pop {r4-r7} @@ -15513,7 +15513,7 @@ _08025368: .4byte gBattlerPartyIndexes _0802536C: .4byte gBattleStruct _08025370: .4byte gBattleMons _08025374: .4byte gBattleTypeFlags -_08025378: .4byte gUnknown_2023D74 +_08025378: .4byte gBattlescriptCurrInstr thumb_func_end atk59_handlelearnnewmove thumb_func_start sub_802537C @@ -15564,14 +15564,14 @@ _080253C4: ldrb r0, [r1, 0x1F] adds r0, 0x1 strb r0, [r1, 0x1F] - ldr r0, _080253F8 @ =gUnknown_2023E82 + ldr r0, _080253F8 @ =gBattleCommunication strb r4, [r0, 0x1] bl sub_802DCB8 b _080256D0 .align 2, 0 _080253F0: .4byte gUnknown_83FE791 _080253F4: .4byte gBattleScripting -_080253F8: .4byte gUnknown_2023E82 +_080253F8: .4byte gBattleCommunication _080253FC: ldr r0, _08025484 @ =gMain ldrh r1, [r0, 0x2E] @@ -15579,7 +15579,7 @@ _080253FC: ands r0, r1 cmp r0, 0 beq _08025422 - ldr r4, _08025488 @ =gUnknown_2023E82 + ldr r4, _08025488 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 beq _08025422 @@ -15596,7 +15596,7 @@ _08025422: ands r0, r1 cmp r0, 0 beq _08025448 - ldr r4, _08025488 @ =gUnknown_2023E82 + ldr r4, _08025488 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 bne _08025448 @@ -15616,7 +15616,7 @@ _08025448: beq _0802548C movs r0, 0x5 bl PlaySE - ldr r0, _08025488 @ =gUnknown_2023E82 + ldr r0, _08025488 @ =gBattleCommunication ldrb r4, [r0, 0x1] cmp r4, 0 bne _0802549C @@ -15636,7 +15636,7 @@ _08025448: b _080254D8 .align 2, 0 _08025484: .4byte gMain -_08025488: .4byte gUnknown_2023E82 +_08025488: .4byte gBattleCommunication _0802548C: movs r0, 0x2 ands r0, r1 @@ -15755,7 +15755,7 @@ _08025580: .4byte 0x0000013f _08025584: .4byte gActiveBattler _08025588: .4byte gBattleScripting _0802558C: - ldr r3, _08025680 @ =gUnknown_2023D74 + ldr r3, _08025680 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -15872,7 +15872,7 @@ _08025622: bl SetBattleMonMoveSlot b _080256D0 .align 2, 0 -_08025680: .4byte gUnknown_2023D74 +_08025680: .4byte gBattlescriptCurrInstr _08025684: .4byte gBattleTextBuff2 _08025688: .4byte gMoveToLearn _0802568C: .4byte gBattlerPartyIndexes @@ -15889,13 +15889,13 @@ _080256A4: movs r2, 0x1D movs r3, 0xD bl sub_802DB7C - ldr r1, _080256C0 @ =gUnknown_2023D74 + ldr r1, _080256C0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _080256D0 .align 2, 0 -_080256C0: .4byte gUnknown_2023D74 +_080256C0: .4byte gBattlescriptCurrInstr _080256C4: ldr r0, _080256DC @ =gBattleControllerExecFlags ldr r0, [r0] @@ -15940,13 +15940,13 @@ _080256F8: ldrb r0, [r5, 0x1F] adds r0, 0x1 strb r0, [r5, 0x1F] - ldr r0, _08025724 @ =gUnknown_2023E82 + ldr r0, _08025724 @ =gBattleCommunication strb r4, [r0, 0x1] bl sub_802DCB8 b _0802580E .align 2, 0 _08025720: .4byte gUnknown_83FE791 -_08025724: .4byte gUnknown_2023E82 +_08025724: .4byte gBattleCommunication _08025728: ldr r0, _080257AC @ =gMain ldrh r1, [r0, 0x2E] @@ -15954,7 +15954,7 @@ _08025728: ands r0, r1 cmp r0, 0 beq _0802574E - ldr r4, _080257B0 @ =gUnknown_2023E82 + ldr r4, _080257B0 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 beq _0802574E @@ -15971,7 +15971,7 @@ _0802574E: ands r0, r1 cmp r0, 0 beq _08025774 - ldr r4, _080257B0 @ =gUnknown_2023E82 + ldr r4, _080257B0 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 bne _08025774 @@ -15991,11 +15991,11 @@ _08025774: beq _080257D8 movs r0, 0x5 bl PlaySE - ldr r0, _080257B0 @ =gUnknown_2023E82 + ldr r0, _080257B0 @ =gBattleCommunication ldrb r0, [r0, 0x1] cmp r0, 0 beq _080257B8 - ldr r3, _080257B4 @ =gUnknown_2023D74 + ldr r3, _080257B4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -16011,10 +16011,10 @@ _08025774: b _080257C0 .align 2, 0 _080257AC: .4byte gMain -_080257B0: .4byte gUnknown_2023E82 -_080257B4: .4byte gUnknown_2023D74 +_080257B0: .4byte gBattleCommunication +_080257B4: .4byte gBattlescriptCurrInstr _080257B8: - ldr r1, _080257D4 @ =gUnknown_2023D74 + ldr r1, _080257D4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -16028,7 +16028,7 @@ _080257C0: bl sub_802DB7C b _0802580E .align 2, 0 -_080257D4: .4byte gUnknown_2023D74 +_080257D4: .4byte gBattlescriptCurrInstr _080257D8: movs r0, 0x2 ands r0, r1 @@ -16036,7 +16036,7 @@ _080257D8: beq _0802580E movs r0, 0x5 bl PlaySE - ldr r3, _08025818 @ =gUnknown_2023D74 + ldr r3, _08025818 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -16061,16 +16061,16 @@ _0802580E: pop {r0} bx r0 .align 2, 0 -_08025818: .4byte gUnknown_2023D74 +_08025818: .4byte gBattlescriptCurrInstr thumb_func_end sub_80256E0 thumb_func_start sub_802581C sub_802581C: @ 802581C push {r4,lr} - ldr r4, _08025888 @ =gUnknown_2023D74 + ldr r4, _08025888 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r2, _0802588C @ =gActiveBattler strb r0, [r2] ldr r0, _08025890 @ =gMoveResultFlags @@ -16079,7 +16079,7 @@ sub_802581C: @ 802581C ands r0, r1 cmp r0, 0 bne _080258A0 - ldr r0, _08025894 @ =gUnknown_2023DD0 + ldr r0, _08025894 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 1 @@ -16111,17 +16111,17 @@ _0802586E: bl BtlController_EmitHitAnimation ldr r0, _0802588C @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08025888 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08025888 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] b _080258A6 .align 2, 0 -_08025888: .4byte gUnknown_2023D74 +_08025888: .4byte gBattlescriptCurrInstr _0802588C: .4byte gActiveBattler _08025890: .4byte gMoveResultFlags -_08025894: .4byte gUnknown_2023DD0 +_08025894: .4byte gHitMarker _08025898: .4byte gBattleMons _0802589C: .4byte gDisableStructs _080258A0: @@ -16334,16 +16334,16 @@ _08025A00: strb r0, [r1, 0x8] cmp r4, 0 beq _08025A48 - ldr r1, _08025A44 @ =gUnknown_2023D74 + ldr r1, _08025A44 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _08025A62 .align 2, 0 _08025A40: .4byte gBattleTextBuff1 -_08025A44: .4byte gUnknown_2023D74 +_08025A44: .4byte gBattlescriptCurrInstr _08025A48: - ldr r3, _08025A6C @ =gUnknown_2023D74 + ldr r3, _08025A6C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -16363,7 +16363,7 @@ _08025A62: pop {r0} bx r0 .align 2, 0 -_08025A6C: .4byte gUnknown_2023D74 +_08025A6C: .4byte gBattlescriptCurrInstr thumb_func_end sub_80258AC thumb_func_start atk5E @@ -16371,13 +16371,13 @@ atk5E: @ 8025A70 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r4, _08025A94 @ =gUnknown_2023D74 + ldr r4, _08025A94 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r6, _08025A98 @ =gActiveBattler strb r0, [r6] - ldr r5, _08025A9C @ =gUnknown_2023E82 + ldr r5, _08025A9C @ =gBattleCommunication ldrb r0, [r5] mov r8, r4 cmp r0, 0 @@ -16386,16 +16386,16 @@ atk5E: @ 8025A70 beq _08025AB8 b _08025B0C .align 2, 0 -_08025A94: .4byte gUnknown_2023D74 +_08025A94: .4byte gBattlescriptCurrInstr _08025A98: .4byte gActiveBattler -_08025A9C: .4byte gUnknown_2023E82 +_08025A9C: .4byte gBattleCommunication _08025AA0: movs r0, 0 movs r1, 0 movs r2, 0 bl BtlController_EmitGetMonData ldrb r0, [r6] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] @@ -16467,7 +16467,7 @@ atk5F: @ 8025B24 ldrb r0, [r1] strb r0, [r2] strb r3, [r1] - ldr r2, _08025B58 @ =gUnknown_2023DD0 + ldr r2, _08025B58 @ =gHitMarker ldr r1, [r2] movs r3, 0x80 lsls r3, 5 @@ -16482,20 +16482,20 @@ atk5F: @ 8025B24 _08025B4C: .4byte gActiveBattler _08025B50: .4byte gBattlerAttacker _08025B54: .4byte gBattlerTarget -_08025B58: .4byte gUnknown_2023DD0 +_08025B58: .4byte gHitMarker _08025B5C: .4byte 0xffffefff _08025B60: orrs r1, r3 _08025B62: str r1, [r2] - ldr r1, _08025B70 @ =gUnknown_2023D74 + ldr r1, _08025B70 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_08025B70: .4byte gUnknown_2023D74 +_08025B70: .4byte gBattlescriptCurrInstr thumb_func_end atk5F thumb_func_start atk60_incrementgamestat @@ -16507,12 +16507,12 @@ atk60_incrementgamestat: @ 8025B74 lsls r0, 24 cmp r0, 0 bne _08025B8E - ldr r0, _08025BA0 @ =gUnknown_2023D74 + ldr r0, _08025BA0 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] bl IncrementGameStat _08025B8E: - ldr r1, _08025BA0 @ =gUnknown_2023D74 + ldr r1, _08025BA0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -16520,7 +16520,7 @@ _08025B8E: bx r0 .align 2, 0 _08025B9C: .4byte gBattlerAttacker -_08025BA0: .4byte gUnknown_2023D74 +_08025BA0: .4byte gBattlescriptCurrInstr thumb_func_end atk60_incrementgamestat thumb_func_start atk61_drawpartystatussummary @@ -16533,10 +16533,10 @@ atk61_drawpartystatussummary: @ 8025BA4 ldr r0, [r0] cmp r0, 0 bne _08025C58 - ldr r0, _08025C0C @ =gUnknown_2023D74 + ldr r0, _08025C0C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _08025C10 @ =gActiveBattler strb r0, [r1] ldrb r0, [r1] @@ -16576,7 +16576,7 @@ _08025C00: b _08025C32 .align 2, 0 _08025C08: .4byte gBattleControllerExecFlags -_08025C0C: .4byte gUnknown_2023D74 +_08025C0C: .4byte gBattlescriptCurrInstr _08025C10: .4byte gActiveBattler _08025C14: .4byte gEnemyParty _08025C18: .4byte gPlayerParty @@ -16602,8 +16602,8 @@ _08025C32: bl BtlController_EmitDrawPartyStatusSummary ldr r0, _08025C64 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08025C68 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08025C68 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -16616,22 +16616,22 @@ _08025C58: bx r0 .align 2, 0 _08025C64: .4byte gActiveBattler -_08025C68: .4byte gUnknown_2023D74 +_08025C68: .4byte gBattlescriptCurrInstr thumb_func_end atk61_drawpartystatussummary thumb_func_start atk62 atk62: @ 8025C6C push {r4,r5,lr} - ldr r5, _08025C94 @ =gUnknown_2023D74 + ldr r5, _08025C94 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08025C98 @ =gActiveBattler strb r0, [r4] movs r0, 0 bl BtlController_EmitHidePartyStatusSummary ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -16639,14 +16639,14 @@ atk62: @ 8025C6C pop {r0} bx r0 .align 2, 0 -_08025C94: .4byte gUnknown_2023D74 +_08025C94: .4byte gBattlescriptCurrInstr _08025C98: .4byte gActiveBattler thumb_func_end atk62 thumb_func_start atk63_jumptorandomattack atk63_jumptorandomattack: @ 8025C9C push {r4,lr} - ldr r0, _08025CB4 @ =gUnknown_2023D74 + ldr r0, _08025CB4 @ =gBattlescriptCurrInstr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r4, r0, 0 @@ -16658,7 +16658,7 @@ atk63_jumptorandomattack: @ 8025C9C strh r1, [r0] b _08025CCE .align 2, 0 -_08025CB4: .4byte gUnknown_2023D74 +_08025CB4: .4byte gBattlescriptCurrInstr _08025CB8: .4byte gCurrentMove _08025CBC: .4byte gUnknown_2023D4E _08025CC0: @@ -16700,10 +16700,10 @@ atk64_statusanimation: @ 8025D00 ldr r0, [r0] cmp r0, 0 bne _08025D68 - ldr r0, _08025D74 @ =gUnknown_2023D74 + ldr r0, _08025D74 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08025D78 @ =gActiveBattler strb r0, [r4] ldr r1, _08025D7C @ =gStatuses3 @@ -16723,7 +16723,7 @@ atk64_statusanimation: @ 8025D00 ldrb r0, [r1, 0xA] cmp r0, 0 bne _08025D60 - ldr r0, _08025D88 @ =gUnknown_2023DD0 + ldr r0, _08025D88 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -16739,9 +16739,9 @@ atk64_statusanimation: @ 8025D00 movs r1, 0 bl BtlController_EmitStatusAnimation ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08025D60: - ldr r1, _08025D74 @ =gUnknown_2023D74 + ldr r1, _08025D74 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -16751,12 +16751,12 @@ _08025D68: bx r0 .align 2, 0 _08025D70: .4byte gBattleControllerExecFlags -_08025D74: .4byte gUnknown_2023D74 +_08025D74: .4byte gBattlescriptCurrInstr _08025D78: .4byte gActiveBattler _08025D7C: .4byte gStatuses3 _08025D80: .4byte 0x000400c0 _08025D84: .4byte gDisableStructs -_08025D88: .4byte gUnknown_2023DD0 +_08025D88: .4byte gHitMarker _08025D8C: .4byte gBattleMons thumb_func_end atk64_statusanimation @@ -16767,10 +16767,10 @@ atk65_status2animation: @ 8025D90 ldr r0, [r0] cmp r0, 0 bne _08025E10 - ldr r4, _08025E1C @ =gUnknown_2023D74 + ldr r4, _08025E1C @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _08025E20 @ =gActiveBattler strb r0, [r5] ldr r1, [r4] @@ -16801,7 +16801,7 @@ atk65_status2animation: @ 8025D90 ldrb r0, [r1, 0xA] cmp r0, 0 bne _08025E08 - ldr r0, _08025E30 @ =gUnknown_2023DD0 + ldr r0, _08025E30 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -16818,9 +16818,9 @@ atk65_status2animation: @ 8025D90 movs r1, 0x1 bl BtlController_EmitStatusAnimation ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08025E08: - ldr r1, _08025E1C @ =gUnknown_2023D74 + ldr r1, _08025E1C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x6 str r0, [r1] @@ -16830,12 +16830,12 @@ _08025E10: bx r0 .align 2, 0 _08025E18: .4byte gBattleControllerExecFlags -_08025E1C: .4byte gUnknown_2023D74 +_08025E1C: .4byte gBattlescriptCurrInstr _08025E20: .4byte gActiveBattler _08025E24: .4byte gStatuses3 _08025E28: .4byte 0x000400c0 _08025E2C: .4byte gDisableStructs -_08025E30: .4byte gUnknown_2023DD0 +_08025E30: .4byte gHitMarker _08025E34: .4byte gBattleMons thumb_func_end atk65_status2animation @@ -16846,10 +16846,10 @@ atk66_chosenstatusanimation: @ 8025E38 ldr r0, [r0] cmp r0, 0 bne _08025EAA - ldr r4, _08025EB4 @ =gUnknown_2023D74 + ldr r4, _08025EB4 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _08025EB8 @ =gActiveBattler strb r0, [r5] ldr r4, [r4] @@ -16880,7 +16880,7 @@ atk66_chosenstatusanimation: @ 8025E38 ldrb r0, [r1, 0xA] cmp r0, 0 bne _08025EA2 - ldr r0, _08025EC8 @ =gUnknown_2023DD0 + ldr r0, _08025EC8 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -16890,9 +16890,9 @@ atk66_chosenstatusanimation: @ 8025E38 movs r0, 0 bl BtlController_EmitStatusAnimation ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08025EA2: - ldr r1, _08025EB4 @ =gUnknown_2023D74 + ldr r1, _08025EB4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x7 str r0, [r1] @@ -16902,19 +16902,19 @@ _08025EAA: bx r0 .align 2, 0 _08025EB0: .4byte gBattleControllerExecFlags -_08025EB4: .4byte gUnknown_2023D74 +_08025EB4: .4byte gBattlescriptCurrInstr _08025EB8: .4byte gActiveBattler _08025EBC: .4byte gStatuses3 _08025EC0: .4byte 0x000400c0 _08025EC4: .4byte gDisableStructs -_08025EC8: .4byte gUnknown_2023DD0 +_08025EC8: .4byte gHitMarker thumb_func_end atk66_chosenstatusanimation thumb_func_start atk67_yesnobox atk67_yesnobox: @ 8025ECC push {r4,r5,lr} sub sp, 0x4 - ldr r5, _08025EE0 @ =gUnknown_2023E82 + ldr r5, _08025EE0 @ =gBattleCommunication ldrb r4, [r5] cmp r4, 0 beq _08025EE4 @@ -16922,7 +16922,7 @@ atk67_yesnobox: @ 8025ECC beq _08025F0C b _08025F9A .align 2, 0 -_08025EE0: .4byte gUnknown_2023E82 +_08025EE0: .4byte gBattleCommunication _08025EE4: str r4, [sp] movs r0, 0x17 @@ -16964,7 +16964,7 @@ _08025F30: ands r0, r1 cmp r0, 0 beq _08025F56 - ldr r4, _08025F70 @ =gUnknown_2023E82 + ldr r4, _08025F70 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 bne _08025F56 @@ -16981,13 +16981,13 @@ _08025F56: ands r0, r1 cmp r0, 0 beq _08025F74 - ldr r0, _08025F70 @ =gUnknown_2023E82 + ldr r0, _08025F70 @ =gBattleCommunication movs r4, 0x1 strb r4, [r0, 0x1] b _08025F7E .align 2, 0 _08025F6C: .4byte gMain -_08025F70: .4byte gUnknown_2023E82 +_08025F70: .4byte gBattleCommunication _08025F74: movs r4, 0x1 adds r0, r4, 0 @@ -17003,7 +17003,7 @@ _08025F7E: movs r2, 0x1D movs r3, 0xD bl sub_802DB7C - ldr r1, _08025FA4 @ =gUnknown_2023D74 + ldr r1, _08025FA4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -17013,7 +17013,7 @@ _08025F9A: pop {r0} bx r0 .align 2, 0 -_08025FA4: .4byte gUnknown_2023D74 +_08025FA4: .4byte gBattlescriptCurrInstr thumb_func_end atk67_yesnobox thumb_func_start atk68_cancelallactions @@ -17021,7 +17021,7 @@ atk68_cancelallactions: @ 8025FA8 push {r4,r5,lr} movs r1, 0 ldr r2, _08025FD4 @ =gBattlersCount - ldr r5, _08025FD8 @ =gUnknown_2023D74 + ldr r5, _08025FD8 @ =gBattlescriptCurrInstr ldrb r0, [r2] cmp r1, r0 bge _08025FC6 @@ -17043,7 +17043,7 @@ _08025FC6: bx r0 .align 2, 0 _08025FD4: .4byte gBattlersCount -_08025FD8: .4byte gUnknown_2023D74 +_08025FD8: .4byte gBattlescriptCurrInstr _08025FDC: .4byte gUnknown_2023BDA thumb_func_end atk68_cancelallactions @@ -17103,7 +17103,7 @@ _0802602E: ldrb r0, [r5] movs r1, 0x27 bl sub_80C7208 - ldr r2, _080260F8 @ =gUnknown_2023ECC + ldr r2, _080260F8 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -17139,14 +17139,14 @@ _0802606C: ldrb r0, [r0] cmp r0, 0x65 beq _080260BE - ldr r0, _08026108 @ =gUnknown_2023E8C + ldr r0, _08026108 @ =gProtectStructs lsls r1, r4, 4 adds r1, r0 ldrb r0, [r1] lsls r0, 30 cmp r0, 0 blt _080260BE - ldr r0, _080260F8 @ =gUnknown_2023ECC + ldr r0, _080260F8 @ =gSpecialStatuses lsls r1, r4, 2 adds r1, r4 lsls r1, 2 @@ -17167,7 +17167,7 @@ _080260BE: bgt _0802613C subs r0, r1, 0x1 str r0, [r2] - ldr r1, _08026108 @ =gUnknown_2023E8C + ldr r1, _08026108 @ =gProtectStructs ldrb r3, [r3] lsls r0, r3, 4 adds r0, r1 @@ -17184,15 +17184,15 @@ _080260BE: .align 2, 0 _080260F0: .4byte gPotentialItemEffectBattler _080260F4: .4byte gBattlerTarget -_080260F8: .4byte gUnknown_2023ECC +_080260F8: .4byte gSpecialStatuses _080260FC: .4byte gBattleMons _08026100: .4byte gBattleMoves _08026104: .4byte gCurrentMove -_08026108: .4byte gUnknown_2023E8C +_08026108: .4byte gProtectStructs _0802610C: .4byte gBattleMoveDamage _08026110: .4byte gMoveResultFlags _08026114: - ldr r0, _0802614C @ =gUnknown_2023ECC + ldr r0, _0802614C @ =gSpecialStatuses lsls r1, r3, 2 adds r1, r3 lsls r1, 2 @@ -17213,7 +17213,7 @@ _08026114: ldrh r0, [r0, 0x2E] strh r0, [r1] _0802613C: - ldr r1, _08026158 @ =gUnknown_2023D74 + ldr r1, _08026158 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -17221,20 +17221,20 @@ _0802613C: pop {r0} bx r0 .align 2, 0 -_0802614C: .4byte gUnknown_2023ECC +_0802614C: .4byte gSpecialStatuses _08026150: .4byte gMoveResultFlags _08026154: .4byte gLastUsedItem -_08026158: .4byte gUnknown_2023D74 +_08026158: .4byte gBattlescriptCurrInstr thumb_func_end atk69_adjustsetdamage thumb_func_start atk6A_removeitem atk6A_removeitem: @ 802615C push {r4-r6,lr} sub sp, 0x4 - ldr r6, _080261BC @ =gUnknown_2023D74 + ldr r6, _080261BC @ =gBattlescriptCurrInstr ldr r0, [r6] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _080261C0 @ =gActiveBattler strb r0, [r5] ldr r1, _080261C4 @ =gBattleStruct @@ -17266,7 +17266,7 @@ atk6A_removeitem: @ 802615C movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r6] adds r0, 0x2 str r0, [r6] @@ -17275,7 +17275,7 @@ atk6A_removeitem: @ 802615C pop {r0} bx r0 .align 2, 0 -_080261BC: .4byte gUnknown_2023D74 +_080261BC: .4byte gBattlescriptCurrInstr _080261C0: .4byte gActiveBattler _080261C4: .4byte gBattleStruct _080261C8: .4byte gBattleMons @@ -17299,7 +17299,7 @@ atk6B_atknameinbuff1: @ 80261CC strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _08026204 @ =gUnknown_2023D74 + ldr r1, _08026204 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -17308,7 +17308,7 @@ atk6B_atknameinbuff1: @ 80261CC _080261F8: .4byte gBattleTextBuff1 _080261FC: .4byte gBattlerAttacker _08026200: .4byte gBattlerPartyIndexes -_08026204: .4byte gUnknown_2023D74 +_08026204: .4byte gBattlescriptCurrInstr thumb_func_end atk6B_atknameinbuff1 thumb_func_start atk6C_drawlvlupbox @@ -17524,7 +17524,7 @@ _080263C4: bl ShowBg movs r0, 0x1 bl ShowBg - ldr r1, _08026400 @ =gUnknown_2023D74 + ldr r1, _08026400 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -17534,7 +17534,7 @@ _080263F6: pop {r0} bx r0 .align 2, 0 -_08026400: .4byte gUnknown_2023D74 +_08026400: .4byte gBattlescriptCurrInstr thumb_func_end atk6C_drawlvlupbox thumb_func_start sub_8026404 @@ -18025,14 +18025,14 @@ _080267D2: atk6D_resetsentmonsvalue: @ 80267D8 push {lr} bl ResetSentPokesToOpponentValue - ldr r1, _080267EC @ =gUnknown_2023D74 + ldr r1, _080267EC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080267EC: .4byte gUnknown_2023D74 +_080267EC: .4byte gBattlescriptCurrInstr thumb_func_end atk6D_resetsentmonsvalue thumb_func_start atk6E_setatktoplayer0 @@ -18042,7 +18042,7 @@ atk6E_setatktoplayer0: @ 80267F0 bl GetBattlerAtPosition ldr r1, _08026808 @ =gBattlerAttacker strb r0, [r1] - ldr r1, _0802680C @ =gUnknown_2023D74 + ldr r1, _0802680C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -18050,23 +18050,23 @@ atk6E_setatktoplayer0: @ 80267F0 bx r0 .align 2, 0 _08026808: .4byte gBattlerAttacker -_0802680C: .4byte gUnknown_2023D74 +_0802680C: .4byte gBattlescriptCurrInstr thumb_func_end atk6E_setatktoplayer0 thumb_func_start atk6F_makevisible atk6F_makevisible: @ 8026810 push {r4,r5,lr} - ldr r5, _0802683C @ =gUnknown_2023D74 + ldr r5, _0802683C @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08026840 @ =gActiveBattler strb r0, [r4] movs r0, 0 movs r1, 0 bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -18074,17 +18074,17 @@ atk6F_makevisible: @ 8026810 pop {r0} bx r0 .align 2, 0 -_0802683C: .4byte gUnknown_2023D74 +_0802683C: .4byte gBattlescriptCurrInstr _08026840: .4byte gActiveBattler thumb_func_end atk6F_makevisible thumb_func_start atk70_recordlastability atk70_recordlastability: @ 8026844 push {r4,lr} - ldr r4, _0802686C @ =gUnknown_2023D74 + ldr r4, _0802686C @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _08026870 @ =gActiveBattler strb r0, [r1] ldrb r0, [r1] @@ -18098,7 +18098,7 @@ atk70_recordlastability: @ 8026844 pop {r0} bx r0 .align 2, 0 -_0802686C: .4byte gUnknown_2023D74 +_0802686C: .4byte gBattlescriptCurrInstr _08026870: .4byte gActiveBattler _08026874: .4byte gLastUsedAbility thumb_func_end atk70_recordlastability @@ -18130,26 +18130,26 @@ _0802689C: .4byte gMoveToLearn atk71_buffermovetolearn: @ 80268A0 push {lr} bl BufferMoveToLearnIntoBattleTextBuff2 - ldr r1, _080268B4 @ =gUnknown_2023D74 + ldr r1, _080268B4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080268B4: .4byte gUnknown_2023D74 +_080268B4: .4byte gBattlescriptCurrInstr thumb_func_end atk71_buffermovetolearn thumb_func_start atk72_jumpifplayerran atk72_jumpifplayerran: @ 80268B8 push {lr} - ldr r0, _080268E4 @ =gUnknown_2023D6D + ldr r0, _080268E4 @ =gBattlerFainted ldrb r0, [r0] bl sub_8016748 lsls r0, 24 cmp r0, 0 beq _080268EC - ldr r3, _080268E8 @ =gUnknown_2023D74 + ldr r3, _080268E8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -18164,10 +18164,10 @@ atk72_jumpifplayerran: @ 80268B8 str r1, [r3] b _080268F4 .align 2, 0 -_080268E4: .4byte gUnknown_2023D6D -_080268E8: .4byte gUnknown_2023D74 +_080268E4: .4byte gBattlerFainted +_080268E8: .4byte gBattlescriptCurrInstr _080268EC: - ldr r1, _080268F8 @ =gUnknown_2023D74 + ldr r1, _080268F8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -18175,7 +18175,7 @@ _080268F4: pop {r0} bx r0 .align 2, 0 -_080268F8: .4byte gUnknown_2023D74 +_080268F8: .4byte gBattlescriptCurrInstr thumb_func_end atk72_jumpifplayerran thumb_func_start atk73_hpthresholds @@ -18187,10 +18187,10 @@ atk73_hpthresholds: @ 80268FC ands r4, r6 cmp r4, 0 bne _08026992 - ldr r0, _08026950 @ =gUnknown_2023D74 + ldr r0, _08026950 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _08026954 @ =gActiveBattler strb r0, [r1] movs r1, 0x1 @@ -18222,7 +18222,7 @@ _08026942: b _08026992 .align 2, 0 _0802694C: .4byte gBattleTypeFlags -_08026950: .4byte gUnknown_2023D74 +_08026950: .4byte gBattlescriptCurrInstr _08026954: .4byte gActiveBattler _08026958: .4byte gBattleMons _0802695C: .4byte gBattleStruct @@ -18254,7 +18254,7 @@ _08026988: _08026990: strb r1, [r0] _08026992: - ldr r1, _080269A4 @ =gUnknown_2023D74 + ldr r1, _080269A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -18263,7 +18263,7 @@ _08026992: bx r0 .align 2, 0 _080269A0: .4byte gBattleStruct -_080269A4: .4byte gUnknown_2023D74 +_080269A4: .4byte gBattlescriptCurrInstr thumb_func_end atk73_hpthresholds thumb_func_start atk74_hpthresholds2 @@ -18278,10 +18278,10 @@ atk74_hpthresholds2: @ 80269A8 ands r7, r0 cmp r7, 0 bne _08026A42 - ldr r0, _08026A10 @ =gUnknown_2023D74 + ldr r0, _08026A10 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript adds r4, r0, 0 ldr r0, _08026A14 @ =gActiveBattler strb r4, [r0] @@ -18317,7 +18317,7 @@ atk74_hpthresholds2: @ 80269A8 b _08026A42 .align 2, 0 _08026A0C: .4byte gBattleTypeFlags -_08026A10: .4byte gUnknown_2023D74 +_08026A10: .4byte gBattlescriptCurrInstr _08026A14: .4byte gActiveBattler _08026A18: .4byte gBattleStruct _08026A1C: .4byte gBattleMons @@ -18343,7 +18343,7 @@ _08026A3A: _08026A40: strb r0, [r1] _08026A42: - ldr r1, _08026A54 @ =gUnknown_2023D74 + ldr r1, _08026A54 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -18353,7 +18353,7 @@ _08026A42: pop {r0} bx r0 .align 2, 0 -_08026A54: .4byte gUnknown_2023D74 +_08026A54: .4byte gBattlescriptCurrInstr thumb_func_end atk74_hpthresholds2 thumb_func_start atk75_useitemonopponent @@ -18381,7 +18381,7 @@ atk75_useitemonopponent: @ 8026A58 str r3, [sp] movs r3, 0 bl PokemonUseItemEffects - ldr r1, _08026AAC @ =gUnknown_2023D74 + ldr r1, _08026AAC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -18394,7 +18394,7 @@ _08026A9C: .4byte gBattlerAttacker _08026AA0: .4byte gBattlerPartyIndexes _08026AA4: .4byte gEnemyParty _08026AA8: .4byte gLastUsedItem -_08026AAC: .4byte gUnknown_2023D74 +_08026AAC: .4byte gBattlescriptCurrInstr thumb_func_end atk75_useitemonopponent thumb_func_start sub_8026AB0 @@ -18404,10 +18404,10 @@ sub_8026AB0: @ 8026AB0 mov r6, r8 push {r6,r7} sub sp, 0x8 - ldr r4, _08026ADC @ =gUnknown_2023D74 + ldr r4, _08026ADC @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _08026AE0 @ =gActiveBattler strb r0, [r1] ldr r0, [r4] @@ -18422,7 +18422,7 @@ _08026AD2: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08026ADC: .4byte gUnknown_2023D74 +_08026ADC: .4byte gBattlescriptCurrInstr _08026AE0: .4byte gActiveBattler _08026AE4: .4byte _08026AE8 .align 2, 0 @@ -18492,11 +18492,11 @@ _08026B84: .4byte gBattlerTarget _08026B88: .4byte gActiveBattler _08026B8C: bl IsRunningFromBattleImpossible - ldr r1, _08026B98 @ =gUnknown_2023E82 + ldr r1, _08026B98 @ =gBattleCommunication strb r0, [r1] b _08026F4E .align 2, 0 -_08026B98: .4byte gUnknown_2023E82 +_08026B98: .4byte gBattleCommunication _08026B9C: ldr r0, _08026BAC @ =gCurrentMove ldrh r0, [r0] @@ -18509,7 +18509,7 @@ _08026B9C: _08026BAC: .4byte gCurrentMove _08026BB0: .4byte gBattlerTarget _08026BB4: - ldr r2, _08026BD4 @ =gUnknown_2023DD0 + ldr r2, _08026BD4 @ =gHitMarker ldr r1, _08026BD8 @ =gBitTable ldr r0, _08026BDC @ =gActiveBattler ldrb r0, [r0] @@ -18521,23 +18521,23 @@ _08026BB4: ands r2, r0 cmp r2, 0 beq _08026BE4 - ldr r1, _08026BE0 @ =gUnknown_2023E82 + ldr r1, _08026BE0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1] b _08026F4E .align 2, 0 -_08026BD4: .4byte gUnknown_2023DD0 +_08026BD4: .4byte gHitMarker _08026BD8: .4byte gBitTable _08026BDC: .4byte gActiveBattler -_08026BE0: .4byte gUnknown_2023E82 +_08026BE0: .4byte gBattleCommunication _08026BE4: - ldr r0, _08026BEC @ =gUnknown_2023E82 + ldr r0, _08026BEC @ =gBattleCommunication strb r2, [r0] b _08026F4E .align 2, 0 -_08026BEC: .4byte gUnknown_2023E82 +_08026BEC: .4byte gBattleCommunication _08026BF0: - ldr r4, _08026C20 @ =gUnknown_2023ECC + ldr r4, _08026C20 @ =gSpecialStatuses ldr r3, _08026C24 @ =gActiveBattler ldrb r0, [r3] lsls r1, r0, 2 @@ -18561,7 +18561,7 @@ _08026BF0: strb r0, [r1] b _08026F4E .align 2, 0 -_08026C20: .4byte gUnknown_2023ECC +_08026C20: .4byte gSpecialStatuses _08026C24: .4byte gActiveBattler _08026C28: ldr r4, _08026C4C @ =gBattlerPartyIndexes @@ -18658,7 +18658,7 @@ _08026CCC: bne _08026CD8 b _08026F4E _08026CD8: - ldr r0, _08026CEC @ =gUnknown_2023DD0 + ldr r0, _08026CEC @ =gHitMarker ldr r1, [r0] ldr r2, _08026CF0 @ =0xffbfffff ands r1, r2 @@ -18667,11 +18667,11 @@ _08026CD8: .align 2, 0 _08026CE4: .4byte gBattleTypeFlags _08026CE8: .4byte gBattleMons -_08026CEC: .4byte gUnknown_2023DD0 +_08026CEC: .4byte gHitMarker _08026CF0: .4byte 0xffbfffff _08026CF4: movs r7, 0 - ldr r2, _08026D3C @ =gUnknown_2023E82 + ldr r2, _08026D3C @ =gBattleCommunication strb r7, [r2, 0x5] ldr r1, _08026D40 @ =gActiveBattler movs r0, 0x1 @@ -18709,7 +18709,7 @@ _08026D2A: bls _08026D0C b _08026F4E .align 2, 0 -_08026D3C: .4byte gUnknown_2023E82 +_08026D3C: .4byte gBattleCommunication _08026D40: .4byte gActiveBattler _08026D44: .4byte gBattlersCount _08026D48: .4byte gBattleMons @@ -18748,14 +18748,14 @@ _08026D84: movs r1, 0 bl BtlController_EmitReturnMonToBall ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _08026F4E .align 2, 0 _08026D94: .4byte gBattlersCount _08026D98: .4byte gActiveBattler _08026D9C: .4byte gBattleMons _08026DA0: - ldr r0, _08026F28 @ =gUnknown_2023E82 + ldr r0, _08026F28 @ =gBattleCommunication movs r1, 0 strb r1, [r0, 0x5] mov r8, r1 @@ -18865,8 +18865,8 @@ _08026E4E: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _08026F28 @ =gUnknown_2023E82 + bl MarkBattlerForControllerExec + ldr r1, _08026F28 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] _08026E88: @@ -18940,13 +18940,13 @@ _08026EEC: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _08026F28 @ =gUnknown_2023E82 + bl MarkBattlerForControllerExec + ldr r1, _08026F28 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08026F4E .align 2, 0 -_08026F28: .4byte gUnknown_2023E82 +_08026F28: .4byte gBattleCommunication _08026F2C: .4byte gBattlersCount _08026F30: .4byte gBattleMons _08026F34: .4byte 0xf7ffffff @@ -18959,7 +18959,7 @@ _08026F44: cmp r0, 0 beq _08026F56 _08026F4E: - ldr r1, _08026F64 @ =gUnknown_2023D74 + ldr r1, _08026F64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x3 str r0, [r1] @@ -18972,7 +18972,7 @@ _08026F56: pop {r0} bx r0 .align 2, 0 -_08026F64: .4byte gUnknown_2023D74 +_08026F64: .4byte gBattlescriptCurrInstr thumb_func_end sub_8026AB0 thumb_func_start atk77_setprotectlike @@ -19039,7 +19039,7 @@ _08026FA8: ldrb r0, [r1] cmp r0, 0x6F bne _08026FF8 - ldr r0, _08027054 @ =gUnknown_2023E8C + ldr r0, _08027054 @ =gProtectStructs ldrb r1, [r5] lsls r1, 4 adds r1, r0 @@ -19047,7 +19047,7 @@ _08026FA8: movs r2, 0x1 orrs r0, r2 strb r0, [r1] - ldr r1, _08027058 @ =gUnknown_2023E82 + ldr r1, _08027058 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] _08026FF8: @@ -19059,7 +19059,7 @@ _08026FF8: ldrb r0, [r1] cmp r0, 0x74 bne _0802701E - ldr r0, _08027054 @ =gUnknown_2023E8C + ldr r0, _08027054 @ =gProtectStructs ldrb r1, [r5] lsls r1, 4 adds r1, r0 @@ -19067,7 +19067,7 @@ _08026FF8: movs r2, 0x2 orrs r0, r2 strb r0, [r1] - ldr r1, _08027058 @ =gUnknown_2023E82 + ldr r1, _08027058 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] _0802701E: @@ -19090,8 +19090,8 @@ _08027044: .4byte gBattlersCount _08027048: .4byte gUnknown_82507E0 _0802704C: .4byte gBattleMoves _08027050: .4byte gCurrentMove -_08027054: .4byte gUnknown_2023E8C -_08027058: .4byte gUnknown_2023E82 +_08027054: .4byte gProtectStructs +_08027058: .4byte gBattleCommunication _0802705C: ldr r2, _08027090 @ =gDisableStructs ldr r0, _08027094 @ =gBattlerAttacker @@ -19102,7 +19102,7 @@ _0802705C: adds r0, r2 movs r1, 0 strb r1, [r0, 0x8] - ldr r1, _08027098 @ =gUnknown_2023E82 + ldr r1, _08027098 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] ldr r2, _0802709C @ =gMoveResultFlags @@ -19111,7 +19111,7 @@ _0802705C: orrs r0, r1 strb r0, [r2] _0802707E: - ldr r1, _080270A0 @ =gUnknown_2023D74 + ldr r1, _080270A0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19123,9 +19123,9 @@ _0802707E: .align 2, 0 _08027090: .4byte gDisableStructs _08027094: .4byte gBattlerAttacker -_08027098: .4byte gUnknown_2023E82 +_08027098: .4byte gBattleCommunication _0802709C: .4byte gMoveResultFlags -_080270A0: .4byte gUnknown_2023D74 +_080270A0: .4byte gBattlescriptCurrInstr thumb_func_end atk77_setprotectlike thumb_func_start atk78_faintifabilitynotdamp @@ -19190,8 +19190,8 @@ _080270F0: movs r0, 0 bl BtlController_EmitHealthBarUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _08027180 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08027180 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19235,7 +19235,7 @@ _08027170: .4byte gActiveBattler _08027174: .4byte gBattlerAttacker _08027178: .4byte gBattleMoveDamage _0802717C: .4byte 0x00007fff -_08027180: .4byte gUnknown_2023D74 +_08027180: .4byte gBattlescriptCurrInstr _08027184: .4byte gBitTable _08027188: .4byte gAbsentBattlerFlags _0802718C: @@ -19249,7 +19249,7 @@ _0802718C: adds r1, 0x20 ldrb r1, [r1] bl sub_80C71D0 - ldr r1, _080271B8 @ =gUnknown_2023D74 + ldr r1, _080271B8 @ =gBattlescriptCurrInstr ldr r0, _080271BC @ =gUnknown_81D93AF str r0, [r1] _080271A8: @@ -19260,7 +19260,7 @@ _080271A8: bx r0 .align 2, 0 _080271B4: .4byte gLastUsedAbility -_080271B8: .4byte gUnknown_2023D74 +_080271B8: .4byte gBattlescriptCurrInstr _080271BC: .4byte gUnknown_81D93AF thumb_func_end atk78_faintifabilitynotdamp @@ -19293,8 +19293,8 @@ atk79_setatkhptozero: @ 80271C0 movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _0802721C @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802721C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19308,13 +19308,13 @@ _0802720C: .4byte gBattleControllerExecFlags _08027210: .4byte gActiveBattler _08027214: .4byte gBattlerAttacker _08027218: .4byte gBattleMons -_0802721C: .4byte gUnknown_2023D74 +_0802721C: .4byte gBattlescriptCurrInstr thumb_func_end atk79_setatkhptozero thumb_func_start atk7A_jumpifnexttargetvalid atk7A_jumpifnexttargetvalid: @ 8027220 push {r4-r7,lr} - ldr r3, _08027298 @ =gUnknown_2023D74 + ldr r3, _08027298 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r4, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -19376,7 +19376,7 @@ _08027276: str r0, [r7] b _080272BC .align 2, 0 -_08027298: .4byte gUnknown_2023D74 +_08027298: .4byte gBattlescriptCurrInstr _0802729C: .4byte gBattleTypeFlags _080272A0: .4byte gBattlerTarget _080272A4: .4byte gBattlerAttacker @@ -19398,7 +19398,7 @@ _080272BC: thumb_func_start atk7B_tryhealhalfhealth atk7B_tryhealhalfhealth: @ 80272C4 push {r4-r6,lr} - ldr r4, _08027320 @ =gUnknown_2023D74 + ldr r4, _08027320 @ =gBattlescriptCurrInstr ldr r1, [r4] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -19445,7 +19445,7 @@ _08027306: str r2, [r4] b _0802733A .align 2, 0 -_08027320: .4byte gUnknown_2023D74 +_08027320: .4byte gBattlescriptCurrInstr _08027324: .4byte gBattlerTarget _08027328: .4byte gBattlerAttacker _0802732C: .4byte gBattleMoveDamage @@ -19538,7 +19538,7 @@ _080273AC: ldr r0, _080273EC @ =0x0000ffff cmp r3, r0 beq _080273FC - ldr r2, _080273F0 @ =gUnknown_2023DD0 + ldr r2, _080273F0 @ =gHitMarker ldr r0, [r2] ldr r1, _080273F4 @ =0xfffffbff ands r0, r1 @@ -19551,14 +19551,14 @@ _080273E0: .4byte gBattlersCount _080273E4: .4byte gBattleStruct _080273E8: .4byte gBattlerAttacker _080273EC: .4byte 0x0000ffff -_080273F0: .4byte gUnknown_2023DD0 +_080273F0: .4byte gHitMarker _080273F4: .4byte 0xfffffbff _080273F8: .4byte gCurrentMove _080273FC: mov r0, r8 cmp r0, 0 beq _0802746C - ldr r2, _08027450 @ =gUnknown_2023DD0 + ldr r2, _08027450 @ =gHitMarker ldr r0, [r2] ldr r1, _08027454 @ =0xfffffbff ands r0, r1 @@ -19580,7 +19580,7 @@ _08027426: bl GetMoveTarget ldr r1, _0802745C @ =gBattlerTarget strb r0, [r1] - ldr r5, _08027460 @ =gUnknown_2023D74 + ldr r5, _08027460 @ =gBattlescriptCurrInstr ldr r3, _08027464 @ =gUnknown_81D65A8 ldr r2, _08027468 @ =gBattleMoves ldrh r1, [r4] @@ -19595,15 +19595,15 @@ _08027426: str r0, [r5] b _0802748A .align 2, 0 -_08027450: .4byte gUnknown_2023DD0 +_08027450: .4byte gHitMarker _08027454: .4byte 0xfffffbff _08027458: .4byte gCurrentMove _0802745C: .4byte gBattlerTarget -_08027460: .4byte gUnknown_2023D74 +_08027460: .4byte gBattlescriptCurrInstr _08027464: .4byte gUnknown_81D65A8 _08027468: .4byte gBattleMoves _0802746C: - ldr r2, _0802749C @ =gUnknown_2023ECC + ldr r2, _0802749C @ =gSpecialStatuses ldr r0, _080274A0 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 @@ -19614,7 +19614,7 @@ _0802746C: movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r1, _080274A4 @ =gUnknown_2023D74 + ldr r1, _080274A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19628,9 +19628,9 @@ _0802748A: pop {r0} bx r0 .align 2, 0 -_0802749C: .4byte gUnknown_2023ECC +_0802749C: .4byte gSpecialStatuses _080274A0: .4byte gBattlerAttacker -_080274A4: .4byte gUnknown_2023D74 +_080274A4: .4byte gBattlescriptCurrInstr thumb_func_end atk7C_trymirrormove thumb_func_start atk7D_setrain @@ -19647,34 +19647,34 @@ atk7D_setrain: @ 80274A8 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _080274D0 @ =gUnknown_2023E82 + ldr r1, _080274D0 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _080274E4 .align 2, 0 _080274C8: .4byte gBattleWeather _080274CC: .4byte gMoveResultFlags -_080274D0: .4byte gUnknown_2023E82 +_080274D0: .4byte gBattleCommunication _080274D4: movs r0, 0x1 strh r0, [r2] - ldr r0, _080274F0 @ =gUnknown_2023E82 + ldr r0, _080274F0 @ =gBattleCommunication strb r1, [r0, 0x5] - ldr r0, _080274F4 @ =gUnknown_2023F20 + ldr r0, _080274F4 @ =gWishFutureKnock adds r0, 0x28 movs r1, 0x5 strb r1, [r0] _080274E4: - ldr r1, _080274F8 @ =gUnknown_2023D74 + ldr r1, _080274F8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080274F0: .4byte gUnknown_2023E82 -_080274F4: .4byte gUnknown_2023F20 -_080274F8: .4byte gUnknown_2023D74 +_080274F0: .4byte gBattleCommunication +_080274F4: .4byte gWishFutureKnock +_080274F8: .4byte gBattlescriptCurrInstr thumb_func_end atk7D_setrain thumb_func_start atk7E_setreflect @@ -19683,7 +19683,7 @@ atk7E_setreflect: @ 80274FC ldr r6, _0802752C @ =gBattlerAttacker ldrb r0, [r6] bl GetBattlerPosition - ldr r4, _08027530 @ =gSideAffecting + ldr r4, _08027530 @ =gSideStatuses movs r5, 0x1 adds r1, r5, 0 ands r1, r0 @@ -19699,14 +19699,14 @@ atk7E_setreflect: @ 80274FC movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _08027538 @ =gUnknown_2023E82 + ldr r1, _08027538 @ =gBattleCommunication movs r0, 0 b _080275B0 .align 2, 0 _0802752C: .4byte gBattlerAttacker -_08027530: .4byte gSideAffecting +_08027530: .4byte gSideStatuses _08027534: .4byte gMoveResultFlags -_08027538: .4byte gUnknown_2023E82 +_08027538: .4byte gBattleCommunication _0802753C: ldrb r0, [r6] bl GetBattlerPosition @@ -19750,20 +19750,20 @@ _0802753C: lsrs r1, r0, 24 cmp r1, 0x2 bne _080275AC - ldr r0, _080275A8 @ =gUnknown_2023E82 + ldr r0, _080275A8 @ =gBattleCommunication strb r1, [r0, 0x5] b _080275B2 .align 2, 0 _080275A0: .4byte gSideTimers _080275A4: .4byte gBattleTypeFlags -_080275A8: .4byte gUnknown_2023E82 +_080275A8: .4byte gBattleCommunication _080275AC: - ldr r1, _080275C0 @ =gUnknown_2023E82 + ldr r1, _080275C0 @ =gBattleCommunication movs r0, 0x1 _080275B0: strb r0, [r1, 0x5] _080275B2: - ldr r1, _080275C4 @ =gUnknown_2023D74 + ldr r1, _080275C4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19771,8 +19771,8 @@ _080275B2: pop {r0} bx r0 .align 2, 0 -_080275C0: .4byte gUnknown_2023E82 -_080275C4: .4byte gUnknown_2023D74 +_080275C0: .4byte gBattleCommunication +_080275C4: .4byte gBattlescriptCurrInstr thumb_func_end atk7E_setreflect thumb_func_start atk7F_setseeded @@ -19806,7 +19806,7 @@ _080275FA: movs r0, 0x1 orrs r0, r5 strb r0, [r7] - ldr r1, _08027614 @ =gUnknown_2023E82 + ldr r1, _08027614 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08027668 @@ -19814,7 +19814,7 @@ _080275FA: _08027608: .4byte gMoveResultFlags _0802760C: .4byte gStatuses3 _08027610: .4byte gBattlerTarget -_08027614: .4byte gUnknown_2023E82 +_08027614: .4byte gBattleCommunication _08027618: ldr r1, _08027644 @ =gBattleMons movs r0, 0x58 @@ -19834,13 +19834,13 @@ _08027634: movs r0, 0x1 orrs r0, r5 strb r0, [r7] - ldr r1, _08027648 @ =gUnknown_2023E82 + ldr r1, _08027648 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _08027668 .align 2, 0 _08027644: .4byte gBattleMons -_08027648: .4byte gUnknown_2023E82 +_08027648: .4byte gBattleCommunication _0802764C: ldr r0, _0802767C @ =gBattlerAttacker ldrb r0, [r0] @@ -19854,10 +19854,10 @@ _0802764C: mov r2, r12 orrs r0, r2 str r0, [r1] - ldr r0, _08027680 @ =gUnknown_2023E82 + ldr r0, _08027680 @ =gBattleCommunication strb r3, [r0, 0x5] _08027668: - ldr r1, _08027684 @ =gUnknown_2023D74 + ldr r1, _08027684 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19869,14 +19869,14 @@ _08027668: bx r0 .align 2, 0 _0802767C: .4byte gBattlerAttacker -_08027680: .4byte gUnknown_2023E82 -_08027684: .4byte gUnknown_2023D74 +_08027680: .4byte gBattleCommunication +_08027684: .4byte gBattlescriptCurrInstr thumb_func_end atk7F_setseeded thumb_func_start atk80_manipulatedamage atk80_manipulatedamage: @ 8027688 push {r4,lr} - ldr r1, _080276A0 @ =gUnknown_2023D74 + ldr r1, _080276A0 @ =gBattlescriptCurrInstr ldr r0, [r1] ldrb r2, [r0, 0x1] adds r4, r1, 0 @@ -19888,7 +19888,7 @@ atk80_manipulatedamage: @ 8027688 beq _080276AA b _080276F8 .align 2, 0 -_080276A0: .4byte gUnknown_2023D74 +_080276A0: .4byte gBattlescriptCurrInstr _080276A4: cmp r2, 0x2 beq _080276F0 @@ -19949,7 +19949,7 @@ _08027704: .4byte gBattleMoveDamage atk81_trysetrest: @ 8027708 push {r4-r7,lr} sub sp, 0x4 - ldr r0, _08027760 @ =gUnknown_2023D74 + ldr r0, _08027760 @ =gBattlescriptCurrInstr mov r12, r0 ldr r1, [r0] ldrb r6, [r1, 0x1] @@ -19992,7 +19992,7 @@ atk81_trysetrest: @ 8027708 str r6, [r0] b _080277C8 .align 2, 0 -_08027760: .4byte gUnknown_2023D74 +_08027760: .4byte gBattlescriptCurrInstr _08027764: .4byte gActiveBattler _08027768: .4byte gBattlerTarget _0802776C: .4byte gBattlerAttacker @@ -20007,14 +20007,14 @@ _08027778: ands r1, r0 cmp r1, 0 beq _08027794 - ldr r1, _08027790 @ =gUnknown_2023E82 + ldr r1, _08027790 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08027798 .align 2, 0 -_08027790: .4byte gUnknown_2023E82 +_08027790: .4byte gBattleCommunication _08027794: - ldr r0, _080277D0 @ =gUnknown_2023E82 + ldr r0, _080277D0 @ =gBattleCommunication strb r1, [r0, 0x5] _08027798: ldrb r0, [r5] @@ -20034,8 +20034,8 @@ _08027798: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r1, _080277D4 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _080277D4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -20045,14 +20045,14 @@ _080277C8: pop {r0} bx r0 .align 2, 0 -_080277D0: .4byte gUnknown_2023E82 -_080277D4: .4byte gUnknown_2023D74 +_080277D0: .4byte gBattleCommunication +_080277D4: .4byte gBattlescriptCurrInstr thumb_func_end atk81_trysetrest thumb_func_start atk82_jumpifnotfirstturn atk82_jumpifnotfirstturn: @ 80277D8 push {r4,r5,lr} - ldr r5, _0802780C @ =gUnknown_2023D74 + ldr r5, _0802780C @ =gBattlescriptCurrInstr ldr r4, [r5] ldrb r3, [r4, 0x1] ldrb r0, [r4, 0x2] @@ -20078,7 +20078,7 @@ atk82_jumpifnotfirstturn: @ 80277D8 str r0, [r5] b _0802781A .align 2, 0 -_0802780C: .4byte gUnknown_2023D74 +_0802780C: .4byte gBattlescriptCurrInstr _08027810: .4byte gDisableStructs _08027814: .4byte gBattlerAttacker _08027818: @@ -20091,13 +20091,13 @@ _0802781A: thumb_func_start atk83_nop atk83_nop: @ 8027820 - ldr r1, _0802782C @ =gUnknown_2023D74 + ldr r1, _0802782C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .align 2, 0 -_0802782C: .4byte gUnknown_2023D74 +_0802782C: .4byte gBattlescriptCurrInstr thumb_func_end atk83_nop thumb_func_start UproarWakeUpCheck @@ -20123,7 +20123,7 @@ UproarWakeUpCheck: @ 8027830 adds r4, r1, 0 movs r3, 0 ldr r6, _08027890 @ =gBattleScripting - ldr r7, _08027894 @ =gUnknown_2023E82 + ldr r7, _08027894 @ =gBattleCommunication _0802785C: mov r0, r12 adds r0, 0x50 @@ -20151,7 +20151,7 @@ _0802785C: _08027888: .4byte gBattlersCount _0802788C: .4byte gBattleMons _08027890: .4byte gBattleScripting -_08027894: .4byte gUnknown_2023E82 +_08027894: .4byte gBattleCommunication _08027898: .4byte gBattlerTarget _0802789C: adds r3, 0x58 @@ -20166,11 +20166,11 @@ _080278A4: movs r0, 0x1 b _080278C2 _080278B0: - ldr r0, _080278B8 @ =gUnknown_2023E82 + ldr r0, _080278B8 @ =gBattleCommunication strb r3, [r0, 0x5] b _080278A4 .align 2, 0 -_080278B8: .4byte gUnknown_2023E82 +_080278B8: .4byte gBattleCommunication _080278BC: strb r2, [r1] b _080278A4 @@ -20187,7 +20187,7 @@ _080278C2: thumb_func_start atk84_jumpifcantmakeasleep atk84_jumpifcantmakeasleep: @ 80278CC push {r4-r6,lr} - ldr r5, _080278F8 @ =gUnknown_2023D74 + ldr r5, _080278F8 @ =gBattlescriptCurrInstr ldr r1, [r5] ldrb r4, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -20208,7 +20208,7 @@ atk84_jumpifcantmakeasleep: @ 80278CC str r4, [r5] b _08027942 .align 2, 0 -_080278F8: .4byte gUnknown_2023D74 +_080278F8: .4byte gBattlescriptCurrInstr _080278FC: .4byte gBattlerTarget _08027900: ldr r1, _08027930 @ =gBattleMons @@ -20226,7 +20226,7 @@ _08027900: _08027918: ldr r2, _08027934 @ =gLastUsedAbility strb r0, [r2] - ldr r1, _08027938 @ =gUnknown_2023E82 + ldr r1, _08027938 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] str r4, [r5] @@ -20237,7 +20237,7 @@ _08027918: .align 2, 0 _08027930: .4byte gBattleMons _08027934: .4byte gLastUsedAbility -_08027938: .4byte gUnknown_2023E82 +_08027938: .4byte gBattleCommunication _0802793C: ldr r0, [r5] adds r0, 0x5 @@ -20266,7 +20266,7 @@ atk85_stockpile: @ 8027948 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0802797C @ =gUnknown_2023E82 + ldr r1, _0802797C @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _080279AA @@ -20274,7 +20274,7 @@ atk85_stockpile: @ 8027948 _08027970: .4byte gDisableStructs _08027974: .4byte gBattlerAttacker _08027978: .4byte gMoveResultFlags -_0802797C: .4byte gUnknown_2023E82 +_0802797C: .4byte gBattleCommunication _08027980: adds r0, 0x1 movs r3, 0 @@ -20295,10 +20295,10 @@ _08027980: strb r0, [r2, 0x4] movs r0, 0xFF strb r0, [r2, 0x5] - ldr r0, _080279BC @ =gUnknown_2023E82 + ldr r0, _080279BC @ =gBattleCommunication strb r3, [r0, 0x5] _080279AA: - ldr r1, _080279C0 @ =gUnknown_2023D74 + ldr r1, _080279C0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -20307,8 +20307,8 @@ _080279AA: bx r0 .align 2, 0 _080279B8: .4byte gBattleTextBuff1 -_080279BC: .4byte gUnknown_2023E82 -_080279C0: .4byte gUnknown_2023D74 +_080279BC: .4byte gBattleCommunication +_080279C0: .4byte gBattlescriptCurrInstr thumb_func_end atk85_stockpile thumb_func_start atk86_stockpiletobasedamage @@ -20317,7 +20317,7 @@ atk86_stockpiletobasedamage: @ 80279C4 mov r7, r8 push {r7} sub sp, 0x10 - ldr r3, _080279FC @ =gUnknown_2023D74 + ldr r3, _080279FC @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -20342,17 +20342,17 @@ atk86_stockpiletobasedamage: @ 80279C4 str r2, [r3] b _08027AAA .align 2, 0 -_080279FC: .4byte gUnknown_2023D74 +_080279FC: .4byte gBattlescriptCurrInstr _08027A00: .4byte gDisableStructs _08027A04: .4byte gBattlerAttacker _08027A08: - ldr r0, _08027AB8 @ =gUnknown_2023E82 + ldr r0, _08027AB8 @ =gBattleCommunication ldrb r0, [r0, 0x6] cmp r0, 0x1 beq _08027A90 ldr r0, _08027ABC @ =gBattleMoveDamage mov r8, r0 - ldr r4, _08027AC0 @ =gSideAffecting + ldr r4, _08027AC0 @ =gSideStatuses ldr r5, _08027AC4 @ =gBattlerTarget ldrb r0, [r5] bl GetBattlerPosition @@ -20397,7 +20397,7 @@ _08027A08: adds r0, r7 ldrb r0, [r0, 0x9] strb r0, [r2, 0x18] - ldr r1, _08027AD4 @ =gUnknown_2023E8C + ldr r1, _08027AD4 @ =gProtectStructs ldrb r0, [r6] lsls r0, 4 adds r0, r1 @@ -20421,7 +20421,7 @@ _08027A90: adds r0, r2 movs r1, 0 strb r1, [r0, 0x9] - ldr r1, _08027AE0 @ =gUnknown_2023D74 + ldr r1, _08027AE0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -20433,17 +20433,17 @@ _08027AAA: pop {r0} bx r0 .align 2, 0 -_08027AB8: .4byte gUnknown_2023E82 +_08027AB8: .4byte gBattleCommunication _08027ABC: .4byte gBattleMoveDamage -_08027AC0: .4byte gSideAffecting +_08027AC0: .4byte gSideStatuses _08027AC4: .4byte gBattlerTarget _08027AC8: .4byte gBattleMons _08027ACC: .4byte gCurrentMove _08027AD0: .4byte gBattleScripting -_08027AD4: .4byte gUnknown_2023E8C +_08027AD4: .4byte gProtectStructs _08027AD8: .4byte gDisableStructs _08027ADC: .4byte gBattlerAttacker -_08027AE0: .4byte gUnknown_2023D74 +_08027AE0: .4byte gBattlescriptCurrInstr thumb_func_end atk86_stockpiletobasedamage thumb_func_start atk87_stockpiletohpheal @@ -20451,7 +20451,7 @@ atk87_stockpiletohpheal: @ 8027AE4 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r7, _08027B24 @ =gUnknown_2023D74 + ldr r7, _08027B24 @ =gBattlescriptCurrInstr ldr r1, [r7] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -20476,14 +20476,14 @@ atk87_stockpiletohpheal: @ 8027AE4 cmp r1, 0 bne _08027B34 str r2, [r7] - ldr r0, _08027B30 @ =gUnknown_2023E82 + ldr r0, _08027B30 @ =gBattleCommunication strb r1, [r0, 0x5] b _08027BB0 .align 2, 0 -_08027B24: .4byte gUnknown_2023D74 +_08027B24: .4byte gBattlescriptCurrInstr _08027B28: .4byte gDisableStructs _08027B2C: .4byte gBattlerAttacker -_08027B30: .4byte gUnknown_2023E82 +_08027B30: .4byte gBattleCommunication _08027B34: ldr r1, _08027B58 @ =gBattleMons movs r0, 0x58 @@ -20499,14 +20499,14 @@ _08027B34: ldr r1, _08027B5C @ =gBattlerTarget ldrb r0, [r6] strb r0, [r1] - ldr r1, _08027B60 @ =gUnknown_2023E82 + ldr r1, _08027B60 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08027BB0 .align 2, 0 _08027B58: .4byte gBattleMons _08027B5C: .4byte gBattlerTarget -_08027B60: .4byte gUnknown_2023E82 +_08027B60: .4byte gBattleCommunication _08027B64: ldr r5, _08027BBC @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] @@ -20575,7 +20575,7 @@ atk88_negativedamage: @ 8027BC8 negs r0, r0 str r0, [r2] _08027BE4: - ldr r1, _08027BF8 @ =gUnknown_2023D74 + ldr r1, _08027BF8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -20584,7 +20584,7 @@ _08027BE4: .align 2, 0 _08027BF0: .4byte gBattleMoveDamage _08027BF4: .4byte gUnknown_2023D54 -_08027BF8: .4byte gUnknown_2023D74 +_08027BF8: .4byte gBattlescriptCurrInstr thumb_func_end atk88_negativedamage thumb_func_start ChangeStatBuffs @@ -20685,7 +20685,7 @@ _08027C88: beq _08027D58 cmp r5, 0x1 bne _08027D48 - ldr r4, _08027CE8 @ =gUnknown_2023ECC + ldr r4, _08027CE8 @ =gSpecialStatuses ldr r3, _08027CD4 @ =gActiveBattler ldrb r0, [r3] lsls r1, r0, 2 @@ -20696,7 +20696,7 @@ _08027C88: lsls r0, 31 cmp r0, 0 beq _08027CF0 - ldr r0, _08027CEC @ =gUnknown_2023D74 + ldr r0, _08027CEC @ =gBattlescriptCurrInstr mov r4, r8 str r4, [r0] b _08027D48 @@ -20706,8 +20706,8 @@ _08027CD8: .4byte gBattlerTarget _08027CDC: .4byte gBattleTextBuff1 _08027CE0: .4byte gSideTimers _08027CE4: .4byte gCurrentMove -_08027CE8: .4byte gUnknown_2023ECC -_08027CEC: .4byte gUnknown_2023D74 +_08027CE8: .4byte gSpecialStatuses +_08027CEC: .4byte gBattlescriptCurrInstr _08027CF0: mov r0, r8 bl BattleScriptPush @@ -20715,7 +20715,7 @@ _08027CF0: ldr r6, _08027D1C @ =gActiveBattler ldrb r0, [r6] strb r0, [r1, 0x17] - ldr r1, _08027D20 @ =gUnknown_2023D74 + ldr r1, _08027D20 @ =gBattlescriptCurrInstr ldr r0, _08027D24 @ =gUnknown_81D8C3E str r0, [r1] ldrb r1, [r6] @@ -20731,7 +20731,7 @@ _08027CF0: .align 2, 0 _08027D18: .4byte gBattleScripting _08027D1C: .4byte gActiveBattler -_08027D20: .4byte gUnknown_2023D74 +_08027D20: .4byte gBattlescriptCurrInstr _08027D24: .4byte gUnknown_81D8C3E _08027D28: ldr r0, _08027D4C @ =gCurrentMove @@ -20746,7 +20746,7 @@ _08027D28: lsls r0, 24 cmp r0, 0 beq _08027D58 - ldr r1, _08027D50 @ =gUnknown_2023D74 + ldr r1, _08027D50 @ =gBattlescriptCurrInstr ldr r0, _08027D54 @ =gUnknown_81D7DF2 str r0, [r1] _08027D48: @@ -20754,7 +20754,7 @@ _08027D48: b _08028060 .align 2, 0 _08027D4C: .4byte gCurrentMove -_08027D50: .4byte gUnknown_2023D74 +_08027D50: .4byte gBattlescriptCurrInstr _08027D54: .4byte gUnknown_81D7DF2 _08027D58: ldr r2, _08027DA0 @ =gBattleMons @@ -20781,7 +20781,7 @@ _08027D74: beq _08027E0C cmp r5, 0x1 bne _08027D48 - ldr r4, _08027DAC @ =gUnknown_2023ECC + ldr r4, _08027DAC @ =gSpecialStatuses lsls r0, r3, 2 adds r0, r3 lsls r0, 2 @@ -20790,7 +20790,7 @@ _08027D74: lsls r0, 31 cmp r0, 0 beq _08027DB4 - ldr r0, _08027DB0 @ =gUnknown_2023D74 + ldr r0, _08027DB0 @ =gBattlescriptCurrInstr mov r1, r8 str r1, [r0] b _08027D48 @@ -20798,8 +20798,8 @@ _08027D74: _08027DA0: .4byte gBattleMons _08027DA4: .4byte gActiveBattler _08027DA8: .4byte gCurrentMove -_08027DAC: .4byte gUnknown_2023ECC -_08027DB0: .4byte gUnknown_2023D74 +_08027DAC: .4byte gSpecialStatuses +_08027DB0: .4byte gBattlescriptCurrInstr _08027DB4: mov r0, r8 bl BattleScriptPush @@ -20807,7 +20807,7 @@ _08027DB4: ldr r2, _08027DFC @ =gActiveBattler ldrb r0, [r2] strb r0, [r1, 0x17] - ldr r1, _08027E00 @ =gUnknown_2023D74 + ldr r1, _08027E00 @ =gBattlescriptCurrInstr ldr r0, _08027E04 @ =gUnknown_81D9416 str r0, [r1] ldr r1, _08027E08 @ =gLastUsedAbility @@ -20835,7 +20835,7 @@ _08027DB4: .align 2, 0 _08027DF8: .4byte gBattleScripting _08027DFC: .4byte gActiveBattler -_08027E00: .4byte gUnknown_2023D74 +_08027E00: .4byte gBattlescriptCurrInstr _08027E04: .4byte gUnknown_81D9416 _08027E08: .4byte gLastUsedAbility _08027E0C: @@ -20861,7 +20861,7 @@ _08027E0C: ldr r3, _08027E58 @ =gActiveBattler ldrb r0, [r3] strb r0, [r1, 0x17] - ldr r1, _08027E60 @ =gUnknown_2023D74 + ldr r1, _08027E60 @ =gBattlescriptCurrInstr ldr r0, _08027E64 @ =gUnknown_81D947E str r0, [r1] ldr r1, _08027E68 @ =gLastUsedAbility @@ -20878,7 +20878,7 @@ _08027E0C: .align 2, 0 _08027E58: .4byte gActiveBattler _08027E5C: .4byte gBattleScripting -_08027E60: .4byte gUnknown_2023D74 +_08027E60: .4byte gBattlescriptCurrInstr _08027E64: .4byte gUnknown_81D947E _08027E68: .4byte gLastUsedAbility _08027E6C: @@ -20906,7 +20906,7 @@ _08027E8E: ldr r2, _08027EBC @ =gActiveBattler ldrb r0, [r2] strb r0, [r1, 0x17] - ldr r1, _08027EC4 @ =gUnknown_2023D74 + ldr r1, _08027EC4 @ =gBattlescriptCurrInstr ldr r0, _08027EC8 @ =gUnknown_81D947E str r0, [r1] ldr r1, _08027ECC @ =gLastUsedAbility @@ -20923,7 +20923,7 @@ _08027E8E: .align 2, 0 _08027EBC: .4byte gActiveBattler _08027EC0: .4byte gBattleScripting -_08027EC4: .4byte gUnknown_2023D74 +_08027EC4: .4byte gBattlescriptCurrInstr _08027EC8: .4byte gUnknown_81D947E _08027ECC: .4byte gLastUsedAbility _08027ED0: @@ -20991,7 +20991,7 @@ _08027F12: movs r1, 0 ldr r0, _08027F64 @ =gBattlerTarget ldrb r0, [r0] - ldr r3, _08027F68 @ =gUnknown_2023E82 + ldr r3, _08027F68 @ =gBattleCommunication mov r8, r3 cmp r0, r2 bne _08027F56 @@ -21004,7 +21004,7 @@ _08027F56: _08027F5C: .4byte gActiveBattler _08027F60: .4byte gBattleTextBuff2 _08027F64: .4byte gBattlerTarget -_08027F68: .4byte gUnknown_2023E82 +_08027F68: .4byte gBattleCommunication _08027F6C: asrs r6, r0, 28 movs r0, 0x7 @@ -21051,7 +21051,7 @@ _08027F86: cmp r0, 0xC bne _08027FDC _08027FC2: - ldr r1, _08027FD8 @ =gUnknown_2023E82 + ldr r1, _08027FD8 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] mov r8, r1 @@ -21060,12 +21060,12 @@ _08027FC2: _08027FCC: .4byte gBattleTextBuff2 _08027FD0: .4byte gBattleMons _08027FD4: .4byte gActiveBattler -_08027FD8: .4byte gUnknown_2023E82 +_08027FD8: .4byte gBattleCommunication _08027FDC: movs r1, 0 ldr r0, _08028070 @ =gBattlerTarget ldrb r0, [r0] - ldr r2, _08028074 @ =gUnknown_2023E82 + ldr r2, _08028074 @ =gBattleCommunication mov r8, r2 cmp r0, r3 bne _08027FEC @@ -21144,7 +21144,7 @@ _08028060: bx r1 .align 2, 0 _08028070: .4byte gBattlerTarget -_08028074: .4byte gUnknown_2023E82 +_08028074: .4byte gBattleCommunication _08028078: .4byte gActiveBattler _0802807C: .4byte gMoveResultFlags thumb_func_end ChangeStatBuffs @@ -21152,7 +21152,7 @@ _0802807C: .4byte gMoveResultFlags thumb_func_start atk89_statbuffchange atk89_statbuffchange: @ 8028080 push {r4,r5,lr} - ldr r5, _080280C4 @ =gUnknown_2023D74 + ldr r5, _080280C4 @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r3, [r2, 0x2] ldrb r0, [r2, 0x3] @@ -21185,7 +21185,7 @@ _080280BC: pop {r0} bx r0 .align 2, 0 -_080280C4: .4byte gUnknown_2023D74 +_080280C4: .4byte gBattlescriptCurrInstr _080280C8: .4byte gBattleScripting thumb_func_end atk89_statbuffchange @@ -21195,7 +21195,7 @@ atk8A_normalisebuffs: @ 80280CC movs r2, 0 ldr r0, _08028114 @ =gBattlersCount ldrb r1, [r0] - ldr r0, _08028118 @ =gUnknown_2023D74 + ldr r0, _08028118 @ =gBattlescriptCurrInstr mov r12, r0 cmp r2, r1 bge _08028104 @@ -21231,7 +21231,7 @@ _08028104: bx r0 .align 2, 0 _08028114: .4byte gBattlersCount -_08028118: .4byte gUnknown_2023D74 +_08028118: .4byte gBattlescriptCurrInstr _0802811C: .4byte gBattleMons thumb_func_end atk8A_normalisebuffs @@ -21259,7 +21259,7 @@ atk8B_setbide: @ 8028120 ldrh r1, [r1] movs r2, 0 strh r1, [r0] - ldr r1, _08028188 @ =gUnknown_2023D58 + ldr r1, _08028188 @ =gTakenDmg ldrb r0, [r3] lsls r0, 2 adds r0, r1 @@ -21273,7 +21273,7 @@ atk8B_setbide: @ 8028120 lsls r2, 2 orrs r0, r2 str r0, [r1] - ldr r1, _0802818C @ =gUnknown_2023D74 + ldr r1, _0802818C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -21285,8 +21285,8 @@ _08028178: .4byte gBattleMons _0802817C: .4byte gBattlerAttacker _08028180: .4byte gUnknown_2023DB8 _08028184: .4byte gCurrentMove -_08028188: .4byte gUnknown_2023D58 -_0802818C: .4byte gUnknown_2023D74 +_08028188: .4byte gTakenDmg +_0802818C: .4byte gBattlescriptCurrInstr thumb_func_end atk8B_setbide thumb_func_start atk8C_confuseifrepeatingattackends @@ -21305,11 +21305,11 @@ atk8C_confuseifrepeatingattackends: @ 8028190 ands r0, r1 cmp r0, 0 bne _080281B2 - ldr r1, _080281C8 @ =gUnknown_2023E82 + ldr r1, _080281C8 @ =gBattleCommunication movs r0, 0x75 strb r0, [r1, 0x3] _080281B2: - ldr r1, _080281CC @ =gUnknown_2023D74 + ldr r1, _080281CC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -21318,14 +21318,14 @@ _080281B2: .align 2, 0 _080281C0: .4byte gBattleMons _080281C4: .4byte gBattlerAttacker -_080281C8: .4byte gUnknown_2023E82 -_080281CC: .4byte gUnknown_2023D74 +_080281C8: .4byte gBattleCommunication +_080281CC: .4byte gBattlescriptCurrInstr thumb_func_end atk8C_confuseifrepeatingattackends thumb_func_start atk8D_setmultihitcounter atk8D_setmultihitcounter: @ 80281D0 push {r4,r5,lr} - ldr r0, _080281E4 @ =gUnknown_2023D74 + ldr r0, _080281E4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r1, [r0, 0x1] cmp r1, 0 @@ -21334,7 +21334,7 @@ atk8D_setmultihitcounter: @ 80281D0 strb r1, [r0] b _08028206 .align 2, 0 -_080281E4: .4byte gUnknown_2023D74 +_080281E4: .4byte gBattlescriptCurrInstr _080281E8: .4byte gUnknown_2023D72 _080281EC: ldr r4, _08028214 @ =gUnknown_2023D72 @@ -21350,7 +21350,7 @@ _08028202: adds r0, 0x2 strb r0, [r4] _08028206: - ldr r1, _08028218 @ =gUnknown_2023D74 + ldr r1, _08028218 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -21359,7 +21359,7 @@ _08028206: bx r0 .align 2, 0 _08028214: .4byte gUnknown_2023D72 -_08028218: .4byte gUnknown_2023D74 +_08028218: .4byte gBattlescriptCurrInstr thumb_func_end atk8D_setmultihitcounter thumb_func_start atk8E_initmultihitstring @@ -21375,14 +21375,14 @@ atk8E_initmultihitstring: @ 802821C strb r2, [r1, 0xC] movs r0, 0xFF strb r0, [r1, 0xD] - ldr r1, _08028240 @ =gUnknown_2023D74 + ldr r1, _08028240 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .align 2, 0 _0802823C: .4byte gBattleScripting -_08028240: .4byte gUnknown_2023D74 +_08028240: .4byte gBattlescriptCurrInstr thumb_func_end atk8E_initmultihitstring thumb_func_start TryDoForceSwitchOut @@ -21442,7 +21442,7 @@ _0802828C: lsrs r1, 2 cmp r0, r1 bhi _080282DC - ldr r3, _080282D8 @ =gUnknown_2023D74 + ldr r3, _080282D8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -21458,7 +21458,7 @@ _0802828C: movs r0, 0 b _080282F6 .align 2, 0 -_080282D8: .4byte gUnknown_2023D74 +_080282D8: .4byte gBattlescriptCurrInstr _080282DC: ldr r0, _080282FC @ =gBattleStruct ldr r1, [r0] @@ -21470,7 +21470,7 @@ _080282E8: adds r0, r2 ldrh r0, [r0] strb r0, [r1] - ldr r1, _08028304 @ =gUnknown_2023D74 + ldr r1, _08028304 @ =gBattlescriptCurrInstr ldr r0, _08028308 @ =gUnknown_81D8C10 str r0, [r1] movs r0, 0x1 @@ -21481,7 +21481,7 @@ _080282F6: .align 2, 0 _080282FC: .4byte gBattleStruct _08028300: .4byte gBattlerPartyIndexes -_08028304: .4byte gUnknown_2023D74 +_08028304: .4byte gBattlescriptCurrInstr _08028308: .4byte gUnknown_81D8C10 thumb_func_end TryDoForceSwitchOut @@ -21622,7 +21622,7 @@ _08028404: cmp r1, 0 bne _08028440 _0802841C: - ldr r3, _0802843C @ =gUnknown_2023D74 + ldr r3, _0802843C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -21638,7 +21638,7 @@ _0802841C: b _080285F8 .align 2, 0 _08028438: .4byte gBattleTypeFlags -_0802843C: .4byte gUnknown_2023D74 +_0802843C: .4byte gBattlescriptCurrInstr _08028440: bl TryDoForceSwitchOut lsls r0, 24 @@ -21955,7 +21955,7 @@ _080286BE: _080286C8: cmp r3, r6 bne _080286EC - ldr r3, _080286E8 @ =gUnknown_2023D74 + ldr r3, _080286E8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -21970,7 +21970,7 @@ _080286C8: str r1, [r3] b _08028790 .align 2, 0 -_080286E8: .4byte gUnknown_2023D74 +_080286E8: .4byte gBattlescriptCurrInstr _080286EC: movs r7, 0x3 ldr r5, _08028744 @ =gBattleMoves @@ -22051,7 +22051,7 @@ _08028752: strb r2, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r1, _080287A4 @ =gUnknown_2023D74 + ldr r1, _080287A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -22065,7 +22065,7 @@ _08028790: bx r0 .align 2, 0 _080287A0: .4byte gBattleTextBuff1 -_080287A4: .4byte gUnknown_2023D74 +_080287A4: .4byte gBattlescriptCurrInstr thumb_func_end atk90_tryconversiontypechange thumb_func_start atk91_givepaydaymoney @@ -22111,7 +22111,7 @@ atk91_givepaydaymoney: @ 80287A8 strb r4, [r1, 0x5] movs r0, 0xFF strb r0, [r1, 0x6] - ldr r4, _08028820 @ =gUnknown_2023D74 + ldr r4, _08028820 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -22124,10 +22124,10 @@ _08028810: .4byte gUnknown_2023E7E _08028814: .4byte gBattleStruct _08028818: .4byte gSaveBlock1Ptr _0802881C: .4byte gBattleTextBuff1 -_08028820: .4byte gUnknown_2023D74 +_08028820: .4byte gBattlescriptCurrInstr _08028824: .4byte gUnknown_81D911D _08028828: - ldr r1, _08028838 @ =gUnknown_2023D74 + ldr r1, _08028838 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -22136,7 +22136,7 @@ _08028830: pop {r0} bx r0 .align 2, 0 -_08028838: .4byte gUnknown_2023D74 +_08028838: .4byte gBattlescriptCurrInstr thumb_func_end atk91_givepaydaymoney thumb_func_start atk92_setlightscreen @@ -22145,7 +22145,7 @@ atk92_setlightscreen: @ 802883C ldr r5, _0802886C @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerPosition - ldr r4, _08028870 @ =gSideAffecting + ldr r4, _08028870 @ =gSideStatuses movs r6, 0x1 adds r1, r6, 0 ands r1, r0 @@ -22161,14 +22161,14 @@ atk92_setlightscreen: @ 802883C movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _08028878 @ =gUnknown_2023E82 + ldr r1, _08028878 @ =gBattleCommunication movs r0, 0 b _080288F0 .align 2, 0 _0802886C: .4byte gBattlerAttacker -_08028870: .4byte gSideAffecting +_08028870: .4byte gSideStatuses _08028874: .4byte gMoveResultFlags -_08028878: .4byte gUnknown_2023E82 +_08028878: .4byte gBattleCommunication _0802887C: ldrb r0, [r5] bl GetBattlerPosition @@ -22212,19 +22212,19 @@ _0802887C: lsrs r0, 24 cmp r0, 0x2 bne _080288EC - ldr r1, _080288E8 @ =gUnknown_2023E82 + ldr r1, _080288E8 @ =gBattleCommunication movs r0, 0x4 b _080288F0 .align 2, 0 _080288E0: .4byte gSideTimers _080288E4: .4byte gBattleTypeFlags -_080288E8: .4byte gUnknown_2023E82 +_080288E8: .4byte gBattleCommunication _080288EC: - ldr r1, _08028900 @ =gUnknown_2023E82 + ldr r1, _08028900 @ =gBattleCommunication movs r0, 0x3 _080288F0: strb r0, [r1, 0x5] - ldr r1, _08028904 @ =gUnknown_2023D74 + ldr r1, _08028904 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -22232,8 +22232,8 @@ _080288F0: pop {r0} bx r0 .align 2, 0 -_08028900: .4byte gUnknown_2023E82 -_08028904: .4byte gUnknown_2023D74 +_08028900: .4byte gBattleCommunication +_08028904: .4byte gBattlescriptCurrInstr thumb_func_end atk92_setlightscreen thumb_func_start atk93_tryKO @@ -22295,7 +22295,7 @@ _0802895A: ldrb r0, [r5] movs r1, 0x27 bl sub_80C7208 - ldr r2, _080289DC @ =gUnknown_2023ECC + ldr r2, _080289DC @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -22327,7 +22327,7 @@ _08028998: strb r0, [r2] ldr r0, _080289E8 @ =gLastUsedAbility strb r4, [r0] - ldr r1, _080289EC @ =gUnknown_2023D74 + ldr r1, _080289EC @ =gBattlescriptCurrInstr ldr r0, _080289F0 @ =gUnknown_81D93A1 str r0, [r1] mov r1, r9 @@ -22338,11 +22338,11 @@ _08028998: .align 2, 0 _080289D4: .4byte gPotentialItemEffectBattler _080289D8: .4byte gBattlerTarget -_080289DC: .4byte gUnknown_2023ECC +_080289DC: .4byte gSpecialStatuses _080289E0: .4byte gBattleMons _080289E4: .4byte gMoveResultFlags _080289E8: .4byte gLastUsedAbility -_080289EC: .4byte gUnknown_2023D74 +_080289EC: .4byte gBattlescriptCurrInstr _080289F0: .4byte gUnknown_81D93A1 _080289F4: ldr r1, _08028A68 @ =gStatuses3 @@ -22491,7 +22491,7 @@ _08028B0E: cmp r4, 0 beq _08028BE0 _08028B1A: - ldr r0, _08028B5C @ =gUnknown_2023E8C + ldr r0, _08028B5C @ =gProtectStructs mov r1, r9 ldrb r2, [r1] lsls r1, r2, 4 @@ -22518,11 +22518,11 @@ _08028B4C: .4byte gBattleMoves _08028B50: .4byte gCurrentMove _08028B54: .4byte gBattleMons _08028B58: .4byte gBattlerTarget -_08028B5C: .4byte gUnknown_2023E8C +_08028B5C: .4byte gProtectStructs _08028B60: .4byte gBattleMoveDamage _08028B64: .4byte gMoveResultFlags _08028B68: - ldr r0, _08028BA4 @ =gUnknown_2023ECC + ldr r0, _08028BA4 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -22553,7 +22553,7 @@ _08028B68: strh r0, [r1] b _08028BCA .align 2, 0 -_08028BA4: .4byte gUnknown_2023ECC +_08028BA4: .4byte gSpecialStatuses _08028BA8: .4byte gBattleMoveDamage _08028BAC: .4byte gMoveResultFlags _08028BB0: .4byte gLastUsedItem @@ -22571,7 +22571,7 @@ _08028BC6: orrs r0, r1 strb r0, [r2] _08028BCA: - ldr r1, _08028BDC @ =gUnknown_2023D74 + ldr r1, _08028BDC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -22579,7 +22579,7 @@ _08028BCA: .align 2, 0 _08028BD4: .4byte gBattleMoveDamage _08028BD8: .4byte gMoveResultFlags -_08028BDC: .4byte gUnknown_2023D74 +_08028BDC: .4byte gBattlescriptCurrInstr _08028BE0: ldr r2, _08028C14 @ =gMoveResultFlags ldrb r0, [r2] @@ -22603,7 +22603,7 @@ _08028BE0: ldrb r0, [r0] cmp r1, r0 bcc _08028C28 - ldr r1, _08028C24 @ =gUnknown_2023E82 + ldr r1, _08028C24 @ =gBattleCommunication movs r0, 0 b _08028C2C .align 2, 0 @@ -22611,13 +22611,13 @@ _08028C14: .4byte gMoveResultFlags _08028C18: .4byte gBattleMons _08028C1C: .4byte gBattlerAttacker _08028C20: .4byte gBattlerTarget -_08028C24: .4byte gUnknown_2023E82 +_08028C24: .4byte gBattleCommunication _08028C28: - ldr r1, _08028C54 @ =gUnknown_2023E82 + ldr r1, _08028C54 @ =gBattleCommunication movs r0, 0x1 _08028C2C: strb r0, [r1, 0x5] - ldr r3, _08028C58 @ =gUnknown_2023D74 + ldr r3, _08028C58 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -22638,8 +22638,8 @@ _08028C48: pop {r0} bx r0 .align 2, 0 -_08028C54: .4byte gUnknown_2023E82 -_08028C58: .4byte gUnknown_2023D74 +_08028C54: .4byte gBattleCommunication +_08028C58: .4byte gBattlescriptCurrInstr thumb_func_end atk93_tryKO thumb_func_start atk94_damagetohalftargethp @@ -22660,7 +22660,7 @@ atk94_damagetohalftargethp: @ 8028C5C movs r0, 0x1 str r0, [r3] _08028C7A: - ldr r1, _08028C94 @ =gUnknown_2023D74 + ldr r1, _08028C94 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -22670,7 +22670,7 @@ _08028C7A: _08028C88: .4byte gBattleMoveDamage _08028C8C: .4byte gBattleMons _08028C90: .4byte gBattlerTarget -_08028C94: .4byte gUnknown_2023D74 +_08028C94: .4byte gBattlescriptCurrInstr thumb_func_end atk94_damagetohalftargethp thumb_func_start atk95_setsandstorm @@ -22687,35 +22687,35 @@ atk95_setsandstorm: @ 8028C98 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _08028CC0 @ =gUnknown_2023E82 + ldr r1, _08028CC0 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _08028CD6 .align 2, 0 _08028CB8: .4byte gBattleWeather _08028CBC: .4byte gMoveResultFlags -_08028CC0: .4byte gUnknown_2023E82 +_08028CC0: .4byte gBattleCommunication _08028CC4: movs r0, 0x8 strh r0, [r2] - ldr r1, _08028CE4 @ =gUnknown_2023E82 + ldr r1, _08028CE4 @ =gBattleCommunication movs r0, 0x3 strb r0, [r1, 0x5] - ldr r0, _08028CE8 @ =gUnknown_2023F20 + ldr r0, _08028CE8 @ =gWishFutureKnock adds r0, 0x28 movs r1, 0x5 strb r1, [r0] _08028CD6: - ldr r1, _08028CEC @ =gUnknown_2023D74 + ldr r1, _08028CEC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_08028CE4: .4byte gUnknown_2023E82 -_08028CE8: .4byte gUnknown_2023F20 -_08028CEC: .4byte gUnknown_2023D74 +_08028CE4: .4byte gBattleCommunication +_08028CE8: .4byte gWishFutureKnock +_08028CEC: .4byte gBattlescriptCurrInstr thumb_func_end atk95_setsandstorm thumb_func_start sub_8028CF0 @@ -22909,7 +22909,7 @@ _08028E64: movs r0, 0 str r0, [r1] _08028E6A: - ldr r1, _08028E8C @ =gUnknown_2023D74 + ldr r1, _08028E8C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -22922,7 +22922,7 @@ _08028E7C: .4byte gBattleMoveDamage _08028E80: .4byte gBattlerAttacker _08028E84: .4byte gAbsentBattlerFlags _08028E88: .4byte gBitTable -_08028E8C: .4byte gUnknown_2023D74 +_08028E8C: .4byte gBattlescriptCurrInstr thumb_func_end sub_8028CF0 thumb_func_start sub_8028E90 @@ -23023,7 +23023,7 @@ _08028F1C: ldrb r2, [r0] cmp r2, 0xC bne _08028F94 - ldr r1, _08028F88 @ =gUnknown_2023D74 + ldr r1, _08028F88 @ =gBattlescriptCurrInstr ldr r0, _08028F8C @ =gUnknown_81D9444 str r0, [r1] ldr r0, _08028F90 @ =gLastUsedAbility @@ -23037,7 +23037,7 @@ _08028F78: .4byte gBattlerPartyIndexes _08028F7C: .4byte gEnemyParty _08028F80: .4byte gBattlerTarget _08028F84: .4byte gBattleMons -_08028F88: .4byte gUnknown_2023D74 +_08028F88: .4byte gBattlescriptCurrInstr _08028F8C: .4byte gUnknown_81D9444 _08028F90: .4byte gLastUsedAbility _08028F94: @@ -23078,7 +23078,7 @@ _08028F94: cmp r0, 0xFF bne _08029008 _08028FE4: - ldr r3, _08029004 @ =gUnknown_2023D74 + ldr r3, _08029004 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -23094,7 +23094,7 @@ _08028FE4: b _0802902C .align 2, 0 _08029000: .4byte gBattleMons -_08029004: .4byte gUnknown_2023D74 +_08029004: .4byte gBattlescriptCurrInstr _08029008: ldrb r0, [r5] adds r2, r0, 0 @@ -23110,7 +23110,7 @@ _08029008: ldr r0, [r2] orrs r0, r1 str r0, [r2] - ldr r1, _08029044 @ =gUnknown_2023D74 + ldr r1, _08029044 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -23125,7 +23125,7 @@ _0802902C: .align 2, 0 _0802903C: .4byte gBitTable _08029040: .4byte gBattlerAttacker -_08029044: .4byte gUnknown_2023D74 +_08029044: .4byte gBattlescriptCurrInstr thumb_func_end sub_8028E90 thumb_func_start sub_8029048 @@ -23137,7 +23137,7 @@ sub_8029048: @ 8029048 beq _08029054 b _080291C0 _08029054: - ldr r5, _080290BC @ =gUnknown_2023D74 + ldr r5, _080290BC @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r0, [r2, 0x1] cmp r0, 0xD @@ -23174,7 +23174,7 @@ _08029074: movs r0, 0 bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080290A2: ldrb r0, [r4] adds r0, 0x1 @@ -23188,7 +23188,7 @@ _080290A2: b _08029164 .align 2, 0 _080290B8: .4byte gBattleControllerExecFlags -_080290BC: .4byte gUnknown_2023D74 +_080290BC: .4byte gBattlescriptCurrInstr _080290C0: .4byte gActiveBattler _080290C4: .4byte gBattlersCount _080290C8: .4byte gBitTable @@ -23224,7 +23224,7 @@ _080290D4: movs r0, 0 bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08029114: ldr r0, _08029184 @ =gBattleTypeFlags ldr r0, [r0] @@ -23261,9 +23261,9 @@ _08029114: movs r0, 0 bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08029164: - ldr r1, _08029188 @ =gUnknown_2023D74 + ldr r1, _08029188 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -23275,10 +23275,10 @@ _08029178: .4byte gAbsentBattlerFlags _0802917C: .4byte gBitTable _08029180: .4byte gBattleMons _08029184: .4byte gBattleTypeFlags -_08029188: .4byte gUnknown_2023D74 +_08029188: .4byte gBattlescriptCurrInstr _0802918C: ldrb r0, [r2, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _080291C8 @ =gActiveBattler strb r0, [r4] ldr r3, _080291CC @ =gBattleMons @@ -23296,7 +23296,7 @@ _0802918C: movs r0, 0 bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -23331,14 +23331,14 @@ atk99_setmist: @ 80291D0 movs r1, 0x20 orrs r0, r1 strb r0, [r2] - ldr r0, _0802920C @ =gUnknown_2023E82 + ldr r0, _0802920C @ =gBattleCommunication strb r5, [r0, 0x5] b _0802925E .align 2, 0 _08029200: .4byte gSideTimers _08029204: .4byte gBattlerAttacker _08029208: .4byte gMoveResultFlags -_0802920C: .4byte gUnknown_2023E82 +_0802920C: .4byte gBattleCommunication _08029210: ldrb r0, [r4] bl GetBattlerPosition @@ -23362,7 +23362,7 @@ _08029210: strb r1, [r0, 0x5] ldrb r0, [r4] bl GetBattlerPosition - ldr r2, _0802926C @ =gSideAffecting + ldr r2, _0802926C @ =gSideStatuses adds r1, r5, 0 ands r1, r0 lsls r1, 1 @@ -23374,10 +23374,10 @@ _08029210: movs r3, 0 orrs r0, r2 strh r0, [r1] - ldr r0, _08029270 @ =gUnknown_2023E82 + ldr r0, _08029270 @ =gBattleCommunication strb r3, [r0, 0x5] _0802925E: - ldr r1, _08029274 @ =gUnknown_2023D74 + ldr r1, _08029274 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -23385,9 +23385,9 @@ _0802925E: pop {r0} bx r0 .align 2, 0 -_0802926C: .4byte gSideAffecting -_08029270: .4byte gUnknown_2023E82 -_08029274: .4byte gUnknown_2023D74 +_0802926C: .4byte gSideStatuses +_08029270: .4byte gBattleCommunication +_08029274: .4byte gBattlescriptCurrInstr thumb_func_end atk99_setmist thumb_func_start atk9A_setfocusenergy @@ -23412,7 +23412,7 @@ atk9A_setfocusenergy: @ 8029278 movs r1, 0x20 orrs r0, r1 strb r0, [r2] - ldr r1, _080292B4 @ =gUnknown_2023E82 + ldr r1, _080292B4 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _080292C0 @@ -23420,22 +23420,22 @@ atk9A_setfocusenergy: @ 8029278 _080292A8: .4byte gBattleMons _080292AC: .4byte gBattlerAttacker _080292B0: .4byte gMoveResultFlags -_080292B4: .4byte gUnknown_2023E82 +_080292B4: .4byte gBattleCommunication _080292B8: orrs r1, r3 str r1, [r0] - ldr r0, _080292CC @ =gUnknown_2023E82 + ldr r0, _080292CC @ =gBattleCommunication strb r2, [r0, 0x5] _080292C0: - ldr r1, _080292D0 @ =gUnknown_2023D74 + ldr r1, _080292D0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080292CC: .4byte gUnknown_2023E82 -_080292D0: .4byte gUnknown_2023D74 +_080292CC: .4byte gBattleCommunication +_080292D0: .4byte gBattlescriptCurrInstr thumb_func_end atk9A_setfocusenergy thumb_func_start atk9B_transformdataexecution @@ -23447,7 +23447,7 @@ atk9B_transformdataexecution: @ 80292D4 ldr r2, _08029330 @ =0x0000ffff adds r0, r2, 0 strh r0, [r1] - ldr r1, _08029334 @ =gUnknown_2023D74 + ldr r1, _08029334 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -23481,19 +23481,19 @@ _0802931A: movs r1, 0x20 orrs r0, r1 strb r0, [r2] - ldr r1, _0802934C @ =gUnknown_2023E82 + ldr r1, _0802934C @ =gBattleCommunication movs r0, 0x1 b _08029464 .align 2, 0 _0802932C: .4byte gChosenMove _08029330: .4byte 0x0000ffff -_08029334: .4byte gUnknown_2023D74 +_08029334: .4byte gBattlescriptCurrInstr _08029338: .4byte gBattleMons _0802933C: .4byte gBattlerTarget _08029340: .4byte gStatuses3 _08029344: .4byte 0x000400c0 _08029348: .4byte gMoveResultFlags -_0802934C: .4byte gUnknown_2023E82 +_0802934C: .4byte gBattleCommunication _08029350: ldr r3, _08029424 @ =gBattlerAttacker ldrb r0, [r3] @@ -23626,8 +23626,8 @@ _08029442: bl BtlController_EmitResetActionMoveSelection mov r2, r8 ldrb r0, [r2] - bl MarkBufferBankForExecution - ldr r1, _08029470 @ =gUnknown_2023E82 + bl MarkBattlerForControllerExec + ldr r1, _08029470 @ =gBattleCommunication movs r0, 0 _08029464: strb r0, [r1, 0x5] @@ -23637,7 +23637,7 @@ _08029464: pop {r0} bx r0 .align 2, 0 -_08029470: .4byte gUnknown_2023E82 +_08029470: .4byte gBattleCommunication thumb_func_end atk9B_transformdataexecution thumb_func_start atk9C_setsubstitute @@ -23662,7 +23662,7 @@ _0802948E: ldr r1, _080294AC @ =gBattleMoveDamage movs r0, 0 str r0, [r1] - ldr r1, _080294B0 @ =gUnknown_2023E82 + ldr r1, _080294B0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08029508 @@ -23670,7 +23670,7 @@ _0802948E: _080294A4: .4byte gBattleMons _080294A8: .4byte gBattlerAttacker _080294AC: .4byte gBattleMoveDamage -_080294B0: .4byte gUnknown_2023E82 +_080294B0: .4byte gBattleCommunication _080294B4: ldr r4, _08029518 @ =gBattleMoveDamage str r1, [r4] @@ -23707,16 +23707,16 @@ _080294C0: ldr r1, [r4] movs r2, 0 strb r1, [r0, 0xA] - ldr r0, _08029524 @ =gUnknown_2023E82 + ldr r0, _08029524 @ =gBattleCommunication strb r2, [r0, 0x5] - ldr r2, _08029528 @ =gUnknown_2023DD0 + ldr r2, _08029528 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 1 orrs r0, r1 str r0, [r2] _08029508: - ldr r1, _0802952C @ =gUnknown_2023D74 + ldr r1, _0802952C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -23727,9 +23727,9 @@ _08029508: _08029518: .4byte gBattleMoveDamage _0802951C: .4byte 0xffff1fff _08029520: .4byte gDisableStructs -_08029524: .4byte gUnknown_2023E82 -_08029528: .4byte gUnknown_2023DD0 -_0802952C: .4byte gUnknown_2023D74 +_08029524: .4byte gBattleCommunication +_08029528: .4byte gHitMarker +_0802952C: .4byte gBattlescriptCurrInstr thumb_func_end atk9C_setsubstitute thumb_func_start IsMoveUncopyableByMimic @@ -23819,7 +23819,7 @@ atk9D_mimicattackcopy: @ 8029578 cmp r1, r7 bne _0802960C _080295D2: - ldr r3, _08029608 @ =gUnknown_2023D74 + ldr r3, _08029608 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -23840,14 +23840,14 @@ _080295F8: .4byte gLastUsedMove _080295FC: .4byte gBattlerTarget _08029600: .4byte gBattleMons _08029604: .4byte gBattlerAttacker -_08029608: .4byte gUnknown_2023D74 +_08029608: .4byte gBattlescriptCurrInstr _0802960C: movs r2, 0 mov r3, r12 adds r3, 0xC adds r0, r4, r3 ldrh r0, [r0] - ldr r4, _0802969C @ =gUnknown_2023D74 + ldr r4, _0802969C @ =gBattlescriptCurrInstr mov r10, r4 cmp r0, r1 beq _08029646 @@ -23916,7 +23916,7 @@ _08029646: strb r4, [r0] b _080296C4 .align 2, 0 -_0802969C: .4byte gUnknown_2023D74 +_0802969C: .4byte gBattlescriptCurrInstr _080296A0: .4byte gUnknown_2023D48 _080296A4: .4byte gLastUsedMove _080296A8: .4byte gBattlerTarget @@ -24014,7 +24014,7 @@ atk9E_metronome: @ 8029754 movs r6, 0xB1 lsls r6, 1 ldr r5, _080297D8 @ =gUnknown_82507E8 - ldr r0, _080297DC @ =gUnknown_2023D74 + ldr r0, _080297DC @ =gBattlescriptCurrInstr mov r8, r0 _08029766: bl Random @@ -24045,7 +24045,7 @@ _08029794: ldr r0, _080297E4 @ =0x0000ffff cmp r1, r0 bne _08029766 - ldr r2, _080297E8 @ =gUnknown_2023DD0 + ldr r2, _080297E8 @ =gHitMarker ldr r0, [r2] ldr r1, _080297EC @ =0xfffffbff ands r0, r1 @@ -24076,10 +24076,10 @@ _08029794: .align 2, 0 _080297D4: .4byte gCurrentMove _080297D8: .4byte gUnknown_82507E8 -_080297DC: .4byte gUnknown_2023D74 +_080297DC: .4byte gBattlescriptCurrInstr _080297E0: .4byte 0x000001ff _080297E4: .4byte 0x0000ffff -_080297E8: .4byte gUnknown_2023DD0 +_080297E8: .4byte gHitMarker _080297EC: .4byte 0xfffffbff _080297F0: .4byte gUnknown_81D65A8 _080297F4: .4byte gBattleMoves @@ -24098,7 +24098,7 @@ atk9F_dmgtolevel: @ 80297FC adds r0, 0x2A ldrb r0, [r0] str r0, [r3] - ldr r1, _08029828 @ =gUnknown_2023D74 + ldr r1, _08029828 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -24107,7 +24107,7 @@ atk9F_dmgtolevel: @ 80297FC _0802981C: .4byte gBattleMoveDamage _08029820: .4byte gBattleMons _08029824: .4byte gBattlerAttacker -_08029828: .4byte gUnknown_2023D74 +_08029828: .4byte gBattlescriptCurrInstr thumb_func_end atk9F_dmgtolevel thumb_func_start atkA0_psywavedamageeffect @@ -24138,7 +24138,7 @@ _08029830: movs r1, 0x64 bl __divsi3 str r0, [r4] - ldr r1, _0802987C @ =gUnknown_2023D74 + ldr r1, _0802987C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -24149,7 +24149,7 @@ _08029830: _08029870: .4byte gBattleMoveDamage _08029874: .4byte gBattleMons _08029878: .4byte gBattlerAttacker -_0802987C: .4byte gUnknown_2023D74 +_0802987C: .4byte gBattlescriptCurrInstr thumb_func_end atkA0_psywavedamageeffect thumb_func_start atkA1_counterdamagecalculator @@ -24160,7 +24160,7 @@ atkA1_counterdamagecalculator: @ 8029880 bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 - ldr r5, _080298F4 @ =gUnknown_2023E8C + ldr r5, _080298F4 @ =gProtectStructs ldrb r0, [r4] lsls r0, 4 adds r0, r5 @@ -24209,14 +24209,14 @@ atkA1_counterdamagecalculator: @ 8029880 b _08029918 .align 2, 0 _080298F0: .4byte gBattlerAttacker -_080298F4: .4byte gUnknown_2023E8C +_080298F4: .4byte gProtectStructs _080298F8: .4byte gBattleMons _080298FC: .4byte gBattleMoveDamage _08029900: .4byte gSideTimers _08029904: .4byte gBattlerTarget _08029908: ldr r2, _08029924 @ =gBattlerTarget - ldr r1, _08029928 @ =gUnknown_2023E8C + ldr r1, _08029928 @ =gProtectStructs ldr r0, _0802992C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -24224,18 +24224,18 @@ _08029908: ldrb r0, [r0, 0xC] strb r0, [r2] _08029918: - ldr r1, _08029930 @ =gUnknown_2023D74 + ldr r1, _08029930 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _08029964 .align 2, 0 _08029924: .4byte gBattlerTarget -_08029928: .4byte gUnknown_2023E8C +_08029928: .4byte gProtectStructs _0802992C: .4byte gBattlerAttacker -_08029930: .4byte gUnknown_2023D74 +_08029930: .4byte gBattlescriptCurrInstr _08029934: - ldr r2, _0802996C @ =gUnknown_2023ECC + ldr r2, _0802996C @ =gSpecialStatuses ldr r0, _08029970 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 @@ -24246,7 +24246,7 @@ _08029934: movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r3, _08029974 @ =gUnknown_2023D74 + ldr r3, _08029974 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24264,9 +24264,9 @@ _08029964: pop {r0} bx r0 .align 2, 0 -_0802996C: .4byte gUnknown_2023ECC +_0802996C: .4byte gSpecialStatuses _08029970: .4byte gBattlerAttacker -_08029974: .4byte gUnknown_2023D74 +_08029974: .4byte gBattlescriptCurrInstr thumb_func_end atkA1_counterdamagecalculator thumb_func_start atkA2_mirrorcoatdamagecalculator @@ -24277,7 +24277,7 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978 bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 - ldr r5, _080299EC @ =gUnknown_2023E8C + ldr r5, _080299EC @ =gProtectStructs ldrb r0, [r4] lsls r0, 4 adds r0, r5 @@ -24327,14 +24327,14 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978 b _08029A10 .align 2, 0 _080299E8: .4byte gBattlerAttacker -_080299EC: .4byte gUnknown_2023E8C +_080299EC: .4byte gProtectStructs _080299F0: .4byte gBattleMons _080299F4: .4byte gBattleMoveDamage _080299F8: .4byte gSideTimers _080299FC: .4byte gBattlerTarget _08029A00: ldr r2, _08029A1C @ =gBattlerTarget - ldr r1, _08029A20 @ =gUnknown_2023E8C + ldr r1, _08029A20 @ =gProtectStructs ldr r0, _08029A24 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -24342,18 +24342,18 @@ _08029A00: ldrb r0, [r0, 0xD] strb r0, [r2] _08029A10: - ldr r1, _08029A28 @ =gUnknown_2023D74 + ldr r1, _08029A28 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _08029A5C .align 2, 0 _08029A1C: .4byte gBattlerTarget -_08029A20: .4byte gUnknown_2023E8C +_08029A20: .4byte gProtectStructs _08029A24: .4byte gBattlerAttacker -_08029A28: .4byte gUnknown_2023D74 +_08029A28: .4byte gBattlescriptCurrInstr _08029A2C: - ldr r2, _08029A64 @ =gUnknown_2023ECC + ldr r2, _08029A64 @ =gSpecialStatuses ldr r0, _08029A68 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 @@ -24364,7 +24364,7 @@ _08029A2C: movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r3, _08029A6C @ =gUnknown_2023D74 + ldr r3, _08029A6C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24382,9 +24382,9 @@ _08029A5C: pop {r0} bx r0 .align 2, 0 -_08029A64: .4byte gUnknown_2023ECC +_08029A64: .4byte gSpecialStatuses _08029A68: .4byte gBattlerAttacker -_08029A6C: .4byte gUnknown_2023D74 +_08029A6C: .4byte gBattlescriptCurrInstr thumb_func_end atkA2_mirrorcoatdamagecalculator thumb_func_start atkA3_disablelastusedattack @@ -24513,7 +24513,7 @@ _08029AC4: ands r0, r3 orrs r0, r2 strb r0, [r1, 0xB] - ldr r1, _08029B84 @ =gUnknown_2023D74 + ldr r1, _08029B84 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -24524,9 +24524,9 @@ _08029B74: .4byte gBattlerTarget _08029B78: .4byte gLastUsedMove _08029B7C: .4byte gDisableStructs _08029B80: .4byte gBattleTextBuff1 -_08029B84: .4byte gUnknown_2023D74 +_08029B84: .4byte gBattlescriptCurrInstr _08029B88: - ldr r3, _08029BB0 @ =gUnknown_2023D74 + ldr r3, _08029BB0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24547,7 +24547,7 @@ _08029BA2: pop {r0} bx r0 .align 2, 0 -_08029BB0: .4byte gUnknown_2023D74 +_08029BB0: .4byte gBattlescriptCurrInstr thumb_func_end atkA3_disablelastusedattack thumb_func_start atkA4_trysetencore @@ -24672,7 +24672,7 @@ _08029C24: ands r0, r3 orrs r0, r2 strb r0, [r1, 0xE] - ldr r1, _08029CB8 @ =gUnknown_2023D74 + ldr r1, _08029CB8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -24682,9 +24682,9 @@ _08029CA8: .4byte gBattleMons _08029CAC: .4byte gBattlerTarget _08029CB0: .4byte gLastUsedMove _08029CB4: .4byte gDisableStructs -_08029CB8: .4byte gUnknown_2023D74 +_08029CB8: .4byte gBattlescriptCurrInstr _08029CBC: - ldr r3, _08029CE4 @ =gUnknown_2023D74 + ldr r3, _08029CE4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24706,7 +24706,7 @@ _08029CD6: pop {r0} bx r0 .align 2, 0 -_08029CE4: .4byte gUnknown_2023D74 +_08029CE4: .4byte gBattlescriptCurrInstr thumb_func_end atkA4_trysetencore thumb_func_start atkA5_painsplitdmgcalc @@ -24760,7 +24760,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8 ldrh r0, [r0, 0x28] subs r0, r3 str r0, [r4] - ldr r2, _08029D7C @ =gUnknown_2023ECC + ldr r2, _08029D7C @ =gSpecialStatuses mov r0, r12 ldrb r1, [r0] lsls r0, r1, 2 @@ -24770,7 +24770,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8 adds r0, r2 ldr r1, _08029D80 @ =0x0000ffff str r1, [r0] - ldr r1, _08029D84 @ =gUnknown_2023D74 + ldr r1, _08029D84 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -24781,11 +24781,11 @@ _08029D6C: .4byte gBattlerTarget _08029D70: .4byte gBattlerAttacker _08029D74: .4byte gBattleMoveDamage _08029D78: .4byte gBattleScripting -_08029D7C: .4byte gUnknown_2023ECC +_08029D7C: .4byte gSpecialStatuses _08029D80: .4byte 0x0000ffff -_08029D84: .4byte gUnknown_2023D74 +_08029D84: .4byte gBattlescriptCurrInstr _08029D88: - ldr r3, _08029DA8 @ =gUnknown_2023D74 + ldr r3, _08029DA8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24803,7 +24803,7 @@ _08029DA2: pop {r0} bx r0 .align 2, 0 -_08029DA8: .4byte gUnknown_2023D74 +_08029DA8: .4byte gBattlescriptCurrInstr thumb_func_end atkA5_painsplitdmgcalc thumb_func_start atkA6_settypetorandomresistance @@ -24845,7 +24845,7 @@ atkA6_settypetorandomresistance: @ 8029DAC cmp r0, 0 beq _08029E94 _08029DF6: - ldr r3, _08029E28 @ =gUnknown_2023D74 + ldr r3, _08029E28 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24865,7 +24865,7 @@ _08029E18: .4byte gBattlerAttacker _08029E1C: .4byte 0x0000ffff _08029E20: .4byte gBattleMons _08029E24: .4byte gUnknown_2023DC0 -_08029E28: .4byte gUnknown_2023D74 +_08029E28: .4byte gBattlescriptCurrInstr _08029E2C: mov r0, r12 strb r5, [r0] @@ -24883,11 +24883,11 @@ _08029E2C: strb r5, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r1, _08029E54 @ =gUnknown_2023D74 + ldr r1, _08029E54 @ =gBattlescriptCurrInstr b _08029E82 .align 2, 0 _08029E50: .4byte gBattleTextBuff1 -_08029E54: .4byte gUnknown_2023D74 +_08029E54: .4byte gBattlescriptCurrInstr _08029E58: mov r0, r8 adds r0, 0x1 @@ -24977,7 +24977,7 @@ _08029EF8: ble _08029E9C movs r0, 0 mov r8, r0 - ldr r1, _08029FA4 @ =gUnknown_2023D74 + ldr r1, _08029FA4 @ =gBattlescriptCurrInstr mov r12, r1 ldr r3, _08029F90 @ =gUnknown_824F050 adds r0, r4, 0x1 @@ -25055,7 +25055,7 @@ _08029F94: .4byte gUnknown_2023DA8 _08029F98: .4byte gBattlerAttacker _08029F9C: .4byte gBattleMons _08029FA0: .4byte 0x000003e7 -_08029FA4: .4byte gUnknown_2023D74 +_08029FA4: .4byte gBattlescriptCurrInstr _08029FA8: .4byte 0x0000014f thumb_func_end atkA6_settypetorandomresistance @@ -25088,7 +25088,7 @@ atkA7_setalwayshitflag: @ 8029FAC ldr r1, _08029FFC @ =gBattlerAttacker ldrb r1, [r1] strb r1, [r0, 0x15] - ldr r1, _0802A000 @ =gUnknown_2023D74 + ldr r1, _0802A000 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -25100,7 +25100,7 @@ _08029FF0: .4byte gStatuses3 _08029FF4: .4byte gBattlerTarget _08029FF8: .4byte gDisableStructs _08029FFC: .4byte gBattlerAttacker -_0802A000: .4byte gUnknown_2023D74 +_0802A000: .4byte gBattlescriptCurrInstr thumb_func_end atkA7_setalwayshitflag thumb_func_start atkA8_copymovepermanently @@ -25263,7 +25263,7 @@ _0802A0F2: bl BtlController_EmitSetMonData ldr r0, _0802A184 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r1, _0802A188 @ =gBattleTextBuff1 movs r0, 0xFD strb r0, [r1] @@ -25284,7 +25284,7 @@ _0802A0F2: strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _0802A18C @ =gUnknown_2023D74 + ldr r1, _0802A18C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -25300,9 +25300,9 @@ _0802A17C: .4byte gUnknown_2023D48 _0802A180: .4byte gBattleMoves _0802A184: .4byte gActiveBattler _0802A188: .4byte gBattleTextBuff1 -_0802A18C: .4byte gUnknown_2023D74 +_0802A18C: .4byte gBattlescriptCurrInstr _0802A190: - ldr r3, _0802A1BC @ =gUnknown_2023D74 + ldr r3, _0802A1BC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -25325,7 +25325,7 @@ _0802A1AA: pop {r0} bx r0 .align 2, 0 -_0802A1BC: .4byte gUnknown_2023D74 +_0802A1BC: .4byte gBattlescriptCurrInstr thumb_func_end atkA8_copymovepermanently thumb_func_start IsTwoTurnsMove @@ -25429,7 +25429,7 @@ _0802A248: cmp r0, 0x1A bne _0802A288 _0802A26A: - ldr r0, _0802A284 @ =gUnknown_2023DD0 + ldr r0, _0802A284 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 20 @@ -25441,7 +25441,7 @@ _0802A26A: .align 2, 0 _0802A27C: .4byte gBattleMoves _0802A280: .4byte gBattleWeather -_0802A284: .4byte gUnknown_2023DD0 +_0802A284: .4byte gHitMarker _0802A288: movs r0, 0x2 _0802A28A: @@ -25518,7 +25518,7 @@ _0802A2FC: lsrs r6, r0, 24 cmp r6, 0xF bne _0802A330 - ldr r1, _0802A32C @ =gUnknown_2023D74 + ldr r1, _0802A32C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -25527,7 +25527,7 @@ _0802A2FC: _0802A320: .4byte gBattlerAttacker _0802A324: .4byte gUnknown_2023BF0 _0802A328: .4byte gBitTable -_0802A32C: .4byte gUnknown_2023D74 +_0802A32C: .4byte gBattlescriptCurrInstr _0802A330: movs r7, 0x3 ldr r4, _0802A3A4 @ =gBitTable @@ -25555,7 +25555,7 @@ _0802A334: strh r0, [r4] ldr r0, _0802A3B4 @ =gUnknown_2023D48 strb r5, [r0] - ldr r2, _0802A3B8 @ =gUnknown_2023DD0 + ldr r2, _0802A3B8 @ =gHitMarker ldr r0, [r2] ldr r1, _0802A3BC @ =0xfffffbff ands r0, r1 @@ -25565,7 +25565,7 @@ _0802A334: bl GetMoveTarget ldr r1, _0802A3C0 @ =gBattlerTarget strb r0, [r1] - ldr r3, _0802A3C4 @ =gUnknown_2023D74 + ldr r3, _0802A3C4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -25592,10 +25592,10 @@ _0802A3A8: .4byte gUnknown_2023D4E _0802A3AC: .4byte gBattleMons _0802A3B0: .4byte gBattlerAttacker _0802A3B4: .4byte gUnknown_2023D48 -_0802A3B8: .4byte gUnknown_2023DD0 +_0802A3B8: .4byte gHitMarker _0802A3BC: .4byte 0xfffffbff _0802A3C0: .4byte gBattlerTarget -_0802A3C4: .4byte gUnknown_2023D74 +_0802A3C4: .4byte gBattlescriptCurrInstr thumb_func_end atkA9_trychoosesleeptalkmove thumb_func_start atkAA_setdestinybond @@ -25612,7 +25612,7 @@ atkAA_setdestinybond: @ 802A3C8 lsls r1, 18 orrs r0, r1 str r0, [r2] - ldr r1, _0802A3F4 @ =gUnknown_2023D74 + ldr r1, _0802A3F4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -25620,7 +25620,7 @@ atkAA_setdestinybond: @ 802A3C8 .align 2, 0 _0802A3EC: .4byte gBattleMons _0802A3F0: .4byte gBattlerAttacker -_0802A3F4: .4byte gUnknown_2023D74 +_0802A3F4: .4byte gBattlescriptCurrInstr thumb_func_end atkAA_setdestinybond thumb_func_start TrySetDestinyBondToHappen @@ -25650,7 +25650,7 @@ TrySetDestinyBondToHappen: @ 802A3F8 beq _0802A442 cmp r5, r3 beq _0802A442 - ldr r2, _0802A454 @ =gUnknown_2023DD0 + ldr r2, _0802A454 @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 17 @@ -25668,21 +25668,21 @@ _0802A442: _0802A448: .4byte gBattlerAttacker _0802A44C: .4byte gBattlerTarget _0802A450: .4byte gBattleMons -_0802A454: .4byte gUnknown_2023DD0 +_0802A454: .4byte gHitMarker thumb_func_end TrySetDestinyBondToHappen thumb_func_start atkAB_trysetdestinybondtohappen atkAB_trysetdestinybondtohappen: @ 802A458 push {lr} bl TrySetDestinyBondToHappen - ldr r1, _0802A46C @ =gUnknown_2023D74 + ldr r1, _0802A46C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802A46C: .4byte gUnknown_2023D74 +_0802A46C: .4byte gBattlescriptCurrInstr thumb_func_end atkAB_trysetdestinybondtohappen thumb_func_start atkAC_remaininghptopower @@ -25723,7 +25723,7 @@ _0802A4AA: adds r0, r1 ldrb r0, [r0] strh r0, [r2] - ldr r1, _0802A4D4 @ =gUnknown_2023D74 + ldr r1, _0802A4D4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -25734,7 +25734,7 @@ _0802A4C4: .4byte gBattleMons _0802A4C8: .4byte gBattlerAttacker _0802A4CC: .4byte gUnknown_8250810 _0802A4D0: .4byte gDynamicBasePower -_0802A4D4: .4byte gUnknown_2023D74 +_0802A4D4: .4byte gBattlescriptCurrInstr thumb_func_end atkAC_remaininghptopower thumb_func_start atkAD_tryspiteppreduce @@ -25913,9 +25913,9 @@ _0802A57C: movs r3, 0x1 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0802A630: - ldr r1, _0802A67C @ =gUnknown_2023D74 + ldr r1, _0802A67C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -25943,9 +25943,9 @@ _0802A66C: .4byte gBattleTextBuff2 _0802A670: .4byte gActiveBattler _0802A674: .4byte gDisableStructs _0802A678: .4byte gBitTable -_0802A67C: .4byte gUnknown_2023D74 +_0802A67C: .4byte gBattlescriptCurrInstr _0802A680: - ldr r3, _0802A6AC @ =gUnknown_2023D74 + ldr r3, _0802A6AC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -25968,7 +25968,7 @@ _0802A69A: pop {r0} bx r0 .align 2, 0 -_0802A6AC: .4byte gUnknown_2023D74 +_0802A6AC: .4byte gBattlescriptCurrInstr thumb_func_end atkAD_tryspiteppreduce thumb_func_start atkAE_healpartystatus @@ -25988,7 +25988,7 @@ atkAE_healpartystatus: @ 802A6B0 beq _0802A6CC b _0802A8B6 _0802A6CC: - ldr r6, _0802A724 @ =gUnknown_2023E82 + ldr r6, _0802A724 @ =gBattleCommunication mov r0, r8 strb r0, [r6, 0x5] ldr r5, _0802A728 @ =gBattlerAttacker @@ -26031,7 +26031,7 @@ _0802A6E8: b _0802A74C .align 2, 0 _0802A720: .4byte gCurrentMove -_0802A724: .4byte gUnknown_2023E82 +_0802A724: .4byte gBattleCommunication _0802A728: .4byte gBattlerAttacker _0802A72C: .4byte gEnemyParty _0802A730: .4byte gPlayerParty @@ -26114,7 +26114,7 @@ _0802A7E0: ldrb r1, [r1] adds r0, r3, 0 bl sub_80C71D0 - ldr r1, _0802A838 @ =gUnknown_2023E82 + ldr r1, _0802A838 @ =gBattleCommunication ldrb r0, [r1, 0x5] mov r2, r9 orrs r0, r2 @@ -26155,7 +26155,7 @@ _0802A7F6: muls r0, r1 b _0802A878 .align 2, 0 -_0802A838: .4byte gUnknown_2023E82 +_0802A838: .4byte gBattleCommunication _0802A83C: .4byte gBattleMons _0802A840: .4byte gBattlerPartyIndexes _0802A844: .4byte gBattlerAttacker @@ -26216,7 +26216,7 @@ _0802A8AE: ble _0802A7F6 b _0802A934 _0802A8B6: - ldr r1, _0802A970 @ =gUnknown_2023E82 + ldr r1, _0802A970 @ =gBattleCommunication movs r0, 0x4 strb r0, [r1, 0x5] movs r2, 0x3F @@ -26292,9 +26292,9 @@ _0802A934: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0802A956: - ldr r1, _0802A990 @ =gUnknown_2023D74 + ldr r1, _0802A990 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -26307,7 +26307,7 @@ _0802A956: pop {r0} bx r0 .align 2, 0 -_0802A970: .4byte gUnknown_2023E82 +_0802A970: .4byte gBattleCommunication _0802A974: .4byte gBattleMons _0802A978: .4byte gBattlerAttacker _0802A97C: .4byte 0xf7ffffff @@ -26315,7 +26315,7 @@ _0802A980: .4byte gActiveBattler _0802A984: .4byte gBattleTypeFlags _0802A988: .4byte gAbsentBattlerFlags _0802A98C: .4byte gBitTable -_0802A990: .4byte gUnknown_2023D74 +_0802A990: .4byte gBattlescriptCurrInstr thumb_func_end atkAE_healpartystatus thumb_func_start atkAF_cursetarget @@ -26337,7 +26337,7 @@ atkAF_cursetarget: @ 802A994 ands r0, r3 cmp r0, 0 beq _0802A9E0 - ldr r3, _0802A9DC @ =gUnknown_2023D74 + ldr r3, _0802A9DC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -26354,7 +26354,7 @@ atkAF_cursetarget: @ 802A994 .align 2, 0 _0802A9D4: .4byte gBattleMons _0802A9D8: .4byte gBattlerTarget -_0802A9DC: .4byte gUnknown_2023D74 +_0802A9DC: .4byte gBattlescriptCurrInstr _0802A9E0: orrs r2, r3 str r2, [r1] @@ -26371,7 +26371,7 @@ _0802A9E0: movs r0, 0x1 str r0, [r1] _0802A9FC: - ldr r1, _0802AA14 @ =gUnknown_2023D74 + ldr r1, _0802AA14 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -26382,7 +26382,7 @@ _0802AA04: .align 2, 0 _0802AA0C: .4byte gBattleMoveDamage _0802AA10: .4byte gBattlerAttacker -_0802AA14: .4byte gUnknown_2023D74 +_0802AA14: .4byte gBattlescriptCurrInstr thumb_func_end atkAF_cursetarget thumb_func_start atkB0_trysetspikes @@ -26403,7 +26403,7 @@ atkB0_trysetspikes: @ 802AA18 ldrb r0, [r3, 0xA] cmp r0, 0x3 bne _0802AA7C - ldr r2, _0802AA74 @ =gUnknown_2023ECC + ldr r2, _0802AA74 @ =gSpecialStatuses ldrb r1, [r4] lsls r0, r1, 2 adds r0, r1 @@ -26413,7 +26413,7 @@ atkB0_trysetspikes: @ 802AA18 movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r3, _0802AA78 @ =gUnknown_2023D74 + ldr r3, _0802AA78 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -26430,10 +26430,10 @@ atkB0_trysetspikes: @ 802AA18 .align 2, 0 _0802AA6C: .4byte gBattlerAttacker _0802AA70: .4byte gSideTimers -_0802AA74: .4byte gUnknown_2023ECC -_0802AA78: .4byte gUnknown_2023D74 +_0802AA74: .4byte gSpecialStatuses +_0802AA78: .4byte gBattlescriptCurrInstr _0802AA7C: - ldr r1, _0802AA9C @ =gSideAffecting + ldr r1, _0802AA9C @ =gSideStatuses adds r1, r2, r1 ldrh r2, [r1] movs r0, 0x10 @@ -26442,7 +26442,7 @@ _0802AA7C: ldrb r0, [r3, 0xA] adds r0, 0x1 strb r0, [r3, 0xA] - ldr r1, _0802AAA0 @ =gUnknown_2023D74 + ldr r1, _0802AAA0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -26451,8 +26451,8 @@ _0802AA96: pop {r0} bx r0 .align 2, 0 -_0802AA9C: .4byte gSideAffecting -_0802AAA0: .4byte gUnknown_2023D74 +_0802AA9C: .4byte gSideStatuses +_0802AAA0: .4byte gBattlescriptCurrInstr thumb_func_end atkB0_trysetspikes thumb_func_start atkB1_setforesight @@ -26469,7 +26469,7 @@ atkB1_setforesight: @ 802AAA4 lsls r1, 22 orrs r0, r1 str r0, [r2] - ldr r1, _0802AAD0 @ =gUnknown_2023D74 + ldr r1, _0802AAD0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -26477,7 +26477,7 @@ atkB1_setforesight: @ 802AAA4 .align 2, 0 _0802AAC8: .4byte gBattleMons _0802AACC: .4byte gBattlerTarget -_0802AAD0: .4byte gUnknown_2023D74 +_0802AAD0: .4byte gBattlescriptCurrInstr thumb_func_end atkB1_setforesight thumb_func_start atkB2_trysetperishsong @@ -26544,7 +26544,7 @@ _0802AB40: ldrb r0, [r0] cmp r6, r0 bne _0802AB74 - ldr r3, _0802AB70 @ =gUnknown_2023D74 + ldr r3, _0802AB70 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -26560,9 +26560,9 @@ _0802AB40: b _0802AB7C .align 2, 0 _0802AB6C: .4byte gBattlersCount -_0802AB70: .4byte gUnknown_2023D74 +_0802AB70: .4byte gBattlescriptCurrInstr _0802AB74: - ldr r1, _0802AB88 @ =gUnknown_2023D74 + ldr r1, _0802AB88 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -26574,7 +26574,7 @@ _0802AB7C: pop {r0} bx r0 .align 2, 0 -_0802AB88: .4byte gUnknown_2023D74 +_0802AB88: .4byte gBattlescriptCurrInstr thumb_func_end atkB2_trysetperishsong thumb_func_start atkB3_rolloutdamagecalculation @@ -26592,14 +26592,14 @@ atkB3_rolloutdamagecalculation: @ 802AB8C ldr r0, _0802ABB4 @ =gBattlerAttacker ldrb r0, [r0] bl CancelMultiTurnMoves - ldr r1, _0802ABB8 @ =gUnknown_2023D74 + ldr r1, _0802ABB8 @ =gBattlescriptCurrInstr ldr r0, _0802ABBC @ =gUnknown_81D6960 str r0, [r1] b _0802ACD8 .align 2, 0 _0802ABB0: .4byte gMoveResultFlags _0802ABB4: .4byte gBattlerAttacker -_0802ABB8: .4byte gUnknown_2023D74 +_0802ABB8: .4byte gBattlescriptCurrInstr _0802ABBC: .4byte gUnknown_81D6960 _0802ABC0: ldr r2, _0802ACE4 @ =gBattleMons @@ -26709,7 +26709,7 @@ _0802AC66: lsrs r0, 28 movs r1, 0x5 subs r1, r0 - ldr r7, _0802AD04 @ =gUnknown_2023D74 + ldr r7, _0802AD04 @ =gBattlescriptCurrInstr adds r5, r3, 0 cmp r2, r1 bge _0802ACB4 @@ -26763,7 +26763,7 @@ _0802ACF4: .4byte gUnknown_2023DB8 _0802ACF8: .4byte 0xffffefff _0802ACFC: .4byte gDynamicBasePower _0802AD00: .4byte gBattleMoves -_0802AD04: .4byte gUnknown_2023D74 +_0802AD04: .4byte gBattlescriptCurrInstr thumb_func_end atkB3_rolloutdamagecalculation thumb_func_start atkB4_jumpifconfusedandstatmaxed @@ -26781,7 +26781,7 @@ atkB4_jumpifconfusedandstatmaxed: @ 802AD08 ldr r0, [r0] movs r1, 0x7 ands r0, r1 - ldr r4, _0802AD60 @ =gUnknown_2023D74 + ldr r4, _0802AD60 @ =gBattlescriptCurrInstr cmp r0, 0 beq _0802AD64 ldr r2, [r4] @@ -26810,7 +26810,7 @@ atkB4_jumpifconfusedandstatmaxed: @ 802AD08 .align 2, 0 _0802AD58: .4byte gBattleMons _0802AD5C: .4byte gBattlerTarget -_0802AD60: .4byte gUnknown_2023D74 +_0802AD60: .4byte gBattlescriptCurrInstr _0802AD64: ldr r0, [r4] adds r0, 0x6 @@ -26839,7 +26839,7 @@ atkB5_furycuttercalc: @ 802AD70 adds r0, r2 movs r1, 0 strb r1, [r0, 0x10] - ldr r1, _0802ADA4 @ =gUnknown_2023D74 + ldr r1, _0802ADA4 @ =gBattlescriptCurrInstr ldr r0, _0802ADA8 @ =gUnknown_81D6960 str r0, [r1] b _0802AE04 @@ -26847,7 +26847,7 @@ atkB5_furycuttercalc: @ 802AD70 _0802AD98: .4byte gMoveResultFlags _0802AD9C: .4byte gDisableStructs _0802ADA0: .4byte gBattlerAttacker -_0802ADA4: .4byte gUnknown_2023D74 +_0802ADA4: .4byte gBattlescriptCurrInstr _0802ADA8: .4byte gUnknown_81D6960 _0802ADAC: ldr r5, _0802AE0C @ =gDisableStructs @@ -26879,7 +26879,7 @@ _0802ADC4: subs r0, r1 lsls r0, 2 adds r0, r5 - ldr r4, _0802AE20 @ =gUnknown_2023D74 + ldr r4, _0802AE20 @ =gBattlescriptCurrInstr ldrb r1, [r0, 0x10] cmp r2, r1 bge _0802ADFE @@ -26907,7 +26907,7 @@ _0802AE10: .4byte gBattlerAttacker _0802AE14: .4byte gDynamicBasePower _0802AE18: .4byte gBattleMoves _0802AE1C: .4byte gCurrentMove -_0802AE20: .4byte gUnknown_2023D74 +_0802AE20: .4byte gBattlescriptCurrInstr thumb_func_end atkB5_furycuttercalc thumb_func_start atkB6_happinesstodamagecalculation @@ -26958,7 +26958,7 @@ _0802AE7A: movs r1, 0x19 bl __divsi3 strh r0, [r4] - ldr r1, _0802AEA4 @ =gUnknown_2023D74 + ldr r1, _0802AEA4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -26969,7 +26969,7 @@ _0802AE7A: _0802AE98: .4byte gDynamicBasePower _0802AE9C: .4byte gBattleMons _0802AEA0: .4byte gBattlerAttacker -_0802AEA4: .4byte gUnknown_2023D74 +_0802AEA4: .4byte gBattlescriptCurrInstr thumb_func_end atkB6_happinesstodamagecalculation thumb_func_start atkB7_presentdamagecalculation @@ -27026,14 +27026,14 @@ _0802AF00: _0802AF06: cmp r4, 0xCB bgt _0802AF24 - ldr r1, _0802AF1C @ =gUnknown_2023D74 + ldr r1, _0802AF1C @ =gBattlescriptCurrInstr ldr r0, _0802AF20 @ =gUnknown_81D6930 b _0802AF5E .align 2, 0 _0802AF10: .4byte gBattleMoveDamage _0802AF14: .4byte gBattleMons _0802AF18: .4byte gBattlerTarget -_0802AF1C: .4byte gUnknown_2023D74 +_0802AF1C: .4byte gBattlescriptCurrInstr _0802AF20: .4byte gUnknown_81D6930 _0802AF24: ldr r2, _0802AF40 @ =gBattleMons @@ -27046,13 +27046,13 @@ _0802AF24: ldrh r0, [r0, 0x28] cmp r1, r0 bne _0802AF50 - ldr r1, _0802AF48 @ =gUnknown_2023D74 + ldr r1, _0802AF48 @ =gBattlescriptCurrInstr ldr r0, _0802AF4C @ =gUnknown_81D7DD1 b _0802AF5E .align 2, 0 _0802AF40: .4byte gBattleMons _0802AF44: .4byte gBattlerTarget -_0802AF48: .4byte gUnknown_2023D74 +_0802AF48: .4byte gBattlescriptCurrInstr _0802AF4C: .4byte gUnknown_81D7DD1 _0802AF50: ldr r2, _0802AF68 @ =gMoveResultFlags @@ -27060,7 +27060,7 @@ _0802AF50: movs r0, 0xF7 ands r0, r1 strb r0, [r2] - ldr r1, _0802AF6C @ =gUnknown_2023D74 + ldr r1, _0802AF6C @ =gBattlescriptCurrInstr ldr r0, _0802AF70 @ =gUnknown_81D7DB7 _0802AF5E: str r0, [r1] @@ -27069,7 +27069,7 @@ _0802AF5E: bx r0 .align 2, 0 _0802AF68: .4byte gMoveResultFlags -_0802AF6C: .4byte gUnknown_2023D74 +_0802AF6C: .4byte gBattlescriptCurrInstr _0802AF70: .4byte gUnknown_81D7DB7 thumb_func_end atkB7_presentdamagecalculation @@ -27079,7 +27079,7 @@ atkB8_setsafeguard: @ 802AF74 ldr r7, _0802AFA8 @ =gBattlerAttacker ldrb r0, [r7] bl GetBattlerPosition - ldr r4, _0802AFAC @ =gSideAffecting + ldr r4, _0802AFAC @ =gSideStatuses movs r6, 0x1 adds r1, r6, 0 ands r1, r0 @@ -27095,15 +27095,15 @@ atkB8_setsafeguard: @ 802AF74 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0802AFB4 @ =gUnknown_2023E82 + ldr r1, _0802AFB4 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] b _0802B000 .align 2, 0 _0802AFA8: .4byte gBattlerAttacker -_0802AFAC: .4byte gSideAffecting +_0802AFAC: .4byte gSideStatuses _0802AFB0: .4byte gMoveResultFlags -_0802AFB4: .4byte gUnknown_2023E82 +_0802AFB4: .4byte gBattleCommunication _0802AFB8: ldrb r0, [r7] bl GetBattlerPosition @@ -27136,10 +27136,10 @@ _0802AFB8: adds r0, r5 ldrb r1, [r7] strb r1, [r0, 0x7] - ldr r0, _0802B014 @ =gUnknown_2023E82 + ldr r0, _0802B014 @ =gBattleCommunication strb r4, [r0, 0x5] _0802B000: - ldr r1, _0802B018 @ =gUnknown_2023D74 + ldr r1, _0802B018 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -27148,8 +27148,8 @@ _0802B000: bx r0 .align 2, 0 _0802B010: .4byte gSideTimers -_0802B014: .4byte gUnknown_2023E82 -_0802B018: .4byte gUnknown_2023D74 +_0802B014: .4byte gBattleCommunication +_0802B018: .4byte gBattlescriptCurrInstr thumb_func_end atkB8_setsafeguard thumb_func_start atkB9_magnitudedamagecalculation @@ -27246,7 +27246,7 @@ _0802B0B4: ldr r0, _0802B12C @ =gBattlersCount ldrb r3, [r0] adds r6, r1, 0 - ldr r0, _0802B130 @ =gUnknown_2023D74 + ldr r0, _0802B130 @ =gBattlescriptCurrInstr mov r8, r0 cmp r2, r3 bcs _0802B10C @@ -27290,7 +27290,7 @@ _0802B120: .4byte gDynamicBasePower _0802B124: .4byte gBattleTextBuff1 _0802B128: .4byte gBattlerTarget _0802B12C: .4byte gBattlersCount -_0802B130: .4byte gUnknown_2023D74 +_0802B130: .4byte gBattlescriptCurrInstr _0802B134: .4byte gBattlerAttacker _0802B138: .4byte gBitTable _0802B13C: .4byte gAbsentBattlerFlags @@ -27396,12 +27396,12 @@ _0802B1A2: mov r10, r7 ldr r2, _0802B28C @ =gUnknown_2023D49 mov r9, r2 - ldr r7, _0802B290 @ =gUnknown_2023DD0 + ldr r7, _0802B290 @ =gHitMarker mov r12, r7 ldrb r2, [r0] cmp r1, r2 bge _0802B22E - ldr r6, _0802B294 @ =gUnknown_2023BDE + ldr r6, _0802B294 @ =gBattlerByTurnOrder ldr r5, _0802B264 @ =gBattlerTarget ldr r4, _0802B298 @ =gUnknown_2023BDA movs r3, 0xB @@ -27434,7 +27434,7 @@ _0802B22E: strb r0, [r1] mov r2, r10 strb r0, [r2] - ldr r7, _0802B29C @ =gUnknown_2023D74 + ldr r7, _0802B29C @ =gBattlescriptCurrInstr ldr r0, [r7] adds r0, 0x5 str r0, [r7] @@ -27459,14 +27459,14 @@ _0802B280: .4byte gBattlersCount _0802B284: .4byte gCurrentMove _0802B288: .4byte gUnknown_2023D48 _0802B28C: .4byte gUnknown_2023D49 -_0802B290: .4byte gUnknown_2023DD0 -_0802B294: .4byte gUnknown_2023BDE +_0802B290: .4byte gHitMarker +_0802B294: .4byte gBattlerByTurnOrder _0802B298: .4byte gUnknown_2023BDA -_0802B29C: .4byte gUnknown_2023D74 +_0802B29C: .4byte gBattlescriptCurrInstr _0802B2A0: .4byte gBattleScripting _0802B2A4: .4byte 0xfffffbff _0802B2A8: - ldr r3, _0802B2D0 @ =gUnknown_2023D74 + ldr r3, _0802B2D0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -27488,7 +27488,7 @@ _0802B2C2: pop {r0} bx r0 .align 2, 0 -_0802B2D0: .4byte gUnknown_2023D74 +_0802B2D0: .4byte gBattlescriptCurrInstr thumb_func_end atkBA_jumpifnopursuitswitchdmg thumb_func_start atkBB_setsunny @@ -27505,35 +27505,35 @@ atkBB_setsunny: @ 802B2D4 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0802B2FC @ =gUnknown_2023E82 + ldr r1, _0802B2FC @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _0802B312 .align 2, 0 _0802B2F4: .4byte gBattleWeather _0802B2F8: .4byte gMoveResultFlags -_0802B2FC: .4byte gUnknown_2023E82 +_0802B2FC: .4byte gBattleCommunication _0802B300: movs r0, 0x20 strh r0, [r2] - ldr r1, _0802B320 @ =gUnknown_2023E82 + ldr r1, _0802B320 @ =gBattleCommunication movs r0, 0x4 strb r0, [r1, 0x5] - ldr r0, _0802B324 @ =gUnknown_2023F20 + ldr r0, _0802B324 @ =gWishFutureKnock adds r0, 0x28 movs r1, 0x5 strb r1, [r0] _0802B312: - ldr r1, _0802B328 @ =gUnknown_2023D74 + ldr r1, _0802B328 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802B320: .4byte gUnknown_2023E82 -_0802B324: .4byte gUnknown_2023F20 -_0802B328: .4byte gUnknown_2023D74 +_0802B320: .4byte gBattleCommunication +_0802B324: .4byte gWishFutureKnock +_0802B328: .4byte gBattlescriptCurrInstr thumb_func_end atkBB_setsunny thumb_func_start atkBC_maxattackhalvehp @@ -27572,7 +27572,7 @@ _0802B344: movs r0, 0x1 str r0, [r1] _0802B36C: - ldr r1, _0802B384 @ =gUnknown_2023D74 + ldr r1, _0802B384 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -27581,9 +27581,9 @@ _0802B36C: _0802B378: .4byte gBattleMons _0802B37C: .4byte gBattlerAttacker _0802B380: .4byte gBattleMoveDamage -_0802B384: .4byte gUnknown_2023D74 +_0802B384: .4byte gBattlescriptCurrInstr _0802B388: - ldr r3, _0802B3A8 @ =gUnknown_2023D74 + ldr r3, _0802B3A8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -27601,14 +27601,14 @@ _0802B3A2: pop {r0} bx r0 .align 2, 0 -_0802B3A8: .4byte gUnknown_2023D74 +_0802B3A8: .4byte gBattlescriptCurrInstr thumb_func_end atkBC_maxattackhalvehp thumb_func_start atkBD_copyfoestats atkBD_copyfoestats: @ 802B3AC push {r4-r7,lr} movs r2, 0 - ldr r7, _0802B3E4 @ =gUnknown_2023D74 + ldr r7, _0802B3E4 @ =gBattlescriptCurrInstr ldr r6, _0802B3E8 @ =gBattlerAttacker movs r4, 0x58 ldr r3, _0802B3EC @ =gUnknown_2023BFC @@ -27635,7 +27635,7 @@ _0802B3BA: pop {r0} bx r0 .align 2, 0 -_0802B3E4: .4byte gUnknown_2023D74 +_0802B3E4: .4byte gBattlescriptCurrInstr _0802B3E8: .4byte gBattlerAttacker _0802B3EC: .4byte gUnknown_2023BFC _0802B3F0: .4byte gBattlerTarget @@ -27695,7 +27695,7 @@ atkBE_rapidspinfree: @ 802B3F4 movs r0, 0xFF strb r0, [r1, 0x4] bl BattleScriptPushCursor - ldr r1, _0802B480 @ =gUnknown_2023D74 + ldr r1, _0802B480 @ =gBattlescriptCurrInstr ldr r0, _0802B484 @ =gUnknown_81D8DF3 b _0802B532 .align 2, 0 @@ -27706,7 +27706,7 @@ _0802B470: .4byte gBattlerTarget _0802B474: .4byte 0xffff1fff _0802B478: .4byte gBattleStruct _0802B47C: .4byte gBattleTextBuff1 -_0802B480: .4byte gUnknown_2023D74 +_0802B480: .4byte gBattlescriptCurrInstr _0802B484: .4byte gUnknown_81D8DF3 _0802B488: ldr r4, _0802B4BC @ =gStatuses3 @@ -27730,17 +27730,17 @@ _0802B488: ands r0, r2 str r0, [r1] bl BattleScriptPushCursor - ldr r1, _0802B4C0 @ =gUnknown_2023D74 + ldr r1, _0802B4C0 @ =gBattlescriptCurrInstr ldr r0, _0802B4C4 @ =gUnknown_81D8E04 b _0802B532 .align 2, 0 _0802B4BC: .4byte gStatuses3 -_0802B4C0: .4byte gUnknown_2023D74 +_0802B4C0: .4byte gBattlescriptCurrInstr _0802B4C4: .4byte gUnknown_81D8E04 _0802B4C8: adds r0, r2, 0 bl GetBattlerSide - ldr r4, _0802B518 @ =gSideAffecting + ldr r4, _0802B518 @ =gSideStatuses lsls r0, 24 lsrs r0, 23 adds r0, r4 @@ -27770,17 +27770,17 @@ _0802B4C8: adds r1, r2 strb r4, [r1, 0xA] bl BattleScriptPushCursor - ldr r1, _0802B524 @ =gUnknown_2023D74 + ldr r1, _0802B524 @ =gBattlescriptCurrInstr ldr r0, _0802B528 @ =gUnknown_81D8E0B b _0802B532 .align 2, 0 -_0802B518: .4byte gSideAffecting +_0802B518: .4byte gSideStatuses _0802B51C: .4byte 0x0000ffef _0802B520: .4byte gSideTimers -_0802B524: .4byte gUnknown_2023D74 +_0802B524: .4byte gBattlescriptCurrInstr _0802B528: .4byte gUnknown_81D8E0B _0802B52C: - ldr r1, _0802B53C @ =gUnknown_2023D74 + ldr r1, _0802B53C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 _0802B532: @@ -27789,7 +27789,7 @@ _0802B532: pop {r0} bx r0 .align 2, 0 -_0802B53C: .4byte gUnknown_2023D74 +_0802B53C: .4byte gBattlescriptCurrInstr thumb_func_end atkBE_rapidspinfree thumb_func_start atkBF_setdefensecurlbit @@ -27806,7 +27806,7 @@ atkBF_setdefensecurlbit: @ 802B540 lsls r1, 23 orrs r0, r1 str r0, [r2] - ldr r1, _0802B56C @ =gUnknown_2023D74 + ldr r1, _0802B56C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -27814,7 +27814,7 @@ atkBF_setdefensecurlbit: @ 802B540 .align 2, 0 _0802B564: .4byte gBattleMons _0802B568: .4byte gBattlerAttacker -_0802B56C: .4byte gUnknown_2023D74 +_0802B56C: .4byte gBattlescriptCurrInstr thumb_func_end atkBF_setdefensecurlbit thumb_func_start atkC0_recoverbasedonsunlight @@ -27917,16 +27917,16 @@ _0802B636: ldr r0, [r1] negs r0, r0 str r0, [r1] - ldr r1, _0802B64C @ =gUnknown_2023D74 + ldr r1, _0802B64C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _0802B66A .align 2, 0 _0802B648: .4byte gBattleMoveDamage -_0802B64C: .4byte gUnknown_2023D74 +_0802B64C: .4byte gBattlescriptCurrInstr _0802B650: - ldr r3, _0802B674 @ =gUnknown_2023D74 + ldr r3, _0802B674 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -27945,7 +27945,7 @@ _0802B66A: pop {r0} bx r0 .align 2, 0 -_0802B674: .4byte gUnknown_2023D74 +_0802B674: .4byte gBattlescriptCurrInstr thumb_func_end atkC0_recoverbasedonsunlight thumb_func_start sub_802B678 @@ -28055,7 +28055,7 @@ _0802B742: movs r1, 0xC0 orrs r0, r1 strb r0, [r2, 0x13] - ldr r1, _0802B770 @ =gUnknown_2023D74 + ldr r1, _0802B770 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28070,7 +28070,7 @@ _0802B760: .4byte gBattleMons _0802B764: .4byte gBattlerAttacker _0802B768: .4byte gDynamicBasePower _0802B76C: .4byte gBattleStruct -_0802B770: .4byte gUnknown_2023D74 +_0802B770: .4byte gBattlescriptCurrInstr thumb_func_end sub_802B678 thumb_func_start atkC2_selectfirstvalidtarget @@ -28084,7 +28084,7 @@ atkC2_selectfirstvalidtarget: @ 802B774 ldr r1, _0802B7D4 @ =gBattlersCount ldrb r1, [r1] adds r6, r0, 0 - ldr r0, _0802B7D8 @ =gUnknown_2023D74 + ldr r0, _0802B7D8 @ =gBattlescriptCurrInstr mov r8, r0 cmp r1, 0 beq _0802B7BE @@ -28127,7 +28127,7 @@ _0802B7BE: .align 2, 0 _0802B7D0: .4byte gBattlerTarget _0802B7D4: .4byte gBattlersCount -_0802B7D8: .4byte gUnknown_2023D74 +_0802B7D8: .4byte gBattlescriptCurrInstr _0802B7DC: .4byte gBattlerAttacker _0802B7E0: .4byte gBitTable _0802B7E4: .4byte gAbsentBattlerFlags @@ -28141,7 +28141,7 @@ atkC3_trysetfutureattack: @ 802B7E8 mov r5, r8 push {r5-r7} sub sp, 0x10 - ldr r0, _0802B820 @ =gUnknown_2023F20 + ldr r0, _0802B820 @ =gWishFutureKnock mov r8, r0 ldr r7, _0802B824 @ =gBattlerTarget ldrb r1, [r7] @@ -28149,7 +28149,7 @@ atkC3_trysetfutureattack: @ 802B7E8 ldrb r6, [r0] cmp r6, 0 beq _0802B82C - ldr r3, _0802B828 @ =gUnknown_2023D74 + ldr r3, _0802B828 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -28164,9 +28164,9 @@ atkC3_trysetfutureattack: @ 802B7E8 str r1, [r3] b _0802B8F6 .align 2, 0 -_0802B820: .4byte gUnknown_2023F20 +_0802B820: .4byte gWishFutureKnock _0802B824: .4byte gBattlerTarget -_0802B828: .4byte gUnknown_2023D74 +_0802B828: .4byte gBattlescriptCurrInstr _0802B82C: lsls r1, 1 mov r0, r8 @@ -28187,7 +28187,7 @@ _0802B82C: add r0, r8 movs r1, 0x3 strb r1, [r0] - ldr r4, _0802B8D4 @ =gSideAffecting + ldr r4, _0802B8D4 @ =gSideStatuses ldrb r0, [r7] bl GetBattlerPosition movs r1, 0x1 @@ -28219,7 +28219,7 @@ _0802B82C: adds r2, 0x8 adds r1, r2 str r0, [r1] - ldr r1, _0802B8DC @ =gUnknown_2023E8C + ldr r1, _0802B8DC @ =gProtectStructs ldrb r0, [r5] lsls r0, 4 adds r0, r1 @@ -28242,24 +28242,24 @@ _0802B8BA: ldr r0, _0802B8E0 @ =0x00000161 cmp r1, r0 bne _0802B8E8 - ldr r0, _0802B8E4 @ =gUnknown_2023E82 + ldr r0, _0802B8E4 @ =gBattleCommunication mov r1, r10 strb r1, [r0, 0x5] b _0802B8EE .align 2, 0 _0802B8CC: .4byte gCurrentMove _0802B8D0: .4byte gBattlerAttacker -_0802B8D4: .4byte gSideAffecting +_0802B8D4: .4byte gSideStatuses _0802B8D8: .4byte gBattleMons -_0802B8DC: .4byte gUnknown_2023E8C +_0802B8DC: .4byte gProtectStructs _0802B8E0: .4byte 0x00000161 -_0802B8E4: .4byte gUnknown_2023E82 +_0802B8E4: .4byte gBattleCommunication _0802B8E8: - ldr r1, _0802B908 @ =gUnknown_2023E82 + ldr r1, _0802B908 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] _0802B8EE: - ldr r1, _0802B90C @ =gUnknown_2023D74 + ldr r1, _0802B90C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -28273,8 +28273,8 @@ _0802B8F6: pop {r0} bx r0 .align 2, 0 -_0802B908: .4byte gUnknown_2023E82 -_0802B90C: .4byte gUnknown_2023D74 +_0802B908: .4byte gBattleCommunication +_0802B90C: .4byte gBattlescriptCurrInstr thumb_func_end atkC3_trysetfutureattack thumb_func_start atkC4_trydobeatup @@ -28301,7 +28301,7 @@ _0802B92A: ldrh r0, [r0, 0x28] cmp r0, 0 bne _0802B96C - ldr r3, _0802B968 @ =gUnknown_2023D74 + ldr r3, _0802B968 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -28318,9 +28318,9 @@ _0802B958: .4byte gEnemyParty _0802B95C: .4byte gPlayerParty _0802B960: .4byte gBattleMons _0802B964: .4byte gBattlerTarget -_0802B968: .4byte gUnknown_2023D74 +_0802B968: .4byte gBattlescriptCurrInstr _0802B96C: - ldr r6, _0802BAA8 @ =gUnknown_2023E82 + ldr r6, _0802BAA8 @ =gBattleCommunication ldrb r0, [r6] mov r8, r0 cmp r0, 0x5 @@ -28370,7 +28370,7 @@ _0802B9C0: cmp r0, 0x5 bls _0802B97C _0802B9D0: - ldr r1, _0802BAA8 @ =gUnknown_2023E82 + ldr r1, _0802BAA8 @ =gBattleCommunication mov r9, r1 ldrb r2, [r1] cmp r2, 0x5 @@ -28386,7 +28386,7 @@ _0802B9D0: strb r2, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _0802BAB4 @ =gUnknown_2023D74 + ldr r1, _0802BAB4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x9 str r0, [r1] @@ -28452,7 +28452,7 @@ _0802B9D0: adds r2, r0, 0x2 mov r0, r8 str r2, [r0] - ldr r1, _0802BAD0 @ =gUnknown_2023E8C + ldr r1, _0802BAD0 @ =gProtectStructs ldrb r0, [r6] lsls r0, 4 adds r0, r1 @@ -28473,22 +28473,22 @@ _0802BA9C: strb r0, [r2] b _0802BB0E .align 2, 0 -_0802BAA8: .4byte gUnknown_2023E82 +_0802BAA8: .4byte gBattleCommunication _0802BAAC: .4byte gBattleTextBuff1 _0802BAB0: .4byte gBattlerAttacker -_0802BAB4: .4byte gUnknown_2023D74 +_0802BAB4: .4byte gBattlescriptCurrInstr _0802BAB8: .4byte gBattleMoveDamage _0802BABC: .4byte gBaseStats _0802BAC0: .4byte gBattleMoves _0802BAC4: .4byte gCurrentMove _0802BAC8: .4byte gBattleMons _0802BACC: .4byte gBattlerTarget -_0802BAD0: .4byte gUnknown_2023E8C +_0802BAD0: .4byte gProtectStructs _0802BAD4: mov r0, r8 cmp r0, 0 beq _0802BAF4 - ldr r3, _0802BAF0 @ =gUnknown_2023D74 + ldr r3, _0802BAF0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -28500,9 +28500,9 @@ _0802BAD4: ldrb r0, [r2, 0x4] b _0802BB08 .align 2, 0 -_0802BAF0: .4byte gUnknown_2023D74 +_0802BAF0: .4byte gBattlescriptCurrInstr _0802BAF4: - ldr r3, _0802BB1C @ =gUnknown_2023D74 + ldr r3, _0802BB1C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x5] ldrb r0, [r2, 0x6] @@ -28524,7 +28524,7 @@ _0802BB0E: pop {r0} bx r0 .align 2, 0 -_0802BB1C: .4byte gUnknown_2023D74 +_0802BB1C: .4byte gBattlescriptCurrInstr thumb_func_end atkC4_trydobeatup thumb_func_start atkC5_setsemiinvulnerablebit @@ -28586,7 +28586,7 @@ _0802BB88: orrs r0, r2 str r0, [r1] _0802BB8C: - ldr r1, _0802BBA0 @ =gUnknown_2023D74 + ldr r1, _0802BBA0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28595,7 +28595,7 @@ _0802BB8C: .align 2, 0 _0802BB98: .4byte gStatuses3 _0802BB9C: .4byte gBattlerAttacker -_0802BBA0: .4byte gUnknown_2023D74 +_0802BBA0: .4byte gBattlescriptCurrInstr thumb_func_end atkC5_setsemiinvulnerablebit thumb_func_start atkC6_clearsemiinvulnerablebit @@ -28658,7 +28658,7 @@ _0802BC12: ands r0, r2 str r0, [r1] _0802BC16: - ldr r1, _0802BC30 @ =gUnknown_2023D74 + ldr r1, _0802BC30 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28668,13 +28668,13 @@ _0802BC16: _0802BC24: .4byte gStatuses3 _0802BC28: .4byte gBattlerAttacker _0802BC2C: .4byte 0xfffbffff -_0802BC30: .4byte gUnknown_2023D74 +_0802BC30: .4byte gBattlescriptCurrInstr thumb_func_end atkC6_clearsemiinvulnerablebit thumb_func_start atkC7_setminimize atkC7_setminimize: @ 802BC34 push {lr} - ldr r0, _0802BC64 @ =gUnknown_2023DD0 + ldr r0, _0802BC64 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 18 @@ -28692,17 +28692,17 @@ atkC7_setminimize: @ 802BC34 orrs r0, r2 str r0, [r1] _0802BC58: - ldr r1, _0802BC70 @ =gUnknown_2023D74 + ldr r1, _0802BC70 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802BC64: .4byte gUnknown_2023DD0 +_0802BC64: .4byte gHitMarker _0802BC68: .4byte gStatuses3 _0802BC6C: .4byte gBattlerAttacker -_0802BC70: .4byte gUnknown_2023D74 +_0802BC70: .4byte gBattlescriptCurrInstr thumb_func_end atkC7_setminimize thumb_func_start atkC8_sethail @@ -28720,33 +28720,33 @@ atkC8_sethail: @ 802BC74 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0802BCA0 @ =gUnknown_2023E82 + ldr r1, _0802BCA0 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _0802BCB2 .align 2, 0 _0802BC98: .4byte gBattleWeather _0802BC9C: .4byte gMoveResultFlags -_0802BCA0: .4byte gUnknown_2023E82 +_0802BCA0: .4byte gBattleCommunication _0802BCA4: strh r2, [r3] - ldr r0, _0802BCC0 @ =gUnknown_2023E82 + ldr r0, _0802BCC0 @ =gBattleCommunication movs r1, 0x5 strb r1, [r0, 0x5] - ldr r0, _0802BCC4 @ =gUnknown_2023F20 + ldr r0, _0802BCC4 @ =gWishFutureKnock adds r0, 0x28 strb r1, [r0] _0802BCB2: - ldr r1, _0802BCC8 @ =gUnknown_2023D74 + ldr r1, _0802BCC8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802BCC0: .4byte gUnknown_2023E82 -_0802BCC4: .4byte gUnknown_2023F20 -_0802BCC8: .4byte gUnknown_2023D74 +_0802BCC0: .4byte gBattleCommunication +_0802BCC4: .4byte gWishFutureKnock +_0802BCC8: .4byte gBattlescriptCurrInstr thumb_func_end atkC8_sethail thumb_func_start atkC9_jumpifattackandspecialattackcannotfall @@ -28767,11 +28767,11 @@ atkC9_jumpifattackandspecialattackcannotfall: @ 802BCCC ldrsb r0, [r1, r0] cmp r0, 0 bne _0802BD20 - ldr r0, _0802BD18 @ =gUnknown_2023E82 + ldr r0, _0802BD18 @ =gBattleCommunication ldrb r0, [r0, 0x6] cmp r0, 0x1 beq _0802BD20 - ldr r3, _0802BD1C @ =gUnknown_2023D74 + ldr r3, _0802BD1C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -28788,8 +28788,8 @@ atkC9_jumpifattackandspecialattackcannotfall: @ 802BCCC .align 2, 0 _0802BD10: .4byte gBattleMons _0802BD14: .4byte gBattlerTarget -_0802BD18: .4byte gUnknown_2023E82 -_0802BD1C: .4byte gUnknown_2023D74 +_0802BD18: .4byte gBattleCommunication +_0802BD1C: .4byte gBattlescriptCurrInstr _0802BD20: ldr r4, _0802BD54 @ =gActiveBattler ldr r0, _0802BD58 @ =gBattlerAttacker @@ -28806,8 +28806,8 @@ _0802BD20: movs r0, 0 bl BtlController_EmitHealthBarUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _0802BD64 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802BD64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -28820,7 +28820,7 @@ _0802BD54: .4byte gActiveBattler _0802BD58: .4byte gBattlerAttacker _0802BD5C: .4byte gBattleMoveDamage _0802BD60: .4byte 0x00007fff -_0802BD64: .4byte gUnknown_2023D74 +_0802BD64: .4byte gBattlescriptCurrInstr thumb_func_end atkC9_jumpifattackandspecialattackcannotfall thumb_func_start atkCA_setforcedtarget @@ -28848,7 +28848,7 @@ atkCA_setforcedtarget: @ 802BD68 adds r1, r5 ldrb r0, [r4] strb r0, [r1, 0x9] - ldr r1, _0802BDB0 @ =gUnknown_2023D74 + ldr r1, _0802BDB0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28858,7 +28858,7 @@ atkCA_setforcedtarget: @ 802BD68 .align 2, 0 _0802BDA8: .4byte gBattlerAttacker _0802BDAC: .4byte gSideTimers -_0802BDB0: .4byte gUnknown_2023D74 +_0802BDB0: .4byte gBattlescriptCurrInstr thumb_func_end atkCA_setforcedtarget thumb_func_start atkCB_setcharge @@ -28898,7 +28898,7 @@ atkCB_setcharge: @ 802BDB4 movs r2, 0x20 orrs r1, r2 strb r1, [r0, 0x12] - ldr r1, _0802BE14 @ =gUnknown_2023D74 + ldr r1, _0802BE14 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28909,13 +28909,13 @@ atkCB_setcharge: @ 802BDB4 _0802BE08: .4byte gStatuses3 _0802BE0C: .4byte gBattlerAttacker _0802BE10: .4byte gDisableStructs -_0802BE14: .4byte gUnknown_2023D74 +_0802BE14: .4byte gBattlescriptCurrInstr thumb_func_end atkCB_setcharge thumb_func_start atkCC_callterrainattack atkCC_callterrainattack: @ 802BE18 push {r4,lr} - ldr r2, _0802BE68 @ =gUnknown_2023DD0 + ldr r2, _0802BE68 @ =gHitMarker ldr r0, [r2] ldr r1, _0802BE6C @ =0xfffffbff ands r0, r1 @@ -28945,7 +28945,7 @@ atkCC_callterrainattack: @ 802BE18 adds r0, r3 ldr r0, [r0] bl BattleScriptPush - ldr r1, _0802BE88 @ =gUnknown_2023D74 + ldr r1, _0802BE88 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28953,7 +28953,7 @@ atkCC_callterrainattack: @ 802BE18 pop {r0} bx r0 .align 2, 0 -_0802BE68: .4byte gUnknown_2023DD0 +_0802BE68: .4byte gHitMarker _0802BE6C: .4byte 0xfffffbff _0802BE70: .4byte gCurrentMove _0802BE74: .4byte gUnknown_825081C @@ -28961,7 +28961,7 @@ _0802BE78: .4byte gUnknown_2022B50 _0802BE7C: .4byte gBattlerTarget _0802BE80: .4byte gUnknown_81D65A8 _0802BE84: .4byte gBattleMoves -_0802BE88: .4byte gUnknown_2023D74 +_0802BE88: .4byte gBattlescriptCurrInstr thumb_func_end atkCC_callterrainattack thumb_func_start atkCD_cureifburnedparalysedorpoisoned @@ -28983,7 +28983,7 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C beq _0802BEE8 movs r0, 0 str r0, [r2] - ldr r1, _0802BEE0 @ =gUnknown_2023D74 + ldr r1, _0802BEE0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29000,15 +29000,15 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802BF02 .align 2, 0 _0802BED8: .4byte gBattleMons _0802BEDC: .4byte gBattlerAttacker -_0802BEE0: .4byte gUnknown_2023D74 +_0802BEE0: .4byte gBattlescriptCurrInstr _0802BEE4: .4byte gActiveBattler _0802BEE8: - ldr r3, _0802BF0C @ =gUnknown_2023D74 + ldr r3, _0802BF0C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29027,7 +29027,7 @@ _0802BF02: pop {r0} bx r0 .align 2, 0 -_0802BF0C: .4byte gUnknown_2023D74 +_0802BF0C: .4byte gBattlescriptCurrInstr thumb_func_end atkCD_cureifburnedparalysedorpoisoned thumb_func_start atkCE_settorment @@ -29045,7 +29045,7 @@ atkCE_settorment: @ 802BF10 lsls r2, 24 cmp r1, 0 bge _0802BF54 - ldr r3, _0802BF50 @ =gUnknown_2023D74 + ldr r3, _0802BF50 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29062,11 +29062,11 @@ atkCE_settorment: @ 802BF10 .align 2, 0 _0802BF48: .4byte gBattleMons _0802BF4C: .4byte gBattlerTarget -_0802BF50: .4byte gUnknown_2023D74 +_0802BF50: .4byte gBattlescriptCurrInstr _0802BF54: orrs r1, r2 str r1, [r0] - ldr r1, _0802BF64 @ =gUnknown_2023D74 + ldr r1, _0802BF64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29074,13 +29074,13 @@ _0802BF60: pop {r0} bx r0 .align 2, 0 -_0802BF64: .4byte gUnknown_2023D74 +_0802BF64: .4byte gBattlescriptCurrInstr thumb_func_end atkCE_settorment thumb_func_start atkCF_jumpifnodamage atkCF_jumpifnodamage: @ 802BF68 push {lr} - ldr r2, _0802BF94 @ =gUnknown_2023E8C + ldr r2, _0802BF94 @ =gProtectStructs ldr r0, _0802BF98 @ =gBattlerAttacker ldrb r0, [r0] lsls r1, r0, 4 @@ -29096,17 +29096,17 @@ atkCF_jumpifnodamage: @ 802BF68 cmp r0, 0 beq _0802BFA0 _0802BF88: - ldr r1, _0802BF9C @ =gUnknown_2023D74 + ldr r1, _0802BF9C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _0802BFBA .align 2, 0 -_0802BF94: .4byte gUnknown_2023E8C +_0802BF94: .4byte gProtectStructs _0802BF98: .4byte gBattlerAttacker -_0802BF9C: .4byte gUnknown_2023D74 +_0802BF9C: .4byte gBattlescriptCurrInstr _0802BFA0: - ldr r3, _0802BFC0 @ =gUnknown_2023D74 + ldr r3, _0802BFC0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29123,7 +29123,7 @@ _0802BFBA: pop {r0} bx r0 .align 2, 0 -_0802BFC0: .4byte gUnknown_2023D74 +_0802BFC0: .4byte gBattlescriptCurrInstr thumb_func_end atkCF_jumpifnodamage thumb_func_start atkD0_settaunt @@ -29157,7 +29157,7 @@ atkD0_settaunt: @ 802BFC4 movs r2, 0x20 orrs r1, r2 strb r1, [r0, 0x13] - ldr r1, _0802C010 @ =gUnknown_2023D74 + ldr r1, _0802C010 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29165,9 +29165,9 @@ atkD0_settaunt: @ 802BFC4 .align 2, 0 _0802C008: .4byte gDisableStructs _0802C00C: .4byte gBattlerTarget -_0802C010: .4byte gUnknown_2023D74 +_0802C010: .4byte gBattlescriptCurrInstr _0802C014: - ldr r3, _0802C034 @ =gUnknown_2023D74 + ldr r3, _0802C034 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29185,7 +29185,7 @@ _0802C02E: pop {r0} bx r0 .align 2, 0 -_0802C034: .4byte gUnknown_2023D74 +_0802C034: .4byte gBattlescriptCurrInstr thumb_func_end atkD0_settaunt thumb_func_start atkD1_trysethelpinghand @@ -29217,7 +29217,7 @@ atkD1_trysethelpinghand: @ 802C038 ands r1, r0 cmp r1, 0 bne _0802C0BC - ldr r1, _0802C0B4 @ =gUnknown_2023E8C + ldr r1, _0802C0B4 @ =gProtectStructs ldrb r0, [r4] lsls r0, 4 adds r0, r1 @@ -29234,7 +29234,7 @@ atkD1_trysethelpinghand: @ 802C038 movs r0, 0x8 orrs r0, r1 strb r0, [r2] - ldr r1, _0802C0B8 @ =gUnknown_2023D74 + ldr r1, _0802C0B8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29245,10 +29245,10 @@ _0802C0A4: .4byte gBattlerTarget _0802C0A8: .4byte gBattleTypeFlags _0802C0AC: .4byte gAbsentBattlerFlags _0802C0B0: .4byte gBitTable -_0802C0B4: .4byte gUnknown_2023E8C -_0802C0B8: .4byte gUnknown_2023D74 +_0802C0B4: .4byte gProtectStructs +_0802C0B8: .4byte gBattlescriptCurrInstr _0802C0BC: - ldr r3, _0802C0DC @ =gUnknown_2023D74 + ldr r3, _0802C0DC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29266,7 +29266,7 @@ _0802C0D6: pop {r0} bx r0 .align 2, 0 -_0802C0DC: .4byte gUnknown_2023D74 +_0802C0DC: .4byte gBattlescriptCurrInstr thumb_func_end atkD1_trysethelpinghand thumb_func_start sub_802C0E0 @@ -29325,7 +29325,7 @@ _0802C120: lsls r0, 3 cmp r1, r0 beq _0802C18A - ldr r0, _0802C210 @ =gUnknown_2023F20 + ldr r0, _0802C210 @ =gWishFutureKnock adds r2, r0, 0 adds r2, 0x29 adds r0, r4, r2 @@ -29399,7 +29399,7 @@ _0802C1B2: cmp r0, 0xB bhi _0802C224 _0802C1DE: - ldr r3, _0802C220 @ =gUnknown_2023D74 + ldr r3, _0802C220 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29419,18 +29419,18 @@ _0802C200: .4byte gBattlerAttacker _0802C204: .4byte 0x00000902 _0802C208: .4byte gTrainerBattleOpponent_A _0802C20C: .4byte gBattlerTarget -_0802C210: .4byte gUnknown_2023F20 +_0802C210: .4byte gWishFutureKnock _0802C214: .4byte gBitTable _0802C218: .4byte gBattlerPartyIndexes _0802C21C: .4byte gBattleMons -_0802C220: .4byte gUnknown_2023D74 +_0802C220: .4byte gBattlescriptCurrInstr _0802C224: adds r0, r1, 0 adds r0, 0x20 ldrb r0, [r0] cmp r0, 0x3C bne _0802C258 - ldr r1, _0802C24C @ =gUnknown_2023D74 + ldr r1, _0802C24C @ =gBattlescriptCurrInstr ldr r0, _0802C250 @ =gUnknown_81D948E str r0, [r1] ldr r1, _0802C254 @ =gLastUsedAbility @@ -29445,7 +29445,7 @@ _0802C224: bl sub_80C71D0 b _0802C37A .align 2, 0 -_0802C24C: .4byte gUnknown_2023D74 +_0802C24C: .4byte gBattlescriptCurrInstr _0802C250: .4byte gUnknown_81D948E _0802C254: .4byte gLastUsedAbility _0802C258: @@ -29482,7 +29482,7 @@ _0802C258: bl BtlController_EmitSetMonData ldr r1, _0802C348 @ =gBattlerAttacker ldrb r0, [r1] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r7] strb r0, [r4] ldrb r0, [r7] @@ -29497,7 +29497,7 @@ _0802C258: movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r7] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r7] mov r2, r10 ldr r1, [r2] @@ -29528,7 +29528,7 @@ _0802C258: adds r0, 0xC9 movs r1, 0 strb r1, [r0] - ldr r1, _0802C350 @ =gUnknown_2023D74 + ldr r1, _0802C350 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29560,29 +29560,29 @@ _0802C258: ldrh r0, [r6] cmp r0, 0 beq _0802C374 - ldr r1, _0802C35C @ =gUnknown_2023E82 + ldr r1, _0802C35C @ =gBattleCommunication movs r0, 0x2 b _0802C378 .align 2, 0 _0802C344: .4byte gBattleStruct _0802C348: .4byte gBattlerAttacker _0802C34C: .4byte gActiveBattler -_0802C350: .4byte gUnknown_2023D74 +_0802C350: .4byte gBattlescriptCurrInstr _0802C354: .4byte gBattleTextBuff1 _0802C358: .4byte gBattleTextBuff2 -_0802C35C: .4byte gUnknown_2023E82 +_0802C35C: .4byte gBattleCommunication _0802C360: ldrh r0, [r6] cmp r0, 0 beq _0802C374 - ldr r0, _0802C370 @ =gUnknown_2023E82 + ldr r0, _0802C370 @ =gBattleCommunication movs r1, 0 strb r1, [r0, 0x5] b _0802C37A .align 2, 0 -_0802C370: .4byte gUnknown_2023E82 +_0802C370: .4byte gBattleCommunication _0802C374: - ldr r1, _0802C38C @ =gUnknown_2023E82 + ldr r1, _0802C38C @ =gBattleCommunication movs r0, 0x1 _0802C378: strb r0, [r1, 0x5] @@ -29596,7 +29596,7 @@ _0802C37A: pop {r0} bx r0 .align 2, 0 -_0802C38C: .4byte gUnknown_2023E82 +_0802C38C: .4byte gBattleCommunication thumb_func_end sub_802C0E0 thumb_func_start atkD3_trycopyability @@ -29628,7 +29628,7 @@ atkD3_trycopyability: @ 802C390 adds r0, 0x20 ldrb r0, [r0] strb r0, [r1] - ldr r1, _0802C3E0 @ =gUnknown_2023D74 + ldr r1, _0802C3E0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29638,9 +29638,9 @@ _0802C3D0: .4byte gBattleMons _0802C3D4: .4byte gBattlerTarget _0802C3D8: .4byte gBattlerAttacker _0802C3DC: .4byte gLastUsedAbility -_0802C3E0: .4byte gUnknown_2023D74 +_0802C3E0: .4byte gBattlescriptCurrInstr _0802C3E4: - ldr r3, _0802C404 @ =gUnknown_2023D74 + ldr r3, _0802C404 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29658,13 +29658,13 @@ _0802C3FE: pop {r0} bx r0 .align 2, 0 -_0802C404: .4byte gUnknown_2023D74 +_0802C404: .4byte gBattlescriptCurrInstr thumb_func_end atkD3_trycopyability thumb_func_start atkD4_trywish atkD4_trywish: @ 802C408 push {r4-r7,lr} - ldr r7, _0802C41C @ =gUnknown_2023D74 + ldr r7, _0802C41C @ =gBattlescriptCurrInstr ldr r2, [r7] ldrb r3, [r2, 0x1] cmp r3, 0 @@ -29673,9 +29673,9 @@ atkD4_trywish: @ 802C408 beq _0802C458 b _0802C4D4 .align 2, 0 -_0802C41C: .4byte gUnknown_2023D74 +_0802C41C: .4byte gBattlescriptCurrInstr _0802C420: - ldr r1, _0802C44C @ =gUnknown_2023F20 + ldr r1, _0802C44C @ =gWishFutureKnock ldr r4, _0802C450 @ =gBattlerAttacker adds r0, r1, 0 adds r0, 0x20 @@ -29698,7 +29698,7 @@ _0802C420: adds r0, 0x6 b _0802C4D2 .align 2, 0 -_0802C44C: .4byte gUnknown_2023F20 +_0802C44C: .4byte gWishFutureKnock _0802C450: .4byte gBattlerAttacker _0802C454: .4byte gBattlerPartyIndexes _0802C458: @@ -29710,7 +29710,7 @@ _0802C458: ldr r4, _0802C4C0 @ =gBattlerTarget ldrb r0, [r4] strb r0, [r1, 0x2] - ldr r0, _0802C4C4 @ =gUnknown_2023F20 + ldr r0, _0802C4C4 @ =gWishFutureKnock adds r0, 0x24 ldrb r5, [r4] adds r0, r5 @@ -29757,7 +29757,7 @@ _0802C4A4: .align 2, 0 _0802C4BC: .4byte gBattleTextBuff1 _0802C4C0: .4byte gBattlerTarget -_0802C4C4: .4byte gUnknown_2023F20 +_0802C4C4: .4byte gWishFutureKnock _0802C4C8: .4byte gBattleMoveDamage _0802C4CC: .4byte gBattleMons _0802C4D0: @@ -29785,7 +29785,7 @@ atkD5_trysetroots: @ 802C4DC ands r0, r3 cmp r0, 0 beq _0802C520 - ldr r3, _0802C51C @ =gUnknown_2023D74 + ldr r3, _0802C51C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29802,11 +29802,11 @@ atkD5_trysetroots: @ 802C4DC .align 2, 0 _0802C514: .4byte gStatuses3 _0802C518: .4byte gBattlerAttacker -_0802C51C: .4byte gUnknown_2023D74 +_0802C51C: .4byte gBattlescriptCurrInstr _0802C520: orrs r1, r3 str r1, [r2] - ldr r1, _0802C530 @ =gUnknown_2023D74 + ldr r1, _0802C530 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29814,13 +29814,13 @@ _0802C52C: pop {r0} bx r0 .align 2, 0 -_0802C530: .4byte gUnknown_2023D74 +_0802C530: .4byte gBattlescriptCurrInstr thumb_func_end atkD5_trysetroots thumb_func_start atkD6_doubledamagedealtifdamaged atkD6_doubledamagedealtifdamaged: @ 802C534 push {lr} - ldr r3, _0802C580 @ =gUnknown_2023E8C + ldr r3, _0802C580 @ =gProtectStructs ldr r0, _0802C584 @ =gBattlerAttacker ldrb r0, [r0] lsls r2, r0, 4 @@ -29853,18 +29853,18 @@ _0802C56C: movs r0, 0x2 strb r0, [r1, 0xE] _0802C572: - ldr r1, _0802C590 @ =gUnknown_2023D74 + ldr r1, _0802C590 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802C580: .4byte gUnknown_2023E8C +_0802C580: .4byte gProtectStructs _0802C584: .4byte gBattlerAttacker _0802C588: .4byte gBattlerTarget _0802C58C: .4byte gBattleScripting -_0802C590: .4byte gUnknown_2023D74 +_0802C590: .4byte gBattlescriptCurrInstr thumb_func_end atkD6_doubledamagedealtifdamaged thumb_func_start atkD7_setyawn @@ -29890,7 +29890,7 @@ atkD7_setyawn: @ 802C594 cmp r0, 0 beq _0802C5E8 _0802C5BC: - ldr r3, _0802C5E4 @ =gUnknown_2023D74 + ldr r3, _0802C5E4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29908,13 +29908,13 @@ _0802C5BC: _0802C5D8: .4byte gStatuses3 _0802C5DC: .4byte gBattlerTarget _0802C5E0: .4byte gBattleMons -_0802C5E4: .4byte gUnknown_2023D74 +_0802C5E4: .4byte gBattlescriptCurrInstr _0802C5E8: movs r0, 0x80 lsls r0, 5 orrs r2, r0 str r2, [r4] - ldr r1, _0802C600 @ =gUnknown_2023D74 + ldr r1, _0802C600 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29923,7 +29923,7 @@ _0802C5F8: pop {r0} bx r0 .align 2, 0 -_0802C600: .4byte gUnknown_2023D74 +_0802C600: .4byte gBattlescriptCurrInstr thumb_func_end atkD7_setyawn thumb_func_start atkD8_setdamagetohealthdifference @@ -29943,7 +29943,7 @@ atkD8_setdamagetohealthdifference: @ 802C604 ldrh r2, [r1, 0x28] cmp r0, r2 bhi _0802C650 - ldr r3, _0802C64C @ =gUnknown_2023D74 + ldr r3, _0802C64C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29961,14 +29961,14 @@ atkD8_setdamagetohealthdifference: @ 802C604 _0802C640: .4byte gBattleMons _0802C644: .4byte gBattlerTarget _0802C648: .4byte gBattlerAttacker -_0802C64C: .4byte gUnknown_2023D74 +_0802C64C: .4byte gBattlescriptCurrInstr _0802C650: ldr r2, _0802C668 @ =gBattleMoveDamage ldrh r0, [r3, 0x28] ldrh r1, [r1, 0x28] subs r0, r1 str r0, [r2] - ldr r1, _0802C66C @ =gUnknown_2023D74 + ldr r1, _0802C66C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29977,7 +29977,7 @@ _0802C662: bx r0 .align 2, 0 _0802C668: .4byte gBattleMoveDamage -_0802C66C: .4byte gUnknown_2023D74 +_0802C66C: .4byte gBattlescriptCurrInstr thumb_func_end atkD8_setdamagetohealthdifference thumb_func_start atkD9_scaledamagebyhealthratio @@ -30012,7 +30012,7 @@ atkD9_scaledamagebyhealthratio: @ 802C670 movs r0, 0x1 strh r0, [r4] _0802C6AC: - ldr r1, _0802C6D0 @ =gUnknown_2023D74 + ldr r1, _0802C6D0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -30025,7 +30025,7 @@ _0802C6C0: .4byte gBattleMoves _0802C6C4: .4byte gCurrentMove _0802C6C8: .4byte gBattleMons _0802C6CC: .4byte gBattlerAttacker -_0802C6D0: .4byte gUnknown_2023D74 +_0802C6D0: .4byte gBattlescriptCurrInstr thumb_func_end atkD9_scaledamagebyhealthratio thumb_func_start atkDA_tryswapabilities @@ -30068,7 +30068,7 @@ _0802C6FC: cmp r0, 0 beq _0802C74C _0802C71C: - ldr r3, _0802C748 @ =gUnknown_2023D74 + ldr r3, _0802C748 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30087,7 +30087,7 @@ _0802C738: .4byte gBattleMons _0802C73C: .4byte gBattlerAttacker _0802C740: .4byte gBattlerTarget _0802C744: .4byte gMoveResultFlags -_0802C748: .4byte gUnknown_2023D74 +_0802C748: .4byte gBattlescriptCurrInstr _0802C74C: ldrb r1, [r2] strb r3, [r2] @@ -30096,7 +30096,7 @@ _0802C74C: adds r0, r5 adds r0, 0x20 strb r1, [r0] - ldr r1, _0802C768 @ =gUnknown_2023D74 + ldr r1, _0802C768 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30105,7 +30105,7 @@ _0802C762: pop {r0} bx r0 .align 2, 0 -_0802C768: .4byte gUnknown_2023D74 +_0802C768: .4byte gBattlescriptCurrInstr thumb_func_end atkDA_tryswapabilities thumb_func_start atkDB_tryimprision @@ -30140,14 +30140,14 @@ _0802C794: lsls r2, 6 orrs r0, r2 str r0, [r1] - ldr r1, _0802C7B8 @ =gUnknown_2023D74 + ldr r1, _0802C7B8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _0802C836 .align 2, 0 _0802C7B4: .4byte gStatuses3 -_0802C7B8: .4byte gUnknown_2023D74 +_0802C7B8: .4byte gBattlescriptCurrInstr _0802C7BC: adds r0, r2, 0 bl GetBattlerSide @@ -30221,7 +30221,7 @@ _0802C836: cmp r6, r0 bne _0802C858 _0802C83E: - ldr r3, _0802C870 @ =gUnknown_2023D74 + ldr r3, _0802C870 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30245,7 +30245,7 @@ _0802C858: _0802C864: .4byte gBattlerAttacker _0802C868: .4byte gBattleMons _0802C86C: .4byte gBattlersCount -_0802C870: .4byte gUnknown_2023D74 +_0802C870: .4byte gBattlescriptCurrInstr thumb_func_end atkDB_tryimprision thumb_func_start atkDC_trysetgrudge @@ -30263,7 +30263,7 @@ atkDC_trysetgrudge: @ 802C874 ands r0, r3 cmp r0, 0 beq _0802C8B8 - ldr r3, _0802C8B4 @ =gUnknown_2023D74 + ldr r3, _0802C8B4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30280,11 +30280,11 @@ atkDC_trysetgrudge: @ 802C874 .align 2, 0 _0802C8AC: .4byte gStatuses3 _0802C8B0: .4byte gBattlerAttacker -_0802C8B4: .4byte gUnknown_2023D74 +_0802C8B4: .4byte gBattlescriptCurrInstr _0802C8B8: orrs r1, r3 str r1, [r2] - ldr r1, _0802C8C8 @ =gUnknown_2023D74 + ldr r1, _0802C8C8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30292,7 +30292,7 @@ _0802C8C4: pop {r0} bx r0 .align 2, 0 -_0802C8C8: .4byte gUnknown_2023D74 +_0802C8C8: .4byte gBattlescriptCurrInstr thumb_func_end atkDC_trysetgrudge thumb_func_start atkDD_weightdamagecalculation @@ -30358,7 +30358,7 @@ _0802C944: movs r0, 0x78 strh r0, [r1] _0802C94A: - ldr r1, _0802C960 @ =gUnknown_2023D74 + ldr r1, _0802C960 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -30369,7 +30369,7 @@ _0802C94A: bx r0 .align 2, 0 _0802C95C: .4byte gDynamicBasePower -_0802C960: .4byte gUnknown_2023D74 +_0802C960: .4byte gBattlescriptCurrInstr thumb_func_end atkDD_weightdamagecalculation thumb_func_start atkDE_asistattackselect @@ -30491,7 +30491,7 @@ _0802CA3C: mov r1, r10 cmp r1, 0 beq _0802CAB4 - ldr r2, _0802CAA0 @ =gUnknown_2023DD0 + ldr r2, _0802CAA0 @ =gHitMarker ldr r0, [r2] ldr r1, _0802CAA4 @ =0xfffffbff ands r0, r1 @@ -30513,7 +30513,7 @@ _0802CA3C: bl GetMoveTarget ldr r1, _0802CAAC @ =gBattlerTarget strb r0, [r1] - ldr r1, _0802CAB0 @ =gUnknown_2023D74 + ldr r1, _0802CAB0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30526,13 +30526,13 @@ _0802CA90: .4byte gEnemyParty _0802CA94: .4byte gBattlerPartyIndexes _0802CA98: .4byte 0x0000ffff _0802CA9C: .4byte gUnknown_82507E8 -_0802CAA0: .4byte gUnknown_2023DD0 +_0802CAA0: .4byte gHitMarker _0802CAA4: .4byte 0xfffffbff _0802CAA8: .4byte gUnknown_2023D4E _0802CAAC: .4byte gBattlerTarget -_0802CAB0: .4byte gUnknown_2023D74 +_0802CAB0: .4byte gBattlescriptCurrInstr _0802CAB4: - ldr r3, _0802CAE0 @ =gUnknown_2023D74 + ldr r3, _0802CAE0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30555,7 +30555,7 @@ _0802CACE: pop {r0} bx r0 .align 2, 0 -_0802CAE0: .4byte gUnknown_2023D74 +_0802CAE0: .4byte gBattlescriptCurrInstr thumb_func_end atkDE_asistattackselect thumb_func_start atkDF_trysetmagiccoat @@ -30565,7 +30565,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 ldr r3, _0802CB30 @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r1] - ldr r2, _0802CB34 @ =gUnknown_2023ECC + ldr r2, _0802CB34 @ =gSpecialStatuses ldrb r1, [r3] lsls r0, r1, 2 adds r0, r1 @@ -30582,7 +30582,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 subs r0, 0x1 cmp r1, r0 bne _0802CB44 - ldr r3, _0802CB40 @ =gUnknown_2023D74 + ldr r3, _0802CB40 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30599,12 +30599,12 @@ atkDF_trysetmagiccoat: @ 802CAE4 .align 2, 0 _0802CB2C: .4byte gBattlerTarget _0802CB30: .4byte gBattlerAttacker -_0802CB34: .4byte gUnknown_2023ECC +_0802CB34: .4byte gSpecialStatuses _0802CB38: .4byte gUnknown_2023BE2 _0802CB3C: .4byte gBattlersCount -_0802CB40: .4byte gUnknown_2023D74 +_0802CB40: .4byte gBattlescriptCurrInstr _0802CB44: - ldr r0, _0802CB60 @ =gUnknown_2023E8C + ldr r0, _0802CB60 @ =gProtectStructs ldrb r1, [r3] lsls r1, 4 adds r1, r0 @@ -30612,7 +30612,7 @@ _0802CB44: movs r2, 0x10 orrs r0, r2 strb r0, [r1] - ldr r1, _0802CB64 @ =gUnknown_2023D74 + ldr r1, _0802CB64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30620,14 +30620,14 @@ _0802CB5C: pop {r0} bx r0 .align 2, 0 -_0802CB60: .4byte gUnknown_2023E8C -_0802CB64: .4byte gUnknown_2023D74 +_0802CB60: .4byte gProtectStructs +_0802CB64: .4byte gBattlescriptCurrInstr thumb_func_end atkDF_trysetmagiccoat thumb_func_start atkE0_trysetsnatch atkE0_trysetsnatch: @ 802CB68 push {lr} - ldr r2, _0802CBAC @ =gUnknown_2023ECC + ldr r2, _0802CBAC @ =gSpecialStatuses ldr r3, _0802CBB0 @ =gBattlerAttacker ldrb r1, [r3] lsls r0, r1, 2 @@ -30645,7 +30645,7 @@ atkE0_trysetsnatch: @ 802CB68 subs r0, 0x1 cmp r1, r0 bne _0802CBC0 - ldr r3, _0802CBBC @ =gUnknown_2023D74 + ldr r3, _0802CBBC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30660,20 +30660,20 @@ atkE0_trysetsnatch: @ 802CB68 str r1, [r3] b _0802CBD6 .align 2, 0 -_0802CBAC: .4byte gUnknown_2023ECC +_0802CBAC: .4byte gSpecialStatuses _0802CBB0: .4byte gBattlerAttacker _0802CBB4: .4byte gUnknown_2023BE2 _0802CBB8: .4byte gBattlersCount -_0802CBBC: .4byte gUnknown_2023D74 +_0802CBBC: .4byte gBattlescriptCurrInstr _0802CBC0: - ldr r0, _0802CBDC @ =gUnknown_2023E8C + ldr r0, _0802CBDC @ =gProtectStructs ldrb r1, [r3] lsls r1, 4 adds r1, r0 ldrb r0, [r1] orrs r0, r2 strb r0, [r1] - ldr r1, _0802CBE0 @ =gUnknown_2023D74 + ldr r1, _0802CBE0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30681,8 +30681,8 @@ _0802CBD6: pop {r0} bx r0 .align 2, 0 -_0802CBDC: .4byte gUnknown_2023E8C -_0802CBE0: .4byte gUnknown_2023D74 +_0802CBDC: .4byte gProtectStructs +_0802CBE0: .4byte gBattlescriptCurrInstr thumb_func_end atkE0_trysetsnatch thumb_func_start atkE1_trygetintimidatetarget @@ -30756,7 +30756,7 @@ _0802CC60: cmp r0, r2 bcc _0802CCAC _0802CC6A: - ldr r3, _0802CCA8 @ =gUnknown_2023D74 + ldr r3, _0802CCA8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30779,9 +30779,9 @@ _0802CC98: .4byte gBattlerTarget _0802CC9C: .4byte gBattlersCount _0802CCA0: .4byte gBitTable _0802CCA4: .4byte gAbsentBattlerFlags -_0802CCA8: .4byte gUnknown_2023D74 +_0802CCA8: .4byte gBattlescriptCurrInstr _0802CCAC: - ldr r1, _0802CCBC @ =gUnknown_2023D74 + ldr r1, _0802CCBC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30790,17 +30790,17 @@ _0802CCB4: pop {r0} bx r0 .align 2, 0 -_0802CCBC: .4byte gUnknown_2023D74 +_0802CCBC: .4byte gBattlescriptCurrInstr thumb_func_end atkE1_trygetintimidatetarget thumb_func_start atkE2_switchoutabilities atkE2_switchoutabilities: @ 802CCC0 push {r4-r6,lr} sub sp, 0x4 - ldr r5, _0802CD28 @ =gUnknown_2023D74 + ldr r5, _0802CD28 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _0802CD2C @ =gActiveBattler strb r0, [r4] ldr r3, _0802CD30 @ =gBattleMons @@ -30836,7 +30836,7 @@ atkE2_switchoutabilities: @ 802CCC0 movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0802CD1A: ldr r0, [r5] adds r0, 0x2 @@ -30846,7 +30846,7 @@ _0802CD1A: pop {r0} bx r0 .align 2, 0 -_0802CD28: .4byte gUnknown_2023D74 +_0802CD28: .4byte gBattlescriptCurrInstr _0802CD2C: .4byte gActiveBattler _0802CD30: .4byte gBattleMons _0802CD34: .4byte gBitTable @@ -30856,10 +30856,10 @@ _0802CD38: .4byte gBattleStruct thumb_func_start atkE3_jumpifhasnohp atkE3_jumpifhasnohp: @ 802CD3C push {r4,lr} - ldr r4, _0802CD78 @ =gUnknown_2023D74 + ldr r4, _0802CD78 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _0802CD7C @ =gActiveBattler strb r0, [r1] ldr r2, _0802CD80 @ =gBattleMons @@ -30884,7 +30884,7 @@ atkE3_jumpifhasnohp: @ 802CD3C str r1, [r4] b _0802CD8A .align 2, 0 -_0802CD78: .4byte gUnknown_2023D74 +_0802CD78: .4byte gBattlescriptCurrInstr _0802CD7C: .4byte gActiveBattler _0802CD80: .4byte gBattleMons _0802CD84: @@ -30923,67 +30923,67 @@ _0802CDAC: .4byte _0802CE14 .4byte _0802CE20 _0802CDCC: - ldr r1, _0802CDD4 @ =gUnknown_2023E82 + ldr r1, _0802CDD4 @ =gBattleCommunication movs r0, 0x2 b _0802CE30 .align 2, 0 -_0802CDD4: .4byte gUnknown_2023E82 +_0802CDD4: .4byte gBattleCommunication _0802CDD8: - ldr r1, _0802CDE0 @ =gUnknown_2023E82 + ldr r1, _0802CDE0 @ =gBattleCommunication movs r0, 0x1 b _0802CE30 .align 2, 0 -_0802CDE0: .4byte gUnknown_2023E82 +_0802CDE0: .4byte gBattleCommunication _0802CDE4: - ldr r1, _0802CDEC @ =gUnknown_2023E82 + ldr r1, _0802CDEC @ =gBattleCommunication movs r0, 0x1B b _0802CE30 .align 2, 0 -_0802CDEC: .4byte gUnknown_2023E82 +_0802CDEC: .4byte gBattleCommunication _0802CDF0: - ldr r1, _0802CDF8 @ =gUnknown_2023E82 + ldr r1, _0802CDF8 @ =gBattleCommunication movs r0, 0x17 b _0802CE30 .align 2, 0 -_0802CDF8: .4byte gUnknown_2023E82 +_0802CDF8: .4byte gBattleCommunication _0802CDFC: - ldr r1, _0802CE04 @ =gUnknown_2023E82 + ldr r1, _0802CE04 @ =gBattleCommunication movs r0, 0x16 b _0802CE30 .align 2, 0 -_0802CE04: .4byte gUnknown_2023E82 +_0802CE04: .4byte gBattleCommunication _0802CE08: - ldr r1, _0802CE10 @ =gUnknown_2023E82 + ldr r1, _0802CE10 @ =gBattleCommunication movs r0, 0x18 b _0802CE30 .align 2, 0 -_0802CE10: .4byte gUnknown_2023E82 +_0802CE10: .4byte gBattleCommunication _0802CE14: - ldr r1, _0802CE1C @ =gUnknown_2023E82 + ldr r1, _0802CE1C @ =gBattleCommunication movs r0, 0x7 b _0802CE30 .align 2, 0 -_0802CE1C: .4byte gUnknown_2023E82 +_0802CE1C: .4byte gBattleCommunication _0802CE20: - ldr r1, _0802CE28 @ =gUnknown_2023E82 + ldr r1, _0802CE28 @ =gBattleCommunication movs r0, 0x8 b _0802CE30 .align 2, 0 -_0802CE28: .4byte gUnknown_2023E82 +_0802CE28: .4byte gBattleCommunication _0802CE2C: - ldr r1, _0802CE40 @ =gUnknown_2023E82 + ldr r1, _0802CE40 @ =gBattleCommunication movs r0, 0x5 _0802CE30: strb r0, [r1, 0x3] - ldr r1, _0802CE44 @ =gUnknown_2023D74 + ldr r1, _0802CE44 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802CE40: .4byte gUnknown_2023E82 -_0802CE44: .4byte gUnknown_2023D74 +_0802CE40: .4byte gBattleCommunication +_0802CE44: .4byte gBattlescriptCurrInstr thumb_func_end atkE4_getsecretpowereffect thumb_func_start sub_802CE48 @@ -31085,7 +31085,7 @@ _0802CF0A: adds r7, r4, 0 cmp r7, 0x5 ble _0802CE54 - ldr r1, _0802CF2C @ =gUnknown_2023D74 + ldr r1, _0802CF2C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31097,7 +31097,7 @@ _0802CF0A: .align 2, 0 _0802CF24: .4byte gPlayerParty _0802CF28: .4byte gUnknown_8250848 -_0802CF2C: .4byte gUnknown_2023D74 +_0802CF2C: .4byte gBattlescriptCurrInstr thumb_func_end sub_802CE48 thumb_func_start atkE6_docastformchangeanimation @@ -31134,8 +31134,8 @@ _0802CF60: movs r1, 0 bl BtlController_EmitBattleAnimation ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _0802CF94 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802CF94 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31147,24 +31147,24 @@ _0802CF84: .4byte gActiveBattler _0802CF88: .4byte gBattleScripting _0802CF8C: .4byte gBattleMons _0802CF90: .4byte gBattleStruct -_0802CF94: .4byte gUnknown_2023D74 +_0802CF94: .4byte gBattlescriptCurrInstr thumb_func_end atkE6_docastformchangeanimation thumb_func_start atkE7_trycastformdatachange atkE7_trycastformdatachange: @ 802CF98 push {r4,lr} - ldr r1, _0802CFC8 @ =gUnknown_2023D74 + ldr r1, _0802CFC8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] ldr r0, _0802CFCC @ =gBattleScripting ldrb r0, [r0, 0x17] - bl sub_8019DAC + bl CastformDataTypeChange lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 beq _0802CFC2 - ldr r0, _0802CFD0 @ =gUnknown_81D92F8 + ldr r0, _0802CFD0 @ =BattleScript_CastformChange bl BattleScriptPushCursorAndCallback ldr r0, _0802CFD4 @ =gBattleStruct ldr r0, [r0] @@ -31176,9 +31176,9 @@ _0802CFC2: pop {r0} bx r0 .align 2, 0 -_0802CFC8: .4byte gUnknown_2023D74 +_0802CFC8: .4byte gBattlescriptCurrInstr _0802CFCC: .4byte gBattleScripting -_0802CFD0: .4byte gUnknown_81D92F8 +_0802CFD0: .4byte BattleScript_CastformChange _0802CFD4: .4byte gBattleStruct thumb_func_end atkE7_trycastformdatachange @@ -31210,7 +31210,7 @@ atkE8_settypebasedhalvers: @ 802CFD8 bne _0802D04C orrs r1, r3 str r1, [r2] - ldr r0, _0802D024 @ =gUnknown_2023E82 + ldr r0, _0802D024 @ =gBattleCommunication strb r4, [r0, 0x5] b _0802D050 .align 2, 0 @@ -31218,7 +31218,7 @@ _0802D014: .4byte gBattleMoves _0802D018: .4byte gCurrentMove _0802D01C: .4byte gStatuses3 _0802D020: .4byte gBattlerAttacker -_0802D024: .4byte gUnknown_2023E82 +_0802D024: .4byte gBattleCommunication _0802D028: ldr r1, _0802D05C @ =gStatuses3 ldr r0, _0802D060 @ =gBattlerAttacker @@ -31234,7 +31234,7 @@ _0802D028: bne _0802D04C orrs r1, r3 str r1, [r2] - ldr r1, _0802D064 @ =gUnknown_2023E82 + ldr r1, _0802D064 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] movs r4, 0x1 @@ -31242,7 +31242,7 @@ _0802D04C: cmp r4, 0 beq _0802D06C _0802D050: - ldr r1, _0802D068 @ =gUnknown_2023D74 + ldr r1, _0802D068 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -31250,10 +31250,10 @@ _0802D050: .align 2, 0 _0802D05C: .4byte gStatuses3 _0802D060: .4byte gBattlerAttacker -_0802D064: .4byte gUnknown_2023E82 -_0802D068: .4byte gUnknown_2023D74 +_0802D064: .4byte gBattleCommunication +_0802D068: .4byte gBattlescriptCurrInstr _0802D06C: - ldr r3, _0802D08C @ =gUnknown_2023D74 + ldr r3, _0802D08C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -31271,7 +31271,7 @@ _0802D086: pop {r0} bx r0 .align 2, 0 -_0802D08C: .4byte gUnknown_2023D74 +_0802D08C: .4byte gBattlescriptCurrInstr thumb_func_end atkE8_settypebasedhalvers thumb_func_start atkE9_setweatherballtype @@ -31359,7 +31359,7 @@ _0802D128: _0802D12E: strb r0, [r1, 0x13] _0802D130: - ldr r1, _0802D144 @ =gUnknown_2023D74 + ldr r1, _0802D144 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31368,7 +31368,7 @@ _0802D130: bx r0 .align 2, 0 _0802D140: .4byte gBattleStruct -_0802D144: .4byte gUnknown_2023D74 +_0802D144: .4byte gBattlescriptCurrInstr thumb_func_end atkE9_setweatherballtype thumb_func_start atkEA_tryrecycleitem @@ -31416,8 +31416,8 @@ atkEA_tryrecycleitem: @ 802D148 movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r1, _0802D1C4 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D1C4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -31428,9 +31428,9 @@ _0802D1B4: .4byte gBattlerAttacker _0802D1B8: .4byte gBattleStruct _0802D1BC: .4byte gBattleMons _0802D1C0: .4byte gLastUsedItem -_0802D1C4: .4byte gUnknown_2023D74 +_0802D1C4: .4byte gBattlescriptCurrInstr _0802D1C8: - ldr r3, _0802D1EC @ =gUnknown_2023D74 + ldr r3, _0802D1EC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -31449,7 +31449,7 @@ _0802D1E2: pop {r0} bx r0 .align 2, 0 -_0802D1EC: .4byte gUnknown_2023D74 +_0802D1EC: .4byte gBattlescriptCurrInstr thumb_func_end atkEA_tryrecycleitem thumb_func_start atkEB_settypetoterrain @@ -31505,7 +31505,7 @@ atkEB_settypetoterrain: @ 802D1F0 strb r0, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r1, _0802D274 @ =gUnknown_2023D74 + ldr r1, _0802D274 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -31516,9 +31516,9 @@ _0802D264: .4byte gBattlerAttacker _0802D268: .4byte gUnknown_8250888 _0802D26C: .4byte gUnknown_2022B50 _0802D270: .4byte gBattleTextBuff1 -_0802D274: .4byte gUnknown_2023D74 +_0802D274: .4byte gBattlescriptCurrInstr _0802D278: - ldr r3, _0802D29C @ =gUnknown_2023D74 + ldr r3, _0802D29C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -31538,7 +31538,7 @@ _0802D292: pop {r0} bx r0 .align 2, 0 -_0802D29C: .4byte gUnknown_2023D74 +_0802D29C: .4byte gBattlescriptCurrInstr thumb_func_end atkEB_settypetoterrain thumb_func_start atkEC_pursuitrelated @@ -31587,7 +31587,7 @@ atkEC_pursuitrelated: @ 802D2A0 strb r1, [r0] ldr r0, _0802D334 @ =gCurrentMove strh r2, [r0] - ldr r1, _0802D338 @ =gUnknown_2023D74 + ldr r1, _0802D338 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -31609,10 +31609,10 @@ _0802D328: .4byte gUnknown_2023D7C _0802D32C: .4byte gUnknown_2023DC4 _0802D330: .4byte gUnknown_2023BDA _0802D334: .4byte gCurrentMove -_0802D338: .4byte gUnknown_2023D74 +_0802D338: .4byte gBattlescriptCurrInstr _0802D33C: .4byte gBattleScripting _0802D340: - ldr r3, _0802D360 @ =gUnknown_2023D74 + ldr r3, _0802D360 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -31630,7 +31630,7 @@ _0802D35A: pop {r0} bx r0 .align 2, 0 -_0802D360: .4byte gUnknown_2023D74 +_0802D360: .4byte gBattlescriptCurrInstr thumb_func_end atkEC_pursuitrelated thumb_func_start atkEF_snatchsetbanks @@ -31664,7 +31664,7 @@ _0802D398: _0802D39E: ldrb r0, [r4] strb r0, [r1, 0x17] - ldr r1, _0802D3B4 @ =gUnknown_2023D74 + ldr r1, _0802D3B4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31673,7 +31673,7 @@ _0802D39E: bx r0 .align 2, 0 _0802D3B0: .4byte gBattleScripting -_0802D3B4: .4byte gUnknown_2023D74 +_0802D3B4: .4byte gBattlescriptCurrInstr thumb_func_end atkEF_snatchsetbanks thumb_func_start atkEE_removelightscreenreflect @@ -31698,7 +31698,7 @@ atkEE_removelightscreenreflect: @ 802D3B8 cmp r1, 0 beq _0802D418 _0802D3E0: - ldr r2, _0802D408 @ =gSideAffecting + ldr r2, _0802D408 @ =gSideStatuses adds r2, r3, r2 ldrh r1, [r2] ldr r0, _0802D40C @ =0x0000fffe @@ -31717,7 +31717,7 @@ _0802D3E0: .align 2, 0 _0802D400: .4byte gBattlerAttacker _0802D404: .4byte gSideTimers -_0802D408: .4byte gSideAffecting +_0802D408: .4byte gSideStatuses _0802D40C: .4byte 0x0000fffe _0802D410: .4byte 0x0000fffd _0802D414: .4byte gBattleScripting @@ -31726,7 +31726,7 @@ _0802D418: strb r1, [r0, 0x18] strb r1, [r0, 0x19] _0802D41E: - ldr r1, _0802D430 @ =gUnknown_2023D74 + ldr r1, _0802D430 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31735,7 +31735,7 @@ _0802D41E: bx r0 .align 2, 0 _0802D42C: .4byte gBattleScripting -_0802D430: .4byte gUnknown_2023D74 +_0802D430: .4byte gBattlescriptCurrInstr thumb_func_end atkEE_removelightscreenreflect thumb_func_start sub_802D434 @@ -31767,8 +31767,8 @@ _0802D442: movs r1, 0x6 bl BtlController_EmitBallThrowAnim ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r1, _0802D488 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D488 @ =gBattlescriptCurrInstr ldr r0, _0802D48C @ =gUnknown_81D9AD1 b _0802D7EC .align 2, 0 @@ -31777,7 +31777,7 @@ _0802D478: .4byte gActiveBattler _0802D47C: .4byte gBattlerAttacker _0802D480: .4byte gBattlerTarget _0802D484: .4byte gBattleTypeFlags -_0802D488: .4byte gUnknown_2023D74 +_0802D488: .4byte gBattlescriptCurrInstr _0802D48C: .4byte gUnknown_81D9AD1 _0802D490: movs r0, 0x8 @@ -31788,12 +31788,12 @@ _0802D490: movs r1, 0x5 bl BtlController_EmitBallThrowAnim ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r1, _0802D4AC @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D4AC @ =gBattlescriptCurrInstr ldr r0, _0802D4B0 @ =gUnknown_81D9AC1 b _0802D7EC .align 2, 0 -_0802D4AC: .4byte gUnknown_2023D74 +_0802D4AC: .4byte gBattlescriptCurrInstr _0802D4B0: .4byte gUnknown_81D9AC1 _0802D4B4: movs r0, 0x81 @@ -31805,12 +31805,12 @@ _0802D4B4: movs r1, 0x4 bl BtlController_EmitBallThrowAnim ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r1, _0802D4D4 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D4D4 @ =gBattlescriptCurrInstr ldr r0, _0802D4D8 @ =gUnknown_81D9A88 b _0802D7EC .align 2, 0 -_0802D4D4: .4byte gUnknown_2023D74 +_0802D4D4: .4byte gBattlescriptCurrInstr _0802D4D8: .4byte gUnknown_81D9A88 _0802D4DC: ldr r0, _0802D500 @ =gLastUsedItem @@ -32051,8 +32051,8 @@ _0802D6BC: bl BtlController_EmitBallThrowAnim ldr r0, _0802D704 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _0802D708 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D708 @ =gBattlescriptCurrInstr ldr r0, _0802D70C @ =gUnknown_81D9A42 str r0, [r1] ldr r1, _0802D710 @ =gBattlerPartyIndexes @@ -32077,7 +32077,7 @@ _0802D6BC: .align 2, 0 _0802D700: .4byte gBattleResults _0802D704: .4byte gActiveBattler -_0802D708: .4byte gUnknown_2023D74 +_0802D708: .4byte gBattlescriptCurrInstr _0802D70C: .4byte gUnknown_81D9A42 _0802D710: .4byte gBattlerPartyIndexes _0802D714: .4byte gBattlerTarget @@ -32126,10 +32126,10 @@ _0802D76C: bl BtlController_EmitBallThrowAnim ldr r0, _0802D7BC @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec cmp r4, 0x4 bne _0802D7E4 - ldr r1, _0802D7C0 @ =gUnknown_2023D74 + ldr r1, _0802D7C0 @ =gBattlescriptCurrInstr ldr r0, _0802D7C4 @ =gUnknown_81D9A42 str r0, [r1] ldr r1, _0802D7C8 @ =gBattlerPartyIndexes @@ -32151,30 +32151,30 @@ _0802D76C: cmp r0, 0x6 bne _0802D7D8 _0802D7AE: - ldr r1, _0802D7D4 @ =gUnknown_2023E82 + ldr r1, _0802D7D4 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] b _0802D7EE .align 2, 0 _0802D7B8: .4byte gLastUsedItem _0802D7BC: .4byte gActiveBattler -_0802D7C0: .4byte gUnknown_2023D74 +_0802D7C0: .4byte gBattlescriptCurrInstr _0802D7C4: .4byte gUnknown_81D9A42 _0802D7C8: .4byte gBattlerPartyIndexes _0802D7CC: .4byte gBattlerTarget _0802D7D0: .4byte gEnemyParty -_0802D7D4: .4byte gUnknown_2023E82 +_0802D7D4: .4byte gBattleCommunication _0802D7D8: - ldr r1, _0802D7E0 @ =gUnknown_2023E82 + ldr r1, _0802D7E0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _0802D7EE .align 2, 0 -_0802D7E0: .4byte gUnknown_2023E82 +_0802D7E0: .4byte gBattleCommunication _0802D7E4: - ldr r0, _0802D7F4 @ =gUnknown_2023E82 + ldr r0, _0802D7F4 @ =gBattleCommunication strb r4, [r0, 0x5] - ldr r1, _0802D7F8 @ =gUnknown_2023D74 + ldr r1, _0802D7F8 @ =gBattlescriptCurrInstr ldr r0, _0802D7FC @ =gUnknown_81D9A93 _0802D7EC: str r0, [r1] @@ -32183,8 +32183,8 @@ _0802D7EE: pop {r0} bx r0 .align 2, 0 -_0802D7F4: .4byte gUnknown_2023E82 -_0802D7F8: .4byte gUnknown_2023D74 +_0802D7F4: .4byte gBattleCommunication +_0802D7F8: .4byte gBattlescriptCurrInstr _0802D7FC: .4byte gUnknown_81D9A93 thumb_func_end sub_802D434 @@ -32217,7 +32217,7 @@ sub_802D800: @ 802D800 lsrs r1, r0, 24 cmp r1, 0 bne _0802D88C - ldr r0, _0802D87C @ =gUnknown_2023E82 + ldr r0, _0802D87C @ =gBattleCommunication strb r1, [r0, 0x5] ldr r4, _0802D880 @ =gStringVar1 ldr r0, _0802D884 @ =0x00004037 @@ -32243,7 +32243,7 @@ sub_802D800: @ 802D800 _0802D870: .4byte gBattlerPartyIndexes _0802D874: .4byte gBattlerAttacker _0802D878: .4byte gEnemyParty -_0802D87C: .4byte gUnknown_2023E82 +_0802D87C: .4byte gBattleCommunication _0802D880: .4byte gStringVar1 _0802D884: .4byte 0x00004037 _0802D888: .4byte gStringVar2 @@ -32275,7 +32275,7 @@ _0802D88C: adds r1, r0, 0 adds r0, r4, 0 bl StringCopy - ldr r1, _0802D93C @ =gUnknown_2023E82 + ldr r1, _0802D93C @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] _0802D8D6: @@ -32284,7 +32284,7 @@ _0802D8D6: lsls r0, 24 cmp r0, 0 beq _0802D8EA - ldr r1, _0802D93C @ =gUnknown_2023E82 + ldr r1, _0802D93C @ =gBattleCommunication ldrb r0, [r1, 0x5] adds r0, 0x1 strb r0, [r1, 0x5] @@ -32311,7 +32311,7 @@ _0802D8EA: adds r2, 0x2A movs r1, 0x2 bl GetMonData - ldr r1, _0802D958 @ =gUnknown_2023D74 + ldr r1, _0802D958 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -32326,14 +32326,14 @@ _0802D92C: .4byte gStringVar1 _0802D930: .4byte 0x00004037 _0802D934: .4byte gStringVar2 _0802D938: .4byte gStringVar3 -_0802D93C: .4byte gUnknown_2023E82 +_0802D93C: .4byte gBattleCommunication _0802D940: .4byte 0x00000834 _0802D944: .4byte gBattleResults _0802D948: .4byte gBattleMons _0802D94C: .4byte gBattlerAttacker _0802D950: .4byte gBattlerPartyIndexes _0802D954: .4byte gEnemyParty -_0802D958: .4byte gUnknown_2023D74 +_0802D958: .4byte gBattlescriptCurrInstr thumb_func_end sub_802D800 thumb_func_start sub_802D95C @@ -32360,7 +32360,7 @@ sub_802D95C: @ 802D95C lsls r0, 24 cmp r0, 0 beq _0802D9B4 - ldr r3, _0802D9B0 @ =gUnknown_2023D74 + ldr r3, _0802D9B0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -32376,7 +32376,7 @@ sub_802D95C: @ 802D95C b _0802D9CE .align 2, 0 _0802D9AC: .4byte gEnemyParty -_0802D9B0: .4byte gUnknown_2023D74 +_0802D9B0: .4byte gBattlescriptCurrInstr _0802D9B4: adds r0, r5, 0 bl SpeciesToNationalPokedexNum @@ -32385,7 +32385,7 @@ _0802D9B4: movs r1, 0x3 adds r2, r4, 0 bl HandleSetPokedexFlag - ldr r1, _0802D9D4 @ =gUnknown_2023D74 + ldr r1, _0802D9D4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -32394,7 +32394,7 @@ _0802D9CE: pop {r0} bx r0 .align 2, 0 -_0802D9D4: .4byte gUnknown_2023D74 +_0802D9D4: .4byte gBattlescriptCurrInstr thumb_func_end sub_802D95C thumb_func_start sub_802D9D8 @@ -32407,7 +32407,7 @@ sub_802D9D8: @ 802D9D8 bl GetMonData lsls r0, 16 lsrs r5, r0, 16 - ldr r0, _0802DA04 @ =gUnknown_2023E82 + ldr r0, _0802DA04 @ =gBattleCommunication ldrb r0, [r0] cmp r0, 0x5 bls _0802D9F4 @@ -32420,7 +32420,7 @@ _0802D9F4: mov pc, r0 .align 2, 0 _0802DA00: .4byte gEnemyParty -_0802DA04: .4byte gUnknown_2023E82 +_0802DA04: .4byte gBattleCommunication _0802DA08: .4byte _0802DA0C .align 2, 0 _0802DA0C: @@ -32454,12 +32454,12 @@ _0802DA4A: bl FreeAllWindowBuffers adds r0, r5, 0 bl sub_8106B60 - ldr r1, _0802DA60 @ =gUnknown_2023E82 + ldr r1, _0802DA60 @ =gBattleCommunication strb r0, [r1, 0x1] b _0802DB36 .align 2, 0 _0802DA5C: .4byte gPaletteFade -_0802DA60: .4byte gUnknown_2023E82 +_0802DA60: .4byte gBattleCommunication _0802DA64: ldr r0, _0802DAAC @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -32475,7 +32475,7 @@ _0802DA72: cmp r1, r0 bne _0802DB6C ldr r2, _0802DAB8 @ =gTasks - ldr r4, _0802DABC @ =gUnknown_2023E82 + ldr r4, _0802DABC @ =gBattleCommunication ldrb r1, [r4, 0x1] lsls r0, r1, 2 adds r0, r1 @@ -32501,7 +32501,7 @@ _0802DAAC: .4byte gPaletteFade _0802DAB0: .4byte gMain _0802DAB4: .4byte BattleMainCB2 _0802DAB8: .4byte gTasks -_0802DABC: .4byte gUnknown_2023E82 +_0802DABC: .4byte gBattleCommunication _0802DAC0: .4byte 0x05006000 _0802DAC4: .4byte sub_80116F4 _0802DAC8: @@ -32553,7 +32553,7 @@ _0802DAE0: movs r0, 0x3 bl ShowBg _0802DB34: - ldr r1, _0802DB54 @ =gUnknown_2023E82 + ldr r1, _0802DB54 @ =gBattleCommunication _0802DB36: ldrb r0, [r1] adds r0, 0x1 @@ -32565,7 +32565,7 @@ _0802DB44: .4byte 0x0000ffff _0802DB48: .4byte gPlttBufferFaded _0802DB4C: .4byte 0x05000080 _0802DB50: .4byte 0x0001ffff -_0802DB54: .4byte gUnknown_2023E82 +_0802DB54: .4byte gBattleCommunication _0802DB58: ldr r0, _0802DB74 @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -32573,7 +32573,7 @@ _0802DB58: ands r0, r1 cmp r0, 0 bne _0802DB6C - ldr r1, _0802DB78 @ =gUnknown_2023D74 + ldr r1, _0802DB78 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -32584,7 +32584,7 @@ _0802DB6C: bx r0 .align 2, 0 _0802DB74: .4byte gPaletteFade -_0802DB78: .4byte gUnknown_2023D74 +_0802DB78: .4byte gBattlescriptCurrInstr thumb_func_end sub_802D9D8 thumb_func_start sub_802DB7C @@ -32765,7 +32765,7 @@ sub_802DCB8: @ 802DCB8 strh r2, [r0] movs r1, 0x2 strh r1, [r0, 0x2] - ldr r0, _0802DCF4 @ =gUnknown_2023E82 + ldr r0, _0802DCF4 @ =gBattleCommunication ldrb r3, [r0, 0x1] lsls r3, 25 movs r0, 0x90 @@ -32786,7 +32786,7 @@ sub_802DCB8: @ 802DCB8 pop {r0} bx r0 .align 2, 0 -_0802DCF4: .4byte gUnknown_2023E82 +_0802DCF4: .4byte gBattleCommunication thumb_func_end sub_802DCB8 thumb_func_start sub_802DCF8 @@ -32797,7 +32797,7 @@ sub_802DCF8: @ 802DCF8 movs r1, 0x20 strh r1, [r0] strh r1, [r0, 0x2] - ldr r0, _0802DD34 @ =gUnknown_2023E82 + ldr r0, _0802DD34 @ =gBattleCommunication ldrb r3, [r0, 0x1] lsls r3, 25 movs r0, 0x90 @@ -32820,7 +32820,7 @@ sub_802DCF8: @ 802DCF8 pop {r0} bx r0 .align 2, 0 -_0802DD34: .4byte gUnknown_2023E82 +_0802DD34: .4byte gBattleCommunication thumb_func_end sub_802DCF8 thumb_func_start sub_802DD38 @@ -32831,7 +32831,7 @@ sub_802DD38: @ 802DD38 mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r0, _0802DD5C @ =gUnknown_2023E82 + ldr r0, _0802DD5C @ =gBattleCommunication ldrb r1, [r0] adds r4, r0, 0 cmp r1, 0x4 @@ -32844,7 +32844,7 @@ _0802DD50: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0802DD5C: .4byte gUnknown_2023E82 +_0802DD5C: .4byte gBattleCommunication _0802DD60: .4byte _0802DD64 .align 2, 0 _0802DD64: @@ -32864,7 +32864,7 @@ _0802DD78: ldr r0, _0802DDA0 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow - ldr r1, _0802DDA4 @ =gUnknown_2023E82 + ldr r1, _0802DDA4 @ =gBattleCommunication ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -32873,7 +32873,7 @@ _0802DD78: b _0802DFA6 .align 2, 0 _0802DDA0: .4byte gUnknown_83FE791 -_0802DDA4: .4byte gUnknown_2023E82 +_0802DDA4: .4byte gBattleCommunication _0802DDA8: ldr r0, _0802DE1C @ =gMain ldrh r1, [r0, 0x2E] @@ -32897,7 +32897,7 @@ _0802DDCC: ands r0, r1 cmp r0, 0 beq _0802DDF2 - ldr r4, _0802DE20 @ =gUnknown_2023E82 + ldr r4, _0802DE20 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 bne _0802DDF2 @@ -32916,7 +32916,7 @@ _0802DDF2: beq _0802DE24 movs r0, 0x5 bl PlaySE - ldr r1, _0802DE20 @ =gUnknown_2023E82 + ldr r1, _0802DE20 @ =gBattleCommunication ldrb r0, [r1, 0x1] cmp r0, 0 bne _0802DE36 @@ -32928,7 +32928,7 @@ _0802DDF2: b _0802DFA6 .align 2, 0 _0802DE1C: .4byte gMain -_0802DE20: .4byte gUnknown_2023E82 +_0802DE20: .4byte gBattleCommunication _0802DE24: movs r0, 0x2 ands r0, r1 @@ -32938,13 +32938,13 @@ _0802DE24: _0802DE2E: movs r0, 0x5 bl PlaySE - ldr r1, _0802DE3C @ =gUnknown_2023E82 + ldr r1, _0802DE3C @ =gBattleCommunication _0802DE36: movs r0, 0x4 strb r0, [r1] b _0802DFA6 .align 2, 0 -_0802DE3C: .4byte gUnknown_2023E82 +_0802DE3C: .4byte gBattleCommunication _0802DE40: ldr r0, _0802DEFC @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -33029,7 +33029,7 @@ _0802DE4E: adds r2, r6, 0 adds r3, r5, 0 bl DoNamingScreen - ldr r1, _0802DF14 @ =gUnknown_2023E82 + ldr r1, _0802DF14 @ =gBattleCommunication ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -33041,7 +33041,7 @@ _0802DF04: .4byte gBattlerAttacker _0802DF08: .4byte gEnemyParty _0802DF0C: .4byte gBattleStruct _0802DF10: .4byte BattleMainCB2 -_0802DF14: .4byte gUnknown_2023E82 +_0802DF14: .4byte gBattleCommunication _0802DF18: ldr r0, _0802DF54 @ =gMain ldr r1, [r0, 0x4] @@ -33086,15 +33086,15 @@ _0802DF70: lsrs r0, 24 cmp r0, 0x6 bne _0802DF8C - ldr r1, _0802DF88 @ =gUnknown_2023D74 + ldr r1, _0802DF88 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _0802DFA6 .align 2, 0 -_0802DF88: .4byte gUnknown_2023D74 +_0802DF88: .4byte gBattlescriptCurrInstr _0802DF8C: - ldr r3, _0802DFB8 @ =gUnknown_2023D74 + ldr r3, _0802DFB8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -33117,7 +33117,7 @@ _0802DFA6: pop {r0} bx r0 .align 2, 0 -_0802DFB8: .4byte gUnknown_2023D74 +_0802DFB8: .4byte gBattlescriptCurrInstr thumb_func_end sub_802DD38 thumb_func_start atkF4_subattackerhpbydmg @@ -33133,7 +33133,7 @@ atkF4_subattackerhpbydmg: @ 802DFBC ldrh r0, [r1, 0x28] subs r0, r2 strh r0, [r1, 0x28] - ldr r1, _0802DFE8 @ =gUnknown_2023D74 + ldr r1, _0802DFE8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -33142,7 +33142,7 @@ atkF4_subattackerhpbydmg: @ 802DFBC _0802DFDC: .4byte gBattleMons _0802DFE0: .4byte gBattlerAttacker _0802DFE4: .4byte gBattleMoveDamage -_0802DFE8: .4byte gUnknown_2023D74 +_0802DFE8: .4byte gBattlescriptCurrInstr thumb_func_end atkF4_subattackerhpbydmg thumb_func_start atkF5_removeattackerstatus1 @@ -33156,7 +33156,7 @@ atkF5_removeattackerstatus1: @ 802DFEC adds r0, r1 movs r1, 0 str r1, [r0] - ldr r1, _0802E010 @ =gUnknown_2023D74 + ldr r1, _0802E010 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -33164,7 +33164,7 @@ atkF5_removeattackerstatus1: @ 802DFEC .align 2, 0 _0802E008: .4byte gBattleMons _0802E00C: .4byte gBattlerAttacker -_0802E010: .4byte gUnknown_2023D74 +_0802E010: .4byte gBattlescriptCurrInstr thumb_func_end atkF5_removeattackerstatus1 thumb_func_start sub_802E014 -- cgit v1.2.3 From c88c9c6edfb7122524b319e4601c5d2b97bf06ca Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 31 Jul 2019 07:57:24 +0800 Subject: progress #1 on porting battle_util --- asm/battle_script_commands.s | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 25dbe3ce3..b4fd08c29 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -12270,7 +12270,7 @@ _080238E8: ands r0, r1 cmp r0, 0 beq _0802394C - ldr r0, _08023940 @ =gLastUsedMove + ldr r0, _08023940 @ =gLastMoves lsls r1, r4, 1 adds r1, r0 ldr r0, _0802392C @ =gChosenMove @@ -12297,11 +12297,11 @@ _08023930: .4byte gAbsentBattlerFlags _08023934: .4byte gBitTable _08023938: .4byte gBattleStruct _0802393C: .4byte gBattleMoves -_08023940: .4byte gLastUsedMove +_08023940: .4byte gLastMoves _08023944: .4byte gUnknown_2023DB0 _08023948: .4byte gCurrentMove _0802394C: - ldr r1, _080239B4 @ =gLastUsedMove + ldr r1, _080239B4 @ =gLastMoves lsls r0, r4, 1 adds r0, r1 ldr r1, _080239B8 @ =0x0000ffff @@ -12355,7 +12355,7 @@ _08023984: strh r3, [r0] b _08023A2C .align 2, 0 -_080239B4: .4byte gLastUsedMove +_080239B4: .4byte gLastMoves _080239B8: .4byte 0x0000ffff _080239BC: .4byte gUnknown_2023DB0 _080239C0: .4byte gBattlerTarget @@ -23783,7 +23783,7 @@ atk9D_mimicattackcopy: @ 8029578 ldr r1, _080295F4 @ =0x0000ffff adds r7, r1, 0 strh r7, [r0] - ldr r5, _080295F8 @ =gLastUsedMove + ldr r5, _080295F8 @ =gLastMoves ldr r6, _080295FC @ =gBattlerTarget ldrb r0, [r6] lsls r0, 1 @@ -23836,7 +23836,7 @@ _080295D2: .align 2, 0 _080295F0: .4byte gChosenMove _080295F4: .4byte 0x0000ffff -_080295F8: .4byte gLastUsedMove +_080295F8: .4byte gLastMoves _080295FC: .4byte gBattlerTarget _08029600: .4byte gBattleMons _08029604: .4byte gBattlerAttacker @@ -23886,7 +23886,7 @@ _08029646: mov r0, r12 adds r0, 0xC adds r1, r0 - ldr r2, _080296A4 @ =gLastUsedMove + ldr r2, _080296A4 @ =gLastMoves ldr r3, _080296A8 @ =gBattlerTarget ldrb r0, [r3] lsls r0, 1 @@ -23918,7 +23918,7 @@ _08029646: .align 2, 0 _0802969C: .4byte gBattlescriptCurrInstr _080296A0: .4byte gUnknown_2023D48 -_080296A4: .4byte gLastUsedMove +_080296A4: .4byte gLastMoves _080296A8: .4byte gBattlerTarget _080296AC: .4byte gBattleMoves _080296B0: @@ -24402,7 +24402,7 @@ atkA3_disablelastusedattack: @ 8029A70 adds r7, r2, 0 adds r7, 0xC adds r0, r7 - ldr r5, _08029B78 @ =gLastUsedMove + ldr r5, _08029B78 @ =gLastMoves lsls r1, 1 adds r1, r5 ldrh r0, [r0] @@ -24521,7 +24521,7 @@ _08029AC4: .align 2, 0 _08029B70: .4byte gBattleMons _08029B74: .4byte gBattlerTarget -_08029B78: .4byte gLastUsedMove +_08029B78: .4byte gLastMoves _08029B7C: .4byte gDisableStructs _08029B80: .4byte gBattleTextBuff1 _08029B84: .4byte gBattlescriptCurrInstr @@ -24566,7 +24566,7 @@ atkA4_trysetencore: @ 8029BB4 adds r6, r3, 0 adds r6, 0xC adds r0, r6 - ldr r2, _08029CB0 @ =gLastUsedMove + ldr r2, _08029CB0 @ =gLastMoves lsls r1, 1 adds r1, r2 ldrh r0, [r0] @@ -24680,7 +24680,7 @@ _08029C24: .align 2, 0 _08029CA8: .4byte gBattleMons _08029CAC: .4byte gBattlerTarget -_08029CB0: .4byte gLastUsedMove +_08029CB0: .4byte gLastMoves _08029CB4: .4byte gDisableStructs _08029CB8: .4byte gBattlescriptCurrInstr _08029CBC: @@ -25745,7 +25745,7 @@ atkAD_tryspiteppreduce: @ 802A4D8 mov r5, r8 push {r5-r7} sub sp, 0x4 - ldr r4, _0802A658 @ =gLastUsedMove + ldr r4, _0802A658 @ =gLastMoves ldr r1, _0802A65C @ =gBattlerTarget ldrb r3, [r1] lsls r0, r3, 1 @@ -25832,7 +25832,7 @@ _0802A57C: strb r5, [r1] movs r0, 0x2 strb r0, [r1, 0x1] - ldr r2, _0802A658 @ =gLastUsedMove + ldr r2, _0802A658 @ =gLastMoves mov r3, r8 ldrb r0, [r3] lsls r0, 1 @@ -25934,7 +25934,7 @@ _0802A630: bl CancelMultiTurnMoves b _0802A69A .align 2, 0 -_0802A658: .4byte gLastUsedMove +_0802A658: .4byte gLastMoves _0802A65C: .4byte gBattlerTarget _0802A660: .4byte 0x0000ffff _0802A664: .4byte gBattleMons @@ -30155,7 +30155,7 @@ _0802C7BC: lsrs r0, 24 mov r8, r0 ldrb r0, [r4] - bl PressurePPLoseOnUsingImprision + bl PressurePPLoseOnUsingImprison movs r6, 0 b _0802C82E _0802C7D2: -- cgit v1.2.3 From 3eb1f1bc783308dac445eaacc05c9f14e9b78822 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Thu, 1 Aug 2019 12:25:38 +0800 Subject: matched AbilityBattleEffects --- asm/battle_script_commands.s | 64 ++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index b4fd08c29..765eb317a 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -290,7 +290,7 @@ _0801D98E: mov r1, r8 ldrb r0, [r1] ldrb r1, [r4] - bl sub_80C71D0 + bl RecordAbilityBattle b _0801DAFC .align 2, 0 _0801D9C8: .4byte gBattlersCount @@ -2198,7 +2198,7 @@ _0801E8C0: strb r1, [r0, 0x6] ldrb r0, [r4] ldrb r1, [r3] - bl sub_80C71D0 + bl RecordAbilityBattle b _0801E9D4 .align 2, 0 _0801E910: .4byte gBattleMoves @@ -2355,7 +2355,7 @@ _0801EA10: strb r0, [r1, 0x6] ldrb r0, [r5] ldrb r1, [r3] - bl sub_80C71D0 + bl RecordAbilityBattle _0801EA52: ldr r0, _0801EA98 @ =gMoveResultFlags ldrb r1, [r0] @@ -2465,7 +2465,7 @@ _0801EB08: strb r1, [r0, 0x6] ldrb r0, [r3] movs r1, 0x1A - bl sub_80C71D0 + bl RecordAbilityBattle b _0801ED18 .align 2, 0 _0801EB3C: .4byte gBattleMons @@ -2710,7 +2710,7 @@ _0801ECC2: mov r1, r8 ldrb r0, [r1] movs r1, 0x19 - bl sub_80C71D0 + bl RecordAbilityBattle _0801ED18: pop {r3,r4} mov r8, r3 @@ -5342,7 +5342,7 @@ _080201A6: mov r3, r9 ldrb r0, [r3] movs r1, 0x11 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r4, _080201D8 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -5465,7 +5465,7 @@ _0802028A: mov r3, r9 ldrb r0, [r3] movs r1, 0x29 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r4, _080202AC @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -5656,7 +5656,7 @@ _08020402: mov r3, r9 ldrb r0, [r3] movs r1, 0x7 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r4, _08020424 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -5699,7 +5699,7 @@ _0802045A: mov r1, r9 ldrb r0, [r1] movs r1, 0x11 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r4, _08020498 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -6128,7 +6128,7 @@ _0802084C: mov r1, r9 ldrb r0, [r1] movs r1, 0x27 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r1, _08020868 @ =gBattlescriptCurrInstr ldr r0, _0802086C @ =gUnknown_81D9452 str r0, [r1] @@ -6737,7 +6737,7 @@ _08020D26: strb r0, [r1] ldrb r0, [r7] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle b _0802110A .align 2, 0 _08020D64: .4byte gBattleTypeFlags @@ -7075,7 +7075,7 @@ _08021018: str r0, [r1] ldrb r0, [r5] movs r1, 0x3C - bl sub_80C71D0 + bl RecordAbilityBattle b _0802110A .align 2, 0 _0802104C: .4byte gLastUsedAbility @@ -8017,7 +8017,7 @@ _080217C8: ldrb r1, [r0] adds r0, r4, 0 _080217EC: - bl sub_80C71D0 + bl RecordAbilityBattle ldr r0, _08021800 @ =gBattleScripting strb r4, [r0, 0x15] b _0802180A @@ -12164,7 +12164,7 @@ _0802381C: ldr r2, _08023854 @ =gDisableStructs ldr r5, _08023858 @ =0xfeffffff adds r3, r0, 0 - ldr r1, _0802385C @ =gChosenMoveByBattler + ldr r1, _0802385C @ =gUnknown_2023C34 _0802382E: ldrb r0, [r2, 0xA] cmp r0, 0 @@ -12189,7 +12189,7 @@ _08023846: _08023850: .4byte gBattlersCount _08023854: .4byte gDisableStructs _08023858: .4byte 0xfeffffff -_0802385C: .4byte gChosenMoveByBattler +_0802385C: .4byte gUnknown_2023C34 _08023860: ldr r1, _08023914 @ =gHitMarker ldr r3, [r1] @@ -12709,7 +12709,7 @@ atk4A_typecalc2: @ 8023C38 strb r2, [r0, 0x6] ldrb r0, [r7] ldrb r1, [r3] - bl sub_80C71D0 + bl RecordAbilityBattle b _08023DAE .align 2, 0 _08023C9C: .4byte gBattleMoves @@ -12910,7 +12910,7 @@ _08023DF0: strb r0, [r1, 0x6] ldrb r0, [r2] ldrb r1, [r3] - bl sub_80C71D0 + bl RecordAbilityBattle _08023E2A: ldr r0, _08023E74 @ =gMoveResultFlags ldrb r1, [r0] @@ -18090,7 +18090,7 @@ atk70_recordlastability: @ 8026844 ldrb r0, [r1] ldr r1, _08026874 @ =gLastUsedAbility ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle ldr r0, [r4] adds r0, 0x1 str r0, [r4] @@ -19248,7 +19248,7 @@ _0802718C: adds r1, r6 adds r1, 0x20 ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle ldr r1, _080271B8 @ =gBattlescriptCurrInstr ldr r0, _080271BC @ =gUnknown_81D93AF str r0, [r1] @@ -20232,7 +20232,7 @@ _08027918: str r4, [r5] ldrb r1, [r2] adds r0, r3, 0 - bl sub_80C71D0 + bl RecordAbilityBattle b _08027942 .align 2, 0 _08027930: .4byte gBattleMons @@ -20820,7 +20820,7 @@ _08027DB4: strb r0, [r1] ldrb r0, [r2] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle ldr r6, _08027DFC @ =gActiveBattler ldrb r1, [r6] lsls r0, r1, 2 @@ -20873,7 +20873,7 @@ _08027E0C: strb r0, [r1] ldrb r0, [r3] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle b _08027D48 .align 2, 0 _08027E58: .4byte gActiveBattler @@ -20918,7 +20918,7 @@ _08027E8E: strb r0, [r1] ldrb r0, [r2] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle b _08027D48 .align 2, 0 _08027EBC: .4byte gActiveBattler @@ -22333,7 +22333,7 @@ _08028998: mov r1, r9 ldrb r0, [r1] movs r1, 0x5 - bl sub_80C71D0 + bl RecordAbilityBattle b _08028C48 .align 2, 0 _080289D4: .4byte gPotentialItemEffectBattler @@ -23030,7 +23030,7 @@ _08028F1C: strb r2, [r0] ldrb r0, [r5] movs r1, 0xC - bl sub_80C71D0 + bl RecordAbilityBattle b _0802902C .align 2, 0 _08028F78: .4byte gBattlerPartyIndexes @@ -26040,7 +26040,7 @@ _0802A738: .4byte 0xf7ffffff _0802A73C: ldrb r1, [r1] adds r0, r3, 0 - bl sub_80C71D0 + bl RecordAbilityBattle ldrb r0, [r6, 0x5] movs r1, 0x1 orrs r0, r1 @@ -26113,7 +26113,7 @@ _0802A7DC: .4byte 0xf7ffffff _0802A7E0: ldrb r1, [r1] adds r0, r3, 0 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r1, _0802A838 @ =gBattleCommunication ldrb r0, [r1, 0x5] mov r2, r9 @@ -27382,7 +27382,7 @@ _0802B1A2: lsls r0, 31 cmp r0, 0 bne _0802B2A8 - ldr r0, _0802B27C @ =gUnknown_2023DC4 + ldr r0, _0802B27C @ =gChosenMoveByBattler lsls r1, r3, 1 adds r1, r0 ldrh r0, [r1] @@ -27454,7 +27454,7 @@ _0802B26C: .4byte gBattlerAttacker _0802B270: .4byte gBattleStruct _0802B274: .4byte gBattleMons _0802B278: .4byte gDisableStructs -_0802B27C: .4byte gUnknown_2023DC4 +_0802B27C: .4byte gChosenMoveByBattler _0802B280: .4byte gBattlersCount _0802B284: .4byte gCurrentMove _0802B288: .4byte gUnknown_2023D48 @@ -29442,7 +29442,7 @@ _0802C224: strb r0, [r1] ldrb r0, [r7] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle b _0802C37A .align 2, 0 _0802C24C: .4byte gBattlescriptCurrInstr @@ -31575,7 +31575,7 @@ atkEC_pursuitrelated: @ 802D2A0 ldrb r0, [r0] cmp r0, 0 bne _0802D340 - ldr r1, _0802D32C @ =gUnknown_2023DC4 + ldr r1, _0802D32C @ =gChosenMoveByBattler lsls r0, r3, 1 adds r0, r1 ldrh r2, [r0] @@ -31606,7 +31606,7 @@ _0802D31C: .4byte gBattleTypeFlags _0802D320: .4byte gAbsentBattlerFlags _0802D324: .4byte gBitTable _0802D328: .4byte gUnknown_2023D7C -_0802D32C: .4byte gUnknown_2023DC4 +_0802D32C: .4byte gChosenMoveByBattler _0802D330: .4byte gUnknown_2023BDA _0802D334: .4byte gCurrentMove _0802D338: .4byte gBattlescriptCurrInstr -- cgit v1.2.3 From c2964e818143757ca5586b1a811669a1c287e870 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 2 Aug 2019 05:05:35 +0800 Subject: ported battle_util from pokeem --- asm/battle_script_commands.s | 72 ++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 36 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 765eb317a..568f794d0 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -16,13 +16,13 @@ atk00_attackcanceler: @ 801D760 ldrb r0, [r0] cmp r0, 0 beq _0801D784 - ldr r1, _0801D780 @ =gUnknown_2023BE3 + ldr r1, _0801D780 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] b _0801DAFC .align 2, 0 _0801D77C: .4byte gBattleOutcome -_0801D780: .4byte gUnknown_2023BE3 +_0801D780: .4byte gCurrentActionFuncId _0801D784: ldr r2, _0801D7B4 @ =gBattleMons ldr r0, _0801D7B8 @ =gBattlerAttacker @@ -74,7 +74,7 @@ _0801D7D6: b _0801DAFC _0801D7EE: ldr r4, _0801D848 @ =gBattleMons - ldr r0, _0801D84C @ =gUnknown_2023D48 + ldr r0, _0801D84C @ =gCurrMovePos ldrb r1, [r0] ldr r3, _0801D850 @ =gBattlerAttacker ldrb r2, [r3] @@ -118,7 +118,7 @@ _0801D7EE: .align 2, 0 _0801D844: .4byte gBattlerTarget _0801D848: .4byte gBattleMons -_0801D84C: .4byte gUnknown_2023D48 +_0801D84C: .4byte gCurrMovePos _0801D850: .4byte gBattlerAttacker _0801D854: .4byte gHitMarker _0801D858: .4byte gCurrentMove @@ -1433,7 +1433,7 @@ _0801E2E6: cmp r4, 0 bne _0801E3CC ldr r2, _0801E34C @ =gBattleMons - ldr r3, _0801E354 @ =gUnknown_2023D48 + ldr r3, _0801E354 @ =gCurrMovePos ldr r1, _0801E358 @ =gBattlerAttacker ldrb r5, [r1] movs r0, 0x58 @@ -1478,7 +1478,7 @@ _0801E2E6: _0801E348: .4byte gBattlerTarget _0801E34C: .4byte gBattleMons _0801E350: .4byte gHitMarker -_0801E354: .4byte gUnknown_2023D48 +_0801E354: .4byte gCurrMovePos _0801E358: .4byte gBattlerAttacker _0801E35C: .4byte gProtectStructs _0801E360: @@ -3321,7 +3321,7 @@ _0801F186: bcs _0801F1C4 ldrb r0, [r5] movs r1, 0x27 - bl sub_80C7208 + bl RecordItemEffectBattle ldr r2, _0801F250 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -3525,7 +3525,7 @@ _0801F336: bcs _0801F374 ldrb r0, [r5] movs r1, 0x27 - bl sub_80C7208 + bl RecordItemEffectBattle ldr r2, _0801F3E4 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -10716,14 +10716,14 @@ atk3D_end: @ 8022CCC strb r1, [r0] ldr r0, _08022CE4 @ =gActiveBattler strb r1, [r0] - ldr r1, _08022CE8 @ =gUnknown_2023BE3 + ldr r1, _08022CE8 @ =gCurrentActionFuncId movs r0, 0xB strb r0, [r1] bx lr .align 2, 0 _08022CE0: .4byte gMoveResultFlags _08022CE4: .4byte gActiveBattler -_08022CE8: .4byte gUnknown_2023BE3 +_08022CE8: .4byte gCurrentActionFuncId thumb_func_end atk3D_end thumb_func_start atk3E_end2 @@ -10731,13 +10731,13 @@ atk3E_end2: @ 8022CEC ldr r1, _08022CFC @ =gActiveBattler movs r0, 0 strb r0, [r1] - ldr r1, _08022D00 @ =gUnknown_2023BE3 + ldr r1, _08022D00 @ =gCurrentActionFuncId movs r0, 0xB strb r0, [r1] bx lr .align 2, 0 _08022CFC: .4byte gActiveBattler -_08022D00: .4byte gUnknown_2023BE3 +_08022D00: .4byte gCurrentActionFuncId thumb_func_end atk3E_end2 thumb_func_start atk3F_end3 @@ -16653,18 +16653,18 @@ atk63_jumptorandomattack: @ 8025C9C cmp r1, 0 beq _08025CC0 ldr r0, _08025CB8 @ =gCurrentMove - ldr r1, _08025CBC @ =gUnknown_2023D4E + ldr r1, _08025CBC @ =gCalledMove ldrh r1, [r1] strh r1, [r0] b _08025CCE .align 2, 0 _08025CB4: .4byte gBattlescriptCurrInstr _08025CB8: .4byte gCurrentMove -_08025CBC: .4byte gUnknown_2023D4E +_08025CBC: .4byte gCalledMove _08025CC0: ldr r2, _08025CEC @ =gChosenMove ldr r1, _08025CF0 @ =gCurrentMove - ldr r0, _08025CF4 @ =gUnknown_2023D4E + ldr r0, _08025CF4 @ =gCalledMove ldrh r0, [r0] strh r0, [r1] strh r0, [r2] @@ -16688,7 +16688,7 @@ _08025CCE: .align 2, 0 _08025CEC: .4byte gChosenMove _08025CF0: .4byte gCurrentMove -_08025CF4: .4byte gUnknown_2023D4E +_08025CF4: .4byte gCalledMove _08025CF8: .4byte gUnknown_81D65A8 _08025CFC: .4byte gBattleMoves thumb_func_end atk63_jumptorandomattack @@ -17102,7 +17102,7 @@ _0802602E: bcs _0802606C ldrb r0, [r5] movs r1, 0x27 - bl sub_80C7208 + bl RecordItemEffectBattle ldr r2, _080260F8 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -22294,7 +22294,7 @@ _0802895A: bcs _08028998 ldrb r0, [r5] movs r1, 0x27 - bl sub_80C7208 + bl RecordItemEffectBattle ldr r2, _080289DC @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -23875,7 +23875,7 @@ _08029628: _08029646: cmp r2, 0x4 bne _08029728 - ldr r5, _080296A0 @ =gUnknown_2023D48 + ldr r5, _080296A0 @ =gCurrMovePos ldrb r1, [r5] lsls r1, 1 mov r2, r9 @@ -23917,7 +23917,7 @@ _08029646: b _080296C4 .align 2, 0 _0802969C: .4byte gBattlescriptCurrInstr -_080296A0: .4byte gUnknown_2023D48 +_080296A0: .4byte gCurrMovePos _080296A4: .4byte gLastMoves _080296A8: .4byte gBattlerTarget _080296AC: .4byte gBattleMoves @@ -25184,7 +25184,7 @@ _0802A08A: beq _0802A090 b _0802A190 _0802A090: - ldr r4, _0802A17C @ =gUnknown_2023D48 + ldr r4, _0802A17C @ =gCurrMovePos ldrb r1, [r4] lsls r1, 1 mov r2, r10 @@ -25296,7 +25296,7 @@ _0802A16C: .4byte gBattleMons _0802A170: .4byte gBattlerAttacker _0802A174: .4byte gUnknown_2023D90 _0802A178: .4byte gBattlerTarget -_0802A17C: .4byte gUnknown_2023D48 +_0802A17C: .4byte gCurrMovePos _0802A180: .4byte gBattleMoves _0802A184: .4byte gActiveBattler _0802A188: .4byte gBattleTextBuff1 @@ -25541,7 +25541,7 @@ _0802A334: ands r0, r6 cmp r0, 0 bne _0802A334 - ldr r4, _0802A3A8 @ =gUnknown_2023D4E + ldr r4, _0802A3A8 @ =gCalledMove ldr r2, _0802A3AC @ =gBattleMons lsls r1, r5, 1 ldr r0, _0802A3B0 @ =gBattlerAttacker @@ -25553,7 +25553,7 @@ _0802A334: adds r1, r2 ldrh r0, [r1] strh r0, [r4] - ldr r0, _0802A3B4 @ =gUnknown_2023D48 + ldr r0, _0802A3B4 @ =gCurrMovePos strb r5, [r0] ldr r2, _0802A3B8 @ =gHitMarker ldr r0, [r2] @@ -25588,10 +25588,10 @@ _0802A394: bx r0 .align 2, 0 _0802A3A4: .4byte gBitTable -_0802A3A8: .4byte gUnknown_2023D4E +_0802A3A8: .4byte gCalledMove _0802A3AC: .4byte gBattleMons _0802A3B0: .4byte gBattlerAttacker -_0802A3B4: .4byte gUnknown_2023D48 +_0802A3B4: .4byte gCurrMovePos _0802A3B8: .4byte gHitMarker _0802A3BC: .4byte 0xfffffbff _0802A3C0: .4byte gBattlerTarget @@ -27392,9 +27392,9 @@ _0802B1A2: ldr r0, _0802B280 @ =gBattlersCount ldr r2, _0802B284 @ =gCurrentMove mov r8, r2 - ldr r7, _0802B288 @ =gUnknown_2023D48 + ldr r7, _0802B288 @ =gCurrMovePos mov r10, r7 - ldr r2, _0802B28C @ =gUnknown_2023D49 + ldr r2, _0802B28C @ =gChosenMovePos mov r9, r2 ldr r7, _0802B290 @ =gHitMarker mov r12, r7 @@ -27457,8 +27457,8 @@ _0802B278: .4byte gDisableStructs _0802B27C: .4byte gChosenMoveByBattler _0802B280: .4byte gBattlersCount _0802B284: .4byte gCurrentMove -_0802B288: .4byte gUnknown_2023D48 -_0802B28C: .4byte gUnknown_2023D49 +_0802B288: .4byte gCurrMovePos +_0802B28C: .4byte gChosenMovePos _0802B290: .4byte gHitMarker _0802B294: .4byte gBattlerByTurnOrder _0802B298: .4byte gUnknown_2023BDA @@ -30496,7 +30496,7 @@ _0802CA3C: ldr r1, _0802CAA4 @ =0xfffffbff ands r0, r1 str r0, [r2] - ldr r4, _0802CAA8 @ =gUnknown_2023D4E + ldr r4, _0802CAA8 @ =gCalledMove bl Random movs r1, 0xFF ands r1, r0 @@ -30528,7 +30528,7 @@ _0802CA98: .4byte 0x0000ffff _0802CA9C: .4byte gUnknown_82507E8 _0802CAA0: .4byte gHitMarker _0802CAA4: .4byte 0xfffffbff -_0802CAA8: .4byte gUnknown_2023D4E +_0802CAA8: .4byte gCalledMove _0802CAAC: .4byte gBattlerTarget _0802CAB0: .4byte gBattlescriptCurrInstr _0802CAB4: @@ -33169,17 +33169,17 @@ _0802E010: .4byte gBattlescriptCurrInstr thumb_func_start sub_802E014 sub_802E014: @ 802E014 - ldr r1, _0802E01C @ =gUnknown_2023BE3 + ldr r1, _0802E01C @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] bx lr .align 2, 0 -_0802E01C: .4byte gUnknown_2023BE3 +_0802E01C: .4byte gCurrentActionFuncId thumb_func_end sub_802E014 thumb_func_start sub_802E020 sub_802E020: @ 802E020 - ldr r1, _0802E030 @ =gUnknown_2023BE3 + ldr r1, _0802E030 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] ldr r1, _0802E034 @ =gUnknown_2023BE2 @@ -33188,7 +33188,7 @@ sub_802E020: @ 802E020 strb r0, [r1] bx lr .align 2, 0 -_0802E030: .4byte gUnknown_2023BE3 +_0802E030: .4byte gCurrentActionFuncId _0802E034: .4byte gUnknown_2023BE2 _0802E038: .4byte gBattlersCount thumb_func_end sub_802E020 -- cgit v1.2.3 From 742a7ee1beab323e30d60c599697a2a831c4f4de Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 2 Aug 2019 07:28:09 +0800 Subject: ported reshow_battle_screen from pokeem --- asm/battle_script_commands.s | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 568f794d0..8bc130fd7 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -15672,7 +15672,7 @@ _080254B6: subs r2, 0x1 lsls r2, 24 lsrs r2, 24 - ldr r3, _080254F4 @ =sub_8077764 + ldr r3, _080254F4 @ =ReshowBattleScreenAfterMenu ldr r4, _080254F8 @ =gMoveToLearn ldrh r4, [r4] str r4, [sp] @@ -15688,7 +15688,7 @@ _080254E4: .4byte gPaletteFade _080254E8: .4byte gPlayerParty _080254EC: .4byte gBattleStruct _080254F0: .4byte gPlayerPartyCount -_080254F4: .4byte sub_8077764 +_080254F4: .4byte ReshowBattleScreenAfterMenu _080254F8: .4byte gMoveToLearn _080254FC: .4byte gBattleScripting _08025500: @@ -32490,7 +32490,7 @@ _0802DA72: ldr r2, _0802DAC0 @ =0x05006000 add r0, sp, 0x10 bl CpuSet - ldr r0, _0802DAC4 @ =sub_80116F4 + ldr r0, _0802DAC4 @ =VBlankCB_Battle bl SetVBlankCallback ldrb r0, [r4] adds r0, 0x1 @@ -32503,7 +32503,7 @@ _0802DAB4: .4byte BattleMainCB2 _0802DAB8: .4byte gTasks _0802DABC: .4byte gBattleCommunication _0802DAC0: .4byte 0x05006000 -_0802DAC4: .4byte sub_80116F4 +_0802DAC4: .4byte VBlankCB_Battle _0802DAC8: bl sub_800F34C bl LoadBattleTextboxAndBackground -- cgit v1.2.3 From 5568895b043dc37e95be0e99787541d78a7c6fee Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sat, 3 Aug 2019 23:59:41 +0800 Subject: ported battle_ai_switch_items from pokeem --- asm/battle_script_commands.s | 88 ++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 44 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 8bc130fd7..3155a9a5d 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -370,7 +370,7 @@ _0801DA5E: movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0801DAA4 @ =gUnknown_2023DA0 + ldr r1, _0801DAA4 @ =gLastLandedMoves ldr r3, _0801DAA8 @ =gBattlerTarget ldrb r0, [r3] lsls r0, 1 @@ -392,7 +392,7 @@ _0801DA94: .4byte gCurrentMove _0801DA98: .4byte gBattleMons _0801DA9C: .4byte gBattlerAttacker _0801DAA0: .4byte gMoveResultFlags -_0801DAA4: .4byte gUnknown_2023DA0 +_0801DAA4: .4byte gLastLandedMoves _0801DAA8: .4byte gBattlerTarget _0801DAAC: .4byte gUnknown_2023DA8 _0801DAB0: .4byte gBattleCommunication @@ -458,7 +458,7 @@ JumpIfMoveFailed: @ 801DB10 ands r0, r1 cmp r0, 0 beq _0801DB70 - ldr r1, _0801DB64 @ =gUnknown_2023DA0 + ldr r1, _0801DB64 @ =gLastLandedMoves ldr r3, _0801DB68 @ =gBattlerTarget ldrb r0, [r3] lsls r0, 1 @@ -484,7 +484,7 @@ JumpIfMoveFailed: @ 801DB10 .align 2, 0 _0801DB5C: .4byte gBattlescriptCurrInstr _0801DB60: .4byte gMoveResultFlags -_0801DB64: .4byte gUnknown_2023DA0 +_0801DB64: .4byte gLastLandedMoves _0801DB68: .4byte gBattlerTarget _0801DB6C: .4byte gUnknown_2023DA8 _0801DB70: @@ -2182,7 +2182,7 @@ _0801E8C0: movs r1, 0x9 orrs r0, r1 strb r0, [r2] - ldr r1, _0801E92C @ =gUnknown_2023DA0 + ldr r1, _0801E92C @ =gLastLandedMoves ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -2208,22 +2208,22 @@ _0801E91C: .4byte gBattleMoveDamage _0801E920: .4byte gBattlerTarget _0801E924: .4byte gLastUsedAbility _0801E928: .4byte gMoveResultFlags -_0801E92C: .4byte gUnknown_2023DA0 +_0801E92C: .4byte gLastLandedMoves _0801E930: .4byte gUnknown_2023DA8 _0801E934: .4byte gBattleCommunication _0801E938: - ldr r1, _0801E944 @ =gUnknown_824F050 + ldr r1, _0801E944 @ =gTypeEffectiveness adds r0, r3, r1 ldrb r0, [r0] adds r2, r1, 0 b _0801E9B4 .align 2, 0 -_0801E944: .4byte gUnknown_824F050 +_0801E944: .4byte gTypeEffectiveness _0801E948: adds r3, 0x3 b _0801E9B0 _0801E94C: - ldr r5, _0801EA84 @ =gUnknown_824F050 + ldr r5, _0801EA84 @ =gTypeEffectiveness adds r0, r3, r5 ldrb r0, [r0] cmp r0, r8 @@ -2272,7 +2272,7 @@ _0801E9A8: adds r3, 0x3 ldr r5, _0801EA88 @ =gBattleMons ldr r4, _0801EA8C @ =gBattlerTarget - ldr r2, _0801EA84 @ =gUnknown_824F050 + ldr r2, _0801EA84 @ =gTypeEffectiveness _0801E9B0: adds r0, r3, r2 ldrb r0, [r0] @@ -2339,7 +2339,7 @@ _0801EA10: orrs r0, r4 mov r1, r8 strb r0, [r1] - ldr r1, _0801EAA4 @ =gUnknown_2023DA0 + ldr r1, _0801EAA4 @ =gLastLandedMoves ldrb r0, [r5] lsls r0, 1 adds r0, r1 @@ -2384,7 +2384,7 @@ _0801EA70: pop {r0} bx r0 .align 2, 0 -_0801EA84: .4byte gUnknown_824F050 +_0801EA84: .4byte gTypeEffectiveness _0801EA88: .4byte gBattleMons _0801EA8C: .4byte gBattlerTarget _0801EA90: .4byte gBattlerAttacker @@ -2392,7 +2392,7 @@ _0801EA94: .4byte gCurrentMove _0801EA98: .4byte gMoveResultFlags _0801EA9C: .4byte gBattleMoves _0801EAA0: .4byte gLastUsedAbility -_0801EAA4: .4byte gUnknown_2023DA0 +_0801EAA4: .4byte gLastLandedMoves _0801EAA8: .4byte gUnknown_2023DA8 _0801EAAC: .4byte gBattleCommunication _0801EAB0: .4byte gProtectStructs @@ -2473,13 +2473,13 @@ _0801EB40: .4byte gBattlerTarget _0801EB44: .4byte gLastUsedAbility _0801EB48: .4byte gBattleCommunication _0801EB4C: - ldr r1, _0801EB58 @ =gUnknown_824F050 + ldr r1, _0801EB58 @ =gTypeEffectiveness adds r0, r5, r1 ldrb r0, [r0] adds r4, r1, 0 b _0801EC9E .align 2, 0 -_0801EB58: .4byte gUnknown_824F050 +_0801EB58: .4byte gTypeEffectiveness _0801EB5C: adds r0, r5, r4 ldrb r0, [r0] @@ -2919,7 +2919,7 @@ _0801EE94: .4byte gBattleMoves _0801EE98: .4byte gBattleMons _0801EE9C: .4byte gBattleMoveDamage _0801EEA0: - ldr r1, _0801EEBC @ =gUnknown_824F050 + ldr r1, _0801EEBC @ =gTypeEffectiveness mov r2, r8 adds r0, r2, r1 ldrb r0, [r0] @@ -2934,13 +2934,13 @@ _0801EEA0: adds r0, r3, 0 b _0801EF3E .align 2, 0 -_0801EEBC: .4byte gUnknown_824F050 +_0801EEBC: .4byte gTypeEffectiveness _0801EEC0: movs r0, 0x3 add r8, r0 b _0801EF28 _0801EEC6: - ldr r7, _0801EFC0 @ =gUnknown_824F050 + ldr r7, _0801EFC0 @ =gTypeEffectiveness mov r1, r8 adds r0, r1, r7 ldrb r0, [r0] @@ -2988,7 +2988,7 @@ _0801EF20: movs r1, 0x3 add r8, r1 ldr r5, _0801EFC4 @ =gBattleMons - ldr r2, _0801EFC0 @ =gUnknown_824F050 + ldr r2, _0801EFC0 @ =gTypeEffectiveness _0801EF28: mov r3, r8 adds r0, r3, r2 @@ -3070,7 +3070,7 @@ _0801EFAE: pop {r1} bx r1 .align 2, 0 -_0801EFC0: .4byte gUnknown_824F050 +_0801EFC0: .4byte gTypeEffectiveness _0801EFC4: .4byte gBattleMons _0801EFC8: .4byte gBattleMoves thumb_func_end TypeCalc @@ -3129,7 +3129,7 @@ _0801F00C: .align 2, 0 _0801F030: .4byte gBattleMoves _0801F034: - ldr r0, _0801F0C0 @ =gUnknown_824F050 + ldr r0, _0801F0C0 @ =gTypeEffectiveness adds r1, r7, r0 ldrb r0, [r1] cmp r0, 0xFF @@ -3160,7 +3160,7 @@ _0801F05A: _0801F06C: adds r4, 0x3 adds r7, 0x3 - ldr r1, _0801F0C0 @ =gUnknown_824F050 + ldr r1, _0801F0C0 @ =gTypeEffectiveness adds r0, r7, r1 ldrb r0, [r0] cmp r0, 0xFF @@ -3205,7 +3205,7 @@ _0801F0B0: pop {r1} bx r1 .align 2, 0 -_0801F0C0: .4byte gUnknown_824F050 +_0801F0C0: .4byte gTypeEffectiveness _0801F0C4: .4byte gBattleMoves thumb_func_end AI_TypeCalc @@ -12325,7 +12325,7 @@ _08023966: ands r1, r0 cmp r1, 0 bne _08023984 - ldr r0, _080239C4 @ =gUnknown_2023DC0 + ldr r0, _080239C4 @ =gLastHitBy adds r0, r3, r0 mov r3, r9 ldrb r1, [r3] @@ -12348,7 +12348,7 @@ _08023984: ldr r0, _080239B8 @ =0x0000ffff cmp r3, r0 bne _080239D4 - ldr r1, _080239D0 @ =gUnknown_2023DA0 + ldr r1, _080239D0 @ =gLastLandedMoves ldrb r0, [r2] lsls r0, 1 adds r0, r1 @@ -12359,12 +12359,12 @@ _080239B4: .4byte gLastMoves _080239B8: .4byte 0x0000ffff _080239BC: .4byte gUnknown_2023DB0 _080239C0: .4byte gBattlerTarget -_080239C4: .4byte gUnknown_2023DC0 +_080239C4: .4byte gLastHitBy _080239C8: .4byte gMoveResultFlags _080239CC: .4byte gChosenMove -_080239D0: .4byte gUnknown_2023DA0 +_080239D0: .4byte gLastLandedMoves _080239D4: - ldr r0, _080239F8 @ =gUnknown_2023DA0 + ldr r0, _080239F8 @ =gLastLandedMoves ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -12383,7 +12383,7 @@ _080239D4: ands r0, r3 b _08023A2A .align 2, 0 -_080239F8: .4byte gUnknown_2023DA0 +_080239F8: .4byte gLastLandedMoves _080239FC: .4byte gCurrentMove _08023A00: .4byte gUnknown_2023DA8 _08023A04: @@ -12402,7 +12402,7 @@ _08023A04: .align 2, 0 _08023A1C: .4byte gUnknown_2023DA8 _08023A20: - ldr r0, _08023A38 @ =gUnknown_2023DA0 + ldr r0, _08023A38 @ =gLastLandedMoves ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -12416,7 +12416,7 @@ _08023A2C: strb r0, [r4, 0x14] b _08023BB4 .align 2, 0 -_08023A38: .4byte gUnknown_2023DA0 +_08023A38: .4byte gLastLandedMoves _08023A3C: .4byte 0x0000ffff _08023A40: ldr r0, _08023B04 @ =gAbsentBattlerFlags @@ -12699,7 +12699,7 @@ atk4A_typecalc2: @ 8023C38 movs r1, 0x9 orrs r0, r1 strb r0, [r2] - ldr r1, _08023CB4 @ =gUnknown_2023DA0 + ldr r1, _08023CB4 @ =gLastLandedMoves ldrb r0, [r7] lsls r0, 1 adds r0, r1 @@ -12718,7 +12718,7 @@ _08023CA4: .4byte gBattleMons _08023CA8: .4byte gBattlerTarget _08023CAC: .4byte gLastUsedAbility _08023CB0: .4byte gMoveResultFlags -_08023CB4: .4byte gUnknown_2023DA0 +_08023CB4: .4byte gLastLandedMoves _08023CB8: .4byte gBattleCommunication _08023CBC: ldr r0, _08023CC8 @ =gMoveResultFlags @@ -12730,13 +12730,13 @@ _08023CBC: .align 2, 0 _08023CC8: .4byte gMoveResultFlags _08023CCC: - ldr r1, _08023CD8 @ =gUnknown_824F050 + ldr r1, _08023CD8 @ =gTypeEffectiveness adds r0, r5, r1 ldrb r0, [r0] adds r6, r1, 0 b _08023D8E .align 2, 0 -_08023CD8: .4byte gUnknown_824F050 +_08023CD8: .4byte gTypeEffectiveness _08023CDC: adds r0, r5, r6 ldrb r0, [r0] @@ -12899,7 +12899,7 @@ _08023DF0: movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _08023E78 @ =gUnknown_2023DA0 + ldr r1, _08023E78 @ =gLastLandedMoves mov r2, r8 ldrb r0, [r2] lsls r0, 1 @@ -12945,7 +12945,7 @@ _08023E68: .4byte gCurrentMove _08023E6C: .4byte gBattleMoves _08023E70: .4byte gLastUsedAbility _08023E74: .4byte gMoveResultFlags -_08023E78: .4byte gUnknown_2023DA0 +_08023E78: .4byte gLastLandedMoves _08023E7C: .4byte gBattleCommunication _08023E80: .4byte gProtectStructs _08023E84: .4byte gBattlescriptCurrInstr @@ -24813,7 +24813,7 @@ atkA6_settypetorandomresistance: @ 8029DAC mov r6, r9 mov r5, r8 push {r5-r7} - ldr r1, _08029E14 @ =gUnknown_2023DA0 + ldr r1, _08029E14 @ =gLastLandedMoves ldr r4, _08029E18 @ =gBattlerAttacker ldrb r0, [r4] lsls r0, 1 @@ -24830,7 +24830,7 @@ atkA6_settypetorandomresistance: @ 8029DAC cmp r0, 0 beq _08029E94 ldr r1, _08029E20 @ =gBattleMons - ldr r2, _08029E24 @ =gUnknown_2023DC0 + ldr r2, _08029E24 @ =gLastHitBy ldrb r0, [r4] adds r0, r2 ldrb r2, [r0] @@ -24860,11 +24860,11 @@ _08029DF6: str r1, [r3] b _08029F80 .align 2, 0 -_08029E14: .4byte gUnknown_2023DA0 +_08029E14: .4byte gLastLandedMoves _08029E18: .4byte gBattlerAttacker _08029E1C: .4byte 0x0000ffff _08029E20: .4byte gBattleMons -_08029E24: .4byte gUnknown_2023DC0 +_08029E24: .4byte gLastHitBy _08029E28: .4byte gBattlescriptCurrInstr _08029E2C: mov r0, r12 @@ -24931,7 +24931,7 @@ _08029E9C: bhi _08029E9C lsls r0, r4, 1 adds r4, r0, r4 - ldr r6, _08029F90 @ =gUnknown_824F050 + ldr r6, _08029F90 @ =gTypeEffectiveness adds r3, r4, r6 ldr r1, _08029F94 @ =gUnknown_2023DA8 ldr r2, _08029F98 @ =gBattlerAttacker @@ -24979,7 +24979,7 @@ _08029EF8: mov r8, r0 ldr r1, _08029FA4 @ =gBattlescriptCurrInstr mov r12, r1 - ldr r3, _08029F90 @ =gUnknown_824F050 + ldr r3, _08029F90 @ =gTypeEffectiveness adds r0, r4, 0x1 adds r0, r3 mov r9, r0 @@ -25050,7 +25050,7 @@ _08029F80: pop {r0} bx r0 .align 2, 0 -_08029F90: .4byte gUnknown_824F050 +_08029F90: .4byte gTypeEffectiveness _08029F94: .4byte gUnknown_2023DA8 _08029F98: .4byte gBattlerAttacker _08029F9C: .4byte gBattleMons -- cgit v1.2.3 From 5f6a55e4fda5d038b3864b23136eb7cd9a8bdbcf Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Thu, 22 Aug 2019 14:21:56 +0800 Subject: battle_controller_link_opponent --- asm/battle_script_commands.s | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 3155a9a5d..4bc9cd976 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -13395,7 +13395,7 @@ _08024204: _08024228: movs r5, 0 ldrb r0, [r4] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r0, 24 lsrs r0, 24 bl GetLinkTrainerFlankId @@ -21517,7 +21517,7 @@ _08028336: movs r7, 0 movs r6, 0 ldrb r0, [r5] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r0, 24 lsrs r0, 24 bl GetLinkTrainerFlankId @@ -21662,7 +21662,7 @@ _08028458: lsrs r6, r0, 24 ldr r0, _08028490 @ =gBattlerTarget ldrb r0, [r0] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r0, 24 lsrs r0, 24 bl GetLinkTrainerFlankId -- cgit v1.2.3 From 3459fbb9a39d267c4d566e80cbab9a1d334135ab Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 23 Aug 2019 15:54:19 +0800 Subject: battle_script_commands data decomp --- asm/battle_script_commands.s | 462 +++++++++++++++++++++---------------------- 1 file changed, 231 insertions(+), 231 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 4bc9cd976..a7a115c1f 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -783,8 +783,8 @@ _0801DDBA: bx r1 thumb_func_end AccuracyCalcHelper - thumb_func_start sub_801DDC4 -sub_801DDC4: @ 801DDC4 + thumb_func_start atk01_accuracycheck +atk01_accuracycheck: @ 801DDC4 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1074,7 +1074,7 @@ _0801DFC0: movs r0, 0x32 mov r8, r0 _0801E012: - ldr r1, _0801E108 @ =gUnknown_82504FC + ldr r1, _0801E108 @ =sAccuracyStageRatios lsls r0, r5, 24 asrs r0, 22 adds r0, r1 @@ -1191,7 +1191,7 @@ _0801E0D4: _0801E0FC: .4byte gBattlerAttacker _0801E100: .4byte gBattleMoves _0801E104: .4byte gBattleWeather -_0801E108: .4byte gUnknown_82504FC +_0801E108: .4byte sAccuracyStageRatios _0801E10C: .4byte gBattleMons _0801E110: .4byte gBattlerTarget _0801E114: .4byte gEnigmaBerries @@ -1286,7 +1286,7 @@ _0801E1C2: bx r0 .align 2, 0 _0801E1D4: .4byte gBattleCommunication - thumb_func_end sub_801DDC4 + thumb_func_end atk01_accuracycheck thumb_func_start atk02_attackstring atk02_attackstring: @ 801E1D8 @@ -1563,8 +1563,8 @@ _0801E400: .4byte 0xfffff7ff _0801E404: .4byte gBattlescriptCurrInstr thumb_func_end atk03_ppreduce - thumb_func_start sub_801E408 -sub_801E408: @ 801E408 + thumb_func_start atk04_critcalc +atk04_critcalc: @ 801E408 push {r4-r7,lr} ldr r1, _0801E42C @ =gBattleMons ldr r0, _0801E430 @ =gBattlerAttacker @@ -1714,7 +1714,7 @@ _0801E4F0: cmp r0, 0 bne _0801E580 bl Random - ldr r2, _0801E578 @ =gUnknown_8250530 + ldr r2, _0801E578 @ =sCriticalHitChance lsls r1, r5, 1 adds r1, r2 lsls r0, 16 @@ -1748,7 +1748,7 @@ _0801E55A: _0801E56C: .4byte gBattlerTarget _0801E570: .4byte gStatuses3 _0801E574: .4byte gBattleTypeFlags -_0801E578: .4byte gUnknown_8250530 +_0801E578: .4byte sCriticalHitChance _0801E57C: .4byte gCritMultiplier _0801E580: ldr r1, _0801E594 @ =gCritMultiplier @@ -1765,7 +1765,7 @@ _0801E584: .align 2, 0 _0801E594: .4byte gCritMultiplier _0801E598: .4byte gBattlescriptCurrInstr - thumb_func_end sub_801E408 + thumb_func_end atk04_critcalc thumb_func_start atk05_damagecalc atk05_damagecalc: @ 801E59C @@ -3788,8 +3788,8 @@ _0801F580: .4byte gBattlescriptCurrInstr _0801F584: .4byte gUnknown_81D89F1 thumb_func_end atk09_attackanimation - thumb_func_start sub_801F588 -sub_801F588: @ 801F588 + thumb_func_start atk0A_waitanimation +atk0A_waitanimation: @ 801F588 push {lr} ldr r0, _0801F5A0 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -3805,7 +3805,7 @@ _0801F59A: .align 2, 0 _0801F5A0: .4byte gBattleControllerExecFlags _0801F5A4: .4byte gBattlescriptCurrInstr - thumb_func_end sub_801F588 + thumb_func_end atk0A_waitanimation thumb_func_start atk0B_healthbarupdate atk0B_healthbarupdate: @ 801F5A8 @@ -4979,8 +4979,8 @@ _0801FEE0: .4byte gActiveBattler _0801FEE4: .4byte gBattlerAttacker thumb_func_end atk14_printselectionstringfromtable - thumb_func_start BankGetTurnOrder -BankGetTurnOrder: @ 801FEE8 + thumb_func_start GetBattlerTurnOrderNum +GetBattlerTurnOrderNum: @ 801FEE8 push {r4,lr} lsls r0, 24 lsrs r2, r0, 24 @@ -5010,7 +5010,7 @@ _0801FF0E: .align 2, 0 _0801FF18: .4byte gBattlersCount _0801FF1C: .4byte gBattlerByTurnOrder - thumb_func_end BankGetTurnOrder + thumb_func_end GetBattlerTurnOrderNum thumb_func_start SetMoveEffect SetMoveEffect: @ 801FF20 @@ -5180,7 +5180,7 @@ _08020068: bls _08020074 b _080206A2 _08020074: - ldr r1, _080200B8 @ =gUnknown_825053C + ldr r1, _080200B8 @ =sStatusFlagsForMoveEffects ldrb r0, [r6, 0x3] lsls r0, 2 adds r0, r1 @@ -5208,7 +5208,7 @@ _080200A8: .4byte gBattleMons _080200AC: .4byte gHitMarker _080200B0: .4byte gBattleCommunication _080200B4: .4byte gSideStatuses -_080200B8: .4byte gUnknown_825053C +_080200B8: .4byte sStatusFlagsForMoveEffects _080200BC: cmp r0, 0x40 bne _080200C2 @@ -5838,7 +5838,7 @@ _08020578: ldr r0, [r0] adds r0, 0x1 bl BattleScriptPush - ldr r1, _080205BC @ =gUnknown_825053C + ldr r1, _080205BC @ =sStatusFlagsForMoveEffects ldr r0, _080205C0 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -5864,7 +5864,7 @@ _08020578: .align 2, 0 _080205B4: .4byte gMoveResultFlags _080205B8: .4byte gBattlescriptCurrInstr -_080205BC: .4byte gUnknown_825053C +_080205BC: .4byte sStatusFlagsForMoveEffects _080205C0: .4byte gBattleCommunication _080205C4: .4byte gBattleMons _080205C8: .4byte gEffectBattler @@ -5881,7 +5881,7 @@ _080205CC: str r0, [r1] _080205E0: ldr r2, _08020638 @ =gBattlescriptCurrInstr - ldr r1, _0802063C @ =gUnknown_825062C + ldr r1, _0802063C @ =sMoveEffectBS_Ptrs ldr r5, _08020640 @ =gBattleCommunication ldrb r0, [r5, 0x3] lsls r0, 2 @@ -5922,7 +5922,7 @@ _080205E0: _08020630: .4byte gBattleMons _08020634: .4byte gEffectBattler _08020638: .4byte gBattlescriptCurrInstr -_0802063C: .4byte gUnknown_825062C +_0802063C: .4byte sMoveEffectBS_Ptrs _08020640: .4byte gBattleCommunication _08020644: .4byte gActiveBattler _08020648: .4byte gUnknown_2023C30 @@ -5973,7 +5973,7 @@ _080206A2: mov r0, r8 adds r0, 0x50 adds r1, r0 - ldr r2, _080206DC @ =gUnknown_825053C + ldr r2, _080206DC @ =sStatusFlagsForMoveEffects ldrb r3, [r6, 0x3] lsls r0, r3, 2 adds r0, r2 @@ -5995,7 +5995,7 @@ _080206D0: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080206DC: .4byte gUnknown_825053C +_080206DC: .4byte sStatusFlagsForMoveEffects _080206E0: .4byte _080206E4 .align 2, 0 _080206E4: @@ -6095,7 +6095,7 @@ _080207E6: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020824 @ =gUnknown_825062C + ldr r1, _08020824 @ =sMoveEffectBS_Ptrs ldr r0, _08020828 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6104,7 +6104,7 @@ _080207E6: bl _08021108 .align 2, 0 _08020820: .4byte gBattlescriptCurrInstr -_08020824: .4byte gUnknown_825062C +_08020824: .4byte sMoveEffectBS_Ptrs _08020828: .4byte gBattleCommunication _0802082C: mov r0, r9 @@ -6139,7 +6139,7 @@ _08020868: .4byte gBattlescriptCurrInstr _0802086C: .4byte gUnknown_81D9452 _08020870: adds r0, r2, 0 - bl BankGetTurnOrder + bl GetBattlerTurnOrderNum ldr r1, _080208AC @ =gUnknown_2023BE2 lsls r0, 24 lsrs r0, 24 @@ -6155,7 +6155,7 @@ _08020886: mov r0, r8 adds r0, 0x50 adds r2, r0 - ldr r1, _080208B0 @ =gUnknown_825053C + ldr r1, _080208B0 @ =sStatusFlagsForMoveEffects ldr r0, _080208B4 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6167,7 +6167,7 @@ _08020886: bl _080210EC .align 2, 0 _080208AC: .4byte gUnknown_2023BE2 -_080208B0: .4byte gUnknown_825053C +_080208B0: .4byte sStatusFlagsForMoveEffects _080208B4: .4byte gBattleCommunication _080208B8: mov r3, r9 @@ -6212,7 +6212,7 @@ _080208D4: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _0802092C @ =gUnknown_825062C + ldr r1, _0802092C @ =sMoveEffectBS_Ptrs ldr r0, _08020930 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6223,7 +6223,7 @@ _080208D4: _08020920: .4byte gUnknown_2023DB8 _08020924: .4byte gCurrentMove _08020928: .4byte gBattlescriptCurrInstr -_0802092C: .4byte gUnknown_825062C +_0802092C: .4byte sMoveEffectBS_Ptrs _08020930: .4byte gBattleCommunication _08020934: ldr r5, _08020984 @ =gBattlerAttacker @@ -6258,7 +6258,7 @@ _0802096C: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020998 @ =gUnknown_825062C + ldr r1, _08020998 @ =sMoveEffectBS_Ptrs ldr r0, _0802099C @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6271,7 +6271,7 @@ _08020988: .4byte gUnknown_2023E7E _0802098C: .4byte gBattleMons _08020990: .4byte 0x0000ffff _08020994: .4byte gBattlescriptCurrInstr -_08020998: .4byte gUnknown_825062C +_08020998: .4byte sMoveEffectBS_Ptrs _0802099C: .4byte gBattleCommunication _080209A0: mov r4, r9 @@ -6390,7 +6390,7 @@ _08020A3C: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020AE0 @ =gUnknown_825062C + ldr r1, _08020AE0 @ =sMoveEffectBS_Ptrs ldr r2, _08020AE4 @ =gBattleCommunication ldrb r0, [r2, 0x3] lsls r0, 2 @@ -6430,7 +6430,7 @@ _08020AD0: .4byte gBattleStruct _08020AD4: .4byte gCurrentMove _08020AD8: .4byte gBattlerAttacker _08020ADC: .4byte gBattlescriptCurrInstr -_08020AE0: .4byte gUnknown_825062C +_08020AE0: .4byte sMoveEffectBS_Ptrs _08020AE4: .4byte gBattleCommunication _08020AE8: .4byte gUnknown_83FE664 _08020AEC: @@ -6452,7 +6452,7 @@ _08020B04: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020B28 @ =gUnknown_825062C + ldr r1, _08020B28 @ =sMoveEffectBS_Ptrs ldr r0, _08020B2C @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6463,7 +6463,7 @@ _08020B04: _08020B1C: .4byte gBattleMoveDamage _08020B20: .4byte gUnknown_2023D54 _08020B24: .4byte gBattlescriptCurrInstr -_08020B28: .4byte gUnknown_825062C +_08020B28: .4byte sMoveEffectBS_Ptrs _08020B2C: .4byte gBattleCommunication _08020B30: ldrb r1, [r6, 0x3] @@ -6993,7 +6993,7 @@ _08020F8E: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020FB4 @ =gUnknown_825062C + ldr r1, _08020FB4 @ =sMoveEffectBS_Ptrs ldr r0, _08020FB8 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -7004,7 +7004,7 @@ _08020F8E: _08020FA8: .4byte gBattleMoveDamage _08020FAC: .4byte gUnknown_2023D54 _08020FB0: .4byte gBattlescriptCurrInstr -_08020FB4: .4byte gUnknown_825062C +_08020FB4: .4byte sMoveEffectBS_Ptrs _08020FB8: .4byte gBattleCommunication _08020FBC: mov r4, r9 @@ -7344,7 +7344,7 @@ _08021264: adds r1, 0x50 _0802126E: adds r2, r1 - ldr r1, _0802129C @ =gUnknown_825053C + ldr r1, _0802129C @ =sStatusFlagsForMoveEffects ldrb r0, [r3, 0x3] lsls r0, 2 adds r0, r1 @@ -7365,7 +7365,7 @@ _0802126E: bx r0 .align 2, 0 _08021298: .4byte gBattleMons -_0802129C: .4byte gUnknown_825053C +_0802129C: .4byte sStatusFlagsForMoveEffects _080212A0: .4byte gBattleCommunication _080212A4: .4byte gBattlescriptCurrInstr _080212A8: .4byte gBattleScripting @@ -7723,8 +7723,8 @@ _08021592: bx r0 thumb_func_end atk19_tryfaintmon - thumb_func_start atk1A_faint_animation -atk1A_faint_animation: @ 80215A0 + thumb_func_start atk1A_dofaintanimation +atk1A_dofaintanimation: @ 80215A0 push {r4,r5,lr} ldr r0, _080215D0 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -7751,10 +7751,10 @@ _080215CA: _080215D0: .4byte gBattleControllerExecFlags _080215D4: .4byte gBattlescriptCurrInstr _080215D8: .4byte gActiveBattler - thumb_func_end atk1A_faint_animation + thumb_func_end atk1A_dofaintanimation - thumb_func_start atk1B_faint_effects_clear -atk1B_faint_effects_clear: @ 80215DC + thumb_func_start atk1B_cleareffectsonfaint +atk1B_cleareffectsonfaint: @ 80215DC push {r4-r6,lr} sub sp, 0x4 ldr r0, _08021630 @ =gBattleControllerExecFlags @@ -7799,7 +7799,7 @@ _08021630: .4byte gBattleControllerExecFlags _08021634: .4byte gBattlescriptCurrInstr _08021638: .4byte gActiveBattler _0802163C: .4byte gBattleMons - thumb_func_end atk1B_faint_effects_clear + thumb_func_end atk1B_cleareffectsonfaint thumb_func_start atk1C_jumpifstatus atk1C_jumpifstatus: @ 8021640 @@ -8347,8 +8347,8 @@ _08021A60: bx r0 thumb_func_end atk22_jumpiftype - thumb_func_start sub_8021A68 -sub_8021A68: @ 8021A68 + thumb_func_start atk23_getexp +atk23_getexp: @ 8021A68 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -9476,10 +9476,10 @@ _080223E8: .4byte gBattleControllerExecFlags _080223EC: .4byte gBattleMons _080223F0: .4byte gBattlerFainted _080223F4: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8021A68 + thumb_func_end atk23_getexp - thumb_func_start sub_80223F8 -sub_80223F8: @ 80223F8 + thumb_func_start atk24 +atk24: @ 80223F8 push {r4-r7,lr} mov r7, r8 push {r7} @@ -9691,7 +9691,7 @@ _0802258A: bx r0 .align 2, 0 _08022594: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80223F8 + thumb_func_end atk24 thumb_func_start MoveValuesCleanUp MoveValuesCleanUp: @ 8022598 @@ -10641,8 +10641,8 @@ _08022C40: .4byte gBattlescriptCurrInstr _08022C44: .4byte gUnknown_2023E7C thumb_func_end atk39_pause - thumb_func_start sub_8022C48 -sub_8022C48: @ 8022C48 + thumb_func_start atk3A_waitstate +atk3A_waitstate: @ 8022C48 push {lr} ldr r0, _08022C60 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -10658,7 +10658,7 @@ _08022C5A: .align 2, 0 _08022C60: .4byte gBattleControllerExecFlags _08022C64: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8022C48 + thumb_func_end atk3A_waitstate thumb_func_start atk3B_healthbar_update atk3B_healthbar_update: @ 8022C68 @@ -10905,8 +10905,8 @@ _08022E2C: .4byte gBattlerAttacker _08022E30: .4byte gBattleStruct thumb_func_end atk44_endselectionscript - thumb_func_start sub_8022E34 -sub_8022E34: @ 8022E34 + thumb_func_start atk45_playanimation +atk45_playanimation: @ 8022E34 push {r4-r6,lr} ldr r4, _08022E84 @ =gBattlescriptCurrInstr ldr r0, [r4] @@ -10998,7 +10998,7 @@ _08022EEC: pop {r4-r6} pop {r0} bx r0 - thumb_func_end sub_8022E34 + thumb_func_end atk45_playanimation thumb_func_start atk46_playanimation2 atk46_playanimation2: @ 8022EF4 @@ -13042,8 +13042,8 @@ _08023F40: .4byte gBattleStruct _08023F44: .4byte gBitTable thumb_func_end atk4C_getswitchedmondata - thumb_func_start sub_8023F48 -sub_8023F48: @ 8023F48 + thumb_func_start atk4D_switchindataupdate +atk4D_switchindataupdate: @ 8023F48 push {r4-r7,lr} sub sp, 0x58 ldr r0, _080240A0 @ =gBattleControllerExecFlags @@ -13231,10 +13231,10 @@ _080240C4: .4byte gBattleMoves _080240C8: .4byte gCurrentMove _080240CC: .4byte gBattleScripting _080240D0: .4byte gBattleTextBuff1 - thumb_func_end sub_8023F48 + thumb_func_end atk4D_switchindataupdate - thumb_func_start sub_80240D4 -sub_80240D4: @ 80240D4 + thumb_func_start atk4E_switchinanim +atk4E_switchinanim: @ 80240D4 push {r4-r6,lr} ldr r0, _08024168 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -13314,10 +13314,10 @@ _0802417C: .4byte gBattleMons _08024180: .4byte gAbsentBattlerFlags _08024184: .4byte gBitTable _08024188: .4byte gBattlerPartyIndexes - thumb_func_end sub_80240D4 + thumb_func_end atk4E_switchinanim - thumb_func_start sub_802418C -sub_802418C: @ 802418C + thumb_func_start atk4F_jumpifcantswitch +atk4F_jumpifcantswitch: @ 802418C push {r4-r7,lr} mov r7, r8 push {r7} @@ -13573,7 +13573,7 @@ _08024388: bx r0 .align 2, 0 _08024394: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802418C + thumb_func_end atk4F_jumpifcantswitch thumb_func_start sub_8024398 sub_8024398: @ 8024398 @@ -13616,8 +13616,8 @@ _080243E4: .4byte gBattleStruct _080243E8: .4byte gBattlerPartyIndexes thumb_func_end sub_8024398 - thumb_func_start sub_80243EC -sub_80243EC: @ 80243EC + thumb_func_start atk50_openpartyscreen +atk50_openpartyscreen: @ 80243EC push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -14618,10 +14618,10 @@ _08024C2E: _08024C3C: .4byte gActiveBattler _08024C40: .4byte gAbsentBattlerFlags _08024C44: .4byte gBitTable - thumb_func_end sub_80243EC + thumb_func_end atk50_openpartyscreen - thumb_func_start sub_8024C48 -sub_8024C48: @ 8024C48 + thumb_func_start atk51_switchhandleorder +atk51_switchhandleorder: @ 8024C48 push {r4-r7,lr} ldr r0, _08024C74 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -14866,10 +14866,10 @@ _08024E28: .4byte gBattleTextBuff2 _08024E2C: .4byte gActiveBattler _08024E30: .4byte gBattleBufferB _08024E34: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8024C48 + thumb_func_end atk51_switchhandleorder - thumb_func_start sub_8024E38 -sub_8024E38: @ 8024E38 + thumb_func_start atk52_switchineffects +atk52_switchineffects: @ 8024E38 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -15186,10 +15186,10 @@ _080250C6: .align 2, 0 _080250D4: .4byte gBattlersCount _080250D8: .4byte gAbsentBattlerFlags - thumb_func_end sub_8024E38 + thumb_func_end atk52_switchineffects - thumb_func_start atk53_trainer_slide -atk53_trainer_slide: @ 80250DC + thumb_func_start atk53_trainerslidein +atk53_trainerslidein: @ 80250DC push {lr} ldr r0, _080250EC @ =gBattlescriptCurrInstr ldr r0, [r0] @@ -15220,7 +15220,7 @@ _080250F2: .align 2, 0 _08025114: .4byte gActiveBattler _08025118: .4byte gBattlescriptCurrInstr - thumb_func_end atk53_trainer_slide + thumb_func_end atk53_trainerslidein thumb_func_start atk54_playse atk54_playse: @ 802511C @@ -15251,8 +15251,8 @@ _08025150: .4byte gBattlerAttacker _08025154: .4byte gBattlescriptCurrInstr thumb_func_end atk54_playse - thumb_func_start atk55_play_sound -atk55_play_sound: @ 8025158 + thumb_func_start atk55_fanfare +atk55_fanfare: @ 8025158 push {r4,r5,lr} ldr r5, _08025188 @ =gActiveBattler ldr r0, _0802518C @ =gBattlerAttacker @@ -15278,7 +15278,7 @@ atk55_play_sound: @ 8025158 _08025188: .4byte gActiveBattler _0802518C: .4byte gBattlerAttacker _08025190: .4byte gBattlescriptCurrInstr - thumb_func_end atk55_play_sound + thumb_func_end atk55_fanfare thumb_func_start atk56_playfaintcry atk56_playfaintcry: @ 8025194 @@ -15516,8 +15516,8 @@ _08025374: .4byte gBattleTypeFlags _08025378: .4byte gBattlescriptCurrInstr thumb_func_end atk59_handlelearnnewmove - thumb_func_start sub_802537C -sub_802537C: @ 802537C + thumb_func_start atk5A_yesnoboxlearnmove +atk5A_yesnoboxlearnmove: @ 802537C push {r4-r7,lr} mov r7, r8 push {r7} @@ -15556,7 +15556,7 @@ _080253C4: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r0, _080253F0 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow @@ -15566,7 +15566,7 @@ _080253C4: strb r0, [r1, 0x1F] ldr r0, _080253F8 @ =gBattleCommunication strb r4, [r0, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt b _080256D0 .align 2, 0 _080253F0: .4byte gUnknown_83FE791 @@ -15585,10 +15585,10 @@ _080253FC: beq _08025422 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025422: ldr r0, _08025484 @ =gMain ldrh r1, [r0, 0x2E] @@ -15602,10 +15602,10 @@ _08025422: bne _08025448 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0x1 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025448: ldr r0, _08025484 @ =gMain ldrh r1, [r0, 0x2E] @@ -15625,7 +15625,7 @@ _08025448: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow movs r0, 0x1 negs r0, r0 str r4, [sp] @@ -15888,7 +15888,7 @@ _080256A4: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r1, _080256C0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 @@ -15912,10 +15912,10 @@ _080256D0: bx r0 .align 2, 0 _080256DC: .4byte gBattleControllerExecFlags - thumb_func_end sub_802537C + thumb_func_end atk5A_yesnoboxlearnmove - thumb_func_start sub_80256E0 -sub_80256E0: @ 80256E0 + thumb_func_start atk5B_yesnoboxstoplearningmove +atk5B_yesnoboxstoplearningmove: @ 80256E0 push {r4,r5,lr} sub sp, 0x4 ldr r5, _080256F4 @ =gBattleScripting @@ -15933,7 +15933,7 @@ _080256F8: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r0, _08025720 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow @@ -15942,7 +15942,7 @@ _080256F8: strb r0, [r5, 0x1F] ldr r0, _08025724 @ =gBattleCommunication strb r4, [r0, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt b _0802580E .align 2, 0 _08025720: .4byte gUnknown_83FE791 @@ -15960,10 +15960,10 @@ _08025728: beq _0802574E movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _0802574E: ldr r0, _080257AC @ =gMain ldrh r1, [r0, 0x2E] @@ -15977,10 +15977,10 @@ _0802574E: bne _08025774 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0x1 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025774: ldr r0, _080257AC @ =gMain ldrh r1, [r0, 0x2E] @@ -16025,7 +16025,7 @@ _080257C0: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow b _0802580E .align 2, 0 _080257D4: .4byte gBattlescriptCurrInstr @@ -16054,7 +16054,7 @@ _080257D8: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow _0802580E: add sp, 0x4 pop {r4,r5} @@ -16062,10 +16062,10 @@ _0802580E: bx r0 .align 2, 0 _08025818: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80256E0 + thumb_func_end atk5B_yesnoboxstoplearningmove - thumb_func_start sub_802581C -sub_802581C: @ 802581C + thumb_func_start atk5C_hitanimation +atk5C_hitanimation: @ 802581C push {r4,lr} ldr r4, _08025888 @ =gBattlescriptCurrInstr ldr r0, [r4] @@ -16132,10 +16132,10 @@ _080258A6: pop {r4} pop {r0} bx r0 - thumb_func_end sub_802581C + thumb_func_end atk5C_hitanimation - thumb_func_start sub_80258AC -sub_80258AC: @ 80258AC + thumb_func_start atk5D_getmoneyreward +atk5D_getmoneyreward: @ 80258AC push {r4-r7,lr} mov r7, r8 push {r7} @@ -16364,7 +16364,7 @@ _08025A62: bx r0 .align 2, 0 _08025A6C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80258AC + thumb_func_end atk5D_getmoneyreward thumb_func_start atk5E atk5E: @ 8025A70 @@ -16456,8 +16456,8 @@ _08025B1C: .4byte gUnknown_20233C8 _08025B20: .4byte gUnknown_2023C08 thumb_func_end atk5E - thumb_func_start atk5F -atk5F: @ 8025B24 + thumb_func_start atk5F_swapattackerwithtarget +atk5F_swapattackerwithtarget: @ 8025B24 push {lr} ldr r0, _08025B4C @ =gActiveBattler ldr r2, _08025B50 @ =gBattlerAttacker @@ -16496,7 +16496,7 @@ _08025B62: bx r0 .align 2, 0 _08025B70: .4byte gBattlescriptCurrInstr - thumb_func_end atk5F + thumb_func_end atk5F_swapattackerwithtarget thumb_func_start atk60_incrementgamestat atk60_incrementgamestat: @ 8025B74 @@ -16619,8 +16619,8 @@ _08025C64: .4byte gActiveBattler _08025C68: .4byte gBattlescriptCurrInstr thumb_func_end atk61_drawpartystatussummary - thumb_func_start atk62 -atk62: @ 8025C6C + thumb_func_start atk62_hidepartystatussummary +atk62_hidepartystatussummary: @ 8025C6C push {r4,r5,lr} ldr r5, _08025C94 @ =gBattlescriptCurrInstr ldr r0, [r5] @@ -16641,10 +16641,10 @@ atk62: @ 8025C6C .align 2, 0 _08025C94: .4byte gBattlescriptCurrInstr _08025C98: .4byte gActiveBattler - thumb_func_end atk62 + thumb_func_end atk62_hidepartystatussummary - thumb_func_start atk63_jumptorandomattack -atk63_jumptorandomattack: @ 8025C9C + thumb_func_start atk63_jumptocalledmove +atk63_jumptocalledmove: @ 8025C9C push {r4,lr} ldr r0, _08025CB4 @ =gBattlescriptCurrInstr ldr r1, [r0] @@ -16691,7 +16691,7 @@ _08025CF0: .4byte gCurrentMove _08025CF4: .4byte gCalledMove _08025CF8: .4byte gUnknown_81D65A8 _08025CFC: .4byte gBattleMoves - thumb_func_end atk63_jumptorandomattack + thumb_func_end atk63_jumptocalledmove thumb_func_start atk64_statusanimation atk64_statusanimation: @ 8025D00 @@ -16929,7 +16929,7 @@ _08025EE4: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r0, _08025F08 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow @@ -16937,7 +16937,7 @@ _08025EE4: adds r0, 0x1 strb r0, [r5] strb r4, [r5, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt b _08025F9A .align 2, 0 _08025F08: .4byte gUnknown_83FE791 @@ -16953,10 +16953,10 @@ _08025F0C: beq _08025F30 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0 strb r0, [r5, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025F30: ldr r0, _08025F6C @ =gMain ldrh r1, [r0, 0x2E] @@ -16970,10 +16970,10 @@ _08025F30: bne _08025F56 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0x1 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025F56: ldr r0, _08025F6C @ =gMain ldrh r1, [r0, 0x2E] @@ -17002,7 +17002,7 @@ _08025F7E: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r1, _08025FA4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 @@ -17415,7 +17415,7 @@ _080262B0: movs r1, 0x7 movs r2, 0x1D movs r3, 0x13 - bl sub_802DB7C + bl HandleBattleWindow ldr r1, _08026300 @ =gBattleScripting movs r0, 0x4 strb r0, [r1, 0x1E] @@ -17425,7 +17425,7 @@ _080262F8: .4byte gBattle_BG1_X _080262FC: .4byte gBattle_BG1_Y _08026300: .4byte gBattleScripting _08026304: - bl sub_8026404 + bl DrawLevelUpWindow1 movs r0, 0xC bl PutWindowTilemap movs r0, 0xC @@ -17450,7 +17450,7 @@ _08026330: beq _080263F6 movs r0, 0x5 bl PlaySE - bl sub_8026448 + bl DrawLevelUpWindow2 movs r0, 0xC movs r1, 0x2 bl CopyWindowToVram @@ -17470,7 +17470,7 @@ _08026350: movs r1, 0x7 movs r2, 0x1D movs r3, 0x13 - bl sub_802DB7C + bl HandleBattleWindow _0802636E: ldr r1, _0802637C @ =gBattleScripting ldrb r0, [r1, 0x1E] @@ -17537,8 +17537,8 @@ _080263F6: _08026400: .4byte gBattlescriptCurrInstr thumb_func_end atk6C_drawlvlupbox - thumb_func_start sub_8026404 -sub_8026404: @ 8026404 + thumb_func_start DrawLevelUpWindow1 +DrawLevelUpWindow1: @ 8026404 push {lr} sub sp, 0x14 ldr r0, _0802643C @ =gBattleStruct @@ -17568,10 +17568,10 @@ sub_8026404: @ 8026404 _0802643C: .4byte gBattleStruct _08026440: .4byte gPlayerParty _08026444: .4byte gBattleResources - thumb_func_end sub_8026404 + thumb_func_end DrawLevelUpWindow1 - thumb_func_start sub_8026448 -sub_8026448: @ 8026448 + thumb_func_start DrawLevelUpWindow2 +DrawLevelUpWindow2: @ 8026448 push {lr} sub sp, 0x10 ldr r0, _08026478 @ =gBattleStruct @@ -17596,7 +17596,7 @@ sub_8026448: @ 8026448 .align 2, 0 _08026478: .4byte gBattleStruct _0802647C: .4byte gPlayerParty - thumb_func_end sub_8026448 + thumb_func_end DrawLevelUpWindow2 thumb_func_start sub_8026480 sub_8026480: @ 8026480 @@ -17915,7 +17915,7 @@ PutMonIconOnLvlUpBox: @ 8026688 bl LoadSpriteSheet adds r0, r4, 0 bl LoadSpritePalette - ldr r0, _08026748 @ =gUnknown_82507C8 + ldr r0, _08026748 @ =sSpriteTemplate_MonIconOnLvlUpBox movs r1, 0x80 lsls r1, 1 movs r2, 0xA @@ -17946,7 +17946,7 @@ _08026738: .4byte 0xffff0000 _0802673C: .4byte 0x0000ffff _08026740: .4byte 0xd75a0000 _08026744: .4byte 0x0000d75a -_08026748: .4byte gUnknown_82507C8 +_08026748: .4byte sSpriteTemplate_MonIconOnLvlUpBox _0802674C: .4byte gSprites _08026750: .4byte gBattle_BG2_X thumb_func_end PutMonIconOnLvlUpBox @@ -18397,8 +18397,8 @@ _08026AA8: .4byte gLastUsedItem _08026AAC: .4byte gBattlescriptCurrInstr thumb_func_end atk75_useitemonopponent - thumb_func_start sub_8026AB0 -sub_8026AB0: @ 8026AB0 + thumb_func_start atk76_various +atk76_various: @ 8026AB0 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -18973,7 +18973,7 @@ _08026F56: bx r0 .align 2, 0 _08026F64: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8026AB0 + thumb_func_end atk76_various thumb_func_start atk77_setprotectlike atk77_setprotectlike: @ 8026F68 @@ -19011,7 +19011,7 @@ _08026F98: bne _08026FA8 movs r6, 0 _08026FA8: - ldr r2, _08027048 @ =gUnknown_82507E0 + ldr r2, _08027048 @ =sProtectSuccessRates mov r5, r8 ldrb r1, [r5] lsls r0, r1, 3 @@ -19087,7 +19087,7 @@ _08027038: .4byte gBattlerAttacker _0802703C: .4byte gDisableStructs _08027040: .4byte gUnknown_2023BE2 _08027044: .4byte gBattlersCount -_08027048: .4byte gUnknown_82507E0 +_08027048: .4byte sProtectSuccessRates _0802704C: .4byte gBattleMoves _08027050: .4byte gCurrentMove _08027054: .4byte gProtectStructs @@ -21485,8 +21485,8 @@ _08028304: .4byte gBattlescriptCurrInstr _08028308: .4byte gUnknown_81D8C10 thumb_func_end TryDoForceSwitchOut - thumb_func_start sub_802830C -sub_802830C: @ 802830C + thumb_func_start atk8F_forcerandomswitch +atk8F_forcerandomswitch: @ 802830C push {r4-r7,lr} mov r7, r8 push {r7} @@ -21846,7 +21846,7 @@ _080285F8: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_802830C + thumb_func_end atk8F_forcerandomswitch thumb_func_start atk90_tryconversiontypechange atk90_tryconversiontypechange: @ 8028604 @@ -22718,8 +22718,8 @@ _08028CE8: .4byte gWishFutureKnock _08028CEC: .4byte gBattlescriptCurrInstr thumb_func_end atk95_setsandstorm - thumb_func_start sub_8028CF0 -sub_8028CF0: @ 8028CF0 + thumb_func_start atk96_weatherdamage +atk96_weatherdamage: @ 8028CF0 push {r4,r5,lr} sub sp, 0x4 ldr r0, _08028DBC @ =gBattleTypeFlags @@ -22923,10 +22923,10 @@ _08028E80: .4byte gBattlerAttacker _08028E84: .4byte gAbsentBattlerFlags _08028E88: .4byte gBitTable _08028E8C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028CF0 + thumb_func_end atk96_weatherdamage - thumb_func_start sub_8028E90 -sub_8028E90: @ 8028E90 + thumb_func_start atk97_tryinfatuating +atk97_tryinfatuating: @ 8028E90 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -23126,10 +23126,10 @@ _0802902C: _0802903C: .4byte gBitTable _08029040: .4byte gBattlerAttacker _08029044: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028E90 + thumb_func_end atk97_tryinfatuating - thumb_func_start sub_8029048 -sub_8029048: @ 8029048 + thumb_func_start atk98_updatestatusicon +atk98_updatestatusicon: @ 8029048 push {r4-r7,lr} ldr r0, _080290B8 @ =gBattleControllerExecFlags ldr r1, [r0] @@ -23307,7 +23307,7 @@ _080291C0: .align 2, 0 _080291C8: .4byte gActiveBattler _080291CC: .4byte gBattleMons - thumb_func_end sub_8029048 + thumb_func_end atk98_updatestatusicon thumb_func_start atk99_setmist atk99_setmist: @ 80291D0 @@ -23738,7 +23738,7 @@ IsMoveUncopyableByMimic: @ 8029530 lsls r0, 16 lsrs r2, r0, 16 movs r3, 0 - ldr r0, _08029570 @ =gUnknown_82507E8 + ldr r0, _08029570 @ =sMovesForbiddenToCopy ldrh r1, [r0] ldr r4, _08029574 @ =0x0000fffe adds r5, r0, 0 @@ -23768,7 +23768,7 @@ _08029558: pop {r1} bx r1 .align 2, 0 -_08029570: .4byte gUnknown_82507E8 +_08029570: .4byte sMovesForbiddenToCopy _08029574: .4byte 0x0000fffe thumb_func_end IsMoveUncopyableByMimic @@ -24013,7 +24013,7 @@ atk9E_metronome: @ 8029754 ldr r7, _080297D4 @ =gCurrentMove movs r6, 0xB1 lsls r6, 1 - ldr r5, _080297D8 @ =gUnknown_82507E8 + ldr r5, _080297D8 @ =sMovesForbiddenToCopy ldr r0, _080297DC @ =gBattlescriptCurrInstr mov r8, r0 _08029766: @@ -24075,7 +24075,7 @@ _08029794: bx r0 .align 2, 0 _080297D4: .4byte gCurrentMove -_080297D8: .4byte gUnknown_82507E8 +_080297D8: .4byte sMovesForbiddenToCopy _080297DC: .4byte gBattlescriptCurrInstr _080297E0: .4byte 0x000001ff _080297E4: .4byte 0x0000ffff @@ -25703,7 +25703,7 @@ atkAC_remaininghptopower: @ 802A470 lsls r0, 24 lsrs r1, r0, 24 movs r3, 0 - ldr r0, _0802A4CC @ =gUnknown_8250810 + ldr r0, _0802A4CC @ =sFlailHpScaleToPowerTable ldrb r2, [r0] cmp r1, r2 ble _0802A4AA @@ -25718,7 +25718,7 @@ _0802A49C: bgt _0802A49C _0802A4AA: ldr r2, _0802A4D0 @ =gDynamicBasePower - ldr r1, _0802A4CC @ =gUnknown_8250810 + ldr r1, _0802A4CC @ =sFlailHpScaleToPowerTable adds r0, r3, 0x1 adds r0, r1 ldrb r0, [r0] @@ -25732,7 +25732,7 @@ _0802A4AA: .align 2, 0 _0802A4C4: .4byte gBattleMons _0802A4C8: .4byte gBattlerAttacker -_0802A4CC: .4byte gUnknown_8250810 +_0802A4CC: .4byte sFlailHpScaleToPowerTable _0802A4D0: .4byte gDynamicBasePower _0802A4D4: .4byte gBattlescriptCurrInstr thumb_func_end atkAC_remaininghptopower @@ -27948,8 +27948,8 @@ _0802B66A: _0802B674: .4byte gBattlescriptCurrInstr thumb_func_end atkC0_recoverbasedonsunlight - thumb_func_start sub_802B678 -sub_802B678: @ 802B678 + thumb_func_start atkC1_hiddenpowercalc +atkC1_hiddenpowercalc: @ 802B678 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -28071,7 +28071,7 @@ _0802B764: .4byte gBattlerAttacker _0802B768: .4byte gDynamicBasePower _0802B76C: .4byte gBattleStruct _0802B770: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802B678 + thumb_func_end atkC1_hiddenpowercalc thumb_func_start atkC2_selectfirstvalidtarget atkC2_selectfirstvalidtarget: @ 802B774 @@ -28921,7 +28921,7 @@ atkCC_callterrainattack: @ 802BE18 ands r0, r1 str r0, [r2] ldr r4, _0802BE70 @ =gCurrentMove - ldr r1, _0802BE74 @ =gUnknown_825081C + ldr r1, _0802BE74 @ =sNaturePowerMoves ldr r0, _0802BE78 @ =gUnknown_2022B50 ldrb r0, [r0] lsls r0, 1 @@ -28956,7 +28956,7 @@ atkCC_callterrainattack: @ 802BE18 _0802BE68: .4byte gHitMarker _0802BE6C: .4byte 0xfffffbff _0802BE70: .4byte gCurrentMove -_0802BE74: .4byte gUnknown_825081C +_0802BE74: .4byte sNaturePowerMoves _0802BE78: .4byte gUnknown_2022B50 _0802BE7C: .4byte gBattlerTarget _0802BE80: .4byte gUnknown_81D65A8 @@ -29269,8 +29269,8 @@ _0802C0D6: _0802C0DC: .4byte gBattlescriptCurrInstr thumb_func_end atkD1_trysethelpinghand - thumb_func_start sub_802C0E0 -sub_802C0E0: @ 802C0E0 + thumb_func_start atkD2_tryswapitems +atkD2_tryswapitems: @ 802C0E0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -29597,7 +29597,7 @@ _0802C37A: bx r0 .align 2, 0 _0802C38C: .4byte gBattleCommunication - thumb_func_end sub_802C0E0 + thumb_func_end atkD2_tryswapitems thumb_func_start atkD3_trycopyability atkD3_trycopyability: @ 802C390 @@ -30108,8 +30108,8 @@ _0802C762: _0802C768: .4byte gBattlescriptCurrInstr thumb_func_end atkDA_tryswapabilities - thumb_func_start atkDB_tryimprision -atkDB_tryimprision: @ 802C76C + thumb_func_start atkDB_tryimprison +atkDB_tryimprison: @ 802C76C push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -30246,7 +30246,7 @@ _0802C864: .4byte gBattlerAttacker _0802C868: .4byte gBattleMons _0802C86C: .4byte gBattlersCount _0802C870: .4byte gBattlescriptCurrInstr - thumb_func_end atkDB_tryimprision + thumb_func_end atkDB_tryimprison thumb_func_start atkDC_trysetgrudge atkDC_trysetgrudge: @ 802C874 @@ -30301,7 +30301,7 @@ atkDD_weightdamagecalculation: @ 802C8CC mov r7, r8 push {r7} movs r5, 0 - ldr r2, _0802C930 @ =gUnknown_8250830 + ldr r2, _0802C930 @ =sWeightToDamageTable ldrh r0, [r2] ldr r1, _0802C934 @ =0x0000ffff cmp r0, r1 @@ -30348,7 +30348,7 @@ _0802C916: strh r1, [r0] b _0802C94A .align 2, 0 -_0802C930: .4byte gUnknown_8250830 +_0802C930: .4byte sWeightToDamageTable _0802C934: .4byte 0x0000ffff _0802C938: .4byte gBattleMons _0802C93C: .4byte gBattlerTarget @@ -30372,8 +30372,8 @@ _0802C95C: .4byte gDynamicBasePower _0802C960: .4byte gBattlescriptCurrInstr thumb_func_end atkDD_weightdamagecalculation - thumb_func_start atkDE_asistattackselect -atkDE_asistattackselect: @ 802C964 + thumb_func_start atkDE_assistattackselect +atkDE_assistattackselect: @ 802C964 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -30450,7 +30450,7 @@ _0802C9E0: adds r1, r5, 0x1 cmp r0, 0 bne _0802CA36 - ldr r0, _0802CA9C @ =gUnknown_82507E8 + ldr r0, _0802CA9C @ =sMovesForbiddenToCopy ldrh r2, [r0] adds r3, r0, 0 cmp r2, r8 @@ -30525,7 +30525,7 @@ _0802CA8C: .4byte gPlayerParty _0802CA90: .4byte gEnemyParty _0802CA94: .4byte gBattlerPartyIndexes _0802CA98: .4byte 0x0000ffff -_0802CA9C: .4byte gUnknown_82507E8 +_0802CA9C: .4byte sMovesForbiddenToCopy _0802CAA0: .4byte gHitMarker _0802CAA4: .4byte 0xfffffbff _0802CAA8: .4byte gCalledMove @@ -30556,7 +30556,7 @@ _0802CACE: bx r0 .align 2, 0 _0802CAE0: .4byte gBattlescriptCurrInstr - thumb_func_end atkDE_asistattackselect + thumb_func_end atkDE_assistattackselect thumb_func_start atkDF_trysetmagiccoat atkDF_trysetmagiccoat: @ 802CAE4 @@ -30986,8 +30986,8 @@ _0802CE40: .4byte gBattleCommunication _0802CE44: .4byte gBattlescriptCurrInstr thumb_func_end atkE4_getsecretpowereffect - thumb_func_start sub_802CE48 -sub_802CE48: @ 802CE48 + thumb_func_start atkE5_pickup +atkE5_pickup: @ 802CE48 push {r4-r7,lr} mov r7, r8 push {r7} @@ -31058,10 +31058,10 @@ _0802CEA2: lsls r0, 16 lsrs r3, r0, 16 movs r2, 0 - ldr r1, _0802CEE4 @ =gUnknown_8250848 + ldr r1, _0802CEE4 @ =sPickupItems b _0802CEF0 .align 2, 0 -_0802CEE4: .4byte gUnknown_8250848 +_0802CEE4: .4byte sPickupItems _0802CEE8: adds r1, 0x4 adds r2, 0x1 @@ -31077,7 +31077,7 @@ _0802CEF6: ldr r1, _0802CF24 @ =gPlayerParty adds r0, r1 lsls r2, 2 - ldr r1, _0802CF28 @ =gUnknown_8250848 + ldr r1, _0802CF28 @ =sPickupItems adds r2, r1 movs r1, 0xC bl SetMonData @@ -31096,9 +31096,9 @@ _0802CF0A: bx r0 .align 2, 0 _0802CF24: .4byte gPlayerParty -_0802CF28: .4byte gUnknown_8250848 +_0802CF28: .4byte sPickupItems _0802CF2C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802CE48 + thumb_func_end atkE5_pickup thumb_func_start atkE6_docastformchangeanimation atkE6_docastformchangeanimation: @ 802CF30 @@ -31468,7 +31468,7 @@ atkEB_settypetoterrain: @ 802D1F0 movs r0, 0x21 adds r0, r3 mov r12, r0 - ldr r5, _0802D268 @ =gUnknown_8250888 + ldr r5, _0802D268 @ =sTerrainToType ldr r4, _0802D26C @ =gUnknown_2022B50 ldrb r0, [r4] adds r0, r5 @@ -31513,7 +31513,7 @@ atkEB_settypetoterrain: @ 802D1F0 .align 2, 0 _0802D260: .4byte gBattleMons _0802D264: .4byte gBattlerAttacker -_0802D268: .4byte gUnknown_8250888 +_0802D268: .4byte sTerrainToType _0802D26C: .4byte gUnknown_2022B50 _0802D270: .4byte gBattleTextBuff1 _0802D274: .4byte gBattlescriptCurrInstr @@ -31633,8 +31633,8 @@ _0802D35A: _0802D360: .4byte gBattlescriptCurrInstr thumb_func_end atkEC_pursuitrelated - thumb_func_start atkEF_snatchsetbanks -atkEF_snatchsetbanks: @ 802D364 + thumb_func_start atkED_snatchsetbattlers +atkED_snatchsetbattlers: @ 802D364 push {r4,lr} ldr r1, _0802D388 @ =gEffectBattler ldr r3, _0802D38C @ =gBattlerAttacker @@ -31674,7 +31674,7 @@ _0802D39E: .align 2, 0 _0802D3B0: .4byte gBattleScripting _0802D3B4: .4byte gBattlescriptCurrInstr - thumb_func_end atkEF_snatchsetbanks + thumb_func_end atkED_snatchsetbattlers thumb_func_start atkEE_removelightscreenreflect atkEE_removelightscreenreflect: @ 802D3B8 @@ -31738,8 +31738,8 @@ _0802D42C: .4byte gBattleScripting _0802D430: .4byte gBattlescriptCurrInstr thumb_func_end atkEE_removelightscreenreflect - thumb_func_start sub_802D434 -sub_802D434: @ 802D434 + thumb_func_start atkEF_handleballthrow +atkEF_handleballthrow: @ 802D434 push {r4-r6,lr} movs r4, 0 ldr r0, _0802D474 @ =gBattleControllerExecFlags @@ -31969,7 +31969,7 @@ _0802D608: .align 2, 0 _0802D61C: .4byte gBattleResults _0802D620: - ldr r1, _0802D694 @ =gUnknown_8250892 + ldr r1, _0802D694 @ =sBallCatchBonuses ldrh r0, [r2] subs r0, 0x2 adds r0, r1 @@ -32027,7 +32027,7 @@ _0802D67A: strb r1, [r0, 0x5] b _0802D6BC .align 2, 0 -_0802D694: .4byte gUnknown_8250892 +_0802D694: .4byte sBallCatchBonuses _0802D698: .4byte gBattleMons _0802D69C: .4byte gBattlerTarget _0802D6A0: .4byte gLastUsedItem @@ -32186,10 +32186,10 @@ _0802D7EE: _0802D7F4: .4byte gBattleCommunication _0802D7F8: .4byte gBattlescriptCurrInstr _0802D7FC: .4byte gUnknown_81D9A93 - thumb_func_end sub_802D434 + thumb_func_end atkEF_handleballthrow - thumb_func_start sub_802D800 -sub_802D800: @ 802D800 + thumb_func_start atkF0_givecaughtmon +atkF0_givecaughtmon: @ 802D800 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -32334,10 +32334,10 @@ _0802D94C: .4byte gBattlerAttacker _0802D950: .4byte gBattlerPartyIndexes _0802D954: .4byte gEnemyParty _0802D958: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802D800 + thumb_func_end atkF0_givecaughtmon - thumb_func_start sub_802D95C -sub_802D95C: @ 802D95C + thumb_func_start atkF1_trysetcaughtmondexflags +atkF1_trysetcaughtmondexflags: @ 802D95C push {r4,r5,lr} ldr r4, _0802D9AC @ =gEnemyParty adds r0, r4, 0 @@ -32395,10 +32395,10 @@ _0802D9CE: bx r0 .align 2, 0 _0802D9D4: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802D95C + thumb_func_end atkF1_trysetcaughtmondexflags - thumb_func_start sub_802D9D8 -sub_802D9D8: @ 802D9D8 + thumb_func_start atkF2_displaydexinfo +atkF2_displaydexinfo: @ 802D9D8 push {r4,r5,lr} sub sp, 0x18 ldr r0, _0802DA00 @ =gEnemyParty @@ -32585,10 +32585,10 @@ _0802DB6C: .align 2, 0 _0802DB74: .4byte gPaletteFade _0802DB78: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802D9D8 + thumb_func_end atkF2_displaydexinfo - thumb_func_start sub_802DB7C -sub_802DB7C: @ 802DB7C + thumb_func_start HandleBattleWindow +HandleBattleWindow: @ 802DB7C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -32754,10 +32754,10 @@ _0802DCA2: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_802DB7C + thumb_func_end HandleBattleWindow - thumb_func_start sub_802DCB8 -sub_802DCB8: @ 802DCB8 + thumb_func_start BattleCreateYesNoCursorAt +BattleCreateYesNoCursorAt: @ 802DCB8 push {lr} sub sp, 0x10 add r0, sp, 0xC @@ -32787,10 +32787,10 @@ sub_802DCB8: @ 802DCB8 bx r0 .align 2, 0 _0802DCF4: .4byte gBattleCommunication - thumb_func_end sub_802DCB8 + thumb_func_end BattleCreateYesNoCursorAt - thumb_func_start sub_802DCF8 -sub_802DCF8: @ 802DCF8 + thumb_func_start BattleDestroyYesNoCursorAt +BattleDestroyYesNoCursorAt: @ 802DCF8 push {lr} sub sp, 0x10 add r0, sp, 0xC @@ -32821,10 +32821,10 @@ sub_802DCF8: @ 802DCF8 bx r0 .align 2, 0 _0802DD34: .4byte gBattleCommunication - thumb_func_end sub_802DCF8 + thumb_func_end BattleDestroyYesNoCursorAt - thumb_func_start sub_802DD38 -sub_802DD38: @ 802DD38 + thumb_func_start atkF3_trygivecaughtmonnick +atkF3_trygivecaughtmonnick: @ 802DD38 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -32860,7 +32860,7 @@ _0802DD78: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r0, _0802DDA0 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow @@ -32869,7 +32869,7 @@ _0802DD78: adds r0, 0x1 strb r0, [r1] strb r4, [r1, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt b _0802DFA6 .align 2, 0 _0802DDA0: .4byte gUnknown_83FE791 @@ -32886,10 +32886,10 @@ _0802DDA8: beq _0802DDCC movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _0802DDCC: ldr r0, _0802DE1C @ =gMain ldrh r1, [r0, 0x2E] @@ -32903,10 +32903,10 @@ _0802DDCC: bne _0802DDF2 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0x1 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _0802DDF2: ldr r0, _0802DE1C @ =gMain ldrh r1, [r0, 0x2E] @@ -33118,7 +33118,7 @@ _0802DFA6: bx r0 .align 2, 0 _0802DFB8: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802DD38 + thumb_func_end atkF3_trygivecaughtmonnick thumb_func_start atkF4_subattackerhpbydmg atkF4_subattackerhpbydmg: @ 802DFBC @@ -33167,18 +33167,18 @@ _0802E00C: .4byte gBattlerAttacker _0802E010: .4byte gBattlescriptCurrInstr thumb_func_end atkF5_removeattackerstatus1 - thumb_func_start sub_802E014 -sub_802E014: @ 802E014 + thumb_func_start atkF6_finishaction +atkF6_finishaction: @ 802E014 ldr r1, _0802E01C @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] bx lr .align 2, 0 _0802E01C: .4byte gCurrentActionFuncId - thumb_func_end sub_802E014 + thumb_func_end atkF6_finishaction - thumb_func_start sub_802E020 -sub_802E020: @ 802E020 + thumb_func_start atkF7_finishturn +atkF7_finishturn: @ 802E020 ldr r1, _0802E030 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] @@ -33191,6 +33191,6 @@ sub_802E020: @ 802E020 _0802E030: .4byte gCurrentActionFuncId _0802E034: .4byte gUnknown_2023BE2 _0802E038: .4byte gBattlersCount - thumb_func_end sub_802E020 + thumb_func_end atkF7_finishturn .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From 29d7ae94dea8e35d098b60a786368f391324221e Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sat, 24 Aug 2019 09:22:38 +0800 Subject: battle_script_commands symbol documentation --- asm/battle_script_commands.s | 540 +++++++++++++++++++++---------------------- 1 file changed, 270 insertions(+), 270 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index a7a115c1f..6d797fe69 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -45,14 +45,14 @@ _0801D784: orrs r1, r0 str r1, [r2] ldr r1, _0801D7C0 @ =gBattlescriptCurrInstr - ldr r0, _0801D7C4 @ =gUnknown_81D694E + ldr r0, _0801D7C4 @ =BattleScript_MoveEnd b _0801DAFA .align 2, 0 _0801D7B4: .4byte gBattleMons _0801D7B8: .4byte gBattlerAttacker _0801D7BC: .4byte gHitMarker _0801D7C0: .4byte gBattlescriptCurrInstr -_0801D7C4: .4byte gUnknown_81D694E +_0801D7C4: .4byte BattleScript_MoveEnd _0801D7C8: bl AtkCanceller_UnableToUseMove lsls r0, 24 @@ -107,7 +107,7 @@ _0801D7EE: cmp r0, 0 bne _0801D86C ldr r1, _0801D860 @ =gBattlescriptCurrInstr - ldr r0, _0801D864 @ =gUnknown_81D8EA8 + ldr r0, _0801D864 @ =BattleScript_NoPPForMove str r0, [r1] ldr r2, _0801D868 @ =gMoveResultFlags ldrb r0, [r2] @@ -124,7 +124,7 @@ _0801D854: .4byte gHitMarker _0801D858: .4byte gCurrentMove _0801D85C: .4byte 0x00800200 _0801D860: .4byte gBattlescriptCurrInstr -_0801D864: .4byte gUnknown_81D8EA8 +_0801D864: .4byte BattleScript_NoPPForMove _0801D868: .4byte gMoveResultFlags _0801D86C: ldr r0, [r5] @@ -216,7 +216,7 @@ _0801D8C4: strb r0, [r1] bl BattleScriptPushCursor ldr r1, _0801D944 @ =gBattlescriptCurrInstr - ldr r0, _0801D948 @ =gUnknown_81D8FAA + ldr r0, _0801D948 @ =BattleScript_MagicCoatBounce b _0801DAFA .align 2, 0 _0801D928: .4byte gHitMarker @@ -227,7 +227,7 @@ _0801D938: .4byte gCurrentMove _0801D93C: .4byte gBattlerAttacker _0801D940: .4byte 0x00000115 _0801D944: .4byte gBattlescriptCurrInstr -_0801D948: .4byte gUnknown_81D8FAA +_0801D948: .4byte BattleScript_MagicCoatBounce _0801D94C: movs r2, 0 ldr r0, _0801D9C8 @ =gBattlersCount @@ -285,7 +285,7 @@ _0801D98E: strb r0, [r4] bl BattleScriptPushCursor ldr r1, _0801D9E4 @ =gBattlescriptCurrInstr - ldr r0, _0801D9E8 @ =gUnknown_81D938D + ldr r0, _0801D9E8 @ =BattleScript_TookAttack str r0, [r1] mov r1, r8 ldrb r0, [r1] @@ -301,7 +301,7 @@ _0801D9D8: .4byte gCurrentMove _0801D9DC: .4byte gSpecialStatuses _0801D9E0: .4byte gLastUsedAbility _0801D9E4: .4byte gBattlescriptCurrInstr -_0801D9E8: .4byte gUnknown_81D938D +_0801D9E8: .4byte BattleScript_TookAttack _0801D9EC: lsls r0, r2, 4 add r0, r9 @@ -377,7 +377,7 @@ _0801DA5E: adds r0, r1 movs r2, 0 strh r2, [r0] - ldr r1, _0801DAAC @ =gUnknown_2023DA8 + ldr r1, _0801DAAC @ =gLastHitByType ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -394,7 +394,7 @@ _0801DA9C: .4byte gBattlerAttacker _0801DAA0: .4byte gMoveResultFlags _0801DAA4: .4byte gLastLandedMoves _0801DAA8: .4byte gBattlerTarget -_0801DAAC: .4byte gUnknown_2023DA8 +_0801DAAC: .4byte gLastHitByType _0801DAB0: .4byte gBattleCommunication _0801DAB4: ldr r0, _0801DAE0 @ =gBattlerAttacker @@ -415,14 +415,14 @@ _0801DAB4: strb r0, [r1, 0x17] bl BattleScriptPushCursor ldr r1, _0801DAEC @ =gBattlescriptCurrInstr - ldr r0, _0801DAF0 @ =gUnknown_81D8FC2 + ldr r0, _0801DAF0 @ =BattleScript_SnatchedMove b _0801DAFA .align 2, 0 _0801DAE0: .4byte gBattlerAttacker _0801DAE4: .4byte 0x00000121 _0801DAE8: .4byte gBattleScripting _0801DAEC: .4byte gBattlescriptCurrInstr -_0801DAF0: .4byte gUnknown_81D8FC2 +_0801DAF0: .4byte BattleScript_SnatchedMove _0801DAF4: ldr r1, _0801DB0C @ =gBattlescriptCurrInstr ldr r0, [r1] @@ -465,7 +465,7 @@ JumpIfMoveFailed: @ 801DB10 adds r0, r1 movs r2, 0 strh r2, [r0] - ldr r1, _0801DB6C @ =gUnknown_2023DA8 + ldr r1, _0801DB6C @ =gLastHitByType ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -486,7 +486,7 @@ _0801DB5C: .4byte gBattlescriptCurrInstr _0801DB60: .4byte gMoveResultFlags _0801DB64: .4byte gLastLandedMoves _0801DB68: .4byte gBattlerTarget -_0801DB6C: .4byte gUnknown_2023DA8 +_0801DB6C: .4byte gLastHitByType _0801DB70: bl TrySetDestinyBondToHappen ldr r0, _0801DB98 @ =gBattlerTarget @@ -2188,7 +2188,7 @@ _0801E8C0: adds r0, r1 movs r2, 0 strh r2, [r0] - ldr r1, _0801E930 @ =gUnknown_2023DA8 + ldr r1, _0801E930 @ =gLastHitByType ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -2209,7 +2209,7 @@ _0801E920: .4byte gBattlerTarget _0801E924: .4byte gLastUsedAbility _0801E928: .4byte gMoveResultFlags _0801E92C: .4byte gLastLandedMoves -_0801E930: .4byte gUnknown_2023DA8 +_0801E930: .4byte gLastHitByType _0801E934: .4byte gBattleCommunication _0801E938: ldr r1, _0801E944 @ =gTypeEffectiveness @@ -2345,7 +2345,7 @@ _0801EA10: adds r0, r1 movs r2, 0 strh r2, [r0] - ldr r1, _0801EAA8 @ =gUnknown_2023DA8 + ldr r1, _0801EAA8 @ =gLastHitByType ldrb r0, [r5] lsls r0, 1 adds r0, r1 @@ -2393,7 +2393,7 @@ _0801EA98: .4byte gMoveResultFlags _0801EA9C: .4byte gBattleMoves _0801EAA0: .4byte gLastUsedAbility _0801EAA4: .4byte gLastLandedMoves -_0801EAA8: .4byte gUnknown_2023DA8 +_0801EAA8: .4byte gLastHitByType _0801EAAC: .4byte gBattleCommunication _0801EAB0: .4byte gProtectStructs _0801EAB4: .4byte gBattlescriptCurrInstr @@ -3662,7 +3662,7 @@ _0801F452: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _0801F498 @ =gUnknown_81D89F1 + ldr r0, _0801F498 @ =BattleScript_Pausex20 str r0, [r4] ldr r1, _0801F49C @ =gBattleScripting ldrb r0, [r1, 0x18] @@ -3677,7 +3677,7 @@ _0801F488: .4byte gBattleControllerExecFlags _0801F48C: .4byte gHitMarker _0801F490: .4byte gCurrentMove _0801F494: .4byte gBattlescriptCurrInstr -_0801F498: .4byte gUnknown_81D89F1 +_0801F498: .4byte BattleScript_Pausex20 _0801F49C: .4byte gBattleScripting _0801F4A0: ldr r2, _0801F53C @ =gBattleMoves @@ -3774,7 +3774,7 @@ _0801F564: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _0801F584 @ =gUnknown_81D89F1 + ldr r0, _0801F584 @ =BattleScript_Pausex20 str r0, [r4] _0801F572: add sp, 0xC @@ -3785,7 +3785,7 @@ _0801F572: bx r0 .align 2, 0 _0801F580: .4byte gBattlescriptCurrInstr -_0801F584: .4byte gUnknown_81D89F1 +_0801F584: .4byte BattleScript_Pausex20 thumb_func_end atk09_attackanimation thumb_func_start atk0A_waitanimation @@ -4012,7 +4012,7 @@ _0801F736: ldrb r0, [r1, 0xA] subs r0, r2 strb r0, [r1, 0xA] - ldr r1, _0801F778 @ =gUnknown_2023D54 + ldr r1, _0801F778 @ =gHpDealt ldr r0, [r6] str r0, [r1] b _0801F7AC @@ -4027,7 +4027,7 @@ _0801F768: .4byte gDisableStructs _0801F76C: .4byte gHitMarker _0801F770: .4byte gBattleMoveDamage _0801F774: .4byte gSpecialStatuses -_0801F778: .4byte gUnknown_2023D54 +_0801F778: .4byte gHpDealt _0801F77C: ldr r0, _0801F7D4 @ =gSpecialStatuses lsls r1, r2, 2 @@ -4040,7 +4040,7 @@ _0801F77C: bne _0801F790 str r5, [r1] _0801F790: - ldr r2, _0801F7D8 @ =gUnknown_2023D54 + ldr r2, _0801F7D8 @ =gHpDealt ldrb r1, [r7] lsls r0, r1, 3 subs r0, r1 @@ -4071,15 +4071,15 @@ _0801F7C0: adds r0, 0x2 str r0, [r4] bl BattleScriptPushCursor - ldr r0, _0801F7E4 @ =gUnknown_81D9526 + ldr r0, _0801F7E4 @ =BattleScript_SubstituteFade str r0, [r4] b _0801FA62 .align 2, 0 _0801F7D4: .4byte gSpecialStatuses -_0801F7D8: .4byte gUnknown_2023D54 +_0801F7D8: .4byte gHpDealt _0801F7DC: .4byte gActiveBattler _0801F7E0: .4byte gBattlescriptCurrInstr -_0801F7E4: .4byte gUnknown_81D9526 +_0801F7E4: .4byte BattleScript_SubstituteFade _0801F7E8: ldr r0, _0801F828 @ =gHitMarker ldr r2, [r0] @@ -4180,7 +4180,7 @@ _0801F8A0: ble _0801F8D0 subs r0, r1 strh r0, [r2, 0x28] - ldr r0, _0801F8CC @ =gUnknown_2023D54 + ldr r0, _0801F8CC @ =gHpDealt str r1, [r0] adds r7, r0, 0 b _0801F8E0 @@ -4188,9 +4188,9 @@ _0801F8A0: _0801F8C0: .4byte gTakenDmgByBattler _0801F8C4: .4byte gBattlerTarget _0801F8C8: .4byte gBattleMons -_0801F8CC: .4byte gUnknown_2023D54 +_0801F8CC: .4byte gHpDealt _0801F8D0: - ldr r2, _0801F954 @ =gUnknown_2023D54 + ldr r2, _0801F954 @ =gHpDealt str r0, [r2] ldrb r0, [r5] muls r0, r3 @@ -4259,7 +4259,7 @@ _0801F908: ldr r2, _0801F968 @ =gBattlerAttacker b _0801F974 .align 2, 0 -_0801F954: .4byte gUnknown_2023D54 +_0801F954: .4byte gHpDealt _0801F958: .4byte gSpecialStatuses _0801F95C: .4byte gCurrentMove _0801F960: .4byte gProtectStructs @@ -4576,7 +4576,7 @@ _0801FBAE: cmp r0, 0x2 bls _0801FBEC _0801FBCE: - ldr r1, _0801FBE8 @ =gUnknown_83FE514 + ldr r1, _0801FBE8 @ =gMissStringIds ldrb r0, [r7, 0x6] lsls r0, 1 adds r0, r1 @@ -4587,7 +4587,7 @@ _0801FBCE: _0801FBDC: .4byte gBattleControllerExecFlags _0801FBE0: .4byte gMoveResultFlags _0801FBE4: .4byte gBattleCommunication -_0801FBE8: .4byte gUnknown_83FE514 +_0801FBE8: .4byte gMissStringIds _0801FBEC: movs r0, 0x1 strb r0, [r7, 0x7] @@ -4653,7 +4653,7 @@ _0801FC38: strb r0, [r6] bl BattleScriptPushCursor ldr r1, _0801FC70 @ =gBattlescriptCurrInstr - ldr r0, _0801FC74 @ =gUnknown_81D9641 + ldr r0, _0801FC74 @ =BattleScript_HangedOnMsg b _0801FD3E .align 2, 0 _0801FC60: .4byte gLastUsedItem @@ -4661,7 +4661,7 @@ _0801FC64: .4byte gBattleMons _0801FC68: .4byte gBattlerTarget _0801FC6C: .4byte gPotentialItemEffectBattler _0801FC70: .4byte gBattlescriptCurrInstr -_0801FC74: .4byte gUnknown_81D9641 +_0801FC74: .4byte BattleScript_HangedOnMsg _0801FC78: adds r2, r6, 0 ldrb r5, [r2] @@ -4686,11 +4686,11 @@ _0801FC88: strb r0, [r2] bl BattleScriptPushCursor ldr r1, _0801FCA8 @ =gBattlescriptCurrInstr - ldr r0, _0801FCAC @ =gUnknown_81D8FE4 + ldr r0, _0801FCAC @ =BattleScript_OneHitKOMsg b _0801FD3E .align 2, 0 _0801FCA8: .4byte gBattlescriptCurrInstr -_0801FCAC: .4byte gUnknown_81D8FE4 +_0801FCAC: .4byte BattleScript_OneHitKOMsg _0801FCB0: movs r0, 0x40 ands r0, r5 @@ -4701,11 +4701,11 @@ _0801FCB0: strb r0, [r2] bl BattleScriptPushCursor ldr r1, _0801FCC8 @ =gBattlescriptCurrInstr - ldr r0, _0801FCCC @ =gUnknown_81D8FDD + ldr r0, _0801FCCC @ =BattleScript_EnduredMsg b _0801FD3E .align 2, 0 _0801FCC8: .4byte gBattlescriptCurrInstr -_0801FCCC: .4byte gUnknown_81D8FDD +_0801FCCC: .4byte BattleScript_EnduredMsg _0801FCD0: movs r0, 0x80 ands r0, r5 @@ -4728,7 +4728,7 @@ _0801FCD0: strb r0, [r6] bl BattleScriptPushCursor ldr r1, _0801FD10 @ =gBattlescriptCurrInstr - ldr r0, _0801FD14 @ =gUnknown_81D9641 + ldr r0, _0801FD14 @ =BattleScript_HangedOnMsg b _0801FD3E .align 2, 0 _0801FD00: .4byte gLastUsedItem @@ -4736,7 +4736,7 @@ _0801FD04: .4byte gBattleMons _0801FD08: .4byte gBattlerTarget _0801FD0C: .4byte gPotentialItemEffectBattler _0801FD10: .4byte gBattlescriptCurrInstr -_0801FD14: .4byte gUnknown_81D9641 +_0801FD14: .4byte BattleScript_HangedOnMsg _0801FD18: movs r0, 0x20 ands r0, r5 @@ -4865,7 +4865,7 @@ _0801FDFC: ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 - ldr r3, _0801FE2C @ =gUnknown_2023E7C + ldr r3, _0801FE2C @ =gPauseCounterBattle ldrh r0, [r3] adds r0, 0x1 strh r0, [r3] @@ -4884,7 +4884,7 @@ _0801FE22: bx r0 .align 2, 0 _0801FE28: .4byte gBattlescriptCurrInstr -_0801FE2C: .4byte gUnknown_2023E7C +_0801FE2C: .4byte gPauseCounterBattle thumb_func_end atk12_waitmessage thumb_func_start atk13_printfromtable @@ -5347,7 +5347,7 @@ _080201A6: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _080201DC @ =gUnknown_81D9438 + ldr r0, _080201DC @ =BattleScript_PSNPrevention _080201C0: str r0, [r4] ldr r2, _080201E0 @ =gHitMarker @@ -5363,7 +5363,7 @@ _080201D2: .align 2, 0 _080201D4: .4byte gLastUsedAbility _080201D8: .4byte gBattlescriptCurrInstr -_080201DC: .4byte gUnknown_81D9438 +_080201DC: .4byte BattleScript_PSNPrevention _080201E0: .4byte gHitMarker _080201E4: mov r1, r9 @@ -5470,12 +5470,12 @@ _0802028A: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _080202B0 @ =gUnknown_81D9420 + ldr r0, _080202B0 @ =BattleScript_BRNPrevention b _080201C0 .align 2, 0 _080202A8: .4byte gLastUsedAbility _080202AC: .4byte gBattlescriptCurrInstr -_080202B0: .4byte gUnknown_81D9420 +_080202B0: .4byte BattleScript_BRNPrevention _080202B4: mov r0, r9 ldrb r1, [r0] @@ -5510,12 +5510,12 @@ _080202EA: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020300 @ =gUnknown_81D9420 + ldr r0, _08020300 @ =BattleScript_BRNPrevention b _080204F4 .align 2, 0 _080202F8: .4byte gHitMarker _080202FC: .4byte gBattlescriptCurrInstr -_08020300: .4byte gUnknown_81D9420 +_08020300: .4byte BattleScript_BRNPrevention _08020304: mov r3, r9 ldrb r0, [r3] @@ -5661,12 +5661,12 @@ _08020402: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020428 @ =gUnknown_81D942C + ldr r0, _08020428 @ =BattleScript_PRLZPrevention b _080201C0 .align 2, 0 _08020420: .4byte gLastUsedAbility _08020424: .4byte gBattlescriptCurrInstr -_08020428: .4byte gUnknown_81D942C +_08020428: .4byte BattleScript_PRLZPrevention _0802042C: mov r0, r8 adds r0, 0x4C @@ -5704,7 +5704,7 @@ _0802045A: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _0802049C @ =gUnknown_81D9438 + ldr r0, _0802049C @ =BattleScript_PSNPrevention str r0, [r4] ldr r2, _080204A0 @ =gHitMarker ldr r1, [r2] @@ -5723,7 +5723,7 @@ _08020484: .align 2, 0 _08020494: .4byte gLastUsedAbility _08020498: .4byte gBattlescriptCurrInstr -_0802049C: .4byte gUnknown_81D9438 +_0802049C: .4byte BattleScript_PSNPrevention _080204A0: .4byte gHitMarker _080204A4: .4byte 0xffffdfff _080204A8: @@ -5765,7 +5765,7 @@ _080204E8: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020508 @ =gUnknown_81D9438 + ldr r0, _08020508 @ =BattleScript_PSNPrevention _080204F4: str r0, [r4] ldr r1, _0802050C @ =gBattleCommunication @@ -5775,7 +5775,7 @@ _080204F4: .align 2, 0 _08020500: .4byte gHitMarker _08020504: .4byte gBattlescriptCurrInstr -_08020508: .4byte gUnknown_81D9438 +_08020508: .4byte BattleScript_PSNPrevention _0802050C: .4byte gBattleCommunication _08020510: mov r3, r9 @@ -6130,17 +6130,17 @@ _0802084C: movs r1, 0x27 bl RecordAbilityBattle ldr r1, _08020868 @ =gBattlescriptCurrInstr - ldr r0, _0802086C @ =gUnknown_81D9452 + ldr r0, _0802086C @ =BattleScript_FlinchPrevention str r0, [r1] bl _0802110A .align 2, 0 _08020864: .4byte gLastUsedAbility _08020868: .4byte gBattlescriptCurrInstr -_0802086C: .4byte gUnknown_81D9452 +_0802086C: .4byte BattleScript_FlinchPrevention _08020870: adds r0, r2, 0 bl GetBattlerTurnOrderNum - ldr r1, _080208AC @ =gUnknown_2023BE2 + ldr r1, _080208AC @ =gCurrentTurnActionNumber lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -6166,7 +6166,7 @@ _08020886: str r1, [r2] bl _080210EC .align 2, 0 -_080208AC: .4byte gUnknown_2023BE2 +_080208AC: .4byte gCurrentTurnActionNumber _080208B0: .4byte sStatusFlagsForMoveEffects _080208B4: .4byte gBattleCommunication _080208B8: @@ -6188,7 +6188,7 @@ _080208D4: lsls r0, 5 orrs r1, r0 str r1, [r2] - ldr r1, _08020920 @ =gUnknown_2023DB8 + ldr r1, _08020920 @ =gLockedMoves ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -6220,7 +6220,7 @@ _080208D4: ldr r0, [r0] bl _08021108 .align 2, 0 -_08020920: .4byte gUnknown_2023DB8 +_08020920: .4byte gLockedMoves _08020924: .4byte gCurrentMove _08020928: .4byte gBattlescriptCurrInstr _0802092C: .4byte sMoveEffectBS_Ptrs @@ -6233,7 +6233,7 @@ _08020934: ands r1, r0 cmp r1, 0 bne _0802096C - ldr r4, _08020988 @ =gUnknown_2023E7E + ldr r4, _08020988 @ =gPaydayMoney ldrh r3, [r4] ldr r2, _0802098C @ =gBattleMons ldrb r1, [r5] @@ -6267,7 +6267,7 @@ _0802096C: b _08021108 .align 2, 0 _08020984: .4byte gBattlerAttacker -_08020988: .4byte gUnknown_2023E7E +_08020988: .4byte gPaydayMoney _0802098C: .4byte gBattleMons _08020990: .4byte 0x0000ffff _08020994: .4byte gBattlescriptCurrInstr @@ -6314,7 +6314,7 @@ _080209D8: lsls r1, 5 orrs r0, r1 str r0, [r2] - ldr r1, _08020A14 @ =gUnknown_2023DB8 + ldr r1, _08020A14 @ =gLockedMoves mov r2, r9 ldrb r0, [r2] lsls r0, 1 @@ -6332,7 +6332,7 @@ _080209D8: strb r0, [r1, 0x1] b _080210EC .align 2, 0 -_08020A14: .4byte gUnknown_2023DB8 +_08020A14: .4byte gLockedMoves _08020A18: .4byte gCurrentMove _08020A1C: .4byte gProtectStructs _08020A20: @@ -6398,7 +6398,7 @@ _08020A3C: ldr r0, [r0] str r0, [r4] strb r5, [r2, 0x5] - ldr r3, _08020AE8 @ =gUnknown_83FE664 + ldr r3, _08020AE8 @ =gTrappingMoves ldrh r0, [r3] ldrh r4, [r6] cmp r0, r4 @@ -6432,10 +6432,10 @@ _08020AD8: .4byte gBattlerAttacker _08020ADC: .4byte gBattlescriptCurrInstr _08020AE0: .4byte sMoveEffectBS_Ptrs _08020AE4: .4byte gBattleCommunication -_08020AE8: .4byte gUnknown_83FE664 +_08020AE8: .4byte gTrappingMoves _08020AEC: ldr r1, _08020B1C @ =gBattleMoveDamage - ldr r0, _08020B20 @ =gUnknown_2023D54 + ldr r0, _08020B20 @ =gHpDealt ldr r0, [r0] cmp r0, 0 bge _08020AF8 @@ -6461,7 +6461,7 @@ _08020B04: b _08021108 .align 2, 0 _08020B1C: .4byte gBattleMoveDamage -_08020B20: .4byte gUnknown_2023D54 +_08020B20: .4byte gHpDealt _08020B24: .4byte gBattlescriptCurrInstr _08020B28: .4byte sMoveEffectBS_Ptrs _08020B2C: .4byte gBattleCommunication @@ -6490,12 +6490,12 @@ _08020B4C: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020B70 @ =gUnknown_81D6BD1 + ldr r0, _08020B70 @ =BattleScript_StatUp b _08021108 .align 2, 0 _08020B68: .4byte gBattleScripting _08020B6C: .4byte gBattlescriptCurrInstr -_08020B70: .4byte gUnknown_81D6BD1 +_08020B70: .4byte BattleScript_StatUp _08020B74: movs r0, 0x70 negs r0, r0 @@ -6522,12 +6522,12 @@ _08020B92: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020BB4 @ =gUnknown_81D6C62 + ldr r0, _08020BB4 @ =BattleScript_StatDown b _08021108 .align 2, 0 _08020BAC: .4byte gBattleScripting _08020BB0: .4byte gBattlescriptCurrInstr -_08020BB4: .4byte gUnknown_81D6C62 +_08020BB4: .4byte BattleScript_StatDown _08020BB8: ldrb r1, [r6, 0x3] adds r1, 0xDA @@ -6553,12 +6553,12 @@ _08020BD4: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020BF8 @ =gUnknown_81D6BD1 + ldr r0, _08020BF8 @ =BattleScript_StatUp b _08021108 .align 2, 0 _08020BF0: .4byte gBattleScripting _08020BF4: .4byte gBattlescriptCurrInstr -_08020BF8: .4byte gUnknown_81D6BD1 +_08020BF8: .4byte BattleScript_StatUp _08020BFC: movs r0, 0x60 negs r0, r0 @@ -6585,12 +6585,12 @@ _08020C1A: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020C3C @ =gUnknown_81D6C62 + ldr r0, _08020C3C @ =BattleScript_StatDown b _08021108 .align 2, 0 _08020C34: .4byte gBattleScripting _08020C38: .4byte gBattlescriptCurrInstr -_08020C3C: .4byte gUnknown_81D6C62 +_08020C3C: .4byte BattleScript_StatDown _08020C40: mov r0, r9 ldrb r1, [r0] @@ -6614,7 +6614,7 @@ _08020C40: adds r0, r2 movs r1, 0x2 strb r1, [r0, 0x19] - ldr r1, _08020C80 @ =gUnknown_2023DB8 + ldr r1, _08020C80 @ =gLockedMoves ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -6624,7 +6624,7 @@ _08020C40: b _080210EC .align 2, 0 _08020C7C: .4byte gDisableStructs -_08020C80: .4byte gUnknown_2023DB8 +_08020C80: .4byte gLockedMoves _08020C84: .4byte gCurrentMove _08020C88: ldr r0, _08020CA4 @ =gBattlerAttacker @@ -6726,7 +6726,7 @@ _08020D26: cmp r0, 0x3C bne _08020D94 ldr r1, _08020D88 @ =gBattlescriptCurrInstr - ldr r0, _08020D8C @ =gUnknown_81D948E + ldr r0, _08020D8C @ =BattleScript_StickyHoldActivates str r0, [r1] ldr r1, _08020D90 @ =gLastUsedAbility ldrb r0, [r7] @@ -6750,7 +6750,7 @@ _08020D7C: .4byte gBattlerPartyIndexes _08020D80: .4byte gBattleMons _08020D84: .4byte gBattlerTarget _08020D88: .4byte gBattlescriptCurrInstr -_08020D8C: .4byte gUnknown_81D948E +_08020D8C: .4byte BattleScript_StickyHoldActivates _08020D90: .4byte gLastUsedAbility _08020D94: ldr r4, _08020E60 @ =gBattlerAttacker @@ -6838,7 +6838,7 @@ _08020DD4: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020E74 @ =gUnknown_81D9271 + ldr r0, _08020E74 @ =BattleScript_ItemSteal str r0, [r4] ldrb r0, [r7] ldr r1, [r5] @@ -6859,7 +6859,7 @@ _08020E64: .4byte gBattleStruct _08020E68: .4byte gLastUsedItem _08020E6C: .4byte gActiveBattler _08020E70: .4byte gBattlescriptCurrInstr -_08020E74: .4byte gUnknown_81D9271 +_08020E74: .4byte BattleScript_ItemSteal _08020E78: ldr r3, _08020EA8 @ =gBattlerTarget ldrb r1, [r3] @@ -6908,21 +6908,21 @@ _08020ED0: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020EE4 @ =gUnknown_81D8D55 + ldr r0, _08020EE4 @ =BattleScript_AllStatsUp b _08021108 .align 2, 0 _08020EE0: .4byte gBattlescriptCurrInstr -_08020EE4: .4byte gUnknown_81D8D55 +_08020EE4: .4byte BattleScript_AllStatsUp _08020EE8: ldr r4, _08020EF8 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020EFC @ =gUnknown_81D8DF1 + ldr r0, _08020EFC @ =BattleScript_RapidSpinAway b _08021108 .align 2, 0 _08020EF8: .4byte gBattlescriptCurrInstr -_08020EFC: .4byte gUnknown_81D8DF1 +_08020EFC: .4byte BattleScript_RapidSpinAway _08020F00: ldr r6, _08020F50 @ =gBattlerTarget ldrb r0, [r6] @@ -6960,26 +6960,26 @@ _08020F1A: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020F5C @ =gUnknown_81D9177 + ldr r0, _08020F5C @ =BattleScript_TargetPRLZHeal b _08021108 .align 2, 0 _08020F50: .4byte gBattlerTarget _08020F54: .4byte gActiveBattler _08020F58: .4byte gBattlescriptCurrInstr -_08020F5C: .4byte gUnknown_81D9177 +_08020F5C: .4byte BattleScript_TargetPRLZHeal _08020F60: ldr r4, _08020F70 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020F74 @ =gUnknown_81D8F35 + ldr r0, _08020F74 @ =BattleScript_AtkDefDown b _08021108 .align 2, 0 _08020F70: .4byte gBattlescriptCurrInstr -_08020F74: .4byte gUnknown_81D8F35 +_08020F74: .4byte BattleScript_AtkDefDown _08020F78: ldr r4, _08020FA8 @ =gBattleMoveDamage - ldr r0, _08020FAC @ =gUnknown_2023D54 + ldr r0, _08020FAC @ =gHpDealt ldr r0, [r0] movs r1, 0x3 bl __divsi3 @@ -7002,7 +7002,7 @@ _08020F8E: b _08021108 .align 2, 0 _08020FA8: .4byte gBattleMoveDamage -_08020FAC: .4byte gUnknown_2023D54 +_08020FAC: .4byte gHpDealt _08020FB0: .4byte gBattlescriptCurrInstr _08020FB4: .4byte sMoveEffectBS_Ptrs _08020FB8: .4byte gBattleCommunication @@ -7026,7 +7026,7 @@ _08020FD8: lsls r0, 5 orrs r1, r0 str r1, [r2] - ldr r1, _08021010 @ =gUnknown_2023DB8 + ldr r1, _08021010 @ =gLockedMoves mov r2, r9 ldrb r0, [r2] lsls r0, 1 @@ -7050,7 +7050,7 @@ _08021008: str r0, [r2] b _0802110A .align 2, 0 -_08021010: .4byte gUnknown_2023DB8 +_08021010: .4byte gLockedMoves _08021014: .4byte gCurrentMove _08021018: mov r5, r9 @@ -7071,7 +7071,7 @@ _08021018: ldr r0, _0802104C @ =gLastUsedAbility strb r2, [r0] ldr r1, _08021050 @ =gBattlescriptCurrInstr - ldr r0, _08021054 @ =gUnknown_81D948E + ldr r0, _08021054 @ =BattleScript_StickyHoldActivates str r0, [r1] ldrb r0, [r5] movs r1, 0x3C @@ -7080,7 +7080,7 @@ _08021018: .align 2, 0 _0802104C: .4byte gLastUsedAbility _08021050: .4byte gBattlescriptCurrInstr -_08021054: .4byte gUnknown_81D948E +_08021054: .4byte BattleScript_StickyHoldActivates _08021058: ldrh r0, [r1, 0x2E] cmp r0, 0 @@ -7122,7 +7122,7 @@ _08021058: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _080210E4 @ =gUnknown_81D8F86 + ldr r0, _080210E4 @ =BattleScript_KnockedOff str r0, [r4] mov r1, r9 ldrb r0, [r1] @@ -7146,7 +7146,7 @@ _080210D4: .4byte gWishFutureKnock _080210D8: .4byte gBitTable _080210DC: .4byte gBattlerPartyIndexes _080210E0: .4byte gBattlescriptCurrInstr -_080210E4: .4byte gUnknown_81D8F86 +_080210E4: .4byte BattleScript_KnockedOff _080210E8: .4byte gBattleStruct _080210EC: ldr r1, _080210F8 @ =gBattlescriptCurrInstr @@ -7161,7 +7161,7 @@ _080210FC: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08021120 @ =gUnknown_81D8FEB + ldr r0, _08021120 @ =BattleScript_SAtkDown2 _08021108: str r0, [r4] _0802110A: @@ -7175,7 +7175,7 @@ _0802110A: bx r0 .align 2, 0 _0802111C: .4byte gBattlescriptCurrInstr -_08021120: .4byte gUnknown_81D8FEB +_08021120: .4byte BattleScript_SAtkDown2 thumb_func_end SetMoveEffect thumb_func_start atk15_seteffectwithchance @@ -7443,13 +7443,13 @@ _08021330: ldr r0, _08021350 @ =gBattlerTarget ldrb r0, [r0] mov r9, r0 - ldr r4, _08021354 @ =gUnknown_81D8674 + ldr r4, _08021354 @ =BattleScript_FaintAttacker b _08021368 .align 2, 0 _08021348: .4byte gActiveBattler _0802134C: .4byte gBattlerAttacker _08021350: .4byte gBattlerTarget -_08021354: .4byte gUnknown_81D8674 +_08021354: .4byte BattleScript_FaintAttacker _08021358: ldr r1, _080213D0 @ =gActiveBattler ldr r0, _080213D4 @ =gBattlerTarget @@ -7458,7 +7458,7 @@ _08021358: ldr r0, _080213D8 @ =gBattlerAttacker ldrb r0, [r0] mov r9, r0 - ldr r4, _080213DC @ =gUnknown_81D8684 + ldr r4, _080213DC @ =BattleScript_FaintTarget _08021368: mov r8, r1 ldr r0, _080213E0 @ =gAbsentBattlerFlags @@ -7516,7 +7516,7 @@ _080213C8: _080213D0: .4byte gActiveBattler _080213D4: .4byte gBattlerTarget _080213D8: .4byte gBattlerAttacker -_080213DC: .4byte gUnknown_81D8684 +_080213DC: .4byte BattleScript_FaintTarget _080213E0: .4byte gAbsentBattlerFlags _080213E4: .4byte gBitTable _080213E8: .4byte gBattleMons @@ -7580,7 +7580,7 @@ _0802142C: adds r0, r6 ldrh r0, [r0, 0x28] str r0, [r1] - ldr r0, _08021570 @ =gUnknown_81D8C6C + ldr r0, _08021570 @ =BattleScript_DestinyBondTakesLife str r0, [r4] _0802146A: ldr r1, _08021574 @ =gStatuses3 @@ -7645,7 +7645,7 @@ _08021492: ldr r5, _08021568 @ =gBattlescriptCurrInstr ldr r0, [r5] bl BattleScriptPush - ldr r0, _08021580 @ =gUnknown_81D8FA3 + ldr r0, _08021580 @ =BattleScript_GrudgeTakesPp str r0, [r5] ldr r5, _08021584 @ =gActiveBattler mov r1, r8 @@ -7702,11 +7702,11 @@ _08021560: .4byte gHitMarker _08021564: .4byte gBattleMons _08021568: .4byte gBattlescriptCurrInstr _0802156C: .4byte gBattleMoveDamage -_08021570: .4byte gUnknown_81D8C6C +_08021570: .4byte BattleScript_DestinyBondTakesLife _08021574: .4byte gStatuses3 _08021578: .4byte gBattlerTarget _0802157C: .4byte gCurrentMove -_08021580: .4byte gUnknown_81D8FA3 +_08021580: .4byte BattleScript_GrudgeTakesPp _08021584: .4byte gActiveBattler _08021588: .4byte gBattleTextBuff1 _0802158C: @@ -8538,7 +8538,7 @@ _08021BC2: movs r0, 0x1 strh r0, [r1] _08021C0E: - ldr r5, _08021C34 @ =gUnknown_2023F52 + ldr r5, _08021C34 @ =gExpShareExp adds r0, r4, 0 adds r1, r6, 0 bl __divsi3 @@ -8553,7 +8553,7 @@ _08021C0E: _08021C28: .4byte gBaseStats _08021C2C: .4byte gBattleMons _08021C30: .4byte gBattlerFainted -_08021C34: .4byte gUnknown_2023F52 +_08021C34: .4byte gExpShareExp _08021C38: adds r0, r1, 0 adds r1, r5, 0 @@ -8566,7 +8566,7 @@ _08021C38: movs r0, 0x1 strh r0, [r2] _08021C4E: - ldr r0, _08021C9C @ =gUnknown_2023F52 + ldr r0, _08021C9C @ =gExpShareExp strh r6, [r0] _08021C52: ldr r1, _08021CA0 @ =gBattleScripting @@ -8608,7 +8608,7 @@ _08021C74: ldrb r4, [r0] b _08021CC0 .align 2, 0 -_08021C9C: .4byte gUnknown_2023F52 +_08021C9C: .4byte gExpShareExp _08021CA0: .4byte gBattleScripting _08021CA4: .4byte gBattleStruct _08021CA8: .4byte gBattleControllerExecFlags @@ -8730,7 +8730,7 @@ _08021DA4: _08021DAA: cmp r4, 0x19 bne _08021DBA - ldr r0, _08021E2C @ =gUnknown_2023F52 + ldr r0, _08021E2C @ =gExpShareExp ldrh r1, [r0] mov r2, r9 ldr r0, [r2] @@ -8791,7 +8791,7 @@ _08021DEA: b _08021E42 .align 2, 0 _08021E28: .4byte gBattleMoveDamage -_08021E2C: .4byte gUnknown_2023F52 +_08021E2C: .4byte gExpShareExp _08021E30: .4byte gBattleTypeFlags _08021E34: .4byte gBattleStruct _08021E38: .4byte gPlayerParty @@ -9149,7 +9149,7 @@ _080220DA: negs r0, r0 strb r0, [r4, 0x5] bl BattleScriptPushCursor - ldr r2, _08022338 @ =gUnknown_3004FD4 + ldr r2, _08022338 @ =gLeveledUpInBattle ldr r1, _0802233C @ =gBitTable mov r4, r9 ldr r5, [r4] @@ -9161,7 +9161,7 @@ _080220DA: orrs r0, r1 strb r0, [r2] ldr r1, _08022340 @ =gBattlescriptCurrInstr - ldr r0, _08022344 @ =gUnknown_81D89F5 + ldr r0, _08022344 @ =BattleScript_LevelUp str r0, [r1] ldr r4, _08022348 @ =gBattleMoveDamage ldr r2, _08022320 @ =gBattleBufferB @@ -9388,10 +9388,10 @@ _08022328: .4byte gBattlerPartyIndexes _0802232C: .4byte gPlayerParty _08022330: .4byte gBattleTextBuff1 _08022334: .4byte gBattleTextBuff2 -_08022338: .4byte gUnknown_3004FD4 +_08022338: .4byte gLeveledUpInBattle _0802233C: .4byte gBitTable _08022340: .4byte gBattlescriptCurrInstr -_08022344: .4byte gUnknown_81D89F5 +_08022344: .4byte BattleScript_LevelUp _08022348: .4byte gBattleMoveDamage _0802234C: .4byte gBattleMons _08022350: @@ -9740,7 +9740,7 @@ _080225EC: .4byte gBattlescriptCurrInstr thumb_func_start atk26_setmultihit atk26_setmultihit: @ 80225F0 - ldr r3, _08022600 @ =gUnknown_2023D72 + ldr r3, _08022600 @ =gMultiHitCounter ldr r2, _08022604 @ =gBattlescriptCurrInstr ldr r0, [r2] ldrb r1, [r0, 0x1] @@ -9749,14 +9749,14 @@ atk26_setmultihit: @ 80225F0 str r0, [r2] bx lr .align 2, 0 -_08022600: .4byte gUnknown_2023D72 +_08022600: .4byte gMultiHitCounter _08022604: .4byte gBattlescriptCurrInstr thumb_func_end atk26_setmultihit thumb_func_start atk27_decrementmultihit atk27_decrementmultihit: @ 8022608 push {lr} - ldr r1, _08022624 @ =gUnknown_2023D72 + ldr r1, _08022624 @ =gMultiHitCounter ldrb r0, [r1] subs r0, 0x1 strb r0, [r1] @@ -9769,7 +9769,7 @@ atk27_decrementmultihit: @ 8022608 str r0, [r1] b _08022646 .align 2, 0 -_08022624: .4byte gUnknown_2023D72 +_08022624: .4byte gMultiHitCounter _08022628: .4byte gBattlescriptCurrInstr _0802262C: ldr r3, _0802264C @ =gBattlescriptCurrInstr @@ -10620,7 +10620,7 @@ atk39_pause: @ 8022C08 ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 - ldr r3, _08022C44 @ =gUnknown_2023E7C + ldr r3, _08022C44 @ =gPauseCounterBattle ldrh r0, [r3] adds r0, 0x1 strh r0, [r3] @@ -10638,7 +10638,7 @@ _08022C34: .align 2, 0 _08022C3C: .4byte gBattleControllerExecFlags _08022C40: .4byte gBattlescriptCurrInstr -_08022C44: .4byte gUnknown_2023E7C +_08022C44: .4byte gPauseCounterBattle thumb_func_end atk39_pause thumb_func_start atk3A_waitstate @@ -10957,11 +10957,11 @@ _08022E8C: beq _08022EAC adds r0, r2, 0x7 bl BattleScriptPush - ldr r0, _08022EA8 @ =gUnknown_81D89F1 + ldr r0, _08022EA8 @ =BattleScript_Pausex20 b _08022EEC .align 2, 0 _08022EA4: .4byte gHitMarker -_08022EA8: .4byte gUnknown_81D89F1 +_08022EA8: .4byte BattleScript_Pausex20 _08022EAC: adds r0, r5, 0 subs r0, 0xA @@ -11531,7 +11531,7 @@ _080232F0: ldr r0, _08023324 @ =gBattleScripting strb r4, [r0, 0x14] bl MoveValuesCleanUp - ldr r2, _08023328 @ =gUnknown_81D65A8 + ldr r2, _08023328 @ =gBattleScriptsForMoveEffects mov r0, r8 ldrh r1, [r0] lsls r0, r1, 1 @@ -11544,13 +11544,13 @@ _080232F0: ldr r0, [r0] bl BattleScriptPush ldr r1, _0802332C @ =gBattlescriptCurrInstr - ldr r0, _08023330 @ =gUnknown_81D96A8 + ldr r0, _08023330 @ =BattleScript_FlushMessageBox bl _08023BFC .align 2, 0 _08023324: .4byte gBattleScripting -_08023328: .4byte gUnknown_81D65A8 +_08023328: .4byte gBattleScriptsForMoveEffects _0802332C: .4byte gBattlescriptCurrInstr -_08023330: .4byte gUnknown_81D96A8 +_08023330: .4byte BattleScript_FlushMessageBox _08023334: ldr r2, _0802334C @ =gBattleMoves ldr r0, _08023350 @ =gCurrentMove @@ -11702,7 +11702,7 @@ _0802346A: strb r0, [r1, 0x19] bl BattleScriptPushCursor ldr r1, _08023498 @ =gBattlescriptCurrInstr - ldr r0, _0802349C @ =gUnknown_81D8C48 + ldr r0, _0802349C @ =BattleScript_RageIsBuilding str r0, [r1] b _080236FC .align 2, 0 @@ -11714,7 +11714,7 @@ _0802348C: .4byte gSpecialStatuses _08023490: .4byte gBattleMoves _08023494: .4byte gCurrentMove _08023498: .4byte gBattlescriptCurrInstr -_0802349C: .4byte gUnknown_81D8C48 +_0802349C: .4byte BattleScript_RageIsBuilding _080234A0: ldr r4, _0802353C @ =gBattleMons ldr r6, _08023540 @ =gBattlerTarget @@ -11791,7 +11791,7 @@ _080234FE: bl MarkBattlerForControllerExec bl BattleScriptPushCursor ldr r1, _08023554 @ =gBattlescriptCurrInstr - ldr r0, _08023558 @ =gUnknown_81D9098 + ldr r0, _08023558 @ =BattleScript_DefrostedViaFireMove str r0, [r1] movs r2, 0x1 mov r10, r2 @@ -11804,7 +11804,7 @@ _08023548: .4byte gSpecialStatuses _0802354C: .4byte gMoveResultFlags _08023550: .4byte gActiveBattler _08023554: .4byte gBattlescriptCurrInstr -_08023558: .4byte gUnknown_81D9098 +_08023558: .4byte BattleScript_DefrostedViaFireMove _0802355C: ldr r0, _0802357C @ =gBattlerTarget ldrb r1, [r0] @@ -12219,7 +12219,7 @@ _0802388A: ands r0, r1 cmp r0, 0 beq _080238A6 - ldr r0, _08023928 @ =gUnknown_2023D90 + ldr r0, _08023928 @ =gLastPrintedMoves mov r2, r9 ldrb r1, [r2] lsls r1, 1 @@ -12276,7 +12276,7 @@ _080238E8: ldr r0, _0802392C @ =gChosenMove ldrh r0, [r0] strh r0, [r1] - ldr r0, _08023944 @ =gUnknown_2023DB0 + ldr r0, _08023944 @ =gLastResultingMoves mov r3, r9 ldrb r1, [r3] lsls r1, 1 @@ -12291,14 +12291,14 @@ _08023918: .4byte gBattlerAttacker _0802391C: .4byte gActiveBattler _08023920: .4byte gBattlerTarget _08023924: .4byte 0xffffefff -_08023928: .4byte gUnknown_2023D90 +_08023928: .4byte gLastPrintedMoves _0802392C: .4byte gChosenMove _08023930: .4byte gAbsentBattlerFlags _08023934: .4byte gBitTable _08023938: .4byte gBattleStruct _0802393C: .4byte gBattleMoves _08023940: .4byte gLastMoves -_08023944: .4byte gUnknown_2023DB0 +_08023944: .4byte gLastResultingMoves _08023948: .4byte gCurrentMove _0802394C: ldr r1, _080239B4 @ =gLastMoves @@ -12306,7 +12306,7 @@ _0802394C: adds r0, r1 ldr r1, _080239B8 @ =0x0000ffff strh r1, [r0] - ldr r1, _080239BC @ =gUnknown_2023DB0 + ldr r1, _080239BC @ =gLastResultingMoves mov r4, r9 ldrb r0, [r4] lsls r0, 1 @@ -12357,7 +12357,7 @@ _08023984: .align 2, 0 _080239B4: .4byte gLastMoves _080239B8: .4byte 0x0000ffff -_080239BC: .4byte gUnknown_2023DB0 +_080239BC: .4byte gLastResultingMoves _080239C0: .4byte gBattlerTarget _080239C4: .4byte gLastHitBy _080239C8: .4byte gMoveResultFlags @@ -12375,7 +12375,7 @@ _080239D4: ldrb r3, [r0, 0x13] cmp r3, 0 beq _08023A04 - ldr r0, _08023A00 @ =gUnknown_2023DA8 + ldr r0, _08023A00 @ =gLastHitByType ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -12385,9 +12385,9 @@ _080239D4: .align 2, 0 _080239F8: .4byte gLastLandedMoves _080239FC: .4byte gCurrentMove -_08023A00: .4byte gUnknown_2023DA8 +_08023A00: .4byte gLastHitByType _08023A04: - ldr r0, _08023A1C @ =gUnknown_2023DA8 + ldr r0, _08023A1C @ =gLastHitByType ldrb r2, [r2] lsls r2, 1 adds r2, r0 @@ -12400,7 +12400,7 @@ _08023A04: strh r0, [r2] b _08023A2C .align 2, 0 -_08023A1C: .4byte gUnknown_2023DA8 +_08023A1C: .4byte gLastHitByType _08023A20: ldr r0, _08023A38 @ =gLastLandedMoves ldrb r1, [r2] @@ -13189,7 +13189,7 @@ _08024042: ldr r1, [sp, 0x50] str r1, [r0] _08024068: - bl sub_8012760 + bl SwitchInClearSetData ldr r0, _080240CC @ =gBattleScripting ldr r3, _080240A8 @ =gActiveBattler ldrb r2, [r3] @@ -14992,7 +14992,7 @@ _08024F28: ldrb r0, [r0, 0x1] cmp r0, 0 bne _08024F6C - ldr r0, _08024F68 @ =gUnknown_81D8CBE + ldr r0, _08024F68 @ =BattleScript_SpikesOnTarget str r0, [r6] b _080250C6 .align 2, 0 @@ -15006,21 +15006,21 @@ _08024F58: .4byte gBattleMons _08024F5C: .4byte gSideTimers _08024F60: .4byte gBattleMoveDamage _08024F64: .4byte gBattleScripting -_08024F68: .4byte gUnknown_81D8CBE +_08024F68: .4byte BattleScript_SpikesOnTarget _08024F6C: cmp r0, 0x1 bne _08024F7C - ldr r0, _08024F78 @ =gUnknown_81D8C87 + ldr r0, _08024F78 @ =BattleScript_SpikesOnAttacker str r0, [r6] b _080250C6 .align 2, 0 -_08024F78: .4byte gUnknown_81D8C87 +_08024F78: .4byte BattleScript_SpikesOnAttacker _08024F7C: - ldr r0, _08024F84 @ =gUnknown_81D8CF5 + ldr r0, _08024F84 @ =BattleScript_SpikesOnFaintedBattler str r0, [r6] b _080250C6 .align 2, 0 -_08024F84: .4byte gUnknown_81D8CF5 +_08024F84: .4byte BattleScript_SpikesOnFaintedBattler _08024F88: ldr r1, _08025064 @ =gBattleMons ldr r5, _08025068 @ =gActiveBattler @@ -15076,7 +15076,7 @@ _08024FC4: cmp r4, r3 bge _08025012 ldr r6, _0802507C @ =gBattlerByTurnOrder - ldr r3, _08025080 @ =gUnknown_2023BDA + ldr r3, _08025080 @ =gActionsByTurnOrder movs r2, 0xC adds r1, r0, 0 _08024FFC: @@ -15143,7 +15143,7 @@ _08025070: .4byte gSideStatuses _08025074: .4byte 0x0000fdff _08025078: .4byte gBattlersCount _0802507C: .4byte gBattlerByTurnOrder -_08025080: .4byte gUnknown_2023BDA +_08025080: .4byte gActionsByTurnOrder _08025084: .4byte gBattleStruct _08025088: .4byte gBattlescriptCurrInstr _0802508C: .4byte gHitMarker @@ -15557,7 +15557,7 @@ _080253C4: movs r2, 0x1D movs r3, 0xD bl HandleBattleWindow - ldr r0, _080253F0 @ =gUnknown_83FE791 + ldr r0, _080253F0 @ =gText_BattleYesNoChoice movs r1, 0xE bl BattlePutTextOnWindow ldr r1, _080253F4 @ =gBattleScripting @@ -15569,7 +15569,7 @@ _080253C4: bl BattleCreateYesNoCursorAt b _080256D0 .align 2, 0 -_080253F0: .4byte gUnknown_83FE791 +_080253F0: .4byte gText_BattleYesNoChoice _080253F4: .4byte gBattleScripting _080253F8: .4byte gBattleCommunication _080253FC: @@ -15934,7 +15934,7 @@ _080256F8: movs r2, 0x1D movs r3, 0xD bl HandleBattleWindow - ldr r0, _08025720 @ =gUnknown_83FE791 + ldr r0, _08025720 @ =gText_BattleYesNoChoice movs r1, 0xE bl BattlePutTextOnWindow ldrb r0, [r5, 0x1F] @@ -15945,7 +15945,7 @@ _080256F8: bl BattleCreateYesNoCursorAt b _0802580E .align 2, 0 -_08025720: .4byte gUnknown_83FE791 +_08025720: .4byte gText_BattleYesNoChoice _08025724: .4byte gBattleCommunication _08025728: ldr r0, _080257AC @ =gMain @@ -16237,7 +16237,7 @@ _0802595A: _0802596E: ldrb r5, [r0, 0x2] _08025970: - ldr r0, _080259CC @ =gUnknown_824F220 + ldr r0, _080259CC @ =gTrainerMoneyTable lsls r1, r6, 2 adds r3, r1, r0 ldrb r1, [r3] @@ -16286,7 +16286,7 @@ _080259AA: muls r4, r0 b _080259E8 .align 2, 0 -_080259CC: .4byte gUnknown_824F220 +_080259CC: .4byte gTrainerMoneyTable _080259D0: .4byte gBattleStruct _080259D4: .4byte gBattleTypeFlags _080259D8: .4byte gSaveBlock1Ptr @@ -16670,7 +16670,7 @@ _08025CC0: strh r0, [r2] adds r0, r1, 0 _08025CCE: - ldr r3, _08025CF8 @ =gUnknown_81D65A8 + ldr r3, _08025CF8 @ =gBattleScriptsForMoveEffects ldr r2, _08025CFC @ =gBattleMoves ldrh r1, [r0] lsls r0, r1, 1 @@ -16689,7 +16689,7 @@ _08025CCE: _08025CEC: .4byte gChosenMove _08025CF0: .4byte gCurrentMove _08025CF4: .4byte gCalledMove -_08025CF8: .4byte gUnknown_81D65A8 +_08025CF8: .4byte gBattleScriptsForMoveEffects _08025CFC: .4byte gBattleMoves thumb_func_end atk63_jumptocalledmove @@ -16930,7 +16930,7 @@ _08025EE4: movs r2, 0x1D movs r3, 0xD bl HandleBattleWindow - ldr r0, _08025F08 @ =gUnknown_83FE791 + ldr r0, _08025F08 @ =gText_BattleYesNoChoice movs r1, 0xE bl BattlePutTextOnWindow ldrb r0, [r5] @@ -16940,7 +16940,7 @@ _08025EE4: bl BattleCreateYesNoCursorAt b _08025F9A .align 2, 0 -_08025F08: .4byte gUnknown_83FE791 +_08025F08: .4byte gText_BattleYesNoChoice _08025F0C: ldr r0, _08025F6C @ =gMain ldrh r1, [r0, 0x2E] @@ -17025,7 +17025,7 @@ atk68_cancelallactions: @ 8025FA8 ldrb r0, [r2] cmp r1, r0 bge _08025FC6 - ldr r4, _08025FDC @ =gUnknown_2023BDA + ldr r4, _08025FDC @ =gActionsByTurnOrder movs r3, 0xC _08025FBA: adds r0, r1, r4 @@ -17044,7 +17044,7 @@ _08025FC6: .align 2, 0 _08025FD4: .4byte gBattlersCount _08025FD8: .4byte gBattlescriptCurrInstr -_08025FDC: .4byte gUnknown_2023BDA +_08025FDC: .4byte gActionsByTurnOrder thumb_func_end atk68_cancelallactions thumb_func_start atk69_adjustsetdamage @@ -18145,7 +18145,7 @@ atk72_jumpifplayerran: @ 80268B8 push {lr} ldr r0, _080268E4 @ =gBattlerFainted ldrb r0, [r0] - bl sub_8016748 + bl TryRunFromBattle lsls r0, 24 cmp r0, 0 beq _080268EC @@ -18981,7 +18981,7 @@ atk77_setprotectlike: @ 8026F68 mov r7, r8 push {r7} movs r6, 0x1 - ldr r2, _08027034 @ =gUnknown_2023DB0 + ldr r2, _08027034 @ =gLastResultingMoves ldr r1, _08027038 @ =gBattlerAttacker ldrb r3, [r1] lsls r0, r3, 1 @@ -19002,7 +19002,7 @@ atk77_setprotectlike: @ 8026F68 movs r1, 0 strb r1, [r0, 0x8] _08026F98: - ldr r0, _08027040 @ =gUnknown_2023BE2 + ldr r0, _08027040 @ =gCurrentTurnActionNumber ldrb r1, [r0] ldr r0, _08027044 @ =gBattlersCount ldrb r0, [r0] @@ -19082,10 +19082,10 @@ _0802701E: strb r0, [r1, 0x8] b _0802707E .align 2, 0 -_08027034: .4byte gUnknown_2023DB0 +_08027034: .4byte gLastResultingMoves _08027038: .4byte gBattlerAttacker _0802703C: .4byte gDisableStructs -_08027040: .4byte gUnknown_2023BE2 +_08027040: .4byte gCurrentTurnActionNumber _08027044: .4byte gBattlersCount _08027048: .4byte sProtectSuccessRates _0802704C: .4byte gBattleMoves @@ -19250,7 +19250,7 @@ _0802718C: ldrb r1, [r1] bl RecordAbilityBattle ldr r1, _080271B8 @ =gBattlescriptCurrInstr - ldr r0, _080271BC @ =gUnknown_81D93AF + ldr r0, _080271BC @ =BattleScript_DampStopsExplosion str r0, [r1] _080271A8: pop {r3} @@ -19261,7 +19261,7 @@ _080271A8: .align 2, 0 _080271B4: .4byte gLastUsedAbility _080271B8: .4byte gBattlescriptCurrInstr -_080271BC: .4byte gUnknown_81D93AF +_080271BC: .4byte BattleScript_DampStopsExplosion thumb_func_end atk78_faintifabilitynotdamp thumb_func_start atk79_setatkhptozero @@ -19581,7 +19581,7 @@ _08027426: ldr r1, _0802745C @ =gBattlerTarget strb r0, [r1] ldr r5, _08027460 @ =gBattlescriptCurrInstr - ldr r3, _08027464 @ =gUnknown_81D65A8 + ldr r3, _08027464 @ =gBattleScriptsForMoveEffects ldr r2, _08027468 @ =gBattleMoves ldrh r1, [r4] lsls r0, r1, 1 @@ -19600,7 +19600,7 @@ _08027454: .4byte 0xfffffbff _08027458: .4byte gCurrentMove _0802745C: .4byte gBattlerTarget _08027460: .4byte gBattlescriptCurrInstr -_08027464: .4byte gUnknown_81D65A8 +_08027464: .4byte gBattleScriptsForMoveEffects _08027468: .4byte gBattleMoves _0802746C: ldr r2, _0802749C @ =gSpecialStatuses @@ -20562,7 +20562,7 @@ _08027BC4: .4byte gBattlerTarget atk88_negativedamage: @ 8027BC8 push {lr} ldr r2, _08027BF0 @ =gBattleMoveDamage - ldr r0, _08027BF4 @ =gUnknown_2023D54 + ldr r0, _08027BF4 @ =gHpDealt ldr r0, [r0] lsrs r1, r0, 31 adds r0, r1 @@ -20583,7 +20583,7 @@ _08027BE4: bx r0 .align 2, 0 _08027BF0: .4byte gBattleMoveDamage -_08027BF4: .4byte gUnknown_2023D54 +_08027BF4: .4byte gHpDealt _08027BF8: .4byte gBattlescriptCurrInstr thumb_func_end atk88_negativedamage @@ -20716,7 +20716,7 @@ _08027CF0: ldrb r0, [r6] strb r0, [r1, 0x17] ldr r1, _08027D20 @ =gBattlescriptCurrInstr - ldr r0, _08027D24 @ =gUnknown_81D8C3E + ldr r0, _08027D24 @ =BattleScript_MistProtected str r0, [r1] ldrb r1, [r6] lsls r0, r1, 2 @@ -20732,7 +20732,7 @@ _08027CF0: _08027D18: .4byte gBattleScripting _08027D1C: .4byte gActiveBattler _08027D20: .4byte gBattlescriptCurrInstr -_08027D24: .4byte gUnknown_81D8C3E +_08027D24: .4byte BattleScript_MistProtected _08027D28: ldr r0, _08027D4C @ =gCurrentMove ldrh r0, [r0] @@ -20747,7 +20747,7 @@ _08027D28: cmp r0, 0 beq _08027D58 ldr r1, _08027D50 @ =gBattlescriptCurrInstr - ldr r0, _08027D54 @ =gUnknown_81D7DF2 + ldr r0, _08027D54 @ =BattleScript_ButItFailed str r0, [r1] _08027D48: movs r0, 0x1 @@ -20755,7 +20755,7 @@ _08027D48: .align 2, 0 _08027D4C: .4byte gCurrentMove _08027D50: .4byte gBattlescriptCurrInstr -_08027D54: .4byte gUnknown_81D7DF2 +_08027D54: .4byte BattleScript_ButItFailed _08027D58: ldr r2, _08027DA0 @ =gBattleMons ldr r1, _08027DA4 @ =gActiveBattler @@ -20808,7 +20808,7 @@ _08027DB4: ldrb r0, [r2] strb r0, [r1, 0x17] ldr r1, _08027E00 @ =gBattlescriptCurrInstr - ldr r0, _08027E04 @ =gUnknown_81D9416 + ldr r0, _08027E04 @ =BattleScript_AbilityNoStatLoss str r0, [r1] ldr r1, _08027E08 @ =gLastUsedAbility ldrb r0, [r2] @@ -20836,7 +20836,7 @@ _08027DB4: _08027DF8: .4byte gBattleScripting _08027DFC: .4byte gActiveBattler _08027E00: .4byte gBattlescriptCurrInstr -_08027E04: .4byte gUnknown_81D9416 +_08027E04: .4byte BattleScript_AbilityNoStatLoss _08027E08: .4byte gLastUsedAbility _08027E0C: ldr r1, _08027E58 @ =gActiveBattler @@ -20862,7 +20862,7 @@ _08027E0C: ldrb r0, [r3] strb r0, [r1, 0x17] ldr r1, _08027E60 @ =gBattlescriptCurrInstr - ldr r0, _08027E64 @ =gUnknown_81D947E + ldr r0, _08027E64 @ =BattleScript_AbilityNoSpecificStatLoss str r0, [r1] ldr r1, _08027E68 @ =gLastUsedAbility ldrb r0, [r3] @@ -20879,7 +20879,7 @@ _08027E0C: _08027E58: .4byte gActiveBattler _08027E5C: .4byte gBattleScripting _08027E60: .4byte gBattlescriptCurrInstr -_08027E64: .4byte gUnknown_81D947E +_08027E64: .4byte BattleScript_AbilityNoSpecificStatLoss _08027E68: .4byte gLastUsedAbility _08027E6C: ldr r4, _08027EBC @ =gActiveBattler @@ -20907,7 +20907,7 @@ _08027E8E: ldrb r0, [r2] strb r0, [r1, 0x17] ldr r1, _08027EC4 @ =gBattlescriptCurrInstr - ldr r0, _08027EC8 @ =gUnknown_81D947E + ldr r0, _08027EC8 @ =BattleScript_AbilityNoSpecificStatLoss str r0, [r1] ldr r1, _08027ECC @ =gLastUsedAbility ldrb r0, [r2] @@ -20924,7 +20924,7 @@ _08027E8E: _08027EBC: .4byte gActiveBattler _08027EC0: .4byte gBattleScripting _08027EC4: .4byte gBattlescriptCurrInstr -_08027EC8: .4byte gUnknown_81D947E +_08027EC8: .4byte BattleScript_AbilityNoSpecificStatLoss _08027ECC: .4byte gLastUsedAbility _08027ED0: ldr r3, _08027F5C @ =gActiveBattler @@ -21251,7 +21251,7 @@ atk8B_setbide: @ 8028120 lsls r1, 5 orrs r0, r1 str r0, [r2] - ldr r1, _08028180 @ =gUnknown_2023DB8 + ldr r1, _08028180 @ =gLockedMoves ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -21283,7 +21283,7 @@ atk8B_setbide: @ 8028120 .align 2, 0 _08028178: .4byte gBattleMons _0802817C: .4byte gBattlerAttacker -_08028180: .4byte gUnknown_2023DB8 +_08028180: .4byte gLockedMoves _08028184: .4byte gCurrentMove _08028188: .4byte gTakenDmg _0802818C: .4byte gBattlescriptCurrInstr @@ -21330,14 +21330,14 @@ atk8D_setmultihitcounter: @ 80281D0 ldrb r1, [r0, 0x1] cmp r1, 0 beq _080281EC - ldr r0, _080281E8 @ =gUnknown_2023D72 + ldr r0, _080281E8 @ =gMultiHitCounter strb r1, [r0] b _08028206 .align 2, 0 _080281E4: .4byte gBattlescriptCurrInstr -_080281E8: .4byte gUnknown_2023D72 +_080281E8: .4byte gMultiHitCounter _080281EC: - ldr r4, _08028214 @ =gUnknown_2023D72 + ldr r4, _08028214 @ =gMultiHitCounter bl Random movs r5, 0x3 ands r0, r5 @@ -21358,7 +21358,7 @@ _08028206: pop {r0} bx r0 .align 2, 0 -_08028214: .4byte gUnknown_2023D72 +_08028214: .4byte gMultiHitCounter _08028218: .4byte gBattlescriptCurrInstr thumb_func_end atk8D_setmultihitcounter @@ -21471,7 +21471,7 @@ _080282E8: ldrh r0, [r0] strb r0, [r1] ldr r1, _08028304 @ =gBattlescriptCurrInstr - ldr r0, _08028308 @ =gUnknown_81D8C10 + ldr r0, _08028308 @ =BattleScript_SuccessForceOut str r0, [r1] movs r0, 0x1 _080282F6: @@ -21482,7 +21482,7 @@ _080282F6: _080282FC: .4byte gBattleStruct _08028300: .4byte gBattlerPartyIndexes _08028304: .4byte gBattlescriptCurrInstr -_08028308: .4byte gUnknown_81D8C10 +_08028308: .4byte BattleScript_SuccessForceOut thumb_func_end TryDoForceSwitchOut thumb_func_start atk8F_forcerandomswitch @@ -21816,7 +21816,7 @@ _080285AE: adds r0, r1 adds r0, 0x5C strb r5, [r0] - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 cmp r0, 0 bne _080285CC @@ -22077,7 +22077,7 @@ atk91_givepaydaymoney: @ 80287A8 ands r0, r5 cmp r0, 0 bne _08028828 - ldr r1, _08028810 @ =gUnknown_2023E7E + ldr r1, _08028810 @ =gPaydayMoney ldrh r0, [r1] cmp r0, 0 beq _08028828 @@ -22115,17 +22115,17 @@ atk91_givepaydaymoney: @ 80287A8 ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08028824 @ =gUnknown_81D911D + ldr r0, _08028824 @ =BattleScript_PrintPayDayMoneyString str r0, [r4] b _08028830 .align 2, 0 _0802880C: .4byte gBattleTypeFlags -_08028810: .4byte gUnknown_2023E7E +_08028810: .4byte gPaydayMoney _08028814: .4byte gBattleStruct _08028818: .4byte gSaveBlock1Ptr _0802881C: .4byte gBattleTextBuff1 _08028820: .4byte gBattlescriptCurrInstr -_08028824: .4byte gUnknown_81D911D +_08028824: .4byte BattleScript_PrintPayDayMoneyString _08028828: ldr r1, _08028838 @ =gBattlescriptCurrInstr ldr r0, [r1] @@ -22328,7 +22328,7 @@ _08028998: ldr r0, _080289E8 @ =gLastUsedAbility strb r4, [r0] ldr r1, _080289EC @ =gBattlescriptCurrInstr - ldr r0, _080289F0 @ =gUnknown_81D93A1 + ldr r0, _080289F0 @ =BattleScript_SturdyPreventsOHKO str r0, [r1] mov r1, r9 ldrb r0, [r1] @@ -22343,7 +22343,7 @@ _080289E0: .4byte gBattleMons _080289E4: .4byte gMoveResultFlags _080289E8: .4byte gLastUsedAbility _080289EC: .4byte gBattlescriptCurrInstr -_080289F0: .4byte gUnknown_81D93A1 +_080289F0: .4byte BattleScript_SturdyPreventsOHKO _080289F4: ldr r1, _08028A68 @ =gStatuses3 lsls r0, r3, 2 @@ -23024,7 +23024,7 @@ _08028F1C: cmp r2, 0xC bne _08028F94 ldr r1, _08028F88 @ =gBattlescriptCurrInstr - ldr r0, _08028F8C @ =gUnknown_81D9444 + ldr r0, _08028F8C @ =BattleScript_ObliviousPreventsAttraction str r0, [r1] ldr r0, _08028F90 @ =gLastUsedAbility strb r2, [r0] @@ -23038,7 +23038,7 @@ _08028F7C: .4byte gEnemyParty _08028F80: .4byte gBattlerTarget _08028F84: .4byte gBattleMons _08028F88: .4byte gBattlescriptCurrInstr -_08028F8C: .4byte gUnknown_81D9444 +_08028F8C: .4byte BattleScript_ObliviousPreventsAttraction _08028F90: .4byte gLastUsedAbility _08028F94: mov r0, r10 @@ -24050,7 +24050,7 @@ _08029794: ldr r1, _080297EC @ =0xfffffbff ands r0, r1 str r0, [r2] - ldr r3, _080297F0 @ =gUnknown_81D65A8 + ldr r3, _080297F0 @ =gBattleScriptsForMoveEffects ldr r2, _080297F4 @ =gBattleMoves ldrh r1, [r4] lsls r0, r1, 1 @@ -24081,7 +24081,7 @@ _080297E0: .4byte 0x000001ff _080297E4: .4byte 0x0000ffff _080297E8: .4byte gHitMarker _080297EC: .4byte 0xfffffbff -_080297F0: .4byte gUnknown_81D65A8 +_080297F0: .4byte gBattleScriptsForMoveEffects _080297F4: .4byte gBattleMoves _080297F8: .4byte gBattlerTarget thumb_func_end atk9E_metronome @@ -24933,7 +24933,7 @@ _08029E9C: adds r4, r0, r4 ldr r6, _08029F90 @ =gTypeEffectiveness adds r3, r4, r6 - ldr r1, _08029F94 @ =gUnknown_2023DA8 + ldr r1, _08029F94 @ =gLastHitByType ldr r2, _08029F98 @ =gBattlerAttacker ldrb r5, [r2] lsls r0, r5, 1 @@ -24994,7 +24994,7 @@ _08029F1E: mov r4, r10 ldrb r2, [r4] lsls r0, r2, 1 - ldr r7, _08029F94 @ =gUnknown_2023DA8 + ldr r7, _08029F94 @ =gLastHitByType adds r0, r7 ldrh r0, [r0] cmp r1, r0 @@ -25051,7 +25051,7 @@ _08029F80: bx r0 .align 2, 0 _08029F90: .4byte gTypeEffectiveness -_08029F94: .4byte gUnknown_2023DA8 +_08029F94: .4byte gLastHitByType _08029F98: .4byte gBattlerAttacker _08029F9C: .4byte gBattleMons _08029FA0: .4byte 0x000003e7 @@ -25134,7 +25134,7 @@ atkA8_copymovepermanently: @ 802A004 beq _0802A03C b _0802A190 _0802A03C: - ldr r0, _0802A174 @ =gUnknown_2023D90 + ldr r0, _0802A174 @ =gLastPrintedMoves ldr r2, _0802A178 @ =gBattlerTarget ldrb r1, [r2] lsls r1, 1 @@ -25269,7 +25269,7 @@ _0802A0F2: strb r0, [r1] movs r0, 0x2 strb r0, [r1, 0x1] - ldr r3, _0802A174 @ =gUnknown_2023D90 + ldr r3, _0802A174 @ =gLastPrintedMoves ldr r2, _0802A178 @ =gBattlerTarget ldrb r0, [r2] lsls r0, 1 @@ -25294,7 +25294,7 @@ _0802A164: .4byte gChosenMove _0802A168: .4byte 0x0000ffff _0802A16C: .4byte gBattleMons _0802A170: .4byte gBattlerAttacker -_0802A174: .4byte gUnknown_2023D90 +_0802A174: .4byte gLastPrintedMoves _0802A178: .4byte gBattlerTarget _0802A17C: .4byte gCurrMovePos _0802A180: .4byte gBattleMoves @@ -26593,14 +26593,14 @@ atkB3_rolloutdamagecalculation: @ 802AB8C ldrb r0, [r0] bl CancelMultiTurnMoves ldr r1, _0802ABB8 @ =gBattlescriptCurrInstr - ldr r0, _0802ABBC @ =gUnknown_81D6960 + ldr r0, _0802ABBC @ =BattleScript_MoveMissedPause str r0, [r1] b _0802ACD8 .align 2, 0 _0802ABB0: .4byte gMoveResultFlags _0802ABB4: .4byte gBattlerAttacker _0802ABB8: .4byte gBattlescriptCurrInstr -_0802ABBC: .4byte gUnknown_81D6960 +_0802ABBC: .4byte BattleScript_MoveMissedPause _0802ABC0: ldr r2, _0802ACE4 @ =gBattleMons ldr r1, _0802ACE8 @ =gBattlerAttacker @@ -26652,7 +26652,7 @@ _0802ABC0: ldr r0, [r1] orrs r0, r7 str r0, [r1] - ldr r1, _0802ACF4 @ =gUnknown_2023DB8 + ldr r1, _0802ACF4 @ =gLockedMoves ldrb r0, [r6] lsls r0, 1 adds r0, r1 @@ -26759,7 +26759,7 @@ _0802ACE4: .4byte gBattleMons _0802ACE8: .4byte gBattlerAttacker _0802ACEC: .4byte gDisableStructs _0802ACF0: .4byte gCurrentMove -_0802ACF4: .4byte gUnknown_2023DB8 +_0802ACF4: .4byte gLockedMoves _0802ACF8: .4byte 0xffffefff _0802ACFC: .4byte gDynamicBasePower _0802AD00: .4byte gBattleMoves @@ -26840,7 +26840,7 @@ atkB5_furycuttercalc: @ 802AD70 movs r1, 0 strb r1, [r0, 0x10] ldr r1, _0802ADA4 @ =gBattlescriptCurrInstr - ldr r0, _0802ADA8 @ =gUnknown_81D6960 + ldr r0, _0802ADA8 @ =BattleScript_MoveMissedPause str r0, [r1] b _0802AE04 .align 2, 0 @@ -26848,7 +26848,7 @@ _0802AD98: .4byte gMoveResultFlags _0802AD9C: .4byte gDisableStructs _0802ADA0: .4byte gBattlerAttacker _0802ADA4: .4byte gBattlescriptCurrInstr -_0802ADA8: .4byte gUnknown_81D6960 +_0802ADA8: .4byte BattleScript_MoveMissedPause _0802ADAC: ldr r5, _0802AE0C @ =gDisableStructs ldr r4, _0802AE10 @ =gBattlerAttacker @@ -27027,14 +27027,14 @@ _0802AF06: cmp r4, 0xCB bgt _0802AF24 ldr r1, _0802AF1C @ =gBattlescriptCurrInstr - ldr r0, _0802AF20 @ =gUnknown_81D6930 + ldr r0, _0802AF20 @ =BattleScript_HitFromCritCalc b _0802AF5E .align 2, 0 _0802AF10: .4byte gBattleMoveDamage _0802AF14: .4byte gBattleMons _0802AF18: .4byte gBattlerTarget _0802AF1C: .4byte gBattlescriptCurrInstr -_0802AF20: .4byte gUnknown_81D6930 +_0802AF20: .4byte BattleScript_HitFromCritCalc _0802AF24: ldr r2, _0802AF40 @ =gBattleMons ldr r0, _0802AF44 @ =gBattlerTarget @@ -27047,13 +27047,13 @@ _0802AF24: cmp r1, r0 bne _0802AF50 ldr r1, _0802AF48 @ =gBattlescriptCurrInstr - ldr r0, _0802AF4C @ =gUnknown_81D7DD1 + ldr r0, _0802AF4C @ =BattleScript_AlreadyAtFullHp b _0802AF5E .align 2, 0 _0802AF40: .4byte gBattleMons _0802AF44: .4byte gBattlerTarget _0802AF48: .4byte gBattlescriptCurrInstr -_0802AF4C: .4byte gUnknown_81D7DD1 +_0802AF4C: .4byte BattleScript_AlreadyAtFullHp _0802AF50: ldr r2, _0802AF68 @ =gMoveResultFlags ldrb r1, [r2] @@ -27061,7 +27061,7 @@ _0802AF50: ands r0, r1 strb r0, [r2] ldr r1, _0802AF6C @ =gBattlescriptCurrInstr - ldr r0, _0802AF70 @ =gUnknown_81D7DB7 + ldr r0, _0802AF70 @ =BattleScript_PresentHealTarget _0802AF5E: str r0, [r1] pop {r4} @@ -27070,7 +27070,7 @@ _0802AF5E: .align 2, 0 _0802AF68: .4byte gMoveResultFlags _0802AF6C: .4byte gBattlescriptCurrInstr -_0802AF70: .4byte gUnknown_81D7DB7 +_0802AF70: .4byte BattleScript_PresentHealTarget thumb_func_end atkB7_presentdamagecalculation thumb_func_start atkB8_setsafeguard @@ -27303,7 +27303,7 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _0802B164 @ =gUnknown_2023D72 + ldr r0, _0802B164 @ =gMultiHitCounter ldrb r0, [r0] cmp r0, 0x1 bne _0802B170 @@ -27316,7 +27316,7 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140 movs r0, 0x1 b _0802B18A .align 2, 0 -_0802B164: .4byte gUnknown_2023D72 +_0802B164: .4byte gMultiHitCounter _0802B168: .4byte gBattlerAttacker _0802B16C: movs r0, 0 @@ -27338,7 +27338,7 @@ _0802B18A: bl GetBattlerAtPosition ldr r1, _0802B264 @ =gBattlerTarget strb r0, [r1] - ldr r0, _0802B268 @ =gUnknown_2023D7C + ldr r0, _0802B268 @ =gChosenActionByBattler ldr r1, _0802B264 @ =gBattlerTarget ldrb r3, [r1] adds r0, r3, r0 @@ -27403,7 +27403,7 @@ _0802B1A2: bge _0802B22E ldr r6, _0802B294 @ =gBattlerByTurnOrder ldr r5, _0802B264 @ =gBattlerTarget - ldr r4, _0802B298 @ =gUnknown_2023BDA + ldr r4, _0802B298 @ =gActionsByTurnOrder movs r3, 0xB adds r2, r0, 0 _0802B218: @@ -27449,7 +27449,7 @@ _0802B22E: b _0802B2C2 .align 2, 0 _0802B264: .4byte gBattlerTarget -_0802B268: .4byte gUnknown_2023D7C +_0802B268: .4byte gChosenActionByBattler _0802B26C: .4byte gBattlerAttacker _0802B270: .4byte gBattleStruct _0802B274: .4byte gBattleMons @@ -27461,7 +27461,7 @@ _0802B288: .4byte gCurrMovePos _0802B28C: .4byte gChosenMovePos _0802B290: .4byte gHitMarker _0802B294: .4byte gBattlerByTurnOrder -_0802B298: .4byte gUnknown_2023BDA +_0802B298: .4byte gActionsByTurnOrder _0802B29C: .4byte gBattlescriptCurrInstr _0802B2A0: .4byte gBattleScripting _0802B2A4: .4byte 0xfffffbff @@ -27696,7 +27696,7 @@ atkBE_rapidspinfree: @ 802B3F4 strb r0, [r1, 0x4] bl BattleScriptPushCursor ldr r1, _0802B480 @ =gBattlescriptCurrInstr - ldr r0, _0802B484 @ =gUnknown_81D8DF3 + ldr r0, _0802B484 @ =BattleScript_WrapFree b _0802B532 .align 2, 0 _0802B464: .4byte gBattleMons @@ -27707,7 +27707,7 @@ _0802B474: .4byte 0xffff1fff _0802B478: .4byte gBattleStruct _0802B47C: .4byte gBattleTextBuff1 _0802B480: .4byte gBattlescriptCurrInstr -_0802B484: .4byte gUnknown_81D8DF3 +_0802B484: .4byte BattleScript_WrapFree _0802B488: ldr r4, _0802B4BC @ =gStatuses3 lsls r0, r2, 2 @@ -27731,12 +27731,12 @@ _0802B488: str r0, [r1] bl BattleScriptPushCursor ldr r1, _0802B4C0 @ =gBattlescriptCurrInstr - ldr r0, _0802B4C4 @ =gUnknown_81D8E04 + ldr r0, _0802B4C4 @ =BattleScript_LeechSeedFree b _0802B532 .align 2, 0 _0802B4BC: .4byte gStatuses3 _0802B4C0: .4byte gBattlescriptCurrInstr -_0802B4C4: .4byte gUnknown_81D8E04 +_0802B4C4: .4byte BattleScript_LeechSeedFree _0802B4C8: adds r0, r2, 0 bl GetBattlerSide @@ -27771,14 +27771,14 @@ _0802B4C8: strb r4, [r1, 0xA] bl BattleScriptPushCursor ldr r1, _0802B524 @ =gBattlescriptCurrInstr - ldr r0, _0802B528 @ =gUnknown_81D8E0B + ldr r0, _0802B528 @ =BattleScript_SpikesFree b _0802B532 .align 2, 0 _0802B518: .4byte gSideStatuses _0802B51C: .4byte 0x0000ffef _0802B520: .4byte gSideTimers _0802B524: .4byte gBattlescriptCurrInstr -_0802B528: .4byte gUnknown_81D8E0B +_0802B528: .4byte BattleScript_SpikesFree _0802B52C: ldr r1, _0802B53C @ =gBattlescriptCurrInstr ldr r0, [r1] @@ -28922,7 +28922,7 @@ atkCC_callterrainattack: @ 802BE18 str r0, [r2] ldr r4, _0802BE70 @ =gCurrentMove ldr r1, _0802BE74 @ =sNaturePowerMoves - ldr r0, _0802BE78 @ =gUnknown_2022B50 + ldr r0, _0802BE78 @ =gBattleTerrain ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -28933,7 +28933,7 @@ atkCC_callterrainattack: @ 802BE18 bl GetMoveTarget ldr r1, _0802BE7C @ =gBattlerTarget strb r0, [r1] - ldr r3, _0802BE80 @ =gUnknown_81D65A8 + ldr r3, _0802BE80 @ =gBattleScriptsForMoveEffects ldr r2, _0802BE84 @ =gBattleMoves ldrh r1, [r4] lsls r0, r1, 1 @@ -28957,9 +28957,9 @@ _0802BE68: .4byte gHitMarker _0802BE6C: .4byte 0xfffffbff _0802BE70: .4byte gCurrentMove _0802BE74: .4byte sNaturePowerMoves -_0802BE78: .4byte gUnknown_2022B50 +_0802BE78: .4byte gBattleTerrain _0802BE7C: .4byte gBattlerTarget -_0802BE80: .4byte gUnknown_81D65A8 +_0802BE80: .4byte gBattleScriptsForMoveEffects _0802BE84: .4byte gBattleMoves _0802BE88: .4byte gBattlescriptCurrInstr thumb_func_end atkCC_callterrainattack @@ -29431,7 +29431,7 @@ _0802C224: cmp r0, 0x3C bne _0802C258 ldr r1, _0802C24C @ =gBattlescriptCurrInstr - ldr r0, _0802C250 @ =gUnknown_81D948E + ldr r0, _0802C250 @ =BattleScript_StickyHoldActivates str r0, [r1] ldr r1, _0802C254 @ =gLastUsedAbility ldrb r0, [r7] @@ -29446,7 +29446,7 @@ _0802C224: b _0802C37A .align 2, 0 _0802C24C: .4byte gBattlescriptCurrInstr -_0802C250: .4byte gUnknown_81D948E +_0802C250: .4byte BattleScript_StickyHoldActivates _0802C254: .4byte gLastUsedAbility _0802C258: ldr r3, _0802C344 @ =gBattleStruct @@ -30575,7 +30575,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r0, _0802CB38 @ =gUnknown_2023BE2 + ldr r0, _0802CB38 @ =gCurrentTurnActionNumber ldrb r1, [r0] ldr r0, _0802CB3C @ =gBattlersCount ldrb r0, [r0] @@ -30600,7 +30600,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 _0802CB2C: .4byte gBattlerTarget _0802CB30: .4byte gBattlerAttacker _0802CB34: .4byte gSpecialStatuses -_0802CB38: .4byte gUnknown_2023BE2 +_0802CB38: .4byte gCurrentTurnActionNumber _0802CB3C: .4byte gBattlersCount _0802CB40: .4byte gBattlescriptCurrInstr _0802CB44: @@ -30638,7 +30638,7 @@ atkE0_trysetsnatch: @ 802CB68 movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r0, _0802CBB4 @ =gUnknown_2023BE2 + ldr r0, _0802CBB4 @ =gCurrentTurnActionNumber ldrb r1, [r0] ldr r0, _0802CBB8 @ =gBattlersCount ldrb r0, [r0] @@ -30662,7 +30662,7 @@ atkE0_trysetsnatch: @ 802CB68 .align 2, 0 _0802CBAC: .4byte gSpecialStatuses _0802CBB0: .4byte gBattlerAttacker -_0802CBB4: .4byte gUnknown_2023BE2 +_0802CBB4: .4byte gCurrentTurnActionNumber _0802CBB8: .4byte gBattlersCount _0802CBBC: .4byte gBattlescriptCurrInstr _0802CBC0: @@ -30900,7 +30900,7 @@ _0802CD8A: thumb_func_start atkE4_getsecretpowereffect atkE4_getsecretpowereffect: @ 802CD90 push {lr} - ldr r0, _0802CDA4 @ =gUnknown_2022B50 + ldr r0, _0802CDA4 @ =gBattleTerrain ldrb r0, [r0] cmp r0, 0x7 bhi _0802CE2C @@ -30910,7 +30910,7 @@ atkE4_getsecretpowereffect: @ 802CD90 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0802CDA4: .4byte gUnknown_2022B50 +_0802CDA4: .4byte gBattleTerrain _0802CDA8: .4byte _0802CDAC .align 2, 0 _0802CDAC: @@ -31469,7 +31469,7 @@ atkEB_settypetoterrain: @ 802D1F0 adds r0, r3 mov r12, r0 ldr r5, _0802D268 @ =sTerrainToType - ldr r4, _0802D26C @ =gUnknown_2022B50 + ldr r4, _0802D26C @ =gBattleTerrain ldrb r0, [r4] adds r0, r5 ldrb r2, [r0] @@ -31514,7 +31514,7 @@ atkEB_settypetoterrain: @ 802D1F0 _0802D260: .4byte gBattleMons _0802D264: .4byte gBattlerAttacker _0802D268: .4byte sTerrainToType -_0802D26C: .4byte gUnknown_2022B50 +_0802D26C: .4byte gBattleTerrain _0802D270: .4byte gBattleTextBuff1 _0802D274: .4byte gBattlescriptCurrInstr _0802D278: @@ -31570,7 +31570,7 @@ atkEC_pursuitrelated: @ 802D2A0 ands r1, r0 cmp r1, 0 bne _0802D340 - ldr r0, _0802D328 @ =gUnknown_2023D7C + ldr r0, _0802D328 @ =gChosenActionByBattler adds r0, r3, r0 ldrb r0, [r0] cmp r0, 0 @@ -31581,7 +31581,7 @@ atkEC_pursuitrelated: @ 802D2A0 ldrh r2, [r0] cmp r2, 0xE4 bne _0802D340 - ldr r0, _0802D330 @ =gUnknown_2023BDA + ldr r0, _0802D330 @ =gActionsByTurnOrder adds r0, r3, r0 movs r1, 0xB strb r1, [r0] @@ -31605,9 +31605,9 @@ _0802D318: .4byte gActiveBattler _0802D31C: .4byte gBattleTypeFlags _0802D320: .4byte gAbsentBattlerFlags _0802D324: .4byte gBitTable -_0802D328: .4byte gUnknown_2023D7C +_0802D328: .4byte gChosenActionByBattler _0802D32C: .4byte gChosenMoveByBattler -_0802D330: .4byte gUnknown_2023BDA +_0802D330: .4byte gActionsByTurnOrder _0802D334: .4byte gCurrentMove _0802D338: .4byte gBattlescriptCurrInstr _0802D33C: .4byte gBattleScripting @@ -31769,7 +31769,7 @@ _0802D442: ldrb r0, [r5] bl MarkBattlerForControllerExec ldr r1, _0802D488 @ =gBattlescriptCurrInstr - ldr r0, _0802D48C @ =gUnknown_81D9AD1 + ldr r0, _0802D48C @ =BattleScript_GhostBallDodge b _0802D7EC .align 2, 0 _0802D474: .4byte gBattleControllerExecFlags @@ -31778,7 +31778,7 @@ _0802D47C: .4byte gBattlerAttacker _0802D480: .4byte gBattlerTarget _0802D484: .4byte gBattleTypeFlags _0802D488: .4byte gBattlescriptCurrInstr -_0802D48C: .4byte gUnknown_81D9AD1 +_0802D48C: .4byte BattleScript_GhostBallDodge _0802D490: movs r0, 0x8 ands r0, r1 @@ -31790,11 +31790,11 @@ _0802D490: ldrb r0, [r5] bl MarkBattlerForControllerExec ldr r1, _0802D4AC @ =gBattlescriptCurrInstr - ldr r0, _0802D4B0 @ =gUnknown_81D9AC1 + ldr r0, _0802D4B0 @ =BattleScript_TrainerBallBlock b _0802D7EC .align 2, 0 _0802D4AC: .4byte gBattlescriptCurrInstr -_0802D4B0: .4byte gUnknown_81D9AC1 +_0802D4B0: .4byte BattleScript_TrainerBallBlock _0802D4B4: movs r0, 0x81 lsls r0, 9 @@ -31902,7 +31902,7 @@ _0802D568: _0802D590: .4byte gBattleMons _0802D594: .4byte gBattlerTarget _0802D598: - bl sav1_map_get_light_level + bl GetCurrentMapType lsls r0, 24 lsrs r0, 24 movs r4, 0xA @@ -32053,7 +32053,7 @@ _0802D6BC: ldrb r0, [r0] bl MarkBattlerForControllerExec ldr r1, _0802D708 @ =gBattlescriptCurrInstr - ldr r0, _0802D70C @ =gUnknown_81D9A42 + ldr r0, _0802D70C @ =BattleScript_SuccessBallThrow str r0, [r1] ldr r1, _0802D710 @ =gBattlerPartyIndexes ldr r0, _0802D714 @ =gBattlerTarget @@ -32078,7 +32078,7 @@ _0802D6BC: _0802D700: .4byte gBattleResults _0802D704: .4byte gActiveBattler _0802D708: .4byte gBattlescriptCurrInstr -_0802D70C: .4byte gUnknown_81D9A42 +_0802D70C: .4byte BattleScript_SuccessBallThrow _0802D710: .4byte gBattlerPartyIndexes _0802D714: .4byte gBattlerTarget _0802D718: .4byte gEnemyParty @@ -32130,7 +32130,7 @@ _0802D76C: cmp r4, 0x4 bne _0802D7E4 ldr r1, _0802D7C0 @ =gBattlescriptCurrInstr - ldr r0, _0802D7C4 @ =gUnknown_81D9A42 + ldr r0, _0802D7C4 @ =BattleScript_SuccessBallThrow str r0, [r1] ldr r1, _0802D7C8 @ =gBattlerPartyIndexes ldr r0, _0802D7CC @ =gBattlerTarget @@ -32159,7 +32159,7 @@ _0802D7AE: _0802D7B8: .4byte gLastUsedItem _0802D7BC: .4byte gActiveBattler _0802D7C0: .4byte gBattlescriptCurrInstr -_0802D7C4: .4byte gUnknown_81D9A42 +_0802D7C4: .4byte BattleScript_SuccessBallThrow _0802D7C8: .4byte gBattlerPartyIndexes _0802D7CC: .4byte gBattlerTarget _0802D7D0: .4byte gEnemyParty @@ -32175,7 +32175,7 @@ _0802D7E4: ldr r0, _0802D7F4 @ =gBattleCommunication strb r4, [r0, 0x5] ldr r1, _0802D7F8 @ =gBattlescriptCurrInstr - ldr r0, _0802D7FC @ =gUnknown_81D9A93 + ldr r0, _0802D7FC @ =BattleScript_ShakeBallThrow _0802D7EC: str r0, [r1] _0802D7EE: @@ -32185,7 +32185,7 @@ _0802D7EE: .align 2, 0 _0802D7F4: .4byte gBattleCommunication _0802D7F8: .4byte gBattlescriptCurrInstr -_0802D7FC: .4byte gUnknown_81D9A93 +_0802D7FC: .4byte BattleScript_ShakeBallThrow thumb_func_end atkEF_handleballthrow thumb_func_start atkF0_givecaughtmon @@ -32861,7 +32861,7 @@ _0802DD78: movs r2, 0x1D movs r3, 0xD bl HandleBattleWindow - ldr r0, _0802DDA0 @ =gUnknown_83FE791 + ldr r0, _0802DDA0 @ =gText_BattleYesNoChoice movs r1, 0xE bl BattlePutTextOnWindow ldr r1, _0802DDA4 @ =gBattleCommunication @@ -32872,7 +32872,7 @@ _0802DD78: bl BattleCreateYesNoCursorAt b _0802DFA6 .align 2, 0 -_0802DDA0: .4byte gUnknown_83FE791 +_0802DDA0: .4byte gText_BattleYesNoChoice _0802DDA4: .4byte gBattleCommunication _0802DDA8: ldr r0, _0802DE1C @ =gMain @@ -33182,14 +33182,14 @@ atkF7_finishturn: @ 802E020 ldr r1, _0802E030 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] - ldr r1, _0802E034 @ =gUnknown_2023BE2 + ldr r1, _0802E034 @ =gCurrentTurnActionNumber ldr r0, _0802E038 @ =gBattlersCount ldrb r0, [r0] strb r0, [r1] bx lr .align 2, 0 _0802E030: .4byte gCurrentActionFuncId -_0802E034: .4byte gUnknown_2023BE2 +_0802E034: .4byte gCurrentTurnActionNumber _0802E038: .4byte gBattlersCount thumb_func_end atkF7_finishturn -- cgit v1.2.3 From 41a7e6967dd4fd79eb01a45f4d77cf7c2ca11dc1 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 25 Aug 2019 06:53:22 +0800 Subject: thru atk14 --- asm/battle_script_commands.s | 5007 ------------------------------------------ 1 file changed, 5007 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 6d797fe69..f1d80c4fc 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,5013 +5,6 @@ .text - thumb_func_start atk00_attackcanceler -atk00_attackcanceler: @ 801D760 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, _0801D77C @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0 - beq _0801D784 - ldr r1, _0801D780 @ =gCurrentActionFuncId - movs r0, 0xC - strb r0, [r1] - b _0801DAFC - .align 2, 0 -_0801D77C: .4byte gBattleOutcome -_0801D780: .4byte gCurrentActionFuncId -_0801D784: - ldr r2, _0801D7B4 @ =gBattleMons - ldr r0, _0801D7B8 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0801D7C8 - ldr r2, _0801D7BC @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _0801D7C8 - movs r0, 0x80 - lsls r0, 12 - orrs r1, r0 - str r1, [r2] - ldr r1, _0801D7C0 @ =gBattlescriptCurrInstr - ldr r0, _0801D7C4 @ =BattleScript_MoveEnd - b _0801DAFA - .align 2, 0 -_0801D7B4: .4byte gBattleMons -_0801D7B8: .4byte gBattlerAttacker -_0801D7BC: .4byte gHitMarker -_0801D7C0: .4byte gBattlescriptCurrInstr -_0801D7C4: .4byte BattleScript_MoveEnd -_0801D7C8: - bl AtkCanceller_UnableToUseMove - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0801D7D6 - b _0801DAFC -_0801D7D6: - ldr r0, _0801D844 @ =gBattlerTarget - ldrb r1, [r0] - str r2, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _0801D7EE - b _0801DAFC -_0801D7EE: - ldr r4, _0801D848 @ =gBattleMons - ldr r0, _0801D84C @ =gCurrMovePos - ldrb r1, [r0] - ldr r3, _0801D850 @ =gBattlerAttacker - ldrb r2, [r3] - movs r0, 0x58 - muls r2, r0 - adds r1, r2 - adds r0, r4, 0 - adds r0, 0x24 - adds r1, r0 - ldrb r0, [r1] - ldr r5, _0801D854 @ =gHitMarker - cmp r0, 0 - bne _0801D86C - ldr r0, _0801D858 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xA5 - beq _0801D86C - ldr r0, [r5] - ldr r1, _0801D85C @ =0x00800200 - ands r0, r1 - cmp r0, 0 - bne _0801D86C - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _0801D86C - ldr r1, _0801D860 @ =gBattlescriptCurrInstr - ldr r0, _0801D864 @ =BattleScript_NoPPForMove - str r0, [r1] - ldr r2, _0801D868 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - b _0801DAFC - .align 2, 0 -_0801D844: .4byte gBattlerTarget -_0801D848: .4byte gBattleMons -_0801D84C: .4byte gCurrMovePos -_0801D850: .4byte gBattlerAttacker -_0801D854: .4byte gHitMarker -_0801D858: .4byte gCurrentMove -_0801D85C: .4byte 0x00800200 -_0801D860: .4byte gBattlescriptCurrInstr -_0801D864: .4byte BattleScript_NoPPForMove -_0801D868: .4byte gMoveResultFlags -_0801D86C: - ldr r0, [r5] - ldr r1, _0801D8B0 @ =0xff7fffff - ands r0, r1 - str r0, [r5] - movs r6, 0x80 - lsls r6, 18 - ands r0, r6 - cmp r0, 0 - bne _0801D8C4 - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r1, r4, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _0801D8C4 - bl IsMonDisobedient - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0801D8C4 - cmp r2, 0x2 - bne _0801D8B4 - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - b _0801DAFC - .align 2, 0 -_0801D8B0: .4byte 0xff7fffff -_0801D8B4: - ldr r0, _0801D8C0 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _0801DAFC - .align 2, 0 -_0801D8C0: .4byte gMoveResultFlags -_0801D8C4: - ldr r2, _0801D928 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 18 - orrs r0, r1 - str r0, [r2] - ldr r2, _0801D92C @ =gProtectStructs - ldr r1, _0801D930 @ =gBattlerTarget - ldrb r3, [r1] - lsls r0, r3, 4 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 27 - mov r8, r1 - mov r9, r2 - cmp r0, 0 - bge _0801D94C - ldr r2, _0801D934 @ =gBattleMoves - ldr r0, _0801D938 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801D94C - ldr r0, _0801D93C @ =gBattlerAttacker - ldrb r0, [r0] - ldr r2, _0801D940 @ =0x00000115 - adds r1, r3, 0 - bl PressurePPLose - mov r0, r8 - ldrb r1, [r0] - lsls r1, 4 - add r1, r9 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl BattleScriptPushCursor - ldr r1, _0801D944 @ =gBattlescriptCurrInstr - ldr r0, _0801D948 @ =BattleScript_MagicCoatBounce - b _0801DAFA - .align 2, 0 -_0801D928: .4byte gHitMarker -_0801D92C: .4byte gProtectStructs -_0801D930: .4byte gBattlerTarget -_0801D934: .4byte gBattleMoves -_0801D938: .4byte gCurrentMove -_0801D93C: .4byte gBattlerAttacker -_0801D940: .4byte 0x00000115 -_0801D944: .4byte gBattlescriptCurrInstr -_0801D948: .4byte BattleScript_MagicCoatBounce -_0801D94C: - movs r2, 0 - ldr r0, _0801D9C8 @ =gBattlersCount - ldrb r0, [r0] - cmp r2, r0 - bge _0801D98E - ldr r6, _0801D9CC @ =gProtectStructs - ldr r1, _0801D9D0 @ =gBattleMoves - mov r12, r1 - adds r5, r0, 0 - ldr r7, _0801D9D4 @ =gBattlerByTurnOrder -_0801D960: - adds r4, r2, r7 - ldrb r3, [r4] - lsls r0, r3, 4 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0801D988 - ldr r0, _0801D9D8 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r1, [r0, 0x8] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801D988 - b _0801DAB4 -_0801D988: - adds r2, 0x1 - cmp r2, r5 - blt _0801D960 -_0801D98E: - ldr r0, _0801D9DC @ =gSpecialStatuses - mov r1, r8 - ldrb r2, [r1] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - lsls r0, r3, 30 - cmp r0, 0 - bge _0801D9EC - movs r0, 0x3 - negs r0, r0 - ands r0, r3 - strb r0, [r1] - ldr r4, _0801D9E0 @ =gLastUsedAbility - movs r0, 0x1F - strb r0, [r4] - bl BattleScriptPushCursor - ldr r1, _0801D9E4 @ =gBattlescriptCurrInstr - ldr r0, _0801D9E8 @ =BattleScript_TookAttack - str r0, [r1] - mov r1, r8 - ldrb r0, [r1] - ldrb r1, [r4] - bl RecordAbilityBattle - b _0801DAFC - .align 2, 0 -_0801D9C8: .4byte gBattlersCount -_0801D9CC: .4byte gProtectStructs -_0801D9D0: .4byte gBattleMoves -_0801D9D4: .4byte gBattlerByTurnOrder -_0801D9D8: .4byte gCurrentMove -_0801D9DC: .4byte gSpecialStatuses -_0801D9E0: .4byte gLastUsedAbility -_0801D9E4: .4byte gBattlescriptCurrInstr -_0801D9E8: .4byte BattleScript_TookAttack -_0801D9EC: - lsls r0, r2, 4 - add r0, r9 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0801D9FA - b _0801DAF4 -_0801D9FA: - ldr r1, _0801DA90 @ =gBattleMoves - ldr r2, _0801DA94 @ =gCurrentMove - ldrh r3, [r2] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x2 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _0801DAF4 - cmp r3, 0xAE - bne _0801DA38 - ldr r2, _0801DA98 @ =gBattleMons - ldr r0, _0801DA9C @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x7 - beq _0801DA38 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x7 - bne _0801DAF4 -_0801DA38: - ldrh r0, [r4] - bl IsTwoTurnsMove - lsls r0, 24 - cmp r0, 0 - beq _0801DA5E - ldr r1, _0801DA98 @ =gBattleMons - ldr r0, _0801DA9C @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _0801DAF4 -_0801DA5E: - ldr r0, _0801DA9C @ =gBattlerAttacker - ldrb r0, [r0] - bl CancelMultiTurnMoves - ldr r2, _0801DAA0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801DAA4 @ =gLastLandedMoves - ldr r3, _0801DAA8 @ =gBattlerTarget - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801DAAC @ =gLastHitByType - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldr r1, _0801DAB0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x6] - b _0801DAF4 - .align 2, 0 -_0801DA90: .4byte gBattleMoves -_0801DA94: .4byte gCurrentMove -_0801DA98: .4byte gBattleMons -_0801DA9C: .4byte gBattlerAttacker -_0801DAA0: .4byte gMoveResultFlags -_0801DAA4: .4byte gLastLandedMoves -_0801DAA8: .4byte gBattlerTarget -_0801DAAC: .4byte gLastHitByType -_0801DAB0: .4byte gBattleCommunication -_0801DAB4: - ldr r0, _0801DAE0 @ =gBattlerAttacker - ldrb r0, [r0] - ldr r2, _0801DAE4 @ =0x00000121 - adds r1, r3, 0 - bl PressurePPLose - ldrb r1, [r4] - lsls r1, 4 - adds r1, r6 - ldrb r2, [r1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, _0801DAE8 @ =gBattleScripting - ldrb r0, [r4] - strb r0, [r1, 0x17] - bl BattleScriptPushCursor - ldr r1, _0801DAEC @ =gBattlescriptCurrInstr - ldr r0, _0801DAF0 @ =BattleScript_SnatchedMove - b _0801DAFA - .align 2, 0 -_0801DAE0: .4byte gBattlerAttacker -_0801DAE4: .4byte 0x00000121 -_0801DAE8: .4byte gBattleScripting -_0801DAEC: .4byte gBattlescriptCurrInstr -_0801DAF0: .4byte BattleScript_SnatchedMove -_0801DAF4: - ldr r1, _0801DB0C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 -_0801DAFA: - str r0, [r1] -_0801DAFC: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801DB0C: .4byte gBattlescriptCurrInstr - thumb_func_end atk00_attackcanceler - - thumb_func_start JumpIfMoveFailed -JumpIfMoveFailed: @ 801DB10 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r1, _0801DB5C @ =gBattlescriptCurrInstr - ldr r5, [r1] - adds r4, r5, r0 - ldr r0, _0801DB60 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801DB70 - ldr r1, _0801DB64 @ =gLastLandedMoves - ldr r3, _0801DB68 @ =gBattlerTarget - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801DB6C @ =gLastHitByType - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldrb r4, [r5, 0x1] - ldrb r0, [r5, 0x2] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r5, 0x3] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r5, 0x4] - lsls r0, 24 - orrs r4, r0 - b _0801DB8A - .align 2, 0 -_0801DB5C: .4byte gBattlescriptCurrInstr -_0801DB60: .4byte gMoveResultFlags -_0801DB64: .4byte gLastLandedMoves -_0801DB68: .4byte gBattlerTarget -_0801DB6C: .4byte gLastHitByType -_0801DB70: - bl TrySetDestinyBondToHappen - ldr r0, _0801DB98 @ =gBattlerTarget - ldrb r1, [r0] - str r6, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801DB8E -_0801DB8A: - ldr r0, _0801DB9C @ =gBattlescriptCurrInstr - str r4, [r0] -_0801DB8E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801DB98: .4byte gBattlerTarget -_0801DB9C: .4byte gBattlescriptCurrInstr - thumb_func_end JumpIfMoveFailed - - thumb_func_start atk40_jumpifaffectedbyprotect -atk40_jumpifaffectedbyprotect: @ 801DBA0 - push {lr} - ldr r1, _0801DBE8 @ =gProtectStructs - ldr r0, _0801DBEC @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0801DC00 - ldr r2, _0801DBF0 @ =gBattleMoves - ldr r0, _0801DBF4 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801DC00 - ldr r2, _0801DBF8 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x5 - movs r1, 0 - bl JumpIfMoveFailed - ldr r1, _0801DBFC @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x6] - b _0801DC08 - .align 2, 0 -_0801DBE8: .4byte gProtectStructs -_0801DBEC: .4byte gBattlerTarget -_0801DBF0: .4byte gBattleMoves -_0801DBF4: .4byte gCurrentMove -_0801DBF8: .4byte gMoveResultFlags -_0801DBFC: .4byte gBattleCommunication -_0801DC00: - ldr r1, _0801DC0C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0801DC08: - pop {r0} - bx r0 - .align 2, 0 -_0801DC0C: .4byte gBattlescriptCurrInstr - thumb_func_end atk40_jumpifaffectedbyprotect - - thumb_func_start JumpIfMoveAffectedByProtect -JumpIfMoveAffectedByProtect: @ 801DC10 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r4, 0 - ldr r1, _0801DC64 @ =gProtectStructs - ldr r0, _0801DC68 @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0801DC5C - ldr r2, _0801DC6C @ =gBattleMoves - ldr r0, _0801DC70 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801DC5C - ldr r2, _0801DC74 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x7 - adds r1, r3, 0 - bl JumpIfMoveFailed - ldr r1, _0801DC78 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x6] - movs r4, 0x1 -_0801DC5C: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0801DC64: .4byte gProtectStructs -_0801DC68: .4byte gBattlerTarget -_0801DC6C: .4byte gBattleMoves -_0801DC70: .4byte gCurrentMove -_0801DC74: .4byte gMoveResultFlags -_0801DC78: .4byte gBattleCommunication - thumb_func_end JumpIfMoveAffectedByProtect - - thumb_func_start AccuracyCalcHelper -AccuracyCalcHelper: @ 801DC7C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r2, _0801DCDC @ =gStatuses3 - ldr r3, _0801DCE0 @ =gBattlerTarget - ldrb r4, [r3] - lsls r0, r4, 2 - adds r0, r2 - ldr r1, [r0] - movs r0, 0x18 - ands r1, r0 - adds r6, r2, 0 - cmp r1, 0 - beq _0801DCAE - ldr r1, _0801DCE4 @ =gDisableStructs - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, _0801DCE8 @ =gBattlerAttacker - ldrb r0, [r0, 0x15] - ldrb r1, [r1] - cmp r0, r1 - beq _0801DD98 -_0801DCAE: - ldr r0, _0801DCEC @ =gHitMarker - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 9 - ands r1, r2 - adds r2, r0, 0 - cmp r1, 0 - bne _0801DCF4 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0801DCF4 -_0801DCCE: - ldr r0, _0801DCF0 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _0801DD98 - .align 2, 0 -_0801DCDC: .4byte gStatuses3 -_0801DCE0: .4byte gBattlerTarget -_0801DCE4: .4byte gDisableStructs -_0801DCE8: .4byte gBattlerAttacker -_0801DCEC: .4byte gHitMarker -_0801DCF0: .4byte gMoveResultFlags -_0801DCF4: - ldr r0, [r2] - ldr r1, _0801DDA4 @ =0xfffeffff - ands r0, r1 - str r0, [r2] - movs r1, 0x80 - lsls r1, 10 - ands r0, r1 - cmp r0, 0 - bne _0801DD16 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0801DCCE -_0801DD16: - ldr r0, [r2] - ldr r1, _0801DDA8 @ =0xfffdffff - ands r0, r1 - str r0, [r2] - movs r1, 0x80 - lsls r1, 11 - ands r0, r1 - cmp r0, 0 - bne _0801DD36 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - bne _0801DCCE -_0801DD36: - ldr r0, [r2] - ldr r1, _0801DDAC @ =0xfffbffff - ands r0, r1 - str r0, [r2] - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - lsls r4, r5, 1 - cmp r0, 0 - bne _0801DD86 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801DD86 - ldr r0, _0801DDB0 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0801DD86 - ldr r0, _0801DDB4 @ =gBattleMoves - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x98 - beq _0801DD98 -_0801DD86: - ldr r1, _0801DDB4 @ =gBattleMoves - adds r0, r4, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x11 - beq _0801DD98 - cmp r0, 0x4E - bne _0801DDB8 -_0801DD98: - movs r0, 0x7 - adds r1, r5, 0 - bl JumpIfMoveFailed - movs r0, 0x1 - b _0801DDBA - .align 2, 0 -_0801DDA4: .4byte 0xfffeffff -_0801DDA8: .4byte 0xfffdffff -_0801DDAC: .4byte 0xfffbffff -_0801DDB0: .4byte gBattleWeather -_0801DDB4: .4byte gBattleMoves -_0801DDB8: - movs r0, 0 -_0801DDBA: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end AccuracyCalcHelper - - thumb_func_start atk01_accuracycheck -atk01_accuracycheck: @ 801DDC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _0801DE60 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r6, [r0, 0x5] - ldrb r0, [r0, 0x6] - lsls r0, 8 - orrs r6, r0 - ldr r0, _0801DE64 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801DE48 - movs r0, 0x1 - bl sub_80EB2E0 - lsls r0, 24 - cmp r0, 0 - bne _0801DE12 - ldr r0, _0801DE68 @ =gBattleMoves - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801DE12 - ldr r0, _0801DE6C @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0801DE56 -_0801DE12: - ldr r0, _0801DE64 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801DE48 - movs r0, 0x2 - bl sub_80EB2E0 - lsls r0, 24 - cmp r0, 0 - bne _0801DE48 - ldr r0, _0801DE68 @ =gBattleMoves - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0801DE48 - ldr r0, _0801DE6C @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0801DE56 -_0801DE48: - ldr r0, _0801DE64 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - beq _0801DE70 -_0801DE56: - movs r0, 0x7 - adds r1, r6, 0 - bl JumpIfMoveFailed - b _0801E1C2 - .align 2, 0 -_0801DE60: .4byte gBattlescriptCurrInstr -_0801DE64: .4byte gBattleTypeFlags -_0801DE68: .4byte gBattleMoves -_0801DE6C: .4byte gBattlerAttacker -_0801DE70: - adds r0, r6, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0801DF0C - ldr r2, _0801DED4 @ =gStatuses3 - ldr r3, _0801DED8 @ =gBattlerTarget - ldrb r4, [r3] - lsls r0, r4, 2 - adds r0, r2 - ldr r1, [r0] - movs r0, 0x18 - ands r1, r0 - cmp r1, 0 - beq _0801DEA8 - ldr r0, _0801DEDC @ =0x0000ffff - cmp r6, r0 - bne _0801DEA8 - ldr r1, _0801DEE0 @ =gDisableStructs - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, _0801DEE4 @ =gBattlerAttacker - ldrb r0, [r0, 0x15] - ldrb r1, [r1] - cmp r0, r1 - beq _0801DEFE -_0801DEA8: - ldrb r0, [r3] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldr r1, _0801DEE8 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _0801DEF0 - ldr r3, _0801DEEC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0801E1C2 - .align 2, 0 -_0801DED4: .4byte gStatuses3 -_0801DED8: .4byte gBattlerTarget -_0801DEDC: .4byte 0x0000ffff -_0801DEE0: .4byte gDisableStructs -_0801DEE4: .4byte gBattlerAttacker -_0801DEE8: .4byte 0x000400c0 -_0801DEEC: .4byte gBattlescriptCurrInstr -_0801DEF0: - movs r0, 0 - bl JumpIfMoveAffectedByProtect - lsls r0, 24 - cmp r0, 0 - beq _0801DEFE - b _0801E1C2 -_0801DEFE: - ldr r1, _0801DF08 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x7 - str r0, [r1] - b _0801E1C2 - .align 2, 0 -_0801DF08: .4byte gBattlescriptCurrInstr -_0801DF0C: - cmp r6, 0 - bne _0801DF14 - ldr r0, _0801DF2C @ =gCurrentMove - ldrh r6, [r0] -_0801DF14: - ldr r0, _0801DF30 @ =gBattleStruct - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _0801DF34 - movs r1, 0x3F - mov r10, r1 - mov r2, r10 - ands r2, r0 - mov r10, r2 - b _0801DF42 - .align 2, 0 -_0801DF2C: .4byte gCurrentMove -_0801DF30: .4byte gBattleStruct -_0801DF34: - ldr r1, _0801DF88 @ =gBattleMoves - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - mov r10, r0 -_0801DF42: - adds r0, r6, 0 - bl JumpIfMoveAffectedByProtect - lsls r0, 24 - cmp r0, 0 - beq _0801DF50 - b _0801E1C2 -_0801DF50: - adds r0, r6, 0 - bl AccuracyCalcHelper - lsls r0, 24 - cmp r0, 0 - beq _0801DF5E - b _0801E1C2 -_0801DF5E: - ldr r3, _0801DF8C @ =gBattleMons - ldr r0, _0801DF90 @ =gBattlerTarget - ldrb r0, [r0] - movs r2, 0x58 - adds r4, r0, 0 - muls r4, r2 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r4, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801DF98 - ldr r0, _0801DF94 @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - ldrb r5, [r0, 0x1E] - b _0801DFAE - .align 2, 0 -_0801DF88: .4byte gBattleMoves -_0801DF8C: .4byte gBattleMons -_0801DF90: .4byte gBattlerTarget -_0801DF94: .4byte gBattlerAttacker -_0801DF98: - ldr r0, _0801E0FC @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - ldrb r0, [r0, 0x1E] - adds r0, 0x6 - adds r1, r4, r3 - ldrb r1, [r1, 0x1F] - subs r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 -_0801DFAE: - lsls r0, r5, 24 - cmp r0, 0 - bge _0801DFB6 - movs r5, 0 -_0801DFB6: - lsls r0, r5, 24 - asrs r0, 24 - cmp r0, 0xC - ble _0801DFC0 - movs r5, 0xC -_0801DFC0: - ldr r1, _0801E100 @ =gBattleMoves - lsls r4, r6, 1 - adds r0, r4, r6 - lsls r0, 2 - adds r7, r0, r1 - ldrb r3, [r7, 0x3] - mov r8, r3 - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - str r4, [sp, 0x4] - cmp r0, 0 - bne _0801E012 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801E012 - ldr r0, _0801E104 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0801E012 - ldrb r0, [r7] - cmp r0, 0x98 - bne _0801E012 - movs r0, 0x32 - mov r8, r0 -_0801E012: - ldr r1, _0801E108 @ =sAccuracyStageRatios - lsls r0, r5, 24 - asrs r0, 22 - adds r0, r1 - ldrb r1, [r0] - mov r4, r8 - muls r4, r1 - ldrb r1, [r0, 0x1] - adds r0, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r7, _0801E10C @ =gBattleMons - ldr r0, _0801E0FC @ =gBattlerAttacker - ldrb r0, [r0] - movs r5, 0x58 - muls r0, r5 - adds r0, r7 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0xE - bne _0801E050 - lsls r0, r4, 6 - adds r0, r4 - lsls r0, 1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801E050: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0801E0A8 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801E0A8 - ldr r0, _0801E110 @ =gBattlerTarget - ldrb r0, [r0] - muls r0, r5 - adds r0, r7 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x8 - bne _0801E0A8 - ldr r0, _0801E104 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _0801E0A8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801E0A8: - ldr r2, _0801E10C @ =gBattleMons - ldr r0, _0801E0FC @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - mov r9, r2 - cmp r0, 0x37 - bne _0801E0D4 - mov r1, r10 - cmp r1, 0x8 - bhi _0801E0D4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801E0D4: - ldr r2, _0801E110 @ =gBattlerTarget - mov r8, r2 - ldrb r2, [r2] - movs r7, 0x58 - adds r0, r2, 0 - muls r0, r7 - mov r3, r9 - adds r1, r0, r3 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0801E118 - ldr r1, _0801E114 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r5, [r0, 0x7] - ldrb r2, [r0, 0x1A] - b _0801E134 - .align 2, 0 -_0801E0FC: .4byte gBattlerAttacker -_0801E100: .4byte gBattleMoves -_0801E104: .4byte gBattleWeather -_0801E108: .4byte sAccuracyStageRatios -_0801E10C: .4byte gBattleMons -_0801E110: .4byte gBattlerTarget -_0801E114: .4byte gEnigmaBerries -_0801E118: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r8 - ldrb r0, [r1] - muls r0, r7 - add r0, r9 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r2, r0, 24 -_0801E134: - ldr r0, _0801E198 @ =gPotentialItemEffectBattler - ldr r1, _0801E19C @ =gBattlerTarget - ldrb r1, [r1] - strb r1, [r0] - cmp r5, 0x16 - bne _0801E150 - movs r0, 0x64 - subs r0, r2 - muls r0, r4 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801E150: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - cmp r0, r4 - ble _0801E1BA - ldr r2, _0801E1A0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0801E1A4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0801E1B0 - ldr r1, _0801E1A8 @ =gBattleMoves - ldr r2, [sp, 0x4] - adds r0, r2, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x6] - cmp r0, 0x8 - beq _0801E192 - cmp r0, 0x20 - bne _0801E1B0 -_0801E192: - ldr r1, _0801E1AC @ =gBattleCommunication - movs r0, 0x2 - b _0801E1B4 - .align 2, 0 -_0801E198: .4byte gPotentialItemEffectBattler -_0801E19C: .4byte gBattlerTarget -_0801E1A0: .4byte gMoveResultFlags -_0801E1A4: .4byte gBattleTypeFlags -_0801E1A8: .4byte gBattleMoves -_0801E1AC: .4byte gBattleCommunication -_0801E1B0: - ldr r1, _0801E1D4 @ =gBattleCommunication - movs r0, 0 -_0801E1B4: - strb r0, [r1, 0x6] - bl CheckWonderGuardAndLevitate -_0801E1BA: - movs r0, 0x7 - adds r1, r6, 0 - bl JumpIfMoveFailed -_0801E1C2: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E1D4: .4byte gBattleCommunication - thumb_func_end atk01_accuracycheck - - thumb_func_start atk02_attackstring -atk02_attackstring: @ 801E1D8 - push {r4,r5,lr} - ldr r0, _0801E218 @ =gBattleControllerExecFlags - ldr r5, [r0] - cmp r5, 0 - bne _0801E210 - ldr r4, _0801E21C @ =gHitMarker - ldr r0, [r4] - movs r1, 0xC0 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - bne _0801E204 - ldr r0, _0801E220 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x4 - bl PrepareStringBattle - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - str r0, [r4] -_0801E204: - ldr r0, _0801E224 @ =gBattlescriptCurrInstr - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _0801E228 @ =gBattleCommunication - strb r5, [r0, 0x7] -_0801E210: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801E218: .4byte gBattleControllerExecFlags -_0801E21C: .4byte gHitMarker -_0801E220: .4byte gBattlerAttacker -_0801E224: .4byte gBattlescriptCurrInstr -_0801E228: .4byte gBattleCommunication - thumb_func_end atk02_attackstring - - thumb_func_start atk03_ppreduce -atk03_ppreduce: @ 801E22C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r6, 0x1 - ldr r0, _0801E27C @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0801E244 - b _0801E3DE -_0801E244: - ldr r1, _0801E280 @ =gSpecialStatuses - ldr r2, _0801E284 @ =gBattlerAttacker - ldrb r3, [r2] - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 26 - lsrs r4, r0, 31 - mov r9, r2 - cmp r4, 0 - bne _0801E2E6 - ldr r2, _0801E288 @ =gBattleMoves - ldr r0, _0801E28C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x6] - cmp r0, 0x20 - beq _0801E296 - cmp r0, 0x20 - bgt _0801E290 - cmp r0, 0x8 - beq _0801E2AC - b _0801E2C6 - .align 2, 0 -_0801E27C: .4byte gBattleControllerExecFlags -_0801E280: .4byte gSpecialStatuses -_0801E284: .4byte gBattlerAttacker -_0801E288: .4byte gBattleMoves -_0801E28C: .4byte gCurrentMove -_0801E290: - cmp r0, 0x40 - beq _0801E2AC - b _0801E2C6 -_0801E296: - str r4, [sp] - movs r0, 0x12 - adds r1, r3, 0 - movs r2, 0x2E - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0x1 - b _0801E2E6 -_0801E2AC: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - movs r2, 0x2E - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - adds r6, r0 - b _0801E2E6 -_0801E2C6: - ldr r1, _0801E348 @ =gBattlerTarget - mov r2, r9 - ldrb r0, [r2] - ldrb r7, [r1] - cmp r0, r7 - beq _0801E2E6 - ldr r2, _0801E34C @ =gBattleMons - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2E - bne _0801E2E6 - adds r6, 0x1 -_0801E2E6: - ldr r0, _0801E350 @ =gHitMarker - ldr r4, [r0] - movs r0, 0xA0 - lsls r0, 4 - ands r4, r0 - cmp r4, 0 - bne _0801E3CC - ldr r2, _0801E34C @ =gBattleMons - ldr r3, _0801E354 @ =gCurrMovePos - ldr r1, _0801E358 @ =gBattlerAttacker - ldrb r5, [r1] - movs r0, 0x58 - mov r8, r0 - mov r0, r8 - muls r0, r5 - ldrb r7, [r3] - adds r0, r7 - movs r7, 0x24 - adds r7, r2 - mov r12, r7 - add r0, r12 - ldrb r0, [r0] - mov r9, r1 - mov r10, r2 - adds r7, r3, 0 - cmp r0, 0 - beq _0801E3CC - ldr r0, _0801E35C @ =gProtectStructs - lsls r1, r5, 4 - adds r1, r0 - ldrb r0, [r1, 0x2] - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x2] - mov r1, r9 - ldrb r0, [r1] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - ldrb r1, [r7] - adds r0, r1 - mov r1, r12 - adds r2, r0, r1 - ldrb r0, [r2] - cmp r0, r6 - ble _0801E360 - subs r0, r6 - strb r0, [r2] - b _0801E362 - .align 2, 0 -_0801E348: .4byte gBattlerTarget -_0801E34C: .4byte gBattleMons -_0801E350: .4byte gHitMarker -_0801E354: .4byte gCurrMovePos -_0801E358: .4byte gBattlerAttacker -_0801E35C: .4byte gProtectStructs -_0801E360: - strb r4, [r2] -_0801E362: - mov r2, r9 - ldrb r3, [r2] - movs r4, 0x58 - adds r0, r3, 0 - muls r0, r4 - mov r1, r10 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _0801E3CC - ldr r1, _0801E3F0 @ =gDisableStructs - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _0801E3F4 @ =gBitTable - ldrb r0, [r7] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0801E3CC - ldr r0, _0801E3F8 @ =gActiveBattler - strb r3, [r0] - ldrb r1, [r7] - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - mov r2, r9 - ldrb r0, [r2] - muls r0, r4 - mov r2, r10 - adds r2, 0x24 - adds r0, r2 - ldrb r7, [r7] - adds r0, r7 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - mov r7, r9 - ldrb r0, [r7] - bl MarkBattlerForControllerExec -_0801E3CC: - ldr r2, _0801E3FC @ =gHitMarker - ldr r0, [r2] - ldr r1, _0801E400 @ =0xfffff7ff - ands r0, r1 - str r0, [r2] - ldr r1, _0801E404 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801E3DE: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E3F0: .4byte gDisableStructs -_0801E3F4: .4byte gBitTable -_0801E3F8: .4byte gActiveBattler -_0801E3FC: .4byte gHitMarker -_0801E400: .4byte 0xfffff7ff -_0801E404: .4byte gBattlescriptCurrInstr - thumb_func_end atk03_ppreduce - - thumb_func_start atk04_critcalc -atk04_critcalc: @ 801E408 - push {r4-r7,lr} - ldr r1, _0801E42C @ =gBattleMons - ldr r0, _0801E430 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - cmp r0, 0xAF - bne _0801E438 - ldr r1, _0801E434 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r6, [r0, 0x7] - b _0801E440 - .align 2, 0 -_0801E42C: .4byte gBattleMons -_0801E430: .4byte gBattlerAttacker -_0801E434: .4byte gEnigmaBerries -_0801E438: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r6, r0, 24 -_0801E440: - ldr r1, _0801E4CC @ =gPotentialItemEffectBattler - ldr r3, _0801E4D0 @ =gBattlerAttacker - ldrb r0, [r3] - strb r0, [r1] - ldr r4, _0801E4D4 @ =gBattleMons - ldrb r1, [r3] - movs r0, 0x58 - adds r7, r1, 0 - muls r7, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r7, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - negs r0, r0 - asrs r5, r0, 31 - movs r0, 0x2 - ands r5, r0 - ldr r2, _0801E4D8 @ =gBattleMoves - ldr r0, _0801E4DC @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - mov r12, r3 - cmp r1, 0x2B - bne _0801E480 - adds r5, 0x1 -_0801E480: - adds r0, r5, 0 - cmp r1, 0x4B - bne _0801E488 - adds r0, 0x1 -_0801E488: - cmp r1, 0xC8 - bne _0801E48E - adds r0, 0x1 -_0801E48E: - adds r2, r0, 0 - cmp r1, 0xD1 - bne _0801E496 - adds r2, 0x1 -_0801E496: - movs r1, 0 - cmp r6, 0x3F - bne _0801E4A6 - adds r0, r7, r4 - ldrh r0, [r0] - cmp r0, 0x71 - bne _0801E4A6 - movs r1, 0x1 -_0801E4A6: - lsls r5, r1, 1 - movs r3, 0 - cmp r6, 0x42 - bne _0801E4C0 - mov r0, r12 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0x53 - bne _0801E4C0 - movs r3, 0x1 -_0801E4C0: - lsls r1, r3, 1 - cmp r6, 0x29 - bne _0801E4E0 - adds r0, r5, 0x1 - adds r0, r2, r0 - b _0801E4E2 - .align 2, 0 -_0801E4CC: .4byte gPotentialItemEffectBattler -_0801E4D0: .4byte gBattlerAttacker -_0801E4D4: .4byte gBattleMons -_0801E4D8: .4byte gBattleMoves -_0801E4DC: .4byte gCurrentMove -_0801E4E0: - adds r0, r2, r5 -_0801E4E2: - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - adds r5, r0, 0 - cmp r5, 0x4 - bls _0801E4F0 - movs r5, 0x4 -_0801E4F0: - ldr r0, _0801E56C @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - ldrb r4, [r0] - cmp r4, 0x4 - beq _0801E580 - cmp r4, 0x4B - beq _0801E580 - ldr r1, _0801E570 @ =gStatuses3 - mov r2, r12 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - bne _0801E580 - ldr r4, _0801E574 @ =gBattleTypeFlags - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - bne _0801E580 - bl Random - ldr r2, _0801E578 @ =sCriticalHitChance - lsls r1, r5, 1 - adds r1, r2 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0801E580 - ldr r0, [r4] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801E55A - movs r0, 0x1 - bl sub_80EB2E0 - lsls r0, 24 - cmp r0, 0 - beq _0801E580 -_0801E55A: - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - bne _0801E580 - ldr r1, _0801E57C @ =gCritMultiplier - movs r0, 0x2 - b _0801E584 - .align 2, 0 -_0801E56C: .4byte gBattlerTarget -_0801E570: .4byte gStatuses3 -_0801E574: .4byte gBattleTypeFlags -_0801E578: .4byte sCriticalHitChance -_0801E57C: .4byte gCritMultiplier -_0801E580: - ldr r1, _0801E594 @ =gCritMultiplier - movs r0, 0x1 -_0801E584: - strb r0, [r1] - ldr r1, _0801E598 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E594: .4byte gCritMultiplier -_0801E598: .4byte gBattlescriptCurrInstr - thumb_func_end atk04_critcalc - - thumb_func_start atk05_damagecalc -atk05_damagecalc: @ 801E59C - push {r4-r7,lr} - sub sp, 0x10 - ldr r4, _0801E654 @ =gSideStatuses - ldr r5, _0801E658 @ =gBattlerTarget - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldr r6, _0801E65C @ =gBattlerAttacker - ldrb r0, [r6] - movs r4, 0x58 - muls r0, r4 - ldr r2, _0801E660 @ =gBattleMons - adds r0, r2 - ldrb r1, [r5] - muls r1, r4 - adds r1, r2 - ldr r7, _0801E664 @ =gCurrentMove - ldrh r2, [r7] - ldr r4, _0801E668 @ =gDynamicBasePower - ldrh r4, [r4] - str r4, [sp] - ldr r4, _0801E66C @ =gBattleStruct - ldr r4, [r4] - ldrb r4, [r4, 0x13] - str r4, [sp, 0x4] - ldrb r4, [r6] - str r4, [sp, 0x8] - ldrb r4, [r5] - str r4, [sp, 0xC] - bl CalculateBaseDamage - ldr r4, _0801E670 @ =gBattleMoveDamage - ldr r1, _0801E674 @ =gCritMultiplier - ldrb r1, [r1] - muls r1, r0 - ldr r0, _0801E678 @ =gBattleScripting - ldrb r0, [r0, 0xE] - adds r3, r1, 0 - muls r3, r0 - str r3, [r4] - ldr r1, _0801E67C @ =gStatuses3 - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _0801E620 - ldr r2, _0801E680 @ =gBattleMoves - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - cmp r0, 0xD - bne _0801E620 - lsls r0, r3, 1 - str r0, [r4] -_0801E620: - ldr r1, _0801E684 @ =gProtectStructs - ldr r0, _0801E65C @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _0801E642 - ldr r4, _0801E670 @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0801E642: - ldr r1, _0801E688 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E654: .4byte gSideStatuses -_0801E658: .4byte gBattlerTarget -_0801E65C: .4byte gBattlerAttacker -_0801E660: .4byte gBattleMons -_0801E664: .4byte gCurrentMove -_0801E668: .4byte gDynamicBasePower -_0801E66C: .4byte gBattleStruct -_0801E670: .4byte gBattleMoveDamage -_0801E674: .4byte gCritMultiplier -_0801E678: .4byte gBattleScripting -_0801E67C: .4byte gStatuses3 -_0801E680: .4byte gBattleMoves -_0801E684: .4byte gProtectStructs -_0801E688: .4byte gBattlescriptCurrInstr - thumb_func_end atk05_damagecalc - - thumb_func_start AI_CalcDmg -AI_CalcDmg: @ 801E68C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r5, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _0801E744 @ =gSideStatuses - adds r0, r5, 0 - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - movs r1, 0x58 - adds r0, r7, 0 - muls r0, r1 - ldr r2, _0801E748 @ =gBattleMons - adds r0, r2 - muls r1, r5 - adds r1, r2 - ldr r2, _0801E74C @ =gCurrentMove - mov r8, r2 - ldrh r2, [r2] - ldr r6, _0801E750 @ =gDynamicBasePower - ldrh r4, [r6] - str r4, [sp] - ldr r4, _0801E754 @ =gBattleStruct - ldr r4, [r4] - ldrb r4, [r4, 0x13] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - str r5, [sp, 0xC] - bl CalculateBaseDamage - ldr r4, _0801E758 @ =gBattleMoveDamage - movs r1, 0 - strh r1, [r6] - ldr r1, _0801E75C @ =gCritMultiplier - ldrb r1, [r1] - muls r1, r0 - ldr r0, _0801E760 @ =gBattleScripting - ldrb r0, [r0, 0xE] - adds r3, r1, 0 - muls r3, r0 - str r3, [r4] - ldr r1, _0801E764 @ =gStatuses3 - lsls r0, r7, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _0801E71A - ldr r2, _0801E768 @ =gBattleMoves - mov r0, r8 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - cmp r0, 0xD - bne _0801E71A - lsls r0, r3, 1 - str r0, [r4] -_0801E71A: - ldr r0, _0801E76C @ =gProtectStructs - lsls r1, r7, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 28 - cmp r0, 0 - bge _0801E738 - ldr r4, _0801E758 @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0801E738: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E744: .4byte gSideStatuses -_0801E748: .4byte gBattleMons -_0801E74C: .4byte gCurrentMove -_0801E750: .4byte gDynamicBasePower -_0801E754: .4byte gBattleStruct -_0801E758: .4byte gBattleMoveDamage -_0801E75C: .4byte gCritMultiplier -_0801E760: .4byte gBattleScripting -_0801E764: .4byte gStatuses3 -_0801E768: .4byte gBattleMoves -_0801E76C: .4byte gProtectStructs - thumb_func_end AI_CalcDmg - - thumb_func_start ModulateDmgByType -ModulateDmgByType: @ 801E770 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _0801E7A0 @ =gBattleMoveDamage - ldr r0, [r5] - muls r0, r4 - movs r1, 0xA - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _0801E790 - cmp r4, 0 - beq _0801E790 - movs r0, 0x1 - str r0, [r5] -_0801E790: - cmp r4, 0x5 - beq _0801E7C0 - cmp r4, 0x5 - bgt _0801E7A4 - cmp r4, 0 - beq _0801E7AA - b _0801E842 - .align 2, 0 -_0801E7A0: .4byte gBattleMoveDamage -_0801E7A4: - cmp r4, 0x14 - beq _0801E800 - b _0801E842 -_0801E7AA: - ldr r2, _0801E7BC @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0xFB - ands r0, r1 - movs r1, 0xFD - ands r0, r1 - b _0801E840 - .align 2, 0 -_0801E7BC: .4byte gMoveResultFlags -_0801E7C0: - ldr r2, _0801E7F0 @ =gBattleMoves - ldr r0, _0801E7F4 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801E842 - ldr r2, _0801E7F8 @ =gMoveResultFlags - ldrb r1, [r2] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801E842 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801E7FC - movs r0, 0xFD - ands r0, r1 - b _0801E840 - .align 2, 0 -_0801E7F0: .4byte gBattleMoves -_0801E7F4: .4byte gCurrentMove -_0801E7F8: .4byte gMoveResultFlags -_0801E7FC: - movs r0, 0x4 - b _0801E83E -_0801E800: - ldr r2, _0801E830 @ =gBattleMoves - ldr r0, _0801E834 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801E842 - ldr r2, _0801E838 @ =gMoveResultFlags - ldrb r1, [r2] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801E842 - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801E83C - movs r0, 0xFB - ands r0, r1 - b _0801E840 - .align 2, 0 -_0801E830: .4byte gBattleMoves -_0801E834: .4byte gCurrentMove -_0801E838: .4byte gMoveResultFlags -_0801E83C: - movs r0, 0x2 -_0801E83E: - orrs r0, r1 -_0801E840: - strb r0, [r2] -_0801E842: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ModulateDmgByType - - thumb_func_start atk06_typecalc -atk06_typecalc: @ 801E848 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0 - ldr r1, _0801E870 @ =gCurrentMove - ldrh r0, [r1] - cmp r0, 0xA5 - bne _0801E85C - b _0801EA70 -_0801E85C: - ldr r0, _0801E874 @ =gBattleStruct - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _0801E878 - movs r1, 0x3F - mov r8, r1 - ands r1, r0 - mov r8, r1 - b _0801E888 - .align 2, 0 -_0801E870: .4byte gCurrentMove -_0801E874: .4byte gBattleStruct -_0801E878: - ldr r2, _0801E910 @ =gBattleMoves - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r8, r0 -_0801E888: - ldr r2, _0801E914 @ =gBattleMons - ldr r0, _0801E918 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - adds r5, r2, 0 - cmp r0, r8 - beq _0801E8AA - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r8 - bne _0801E8C0 -_0801E8AA: - ldr r4, _0801E91C @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - str r0, [r4] - movs r1, 0xA - str r3, [sp, 0x4] - bl __divsi3 - str r0, [r4] - ldr r3, [sp, 0x4] -_0801E8C0: - ldr r2, _0801E920 @ =gBattlerTarget - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - adds r4, r2, 0 - cmp r0, 0x1A - bne _0801E938 - mov r1, r8 - cmp r1, 0x4 - bne _0801E938 - ldr r3, _0801E924 @ =gLastUsedAbility - strb r0, [r3] - ldr r2, _0801E928 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x9 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801E92C @ =gLastLandedMoves - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801E930 @ =gLastHitByType - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldr r0, _0801E934 @ =gBattleCommunication - mov r1, r8 - strb r1, [r0, 0x6] - ldrb r0, [r4] - ldrb r1, [r3] - bl RecordAbilityBattle - b _0801E9D4 - .align 2, 0 -_0801E910: .4byte gBattleMoves -_0801E914: .4byte gBattleMons -_0801E918: .4byte gBattlerAttacker -_0801E91C: .4byte gBattleMoveDamage -_0801E920: .4byte gBattlerTarget -_0801E924: .4byte gLastUsedAbility -_0801E928: .4byte gMoveResultFlags -_0801E92C: .4byte gLastLandedMoves -_0801E930: .4byte gLastHitByType -_0801E934: .4byte gBattleCommunication -_0801E938: - ldr r1, _0801E944 @ =gTypeEffectiveness - adds r0, r3, r1 - ldrb r0, [r0] - adds r2, r1, 0 - b _0801E9B4 - .align 2, 0 -_0801E944: .4byte gTypeEffectiveness -_0801E948: - adds r3, 0x3 - b _0801E9B0 -_0801E94C: - ldr r5, _0801EA84 @ =gTypeEffectiveness - adds r0, r3, r5 - ldrb r0, [r0] - cmp r0, r8 - bne _0801E9A8 - adds r1, r3, 0x1 - adds r1, r5 - ldr r2, _0801EA88 @ =gBattleMons - ldr r7, _0801EA8C @ =gBattlerTarget - ldrb r0, [r7] - movs r6, 0x58 - muls r0, r6 - adds r0, r2 - adds r0, 0x21 - ldrb r4, [r1] - ldrb r0, [r0] - cmp r4, r0 - bne _0801E982 - adds r0, r3, 0x2 - adds r0, r5 - ldrb r0, [r0] - str r2, [sp] - str r3, [sp, 0x4] - bl ModulateDmgByType - ldr r3, [sp, 0x4] - ldr r2, [sp] -_0801E982: - ldrb r0, [r7] - muls r0, r6 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r1, [r1] - cmp r4, r1 - bne _0801E9A8 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r4 - beq _0801E9A8 - adds r0, r3, 0x2 - adds r0, r5 - ldrb r0, [r0] - str r3, [sp, 0x4] - bl ModulateDmgByType - ldr r3, [sp, 0x4] -_0801E9A8: - adds r3, 0x3 - ldr r5, _0801EA88 @ =gBattleMons - ldr r4, _0801EA8C @ =gBattlerTarget - ldr r2, _0801EA84 @ =gTypeEffectiveness -_0801E9B0: - adds r0, r3, r2 - ldrb r0, [r0] -_0801E9B4: - cmp r0, 0xFF - beq _0801E9D4 - cmp r0, 0xFE - bne _0801E94C - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r1, r5, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801E948 -_0801E9D4: - ldr r2, _0801EA88 @ =gBattleMons - ldr r5, _0801EA8C @ =gBattlerTarget - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r6, [r0] - cmp r6, 0x19 - bne _0801EA52 - ldr r0, _0801EA90 @ =gBattlerAttacker - ldrb r0, [r0] - ldr r7, _0801EA94 @ =gCurrentMove - ldrh r1, [r7] - bl AttacksThisTurn - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0801EA52 - ldr r1, _0801EA98 @ =gMoveResultFlags - mov r8, r1 - ldrb r4, [r1] - ands r0, r4 - cmp r0, 0 - beq _0801EA10 - movs r0, 0x6 - ands r0, r4 - cmp r0, 0x6 - bne _0801EA52 -_0801EA10: - ldr r2, _0801EA9C @ =gBattleMoves - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801EA52 - ldr r3, _0801EAA0 @ =gLastUsedAbility - strb r6, [r3] - movs r0, 0x1 - orrs r0, r4 - mov r1, r8 - strb r0, [r1] - ldr r1, _0801EAA4 @ =gLastLandedMoves - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801EAA8 @ =gLastHitByType - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldr r1, _0801EAAC @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x6] - ldrb r0, [r5] - ldrb r1, [r3] - bl RecordAbilityBattle -_0801EA52: - ldr r0, _0801EA98 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801EA70 - ldr r2, _0801EAB0 @ =gProtectStructs - ldr r0, _0801EA90 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 4 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1, 0x1] -_0801EA70: - ldr r1, _0801EAB4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801EA84: .4byte gTypeEffectiveness -_0801EA88: .4byte gBattleMons -_0801EA8C: .4byte gBattlerTarget -_0801EA90: .4byte gBattlerAttacker -_0801EA94: .4byte gCurrentMove -_0801EA98: .4byte gMoveResultFlags -_0801EA9C: .4byte gBattleMoves -_0801EAA0: .4byte gLastUsedAbility -_0801EAA4: .4byte gLastLandedMoves -_0801EAA8: .4byte gLastHitByType -_0801EAAC: .4byte gBattleCommunication -_0801EAB0: .4byte gProtectStructs -_0801EAB4: .4byte gBattlescriptCurrInstr - thumb_func_end atk06_typecalc - - thumb_func_start CheckWonderGuardAndLevitate -CheckWonderGuardAndLevitate: @ 801EAB8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r6, 0 - movs r5, 0 - ldr r0, _0801EAF8 @ =gCurrentMove - ldrh r1, [r0] - mov r9, r0 - cmp r1, 0xA5 - bne _0801EAD0 - b _0801ED18 -_0801EAD0: - ldr r2, _0801EAFC @ =gBattleMoves - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0801EAE2 - b _0801ED18 -_0801EAE2: - ldr r0, _0801EB00 @ =gBattleStruct - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _0801EB04 - movs r1, 0x3F - mov r12, r1 - mov r2, r12 - ands r2, r0 - mov r12, r2 - b _0801EB08 - .align 2, 0 -_0801EAF8: .4byte gCurrentMove -_0801EAFC: .4byte gBattleMoves -_0801EB00: .4byte gBattleStruct -_0801EB04: - ldrb r1, [r1, 0x2] - mov r12, r1 -_0801EB08: - ldr r2, _0801EB3C @ =gBattleMons - ldr r3, _0801EB40 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r1, [r0] - adds r7, r2, 0 - mov r8, r3 - cmp r1, 0x1A - bne _0801EB4C - mov r0, r12 - cmp r0, 0x4 - bne _0801EB4C - ldr r0, _0801EB44 @ =gLastUsedAbility - strb r1, [r0] - ldr r0, _0801EB48 @ =gBattleCommunication - mov r1, r12 - strb r1, [r0, 0x6] - ldrb r0, [r3] - movs r1, 0x1A - bl RecordAbilityBattle - b _0801ED18 - .align 2, 0 -_0801EB3C: .4byte gBattleMons -_0801EB40: .4byte gBattlerTarget -_0801EB44: .4byte gLastUsedAbility -_0801EB48: .4byte gBattleCommunication -_0801EB4C: - ldr r1, _0801EB58 @ =gTypeEffectiveness - adds r0, r5, r1 - ldrb r0, [r0] - adds r4, r1, 0 - b _0801EC9E - .align 2, 0 -_0801EB58: .4byte gTypeEffectiveness -_0801EB5C: - adds r0, r5, r4 - ldrb r0, [r0] - cmp r0, r12 - beq _0801EB66 - b _0801EC98 -_0801EB66: - adds r2, r5, 0x1 - adds r3, r2, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x21 - ldrb r1, [r3] - adds r3, r2, 0 - ldrb r0, [r0] - cmp r1, r0 - bne _0801EBA6 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0801EBA6 - ldr r2, _0801ED24 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801ED28 @ =gProtectStructs - ldr r0, _0801ED2C @ =gBattlerAttacker - ldrb r2, [r0] - lsls r2, 4 - adds r2, r1 - ldrb r0, [r2, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1] -_0801EBA6: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0801EBEC - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0801EBEC - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0801EBEC - ldr r2, _0801ED24 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801ED28 @ =gProtectStructs - ldr r0, _0801ED2C @ =gBattlerAttacker - ldrb r2, [r0] - lsls r2, 4 - adds r2, r1 - ldrb r0, [r2, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1] -_0801EBEC: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x21 - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - bne _0801EC10 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x14 - bne _0801EC10 - movs r0, 0x1 - orrs r6, r0 -_0801EC10: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0801EC3E - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0801EC3E - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x14 - bne _0801EC3E - movs r0, 0x1 - orrs r6, r0 -_0801EC3E: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x21 - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - bne _0801EC66 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x5 - bne _0801EC66 - movs r0, 0x2 - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_0801EC66: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0801EC98 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0801EC98 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x5 - bne _0801EC98 - movs r0, 0x2 - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_0801EC98: - adds r5, 0x3 - adds r0, r5, r4 - ldrb r0, [r0] -_0801EC9E: - cmp r0, 0xFF - beq _0801ECC2 - cmp r0, 0xFE - beq _0801ECA8 - b _0801EB5C -_0801ECA8: - mov r2, r8 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r1, r7, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801EC98 -_0801ECC2: - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x20 - ldrb r4, [r0] - cmp r4, 0x19 - bne _0801ED18 - ldr r0, _0801ED2C @ =gBattlerAttacker - ldrb r0, [r0] - mov r2, r9 - ldrh r1, [r2] - bl AttacksThisTurn - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0801ED18 - movs r0, 0x3 - ands r6, r0 - cmp r6, 0x1 - beq _0801ED18 - ldr r2, _0801ED30 @ =gBattleMoves - mov r0, r9 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801ED18 - ldr r0, _0801ED34 @ =gLastUsedAbility - strb r4, [r0] - ldr r1, _0801ED38 @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x6] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x19 - bl RecordAbilityBattle -_0801ED18: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801ED24: .4byte gMoveResultFlags -_0801ED28: .4byte gProtectStructs -_0801ED2C: .4byte gBattlerAttacker -_0801ED30: .4byte gBattleMoves -_0801ED34: .4byte gLastUsedAbility -_0801ED38: .4byte gBattleCommunication - thumb_func_end CheckWonderGuardAndLevitate - - thumb_func_start ModulateDmgByType2 -ModulateDmgByType2: @ 801ED3C - push {r4-r7,lr} - adds r6, r2, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r7, _0801ED70 @ =gBattleMoveDamage - ldr r0, [r7] - muls r0, r4 - movs r1, 0xA - bl __divsi3 - str r0, [r7] - cmp r0, 0 - bne _0801ED62 - cmp r4, 0 - beq _0801ED62 - movs r0, 0x1 - str r0, [r7] -_0801ED62: - cmp r4, 0x5 - beq _0801ED8A - cmp r4, 0x5 - bgt _0801ED74 - cmp r4, 0 - beq _0801ED7A - b _0801EDEE - .align 2, 0 -_0801ED70: .4byte gBattleMoveDamage -_0801ED74: - cmp r4, 0x14 - beq _0801EDBC - b _0801EDEE -_0801ED7A: - ldrb r0, [r6] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0xFB - ands r0, r1 - movs r1, 0xFD - ands r0, r1 - b _0801EDEC -_0801ED8A: - ldr r0, _0801EDB4 @ =gBattleMoves - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801EDEE - ldrb r1, [r6] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801EDEE - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801EDB8 - movs r0, 0xFD - ands r0, r1 - b _0801EDEC - .align 2, 0 -_0801EDB4: .4byte gBattleMoves -_0801EDB8: - movs r0, 0x4 - b _0801EDEA -_0801EDBC: - ldr r0, _0801EDE4 @ =gBattleMoves - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801EDEE - ldrb r1, [r6] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801EDEE - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801EDE8 - movs r0, 0xFB - ands r0, r1 - b _0801EDEC - .align 2, 0 -_0801EDE4: .4byte gBattleMoves -_0801EDE8: - movs r0, 0x2 -_0801EDEA: - orrs r0, r1 -_0801EDEC: - strb r0, [r6] -_0801EDEE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ModulateDmgByType2 - - thumb_func_start TypeCalc -TypeCalc: @ 801EDF4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - movs r0, 0 - mov r8, r0 - mov r0, sp - mov r1, r8 - strb r1, [r0] - mov r2, r10 - cmp r2, 0xA5 - bne _0801EE26 - movs r0, 0 - b _0801EFAE -_0801EE26: - ldr r1, _0801EE94 @ =gBattleMoves - mov r3, r10 - lsls r2, r3, 1 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - str r0, [sp, 0x8] - ldr r1, _0801EE98 @ =gBattleMons - movs r0, 0x58 - ldr r3, [sp, 0x4] - muls r0, r3 - adds r3, r0, r1 - adds r0, r3, 0 - adds r0, 0x21 - ldrb r0, [r0] - str r2, [sp, 0xC] - adds r5, r1, 0 - ldr r1, [sp, 0x8] - cmp r0, r1 - beq _0801EE5A - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - bne _0801EE6C -_0801EE5A: - ldr r4, _0801EE9C @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - str r0, [r4] - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0801EE6C: - movs r0, 0x58 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1A - bne _0801EEA0 - ldr r3, [sp, 0x8] - cmp r3, 0x4 - bne _0801EEA0 - movs r1, 0x9 - mov r0, sp - ldrb r0, [r0] - orrs r0, r1 - mov r1, sp - strb r0, [r1] - b _0801EF50 - .align 2, 0 -_0801EE94: .4byte gBattleMoves -_0801EE98: .4byte gBattleMons -_0801EE9C: .4byte gBattleMoveDamage -_0801EEA0: - ldr r1, _0801EEBC @ =gTypeEffectiveness - mov r2, r8 - adds r0, r2, r1 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xFF - beq _0801EF50 - cmp r0, 0xFE - bne _0801EEC6 - movs r0, 0x58 - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - b _0801EF3E - .align 2, 0 -_0801EEBC: .4byte gTypeEffectiveness -_0801EEC0: - movs r0, 0x3 - add r8, r0 - b _0801EF28 -_0801EEC6: - ldr r7, _0801EFC0 @ =gTypeEffectiveness - mov r1, r8 - adds r0, r1, r7 - ldrb r0, [r0] - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _0801EF20 - adds r1, 0x1 - adds r1, r7 - ldr r2, _0801EFC4 @ =gBattleMons - movs r0, 0x58 - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - adds r5, r0, r2 - adds r6, r5, 0 - adds r6, 0x21 - ldrb r4, [r1] - ldrb r0, [r6] - cmp r4, r0 - bne _0801EF00 - mov r0, r8 - adds r0, 0x2 - adds r0, r7 - ldrb r0, [r0] - mov r1, r10 - mov r2, sp - bl ModulateDmgByType2 -_0801EF00: - adds r0, r5, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r4, r0 - bne _0801EF20 - ldrb r0, [r6] - cmp r0, r4 - beq _0801EF20 - mov r0, r8 - adds r0, 0x2 - adds r0, r7 - ldrb r0, [r0] - mov r1, r10 - mov r2, sp - bl ModulateDmgByType2 -_0801EF20: - movs r1, 0x3 - add r8, r1 - ldr r5, _0801EFC4 @ =gBattleMons - ldr r2, _0801EFC0 @ =gTypeEffectiveness -_0801EF28: - mov r3, r8 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0801EF50 - cmp r0, 0xFE - bne _0801EEC6 - movs r0, 0x58 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 -_0801EF3E: - adds r1, r5, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801EEC0 -_0801EF50: - movs r0, 0x58 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x19 - bne _0801EFAA - mov r0, sp - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801EFAA - ldr r0, [sp, 0x4] - mov r1, r10 - bl AttacksThisTurn - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bne _0801EFAA - mov r0, sp - ldrb r3, [r0] - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0801EF92 - movs r0, 0x6 - ands r0, r3 - cmp r0, 0x6 - bne _0801EFAA -_0801EF92: - ldr r0, _0801EFC8 @ =gBattleMoves - ldr r1, [sp, 0xC] - add r1, r10 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801EFAA - mov r0, sp - movs r1, 0x1 - orrs r1, r3 - strb r1, [r0] -_0801EFAA: - mov r0, sp - ldrb r0, [r0] -_0801EFAE: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801EFC0: .4byte gTypeEffectiveness -_0801EFC4: .4byte gBattleMons -_0801EFC8: .4byte gBattleMoves - thumb_func_end TypeCalc - - thumb_func_start AI_TypeCalc -AI_TypeCalc: @ 801EFCC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4] - movs r7, 0 - mov r0, sp - strb r7, [r0] - ldr r2, _0801F008 @ =gBaseStats - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x6] - mov r9, r1 - ldrb r0, [r0, 0x7] - mov r8, r0 - cmp r6, 0xA5 - bne _0801F00C - movs r0, 0 - b _0801F0B0 - .align 2, 0 -_0801F008: .4byte gBaseStats -_0801F00C: - ldr r2, _0801F030 @ =gBattleMoves - lsls r1, r6, 1 - adds r0, r1, r6 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r10, r0 - str r1, [sp, 0x8] - ldr r3, [sp, 0x4] - cmp r3, 0x1A - bne _0801F034 - cmp r0, 0x4 - bne _0801F034 - movs r1, 0x9 - mov r0, sp - strb r1, [r0] - b _0801F07A - .align 2, 0 -_0801F030: .4byte gBattleMoves -_0801F034: - ldr r0, _0801F0C0 @ =gTypeEffectiveness - adds r1, r7, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0801F07A - adds r4, r1, 0 -_0801F040: - ldrb r0, [r4] - cmp r0, 0xFE - beq _0801F06C - cmp r0, r10 - bne _0801F06C - ldrb r5, [r4, 0x1] - cmp r5, r9 - bne _0801F05A - ldrb r0, [r4, 0x2] - adds r1, r6, 0 - mov r2, sp - bl ModulateDmgByType2 -_0801F05A: - cmp r5, r8 - bne _0801F06C - cmp r9, r8 - beq _0801F06C - ldrb r0, [r4, 0x2] - adds r1, r6, 0 - mov r2, sp - bl ModulateDmgByType2 -_0801F06C: - adds r4, 0x3 - adds r7, 0x3 - ldr r1, _0801F0C0 @ =gTypeEffectiveness - adds r0, r7, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0801F040 -_0801F07A: - ldr r3, [sp, 0x4] - cmp r3, 0x19 - bne _0801F0AC - mov r0, sp - ldrb r2, [r0] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0801F094 - movs r0, 0x6 - ands r0, r2 - cmp r0, 0x6 - bne _0801F0AC -_0801F094: - ldr r0, _0801F0C4 @ =gBattleMoves - ldr r3, [sp, 0x8] - adds r1, r3, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801F0AC - mov r0, sp - movs r1, 0x8 - orrs r1, r2 - strb r1, [r0] -_0801F0AC: - mov r0, sp - ldrb r0, [r0] -_0801F0B0: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801F0C0: .4byte gTypeEffectiveness -_0801F0C4: .4byte gBattleMoves - thumb_func_end AI_TypeCalc - - thumb_func_start Unused_ApplyRandomDmgMultiplier -Unused_ApplyRandomDmgMultiplier: @ 801F0C8 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - movs r1, 0x64 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0801F100 @ =gBattleMoveDamage - ldr r0, [r4] - cmp r0, 0 - beq _0801F0FA - muls r0, r1 - str r0, [r4] - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801F0FA - movs r0, 0x1 - str r0, [r4] -_0801F0FA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801F100: .4byte gBattleMoveDamage - thumb_func_end Unused_ApplyRandomDmgMultiplier - - thumb_func_start atk07_adjustnormaldamage -atk07_adjustnormaldamage: @ 801F104 - push {r4-r7,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - movs r1, 0x64 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0801F15C @ =gBattleMoveDamage - ldr r0, [r4] - cmp r0, 0 - beq _0801F136 - muls r0, r1 - str r0, [r4] - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801F136 - movs r0, 0x1 - str r0, [r4] -_0801F136: - ldr r7, _0801F160 @ =gBattleMons - ldr r6, _0801F164 @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0801F16C - ldr r1, _0801F168 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0801F186 - .align 2, 0 -_0801F15C: .4byte gBattleMoveDamage -_0801F160: .4byte gBattleMons -_0801F164: .4byte gBattlerTarget -_0801F168: .4byte gEnigmaBerries -_0801F16C: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0801F186: - ldr r1, _0801F248 @ =gPotentialItemEffectBattler - ldr r5, _0801F24C @ =gBattlerTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _0801F1C4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _0801F1C4 - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemEffectBattle - ldr r2, _0801F250 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0801F1C4: - ldr r2, _0801F254 @ =gBattleMons - ldr r3, _0801F24C @ =gBattlerTarget - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, r2, 0 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 17 - ands r1, r0 - adds r5, r2, 0 - cmp r1, 0 - bne _0801F294 - ldr r2, _0801F258 @ =gBattleMoves - ldr r0, _0801F25C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x65 - beq _0801F216 - ldr r0, _0801F260 @ =gProtectStructs - lsls r1, r4, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _0801F216 - ldr r0, _0801F250 @ =gSpecialStatuses - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801F294 -_0801F216: - ldrb r0, [r3] - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r1, [r0, 0x28] - ldr r2, _0801F264 @ =gBattleMoveDamage - ldr r0, [r2] - cmp r1, r0 - bgt _0801F294 - subs r0, r1, 0x1 - str r0, [r2] - ldr r1, _0801F260 @ =gProtectStructs - ldrb r3, [r3] - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _0801F26C - ldr r0, _0801F268 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0801F294 - .align 2, 0 -_0801F248: .4byte gPotentialItemEffectBattler -_0801F24C: .4byte gBattlerTarget -_0801F250: .4byte gSpecialStatuses -_0801F254: .4byte gBattleMons -_0801F258: .4byte gBattleMoves -_0801F25C: .4byte gCurrentMove -_0801F260: .4byte gProtectStructs -_0801F264: .4byte gBattleMoveDamage -_0801F268: .4byte gMoveResultFlags -_0801F26C: - ldr r0, _0801F2A4 @ =gSpecialStatuses - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801F294 - ldr r2, _0801F2A8 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801F2AC @ =gLastUsedItem - adds r0, r3, 0 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x2E] - strh r0, [r1] -_0801F294: - ldr r1, _0801F2B0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801F2A4: .4byte gSpecialStatuses -_0801F2A8: .4byte gMoveResultFlags -_0801F2AC: .4byte gLastUsedItem -_0801F2B0: .4byte gBattlescriptCurrInstr - thumb_func_end atk07_adjustnormaldamage - - thumb_func_start atk08_adjustnormaldamage2 -atk08_adjustnormaldamage2: @ 801F2B4 - push {r4-r7,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - movs r1, 0x64 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0801F30C @ =gBattleMoveDamage - ldr r0, [r4] - cmp r0, 0 - beq _0801F2E6 - muls r0, r1 - str r0, [r4] - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801F2E6 - movs r0, 0x1 - str r0, [r4] -_0801F2E6: - ldr r7, _0801F310 @ =gBattleMons - ldr r6, _0801F314 @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0801F31C - ldr r1, _0801F318 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0801F336 - .align 2, 0 -_0801F30C: .4byte gBattleMoveDamage -_0801F310: .4byte gBattleMons -_0801F314: .4byte gBattlerTarget -_0801F318: .4byte gEnigmaBerries -_0801F31C: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0801F336: - ldr r1, _0801F3DC @ =gPotentialItemEffectBattler - ldr r5, _0801F3E0 @ =gBattlerTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _0801F374 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _0801F374 - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemEffectBattle - ldr r2, _0801F3E4 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0801F374: - ldr r4, _0801F3E8 @ =gBattleMons - ldr r6, _0801F3E0 @ =gBattlerTarget - ldrb r2, [r6] - movs r7, 0x58 - adds r3, r2, 0 - muls r3, r7 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - bne _0801F420 - ldr r5, _0801F3EC @ =gProtectStructs - lsls r0, r2, 4 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - blt _0801F3B2 - ldr r0, _0801F3E4 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801F420 -_0801F3B2: - adds r0, r3, r4 - ldrh r1, [r0, 0x28] - ldr r2, _0801F3F0 @ =gBattleMoveDamage - ldr r0, [r2] - cmp r1, r0 - bgt _0801F420 - subs r0, r1, 0x1 - str r0, [r2] - ldrb r3, [r6] - lsls r0, r3, 4 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _0801F3F8 - ldr r0, _0801F3F4 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0801F420 - .align 2, 0 -_0801F3DC: .4byte gPotentialItemEffectBattler -_0801F3E0: .4byte gBattlerTarget -_0801F3E4: .4byte gSpecialStatuses -_0801F3E8: .4byte gBattleMons -_0801F3EC: .4byte gProtectStructs -_0801F3F0: .4byte gBattleMoveDamage -_0801F3F4: .4byte gMoveResultFlags -_0801F3F8: - ldr r0, _0801F430 @ =gSpecialStatuses - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801F420 - ldr r2, _0801F434 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801F438 @ =gLastUsedItem - adds r0, r3, 0 - muls r0, r7 - adds r0, r4 - ldrh r0, [r0, 0x2E] - strh r0, [r1] -_0801F420: - ldr r1, _0801F43C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801F430: .4byte gSpecialStatuses -_0801F434: .4byte gMoveResultFlags -_0801F438: .4byte gLastUsedItem -_0801F43C: .4byte gBattlescriptCurrInstr - thumb_func_end atk08_adjustnormaldamage2 - - thumb_func_start atk09_attackanimation -atk09_attackanimation: @ 801F440 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - ldr r0, _0801F488 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0801F452 - b _0801F572 -_0801F452: - ldr r0, _0801F48C @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - ldr r3, _0801F490 @ =gCurrentMove - cmp r0, 0 - beq _0801F4A0 - ldrh r0, [r3] - cmp r0, 0x90 - beq _0801F4A0 - cmp r0, 0xA4 - beq _0801F4A0 - ldr r4, _0801F494 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _0801F498 @ =BattleScript_Pausex20 - str r0, [r4] - ldr r1, _0801F49C @ =gBattleScripting - ldrb r0, [r1, 0x18] - adds r0, 0x1 - strb r0, [r1, 0x18] - ldrb r0, [r1, 0x19] - adds r0, 0x1 - strb r0, [r1, 0x19] - b _0801F572 - .align 2, 0 -_0801F488: .4byte gBattleControllerExecFlags -_0801F48C: .4byte gHitMarker -_0801F490: .4byte gCurrentMove -_0801F494: .4byte gBattlescriptCurrInstr -_0801F498: .4byte BattleScript_Pausex20 -_0801F49C: .4byte gBattleScripting -_0801F4A0: - ldr r2, _0801F53C @ =gBattleMoves - ldrh r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x6] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0801F4C6 - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0801F4C6 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0801F4CE -_0801F4C6: - ldr r0, _0801F540 @ =gBattleScripting - ldrb r0, [r0, 0x19] - cmp r0, 0 - bne _0801F530 -_0801F4CE: - ldr r0, _0801F544 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801F564 - ldr r1, _0801F548 @ =gActiveBattler - ldr r0, _0801F54C @ =gBattlerAttacker - mov r8, r0 - ldrb r0, [r0] - strb r0, [r1] - ldrh r1, [r3] - ldr r6, _0801F540 @ =gBattleScripting - ldrb r2, [r6, 0x18] - ldr r0, _0801F550 @ =gBattleMovePower - ldrh r3, [r0] - ldr r0, _0801F554 @ =gBattleMoveDamage - ldr r0, [r0] - str r0, [sp] - ldr r5, _0801F558 @ =gBattleMons - mov r0, r8 - ldrb r4, [r0] - movs r0, 0x58 - muls r0, r4 - adds r0, r5 - adds r0, 0x2B - ldrb r0, [r0] - str r0, [sp, 0x4] - mov r0, r8 - ldrb r4, [r0] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r4, _0801F55C @ =gDisableStructs - adds r0, r4 - str r0, [sp, 0x8] - movs r0, 0 - bl BtlController_EmitMoveAnimation - ldrb r0, [r6, 0x18] - adds r0, 0x1 - strb r0, [r6, 0x18] - ldrb r0, [r6, 0x19] - adds r0, 0x1 - strb r0, [r6, 0x19] - mov r1, r8 - ldrb r0, [r1] - bl MarkBattlerForControllerExec -_0801F530: - ldr r1, _0801F560 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - b _0801F572 - .align 2, 0 -_0801F53C: .4byte gBattleMoves -_0801F540: .4byte gBattleScripting -_0801F544: .4byte gMoveResultFlags -_0801F548: .4byte gActiveBattler -_0801F54C: .4byte gBattlerAttacker -_0801F550: .4byte gBattleMovePower -_0801F554: .4byte gBattleMoveDamage -_0801F558: .4byte gBattleMons -_0801F55C: .4byte gDisableStructs -_0801F560: .4byte gBattlescriptCurrInstr -_0801F564: - ldr r4, _0801F580 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _0801F584 @ =BattleScript_Pausex20 - str r0, [r4] -_0801F572: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801F580: .4byte gBattlescriptCurrInstr -_0801F584: .4byte BattleScript_Pausex20 - thumb_func_end atk09_attackanimation - - thumb_func_start atk0A_waitanimation -atk0A_waitanimation: @ 801F588 - push {lr} - ldr r0, _0801F5A0 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801F59A - ldr r1, _0801F5A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801F59A: - pop {r0} - bx r0 - .align 2, 0 -_0801F5A0: .4byte gBattleControllerExecFlags -_0801F5A4: .4byte gBattlescriptCurrInstr - thumb_func_end atk0A_waitanimation - - thumb_func_start atk0B_healthbarupdate -atk0B_healthbarupdate: @ 801F5A8 - push {r4,lr} - ldr r0, _0801F60C @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801F66A - ldr r0, _0801F610 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801F662 - ldr r0, _0801F614 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r2, _0801F618 @ =gActiveBattler - strb r0, [r2] - ldr r1, _0801F61C @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0801F628 - ldr r0, _0801F620 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - beq _0801F628 - ldr r0, _0801F624 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - bne _0801F628 - movs r0, 0x80 - adds r1, r2, 0 - bl PrepareStringBattle - b _0801F662 - .align 2, 0 -_0801F60C: .4byte gBattleControllerExecFlags -_0801F610: .4byte gMoveResultFlags -_0801F614: .4byte gBattlescriptCurrInstr -_0801F618: .4byte gActiveBattler -_0801F61C: .4byte gBattleMons -_0801F620: .4byte gDisableStructs -_0801F624: .4byte gHitMarker -_0801F628: - ldr r0, _0801F670 @ =gBattleMoveDamage - ldr r0, [r0] - ldr r1, _0801F674 @ =0x00002710 - cmp r0, r1 - bgt _0801F636 - lsls r0, 16 - lsrs r1, r0, 16 -_0801F636: - movs r0, 0 - bl BtlController_EmitHealthBarUpdate - ldr r4, _0801F678 @ =gActiveBattler - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0801F662 - ldr r0, _0801F670 @ =gBattleMoveDamage - ldr r0, [r0] - cmp r0, 0 - ble _0801F662 - ldr r0, _0801F67C @ =gBattleResults - ldrb r1, [r0, 0x5] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x5] -_0801F662: - ldr r1, _0801F680 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_0801F66A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801F670: .4byte gBattleMoveDamage -_0801F674: .4byte 0x00002710 -_0801F678: .4byte gActiveBattler -_0801F67C: .4byte gBattleResults -_0801F680: .4byte gBattlescriptCurrInstr - thumb_func_end atk0B_healthbarupdate - - thumb_func_start atk0C_datahpupdate -atk0C_datahpupdate: @ 801F684 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _0801F6AC @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0801F692 - b _0801FA62 -_0801F692: - ldr r0, _0801F6B0 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x13] - cmp r1, 0 - beq _0801F6B4 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0801F6B4 - movs r6, 0x3F - ands r6, r1 - b _0801F6C4 - .align 2, 0 -_0801F6AC: .4byte gBattleControllerExecFlags -_0801F6B0: .4byte gBattleStruct -_0801F6B4: - ldr r2, _0801F750 @ =gBattleMoves - ldr r0, _0801F754 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r6, [r0, 0x2] -_0801F6C4: - ldr r0, _0801F758 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801F6D2 - b _0801FA34 -_0801F6D2: - ldr r0, _0801F75C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r7, _0801F760 @ =gActiveBattler - strb r0, [r7] - ldr r1, _0801F764 @ =gBattleMons - ldrb r2, [r7] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0801F7E8 - ldr r0, _0801F768 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r4, r1, r0 - ldrb r1, [r4, 0xA] - mov r12, r0 - cmp r1, 0 - beq _0801F7E8 - ldr r0, _0801F76C @ =gHitMarker - ldr r3, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r3, r0 - cmp r3, 0 - bne _0801F7E8 - adds r5, r1, 0 - ldr r6, _0801F770 @ =gBattleMoveDamage - ldr r4, [r6] - cmp r5, r4 - blt _0801F77C - ldr r0, _0801F774 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - bne _0801F736 - str r4, [r1] -_0801F736: - ldrb r0, [r7] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - add r1, r12 - ldr r2, [r6] - ldrb r0, [r1, 0xA] - subs r0, r2 - strb r0, [r1, 0xA] - ldr r1, _0801F778 @ =gHpDealt - ldr r0, [r6] - str r0, [r1] - b _0801F7AC - .align 2, 0 -_0801F750: .4byte gBattleMoves -_0801F754: .4byte gCurrentMove -_0801F758: .4byte gMoveResultFlags -_0801F75C: .4byte gBattlescriptCurrInstr -_0801F760: .4byte gActiveBattler -_0801F764: .4byte gBattleMons -_0801F768: .4byte gDisableStructs -_0801F76C: .4byte gHitMarker -_0801F770: .4byte gBattleMoveDamage -_0801F774: .4byte gSpecialStatuses -_0801F778: .4byte gHpDealt -_0801F77C: - ldr r0, _0801F7D4 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - bne _0801F790 - str r5, [r1] -_0801F790: - ldr r2, _0801F7D8 @ =gHpDealt - ldrb r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r0, [r0, 0xA] - str r0, [r2] - ldrb r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - strb r3, [r0, 0xA] -_0801F7AC: - ldr r0, _0801F7DC @ =gActiveBattler - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _0801F7C0 - b _0801FA5A -_0801F7C0: - ldr r4, _0801F7E0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - bl BattleScriptPushCursor - ldr r0, _0801F7E4 @ =BattleScript_SubstituteFade - str r0, [r4] - b _0801FA62 - .align 2, 0 -_0801F7D4: .4byte gSpecialStatuses -_0801F7D8: .4byte gHpDealt -_0801F7DC: .4byte gActiveBattler -_0801F7E0: .4byte gBattlescriptCurrInstr -_0801F7E4: .4byte BattleScript_SubstituteFade -_0801F7E8: - ldr r0, _0801F828 @ =gHitMarker - ldr r2, [r0] - ldr r1, _0801F82C @ =0xfffffeff - ands r2, r1 - str r2, [r0] - ldr r1, _0801F830 @ =gBattleMoveDamage - ldr r5, [r1] - mov r12, r0 - adds r7, r1, 0 - cmp r5, 0 - bge _0801F83C - ldr r4, _0801F834 @ =gBattleMons - ldr r2, _0801F838 @ =gActiveBattler - ldrb r0, [r2] - movs r3, 0x58 - adds r1, r0, 0 - muls r1, r3 - adds r1, r4 - ldrh r0, [r1, 0x28] - subs r0, r5 - strh r0, [r1, 0x28] - ldrb r0, [r2] - muls r0, r3 - adds r1, r0, r4 - ldrh r3, [r1, 0x2C] - ldrh r0, [r1, 0x28] - adds r5, r2, 0 - cmp r0, r3 - bhi _0801F824 - b _0801F9FA -_0801F824: - strh r3, [r1, 0x28] - b _0801F9FA - .align 2, 0 -_0801F828: .4byte gHitMarker -_0801F82C: .4byte 0xfffffeff -_0801F830: .4byte gBattleMoveDamage -_0801F834: .4byte gBattleMons -_0801F838: .4byte gActiveBattler -_0801F83C: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _0801F858 - movs r0, 0x21 - negs r0, r0 - ands r2, r0 - mov r0, r12 - str r2, [r0] - ldr r5, _0801F854 @ =gActiveBattler - b _0801F8A0 - .align 2, 0 -_0801F854: .4byte gActiveBattler -_0801F858: - ldr r0, _0801F880 @ =gTakenDmg - ldr r2, _0801F884 @ =gActiveBattler - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - adds r0, r5 - str r0, [r1] - ldr r0, _0801F888 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - adds r5, r2, 0 - cmp r0, 0 - bne _0801F894 - ldr r1, _0801F88C @ =gTakenDmgByBattler - ldrb r0, [r5] - adds r0, r1 - ldr r1, _0801F890 @ =gBattlerAttacker - b _0801F89C - .align 2, 0 -_0801F880: .4byte gTakenDmg -_0801F884: .4byte gActiveBattler -_0801F888: .4byte gBattlescriptCurrInstr -_0801F88C: .4byte gTakenDmgByBattler -_0801F890: .4byte gBattlerAttacker -_0801F894: - ldr r1, _0801F8C0 @ =gTakenDmgByBattler - ldrb r0, [r5] - adds r0, r1 - ldr r1, _0801F8C4 @ =gBattlerTarget -_0801F89C: - ldrb r1, [r1] - strb r1, [r0] -_0801F8A0: - ldr r4, _0801F8C8 @ =gBattleMons - ldrb r0, [r5] - movs r3, 0x58 - muls r0, r3 - adds r2, r0, r4 - ldrh r0, [r2, 0x28] - ldr r1, [r7] - cmp r0, r1 - ble _0801F8D0 - subs r0, r1 - strh r0, [r2, 0x28] - ldr r0, _0801F8CC @ =gHpDealt - str r1, [r0] - adds r7, r0, 0 - b _0801F8E0 - .align 2, 0 -_0801F8C0: .4byte gTakenDmgByBattler -_0801F8C4: .4byte gBattlerTarget -_0801F8C8: .4byte gBattleMons -_0801F8CC: .4byte gHpDealt -_0801F8D0: - ldr r2, _0801F954 @ =gHpDealt - str r0, [r2] - ldrb r0, [r5] - muls r0, r3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0x28] - adds r7, r2, 0 -_0801F8E0: - ldr r2, _0801F958 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0x4 - adds r3, r0, r1 - ldr r0, [r3] - adds r4, r2, 0 - cmp r0, 0 - bne _0801F908 - mov r1, r12 - ldr r0, [r1] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0801F908 - ldr r0, [r7] - str r0, [r3] -_0801F908: - cmp r6, 0x8 - bhi _0801F990 - mov r1, r12 - ldr r0, [r1] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0801F98C - ldr r0, _0801F95C @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xDC - beq _0801F98C - ldr r3, _0801F960 @ =gProtectStructs - ldrb r0, [r5] - lsls r0, 4 - adds r1, r3, 0x4 - adds r0, r1 - ldr r2, [r7] - str r2, [r0] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x8 - adds r0, r1 - str r2, [r0] - ldr r0, _0801F964 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0801F96C - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801F968 @ =gBattlerAttacker - b _0801F974 - .align 2, 0 -_0801F954: .4byte gHpDealt -_0801F958: .4byte gSpecialStatuses -_0801F95C: .4byte gCurrentMove -_0801F960: .4byte gProtectStructs -_0801F964: .4byte gBattlescriptCurrInstr -_0801F968: .4byte gBattlerAttacker -_0801F96C: - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801F988 @ =gBattlerTarget -_0801F974: - ldrb r1, [r2] - strb r1, [r0, 0xC] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r2] - strb r1, [r0, 0x10] - b _0801F9FA - .align 2, 0 -_0801F988: .4byte gBattlerTarget -_0801F98C: - cmp r6, 0x8 - bls _0801F9FA -_0801F990: - mov r1, r12 - ldr r0, [r1] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0801F9FA - ldr r3, _0801F9D4 @ =gProtectStructs - ldrb r0, [r5] - lsls r0, 4 - adds r1, r3, 0 - adds r1, 0x8 - adds r0, r1 - ldr r2, [r7] - str r2, [r0] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0xC - adds r0, r1 - str r2, [r0] - ldr r0, _0801F9D8 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0801F9E0 - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801F9DC @ =gBattlerAttacker - b _0801F9E8 - .align 2, 0 -_0801F9D4: .4byte gProtectStructs -_0801F9D8: .4byte gBattlescriptCurrInstr -_0801F9DC: .4byte gBattlerAttacker -_0801F9E0: - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801FA28 @ =gBattlerTarget -_0801F9E8: - ldrb r1, [r2] - strb r1, [r0, 0xD] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r2] - strb r1, [r0, 0x11] -_0801F9FA: - mov r1, r12 - ldr r0, [r1] - ldr r1, _0801FA2C @ =0xffefffff - ands r0, r1 - mov r1, r12 - str r0, [r1] - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - ldr r1, _0801FA30 @ =gUnknown_2023C0C - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2A - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r5] - bl MarkBattlerForControllerExec - b _0801FA5A - .align 2, 0 -_0801FA28: .4byte gBattlerTarget -_0801FA2C: .4byte 0xffefffff -_0801FA30: .4byte gUnknown_2023C0C -_0801FA34: - ldr r0, _0801FA6C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _0801FA70 @ =gActiveBattler - strb r0, [r1] - ldr r2, _0801FA74 @ =gSpecialStatuses - ldrb r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r1, r0, r2 - ldr r0, [r1] - cmp r0, 0 - bne _0801FA5A - ldr r0, _0801FA78 @ =0x0000ffff - str r0, [r1] -_0801FA5A: - ldr r1, _0801FA6C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_0801FA62: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801FA6C: .4byte gBattlescriptCurrInstr -_0801FA70: .4byte gActiveBattler -_0801FA74: .4byte gSpecialStatuses -_0801FA78: .4byte 0x0000ffff - thumb_func_end atk0C_datahpupdate - - thumb_func_start atk0D_critmessage -atk0D_critmessage: @ 801FA7C - push {lr} - ldr r0, _0801FAB8 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FAB2 - ldr r0, _0801FABC @ =gCritMultiplier - ldrb r0, [r0] - cmp r0, 0x2 - bne _0801FAAA - ldr r0, _0801FAC0 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801FAAA - ldr r0, _0801FAC4 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0xD9 - bl PrepareStringBattle - ldr r1, _0801FAC8 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x7] -_0801FAAA: - ldr r1, _0801FACC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801FAB2: - pop {r0} - bx r0 - .align 2, 0 -_0801FAB8: .4byte gBattleControllerExecFlags -_0801FABC: .4byte gCritMultiplier -_0801FAC0: .4byte gMoveResultFlags -_0801FAC4: .4byte gBattlerAttacker -_0801FAC8: .4byte gBattleCommunication -_0801FACC: .4byte gBattlescriptCurrInstr - thumb_func_end atk0D_critmessage - - thumb_func_start atk0E_effectivenesssound -atk0E_effectivenesssound: @ 801FAD0 - push {r4,lr} - ldr r0, _0801FB08 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FB90 - ldr r4, _0801FB0C @ =gActiveBattler - ldr r0, _0801FB10 @ =gBattlerTarget - ldrb r0, [r0] - strb r0, [r4] - ldr r1, _0801FB14 @ =gMoveResultFlags - ldrb r2, [r1] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _0801FB88 - movs r0, 0xFE - ands r0, r2 - cmp r0, 0x10 - beq _0801FB42 - cmp r0, 0x10 - bgt _0801FB1E - cmp r0, 0x4 - beq _0801FB32 - cmp r0, 0x4 - bgt _0801FB18 - cmp r0, 0x2 - beq _0801FB2C - b _0801FB42 - .align 2, 0 -_0801FB08: .4byte gBattleControllerExecFlags -_0801FB0C: .4byte gActiveBattler -_0801FB10: .4byte gBattlerTarget -_0801FB14: .4byte gMoveResultFlags -_0801FB18: - cmp r0, 0x8 - beq _0801FB88 - b _0801FB42 -_0801FB1E: - cmp r0, 0x40 - beq _0801FB42 - cmp r0, 0x40 - bgt _0801FB42 - cmp r0, 0x20 - beq _0801FB88 - b _0801FB42 -_0801FB2C: - movs r0, 0 - movs r1, 0xE - b _0801FB36 -_0801FB32: - movs r0, 0 - movs r1, 0xC -_0801FB36: - bl BtlController_EmitPlaySE - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0801FB88 -_0801FB42: - ldrb r1, [r1] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801FB52 - movs r0, 0 - movs r1, 0xE - b _0801FB5E -_0801FB52: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801FB70 - movs r0, 0 - movs r1, 0xC -_0801FB5E: - bl BtlController_EmitPlaySE - ldr r0, _0801FB6C @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - b _0801FB88 - .align 2, 0 -_0801FB6C: .4byte gActiveBattler -_0801FB70: - movs r0, 0x28 - ands r0, r1 - cmp r0, 0 - bne _0801FB88 - movs r0, 0 - movs r1, 0xD - bl BtlController_EmitPlaySE - ldr r0, _0801FB98 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec -_0801FB88: - ldr r1, _0801FB9C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801FB90: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801FB98: .4byte gActiveBattler -_0801FB9C: .4byte gBattlescriptCurrInstr - thumb_func_end atk0E_effectivenesssound - - thumb_func_start atk0F_resultmessage -atk0F_resultmessage: @ 801FBA0 - push {r4-r7,lr} - movs r3, 0 - ldr r0, _0801FBDC @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0801FBAE - b _0801FD40 -_0801FBAE: - ldr r1, _0801FBE0 @ =gMoveResultFlags - ldrb r2, [r1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - adds r6, r1, 0 - ldr r7, _0801FBE4 @ =gBattleCommunication - cmp r0, 0 - beq _0801FBEC - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _0801FBCE - ldrb r0, [r7, 0x6] - cmp r0, 0x2 - bls _0801FBEC -_0801FBCE: - ldr r1, _0801FBE8 @ =gMissStringIds - ldrb r0, [r7, 0x6] - lsls r0, 1 - adds r0, r1 - ldrh r3, [r0] - strb r4, [r7, 0x7] - b _0801FD2A - .align 2, 0 -_0801FBDC: .4byte gBattleControllerExecFlags -_0801FBE0: .4byte gMoveResultFlags -_0801FBE4: .4byte gBattleCommunication -_0801FBE8: .4byte gMissStringIds -_0801FBEC: - movs r0, 0x1 - strb r0, [r7, 0x7] - ldrb r5, [r6] - movs r0, 0xFE - ands r0, r5 - cmp r0, 0x10 - beq _0801FC30 - cmp r0, 0x10 - bgt _0801FC12 - cmp r0, 0x4 - beq _0801FC2C - cmp r0, 0x4 - bgt _0801FC0C - cmp r0, 0x2 - beq _0801FC28 - b _0801FC78 -_0801FC0C: - cmp r0, 0x8 - beq _0801FC84 - b _0801FC78 -_0801FC12: - cmp r0, 0x40 - beq _0801FC34 - cmp r0, 0x40 - bgt _0801FC22 - cmp r0, 0x20 - bne _0801FC20 - b _0801FD24 -_0801FC20: - b _0801FC78 -_0801FC22: - cmp r0, 0x80 - beq _0801FC38 - b _0801FC78 -_0801FC28: - movs r3, 0xDE - b _0801FD2E -_0801FC2C: - movs r3, 0xDD - b _0801FD2E -_0801FC30: - movs r3, 0xDA - b _0801FD2E -_0801FC34: - movs r3, 0x99 - b _0801FD2E -_0801FC38: - ldr r4, _0801FC60 @ =gLastUsedItem - ldr r2, _0801FC64 @ =gBattleMons - ldr r3, _0801FC68 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strh r0, [r4] - ldr r1, _0801FC6C @ =gPotentialItemEffectBattler - ldrb r0, [r3] - strb r0, [r1] - movs r0, 0x3F - ands r0, r5 - strb r0, [r6] - bl BattleScriptPushCursor - ldr r1, _0801FC70 @ =gBattlescriptCurrInstr - ldr r0, _0801FC74 @ =BattleScript_HangedOnMsg - b _0801FD3E - .align 2, 0 -_0801FC60: .4byte gLastUsedItem -_0801FC64: .4byte gBattleMons -_0801FC68: .4byte gBattlerTarget -_0801FC6C: .4byte gPotentialItemEffectBattler -_0801FC70: .4byte gBattlescriptCurrInstr -_0801FC74: .4byte BattleScript_HangedOnMsg -_0801FC78: - adds r2, r6, 0 - ldrb r5, [r2] - movs r0, 0x8 - ands r0, r5 - cmp r0, 0 - beq _0801FC88 -_0801FC84: - movs r3, 0x1B - b _0801FD2E -_0801FC88: - movs r0, 0x10 - ands r0, r5 - cmp r0, 0 - beq _0801FCB0 - movs r0, 0xEF - ands r0, r5 - movs r1, 0xFD - ands r0, r1 - movs r1, 0xFB - ands r0, r1 - strb r0, [r2] - bl BattleScriptPushCursor - ldr r1, _0801FCA8 @ =gBattlescriptCurrInstr - ldr r0, _0801FCAC @ =BattleScript_OneHitKOMsg - b _0801FD3E - .align 2, 0 -_0801FCA8: .4byte gBattlescriptCurrInstr -_0801FCAC: .4byte BattleScript_OneHitKOMsg -_0801FCB0: - movs r0, 0x40 - ands r0, r5 - cmp r0, 0 - beq _0801FCD0 - movs r0, 0x3F - ands r0, r5 - strb r0, [r2] - bl BattleScriptPushCursor - ldr r1, _0801FCC8 @ =gBattlescriptCurrInstr - ldr r0, _0801FCCC @ =BattleScript_EnduredMsg - b _0801FD3E - .align 2, 0 -_0801FCC8: .4byte gBattlescriptCurrInstr -_0801FCCC: .4byte BattleScript_EnduredMsg -_0801FCD0: - movs r0, 0x80 - ands r0, r5 - cmp r0, 0 - beq _0801FD18 - ldr r4, _0801FD00 @ =gLastUsedItem - ldr r2, _0801FD04 @ =gBattleMons - ldr r3, _0801FD08 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strh r0, [r4] - ldr r1, _0801FD0C @ =gPotentialItemEffectBattler - ldrb r0, [r3] - strb r0, [r1] - movs r0, 0x3F - ands r0, r5 - strb r0, [r6] - bl BattleScriptPushCursor - ldr r1, _0801FD10 @ =gBattlescriptCurrInstr - ldr r0, _0801FD14 @ =BattleScript_HangedOnMsg - b _0801FD3E - .align 2, 0 -_0801FD00: .4byte gLastUsedItem -_0801FD04: .4byte gBattleMons -_0801FD08: .4byte gBattlerTarget -_0801FD0C: .4byte gPotentialItemEffectBattler -_0801FD10: .4byte gBattlescriptCurrInstr -_0801FD14: .4byte BattleScript_HangedOnMsg -_0801FD18: - movs r0, 0x20 - ands r0, r5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0801FD28 -_0801FD24: - movs r3, 0xE5 - b _0801FD2E -_0801FD28: - strb r0, [r7, 0x7] -_0801FD2A: - cmp r3, 0 - beq _0801FD38 -_0801FD2E: - adds r0, r3, 0 - ldr r1, _0801FD48 @ =gBattlerAttacker - ldrb r1, [r1] - bl PrepareStringBattle -_0801FD38: - ldr r1, _0801FD4C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 -_0801FD3E: - str r0, [r1] -_0801FD40: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801FD48: .4byte gBattlerAttacker -_0801FD4C: .4byte gBattlescriptCurrInstr - thumb_func_end atk0F_resultmessage - - thumb_func_start atk10_printstring -atk10_printstring: @ 801FD50 - push {r4,lr} - ldr r0, _0801FD80 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FD7A - ldr r4, _0801FD84 @ =gBattlescriptCurrInstr - ldr r1, [r4] - ldrb r0, [r1, 0x1] - ldrb r1, [r1, 0x2] - lsls r1, 8 - orrs r0, r1 - ldr r1, _0801FD88 @ =gBattlerAttacker - ldrb r1, [r1] - bl PrepareStringBattle - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - ldr r1, _0801FD8C @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x7] -_0801FD7A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801FD80: .4byte gBattleControllerExecFlags -_0801FD84: .4byte gBattlescriptCurrInstr -_0801FD88: .4byte gBattlerAttacker -_0801FD8C: .4byte gBattleCommunication - thumb_func_end atk10_printstring - - thumb_func_start atk11_printselectionstring -atk11_printselectionstring: @ 801FD90 - push {r4,r5,lr} - ldr r5, _0801FDC4 @ =gActiveBattler - ldr r0, _0801FDC8 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r4, _0801FDCC @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0 - bl BtlController_EmitPrintSelectionString - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - ldr r1, _0801FDD0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x7] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801FDC4: .4byte gActiveBattler -_0801FDC8: .4byte gBattlerAttacker -_0801FDCC: .4byte gBattlescriptCurrInstr -_0801FDD0: .4byte gBattleCommunication - thumb_func_end atk11_printselectionstring - - thumb_func_start atk12_waitmessage -atk12_waitmessage: @ 801FDD4 - push {r4-r6,lr} - ldr r0, _0801FDF0 @ =gBattleControllerExecFlags - ldr r4, [r0] - cmp r4, 0 - bne _0801FE22 - ldr r6, _0801FDF4 @ =gBattleCommunication - ldrb r0, [r6, 0x7] - cmp r0, 0 - bne _0801FDFC - ldr r1, _0801FDF8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 - str r0, [r1] - b _0801FE22 - .align 2, 0 -_0801FDF0: .4byte gBattleControllerExecFlags -_0801FDF4: .4byte gBattleCommunication -_0801FDF8: .4byte gBattlescriptCurrInstr -_0801FDFC: - ldr r5, _0801FE28 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r3, _0801FE2C @ =gPauseCounterBattle - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r1 - bcc _0801FE22 - movs r1, 0 - strh r4, [r3] - adds r0, r2, 0x3 - str r0, [r5] - strb r1, [r6, 0x7] -_0801FE22: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801FE28: .4byte gBattlescriptCurrInstr -_0801FE2C: .4byte gPauseCounterBattle - thumb_func_end atk12_waitmessage - - thumb_func_start atk13_printfromtable -atk13_printfromtable: @ 801FE30 - push {r4,r5,lr} - ldr r0, _0801FE74 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FE6E - ldr r4, _0801FE78 @ =gBattlescriptCurrInstr - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - ldr r5, _0801FE7C @ =gBattleCommunication - ldrb r0, [r5, 0x5] - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - ldr r1, _0801FE80 @ =gBattlerAttacker - ldrb r1, [r1] - bl PrepareStringBattle - ldr r0, [r4] - adds r0, 0x5 - str r0, [r4] - movs r0, 0x1 - strb r0, [r5, 0x7] -_0801FE6E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801FE74: .4byte gBattleControllerExecFlags -_0801FE78: .4byte gBattlescriptCurrInstr -_0801FE7C: .4byte gBattleCommunication -_0801FE80: .4byte gBattlerAttacker - thumb_func_end atk13_printfromtable - - thumb_func_start atk14_printselectionstringfromtable -atk14_printselectionstringfromtable: @ 801FE84 - push {r4-r6,lr} - ldr r0, _0801FED4 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FECE - ldr r5, _0801FED8 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - ldr r6, _0801FEDC @ =gBattleCommunication - ldrb r0, [r6, 0x5] - lsls r0, 1 - adds r1, r0 - ldr r4, _0801FEE0 @ =gActiveBattler - ldr r0, _0801FEE4 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - ldrh r1, [r1] - movs r0, 0 - bl BtlController_EmitPrintSelectionString - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x5 - str r0, [r5] - movs r0, 0x1 - strb r0, [r6, 0x7] -_0801FECE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801FED4: .4byte gBattleControllerExecFlags -_0801FED8: .4byte gBattlescriptCurrInstr -_0801FEDC: .4byte gBattleCommunication -_0801FEE0: .4byte gActiveBattler -_0801FEE4: .4byte gBattlerAttacker - thumb_func_end atk14_printselectionstringfromtable - - thumb_func_start GetBattlerTurnOrderNum -GetBattlerTurnOrderNum: @ 801FEE8 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r0, _0801FF18 @ =gBattlersCount - ldrb r3, [r0] - cmp r1, r3 - bge _0801FF0E - ldr r4, _0801FF1C @ =gBattlerByTurnOrder - ldrb r0, [r4] - cmp r0, r2 - beq _0801FF0E -_0801FF00: - adds r1, 0x1 - cmp r1, r3 - bge _0801FF0E - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r2 - bne _0801FF00 -_0801FF0E: - lsls r0, r1, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0801FF18: .4byte gBattlersCount -_0801FF1C: .4byte gBattlerByTurnOrder - thumb_func_end GetBattlerTurnOrderNum - thumb_func_start SetMoveEffect SetMoveEffect: @ 801FF20 push {r4-r7,lr} -- cgit v1.2.3 From 1d8232b919a973b8e58d6431b0fb66ae6459f17a Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 25 Aug 2019 13:09:46 +0800 Subject: thru atk23 --- asm/battle_script_commands.s | 4466 ------------------------------------------ 1 file changed, 4466 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 8c70f5d8a..1d0282835 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,4472 +5,6 @@ .text - thumb_func_start SetMoveEffect -SetMoveEffect: @ 801FF20 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0 - mov r10, r0 - movs r7, 0 - movs r1, 0x1 - str r1, [sp, 0x4] - ldr r1, _0801FF64 @ =gBattleCommunication - ldrb r3, [r1, 0x3] - movs r0, 0x40 - ands r0, r3 - adds r6, r1, 0 - cmp r0, 0 - beq _0801FF78 - ldr r2, _0801FF68 @ =gEffectBattler - ldr r0, _0801FF6C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0xBF - ands r0, r3 - strb r0, [r6, 0x3] - movs r7, 0x40 - ldr r1, _0801FF70 @ =gBattleScripting - ldr r0, _0801FF74 @ =gBattlerTarget - b _0801FF84 - .align 2, 0 -_0801FF64: .4byte gBattleCommunication -_0801FF68: .4byte gEffectBattler -_0801FF6C: .4byte gBattlerAttacker -_0801FF70: .4byte gBattleScripting -_0801FF74: .4byte gBattlerTarget -_0801FF78: - ldr r2, _08020094 @ =gEffectBattler - ldr r0, _08020098 @ =gBattlerTarget - ldrb r0, [r0] - strb r0, [r2] - ldr r1, _0802009C @ =gBattleScripting - ldr r0, _080200A0 @ =gBattlerAttacker -_0801FF84: - ldrb r0, [r0] - strb r0, [r1, 0x17] - mov r9, r2 - ldr r0, _080200A4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - beq _0801FFB2 - ldrb r0, [r6, 0x3] - cmp r0, 0x1 - beq _0801FFB2 - mov r2, r9 - ldrb r0, [r2] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0801FFB2 - bl _080210EC -_0801FFB2: - ldr r3, _080200A8 @ =gBattleMons - ldr r2, _08020094 @ =gEffectBattler - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - mov r9, r2 - cmp r0, 0x13 - bne _0801FFE6 - ldr r0, _080200AC @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - bne _0801FFE6 - cmp r4, 0 - bne _0801FFE6 - ldr r0, _080200B0 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0x9 - bhi _0801FFE6 - bl _080210EC -_0801FFE6: - mov r3, r9 - ldrb r0, [r3] - bl GetBattlerPosition - ldr r2, _080200B4 @ =gSideStatuses - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08020020 - ldr r0, _080200AC @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - bne _08020020 - cmp r4, 0 - bne _08020020 - ldr r0, _080200B0 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0x7 - bhi _08020020 - bl _080210EC -_08020020: - ldr r3, _080200A8 @ =gBattleMons - ldr r2, _08020094 @ =gEffectBattler - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0, 0x28] - mov r9, r2 - mov r8, r3 - cmp r0, 0 - bne _08020046 - ldr r0, _080200B0 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0xB - beq _08020046 - cmp r0, 0x1F - beq _08020046 - bl _080210EC -_08020046: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - mov r1, r8 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _08020068 - cmp r7, 0x40 - beq _08020068 - bl _080210EC -_08020068: - ldr r0, _080200B0 @ =gBattleCommunication - ldrb r1, [r0, 0x3] - adds r6, r0, 0 - cmp r1, 0x6 - bls _08020074 - b _080206A2 -_08020074: - ldr r1, _080200B8 @ =sStatusFlagsForMoveEffects - ldrb r0, [r6, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x10 - bne _08020084 - b _08020270 -_08020084: - cmp r0, 0x10 - bhi _080200BC - cmp r0, 0x7 - beq _080200D6 - cmp r0, 0x8 - bne _08020092 - b _0802018C -_08020092: - b _08020570 - .align 2, 0 -_08020094: .4byte gEffectBattler -_08020098: .4byte gBattlerTarget -_0802009C: .4byte gBattleScripting -_080200A0: .4byte gBattlerAttacker -_080200A4: .4byte gBattleTypeFlags -_080200A8: .4byte gBattleMons -_080200AC: .4byte gHitMarker -_080200B0: .4byte gBattleCommunication -_080200B4: .4byte gSideStatuses -_080200B8: .4byte sStatusFlagsForMoveEffects -_080200BC: - cmp r0, 0x40 - bne _080200C2 - b _080203E4 -_080200C2: - cmp r0, 0x40 - bhi _080200CE - cmp r0, 0x20 - bne _080200CC - b _08020346 -_080200CC: - b _08020570 -_080200CE: - cmp r0, 0x80 - bne _080200D4 - b _08020440 -_080200D4: - b _08020570 -_080200D6: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2B - beq _08020138 - ldr r0, _08020130 @ =gActiveBattler - movs r1, 0 - strb r1, [r0] - ldr r1, _08020134 @ =gBattlersCount - ldrb r3, [r1] - adds r7, r0, 0 - mov r12, r1 - cmp r3, 0 - beq _08020144 - mov r4, r8 - ldr r0, [r4, 0x50] - movs r1, 0x70 - ands r0, r1 - cmp r0, 0 - bne _08020144 - adds r1, r7, 0 - mov r6, r8 - adds r6, 0x50 - movs r5, 0x58 - movs r4, 0x70 -_08020110: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r3 - bcs _08020144 - ldrb r0, [r7] - muls r0, r5 - adds r0, r6 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _08020110 - b _08020144 - .align 2, 0 -_08020130: .4byte gActiveBattler -_08020134: .4byte gBattlersCount -_08020138: - ldr r0, _08020184 @ =gActiveBattler - ldr r2, _08020188 @ =gBattlersCount - ldrb r1, [r2] - strb r1, [r0] - adds r7, r0, 0 - mov r12, r2 -_08020144: - mov r0, r9 - ldrb r2, [r0] - movs r0, 0x58 - adds r1, r2, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802015C - b _08020570 -_0802015C: - ldrb r0, [r7] - mov r3, r12 - ldrb r3, [r3] - cmp r0, r3 - beq _08020168 - b _08020570 -_08020168: - mov r4, r8 - adds r0, r1, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x48 - bne _08020176 - b _08020570 -_08020176: - cmp r0, 0xF - bne _0802017C - b _08020570 -_0802017C: - adds r0, r2, 0 - bl CancelMultiTurnMoves - b _08020560 - .align 2, 0 -_08020184: .4byte gActiveBattler -_08020188: .4byte gBattlersCount -_0802018C: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x11 - bne _080201E4 - cmp r4, 0x1 - beq _080201A6 - cmp r5, 0x80 - bne _080201E4 -_080201A6: - ldr r0, _080201D4 @ =gLastUsedAbility - strb r1, [r0] - mov r3, r9 - ldrb r0, [r3] - movs r1, 0x11 - bl RecordAbilityBattle - ldr r4, _080201D8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _080201DC @ =BattleScript_PSNPrevention -_080201C0: - str r0, [r4] - ldr r2, _080201E0 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 6 - ands r0, r1 - cmp r0, 0 - beq _080201D2 - b _08020484 -_080201D2: - b _080204A8 - .align 2, 0 -_080201D4: .4byte gLastUsedAbility -_080201D8: .4byte gBattlescriptCurrInstr -_080201DC: .4byte BattleScript_PSNPrevention -_080201E0: .4byte gHitMarker -_080201E4: - mov r1, r9 - ldrb r0, [r1] - movs r1, 0x58 - muls r0, r1 - add r0, r8 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r1, 0x3 - beq _08020208 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x3 - beq _08020208 - cmp r1, 0x8 - beq _08020208 - cmp r0, 0x8 - bne _08020222 -_08020208: - ldr r0, _0802026C @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _08020222 - cmp r4, 0x1 - bne _0802021C - b _080204E8 -_0802021C: - cmp r5, 0x80 - bne _08020222 - b _080204E8 -_08020222: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x58 - muls r1, r0 - mov r4, r8 - adds r3, r1, r4 - adds r0, r3, 0 - adds r0, 0x21 - ldrb r4, [r0] - cmp r4, 0x3 - bne _0802023A - b _08020570 -_0802023A: - adds r0, 0x1 - ldrb r0, [r0] - cmp r0, 0x3 - bne _08020244 - b _08020570 -_08020244: - cmp r4, 0x8 - bne _0802024A - b _08020570 -_0802024A: - cmp r0, 0x8 - bne _08020250 - b _08020570 -_08020250: - mov r0, r8 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802025E - b _08020570 -_0802025E: - adds r0, r3, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x11 - bne _0802026A - b _08020570 -_0802026A: - b _08020560 - .align 2, 0 -_0802026C: .4byte gHitMarker -_08020270: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x29 - bne _080202B4 - cmp r4, 0x1 - beq _0802028A - cmp r5, 0x80 - bne _080202B4 -_0802028A: - ldr r0, _080202A8 @ =gLastUsedAbility - strb r1, [r0] - mov r3, r9 - ldrb r0, [r3] - movs r1, 0x29 - bl RecordAbilityBattle - ldr r4, _080202AC @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _080202B0 @ =BattleScript_BRNPrevention - b _080201C0 - .align 2, 0 -_080202A8: .4byte gLastUsedAbility -_080202AC: .4byte gBattlescriptCurrInstr -_080202B0: .4byte BattleScript_BRNPrevention -_080202B4: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - mov r2, r8 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xA - beq _080202D4 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xA - bne _08020304 -_080202D4: - ldr r0, _080202F8 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _08020304 - cmp r4, 0x1 - beq _080202EA - cmp r5, 0x80 - bne _08020304 -_080202EA: - ldr r4, _080202FC @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020300 @ =BattleScript_BRNPrevention - b _080204F4 - .align 2, 0 -_080202F8: .4byte gHitMarker -_080202FC: .4byte gBattlescriptCurrInstr -_08020300: .4byte BattleScript_BRNPrevention -_08020304: - mov r3, r9 - ldrb r0, [r3] - movs r1, 0x58 - adds r2, r0, 0 - muls r2, r1 - mov r4, r8 - adds r1, r2, r4 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xA - bne _0802031E - b _08020570 -_0802031E: - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xA - bne _0802032A - b _08020570 -_0802032A: - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x29 - bne _08020336 - b _08020570 -_08020336: - mov r0, r8 - adds r0, 0x4C - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _08020344 - b _08020570 -_08020344: - b _08020560 -_08020346: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08020382 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _08020382 - ldr r0, _080203D8 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _08020382 - movs r1, 0 - str r1, [sp, 0x4] -_08020382: - ldr r4, _080203DC @ =gBattleMons - ldr r0, _080203E0 @ =gEffectBattler - ldrb r3, [r0] - movs r0, 0x58 - adds r2, r3, 0 - muls r2, r0 - adds r1, r2, r4 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xF - bne _0802039C - b _08020570 -_0802039C: - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xF - bne _080203A8 - b _08020570 -_080203A8: - adds r0, r4, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080203B6 - b _08020570 -_080203B6: - ldr r2, [sp, 0x4] - cmp r2, 0 - bne _080203BE - b _08020570 -_080203BE: - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x28 - bne _080203CA - b _08020570 -_080203CA: - adds r0, r3, 0 - bl CancelMultiTurnMoves - movs r3, 0x1 - mov r10, r3 - b _08020570 - .align 2, 0 -_080203D8: .4byte gBattleWeather -_080203DC: .4byte gBattleMons -_080203E0: .4byte gEffectBattler -_080203E4: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - mov r2, r8 - adds r0, r1, r2 - adds r0, 0x20 - ldrb r2, [r0] - cmp r2, 0x7 - bne _0802042C - cmp r4, 0x1 - beq _08020402 - cmp r5, 0x80 - beq _08020402 - b _08020570 -_08020402: - ldr r0, _08020420 @ =gLastUsedAbility - strb r2, [r0] - mov r3, r9 - ldrb r0, [r3] - movs r1, 0x7 - bl RecordAbilityBattle - ldr r4, _08020424 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020428 @ =BattleScript_PRLZPrevention - b _080201C0 - .align 2, 0 -_08020420: .4byte gLastUsedAbility -_08020424: .4byte gBattlescriptCurrInstr -_08020428: .4byte BattleScript_PRLZPrevention -_0802042C: - mov r0, r8 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802043A - b _08020570 -_0802043A: - movs r4, 0x1 - mov r10, r4 - b _08020570 -_08020440: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x11 - bne _080204AE - cmp r4, 0x1 - beq _0802045A - cmp r5, 0x80 - bne _080204AE -_0802045A: - ldr r0, _08020494 @ =gLastUsedAbility - strb r1, [r0] - mov r1, r9 - ldrb r0, [r1] - movs r1, 0x11 - bl RecordAbilityBattle - ldr r4, _08020498 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _0802049C @ =BattleScript_PSNPrevention - str r0, [r4] - ldr r2, _080204A0 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 6 - ands r0, r1 - cmp r0, 0 - beq _080204A8 -_08020484: - movs r0, 0x1 - strb r0, [r6, 0x5] - ldr r0, _080204A4 @ =0xffffdfff - ands r1, r0 - str r1, [r2] - bl _0802110A - .align 2, 0 -_08020494: .4byte gLastUsedAbility -_08020498: .4byte gBattlescriptCurrInstr -_0802049C: .4byte BattleScript_PSNPrevention -_080204A0: .4byte gHitMarker -_080204A4: .4byte 0xffffdfff -_080204A8: - strb r0, [r6, 0x5] - bl _0802110A -_080204AE: - mov r2, r9 - ldrb r0, [r2] - movs r1, 0x58 - muls r0, r1 - add r0, r8 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r1, 0x3 - beq _080204D2 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x3 - beq _080204D2 - cmp r1, 0x8 - beq _080204D2 - cmp r0, 0x8 - bne _08020510 -_080204D2: - ldr r0, _08020500 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _08020510 - cmp r4, 0x1 - beq _080204E8 - cmp r5, 0x80 - bne _08020510 -_080204E8: - ldr r4, _08020504 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020508 @ =BattleScript_PSNPrevention -_080204F4: - str r0, [r4] - ldr r1, _0802050C @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - bl _0802110A - .align 2, 0 -_08020500: .4byte gHitMarker -_08020504: .4byte gBattlescriptCurrInstr -_08020508: .4byte BattleScript_PSNPrevention -_0802050C: .4byte gBattleCommunication -_08020510: - mov r3, r9 - ldrb r0, [r3] - movs r6, 0x58 - muls r0, r6 - mov r2, r8 - adds r2, 0x4C - adds r5, r0, r2 - ldr r4, [r5] - cmp r4, 0 - bne _08020570 - mov r3, r8 - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r3, [r0] - cmp r3, 0x3 - beq _08020566 - adds r0, 0x1 - ldrb r0, [r0] - cmp r0, 0x3 - beq _08020566 - cmp r3, 0x8 - beq _08020566 - cmp r0, 0x8 - beq _08020566 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x11 - beq _08020570 - mov r4, r9 - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r6 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x9 - negs r2, r2 - ands r0, r2 - str r0, [r1] -_08020560: - movs r0, 0x1 - mov r10, r0 - b _08020570 -_08020566: - ldr r0, _080205B4 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] -_08020570: - mov r1, r10 - cmp r1, 0x1 - beq _08020578 - b _08020694 -_08020578: - ldr r0, _080205B8 @ =gBattlescriptCurrInstr - ldr r0, [r0] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _080205BC @ =sStatusFlagsForMoveEffects - ldr r0, _080205C0 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - cmp r3, 0x7 - bne _080205CC - bl Random - ldr r2, _080205C4 @ =gBattleMons - ldr r1, _080205C8 @ =gEffectBattler - ldrb r3, [r1] - movs r1, 0x58 - muls r3, r1 - adds r2, 0x4C - adds r3, r2 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x2 - ldr r0, [r3] - orrs r0, r1 - str r0, [r3] - b _080205E0 - .align 2, 0 -_080205B4: .4byte gMoveResultFlags -_080205B8: .4byte gBattlescriptCurrInstr -_080205BC: .4byte sStatusFlagsForMoveEffects -_080205C0: .4byte gBattleCommunication -_080205C4: .4byte gBattleMons -_080205C8: .4byte gEffectBattler -_080205CC: - ldr r2, _08020630 @ =gBattleMons - ldr r0, _08020634 @ =gEffectBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r2, 0x4C - adds r1, r2 - ldr r0, [r1] - orrs r0, r3 - str r0, [r1] -_080205E0: - ldr r2, _08020638 @ =gBattlescriptCurrInstr - ldr r1, _0802063C @ =sMoveEffectBS_Ptrs - ldr r5, _08020640 @ =gBattleCommunication - ldrb r0, [r5, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r4, _08020644 @ =gActiveBattler - ldr r1, _08020634 @ =gEffectBattler - ldrb r0, [r1] - strb r0, [r4] - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - ldr r1, _08020648 @ =gUnknown_2023C30 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r2, _0802064C @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 6 - ands r0, r1 - cmp r0, 0 - beq _08020654 - movs r0, 0x1 - strb r0, [r5, 0x5] - ldr r0, _08020650 @ =0xffffdfff - ands r1, r0 - str r1, [r2] - b _08020656 - .align 2, 0 -_08020630: .4byte gBattleMons -_08020634: .4byte gEffectBattler -_08020638: .4byte gBattlescriptCurrInstr -_0802063C: .4byte sMoveEffectBS_Ptrs -_08020640: .4byte gBattleCommunication -_08020644: .4byte gActiveBattler -_08020648: .4byte gUnknown_2023C30 -_0802064C: .4byte gHitMarker -_08020650: .4byte 0xffffdfff -_08020654: - strb r0, [r5, 0x5] -_08020656: - ldr r0, _08020688 @ =gBattleCommunication - ldrb r2, [r0, 0x3] - adds r6, r0, 0 - cmp r2, 0x2 - beq _08020670 - cmp r2, 0x6 - beq _08020670 - cmp r2, 0x5 - beq _08020670 - cmp r2, 0x3 - beq _08020670 - bl _0802110A -_08020670: - ldr r0, _0802068C @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB4 - ldrb r1, [r6, 0x3] - strb r1, [r0] - ldr r2, _08020690 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 7 - bl _08021008 - .align 2, 0 -_08020688: .4byte gBattleCommunication -_0802068C: .4byte gBattleStruct -_08020690: .4byte gHitMarker -_08020694: - mov r2, r10 - cmp r2, 0 - beq _0802069E - bl _0802110A -_0802069E: - bl _080210EC -_080206A2: - mov r3, r9 - ldrb r1, [r3] - movs r0, 0x58 - muls r1, r0 - mov r0, r8 - adds r0, 0x50 - adds r1, r0 - ldr r2, _080206DC @ =sStatusFlagsForMoveEffects - ldrb r3, [r6, 0x3] - lsls r0, r3, 2 - adds r0, r2 - ldr r1, [r1] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080206C6 - bl _080210EC -_080206C6: - subs r0, r3, 0x7 - cmp r0, 0x34 - bls _080206D0 - bl _0802110A -_080206D0: - lsls r0, 2 - ldr r1, _080206E0 @ =_080206E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080206DC: .4byte sStatusFlagsForMoveEffects -_080206E0: .4byte _080206E4 - .align 2, 0 -_080206E4: - .4byte _080207B8 - .4byte _0802082C - .4byte _080209A0 - .4byte _080208B8 - .4byte _08020934 - .4byte _080209D8 - .4byte _08020A20 - .4byte _08020AEC - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020C40 - .4byte _08020C88 - .4byte _08020CA8 - .4byte _08020E78 - .4byte _08020EB4 - .4byte _08020ED0 - .4byte _08020EE8 - .4byte _08020F00 - .4byte _08020F60 - .4byte _08020F78 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020FBC - .4byte _08021018 - .4byte _0802110A - .4byte _0802110A - .4byte _0802110A - .4byte _0802110A - .4byte _080210FC -_080207B8: - mov r4, r9 - ldrb r0, [r4] - movs r5, 0x58 - adds r1, r0, 0 - muls r1, r5 - mov r2, r8 - adds r0, r1, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x14 - bne _080207D2 - bl _080210EC -_080207D2: - mov r4, r8 - adds r4, 0x50 - adds r0, r1, r4 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080207E6 - bl _080210EC -_080207E6: - bl Random - mov r3, r9 - ldrb r1, [r3] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r1, 16 - adds r1, 0x2 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r4, _08020820 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020824 @ =sMoveEffectBS_Ptrs - ldr r0, _08020828 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _08021108 - .align 2, 0 -_08020820: .4byte gBattlescriptCurrInstr -_08020824: .4byte sMoveEffectBS_Ptrs -_08020828: .4byte gBattleCommunication -_0802082C: - mov r0, r9 - ldrb r2, [r0] - movs r6, 0x58 - adds r0, r2, 0 - muls r0, r6 - add r0, r8 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x27 - bne _08020870 - cmp r4, 0x1 - beq _0802084C - cmp r5, 0x80 - beq _0802084C - bl _080210EC -_0802084C: - ldr r0, _08020864 @ =gLastUsedAbility - strb r1, [r0] - mov r1, r9 - ldrb r0, [r1] - movs r1, 0x27 - bl RecordAbilityBattle - ldr r1, _08020868 @ =gBattlescriptCurrInstr - ldr r0, _0802086C @ =BattleScript_FlinchPrevention - str r0, [r1] - bl _0802110A - .align 2, 0 -_08020864: .4byte gLastUsedAbility -_08020868: .4byte gBattlescriptCurrInstr -_0802086C: .4byte BattleScript_FlinchPrevention -_08020870: - adds r0, r2, 0 - bl GetBattlerTurnOrderNum - ldr r1, _080208AC @ =gCurrentTurnActionNumber - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bhi _08020886 - bl _080210EC -_08020886: - mov r2, r9 - ldrb r0, [r2] - adds r2, r0, 0 - muls r2, r6 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r1, _080208B0 @ =sStatusFlagsForMoveEffects - ldr r0, _080208B4 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - orrs r1, r0 - str r1, [r2] - bl _080210EC - .align 2, 0 -_080208AC: .4byte gCurrentTurnActionNumber -_080208B0: .4byte sStatusFlagsForMoveEffects -_080208B4: .4byte gBattleCommunication -_080208B8: - mov r3, r9 - ldrb r0, [r3] - movs r5, 0x58 - muls r0, r5 - mov r4, r8 - adds r4, 0x50 - adds r2, r0, r4 - ldr r1, [r2] - movs r0, 0x70 - ands r0, r1 - cmp r0, 0 - beq _080208D4 - bl _080210EC -_080208D4: - movs r0, 0x80 - lsls r0, 5 - orrs r1, r0 - str r1, [r2] - ldr r1, _08020920 @ =gLockedMoves - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _08020924 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - bl Random - mov r2, r9 - ldrb r1, [r2] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x2 - lsls r1, 4 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r4, _08020928 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _0802092C @ =sMoveEffectBS_Ptrs - ldr r0, _08020930 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _08021108 - .align 2, 0 -_08020920: .4byte gLockedMoves -_08020924: .4byte gCurrentMove -_08020928: .4byte gBattlescriptCurrInstr -_0802092C: .4byte sMoveEffectBS_Ptrs -_08020930: .4byte gBattleCommunication -_08020934: - ldr r5, _08020984 @ =gBattlerAttacker - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _0802096C - ldr r4, _08020988 @ =gPaydayMoney - ldrh r3, [r4] - ldr r2, _0802098C @ =gBattleMons - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, r3, r0 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r3, r0 - bls _0802096C - ldr r3, _08020990 @ =0x0000ffff - adds r0, r3, 0 - strh r0, [r4] -_0802096C: - ldr r4, _08020994 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020998 @ =sMoveEffectBS_Ptrs - ldr r0, _0802099C @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - b _08021108 - .align 2, 0 -_08020984: .4byte gBattlerAttacker -_08020988: .4byte gPaydayMoney -_0802098C: .4byte gBattleMons -_08020990: .4byte 0x0000ffff -_08020994: .4byte gBattlescriptCurrInstr -_08020998: .4byte sMoveEffectBS_Ptrs -_0802099C: .4byte gBattleCommunication -_080209A0: - mov r4, r9 - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - mov r1, r8 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080209B6 - b _080210EC -_080209B6: - bl Random - ldr r4, _080209D4 @ =gBattleCommunication - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - adds r0, 0x3 - strb r0, [r4, 0x3] - movs r0, 0 - movs r1, 0 - bl SetMoveEffect - b _0802110A - .align 2, 0 -_080209D4: .4byte gBattleCommunication -_080209D8: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r2] - ldr r1, _08020A14 @ =gLockedMoves - mov r2, r9 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - ldr r1, _08020A18 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - ldr r0, _08020A1C @ =gProtectStructs - ldrb r1, [r2] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x1] - b _080210EC - .align 2, 0 -_08020A14: .4byte gLockedMoves -_08020A18: .4byte gCurrentMove -_08020A1C: .4byte gProtectStructs -_08020A20: - mov r3, r9 - ldrb r0, [r3] - movs r6, 0x58 - muls r0, r6 - mov r4, r8 - adds r4, 0x50 - adds r0, r4 - ldr r5, [r0] - movs r0, 0xE0 - lsls r0, 8 - ands r5, r0 - cmp r5, 0 - beq _08020A3C - b _080210EC -_08020A3C: - bl Random - mov r2, r9 - ldrb r1, [r2] - adds r2, r1, 0 - muls r2, r6 - adds r2, r4 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x3 - lsls r1, 13 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - mov r3, r9 - ldrb r1, [r3] - ldr r2, _08020AD0 @ =gBattleStruct - ldr r0, [r2] - lsls r1, 1 - adds r1, r0 - ldr r6, _08020AD4 @ =gCurrentMove - ldrh r0, [r6] - strb r0, [r1, 0x4] - ldrb r1, [r3] - ldr r0, [r2] - lsls r1, 1 - adds r1, r0 - ldrh r0, [r6] - lsrs r0, 8 - strb r0, [r1, 0x5] - ldrb r1, [r3] - ldr r0, [r2] - adds r1, r0 - ldr r0, _08020AD8 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r1, 0x14] - ldr r4, _08020ADC @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020AE0 @ =sMoveEffectBS_Ptrs - ldr r2, _08020AE4 @ =gBattleCommunication - ldrb r0, [r2, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r4] - strb r5, [r2, 0x5] - ldr r3, _08020AE8 @ =gTrappingMoves - ldrh r0, [r3] - ldrh r4, [r6] - cmp r0, r4 - bne _08020AAA - b _0802110A -_08020AAA: - adds r1, r2, 0 - adds r2, r6, 0 -_08020AAE: - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _08020ABE - b _0802110A -_08020ABE: - ldrb r0, [r1, 0x5] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - ldrh r4, [r2] - cmp r0, r4 - bne _08020AAE - b _0802110A - .align 2, 0 -_08020AD0: .4byte gBattleStruct -_08020AD4: .4byte gCurrentMove -_08020AD8: .4byte gBattlerAttacker -_08020ADC: .4byte gBattlescriptCurrInstr -_08020AE0: .4byte sMoveEffectBS_Ptrs -_08020AE4: .4byte gBattleCommunication -_08020AE8: .4byte gTrappingMoves -_08020AEC: - ldr r1, _08020B1C @ =gBattleMoveDamage - ldr r0, _08020B20 @ =gHpDealt - ldr r0, [r0] - cmp r0, 0 - bge _08020AF8 - adds r0, 0x3 -_08020AF8: - asrs r0, 2 - str r0, [r1] - cmp r0, 0 - bne _08020B04 - movs r0, 0x1 - str r0, [r1] -_08020B04: - ldr r4, _08020B24 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020B28 @ =sMoveEffectBS_Ptrs - ldr r0, _08020B2C @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - b _08021108 - .align 2, 0 -_08020B1C: .4byte gBattleMoveDamage -_08020B20: .4byte gHpDealt -_08020B24: .4byte gBattlescriptCurrInstr -_08020B28: .4byte sMoveEffectBS_Ptrs -_08020B2C: .4byte gBattleCommunication -_08020B30: - ldrb r1, [r6, 0x3] - adds r1, 0xF2 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x10 - adds r2, r7, 0 - movs r3, 0 - bl ChangeStatBuffs - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08020B4C - b _080210EC -_08020B4C: - ldr r2, _08020B68 @ =gBattleScripting - ldrb r1, [r6, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x10] - strb r3, [r2, 0x11] - ldr r4, _08020B6C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020B70 @ =BattleScript_StatUp - b _08021108 - .align 2, 0 -_08020B68: .4byte gBattleScripting -_08020B6C: .4byte gBattlescriptCurrInstr -_08020B70: .4byte BattleScript_StatUp -_08020B74: - movs r0, 0x70 - negs r0, r0 - ldrb r1, [r6, 0x3] - adds r1, 0xEB - lsls r1, 24 - lsrs r1, 24 - adds r2, r7, 0 - movs r3, 0 - bl ChangeStatBuffs - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08020B92 - b _080210EC -_08020B92: - ldr r2, _08020BAC @ =gBattleScripting - ldrb r1, [r6, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x10] - strb r3, [r2, 0x11] - ldr r4, _08020BB0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020BB4 @ =BattleScript_StatDown - b _08021108 - .align 2, 0 -_08020BAC: .4byte gBattleScripting -_08020BB0: .4byte gBattlescriptCurrInstr -_08020BB4: .4byte BattleScript_StatDown -_08020BB8: - ldrb r1, [r6, 0x3] - adds r1, 0xDA - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x20 - adds r2, r7, 0 - movs r3, 0 - bl ChangeStatBuffs - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08020BD4 - b _080210EC -_08020BD4: - ldr r2, _08020BF0 @ =gBattleScripting - ldrb r1, [r6, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x10] - strb r3, [r2, 0x11] - ldr r4, _08020BF4 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020BF8 @ =BattleScript_StatUp - b _08021108 - .align 2, 0 -_08020BF0: .4byte gBattleScripting -_08020BF4: .4byte gBattlescriptCurrInstr -_08020BF8: .4byte BattleScript_StatUp -_08020BFC: - movs r0, 0x60 - negs r0, r0 - ldrb r1, [r6, 0x3] - adds r1, 0xD3 - lsls r1, 24 - lsrs r1, 24 - adds r2, r7, 0 - movs r3, 0 - bl ChangeStatBuffs - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08020C1A - b _080210EC -_08020C1A: - ldr r2, _08020C34 @ =gBattleScripting - ldrb r1, [r6, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x10] - strb r3, [r2, 0x11] - ldr r4, _08020C38 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020C3C @ =BattleScript_StatDown - b _08021108 - .align 2, 0 -_08020C34: .4byte gBattleScripting -_08020C38: .4byte gBattlescriptCurrInstr -_08020C3C: .4byte BattleScript_StatDown -_08020C40: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 15 - orrs r0, r1 - str r0, [r2] - ldr r2, _08020C7C @ =gDisableStructs - mov r3, r9 - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2 - strb r1, [r0, 0x19] - ldr r1, _08020C80 @ =gLockedMoves - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _08020C84 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - b _080210EC - .align 2, 0 -_08020C7C: .4byte gDisableStructs -_08020C80: .4byte gLockedMoves -_08020C84: .4byte gCurrentMove -_08020C88: - ldr r0, _08020CA4 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 16 -_08020C9E: - orrs r0, r1 - str r0, [r2] - b _080210EC - .align 2, 0 -_08020CA4: .4byte gBattlerAttacker -_08020CA8: - ldr r5, _08020D64 @ =gBattleTypeFlags - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - beq _08020CB8 - b _080210EC -_08020CB8: - ldr r4, _08020D68 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08020CEA - ldr r0, [r5] - ldr r1, _08020D6C @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _08020D26 - ldr r0, _08020D70 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _08020CEA - b _080210EC -_08020CEA: - ldr r0, _08020D64 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _08020D6C @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _08020D26 - ldr r0, _08020D70 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _08020D26 - ldr r0, _08020D74 @ =gWishFutureKnock - adds r0, 0x29 - adds r0, r6, r0 - ldrb r1, [r0] - ldr r3, _08020D78 @ =gBitTable - ldr r2, _08020D7C @ =gBattlerPartyIndexes - ldr r0, _08020D68 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08020D26 - b _080210EC -_08020D26: - ldr r2, _08020D80 @ =gBattleMons - ldr r1, _08020D84 @ =gBattlerTarget - ldrb r0, [r1] - movs r3, 0x58 - muls r0, r3 - adds r4, r0, r2 - ldrh r0, [r4, 0x2E] - adds r7, r1, 0 - mov r8, r2 - cmp r0, 0 - beq _08020D94 - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x3C - bne _08020D94 - ldr r1, _08020D88 @ =gBattlescriptCurrInstr - ldr r0, _08020D8C @ =BattleScript_StickyHoldActivates - str r0, [r1] - ldr r1, _08020D90 @ =gLastUsedAbility - ldrb r0, [r7] - muls r0, r3 - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - ldrb r1, [r1] - bl RecordAbilityBattle - b _0802110A - .align 2, 0 -_08020D64: .4byte gBattleTypeFlags -_08020D68: .4byte gBattlerAttacker -_08020D6C: .4byte 0x00000902 -_08020D70: .4byte gTrainerBattleOpponent_A -_08020D74: .4byte gWishFutureKnock -_08020D78: .4byte gBitTable -_08020D7C: .4byte gBattlerPartyIndexes -_08020D80: .4byte gBattleMons -_08020D84: .4byte gBattlerTarget -_08020D88: .4byte gBattlescriptCurrInstr -_08020D8C: .4byte BattleScript_StickyHoldActivates -_08020D90: .4byte gLastUsedAbility -_08020D94: - ldr r4, _08020E60 @ =gBattlerAttacker - mov r10, r4 - ldrb r2, [r4] - movs r0, 0x58 - mov r9, r0 - mov r0, r9 - muls r0, r2 - add r0, r8 - ldrh r4, [r0, 0x2E] - cmp r4, 0 - beq _08020DAC - b _080210EC -_08020DAC: - ldrb r0, [r7] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - ldrh r3, [r0, 0x2E] - adds r1, r3, 0 - cmp r1, 0xAF - bne _08020DC0 - b _080210EC -_08020DC0: - adds r0, r3, 0 - subs r0, 0x79 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bhi _08020DCE - b _080210EC -_08020DCE: - cmp r1, 0 - bne _08020DD4 - b _080210EC -_08020DD4: - ldr r5, _08020E64 @ =gBattleStruct - lsls r0, r2, 1 - adds r0, 0xD0 - ldr r1, [r5] - adds r1, r0 - ldr r2, _08020E68 @ =gLastUsedItem - strh r3, [r1] - strh r3, [r2] - ldrb r0, [r7] - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - add r0, r8 - movs r6, 0 - strh r4, [r0, 0x2E] - ldr r4, _08020E6C @ =gActiveBattler - mov r1, r10 - ldrb r0, [r1] - strb r0, [r4] - str r2, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - mov r2, r10 - ldrb r0, [r2] - bl MarkBattlerForControllerExec - ldrb r0, [r7] - strb r0, [r4] - ldrb r0, [r7] - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - mov r1, r8 - adds r1, 0x2E - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldr r4, _08020E70 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020E74 @ =BattleScript_ItemSteal - str r0, [r4] - ldrb r0, [r7] - ldr r1, [r5] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC8 - strb r6, [r0] - ldrb r0, [r7] - ldr r1, [r5] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC9 - strb r6, [r0] - b _0802110A - .align 2, 0 -_08020E60: .4byte gBattlerAttacker -_08020E64: .4byte gBattleStruct -_08020E68: .4byte gLastUsedItem -_08020E6C: .4byte gActiveBattler -_08020E70: .4byte gBattlescriptCurrInstr -_08020E74: .4byte BattleScript_ItemSteal -_08020E78: - ldr r3, _08020EA8 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 19 - orrs r0, r1 - str r0, [r2] - ldr r2, _08020EAC @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _08020EB0 @ =gBattlerAttacker - ldrb r1, [r1] - strb r1, [r0, 0x14] - b _080210EC - .align 2, 0 -_08020EA8: .4byte gBattlerTarget -_08020EAC: .4byte gDisableStructs -_08020EB0: .4byte gBattlerAttacker -_08020EB4: - ldr r0, _08020ECC @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 20 - b _08020C9E - .align 2, 0 -_08020ECC: .4byte gBattlerTarget -_08020ED0: - ldr r4, _08020EE0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020EE4 @ =BattleScript_AllStatsUp - b _08021108 - .align 2, 0 -_08020EE0: .4byte gBattlescriptCurrInstr -_08020EE4: .4byte BattleScript_AllStatsUp -_08020EE8: - ldr r4, _08020EF8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020EFC @ =BattleScript_RapidSpinAway - b _08021108 - .align 2, 0 -_08020EF8: .4byte gBattlescriptCurrInstr -_08020EFC: .4byte BattleScript_RapidSpinAway -_08020F00: - ldr r6, _08020F50 @ =gBattlerTarget - ldrb r0, [r6] - movs r2, 0x58 - muls r0, r2 - mov r1, r8 - adds r1, 0x4C - adds r5, r0, r1 - ldr r4, [r5] - movs r0, 0x40 - ands r0, r4 - cmp r0, 0 - bne _08020F1A - b _080210EC -_08020F1A: - movs r0, 0x41 - negs r0, r0 - ands r4, r0 - str r4, [r5] - ldr r4, _08020F54 @ =gActiveBattler - ldrb r0, [r6] - strb r0, [r4] - ldrb r0, [r4] - muls r0, r2 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r4, _08020F58 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020F5C @ =BattleScript_TargetPRLZHeal - b _08021108 - .align 2, 0 -_08020F50: .4byte gBattlerTarget -_08020F54: .4byte gActiveBattler -_08020F58: .4byte gBattlescriptCurrInstr -_08020F5C: .4byte BattleScript_TargetPRLZHeal -_08020F60: - ldr r4, _08020F70 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020F74 @ =BattleScript_AtkDefDown - b _08021108 - .align 2, 0 -_08020F70: .4byte gBattlescriptCurrInstr -_08020F74: .4byte BattleScript_AtkDefDown -_08020F78: - ldr r4, _08020FA8 @ =gBattleMoveDamage - ldr r0, _08020FAC @ =gHpDealt - ldr r0, [r0] - movs r1, 0x3 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _08020F8E - movs r0, 0x1 - str r0, [r4] -_08020F8E: - ldr r4, _08020FB0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020FB4 @ =sMoveEffectBS_Ptrs - ldr r0, _08020FB8 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - b _08021108 - .align 2, 0 -_08020FA8: .4byte gBattleMoveDamage -_08020FAC: .4byte gHpDealt -_08020FB0: .4byte gBattlescriptCurrInstr -_08020FB4: .4byte sMoveEffectBS_Ptrs -_08020FB8: .4byte gBattleCommunication -_08020FBC: - mov r4, r9 - ldrb r0, [r4] - movs r5, 0x58 - muls r0, r5 - mov r4, r8 - adds r4, 0x50 - adds r2, r0, r4 - ldr r1, [r2] - movs r0, 0xC0 - lsls r0, 4 - ands r0, r1 - cmp r0, 0 - beq _08020FD8 - b _080210EC -_08020FD8: - movs r0, 0x80 - lsls r0, 5 - orrs r1, r0 - str r1, [r2] - ldr r1, _08021010 @ =gLockedMoves - mov r2, r9 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - ldr r1, _08021014 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - bl Random - mov r3, r9 - ldrb r1, [r3] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - movs r1, 0x1 - ands r1, r0 - adds r1, 0x2 - lsls r1, 10 - ldr r0, [r2] -_08021008: - orrs r0, r1 - str r0, [r2] - b _0802110A - .align 2, 0 -_08021010: .4byte gLockedMoves -_08021014: .4byte gCurrentMove -_08021018: - mov r5, r9 - ldrb r3, [r5] - movs r4, 0x58 - adds r0, r3, 0 - muls r0, r4 - mov r2, r8 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r2, [r0] - cmp r2, 0x3C - bne _08021058 - ldrh r0, [r1, 0x2E] - cmp r0, 0 - beq _080210EC - ldr r0, _0802104C @ =gLastUsedAbility - strb r2, [r0] - ldr r1, _08021050 @ =gBattlescriptCurrInstr - ldr r0, _08021054 @ =BattleScript_StickyHoldActivates - str r0, [r1] - ldrb r0, [r5] - movs r1, 0x3C - bl RecordAbilityBattle - b _0802110A - .align 2, 0 -_0802104C: .4byte gLastUsedAbility -_08021050: .4byte gBattlescriptCurrInstr -_08021054: .4byte BattleScript_StickyHoldActivates -_08021058: - ldrh r0, [r1, 0x2E] - cmp r0, 0 - beq _080210EC - adds r0, r3, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080210D0 @ =gLastUsedItem - mov r3, r9 - ldrb r0, [r3] - muls r0, r4 - add r0, r8 - ldrh r0, [r0, 0x2E] - strh r0, [r1] - ldrb r0, [r3] - muls r0, r4 - add r0, r8 - movs r5, 0 - movs r1, 0 - strh r1, [r0, 0x2E] - ldr r2, _080210D4 @ =gWishFutureKnock - adds r2, 0x29 - adds r2, r6, r2 - ldr r3, _080210D8 @ =gBitTable - ldr r1, _080210DC @ =gBattlerPartyIndexes - mov r4, r9 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r4, _080210E0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _080210E4 @ =BattleScript_KnockedOff - str r0, [r4] - mov r1, r9 - ldrb r0, [r1] - ldr r2, _080210E8 @ =gBattleStruct - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC8 - strb r5, [r0] - mov r3, r9 - ldrb r0, [r3] - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC9 - strb r5, [r0] - b _0802110A - .align 2, 0 -_080210D0: .4byte gLastUsedItem -_080210D4: .4byte gWishFutureKnock -_080210D8: .4byte gBitTable -_080210DC: .4byte gBattlerPartyIndexes -_080210E0: .4byte gBattlescriptCurrInstr -_080210E4: .4byte BattleScript_KnockedOff -_080210E8: .4byte gBattleStruct -_080210EC: - ldr r1, _080210F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - b _0802110A - .align 2, 0 -_080210F8: .4byte gBattlescriptCurrInstr -_080210FC: - ldr r4, _0802111C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08021120 @ =BattleScript_SAtkDown2 -_08021108: - str r0, [r4] -_0802110A: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802111C: .4byte gBattlescriptCurrInstr -_08021120: .4byte BattleScript_SAtkDown2 - thumb_func_end SetMoveEffect - - thumb_func_start atk15_seteffectwithchance -atk15_seteffectwithchance: @ 8021124 - push {r4,lr} - ldr r2, _08021150 @ =gBattleMons - ldr r0, _08021154 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x20 - bne _08021160 - ldr r2, _08021158 @ =gBattleMoves - ldr r0, _0802115C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x5] - lsls r4, r0, 1 - b _08021170 - .align 2, 0 -_08021150: .4byte gBattleMons -_08021154: .4byte gBattlerAttacker -_08021158: .4byte gBattleMoves -_0802115C: .4byte gCurrentMove -_08021160: - ldr r2, _08021190 @ =gBattleMoves - ldr r0, _08021194 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0, 0x5] -_08021170: - ldr r3, _08021198 @ =gBattleCommunication - ldrb r2, [r3, 0x3] - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080211A0 - ldr r0, _0802119C @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _080211A0 - movs r0, 0x7F - ands r0, r2 - strb r0, [r3, 0x3] - b _080211CE - .align 2, 0 -_08021190: .4byte gBattleMoves -_08021194: .4byte gCurrentMove -_08021198: .4byte gBattleCommunication -_0802119C: .4byte gMoveResultFlags -_080211A0: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bhi _080211EA - ldr r0, _080211D8 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0 - beq _080211EA - ldr r0, _080211DC @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _080211EA - cmp r4, 0x63 - bls _080211E0 -_080211CE: - movs r0, 0 - movs r1, 0x80 - bl SetMoveEffect - b _080211F2 - .align 2, 0 -_080211D8: .4byte gBattleCommunication -_080211DC: .4byte gMoveResultFlags -_080211E0: - movs r0, 0 - movs r1, 0 - bl SetMoveEffect - b _080211F2 -_080211EA: - ldr r1, _08021204 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_080211F2: - ldr r0, _08021208 @ =gBattleCommunication - movs r1, 0 - strb r1, [r0, 0x3] - ldr r0, _0802120C @ =gBattleScripting - strb r1, [r0, 0x16] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08021204: .4byte gBattlescriptCurrInstr -_08021208: .4byte gBattleCommunication -_0802120C: .4byte gBattleScripting - thumb_func_end atk15_seteffectwithchance - - thumb_func_start atk16_seteffectprimary -atk16_seteffectprimary: @ 8021210 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl SetMoveEffect - pop {r0} - bx r0 - thumb_func_end atk16_seteffectprimary - - thumb_func_start atk17_seteffectsecondary -atk17_seteffectsecondary: @ 8021220 - push {lr} - movs r0, 0 - movs r1, 0 - bl SetMoveEffect - pop {r0} - bx r0 - thumb_func_end atk17_seteffectsecondary - - thumb_func_start atk18_clearstatusfromeffect -atk18_clearstatusfromeffect: @ 8021230 - push {lr} - ldr r0, _08021254 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r2, _08021258 @ =gActiveBattler - strb r0, [r2] - ldr r3, _0802125C @ =gBattleCommunication - ldrb r0, [r3, 0x3] - cmp r0, 0x6 - bhi _08021264 - ldr r1, _08021260 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x4C - b _0802126E - .align 2, 0 -_08021254: .4byte gBattlescriptCurrInstr -_08021258: .4byte gActiveBattler -_0802125C: .4byte gBattleCommunication -_08021260: .4byte gBattleMons -_08021264: - ldr r1, _08021298 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 -_0802126E: - adds r2, r1 - ldr r1, _0802129C @ =sStatusFlagsForMoveEffects - ldrb r0, [r3, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - ldr r0, _080212A0 @ =gBattleCommunication - movs r2, 0 - strb r2, [r0, 0x3] - ldr r1, _080212A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - ldr r0, _080212A8 @ =gBattleScripting - strb r2, [r0, 0x16] - pop {r0} - bx r0 - .align 2, 0 -_08021298: .4byte gBattleMons -_0802129C: .4byte sStatusFlagsForMoveEffects -_080212A0: .4byte gBattleCommunication -_080212A4: .4byte gBattlescriptCurrInstr -_080212A8: .4byte gBattleScripting - thumb_func_end atk18_clearstatusfromeffect - - thumb_func_start atk19_tryfaintmon -atk19_tryfaintmon: @ 80212AC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, _08021318 @ =gBattlescriptCurrInstr - ldr r2, [r0] - ldrb r1, [r2, 0x2] - adds r6, r0, 0 - cmp r1, 0 - beq _08021330 - ldrb r0, [r2, 0x1] - bl GetBattlerForBattleScript - ldr r5, _0802131C @ =gActiveBattler - strb r0, [r5] - ldr r2, _08021320 @ =gHitMarker - ldr r1, _08021324 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - bne _080212E4 - b _0802158C -_080212E4: - ldr r1, [r6] - ldrb r4, [r1, 0x3] - ldrb r0, [r1, 0x4] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r1, 0x5] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r1, 0x6] - lsls r0, 24 - orrs r4, r0 - bl BattleScriptPop - str r4, [r6] - ldrb r0, [r5] - bl GetBattlerSide - ldr r1, _08021328 @ =gSideStatuses - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - ldrh r2, [r0] - ldr r1, _0802132C @ =0x0000fdff - ands r1, r2 - strh r1, [r0] - b _08021592 - .align 2, 0 -_08021318: .4byte gBattlescriptCurrInstr -_0802131C: .4byte gActiveBattler -_08021320: .4byte gHitMarker -_08021324: .4byte gBitTable -_08021328: .4byte gSideStatuses -_0802132C: .4byte 0x0000fdff -_08021330: - ldrb r0, [r2, 0x1] - cmp r0, 0x1 - bne _08021358 - ldr r1, _08021348 @ =gActiveBattler - ldr r0, _0802134C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _08021350 @ =gBattlerTarget - ldrb r0, [r0] - mov r9, r0 - ldr r4, _08021354 @ =BattleScript_FaintAttacker - b _08021368 - .align 2, 0 -_08021348: .4byte gActiveBattler -_0802134C: .4byte gBattlerAttacker -_08021350: .4byte gBattlerTarget -_08021354: .4byte BattleScript_FaintAttacker -_08021358: - ldr r1, _080213D0 @ =gActiveBattler - ldr r0, _080213D4 @ =gBattlerTarget - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _080213D8 @ =gBattlerAttacker - ldrb r0, [r0] - mov r9, r0 - ldr r4, _080213DC @ =BattleScript_FaintTarget -_08021368: - mov r8, r1 - ldr r0, _080213E0 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _080213E4 @ =gBitTable - mov r7, r8 - ldrb r3, [r7] - lsls r0, r3, 2 - adds r0, r2 - ldr r2, [r0] - ands r1, r2 - cmp r1, 0 - beq _08021382 - b _0802158C -_08021382: - ldr r1, _080213E8 @ =gBattleMons - movs r0, 0x58 - muls r0, r3 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08021392 - b _0802158C -_08021392: - ldr r5, _080213EC @ =gHitMarker - lsls r1, r2, 28 - ldr r0, [r5] - orrs r0, r1 - str r0, [r5] - ldr r0, [r6] - adds r0, 0x7 - bl BattleScriptPush - str r4, [r6] - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080213F4 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 15 - orrs r0, r1 - str r0, [r5] - ldr r1, _080213F0 @ =gBattleResults - ldrb r0, [r1] - cmp r0, 0xFE - bhi _080213C8 - adds r0, 0x1 - strb r0, [r1] -_080213C8: - ldrb r0, [r7] - bl AdjustFriendshipOnBattleFaint - b _0802142C - .align 2, 0 -_080213D0: .4byte gActiveBattler -_080213D4: .4byte gBattlerTarget -_080213D8: .4byte gBattlerAttacker -_080213DC: .4byte BattleScript_FaintTarget -_080213E0: .4byte gAbsentBattlerFlags -_080213E4: .4byte gBitTable -_080213E8: .4byte gBattleMons -_080213EC: .4byte gHitMarker -_080213F0: .4byte gBattleResults -_080213F4: - ldr r4, _0802154C @ =gBattleResults - ldrb r0, [r4, 0x1] - cmp r0, 0xFE - bhi _08021400 - adds r0, 0x1 - strb r0, [r4, 0x1] -_08021400: - ldr r1, _08021550 @ =gBattlerPartyIndexes - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021554 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - strh r0, [r4, 0x20] - ldr r0, _08021558 @ =gBattleStruct - ldr r0, [r0] - movs r3, 0xC1 - lsls r3, 1 - adds r1, r0, r3 - ldr r0, _0802155C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r1] -_0802142C: - ldr r2, _08021560 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802146A - ldr r6, _08021564 @ =gBattleMons - ldr r0, _0802155C @ =gBattlerAttacker - ldrb r0, [r0] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0802146A - movs r0, 0x41 - negs r0, r0 - ands r1, r0 - str r1, [r2] - ldr r4, _08021568 @ =gBattlescriptCurrInstr - ldr r0, [r4] - bl BattleScriptPush - ldr r1, _0802156C @ =gBattleMoveDamage - mov r0, r9 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x28] - str r0, [r1] - ldr r0, _08021570 @ =BattleScript_DestinyBondTakesLife - str r0, [r4] -_0802146A: - ldr r1, _08021574 @ =gStatuses3 - ldr r6, _08021578 @ =gBattlerTarget - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 7 - ands r0, r1 - cmp r0, 0 - bne _08021482 - b _08021592 -_08021482: - ldr r0, _08021560 @ =gHitMarker - ldr r5, [r0] - movs r0, 0x80 - lsls r0, 17 - ands r5, r0 - cmp r5, 0 - beq _08021492 - b _08021592 -_08021492: - ldr r0, _0802155C @ =gBattlerAttacker - mov r8, r0 - ldrb r0, [r0] - bl GetBattlerSide - adds r4, r0, 0 - ldrb r0, [r6] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _08021592 - ldr r1, _08021564 @ =gBattleMons - mov r9, r1 - mov r2, r8 - ldrb r1, [r2] - movs r7, 0x58 - adds r2, r1, 0 - muls r2, r7 - mov r3, r9 - adds r0, r2, r3 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08021592 - ldr r0, _0802157C @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xA5 - beq _08021592 - ldr r0, _08021558 @ =gBattleStruct - ldr r0, [r0] - adds r0, r1, r0 - adds r0, 0x80 - ldrb r4, [r0] - adds r0, r4, r2 - mov r6, r9 - adds r6, 0x24 - adds r0, r6 - strb r5, [r0] - ldr r5, _08021568 @ =gBattlescriptCurrInstr - ldr r0, [r5] - bl BattleScriptPush - ldr r0, _08021580 @ =BattleScript_GrudgeTakesPp - str r0, [r5] - ldr r5, _08021584 @ =gActiveBattler - mov r1, r8 - ldrb r0, [r1] - strb r0, [r5] - adds r1, r4, 0 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r5] - muls r0, r7 - adds r0, r6 - adds r0, r4 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r1, _08021588 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - lsls r4, 1 - mov r2, r8 - ldrb r0, [r2] - muls r0, r7 - adds r0, r4, r0 - mov r2, r9 - adds r2, 0xC - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x2] - mov r3, r8 - ldrb r0, [r3] - muls r0, r7 - adds r4, r0 - adds r4, r2 - ldrh r0, [r4] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - b _08021592 - .align 2, 0 -_0802154C: .4byte gBattleResults -_08021550: .4byte gBattlerPartyIndexes -_08021554: .4byte gEnemyParty -_08021558: .4byte gBattleStruct -_0802155C: .4byte gBattlerAttacker -_08021560: .4byte gHitMarker -_08021564: .4byte gBattleMons -_08021568: .4byte gBattlescriptCurrInstr -_0802156C: .4byte gBattleMoveDamage -_08021570: .4byte BattleScript_DestinyBondTakesLife -_08021574: .4byte gStatuses3 -_08021578: .4byte gBattlerTarget -_0802157C: .4byte gCurrentMove -_08021580: .4byte BattleScript_GrudgeTakesPp -_08021584: .4byte gActiveBattler -_08021588: .4byte gBattleTextBuff1 -_0802158C: - ldr r0, [r6] - adds r0, 0x7 - str r0, [r6] -_08021592: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk19_tryfaintmon - - thumb_func_start atk1A_dofaintanimation -atk1A_dofaintanimation: @ 80215A0 - push {r4,r5,lr} - ldr r0, _080215D0 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _080215CA - ldr r5, _080215D4 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _080215D8 @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - bl BtlController_EmitFaintAnimation - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_080215CA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080215D0: .4byte gBattleControllerExecFlags -_080215D4: .4byte gBattlescriptCurrInstr -_080215D8: .4byte gActiveBattler - thumb_func_end atk1A_dofaintanimation - - thumb_func_start atk1B_cleareffectsonfaint -atk1B_cleareffectsonfaint: @ 80215DC - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _08021630 @ =gBattleControllerExecFlags - ldr r6, [r0] - cmp r6, 0 - bne _08021628 - ldr r5, _08021634 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08021638 @ =gActiveBattler - strb r0, [r4] - ldr r1, _0802163C @ =gBattleMons - ldrb r0, [r4] - movs r2, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - str r6, [r0] - ldrb r0, [r4] - muls r0, r2 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - bl sub_8012BC8 - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_08021628: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08021630: .4byte gBattleControllerExecFlags -_08021634: .4byte gBattlescriptCurrInstr -_08021638: .4byte gActiveBattler -_0802163C: .4byte gBattleMons - thumb_func_end atk1B_cleareffectsonfaint - - thumb_func_start atk1C_jumpifstatus -atk1C_jumpifstatus: @ 8021640 - push {r4,r5,lr} - ldr r5, _0802169C @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - ldrb r4, [r2, 0x2] - ldrb r1, [r2, 0x3] - lsls r1, 8 - adds r4, r1 - ldrb r1, [r2, 0x4] - lsls r1, 16 - adds r4, r1 - ldrb r1, [r2, 0x5] - lsls r1, 24 - adds r4, r1 - ldrb r3, [r2, 0x6] - ldrb r1, [r2, 0x7] - lsls r1, 8 - adds r3, r1 - ldrb r1, [r2, 0x8] - lsls r1, 16 - adds r3, r1 - ldrb r1, [r2, 0x9] - lsls r1, 24 - adds r3, r1 - ldr r2, _080216A0 @ =gBattleMons - movs r1, 0x58 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _080216A4 - adds r0, r1, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _080216A4 - str r3, [r5] - b _080216AC - .align 2, 0 -_0802169C: .4byte gBattlescriptCurrInstr -_080216A0: .4byte gBattleMons -_080216A4: - ldr r1, _080216B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] -_080216AC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080216B4: .4byte gBattlescriptCurrInstr - thumb_func_end atk1C_jumpifstatus - - thumb_func_start atk1D_jumpifstatus2 -atk1D_jumpifstatus2: @ 80216B8 - push {r4,r5,lr} - ldr r5, _08021714 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - ldrb r4, [r2, 0x2] - ldrb r1, [r2, 0x3] - lsls r1, 8 - adds r4, r1 - ldrb r1, [r2, 0x4] - lsls r1, 16 - adds r4, r1 - ldrb r1, [r2, 0x5] - lsls r1, 24 - adds r4, r1 - ldrb r3, [r2, 0x6] - ldrb r1, [r2, 0x7] - lsls r1, 8 - adds r3, r1 - ldrb r1, [r2, 0x8] - lsls r1, 16 - adds r3, r1 - ldrb r1, [r2, 0x9] - lsls r1, 24 - adds r3, r1 - ldr r2, _08021718 @ =gBattleMons - movs r1, 0x58 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x50 - adds r0, r1, r0 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _0802171C - adds r0, r1, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0802171C - str r3, [r5] - b _08021724 - .align 2, 0 -_08021714: .4byte gBattlescriptCurrInstr -_08021718: .4byte gBattleMons -_0802171C: - ldr r1, _0802172C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] -_08021724: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802172C: .4byte gBattlescriptCurrInstr - thumb_func_end atk1D_jumpifstatus2 - - thumb_func_start atk1E_jumpifability -atk1E_jumpifability: @ 8021730 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r6, _08021784 @ =gBattlescriptCurrInstr - ldr r2, [r6] - ldrb r5, [r2, 0x2] - mov r8, r5 - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - adds r7, r1, r0 - ldrb r0, [r2, 0x1] - cmp r0, 0x8 - bne _08021790 - ldr r0, _08021788 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xD - adds r2, r5, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08021804 - ldr r1, _0802178C @ =gLastUsedAbility - strb r5, [r1] - str r7, [r6] - subs r4, 0x1 - lsls r0, r4, 24 - lsrs r0, 24 - ldrb r1, [r1] - b _080217EC - .align 2, 0 -_08021784: .4byte gBattlescriptCurrInstr -_08021788: .4byte gBattlerAttacker -_0802178C: .4byte gLastUsedAbility -_08021790: - cmp r0, 0x9 - bne _080217C8 - ldr r0, _080217C0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xC - adds r2, r5, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08021804 - ldr r1, _080217C4 @ =gLastUsedAbility - strb r5, [r1] - str r7, [r6] - subs r4, 0x1 - lsls r0, r4, 24 - lsrs r0, 24 - ldrb r1, [r1] - b _080217EC - .align 2, 0 -_080217C0: .4byte gBattlerAttacker -_080217C4: .4byte gLastUsedAbility -_080217C8: - ldrb r0, [r2, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080217F8 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, r8 - bne _08021804 - ldr r0, _080217FC @ =gLastUsedAbility - strb r1, [r0] - str r7, [r6] - ldrb r1, [r0] - adds r0, r4, 0 -_080217EC: - bl RecordAbilityBattle - ldr r0, _08021800 @ =gBattleScripting - strb r4, [r0, 0x15] - b _0802180A - .align 2, 0 -_080217F8: .4byte gBattleMons -_080217FC: .4byte gLastUsedAbility -_08021800: .4byte gBattleScripting -_08021804: - ldr r0, [r6] - adds r0, 0x7 - str r0, [r6] -_0802180A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk1E_jumpifability - - thumb_func_start atk1F_jumpifsideaffecting -atk1F_jumpifsideaffecting: @ 8021818 - push {r4-r6,lr} - ldr r0, _08021830 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r4, [r0, 0x1] - cmp r4, 0x1 - bne _08021838 - ldr r0, _08021834 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerPosition - b _08021842 - .align 2, 0 -_08021830: .4byte gBattlescriptCurrInstr -_08021834: .4byte gBattlerAttacker -_08021838: - ldr r0, _08021878 @ =gBattlerTarget - ldrb r0, [r0] - bl GetBattlerPosition - movs r4, 0x1 -_08021842: - ands r4, r0 - ldr r6, _0802187C @ =gBattlescriptCurrInstr - ldr r3, [r6] - ldrb r2, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r2, r0 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - adds r5, r1, r0 - ldr r1, _08021880 @ =gSideStatuses - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - ands r2, r0 - cmp r2, 0 - beq _08021884 - str r5, [r6] - b _0802188A - .align 2, 0 -_08021878: .4byte gBattlerTarget -_0802187C: .4byte gBattlescriptCurrInstr -_08021880: .4byte gSideStatuses -_08021884: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r6] -_0802188A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk1F_jumpifsideaffecting - - thumb_func_start atk20_jumpifstat -atk20_jumpifstat: @ 8021890 - push {r4,r5,lr} - movs r5, 0 - ldr r4, _080218C4 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080218C8 @ =gBattleMons - ldr r3, [r4] - movs r1, 0x58 - muls r0, r1 - ldrb r1, [r3, 0x3] - adds r0, r1 - adds r2, 0x18 - adds r0, r2 - ldrb r2, [r0] - ldrb r0, [r3, 0x2] - cmp r0, 0x5 - bhi _0802194E - lsls r0, 2 - ldr r1, _080218CC @ =_080218D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080218C4: .4byte gBattlescriptCurrInstr -_080218C8: .4byte gBattleMons -_080218CC: .4byte _080218D0 - .align 2, 0 -_080218D0: - .4byte _080218E8 - .4byte _080218F8 - .4byte _08021908 - .4byte _08021918 - .4byte _08021928 - .4byte _0802193C -_080218E8: - ldr r0, _080218F4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - bne _0802194E - b _08021948 - .align 2, 0 -_080218F4: .4byte gBattlescriptCurrInstr -_080218F8: - ldr r0, _08021904 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - beq _0802194E - b _08021948 - .align 2, 0 -_08021904: .4byte gBattlescriptCurrInstr -_08021908: - ldr r0, _08021914 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - bls _0802194E - b _08021948 - .align 2, 0 -_08021914: .4byte gBattlescriptCurrInstr -_08021918: - ldr r0, _08021924 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - bcs _0802194E - b _08021948 - .align 2, 0 -_08021924: .4byte gBattlescriptCurrInstr -_08021928: - ldr r0, _08021938 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - ands r2, r0 - cmp r2, 0 - beq _0802194E - b _08021948 - .align 2, 0 -_08021938: .4byte gBattlescriptCurrInstr -_0802193C: - ldr r0, _08021970 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - ands r2, r0 - cmp r2, 0 - bne _0802194E -_08021948: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0802194E: - cmp r5, 0 - beq _08021974 - ldr r3, _08021970 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - b _0802197C - .align 2, 0 -_08021970: .4byte gBattlescriptCurrInstr -_08021974: - ldr r1, _08021984 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x9 - str r0, [r1] -_0802197C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08021984: .4byte gBattlescriptCurrInstr - thumb_func_end atk20_jumpifstat - - thumb_func_start atk21_jumpifstatus3condition -atk21_jumpifstatus3condition: @ 8021988 - push {r4-r6,lr} - ldr r4, _080219DC @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r5, _080219E0 @ =gActiveBattler - strb r0, [r5] - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - adds r6, r1, r0 - ldrb r1, [r2, 0x7] - ldrb r0, [r2, 0x8] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x9] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0xA] - lsls r0, 24 - adds r3, r1, r0 - ldrb r0, [r2, 0x6] - cmp r0, 0 - beq _080219E8 - ldr r0, _080219E4 @ =gStatuses3 - ldrb r1, [r5] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - ands r0, r6 - cmp r0, 0 - bne _08021A00 - b _080219F8 - .align 2, 0 -_080219DC: .4byte gBattlescriptCurrInstr -_080219E0: .4byte gActiveBattler -_080219E4: .4byte gStatuses3 -_080219E8: - ldr r0, _080219FC @ =gStatuses3 - ldrb r1, [r5] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - ands r0, r6 - cmp r0, 0 - beq _08021A00 -_080219F8: - str r3, [r4] - b _08021A06 - .align 2, 0 -_080219FC: .4byte gStatuses3 -_08021A00: - adds r0, r2, 0 - adds r0, 0xB - str r0, [r4] -_08021A06: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk21_jumpifstatus3condition - - thumb_func_start atk22_jumpiftype -atk22_jumpiftype: @ 8021A0C - push {r4-r6,lr} - ldr r4, _08021A54 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r4] - ldrb r5, [r3, 0x2] - ldrb r2, [r3, 0x3] - ldrb r1, [r3, 0x4] - lsls r1, 8 - adds r2, r1 - ldrb r1, [r3, 0x5] - lsls r1, 16 - adds r2, r1 - ldrb r1, [r3, 0x6] - lsls r1, 24 - adds r6, r2, r1 - ldr r2, _08021A58 @ =gBattleMons - movs r1, 0x58 - muls r0, r1 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r5 - beq _08021A50 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r5 - bne _08021A5C -_08021A50: - str r6, [r4] - b _08021A60 - .align 2, 0 -_08021A54: .4byte gBattlescriptCurrInstr -_08021A58: .4byte gBattleMons -_08021A5C: - adds r0, r3, 0x7 - str r0, [r4] -_08021A60: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk22_jumpiftype - - thumb_func_start atk23_getexp -atk23_getexp: @ 8021A68 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r6, 0 - ldr r0, _08021AB0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x50 - mov r9, r0 - ldr r0, _08021AB4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08021AB8 @ =gBattlerFainted - strb r0, [r1] - ldr r2, _08021ABC @ =gSentPokesToOpponent - movs r1, 0x2 - ands r1, r0 - lsls r1, 24 - lsrs r1, 25 - adds r1, r2 - ldrb r1, [r1] - mov r8, r1 - ldr r0, _08021AC0 @ =gBattleScripting - ldrb r0, [r0, 0x1C] - cmp r0, 0x6 - bls _08021AA4 - bl _080223DA -_08021AA4: - lsls r0, 2 - ldr r1, _08021AC4 @ =_08021AC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08021AB0: .4byte gBattleStruct -_08021AB4: .4byte gBattlescriptCurrInstr -_08021AB8: .4byte gBattlerFainted -_08021ABC: .4byte gSentPokesToOpponent -_08021AC0: .4byte gBattleScripting -_08021AC4: .4byte _08021AC8 - .align 2, 0 -_08021AC8: - .4byte _08021AE4 - .4byte _08021B50 - .4byte _08021C6A - .4byte _08021F78 - .4byte _0802207C - .4byte _08022368 - .4byte _080223B0 -_08021AE4: - ldr r4, _08021B34 @ =gBattlerFainted - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08021AF8 - bl _080223A4 -_08021AF8: - ldr r0, _08021B38 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _08021B3C @ =0x00080982 - ands r0, r1 - cmp r0, 0 - beq _08021B08 - bl _080223A4 -_08021B08: - ldr r1, _08021B40 @ =gBattleScripting - ldrb r0, [r1, 0x1C] - adds r0, 0x1 - strb r0, [r1, 0x1C] - ldr r0, _08021B44 @ =gBattleStruct - ldr r2, [r0] - adds r2, 0xDF - ldr r3, _08021B48 @ =gBitTable - ldr r1, _08021B4C @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - bl _080223DA - .align 2, 0 -_08021B34: .4byte gBattlerFainted -_08021B38: .4byte gBattleTypeFlags -_08021B3C: .4byte 0x00080982 -_08021B40: .4byte gBattleScripting -_08021B44: .4byte gBattleStruct -_08021B48: .4byte gBitTable -_08021B4C: .4byte gBattlerPartyIndexes -_08021B50: - movs r5, 0 - movs r7, 0 -_08021B54: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _08021BA4 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08021BC2 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08021BC2 - ldr r0, _08021BA8 @ =gBitTable - lsls r1, r7, 2 - adds r1, r0 - ldr r0, [r1] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _08021B88 - adds r5, 0x1 -_08021B88: - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08021BB4 - ldr r0, _08021BAC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _08021BB0 @ =0x0000311a - adds r0, r2 - ldrb r4, [r0] - b _08021BBC - .align 2, 0 -_08021BA4: .4byte gPlayerParty -_08021BA8: .4byte gBitTable -_08021BAC: .4byte gSaveBlock1Ptr -_08021BB0: .4byte 0x0000311a -_08021BB4: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_08021BBC: - cmp r4, 0x19 - bne _08021BC2 - adds r6, 0x1 -_08021BC2: - adds r7, 0x1 - cmp r7, 0x5 - ble _08021B54 - ldr r3, _08021C28 @ =gBaseStats - ldr r2, _08021C2C @ =gBattleMons - ldr r0, _08021C30 @ =gBattlerFainted - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r2, [r1] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x9] - adds r1, 0x2A - ldrb r0, [r1] - muls r0, r2 - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r6, 0 - beq _08021C38 - lsrs r4, r0, 17 - adds r0, r4, 0 - adds r1, r5, 0 - bl __divsi3 - mov r1, r9 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _08021C0E - movs r0, 0x1 - strh r0, [r1] -_08021C0E: - ldr r5, _08021C34 @ =gExpShareExp - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - strh r0, [r5] - lsls r0, 16 - cmp r0, 0 - bne _08021C52 - movs r0, 0x1 - strh r0, [r5] - b _08021C52 - .align 2, 0 -_08021C28: .4byte gBaseStats -_08021C2C: .4byte gBattleMons -_08021C30: .4byte gBattlerFainted -_08021C34: .4byte gExpShareExp -_08021C38: - adds r0, r1, 0 - adds r1, r5, 0 - bl __divsi3 - mov r2, r9 - strh r0, [r2] - lsls r0, 16 - cmp r0, 0 - bne _08021C4E - movs r0, 0x1 - strh r0, [r2] -_08021C4E: - ldr r0, _08021C9C @ =gExpShareExp - strh r6, [r0] -_08021C52: - ldr r1, _08021CA0 @ =gBattleScripting - ldrb r0, [r1, 0x1C] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1, 0x1C] - ldr r1, _08021CA4 @ =gBattleStruct - ldr r0, [r1] - strb r2, [r0, 0x10] - ldr r0, [r1] - adds r0, 0x53 - mov r4, r8 - strb r4, [r0] -_08021C6A: - ldr r0, _08021CA8 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _08021C74 - b _080223DA -_08021C74: - ldr r0, _08021CA4 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021CAC @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08021CB8 - ldr r0, _08021CB0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08021CB4 @ =0x0000311a - adds r0, r1 - ldrb r4, [r0] - b _08021CC0 - .align 2, 0 -_08021C9C: .4byte gExpShareExp -_08021CA0: .4byte gBattleScripting -_08021CA4: .4byte gBattleStruct -_08021CA8: .4byte gBattleControllerExecFlags -_08021CAC: .4byte gPlayerParty -_08021CB0: .4byte gSaveBlock1Ptr -_08021CB4: .4byte 0x0000311a -_08021CB8: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_08021CC0: - ldr r5, _08021CE0 @ =gBattleStruct - cmp r4, 0x19 - beq _08021CE8 - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x53 - ldrb r0, [r1] - movs r2, 0x1 - ands r2, r0 - cmp r2, 0 - bne _08021CE8 - lsrs r0, 1 - strb r0, [r1] - ldr r1, _08021CE4 @ =gBattleScripting - b _08021D0C - .align 2, 0 -_08021CE0: .4byte gBattleStruct -_08021CE4: .4byte gBattleScripting -_08021CE8: - ldr r0, [r5] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021D18 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - bne _08021D24 - ldr r1, [r5] - adds r1, 0x53 - ldrb r0, [r1] - lsrs r0, 1 - strb r0, [r1] - ldr r1, _08021D1C @ =gBattleScripting - movs r2, 0 -_08021D0C: - movs r0, 0x5 - strb r0, [r1, 0x1C] - ldr r0, _08021D20 @ =gBattleMoveDamage - str r2, [r0] - b _080223DA - .align 2, 0 -_08021D18: .4byte gPlayerParty -_08021D1C: .4byte gBattleScripting -_08021D20: .4byte gBattleMoveDamage -_08021D24: - ldr r0, _08021D88 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _08021D8C @ =0x00010008 - ands r0, r1 - cmp r0, 0 - bne _08021D52 - ldr r0, _08021D90 @ =gBattleMons - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08021D52 - ldr r0, [r5] - ldrb r0, [r0, 0x12] - cmp r0, 0 - bne _08021D52 - bl BattleStopLowHpSound - ldr r0, _08021D94 @ =0x00000137 - bl PlayBGM - ldr r1, [r5] - ldrb r0, [r1, 0x12] - adds r0, 0x1 - strb r0, [r1, 0x12] -_08021D52: - ldr r5, _08021D98 @ =gBattleStruct - ldr r0, [r5] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021D9C @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08021D6C - b _08021F4C -_08021D6C: - ldr r0, [r5] - adds r0, 0x53 - ldrb r0, [r0] - movs r3, 0x1 - ands r3, r0 - cmp r3, 0 - beq _08021DA4 - ldr r1, _08021DA0 @ =gBattleMoveDamage - mov r2, r9 - ldrh r0, [r2] - str r0, [r1] - mov r9, r1 - b _08021DAA - .align 2, 0 -_08021D88: .4byte gBattleTypeFlags -_08021D8C: .4byte 0x00010008 -_08021D90: .4byte gBattleMons -_08021D94: .4byte 0x00000137 -_08021D98: .4byte gBattleStruct -_08021D9C: .4byte gPlayerParty -_08021DA0: .4byte gBattleMoveDamage -_08021DA4: - ldr r0, _08021E28 @ =gBattleMoveDamage - str r3, [r0] - mov r9, r0 -_08021DAA: - cmp r4, 0x19 - bne _08021DBA - ldr r0, _08021E2C @ =gExpShareExp - ldrh r1, [r0] - mov r2, r9 - ldr r0, [r2] - adds r0, r1 - str r0, [r2] -_08021DBA: - cmp r4, 0x28 - bne _08021DCE - mov r4, r9 - ldr r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] -_08021DCE: - ldr r5, _08021E30 @ =gBattleTypeFlags - ldr r0, [r5] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08021DEA - ldr r4, _08021E28 @ =gBattleMoveDamage - ldr r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] -_08021DEA: - ldr r0, _08021E34 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021E38 @ =gPlayerParty - adds r0, r1 - bl IsTradedMon - lsls r0, 24 - cmp r0, 0 - beq _08021E3C - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - bne _08021E3C - ldr r4, _08021E28 @ =gBattleMoveDamage - ldr r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - movs r7, 0xA5 - lsls r7, 1 - mov r9, r4 - b _08021E42 - .align 2, 0 -_08021E28: .4byte gBattleMoveDamage -_08021E2C: .4byte gExpShareExp -_08021E30: .4byte gBattleTypeFlags -_08021E34: .4byte gBattleStruct -_08021E38: .4byte gPlayerParty -_08021E3C: - ldr r7, _08021E78 @ =0x00000149 - ldr r0, _08021E7C @ =gBattleMoveDamage - mov r9, r0 -_08021E42: - ldr r0, _08021E80 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08021EAE - ldr r0, _08021E84 @ =gBattlerPartyIndexes - ldr r1, _08021E88 @ =gBattleStruct - ldr r4, [r1] - ldrh r0, [r0, 0x4] - adds r5, r1, 0 - ldr r3, _08021E8C @ =gBitTable - ldr r2, _08021E90 @ =gAbsentBattlerFlags - ldrb r1, [r4, 0x10] - cmp r0, r1 - bne _08021E94 - ldrb r1, [r2] - ldr r0, [r3, 0x8] - ands r1, r0 - cmp r1, 0 - bne _08021E94 - adds r1, r4, 0 - adds r1, 0x8F - movs r0, 0x2 - strb r0, [r1] - b _08021EB6 - .align 2, 0 -_08021E78: .4byte 0x00000149 -_08021E7C: .4byte gBattleMoveDamage -_08021E80: .4byte gBattleTypeFlags -_08021E84: .4byte gBattlerPartyIndexes -_08021E88: .4byte gBattleStruct -_08021E8C: .4byte gBitTable -_08021E90: .4byte gAbsentBattlerFlags -_08021E94: - ldrb r2, [r2] - ldr r0, [r3] - ands r2, r0 - cmp r2, 0 - bne _08021EA6 - ldr r0, [r5] - adds r0, 0x8F - strb r2, [r0] - b _08021EB6 -_08021EA6: - ldr r0, [r5] - adds r0, 0x8F - movs r1, 0x2 - b _08021EB4 -_08021EAE: - ldr r0, _08021F5C @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x8F -_08021EB4: - strb r1, [r0] -_08021EB6: - ldr r1, _08021F60 @ =gBattleTextBuff1 - movs r2, 0 - mov r12, r2 - movs r3, 0xFD - strb r3, [r1] - movs r5, 0x4 - strb r5, [r1, 0x1] - ldr r6, _08021F5C @ =gBattleStruct - ldr r2, [r6] - movs r4, 0x8F - adds r4, r2 - mov r8, r4 - ldrb r0, [r4] - strb r0, [r1, 0x2] - ldrb r0, [r2, 0x10] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08021F64 @ =gBattleTextBuff2 - strb r3, [r1] - mov r0, r12 - strb r0, [r1, 0x1] - strb r7, [r1, 0x2] - movs r4, 0xFF - lsls r4, 8 - ands r7, r4 - asrs r0, r7, 8 - strb r0, [r1, 0x3] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x4] - ldr r1, _08021F68 @ =gBattleTextBuff3 - strb r3, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - strb r5, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x3] - mov r0, r9 - ldr r2, [r0] - strb r2, [r1, 0x4] - adds r0, r2, 0 - ands r0, r4 - asrs r0, 8 - strb r0, [r1, 0x5] - movs r0, 0xFF - lsls r0, 16 - ands r0, r2 - asrs r0, 16 - strb r0, [r1, 0x6] - lsrs r2, 24 - strb r2, [r1, 0x7] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x8] - mov r2, r8 - ldrb r1, [r2] - movs r0, 0xD - bl PrepareStringBattle - ldr r0, [r6] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021F6C @ =gPlayerParty - adds r0, r1 - ldr r3, _08021F70 @ =gBattleMons - ldr r1, _08021F74 @ =gBattlerFainted - ldrb r2, [r1] - movs r1, 0x58 - muls r1, r2 - adds r1, r3 - ldrh r1, [r1] - bl MonGainEVs -_08021F4C: - ldr r0, _08021F5C @ =gBattleStruct - ldr r1, [r0] - adds r1, 0x53 - ldrb r0, [r1] - lsrs r0, 1 - strb r0, [r1] - b _08022052 - .align 2, 0 -_08021F5C: .4byte gBattleStruct -_08021F60: .4byte gBattleTextBuff1 -_08021F64: .4byte gBattleTextBuff2 -_08021F68: .4byte gBattleTextBuff3 -_08021F6C: .4byte gPlayerParty -_08021F70: .4byte gBattleMons -_08021F74: .4byte gBattlerFainted -_08021F78: - ldr r0, _0802205C @ =gBattleControllerExecFlags - ldr r2, [r0] - cmp r2, 0 - beq _08021F82 - b _080223DA -_08021F82: - ldr r1, _08022060 @ =gBattleBufferB - ldr r7, _08022064 @ =gBattleStruct - ldr r0, [r7] - adds r0, 0x8F - ldrb r0, [r0] - lsls r0, 9 - adds r0, r1 - strb r2, [r0] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08022068 @ =gPlayerParty - adds r0, r5 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08022052 - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - beq _08022052 - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3A - bl GetMonData - ldr r4, _0802206C @ =gBattleResources - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3B - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0x2] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3C - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0x4] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3D - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0x6] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3E - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0x8] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3F - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0xA] - ldr r4, _08022070 @ =gActiveBattler - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x8F - ldrb r0, [r0] - strb r0, [r4] - ldrb r1, [r1, 0x10] - ldr r0, _08022074 @ =gBattleMoveDamage - ldrh r2, [r0] - movs r0, 0 - bl BtlController_EmitExpUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08022052: - ldr r1, _08022078 @ =gBattleScripting - ldrb r0, [r1, 0x1C] - adds r0, 0x1 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_0802205C: .4byte gBattleControllerExecFlags -_08022060: .4byte gBattleBufferB -_08022064: .4byte gBattleStruct -_08022068: .4byte gPlayerParty -_0802206C: .4byte gBattleResources -_08022070: .4byte gActiveBattler -_08022074: .4byte gBattleMoveDamage -_08022078: .4byte gBattleScripting -_0802207C: - ldr r0, _08022314 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _08022086 - b _080223DA -_08022086: - ldr r1, _08022318 @ =gActiveBattler - ldr r0, _0802231C @ =gBattleStruct - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x8F - ldrb r0, [r0] - strb r0, [r1] - ldr r3, _08022320 @ =gBattleBufferB - ldrb r2, [r1] - lsls r1, r2, 9 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0x21 - beq _080220A4 - b _08022350 -_080220A4: - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0xB - beq _080220B0 - b _08022350 -_080220B0: - ldr r0, _08022324 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080220DA - ldr r0, _08022328 @ =gBattlerPartyIndexes - lsls r1, r2, 1 - adds r1, r0 - ldrh r0, [r1] - ldrb r4, [r4, 0x10] - cmp r0, r4 - bne _080220DA - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802232C @ =gPlayerParty - adds r0, r1 - adds r1, r2, 0 - bl HandleLowHpMusicChange -_080220DA: - ldr r1, _08022330 @ =gBattleTextBuff1 - movs r3, 0xFD - strb r3, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r6, _08022318 @ =gActiveBattler - ldrb r0, [r6] - strb r0, [r1, 0x2] - ldr r4, _0802231C @ =gBattleStruct - mov r9, r4 - ldr r2, [r4] - ldrb r0, [r2, 0x10] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r4, _08022334 @ =gBattleTextBuff2 - strb r3, [r4] - movs r0, 0x1 - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - movs r0, 0x3 - strb r0, [r4, 0x3] - ldrb r0, [r2, 0x10] - movs r1, 0x64 - mov r8, r1 - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - ldr r7, _0802232C @ =gPlayerParty - adds r0, r7 - movs r1, 0x38 - bl GetMonData - strb r0, [r4, 0x4] - movs r0, 0x1 - negs r0, r0 - strb r0, [r4, 0x5] - bl BattleScriptPushCursor - ldr r2, _08022338 @ =gLeveledUpInBattle - ldr r1, _0802233C @ =gBitTable - mov r4, r9 - ldr r5, [r4] - ldrb r0, [r5, 0x10] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r1, _08022340 @ =gBattlescriptCurrInstr - ldr r0, _08022344 @ =BattleScript_LevelUp - str r0, [r1] - ldr r4, _08022348 @ =gBattleMoveDamage - ldr r2, _08022320 @ =gBattleBufferB - ldrb r1, [r6] - lsls r1, 9 - adds r0, r2, 0x2 - adds r0, r1, r0 - ldrb r3, [r0] - adds r2, 0x3 - adds r1, r2 - ldrb r0, [r1] - lsls r0, 8 - orrs r3, r0 - str r3, [r4] - ldrb r0, [r5, 0x10] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - movs r1, 0 - bl AdjustFriendship - ldr r1, _08022328 @ =gBattlerPartyIndexes - mov r2, r9 - ldr r0, [r2] - ldrb r2, [r0, 0x10] - ldrh r0, [r1] - cmp r0, r2 - bne _08022246 - ldr r4, _0802234C @ =gBattleMons - ldrh r0, [r4, 0x28] - cmp r0, 0 - beq _08022246 - mov r0, r8 - muls r0, r2 - adds r0, r7 - movs r1, 0x38 - bl GetMonData - adds r1, r4, 0 - adds r1, 0x2A - strb r0, [r1] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x39 - bl GetMonData - strh r0, [r4, 0x28] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3A - bl GetMonData - strh r0, [r4, 0x2C] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3B - bl GetMonData - strh r0, [r4, 0x2] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3C - bl GetMonData - strh r0, [r4, 0x4] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3D - bl GetMonData - strh r0, [r4, 0x6] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3D - bl GetMonData - strh r0, [r4, 0x6] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3E - bl GetMonData - strh r0, [r4, 0x8] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3F - bl GetMonData - strh r0, [r4, 0xA] -_08022246: - ldr r0, _08022328 @ =gBattlerPartyIndexes - ldr r7, _0802231C @ =gBattleStruct - ldr r1, [r7] - ldrb r2, [r1, 0x10] - ldrh r0, [r0, 0x4] - cmp r0, r2 - beq _08022256 - b _08022356 -_08022256: - ldr r6, _0802234C @ =gBattleMons - movs r4, 0xD8 - adds r4, r6 - mov r8, r4 - ldrh r0, [r4] - cmp r0, 0 - beq _08022356 - ldr r0, _08022324 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08022356 - movs r5, 0x64 - adds r0, r2, 0 - muls r0, r5 - ldr r4, _0802232C @ =gPlayerParty - adds r0, r4 - movs r1, 0x38 - bl GetMonData - adds r1, r6, 0 - adds r1, 0xDA - strb r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - mov r1, r8 - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3A - bl GetMonData - adds r1, r6, 0 - adds r1, 0xDC - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3B - bl GetMonData - adds r1, r6, 0 - adds r1, 0xB2 - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3C - bl GetMonData - adds r1, r6, 0 - adds r1, 0xB4 - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3D - bl GetMonData - movs r2, 0xB6 - adds r2, r6 - mov r8, r2 - strh r0, [r2] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3D - bl GetMonData - mov r1, r8 - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3E - bl GetMonData - adds r1, r6, 0 - adds r1, 0xB8 - strh r0, [r1] - b _08022356 - .align 2, 0 -_08022314: .4byte gBattleControllerExecFlags -_08022318: .4byte gActiveBattler -_0802231C: .4byte gBattleStruct -_08022320: .4byte gBattleBufferB -_08022324: .4byte gBattleTypeFlags -_08022328: .4byte gBattlerPartyIndexes -_0802232C: .4byte gPlayerParty -_08022330: .4byte gBattleTextBuff1 -_08022334: .4byte gBattleTextBuff2 -_08022338: .4byte gLeveledUpInBattle -_0802233C: .4byte gBitTable -_08022340: .4byte gBattlescriptCurrInstr -_08022344: .4byte BattleScript_LevelUp -_08022348: .4byte gBattleMoveDamage -_0802234C: .4byte gBattleMons -_08022350: - ldr r1, _08022360 @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] -_08022356: - ldr r1, _08022364 @ =gBattleScripting - movs r0, 0x5 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_08022360: .4byte gBattleMoveDamage -_08022364: .4byte gBattleScripting -_08022368: - ldr r0, _08022378 @ =gBattleMoveDamage - ldr r0, [r0] - cmp r0, 0 - beq _08022380 - ldr r1, _0802237C @ =gBattleScripting - movs r0, 0x3 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_08022378: .4byte gBattleMoveDamage -_0802237C: .4byte gBattleScripting -_08022380: - ldr r2, _0802239C @ =gBattleStruct - ldr r1, [r2] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - ldr r0, [r2] - ldrb r0, [r0, 0x10] - cmp r0, 0x5 - bhi _080223A4 - ldr r1, _080223A0 @ =gBattleScripting - movs r0, 0x2 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_0802239C: .4byte gBattleStruct -_080223A0: .4byte gBattleScripting -_080223A4: - ldr r1, _080223AC @ =gBattleScripting - movs r0, 0x6 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_080223AC: .4byte gBattleScripting -_080223B0: - ldr r0, _080223E8 @ =gBattleControllerExecFlags - ldr r5, [r0] - cmp r5, 0 - bne _080223DA - ldr r4, _080223EC @ =gBattleMons - ldr r2, _080223F0 @ =gBattlerFainted - ldrb r0, [r2] - movs r1, 0x58 - muls r0, r1 - adds r0, r4 - movs r3, 0 - strh r5, [r0, 0x2E] - ldrb r0, [r2] - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - strb r3, [r0] - ldr r1, _080223F4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_080223DA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080223E8: .4byte gBattleControllerExecFlags -_080223EC: .4byte gBattleMons -_080223F0: .4byte gBattlerFainted -_080223F4: .4byte gBattlescriptCurrInstr - thumb_func_end atk23_getexp - thumb_func_start atk24 atk24: @ 80223F8 push {r4-r7,lr} -- cgit v1.2.3 From db0d8e5bdbc0d043312ac78c5cec0ec53d7f45d6 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 26 Aug 2019 06:48:04 +0800 Subject: thru sub_8024398 --- asm/battle_script_commands.s | 4138 ------------------------------------------ 1 file changed, 4138 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 1d0282835..ed848ba78 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,4144 +5,6 @@ .text - thumb_func_start atk24 -atk24: @ 80223F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r0, _08022534 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0802240A - b _0802258A -_0802240A: - movs r5, 0 -_0802240C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08022538 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0802243C - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0802243C - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 -_0802243C: - adds r5, 0x1 - cmp r5, 0x5 - ble _0802240C - cmp r6, 0 - bne _08022450 - ldr r0, _0802253C @ =gBattleOutcome - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_08022450: - movs r6, 0 - movs r5, 0 -_08022454: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08022540 @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08022484 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08022484 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 -_08022484: - adds r5, 0x1 - cmp r5, 0x5 - ble _08022454 - ldr r2, _0802253C @ =gBattleOutcome - cmp r6, 0 - bne _08022498 - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_08022498: - ldrb r0, [r2] - cmp r0, 0 - bne _08022582 - ldr r0, _08022544 @ =gBattleTypeFlags - ldr r1, [r0] - movs r2, 0x2 - ands r1, r2 - mov r8, r0 - cmp r1, 0 - beq _08022582 - movs r3, 0 - movs r5, 0 - ldr r0, _08022548 @ =gBattlersCount - ldrb r1, [r0] - mov r12, r0 - ldr r7, _0802254C @ =gBattlescriptCurrInstr - cmp r3, r1 - bge _080224E4 - ldr r0, _08022550 @ =gHitMarker - movs r6, 0x80 - lsls r6, 21 - ldr r4, [r0] - adds r2, r1, 0 - ldr r1, _08022554 @ =gSpecialStatuses -_080224C8: - adds r0, r6, 0 - lsls r0, r5 - ands r0, r4 - cmp r0, 0 - beq _080224DC - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _080224DC - adds r3, 0x1 -_080224DC: - adds r1, 0x28 - adds r5, 0x2 - cmp r5, r2 - blt _080224C8 -_080224E4: - movs r2, 0 - movs r5, 0x1 - mov r0, r12 - ldrb r1, [r0] - cmp r5, r1 - bge _0802251E - ldr r0, _08022550 @ =gHitMarker - movs r4, 0x80 - lsls r4, 21 - mov r12, r4 - ldr r6, [r0] - ldr r0, _08022554 @ =gSpecialStatuses - adds r4, r1, 0 - adds r1, r0, 0 - adds r1, 0x14 -_08022502: - mov r0, r12 - lsls r0, r5 - ands r0, r6 - cmp r0, 0 - beq _08022516 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08022516 - adds r2, 0x1 -_08022516: - adds r1, 0x28 - adds r5, 0x2 - cmp r5, r4 - blt _08022502 -_0802251E: - mov r1, r8 - ldr r0, [r1] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08022558 - adds r0, r2, r3 - cmp r0, 0x1 - bgt _08022560 - b _0802257A - .align 2, 0 -_08022534: .4byte gBattleControllerExecFlags -_08022538: .4byte gPlayerParty -_0802253C: .4byte gBattleOutcome -_08022540: .4byte gEnemyParty -_08022544: .4byte gBattleTypeFlags -_08022548: .4byte gBattlersCount -_0802254C: .4byte gBattlescriptCurrInstr -_08022550: .4byte gHitMarker -_08022554: .4byte gSpecialStatuses -_08022558: - cmp r2, 0 - beq _0802257A - cmp r3, 0 - beq _0802257A -_08022560: - ldr r2, [r7] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - str r1, [r7] - b _0802258A -_0802257A: - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - b _0802258A -_08022582: - ldr r1, _08022594 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802258A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08022594: .4byte gBattlescriptCurrInstr - thumb_func_end atk24 - - thumb_func_start MoveValuesCleanUp -MoveValuesCleanUp: @ 8022598 - ldr r1, _080225C0 @ =gMoveResultFlags - movs r0, 0 - strb r0, [r1] - ldr r0, _080225C4 @ =gBattleScripting - movs r2, 0 - movs r1, 0x1 - strb r1, [r0, 0xE] - ldr r0, _080225C8 @ =gCritMultiplier - strb r1, [r0] - ldr r0, _080225CC @ =gBattleCommunication - strb r2, [r0, 0x3] - strb r2, [r0, 0x6] - ldr r2, _080225D0 @ =gHitMarker - ldr r0, [r2] - subs r1, 0x42 - ands r0, r1 - ldr r1, _080225D4 @ =0xffffbfff - ands r0, r1 - str r0, [r2] - bx lr - .align 2, 0 -_080225C0: .4byte gMoveResultFlags -_080225C4: .4byte gBattleScripting -_080225C8: .4byte gCritMultiplier -_080225CC: .4byte gBattleCommunication -_080225D0: .4byte gHitMarker -_080225D4: .4byte 0xffffbfff - thumb_func_end MoveValuesCleanUp - - thumb_func_start atk25_movevaluescleanup -atk25_movevaluescleanup: @ 80225D8 - push {lr} - bl MoveValuesCleanUp - ldr r1, _080225EC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080225EC: .4byte gBattlescriptCurrInstr - thumb_func_end atk25_movevaluescleanup - - thumb_func_start atk26_setmultihit -atk26_setmultihit: @ 80225F0 - ldr r3, _08022600 @ =gMultiHitCounter - ldr r2, _08022604 @ =gBattlescriptCurrInstr - ldr r0, [r2] - ldrb r1, [r0, 0x1] - strb r1, [r3] - adds r0, 0x2 - str r0, [r2] - bx lr - .align 2, 0 -_08022600: .4byte gMultiHitCounter -_08022604: .4byte gBattlescriptCurrInstr - thumb_func_end atk26_setmultihit - - thumb_func_start atk27_decrementmultihit -atk27_decrementmultihit: @ 8022608 - push {lr} - ldr r1, _08022624 @ =gMultiHitCounter - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _0802262C - ldr r1, _08022628 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08022646 - .align 2, 0 -_08022624: .4byte gMultiHitCounter -_08022628: .4byte gBattlescriptCurrInstr -_0802262C: - ldr r3, _0802264C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - str r1, [r3] -_08022646: - pop {r0} - bx r0 - .align 2, 0 -_0802264C: .4byte gBattlescriptCurrInstr - thumb_func_end atk27_decrementmultihit - - thumb_func_start atk28_goto -atk28_goto: @ 8022650 - ldr r3, _0802266C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - bx lr - .align 2, 0 -_0802266C: .4byte gBattlescriptCurrInstr - thumb_func_end atk28_goto - - thumb_func_start atk29_jumpifbyte -atk29_jumpifbyte: @ 8022670 - push {r4-r6,lr} - ldr r3, _080226B4 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r6, [r1, 0x1] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x6] - ldrb r2, [r1, 0x7] - ldrb r0, [r1, 0x8] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x9] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xA] - lsls r0, 24 - adds r2, r0 - adds r1, 0xB - str r1, [r3] - cmp r6, 0x5 - bhi _08022708 - lsls r0, r6, 2 - ldr r1, _080226B8 @ =_080226BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080226B4: .4byte gBattlescriptCurrInstr -_080226B8: .4byte _080226BC - .align 2, 0 -_080226BC: - .4byte _080226D4 - .4byte _080226DC - .4byte _080226E4 - .4byte _080226EC - .4byte _080226F4 - .4byte _080226FE -_080226D4: - ldrb r0, [r5] - cmp r0, r4 - bne _08022708 - b _08022706 -_080226DC: - ldrb r0, [r5] - cmp r0, r4 - beq _08022708 - b _08022706 -_080226E4: - ldrb r0, [r5] - cmp r0, r4 - bls _08022708 - b _08022706 -_080226EC: - ldrb r0, [r5] - cmp r0, r4 - bcs _08022708 - b _08022706 -_080226F4: - ldrb r0, [r5] - ands r4, r0 - cmp r4, 0 - beq _08022708 - b _08022706 -_080226FE: - ldrb r0, [r5] - ands r4, r0 - cmp r4, 0 - bne _08022708 -_08022706: - str r2, [r3] -_08022708: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk29_jumpifbyte - - thumb_func_start atk2A_jumpifhalfword -atk2A_jumpifhalfword: @ 8022710 - push {r4-r6,lr} - ldr r3, _0802275C @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r6, [r1, 0x1] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x6] - ldrb r0, [r1, 0x7] - lsls r0, 8 - orrs r4, r0 - ldrb r2, [r1, 0x8] - ldrb r0, [r1, 0x9] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xA] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xB] - lsls r0, 24 - adds r2, r0 - adds r1, 0xC - str r1, [r3] - cmp r6, 0x5 - bhi _080227B0 - lsls r0, r6, 2 - ldr r1, _08022760 @ =_08022764 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802275C: .4byte gBattlescriptCurrInstr -_08022760: .4byte _08022764 - .align 2, 0 -_08022764: - .4byte _0802277C - .4byte _08022784 - .4byte _0802278C - .4byte _08022794 - .4byte _0802279C - .4byte _080227A6 -_0802277C: - ldrh r0, [r5] - cmp r0, r4 - bne _080227B0 - b _080227AE -_08022784: - ldrh r0, [r5] - cmp r0, r4 - beq _080227B0 - b _080227AE -_0802278C: - ldrh r0, [r5] - cmp r0, r4 - bls _080227B0 - b _080227AE -_08022794: - ldrh r0, [r5] - cmp r0, r4 - bcs _080227B0 - b _080227AE -_0802279C: - ldrh r0, [r5] - ands r4, r0 - cmp r4, 0 - beq _080227B0 - b _080227AE -_080227A6: - ldrh r0, [r5] - ands r4, r0 - cmp r4, 0 - bne _080227B0 -_080227AE: - str r2, [r3] -_080227B0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk2A_jumpifhalfword - - thumb_func_start atk2B_jumpifword -atk2B_jumpifword: @ 80227B8 - push {r4-r6,lr} - ldr r3, _08022810 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r6, [r1, 0x1] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x6] - ldrb r0, [r1, 0x7] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r1, 0x8] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r1, 0x9] - lsls r0, 24 - orrs r4, r0 - ldrb r2, [r1, 0xA] - ldrb r0, [r1, 0xB] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - adds r2, r0 - adds r1, 0xE - str r1, [r3] - cmp r6, 0x5 - bhi _08022864 - lsls r0, r6, 2 - ldr r1, _08022814 @ =_08022818 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08022810: .4byte gBattlescriptCurrInstr -_08022814: .4byte _08022818 - .align 2, 0 -_08022818: - .4byte _08022830 - .4byte _08022838 - .4byte _08022840 - .4byte _08022848 - .4byte _08022850 - .4byte _0802285A -_08022830: - ldr r0, [r5] - cmp r0, r4 - bne _08022864 - b _08022862 -_08022838: - ldr r0, [r5] - cmp r0, r4 - beq _08022864 - b _08022862 -_08022840: - ldr r0, [r5] - cmp r0, r4 - bls _08022864 - b _08022862 -_08022848: - ldr r0, [r5] - cmp r0, r4 - bcs _08022864 - b _08022862 -_08022850: - ldr r0, [r5] - ands r0, r4 - cmp r0, 0 - beq _08022864 - b _08022862 -_0802285A: - ldr r0, [r5] - ands r0, r4 - cmp r0, 0 - bne _08022864 -_08022862: - str r2, [r3] -_08022864: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk2B_jumpifword - - thumb_func_start atk2C_jumpifarrayequal -atk2C_jumpifarrayequal: @ 802286C - push {r4-r7,lr} - ldr r2, _080228C4 @ =gBattlescriptCurrInstr - ldr r3, [r2] - ldrb r1, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 24 - adds r5, r1, r0 - ldrb r1, [r3, 0x5] - ldrb r0, [r3, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 24 - adds r4, r1, r0 - ldrb r6, [r3, 0x9] - ldrb r1, [r3, 0xA] - ldrb r0, [r3, 0xB] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0xC] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0xD] - lsls r0, 24 - adds r1, r0 - mov r12, r1 - movs r1, 0 - cmp r1, r6 - bcs _080228E4 - ldrb r0, [r5] - ldrb r7, [r4] - cmp r0, r7 - beq _080228C8 - adds r0, r3, 0 - b _080228E0 - .align 2, 0 -_080228C4: .4byte gBattlescriptCurrInstr -_080228C8: - adds r5, 0x1 - adds r4, 0x1 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r6 - bcs _080228E4 - ldrb r0, [r5] - ldrb r3, [r4] - cmp r0, r3 - beq _080228C8 - ldr r0, [r2] -_080228E0: - adds r0, 0xE - str r0, [r2] -_080228E4: - cmp r1, r6 - bne _080228EC - mov r7, r12 - str r7, [r2] -_080228EC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk2C_jumpifarrayequal - - thumb_func_start atk2D_jumpifarraynotequal -atk2D_jumpifarraynotequal: @ 80228F4 - push {r4-r7,lr} - movs r7, 0 - ldr r3, _08022968 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - adds r5, r2, r0 - ldrb r2, [r1, 0x5] - ldrb r0, [r1, 0x6] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x7] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x8] - lsls r0, 24 - adds r4, r2, r0 - ldrb r6, [r1, 0x9] - ldrb r2, [r1, 0xA] - ldrb r0, [r1, 0xB] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - adds r2, r0 - mov r12, r2 - movs r1, 0 - cmp r7, r6 - bcs _0802295E -_08022942: - ldrb r0, [r5] - ldrb r2, [r4] - cmp r0, r2 - bne _08022950 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_08022950: - adds r5, 0x1 - adds r4, 0x1 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r6 - bcc _08022942 -_0802295E: - cmp r7, r6 - beq _0802296C - mov r0, r12 - b _08022970 - .align 2, 0 -_08022968: .4byte gBattlescriptCurrInstr -_0802296C: - ldr r0, [r3] - adds r0, 0xE -_08022970: - str r0, [r3] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk2D_jumpifarraynotequal - - thumb_func_start atk2E_setbyte -atk2E_setbyte: @ 8022978 - ldr r3, _0802299C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r2, 0x5] - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_0802299C: .4byte gBattlescriptCurrInstr - thumb_func_end atk2E_setbyte - - thumb_func_start atk2F_addbyte -atk2F_addbyte: @ 80229A0 - ldr r3, _080229C8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r2, 0x5] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_080229C8: .4byte gBattlescriptCurrInstr - thumb_func_end atk2F_addbyte - - thumb_func_start atk30_subbyte -atk30_subbyte: @ 80229CC - ldr r3, _080229F4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r2, 0x5] - subs r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_080229F4: .4byte gBattlescriptCurrInstr - thumb_func_end atk30_subbyte - - thumb_func_start atk31_copyarray -atk31_copyarray: @ 80229F8 - push {r4-r6,lr} - ldr r3, _08022A48 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - adds r6, r2, r0 - ldrb r2, [r1, 0x5] - ldrb r0, [r1, 0x6] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x7] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x8] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x9] - movs r2, 0 - cmp r2, r4 - bge _08022A3C -_08022A2E: - adds r0, r6, r2 - adds r1, r5, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, r4 - blt _08022A2E -_08022A3C: - ldr r0, [r3] - adds r0, 0xA - str r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08022A48: .4byte gBattlescriptCurrInstr - thumb_func_end atk31_copyarray - - thumb_func_start atk32_copyarraywithindex -atk32_copyarraywithindex: @ 8022A4C - push {r4-r7,lr} - ldr r3, _08022AB4 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - adds r7, r2, r0 - ldrb r2, [r1, 0x5] - ldrb r0, [r1, 0x6] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x7] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x8] - lsls r0, 24 - adds r6, r2, r0 - ldrb r2, [r1, 0x9] - ldrb r0, [r1, 0xA] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xB] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0xD] - movs r2, 0 - cmp r2, r4 - bge _08022AA8 -_08022A96: - adds r0, r7, r2 - ldrb r1, [r5] - adds r1, r2, r1 - adds r1, r6, r1 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, r4 - blt _08022A96 -_08022AA8: - ldr r0, [r3] - adds r0, 0xE - str r0, [r3] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08022AB4: .4byte gBattlescriptCurrInstr - thumb_func_end atk32_copyarraywithindex - - thumb_func_start atk33_orbyte -atk33_orbyte: @ 8022AB8 - ldr r3, _08022AE0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r2, 0x5] - orrs r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_08022AE0: .4byte gBattlescriptCurrInstr - thumb_func_end atk33_orbyte - - thumb_func_start atk34_orhalfword -atk34_orhalfword: @ 8022AE4 - push {r4,lr} - ldr r4, _08022B18 @ =gBattlescriptCurrInstr - ldr r3, [r4] - ldrb r2, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x4] - lsls r0, 24 - adds r2, r0 - ldrb r1, [r3, 0x5] - ldrb r0, [r3, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2] - orrs r1, r0 - strh r1, [r2] - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022B18: .4byte gBattlescriptCurrInstr - thumb_func_end atk34_orhalfword - - thumb_func_start atk35_orword -atk35_orword: @ 8022B1C - push {r4,lr} - ldr r4, _08022B5C @ =gBattlescriptCurrInstr - ldr r2, [r4] - ldrb r3, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r3, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r3, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r3, r0 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - adds r1, r0 - ldr r0, [r3] - orrs r0, r1 - str r0, [r3] - ldr r0, [r4] - adds r0, 0x9 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022B5C: .4byte gBattlescriptCurrInstr - thumb_func_end atk35_orword - - thumb_func_start atk36_bicbyte -atk36_bicbyte: @ 8022B60 - ldr r3, _08022B88 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r2, [r2, 0x5] - ldrb r0, [r1] - bics r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_08022B88: .4byte gBattlescriptCurrInstr - thumb_func_end atk36_bicbyte - - thumb_func_start atk37_bichalfword -atk37_bichalfword: @ 8022B8C - push {r4,lr} - ldr r4, _08022BC0 @ =gBattlescriptCurrInstr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r2, [r3, 0x5] - ldrb r0, [r3, 0x6] - lsls r0, 8 - orrs r2, r0 - ldrh r0, [r1] - bics r0, r2 - strh r0, [r1] - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022BC0: .4byte gBattlescriptCurrInstr - thumb_func_end atk37_bichalfword - - thumb_func_start atk38_bicword -atk38_bicword: @ 8022BC4 - push {r4,lr} - ldr r4, _08022C04 @ =gBattlescriptCurrInstr - ldr r2, [r4] - ldrb r3, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r3, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r3, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r3, r0 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - adds r1, r0 - ldr r0, [r3] - bics r0, r1 - str r0, [r3] - ldr r0, [r4] - adds r0, 0x9 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022C04: .4byte gBattlescriptCurrInstr - thumb_func_end atk38_bicword - - thumb_func_start atk39_pause -atk39_pause: @ 8022C08 - push {r4,r5,lr} - ldr r0, _08022C3C @ =gBattleControllerExecFlags - ldr r4, [r0] - cmp r4, 0 - bne _08022C34 - ldr r5, _08022C40 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r3, _08022C44 @ =gPauseCounterBattle - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r1 - bcc _08022C34 - strh r4, [r3] - adds r0, r2, 0x3 - str r0, [r5] -_08022C34: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08022C3C: .4byte gBattleControllerExecFlags -_08022C40: .4byte gBattlescriptCurrInstr -_08022C44: .4byte gPauseCounterBattle - thumb_func_end atk39_pause - - thumb_func_start atk3A_waitstate -atk3A_waitstate: @ 8022C48 - push {lr} - ldr r0, _08022C60 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08022C5A - ldr r1, _08022C64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08022C5A: - pop {r0} - bx r0 - .align 2, 0 -_08022C60: .4byte gBattleControllerExecFlags -_08022C64: .4byte gBattlescriptCurrInstr - thumb_func_end atk3A_waitstate - - thumb_func_start atk3B_healthbar_update -atk3B_healthbar_update: @ 8022C68 - push {lr} - ldr r0, _08022C7C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08022C88 - ldr r0, _08022C80 @ =gActiveBattler - ldr r1, _08022C84 @ =gBattlerTarget - b _08022C8C - .align 2, 0 -_08022C7C: .4byte gBattlescriptCurrInstr -_08022C80: .4byte gActiveBattler -_08022C84: .4byte gBattlerTarget -_08022C88: - ldr r0, _08022CB0 @ =gActiveBattler - ldr r1, _08022CB4 @ =gBattlerAttacker -_08022C8C: - ldrb r1, [r1] - strb r1, [r0] - ldr r0, _08022CB8 @ =gBattleMoveDamage - ldrh r1, [r0] - movs r0, 0 - bl BtlController_EmitHealthBarUpdate - ldr r0, _08022CB0 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08022CBC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08022CB0: .4byte gActiveBattler -_08022CB4: .4byte gBattlerAttacker -_08022CB8: .4byte gBattleMoveDamage -_08022CBC: .4byte gBattlescriptCurrInstr - thumb_func_end atk3B_healthbar_update - - thumb_func_start atk3C_return -atk3C_return: @ 8022CC0 - push {lr} - bl BattleScriptPop - pop {r0} - bx r0 - thumb_func_end atk3C_return - - thumb_func_start atk3D_end -atk3D_end: @ 8022CCC - ldr r0, _08022CE0 @ =gMoveResultFlags - movs r1, 0 - strb r1, [r0] - ldr r0, _08022CE4 @ =gActiveBattler - strb r1, [r0] - ldr r1, _08022CE8 @ =gCurrentActionFuncId - movs r0, 0xB - strb r0, [r1] - bx lr - .align 2, 0 -_08022CE0: .4byte gMoveResultFlags -_08022CE4: .4byte gActiveBattler -_08022CE8: .4byte gCurrentActionFuncId - thumb_func_end atk3D_end - - thumb_func_start atk3E_end2 -atk3E_end2: @ 8022CEC - ldr r1, _08022CFC @ =gActiveBattler - movs r0, 0 - strb r0, [r1] - ldr r1, _08022D00 @ =gCurrentActionFuncId - movs r0, 0xB - strb r0, [r1] - bx lr - .align 2, 0 -_08022CFC: .4byte gActiveBattler -_08022D00: .4byte gCurrentActionFuncId - thumb_func_end atk3E_end2 - - thumb_func_start atk3F_end3 -atk3F_end3: @ 8022D04 - push {lr} - bl BattleScriptPop - ldr r3, _08022D38 @ =gBattleResources - ldr r0, [r3] - ldr r0, [r0, 0xC] - adds r1, r0, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0 - beq _08022D1E - subs r0, 0x1 - strb r0, [r1] -_08022D1E: - ldr r2, _08022D3C @ =gBattleMainFunc - ldr r0, [r3] - ldr r1, [r0, 0xC] - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_08022D38: .4byte gBattleResources -_08022D3C: .4byte gBattleMainFunc - thumb_func_end atk3F_end3 - - thumb_func_start atk41_call -atk41_call: @ 8022D40 - push {r4,lr} - ldr r4, _08022D6C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x5 - bl BattleScriptPush - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022D6C: .4byte gBattlescriptCurrInstr - thumb_func_end atk41_call - - thumb_func_start atk42_jumpiftype2 -atk42_jumpiftype2: @ 8022D70 - push {r4,lr} - ldr r4, _08022DB8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r4] - ldr r2, _08022DBC @ =gBattleMons - movs r1, 0x58 - muls r0, r1 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r2, [r3, 0x2] - ldrb r1, [r1] - cmp r2, r1 - beq _08022D9E - adds r0, 0x22 - ldrb r0, [r0] - cmp r2, r0 - bne _08022DC0 -_08022D9E: - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08022DC4 - .align 2, 0 -_08022DB8: .4byte gBattlescriptCurrInstr -_08022DBC: .4byte gBattleMons -_08022DC0: - adds r0, r3, 0x7 - str r0, [r4] -_08022DC4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end atk42_jumpiftype2 - - thumb_func_start atk43_jumpifabilitypresent -atk43_jumpifabilitypresent: @ 8022DCC - push {r4,lr} - sub sp, 0x4 - ldr r4, _08022E04 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r2, [r0, 0x1] - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08022E08 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08022E0E - .align 2, 0 -_08022E04: .4byte gBattlescriptCurrInstr -_08022E08: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_08022E0E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end atk43_jumpifabilitypresent - - thumb_func_start atk44_endselectionscript -atk44_endselectionscript: @ 8022E18 - ldr r0, _08022E2C @ =gBattlerAttacker - ldrb r0, [r0] - ldr r1, _08022E30 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x54 - movs r1, 0x1 - strb r1, [r0] - bx lr - .align 2, 0 -_08022E2C: .4byte gBattlerAttacker -_08022E30: .4byte gBattleStruct - thumb_func_end atk44_endselectionscript - - thumb_func_start atk45_playanimation -atk45_playanimation: @ 8022E34 - push {r4-r6,lr} - ldr r4, _08022E84 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r6, _08022E88 @ =gActiveBattler - strb r0, [r6] - ldr r2, [r4] - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - adds r3, r1, r0 - ldrb r5, [r2, 0x2] - adds r0, r5, 0 - cmp r0, 0x1 - beq _08022E6E - cmp r0, 0x11 - beq _08022E6E - cmp r0, 0x2 - beq _08022E6E - cmp r0, 0x19 - bne _08022E8C -_08022E6E: - ldr r4, _08022E84 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x2] - ldrh r2, [r3] - movs r0, 0 - bl BtlController_EmitBattleAnimation - ldr r0, _08022E88 @ =gActiveBattler - ldrb r0, [r0] - b _08022EE4 - .align 2, 0 -_08022E84: .4byte gBattlescriptCurrInstr -_08022E88: .4byte gActiveBattler -_08022E8C: - ldr r0, _08022EA4 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08022EAC - adds r0, r2, 0x7 - bl BattleScriptPush - ldr r0, _08022EA8 @ =BattleScript_Pausex20 - b _08022EEC - .align 2, 0 -_08022EA4: .4byte gHitMarker -_08022EA8: .4byte BattleScript_Pausex20 -_08022EAC: - adds r0, r5, 0 - subs r0, 0xA - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08022ED8 - ldr r1, _08022ED0 @ =gStatuses3 - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08022ED4 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08022ED8 - adds r0, r2, 0x7 - b _08022EEC - .align 2, 0 -_08022ED0: .4byte gStatuses3 -_08022ED4: .4byte 0x000400c0 -_08022ED8: - ldrb r1, [r2, 0x2] - ldrh r2, [r3] - movs r0, 0 - bl BtlController_EmitBattleAnimation - ldrb r0, [r6] -_08022EE4: - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x7 -_08022EEC: - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk45_playanimation - - thumb_func_start atk46_playanimation2 -atk46_playanimation2: @ 8022EF4 - push {r4-r7,lr} - ldr r6, _08022F5C @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r7, _08022F60 @ =gActiveBattler - strb r0, [r7] - ldr r2, [r6] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - adds r3, r1, r0 - ldrb r1, [r2, 0x6] - ldrb r0, [r2, 0x7] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x9] - lsls r0, 24 - adds r4, r1, r0 - ldrb r5, [r3] - adds r0, r5, 0 - cmp r0, 0x1 - beq _08022F3E - cmp r0, 0x11 - beq _08022F3E - cmp r0, 0x2 - bne _08022F64 -_08022F3E: - ldrb r1, [r3] - ldrh r2, [r4] - movs r0, 0 - bl BtlController_EmitBattleAnimation - ldr r0, _08022F60 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08022F5C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] - b _08022FBA - .align 2, 0 -_08022F5C: .4byte gBattlescriptCurrInstr -_08022F60: .4byte gActiveBattler -_08022F64: - ldr r0, _08022F74 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08022F78 - adds r0, r2, 0 - b _08022FB6 - .align 2, 0 -_08022F74: .4byte gHitMarker -_08022F78: - adds r0, r5, 0 - subs r0, 0xA - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08022FA4 - ldr r1, _08022F9C @ =gStatuses3 - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08022FA0 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08022FA4 - adds r0, r2, 0 - b _08022FB6 - .align 2, 0 -_08022F9C: .4byte gStatuses3 -_08022FA0: .4byte 0x000400c0 -_08022FA4: - ldrb r1, [r3] - ldrh r2, [r4] - movs r0, 0 - bl BtlController_EmitBattleAnimation - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldr r0, [r6] -_08022FB6: - adds r0, 0xA - str r0, [r6] -_08022FBA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk46_playanimation2 - - thumb_func_start atk47_setgraphicalstatchangevalues -atk47_setgraphicalstatchangevalues: @ 8022FC0 - push {r4,lr} - movs r3, 0 - ldr r1, _08022FDC @ =gBattleScripting - ldrb r0, [r1, 0x1A] - movs r2, 0xF0 - ands r2, r0 - adds r4, r1, 0 - cmp r2, 0x20 - beq _08022FEE - cmp r2, 0x20 - bgt _08022FE0 - cmp r2, 0x10 - beq _08022FEA - b _08022FF8 - .align 2, 0 -_08022FDC: .4byte gBattleScripting -_08022FE0: - cmp r2, 0x90 - beq _08022FF2 - cmp r2, 0xA0 - beq _08022FF6 - b _08022FF8 -_08022FEA: - movs r3, 0xF - b _08022FF8 -_08022FEE: - movs r3, 0x27 - b _08022FF8 -_08022FF2: - movs r3, 0x16 - b _08022FF8 -_08022FF6: - movs r3, 0x2E -_08022FF8: - ldrb r1, [r4, 0x1A] - movs r0, 0xF - ands r0, r1 - adds r0, r3, r0 - subs r0, 0x1 - movs r1, 0 - strb r0, [r4, 0x10] - strb r1, [r4, 0x11] - ldr r1, _08023018 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08023018: .4byte gBattlescriptCurrInstr - thumb_func_end atk47_setgraphicalstatchangevalues - - thumb_func_start atk48_playstatchangeanimation -atk48_playstatchangeanimation: @ 802301C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r7, 0 - movs r0, 0 - mov r8, r0 - movs r3, 0 - ldr r5, _08023090 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - str r3, [sp] - bl GetBattlerForBattleScript - ldr r2, _08023094 @ =gActiveBattler - strb r0, [r2] - ldr r0, [r5] - ldrb r4, [r0, 0x2] - ldrb r1, [r0, 0x3] - movs r0, 0x1 - ands r0, r1 - ldr r3, [sp] - cmp r0, 0 - beq _08023130 - movs r0, 0x2 - ands r0, r1 - movs r1, 0x15 - cmp r0, 0 - beq _0802305C - movs r1, 0x2D -_0802305C: - cmp r4, 0 - beq _08023104 - movs r0, 0x1 - mov r10, r0 - ldr r0, _08023098 @ =gUnknown_2023BFC - mov r9, r0 - lsls r5, r1, 16 -_0802306A: - adds r0, r4, 0 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _080230F6 - ldr r0, _08023090 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802309C - ldr r0, _08023094 @ =gActiveBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7, r0 - b _080230E4 - .align 2, 0 -_08023090: .4byte gBattlescriptCurrInstr -_08023094: .4byte gActiveBattler -_08023098: .4byte gUnknown_2023BFC -_0802309C: - ldr r6, _08023120 @ =gActiveBattler - ldrb r0, [r6] - str r3, [sp] - bl GetBattlerPosition - mov r1, r10 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08023124 @ =gSideTimers - adds r0, r1 - ldrb r0, [r0, 0x4] - ldr r3, [sp] - cmp r0, 0 - bne _080230F6 - ldr r0, _08023128 @ =gBattleMons - ldrb r2, [r6] - movs r1, 0x58 - muls r2, r1 - adds r0, r2, r0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1D - beq _080230F6 - cmp r0, 0x49 - beq _080230F6 - cmp r0, 0x33 - bne _080230DA - cmp r7, 0x6 - beq _080230F6 -_080230DA: - cmp r0, 0x34 - bne _080230E2 - cmp r7, 0x1 - beq _080230F6 -_080230E2: - adds r0, r7, r2 -_080230E4: - add r0, r9 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080230F6 - lsrs r0, r5, 16 - mov r8, r0 - adds r3, 0x1 -_080230F6: - lsrs r4, 1 - movs r1, 0x80 - lsls r1, 9 - adds r5, r1 - adds r7, 0x1 - cmp r4, 0 - bne _0802306A -_08023104: - ldr r0, _0802312C @ =gBattlescriptCurrInstr - mov r9, r0 - cmp r3, 0x1 - ble _08023192 - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x2 - ands r0, r1 - movs r1, 0x39 - mov r8, r1 - cmp r0, 0 - beq _08023192 - movs r0, 0x3A - b _08023190 - .align 2, 0 -_08023120: .4byte gActiveBattler -_08023124: .4byte gSideTimers -_08023128: .4byte gBattleMons -_0802312C: .4byte gBattlescriptCurrInstr -_08023130: - movs r0, 0x2 - ands r0, r1 - movs r1, 0xE - cmp r0, 0 - beq _0802313C - movs r1, 0x26 -_0802313C: - mov r9, r5 - cmp r4, 0 - beq _08023178 - ldr r6, _080231AC @ =gUnknown_2023BFC - adds r5, r2, 0 - lsls r2, r1, 16 -_08023148: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0802316A - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r7, r0 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xB - bgt _0802316A - lsrs r1, r2, 16 - mov r8, r1 - adds r3, 0x1 -_0802316A: - lsrs r4, 1 - movs r0, 0x80 - lsls r0, 9 - adds r2, r0 - adds r7, 0x1 - cmp r4, 0 - bne _08023148 -_08023178: - cmp r3, 0x1 - ble _08023192 - mov r1, r9 - ldr r0, [r1] - ldrb r1, [r0, 0x3] - movs r0, 0x2 - ands r0, r1 - movs r1, 0x37 - mov r8, r1 - cmp r0, 0 - beq _08023192 - movs r0, 0x38 -_08023190: - mov r8, r0 -_08023192: - mov r1, r9 - ldr r2, [r1] - ldrb r1, [r2, 0x3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080231B0 - cmp r3, 0x1 - bgt _080231B0 - adds r0, r2, 0x4 - mov r1, r9 - b _080231FE - .align 2, 0 -_080231AC: .4byte gUnknown_2023BFC -_080231B0: - cmp r3, 0 - beq _080231F8 - ldr r4, _080231EC @ =gBattleScripting - ldrb r0, [r4, 0x1B] - cmp r0, 0 - bne _080231F8 - movs r0, 0 - movs r1, 0x1 - mov r2, r8 - str r3, [sp] - bl BtlController_EmitBattleAnimation - ldr r0, _080231F0 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r0, _080231F4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x4 - ands r0, r1 - ldr r3, [sp] - cmp r0, 0 - beq _080231E8 - cmp r3, 0x1 - ble _080231E8 - movs r0, 0x1 - strb r0, [r4, 0x1B] -_080231E8: - ldr r1, _080231F4 @ =gBattlescriptCurrInstr - b _080231FA - .align 2, 0 -_080231EC: .4byte gBattleScripting -_080231F0: .4byte gActiveBattler -_080231F4: .4byte gBattlescriptCurrInstr -_080231F8: - mov r1, r9 -_080231FA: - ldr r0, [r1] - adds r0, 0x4 -_080231FE: - str r0, [r1] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk48_playstatchangeanimation - - thumb_func_start atk49_moveend -atk49_moveend: @ 8023210 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r0, 0 - mov r10, r0 - ldr r2, _08023260 @ =gChosenMove - ldrh r1, [r2] - ldr r0, _08023264 @ =0x0000ffff - movs r3, 0 - str r3, [sp, 0x18] - cmp r1, r0 - beq _08023232 - ldrh r2, [r2] - str r2, [sp, 0x18] -_08023232: - ldr r0, _08023268 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r4, [r0, 0x1] - str r4, [sp, 0x10] - ldrb r0, [r0, 0x2] - str r0, [sp, 0x14] - ldr r1, _0802326C @ =gBattleMons - ldr r0, _08023270 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _08023278 - ldr r1, _08023274 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x7] - b _08023282 - .align 2, 0 -_08023260: .4byte gChosenMove -_08023264: .4byte 0x0000ffff -_08023268: .4byte gBattlescriptCurrInstr -_0802326C: .4byte gBattleMons -_08023270: .4byte gBattlerAttacker -_08023274: .4byte gEnigmaBerries -_08023278: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_08023282: - str r0, [sp, 0x8] - ldr r1, _080232A4 @ =gBattleStruct - ldr r0, _080232A8 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, 0xC8 - ldr r1, [r1] - adds r0, r1, r0 - str r0, [sp, 0xC] - ldrb r0, [r1, 0x13] - cmp r0, 0 - beq _08023334 - movs r5, 0x3F - ands r5, r0 - str r5, [sp, 0x4] - b _08023346 - .align 2, 0 -_080232A4: .4byte gBattleStruct -_080232A8: .4byte gBattlerAttacker -_080232AC: - ldr r4, _080232C0 @ =gActiveBattler - strb r2, [r4] - movs r0, 0 - movs r1, 0x1 - bl BtlController_EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0802379E - .align 2, 0 -_080232C0: .4byte gActiveBattler -_080232C4: - ldr r4, _080232E8 @ =gActiveBattler - strb r2, [r4] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldrb r1, [r6] - lsls r1, 2 - adds r1, r5 - ldr r0, [r1] - ldr r2, _080232EC @ =0xfffbff3f - ands r0, r2 - str r0, [r1] - b _0802379E - .align 2, 0 -_080232E8: .4byte gActiveBattler -_080232EC: .4byte 0xfffbff3f -_080232F0: - strb r2, [r7] - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - ldr r0, _08023324 @ =gBattleScripting - strb r4, [r0, 0x14] - bl MoveValuesCleanUp - ldr r2, _08023328 @ =gBattleScriptsForMoveEffects - mov r0, r8 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - bl BattleScriptPush - ldr r1, _0802332C @ =gBattlescriptCurrInstr - ldr r0, _08023330 @ =BattleScript_FlushMessageBox - bl _08023BFC - .align 2, 0 -_08023324: .4byte gBattleScripting -_08023328: .4byte gBattleScriptsForMoveEffects -_0802332C: .4byte gBattlescriptCurrInstr -_08023330: .4byte BattleScript_FlushMessageBox -_08023334: - ldr r2, _0802334C @ =gBattleMoves - ldr r0, _08023350 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - str r0, [sp, 0x4] -_08023346: - ldr r1, _08023354 @ =gBattleScripting - mov r12, r1 - b _08023362 - .align 2, 0 -_0802334C: .4byte gBattleMoves -_08023350: .4byte gCurrentMove -_08023354: .4byte gBattleScripting -_08023358: - mov r2, r10 - cmp r2, 0 - beq _08023362 - bl _08023BE8 -_08023362: - mov r3, r12 - ldrb r0, [r3, 0x14] - cmp r0, 0x11 - bls _0802336E - bl _08023BB4 -_0802336E: - lsls r0, 2 - ldr r1, _08023378 @ =_0802337C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08023378: .4byte _0802337C - .align 2, 0 -_0802337C: - .4byte _080233C4 - .4byte _080234A0 - .4byte _0802355C - .4byte _08023580 - .4byte _08023598 - .4byte _080235C0 - .4byte _080235E4 - .4byte _0802368C - .4byte _08023702 - .4byte _08023738 - .4byte _080237D8 - .4byte _080236CC - .4byte _080236EC - .4byte _0802381C - .4byte _08023860 - .4byte _08023A40 - .4byte _08023B28 - .4byte _08023BB4 -_080233C4: - ldr r6, _0802347C @ =gBattleMons - ldr r5, _08023480 @ =gBattlerTarget - ldrb r3, [r5] - movs r7, 0x58 - adds r2, r3, 0 - muls r2, r7 - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 16 - ands r0, r1 - cmp r0, 0 - bne _080233E4 - b _080237C8 -_080233E4: - adds r0, r2, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _080233EE - b _080237C8 -_080233EE: - ldr r0, _08023484 @ =gBattlerAttacker - ldrb r1, [r0] - cmp r1, r3 - bne _080233F8 - b _080237C8 -_080233F8: - adds r0, r1, 0 - bl GetBattlerSide - adds r4, r0, 0 - ldrb r0, [r5] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08023410 - b _080237C8 -_08023410: - ldr r0, _08023488 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0802341E - b _080237C8 -_0802341E: - ldr r2, _0802348C @ =gSpecialStatuses - ldrb r3, [r5] - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 2 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _08023442 - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _08023442 - b _080237C8 -_08023442: - ldr r2, _08023490 @ =gBattleMoves - ldr r0, _08023494 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08023458 - b _080237C8 -_08023458: - adds r0, r3, 0 - muls r0, r7 - adds r1, r0, r6 - ldrb r2, [r1, 0x19] - movs r0, 0x19 - ldrsb r0, [r1, r0] - cmp r0, 0xB - ble _0802346A - b _080237C8 -_0802346A: - adds r0, r2, 0x1 - strb r0, [r1, 0x19] - bl BattleScriptPushCursor - ldr r1, _08023498 @ =gBattlescriptCurrInstr - ldr r0, _0802349C @ =BattleScript_RageIsBuilding - str r0, [r1] - b _080236FC - .align 2, 0 -_0802347C: .4byte gBattleMons -_08023480: .4byte gBattlerTarget -_08023484: .4byte gBattlerAttacker -_08023488: .4byte gMoveResultFlags -_0802348C: .4byte gSpecialStatuses -_08023490: .4byte gBattleMoves -_08023494: .4byte gCurrentMove -_08023498: .4byte gBattlescriptCurrInstr -_0802349C: .4byte BattleScript_RageIsBuilding -_080234A0: - ldr r4, _0802353C @ =gBattleMons - ldr r6, _08023540 @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - mov r12, r5 - mov r1, r12 - muls r1, r2 - adds r7, r4, 0 - adds r7, 0x4C - adds r5, r1, r7 - ldr r3, [r5] - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - bne _080234C0 - b _080237C8 -_080234C0: - adds r0, r1, r4 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _080234CA - b _080237C8 -_080234CA: - ldr r0, _08023544 @ =gBattlerAttacker - ldrb r0, [r0] - cmp r0, r2 - bne _080234D4 - b _080237C8 -_080234D4: - ldr r0, _08023548 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0xC - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - bne _080234E8 - b _080237C8 -_080234E8: - ldr r0, _0802354C @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _080234F6 - b _080237C8 -_080234F6: - ldr r0, [sp, 0x4] - cmp r0, 0xA - beq _080234FE - b _080237C8 -_080234FE: - movs r0, 0x21 - negs r0, r0 - ands r3, r0 - str r3, [r5] - ldr r4, _08023550 @ =gActiveBattler - ldrb r0, [r6] - strb r0, [r4] - ldrb r0, [r6] - mov r1, r12 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - bl BattleScriptPushCursor - ldr r1, _08023554 @ =gBattlescriptCurrInstr - ldr r0, _08023558 @ =BattleScript_DefrostedViaFireMove - str r0, [r1] - movs r2, 0x1 - mov r10, r2 - b _080237C8 - .align 2, 0 -_0802353C: .4byte gBattleMons -_08023540: .4byte gBattlerTarget -_08023544: .4byte gBattlerAttacker -_08023548: .4byte gSpecialStatuses -_0802354C: .4byte gMoveResultFlags -_08023550: .4byte gActiveBattler -_08023554: .4byte gBattlescriptCurrInstr -_08023558: .4byte BattleScript_DefrostedViaFireMove -_0802355C: - ldr r0, _0802357C @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x7 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _08023576 - b _080237C8 -_08023576: - movs r3, 0x1 - mov r10, r3 - b _080237C8 - .align 2, 0 -_0802357C: .4byte gBattlerTarget -_08023580: - ldr r0, _08023594 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - b _080236F6 - .align 2, 0 -_08023594: .4byte gBattlerTarget -_08023598: - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _080235B0 - b _080237C8 -_080235B0: - movs r5, 0x1 - mov r10, r5 - ldr r0, _080235BC @ =gBattleScripting - mov r12, r0 - b _08023BB4 - .align 2, 0 -_080235BC: .4byte gBattleScripting -_080235C0: - ldr r0, _080235E0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _080235DA - b _080237C8 -_080235DA: - movs r1, 0x1 - mov r10, r1 - b _080237C8 - .align 2, 0 -_080235E0: .4byte gBattlerAttacker -_080235E4: - ldr r0, _08023674 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _08023628 - ldr r2, [sp, 0x8] - cmp r2, 0x1D - bne _08023628 - ldr r0, _08023678 @ =gChosenMove - ldrh r2, [r0] - adds r3, r0, 0 - cmp r2, 0xA5 - beq _08023628 - ldr r4, [sp, 0xC] - ldrh r1, [r4] - cmp r1, 0 - beq _08023610 - ldr r0, _0802367C @ =0x0000ffff - cmp r1, r0 - bne _08023628 -_08023610: - cmp r2, 0xE2 - bne _08023622 - ldr r0, _08023680 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _08023622 - b _08023AFA -_08023622: - ldrh r0, [r3] - ldr r1, [sp, 0xC] - strh r0, [r1] -_08023628: - movs r4, 0 - ldr r2, _08023684 @ =gBattleMons - ldr r3, _08023688 @ =gBattlerAttacker - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r2, 0xC - adds r0, r2 - ldrh r0, [r0] - ldr r5, [sp, 0xC] - ldrh r1, [r5] - mov r9, r3 - cmp r0, r1 - beq _08023660 - mov r6, r9 - movs r3, 0x58 - adds r5, r1, 0 -_0802364A: - adds r4, 0x1 - cmp r4, 0x3 - bgt _08023660 - lsls r0, r4, 1 - ldrb r1, [r6] - muls r1, r3 - adds r0, r1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r5 - bne _0802364A -_08023660: - cmp r4, 0x4 - bne _0802366A - movs r0, 0 - ldr r1, [sp, 0xC] - strh r0, [r1] -_0802366A: - mov r2, r12 - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - b _08023BB4 - .align 2, 0 -_08023674: .4byte gHitMarker -_08023678: .4byte gChosenMove -_0802367C: .4byte 0x0000ffff -_08023680: .4byte gMoveResultFlags -_08023684: .4byte gBattleMons -_08023688: .4byte gBattlerAttacker -_0802368C: - movs r4, 0 - ldr r0, _080236C0 @ =gBattlersCount - ldrb r3, [r0] - cmp r4, r3 - blt _08023698 - b _08023846 -_08023698: - ldr r7, _080236C4 @ =gBattleStruct - movs r6, 0 - movs r3, 0xD0 - adds r5, r0, 0 - ldr r2, _080236C8 @ =gBattleMons -_080236A2: - ldr r0, [r7] - adds r0, r3 - ldrh r1, [r0] - cmp r1, 0 - beq _080236B0 - strh r1, [r2, 0x2E] - strh r6, [r0] -_080236B0: - adds r3, 0x2 - adds r2, 0x58 - adds r4, 0x1 - ldrb r0, [r5] - cmp r4, r0 - blt _080236A2 - b _08023846 - .align 2, 0 -_080236C0: .4byte gBattlersCount -_080236C4: .4byte gBattleStruct -_080236C8: .4byte gBattleMons -_080236CC: - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ItemBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _080237C8 - movs r2, 0x1 - mov r10, r2 - ldr r3, _080236E8 @ =gBattleScripting - mov r12, r3 - b _08023BB4 - .align 2, 0 -_080236E8: .4byte gBattleScripting -_080236EC: - movs r0, 0x4 - movs r1, 0 - movs r2, 0 - bl ItemBattleEffects -_080236F6: - lsls r0, 24 - cmp r0, 0 - beq _080237C8 -_080236FC: - movs r4, 0x1 - mov r10, r4 - b _080237C8 -_08023702: - ldr r1, _08023728 @ =gStatuses3 - ldr r0, _0802372C @ =gBattlerAttacker - ldrb r2, [r0] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08023730 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08023718 - b _08023AFA -_08023718: - ldr r0, _08023734 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08023726 - b _080232AC -_08023726: - b _08023AFA - .align 2, 0 -_08023728: .4byte gStatuses3 -_0802372C: .4byte gBattlerAttacker -_08023730: .4byte 0x000400c0 -_08023734: .4byte gHitMarker -_08023738: - ldr r0, _080237A8 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _08023764 - ldr r1, _080237AC @ =gStatuses3 - ldr r0, _080237B0 @ =gBattlerAttacker - ldrb r2, [r0] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080237B4 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08023764 - adds r0, r2, 0 - bl WasUnableToUseMove - lsls r0, 24 - cmp r0, 0 - beq _080237C8 -_08023764: - ldr r4, _080237B8 @ =gActiveBattler - ldr r5, _080237B0 @ =gBattlerAttacker - ldrb r0, [r5] - strb r0, [r4] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, _080237AC @ =gStatuses3 - ldrb r2, [r5] - lsls r2, 2 - adds r2, r0 - ldr r0, [r2] - ldr r1, _080237BC @ =0xfffbff3f - ands r0, r1 - str r0, [r2] - ldr r2, _080237C0 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0802379E: - ldr r1, _080237C4 @ =gBattleScripting - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] - b _08023BFE - .align 2, 0 -_080237A8: .4byte gMoveResultFlags -_080237AC: .4byte gStatuses3 -_080237B0: .4byte gBattlerAttacker -_080237B4: .4byte 0x000400c0 -_080237B8: .4byte gActiveBattler -_080237BC: .4byte 0xfffbff3f -_080237C0: .4byte gSpecialStatuses -_080237C4: .4byte gBattleScripting -_080237C8: - ldr r1, _080237D4 @ =gBattleScripting - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] - mov r12, r1 - b _08023BB4 - .align 2, 0 -_080237D4: .4byte gBattleScripting -_080237D8: - ldr r0, _08023808 @ =gSpecialStatuses - ldr r6, _0802380C @ =gBattlerTarget - ldrb r2, [r6] - lsls r3, r2, 2 - adds r1, r3, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 29 - cmp r0, 0 - blt _08023846 - ldr r0, _08023810 @ =gBattlersCount - ldrb r0, [r0] - cmp r2, r0 - bcs _08023846 - ldr r5, _08023814 @ =gStatuses3 - adds r0, r3, r5 - ldr r0, [r0] - ldr r1, _08023818 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08023806 - b _080232C4 -_08023806: - b _08023846 - .align 2, 0 -_08023808: .4byte gSpecialStatuses -_0802380C: .4byte gBattlerTarget -_08023810: .4byte gBattlersCount -_08023814: .4byte gStatuses3 -_08023818: .4byte 0x000400c0 -_0802381C: - movs r4, 0 - ldr r0, _08023850 @ =gBattlersCount - ldrb r2, [r0] - cmp r4, r2 - bge _08023846 - ldr r2, _08023854 @ =gDisableStructs - ldr r5, _08023858 @ =0xfeffffff - adds r3, r0, 0 - ldr r1, _0802385C @ =gUnknown_2023C34 -_0802382E: - ldrb r0, [r2, 0xA] - cmp r0, 0 - bne _0802383A - ldr r0, [r1] - ands r0, r5 - str r0, [r1] -_0802383A: - adds r2, 0x1C - adds r1, 0x58 - adds r4, 0x1 - ldrb r0, [r3] - cmp r4, r0 - blt _0802382E -_08023846: - mov r1, r12 - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] - b _08023BB4 - .align 2, 0 -_08023850: .4byte gBattlersCount -_08023854: .4byte gDisableStructs -_08023858: .4byte 0xfeffffff -_0802385C: .4byte gUnknown_2023C34 -_08023860: - ldr r1, _08023914 @ =gHitMarker - ldr r3, [r1] - movs r0, 0x80 - lsls r0, 5 - ands r0, r3 - ldr r2, _08023918 @ =gBattlerAttacker - mov r9, r2 - adds r5, r1, 0 - cmp r0, 0 - beq _0802388A - ldr r0, _0802391C @ =gActiveBattler - ldrb r2, [r2] - strb r2, [r0] - ldr r1, _08023920 @ =gBattlerTarget - ldrb r0, [r1] - mov r4, r9 - strb r0, [r4] - strb r2, [r1] - ldr r0, _08023924 @ =0xffffefff - ands r3, r0 - str r3, [r5] -_0802388A: - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - beq _080238A6 - ldr r0, _08023928 @ =gLastPrintedMoves - mov r2, r9 - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldr r0, _0802392C @ =gChosenMove - ldrh r0, [r0] - strh r0, [r1] -_080238A6: - ldr r0, _08023930 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08023934 @ =gBitTable - mov r3, r9 - ldrb r4, [r3] - lsls r0, r4, 2 - adds r0, r2 - ldr r3, [r0] - ands r1, r3 - adds r6, r2, 0 - cmp r1, 0 - beq _080238C0 - b _08023A2C -_080238C0: - ldr r0, _08023938 @ =gBattleStruct - ldr r1, [r0] - adds r1, 0x91 - ldrb r1, [r1] - ands r1, r3 - adds r7, r0, 0 - cmp r1, 0 - beq _080238D2 - b _08023A2C -_080238D2: - ldr r0, _0802393C @ =gBattleMoves - ldr r2, [sp, 0x18] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r1, [r1] - mov r8, r0 - cmp r1, 0x7F - bne _080238E8 - b _08023A2C -_080238E8: - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _0802394C - ldr r0, _08023940 @ =gLastMoves - lsls r1, r4, 1 - adds r1, r0 - ldr r0, _0802392C @ =gChosenMove - ldrh r0, [r0] - strh r0, [r1] - ldr r0, _08023944 @ =gLastResultingMoves - mov r3, r9 - ldrb r1, [r3] - lsls r1, 1 - adds r1, r0 - ldr r0, _08023948 @ =gCurrentMove - ldrh r0, [r0] - strh r0, [r1] - b _08023966 - .align 2, 0 -_08023914: .4byte gHitMarker -_08023918: .4byte gBattlerAttacker -_0802391C: .4byte gActiveBattler -_08023920: .4byte gBattlerTarget -_08023924: .4byte 0xffffefff -_08023928: .4byte gLastPrintedMoves -_0802392C: .4byte gChosenMove -_08023930: .4byte gAbsentBattlerFlags -_08023934: .4byte gBitTable -_08023938: .4byte gBattleStruct -_0802393C: .4byte gBattleMoves -_08023940: .4byte gLastMoves -_08023944: .4byte gLastResultingMoves -_08023948: .4byte gCurrentMove -_0802394C: - ldr r1, _080239B4 @ =gLastMoves - lsls r0, r4, 1 - adds r0, r1 - ldr r1, _080239B8 @ =0x0000ffff - strh r1, [r0] - ldr r1, _080239BC @ =gLastResultingMoves - mov r4, r9 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - strh r1, [r0] -_08023966: - ldr r2, _080239C0 @ =gBattlerTarget - ldrb r3, [r2] - lsls r0, r3, 2 - adds r0, r6 - ldr r0, [r0] - lsls r0, 28 - ldr r1, [r5] - ands r1, r0 - cmp r1, 0 - bne _08023984 - ldr r0, _080239C4 @ =gLastHitBy - adds r0, r3, r0 - mov r3, r9 - ldrb r1, [r3] - strb r1, [r0] -_08023984: - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _08023A20 - ldr r0, _080239C8 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _08023A20 - ldr r0, _080239CC @ =gChosenMove - ldrh r3, [r0] - ldr r0, _080239B8 @ =0x0000ffff - cmp r3, r0 - bne _080239D4 - ldr r1, _080239D0 @ =gLastLandedMoves - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - strh r3, [r0] - b _08023A2C - .align 2, 0 -_080239B4: .4byte gLastMoves -_080239B8: .4byte 0x0000ffff -_080239BC: .4byte gLastResultingMoves -_080239C0: .4byte gBattlerTarget -_080239C4: .4byte gLastHitBy -_080239C8: .4byte gMoveResultFlags -_080239CC: .4byte gChosenMove -_080239D0: .4byte gLastLandedMoves -_080239D4: - ldr r0, _080239F8 @ =gLastLandedMoves - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldr r4, _080239FC @ =gCurrentMove - ldrh r0, [r4] - strh r0, [r1] - ldr r0, [r7] - ldrb r3, [r0, 0x13] - cmp r3, 0 - beq _08023A04 - ldr r0, _08023A00 @ =gLastHitByType - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - movs r0, 0x3F - ands r0, r3 - b _08023A2A - .align 2, 0 -_080239F8: .4byte gLastLandedMoves -_080239FC: .4byte gCurrentMove -_08023A00: .4byte gLastHitByType -_08023A04: - ldr r0, _08023A1C @ =gLastHitByType - ldrb r2, [r2] - lsls r2, 1 - adds r2, r0 - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x2] - strh r0, [r2] - b _08023A2C - .align 2, 0 -_08023A1C: .4byte gLastHitByType -_08023A20: - ldr r0, _08023A38 @ =gLastLandedMoves - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldr r0, _08023A3C @ =0x0000ffff -_08023A2A: - strh r0, [r1] -_08023A2C: - mov r4, r12 - ldrb r0, [r4, 0x14] - adds r0, 0x1 - strb r0, [r4, 0x14] - b _08023BB4 - .align 2, 0 -_08023A38: .4byte gLastLandedMoves -_08023A3C: .4byte 0x0000ffff -_08023A40: - ldr r0, _08023B04 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r7, _08023B08 @ =gBitTable - ldr r2, _08023B0C @ =gBattlerAttacker - ldrb r3, [r2] - lsls r0, r3, 2 - adds r0, r7 - ldr r4, [r0] - ands r1, r4 - mov r9, r2 - cmp r1, 0 - bne _08023AFA - ldr r6, _08023B10 @ =gBattleStruct - ldr r5, [r6] - adds r0, r5, 0 - adds r0, 0x91 - ldrb r0, [r0] - ands r0, r4 - cmp r0, 0 - bne _08023AFA - ldr r1, _08023B14 @ =gBattleMoves - ldr r2, [sp, 0x18] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08023AFA - ldr r0, _08023B18 @ =gHitMarker - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 18 - ands r0, r1 - cmp r0, 0 - beq _08023AFA - ldr r4, _08023B1C @ =gBattlerTarget - ldrb r0, [r4] - cmp r3, r0 - beq _08023AFA - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - lsls r0, 28 - ands r1, r0 - cmp r1, 0 - bne _08023AFA - ldr r0, _08023B20 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _08023AFA - lsls r1, r2, 1 - adds r1, r5 - adds r1, 0x98 - ldr r3, _08023B24 @ =gChosenMove - ldrh r0, [r3] - strb r0, [r1] - ldrb r1, [r4] - ldr r0, [r6] - lsls r1, 1 - adds r1, r0 - adds r1, 0x99 - ldrh r0, [r3] - lsrs r0, 8 - strb r0, [r1] - ldrb r0, [r4] - mov r2, r9 - ldrb r1, [r2] - ldr r2, [r6] - lsls r0, 3 - lsls r1, 1 - adds r0, r1 - adds r0, r2 - adds r0, 0xE0 - ldrh r1, [r3] - strb r1, [r0] - ldrb r1, [r4] - mov r4, r9 - ldrb r0, [r4] - ldr r2, [r6] - lsls r1, 3 - lsls r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0xE1 - ldrh r0, [r3] - lsrs r0, 8 - strb r0, [r1] -_08023AFA: - mov r5, r12 - ldrb r0, [r5, 0x14] - adds r0, 0x1 - strb r0, [r5, 0x14] - b _08023BB4 - .align 2, 0 -_08023B04: .4byte gAbsentBattlerFlags -_08023B08: .4byte gBitTable -_08023B0C: .4byte gBattlerAttacker -_08023B10: .4byte gBattleStruct -_08023B14: .4byte gBattleMoves -_08023B18: .4byte gHitMarker -_08023B1C: .4byte gBattlerTarget -_08023B20: .4byte gMoveResultFlags -_08023B24: .4byte gChosenMove -_08023B28: - ldr r5, _08023C10 @ =gHitMarker - ldr r2, [r5] - movs r0, 0x80 - lsls r0, 12 - ands r0, r2 - cmp r0, 0 - bne _08023BAC - ldr r0, _08023C14 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08023BAC - ldr r1, _08023C18 @ =gProtectStructs - ldr r0, _08023C1C @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r0, 0 - blt _08023BAC - ldr r0, _08023C20 @ =gBattleMoves - mov r9, r0 - ldr r1, _08023C24 @ =gCurrentMove - mov r8, r1 - ldrh r0, [r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - add r1, r9 - ldrb r0, [r1, 0x6] - cmp r0, 0x8 - bne _08023BAC - movs r6, 0x80 - lsls r6, 2 - adds r4, r6, 0 - ands r4, r2 - cmp r4, 0 - bne _08023BAC - ldr r7, _08023C28 @ =gBattlerTarget - ldrb r0, [r7] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _08023C2C @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08023BA2 - bl _080232F0 -_08023BA2: - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - ldr r2, _08023C30 @ =gBattleScripting - mov r12, r2 -_08023BAC: - mov r3, r12 - ldrb r0, [r3, 0x14] - adds r0, 0x1 - strb r0, [r3, 0x14] -_08023BB4: - ldr r4, [sp, 0x10] - cmp r4, 0x1 - bne _08023BC6 - mov r5, r10 - cmp r5, 0 - bne _08023BC6 - movs r0, 0x11 - mov r1, r12 - strb r0, [r1, 0x14] -_08023BC6: - ldr r2, [sp, 0x10] - cmp r2, 0x2 - bne _08023BDC - ldr r4, [sp, 0x14] - mov r3, r12 - ldrb r3, [r3, 0x14] - cmp r4, r3 - bne _08023BDC - movs r0, 0x11 - mov r4, r12 - strb r0, [r4, 0x14] -_08023BDC: - mov r5, r12 - ldrb r0, [r5, 0x14] - cmp r0, 0x11 - beq _08023BE8 - bl _08023358 -_08023BE8: - mov r1, r12 - ldrb r0, [r1, 0x14] - cmp r0, 0x11 - bne _08023BFE - mov r2, r10 - cmp r2, 0 - bne _08023BFE - ldr r1, _08023C34 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 -_08023BFC: - str r0, [r1] -_08023BFE: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08023C10: .4byte gHitMarker -_08023C14: .4byte gBattleTypeFlags -_08023C18: .4byte gProtectStructs -_08023C1C: .4byte gBattlerAttacker -_08023C20: .4byte gBattleMoves -_08023C24: .4byte gCurrentMove -_08023C28: .4byte gBattlerTarget -_08023C2C: .4byte gBattleMons -_08023C30: .4byte gBattleScripting -_08023C34: .4byte gBattlescriptCurrInstr - thumb_func_end atk49_moveend - - thumb_func_start atk4A_typecalc2 -atk4A_typecalc2: @ 8023C38 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - movs r5, 0 - ldr r2, _08023C9C @ =gBattleMoves - ldr r0, _08023CA0 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r8, r0 - ldr r2, _08023CA4 @ =gBattleMons - ldr r3, _08023CA8 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - mov r12, r2 - adds r7, r3, 0 - cmp r0, 0x1A - bne _08023CCC - mov r1, r8 - cmp r1, 0x4 - bne _08023CCC - ldr r3, _08023CAC @ =gLastUsedAbility - strb r0, [r3] - ldr r2, _08023CB0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x9 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08023CB4 @ =gLastLandedMoves - ldrb r0, [r7] - lsls r0, 1 - adds r0, r1 - strh r4, [r0] - ldr r0, _08023CB8 @ =gBattleCommunication - mov r2, r8 - strb r2, [r0, 0x6] - ldrb r0, [r7] - ldrb r1, [r3] - bl RecordAbilityBattle - b _08023DAE - .align 2, 0 -_08023C9C: .4byte gBattleMoves -_08023CA0: .4byte gCurrentMove -_08023CA4: .4byte gBattleMons -_08023CA8: .4byte gBattlerTarget -_08023CAC: .4byte gLastUsedAbility -_08023CB0: .4byte gMoveResultFlags -_08023CB4: .4byte gLastLandedMoves -_08023CB8: .4byte gBattleCommunication -_08023CBC: - ldr r0, _08023CC8 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] - b _08023DAE - .align 2, 0 -_08023CC8: .4byte gMoveResultFlags -_08023CCC: - ldr r1, _08023CD8 @ =gTypeEffectiveness - adds r0, r5, r1 - ldrb r0, [r0] - adds r6, r1, 0 - b _08023D8E - .align 2, 0 -_08023CD8: .4byte gTypeEffectiveness -_08023CDC: - adds r0, r5, r6 - ldrb r0, [r0] - cmp r0, r8 - bne _08023D88 - adds r2, r5, 0x1 - adds r3, r2, r6 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r0, 0x21 - ldrb r1, [r3] - adds r3, r2, 0 - ldrb r0, [r0] - cmp r1, r0 - bne _08023D1A - adds r0, r5, 0x2 - adds r0, r6 - ldrb r1, [r0] - cmp r1, 0 - beq _08023CBC - cmp r1, 0x5 - bne _08023D0E - movs r0, 0x4 - orrs r4, r0 -_08023D0E: - cmp r1, 0x14 - bne _08023D1A - movs r0, 0x2 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08023D1A: - adds r2, r3, r6 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _08023D88 - adds r0, 0x21 - ldrb r1, [r0] - cmp r1, r2 - beq _08023D42 - adds r0, r5, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _08023CBC -_08023D42: - cmp r1, r2 - beq _08023D58 - adds r0, r5, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x5 - bne _08023D58 - movs r0, 0x4 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08023D58: - adds r2, r3, r6 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _08023D88 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _08023D88 - adds r0, r5, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x14 - bne _08023D88 - movs r0, 0x2 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08023D88: - adds r5, 0x3 - adds r0, r5, r6 - ldrb r0, [r0] -_08023D8E: - cmp r0, 0xFF - beq _08023DAE - cmp r0, 0xFE - bne _08023CDC - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - mov r1, r12 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _08023D88 -_08023DAE: - ldr r2, _08023E5C @ =gBattleMons - ldr r0, _08023E60 @ =gBattlerTarget - mov r8, r0 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r6, [r0] - cmp r6, 0x19 - bne _08023E2A - movs r5, 0x29 - ands r5, r4 - cmp r5, 0 - bne _08023E2A - ldr r0, _08023E64 @ =gBattlerAttacker - ldrb r0, [r0] - ldr r7, _08023E68 @ =gCurrentMove - ldrh r1, [r7] - bl AttacksThisTurn - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bne _08023E2A - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08023DF0 - movs r0, 0x6 - ands r4, r0 - cmp r4, 0x6 - bne _08023E2A -_08023DF0: - ldr r2, _08023E6C @ =gBattleMoves - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08023E2A - ldr r3, _08023E70 @ =gLastUsedAbility - strb r6, [r3] - ldr r2, _08023E74 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08023E78 @ =gLastLandedMoves - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - strh r5, [r0] - ldr r1, _08023E7C @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x6] - ldrb r0, [r2] - ldrb r1, [r3] - bl RecordAbilityBattle -_08023E2A: - ldr r0, _08023E74 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08023E48 - ldr r2, _08023E80 @ =gProtectStructs - ldr r0, _08023E64 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 4 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1, 0x1] -_08023E48: - ldr r1, _08023E84 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08023E5C: .4byte gBattleMons -_08023E60: .4byte gBattlerTarget -_08023E64: .4byte gBattlerAttacker -_08023E68: .4byte gCurrentMove -_08023E6C: .4byte gBattleMoves -_08023E70: .4byte gLastUsedAbility -_08023E74: .4byte gMoveResultFlags -_08023E78: .4byte gLastLandedMoves -_08023E7C: .4byte gBattleCommunication -_08023E80: .4byte gProtectStructs -_08023E84: .4byte gBattlescriptCurrInstr - thumb_func_end atk4A_typecalc2 - - thumb_func_start atk4B_returnatktoball -atk4B_returnatktoball: @ 8023E88 - push {r4,lr} - ldr r4, _08023EC4 @ =gActiveBattler - ldr r0, _08023EC8 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - ldr r2, _08023ECC @ =gHitMarker - ldr r1, _08023ED0 @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - bne _08023EB6 - movs r0, 0 - movs r1, 0 - bl BtlController_EmitReturnMonToBall - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08023EB6: - ldr r1, _08023ED4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08023EC4: .4byte gActiveBattler -_08023EC8: .4byte gBattlerAttacker -_08023ECC: .4byte gHitMarker -_08023ED0: .4byte gBitTable -_08023ED4: .4byte gBattlescriptCurrInstr - thumb_func_end atk4B_returnatktoball - - thumb_func_start atk4C_getswitchedmondata -atk4C_getswitchedmondata: @ 8023ED8 - push {r4,r5,lr} - ldr r0, _08023F30 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08023F28 - ldr r5, _08023F34 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08023F38 @ =gActiveBattler - strb r0, [r4] - ldr r3, _08023F3C @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r2, r0, 1 - adds r2, r3 - ldr r1, _08023F40 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x5C - ldrb r0, [r0] - strh r0, [r2] - ldr r1, _08023F44 @ =gBitTable - ldrb r0, [r4] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitGetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_08023F28: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08023F30: .4byte gBattleControllerExecFlags -_08023F34: .4byte gBattlescriptCurrInstr -_08023F38: .4byte gActiveBattler -_08023F3C: .4byte gBattlerPartyIndexes -_08023F40: .4byte gBattleStruct -_08023F44: .4byte gBitTable - thumb_func_end atk4C_getswitchedmondata - - thumb_func_start atk4D_switchindataupdate -atk4D_switchindataupdate: @ 8023F48 - push {r4-r7,lr} - sub sp, 0x58 - ldr r0, _080240A0 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _08023F56 - b _08024098 -_08023F56: - ldr r0, _080240A4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _080240A8 @ =gActiveBattler - strb r0, [r4] - ldr r6, _080240AC @ =gBattleMons - ldrb r0, [r4] - movs r5, 0x58 - adds r1, r0, 0 - muls r1, r5 - adds r1, r6 - mov r0, sp - movs r2, 0x58 - bl memcpy - ldrb r0, [r4] - muls r0, r5 - adds r3, r0, r6 - movs r2, 0 - ldr r5, _080240B0 @ =gBattleBufferB - adds r7, r4, 0 -_08023F84: - adds r0, r3, r2 - ldrb r1, [r4] - lsls r1, 9 - adds r1, 0x4 - adds r1, r2, r1 - adds r1, r5 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x57 - bls _08023F84 - ldr r4, _080240AC @ =gBattleMons - ldrb r0, [r7] - movs r6, 0x58 - adds r2, r0, 0 - muls r2, r6 - adds r2, r4 - ldr r3, _080240B4 @ =gBaseStats - ldrh r1, [r2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x6] - adds r2, 0x21 - strb r0, [r2] - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - adds r1, r4 - ldrh r2, [r1] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x7] - adds r1, 0x22 - strb r0, [r1] - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - adds r1, r4 - ldrh r0, [r1] - ldrb r1, [r1, 0x17] - lsrs r1, 7 - bl GetAbilityBySpecies - ldrb r1, [r7] - muls r1, r6 - adds r1, r4 - adds r1, 0x20 - strb r0, [r1] - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080240B8 @ =gWishFutureKnock - adds r0, 0x29 - adds r0, r2, r0 - ldrb r1, [r0] - ldr r3, _080240BC @ =gBitTable - ldr r2, _080240C0 @ =gBattlerPartyIndexes - ldrb r5, [r7] - lsls r0, r5, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ands r1, r0 - mov r12, r4 - cmp r1, 0 - beq _08024022 - adds r0, r5, 0 - muls r0, r6 - add r0, r12 - movs r1, 0 - strh r1, [r0, 0x2E] -_08024022: - ldr r2, _080240C4 @ =gBattleMoves - ldr r0, _080240C8 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x7F - bne _08024068 - movs r2, 0 - adds r4, r7, 0 - movs r6, 0x58 - mov r5, r12 - adds r5, 0x18 - add r3, sp, 0x18 -_08024042: - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r6 - adds r1, r2, r1 - adds r1, r5 - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _08024042 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - mov r1, r12 - adds r1, 0x50 - adds r0, r1 - ldr r1, [sp, 0x50] - str r1, [r0] -_08024068: - bl SwitchInClearSetData - ldr r0, _080240CC @ =gBattleScripting - ldr r3, _080240A8 @ =gActiveBattler - ldrb r2, [r3] - strb r2, [r0, 0x17] - ldr r1, _080240D0 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x7 - strb r0, [r1, 0x1] - strb r2, [r1, 0x2] - ldr r2, _080240C0 @ =gBattlerPartyIndexes - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _080240A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08024098: - add sp, 0x58 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080240A0: .4byte gBattleControllerExecFlags -_080240A4: .4byte gBattlescriptCurrInstr -_080240A8: .4byte gActiveBattler -_080240AC: .4byte gBattleMons -_080240B0: .4byte gBattleBufferB -_080240B4: .4byte gBaseStats -_080240B8: .4byte gWishFutureKnock -_080240BC: .4byte gBitTable -_080240C0: .4byte gBattlerPartyIndexes -_080240C4: .4byte gBattleMoves -_080240C8: .4byte gCurrentMove -_080240CC: .4byte gBattleScripting -_080240D0: .4byte gBattleTextBuff1 - thumb_func_end atk4D_switchindataupdate - - thumb_func_start atk4E_switchinanim -atk4E_switchinanim: @ 80240D4 - push {r4-r6,lr} - ldr r0, _08024168 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08024160 - ldr r0, _0802416C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r6, _08024170 @ =gActiveBattler - strb r0, [r6] - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802412A - ldr r0, _08024174 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _08024178 @ =0x0001aa02 - ands r0, r1 - cmp r0, 0 - bne _0802412A - ldr r4, _0802417C @ =gBattleMons - ldrb r0, [r6] - movs r5, 0x58 - muls r0, r5 - adds r0, r4 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r6] - muls r1, r5 - adds r4, 0x48 - adds r1, r4 - ldr r2, [r1] - movs r1, 0x2 - bl HandleSetPokedexFlag -_0802412A: - ldr r2, _08024180 @ =gAbsentBattlerFlags - ldr r1, _08024184 @ =gBitTable - ldr r5, _08024170 @ =gActiveBattler - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldrb r0, [r2] - bics r0, r1 - strb r0, [r2] - ldr r1, _08024188 @ =gBattlerPartyIndexes - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - ldrb r1, [r0] - ldr r4, _0802416C @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r2, [r0, 0x2] - movs r0, 0 - bl BtlController_EmitSwitchInAnim - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] -_08024160: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08024168: .4byte gBattleControllerExecFlags -_0802416C: .4byte gBattlescriptCurrInstr -_08024170: .4byte gActiveBattler -_08024174: .4byte gBattleTypeFlags -_08024178: .4byte 0x0001aa02 -_0802417C: .4byte gBattleMons -_08024180: .4byte gAbsentBattlerFlags -_08024184: .4byte gBitTable -_08024188: .4byte gBattlerPartyIndexes - thumb_func_end atk4E_switchinanim - - thumb_func_start atk4F_jumpifcantswitch -atk4F_jumpifcantswitch: @ 802418C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _080241F0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - movs r0, 0x7F - ands r0, r1 - bl GetBattlerForBattleScript - ldr r3, _080241F4 @ =gActiveBattler - strb r0, [r3] - ldr r2, [r4] - ldrb r1, [r2, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08024204 - ldr r1, _080241F8 @ =gBattleMons - ldrb r3, [r3] - movs r0, 0x58 - muls r0, r3 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080241FC @ =0x0400e000 - ands r0, r1 - cmp r0, 0 - bne _080241D8 - ldr r1, _08024200 @ =gStatuses3 - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - beq _08024204 -_080241D8: - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08024388 - .align 2, 0 -_080241F0: .4byte gBattlescriptCurrInstr -_080241F4: .4byte gActiveBattler -_080241F8: .4byte gBattleMons -_080241FC: .4byte 0x0400e000 -_08024200: .4byte gStatuses3 -_08024204: - ldr r5, _08024290 @ =gBattleTypeFlags - ldr r0, [r5] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080242A4 - ldr r4, _08024294 @ =gActiveBattler - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08024298 @ =gPlayerParty - mov r8, r1 - cmp r0, 0x1 - bne _08024228 - ldr r0, _0802429C @ =gEnemyParty - mov r8, r0 -_08024228: - movs r5, 0 - ldrb r0, [r4] - bl GetBattlerMultiplayerId - lsls r0, 24 - lsrs r0, 24 - bl GetLinkTrainerFlankId - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _08024242 - movs r5, 0x3 -_08024242: - adds r6, r5, 0x3 - cmp r5, r6 - bge _0802428A - ldr r7, _080242A0 @ =gBattlerPartyIndexes -_0802424A: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08024284 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08024284 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08024284 - ldr r0, _08024294 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - cmp r0, r5 - bne _0802428A -_08024284: - adds r5, 0x1 - cmp r5, r6 - blt _0802424A -_0802428A: - cmp r5, r6 - beq _08024358 - b _08024380 - .align 2, 0 -_08024290: .4byte gBattleTypeFlags -_08024294: .4byte gActiveBattler -_08024298: .4byte gPlayerParty -_0802429C: .4byte gEnemyParty -_080242A0: .4byte gBattlerPartyIndexes -_080242A4: - ldr r0, _080242D4 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080242E4 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r5] - ands r0, r4 - cmp r0, 0 - beq _080242D8 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - b _080242DA - .align 2, 0 -_080242D4: .4byte gActiveBattler -_080242D8: - adds r6, r7, 0 -_080242DA: - ldr r0, _080242E0 @ =gEnemyParty - mov r8, r0 - b _0802430A - .align 2, 0 -_080242E0: .4byte gEnemyParty -_080242E4: - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r5] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08024304 - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - b _08024306 -_08024304: - adds r6, r7, 0 -_08024306: - ldr r1, _08024374 @ =gPlayerParty - mov r8, r1 -_0802430A: - movs r5, 0 -_0802430C: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0802434E - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0802434E - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0802434E - ldr r1, _08024378 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - beq _0802434E - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - bne _08024354 -_0802434E: - adds r5, 0x1 - cmp r5, 0x5 - ble _0802430C -_08024354: - cmp r5, 0x6 - bne _08024380 -_08024358: - ldr r3, _0802437C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08024388 - .align 2, 0 -_08024374: .4byte gPlayerParty -_08024378: .4byte gBattlerPartyIndexes -_0802437C: .4byte gBattlescriptCurrInstr -_08024380: - ldr r1, _08024394 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] -_08024388: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024394: .4byte gBattlescriptCurrInstr - thumb_func_end atk4F_jumpifcantswitch - - thumb_func_start sub_8024398 -sub_8024398: @ 8024398 - push {r4,r5,lr} - sub sp, 0x4 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r4, _080243E0 @ =gActiveBattler - ldrb r0, [r4] - ldr r5, _080243E4 @ =gBattleStruct - ldr r1, [r5] - adds r1, r0, r1 - adds r1, 0x58 - ldr r3, _080243E8 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0x60 - ldr r0, [r5] - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl BtlController_EmitChoosePokemon - ldrb r0, [r4] - bl MarkBattlerForControllerExec - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080243E0: .4byte gActiveBattler -_080243E4: .4byte gBattleStruct -_080243E8: .4byte gBattlerPartyIndexes - thumb_func_end sub_8024398 - thumb_func_start atk50_openpartyscreen atk50_openpartyscreen: @ 80243EC push {r4-r7,lr} -- cgit v1.2.3 From 184066d1c106d6dc61621504abe808112b48674e Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 26 Aug 2019 14:38:40 +0800 Subject: thru atk6B --- asm/battle_script_commands.s | 3695 ------------------------------------------ 1 file changed, 3695 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index ed848ba78..7a0f29fb8 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,3701 +5,6 @@ .text - thumb_func_start atk50_openpartyscreen -atk50_openpartyscreen: @ 80243EC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r7, 0 - movs r0, 0 - mov r9, r0 - ldr r6, _08024498 @ =gBattlescriptCurrInstr - ldr r2, [r6] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - mov r8, r1 - ldrb r1, [r2, 0x1] - adds r0, r1, 0 - mov r12, r6 - cmp r0, 0x5 - beq _08024422 - b _080248B8 -_08024422: - ldr r0, _0802449C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x41 - ands r1, r0 - cmp r1, 0x1 - beq _08024510 - ldr r1, _080244A0 @ =gActiveBattler - strb r7, [r1] - ldr r0, _080244A4 @ =gBattlersCount - ldrb r0, [r0] - cmp r7, r0 - bcc _0802443C - b _080248A6 -_0802443C: - ldr r7, _080244A8 @ =gHitMarker - ldr r6, _080244AC @ =gBitTable - adds r4, r1, 0 - ldr r2, _080244B0 @ =gAbsentBattlerFlags - mov r8, r2 -_08024446: - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r7] - ands r0, r1 - cmp r0, 0 - beq _080244E8 - adds r0, r2, 0 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _080244B4 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - mov r2, r8 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r7] - bics r0, r1 - str r0, [r7] - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _080244F6 - .align 2, 0 -_08024498: .4byte gBattlescriptCurrInstr -_0802449C: .4byte gBattleTypeFlags -_080244A0: .4byte gActiveBattler -_080244A4: .4byte gBattlersCount -_080244A8: .4byte gHitMarker -_080244AC: .4byte gBitTable -_080244B0: .4byte gAbsentBattlerFlags -_080244B4: - ldr r5, _080244E4 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _080244F6 - movs r0, 0x6 - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _080244F6 - .align 2, 0 -_080244E4: .4byte gSpecialStatuses -_080244E8: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_080244F6: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _0802450C @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bcc _08024446 - b _080248A6 - .align 2, 0 -_0802450C: .4byte gBattlersCount -_08024510: - ands r0, r1 - cmp r0, 0 - bne _08024518 - b _080248A6 -_08024518: - ldr r0, _08024570 @ =gHitMarker - mov r8, r0 - ldr r0, [r0] - lsrs r5, r0, 28 - ldr r6, _08024574 @ =gBitTable - ldr r0, [r6] - ands r0, r5 - cmp r0, 0 - beq _080245CE - ldr r4, _08024578 @ =gActiveBattler - strb r7, [r4] - movs r0, 0 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _08024580 - ldr r2, _0802457C @ =gAbsentBattlerFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - mov r2, r8 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _080245CE - .align 2, 0 -_08024570: .4byte gHitMarker -_08024574: .4byte gBitTable -_08024578: .4byte gActiveBattler -_0802457C: .4byte gAbsentBattlerFlags -_08024580: - ldr r6, _080245B4 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _080245BC - ldr r0, _080245B8 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5E - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _080245CE - .align 2, 0 -_080245B4: .4byte gSpecialStatuses -_080245B8: .4byte gBattleStruct -_080245BC: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec - movs r0, 0x1 - mov r9, r0 -_080245CE: - ldr r6, _08024628 @ =gBitTable - ldr r0, [r6, 0x8] - ands r0, r5 - cmp r0, 0 - beq _0802468C - ldr r0, [r6] - ands r0, r5 - cmp r0, 0 - bne _0802468C - ldr r4, _0802462C @ =gActiveBattler - movs r0, 0x2 - strb r0, [r4] - movs r0, 0x2 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _08024638 - ldr r2, _08024630 @ =gAbsentBattlerFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _08024634 @ =gHitMarker - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0802468C - .align 2, 0 -_08024628: .4byte gBitTable -_0802462C: .4byte gActiveBattler -_08024630: .4byte gAbsentBattlerFlags -_08024634: .4byte gHitMarker -_08024638: - ldr r6, _0802466C @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08024674 - ldr r0, _08024670 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5C - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0802468C - .align 2, 0 -_0802466C: .4byte gSpecialStatuses -_08024670: .4byte gBattleStruct -_08024674: - movs r0, 0x1 - mov r1, r9 - ands r0, r1 - cmp r0, 0 - bne _0802468C - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_0802468C: - ldr r6, _080246DC @ =gBitTable - ldr r0, [r6, 0x4] - ands r0, r5 - cmp r0, 0 - beq _0802473E - ldr r4, _080246E0 @ =gActiveBattler - movs r0, 0x1 - strb r0, [r4] - movs r0, 0x1 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _080246EC - ldr r2, _080246E4 @ =gAbsentBattlerFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _080246E8 @ =gHitMarker - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0802473E - .align 2, 0 -_080246DC: .4byte gBitTable -_080246E0: .4byte gActiveBattler -_080246E4: .4byte gAbsentBattlerFlags -_080246E8: .4byte gHitMarker -_080246EC: - ldr r6, _08024720 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08024728 - ldr r0, _08024724 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5F - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0802473E - .align 2, 0 -_08024720: .4byte gSpecialStatuses -_08024724: .4byte gBattleStruct -_08024728: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec - movs r0, 0x2 - mov r2, r9 - orrs r2, r0 - mov r9, r2 -_0802473E: - ldr r6, _08024798 @ =gBitTable - ldr r0, [r6, 0xC] - ands r0, r5 - cmp r0, 0 - beq _080247FC - ldr r0, [r6, 0x4] - ands r0, r5 - cmp r0, 0 - bne _080247FC - ldr r4, _0802479C @ =gActiveBattler - movs r0, 0x3 - strb r0, [r4] - movs r0, 0x3 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _080247A8 - ldr r2, _080247A0 @ =gAbsentBattlerFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _080247A4 @ =gHitMarker - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _080247FC - .align 2, 0 -_08024798: .4byte gBitTable -_0802479C: .4byte gActiveBattler -_080247A0: .4byte gAbsentBattlerFlags -_080247A4: .4byte gHitMarker -_080247A8: - ldr r6, _080247DC @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _080247E4 - ldr r0, _080247E0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5D - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _080247FC - .align 2, 0 -_080247DC: .4byte gSpecialStatuses -_080247E0: .4byte gBattleStruct -_080247E4: - movs r0, 0x2 - mov r1, r9 - ands r1, r0 - cmp r1, 0 - bne _080247FC - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_080247FC: - ldr r1, _0802482C @ =gSpecialStatuses - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08024850 - adds r0, r1, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - blt _08024850 - cmp r5, 0 - beq _08024850 - ldr r0, _08024830 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r0, _08024834 @ =gBitTable - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0802483C - ldr r1, _08024838 @ =gActiveBattler - movs r0, 0x2 - strb r0, [r1] - b _08024840 - .align 2, 0 -_0802482C: .4byte gSpecialStatuses -_08024830: .4byte gAbsentBattlerFlags -_08024834: .4byte gBitTable -_08024838: .4byte gActiveBattler -_0802483C: - ldr r0, _08024880 @ =gActiveBattler - strb r1, [r0] -_08024840: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldr r0, _08024880 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec -_08024850: - ldr r1, _08024884 @ =gSpecialStatuses - ldrb r0, [r1, 0x14] - lsls r0, 25 - cmp r0, 0 - blt _080248A6 - adds r0, r1, 0 - adds r0, 0x3C - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - blt _080248A6 - cmp r5, 0 - beq _080248A6 - ldr r0, _08024888 @ =gAbsentBattlerFlags - ldrb r0, [r0] - ldr r1, _0802488C @ =gBitTable - ldr r1, [r1, 0x4] - ands r0, r1 - cmp r0, 0 - beq _08024890 - ldr r1, _08024880 @ =gActiveBattler - movs r0, 0x3 - b _08024894 - .align 2, 0 -_08024880: .4byte gActiveBattler -_08024884: .4byte gSpecialStatuses -_08024888: .4byte gAbsentBattlerFlags -_0802488C: .4byte gBitTable -_08024890: - ldr r1, _080248B0 @ =gActiveBattler - movs r0, 0x1 -_08024894: - strb r0, [r1] - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldr r0, _080248B0 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec -_080248A6: - ldr r1, _080248B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - b _08024C2E - .align 2, 0 -_080248B0: .4byte gActiveBattler -_080248B4: .4byte gBattlescriptCurrInstr -_080248B8: - cmp r0, 0x6 - beq _080248BE - b _08024AAC -_080248BE: - ldr r0, _08024934 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080248CC - b _08024A48 -_080248CC: - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080248D6 - b _08024A48 -_080248D6: - ldr r7, _08024938 @ =gHitMarker - ldr r0, [r7] - lsrs r5, r0, 28 - ldr r4, _0802493C @ =gBitTable - ldr r0, [r4, 0x8] - ands r0, r5 - cmp r0, 0 - beq _0802497E - ldr r0, [r4] - ands r0, r5 - cmp r0, 0 - beq _0802497E - ldr r6, _08024940 @ =gActiveBattler - movs r0, 0x2 - strb r0, [r6] - ldr r0, _08024944 @ =gBattleBufferB - ldrb r1, [r0, 0x1] - movs r0, 0x2 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _0802494C - ldr r2, _08024948 @ =gAbsentBattlerFlags - ldrb r0, [r6] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r6] - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r7] - bics r0, r1 - str r0, [r7] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r6] - bl MarkBattlerForControllerExec - b _0802497E - .align 2, 0 -_08024934: .4byte gBattleTypeFlags -_08024938: .4byte gHitMarker -_0802493C: .4byte gBitTable -_08024940: .4byte gActiveBattler -_08024944: .4byte gBattleBufferB -_08024948: .4byte gAbsentBattlerFlags -_0802494C: - ldr r4, _080249DC @ =gSpecialStatuses - ldrb r0, [r6] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _0802497E - ldr r0, _080249E0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5C - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] -_0802497E: - ldr r4, _080249E4 @ =gBitTable - ldr r0, [r4, 0xC] - ands r0, r5 - cmp r0, 0 - beq _08024A2E - ldr r0, [r4, 0x4] - ands r5, r0 - cmp r5, 0 - beq _08024A2E - ldr r5, _080249E8 @ =gActiveBattler - movs r0, 0x3 - strb r0, [r5] - ldr r0, _080249EC @ =gBattleBufferB - ldr r2, _080249F0 @ =0x00000201 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x3 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _080249FC - ldr r2, _080249F4 @ =gAbsentBattlerFlags - ldrb r0, [r5] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _080249F8 @ =gHitMarker - ldrb r0, [r5] - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r5] - bl MarkBattlerForControllerExec - b _08024A2E - .align 2, 0 -_080249DC: .4byte gSpecialStatuses -_080249E0: .4byte gBattleStruct -_080249E4: .4byte gBitTable -_080249E8: .4byte gActiveBattler -_080249EC: .4byte gBattleBufferB -_080249F0: .4byte 0x00000201 -_080249F4: .4byte gAbsentBattlerFlags -_080249F8: .4byte gHitMarker -_080249FC: - ldr r4, _08024A3C @ =gSpecialStatuses - ldrb r0, [r5] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08024A2E - ldr r0, _08024A40 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5D - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] -_08024A2E: - ldr r1, _08024A44 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - mov r12, r1 - b _08024A4C - .align 2, 0 -_08024A3C: .4byte gSpecialStatuses -_08024A40: .4byte gBattleStruct -_08024A44: .4byte gBattlescriptCurrInstr -_08024A48: - adds r0, r2, 0x6 - str r0, [r6] -_08024A4C: - ldr r0, _08024A9C @ =gHitMarker - ldr r0, [r0] - lsrs r5, r0, 28 - ldr r1, _08024AA0 @ =gBattlerFainted - movs r0, 0 - strb r0, [r1] - ldr r4, _08024AA4 @ =gBitTable - ldr r2, [r4] - ands r2, r5 - ldr r6, _08024AA8 @ =gBattlersCount - cmp r2, 0 - bne _08024A88 - adds r7, r6, 0 - ldrb r0, [r6] - cmp r2, r0 - bcs _08024A88 - adds r3, r1, 0 -_08024A6E: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldrb r2, [r3] - lsls r0, r2, 2 - adds r0, r4 - ldr r0, [r0] - ands r0, r5 - cmp r0, 0 - bne _08024A88 - ldrb r0, [r7] - cmp r2, r0 - bcc _08024A6E -_08024A88: - ldrb r0, [r1] - ldrb r6, [r6] - cmp r0, r6 - beq _08024A92 - b _08024C2E -_08024A92: - mov r1, r8 - mov r2, r12 - str r1, [r2] - b _08024C2E - .align 2, 0 -_08024A9C: .4byte gHitMarker -_08024AA0: .4byte gBattlerFainted -_08024AA4: .4byte gBitTable -_08024AA8: .4byte gBattlersCount -_08024AAC: - movs r0, 0x80 - ands r0, r1 - movs r5, 0x1 - cmp r0, 0 - beq _08024AB8 - movs r5, 0 -_08024AB8: - movs r0, 0x7F - ands r0, r1 - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08024AE0 @ =gSpecialStatuses - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - bge _08024AE4 - ldr r0, [r6] - adds r0, 0x6 - str r0, [r6] - b _08024C2E - .align 2, 0 -_08024AE0: .4byte gSpecialStatuses -_08024AE4: - adds r0, r7, 0 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _08024B34 - ldr r2, _08024B24 @ =gActiveBattler - strb r7, [r2] - ldr r3, _08024B28 @ =gAbsentBattlerFlags - ldr r4, _08024B2C @ =gBitTable - ldrb r0, [r2] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r1, [r3] - orrs r0, r1 - strb r0, [r3] - ldr r3, _08024B30 @ =gHitMarker - ldrb r0, [r2] - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r3] - bics r0, r1 - str r0, [r3] - mov r0, r8 - str r0, [r6] - b _08024C2E - .align 2, 0 -_08024B24: .4byte gActiveBattler -_08024B28: .4byte gAbsentBattlerFlags -_08024B2C: .4byte gBitTable -_08024B30: .4byte gHitMarker -_08024B34: - ldr r4, _08024BD8 @ =gActiveBattler - strb r7, [r4] - ldrb r0, [r4] - ldr r3, _08024BDC @ =gBattleStruct - ldr r1, [r3] - adds r1, r0, r1 - adds r1, 0x58 - ldr r2, _08024BE0 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - ldr r3, [r3] - adds r0, r3 - adds r0, 0x5C - ldrb r2, [r0] - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - adds r0, 0x60 - adds r3, r0 - str r3, [sp] - movs r0, 0 - adds r1, r5, 0 - movs r3, 0 - bl BtlController_EmitChoosePokemon - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r6] - adds r0, 0x6 - str r0, [r6] - ldrb r0, [r4] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - bne _08024B94 - ldr r1, _08024BE4 @ =gBattleResults - ldrb r0, [r1, 0x2] - cmp r0, 0xFE - bhi _08024B94 - adds r0, 0x1 - strb r0, [r1, 0x2] -_08024B94: - ldr r0, _08024BE8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08024BF0 - ldr r1, _08024BD8 @ =gActiveBattler - movs r0, 0 - strb r0, [r1] - ldr r0, _08024BEC @ =gBattlersCount - ldrb r0, [r0] - cmp r0, 0 - beq _08024C2E - adds r4, r1, 0 -_08024BB0: - ldrb r0, [r4] - cmp r0, r7 - beq _08024BC4 - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08024BC4: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _08024BEC @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bcc _08024BB0 - b _08024C2E - .align 2, 0 -_08024BD8: .4byte gActiveBattler -_08024BDC: .4byte gBattleStruct -_08024BE0: .4byte gBattlerPartyIndexes -_08024BE4: .4byte gBattleResults -_08024BE8: .4byte gBattleTypeFlags -_08024BEC: .4byte gBattlersCount -_08024BF0: - adds r0, r7, 0 - bl GetBattlerPosition - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r4, _08024C3C @ =gActiveBattler - strb r0, [r4] - ldr r0, _08024C40 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08024C44 @ =gBitTable - ldrb r3, [r4] - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08024C20 - movs r0, 0x2 - eors r3, r0 - strb r3, [r4] -_08024C20: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08024C2E: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024C3C: .4byte gActiveBattler -_08024C40: .4byte gAbsentBattlerFlags -_08024C44: .4byte gBitTable - thumb_func_end atk50_openpartyscreen - - thumb_func_start atk51_switchhandleorder -atk51_switchhandleorder: @ 8024C48 - push {r4-r7,lr} - ldr r0, _08024C74 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _08024C54 - b _08024E16 -_08024C54: - ldr r4, _08024C78 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r7, _08024C7C @ =gActiveBattler - strb r0, [r7] - ldr r0, [r4] - ldrb r0, [r0, 0x2] - cmp r0, 0x1 - beq _08024CC4 - cmp r0, 0x1 - bgt _08024C80 - cmp r0, 0 - beq _08024C86 - b _08024E0E - .align 2, 0 -_08024C74: .4byte gBattleControllerExecFlags -_08024C78: .4byte gBattlescriptCurrInstr -_08024C7C: .4byte gActiveBattler -_08024C80: - cmp r0, 0x2 - beq _08024CE0 - b _08024E0E -_08024C86: - movs r3, 0 - ldr r0, _08024CB8 @ =gBattlersCount - ldrb r1, [r0] - cmp r3, r1 - blt _08024C92 - b _08024E0E -_08024C92: - ldr r6, _08024CBC @ =gBattleStruct - ldr r2, _08024CC0 @ =gBattleBufferB - movs r5, 0x80 - lsls r5, 2 - adds r4, r0, 0 -_08024C9C: - ldrb r0, [r2] - cmp r0, 0x22 - bne _08024CAC - ldr r0, [r6] - adds r0, r3, r0 - adds r0, 0x5C - ldrb r1, [r2, 0x1] - strb r1, [r0] -_08024CAC: - adds r2, r5 - adds r3, 0x1 - ldrb r0, [r4] - cmp r3, r0 - blt _08024C9C - b _08024E0E - .align 2, 0 -_08024CB8: .4byte gBattlersCount -_08024CBC: .4byte gBattleStruct -_08024CC0: .4byte gBattleBufferB -_08024CC4: - ldr r0, _08024CDC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08024CD2 - b _08024E0E -_08024CD2: - ldrb r0, [r7] - bl sub_8013F6C - b _08024E0E - .align 2, 0 -_08024CDC: .4byte gBattleTypeFlags -_08024CE0: - ldr r1, _08024DAC @ =gBattleCommunication - ldr r4, _08024DB0 @ =gBattleBufferB - ldrb r0, [r7] - lsls r0, 9 - adds r2, r4, 0x1 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - ldr r6, _08024DB4 @ =gBattleStruct - ldr r1, [r6] - adds r1, r0, r1 - adds r1, 0x5C - lsls r0, 9 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _08024DB8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08024DBC - ldrb r0, [r7] - ldr r2, [r6] - lsls r1, r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0x60 - ldrb r2, [r1] - movs r0, 0xF - ands r0, r2 - strb r0, [r1] - ldrb r0, [r7] - ldr r2, [r6] - lsls r1, r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0x60 - lsls r0, 9 - adds r5, r4, 0x2 - adds r0, r5 - ldrb r2, [r0] - movs r3, 0xF0 - adds r0, r3, 0 - ands r0, r2 - ldrb r2, [r1] - orrs r0, r2 - strb r0, [r1] - ldrb r1, [r7] - ldr r2, [r6] - lsls r0, r1, 1 - adds r0, r1 - adds r0, r2 - adds r0, 0x61 - lsls r1, 9 - adds r4, 0x3 - mov r12, r4 - add r1, r12 - ldrb r1, [r1] - strb r1, [r0] - ldrb r0, [r7] - movs r4, 0x2 - eors r0, r4 - ldr r2, [r6] - lsls r1, r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0x60 - ldrb r2, [r1] - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r7] - eors r0, r4 - ldr r2, [r6] - lsls r1, r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0x60 - ldrb r0, [r7] - lsls r0, 9 - adds r0, r5 - ldrb r0, [r0] - ands r3, r0 - lsrs r3, 4 - ldrb r0, [r1] - orrs r3, r0 - strb r3, [r1] - ldrb r0, [r7] - eors r4, r0 - ldr r0, [r6] - lsls r1, r4, 1 - adds r1, r4 - adds r1, r0 - adds r1, 0x62 - ldrb r0, [r7] - lsls r0, 9 - add r0, r12 - ldrb r0, [r0] - strb r0, [r1] - b _08024DC2 - .align 2, 0 -_08024DAC: .4byte gBattleCommunication -_08024DB0: .4byte gBattleBufferB -_08024DB4: .4byte gBattleStruct -_08024DB8: .4byte gBattleTypeFlags -_08024DBC: - ldrb r0, [r7] - bl sub_8013F6C -_08024DC2: - ldr r1, _08024E1C @ =gBattleTextBuff1 - movs r5, 0xFD - strb r5, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r4, _08024E20 @ =gBattleMons - ldr r3, _08024E24 @ =gBattlerAttacker - ldrb r0, [r3] - movs r2, 0x58 - muls r0, r2 - adds r0, r4 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r3] - muls r0, r2 - adds r0, r4 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r2, _08024E28 @ =gBattleTextBuff2 - strb r5, [r2] - movs r0, 0x7 - strb r0, [r2, 0x1] - ldr r3, _08024E2C @ =gActiveBattler - ldrb r0, [r3] - strb r0, [r2, 0x2] - ldr r1, _08024E30 @ =gBattleBufferB - ldrb r0, [r3] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2, 0x3] - movs r0, 0x1 - negs r0, r0 - strb r0, [r2, 0x4] -_08024E0E: - ldr r1, _08024E34 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 - str r0, [r1] -_08024E16: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024E1C: .4byte gBattleTextBuff1 -_08024E20: .4byte gBattleMons -_08024E24: .4byte gBattlerAttacker -_08024E28: .4byte gBattleTextBuff2 -_08024E2C: .4byte gActiveBattler -_08024E30: .4byte gBattleBufferB -_08024E34: .4byte gBattlescriptCurrInstr - thumb_func_end atk51_switchhandleorder - - thumb_func_start atk52_switchineffects -atk52_switchineffects: @ 8024E38 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r6, _08024F40 @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08024F44 @ =gActiveBattler - strb r0, [r4] - ldrb r0, [r4] - bl sub_80174B8 - ldr r2, _08024F48 @ =gHitMarker - ldr r1, _08024F4C @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - ldr r2, _08024F50 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r4] - bl GetBattlerSide - ldr r5, _08024F54 @ =gSideStatuses - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 2 - mov r8, r0 - ands r0, r1 - cmp r0, 0 - bne _08024F88 - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08024F88 - ldr r1, _08024F58 @ =gBattleMons - mov r9, r1 - ldrb r2, [r4] - movs r7, 0x58 - adds r0, r2, 0 - muls r0, r7 - adds r1, r0, r1 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x2 - beq _08024F88 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x2 - beq _08024F88 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1A - beq _08024F88 - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r2, [r0] - mov r1, r8 - orrs r1, r2 - strh r1, [r0] - ldrb r0, [r4] - bl GetBattlerSide - ldr r2, _08024F5C @ =gSideTimers - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0xA] - movs r1, 0x5 - subs r1, r0 - lsls r1, 25 - lsrs r1, 24 - ldr r5, _08024F60 @ =gBattleMoveDamage - ldrb r0, [r4] - muls r0, r7 - add r0, r9 - ldrh r0, [r0, 0x2C] - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _08024F28 - movs r0, 0x1 - str r0, [r5] -_08024F28: - ldr r0, _08024F64 @ =gBattleScripting - ldrb r1, [r4] - strb r1, [r0, 0x17] - bl BattleScriptPushCursor - ldr r0, [r6] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08024F6C - ldr r0, _08024F68 @ =BattleScript_SpikesOnTarget - str r0, [r6] - b _080250C6 - .align 2, 0 -_08024F40: .4byte gBattlescriptCurrInstr -_08024F44: .4byte gActiveBattler -_08024F48: .4byte gHitMarker -_08024F4C: .4byte gBitTable -_08024F50: .4byte gSpecialStatuses -_08024F54: .4byte gSideStatuses -_08024F58: .4byte gBattleMons -_08024F5C: .4byte gSideTimers -_08024F60: .4byte gBattleMoveDamage -_08024F64: .4byte gBattleScripting -_08024F68: .4byte BattleScript_SpikesOnTarget -_08024F6C: - cmp r0, 0x1 - bne _08024F7C - ldr r0, _08024F78 @ =BattleScript_SpikesOnAttacker - str r0, [r6] - b _080250C6 - .align 2, 0 -_08024F78: .4byte BattleScript_SpikesOnAttacker -_08024F7C: - ldr r0, _08024F84 @ =BattleScript_SpikesOnFaintedBattler - str r0, [r6] - b _080250C6 - .align 2, 0 -_08024F84: .4byte BattleScript_SpikesOnFaintedBattler -_08024F88: - ldr r1, _08025064 @ =gBattleMons - ldr r5, _08025068 @ =gActiveBattler - ldrb r2, [r5] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x36 - bne _08024FAE - ldr r1, _0802506C @ =gDisableStructs - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x18] -_08024FAE: - ldrb r1, [r5] - movs r0, 0 - str r0, [sp] - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08024FC4 - b _080250C6 -_08024FC4: - ldrb r1, [r5] - movs r0, 0 - movs r2, 0 - bl ItemBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _080250C6 - ldrb r0, [r5] - bl GetBattlerSide - ldr r1, _08025070 @ =gSideStatuses - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - ldrh r2, [r0] - ldr r1, _08025074 @ =0x0000fdff - ands r1, r2 - strh r1, [r0] - movs r4, 0 - ldr r0, _08025078 @ =gBattlersCount - ldrb r3, [r0] - cmp r4, r3 - bge _08025012 - ldr r6, _0802507C @ =gBattlerByTurnOrder - ldr r3, _08025080 @ =gActionsByTurnOrder - movs r2, 0xC - adds r1, r0, 0 -_08024FFC: - adds r0, r4, r6 - ldrb r0, [r0] - ldrb r7, [r5] - cmp r0, r7 - bne _0802500A - adds r0, r4, r3 - strb r2, [r0] -_0802500A: - adds r4, 0x1 - ldrb r0, [r1] - cmp r4, r0 - blt _08024FFC -_08025012: - movs r4, 0 - ldr r0, _08025078 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bge _08025046 - ldr r6, _08025084 @ =gBattleStruct - ldr r5, _08025064 @ =gBattleMons -_08025020: - lsls r0, r4, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 23 - adds r0, 0xA8 - ldr r1, [r6] - adds r1, r0 - movs r0, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x28] - strh r0, [r1] - adds r4, 0x1 - ldr r0, _08025078 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - blt _08025020 -_08025046: - ldr r0, _08025088 @ =gBattlescriptCurrInstr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x5 - bne _080250C0 - ldr r0, _0802508C @ =gHitMarker - ldr r0, [r0] - lsrs r4, r0, 28 - ldr r1, _08025090 @ =gBattlerFainted - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r2, _08025094 @ =gBitTable - b _080250A6 - .align 2, 0 -_08025064: .4byte gBattleMons -_08025068: .4byte gActiveBattler -_0802506C: .4byte gDisableStructs -_08025070: .4byte gSideStatuses -_08025074: .4byte 0x0000fdff -_08025078: .4byte gBattlersCount -_0802507C: .4byte gBattlerByTurnOrder -_08025080: .4byte gActionsByTurnOrder -_08025084: .4byte gBattleStruct -_08025088: .4byte gBattlescriptCurrInstr -_0802508C: .4byte gHitMarker -_08025090: .4byte gBattlerFainted -_08025094: .4byte gBitTable -_08025098: - ldr r0, _080250D4 @ =gBattlersCount - ldrb r3, [r1] - ldrb r0, [r0] - cmp r3, r0 - bcs _080250C0 - adds r0, r3, 0x1 - strb r0, [r1] -_080250A6: - ldrb r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r3, [r0] - adds r0, r4, 0 - ands r0, r3 - cmp r0, 0 - beq _08025098 - ldr r0, _080250D8 @ =gAbsentBattlerFlags - ldrb r0, [r0] - ands r0, r3 - cmp r0, 0 - bne _08025098 -_080250C0: - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_080250C6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080250D4: .4byte gBattlersCount -_080250D8: .4byte gAbsentBattlerFlags - thumb_func_end atk52_switchineffects - - thumb_func_start atk53_trainerslidein -atk53_trainerslidein: @ 80250DC - push {lr} - ldr r0, _080250EC @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _080250F0 - movs r0, 0 - b _080250F2 - .align 2, 0 -_080250EC: .4byte gBattlescriptCurrInstr -_080250F0: - movs r0, 0x1 -_080250F2: - bl GetBattlerAtPosition - ldr r1, _08025114 @ =gActiveBattler - strb r0, [r1] - movs r0, 0 - bl BtlController_EmitTrainerSlide - ldr r0, _08025114 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08025118 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08025114: .4byte gActiveBattler -_08025118: .4byte gBattlescriptCurrInstr - thumb_func_end atk53_trainerslidein - - thumb_func_start atk54_playse -atk54_playse: @ 802511C - push {r4,r5,lr} - ldr r5, _0802514C @ =gActiveBattler - ldr r0, _08025150 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r4, _08025154 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0 - bl BtlController_EmitPlaySE - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802514C: .4byte gActiveBattler -_08025150: .4byte gBattlerAttacker -_08025154: .4byte gBattlescriptCurrInstr - thumb_func_end atk54_playse - - thumb_func_start atk55_fanfare -atk55_fanfare: @ 8025158 - push {r4,r5,lr} - ldr r5, _08025188 @ =gActiveBattler - ldr r0, _0802518C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r4, _08025190 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0 - bl BtlController_EmitPlayFanfare - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025188: .4byte gActiveBattler -_0802518C: .4byte gBattlerAttacker -_08025190: .4byte gBattlescriptCurrInstr - thumb_func_end atk55_fanfare - - thumb_func_start atk56_playfaintcry -atk56_playfaintcry: @ 8025194 - push {r4,r5,lr} - ldr r5, _080251BC @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _080251C0 @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - bl BtlController_EmitFaintingCry - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080251BC: .4byte gBattlescriptCurrInstr -_080251C0: .4byte gActiveBattler - thumb_func_end atk56_playfaintcry - - thumb_func_start atk57 -atk57: @ 80251C4 - push {r4,lr} - movs r0, 0 - bl GetBattlerAtPosition - ldr r4, _080251F0 @ =gActiveBattler - strb r0, [r4] - ldr r0, _080251F4 @ =gBattleOutcome - ldrb r1, [r0] - movs r0, 0 - bl BtlController_EmitCmd55 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _080251F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080251F0: .4byte gActiveBattler -_080251F4: .4byte gBattleOutcome -_080251F8: .4byte gBattlescriptCurrInstr - thumb_func_end atk57 - - thumb_func_start atk58_returntoball -atk58_returntoball: @ 80251FC - push {r4,r5,lr} - ldr r5, _08025228 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _0802522C @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - movs r1, 0x1 - bl BtlController_EmitReturnMonToBall - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025228: .4byte gBattlescriptCurrInstr -_0802522C: .4byte gActiveBattler - thumb_func_end atk58_returntoball - - thumb_func_start atk59_handlelearnnewmove -atk59_handlelearnnewmove: @ 8025230 - push {r4-r7,lr} - ldr r0, _080252A4 @ =gBattlescriptCurrInstr - ldr r2, [r0] - ldrb r6, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r6, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r6, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r6, r0 - ldrb r4, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r4, r0 - ldr r0, _080252A8 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080252AC @ =gPlayerParty - adds r0, r1 - ldrb r1, [r2, 0x9] - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080252B0 @ =0x0000fffe - cmp r5, r0 - bne _0802529A - adds r7, r5, 0 -_0802527E: - ldr r0, _080252A8 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080252AC @ =gPlayerParty - adds r0, r1 - movs r1, 0 - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r7 - beq _0802527E -_0802529A: - cmp r5, 0 - bne _080252B4 - ldr r0, _080252A4 @ =gBattlescriptCurrInstr - str r4, [r0] - b _0802535C - .align 2, 0 -_080252A4: .4byte gBattlescriptCurrInstr -_080252A8: .4byte gBattleStruct -_080252AC: .4byte gPlayerParty -_080252B0: .4byte 0x0000fffe -_080252B4: - ldr r0, _080252C4 @ =0x0000ffff - cmp r5, r0 - bne _080252CC - ldr r1, _080252C8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] - b _0802535C - .align 2, 0 -_080252C4: .4byte 0x0000ffff -_080252C8: .4byte gBattlescriptCurrInstr -_080252CC: - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, _08025364 @ =gActiveBattler - strb r0, [r1] - ldr r2, _08025368 @ =gBattlerPartyIndexes - ldrb r3, [r1] - lsls r0, r3, 1 - adds r0, r2 - ldr r1, _0802536C @ =gBattleStruct - ldr r1, [r1] - ldrh r0, [r0] - ldrb r1, [r1, 0x10] - cmp r0, r1 - bne _0802530C - ldr r4, _08025370 @ =gBattleMons - movs r0, 0x58 - adds r2, r3, 0 - muls r2, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _0802530C - adds r0, r2, r4 - adds r1, r5, 0 - bl GiveMoveToBattleMon -_0802530C: - ldr r0, _08025374 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08025358 - movs r0, 0x2 - bl GetBattlerAtPosition - ldr r1, _08025364 @ =gActiveBattler - strb r0, [r1] - ldr r2, _08025368 @ =gBattlerPartyIndexes - ldrb r3, [r1] - lsls r0, r3, 1 - adds r0, r2 - ldr r1, _0802536C @ =gBattleStruct - ldr r1, [r1] - ldrh r0, [r0] - ldrb r1, [r1, 0x10] - cmp r0, r1 - bne _08025358 - ldr r4, _08025370 @ =gBattleMons - movs r0, 0x58 - adds r2, r3, 0 - muls r2, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08025358 - adds r0, r2, r4 - adds r1, r5, 0 - bl GiveMoveToBattleMon -_08025358: - ldr r0, _08025378 @ =gBattlescriptCurrInstr - str r6, [r0] -_0802535C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025364: .4byte gActiveBattler -_08025368: .4byte gBattlerPartyIndexes -_0802536C: .4byte gBattleStruct -_08025370: .4byte gBattleMons -_08025374: .4byte gBattleTypeFlags -_08025378: .4byte gBattlescriptCurrInstr - thumb_func_end atk59_handlelearnnewmove - - thumb_func_start atk5A_yesnoboxlearnmove -atk5A_yesnoboxlearnmove: @ 802537C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r0, _080253A0 @ =gActiveBattler - movs r1, 0 - strb r1, [r0] - ldr r0, _080253A4 @ =gBattleScripting - ldrb r1, [r0, 0x1F] - adds r2, r0, 0 - cmp r1, 0x5 - bls _08025396 - b _080256D0 -_08025396: - lsls r0, r1, 2 - ldr r1, _080253A8 @ =_080253AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080253A0: .4byte gActiveBattler -_080253A4: .4byte gBattleScripting -_080253A8: .4byte _080253AC - .align 2, 0 -_080253AC: - .4byte _080253C4 - .4byte _080253FC - .4byte _080254A8 - .4byte _08025500 - .4byte _080256A4 - .4byte _080256C4 -_080253C4: - movs r4, 0 - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r0, _080253F0 @ =gText_BattleYesNoChoice - movs r1, 0xE - bl BattlePutTextOnWindow - ldr r1, _080253F4 @ =gBattleScripting - ldrb r0, [r1, 0x1F] - adds r0, 0x1 - strb r0, [r1, 0x1F] - ldr r0, _080253F8 @ =gBattleCommunication - strb r4, [r0, 0x1] - bl BattleCreateYesNoCursorAt - b _080256D0 - .align 2, 0 -_080253F0: .4byte gText_BattleYesNoChoice -_080253F4: .4byte gBattleScripting -_080253F8: .4byte gBattleCommunication -_080253FC: - ldr r0, _08025484 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08025422 - ldr r4, _08025488 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08025422 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_08025422: - ldr r0, _08025484 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08025448 - ldr r4, _08025488 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08025448 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0x1 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_08025448: - ldr r0, _08025484 @ =gMain - ldrh r1, [r0, 0x2E] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0802548C - movs r0, 0x5 - bl PlaySE - ldr r0, _08025488 @ =gBattleCommunication - ldrb r4, [r0, 0x1] - cmp r4, 0 - bne _0802549C - str r5, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080254D8 - .align 2, 0 -_08025484: .4byte gMain -_08025488: .4byte gBattleCommunication -_0802548C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08025496 - b _080256D0 -_08025496: - movs r0, 0x5 - bl PlaySE -_0802549C: - ldr r1, _080254A4 @ =gBattleScripting - movs r0, 0x4 - strb r0, [r1, 0x1F] - b _080256D0 - .align 2, 0 -_080254A4: .4byte gBattleScripting -_080254A8: - ldr r0, _080254E4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080254B6 - b _080256D0 -_080254B6: - bl FreeAllWindowBuffers - ldr r0, _080254E8 @ =gPlayerParty - ldr r1, _080254EC @ =gBattleStruct - ldr r1, [r1] - ldrb r1, [r1, 0x10] - ldr r2, _080254F0 @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080254F4 @ =ReshowBattleScreenAfterMenu - ldr r4, _080254F8 @ =gMoveToLearn - ldrh r4, [r4] - str r4, [sp] - bl sub_8134738 -_080254D8: - ldr r1, _080254FC @ =gBattleScripting - ldrb r0, [r1, 0x1F] - adds r0, 0x1 - strb r0, [r1, 0x1F] - b _080256D0 - .align 2, 0 -_080254E4: .4byte gPaletteFade -_080254E8: .4byte gPlayerParty -_080254EC: .4byte gBattleStruct -_080254F0: .4byte gPlayerPartyCount -_080254F4: .4byte ReshowBattleScreenAfterMenu -_080254F8: .4byte gMoveToLearn -_080254FC: .4byte gBattleScripting -_08025500: - ldr r0, _0802552C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802550E - b _080256D0 -_0802550E: - ldr r0, _08025530 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _08025534 @ =BattleMainCB2 - cmp r1, r0 - beq _0802551A - b _080256D0 -_0802551A: - bl sub_8138B2C - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bne _0802553C - ldr r0, _08025538 @ =gBattleScripting - strb r5, [r0, 0x1F] - b _080256D0 - .align 2, 0 -_0802552C: .4byte gPaletteFade -_08025530: .4byte gMain -_08025534: .4byte BattleMainCB2 -_08025538: .4byte gBattleScripting -_0802553C: - ldr r6, _08025578 @ =gBattleStruct - ldr r0, [r6] - ldrb r0, [r0, 0x10] - movs r1, 0x64 - mov r8, r1 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r7, _0802557C @ =gPlayerParty - adds r0, r7 - adds r1, r5, 0 - adds r1, 0xD - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl IsHMMove2 - cmp r0, 0 - beq _0802558C - ldr r0, _08025580 @ =0x0000013f - ldr r1, _08025584 @ =gActiveBattler - ldrb r1, [r1] - bl PrepareStringBattle - ldr r1, _08025588 @ =gBattleScripting - movs r0, 0x5 - strb r0, [r1, 0x1F] - b _080256D0 - .align 2, 0 -_08025578: .4byte gBattleStruct -_0802557C: .4byte gPlayerParty -_08025580: .4byte 0x0000013f -_08025584: .4byte gActiveBattler -_08025588: .4byte gBattleScripting -_0802558C: - ldr r3, _08025680 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - ldr r1, _08025684 @ =gBattleTextBuff2 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - strb r4, [r1, 0x2] - lsrs r0, r4, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r0, [r6] - ldrb r0, [r0, 0x10] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - adds r1, r5, 0 - bl RemoveMonPPBonus - ldr r0, [r6] - ldrb r0, [r0, 0x10] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - ldr r7, _08025688 @ =gMoveToLearn - ldrh r1, [r7] - adds r2, r5, 0 - bl SetMonMoveSlot - ldr r0, _0802568C @ =gBattlerPartyIndexes - ldr r1, [r6] - ldrh r0, [r0] - ldrb r1, [r1, 0x10] - cmp r0, r1 - bne _08025622 - ldr r4, _08025690 @ =gBattleMons - ldr r0, [r4, 0x50] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08025622 - ldr r0, _08025694 @ =gDisableStructs - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _08025698 @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08025622 - adds r0, r4, 0 - adds r1, r5, 0 - bl RemoveBattleMonPPBonus - ldrh r1, [r7] - adds r0, r4, 0 - adds r2, r5, 0 - bl SetBattleMonMoveSlot -_08025622: - ldr r0, _0802569C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080256D0 - ldr r2, _0802568C @ =gBattlerPartyIndexes - ldr r0, _080256A0 @ =gBattleStruct - ldr r1, [r0] - ldrh r0, [r2, 0x4] - ldrb r1, [r1, 0x10] - cmp r0, r1 - bne _080256D0 - ldr r4, _08025690 @ =gBattleMons - movs r1, 0x80 - lsls r1, 1 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _080256D0 - ldr r0, _08025694 @ =gDisableStructs - adds r0, 0x50 - ldrb r1, [r0] - lsrs r1, 4 - ldr r2, _08025698 @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080256D0 - adds r4, 0xB0 - adds r0, r4, 0 - adds r1, r5, 0 - bl RemoveBattleMonPPBonus - ldr r0, _08025688 @ =gMoveToLearn - ldrh r1, [r0] - adds r0, r4, 0 - adds r2, r5, 0 - bl SetBattleMonMoveSlot - b _080256D0 - .align 2, 0 -_08025680: .4byte gBattlescriptCurrInstr -_08025684: .4byte gBattleTextBuff2 -_08025688: .4byte gMoveToLearn -_0802568C: .4byte gBattlerPartyIndexes -_08025690: .4byte gBattleMons -_08025694: .4byte gDisableStructs -_08025698: .4byte gBitTable -_0802569C: .4byte gBattleTypeFlags -_080256A0: .4byte gBattleStruct -_080256A4: - movs r0, 0x1 - str r0, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r1, _080256C0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _080256D0 - .align 2, 0 -_080256C0: .4byte gBattlescriptCurrInstr -_080256C4: - ldr r0, _080256DC @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _080256D0 - movs r0, 0x2 - strb r0, [r2, 0x1F] -_080256D0: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080256DC: .4byte gBattleControllerExecFlags - thumb_func_end atk5A_yesnoboxlearnmove - - thumb_func_start atk5B_yesnoboxstoplearningmove -atk5B_yesnoboxstoplearningmove: @ 80256E0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080256F4 @ =gBattleScripting - ldrb r4, [r5, 0x1F] - cmp r4, 0 - beq _080256F8 - cmp r4, 0x1 - beq _08025728 - b _0802580E - .align 2, 0 -_080256F4: .4byte gBattleScripting -_080256F8: - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r0, _08025720 @ =gText_BattleYesNoChoice - movs r1, 0xE - bl BattlePutTextOnWindow - ldrb r0, [r5, 0x1F] - adds r0, 0x1 - strb r0, [r5, 0x1F] - ldr r0, _08025724 @ =gBattleCommunication - strb r4, [r0, 0x1] - bl BattleCreateYesNoCursorAt - b _0802580E - .align 2, 0 -_08025720: .4byte gText_BattleYesNoChoice -_08025724: .4byte gBattleCommunication -_08025728: - ldr r0, _080257AC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802574E - ldr r4, _080257B0 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0802574E - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_0802574E: - ldr r0, _080257AC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08025774 - ldr r4, _080257B0 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08025774 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0x1 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_08025774: - ldr r0, _080257AC @ =gMain - ldrh r1, [r0, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080257D8 - movs r0, 0x5 - bl PlaySE - ldr r0, _080257B0 @ =gBattleCommunication - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080257B8 - ldr r3, _080257B4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _080257C0 - .align 2, 0 -_080257AC: .4byte gMain -_080257B0: .4byte gBattleCommunication -_080257B4: .4byte gBattlescriptCurrInstr -_080257B8: - ldr r1, _080257D4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_080257C0: - movs r0, 0x1 - str r0, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - b _0802580E - .align 2, 0 -_080257D4: .4byte gBattlescriptCurrInstr -_080257D8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802580E - movs r0, 0x5 - bl PlaySE - ldr r3, _08025818 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow -_0802580E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025818: .4byte gBattlescriptCurrInstr - thumb_func_end atk5B_yesnoboxstoplearningmove - - thumb_func_start atk5C_hitanimation -atk5C_hitanimation: @ 802581C - push {r4,lr} - ldr r4, _08025888 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r2, _0802588C @ =gActiveBattler - strb r0, [r2] - ldr r0, _08025890 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _080258A0 - ldr r0, _08025894 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - beq _0802586E - ldr r1, _08025898 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0802586E - ldr r0, _0802589C @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _080258A0 -_0802586E: - movs r0, 0 - bl BtlController_EmitHitAnimation - ldr r0, _0802588C @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08025888 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - b _080258A6 - .align 2, 0 -_08025888: .4byte gBattlescriptCurrInstr -_0802588C: .4byte gActiveBattler -_08025890: .4byte gMoveResultFlags -_08025894: .4byte gHitMarker -_08025898: .4byte gBattleMons -_0802589C: .4byte gDisableStructs -_080258A0: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] -_080258A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end atk5C_hitanimation - - thumb_func_start atk5D_getmoneyreward -atk5D_getmoneyreward: @ 80258AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - movs r5, 0 - ldr r0, _080258F0 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - beq _080258C0 - b _080259FA -_080258C0: - ldr r0, _080258F4 @ =gTrainerBattleOpponent_A - ldrh r2, [r0] - movs r1, 0x80 - lsls r1, 3 - cmp r2, r1 - bne _08025904 - ldr r0, _080258F8 @ =gBattleResources - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x94 - ldrb r2, [r0] - ldr r0, _080258FC @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x4A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, r2, 0 - muls r4, r0 - ldr r0, _08025900 @ =gSaveBlock1Ptr - mov r8, r0 - b _080259E8 - .align 2, 0 -_080258F0: .4byte gBattleOutcome -_080258F4: .4byte gTrainerBattleOpponent_A -_080258F8: .4byte gBattleResources -_080258FC: .4byte gBattleStruct -_08025900: .4byte gSaveBlock1Ptr -_08025904: - ldr r2, _08025920 @ =gTrainers - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r3, r0, 3 - adds r4, r3, r2 - ldrb r1, [r4] - cmp r1, 0x1 - beq _0802595A - cmp r1, 0x1 - bgt _08025924 - cmp r1, 0 - beq _0802592E - b _08025970 - .align 2, 0 -_08025920: .4byte gTrainers -_08025924: - cmp r1, 0x2 - beq _08025944 - cmp r1, 0x3 - beq _0802595A - b _08025970 -_0802592E: - adds r0, r2, 0 - adds r0, 0x24 - adds r0, r3, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - subs r0, 0x8 - b _0802596E -_08025944: - adds r0, r2, 0 - adds r0, 0x24 - adds r0, r3, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - subs r0, 0x8 - b _0802596E -_0802595A: - adds r0, r2, 0 - adds r0, 0x24 - adds r0, r3, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - subs r0, 0x10 -_0802596E: - ldrb r5, [r0, 0x2] -_08025970: - ldr r0, _080259CC @ =gTrainerMoneyTable - lsls r1, r6, 2 - adds r3, r1, r0 - ldrb r1, [r3] - ldr r7, _080259D0 @ =gBattleStruct - mov r12, r0 - lsls r4, r5, 2 - ldr r5, _080259D4 @ =gBattleTypeFlags - ldr r0, _080259D8 @ =gSaveBlock1Ptr - mov r8, r0 - cmp r1, 0xFF - beq _080259AA - ldr r2, _080259DC @ =gTrainers - ldr r0, _080259E0 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0x1] - adds r1, r3, 0 -_0802599A: - ldrb r0, [r1] - cmp r0, r2 - beq _080259AA - adds r1, 0x4 - adds r6, 0x1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0802599A -_080259AA: - ldr r0, [r7] - adds r0, 0x4A - ldrb r0, [r0] - adds r3, r4, 0 - muls r3, r0 - lsls r0, r6, 2 - add r0, r12 - ldrb r2, [r0, 0x1] - ldr r0, [r5] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080259E4 - lsls r0, r2, 1 - adds r4, r3, 0 - muls r4, r0 - b _080259E8 - .align 2, 0 -_080259CC: .4byte gTrainerMoneyTable -_080259D0: .4byte gBattleStruct -_080259D4: .4byte gBattleTypeFlags -_080259D8: .4byte gSaveBlock1Ptr -_080259DC: .4byte gTrainers -_080259E0: .4byte gTrainerBattleOpponent_A -_080259E4: - adds r4, r3, 0 - muls r4, r2 -_080259E8: - mov r1, r8 - ldr r0, [r1] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - adds r1, r4, 0 - bl AddMoney - b _08025A00 -_080259FA: - bl sub_8054C04 - adds r4, r0, 0 -_08025A00: - ldr r1, _08025A40 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x4 - strb r0, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x3] - strb r4, [r1, 0x4] - movs r0, 0xFF - lsls r0, 8 - ands r0, r4 - lsrs r0, 8 - strb r0, [r1, 0x5] - movs r0, 0xFF - lsls r0, 16 - ands r0, r4 - lsrs r0, 16 - strb r0, [r1, 0x6] - lsrs r0, r4, 24 - strb r0, [r1, 0x7] - movs r0, 0xFF - strb r0, [r1, 0x8] - cmp r4, 0 - beq _08025A48 - ldr r1, _08025A44 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08025A62 - .align 2, 0 -_08025A40: .4byte gBattleTextBuff1 -_08025A44: .4byte gBattlescriptCurrInstr -_08025A48: - ldr r3, _08025A6C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08025A62: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025A6C: .4byte gBattlescriptCurrInstr - thumb_func_end atk5D_getmoneyreward - - thumb_func_start atk5E -atk5E: @ 8025A70 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _08025A94 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r6, _08025A98 @ =gActiveBattler - strb r0, [r6] - ldr r5, _08025A9C @ =gBattleCommunication - ldrb r0, [r5] - mov r8, r4 - cmp r0, 0 - beq _08025AA0 - cmp r0, 0x1 - beq _08025AB8 - b _08025B0C - .align 2, 0 -_08025A94: .4byte gBattlescriptCurrInstr -_08025A98: .4byte gActiveBattler -_08025A9C: .4byte gBattleCommunication -_08025AA0: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl BtlController_EmitGetMonData - ldrb r0, [r6] - bl MarkBattlerForControllerExec - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _08025B0C -_08025AB8: - ldr r0, _08025B18 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025B0C - ldrb r0, [r6] - lsls r0, 9 - ldr r1, _08025B1C @ =gUnknown_20233C8 - adds r0, r1 - mov r12, r0 - movs r2, 0 - adds r4, r6, 0 - movs r5, 0x58 - ldr r6, _08025B20 @ =gUnknown_2023C08 - adds r7, r6, 0 - subs r7, 0x18 - mov r3, r12 - adds r3, 0xC -_08025ADA: - lsls r1, r2, 1 - ldrb r0, [r4] - muls r0, r5 - adds r1, r0 - adds r1, r7 - ldrh r0, [r3] - strh r0, [r1] - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r5 - adds r1, r2, r1 - adds r1, r6 - mov r0, r12 - adds r0, 0x24 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - ble _08025ADA - mov r1, r8 - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08025B0C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025B18: .4byte gBattleControllerExecFlags -_08025B1C: .4byte gUnknown_20233C8 -_08025B20: .4byte gUnknown_2023C08 - thumb_func_end atk5E - - thumb_func_start atk5F_swapattackerwithtarget -atk5F_swapattackerwithtarget: @ 8025B24 - push {lr} - ldr r0, _08025B4C @ =gActiveBattler - ldr r2, _08025B50 @ =gBattlerAttacker - ldrb r3, [r2] - strb r3, [r0] - ldr r1, _08025B54 @ =gBattlerTarget - ldrb r0, [r1] - strb r0, [r2] - strb r3, [r1] - ldr r2, _08025B58 @ =gHitMarker - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 5 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _08025B60 - ldr r0, _08025B5C @ =0xffffefff - ands r1, r0 - b _08025B62 - .align 2, 0 -_08025B4C: .4byte gActiveBattler -_08025B50: .4byte gBattlerAttacker -_08025B54: .4byte gBattlerTarget -_08025B58: .4byte gHitMarker -_08025B5C: .4byte 0xffffefff -_08025B60: - orrs r1, r3 -_08025B62: - str r1, [r2] - ldr r1, _08025B70 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08025B70: .4byte gBattlescriptCurrInstr - thumb_func_end atk5F_swapattackerwithtarget - - thumb_func_start atk60_incrementgamestat -atk60_incrementgamestat: @ 8025B74 - push {lr} - ldr r0, _08025B9C @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08025B8E - ldr r0, _08025BA0 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl IncrementGameStat -_08025B8E: - ldr r1, _08025BA0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08025B9C: .4byte gBattlerAttacker -_08025BA0: .4byte gBattlescriptCurrInstr - thumb_func_end atk60_incrementgamestat - - thumb_func_start atk61_drawpartystatussummary -atk61_drawpartystatussummary: @ 8025BA4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x30 - ldr r0, _08025C08 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025C58 - ldr r0, _08025C0C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08025C10 @ =gActiveBattler - strb r0, [r1] - ldrb r0, [r1] - bl GetBattlerSide - lsls r0, 24 - ldr r1, _08025C14 @ =gEnemyParty - mov r8, r1 - cmp r0, 0 - bne _08025BD6 - ldr r0, _08025C18 @ =gPlayerParty - mov r8, r0 -_08025BD6: - movs r7, 0 - add r6, sp, 0x4 - mov r5, sp -_08025BDC: - movs r0, 0x64 - muls r0, r7 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08025C00 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08025C20 -_08025C00: - ldr r0, _08025C1C @ =0x0000ffff - strh r0, [r5] - movs r0, 0 - b _08025C32 - .align 2, 0 -_08025C08: .4byte gBattleControllerExecFlags -_08025C0C: .4byte gBattlescriptCurrInstr -_08025C10: .4byte gActiveBattler -_08025C14: .4byte gEnemyParty -_08025C18: .4byte gPlayerParty -_08025C1C: .4byte 0x0000ffff -_08025C20: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData -_08025C32: - str r0, [r6] - adds r6, 0x8 - adds r5, 0x8 - adds r7, 0x1 - cmp r7, 0x5 - ble _08025BDC - movs r0, 0 - mov r1, sp - movs r2, 0x1 - bl BtlController_EmitDrawPartyStatusSummary - ldr r0, _08025C64 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08025C68 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08025C58: - add sp, 0x30 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025C64: .4byte gActiveBattler -_08025C68: .4byte gBattlescriptCurrInstr - thumb_func_end atk61_drawpartystatussummary - - thumb_func_start atk62_hidepartystatussummary -atk62_hidepartystatussummary: @ 8025C6C - push {r4,r5,lr} - ldr r5, _08025C94 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08025C98 @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - bl BtlController_EmitHidePartyStatusSummary - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025C94: .4byte gBattlescriptCurrInstr -_08025C98: .4byte gActiveBattler - thumb_func_end atk62_hidepartystatussummary - - thumb_func_start atk63_jumptocalledmove -atk63_jumptocalledmove: @ 8025C9C - push {r4,lr} - ldr r0, _08025CB4 @ =gBattlescriptCurrInstr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0 - beq _08025CC0 - ldr r0, _08025CB8 @ =gCurrentMove - ldr r1, _08025CBC @ =gCalledMove - ldrh r1, [r1] - strh r1, [r0] - b _08025CCE - .align 2, 0 -_08025CB4: .4byte gBattlescriptCurrInstr -_08025CB8: .4byte gCurrentMove -_08025CBC: .4byte gCalledMove -_08025CC0: - ldr r2, _08025CEC @ =gChosenMove - ldr r1, _08025CF0 @ =gCurrentMove - ldr r0, _08025CF4 @ =gCalledMove - ldrh r0, [r0] - strh r0, [r1] - strh r0, [r2] - adds r0, r1, 0 -_08025CCE: - ldr r3, _08025CF8 @ =gBattleScriptsForMoveEffects - ldr r2, _08025CFC @ =gBattleMoves - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08025CEC: .4byte gChosenMove -_08025CF0: .4byte gCurrentMove -_08025CF4: .4byte gCalledMove -_08025CF8: .4byte gBattleScriptsForMoveEffects -_08025CFC: .4byte gBattleMoves - thumb_func_end atk63_jumptocalledmove - - thumb_func_start atk64_statusanimation -atk64_statusanimation: @ 8025D00 - push {r4,lr} - ldr r0, _08025D70 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025D68 - ldr r0, _08025D74 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08025D78 @ =gActiveBattler - strb r0, [r4] - ldr r1, _08025D7C @ =gStatuses3 - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08025D80 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08025D60 - ldr r0, _08025D84 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _08025D60 - ldr r0, _08025D88 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08025D60 - ldr r1, _08025D8C @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitStatusAnimation - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08025D60: - ldr r1, _08025D74 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08025D68: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08025D70: .4byte gBattleControllerExecFlags -_08025D74: .4byte gBattlescriptCurrInstr -_08025D78: .4byte gActiveBattler -_08025D7C: .4byte gStatuses3 -_08025D80: .4byte 0x000400c0 -_08025D84: .4byte gDisableStructs -_08025D88: .4byte gHitMarker -_08025D8C: .4byte gBattleMons - thumb_func_end atk64_statusanimation - - thumb_func_start atk65_status2animation -atk65_status2animation: @ 8025D90 - push {r4,r5,lr} - ldr r0, _08025E18 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025E10 - ldr r4, _08025E1C @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r5, _08025E20 @ =gActiveBattler - strb r0, [r5] - ldr r1, [r4] - ldrb r3, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - orrs r3, r0 - ldr r1, _08025E24 @ =gStatuses3 - ldrb r2, [r5] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08025E28 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08025E08 - ldr r0, _08025E2C @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _08025E08 - ldr r0, _08025E30 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08025E08 - ldr r1, _08025E34 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r2, [r0] - ands r2, r3 - movs r0, 0 - movs r1, 0x1 - bl BtlController_EmitStatusAnimation - ldrb r0, [r5] - bl MarkBattlerForControllerExec -_08025E08: - ldr r1, _08025E1C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] -_08025E10: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025E18: .4byte gBattleControllerExecFlags -_08025E1C: .4byte gBattlescriptCurrInstr -_08025E20: .4byte gActiveBattler -_08025E24: .4byte gStatuses3 -_08025E28: .4byte 0x000400c0 -_08025E2C: .4byte gDisableStructs -_08025E30: .4byte gHitMarker -_08025E34: .4byte gBattleMons - thumb_func_end atk65_status2animation - - thumb_func_start atk66_chosenstatusanimation -atk66_chosenstatusanimation: @ 8025E38 - push {r4,r5,lr} - ldr r0, _08025EB0 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025EAA - ldr r4, _08025EB4 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r5, _08025EB8 @ =gActiveBattler - strb r0, [r5] - ldr r4, [r4] - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x4] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r4, 0x5] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r4, 0x6] - lsls r0, 24 - orrs r2, r0 - ldr r1, _08025EBC @ =gStatuses3 - ldrb r3, [r5] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08025EC0 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08025EA2 - ldr r0, _08025EC4 @ =gDisableStructs - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _08025EA2 - ldr r0, _08025EC8 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08025EA2 - ldrb r1, [r4, 0x2] - movs r0, 0 - bl BtlController_EmitStatusAnimation - ldrb r0, [r5] - bl MarkBattlerForControllerExec -_08025EA2: - ldr r1, _08025EB4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x7 - str r0, [r1] -_08025EAA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025EB0: .4byte gBattleControllerExecFlags -_08025EB4: .4byte gBattlescriptCurrInstr -_08025EB8: .4byte gActiveBattler -_08025EBC: .4byte gStatuses3 -_08025EC0: .4byte 0x000400c0 -_08025EC4: .4byte gDisableStructs -_08025EC8: .4byte gHitMarker - thumb_func_end atk66_chosenstatusanimation - - thumb_func_start atk67_yesnobox -atk67_yesnobox: @ 8025ECC - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08025EE0 @ =gBattleCommunication - ldrb r4, [r5] - cmp r4, 0 - beq _08025EE4 - cmp r4, 0x1 - beq _08025F0C - b _08025F9A - .align 2, 0 -_08025EE0: .4byte gBattleCommunication -_08025EE4: - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r0, _08025F08 @ =gText_BattleYesNoChoice - movs r1, 0xE - bl BattlePutTextOnWindow - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - strb r4, [r5, 0x1] - bl BattleCreateYesNoCursorAt - b _08025F9A - .align 2, 0 -_08025F08: .4byte gText_BattleYesNoChoice -_08025F0C: - ldr r0, _08025F6C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08025F30 - ldrb r0, [r5, 0x1] - cmp r0, 0 - beq _08025F30 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0 - strb r0, [r5, 0x1] - bl BattleCreateYesNoCursorAt -_08025F30: - ldr r0, _08025F6C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08025F56 - ldr r4, _08025F70 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08025F56 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0x1 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_08025F56: - ldr r0, _08025F6C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08025F74 - ldr r0, _08025F70 @ =gBattleCommunication - movs r4, 0x1 - strb r4, [r0, 0x1] - b _08025F7E - .align 2, 0 -_08025F6C: .4byte gMain -_08025F70: .4byte gBattleCommunication -_08025F74: - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08025F9A -_08025F7E: - movs r0, 0x5 - bl PlaySE - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r1, _08025FA4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08025F9A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025FA4: .4byte gBattlescriptCurrInstr - thumb_func_end atk67_yesnobox - - thumb_func_start atk68_cancelallactions -atk68_cancelallactions: @ 8025FA8 - push {r4,r5,lr} - movs r1, 0 - ldr r2, _08025FD4 @ =gBattlersCount - ldr r5, _08025FD8 @ =gBattlescriptCurrInstr - ldrb r0, [r2] - cmp r1, r0 - bge _08025FC6 - ldr r4, _08025FDC @ =gActionsByTurnOrder - movs r3, 0xC -_08025FBA: - adds r0, r1, r4 - strb r3, [r0] - adds r1, 0x1 - ldrb r0, [r2] - cmp r1, r0 - blt _08025FBA -_08025FC6: - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025FD4: .4byte gBattlersCount -_08025FD8: .4byte gBattlescriptCurrInstr -_08025FDC: .4byte gActionsByTurnOrder - thumb_func_end atk68_cancelallactions - - thumb_func_start atk69_adjustsetdamage -atk69_adjustsetdamage: @ 8025FE0 - push {r4-r7,lr} - ldr r7, _08026008 @ =gBattleMons - ldr r6, _0802600C @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _08026014 - ldr r1, _08026010 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0802602E - .align 2, 0 -_08026008: .4byte gBattleMons -_0802600C: .4byte gBattlerTarget -_08026010: .4byte gEnigmaBerries -_08026014: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0802602E: - ldr r1, _080260F0 @ =gPotentialItemEffectBattler - ldr r5, _080260F4 @ =gBattlerTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _0802606C - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _0802606C - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemEffectBattle - ldr r2, _080260F8 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0802606C: - ldr r2, _080260FC @ =gBattleMons - ldr r3, _080260F4 @ =gBattlerTarget - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, r2, 0 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 17 - ands r1, r0 - adds r5, r2, 0 - cmp r1, 0 - bne _0802613C - ldr r2, _08026100 @ =gBattleMoves - ldr r0, _08026104 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x65 - beq _080260BE - ldr r0, _08026108 @ =gProtectStructs - lsls r1, r4, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _080260BE - ldr r0, _080260F8 @ =gSpecialStatuses - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0802613C -_080260BE: - ldrb r0, [r3] - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r1, [r0, 0x28] - ldr r2, _0802610C @ =gBattleMoveDamage - ldr r0, [r2] - cmp r1, r0 - bgt _0802613C - subs r0, r1, 0x1 - str r0, [r2] - ldr r1, _08026108 @ =gProtectStructs - ldrb r3, [r3] - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _08026114 - ldr r0, _08026110 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0802613C - .align 2, 0 -_080260F0: .4byte gPotentialItemEffectBattler -_080260F4: .4byte gBattlerTarget -_080260F8: .4byte gSpecialStatuses -_080260FC: .4byte gBattleMons -_08026100: .4byte gBattleMoves -_08026104: .4byte gCurrentMove -_08026108: .4byte gProtectStructs -_0802610C: .4byte gBattleMoveDamage -_08026110: .4byte gMoveResultFlags -_08026114: - ldr r0, _0802614C @ =gSpecialStatuses - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0802613C - ldr r2, _08026150 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08026154 @ =gLastUsedItem - adds r0, r3, 0 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x2E] - strh r0, [r1] -_0802613C: - ldr r1, _08026158 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802614C: .4byte gSpecialStatuses -_08026150: .4byte gMoveResultFlags -_08026154: .4byte gLastUsedItem -_08026158: .4byte gBattlescriptCurrInstr - thumb_func_end atk69_adjustsetdamage - - thumb_func_start atk6A_removeitem -atk6A_removeitem: @ 802615C - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _080261BC @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r5, _080261C0 @ =gActiveBattler - strb r0, [r5] - ldr r1, _080261C4 @ =gBattleStruct - ldrb r4, [r5] - lsls r0, r4, 1 - adds r0, 0xB8 - ldr r1, [r1] - adds r1, r0 - ldr r2, _080261C8 @ =gBattleMons - movs r3, 0x58 - adds r0, r4, 0 - muls r0, r3 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strh r0, [r1] - ldrb r0, [r5] - muls r0, r3 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - ldrb r0, [r5] - muls r0, r3 - adds r2, 0x2E - adds r0, r2 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080261BC: .4byte gBattlescriptCurrInstr -_080261C0: .4byte gActiveBattler -_080261C4: .4byte gBattleStruct -_080261C8: .4byte gBattleMons - thumb_func_end atk6A_removeitem - - thumb_func_start atk6B_atknameinbuff1 -atk6B_atknameinbuff1: @ 80261CC - ldr r1, _080261F8 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x7 - strb r0, [r1, 0x1] - ldr r2, _080261FC @ =gBattlerAttacker - ldrb r0, [r2] - strb r0, [r1, 0x2] - ldr r3, _08026200 @ =gBattlerPartyIndexes - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08026204 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_080261F8: .4byte gBattleTextBuff1 -_080261FC: .4byte gBattlerAttacker -_08026200: .4byte gBattlerPartyIndexes -_08026204: .4byte gBattlescriptCurrInstr - thumb_func_end atk6B_atknameinbuff1 - thumb_func_start atk6C_drawlvlupbox atk6C_drawlvlupbox: @ 8026208 push {r4,lr} -- cgit v1.2.3 From b5162467692853dabb7765976fc7c0fa679c0f3d Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 27 Aug 2019 08:01:01 +0800 Subject: thru TryDoForceSwitchOut --- asm/battle_script_commands.s | 4174 ------------------------------------------ 1 file changed, 4174 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 7a0f29fb8..68bff599e 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,4180 +5,6 @@ .text - thumb_func_start atk6C_drawlvlupbox -atk6C_drawlvlupbox: @ 8026208 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08026224 @ =gBattleScripting - ldrb r1, [r0, 0x1E] - adds r4, r0, 0 - cmp r1, 0 - bne _0802622C - bl IsMonGettingExpSentOut - cmp r0, 0 - beq _08026228 - movs r0, 0x3 - b _0802622A - .align 2, 0 -_08026224: .4byte gBattleScripting -_08026228: - movs r0, 0x1 -_0802622A: - strb r0, [r4, 0x1E] -_0802622C: - ldrb r0, [r4, 0x1E] - subs r0, 0x1 - cmp r0, 0x9 - bls _08026236 - b _080263F6 -_08026236: - lsls r0, 2 - ldr r1, _08026240 @ =_08026244 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08026240: .4byte _08026244 - .align 2, 0 -_08026244: - .4byte _0802626C - .4byte _08026298 - .4byte _080262B0 - .4byte _08026304 - .4byte _08026318 - .4byte _08026330 - .4byte _08026318 - .4byte _08026350 - .4byte _08026380 - .4byte _080263C4 -_0802626C: - ldr r1, _08026290 @ =gBattle_BG2_Y - movs r0, 0x60 - strh r0, [r1] - movs r0, 0x2 - movs r1, 0x7 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - bl ShowBg - bl sub_8026480 - ldr r1, _08026294 @ =gBattleScripting - movs r0, 0x2 - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_08026290: .4byte gBattle_BG2_Y -_08026294: .4byte gBattleScripting -_08026298: - bl sub_80264D0 - lsls r0, 24 - cmp r0, 0 - beq _080262A4 - b _080263F6 -_080262A4: - ldr r1, _080262AC @ =gBattleScripting - movs r0, 0x3 - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_080262AC: .4byte gBattleScripting -_080262B0: - ldr r1, _080262F8 @ =gBattle_BG1_X - movs r0, 0 - strh r0, [r1] - ldr r1, _080262FC @ =gBattle_BG1_Y - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0x7 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0x1 - movs r1, 0x7 - movs r2, 0 - bl SetBgAttribute - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x80 - str r0, [sp] - movs r0, 0x12 - movs r1, 0x7 - movs r2, 0x1D - movs r3, 0x13 - bl HandleBattleWindow - ldr r1, _08026300 @ =gBattleScripting - movs r0, 0x4 - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_080262F8: .4byte gBattle_BG1_X -_080262FC: .4byte gBattle_BG1_Y -_08026300: .4byte gBattleScripting -_08026304: - bl DrawLevelUpWindow1 - movs r0, 0xC - bl PutWindowTilemap - movs r0, 0xC - movs r1, 0x3 - bl CopyWindowToVram - b _0802636E -_08026318: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080263F6 - ldr r0, _0802632C @ =gBattle_BG1_Y - strh r1, [r0] - b _0802636E - .align 2, 0 -_0802632C: .4byte gBattle_BG1_Y -_08026330: - ldr r0, _0802634C @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _080263F6 - movs r0, 0x5 - bl PlaySE - bl DrawLevelUpWindow2 - movs r0, 0xC - movs r1, 0x2 - bl CopyWindowToVram - b _0802636E - .align 2, 0 -_0802634C: .4byte gMain -_08026350: - ldr r0, _08026378 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _080263F6 - movs r0, 0x5 - bl PlaySE - movs r0, 0x81 - str r0, [sp] - movs r0, 0x12 - movs r1, 0x7 - movs r2, 0x1D - movs r3, 0x13 - bl HandleBattleWindow -_0802636E: - ldr r1, _0802637C @ =gBattleScripting - ldrb r0, [r1, 0x1E] - adds r0, 0x1 - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_08026378: .4byte gMain -_0802637C: .4byte gBattleScripting -_08026380: - bl sub_8026648 - lsls r0, 24 - cmp r0, 0 - bne _080263F6 - movs r0, 0xD - bl ClearWindowTilemap - movs r0, 0xD - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0xC - bl ClearWindowTilemap - movs r0, 0xC - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x2 - movs r1, 0x7 - movs r2, 0x2 - bl SetBgAttribute - movs r0, 0x2 - bl ShowBg - ldr r1, _080263C0 @ =gBattleScripting - movs r0, 0xA - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_080263C0: .4byte gBattleScripting -_080263C4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080263F6 - movs r0, 0 - movs r1, 0x7 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x1 - movs r1, 0x7 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r1, _08026400 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_080263F6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08026400: .4byte gBattlescriptCurrInstr - thumb_func_end atk6C_drawlvlupbox - - thumb_func_start DrawLevelUpWindow1 -DrawLevelUpWindow1: @ 8026404 - push {lr} - sub sp, 0x14 - ldr r0, _0802643C @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08026440 @ =gPlayerParty - adds r0, r1 - add r1, sp, 0x8 - bl sub_811D130 - ldr r0, _08026444 @ =gBattleResources - ldr r0, [r0] - ldr r1, [r0, 0x10] - movs r0, 0xD - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0xC - add r2, sp, 0x8 - movs r3, 0xE - bl sub_811E7F0 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_0802643C: .4byte gBattleStruct -_08026440: .4byte gPlayerParty -_08026444: .4byte gBattleResources - thumb_func_end DrawLevelUpWindow1 - - thumb_func_start DrawLevelUpWindow2 -DrawLevelUpWindow2: @ 8026448 - push {lr} - sub sp, 0x10 - ldr r0, _08026478 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802647C @ =gPlayerParty - adds r0, r1 - add r1, sp, 0x4 - bl sub_811D130 - movs r0, 0xF - str r0, [sp] - movs r0, 0xC - add r1, sp, 0x4 - movs r2, 0xE - movs r3, 0xD - bl sub_811E93C - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_08026478: .4byte gBattleStruct -_0802647C: .4byte gPlayerParty - thumb_func_end DrawLevelUpWindow2 - - thumb_func_start sub_8026480 -sub_8026480: @ 8026480 - push {lr} - ldr r1, _080264C0 @ =gBattle_BG2_Y - movs r0, 0 - strh r0, [r1] - ldr r1, _080264C4 @ =gBattle_BG2_X - movs r2, 0xD0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080264C8 @ =gUnknown_82506D0 - movs r1, 0x60 - movs r2, 0x20 - bl LoadPalette - ldr r1, _080264CC @ =gUnknown_82506F0 - movs r0, 0xD - movs r2, 0 - movs r3, 0 - bl CopyToWindowPixelBuffer - movs r0, 0xD - bl PutWindowTilemap - movs r0, 0xD - movs r1, 0x3 - bl CopyWindowToVram - bl PutMonIconOnLvlUpBox - pop {r0} - bx r0 - .align 2, 0 -_080264C0: .4byte gBattle_BG2_Y -_080264C4: .4byte gBattle_BG2_X -_080264C8: .4byte gUnknown_82506D0 -_080264CC: .4byte gUnknown_82506F0 - thumb_func_end sub_8026480 - - thumb_func_start sub_80264D0 -sub_80264D0: @ 80264D0 - push {r4,r5,lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _080264E0 - movs r0, 0x1 - b _0802651A -_080264E0: - ldr r4, _080264F0 @ =gBattle_BG2_X - ldrh r1, [r4] - movs r5, 0x80 - lsls r5, 2 - cmp r1, r5 - bne _080264F4 - movs r0, 0 - b _0802651A - .align 2, 0 -_080264F0: .4byte gBattle_BG2_X -_080264F4: - movs r0, 0xD0 - lsls r0, 1 - cmp r1, r0 - bne _08026500 - bl PutLevelAndGenderOnLvlUpBox -_08026500: - ldrh r0, [r4] - adds r0, 0x8 - strh r0, [r4] - lsls r0, 16 - ldr r1, _08026520 @ =0x01ff0000 - cmp r0, r1 - bls _08026510 - strh r5, [r4] -_08026510: - ldrh r1, [r4] - eors r1, r5 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_0802651A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08026520: .4byte 0x01ff0000 - thumb_func_end sub_80264D0 - - thumb_func_start PutLevelAndGenderOnLvlUpBox -PutLevelAndGenderOnLvlUpBox: @ 8026524 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r6, _080265F8 @ =gBattleStruct - ldr r0, [r6] - ldrb r0, [r0, 0x10] - movs r5, 0x64 - muls r0, r5 - ldr r4, _080265FC @ =gPlayerParty - adds r0, r4 - movs r1, 0x38 - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, [r6] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - bl GetMonGender - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r6] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - ldr r6, _08026600 @ =gStringVar4 - adds r1, r6, 0 - bl GetMonNickname - str r6, [sp] - mov r1, sp - movs r4, 0 - movs r0, 0xD - strb r0, [r1, 0x4] - mov r0, sp - strb r4, [r0, 0x5] - movs r5, 0x20 - strb r5, [r0, 0x6] - strb r4, [r0, 0x7] - strb r5, [r0, 0x8] - strb r4, [r0, 0x9] - strb r4, [r0, 0xA] - strb r4, [r0, 0xB] - mov r3, sp - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - mov r2, sp - movs r0, 0x10 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - mov r0, sp - strb r5, [r0, 0xD] - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - movs r0, 0xF9 - strb r0, [r6] - adds r6, 0x1 - movs r0, 0x5 - strb r0, [r6] - adds r6, 0x1 - strb r4, [r6] - adds r6, 0x1 - adds r4, r6, 0 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r6, r0, 0 - movs r1, 0 - movs r2, 0x5 - bl StringFill - adds r6, r4, 0x4 - cmp r7, 0xFF - beq _08026624 - cmp r7, 0 - bne _08026604 - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xC - bl WriteColorChangeControlCode - adds r6, r0, 0 - movs r1, 0x1 - movs r2, 0xD - bl WriteColorChangeControlCode - adds r6, r0, 0 - movs r0, 0xB5 - b _0802661C - .align 2, 0 -_080265F8: .4byte gBattleStruct -_080265FC: .4byte gPlayerParty -_08026600: .4byte gStringVar4 -_08026604: - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xE - bl WriteColorChangeControlCode - adds r6, r0, 0 - movs r1, 0x1 - movs r2, 0xF - bl WriteColorChangeControlCode - adds r6, r0, 0 - movs r0, 0xB6 -_0802661C: - strb r0, [r6] - adds r6, 0x1 - movs r0, 0xFF - strb r0, [r6] -_08026624: - mov r0, sp - movs r1, 0xA - strb r1, [r0, 0x7] - strb r1, [r0, 0x9] - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - movs r0, 0xD - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PutLevelAndGenderOnLvlUpBox - - thumb_func_start sub_8026648 -sub_8026648: @ 8026648 - push {lr} - ldr r0, _0802665C @ =gBattle_BG2_X - ldrh r1, [r0] - movs r3, 0xD0 - lsls r3, 1 - adds r2, r0, 0 - cmp r1, r3 - bne _08026660 - movs r0, 0 - b _08026684 - .align 2, 0 -_0802665C: .4byte gBattle_BG2_X -_08026660: - ldrh r0, [r2] - adds r1, r0, 0 - subs r1, 0x10 - ldr r0, _08026670 @ =0x0000019f - cmp r1, r0 - bgt _08026674 - strh r3, [r2] - b _08026676 - .align 2, 0 -_08026670: .4byte 0x0000019f -_08026674: - strh r1, [r2] -_08026676: - ldrh r1, [r2] - movs r0, 0xD0 - lsls r0, 1 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_08026684: - pop {r1} - bx r1 - thumb_func_end sub_8026648 - - thumb_func_start PutMonIconOnLvlUpBox -PutMonIconOnLvlUpBox: @ 8026688 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - ldr r0, _08026730 @ =gBattleStruct - mov r8, r0 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08026734 @ =gPlayerParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r1, r8 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - bl GetMonIconPtr - str r0, [sp] - ldr r5, _08026738 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r5 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - ldr r1, _0802673C @ =0x0000ffff - ands r0, r1 - ldr r1, _08026740 @ =0xd75a0000 - orrs r0, r1 - str r0, [sp, 0x4] - adds r0, r4, 0 - bl GetValidMonIconPalettePtr - str r0, [sp, 0x8] - add r4, sp, 0x8 - ldr r0, [r4, 0x4] - ands r0, r5 - ldr r1, _08026744 @ =0x0000d75a - orrs r0, r1 - str r0, [r4, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - ldr r0, _08026748 @ =sSpriteTemplate_MonIconOnLvlUpBox - movs r1, 0x80 - lsls r1, 1 - movs r2, 0xA - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0802674C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, _08026750 @ =gBattle_BG2_X - ldrh r0, [r0] - strh r0, [r1, 0x30] - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08026730: .4byte gBattleStruct -_08026734: .4byte gPlayerParty -_08026738: .4byte 0xffff0000 -_0802673C: .4byte 0x0000ffff -_08026740: .4byte 0xd75a0000 -_08026744: .4byte 0x0000d75a -_08026748: .4byte sSpriteTemplate_MonIconOnLvlUpBox -_0802674C: .4byte gSprites -_08026750: .4byte gBattle_BG2_X - thumb_func_end PutMonIconOnLvlUpBox - - thumb_func_start SpriteCB_MonIconOnLvlUpBox -SpriteCB_MonIconOnLvlUpBox: @ 8026754 - push {r4,lr} - adds r2, r0, 0 - ldr r0, _08026770 @ =gBattle_BG2_X - ldrh r1, [r2, 0x30] - ldrh r0, [r0] - subs r1, r0 - strh r1, [r2, 0x24] - lsls r1, 16 - cmp r1, 0 - beq _08026774 - movs r0, 0x1 - strh r0, [r2, 0x2E] - b _08026790 - .align 2, 0 -_08026770: .4byte gBattle_BG2_X -_08026774: - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _08026790 - adds r0, r2, 0 - bl DestroySprite - ldr r4, _08026798 @ =0x0000d75a - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag -_08026790: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08026798: .4byte 0x0000d75a - thumb_func_end SpriteCB_MonIconOnLvlUpBox - - thumb_func_start IsMonGettingExpSentOut -IsMonGettingExpSentOut: @ 802679C - push {lr} - ldr r3, _080267C4 @ =gBattlerPartyIndexes - ldr r0, _080267C8 @ =gBattleStruct - ldr r0, [r0] - ldrh r1, [r3] - ldrb r2, [r0, 0x10] - cmp r1, r2 - beq _080267BE - ldr r0, _080267CC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080267D0 - ldrh r0, [r3, 0x4] - cmp r0, r2 - bne _080267D0 -_080267BE: - movs r0, 0x1 - b _080267D2 - .align 2, 0 -_080267C4: .4byte gBattlerPartyIndexes -_080267C8: .4byte gBattleStruct -_080267CC: .4byte gBattleTypeFlags -_080267D0: - movs r0, 0 -_080267D2: - pop {r1} - bx r1 - thumb_func_end IsMonGettingExpSentOut - - thumb_func_start atk6D_resetsentmonsvalue -atk6D_resetsentmonsvalue: @ 80267D8 - push {lr} - bl ResetSentPokesToOpponentValue - ldr r1, _080267EC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080267EC: .4byte gBattlescriptCurrInstr - thumb_func_end atk6D_resetsentmonsvalue - - thumb_func_start atk6E_setatktoplayer0 -atk6E_setatktoplayer0: @ 80267F0 - push {lr} - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, _08026808 @ =gBattlerAttacker - strb r0, [r1] - ldr r1, _0802680C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08026808: .4byte gBattlerAttacker -_0802680C: .4byte gBattlescriptCurrInstr - thumb_func_end atk6E_setatktoplayer0 - - thumb_func_start atk6F_makevisible -atk6F_makevisible: @ 8026810 - push {r4,r5,lr} - ldr r5, _0802683C @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08026840 @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802683C: .4byte gBattlescriptCurrInstr -_08026840: .4byte gActiveBattler - thumb_func_end atk6F_makevisible - - thumb_func_start atk70_recordlastability -atk70_recordlastability: @ 8026844 - push {r4,lr} - ldr r4, _0802686C @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08026870 @ =gActiveBattler - strb r0, [r1] - ldrb r0, [r1] - ldr r1, _08026874 @ =gLastUsedAbility - ldrb r1, [r1] - bl RecordAbilityBattle - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802686C: .4byte gBattlescriptCurrInstr -_08026870: .4byte gActiveBattler -_08026874: .4byte gLastUsedAbility - thumb_func_end atk70_recordlastability - - thumb_func_start BufferMoveToLearnIntoBattleTextBuff2 -BufferMoveToLearnIntoBattleTextBuff2: @ 8026878 - ldr r2, _08026898 @ =gBattleTextBuff2 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x2 - strb r0, [r2, 0x1] - ldr r0, _0802689C @ =gMoveToLearn - ldrh r1, [r0] - strb r1, [r2, 0x2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r2, 0x3] - movs r0, 0xFF - strb r0, [r2, 0x4] - bx lr - .align 2, 0 -_08026898: .4byte gBattleTextBuff2 -_0802689C: .4byte gMoveToLearn - thumb_func_end BufferMoveToLearnIntoBattleTextBuff2 - - thumb_func_start atk71_buffermovetolearn -atk71_buffermovetolearn: @ 80268A0 - push {lr} - bl BufferMoveToLearnIntoBattleTextBuff2 - ldr r1, _080268B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080268B4: .4byte gBattlescriptCurrInstr - thumb_func_end atk71_buffermovetolearn - - thumb_func_start atk72_jumpifplayerran -atk72_jumpifplayerran: @ 80268B8 - push {lr} - ldr r0, _080268E4 @ =gBattlerFainted - ldrb r0, [r0] - bl TryRunFromBattle - lsls r0, 24 - cmp r0, 0 - beq _080268EC - ldr r3, _080268E8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _080268F4 - .align 2, 0 -_080268E4: .4byte gBattlerFainted -_080268E8: .4byte gBattlescriptCurrInstr -_080268EC: - ldr r1, _080268F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_080268F4: - pop {r0} - bx r0 - .align 2, 0 -_080268F8: .4byte gBattlescriptCurrInstr - thumb_func_end atk72_jumpifplayerran - - thumb_func_start atk73_hpthresholds -atk73_hpthresholds: @ 80268FC - push {r4-r6,lr} - ldr r0, _0802694C @ =gBattleTypeFlags - ldr r4, [r0] - movs r6, 0x1 - ands r4, r6 - cmp r4, 0 - bne _08026992 - ldr r0, _08026950 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08026954 @ =gActiveBattler - strb r0, [r1] - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08026958 @ =gBattleMons - movs r1, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r5, [r1, 0x28] - movs r0, 0x64 - muls r0, r5 - ldrh r1, [r1, 0x2C] - bl __divsi3 - cmp r0, 0 - bne _0802693A - movs r0, 0x1 -_0802693A: - cmp r0, 0x45 - bgt _08026942 - cmp r5, 0 - bne _08026960 -_08026942: - ldr r0, _0802695C @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xAD - strb r4, [r0] - b _08026992 - .align 2, 0 -_0802694C: .4byte gBattleTypeFlags -_08026950: .4byte gBattlescriptCurrInstr -_08026954: .4byte gActiveBattler -_08026958: .4byte gBattleMons -_0802695C: .4byte gBattleStruct -_08026960: - cmp r0, 0x27 - ble _08026974 - ldr r0, _08026970 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xAD - strb r6, [r0] - b _08026992 - .align 2, 0 -_08026970: .4byte gBattleStruct -_08026974: - cmp r0, 0x9 - ble _08026988 - ldr r0, _08026984 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xAD - movs r1, 0x2 - b _08026990 - .align 2, 0 -_08026984: .4byte gBattleStruct -_08026988: - ldr r0, _080269A0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xAD - movs r1, 0x3 -_08026990: - strb r1, [r0] -_08026992: - ldr r1, _080269A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080269A0: .4byte gBattleStruct -_080269A4: .4byte gBattlescriptCurrInstr - thumb_func_end atk73_hpthresholds - - thumb_func_start atk74_hpthresholds2 -atk74_hpthresholds2: @ 80269A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08026A0C @ =gBattleTypeFlags - ldr r7, [r0] - movs r0, 0x1 - mov r8, r0 - ands r7, r0 - cmp r7, 0 - bne _08026A42 - ldr r0, _08026A10 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - adds r4, r0, 0 - ldr r0, _08026A14 @ =gActiveBattler - strb r4, [r0] - movs r0, 0x1 - eors r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - ldr r1, _08026A18 @ =gBattleStruct - ldr r6, [r1] - lsrs r0, 23 - adds r0, r6 - adds r0, 0xA8 - ldrb r5, [r0] - ldr r1, _08026A1C @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - ldrh r4, [r0, 0x28] - subs r1, r5, r4 - movs r0, 0x64 - muls r0, r1 - adds r1, r5, 0 - bl __divsi3 - adds r1, r0, 0 - cmp r4, r5 - bcc _08026A20 - adds r0, r6, 0 - adds r0, 0xAD - strb r7, [r0] - b _08026A42 - .align 2, 0 -_08026A0C: .4byte gBattleTypeFlags -_08026A10: .4byte gBattlescriptCurrInstr -_08026A14: .4byte gActiveBattler -_08026A18: .4byte gBattleStruct -_08026A1C: .4byte gBattleMons -_08026A20: - cmp r0, 0x1D - bgt _08026A2E - adds r0, r6, 0 - adds r0, 0xAD - mov r1, r8 - strb r1, [r0] - b _08026A42 -_08026A2E: - cmp r1, 0x45 - bgt _08026A3A - adds r1, r6, 0 - adds r1, 0xAD - movs r0, 0x2 - b _08026A40 -_08026A3A: - adds r1, r6, 0 - adds r1, 0xAD - movs r0, 0x3 -_08026A40: - strb r0, [r1] -_08026A42: - ldr r1, _08026A54 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08026A54: .4byte gBattlescriptCurrInstr - thumb_func_end atk74_hpthresholds2 - - thumb_func_start atk75_useitemonopponent -atk75_useitemonopponent: @ 8026A58 - push {lr} - sub sp, 0x4 - ldr r2, _08026A98 @ =gBattlerInMenuId - ldr r1, _08026A9C @ =gBattlerAttacker - ldrb r0, [r1] - strb r0, [r2] - ldr r2, _08026AA0 @ =gBattlerPartyIndexes - ldrb r0, [r1] - lsls r0, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r1, _08026AA4 @ =gEnemyParty - adds r0, r1 - ldr r1, _08026AA8 @ =gLastUsedItem - ldrh r1, [r1] - lsls r2, 24 - lsrs r2, 24 - movs r3, 0x1 - str r3, [sp] - movs r3, 0 - bl PokemonUseItemEffects - ldr r1, _08026AAC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08026A98: .4byte gBattlerInMenuId -_08026A9C: .4byte gBattlerAttacker -_08026AA0: .4byte gBattlerPartyIndexes -_08026AA4: .4byte gEnemyParty -_08026AA8: .4byte gLastUsedItem -_08026AAC: .4byte gBattlescriptCurrInstr - thumb_func_end atk75_useitemonopponent - - thumb_func_start atk76_various -atk76_various: @ 8026AB0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - ldr r4, _08026ADC @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08026AE0 @ =gActiveBattler - strb r0, [r1] - ldr r0, [r4] - ldrb r0, [r0, 0x2] - cmp r0, 0xC - bls _08026AD2 - b _08026F4E -_08026AD2: - lsls r0, 2 - ldr r1, _08026AE4 @ =_08026AE8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08026ADC: .4byte gBattlescriptCurrInstr -_08026AE0: .4byte gActiveBattler -_08026AE4: .4byte _08026AE8 - .align 2, 0 -_08026AE8: - .4byte _08026B1C - .4byte _08026B2C - .4byte _08026B8C - .4byte _08026B9C - .4byte _08026BB4 - .4byte _08026BF0 - .4byte _08026C28 - .4byte _08026CB4 - .4byte _08026CF4 - .4byte _08026D50 - .4byte _08026D64 - .4byte _08026DA0 - .4byte _08026F44 -_08026B1C: - ldr r0, _08026B28 @ =gActiveBattler - ldrb r0, [r0] - bl CancelMultiTurnMoves - b _08026F4E - .align 2, 0 -_08026B28: .4byte gActiveBattler -_08026B2C: - ldr r1, _08026B68 @ =gBattlerAttacker - ldr r4, _08026B6C @ =gBattlerTarget - ldrb r0, [r4] - strb r0, [r1] - ldrb r0, [r1] - bl GetBattlerSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08026B70 @ =gSideTimers - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _08026B78 - ldr r1, _08026B74 @ =gBattleMons - ldrb r2, [r2, 0x9] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08026B78 - strb r2, [r4] - b _08026F4E - .align 2, 0 -_08026B68: .4byte gBattlerAttacker -_08026B6C: .4byte gBattlerTarget -_08026B70: .4byte gSideTimers -_08026B74: .4byte gBattleMons -_08026B78: - ldr r0, _08026B84 @ =gBattlerTarget - ldr r1, _08026B88 @ =gActiveBattler - ldrb r1, [r1] - strb r1, [r0] - b _08026F4E - .align 2, 0 -_08026B84: .4byte gBattlerTarget -_08026B88: .4byte gActiveBattler -_08026B8C: - bl IsRunningFromBattleImpossible - ldr r1, _08026B98 @ =gBattleCommunication - strb r0, [r1] - b _08026F4E - .align 2, 0 -_08026B98: .4byte gBattleCommunication -_08026B9C: - ldr r0, _08026BAC @ =gCurrentMove - ldrh r0, [r0] - movs r1, 0 - bl GetMoveTarget - ldr r1, _08026BB0 @ =gBattlerTarget - strb r0, [r1] - b _08026F4E - .align 2, 0 -_08026BAC: .4byte gCurrentMove -_08026BB0: .4byte gBattlerTarget -_08026BB4: - ldr r2, _08026BD4 @ =gHitMarker - ldr r1, _08026BD8 @ =gBitTable - ldr r0, _08026BDC @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r0, 28 - ldr r2, [r2] - ands r2, r0 - cmp r2, 0 - beq _08026BE4 - ldr r1, _08026BE0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1] - b _08026F4E - .align 2, 0 -_08026BD4: .4byte gHitMarker -_08026BD8: .4byte gBitTable -_08026BDC: .4byte gActiveBattler -_08026BE0: .4byte gBattleCommunication -_08026BE4: - ldr r0, _08026BEC @ =gBattleCommunication - strb r2, [r0] - b _08026F4E - .align 2, 0 -_08026BEC: .4byte gBattleCommunication -_08026BF0: - ldr r4, _08026C20 @ =gSpecialStatuses - ldr r3, _08026C24 @ =gActiveBattler - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - b _08026F4E - .align 2, 0 -_08026C20: .4byte gSpecialStatuses -_08026C24: .4byte gActiveBattler -_08026C28: - ldr r4, _08026C4C @ =gBattlerPartyIndexes - ldr r1, _08026C50 @ =gBattleStruct - ldr r0, [r1] - ldrh r3, [r4] - ldrb r2, [r0, 0x10] - adds r5, r1, 0 - cmp r3, r2 - beq _08026C44 - ldrh r0, [r4, 0x4] - cmp r0, r2 - beq _08026C40 - b _08026F4E -_08026C40: - cmp r3, r0 - bne _08026C58 -_08026C44: - ldr r1, _08026C54 @ =gActiveBattler - movs r0, 0 - b _08026C5C - .align 2, 0 -_08026C4C: .4byte gBattlerPartyIndexes -_08026C50: .4byte gBattleStruct -_08026C54: .4byte gActiveBattler -_08026C58: - ldr r1, _08026CAC @ =gActiveBattler - movs r0, 0x2 -_08026C5C: - strb r0, [r1] - mov r8, r1 - mov r0, r8 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, 0xC8 - ldr r1, [r5] - adds r3, r1, r0 - movs r7, 0 - ldr r1, _08026CB0 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - ldrh r2, [r3] - cmp r0, r2 - beq _08026C9E - mov r5, r8 - movs r4, 0x58 - adds r2, r1, 0 -_08026C86: - adds r7, 0x1 - cmp r7, 0x3 - bgt _08026C9E - lsls r1, r7, 1 - ldrb r0, [r5] - muls r0, r4 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - ldrh r1, [r3] - cmp r0, r1 - bne _08026C86 -_08026C9E: - cmp r7, 0x4 - beq _08026CA4 - b _08026F4E -_08026CA4: - movs r0, 0 - strh r0, [r3] - b _08026F4E - .align 2, 0 -_08026CAC: .4byte gActiveBattler -_08026CB0: .4byte gBattleMons -_08026CB4: - ldr r0, _08026CE4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0xB - ands r0, r1 - cmp r0, 0x8 - beq _08026CC2 - b _08026F4E -_08026CC2: - ldr r1, _08026CE8 @ =gBattleMons - ldrh r0, [r1, 0x28] - cmp r0, 0 - bne _08026CCC - b _08026F4E -_08026CCC: - adds r0, r1, 0 - adds r0, 0x80 - ldrh r0, [r0] - cmp r0, 0 - bne _08026CD8 - b _08026F4E -_08026CD8: - ldr r0, _08026CEC @ =gHitMarker - ldr r1, [r0] - ldr r2, _08026CF0 @ =0xffbfffff - ands r1, r2 - str r1, [r0] - b _08026F4E - .align 2, 0 -_08026CE4: .4byte gBattleTypeFlags -_08026CE8: .4byte gBattleMons -_08026CEC: .4byte gHitMarker -_08026CF0: .4byte 0xffbfffff -_08026CF4: - movs r7, 0 - ldr r2, _08026D3C @ =gBattleCommunication - strb r7, [r2, 0x5] - ldr r1, _08026D40 @ =gActiveBattler - movs r0, 0x1 - strb r0, [r1] - mov r8, r1 - ldr r0, _08026D44 @ =gBattlersCount - mov r4, r8 - ldrb r5, [r0] - ldr r6, _08026D48 @ =gBattleMons - ldr r3, _08026D4C @ =gBitTable -_08026D0C: - ldrb r0, [r4] - cmp r0, r5 - bcs _08026D2A - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08026D2A - ldr r0, [r3] - ldrb r1, [r2, 0x5] - orrs r0, r1 - strb r0, [r2, 0x5] -_08026D2A: - adds r3, 0x4 - ldrb r0, [r4] - adds r0, 0x2 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08026D0C - b _08026F4E - .align 2, 0 -_08026D3C: .4byte gBattleCommunication -_08026D40: .4byte gActiveBattler -_08026D44: .4byte gBattlersCount -_08026D48: .4byte gBattleMons -_08026D4C: .4byte gBitTable -_08026D50: - ldr r4, _08026D5C @ =gActiveBattler - movs r0, 0x1 - strb r0, [r4] - ldr r0, _08026D60 @ =gBattleMons - adds r0, 0x58 - b _08026D7C - .align 2, 0 -_08026D5C: .4byte gActiveBattler -_08026D60: .4byte gBattleMons -_08026D64: - ldr r0, _08026D94 @ =gBattlersCount - ldrb r0, [r0] - cmp r0, 0x3 - bhi _08026D6E - b _08026F4E -_08026D6E: - ldr r4, _08026D98 @ =gActiveBattler - movs r0, 0x3 - strb r0, [r4] - ldr r0, _08026D9C @ =gBattleMons - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 -_08026D7C: - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _08026D84 - b _08026F4E -_08026D84: - movs r0, 0 - movs r1, 0 - bl BtlController_EmitReturnMonToBall - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _08026F4E - .align 2, 0 -_08026D94: .4byte gBattlersCount -_08026D98: .4byte gActiveBattler -_08026D9C: .4byte gBattleMons -_08026DA0: - ldr r0, _08026F28 @ =gBattleCommunication - movs r1, 0 - strb r1, [r0, 0x5] - mov r8, r1 - movs r7, 0 - ldr r0, _08026F2C @ =gBattlersCount - mov r12, r0 - ldrb r2, [r0] - cmp r8, r2 - bge _08026DEE - ldr r4, _08026F30 @ =gBattleMons - adds r3, r4, 0 - adds r3, 0x50 - adds r6, r4, 0 - adds r6, 0x20 - movs r5, 0 -_08026DC0: - ldrb r0, [r6] - cmp r0, 0x2B - beq _08026DDE - adds r2, r4, 0 - adds r2, 0x4C - adds r2, r5, r2 - ldr r0, [r2] - movs r1, 0x8 - negs r1, r1 - ands r0, r1 - str r0, [r2] - ldr r0, [r3] - ldr r1, _08026F34 @ =0xf7ffffff - ands r0, r1 - str r0, [r3] -_08026DDE: - adds r3, 0x58 - adds r6, 0x58 - adds r5, 0x58 - adds r7, 0x1 - mov r0, r12 - ldrb r0, [r0] - cmp r7, r0 - blt _08026DC0 -_08026DEE: - movs r7, 0 - movs r1, 0xCE - lsls r1, 1 - mov r9, r1 -_08026DF6: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _08026F38 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - adds r1, r0, 0 - str r1, [sp, 0x4] - cmp r5, 0 - beq _08026E4E - cmp r5, r9 - beq _08026E4E - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08026E4E - adds r0, r5, 0 - adds r1, r6, 0 - bl GetAbilityBySpecies - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2B - beq _08026E4E - movs r0, 0x1 - lsls r0, r7 - mov r2, r8 - orrs r2, r0 - mov r8, r2 -_08026E4E: - adds r7, 0x1 - cmp r7, 0x5 - ble _08026DF6 - mov r0, r8 - cmp r0, 0 - beq _08026E88 - movs r0, 0 - bl GetBattlerAtPosition - ldr r4, _08026F3C @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - str r0, [sp, 0x4] - mov r1, r8 - lsls r2, r1, 24 - lsrs r2, 24 - add r0, sp, 0x4 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _08026F28 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] -_08026E88: - movs r1, 0 - mov r8, r1 - movs r7, 0 - movs r2, 0xCE - lsls r2, 1 - mov r9, r2 -_08026E94: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _08026F40 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - adds r1, r0, 0 - str r1, [sp, 0x4] - cmp r5, 0 - beq _08026EEC - cmp r5, r9 - beq _08026EEC - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08026EEC - adds r0, r5, 0 - adds r1, r6, 0 - bl GetAbilityBySpecies - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2B - beq _08026EEC - movs r0, 0x1 - lsls r0, r7 - mov r1, r8 - orrs r1, r0 - mov r8, r1 -_08026EEC: - adds r7, 0x1 - cmp r7, 0x5 - ble _08026E94 - mov r2, r8 - cmp r2, 0 - beq _08026F4E - movs r0, 0x1 - bl GetBattlerAtPosition - ldr r4, _08026F3C @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - str r0, [sp, 0x4] - mov r0, r8 - lsls r2, r0, 24 - lsrs r2, 24 - add r1, sp, 0x4 - str r1, [sp] - movs r0, 0 - movs r1, 0x28 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _08026F28 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08026F4E - .align 2, 0 -_08026F28: .4byte gBattleCommunication -_08026F2C: .4byte gBattlersCount -_08026F30: .4byte gBattleMons -_08026F34: .4byte 0xf7ffffff -_08026F38: .4byte gPlayerParty -_08026F3C: .4byte gActiveBattler -_08026F40: .4byte gEnemyParty -_08026F44: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08026F56 -_08026F4E: - ldr r1, _08026F64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 - str r0, [r1] -_08026F56: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08026F64: .4byte gBattlescriptCurrInstr - thumb_func_end atk76_various - - thumb_func_start atk77_setprotectlike -atk77_setprotectlike: @ 8026F68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0x1 - ldr r2, _08027034 @ =gLastResultingMoves - ldr r1, _08027038 @ =gBattlerAttacker - ldrb r3, [r1] - lsls r0, r3, 1 - adds r0, r2 - ldrh r0, [r0] - mov r8, r1 - ldr r7, _0802703C @ =gDisableStructs - cmp r0, 0xB6 - beq _08026F98 - cmp r0, 0xC5 - beq _08026F98 - cmp r0, 0xCB - beq _08026F98 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r7 - movs r1, 0 - strb r1, [r0, 0x8] -_08026F98: - ldr r0, _08027040 @ =gCurrentTurnActionNumber - ldrb r1, [r0] - ldr r0, _08027044 @ =gBattlersCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _08026FA8 - movs r6, 0 -_08026FA8: - ldr r2, _08027048 @ =sProtectSuccessRates - mov r5, r8 - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r4, [r0, 0x8] - lsls r4, 1 - adds r4, r2 - bl Random - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bcc _0802705C - cmp r6, 0 - beq _0802705C - ldr r4, _0802704C @ =gBattleMoves - ldr r3, _08027050 @ =gCurrentMove - ldrh r0, [r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - cmp r0, 0x6F - bne _08026FF8 - ldr r0, _08027054 @ =gProtectStructs - ldrb r1, [r5] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1] - ldr r1, _08027058 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] -_08026FF8: - ldrh r0, [r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - cmp r0, 0x74 - bne _0802701E - ldr r0, _08027054 @ =gProtectStructs - ldrb r1, [r5] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] - ldr r1, _08027058 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] -_0802701E: - mov r1, r8 - ldrb r0, [r1] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] - b _0802707E - .align 2, 0 -_08027034: .4byte gLastResultingMoves -_08027038: .4byte gBattlerAttacker -_0802703C: .4byte gDisableStructs -_08027040: .4byte gCurrentTurnActionNumber -_08027044: .4byte gBattlersCount -_08027048: .4byte sProtectSuccessRates -_0802704C: .4byte gBattleMoves -_08027050: .4byte gCurrentMove -_08027054: .4byte gProtectStructs -_08027058: .4byte gBattleCommunication -_0802705C: - ldr r2, _08027090 @ =gDisableStructs - ldr r0, _08027094 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x8] - ldr r1, _08027098 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - ldr r2, _0802709C @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_0802707E: - ldr r1, _080270A0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027090: .4byte gDisableStructs -_08027094: .4byte gBattlerAttacker -_08027098: .4byte gBattleCommunication -_0802709C: .4byte gMoveResultFlags -_080270A0: .4byte gBattlescriptCurrInstr - thumb_func_end atk77_setprotectlike - - thumb_func_start atk78_faintifabilitynotdamp -atk78_faintifabilitynotdamp: @ 80270A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08027160 @ =gBattleControllerExecFlags - ldr r2, [r0] - cmp r2, 0 - bne _080271A8 - ldr r1, _08027164 @ =gBattlerTarget - strb r2, [r1] - ldr r0, _08027168 @ =gBattlersCount - ldrb r3, [r0] - adds r5, r1, 0 - mov r8, r0 - ldr r6, _0802716C @ =gBattleMons - cmp r2, r3 - bcs _080270F0 - adds r0, r6, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x6 - beq _080270F0 - adds r2, r3, 0 - adds r4, r6, 0 - movs r3, 0x58 -_080270D4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r2 - bcs _080270F0 - ldrb r0, [r5] - muls r0, r3 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x6 - bne _080270D4 -_080270F0: - ldrb r0, [r5] - mov r1, r8 - ldrb r1, [r1] - cmp r0, r1 - bne _0802718C - ldr r4, _08027170 @ =gActiveBattler - ldr r7, _08027174 @ =gBattlerAttacker - ldrb r0, [r7] - strb r0, [r4] - ldr r2, _08027178 @ =gBattleMoveDamage - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r0, r6 - ldrh r0, [r0, 0x28] - str r0, [r2] - ldr r1, _0802717C @ =0x00007fff - movs r0, 0 - bl BtlController_EmitHealthBarUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _08027180 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - movs r0, 0 - strb r0, [r5] - mov r2, r8 - ldrb r0, [r2] - cmp r0, 0 - beq _080271A8 - adds r3, r5, 0 - ldrb r5, [r7] - ldr r7, _08027184 @ =gBitTable - adds r4, r0, 0 - ldr r6, _08027188 @ =gAbsentBattlerFlags -_0802713C: - ldrb r2, [r3] - cmp r2, r5 - beq _08027152 - ldrb r0, [r6] - ldrb r1, [r3] - lsls r1, 2 - adds r1, r7 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _080271A8 -_08027152: - adds r0, r2, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r4 - bcc _0802713C - b _080271A8 - .align 2, 0 -_08027160: .4byte gBattleControllerExecFlags -_08027164: .4byte gBattlerTarget -_08027168: .4byte gBattlersCount -_0802716C: .4byte gBattleMons -_08027170: .4byte gActiveBattler -_08027174: .4byte gBattlerAttacker -_08027178: .4byte gBattleMoveDamage -_0802717C: .4byte 0x00007fff -_08027180: .4byte gBattlescriptCurrInstr -_08027184: .4byte gBitTable -_08027188: .4byte gAbsentBattlerFlags -_0802718C: - ldr r1, _080271B4 @ =gLastUsedAbility - movs r0, 0x6 - strb r0, [r1] - ldrb r0, [r5] - movs r1, 0x58 - muls r1, r0 - adds r1, r6 - adds r1, 0x20 - ldrb r1, [r1] - bl RecordAbilityBattle - ldr r1, _080271B8 @ =gBattlescriptCurrInstr - ldr r0, _080271BC @ =BattleScript_DampStopsExplosion - str r0, [r1] -_080271A8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080271B4: .4byte gLastUsedAbility -_080271B8: .4byte gBattlescriptCurrInstr -_080271BC: .4byte BattleScript_DampStopsExplosion - thumb_func_end atk78_faintifabilitynotdamp - - thumb_func_start atk79_setatkhptozero -atk79_setatkhptozero: @ 80271C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0802720C @ =gBattleControllerExecFlags - ldr r3, [r0] - cmp r3, 0 - bne _08027204 - ldr r4, _08027210 @ =gActiveBattler - ldr r0, _08027214 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - ldr r1, _08027218 @ =gBattleMons - ldrb r0, [r4] - movs r2, 0x58 - muls r0, r2 - adds r0, r1 - strh r3, [r0, 0x28] - ldrb r0, [r4] - muls r0, r2 - adds r1, 0x28 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2A - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _0802721C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08027204: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802720C: .4byte gBattleControllerExecFlags -_08027210: .4byte gActiveBattler -_08027214: .4byte gBattlerAttacker -_08027218: .4byte gBattleMons -_0802721C: .4byte gBattlescriptCurrInstr - thumb_func_end atk79_setatkhptozero - - thumb_func_start atk7A_jumpifnexttargetvalid -atk7A_jumpifnexttargetvalid: @ 8027220 - push {r4-r7,lr} - ldr r3, _08027298 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r4, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r4, r0 - ldr r0, _0802729C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - adds r7, r3, 0 - cmp r0, 0 - beq _080272B8 - ldr r0, _080272A0 @ =gBattlerTarget - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r2, _080272A4 @ =gBattlerAttacker - lsls r1, 24 - lsrs r1, 24 - adds r3, r0, 0 - ldr r6, _080272A8 @ =gAbsentBattlerFlags - ldr r5, _080272AC @ =gBitTable - ldr r0, _080272B0 @ =gBattlersCount - mov r12, r0 - ldrb r0, [r2] - cmp r1, r0 - bne _08027276 -_08027266: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2] - cmp r0, r1 - beq _08027266 -_08027276: - ldrb r0, [r6] - ldrb r1, [r3] - lsls r1, 2 - adds r1, r5 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _08027266 - ldrb r0, [r3] - mov r2, r12 - ldrb r2, [r2] - cmp r0, r2 - bcc _080272B4 - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - b _080272BC - .align 2, 0 -_08027298: .4byte gBattlescriptCurrInstr -_0802729C: .4byte gBattleTypeFlags -_080272A0: .4byte gBattlerTarget -_080272A4: .4byte gBattlerAttacker -_080272A8: .4byte gAbsentBattlerFlags -_080272AC: .4byte gBitTable -_080272B0: .4byte gBattlersCount -_080272B4: - str r4, [r7] - b _080272BC -_080272B8: - adds r0, r2, 0x5 - str r0, [r3] -_080272BC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk7A_jumpifnexttargetvalid - - thumb_func_start atk7B_tryhealhalfhealth -atk7B_tryhealhalfhealth: @ 80272C4 - push {r4-r6,lr} - ldr r4, _08027320 @ =gBattlescriptCurrInstr - ldr r1, [r4] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r2, r0 - ldrb r0, [r1, 0x5] - ldr r3, _08027324 @ =gBattlerTarget - cmp r0, 0x1 - bne _080272EC - ldr r0, _08027328 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r3] -_080272EC: - ldr r1, _0802732C @ =gBattleMoveDamage - ldr r6, _08027330 @ =gBattleMons - ldrb r0, [r3] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _08027306 - movs r0, 0x1 - str r0, [r1] -_08027306: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldrb r0, [r3] - muls r0, r5 - adds r0, r6 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - bne _08027334 - str r2, [r4] - b _0802733A - .align 2, 0 -_08027320: .4byte gBattlescriptCurrInstr -_08027324: .4byte gBattlerTarget -_08027328: .4byte gBattlerAttacker -_0802732C: .4byte gBattleMoveDamage -_08027330: .4byte gBattleMons -_08027334: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_0802733A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk7B_tryhealhalfhealth - - thumb_func_start atk7C_trymirrormove -atk7C_trymirrormove: @ 8027340 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r2, _080273E0 @ =gBattlersCount - ldr r0, _080273E4 @ =gBattleStruct - mov r10, r0 - movs r1, 0 - add r0, sp, 0x4 -_08027356: - strh r1, [r0] - subs r0, 0x2 - cmp r0, sp - bge _08027356 - movs r1, 0 - mov r8, r1 - movs r5, 0 - ldrb r1, [r2] - cmp r5, r1 - bge _080273AC - ldr r0, _080273E8 @ =gBattlerAttacker - ldrb r6, [r0] - ldr r2, _080273EC @ =0x0000ffff - mov r9, r2 - lsls r4, r6, 3 - mov r2, sp - ldr r0, _080273E4 @ =gBattleStruct - mov r12, r0 - adds r7, r1, 0 -_0802737C: - cmp r5, r6 - beq _080273A4 - mov r1, r12 - ldr r0, [r1] - adds r0, r4, r0 - adds r1, r0, 0 - adds r1, 0xE0 - ldrb r3, [r1] - adds r0, 0xE1 - ldrb r0, [r0] - lsls r0, 8 - orrs r3, r0 - cmp r3, 0 - beq _080273A4 - cmp r3, r9 - beq _080273A4 - strh r3, [r2] - adds r2, 0x2 - movs r0, 0x1 - add r8, r0 -_080273A4: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, r7 - blt _0802737C -_080273AC: - ldr r1, _080273E8 @ =gBattlerAttacker - ldrb r0, [r1] - mov r2, r10 - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r1, r0, 0 - adds r1, 0x98 - ldrb r3, [r1] - adds r0, 0x99 - ldrb r0, [r0] - lsls r0, 8 - orrs r3, r0 - cmp r3, 0 - beq _080273FC - ldr r0, _080273EC @ =0x0000ffff - cmp r3, r0 - beq _080273FC - ldr r2, _080273F0 @ =gHitMarker - ldr r0, [r2] - ldr r1, _080273F4 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _080273F8 @ =gCurrentMove - strh r3, [r4] - b _08027426 - .align 2, 0 -_080273E0: .4byte gBattlersCount -_080273E4: .4byte gBattleStruct -_080273E8: .4byte gBattlerAttacker -_080273EC: .4byte 0x0000ffff -_080273F0: .4byte gHitMarker -_080273F4: .4byte 0xfffffbff -_080273F8: .4byte gCurrentMove -_080273FC: - mov r0, r8 - cmp r0, 0 - beq _0802746C - ldr r2, _08027450 @ =gHitMarker - ldr r0, [r2] - ldr r1, _08027454 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r1, r8 - bl __modsi3 - adds r5, r0, 0 - ldr r4, _08027458 @ =gCurrentMove - lsls r0, r5, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4] -_08027426: - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _0802745C @ =gBattlerTarget - strb r0, [r1] - ldr r5, _08027460 @ =gBattlescriptCurrInstr - ldr r3, _08027464 @ =gBattleScriptsForMoveEffects - ldr r2, _08027468 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - str r0, [r5] - b _0802748A - .align 2, 0 -_08027450: .4byte gHitMarker -_08027454: .4byte 0xfffffbff -_08027458: .4byte gCurrentMove -_0802745C: .4byte gBattlerTarget -_08027460: .4byte gBattlescriptCurrInstr -_08027464: .4byte gBattleScriptsForMoveEffects -_08027468: .4byte gBattleMoves -_0802746C: - ldr r2, _0802749C @ =gSpecialStatuses - ldr r0, _080274A0 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r1, _080274A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0802748A: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802749C: .4byte gSpecialStatuses -_080274A0: .4byte gBattlerAttacker -_080274A4: .4byte gBattlescriptCurrInstr - thumb_func_end atk7C_trymirrormove - - thumb_func_start atk7D_setrain -atk7D_setrain: @ 80274A8 - push {lr} - ldr r2, _080274C8 @ =gBattleWeather - ldrh r0, [r2] - movs r1, 0x7 - ands r1, r0 - cmp r1, 0 - beq _080274D4 - ldr r2, _080274CC @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080274D0 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _080274E4 - .align 2, 0 -_080274C8: .4byte gBattleWeather -_080274CC: .4byte gMoveResultFlags -_080274D0: .4byte gBattleCommunication -_080274D4: - movs r0, 0x1 - strh r0, [r2] - ldr r0, _080274F0 @ =gBattleCommunication - strb r1, [r0, 0x5] - ldr r0, _080274F4 @ =gWishFutureKnock - adds r0, 0x28 - movs r1, 0x5 - strb r1, [r0] -_080274E4: - ldr r1, _080274F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080274F0: .4byte gBattleCommunication -_080274F4: .4byte gWishFutureKnock -_080274F8: .4byte gBattlescriptCurrInstr - thumb_func_end atk7D_setrain - - thumb_func_start atk7E_setreflect -atk7E_setreflect: @ 80274FC - push {r4-r6,lr} - ldr r6, _0802752C @ =gBattlerAttacker - ldrb r0, [r6] - bl GetBattlerPosition - ldr r4, _08027530 @ =gSideStatuses - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r1, [r1] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0802753C - ldr r2, _08027534 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08027538 @ =gBattleCommunication - movs r0, 0 - b _080275B0 - .align 2, 0 -_0802752C: .4byte gBattlerAttacker -_08027530: .4byte gSideStatuses -_08027534: .4byte gMoveResultFlags -_08027538: .4byte gBattleCommunication -_0802753C: - ldrb r0, [r6] - bl GetBattlerPosition - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r6] - bl GetBattlerPosition - ldr r4, _080275A0 @ =gSideTimers - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x5 - strb r1, [r0] - ldrb r0, [r6] - bl GetBattlerPosition - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r6] - strb r1, [r0, 0x1] - ldr r0, _080275A4 @ =gBattleTypeFlags - ldr r0, [r0] - ands r0, r5 - cmp r0, 0 - beq _080275AC - movs r0, 0x1 - bl CountAliveMonsInBattle - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bne _080275AC - ldr r0, _080275A8 @ =gBattleCommunication - strb r1, [r0, 0x5] - b _080275B2 - .align 2, 0 -_080275A0: .4byte gSideTimers -_080275A4: .4byte gBattleTypeFlags -_080275A8: .4byte gBattleCommunication -_080275AC: - ldr r1, _080275C0 @ =gBattleCommunication - movs r0, 0x1 -_080275B0: - strb r0, [r1, 0x5] -_080275B2: - ldr r1, _080275C4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080275C0: .4byte gBattleCommunication -_080275C4: .4byte gBattlescriptCurrInstr - thumb_func_end atk7E_setreflect - - thumb_func_start atk7F_setseeded -atk7F_setseeded: @ 80275C8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r7, _08027608 @ =gMoveResultFlags - ldrb r5, [r7] - movs r0, 0x29 - ands r0, r5 - cmp r0, 0 - bne _080275FA - ldr r0, _0802760C @ =gStatuses3 - mov r9, r0 - ldr r1, _08027610 @ =gBattlerTarget - mov r8, r1 - ldrb r4, [r1] - lsls r0, r4, 2 - mov r2, r9 - adds r6, r0, r2 - ldr r2, [r6] - movs r0, 0x4 - mov r12, r0 - adds r3, r2, 0 - ands r3, r0 - cmp r3, 0 - beq _08027618 -_080275FA: - movs r0, 0x1 - orrs r0, r5 - strb r0, [r7] - ldr r1, _08027614 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08027668 - .align 2, 0 -_08027608: .4byte gMoveResultFlags -_0802760C: .4byte gStatuses3 -_08027610: .4byte gBattlerTarget -_08027614: .4byte gBattleCommunication -_08027618: - ldr r1, _08027644 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r1, r0, r1 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xC - beq _08027634 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xC - bne _0802764C -_08027634: - movs r0, 0x1 - orrs r0, r5 - strb r0, [r7] - ldr r1, _08027648 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _08027668 - .align 2, 0 -_08027644: .4byte gBattleMons -_08027648: .4byte gBattleCommunication -_0802764C: - ldr r0, _0802767C @ =gBattlerAttacker - ldrb r0, [r0] - orrs r2, r0 - str r2, [r6] - mov r2, r8 - ldrb r1, [r2] - lsls r1, 2 - add r1, r9 - ldr r0, [r1] - mov r2, r12 - orrs r0, r2 - str r0, [r1] - ldr r0, _08027680 @ =gBattleCommunication - strb r3, [r0, 0x5] -_08027668: - ldr r1, _08027684 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802767C: .4byte gBattlerAttacker -_08027680: .4byte gBattleCommunication -_08027684: .4byte gBattlescriptCurrInstr - thumb_func_end atk7F_setseeded - - thumb_func_start atk80_manipulatedamage -atk80_manipulatedamage: @ 8027688 - push {r4,lr} - ldr r1, _080276A0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - ldrb r2, [r0, 0x1] - adds r4, r1, 0 - cmp r2, 0x1 - beq _080276B8 - cmp r2, 0x1 - bgt _080276A4 - cmp r2, 0 - beq _080276AA - b _080276F8 - .align 2, 0 -_080276A0: .4byte gBattlescriptCurrInstr -_080276A4: - cmp r2, 0x2 - beq _080276F0 - b _080276F8 -_080276AA: - ldr r1, _080276B4 @ =gBattleMoveDamage - ldr r0, [r1] - negs r0, r0 - b _080276F6 - .align 2, 0 -_080276B4: .4byte gBattleMoveDamage -_080276B8: - ldr r3, _080276E4 @ =gBattleMoveDamage - ldr r0, [r3] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - str r0, [r3] - cmp r0, 0 - bne _080276CA - str r2, [r3] -_080276CA: - ldr r2, _080276E8 @ =gBattleMons - ldr r0, _080276EC @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2C] - lsrs r1, r0, 1 - ldr r0, [r3] - cmp r1, r0 - bge _080276F8 - str r1, [r3] - b _080276F8 - .align 2, 0 -_080276E4: .4byte gBattleMoveDamage -_080276E8: .4byte gBattleMons -_080276EC: .4byte gBattlerTarget -_080276F0: - ldr r1, _08027704 @ =gBattleMoveDamage - ldr r0, [r1] - lsls r0, 1 -_080276F6: - str r0, [r1] -_080276F8: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08027704: .4byte gBattleMoveDamage - thumb_func_end atk80_manipulatedamage - - thumb_func_start atk81_trysetrest -atk81_trysetrest: @ 8027708 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _08027760 @ =gBattlescriptCurrInstr - mov r12, r0 - ldr r1, [r0] - ldrb r6, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r6, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r6, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r6, r0 - ldr r5, _08027764 @ =gActiveBattler - ldr r2, _08027768 @ =gBattlerTarget - ldr r0, _0802776C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r2] - strb r0, [r5] - ldr r4, _08027770 @ =gBattleMoveDamage - ldr r1, _08027774 @ =gBattleMons - ldrb r0, [r2] - movs r3, 0x58 - muls r0, r3 - adds r0, r1 - ldrh r0, [r0, 0x2C] - negs r0, r0 - str r0, [r4] - ldrb r0, [r2] - adds r4, r0, 0 - muls r4, r3 - adds r0, r4, r1 - ldrh r3, [r0, 0x28] - adds r7, r5, 0 - adds r5, r2, 0 - adds r2, r1, 0 - ldrh r0, [r0, 0x2C] - cmp r3, r0 - bne _08027778 - mov r0, r12 - str r6, [r0] - b _080277C8 - .align 2, 0 -_08027760: .4byte gBattlescriptCurrInstr -_08027764: .4byte gActiveBattler -_08027768: .4byte gBattlerTarget -_0802776C: .4byte gBattlerAttacker -_08027770: .4byte gBattleMoveDamage -_08027774: .4byte gBattleMons -_08027778: - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0xF8 - ands r1, r0 - cmp r1, 0 - beq _08027794 - ldr r1, _08027790 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08027798 - .align 2, 0 -_08027790: .4byte gBattleCommunication -_08027794: - ldr r0, _080277D0 @ =gBattleCommunication - strb r1, [r0, 0x5] -_08027798: - ldrb r0, [r5] - movs r3, 0x58 - muls r0, r3 - adds r2, 0x4C - adds r0, r2 - movs r1, 0x3 - str r1, [r0] - ldrb r0, [r7] - muls r0, r3 - adds r0, r2 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldr r1, _080277D4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_080277C8: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080277D0: .4byte gBattleCommunication -_080277D4: .4byte gBattlescriptCurrInstr - thumb_func_end atk81_trysetrest - - thumb_func_start atk82_jumpifnotfirstturn -atk82_jumpifnotfirstturn: @ 80277D8 - push {r4,r5,lr} - ldr r5, _0802780C @ =gBattlescriptCurrInstr - ldr r4, [r5] - ldrb r3, [r4, 0x1] - ldrb r0, [r4, 0x2] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r4, 0x3] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r4, 0x4] - lsls r0, 24 - orrs r3, r0 - ldr r2, _08027810 @ =gDisableStructs - ldr r0, _08027814 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x16] - cmp r0, 0 - beq _08027818 - adds r0, r4, 0x5 - str r0, [r5] - b _0802781A - .align 2, 0 -_0802780C: .4byte gBattlescriptCurrInstr -_08027810: .4byte gDisableStructs -_08027814: .4byte gBattlerAttacker -_08027818: - str r3, [r5] -_0802781A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end atk82_jumpifnotfirstturn - - thumb_func_start atk83_nop -atk83_nop: @ 8027820 - ldr r1, _0802782C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802782C: .4byte gBattlescriptCurrInstr - thumb_func_end atk83_nop - - thumb_func_start UproarWakeUpCheck -UproarWakeUpCheck: @ 8027830 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r0, _08027888 @ =gBattlersCount - ldrb r1, [r0] - mov r8, r0 - cmp r2, r1 - bge _080278A4 - ldr r0, _0802788C @ =gBattleMons - mov r12, r0 - movs r0, 0x58 - muls r0, r3 - add r0, r12 - adds r5, r0, 0 - adds r5, 0x20 - adds r4, r1, 0 - movs r3, 0 - ldr r6, _08027890 @ =gBattleScripting - ldr r7, _08027894 @ =gBattleCommunication -_0802785C: - mov r0, r12 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x70 - ands r0, r1 - cmp r0, 0 - beq _0802789C - ldrb r0, [r5] - cmp r0, 0x2B - beq _0802789C - movs r3, 0 - strb r2, [r6, 0x17] - ldr r1, _08027898 @ =gBattlerTarget - ldrb r0, [r1] - cmp r0, 0xFF - beq _080278BC - cmp r0, r2 - beq _080278B0 - movs r0, 0x1 - strb r0, [r7, 0x5] - b _080278A4 - .align 2, 0 -_08027888: .4byte gBattlersCount -_0802788C: .4byte gBattleMons -_08027890: .4byte gBattleScripting -_08027894: .4byte gBattleCommunication -_08027898: .4byte gBattlerTarget -_0802789C: - adds r3, 0x58 - adds r2, 0x1 - cmp r2, r4 - blt _0802785C -_080278A4: - mov r1, r8 - ldrb r1, [r1] - cmp r2, r1 - beq _080278C0 - movs r0, 0x1 - b _080278C2 -_080278B0: - ldr r0, _080278B8 @ =gBattleCommunication - strb r3, [r0, 0x5] - b _080278A4 - .align 2, 0 -_080278B8: .4byte gBattleCommunication -_080278BC: - strb r2, [r1] - b _080278A4 -_080278C0: - movs r0, 0 -_080278C2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end UproarWakeUpCheck - - thumb_func_start atk84_jumpifcantmakeasleep -atk84_jumpifcantmakeasleep: @ 80278CC - push {r4-r6,lr} - ldr r5, _080278F8 @ =gBattlescriptCurrInstr - ldr r1, [r5] - ldrb r4, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r4, r0 - ldr r6, _080278FC @ =gBattlerTarget - ldrb r0, [r6] - bl UproarWakeUpCheck - lsls r0, 24 - cmp r0, 0 - beq _08027900 - str r4, [r5] - b _08027942 - .align 2, 0 -_080278F8: .4byte gBattlescriptCurrInstr -_080278FC: .4byte gBattlerTarget -_08027900: - ldr r1, _08027930 @ =gBattleMons - ldrb r3, [r6] - movs r0, 0x58 - muls r0, r3 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - adds r1, r0, 0 - cmp r1, 0xF - beq _08027918 - cmp r1, 0x48 - bne _0802793C -_08027918: - ldr r2, _08027934 @ =gLastUsedAbility - strb r0, [r2] - ldr r1, _08027938 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - str r4, [r5] - ldrb r1, [r2] - adds r0, r3, 0 - bl RecordAbilityBattle - b _08027942 - .align 2, 0 -_08027930: .4byte gBattleMons -_08027934: .4byte gLastUsedAbility -_08027938: .4byte gBattleCommunication -_0802793C: - ldr r0, [r5] - adds r0, 0x5 - str r0, [r5] -_08027942: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk84_jumpifcantmakeasleep - - thumb_func_start atk85_stockpile -atk85_stockpile: @ 8027948 - push {r4,r5,lr} - ldr r5, _08027970 @ =gDisableStructs - ldr r4, _08027974 @ =gBattlerAttacker - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x9] - cmp r0, 0x3 - bne _08027980 - ldr r2, _08027978 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802797C @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _080279AA - .align 2, 0 -_08027970: .4byte gDisableStructs -_08027974: .4byte gBattlerAttacker -_08027978: .4byte gMoveResultFlags -_0802797C: .4byte gBattleCommunication -_08027980: - adds r0, 0x1 - movs r3, 0 - strb r0, [r1, 0x9] - ldr r2, _080279B8 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x1 - strb r0, [r2, 0x1] - strb r0, [r2, 0x2] - strb r0, [r2, 0x3] - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x9] - strb r0, [r2, 0x4] - movs r0, 0xFF - strb r0, [r2, 0x5] - ldr r0, _080279BC @ =gBattleCommunication - strb r3, [r0, 0x5] -_080279AA: - ldr r1, _080279C0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080279B8: .4byte gBattleTextBuff1 -_080279BC: .4byte gBattleCommunication -_080279C0: .4byte gBattlescriptCurrInstr - thumb_func_end atk85_stockpile - - thumb_func_start atk86_stockpiletobasedamage -atk86_stockpiletobasedamage: @ 80279C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r3, _080279FC @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r2, r0 - ldr r7, _08027A00 @ =gDisableStructs - ldr r6, _08027A04 @ =gBattlerAttacker - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _08027A08 - str r2, [r3] - b _08027AAA - .align 2, 0 -_080279FC: .4byte gBattlescriptCurrInstr -_08027A00: .4byte gDisableStructs -_08027A04: .4byte gBattlerAttacker -_08027A08: - ldr r0, _08027AB8 @ =gBattleCommunication - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - beq _08027A90 - ldr r0, _08027ABC @ =gBattleMoveDamage - mov r8, r0 - ldr r4, _08027AC0 @ =gSideStatuses - ldr r5, _08027AC4 @ =gBattlerTarget - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldrb r0, [r6] - movs r4, 0x58 - muls r0, r4 - ldr r2, _08027AC8 @ =gBattleMons - adds r0, r2 - ldrb r1, [r5] - muls r1, r4 - adds r1, r2 - ldr r2, _08027ACC @ =gCurrentMove - ldrh r2, [r2] - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - ldrb r4, [r6] - str r4, [sp, 0x8] - ldrb r4, [r5] - str r4, [sp, 0xC] - bl CalculateBaseDamage - ldrb r2, [r6] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r7 - ldrb r1, [r1, 0x9] - adds r3, r0, 0 - muls r3, r1 - mov r1, r8 - str r3, [r1] - ldr r2, _08027AD0 @ =gBattleScripting - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x9] - strb r0, [r2, 0x18] - ldr r1, _08027AD4 @ =gProtectStructs - ldrb r0, [r6] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _08027A90 - lsls r0, r3, 4 - subs r0, r3 - movs r1, 0xA - bl __divsi3 - mov r1, r8 - str r0, [r1] -_08027A90: - ldr r2, _08027AD8 @ =gDisableStructs - ldr r0, _08027ADC @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x9] - ldr r1, _08027AE0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08027AAA: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027AB8: .4byte gBattleCommunication -_08027ABC: .4byte gBattleMoveDamage -_08027AC0: .4byte gSideStatuses -_08027AC4: .4byte gBattlerTarget -_08027AC8: .4byte gBattleMons -_08027ACC: .4byte gCurrentMove -_08027AD0: .4byte gBattleScripting -_08027AD4: .4byte gProtectStructs -_08027AD8: .4byte gDisableStructs -_08027ADC: .4byte gBattlerAttacker -_08027AE0: .4byte gBattlescriptCurrInstr - thumb_func_end atk86_stockpiletobasedamage - - thumb_func_start atk87_stockpiletohpheal -atk87_stockpiletohpheal: @ 8027AE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _08027B24 @ =gBattlescriptCurrInstr - ldr r1, [r7] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r2, r0 - ldr r0, _08027B28 @ =gDisableStructs - mov r8, r0 - ldr r6, _08027B2C @ =gBattlerAttacker - ldrb r3, [r6] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - mov r1, r8 - adds r4, r0, r1 - ldrb r1, [r4, 0x9] - cmp r1, 0 - bne _08027B34 - str r2, [r7] - ldr r0, _08027B30 @ =gBattleCommunication - strb r1, [r0, 0x5] - b _08027BB0 - .align 2, 0 -_08027B24: .4byte gBattlescriptCurrInstr -_08027B28: .4byte gDisableStructs -_08027B2C: .4byte gBattlerAttacker -_08027B30: .4byte gBattleCommunication -_08027B34: - ldr r1, _08027B58 @ =gBattleMons - movs r0, 0x58 - muls r0, r3 - adds r1, r0, r1 - ldrh r0, [r1, 0x2C] - ldrh r3, [r1, 0x28] - cmp r0, r3 - bne _08027B64 - movs r0, 0 - strb r0, [r4, 0x9] - str r2, [r7] - ldr r1, _08027B5C @ =gBattlerTarget - ldrb r0, [r6] - strb r0, [r1] - ldr r1, _08027B60 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08027BB0 - .align 2, 0 -_08027B58: .4byte gBattleMons -_08027B5C: .4byte gBattlerTarget -_08027B60: .4byte gBattleCommunication -_08027B64: - ldr r5, _08027BBC @ =gBattleMoveDamage - ldrh r0, [r1, 0x2C] - ldrb r1, [r4, 0x9] - movs r2, 0x3 - subs r2, r1 - movs r4, 0x1 - adds r1, r4, 0 - lsls r1, r2 - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _08027B80 - str r4, [r5] -_08027B80: - ldr r0, [r5] - negs r0, r0 - str r0, [r5] - ldr r3, _08027BC0 @ =gBattleScripting - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x9] - movs r2, 0 - strb r0, [r3, 0x18] - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - strb r2, [r0, 0x9] - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - ldr r1, _08027BC4 @ =gBattlerTarget - ldrb r0, [r6] - strb r0, [r1] -_08027BB0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027BBC: .4byte gBattleMoveDamage -_08027BC0: .4byte gBattleScripting -_08027BC4: .4byte gBattlerTarget - thumb_func_end atk87_stockpiletohpheal - - thumb_func_start atk88_negativedamage -atk88_negativedamage: @ 8027BC8 - push {lr} - ldr r2, _08027BF0 @ =gBattleMoveDamage - ldr r0, _08027BF4 @ =gHpDealt - ldr r0, [r0] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - negs r0, r0 - str r0, [r2] - cmp r0, 0 - bne _08027BE4 - movs r0, 0x1 - negs r0, r0 - str r0, [r2] -_08027BE4: - ldr r1, _08027BF8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08027BF0: .4byte gBattleMoveDamage -_08027BF4: .4byte gHpDealt -_08027BF8: .4byte gBattlescriptCurrInstr - thumb_func_end atk88_negativedamage - - thumb_func_start ChangeStatBuffs -ChangeStatBuffs: @ 8027BFC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r3 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0 - mov r9, r0 - mov r10, r0 - movs r0, 0x40 - ands r0, r5 - cmp r0, 0 - beq _08027C30 - ldr r0, _08027C28 @ =gActiveBattler - ldr r1, _08027C2C @ =gBattlerAttacker - b _08027C34 - .align 2, 0 -_08027C28: .4byte gActiveBattler -_08027C2C: .4byte gBattlerAttacker -_08027C30: - ldr r0, _08027CD4 @ =gActiveBattler - ldr r1, _08027CD8 @ =gBattlerTarget -_08027C34: - ldrb r1, [r1] - strb r1, [r0] - movs r0, 0xBF - ands r5, r0 - movs r0, 0x80 - ands r0, r5 - cmp r0, 0 - beq _08027C4E - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08027C4E: - movs r0, 0x7F - ands r5, r0 - movs r0, 0x20 - ands r0, r5 - cmp r0, 0 - beq _08027C64 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_08027C64: - movs r0, 0xDF - ands r5, r0 - ldr r1, _08027CDC @ =gBattleTextBuff1 - movs r4, 0 - movs r2, 0xFD - strb r2, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - strb r7, [r1, 0x2] - movs r3, 0x1 - negs r3, r3 - mov r12, r3 - movs r0, 0xFF - strb r0, [r1, 0x3] - lsls r0, r6, 24 - cmp r0, 0 - blt _08027C88 - b _08027F6C -_08027C88: - ldr r4, _08027CE0 @ =gSideTimers - ldr r1, _08027CD4 @ =gActiveBattler - ldrb r0, [r1] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08027D28 - mov r2, r9 - cmp r2, 0 - bne _08027D28 - ldr r0, _08027CE4 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAE - beq _08027D58 - cmp r5, 0x1 - bne _08027D48 - ldr r4, _08027CE8 @ =gSpecialStatuses - ldr r3, _08027CD4 @ =gActiveBattler - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08027CF0 - ldr r0, _08027CEC @ =gBattlescriptCurrInstr - mov r4, r8 - str r4, [r0] - b _08027D48 - .align 2, 0 -_08027CD4: .4byte gActiveBattler -_08027CD8: .4byte gBattlerTarget -_08027CDC: .4byte gBattleTextBuff1 -_08027CE0: .4byte gSideTimers -_08027CE4: .4byte gCurrentMove -_08027CE8: .4byte gSpecialStatuses -_08027CEC: .4byte gBattlescriptCurrInstr -_08027CF0: - mov r0, r8 - bl BattleScriptPush - ldr r1, _08027D18 @ =gBattleScripting - ldr r6, _08027D1C @ =gActiveBattler - ldrb r0, [r6] - strb r0, [r1, 0x17] - ldr r1, _08027D20 @ =gBattlescriptCurrInstr - ldr r0, _08027D24 @ =BattleScript_MistProtected - str r0, [r1] - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _08027D48 - .align 2, 0 -_08027D18: .4byte gBattleScripting -_08027D1C: .4byte gActiveBattler -_08027D20: .4byte gBattlescriptCurrInstr -_08027D24: .4byte BattleScript_MistProtected -_08027D28: - ldr r0, _08027D4C @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAE - beq _08027D58 - mov r0, r10 - cmp r0, 0x1 - beq _08027D58 - movs r0, 0 - bl JumpIfMoveAffectedByProtect - lsls r0, 24 - cmp r0, 0 - beq _08027D58 - ldr r1, _08027D50 @ =gBattlescriptCurrInstr - ldr r0, _08027D54 @ =BattleScript_ButItFailed - str r0, [r1] -_08027D48: - movs r0, 0x1 - b _08028060 - .align 2, 0 -_08027D4C: .4byte gCurrentMove -_08027D50: .4byte gBattlescriptCurrInstr -_08027D54: .4byte BattleScript_ButItFailed -_08027D58: - ldr r2, _08027DA0 @ =gBattleMons - ldr r1, _08027DA4 @ =gActiveBattler - ldrb r3, [r1] - movs r4, 0x58 - adds r0, r3, 0 - muls r0, r4 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - mov r10, r2 - cmp r0, 0x1D - beq _08027D74 - cmp r0, 0x49 - bne _08027E0C -_08027D74: - mov r0, r9 - cmp r0, 0 - bne _08027E0C - ldr r0, _08027DA8 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAE - beq _08027E0C - cmp r5, 0x1 - bne _08027D48 - ldr r4, _08027DAC @ =gSpecialStatuses - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _08027DB4 - ldr r0, _08027DB0 @ =gBattlescriptCurrInstr - mov r1, r8 - str r1, [r0] - b _08027D48 - .align 2, 0 -_08027DA0: .4byte gBattleMons -_08027DA4: .4byte gActiveBattler -_08027DA8: .4byte gCurrentMove -_08027DAC: .4byte gSpecialStatuses -_08027DB0: .4byte gBattlescriptCurrInstr -_08027DB4: - mov r0, r8 - bl BattleScriptPush - ldr r1, _08027DF8 @ =gBattleScripting - ldr r2, _08027DFC @ =gActiveBattler - ldrb r0, [r2] - strb r0, [r1, 0x17] - ldr r1, _08027E00 @ =gBattlescriptCurrInstr - ldr r0, _08027E04 @ =BattleScript_AbilityNoStatLoss - str r0, [r1] - ldr r1, _08027E08 @ =gLastUsedAbility - ldrb r0, [r2] - movs r3, 0x58 - muls r0, r3 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r2] - ldrb r1, [r1] - bl RecordAbilityBattle - ldr r6, _08027DFC @ =gActiveBattler - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _08027D48 - .align 2, 0 -_08027DF8: .4byte gBattleScripting -_08027DFC: .4byte gActiveBattler -_08027E00: .4byte gBattlescriptCurrInstr -_08027E04: .4byte BattleScript_AbilityNoStatLoss -_08027E08: .4byte gLastUsedAbility -_08027E0C: - ldr r1, _08027E58 @ =gActiveBattler - ldrb r0, [r1] - movs r4, 0x58 - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x33 - bne _08027E6C - mov r2, r9 - cmp r2, 0 - bne _08027E6C - cmp r7, 0x6 - bne _08027E6C - cmp r5, 0x1 - bne _08027D48 - mov r0, r8 - bl BattleScriptPush - ldr r1, _08027E5C @ =gBattleScripting - ldr r3, _08027E58 @ =gActiveBattler - ldrb r0, [r3] - strb r0, [r1, 0x17] - ldr r1, _08027E60 @ =gBattlescriptCurrInstr - ldr r0, _08027E64 @ =BattleScript_AbilityNoSpecificStatLoss - str r0, [r1] - ldr r1, _08027E68 @ =gLastUsedAbility - ldrb r0, [r3] - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r3] - ldrb r1, [r1] - bl RecordAbilityBattle - b _08027D48 - .align 2, 0 -_08027E58: .4byte gActiveBattler -_08027E5C: .4byte gBattleScripting -_08027E60: .4byte gBattlescriptCurrInstr -_08027E64: .4byte BattleScript_AbilityNoSpecificStatLoss -_08027E68: .4byte gLastUsedAbility -_08027E6C: - ldr r4, _08027EBC @ =gActiveBattler - ldrb r0, [r4] - movs r4, 0x58 - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x34 - bne _08027ED0 - mov r0, r9 - cmp r0, 0 - bne _08027ED0 - cmp r7, 0x1 - bne _08027ED0 - cmp r5, 0x1 - beq _08027E8E - b _08027D48 -_08027E8E: - mov r0, r8 - bl BattleScriptPush - ldr r1, _08027EC0 @ =gBattleScripting - ldr r2, _08027EBC @ =gActiveBattler - ldrb r0, [r2] - strb r0, [r1, 0x17] - ldr r1, _08027EC4 @ =gBattlescriptCurrInstr - ldr r0, _08027EC8 @ =BattleScript_AbilityNoSpecificStatLoss - str r0, [r1] - ldr r1, _08027ECC @ =gLastUsedAbility - ldrb r0, [r2] - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r2] - ldrb r1, [r1] - bl RecordAbilityBattle - b _08027D48 - .align 2, 0 -_08027EBC: .4byte gActiveBattler -_08027EC0: .4byte gBattleScripting -_08027EC4: .4byte gBattlescriptCurrInstr -_08027EC8: .4byte BattleScript_AbilityNoSpecificStatLoss -_08027ECC: .4byte gLastUsedAbility -_08027ED0: - ldr r3, _08027F5C @ =gActiveBattler - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x13 - bne _08027EE8 - cmp r5, 0 - bne _08027EE8 - b _08027D48 -_08027EE8: - lsls r0, r6, 24 - asrs r0, 28 - movs r1, 0x7 - ands r0, r1 - negs r0, r0 - lsls r0, 24 - ldr r3, _08027F60 @ =gBattleTextBuff2 - movs r4, 0 - movs r1, 0xFD - strb r1, [r3] - movs r2, 0x1 - lsrs r6, r0, 24 - asrs r0, 24 - subs r1, 0xFF - cmp r0, r1 - bne _08027F12 - strb r4, [r3, 0x1] - movs r0, 0xD3 - strb r0, [r3, 0x2] - strb r4, [r3, 0x3] - movs r2, 0x4 -_08027F12: - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - movs r0, 0xD4 - strb r0, [r1] - adds r2, 0x1 - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - movs r0, 0xFF - strb r0, [r1] - ldr r4, _08027F5C @ =gActiveBattler - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r0, r7, r0 - mov r1, r10 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _08027FC2 - movs r1, 0 - ldr r0, _08027F64 @ =gBattlerTarget - ldrb r0, [r0] - ldr r3, _08027F68 @ =gBattleCommunication - mov r8, r3 - cmp r0, r2 - bne _08027F56 - movs r1, 0x1 -_08027F56: - mov r4, r8 - strb r1, [r4, 0x5] - b _08027FF0 - .align 2, 0 -_08027F5C: .4byte gActiveBattler -_08027F60: .4byte gBattleTextBuff2 -_08027F64: .4byte gBattlerTarget -_08027F68: .4byte gBattleCommunication -_08027F6C: - asrs r6, r0, 28 - movs r0, 0x7 - ands r6, r0 - ldr r3, _08027FCC @ =gBattleTextBuff2 - strb r2, [r3] - movs r2, 0x1 - cmp r6, 0x2 - bne _08027F86 - strb r4, [r3, 0x1] - movs r0, 0xD1 - strb r0, [r3, 0x2] - strb r4, [r3, 0x3] - movs r2, 0x4 -_08027F86: - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - movs r0, 0xD2 - strb r0, [r1] - adds r2, 0x1 - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - ldrb r0, [r1] - mov r2, r12 - orrs r0, r2 - strb r0, [r1] - ldr r2, _08027FD0 @ =gBattleMons - ldr r4, _08027FD4 @ =gActiveBattler - ldrb r3, [r4] - movs r0, 0x58 - muls r0, r3 - adds r0, r7, r0 - adds r1, r2, 0 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r10, r2 - cmp r0, 0xC - bne _08027FDC -_08027FC2: - ldr r1, _08027FD8 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - mov r8, r1 - b _08027FF0 - .align 2, 0 -_08027FCC: .4byte gBattleTextBuff2 -_08027FD0: .4byte gBattleMons -_08027FD4: .4byte gActiveBattler -_08027FD8: .4byte gBattleCommunication -_08027FDC: - movs r1, 0 - ldr r0, _08028070 @ =gBattlerTarget - ldrb r0, [r0] - ldr r2, _08028074 @ =gBattleCommunication - mov r8, r2 - cmp r0, r3 - bne _08027FEC - movs r1, 0x1 -_08027FEC: - mov r3, r8 - strb r1, [r3, 0x5] -_08027FF0: - ldr r2, _08028078 @ =gActiveBattler - ldrb r0, [r2] - movs r4, 0x58 - adds r1, r0, 0 - muls r1, r4 - adds r1, r7, r1 - mov r3, r10 - adds r3, 0x18 - adds r1, r3 - lsls r0, r6, 24 - asrs r0, 24 - ldrb r6, [r1] - adds r0, r6 - strb r0, [r1] - ldrb r0, [r2] - muls r0, r4 - adds r0, r7, r0 - adds r1, r0, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bge _08028020 - movs r0, 0 - strb r0, [r1] -_08028020: - ldr r1, _08028078 @ =gActiveBattler - ldrb r0, [r1] - muls r0, r4 - adds r0, r7, r0 - adds r1, r0, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _08028036 - movs r0, 0xC - strb r0, [r1] -_08028036: - mov r2, r8 - ldrb r0, [r2, 0x5] - cmp r0, 0x2 - bne _0802805E - movs r3, 0x1 - ands r3, r5 - cmp r3, 0 - beq _08028050 - ldr r0, _0802807C @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] -_08028050: - mov r4, r8 - ldrb r0, [r4, 0x5] - cmp r0, 0x2 - bne _0802805E - cmp r3, 0 - bne _0802805E - b _08027D48 -_0802805E: - movs r0, 0 -_08028060: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08028070: .4byte gBattlerTarget -_08028074: .4byte gBattleCommunication -_08028078: .4byte gActiveBattler -_0802807C: .4byte gMoveResultFlags - thumb_func_end ChangeStatBuffs - - thumb_func_start atk89_statbuffchange -atk89_statbuffchange: @ 8028080 - push {r4,r5,lr} - ldr r5, _080280C4 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r3, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r3, r0 - ldr r0, _080280C8 @ =gBattleScripting - ldrb r4, [r0, 0x1A] - movs r0, 0xF0 - ands r0, r4 - lsls r0, 24 - asrs r0, 24 - movs r1, 0xF - ands r1, r4 - ldrb r2, [r2, 0x1] - bl ChangeStatBuffs - lsls r0, 24 - cmp r0, 0 - bne _080280BC - ldr r0, [r5] - adds r0, 0x6 - str r0, [r5] -_080280BC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080280C4: .4byte gBattlescriptCurrInstr -_080280C8: .4byte gBattleScripting - thumb_func_end atk89_statbuffchange - - thumb_func_start atk8A_normalisebuffs -atk8A_normalisebuffs: @ 80280CC - push {r4-r7,lr} - movs r2, 0 - ldr r0, _08028114 @ =gBattlersCount - ldrb r1, [r0] - ldr r0, _08028118 @ =gBattlescriptCurrInstr - mov r12, r0 - cmp r2, r1 - bge _08028104 - ldr r0, _0802811C @ =gBattleMons - movs r4, 0x6 - adds r5, r1, 0 - movs r7, 0x58 - adds r6, r0, 0 - adds r6, 0x18 -_080280E8: - adds r3, r2, 0x1 - movs r1, 0x7 - adds r0, r2, 0 - muls r0, r7 - adds r0, r6 - adds r0, 0x7 -_080280F4: - strb r4, [r0] - subs r0, 0x1 - subs r1, 0x1 - cmp r1, 0 - bge _080280F4 - adds r2, r3, 0 - cmp r2, r5 - blt _080280E8 -_08028104: - mov r1, r12 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028114: .4byte gBattlersCount -_08028118: .4byte gBattlescriptCurrInstr -_0802811C: .4byte gBattleMons - thumb_func_end atk8A_normalisebuffs - - thumb_func_start atk8B_setbide -atk8B_setbide: @ 8028120 - push {r4,r5,lr} - ldr r4, _08028178 @ =gBattleMons - ldr r3, _0802817C @ =gBattlerAttacker - ldrb r0, [r3] - movs r5, 0x58 - adds r2, r0, 0 - muls r2, r5 - adds r4, 0x50 - adds r2, r4 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r2] - ldr r1, _08028180 @ =gLockedMoves - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _08028184 @ =gCurrentMove - ldrh r1, [r1] - movs r2, 0 - strh r1, [r0] - ldr r1, _08028188 @ =gTakenDmg - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - str r2, [r0] - ldrb r0, [r3] - adds r1, r0, 0 - muls r1, r5 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 2 - orrs r0, r2 - str r0, [r1] - ldr r1, _0802818C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08028178: .4byte gBattleMons -_0802817C: .4byte gBattlerAttacker -_08028180: .4byte gLockedMoves -_08028184: .4byte gCurrentMove -_08028188: .4byte gTakenDmg -_0802818C: .4byte gBattlescriptCurrInstr - thumb_func_end atk8B_setbide - - thumb_func_start atk8C_confuseifrepeatingattackends -atk8C_confuseifrepeatingattackends: @ 8028190 - push {lr} - ldr r1, _080281C0 @ =gBattleMons - ldr r0, _080281C4 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - ands r0, r1 - cmp r0, 0 - bne _080281B2 - ldr r1, _080281C8 @ =gBattleCommunication - movs r0, 0x75 - strb r0, [r1, 0x3] -_080281B2: - ldr r1, _080281CC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080281C0: .4byte gBattleMons -_080281C4: .4byte gBattlerAttacker -_080281C8: .4byte gBattleCommunication -_080281CC: .4byte gBattlescriptCurrInstr - thumb_func_end atk8C_confuseifrepeatingattackends - - thumb_func_start atk8D_setmultihitcounter -atk8D_setmultihitcounter: @ 80281D0 - push {r4,r5,lr} - ldr r0, _080281E4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x1] - cmp r1, 0 - beq _080281EC - ldr r0, _080281E8 @ =gMultiHitCounter - strb r1, [r0] - b _08028206 - .align 2, 0 -_080281E4: .4byte gBattlescriptCurrInstr -_080281E8: .4byte gMultiHitCounter -_080281EC: - ldr r4, _08028214 @ =gMultiHitCounter - bl Random - movs r5, 0x3 - ands r0, r5 - strb r0, [r4] - cmp r0, 0x1 - bls _08028202 - bl Random - ands r0, r5 -_08028202: - adds r0, 0x2 - strb r0, [r4] -_08028206: - ldr r1, _08028218 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08028214: .4byte gMultiHitCounter -_08028218: .4byte gBattlescriptCurrInstr - thumb_func_end atk8D_setmultihitcounter - - thumb_func_start atk8E_initmultihitstring -atk8E_initmultihitstring: @ 802821C - ldr r1, _0802823C @ =gBattleScripting - movs r2, 0 - movs r0, 0xFD - strb r0, [r1, 0x8] - movs r0, 0x1 - strb r0, [r1, 0x9] - strb r0, [r1, 0xA] - strb r0, [r1, 0xB] - strb r2, [r1, 0xC] - movs r0, 0xFF - strb r0, [r1, 0xD] - ldr r1, _08028240 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802823C: .4byte gBattleScripting -_08028240: .4byte gBattlescriptCurrInstr - thumb_func_end atk8E_initmultihitstring - - thumb_func_start TryDoForceSwitchOut -TryDoForceSwitchOut: @ 8028244 - push {r4-r7,lr} - ldr r6, _08028278 @ =gBattleMons - ldr r7, _0802827C @ =gBattlerAttacker - ldrb r0, [r7] - movs r5, 0x58 - adds r1, r0, 0 - muls r1, r5 - adds r1, r6 - adds r1, 0x2A - ldr r4, _08028280 @ =gBattlerTarget - ldrb r3, [r4] - adds r0, r3, 0 - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bcc _0802828C - ldr r0, _08028284 @ =gBattleStruct - ldr r1, [r0] - adds r1, r3, r1 - adds r1, 0x58 - ldr r2, _08028288 @ =gBattlerPartyIndexes - lsls r0, r3, 1 - b _080282E8 - .align 2, 0 -_08028278: .4byte gBattleMons -_0802827C: .4byte gBattlerAttacker -_08028280: .4byte gBattlerTarget -_08028284: .4byte gBattleStruct -_08028288: .4byte gBattlerPartyIndexes -_0802828C: - bl Random - movs r3, 0xFF - ands r3, r0 - ldrb r0, [r7] - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r2, [r0] - ldrb r4, [r4] - adds r0, r4, 0 - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r0] - adds r2, r1 - adds r0, r3, 0 - muls r0, r2 - asrs r0, 8 - adds r0, 0x1 - lsrs r1, 2 - cmp r0, r1 - bhi _080282DC - ldr r3, _080282D8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - movs r0, 0 - b _080282F6 - .align 2, 0 -_080282D8: .4byte gBattlescriptCurrInstr -_080282DC: - ldr r0, _080282FC @ =gBattleStruct - ldr r1, [r0] - adds r1, r4, r1 - adds r1, 0x58 - ldr r2, _08028300 @ =gBattlerPartyIndexes - lsls r0, r4, 1 -_080282E8: - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldr r1, _08028304 @ =gBattlescriptCurrInstr - ldr r0, _08028308 @ =BattleScript_SuccessForceOut - str r0, [r1] - movs r0, 0x1 -_080282F6: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080282FC: .4byte gBattleStruct -_08028300: .4byte gBattlerPartyIndexes -_08028304: .4byte gBattlescriptCurrInstr -_08028308: .4byte BattleScript_SuccessForceOut - thumb_func_end TryDoForceSwitchOut - thumb_func_start atk8F_forcerandomswitch atk8F_forcerandomswitch: @ 802830C push {r4-r7,lr} -- cgit v1.2.3 From ca130a8aeb39d05340495766a1f33dc854f6b4a1 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 27 Aug 2019 10:27:36 +0800 Subject: thru atkc0 --- asm/battle_script_commands.s | 6463 ------------------------------------------ 1 file changed, 6463 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 68bff599e..5d8648ced 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,6469 +5,6 @@ .text - thumb_func_start atk8F_forcerandomswitch -atk8F_forcerandomswitch: @ 802830C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _080283A4 @ =gBattleTypeFlags - ldr r0, [r4] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08028320 - b _080285F4 -_08028320: - ldr r5, _080283A8 @ =gBattlerTarget - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - ldr r1, _080283AC @ =gEnemyParty - mov r8, r1 - cmp r0, 0 - bne _08028336 - ldr r0, _080283B0 @ =gPlayerParty - mov r8, r0 -_08028336: - ldr r0, [r4] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080283B4 - movs r7, 0 - movs r6, 0 - ldrb r0, [r5] - bl GetBattlerMultiplayerId - lsls r0, 24 - lsrs r0, 24 - bl GetLinkTrainerFlankId - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0802835C - movs r6, 0x3 -_0802835C: - adds r5, r6, 0 - adds r0, r5, 0x3 - cmp r5, r0 - bge _080283F4 -_08028364: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08028396 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08028396 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08028396 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_08028396: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0x3 - cmp r5, r0 - blt _08028364 - b _080283F4 - .align 2, 0 -_080283A4: .4byte gBattleTypeFlags -_080283A8: .4byte gBattlerTarget -_080283AC: .4byte gEnemyParty -_080283B0: .4byte gPlayerParty -_080283B4: - movs r7, 0 - movs r5, 0 -_080283B8: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080283EA - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080283EA - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080283EA - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080283EA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080283B8 -_080283F4: - cmp r7, 0x1 - bhi _08028404 - ldr r0, _08028438 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x41 - ands r0, r1 - cmp r0, 0x1 - bne _0802841C -_08028404: - cmp r7, 0x2 - bhi _08028440 - ldr r0, _08028438 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08028440 - movs r0, 0x40 - ands r1, r0 - cmp r1, 0 - bne _08028440 -_0802841C: - ldr r3, _0802843C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _080285F8 - .align 2, 0 -_08028438: .4byte gBattleTypeFlags -_0802843C: .4byte gBattlescriptCurrInstr -_08028440: - bl TryDoForceSwitchOut - lsls r0, 24 - cmp r0, 0 - bne _0802844C - b _080285F8 -_0802844C: - ldr r0, _0802848C @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080284F0 -_08028458: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08028490 @ =gBattlerTarget - ldrb r0, [r0] - bl GetBattlerMultiplayerId - lsls r0, 24 - lsrs r0, 24 - bl GetLinkTrainerFlankId - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _08028494 - adds r0, r6, 0x3 - lsls r0, 24 - lsrs r5, r0, 24 - b _08028496 - .align 2, 0 -_0802848C: .4byte gBattleTypeFlags -_08028490: .4byte gBattlerTarget -_08028494: - adds r5, r6, 0 -_08028496: - ldr r4, _080284E8 @ =gBattlerPartyIndexes - ldr r0, _080284EC @ =gBattlerTarget - ldrb r2, [r0] - lsls r1, r2, 1 - adds r1, r4 - lsls r0, r5, 16 - lsrs r3, r0, 16 - ldrh r1, [r1] - cmp r3, r1 - beq _08028458 - movs r0, 0x2 - eors r2, r0 - lsls r0, r2, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r3, r0 - beq _08028458 - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08028458 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _08028458 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08028458 - b _080285AE - .align 2, 0 -_080284E8: .4byte gBattlerPartyIndexes -_080284EC: .4byte gBattlerTarget -_080284F0: - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08028560 - ldr r6, _08028558 @ =gBattlerPartyIndexes -_080284FA: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0802855C @ =gBattlerTarget - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r6 - adds r2, r5, 0 - ldrh r0, [r0] - cmp r2, r0 - beq _080284FA - movs r0, 0x2 - eors r1, r0 - lsls r0, r1, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r2, r0 - beq _080284FA - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080284FA - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _080284FA - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080284FA - b _080285AE - .align 2, 0 -_08028558: .4byte gBattlerPartyIndexes -_0802855C: .4byte gBattlerTarget -_08028560: - ldr r6, _080285E8 @ =gBattlerPartyIndexes -_08028562: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080285EC @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r5, r0 - beq _08028562 - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08028562 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _08028562 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08028562 -_080285AE: - ldr r4, _080285EC @ =gBattlerTarget - ldrb r0, [r4] - ldr r1, _080285F0 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x5C - strb r5, [r0] - bl IsMultiBattle - lsls r0, 24 - cmp r0, 0 - bne _080285CC - ldrb r0, [r4] - bl sub_8013F6C -_080285CC: - ldrb r0, [r4] - adds r1, r5, 0 - movs r2, 0 - bl sub_8127EC4 - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8127EC4 - b _080285F8 - .align 2, 0 -_080285E8: .4byte gBattlerPartyIndexes -_080285EC: .4byte gBattlerTarget -_080285F0: .4byte gBattleStruct -_080285F4: - bl TryDoForceSwitchOut -_080285F8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk8F_forcerandomswitch - - thumb_func_start atk90_tryconversiontypechange -atk90_tryconversiontypechange: @ 8028604 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - ldr r2, _08028698 @ =gBattleMons - ldr r3, _0802869C @ =gBattlerAttacker - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r1, r2, 0 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - mov r8, r2 - cmp r0, 0 - beq _08028646 - movs r5, 0x58 - adds r2, r1, 0 -_0802862C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bhi _08028646 - lsls r1, r6, 1 - ldrb r0, [r3] - muls r0, r5 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - cmp r0, 0 - bne _0802862C -_08028646: - movs r3, 0 - cmp r3, r6 - bcs _080286C8 - ldr r0, _080286A0 @ =gBattleMoves - mov r10, r0 - ldr r5, _08028698 @ =gBattleMons - mov r12, r5 - ldr r7, _0802869C @ =gBattlerAttacker - ldrb r0, [r7] - movs r4, 0x58 - adds r5, r0, 0 - muls r5, r4 - movs r0, 0xC - add r0, r12 - mov r9, r0 -_08028664: - lsls r0, r3, 1 - adds r0, r5 - add r0, r9 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r2, [r0, 0x2] - cmp r2, 0x9 - bne _080286A6 - mov r0, r8 - adds r1, r5, r0 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x7 - beq _08028692 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x7 - bne _080286A4 -_08028692: - movs r2, 0x7 - b _080286A6 - .align 2, 0 -_08028698: .4byte gBattleMons -_0802869C: .4byte gBattlerAttacker -_080286A0: .4byte gBattleMoves -_080286A4: - movs r2, 0 -_080286A6: - ldrb r0, [r7] - muls r0, r4 - add r0, r12 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r2, r1 - beq _080286BE - adds r0, 0x22 - ldrb r0, [r0] - cmp r2, r0 - bne _080286C8 -_080286BE: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r6 - bcc _08028664 -_080286C8: - cmp r3, r6 - bne _080286EC - ldr r3, _080286E8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08028790 - .align 2, 0 -_080286E8: .4byte gBattlescriptCurrInstr -_080286EC: - movs r7, 0x3 - ldr r5, _08028744 @ =gBattleMoves - mov r9, r5 -_080286F2: - bl Random - adds r3, r0, 0 - ands r3, r7 - cmp r3, r6 - bcs _080286F2 - ldr r4, _08028748 @ =gBattleMons - lsls r1, r3, 1 - ldr r3, _0802874C @ =gBattlerAttacker - ldrb r2, [r3] - movs r0, 0x58 - adds r5, r2, 0 - muls r5, r0 - adds r1, r5 - adds r0, r4, 0 - adds r0, 0xC - adds r1, r0 - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r2, [r0, 0x2] - mov r8, r4 - adds r4, r3, 0 - cmp r2, 0x9 - bne _08028752 - mov r0, r8 - adds r2, r5, r0 - adds r0, r2, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x7 - beq _08028740 - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x7 - bne _08028750 -_08028740: - movs r2, 0x7 - b _08028752 - .align 2, 0 -_08028744: .4byte gBattleMoves -_08028748: .4byte gBattleMons -_0802874C: .4byte gBattlerAttacker -_08028750: - movs r2, 0 -_08028752: - ldrb r0, [r4] - movs r3, 0x58 - muls r0, r3 - add r0, r8 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r5, [r1] - cmp r2, r5 - beq _080286F2 - adds r0, 0x22 - ldrb r0, [r0] - cmp r2, r0 - beq _080286F2 - strb r2, [r1] - ldrb r0, [r4] - muls r0, r3 - add r0, r8 - adds r0, 0x22 - strb r2, [r0] - ldr r1, _080287A0 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r2, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _080287A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08028790: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080287A0: .4byte gBattleTextBuff1 -_080287A4: .4byte gBattlescriptCurrInstr - thumb_func_end atk90_tryconversiontypechange - - thumb_func_start atk91_givepaydaymoney -atk91_givepaydaymoney: @ 80287A8 - push {r4,r5,lr} - ldr r0, _0802880C @ =gBattleTypeFlags - ldr r0, [r0] - movs r5, 0x2 - ands r0, r5 - cmp r0, 0 - bne _08028828 - ldr r1, _08028810 @ =gPaydayMoney - ldrh r0, [r1] - cmp r0, 0 - beq _08028828 - adds r1, r0, 0 - ldr r0, _08028814 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x4A - ldrb r0, [r0] - adds r4, r1, 0 - muls r4, r0 - ldr r0, _08028818 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - adds r1, r4, 0 - bl AddMoney - ldr r1, _0802881C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - strb r5, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x3] - strb r4, [r1, 0x4] - movs r0, 0xFF - lsls r0, 8 - ands r4, r0 - lsrs r4, 8 - strb r4, [r1, 0x5] - movs r0, 0xFF - strb r0, [r1, 0x6] - ldr r4, _08028820 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08028824 @ =BattleScript_PrintPayDayMoneyString - str r0, [r4] - b _08028830 - .align 2, 0 -_0802880C: .4byte gBattleTypeFlags -_08028810: .4byte gPaydayMoney -_08028814: .4byte gBattleStruct -_08028818: .4byte gSaveBlock1Ptr -_0802881C: .4byte gBattleTextBuff1 -_08028820: .4byte gBattlescriptCurrInstr -_08028824: .4byte BattleScript_PrintPayDayMoneyString -_08028828: - ldr r1, _08028838 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08028830: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08028838: .4byte gBattlescriptCurrInstr - thumb_func_end atk91_givepaydaymoney - - thumb_func_start atk92_setlightscreen -atk92_setlightscreen: @ 802883C - push {r4-r6,lr} - ldr r5, _0802886C @ =gBattlerAttacker - ldrb r0, [r5] - bl GetBattlerPosition - ldr r4, _08028870 @ =gSideStatuses - movs r6, 0x1 - adds r1, r6, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r1, [r1] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802887C - ldr r2, _08028874 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08028878 @ =gBattleCommunication - movs r0, 0 - b _080288F0 - .align 2, 0 -_0802886C: .4byte gBattlerAttacker -_08028870: .4byte gSideStatuses -_08028874: .4byte gMoveResultFlags -_08028878: .4byte gBattleCommunication -_0802887C: - ldrb r0, [r5] - bl GetBattlerPosition - adds r1, r6, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r5] - bl GetBattlerPosition - ldr r4, _080288E0 @ =gSideTimers - adds r1, r6, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x5 - strb r1, [r0, 0x2] - ldrb r0, [r5] - bl GetBattlerPosition - adds r1, r6, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r5] - strb r1, [r0, 0x3] - ldr r0, _080288E4 @ =gBattleTypeFlags - ldr r0, [r0] - ands r0, r6 - cmp r0, 0 - beq _080288EC - movs r0, 0x1 - bl CountAliveMonsInBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080288EC - ldr r1, _080288E8 @ =gBattleCommunication - movs r0, 0x4 - b _080288F0 - .align 2, 0 -_080288E0: .4byte gSideTimers -_080288E4: .4byte gBattleTypeFlags -_080288E8: .4byte gBattleCommunication -_080288EC: - ldr r1, _08028900 @ =gBattleCommunication - movs r0, 0x3 -_080288F0: - strb r0, [r1, 0x5] - ldr r1, _08028904 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08028900: .4byte gBattleCommunication -_08028904: .4byte gBattlescriptCurrInstr - thumb_func_end atk92_setlightscreen - - thumb_func_start atk93_tryKO -atk93_tryKO: @ 8028908 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r7, _08028934 @ =gBattleMons - ldr r6, _08028938 @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _08028940 - ldr r1, _0802893C @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0802895A - .align 2, 0 -_08028934: .4byte gBattleMons -_08028938: .4byte gBattlerTarget -_0802893C: .4byte gEnigmaBerries -_08028940: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0802895A: - ldr r1, _080289D4 @ =gPotentialItemEffectBattler - ldr r5, _080289D8 @ =gBattlerTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _08028998 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _08028998 - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemEffectBattle - ldr r2, _080289DC @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_08028998: - ldr r1, _080289E0 @ =gBattleMons - ldr r2, _080289D8 @ =gBattlerTarget - ldrb r3, [r2] - movs r6, 0x58 - adds r0, r3, 0 - muls r0, r6 - adds r5, r0, r1 - adds r0, r5, 0 - adds r0, 0x20 - ldrb r4, [r0] - mov r8, r1 - mov r9, r2 - cmp r4, 0x5 - bne _080289F4 - ldr r2, _080289E4 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080289E8 @ =gLastUsedAbility - strb r4, [r0] - ldr r1, _080289EC @ =gBattlescriptCurrInstr - ldr r0, _080289F0 @ =BattleScript_SturdyPreventsOHKO - str r0, [r1] - mov r1, r9 - ldrb r0, [r1] - movs r1, 0x5 - bl RecordAbilityBattle - b _08028C48 - .align 2, 0 -_080289D4: .4byte gPotentialItemEffectBattler -_080289D8: .4byte gBattlerTarget -_080289DC: .4byte gSpecialStatuses -_080289E0: .4byte gBattleMons -_080289E4: .4byte gMoveResultFlags -_080289E8: .4byte gLastUsedAbility -_080289EC: .4byte gBattlescriptCurrInstr -_080289F0: .4byte BattleScript_SturdyPreventsOHKO -_080289F4: - ldr r1, _08028A68 @ =gStatuses3 - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x18 - ands r0, r1 - cmp r0, 0 - bne _08028A78 - ldr r1, _08028A6C @ =gBattleMoves - ldr r0, _08028A70 @ =gCurrentMove - ldrh r0, [r0] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldr r7, _08028A74 @ =gBattlerAttacker - ldrb r0, [r7] - muls r0, r6 - add r0, r8 - adds r0, 0x2A - ldrb r0, [r0] - adds r1, r5, 0 - adds r1, 0x2A - ldrb r1, [r1] - subs r0, r1 - ldrb r2, [r2, 0x3] - adds r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - cmp r0, r4 - blt _08028A48 - b _08028BE0 -_08028A48: - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - add r1, r8 - adds r1, 0x2A - mov r2, r9 - ldrb r0, [r2] - muls r0, r6 - add r0, r8 - adds r0, 0x2A - ldrb r1, [r1] - movs r4, 0x1 - ldrb r0, [r0] - cmp r1, r0 - bcs _08028B0E - b _08028BE0 - .align 2, 0 -_08028A68: .4byte gStatuses3 -_08028A6C: .4byte gBattleMoves -_08028A70: .4byte gCurrentMove -_08028A74: .4byte gBattlerAttacker -_08028A78: - ldr r1, _08028B44 @ =gDisableStructs - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldr r1, _08028B48 @ =gBattlerAttacker - ldrb r0, [r0, 0x15] - adds r7, r1, 0 - ldrb r3, [r7] - cmp r0, r3 - bne _08028AA2 - ldrb r0, [r7] - muls r0, r6 - add r0, r8 - adds r0, 0x2A - adds r1, r5, 0 - adds r1, 0x2A - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcs _08028B1A -_08028AA2: - ldr r1, _08028B4C @ =gBattleMoves - ldr r0, _08028B50 @ =gCurrentMove - ldrh r0, [r0] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldr r6, _08028B54 @ =gBattleMons - ldrb r0, [r7] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r0] - ldr r0, _08028B58 @ =gBattlerTarget - mov r8, r0 - ldrb r0, [r0] - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r0, [r0] - subs r1, r0 - ldrb r2, [r2, 0x3] - adds r1, r2 - lsls r1, 16 - lsrs r4, r1, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - cmp r0, r4 - bge _08028B0C - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r5 - adds r1, r6 - adds r1, 0x2A - mov r2, r8 - ldrb r0, [r2] - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r1] - movs r4, 0x1 - ldrb r0, [r0] - cmp r1, r0 - bcs _08028B0E -_08028B0C: - movs r4, 0 -_08028B0E: - ldr r3, _08028B54 @ =gBattleMons - mov r8, r3 - ldr r0, _08028B58 @ =gBattlerTarget - mov r9, r0 - cmp r4, 0 - beq _08028BE0 -_08028B1A: - ldr r0, _08028B5C @ =gProtectStructs - mov r1, r9 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - bge _08028B68 - ldr r1, _08028B60 @ =gBattleMoveDamage - movs r0, 0x58 - muls r0, r2 - add r0, r8 - ldrh r0, [r0, 0x28] - subs r0, 0x1 - str r0, [r1] - ldr r2, _08028B64 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x40 - b _08028BC6 - .align 2, 0 -_08028B44: .4byte gDisableStructs -_08028B48: .4byte gBattlerAttacker -_08028B4C: .4byte gBattleMoves -_08028B50: .4byte gCurrentMove -_08028B54: .4byte gBattleMons -_08028B58: .4byte gBattlerTarget -_08028B5C: .4byte gProtectStructs -_08028B60: .4byte gBattleMoveDamage -_08028B64: .4byte gMoveResultFlags -_08028B68: - ldr r0, _08028BA4 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _08028BB4 - ldr r1, _08028BA8 @ =gBattleMoveDamage - movs r3, 0x58 - adds r0, r2, 0 - muls r0, r3 - add r0, r8 - ldrh r0, [r0, 0x28] - subs r0, 0x1 - str r0, [r1] - ldr r2, _08028BAC @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08028BB0 @ =gLastUsedItem - mov r2, r9 - ldrb r0, [r2] - muls r0, r3 - add r0, r8 - ldrh r0, [r0, 0x2E] - strh r0, [r1] - b _08028BCA - .align 2, 0 -_08028BA4: .4byte gSpecialStatuses -_08028BA8: .4byte gBattleMoveDamage -_08028BAC: .4byte gMoveResultFlags -_08028BB0: .4byte gLastUsedItem -_08028BB4: - ldr r1, _08028BD4 @ =gBattleMoveDamage - movs r0, 0x58 - muls r0, r2 - add r0, r8 - ldrh r0, [r0, 0x28] - str r0, [r1] - ldr r2, _08028BD8 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x10 -_08028BC6: - orrs r0, r1 - strb r0, [r2] -_08028BCA: - ldr r1, _08028BDC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08028C48 - .align 2, 0 -_08028BD4: .4byte gBattleMoveDamage -_08028BD8: .4byte gMoveResultFlags -_08028BDC: .4byte gBattlescriptCurrInstr -_08028BE0: - ldr r2, _08028C14 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r3, _08028C18 @ =gBattleMons - ldr r0, _08028C1C @ =gBattlerAttacker - ldrb r0, [r0] - movs r2, 0x58 - adds r1, r0, 0 - muls r1, r2 - adds r1, r3 - adds r1, 0x2A - ldr r0, _08028C20 @ =gBattlerTarget - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bcc _08028C28 - ldr r1, _08028C24 @ =gBattleCommunication - movs r0, 0 - b _08028C2C - .align 2, 0 -_08028C14: .4byte gMoveResultFlags -_08028C18: .4byte gBattleMons -_08028C1C: .4byte gBattlerAttacker -_08028C20: .4byte gBattlerTarget -_08028C24: .4byte gBattleCommunication -_08028C28: - ldr r1, _08028C54 @ =gBattleCommunication - movs r0, 0x1 -_08028C2C: - strb r0, [r1, 0x5] - ldr r3, _08028C58 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08028C48: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028C54: .4byte gBattleCommunication -_08028C58: .4byte gBattlescriptCurrInstr - thumb_func_end atk93_tryKO - - thumb_func_start atk94_damagetohalftargethp -atk94_damagetohalftargethp: @ 8028C5C - push {lr} - ldr r3, _08028C88 @ =gBattleMoveDamage - ldr r2, _08028C8C @ =gBattleMons - ldr r0, _08028C90 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - lsrs r0, 1 - str r0, [r3] - cmp r0, 0 - bne _08028C7A - movs r0, 0x1 - str r0, [r3] -_08028C7A: - ldr r1, _08028C94 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08028C88: .4byte gBattleMoveDamage -_08028C8C: .4byte gBattleMons -_08028C90: .4byte gBattlerTarget -_08028C94: .4byte gBattlescriptCurrInstr - thumb_func_end atk94_damagetohalftargethp - - thumb_func_start atk95_setsandstorm -atk95_setsandstorm: @ 8028C98 - push {lr} - ldr r2, _08028CB8 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _08028CC4 - ldr r2, _08028CBC @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08028CC0 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _08028CD6 - .align 2, 0 -_08028CB8: .4byte gBattleWeather -_08028CBC: .4byte gMoveResultFlags -_08028CC0: .4byte gBattleCommunication -_08028CC4: - movs r0, 0x8 - strh r0, [r2] - ldr r1, _08028CE4 @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x5] - ldr r0, _08028CE8 @ =gWishFutureKnock - adds r0, 0x28 - movs r1, 0x5 - strb r1, [r0] -_08028CD6: - ldr r1, _08028CEC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08028CE4: .4byte gBattleCommunication -_08028CE8: .4byte gWishFutureKnock -_08028CEC: .4byte gBattlescriptCurrInstr - thumb_func_end atk95_setsandstorm - - thumb_func_start atk96_weatherdamage -atk96_weatherdamage: @ 8028CF0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _08028DBC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 8 - ands r0, r1 - movs r1, 0x80 - lsls r1, 8 - cmp r0, r1 - bne _08028D18 - ldr r0, _08028DC0 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08028D18 - b _08028E64 -_08028D18: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08028D32 - b _08028E48 -_08028D32: - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08028D48 - b _08028E48 -_08028D48: - ldr r2, _08028DC4 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x18 - ands r0, r1 - ldr r5, _08028DC0 @ =gBattlerAttacker - adds r4, r2, 0 - cmp r0, 0 - beq _08028DDA - ldr r0, _08028DC8 @ =gBattleMons - ldrb r2, [r5] - movs r1, 0x58 - muls r1, r2 - adds r3, r1, r0 - adds r0, r3, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x5 - beq _08028DD4 - cmp r0, 0x8 - beq _08028DD4 - cmp r0, 0x4 - beq _08028DD4 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x5 - beq _08028DD4 - cmp r0, 0x8 - beq _08028DD4 - cmp r0, 0x4 - beq _08028DD4 - adds r0, r3, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x8 - beq _08028DD4 - ldr r0, _08028DCC @ =gStatuses3 - lsls r1, r2, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08028DD4 - movs r0, 0x80 - lsls r0, 11 - ands r1, r0 - cmp r1, 0 - bne _08028DD4 - ldr r1, _08028DD0 @ =gBattleMoveDamage - ldrh r0, [r3, 0x2C] - lsrs r0, 4 - str r0, [r1] - cmp r0, 0 - bne _08028DDA - movs r0, 0x1 - b _08028DD8 - .align 2, 0 -_08028DBC: .4byte gBattleTypeFlags -_08028DC0: .4byte gBattlerAttacker -_08028DC4: .4byte gBattleWeather -_08028DC8: .4byte gBattleMons -_08028DCC: .4byte gStatuses3 -_08028DD0: .4byte gBattleMoveDamage -_08028DD4: - ldr r1, _08028E30 @ =gBattleMoveDamage - movs r0, 0 -_08028DD8: - str r0, [r1] -_08028DDA: - ldrh r1, [r4] - movs r4, 0x80 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08028E50 - ldr r1, _08028E34 @ =gBattleMons - ldrb r3, [r5] - movs r0, 0x58 - muls r0, r3 - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xF - beq _08028E3C - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xF - beq _08028E3C - ldr r0, _08028E38 @ =gStatuses3 - lsls r1, r3, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r1, 0 - ands r0, r4 - cmp r0, 0 - bne _08028E3C - movs r0, 0x80 - lsls r0, 11 - ands r1, r0 - cmp r1, 0 - bne _08028E3C - ldr r1, _08028E30 @ =gBattleMoveDamage - ldrh r0, [r2, 0x2C] - lsrs r0, 4 - str r0, [r1] - cmp r0, 0 - bne _08028E50 - movs r0, 0x1 - str r0, [r1] - b _08028E50 - .align 2, 0 -_08028E30: .4byte gBattleMoveDamage -_08028E34: .4byte gBattleMons -_08028E38: .4byte gStatuses3 -_08028E3C: - ldr r1, _08028E44 @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] - b _08028E50 - .align 2, 0 -_08028E44: .4byte gBattleMoveDamage -_08028E48: - ldr r1, _08028E7C @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] - ldr r5, _08028E80 @ =gBattlerAttacker -_08028E50: - ldr r0, _08028E84 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08028E88 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08028E6A -_08028E64: - ldr r1, _08028E7C @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] -_08028E6A: - ldr r1, _08028E8C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08028E7C: .4byte gBattleMoveDamage -_08028E80: .4byte gBattlerAttacker -_08028E84: .4byte gAbsentBattlerFlags -_08028E88: .4byte gBitTable -_08028E8C: .4byte gBattlescriptCurrInstr - thumb_func_end atk96_weatherdamage - - thumb_func_start atk97_tryinfatuating -atk97_tryinfatuating: @ 8028E90 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _08028EBC @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08028EC8 - ldr r1, _08028EC0 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08028EC4 @ =gPlayerParty - b _08028ED8 - .align 2, 0 -_08028EBC: .4byte gBattlerAttacker -_08028EC0: .4byte gBattlerPartyIndexes -_08028EC4: .4byte gPlayerParty -_08028EC8: - ldr r1, _08028EFC @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08028F00 @ =gEnemyParty -_08028ED8: - adds r5, r1, r0 - ldr r4, _08028F04 @ =gBattlerTarget - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08028F0C - ldr r1, _08028EFC @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08028F08 @ =gPlayerParty - b _08028F1C - .align 2, 0 -_08028EFC: .4byte gBattlerPartyIndexes -_08028F00: .4byte gEnemyParty -_08028F04: .4byte gBattlerTarget -_08028F08: .4byte gPlayerParty -_08028F0C: - ldr r1, _08028F78 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08028F7C @ =gEnemyParty -_08028F1C: - adds r4, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - mov r9, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r7, r0, 0 - ldr r5, _08028F80 @ =gBattlerTarget - ldrb r0, [r5] - movs r6, 0x58 - muls r0, r6 - ldr r1, _08028F84 @ =gBattleMons - adds r0, r1 - adds r0, 0x20 - ldrb r2, [r0] - cmp r2, 0xC - bne _08028F94 - ldr r1, _08028F88 @ =gBattlescriptCurrInstr - ldr r0, _08028F8C @ =BattleScript_ObliviousPreventsAttraction - str r0, [r1] - ldr r0, _08028F90 @ =gLastUsedAbility - strb r2, [r0] - ldrb r0, [r5] - movs r1, 0xC - bl RecordAbilityBattle - b _0802902C - .align 2, 0 -_08028F78: .4byte gBattlerPartyIndexes -_08028F7C: .4byte gEnemyParty -_08028F80: .4byte gBattlerTarget -_08028F84: .4byte gBattleMons -_08028F88: .4byte gBattlescriptCurrInstr -_08028F8C: .4byte BattleScript_ObliviousPreventsAttraction -_08028F90: .4byte gLastUsedAbility -_08028F94: - mov r0, r10 - mov r1, r9 - bl GetGenderFromSpeciesAndPersonality - adds r4, r0, 0 - mov r0, r8 - adds r1, r7, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _08028FE4 - ldrb r0, [r5] - muls r0, r6 - ldr r4, _08029000 @ =gBattleMons - adds r4, 0x50 - adds r0, r4 - ldr r0, [r0] - movs r1, 0xF0 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - bne _08028FE4 - mov r0, r10 - mov r1, r9 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08028FE4 - mov r0, r8 - adds r1, r7, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08029008 -_08028FE4: - ldr r3, _08029004 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802902C - .align 2, 0 -_08029000: .4byte gBattleMons -_08029004: .4byte gBattlescriptCurrInstr -_08029008: - ldrb r0, [r5] - adds r2, r0, 0 - muls r2, r6 - adds r2, r4 - ldr r1, _0802903C @ =gBitTable - ldr r0, _08029040 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 16 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r1, _08029044 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802902C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802903C: .4byte gBitTable -_08029040: .4byte gBattlerAttacker -_08029044: .4byte gBattlescriptCurrInstr - thumb_func_end atk97_tryinfatuating - - thumb_func_start atk98_updatestatusicon -atk98_updatestatusicon: @ 8029048 - push {r4-r7,lr} - ldr r0, _080290B8 @ =gBattleControllerExecFlags - ldr r1, [r0] - cmp r1, 0 - beq _08029054 - b _080291C0 -_08029054: - ldr r5, _080290BC @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r0, [r2, 0x1] - cmp r0, 0xD - bne _080290D4 - ldr r2, _080290C0 @ =gActiveBattler - strb r1, [r2] - ldr r0, _080290C4 @ =gBattlersCount - ldrb r0, [r0] - cmp r1, r0 - bcs _08029164 - ldr r7, _080290C8 @ =gBitTable - adds r4, r2, 0 - ldr r5, _080290CC @ =gBattleMons - adds r6, r5, 0 - adds r6, 0x50 -_08029074: - ldr r0, _080290D0 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080290A2 - movs r0, 0x58 - muls r2, r0 - adds r0, r5, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r2, r6 - ldr r2, [r2] - movs r0, 0 - bl BtlController_EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_080290A2: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _080290C4 @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bcc _08029074 - b _08029164 - .align 2, 0 -_080290B8: .4byte gBattleControllerExecFlags -_080290BC: .4byte gBattlescriptCurrInstr -_080290C0: .4byte gActiveBattler -_080290C4: .4byte gBattlersCount -_080290C8: .4byte gBitTable -_080290CC: .4byte gBattleMons -_080290D0: .4byte gAbsentBattlerFlags -_080290D4: - cmp r0, 0x4 - bne _0802918C - ldr r4, _08029170 @ =gActiveBattler - ldr r5, _08029174 @ =gBattlerAttacker - ldrb r0, [r5] - strb r0, [r4] - ldr r6, _08029178 @ =gAbsentBattlerFlags - ldrb r1, [r6] - ldr r7, _0802917C @ =gBitTable - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08029114 - ldr r3, _08029180 @ =gBattleMons - movs r0, 0x58 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r3, 0x50 - adds r2, r3 - ldr r2, [r2] - movs r0, 0 - bl BtlController_EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08029114: - ldr r0, _08029184 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08029164 - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - strb r0, [r4] - ldrb r1, [r6] - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08029164 - ldr r3, _08029180 @ =gBattleMons - movs r0, 0x58 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r3, 0x50 - adds r2, r3 - ldr r2, [r2] - movs r0, 0 - bl BtlController_EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08029164: - ldr r1, _08029188 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - b _080291C0 - .align 2, 0 -_08029170: .4byte gActiveBattler -_08029174: .4byte gBattlerAttacker -_08029178: .4byte gAbsentBattlerFlags -_0802917C: .4byte gBitTable -_08029180: .4byte gBattleMons -_08029184: .4byte gBattleTypeFlags -_08029188: .4byte gBattlescriptCurrInstr -_0802918C: - ldrb r0, [r2, 0x1] - bl GetBattlerForBattleScript - ldr r4, _080291C8 @ =gActiveBattler - strb r0, [r4] - ldr r3, _080291CC @ =gBattleMons - ldrb r1, [r4] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r3, 0x50 - adds r2, r3 - ldr r2, [r2] - movs r0, 0 - bl BtlController_EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_080291C0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080291C8: .4byte gActiveBattler -_080291CC: .4byte gBattleMons - thumb_func_end atk98_updatestatusicon - - thumb_func_start atk99_setmist -atk99_setmist: @ 80291D0 - push {r4-r6,lr} - ldr r6, _08029200 @ =gSideTimers - ldr r4, _08029204 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerPosition - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08029210 - ldr r2, _08029208 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0802920C @ =gBattleCommunication - strb r5, [r0, 0x5] - b _0802925E - .align 2, 0 -_08029200: .4byte gSideTimers -_08029204: .4byte gBattlerAttacker -_08029208: .4byte gMoveResultFlags -_0802920C: .4byte gBattleCommunication -_08029210: - ldrb r0, [r4] - bl GetBattlerPosition - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - strb r1, [r0, 0x4] - ldrb r0, [r4] - bl GetBattlerPosition - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r4] - strb r1, [r0, 0x5] - ldrb r0, [r4] - bl GetBattlerPosition - ldr r2, _0802926C @ =gSideStatuses - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - movs r3, 0 - orrs r0, r2 - strh r0, [r1] - ldr r0, _08029270 @ =gBattleCommunication - strb r3, [r0, 0x5] -_0802925E: - ldr r1, _08029274 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802926C: .4byte gSideStatuses -_08029270: .4byte gBattleCommunication -_08029274: .4byte gBattlescriptCurrInstr - thumb_func_end atk99_setmist - - thumb_func_start atk9A_setfocusenergy -atk9A_setfocusenergy: @ 8029278 - push {lr} - ldr r1, _080292A8 @ =gBattleMons - ldr r0, _080292AC @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r3, 0x80 - lsls r3, 13 - adds r2, r1, 0 - ands r2, r3 - cmp r2, 0 - beq _080292B8 - ldr r2, _080292B0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080292B4 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _080292C0 - .align 2, 0 -_080292A8: .4byte gBattleMons -_080292AC: .4byte gBattlerAttacker -_080292B0: .4byte gMoveResultFlags -_080292B4: .4byte gBattleCommunication -_080292B8: - orrs r1, r3 - str r1, [r0] - ldr r0, _080292CC @ =gBattleCommunication - strb r2, [r0, 0x5] -_080292C0: - ldr r1, _080292D0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080292CC: .4byte gBattleCommunication -_080292D0: .4byte gBattlescriptCurrInstr - thumb_func_end atk9A_setfocusenergy - - thumb_func_start atk9B_transformdataexecution -atk9B_transformdataexecution: @ 80292D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r1, _0802932C @ =gChosenMove - ldr r2, _08029330 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08029334 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r7, _08029338 @ =gBattleMons - ldr r0, _0802933C @ =gBattlerTarget - mov r12, r0 - ldrb r1, [r0] - movs r6, 0x58 - adds r0, r1, 0 - muls r0, r6 - adds r5, r7, 0 - adds r5, 0x50 - adds r0, r5 - ldr r0, [r0] - movs r4, 0x80 - lsls r4, 14 - ands r0, r4 - cmp r0, 0 - bne _0802931A - ldr r0, _08029340 @ =gStatuses3 - lsls r1, 2 - adds r1, r0 - ldr r2, [r1] - ldr r0, _08029344 @ =0x000400c0 - ands r2, r0 - cmp r2, 0 - beq _08029350 -_0802931A: - ldr r2, _08029348 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802934C @ =gBattleCommunication - movs r0, 0x1 - b _08029464 - .align 2, 0 -_0802932C: .4byte gChosenMove -_08029330: .4byte 0x0000ffff -_08029334: .4byte gBattlescriptCurrInstr -_08029338: .4byte gBattleMons -_0802933C: .4byte gBattlerTarget -_08029340: .4byte gStatuses3 -_08029344: .4byte 0x000400c0 -_08029348: .4byte gMoveResultFlags -_0802934C: .4byte gBattleCommunication -_08029350: - ldr r3, _08029424 @ =gBattlerAttacker - ldrb r0, [r3] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - ldr r0, [r1] - orrs r0, r4 - str r0, [r1] - ldr r4, _08029428 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x4] - ldrb r0, [r3] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0xB] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xB] - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r12 - ldrb r1, [r2] - muls r1, r6 - adds r2, r7, 0 - adds r2, 0x48 - adds r1, r2 - ldr r1, [r1] - str r1, [r0] - ldrb r0, [r3] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x18] - movs r0, 0xF - ands r0, r2 - strb r0, [r1, 0x18] - ldr r1, _0802942C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - mov r2, r12 - ldrb r0, [r2] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r2] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldrb r0, [r3] - muls r0, r6 - adds r5, r0, r7 - ldrb r0, [r2] - muls r0, r6 - adds r2, r0, r7 - movs r4, 0 - adds r6, r3, 0 - ldr r0, _08029430 @ =gActiveBattler - mov r8, r0 -_080293E8: - adds r0, r5, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x23 - bls _080293E8 - movs r4, 0 - ldr r7, _08029434 @ =gBattleMoves - ldr r3, _08029438 @ =gUnknown_2023BF0 - adds r5, r3, 0 - adds r5, 0x18 -_08029400: - lsls r1, r4, 1 - ldrb r2, [r6] - movs r0, 0x58 - muls r2, r0 - adds r1, r2 - adds r1, r3 - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r1, [r0, 0x4] - cmp r1, 0x4 - bhi _0802943C - adds r0, r4, r2 - adds r0, r5 - b _08029442 - .align 2, 0 -_08029424: .4byte gBattlerAttacker -_08029428: .4byte gDisableStructs -_0802942C: .4byte gBattleTextBuff1 -_08029430: .4byte gActiveBattler -_08029434: .4byte gBattleMoves -_08029438: .4byte gUnknown_2023BF0 -_0802943C: - adds r0, r4, r2 - adds r0, r5 - movs r1, 0x5 -_08029442: - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x3 - ble _08029400 - ldrb r0, [r6] - mov r1, r8 - strb r0, [r1] - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitResetActionMoveSelection - mov r2, r8 - ldrb r0, [r2] - bl MarkBattlerForControllerExec - ldr r1, _08029470 @ =gBattleCommunication - movs r0, 0 -_08029464: - strb r0, [r1, 0x5] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029470: .4byte gBattleCommunication - thumb_func_end atk9B_transformdataexecution - - thumb_func_start atk9C_setsubstitute -atk9C_setsubstitute: @ 8029474 - push {r4-r7,lr} - ldr r7, _080294A4 @ =gBattleMons - ldr r6, _080294A8 @ =gBattlerAttacker - ldrb r0, [r6] - movs r5, 0x58 - muls r0, r5 - adds r3, r0, r7 - ldrh r0, [r3, 0x2C] - lsrs r1, r0, 2 - adds r2, r1, 0 - cmp r1, 0 - bne _0802948E - movs r2, 0x1 -_0802948E: - ldrh r0, [r3, 0x28] - cmp r0, r2 - bhi _080294B4 - ldr r1, _080294AC @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] - ldr r1, _080294B0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08029508 - .align 2, 0 -_080294A4: .4byte gBattleMons -_080294A8: .4byte gBattlerAttacker -_080294AC: .4byte gBattleMoveDamage -_080294B0: .4byte gBattleCommunication -_080294B4: - ldr r4, _08029518 @ =gBattleMoveDamage - str r1, [r4] - cmp r1, 0 - bne _080294C0 - movs r0, 0x1 - str r0, [r4] -_080294C0: - ldrb r0, [r6] - adds r2, r0, 0 - muls r2, r5 - adds r3, r7, 0 - adds r3, 0x50 - adds r2, r3 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 17 - orrs r0, r1 - str r0, [r2] - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r5 - adds r1, r3 - ldr r0, [r1] - ldr r2, _0802951C @ =0xffff1fff - ands r0, r2 - str r0, [r1] - ldr r2, _08029520 @ =gDisableStructs - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, [r4] - movs r2, 0 - strb r1, [r0, 0xA] - ldr r0, _08029524 @ =gBattleCommunication - strb r2, [r0, 0x5] - ldr r2, _08029528 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 1 - orrs r0, r1 - str r0, [r2] -_08029508: - ldr r1, _0802952C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029518: .4byte gBattleMoveDamage -_0802951C: .4byte 0xffff1fff -_08029520: .4byte gDisableStructs -_08029524: .4byte gBattleCommunication -_08029528: .4byte gHitMarker -_0802952C: .4byte gBattlescriptCurrInstr - thumb_func_end atk9C_setsubstitute - - thumb_func_start IsMoveUncopyableByMimic -IsMoveUncopyableByMimic: @ 8029530 - push {r4,r5,lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r3, 0 - ldr r0, _08029570 @ =sMovesForbiddenToCopy - ldrh r1, [r0] - ldr r4, _08029574 @ =0x0000fffe - adds r5, r0, 0 - cmp r1, r4 - beq _08029558 - cmp r1, r2 - beq _08029558 - adds r1, r5, 0 -_0802954A: - adds r1, 0x2 - adds r3, 0x1 - ldrh r0, [r1] - cmp r0, r4 - beq _08029558 - cmp r0, r2 - bne _0802954A -_08029558: - lsls r0, r3, 1 - adds r0, r5 - ldrh r1, [r0] - ldr r0, _08029574 @ =0x0000fffe - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08029570: .4byte sMovesForbiddenToCopy -_08029574: .4byte 0x0000fffe - thumb_func_end IsMoveUncopyableByMimic - - thumb_func_start atk9D_mimicattackcopy -atk9D_mimicattackcopy: @ 8029578 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _080295F0 @ =gChosenMove - ldr r1, _080295F4 @ =0x0000ffff - adds r7, r1, 0 - strh r7, [r0] - ldr r5, _080295F8 @ =gLastMoves - ldr r6, _080295FC @ =gBattlerTarget - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - bl IsMoveUncopyableByMimic - lsls r0, 24 - cmp r0, 0 - bne _080295D2 - ldr r3, _08029600 @ =gBattleMons - ldr r2, _08029604 @ =gBattlerAttacker - ldrb r1, [r2] - movs r0, 0x58 - adds r4, r1, 0 - muls r4, r0 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 14 - ands r1, r0 - mov r12, r3 - mov r9, r2 - cmp r1, 0 - bne _080295D2 - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - cmp r1, 0 - beq _080295D2 - cmp r1, r7 - bne _0802960C -_080295D2: - ldr r3, _08029608 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08029744 - .align 2, 0 -_080295F0: .4byte gChosenMove -_080295F4: .4byte 0x0000ffff -_080295F8: .4byte gLastMoves -_080295FC: .4byte gBattlerTarget -_08029600: .4byte gBattleMons -_08029604: .4byte gBattlerAttacker -_08029608: .4byte gBattlescriptCurrInstr -_0802960C: - movs r2, 0 - mov r3, r12 - adds r3, 0xC - adds r0, r4, r3 - ldrh r0, [r0] - ldr r4, _0802969C @ =gBattlescriptCurrInstr - mov r10, r4 - cmp r0, r1 - beq _08029646 - mov r8, r3 - adds r7, r5, 0 - adds r5, r6, 0 - mov r4, r9 - movs r3, 0x58 -_08029628: - adds r2, 0x1 - cmp r2, 0x3 - bgt _08029646 - lsls r1, r2, 1 - ldrb r0, [r4] - muls r0, r3 - adds r1, r0 - add r1, r8 - ldrb r0, [r5] - lsls r0, 1 - adds r0, r7 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - bne _08029628 -_08029646: - cmp r2, 0x4 - bne _08029728 - ldr r5, _080296A0 @ =gCurrMovePos - ldrb r1, [r5] - lsls r1, 1 - mov r2, r9 - ldrb r0, [r2] - movs r6, 0x58 - muls r0, r6 - adds r1, r0 - mov r0, r12 - adds r0, 0xC - adds r1, r0 - ldr r2, _080296A4 @ =gLastMoves - ldr r3, _080296A8 @ =gBattlerTarget - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - ldr r4, _080296AC @ =gBattleMoves - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r4, [r0, 0x4] - cmp r4, 0x4 - bhi _080296B0 - mov r1, r9 - ldrb r0, [r1] - muls r0, r6 - ldrb r1, [r5] - adds r0, r1 - mov r1, r12 - adds r1, 0x24 - adds r0, r1 - strb r4, [r0] - b _080296C4 - .align 2, 0 -_0802969C: .4byte gBattlescriptCurrInstr -_080296A0: .4byte gCurrMovePos -_080296A4: .4byte gLastMoves -_080296A8: .4byte gBattlerTarget -_080296AC: .4byte gBattleMoves -_080296B0: - mov r4, r9 - ldrb r0, [r4] - muls r0, r6 - ldrb r1, [r5] - adds r0, r1 - mov r1, r12 - adds r1, 0x24 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] -_080296C4: - ldr r1, _0802971C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08029720 @ =gDisableStructs - mov r2, r9 - ldrb r0, [r2] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r4, [r2, 0x18] - lsrs r3, r4, 4 - ldr r1, _08029724 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - orrs r1, r3 - lsls r1, 4 - movs r0, 0xF - ands r0, r4 - orrs r0, r1 - strb r0, [r2, 0x18] - mov r4, r10 - ldr r0, [r4] - adds r0, 0x5 - str r0, [r4] - b _08029744 - .align 2, 0 -_0802971C: .4byte gBattleTextBuff1 -_08029720: .4byte gDisableStructs -_08029724: .4byte gBitTable -_08029728: - mov r0, r10 - ldr r2, [r0] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - mov r2, r10 - str r1, [r2] -_08029744: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk9D_mimicattackcopy - - thumb_func_start atk9E_metronome -atk9E_metronome: @ 8029754 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _080297D4 @ =gCurrentMove - movs r6, 0xB1 - lsls r6, 1 - ldr r5, _080297D8 @ =sMovesForbiddenToCopy - ldr r0, _080297DC @ =gBattlescriptCurrInstr - mov r8, r0 -_08029766: - bl Random - ldr r2, _080297E0 @ =0x000001ff - adds r1, r2, 0 - ands r0, r1 - adds r0, 0x1 - strh r0, [r7] - cmp r0, r6 - bhi _08029766 - movs r0, 0x3 -_0802977A: - subs r0, 0x1 - cmp r0, 0 - bge _0802977A - ldr r4, _080297D4 @ =gCurrentMove - ldrh r2, [r4] - ldr r3, _080297E4 @ =0x0000ffff - subs r0, r5, 0x2 -_08029788: - adds r0, 0x2 - ldrh r1, [r0] - cmp r1, r2 - beq _08029794 - cmp r1, r3 - bne _08029788 -_08029794: - ldr r0, _080297E4 @ =0x0000ffff - cmp r1, r0 - bne _08029766 - ldr r2, _080297E8 @ =gHitMarker - ldr r0, [r2] - ldr r1, _080297EC @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r3, _080297F0 @ =gBattleScriptsForMoveEffects - ldr r2, _080297F4 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - mov r1, r8 - str r0, [r1] - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _080297F8 @ =gBattlerTarget - strb r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080297D4: .4byte gCurrentMove -_080297D8: .4byte sMovesForbiddenToCopy -_080297DC: .4byte gBattlescriptCurrInstr -_080297E0: .4byte 0x000001ff -_080297E4: .4byte 0x0000ffff -_080297E8: .4byte gHitMarker -_080297EC: .4byte 0xfffffbff -_080297F0: .4byte gBattleScriptsForMoveEffects -_080297F4: .4byte gBattleMoves -_080297F8: .4byte gBattlerTarget - thumb_func_end atk9E_metronome - - thumb_func_start atk9F_dmgtolevel -atk9F_dmgtolevel: @ 80297FC - ldr r3, _0802981C @ =gBattleMoveDamage - ldr r2, _08029820 @ =gBattleMons - ldr r0, _08029824 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r0, [r0] - str r0, [r3] - ldr r1, _08029828 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802981C: .4byte gBattleMoveDamage -_08029820: .4byte gBattleMons -_08029824: .4byte gBattlerAttacker -_08029828: .4byte gBattlescriptCurrInstr - thumb_func_end atk9F_dmgtolevel - - thumb_func_start atkA0_psywavedamageeffect -atkA0_psywavedamageeffect: @ 802982C - push {r4,lr} - movs r4, 0xF -_08029830: - bl Random - adds r3, r4, 0 - ands r3, r0 - cmp r3, 0xA - bgt _08029830 - lsls r0, r3, 2 - adds r0, r3 - lsls r3, r0, 1 - ldr r4, _08029870 @ =gBattleMoveDamage - ldr r2, _08029874 @ =gBattleMons - ldr r0, _08029878 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r0] - adds r0, r3, 0 - adds r0, 0x32 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - ldr r1, _0802987C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029870: .4byte gBattleMoveDamage -_08029874: .4byte gBattleMons -_08029878: .4byte gBattlerAttacker -_0802987C: .4byte gBattlescriptCurrInstr - thumb_func_end atkA0_psywavedamageeffect - - thumb_func_start atkA1_counterdamagecalculator -atkA1_counterdamagecalculator: @ 8029880 - push {r4-r6,lr} - ldr r4, _080298F0 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080298F4 @ =gProtectStructs - ldrb r0, [r4] - lsls r0, 4 - adds r0, r5 - ldrb r0, [r0, 0xC] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r0, r5, 0x4 - adds r0, r1, r0 - ldr r3, [r0] - cmp r3, 0 - beq _08029934 - cmp r6, r2 - beq _08029934 - ldr r6, _080298F8 @ =gBattleMons - adds r0, r1, r5 - ldrb r0, [r0, 0xC] - movs r4, 0x58 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08029934 - ldr r1, _080298FC @ =gBattleMoveDamage - lsls r0, r3, 1 - str r0, [r1] - ldr r1, _08029900 @ =gSideTimers - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _08029908 - ldrb r1, [r1, 0x9] - adds r0, r1, 0 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08029908 - ldr r0, _08029904 @ =gBattlerTarget - strb r1, [r0] - b _08029918 - .align 2, 0 -_080298F0: .4byte gBattlerAttacker -_080298F4: .4byte gProtectStructs -_080298F8: .4byte gBattleMons -_080298FC: .4byte gBattleMoveDamage -_08029900: .4byte gSideTimers -_08029904: .4byte gBattlerTarget -_08029908: - ldr r2, _08029924 @ =gBattlerTarget - ldr r1, _08029928 @ =gProtectStructs - ldr r0, _0802992C @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0xC] - strb r0, [r2] -_08029918: - ldr r1, _08029930 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029964 - .align 2, 0 -_08029924: .4byte gBattlerTarget -_08029928: .4byte gProtectStructs -_0802992C: .4byte gBattlerAttacker -_08029930: .4byte gBattlescriptCurrInstr -_08029934: - ldr r2, _0802996C @ =gSpecialStatuses - ldr r0, _08029970 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r3, _08029974 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029964: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802996C: .4byte gSpecialStatuses -_08029970: .4byte gBattlerAttacker -_08029974: .4byte gBattlescriptCurrInstr - thumb_func_end atkA1_counterdamagecalculator - - thumb_func_start atkA2_mirrorcoatdamagecalculator -atkA2_mirrorcoatdamagecalculator: @ 8029978 - push {r4-r6,lr} - ldr r4, _080299E8 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080299EC @ =gProtectStructs - ldrb r0, [r4] - lsls r0, 4 - adds r0, r5 - ldrb r0, [r0, 0xD] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r3, [r0] - cmp r3, 0 - beq _08029A2C - cmp r6, r2 - beq _08029A2C - ldr r6, _080299F0 @ =gBattleMons - adds r0, r1, r5 - ldrb r0, [r0, 0xD] - movs r4, 0x58 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08029A2C - ldr r1, _080299F4 @ =gBattleMoveDamage - lsls r0, r3, 1 - str r0, [r1] - ldr r1, _080299F8 @ =gSideTimers - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _08029A00 - ldrb r1, [r1, 0x9] - adds r0, r1, 0 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08029A00 - ldr r0, _080299FC @ =gBattlerTarget - strb r1, [r0] - b _08029A10 - .align 2, 0 -_080299E8: .4byte gBattlerAttacker -_080299EC: .4byte gProtectStructs -_080299F0: .4byte gBattleMons -_080299F4: .4byte gBattleMoveDamage -_080299F8: .4byte gSideTimers -_080299FC: .4byte gBattlerTarget -_08029A00: - ldr r2, _08029A1C @ =gBattlerTarget - ldr r1, _08029A20 @ =gProtectStructs - ldr r0, _08029A24 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0xD] - strb r0, [r2] -_08029A10: - ldr r1, _08029A28 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029A5C - .align 2, 0 -_08029A1C: .4byte gBattlerTarget -_08029A20: .4byte gProtectStructs -_08029A24: .4byte gBattlerAttacker -_08029A28: .4byte gBattlescriptCurrInstr -_08029A2C: - ldr r2, _08029A64 @ =gSpecialStatuses - ldr r0, _08029A68 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r3, _08029A6C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029A5C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08029A64: .4byte gSpecialStatuses -_08029A68: .4byte gBattlerAttacker -_08029A6C: .4byte gBattlescriptCurrInstr - thumb_func_end atkA2_mirrorcoatdamagecalculator - - thumb_func_start atkA3_disablelastusedattack -atkA3_disablelastusedattack: @ 8029A70 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r4, 0 - ldr r2, _08029B70 @ =gBattleMons - ldr r3, _08029B74 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r7, r2, 0 - adds r7, 0xC - adds r0, r7 - ldr r5, _08029B78 @ =gLastMoves - lsls r1, 1 - adds r1, r5 - ldrh r0, [r0] - mov r9, r2 - adds r6, r3, 0 - ldr r2, _08029B7C @ =gDisableStructs - mov r8, r2 - ldrh r1, [r1] - cmp r0, r1 - beq _08029AC4 - mov r12, r6 - movs r3, 0x58 -_08029AA4: - adds r4, 0x1 - cmp r4, 0x3 - bgt _08029AC4 - lsls r2, r4, 1 - mov r0, r12 - ldrb r1, [r0] - adds r0, r1, 0 - muls r0, r3 - adds r2, r0 - adds r2, r7 - lsls r1, 1 - adds r1, r5 - ldrh r0, [r2] - ldrh r1, [r1] - cmp r0, r1 - bne _08029AA4 -_08029AC4: - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - ldrh r0, [r0, 0x4] - cmp r0, 0 - bne _08029B88 - cmp r4, 0x4 - beq _08029B88 - movs r5, 0x58 - adds r0, r1, 0 - muls r0, r5 - adds r0, r4, r0 - mov r1, r9 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08029B88 - ldr r1, _08029B80 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - lsls r2, r4, 1 - ldrb r0, [r6] - muls r0, r5 - adds r0, r2, r0 - mov r3, r9 - adds r3, 0xC - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r6] - muls r0, r5 - adds r0, r2, r0 - adds r0, r3 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - muls r1, r5 - adds r2, r1 - adds r2, r3 - ldrh r1, [r2] - strh r1, [r0, 0x4] - bl Random - ldrb r2, [r6] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - add r1, r8 - movs r2, 0x3 - ands r2, r0 - adds r2, 0x2 - ldrb r3, [r1, 0xB] - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xB] - ldrb r0, [r6] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r3, [r1, 0xB] - lsls r2, r3, 28 - lsrs r2, 24 - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xB] - ldr r1, _08029B84 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029BA2 - .align 2, 0 -_08029B70: .4byte gBattleMons -_08029B74: .4byte gBattlerTarget -_08029B78: .4byte gLastMoves -_08029B7C: .4byte gDisableStructs -_08029B80: .4byte gBattleTextBuff1 -_08029B84: .4byte gBattlescriptCurrInstr -_08029B88: - ldr r3, _08029BB0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029BA2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029BB0: .4byte gBattlescriptCurrInstr - thumb_func_end atkA3_disablelastusedattack - - thumb_func_start atkA4_trysetencore -atkA4_trysetencore: @ 8029BB4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - ldr r3, _08029CA8 @ =gBattleMons - ldr r4, _08029CAC @ =gBattlerTarget - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r6, r3, 0 - adds r6, 0xC - adds r0, r6 - ldr r2, _08029CB0 @ =gLastMoves - lsls r1, 1 - adds r1, r2 - ldrh r0, [r0] - mov r10, r3 - mov r8, r2 - ldr r2, _08029CB4 @ =gDisableStructs - mov r9, r2 - ldrh r1, [r1] - cmp r0, r1 - beq _08029C0E - mov r12, r4 - adds r7, r6, 0 - mov r6, r8 - movs r3, 0x58 -_08029BEE: - adds r5, 0x1 - cmp r5, 0x3 - bgt _08029C0E - lsls r2, r5, 1 - mov r0, r12 - ldrb r1, [r0] - adds r0, r1, 0 - muls r0, r3 - adds r2, r0 - adds r2, r7 - lsls r1, 1 - adds r1, r6 - ldrh r0, [r2] - ldrh r1, [r1] - cmp r0, r1 - bne _08029BEE -_08029C0E: - ldrb r0, [r4] - lsls r0, 1 - add r0, r8 - ldrh r2, [r0] - cmp r2, 0xA5 - beq _08029C22 - cmp r2, 0xE3 - beq _08029C22 - cmp r2, 0x77 - bne _08029C24 -_08029C22: - movs r5, 0x4 -_08029C24: - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r2, r9 - adds r3, r0, r2 - ldrh r0, [r3, 0x6] - cmp r0, 0 - bne _08029CBC - cmp r5, 0x4 - beq _08029CBC - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - adds r0, r5, r2 - mov r1, r10 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08029CBC - lsls r0, r5, 1 - adds r0, r2 - subs r1, 0x18 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3, 0x6] - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - strb r5, [r0, 0xC] - bl Random - ldrb r2, [r4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - add r1, r9 - movs r2, 0x3 - ands r2, r0 - adds r2, 0x3 - ldrb r3, [r1, 0xE] - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xE] - ldrb r0, [r4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - add r1, r9 - ldrb r3, [r1, 0xE] - lsls r2, r3, 28 - lsrs r2, 24 - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xE] - ldr r1, _08029CB8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029CD6 - .align 2, 0 -_08029CA8: .4byte gBattleMons -_08029CAC: .4byte gBattlerTarget -_08029CB0: .4byte gLastMoves -_08029CB4: .4byte gDisableStructs -_08029CB8: .4byte gBattlescriptCurrInstr -_08029CBC: - ldr r3, _08029CE4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029CD6: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029CE4: .4byte gBattlescriptCurrInstr - thumb_func_end atkA4_trysetencore - - thumb_func_start atkA5_painsplitdmgcalc -atkA5_painsplitdmgcalc: @ 8029CE8 - push {r4-r7,lr} - ldr r6, _08029D68 @ =gBattleMons - ldr r0, _08029D6C @ =gBattlerTarget - mov r12, r0 - ldrb r0, [r0] - movs r7, 0x58 - adds r2, r0, 0 - muls r2, r7 - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - bne _08029D88 - ldr r5, _08029D70 @ =gBattlerAttacker - ldrb r0, [r5] - muls r0, r7 - adds r0, r6 - ldrh r3, [r0, 0x28] - adds r0, r2, r6 - ldrh r1, [r0, 0x28] - adds r3, r1 - asrs r3, 1 - ldr r4, _08029D74 @ =gBattleMoveDamage - subs r1, r3 - str r1, [r4] - ldr r2, _08029D78 @ =gBattleScripting - strb r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - asrs r0, 8 - strb r0, [r2, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - asrs r0, 16 - strb r0, [r2, 0x2] - lsrs r1, 24 - strb r1, [r2, 0x3] - ldrb r0, [r5] - muls r0, r7 - adds r0, r6 - ldrh r0, [r0, 0x28] - subs r0, r3 - str r0, [r4] - ldr r2, _08029D7C @ =gSpecialStatuses - mov r0, r12 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r1, _08029D80 @ =0x0000ffff - str r1, [r0] - ldr r1, _08029D84 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029DA2 - .align 2, 0 -_08029D68: .4byte gBattleMons -_08029D6C: .4byte gBattlerTarget -_08029D70: .4byte gBattlerAttacker -_08029D74: .4byte gBattleMoveDamage -_08029D78: .4byte gBattleScripting -_08029D7C: .4byte gSpecialStatuses -_08029D80: .4byte 0x0000ffff -_08029D84: .4byte gBattlescriptCurrInstr -_08029D88: - ldr r3, _08029DA8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029DA2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029DA8: .4byte gBattlescriptCurrInstr - thumb_func_end atkA5_painsplitdmgcalc - - thumb_func_start atkA6_settypetorandomresistance -atkA6_settypetorandomresistance: @ 8029DAC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r1, _08029E14 @ =gLastLandedMoves - ldr r4, _08029E18 @ =gBattlerAttacker - ldrb r0, [r4] - lsls r0, 1 - adds r2, r0, r1 - ldrh r1, [r2] - cmp r1, 0 - beq _08029DF6 - ldr r0, _08029E1C @ =0x0000ffff - cmp r1, r0 - beq _08029DF6 - ldrh r0, [r2] - bl IsTwoTurnsMove - lsls r0, 24 - cmp r0, 0 - beq _08029E94 - ldr r1, _08029E20 @ =gBattleMons - ldr r2, _08029E24 @ =gLastHitBy - ldrb r0, [r4] - adds r0, r2 - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _08029E94 -_08029DF6: - ldr r3, _08029E28 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08029F80 - .align 2, 0 -_08029E14: .4byte gLastLandedMoves -_08029E18: .4byte gBattlerAttacker -_08029E1C: .4byte 0x0000ffff -_08029E20: .4byte gBattleMons -_08029E24: .4byte gLastHitBy -_08029E28: .4byte gBattlescriptCurrInstr -_08029E2C: - mov r0, r12 - strb r5, [r0] - mov r1, r10 - ldrb r0, [r1] - muls r0, r2 - adds r0, r7 - adds r0, 0x22 - strb r5, [r0] - ldr r1, _08029E50 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r5, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _08029E54 @ =gBattlescriptCurrInstr - b _08029E82 - .align 2, 0 -_08029E50: .4byte gBattleTextBuff1 -_08029E54: .4byte gBattlescriptCurrInstr -_08029E58: - mov r0, r8 - adds r0, 0x1 - adds r0, r3 - ldrb r2, [r0] - strb r2, [r4] - mov r4, r10 - ldrb r0, [r4] - muls r0, r6 - ldr r7, _08029E8C @ =gBattleMons - adds r0, r7 - adds r0, 0x22 - strb r2, [r0] - ldr r1, _08029E90 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r2, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - mov r1, r12 -_08029E82: - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029F80 - .align 2, 0 -_08029E8C: .4byte gBattleMons -_08029E90: .4byte gBattleTextBuff1 -_08029E94: - movs r4, 0 - mov r8, r4 - movs r7, 0x7F - mov r9, r7 -_08029E9C: - bl Random - mov r4, r9 - ands r4, r0 - cmp r4, 0x70 - bhi _08029E9C - lsls r0, r4, 1 - adds r4, r0, r4 - ldr r6, _08029F90 @ =gTypeEffectiveness - adds r3, r4, r6 - ldr r1, _08029F94 @ =gLastHitByType - ldr r2, _08029F98 @ =gBattlerAttacker - ldrb r5, [r2] - lsls r0, r5, 1 - adds r0, r1 - ldrb r1, [r3] - mov r10, r2 - ldrh r0, [r0] - cmp r1, r0 - bne _08029EF8 - adds r0, r4, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _08029EF8 - ldr r7, _08029F9C @ =gBattleMons - movs r2, 0x58 - adds r0, r5, 0 - muls r0, r2 - adds r3, r0, r7 - movs r0, 0x21 - adds r0, r3 - mov r12, r0 - adds r0, r4, 0x1 - adds r0, r6 - ldrb r5, [r0] - mov r1, r12 - ldrb r0, [r1] - adds r1, r5, 0 - cmp r0, r1 - beq _08029EF8 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - bne _08029E2C -_08029EF8: - movs r7, 0x1 - add r8, r7 - ldr r0, _08029FA0 @ =0x000003e7 - cmp r8, r0 - ble _08029E9C - movs r0, 0 - mov r8, r0 - ldr r1, _08029FA4 @ =gBattlescriptCurrInstr - mov r12, r1 - ldr r3, _08029F90 @ =gTypeEffectiveness - adds r0, r4, 0x1 - adds r0, r3 - mov r9, r0 - adds r5, r3, 0 -_08029F14: - ldrb r1, [r5] - cmp r1, 0xFF - bgt _08029F1E - cmp r1, 0xFE - bge _08029F58 -_08029F1E: - mov r4, r10 - ldrb r2, [r4] - lsls r0, r2, 1 - ldr r7, _08029F94 @ =gLastHitByType - adds r0, r7 - ldrh r0, [r0] - cmp r1, r0 - bne _08029F58 - ldrb r0, [r5, 0x2] - cmp r0, 0x5 - bhi _08029F58 - movs r6, 0x58 - adds r0, r2, 0 - muls r0, r6 - ldr r1, _08029F9C @ =gBattleMons - adds r2, r0, r1 - adds r4, r2, 0 - adds r4, 0x21 - ldrb r0, [r4] - mov r7, r9 - ldrb r1, [r7] - cmp r0, r1 - beq _08029F58 - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - beq _08029F58 - b _08029E58 -_08029F58: - adds r5, 0x3 - movs r0, 0x3 - add r8, r0 - ldr r0, _08029FA8 @ =0x0000014f - cmp r8, r0 - bls _08029F14 - mov r1, r12 - ldr r2, [r1] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - mov r4, r12 - str r1, [r4] -_08029F80: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029F90: .4byte gTypeEffectiveness -_08029F94: .4byte gLastHitByType -_08029F98: .4byte gBattlerAttacker -_08029F9C: .4byte gBattleMons -_08029FA0: .4byte 0x000003e7 -_08029FA4: .4byte gBattlescriptCurrInstr -_08029FA8: .4byte 0x0000014f - thumb_func_end atkA6_settypetorandomresistance - - thumb_func_start atkA7_setalwayshitflag -atkA7_setalwayshitflag: @ 8029FAC - push {r4,lr} - ldr r4, _08029FF0 @ =gStatuses3 - ldr r3, _08029FF4 @ =gBattlerTarget - ldrb r1, [r3] - lsls r1, 2 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - str r0, [r1] - ldrb r1, [r3] - lsls r1, 2 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x10 - orrs r0, r2 - str r0, [r1] - ldr r2, _08029FF8 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _08029FFC @ =gBattlerAttacker - ldrb r1, [r1] - strb r1, [r0, 0x15] - ldr r1, _0802A000 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029FF0: .4byte gStatuses3 -_08029FF4: .4byte gBattlerTarget -_08029FF8: .4byte gDisableStructs -_08029FFC: .4byte gBattlerAttacker -_0802A000: .4byte gBattlescriptCurrInstr - thumb_func_end atkA7_setalwayshitflag - - thumb_func_start atkA8_copymovepermanently -atkA8_copymovepermanently: @ 802A004 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - ldr r0, _0802A164 @ =gChosenMove - ldr r1, _0802A168 @ =0x0000ffff - adds r5, r1, 0 - strh r5, [r0] - ldr r3, _0802A16C @ =gBattleMons - ldr r2, _0802A170 @ =gBattlerAttacker - ldrb r1, [r2] - movs r0, 0x58 - adds r4, r1, 0 - muls r4, r0 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 14 - ands r1, r0 - mov r12, r3 - mov r10, r2 - cmp r1, 0 - beq _0802A03C - b _0802A190 -_0802A03C: - ldr r0, _0802A174 @ =gLastPrintedMoves - ldr r2, _0802A178 @ =gBattlerTarget - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldrh r1, [r1] - mov r9, r0 - mov r8, r2 - cmp r1, 0xA5 - bne _0802A052 - b _0802A190 -_0802A052: - cmp r1, 0 - bne _0802A058 - b _0802A190 -_0802A058: - cmp r1, r5 - bne _0802A05E - b _0802A190 -_0802A05E: - cmp r1, 0xA6 - bne _0802A064 - b _0802A190 -_0802A064: - movs r7, 0 - mov r5, r9 - mov r0, r12 - adds r0, 0xC - adds r1, r4, r0 - mov r3, r8 -_0802A070: - ldrh r2, [r1] - cmp r2, 0xA6 - beq _0802A082 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r2, r0 - beq _0802A08A -_0802A082: - adds r1, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _0802A070 -_0802A08A: - cmp r7, 0x4 - beq _0802A090 - b _0802A190 -_0802A090: - ldr r4, _0802A17C @ =gCurrMovePos - ldrb r1, [r4] - lsls r1, 1 - mov r2, r10 - ldrb r0, [r2] - movs r3, 0x58 - muls r0, r3 - adds r1, r0 - mov r6, r12 - adds r6, 0xC - adds r1, r6 - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - strh r0, [r1] - mov r1, r10 - ldrb r0, [r1] - adds r2, r0, 0 - muls r2, r3 - ldrb r4, [r4] - adds r2, r4 - mov r5, r12 - adds r5, 0x24 - adds r2, r5 - ldr r4, _0802A180 @ =gBattleMoves - mov r1, r8 - ldrb r0, [r1] - lsls r0, 1 - add r0, r9 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x4] - strb r0, [r2] - ldr r1, _0802A184 @ =gActiveBattler - mov r2, r10 - ldrb r0, [r2] - strb r0, [r1] - movs r7, 0 - ldrb r0, [r2] - muls r0, r3 - adds r4, r0, r5 - adds r3, r0, 0 - add r2, sp, 0x4 - add r5, sp, 0xC -_0802A0F2: - adds r0, r3, r6 - ldrh r0, [r0] - strh r0, [r2] - adds r1, r5, r7 - ldrb r0, [r4] - strb r0, [r1] - adds r4, 0x1 - adds r3, 0x2 - adds r2, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _0802A0F2 - add r2, sp, 0x4 - mov r0, r10 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r0, 0x3B - ldrb r0, [r0] - strb r0, [r2, 0xC] - str r2, [sp] - movs r0, 0 - movs r1, 0x3 - movs r2, 0 - movs r3, 0x10 - bl BtlController_EmitSetMonData - ldr r0, _0802A184 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _0802A188 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldr r3, _0802A174 @ =gLastPrintedMoves - ldr r2, _0802A178 @ =gBattlerTarget - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802A18C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802A1AA - .align 2, 0 -_0802A164: .4byte gChosenMove -_0802A168: .4byte 0x0000ffff -_0802A16C: .4byte gBattleMons -_0802A170: .4byte gBattlerAttacker -_0802A174: .4byte gLastPrintedMoves -_0802A178: .4byte gBattlerTarget -_0802A17C: .4byte gCurrMovePos -_0802A180: .4byte gBattleMoves -_0802A184: .4byte gActiveBattler -_0802A188: .4byte gBattleTextBuff1 -_0802A18C: .4byte gBattlescriptCurrInstr -_0802A190: - ldr r3, _0802A1BC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A1AA: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A1BC: .4byte gBattlescriptCurrInstr - thumb_func_end atkA8_copymovepermanently - - thumb_func_start IsTwoTurnsMove -IsTwoTurnsMove: @ 802A1C0 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0802A1F0 @ =gBattleMoves - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1] - cmp r0, 0x91 - beq _0802A1EA - cmp r0, 0x27 - beq _0802A1EA - cmp r0, 0x4B - beq _0802A1EA - cmp r0, 0x97 - beq _0802A1EA - cmp r0, 0x9B - beq _0802A1EA - cmp r0, 0x1A - bne _0802A1F4 -_0802A1EA: - movs r0, 0x1 - b _0802A1F6 - .align 2, 0 -_0802A1F0: .4byte gBattleMoves -_0802A1F4: - movs r0, 0 -_0802A1F6: - pop {r1} - bx r1 - thumb_func_end IsTwoTurnsMove - - thumb_func_start IsInvalidForSleepTalkOrAssist -IsInvalidForSleepTalkOrAssist: @ 802A1FC - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0802A21A - cmp r1, 0xD6 - beq _0802A21A - movs r0, 0x89 - lsls r0, 1 - cmp r1, r0 - beq _0802A21A - cmp r1, 0x77 - beq _0802A21A - cmp r1, 0x76 - bne _0802A21E -_0802A21A: - movs r0, 0x1 - b _0802A220 -_0802A21E: - movs r0, 0 -_0802A220: - pop {r1} - bx r1 - thumb_func_end IsInvalidForSleepTalkOrAssist - - thumb_func_start AttacksThisTurn -AttacksThisTurn: @ 802A224 - push {lr} - lsls r1, 16 - lsrs r2, r1, 16 - ldr r1, _0802A27C @ =gBattleMoves - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x97 - bne _0802A248 - ldr r0, _0802A280 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - bne _0802A288 -_0802A248: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x91 - beq _0802A26A - cmp r0, 0x27 - beq _0802A26A - cmp r0, 0x4B - beq _0802A26A - cmp r0, 0x97 - beq _0802A26A - cmp r0, 0x9B - beq _0802A26A - cmp r0, 0x1A - bne _0802A288 -_0802A26A: - ldr r0, _0802A284 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 20 - ands r0, r1 - cmp r0, 0 - beq _0802A288 - movs r0, 0x1 - b _0802A28A - .align 2, 0 -_0802A27C: .4byte gBattleMoves -_0802A280: .4byte gBattleWeather -_0802A284: .4byte gHitMarker -_0802A288: - movs r0, 0x2 -_0802A28A: - pop {r1} - bx r1 - thumb_func_end AttacksThisTurn - - thumb_func_start atkA9_trychoosesleeptalkmove -atkA9_trychoosesleeptalkmove: @ 802A290 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - movs r5, 0 - ldr r0, _0802A320 @ =gBattlerAttacker - mov r9, r0 - movs r1, 0x58 - mov r8, r1 - ldr r7, _0802A324 @ =gUnknown_2023BF0 - movs r0, 0x84 - lsls r0, 1 - mov r10, r0 -_0802A2AE: - lsls r4, r5, 1 - mov r1, r9 - ldrb r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r4, r0 - adds r0, r7 - ldrh r0, [r0] - bl IsInvalidForSleepTalkOrAssist - lsls r0, 24 - cmp r0, 0 - bne _0802A2EE - mov r1, r9 - ldrb r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r4, r0 - adds r0, r7 - ldrh r1, [r0] - cmp r1, r10 - beq _0802A2EE - cmp r1, 0xFD - beq _0802A2EE - adds r0, r1, 0 - bl IsTwoTurnsMove - lsls r0, 24 - cmp r0, 0 - beq _0802A2FC -_0802A2EE: - ldr r1, _0802A328 @ =gBitTable - lsls r0, r5, 2 - adds r0, r1 - ldr r0, [r0] - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_0802A2FC: - adds r5, 0x1 - cmp r5, 0x3 - ble _0802A2AE - ldr r0, _0802A320 @ =gBattlerAttacker - ldrb r0, [r0] - adds r1, r6, 0 - movs r2, 0xFD - bl CheckMoveLimitations - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bne _0802A330 - ldr r1, _0802A32C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802A394 - .align 2, 0 -_0802A320: .4byte gBattlerAttacker -_0802A324: .4byte gUnknown_2023BF0 -_0802A328: .4byte gBitTable -_0802A32C: .4byte gBattlescriptCurrInstr -_0802A330: - movs r7, 0x3 - ldr r4, _0802A3A4 @ =gBitTable -_0802A334: - bl Random - adds r5, r7, 0 - ands r5, r0 - lsls r0, r5, 2 - adds r0, r4 - ldr r0, [r0] - ands r0, r6 - cmp r0, 0 - bne _0802A334 - ldr r4, _0802A3A8 @ =gCalledMove - ldr r2, _0802A3AC @ =gBattleMons - lsls r1, r5, 1 - ldr r0, _0802A3B0 @ =gBattlerAttacker - ldrb r3, [r0] - movs r0, 0x58 - muls r0, r3 - adds r1, r0 - adds r2, 0xC - adds r1, r2 - ldrh r0, [r1] - strh r0, [r4] - ldr r0, _0802A3B4 @ =gCurrMovePos - strb r5, [r0] - ldr r2, _0802A3B8 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802A3BC @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _0802A3C0 @ =gBattlerTarget - strb r0, [r1] - ldr r3, _0802A3C4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A394: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A3A4: .4byte gBitTable -_0802A3A8: .4byte gCalledMove -_0802A3AC: .4byte gBattleMons -_0802A3B0: .4byte gBattlerAttacker -_0802A3B4: .4byte gCurrMovePos -_0802A3B8: .4byte gHitMarker -_0802A3BC: .4byte 0xfffffbff -_0802A3C0: .4byte gBattlerTarget -_0802A3C4: .4byte gBattlescriptCurrInstr - thumb_func_end atkA9_trychoosesleeptalkmove - - thumb_func_start atkAA_setdestinybond -atkAA_setdestinybond: @ 802A3C8 - ldr r1, _0802A3EC @ =gBattleMons - ldr r0, _0802A3F0 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 18 - orrs r0, r1 - str r0, [r2] - ldr r1, _0802A3F4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802A3EC: .4byte gBattleMons -_0802A3F0: .4byte gBattlerAttacker -_0802A3F4: .4byte gBattlescriptCurrInstr - thumb_func_end atkAA_setdestinybond - - thumb_func_start TrySetDestinyBondToHappen -TrySetDestinyBondToHappen: @ 802A3F8 - push {r4,r5,lr} - ldr r0, _0802A448 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _0802A44C @ =gBattlerTarget - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _0802A450 @ =gBattleMons - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _0802A442 - cmp r5, r3 - beq _0802A442 - ldr r2, _0802A454 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 17 - ands r0, r1 - cmp r0, 0 - bne _0802A442 - movs r0, 0x40 - orrs r1, r0 - str r1, [r2] -_0802A442: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802A448: .4byte gBattlerAttacker -_0802A44C: .4byte gBattlerTarget -_0802A450: .4byte gBattleMons -_0802A454: .4byte gHitMarker - thumb_func_end TrySetDestinyBondToHappen - - thumb_func_start atkAB_trysetdestinybondtohappen -atkAB_trysetdestinybondtohappen: @ 802A458 - push {lr} - bl TrySetDestinyBondToHappen - ldr r1, _0802A46C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802A46C: .4byte gBattlescriptCurrInstr - thumb_func_end atkAB_trysetdestinybondtohappen - - thumb_func_start atkAC_remaininghptopower -atkAC_remaininghptopower: @ 802A470 - push {lr} - ldr r2, _0802A4C4 @ =gBattleMons - ldr r0, _0802A4C8 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - movs r2, 0x28 - ldrsh r0, [r1, r2] - movs r2, 0x2C - ldrsh r1, [r1, r2] - movs r2, 0x30 - bl GetScaledHPFraction - lsls r0, 24 - lsrs r1, r0, 24 - movs r3, 0 - ldr r0, _0802A4CC @ =sFlailHpScaleToPowerTable - ldrb r2, [r0] - cmp r1, r2 - ble _0802A4AA - adds r2, r0, 0 -_0802A49C: - adds r3, 0x2 - cmp r3, 0xB - bgt _0802A4AA - adds r0, r3, r2 - ldrb r0, [r0] - cmp r1, r0 - bgt _0802A49C -_0802A4AA: - ldr r2, _0802A4D0 @ =gDynamicBasePower - ldr r1, _0802A4CC @ =sFlailHpScaleToPowerTable - adds r0, r3, 0x1 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2] - ldr r1, _0802A4D4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802A4C4: .4byte gBattleMons -_0802A4C8: .4byte gBattlerAttacker -_0802A4CC: .4byte sFlailHpScaleToPowerTable -_0802A4D0: .4byte gDynamicBasePower -_0802A4D4: .4byte gBattlescriptCurrInstr - thumb_func_end atkAC_remaininghptopower - - thumb_func_start atkAD_tryspiteppreduce -atkAD_tryspiteppreduce: @ 802A4D8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, _0802A658 @ =gLastMoves - ldr r1, _0802A65C @ =gBattlerTarget - ldrb r3, [r1] - lsls r0, r3, 1 - adds r0, r4 - ldrh r2, [r0] - mov r8, r1 - cmp r2, 0 - bne _0802A4F8 - b _0802A680 -_0802A4F8: - ldr r0, _0802A660 @ =0x0000ffff - cmp r2, r0 - bne _0802A500 - b _0802A680 -_0802A500: - movs r7, 0 - ldr r0, _0802A664 @ =gBattleMons - movs r1, 0x58 - muls r1, r3 - adds r3, r0, 0 - adds r3, 0xC - adds r1, r3 - ldrh r1, [r1] - cmp r2, r1 - beq _0802A538 - adds r6, r4, 0 - mov r5, r8 - adds r4, r3, 0 - movs r3, 0x58 -_0802A51C: - adds r7, 0x1 - cmp r7, 0x3 - bgt _0802A538 - ldrb r0, [r5] - lsls r2, r0, 1 - adds r2, r6 - lsls r1, r7, 1 - muls r0, r3 - adds r1, r0 - adds r1, r4 - ldrh r0, [r2] - ldrh r1, [r1] - cmp r0, r1 - bne _0802A51C -_0802A538: - cmp r7, 0x4 - bne _0802A53E - b _0802A680 -_0802A53E: - mov r4, r8 - ldrb r0, [r4] - movs r1, 0x58 - mov r9, r1 - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - adds r0, r7, r0 - ldr r1, _0802A664 @ =gBattleMons - adds r1, 0x24 - mov r10, r1 - add r0, r10 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _0802A55E - b _0802A680 -_0802A55E: - bl Random - movs r1, 0x3 - ands r1, r0 - adds r6, r1, 0x2 - ldrb r0, [r4] - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - adds r0, r7, r0 - add r0, r10 - ldrb r0, [r0] - cmp r0, r6 - bge _0802A57C - adds r6, r0, 0 -_0802A57C: - ldr r1, _0802A668 @ =gBattleTextBuff1 - movs r5, 0xFD - strb r5, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldr r2, _0802A658 @ =gLastMoves - mov r3, r8 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r4, _0802A66C @ =gBattleTextBuff2 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - strb r5, [r4] - movs r0, 0x1 - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - strb r6, [r4, 0x4] - subs r0, 0x2 - strb r0, [r4, 0x5] - mov r1, r8 - ldrb r0, [r1] - mov r1, r9 - muls r1, r0 - adds r1, r7, r1 - add r1, r10 - ldrb r0, [r1] - subs r0, r6 - strb r0, [r1] - ldr r4, _0802A670 @ =gActiveBattler - mov r3, r8 - ldrb r0, [r3] - strb r0, [r4] - ldr r1, _0802A674 @ =gDisableStructs - ldrb r3, [r4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _0802A678 @ =gBitTable - lsls r0, r7, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802A630 - mov r2, r9 - muls r2, r3 - ldr r0, _0802A664 @ =gBattleMons - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _0802A630 - adds r1, r7, 0 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - mov r3, r10 - adds r0, r2, r3 - adds r0, r7 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_0802A630: - ldr r1, _0802A67C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r1, _0802A664 @ =gBattleMons - ldr r0, _0802A65C @ =gBattlerTarget - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r7, r0 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0802A69A - adds r0, r2, 0 - bl CancelMultiTurnMoves - b _0802A69A - .align 2, 0 -_0802A658: .4byte gLastMoves -_0802A65C: .4byte gBattlerTarget -_0802A660: .4byte 0x0000ffff -_0802A664: .4byte gBattleMons -_0802A668: .4byte gBattleTextBuff1 -_0802A66C: .4byte gBattleTextBuff2 -_0802A670: .4byte gActiveBattler -_0802A674: .4byte gDisableStructs -_0802A678: .4byte gBitTable -_0802A67C: .4byte gBattlescriptCurrInstr -_0802A680: - ldr r3, _0802A6AC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A69A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A6AC: .4byte gBattlescriptCurrInstr - thumb_func_end atkAD_tryspiteppreduce - - thumb_func_start atkAE_healpartystatus -atkAE_healpartystatus: @ 802A6B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r4, 0 - str r4, [sp, 0x4] - mov r8, r4 - ldr r0, _0802A720 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xD7 - beq _0802A6CC - b _0802A8B6 -_0802A6CC: - ldr r6, _0802A724 @ =gBattleCommunication - mov r0, r8 - strb r0, [r6, 0x5] - ldr r5, _0802A728 @ =gBattlerAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - ldr r1, _0802A72C @ =gEnemyParty - mov r10, r1 - cmp r0, 0 - bne _0802A6E8 - ldr r2, _0802A730 @ =gPlayerParty - mov r10, r2 -_0802A6E8: - ldr r4, _0802A734 @ =gBattleMons - ldrb r3, [r5] - movs r7, 0x58 - adds r2, r3, 0 - muls r2, r7 - adds r0, r2, r4 - adds r1, r0, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0x2B - beq _0802A73C - adds r0, r4, 0 - adds r0, 0x4C - adds r0, r2, r0 - mov r1, r8 - str r1, [r0] - ldrb r0, [r5] - adds r2, r0, 0 - muls r2, r7 - adds r0, r4, 0 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - ldr r1, _0802A738 @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - b _0802A74C - .align 2, 0 -_0802A720: .4byte gCurrentMove -_0802A724: .4byte gBattleCommunication -_0802A728: .4byte gBattlerAttacker -_0802A72C: .4byte gEnemyParty -_0802A730: .4byte gPlayerParty -_0802A734: .4byte gBattleMons -_0802A738: .4byte 0xf7ffffff -_0802A73C: - ldrb r1, [r1] - adds r0, r3, 0 - bl RecordAbilityBattle - ldrb r0, [r6, 0x5] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r6, 0x5] -_0802A74C: - ldr r7, _0802A7C0 @ =gActiveBattler - ldr r0, _0802A7C4 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerPosition - movs r2, 0x2 - mov r9, r2 - mov r1, r9 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r1, _0802A7C8 @ =gBattleScripting - strb r0, [r1, 0x17] - strb r0, [r7] - ldr r0, _0802A7CC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802A7F2 - ldr r0, _0802A7D0 @ =gAbsentBattlerFlags - ldrb r2, [r0] - ldr r1, _0802A7D4 @ =gBitTable - ldrb r3, [r7] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ands r2, r0 - cmp r2, 0 - bne _0802A7F2 - ldr r5, _0802A7D8 @ =gBattleMons - movs r6, 0x58 - adds r4, r3, 0 - muls r4, r6 - adds r0, r4, r5 - adds r1, r0, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0x2B - beq _0802A7E0 - adds r0, r5, 0 - adds r0, 0x4C - adds r0, r4, r0 - str r2, [r0] - ldrb r0, [r7] - adds r2, r0, 0 - muls r2, r6 - adds r0, r5, 0 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - ldr r1, _0802A7DC @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - b _0802A7F2 - .align 2, 0 -_0802A7C0: .4byte gActiveBattler -_0802A7C4: .4byte gBattlerAttacker -_0802A7C8: .4byte gBattleScripting -_0802A7CC: .4byte gBattleTypeFlags -_0802A7D0: .4byte gAbsentBattlerFlags -_0802A7D4: .4byte gBitTable -_0802A7D8: .4byte gBattleMons -_0802A7DC: .4byte 0xf7ffffff -_0802A7E0: - ldrb r1, [r1] - adds r0, r3, 0 - bl RecordAbilityBattle - ldr r1, _0802A838 @ =gBattleCommunication - ldrb r0, [r1, 0x5] - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] -_0802A7F2: - movs r6, 0 - ldr r7, _0802A83C @ =gBattleMons -_0802A7F6: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - add r4, r10 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - lsls r0, 24 - lsrs r4, r0, 24 - cmp r5, 0 - beq _0802A8AE - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - beq _0802A8AE - ldr r2, _0802A840 @ =gBattlerPartyIndexes - ldr r0, _0802A844 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r6 - bne _0802A848 - movs r0, 0x58 - muls r0, r1 - b _0802A878 - .align 2, 0 -_0802A838: .4byte gBattleCommunication -_0802A83C: .4byte gBattleMons -_0802A840: .4byte gBattlerPartyIndexes -_0802A844: .4byte gBattlerAttacker -_0802A848: - ldr r0, _0802A880 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802A890 - ldr r0, _0802A884 @ =gActiveBattler - ldrb r3, [r0] - lsls r0, r3, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r6 - bne _0802A890 - ldr r0, _0802A888 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0802A88C @ =gBitTable - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802A890 - movs r0, 0x58 - muls r0, r3 -_0802A878: - adds r0, r7 - adds r0, 0x20 - ldrb r0, [r0] - b _0802A89C - .align 2, 0 -_0802A880: .4byte gBattleTypeFlags -_0802A884: .4byte gActiveBattler -_0802A888: .4byte gAbsentBattlerFlags -_0802A88C: .4byte gBitTable -_0802A890: - adds r0, r5, 0 - adds r1, r4, 0 - bl GetAbilityBySpecies - lsls r0, 24 - lsrs r0, 24 -_0802A89C: - cmp r0, 0x2B - beq _0802A8AE - movs r0, 0x1 - lsls r0, r6 - mov r1, r8 - orrs r1, r0 - lsls r0, r1, 24 - lsrs r0, 24 - mov r8, r0 -_0802A8AE: - adds r6, 0x1 - cmp r6, 0x5 - ble _0802A7F6 - b _0802A934 -_0802A8B6: - ldr r1, _0802A970 @ =gBattleCommunication - movs r0, 0x4 - strb r0, [r1, 0x5] - movs r2, 0x3F - mov r8, r2 - ldr r3, _0802A974 @ =gBattleMons - ldr r2, _0802A978 @ =gBattlerAttacker - ldrb r0, [r2] - movs r5, 0x58 - muls r0, r5 - movs r1, 0x4C - adds r1, r3 - mov r9, r1 - add r0, r9 - str r4, [r0] - ldrb r0, [r2] - adds r1, r0, 0 - muls r1, r5 - adds r7, r3, 0 - adds r7, 0x50 - adds r1, r7 - ldr r0, [r1] - ldr r6, _0802A97C @ =0xf7ffffff - ands r0, r6 - str r0, [r1] - ldrb r0, [r2] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r4, _0802A980 @ =gActiveBattler - strb r0, [r4] - ldr r0, _0802A984 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802A934 - ldr r0, _0802A988 @ =gAbsentBattlerFlags - ldrb r2, [r0] - ldr r1, _0802A98C @ =gBitTable - ldrb r3, [r4] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ands r2, r0 - cmp r2, 0 - bne _0802A934 - adds r0, r3, 0 - muls r0, r5 - add r0, r9 - str r2, [r0] - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r5 - adds r1, r7 - ldr r0, [r1] - ands r0, r6 - str r0, [r1] -_0802A934: - mov r2, r8 - cmp r2, 0 - beq _0802A956 - ldr r4, _0802A980 @ =gActiveBattler - ldr r0, _0802A978 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - add r0, sp, 0x4 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_0802A956: - ldr r1, _0802A990 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A970: .4byte gBattleCommunication -_0802A974: .4byte gBattleMons -_0802A978: .4byte gBattlerAttacker -_0802A97C: .4byte 0xf7ffffff -_0802A980: .4byte gActiveBattler -_0802A984: .4byte gBattleTypeFlags -_0802A988: .4byte gAbsentBattlerFlags -_0802A98C: .4byte gBitTable -_0802A990: .4byte gBattlescriptCurrInstr - thumb_func_end atkAE_healpartystatus - - thumb_func_start atkAF_cursetarget -atkAF_cursetarget: @ 802A994 - push {r4,r5,lr} - ldr r5, _0802A9D4 @ =gBattleMons - ldr r0, _0802A9D8 @ =gBattlerTarget - ldrb r0, [r0] - movs r4, 0x58 - adds r1, r0, 0 - muls r1, r4 - adds r0, r5, 0 - adds r0, 0x50 - adds r1, r0 - ldr r2, [r1] - movs r3, 0x80 - lsls r3, 21 - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _0802A9E0 - ldr r3, _0802A9DC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802AA04 - .align 2, 0 -_0802A9D4: .4byte gBattleMons -_0802A9D8: .4byte gBattlerTarget -_0802A9DC: .4byte gBattlescriptCurrInstr -_0802A9E0: - orrs r2, r3 - str r2, [r1] - ldr r1, _0802AA0C @ =gBattleMoveDamage - ldr r0, _0802AA10 @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _0802A9FC - movs r0, 0x1 - str r0, [r1] -_0802A9FC: - ldr r1, _0802AA14 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802AA04: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802AA0C: .4byte gBattleMoveDamage -_0802AA10: .4byte gBattlerAttacker -_0802AA14: .4byte gBattlescriptCurrInstr - thumb_func_end atkAF_cursetarget - - thumb_func_start atkB0_trysetspikes -atkB0_trysetspikes: @ 802AA18 - push {r4,lr} - ldr r4, _0802AA6C @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0802AA70 @ =gSideTimers - lsls r2, r0, 1 - adds r0, r2, r0 - lsls r0, 2 - adds r3, r0, r1 - ldrb r0, [r3, 0xA] - cmp r0, 0x3 - bne _0802AA7C - ldr r2, _0802AA74 @ =gSpecialStatuses - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r3, _0802AA78 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802AA96 - .align 2, 0 -_0802AA6C: .4byte gBattlerAttacker -_0802AA70: .4byte gSideTimers -_0802AA74: .4byte gSpecialStatuses -_0802AA78: .4byte gBattlescriptCurrInstr -_0802AA7C: - ldr r1, _0802AA9C @ =gSideStatuses - adds r1, r2, r1 - ldrh r2, [r1] - movs r0, 0x10 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r3, 0xA] - adds r0, 0x1 - strb r0, [r3, 0xA] - ldr r1, _0802AAA0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802AA96: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802AA9C: .4byte gSideStatuses -_0802AAA0: .4byte gBattlescriptCurrInstr - thumb_func_end atkB0_trysetspikes - - thumb_func_start atkB1_setforesight -atkB1_setforesight: @ 802AAA4 - ldr r1, _0802AAC8 @ =gBattleMons - ldr r0, _0802AACC @ =gBattlerTarget - ldrb r2, [r0] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 22 - orrs r0, r1 - str r0, [r2] - ldr r1, _0802AAD0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802AAC8: .4byte gBattleMons -_0802AACC: .4byte gBattlerTarget -_0802AAD0: .4byte gBattlescriptCurrInstr - thumb_func_end atkB1_setforesight - - thumb_func_start atkB2_trysetperishsong -atkB2_trysetperishsong: @ 802AAD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r6, 0 - movs r3, 0 - ldr r0, _0802AB18 @ =gBattlersCount - adds r7, r0, 0 - ldr r0, _0802AB1C @ =gBattlerAttacker - mov r8, r0 - ldrb r1, [r7] - cmp r6, r1 - bge _0802AB40 - movs r5, 0x20 - ldr r0, _0802AB20 @ =gBattleMons - mov r12, r0 - ldr r0, _0802AB24 @ =gDisableStructs - adds r4, r0, 0 - adds r4, 0xF - ldr r2, _0802AB28 @ =gStatuses3 -_0802AAFC: - ldr r1, [r2] - adds r0, r1, 0 - ands r0, r5 - cmp r0, 0 - bne _0802AB14 - movs r0, 0x58 - muls r0, r3 - add r0, r12 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2B - bne _0802AB2C -_0802AB14: - adds r6, 0x1 - b _0802AB34 - .align 2, 0 -_0802AB18: .4byte gBattlersCount -_0802AB1C: .4byte gBattlerAttacker -_0802AB20: .4byte gBattleMons -_0802AB24: .4byte gDisableStructs -_0802AB28: .4byte gStatuses3 -_0802AB2C: - orrs r1, r5 - str r1, [r2] - movs r0, 0x33 - strb r0, [r4] -_0802AB34: - adds r4, 0x1C - adds r2, 0x4 - adds r3, 0x1 - ldrb r0, [r7] - cmp r3, r0 - blt _0802AAFC -_0802AB40: - mov r1, r8 - ldrb r0, [r1] - bl PressurePPLoseOnUsingPerishSong - ldr r0, _0802AB6C @ =gBattlersCount - ldrb r0, [r0] - cmp r6, r0 - bne _0802AB74 - ldr r3, _0802AB70 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802AB7C - .align 2, 0 -_0802AB6C: .4byte gBattlersCount -_0802AB70: .4byte gBattlescriptCurrInstr -_0802AB74: - ldr r1, _0802AB88 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802AB7C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802AB88: .4byte gBattlescriptCurrInstr - thumb_func_end atkB2_trysetperishsong - - thumb_func_start atkB3_rolloutdamagecalculation -atkB3_rolloutdamagecalculation: @ 802AB8C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0802ABB0 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0802ABC0 - ldr r0, _0802ABB4 @ =gBattlerAttacker - ldrb r0, [r0] - bl CancelMultiTurnMoves - ldr r1, _0802ABB8 @ =gBattlescriptCurrInstr - ldr r0, _0802ABBC @ =BattleScript_MoveMissedPause - str r0, [r1] - b _0802ACD8 - .align 2, 0 -_0802ABB0: .4byte gMoveResultFlags -_0802ABB4: .4byte gBattlerAttacker -_0802ABB8: .4byte gBattlescriptCurrInstr -_0802ABBC: .4byte BattleScript_MoveMissedPause -_0802ABC0: - ldr r2, _0802ACE4 @ =gBattleMons - ldr r1, _0802ACE8 @ =gBattlerAttacker - ldrb r3, [r1] - movs r5, 0x58 - adds r0, r3, 0 - muls r0, r5 - adds r4, r2, 0 - adds r4, 0x50 - adds r0, r4 - ldr r0, [r0] - movs r7, 0x80 - lsls r7, 5 - ands r0, r7 - adds r6, r1, 0 - mov r9, r2 - ldr r1, _0802ACEC @ =gDisableStructs - mov r12, r1 - ldr r2, _0802ACF0 @ =gCurrentMove - mov r8, r2 - cmp r0, 0 - bne _0802AC32 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - add r0, r12 - ldrb r2, [r0, 0x11] - movs r1, 0x10 - negs r1, r1 - ands r1, r2 - movs r2, 0x5 - orrs r1, r2 - strb r1, [r0, 0x11] - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r2, [r0, 0x11] - movs r1, 0xF - ands r1, r2 - movs r2, 0x50 - orrs r1, r2 - strb r1, [r0, 0x11] - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r5 - adds r1, r4 - ldr r0, [r1] - orrs r0, r7 - str r0, [r1] - ldr r1, _0802ACF4 @ =gLockedMoves - ldrb r0, [r6] - lsls r0, 1 - adds r0, r1 - mov r2, r8 - ldrh r1, [r2] - strh r1, [r0] -_0802AC32: - ldrb r0, [r6] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - add r2, r12 - ldrb r3, [r2, 0x11] - lsls r1, r3, 28 - lsrs r1, 28 - subs r1, 0x1 - movs r0, 0xF - ands r1, r0 - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x11] - cmp r1, 0 - bne _0802AC66 - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r5 - adds r1, r4 - ldr r0, [r1] - ldr r2, _0802ACF8 @ =0xffffefff - ands r0, r2 - str r0, [r1] -_0802AC66: - ldr r3, _0802ACFC @ =gDynamicBasePower - ldr r2, _0802AD00 @ =gBattleMoves - mov r0, r8 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r3] - movs r2, 0x1 - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r1, r12 - adds r4, r0, r1 - ldrb r0, [r4, 0x11] - lsls r0, 28 - lsrs r0, 28 - movs r1, 0x5 - subs r1, r0 - ldr r7, _0802AD04 @ =gBattlescriptCurrInstr - adds r5, r3, 0 - cmp r2, r1 - bge _0802ACB4 - adds r1, r5, 0 - adds r3, r4, 0 - movs r4, 0x5 -_0802ACA0: - ldrh r0, [r1] - lsls r0, 1 - strh r0, [r1] - adds r2, 0x1 - ldrb r0, [r3, 0x11] - lsls r0, 28 - lsrs r0, 28 - subs r0, r4, r0 - cmp r2, r0 - blt _0802ACA0 -_0802ACB4: - ldrb r1, [r6] - movs r0, 0x58 - muls r0, r1 - mov r1, r9 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 23 - ands r0, r1 - cmp r0, 0 - beq _0802ACD2 - ldrh r0, [r5] - lsls r0, 1 - strh r0, [r5] -_0802ACD2: - ldr r0, [r7] - adds r0, 0x1 - str r0, [r7] -_0802ACD8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802ACE4: .4byte gBattleMons -_0802ACE8: .4byte gBattlerAttacker -_0802ACEC: .4byte gDisableStructs -_0802ACF0: .4byte gCurrentMove -_0802ACF4: .4byte gLockedMoves -_0802ACF8: .4byte 0xffffefff -_0802ACFC: .4byte gDynamicBasePower -_0802AD00: .4byte gBattleMoves -_0802AD04: .4byte gBattlescriptCurrInstr - thumb_func_end atkB3_rolloutdamagecalculation - - thumb_func_start atkB4_jumpifconfusedandstatmaxed -atkB4_jumpifconfusedandstatmaxed: @ 802AD08 - push {r4,r5,lr} - ldr r5, _0802AD58 @ =gBattleMons - ldr r0, _0802AD5C @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - adds r3, r1, 0 - muls r3, r0 - adds r0, r5, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - ldr r4, _0802AD60 @ =gBattlescriptCurrInstr - cmp r0, 0 - beq _0802AD64 - ldr r2, [r4] - ldrb r0, [r2, 0x1] - adds r0, r3 - adds r1, r5, 0 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xC - bne _0802AD64 - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _0802AD6A - .align 2, 0 -_0802AD58: .4byte gBattleMons -_0802AD5C: .4byte gBattlerTarget -_0802AD60: .4byte gBattlescriptCurrInstr -_0802AD64: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_0802AD6A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end atkB4_jumpifconfusedandstatmaxed - - thumb_func_start atkB5_furycuttercalc -atkB5_furycuttercalc: @ 802AD70 - push {r4,r5,lr} - ldr r0, _0802AD98 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0802ADAC - ldr r2, _0802AD9C @ =gDisableStructs - ldr r0, _0802ADA0 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x10] - ldr r1, _0802ADA4 @ =gBattlescriptCurrInstr - ldr r0, _0802ADA8 @ =BattleScript_MoveMissedPause - str r0, [r1] - b _0802AE04 - .align 2, 0 -_0802AD98: .4byte gMoveResultFlags -_0802AD9C: .4byte gDisableStructs -_0802ADA0: .4byte gBattlerAttacker -_0802ADA4: .4byte gBattlescriptCurrInstr -_0802ADA8: .4byte BattleScript_MoveMissedPause -_0802ADAC: - ldr r5, _0802AE0C @ =gDisableStructs - ldr r4, _0802AE10 @ =gBattlerAttacker - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x10] - cmp r0, 0x5 - beq _0802ADC4 - adds r0, 0x1 - strb r0, [r1, 0x10] -_0802ADC4: - ldr r3, _0802AE14 @ =gDynamicBasePower - ldr r2, _0802AE18 @ =gBattleMoves - ldr r0, _0802AE1C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r3] - movs r2, 0x1 - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r4, _0802AE20 @ =gBattlescriptCurrInstr - ldrb r1, [r0, 0x10] - cmp r2, r1 - bge _0802ADFE - adds r1, r3, 0 - adds r3, r0, 0 -_0802ADF0: - ldrh r0, [r1] - lsls r0, 1 - strh r0, [r1] - adds r2, 0x1 - ldrb r0, [r3, 0x10] - cmp r2, r0 - blt _0802ADF0 -_0802ADFE: - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] -_0802AE04: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802AE0C: .4byte gDisableStructs -_0802AE10: .4byte gBattlerAttacker -_0802AE14: .4byte gDynamicBasePower -_0802AE18: .4byte gBattleMoves -_0802AE1C: .4byte gCurrentMove -_0802AE20: .4byte gBattlescriptCurrInstr - thumb_func_end atkB5_furycuttercalc - - thumb_func_start atkB6_happinesstodamagecalculation -atkB6_happinesstodamagecalculation: @ 802AE24 - push {r4,lr} - ldr r2, _0802AE50 @ =gBattleMoves - ldr r0, _0802AE54 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x79 - bne _0802AE64 - ldr r4, _0802AE58 @ =gDynamicBasePower - ldr r2, _0802AE5C @ =gBattleMons - ldr r0, _0802AE60 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2B - ldrb r1, [r0] - b _0802AE7A - .align 2, 0 -_0802AE50: .4byte gBattleMoves -_0802AE54: .4byte gCurrentMove -_0802AE58: .4byte gDynamicBasePower -_0802AE5C: .4byte gBattleMons -_0802AE60: .4byte gBattlerAttacker -_0802AE64: - ldr r4, _0802AE98 @ =gDynamicBasePower - ldr r2, _0802AE9C @ =gBattleMons - ldr r0, _0802AEA0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - movs r1, 0xFF - subs r1, r0 -_0802AE7A: - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - movs r1, 0x19 - bl __divsi3 - strh r0, [r4] - ldr r1, _0802AEA4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802AE98: .4byte gDynamicBasePower -_0802AE9C: .4byte gBattleMons -_0802AEA0: .4byte gBattlerAttacker -_0802AEA4: .4byte gBattlescriptCurrInstr - thumb_func_end atkB6_happinesstodamagecalculation - - thumb_func_start atkB7_presentdamagecalculation -atkB7_presentdamagecalculation: @ 802AEA8 - push {r4,lr} - bl Random - movs r4, 0xFF - ands r4, r0 - cmp r4, 0x65 - bgt _0802AEC4 - ldr r1, _0802AEC0 @ =gDynamicBasePower - movs r0, 0x28 - strh r0, [r1] - b _0802AF06 - .align 2, 0 -_0802AEC0: .4byte gDynamicBasePower -_0802AEC4: - cmp r4, 0xB1 - bgt _0802AED4 - ldr r1, _0802AED0 @ =gDynamicBasePower - movs r0, 0x50 - strh r0, [r1] - b _0802AF06 - .align 2, 0 -_0802AED0: .4byte gDynamicBasePower -_0802AED4: - cmp r4, 0xCB - bgt _0802AEE4 - ldr r1, _0802AEE0 @ =gDynamicBasePower - movs r0, 0x78 - strh r0, [r1] - b _0802AF06 - .align 2, 0 -_0802AEE0: .4byte gDynamicBasePower -_0802AEE4: - ldr r3, _0802AF10 @ =gBattleMoveDamage - ldr r2, _0802AF14 @ =gBattleMons - ldr r0, _0802AF18 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2C] - lsrs r0, 2 - str r0, [r3] - cmp r0, 0 - bne _0802AF00 - movs r0, 0x1 - str r0, [r3] -_0802AF00: - ldr r0, [r3] - negs r0, r0 - str r0, [r3] -_0802AF06: - cmp r4, 0xCB - bgt _0802AF24 - ldr r1, _0802AF1C @ =gBattlescriptCurrInstr - ldr r0, _0802AF20 @ =BattleScript_HitFromCritCalc - b _0802AF5E - .align 2, 0 -_0802AF10: .4byte gBattleMoveDamage -_0802AF14: .4byte gBattleMons -_0802AF18: .4byte gBattlerTarget -_0802AF1C: .4byte gBattlescriptCurrInstr -_0802AF20: .4byte BattleScript_HitFromCritCalc -_0802AF24: - ldr r2, _0802AF40 @ =gBattleMons - ldr r0, _0802AF44 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0, 0x2C] - ldrh r0, [r0, 0x28] - cmp r1, r0 - bne _0802AF50 - ldr r1, _0802AF48 @ =gBattlescriptCurrInstr - ldr r0, _0802AF4C @ =BattleScript_AlreadyAtFullHp - b _0802AF5E - .align 2, 0 -_0802AF40: .4byte gBattleMons -_0802AF44: .4byte gBattlerTarget -_0802AF48: .4byte gBattlescriptCurrInstr -_0802AF4C: .4byte BattleScript_AlreadyAtFullHp -_0802AF50: - ldr r2, _0802AF68 @ =gMoveResultFlags - ldrb r1, [r2] - movs r0, 0xF7 - ands r0, r1 - strb r0, [r2] - ldr r1, _0802AF6C @ =gBattlescriptCurrInstr - ldr r0, _0802AF70 @ =BattleScript_PresentHealTarget -_0802AF5E: - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802AF68: .4byte gMoveResultFlags -_0802AF6C: .4byte gBattlescriptCurrInstr -_0802AF70: .4byte BattleScript_PresentHealTarget - thumb_func_end atkB7_presentdamagecalculation - - thumb_func_start atkB8_setsafeguard -atkB8_setsafeguard: @ 802AF74 - push {r4-r7,lr} - ldr r7, _0802AFA8 @ =gBattlerAttacker - ldrb r0, [r7] - bl GetBattlerPosition - ldr r4, _0802AFAC @ =gSideStatuses - movs r6, 0x1 - adds r1, r6, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r1, [r1] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0802AFB8 - ldr r2, _0802AFB0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802AFB4 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - b _0802B000 - .align 2, 0 -_0802AFA8: .4byte gBattlerAttacker -_0802AFAC: .4byte gSideStatuses -_0802AFB0: .4byte gMoveResultFlags -_0802AFB4: .4byte gBattleCommunication -_0802AFB8: - ldrb r0, [r7] - bl GetBattlerPosition - adds r1, r6, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r0, [r1] - movs r2, 0x20 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r7] - bl GetBattlerPosition - ldr r5, _0802B010 @ =gSideTimers - adds r1, r6, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r4, 0x5 - strb r4, [r0, 0x6] - ldrb r0, [r7] - bl GetBattlerPosition - adds r1, r6, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r7] - strb r1, [r0, 0x7] - ldr r0, _0802B014 @ =gBattleCommunication - strb r4, [r0, 0x5] -_0802B000: - ldr r1, _0802B018 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B010: .4byte gSideTimers -_0802B014: .4byte gBattleCommunication -_0802B018: .4byte gBattlescriptCurrInstr - thumb_func_end atkB8_setsafeguard - - thumb_func_start atkB9_magnitudedamagecalculation -atkB9_magnitudedamagecalculation: @ 802B01C - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x4 - bgt _0802B048 - ldr r1, _0802B044 @ =gDynamicBasePower - movs r0, 0xA - strh r0, [r1] - movs r3, 0x4 - b _0802B0B4 - .align 2, 0 -_0802B044: .4byte gDynamicBasePower -_0802B048: - cmp r3, 0xE - bgt _0802B05C - ldr r1, _0802B058 @ =gDynamicBasePower - movs r0, 0x1E - strh r0, [r1] - movs r3, 0x5 - b _0802B0B4 - .align 2, 0 -_0802B058: .4byte gDynamicBasePower -_0802B05C: - cmp r3, 0x22 - bgt _0802B070 - ldr r1, _0802B06C @ =gDynamicBasePower - movs r0, 0x32 - strh r0, [r1] - movs r3, 0x6 - b _0802B0B4 - .align 2, 0 -_0802B06C: .4byte gDynamicBasePower -_0802B070: - cmp r3, 0x40 - bgt _0802B084 - ldr r1, _0802B080 @ =gDynamicBasePower - movs r0, 0x46 - strh r0, [r1] - movs r3, 0x7 - b _0802B0B4 - .align 2, 0 -_0802B080: .4byte gDynamicBasePower -_0802B084: - cmp r3, 0x54 - bgt _0802B098 - ldr r1, _0802B094 @ =gDynamicBasePower - movs r0, 0x5A - strh r0, [r1] - movs r3, 0x8 - b _0802B0B4 - .align 2, 0 -_0802B094: .4byte gDynamicBasePower -_0802B098: - cmp r3, 0x5E - bgt _0802B0AC - ldr r1, _0802B0A8 @ =gDynamicBasePower - movs r0, 0x6E - strh r0, [r1] - movs r3, 0x9 - b _0802B0B4 - .align 2, 0 -_0802B0A8: .4byte gDynamicBasePower -_0802B0AC: - ldr r1, _0802B120 @ =gDynamicBasePower - movs r0, 0x96 - strh r0, [r1] - movs r3, 0xA -_0802B0B4: - ldr r1, _0802B124 @ =gBattleTextBuff1 - movs r2, 0 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - strb r0, [r1, 0x2] - movs r0, 0x2 - strb r0, [r1, 0x3] - strb r3, [r1, 0x4] - movs r0, 0xFF - strb r0, [r1, 0x5] - ldr r1, _0802B128 @ =gBattlerTarget - strb r2, [r1] - ldr r0, _0802B12C @ =gBattlersCount - ldrb r3, [r0] - adds r6, r1, 0 - ldr r0, _0802B130 @ =gBattlescriptCurrInstr - mov r8, r0 - cmp r2, r3 - bcs _0802B10C - adds r4, r6, 0 - ldr r0, _0802B134 @ =gBattlerAttacker - ldrb r5, [r0] - ldr r1, _0802B138 @ =gBitTable - mov r12, r1 - ldr r7, _0802B13C @ =gAbsentBattlerFlags -_0802B0EA: - ldrb r2, [r4] - cmp r2, r5 - beq _0802B100 - ldrb r0, [r7] - ldrb r1, [r6] - lsls r1, 2 - add r1, r12 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _0802B10C -_0802B100: - adds r0, r2, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r3 - bcc _0802B0EA -_0802B10C: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B120: .4byte gDynamicBasePower -_0802B124: .4byte gBattleTextBuff1 -_0802B128: .4byte gBattlerTarget -_0802B12C: .4byte gBattlersCount -_0802B130: .4byte gBattlescriptCurrInstr -_0802B134: .4byte gBattlerAttacker -_0802B138: .4byte gBitTable -_0802B13C: .4byte gAbsentBattlerFlags - thumb_func_end atkB9_magnitudedamagecalculation - - thumb_func_start atkBA_jumpifnopursuitswitchdmg -atkBA_jumpifnopursuitswitchdmg: @ 802B140 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0802B164 @ =gMultiHitCounter - ldrb r0, [r0] - cmp r0, 0x1 - bne _0802B170 - ldr r0, _0802B168 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0802B16C - movs r0, 0x1 - b _0802B18A - .align 2, 0 -_0802B164: .4byte gMultiHitCounter -_0802B168: .4byte gBattlerAttacker -_0802B16C: - movs r0, 0 - b _0802B18A -_0802B170: - ldr r0, _0802B184 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0802B188 - movs r0, 0x3 - b _0802B18A - .align 2, 0 -_0802B184: .4byte gBattlerAttacker -_0802B188: - movs r0, 0x2 -_0802B18A: - bl GetBattlerAtPosition - ldr r1, _0802B264 @ =gBattlerTarget - strb r0, [r1] - ldr r0, _0802B268 @ =gChosenActionByBattler - ldr r1, _0802B264 @ =gBattlerTarget - ldrb r3, [r1] - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0 - beq _0802B1A2 - b _0802B2A8 -_0802B1A2: - ldr r5, _0802B26C @ =gBattlerAttacker - ldr r0, _0802B270 @ =gBattleStruct - ldr r1, [r0] - adds r1, r3, r1 - ldrb r2, [r5] - ldrb r1, [r1, 0xC] - cmp r2, r1 - bne _0802B2A8 - ldr r4, _0802B274 @ =gBattleMons - movs r2, 0x58 - adds r0, r3, 0 - muls r0, r2 - adds r1, r4, 0 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x27 - ands r0, r1 - cmp r0, 0 - bne _0802B2A8 - ldrb r0, [r5] - muls r0, r2 - adds r0, r4 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0802B2A8 - ldr r0, _0802B278 @ =gDisableStructs - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x18] - lsls r0, 31 - cmp r0, 0 - bne _0802B2A8 - ldr r0, _0802B27C @ =gChosenMoveByBattler - lsls r1, r3, 1 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0xE4 - bne _0802B2A8 - movs r1, 0 - ldr r0, _0802B280 @ =gBattlersCount - ldr r2, _0802B284 @ =gCurrentMove - mov r8, r2 - ldr r7, _0802B288 @ =gCurrMovePos - mov r10, r7 - ldr r2, _0802B28C @ =gChosenMovePos - mov r9, r2 - ldr r7, _0802B290 @ =gHitMarker - mov r12, r7 - ldrb r2, [r0] - cmp r1, r2 - bge _0802B22E - ldr r6, _0802B294 @ =gBattlerByTurnOrder - ldr r5, _0802B264 @ =gBattlerTarget - ldr r4, _0802B298 @ =gActionsByTurnOrder - movs r3, 0xB - adds r2, r0, 0 -_0802B218: - adds r0, r1, r6 - ldrb r0, [r0] - ldrb r7, [r5] - cmp r0, r7 - bne _0802B226 - adds r0, r1, r4 - strb r3, [r0] -_0802B226: - adds r1, 0x1 - ldrb r0, [r2] - cmp r1, r0 - blt _0802B218 -_0802B22E: - movs r0, 0xE4 - mov r1, r8 - strh r0, [r1] - ldr r2, _0802B264 @ =gBattlerTarget - ldrb r0, [r2] - ldr r7, _0802B270 @ =gBattleStruct - ldr r1, [r7] - adds r0, r1 - adds r0, 0x80 - ldrb r0, [r0] - mov r1, r9 - strb r0, [r1] - mov r2, r10 - strb r0, [r2] - ldr r7, _0802B29C @ =gBattlescriptCurrInstr - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - movs r0, 0x1 - ldr r1, _0802B2A0 @ =gBattleScripting - strb r0, [r1, 0x18] - mov r2, r12 - ldr r0, [r2] - ldr r1, _0802B2A4 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - b _0802B2C2 - .align 2, 0 -_0802B264: .4byte gBattlerTarget -_0802B268: .4byte gChosenActionByBattler -_0802B26C: .4byte gBattlerAttacker -_0802B270: .4byte gBattleStruct -_0802B274: .4byte gBattleMons -_0802B278: .4byte gDisableStructs -_0802B27C: .4byte gChosenMoveByBattler -_0802B280: .4byte gBattlersCount -_0802B284: .4byte gCurrentMove -_0802B288: .4byte gCurrMovePos -_0802B28C: .4byte gChosenMovePos -_0802B290: .4byte gHitMarker -_0802B294: .4byte gBattlerByTurnOrder -_0802B298: .4byte gActionsByTurnOrder -_0802B29C: .4byte gBattlescriptCurrInstr -_0802B2A0: .4byte gBattleScripting -_0802B2A4: .4byte 0xfffffbff -_0802B2A8: - ldr r3, _0802B2D0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B2C2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B2D0: .4byte gBattlescriptCurrInstr - thumb_func_end atkBA_jumpifnopursuitswitchdmg - - thumb_func_start atkBB_setsunny -atkBB_setsunny: @ 802B2D4 - push {lr} - ldr r2, _0802B2F4 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0802B300 - ldr r2, _0802B2F8 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802B2FC @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _0802B312 - .align 2, 0 -_0802B2F4: .4byte gBattleWeather -_0802B2F8: .4byte gMoveResultFlags -_0802B2FC: .4byte gBattleCommunication -_0802B300: - movs r0, 0x20 - strh r0, [r2] - ldr r1, _0802B320 @ =gBattleCommunication - movs r0, 0x4 - strb r0, [r1, 0x5] - ldr r0, _0802B324 @ =gWishFutureKnock - adds r0, 0x28 - movs r1, 0x5 - strb r1, [r0] -_0802B312: - ldr r1, _0802B328 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802B320: .4byte gBattleCommunication -_0802B324: .4byte gWishFutureKnock -_0802B328: .4byte gBattlescriptCurrInstr - thumb_func_end atkBB_setsunny - - thumb_func_start atkBC_maxattackhalvehp -atkBC_maxattackhalvehp: @ 802B32C - push {r4,r5,lr} - ldr r5, _0802B378 @ =gBattleMons - ldr r4, _0802B37C @ =gBattlerAttacker - ldrb r0, [r4] - movs r3, 0x58 - muls r0, r3 - adds r2, r0, r5 - ldrh r0, [r2, 0x2C] - lsrs r1, r0, 1 - cmp r1, 0 - bne _0802B344 - movs r1, 0x1 -_0802B344: - movs r0, 0x19 - ldrsb r0, [r2, r0] - cmp r0, 0xB - bgt _0802B388 - ldrh r0, [r2, 0x28] - cmp r0, r1 - bls _0802B388 - movs r0, 0xC - strb r0, [r2, 0x19] - ldr r1, _0802B380 @ =gBattleMoveDamage - ldrb r0, [r4] - muls r0, r3 - adds r0, r5 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _0802B36C - movs r0, 0x1 - str r0, [r1] -_0802B36C: - ldr r1, _0802B384 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802B3A2 - .align 2, 0 -_0802B378: .4byte gBattleMons -_0802B37C: .4byte gBattlerAttacker -_0802B380: .4byte gBattleMoveDamage -_0802B384: .4byte gBattlescriptCurrInstr -_0802B388: - ldr r3, _0802B3A8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B3A2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B3A8: .4byte gBattlescriptCurrInstr - thumb_func_end atkBC_maxattackhalvehp - - thumb_func_start atkBD_copyfoestats -atkBD_copyfoestats: @ 802B3AC - push {r4-r7,lr} - movs r2, 0 - ldr r7, _0802B3E4 @ =gBattlescriptCurrInstr - ldr r6, _0802B3E8 @ =gBattlerAttacker - movs r4, 0x58 - ldr r3, _0802B3EC @ =gUnknown_2023BFC - ldr r5, _0802B3F0 @ =gBattlerTarget -_0802B3BA: - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r4 - adds r1, r2, r1 - adds r1, r3 - ldrb r0, [r5] - muls r0, r4 - adds r0, r2, r0 - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _0802B3BA - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B3E4: .4byte gBattlescriptCurrInstr -_0802B3E8: .4byte gBattlerAttacker -_0802B3EC: .4byte gUnknown_2023BFC -_0802B3F0: .4byte gBattlerTarget - thumb_func_end atkBD_copyfoestats - - thumb_func_start atkBE_rapidspinfree -atkBE_rapidspinfree: @ 802B3F4 - push {r4-r6,lr} - ldr r1, _0802B464 @ =gBattleMons - ldr r5, _0802B468 @ =gBattlerAttacker - ldrb r2, [r5] - movs r6, 0x58 - adds r0, r2, 0 - muls r0, r6 - adds r4, r1, 0 - adds r4, 0x50 - adds r0, r4 - ldr r0, [r0] - movs r1, 0xE0 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0802B488 - ldr r1, _0802B46C @ =gBattleScripting - ldr r3, _0802B470 @ =gBattlerTarget - ldrb r0, [r3] - strb r0, [r1, 0x17] - ldrb r0, [r5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r4 - ldr r0, [r1] - ldr r2, _0802B474 @ =0xffff1fff - ands r0, r2 - str r0, [r1] - ldrb r0, [r5] - ldr r1, _0802B478 @ =gBattleStruct - ldr r2, [r1] - adds r0, r2 - ldrb r0, [r0, 0x14] - strb r0, [r3] - ldr r1, _0802B47C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldrb r0, [r5] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0, 0x4] - strb r0, [r1, 0x2] - ldrb r0, [r5] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - bl BattleScriptPushCursor - ldr r1, _0802B480 @ =gBattlescriptCurrInstr - ldr r0, _0802B484 @ =BattleScript_WrapFree - b _0802B532 - .align 2, 0 -_0802B464: .4byte gBattleMons -_0802B468: .4byte gBattlerAttacker -_0802B46C: .4byte gBattleScripting -_0802B470: .4byte gBattlerTarget -_0802B474: .4byte 0xffff1fff -_0802B478: .4byte gBattleStruct -_0802B47C: .4byte gBattleTextBuff1 -_0802B480: .4byte gBattlescriptCurrInstr -_0802B484: .4byte BattleScript_WrapFree -_0802B488: - ldr r4, _0802B4BC @ =gStatuses3 - lsls r0, r2, 2 - adds r3, r0, r4 - ldr r1, [r3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0802B4C8 - movs r0, 0x5 - negs r0, r0 - ands r1, r0 - str r1, [r3] - ldrb r1, [r5] - lsls r1, 2 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x4 - negs r2, r2 - ands r0, r2 - str r0, [r1] - bl BattleScriptPushCursor - ldr r1, _0802B4C0 @ =gBattlescriptCurrInstr - ldr r0, _0802B4C4 @ =BattleScript_LeechSeedFree - b _0802B532 - .align 2, 0 -_0802B4BC: .4byte gStatuses3 -_0802B4C0: .4byte gBattlescriptCurrInstr -_0802B4C4: .4byte BattleScript_LeechSeedFree -_0802B4C8: - adds r0, r2, 0 - bl GetBattlerSide - ldr r4, _0802B518 @ =gSideStatuses - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802B52C - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r2, [r0] - ldr r1, _0802B51C @ =0x0000ffef - ands r1, r2 - movs r4, 0 - strh r1, [r0] - ldrb r0, [r5] - bl GetBattlerSide - ldr r2, _0802B520 @ =gSideTimers - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - strb r4, [r1, 0xA] - bl BattleScriptPushCursor - ldr r1, _0802B524 @ =gBattlescriptCurrInstr - ldr r0, _0802B528 @ =BattleScript_SpikesFree - b _0802B532 - .align 2, 0 -_0802B518: .4byte gSideStatuses -_0802B51C: .4byte 0x0000ffef -_0802B520: .4byte gSideTimers -_0802B524: .4byte gBattlescriptCurrInstr -_0802B528: .4byte BattleScript_SpikesFree -_0802B52C: - ldr r1, _0802B53C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 -_0802B532: - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802B53C: .4byte gBattlescriptCurrInstr - thumb_func_end atkBE_rapidspinfree - - thumb_func_start atkBF_setdefensecurlbit -atkBF_setdefensecurlbit: @ 802B540 - ldr r1, _0802B564 @ =gBattleMons - ldr r0, _0802B568 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 23 - orrs r0, r1 - str r0, [r2] - ldr r1, _0802B56C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802B564: .4byte gBattleMons -_0802B568: .4byte gBattlerAttacker -_0802B56C: .4byte gBattlescriptCurrInstr - thumb_func_end atkBF_setdefensecurlbit - - thumb_func_start atkC0_recoverbasedonsunlight -atkC0_recoverbasedonsunlight: @ 802B570 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, _0802B5DC @ =gBattlerTarget - ldr r5, _0802B5E0 @ =gBattlerAttacker - ldrb r0, [r5] - strb r0, [r1] - ldr r7, _0802B5E4 @ =gBattleMons - ldrb r0, [r5] - movs r6, 0x58 - muls r0, r6 - adds r0, r7 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - beq _0802B650 - ldr r4, _0802B5E8 @ =gBattleWeather - ldrh r0, [r4] - cmp r0, 0 - beq _0802B5C2 - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0802B5C2 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _0802B5F0 -_0802B5C2: - ldr r3, _0802B5EC @ =gBattleMoveDamage - ldr r2, _0802B5E4 @ =gBattleMons - ldr r0, _0802B5E0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r3] - adds r1, r3, 0 - b _0802B62A - .align 2, 0 -_0802B5DC: .4byte gBattlerTarget -_0802B5E0: .4byte gBattlerAttacker -_0802B5E4: .4byte gBattleMons -_0802B5E8: .4byte gBattleWeather -_0802B5EC: .4byte gBattleMoveDamage -_0802B5F0: - ldrh r1, [r4] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0802B61C - ldr r4, _0802B618 @ =gBattleMoveDamage - ldrb r0, [r5] - muls r0, r6 - adds r0, r7 - ldrh r1, [r0, 0x2C] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - movs r1, 0x1E - bl __divsi3 - str r0, [r4] - adds r1, r4, 0 - b _0802B62A - .align 2, 0 -_0802B618: .4byte gBattleMoveDamage -_0802B61C: - ldr r1, _0802B648 @ =gBattleMoveDamage - ldrb r0, [r5] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0, 0x2C] - lsrs r0, 2 - str r0, [r1] -_0802B62A: - adds r2, r1, 0 - ldr r0, [r2] - cmp r0, 0 - bne _0802B636 - movs r0, 0x1 - str r0, [r2] -_0802B636: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldr r1, _0802B64C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802B66A - .align 2, 0 -_0802B648: .4byte gBattleMoveDamage -_0802B64C: .4byte gBattlescriptCurrInstr -_0802B650: - ldr r3, _0802B674 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B66A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B674: .4byte gBattlescriptCurrInstr - thumb_func_end atkC0_recoverbasedonsunlight - thumb_func_start atkC1_hiddenpowercalc atkC1_hiddenpowercalc: @ 802B678 push {r4-r7,lr} -- cgit v1.2.3 From f4b4f5dd0c698bad4e9b10b712c15f5c448a0203 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 27 Aug 2019 12:00:08 +0800 Subject: thru atkee --- asm/battle_script_commands.s | 3790 ------------------------------------------ 1 file changed, 3790 deletions(-) (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 5d8648ced..00d3e49c7 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,3796 +5,6 @@ .text - thumb_func_start atkC1_hiddenpowercalc -atkC1_hiddenpowercalc: @ 802B678 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r2, _0802B760 @ =gBattleMons - ldr r0, _0802B764 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrb r0, [r1, 0x14] - mov r9, r0 - mov r7, r9 - lsls r7, 27 - adds r0, r7, 0 - lsrs r0, 27 - mov r9, r0 - movs r4, 0x2 - mov r2, r9 - ands r2, r4 - asrs r2, 1 - ldrh r7, [r1, 0x14] - mov r8, r7 - mov r0, r8 - lsls r0, 22 - lsrs r0, 27 - mov r8, r0 - ands r0, r4 - orrs r2, r0 - ldrb r6, [r1, 0x15] - lsls r6, 25 - lsrs r6, 27 - adds r0, r6, 0 - ands r0, r4 - lsls r0, 1 - orrs r2, r0 - ldr r5, [r1, 0x14] - lsls r5, 12 - lsrs r5, 27 - adds r0, r5, 0 - ands r0, r4 - lsls r0, 2 - orrs r2, r0 - ldrh r3, [r1, 0x16] - lsls r3, 23 - lsrs r3, 27 - adds r0, r3, 0 - ands r0, r4 - lsls r0, 3 - orrs r2, r0 - ldrb r1, [r1, 0x17] - lsls r1, 26 - lsrs r1, 27 - adds r0, r1, 0 - ands r0, r4 - lsls r0, 4 - orrs r2, r0 - movs r0, 0x1 - adds r4, r0, 0 - mov r7, r9 - ands r4, r7 - mov r7, r8 - ands r7, r0 - lsls r7, 1 - orrs r4, r7 - ands r6, r0 - lsls r6, 2 - orrs r4, r6 - ands r5, r0 - lsls r5, 3 - orrs r4, r5 - ands r3, r0 - lsls r3, 4 - orrs r4, r3 - ands r1, r0 - lsls r1, 5 - orrs r4, r1 - ldr r5, _0802B768 @ =gDynamicBasePower - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - movs r1, 0x3F - bl __divsi3 - adds r0, 0x1E - strh r0, [r5] - ldr r6, _0802B76C @ =gBattleStruct - ldr r5, [r6] - lsls r0, r4, 4 - subs r0, r4 - movs r1, 0x3F - bl __divsi3 - adds r0, 0x1 - strb r0, [r5, 0x13] - ldr r1, [r6] - ldrb r0, [r1, 0x13] - cmp r0, 0x8 - bls _0802B742 - adds r0, 0x1 - strb r0, [r1, 0x13] -_0802B742: - ldr r2, [r6] - ldrb r0, [r2, 0x13] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r2, 0x13] - ldr r1, _0802B770 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B760: .4byte gBattleMons -_0802B764: .4byte gBattlerAttacker -_0802B768: .4byte gDynamicBasePower -_0802B76C: .4byte gBattleStruct -_0802B770: .4byte gBattlescriptCurrInstr - thumb_func_end atkC1_hiddenpowercalc - - thumb_func_start atkC2_selectfirstvalidtarget -atkC2_selectfirstvalidtarget: @ 802B774 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0802B7D0 @ =gBattlerTarget - movs r1, 0 - strb r1, [r0] - ldr r1, _0802B7D4 @ =gBattlersCount - ldrb r1, [r1] - adds r6, r0, 0 - ldr r0, _0802B7D8 @ =gBattlescriptCurrInstr - mov r8, r0 - cmp r1, 0 - beq _0802B7BE - adds r3, r6, 0 - ldr r0, _0802B7DC @ =gBattlerAttacker - ldrb r5, [r0] - ldr r0, _0802B7E0 @ =gBitTable - mov r12, r0 - adds r4, r1, 0 - ldr r7, _0802B7E4 @ =gAbsentBattlerFlags -_0802B79C: - ldrb r2, [r3] - cmp r2, r5 - beq _0802B7B2 - ldrb r0, [r7] - ldrb r1, [r6] - lsls r1, 2 - add r1, r12 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _0802B7BE -_0802B7B2: - adds r0, r2, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r4 - bcc _0802B79C -_0802B7BE: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B7D0: .4byte gBattlerTarget -_0802B7D4: .4byte gBattlersCount -_0802B7D8: .4byte gBattlescriptCurrInstr -_0802B7DC: .4byte gBattlerAttacker -_0802B7E0: .4byte gBitTable -_0802B7E4: .4byte gAbsentBattlerFlags - thumb_func_end atkC2_selectfirstvalidtarget - - thumb_func_start atkC3_trysetfutureattack -atkC3_trysetfutureattack: @ 802B7E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r0, _0802B820 @ =gWishFutureKnock - mov r8, r0 - ldr r7, _0802B824 @ =gBattlerTarget - ldrb r1, [r7] - adds r0, r1, r0 - ldrb r6, [r0] - cmp r6, 0 - beq _0802B82C - ldr r3, _0802B828 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802B8F6 - .align 2, 0 -_0802B820: .4byte gWishFutureKnock -_0802B824: .4byte gBattlerTarget -_0802B828: .4byte gBattlescriptCurrInstr -_0802B82C: - lsls r1, 1 - mov r0, r8 - adds r0, 0x18 - adds r1, r0 - ldr r2, _0802B8CC @ =gCurrentMove - mov r9, r2 - ldrh r0, [r2] - strh r0, [r1] - mov r0, r8 - adds r0, 0x4 - ldrb r4, [r7] - adds r0, r4 - ldr r5, _0802B8D0 @ =gBattlerAttacker - ldrb r1, [r5] - strb r1, [r0] - ldrb r0, [r7] - add r0, r8 - movs r1, 0x3 - strb r1, [r0] - ldr r4, _0802B8D4 @ =gSideStatuses - ldrb r0, [r7] - bl GetBattlerPosition - movs r1, 0x1 - mov r10, r1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - ldr r2, _0802B8D8 @ =gBattleMons - adds r0, r2 - ldrb r1, [r7] - muls r1, r4 - adds r1, r2 - mov r4, r9 - ldrh r2, [r4] - str r6, [sp] - str r6, [sp, 0x4] - ldrb r4, [r5] - str r4, [sp, 0x8] - ldrb r4, [r7] - str r4, [sp, 0xC] - bl CalculateBaseDamage - ldrb r1, [r7] - lsls r1, 2 - mov r2, r8 - adds r2, 0x8 - adds r1, r2 - str r0, [r1] - ldr r1, _0802B8DC @ =gProtectStructs - ldrb r0, [r5] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _0802B8BA - ldrb r4, [r7] - lsls r4, 2 - adds r4, r2 - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0802B8BA: - mov r0, r9 - ldrh r1, [r0] - ldr r0, _0802B8E0 @ =0x00000161 - cmp r1, r0 - bne _0802B8E8 - ldr r0, _0802B8E4 @ =gBattleCommunication - mov r1, r10 - strb r1, [r0, 0x5] - b _0802B8EE - .align 2, 0 -_0802B8CC: .4byte gCurrentMove -_0802B8D0: .4byte gBattlerAttacker -_0802B8D4: .4byte gSideStatuses -_0802B8D8: .4byte gBattleMons -_0802B8DC: .4byte gProtectStructs -_0802B8E0: .4byte 0x00000161 -_0802B8E4: .4byte gBattleCommunication -_0802B8E8: - ldr r1, _0802B908 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] -_0802B8EE: - ldr r1, _0802B90C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802B8F6: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B908: .4byte gBattleCommunication -_0802B90C: .4byte gBattlescriptCurrInstr - thumb_func_end atkC3_trysetfutureattack - - thumb_func_start atkC4_trydobeatup -atkC4_trydobeatup: @ 802B910 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0802B954 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldr r7, _0802B958 @ =gEnemyParty - cmp r0, 0 - bne _0802B92A - ldr r7, _0802B95C @ =gPlayerParty -_0802B92A: - ldr r2, _0802B960 @ =gBattleMons - ldr r0, _0802B964 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0802B96C - ldr r3, _0802B968 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - b _0802BB08 - .align 2, 0 -_0802B954: .4byte gBattlerAttacker -_0802B958: .4byte gEnemyParty -_0802B95C: .4byte gPlayerParty -_0802B960: .4byte gBattleMons -_0802B964: .4byte gBattlerTarget -_0802B968: .4byte gBattlescriptCurrInstr -_0802B96C: - ldr r6, _0802BAA8 @ =gBattleCommunication - ldrb r0, [r6] - mov r8, r0 - cmp r0, 0x5 - bls _0802B978 - b _0802BAD4 -_0802B978: - adds r4, r6, 0 - movs r5, 0x64 -_0802B97C: - ldrb r0, [r4] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0802B9C0 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _0802B9C0 - ldrb r0, [r4] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0802B9C0 - ldrb r0, [r4] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x37 - bl GetMonData - cmp r0, 0 - beq _0802B9D0 -_0802B9C0: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r6, r4, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _0802B97C -_0802B9D0: - ldr r1, _0802BAA8 @ =gBattleCommunication - mov r9, r1 - ldrb r2, [r1] - cmp r2, 0x5 - bhi _0802BAD4 - ldr r1, _0802BAAC @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r6, _0802BAB0 @ =gBattlerAttacker - ldrb r0, [r6] - strb r0, [r1, 0x2] - strb r2, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802BAB4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x9 - str r0, [r1] - ldr r2, _0802BAB8 @ =gBattleMoveDamage - mov r8, r2 - ldr r5, _0802BABC @ =gBaseStats - mov r1, r9 - ldrb r0, [r1] - movs r4, 0x64 - muls r0, r4 - adds r0, r7, r0 - movs r1, 0xB - bl GetMonData - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r3, [r1, 0x1] - mov r2, r8 - str r3, [r2] - ldr r2, _0802BAC0 @ =gBattleMoves - ldr r0, _0802BAC4 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - muls r0, r3 - mov r1, r8 - str r0, [r1] - mov r2, r9 - ldrb r0, [r2] - muls r0, r4 - adds r0, r7, r0 - movs r1, 0x38 - bl GetMonData - lsls r0, 1 - movs r1, 0x5 - bl __udivsi3 - adds r0, 0x2 - mov r2, r8 - ldr r1, [r2] - muls r0, r1 - str r0, [r2] - ldr r3, _0802BAC8 @ =gBattleMons - ldr r1, _0802BACC @ =gBattlerTarget - ldrb r2, [r1] - movs r1, 0x58 - muls r1, r2 - adds r1, r3 - ldrh r2, [r1] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1, 0x2] - bl __divsi3 - mov r1, r8 - str r0, [r1] - movs r1, 0x32 - bl __divsi3 - adds r2, r0, 0x2 - mov r0, r8 - str r2, [r0] - ldr r1, _0802BAD0 @ =gProtectStructs - ldrb r0, [r6] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _0802BA9C - lsls r0, r2, 4 - subs r0, r2 - movs r1, 0xA - bl __divsi3 - mov r1, r8 - str r0, [r1] -_0802BA9C: - mov r2, r9 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _0802BB0E - .align 2, 0 -_0802BAA8: .4byte gBattleCommunication -_0802BAAC: .4byte gBattleTextBuff1 -_0802BAB0: .4byte gBattlerAttacker -_0802BAB4: .4byte gBattlescriptCurrInstr -_0802BAB8: .4byte gBattleMoveDamage -_0802BABC: .4byte gBaseStats -_0802BAC0: .4byte gBattleMoves -_0802BAC4: .4byte gCurrentMove -_0802BAC8: .4byte gBattleMons -_0802BACC: .4byte gBattlerTarget -_0802BAD0: .4byte gProtectStructs -_0802BAD4: - mov r0, r8 - cmp r0, 0 - beq _0802BAF4 - ldr r3, _0802BAF0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - b _0802BB08 - .align 2, 0 -_0802BAF0: .4byte gBattlescriptCurrInstr -_0802BAF4: - ldr r3, _0802BB1C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] -_0802BB08: - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802BB0E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802BB1C: .4byte gBattlescriptCurrInstr - thumb_func_end atkC4_trydobeatup - - thumb_func_start atkC5_setsemiinvulnerablebit -atkC5_setsemiinvulnerablebit: @ 802BB20 - push {lr} - ldr r0, _0802BB34 @ =gCurrentMove - ldrh r1, [r0] - cmp r1, 0x5B - beq _0802BB60 - cmp r1, 0x5B - bgt _0802BB38 - cmp r1, 0x13 - beq _0802BB44 - b _0802BB8C - .align 2, 0 -_0802BB34: .4byte gCurrentMove -_0802BB38: - ldr r0, _0802BB54 @ =0x00000123 - cmp r1, r0 - beq _0802BB78 - adds r0, 0x31 - cmp r1, r0 - bne _0802BB8C -_0802BB44: - ldr r2, _0802BB58 @ =gStatuses3 - ldr r0, _0802BB5C @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x40 - b _0802BB88 - .align 2, 0 -_0802BB54: .4byte 0x00000123 -_0802BB58: .4byte gStatuses3 -_0802BB5C: .4byte gBattlerAttacker -_0802BB60: - ldr r2, _0802BB70 @ =gStatuses3 - ldr r0, _0802BB74 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x80 - b _0802BB88 - .align 2, 0 -_0802BB70: .4byte gStatuses3 -_0802BB74: .4byte gBattlerAttacker -_0802BB78: - ldr r2, _0802BB98 @ =gStatuses3 - ldr r0, _0802BB9C @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 11 -_0802BB88: - orrs r0, r2 - str r0, [r1] -_0802BB8C: - ldr r1, _0802BBA0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802BB98: .4byte gStatuses3 -_0802BB9C: .4byte gBattlerAttacker -_0802BBA0: .4byte gBattlescriptCurrInstr - thumb_func_end atkC5_setsemiinvulnerablebit - - thumb_func_start atkC6_clearsemiinvulnerablebit -atkC6_clearsemiinvulnerablebit: @ 802BBA4 - push {lr} - ldr r0, _0802BBB8 @ =gCurrentMove - ldrh r1, [r0] - cmp r1, 0x5B - beq _0802BBE8 - cmp r1, 0x5B - bgt _0802BBBC - cmp r1, 0x13 - beq _0802BBC8 - b _0802BC16 - .align 2, 0 -_0802BBB8: .4byte gCurrentMove -_0802BBBC: - ldr r0, _0802BBDC @ =0x00000123 - cmp r1, r0 - beq _0802BC04 - adds r0, 0x31 - cmp r1, r0 - bne _0802BC16 -_0802BBC8: - ldr r2, _0802BBE0 @ =gStatuses3 - ldr r0, _0802BBE4 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x41 - negs r2, r2 - b _0802BC12 - .align 2, 0 -_0802BBDC: .4byte 0x00000123 -_0802BBE0: .4byte gStatuses3 -_0802BBE4: .4byte gBattlerAttacker -_0802BBE8: - ldr r2, _0802BBFC @ =gStatuses3 - ldr r0, _0802BC00 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x81 - negs r2, r2 - b _0802BC12 - .align 2, 0 -_0802BBFC: .4byte gStatuses3 -_0802BC00: .4byte gBattlerAttacker -_0802BC04: - ldr r2, _0802BC24 @ =gStatuses3 - ldr r0, _0802BC28 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - ldr r2, _0802BC2C @ =0xfffbffff -_0802BC12: - ands r0, r2 - str r0, [r1] -_0802BC16: - ldr r1, _0802BC30 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802BC24: .4byte gStatuses3 -_0802BC28: .4byte gBattlerAttacker -_0802BC2C: .4byte 0xfffbffff -_0802BC30: .4byte gBattlescriptCurrInstr - thumb_func_end atkC6_clearsemiinvulnerablebit - - thumb_func_start atkC7_setminimize -atkC7_setminimize: @ 802BC34 - push {lr} - ldr r0, _0802BC64 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _0802BC58 - ldr r2, _0802BC68 @ =gStatuses3 - ldr r0, _0802BC6C @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 1 - orrs r0, r2 - str r0, [r1] -_0802BC58: - ldr r1, _0802BC70 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802BC64: .4byte gHitMarker -_0802BC68: .4byte gStatuses3 -_0802BC6C: .4byte gBattlerAttacker -_0802BC70: .4byte gBattlescriptCurrInstr - thumb_func_end atkC7_setminimize - - thumb_func_start atkC8_sethail -atkC8_sethail: @ 802BC74 - push {lr} - ldr r3, _0802BC98 @ =gBattleWeather - ldrh r1, [r3] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0802BCA4 - ldr r2, _0802BC9C @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802BCA0 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _0802BCB2 - .align 2, 0 -_0802BC98: .4byte gBattleWeather -_0802BC9C: .4byte gMoveResultFlags -_0802BCA0: .4byte gBattleCommunication -_0802BCA4: - strh r2, [r3] - ldr r0, _0802BCC0 @ =gBattleCommunication - movs r1, 0x5 - strb r1, [r0, 0x5] - ldr r0, _0802BCC4 @ =gWishFutureKnock - adds r0, 0x28 - strb r1, [r0] -_0802BCB2: - ldr r1, _0802BCC8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802BCC0: .4byte gBattleCommunication -_0802BCC4: .4byte gWishFutureKnock -_0802BCC8: .4byte gBattlescriptCurrInstr - thumb_func_end atkC8_sethail - - thumb_func_start atkC9_jumpifattackandspecialattackcannotfall -atkC9_jumpifattackandspecialattackcannotfall: @ 802BCCC - push {r4,lr} - ldr r2, _0802BD10 @ =gBattleMons - ldr r0, _0802BD14 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - movs r0, 0x19 - ldrsb r0, [r1, r0] - adds r3, r2, 0 - cmp r0, 0 - bne _0802BD20 - movs r0, 0x1C - ldrsb r0, [r1, r0] - cmp r0, 0 - bne _0802BD20 - ldr r0, _0802BD18 @ =gBattleCommunication - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - beq _0802BD20 - ldr r3, _0802BD1C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802BD4C - .align 2, 0 -_0802BD10: .4byte gBattleMons -_0802BD14: .4byte gBattlerTarget -_0802BD18: .4byte gBattleCommunication -_0802BD1C: .4byte gBattlescriptCurrInstr -_0802BD20: - ldr r4, _0802BD54 @ =gActiveBattler - ldr r0, _0802BD58 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - ldr r2, _0802BD5C @ =gBattleMoveDamage - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0, 0x28] - str r0, [r2] - ldr r1, _0802BD60 @ =0x00007fff - movs r0, 0 - bl BtlController_EmitHealthBarUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _0802BD64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802BD4C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BD54: .4byte gActiveBattler -_0802BD58: .4byte gBattlerAttacker -_0802BD5C: .4byte gBattleMoveDamage -_0802BD60: .4byte 0x00007fff -_0802BD64: .4byte gBattlescriptCurrInstr - thumb_func_end atkC9_jumpifattackandspecialattackcannotfall - - thumb_func_start atkCA_setforcedtarget -atkCA_setforcedtarget: @ 802BD68 - push {r4,r5,lr} - ldr r4, _0802BDA8 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - ldr r5, _0802BDAC @ =gSideTimers - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r0, 0x1 - strb r0, [r1, 0x8] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r4] - strb r0, [r1, 0x9] - ldr r1, _0802BDB0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BDA8: .4byte gBattlerAttacker -_0802BDAC: .4byte gSideTimers -_0802BDB0: .4byte gBattlescriptCurrInstr - thumb_func_end atkCA_setforcedtarget - - thumb_func_start atkCB_setcharge -atkCB_setcharge: @ 802BDB4 - push {r4,lr} - ldr r0, _0802BE08 @ =gStatuses3 - ldr r3, _0802BE0C @ =gBattlerAttacker - ldrb r1, [r3] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 2 - orrs r0, r2 - str r0, [r1] - ldr r4, _0802BE10 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x12] - movs r1, 0x10 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x12] - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x12] - movs r1, 0xF - ands r1, r2 - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x12] - ldr r1, _0802BE14 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BE08: .4byte gStatuses3 -_0802BE0C: .4byte gBattlerAttacker -_0802BE10: .4byte gDisableStructs -_0802BE14: .4byte gBattlescriptCurrInstr - thumb_func_end atkCB_setcharge - - thumb_func_start atkCC_callterrainattack -atkCC_callterrainattack: @ 802BE18 - push {r4,lr} - ldr r2, _0802BE68 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802BE6C @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _0802BE70 @ =gCurrentMove - ldr r1, _0802BE74 @ =sNaturePowerMoves - ldr r0, _0802BE78 @ =gBattleTerrain - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _0802BE7C @ =gBattlerTarget - strb r0, [r1] - ldr r3, _0802BE80 @ =gBattleScriptsForMoveEffects - ldr r2, _0802BE84 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - bl BattleScriptPush - ldr r1, _0802BE88 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BE68: .4byte gHitMarker -_0802BE6C: .4byte 0xfffffbff -_0802BE70: .4byte gCurrentMove -_0802BE74: .4byte sNaturePowerMoves -_0802BE78: .4byte gBattleTerrain -_0802BE7C: .4byte gBattlerTarget -_0802BE80: .4byte gBattleScriptsForMoveEffects -_0802BE84: .4byte gBattleMoves -_0802BE88: .4byte gBattlescriptCurrInstr - thumb_func_end atkCC_callterrainattack - - thumb_func_start atkCD_cureifburnedparalysedorpoisoned -atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, _0802BED8 @ =gBattleMons - ldr r3, _0802BEDC @ =gBattlerAttacker - ldrb r0, [r3] - movs r6, 0x58 - muls r0, r6 - adds r5, r1, 0 - adds r5, 0x4C - adds r2, r0, r5 - ldr r0, [r2] - movs r1, 0xD8 - ands r0, r1 - cmp r0, 0 - beq _0802BEE8 - movs r0, 0 - str r0, [r2] - ldr r1, _0802BEE0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r4, _0802BEE4 @ =gActiveBattler - ldrb r0, [r3] - strb r0, [r4] - ldrb r0, [r4] - muls r0, r6 - adds r0, r5 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0802BF02 - .align 2, 0 -_0802BED8: .4byte gBattleMons -_0802BEDC: .4byte gBattlerAttacker -_0802BEE0: .4byte gBattlescriptCurrInstr -_0802BEE4: .4byte gActiveBattler -_0802BEE8: - ldr r3, _0802BF0C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802BF02: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802BF0C: .4byte gBattlescriptCurrInstr - thumb_func_end atkCD_cureifburnedparalysedorpoisoned - - thumb_func_start atkCE_settorment -atkCE_settorment: @ 802BF10 - push {lr} - ldr r1, _0802BF48 @ =gBattleMons - ldr r0, _0802BF4C @ =gBattlerTarget - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 24 - cmp r1, 0 - bge _0802BF54 - ldr r3, _0802BF50 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802BF60 - .align 2, 0 -_0802BF48: .4byte gBattleMons -_0802BF4C: .4byte gBattlerTarget -_0802BF50: .4byte gBattlescriptCurrInstr -_0802BF54: - orrs r1, r2 - str r1, [r0] - ldr r1, _0802BF64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802BF60: - pop {r0} - bx r0 - .align 2, 0 -_0802BF64: .4byte gBattlescriptCurrInstr - thumb_func_end atkCE_settorment - - thumb_func_start atkCF_jumpifnodamage -atkCF_jumpifnodamage: @ 802BF68 - push {lr} - ldr r2, _0802BF94 @ =gProtectStructs - ldr r0, _0802BF98 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r1, r0, 4 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0802BF88 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802BFA0 -_0802BF88: - ldr r1, _0802BF9C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802BFBA - .align 2, 0 -_0802BF94: .4byte gProtectStructs -_0802BF98: .4byte gBattlerAttacker -_0802BF9C: .4byte gBattlescriptCurrInstr -_0802BFA0: - ldr r3, _0802BFC0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802BFBA: - pop {r0} - bx r0 - .align 2, 0 -_0802BFC0: .4byte gBattlescriptCurrInstr - thumb_func_end atkCF_jumpifnodamage - - thumb_func_start atkD0_settaunt -atkD0_settaunt: @ 802BFC4 - push {r4,lr} - ldr r4, _0802C008 @ =gDisableStructs - ldr r3, _0802C00C @ =gBattlerTarget - ldrb r0, [r3] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r2, r1, r4 - ldrb r1, [r2, 0x13] - lsls r0, r1, 28 - cmp r0, 0 - bne _0802C014 - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x13] - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x13] - movs r1, 0xF - ands r1, r2 - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x13] - ldr r1, _0802C010 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802C02E - .align 2, 0 -_0802C008: .4byte gDisableStructs -_0802C00C: .4byte gBattlerTarget -_0802C010: .4byte gBattlescriptCurrInstr -_0802C014: - ldr r3, _0802C034 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802C02E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C034: .4byte gBattlescriptCurrInstr - thumb_func_end atkD0_settaunt - - thumb_func_start atkD1_trysethelpinghand -atkD1_trysethelpinghand: @ 802C038 - push {r4,lr} - ldr r4, _0802C0A0 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r3, _0802C0A4 @ =gBattlerTarget - strb r0, [r3] - ldr r0, _0802C0A8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802C0BC - ldr r0, _0802C0AC @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0802C0B0 @ =gBitTable - ldrb r3, [r3] - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802C0BC - ldr r1, _0802C0B4 @ =gProtectStructs - ldrb r0, [r4] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - blt _0802C0BC - lsls r0, r3, 4 - adds r2, r0, r1 - ldrb r1, [r2] - lsls r0, r1, 28 - cmp r0, 0 - blt _0802C0BC - movs r0, 0x8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802C0B8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802C0D6 - .align 2, 0 -_0802C0A0: .4byte gBattlerAttacker -_0802C0A4: .4byte gBattlerTarget -_0802C0A8: .4byte gBattleTypeFlags -_0802C0AC: .4byte gAbsentBattlerFlags -_0802C0B0: .4byte gBitTable -_0802C0B4: .4byte gProtectStructs -_0802C0B8: .4byte gBattlescriptCurrInstr -_0802C0BC: - ldr r3, _0802C0DC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802C0D6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C0DC: .4byte gBattlescriptCurrInstr - thumb_func_end atkD1_trysethelpinghand - - thumb_func_start atkD2_tryswapitems -atkD2_tryswapitems: @ 802C0E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, _0802C1FC @ =gBattleTypeFlags - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - bne _0802C1DE - ldr r0, _0802C200 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802C120 - ldr r0, [r4] - ldr r1, _0802C204 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0802C120 - ldr r0, _0802C208 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _0802C1DE -_0802C120: - ldr r6, _0802C200 @ =gBattlerAttacker - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - lsrs r4, r0, 24 - ldr r7, _0802C20C @ =gBattlerTarget - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0802C1FC @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0802C204 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0802C18A - ldr r0, _0802C208 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _0802C18A - ldr r0, _0802C210 @ =gWishFutureKnock - adds r2, r0, 0 - adds r2, 0x29 - adds r0, r4, r2 - ldrb r1, [r0] - ldr r4, _0802C214 @ =gBitTable - ldr r3, _0802C218 @ =gBattlerPartyIndexes - ldrb r0, [r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802C1DE - adds r0, r5, r2 - ldrb r1, [r0] - ldrb r0, [r7] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802C1DE -_0802C18A: - ldr r0, _0802C21C @ =gBattleMons - mov r8, r0 - ldr r1, _0802C200 @ =gBattlerAttacker - ldrb r4, [r1] - movs r5, 0x58 - adds r0, r4, 0 - muls r0, r5 - add r0, r8 - mov r9, r0 - ldrh r3, [r0, 0x2E] - adds r1, r3, 0 - cmp r1, 0 - bne _0802C1B2 - ldr r0, _0802C20C @ =gBattlerTarget - ldrb r0, [r0] - muls r0, r5 - add r0, r8 - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _0802C1DE -_0802C1B2: - cmp r1, 0xAF - beq _0802C1DE - ldr r7, _0802C20C @ =gBattlerTarget - ldrb r0, [r7] - muls r0, r5 - mov r2, r8 - adds r1, r0, r2 - ldrh r2, [r1, 0x2E] - cmp r2, 0xAF - beq _0802C1DE - adds r0, r3, 0 - subs r0, 0x79 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bls _0802C1DE - adds r0, r2, 0 - subs r0, 0x79 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bhi _0802C224 -_0802C1DE: - ldr r3, _0802C220 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C37A - .align 2, 0 -_0802C1FC: .4byte gBattleTypeFlags -_0802C200: .4byte gBattlerAttacker -_0802C204: .4byte 0x00000902 -_0802C208: .4byte gTrainerBattleOpponent_A -_0802C20C: .4byte gBattlerTarget -_0802C210: .4byte gWishFutureKnock -_0802C214: .4byte gBitTable -_0802C218: .4byte gBattlerPartyIndexes -_0802C21C: .4byte gBattleMons -_0802C220: .4byte gBattlescriptCurrInstr -_0802C224: - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x3C - bne _0802C258 - ldr r1, _0802C24C @ =gBattlescriptCurrInstr - ldr r0, _0802C250 @ =BattleScript_StickyHoldActivates - str r0, [r1] - ldr r1, _0802C254 @ =gLastUsedAbility - ldrb r0, [r7] - muls r0, r5 - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - ldrb r1, [r1] - bl RecordAbilityBattle - b _0802C37A - .align 2, 0 -_0802C24C: .4byte gBattlescriptCurrInstr -_0802C250: .4byte BattleScript_StickyHoldActivates -_0802C254: .4byte gLastUsedAbility -_0802C258: - ldr r3, _0802C344 @ =gBattleStruct - mov r10, r3 - lsls r0, r4, 1 - adds r0, 0xD0 - ldr r1, [r3] - adds r6, r1, r0 - mov r0, r9 - ldrh r0, [r0, 0x2E] - mov r9, r0 - strh r2, [r6] - ldr r1, _0802C348 @ =gBattlerAttacker - ldrb r0, [r1] - muls r0, r5 - add r0, r8 - movs r1, 0 - strh r1, [r0, 0x2E] - ldrb r0, [r7] - muls r0, r5 - add r0, r8 - mov r2, r9 - strh r2, [r0, 0x2E] - ldr r4, _0802C34C @ =gActiveBattler - ldr r3, _0802C348 @ =gBattlerAttacker - ldrb r0, [r3] - strb r0, [r4] - str r6, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldr r1, _0802C348 @ =gBattlerAttacker - ldrb r0, [r1] - bl MarkBattlerForControllerExec - ldrb r0, [r7] - strb r0, [r4] - ldrb r0, [r7] - muls r0, r5 - mov r1, r8 - adds r1, 0x2E - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldrb r0, [r7] - mov r2, r10 - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC8 - movs r3, 0 - strb r3, [r0] - ldrb r0, [r7] - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC9 - strb r3, [r0] - ldr r1, _0802C348 @ =gBattlerAttacker - ldrb r0, [r1] - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC8 - strb r3, [r0] - ldr r2, _0802C348 @ =gBattlerAttacker - ldrb r0, [r2] - mov r3, r10 - ldr r1, [r3] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC9 - movs r1, 0 - strb r1, [r0] - ldr r1, _0802C350 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r1, _0802C354 @ =gBattleTextBuff1 - movs r3, 0xFD - strb r3, [r1] - movs r2, 0xA - strb r2, [r1, 0x1] - ldrh r0, [r6] - strb r0, [r1, 0x2] - ldrh r0, [r6] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802C358 @ =gBattleTextBuff2 - strb r3, [r1] - strb r2, [r1, 0x1] - mov r2, r9 - strb r2, [r1, 0x2] - mov r3, r9 - lsrs r0, r3, 8 - strb r0, [r1, 0x3] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x4] - cmp r3, 0 - beq _0802C360 - ldrh r0, [r6] - cmp r0, 0 - beq _0802C374 - ldr r1, _0802C35C @ =gBattleCommunication - movs r0, 0x2 - b _0802C378 - .align 2, 0 -_0802C344: .4byte gBattleStruct -_0802C348: .4byte gBattlerAttacker -_0802C34C: .4byte gActiveBattler -_0802C350: .4byte gBattlescriptCurrInstr -_0802C354: .4byte gBattleTextBuff1 -_0802C358: .4byte gBattleTextBuff2 -_0802C35C: .4byte gBattleCommunication -_0802C360: - ldrh r0, [r6] - cmp r0, 0 - beq _0802C374 - ldr r0, _0802C370 @ =gBattleCommunication - movs r1, 0 - strb r1, [r0, 0x5] - b _0802C37A - .align 2, 0 -_0802C370: .4byte gBattleCommunication -_0802C374: - ldr r1, _0802C38C @ =gBattleCommunication - movs r0, 0x1 -_0802C378: - strb r0, [r1, 0x5] -_0802C37A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C38C: .4byte gBattleCommunication - thumb_func_end atkD2_tryswapitems - - thumb_func_start atkD3_trycopyability -atkD3_trycopyability: @ 802C390 - push {r4,lr} - ldr r3, _0802C3D0 @ =gBattleMons - ldr r4, _0802C3D4 @ =gBattlerTarget - ldrb r0, [r4] - movs r2, 0x58 - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r1, [r0] - adds r0, r1, 0 - cmp r0, 0 - beq _0802C3E4 - cmp r0, 0x19 - beq _0802C3E4 - ldr r0, _0802C3D8 @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - strb r1, [r0] - ldr r1, _0802C3DC @ =gLastUsedAbility - ldrb r0, [r4] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, _0802C3E0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802C3FE - .align 2, 0 -_0802C3D0: .4byte gBattleMons -_0802C3D4: .4byte gBattlerTarget -_0802C3D8: .4byte gBattlerAttacker -_0802C3DC: .4byte gLastUsedAbility -_0802C3E0: .4byte gBattlescriptCurrInstr -_0802C3E4: - ldr r3, _0802C404 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802C3FE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C404: .4byte gBattlescriptCurrInstr - thumb_func_end atkD3_trycopyability - - thumb_func_start atkD4_trywish -atkD4_trywish: @ 802C408 - push {r4-r7,lr} - ldr r7, _0802C41C @ =gBattlescriptCurrInstr - ldr r2, [r7] - ldrb r3, [r2, 0x1] - cmp r3, 0 - beq _0802C420 - cmp r3, 0x1 - beq _0802C458 - b _0802C4D4 - .align 2, 0 -_0802C41C: .4byte gBattlescriptCurrInstr -_0802C420: - ldr r1, _0802C44C @ =gWishFutureKnock - ldr r4, _0802C450 @ =gBattlerAttacker - adds r0, r1, 0 - adds r0, 0x20 - ldrb r5, [r4] - adds r3, r0, r5 - ldrb r0, [r3] - cmp r0, 0 - bne _0802C4A4 - movs r0, 0x2 - strb r0, [r3] - ldrb r0, [r4] - adds r1, 0x24 - adds r1, r0, r1 - ldr r2, _0802C454 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x6 - b _0802C4D2 - .align 2, 0 -_0802C44C: .4byte gWishFutureKnock -_0802C450: .4byte gBattlerAttacker -_0802C454: .4byte gBattlerPartyIndexes -_0802C458: - ldr r1, _0802C4BC @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r4, _0802C4C0 @ =gBattlerTarget - ldrb r0, [r4] - strb r0, [r1, 0x2] - ldr r0, _0802C4C4 @ =gWishFutureKnock - adds r0, 0x24 - ldrb r5, [r4] - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802C4C8 @ =gBattleMoveDamage - ldr r6, _0802C4CC @ =gBattleMons - ldrb r0, [r4] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _0802C490 - str r3, [r1] -_0802C490: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldrb r0, [r4] - muls r0, r5 - adds r0, r6 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - bne _0802C4D0 -_0802C4A4: - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r7] - b _0802C4D4 - .align 2, 0 -_0802C4BC: .4byte gBattleTextBuff1 -_0802C4C0: .4byte gBattlerTarget -_0802C4C4: .4byte gWishFutureKnock -_0802C4C8: .4byte gBattleMoveDamage -_0802C4CC: .4byte gBattleMons -_0802C4D0: - adds r0, r2, 0x6 -_0802C4D2: - str r0, [r7] -_0802C4D4: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atkD4_trywish - - thumb_func_start atkD5_trysetroots -atkD5_trysetroots: @ 802C4DC - push {lr} - ldr r1, _0802C514 @ =gStatuses3 - ldr r0, _0802C518 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0802C520 - ldr r3, _0802C51C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C52C - .align 2, 0 -_0802C514: .4byte gStatuses3 -_0802C518: .4byte gBattlerAttacker -_0802C51C: .4byte gBattlescriptCurrInstr -_0802C520: - orrs r1, r3 - str r1, [r2] - ldr r1, _0802C530 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C52C: - pop {r0} - bx r0 - .align 2, 0 -_0802C530: .4byte gBattlescriptCurrInstr - thumb_func_end atkD5_trysetroots - - thumb_func_start atkD6_doubledamagedealtifdamaged -atkD6_doubledamagedealtifdamaged: @ 802C534 - push {lr} - ldr r3, _0802C580 @ =gProtectStructs - ldr r0, _0802C584 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r2, r0, 4 - adds r0, r3, 0x4 - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802C554 - adds r0, r2, r3 - ldr r1, _0802C588 @ =gBattlerTarget - ldrb r0, [r0, 0xC] - ldrb r1, [r1] - cmp r0, r1 - beq _0802C56C -_0802C554: - adds r0, r3, 0 - adds r0, 0x8 - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802C572 - adds r0, r2, r3 - ldr r1, _0802C588 @ =gBattlerTarget - ldrb r0, [r0, 0xD] - ldrb r1, [r1] - cmp r0, r1 - bne _0802C572 -_0802C56C: - ldr r1, _0802C58C @ =gBattleScripting - movs r0, 0x2 - strb r0, [r1, 0xE] -_0802C572: - ldr r1, _0802C590 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802C580: .4byte gProtectStructs -_0802C584: .4byte gBattlerAttacker -_0802C588: .4byte gBattlerTarget -_0802C58C: .4byte gBattleScripting -_0802C590: .4byte gBattlescriptCurrInstr - thumb_func_end atkD6_doubledamagedealtifdamaged - - thumb_func_start atkD7_setyawn -atkD7_setyawn: @ 802C594 - push {r4,lr} - ldr r1, _0802C5D8 @ =gStatuses3 - ldr r0, _0802C5DC @ =gBattlerTarget - ldrb r3, [r0] - lsls r0, r3, 2 - adds r4, r0, r1 - ldr r2, [r4] - movs r0, 0xC0 - lsls r0, 5 - ands r0, r2 - cmp r0, 0 - bne _0802C5BC - ldr r1, _0802C5E0 @ =gBattleMons - movs r0, 0x58 - muls r0, r3 - adds r1, 0x4C - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0802C5E8 -_0802C5BC: - ldr r3, _0802C5E4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C5F8 - .align 2, 0 -_0802C5D8: .4byte gStatuses3 -_0802C5DC: .4byte gBattlerTarget -_0802C5E0: .4byte gBattleMons -_0802C5E4: .4byte gBattlescriptCurrInstr -_0802C5E8: - movs r0, 0x80 - lsls r0, 5 - orrs r2, r0 - str r2, [r4] - ldr r1, _0802C600 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C5F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C600: .4byte gBattlescriptCurrInstr - thumb_func_end atkD7_setyawn - - thumb_func_start atkD8_setdamagetohealthdifference -atkD8_setdamagetohealthdifference: @ 802C604 - push {lr} - ldr r2, _0802C640 @ =gBattleMons - ldr r0, _0802C644 @ =gBattlerTarget - ldrb r0, [r0] - movs r1, 0x58 - muls r0, r1 - adds r3, r0, r2 - ldr r0, _0802C648 @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r1 - adds r1, r0, r2 - ldrh r0, [r3, 0x28] - ldrh r2, [r1, 0x28] - cmp r0, r2 - bhi _0802C650 - ldr r3, _0802C64C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C662 - .align 2, 0 -_0802C640: .4byte gBattleMons -_0802C644: .4byte gBattlerTarget -_0802C648: .4byte gBattlerAttacker -_0802C64C: .4byte gBattlescriptCurrInstr -_0802C650: - ldr r2, _0802C668 @ =gBattleMoveDamage - ldrh r0, [r3, 0x28] - ldrh r1, [r1, 0x28] - subs r0, r1 - str r0, [r2] - ldr r1, _0802C66C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C662: - pop {r0} - bx r0 - .align 2, 0 -_0802C668: .4byte gBattleMoveDamage -_0802C66C: .4byte gBattlescriptCurrInstr - thumb_func_end atkD8_setdamagetohealthdifference - - thumb_func_start atkD9_scaledamagebyhealthratio -atkD9_scaledamagebyhealthratio: @ 802C670 - push {r4,lr} - ldr r4, _0802C6BC @ =gDynamicBasePower - ldrh r0, [r4] - cmp r0, 0 - bne _0802C6AC - ldr r2, _0802C6C0 @ =gBattleMoves - ldr r0, _0802C6C4 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r3, [r0, 0x1] - ldr r2, _0802C6C8 @ =gBattleMons - ldr r0, _0802C6CC @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r0, [r1, 0x28] - muls r0, r3 - ldrh r1, [r1, 0x2C] - bl __divsi3 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - bne _0802C6AC - movs r0, 0x1 - strh r0, [r4] -_0802C6AC: - ldr r1, _0802C6D0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C6BC: .4byte gDynamicBasePower -_0802C6C0: .4byte gBattleMoves -_0802C6C4: .4byte gCurrentMove -_0802C6C8: .4byte gBattleMons -_0802C6CC: .4byte gBattlerAttacker -_0802C6D0: .4byte gBattlescriptCurrInstr - thumb_func_end atkD9_scaledamagebyhealthratio - - thumb_func_start atkDA_tryswapabilities -atkDA_tryswapabilities: @ 802C6D4 - push {r4-r6,lr} - ldr r5, _0802C738 @ =gBattleMons - ldr r0, _0802C73C @ =gBattlerAttacker - ldrb r0, [r0] - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - adds r2, r0, 0 - adds r2, 0x20 - ldrb r1, [r2] - cmp r1, 0 - bne _0802C6FC - ldr r0, _0802C740 @ =gBattlerTarget - ldrb r0, [r0] - muls r0, r4 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _0802C71C -_0802C6FC: - cmp r1, 0x19 - beq _0802C71C - ldr r6, _0802C740 @ =gBattlerTarget - ldrb r0, [r6] - muls r0, r4 - adds r0, r5 - adds r0, 0x20 - ldrb r3, [r0] - cmp r3, 0x19 - beq _0802C71C - ldr r0, _0802C744 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0802C74C -_0802C71C: - ldr r3, _0802C748 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C762 - .align 2, 0 -_0802C738: .4byte gBattleMons -_0802C73C: .4byte gBattlerAttacker -_0802C740: .4byte gBattlerTarget -_0802C744: .4byte gMoveResultFlags -_0802C748: .4byte gBattlescriptCurrInstr -_0802C74C: - ldrb r1, [r2] - strb r3, [r2] - ldrb r0, [r6] - muls r0, r4 - adds r0, r5 - adds r0, 0x20 - strb r1, [r0] - ldr r1, _0802C768 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C762: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802C768: .4byte gBattlescriptCurrInstr - thumb_func_end atkDA_tryswapabilities - - thumb_func_start atkDB_tryimprison -atkDB_tryimprison: @ 802C76C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r1, _0802C78C @ =gStatuses3 - ldr r4, _0802C790 @ =gBattlerAttacker - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _0802C7BC - b _0802C83E - .align 2, 0 -_0802C78C: .4byte gStatuses3 -_0802C790: .4byte gBattlerAttacker -_0802C794: - ldr r0, _0802C7B4 @ =gStatuses3 - mov r2, r9 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 6 - orrs r0, r2 - str r0, [r1] - ldr r1, _0802C7B8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802C836 - .align 2, 0 -_0802C7B4: .4byte gStatuses3 -_0802C7B8: .4byte gBattlescriptCurrInstr -_0802C7BC: - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r0, [r4] - bl PressurePPLoseOnUsingImprison - movs r6, 0 - b _0802C82E -_0802C7D2: - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r8, r0 - beq _0802C828 - movs r4, 0 - ldr r7, _0802C864 @ =gBattlerAttacker - mov r9, r7 - ldr r0, _0802C868 @ =gBattleMons - mov r12, r0 - mov r1, r9 - ldrb r0, [r1] - mov r2, r12 - adds r2, 0xC - movs r1, 0x58 - muls r0, r1 - adds r3, r0, r2 - adds r5, r6, 0 - muls r5, r1 -_0802C7FC: - movs r2, 0 - ldrh r1, [r3] - mov r0, r12 - adds r0, 0xC - adds r0, r5, r0 -_0802C806: - ldrh r7, [r0] - cmp r1, r7 - bne _0802C810 - cmp r1, 0 - bne _0802C818 -_0802C810: - adds r0, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - ble _0802C806 -_0802C818: - cmp r2, 0x4 - bne _0802C824 - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0802C7FC -_0802C824: - cmp r4, 0x4 - bne _0802C794 -_0802C828: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0802C82E: - ldr r0, _0802C86C @ =gBattlersCount - ldrb r0, [r0] - cmp r6, r0 - bcc _0802C7D2 -_0802C836: - ldr r0, _0802C86C @ =gBattlersCount - ldrb r0, [r0] - cmp r6, r0 - bne _0802C858 -_0802C83E: - ldr r3, _0802C870 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802C858: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C864: .4byte gBattlerAttacker -_0802C868: .4byte gBattleMons -_0802C86C: .4byte gBattlersCount -_0802C870: .4byte gBattlescriptCurrInstr - thumb_func_end atkDB_tryimprison - - thumb_func_start atkDC_trysetgrudge -atkDC_trysetgrudge: @ 802C874 - push {lr} - ldr r1, _0802C8AC @ =gStatuses3 - ldr r0, _0802C8B0 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 7 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0802C8B8 - ldr r3, _0802C8B4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C8C4 - .align 2, 0 -_0802C8AC: .4byte gStatuses3 -_0802C8B0: .4byte gBattlerAttacker -_0802C8B4: .4byte gBattlescriptCurrInstr -_0802C8B8: - orrs r1, r3 - str r1, [r2] - ldr r1, _0802C8C8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C8C4: - pop {r0} - bx r0 - .align 2, 0 -_0802C8C8: .4byte gBattlescriptCurrInstr - thumb_func_end atkDC_trysetgrudge - - thumb_func_start atkDD_weightdamagecalculation -atkDD_weightdamagecalculation: @ 802C8CC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r2, _0802C930 @ =sWeightToDamageTable - ldrh r0, [r2] - ldr r1, _0802C934 @ =0x0000ffff - cmp r0, r1 - beq _0802C944 - adds r6, r2, 0 - ldr r0, _0802C938 @ =gBattleMons - mov r8, r0 - adds r7, r1, 0 - adds r4, r6, 0 -_0802C8E8: - ldr r0, _0802C93C @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetPokedexHeightWeight - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0802C916 - adds r4, 0x4 - adds r5, 0x2 - ldrh r0, [r4] - cmp r0, r7 - bne _0802C8E8 -_0802C916: - lsls r0, r5, 1 - adds r0, r6 - ldrh r1, [r0] - ldr r0, _0802C934 @ =0x0000ffff - cmp r1, r0 - beq _0802C944 - ldr r0, _0802C940 @ =gDynamicBasePower - adds r1, r5, 0x1 - lsls r1, 1 - adds r1, r6 - ldrh r1, [r1] - strh r1, [r0] - b _0802C94A - .align 2, 0 -_0802C930: .4byte sWeightToDamageTable -_0802C934: .4byte 0x0000ffff -_0802C938: .4byte gBattleMons -_0802C93C: .4byte gBattlerTarget -_0802C940: .4byte gDynamicBasePower -_0802C944: - ldr r1, _0802C95C @ =gDynamicBasePower - movs r0, 0x78 - strh r0, [r1] -_0802C94A: - ldr r1, _0802C960 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C95C: .4byte gDynamicBasePower -_0802C960: .4byte gBattlescriptCurrInstr - thumb_func_end atkDD_weightdamagecalculation - - thumb_func_start atkDE_assistattackselect -atkDE_assistattackselect: @ 802C964 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r0, 0 - mov r10, r0 - ldr r0, _0802CA84 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x18 - str r0, [sp, 0x4] - ldr r0, _0802CA88 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - ldr r0, _0802CA8C @ =gPlayerParty - str r0, [sp] - cmp r1, 0 - beq _0802C994 - ldr r1, _0802CA90 @ =gEnemyParty - str r1, [sp] -_0802C994: - movs r2, 0 -_0802C996: - ldr r1, _0802CA94 @ =gBattlerPartyIndexes - ldr r0, _0802CA88 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - adds r1, r2, 0x1 - str r1, [sp, 0x8] - ldrh r0, [r0] - cmp r2, r0 - beq _0802CA3C - movs r0, 0x64 - adds r6, r2, 0 - muls r6, r0 - ldr r0, [sp] - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _0802CA3C - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0802CA3C - movs r5, 0 - ldr r1, _0802CA98 @ =0x0000ffff - mov r8, r1 - mov r9, r6 - mov r1, r10 - lsls r0, r1, 1 - ldr r1, [sp, 0x4] - adds r6, r0, r1 -_0802C9E0: - movs r7, 0 - adds r1, r5, 0 - adds r1, 0xD - ldr r0, [sp] - add r0, r9 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl IsInvalidForSleepTalkOrAssist - lsls r0, 24 - adds r1, r5, 0x1 - cmp r0, 0 - bne _0802CA36 - ldr r0, _0802CA9C @ =sMovesForbiddenToCopy - ldrh r2, [r0] - adds r3, r0, 0 - cmp r2, r8 - beq _0802CA2A - cmp r4, r2 - beq _0802CA20 - ldr r5, _0802CA98 @ =0x0000ffff - adds r2, r3, 0 -_0802CA12: - adds r2, 0x2 - adds r7, 0x1 - ldrh r0, [r2] - cmp r0, r5 - beq _0802CA2A - cmp r4, r0 - bne _0802CA12 -_0802CA20: - lsls r0, r7, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r8 - bne _0802CA36 -_0802CA2A: - cmp r4, 0 - beq _0802CA36 - strh r4, [r6] - adds r6, 0x2 - movs r0, 0x1 - add r10, r0 -_0802CA36: - adds r5, r1, 0 - cmp r5, 0x3 - ble _0802C9E0 -_0802CA3C: - ldr r2, [sp, 0x8] - cmp r2, 0x5 - ble _0802C996 - mov r1, r10 - cmp r1, 0 - beq _0802CAB4 - ldr r2, _0802CAA0 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802CAA4 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _0802CAA8 @ =gCalledMove - bl Random - movs r1, 0xFF - ands r1, r0 - mov r0, r10 - muls r0, r1 - asrs r0, 8 - lsls r0, 1 - ldr r1, [sp, 0x4] - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _0802CAAC @ =gBattlerTarget - strb r0, [r1] - ldr r1, _0802CAB0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802CACE - .align 2, 0 -_0802CA84: .4byte gBattleStruct -_0802CA88: .4byte gBattlerAttacker -_0802CA8C: .4byte gPlayerParty -_0802CA90: .4byte gEnemyParty -_0802CA94: .4byte gBattlerPartyIndexes -_0802CA98: .4byte 0x0000ffff -_0802CA9C: .4byte sMovesForbiddenToCopy -_0802CAA0: .4byte gHitMarker -_0802CAA4: .4byte 0xfffffbff -_0802CAA8: .4byte gCalledMove -_0802CAAC: .4byte gBattlerTarget -_0802CAB0: .4byte gBattlescriptCurrInstr -_0802CAB4: - ldr r3, _0802CAE0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802CACE: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802CAE0: .4byte gBattlescriptCurrInstr - thumb_func_end atkDE_assistattackselect - - thumb_func_start atkDF_trysetmagiccoat -atkDF_trysetmagiccoat: @ 802CAE4 - push {lr} - ldr r1, _0802CB2C @ =gBattlerTarget - ldr r3, _0802CB30 @ =gBattlerAttacker - ldrb r0, [r3] - strb r0, [r1] - ldr r2, _0802CB34 @ =gSpecialStatuses - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0802CB38 @ =gCurrentTurnActionNumber - ldrb r1, [r0] - ldr r0, _0802CB3C @ =gBattlersCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0802CB44 - ldr r3, _0802CB40 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802CB5C - .align 2, 0 -_0802CB2C: .4byte gBattlerTarget -_0802CB30: .4byte gBattlerAttacker -_0802CB34: .4byte gSpecialStatuses -_0802CB38: .4byte gCurrentTurnActionNumber -_0802CB3C: .4byte gBattlersCount -_0802CB40: .4byte gBattlescriptCurrInstr -_0802CB44: - ldr r0, _0802CB60 @ =gProtectStructs - ldrb r1, [r3] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x10 - orrs r0, r2 - strb r0, [r1] - ldr r1, _0802CB64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802CB5C: - pop {r0} - bx r0 - .align 2, 0 -_0802CB60: .4byte gProtectStructs -_0802CB64: .4byte gBattlescriptCurrInstr - thumb_func_end atkDF_trysetmagiccoat - - thumb_func_start atkE0_trysetsnatch -atkE0_trysetsnatch: @ 802CB68 - push {lr} - ldr r2, _0802CBAC @ =gSpecialStatuses - ldr r3, _0802CBB0 @ =gBattlerAttacker - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0802CBB4 @ =gCurrentTurnActionNumber - ldrb r1, [r0] - ldr r0, _0802CBB8 @ =gBattlersCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0802CBC0 - ldr r3, _0802CBBC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802CBD6 - .align 2, 0 -_0802CBAC: .4byte gSpecialStatuses -_0802CBB0: .4byte gBattlerAttacker -_0802CBB4: .4byte gCurrentTurnActionNumber -_0802CBB8: .4byte gBattlersCount -_0802CBBC: .4byte gBattlescriptCurrInstr -_0802CBC0: - ldr r0, _0802CBDC @ =gProtectStructs - ldrb r1, [r3] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - ldr r1, _0802CBE0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802CBD6: - pop {r0} - bx r0 - .align 2, 0 -_0802CBDC: .4byte gProtectStructs -_0802CBE0: .4byte gBattlescriptCurrInstr - thumb_func_end atkE0_trysetsnatch - - thumb_func_start atkE1_trygetintimidatetarget -atkE1_trygetintimidatetarget: @ 802CBE4 - push {r4-r6,lr} - ldr r4, _0802CC88 @ =gBattleScripting - ldr r0, _0802CC8C @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xD8 - ldrb r0, [r0] - strb r0, [r4, 0x17] - ldrb r0, [r4, 0x17] - bl GetBattlerSide - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0802CC90 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x9 - strb r0, [r2, 0x1] - ldr r3, _0802CC94 @ =gBattleMons - ldrb r1, [r4, 0x17] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r2, 0x2] - movs r0, 0xFF - strb r0, [r2, 0x3] - ldr r2, _0802CC98 @ =gBattlerTarget - ldr r1, _0802CC9C @ =gBattlersCount - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bcs _0802CC6A - adds r4, r2, 0 - ldr r6, _0802CCA0 @ =gBitTable -_0802CC2A: - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - beq _0802CC4C - ldr r0, _0802CCA4 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ands r1, r0 - ldr r2, _0802CC9C @ =gBattlersCount - cmp r1, 0 - beq _0802CC60 -_0802CC4C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _0802CC9C @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - adds r2, r1, 0 - ldrb r1, [r2] - cmp r0, r1 - bcc _0802CC2A -_0802CC60: - ldr r0, _0802CC98 @ =gBattlerTarget - ldrb r0, [r0] - ldrb r2, [r2] - cmp r0, r2 - bcc _0802CCAC -_0802CC6A: - ldr r3, _0802CCA8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802CCB4 - .align 2, 0 -_0802CC88: .4byte gBattleScripting -_0802CC8C: .4byte gBattleStruct -_0802CC90: .4byte gBattleTextBuff1 -_0802CC94: .4byte gBattleMons -_0802CC98: .4byte gBattlerTarget -_0802CC9C: .4byte gBattlersCount -_0802CCA0: .4byte gBitTable -_0802CCA4: .4byte gAbsentBattlerFlags -_0802CCA8: .4byte gBattlescriptCurrInstr -_0802CCAC: - ldr r1, _0802CCBC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802CCB4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802CCBC: .4byte gBattlescriptCurrInstr - thumb_func_end atkE1_trygetintimidatetarget - - thumb_func_start atkE2_switchoutabilities -atkE2_switchoutabilities: @ 802CCC0 - push {r4-r6,lr} - sub sp, 0x4 - ldr r5, _0802CD28 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _0802CD2C @ =gActiveBattler - strb r0, [r4] - ldr r3, _0802CD30 @ =gBattleMons - ldrb r0, [r4] - movs r6, 0x58 - adds r1, r0, 0 - muls r1, r6 - adds r0, r1, r3 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1E - bne _0802CD1A - adds r3, 0x4C - adds r1, r3 - movs r0, 0 - str r0, [r1] - ldr r2, _0802CD34 @ =gBitTable - ldrb r1, [r4] - ldr r0, _0802CD38 @ =gBattleStruct - ldr r0, [r0] - adds r0, r1, r0 - adds r0, 0x58 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0] - adds r0, r1, 0 - muls r0, r6 - adds r0, r3 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_0802CD1A: - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802CD28: .4byte gBattlescriptCurrInstr -_0802CD2C: .4byte gActiveBattler -_0802CD30: .4byte gBattleMons -_0802CD34: .4byte gBitTable -_0802CD38: .4byte gBattleStruct - thumb_func_end atkE2_switchoutabilities - - thumb_func_start atkE3_jumpifhasnohp -atkE3_jumpifhasnohp: @ 802CD3C - push {r4,lr} - ldr r4, _0802CD78 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _0802CD7C @ =gActiveBattler - strb r0, [r1] - ldr r2, _0802CD80 @ =gBattleMons - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0802CD84 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _0802CD8A - .align 2, 0 -_0802CD78: .4byte gBattlescriptCurrInstr -_0802CD7C: .4byte gActiveBattler -_0802CD80: .4byte gBattleMons -_0802CD84: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_0802CD8A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end atkE3_jumpifhasnohp - - thumb_func_start atkE4_getsecretpowereffect -atkE4_getsecretpowereffect: @ 802CD90 - push {lr} - ldr r0, _0802CDA4 @ =gBattleTerrain - ldrb r0, [r0] - cmp r0, 0x7 - bhi _0802CE2C - lsls r0, 2 - ldr r1, _0802CDA8 @ =_0802CDAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802CDA4: .4byte gBattleTerrain -_0802CDA8: .4byte _0802CDAC - .align 2, 0 -_0802CDAC: - .4byte _0802CDCC - .4byte _0802CDD8 - .4byte _0802CDE4 - .4byte _0802CDF0 - .4byte _0802CDFC - .4byte _0802CE08 - .4byte _0802CE14 - .4byte _0802CE20 -_0802CDCC: - ldr r1, _0802CDD4 @ =gBattleCommunication - movs r0, 0x2 - b _0802CE30 - .align 2, 0 -_0802CDD4: .4byte gBattleCommunication -_0802CDD8: - ldr r1, _0802CDE0 @ =gBattleCommunication - movs r0, 0x1 - b _0802CE30 - .align 2, 0 -_0802CDE0: .4byte gBattleCommunication -_0802CDE4: - ldr r1, _0802CDEC @ =gBattleCommunication - movs r0, 0x1B - b _0802CE30 - .align 2, 0 -_0802CDEC: .4byte gBattleCommunication -_0802CDF0: - ldr r1, _0802CDF8 @ =gBattleCommunication - movs r0, 0x17 - b _0802CE30 - .align 2, 0 -_0802CDF8: .4byte gBattleCommunication -_0802CDFC: - ldr r1, _0802CE04 @ =gBattleCommunication - movs r0, 0x16 - b _0802CE30 - .align 2, 0 -_0802CE04: .4byte gBattleCommunication -_0802CE08: - ldr r1, _0802CE10 @ =gBattleCommunication - movs r0, 0x18 - b _0802CE30 - .align 2, 0 -_0802CE10: .4byte gBattleCommunication -_0802CE14: - ldr r1, _0802CE1C @ =gBattleCommunication - movs r0, 0x7 - b _0802CE30 - .align 2, 0 -_0802CE1C: .4byte gBattleCommunication -_0802CE20: - ldr r1, _0802CE28 @ =gBattleCommunication - movs r0, 0x8 - b _0802CE30 - .align 2, 0 -_0802CE28: .4byte gBattleCommunication -_0802CE2C: - ldr r1, _0802CE40 @ =gBattleCommunication - movs r0, 0x5 -_0802CE30: - strb r0, [r1, 0x3] - ldr r1, _0802CE44 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802CE40: .4byte gBattleCommunication -_0802CE44: .4byte gBattlescriptCurrInstr - thumb_func_end atkE4_getsecretpowereffect - - thumb_func_start atkE5_pickup -atkE5_pickup: @ 802CE48 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - ldr r0, _0802CE90 @ =gBaseStats - mov r8, r0 -_0802CE54: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _0802CE94 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - cmp r0, 0 - beq _0802CE98 - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x17] - b _0802CEA2 - .align 2, 0 -_0802CE90: .4byte gBaseStats -_0802CE94: .4byte gPlayerParty -_0802CE98: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x16] -_0802CEA2: - adds r4, r7, 0x1 - cmp r0, 0x35 - bne _0802CF0A - cmp r5, 0 - beq _0802CF0A - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - beq _0802CF0A - cmp r6, 0 - bne _0802CF0A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0802CF0A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r1, _0802CEE4 @ =sPickupItems - b _0802CEF0 - .align 2, 0 -_0802CEE4: .4byte sPickupItems -_0802CEE8: - adds r1, 0x4 - adds r2, 0x1 - cmp r2, 0xE - bhi _0802CEF6 -_0802CEF0: - ldrb r0, [r1, 0x2] - cmp r0, r3 - ble _0802CEE8 -_0802CEF6: - movs r0, 0x64 - muls r0, r7 - ldr r1, _0802CF24 @ =gPlayerParty - adds r0, r1 - lsls r2, 2 - ldr r1, _0802CF28 @ =sPickupItems - adds r2, r1 - movs r1, 0xC - bl SetMonData -_0802CF0A: - adds r7, r4, 0 - cmp r7, 0x5 - ble _0802CE54 - ldr r1, _0802CF2C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802CF24: .4byte gPlayerParty -_0802CF28: .4byte sPickupItems -_0802CF2C: .4byte gBattlescriptCurrInstr - thumb_func_end atkE5_pickup - - thumb_func_start atkE6_docastformchangeanimation -atkE6_docastformchangeanimation: @ 802CF30 - push {r4,lr} - ldr r4, _0802CF84 @ =gActiveBattler - ldr r0, _0802CF88 @ =gBattleScripting - ldrb r0, [r0, 0x17] - strb r0, [r4] - ldr r1, _0802CF8C @ =gBattleMons - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - ldr r3, _0802CF90 @ =gBattleStruct - cmp r0, 0 - beq _0802CF60 - ldr r0, [r3] - adds r0, 0x7F - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0802CF60: - ldr r0, [r3] - adds r0, 0x7F - ldrb r2, [r0] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitBattleAnimation - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _0802CF94 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802CF84: .4byte gActiveBattler -_0802CF88: .4byte gBattleScripting -_0802CF8C: .4byte gBattleMons -_0802CF90: .4byte gBattleStruct -_0802CF94: .4byte gBattlescriptCurrInstr - thumb_func_end atkE6_docastformchangeanimation - - thumb_func_start atkE7_trycastformdatachange -atkE7_trycastformdatachange: @ 802CF98 - push {r4,lr} - ldr r1, _0802CFC8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _0802CFCC @ =gBattleScripting - ldrb r0, [r0, 0x17] - bl CastformDataTypeChange - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0802CFC2 - ldr r0, _0802CFD0 @ =BattleScript_CastformChange - bl BattleScriptPushCursorAndCallback - ldr r0, _0802CFD4 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x7F - subs r1, r4, 0x1 - strb r1, [r0] -_0802CFC2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802CFC8: .4byte gBattlescriptCurrInstr -_0802CFCC: .4byte gBattleScripting -_0802CFD0: .4byte BattleScript_CastformChange -_0802CFD4: .4byte gBattleStruct - thumb_func_end atkE7_trycastformdatachange - - thumb_func_start atkE8_settypebasedhalvers -atkE8_settypebasedhalvers: @ 802CFD8 - push {r4,lr} - movs r4, 0 - ldr r2, _0802D014 @ =gBattleMoves - ldr r0, _0802D018 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0xC9 - bne _0802D028 - ldr r1, _0802D01C @ =gStatuses3 - ldr r0, _0802D020 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 9 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - bne _0802D04C - orrs r1, r3 - str r1, [r2] - ldr r0, _0802D024 @ =gBattleCommunication - strb r4, [r0, 0x5] - b _0802D050 - .align 2, 0 -_0802D014: .4byte gBattleMoves -_0802D018: .4byte gCurrentMove -_0802D01C: .4byte gStatuses3 -_0802D020: .4byte gBattlerAttacker -_0802D024: .4byte gBattleCommunication -_0802D028: - ldr r1, _0802D05C @ =gStatuses3 - ldr r0, _0802D060 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 10 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - bne _0802D04C - orrs r1, r3 - str r1, [r2] - ldr r1, _0802D064 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - movs r4, 0x1 -_0802D04C: - cmp r4, 0 - beq _0802D06C -_0802D050: - ldr r1, _0802D068 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802D086 - .align 2, 0 -_0802D05C: .4byte gStatuses3 -_0802D060: .4byte gBattlerAttacker -_0802D064: .4byte gBattleCommunication -_0802D068: .4byte gBattlescriptCurrInstr -_0802D06C: - ldr r3, _0802D08C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802D086: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802D08C: .4byte gBattlescriptCurrInstr - thumb_func_end atkE8_settypebasedhalvers - - thumb_func_start atkE9_setweatherballtype -atkE9_setweatherballtype: @ 802D090 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0802D130 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0802D130 - ldr r2, _0802D0E0 @ =gBattleWeather - ldrb r0, [r2] - cmp r0, 0 - beq _0802D0CE - ldr r1, _0802D0E4 @ =gBattleScripting - movs r0, 0x2 - strb r0, [r1, 0xE] -_0802D0CE: - ldrh r1, [r2] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0802D0EC - ldr r0, _0802D0E8 @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x8B - b _0802D12E - .align 2, 0 -_0802D0E0: .4byte gBattleWeather -_0802D0E4: .4byte gBattleScripting -_0802D0E8: .4byte gBattleStruct -_0802D0EC: - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _0802D100 - ldr r0, _0802D0FC @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x85 - b _0802D12E - .align 2, 0 -_0802D0FC: .4byte gBattleStruct -_0802D100: - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0802D114 - ldr r0, _0802D110 @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x8A - b _0802D12E - .align 2, 0 -_0802D110: .4byte gBattleStruct -_0802D114: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802D128 - ldr r0, _0802D124 @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x8F - b _0802D12E - .align 2, 0 -_0802D124: .4byte gBattleStruct -_0802D128: - ldr r0, _0802D140 @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x80 -_0802D12E: - strb r0, [r1, 0x13] -_0802D130: - ldr r1, _0802D144 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0802D140: .4byte gBattleStruct -_0802D144: .4byte gBattlescriptCurrInstr - thumb_func_end atkE9_setweatherballtype - - thumb_func_start atkEA_tryrecycleitem -atkEA_tryrecycleitem: @ 802D148 - push {r4-r7,lr} - sub sp, 0x4 - ldr r7, _0802D1B0 @ =gActiveBattler - ldr r0, _0802D1B4 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r7] - ldr r1, _0802D1B8 @ =gBattleStruct - ldrb r2, [r7] - lsls r0, r2, 1 - adds r0, 0xB8 - ldr r1, [r1] - adds r6, r1, r0 - ldrh r5, [r6] - cmp r5, 0 - beq _0802D1C8 - ldr r4, _0802D1BC @ =gBattleMons - movs r3, 0x58 - adds r0, r2, 0 - muls r0, r3 - adds r0, r4 - ldrh r0, [r0, 0x2E] - cmp r0, 0 - bne _0802D1C8 - ldr r1, _0802D1C0 @ =gLastUsedItem - strh r5, [r1] - strh r0, [r6] - ldrb r0, [r7] - muls r0, r3 - adds r0, r4 - ldrh r1, [r1] - strh r1, [r0, 0x2E] - ldrb r0, [r7] - muls r0, r3 - adds r1, r4, 0 - adds r1, 0x2E - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldr r1, _0802D1C4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802D1E2 - .align 2, 0 -_0802D1B0: .4byte gActiveBattler -_0802D1B4: .4byte gBattlerAttacker -_0802D1B8: .4byte gBattleStruct -_0802D1BC: .4byte gBattleMons -_0802D1C0: .4byte gLastUsedItem -_0802D1C4: .4byte gBattlescriptCurrInstr -_0802D1C8: - ldr r3, _0802D1EC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802D1E2: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D1EC: .4byte gBattlescriptCurrInstr - thumb_func_end atkEA_tryrecycleitem - - thumb_func_start atkEB_settypetoterrain -atkEB_settypetoterrain: @ 802D1F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0802D260 @ =gBattleMons - mov r8, r0 - ldr r7, _0802D264 @ =gBattlerAttacker - ldrb r0, [r7] - movs r6, 0x58 - muls r0, r6 - mov r1, r8 - adds r3, r0, r1 - movs r0, 0x21 - adds r0, r3 - mov r12, r0 - ldr r5, _0802D268 @ =sTerrainToType - ldr r4, _0802D26C @ =gBattleTerrain - ldrb r0, [r4] - adds r0, r5 - ldrb r2, [r0] - mov r1, r12 - ldrb r0, [r1] - adds r1, r2, 0 - cmp r0, r1 - beq _0802D278 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - beq _0802D278 - mov r0, r12 - strb r2, [r0] - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - add r1, r8 - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - adds r1, 0x22 - strb r0, [r1] - ldr r1, _0802D270 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _0802D274 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802D292 - .align 2, 0 -_0802D260: .4byte gBattleMons -_0802D264: .4byte gBattlerAttacker -_0802D268: .4byte sTerrainToType -_0802D26C: .4byte gBattleTerrain -_0802D270: .4byte gBattleTextBuff1 -_0802D274: .4byte gBattlescriptCurrInstr -_0802D278: - ldr r3, _0802D29C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802D292: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D29C: .4byte gBattlescriptCurrInstr - thumb_func_end atkEB_settypetoterrain - - thumb_func_start atkEC_pursuitrelated -atkEC_pursuitrelated: @ 802D2A0 - push {r4-r6,lr} - ldr r5, _0802D314 @ =gBattlerAttacker - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r4, _0802D318 @ =gActiveBattler - strb r0, [r4] - ldr r0, _0802D31C @ =gBattleTypeFlags - ldr r0, [r0] - movs r6, 0x1 - ands r0, r6 - cmp r0, 0 - beq _0802D340 - ldr r0, _0802D320 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0802D324 @ =gBitTable - ldrb r3, [r4] - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802D340 - ldr r0, _0802D328 @ =gChosenActionByBattler - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _0802D340 - ldr r1, _0802D32C @ =gChosenMoveByBattler - lsls r0, r3, 1 - adds r0, r1 - ldrh r2, [r0] - cmp r2, 0xE4 - bne _0802D340 - ldr r0, _0802D330 @ =gActionsByTurnOrder - adds r0, r3, r0 - movs r1, 0xB - strb r1, [r0] - ldr r0, _0802D334 @ =gCurrentMove - strh r2, [r0] - ldr r1, _0802D338 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r0, _0802D33C @ =gBattleScripting - strb r6, [r0, 0x18] - ldrb r1, [r5] - adds r0, 0x20 - strb r1, [r0] - ldrb r0, [r4] - strb r0, [r5] - b _0802D35A - .align 2, 0 -_0802D314: .4byte gBattlerAttacker -_0802D318: .4byte gActiveBattler -_0802D31C: .4byte gBattleTypeFlags -_0802D320: .4byte gAbsentBattlerFlags -_0802D324: .4byte gBitTable -_0802D328: .4byte gChosenActionByBattler -_0802D32C: .4byte gChosenMoveByBattler -_0802D330: .4byte gActionsByTurnOrder -_0802D334: .4byte gCurrentMove -_0802D338: .4byte gBattlescriptCurrInstr -_0802D33C: .4byte gBattleScripting -_0802D340: - ldr r3, _0802D360 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802D35A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802D360: .4byte gBattlescriptCurrInstr - thumb_func_end atkEC_pursuitrelated - - thumb_func_start atkED_snatchsetbattlers -atkED_snatchsetbattlers: @ 802D364 - push {r4,lr} - ldr r1, _0802D388 @ =gEffectBattler - ldr r3, _0802D38C @ =gBattlerAttacker - ldrb r0, [r3] - strb r0, [r1] - ldr r2, _0802D390 @ =gBattlerTarget - lsls r0, 24 - lsrs r0, 24 - adds r4, r1, 0 - ldrb r1, [r2] - cmp r0, r1 - bne _0802D398 - ldr r1, _0802D394 @ =gBattleScripting - ldrb r0, [r1, 0x17] - strb r0, [r2] - strb r0, [r3] - b _0802D39E - .align 2, 0 -_0802D388: .4byte gEffectBattler -_0802D38C: .4byte gBattlerAttacker -_0802D390: .4byte gBattlerTarget -_0802D394: .4byte gBattleScripting -_0802D398: - ldr r1, _0802D3B0 @ =gBattleScripting - ldrb r0, [r1, 0x17] - strb r0, [r2] -_0802D39E: - ldrb r0, [r4] - strb r0, [r1, 0x17] - ldr r1, _0802D3B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802D3B0: .4byte gBattleScripting -_0802D3B4: .4byte gBattlescriptCurrInstr - thumb_func_end atkED_snatchsetbattlers - - thumb_func_start atkEE_removelightscreenreflect -atkEE_removelightscreenreflect: @ 802D3B8 - push {r4,lr} - ldr r0, _0802D400 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0802D404 @ =gSideTimers - lsls r3, r0, 1 - adds r0, r3, r0 - lsls r0, 2 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - bne _0802D3E0 - ldrb r1, [r4, 0x2] - cmp r1, 0 - beq _0802D418 -_0802D3E0: - ldr r2, _0802D408 @ =gSideStatuses - adds r2, r3, r2 - ldrh r1, [r2] - ldr r0, _0802D40C @ =0x0000fffe - ands r0, r1 - movs r3, 0 - ldr r1, _0802D410 @ =0x0000fffd - ands r0, r1 - strh r0, [r2] - strb r3, [r4] - strb r3, [r4, 0x2] - ldr r1, _0802D414 @ =gBattleScripting - movs r0, 0x1 - strb r0, [r1, 0x18] - strb r0, [r1, 0x19] - b _0802D41E - .align 2, 0 -_0802D400: .4byte gBattlerAttacker -_0802D404: .4byte gSideTimers -_0802D408: .4byte gSideStatuses -_0802D40C: .4byte 0x0000fffe -_0802D410: .4byte 0x0000fffd -_0802D414: .4byte gBattleScripting -_0802D418: - ldr r0, _0802D42C @ =gBattleScripting - strb r1, [r0, 0x18] - strb r1, [r0, 0x19] -_0802D41E: - ldr r1, _0802D430 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802D42C: .4byte gBattleScripting -_0802D430: .4byte gBattlescriptCurrInstr - thumb_func_end atkEE_removelightscreenreflect - thumb_func_start atkEF_handleballthrow atkEF_handleballthrow: @ 802D434 push {r4-r6,lr} -- cgit v1.2.3 From b2343076db0cefc087f3941b6941dcba7b1e3364 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 27 Aug 2019 15:10:23 +0800 Subject: remaining stuff of battle_script_commands --- asm/battle_script_commands.s | 1463 ------------------------------------------ 1 file changed, 1463 deletions(-) delete mode 100644 asm/battle_script_commands.s (limited to 'asm/battle_script_commands.s') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s deleted file mode 100644 index 00d3e49c7..000000000 --- a/asm/battle_script_commands.s +++ /dev/null @@ -1,1463 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start atkEF_handleballthrow -atkEF_handleballthrow: @ 802D434 - push {r4-r6,lr} - movs r4, 0 - ldr r0, _0802D474 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0802D442 - b _0802D7EE -_0802D442: - ldr r5, _0802D478 @ =gActiveBattler - ldr r0, _0802D47C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r6, _0802D480 @ =gBattlerTarget - movs r1, 0x1 - eors r0, r1 - strb r0, [r6] - ldr r0, _0802D484 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _0802D490 - movs r0, 0 - movs r1, 0x6 - bl BtlController_EmitBallThrowAnim - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r1, _0802D488 @ =gBattlescriptCurrInstr - ldr r0, _0802D48C @ =BattleScript_GhostBallDodge - b _0802D7EC - .align 2, 0 -_0802D474: .4byte gBattleControllerExecFlags -_0802D478: .4byte gActiveBattler -_0802D47C: .4byte gBattlerAttacker -_0802D480: .4byte gBattlerTarget -_0802D484: .4byte gBattleTypeFlags -_0802D488: .4byte gBattlescriptCurrInstr -_0802D48C: .4byte BattleScript_GhostBallDodge -_0802D490: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802D4B4 - movs r0, 0 - movs r1, 0x5 - bl BtlController_EmitBallThrowAnim - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r1, _0802D4AC @ =gBattlescriptCurrInstr - ldr r0, _0802D4B0 @ =BattleScript_TrainerBallBlock - b _0802D7EC - .align 2, 0 -_0802D4AC: .4byte gBattlescriptCurrInstr -_0802D4B0: .4byte BattleScript_TrainerBallBlock -_0802D4B4: - movs r0, 0x81 - lsls r0, 9 - ands r1, r0 - cmp r1, 0 - beq _0802D4DC - movs r0, 0 - movs r1, 0x4 - bl BtlController_EmitBallThrowAnim - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r1, _0802D4D4 @ =gBattlescriptCurrInstr - ldr r0, _0802D4D8 @ =gUnknown_81D9A88 - b _0802D7EC - .align 2, 0 -_0802D4D4: .4byte gBattlescriptCurrInstr -_0802D4D8: .4byte gUnknown_81D9A88 -_0802D4DC: - ldr r0, _0802D500 @ =gLastUsedItem - ldrh r0, [r0] - cmp r0, 0x5 - bne _0802D508 - ldr r0, _0802D504 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x7C - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 8 - subs r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 24 - lsrs r5, r0, 24 - b _0802D520 - .align 2, 0 -_0802D500: .4byte gLastUsedItem -_0802D504: .4byte gBattleStruct -_0802D508: - ldr r3, _0802D53C @ =gBaseStats - ldr r2, _0802D540 @ =gBattleMons - ldrb r1, [r6] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r5, [r0, 0x8] -_0802D520: - ldr r2, _0802D544 @ =gLastUsedItem - ldrh r0, [r2] - cmp r0, 0x5 - bhi _0802D52A - b _0802D620 -_0802D52A: - subs r0, 0x6 - cmp r0, 0x6 - bls _0802D532 - b _0802D62A -_0802D532: - lsls r0, 2 - ldr r1, _0802D548 @ =_0802D54C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D53C: .4byte gBaseStats -_0802D540: .4byte gBattleMons -_0802D544: .4byte gLastUsedItem -_0802D548: .4byte _0802D54C - .align 2, 0 -_0802D54C: - .4byte _0802D568 - .4byte _0802D598 - .4byte _0802D5AA - .4byte _0802D5D8 - .4byte _0802D608 - .4byte _0802D5CA - .4byte _0802D5CA -_0802D568: - ldr r2, _0802D590 @ =gBattleMons - ldr r0, _0802D594 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r1, 0xB - beq _0802D5FC - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xB - beq _0802D5FC - cmp r1, 0x6 - beq _0802D5FC - cmp r0, 0x6 - beq _0802D5FC - b _0802D5CA - .align 2, 0 -_0802D590: .4byte gBattleMons -_0802D594: .4byte gBattlerTarget -_0802D598: - bl GetCurrentMapType - lsls r0, 24 - lsrs r0, 24 - movs r4, 0xA - cmp r0, 0x5 - bne _0802D62A - movs r4, 0x23 - b _0802D62A -_0802D5AA: - ldr r2, _0802D5D0 @ =gBattleMons - ldr r0, _0802D5D4 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r0] - cmp r1, 0x27 - bhi _0802D5CA - movs r0, 0x28 - subs r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bhi _0802D62A -_0802D5CA: - movs r4, 0xA - b _0802D62A - .align 2, 0 -_0802D5D0: .4byte gBattleMons -_0802D5D4: .4byte gBattlerTarget -_0802D5D8: - ldr r2, _0802D600 @ =gBattleMons - ldr r0, _0802D604 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - movs r4, 0xA - cmp r0, 0 - beq _0802D62A -_0802D5FC: - movs r4, 0x1E - b _0802D62A - .align 2, 0 -_0802D600: .4byte gBattleMons -_0802D604: .4byte gBattlerTarget -_0802D608: - ldr r0, _0802D61C @ =gBattleResults - ldrb r0, [r0, 0x13] - adds r0, 0xA - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x28 - bls _0802D62A - movs r4, 0x28 - b _0802D62A - .align 2, 0 -_0802D61C: .4byte gBattleResults -_0802D620: - ldr r1, _0802D694 @ =sBallCatchBonuses - ldrh r0, [r2] - subs r0, 0x2 - adds r0, r1 - ldrb r4, [r0] -_0802D62A: - adds r0, r5, 0 - muls r0, r4 - movs r1, 0xA - bl __divsi3 - ldr r5, _0802D698 @ =gBattleMons - ldr r1, _0802D69C @ =gBattlerTarget - ldrb r2, [r1] - movs r1, 0x58 - adds r4, r2, 0 - muls r4, r1 - adds r3, r4, r5 - ldrh r2, [r3, 0x2C] - lsls r1, r2, 1 - adds r1, r2 - ldrh r2, [r3, 0x28] - lsls r2, 1 - subs r2, r1, r2 - muls r0, r2 - bl __divsi3 - adds r6, r0, 0 - adds r5, 0x4C - adds r4, r5 - ldr r4, [r4] - movs r0, 0x27 - ands r0, r4 - cmp r0, 0 - beq _0802D666 - lsls r6, 1 -_0802D666: - movs r0, 0xD8 - ands r4, r0 - cmp r4, 0 - beq _0802D67A - lsls r0, r6, 4 - subs r0, r6 - movs r1, 0xA - bl __udivsi3 - adds r6, r0, 0 -_0802D67A: - ldr r1, _0802D6A0 @ =gLastUsedItem - ldrh r0, [r1] - cmp r0, 0x5 - beq _0802D6BC - cmp r0, 0x1 - bne _0802D6A8 - ldr r0, _0802D6A4 @ =gBattleResults - ldrb r1, [r0, 0x5] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x5] - b _0802D6BC - .align 2, 0 -_0802D694: .4byte sBallCatchBonuses -_0802D698: .4byte gBattleMons -_0802D69C: .4byte gBattlerTarget -_0802D6A0: .4byte gLastUsedItem -_0802D6A4: .4byte gBattleResults -_0802D6A8: - ldr r0, _0802D700 @ =gBattleResults - ldrh r1, [r1] - adds r0, r1 - adds r1, r0, 0 - adds r1, 0x34 - ldrb r0, [r1] - cmp r0, 0xFE - bhi _0802D6BC - adds r0, 0x1 - strb r0, [r1] -_0802D6BC: - cmp r6, 0xFE - bls _0802D720 - movs r0, 0 - movs r1, 0x4 - bl BtlController_EmitBallThrowAnim - ldr r0, _0802D704 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _0802D708 @ =gBattlescriptCurrInstr - ldr r0, _0802D70C @ =BattleScript_SuccessBallThrow - str r0, [r1] - ldr r1, _0802D710 @ =gBattlerPartyIndexes - ldr r0, _0802D714 @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802D718 @ =gEnemyParty - adds r0, r1 - ldr r2, _0802D71C @ =gLastUsedItem - movs r1, 0x26 - bl SetMonData - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - beq _0802D7AE - b _0802D7D8 - .align 2, 0 -_0802D700: .4byte gBattleResults -_0802D704: .4byte gActiveBattler -_0802D708: .4byte gBattlescriptCurrInstr -_0802D70C: .4byte BattleScript_SuccessBallThrow -_0802D710: .4byte gBattlerPartyIndexes -_0802D714: .4byte gBattlerTarget -_0802D718: .4byte gEnemyParty -_0802D71C: .4byte gLastUsedItem -_0802D720: - movs r0, 0xFF - lsls r0, 16 - adds r1, r6, 0 - bl __udivsi3 - bl Sqrt - lsls r0, 16 - lsrs r0, 16 - bl Sqrt - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _0802D748 @ =0x000ffff0 - adds r1, r6, 0 - bl __udivsi3 - adds r6, r0, 0 - movs r4, 0 - b _0802D752 - .align 2, 0 -_0802D748: .4byte 0x000ffff0 -_0802D74C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0802D752: - cmp r4, 0x3 - bhi _0802D762 - bl Random - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcc _0802D74C -_0802D762: - ldr r5, _0802D7B8 @ =gLastUsedItem - ldrh r0, [r5] - cmp r0, 0x1 - bne _0802D76C - movs r4, 0x4 -_0802D76C: - movs r0, 0 - adds r1, r4, 0 - bl BtlController_EmitBallThrowAnim - ldr r0, _0802D7BC @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - cmp r4, 0x4 - bne _0802D7E4 - ldr r1, _0802D7C0 @ =gBattlescriptCurrInstr - ldr r0, _0802D7C4 @ =BattleScript_SuccessBallThrow - str r0, [r1] - ldr r1, _0802D7C8 @ =gBattlerPartyIndexes - ldr r0, _0802D7CC @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802D7D0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x26 - adds r2, r5, 0 - bl SetMonData - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _0802D7D8 -_0802D7AE: - ldr r1, _0802D7D4 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - b _0802D7EE - .align 2, 0 -_0802D7B8: .4byte gLastUsedItem -_0802D7BC: .4byte gActiveBattler -_0802D7C0: .4byte gBattlescriptCurrInstr -_0802D7C4: .4byte BattleScript_SuccessBallThrow -_0802D7C8: .4byte gBattlerPartyIndexes -_0802D7CC: .4byte gBattlerTarget -_0802D7D0: .4byte gEnemyParty -_0802D7D4: .4byte gBattleCommunication -_0802D7D8: - ldr r1, _0802D7E0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _0802D7EE - .align 2, 0 -_0802D7E0: .4byte gBattleCommunication -_0802D7E4: - ldr r0, _0802D7F4 @ =gBattleCommunication - strb r4, [r0, 0x5] - ldr r1, _0802D7F8 @ =gBattlescriptCurrInstr - ldr r0, _0802D7FC @ =BattleScript_ShakeBallThrow -_0802D7EC: - str r0, [r1] -_0802D7EE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802D7F4: .4byte gBattleCommunication -_0802D7F8: .4byte gBattlescriptCurrInstr -_0802D7FC: .4byte BattleScript_ShakeBallThrow - thumb_func_end atkEF_handleballthrow - - thumb_func_start atkF0_givecaughtmon -atkF0_givecaughtmon: @ 802D800 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0802D870 @ =gBattlerPartyIndexes - mov r9, r0 - ldr r5, _0802D874 @ =gBattlerAttacker - ldrb r0, [r5] - movs r6, 0x1 - eors r0, r6 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - movs r7, 0x64 - muls r0, r7 - ldr r1, _0802D878 @ =gEnemyParty - mov r8, r1 - add r0, r8 - bl GiveMonToPlayer - lsls r0, 24 - cmp r0, 0 - beq _0802D8EA - bl sub_80CC7B4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0802D88C - ldr r0, _0802D87C @ =gBattleCommunication - strb r1, [r0, 0x5] - ldr r4, _0802D880 @ =gStringVar1 - ldr r0, _0802D884 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldrb r0, [r5] - eors r0, r6 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - muls r0, r7 - add r0, r8 - ldr r2, _0802D888 @ =gStringVar2 - movs r1, 0x2 - bl GetMonData - b _0802D8D6 - .align 2, 0 -_0802D870: .4byte gBattlerPartyIndexes -_0802D874: .4byte gBattlerAttacker -_0802D878: .4byte gEnemyParty -_0802D87C: .4byte gBattleCommunication -_0802D880: .4byte gStringVar1 -_0802D884: .4byte 0x00004037 -_0802D888: .4byte gStringVar2 -_0802D88C: - ldr r4, _0802D92C @ =gStringVar1 - ldr r0, _0802D930 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldrb r0, [r5] - eors r0, r6 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - muls r0, r7 - add r0, r8 - ldr r2, _0802D934 @ =gStringVar2 - movs r1, 0x2 - bl GetMonData - ldr r4, _0802D938 @ =gStringVar3 - bl get_unknown_box_id - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r1, _0802D93C @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] -_0802D8D6: - ldr r0, _0802D940 @ =0x00000834 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0802D8EA - ldr r1, _0802D93C @ =gBattleCommunication - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] -_0802D8EA: - ldr r2, _0802D944 @ =gBattleResults - ldr r3, _0802D948 @ =gBattleMons - ldr r0, _0802D94C @ =gBattlerAttacker - ldrb r0, [r0] - movs r1, 0x1 - eors r1, r0 - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r2, 0x28] - ldr r0, _0802D950 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r0 - ldrh r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802D954 @ =gEnemyParty - adds r0, r1 - adds r2, 0x2A - movs r1, 0x2 - bl GetMonData - ldr r1, _0802D958 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D92C: .4byte gStringVar1 -_0802D930: .4byte 0x00004037 -_0802D934: .4byte gStringVar2 -_0802D938: .4byte gStringVar3 -_0802D93C: .4byte gBattleCommunication -_0802D940: .4byte 0x00000834 -_0802D944: .4byte gBattleResults -_0802D948: .4byte gBattleMons -_0802D94C: .4byte gBattlerAttacker -_0802D950: .4byte gBattlerPartyIndexes -_0802D954: .4byte gEnemyParty -_0802D958: .4byte gBattlescriptCurrInstr - thumb_func_end atkF0_givecaughtmon - - thumb_func_start atkF1_trysetcaughtmondexflags -atkF1_trysetcaughtmondexflags: @ 802D95C - push {r4,r5,lr} - ldr r4, _0802D9AC @ =gEnemyParty - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - adds r0, r5, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _0802D9B4 - ldr r3, _0802D9B0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802D9CE - .align 2, 0 -_0802D9AC: .4byte gEnemyParty -_0802D9B0: .4byte gBattlescriptCurrInstr -_0802D9B4: - adds r0, r5, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - adds r2, r4, 0 - bl HandleSetPokedexFlag - ldr r1, _0802D9D4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802D9CE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802D9D4: .4byte gBattlescriptCurrInstr - thumb_func_end atkF1_trysetcaughtmondexflags - - thumb_func_start atkF2_displaydexinfo -atkF2_displaydexinfo: @ 802D9D8 - push {r4,r5,lr} - sub sp, 0x18 - ldr r0, _0802DA00 @ =gEnemyParty - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0802DA04 @ =gBattleCommunication - ldrb r0, [r0] - cmp r0, 0x5 - bls _0802D9F4 - b _0802DB6C -_0802D9F4: - lsls r0, 2 - ldr r1, _0802DA08 @ =_0802DA0C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DA00: .4byte gEnemyParty -_0802DA04: .4byte gBattleCommunication -_0802DA08: .4byte _0802DA0C - .align 2, 0 -_0802DA0C: - .4byte _0802DA24 - .4byte _0802DA3C - .4byte _0802DA64 - .4byte _0802DAC8 - .4byte _0802DAE0 - .4byte _0802DB58 -_0802DA24: - movs r0, 0x1 - negs r0, r0 - ldr r1, _0802DA38 @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0802DB34 - .align 2, 0 -_0802DA38: .4byte 0x00007fff -_0802DA3C: - ldr r0, _0802DA5C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802DA4A - b _0802DB6C -_0802DA4A: - bl FreeAllWindowBuffers - adds r0, r5, 0 - bl sub_8106B60 - ldr r1, _0802DA60 @ =gBattleCommunication - strb r0, [r1, 0x1] - b _0802DB36 - .align 2, 0 -_0802DA5C: .4byte gPaletteFade -_0802DA60: .4byte gBattleCommunication -_0802DA64: - ldr r0, _0802DAAC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802DA72 - b _0802DB6C -_0802DA72: - ldr r0, _0802DAB0 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _0802DAB4 @ =BattleMainCB2 - cmp r1, r0 - bne _0802DB6C - ldr r2, _0802DAB8 @ =gTasks - ldr r4, _0802DABC @ =gBattleCommunication - ldrb r1, [r4, 0x1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _0802DB6C - str r0, [sp, 0x10] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, _0802DAC0 @ =0x05006000 - add r0, sp, 0x10 - bl CpuSet - ldr r0, _0802DAC4 @ =VBlankCB_Battle - bl SetVBlankCallback - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0802DB6C - .align 2, 0 -_0802DAAC: .4byte gPaletteFade -_0802DAB0: .4byte gMain -_0802DAB4: .4byte BattleMainCB2 -_0802DAB8: .4byte gTasks -_0802DABC: .4byte gBattleCommunication -_0802DAC0: .4byte 0x05006000 -_0802DAC4: .4byte VBlankCB_Battle -_0802DAC8: - bl sub_800F34C - bl LoadBattleTextboxAndBackground - ldr r1, _0802DADC @ =gBattle_BG3_X - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - b _0802DB34 - .align 2, 0 -_0802DADC: .4byte gBattle_BG3_X -_0802DAE0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0802DB6C - ldr r0, _0802DB40 @ =gBattleMons - adds r1, r0, 0 - adds r1, 0xAC - ldr r1, [r1] - adds r0, 0xA0 - ldr r2, [r0] - movs r0, 0x78 - str r0, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - ldr r0, _0802DB44 @ =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - str r4, [sp, 0x14] - add r0, sp, 0x14 - ldr r1, _0802DB48 @ =gPlttBufferFaded - ldr r2, _0802DB4C @ =0x05000080 - bl CpuSet - ldr r0, _0802DB50 @ =0x0001ffff - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_0802DB34: - ldr r1, _0802DB54 @ =gBattleCommunication -_0802DB36: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0802DB6C - .align 2, 0 -_0802DB40: .4byte gBattleMons -_0802DB44: .4byte 0x0000ffff -_0802DB48: .4byte gPlttBufferFaded -_0802DB4C: .4byte 0x05000080 -_0802DB50: .4byte 0x0001ffff -_0802DB54: .4byte gBattleCommunication -_0802DB58: - ldr r0, _0802DB74 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802DB6C - ldr r1, _0802DB78 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0802DB6C: - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802DB74: .4byte gPaletteFade -_0802DB78: .4byte gBattlescriptCurrInstr - thumb_func_end atkF2_displaydexinfo - - thumb_func_start HandleBattleWindow -HandleBattleWindow: @ 802DB7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x10] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x1C] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x14] - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - movs r1, 0 - add r0, sp, 0xC - strh r1, [r0] - ldr r6, [sp, 0x10] - cmp r6, r3 - ble _0802DBB6 - b _0802DCA2 -_0802DBB6: - mov r4, r8 - adds r0, r6, 0x1 - str r0, [sp, 0x18] - ldr r2, [sp, 0x1C] - cmp r4, r2 - bgt _0802DC98 - add r5, sp, 0xC - lsls r7, r6, 24 - mov r9, r7 -_0802DBC8: - ldr r0, [sp, 0x10] - cmp r6, r0 - bne _0802DBF4 - cmp r4, r8 - bne _0802DBDC - ldr r0, _0802DBD8 @ =0x00001022 - b _0802DC3E - .align 2, 0 -_0802DBD8: .4byte 0x00001022 -_0802DBDC: - ldr r2, [sp, 0x1C] - cmp r4, r2 - bne _0802DBEC - ldr r0, _0802DBE8 @ =0x00001024 - b _0802DC3E - .align 2, 0 -_0802DBE8: .4byte 0x00001024 -_0802DBEC: - ldr r0, _0802DBF0 @ =0x00001023 - b _0802DC3E - .align 2, 0 -_0802DBF0: .4byte 0x00001023 -_0802DBF4: - ldr r7, [sp, 0x14] - cmp r6, r7 - bne _0802DC20 - cmp r4, r8 - bne _0802DC08 - ldr r0, _0802DC04 @ =0x00001028 - b _0802DC3E - .align 2, 0 -_0802DC04: .4byte 0x00001028 -_0802DC08: - ldr r0, [sp, 0x1C] - cmp r4, r0 - bne _0802DC18 - ldr r0, _0802DC14 @ =0x0000102a - b _0802DC3E - .align 2, 0 -_0802DC14: .4byte 0x0000102a -_0802DC18: - ldr r0, _0802DC1C @ =0x00001029 - b _0802DC3E - .align 2, 0 -_0802DC1C: .4byte 0x00001029 -_0802DC20: - cmp r4, r8 - bne _0802DC2C - ldr r0, _0802DC28 @ =0x00001025 - b _0802DC3E - .align 2, 0 -_0802DC28: .4byte 0x00001025 -_0802DC2C: - ldr r2, [sp, 0x1C] - cmp r4, r2 - bne _0802DC3C - ldr r0, _0802DC38 @ =0x00001027 - b _0802DC3E - .align 2, 0 -_0802DC38: .4byte 0x00001027 -_0802DC3C: - ldr r0, _0802DC74 @ =0x00001026 -_0802DC3E: - strh r0, [r5] - movs r1, 0x1 - mov r0, r10 - ands r0, r1 - cmp r0, 0 - beq _0802DC4E - movs r0, 0 - strh r0, [r5] -_0802DC4E: - movs r0, 0x80 - mov r7, r10 - ands r0, r7 - cmp r0, 0 - beq _0802DC78 - lsls r2, r4, 24 - lsrs r2, 24 - str r1, [sp] - str r1, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - add r1, sp, 0xC - mov r7, r9 - lsrs r3, r7, 24 - bl CopyToBgTilemapBufferRect_ChangePalette - b _0802DC90 - .align 2, 0 -_0802DC74: .4byte 0x00001026 -_0802DC78: - lsls r2, r4, 24 - lsrs r2, 24 - str r1, [sp] - str r1, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - add r1, sp, 0xC - mov r7, r9 - lsrs r3, r7, 24 - bl CopyToBgTilemapBufferRect_ChangePalette -_0802DC90: - adds r4, 0x1 - ldr r0, [sp, 0x1C] - cmp r4, r0 - ble _0802DBC8 -_0802DC98: - ldr r6, [sp, 0x18] - ldr r2, [sp, 0x14] - cmp r6, r2 - bgt _0802DCA2 - b _0802DBB6 -_0802DCA2: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end HandleBattleWindow - - thumb_func_start BattleCreateYesNoCursorAt -BattleCreateYesNoCursorAt: @ 802DCB8 - push {lr} - sub sp, 0x10 - add r0, sp, 0xC - movs r2, 0x1 - strh r2, [r0] - movs r1, 0x2 - strh r1, [r0, 0x2] - ldr r0, _0802DCF4 @ =gBattleCommunication - ldrb r3, [r0, 0x1] - lsls r3, 25 - movs r0, 0x90 - lsls r0, 20 - adds r3, r0 - lsrs r3, 24 - str r2, [sp] - str r1, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - add r1, sp, 0xC - movs r2, 0x18 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0802DCF4: .4byte gBattleCommunication - thumb_func_end BattleCreateYesNoCursorAt - - thumb_func_start BattleDestroyYesNoCursorAt -BattleDestroyYesNoCursorAt: @ 802DCF8 - push {lr} - sub sp, 0x10 - add r0, sp, 0xC - movs r1, 0x20 - strh r1, [r0] - strh r1, [r0, 0x2] - ldr r0, _0802DD34 @ =gBattleCommunication - ldrb r3, [r0, 0x1] - lsls r3, 25 - movs r0, 0x90 - lsls r0, 20 - adds r3, r0 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - add r1, sp, 0xC - movs r2, 0x18 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0802DD34: .4byte gBattleCommunication - thumb_func_end BattleDestroyYesNoCursorAt - - thumb_func_start atkF3_trygivecaughtmonnick -atkF3_trygivecaughtmonnick: @ 802DD38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _0802DD5C @ =gBattleCommunication - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x4 - bls _0802DD50 - b _0802DFA6 -_0802DD50: - lsls r0, r1, 2 - ldr r1, _0802DD60 @ =_0802DD64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DD5C: .4byte gBattleCommunication -_0802DD60: .4byte _0802DD64 - .align 2, 0 -_0802DD64: - .4byte _0802DD78 - .4byte _0802DDA8 - .4byte _0802DE40 - .4byte _0802DF18 - .4byte _0802DF70 -_0802DD78: - movs r4, 0 - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r0, _0802DDA0 @ =gText_BattleYesNoChoice - movs r1, 0xE - bl BattlePutTextOnWindow - ldr r1, _0802DDA4 @ =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - strb r4, [r1, 0x1] - bl BattleCreateYesNoCursorAt - b _0802DFA6 - .align 2, 0 -_0802DDA0: .4byte gText_BattleYesNoChoice -_0802DDA4: .4byte gBattleCommunication -_0802DDA8: - ldr r0, _0802DE1C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802DDCC - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0802DDCC - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_0802DDCC: - ldr r0, _0802DE1C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802DDF2 - ldr r4, _0802DE20 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _0802DDF2 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0x1 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_0802DDF2: - ldr r0, _0802DE1C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802DE24 - movs r0, 0x5 - bl PlaySE - ldr r1, _0802DE20 @ =gBattleCommunication - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0802DE36 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x3 - bl BeginFastPaletteFade - b _0802DFA6 - .align 2, 0 -_0802DE1C: .4byte gMain -_0802DE20: .4byte gBattleCommunication -_0802DE24: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0802DE2E - b _0802DFA6 -_0802DE2E: - movs r0, 0x5 - bl PlaySE - ldr r1, _0802DE3C @ =gBattleCommunication -_0802DE36: - movs r0, 0x4 - strb r0, [r1] - b _0802DFA6 - .align 2, 0 -_0802DE3C: .4byte gBattleCommunication -_0802DE40: - ldr r0, _0802DEFC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802DE4E - b _0802DFA6 -_0802DE4E: - ldr r7, _0802DF00 @ =gBattlerPartyIndexes - ldr r0, _0802DF04 @ =gBattlerAttacker - mov r10, r0 - ldrb r0, [r0] - movs r4, 0x1 - eors r0, r4 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r1, 0x64 - mov r9, r1 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - ldr r1, _0802DF08 @ =gEnemyParty - mov r8, r1 - add r0, r8 - ldr r1, _0802DF0C @ =gBattleStruct - ldr r2, [r1] - adds r2, 0x6D - movs r1, 0x2 - bl GetMonData - bl FreeAllWindowBuffers - mov r2, r10 - ldrb r0, [r2] - eors r0, r4 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - movs r1, 0xB - bl GetMonData - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - mov r2, r10 - ldrb r0, [r2] - eors r0, r4 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - bl GetMonGender - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - mov r2, r10 - ldrb r0, [r2] - eors r4, r0 - lsls r4, 1 - adds r4, r7 - ldrh r0, [r4] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - movs r1, 0 - movs r2, 0 - bl GetMonData - ldr r2, _0802DF0C @ =gBattleStruct - ldr r1, [r2] - adds r1, 0x6D - str r0, [sp] - ldr r0, _0802DF10 @ =BattleMainCB2 - str r0, [sp, 0x4] - movs r0, 0x2 - adds r2, r6, 0 - adds r3, r5, 0 - bl DoNamingScreen - ldr r1, _0802DF14 @ =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0802DFA6 - .align 2, 0 -_0802DEFC: .4byte gPaletteFade -_0802DF00: .4byte gBattlerPartyIndexes -_0802DF04: .4byte gBattlerAttacker -_0802DF08: .4byte gEnemyParty -_0802DF0C: .4byte gBattleStruct -_0802DF10: .4byte BattleMainCB2 -_0802DF14: .4byte gBattleCommunication -_0802DF18: - ldr r0, _0802DF54 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _0802DF58 @ =BattleMainCB2 - cmp r1, r0 - bne _0802DFA6 - ldr r0, _0802DF5C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802DFA6 - ldr r2, _0802DF60 @ =gBattlerPartyIndexes - ldr r0, _0802DF64 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x1 - eors r0, r1 - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802DF68 @ =gEnemyParty - adds r0, r1 - ldr r1, _0802DF6C @ =gBattleStruct - ldr r2, [r1] - adds r2, 0x6D - movs r1, 0x2 - bl SetMonData - b _0802DF8C - .align 2, 0 -_0802DF54: .4byte gMain -_0802DF58: .4byte BattleMainCB2 -_0802DF5C: .4byte gPaletteFade -_0802DF60: .4byte gBattlerPartyIndexes -_0802DF64: .4byte gBattlerAttacker -_0802DF68: .4byte gEnemyParty -_0802DF6C: .4byte gBattleStruct -_0802DF70: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _0802DF8C - ldr r1, _0802DF88 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802DFA6 - .align 2, 0 -_0802DF88: .4byte gBattlescriptCurrInstr -_0802DF8C: - ldr r3, _0802DFB8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802DFA6: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802DFB8: .4byte gBattlescriptCurrInstr - thumb_func_end atkF3_trygivecaughtmonnick - - thumb_func_start atkF4_subattackerhpbydmg -atkF4_subattackerhpbydmg: @ 802DFBC - ldr r2, _0802DFDC @ =gBattleMons - ldr r0, _0802DFE0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldr r0, _0802DFE4 @ =gBattleMoveDamage - ldr r2, [r0] - ldrh r0, [r1, 0x28] - subs r0, r2 - strh r0, [r1, 0x28] - ldr r1, _0802DFE8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802DFDC: .4byte gBattleMons -_0802DFE0: .4byte gBattlerAttacker -_0802DFE4: .4byte gBattleMoveDamage -_0802DFE8: .4byte gBattlescriptCurrInstr - thumb_func_end atkF4_subattackerhpbydmg - - thumb_func_start atkF5_removeattackerstatus1 -atkF5_removeattackerstatus1: @ 802DFEC - ldr r1, _0802E008 @ =gBattleMons - ldr r0, _0802E00C @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - movs r1, 0 - str r1, [r0] - ldr r1, _0802E010 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802E008: .4byte gBattleMons -_0802E00C: .4byte gBattlerAttacker -_0802E010: .4byte gBattlescriptCurrInstr - thumb_func_end atkF5_removeattackerstatus1 - - thumb_func_start atkF6_finishaction -atkF6_finishaction: @ 802E014 - ldr r1, _0802E01C @ =gCurrentActionFuncId - movs r0, 0xC - strb r0, [r1] - bx lr - .align 2, 0 -_0802E01C: .4byte gCurrentActionFuncId - thumb_func_end atkF6_finishaction - - thumb_func_start atkF7_finishturn -atkF7_finishturn: @ 802E020 - ldr r1, _0802E030 @ =gCurrentActionFuncId - movs r0, 0xC - strb r0, [r1] - ldr r1, _0802E034 @ =gCurrentTurnActionNumber - ldr r0, _0802E038 @ =gBattlersCount - ldrb r0, [r0] - strb r0, [r1] - bx lr - .align 2, 0 -_0802E030: .4byte gCurrentActionFuncId -_0802E034: .4byte gCurrentTurnActionNumber -_0802E038: .4byte gBattlersCount - thumb_func_end atkF7_finishturn - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3