diff options
author | camthesaxman <cameronghall@cox.net> | 2018-02-14 14:16:26 -0600 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2018-02-14 14:16:26 -0600 |
commit | fc0097606ddc8b90ed2c904baf01f5a699daa03b (patch) | |
tree | 7c380799b573fc5c977fe73da394cf2823cb8189 | |
parent | 1dd9be3869f99ae7256c6f7a04e78322d4f9a0cd (diff) | |
parent | 28987bb1cd0e6864257ff0434508dddcddb22e98 (diff) |
Merge branch 'master' into decompile_debug
99 files changed, 10895 insertions, 14376 deletions
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s index 03ffc0eda..dd0e9bac1 100644 --- a/asm/battle_anim_812C144.s +++ b/asm/battle_anim_812C144.s @@ -262,7 +262,7 @@ _0812C31A: strh r0, [r5, 0x2E] strh r7, [r5, 0x32] strh r6, [r5, 0x36] - ldr r0, _0812C350 @ =sub_8078B34 + ldr r0, _0812C350 @ =StartTranslateAnimSpriteByDeltas str r0, [r5, 0x1C] ldr r1, _0812C354 @ =DestroyAnimSprite adds r0, r5, 0 @@ -274,7 +274,7 @@ _0812C31A: .align 2, 0 _0812C348: .4byte gAnimBankTarget _0812C34C: .4byte gBattleAnimArgs -_0812C350: .4byte sub_8078B34 +_0812C350: .4byte StartTranslateAnimSpriteByDeltas _0812C354: .4byte DestroyAnimSprite thumb_func_end sub_812C2BC @@ -795,7 +795,7 @@ sub_812C720: @ 812C720 sub sp, 0x4 adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _0812C784 @ =gAnimBankTarget ldrb r0, [r0] mov r5, sp @@ -803,7 +803,7 @@ sub_812C720: @ 812C720 movs r1, 0 mov r2, sp adds r3, r5, 0 - bl sub_807A3FC + bl SetAverageBattlerPositions ldr r0, _0812C788 @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide @@ -849,7 +849,7 @@ _0812C794: .4byte sub_812C798 sub_812C798: @ 812C798 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _0812C7BA @@ -2301,7 +2301,7 @@ sub_812D294: @ 812D294 bne _0812D2A8 adds r0, r5, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos _0812D2A8: ldrh r0, [r5, 0x2E] adds r0, 0x1 @@ -2376,7 +2376,7 @@ _0812D2F0: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] - ldr r0, _0812D34C @ =sub_8078B34 + ldr r0, _0812D34C @ =StartTranslateAnimSpriteByDeltas str r0, [r5, 0x1C] _0812D33C: pop {r4,r5} @@ -2385,7 +2385,7 @@ _0812D33C: .align 2, 0 _0812D344: .4byte DestroyAnimSprite _0812D348: .4byte gAnimBankTarget -_0812D34C: .4byte sub_8078B34 +_0812D34C: .4byte StartTranslateAnimSpriteByDeltas thumb_func_end sub_812D294 thumb_func_start sub_812D350 @@ -2915,7 +2915,7 @@ sub_812D724: @ 812D724 _0812D736: adds r0, r4, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos movs r0, 0x90 lsls r0, 4 strh r0, [r4, 0x30] @@ -3227,7 +3227,7 @@ _0812D9A2: cmp r0, 0 beq _0812D9F0 ldr r3, _0812D9E4 @ =gSprites - ldr r4, _0812D9E8 @ =gObjectBankIDs + ldr r4, _0812D9E8 @ =gBankSpriteIds ldr r2, _0812D9D4 @ =gAnimBankAttacker ldrb r0, [r2] adds r0, r4 @@ -3248,11 +3248,11 @@ _0812D9D8: .4byte 0x040000d4 _0812D9DC: .4byte 0x84000200 _0812D9E0: .4byte gSharedMem + 0x19348 _0812D9E4: .4byte gSprites -_0812D9E8: .4byte gObjectBankIDs +_0812D9E8: .4byte gBankSpriteIds _0812D9EC: .4byte gSpriteAffineAnimTable_81E7C18 _0812D9F0: ldr r3, _0812DA34 @ =gSprites - ldr r4, _0812DA38 @ =gObjectBankIDs + ldr r4, _0812DA38 @ =gBankSpriteIds ldr r2, _0812DA3C @ =gAnimBankAttacker ldrb r0, [r2] adds r0, r4 @@ -3288,7 +3288,7 @@ _0812DA2A: b _0812DAFA .align 2, 0 _0812DA34: .4byte gSprites -_0812DA38: .4byte gObjectBankIDs +_0812DA38: .4byte gBankSpriteIds _0812DA3C: .4byte gAnimBankAttacker _0812DA40: .4byte gSpriteAffineAnimTable_81E7BEC _0812DA44: .4byte gTasks @@ -3401,7 +3401,7 @@ c3_80DFBE4: @ 812DB18 lsrs r0, 24 ldr r4, _0812DB48 @ =gBattleAnimArgs ldr r3, _0812DB4C @ =gSprites - ldr r2, _0812DB50 @ =gObjectBankIDs + ldr r2, _0812DB50 @ =gBankSpriteIds ldr r1, _0812DB54 @ =gAnimBankAttacker ldrb r1, [r1] adds r1, r2 @@ -3422,7 +3422,7 @@ c3_80DFBE4: @ 812DB18 .align 2, 0 _0812DB48: .4byte gBattleAnimArgs _0812DB4C: .4byte gSprites -_0812DB50: .4byte gObjectBankIDs +_0812DB50: .4byte gBankSpriteIds _0812DB54: .4byte gAnimBankAttacker thumb_func_end c3_80DFBE4 @@ -4626,7 +4626,7 @@ sub_812E4F0: @ 812E4F0 bne _0812E50E adds r0, r4, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos ldrh r0, [r4, 0x2E] adds r0, 0x1 strh r0, [r4, 0x2E] @@ -7672,7 +7672,7 @@ sub_812FC68: @ 812FC68 lsls r0, 3 mov r1, r8 adds r4, r0, r1 - ldr r1, _0812FCCC @ =gObjectBankIDs + ldr r1, _0812FCCC @ =gBankSpriteIds ldr r2, _0812FCD0 @ =gAnimBankAttacker ldrb r0, [r2] adds r0, r1 @@ -7709,7 +7709,7 @@ _0812FCAC: b _0812FD4C .align 2, 0 _0812FCC8: .4byte gTasks -_0812FCCC: .4byte gObjectBankIDs +_0812FCCC: .4byte gBankSpriteIds _0812FCD0: .4byte gAnimBankAttacker _0812FCD4: .4byte gBattleAnimArgs _0812FCD8: .4byte 0xffff8000 @@ -9023,7 +9023,7 @@ _081306D6: lsls r0, 2 ldr r1, _08130708 @ =gSprites adds r0, r1 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -9042,7 +9042,7 @@ _0813070C: lsls r0, 2 ldr r1, _0813072C @ =gSprites adds r0, r1 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _081307AA @@ -10151,7 +10151,7 @@ sub_8130F5C: @ 8130F5C bne _08130F80 adds r0, r4, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _08130F7C @ =gAnimBankAttacker b _08130F82 .align 2, 0 @@ -10356,11 +10356,11 @@ _081310FA: strh r0, [r4, 0x34] strh r1, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas b _081311CA _08131110: adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _081311DE @@ -10694,7 +10694,7 @@ _08131384: cmp r0, 0 beq _081313C6 ldr r3, _081313F8 @ =gSprites - ldr r2, _081313FC @ =gObjectBankIDs + ldr r2, _081313FC @ =gBankSpriteIds ldrb r0, [r4] adds r0, r2 ldrb r1, [r0] @@ -10744,7 +10744,7 @@ _081313E8: .align 2, 0 _081313F4: .4byte gAnimBankAttacker _081313F8: .4byte gSprites -_081313FC: .4byte gObjectBankIDs +_081313FC: .4byte gBankSpriteIds _08131400: .4byte gSpriteAffineAnimTable_81E7C18 _08131404: .4byte sub_8131408 thumb_func_end sub_81312E4 @@ -12326,7 +12326,7 @@ _08132084: .4byte gAnimBankAttacker _08132088: .4byte gAnimBankTarget _0813208C: .4byte gTasks _08132090: - ldr r1, _081320CC @ =gObjectBankIDs + ldr r1, _081320CC @ =gBankSpriteIds ldr r0, _081320D0 @ =gAnimBankAttacker ldrb r0, [r0] adds r0, r1 @@ -12357,7 +12357,7 @@ _08132090: ldrsh r1, [r2, r3] b _0813215E .align 2, 0 -_081320CC: .4byte gObjectBankIDs +_081320CC: .4byte gBankSpriteIds _081320D0: .4byte gAnimBankAttacker _081320D4: .4byte gSprites _081320D8: @@ -12385,7 +12385,7 @@ _081320EC: strh r1, [r0, 0x26] b _08132188 _08132104: - ldr r1, _08132144 @ =gObjectBankIDs + ldr r1, _08132144 @ =gBankSpriteIds ldr r0, _08132148 @ =gAnimBankAttacker ldrb r0, [r0] adds r0, r1 @@ -12418,7 +12418,7 @@ _08132104: bgt _08132188 b _08132162 .align 2, 0 -_08132144: .4byte gObjectBankIDs +_08132144: .4byte gBankSpriteIds _08132148: .4byte gAnimBankAttacker _0813214C: .4byte gSprites _08132150: @@ -12438,7 +12438,7 @@ _08132162: strh r0, [r2, 0x26] b _08132188 _0813216A: - ldr r1, _08132190 @ =gObjectBankIDs + ldr r1, _08132190 @ =gBankSpriteIds ldr r0, _08132194 @ =gAnimBankAttacker ldrb r0, [r0] adds r0, r1 @@ -12457,7 +12457,7 @@ _08132188: pop {r0} bx r0 .align 2, 0 -_08132190: .4byte gObjectBankIDs +_08132190: .4byte gBankSpriteIds _08132194: .4byte gAnimBankAttacker _08132198: .4byte gSprites thumb_func_end sub_8131FFC diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s index ccb4854af..d7172bde6 100644 --- a/asm/battle_anim_813F0F4.s +++ b/asm/battle_anim_813F0F4.s @@ -818,7 +818,7 @@ sub_813F798: @ 813F798 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _0813F7C4 @ =gObjectBankIDs + ldr r1, _0813F7C4 @ =gBankSpriteIds ldr r0, _0813F7C8 @ =gAnimBankAttacker ldrb r0, [r0] adds r0, r1 @@ -838,7 +838,7 @@ sub_813F798: @ 813F798 beq _0813F7D6 b _0813F838 .align 2, 0 -_0813F7C4: .4byte gObjectBankIDs +_0813F7C4: .4byte gBankSpriteIds _0813F7C8: .4byte gAnimBankAttacker _0813F7CC: .4byte gTasks _0813F7D0: @@ -909,7 +909,7 @@ sub_813F844: @ 813F844 sub sp, 0xC lsls r0, 24 lsrs r5, r0, 24 - ldr r1, _0813F87C @ =gObjectBankIDs + ldr r1, _0813F87C @ =gBankSpriteIds ldr r4, _0813F880 @ =gAnimBankAttacker ldrb r0, [r4] adds r1, r0, r1 @@ -929,7 +929,7 @@ sub_813F844: @ 813F844 ldr r1, _0813F888 @ =gPlayerParty b _0813F89C .align 2, 0 -_0813F87C: .4byte gObjectBankIDs +_0813F87C: .4byte gBankSpriteIds _0813F880: .4byte gAnimBankAttacker _0813F884: .4byte gBattlePartyID _0813F888: .4byte gPlayerParty @@ -1256,7 +1256,7 @@ sub_813FA94: @ 813FA94 ldr r0, _0813FB68 @ =sub_813FD90 str r0, [r4] ldr r3, _0813FB6C @ =gSharedMem + 0x17840 - ldr r1, _0813FB70 @ =gObjectBankIDs + ldr r1, _0813FB70 @ =gBankSpriteIds mov r2, r8 ldrb r0, [r2] adds r0, r1 @@ -1299,7 +1299,7 @@ _0813FB60: .4byte gSprites _0813FB64: .4byte gAnimBankTarget _0813FB68: .4byte sub_813FD90 _0813FB6C: .4byte gSharedMem + 0x17840 -_0813FB70: .4byte gObjectBankIDs +_0813FB70: .4byte gBankSpriteIds _0813FB74: .4byte gTasks _0813FB78: .4byte sub_813FB7C thumb_func_end sub_813FA94 @@ -1419,7 +1419,7 @@ _0813FBE0: str r0, [r4] movs r0, 0 bl GetBankByIdentity - ldr r1, _0813FCB0 @ =gObjectBankIDs + ldr r1, _0813FCB0 @ =gBankSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r1 @@ -1450,7 +1450,7 @@ _0813FCA0: .4byte gBallSpriteTemplates _0813FCA4: .4byte gSprites _0813FCA8: .4byte gAnimBankTarget _0813FCAC: .4byte SpriteCallbackDummy -_0813FCB0: .4byte gObjectBankIDs +_0813FCB0: .4byte gBankSpriteIds _0813FCB4: .4byte gTasks _0813FCB8: .4byte sub_813FCBC thumb_func_end sub_813FBB8 @@ -1463,7 +1463,7 @@ sub_813FCBC: @ 813FCBC ldr r6, _0813FD1C @ =gSprites movs r0, 0 bl GetBankByIdentity - ldr r1, _0813FD20 @ =gObjectBankIDs + ldr r1, _0813FD20 @ =gBankSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r1 @@ -1505,7 +1505,7 @@ _0813FD16: bx r0 .align 2, 0 _0813FD1C: .4byte gSprites -_0813FD20: .4byte gObjectBankIDs +_0813FD20: .4byte gBankSpriteIds _0813FD24: .4byte gTasks _0813FD28: .4byte sub_813FD90 _0813FD2C: .4byte sub_813FD34 @@ -1520,7 +1520,7 @@ sub_813FD34: @ 813FD34 ldr r6, _0813FD88 @ =gSprites movs r0, 0 bl GetBankByIdentity - ldr r4, _0813FD8C @ =gObjectBankIDs + ldr r4, _0813FD8C @ =gBankSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -1554,7 +1554,7 @@ _0813FD80: bx r0 .align 2, 0 _0813FD88: .4byte gSprites -_0813FD8C: .4byte gObjectBankIDs +_0813FD8C: .4byte gBankSpriteIds thumb_func_end sub_813FD34 thumb_func_start sub_813FD90 @@ -1588,7 +1588,7 @@ sub_813FDC0: @ 813FDC0 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _0813FE5A @@ -1688,7 +1688,7 @@ sub_813FE70: @ 813FE70 ldr r0, _0813FEB8 @ =sub_813FEC8 str r0, [r4, 0x1C] ldr r2, _0813FEBC @ =gSprites - ldr r1, _0813FEC0 @ =gObjectBankIDs + ldr r1, _0813FEC0 @ =gBankSpriteIds ldr r0, _0813FEC4 @ =gAnimBankTarget ldrb r0, [r0] adds r0, r1 @@ -1707,7 +1707,7 @@ _0813FEAC: _0813FEB4: .4byte TaskDummy _0813FEB8: .4byte sub_813FEC8 _0813FEBC: .4byte gSprites -_0813FEC0: .4byte gObjectBankIDs +_0813FEC0: .4byte gBankSpriteIds _0813FEC4: .4byte gAnimBankTarget thumb_func_end sub_813FE70 @@ -1715,7 +1715,7 @@ _0813FEC4: .4byte gAnimBankTarget sub_813FEC8: @ 813FEC8 push {r4-r7,lr} adds r7, r0, 0 - ldr r1, _0813FF0C @ =gObjectBankIDs + ldr r1, _0813FF0C @ =gBankSpriteIds ldr r0, _0813FF10 @ =gAnimBankTarget ldrb r0, [r0] adds r0, r1 @@ -1748,7 +1748,7 @@ _0813FEFA: beq _0813FF1E b _0813FFDC .align 2, 0 -_0813FF0C: .4byte gObjectBankIDs +_0813FF0C: .4byte gBankSpriteIds _0813FF10: .4byte gAnimBankTarget _0813FF14: .4byte gTasks _0813FF18: @@ -2478,7 +2478,7 @@ _08140490: cmp r1, r0 bne _081404CC ldr r5, _081404D8 @ =gSprites - ldr r4, _081404DC @ =gObjectBankIDs + ldr r4, _081404DC @ =gBankSpriteIds ldrb r0, [r7] adds r0, r4 ldrb r1, [r0] @@ -2509,7 +2509,7 @@ _081404CC: .align 2, 0 _081404D4: .4byte 0x0000013b _081404D8: .4byte gSprites -_081404DC: .4byte gObjectBankIDs +_081404DC: .4byte gBankSpriteIds _081404E0: .4byte sub_81404E4 thumb_func_end sub_8140454 @@ -2697,7 +2697,7 @@ sub_81405F4: @ 81405F4 bl sub_8141314 _08140646: ldr r6, _081406B4 @ =gSprites - ldr r5, _081406B8 @ =gObjectBankIDs + ldr r5, _081406B8 @ =gBankSpriteIds ldr r4, _081406B0 @ =gAnimBankTarget ldrb r0, [r4] adds r0, r5 @@ -2748,7 +2748,7 @@ _081406A8: .4byte sub_81406BC _081406AC: .4byte gLastUsedItem _081406B0: .4byte gAnimBankTarget _081406B4: .4byte gSprites -_081406B8: .4byte gObjectBankIDs +_081406B8: .4byte gBankSpriteIds thumb_func_end sub_81405F4 thumb_func_start sub_81406BC @@ -2770,7 +2770,7 @@ sub_81406BC: @ 81406BC strb r0, [r2] _081406DA: ldr r4, _08140708 @ =gSprites - ldr r3, _0814070C @ =gObjectBankIDs + ldr r3, _0814070C @ =gBankSpriteIds ldr r2, _08140710 @ =gAnimBankTarget ldrb r0, [r2] adds r0, r3 @@ -2792,7 +2792,7 @@ _081406DA: b _08140734 .align 2, 0 _08140708: .4byte gSprites -_0814070C: .4byte gObjectBankIDs +_0814070C: .4byte gBankSpriteIds _08140710: .4byte gAnimBankTarget _08140714: ldr r6, _0814079C @ =0xfffffee0 @@ -2822,7 +2822,7 @@ _08140734: cmp r5, 0 beq _08140796 ldr r4, _081407A0 @ =gSprites - ldr r3, _081407A4 @ =gObjectBankIDs + ldr r3, _081407A4 @ =gBankSpriteIds ldr r2, _081407A8 @ =gAnimBankTarget ldrb r0, [r2] adds r0, r3 @@ -2867,7 +2867,7 @@ _08140796: .align 2, 0 _0814079C: .4byte 0xfffffee0 _081407A0: .4byte gSprites -_081407A4: .4byte gObjectBankIDs +_081407A4: .4byte gBankSpriteIds _081407A8: .4byte gAnimBankTarget _081407AC: .4byte gSharedMem + 0x17840 _081407B0: .4byte sub_81405C8 @@ -4581,7 +4581,7 @@ sub_814151C: @ 814151C lsrs r7, r0, 24 movs r0, 0 mov r8, r0 - ldr r0, _08141550 @ =gObjectBankIDs + ldr r0, _08141550 @ =gBankSpriteIds ldr r3, _08141554 @ =gAnimBankAttacker ldrb r2, [r3] adds r0, r2, r0 @@ -4601,7 +4601,7 @@ sub_814151C: @ 814151C beq _08141562 b _081416B6 .align 2, 0 -_08141550: .4byte gObjectBankIDs +_08141550: .4byte gBankSpriteIds _08141554: .4byte gAnimBankAttacker _08141558: .4byte gTasks _0814155C: @@ -4882,7 +4882,7 @@ _08141744: .align 2, 0 _08141778: .4byte REG_BLDALPHA _0814177C: - ldr r1, _081417C0 @ =gObjectBankIDs + ldr r1, _081417C0 @ =gBankSpriteIds ldr r3, _081417C4 @ =gAnimBankAttacker ldrb r0, [r3] adds r0, r1 @@ -4916,7 +4916,7 @@ _081417B8: pop {r0} bx r0 .align 2, 0 -_081417C0: .4byte gObjectBankIDs +_081417C0: .4byte gBankSpriteIds _081417C4: .4byte gAnimBankAttacker _081417C8: .4byte gSprites _081417CC: .4byte 0x06010000 @@ -5479,7 +5479,7 @@ sub_8141C30: @ 8141C30 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos movs r0, 0x1E strh r0, [r4, 0x2E] movs r0, 0x1 @@ -5509,7 +5509,7 @@ sub_8141C30: @ 8141C30 strh r0, [r4, 0x38] adds r0, r4, 0 bl sub_80786EC - ldr r1, _08141CAC @ =gObjectBankIDs + ldr r1, _08141CAC @ =gBankSpriteIds ldr r0, _08141CB0 @ =gAnimBankAttacker ldrb r0, [r0] adds r0, r1 @@ -5529,7 +5529,7 @@ sub_8141C30: @ 8141C30 .align 2, 0 _08141CA4: .4byte gBattleAnimArgs _08141CA8: .4byte 0x0000ffe0 -_08141CAC: .4byte gObjectBankIDs +_08141CAC: .4byte gBankSpriteIds _08141CB0: .4byte gAnimBankAttacker _08141CB4: .4byte gSprites _08141CB8: .4byte sub_8141CBC @@ -5540,7 +5540,7 @@ sub_8141CBC: @ 8141CBC push {lr} adds r3, r0, 0 ldr r2, _08141CE4 @ =gSprites - ldr r1, _08141CE8 @ =gObjectBankIDs + ldr r1, _08141CE8 @ =gBankSpriteIds ldr r0, _08141CEC @ =gAnimBankAttacker ldrb r0, [r0] adds r0, r1 @@ -5560,7 +5560,7 @@ _08141CE0: bx r0 .align 2, 0 _08141CE4: .4byte gSprites -_08141CE8: .4byte gObjectBankIDs +_08141CE8: .4byte gBankSpriteIds _08141CEC: .4byte gAnimBankAttacker _08141CF0: .4byte sub_8141CF4 thumb_func_end sub_8141CBC @@ -5569,7 +5569,7 @@ _08141CF0: .4byte sub_8141CF4 sub_8141CF4: @ 8141CF4 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _08141D16 @@ -5596,7 +5596,7 @@ sub_8141D20: @ 8141D20 push {r4,r5,lr} adds r4, r0, 0 ldr r5, _08141D70 @ =gSprites - ldr r3, _08141D74 @ =gObjectBankIDs + ldr r3, _08141D74 @ =gBankSpriteIds ldr r2, _08141D78 @ =gAnimBankAttacker ldrb r0, [r2] adds r0, r3 @@ -5633,7 +5633,7 @@ _08141D68: bx r0 .align 2, 0 _08141D70: .4byte gSprites -_08141D74: .4byte gObjectBankIDs +_08141D74: .4byte gBankSpriteIds _08141D78: .4byte gAnimBankAttacker thumb_func_end sub_8141D20 diff --git a/asm/current.s b/asm/current.s index 4ef537dc3..69927ea23 100644 --- a/asm/current.s +++ b/asm/current.s @@ -12,7 +12,7 @@ sub_80D648C: @ 80D648C push {r4-r6,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r5, _080D6500 @ =gBattleAnimArgs ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] @@ -34,7 +34,7 @@ sub_80D648C: @ 80D648C lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldrh r0, [r5, 0x4] strh r0, [r4, 0x38] ldrh r0, [r5, 0xA] @@ -74,7 +74,7 @@ _080D6510: .4byte sub_80D6514 sub_80D6514: @ 80D6514 push {r4,lr} adds r4, r0, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 bne _080D657E @@ -998,7 +998,7 @@ sub_80D6BB8: @ 80D6BB8 strh r0, [r4, 0x36] strh r6, [r4, 0x38] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldr r1, _080D6CB0 @ =sub_80D6D00 adds r0, r4, 0 bl StoreSpriteCallbackInData @@ -1062,7 +1062,7 @@ _080D6CC6: sub_80D6CCC: @ 80D6CCC push {r4,lr} adds r4, r0, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _080D6CF4 diff --git a/asm/fight.s b/asm/fight.s deleted file mode 100644 index e8e3299af..000000000 --- a/asm/fight.s +++ /dev/null @@ -1,1749 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - @ fight - - thumb_func_start unc_080B08A0 -unc_080B08A0: @ 80D8FF0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080D9020 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_807867C - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0xF - strh r0, [r4, 0x2E] - ldr r0, _080D9024 @ =sub_80782D8 - str r0, [r4, 0x1C] - ldr r1, _080D9028 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D9020: .4byte gBattleAnimArgs -_080D9024: .4byte sub_80782D8 -_080D9028: .4byte DestroyAnimSprite - thumb_func_end unc_080B08A0 - - thumb_func_start sub_80D902C -sub_80D902C: @ 80D902C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080D9070 @ =gBattleAnimArgs - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080D9054 - ldr r0, _080D9074 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080D9054 - ldrh r0, [r4, 0x2] - negs r0, r0 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x6] - negs r0, r0 - strh r0, [r4, 0x6] -_080D9054: - ldr r4, _080D9070 @ =gBattleAnimArgs - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - bl StartSpriteAnim - movs r0, 0 - strh r0, [r4, 0xC] - adds r0, r5, 0 - bl sub_8079534 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D9070: .4byte gBattleAnimArgs -_080D9074: .4byte gAnimBankAttacker - thumb_func_end sub_80D902C - - thumb_func_start sub_80D9078 -sub_80D9078: @ 80D9078 - push {r4,lr} - adds r4, r0, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080D9094 - ldr r0, _080D90A0 @ =gBattleAnimArgs - ldrh r1, [r0, 0x2] - negs r1, r1 - strh r1, [r0, 0x2] - ldrh r1, [r0, 0x6] - negs r1, r1 - strh r1, [r0, 0x6] -_080D9094: - adds r0, r4, 0 - bl sub_80D902C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D90A0: .4byte gBattleAnimArgs - thumb_func_end sub_80D9078 - - thumb_func_start sub_80D90A4 -sub_80D90A4: @ 80D90A4 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080D90C4 @ =gBattleAnimArgs - ldrb r1, [r4, 0x8] - bl StartSpriteAnim - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080D90C8 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80787B0 - b _080D90D0 - .align 2, 0 -_080D90C4: .4byte gBattleAnimArgs -_080D90C8: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8078764 -_080D90D0: - ldr r0, _080D90E8 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - ldr r0, _080D90EC @ =sub_80782D8 - str r0, [r5, 0x1C] - ldr r1, _080D90F0 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D90E8: .4byte gBattleAnimArgs -_080D90EC: .4byte sub_80782D8 -_080D90F0: .4byte DestroyAnimSprite - thumb_func_end sub_80D90A4 - - thumb_func_start sub_80D90F4 -sub_80D90F4: @ 80D90F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - ldr r0, _080D9110 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - mov r9, r0 - cmp r1, 0 - bne _080D9118 - ldr r0, _080D9114 @ =gAnimBankAttacker - b _080D911A - .align 2, 0 -_080D9110: .4byte gBattleAnimArgs -_080D9114: .4byte gAnimBankAttacker -_080D9118: - ldr r0, _080D9260 @ =gAnimBankTarget -_080D911A: - ldrb r0, [r0] - mov r8, r0 - mov r4, r9 - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0 - bge _080D9138 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - strh r0, [r4, 0x4] -_080D9138: - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl StartSpriteAnim - mov r0, r8 - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - mov r0, r8 - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - mov r0, r8 - movs r1, 0x1 - bl sub_807A100 - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - lsls r1, 15 - lsrs r6, r1, 16 - mov r0, r8 - movs r1, 0 - bl sub_807A100 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080D9182 - adds r0, 0x3 -_080D9182: - lsls r4, r0, 14 - lsrs r4, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - lsls r1, r6, 16 - asrs r1, 16 - bl __modsi3 - lsls r0, 16 - lsrs r6, r0, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - asrs r4, 16 - adds r1, r4, 0 - bl __modsi3 - lsls r0, 16 - lsrs r4, r0, 16 - bl Random - movs r7, 0x1 - adds r1, r7, 0 - ands r1, r0 - cmp r1, 0 - beq _080D91C4 - lsls r0, r6, 16 - negs r0, r0 - lsrs r6, r0, 16 -_080D91C4: - bl Random - adds r1, r7, 0 - ands r1, r0 - cmp r1, 0 - beq _080D91D6 - lsls r0, r4, 16 - negs r0, r0 - lsrs r4, r0, 16 -_080D91D6: - ldr r0, _080D9264 @ =gBanksBySide - add r0, r8 - ldrb r1, [r0] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _080D91EC - lsls r0, r4, 16 - ldr r1, _080D9268 @ =0xfff00000 - adds r0, r1 - lsrs r4, r0, 16 -_080D91EC: - lsls r0, r6, 16 - asrs r0, 16 - ldrh r2, [r5, 0x20] - adds r0, r2 - strh r0, [r5, 0x20] - lsls r0, r4, 16 - asrs r0, 16 - ldrh r3, [r5, 0x22] - adds r0, r3 - strh r0, [r5, 0x22] - mov r1, r9 - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x2E] - ldr r0, _080D926C @ =gBattleAnimSpriteTemplate_83DB4A8 - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r3, 0x22 - ldrsh r2, [r5, r3] - adds r3, r5, 0 - adds r3, 0x43 - ldrb r3, [r3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3C] - cmp r0, 0x40 - beq _080D9250 - movs r0, 0x3C - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080D9270 @ =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - movs r2, 0x3C - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _080D9274 @ =SpriteCallbackDummy - str r1, [r0] -_080D9250: - ldr r0, _080D9278 @ =sub_80D927C - str r0, [r5, 0x1C] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D9260: .4byte gAnimBankTarget -_080D9264: .4byte gBanksBySide -_080D9268: .4byte 0xfff00000 -_080D926C: .4byte gBattleAnimSpriteTemplate_83DB4A8 -_080D9270: .4byte gSprites -_080D9274: .4byte SpriteCallbackDummy -_080D9278: .4byte sub_80D927C - thumb_func_end sub_80D90F4 - - thumb_func_start sub_80D927C -sub_80D927C: @ 80D927C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _080D92C4 - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0x40 - beq _080D92B8 - ldr r4, _080D92C0 @ =gSprites - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r0, 0x3C - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite -_080D92B8: - adds r0, r5, 0 - bl DestroyAnimSprite - b _080D92C8 - .align 2, 0 -_080D92C0: .4byte gSprites -_080D92C4: - subs r0, r1, 0x1 - strh r0, [r5, 0x2E] -_080D92C8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80D927C - - thumb_func_start sub_80D92D0 -sub_80D92D0: @ 80D92D0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8078764 - movs r0, 0x1E - strh r0, [r4, 0x2E] - ldr r0, _080D92F0 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D92F4 - ldrh r0, [r4, 0x20] - subs r0, 0x14 - strh r0, [r4, 0x32] - b _080D9306 - .align 2, 0 -_080D92F0: .4byte gBattleAnimArgs -_080D92F4: - ldrh r0, [r4, 0x20] - adds r0, 0x14 - strh r0, [r4, 0x32] - adds r2, r4, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_080D9306: - ldrh r0, [r4, 0x22] - subs r0, 0x14 - strh r0, [r4, 0x36] - ldr r0, _080D9320 @ =sub_8078B34 - str r0, [r4, 0x1C] - ldr r1, _080D9324 @ =sub_80D9328 - adds r0, r4, 0 - bl StoreSpriteCallbackInData - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D9320: .4byte sub_8078B34 -_080D9324: .4byte sub_80D9328 - thumb_func_end sub_80D92D0 - - thumb_func_start sub_80D9328 -sub_80D9328: @ 80D9328 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - adds r0, 0x1 - movs r6, 0 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _080D9368 - ldrh r2, [r5, 0x20] - ldrh r4, [r5, 0x24] - subs r0, r2, r4 - strh r0, [r5, 0x32] - ldrh r1, [r5, 0x22] - ldrh r3, [r5, 0x26] - subs r0, r1, r3 - strh r0, [r5, 0x36] - movs r0, 0x8 - strh r0, [r5, 0x2E] - adds r2, r4 - strh r2, [r5, 0x20] - adds r1, r3 - strh r1, [r5, 0x22] - strh r6, [r5, 0x26] - strh r6, [r5, 0x24] - ldr r0, _080D9370 @ =sub_8078B34 - str r0, [r5, 0x1C] - ldr r1, _080D9374 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData -_080D9368: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D9370: .4byte sub_8078B34 -_080D9374: .4byte DestroyAnimSprite - thumb_func_end sub_80D9328 - - thumb_func_start sub_80D9378 -sub_80D9378: @ 80D9378 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _080D93F4 @ =gAnimBankAttacker - ldrb r1, [r0] - movs r0, 0x2 - ldr r2, _080D93F8 @ =gAnimBankTarget - eors r0, r1 - ldrb r1, [r2] - cmp r0, r1 - bne _080D93A4 - ldrb r0, [r2] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080D93A4 - ldr r1, _080D93FC @ =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1] -_080D93A4: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_8078764 - ldr r0, _080D93F4 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080D93C2 - ldr r1, _080D93FC @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080D93C2: - ldr r4, _080D93FC @ =gBattleAnimArgs - ldrh r0, [r4, 0x6] - movs r5, 0 - strh r0, [r6, 0x2E] - ldrh r0, [r6, 0x20] - strh r0, [r6, 0x30] - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrh r0, [r6, 0x22] - strh r0, [r6, 0x34] - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x38] - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x3A] - strh r5, [r6, 0x3C] - ldr r0, _080D9400 @ =sub_80D9404 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D93F4: .4byte gAnimBankAttacker -_080D93F8: .4byte gAnimBankTarget -_080D93FC: .4byte gBattleAnimArgs -_080D9400: .4byte sub_80D9404 - thumb_func_end sub_80D9378 - - thumb_func_start sub_80D9404 -sub_80D9404: @ 80D9404 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078B5C - lsls r0, 24 - cmp r0, 0 - bne _080D9430 - ldrh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - ldrh r2, [r4, 0x3C] - adds r0, r2 - strh r0, [r4, 0x3C] - b _080D9436 -_080D9430: - adds r0, r4, 0 - bl DestroyAnimSprite -_080D9436: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D9404 - - thumb_func_start sub_80D943C -sub_80D943C: @ 80D943C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8078764 - ldr r5, _080D9468 @ =gBattleAnimArgs - ldrb r1, [r5, 0x4] - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldr r0, _080D946C @ =sub_80782D8 - str r0, [r4, 0x1C] - ldr r1, _080D9470 @ =sub_80D9474 - adds r0, r4, 0 - bl StoreSpriteCallbackInData - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D9468: .4byte gBattleAnimArgs -_080D946C: .4byte sub_80782D8 -_080D9470: .4byte sub_80D9474 - thumb_func_end sub_80D943C - - thumb_func_start sub_80D9474 -sub_80D9474: @ 80D9474 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl StartSpriteAffineAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x14 - strh r0, [r4, 0x2E] - ldr r0, _080D94A0 @ =sub_80782D8 - str r0, [r4, 0x1C] - ldr r1, _080D94A4 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D94A0: .4byte sub_80782D8 -_080D94A4: .4byte DestroyAnimSprite - thumb_func_end sub_80D9474 - - thumb_func_start sub_80D94A8 -sub_80D94A8: @ 80D94A8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8078764 - ldr r0, _080D94C4 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r0, _080D94C8 @ =sub_80D94CC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D94C4: .4byte gBattleAnimArgs -_080D94C8: .4byte sub_80D94CC - thumb_func_end sub_80D94A8 - - thumb_func_start sub_80D94CC -sub_80D94CC: @ 80D94CC - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - subs r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080D9510 - movs r0, 0x6 - strh r0, [r5, 0x2E] - ldr r4, _080D9518 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _080D951C @ =sub_8078B34 - str r0, [r5, 0x1C] - ldr r1, _080D9520 @ =sub_80D9524 - adds r0, r5, 0 - bl StoreSpriteCallbackInData -_080D9510: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D9518: .4byte gAnimBankTarget -_080D951C: .4byte sub_8078B34 -_080D9520: .4byte sub_80D9524 - thumb_func_end sub_80D94CC - - thumb_func_start sub_80D9524 -sub_80D9524: @ 80D9524 - push {lr} - movs r1, 0xF - strh r1, [r0, 0x2E] - ldr r1, _080D9538 @ =sub_80782D8 - str r1, [r0, 0x1C] - ldr r1, _080D953C @ =DestroyAnimSprite - bl StoreSpriteCallbackInData - pop {r0} - bx r0 - .align 2, 0 -_080D9538: .4byte sub_80782D8 -_080D953C: .4byte DestroyAnimSprite - thumb_func_end sub_80D9524 - - thumb_func_start sub_80D9540 -sub_80D9540: @ 80D9540 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080D956C - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8078764 - ldr r1, _080D9568 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080D95C8 - .align 2, 0 -_080D9568: .4byte gBattleAnimArgs -_080D956C: - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] - cmp r0, 0x64 - ble _080D95BA - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080D95BA: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x78 - ble _080D95C8 - adds r0, r4, 0 - bl DestroyAnimSprite -_080D95C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D9540 - - thumb_func_start sub_80D95D0 -sub_80D95D0: @ 80D95D0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080D95E4 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D95EC - ldr r4, _080D95E8 @ =gAnimBankAttacker - b _080D95EE - .align 2, 0 -_080D95E4: .4byte gBattleAnimArgs -_080D95E8: .4byte gAnimBankAttacker -_080D95EC: - ldr r4, _080D9634 @ =gAnimBankTarget -_080D95EE: - ldrb r0, [r4] - movs r1, 0 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080D9638 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r2, 0 - strh r0, [r5, 0x20] - ldrh r0, [r1, 0x4] - ldrh r3, [r5, 0x22] - adds r0, r3 - strh r0, [r5, 0x22] - strh r2, [r5, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x32] - strh r2, [r5, 0x34] - ldr r0, _080D963C @ =sub_80D9640 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D9634: .4byte gAnimBankTarget -_080D9638: .4byte gBattleAnimArgs -_080D963C: .4byte sub_80D9640 - thumb_func_end sub_80D95D0 - - thumb_func_start sub_80D9640 -sub_80D9640: @ 80D9640 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - cmp r2, 0 - beq _080D9652 - cmp r2, 0x1 - beq _080D9676 - b _080D96B0 -_080D9652: - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080D96B0 - movs r2, 0x32 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080D966E - adds r0, r1, 0 - bl DestroyAnimSprite - b _080D96B0 -_080D966E: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _080D96B0 -_080D9676: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080D969E - movs r0, 0 - strh r0, [r1, 0x30] - ldrh r0, [r1, 0x34] - adds r0, 0x1 - strh r0, [r1, 0x34] - ands r0, r2 - lsls r0, 16 - cmp r0, 0 - beq _080D969A - movs r0, 0x2 - b _080D969C -_080D969A: - ldr r0, _080D96B4 @ =0x0000fffe -_080D969C: - strh r0, [r1, 0x24] -_080D969E: - ldrh r0, [r1, 0x32] - subs r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - cmp r0, 0 - bne _080D96B0 - adds r0, r1, 0 - bl DestroyAnimSprite -_080D96B0: - pop {r0} - bx r0 - .align 2, 0 -_080D96B4: .4byte 0x0000fffe - thumb_func_end sub_80D9640 - - thumb_func_start sub_80D96B8 -sub_80D96B8: @ 80D96B8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080D96DC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080D96E4 - ldr r4, _080D96E0 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r6, 0x4] - adds r0, r2 - b _080D96F6 - .align 2, 0 -_080D96DC: .4byte gBattleAnimArgs -_080D96E0: .4byte gAnimBankAttacker -_080D96E4: - ldr r4, _080D9740 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 -_080D96F6: - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - strh r0, [r5, 0x22] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - ldr r3, _080D9744 @ =gBattleAnimArgs - movs r4, 0x2 - ldrsh r0, [r3, r4] - lsls r0, 4 - adds r1, r0 - ldr r4, _080D9748 @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _080D974C @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - movs r1, 0 - movs r0, 0 - strh r0, [r5, 0x2E] - movs r2, 0x2 - ldrsh r0, [r3, r2] - cmp r0, 0x1 - beq _080D9764 - cmp r0, 0x1 - bgt _080D9750 - cmp r0, 0 - beq _080D975A - b _080D978A - .align 2, 0 -_080D9740: .4byte gAnimBankTarget -_080D9744: .4byte gBattleAnimArgs -_080D9748: .4byte 0x000003ff -_080D974C: .4byte 0xfffffc00 -_080D9750: - cmp r0, 0x2 - beq _080D9774 - cmp r0, 0x3 - beq _080D9784 - b _080D978A -_080D975A: - ldr r0, _080D9760 @ =0x0000fffd - b _080D9784 - .align 2, 0 -_080D9760: .4byte 0x0000fffd -_080D9764: - movs r0, 0x3 - strh r0, [r5, 0x3A] - ldr r0, _080D9770 @ =0x0000fffd - strh r0, [r5, 0x3C] - b _080D9792 - .align 2, 0 -_080D9770: .4byte 0x0000fffd -_080D9774: - ldr r0, _080D9780 @ =0x0000fffd - strh r0, [r5, 0x3A] - movs r0, 0x3 - strh r0, [r5, 0x3C] - b _080D9792 - .align 2, 0 -_080D9780: .4byte 0x0000fffd -_080D9784: - strh r0, [r5, 0x3A] - strh r0, [r5, 0x3C] - b _080D9792 -_080D978A: - adds r0, r5, 0 - bl DestroyAnimSprite - b _080D9796 -_080D9792: - ldr r0, _080D979C @ =sub_80D97A0 - str r0, [r5, 0x1C] -_080D9796: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D979C: .4byte sub_80D97A0 - thumb_func_end sub_80D96B8 - - thumb_func_start sub_80D97A0 -sub_80D97A0: @ 80D97A0 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x3A] - ldrh r2, [r1, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x3C] - ldrh r2, [r1, 0x22] - adds r0, r2 - strh r0, [r1, 0x22] - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _080D97C8 - adds r0, r1, 0 - bl DestroyAnimSprite -_080D97C8: - pop {r0} - bx r0 - thumb_func_end sub_80D97A0 - - thumb_func_start sub_80D97CC -sub_80D97CC: @ 80D97CC - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080D9818 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D9828 - ldr r4, _080D981C @ =gBankAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r0, _080D9820 @ =gAnimBankAttacker - ldrb r0, [r0] - bl sub_8079ED4 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - ldr r0, _080D9824 @ =gAnimBankTarget - b _080D9844 - .align 2, 0 -_080D9818: .4byte gBattleAnimArgs -_080D981C: .4byte gBankAttacker -_080D9820: .4byte gAnimBankAttacker -_080D9824: .4byte gAnimBankTarget -_080D9828: - ldr r0, _080D9860 @ =gAnimBankTarget - ldrb r0, [r0] - bl sub_8079ED4 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - ldr r0, _080D9864 @ =gAnimBankAttacker -_080D9844: - ldrb r0, [r0] - strh r0, [r5, 0x3C] - movs r0, 0 - strh r0, [r5, 0x2E] - movs r0, 0xC - strh r0, [r5, 0x30] - movs r0, 0x8 - strh r0, [r5, 0x32] - ldr r0, _080D9868 @ =sub_80D986C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D9860: .4byte gAnimBankTarget -_080D9864: .4byte gAnimBankAttacker -_080D9868: .4byte sub_80D986C - thumb_func_end sub_80D97CC - - thumb_func_start sub_80D986C -sub_80D986C: @ 80D986C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB4 - bne _080D98C6 - ldr r1, _080D98CC @ =REG_BLDCNT - movs r0, 0 - strh r0, [r1] - movs r0, 0x10 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080D98D0 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData - ldr r0, _080D98D4 @ =sub_8078BB8 - str r0, [r4, 0x1C] -_080D98C6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D98CC: .4byte REG_BLDCNT -_080D98D0: .4byte move_anim_8074EE0 -_080D98D4: .4byte sub_8078BB8 - thumb_func_end sub_80D986C - - thumb_func_start sub_80D98D8 -sub_80D98D8: @ 80D98D8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080D9924 @ =gBattleAnimArgs - ldrh r0, [r4] - strh r0, [r5, 0x20] - movs r2, 0x78 - strh r2, [r5, 0x22] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x2E] - adds r0, r5, 0 - adds r0, 0x36 - adds r1, r5, 0 - adds r1, 0x38 - lsls r2, 8 - bl sub_8079BF4 - ldrh r0, [r4, 0x2] - strh r0, [r5, 0x3A] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - movs r3, 0x4 - ldrsh r0, [r4, r3] - lsls r0, 2 - adds r1, r0 - ldr r3, _080D9928 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080D992C @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldr r0, _080D9930 @ =sub_80D9934 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D9924: .4byte gBattleAnimArgs -_080D9928: .4byte 0x000003ff -_080D992C: .4byte 0xfffffc00 -_080D9930: .4byte sub_80D9934 - thumb_func_end sub_80D98D8 - - thumb_func_start sub_80D9934 -sub_80D9934: @ 80D9934 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - movs r1, 0x2E - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _080D9986 - movs r2, 0x36 - ldrsh r0, [r7, r2] - movs r2, 0x38 - ldrsh r1, [r7, r2] - bl sub_8079BFC - adds r4, r0, 0 - movs r1, 0x3A - ldrsh r0, [r7, r1] - subs r4, r0 - adds r0, r7, 0 - adds r0, 0x36 - adds r1, r7, 0 - adds r1, 0x38 - adds r2, r4, 0 - bl sub_8079BF4 - asrs r4, 8 - strh r4, [r7, 0x22] - lsls r4, 16 - asrs r4, 16 - movs r0, 0x8 - negs r0, r0 - cmp r4, r0 - bge _080D997E - adds r0, r7, 0 - bl DestroyAnimSprite - b _080D99DC -_080D997E: - ldrh r0, [r7, 0x2E] - subs r0, 0x1 - strh r0, [r7, 0x2E] - b _080D99DC -_080D9986: - ldr r4, _080D99E8 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r2, _080D99EC @ =gAnimBankTarget - mov r8, r2 - ldrb r0, [r2] - movs r1, 0x2 - bl GetBankPosition - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - subs r4, r6 - strh r4, [r7, 0x2E] - lsrs r0, 24 - subs r0, r5 - strh r0, [r7, 0x30] - ldrh r0, [r7, 0x20] - lsls r0, 4 - strh r0, [r7, 0x32] - ldrh r0, [r7, 0x22] - lsls r0, 4 - strh r0, [r7, 0x34] - ldr r0, _080D99F0 @ =sub_80D99F4 - str r0, [r7, 0x1C] -_080D99DC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D99E8: .4byte gAnimBankAttacker -_080D99EC: .4byte gAnimBankTarget -_080D99F0: .4byte sub_80D99F4 - thumb_func_end sub_80D9934 - - thumb_func_start sub_80D99F4 -sub_80D99F4: @ 80D99F4 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r1, [r2, 0x30] - ldrh r3, [r2, 0x34] - adds r1, r3 - strh r1, [r2, 0x34] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r3, r1, 20 - strh r3, [r2, 0x22] - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bhi _080D9A2E - adds r1, r3, 0 - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _080D9A2E - cmp r1, 0x78 - ble _080D9A34 -_080D9A2E: - adds r0, r2, 0 - bl DestroyAnimSprite -_080D9A34: - pop {r0} - bx r0 - thumb_func_end sub_80D99F4 - - thumb_func_start sub_80D9A38 -sub_80D9A38: @ 80D9A38 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080D9A6C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D9A7C - ldr r4, _080D9A70 @ =gBankAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r0, _080D9A74 @ =gAnimBankTarget - ldrb r4, [r0] - ldr r0, _080D9A78 @ =gAnimBankAttacker - b _080D9A82 - .align 2, 0 -_080D9A6C: .4byte gBattleAnimArgs -_080D9A70: .4byte gBankAttacker -_080D9A74: .4byte gAnimBankTarget -_080D9A78: .4byte gAnimBankAttacker -_080D9A7C: - ldr r0, _080D9AB4 @ =gAnimBankAttacker - ldrb r4, [r0] - ldr r0, _080D9AB8 @ =gAnimBankTarget -_080D9A82: - ldrb r0, [r0] - bl sub_8079ED4 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080D9ABC - ldrb r2, [r5, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x8 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x47 - b _080D9AD6 - .align 2, 0 -_080D9AB4: .4byte gAnimBankAttacker -_080D9AB8: .4byte gAnimBankTarget -_080D9ABC: - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080D9ADC - ldrb r2, [r5, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x18 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x57 -_080D9AD6: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] -_080D9ADC: - movs r0, 0x10 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - adds r0, r4, 0 - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080D9B1C @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData - ldr r0, _080D9B20 @ =sub_8078BB8 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D9B1C: .4byte DestroyAnimSprite -_080D9B20: .4byte sub_8078BB8 - thumb_func_end sub_80D9A38 - - thumb_func_start sub_80D9B24 -sub_80D9B24: @ 80D9B24 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080D9B3A - adds r0, r4, 0 - bl DestroyAnimSprite -_080D9B3A: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D9B24 - - thumb_func_start sub_80D9B48 -sub_80D9B48: @ 80D9B48 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080D9BC4 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080D9BC8 @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - ldrh r0, [r1] - strh r0, [r5, 0x32] - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x34] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x36] - ldr r0, _080D9BCC @ =gAnimMoveTurn - ldrb r6, [r0] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080D9B92 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080D9B92: - movs r0, 0x1 - ands r6, r0 - cmp r6, 0 - beq _080D9BA6 - ldrh r0, [r5, 0x32] - negs r0, r0 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] -_080D9BA6: - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r5, 0x32] - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x34] - strh r0, [r5, 0x26] - ldr r0, _080D9BD0 @ =sub_80D9B24 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D9BC4: .4byte gAnimBankTarget -_080D9BC8: .4byte gBattleAnimArgs -_080D9BCC: .4byte gAnimMoveTurn -_080D9BD0: .4byte sub_80D9B24 - thumb_func_end sub_80D9B48 - - thumb_func_start sub_80D9BD4 -sub_80D9BD4: @ 80D9BD4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080D9BEC @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D9BF0 - adds r0, r4, 0 - movs r1, 0 - bl sub_80787B0 - b _080D9BF8 - .align 2, 0 -_080D9BEC: .4byte gBattleAnimArgs -_080D9BF0: - adds r0, r4, 0 - movs r1, 0 - bl sub_8078764 -_080D9BF8: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080D9C0C - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - b _080D9C22 -_080D9C0C: - ldr r0, _080D9C34 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080D9C22 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080D9C22: - ldr r0, _080D9C38 @ =sub_8078600 - str r0, [r4, 0x1C] - ldr r1, _080D9C3C @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D9C34: .4byte gAnimBankAttacker -_080D9C38: .4byte sub_8078600 -_080D9C3C: .4byte DestroyAnimSprite - thumb_func_end sub_80D9BD4 - - thumb_func_start sub_80D9C40 -sub_80D9C40: @ 80D9C40 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080D9C7A - ldrh r0, [r4, 0x30] - adds r0, 0x28 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x2 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _080D9C7A - adds r0, r4, 0 - bl DestroyAnimSprite -_080D9C7A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D9C40 - - thumb_func_start sub_80D9C80 -sub_80D9C80: @ 80D9C80 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080D9CB0 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080D9CB8 - cmp r0, 0x1 - bgt _080D9CD2 - cmp r0, 0 - bne _080D9CD2 - movs r0, 0 - bl sub_80789D4 - ldr r0, _080D9CB4 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x18] - b _080D9CCA - .align 2, 0 -_080D9CB0: .4byte gTasks -_080D9CB4: .4byte gBattleAnimArgs -_080D9CB8: - ldrh r0, [r4, 0x18] - subs r0, 0x1 - strh r0, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080D9CDE -_080D9CCA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080D9CDE -_080D9CD2: - movs r2, 0xA0 - lsls r2, 3 - adds r0, r2, 0 - ldrh r1, [r4, 0x1A] - adds r0, r1 - strh r0, [r4, 0x1A] -_080D9CDE: - movs r2, 0xB0 - lsls r2, 4 - adds r0, r2, 0 - ldrh r1, [r4, 0x1C] - adds r0, r1 - strh r0, [r4, 0x1C] - ldr r0, _080D9D0C @ =gAnimBankTarget - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080D9D14 - ldr r1, _080D9D10 @ =gBattle_BG3_X - ldrh r0, [r4, 0x1A] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - adds r7, r1, 0 - b _080D9D24 - .align 2, 0 -_080D9D0C: .4byte gAnimBankTarget -_080D9D10: .4byte gBattle_BG3_X -_080D9D14: - ldr r2, _080D9D64 @ =gBattle_BG3_X - ldrh r1, [r4, 0x1A] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2] - subs r0, r1 - strh r0, [r2] - adds r7, r2, 0 -_080D9D24: - ldr r3, _080D9D68 @ =gBattle_BG3_Y - ldrh r2, [r4, 0x1C] - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - movs r0, 0xFF - ldrb r1, [r4, 0x1A] - movs r5, 0 - strh r1, [r4, 0x1A] - ands r0, r2 - strh r0, [r4, 0x1C] - ldr r0, _080D9D6C @ =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080D9D5C - strh r5, [r7] - strh r5, [r3] - movs r0, 0x1 - bl sub_80789D4 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080D9D5C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D9D64: .4byte gBattle_BG3_X -_080D9D68: .4byte gBattle_BG3_Y -_080D9D6C: .4byte gBattleAnimArgs - thumb_func_end sub_80D9C80 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/flying.s b/asm/flying.s index ce3fb050b..a9872c903 100644 --- a/asm/flying.s +++ b/asm/flying.s @@ -174,7 +174,7 @@ sub_80DA16C: @ 80DA16C push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _080DA1D8 @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide @@ -211,7 +211,7 @@ _080DA18C: adds r0, r4 strh r0, [r6, 0x36] adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldr r0, _080DA1E4 @ =sub_80785E4 str r0, [r6, 0x1C] ldr r1, _080DA1E8 @ =sub_80DA1EC @@ -232,7 +232,7 @@ _080DA1E8: .4byte sub_80DA1EC sub_80DA1EC: @ 80DA1EC push {r4,lr} adds r4, r0, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _080DA200 @@ -331,7 +331,7 @@ _080DA2B0: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_807A3FC + bl SetAverageBattlerPositions _080DA2C2: ldr r4, _080DA2F4 @ =gBattleAnimArgs ldrh r0, [r4, 0x4] @@ -342,7 +342,7 @@ _080DA2C2: ldrh r3, [r5, 0x36] adds r0, r3 strh r0, [r5, 0x36] - ldr r0, _080DA2F8 @ =sub_8078B34 + ldr r0, _080DA2F8 @ =StartTranslateAnimSpriteByDeltas str r0, [r5, 0x1C] ldr r1, _080DA2FC @ =DestroyAnimSprite adds r0, r5, 0 @@ -356,7 +356,7 @@ _080DA2C2: .align 2, 0 _080DA2F0: .4byte gAnimBankTarget _080DA2F4: .4byte gBattleAnimArgs -_080DA2F8: .4byte sub_8078B34 +_080DA2F8: .4byte StartTranslateAnimSpriteByDeltas _080DA2FC: .4byte DestroyAnimSprite thumb_func_end sub_80DA208 @@ -365,7 +365,7 @@ sub_80DA300: @ 80DA300 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r1, _080DA33C @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] @@ -483,7 +483,7 @@ _080DA3C2: lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldr r0, _080DA40C @ =sub_80DA410 str r0, [r5, 0x1C] pop {r4,r5} @@ -503,7 +503,7 @@ sub_80DA410: @ 80DA410 movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas ldrh r1, [r4, 0x34] lsrs r0, r1, 8 cmp r0, 0xC8 @@ -1743,7 +1743,7 @@ sub_80DAD30: @ 80DAD30 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] - ldr r0, _080DAD80 @ =sub_807941C + ldr r0, _080DAD80 @ =TranslateAnimSpriteToTargetMonLocation str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -1751,7 +1751,7 @@ sub_80DAD30: @ 80DAD30 .align 2, 0 _080DAD78: .4byte gAnimBankTarget _080DAD7C: .4byte gAnimBankAttacker -_080DAD80: .4byte sub_807941C +_080DAD80: .4byte TranslateAnimSpriteToTargetMonLocation thumb_func_end sub_80DAD30 thumb_func_start sub_80DAD84 @@ -2086,7 +2086,7 @@ sub_80DB000: @ 80DB000 bne _080DB01C adds r0, r5, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos b _080DB024 .align 2, 0 _080DB018: .4byte gBattleAnimArgs @@ -2291,7 +2291,7 @@ sub_80DB194: @ 80DB194 _080DB1A6: adds r0, r4, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos movs r0, 0 bl GetAnimBankSpriteId ldr r2, _080DB1D4 @ =gSprites @@ -2414,7 +2414,7 @@ sub_80DB288: @ 80DB288 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r1, _080DB2C4 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] diff --git a/asm/ghost.s b/asm/ghost.s index 2934f6dbd..df20a7b20 100644 --- a/asm/ghost.s +++ b/asm/ghost.s @@ -12,7 +12,7 @@ sub_80DDB6C: @ 80DDB6C push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _080DDBC8 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] @@ -63,7 +63,7 @@ sub_80DDBD8: @ 80DDBD8 adds r4, r0, 0 bl sub_80DDCC8 adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _080DDBF8 @@ -123,7 +123,7 @@ sub_80DDC4C: @ 80DDC4C movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas movs r1, 0x38 ldrsh r0, [r4, r1] movs r1, 0xA @@ -2539,7 +2539,7 @@ sub_80DEF3C: @ 80DEF3C push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _080DEF68 @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide @@ -3257,7 +3257,7 @@ sub_80DF49C: @ 80DF49C movs r2, 0x4 orrs r1, r2 strb r1, [r3] - ldr r2, _080DF4E0 @ =gObjectBankIDs + ldr r2, _080DF4E0 @ =gBankSpriteIds ldr r1, _080DF4E4 @ =gAnimBankAttacker ldrb r1, [r1] adds r1, r2 @@ -3286,7 +3286,7 @@ sub_80DF49C: @ 80DF49C strh r1, [r0, 0x22] bx lr .align 2, 0 -_080DF4E0: .4byte gObjectBankIDs +_080DF4E0: .4byte gBankSpriteIds _080DF4E4: .4byte gAnimBankAttacker _080DF4E8: .4byte gBattleAnimArgs _080DF4EC: .4byte sub_80DF4F4 diff --git a/asm/ground.s b/asm/ground.s index 3d4b69a9f..607065061 100644 --- a/asm/ground.s +++ b/asm/ground.s @@ -59,7 +59,7 @@ _080E0F80: .4byte sub_80E0F84 sub_80E0F84: @ 80E0F84 push {r4,r5,lr} adds r5, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080E0FD8 @@ -108,7 +108,7 @@ _080E0FE4: .4byte sub_80E0FE8 sub_80E0FE8: @ 80E0FE8 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080E0FFC @@ -157,7 +157,7 @@ _080E1024: ldrh r4, [r4, 0x6] adds r0, r4 strh r0, [r6, 0x36] - ldr r0, _080E1070 @ =sub_8078B34 + ldr r0, _080E1070 @ =StartTranslateAnimSpriteByDeltas str r0, [r6, 0x1C] ldr r1, _080E1074 @ =DestroyAnimSprite adds r0, r6, 0 @@ -169,7 +169,7 @@ _080E1024: _080E1064: .4byte gAnimBankAttacker _080E1068: .4byte gBattleAnimArgs _080E106C: .4byte gAnimBankTarget -_080E1070: .4byte sub_8078B34 +_080E1070: .4byte StartTranslateAnimSpriteByDeltas _080E1074: .4byte DestroyAnimSprite thumb_func_end sub_80E1004 @@ -180,7 +180,7 @@ sub_80E1078: @ 80E1078 push {r7} adds r6, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r4, _080E10F8 @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0x2 @@ -224,7 +224,7 @@ _080E10D0: strh r0, [r6, 0x32] adds r0, r7, r4 strh r0, [r6, 0x36] - ldr r0, _080E1100 @ =sub_8078B34 + ldr r0, _080E1100 @ =StartTranslateAnimSpriteByDeltas str r0, [r6, 0x1C] ldr r1, _080E1104 @ =move_anim_8074EE0 adds r0, r6, 0 @@ -237,7 +237,7 @@ _080E10D0: .align 2, 0 _080E10F8: .4byte gAnimBankTarget _080E10FC: .4byte gBattleAnimArgs -_080E1100: .4byte sub_8078B34 +_080E1100: .4byte StartTranslateAnimSpriteByDeltas _080E1104: .4byte move_anim_8074EE0 thumb_func_end sub_80E1078 @@ -1120,7 +1120,7 @@ _080E17AC: .4byte sub_80E17B0 sub_80E17B0: @ 80E17B0 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080E17C4 @@ -1270,7 +1270,7 @@ _080E18CE: adds r1, r4, 0 adds r1, 0x8 adds r1, r0 - ldr r0, _080E1904 @ =gObjectBankIDs + ldr r0, _080E1904 @ =gBankSpriteIds adds r0, r5, r0 ldrb r0, [r0] strh r0, [r1] @@ -1285,7 +1285,7 @@ _080E18F8: bls _080E18CE b _080E1924 .align 2, 0 -_080E1904: .4byte gObjectBankIDs +_080E1904: .4byte gBankSpriteIds _080E1908: ldrb r0, [r6] bl GetAnimBankSpriteId @@ -325,7 +325,7 @@ sub_80D792C: @ 80D792C push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _080D7960 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0x2 @@ -371,7 +371,7 @@ _080D7976: ldr r1, _080D79AC @ =DestroyAnimSprite adds r0, r4, 0 bl StoreSpriteCallbackInData - ldr r0, _080D79B0 @ =sub_8078B34 + ldr r0, _080D79B0 @ =StartTranslateAnimSpriteByDeltas str r0, [r4, 0x1C] pop {r4} pop {r0} @@ -380,7 +380,7 @@ _080D7976: _080D79A4: .4byte gBattleAnimArgs _080D79A8: .4byte gAnimBankTarget _080D79AC: .4byte DestroyAnimSprite -_080D79B0: .4byte sub_8078B34 +_080D79B0: .4byte StartTranslateAnimSpriteByDeltas thumb_func_end sub_80D792C thumb_func_start sub_80D79B4 @@ -406,7 +406,7 @@ _080D79D0: adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_807A3FC + bl SetAverageBattlerPositions ldr r0, _080D7A1C @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide @@ -480,7 +480,7 @@ sub_80D7A64: @ 80D7A64 sub sp, 0x10 adds r5, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r6, _080D7AAC @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] @@ -519,7 +519,7 @@ _080D7AB4: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_807A3FC + bl SetAverageBattlerPositions _080D7AC6: ldr r0, _080D7AE4 @ =gAnimBankAttacker ldrb r0, [r0] @@ -795,7 +795,7 @@ sub_80D7CD4: @ 80D7CD4 sub sp, 0x10 adds r5, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r1, _080D7D18 @ =gBattleAnimArgs ldrh r0, [r1, 0x8] strh r0, [r5, 0x2E] @@ -832,7 +832,7 @@ _080D7D20: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_807A3FC + bl SetAverageBattlerPositions _080D7D32: ldr r0, _080D7D54 @ =gAnimBankAttacker ldrb r0, [r0] @@ -1036,7 +1036,7 @@ _080D7EAC: adds r3, r4, 0 adds r3, 0x22 movs r1, 0 - bl sub_807A3FC + bl SetAverageBattlerPositions ldr r0, _080D7EF0 @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide @@ -1094,7 +1094,7 @@ sub_80D7F10: @ 80D7F10 bne _080D7F34 adds r0, r5, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos b _080D7F72 .align 2, 0 _080D7F30: .4byte gBattleAnimArgs @@ -1106,7 +1106,7 @@ _080D7F34: adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_807A3FC + bl SetAverageBattlerPositions ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -1152,7 +1152,7 @@ _080D7F92: adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_807A3FC + bl SetAverageBattlerPositions ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -1221,7 +1221,7 @@ _080D800C: adds r0, r1 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas movs r0, 0x40 strh r0, [r5, 0x38] ldr r1, _080D8044 @ =sub_80D8048 @@ -1241,7 +1241,7 @@ _080D8044: .4byte sub_80D8048 sub_80D8048: @ 80D8048 push {r4,lr} adds r4, r0, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 bne _080D80D2 @@ -1696,14 +1696,14 @@ sub_80D83E0: @ 80D83E0 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] - ldr r0, _080D8410 @ =sub_807941C + ldr r0, _080D8410 @ =TranslateAnimSpriteToTargetMonLocation str r0, [r4, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080D840C: .4byte gAnimBankAttacker -_080D8410: .4byte sub_807941C +_080D8410: .4byte TranslateAnimSpriteToTargetMonLocation thumb_func_end sub_80D83E0 thumb_func_start sub_80D8414 @@ -2227,7 +2227,7 @@ _080D8824: strb r0, [r1] _080D8858: adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldr r0, _080D8870 @ =sub_80D8874 str r0, [r5, 0x1C] pop {r3} @@ -2263,7 +2263,7 @@ _080D8894: b _080D8AD0 _080D8896: adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas ldr r1, _080D88C0 @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] @@ -2361,13 +2361,13 @@ _080D893A: ands r0, r1 strh r0, [r4, 0x38] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas b _080D8AD0 .align 2, 0 _080D8964: .4byte gSineTable _080D8968: adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas ldr r1, _080D89C8 @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] @@ -2519,7 +2519,7 @@ _080D8A7A: _080D8A90: .4byte 0x0000fff0 _080D8A94: adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _080D8AD0 @@ -3026,7 +3026,7 @@ _080D8E6A: bl StartSpriteAffineAnim adds r0, r5, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r6, _080D8ED0 @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] @@ -3078,7 +3078,7 @@ _080D8EDC: .4byte sub_80D8EE0 sub_80D8EE0: @ 80D8EE0 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080D8F02 diff --git a/asm/normal.s b/asm/normal.s index fffbc3870..c92b4563c 100644 --- a/asm/normal.s +++ b/asm/normal.s @@ -1214,7 +1214,7 @@ _080E25A0: bcs _080E25F4 ldr r2, _080E2604 @ =gSprites mov r12, r2 - ldr r6, _080E2608 @ =gObjectBankIDs + ldr r6, _080E2608 @ =gBankSpriteIds movs r7, 0x3 negs r7, r7 _080E25D2: @@ -1245,14 +1245,14 @@ _080E25FA: .align 2, 0 _080E2600: .4byte gNoOfAllBanks _080E2604: .4byte gSprites -_080E2608: .4byte gObjectBankIDs +_080E2608: .4byte gBankSpriteIds thumb_func_end sub_80E255C thumb_func_start sub_80E260C sub_80E260C: @ 80E260C push {r4-r6,lr} ldr r6, _080E2680 @ =gSprites - ldr r4, _080E2684 @ =gObjectBankIDs + ldr r4, _080E2684 @ =gBankSpriteIds ldr r5, _080E2688 @ =gAnimBankAttacker ldrb r0, [r5] adds r0, r4 @@ -1309,7 +1309,7 @@ sub_80E260C: @ 80E260C b _080E26B0 .align 2, 0 _080E2680: .4byte gSprites -_080E2684: .4byte gObjectBankIDs +_080E2684: .4byte gBankSpriteIds _080E2688: .4byte gAnimBankAttacker _080E268C: .4byte gAnimBankTarget _080E2690: .4byte gBattleAnimArgs @@ -1471,7 +1471,7 @@ sub_80E27A0: @ 80E27A0 bne _080E27C4 adds r0, r5, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos b _080E27CC .align 2, 0 _080E27C0: .4byte gBattleAnimArgs @@ -1506,7 +1506,7 @@ sub_80E27E8: @ 80E27E8 bne _080E280C adds r0, r5, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos b _080E2814 .align 2, 0 _080E2808: .4byte gBattleAnimArgs @@ -1586,7 +1586,7 @@ _080E288C: bne _080E28AC adds r0, r4, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos b _080E28B4 .align 2, 0 _080E28A8: .4byte gBattleAnimArgs @@ -1694,7 +1694,7 @@ sub_80E2978: @ 80E2978 bne _080E2994 adds r0, r4, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos b _080E299C .align 2, 0 _080E2990: .4byte gBattleAnimArgs @@ -1733,7 +1733,7 @@ sub_80E29C0: @ 80E29C0 bne _080E29E4 adds r0, r5, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos b _080E29EC .align 2, 0 _080E29E0: .4byte gBattleAnimArgs @@ -2532,7 +2532,7 @@ _080E2FDC: cmp r0, 0x1 bne _080E3028 ldr r3, _080E3060 @ =gSprites - ldr r1, _080E3064 @ =gObjectBankIDs + ldr r1, _080E3064 @ =gBankSpriteIds ldrb r0, [r5] eors r0, r6 adds r0, r1 @@ -2580,7 +2580,7 @@ _080E3054: .4byte 0x00000c08 _080E3058: .4byte REG_BG1CNT _080E305C: .4byte gAnimBankAttacker _080E3060: .4byte gSprites -_080E3064: .4byte gObjectBankIDs +_080E3064: .4byte gBankSpriteIds _080E3068: .4byte gSharedMem + 0x19348 _080E306C: ldr r4, _080E308C @ =gAnimBankAttacker @@ -2809,7 +2809,7 @@ _080E3208: ldrsh r0, [r4, r3] cmp r0, 0x1 bne _080E3288 - ldr r2, _080E32D8 @ =gObjectBankIDs + ldr r2, _080E32D8 @ =gBankSpriteIds ldr r0, _080E32DC @ =gAnimBankAttacker ldrb r1, [r0] movs r0, 0x2 @@ -2862,7 +2862,7 @@ _080E32C8: .4byte REG_BLDCNT _080E32CC: .4byte gSprites _080E32D0: .4byte 0x040000d4 _080E32D4: .4byte 0x85000200 -_080E32D8: .4byte gObjectBankIDs +_080E32D8: .4byte gBankSpriteIds _080E32DC: .4byte gAnimBankAttacker thumb_func_end sub_80E3194 @@ -3069,7 +3069,7 @@ _080E345E: cmp r0, 0x1 bne _080E34A4 ldr r1, _080E34D8 @ =gSprites - ldr r0, _080E34DC @ =gObjectBankIDs + ldr r0, _080E34DC @ =gBankSpriteIds add r0, r8 ldrb r0, [r0] lsls r2, r0, 4 @@ -3115,7 +3115,7 @@ _080E34CC: .4byte REG_BLDCNT _080E34D0: .4byte 0x00003f42 _080E34D4: .4byte REG_BG1CNT _080E34D8: .4byte gSprites -_080E34DC: .4byte gObjectBankIDs +_080E34DC: .4byte gBankSpriteIds _080E34E0: .4byte gSharedMem + 0x19348 _080E34E4: adds r0, r5, 0 @@ -3149,7 +3149,7 @@ _080E3516: lsls r0, 16 lsrs r4, r0, 16 _080E3522: - ldr r6, _080E3570 @ =gObjectBankIDs + ldr r6, _080E3570 @ =gBankSpriteIds adds r0, r5, r6 ldrb r1, [r0] adds r0, r5, 0 @@ -3184,7 +3184,7 @@ _080E3550: .align 2, 0 _080E3568: .4byte gBattlePartyID _080E356C: .4byte gPlayerParty -_080E3570: .4byte gObjectBankIDs +_080E3570: .4byte gBankSpriteIds _080E3574: .4byte gBattleStatMask1_Tilemap _080E3578: ldr r0, _080E35B0 @ =gBattleStatMask2_Tilemap @@ -3344,7 +3344,7 @@ _080E3692: mov r3, sp ldrh r3, [r3, 0x20] strh r3, [r1, 0x14] - ldr r0, _080E36D8 @ =gObjectBankIDs + ldr r0, _080E36D8 @ =gBankSpriteIds add r0, r8 ldrb r0, [r0] strh r0, [r1, 0x16] @@ -3364,7 +3364,7 @@ _080E3692: bl PlaySE12WithPanning b _080E36F4 .align 2, 0 -_080E36D8: .4byte gObjectBankIDs +_080E36D8: .4byte gBankSpriteIds _080E36DC: .4byte sub_80E3704 _080E36E0: movs r0, 0x40 @@ -4040,7 +4040,7 @@ _080E3BE6: lsls r0, 24 cmp r0, 0 beq _080E3C24 - ldr r0, _080E3C44 @ =gObjectBankIDs + ldr r0, _080E3C44 @ =gBankSpriteIds adds r0, r4, r0 ldrb r0, [r0] lsls r2, r0, 4 @@ -4074,7 +4074,7 @@ _080E3C24: .align 2, 0 _080E3C3C: .4byte gSprites _080E3C40: .4byte gAnimBankAttacker -_080E3C44: .4byte gObjectBankIDs +_080E3C44: .4byte gBankSpriteIds _080E3C48: .4byte gBattleAnimArgs thumb_func_end sub_80E3BDC @@ -4236,7 +4236,7 @@ _080E3D8A: lsls r0, 16 lsrs r4, r0, 16 _080E3D96: - ldr r5, _080E3E50 @ =gObjectBankIDs + ldr r5, _080E3E50 @ =gBankSpriteIds adds r0, r7, r5 ldrb r1, [r0] adds r0, r7, 0 @@ -4322,7 +4322,7 @@ _080E3DE6: .align 2, 0 _080E3E48: .4byte gBattlePartyID _080E3E4C: .4byte gPlayerParty -_080E3E50: .4byte gObjectBankIDs +_080E3E50: .4byte gBankSpriteIds _080E3E54: .4byte gBattle_BG1_X _080E3E58: .4byte gBattle_BG1_Y _080E3E5C: .4byte gTasks diff --git a/asm/unk_text_8095904.s b/asm/unk_text_8095904.s deleted file mode 100644 index 00c81faca..000000000 --- a/asm/unk_text_8095904.s +++ /dev/null @@ -1,256 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8095904 -sub_8095904: @ 8095904 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - str r0, [sp] - adds r7, r1, 0 - adds r4, r2, 0 - ldr r0, [sp, 0x3C] - lsls r4, 24 - lsrs r4, 24 - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x4] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - ldr r0, [sp] - bl StringLength - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r4, 0 - bne _08095988 - movs r5, 0 - cmp r5, r8 - bcs _08095A2E -_0809593E: - ldr r1, [sp] - adds r0, r1, r5 - ldrb r2, [r0] - ldr r0, _08095980 @ =0x0000fff0 - ands r0, r2 - lsls r0, 6 - movs r1, 0xF - ands r2, r1 - lsls r2, 5 - adds r0, r2 - ldr r1, _08095984 @ =gFont3LatinGlyphs - adds r4, r0, r1 - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x10 - bl CpuSet - movs r2, 0x80 - lsls r2, 2 - adds r0, r4, r2 - ldr r3, [sp, 0x4] - adds r1, r7, r3 - movs r2, 0x10 - bl CpuSet - adds r7, 0x20 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _0809593E - b _08095A2E - .align 2, 0 -_08095980: .4byte 0x0000fff0 -_08095984: .4byte gFont3LatinGlyphs -_08095988: - movs r0, 0 - mov r9, r0 - ldr r1, [sp, 0x8] - lsls r0, r1, 28 - lsrs r0, 24 - str r0, [sp, 0xC] - mov r2, r8 - lsls r0, r2, 21 - movs r1, 0 - lsrs r0, 1 - str r0, [sp, 0x10] -_0809599E: - movs r5, 0 - ldr r3, [sp, 0x4] - adds r3, r7, r3 - str r3, [sp, 0x14] - adds r0, r1, 0x1 - str r0, [sp, 0x18] - cmp r5, r8 - bcs _08095A12 - movs r2, 0xF - mov r12, r2 - lsls r1, 9 - ldr r0, _08095A40 @ =gFont3LatinGlyphs - adds r1, r0 - mov r10, r1 -_080959BA: - ldr r3, [sp] - adds r0, r3, r5 - ldrb r1, [r0] - ldr r0, _08095A44 @ =0x0000fff0 - ands r0, r1 - lsls r0, 6 - mov r2, r12 - ands r1, r2 - lsls r1, 5 - adds r0, r1 - mov r3, r10 - adds r4, r0, r3 - movs r6, 0 - adds r5, 0x1 -_080959D6: - ldrb r0, [r4] - movs r3, 0xF0 - ands r3, r0 - mov r2, r12 - ands r2, r0 - cmp r3, 0 - bne _080959E6 - ldr r3, [sp, 0xC] -_080959E6: - cmp r2, 0 - bne _080959EC - ldr r2, [sp, 0x8] -_080959EC: - mov r0, r9 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldr r1, [sp, 0x40] - adds r0, r1, r0 - orrs r3, r2 - strb r3, [r0] - adds r4, 0x1 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1F - bls _080959D6 - lsls r0, r5, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _080959BA -_08095A12: - ldr r0, [sp, 0x40] - adds r1, r7, 0 - ldr r3, [sp, 0x10] - lsrs r2, r3, 16 - bl CpuSet - ldr r7, [sp, 0x14] - movs r0, 0 - mov r9, r0 - ldr r1, [sp, 0x18] - lsls r0, r1, 16 - lsrs r1, r0, 16 - cmp r1, 0x1 - bls _0809599E -_08095A2E: - 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 -_08095A40: .4byte gFont3LatinGlyphs -_08095A44: .4byte 0x0000fff0 - thumb_func_end sub_8095904 - - thumb_func_start unref_sub_8095A48 -unref_sub_8095A48: @ 8095A48 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r7, r3, 24 - movs r6, 0 -_08095A60: - movs r3, 0 - ldrb r0, [r4] - adds r1, r0, 0 - adds r2, r0, 0 - cmp r1, 0xFF - beq _08095ACE -_08095A6C: - mov r0, sp - adds r0, r3 - adds r0, 0x8 - strb r2, [r0] - adds r4, 0x1 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bhi _08095AA8 - ldrb r0, [r4] - adds r1, r0, 0 - adds r2, r0, 0 - cmp r1, 0xFF - bne _08095A6C - cmp r3, 0 - beq _08095ACE - movs r6, 0x1 - cmp r3, 0x3 - bhi _08095AA8 - movs r2, 0 -_08095A96: - adds r0, r3, 0 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - add r0, sp - adds r0, 0x8 - strb r2, [r0] - cmp r3, 0x3 - bls _08095A96 -_08095AA8: - mov r1, sp - adds r1, r3 - adds r1, 0x8 - movs r0, 0xFF - strb r0, [r1] - str r7, [sp] - ldr r0, [sp, 0x28] - str r0, [sp, 0x4] - add r0, sp, 0x8 - adds r1, r5, 0 - mov r2, r8 - movs r3, 0x80 - bl sub_8095904 - movs r0, 0x80 - lsls r0, 1 - adds r5, r0 - cmp r6, 0 - beq _08095A60 -_08095ACE: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_8095A48 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/water.s b/asm/water.s index 45fb7f82a..0bbddd2ca 100644 --- a/asm/water.s +++ b/asm/water.s @@ -2075,7 +2075,7 @@ _080D4B38: .4byte sub_80D4B3C sub_80D4B3C: @ 80D4B3C push {r4-r6,lr} adds r6, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080D4B96 @@ -2126,7 +2126,7 @@ _080D4BA0: .4byte sub_80D4BA4 sub_80D4BA4: @ 80D4BA4 push {r4-r6,lr} adds r5, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080D4BE0 @@ -2264,7 +2264,7 @@ sub_80D4CA4: @ 80D4CA4 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r5, _080D4CE0 @ =gAnimBankTarget ldrb r0, [r5] movs r1, 0x2 diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index 17b27fae5..ab83f2bf8 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -47,7 +47,7 @@ BattleAIs:: @ 81DA01C AI_CheckBadMove: @ 81DA09C is_most_powerful_move if_equal 0, AI_CheckBadMove_CheckSoundproof - if_damage_bonus 0, Score_Down10 + if_damage_bonus 0, Score_Minus10 get_ability TARGET if_equal ABILITY_VOLT_ABSORB, CheckIfVoltAbsorbCancelsElectric if_equal ABILITY_WATER_ABSORB, CheckIfWaterAbsorbCancelsWater @@ -58,39 +58,39 @@ AI_CheckBadMove: @ 81DA09C CheckIfVoltAbsorbCancelsElectric: @ 81DA0CE get_type CURRENT_MOVE - if_arg_equal TYPE_ELECTRIC, Score_Down12 + if_arg_equal TYPE_ELECTRIC, Score_Minus12 jump AI_CheckBadMove_CheckSoundproof CheckIfWaterAbsorbCancelsWater: @ 81DA0DB get_type CURRENT_MOVE - if_arg_equal TYPE_WATER, Score_Down12 + if_arg_equal TYPE_WATER, Score_Minus12 jump AI_CheckBadMove_CheckSoundproof CheckIfFlashFireCancelsFire: @ 81DA0E8 get_type CURRENT_MOVE - if_arg_equal TYPE_FIRE, Score_Down12 + if_arg_equal TYPE_FIRE, Score_Minus12 jump AI_CheckBadMove_CheckSoundproof CheckIfWonderGuardCancelsMove: @ 81DA0F5 if_damage_bonus 80, AI_CheckBadMove_CheckSoundproof - jump Score_Down10 + jump Score_Minus10 CheckIfLevitateCancelsGroundMove: @ 81DA100 get_type CURRENT_MOVE - if_arg_equal TYPE_GROUND, Score_Down10 + if_arg_equal TYPE_GROUND, Score_Minus10 AI_CheckBadMove_CheckSoundproof: @ 81DA108 get_ability TARGET if_not_equal ABILITY_SOUNDPROOF, AI_CheckBadMove_CheckEffect - if_move MOVE_GROWL, Score_Down10 - if_move MOVE_ROAR, Score_Down10 - if_move MOVE_SING, Score_Down10 - if_move MOVE_SUPERSONIC, Score_Down10 - if_move MOVE_SCREECH, Score_Down10 - if_move MOVE_SNORE, Score_Down10 - if_move MOVE_UPROAR, Score_Down10 - if_move MOVE_METAL_SOUND, Score_Down10 - if_move MOVE_GRASS_WHISTLE, Score_Down10 + if_move MOVE_GROWL, Score_Minus10 + if_move MOVE_ROAR, Score_Minus10 + if_move MOVE_SING, Score_Minus10 + if_move MOVE_SUPERSONIC, Score_Minus10 + if_move MOVE_SCREECH, Score_Minus10 + if_move MOVE_SNORE, Score_Minus10 + if_move MOVE_UPROAR, Score_Minus10 + if_move MOVE_METAL_SOUND, Score_Minus10 + if_move MOVE_GRASS_WHISTLE, Score_Minus10 AI_CheckBadMove_CheckEffect: @ 81DA14F if_effect EFFECT_SLEEP, AI_CBM_Sleep @@ -173,7 +173,7 @@ AI_CheckBadMove_CheckEffect: @ 81DA14F if_effect EFFECT_MIRROR_COAT, AI_CBM_HighRiskForDamage if_effect EFFECT_SKULL_BASH, AI_CBM_HighRiskForDamage if_effect EFFECT_FUTURE_SIGHT, AI_CBM_FutureSight - if_effect EFFECT_TELEPORT, Score_Down10 + if_effect EFFECT_TELEPORT, Score_Minus10 if_effect EFFECT_DEFENSE_CURL, AI_CBM_DefenseUp if_effect EFFECT_FAKE_OUT, AI_CBM_FakeOut if_effect EFFECT_STOCKPILE, AI_CBM_Stockpile @@ -206,100 +206,100 @@ AI_CheckBadMove_CheckEffect: @ 81DA14F AI_CBM_Sleep: @ 81DA3DE get_ability TARGET - if_equal ABILITY_INSOMNIA, Score_Down10 - if_equal ABILITY_VITAL_SPIRIT, Score_Down10 - if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Down10 + if_equal ABILITY_INSOMNIA, Score_Minus10 + if_equal ABILITY_VITAL_SPIRIT, Score_Minus10 + if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Minus10 end AI_CBM_Explosion: @ 81DA3F7 - if_damage_bonus 0, Score_Down10 + if_damage_bonus 0, Score_Minus10 get_ability TARGET - if_equal ABILITY_DAMP, Score_Down10 + if_equal ABILITY_DAMP, Score_Minus10 count_alive_pokemon USER if_not_equal 0, AI_CBM_Explosion_End count_alive_pokemon TARGET - if_not_equal 0, Score_Down10 - jump Score_Down1 + if_not_equal 0, Score_Minus10 + jump Score_Minus1 AI_CBM_Explosion_End: @ 81DA41A end AI_CBM_Nightmare: @ 81DA41B - if_status2 TARGET, S_NIGHTMARE, Score_Down10 - if_not_status TARGET, SLP, Score_Down8 + if_status2 TARGET, S_NIGHTMARE, Score_Minus10 + if_not_status TARGET, SLP, Score_Minus8 end AI_CBM_DreamEater: @ 81DA430 - if_not_status TARGET, SLP, Score_Down8 - if_damage_bonus 0, Score_Down10 + if_not_status TARGET, SLP, Score_Minus8 + if_damage_bonus 0, Score_Minus10 end AI_CBM_BellyDrum: @ 81DA441 - if_hp_less_than USER, 51, Score_Down10 + if_hp_less_than USER, 51, Score_Minus10 AI_CBM_AttackUp: @ 81DA448 - if_stat_level_equal USER, ATTACK, 12, Score_Down10 + if_stat_level_equal USER, ATTACK, 12, Score_Minus10 end AI_CBM_DefenseUp: @ 81DA451 - if_stat_level_equal USER, DEFENSE, 12, Score_Down10 + if_stat_level_equal USER, DEFENSE, 12, Score_Minus10 end AI_CBM_SpeedUp: @ 81DA45A - if_stat_level_equal USER, SPEED, 12, Score_Down10 + if_stat_level_equal USER, SPEED, 12, Score_Minus10 end AI_CBM_SpAtkUp: @ 81DA463 - if_stat_level_equal USER, SP_ATTACK, 12, Score_Down10 + if_stat_level_equal USER, SP_ATTACK, 12, Score_Minus10 end AI_CBM_SpDefUp: @ 81DA46C - if_stat_level_equal USER, SP_DEFENSE, 12, Score_Down10 + if_stat_level_equal USER, SP_DEFENSE, 12, Score_Minus10 end AI_CBM_AccUp: @ 81DA475 - if_stat_level_equal USER, ACCURACY, 12, Score_Down10 + if_stat_level_equal USER, ACCURACY, 12, Score_Minus10 end AI_CBM_EvasionUp: @ 81DA47E - if_stat_level_equal USER, EVASION, 12, Score_Down10 + if_stat_level_equal USER, EVASION, 12, Score_Minus10 end AI_CBM_AttackDown: @ 81DA487 - if_stat_level_equal TARGET, ATTACK, 0, Score_Down10 + if_stat_level_equal TARGET, ATTACK, 0, Score_Minus10 get_ability TARGET - if_equal ABILITY_HYPER_CUTTER, Score_Down10 + if_equal ABILITY_HYPER_CUTTER, Score_Minus10 jump CheckIfAbilityBlocksStatChange AI_CBM_DefenseDown: @ 81DA49C - if_stat_level_equal TARGET, DEFENSE, 0, Score_Down10 + if_stat_level_equal TARGET, DEFENSE, 0, Score_Minus10 jump CheckIfAbilityBlocksStatChange AI_CBM_SpeedDown: @ 81DA4A9 - if_stat_level_equal TARGET, SPEED, 0, Score_Down10 + if_stat_level_equal TARGET, SPEED, 0, Score_Minus10 jump CheckIfAbilityBlocksStatChange AI_CBM_SpAtkDown: @ 81DA4B6 - if_stat_level_equal TARGET, SP_ATTACK, 0, Score_Down10 + if_stat_level_equal TARGET, SP_ATTACK, 0, Score_Minus10 jump CheckIfAbilityBlocksStatChange AI_CBM_SpDefDown: @ 81DA4C3 - if_stat_level_equal TARGET, SP_DEFENSE, 0, Score_Down10 + if_stat_level_equal TARGET, SP_DEFENSE, 0, Score_Minus10 jump CheckIfAbilityBlocksStatChange AI_CBM_AccDown: @ 81DA4D0 - if_stat_level_equal TARGET, ACCURACY, 0, Score_Down10 + if_stat_level_equal TARGET, ACCURACY, 0, Score_Minus10 get_ability TARGET - if_equal ABILITY_KEEN_EYE, Score_Down10 + if_equal ABILITY_KEEN_EYE, Score_Minus10 jump CheckIfAbilityBlocksStatChange AI_CBM_EvasionDown: @ 81DA4E5 - if_stat_level_equal TARGET, EVASION, 0, Score_Down10 + if_stat_level_equal TARGET, EVASION, 0, Score_Minus10 CheckIfAbilityBlocksStatChange: @ 81DA4ED get_ability TARGET - if_equal ABILITY_CLEAR_BODY, Score_Down10 - if_equal ABILITY_WHITE_SMOKE, Score_Down10 + if_equal ABILITY_CLEAR_BODY, Score_Minus10 + if_equal ABILITY_WHITE_SMOKE, Score_Minus10 end AI_CBM_Haze: @ 81DA4FC @@ -317,299 +317,299 @@ AI_CBM_Haze: @ 81DA4FC if_stat_level_more_than TARGET, SP_DEFENSE, 6, AI_CBM_Haze_End if_stat_level_more_than TARGET, ACCURACY, 6, AI_CBM_Haze_End if_stat_level_more_than TARGET, EVASION, 6, AI_CBM_Haze_End - jump Score_Down10 + jump Score_Minus10 AI_CBM_Haze_End: @ 81DA571 end AI_CBM_Roar: @ 81DA572 count_alive_pokemon TARGET - if_equal 0, Score_Down10 + if_equal 0, Score_Minus10 get_ability TARGET - if_equal ABILITY_SUCTION_CUPS, Score_Down10 + if_equal ABILITY_SUCTION_CUPS, Score_Minus10 end AI_CBM_Toxic: @ 81DA583 get_type ENEMY_TYPE1 - if_equal TYPE_STEEL, Score_Down10 - if_equal TYPE_POISON, Score_Down10 + if_equal TYPE_STEEL, Score_Minus10 + if_equal TYPE_POISON, Score_Minus10 get_type PLAYER_TYPE1 - if_equal TYPE_STEEL, Score_Down10 - if_equal TYPE_POISON, Score_Down10 + if_equal TYPE_STEEL, Score_Minus10 + if_equal TYPE_POISON, Score_Minus10 get_ability TARGET - if_equal ABILITY_IMMUNITY, Score_Down10 - if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Down10 + if_equal ABILITY_IMMUNITY, Score_Minus10 + if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Minus10 end AI_CBM_LightScreen: @ 81DA5B2 - if_status4 USER, S_LIGHT_SCREEN, Score_Down8 + if_status4 USER, S_LIGHT_SCREEN, Score_Minus8 end AI_CBM_OneHitKO: @ 81DA5BD - if_damage_bonus 0, Score_Down10 + if_damage_bonus 0, Score_Minus10 get_ability TARGET - if_equal ABILITY_STURDY, Score_Down10 - if_target_higher_level Score_Down10 + if_equal ABILITY_STURDY, Score_Minus10 + if_target_higher_level Score_Minus10 end AI_CBM_Magnitude: @ 81DA5D2 get_ability TARGET - if_equal ABILITY_LEVITATE, Score_Down10 + if_equal ABILITY_LEVITATE, Score_Minus10 AI_CBM_HighRiskForDamage: @ 81DA5DA - if_damage_bonus 0, Score_Down10 + if_damage_bonus 0, Score_Minus10 get_ability TARGET if_not_equal ABILITY_WONDER_GUARD, AI_CBM_HighRiskForDamage_End if_damage_bonus 80, AI_CBM_HighRiskForDamage_End - jump Score_Down10 + jump Score_Minus10 AI_CBM_HighRiskForDamage_End: @ 81DA5F3 end AI_CBM_Mist: @ 81DA5F4 - if_status4 USER, S_MIST, Score_Down8 + if_status4 USER, S_MIST, Score_Minus8 end AI_CBM_FocusEnergy: @ 81DA5FF - if_status2 USER, S_FOCUS_ENERGY, Score_Down10 + if_status2 USER, S_FOCUS_ENERGY, Score_Minus10 end AI_CBM_Confuse: @ 81DA60A - if_status2 TARGET, S_CONFUSED, Score_Down5 + if_status2 TARGET, S_CONFUSED, Score_Minus5 get_ability TARGET - if_equal ABILITY_OWN_TEMPO, Score_Down10 + if_equal ABILITY_OWN_TEMPO, Score_Minus10 end AI_CBM_Reflect: @ 81DA61D - if_status4 USER, S_REFLECT, Score_Down8 + if_status4 USER, S_REFLECT, Score_Minus8 end AI_CBM_Paralyze: @ 81DA628 - if_damage_bonus 0, Score_Down10 + if_damage_bonus 0, Score_Minus10 get_ability TARGET - if_equal ABILITY_LIMBER, Score_Down10 - if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Down10 + if_equal ABILITY_LIMBER, Score_Minus10 + if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Minus10 end AI_CBM_Substitute: @ 81DA641 - if_status2 USER, S_SUBSTITUTE, Score_Down8 - if_hp_less_than USER, 26, Score_Down10 + if_status2 USER, S_SUBSTITUTE, Score_Minus8 + if_hp_less_than USER, 26, Score_Minus10 end AI_CBM_LeechSeed: @ 81DA653 - if_status3 TARGET, S_LEECH_SEED, Score_Down10 + if_status3 TARGET, S_LEECH_SEED, Score_Minus10 get_type ENEMY_TYPE1 - if_equal TYPE_GRASS, Score_Down10 + if_equal TYPE_GRASS, Score_Minus10 get_type PLAYER_TYPE1 - if_equal TYPE_GRASS, Score_Down10 + if_equal TYPE_GRASS, Score_Minus10 end AI_CBM_Disable: @ 81DA66E - if_last_move_did_damage TARGET, 0, Score_Down8 + if_last_move_did_damage TARGET, 0, Score_Minus8 end AI_CBM_Encore: @ 81DA676 - if_last_move_did_damage TARGET, 1, Score_Down8 + if_last_move_did_damage TARGET, 1, Score_Minus8 end AI_CBM_DamageDuringSleep: @ 81DA67E - if_not_status USER, SLP, Score_Down8 + if_not_status USER, SLP, Score_Minus8 end AI_CBM_CantEscape: @ 81DA689 - if_status2 TARGET, S_MEAN_LOOK, Score_Down10 + if_status2 TARGET, S_MEAN_LOOK, Score_Minus10 end AI_CBM_Curse: @ 81DA694 - if_stat_level_equal USER, ATTACK, 12, Score_Down10 - if_stat_level_equal USER, DEFENSE, 12, Score_Down8 + if_stat_level_equal USER, ATTACK, 12, Score_Minus10 + if_stat_level_equal USER, DEFENSE, 12, Score_Minus8 end AI_CBM_Spikes: @ 81DA6A5 - if_status4 TARGET, S_SPIKES, Score_Down10 + if_status4 TARGET, S_SPIKES, Score_Minus10 end AI_CBM_Foresight: @ 81DA6B0 - if_status2 TARGET, S_FORESIGHT, Score_Down10 + if_status2 TARGET, S_FORESIGHT, Score_Minus10 end AI_CBM_PerishSong: @ 81DA6BB - if_status3 TARGET, S_PERISH_SONG, Score_Down10 + if_status3 TARGET, S_PERISH_SONG, Score_Minus10 end AI_CBM_Sandstorm: @ 81DA6C6 get_weather - if_equal BATTLE_WEATHER_SANDSTORM, Score_Down8 + if_equal BATTLE_WEATHER_SANDSTORM, Score_Minus8 end AI_CBM_Attract: @ 81DA6CE - if_status2 TARGET, S_INFATUATED, Score_Down10 + if_status2 TARGET, S_INFATUATED, Score_Minus10 get_ability TARGET - if_equal ABILITY_OBLIVIOUS, Score_Down10 + if_equal ABILITY_OBLIVIOUS, Score_Minus10 get_gender USER if_equal 0, AI_CBM_Attract_CheckIfTargetIsFemale if_equal 254, AI_CBM_Attract_CheckIfTargetIsMale - jump Score_Down10 + jump Score_Minus10 AI_CBM_Attract_CheckIfTargetIsFemale: @ 81DA6F3 get_gender TARGET if_equal 254, AI_CBM_Attract_End - jump Score_Down10 + jump Score_Minus10 AI_CBM_Attract_CheckIfTargetIsMale: @ 81DA700 get_gender TARGET if_equal 0, AI_CBM_Attract_End - jump Score_Down10 + jump Score_Minus10 AI_CBM_Attract_End: @ 81DA70D end AI_CBM_Safeguard: @ 81DA70E - if_status4 USER, S_SAFEGUARD, Score_Down8 + if_status4 USER, S_SAFEGUARD, Score_Minus8 end AI_CBM_Memento: @ 81DA719 - if_stat_level_equal TARGET, ATTACK, 0, Score_Down10 - if_stat_level_equal TARGET, SP_ATTACK, 0, Score_Down8 + if_stat_level_equal TARGET, ATTACK, 0, Score_Minus10 + if_stat_level_equal TARGET, SP_ATTACK, 0, Score_Minus8 AI_CBM_BatonPass: @ 81DA729 count_alive_pokemon USER - if_equal 0, Score_Down10 + if_equal 0, Score_Minus10 end AI_CBM_RainDance: @ 81DA732 get_weather - if_equal BATTLE_WEATHER_RAIN, Score_Down8 + if_equal BATTLE_WEATHER_RAIN, Score_Minus8 end AI_CBM_SunnyDay: @ 81DA73A get_weather - if_equal BATTLE_WEATHER_SUN, Score_Down8 + if_equal BATTLE_WEATHER_SUN, Score_Minus8 end AI_CBM_FutureSight: @ 81DA742 - if_status4 TARGET, S_FUTURE_SIGHT, Score_Down10 + if_status4 TARGET, S_FUTURE_SIGHT, Score_Minus10 end AI_CBM_FakeOut: @ 81DA74D is_first_turn USER - if_equal 0, Score_Down10 + if_equal 0, Score_Minus10 end AI_CBM_Stockpile: @ 81DA756 get_stockpile_count USER - if_equal 3, Score_Down10 + if_equal 3, Score_Minus10 end AI_CBM_SpitUpAndSwallow: @ 81DA75F - if_damage_bonus 0, Score_Down10 + if_damage_bonus 0, Score_Minus10 get_stockpile_count USER - if_equal 0, Score_Down10 + if_equal 0, Score_Minus10 end AI_CBM_Hail: @ 81DA76E get_weather - if_equal BATTLE_WEATHER_HAIL, Score_Down8 + if_equal BATTLE_WEATHER_HAIL, Score_Minus8 end AI_CBM_Torment: @ 81DA776 - if_status2 TARGET, S_TORMENT, Score_Down10 + if_status2 TARGET, S_TORMENT, Score_Minus10 end AI_CBM_WillOWisp: @ 81DA781 get_ability TARGET - if_equal ABILITY_WATER_VEIL, Score_Down10 - if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Down10 - if_damage_bonus 0, Score_Down10 - if_damage_bonus 20, Score_Down10 - if_damage_bonus 10, Score_Down10 + if_equal ABILITY_WATER_VEIL, Score_Minus10 + if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Minus10 + if_damage_bonus 0, Score_Minus10 + if_damage_bonus 20, Score_Minus10 + if_damage_bonus 10, Score_Minus10 end AI_CBM_HelpingHand: @ 81DA7A6 is_double_battle - if_equal 0, Score_Down10 + if_equal 0, Score_Minus10 end AI_CBM_TrickAndKnockOff: @ 81DA7AE get_ability TARGET - if_equal ABILITY_STICKY_HOLD, Score_Down10 + if_equal ABILITY_STICKY_HOLD, Score_Minus10 end AI_CBM_Ingrain: @ 81DA7B7 - if_status3 USER, S_ROOTED, Score_Down10 + if_status3 USER, S_ROOTED, Score_Minus10 end AI_CBM_Recycle: @ 81DA7C2 get_item USER - if_equal ITEM_NONE, Score_Down10 + if_equal ITEM_NONE, Score_Minus10 end AI_CBM_Imprison: @ 81DA7CB - if_status3 USER, S_IMPRISONED, Score_Down10 + if_status3 USER, S_IMPRISONED, Score_Minus10 end AI_CBM_Refresh: @ 81DA7D6 - if_not_status USER, PSN | BRN | PAR | TOX, Score_Down10 + if_not_status USER, PSN | BRN | PAR | TOX, Score_Minus10 end AI_CBM_MudSport: @ 81DA7E1 - if_status3 USER, S_MUD_SPORT, Score_Down10 + if_status3 USER, S_MUD_SPORT, Score_Minus10 end AI_CBM_Tickle: @ 81DA7EC - if_stat_level_equal TARGET, ATTACK, 0, Score_Down10 - if_stat_level_equal TARGET, DEFENSE, 0, Score_Down8 + if_stat_level_equal TARGET, ATTACK, 0, Score_Minus10 + if_stat_level_equal TARGET, DEFENSE, 0, Score_Minus8 end AI_CBM_CosmicPower: @ 81DA7FD - if_stat_level_equal USER, DEFENSE, 12, Score_Down10 - if_stat_level_equal USER, SP_DEFENSE, 12, Score_Down8 + if_stat_level_equal USER, DEFENSE, 12, Score_Minus10 + if_stat_level_equal USER, SP_DEFENSE, 12, Score_Minus8 end AI_CBM_BulkUp: @ 81DA80E - if_stat_level_equal USER, ATTACK, 12, Score_Down10 - if_stat_level_equal USER, DEFENSE, 12, Score_Down8 + if_stat_level_equal USER, ATTACK, 12, Score_Minus10 + if_stat_level_equal USER, DEFENSE, 12, Score_Minus8 end AI_CBM_WaterSport: @ 81DA81F - if_status3 USER, S_WATER_SPORT, Score_Down10 + if_status3 USER, S_WATER_SPORT, Score_Minus10 end AI_CBM_CalmMind: @ 81DA82A - if_stat_level_equal USER, SP_ATTACK, 12, Score_Down10 - if_stat_level_equal USER, SP_DEFENSE, 12, Score_Down8 + if_stat_level_equal USER, SP_ATTACK, 12, Score_Minus10 + if_stat_level_equal USER, SP_DEFENSE, 12, Score_Minus8 end AI_CBM_DragonDance: @ 81DA83B - if_stat_level_equal USER, ATTACK, 12, Score_Down10 - if_stat_level_equal USER, SPEED, 12, Score_Down8 + if_stat_level_equal USER, ATTACK, 12, Score_Minus10 + if_stat_level_equal USER, SPEED, 12, Score_Minus8 end -Score_Down1: @ 81DA84C +Score_Minus1: @ 81DA84C score -1 end -Score_Down2: @ 81DA84F +Score_Minus2: @ 81DA84F score -2 end -Score_Down3: @ 81DA852 +Score_Minus3: @ 81DA852 score -3 end -Score_Down5: @ 81DA855 +Score_Minus5: @ 81DA855 score -5 end -Score_Down8: @ 81DA858 +Score_Minus8: @ 81DA858 score -8 end -Score_Down10: @ 81DA85B +Score_Minus10: @ 81DA85B score -10 end -Score_Down12: @ 81DA85E +Score_Minus12: @ 81DA85E score -12 end @@ -788,7 +788,7 @@ AI_CV_SelfKO_Encourage1: @ 81DAB94 if_hp_less_than USER, 80, AI_CV_SelfKO_Encourage2 if_would_go_first USER, AI_CV_SelfKO_Encourage2 if_random_less_than 50, AI_CV_SelfKO_End - jump Score_Down3 + jump Score_Minus3 AI_CV_SelfKO_Encourage2: @ 81DABAC if_hp_more_than USER, 50, AI_CV_SelfKO_Encourage4 @@ -1354,7 +1354,7 @@ AI_CV_Conversion: @ 81DB17A AI_CV_Conversion2: @ 81DB183 get_turn_count if_equal 0, AI_CV_Conversion_End - if_random_less_than 200, Score_Down2 + if_random_less_than 200, Score_Minus2 AI_CV_Conversion_End: @ 81DB190 end @@ -2695,7 +2695,7 @@ AI_CV_DragonDance_End: @ 81DBE96 AI_TryToFaint: @ 81DBE97 if_can_faint AI_TryToFaint_TryToEncourageQuickAttack is_most_powerful_move - if_equal 1, Score_Down1 + if_equal 1, Score_Minus1 end AI_TryToFaint_TryToEncourageQuickAttack: @ 81DBEA4 diff --git a/data/battle_anim_80CA710.s b/data/battle_anim_80CA710.s index 562bd3090..e1a1511c0 100644 --- a/data/battle_anim_80CA710.s +++ b/data/battle_anim_80CA710.s @@ -20,16 +20,16 @@ gSpriteAnimTable_83D6220:: @ 83D6220 .4byte gSpriteAnim_83D61FC .align 2 -gBattleAnimSpriteTemplate_83D6224:: @ 83D6224 - spr_template 10067, 10067, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710 +gSleepPowderParticleSpriteTemplate:: @ 83D6224 + spr_template 10067, 10067, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, AnimMovePowderParticle .align 2 -gBattleAnimSpriteTemplate_83D623C:: @ 83D623C - spr_template 10068, 10068, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710 +gStunSporeParticleSpriteTemplate:: @ 83D623C + spr_template 10068, 10068, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, AnimMovePowderParticle .align 2 -gBattleAnimSpriteTemplate_83D6254:: @ 83D6254 - spr_template 10065, 10065, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710 +gPoisonPowderParticleSpriteTemplate:: @ 83D6254 + spr_template 10065, 10065, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, AnimMovePowderParticle .align 2 gSpriteAnim_83D626C:: @ 83D626C @@ -243,7 +243,7 @@ gBattleAnimSpriteTemplate_83D649C:: @ 83D649C .align 2 gBattleAnimSpriteTemplate_83D64B4:: @ 83D64B4 - spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CB144 + spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, AnimMoveTwisterParticle .align 2 gSpriteAnim_83D64CC:: @ 83D64CC @@ -259,7 +259,7 @@ gSpriteAnimTable_83D64E0:: @ 83D64E0 .align 2 gBattleAnimSpriteTemplate_83D64E4:: @ 83D64E4 - spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, sub_80CAFD0 + spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, AnimTranslateLinearSingleSineWave .align 2 gSpriteAffineAnim_83D64FC:: @ 83D64FC @@ -271,8 +271,8 @@ gSpriteAffineAnimTable_83D650C:: @ 83D650C .4byte gSpriteAffineAnim_83D64FC .align 2 -gBattleAnimSpriteTemplate_83D6510:: @ 83D6510 - spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, sub_80CAFD0 +gSwiftStarSpriteTemplate:: @ 83D6510 + spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, AnimTranslateLinearSingleSineWave .align 2 gSpriteAnim_83D6528:: @ 83D6528 @@ -1031,7 +1031,7 @@ gBattleAnimSpriteTemplate_83D6EF0:: @ 83D6EF0 .align 2 gBattleAnimSpriteTemplate_83D6F08:: @ 83D6F08 - spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C + spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation .align 2 gSpriteAnim_83D6F20:: @ 83D6F20 @@ -1490,16 +1490,16 @@ gSpriteAffineAnimTable_83D7530:: @ 83D7530 .4byte gSpriteAffineAnim_83D74EC .align 2 -gBattleAnimSpriteTemplate_83D7534:: @ 83D7534 - spr_template 10163, 10163, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C +gSupersonicWaveSpriteTemplate:: @ 83D7534 + spr_template 10163, 10163, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, TranslateAnimSpriteToTargetMonLocation .align 2 -gBattleAnimSpriteTemplate_83D754C:: @ 83D754C - spr_template 10164, 10164, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C +gScreechWaveSpriteTemplate:: @ 83D754C + spr_template 10164, 10164, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, TranslateAnimSpriteToTargetMonLocation .align 2 gBattleAnimSpriteTemplate_83D7564:: @ 83D7564 - spr_template 10260, 10260, gOamData_837E03C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C + spr_template 10260, 10260, gOamData_837E03C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, TranslateAnimSpriteToTargetMonLocation .align 2 gBattleAnimSpriteTemplate_83D757C:: @ 83D757C @@ -2449,7 +2449,7 @@ gSpriteAnimTable_83D95E0:: @ 83D95E0 .align 2 gBattleAnimSpriteTemplate_83D95E4:: @ 83D95E4 - spr_template 10029, 10029, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C + spr_template 10029, 10029, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation .align 2 gBattleAnimSpriteTemplate_83D95FC:: @ 83D95FC @@ -2631,7 +2631,7 @@ gBattleAnimSpriteTemplate_83D985C:: @ 83D985C .align 2 gBattleAnimSpriteTemplate_83D9874:: @ 83D9874 - spr_template 10171, 10171, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C + spr_template 10171, 10171, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation .align 2 gSpriteAffineAnim_83D988C:: @ 83D988C @@ -3137,7 +3137,7 @@ gBattleAnimSpriteTemplate_83D9F0C:: @ 83D9F0C .align 2 gSpriteTemplate_83D9F24:: @ 83D9F24 - spr_template 10050, 10050, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, unc_080B08A0 + spr_template 10050, 10050, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_080B08A0 .align 2 gSpriteAnim_83D9F3C:: @ 83D9F3C @@ -3713,7 +3713,7 @@ gBattleAnimSpriteTemplate_83DA76C:: @ 83DA76C .align 2 gBattleAnimSpriteTemplate_83DA784:: @ 83DA784 - spr_template 10163, 10163, gOamData_837DF74, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C + spr_template 10163, 10163, gOamData_837DF74, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation .align 2 gSpriteAnim_83DA79C:: @ 83DA79C @@ -4151,7 +4151,7 @@ gBattleAnimSpriteTemplate_83DAE00:: @ 83DAE00 .align 2 gBattleAnimSpriteTemplate_83DAE18:: @ 83DAE18 - spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, sub_80CB144 + spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, AnimMoveTwisterParticle .align 2 gBattleAnimSpriteTemplate_83DAE30:: @ 83DAE30 @@ -4614,7 +4614,7 @@ gSpriteAffineAnimTable_83DB498:: @ 83DB498 .4byte gSpriteAffineAnim_83DB480 .align 2 -gBattleAnimSpriteTemplate_83DB4A8:: @ 83DB4A8 +gBasicHitSplatSpriteTemplate:: @ 83DB4A8 spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27A0 .align 2 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 2068db4ff..48af05ca4 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1,3 +1,5 @@ +#include "constants/battle_anim.h" +#include "constants/moves.h" #include "constants/songs.h" .include "include/macros.inc" .include "include/macros/battle_anim.inc" @@ -5,10 +7,10 @@ .section script_data, "aw", %progbits -gUnknown_081C7160:: @ 81C7160 - .2byte 47 - .2byte 195 - .2byte 320 +gSingingMoves:: @ 81C7160 + .2byte MOVE_SING + .2byte MOVE_PERISH_SONG + .2byte MOVE_GRASS_WHISTLE .2byte -1 .align 2 @@ -419,2761 +421,2761 @@ gBattleAnims_Special:: @ 81C7778 .4byte Special_MonToSubstitute Move_POUND: @ 81C7794 - loadsprite 10135 - monbg 1 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W003, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - wait - clearmonbg 1 + playsewithpan SE_W003, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_DOUBLE_SLAP: @ 81C77C5 - loadsprite 10135 - monbg 1 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - ifelse _81C77F0, _81C7804 -_81C77D6: - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - panse_19 SE_W003, 63 - wait - clearmonbg 1 + choosetwoturnanim Move_DOUBLE_SLAP_FirstHit, Move_DOUBLE_SLAP_SecondHit +Move_DOUBLE_SLAP_End: + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W003, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end -_81C77F0: - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -8, 0, 1, 2 - jump _81C77D6 -_81C7804: - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 8, 0, 1, 2 - jump _81C77D6 +Move_DOUBLE_SLAP_FirstHit: + createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2 + goto Move_DOUBLE_SLAP_End +Move_DOUBLE_SLAP_SecondHit: + createsprite gBasicHitSplatSpriteTemplate, 2, 8, 0, 1, 2 + goto Move_DOUBLE_SLAP_End Move_POISON_POWDER: @ 81C7818 - loadsprite 10065 - loadsprite 10150 - panse_1C SE_W077, 63, 10, 6 - sprite gBattleAnimSpriteTemplate_83D6254, 130, -30, -22, 117, 80, 5, 1 - sprite gBattleAnimSpriteTemplate_83D6254, 130, 10, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6254, 130, -25, -22, 117, 112, 5, 3 - pause 15 - sprite gBattleAnimSpriteTemplate_83D6254, 130, -5, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6254, 130, 5, -22, 117, 96, 5, 1 - sprite gBattleAnimSpriteTemplate_83D6254, 130, 0, -22, 117, 69, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6254, 130, -15, -22, 117, 112, 5, 2 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6254, 130, -15, -22, 117, 112, 5, 2 - sprite gBattleAnimSpriteTemplate_83D6254, 130, 15, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6254, 130, -10, -22, 117, 96, 7, 2 - sprite gBattleAnimSpriteTemplate_83D6254, 130, -5, -22, 117, 90, -8, 0 - pause 20 - sprite gBattleAnimSpriteTemplate_83D6254, 130, -10, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6254, 130, 0, -22, 117, 89, 5, 2 - sprite gBattleAnimSpriteTemplate_83D6254, 130, 20, -22, 117, 112, -8, 2 - sprite gBattleAnimSpriteTemplate_83D6254, 130, 5, -22, 117, 80, 5, 1 - wait + loadspritegfx 10065 + loadspritegfx 10150 + loopsewithpan SE_W077, 63, 10, 6 + createsprite gPoisonPowderParticleSpriteTemplate, 130, -30, -22, 117, 80, 5, 1 + createsprite gPoisonPowderParticleSpriteTemplate, 130, 10, -22, 117, 80, -5, 1 + createsprite gPoisonPowderParticleSpriteTemplate, 130, -25, -22, 117, 112, 5, 3 + delay 15 + createsprite gPoisonPowderParticleSpriteTemplate, 130, -5, -22, 117, 80, -5, 1 + createsprite gPoisonPowderParticleSpriteTemplate, 130, 5, -22, 117, 96, 5, 1 + createsprite gPoisonPowderParticleSpriteTemplate, 130, 0, -22, 117, 69, -5, 1 + createsprite gPoisonPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 + delay 30 + createsprite gPoisonPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 + createsprite gPoisonPowderParticleSpriteTemplate, 130, 15, -22, 117, 80, -5, 1 + createsprite gPoisonPowderParticleSpriteTemplate, 130, -10, -22, 117, 96, 7, 2 + createsprite gPoisonPowderParticleSpriteTemplate, 130, -5, -22, 117, 90, -8, 0 + delay 20 + createsprite gPoisonPowderParticleSpriteTemplate, 130, -10, -22, 117, 80, -5, 1 + createsprite gPoisonPowderParticleSpriteTemplate, 130, 0, -22, 117, 89, 5, 2 + createsprite gPoisonPowderParticleSpriteTemplate, 130, 20, -22, 117, 112, -8, 2 + createsprite gPoisonPowderParticleSpriteTemplate, 130, 5, -22, 117, 80, 5, 1 + waitforvisualfinish end Move_STUN_SPORE: @ 81C7949 - loadsprite 10068 - panse_1C SE_W077, 63, 10, 6 - sprite gBattleAnimSpriteTemplate_83D623C, 130, -30, -22, 117, 80, 5, 1 - sprite gBattleAnimSpriteTemplate_83D623C, 130, 10, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D623C, 130, -25, -22, 117, 112, 5, 3 - pause 15 - sprite gBattleAnimSpriteTemplate_83D623C, 130, -5, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D623C, 130, 5, -22, 117, 96, 5, 1 - sprite gBattleAnimSpriteTemplate_83D623C, 130, 0, -22, 117, 69, -5, 1 - sprite gBattleAnimSpriteTemplate_83D623C, 130, -15, -22, 117, 112, 5, 2 - pause 30 - sprite gBattleAnimSpriteTemplate_83D623C, 130, -15, -22, 117, 112, 5, 2 - sprite gBattleAnimSpriteTemplate_83D623C, 130, 15, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D623C, 130, -10, -22, 117, 96, 7, 2 - sprite gBattleAnimSpriteTemplate_83D623C, 130, -5, -22, 117, 90, -8, 0 - pause 20 - sprite gBattleAnimSpriteTemplate_83D623C, 130, -10, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D623C, 130, 0, -22, 117, 89, 5, 2 - sprite gBattleAnimSpriteTemplate_83D623C, 130, 20, -22, 117, 112, -8, 2 - sprite gBattleAnimSpriteTemplate_83D623C, 130, 5, -22, 117, 80, 5, 1 - wait + loadspritegfx 10068 + loopsewithpan SE_W077, 63, 10, 6 + createsprite gStunSporeParticleSpriteTemplate, 130, -30, -22, 117, 80, 5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, 10, -22, 117, 80, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, -25, -22, 117, 112, 5, 3 + delay 15 + createsprite gStunSporeParticleSpriteTemplate, 130, -5, -22, 117, 80, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, 5, -22, 117, 96, 5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, 0, -22, 117, 69, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 + delay 30 + createsprite gStunSporeParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 + createsprite gStunSporeParticleSpriteTemplate, 130, 15, -22, 117, 80, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, -10, -22, 117, 96, 7, 2 + createsprite gStunSporeParticleSpriteTemplate, 130, -5, -22, 117, 90, -8, 0 + delay 20 + createsprite gStunSporeParticleSpriteTemplate, 130, -10, -22, 117, 80, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, 0, -22, 117, 89, 5, 2 + createsprite gStunSporeParticleSpriteTemplate, 130, 20, -22, 117, 112, -8, 2 + createsprite gStunSporeParticleSpriteTemplate, 130, 5, -22, 117, 80, 5, 1 + waitforvisualfinish end Move_SLEEP_POWDER: @ 81C7A77 - loadsprite 10067 - panse_1C SE_W077, 63, 10, 6 - sprite gBattleAnimSpriteTemplate_83D6224, 130, -30, -22, 117, 80, 5, 1 - sprite gBattleAnimSpriteTemplate_83D6224, 130, 10, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6224, 130, -25, -22, 117, 112, 5, 3 - pause 15 - sprite gBattleAnimSpriteTemplate_83D6224, 130, -5, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6224, 130, 5, -22, 117, 96, 5, 1 - sprite gBattleAnimSpriteTemplate_83D6224, 130, 0, -22, 117, 69, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6224, 130, -15, -22, 117, 112, 5, 2 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6224, 130, -15, -22, 117, 112, 5, 2 - sprite gBattleAnimSpriteTemplate_83D6224, 130, 15, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6224, 130, -10, -22, 117, 96, 7, 2 - sprite gBattleAnimSpriteTemplate_83D6224, 130, -5, -22, 117, 90, -8, 0 - pause 20 - sprite gBattleAnimSpriteTemplate_83D6224, 130, -10, -22, 117, 80, -5, 1 - sprite gBattleAnimSpriteTemplate_83D6224, 130, 0, -22, 117, 89, 5, 2 - sprite gBattleAnimSpriteTemplate_83D6224, 130, 20, -22, 117, 112, -8, 2 - sprite gBattleAnimSpriteTemplate_83D6224, 130, 5, -22, 117, 80, 5, 1 - wait + loadspritegfx 10067 + loopsewithpan SE_W077, 63, 10, 6 + createsprite gSleepPowderParticleSpriteTemplate, 130, -30, -22, 117, 80, 5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, 10, -22, 117, 80, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, -25, -22, 117, 112, 5, 3 + delay 15 + createsprite gSleepPowderParticleSpriteTemplate, 130, -5, -22, 117, 80, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, 5, -22, 117, 96, 5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, 0, -22, 117, 69, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 + delay 30 + createsprite gSleepPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 + createsprite gSleepPowderParticleSpriteTemplate, 130, 15, -22, 117, 80, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, -10, -22, 117, 96, 7, 2 + createsprite gSleepPowderParticleSpriteTemplate, 130, -5, -22, 117, 90, -8, 0 + delay 20 + createsprite gSleepPowderParticleSpriteTemplate, 130, -10, -22, 117, 80, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, 0, -22, 117, 89, 5, 2 + createsprite gSleepPowderParticleSpriteTemplate, 130, 20, -22, 117, 112, -8, 2 + createsprite gSleepPowderParticleSpriteTemplate, 130, 5, -22, 117, 80, 5, 1 + waitforvisualfinish end Move_SWIFT: @ 81C7BA5 - loadsprite 10174 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 0, 22, 20, 1 - pause 5 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 5, 22, -18, 1 - pause 5 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, -10, 22, 15, 1 - createtask sub_80A7FA0, 2, 1, 2, 0, 18, 1 - createtask sub_80A7FA0, 2, 3, 2, 0, 18, 1 - pause 5 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 0, 22, -20, 1 - pause 5 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 0, 22, 12, 1 - pause 5 - wait - clearmonbg 3 + loadspritegfx 10174 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W129, 192 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 20, 1 + delay 5 + playsewithpan SE_W129, 192 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 5, 22, -18, 1 + delay 5 + playsewithpan SE_W129, 192 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, -10, 22, 15, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 18, 1 + delay 5 + playsewithpan SE_W129, 192 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, -20, 1 + delay 5 + playsewithpan SE_W129, 192 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 12, 1 + delay 5 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_STRENGTH: @ 81C7C5E - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_19 SE_W036, 192 - createtask sub_80A8314, 5, 0, 2, 0, 96, 30 - wait - pause 10 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 4 - createtask sub_80A8500, 2, 1, 18, 6, 2, 4 - pause 4 - panse_19 SE_W025B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 16, 12, 1, 1 - pause 4 - panse_19 SE_W025B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, -16, -12, 1, 1 - pause 4 - panse_19 SE_W025B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 3, 4, 1, 1 - wait - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - wait - clearmonbg 3 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W036, 192 + createvisualtask AnimTask_ShakeAndSinkMon, 5, ANIM_BANK_ATTACKER, 2, 0, 96, 30 + waitforvisualfinish + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 4 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_TARGET, 18, 6, 2, 4 + delay 4 + playsewithpan SE_W025B, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 16, 12, 1, 1 + delay 4 + playsewithpan SE_W025B, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, -16, -12, 1, 1 + delay 4 + playsewithpan SE_W025B, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 3, 4, 1, 1 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_TACKLE: @ 81C7CF2 - loadsprite 10135 - monbg 1 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - panse_19 SE_W004, 63 - wait - clearmonbg 1 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W004, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_BODY_SLAM: @ 81C7D30 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_19 SE_W036, 192 - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0 - wait - pause 11 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 26, 0, 0, 5 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 4, -10, 0, 1, 0 - panse_1C SE_W025B, 63, 10, 2 - pause 1 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -28, 0, 0, 3 - wait - createtask sub_80A8154, 2, 1, 4, 0, 12, 1 - wait - pause 10 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 6 - pause 5 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6 - wait - clearmonbg 3 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W036, 192 + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER + waitforvisualfinish + delay 11 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 26, 0, 0, 5 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 4, -10, 0, 1, 0 + loopsewithpan SE_W025B, 63, 10, 2 + delay 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -28, 0, 0, 3 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 12, 1 + waitforvisualfinish + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_SUPERSONIC: @ 81C7DBD - loadsprite 10163 - monbg 2 - monbgprio_2A 0 - setalpha 12, 8 - createtask sub_80A7FA0, 2, 0, 2, 0, 8, 1 - call _81C7DFB - call _81C7DFB - call _81C7DFB - call _81C7DFB - call _81C7DFB - call _81C7DFB - wait - clearmonbg 2 - blendoff - end -_81C7DFB: - panse_19 SE_W048, 192 - sprite gBattleAnimSpriteTemplate_83D7534, 130, 16, 0, 0, 0, 30, 0 - pause 2 - ret + loadspritegfx 10163 + monbg ANIM_BANK_ATK_PARTNER + monbgprio_2A ANIM_BANK_ATTACKER + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 2, 0, 8, 1 + call Move_SUPERSONIC_CreateWaveSprite + call Move_SUPERSONIC_CreateWaveSprite + call Move_SUPERSONIC_CreateWaveSprite + call Move_SUPERSONIC_CreateWaveSprite + call Move_SUPERSONIC_CreateWaveSprite + call Move_SUPERSONIC_CreateWaveSprite + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER + blendoff + end +Move_SUPERSONIC_CreateWaveSprite: + playsewithpan SE_W048, 192 + createsprite gSupersonicWaveSpriteTemplate, 130, 16, 0, 0, 0, 30, 0 + delay 2 + return Move_SCREECH: @ 81C7E15 - loadsprite 10164 - createtask sub_80A7FA0, 2, 0, 3, 0, 2, 1 - call _81C7E48 - call _81C7E48 - pause 16 - createtask sub_80A8B88, 5, 0, 6, 2048, 2, 1 - wait - end -_81C7E48: - panse_19 SE_W103, 192 - sprite gBattleAnimSpriteTemplate_83D754C, 130, 16, 0, 0, 0, 30, 0 - pause 2 - ret + loadspritegfx 10164 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 3, 0, 2, 1 + call Move_SCREECH_CreateWaveSprite + call Move_SCREECH_CreateWaveSprite + delay 16 + createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 2, 1 + waitforvisualfinish + end +Move_SCREECH_CreateWaveSprite: + playsewithpan SE_W103, 192 + createsprite gScreechWaveSpriteTemplate, 130, 16, 0, 0, 0, 30, 0 + delay 2 + return Move_FLAME_WHEEL: @ 81C7E62 - loadsprite 10029 - monbg 3 - monbgprio_2A 1 - sprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 0 - panse_19 SE_W172, 192 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 4 - panse_19 SE_W172, 192 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 8 - panse_19 SE_W172, 192 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 12 - panse_19 SE_W172, 192 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 16 - panse_19 SE_W172, 192 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 20 - panse_19 SE_W172, 192 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 24 - panse_19 SE_W172, 192 - wait - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 6 - pause 4 - createtask sub_80A7E7C, 2, 1, 5, 0, 8, 1 - createtask sub_8079790, 3, 1, 31, 12, 1, 1 - panse_19 SE_W172B, 63 + loadspritegfx 10029 + monbg ANIM_BANK_DEF_PARTNER + monbgprio_2A ANIM_BANK_TARGET + createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 0 + playsewithpan SE_W172, 192 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 4 + playsewithpan SE_W172, 192 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 8 + playsewithpan SE_W172, 192 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 12 + playsewithpan SE_W172, 192 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 16 + playsewithpan SE_W172, 192 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 20 + playsewithpan SE_W172, 192 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 24 + playsewithpan SE_W172, 192 + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 6 + delay 4 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 8, 1 + createvisualtask sub_8079790, 3, 1, 31, 12, 1, 1 + playsewithpan SE_W172B, 63 call _81D11A2 - pause 7 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 9 - wait - clearmonbg 3 + delay 7 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 9 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end Unknown_81C7F4C: @ 81C7F4C - sprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 50 - pause 4 - ret + createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 50 + delay 4 + return Move_PIN_MISSILE: @ 81C7F5C - loadsprite 10161 - loadsprite 10135 - monbg 1 + loadspritegfx 10161 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 12, 8 - panse_19 SE_W026, 192 - sprite gBattleAnimSpriteTemplate_83DABA4, 2, 20, -8, -8, -8, 20, -32 - pause 15 - sprite gBattleAnimSpriteTemplate_83DABA4, 2, 20, -8, 8, 8, 20, -40 - pause 4 - panse_19 SE_W030, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, -8, -8, 1, 2 - createtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 - pause 9 - sprite gBattleAnimSpriteTemplate_83DABA4, 2, 20, -8, 0, 0, 20, -32 - pause 4 - panse_19 SE_W030, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 8, 8, 1, 2 - createtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 - pause 14 - panse_19 SE_W030, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 2 - createtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 - wait - clearmonbg 1 + playsewithpan SE_W026, 192 + createsprite gBattleAnimSpriteTemplate_83DABA4, 2, 20, -8, -8, -8, 20, -32 + delay 15 + createsprite gBattleAnimSpriteTemplate_83DABA4, 2, 20, -8, 8, 8, 20, -40 + delay 4 + playsewithpan SE_W030, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 + delay 9 + createsprite gBattleAnimSpriteTemplate_83DABA4, 2, 20, -8, 0, 0, 20, -32 + delay 4 + playsewithpan SE_W030, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 + delay 14 + playsewithpan SE_W030, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_ICICLE_SPEAR: @ 81C8021 - loadsprite 10262 - loadsprite 10135 - monbg 1 + loadspritegfx 10262 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 12, 8 - panse_19 SE_W196, 192 - sprite gBattleAnimSpriteTemplate_83DABBC, 2, 20, -8, -8, -8, 20, -32 - pause 15 - sprite gBattleAnimSpriteTemplate_83DABBC, 2, 20, -8, 8, 8, 20, -40 - pause 4 - panse_19 SE_W030, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, -8, -8, 1, 2 - createtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 - pause 9 - sprite gBattleAnimSpriteTemplate_83DABBC, 2, 20, -8, 0, 0, 20, -32 - pause 4 - panse_19 SE_W030, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 8, 8, 1, 2 - createtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 - pause 14 - panse_19 SE_W030, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 2 - createtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 - wait - clearmonbg 1 + playsewithpan SE_W196, 192 + createsprite gBattleAnimSpriteTemplate_83DABBC, 2, 20, -8, -8, -8, 20, -32 + delay 15 + createsprite gBattleAnimSpriteTemplate_83DABBC, 2, 20, -8, 8, 8, 20, -40 + delay 4 + playsewithpan SE_W030, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 + delay 9 + createsprite gBattleAnimSpriteTemplate_83DABBC, 2, 20, -8, 0, 0, 20, -32 + delay 4 + playsewithpan SE_W030, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 + delay 14 + playsewithpan SE_W030, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_TAKE_DOWN: @ 81C80E6 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_19 SE_W036, 192 - createtask sub_80A8920, 5, 0, -24, 8, 23, 10, 40, 10 - pause 35 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 10, 0, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 4, -10, 0, 1, 0 - panse_19 SE_W025B, 63 - pause 1 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -16, 0, 0, 4 - wait - createtask sub_80A8154, 2, 1, 4, 0, 12, 1 - wait - pause 2 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5 - pause 3 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 7 - wait - clearmonbg 3 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W036, 192 + createvisualtask sub_80A8920, 5, 0, -24, 8, 23, 10, 40, 10 + delay 35 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 10, 0, 0 + createsprite gBasicHitSplatSpriteTemplate, 4, -10, 0, 1, 0 + playsewithpan SE_W025B, 63 + delay 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -16, 0, 0, 4 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 12, 1 + waitforvisualfinish + delay 2 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_DOUBLE_EDGE: @ 81C817A - loadsprite 10135 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 2, 4, 2, 32767, 10, 0, 0 - wait - pause 10 - panse_19 SE_W207, 192 - panse_1D SE_W207, 192, 8 - createtask sub_80A8500, 2, 0, 18, 6, 2, 4 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 16, 16, 32767 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4 - pause 3 - wait - panse_19 SE_W025B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 132, -10, 0, 1, 0 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -32, 0, 0, 3 - wait - createtask sub_80A8E04, 2, 8, -256, 0, 0 - createtask sub_80A8E04, 2, 8, -256, 1, 0 - createtask sub_80A8154, 2, 0, 4, 0, 12, 1 - createtask sub_80A8154, 2, 1, 4, 0, 12, 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 16, 0, 32767 - wait - createtask sub_80A8E04, 2, 8, -256, 0, 1 - createtask sub_80A8E04, 2, 8, -256, 1, 1 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5 - pause 3 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 7 - wait + loadspritegfx 10135 + playsewithpan SE_W129, 192 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 2, 4, 2, 32767, 10, 0, 0 + waitforvisualfinish + delay 10 + playsewithpan SE_W207, 192 + waitplaysewithpan SE_W207, 192, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 18, 6, 2, 4 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 16, 16, 32767 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + delay 3 + waitforvisualfinish + playsewithpan SE_W025B, 63 + createsprite gBasicHitSplatSpriteTemplate, 132, -10, 0, 1, 0 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -32, 0, 0, 3 + waitforvisualfinish + createvisualtask sub_80A8E04, 2, 8, -256, 0, 0 + createvisualtask sub_80A8E04, 2, 8, -256, 1, 0 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 12, 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 16, 0, 32767 + waitforvisualfinish + createvisualtask sub_80A8E04, 2, 8, -256, 0, 1 + createvisualtask sub_80A8E04, 2, 8, -256, 1, 1 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7 + waitforvisualfinish end Move_POISON_STING: @ 81C828D - loadsprite 10161 - loadsprite 10135 - loadsprite 10150 - monbg 1 + loadspritegfx 10161 + loadspritegfx 10135 + loadspritegfx 10150 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 12, 8 - panse_19 SE_W013B, 192 - sprite gBattleAnimSpriteTemplate_83DAB8C, 130, 20, 0, -8, 0, 20 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 2 - createtask sub_80A7FA0, 2, 1, 2, 0, 5, 1 - panse_19 SE_W030, 63 - wait + playsewithpan SE_W013B, 192 + createsprite gBattleAnimSpriteTemplate_83DAB8C, 130, 20, 0, -8, 0, 20 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 5, 1 + playsewithpan SE_W030, 63 + waitforvisualfinish call Unknown_81D5F87 - wait - clearmonbg 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_TWINEEDLE: @ 81C82E2 - loadsprite 10161 - loadsprite 10135 - monbg 1 + loadspritegfx 10161 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 12, 8 - panse_1C SE_W013B, 192, 6, 2 - sprite gBattleAnimSpriteTemplate_83DAB8C, 130, 10, -4, 0, -4, 20 - sprite gBattleAnimSpriteTemplate_83DAB8C, 130, 20, 12, 10, 12, 20 - pause 20 - createtask sub_80A7FA0, 2, 1, 2, 0, 5, 1 - sprite gBattleAnimSpriteTemplate_83DB4C0, 3, 0, -4, 1, 3 - panse_1C SE_W030, 63, 5, 2 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB4C0, 3, 10, 12, 1, 3 - wait - clearmonbg 1 + loopsewithpan SE_W013B, 192, 6, 2 + createsprite gBattleAnimSpriteTemplate_83DAB8C, 130, 10, -4, 0, -4, 20 + createsprite gBattleAnimSpriteTemplate_83DAB8C, 130, 20, 12, 10, 12, 20 + delay 20 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 5, 1 + createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 0, -4, 1, 3 + loopsewithpan SE_W030, 63, 5, 2 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 10, 12, 1, 3 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_FIRE_BLAST: @ 81C8355 - loadsprite 10029 - createtask_1F sub_812AF30, 144, 145 + loadspritegfx 10029 + createsoundtask sub_812AF30, 144, 145 call _81C83E9 call _81C83E9 call _81C83E9 - pause 24 - createtask sub_80E2A38, 10, 1, 3, 0, 8, 0 - wait - pause 19 - createtask sub_80A7E7C, 2, 1, 5, 0, 20, 1 + delay 24 + createvisualtask sub_80E2A38, 10, 1, 3, 0, 8, 0 + waitforvisualfinish + delay 19 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 20, 1 call _81C842D - pause 3 + delay 3 call _81C842D - pause 3 + delay 3 call _81C842D - pause 3 + delay 3 call _81C842D - pause 3 + delay 3 call _81C842D - pause 3 + delay 3 call _81C842D - pause 3 + delay 3 call _81C842D - pause 3 + delay 3 call _81C842D - pause 3 + delay 3 call _81C842D - wait - createtask sub_80E2A38, 10, 1, 2, 8, 0, 0 - wait + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 1, 2, 8, 0, 0 + waitforvisualfinish end _81C83E9: - sprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 51 - sprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 102 - sprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 153 - sprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 204 - pause 5 - ret + createsprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 51 + createsprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 102 + createsprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 153 + createsprite gBattleAnimSpriteTemplate_83D962C, 130, 0, 0, 204 + delay 5 + return _81C842D: - sprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 10, 0, -2 - sprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 13, -2, 0 - sprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 13, 2, 0 - sprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 15, -2, 2 - sprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 15, 2, 2 - ret + createsprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 10, 0, -2 + createsprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 13, -2, 0 + createsprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 13, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 15, -2, 2 + createsprite gBattleAnimSpriteTemplate_83D967C, 130, 0, 0, 15, 2, 2 + return Move_LEECH_SEED: @ 81C8483 - loadsprite 10006 - panse_19 SE_W077, 192 - sprite gBattleAnimSpriteTemplate_83D63C8, 130, 15, 0, 0, 24, 35, -32 - pause 8 - panse_19 SE_W077, 192 - sprite gBattleAnimSpriteTemplate_83D63C8, 130, 15, 0, -16, 24, 35, -40 - pause 8 - panse_19 SE_W077, 192 - sprite gBattleAnimSpriteTemplate_83D63C8, 130, 15, 0, 16, 24, 35, -37 - pause 12 - panse_1C SE_W039, 63, 10, 8 - wait + loadspritegfx 10006 + playsewithpan SE_W077, 192 + createsprite gBattleAnimSpriteTemplate_83D63C8, 130, 15, 0, 0, 24, 35, -32 + delay 8 + playsewithpan SE_W077, 192 + createsprite gBattleAnimSpriteTemplate_83D63C8, 130, 15, 0, -16, 24, 35, -40 + delay 8 + playsewithpan SE_W077, 192 + createsprite gBattleAnimSpriteTemplate_83D63C8, 130, 15, 0, 16, 24, 35, -37 + delay 12 + loopsewithpan SE_W039, 63, 10, 8 + waitforvisualfinish end Move_EMBER: @ 81C84D9 - loadsprite 10029 - panse_1C SE_W052, 192, 5, 2 - sprite gBattleAnimSpriteTemplate_83D95E4, 130, 20, 0, -16, 24, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D95E4, 130, 20, 0, 0, 24, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D95E4, 130, 20, 0, 16, 24, 20, 1 - pause 16 - panse_19 SE_W172, 63 + loadspritegfx 10029 + loopsewithpan SE_W052, 192, 5, 2 + createsprite gBattleAnimSpriteTemplate_83D95E4, 130, 20, 0, -16, 24, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D95E4, 130, 20, 0, 0, 24, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D95E4, 130, 20, 0, 16, 24, 20, 1 + delay 16 + playsewithpan SE_W172, 63 call _81C8535 call _81C8535 call _81C8535 end _81C8535: - sprite gBattleAnimSpriteTemplate_83D95FC, 130, -24, 24, 24, 24, 20, 1, 1 - pause 4 - ret + createsprite gBattleAnimSpriteTemplate_83D95FC, 130, -24, 24, 24, 24, 20, 1, 1 + delay 4 + return Move_MEGA_PUNCH: @ 81C854D - loadsprite 10135 - loadsprite 10143 - monbg 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 0, 16, 0 - setalpha 12, 8 - panse_19 SE_W025, 63 - sprite gBattleAnimSpriteTemplate_83DA058, 3, 0, 0, 0, 50 - createtask sub_80E2A38, 10, 4, 2, 0, 7, 32767 - pause 50 + loadspritegfx 10135 + loadspritegfx 10143 + monbg ANIM_BANK_TARGET + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 0, 16, 0 + setalpha 12, 8 + playsewithpan SE_W025, 63 + createsprite gBattleAnimSpriteTemplate_83DA058, 3, 0, 0, 0, 50 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 7, 32767 + delay 50 call _81C85E9 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 0 - createtask sub_80A7FA0, 2, 1, 4, 0, 22, 1 - createtask sub_80E2A38, 10, 4, 2, 0, 0, 32767 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 - panse_19 SE_W233B, 63 - wait - clearmonbg 1 - blendoff - pause 2 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 22, 1 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 0, 32767 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 + playsewithpan SE_W233B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET + blendoff + delay 2 restorebg waitbgfadein end _81C85E9: - pause 2 - createtask sub_80E4200, 2 - jumpvareq 7, 1, _81C8620 - createtask sub_812C924, 2 - jumpvareq 7, 0, _81C8612 - jumpvareq 7, 1, _81C8619 + delay 2 + createvisualtask sub_80E4200, 2 + jumpargeq 7, 1, _81C8620 + createvisualtask sub_812C924, 2 + jumpargeq 7, 0, _81C8612 + jumpargeq 7, 1, _81C8619 _81C8611: - ret + return _81C8612: changebg 4 - jump _81C8611 + goto _81C8611 _81C8619: changebg 5 - jump _81C8611 + goto _81C8611 _81C8620: changebg 6 - jump _81C8611 + goto _81C8611 Move_MEGA_KICK: @ 81C8627 - loadsprite 10135 - loadsprite 10143 - monbg 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 0, 16, 0 - setalpha 12, 8 - panse_19 SE_W025, 63 - sprite gBattleAnimSpriteTemplate_83DA058, 3, 0, 0, 1, 50 - createtask sub_80E2A38, 10, 4, 2, 0, 7, 32767 - pause 50 - panse_19 SE_W025B, 63 + loadspritegfx 10135 + loadspritegfx 10143 + monbg ANIM_BANK_TARGET + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 0, 16, 0 + setalpha 12, 8 + playsewithpan SE_W025, 63 + createsprite gBattleAnimSpriteTemplate_83DA058, 3, 0, 0, 1, 50 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 7, 32767 + delay 50 + playsewithpan SE_W025B, 63 call _81C85E9 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 0 - createtask sub_80A7FA0, 2, 1, 4, 0, 22, 1 - createtask sub_80E2A38, 10, 4, 2, 0, 0, 32767 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 - wait - clearmonbg 1 - blendoff - pause 2 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 22, 1 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 0, 32767 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET + blendoff + delay 2 restorebg waitbgfadein end Move_COMET_PUNCH: @ 81C86C3 - loadsprite 10135 - loadsprite 10143 - monbg 1 + loadspritegfx 10135 + loadspritegfx 10143 + monbg ANIM_BANK_TARGET setalpha 12, 8 - ifelse _81C86F1, _81C8716 + choosetwoturnanim _81C86F1, _81C8716 _81C86D7: - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - panse_19 SE_W004, 63 - wait - clearmonbg 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W004, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end _81C86F1: - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -8, -8, 1, 2 - sprite gBattleAnimSpriteTemplate_83D9FA8, 3, -8, 0, 8, 1, 0 - jump _81C86D7 + createsprite gBasicHitSplatSpriteTemplate, 2, -8, -8, 1, 2 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 3, -8, 0, 8, 1, 0 + goto _81C86D7 _81C8716: - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 8, -8, 1, 2 - sprite gBattleAnimSpriteTemplate_83D9FA8, 3, 8, 0, 8, 1, 0 - jump _81C86D7 + createsprite gBasicHitSplatSpriteTemplate, 2, 8, -8, 1, 2 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 3, 8, 0, 8, 1, 0 + goto _81C86D7 Move_SONIC_BOOM: @ 81C873B - loadsprite 10003 - loadsprite 10135 - monbg 3 + loadspritegfx 10003 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 call _81C8772 call _81C8772 call _81C8772 - createtask sub_80A7E7C, 2, 1, 3, 0, 10, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 10, 1 call _81C878A - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81C8772: - panse_19 SE_W013B, 192 - sprite gBattleAnimSpriteTemplate_83D74A4, 130, 16, 0, 0, 0, 15 - pause 4 - ret + playsewithpan SE_W013B, 192 + createsprite gBattleAnimSpriteTemplate_83D74A4, 130, 16, 0, 0, 0, 15 + delay 4 + return _81C878A: - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 2 - pause 4 - ret + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 2 + delay 4 + return Move_THUNDER_SHOCK: @ 81C879C - loadsprite 10001 - loadsprite 10011 - createtask sub_80E2A38, 10, 1, 0, 0, 6, 0 - wait - pause 10 - createtask sub_80D681C, 5, 0, -44, 0 - panse_19 SE_W085, 63 - pause 9 - createtask sub_80E2A38, 10, 4, 0, 0, 13, 0 - wait - createtask sub_80E2A38, 10, 4, 0, 13, 0, 0 - wait - pause 20 + loadspritegfx 10001 + loadspritegfx 10011 + createvisualtask sub_80E2A38, 10, 1, 0, 0, 6, 0 + waitforvisualfinish + delay 10 + createvisualtask sub_80D681C, 5, 0, -44, 0 + playsewithpan SE_W085, 63 + delay 9 + createvisualtask sub_80E2A38, 10, 4, 0, 0, 13, 0 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 4, 0, 13, 0, 0 + waitforvisualfinish + delay 20 call Unknown_81D6100 - wait - pause 20 - createtask sub_80E2A38, 10, 1, 0, 6, 0, 0 - wait + waitforvisualfinish + delay 20 + createvisualtask sub_80E2A38, 10, 1, 0, 6, 0, 0 + waitforvisualfinish end Move_THUNDERBOLT: @ 81C880A - loadsprite 10001 - loadsprite 10282 - loadsprite 10011 - createtask sub_80E2A38, 10, 1, 0, 0, 6, 0 - wait - pause 10 - createtask sub_80D681C, 5, 24, -52, 0 - panse_19 SE_W085, 63 - pause 7 - createtask sub_80D681C, 5, -24, -52, 0 - panse_19 SE_W085, 63 - pause 7 - createtask sub_80D681C, 5, 0, -60, 1 - panse_19 SE_W085, 63 - pause 9 - createtask sub_80E2A38, 10, 4, 0, 0, 13, 0 - wait - createtask sub_80E2A38, 10, 4, 0, 13, 0, 0 - wait - pause 20 - sprite gBattleAnimSpriteTemplate_83D98F0, 131, 44, 0, 0, 3 - sprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 32, 44, 0, 40, 0, -32765 - sprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 32, 44, 64, 40, 1, -32765 - sprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 32, 44, 128, 40, 0, -32765 - sprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 32, 44, 192, 40, 2, -32765 - sprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 16, 44, 32, 40, 0, -32765 - sprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 16, 44, 96, 40, 1, -32765 - sprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 16, 44, 160, 40, 0, -32765 - sprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 16, 44, 224, 40, 2, -32765 - panse_19 SE_W063, 63 - pause 0 - createtask sub_80E2A38, 10, 1, 0, 2, 2, 0 - pause 6 - createtask sub_80E2A38, 10, 1, 0, 6, 6, 0 - pause 6 - createtask sub_80E2A38, 10, 1, 0, 2, 2, 0 - pause 6 - createtask sub_80E2A38, 10, 1, 0, 6, 6, 0 - wait - pause 20 - panse_1D SE_W085B, 63, 19 + loadspritegfx 10001 + loadspritegfx 10282 + loadspritegfx 10011 + createvisualtask sub_80E2A38, 10, 1, 0, 0, 6, 0 + waitforvisualfinish + delay 10 + createvisualtask sub_80D681C, 5, 24, -52, 0 + playsewithpan SE_W085, 63 + delay 7 + createvisualtask sub_80D681C, 5, -24, -52, 0 + playsewithpan SE_W085, 63 + delay 7 + createvisualtask sub_80D681C, 5, 0, -60, 1 + playsewithpan SE_W085, 63 + delay 9 + createvisualtask sub_80E2A38, 10, 4, 0, 0, 13, 0 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 4, 0, 13, 0, 0 + waitforvisualfinish + delay 20 + createsprite gBattleAnimSpriteTemplate_83D98F0, 131, 44, 0, 0, 3 + createsprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 32, 44, 0, 40, 0, -32765 + createsprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 32, 44, 64, 40, 1, -32765 + createsprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 32, 44, 128, 40, 0, -32765 + createsprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 32, 44, 192, 40, 2, -32765 + createsprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 16, 44, 32, 40, 0, -32765 + createsprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 16, 44, 96, 40, 1, -32765 + createsprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 16, 44, 160, 40, 0, -32765 + createsprite gBattleAnimSpriteTemplate_83D9908, 132, 0, 0, 16, 44, 224, 40, 2, -32765 + playsewithpan SE_W063, 63 + delay 0 + createvisualtask sub_80E2A38, 10, 1, 0, 2, 2, 0 + delay 6 + createvisualtask sub_80E2A38, 10, 1, 0, 6, 6, 0 + delay 6 + createvisualtask sub_80E2A38, 10, 1, 0, 2, 2, 0 + delay 6 + createvisualtask sub_80E2A38, 10, 1, 0, 6, 6, 0 + waitforvisualfinish + delay 20 + waitplaysewithpan SE_W085B, 63, 19 call Unknown_81D6100 - wait - pause 20 - createtask sub_80E2A38, 10, 1, 0, 6, 0, 0 - wait + waitforvisualfinish + delay 20 + createvisualtask sub_80E2A38, 10, 1, 0, 6, 0, 0 + waitforvisualfinish end Move_THUNDER_WAVE: @ 81C89C0 - loadsprite 10001 - loadsprite 10011 - loadsprite 10173 - createtask sub_80E2A38, 10, 1, 0, 0, 6, 0 - wait - pause 10 - createtask sub_80D681C, 5, 0, -48, 0 - panse_19 SE_W086, 63 - pause 20 - panse_1C SE_W085B, 63, 10, 4 - sprite gBattleAnimSpriteTemplate_83D9950, 130, -16, -16 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9950, 130, -16, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9950, 130, -16, 16 - wait - createtask sub_80E2A38, 10, 1, 0, 6, 0, 0 - wait + loadspritegfx 10001 + loadspritegfx 10011 + loadspritegfx 10173 + createvisualtask sub_80E2A38, 10, 1, 0, 0, 6, 0 + waitforvisualfinish + delay 10 + createvisualtask sub_80D681C, 5, 0, -48, 0 + playsewithpan SE_W086, 63 + delay 20 + loopsewithpan SE_W085B, 63, 10, 4 + createsprite gBattleAnimSpriteTemplate_83D9950, 130, -16, -16 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9950, 130, -16, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9950, 130, -16, 16 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 1, 0, 6, 0, 0 + waitforvisualfinish end Move_BEAT_UP: @ 81C8A2F - loadsprite 10135 - loadsprite 10143 - monbg 1 + loadspritegfx 10135 + loadspritegfx 10143 + monbg ANIM_BANK_TARGET setalpha 12, 8 - ifelse _81C8A48, _81C8AB9 + choosetwoturnanim _81C8A48, _81C8AB9 _81C8A43: - wait - clearmonbg 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end _81C8A48: - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, -20, -20, 1, 2 - sprite gBattleAnimSpriteTemplate_83D9FA8, 131, -20, -12, 8, 1, 0 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - panse_19 SE_W233B, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 8, 0, 1, 2 - sprite gBattleAnimSpriteTemplate_83D9FA8, 131, 8, 8, 8, 1, 0 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - panse_19 SE_W233B, 63 - jump _81C8A43 + createsprite gBasicHitSplatSpriteTemplate, 130, -20, -20, 1, 2 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 131, -20, -12, 8, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W233B, 63 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 130, 8, 0, 1, 2 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 131, 8, 8, 8, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W233B, 63 + goto _81C8A43 _81C8AB9: - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 12, -20, 1, 2 - sprite gBattleAnimSpriteTemplate_83D9FA8, 131, 12, -12, 8, 1, 0 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - panse_19 SE_W233B, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, -12, 0, 1, 2 - sprite gBattleAnimSpriteTemplate_83D9FA8, 131, -12, 8, 8, 1, 0 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - panse_19 SE_W233B, 63 - jump _81C8A43 + createsprite gBasicHitSplatSpriteTemplate, 130, 12, -20, 1, 2 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 131, 12, -12, 8, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W233B, 63 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 130, -12, 0, 1, 2 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 131, -12, 8, 8, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W233B, 63 + goto _81C8A43 Move_STOMP: @ 81C8B2A - loadsprite 10143 - loadsprite 10135 - monbg 1 + loadspritegfx 10143 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W104, 63 - sprite gBattleAnimSpriteTemplate_83DA070, 3, 0, -32, 15 - pause 19 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, -8, 1, 1 - createtask sub_80A7E7C, 2, 1, 0, 4, 9, 1 - panse_19 SE_W025B, 63 - wait - clearmonbg 1 + playsewithpan SE_W104, 63 + createsprite gBattleAnimSpriteTemplate_83DA070, 3, 0, -32, 15 + delay 19 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, -8, 1, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 4, 9, 1 + playsewithpan SE_W025B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_TAIL_WHIP: @ 81C8B71 - panse_1C SE_W039, 192, 24, 3 - createtask sub_80A8500, 2, 0, 12, 4, 2, 3 - wait + loopsewithpan SE_W039, 192, 24, 3 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 12, 4, 2, 3 + waitforvisualfinish end Move_CUT: @ 81C8B8A - loadsprite 10138 - monbg 1 + loadspritegfx 10138 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W015, 63 - sprite gBattleAnimSpriteTemplate_83D6B28, 2, 40, -32, 0 - pause 5 - createtask sub_80A7E7C, 2, 1, 0, 3, 10, 1 - wait - clearmonbg 1 + playsewithpan SE_W015, 63 + createsprite gBattleAnimSpriteTemplate_83D6B28, 2, 40, -32, 0 + delay 5 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 10, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff - wait + waitforvisualfinish end Move_HIDDEN_POWER: @ 81C8BBC - loadsprite 10217 - panse_19 SE_W036, 192 - createtask sub_80A8D34, 5, -7, -7, 11, 0, 0 - wait - pause 30 - createtask sub_8079790, 5, 0, 20479, 12, 5, 1 - pause 4 - createtask sub_80A8D34, 5, -7, -7, 11, 0, 0 - panse_19 SE_W179, 192 - sprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 0 - sprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 42 - sprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 84 - sprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 126 - sprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 168 - sprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 210 - pause 52 - setvar 7, -1 - panse_19 SE_W115, 192 - createtask sub_80A8D34, 5, -7, -7, 11, 0, 0 - sprite gBattleAnimSpriteTemplate_83D7B2C, 130, 0 - sprite gBattleAnimSpriteTemplate_83D7B2C, 130, 32 - sprite gBattleAnimSpriteTemplate_83D7B2C, 130, 64 - sprite gBattleAnimSpriteTemplate_83D7B2C, 130, 96 - sprite gBattleAnimSpriteTemplate_83D7B2C, 130, 128 - sprite gBattleAnimSpriteTemplate_83D7B2C, 130, 160 - sprite gBattleAnimSpriteTemplate_83D7B2C, 130, 192 - sprite gBattleAnimSpriteTemplate_83D7B2C, 130, 224 + loadspritegfx 10217 + playsewithpan SE_W036, 192 + createvisualtask sub_80A8D34, 5, -7, -7, 11, 0, 0 + waitforvisualfinish + delay 30 + createvisualtask sub_8079790, 5, 0, 20479, 12, 5, 1 + delay 4 + createvisualtask sub_80A8D34, 5, -7, -7, 11, 0, 0 + playsewithpan SE_W179, 192 + createsprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 0 + createsprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 42 + createsprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 84 + createsprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 126 + createsprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 168 + createsprite gBattleAnimSpriteTemplate_83D7B14, 2, 26, 210 + delay 52 + setarg 7, -1 + playsewithpan SE_W115, 192 + createvisualtask sub_80A8D34, 5, -7, -7, 11, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D7B2C, 130, 0 + createsprite gBattleAnimSpriteTemplate_83D7B2C, 130, 32 + createsprite gBattleAnimSpriteTemplate_83D7B2C, 130, 64 + createsprite gBattleAnimSpriteTemplate_83D7B2C, 130, 96 + createsprite gBattleAnimSpriteTemplate_83D7B2C, 130, 128 + createsprite gBattleAnimSpriteTemplate_83D7B2C, 130, 160 + createsprite gBattleAnimSpriteTemplate_83D7B2C, 130, 192 + createsprite gBattleAnimSpriteTemplate_83D7B2C, 130, 224 end Move_REVERSAL: @ 81C8CA5 - loadsprite 10236 - loadsprite 10143 - loadsprite 10135 - panse_19 SE_W197, 192 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 3, 32767, 8, 0, 0 - wait - pause 30 - createtask sub_80E1F8C, 2, 31, 3, 2, 0, 10, 32767 - pause 10 - panse_19 SE_W179, 192 - sprite gBattleAnimSpriteTemplate_8402738, 2, 26, 0 - sprite gBattleAnimSpriteTemplate_8402738, 2, 26, 42 - sprite gBattleAnimSpriteTemplate_8402738, 2, 26, 84 - sprite gBattleAnimSpriteTemplate_8402738, 2, 26, 126 - sprite gBattleAnimSpriteTemplate_8402738, 2, 26, 168 - sprite gBattleAnimSpriteTemplate_8402738, 2, 26, 210 - wait - pause 20 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 - pause 8 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 32767, 8, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 10, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 1 - createtask sub_80A9058, 5, 0, 1, 8, 1, 0 + loadspritegfx 10236 + loadspritegfx 10143 + loadspritegfx 10135 + playsewithpan SE_W197, 192 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 3, 32767, 8, 0, 0 + waitforvisualfinish + delay 30 + createvisualtask sub_80E1F8C, 2, 31, 3, 2, 0, 10, 32767 + delay 10 + playsewithpan SE_W179, 192 + createsprite gBattleAnimSpriteTemplate_8402738, 2, 26, 0 + createsprite gBattleAnimSpriteTemplate_8402738, 2, 26, 42 + createsprite gBattleAnimSpriteTemplate_8402738, 2, 26, 84 + createsprite gBattleAnimSpriteTemplate_8402738, 2, 26, 126 + createsprite gBattleAnimSpriteTemplate_8402738, 2, 26, 168 + createsprite gBattleAnimSpriteTemplate_8402738, 2, 26, 210 + waitforvisualfinish + delay 20 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 8 + playsewithpan SE_W233B, 63 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 32767, 8, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 10, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createvisualtask sub_80A9058, 5, 0, 1, 8, 1, 0 end Move_PURSUIT: @ 81C8D80 - loadsprite 10135 - monbg 1 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET fadetobg 1 waitbgfadein - pause 0 + delay 0 setalpha 12, 8 - ifelse _81C8D9F, _81C8DC8 + choosetwoturnanim _81C8D9F, _81C8DC8 _81C8D96: - wait - clearmonbg 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff - pause 0 + delay 0 restorebg waitbgfadein end _81C8D9F: - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 2 - createtask sub_80A9058, 5, 0, 1, 6, 1, 0 - jump _81C8D96 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask sub_80A9058, 5, 0, 1, 6, 1, 0 + goto _81C8D96 _81C8DC8: - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 1 - createtask sub_80A9058, 5, 0, 1, 6, 1, 0 - jump _81C8D96 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createvisualtask sub_80A9058, 5, 0, 1, 6, 1, 0 + goto _81C8D96 Move_SPIKE_CANNON: @ 81C8DF1 - loadsprite 10161 - loadsprite 10135 - monbg 1 + loadspritegfx 10161 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 12, 8 - createtask sub_80A8920, 5, 0, -4, 0, 4, 6, 8, 4 - wait - panse_1C SE_W013B, 192, 5, 3 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5 - sprite gBattleAnimSpriteTemplate_83DAB8C, 2, 10, -8, -8, -8, 20 - sprite gBattleAnimSpriteTemplate_83DAB8C, 2, 18, 0, 0, 0, 20 - sprite gBattleAnimSpriteTemplate_83DAB8C, 2, 26, 8, 8, 8, 20 - wait - sprite gBattleAnimSpriteTemplate_83DB4C0, 3, -8, -8, 1, 2 - sprite gBattleAnimSpriteTemplate_83DB4C0, 3, 0, 0, 1, 2 - sprite gBattleAnimSpriteTemplate_83DB4C0, 3, 8, 8, 1, 2 - createtask sub_80A7FA0, 2, 1, 3, 0, 7, 1 - panse_1C SE_W030, 63, 5, 3 - wait - clearmonbg 1 + createvisualtask sub_80A8920, 5, 0, -4, 0, 4, 6, 8, 4 + waitforvisualfinish + loopsewithpan SE_W013B, 192, 5, 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + createsprite gBattleAnimSpriteTemplate_83DAB8C, 2, 10, -8, -8, -8, 20 + createsprite gBattleAnimSpriteTemplate_83DAB8C, 2, 18, 0, 0, 0, 20 + createsprite gBattleAnimSpriteTemplate_83DAB8C, 2, 26, 8, 8, 8, 20 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, -8, -8, 1, 2 + createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 0, 0, 1, 2 + createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 8, 8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 7, 1 + loopsewithpan SE_W030, 63, 5, 3 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_SWORDS_DANCE: @ 81C8EA4 - loadsprite 10005 - monbg 0 + loadspritegfx 10005 + monbg ANIM_BANK_ATTACKER setalpha 12, 8 - panse_19 SE_W014, 192 - createtask sub_80A8500, 2, 0, 16, 6, 1, 4 - sprite gBattleAnimSpriteTemplate_83D748C, 2, 0, 0 - pause 22 - createtask sub_80E21A8, 2, 10005, 2, 2, 32754, 16, 0, 0 - wait - clearmonbg 0 + playsewithpan SE_W014, 192 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 16, 6, 1, 4 + createsprite gBattleAnimSpriteTemplate_83D748C, 2, 0, 0 + delay 22 + createvisualtask sub_80E21A8, 2, 10005, 2, 2, 32754, 16, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER blendoff - pause 1 + delay 1 end Move_PSYCH_UP: @ 81C8EEA - loadsprite 10196 - monbg 2 - createtask sub_80E1F8C, 2, 25, 2, 6, 1, 11, 0 + loadspritegfx 10196 + monbg ANIM_BANK_ATK_PARTNER + createvisualtask sub_80E1F8C, 2, 25, 2, 6, 1, 11, 0 setalpha 12, 8 - panse_1C SE_W060B, 192, 5, 10 - sprite gBattleAnimSpriteTemplate_83DA690, 2, 0, 0, 0, 0 - createtask sub_80A8B88, 5, 0, 5, 2560, 8, 0 - pause 127 - pause 4 - panse_19 SE_W060, 192 - createtask sub_80A8D34, 5, -5, -5, 10, 0, 1 - createtask sub_80E2A38, 9, 2, 2, 10, 0, 1023 - pause 30 - clearmonbg 2 + loopsewithpan SE_W060B, 192, 5, 10 + createsprite gBattleAnimSpriteTemplate_83DA690, 2, 0, 0, 0, 0 + createvisualtask AnimTask_SwayMon, 5, 0, 5, 2560, 8, 0 + delay 127 + delay 4 + playsewithpan SE_W060, 192 + createvisualtask sub_80A8D34, 5, -5, -5, 10, 0, 1 + createvisualtask sub_80E2A38, 9, 2, 2, 10, 0, 1023 + delay 30 + clearmonbg ANIM_BANK_ATK_PARTNER blendoff - wait + waitforvisualfinish end Move_DIZZY_PUNCH: @ 81C8F5C - loadsprite 10073 - loadsprite 10143 - loadsprite 10135 - monbg 1 + loadspritegfx 10073 + loadspritegfx 10143 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 call _81C9077 - sprite gBattleAnimSpriteTemplate_83D9FA8, 133, 16, 8, 20, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 132, 16, 0, 1, 1 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, 160, -32 - sprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, -256, -40 - sprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, 128, -16 - sprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, 416, -38 - sprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, -128, -22 - sprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, -384, -31 - pause 10 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 133, 16, 8, 20, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 132, 16, 0, 1, 1 + playsewithpan SE_W004, 63 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, 160, -32 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, -256, -40 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, 128, -16 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, 416, -38 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, -128, -22 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, 16, 8, -384, -31 + delay 10 call _81C9077 - sprite gBattleAnimSpriteTemplate_83D9FA8, 133, -16, -8, 20, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 132, -16, -16, 1, 1 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, 160, -32 - sprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, -256, -40 - sprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, 128, -16 - sprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, 416, -38 - sprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, -128, -22 - sprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, -384, -31 - wait - clearmonbg 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 133, -16, -8, 20, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 132, -16, -16, 1, 1 + playsewithpan SE_W233B, 63 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, 160, -32 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, -256, -40 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, 128, -16 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, 416, -38 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, -128, -22 + createsprite gBattleAnimSpriteTemplate_83DA088, 131, -16, -8, -384, -31 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end _81C9077: - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 - pause 6 - createtask sub_80A7FA0, 2, 1, 3, 0, 7, 1 - ret + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 6 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 7, 1 + return Move_FIRE_SPIN: @ 81C9096 - loadsprite 10029 - panse_19 SE_W221B, 63 - createtask sub_80A7E7C, 5, 1, 0, 2, 47, 1 + loadspritegfx 10029 + playsewithpan SE_W221B, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 2, 47, 1 call _81C90BF call _81C90BF call _81C90BF - wait + waitforvisualfinish end _81C90BF: - sprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 28, 528, 30, 13, 50, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 32, 480, 20, 16, -46, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 33, 576, 20, 8, 42, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 31, 400, 25, 11, -42, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 28, 512, 25, 16, 46, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 33, 464, 30, 15, -50, 1 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 28, 528, 30, 13, 50, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 32, 480, 20, 16, -46, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 33, 576, 20, 8, 42, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 31, 400, 25, 11, -42, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 28, 512, 25, 16, 46, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 130, 0, 33, 464, 30, 15, -50, 1 + delay 2 + return Move_FURY_CUTTER: @ 81C914A - loadsprite 10138 - monbg 1 + loadspritegfx 10138 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W013, 63 - createtask UpdateFuryCutterAnimDirection, 2 - jumpvareq 7, 0, _81C91A7 - jump _81C91B9 + playsewithpan SE_W013, 63 + createvisualtask UpdateFuryCutterAnimDirection, 2 + jumpargeq 7, 0, _81C91A7 + goto _81C91B9 _81C916A: - createtask UpdateFuryCutterAnimCount, 2 - jumpvareq 7, 1, _81C918E - jumpvareq 7, 2, _81C91CB - jumpvareq 7, 3, _81C91E5 - jump _81C91FF + createvisualtask UpdateFuryCutterAnimCount, 2 + jumpargeq 7, 1, _81C918E + jumpargeq 7, 2, _81C91CB + jumpargeq 7, 3, _81C91E5 + goto _81C91FF _81C918E: - pause 5 - createtask sub_80A7E7C, 2, 1, 0, 3, 10, 1 - wait - clearmonbg 1 + delay 5 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 10, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff - wait + waitforvisualfinish end _81C91A7: - sprite gBattleAnimSpriteTemplate_83D6B28, 2, 40, -32, 0 - jump _81C916A + createsprite gBattleAnimSpriteTemplate_83D6B28, 2, 40, -32, 0 + goto _81C916A _81C91B9: - sprite gBattleAnimSpriteTemplate_83D6B28, 2, 40, -32, 1 - jump _81C916A + createsprite gBattleAnimSpriteTemplate_83D6B28, 2, 40, -32, 1 + goto _81C916A _81C91CB: - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 10505, 4, 0, 0 - jump _81C918E + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 10505, 4, 0, 0 + goto _81C918E _81C91E5: - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 3, 10505, 4, 0, 0 - jump _81C918E + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 3, 10505, 4, 0, 0 + goto _81C918E _81C91FF: - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 3, 10505, 4, 0, 0 - jump _81C918E + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 3, 10505, 4, 0, 0 + goto _81C918E Move_SELF_DESTRUCT: @ 81C9219 - loadsprite 10198 - createtask sub_80E2A38, 10, 2, 1, 0, 9, 31 - createtask sub_80A7FA0, 5, 4, 6, 0, 38, 1 - createtask sub_80A7FA0, 5, 5, 6, 0, 38, 1 - createtask sub_80A7FA0, 5, 6, 6, 0, 38, 1 - createtask sub_80A7FA0, 5, 7, 6, 0, 38, 1 - createtask sub_80A7FA0, 5, 8, 6, 0, 38, 1 + loadspritegfx 10198 + createvisualtask sub_80E2A38, 10, 2, 1, 0, 9, 31 + createvisualtask AnimTask_ShakeMon2, 5, 4, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, 5, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, 6, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, 7, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, 8, 6, 0, 38, 1 call _81C929F call _81C929F - wait - createtask sub_80E2A38, 10, 2, 1, 9, 0, 31 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 2, 1, 9, 0, 31 end _81C929F: - panse_19 SE_W120, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 0, 1 - pause 6 - panse_19 SE_W120, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 0, 1 - pause 6 - panse_19 SE_W120, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 0, 1 - pause 6 - panse_19 SE_W120, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 0, 1 - pause 6 - panse_19 SE_W120, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 0, 1 - pause 6 - ret + playsewithpan SE_W120, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 0, 1 + delay 6 + playsewithpan SE_W120, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 0, 1 + delay 6 + playsewithpan SE_W120, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 0, 1 + delay 6 + playsewithpan SE_W120, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 0, 1 + delay 6 + playsewithpan SE_W120, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 0, 1 + delay 6 + return Move_SLAM: @ 81C9309 - loadsprite 10056 - loadsprite 10135 - monbg 1 - setalpha 12, 8 - panse_19 SE_W004, 192 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 3, 0, 4 - pause 1 - sprite gBattleAnimSpriteTemplate_83D69DC, 2, 0, 0 - pause 3 - panse_19 SE_W025B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -12, 10, 0, 3 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5 - pause 3 - createtask sub_80A8154, 2, 1, 0, 3, 6, 1 - wait - pause 5 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6 - wait - clearmonbg 1 + loadspritegfx 10056 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + playsewithpan SE_W004, 192 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 3, 0, 4 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D69DC, 2, 0, 0 + delay 3 + playsewithpan SE_W025B, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -12, 10, 0, 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + delay 3 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 0, 3, 6, 1 + waitforvisualfinish + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_VINE_WHIP: @ 81C9391 - loadsprite 10287 - panse_19 SE_W026, 192 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6 - pause 6 - panse_19 SE_W010, 63 - sprite gBattleAnimSpriteTemplate_83D69F4, 130, 0, 0 - pause 6 - createtask sub_80A7FA0, 2, 1, 2, 0, 6, 1 + loadspritegfx 10287 + playsewithpan SE_W026, 192 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 6 + playsewithpan SE_W010, 63 + createsprite gBattleAnimSpriteTemplate_83D69F4, 130, 0, 0 + delay 6 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 6, 1 end Move_DRILL_PECK: @ 81C93C8 - loadsprite 10135 - loadsprite 10162 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 0 - panse_19 SE_W029, 192 - wait - pause 2 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1 - pause 2 - panse_1C SE_W030, 63, 4, 8 - createtask sub_80DB0E8, 5 - createtask sub_80A7FA0, 2, 1, 4, 0, 18, 1 - wait - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 6 - wait + loadspritegfx 10135 + loadspritegfx 10162 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 0 + playsewithpan SE_W029, 192 + waitforvisualfinish + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1 + delay 2 + loopsewithpan SE_W030, 63, 4, 8 + createvisualtask sub_80DB0E8, 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 18, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6 + waitforvisualfinish end Move_WATERFALL: @ 81C9421 - loadsprite 10148 - loadsprite 10155 - loadsprite 10141 - monbg 3 - setalpha 12, 8 - createtask sub_80A7E7C, 5, 0, 0, 2, 23, 1 - pause 5 - panse_19 SE_W152, 192 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 10, 10, 25, 0 - pause 4 - panse_19 SE_W152, 192 - sprite gBattleAnimSpriteTemplate_83D9348, 2, -15, 0, 25, 0 - pause 4 - panse_19 SE_W152, 192 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 20, 10, 25, 0 - pause 4 - panse_19 SE_W152, 192 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 0, -10, 25, 0 - pause 4 - panse_19 SE_W152, 192 - sprite gBattleAnimSpriteTemplate_83D9348, 2, -10, 15, 25, 0 - pause 4 - panse_19 SE_W152, 192 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 25, 20, 25, 0 - pause 4 - panse_19 SE_W152, 192 - sprite gBattleAnimSpriteTemplate_83D9348, 2, -20, 20, 25, 0 - pause 4 - panse_19 SE_W152, 192 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 12, 0, 25, 0 - wait - pause 10 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 5 - pause 6 + loadspritegfx 10148 + loadspritegfx 10155 + loadspritegfx 10141 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon, 5, 0, 0, 2, 23, 1 + delay 5 + playsewithpan SE_W152, 192 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 10, 10, 25, 0 + delay 4 + playsewithpan SE_W152, 192 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, -15, 0, 25, 0 + delay 4 + playsewithpan SE_W152, 192 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 20, 10, 25, 0 + delay 4 + playsewithpan SE_W152, 192 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 0, -10, 25, 0 + delay 4 + playsewithpan SE_W152, 192 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, -10, 15, 25, 0 + delay 4 + playsewithpan SE_W152, 192 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 25, 20, 25, 0 + delay 4 + playsewithpan SE_W152, 192 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, -20, 20, 25, 0 + delay 4 + playsewithpan SE_W152, 192 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 12, 0, 25, 0 + waitforvisualfinish + delay 10 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 5 + delay 6 call _81C9502 - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81C9502: - panse_19 SE_W127, 63 - createtask sub_80A7FA0, 5, 1, 4, 0, 17, 1 - sprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 20, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 20 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 20 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 15, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 15 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 15 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 10, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 10 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 10 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 5, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 5 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 5 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, -5, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -5 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -5 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, -10, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -10 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -10 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, -15, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -15 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -15 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, -20, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -20 - sprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -20 - ret + playsewithpan SE_W127, 63 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 17, 1 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 20, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 20 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 15, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 15 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 15 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 10, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 10 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 10 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 5, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 5 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 5 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 0, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, -5, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -5 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -5 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, -10, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -10 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -10 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, -15, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -15 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -15 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, -20, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -20 + createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, -20 + return Move_EXPLOSION: @ 81C9675 - loadsprite 10198 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 8, 9, 8474, 8, 0, 8 - createtask sub_80A7FA0, 5, 4, 8, 0, 40, 1 - createtask sub_80A7FA0, 5, 5, 8, 0, 40, 1 - createtask sub_80A7FA0, 5, 6, 8, 0, 40, 1 - createtask sub_80A7FA0, 5, 7, 8, 0, 40, 1 - createtask sub_80A7FA0, 5, 8, 8, 0, 40, 1 + loadspritegfx 10198 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 8, 9, 8474, 8, 0, 8 + createvisualtask AnimTask_ShakeMon2, 5, 4, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 5, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 6, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 7, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 8, 8, 0, 40, 1 call _81C9712 call _81C9712 - wait - createtask sub_80E2A38, 10, 1, 1, 16, 16, 32767 - pause 50 - createtask sub_80E2A38, 10, 1, 3, 16, 0, 32767 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 1, 1, 16, 16, 32767 + delay 50 + createvisualtask sub_80E2A38, 10, 1, 3, 16, 0, 32767 end _81C9712: - panse_19 SE_W153, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 0, 1 - pause 6 - panse_19 SE_W153, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 0, 1 - pause 6 - panse_19 SE_W153, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 0, 1 - pause 6 - panse_19 SE_W153, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 0, 1 - pause 6 - panse_19 SE_W153, 192 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 0, 1 - pause 6 - ret + playsewithpan SE_W153, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 0, 1 + delay 6 + playsewithpan SE_W153, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 0, 1 + delay 6 + playsewithpan SE_W153, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 0, 1 + delay 6 + playsewithpan SE_W153, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 0, 1 + delay 6 + playsewithpan SE_W153, 192 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 0, 1 + delay 6 + return Move_DEFENSE_CURL: @ 81C977C - loadsprite 10234 - panse_1C SE_W161, 192, 18, 3 - createtask sub_80E0E24, 5, 0, 0 - createtask sub_812D350, 5 - wait - sprite gBattleAnimSpriteTemplate_8402498, 2, 0, 6, 0, 1 - wait - createtask sub_80E0E24, 5, 0, 1 - wait + loadspritegfx 10234 + loopsewithpan SE_W161, 192, 18, 3 + createvisualtask sub_80E0E24, 5, 0, 0 + createvisualtask sub_812D350, 5 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_8402498, 2, 0, 6, 0, 1 + waitforvisualfinish + createvisualtask sub_80E0E24, 5, 0, 1 + waitforvisualfinish end Move_PROTECT: @ 81C97B5 - loadsprite 10280 - monbg 2 + loadspritegfx 10280 + monbg ANIM_BANK_ATK_PARTNER monbgprio_28 0 - panse_1D SE_W115, 192, 16 - sprite gBattleAnimSpriteTemplate_83D6BE8, 2, 24, 0, 90 - wait - clearmonbg 2 + waitplaysewithpan SE_W115, 192, 16 + createsprite gBattleAnimSpriteTemplate_83D6BE8, 2, 24, 0, 90 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER end Move_DETECT: @ 81C97D2 - loadsprite 10071 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 9, 0 - wait - createtask sub_80E2A38, 10, 2, 1, 0, 9, 32767 - pause 18 - panse_19 SE_W197, 192 - sprite gBattleAnimSpriteTemplate_83930F4, 13, 20, -20 - wait - pause 10 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 9, 0, 0 - createtask sub_80E2A38, 10, 2, 2, 9, 0, 32767 - wait + loadspritegfx 10071 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 9, 0 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 2, 1, 0, 9, 32767 + delay 18 + playsewithpan SE_W197, 192 + createsprite gBattleAnimSpriteTemplate_83930F4, 13, 20, -20 + waitforvisualfinish + delay 10 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 9, 0, 0 + createvisualtask sub_80E2A38, 10, 2, 2, 9, 0, 32767 + waitforvisualfinish end Move_FRUSTRATION: @ 81C9830 - loadsprite 10135 - loadsprite 10087 - monbg 3 - setalpha 12, 8 - createtask sub_8079CEC, 1 - jumpvareq 7, 0, _81C9864 - jumpvareq 7, 1, _81C996A - jumpvareq 7, 2, _81C9A37 - jump _81C9AB3 + loadspritegfx 10135 + loadspritegfx 10087 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + createvisualtask sub_8079CEC, 1 + jumpargeq 7, 0, _81C9864 + jumpargeq 7, 1, _81C996A + jumpargeq 7, 2, _81C9A37 + goto _81C9AB3 _81C985F: - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81C9864: - panse_19 SE_W082, 192 - createtask sub_80A7FA0, 5, 0, 1, 0, 15, 1 - createtask sub_80E2A38, 10, 2, 3, 0, 9, 31 - wait - pause 20 - panse_19 SE_W207B, 192 - sprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 - wait - panse_19 SE_W207B, 192 - sprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 - wait - pause 10 - createtask sub_80A8B88, 5, 0, 16, 6144, 8, 0 - pause 5 - createtask sub_80A7FA0, 5, 1, 4, 0, 30, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 0 - panse_19 SE_W004, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 24, 8, 1, 0 - panse_19 SE_W004, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, -24, -16, 1, 0 - panse_19 SE_W004, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 8, 4, 1, 0 - panse_19 SE_W004, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, -16, 19, 1, 0 - panse_19 SE_W004, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 18, -18, 1, 0 - panse_19 SE_W004, 63 - wait - createtask sub_80E2A38, 10, 2, 3, 9, 0, 31 - jump _81C985F + playsewithpan SE_W082, 192 + createvisualtask AnimTask_ShakeMon2, 5, 0, 1, 0, 15, 1 + createvisualtask sub_80E2A38, 10, 2, 3, 0, 9, 31 + waitforvisualfinish + delay 20 + playsewithpan SE_W207B, 192 + createsprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 + waitforvisualfinish + playsewithpan SE_W207B, 192 + createsprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 + waitforvisualfinish + delay 10 + createvisualtask AnimTask_SwayMon, 5, 0, 16, 6144, 8, 0 + delay 5 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 30, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0 + playsewithpan SE_W004, 63 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 24, 8, 1, 0 + playsewithpan SE_W004, 63 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, -24, -16, 1, 0 + playsewithpan SE_W004, 63 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 8, 4, 1, 0 + playsewithpan SE_W004, 63 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, -16, 19, 1, 0 + playsewithpan SE_W004, 63 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 18, -18, 1, 0 + playsewithpan SE_W004, 63 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 2, 3, 9, 0, 31 + goto _81C985F _81C996A: - panse_19 SE_W082, 192 - createtask sub_80A7FA0, 5, 0, 1, 0, 15, 1 - createtask sub_80E2A38, 10, 2, 3, 0, 9, 31 - wait - pause 20 - panse_19 SE_W207B, 192 - sprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 - wait - pause 5 - createtask sub_812E498, 5 - pause 7 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 8, 1, 1 - createtask sub_80A7FA0, 5, 1, 4, 0, 6, 1 - pause 14 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 12, -6, 1, 1 - createtask sub_80A7FA0, 5, 1, 4, 0, 6, 1 - pause 14 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, -12, -6, 1, 1 - createtask sub_80A7FA0, 5, 1, 4, 0, 6, 1 - wait - createtask sub_80E2A38, 10, 2, 3, 9, 0, 31 - jump _81C985F + playsewithpan SE_W082, 192 + createvisualtask AnimTask_ShakeMon2, 5, 0, 1, 0, 15, 1 + createvisualtask sub_80E2A38, 10, 2, 3, 0, 9, 31 + waitforvisualfinish + delay 20 + playsewithpan SE_W207B, 192 + createsprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 + waitforvisualfinish + delay 5 + createvisualtask sub_812E498, 5 + delay 7 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 8, 1, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 6, 1 + delay 14 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 12, -6, 1, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 6, 1 + delay 14 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, -12, -6, 1, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 6, 1 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 2, 3, 9, 0, 31 + goto _81C985F _81C9A37: - panse_19 SE_W207B, 192 - sprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 - wait - pause 5 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4 - pause 6 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 10, 4, 1, 1 - createtask sub_80A7FA0, 2, 1, 3, 0, 6, 1 - wait - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4 - pause 6 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -4, 1, 2 - createtask sub_80A7FA0, 2, 1, 3, 0, 6, 1 - jump _81C985F + playsewithpan SE_W207B, 192 + createsprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 + waitforvisualfinish + delay 5 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 4, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + waitforvisualfinish + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -4, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + goto _81C985F _81C9AB3: - sprite gBattleAnimSpriteTemplate_8402630, 2, 20, -28 - wait - pause 10 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 10, 2 - pause 12 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7FA0, 2, 1, 1, 0, 6, 1 - jump _81C985F + createsprite gBattleAnimSpriteTemplate_8402630, 2, 20, -28 + waitforvisualfinish + delay 10 + createsprite gHorizontalLungeSpriteTemplate, 2, 10, 2 + delay 12 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 6, 1 + goto _81C985F Move_SAFEGUARD: @ 81C9AF7 - loadsprite 10244 - monbg 2 + loadspritegfx 10244 + monbg ANIM_BANK_ATK_PARTNER setalpha 8, 8 - panse_19 SE_W208, 192 - sprite gBattleAnimSpriteTemplate_83D7D74, 2 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7D74, 2 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7D74, 2 - wait - panse_19 SE_REAPOKE, 192 - createtask sub_80E1F8C, 2, 10, 0, 2, 0, 10, 32767 - wait - clearmonbg 2 + playsewithpan SE_W208, 192 + createsprite gBattleAnimSpriteTemplate_83D7D74, 2 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7D74, 2 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7D74, 2 + waitforvisualfinish + playsewithpan SE_REAPOKE, 192 + createvisualtask sub_80E1F8C, 2, 10, 0, 2, 0, 10, 32767 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff end Move_PAIN_SPLIT: @ 81C9B39 - loadsprite 10239 - sprite gBattleAnimSpriteTemplate_84026F0, 2, -8, -42, 0 - sprite gBattleAnimSpriteTemplate_84026F0, 130, -8, -42, 1 - pause 10 - panse_19 SE_W207B, 0 - createtask sub_812EB10, 2, 0, 0 - createtask sub_812EB10, 2, 1, 0 - wait - sprite gBattleAnimSpriteTemplate_84026F0, 2, -24, -42, 0 - sprite gBattleAnimSpriteTemplate_84026F0, 130, -24, -42, 1 - pause 10 - panse_19 SE_W207B, 0 - createtask sub_812EB10, 2, 0, 1 - createtask sub_812EB10, 2, 1, 1 - wait - sprite gBattleAnimSpriteTemplate_84026F0, 2, 8, -42, 0 - sprite gBattleAnimSpriteTemplate_84026F0, 130, 8, -42, 1 - pause 10 - panse_19 SE_W207B, 0 - createtask sub_812EB10, 2, 0, 2 - createtask sub_812EB10, 2, 1, 2 + loadspritegfx 10239 + createsprite gBattleAnimSpriteTemplate_84026F0, 2, -8, -42, 0 + createsprite gBattleAnimSpriteTemplate_84026F0, 130, -8, -42, 1 + delay 10 + playsewithpan SE_W207B, 0 + createvisualtask sub_812EB10, 2, 0, 0 + createvisualtask sub_812EB10, 2, 1, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_84026F0, 2, -24, -42, 0 + createsprite gBattleAnimSpriteTemplate_84026F0, 130, -24, -42, 1 + delay 10 + playsewithpan SE_W207B, 0 + createvisualtask sub_812EB10, 2, 0, 1 + createvisualtask sub_812EB10, 2, 1, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_84026F0, 2, 8, -42, 0 + createsprite gBattleAnimSpriteTemplate_84026F0, 130, 8, -42, 1 + delay 10 + playsewithpan SE_W207B, 0 + createvisualtask sub_812EB10, 2, 0, 2 + createvisualtask sub_812EB10, 2, 1, 2 end Move_VICE_GRIP: @ 81C9BE1 - loadsprite 10138 - loadsprite 10135 - monbg 3 + loadspritegfx 10138 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - panse_19 SE_W011, 63 - sprite gBattleAnimSpriteTemplate_83D769C, 2, 0 - sprite gBattleAnimSpriteTemplate_83D769C, 2, 1 - pause 9 - sprite gBattleAnimSpriteTemplate_83DB4A8, 1, 0, 0, 1, 2 - createtask sub_80A7FA0, 5, 1, 2, 0, 5, 1 - wait - clearmonbg 3 + playsewithpan SE_W011, 63 + createsprite gBattleAnimSpriteTemplate_83D769C, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D769C, 2, 1 + delay 9 + createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 5, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_GUILLOTINE: @ 81C9C29 - loadsprite 10138 - loadsprite 10135 - monbg 3 + loadspritegfx 10138 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - fadetobg_25 12, 13, 14 + fadetobgfromset 12, 13, 14 waitbgfadein - panse_19 SE_W011, 63 - sprite gBattleAnimSpriteTemplate_83D76DC, 2, 0 - sprite gBattleAnimSpriteTemplate_83D76DC, 2, 1 - createtask sub_80E2A38, 10, 4, 2, 0, 16, 0 - pause 9 - createtask sub_80A7FA0, 5, 1, 2, 0, 23, 1 - pause 46 - createtask sub_80A7FA0, 5, 1, 4, 0, 8, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 - panse_19 SE_W013, 63 - wait - clearmonbg 3 + playsewithpan SE_W011, 63 + createsprite gBattleAnimSpriteTemplate_83D76DC, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D76DC, 2, 1 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 16, 0 + delay 9 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 23, 1 + delay 46 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 8, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 + playsewithpan SE_W013, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff restorebg waitbgfadein end Move_PAY_DAY: @ 81C9CB5 - loadsprite 10100 - loadsprite 10135 - monbg 1 + loadspritegfx 10100 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 12, 8 - panse_19 SE_W013B, 192 - sprite gBattleAnimSpriteTemplate_83D75E4, 2, 20, 0, 0, 0, 1152 - wait - panse_19 SE_W006, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 1, 0, 0, 1, 2 - sprite gBattleAnimSpriteTemplate_83D75FC, 2 - createtask sub_80A7FA0, 2, 1, 1, 0, 6, 1 - wait - clearmonbg 1 + playsewithpan SE_W013B, 192 + createsprite gBattleAnimSpriteTemplate_83D75E4, 2, 20, 0, 0, 0, 1152 + waitforvisualfinish + playsewithpan SE_W006, 63 + createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2 + createsprite gBattleAnimSpriteTemplate_83D75FC, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_OUTRAGE: @ 81C9D08 - loadsprite 10029 - panse_1C SE_W082, 192, 8, 3 - createtask sub_80E1F8C, 2, 7, 2, 5, 3, 8, 430 - createtask sub_80A8500, 2, 0, 12, 6, 5, 4 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 0, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 0, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, 1280, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, -1280, 3 - pause 0 - createtask sub_80A7FA0, 2, 1, 2, 0, 40, 1 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 768, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 768, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, -768, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, -768, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 0, 3 + loadspritegfx 10029 + loopsewithpan SE_W082, 192, 8, 3 + createvisualtask sub_80E1F8C, 2, 7, 2, 5, 3, 8, 430 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 12, 6, 5, 4 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 0, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 0, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, 1280, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, -1280, 3 + delay 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 40, 1 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, -768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, -768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 0, 3 call _81C9E0F call _81C9E0F - wait + waitforvisualfinish end _81C9E0F: - pause 3 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 0, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, 1280, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, -1280, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 768, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 768, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, -768, 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, -768, 3 - ret + delay 3 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 0, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, 1280, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, -1280, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, -768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, -768, 3 + return Move_SPARK: @ 81C9EA3 - loadsprite 10135 - loadsprite 10011 - pause 0 - createtask sub_80E1F8C, 2, 3, -31, 1, 5, 5, 23551 - panse_19 SE_W085B, 192 - sprite gBattleAnimSpriteTemplate_83D985C, 0, 32, 24, 190, 12, 0, 1, 0 - pause 0 - sprite gBattleAnimSpriteTemplate_83D985C, 0, 80, 24, 22, 12, 0, 1, 0 - sprite gBattleAnimSpriteTemplate_83D985C, 0, 156, 24, 121, 13, 0, 1, 1 - pause 0 - createtask sub_80E1F8C, 2, 3, -31, 1, 0, 0, 23551 - pause 10 - createtask sub_80E1F8C, 2, 3, -31, 1, 5, 5, 23551 - panse_19 SE_W085B, 192 - sprite gBattleAnimSpriteTemplate_83D985C, 0, 100, 24, 60, 10, 0, 1, 0 - sprite gBattleAnimSpriteTemplate_83D985C, 0, 170, 24, 42, 11, 0, 1, 1 - pause 0 - sprite gBattleAnimSpriteTemplate_83D985C, 0, 238, 24, 165, 10, 0, 1, 1 - pause 0 - createtask sub_80E1F8C, 2, 3, -31, 1, 0, 0, 23551 - pause 20 - createtask sub_80E1F8C, 2, 3, -31, 1, 7, 7, 23551 - panse_19 SE_W085B, 192 - sprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 32, 12, 0, 20, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 32, 12, 64, 20, 1, 0 - sprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 32, 12, 128, 20, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 32, 12, 192, 20, 2, 0 - sprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 16, 12, 32, 20, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 16, 12, 96, 20, 1, 0 - sprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 16, 12, 160, 20, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 16, 12, 224, 20, 2, 0 - pause 4 - wait - createtask sub_80E1F8C, 2, 3, -31, 1, 0, 0, 23551 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4 - pause 4 - panse_19 SE_W063, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 0, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - wait - createtask sub_80E1F8C, 2, 4, -31, 2, 0, 6, 23551 + loadspritegfx 10135 + loadspritegfx 10011 + delay 0 + createvisualtask sub_80E1F8C, 2, 3, -31, 1, 5, 5, 23551 + playsewithpan SE_W085B, 192 + createsprite gBattleAnimSpriteTemplate_83D985C, 0, 32, 24, 190, 12, 0, 1, 0 + delay 0 + createsprite gBattleAnimSpriteTemplate_83D985C, 0, 80, 24, 22, 12, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_83D985C, 0, 156, 24, 121, 13, 0, 1, 1 + delay 0 + createvisualtask sub_80E1F8C, 2, 3, -31, 1, 0, 0, 23551 + delay 10 + createvisualtask sub_80E1F8C, 2, 3, -31, 1, 5, 5, 23551 + playsewithpan SE_W085B, 192 + createsprite gBattleAnimSpriteTemplate_83D985C, 0, 100, 24, 60, 10, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_83D985C, 0, 170, 24, 42, 11, 0, 1, 1 + delay 0 + createsprite gBattleAnimSpriteTemplate_83D985C, 0, 238, 24, 165, 10, 0, 1, 1 + delay 0 + createvisualtask sub_80E1F8C, 2, 3, -31, 1, 0, 0, 23551 + delay 20 + createvisualtask sub_80E1F8C, 2, 3, -31, 1, 7, 7, 23551 + playsewithpan SE_W085B, 192 + createsprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 32, 12, 0, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 32, 12, 64, 20, 1, 0 + createsprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 32, 12, 128, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 32, 12, 192, 20, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 16, 12, 32, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 16, 12, 96, 20, 1, 0 + createsprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 16, 12, 160, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9908, 4, 0, 0, 16, 12, 224, 20, 2, 0 + delay 4 + waitforvisualfinish + createvisualtask sub_80E1F8C, 2, 3, -31, 1, 0, 0, 23551 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 4 + playsewithpan SE_W063, 63 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + waitforvisualfinish + createvisualtask sub_80E1F8C, 2, 4, -31, 2, 0, 6, 23551 call Unknown_81D6100 - wait + waitforvisualfinish end Move_ATTRACT: @ 81CA0BA - loadsprite 10216 - panse_1C SE_W204, 192, 12, 3 - createtask sub_80A8B88, 5, 0, 12, 4096, 4, 0 - pause 15 - sprite gBattleAnimSpriteTemplate_83D7AB0, 131, 20, -8 - wait - panse_19 SE_W213, 63 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, 160, -32 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, -256, -40 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, 128, -16 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, 416, -38 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, -128, -22 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, -384, -31 - wait - panse_1D SE_W213B, 0, 15 - createtask sub_80D2100, 5 - sprite gBattleAnimSpriteTemplate_83D7AE0, 40, 16, 256, 0 - sprite gBattleAnimSpriteTemplate_83D7AE0, 40, 224, 240, 15 - sprite gBattleAnimSpriteTemplate_83D7AE0, 40, 126, 272, 30 - sprite gBattleAnimSpriteTemplate_83D7AE0, 40, 80, 224, 45 - sprite gBattleAnimSpriteTemplate_83D7AE0, 40, 170, 272, 60 - sprite gBattleAnimSpriteTemplate_83D7AE0, 40, 40, 256, 75 - sprite gBattleAnimSpriteTemplate_83D7AE0, 40, 112, 256, 90 - sprite gBattleAnimSpriteTemplate_83D7AE0, 40, 200, 272, 90 - pause 75 - createtask sub_80E1F8C, 2, 4, 4, 4, 0, 10, 28479 + loadspritegfx 10216 + loopsewithpan SE_W204, 192, 12, 3 + createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, 0 + delay 15 + createsprite gBattleAnimSpriteTemplate_83D7AB0, 131, 20, -8 + waitforvisualfinish + playsewithpan SE_W213, 63 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, 160, -32 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, -256, -40 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, 128, -16 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, 416, -38 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, -128, -22 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, -384, -31 + waitforvisualfinish + waitplaysewithpan SE_W213B, 0, 15 + createvisualtask sub_80D2100, 5 + createsprite gBattleAnimSpriteTemplate_83D7AE0, 40, 16, 256, 0 + createsprite gBattleAnimSpriteTemplate_83D7AE0, 40, 224, 240, 15 + createsprite gBattleAnimSpriteTemplate_83D7AE0, 40, 126, 272, 30 + createsprite gBattleAnimSpriteTemplate_83D7AE0, 40, 80, 224, 45 + createsprite gBattleAnimSpriteTemplate_83D7AE0, 40, 170, 272, 60 + createsprite gBattleAnimSpriteTemplate_83D7AE0, 40, 40, 256, 75 + createsprite gBattleAnimSpriteTemplate_83D7AE0, 40, 112, 256, 90 + createsprite gBattleAnimSpriteTemplate_83D7AE0, 40, 200, 272, 90 + delay 75 + createvisualtask sub_80E1F8C, 2, 4, 4, 4, 0, 10, 28479 end Move_GROWTH: @ 81CA1B3 call _81CA1C0 - wait + waitforvisualfinish call _81CA1C0 - wait + waitforvisualfinish end _81CA1C0: - createtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 32767 - panse_19 SE_W036, 192 - createtask sub_80A8D34, 5, -3, -3, 16, 0, 0 - ret + createvisualtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 32767 + playsewithpan SE_W036, 192 + createvisualtask sub_80A8D34, 5, -3, -3, 16, 0, 0 + return Move_WHIRLWIND: @ 81CA1E9 - loadsprite 10162 - sprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, -8, 1, 60, 0 - sprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 0, 1, 60, 1 - sprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 8, 1, 60, 2 - sprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 16, 1, 60, 3 - sprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 24, 1, 60, 4 - sprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 32, 1, 60, 0 - pause 5 - panse_1C SE_W104, 63, 10, 4 - createtask sub_80A7FA0, 2, 1, 4, 0, 15, 1 - pause 29 - createtask sub_80A8500, 2, 1, 12, 6, 1, 5 - pause 7 - panse_19 SE_W081, 63 - createtask sub_80A8A80, 5, 1, 8 - wait + loadspritegfx 10162 + createsprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, -8, 1, 60, 0 + createsprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 0, 1, 60, 1 + createsprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 8, 1, 60, 2 + createsprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 16, 1, 60, 3 + createsprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 24, 1, 60, 4 + createsprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 32, 1, 60, 0 + delay 5 + loopsewithpan SE_W104, 63, 10, 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 15, 1 + delay 29 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_TARGET, 12, 6, 1, 5 + delay 7 + playsewithpan SE_W081, 63 + createvisualtask sub_80A8A80, 5, 1, 8 + waitforvisualfinish end Move_CONFUSE_RAY: @ 81CA291 - loadsprite 10013 - monbg 3 + loadspritegfx 10013 + monbg ANIM_BANK_DEF_PARTNER fadetobg 2 waitbgfadein - createtask sub_812B374, 2, -64, 63, 2, 0 - createtask sub_80E2094, 2, 10013, 0, 6, 0, 14, 351 - sprite gBattleAnimSpriteTemplate_83DAE64, 130, 28, 0, 288 - wait + createvisualtask sub_812B374, 2, -64, 63, 2, 0 + createvisualtask sub_80E2094, 2, 10013, 0, 6, 0, 14, 351 + createsprite gBattleAnimSpriteTemplate_83DAE64, 130, 28, 0, 288 + waitforvisualfinish setalpha 8, 8 - panse_19 SE_W081B, 63 - sprite gBattleAnimSpriteTemplate_83DAE7C, 130, 0, -16 - wait - pause 0 + playsewithpan SE_W081B, 63 + createsprite gBattleAnimSpriteTemplate_83DAE7C, 130, 0, -16 + waitforvisualfinish + delay 0 blendoff - clearmonbg 3 + clearmonbg ANIM_BANK_DEF_PARTNER restorebg waitbgfadein end Move_LOCK_ON: @ 81CA2E4 - loadsprite 10014 - sprite gBattleAnimSpriteTemplate_83D6DAC, 40 - sprite gBattleAnimSpriteTemplate_83D6DC4, 40, 1 - sprite gBattleAnimSpriteTemplate_83D6DC4, 40, 2 - sprite gBattleAnimSpriteTemplate_83D6DC4, 40, 3 - sprite gBattleAnimSpriteTemplate_83D6DC4, 40, 4 - pause 120 - setvar 7, -1 - wait + loadspritegfx 10014 + createsprite gBattleAnimSpriteTemplate_83D6DAC, 40 + createsprite gBattleAnimSpriteTemplate_83D6DC4, 40, 1 + createsprite gBattleAnimSpriteTemplate_83D6DC4, 40, 2 + createsprite gBattleAnimSpriteTemplate_83D6DC4, 40, 3 + createsprite gBattleAnimSpriteTemplate_83D6DC4, 40, 4 + delay 120 + setarg 7, -1 + waitforvisualfinish end Move_MEAN_LOOK: @ 81CA31A - loadsprite 10187 - monbg 3 - panse_19 SE_W060, 192 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 16, 0 - panse_1C SE_W109, 63, 15, 4 - panse_1D SE_W043, 63, 85 - sprite gBattleAnimSpriteTemplate_8402264, 2 - pause 120 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 16, 0, 0 - pause 30 - clearmonbg 3 - wait + loadspritegfx 10187 + monbg ANIM_BANK_DEF_PARTNER + playsewithpan SE_W060, 192 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 16, 0 + loopsewithpan SE_W109, 63, 15, 4 + waitplaysewithpan SE_W043, 63, 85 + createsprite gBattleAnimSpriteTemplate_8402264, 2 + delay 120 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 16, 0, 0 + delay 30 + clearmonbg ANIM_BANK_DEF_PARTNER + waitforvisualfinish end Move_ROCK_THROW: @ 81CA35F - loadsprite 10058 - sprite gBattleAnimSpriteTemplate_83DB428, 130, 6, 1, 15, 1 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, 0, 1, 0, 0 - panse_19 SE_W088, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, 19, 1, 10, 0 - panse_19 SE_W088, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, -23, 2, -10, 0 - panse_19 SE_W088, 63 - createtask sub_80A7E7C, 2, 1, 0, 5, 20, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, -15, 1, -10, 0 - panse_19 SE_W088, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, 23, 2, 10, 0 - panse_19 SE_W088, 63 - wait + loadspritegfx 10058 + createsprite gBattleAnimSpriteTemplate_83DB428, 130, 6, 1, 15, 1 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, 0, 1, 0, 0 + playsewithpan SE_W088, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, 19, 1, 10, 0 + playsewithpan SE_W088, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, -23, 2, -10, 0 + playsewithpan SE_W088, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 5, 20, 1 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, -15, 1, -10, 0 + playsewithpan SE_W088, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, 23, 2, 10, 0 + playsewithpan SE_W088, 63 + waitforvisualfinish end Move_ROCK_SLIDE: @ 81CA3EB - loadsprite 10058 - monbg 3 - sprite gBattleAnimSpriteTemplate_83DB428, 2, 7, 1, 11, 1 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, -5, 1, -5, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, 5, 0, 6, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, 19, 1, 10, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, -23, 2, -10, 1 - panse_19 SE_W088, 63 - createtask sub_80A7E7C, 2, 1, 0, 5, 50, 1 - createtask sub_80A7E7C, 2, 3, 0, 5, 50, 1 - pause 2 + loadspritegfx 10058 + monbg ANIM_BANK_DEF_PARTNER + createsprite gBattleAnimSpriteTemplate_83DB428, 2, 7, 1, 11, 1 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, -5, 1, -5, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, 5, 0, 6, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, 19, 1, 10, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, -23, 2, -10, 1 + playsewithpan SE_W088, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 5, 50, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_DEF_PARTNER, 0, 5, 50, 1 + delay 2 call _81CA483 call _81CA483 - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end _81CA483: - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, -20, 0, -10, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, 28, 1, 10, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, -10, 1, -5, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, 10, 0, 6, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, 24, 1, 10, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, -32, 2, -10, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, -20, 0, -10, 1 - panse_19 SE_W088, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC4C, 130, 30, 2, 10, 1 - panse_19 SE_W088, 63 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, -20, 0, -10, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, 28, 1, 10, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, -10, 1, -5, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, 10, 0, 6, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, 24, 1, 10, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, -32, 2, -10, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, -20, 0, -10, 1 + playsewithpan SE_W088, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC4C, 130, 30, 2, 10, 1 + playsewithpan SE_W088, 63 + delay 2 + return Move_THIEF: @ 81CA52C - loadsprite 10135 - monbg 1 - pause 1 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET + delay 1 fadetobg 1 waitbgfadein setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 - pause 6 - panse_19 SE_W233, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7FA0, 2, 1, 1, 0, 8, 1 - wait - pause 20 - clearmonbg 1 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 6 + playsewithpan SE_W233, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 8, 1 + waitforvisualfinish + delay 20 + clearmonbg ANIM_BANK_TARGET blendoff restorebg waitbgfadein end Move_BUBBLE_BEAM: @ 81CA573 - loadsprite 10146 - loadsprite 10155 - monbg 1 + loadspritegfx 10146 + loadspritegfx 10155 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 12, 8 - pause 1 + delay 1 call _81CA5AD - createtask sub_80A8B88, 5, 0, 3, 3072, 8, 1 + createvisualtask AnimTask_SwayMon, 5, 0, 3, 3072, 8, 1 call _81CA5AD call _81CA5AD - wait + waitforvisualfinish call Unknown_81D5FF8 - wait - clearmonbg 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end _81CA5AD: - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 35, 70, 0, 256, 50 - panse_19 SE_W145, 192 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 20, 40, -10, 256, 50 - panse_19 SE_W145, 192 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 10, -60, 0, 256, 50 - panse_19 SE_W145, 192 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 15, -15, 10, 256, 50 - panse_19 SE_W145, 192 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 30, 10, -10, 256, 50 - panse_19 SE_W145, 192 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 25, -30, 10, 256, 50 - panse_19 SE_W145, 192 - pause 3 - ret + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 35, 70, 0, 256, 50 + playsewithpan SE_W145, 192 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 20, 40, -10, 256, 50 + playsewithpan SE_W145, 192 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 10, -60, 0, 256, 50 + playsewithpan SE_W145, 192 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 15, -15, 10, 256, 50 + playsewithpan SE_W145, 192 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 30, 10, -10, 256, 50 + playsewithpan SE_W145, 192 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 25, -30, 10, 256, 50 + playsewithpan SE_W145, 192 + delay 3 + return Move_ICY_WIND: @ 81CA650 - loadsprite 10141 - loadsprite 10142 - monbg 3 - createtask sub_80E2A38, 10, 11, 4, 0, 4, 0 + loadspritegfx 10141 + loadspritegfx 10142 + monbg ANIM_BANK_DEF_PARTNER + createvisualtask sub_80E2A38, 10, 11, 4, 0, 4, 0 fadetobg 15 waitbgfadeout - panse_19 SE_W196, 0 + playsewithpan SE_W196, 0 waitbgfadein - wait + waitforvisualfinish panse_1B SE_W016, 192, 63, 2, 0 call _81CA6A8 - pause 5 + delay 5 call _81CA6A8 - panse_19 SE_W016B, 63 - pause 55 + playsewithpan SE_W016B, 63 + delay 55 call Unknown_81D5E0E - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER restorebg waitbgfadeout - createtask sub_80E2A38, 10, 11, 4, 4, 0, 0 + createvisualtask sub_80E2A38, 10, 11, 4, 4, 0, 0 waitbgfadein end _81CA6A8: - sprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, 0, 0, 0, 72, 1 - pause 5 - sprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, 10, 0, 10, 72, 1 - pause 5 - sprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, -10, 0, -10, 72, 1 - pause 5 - sprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, 15, 0, 15, 72, 1 - pause 5 - sprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, -5, 0, -5, 72, 1 - ret + createsprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, 0, 0, 0, 72, 1 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, 10, 0, 10, 72, 1 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, -10, 0, -10, 72, 1 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, 15, 0, 15, 72, 1 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 168, 0, -5, 0, -5, 72, 1 + return Move_SMOKESCREEN: @ 81CA710 - loadsprite 10016 - loadsprite 10017 - panse_19 SE_W104, 192 - sprite gBattleAnimSpriteTemplate_84021B0, 130, 20, 0, 0, 0, 35, -25 - wait - createtask sub_812C1D0, 2 - pause 2 - panse_19 SE_W028, 63 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, -12, 104, 0, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, -12, 72, 1, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, -6, 56, 1, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, -6, 88, 0, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, 0, 56, 0, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, 0, 88, 1, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, 6, 72, 0, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, 6, 104, 1, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, 12, 72, 0, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, 12, 56, 1, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, 18, 80, 0, 75 - sprite gBattleAnimSpriteTemplate_8402198, 132, 0, 18, 72, 1, 75 - wait + loadspritegfx 10016 + loadspritegfx 10017 + playsewithpan SE_W104, 192 + createsprite gBattleAnimSpriteTemplate_84021B0, 130, 20, 0, 0, 0, 35, -25 + waitforvisualfinish + createvisualtask sub_812C1D0, 2 + delay 2 + playsewithpan SE_W028, 63 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, -12, 104, 0, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, -12, 72, 1, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, -6, 56, 1, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, -6, 88, 0, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, 0, 56, 0, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, 0, 88, 1, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, 6, 72, 0, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, 6, 104, 1, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, 12, 72, 0, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, 12, 56, 1, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, 18, 80, 0, 75 + createsprite gBattleAnimSpriteTemplate_8402198, 132, 0, 18, 72, 1, 75 + waitforvisualfinish end Move_CONVERSION: @ 81CA809 - loadsprite 10018 - monbg 2 + loadspritegfx 10018 + monbg ANIM_BANK_ATK_PARTNER monbgprio_28 0 setalpha 16, 0 - pause 0 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, -24, -24 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, -8, -24 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, 8, -24 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, 24, -24 - pause 3 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, -24, -8 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, -8, -8 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, 8, -8 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, 24, -8 - pause 3 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, -24, 8 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, -8, 8 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, 8, 8 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, 24, 8 - pause 3 - panse_19 SE_W129, 192 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, -24, 24 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, -8, 24 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, 8, 24 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6F80, 2, 24, 24 - pause 20 - panse_19 SE_W112, 192 - createtask sub_80E21A8, 2, 10018, 1, 1, 14335, 12, 0, 0 - pause 6 - createtask sub_80CE108, 5 - wait - pause 1 - clearmonbg 2 + delay 0 + playsewithpan SE_W129, 192 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, -24, -24 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, -8, -24 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, 8, -24 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, 24, -24 + delay 3 + playsewithpan SE_W129, 192 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, -24, -8 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, -8, -8 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, 8, -8 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, 24, -8 + delay 3 + playsewithpan SE_W129, 192 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, -24, 8 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, -8, 8 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, 8, 8 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, 24, 8 + delay 3 + playsewithpan SE_W129, 192 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, -24, 24 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, -8, 24 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, 8, 24 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6F80, 2, 24, 24 + delay 20 + playsewithpan SE_W112, 192 + createvisualtask sub_80E21A8, 2, 10018, 1, 1, 14335, 12, 0, 0 + delay 6 + createvisualtask sub_80CE108, 5 + waitforvisualfinish + delay 1 + clearmonbg ANIM_BANK_ATK_PARTNER blendoff end Move_CONVERSION_2: @ 81CA91E - loadsprite 10018 - monbg 3 - monbgprio_2A 1 + loadspritegfx 10018 + monbg ANIM_BANK_DEF_PARTNER + monbgprio_2A ANIM_BANK_TARGET setalpha 0, 16 - pause 0 - panse_19 SE_W112, 63 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, -24, -24, 60 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, -8, -24, 65 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, 8, -24, 70 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, 24, -24, 75 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, -24, -8, 80 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, -8, -8, 85 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, 8, -8, 90 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, 24, -8, 95 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, -24, 8, 100 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, -8, 8, 105 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, 8, 8, 110 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, 24, 8, 115 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, -24, 24, 120 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, -8, 24, 125 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, 8, 24, 130 - sprite gBattleAnimSpriteTemplate_83D6FB0, 2, 24, 24, 135 - createtask sub_80CE210, 5 - pause 60 - panse_19 SE_W129, 63 - pause 10 - panse_19 SE_W129, 63 - pause 10 - panse_19 SE_W129, 63 - pause 10 - panse_19 SE_W129, 63 - pause 10 - panse_19 SE_W129, 63 - pause 10 - panse_19 SE_W129, 63 - pause 10 - panse_19 SE_W129, 63 - pause 10 - panse_19 SE_W129, 63 - wait - clearmonbg 3 + delay 0 + playsewithpan SE_W112, 63 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, -24, -24, 60 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, -8, -24, 65 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, 8, -24, 70 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, 24, -24, 75 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, -24, -8, 80 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, -8, -8, 85 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, 8, -8, 90 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, 24, -8, 95 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, -24, 8, 100 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, -8, 8, 105 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, 8, 8, 110 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, 24, 8, 115 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, -24, 24, 120 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, -8, 24, 125 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, 8, 24, 130 + createsprite gBattleAnimSpriteTemplate_83D6FB0, 2, 24, 24, 135 + createvisualtask sub_80CE210, 5 + delay 60 + playsewithpan SE_W129, 63 + delay 10 + playsewithpan SE_W129, 63 + delay 10 + playsewithpan SE_W129, 63 + delay 10 + playsewithpan SE_W129, 63 + delay 10 + playsewithpan SE_W129, 63 + delay 10 + playsewithpan SE_W129, 63 + delay 10 + playsewithpan SE_W129, 63 + delay 10 + playsewithpan SE_W129, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_ROLLING_KICK: @ 81CAA3A - loadsprite 10143 - loadsprite 10135 - monbg 1 - setalpha 12, 8 - createtask sub_80A8500, 2, 0, 18, 6, 1, 4 - panse_19 SE_W104, 192 - pause 6 - panse_19 SE_W104, 192 - wait - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4 - sprite gBattleAnimSpriteTemplate_83D9FF0, 2, -24, 0, 48, 10, 160, 0 - pause 5 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -8, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 5, 0, 6, 1 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 1, 8 - clearmonbg 1 + loadspritegfx 10143 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 18, 6, 1, 4 + playsewithpan SE_W104, 192 + delay 6 + playsewithpan SE_W104, 192 + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + createsprite gBattleAnimSpriteTemplate_83D9FF0, 2, -24, 0, 48, 10, 160, 0 + delay 5 + playsewithpan SE_W233B, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 1, 8 + clearmonbg ANIM_BANK_TARGET blendoff end Move_HEADBUTT: @ 81CAABD - loadsprite 10135 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 0 - panse_19 SE_W029, 192 - wait - pause 2 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1 - wait - createtask sub_80A8154, 2, 0, 2, 0, 4, 1 - createtask sub_80A7E7C, 2, 1, 5, 0, 6, 1 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1 - panse_19 SE_W233B, 63 - wait + loadspritegfx 10135 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 0 + playsewithpan SE_W029, 192 + waitforvisualfinish + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 4, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1 + playsewithpan SE_W233B, 63 + waitforvisualfinish end Move_HORN_ATTACK: @ 81CAB1A - loadsprite 10135 - loadsprite 10020 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 0 - panse_19 SE_W029, 192 - wait - pause 2 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1 - sprite gBattleAnimSpriteTemplate_83D7050, 132, 0, 0, 10 - wait - createtask sub_80A8154, 2, 0, 2, 0, 4, 1 - createtask sub_80A7E7C, 2, 1, 5, 0, 6, 1 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1 - panse_19 SE_W030, 63 - wait + loadspritegfx 10135 + loadspritegfx 10020 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 0 + playsewithpan SE_W029, 192 + waitforvisualfinish + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D7050, 132, 0, 0, 10 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 4, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1 + playsewithpan SE_W030, 63 + waitforvisualfinish end Move_FURY_ATTACK: @ 81CAB87 - loadsprite 10135 - loadsprite 10020 - createtask sub_80A8E04, 2, 4, 256, 0, 2 - ifelse _81CABB8, _81CABDE + loadspritegfx 10135 + loadspritegfx 10020 + createvisualtask sub_80A8E04, 2, 4, 256, 0, 2 + choosetwoturnanim _81CABB8, _81CABDE _81CABA5: - createtask sub_80A7E7C, 2, 1, 5, 0, 6, 1 - wait + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1 + waitforvisualfinish end _81CABB8: - sprite gBattleAnimSpriteTemplate_83D7050, 132, 8, 8, 10 - wait - sprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1 - panse_19 SE_W030, 63 - jump _81CABA5 + createsprite gBattleAnimSpriteTemplate_83D7050, 132, 8, 8, 10 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1 + playsewithpan SE_W030, 63 + goto _81CABA5 _81CABDE: - sprite gBattleAnimSpriteTemplate_83D7050, 132, -8, -8, 10 - wait - sprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1 - panse_19 SE_W030, 63 - jump _81CABA5 + createsprite gBattleAnimSpriteTemplate_83D7050, 132, -8, -8, 10 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1 + playsewithpan SE_W030, 63 + goto _81CABA5 Move_HORN_DRILL: @ 81CAC04 - loadsprite 10135 - loadsprite 10020 - jumpunkcond _81CAD6A + loadspritegfx 10135 + loadspritegfx 10020 + jumpifcontest _81CAD6A fadetobg 7 waitbgfadeout - createtask sub_80E3A58, 5, -2304, 768, 1, -1 + createvisualtask sub_80E3A58, 5, -2304, 768, 1, -1 _81CAC21: waitbgfadein setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 0 - panse_19 SE_W029, 192 - wait - pause 2 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1 - sprite gBattleAnimSpriteTemplate_83D7050, 132, 0, 0, 12 - wait + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 0 + playsewithpan SE_W029, 192 + waitforvisualfinish + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D7050, 132, 0, 0, 12 + waitforvisualfinish playse SE_BAN - createtask sub_80A8154, 2, 0, 2, 0, 40, 1 - createtask sub_80A8154, 2, 1, 10, 0, 40, 1 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 3 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 2, 1, 3 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, -4, 3, 1, 3 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, -8, -5, 1, 3 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 4, -12, 1, 3 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 16, 0, 1, 3 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 5, 18, 1, 3 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, -17, 12, 1, 2 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, -21, -15, 1, 2 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 8, -27, 1, 2 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 32, 0, 1, 2 - panse_19 SE_W030, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2 - wait + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 40, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 10, 0, 40, 1 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 3 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 2, 1, 3 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, -4, 3, 1, 3 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, -8, -5, 1, 3 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 4, -12, 1, 3 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 16, 0, 1, 3 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 5, 18, 1, 3 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, -17, 12, 1, 2 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, -21, -15, 1, 2 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 8, -27, 1, 2 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 32, 0, 1, 2 + playsewithpan SE_W030, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2 + waitforvisualfinish restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein end _81CAD6A: fadetobg 8 waitbgfadeout - createtask sub_80E3A58, 5, 2304, 768, 0, -1 - jump _81CAC21 + createvisualtask sub_80E3A58, 5, 2304, 768, 0, -1 + goto _81CAC21 Move_THRASH: @ 81CAD81 - loadsprite 10135 - loadsprite 10143 - createtask sub_80D0A4C, 2 - createtask sub_80D0AB8, 2 - sprite gBattleAnimSpriteTemplate_83D9FC0, 131, 1, 10, 0 - createtask sub_80A8154, 2, 1, 4, 0, 7, 1 - panse_19 SE_W004, 63 - pause 28 - sprite gBattleAnimSpriteTemplate_83D9FC0, 131, 1, 10, 1 - createtask sub_80A8154, 2, 1, 4, 0, 7, 1 - panse_19 SE_W233B, 63 - pause 28 - sprite gBattleAnimSpriteTemplate_83D9FC0, 131, 1, 10, 3 - createtask sub_80A8154, 2, 1, 8, 0, 16, 1 - panse_19 SE_W025B, 63 + loadspritegfx 10135 + loadspritegfx 10143 + createvisualtask sub_80D0A4C, 2 + createvisualtask sub_80D0AB8, 2 + createsprite gBattleAnimSpriteTemplate_83D9FC0, 131, 1, 10, 0 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 7, 1 + playsewithpan SE_W004, 63 + delay 28 + createsprite gBattleAnimSpriteTemplate_83D9FC0, 131, 1, 10, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 7, 1 + playsewithpan SE_W233B, 63 + delay 28 + createsprite gBattleAnimSpriteTemplate_83D9FC0, 131, 1, 10, 3 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 8, 0, 16, 1 + playsewithpan SE_W025B, 63 end Move_SING: @ 81CAE00 - loadsprite 10072 - monbg 3 - createtask sub_80CEA20, 2 - wait + loadspritegfx 10072 + monbg ANIM_BANK_DEF_PARTNER + createvisualtask sub_80CEA20, 2 + waitforvisualfinish panse_1B SE_W047, 192, 63, 2, 0 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 7, 0, 12 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 6, 1, 12 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 1, 2, 12 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 3, 12 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 3, 0, 12 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 12 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 5, 2, 12 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 6, 3, 12 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 0, 12 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 12 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 1, 2, 12 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 5, 3, 12 - pause 4 - wait - clearmonbg 3 - createtask sub_80CEAD8, 2 - wait + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 7, 0, 12 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 6, 1, 12 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 1, 2, 12 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 3, 12 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 3, 0, 12 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 12 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 5, 2, 12 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 6, 3, 12 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 0, 12 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 12 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 1, 2, 12 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 5, 3, 12 + delay 4 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + createvisualtask sub_80CEAD8, 2 + waitforvisualfinish end Move_LOW_KICK: @ 81CAED4 - loadsprite 10143 - loadsprite 10135 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4 - sprite gBattleAnimSpriteTemplate_83D9FF0, 130, -24, 28, 40, 8, 160, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, -8, 8, 1, 2 - createtask sub_80A8E04, 2, 6, 384, 1, 2 - panse_19 SE_W233B, 63 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 1, 4 + loadspritegfx 10143 + loadspritegfx 10135 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + createsprite gBattleAnimSpriteTemplate_83D9FF0, 130, -24, 28, 40, 8, 160, 0 + delay 4 + createsprite gBasicHitSplatSpriteTemplate, 130, -8, 8, 1, 2 + createvisualtask sub_80A8E04, 2, 6, 384, 1, 2 + playsewithpan SE_W233B, 63 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 1, 4 end Move_EARTHQUAKE: @ 81CAF31 - createtask sub_80E1864, 5, 5, 10, 50 - createtask sub_80E1864, 5, 4, 10, 50 - panse_19 SE_W089, 0 - pause 10 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 - pause 16 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 + createvisualtask sub_80E1864, 5, 5, 10, 50 + createvisualtask sub_80E1864, 5, 4, 10, 50 + playsewithpan SE_W089, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 + delay 16 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 end Move_FISSURE: @ 81CAF7E - loadsprite 10074 - createtask sub_80E1864, 3, 5, 10, 50 - createtask sub_80E1864, 3, 1, 10, 50 - panse_19 SE_W089, 63 - pause 8 + loadspritegfx 10074 + createvisualtask sub_80E1864, 3, 5, 10, 50 + createvisualtask sub_80E1864, 3, 1, 10, 50 + playsewithpan SE_W089, 63 + delay 8 call _81CAFFF - pause 15 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 - pause 15 + delay 15 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 + delay 15 call _81CB050 - pause 15 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 - pause 15 + delay 15 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 + delay 15 call _81CAFFF - pause 50 + delay 50 fadetobg 21 waitbgfadeout - createtask sub_80E1BB0, 5, 1, 5, -1 + createvisualtask sub_80E1BB0, 5, 1, 5, -1 waitbgfadein - pause 40 + delay 40 restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein end _81CAFFF: - sprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 12, -48, -16, 24 - sprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 16, -16, -10, 24 - sprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 14, -52, -18, 24 - sprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 12, -32, -16, 24 - panse_19 SE_W091, 63 - ret + createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 12, -48, -16, 24 + createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 16, -16, -10, 24 + createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 14, -52, -18, 24 + createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 12, -32, -16, 24 + playsewithpan SE_W091, 63 + return _81CB050: - sprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 12, -24, -16, 24 - sprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 16, -38, -10, 24 - sprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 14, -20, -18, 24 - sprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 12, -36, -16, 24 - panse_19 SE_W091, 63 - ret + createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 12, -24, -16, 24 + createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 16, -38, -10, 24 + createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 14, -20, -18, 24 + createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 12, -36, -16, 24 + playsewithpan SE_W091, 63 + return Move_DIG: @ 81CB0A1 - ifelse _81CB0AB, _81CB106 + choosetwoturnanim _81CB0AB, _81CB106 _81CB0AA: end _81CB0AB: - loadsprite 10074 - loadsprite 10281 - sprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 0, 180 - sprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 1, 180 + loadspritegfx 10074 + loadspritegfx 10281 + createsprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 0, 180 + createsprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 1, 180 monbg_22 0 - pause 1 - createtask sub_80E1244, 2, 0 - pause 6 + delay 1 + createvisualtask sub_80E1244, 2, 0 + delay 6 call _81CB16A call _81CB16A call _81CB16A call _81CB16A call _81CB16A - wait + waitforvisualfinish clearmonbg_23 0 - pause 1 - createtask sub_80E1244, 2, 1 - jump _81CB0AA + delay 1 + createvisualtask sub_80E1244, 2, 1 + goto _81CB0AA _81CB106: - loadsprite 10135 - loadsprite 10281 - createtask sub_80E149C, 2, 0 - wait - monbg 0 - sprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 0, 48 - sprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 1, 48 - pause 1 - createtask sub_80E149C, 2, 1 - pause 16 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -8, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 5, 0, 6, 1 - panse_19 SE_W025B, 192 - clearmonbg 0 - jump _81CB0AA + loadspritegfx 10135 + loadspritegfx 10281 + createvisualtask sub_80E149C, 2, 0 + waitforvisualfinish + monbg ANIM_BANK_ATTACKER + createsprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 0, 48 + createsprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 1, 48 + delay 1 + createvisualtask sub_80E149C, 2, 1 + delay 16 + createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1 + playsewithpan SE_W025B, 192 + clearmonbg ANIM_BANK_ATTACKER + goto _81CB0AA _81CB16A: - sprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 0, 12, 4, -16, 18 - sprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 0, 16, 4, -10, 18 - sprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 1, 14, 4, -18, 18 - sprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 1, 12, 4, -16, 18 - panse_19 SE_W091, 192 - pause 32 - ret + createsprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 0, 12, 4, -16, 18 + createsprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 0, 16, 4, -10, 18 + createsprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 1, 14, 4, -18, 18 + createsprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 1, 12, 4, -16, 18 + playsewithpan SE_W091, 192 + delay 32 + return Move_MEDITATE: @ 81CB1BD call Unknown_81D61E7 - createtask sub_80DBC94, 2 - panse_19 SE_W029, 192 - pause 16 - panse_19 SE_W036, 192 - wait + createvisualtask sub_80DBC94, 2 + playsewithpan SE_W029, 192 + delay 16 + playsewithpan SE_W036, 192 + waitforvisualfinish call Unknown_81D61F3 end Move_AGILITY: @ 81CB1DA - monbg 2 - setalpha 12, 8 - createtask sub_80A8500, 2, 0, 24, 6, 4, 4 - createtask sub_80E2DD8, 2, 0, 4, 7, 10 - panse_19 SE_W104, 192 - pause 12 - panse_19 SE_W104, 192 - pause 12 - panse_19 SE_W104, 192 - pause 12 - panse_19 SE_W104, 192 - pause 12 - panse_19 SE_W104, 192 - pause 12 - wait - clearmonbg 2 - blendoff - pause 1 + monbg ANIM_BANK_ATK_PARTNER + setalpha 12, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 24, 6, 4, 4 + createvisualtask sub_80E2DD8, 2, 0, 4, 7, 10 + playsewithpan SE_W104, 192 + delay 12 + playsewithpan SE_W104, 192 + delay 12 + playsewithpan SE_W104, 192 + delay 12 + playsewithpan SE_W104, 192 + delay 12 + playsewithpan SE_W104, 192 + delay 12 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER + blendoff + delay 1 end Move_QUICK_ATTACK: @ 81CB224 - loadsprite 10135 - monbg 2 + loadspritegfx 10135 + monbg ANIM_BANK_ATK_PARTNER setalpha 12, 8 - createtask sub_80A8500, 2, 0, 24, 6, 1, 5 - createtask sub_80E2DD8, 2, 0, 4, 7, 3 - panse_19 SE_W026, 192 - pause 4 - createtask sub_80A7E7C, 2, 1, 5, 0, 6, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 132, 0, 0, 1, 1 - panse_19 SE_W233B, 63 - wait - clearmonbg 2 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 24, 6, 1, 5 + createvisualtask sub_80E2DD8, 2, 0, 4, 7, 3 + playsewithpan SE_W026, 192 + delay 4 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 132, 0, 0, 1, 1 + playsewithpan SE_W233B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff - wait + waitforvisualfinish end Move_RAGE: @ 81CB27C - loadsprite 10135 - loadsprite 10087 - monbg 1 - setalpha 12, 8 - createtask sub_8079790, 3, 0, 31, 10, 0, 2 - sprite gBattleAnimSpriteTemplate_83D7798, 2, 0, -20, -28 - panse_19 SE_W207B, 192 - pause 20 - sprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 - panse_19 SE_W207B, 192 - wait - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A9058, 2, 1, 1, 10, 1, 0 - panse_19 SE_W233B, 63 - wait - clearmonbg 1 + loadspritegfx 10135 + loadspritegfx 10087 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + createvisualtask sub_8079790, 3, 0, 31, 10, 0, 2 + createsprite gBattleAnimSpriteTemplate_83D7798, 2, 0, -20, -28 + playsewithpan SE_W207B, 192 + delay 20 + createsprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28 + playsewithpan SE_W207B, 192 + waitforvisualfinish + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 4 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask sub_80A9058, 2, 1, 1, 10, 1, 0 + playsewithpan SE_W233B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET end Move_TELEPORT: @ 81CB2F2 call Unknown_81D61E7 - createtask sub_80DBCFC, 2 - panse_19 SE_W100, 192 - pause 15 + createvisualtask sub_80DBCFC, 2 + playsewithpan SE_W100, 192 + delay 15 call Unknown_81D61F3 - wait + waitforvisualfinish end Move_DOUBLE_TEAM: @ 81CB30B - monbg 2 - setalpha 12, 8 - createtask sub_80CE7E0, 2 - panse_19 SE_W104, 192 - pause 32 - panse_19 SE_W104, 192 - pause 24 - panse_19 SE_W104, 192 - pause 16 - panse_19 SE_W104, 192 - pause 8 - panse_19 SE_W104, 192 - pause 8 - panse_19 SE_W104, 192 - pause 8 - panse_19 SE_W104, 192 - pause 8 - panse_19 SE_W104, 192 - pause 8 - panse_19 SE_W104, 192 - wait - clearmonbg 2 - blendoff - pause 1 + monbg ANIM_BANK_ATK_PARTNER + setalpha 12, 8 + createvisualtask sub_80CE7E0, 2 + playsewithpan SE_W104, 192 + delay 32 + playsewithpan SE_W104, 192 + delay 24 + playsewithpan SE_W104, 192 + delay 16 + playsewithpan SE_W104, 192 + delay 8 + playsewithpan SE_W104, 192 + delay 8 + playsewithpan SE_W104, 192 + delay 8 + playsewithpan SE_W104, 192 + delay 8 + playsewithpan SE_W104, 192 + delay 8 + playsewithpan SE_W104, 192 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER + blendoff + delay 1 end Move_MINIMIZE: @ 81CB352 setalpha 10, 8 - createtask sub_80D0488, 2 - panse_1C SE_W107, 192, 34, 3 - wait + createvisualtask sub_80D0488, 2 + loopsewithpan SE_W107, 192, 34, 3 + waitforvisualfinish blendoff end Move_METRONOME: @ 81CB365 - loadsprite 10064 - loadsprite 10209 - sprite gBattleAnimSpriteTemplate_83D7220, 11, 0, 100 - panse_19 SE_W118, 192 - pause 6 - sprite gBattleAnimSpriteTemplate_83D72C8, 12, 0 - pause 24 - panse_1C SE_W039, 192, 22, 3 - wait + loadspritegfx 10064 + loadspritegfx 10209 + createsprite gBattleAnimSpriteTemplate_83D7220, 11, 0, 100 + playsewithpan SE_W118, 192 + delay 6 + createsprite gBattleAnimSpriteTemplate_83D72C8, 12, 0 + delay 24 + loopsewithpan SE_W039, 192, 22, 3 + waitforvisualfinish end Move_SKULL_BASH: @ 81CB38F - ifelse _81CB399, _81CB3E6 + choosetwoturnanim _81CB399, _81CB3E6 _81CB398: end _81CB399: call _81CB3A9 call _81CB3A9 - wait - jump _81CB398 + waitforvisualfinish + goto _81CB398 _81CB3A9: - sprite gBattleAnimSpriteTemplate_83C2010, 2, 0, -24, 0, 0, 10, 0 - panse_19 SE_W036, 192 - wait - createtask sub_80A8E04, 2, 16, 96, 0, 2 - wait - sprite gBattleAnimSpriteTemplate_83C2010, 2, 0, 24, 0, 0, 10, 1 - wait - ret + createsprite gBattleAnimSpriteTemplate_83C2010, 2, 0, -24, 0, 0, 10, 0 + playsewithpan SE_W036, 192 + waitforvisualfinish + createvisualtask sub_80A8E04, 2, 16, 96, 0, 2 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83C2010, 2, 0, 24, 0, 0, 10, 1 + waitforvisualfinish + return _81CB3E6: - loadsprite 10135 - createtask sub_80CDAC8, 2, 0 - panse_19 SE_W036, 192 - wait + loadspritegfx 10135 + createvisualtask sub_80CDAC8, 2, 0 + playsewithpan SE_W036, 192 + waitforvisualfinish playse SE_BAN - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 - createtask sub_80A8154, 2, 0, 2, 0, 40, 1 - createtask sub_80A8154, 2, 1, 10, 0, 40, 1 - sprite gBattleAnimSpriteTemplate_83DB538, 132, 0, 0, 1, 0 - panse_1C SE_W025B, 63, 8, 3 - wait - createtask sub_80CDAC8, 2, 1 - jump _81CB398 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 40, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 10, 0, 40, 1 + createsprite gBattleAnimSpriteTemplate_83DB538, 132, 0, 0, 1, 0 + loopsewithpan SE_W025B, 63, 8, 3 + waitforvisualfinish + createvisualtask sub_80CDAC8, 2, 1 + goto _81CB398 Move_AMNESIA: @ 81CB455 - loadsprite 10093 + loadspritegfx 10093 call Unknown_81D61E7 - pause 8 - sprite gBattleAnimSpriteTemplate_83DA88C, 20 - panse_19 SE_W118, 192 - pause 54 - panse_1C SE_W118, 192, 16, 3 - wait + delay 8 + createsprite gBattleAnimSpriteTemplate_83DA88C, 20 + playsewithpan SE_W118, 192 + delay 54 + loopsewithpan SE_W118, 192, 16, 3 + waitforvisualfinish call Unknown_81D61F3 end Move_KINESIS: @ 81CB479 - loadsprite 10075 - loadsprite 10097 - panse_19 SE_W060, 192 + loadspritegfx 10075 + loadspritegfx 10097 + playsewithpan SE_W060, 192 call Unknown_81D61E7 - sprite gBattleAnimSpriteTemplate_83DA824, 20 - sprite gBattleAnimSpriteTemplate_83D7450, 19, 32, -8, 0 - sprite gBattleAnimSpriteTemplate_83D7450, 19, 32, 16, 1 - panse_1C SE_W109, 192, 21, 2 - pause 60 - panse_19 SE_W146, 192 - pause 30 - panse_1C SE_W146, 192, 20, 2 - pause 70 - panse_19 SE_W207B, 192 - wait + createsprite gBattleAnimSpriteTemplate_83DA824, 20 + createsprite gBattleAnimSpriteTemplate_83D7450, 19, 32, -8, 0 + createsprite gBattleAnimSpriteTemplate_83D7450, 19, 32, 16, 1 + loopsewithpan SE_W109, 192, 21, 2 + delay 60 + playsewithpan SE_W146, 192 + delay 30 + loopsewithpan SE_W146, 192, 20, 2 + delay 70 + playsewithpan SE_W207B, 192 + waitforvisualfinish call Unknown_81D61F3 end Move_GLARE: @ 81CB4CA - loadsprite 10248 - loadsprite 10218 - createtask sub_81301EC, 5, 0 - panse_19 SE_W060B, 192 - wait - createtask sub_80E2A38, 5, 1, 0, 0, 16, 0 - wait - sprite gBattleAnimSpriteTemplate_83D7B94, 0, -16, -8 - sprite gBattleAnimSpriteTemplate_83D7B94, 0, 16, -8 - createtask sub_80D23B4, 5 - panse_19 SE_W043, 192 - pause 2 - createtask sub_80D60B4, 3, 20, 1, 0 - wait - createtask sub_80E2A38, 5, 1, 0, 16, 0, 0 + loadspritegfx 10248 + loadspritegfx 10218 + createvisualtask sub_81301EC, 5, 0 + playsewithpan SE_W060B, 192 + waitforvisualfinish + createvisualtask sub_80E2A38, 5, 1, 0, 0, 16, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D7B94, 0, -16, -8 + createsprite gBattleAnimSpriteTemplate_83D7B94, 0, 16, -8 + createvisualtask sub_80D23B4, 5 + playsewithpan SE_W043, 192 + delay 2 + createvisualtask sub_80D60B4, 3, 20, 1, 0 + waitforvisualfinish + createvisualtask sub_80E2A38, 5, 1, 0, 16, 0, 0 end Move_BARRAGE: @ 81CB533 - loadsprite 10254 - createtask sub_8130554, 3 - panse_19 SE_W207, 192 - pause 24 - sprite gBattleAnimSpriteTemplate_83DB428, 2, 8, 1, 40, 1 - createtask sub_80A7E7C, 3, 1, 0, 4, 20, 1 - createtask sub_80A7E7C, 3, 3, 0, 4, 20, 1 - panse_1C SE_W070, 63, 8, 2 + loadspritegfx 10254 + createvisualtask sub_8130554, 3 + playsewithpan SE_W207, 192 + delay 24 + createsprite gBattleAnimSpriteTemplate_83DB428, 2, 8, 1, 40, 1 + createvisualtask AnimTask_ShakeMon, 3, 1, 0, 4, 20, 1 + createvisualtask AnimTask_ShakeMon, 3, 3, 0, 4, 20, 1 + loopsewithpan SE_W070, 63, 8, 2 end Move_SKY_ATTACK: @ 81CB57B - ifelse _81CB585, _81CB68E + choosetwoturnanim _81CB585, _81CB68E _81CB584: end _81CB585: - monbg 3 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 11 - createtask sub_80E3BA4, 5, 7 - jumpvareq 7, 0, _81CB5A0 - jump _81CB617 + createvisualtask sub_80E3BA4, 5, 7 + jumpargeq 7, 0, _81CB5A0 + goto _81CB617 _81CB5A0: - createtask sub_80E2A38, 10, 27, 1, 0, 12, 0 - wait - pause 12 - createtask sub_80E2A38, 10, 2, 1, 8, 0, 0 - createtask sub_80E1864, 5, 0, 2, 16 - panse_1C SE_W287, 192, 4, 8 - createtask sub_80E2A38, 10, 2, 1, 0, 15, 32767 - pause 20 - createtask sub_80E2A38, 10, 2, 1, 15, 0, 32767 - wait - createtask sub_80E2A38, 10, 25, 1, 8, 0, 0 - wait - clearmonbg 3 - blendoff - jump _81CB584 + createvisualtask sub_80E2A38, 10, 27, 1, 0, 12, 0 + waitforvisualfinish + delay 12 + createvisualtask sub_80E2A38, 10, 2, 1, 8, 0, 0 + createvisualtask sub_80E1864, 5, 0, 2, 16 + loopsewithpan SE_W287, 192, 4, 8 + createvisualtask sub_80E2A38, 10, 2, 1, 0, 15, 32767 + delay 20 + createvisualtask sub_80E2A38, 10, 2, 1, 15, 0, 32767 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 25, 1, 8, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + blendoff + goto _81CB584 _81CB617: - createtask sub_80E2A7C, 10, 1, 1, 0, 12, 0 - wait - pause 12 - createtask sub_80E2A38, 10, 2, 1, 8, 0, 0 - createtask sub_80E1864, 5, 0, 2, 16 - panse_19 SE_W287, 192 - pause 8 - createtask sub_80E2A38, 10, 2, 1, 0, 15, 32767 - pause 20 - createtask sub_80E2A38, 10, 2, 1, 15, 0, 32767 - wait - createtask sub_80E2A7C, 10, 4, 1, 8, 0, 0 - wait - clearmonbg 3 - blendoff - jump _81CB584 + createvisualtask sub_80E2A7C, 10, 1, 1, 0, 12, 0 + waitforvisualfinish + delay 12 + createvisualtask sub_80E2A38, 10, 2, 1, 8, 0, 0 + createvisualtask sub_80E1864, 5, 0, 2, 16 + playsewithpan SE_W287, 192 + delay 8 + createvisualtask sub_80E2A38, 10, 2, 1, 0, 15, 32767 + delay 20 + createvisualtask sub_80E2A38, 10, 2, 1, 15, 0, 32767 + waitforvisualfinish + createvisualtask sub_80E2A7C, 10, 4, 1, 8, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + blendoff + goto _81CB584 _81CB68E: - loadsprite 10135 - loadsprite 10284 + loadspritegfx 10135 + loadspritegfx 10284 call Unknown_81D61FB - monbg 0 - createtask sub_80E2A38, 10, 2, 0, 0, 16, 32767 - pause 4 - createtask sub_80DFC24, 5, 0 - wait - createtask sub_812B340, 5, 238, -64 - sprite gBattleAnimSpriteTemplate_83DA65C, 130 - pause 14 - createtask sub_80A7FA0, 2, 1, 10, 0, 18, 1 - createtask sub_812B30C, 5, 141, 63 - pause 20 - createtask sub_80DFD24, 5, 1 - pause 2 - createtask sub_80E2A38, 10, 2, 0, 15, 0, 32767 - wait - clearmonbg 0 + monbg ANIM_BANK_ATTACKER + createvisualtask sub_80E2A38, 10, 2, 0, 0, 16, 32767 + delay 4 + createvisualtask sub_80DFC24, 5, 0 + waitforvisualfinish + createvisualtask sub_812B340, 5, 238, -64 + createsprite gBattleAnimSpriteTemplate_83DA65C, 130 + delay 14 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 10, 0, 18, 1 + createvisualtask sub_812B30C, 5, 141, 63 + delay 20 + createvisualtask sub_80DFD24, 5, 1 + delay 2 + createvisualtask sub_80E2A38, 10, 2, 0, 15, 0, 32767 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER call Unknown_81D622B - jump _81CB584 + goto _81CB584 Move_FLASH: @ 81CB713 - panse_19 SE_W043, 192 - createtask sub_80E388C, 2 - wait + playsewithpan SE_W043, 192 + createvisualtask sub_80E388C, 2 + waitforvisualfinish end Move_SPLASH: @ 81CB720 - createtask sub_80D074C, 2, 0, 3 - pause 8 - panse_1C SE_W039, 192, 38, 3 - wait + createvisualtask sub_80D074C, 2, 0, 3 + delay 8 + loopsewithpan SE_W039, 192, 38, 3 + waitforvisualfinish end Move_ACID_ARMOR: @ 81CB735 - monbg 0 + monbg ANIM_BANK_ATTACKER setalpha 15, 0 - createtask sub_812F314, 2, 0 - panse_19 SE_W151, 192 - wait + createvisualtask sub_812F314, 2, 0 + playsewithpan SE_W151, 192 + waitforvisualfinish blendoff - clearmonbg 0 - pause 1 + clearmonbg ANIM_BANK_ATTACKER + delay 1 end Move_SHARPEN: @ 81CB74E - loadsprite 10185 - sprite gBattleAnimSpriteTemplate_83D6EF0, 2 - wait + loadspritegfx 10185 + createsprite gBattleAnimSpriteTemplate_83D6EF0, 2 + waitforvisualfinish end Move_SUPER_FANG: @ 81CB75A - loadsprite 10192 - createtask sub_80A8154, 2, 0, 1, 0, 20, 1 - panse_19 SE_W082, 192 - wait - createtask sub_80A8154, 2, 0, 3, 0, 48, 1 - createtask sub_8079790, 2, 0, 1247, 12, 4, 1 - wait - pause 20 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7080, 130 - panse_19 SE_W044, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 2143, 14, 32767, 14 - createtask sub_80A7E7C, 2, 1, 0, 7, 12, 1 - wait + loadspritegfx 10192 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 1, 0, 20, 1 + playsewithpan SE_W082, 192 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 3, 0, 48, 1 + createvisualtask sub_8079790, 2, 0, 1247, 12, 4, 1 + waitforvisualfinish + delay 20 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7080, 130 + playsewithpan SE_W044, 63 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 2143, 14, 32767, 14 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 7, 12, 1 + waitforvisualfinish blendoff end Move_SLASH: @ 81CB7DB - loadsprite 10183 - sprite gBattleAnimSpriteTemplate_83D6E38, 130, 1, -8, 0 - panse_19 SE_W013, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6E38, 130, 1, 8, 0 - createtask sub_80A7FA0, 2, 1, 4, 0, 18, 1 - panse_19 SE_W013, 63 - wait + loadspritegfx 10183 + createsprite gBattleAnimSpriteTemplate_83D6E38, 130, 1, -8, 0 + playsewithpan SE_W013, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6E38, 130, 1, 8, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 18, 1 + playsewithpan SE_W013, 63 + waitforvisualfinish end Move_STRUGGLE: @ 81CB815 - loadsprite 10135 - loadsprite 10215 - monbg 1 + loadspritegfx 10135 + loadspritegfx 10215 + monbg ANIM_BANK_TARGET setalpha 12, 8 - createtask sub_80A8154, 2, 0, 3, 0, 12, 4 - sprite gBattleAnimSpriteTemplate_83D7C90, 2, 0, 0, 2 - sprite gBattleAnimSpriteTemplate_83D7C90, 2, 0, 1, 2 - panse_1C SE_W029, 192, 12, 4 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 2 - createtask sub_80A8154, 2, 1, 3, 0, 6, 1 - panse_19 SE_W025B, 63 - wait - clearmonbg 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 3, 0, 12, 4 + createsprite gBattleAnimSpriteTemplate_83D7C90, 2, 0, 0, 2 + createsprite gBattleAnimSpriteTemplate_83D7C90, 2, 0, 1, 2 + loopsewithpan SE_W029, 192, 12, 4 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W025B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_SKETCH: @ 81CB87B - loadsprite 10002 - monbg 1 - createtask sub_80D0C88, 2 - sprite gBattleAnimSpriteTemplate_83D77E0, 130 - wait - clearmonbg 1 - createtask sub_80D074C, 2, 0, 2 - panse_1C SE_W039, 192, 38, 2 + loadspritegfx 10002 + monbg ANIM_BANK_TARGET + createvisualtask sub_80D0C88, 2 + createsprite gBattleAnimSpriteTemplate_83D77E0, 130 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET + createvisualtask sub_80D074C, 2, 0, 2 + loopsewithpan SE_W039, 192, 38, 2 end Move_NIGHTMARE: @ 81CB8A3 fadetobg 2 waitbgfadein - jumpunkcond _81CB8CF - monbg 3 - createtask sub_80DE1B0, 2 - createtask sub_80A7E7C, 2, 1, 3, 0, 40, 1 - panse_19 SE_W171, 63 - wait - clearmonbg 3 + jumpifcontest _81CB8CF + monbg ANIM_BANK_DEF_PARTNER + createvisualtask sub_80DE1B0, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 40, 1 + playsewithpan SE_W171, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER restorebg waitbgfadein end _81CB8CF: - createtask sub_8079790, 2, 0, 32767, 10, 2, 1 - createtask sub_80A7E7C, 2, 0, 3, 0, 32, 1 - panse_19 SE_W171, 63 - wait + createvisualtask sub_8079790, 2, 0, 32767, 10, 2, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_ATTACKER, 3, 0, 32, 1 + playsewithpan SE_W171, 63 + waitforvisualfinish restorebg waitbgfadein end Move_FLAIL: @ 81CB8F9 - loadsprite 10135 - monbg 1 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - createtask sub_812E860, 2, 0 - panse_1C SE_W029, 192, 8, 2 - wait - sprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 3 - createtask sub_80A9058, 2, 0, 1, 30, 1, 0 - panse_19 SE_W025B, 63 - wait - clearmonbg 1 + createvisualtask sub_812E860, 2, 0 + loopsewithpan SE_W029, 192, 8, 2 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 3 + createvisualtask sub_80A9058, 2, 0, 1, 30, 1, 0 + playsewithpan SE_W025B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_SPITE: @ 81CB936 fadetobg 2 - panse_19 SE_W060, 192 + playsewithpan SE_W060, 192 waitbgfadein - monbg 3 - createtask sub_80E1F8C, 2, 2, 2, 6, 0, 8, 32767 - createtask sub_80DE3AC, 2 - panse_1C SE_W060, 63, 20, 3 - wait + monbg ANIM_BANK_DEF_PARTNER + createvisualtask sub_80E1F8C, 2, 2, 2, 6, 0, 8, 32767 + createvisualtask sub_80DE3AC, 2 + loopsewithpan SE_W060, 63, 20, 3 + waitforvisualfinish restorebg waitbgfadein - clearmonbg 1 + clearmonbg ANIM_BANK_TARGET end Move_MACH_PUNCH: @ 81CB965 - loadsprite 10135 - loadsprite 10143 - monbg 2 - createtask sub_80E3B4C, 2 - jumpvareq 7, 1, _81CB9E6 + loadspritegfx 10135 + loadspritegfx 10143 + monbg ANIM_BANK_ATK_PARTNER + createvisualtask sub_80E3B4C, 2 + jumpargeq 7, 1, _81CB9E6 fadetobg 9 _81CB97E: waitbgfadeout - createtask sub_80E3A58, 5, -2304, 0, 1, -1 + createvisualtask sub_80E3A58, 5, -2304, 0, 1, -1 waitbgfadein - pause 0 + delay 0 setalpha 9, 8 - createtask sub_807A69C, 2, 28968, 10 - panse_19 SE_W026, 192 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0 - panse_19 SE_W004, 63 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - wait - clearmonbg 2 + createvisualtask sub_807A69C, 2, 28968, 10 + playsewithpan SE_W026, 192 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0 + playsewithpan SE_W004, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein end _81CB9E6: fadetobg 10 - jump _81CB97E + goto _81CB97E Move_FORESIGHT: @ 81CB9ED - loadsprite 10258 - monbg 3 + loadspritegfx 10258 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 16, 0 - sprite gBattleAnimSpriteTemplate_8402A24, 130, 1 - pause 17 - panse_1C SE_W166, 63, 16, 4 - pause 48 - pause 24 - panse_19 SE_W166, 63 - pause 10 - createtask sub_8079790, 5, 1, 32767, 12, 2, 1 - panse_19 SE_W197, 63 - wait + createsprite gBattleAnimSpriteTemplate_8402A24, 130, 1 + delay 17 + loopsewithpan SE_W166, 63, 16, 4 + delay 48 + delay 24 + playsewithpan SE_W166, 63 + delay 10 + createvisualtask sub_8079790, 5, 1, 32767, 12, 2, 1 + playsewithpan SE_W197, 63 + waitforvisualfinish blendoff - clearmonbg 3 + clearmonbg ANIM_BANK_DEF_PARTNER end Move_DESTINY_BOND: @ 81CBA2C - loadsprite 10188 + loadspritegfx 10188 fadetobg 2 - panse_19 SE_W060, 192 + playsewithpan SE_W060, 192 waitbgfadein - createtask sub_80DE918, 5, 0, 48 - panse_19 SE_W109, 192 - pause 48 - createtask sub_80A8154, 2, 0, 2, 0, 24, 1 - createtask sub_80E2A7C, 2, 6, 1, 0, 12, 30653 - pause 24 - createtask sub_80E2A7C, 2, 6, 1, 12, 0, 30653 - panse_19 SE_W171, 63 - wait + createvisualtask sub_80DE918, 5, 0, 48 + playsewithpan SE_W109, 192 + delay 48 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 24, 1 + createvisualtask sub_80E2A7C, 2, 6, 1, 0, 12, 30653 + delay 24 + createvisualtask sub_80E2A7C, 2, 6, 1, 12, 0, 30653 + playsewithpan SE_W171, 63 + waitforvisualfinish restorebg waitbgfadein blendoff @@ -3181,1131 +3183,1131 @@ Move_DESTINY_BOND: @ 81CBA2C end Move_ENDURE: @ 81CBA87 - loadsprite 10184 - panse_19 SE_W082, 192 + loadspritegfx 10184 + playsewithpan SE_W082, 192 call EndureFlamesAnim - pause 8 - createtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 - createtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 + delay 8 + createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 call EndureFlamesAnim - pause 8 + delay 8 call EndureFlamesAnim - wait + waitforvisualfinish end EndureFlamesAnim: - sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, -24, 26, 2 - pause 4 - sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, 14, 28, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, -5, 10, 2 - pause 4 - sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, 28, 26, 3 - pause 4 - sprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, -12, 0, 1 - ret + createsprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, -24, 26, 2 + delay 4 + createsprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, 14, 28, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, -5, 10, 2 + delay 4 + createsprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, 28, 26, 3 + delay 4 + createsprite gBattleAnimSpriteTemplate_EndureFlame, 2, 0, -12, 0, 1 + return Move_CHARM: @ 81CBB1B - loadsprite 10210 - createtask sub_812E568, 5, 0, 2, 0 - sprite gBattleAnimSpriteTemplate_83D7A80, 3, 0, 20 - panse_19 SE_W204, 192 - pause 15 - sprite gBattleAnimSpriteTemplate_83D7A80, 3, -20, 20 - panse_19 SE_W204, 192 - pause 15 - sprite gBattleAnimSpriteTemplate_83D7A80, 3, 20, 20 - panse_19 SE_W204, 192 - wait + loadspritegfx 10210 + createvisualtask sub_812E568, 5, 0, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D7A80, 3, 0, 20 + playsewithpan SE_W204, 192 + delay 15 + createsprite gBattleAnimSpriteTemplate_83D7A80, 3, -20, 20 + playsewithpan SE_W204, 192 + delay 15 + createsprite gBattleAnimSpriteTemplate_83D7A80, 3, 20, 20 + playsewithpan SE_W204, 192 + waitforvisualfinish end Move_ROLLOUT: @ 81CBB5E - loadsprite 10135 - loadsprite 10074 - loadsprite 10058 - monbg 3 + loadspritegfx 10135 + loadspritegfx 10074 + loadspritegfx 10058 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - createtask sub_80DD4D4, 2 - wait - createtask sub_80A9058, 2, 0, 1, 30, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 4, 0, 0, 1, 2 - panse_19 SE_W025B, 63 - wait - clearmonbg 3 + createvisualtask sub_80DD4D4, 2 + waitforvisualfinish + createvisualtask sub_80A9058, 2, 0, 1, 30, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 4, 0, 0, 1, 2 + playsewithpan SE_W025B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_FALSE_SWIPE: @ 81CBB9F - loadsprite 10286 - loadsprite 10135 - sprite gBattleAnimSpriteTemplate_83D6E50, 130 - panse_19 SE_W233, 63 - pause 16 - sprite gBattleAnimSpriteTemplate_83D6E68, 130, 0 - panse_19 SE_W104, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6E68, 130, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6E68, 130, 32 - panse_19 SE_W104, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6E68, 130, 48 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6E68, 130, 64 - panse_19 SE_W104, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6E68, 130, 80 - pause 2 - wait - createtask sub_80A7E7C, 2, 1, 5, 0, 6, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 132, 0, 0, 1, 3 - panse_19 SE_W004, 63 + loadspritegfx 10286 + loadspritegfx 10135 + createsprite gBattleAnimSpriteTemplate_83D6E50, 130 + playsewithpan SE_W233, 63 + delay 16 + createsprite gBattleAnimSpriteTemplate_83D6E68, 130, 0 + playsewithpan SE_W104, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6E68, 130, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6E68, 130, 32 + playsewithpan SE_W104, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6E68, 130, 48 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6E68, 130, 64 + playsewithpan SE_W104, 63 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6E68, 130, 80 + delay 2 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 132, 0, 0, 1, 3 + playsewithpan SE_W004, 63 end Move_SWAGGER: @ 81CBC26 - loadsprite 10086 - loadsprite 10087 - createtask sub_80D08C8, 2 - panse_19 SE_W207, 192 - wait - sprite gBattleAnimSpriteTemplate_83D7764, 2 - panse_1C SE_W207, 192, 4, 2 - wait - pause 24 - sprite gBattleAnimSpriteTemplate_83D7798, 130, 1, -20, -28 - panse_19 SE_W207B, 63 - pause 12 - sprite gBattleAnimSpriteTemplate_83D7798, 130, 1, 20, -28 - panse_19 SE_W207B, 63 - wait + loadspritegfx 10086 + loadspritegfx 10087 + createvisualtask sub_80D08C8, 2 + playsewithpan SE_W207, 192 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D7764, 2 + loopsewithpan SE_W207, 192, 4, 2 + waitforvisualfinish + delay 24 + createsprite gBattleAnimSpriteTemplate_83D7798, 130, 1, -20, -28 + playsewithpan SE_W207B, 63 + delay 12 + createsprite gBattleAnimSpriteTemplate_83D7798, 130, 1, 20, -28 + playsewithpan SE_W207B, 63 + waitforvisualfinish end Move_MILK_DRINK: @ 81CBC6E - loadsprite 10099 - loadsprite 10203 - loadsprite 10031 - monbg 1 - sprite gBattleAnimSpriteTemplate_83D6C48, 2 - pause 40 - panse_19 SE_W152, 192 - pause 12 - panse_19 SE_W152, 192 - pause 20 - panse_19 SE_W152, 192 - wait - sprite gBattleAnimSpriteTemplate_83D7928, 3, 0, 0, 1, 0 - panse_19 SE_W208, 192 - wait - clearmonbg 1 + loadspritegfx 10099 + loadspritegfx 10203 + loadspritegfx 10031 + monbg ANIM_BANK_TARGET + createsprite gBattleAnimSpriteTemplate_83D6C48, 2 + delay 40 + playsewithpan SE_W152, 192 + delay 12 + playsewithpan SE_W152, 192 + delay 20 + playsewithpan SE_W152, 192 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D7928, 3, 0, 0, 1, 0 + playsewithpan SE_W208, 192 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET call Unknown_81D5F3E - wait + waitforvisualfinish end Move_MAGNITUDE: @ 81CBCB0 - createtask sub_80E1B88, 2 - wait - jumpvareq 15, 0, _81CBCC9 - jumpvareq 15, 1, _81CBCEE + createvisualtask sub_80E1B88, 2 + waitforvisualfinish + jumpargeq 15, 0, _81CBCC9 + jumpargeq 15, 1, _81CBCEE _81CBCC8: end _81CBCC9: - createtask sub_80E1864, 5, 5, 0, 50 - createtask sub_80E1864, 5, 4, 0, 50 - panse_1C SE_W070, 63, 8, 10 - jump _81CBCC8 + createvisualtask sub_80E1864, 5, 5, 0, 50 + createvisualtask sub_80E1864, 5, 4, 0, 50 + loopsewithpan SE_W070, 63, 8, 10 + goto _81CBCC8 _81CBCEE: - createtask sub_80E1864, 5, 5, 0, 50 - createtask sub_80E1864, 5, 4, 0, 50 - panse_1C SE_W070, 63, 8, 10 - pause 10 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 - pause 16 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 - jump _81CBCC8 + createvisualtask sub_80E1864, 5, 5, 0, 50 + createvisualtask sub_80E1864, 5, 4, 0, 50 + loopsewithpan SE_W070, 63, 8, 10 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 + delay 16 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14 + goto _81CBCC8 Move_RAPID_SPIN: @ 81CBD41 - loadsprite 10135 - loadsprite 10229 - monbg 0 - sprite gBattleAnimSpriteTemplate_84023E8, 2, 0, 0, 32, -32, 40, -2 - createtask sub_812CDC8, 2, 0, 2, 0 - panse_1C SE_W013B, 192, 8, 4 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 0, 0, 1, 2 - createtask sub_80A9058, 2, 0, 1, 10, 1, 0 - panse_19 SE_W003, 63 - wait - pause 8 - createtask sub_812CDC8, 2, 0, 2, 1 - panse_1C SE_W013B, 192, 8, 4 - wait - clearmonbg 0 + loadspritegfx 10135 + loadspritegfx 10229 + monbg ANIM_BANK_ATTACKER + createsprite gBattleAnimSpriteTemplate_84023E8, 2, 0, 0, 32, -32, 40, -2 + createvisualtask sub_812CDC8, 2, 0, 2, 0 + loopsewithpan SE_W013B, 192, 8, 4 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2 + createvisualtask sub_80A9058, 2, 0, 1, 10, 1, 0 + playsewithpan SE_W003, 63 + waitforvisualfinish + delay 8 + createvisualtask sub_812CDC8, 2, 0, 2, 1 + loopsewithpan SE_W013B, 192, 8, 4 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER end Move_MOONLIGHT: @ 81CBDAE - loadsprite 10194 - loadsprite 10195 - loadsprite 10031 + loadspritegfx 10194 + loadspritegfx 10195 + loadspritegfx 10031 setalpha 0, 16 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 16, 0 - wait - sprite gBattleAnimSpriteTemplate_83D6FC8, 2, 120, 56 - createtask sub_8079670, 3, 0, 16, 16, 0, 1 - panse_19 SE_W236, 0 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6FF8, 40, -12, 0 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6FF8, 40, -24, 0 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6FF8, 40, 21, 0 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6FF8, 40, 0, 0 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6FF8, 40, 10, 0 - pause 20 - createtask sub_80CE3EC, 2 - wait + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 16, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D6FC8, 2, 120, 56 + createvisualtask sub_8079670, 3, 0, 16, 16, 0, 1 + playsewithpan SE_W236, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_83D6FF8, 40, -12, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_83D6FF8, 40, -24, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_83D6FF8, 40, 21, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_83D6FF8, 40, 0, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_83D6FF8, 40, 10, 0 + delay 20 + createvisualtask sub_80CE3EC, 2 + waitforvisualfinish call Unknown_81D5EF5 - wait + waitforvisualfinish end Move_EXTREME_SPEED: @ 81CBE3E - loadsprite 10207 - loadsprite 10135 - createtask sub_80E3B4C, 2 - jumpvareq 7, 1, _81CBEF5 + loadspritegfx 10207 + loadspritegfx 10135 + createvisualtask sub_80E3B4C, 2 + jumpargeq 7, 1, _81CBEF5 fadetobg 9 _81CBE55: waitbgfadeout - createtask sub_80E3A58, 5, -2304, 0, 1, -1 + createvisualtask sub_80E3A58, 5, -2304, 0, 1, -1 waitbgfadein - createtask sub_80D15A4, 2 - panse_1C SE_W013B, 192, 8, 3 - wait - pause 1 - createtask sub_80E4300, 2 - monbg 1 - setalpha 12, 8 - pause 18 - createtask sub_80D1638, 2 - pause 2 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB508, 130, 1, 0, -12, 3 - pause 10 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB508, 130, 1, 0, 12, 3 - pause 10 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB508, 130, 1, 0, 0, 3 - wait - createtask sub_80D18D4, 2 - pause 10 - createtask sub_80D17C4, 2 - panse_1C SE_W104, 192, 8, 4 - wait + createvisualtask sub_80D15A4, 2 + loopsewithpan SE_W013B, 192, 8, 3 + waitforvisualfinish + delay 1 + createvisualtask sub_80E4300, 2 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + delay 18 + createvisualtask sub_80D1638, 2 + delay 2 + playsewithpan SE_W004, 63 + createsprite gBattleAnimSpriteTemplate_83DB508, 130, 1, 0, -12, 3 + delay 10 + playsewithpan SE_W004, 63 + createsprite gBattleAnimSpriteTemplate_83DB508, 130, 1, 0, 12, 3 + delay 10 + playsewithpan SE_W233B, 63 + createsprite gBattleAnimSpriteTemplate_83DB508, 130, 1, 0, 0, 3 + waitforvisualfinish + createvisualtask sub_80D18D4, 2 + delay 10 + createvisualtask sub_80D17C4, 2 + loopsewithpan SE_W104, 192, 8, 4 + waitforvisualfinish restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein - clearmonbg 1 + clearmonbg ANIM_BANK_TARGET blendoff - pause 1 - setvar 7, 4096 - pause 1 + delay 1 + setarg 7, 4096 + delay 1 end _81CBEF5: fadetobg 10 - jump _81CBE55 + goto _81CBE55 Move_UPROAR: @ 81CBEFC - loadsprite 10225 - loadsprite 10203 - monbg 3 - createtask sub_80D2CF8, 2, 0 - sprite gBattleAnimSpriteTemplate_83D79A4, 3, 0, 0, 0, 0, 31, 8 - panse_19 SE_W253, 192 - sprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, 29, -12, 0 - sprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, -12, -29, 1 - pause 16 - createtask sub_80D2CF8, 2, 0 - sprite gBattleAnimSpriteTemplate_83D79A4, 3, 0, 0, 0, 0, 31, 8 - panse_19 SE_W253, 192 - sprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, 12, -29, 1 - sprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, -29, -12, 0 - pause 16 - createtask sub_80D2CF8, 2, 0 - sprite gBattleAnimSpriteTemplate_83D79A4, 3, 0, 0, 0, 0, 31, 8 - panse_19 SE_W253, 192 - sprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, 24, -24, 1 - sprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, -24, -24, 0 - wait - clearmonbg 3 + loadspritegfx 10225 + loadspritegfx 10203 + monbg ANIM_BANK_DEF_PARTNER + createvisualtask sub_80D2CF8, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D79A4, 3, 0, 0, 0, 0, 31, 8 + playsewithpan SE_W253, 192 + createsprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, 29, -12, 0 + createsprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, -12, -29, 1 + delay 16 + createvisualtask sub_80D2CF8, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D79A4, 3, 0, 0, 0, 0, 31, 8 + playsewithpan SE_W253, 192 + createsprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, 12, -29, 1 + createsprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, -29, -12, 0 + delay 16 + createvisualtask sub_80D2CF8, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D79A4, 3, 0, 0, 0, 0, 31, 8 + playsewithpan SE_W253, 192 + createsprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, 24, -24, 1 + createsprite gBattleAnimSpriteTemplate_83D7CC8, 2, 0, -24, -24, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end Move_HEAT_WAVE: @ 81CBFC6 - loadsprite 10261 - createtask sub_80E2C60, 5, 10261, 0, 6, 6, 31 - createtask do_boulder_dust, 5, 1 - createtask sub_80D6080, 6, 6, 31 + loadspritegfx 10261 + createvisualtask sub_80E2C60, 5, 10261, 0, 6, 6, 31 + createvisualtask do_boulder_dust, 5, 1 + createvisualtask sub_80D6080, 6, 6, 31 panse_1B SE_W257, 192, 63, 2, 0 - pause 4 - createtask sub_80D5DDC, 5 - pause 12 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 10, 2304, 96, 1 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 90, 2048, 96, 1 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 50, 2560, 96, 1 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 20, 2304, 96, 1 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 70, 1984, 96, 1 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 0, 2816, 96, 1 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 60, 2560, 96, 1 + delay 4 + createvisualtask sub_80D5DDC, 5 + delay 12 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 10, 2304, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 90, 2048, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 50, 2560, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 20, 2304, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 70, 1984, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 0, 2816, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 60, 2560, 96, 1 end Move_HAIL: @ 81CC076 - loadsprite 10263 - loadsprite 10141 - createtask sub_80E2A38, 10, 1, 3, 0, 6, 0 - wait - createtask sub_80D8ADC, 5 - panse_1C SE_W258, 0, 8, 10 - wait - createtask sub_80E2A38, 10, 1, 3, 6, 0, 0 + loadspritegfx 10263 + loadspritegfx 10141 + createvisualtask sub_80E2A38, 10, 1, 3, 0, 6, 0 + waitforvisualfinish + createvisualtask sub_80D8ADC, 5 + loopsewithpan SE_W258, 0, 8, 10 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 1, 3, 6, 0, 0 end Move_TORMENT: @ 81CC0AE - loadsprite 10087 - loadsprite 10209 - createtask sub_812D008, 2 - wait - createtask sub_8079790, 2, 1, 31, 10, 1, 1 - sprite gBattleAnimSpriteTemplate_83D7798, 130, 1, -20, -28 - panse_19 SE_W207B, 63 - pause 20 - sprite gBattleAnimSpriteTemplate_83D7798, 130, 1, 20, -28 - panse_19 SE_W207B, 63 + loadspritegfx 10087 + loadspritegfx 10209 + createvisualtask sub_812D008, 2 + waitforvisualfinish + createvisualtask sub_8079790, 2, 1, 31, 10, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D7798, 130, 1, -20, -28 + playsewithpan SE_W207B, 63 + delay 20 + createsprite gBattleAnimSpriteTemplate_83D7798, 130, 1, 20, -28 + playsewithpan SE_W207B, 63 end Move_MEMENTO: @ 81CC0F2 setalpha 0, 16 - pause 1 - createtask sub_80E0918, 2 - pause 1 - createtask sub_80E00EC, 5 - panse_19 SE_W060, 192 - pause 48 - panse_19 SE_W060B, 192 - wait - createtask sub_80E09C4, 2 - pause 12 + delay 1 + createvisualtask sub_80E0918, 2 + delay 1 + createvisualtask sub_80E00EC, 5 + playsewithpan SE_W060, 192 + delay 48 + playsewithpan SE_W060B, 192 + waitforvisualfinish + createvisualtask sub_80E09C4, 2 + delay 12 setalpha 0, 16 - pause 1 + delay 1 monbg_22 1 - createtask sub_80E03BC, 5 - panse_19 SE_W060, 63 - wait + createvisualtask sub_80E03BC, 5 + playsewithpan SE_W060, 63 + waitforvisualfinish clearmonbg_23 1 - pause 1 + delay 1 blendoff - pause 1 + delay 1 end Move_FACADE: @ 81CC136 - loadsprite 10243 - createtask sub_812FD7C, 2, 0, 3 - createtask sub_812FFE4, 2, 0, 72 - panse_1C SE_W207, 192, 24, 3 + loadspritegfx 10243 + createvisualtask sub_812FD7C, 2, 0, 3 + createvisualtask sub_812FFE4, 2, 0, 72 + loopsewithpan SE_W207, 192, 24, 3 end Move_SMELLING_SALT: @ 81CC156 - loadsprite 10247 - loadsprite 10255 - sprite gBattleAnimSpriteTemplate_84029C4, 130, 1, 0, 2 - sprite gBattleAnimSpriteTemplate_84029C4, 130, 1, 1, 2 - pause 32 - createtask sub_8130918, 3, 1, 2 - panse_1C SE_W003, 63, 12, 2 - wait - pause 4 - createtask sub_80A7FA0, 2, 1, 2, 0, 6, 2 - sprite gBattleAnimSpriteTemplate_84029F4, 130, 1, 8, 3 - panse_1C SE_W207B, 63, 16, 3 + loadspritegfx 10247 + loadspritegfx 10255 + createsprite gBattleAnimSpriteTemplate_84029C4, 130, 1, 0, 2 + createsprite gBattleAnimSpriteTemplate_84029C4, 130, 1, 1, 2 + delay 32 + createvisualtask sub_8130918, 3, 1, 2 + loopsewithpan SE_W003, 63, 12, 2 + waitforvisualfinish + delay 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 6, 2 + createsprite gBattleAnimSpriteTemplate_84029F4, 130, 1, 8, 3 + loopsewithpan SE_W207B, 63, 16, 3 end Move_FOLLOW_ME: @ 81CC1B1 - loadsprite 10064 - sprite gBattleAnimSpriteTemplate_83D72E0, 2, 0 - panse_19 SE_W039, 192 - pause 18 - panse_19 SE_W213, 192 - pause 71 - panse_1C SE_W039, 192, 22, 3 + loadspritegfx 10064 + createsprite gBattleAnimSpriteTemplate_83D72E0, 2, 0 + playsewithpan SE_W039, 192 + delay 18 + playsewithpan SE_W213, 192 + delay 71 + loopsewithpan SE_W039, 192, 22, 3 end Move_CHARGE: @ 81CC1D0 - loadsprite 10211 - loadsprite 10212 - loadsprite 10213 - monbg 0 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 4, 0 - wait - createtask sub_80D6B3C, 2, 0, 60, 2, 12 - panse_19 SE_W268, 192 - pause 30 - panse_19 SE_W268, 192 - pause 30 - panse_19 SE_W268, 192 - sprite gBattleAnimSpriteTemplate_83D9A6C, 2, 0 - pause 25 - panse_19 SE_W268, 192 - pause 20 - panse_19 SE_W268, 192 - pause 15 - panse_19 SE_W268, 192 - pause 10 - pause 6 - panse_1C SE_W268, 192, 6, 5 - wait - sprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, 16, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, -16, -16 - panse_19 SE_W085B, 192 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 4, 0, 0 - clearmonbg 0 + loadspritegfx 10211 + loadspritegfx 10212 + loadspritegfx 10213 + monbg ANIM_BANK_ATTACKER + setalpha 12, 8 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 4, 0 + waitforvisualfinish + createvisualtask sub_80D6B3C, 2, 0, 60, 2, 12 + playsewithpan SE_W268, 192 + delay 30 + playsewithpan SE_W268, 192 + delay 30 + playsewithpan SE_W268, 192 + createsprite gBattleAnimSpriteTemplate_83D9A6C, 2, 0 + delay 25 + playsewithpan SE_W268, 192 + delay 20 + playsewithpan SE_W268, 192 + delay 15 + playsewithpan SE_W268, 192 + delay 10 + delay 6 + loopsewithpan SE_W268, 192, 6, 5 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, 16, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, -16, -16 + playsewithpan SE_W085B, 192 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 4, 0, 0 + clearmonbg ANIM_BANK_ATTACKER blendoff end Move_TAUNT: @ 81CC26B - loadsprite 10214 - loadsprite 10209 - loadsprite 10087 - sprite gBattleAnimSpriteTemplate_83D7220, 11, 0, 45 - panse_19 SE_W118, 192 - pause 6 - sprite gBattleAnimSpriteTemplate_83D7358, 12, 0 - pause 4 - panse_1C SE_W039, 192, 16, 2 - wait - pause 8 - sprite gBattleAnimSpriteTemplate_83D7798, 130, 1, -20, -28 - panse_19 SE_W207B, 63 - wait - pause 12 - sprite gBattleAnimSpriteTemplate_83D7798, 130, 1, 20, -28 - panse_19 SE_W207B, 63 + loadspritegfx 10214 + loadspritegfx 10209 + loadspritegfx 10087 + createsprite gBattleAnimSpriteTemplate_83D7220, 11, 0, 45 + playsewithpan SE_W118, 192 + delay 6 + createsprite gBattleAnimSpriteTemplate_83D7358, 12, 0 + delay 4 + loopsewithpan SE_W039, 192, 16, 2 + waitforvisualfinish + delay 8 + createsprite gBattleAnimSpriteTemplate_83D7798, 130, 1, -20, -28 + playsewithpan SE_W207B, 63 + waitforvisualfinish + delay 12 + createsprite gBattleAnimSpriteTemplate_83D7798, 130, 1, 20, -28 + playsewithpan SE_W207B, 63 end Move_HELPING_HAND: @ 81CC2BF - loadsprite 10247 - createtask sub_8130D20, 5 - sprite gBattleAnimSpriteTemplate_8402A0C, 40, 0 - sprite gBattleAnimSpriteTemplate_8402A0C, 40, 1 - pause 19 - panse_19 SE_W227, 0 - createtask sub_80A7FA0, 2, 2, 2, 0, 5, 1 - pause 14 - panse_19 SE_W227, 0 - createtask sub_80A7FA0, 2, 2, 2, 0, 5, 1 - pause 20 - panse_19 SE_W227, 0 - createtask sub_80A7FA0, 2, 2, 3, 0, 10, 1 - createtask sub_8079790, 2, 2, 1023, 12, 1, 1 + loadspritegfx 10247 + createvisualtask sub_8130D20, 5 + createsprite gBattleAnimSpriteTemplate_8402A0C, 40, 0 + createsprite gBattleAnimSpriteTemplate_8402A0C, 40, 1 + delay 19 + playsewithpan SE_W227, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATK_PARTNER, 2, 0, 5, 1 + delay 14 + playsewithpan SE_W227, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATK_PARTNER, 2, 0, 5, 1 + delay 20 + playsewithpan SE_W227, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATK_PARTNER, 3, 0, 10, 1 + createvisualtask sub_8079790, 2, 2, 1023, 12, 1, 1 end Move_ASSIST: @ 81CC332 - loadsprite 10252 - sprite gBattleAnimSpriteTemplate_8402964, 50, 112, -16, 140, 128, 36 - pause 2 - sprite gBattleAnimSpriteTemplate_8402964, 50, 208, 128, -16, 48, 36 - panse_19 SE_W010, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_8402964, 50, -16, 112, 256, -16, 36 - panse_19 SE_W010, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_8402964, 50, 108, 128, 84, -16, 36 - panse_19 SE_W010, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_8402964, 50, -16, 56, 256, 56, 36 - panse_19 SE_W010, 0 + loadspritegfx 10252 + createsprite gBattleAnimSpriteTemplate_8402964, 50, 112, -16, 140, 128, 36 + delay 2 + createsprite gBattleAnimSpriteTemplate_8402964, 50, 208, 128, -16, 48, 36 + playsewithpan SE_W010, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_8402964, 50, -16, 112, 256, -16, 36 + playsewithpan SE_W010, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_8402964, 50, 108, 128, 84, -16, 36 + playsewithpan SE_W010, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_8402964, 50, -16, 56, 256, 56, 36 + playsewithpan SE_W010, 0 end Move_SUPERPOWER: @ 81CC3A3 - loadsprite 10212 - loadsprite 10256 - loadsprite 10257 - monbg 2 + loadspritegfx 10212 + loadspritegfx 10256 + loadspritegfx 10257 + monbg ANIM_BANK_ATK_PARTNER monbgprio_28 0 setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DA0FC, 130, 0 - panse_19 SE_W025, 192 - pause 20 - sprite gBattleAnimSpriteTemplate_83DB428, 2, 4, 1, 180, 1 - createtask sub_812B340, 5, 234, 0 - pause 40 - sprite gBattleAnimSpriteTemplate_83DA114, 41, 200, 96, 1, 120 - pause 8 - sprite gBattleAnimSpriteTemplate_83DA114, 41, 20, 248, 4, 112 - pause 8 - sprite gBattleAnimSpriteTemplate_83DA114, 41, 130, 160, 2, 104 - pause 8 - sprite gBattleAnimSpriteTemplate_83DA114, 41, 160, 192, 0, 96 - pause 8 - sprite gBattleAnimSpriteTemplate_83DA114, 41, 60, 288, 3, 88 - pause 74 - sprite gBattleAnimSpriteTemplate_83DA12C, 131, 0 - panse_19 SE_W207, 192 - pause 16 - createtask sub_80A7FA0, 2, 1, 8, 0, 16, 1 - panse_19 SE_W025B, 63 - wait - clearmonbg 2 - blendoff - pause 1 + createsprite gBattleAnimSpriteTemplate_83DA0FC, 130, 0 + playsewithpan SE_W025, 192 + delay 20 + createsprite gBattleAnimSpriteTemplate_83DB428, 2, 4, 1, 180, 1 + createvisualtask sub_812B340, 5, 234, 0 + delay 40 + createsprite gBattleAnimSpriteTemplate_83DA114, 41, 200, 96, 1, 120 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DA114, 41, 20, 248, 4, 112 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DA114, 41, 130, 160, 2, 104 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DA114, 41, 160, 192, 0, 96 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DA114, 41, 60, 288, 3, 88 + delay 74 + createsprite gBattleAnimSpriteTemplate_83DA12C, 131, 0 + playsewithpan SE_W207, 192 + delay 16 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 8, 0, 16, 1 + playsewithpan SE_W025B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER + blendoff + delay 1 end Move_RECYCLE: @ 81CC45E - loadsprite 10278 - monbg 0 + loadspritegfx 10278 + monbg ANIM_BANK_ATTACKER setalpha 0, 16 - pause 1 - sprite gBattleAnimSpriteTemplate_8402B10, 2 - panse_1C SE_W036, 192, 24, 3 - wait - createtask sub_8079790, 5, 0, 32767, 12, 2, 1 - panse_19 SE_W036, 192 - wait + delay 1 + createsprite gBattleAnimSpriteTemplate_8402B10, 2 + loopsewithpan SE_W036, 192, 24, 3 + waitforvisualfinish + createvisualtask sub_8079790, 5, 0, 32767, 12, 2, 1 + playsewithpan SE_W036, 192 + waitforvisualfinish blendoff - clearmonbg 0 - pause 1 + clearmonbg ANIM_BANK_ATTACKER + delay 1 end Move_BRICK_BREAK: @ 81CC492 - loadsprite 10167 - loadsprite 10135 - loadsprite 10143 - loadsprite 10208 - ifelse _81CC4A7, _81CC576 + loadspritegfx 10167 + loadspritegfx 10135 + loadspritegfx 10143 + loadspritegfx 10208 + choosetwoturnanim _81CC4A7, _81CC576 _81CC4A7: - monbg 1 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 8 - pause 4 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, -18, -18, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 2, -18, -18, 10, 1, 0 - panse_19 SE_W233, 63 - pause 20 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 8 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 18, 18, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 2, 18, 18, 10, 1, 0 - panse_19 SE_W233, 63 - pause 20 - createtask sub_80A8920, 2, 0, -24, 0, 24, 10, 24, 3 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 6, 0 - pause 37 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 2, 0, 0, 10, 1, 0 - panse_19 SE_W233B, 63 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 6, 0, 0 - wait - clearmonbg 1 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8 + delay 4 + delay 1 + createsprite gBasicHitSplatSpriteTemplate, 3, -18, -18, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, -18, -18, 10, 1, 0 + playsewithpan SE_W233, 63 + delay 20 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 18, 18, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, 18, 18, 10, 1, 0 + playsewithpan SE_W233, 63 + delay 20 + createvisualtask sub_80A8920, 2, 0, -24, 0, 24, 10, 24, 3 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 6, 0 + delay 37 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, 0, 0, 10, 1, 0 + playsewithpan SE_W233B, 63 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 6, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET end _81CC576: - monbg 1 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 8 - pause 4 - sprite gBattleAnimSpriteTemplate_83DA0A0, 3, 1, 0, 0, 90, 10 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, -18, -18, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 2, -18, -18, 10, 1, 0 - panse_19 SE_W233, 63 - pause 20 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 8 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 18, 18, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 2, 18, 18, 10, 1, 0 - panse_19 SE_W233, 63 - pause 20 - createtask sub_80A8920, 2, 0, -24, 0, 24, 10, 24, 3 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 6, 0 - pause 37 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 2, 0, 0, 10, 1, 0 - panse_19 SE_W233B, 63 - wait - sprite gBattleAnimSpriteTemplate_83DA0B8, 2, 1, 0, -8, -12 - sprite gBattleAnimSpriteTemplate_83DA0B8, 2, 1, 1, 8, -12 - sprite gBattleAnimSpriteTemplate_83DA0B8, 2, 1, 2, -8, 12 - sprite gBattleAnimSpriteTemplate_83DA0B8, 2, 1, 3, 8, 12 - panse_19 SE_W280, 63 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 6, 0, 0 - wait - clearmonbg 1 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DA0A0, 3, 1, 0, 0, 90, 10 + delay 1 + createsprite gBasicHitSplatSpriteTemplate, 3, -18, -18, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, -18, -18, 10, 1, 0 + playsewithpan SE_W233, 63 + delay 20 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 18, 18, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, 18, 18, 10, 1, 0 + playsewithpan SE_W233, 63 + delay 20 + createvisualtask sub_80A8920, 2, 0, -24, 0, 24, 10, 24, 3 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 6, 0 + delay 37 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, 0, 0, 10, 1, 0 + playsewithpan SE_W233B, 63 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DA0B8, 2, 1, 0, -8, -12 + createsprite gBattleAnimSpriteTemplate_83DA0B8, 2, 1, 1, 8, -12 + createsprite gBattleAnimSpriteTemplate_83DA0B8, 2, 1, 2, -8, 12 + createsprite gBattleAnimSpriteTemplate_83DA0B8, 2, 1, 3, 8, 12 + playsewithpan SE_W280, 63 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 6, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET end Move_YAWN: @ 81CC697 - loadsprite 10242 - createtask sub_812F724, 2, 0 - panse_19 SE_W281, 192 - wait - sprite gBattleAnimSpriteTemplate_84027EC, 133, 2 - panse_19 SE_W255, 192 - pause 4 - sprite gBattleAnimSpriteTemplate_84027EC, 133, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_84027EC, 133, 0 - wait - createtask sub_812F724, 2, 1 - panse_19 SE_W281, 63 + loadspritegfx 10242 + createvisualtask sub_812F724, 2, 0 + playsewithpan SE_W281, 192 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_84027EC, 133, 2 + playsewithpan SE_W255, 192 + delay 4 + createsprite gBattleAnimSpriteTemplate_84027EC, 133, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_84027EC, 133, 0 + waitforvisualfinish + createvisualtask sub_812F724, 2, 1 + playsewithpan SE_W281, 63 end Move_ENDEAVOR: @ 81CC6DA - loadsprite 10243 - loadsprite 10135 - createtask sub_812FD7C, 2, 0, 2 - panse_1C SE_W039, 192, 24, 2 - createtask sub_8079790, 5, 0, 703, 12, 1, 2 - pause 6 - createtask sub_80A9058, 5, 0, 1, 8, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 12, -12, 1, 2 - panse_19 SE_W003, 63 - pause 24 - createtask sub_80A9058, 5, 0, 1, 8, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, -12, 12, 1, 2 - panse_19 SE_W004, 63 + loadspritegfx 10243 + loadspritegfx 10135 + createvisualtask sub_812FD7C, 2, 0, 2 + loopsewithpan SE_W039, 192, 24, 2 + createvisualtask sub_8079790, 5, 0, 703, 12, 1, 2 + delay 6 + createvisualtask sub_80A9058, 5, 0, 1, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, 12, -12, 1, 2 + playsewithpan SE_W003, 63 + delay 24 + createvisualtask sub_80A9058, 5, 0, 1, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, -12, 12, 1, 2 + playsewithpan SE_W004, 63 end Move_ERUPTION: @ 81CC74F - loadsprite 10201 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 2, 0, 4, 31 - wait - createtask sub_80D5470, 2 - panse_1D SE_W153, 192, 60 - wait - createtask sub_80D5470, 2 - panse_1D SE_W153, 192, 60 - wait - pause 30 - sprite gBattleAnimSpriteTemplate_83D96F8, 40, 200, -32, 0, 100, 0 - sprite gBattleAnimSpriteTemplate_83D96F8, 40, 30, -32, 16, 90, 1 - sprite gBattleAnimSpriteTemplate_83D96F8, 40, 150, -32, 32, 60, 2 - sprite gBattleAnimSpriteTemplate_83D96F8, 40, 90, -32, 48, 80, 3 - sprite gBattleAnimSpriteTemplate_83D96F8, 40, 110, -32, 64, 50, 0 - sprite gBattleAnimSpriteTemplate_83D96F8, 40, 60, -32, 80, 70, 1 - pause 22 - createtask sub_80E1864, 5, 5, 8, 60 - createtask sub_80E1864, 5, 4, 8, 60 - panse_1C SE_W088, 63, 16, 12 - pause 80 - sprite gBattleAnimSpriteTemplate_83DB3C4, 40, 31, 4, 4, 0, 31 + loadspritegfx 10201 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 2, 0, 4, 31 + waitforvisualfinish + createvisualtask sub_80D5470, 2 + waitplaysewithpan SE_W153, 192, 60 + waitforvisualfinish + createvisualtask sub_80D5470, 2 + waitplaysewithpan SE_W153, 192, 60 + waitforvisualfinish + delay 30 + createsprite gBattleAnimSpriteTemplate_83D96F8, 40, 200, -32, 0, 100, 0 + createsprite gBattleAnimSpriteTemplate_83D96F8, 40, 30, -32, 16, 90, 1 + createsprite gBattleAnimSpriteTemplate_83D96F8, 40, 150, -32, 32, 60, 2 + createsprite gBattleAnimSpriteTemplate_83D96F8, 40, 90, -32, 48, 80, 3 + createsprite gBattleAnimSpriteTemplate_83D96F8, 40, 110, -32, 64, 50, 0 + createsprite gBattleAnimSpriteTemplate_83D96F8, 40, 60, -32, 80, 70, 1 + delay 22 + createvisualtask sub_80E1864, 5, 5, 8, 60 + createvisualtask sub_80E1864, 5, 4, 8, 60 + loopsewithpan SE_W088, 63, 16, 12 + delay 80 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 40, 31, 4, 4, 0, 31 end Move_SKILL_SWAP: @ 81CC81C - loadsprite 10251 + loadspritegfx 10251 call Unknown_81D61E7 - createtask sub_80DC0B0, 3, 1 - createtask sub_8079790, 5, 1, 32767, 12, 3, 1 - panse_1C SE_W179, 192, 24, 3 - pause 16 - createtask sub_80DC0B0, 3, 0 - createtask sub_8079790, 5, 0, 32767, 12, 3, 1 - wait + createvisualtask sub_80DC0B0, 3, 1 + createvisualtask sub_8079790, 5, 1, 32767, 12, 3, 1 + loopsewithpan SE_W179, 192, 24, 3 + delay 16 + createvisualtask sub_80DC0B0, 3, 0 + createvisualtask sub_8079790, 5, 0, 32767, 12, 3, 1 + waitforvisualfinish call Unknown_81D61F3 end Move_IMPRISON: @ 81CC867 - loadsprite 10249 - loadsprite 10250 + loadspritegfx 10249 + loadspritegfx 10250 call Unknown_81D61E7 - monbg 3 - createtask sub_80DBE00, 5 - pause 8 - panse_1C SE_W030, 192, 8, 5 - wait - pause 4 - sprite gBattleAnimSpriteTemplate_83DA8F4, 5, 0, 40 - createtask sub_80E1864, 5, 4, 1, 10 - panse_19 SE_W063, 192 - clearmonbg 3 + monbg ANIM_BANK_DEF_PARTNER + createvisualtask sub_80DBE00, 5 + delay 8 + loopsewithpan SE_W030, 192, 8, 5 + waitforvisualfinish + delay 4 + createsprite gBattleAnimSpriteTemplate_83DA8F4, 5, 0, 40 + createvisualtask sub_80E1864, 5, 4, 1, 10 + playsewithpan SE_W063, 192 + clearmonbg ANIM_BANK_DEF_PARTNER call Unknown_81D61F3 end Move_GRUDGE: @ 81CC8AA - loadsprite 10253 - monbg 0 + loadspritegfx 10253 + monbg ANIM_BANK_ATTACKER monbgprio_29 fadetobg 2 - panse_19 SE_W060, 192 + playsewithpan SE_W060, 192 waitbgfadein - createtask sub_80DF1A4, 3 - panse_1C SE_W052, 192, 16, 4 - pause 10 - pause 80 - panse_19 SE_W171, 63 - wait + createvisualtask sub_80DF1A4, 3 + loopsewithpan SE_W052, 192, 16, 4 + delay 10 + delay 80 + playsewithpan SE_W171, 63 + waitforvisualfinish restorebg waitbgfadein - clearmonbg 0 + clearmonbg ANIM_BANK_ATTACKER end Move_CAMOUFLAGE: @ 81CC8D2 - monbg 2 + monbg ANIM_BANK_ATK_PARTNER monbgprio_28 0 setalpha 16, 0 - createtask sub_80E2B74, 5, 2, 3, 0, 14 - pause 16 - createtask sub_80DFC24, 2, 4 - panse_19 SE_W185, 192 - wait - pause 8 - createtask sub_80E2B74, 5, 2, 0, 0, 0 - wait - createtask sub_80DFD24, 2, 1 - wait + createvisualtask sub_80E2B74, 5, 2, 3, 0, 14 + delay 16 + createvisualtask sub_80DFC24, 2, 4 + playsewithpan SE_W185, 192 + waitforvisualfinish + delay 8 + createvisualtask sub_80E2B74, 5, 2, 0, 0, 0 + waitforvisualfinish + createvisualtask sub_80DFD24, 2, 1 + waitforvisualfinish blendoff - clearmonbg 2 + clearmonbg ANIM_BANK_ATK_PARTNER end Move_TAIL_GLOW: @ 81CC918 - loadsprite 10212 - monbg 0 + loadspritegfx 10212 + monbg ANIM_BANK_ATTACKER setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 4, 0 - wait - sprite gBattleAnimSpriteTemplate_83DAC10, 66, 0 - pause 18 - panse_1C SE_W234, 192, 16, 6 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 4, 0, 0 - clearmonbg 0 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 4, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DAC10, 66, 0 + delay 18 + loopsewithpan SE_W234, 192, 16, 6 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 4, 0, 0 + clearmonbg ANIM_BANK_ATTACKER blendoff - pause 1 + delay 1 end Move_LUSTER_PURGE: @ 81CC95B - loadsprite 10267 - loadsprite 10135 + loadspritegfx 10267 + loadspritegfx 10135 fadetobg 3 waitbgfadeout - createtask sub_812C624, 5 + createvisualtask sub_812C624, 5 waitbgfadein - monbg 0 - setalpha 12, 8 - panse_19 SE_W076, 192 - sprite gBattleAnimSpriteTemplate_83DA9E0, 41, 0, 0, 0, 0 - pause 20 - createtask sub_80E2A7C, 5, 5, 2, 0, 16, -1 - createtask sub_80E2C60, 5, 10267, 2, 0, 16, -1 - wait - createtask sub_80E2C60, 5, 10135, 0, 12, 12, 23552 - wait - sprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 - createtask sub_812B30C, 5, 215, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 - createtask sub_812B30C, 5, 215, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 - createtask sub_812B30C, 5, 215, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 - createtask sub_812B30C, 5, 215, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 - createtask sub_812B30C, 5, 215, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 - createtask sub_812B30C, 5, 215, 63 - wait - createtask sub_80E2A7C, 5, 5, 2, 16, 0, -1 - createtask sub_80E1864, 5, 1, 5, 14 - wait - clearmonbg 0 + monbg ANIM_BANK_ATTACKER + setalpha 12, 8 + playsewithpan SE_W076, 192 + createsprite gBattleAnimSpriteTemplate_83DA9E0, 41, 0, 0, 0, 0 + delay 20 + createvisualtask sub_80E2A7C, 5, 5, 2, 0, 16, -1 + createvisualtask sub_80E2C60, 5, 10267, 2, 0, 16, -1 + waitforvisualfinish + createvisualtask sub_80E2C60, 5, 10135, 0, 12, 12, 23552 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 + createvisualtask sub_812B30C, 5, 215, 63 + delay 3 + createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 + createvisualtask sub_812B30C, 5, 215, 63 + delay 3 + createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 + createvisualtask sub_812B30C, 5, 215, 63 + delay 3 + createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 + createvisualtask sub_812B30C, 5, 215, 63 + delay 3 + createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 + createvisualtask sub_812B30C, 5, 215, 63 + delay 3 + createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 2 + createvisualtask sub_812B30C, 5, 215, 63 + waitforvisualfinish + createvisualtask sub_80E2A7C, 5, 5, 2, 16, 0, -1 + createvisualtask sub_80E1864, 5, 1, 5, 14 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER blendoff call Unknown_81D61F3 end Move_MIST_BALL: @ 81CCA72 - loadsprite 10155 - loadsprite 10270 - pause 0 - panse_19 SE_W081, 192 - sprite gBattleAnimSpriteTemplate_83D9D80, 128, 0, 0, 0, 0, 30, 0 - wait - panse_19 SE_W028, 63 - createtask sub_80A7E7C, 2, 1, 5, 0, 10, 0 - sprite gBattleAnimSpriteTemplate_83DB3DC, 0, 1, 1, 1, 32279, 16, 32767, 16 - pause 0 - panse_19 SE_W114, 0 - createtask sub_80D8414, 5 - createtask sub_80E2A38, 10, 4, 3, 0, 16, 32767 - pause 8 - createtask sub_80A7E7C, 2, 1, 4, 0, 70, 0 - pause 70 - createtask sub_80E2A38, 10, 4, 2, 16, 0, 32767 + loadspritegfx 10155 + loadspritegfx 10270 + delay 0 + playsewithpan SE_W081, 192 + createsprite gBattleAnimSpriteTemplate_83D9D80, 128, 0, 0, 0, 0, 30, 0 + waitforvisualfinish + playsewithpan SE_W028, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 10, 0 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 0, 1, 1, 1, 32279, 16, 32767, 16 + delay 0 + playsewithpan SE_W114, 0 + createvisualtask sub_80D8414, 5 + createvisualtask sub_80E2A38, 10, 4, 3, 0, 16, 32767 + delay 8 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 4, 0, 70, 0 + delay 70 + createvisualtask sub_80E2A38, 10, 4, 2, 16, 0, 32767 end Move_FEATHER_DANCE: @ 81CCB01 - loadsprite 10270 - monbg 3 + loadspritegfx 10270 + monbg ANIM_BANK_DEF_PARTNER monbgprio_29 - panse_19 SE_W080, 63 - pause 0 - sprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 64, 2, 104, 11304, 32, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 32, 2, 104, 11304, 32, 1 - sprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 0, 2, 104, 11304, 32, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 224, 2, 104, 11304, 32, 1 - sprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 128, 2, 104, 11304, 32, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 192, 2, 104, 11304, 32, 1 - sprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 160, 2, 104, 11304, 32, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 96, 2, 104, 11304, 32, 1 - wait - clearmonbg 3 + playsewithpan SE_W080, 63 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 64, 2, 104, 11304, 32, 1 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 32, 2, 104, 11304, 32, 1 + createsprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 0, 2, 104, 11304, 32, 1 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 224, 2, 104, 11304, 32, 1 + createsprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 128, 2, 104, 11304, 32, 1 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 192, 2, 104, 11304, 32, 1 + createsprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 160, 2, 104, 11304, 32, 1 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA498, 128, 0, -16, 96, 2, 104, 11304, 32, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end Move_TEETER_DANCE: @ 81CCBD1 - loadsprite 10072 - loadsprite 10073 - createtask sub_813219C, 5 - sprite gBattleAnimSpriteTemplate_83D715C, 2, 0, 16, -2 - panse_19 SE_W298, 192 - pause 24 - sprite gBattleAnimSpriteTemplate_83D715C, 2, 0, 0, -2 - panse_19 SE_W298, 192 - pause 24 - sprite gBattleAnimSpriteTemplate_83D715C, 2, 0, -16, -2 - panse_19 SE_W298, 192 - pause 24 - sprite gBattleAnimSpriteTemplate_83D715C, 2, 1, -8, -2 - panse_19 SE_W298, 192 - pause 24 - sprite gBattleAnimSpriteTemplate_83D715C, 2, 2, 8, -2 - panse_19 SE_W298, 192 + loadspritegfx 10072 + loadspritegfx 10073 + createvisualtask sub_813219C, 5 + createsprite gBattleAnimSpriteTemplate_83D715C, 2, 0, 16, -2 + playsewithpan SE_W298, 192 + delay 24 + createsprite gBattleAnimSpriteTemplate_83D715C, 2, 0, 0, -2 + playsewithpan SE_W298, 192 + delay 24 + createsprite gBattleAnimSpriteTemplate_83D715C, 2, 0, -16, -2 + playsewithpan SE_W298, 192 + delay 24 + createsprite gBattleAnimSpriteTemplate_83D715C, 2, 1, -8, -2 + playsewithpan SE_W298, 192 + delay 24 + createsprite gBattleAnimSpriteTemplate_83D715C, 2, 2, 8, -2 + playsewithpan SE_W298, 192 end Move_MUD_SPORT: @ 81CCC3C - loadsprite 10074 - createtask sub_80D074C, 2, 0, 6 - pause 24 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 0, -4, -16 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 0, 4, -12 - panse_19 SE_W091, 192 - pause 32 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 0, -3, -12 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 0, 5, -14 - panse_19 SE_W091, 192 - pause 32 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 0, -5, -18 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 0, 3, -14 - panse_19 SE_W091, 192 - pause 16 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 220, 60 - panse_1D SE_W145B, 0, 15 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 60, 100 - panse_1D SE_W145B, 0, 25 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 140, 55 - panse_1D SE_W145B, 0, 14 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 180, 50 - panse_1D SE_W145B, 0, 10 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 20, 90 - panse_1D SE_W145B, 0, 22 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 90, 90 - panse_1D SE_W145B, 0, 22 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 160, 60 - panse_1D SE_W145B, 0, 15 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 30, 90 - panse_1D SE_W145B, 0, 22 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 120, 60 - panse_1D SE_W145B, 0, 15 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 200, 40 - panse_1D SE_W145B, 0, 10 + loadspritegfx 10074 + createvisualtask sub_80D074C, 2, 0, 6 + delay 24 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, -4, -16 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, 4, -12 + playsewithpan SE_W091, 192 + delay 32 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, -3, -12 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, 5, -14 + playsewithpan SE_W091, 192 + delay 32 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, -5, -18 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, 3, -14 + playsewithpan SE_W091, 192 + delay 16 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 220, 60 + waitplaysewithpan SE_W145B, 0, 15 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 60, 100 + waitplaysewithpan SE_W145B, 0, 25 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 140, 55 + waitplaysewithpan SE_W145B, 0, 14 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 180, 50 + waitplaysewithpan SE_W145B, 0, 10 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 20, 90 + waitplaysewithpan SE_W145B, 0, 22 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 90, 90 + waitplaysewithpan SE_W145B, 0, 22 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 160, 60 + waitplaysewithpan SE_W145B, 0, 15 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 30, 90 + waitplaysewithpan SE_W145B, 0, 22 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 120, 60 + waitplaysewithpan SE_W145B, 0, 15 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 200, 40 + waitplaysewithpan SE_W145B, 0, 10 end Move_NEEDLE_ARM: @ 81CCD73 - loadsprite 10266 - loadsprite 10135 - loadsprite 10143 - panse_1C SE_W030, 63, 2, 16 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 0, -32, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 22, -22, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 30, 0, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 20, 20, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 0, 28, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, -19, 19, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, -27, 0, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, -18, -18, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 0, -25, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 17, -17, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 23, 0, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 16, 16, 16 - wait - createtask sub_80A7FA0, 2, 1, 4, 0, 18, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 0, -24, 10 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 17, -17, 10 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 24, 0, 10 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 17, 17, 10 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 0, 24, 10 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, -17, 17, 10 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, -24, 0, 10 - sprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, -17, -17, 10 + loadspritegfx 10266 + loadspritegfx 10135 + loadspritegfx 10143 + loopsewithpan SE_W030, 63, 2, 16 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 0, -32, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 22, -22, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 30, 0, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 20, 20, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 0, 28, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, -19, 19, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, -27, 0, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, -18, -18, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 0, -25, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 17, -17, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 23, 0, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 16, 16, 16 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 18, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0 + playsewithpan SE_W233B, 63 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 0, -24, 10 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 17, -17, 10 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 24, 0, 10 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 17, 17, 10 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, 0, 24, 10 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, -17, 17, 10 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, -24, 0, 10 + createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 1, -17, -17, 10 end Move_SLACK_OFF: @ 81CCF23 - loadsprite 10031 - createtask sub_813257C, 2, 0 - panse_19 SE_W281, 192 - wait + loadspritegfx 10031 + createvisualtask sub_813257C, 2, 0 + playsewithpan SE_W281, 192 + waitforvisualfinish call Unknown_81D5EF5 - wait + waitforvisualfinish end Move_CRUSH_CLAW: @ 81CCF3B - loadsprite 10167 - loadsprite 10039 - loadsprite 10208 - monbg 1 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 - pause 4 - createtask sub_80A7FA0, 2, 1, 2, 0, 18, 1 - sprite gBattleAnimSpriteTemplate_83DB288, 130, -10, -10, 0 - sprite gBattleAnimSpriteTemplate_83DB288, 130, -10, 10, 0 - panse_19 SE_W013, 63 - pause 12 - sprite gBattleAnimSpriteTemplate_83DB288, 130, 10, -10, 1 - sprite gBattleAnimSpriteTemplate_83DB288, 130, 10, 10, 1 - panse_19 SE_W013, 63 - wait - wait - blendoff - clearmonbg 1 + loadspritegfx 10167 + loadspritegfx 10039 + loadspritegfx 10208 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 18, 1 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, -10, 0 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, 10, 0 + playsewithpan SE_W013, 63 + delay 12 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, 10, -10, 1 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, 10, 10, 1 + playsewithpan SE_W013, 63 + waitforvisualfinish + waitforvisualfinish + blendoff + clearmonbg ANIM_BANK_TARGET end Move_AROMATHERAPY: @ 81CCFAB - panse_19 SE_W080, 0 - loadsprite 10159 - loadsprite 10203 - loadsprite 10049 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 1, 0, 0, 7, 13293 - pause 1 - monbg 0 - pause 1 - sprite gBattleAnimSpriteTemplate_83D68B8, 0, 24, 16, 0, 2, 2, 0, 0 - sprite gBattleAnimSpriteTemplate_83D68B8, 66, 64, 24, 0, 3, 1, 1, 0 - sprite gBattleAnimSpriteTemplate_83D68D0, 0, 16, 24, 0, 2, 1, 0, 0 - pause 20 - sprite gBattleAnimSpriteTemplate_83D68B8, 66, 48, 12, 0, 4, 3, 1, 0 - sprite gBattleAnimSpriteTemplate_83D68B8, 0, 100, 16, 0, 3, 2, 0, 0 - sprite gBattleAnimSpriteTemplate_83D68B8, 0, 74, 24, 180, 3, 2, 0, 0 - pause 10 - sprite gBattleAnimSpriteTemplate_83D68B8, 66, 80, 30, 0, 4, 1, 1, 0 - sprite gBattleAnimSpriteTemplate_83D68B8, 0, 128, 12, 0, 3, 3, 0, 0 - sprite gBattleAnimSpriteTemplate_83D68D0, 0, 90, 16, 0, 2, 1, 0, 0 - wait - clearmonbg 0 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 1, 0, 7, 0, 13293 - pause 1 - panse_19 SE_W287, 192 - createtask sub_81300A4, 2, 1 - wait - panse_19 SE_W234, 192 - sprite gBattleAnimSpriteTemplate_83D6CA0, 16, -15, 0, 0, 0, 32, 60, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83D6CA0, 16, 12, -5, 0, 0, 32, 60, 1 - wait - panse_19 SE_REAPOKE, 192 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 43, 3, 10, 0, 13293 - sprite gBattleAnimSpriteTemplate_83D7974, 16, 0, 0, 0, 1 - wait + playsewithpan SE_W080, 0 + loadspritegfx 10159 + loadspritegfx 10203 + loadspritegfx 10049 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 1, 0, 0, 7, 13293 + delay 1 + monbg ANIM_BANK_ATTACKER + delay 1 + createsprite gBattleAnimSpriteTemplate_83D68B8, 0, 24, 16, 0, 2, 2, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D68B8, 66, 64, 24, 0, 3, 1, 1, 0 + createsprite gBattleAnimSpriteTemplate_83D68D0, 0, 16, 24, 0, 2, 1, 0, 0 + delay 20 + createsprite gBattleAnimSpriteTemplate_83D68B8, 66, 48, 12, 0, 4, 3, 1, 0 + createsprite gBattleAnimSpriteTemplate_83D68B8, 0, 100, 16, 0, 3, 2, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D68B8, 0, 74, 24, 180, 3, 2, 0, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D68B8, 66, 80, 30, 0, 4, 1, 1, 0 + createsprite gBattleAnimSpriteTemplate_83D68B8, 0, 128, 12, 0, 3, 3, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D68D0, 0, 90, 16, 0, 2, 1, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 1, 0, 7, 0, 13293 + delay 1 + playsewithpan SE_W287, 192 + createvisualtask sub_81300A4, 2, 1 + waitforvisualfinish + playsewithpan SE_W234, 192 + createsprite gBattleAnimSpriteTemplate_83D6CA0, 16, -15, 0, 0, 0, 32, 60, 1 + delay 8 + createsprite gBattleAnimSpriteTemplate_83D6CA0, 16, 12, -5, 0, 0, 32, 60, 1 + waitforvisualfinish + playsewithpan SE_REAPOKE, 192 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 43, 3, 10, 0, 13293 + createsprite gBattleAnimSpriteTemplate_83D7974, 16, 0, 0, 0, 1 + waitforvisualfinish end Move_FAKE_TEARS: @ 81CD10D - loadsprite 10155 - loadsprite 10209 - loadsprite 10072 - createtask sub_80E2C60, 5, 10155, 0, 4, 4, 32108 - wait - createtask sub_812E568, 5, 0, 2, 1 - panse_1C SE_W039, 192, 12, 4 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 0 - sprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 2 - sprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 3 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 0 - sprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 2 - sprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 3 - wait + loadspritegfx 10155 + loadspritegfx 10209 + loadspritegfx 10072 + createvisualtask sub_80E2C60, 5, 10155, 0, 4, 4, 32108 + waitforvisualfinish + createvisualtask sub_812E568, 5, 0, 2, 1 + loopsewithpan SE_W039, 192, 12, 4 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 0 + createsprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 1 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 2 + createsprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 3 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 0 + createsprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 1 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 2 + createsprite gBattleAnimSpriteTemplate_83DB238, 2, 0, 3 + waitforvisualfinish end Move_AIR_CUTTER: @ 81CD19D - loadsprite 10003 - loadsprite 10138 - loadsprite 10135 - pause 0 - monbg 3 - setalpha 12, 8 - pause 0 - createtask sub_80CFB04, 2, 32, -24, 1536, 2, 128 - wait - panse_19 SE_W015, 63 - sprite gBattleAnimSpriteTemplate_83D6B40, 2, 40, -32, 0, 2 - pause 5 - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - createtask sub_80A7FA0, 2, 3, 2, 0, 8, 1 - wait - blendoff - clearmonbg 3 - pause 0 + loadspritegfx 10003 + loadspritegfx 10138 + loadspritegfx 10135 + delay 0 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + delay 0 + createvisualtask sub_80CFB04, 2, 32, -24, 1536, 2, 128 + waitforvisualfinish + playsewithpan SE_W015, 63 + createsprite gBattleAnimSpriteTemplate_83D6B40, 2, 40, -32, 0, 2 + delay 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 8, 1 + waitforvisualfinish + blendoff + clearmonbg ANIM_BANK_DEF_PARTNER + delay 0 end Move_ODOR_SLEUTH: @ 81CD1FF - monbg 1 - createtask sub_81316F8, 5 - pause 24 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 4 - panse_19 SE_W207, 192 - pause 6 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 4 - panse_19 SE_W207, 192 - wait - clearmonbg 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, -1, 16, -1, 0 - panse_19 SE_W043, 192 + monbg ANIM_BANK_TARGET + createvisualtask sub_81316F8, 5 + delay 24 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 4 + playsewithpan SE_W207, 192 + delay 6 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 4 + playsewithpan SE_W207, 192 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, -1, 16, -1, 0 + playsewithpan SE_W043, 192 end Move_GRASS_WHISTLE: @ 81CD249 - loadsprite 10072 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 4, 13298 - wait - createtask sub_80CEA20, 2 - wait + loadspritegfx 10072 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 4, 13298 + waitforvisualfinish + createvisualtask sub_80CEA20, 2 + waitforvisualfinish panse_1B SE_W320, 192, 63, 2, 0 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 7, 1, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 6, 1, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 1, 1, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 3, 1, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 5, 1, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 6, 1, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 1, 1, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D7114, 130, 5, 1, 0 - pause 4 - wait - createtask sub_80CEAD8, 2 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 4, 0, 13298 - wait + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 7, 1, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 6, 1, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 1, 1, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 3, 1, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 5, 1, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 6, 1, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 2, 1, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 1, 1, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D7114, 130, 5, 1, 0 + delay 4 + waitforvisualfinish + createvisualtask sub_80CEAD8, 2 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 4, 0, 13298 + waitforvisualfinish end Move_TICKLE: @ 81CD33C - loadsprite 10218 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 0, 0, 16, 0 - wait - sprite gBattleAnimSpriteTemplate_83D7B94, 0, -16, -8 - sprite gBattleAnimSpriteTemplate_83D7B94, 0, 16, -8 - panse_19 SE_W197, 192 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 0, 16, 0, 0 - wait - pause 20 - createtask sub_80A8B88, 3, 0, 6, 1280, 3, 0 - pause 12 - createtask sub_812E568, 3, 1, 6, 2 - panse_1C SE_W039, 63, 8, 8 - wait + loadspritegfx 10218 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 0, 0, 16, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D7B94, 0, -16, -8 + createsprite gBattleAnimSpriteTemplate_83D7B94, 0, 16, -8 + playsewithpan SE_W197, 192 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 0, 16, 0, 0 + waitforvisualfinish + delay 20 + createvisualtask AnimTask_SwayMon, 3, 0, 6, 1280, 3, 0 + delay 12 + createvisualtask sub_812E568, 3, 1, 6, 2 + loopsewithpan SE_W039, 63, 8, 8 + waitforvisualfinish end Move_WATER_SPOUT: @ 81CD3A8 - loadsprite 10268 - loadsprite 10148 - monbg 3 + loadspritegfx 10268 + loadspritegfx 10148 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - createtask sub_80D40F4, 5 - panse_19 SE_W029, 192 - pause 44 - panse_19 SE_W291, 192 - wait - pause 16 - createtask sub_80D45D8, 5 - panse_19 SE_W057, 63 - clearmonbg 3 + createvisualtask sub_80D40F4, 5 + playsewithpan SE_W029, 192 + delay 44 + playsewithpan SE_W291, 192 + waitforvisualfinish + delay 16 + createvisualtask sub_80D45D8, 5 + playsewithpan SE_W057, 63 + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_SHADOW_PUNCH: @ 81CD3D6 - loadsprite 10135 - loadsprite 10143 + loadspritegfx 10135 + loadspritegfx 10143 fadetobg 2 waitbgfadein - monbg 2 + monbg ANIM_BANK_ATK_PARTNER setalpha 9, 8 - createtask sub_807A69C, 2, 0, 13 - panse_19 SE_W026, 192 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0 - panse_19 SE_W004, 63 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - wait - clearmonbg 2 + createvisualtask sub_807A69C, 2, 0, 13 + playsewithpan SE_W026, 192 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0 + playsewithpan SE_W004, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff restorebg waitbgfadein @@ -4313,819 +4315,819 @@ Move_SHADOW_PUNCH: @ 81CD3D6 Move_EXTRASENSORY: @ 81CD431 call Unknown_81D61E7 - monbg 3 - setalpha 12, 8 - createtask sub_8079790, 5, 0, 891, 12, 1, 1 - createtask sub_80DC2D4, 5, 0 - panse_19 SE_W020, 63 - wait - createtask sub_8079790, 5, 0, 891, 12, 1, 1 - createtask sub_80DC2D4, 5, 1 - panse_19 SE_W020, 63 - wait - createtask sub_80DC4F4, 5, 0 - createtask sub_80DC2D4, 5, 2 - panse_19 SE_W043, 192 - wait - blendoff - clearmonbg 3 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + createvisualtask sub_8079790, 5, 0, 891, 12, 1, 1 + createvisualtask sub_80DC2D4, 5, 0 + playsewithpan SE_W020, 63 + waitforvisualfinish + createvisualtask sub_8079790, 5, 0, 891, 12, 1, 1 + createvisualtask sub_80DC2D4, 5, 1 + playsewithpan SE_W020, 63 + waitforvisualfinish + createvisualtask sub_80DC4F4, 5, 0 + createvisualtask sub_80DC2D4, 5, 2 + playsewithpan SE_W043, 192 + waitforvisualfinish + blendoff + clearmonbg ANIM_BANK_DEF_PARTNER call Unknown_81D61F3 end Move_AERIAL_ACE: @ 81CD499 - loadsprite 10138 - monbg 1 + loadspritegfx 10138 + monbg ANIM_BANK_TARGET setalpha 12, 8 - createtask sub_80A8500, 2, 0, 24, 6, 1, 5 - createtask sub_80E2DD8, 2, 0, 4, 7, 3 - sprite gBattleAnimSpriteTemplate_83D6B28, 2, 40, -32, 0 - panse_19 SE_W013B, 192 - pause 5 - createtask sub_80A7E7C, 2, 1, 0, 3, 10, 1 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 10, 0, 0 - panse_19 SE_W013, 63 - wait - clearmonbg 1 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 24, 6, 1, 5 + createvisualtask sub_80E2DD8, 2, 0, 4, 7, 3 + createsprite gBattleAnimSpriteTemplate_83D6B28, 2, 40, -32, 0 + playsewithpan SE_W013B, 192 + delay 5 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 10, 1 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 10, 0, 0 + playsewithpan SE_W013, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_IRON_DEFENSE: @ 81CD503 - panse_1C SE_REAPOKE, 192, 28, 2 - createtask sub_80E0A4C, 5, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 8, 2, -1, 14, -1, 0 - wait + loopsewithpan SE_REAPOKE, 192, 28, 2 + createvisualtask sub_80E0A4C, 5, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 8, 2, -1, 14, -1, 0 + waitforvisualfinish end Move_BLOCK: @ 81CD52D - loadsprite 10250 - sprite gBattleAnimSpriteTemplate_8402A6C, 194 - panse_19 SE_W207, 63 + loadspritegfx 10250 + createsprite gBattleAnimSpriteTemplate_8402A6C, 194 + playsewithpan SE_W207, 63 end Move_HOWL: @ 81CD53C - loadsprite 10053 - createtask sub_812F724, 2, 0 - pause 12 + loadspritegfx 10053 + createvisualtask sub_812F724, 2, 0 + delay 12 call _81CE35E - createtask sub_812B18C, 2, 0, 3 - wait - pause 30 + createvisualtask sub_812B18C, 2, 0, 3 + waitforvisualfinish + delay 30 end Move_BULK_UP: @ 81CD55E - loadsprite 10086 - createtask sub_80D08C8, 2 - panse_19 SE_W207, 192 - wait - sprite gBattleAnimSpriteTemplate_83D7764, 2 - panse_1C SE_W207, 192, 4, 2 - wait + loadspritegfx 10086 + createvisualtask sub_80D08C8, 2 + playsewithpan SE_W207, 192 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D7764, 2 + loopsewithpan SE_W207, 192, 4, 2 + waitforvisualfinish end Move_COVET: @ 81CD57C - loadsprite 10210 - loadsprite 10224 - createtask sub_812E568, 5, 0, 2, 0 - sprite gBattleAnimSpriteTemplate_83D7A80, 3, 0, 20 - panse_19 SE_W204, 192 - pause 15 - sprite gBattleAnimSpriteTemplate_83D7A80, 3, -20, 20 - panse_19 SE_W204, 192 - pause 15 - sprite gBattleAnimSpriteTemplate_83D7A80, 3, 20, 20 - panse_19 SE_W204, 192 - wait - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - panse_1C SE_W146, 63, 4, 3 + loadspritegfx 10210 + loadspritegfx 10224 + createvisualtask sub_812E568, 5, 0, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D7A80, 3, 0, 20 + playsewithpan SE_W204, 192 + delay 15 + createsprite gBattleAnimSpriteTemplate_83D7A80, 3, -20, 20 + playsewithpan SE_W204, 192 + delay 15 + createsprite gBattleAnimSpriteTemplate_83D7A80, 3, 20, 20 + playsewithpan SE_W204, 192 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + loopsewithpan SE_W146, 63, 4, 3 end Move_VOLT_TACKLE: @ 81CD5D9 - loadsprite 10001 - loadsprite 10212 - loadsprite 10213 - monbg 0 - setalpha 12, 8 - createtask sub_80E2A38, 10, 1, 0, 0, 8, 0 - wait - sprite gBattleAnimSpriteTemplate_83D9AB4, 1 - panse_19 SE_W268, 192 - wait - clearmonbg 0 - blendoff - pause 8 - createtask sub_80D700C, 5, 0 - panse_19 SE_W085, 192 - wait - createtask sub_80D700C, 5, 1 - panse_19 SE_W085, 63 - wait - createtask sub_80D700C, 5, 2 - panse_19 SE_W085, 192 - wait - createtask sub_80D700C, 5, 3 - panse_19 SE_W085, 63 - wait - createtask sub_80D700C, 5, 4 - panse_19 SE_W085, 192 - pause 8 - createtask sub_80A7FA0, 2, 1, 10, 0, 18, 1 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D9A9C, 2, 1, 16, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9A9C, 2, 1, -16, -16 - pause 8 - createtask sub_80D6E9C, 5 - wait - createtask sub_80A7FA0, 2, 0, 3, 0, 9, 1 - panse_19 SE_W085B, 192 - sprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, 16, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, -16, -16 - wait - createtask sub_80E2A38, 10, 1, 0, 8, 0, 0 - wait + loadspritegfx 10001 + loadspritegfx 10212 + loadspritegfx 10213 + monbg ANIM_BANK_ATTACKER + setalpha 12, 8 + createvisualtask sub_80E2A38, 10, 1, 0, 0, 8, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D9AB4, 1 + playsewithpan SE_W268, 192 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER + blendoff + delay 8 + createvisualtask sub_80D700C, 5, 0 + playsewithpan SE_W085, 192 + waitforvisualfinish + createvisualtask sub_80D700C, 5, 1 + playsewithpan SE_W085, 63 + waitforvisualfinish + createvisualtask sub_80D700C, 5, 2 + playsewithpan SE_W085, 192 + waitforvisualfinish + createvisualtask sub_80D700C, 5, 3 + playsewithpan SE_W085, 63 + waitforvisualfinish + createvisualtask sub_80D700C, 5, 4 + playsewithpan SE_W085, 192 + delay 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 10, 0, 18, 1 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 1, 16, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 1, -16, -16 + delay 8 + createvisualtask sub_80D6E9C, 5 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 3, 0, 9, 1 + playsewithpan SE_W085B, 192 + createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, 16, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, -16, -16 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 1, 0, 8, 0, 0 + waitforvisualfinish end Move_WATER_SPORT: @ 81CD6D1 - loadsprite 10268 - createtask sub_80D48F4, 5 - pause 8 - panse_19 SE_W057, 192 - pause 44 - panse_19 SE_W057, 192 - pause 44 - panse_19 SE_W057, 192 - pause 44 + loadspritegfx 10268 + createvisualtask sub_80D48F4, 5 + delay 8 + playsewithpan SE_W057, 192 + delay 44 + playsewithpan SE_W057, 192 + delay 44 + playsewithpan SE_W057, 192 + delay 44 panse_1B SE_W057, 192, 63, 2, 0 end Move_CALM_MIND: @ 81CD6F7 - loadsprite 10203 - monbg 2 - createtask sub_80E2A7C, 5, 0, 0, 0, 16, 0 - wait - createtask sub_80E3BDC, 5, 1 - wait - sprite gBattleAnimSpriteTemplate_83D795C, 40, 0, 0, 0, 0 - panse_19 SE_W048, 192 - pause 14 - sprite gBattleAnimSpriteTemplate_83D795C, 40, 0, 0, 0, 0 - panse_19 SE_W048, 192 - pause 14 - sprite gBattleAnimSpriteTemplate_83D795C, 40, 0, 0, 0, 0 - panse_19 SE_W048, 192 - wait - createtask sub_80E3BDC, 5, 0 - wait - createtask sub_80E2A7C, 5, 0, 0, 16, 0, 0 - wait - clearmonbg 2 + loadspritegfx 10203 + monbg ANIM_BANK_ATK_PARTNER + createvisualtask sub_80E2A7C, 5, 0, 0, 0, 16, 0 + waitforvisualfinish + createvisualtask sub_80E3BDC, 5, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D795C, 40, 0, 0, 0, 0 + playsewithpan SE_W048, 192 + delay 14 + createsprite gBattleAnimSpriteTemplate_83D795C, 40, 0, 0, 0, 0 + playsewithpan SE_W048, 192 + delay 14 + createsprite gBattleAnimSpriteTemplate_83D795C, 40, 0, 0, 0, 0 + playsewithpan SE_W048, 192 + waitforvisualfinish + createvisualtask sub_80E3BDC, 5, 0 + waitforvisualfinish + createvisualtask sub_80E2A7C, 5, 0, 0, 16, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER end Move_LEAF_BLADE: @ 81CD775 - loadsprite 10063 - loadsprite 10285 - createtask sub_80CBDF4, 5 - pause 2 - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - panse_19 SE_W015, 63 - pause 50 - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - panse_19 SE_W015, 63 - pause 50 - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - panse_19 SE_W015, 63 - wait - monbg 1 - setalpha 12, 8 - pause 12 - createtask sub_80A7FA0, 2, 1, 8, 0, 18, 1 - sprite gBattleAnimSpriteTemplate_83DB520, 130, 0, 0, 1, 36 - panse_19 SE_W043, 63 - wait - clearmonbg 1 + loadspritegfx 10063 + loadspritegfx 10285 + createvisualtask sub_80CBDF4, 5 + delay 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + playsewithpan SE_W015, 63 + delay 50 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + playsewithpan SE_W015, 63 + delay 50 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + playsewithpan SE_W015, 63 + waitforvisualfinish + monbg ANIM_BANK_TARGET + setalpha 12, 8 + delay 12 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 8, 0, 18, 1 + createsprite gBattleAnimSpriteTemplate_83DB520, 130, 0, 0, 1, 36 + playsewithpan SE_W043, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_DRAGON_DANCE: @ 81CD7F8 - loadsprite 10249 - monbg 0 + loadspritegfx 10249 + monbg ANIM_BANK_ATTACKER monbgprio_28 0 - pause 1 - createtask sub_80DF924, 5 - panse_19 SE_W100, 192 - pause 8 - createtask sub_80798AC, 5, 10249, 19456, 14, 0, 3 - sprite gBattleAnimSpriteTemplate_83DB0E8, 2, 0 - sprite gBattleAnimSpriteTemplate_83DB0E8, 2, 43 - sprite gBattleAnimSpriteTemplate_83DB0E8, 2, 85 - sprite gBattleAnimSpriteTemplate_83DB0E8, 2, 128 - sprite gBattleAnimSpriteTemplate_83DB0E8, 2, 170 - sprite gBattleAnimSpriteTemplate_83DB0E8, 2, 213 - pause 30 - panse_19 SE_W100, 192 - pause 30 - panse_19 SE_W100, 192 - wait - clearmonbg 0 - pause 1 + delay 1 + createvisualtask sub_80DF924, 5 + playsewithpan SE_W100, 192 + delay 8 + createvisualtask sub_80798AC, 5, 10249, 19456, 14, 0, 3 + createsprite gBattleAnimSpriteTemplate_83DB0E8, 2, 0 + createsprite gBattleAnimSpriteTemplate_83DB0E8, 2, 43 + createsprite gBattleAnimSpriteTemplate_83DB0E8, 2, 85 + createsprite gBattleAnimSpriteTemplate_83DB0E8, 2, 128 + createsprite gBattleAnimSpriteTemplate_83DB0E8, 2, 170 + createsprite gBattleAnimSpriteTemplate_83DB0E8, 2, 213 + delay 30 + playsewithpan SE_W100, 192 + delay 30 + playsewithpan SE_W100, 192 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER + delay 1 end Move_SHOCK_WAVE: @ 81CD867 - loadsprite 10211 - loadsprite 10212 - loadsprite 10001 - loadsprite 10037 - monbg 0 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 4, 0 - wait - createtask sub_80D6B3C, 2, 0, 20, 0, 2 - panse_19 SE_W268, 192 - pause 12 - sprite gBattleAnimSpriteTemplate_83D9B28, 2 - pause 30 - createtask sub_80D72DC, 5 - pause 12 - wait - createtask sub_80D759C, 5 - panse_19 SE_W161B, 63 - wait - createtask sub_80A7E7C, 2, 1, 0, 6, 18, 1 - createtask sub_80E2A38, 5, 1, 3, 16, 0, 32767 - createtask sub_80E2A38, 5, 4, 0, 16, 16, 0 - pause 4 - createtask sub_80E2A38, 5, 4, 0, 0, 0, 0 - wait - clearmonbg 0 + loadspritegfx 10211 + loadspritegfx 10212 + loadspritegfx 10001 + loadspritegfx 10037 + monbg ANIM_BANK_ATTACKER + setalpha 12, 8 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 4, 0 + waitforvisualfinish + createvisualtask sub_80D6B3C, 2, 0, 20, 0, 2 + playsewithpan SE_W268, 192 + delay 12 + createsprite gBattleAnimSpriteTemplate_83D9B28, 2 + delay 30 + createvisualtask sub_80D72DC, 5 + delay 12 + waitforvisualfinish + createvisualtask sub_80D759C, 5 + playsewithpan SE_W161B, 63 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 6, 18, 1 + createvisualtask sub_80E2A38, 5, 1, 3, 16, 0, 32767 + createvisualtask sub_80E2A38, 5, 4, 0, 16, 16, 0 + delay 4 + createvisualtask sub_80E2A38, 5, 4, 0, 0, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER blendoff end Move_HARDEN: @ 81CD909 - panse_1C SE_W231, 192, 28, 2 - createtask sub_80E0A4C, 5, 0, 0, 0 - wait + loopsewithpan SE_W231, 192, 28, 2 + createvisualtask sub_80E0A4C, 5, 0, 0, 0 + waitforvisualfinish end Move_BELLY_DRUM: @ 81CD91E - loadsprite 10072 - loadsprite 10193 - createtask sub_80CEA20, 2 - wait + loadspritegfx 10072 + loadspritegfx 10193 + createvisualtask sub_80CEA20, 2 + waitforvisualfinish call _81CD9EB - sprite gBattleAnimSpriteTemplate_83D71A8, 2, 0, 0, 0, 0 - panse_19 SE_W187, 192 - pause 15 + createsprite gBattleAnimSpriteTemplate_83D71A8, 2, 0, 0, 0, 0 + playsewithpan SE_W187, 192 + delay 15 call _81CD9D0 - sprite gBattleAnimSpriteTemplate_83D71A8, 2, 1, 1, 1, 0 - panse_19 SE_W187, 192 - pause 15 + createsprite gBattleAnimSpriteTemplate_83D71A8, 2, 1, 1, 1, 0 + playsewithpan SE_W187, 192 + delay 15 call _81CD9EB - sprite gBattleAnimSpriteTemplate_83D71A8, 2, 0, 3, 3, 128 - panse_19 SE_W187, 192 - pause 7 + createsprite gBattleAnimSpriteTemplate_83D71A8, 2, 0, 3, 3, 128 + playsewithpan SE_W187, 192 + delay 7 call _81CD9D0 - sprite gBattleAnimSpriteTemplate_83D71A8, 2, 1, 2, 0, 128 - panse_19 SE_W187, 192 - pause 7 + createsprite gBattleAnimSpriteTemplate_83D71A8, 2, 1, 2, 0, 128 + playsewithpan SE_W187, 192 + delay 7 call _81CD9EB - sprite gBattleAnimSpriteTemplate_83D71A8, 2, 0, 1, 1, 0 - panse_19 SE_W187, 192 - pause 7 + createsprite gBattleAnimSpriteTemplate_83D71A8, 2, 0, 1, 1, 0 + playsewithpan SE_W187, 192 + delay 7 call _81CD9D0 - sprite gBattleAnimSpriteTemplate_83D71A8, 2, 1, 0, 3, 0 - panse_19 SE_W187, 192 - wait - createtask sub_80CEAD8, 2 - wait + createsprite gBattleAnimSpriteTemplate_83D71A8, 2, 1, 0, 3, 0 + playsewithpan SE_W187, 192 + waitforvisualfinish + createvisualtask sub_80CEAD8, 2 + waitforvisualfinish end _81CD9D0: - sprite gBattleAnimSpriteTemplate_83D7174, 3, 0 - createtask sub_80A7E7C, 2, 0, 0, 8, 2, 1 - ret + createsprite gBattleAnimSpriteTemplate_83D7174, 3, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_ATTACKER, 0, 8, 2, 1 + return _81CD9EB: - sprite gBattleAnimSpriteTemplate_83D7174, 3, 1 - createtask sub_80A7E7C, 2, 0, 0, 8, 2, 1 - ret + createsprite gBattleAnimSpriteTemplate_83D7174, 3, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_ATTACKER, 0, 8, 2, 1 + return Move_MIND_READER: @ 81CDA06 - loadsprite 10189 - loadsprite 10190 - loadsprite 10191 + loadspritegfx 10189 + loadspritegfx 10190 + loadspritegfx 10191 monbg 4 - panse_19 SE_W109, 63 - sprite gBattleAnimSpriteTemplate_84021DC, 5, 0, 0, 1, 0 - sprite gBattleAnimSpriteTemplate_84021F4, 5 - pause 40 - panse_19 SE_W043, 63 - createtask sub_80E1F8C, 2, 1, 1, 2, 0, 10, 0 + playsewithpan SE_W109, 63 + createsprite gBattleAnimSpriteTemplate_84021DC, 5, 0, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_84021F4, 5 + delay 40 + playsewithpan SE_W043, 63 + createvisualtask sub_80E1F8C, 2, 1, 1, 2, 0, 10, 0 call _81CDA4D - wait + waitforvisualfinish clearmonbg 4 end _81CDA4D: - sprite gBattleAnimSpriteTemplate_840220C, 4, 70, 0, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, 40, 40, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, 10, -60, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, -50, -40, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, -40, 40, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, 50, -50, 6 - pause 2 - sprite gBattleAnimSpriteTemplate_840220C, 4, 50, -30, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, 60, 10, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, 0, 60, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, 0, -40, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, -60, 20, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, -60, -30, 6 - pause 2 - sprite gBattleAnimSpriteTemplate_840220C, 4, -50, 50, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, -60, 20, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, -40, -40, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, 20, -60, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, 50, -50, 6 - sprite gBattleAnimSpriteTemplate_840220C, 4, 35, 40, 6 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_840220C, 4, 70, 0, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 40, 40, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 10, -60, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, -50, -40, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, -40, 40, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 50, -50, 6 + delay 2 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 50, -30, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 60, 10, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 0, 60, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 0, -40, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, -60, 20, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, -60, -30, 6 + delay 2 + createsprite gBattleAnimSpriteTemplate_840220C, 4, -50, 50, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, -60, 20, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, -40, -40, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 20, -60, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 50, -50, 6 + createsprite gBattleAnimSpriteTemplate_840220C, 4, 35, 40, 6 + delay 2 + return Move_ICE_PUNCH: @ 81CDB3E - monbg 3 - setalpha 12, 8 - loadsprite 10141 - loadsprite 10135 - loadsprite 10143 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 7, 0 - createtask sub_80E2A38, 10, 4, 2, 0, 9, 32588 - pause 20 - panse_19 SE_W081, 63 - sprite gBattleAnimSpriteTemplate_83D9BF8, 2, 0 - sprite gBattleAnimSpriteTemplate_83D9BF8, 2, 64 - sprite gBattleAnimSpriteTemplate_83D9BF8, 2, 128 - sprite gBattleAnimSpriteTemplate_83D9BF8, 2, 192 - pause 5 - sprite gBattleAnimSpriteTemplate_83D9BE0, 2, 32 - sprite gBattleAnimSpriteTemplate_83D9BE0, 2, 96 - sprite gBattleAnimSpriteTemplate_83D9BE0, 2, 160 - sprite gBattleAnimSpriteTemplate_83D9BE0, 2, 224 - pause 17 - sprite gBattleAnimSpriteTemplate_83D9FA8, 4, 0, -10, 8, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, -10, 1, 1 - panse_19 SE_W004, 63 - pause 2 - createtask sub_80A7E7C, 5, 1, 0, 5, 3, 1 - wait - pause 15 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + loadspritegfx 10141 + loadspritegfx 10135 + loadspritegfx 10143 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 7, 0 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 9, 32588 + delay 20 + playsewithpan SE_W081, 63 + createsprite gBattleAnimSpriteTemplate_83D9BF8, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D9BF8, 2, 64 + createsprite gBattleAnimSpriteTemplate_83D9BF8, 2, 128 + createsprite gBattleAnimSpriteTemplate_83D9BF8, 2, 192 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D9BE0, 2, 32 + createsprite gBattleAnimSpriteTemplate_83D9BE0, 2, 96 + createsprite gBattleAnimSpriteTemplate_83D9BE0, 2, 160 + createsprite gBattleAnimSpriteTemplate_83D9BE0, 2, 224 + delay 17 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 4, 0, -10, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, -10, 1, 1 + playsewithpan SE_W004, 63 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 3, 1 + waitforvisualfinish + delay 15 call Unknown_81D5C36 - pause 5 - createtask sub_80E2A38, 10, 4, 2, 9, 0, 32588 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 7, 0, 0 - wait - clearmonbg 3 + delay 5 + createvisualtask sub_80E2A38, 10, 4, 2, 9, 0, 32588 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 7, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_REST: @ 81CDC29 - panse_19 SE_W173, 192 - loadsprite 10228 - sprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 - pause 20 - sprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 - pause 20 - sprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 - wait + playsewithpan SE_W173, 192 + loadspritegfx 10228 + createsprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 + delay 20 + createsprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 + delay 20 + createsprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 + waitforvisualfinish end Move_CONFUSION: @ 81CDC69 - monbg 3 + monbg ANIM_BANK_DEF_PARTNER call Unknown_81D61E7 setalpha 8, 8 - createtask sub_80A7FA0, 2, 0, 1, 0, 10, 1 - createtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 32767 - wait - panse_19 SE_W048, 63 - createtask sub_80A7E7C, 2, 1, 3, 0, 15, 1 - createtask sub_80A8D34, 5, -4, -4, 15, 1, 1 - wait - clearmonbg 3 - blendoff - pause 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 10, 1 + createvisualtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 32767 + waitforvisualfinish + playsewithpan SE_W048, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 15, 1 + createvisualtask sub_80A8D34, 5, -4, -4, 15, 1, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + blendoff + delay 1 call Unknown_81D61F3 end Move_PSYCHIC: @ 81CDCCA - monbg 3 + monbg ANIM_BANK_DEF_PARTNER call Unknown_81D61E7 setalpha 8, 8 - createtask sub_80A7FA0, 2, 0, 1, 0, 10, 1 - createtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 767 - wait - panse_1C SE_W048, 63, 10, 3 - createtask sub_80A7E7C, 2, 1, 5, 0, 15, 1 - createtask sub_80A8D34, 5, -6, -6, 15, 1, 1 - wait - clearmonbg 3 - blendoff - pause 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 10, 1 + createvisualtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 767 + waitforvisualfinish + loopsewithpan SE_W048, 63, 10, 3 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 15, 1 + createvisualtask sub_80A8D34, 5, -6, -6, 15, 1, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + blendoff + delay 1 call Unknown_81D61F3 end Move_FUTURE_SIGHT: @ 81CDD2D - jump _81CDD3B + goto _81CDD3B _81CDD32: - wait - pause 1 + waitforvisualfinish + delay 1 call Unknown_81D61F3 end _81CDD3B: - monbg 2 - panse_19 SE_W060, 192 + monbg ANIM_BANK_ATK_PARTNER + playsewithpan SE_W060, 192 call Unknown_81D61E7 setalpha 8, 8 - panse_19 SE_W048, 192 - createtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 32767 - createtask sub_80A8D34, 5, -4, -4, 15, 0, 1 - wait - clearmonbg 2 + playsewithpan SE_W048, 192 + createvisualtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 32767 + createvisualtask sub_80A8D34, 5, -4, -4, 15, 0, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff - jump _81CDD32 + goto _81CDD32 Unknown_81CDD7A: @ 81CDD7A - monbg 3 - panse_19 SE_W060, 192 + monbg ANIM_BANK_DEF_PARTNER + playsewithpan SE_W060, 192 call Unknown_81D61E7 setalpha 8, 8 - panse_19 SE_W048, 63 - panse_1D SE_W048, 63, 8 - createtask sub_80A7E7C, 2, 1, 4, 0, 15, 1 - createtask sub_80A8D34, 5, -5, -5, 15, 1, 1 - wait - createtask sub_80A7E7C, 2, 1, 4, 0, 24, 1 - wait - clearmonbg 3 + playsewithpan SE_W048, 63 + waitplaysewithpan SE_W048, 63, 8 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 4, 0, 15, 1 + createvisualtask sub_80A8D34, 5, -5, -5, 15, 1, 1 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 4, 0, 24, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff - jump _81CDD32 + goto _81CDD32 Move_THUNDER: @ 81CDDCE - loadsprite 10037 + loadspritegfx 10037 fadetobg 11 waitbgfadeout - createtask sub_80E3A58, 5, -256, 0, 1, -1 + createvisualtask sub_80E3A58, 5, -256, 0, 1, -1 waitbgfadein - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 16, 0 - pause 16 - createtask sub_80E2324, 2, 257, 257, 257 - panse_19 SE_W086, 63 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 16, -36 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 16, -20 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 16, 12 - pause 20 - sprite gBattleAnimSpriteTemplate_83D97D0, 134, -16, -32 - panse_19 SE_W086, 63 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 134, -16, -16 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 134, -16, 16 - panse_19 SE_W086, 63 - pause 5 - createtask sub_80E2324, 2, 257, 257, 257 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 24, -32 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 24, -16 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 24, 16 - pause 30 - createtask sub_80E2324, 2, 257, 257, 257 - pause 5 - createtask sub_80E2324, 2, 257, 257, 257 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -32 - panse_19 SE_W161B, 63 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -16 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, 16 - pause 10 - createtask sub_80E2324, 2, 257, 257, 257 - pause 1 - createtask sub_80D60B4, 2, 30, 3, 1, 0 - pause 2 - createtask sub_80E2324, 2, 257, 257, 257 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 130, 1, 2, 16, 0, 0 - wait + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 16, 0 + delay 16 + createvisualtask sub_80E2324, 2, 257, 257, 257 + playsewithpan SE_W086, 63 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 16, -36 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 16, -20 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 16, 12 + delay 20 + createsprite gBattleAnimSpriteTemplate_83D97D0, 134, -16, -32 + playsewithpan SE_W086, 63 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 134, -16, -16 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 134, -16, 16 + playsewithpan SE_W086, 63 + delay 5 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 24, -32 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 24, -16 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 24, 16 + delay 30 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 5 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -32 + playsewithpan SE_W161B, 63 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -16 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, 16 + delay 10 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 1 + createvisualtask sub_80D60B4, 2, 30, 3, 1, 0 + delay 2 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 130, 1, 2, 16, 0, 0 + waitforvisualfinish restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein end Move_THUNDER_PUNCH: @ 81CDF28 - loadsprite 10135 - loadsprite 10143 - loadsprite 10037 - monbg 1 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 16, 0 - wait - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 1 - pause 1 - createtask sub_80E2324, 2, 257, 257, 257 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -48 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 2, 0, -16 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 2, 0, 16 - pause 1 - panse_19 SE_W161B, 63 - createtask sub_80E2324, 2, 257, 257, 257 - pause 2 - createtask sub_80A7E7C, 2, 1, 0, 3, 15, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 2 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 16, 0, 0 - pause 20 - wait - clearmonbg 1 + loadspritegfx 10135 + loadspritegfx 10143 + loadspritegfx 10037 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 16, 0 + waitforvisualfinish + playsewithpan SE_W004, 63 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + delay 1 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -48 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 2, 0, -16 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 2, 0, 16 + delay 1 + playsewithpan SE_W161B, 63 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 15, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 16, 0, 0 + delay 20 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_SACRED_FIRE: @ 81CDFF1 - loadsprite 10033 - loadsprite 10035 - panse_1C SE_W221, 192, 7, 5 - sprite gBattleAnimSpriteTemplate_83D9538, 2, -32, 0, 50, 5, -2, 0 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9538, 66, -20, -10, 50, 5, -1, -1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 0, -16, 50, 5, 0, -1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 20, -10, 50, 5, 1, -1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9538, 2, 32, 0, 50, 5, 2, 0 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9538, 2, 20, 10, 50, 5, 1, 1 - pause 1 - createtask sub_80E2324, 2, 257, 257, 257 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9538, 2, 0, 16, 50, 5, 0, 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9538, 2, -20, 10, 50, 5, -1, 1 - createtask sub_80E2324, 2, 257, 257, 257 - pause 1 - wait - panse_19 SE_W221B, 63 - sprite gBattleAnimSpriteTemplate_83D9508, 130, -16, 0, 70, 16, 0, 1 - pause 10 - panse_19 SE_W221B, 63 - sprite gBattleAnimSpriteTemplate_83D9508, 130, 0, 0, 70, 16, 0, 1 - pause 10 - panse_19 SE_W221B, 63 - sprite gBattleAnimSpriteTemplate_83D9508, 130, 16, 0, 80, 16, 0, 1 - pause 1 - createtask sub_80E2324, 2, 257, 257, 257 - pause 1 - wait - createtask sub_80E2324, 2, 257, 257, 257 - pause 1 - panse_19 SE_W172B, 63 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, 0 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 0, 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, -1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 2, 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 1, -1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 1, -2 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 3, 1 - wait + loadspritegfx 10033 + loadspritegfx 10035 + loopsewithpan SE_W221, 192, 7, 5 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, -32, 0, 50, 5, -2, 0 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, -20, -10, 50, 5, -1, -1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 0, -16, 50, 5, 0, -1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 20, -10, 50, 5, 1, -1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, 32, 0, 50, 5, 2, 0 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, 20, 10, 50, 5, 1, 1 + delay 1 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, 0, 16, 50, 5, 0, 1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, -20, 10, 50, 5, -1, 1 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 1 + waitforvisualfinish + playsewithpan SE_W221B, 63 + createsprite gBattleAnimSpriteTemplate_83D9508, 130, -16, 0, 70, 16, 0, 1 + delay 10 + playsewithpan SE_W221B, 63 + createsprite gBattleAnimSpriteTemplate_83D9508, 130, 0, 0, 70, 16, 0, 1 + delay 10 + playsewithpan SE_W221B, 63 + createsprite gBattleAnimSpriteTemplate_83D9508, 130, 16, 0, 80, 16, 0, 1 + delay 1 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 1 + waitforvisualfinish + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 1 + playsewithpan SE_W172B, 63 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, 0 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 0, 1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, -1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 2, 1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 1, -1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, 1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 1, -2 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 3, 1 + waitforvisualfinish end Move_SCRATCH: @ 81CE1D8 - loadsprite 10137 - monbg 1 + loadspritegfx 10137 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W010, 63 - sprite gBattleAnimSpriteTemplate_8402180, 2, 0, 0, 1, 0 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - wait - clearmonbg 1 + playsewithpan SE_W010, 63 + createsprite gBattleAnimSpriteTemplate_8402180, 2, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff - wait + waitforvisualfinish end Move_DRAGON_BREATH: @ 81CE20A - loadsprite 10029 - monbg 3 + loadspritegfx 10029 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 - panse_1C SE_W172, 192, 7, 7 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - createtask sub_80E2A38, 10, 4, 1, 0, 9, 31 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - createtask sub_80A7FA0, 2, 1, 2, 0, 21, 1 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 - wait - createtask sub_80E2A38, 10, 4, 1, 9, 0, 31 - wait - clearmonbg 3 + loopsewithpan SE_W172, 192, 7, 7 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createvisualtask sub_80E2A38, 10, 4, 1, 0, 9, 31 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 21, 1 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 4, 1, 9, 0, 31 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end Move_ROAR: @ 81CE31E - loadsprite 10053 - monbg 0 + loadspritegfx 10053 + monbg ANIM_BANK_ATTACKER monbgprio_28 0 setalpha 8, 8 - createtask sub_812B18C, 2, 0, 2 - createtask sub_80A8D34, 5, -5, -5, 10, 0, 1 + createvisualtask sub_812B18C, 2, 0, 2 + createvisualtask sub_80A8D34, 5, -5, -5, 10, 0, 1 call _81CE35E - pause 20 - createtask sub_80A8A80, 5, 1, 2 - wait - clearmonbg 0 + delay 20 + createvisualtask sub_80A8A80, 5, 1, 2 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER blendoff - wait - pause 20 + waitforvisualfinish + delay 20 end _81CE35E: - sprite gBattleAnimSpriteTemplate_8402934, 2, 24, -8, 0 - sprite gBattleAnimSpriteTemplate_8402934, 2, 24, 0, 2 - sprite gBattleAnimSpriteTemplate_8402934, 2, 24, 8, 1 - pause 15 - sprite gBattleAnimSpriteTemplate_8402934, 2, 24, -8, 0 - sprite gBattleAnimSpriteTemplate_8402934, 2, 24, 0, 2 - sprite gBattleAnimSpriteTemplate_8402934, 2, 24, 8, 1 - ret + createsprite gBattleAnimSpriteTemplate_8402934, 2, 24, -8, 0 + createsprite gBattleAnimSpriteTemplate_8402934, 2, 24, 0, 2 + createsprite gBattleAnimSpriteTemplate_8402934, 2, 24, 8, 1 + delay 15 + createsprite gBattleAnimSpriteTemplate_8402934, 2, 24, -8, 0 + createsprite gBattleAnimSpriteTemplate_8402934, 2, 24, 0, 2 + createsprite gBattleAnimSpriteTemplate_8402934, 2, 24, 8, 1 + return Move_GROWL: @ 81CE3AF - loadsprite 10053 - createtask sub_812B18C, 2, 0, 255 + loadspritegfx 10053 + createvisualtask sub_812B18C, 2, 0, 255 call _81CE35E - pause 10 - createtask sub_80A7FA0, 2, 1, 1, 0, 9, 1 - createtask sub_80A7FA0, 2, 3, 1, 0, 9, 1 - wait - pause 20 + delay 10 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 1, 0, 9, 1 + waitforvisualfinish + delay 20 end Move_SNORE: @ 81CE3EA - loadsprite 10197 - monbg 2 + loadspritegfx 10197 + monbg ANIM_BANK_ATK_PARTNER setalpha 8, 8 call _81CE403 - pause 30 + delay 30 call _81CE403 - wait - clearmonbg 2 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff end _81CE403: - panse_19 SE_W173, 192 - createtask sub_80A8D34, 5, -7, -7, 7, 0, 1 - createtask sub_80A7FA0, 2, 1, 4, 0, 7, 1 - sprite gBattleAnimSpriteTemplate_83DB428, 2, 6, 1, 14, 0, 0 - sprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, -42, -38, 24, 0, 0 - sprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, 0, -42, 24, 0, 0 - sprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, 42, -38, 24, 0, 0 - ret + playsewithpan SE_W173, 192 + createvisualtask sub_80A8D34, 5, -7, -7, 7, 0, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 7, 1 + createsprite gBattleAnimSpriteTemplate_83DB428, 2, 6, 1, 14, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, -42, -38, 24, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, 0, -42, 24, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, 42, -38, 24, 0, 0 + return Move_LIGHT_SCREEN: @ 81CE47A - loadsprite 10070 - loadsprite 10166 + loadspritegfx 10070 + loadspritegfx 10166 setalpha 0, 16 - panse_1D SE_W115, 192, 15 - sprite gBattleAnimSpriteTemplate_83DA6A8, 1, 40, 0, 10166 - pause 10 + waitplaysewithpan SE_W115, 192, 15 + createsprite gBattleAnimSpriteTemplate_83DA6A8, 1, 40, 0, 10166 + delay 10 call _81CE4A1 - wait - pause 1 + waitforvisualfinish + delay 1 blendoff end _81CE4A1: - sprite gBattleAnimSpriteTemplate_83DA76C, 2, 23, 0, 0, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA76C, 2, 31, -8, 0, 1 - pause 5 - sprite gBattleAnimSpriteTemplate_83DA76C, 2, 30, 20, 0, 1 - pause 7 - sprite gBattleAnimSpriteTemplate_83DA76C, 2, 10, -15, 0, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA76C, 2, 20, 10, 0, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA76C, 2, 10, 18, 0, 1 - ret + createsprite gBattleAnimSpriteTemplate_83DA76C, 2, 23, 0, 0, 1 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA76C, 2, 31, -8, 0, 1 + delay 5 + createsprite gBattleAnimSpriteTemplate_83DA76C, 2, 30, 20, 0, 1 + delay 7 + createsprite gBattleAnimSpriteTemplate_83DA76C, 2, 10, -15, 0, 1 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA76C, 2, 20, 10, 0, 1 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA76C, 2, 10, 18, 0, 1 + return Move_MIRROR_COAT: @ 81CE506 - loadsprite 10070 - loadsprite 10168 + loadspritegfx 10070 + loadspritegfx 10168 setalpha 0, 16 - sprite gBattleAnimSpriteTemplate_83DA6D8, 1, 40, 0, 10168 - pause 10 - panse_19 SE_W115, 192 + createsprite gBattleAnimSpriteTemplate_83DA6D8, 1, 40, 0, 10168 + delay 10 + playsewithpan SE_W115, 192 call _81CE4A1 - wait - pause 1 + waitforvisualfinish + delay 1 blendoff end Move_REFLECT: @ 81CE52C - loadsprite 10071 - loadsprite 10167 + loadspritegfx 10071 + loadspritegfx 10167 setalpha 0, 16 - panse_1D SE_W115, 192, 15 - sprite gBattleAnimSpriteTemplate_83DA6C0, 1, 40, 0, 10167 - pause 20 - sprite gBattleAnimSpriteTemplate_83DA73C, 2, 30, 0, 0, 1 - pause 7 - sprite gBattleAnimSpriteTemplate_83DA73C, 2, 19, -12, 0, 1 - pause 7 - sprite gBattleAnimSpriteTemplate_83DA73C, 2, 10, 20, 0, 1 - wait - pause 1 + waitplaysewithpan SE_W115, 192, 15 + createsprite gBattleAnimSpriteTemplate_83DA6C0, 1, 40, 0, 10167 + delay 20 + createsprite gBattleAnimSpriteTemplate_83DA73C, 2, 30, 0, 0, 1 + delay 7 + createsprite gBattleAnimSpriteTemplate_83DA73C, 2, 19, -12, 0, 1 + delay 7 + createsprite gBattleAnimSpriteTemplate_83DA73C, 2, 10, 20, 0, 1 + waitforvisualfinish + delay 1 blendoff end Move_BARRIER: @ 81CE57F - loadsprite 10169 + loadspritegfx 10169 setalpha 0, 16 - panse_1D SE_W112, 192, 15 - sprite gBattleAnimSpriteTemplate_83DA6F0, 3, 40, 0, 10169 - wait - pause 1 + waitplaysewithpan SE_W112, 192, 15 + createsprite gBattleAnimSpriteTemplate_83DA6F0, 3, 40, 0, 10169 + waitforvisualfinish + delay 1 blendoff end Move_BUBBLE: @ 81CE59C - loadsprite 10146 - loadsprite 10155 - monbg 1 - setalpha 12, 8 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 15, -15, 10, 128, 100 - panse_19 SE_W145, 192 - panse_1D SE_W145B, 63, 100 - pause 6 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 35, 37, 40, 128, 100 - panse_19 SE_W145, 192 - panse_1D SE_W145B, 63, 100 - pause 6 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 10, -37, 30, 128, 100 - panse_19 SE_W145, 192 - panse_1D SE_W145B, 63, 100 - pause 6 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 30, 10, 15, 128, 100 - panse_19 SE_W145, 192 - panse_1D SE_W145B, 63, 100 - pause 6 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 20, 33, 20, 128, 100 - panse_19 SE_W145, 192 - panse_1D SE_W145B, 63, 100 - pause 6 - sprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 25, -30, 10, 128, 100 - panse_19 SE_W145, 192 - panse_1D SE_W145B, 63, 100 - wait + loadspritegfx 10146 + loadspritegfx 10155 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 15, -15, 10, 128, 100 + playsewithpan SE_W145, 192 + waitplaysewithpan SE_W145B, 63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 35, 37, 40, 128, 100 + playsewithpan SE_W145, 192 + waitplaysewithpan SE_W145B, 63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 10, -37, 30, 128, 100 + playsewithpan SE_W145, 192 + waitplaysewithpan SE_W145B, 63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 30, 10, 15, 128, 100 + playsewithpan SE_W145, 192 + waitplaysewithpan SE_W145B, 63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 20, 33, 20, 128, 100 + playsewithpan SE_W145, 192 + waitplaysewithpan SE_W145B, 63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_83D9178, 2, 18, 0, 25, -30, 10, 128, 100 + playsewithpan SE_W145, 192 + waitplaysewithpan SE_W145B, 63, 100 + waitforvisualfinish call Unknown_81D6069 - wait - clearmonbg 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_SMOG: @ 81CE672 - loadsprite 10172 - monbg 3 + loadspritegfx 10172 + monbg ANIM_BANK_DEF_PARTNER monbgprio_29 setalpha 12, 8 - panse_1C SE_W054, 63, 17, 10 + loopsewithpan SE_W054, 63, 17, 10 call _81CE6D7 call _81CE6D7 call _81CE6D7 @@ -5133,231 +5135,231 @@ Move_SMOG: @ 81CE672 call _81CE6D7 call _81CE6D7 call _81CE6D7 - pause 120 - panse_1C SE_W092, 63, 18, 2 - createtask sub_80E1F8C, 2, 4, 2, 2, 0, 12, 26650 - pause 10 - createtask sub_80A7FA0, 2, 1, 2, 0, 15, 1 - wait - clearmonbg 3 + delay 120 + loopsewithpan SE_W092, 63, 18, 2 + createvisualtask sub_80E1F8C, 2, 4, 2, 2, 0, 12, 26650 + delay 10 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 15, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81CE6D7: - sprite gBattleAnimSpriteTemplate_83D9D54, 2, 0, -24, 48, 240, 1, 0 - pause 7 - ret + createsprite gBattleAnimSpriteTemplate_83D9D54, 2, 0, -24, 48, 240, 1, 0 + delay 7 + return Move_FAINT_ATTACK: @ 81CE6ED - loadsprite 10135 - monbg 0 + loadspritegfx 10135 + monbg ANIM_BANK_ATTACKER fadetobg 1 waitbgfadein - pause 0 - panse_19 SE_W185, 192 - createtask sub_80A8500, 2, 0, 18, 6, 1, 3 - createtask sub_80DFC24, 2, 1 - wait - clearmonbg 0 + delay 0 + playsewithpan SE_W185, 192 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 18, 6, 1, 3 + createvisualtask sub_80DFC24, 2, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER invisible 0 - pause 1 - createtask sub_80E4300, 2 - monbg 1 - setalpha 12, 8 - pause 1 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 1 - createtask sub_80A7FA0, 2, 1, 2, 0, 9, 1 - wait - clearmonbg 1 - blendoff - pause 1 - setvar 7, 4096 - pause 32 - createtask sub_80DFDC0, 2 - monbg 0 - createtask sub_80DFD24, 2, 1 - wait - clearmonbg 0 - pause 1 + delay 1 + createvisualtask sub_80E4300, 2 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + delay 1 + playsewithpan SE_W233B, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 9, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET + blendoff + delay 1 + setarg 7, 4096 + delay 32 + createvisualtask sub_80DFDC0, 2 + monbg ANIM_BANK_ATTACKER + createvisualtask sub_80DFD24, 2, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER + delay 1 restorebg waitbgfadein end Move_SAND_ATTACK: @ 81CE774 - loadsprite 10074 - monbg 2 + loadspritegfx 10074 + monbg ANIM_BANK_ATK_PARTNER monbgprio_28 0 setalpha 12, 8 - panse_19 SE_W028, 192 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, -10, 0, 0, 3 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 2 + playsewithpan SE_W028, 192 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2 call _81CE7C4 call _81CE7C4 call _81CE7C4 call _81CE7C4 call _81CE7C4 call _81CE7C4 - wait - clearmonbg 2 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff end _81CE7C4: - sprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, 0, 0 - sprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, 10, 10 - sprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, -10, -10 - sprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, 20, 5 - sprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, -20, -5 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, 10, 10 + createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, -10, -10 + createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, 20, 5 + createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, -20, -5 + delay 2 + return Move_MUD_SLAP: @ 81CE81C - loadsprite 10074 - panse_19 SE_W028, 192 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, -10, 0, 0, 3 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 2 + loadspritegfx 10074 + playsewithpan SE_W028, 192 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2 call _81CE862 call _81CE862 call _81CE862 call _81CE862 call _81CE862 call _81CE862 - wait + waitforvisualfinish end _81CE862: - sprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, 0, 0 - sprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, 10, 5 - sprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, -10, -5 - sprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, 20, 10 - sprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, -20, -10 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, 10, 5 + createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, -10, -5 + createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, 20, 10 + createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, -20, -10 + delay 2 + return Move_DRAGON_RAGE: @ 81CE8BA - loadsprite 10029 - loadsprite 10035 - panse_19 SE_W082, 192 - createtask sub_80A7E7C, 5, 0, 0, 2, 40, 1 - wait - sprite gBattleAnimSpriteTemplate_83C1FF8, 130, 0, 15, 0, 0, 4 - wait - sprite gBattleAnimSpriteTemplate_83DB0D0, 130, 30, 15, 0, 10, 10 - wait - panse_1C SE_W172B, 63, 11, 3 - createtask sub_80A7E7C, 5, 1, 0, 3, 25, 1 - sprite gBattleAnimSpriteTemplate_83DB078, 194, 1, 5, 0 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB078, 194, 1, -10, -15 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB078, 130, 1, 0, 25 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB078, 194, 1, 15, 5 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB078, 194, 1, -25, 0 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB078, 130, 1, 30, 30 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB078, 130, 1, -27, 25 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB078, 194, 1, 0, 8 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 194, 0, 0, 4 - wait + loadspritegfx 10029 + loadspritegfx 10035 + playsewithpan SE_W082, 192 + createvisualtask AnimTask_ShakeMon, 5, 0, 0, 2, 40, 1 + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, 130, 0, 15, 0, 0, 4 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB0D0, 130, 30, 15, 0, 10, 10 + waitforvisualfinish + loopsewithpan SE_W172B, 63, 11, 3 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 3, 25, 1 + createsprite gBattleAnimSpriteTemplate_83DB078, 194, 1, 5, 0 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB078, 194, 1, -10, -15 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB078, 130, 1, 0, 25 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB078, 194, 1, 15, 5 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB078, 194, 1, -25, 0 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB078, 130, 1, 30, 30 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB078, 130, 1, -27, 25 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB078, 194, 1, 0, 8 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 194, 0, 0, 4 + waitforvisualfinish end Move_RAIN_DANCE: @ 81CE997 - loadsprite 10115 - panse_19 SE_W240, 192 - createtask sub_80E2A38, 10, 1921, 2, 0, 4, 0 - wait - createtask CreateAnimRaindrops, 2, 0, 3, 120 - createtask CreateAnimRaindrops, 2, 0, 3, 120 - pause 120 - pause 30 - wait - createtask sub_80E2A38, 10, 1921, 2, 4, 0, 0 - wait + loadspritegfx 10115 + playsewithpan SE_W240, 192 + createvisualtask sub_80E2A38, 10, 1921, 2, 0, 4, 0 + waitforvisualfinish + createvisualtask CreateAnimRaindrops, 2, 0, 3, 120 + createvisualtask CreateAnimRaindrops, 2, 0, 3, 120 + delay 120 + delay 30 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 1921, 2, 4, 0, 0 + waitforvisualfinish end Move_BITE: @ 81CE9E2 - loadsprite 10139 - loadsprite 10135 - monbg 1 + loadspritegfx 10139 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W044, 63 - sprite gBattleAnimSpriteTemplate_83DB1D0, 2, 0, -32, 0, 0, 819, 10 - sprite gBattleAnimSpriteTemplate_83DB1D0, 2, 0, 32, 4, 0, -819, 10 - pause 10 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7E7C, 5, 1, 0, 4, 7, 1 - wait - clearmonbg 1 + playsewithpan SE_W044, 63 + createsprite gBattleAnimSpriteTemplate_83DB1D0, 2, 0, -32, 0, 0, 819, 10 + createsprite gBattleAnimSpriteTemplate_83DB1D0, 2, 0, 32, 4, 0, -819, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 4, 7, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff - pause 1 + delay 1 end Move_CRUNCH: @ 81CEA40 - loadsprite 10139 - loadsprite 10135 - monbg 1 + loadspritegfx 10139 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET fadetobg 1 waitbgfadein setalpha 12, 8 - panse_19 SE_W044, 63 - sprite gBattleAnimSpriteTemplate_83DB1D0, 2, -32, -32, 1, 819, 819, 10 - sprite gBattleAnimSpriteTemplate_83DB1D0, 2, 32, 32, 5, -819, -819, 10 - pause 10 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -8, 0, 1, 1 - createtask sub_80A7E7C, 5, 1, 0, 7, 5, 2 - wait - panse_19 SE_W044, 63 - sprite gBattleAnimSpriteTemplate_83DB1D0, 2, 32, -32, 7, -819, 819, 10 - sprite gBattleAnimSpriteTemplate_83DB1D0, 2, -32, 32, 3, 819, -819, 10 - pause 10 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 8, 0, 1, 1 - createtask sub_80A7E7C, 5, 1, 0, 8, 4, 2 - wait - clearmonbg 1 - blendoff - pause 1 + playsewithpan SE_W044, 63 + createsprite gBattleAnimSpriteTemplate_83DB1D0, 2, -32, -32, 1, 819, 819, 10 + createsprite gBattleAnimSpriteTemplate_83DB1D0, 2, 32, 32, 5, -819, -819, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 7, 5, 2 + waitforvisualfinish + playsewithpan SE_W044, 63 + createsprite gBattleAnimSpriteTemplate_83DB1D0, 2, 32, -32, 7, -819, 819, 10 + createsprite gBattleAnimSpriteTemplate_83DB1D0, 2, -32, 32, 3, 819, -819, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, 8, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 8, 4, 2 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET + blendoff + delay 1 restorebg waitbgfadein end Move_CLAMP: @ 81CEAF0 - loadsprite 10145 - loadsprite 10135 - monbg 1 + loadspritegfx 10145 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W011, 63 - sprite gBattleAnimSpriteTemplate_83DB1E8, 2, -32, 0, 2, 819, 0, 10 - sprite gBattleAnimSpriteTemplate_83DB1E8, 2, 32, 0, 6, -819, 0, 10 - pause 10 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7E7C, 5, 1, 3, 0, 5, 1 - wait - clearmonbg 1 + playsewithpan SE_W011, 63 + createsprite gBattleAnimSpriteTemplate_83DB1E8, 2, -32, 0, 2, 819, 0, 10 + createsprite gBattleAnimSpriteTemplate_83DB1E8, 2, 32, 0, 6, -819, 0, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 3, 0, 5, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff - wait + waitforvisualfinish end Move_ICE_BEAM: @ 81CEB4D - monbg 1 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 12, 8 - loadsprite 10141 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 7, 0 - wait - createtask_1F sub_812B058, 183, -64, 63, 4, 4, 0, 10 - sprite gBattleAnimSpriteTemplate_83D9C3C, 2, 20, 12, 0, 12, 20 - sprite gBattleAnimSpriteTemplate_83D9C3C, 2, 20, -12, 0, -12, 20 - pause 1 + loadspritegfx 10141 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 7, 0 + waitforvisualfinish + createsoundtask sub_812B058, 183, -64, 63, 4, 4, 0, 10 + createsprite gBattleAnimSpriteTemplate_83D9C3C, 2, 20, 12, 0, 12, 20 + createsprite gBattleAnimSpriteTemplate_83D9C3C, 2, 20, -12, 0, -12, 20 + delay 1 call _81CEC4E call _81CEC4E call _81CEC4E - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 4, -31, 0, 7, 32384 - createtask sub_80A7FA0, 2, 1, 2, 0, 25, 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 4, -31, 0, 7, 32384 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 25, 1 call _81CEC4E call _81CEC4E call _81CEC4E @@ -5366,257 +5368,257 @@ Move_ICE_BEAM: @ 81CEB4D call _81CEC4E call _81CEC4E call _81CEC4E - sprite gBattleAnimSpriteTemplate_83D9C24, 2, 20, 0, 0, 0, 11 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9C24, 2, 20, 0, 0, 0, 11 - wait - pause 20 + createsprite gBattleAnimSpriteTemplate_83D9C24, 2, 20, 0, 0, 0, 11 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9C24, 2, 20, 0, 0, 0, 11 + waitforvisualfinish + delay 20 call Unknown_81D5C36 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 4, 5, 7, 0, 32384 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 7, 0, 0 - wait - clearmonbg 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 4, 5, 7, 0, 32384 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 7, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end _81CEC4E: - sprite gBattleAnimSpriteTemplate_83D9C3C, 2, 20, 12, 0, 12, 20 - sprite gBattleAnimSpriteTemplate_83D9C3C, 2, 20, -12, 0, -12, 20 - sprite gBattleAnimSpriteTemplate_83D9C24, 2, 20, 0, 0, 0, 11 - pause 1 - ret + createsprite gBattleAnimSpriteTemplate_83D9C3C, 2, 20, 12, 0, 12, 20 + createsprite gBattleAnimSpriteTemplate_83D9C3C, 2, 20, -12, 0, -12, 20 + createsprite gBattleAnimSpriteTemplate_83D9C24, 2, 20, 0, 0, 0, 11 + delay 1 + return Move_WITHDRAW: @ 81CEC84 - panse_19 SE_W029, 192 - createtask sub_80CF4D8, 5 - wait + playsewithpan SE_W029, 192 + createvisualtask sub_80CF4D8, 5 + waitforvisualfinish end Move_AURORA_BEAM: @ 81CEC91 - loadsprite 10140 + loadspritegfx 10140 fadetobg 20 waitbgfadein - panse_19 SE_W062, 192 - setvar 7, 0 - createtask sub_80D3490, 10, 130 + playsewithpan SE_W062, 192 + setarg 7, 0 + createvisualtask sub_80D3490, 10, 130 call _81CED18 - createtask sub_80A7FA0, 5, 1, 1, 0, 17, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 1, 0, 17, 1 call _81CED18 call _81CED18 call _81CED18 - setvar 7, -1 - createtask_1F sub_812B058, 183, -64, 63, 3, 6, 0, 10 - createtask sub_80A7FA0, 5, 1, 2, 0, 40, 1 + setarg 7, -1 + createsoundtask sub_812B058, 183, -64, 63, 3, 6, 0, 10 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 40, 1 call _81CED18 call _81CED18 call _81CED18 call _81CED18 call _81CED18 call _81CED18 - wait + waitforvisualfinish restorebg waitbgfadein end _81CED18: - sprite gBattleAnimSpriteTemplate_83D91C4, 130, 20, 0, 0, 0, 17 - pause 1 - sprite gBattleAnimSpriteTemplate_83D91C4, 130, 20, 0, 0, 0, 17 - pause 1 - sprite gBattleAnimSpriteTemplate_83D91C4, 130, 20, 0, 0, 0, 17 - pause 1 - sprite gBattleAnimSpriteTemplate_83D91C4, 130, 20, 0, 0, 0, 17 - pause 1 - ret + createsprite gBattleAnimSpriteTemplate_83D91C4, 130, 20, 0, 0, 0, 17 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D91C4, 130, 20, 0, 0, 0, 17 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D91C4, 130, 20, 0, 0, 0, 17 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D91C4, 130, 20, 0, 0, 0, 17 + delay 1 + return Move_SOLAR_BEAM: @ 81CED65 - loadsprite 10147 - ifelse _81CED73, _81CEE70 + loadspritegfx 10147 + choosetwoturnanim _81CED73, _81CEE70 _81CED71: - wait + waitforvisualfinish end _81CED73: - monbg 2 + monbg ANIM_BANK_ATK_PARTNER setalpha 12, 8 - createtask sub_80E1F8C, 2, 2, 1, 4, 0, 11, 12287 - panse_19 SE_W025, 192 + createvisualtask sub_80E1F8C, 2, 2, 1, 4, 0, 11, 12287 + playsewithpan SE_W025, 192 call _81CED9D - wait - clearmonbg 2 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff - jump _81CED71 + goto _81CED71 _81CED9D: - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, 40, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, -40, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 0, 40, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 0, -40, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, -20, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, 20, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, -20, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, 20, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, -20, 30, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 20, -30, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, -20, -30, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 20, 30, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, 0, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, 0, 16 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, 40, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, -40, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 0, 40, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 0, -40, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, -20, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, 20, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, -20, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, 20, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, -20, 30, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 20, -30, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, -20, -30, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 20, 30, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, 0, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, 0, 16 + delay 2 + return _81CEE70: call Unknown_81D6233 panse_1B SE_W076, 192, 63, 2, 0 - createtask sub_80CA928, 5 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 1 - pause 4 - createtask sub_80E2A38, 10, 4, 1, 0, 10, 1017 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 2 - pause 4 - createtask sub_80A7FA0, 5, 1, 2, 0, 65, 1 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 3 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 4 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 5 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 6 - pause 4 + createvisualtask sub_80CA928, 5 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 1 + delay 4 + createvisualtask sub_80E2A38, 10, 4, 1, 0, 10, 1017 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 2 + delay 4 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 65, 1 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 3 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 4 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 5 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 6 + delay 4 call _81CEF42 call _81CEF42 - wait - createtask sub_80E2A38, 10, 4, 1, 10, 0, 1017 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 4, 1, 10, 0, 1017 call Unknown_81D626D - jump _81CED71 + goto _81CED71 _81CEF42: - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 2 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 3 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 4 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 5 - pause 4 - sprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 6 - pause 4 - ret + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 2 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 3 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 4 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 5 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 6 + delay 4 + return Move_BLIZZARD: @ 81CEFBA - loadsprite 10141 - monbg 3 - createtask sub_80E3B4C, 2 - jumpvareq 7, 1, _81CF13F + loadspritegfx 10141 + monbg ANIM_BANK_DEF_PARTNER + createvisualtask sub_80E3B4C, 2 + jumpargeq 7, 1, _81CF13F fadetobg 9 _81CEFD0: waitbgfadeout - createtask sub_80E3A58, 5, -2304, 0, 1, -1 + createvisualtask sub_80E3A58, 5, -2304, 0, 1, -1 waitbgfadein - wait + waitforvisualfinish panse_1B SE_W059, 192, 63, 2, 0 call _81CF00A call _81CF00A - panse_19 SE_W059B, 63 - wait + playsewithpan SE_W059B, 63 + waitforvisualfinish call Unknown_81D5CBA - wait - clearmonbg 3 - pause 20 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + delay 20 restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein end _81CF00A: - sprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -10, 0, -10, 72, 1 - sprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, 0, 0, 0, 80, 0, 0, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -15, 0, -15, 72, 1 - sprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, -10, 0, -10, 80, 0, 0, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -5, 0, -5, 72, 1 - sprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, 10, 0, 10, 80, 0, 0, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -10, 0, -10, 72, 1 - sprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, -20, 0, -20, 80, 0, 0, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -20, 0, -20, 72, 1 - sprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, 15, 0, 15, 80, 0, 0, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -15, 0, -15, 72, 1 - sprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, -20, 0, -20, 80, 0, 0, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -25, 0, -25, 72, 1 - sprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, 20, 0, 20, 80, 0, 0, 1 - pause 3 - ret + createsprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -10, 0, -10, 72, 1 + createsprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, 0, 0, 0, 80, 0, 0, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -15, 0, -15, 72, 1 + createsprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, -10, 0, -10, 80, 0, 0, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -5, 0, -5, 72, 1 + createsprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, 10, 0, 10, 80, 0, 0, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -10, 0, -10, 72, 1 + createsprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, -20, 0, -20, 80, 0, 0, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -20, 0, -20, 72, 1 + createsprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, 15, 0, 15, 80, 0, 0, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -15, 0, -15, 72, 1 + createsprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, -20, 0, -20, 80, 0, 0, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CA8, 40, 0, -25, 0, -25, 72, 1 + createsprite gBattleAnimSpriteTemplate_83D9CC0, 40, 0, 20, 0, 20, 80, 0, 0, 1 + delay 3 + return _81CF13F: fadetobg 10 - jump _81CEFD0 + goto _81CEFD0 Move_POWDER_SNOW: @ 81CF146 - loadsprite 10141 - monbg 3 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 1, 0, 3, 0 - wait + loadspritegfx 10141 + monbg ANIM_BANK_DEF_PARTNER + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 1, 0, 3, 0 + waitforvisualfinish panse_1B SE_W016, 192, 63, 2, 0 call _81CF190 call _81CF190 - panse_19 SE_W016B, 63 - wait + playsewithpan SE_W016B, 63 + waitforvisualfinish waitsound call Unknown_81D5CBA - wait - clearmonbg 3 - pause 20 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 1, 3, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + delay 20 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 1, 3, 0, 0 end _81CF190: - sprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, 0, 0, 0, 56, 4, 4, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, -10, 0, -10, 56, 4, 4, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, 10, 0, 10, 56, -4, 3, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, -20, 0, -20, 56, -4, 5, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, 15, 0, 15, 56, 4, 4, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, -20, 0, -20, 56, 4, 4, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, 20, 0, 20, 56, 4, 4, 1 - pause 3 - ret + createsprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, 0, 0, 0, 56, 4, 4, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, -10, 0, -10, 56, 4, 4, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, 10, 0, 10, 56, -4, 3, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, -20, 0, -20, 56, -4, 5, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, 15, 0, 15, 56, 4, 4, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, -20, 0, -20, 56, 4, 4, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9CD8, 40, 0, 20, 0, 20, 56, 4, 4, 1 + delay 3 + return Move_HYDRO_PUMP: @ 81CF240 - loadsprite 10149 - loadsprite 10148 - monbg 3 + loadspritegfx 10149 + loadspritegfx 10148 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - createtask sub_80A7E7C, 5, 0, 0, 2, 40, 1 - pause 6 + createvisualtask AnimTask_ShakeMon, 5, 0, 0, 2, 40, 1 + delay 6 panse_1B SE_W056, 192, 63, 2, 0 - createtask sub_80D3630, 5, 100 + createvisualtask sub_80D3630, 5, 100 call _81CF2DF call _81CF2DF call _81CF2DF - createtask sub_80A7E7C, 5, 1, 3, 0, 37, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 3, 0, 37, 1 call _81CF320 call _81CF2DF call _81CF2DF @@ -5630,42 +5632,42 @@ Move_HYDRO_PUMP: @ 81CF240 call _81CF2DF call _81CF2DF call _81CF320 - pause 1 - pause 1 + delay 1 + delay 1 call _81CF320 - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81CF2DF: - sprite gBattleAnimSpriteTemplate_83D91F4, 3, 10, 10, 0, 16 - sprite gBattleAnimSpriteTemplate_83D91F4, 3, 10, 10, 0, -16 - pause 1 - sprite gBattleAnimSpriteTemplate_83D91F4, 3, 10, 10, 0, 16 - sprite gBattleAnimSpriteTemplate_83D91F4, 3, 10, 10, 0, -16 - pause 1 - ret + createsprite gBattleAnimSpriteTemplate_83D91F4, 3, 10, 10, 0, 16 + createsprite gBattleAnimSpriteTemplate_83D91F4, 3, 10, 10, 0, -16 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D91F4, 3, 10, 10, 0, 16 + createsprite gBattleAnimSpriteTemplate_83D91F4, 3, 10, 10, 0, -16 + delay 1 + return _81CF320: - sprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, 15, 1, 1 - sprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, -15, 1, 1 - ret + createsprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, 15, 1, 1 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, -15, 1, 1 + return Move_SIGNAL_BEAM: @ 81CF33F - loadsprite 10264 - loadsprite 10265 - loadsprite 10073 - createtask sub_80A7E7C, 5, 0, 0, 2, 25, 1 - pause 6 + loadspritegfx 10264 + loadspritegfx 10265 + loadspritegfx 10073 + createvisualtask AnimTask_ShakeMon, 5, 0, 0, 2, 25, 1 + delay 6 panse_1B SE_W062, 192, 63, 1, 0 - createtask sub_80D3630, 5, 100 + createvisualtask sub_80D3630, 5, 100 call _81CF406 call _81CF406 call _81CF406 call _81CF406 call _81CF406 call _81CF406 - createtask sub_80A7E7C, 5, 1, 3, 0, 25, 1 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 4, 8, 5, 31, 8, 961, 8 + createvisualtask AnimTask_ShakeMon, 5, 1, 3, 0, 25, 1 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 4, 8, 5, 31, 8, 961, 8 call _81CF406 call _81CF406 call _81CF406 @@ -5683,273 +5685,273 @@ Move_SIGNAL_BEAM: @ 81CF33F call _81CF406 call _81CF406 call _81CF406 - wait + waitforvisualfinish end _81CF406: - sprite gBattleAnimSpriteTemplate_83D9224, 131, 10, 10, 0, 16 - sprite gBattleAnimSpriteTemplate_83D923C, 131, 10, 10, 0, -16 - pause 1 - ret + createsprite gBattleAnimSpriteTemplate_83D9224, 131, 10, 10, 0, 16 + createsprite gBattleAnimSpriteTemplate_83D923C, 131, 10, 10, 0, -16 + delay 1 + return Move_ABSORB: @ 81CF427 - loadsprite 10147 - loadsprite 10031 - loadsprite 10135 - monbg 3 - monbgprio_2A 1 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 4, 13293 - wait - panse_19 SE_W071, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - pause 2 - createtask sub_80A7E7C, 5, 1, 0, 5, 5, 1 - wait - pause 3 + loadspritegfx 10147 + loadspritegfx 10031 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + monbgprio_2A ANIM_BANK_TARGET + setalpha 12, 8 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 4, 13293 + waitforvisualfinish + playsewithpan SE_W071, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 5, 1 + waitforvisualfinish + delay 3 call _81CF496 - wait - pause 15 + waitforvisualfinish + delay 15 call Unknown_81D5EF5 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 4, 0, 13293 - wait - clearmonbg 3 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 4, 0, 13293 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81CF496: - panse_19 SE_W152, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - pause 4 - panse_19 SE_W152, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - pause 4 - panse_19 SE_W152, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 - pause 4 - panse_19 SE_W152, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 - pause 4 - panse_19 SE_W152, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - pause 4 - panse_19 SE_W152, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - pause 4 - panse_19 SE_W152, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 - pause 4 - panse_19 SE_W152, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 - pause 4 - ret + playsewithpan SE_W152, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + delay 4 + playsewithpan SE_W152, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + delay 4 + playsewithpan SE_W152, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 + delay 4 + playsewithpan SE_W152, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 + delay 4 + playsewithpan SE_W152, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + delay 4 + playsewithpan SE_W152, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + delay 4 + playsewithpan SE_W152, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 + delay 4 + playsewithpan SE_W152, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 + delay 4 + return Move_MEGA_DRAIN: @ 81CF53F - loadsprite 10147 - loadsprite 10031 - loadsprite 10135 - monbg 3 - monbgprio_2A 1 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 8, 13293 - wait - panse_19 SE_W071, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 1 - pause 2 - createtask sub_80A7E7C, 5, 1, 0, 5, 5, 1 - wait - pause 3 + loadspritegfx 10147 + loadspritegfx 10031 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + monbgprio_2A ANIM_BANK_TARGET + setalpha 12, 8 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 8, 13293 + waitforvisualfinish + playsewithpan SE_W071, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 5, 1 + waitforvisualfinish + delay 3 call _81CF5AE - wait - pause 15 + waitforvisualfinish + delay 15 call Unknown_81D5EF5 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 8, 0, 13293 - wait - clearmonbg 3 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 8, 0, 13293 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81CF5AE: - panse_19 SE_W145C, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 - pause 4 - panse_19 SE_W145C, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 - pause 4 - panse_19 SE_W145C, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - pause 4 - panse_19 SE_W145C, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - pause 4 - panse_19 SE_W145C, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 - pause 4 - panse_19 SE_W145C, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 - pause 4 - panse_19 SE_W145C, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - pause 4 - panse_19 SE_W145C, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 - pause 4 - ret + playsewithpan SE_W145C, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 + delay 4 + playsewithpan SE_W145C, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 + delay 4 + playsewithpan SE_W145C, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + delay 4 + playsewithpan SE_W145C, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + delay 4 + playsewithpan SE_W145C, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 + delay 4 + playsewithpan SE_W145C, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 + delay 4 + playsewithpan SE_W145C, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + delay 4 + playsewithpan SE_W145C, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 + delay 4 + return Move_GIGA_DRAIN: @ 81CF6CF - loadsprite 10147 - loadsprite 10031 - loadsprite 10135 - monbg 3 - monbgprio_2A 1 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 12, 13293 - wait - panse_19 SE_W071, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 0 - pause 2 - createtask sub_80A7E7C, 5, 1, 0, 5, 5, 1 - wait - pause 3 + loadspritegfx 10147 + loadspritegfx 10031 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + monbgprio_2A ANIM_BANK_TARGET + setalpha 12, 8 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 12, 13293 + waitforvisualfinish + playsewithpan SE_W071, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 5, 1 + waitforvisualfinish + delay 3 call _81CF73E - wait - pause 15 + waitforvisualfinish + delay 15 call Unknown_81D5EF5 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 12, 0, 13293 - wait - clearmonbg 3 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 12, 0, 13293 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81CF73E: - panse_19 SE_W202, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -40, 35 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 - pause 4 - panse_19 SE_W202, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 28, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 40, 39 - pause 4 - panse_19 SE_W202, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -32, 26 - pause 4 - panse_19 SE_W202, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - pause 4 - panse_19 SE_W202, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - pause 4 - panse_19 SE_W202, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -40, 26 - pause 4 - panse_19 SE_W202, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 36, 33 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 - pause 4 - panse_19 SE_W202, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 - pause 4 - ret + playsewithpan SE_W202, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -40, 35 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 + delay 4 + playsewithpan SE_W202, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 28, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 40, 39 + delay 4 + playsewithpan SE_W202, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -32, 26 + delay 4 + playsewithpan SE_W202, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + delay 4 + playsewithpan SE_W202, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + delay 4 + playsewithpan SE_W202, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -40, 26 + delay 4 + playsewithpan SE_W202, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 36, 33 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 + delay 4 + playsewithpan SE_W202, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 + delay 4 + return Move_LEECH_LIFE: @ 81CF8D7 - loadsprite 10161 - loadsprite 10147 - pause 1 - loadsprite 10031 - loadsprite 10135 - monbg 3 - monbgprio_2A 1 - setalpha 12, 8 - pause 1 - sprite gBattleAnimSpriteTemplate_83DAB10, 2, -20, 15, 12 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - panse_19 SE_W071, 63 - pause 2 - createtask sub_80A7E7C, 5, 1, 0, 5, 5, 1 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 7, 0 - wait + loadspritegfx 10161 + loadspritegfx 10147 + delay 1 + loadspritegfx 10031 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + monbgprio_2A ANIM_BANK_TARGET + setalpha 12, 8 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DAB10, 2, -20, 15, 12 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + playsewithpan SE_W071, 63 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 5, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 7, 0 + waitforvisualfinish call _81CF496 - wait - pause 15 + waitforvisualfinish + delay 15 call Unknown_81D5EF5 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 7, 0, 0 - wait - clearmonbg 3 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 7, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_SYNTHESIS: @ 81CF959 - loadsprite 10031 - loadsprite 10049 - createtask sub_80E1F8C, 2, 2, 2, 2, 0, 16, 19451 - panse_19 SE_W025, 192 + loadspritegfx 10031 + loadspritegfx 10049 + createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 16, 19451 + playsewithpan SE_W025, 192 call Unknown_81D5ECA - wait + waitforvisualfinish call Unknown_81D5EF5 - wait + waitforvisualfinish end Move_TOXIC: @ 81CF983 - loadsprite 10151 - loadsprite 10150 + loadspritegfx 10151 + loadspritegfx 10150 call _81CF99D call _81CF99D - wait - pause 15 + waitforvisualfinish + delay 15 call Unknown_81D5F87 - wait + waitforvisualfinish end _81CF99D: - sprite gBattleAnimSpriteTemplate_83DA244, 130, -24, 16, 1, 1 - panse_19 SE_W092, 63 - pause 15 - sprite gBattleAnimSpriteTemplate_83DA244, 130, 8, 16, 1, 1 - panse_19 SE_W092, 63 - pause 15 - sprite gBattleAnimSpriteTemplate_83DA244, 130, -8, 16, 1, 1 - panse_19 SE_W092, 63 - pause 15 - sprite gBattleAnimSpriteTemplate_83DA244, 130, 24, 16, 1, 1 - panse_19 SE_W092, 63 - pause 15 - ret + createsprite gBattleAnimSpriteTemplate_83DA244, 130, -24, 16, 1, 1 + playsewithpan SE_W092, 63 + delay 15 + createsprite gBattleAnimSpriteTemplate_83DA244, 130, 8, 16, 1, 1 + playsewithpan SE_W092, 63 + delay 15 + createsprite gBattleAnimSpriteTemplate_83DA244, 130, -8, 16, 1, 1 + playsewithpan SE_W092, 63 + delay 15 + createsprite gBattleAnimSpriteTemplate_83DA244, 130, 24, 16, 1, 1 + playsewithpan SE_W092, 63 + delay 15 + return Move_SLUDGE: @ 81CF9F2 - loadsprite 10150 - panse_19 SE_W145C, 192 - sprite gBattleAnimSpriteTemplate_83DA2B8, 130, 20, 0, 40, 0 - wait - createtask sub_80A7E7C, 5, 1, 3, 0, 5, 1 - createtask sub_80E1F8C, 2, 4, 1, 2, 0, 12, 31774 + loadspritegfx 10150 + playsewithpan SE_W145C, 192 + createsprite gBattleAnimSpriteTemplate_83DA2B8, 130, 20, 0, 40, 0 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 5, 1, 3, 0, 5, 1 + createvisualtask sub_80E1F8C, 2, 4, 1, 2, 0, 12, 31774 call Unknown_81D5F87 - wait + waitforvisualfinish end Move_SLUDGE_BOMB: @ 81CFA34 - loadsprite 10150 + loadspritegfx 10150 call _81CFB44 call _81CFB44 call _81CFB44 @@ -5960,357 +5962,357 @@ Move_SLUDGE_BOMB: @ 81CFA34 call _81CFB44 call _81CFB44 call _81CFB44 - createtask sub_80A7FA0, 5, 1, 3, 0, 15, 1 - createtask sub_80E1F8C, 2, 4, 1, 2, 0, 12, 31774 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, 42, 27, 20 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, -27, 44, 20 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, 39, -28, 20 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, -42, -42, 20 - panse_19 SE_W091, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, 0, 40, 20 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, -8, -44, 20 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, -46, -28, 20 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, 46, 9, 20 - panse_19 SE_W091, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, 42, 0, 20 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, -43, -12, 20 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, 16, -46, 20 - sprite gBattleAnimSpriteTemplate_83DA2E8, 130, -16, 44, 20 - panse_19 SE_W091, 63 - pause 0 + createvisualtask AnimTask_ShakeMon2, 5, 1, 3, 0, 15, 1 + createvisualtask sub_80E1F8C, 2, 4, 1, 2, 0, 12, 31774 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, 42, 27, 20 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, -27, 44, 20 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, 39, -28, 20 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, -42, -42, 20 + playsewithpan SE_W091, 63 + delay 5 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, 0, 40, 20 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, -8, -44, 20 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, -46, -28, 20 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, 46, 9, 20 + playsewithpan SE_W091, 63 + delay 5 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, 42, 0, 20 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, -43, -12, 20 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, 16, -46, 20 + createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, -16, 44, 20 + playsewithpan SE_W091, 63 + delay 0 waitsound - wait + waitforvisualfinish call Unknown_81D5F87 - wait + waitforvisualfinish end _81CFB44: - panse_19 SE_W145C, 192 - sprite gBattleAnimSpriteTemplate_83DA2B8, 130, 20, 0, 40, 0 - pause 3 - ret + playsewithpan SE_W145C, 192 + createsprite gBattleAnimSpriteTemplate_83DA2B8, 130, 20, 0, 40, 0 + delay 3 + return Move_ACID: @ 81CFB5A - loadsprite 10150 - monbg 3 - sprite gBattleAnimSpriteTemplate_83DA2D0, 130, 20, 0, 40, 1, 0, 0 - panse_19 SE_W145C, 192 - pause 5 - sprite gBattleAnimSpriteTemplate_83DA2D0, 130, 20, 0, 40, 1, 24, 0 - panse_19 SE_W145C, 192 - pause 5 - sprite gBattleAnimSpriteTemplate_83DA2D0, 130, 20, 0, 40, 1, -24, 0 - panse_19 SE_W145C, 192 - pause 15 - createtask sub_80A7FA0, 5, 1, 2, 0, 10, 1 - createtask sub_80A7FA0, 5, 3, 2, 0, 10, 1 - createtask sub_80E1F8C, 2, 20, 2, 2, 0, 12, 31774 - sprite gBattleAnimSpriteTemplate_83DA31C, 130, 0, -22, 0, 15, 55 - panse_19 SE_W145, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83DA31C, 130, -26, -24, 0, 15, 55 - panse_19 SE_W145, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83DA31C, 130, 15, -27, 0, 15, 50 - panse_19 SE_W145, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83DA31C, 130, -15, -17, 0, 10, 45 - panse_19 SE_W145, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83DA31C, 130, 27, -22, 0, 15, 50 - panse_19 SE_W145, 63 - wait - clearmonbg 3 + loadspritegfx 10150 + monbg ANIM_BANK_DEF_PARTNER + createsprite gBattleAnimSpriteTemplate_83DA2D0, 130, 20, 0, 40, 1, 0, 0 + playsewithpan SE_W145C, 192 + delay 5 + createsprite gBattleAnimSpriteTemplate_83DA2D0, 130, 20, 0, 40, 1, 24, 0 + playsewithpan SE_W145C, 192 + delay 5 + createsprite gBattleAnimSpriteTemplate_83DA2D0, 130, 20, 0, 40, 1, -24, 0 + playsewithpan SE_W145C, 192 + delay 15 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 5, 3, 2, 0, 10, 1 + createvisualtask sub_80E1F8C, 2, 20, 2, 2, 0, 12, 31774 + createsprite gBattleAnimSpriteTemplate_83DA31C, 130, 0, -22, 0, 15, 55 + playsewithpan SE_W145, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DA31C, 130, -26, -24, 0, 15, 55 + playsewithpan SE_W145, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DA31C, 130, 15, -27, 0, 15, 50 + playsewithpan SE_W145, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DA31C, 130, -15, -17, 0, 10, 45 + playsewithpan SE_W145, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DA31C, 130, 27, -22, 0, 15, 50 + playsewithpan SE_W145, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end Move_BONEMERANG: @ 81CFC54 - loadsprite 10000 - loadsprite 10135 - monbg 3 + loadspritegfx 10000 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - panse_19 SE_W155, 192 - sprite gBattleAnimSpriteTemplate_83DB2C8, 2 - pause 20 - panse_19 SE_W030, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 1 - createtask sub_80A7E7C, 5, 1, 5, 0, 5, 1 - pause 17 - panse_19 SE_W233, 192 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, -4 - wait - clearmonbg 3 + playsewithpan SE_W155, 192 + createsprite gBattleAnimSpriteTemplate_83DB2C8, 2 + delay 20 + playsewithpan SE_W030, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 5, 0, 5, 1 + delay 17 + playsewithpan SE_W233, 192 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, -4 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_BONE_CLUB: @ 81CFCA8 - loadsprite 10000 - loadsprite 10135 - monbg 3 + loadspritegfx 10000 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - panse_19 SE_W155, 63 - sprite gBattleAnimSpriteTemplate_83DB2E0, 2, -42, -25, 0, 0, 15 - pause 12 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 1 - createtask sub_80A7E7C, 5, 1, 0, 5, 5, 1 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 7, 5, 1, 0, 10, 0, 0 - panse_19 SE_W233B, 63 - wait - clearmonbg 3 + playsewithpan SE_W155, 63 + createsprite gBattleAnimSpriteTemplate_83DB2E0, 2, -42, -25, 0, 0, 15 + delay 12 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 5, 1 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 7, 5, 1, 0, 10, 0, 0 + playsewithpan SE_W233B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_BONE_RUSH: @ 81CFD0A - loadsprite 10000 - loadsprite 10135 - monbg 3 + loadspritegfx 10000 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - panse_19 SE_W155, 63 - sprite gBattleAnimSpriteTemplate_83DB2E0, 2, -42, -25, 0, 0, 15 - pause 12 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7E7C, 5, 1, 0, 3, 5, 1 - panse_19 SE_W030, 63 - wait - clearmonbg 3 + playsewithpan SE_W155, 63 + createsprite gBattleAnimSpriteTemplate_83DB2E0, 2, -42, -25, 0, 0, 15 + delay 12 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 3, 5, 1 + playsewithpan SE_W030, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_SPIKES: @ 81CFD55 - loadsprite 10152 - monbg 3 - panse_19 SE_W026, 192 - panse_1D SE_W030, 63, 28 - sprite gBattleAnimSpriteTemplate_840227C, 130, 20, 0, 0, 24, 30 - pause 10 - panse_19 SE_W026, 192 - panse_1D SE_W030, 63, 28 - sprite gBattleAnimSpriteTemplate_840227C, 130, 20, 0, -24, 24, 30 - pause 10 - panse_1D SE_W030, 63, 28 - sprite gBattleAnimSpriteTemplate_840227C, 130, 20, 0, 24, 24, 30 - wait - clearmonbg 3 + loadspritegfx 10152 + monbg ANIM_BANK_DEF_PARTNER + playsewithpan SE_W026, 192 + waitplaysewithpan SE_W030, 63, 28 + createsprite gBattleAnimSpriteTemplate_840227C, 130, 20, 0, 0, 24, 30 + delay 10 + playsewithpan SE_W026, 192 + waitplaysewithpan SE_W030, 63, 28 + createsprite gBattleAnimSpriteTemplate_840227C, 130, 20, 0, -24, 24, 30 + delay 10 + waitplaysewithpan SE_W030, 63, 28 + createsprite gBattleAnimSpriteTemplate_840227C, 130, 20, 0, 24, 24, 30 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end Move_MEGAHORN: @ 81CFDAC - loadsprite 10153 - loadsprite 10135 - monbg 3 - panse_19 SE_W082, 192 - jumpunkcond _81CFE83 + loadspritegfx 10153 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + playsewithpan SE_W082, 192 + jumpifcontest _81CFE83 fadetobg 7 waitbgfadeout - createtask sub_80E3A58, 5, -2304, 768, 1, -1 + createvisualtask sub_80E3A58, 5, -2304, 768, 1, -1 _81CFDCF: waitbgfadein setalpha 12, 8 - createtask sub_80A7E7C, 5, 0, 2, 0, 15, 1 - wait - pause 10 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 6 - pause 3 - sprite gBattleAnimSpriteTemplate_83DAABC, 3, -42, 25, 0, 0, 6 - pause 4 - panse_19 SE_W011, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 0 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -16, 4, 1, 4 - wait - createtask sub_80A8154, 2, 1, -4, 1, 12, 1 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 7, 5, 1, 32767, 10, 0, 0 - pause 10 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 11 - pause 3 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 7 - wait - wait - clearmonbg 3 + createvisualtask AnimTask_ShakeMon, 5, 0, 2, 0, 15, 1 + waitforvisualfinish + delay 10 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 6 + delay 3 + createsprite gBattleAnimSpriteTemplate_83DAABC, 3, -42, 25, 0, 0, 6 + delay 4 + playsewithpan SE_W011, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -16, 4, 1, 4 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, -4, 1, 12, 1 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 7, 5, 1, 32767, 10, 0, 0 + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11 + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7 + waitforvisualfinish + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein end _81CFE83: fadetobg 8 waitbgfadeout - createtask sub_80E3A58, 5, 2304, 768, 0, -1 - jump _81CFDCF + createvisualtask sub_80E3A58, 5, 2304, 768, 0, -1 + goto _81CFDCF Move_GUST: @ 81CFE9A - loadsprite 10009 - loadsprite 10135 - monbg 3 + loadspritegfx 10009 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - panse_19 SE_W016, 63 - sprite gBattleAnimSpriteTemplate_83DA380, 2, 0, -16 - createtask sub_80DA09C, 5, 1, 70 - wait - createtask sub_80A7FA0, 5, 1, 1, 0, 7, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - panse_19 SE_W016B, 63 - wait - clearmonbg 3 + playsewithpan SE_W016, 63 + createsprite gBattleAnimSpriteTemplate_83DA380, 2, 0, -16 + createvisualtask sub_80DA09C, 5, 1, 70 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 5, 1, 1, 0, 7, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + playsewithpan SE_W016B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_WING_ATTACK: @ 81CFEEB - loadsprite 10009 - loadsprite 10135 - monbg 3 + loadspritegfx 10009 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - panse_1C SE_W017, 192, 20, 2 - createtask sub_80A8408, 2, 0, 12, 4, 1, 4 - createtask sub_80DA09C, 5, 1, 70 - sprite gBattleAnimSpriteTemplate_83DA3B4, 2, -25, 0, 0, 0, 20 - sprite gBattleAnimSpriteTemplate_83DA3B4, 2, 25, 0, 0, 0, 20 - pause 24 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 9 - pause 17 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 16, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -16, 0, 1, 1 - panse_1C SE_W003, 63, 5, 2 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 11 - wait - clearmonbg 3 + loopsewithpan SE_W017, 192, 20, 2 + createvisualtask AnimTask_TranslateMonElliptical, 2, ANIM_BANK_ATTACKER, 12, 4, 1, 4 + createvisualtask sub_80DA09C, 5, 1, 70 + createsprite gBattleAnimSpriteTemplate_83DA3B4, 2, -25, 0, 0, 0, 20 + createsprite gBattleAnimSpriteTemplate_83DA3B4, 2, 25, 0, 0, 0, 20 + delay 24 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 9 + delay 17 + createsprite gBasicHitSplatSpriteTemplate, 2, 16, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, -16, 0, 1, 1 + loopsewithpan SE_W003, 63, 5, 2 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_PECK: @ 81CFF88 - loadsprite 10135 - panse_19 SE_W030, 63 - createtask sub_80A8EFC, 2, 3, -768, 1, 2 - sprite gBattleAnimSpriteTemplate_83DB538, 131, -12, 0, 1, 3 - wait + loadspritegfx 10135 + playsewithpan SE_W030, 63 + createvisualtask sub_80A8EFC, 2, 3, -768, 1, 2 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, -12, 0, 1, 3 + waitforvisualfinish end Move_AEROBLAST: @ 81CFFAF - loadsprite 10154 - loadsprite 10135 - monbg 3 + loadspritegfx 10154 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER call Unknown_81D61FB monbgprio_28 1 setalpha 12, 8 call _81D000B - createtask sub_80A7E7C, 5, 1, 5, 0, 50, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 5, 0, 50, 1 call _81D000B call _81D000B call _81D000B call _81D000B - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 0 - panse_19 SE_W013, 63 - wait - clearmonbg 3 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + playsewithpan SE_W013, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff - pause 0 + delay 0 call Unknown_81D622B end _81D000B: - panse_19 SE_W026, 192 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -12, 0, -12, 15, 0, 0 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 26, 8, 12, 8, 15, 0, 0 - pause 3 - panse_19 SE_W026, 192 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -12, 0, -12, 15, 1, 0 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 26, 8, 12, 8, 15, 1, 0 - pause 3 - panse_19 SE_W026, 192 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -12, 0, -12, 15, 2, 0 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 26, 8, 12, 8, 15, 2, 0 - pause 3 - panse_19 SE_W026, 192 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -12, 0, -12, 15, 3, 0 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 26, 8, 12, 8, 15, 3, 0 - pause 3 - ret + playsewithpan SE_W026, 192 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -12, 0, -12, 15, 0, 0 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 26, 8, 12, 8, 15, 0, 0 + delay 3 + playsewithpan SE_W026, 192 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -12, 0, -12, 15, 1, 0 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 26, 8, 12, 8, 15, 1, 0 + delay 3 + playsewithpan SE_W026, 192 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -12, 0, -12, 15, 2, 0 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 26, 8, 12, 8, 15, 2, 0 + delay 3 + playsewithpan SE_W026, 192 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -12, 0, -12, 15, 3, 0 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 26, 8, 12, 8, 15, 3, 0 + delay 3 + return Move_WATER_GUN: @ 81D00CC - loadsprite 10155 - loadsprite 10148 - monbg 3 + loadspritegfx 10155 + loadspritegfx 10148 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83D9318, 2, 20, 0, 0, 0, 40, -25 - panse_19 SE_W145, 192 - wait - createtask sub_80A7FA0, 5, 1, 1, 0, 8, 1 - sprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, 0, 1, 2 - sprite gBattleAnimSpriteTemplate_83D9330, 2, 0, -15, 0, 15, 55 - panse_19 SE_W152, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83D9330, 2, 15, -20, 0, 15, 50 - panse_19 SE_W152, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83D9330, 2, -15, -10, 0, 10, 45 - panse_19 SE_W152, 63 - wait - clearmonbg 3 + createsprite gBattleAnimSpriteTemplate_83D9318, 2, 20, 0, 0, 0, 40, -25 + playsewithpan SE_W145, 192 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 5, 1, 1, 0, 8, 1 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, 0, 1, 2 + createsprite gBattleAnimSpriteTemplate_83D9330, 2, 0, -15, 0, 15, 55 + playsewithpan SE_W152, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D9330, 2, 15, -20, 0, 15, 50 + playsewithpan SE_W152, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D9330, 2, -15, -10, 0, 10, 45 + playsewithpan SE_W152, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_CRABHAMMER: @ 81D0159 - loadsprite 10141 - loadsprite 10148 - monbg 3 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, 0, 1, 0 - panse_19 SE_W233B, 63 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 32429, 10, 0, 0 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -24, 0, 0, 4 - wait - pause 8 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 4 - wait - panse_1C SE_W152, 63, 20, 3 - createtask sub_80A7E7C, 5, 1, 0, 4, 8, 1 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 10, 10, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 20, -20, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9348, 2, -15, 15, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 0, 0, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9348, 2, -10, -20, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 16, -8, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9348, 2, 5, 8, 20, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9348, 2, -16, 0, 20, 1 - wait - clearmonbg 3 + loadspritegfx 10141 + loadspritegfx 10148 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, 0, 1, 0 + playsewithpan SE_W233B, 63 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 32429, 10, 0, 0 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -24, 0, 0, 4 + waitforvisualfinish + delay 8 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 4 + waitforvisualfinish + loopsewithpan SE_W152, 63, 20, 3 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 4, 8, 1 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 10, 10, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 20, -20, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, -15, 15, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 0, 0, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, -10, -20, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 16, -8, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, 5, 8, 20, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9348, 2, -16, 0, 20, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_SURF: @ 81D0253 - createtask sub_80D38BC, 2, 0 - pause 24 + createvisualtask sub_80D38BC, 2, 0 + delay 24 panse_1B SE_W057, 192, 63, 2, 0 - wait + waitforvisualfinish end Move_FLAMETHROWER: @ 81D0267 - loadsprite 10029 - monbg 3 + loadspritegfx 10029 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - createtask sub_80A7E7C, 5, 0, 0, 2, 46, 1 - pause 6 - createtask sub_80D3630, 5, 100 + createvisualtask AnimTask_ShakeMon, 5, 0, 0, 2, 46, 1 + delay 6 + createvisualtask sub_80D3630, 5, 100 panse_1B SE_W053, 192, 63, 2, 0 call _81D02E1 call _81D02E1 call _81D02E1 - createtask sub_80A7E7C, 5, 1, 3, 0, 43, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 3, 0, 43, 1 call _81D02E1 call _81D02E1 call _81D02E1 @@ -6319,587 +6321,587 @@ Move_FLAMETHROWER: @ 81D0267 call _81D02E1 call _81D02E1 call _81D02E1 - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D02E1: - sprite gBattleAnimSpriteTemplate_83D9268, 3, 10, 10, 0, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9268, 3, 10, 10, 0, 16 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83D9268, 3, 10, 10, 0, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9268, 3, 10, 10, 0, 16 + delay 2 + return Move_SANDSTORM: @ 81D0304 - loadsprite 10261 - panse_19 SE_W201, 0 - createtask do_boulder_dust, 5, 0 - pause 16 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 10, 2304, 96, 0 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 90, 2048, 96, 0 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 50, 2560, 96, 0 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 20, 2304, 96, 0 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 70, 1984, 96, 0 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 0, 2816, 96, 0 - pause 10 - sprite gBattleAnimSpriteTemplate_83DACE8, 40, 60, 2560, 96, 0 + loadspritegfx 10261 + playsewithpan SE_W201, 0 + createvisualtask do_boulder_dust, 5, 0 + delay 16 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 10, 2304, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 90, 2048, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 50, 2560, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 20, 2304, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 70, 1984, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 0, 2816, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DACE8, 40, 60, 2560, 96, 0 end Move_WHIRLPOOL: @ 81D038C - loadsprite 10149 - monbg 3 + loadspritegfx 10149 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - pause 0 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 0, 7, 23968 - panse_19 SE_W250, 63 - createtask sub_80A7E7C, 5, 1, 0, 2, 50, 1 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 0, 7, 23968 + playsewithpan SE_W250, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 2, 50, 1 call _81D03E4 call _81D03E4 call _81D03E4 - pause 12 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 7, 0, 23968 - wait - clearmonbg 3 + delay 12 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 7, 0, 23968 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end _81D03E4: - sprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 28, 384, 50, 8, 50, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 32, 240, 40, 11, -46, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 33, 416, 40, 4, 42, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 31, 288, 45, 6, -42, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 28, 448, 45, 11, 46, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 33, 464, 50, 10, -50, 1 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 28, 384, 50, 8, 50, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 32, 240, 40, 11, -46, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 33, 416, 40, 4, 42, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 31, 288, 45, 6, -42, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 28, 448, 45, 11, 46, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACB8, 130, 0, 33, 464, 50, 10, -50, 1 + delay 2 + return Move_FLY: @ 81D046F - loadsprite 10156 - loadsprite 10135 - ifelse _81D0480, _81D0498 + loadspritegfx 10156 + loadspritegfx 10135 + choosetwoturnanim _81D0480, _81D0498 _81D047E: - wait + waitforvisualfinish end _81D0480: - panse_19 SE_W019, 192 - sprite gBattleAnimSpriteTemplate_83DA450, 2, 0, 0, 13, 336 - jump _81D047E + playsewithpan SE_W019, 192 + createsprite gBattleAnimSpriteTemplate_83DA450, 2, 0, 0, 13, 336 + goto _81D047E _81D0498: - monbg 3 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - panse_19 SE_W104, 192 - sprite gBattleAnimSpriteTemplate_83DA468, 2, 20 - pause 20 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 0 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - panse_19 SE_W013, 63 - wait - clearmonbg 3 + playsewithpan SE_W104, 192 + createsprite gBattleAnimSpriteTemplate_83DA468, 2, 20 + delay 20 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + playsewithpan SE_W013, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff - jump _81D047E + goto _81D047E Move_BOUNCE: @ 81D04D9 - loadsprite 10156 - loadsprite 10135 - ifelse _81D04E9, _81D04FD + loadspritegfx 10156 + loadspritegfx 10135 + choosetwoturnanim _81D04E9, _81D04FD _81D04E8: end _81D04E9: - panse_19 SE_W100, 192 - sprite gBattleAnimSpriteTemplate_83DA568, 2, 0, 0 - jump _81D04E8 + playsewithpan SE_W100, 192 + createsprite gBattleAnimSpriteTemplate_83DA568, 2, 0, 0 + goto _81D04E8 _81D04FD: - monbg 3 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83DA594, 131 - pause 7 - panse_19 SE_W025B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 0, 0, 1, 0 - createtask sub_80A7E7C, 5, 1, 0, 5, 11, 1 - wait - clearmonbg 3 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83DA594, 131 + delay 7 + playsewithpan SE_W025B, 63 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 11, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff - jump _81D04E8 + goto _81D04E8 Move_KARATE_CHOP: @ 81D053C - loadsprite 10143 - loadsprite 10135 - monbg 3 + loadspritegfx 10143 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - panse_19 SE_W104, 63 - sprite gBattleAnimSpriteTemplate_83D9F78, 2, -16, 0, 0, 0, 10, 1, 3, 0 - wait - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 2 - createtask sub_80A7E7C, 5, 1, 4, 0, 6, 1 - wait - clearmonbg 3 + playsewithpan SE_W104, 63 + createsprite gBattleAnimSpriteTemplate_83D9F78, 2, -16, 0, 0, 0, 10, 1, 3, 0 + waitforvisualfinish + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 4, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_CROSS_CHOP: @ 81D058E - loadsprite 10143 - loadsprite 10285 - monbg 3 + loadspritegfx 10143 + loadspritegfx 10285 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - panse_19 SE_W025, 63 - sprite gBattleAnimSpriteTemplate_83D9FD8, 2, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9FD8, 2, 0, 0, 1 - pause 40 - panse_19 SE_W013, 63 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 32767, 10, 0, 10 - sprite gBattleAnimSpriteTemplate_83DB520, 3, 0, 0, 1, 20 - createtask sub_80A7E7C, 5, 1, 7, 0, 9, 1 - wait - clearmonbg 3 + playsewithpan SE_W025, 63 + createsprite gBattleAnimSpriteTemplate_83D9FD8, 2, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9FD8, 2, 0, 0, 1 + delay 40 + playsewithpan SE_W013, 63 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 32767, 10, 0, 10 + createsprite gBattleAnimSpriteTemplate_83DB520, 3, 0, 0, 1, 20 + createvisualtask AnimTask_ShakeMon, 5, 1, 7, 0, 9, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_JUMP_KICK: @ 81D05F7 - loadsprite 10143 - loadsprite 10135 - monbg 3 + loadspritegfx 10143 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4 - pause 3 - sprite gBattleAnimSpriteTemplate_83D9F90, 2, -16, 8, 0, 0, 10, 1, 1, 1 - panse_19 SE_W026, 63 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 1, 0, 0, 1, 1 - createtask sub_80A7E7C, 5, 1, 5, 0, 7, 1 - panse_19 SE_W004, 63 - wait - clearmonbg 3 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D9F90, 2, -16, 8, 0, 0, 10, 1, 1, 1 + playsewithpan SE_W026, 63 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 5, 0, 7, 1 + playsewithpan SE_W004, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_HI_JUMP_KICK: @ 81D0654 - loadsprite 10143 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, -24, 0, 0, 8 - wait - pause 10 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 3 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9F90, 2, -16, 8, 0, 0, 10, 1, 1, 1 - panse_19 SE_W026, 63 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 1 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -28, 0, 0, 3 - pause 3 - createtask sub_80A8154, 2, 1, 3, 0, 11, 1 - wait - pause 5 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6 - wait - clearmonbg 3 + loadspritegfx 10143 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -24, 0, 0, 8 + waitforvisualfinish + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 3 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9F90, 2, -16, 8, 0, 0, 10, 1, 1, 1 + playsewithpan SE_W026, 63 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 + playsewithpan SE_W233B, 63 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -28, 0, 0, 3 + delay 3 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 3, 0, 11, 1 + waitforvisualfinish + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_DOUBLE_KICK: @ 81D06EA - loadsprite 10143 - loadsprite 10135 - monbg 3 + loadspritegfx 10143 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83D9FC0, 3, 1, 20, 1 - createtask sub_80A7E7C, 5, 1, 4, 0, 6, 1 - panse_19 SE_W233B, 63 - wait - wait - clearmonbg 3 + createsprite gBattleAnimSpriteTemplate_83D9FC0, 3, 1, 20, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 4, 0, 6, 1 + playsewithpan SE_W233B, 63 + waitforvisualfinish + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_TRIPLE_KICK: @ 81D071D - loadsprite 10143 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_19 SE_W233B, 63 - jumpif 0, _81D0742 - jumpif 1, _81D0778 - jump _81D07AE + loadspritegfx 10143 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W233B, 63 + jumpifmoveturn 0, _81D0742 + jumpifmoveturn 1, _81D0778 + goto _81D07AE _81D073D: - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D0742: - sprite gBattleAnimSpriteTemplate_83D9FA8, 132, -16, -8, 20, 1, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, -16, -16, 1, 2 - createtask sub_80A7E7C, 5, 1, 4, 0, 6, 1 - jump _81D073D + createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, -16, -8, 20, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, -16, -16, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 4, 0, 6, 1 + goto _81D073D _81D0778: - sprite gBattleAnimSpriteTemplate_83D9FA8, 132, 8, 8, 20, 1, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 8, 0, 1, 2 - createtask sub_80A7E7C, 5, 1, 4, 0, 6, 1 - jump _81D073D + createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, 8, 8, 20, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, 8, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 4, 0, 6, 1 + goto _81D073D _81D07AE: - sprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 20, 1, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, -8, 1, 1 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - jump _81D073D + createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 20, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, -8, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + goto _81D073D Move_DYNAMIC_PUNCH: @ 81D07E4 - loadsprite 10143 - loadsprite 10135 - loadsprite 10198 - loadsprite 10007 - pause 1 - monbg 3 - setalpha 12, 8 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83D9FA8, 131, 0, 0, 20, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 0, 0, 1, 0 - createtask sub_80A7E7C, 5, 1, 5, 0, 7, 1 - pause 1 + loadspritegfx 10143 + loadspritegfx 10135 + loadspritegfx 10198 + loadspritegfx 10007 + delay 1 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W233B, 63 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 131, 0, 0, 20, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, 1, 5, 0, 7, 1 + delay 1 waitsound - panse_19 SE_W120, 63 - createtask sub_80A7FA0, 5, 1, 5, 0, 28, 1 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 1, 1 - wait - clearmonbg 3 + playsewithpan SE_W120, 63 + createvisualtask AnimTask_ShakeMon2, 5, 1, 5, 0, 28, 1 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 1, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_COUNTER: @ 81D08AC - loadsprite 10135 - loadsprite 10143 - monbg 3 - setalpha 12, 8 - createtask sub_80A8500, 2, 0, 18, 6, 1, 4 - panse_19 SE_W233, 192 - wait - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -15, 18, 1, 0 - panse_19 SE_W233B, 63 - pause 1 - createtask sub_80A7E7C, 2, 1, 5, 0, 25, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 3, -15, 18, 8, 1, 0 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, -4, 1, 0 - panse_19 SE_W233B, 63 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 3, 0, -4, 8, 1, 0 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 15, 9, 1, 0 - panse_19 SE_W233B, 63 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 3, 15, 9, 8, 1, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5 - wait - clearmonbg 3 + loadspritegfx 10135 + loadspritegfx 10143 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 18, 6, 1, 4 + playsewithpan SE_W233, 192 + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + delay 4 + createsprite gBasicHitSplatSpriteTemplate, 2, -15, 18, 1, 0 + playsewithpan SE_W233B, 63 + delay 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 25, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 3, -15, 18, 8, 1, 0 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, -4, 1, 0 + playsewithpan SE_W233B, 63 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 3, 0, -4, 8, 1, 0 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, 15, 9, 1, 0 + playsewithpan SE_W233B, 63 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 3, 15, 9, 8, 1, 0 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_VITAL_THROW: @ 81D097B - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_19 SE_W233, 192 - createtask sub_80A8500, 2, 0, 12, 4, 1, 2 - wait - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 1 - panse_19 SE_W233B, 63 - pause 1 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -24, 0, 0, 4 - wait - pause 3 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 7 - pause 11 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 10 - wait - clearmonbg 3 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W233, 192 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 12, 4, 1, 2 + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + delay 2 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + playsewithpan SE_W233B, 63 + delay 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -24, 0, 0, 4 + waitforvisualfinish + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7 + delay 11 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 10 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_ROCK_SMASH: @ 81D09F6 - loadsprite 10058 - loadsprite 10135 - loadsprite 10143 - monbg 3 - setalpha 12, 8 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83D9FA8, 2, 0, 0, 8, 1, 0 - panse_19 SE_W233B, 63 - createtask sub_80A7E7C, 2, 1, 3, 0, 5, 1 - wait - panse_19 SE_W088, 63 - sprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 0, 20, 24, 14, 2 - sprite gBattleAnimSpriteTemplate_83DAC64, 2, 5, 0, -20, 24, 14, 1 - sprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 5, 20, -24, 14, 2 - sprite gBattleAnimSpriteTemplate_83DAC64, 2, -5, 0, -20, -24, 14, 2 - sprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, -5, 30, 18, 8, 2 - sprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 0, 30, -18, 8, 2 - sprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 0, -30, 18, 8, 2 - sprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 0, -30, -18, 8, 2 - createtask sub_80A7E7C, 2, 1, 0, 3, 7, 1 - wait - clearmonbg 3 + loadspritegfx 10058 + loadspritegfx 10135 + loadspritegfx 10143 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + delay 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, 0, 0, 8, 1, 0 + playsewithpan SE_W233B, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 5, 1 + waitforvisualfinish + playsewithpan SE_W088, 63 + createsprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 0, 20, 24, 14, 2 + createsprite gBattleAnimSpriteTemplate_83DAC64, 2, 5, 0, -20, 24, 14, 1 + createsprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 5, 20, -24, 14, 2 + createsprite gBattleAnimSpriteTemplate_83DAC64, 2, -5, 0, -20, -24, 14, 2 + createsprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, -5, 30, 18, 8, 2 + createsprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 0, 30, -18, 8, 2 + createsprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 0, -30, 18, 8, 2 + createsprite gBattleAnimSpriteTemplate_83DAC64, 2, 0, 0, -30, -18, 8, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 7, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_SUBMISSION: @ 81D0AEE - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_19 SE_W104, 192 - panse_1D SE_W004, 63, 10 - panse_1D SE_W104, 192, 20 - panse_1D SE_W004, 63, 30 - panse_1D SE_W104, 192, 40 - panse_1D SE_W004, 63, 50 - panse_1D SE_W104, 192, 60 - panse_1D SE_W004, 63, 70 - panse_1D SE_W104, 192, 80 - panse_1D SE_W004, 63, 90 - createtask sub_80A8408, 2, 0, -18, 6, 6, 4 - createtask sub_80A8408, 2, 1, 18, 6, 6, 4 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W104, 192 + waitplaysewithpan SE_W004, 63, 10 + waitplaysewithpan SE_W104, 192, 20 + waitplaysewithpan SE_W004, 63, 30 + waitplaysewithpan SE_W104, 192, 40 + waitplaysewithpan SE_W004, 63, 50 + waitplaysewithpan SE_W104, 192, 60 + waitplaysewithpan SE_W004, 63, 70 + waitplaysewithpan SE_W104, 192, 80 + waitplaysewithpan SE_W004, 63, 90 + createvisualtask AnimTask_TranslateMonElliptical, 2, ANIM_BANK_ATTACKER, -18, 6, 6, 4 + createvisualtask AnimTask_TranslateMonElliptical, 2, ANIM_BANK_TARGET, 18, 6, 6, 4 call _81D0B5D call _81D0B5D call _81D0B5D - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D0B5D: - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, -12, 1, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, -12, 8, 1, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 12, 0, 1, 1 - pause 8 - ret + createsprite gBasicHitSplatSpriteTemplate, 3, 0, -12, 1, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 3, -12, 8, 1, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 3, 12, 0, 1, 1 + delay 8 + return Move_SUNNY_DAY: @ 81D0B91 - loadsprite 10157 - monbg 2 + loadspritegfx 10157 + monbg ANIM_BANK_ATK_PARTNER setalpha 13, 3 - createtask sub_80E2A38, 10, 1921, 1, 0, 6, 32767 - wait + createvisualtask sub_80E2A38, 10, 1921, 1, 0, 6, 32767 + waitforvisualfinish panse_26 SE_W080, 192, 63, 1, 0 call _81D0BDD call _81D0BDD call _81D0BDD call _81D0BDD - wait - createtask sub_80E2A38, 10, 1921, 1, 6, 0, 32767 - wait - clearmonbg 2 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 1921, 1, 6, 0, 32767 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff end _81D0BDD: - sprite gBattleAnimSpriteTemplate_83D95B0, 40 - pause 6 - ret + createsprite gBattleAnimSpriteTemplate_83D95B0, 40 + delay 6 + return Move_COTTON_SPORE: @ 81D0BE7 - loadsprite 10158 - monbg 3 + loadspritegfx 10158 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 - panse_1C SE_W077, 63, 18, 10 + loopsewithpan SE_W077, 63, 18, 10 call _81D0C07 call _81D0C07 call _81D0C07 - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end _81D0C07: - sprite gBattleAnimSpriteTemplate_83D63F8, 2, 0, -20, 85, 80, 0 - pause 12 - sprite gBattleAnimSpriteTemplate_83D63F8, 2, 0, -10, 170, 80, 0 - pause 12 - sprite gBattleAnimSpriteTemplate_83D63F8, 2, 0, -15, 0, 80, 0 - pause 12 - ret + createsprite gBattleAnimSpriteTemplate_83D63F8, 2, 0, -20, 85, 80, 0 + delay 12 + createsprite gBattleAnimSpriteTemplate_83D63F8, 2, 0, -10, 170, 80, 0 + delay 12 + createsprite gBattleAnimSpriteTemplate_83D63F8, 2, 0, -15, 0, 80, 0 + delay 12 + return Move_SPORE: @ 81D0C41 - loadsprite 10158 - monbg 3 + loadspritegfx 10158 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - createtask sub_80CACEC, 2 - panse_1C SE_W077, 63, 16, 11 + createvisualtask sub_80CACEC, 2 + loopsewithpan SE_W077, 63, 16, 11 call _81D0C6C call _81D0C6C call _81D0C6C - wait - pause 1 - clearmonbg 3 + waitforvisualfinish + delay 1 + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D0C6C: - sprite gBattleAnimSpriteTemplate_83D63F8, 130, 0, -20, 85, 80, 1 - pause 12 - sprite gBattleAnimSpriteTemplate_83D63F8, 130, 0, -10, 170, 80, 1 - pause 12 - sprite gBattleAnimSpriteTemplate_83D63F8, 130, 0, -15, 0, 80, 1 - pause 12 - ret + createsprite gBattleAnimSpriteTemplate_83D63F8, 130, 0, -20, 85, 80, 1 + delay 12 + createsprite gBattleAnimSpriteTemplate_83D63F8, 130, 0, -10, 170, 80, 1 + delay 12 + createsprite gBattleAnimSpriteTemplate_83D63F8, 130, 0, -15, 0, 80, 1 + delay 12 + return Move_PETAL_DANCE: @ 81D0CA6 - loadsprite 10159 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_19 SE_W080, 192 - createtask sub_80A8500, 2, 0, 12, 6, 6, 3 - sprite gBattleAnimSpriteTemplate_83D6428, 2, 0, -24, 8, 140 - sprite gBattleAnimSpriteTemplate_83D6440, 2, 16, -24, 8, 100 - sprite gBattleAnimSpriteTemplate_83D6440, 2, -16, -24, 8, 100 - pause 15 - sprite gBattleAnimSpriteTemplate_83D6428, 2, 0, -24, 8, 140 - sprite gBattleAnimSpriteTemplate_83D6440, 2, 32, -24, 8, 100 - sprite gBattleAnimSpriteTemplate_83D6440, 2, -32, -24, 8, 100 - pause 15 - sprite gBattleAnimSpriteTemplate_83D6428, 2, 0, -24, 8, 140 - sprite gBattleAnimSpriteTemplate_83D6440, 2, 24, -24, 8, 100 - sprite gBattleAnimSpriteTemplate_83D6440, 2, -24, -24, 8, 100 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6440, 2, 16, -24, 0, 100 - sprite gBattleAnimSpriteTemplate_83D6440, 2, -16, -24, 0, 100 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6440, 2, 20, -16, 14, 80 - sprite gBattleAnimSpriteTemplate_83D6440, 2, -20, -14, 16, 80 - wait - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 5 - pause 3 - panse_19 SE_W025B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 0 - createtask sub_80A7E7C, 2, 1, 6, 0, 8, 1 - wait - pause 8 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 7 - wait - clearmonbg 3 + loadspritegfx 10159 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W080, 192 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 12, 6, 6, 3 + createsprite gBattleAnimSpriteTemplate_83D6428, 2, 0, -24, 8, 140 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, 16, -24, 8, 100 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, -16, -24, 8, 100 + delay 15 + createsprite gBattleAnimSpriteTemplate_83D6428, 2, 0, -24, 8, 140 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, 32, -24, 8, 100 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, -32, -24, 8, 100 + delay 15 + createsprite gBattleAnimSpriteTemplate_83D6428, 2, 0, -24, 8, 140 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, 24, -24, 8, 100 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, -24, -24, 8, 100 + delay 30 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, 16, -24, 0, 100 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, -16, -24, 0, 100 + delay 30 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, 20, -16, 14, 80 + createsprite gBattleAnimSpriteTemplate_83D6440, 2, -20, -14, 16, 80 + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 5 + delay 3 + playsewithpan SE_W025B, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 6, 0, 8, 1 + waitforvisualfinish + delay 8 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_RAZOR_LEAF: @ 81D0DDE - loadsprite 10063 - loadsprite 10160 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - pause 1 - panse_1C SE_W077, 192, 10, 5 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -2, 10 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -1, -1, 15 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -4, -4, 7 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, 3, -3, 11 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -1, -6, 8 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, 2, -1, 12 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -4, 13 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, 4, -5, 7 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, 2, -6, 11 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -5, 8 - pause 60 - panse_19 SE_W013B, 192 - sprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 22, 20, 1 - sprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 22, -20, 1 - pause 20 - panse_19 SE_W013, 63 - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - createtask sub_80A7FA0, 2, 3, 2, 0, 8, 1 - wait - clearmonbg 3 + loadspritegfx 10063 + loadspritegfx 10160 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + delay 1 + loopsewithpan SE_W077, 192, 10, 5 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -2, 10 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -1, -1, 15 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -4, -4, 7 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, 3, -3, 11 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -1, -6, 8 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, 2, -1, 12 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -4, 13 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, 4, -5, 7 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, 2, -6, 11 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -5, 8 + delay 60 + playsewithpan SE_W013B, 192 + createsprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 22, 20, 1 + createsprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 22, -20, 1 + delay 20 + playsewithpan SE_W013, 63 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 8, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_ANCIENT_POWER: @ 81D0EE5 - loadsprite 10058 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB428, 2, 4, 1, 10, 1 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, 20, 32, -48, 50, 2 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, 0, 32, -38, 25, 5 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, 32, 32, -28, 40, 3 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, -20, 32, -48, 50, 2 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, 20, 32, -28, 60, 1 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, 0, 32, -28, 30, 4 - createtask sub_80A7FA0, 2, 0, 1, 0, 30, 1 - panse_19 SE_W082, 192 - pause 10 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, 15, 32, -48, 25, 5 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, -10, 32, -42, 30, 4 - pause 10 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, 0, 32, -42, 25, 5 - sprite gBattleAnimSpriteTemplate_83DAD60, 2, -25, 32, -48, 30, 4 - wait - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 16, 0, 0, 4 - pause 3 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 1 - createtask sub_80A7FA0, 2, 1, 3, 0, 6, 1 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 7 - wait - clearmonbg 3 + loadspritegfx 10058 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + createsprite gBattleAnimSpriteTemplate_83DB428, 2, 4, 1, 10, 1 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 20, 32, -48, 50, 2 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 0, 32, -38, 25, 5 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 32, 32, -28, 40, 3 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, -20, 32, -48, 50, 2 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 20, 32, -28, 60, 1 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 0, 32, -28, 30, 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 30, 1 + playsewithpan SE_W082, 192 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 15, 32, -48, 25, 5 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, -10, 32, -42, 30, 4 + delay 10 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 0, 32, -42, 25, 5 + createsprite gBattleAnimSpriteTemplate_83DAD60, 2, -25, 32, -48, 30, 4 + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 16, 0, 0, 4 + delay 3 + playsewithpan SE_W120, 63 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_OCTAZOOKA: @ 81D100D - loadsprite 10030 - loadsprite 10017 - panse_19 SE_W025B, 192 - sprite gBattleAnimSpriteTemplate_83D6F08, 130, 20, 0, 0, 0, 20, 0 - wait - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D6F3C, 130, 8, 8, 1, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6F3C, 130, -8, -8, 1, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6F3C, 130, 8, -8, 1, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83D6F3C, 130, -8, 8, 1, 0 - wait + loadspritegfx 10030 + loadspritegfx 10017 + playsewithpan SE_W025B, 192 + createsprite gBattleAnimSpriteTemplate_83D6F08, 130, 20, 0, 0, 0, 20, 0 + waitforvisualfinish + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D6F3C, 130, 8, 8, 1, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6F3C, 130, -8, -8, 1, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6F3C, 130, 8, -8, 1, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D6F3C, 130, -8, 8, 1, 0 + waitforvisualfinish end Move_MIST: @ 81D1073 - loadsprite 10144 - monbg 2 + loadspritegfx 10144 + monbg ANIM_BANK_ATK_PARTNER setalpha 12, 8 - panse_1C SE_W054, 192, 20, 15 + loopsewithpan SE_W054, 192, 20, 15 call _81D10BE call _81D10BE call _81D10BE @@ -6907,209 +6909,209 @@ Move_MIST: @ 81D1073 call _81D10BE call _81D10BE call _81D10BE - pause 32 - createtask sub_80E1F8C, 2, 10, 8, 2, 0, 14, 32767 - wait - clearmonbg 2 + delay 32 + createvisualtask sub_80E1F8C, 2, 10, 8, 2, 0, 14, 32767 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff end _81D10BE: - sprite gBattleAnimSpriteTemplate_83D9D3C, 2, 0, -24, 48, 240, 0, 1 - pause 7 - ret + createsprite gBattleAnimSpriteTemplate_83D9D3C, 2, 0, -24, 48, 240, 0, 1 + delay 7 + return Move_HAZE: @ 81D10D4 - wait - panse_19 SE_W114, 0 - createtask sub_80D80E0, 5 - pause 30 - createtask sub_80E2A38, 10, 1920, 2, 0, 16, 0 - pause 90 - createtask sub_80E2A38, 10, 1920, 1, 16, 0, 0 + waitforvisualfinish + playsewithpan SE_W114, 0 + createvisualtask sub_80D80E0, 5 + delay 30 + createvisualtask sub_80E2A38, 10, 1920, 2, 0, 16, 0 + delay 90 + createvisualtask sub_80E2A38, 10, 1920, 1, 16, 0, 0 end Move_FIRE_PUNCH: @ 81D1107 - loadsprite 10143 - loadsprite 10029 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - createtask sub_80E2A38, 10, 4, 2, 0, 9, 31 - sprite gBattleAnimSpriteTemplate_83D9478, 129, 0 - sprite gBattleAnimSpriteTemplate_83D9478, 129, 64 - sprite gBattleAnimSpriteTemplate_83D9478, 129, 128 - sprite gBattleAnimSpriteTemplate_83D9478, 129, 196 - panse_19 SE_W172, 63 - wait - sprite gBattleAnimSpriteTemplate_83D9FA8, 131, 0, 0, 8, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 0, 0, 1, 1 - createtask sub_80A7E7C, 2, 1, 0, 3, 15, 1 + loadspritegfx 10143 + loadspritegfx 10029 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 9, 31 + createsprite gBattleAnimSpriteTemplate_83D9478, 129, 0 + createsprite gBattleAnimSpriteTemplate_83D9478, 129, 64 + createsprite gBattleAnimSpriteTemplate_83D9478, 129, 128 + createsprite gBattleAnimSpriteTemplate_83D9478, 129, 196 + playsewithpan SE_W172, 63 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D9FA8, 131, 0, 0, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 15, 1 call _81D11A2 - pause 4 - panse_19 SE_W007, 63 - wait - createtask sub_80E2A38, 10, 4, 0, 9, 0, 31 - wait - clearmonbg 3 + delay 4 + playsewithpan SE_W007, 63 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 4, 0, 9, 0, 31 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D11A2: - sprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, 192, 176, 40 - sprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, -192, 240, 40 - sprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, 192, -160, 40 - sprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, -192, -112, 40 - sprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, 160, 48, 40 - sprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, -224, -32, 40 - sprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, 112, -128, 40 - ret + createsprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, 192, 176, 40 + createsprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, -192, 240, 40 + createsprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, 192, -160, 40 + createsprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, -192, -112, 40 + createsprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, 160, 48, 40 + createsprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, -224, -32, 40 + createsprite gBattleAnimSpriteTemplate_83D9490, 129, 0, 10, 112, -128, 40 + return Move_LEER: @ 81D121A - loadsprite 10027 - monbg 0 + loadspritegfx 10027 + monbg ANIM_BANK_ATTACKER monbgprio_28 0 setalpha 8, 8 - panse_19 SE_W043, 192 - sprite gBattleAnimSpriteTemplate_84022B0, 2, 24, -12 - createtask sub_80A8D34, 5, -5, -5, 10, 0, 1 - wait - pause 10 - createtask sub_80A7FA0, 2, 1, 1, 0, 9, 1 - createtask sub_80A7FA0, 2, 3, 1, 0, 9, 1 - wait - clearmonbg 0 + playsewithpan SE_W043, 192 + createsprite gBattleAnimSpriteTemplate_84022B0, 2, 24, -12 + createvisualtask sub_80A8D34, 5, -5, -5, 10, 0, 1 + waitforvisualfinish + delay 10 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 1, 0, 9, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER blendoff - pause 1 - wait + delay 1 + waitforvisualfinish end Move_DREAM_EATER: @ 81D1271 - loadsprite 10147 - loadsprite 10031 - monbg 3 - monbgprio_2A 1 - panse_19 SE_W060, 192 + loadspritegfx 10147 + loadspritegfx 10031 + monbg ANIM_BANK_DEF_PARTNER + monbgprio_2A ANIM_BANK_TARGET + playsewithpan SE_W060, 192 call Unknown_81D61E7 setalpha 8, 8 - panse_19 SE_W107, 63 - createtask sub_80A7E7C, 2, 1, 5, 0, 15, 1 - createtask sub_80A8D34, 5, -6, -6, 15, 1, 1 - wait + playsewithpan SE_W107, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 15, 1 + createvisualtask sub_80A8D34, 5, -6, -6, 15, 1, 1 + waitforvisualfinish setalpha 12, 8 - createtask sub_80A7E7C, 2, 1, 0, 2, 25, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 2, 25, 1 call _81D12DB - wait - pause 15 + waitforvisualfinish + delay 15 call Unknown_81D5EF5 - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff - pause 1 + delay 1 call Unknown_81D61F3 end _81D12DB: - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -40, 35 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 - pause 4 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 28, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 40, 39 - pause 4 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -32, 26 - pause 4 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - pause 4 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - pause 4 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -40, 26 - pause 4 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 36, 33 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 - pause 4 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 - sprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 - pause 4 - ret + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -40, 35 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 + delay 4 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 28, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 40, 39 + delay 4 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -32, 26 + delay 4 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + delay 4 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, -15, -16, 36 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + delay 4 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 16, 33 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -40, 26 + delay 4 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -5, 15, 36, 33 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 10, -5, -8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, -10, 20, 20, 39 + delay 4 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 0, 5, 8, 26 + createsprite gBattleAnimSpriteTemplate_83D637C, 3, 5, -18, -20, 35 + delay 4 + return Move_POISON_GAS: @ 81D1474 - loadsprite 10172 - loadsprite 10150 - pause 0 - monbg 3 + loadspritegfx 10172 + loadspritegfx 10150 + delay 0 + monbg ANIM_BANK_DEF_PARTNER monbgprio_29 setalpha 12, 8 - pause 0 - panse_19 SE_W054, 192 - sprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 - pause 4 - panse_19 SE_W054, 192 - sprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 - pause 4 - panse_19 SE_W054, 192 - sprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 - pause 4 - panse_19 SE_W054, 192 - sprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 - pause 4 - panse_19 SE_W054, 192 - sprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 - pause 4 - panse_19 SE_W054, 192 - sprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 - pause 40 - panse_1C SE_W054, 63, 28, 6 - createtask sub_80E1F8C, 2, 4, 6, 2, 0, 12, 26650 - wait - blendoff - clearmonbg 3 - pause 0 + delay 0 + playsewithpan SE_W054, 192 + createsprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 + playsewithpan SE_W054, 192 + createsprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 + playsewithpan SE_W054, 192 + createsprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 + playsewithpan SE_W054, 192 + createsprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 + playsewithpan SE_W054, 192 + createsprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 + playsewithpan SE_W054, 192 + createsprite gBattleAnimSpriteTemplate_83D9DAC, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 40 + loopsewithpan SE_W054, 63, 28, 6 + createvisualtask sub_80E1F8C, 2, 4, 6, 2, 0, 12, 26650 + waitforvisualfinish + blendoff + clearmonbg ANIM_BANK_DEF_PARTNER + delay 0 end Move_BIND: @ 81D1552 - createtask sub_80A8B88, 5, 0, 6, 3328, 4, 0 - jump _81D1568 + createvisualtask AnimTask_SwayMon, 5, 0, 6, 3328, 4, 0 + goto _81D1568 _81D1568: - panse_19 SE_W020, 63 + playsewithpan SE_W020, 63 call _81D1578 call _81D1578 - wait + waitforvisualfinish end _81D1578: - createtask sub_80A8D34, 5, 10, -5, 5, 1, 0 - pause 16 - ret + createvisualtask sub_80A8D34, 5, 10, -5, 5, 1, 0 + delay 16 + return Move_WRAP: @ 81D158C - createtask sub_80A8500, 2, 0, 6, 4, 2, 4 - jump _81D1568 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 6, 4, 2, 4 + goto _81D1568 Move_PSYBEAM: @ 81D15A2 - loadsprite 10163 - panse_19 SE_W060, 192 + loadspritegfx 10163 + playsewithpan SE_W060, 192 call Unknown_81D61E7 - createtask_1F sub_812B058, 200, -64, 63, 3, 4, 0, 15 + createsoundtask sub_812B058, 200, -64, 63, 3, 4, 0, 15 call _81D1626 call _81D1626 - createtask sub_80A8B88, 5, 0, 6, 2048, 4, 1 - createtask sub_80E1F8C, 2, 4, 2, 2, 0, 12, 32351 + createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 4, 1 + createvisualtask sub_80E1F8C, 2, 4, 2, 2, 0, 12, 32351 call _81D1626 call _81D1626 call _81D1626 @@ -7119,294 +7121,294 @@ Move_PSYBEAM: @ 81D15A2 call _81D1626 call _81D1626 call _81D1626 - wait - pause 1 + waitforvisualfinish + delay 1 call Unknown_81D61F3 end _81D1626: - sprite gBattleAnimSpriteTemplate_83DA784, 130, 16, 0, 0, 0, 13, 0 - pause 4 - ret + createsprite gBattleAnimSpriteTemplate_83DA784, 130, 16, 0, 0, 0, 13, 0 + delay 4 + return Move_HYPNOSIS: @ 81D163C - loadsprite 10163 + loadspritegfx 10163 call Unknown_81D61E7 call _81D166F call _81D166F call _81D166F - createtask sub_80E1F8C, 2, 4, 2, 2, 0, 12, 32351 - wait - pause 1 + createvisualtask sub_80E1F8C, 2, 4, 2, 2, 0, 12, 32351 + waitforvisualfinish + delay 1 call Unknown_81D61F3 end _81D166F: - panse_19 SE_W048, 192 - sprite gBattleAnimSpriteTemplate_83DA784, 130, 0, 8, 0, 8, 27, 0 - sprite gBattleAnimSpriteTemplate_83DA784, 130, 16, -8, 0, -8, 27, 0 - pause 6 - ret + playsewithpan SE_W048, 192 + createsprite gBattleAnimSpriteTemplate_83DA784, 130, 0, 8, 0, 8, 27, 0 + createsprite gBattleAnimSpriteTemplate_83DA784, 130, 16, -8, 0, -8, 27, 0 + delay 6 + return Move_PSYWAVE: @ 81D169C - loadsprite 10165 - panse_19 SE_W060, 192 + loadspritegfx 10165 + playsewithpan SE_W060, 192 call Unknown_81D61E7 - createtask sub_80D3630, 5, 100 - createtask_1F sub_812B058, 203, -64, 63, 2, 9, 0, 10 + createvisualtask sub_80D3630, 5, 100 + createsoundtask sub_812B058, 203, -64, 63, 2, 9, 0, 10 call _81D16FF call _81D16FF - createtask sub_80E1F8C, 2, 4, 1, 4, 0, 12, 32351 + createvisualtask sub_80E1F8C, 2, 4, 1, 4, 0, 12, 32351 call _81D16FF call _81D16FF call _81D16FF call _81D16FF - wait - pause 1 + waitforvisualfinish + delay 1 call Unknown_81D61F3 end _81D16FF: - sprite gBattleAnimSpriteTemplate_83D9280, 131, 10, 10, 0, 16 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9280, 131, 10, 10, 0, 16 - pause 4 - ret + createsprite gBattleAnimSpriteTemplate_83D9280, 131, 10, 10, 0, 16 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9280, 131, 10, 10, 0, 16 + delay 4 + return Move_ZAP_CANNON: @ 81D1722 - loadsprite 10171 - loadsprite 10011 - panse_19 SE_W086, 192 - sprite gBattleAnimSpriteTemplate_83D9874, 131, 10, 0, 0, 0, 30, 0 - sprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 16, 30, 0, 40, 0 - sprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 16, 30, 64, 40, 1 - sprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 16, 30, 128, 40, 0 - sprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 16, 30, 192, 40, 2 - sprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 32, 40, 0 - sprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 96, 40, 1 - sprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 160, 40, 0 - sprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 224, 40, 2 - wait - createtask sub_80A7FA0, 2, 1, 4, 0, 5, 1 - pause 15 - panse_1D SE_W085B, 63, 19 + loadspritegfx 10171 + loadspritegfx 10011 + playsewithpan SE_W086, 192 + createsprite gBattleAnimSpriteTemplate_83D9874, 131, 10, 0, 0, 0, 30, 0 + createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 16, 30, 0, 40, 0 + createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 16, 30, 64, 40, 1 + createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 16, 30, 128, 40, 0 + createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 16, 30, 192, 40, 2 + createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 32, 40, 0 + createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 96, 40, 1 + createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 160, 40, 0 + createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 224, 40, 2 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 5, 1 + delay 15 + waitplaysewithpan SE_W085B, 63, 19 call Unknown_81D6100 - wait + waitforvisualfinish end Move_STEEL_WING: @ 81D1807 - loadsprite 10009 - loadsprite 10135 - panse_1C SE_W231, 192, 28, 2 - createtask sub_80E0A4C, 5, 0, 0, 0 - wait - monbg 3 + loadspritegfx 10009 + loadspritegfx 10135 + loopsewithpan SE_W231, 192, 28, 2 + createvisualtask sub_80E0A4C, 5, 0, 0, 0 + waitforvisualfinish + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - panse_1C SE_W017, 192, 20, 2 - createtask sub_80A8408, 2, 0, 12, 4, 1, 4 - createtask sub_80DA09C, 5, 1, 70 - sprite gBattleAnimSpriteTemplate_83DA3B4, 2, -25, 0, 0, 0, 20 - sprite gBattleAnimSpriteTemplate_83DA3B4, 2, 25, 0, 0, 0, 20 - pause 24 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 9 - pause 17 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 16, 0, 1, 1 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -16, 0, 1, 1 - panse_19 SE_W013, 63 - wait - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 11 - wait - clearmonbg 3 + loopsewithpan SE_W017, 192, 20, 2 + createvisualtask AnimTask_TranslateMonElliptical, 2, ANIM_BANK_ATTACKER, 12, 4, 1, 4 + createvisualtask sub_80DA09C, 5, 1, 70 + createsprite gBattleAnimSpriteTemplate_83DA3B4, 2, -25, 0, 0, 0, 20 + createsprite gBattleAnimSpriteTemplate_83DA3B4, 2, 25, 0, 0, 0, 20 + delay 24 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 9 + delay 17 + createsprite gBasicHitSplatSpriteTemplate, 2, 16, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, -16, 0, 1, 1 + playsewithpan SE_W013, 63 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_IRON_TAIL: @ 81D18B6 - loadsprite 10135 - panse_1C SE_W231, 192, 28, 2 - createtask sub_80E0A4C, 5, 1, 0, 0 - wait - monbg 1 + loadspritegfx 10135 + loopsewithpan SE_W231, 192, 28, 2 + createvisualtask sub_80E0A4C, 5, 1, 0, 0 + waitforvisualfinish + monbg ANIM_BANK_TARGET setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 0, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - panse_19 SE_W233B, 63 - wait - createtask sub_80E0E24, 5, 0, 1 - clearmonbg 1 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W233B, 63 + waitforvisualfinish + createvisualtask sub_80E0E24, 5, 0, 1 + clearmonbg ANIM_BANK_TARGET blendoff - wait + waitforvisualfinish end Move_POISON_TAIL: @ 81D1914 - loadsprite 10135 - loadsprite 10150 - panse_1C SE_W231, 192, 28, 2 - createtask sub_80E0A4C, 5, 1, 1, 23768 - wait - monbg 1 - setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 0, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - panse_19 SE_W233B, 63 - wait - createtask sub_80E0E24, 5, 0, 1 - clearmonbg 1 + loadspritegfx 10135 + loadspritegfx 10150 + loopsewithpan SE_W231, 192, 28, 2 + createvisualtask sub_80E0A4C, 5, 1, 1, 23768 + waitforvisualfinish + monbg ANIM_BANK_TARGET + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + playsewithpan SE_W233B, 63 + waitforvisualfinish + createvisualtask sub_80E0E24, 5, 0, 1 + clearmonbg ANIM_BANK_TARGET blendoff call Unknown_81D5F87 - wait + waitforvisualfinish end Move_METAL_CLAW: @ 81D197A - loadsprite 10039 - panse_1C SE_W231, 192, 28, 2 - createtask sub_80E0A4C, 5, 0, 0, 0 - wait - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 - pause 2 - panse_19 SE_W013, 63 - sprite gBattleAnimSpriteTemplate_83DB288, 130, -10, -10, 0 - sprite gBattleAnimSpriteTemplate_83DB288, 130, -10, 10, 0 - sprite gBattleAnimSpriteTemplate_83DB428, 2, -4, 1, 10, 3, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 - pause 2 - panse_19 SE_W013, 63 - sprite gBattleAnimSpriteTemplate_83DB288, 130, 10, -10, 1 - sprite gBattleAnimSpriteTemplate_83DB288, 130, 10, 10, 1 - sprite gBattleAnimSpriteTemplate_83DB428, 2, -4, 1, 10, 3, 1 - wait + loadspritegfx 10039 + loopsewithpan SE_W231, 192, 28, 2 + createvisualtask sub_80E0A4C, 5, 0, 0, 0 + waitforvisualfinish + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 2 + playsewithpan SE_W013, 63 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, -10, 0 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, 10, 0 + createsprite gBattleAnimSpriteTemplate_83DB428, 2, -4, 1, 10, 3, 1 + delay 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 2 + playsewithpan SE_W013, 63 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, 10, -10, 1 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, 10, 10, 1 + createsprite gBattleAnimSpriteTemplate_83DB428, 2, -4, 1, 10, 3, 1 + waitforvisualfinish end Move_NIGHT_SHADE: @ 81D1A0D - monbg 0 + monbg ANIM_BANK_ATTACKER monbgprio_28 0 - panse_19 SE_W060, 192 + playsewithpan SE_W060, 192 fadetobg 2 waitbgfadein - pause 10 - panse_19 SE_W043, 192 - createtask sub_80DDDF0, 5, 85 - pause 70 - createtask sub_80A7FA0, 2, 1, 2, 0, 12, 1 - createtask sub_80E1F8C, 2, 4, 0, 2, 0, 13, 0 - wait - clearmonbg 0 - pause 1 + delay 10 + playsewithpan SE_W043, 192 + createvisualtask sub_80DDDF0, 5, 85 + delay 70 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 12, 1 + createvisualtask sub_80E1F8C, 2, 4, 0, 2, 0, 13, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER + delay 1 restorebg waitbgfadein end Move_EGG_BOMB: @ 81D1A55 - loadsprite 10198 - loadsprite 10175 - panse_19 SE_W039, 192 - sprite gBattleAnimSpriteTemplate_83D7594, 130, 10, 0, 0, 0, 25, -32 - wait - createtask sub_80A7FA0, 2, 1, 4, 0, 16, 1 - sprite gBattleAnimSpriteTemplate_83D7828, 132, 6, 5, 1, 0 - panse_19 SE_W120, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83D7828, 132, -16, -15, 1, 0 - panse_19 SE_W120, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83D7828, 132, 16, -5, 1, 0 - panse_19 SE_W120, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83D7828, 132, -12, 18, 1, 0 - panse_19 SE_W120, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83D7828, 132, 0, 5, 1, 0 - panse_19 SE_W120, 63 - pause 3 - wait + loadspritegfx 10198 + loadspritegfx 10175 + playsewithpan SE_W039, 192 + createsprite gBattleAnimSpriteTemplate_83D7594, 130, 10, 0, 0, 0, 25, -32 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 16, 1 + createsprite gBattleAnimSpriteTemplate_83D7828, 132, 6, 5, 1, 0 + playsewithpan SE_W120, 63 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D7828, 132, -16, -15, 1, 0 + playsewithpan SE_W120, 63 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D7828, 132, 16, -5, 1, 0 + playsewithpan SE_W120, 63 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D7828, 132, -12, 18, 1, 0 + playsewithpan SE_W120, 63 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D7828, 132, 0, 5, 1, 0 + playsewithpan SE_W120, 63 + delay 3 + waitforvisualfinish end Move_SHADOW_BALL: @ 81D1AEF - loadsprite 10176 + loadspritegfx 10176 fadetobg 2 waitbgfadein - pause 15 - createtask_1F sub_812B058, 168, -64, 63, 5, 5, 0, 5 - sprite gBattleAnimSpriteTemplate_83DAEA8, 130, 16, 16, 8 - wait - panse_19 SE_W028, 63 - createtask sub_80A7FA0, 2, 1, 4, 0, 8, 1 - wait + delay 15 + createsoundtask sub_812B058, 168, -64, 63, 5, 5, 0, 5 + createsprite gBattleAnimSpriteTemplate_83DAEA8, 130, 16, 16, 8 + waitforvisualfinish + playsewithpan SE_W028, 63 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 8, 1 + waitforvisualfinish restorebg waitbgfadein end Move_LICK: @ 81D1B32 - loadsprite 10177 - pause 15 - panse_19 SE_W122, 63 - sprite gBattleAnimSpriteTemplate_83DAEDC, 130, 0, 0 - createtask sub_80A7FA0, 2, 1, 1, 0, 16, 1 - wait + loadspritegfx 10177 + delay 15 + playsewithpan SE_W122, 63 + createsprite gBattleAnimSpriteTemplate_83DAEDC, 130, 0, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 16, 1 + waitforvisualfinish end Move_FOCUS_ENERGY: @ 81D1B59 - loadsprite 10184 - panse_19 SE_W082, 192 + loadspritegfx 10184 + playsewithpan SE_W082, 192 call EndureFlamesAnim - pause 8 - createtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 32767 - createtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 + delay 8 + createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 32767 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 call EndureFlamesAnim - pause 8 + delay 8 call EndureFlamesAnim - wait + waitforvisualfinish end Move_BIDE: @ 81D1B99 - ifelse _81D1BA3, _81D1BCF + choosetwoturnanim _81D1BA3, _81D1BCF end _81D1BA3: - panse_1C SE_W036, 192, 9, 2 - createtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 - createtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 - wait + loopsewithpan SE_W036, 192, 9, 2 + createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 + waitforvisualfinish end _81D1BCF: - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_1C SE_W036, 192, 9, 2 - createtask sub_80E2A38, 10, 2, 2, 0, 11, 31 - createtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 - wait - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 4 - wait - createtask sub_80A8154, 2, 0, 2, 0, 12, 1 - createtask sub_80A7FA0, 2, 1, 3, 0, 16, 1 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 1, 18, -8, 1, 1 - pause 5 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 1, -18, 8, 1, 1 - pause 5 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 1, -8, -5, 1, 1 - wait - pause 5 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 7 - wait - createtask sub_80E2A38, 10, 2, 2, 11, 0, 31 - wait - clearmonbg 3 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + loopsewithpan SE_W036, 192, 9, 2 + createvisualtask sub_80E2A38, 10, 2, 2, 0, 11, 31 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 4 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 12, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 16, 1 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 1, 18, -8, 1, 1 + delay 5 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 1, -18, 8, 1, 1 + delay 5 + playsewithpan SE_W004, 63 + createsprite gBasicHitSplatSpriteTemplate, 1, -8, -5, 1, 1 + waitforvisualfinish + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 2, 2, 11, 0, 31 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_STRING_SHOT: @ 81D1C98 - loadsprite 10179 - loadsprite 10180 - monbg 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DB3C4, 5, 1, 2, 0, 9, 0 - wait - panse_1C SE_W081, 192, 9, 6 + loadspritegfx 10179 + loadspritegfx 10180 + monbg ANIM_BANK_DEF_PARTNER + delay 0 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 5, 1, 2, 0, 9, 0 + waitforvisualfinish + loopsewithpan SE_W081, 192, 9, 6 call _81D1D56 call _81D1D56 call _81D1D56 @@ -7425,33 +7427,33 @@ Move_STRING_SHOT: @ 81D1C98 call _81D1D56 call _81D1D56 call _81D1D56 - wait - panse_19 SE_W081B, 63 - sprite gBattleAnimSpriteTemplate_83DAB40, 130, 0, 10 - pause 4 - sprite gBattleAnimSpriteTemplate_83DAB40, 130, 0, -2 - pause 4 - sprite gBattleAnimSpriteTemplate_83DAB40, 130, 0, 22 - wait - clearmonbg 3 - pause 1 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 5, 1, 2, 9, 0, 0 + waitforvisualfinish + playsewithpan SE_W081B, 63 + createsprite gBattleAnimSpriteTemplate_83DAB40, 130, 0, 10 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DAB40, 130, 0, -2 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DAB40, 130, 0, 22 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + delay 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 5, 1, 2, 9, 0, 0 end _81D1D56: - sprite gBattleAnimSpriteTemplate_83DAB28, 130, 20, 0, 512, 20, 1 - pause 1 - ret + createsprite gBattleAnimSpriteTemplate_83DAB28, 130, 20, 0, 512, 20, 1 + delay 1 + return Move_SPIDER_WEB: @ 81D1D6A - loadsprite 10181 - loadsprite 10180 - monbg 3 - pause 0 - sprite gBattleAnimSpriteTemplate_83DB3C4, 5, 1, 2, 0, 9, 0 - wait + loadspritegfx 10181 + loadspritegfx 10180 + monbg ANIM_BANK_DEF_PARTNER + delay 0 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 5, 1, 2, 0, 9, 0 + waitforvisualfinish monbgprio_28 1 - panse_1C SE_W081, 192, 9, 6 + loopsewithpan SE_W081, 192, 9, 6 call _81D1DF7 call _81D1DF7 call _81D1DF7 @@ -7466,792 +7468,792 @@ Move_SPIDER_WEB: @ 81D1D6A call _81D1DF7 call _81D1DF7 call _81D1DF7 - wait - panse_19 SE_W081B, 63 - sprite gBattleAnimSpriteTemplate_83DAB74, 2 - wait - clearmonbg 3 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 5, 1, 2, 9, 0, 0 + waitforvisualfinish + playsewithpan SE_W081B, 63 + createsprite gBattleAnimSpriteTemplate_83DAB74, 2 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 5, 1, 2, 9, 0, 0 end _81D1DF7: - sprite gBattleAnimSpriteTemplate_83DAB28, 130, 20, 0, 512, 20, 0 - pause 1 - ret + createsprite gBattleAnimSpriteTemplate_83DAB28, 130, 20, 0, 512, 20, 0 + delay 1 + return Move_RAZOR_WIND: @ 81D1E0B - ifelse _81D1E16, _81D1E66 + choosetwoturnanim _81D1E16, _81D1E66 _81D1E14: - wait + waitforvisualfinish end _81D1E16: - loadsprite 10009 - panse_19 SE_W016, 192 - sprite gBattleAnimSpriteTemplate_83D765C, 2, 32, 0, 16, 16, 0, 7, 40 - sprite gBattleAnimSpriteTemplate_83D765C, 2, 32, 0, 16, 16, 85, 7, 40 - sprite gBattleAnimSpriteTemplate_83D765C, 2, 32, 0, 16, 16, 170, 7, 40 - wait - panse_19 SE_W016B, 192 - jump _81D1E14 + loadspritegfx 10009 + playsewithpan SE_W016, 192 + createsprite gBattleAnimSpriteTemplate_83D765C, 2, 32, 0, 16, 16, 0, 7, 40 + createsprite gBattleAnimSpriteTemplate_83D765C, 2, 32, 0, 16, 16, 85, 7, 40 + createsprite gBattleAnimSpriteTemplate_83D765C, 2, 32, 0, 16, 16, 170, 7, 40 + waitforvisualfinish + playsewithpan SE_W016B, 192 + goto _81D1E14 _81D1E66: - loadsprite 10154 - loadsprite 10135 - monbg 1 - setalpha 12, 8 - panse_19 SE_W013B, 192 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, 8, 0, 0, 22, 2, 1 - pause 2 - panse_19 SE_W013B, 192 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -8, 16, 14, 22, 1, 1 - pause 2 - panse_19 SE_W013B, 192 - sprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, 12, -16, -14, 22, 0, 1 - pause 17 - panse_19 SE_W013, 63 - createtask sub_80A7FA0, 2, 1, 2, 0, 10, 1 - createtask sub_80A7FA0, 2, 3, 2, 0, 10, 1 - wait - clearmonbg 1 - blendoff - jump _81D1E14 + loadspritegfx 10154 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + playsewithpan SE_W013B, 192 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, 8, 0, 0, 22, 2, 1 + delay 2 + playsewithpan SE_W013B, 192 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, -8, 16, 14, 22, 1, 1 + delay 2 + playsewithpan SE_W013B, 192 + createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, 12, -16, -14, 22, 0, 1 + delay 17 + playsewithpan SE_W013, 63 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 10, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET + blendoff + goto _81D1E14 Move_DISABLE: @ 81D1EF1 - loadsprite 10071 - monbg 1 + loadspritegfx 10071 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 8, 8 - panse_19 SE_W197, 192 - sprite gBattleAnimSpriteTemplate_83930F4, 13, 24, -16 - wait - createtask sub_80D03C4, 5 - panse_1C SE_W020, 63, 15, 4 - wait - pause 1 - clearmonbg 1 + playsewithpan SE_W197, 192 + createsprite gBattleAnimSpriteTemplate_83930F4, 13, 24, -16 + waitforvisualfinish + createvisualtask sub_80D03C4, 5 + loopsewithpan SE_W020, 63, 15, 4 + waitforvisualfinish + delay 1 + clearmonbg ANIM_BANK_TARGET blendoff end Move_RECOVER: @ 81D1F1F - loadsprite 10147 - loadsprite 10031 - monbg 2 + loadspritegfx 10147 + loadspritegfx 10031 + monbg ANIM_BANK_ATK_PARTNER setalpha 12, 8 - panse_1C SE_W025, 192, 13, 3 - createtask sub_80E1F8C, 2, 2, 0, 6, 0, 11, 12287 + loopsewithpan SE_W025, 192, 13, 3 + createvisualtask sub_80E1F8C, 2, 2, 0, 6, 0, 11, 12287 call _81D1F5F call _81D1F5F call _81D1F5F - wait - clearmonbg 2 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff - pause 1 + delay 1 call Unknown_81D5EF5 - wait + waitforvisualfinish end _81D1F5F: - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, -10, 13 - pause 3 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, -35, -10, 13 - pause 3 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 15, -40, 13 - pause 3 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, -10, -32, 13 - pause 3 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 25, -20, 13 - pause 3 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, -20, 13 - pause 3 - sprite gBattleAnimSpriteTemplate_83D62EC, 2, 5, -40, 13 - pause 3 - ret + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 40, -10, 13 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, -35, -10, 13 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 15, -40, 13 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, -10, -32, 13 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 25, -20, 13 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, -40, -20, 13 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D62EC, 2, 5, -40, 13 + delay 3 + return Move_MIMIC: @ 81D1FC9 - loadsprite 10147 + loadspritegfx 10147 monbg_22 3 setalpha 11, 5 panse_1B SE_W107, 63, 192, 253, 0 - createtask sub_80CB340, 5, 128, 24 - pause 15 - sprite gBattleAnimSpriteTemplate_83D65E8, 130, -12, 24 - pause 10 - setvar 7, -1 - wait - panse_19 SE_W036, 192 - createtask sub_80E1F8C, 2, 2, 0, 2, 0, 11, 32767 - wait + createvisualtask sub_80CB340, 5, 128, 24 + delay 15 + createsprite gBattleAnimSpriteTemplate_83D65E8, 130, -12, 24 + delay 10 + setarg 7, -1 + waitforvisualfinish + playsewithpan SE_W036, 192 + createvisualtask sub_80E1F8C, 2, 2, 0, 2, 0, 11, 32767 + waitforvisualfinish clearmonbg_23 3 blendoff end Move_CONSTRICT: @ 81D2013 - loadsprite 10186 - panse_1C SE_W010, 63, 6, 4 - sprite gBattleAnimSpriteTemplate_83D65A0, 132, 0, 16, 0, 2 - pause 7 - sprite gBattleAnimSpriteTemplate_83D65A0, 131, 0, 0, 0, 2 - sprite gBattleAnimSpriteTemplate_83D65A0, 130, 0, 8, 1, 2 - pause 7 - sprite gBattleAnimSpriteTemplate_83D65A0, 131, 0, -8, 1, 2 - pause 8 - createtask sub_80A7FA0, 2, 1, 3, 0, 6, 1 - pause 20 - panse_19 SE_W020, 63 - setvar 7, -1 - wait + loadspritegfx 10186 + loopsewithpan SE_W010, 63, 6, 4 + createsprite gBattleAnimSpriteTemplate_83D65A0, 132, 0, 16, 0, 2 + delay 7 + createsprite gBattleAnimSpriteTemplate_83D65A0, 131, 0, 0, 0, 2 + createsprite gBattleAnimSpriteTemplate_83D65A0, 130, 0, 8, 1, 2 + delay 7 + createsprite gBattleAnimSpriteTemplate_83D65A0, 131, 0, -8, 1, 2 + delay 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + delay 20 + playsewithpan SE_W020, 63 + setarg 7, -1 + waitforvisualfinish end Move_CURSE: @ 81D207B - ifelse _81D2084, _81D2101 + choosetwoturnanim _81D2084, _81D2101 _81D2084: - loadsprite 10199 - loadsprite 10200 - monbg 2 - createtask sub_80DECB0, 5 - wait - pause 20 - sprite gBattleAnimSpriteTemplate_83DAF20, 2 - pause 60 + loadspritegfx 10199 + loadspritegfx 10200 + monbg ANIM_BANK_ATK_PARTNER + createvisualtask sub_80DECB0, 5 + waitforvisualfinish + delay 20 + createsprite gBattleAnimSpriteTemplate_83DAF20, 2 + delay 60 call _81D20EB - pause 41 + delay 41 call _81D20EB - pause 41 + delay 41 call _81D20EB - wait - clearmonbg 2 - pause 1 - monbg 3 - panse_19 SE_W171, 63 - sprite gBattleAnimSpriteTemplate_83DAF38, 130 - createtask sub_80A7FA0, 2, 1, 2, 0, 14, 1 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 16, 0, 0 - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER + delay 1 + monbg ANIM_BANK_DEF_PARTNER + playsewithpan SE_W171, 63 + createsprite gBattleAnimSpriteTemplate_83DAF38, 130 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 14, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 16, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end _81D20EB: - createtask sub_80A7FA0, 2, 0, 4, 0, 10, 0 - panse_19 SE_W020, 192 - ret + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 4, 0, 10, 0 + playsewithpan SE_W020, 192 + return _81D2101: - createtask sub_80A8B88, 5, 0, 10, 1536, 3, 0 - wait - pause 10 + createvisualtask AnimTask_SwayMon, 5, 0, 10, 1536, 3, 0 + waitforvisualfinish + delay 10 call _81D211C - wait + waitforvisualfinish end _81D211C: - panse_19 SE_W082, 192 - createtask sub_80E2F2C, 5 - createtask sub_80E1F8C, 5, 2, 4, 2, 0, 10, 31 - ret + playsewithpan SE_W082, 192 + createvisualtask sub_80E2F2C, 5 + createvisualtask sub_80E1F8C, 5, 2, 4, 2, 0, 10, 31 + return Move_SOFT_BOILED: @ 81D213B - loadsprite 10202 - loadsprite 10203 - loadsprite 10031 - monbg 2 - panse_19 SE_W039, 192 - createtask sub_80A7E7C, 2, 0, 0, 2, 6, 1 - sprite gBattleAnimSpriteTemplate_83D78BC, 4, 0, 16, 0 - sprite gBattleAnimSpriteTemplate_83D78BC, 4, 0, 16, 1 - pause 120 - pause 7 - panse_19 SE_W030, 192 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 3, 10, 0, 31500 - sprite gBattleAnimSpriteTemplate_83D7928, 3, 31, 16, 0, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83D7928, 3, 31, 16, 0, 1 - pause 60 - setvar 7, -1 - wait - clearmonbg 2 + loadspritegfx 10202 + loadspritegfx 10203 + loadspritegfx 10031 + monbg ANIM_BANK_ATK_PARTNER + playsewithpan SE_W039, 192 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_ATTACKER, 0, 2, 6, 1 + createsprite gBattleAnimSpriteTemplate_83D78BC, 4, 0, 16, 0 + createsprite gBattleAnimSpriteTemplate_83D78BC, 4, 0, 16, 1 + delay 120 + delay 7 + playsewithpan SE_W030, 192 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 3, 10, 0, 31500 + createsprite gBattleAnimSpriteTemplate_83D7928, 3, 31, 16, 0, 1 + delay 8 + createsprite gBattleAnimSpriteTemplate_83D7928, 3, 31, 16, 0, 1 + delay 60 + setarg 7, -1 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER call Unknown_81D5F3E end Move_HEAL_BELL: @ 81D21BD - loadsprite 10205 - loadsprite 10206 - loadsprite 10203 - loadsprite 10049 - createtask sub_80E2A38, 10, 10, 0, 0, 10, 32767 - wait - createtask sub_80D1ADC, 5 - sprite gBattleAnimSpriteTemplate_83D7A44, 2, 0, -24, 0, 1 - pause 12 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 48, -18, 35, 0, 0 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -48, 20, 30, 1, 1 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -38, -29, 30, 2, 2 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 36, 18, 30, 3, 3 + loadspritegfx 10205 + loadspritegfx 10206 + loadspritegfx 10203 + loadspritegfx 10049 + createvisualtask sub_80E2A38, 10, 10, 0, 0, 10, 32767 + waitforvisualfinish + createvisualtask sub_80D1ADC, 5 + createsprite gBattleAnimSpriteTemplate_83D7A44, 2, 0, -24, 0, 1 + delay 12 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 48, -18, 35, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -48, 20, 30, 1, 1 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -38, -29, 30, 2, 2 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 36, 18, 30, 3, 3 call _81D2372 - pause 33 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 19, 26, 35, 4, 4 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -34, -12, 30, 5, 5 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 41, -20, 34, 6, 6 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -15, 26, 32, 7, 0 + delay 33 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 19, 26, 35, 4, 4 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -34, -12, 30, 5, 5 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 41, -20, 34, 6, 6 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -15, 26, 32, 7, 0 call _81D2372 - pause 33 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -48, 18, 31, 0, 2 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 48, -20, 30, 2, 5 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 38, 29, 33, 4, 3 - sprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -36, -18, 30, 6, 1 + delay 33 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -48, 18, 31, 0, 2 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 48, -20, 30, 2, 5 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, 38, 29, 33, 4, 3 + createsprite gBattleAnimSpriteTemplate_83D7A68, 40, 0, -24, -36, -18, 30, 6, 1 call _81D2372 - wait - createtask sub_80D1B80, 5 - wait - panse_19 SE_W234, 192 - sprite gBattleAnimSpriteTemplate_83D6CA0, 16, -15, 0, 0, 0, 32, 60, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83D6CA0, 16, 12, -5, 0, 0, 32, 60, 1 - wait - panse_19 SE_REAPOKE, 192 - createtask sub_80E2A7C, 10, 4, 3, 10, 0, 31500 - createtask sub_80E2A38, 10, 10, 3, 10, 0, 32767 - sprite gBattleAnimSpriteTemplate_83D7974, 16, 0, 0, 0, 1 + waitforvisualfinish + createvisualtask sub_80D1B80, 5 + waitforvisualfinish + playsewithpan SE_W234, 192 + createsprite gBattleAnimSpriteTemplate_83D6CA0, 16, -15, 0, 0, 0, 32, 60, 1 + delay 8 + createsprite gBattleAnimSpriteTemplate_83D6CA0, 16, 12, -5, 0, 0, 32, 60, 1 + waitforvisualfinish + playsewithpan SE_REAPOKE, 192 + createvisualtask sub_80E2A7C, 10, 4, 3, 10, 0, 31500 + createvisualtask sub_80E2A38, 10, 10, 3, 10, 0, 32767 + createsprite gBattleAnimSpriteTemplate_83D7974, 16, 0, 0, 0, 1 end _81D2372: - createtask sub_80E2A7C, 10, 4, 3, 8, 0, 31500 - createtask sub_80E2A38, 10, 10, 3, 2, 10, 32767 - sprite gBattleAnimSpriteTemplate_83D7928, 40, 0, -24, 0, 1 - panse_19 SE_W215, 192 - ret + createvisualtask sub_80E2A7C, 10, 4, 3, 8, 0, 31500 + createvisualtask sub_80E2A38, 10, 10, 3, 2, 10, 32767 + createsprite gBattleAnimSpriteTemplate_83D7928, 40, 0, -24, 0, 1 + playsewithpan SE_W215, 192 + return Move_FAKE_OUT: @ 81D23A8 - panse_19 SE_W260, 0 - createtask sub_80D1CD0, 5 - wait - panse_19 SE_W166, 63 - createtask sub_80A7FA0, 2, 1, 4, 0, 5, 1 - createtask sub_80D1E38, 3 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 32767 + playsewithpan SE_W260, 0 + createvisualtask sub_80D1CD0, 5 + waitforvisualfinish + playsewithpan SE_W166, 63 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 5, 1 + createvisualtask sub_80D1E38, 3 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 32767 end Move_SCARY_FACE: @ 81D23E3 - loadsprite 10218 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 27, 3, 0, 16, 0 - panse_19 SE_W060, 192 - wait - pause 10 - panse_19 SE_W043, 192 - createtask sub_80D23B4, 5 - pause 13 - sprite gBattleAnimSpriteTemplate_83D7B94, 0, -16, -8 - sprite gBattleAnimSpriteTemplate_83D7B94, 0, 16, -8 - wait - createtask sub_80D60B4, 3, 20, 1, 0 - panse_19 SE_W081B, 63 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 27, 3, 16, 0, 0 - wait + loadspritegfx 10218 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 27, 3, 0, 16, 0 + playsewithpan SE_W060, 192 + waitforvisualfinish + delay 10 + playsewithpan SE_W043, 192 + createvisualtask sub_80D23B4, 5 + delay 13 + createsprite gBattleAnimSpriteTemplate_83D7B94, 0, -16, -8 + createsprite gBattleAnimSpriteTemplate_83D7B94, 0, 16, -8 + waitforvisualfinish + createvisualtask sub_80D60B4, 3, 20, 1, 0 + playsewithpan SE_W081B, 63 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 27, 3, 16, 0, 0 + waitforvisualfinish end Move_SWEET_KISS: @ 81D2446 - loadsprite 10216 - loadsprite 10220 - sprite gBattleAnimSpriteTemplate_83D7BB8, 130, 16, -48 - panse_19 SE_W215, 63 - pause 23 - panse_19 SE_W215, 63 - pause 23 - panse_19 SE_W215, 63 - wait - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, 160, -30 - panse_19 SE_W213, 63 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, -256, -42 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, 128, -14 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, 416, -38 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, -128, -22 - sprite gBattleAnimSpriteTemplate_83D7AC8, 131, -384, -31 + loadspritegfx 10216 + loadspritegfx 10220 + createsprite gBattleAnimSpriteTemplate_83D7BB8, 130, 16, -48 + playsewithpan SE_W215, 63 + delay 23 + playsewithpan SE_W215, 63 + delay 23 + playsewithpan SE_W215, 63 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, 160, -30 + playsewithpan SE_W213, 63 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, -256, -42 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, 128, -14 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, 416, -38 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, -128, -22 + createsprite gBattleAnimSpriteTemplate_83D7AC8, 131, -384, -31 end Move_LOVELY_KISS: @ 81D24AF - loadsprite 10219 - loadsprite 10221 - sprite gBattleAnimSpriteTemplate_83D7C00, 130, 0, -24 - panse_19 SE_W060B, 63 - wait - panse_19 SE_W213, 63 - sprite gBattleAnimSpriteTemplate_83D7BD0, 131, -256, -42 - sprite gBattleAnimSpriteTemplate_83D7BD0, 131, 128, -14 - sprite gBattleAnimSpriteTemplate_83D7BD0, 131, 416, -38 - sprite gBattleAnimSpriteTemplate_83D7BD0, 131, -128, -22 + loadspritegfx 10219 + loadspritegfx 10221 + createsprite gBattleAnimSpriteTemplate_83D7C00, 130, 0, -24 + playsewithpan SE_W060B, 63 + waitforvisualfinish + playsewithpan SE_W213, 63 + createsprite gBattleAnimSpriteTemplate_83D7BD0, 131, -256, -42 + createsprite gBattleAnimSpriteTemplate_83D7BD0, 131, 128, -14 + createsprite gBattleAnimSpriteTemplate_83D7BD0, 131, 416, -38 + createsprite gBattleAnimSpriteTemplate_83D7BD0, 131, -128, -22 end Move_FURY_SWIPES: @ 81D24F6 - loadsprite 10222 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 5, 5 - pause 4 - panse_19 SE_W010, 63 - sprite gBattleAnimSpriteTemplate_83D7C48, 130, 16, 0, 1 - createtask sub_80A7FA0, 2, 1, 3, 0, 5, 1 - pause 10 - sprite gBattleAnimSpriteTemplate_83C1FB0, 130, 5, 5 - pause 4 - panse_19 SE_W010, 63 - sprite gBattleAnimSpriteTemplate_83D7C48, 130, -16, 0, 0 - createtask sub_80A7FA0, 2, 1, 4, 0, 7, 1 + loadspritegfx 10222 + createsprite gHorizontalLungeSpriteTemplate, 2, 5, 5 + delay 4 + playsewithpan SE_W010, 63 + createsprite gBattleAnimSpriteTemplate_83D7C48, 130, 16, 0, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 5, 1 + delay 10 + createsprite gHorizontalLungeSpriteTemplate, 130, 5, 5 + delay 4 + playsewithpan SE_W010, 63 + createsprite gBattleAnimSpriteTemplate_83D7C48, 130, -16, 0, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 7, 1 end Move_INGRAIN: @ 81D255A - loadsprite 10223 - loadsprite 10147 - sprite gBattleAnimSpriteTemplate_83D6658, 2, 16, 26, -1, 2, 150 - panse_19 SE_W010, 192 - pause 10 - sprite gBattleAnimSpriteTemplate_83D6658, 2, -32, 20, 1, 1, 140 - panse_19 SE_W010, 192 - pause 10 - sprite gBattleAnimSpriteTemplate_83D6658, 2, 32, 22, 1, 0, 130 - panse_19 SE_W010, 192 - pause 10 - sprite gBattleAnimSpriteTemplate_83D6658, 2, -16, 25, -1, 3, 120 - panse_19 SE_W010, 192 - pause 40 - sprite gBattleAnimSpriteTemplate_83D6698, 3, 32, 26, -1, 3, 30 - pause 5 - panse_19 SE_W145C, 192 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6698, 3, -48, 20, 1, 2, 30 - panse_19 SE_W145C, 192 - pause 5 - panse_19 SE_W145C, 192 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6698, 3, 48, 26, -2, 3, 18 - panse_19 SE_W145C, 192 - pause 10 - wait + loadspritegfx 10223 + loadspritegfx 10147 + createsprite gBattleAnimSpriteTemplate_83D6658, 2, 16, 26, -1, 2, 150 + playsewithpan SE_W010, 192 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D6658, 2, -32, 20, 1, 1, 140 + playsewithpan SE_W010, 192 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D6658, 2, 32, 22, 1, 0, 130 + playsewithpan SE_W010, 192 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D6658, 2, -16, 25, -1, 3, 120 + playsewithpan SE_W010, 192 + delay 40 + createsprite gBattleAnimSpriteTemplate_83D6698, 3, 32, 26, -1, 3, 30 + delay 5 + playsewithpan SE_W145C, 192 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6698, 3, -48, 20, 1, 2, 30 + playsewithpan SE_W145C, 192 + delay 5 + playsewithpan SE_W145C, 192 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6698, 3, 48, 26, -2, 3, 18 + playsewithpan SE_W145C, 192 + delay 10 + waitforvisualfinish end Move_PRESENT: @ 81D260B - loadsprite 10224 - createtask sub_812C960, 2 - sprite gBattleAnimSpriteTemplate_83D671C, 130, 0, -5, 10, 2, -1 - panse_19 SE_W039, 192 - pause 14 - panse_19 SE_W145B, 192 - pause 14 - panse_19 SE_W145B, 0 - pause 20 - panse_19 SE_W145B, 63 - wait - jumpvareq 7, 0, _81D264E - jumpvareq 7, 1, _81D26B9 + loadspritegfx 10224 + createvisualtask sub_812C960, 2 + createsprite gBattleAnimSpriteTemplate_83D671C, 130, 0, -5, 10, 2, -1 + playsewithpan SE_W039, 192 + delay 14 + playsewithpan SE_W145B, 192 + delay 14 + playsewithpan SE_W145B, 0 + delay 20 + playsewithpan SE_W145B, 63 + waitforvisualfinish + jumpargeq 7, 0, _81D264E + jumpargeq 7, 1, _81D26B9 end _81D264E: - loadsprite 10198 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 131, 0, 0, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 131, 24, -24, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 131, -16, 16, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 131, -24, -12, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 131, 16, 16, 1, 1 + loadspritegfx 10198 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 131, 0, 0, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 131, 24, -24, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 131, -16, 16, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 131, -24, -12, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 131, 16, 16, 1, 1 end _81D26B9: - loadsprite 10195 - loadsprite 10031 - panse_19 SE_W234, 63 - sprite gBattleAnimSpriteTemplate_83D6764, 132, -16, 32, -3, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6764, 132, 16, 32, -3, -1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6764, 132, 32, 32, -3, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6764, 132, -32, 32, -3, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6764, 132, 0, 32, -3, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6764, 132, -8, 32, -3, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6764, 132, -8, 32, -3, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6764, 132, 24, 32, -3, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D6764, 132, -24, 32, -3, 1 - wait + loadspritegfx 10195 + loadspritegfx 10031 + playsewithpan SE_W234, 63 + createsprite gBattleAnimSpriteTemplate_83D6764, 132, -16, 32, -3, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6764, 132, 16, 32, -3, -1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6764, 132, 32, 32, -3, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6764, 132, -32, 32, -3, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6764, 132, 0, 32, -3, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6764, 132, -8, 32, -3, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6764, 132, -8, 32, -3, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6764, 132, 24, 32, -3, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D6764, 132, -24, 32, -3, 1 + waitforvisualfinish waitsound call Unknown_81D5F3E end Move_BATON_PASS: @ 81D2762 - loadsprite 10226 - panse_19 SE_W226, 192 - createtask sub_80E1F8C, 2, 31, 1, 2, 0, 11, 31455 - sprite gBattleAnimSpriteTemplate_84024D0, 2 + loadspritegfx 10226 + playsewithpan SE_W226, 192 + createvisualtask sub_80E1F8C, 2, 31, 1, 2, 0, 11, 31455 + createsprite gBattleAnimSpriteTemplate_84024D0, 2 end Move_PERISH_SONG: @ 81D2784 - loadsprite 10206 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 1, 1, 16 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 2, 1, 32 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 3, 2, 48 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 4, 2, 64 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 5, 0, 80 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 6, 0, 96 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 7, 1, 112 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 8, 2, 128 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 9, 0, 144 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 10, 2, 160 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 11, 0, 176 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 12, 1, 192 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 13, 3, 208 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 14, 3, 224 - sprite gBattleAnimSpriteTemplate_83D7D1C, 4, 15, 0, 240 - sprite gBattleAnimSpriteTemplate_83D7D34, 4, 15, 0, 0 - pause 20 + loadspritegfx 10206 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 1, 1, 16 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 2, 1, 32 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 3, 2, 48 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 4, 2, 64 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 5, 0, 80 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 6, 0, 96 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 7, 1, 112 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 8, 2, 128 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 9, 0, 144 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 10, 2, 160 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 11, 0, 176 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 12, 1, 192 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 13, 3, 208 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 14, 3, 224 + createsprite gBattleAnimSpriteTemplate_83D7D1C, 4, 15, 0, 240 + createsprite gBattleAnimSpriteTemplate_83D7D34, 4, 15, 0, 0 + delay 20 panse_1B SE_W195, 192, 63, 2, 0 - pause 80 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 16, 0 - createtask sub_80E0E24, 5, 4, 0 - createtask sub_80E0E24, 5, 5, 0 - createtask sub_80E0E24, 5, 6, 0 - createtask sub_80E0E24, 5, 7, 0 - pause 100 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 0 - createtask sub_80E0E24, 5, 4, 1 - createtask sub_80E0E24, 5, 5, 1 - createtask sub_80E0E24, 5, 6, 1 - createtask sub_80E0E24, 5, 7, 1 - wait + delay 80 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 16, 0 + createvisualtask sub_80E0E24, 5, 4, 0 + createvisualtask sub_80E0E24, 5, 5, 0 + createvisualtask sub_80E0E24, 5, 6, 0 + createvisualtask sub_80E0E24, 5, 7, 0 + delay 100 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 0 + createvisualtask sub_80E0E24, 5, 4, 1 + createvisualtask sub_80E0E24, 5, 5, 1 + createvisualtask sub_80E0E24, 5, 6, 1 + createvisualtask sub_80E0E24, 5, 7, 1 + waitforvisualfinish end Move_SLEEP_TALK: @ 81D28ED - loadsprite 10228 - createtask sub_80A8B88, 5, 0, 4, 4096, 2, 0 - pause 20 - sprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -1 - panse_19 SE_W173, 192 - pause 6 - sprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -1 - pause 6 - sprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -1 - pause 20 - sprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -5 - panse_19 SE_W173, 192 - pause 6 - sprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -5 - pause 6 - sprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -5 - pause 20 - sprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -3 - panse_19 SE_W173, 192 - pause 6 - sprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -3 - pause 6 - sprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -3 - wait + loadspritegfx 10228 + createvisualtask AnimTask_SwayMon, 5, 0, 4, 4096, 2, 0 + delay 20 + createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -1 + playsewithpan SE_W173, 192 + delay 6 + createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -1 + delay 6 + createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -1 + delay 20 + createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -5 + playsewithpan SE_W173, 192 + delay 6 + createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -5 + delay 6 + createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -5 + delay 20 + createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -3 + playsewithpan SE_W173, 192 + delay 6 + createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -3 + delay 6 + createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -3 + waitforvisualfinish end Move_HYPER_FANG: @ 81D29A8 - loadsprite 10192 - panse_19 SE_W044, 63 - pause 1 - pause 2 - createtask sub_80E4200, 2 - jumpvareq 7, 1, _81D2A08 - createtask sub_812C924, 2 - jumpvareq 7, 0, _81D29FA - jump _81D2A01 + loadspritegfx 10192 + playsewithpan SE_W044, 63 + delay 1 + delay 2 + createvisualtask sub_80E4200, 2 + jumpargeq 7, 1, _81D2A08 + createvisualtask sub_812C924, 2 + jumpargeq 7, 0, _81D29FA + goto _81D2A01 _81D29D6: waitbgfadeout - sprite gBattleAnimSpriteTemplate_840233C, 130 + createsprite gBattleAnimSpriteTemplate_840233C, 130 waitbgfadein - createtask sub_80A7E7C, 3, 1, 0, 10, 10, 1 - panse_19 SE_W043, 63 - pause 20 + createvisualtask AnimTask_ShakeMon, 3, 1, 0, 10, 10, 1 + playsewithpan SE_W043, 63 + delay 20 restorebg waitbgfadein - wait + waitforvisualfinish end _81D29FA: fadetobg 4 - jump _81D29D6 + goto _81D29D6 _81D2A01: fadetobg 5 - jump _81D29D6 + goto _81D29D6 _81D2A08: fadetobg 6 - jump _81D29D6 + goto _81D29D6 Move_TRI_ATTACK: @ 81D2A0F - loadsprite 10230 - sprite gBattleAnimSpriteTemplate_8402458, 130, 16, 0 - panse_19 SE_W161, 192 - pause 20 - panse_19 SE_W161, 192 - pause 20 - createtask_1F sub_812B058, 220, -64, 63, 5, 6, 0, 7 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 16, 0 - pause 16 - loadsprite 10033 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, 0 - panse_19 SE_W172B, 63 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 0, 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, -1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 2, 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 1, -1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 1, -2 - pause 1 - sprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 3, 1 - pause 2 - createtask sub_80D60B4, 2, 20, 3, 1, 1 - wait - loadsprite 10037 - createtask sub_80E2324, 2, 257, 257, 257 - panse_19 SE_W161B, 63 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -48 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -16 - pause 1 - sprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, 16 - pause 20 - createtask sub_80D60B4, 2, 20, 3, 1, 0 - pause 2 - createtask sub_80E2324, 2, 257, 257, 257 - wait - loadsprite 10141 + loadspritegfx 10230 + createsprite gBattleAnimSpriteTemplate_8402458, 130, 16, 0 + playsewithpan SE_W161, 192 + delay 20 + playsewithpan SE_W161, 192 + delay 20 + createsoundtask sub_812B058, 220, -64, 63, 5, 6, 0, 7 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 16, 0 + delay 16 + loadspritegfx 10033 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, 0 + playsewithpan SE_W172B, 63 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 0, 1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, -1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 2, 1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 1, -1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, -1, 1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 1, -2 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D9520, 130, 0, 0, 30, 30, 3, 1 + delay 2 + createvisualtask sub_80D60B4, 2, 20, 3, 1, 1 + waitforvisualfinish + loadspritegfx 10037 + createvisualtask sub_80E2324, 2, 257, 257, 257 + playsewithpan SE_W161B, 63 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -48 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, -16 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D97D0, 130, 0, 16 + delay 20 + createvisualtask sub_80D60B4, 2, 20, 3, 1, 0 + delay 2 + createvisualtask sub_80E2324, 2, 257, 257, 257 + waitforvisualfinish + loadspritegfx 10141 call Unknown_81D5C36 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 16, 0, 0 - wait + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 16, 0, 0 + waitforvisualfinish end Move_WILL_O_WISP: @ 81D2B83 - loadsprite 10232 - loadsprite 10231 - monbg 3 - monbgprio_2A 1 - panse_19 SE_W052, 192 - panse_1D SE_W052, 192, 10 - createtask sub_812B374, 2, -64, -64, 1, 0 - sprite gBattleAnimSpriteTemplate_83D974C, 2, 0, 0, 0 - pause 3 - sprite gBattleAnimSpriteTemplate_83D974C, 3, 0, 0, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83D974C, 4, 0, 0, 2 - pause 3 - sprite gBattleAnimSpriteTemplate_83D974C, 4, 0, 0, 3 - pause 40 - createtask sub_812B374, 2, -64, 63, 2, 0 - wait + loadspritegfx 10232 + loadspritegfx 10231 + monbg ANIM_BANK_DEF_PARTNER + monbgprio_2A ANIM_BANK_TARGET + playsewithpan SE_W052, 192 + waitplaysewithpan SE_W052, 192, 10 + createvisualtask sub_812B374, 2, -64, -64, 1, 0 + createsprite gBattleAnimSpriteTemplate_83D974C, 2, 0, 0, 0 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D974C, 3, 0, 0, 1 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D974C, 4, 0, 0, 2 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D974C, 4, 0, 0, 3 + delay 40 + createvisualtask sub_812B374, 2, -64, 63, 2, 0 + waitforvisualfinish monbgprio_29 - panse_19 SE_W172B, 63 - createtask sub_80A7FA0, 2, 1, 4, 0, 13, 1 - sprite gBattleAnimSpriteTemplate_83D977C, 2, 0 - sprite gBattleAnimSpriteTemplate_83D977C, 2, 42 - sprite gBattleAnimSpriteTemplate_83D977C, 2, 84 - sprite gBattleAnimSpriteTemplate_83D977C, 2, 126 - sprite gBattleAnimSpriteTemplate_83D977C, 2, 168 - sprite gBattleAnimSpriteTemplate_83D977C, 2, 210 - wait - clearmonbg 3 + playsewithpan SE_W172B, 63 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 13, 1 + createsprite gBattleAnimSpriteTemplate_83D977C, 2, 0 + createsprite gBattleAnimSpriteTemplate_83D977C, 2, 42 + createsprite gBattleAnimSpriteTemplate_83D977C, 2, 84 + createsprite gBattleAnimSpriteTemplate_83D977C, 2, 126 + createsprite gBattleAnimSpriteTemplate_83D977C, 2, 168 + createsprite gBattleAnimSpriteTemplate_83D977C, 2, 210 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end Move_ENCORE: @ 81D2C41 - loadsprite 10227 - loadsprite 10247 - createtask sub_812CC44, 2 - createtask sub_80E2D78, 2, 248, 3, 0, 10, 0 - wait - sprite gBattleAnimSpriteTemplate_840238C, 130, 0, -8 - sprite gBattleAnimSpriteTemplate_84023A4, 2, -2, 0, 0, 0, 9 - sprite gBattleAnimSpriteTemplate_84023A4, 2, 2, 0, 1, 0, 9 - sprite gBattleAnimSpriteTemplate_84023BC, 3, -2, 0, 0, 0, 9 - sprite gBattleAnimSpriteTemplate_84023BC, 3, 2, 0, 1, 0, 9 - pause 16 - createtask sub_812B340, 5, 223, 63 - createtask sub_80A8B88, 5, 1, 8, 1536, 5, 1 - wait - createtask sub_80E2D78, 2, 248, 3, 10, 0, 1 - wait - createtask sub_812CCA8, 2 + loadspritegfx 10227 + loadspritegfx 10247 + createvisualtask sub_812CC44, 2 + createvisualtask sub_80E2D78, 2, 248, 3, 0, 10, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_840238C, 130, 0, -8 + createsprite gBattleAnimSpriteTemplate_84023A4, 2, -2, 0, 0, 0, 9 + createsprite gBattleAnimSpriteTemplate_84023A4, 2, 2, 0, 1, 0, 9 + createsprite gBattleAnimSpriteTemplate_84023BC, 3, -2, 0, 0, 0, 9 + createsprite gBattleAnimSpriteTemplate_84023BC, 3, 2, 0, 1, 0, 9 + delay 16 + createvisualtask sub_812B340, 5, 223, 63 + createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 5, 1 + waitforvisualfinish + createvisualtask sub_80E2D78, 2, 248, 3, 10, 0, 1 + waitforvisualfinish + createvisualtask sub_812CCA8, 2 end Move_TRICK: @ 81D2CE8 - loadsprite 10224 - loadsprite 10207 - sprite gBattleAnimSpriteTemplate_83D67F4, 2, -40, 80 - sprite gBattleAnimSpriteTemplate_83D67F4, 2, -40, 208 - pause 16 - panse_19 SE_W166, 0 - createtask sub_80D1E38, 3 - createtask sub_80D1EC8, 3 - pause 30 - panse_19 SE_W104, 0 - pause 24 - panse_19 SE_W104, 0 - pause 16 - panse_19 SE_W104, 0 - pause 16 - panse_19 SE_W104, 0 - pause 16 - panse_19 SE_W104, 0 - pause 16 - panse_19 SE_W104, 0 - pause 16 - panse_19 SE_W213, 0 - createtask sub_80A7E7C, 3, 0, 5, 0, 7, 2 - createtask sub_80A7E7C, 3, 1, 5, 0, 7, 2 - wait + loadspritegfx 10224 + loadspritegfx 10207 + createsprite gBattleAnimSpriteTemplate_83D67F4, 2, -40, 80 + createsprite gBattleAnimSpriteTemplate_83D67F4, 2, -40, 208 + delay 16 + playsewithpan SE_W166, 0 + createvisualtask sub_80D1E38, 3 + createvisualtask sub_80D1EC8, 3 + delay 30 + playsewithpan SE_W104, 0 + delay 24 + playsewithpan SE_W104, 0 + delay 16 + playsewithpan SE_W104, 0 + delay 16 + playsewithpan SE_W104, 0 + delay 16 + playsewithpan SE_W104, 0 + delay 16 + playsewithpan SE_W104, 0 + delay 16 + playsewithpan SE_W213, 0 + createvisualtask AnimTask_ShakeMon, 3, 0, 5, 0, 7, 2 + createvisualtask AnimTask_ShakeMon, 3, 1, 5, 0, 7, 2 + waitforvisualfinish end Move_WISH: @ 81D2D66 - loadsprite 10233 - loadsprite 10049 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 10, 0 - wait + loadspritegfx 10233 + loadspritegfx 10049 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 10, 0 + waitforvisualfinish panse_27 SE_W115, 63, 192, 253, 0 - sprite gBattleAnimSpriteTemplate_84024E8, 40 - wait - pause 60 - panse_1C SE_W215, 192, 16, 3 + createsprite gBattleAnimSpriteTemplate_84024E8, 40 + waitforvisualfinish + delay 60 + loopsewithpan SE_W215, 192, 16, 3 call Unknown_81D5ECA - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 10, 0, 0 - wait + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 10, 0, 0 + waitforvisualfinish end Move_STOCKPILE: @ 81D2DAE - loadsprite 10235 - panse_19 SE_W025, 192 - createtask sub_80E1F8C, 2, 2, 8, 1, 0, 12, 32767 - createtask sub_812D674, 5 + loadspritegfx 10235 + playsewithpan SE_W025, 192 + createvisualtask sub_80E1F8C, 2, 2, 8, 1, 0, 12, 32767 + createvisualtask sub_812D674, 5 call _81D2DEC call _81D2DEC - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 0, 12, 0, 32767 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 0, 12, 0, 32767 end _81D2DEC: - sprite gBattleAnimSpriteTemplate_83D6350, 2, 55, 55, 13 - pause 1 - sprite gBattleAnimSpriteTemplate_83D6350, 2, -55, -55, 13 - pause 1 - sprite gBattleAnimSpriteTemplate_83D6350, 2, 0, 55, 13 - pause 1 - sprite gBattleAnimSpriteTemplate_83D6350, 2, 0, -55, 13 - pause 1 - sprite gBattleAnimSpriteTemplate_83D6350, 2, 55, -34, 13 - pause 1 - sprite gBattleAnimSpriteTemplate_83D6350, 2, 55, 34, 13 - pause 1 - sprite gBattleAnimSpriteTemplate_83D6350, 2, -55, -34, 13 - pause 1 - sprite gBattleAnimSpriteTemplate_83D6350, 2, -55, 34, 13 - pause 1 - ret + createsprite gBattleAnimSpriteTemplate_83D6350, 2, 55, 55, 13 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D6350, 2, -55, -55, 13 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D6350, 2, 0, 55, 13 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D6350, 2, 0, -55, 13 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D6350, 2, 55, -34, 13 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D6350, 2, 55, 34, 13 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D6350, 2, -55, -34, 13 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D6350, 2, -55, 34, 13 + delay 1 + return Move_SPIT_UP: @ 81D2E65 - loadsprite 10237 - loadsprite 10135 - panse_19 SE_W036, 192 - createtask sub_812D6CC, 5 - createtask sub_80A7FA0, 2, 0, 1, 0, 8, 2 - pause 45 - panse_19 SE_W255, 192 - pause 3 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 0, 12 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 32, 12 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 64, 12 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 96, 12 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 128, 12 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 160, 12 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 192, 12 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 224, 12 - pause 5 - jumpif 2, _81D2F32 - jumpif 3, _81D2F5B + loadspritegfx 10237 + loadspritegfx 10135 + playsewithpan SE_W036, 192 + createvisualtask sub_812D6CC, 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 8, 2 + delay 45 + playsewithpan SE_W255, 192 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 0, 12 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 32, 12 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 64, 12 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 96, 12 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 128, 12 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 160, 12 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 192, 12 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 224, 12 + delay 5 + jumpifmoveturn 2, _81D2F32 + jumpifmoveturn 3, _81D2F5B _81D2EF5: - pause 5 - createtask sub_80A9058, 2, 0, 1, 8, 1, 0 - panse_19 SE_W003, 63 - sprite gBattleAnimSpriteTemplate_83DB538, 131, -12, 10, 1, 1 - pause 5 - panse_19 SE_W003, 63 - sprite gBattleAnimSpriteTemplate_83DB538, 131, 12, -10, 1, 1 - wait + delay 5 + createvisualtask sub_80A9058, 2, 0, 1, 8, 1, 0 + playsewithpan SE_W003, 63 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, -12, 10, 1, 1 + delay 5 + playsewithpan SE_W003, 63 + createsprite gBattleAnimSpriteTemplate_83DB538, 131, 12, -10, 1, 1 + waitforvisualfinish end _81D2F32: - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 16 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 80 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 144 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 208 - jump _81D2EF5 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 16 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 80 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 144 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 208 + goto _81D2EF5 _81D2F5B: - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 16 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 48 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 80 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 112 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 144 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 176 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 208 - sprite gBattleAnimSpriteTemplate_83D7B60, 2, 240 - jump _81D2EF5 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 16 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 48 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 80 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 112 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 144 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 176 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 208 + createsprite gBattleAnimSpriteTemplate_83D7B60, 2, 240 + goto _81D2EF5 Move_SWALLOW: @ 81D2FA8 - loadsprite 10236 - loadsprite 10031 - panse_19 SE_W036, 192 - createtask sub_812D790, 5 - createtask sub_80A7FA0, 2, 0, 1, 0, 8, 2 - pause 38 - panse_19 SE_W255, 192 - createtask sub_80A7FA0, 2, 0, 2, 0, 12, 1 + loadspritegfx 10236 + loadspritegfx 10031 + playsewithpan SE_W036, 192 + createvisualtask sub_812D790, 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 8, 2 + delay 38 + playsewithpan SE_W255, 192 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 2, 0, 12, 1 call _81D2FF9 - jumpif 2, _81D303B - jumpif 3, _81D3045 + jumpifmoveturn 2, _81D303B + jumpifmoveturn 3, _81D3045 _81D2FF2: - wait + waitforvisualfinish call Unknown_81D5EF5 end _81D2FF9: - sprite gBattleAnimSpriteTemplate_8402578, 2, 0, -8 - pause 1 - sprite gBattleAnimSpriteTemplate_8402578, 2, -24, -8 - pause 1 - sprite gBattleAnimSpriteTemplate_8402578, 2, 16, -8 - pause 1 - sprite gBattleAnimSpriteTemplate_8402578, 2, -16, -8 - pause 1 - sprite gBattleAnimSpriteTemplate_8402578, 2, 24, -8 - pause 1 - ret + createsprite gBattleAnimSpriteTemplate_8402578, 2, 0, -8 + delay 1 + createsprite gBattleAnimSpriteTemplate_8402578, 2, -24, -8 + delay 1 + createsprite gBattleAnimSpriteTemplate_8402578, 2, 16, -8 + delay 1 + createsprite gBattleAnimSpriteTemplate_8402578, 2, -16, -8 + delay 1 + createsprite gBattleAnimSpriteTemplate_8402578, 2, 24, -8 + delay 1 + return _81D303B: call _81D2FF9 - jump _81D2FF2 + goto _81D2FF2 _81D3045: call _81D2FF9 call _81D2FF9 - jump _81D2FF2 + goto _81D2FF2 Move_TRANSFORM: @ 81D3054 - monbg 0 - panse_19 SE_W100, 192 - panse_1D SE_W107, 192, 48 - createtask sub_812D7E8, 2, 0 - wait - clearmonbg 0 + monbg ANIM_BANK_ATTACKER + playsewithpan SE_W100, 192 + waitplaysewithpan SE_W107, 192, 48 + createvisualtask sub_812D7E8, 2, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER end Move_MORNING_SUN: @ 81D306C - loadsprite 10241 - loadsprite 10031 - createtask sub_812DB84, 5 - pause 8 - createtask sub_80E2A38, 10, 1921, 8, 0, 12, 32767 - pause 14 + loadspritegfx 10241 + loadspritegfx 10031 + createvisualtask sub_812DB84, 5 + delay 8 + createvisualtask sub_80E2A38, 10, 1921, 8, 0, 12, 32767 + delay 14 call _81D30F2 call _81D30F2 call _81D30F2 @@ -8267,73 +8269,73 @@ Move_MORNING_SUN: @ 81D306C call _81D30F2 call _81D30F2 call _81D30F2 - createtask sub_80E2A38, 10, 1921, 3, 12, 0, 32767 - wait + createvisualtask sub_80E2A38, 10, 1921, 3, 12, 0, 32767 + waitforvisualfinish waitsound call Unknown_81D5EF5 end _81D30F2: - sprite gBattleAnimSpriteTemplate_84025EC, 2, 30, 640 - pause 5 - ret + createsprite gBattleAnimSpriteTemplate_84025EC, 2, 30, 640 + delay 5 + return Move_SWEET_SCENT: @ 81D3100 - loadsprite 10238 - panse_19 SE_W230, 192 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 100, 0, 100 - pause 25 + loadspritegfx 10238 + playsewithpan SE_W230, 192 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 100, 0, 100 + delay 25 setpan 0 call _81D3144 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 55, 0 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 55, 0 setpan 63 - createtask sub_80E1F8C, 2, 20, 1, 5, 5, 13, 22207 + createvisualtask sub_80E1F8C, 2, 20, 1, 5, 5, 13, 22207 call _81D3144 - wait + waitforvisualfinish end _81D3144: - sprite gBattleAnimSpriteTemplate_84026A4, 2, 70, 1, 64 - pause 2 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 60, 0, 64 - pause 5 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 80, 1, 64 - pause 2 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 58, 0, 120 - pause 2 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 100, 0, 120 - pause 2 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 90, 0, 64 - pause 2 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 48, 0, 64 - pause 2 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 95, 1, 80 - pause 2 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 100, 0, 120 - pause 2 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 75, 1, 64 - pause 2 - sprite gBattleAnimSpriteTemplate_84026A4, 2, 85, 0, 120 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 70, 1, 64 + delay 2 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 60, 0, 64 + delay 5 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 80, 1, 64 + delay 2 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 58, 0, 120 + delay 2 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 100, 0, 120 + delay 2 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 90, 0, 64 + delay 2 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 48, 0, 64 + delay 2 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 95, 1, 80 + delay 2 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 100, 0, 120 + delay 2 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 75, 1, 64 + delay 2 + createsprite gBattleAnimSpriteTemplate_84026A4, 2, 85, 0, 120 + delay 2 + return Move_HYPER_BEAM: @ 81D31EA - loadsprite 10147 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 0, 16, 0 - wait - pause 10 - panse_19 SE_W063, 192 - createtask sub_80A7FA0, 2, 0, 1, 0, 4, 1 - wait - pause 30 - createtask_1F sub_812B058, 247, -64, 63, 1, 15, 0, 5 - createtask sub_80A7E7C, 2, 0, 0, 4, 50, 1 - createtask sub_80E21A8, 2, 10147, 1, 12, 31, 16, 0, 0 + loadspritegfx 10147 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 0, 16, 0 + waitforvisualfinish + delay 10 + playsewithpan SE_W063, 192 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 4, 1 + waitforvisualfinish + delay 30 + createsoundtask sub_812B058, 247, -64, 63, 1, 15, 0, 5 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_ATTACKER, 0, 4, 50, 1 + createvisualtask sub_80E21A8, 2, 10147, 1, 12, 31, 16, 0, 0 call _81D331B call _81D331B call _81D331B call _81D331B call _81D331B - createtask sub_80A7FA0, 2, 1, 4, 0, 50, 1 - createtask sub_80E2A38, 10, 4, 2, 0, 11, 26425 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 50, 1 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 11, 26425 call _81D331B call _81D331B call _81D331B @@ -8355,30 +8357,30 @@ Move_HYPER_BEAM: @ 81D31EA call _81D331B call _81D331B call _81D331B - createtask sub_80E2A38, 10, 4, 2, 11, 0, 26425 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 16, 0, 0 + createvisualtask sub_80E2A38, 10, 4, 2, 11, 0, 26425 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 4, 16, 0, 0 end _81D331B: - sprite gBattleAnimSpriteTemplate_83D6394, 130 - sprite gBattleAnimSpriteTemplate_83D6394, 130 - pause 1 - ret + createsprite gBattleAnimSpriteTemplate_83D6394, 130 + createsprite gBattleAnimSpriteTemplate_83D6394, 130 + delay 1 + return Move_FLATTER: @ 81D332C - loadsprite 10227 - loadsprite 10240 - createtask sub_812B340, 5, 223, 63 - createtask sub_812CC44, 2 - createtask sub_80E2D78, 2, 248, 3, 0, 10, 0 - wait - sprite gBattleAnimSpriteTemplate_8402720, 130, 0, -8, 80 - pause 0 - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 5, 2, 1 - pause 10 - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 5, 2, 1 - pause 0 - createtask sub_812B30C, 5, 229, -64 + loadspritegfx 10227 + loadspritegfx 10240 + createvisualtask sub_812B340, 5, 223, 63 + createvisualtask sub_812CC44, 2 + createvisualtask sub_80E2D78, 2, 248, 3, 0, 10, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_8402720, 130, 0, -8, 80 + delay 0 + createsprite gVerticalDipSpriteTemplate, 2, 5, 2, ANIM_BANK_TARGET + delay 10 + createsprite gVerticalDipSpriteTemplate, 2, 5, 2, ANIM_BANK_TARGET + delay 0 + createvisualtask sub_812B30C, 5, 229, -64 call _81D3415 call _81D3415 call _81D3415 @@ -8398,264 +8400,264 @@ Move_FLATTER: @ 81D332C call _81D3415 call _81D3415 call _81D3415 - pause 5 - createtask sub_812B30C, 5, 229, 63 - wait - createtask sub_80E2D78, 2, 248, 3, 10, 0, 1 - wait - createtask sub_812CCA8, 2 + delay 5 + createvisualtask sub_812B30C, 5, 229, 63 + waitforvisualfinish + createvisualtask sub_80E2D78, 2, 248, 3, 10, 0, 1 + waitforvisualfinish + createvisualtask sub_812CCA8, 2 end _81D3415: - sprite gBattleAnimSpriteTemplate_8402708, 40, 0 - sprite gBattleAnimSpriteTemplate_8402708, 40, 1 - ret + createsprite gBattleAnimSpriteTemplate_8402708, 40, 0 + createsprite gBattleAnimSpriteTemplate_8402708, 40, 1 + return Move_ROLE_PLAY: @ 81D3428 - monbg 2 - createtask sub_80E2A38, 10, 4, 2, 0, 16, 32767 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 10, 0 - wait - panse_19 SE_W161, 192 - panse_1D SE_W197, 192, 30 - createtask sub_812EFC8, 2 - wait - clearmonbg 2 - createtask sub_80E2A38, 10, 4, 2, 16, 0, 32767 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 10, 0, 0 + monbg ANIM_BANK_ATK_PARTNER + createvisualtask sub_80E2A38, 10, 4, 2, 0, 16, 32767 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 0, 10, 0 + waitforvisualfinish + playsewithpan SE_W161, 192 + waitplaysewithpan SE_W197, 192, 30 + createvisualtask sub_812EFC8, 2 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER + createvisualtask sub_80E2A38, 10, 4, 2, 16, 0, 32767 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 10, 0, 0 end Move_REFRESH: @ 81D3485 - loadsprite 10203 - loadsprite 10049 - panse_19 SE_W287, 192 - createtask sub_81300A4, 2, 0 - wait - panse_19 SE_W234, 192 + loadspritegfx 10203 + loadspritegfx 10049 + playsewithpan SE_W287, 192 + createvisualtask sub_81300A4, 2, 0 + waitforvisualfinish + playsewithpan SE_W234, 192 call Unknown_81D5ECA - wait - panse_19 SE_REAPOKE, 192 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 3, 10, 0, 31500 - sprite gBattleAnimSpriteTemplate_83D7928, 3, 0, 0, 0, 0 + waitforvisualfinish + playsewithpan SE_REAPOKE, 192 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 3, 10, 0, 31500 + createsprite gBattleAnimSpriteTemplate_83D7928, 3, 0, 0, 0, 0 end Move_BLAZE_KICK: @ 81D34C8 - loadsprite 10135 - loadsprite 10143 - loadsprite 10029 - monbg 1 - setalpha 12, 8 - panse_19 SE_W172, 63 - sprite gBattleAnimSpriteTemplate_83DA024, 131, 0, 0, 1, 30 - createtask sub_80E2A38, 10, 4, 2, 0, 7, 32767 - pause 30 - panse_19 SE_W007, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 0, 0, 1, 0 - createtask sub_80A7FA0, 2, 1, 3, 0, 14, 1 - createtask sub_80E2A38, 10, 4, 2, 0, 0, 32767 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 + loadspritegfx 10135 + loadspritegfx 10143 + loadspritegfx 10029 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + playsewithpan SE_W172, 63 + createsprite gBattleAnimSpriteTemplate_83DA024, 131, 0, 0, 1, 30 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 7, 32767 + delay 30 + playsewithpan SE_W007, 63 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 14, 1 + createvisualtask sub_80E2A38, 10, 4, 2, 0, 0, 32767 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 call _81D11A2 - wait - clearmonbg 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_HYPER_VOICE: @ 81D3550 - loadsprite 10203 + loadspritegfx 10203 call _81D3562 - wait - pause 8 + waitforvisualfinish + delay 8 call _81D3562 - wait + waitforvisualfinish end _81D3562: - createtask sub_812B2B8, 5 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 3, 8, 0, 1023 - createtask sub_80A8D34, 5, -5, -5, 5, 0, 0 - sprite gBattleAnimSpriteTemplate_83D798C, 0, 45, 0, 0, 0, 0, 0, 1 - createtask sub_80A7FA0, 2, 1, 1, 0, 6, 1 - createtask sub_80A7FA0, 2, 3, 1, 0, 6, 1 - createtask sub_80E26BC, 2, 1, 0, 6, 1 - ret + createvisualtask sub_812B2B8, 5 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 3, 8, 0, 1023 + createvisualtask sub_80A8D34, 5, -5, -5, 5, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D798C, 0, 45, 0, 0, 0, 0, 0, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 1, 0, 6, 1 + createvisualtask sub_80E26BC, 2, 1, 0, 6, 1 + return Move_SAND_TOMB: @ 81D35D2 - loadsprite 10074 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 0, 7, 563 - createtask sub_80A7E7C, 5, 1, 0, 2, 43, 1 - panse_19 SE_W328, 63 + loadspritegfx 10074 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 0, 7, 563 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 2, 43, 1 + playsewithpan SE_W328, 63 call _81D361F call _81D361F call _81D361F - pause 22 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 7, 0, 563 - wait + delay 22 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 7, 0, 563 + waitforvisualfinish end _81D361F: - sprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 32, 528, 30, 10, 50, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 36, 480, 20, 13, -46, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 37, 576, 20, 5, 42, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 35, 400, 25, 8, -42, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 32, 512, 25, 13, 46, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 37, 464, 30, 12, -50, 1 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 32, 528, 30, 10, 50, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 36, 480, 20, 13, -46, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 37, 576, 20, 5, 42, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 35, 400, 25, 8, -42, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 32, 512, 25, 13, 46, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DAC7C, 130, 0, 37, 464, 30, 12, -50, 1 + delay 2 + return Move_SHEER_COLD: @ 81D36AA fadetobg 15 waitbgfadeout - panse_19 SE_W196, 0 + playsewithpan SE_W196, 0 waitbgfadein - loadsprite 10010 - monbg 3 + loadspritegfx 10010 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - createtask sub_807B920, 2 - panse_1D SE_W258, 63, 17 - wait - clearmonbg 3 + createvisualtask sub_807B920, 2 + waitplaysewithpan SE_W258, 63, 17 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff restorebg waitbgfadein end Move_ARM_THRUST: @ 81D36CF - loadsprite 10143 - loadsprite 10135 + loadspritegfx 10143 + loadspritegfx 10135 monbgprio_28 1 setalpha 12, 8 - createtask sub_80A8E04, 5, 8, 5, 0, 0 - pause 6 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 3 - pause 4 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83DA144, 130, 10, -8, 14, 3 - wait - createtask sub_80A8E04, 5, 8, 5, 0, 1 - panse_19 SE_W003, 63 - ifelse _81D373C, _81D3750 + createvisualtask sub_80A8E04, 5, 8, 5, 0, 0 + delay 6 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 3 + delay 4 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83DA144, 130, 10, -8, 14, 3 + waitforvisualfinish + createvisualtask sub_80A8E04, 5, 8, 5, 0, 1 + playsewithpan SE_W003, 63 + choosetwoturnanim _81D373C, _81D3750 _81D3728: - createtask sub_80A7E7C, 5, 1, 4, 0, 6, 1 - wait + createvisualtask AnimTask_ShakeMon, 5, 1, 4, 0, 6, 1 + waitforvisualfinish blendoff end _81D373C: - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, 8, 0, 1, 2 - jump _81D3728 + createsprite gBasicHitSplatSpriteTemplate, 130, 8, 0, 1, 2 + goto _81D3728 _81D3750: - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, -8, 0, 1, 2 - jump _81D3728 + createsprite gBasicHitSplatSpriteTemplate, 130, -8, 0, 1, 2 + goto _81D3728 Move_MUDDY_WATER: @ 81D3764 panse_1B SE_W250, 192, 63, 2, 0 - createtask sub_80D38BC, 2, 1 - wait + createvisualtask sub_80D38BC, 2, 1 + waitforvisualfinish end Move_BULLET_SEED: @ 81D3776 - loadsprite 10006 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - pause 5 - createtask sub_80A7FA0, 2, 1, 2, 0, 30, 1 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 - wait + loadspritegfx 10006 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + delay 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 30, 1 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 + waitforvisualfinish end Move_DRAGON_CLAW: @ 81D380C - loadsprite 10029 - loadsprite 10039 - panse_19 SE_W221B, 192 - createtask sub_80E2A38, 10, 2, 4, 0, 8, 639 - createtask sub_80A7E7C, 5, 0, 0, 2, 15, 1 + loadspritegfx 10029 + loadspritegfx 10039 + playsewithpan SE_W221B, 192 + createvisualtask sub_80E2A38, 10, 2, 4, 0, 8, 639 + createvisualtask AnimTask_ShakeMon, 5, 0, 0, 2, 15, 1 call _81D39E9 call _81D39E9 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 528, 30, 13, 50, 0 - pause 2 - createtask sub_812B30C, 5, 136, 63 - sprite gBattleAnimSpriteTemplate_83DB288, 130, -10, -10, 0 - sprite gBattleAnimSpriteTemplate_83DB288, 130, -10, 10, 0 - sprite gBattleAnimSpriteTemplate_83DB428, 2, -4, 1, 10, 3, 1 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 32, 480, 20, 16, -46, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 576, 20, 8, 42, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 31, 400, 25, 11, -42, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 512, 25, 16, 46, 0 - pause 2 - createtask sub_812B30C, 5, 136, 63 - sprite gBattleAnimSpriteTemplate_83DB288, 130, 10, -10, 1 - sprite gBattleAnimSpriteTemplate_83DB288, 130, 10, 10, 1 - sprite gBattleAnimSpriteTemplate_83DB428, 2, -4, 1, 10, 3, 1 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 464, 30, 15, -50, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 528, 30, 13, 50, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 32, 480, 20, 16, -46, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 576, 20, 8, 42, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 31, 400, 25, 11, -42, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 512, 25, 16, 46, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 464, 30, 15, -50, 0 - createtask sub_80E2A38, 10, 2, 4, 8, 0, 639 - wait + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 528, 30, 13, 50, 0 + delay 2 + createvisualtask sub_812B30C, 5, 136, 63 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, -10, 0 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, 10, 0 + createsprite gBattleAnimSpriteTemplate_83DB428, 2, -4, 1, 10, 3, 1 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 32, 480, 20, 16, -46, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 576, 20, 8, 42, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 31, 400, 25, 11, -42, 0 + delay 2 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 512, 25, 16, 46, 0 + delay 2 + createvisualtask sub_812B30C, 5, 136, 63 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, 10, -10, 1 + createsprite gBattleAnimSpriteTemplate_83DB288, 130, 10, 10, 1 + createsprite gBattleAnimSpriteTemplate_83DB428, 2, -4, 1, 10, 3, 1 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 464, 30, 15, -50, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 528, 30, 13, 50, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 32, 480, 20, 16, -46, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 576, 20, 8, 42, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 31, 400, 25, 11, -42, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 512, 25, 16, 46, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 464, 30, 15, -50, 0 + createvisualtask sub_80E2A38, 10, 2, 4, 8, 0, 639 + waitforvisualfinish end _81D39E9: - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 528, 30, 13, 50, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 32, 480, 20, 16, -46, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 576, 20, 8, 42, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 31, 400, 25, 11, -42, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 512, 25, 16, 46, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 464, 30, 15, -50, 0 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 528, 30, 13, 50, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 32, 480, 20, 16, -46, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 576, 20, 8, 42, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 31, 400, 25, 11, -42, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 512, 25, 16, 46, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 33, 464, 30, 15, -50, 0 + delay 2 + return Unknown_81D3A74: @ 81D3A74 end Move_MUD_SHOT: @ 81D3A75 - loadsprite 10259 - monbg 3 + loadspritegfx 10259 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - createtask sub_80A7E7C, 5, 0, 0, 2, 46, 1 - pause 6 - createtask sub_80D3630, 5, 100 + createvisualtask AnimTask_ShakeMon, 5, 0, 0, 2, 46, 1 + delay 6 + createvisualtask sub_80D3630, 5, 100 panse_1B SE_W250, 192, 63, 1, 0 call _81D3AEF call _81D3AEF call _81D3AEF - createtask sub_80A7E7C, 5, 1, 3, 0, 43, 1 + createvisualtask AnimTask_ShakeMon, 5, 1, 3, 0, 43, 1 call _81D3AEF call _81D3AEF call _81D3AEF @@ -8664,529 +8666,529 @@ Move_MUD_SHOT: @ 81D3A75 call _81D3AEF call _81D3AEF call _81D3AEF - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D3AEF: - sprite gBattleAnimSpriteTemplate_83D920C, 3, 10, 10, 0, 16 - pause 2 - sprite gBattleAnimSpriteTemplate_83D920C, 3, 10, 10, 0, 16 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83D920C, 3, 10, 10, 0, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D920C, 3, 10, 10, 0, 16 + delay 2 + return Move_METEOR_MASH: @ 81D3B12 - loadsprite 10233 - loadsprite 10135 - loadsprite 10143 + loadspritegfx 10233 + loadspritegfx 10135 + loadspritegfx 10143 panse_1B SE_W112, 192, 63, 3, 0 fadetobg 16 waitbgfadein - wait - sprite gBattleAnimSpriteTemplate_8402A3C, 131, -48, -64, 72, 32, 30 - pause 10 - sprite gBattleAnimSpriteTemplate_8402A3C, 131, -112, -64, 8, 32, 30 - pause 40 - sprite gBattleAnimSpriteTemplate_83DA024, 131, 0, 0, 0, 30 - sprite gBattleAnimSpriteTemplate_8402A3C, 131, -80, -64, 40, 32, 30 - pause 20 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 1 - createtask sub_80A7FA0, 2, 1, 5, 0, 20, 1 - wait - pause 10 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_8402A3C, 131, -48, -64, 72, 32, 30 + delay 10 + createsprite gBattleAnimSpriteTemplate_8402A3C, 131, -112, -64, 8, 32, 30 + delay 40 + createsprite gBattleAnimSpriteTemplate_83DA024, 131, 0, 0, 0, 30 + createsprite gBattleAnimSpriteTemplate_8402A3C, 131, -80, -64, 40, 32, 30 + delay 20 + playsewithpan SE_W233B, 63 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 5, 0, 20, 1 + waitforvisualfinish + delay 10 restorebg waitbgfadein - wait + waitforvisualfinish end Move_REVENGE: @ 81D3B99 - loadsprite 10245 - monbg 1 - setalpha 12, 8 - panse_19 SE_W036, 192 - sprite gBattleAnimSpriteTemplate_83DA198, 2, 10, -10 - wait - createtask sub_80E1F8C, 2, 2, 0, 4, 2, 8, 31 - wait - unloadsprite 10245 - loadsprite 10246 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 - pause 4 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83DA1E0, 130, 10, -10 - wait - unloadsprite 10246 - loadsprite 10135 - createtask sub_80A7FA0, 2, 1, 3, 0, 10, 1 - sprite gBattleAnimSpriteTemplate_83DB550, 131, -10, -8, 1, 1, 8 - panse_19 SE_W233B, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB550, 131, 10, 8, 1, 1, 8 - panse_19 SE_W025B, 63 - wait - clearmonbg 1 + loadspritegfx 10245 + monbg ANIM_BANK_TARGET + setalpha 12, 8 + playsewithpan SE_W036, 192 + createsprite gBattleAnimSpriteTemplate_83DA198, 2, 10, -10 + waitforvisualfinish + createvisualtask sub_80E1F8C, 2, 2, 0, 4, 2, 8, 31 + waitforvisualfinish + unloadspritegfx 10245 + loadspritegfx 10246 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 4 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83DA1E0, 130, 10, -10 + waitforvisualfinish + unloadspritegfx 10246 + loadspritegfx 10135 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 10, 1 + createsprite gBattleAnimSpriteTemplate_83DB550, 131, -10, -8, 1, 1, 8 + playsewithpan SE_W233B, 63 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DB550, 131, 10, 8, 1, 1, 8 + playsewithpan SE_W025B, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_POISON_FANG: @ 81D3C30 - loadsprite 10192 - loadsprite 10150 - panse_19 SE_W044, 63 - sprite gBattleAnimSpriteTemplate_840233C, 130 - pause 10 - createtask sub_80A7E7C, 3, 1, 3, 0, 10, 1 - wait - createtask sub_80E1F8C, 2, 4, 0, 4, 0, 12, 26650 + loadspritegfx 10192 + loadspritegfx 10150 + playsewithpan SE_W044, 63 + createsprite gBattleAnimSpriteTemplate_840233C, 130 + delay 10 + createvisualtask AnimTask_ShakeMon, 3, 1, 3, 0, 10, 1 + waitforvisualfinish + createvisualtask sub_80E1F8C, 2, 4, 0, 4, 0, 12, 26650 call Unknown_81D5F87 - wait + waitforvisualfinish end Move_SUBSTITUTE: @ 81D3C6F - panse_19 SE_W213, 192 - createtask sub_81312E4, 2 + playsewithpan SE_W213, 192 + createvisualtask sub_81312E4, 2 end Move_FRENZY_PLANT: @ 81D3C7B - loadsprite 10223 - loadsprite 10135 - monbg 1 + loadspritegfx 10223 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET monbgprio_28 1 setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 1, 2, 0, 5, 0 - wait - sprite gBattleAnimSpriteTemplate_83D6670, 2, 10, 8, 2, 0, 0, 100 - panse_19 SE_W010, 192 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6670, 2, 20, -8, -2, 0, 1, 95 - panse_19 SE_W010, 213 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6670, 2, 30, 8, -4, 0, 0, 90 - panse_19 SE_W010, 234 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6670, 2, 40, -8, 4, 0, 1, 85 - panse_19 SE_W010, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6670, 2, 50, 8, 0, 0, 0, 85 - panse_19 SE_W010, 21 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6670, 2, 60, -8, -2, 0, 1, 85 - panse_19 SE_W010, 42 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6670, 2, 75, 8, 0, 0, 0, 85 - panse_19 SE_W010, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6670, 2, 85, 16, 6, 0, 3, 80 - panse_19 SE_W010, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83D6670, 2, 85, -16, -6, 0, 2, 75 - panse_19 SE_W010, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -10, 1, 3 - panse_19 SE_W003, 63 - createtask sub_80A7E7C, 3, 1, 8, 0, 20, 1 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 10, 8, 1, 3 - panse_19 SE_W003, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 10, -3, 1, 2 - panse_19 SE_W003, 63 - pause 3 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -3, 1, 1, 2 - panse_19 SE_W003, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, 1, 1, 1 - panse_19 SE_W003, 63 - pause 2 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 10, 1, 1 - panse_19 SE_W003, 63 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 1, 2, 5, 0, 0 - wait - clearmonbg 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 1, 2, 0, 5, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83D6670, 2, 10, 8, 2, 0, 0, 100 + playsewithpan SE_W010, 192 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6670, 2, 20, -8, -2, 0, 1, 95 + playsewithpan SE_W010, 213 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6670, 2, 30, 8, -4, 0, 0, 90 + playsewithpan SE_W010, 234 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6670, 2, 40, -8, 4, 0, 1, 85 + playsewithpan SE_W010, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6670, 2, 50, 8, 0, 0, 0, 85 + playsewithpan SE_W010, 21 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6670, 2, 60, -8, -2, 0, 1, 85 + playsewithpan SE_W010, 42 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6670, 2, 75, 8, 0, 0, 0, 85 + playsewithpan SE_W010, 63 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6670, 2, 85, 16, 6, 0, 3, 80 + playsewithpan SE_W010, 63 + delay 5 + createsprite gBattleAnimSpriteTemplate_83D6670, 2, 85, -16, -6, 0, 2, 75 + playsewithpan SE_W010, 63 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -10, 1, 3 + playsewithpan SE_W003, 63 + createvisualtask AnimTask_ShakeMon, 3, 1, 8, 0, 20, 1 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 8, 1, 3 + playsewithpan SE_W003, 63 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, -3, 1, 2 + playsewithpan SE_W003, 63 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, -3, 1, 1, 2 + playsewithpan SE_W003, 63 + delay 2 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, 1, 1, 1 + playsewithpan SE_W003, 63 + delay 2 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 10, 1, 1 + playsewithpan SE_W003, 63 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 1, 2, 5, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Move_METAL_SOUND: @ 81D3E1F - loadsprite 10260 - monbg 3 - monbgprio_2A 1 - createtask sub_80A7FA0, 2, 0, 2, 0, 8, 1 + loadspritegfx 10260 + monbg ANIM_BANK_DEF_PARTNER + monbgprio_2A ANIM_BANK_TARGET + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 2, 0, 8, 1 call _81D3E52 call _81D3E52 call _81D3E52 call _81D3E52 - wait - clearmonbg 3 - pause 0 - wait + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + delay 0 + waitforvisualfinish end _81D3E52: panse_1B SE_W103, 192, 63, 2, 0 - sprite gBattleAnimSpriteTemplate_83D7564, 130, 16, 0, 0, 0, 30, 0 - pause 2 - ret + createsprite gBattleAnimSpriteTemplate_83D7564, 130, 16, 0, 0, 0, 30, 0 + delay 2 + return Move_FOCUS_PUNCH: @ 81D3E6F - jump _81D3E76 + goto _81D3E76 _81D3E74: - wait + waitforvisualfinish end _81D3E76: - loadsprite 10135 - loadsprite 10143 - pause 1 - createtask sub_80E4200, 2 - jumpvareq 7, 1, _81D3F2F - createtask sub_812C924, 2 - jumpvareq 7, 0, _81D3F21 - jumpvareq 7, 1, _81D3F28 + loadspritegfx 10135 + loadspritegfx 10143 + delay 1 + createvisualtask sub_80E4200, 2 + jumpargeq 7, 1, _81D3F2F + createvisualtask sub_812C924, 2 + jumpargeq 7, 0, _81D3F21 + jumpargeq 7, 1, _81D3F28 _81D3EA4: waitbgfadein - monbg 3 - setalpha 12, 8 - panse_19 SE_W207, 63 - sprite gBattleAnimSpriteTemplate_83DA214, 130 - pause 10 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -8, 1, 0 - createtask sub_80A7E7C, 5, 1, 8, 0, 24, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 10, 2, 1, 0 - panse_19 SE_W233B, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 10, -6, 1, 0 - panse_19 SE_W233B, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 8, 1, 0 - panse_19 SE_W025B, 63 - wait + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W207, 63 + createsprite gBattleAnimSpriteTemplate_83DA214, 130 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, 1, 8, 0, 24, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 2, 1, 0 + playsewithpan SE_W233B, 63 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, -6, 1, 0 + playsewithpan SE_W233B, 63 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 8, 1, 0 + playsewithpan SE_W025B, 63 + waitforvisualfinish restorebg waitbgfadein - clearmonbg 3 + clearmonbg ANIM_BANK_DEF_PARTNER blendoff - jump _81D3E74 + goto _81D3E74 _81D3F21: fadetobg 4 - jump _81D3EA4 + goto _81D3EA4 _81D3F28: fadetobg 5 - jump _81D3EA4 + goto _81D3EA4 _81D3F2F: fadetobg 6 - jump _81D3EA4 + goto _81D3EA4 Move_RETURN: @ 81D3F36 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - createtask sub_81318F0, 2 - pause 2 - jumpvareq 7, 0, _81D3F6C - jumpvareq 7, 1, _81D3FBE - jumpvareq 7, 2, _81D401E - jumpvareq 7, 3, _81D4139 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + createvisualtask sub_81318F0, 2 + delay 2 + jumpargeq 7, 0, _81D3F6C + jumpargeq 7, 1, _81D3FBE + jumpargeq 7, 2, _81D401E + jumpargeq 7, 3, _81D4139 _81D3F67: - wait - clearmonbg 3 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D3F6C: - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 16, 1, 0 - createtask sub_812B340, 5, 167, -64 - wait - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 16, 1, 0 - createtask sub_812B340, 5, 167, -64 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -8, 1, 2 - createtask sub_812B30C, 5, 139, 63 - jump _81D3F67 + createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + waitforvisualfinish + createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_812B30C, 5, 139, 63 + goto _81D3F67 _81D3FBE: - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0 - createtask sub_812B340, 5, 167, -64 - wait - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0 - createtask sub_812B340, 5, 167, -64 - wait - pause 11 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 5, 4 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 3, 0, 0, 1, 2 - createtask sub_812B30C, 5, 141, 63 - jump _81D3F67 + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + waitforvisualfinish + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + waitforvisualfinish + delay 11 + createsprite gHorizontalLungeSpriteTemplate, 2, 5, 4 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask sub_812B30C, 5, 141, 63 + goto _81D3F67 _81D401E: - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0 - createtask sub_812B340, 5, 167, -64 - wait - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0 - createtask sub_812B340, 5, 167, -64 - wait - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0 - createtask sub_812B340, 5, 167, -64 - wait - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0 - createtask sub_812B340, 5, 167, -64 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -8, 1, 2 - createtask sub_812B30C, 5, 123, 63 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 10, 10, 1, 2 - createtask sub_812B30C, 5, 123, 63 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 3, -5, 1, 2 - createtask sub_812B30C, 5, 123, 63 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -5, 3, 1, 2 - createtask sub_812B30C, 5, 123, 63 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - jump _81D3F67 + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + waitforvisualfinish + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + waitforvisualfinish + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + waitforvisualfinish + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 10, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, -5, 3, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + goto _81D3F67 _81D4139: - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 0, 6, 0 - wait - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 16, 1, 0 - createtask sub_812B340, 5, 167, -64 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 3, -5, 1, 2 - createtask sub_812B30C, 5, 123, 63 - wait - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 12, 1, 0 - createtask sub_812B340, 5, 167, -64 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -8, 1, 2 - createtask sub_812B30C, 5, 123, 63 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - wait - pause 4 - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 8, 1, 0 - createtask sub_812B340, 5, 167, -64 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -8, 1, 2 - createtask sub_812B30C, 5, 123, 63 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - wait - pause 2 - createtask sub_80E2DD8, 2, 0, 4, 5, 1 - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 4, 1, 0 - createtask sub_812B340, 5, 167, -64 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -8, 1, 2 - createtask sub_812B30C, 5, 123, 63 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - createtask sub_80E2DD8, 2, 0, 4, 5, 1 - wait - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 4, 2, 0 - createtask sub_812B340, 5, 167, -64 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -8, 1, 2 - createtask sub_812B30C, 5, 123, 63 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - createtask sub_80E2DD8, 2, 0, 4, 5, 1 - wait + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 0, 6, 0 + waitforvisualfinish + createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + waitforvisualfinish + createsprite gVerticalDipSpriteTemplate, 2, 12, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + waitforvisualfinish + delay 4 + createsprite gVerticalDipSpriteTemplate, 2, 8, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + waitforvisualfinish + delay 2 + createvisualtask sub_80E2DD8, 2, 0, 4, 5, 1 + createsprite gVerticalDipSpriteTemplate, 2, 4, 1, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + createvisualtask sub_80E2DD8, 2, 0, 4, 5, 1 + waitforvisualfinish + createsprite gVerticalDipSpriteTemplate, 2, 4, 2, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + createvisualtask sub_80E2DD8, 2, 0, 4, 5, 1 + waitforvisualfinish call _81D4371 call _81D4371 call _81D4371 call _81D4371 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -10, -8, 1, 0 - createtask sub_812B30C, 5, 141, 63 - createtask sub_80A7E7C, 5, 1, 8, 0, 24, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 10, 10, 1, 0 - createtask sub_812B30C, 5, 141, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 3, -5, 1, 0 - createtask sub_812B30C, 5, 141, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, -5, 3, 1, 0 - createtask sub_812B30C, 5, 141, 63 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 6, 0, 0 - jump _81D3F67 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 0 + createvisualtask sub_812B30C, 5, 141, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 8, 0, 24, 1 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 10, 1, 0 + createvisualtask sub_812B30C, 5, 141, 63 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 0 + createvisualtask sub_812B30C, 5, 141, 63 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 2, -5, 3, 1, 0 + createvisualtask sub_812B30C, 5, 141, 63 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 6, 0, 0 + goto _81D3F67 _81D4371: - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 4, 3, 0 - createtask sub_812B340, 5, 167, -64 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_812B30C, 5, 123, 63 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - createtask sub_80E2DD8, 2, 0, 4, 5, 1 - wait - ret + createsprite gVerticalDipSpriteTemplate, 2, 4, 3, ANIM_BANK_ATTACKER + createvisualtask sub_812B340, 5, 167, -64 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask sub_812B30C, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + createvisualtask sub_80E2DD8, 2, 0, 4, 5, 1 + waitforvisualfinish + return Move_COSMIC_POWER: @ 81D43C5 - loadsprite 10049 - createtask sub_812B340, 5, 243, 0 - panse_19 SE_W322, 0 - createtask sub_80E3A08, 2, 0, 0, 15, 0 - wait + loadspritegfx 10049 + createvisualtask sub_812B340, 5, 243, 0 + playsewithpan SE_W322, 0 + createvisualtask sub_80E3A08, 2, 0, 0, 15, 0 + waitforvisualfinish fadetobg 16 waitbgfadeout - createtask sub_80E3A58, 2, 0, 128, 0, -1 + createvisualtask sub_80E3A58, 2, 0, 128, 0, -1 waitbgfadein - pause 70 - createtask sub_812B30C, 5, 228, -64 - sprite gBattleAnimSpriteTemplate_83D6C88, 2, -15, 0, 0, 0, 32, 60 - pause 8 - sprite gBattleAnimSpriteTemplate_83D6C88, 2, 12, -5, 0, 0, 32, 60 - pause 40 - createtask sub_80E3A08, 2, 0, 15, 0, 0 - wait + delay 70 + createvisualtask sub_812B30C, 5, 228, -64 + createsprite gBattleAnimSpriteTemplate_83D6C88, 2, -15, 0, 0, 0, 32, 60 + delay 8 + createsprite gBattleAnimSpriteTemplate_83D6C88, 2, 12, -5, 0, 0, 32, 60 + delay 40 + createvisualtask sub_80E3A08, 2, 0, 15, 0, 0 + waitforvisualfinish restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein - wait + waitforvisualfinish end Move_BLAST_BURN: @ 81D444A - loadsprite 10035 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - panse_19 SE_W221, 192 - sprite gBattleAnimSpriteTemplate_83D9538, 2, -32, 0, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 2, -20, -10, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 0, -16, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 20, -10, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 32, 0, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 20, 10, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 2, 0, 16, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 2, -20, 10, 24, 0, 0, 0 - pause 25 - panse_19 SE_W172B, 192 - sprite gBattleAnimSpriteTemplate_83D9538, 2, -64, 0, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 6, -40, -20, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 70, 0, -32, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 70, 40, -20, 24, 0, 0, 0 - createtask sub_80A7E7C, 5, 1, 6, 0, 8, 1 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 64, 0, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 40, 20, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 2, 0, 32, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 2, -40, 20, 24, 0, 0, 0 - createtask sub_80E2324, 2, 257, 257, 257 - pause 25 - panse_19 SE_W172B, 192 - sprite gBattleAnimSpriteTemplate_83D9538, 2, -96, 0, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 6, -60, -30, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 70, 0, -48, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 70, 60, -30, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, -4, 3, 1, 0 - createtask sub_80A7E7C, 5, 1, 12, 0, 20, 1 - createtask sub_80E26BC, 2, 2, 0, 10, 1 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 96, 0, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 66, 60, 30, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 2, 0, 48, 24, 0, 0, 0 - sprite gBattleAnimSpriteTemplate_83D9538, 2, -60, 30, 24, 0, 0, 0 - createtask sub_80E2324, 2, 257, 257, 257 - wait - clearmonbg 3 + loadspritegfx 10035 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W221, 192 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, -32, 0, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, -20, -10, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 0, -16, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 20, -10, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 32, 0, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 20, 10, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, 0, 16, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, -20, 10, 24, 0, 0, 0 + delay 25 + playsewithpan SE_W172B, 192 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, -64, 0, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 6, -40, -20, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 70, 0, -32, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 70, 40, -20, 24, 0, 0, 0 + createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 64, 0, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 40, 20, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, 0, 32, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, -40, 20, 24, 0, 0, 0 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 25 + playsewithpan SE_W172B, 192 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, -96, 0, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 6, -60, -30, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 70, 0, -48, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 70, 60, -30, 24, 0, 0, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, -4, 3, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, 1, 12, 0, 20, 1 + createvisualtask sub_80E26BC, 2, 2, 0, 10, 1 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 96, 0, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 66, 60, 30, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, 0, 48, 24, 0, 0, 0 + createsprite gBattleAnimSpriteTemplate_83D9538, 2, -60, 30, 24, 0, 0, 0 + createvisualtask sub_80E2324, 2, 257, 257, 257 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_ROCK_TOMB: @ 81D468C - loadsprite 10250 - loadsprite 10058 - createtask sub_80E26BC, 2, 2, 0, 10, 1 - wait - sprite gBattleAnimSpriteTemplate_83DADA8, 130, 20, 12, 64, 114, 0 - pause 8 - createtask sub_80E26BC, 2, 0, 2, 3, 1 - panse_19 SE_W070, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DADA8, 130, -20, 12, 64, 98, 0 - pause 8 - createtask sub_80E26BC, 2, 0, 2, 3, 1 - panse_19 SE_W070, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DADA8, 194, 3, 6, 64, 82, 0 - pause 8 - createtask sub_80E26BC, 2, 0, 2, 3, 1 - panse_19 SE_W070, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DADA8, 130, -3, 13, 64, 66, 0 - pause 8 - createtask sub_80E26BC, 2, 0, 2, 3, 1 - panse_19 SE_W070, 63 - pause 24 - panse_19 SE_W063, 63 - sprite gBattleAnimSpriteTemplate_83DA8F4, 133, 1, 50 - createtask sub_80A7E7C, 5, 1, 3, 0, 20, 1 - createtask sub_80E26BC, 2, 2, 0, 10, 1 - wait + loadspritegfx 10250 + loadspritegfx 10058 + createvisualtask sub_80E26BC, 2, 2, 0, 10, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DADA8, 130, 20, 12, 64, 114, 0 + delay 8 + createvisualtask sub_80E26BC, 2, 0, 2, 3, 1 + playsewithpan SE_W070, 63 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DADA8, 130, -20, 12, 64, 98, 0 + delay 8 + createvisualtask sub_80E26BC, 2, 0, 2, 3, 1 + playsewithpan SE_W070, 63 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DADA8, 194, 3, 6, 64, 82, 0 + delay 8 + createvisualtask sub_80E26BC, 2, 0, 2, 3, 1 + playsewithpan SE_W070, 63 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DADA8, 130, -3, 13, 64, 66, 0 + delay 8 + createvisualtask sub_80E26BC, 2, 0, 2, 3, 1 + playsewithpan SE_W070, 63 + delay 24 + playsewithpan SE_W063, 63 + createsprite gBattleAnimSpriteTemplate_83DA8F4, 133, 1, 50 + createvisualtask AnimTask_ShakeMon, 5, 1, 3, 0, 20, 1 + createvisualtask sub_80E26BC, 2, 2, 0, 10, 1 + waitforvisualfinish end Move_SILVER_WIND: @ 81D4773 - loadsprite 10271 + loadspritegfx 10271 panse_1B SE_W016, 192, 63, 2, 0 - panse_19 SE_W234, 0 - pause 0 - monbg 3 + playsewithpan SE_W234, 0 + delay 0 + monbg ANIM_BANK_DEF_PARTNER monbgprio_29 - pause 0 - createtask sub_80E2A7C, 10, 1, 0, 0, 4, 0 - createtask sub_80E3B78, 2 - jumpvareq 7, 1, _81D4974 + delay 0 + createvisualtask sub_80E2A7C, 10, 1, 0, 0, 4, 0 + createvisualtask sub_80E3B78, 2 + jumpargeq 7, 1, _81D4974 fadetobg 22 waitbgfadeout - createtask sub_80E3A58, 5, 1536, 0, 0, -1 + createvisualtask sub_80E3A58, 5, 1536, 0, 0, -1 _81D47BA: - pause 0 - createtask sub_80E2A38, 10, 1, 0, 4, 4, 0 + delay 0 + createvisualtask sub_80E2A38, 10, 1, 0, 4, 4, 0 waitbgfadein - sprite gBattleAnimSpriteTemplate_83D693C, 194, -32, 16, 0, 6, 2, 3, 1 - sprite gBattleAnimSpriteTemplate_83D693C, 194, -8, 18, 64, 3, 2, 2, 1 - sprite gBattleAnimSpriteTemplate_83D693C, 120, -24, 18, 90, 5, 1, 2, 1 - sprite gBattleAnimSpriteTemplate_83D693C, 120, -40, 14, 128, 4, 1, 2, 1 - pause 0 - sprite gBattleAnimSpriteTemplate_83D6954, 194, -32, 16, 0, 6, 2, 3, 1 - sprite gBattleAnimSpriteTemplate_83D6954, 194, -8, 18, 64, 3, 2, 2, 1 - sprite gBattleAnimSpriteTemplate_83D6954, 120, -24, 18, 90, 5, 1, 2, 1 - sprite gBattleAnimSpriteTemplate_83D6954, 120, -40, 14, 128, 4, 1, 2, 1 - pause 0 - sprite gBattleAnimSpriteTemplate_83D696C, 194, -32, 16, 0, 6, 2, 3, 1 - sprite gBattleAnimSpriteTemplate_83D696C, 194, -8, 18, 64, 3, 2, 2, 1 - sprite gBattleAnimSpriteTemplate_83D696C, 120, -24, 18, 90, 5, 1, 2, 1 - sprite gBattleAnimSpriteTemplate_83D696C, 120, -40, 14, 128, 4, 1, 2, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83D693C, 194, -4, 16, 0, 6, 1, 2, 1 - sprite gBattleAnimSpriteTemplate_83D693C, 194, -16, 12, 192, 5, 2, 3, 1 - pause 0 - sprite gBattleAnimSpriteTemplate_83D6954, 194, -4, 16, 0, 6, 1, 2, 1 - sprite gBattleAnimSpriteTemplate_83D6954, 194, -16, 12, 192, 5, 2, 3, 1 - pause 0 - sprite gBattleAnimSpriteTemplate_83D696C, 194, -4, 16, 0, 6, 1, 2, 1 - sprite gBattleAnimSpriteTemplate_83D696C, 194, -16, 12, 192, 5, 2, 3, 1 - wait - panse_19 SE_W016B, 63 - clearmonbg 3 - pause 0 + createsprite gBattleAnimSpriteTemplate_83D693C, 194, -32, 16, 0, 6, 2, 3, 1 + createsprite gBattleAnimSpriteTemplate_83D693C, 194, -8, 18, 64, 3, 2, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D693C, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D693C, 120, -40, 14, 128, 4, 1, 2, 1 + delay 0 + createsprite gBattleAnimSpriteTemplate_83D6954, 194, -32, 16, 0, 6, 2, 3, 1 + createsprite gBattleAnimSpriteTemplate_83D6954, 194, -8, 18, 64, 3, 2, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D6954, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D6954, 120, -40, 14, 128, 4, 1, 2, 1 + delay 0 + createsprite gBattleAnimSpriteTemplate_83D696C, 194, -32, 16, 0, 6, 2, 3, 1 + createsprite gBattleAnimSpriteTemplate_83D696C, 194, -8, 18, 64, 3, 2, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D696C, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D696C, 120, -40, 14, 128, 4, 1, 2, 1 + delay 6 + createsprite gBattleAnimSpriteTemplate_83D693C, 194, -4, 16, 0, 6, 1, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D693C, 194, -16, 12, 192, 5, 2, 3, 1 + delay 0 + createsprite gBattleAnimSpriteTemplate_83D6954, 194, -4, 16, 0, 6, 1, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D6954, 194, -16, 12, 192, 5, 2, 3, 1 + delay 0 + createsprite gBattleAnimSpriteTemplate_83D696C, 194, -4, 16, 0, 6, 1, 2, 1 + createsprite gBattleAnimSpriteTemplate_83D696C, 194, -16, 12, 192, 5, 2, 3, 1 + waitforvisualfinish + playsewithpan SE_W016B, 63 + clearmonbg ANIM_BANK_DEF_PARTNER + delay 0 restorebg waitbgfadeout - createtask sub_80E2A7C, 10, 1, 0, 4, 0, 0 - setvar 7, -1 + createvisualtask sub_80E2A7C, 10, 1, 0, 4, 0, 0 + setarg 7, -1 waitbgfadein end _81D4974: fadetobg 23 waitbgfadeout - createtask sub_80E3A58, 5, -1536, 0, 0, -1 - jump _81D47BA + createvisualtask sub_80E3A58, 5, -1536, 0, 0, -1 + goto _81D47BA Move_SNATCH: @ 81D498B - panse_19 SE_W036, 192 - createtask sub_80A8920, 5, 0, -12, 4, 10, 10, 12, 6 + playsewithpan SE_W036, 192 + createvisualtask sub_80A8920, 5, 0, -12, 4, 10, 10, 12, 6 end Move_DIVE: @ 81D49A5 - loadsprite 10272 - loadsprite 10273 - ifelse _81D49B4, _81D4A09 + loadspritegfx 10272 + loadspritegfx 10273 + choosetwoturnanim _81D49B4, _81D4A09 _81D49B4: - loadsprite 10156 - panse_19 SE_W029, 192 - sprite gBattleAnimSpriteTemplate_83DA5D8, 2, 0, 0, 13, 336 - wait - panse_19 SE_W291, 192 - sprite gBattleAnimSpriteTemplate_83DA614, 3, 0 + loadspritegfx 10156 + playsewithpan SE_W029, 192 + createsprite gBattleAnimSpriteTemplate_83DA5D8, 2, 0, 0, 13, 336 + waitforvisualfinish + playsewithpan SE_W291, 192 + createsprite gBattleAnimSpriteTemplate_83DA614, 3, 0 call _81D49F2 call _81D49F2 call _81D49F2 @@ -9194,578 +9196,578 @@ _81D49B4: call _81D49F2 end _81D49F2: - sprite gBattleAnimSpriteTemplate_83DA62C, 5, 0, 0 - sprite gBattleAnimSpriteTemplate_83DA62C, 5, 1, 0 - ret + createsprite gBattleAnimSpriteTemplate_83DA62C, 5, 0, 0 + createsprite gBattleAnimSpriteTemplate_83DA62C, 5, 1, 0 + return _81D4A09: - loadsprite 10148 - loadsprite 10155 - monbg 3 + loadspritegfx 10148 + loadspritegfx 10155 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - panse_19 SE_W153, 63 - sprite gBattleAnimSpriteTemplate_83DA614, 131, 1 + playsewithpan SE_W153, 63 + createsprite gBattleAnimSpriteTemplate_83DA614, 131, 1 call _81D4A48 call _81D4A48 call _81D4A48 call _81D4A48 call _81D4A48 - pause 12 + delay 12 call _81C9502 - wait + waitforvisualfinish visible 0 - clearmonbg 3 + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D4A48: - sprite gBattleAnimSpriteTemplate_83DA62C, 133, 0, 1 - sprite gBattleAnimSpriteTemplate_83DA62C, 133, 1, 1 - ret + createsprite gBattleAnimSpriteTemplate_83DA62C, 133, 0, 1 + createsprite gBattleAnimSpriteTemplate_83DA62C, 133, 1, 1 + return Move_ROCK_BLAST: @ 81D4A5F - loadsprite 10058 - loadsprite 10135 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6 - pause 3 - panse_19 SE_W207, 192 - sprite gBattleAnimSpriteTemplate_83DADE8, 130, 16, 0, 0, 0, 25, 257 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 1 - panse_19 SE_W088, 63 - sprite gBattleAnimSpriteTemplate_83DAC64, 130, 0, 0, 20, 24, 14, 2 - createtask sub_80A7E7C, 2, 1, 3, 0, 5, 1 - sprite gBattleAnimSpriteTemplate_83DAC64, 130, 5, 0, -20, 24, 14, 1 - sprite gBattleAnimSpriteTemplate_83DAC64, 130, 0, 5, 20, -24, 14, 2 - sprite gBattleAnimSpriteTemplate_83DAC64, 130, -5, 0, -20, -24, 14, 2 - wait + loadspritegfx 10058 + loadspritegfx 10135 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 3 + playsewithpan SE_W207, 192 + createsprite gBattleAnimSpriteTemplate_83DADE8, 130, 16, 0, 0, 0, 25, 257 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + playsewithpan SE_W088, 63 + createsprite gBattleAnimSpriteTemplate_83DAC64, 130, 0, 0, 20, 24, 14, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 5, 1 + createsprite gBattleAnimSpriteTemplate_83DAC64, 130, 5, 0, -20, 24, 14, 1 + createsprite gBattleAnimSpriteTemplate_83DAC64, 130, 0, 5, 20, -24, 14, 2 + createsprite gBattleAnimSpriteTemplate_83DAC64, 130, -5, 0, -20, -24, 14, 2 + waitforvisualfinish end Move_OVERHEAT: @ 81D4AFC - loadsprite 10029 - loadsprite 10135 - monbg 3 + loadspritegfx 10029 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 18 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 5, 28 - wait - createtask sub_80E4028, 5, 0, 1 - pause 1 - createtask sub_80E4178, 5, 0 - pause 1 - panse_19 SE_W082, 192 - createtask sub_80E4028, 5, 1, 0 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 1, 0, 13, 28 - createtask sub_80A7E7C, 5, 0, 2, 0, 15, 1 - wait - panse_19 SE_W172B, 192 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 0, 30, 25, -20 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 32, 30, 25, -20 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 64, 30, 25, -20 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 96, 30, 25, -20 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 128, 30, 25, -20 - sprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 160, 30, 25, -20 - sprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 192, 30, 25, -20 - sprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 224, 30, 25, -20 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 0, 30, 25, 0 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 32, 30, 25, 0 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 64, 30, 25, 0 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 96, 30, 25, 0 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 128, 30, 25, 0 - sprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 160, 30, 25, 0 - sprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 192, 30, 25, 0 - sprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 224, 30, 25, 0 - pause 5 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 0, 30, 25, 10 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 32, 30, 25, 10 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 64, 30, 25, 10 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 96, 30, 25, 10 - sprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 128, 30, 25, 10 - sprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 160, 30, 25, 10 - sprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 192, 30, 25, 10 - sprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 224, 30, 25, 10 - pause 5 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, -5, 3, 1, 0 - panse_19 SE_W007, 63 - createtask sub_80A7E7C, 2, 1, 10, 0, 25, 1 - pause 6 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 8, -5, 1, 0 - panse_19 SE_W007, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 10, 10, 1, 0 - panse_19 SE_W007, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 0 - panse_19 SE_W007, 63 - createtask sub_80E4178, 5, 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, -1, 0, 13, 19026 - createtask sub_80A7E7C, 5, 0, 3, 0, 15, 1 - wait - createtask sub_80E40D0, 5, 0, 1 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 5, 0, 28 - wait - clearmonbg 3 - blendoff - wait - pause 15 - createtask sub_80E40D0, 5, 1, 0 - pause 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 0, 13, 0, 19026 - wait + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 5, 28 + waitforvisualfinish + createvisualtask sub_80E4028, 5, 0, 1 + delay 1 + createvisualtask sub_80E4178, 5, 0 + delay 1 + playsewithpan SE_W082, 192 + createvisualtask sub_80E4028, 5, 1, 0 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 1, 0, 13, 28 + createvisualtask AnimTask_ShakeMon, 5, 0, 2, 0, 15, 1 + waitforvisualfinish + playsewithpan SE_W172B, 192 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 0, 30, 25, -20 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 32, 30, 25, -20 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 64, 30, 25, -20 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 96, 30, 25, -20 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 128, 30, 25, -20 + createsprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 160, 30, 25, -20 + createsprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 192, 30, 25, -20 + createsprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 224, 30, 25, -20 + delay 5 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 0, 30, 25, 0 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 32, 30, 25, 0 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 64, 30, 25, 0 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 96, 30, 25, 0 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 128, 30, 25, 0 + createsprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 160, 30, 25, 0 + createsprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 192, 30, 25, 0 + createsprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 224, 30, 25, 0 + delay 5 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 0, 30, 25, 10 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 32, 30, 25, 10 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 64, 30, 25, 10 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 96, 30, 25, 10 + createsprite gBattleAnimSpriteTemplate_83DB100, 2, 1, 128, 30, 25, 10 + createsprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 160, 30, 25, 10 + createsprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 192, 30, 25, 10 + createsprite gBattleAnimSpriteTemplate_83DB100, 66, 1, 224, 30, 25, 10 + delay 5 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 131, -5, 3, 1, 0 + playsewithpan SE_W007, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 10, 0, 25, 1 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 131, 8, -5, 1, 0 + playsewithpan SE_W007, 63 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 131, 10, 10, 1, 0 + playsewithpan SE_W007, 63 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 0 + playsewithpan SE_W007, 63 + createvisualtask sub_80E4178, 5, 1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, -1, 0, 13, 19026 + createvisualtask AnimTask_ShakeMon, 5, 0, 3, 0, 15, 1 + waitforvisualfinish + createvisualtask sub_80E40D0, 5, 0, 1 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 5, 0, 28 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + blendoff + waitforvisualfinish + delay 15 + createvisualtask sub_80E40D0, 5, 1, 0 + delay 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 0, 13, 0, 19026 + waitforvisualfinish end Move_HYDRO_CANNON: @ 81D4DDE - loadsprite 10149 - loadsprite 10148 - monbg 3 - setalpha 12, 8 - panse_19 SE_W057, 192 - sprite gBattleAnimSpriteTemplate_83D92D0, 130 - pause 10 - createtask sub_80E2324, 2, 257, 257, 257 - pause 30 + loadspritegfx 10149 + loadspritegfx 10148 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_W057, 192 + createsprite gBattleAnimSpriteTemplate_83D92D0, 130 + delay 10 + createvisualtask sub_80E2324, 2, 257, 257, 257 + delay 30 panse_1B SE_W056, 192, 63, 2, 0 call _81D4EA8 - createtask sub_80A7E7C, 5, 1, 10, 0, 40, 1 - sprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, 1, 10, 0, 40, 1 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 call _81D4EA8 - sprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 call _81D4EA8 - sprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 call _81D4EA8 - sprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 call _81D4EA8 - sprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 call _81D4EA8 - sprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 - wait - createtask sub_80E2324, 2, 257, 257, 257 - wait - clearmonbg 3 + createsprite gBattleAnimSpriteTemplate_83DB4D8, 130, 0, 0, 1, 0 + waitforvisualfinish + createvisualtask sub_80E2324, 2, 257, 257, 257 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D4EA8: - sprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 - pause 1 - sprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 - pause 1 - sprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 - pause 1 - sprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 - pause 1 - sprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 - ret + createsprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D92E8, 130, 10, -10, 0, 0, 15, 257 + return Move_ASTONISH: @ 81D4F10 - loadsprite 10273 - panse_19 SE_W227, 192 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6 - pause 25 - sprite gBattleAnimSpriteTemplate_83DA62C, 133, 0, 1 - panse_19 SE_W166, 63 - sprite gBattleAnimSpriteTemplate_83DA62C, 133, 1, 1 - createtask sub_80A7FA0, 2, 1, 4, 0, 5, 1 - createtask sub_80D1E38, 3 - wait + loadspritegfx 10273 + playsewithpan SE_W227, 192 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 25 + createsprite gBattleAnimSpriteTemplate_83DA62C, 133, 0, 1 + playsewithpan SE_W166, 63 + createsprite gBattleAnimSpriteTemplate_83DA62C, 133, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 5, 1 + createvisualtask sub_80D1E38, 3 + waitforvisualfinish end Move_SEISMIC_TOSS: @ 81D4F58 - loadsprite 10135 - loadsprite 10058 - setvar 7, 0 - monbg 3 - setalpha 12, 8 - wait - createtask sub_80DDA4C, 3 - pause 1 + loadspritegfx 10135 + loadspritegfx 10058 + setarg 7, 0 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + waitforvisualfinish + createvisualtask sub_80DDA4C, 3 + delay 1 fadetobg 17 waitbgfadeout - createtask sub_80DDA8C, 3 - panse_19 SE_W327, 0 + createvisualtask sub_80DDA8C, 3 + playsewithpan SE_W327, 0 waitbgfadein - wait - createtask sub_80DDAF0, 3 - jumpvareq 7, 0, _81D4FAB - jumpvareq 7, 1, _81D4FBC - jumpvareq 7, 2, _81D4FD4 + waitforvisualfinish + createvisualtask sub_80DDAF0, 3 + jumpargeq 7, 0, _81D4FAB + jumpargeq 7, 1, _81D4FBC + jumpargeq 7, 2, _81D4FD4 _81D4FA0: restorebg waitbgfadeout - setvar 7, 4095 + setarg 7, 4095 waitbgfadein - clearmonbg 3 + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end _81D4FAB: call _81D4FF3 - pause 16 + delay 16 call _81D5054 - jump _81D4FA0 + goto _81D4FA0 _81D4FBC: call _81D4FF3 - pause 14 + delay 14 call _81D5054 - pause 14 + delay 14 call _81D4FF3 - jump _81D4FA0 + goto _81D4FA0 _81D4FD4: call _81D5054 - pause 10 + delay 10 call _81D4FF3 - pause 10 + delay 10 call _81D5054 - pause 10 + delay 10 call _81D4FF3 - jump _81D4FA0 + goto _81D4FA0 _81D4FF3: - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, -10, -8, 1, 1 - panse_19 SE_W070, 63 - createtask sub_80A7E7C, 2, 1, 0, 3, 5, 1 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, -12, 27, 2, 3 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, 8, 28, 3, 4 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, -4, 30, 2, 3 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, 12, 25, 4, 4 - ret + createsprite gBasicHitSplatSpriteTemplate, 131, -10, -8, 1, 1 + playsewithpan SE_W070, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 5, 1 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, -12, 27, 2, 3 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 8, 28, 3, 4 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, -4, 30, 2, 3 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 12, 25, 4, 4 + return _81D5054: - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 10, -8, 1, 1 - panse_19 SE_W088, 63 - createtask sub_80A7E7C, 2, 1, 0, 3, 5, 1 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, -12, 32, 3, 4 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, 8, 31, 2, 2 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, -4, 28, 2, 3 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, 12, 30, 4, 3 - ret + createsprite gBasicHitSplatSpriteTemplate, 131, 10, -8, 1, 1 + playsewithpan SE_W088, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 5, 1 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, -12, 32, 3, 4 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 8, 31, 2, 2 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, -4, 28, 2, 3 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 12, 30, 4, 3 + return Move_MAGIC_COAT: @ 81D50B5 - loadsprite 10170 + loadspritegfx 10170 setalpha 0, 16 - panse_1D SE_W112, 192, 15 - sprite gBattleAnimSpriteTemplate_83DA708, 3, 40, 0, 10170 - wait - pause 1 + waitplaysewithpan SE_W112, 192, 15 + createsprite gBattleAnimSpriteTemplate_83DA708, 3, 40, 0, 10170 + waitforvisualfinish + delay 1 blendoff end Move_WATER_PULSE: @ 81D50D2 - loadsprite 10155 - loadsprite 10288 - monbg 1 + loadspritegfx 10155 + loadspritegfx 10288 + monbg ANIM_BANK_TARGET monbgprio_28 1 - panse_19 SE_W145C, 192 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 0, 7, 29472 - pause 10 - sprite gBattleAnimSpriteTemplate_83D9408, 66, 100, 100, 8, 1, 20, 40, 0 - sprite gBattleAnimSpriteTemplate_83D9408, 66, 20, 100, 16, 2, 10, 35, 1 - sprite gBattleAnimSpriteTemplate_83D9408, 66, 200, 80, 8, 1, 40, 20, 0 - sprite gBattleAnimSpriteTemplate_83D9408, 66, 80, 60, 10, 3, 20, 50, 0 - sprite gBattleAnimSpriteTemplate_83D9408, 66, 140, 100, 16, 1, 20, 30, 1 - panse_19 SE_W145C, 63 - wait - panse_19 SE_W202, 192 - sprite gBattleAnimSpriteTemplate_83D757C, 130, 0, 0, 40, 15 - pause 5 - panse_19 SE_W202, 192 - sprite gBattleAnimSpriteTemplate_83D757C, 130, 0, 0, 40, 15 - pause 5 - panse_19 SE_W202, 192 - sprite gBattleAnimSpriteTemplate_83D757C, 130, 0, 0, 40, 15 - pause 13 - createtask sub_80A7E7C, 2, 1, 0, 8, 18, 1 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 7, 0, 29472 - wait - clearmonbg 3 + playsewithpan SE_W145C, 192 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 0, 7, 29472 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D9408, 66, 100, 100, 8, 1, 20, 40, 0 + createsprite gBattleAnimSpriteTemplate_83D9408, 66, 20, 100, 16, 2, 10, 35, 1 + createsprite gBattleAnimSpriteTemplate_83D9408, 66, 200, 80, 8, 1, 40, 20, 0 + createsprite gBattleAnimSpriteTemplate_83D9408, 66, 80, 60, 10, 3, 20, 50, 0 + createsprite gBattleAnimSpriteTemplate_83D9408, 66, 140, 100, 16, 1, 20, 30, 1 + playsewithpan SE_W145C, 63 + waitforvisualfinish + playsewithpan SE_W202, 192 + createsprite gBattleAnimSpriteTemplate_83D757C, 130, 0, 0, 40, 15 + delay 5 + playsewithpan SE_W202, 192 + createsprite gBattleAnimSpriteTemplate_83D757C, 130, 0, 0, 40, 15 + delay 5 + playsewithpan SE_W202, 192 + createsprite gBattleAnimSpriteTemplate_83D757C, 130, 0, 0, 40, 15 + delay 13 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 8, 18, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 7, 0, 29472 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end Move_PSYCHO_BOOST: @ 81D51C7 - loadsprite 10212 - monbg 2 + loadspritegfx 10212 + monbg ANIM_BANK_ATK_PARTNER fadetobg 3 waitbgfadeout - createtask sub_812C624, 5 + createvisualtask sub_812C624, 5 waitbgfadein - pause 6 - createtask sub_80E1F8C, 2, 1, 2, 8, 0, 10, 0 - pause 0 + delay 6 + createvisualtask sub_80E1F8C, 2, 1, 2, 8, 0, 10, 0 + delay 0 monbgprio_28 0 setalpha 8, 8 - pause 10 - createtask sub_80A7E7C, 2, 0, 3, 0, 240, 0 - panse_1C SE_W060B, 192, 14, 10 - sprite gBattleAnimSpriteTemplate_83DAA68, 2 - pause 110 - panse_1C SE_W060B, 192, 7, 10 - wait - createtask sub_80A7FA0, 2, 1, -8, 1, 24, 1 - panse_19 SE_W043, 63 - wait - clearmonbg 2 + delay 10 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_ATTACKER, 3, 0, 240, 0 + loopsewithpan SE_W060B, 192, 14, 10 + createsprite gBattleAnimSpriteTemplate_83DAA68, 2 + delay 110 + loopsewithpan SE_W060B, 192, 7, 10 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, -8, 1, 24, 1 + playsewithpan SE_W043, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff call Unknown_81D61F3 end Move_KNOCK_OFF: @ 81D523B - loadsprite 10277 - loadsprite 10135 - sprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6 - pause 4 - panse_19 SE_W233, 63 - sprite gBattleAnimSpriteTemplate_8402AE4, 130, -16, -16 - pause 8 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 5, 1, 32767, 10, 0, 0 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, 0, 1, 2 - panse_19 SE_W004, 63 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -12, 10, 0, 3 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5 - pause 3 - createtask sub_80A8154, 2, 1, 0, 3, 6, 1 - pause 5 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6 - pause 10 - wait + loadspritegfx 10277 + loadspritegfx 10135 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 4 + playsewithpan SE_W233, 63 + createsprite gBattleAnimSpriteTemplate_8402AE4, 130, -16, -16 + delay 8 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 5, 1, 32767, 10, 0, 0 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 2 + playsewithpan SE_W004, 63 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -12, 10, 0, 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + delay 3 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 0, 3, 6, 1 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 + delay 10 + waitforvisualfinish end Move_DOOM_DESIRE: @ 81D52CB - createtask sub_80E0EE8, 2 - pause 1 - monbg 2 - createtask sub_80E0E24, 5, 1, 0 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 4, 0 - wait + createvisualtask sub_80E0EE8, 2 + delay 1 + monbg ANIM_BANK_ATK_PARTNER + createvisualtask sub_80E0E24, 5, 1, 0 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 4, 0 + waitforvisualfinish setalpha 8, 8 - panse_19 SE_W060, 192 - createtask sub_80A8D34, 5, -4, -4, 15, 0, 1 - wait - pause 20 - createtask sub_80E0E24, 5, 1, 1 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 4, 0, 0 - wait - clearmonbg 2 + playsewithpan SE_W060, 192 + createvisualtask sub_80A8D34, 5, -4, -4, 15, 0, 1 + waitforvisualfinish + delay 20 + createvisualtask sub_80E0E24, 5, 1, 1 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 4, 0, 0 + waitforvisualfinish + clearmonbg ANIM_BANK_ATK_PARTNER blendoff end Unknown_81D532F: @ 81D532F - loadsprite 10198 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 16, 32767 - wait - pause 10 - createtask sub_812E14C, 5 - pause 5 - panse_19 SE_W109, 192 - pause 10 - panse_19 SE_W109, 0 - pause 10 - panse_19 SE_W109, 63 - pause 23 - createtask sub_80A8154, 2, 1, 10, 0, 20, 1 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 1, 1 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 32767 - wait + loadspritegfx 10198 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 16, 32767 + waitforvisualfinish + delay 10 + createvisualtask sub_812E14C, 5 + delay 5 + playsewithpan SE_W109, 192 + delay 10 + playsewithpan SE_W109, 0 + delay 10 + playsewithpan SE_W109, 63 + delay 23 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 10, 0, 20, 1 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 1, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 32767 + waitforvisualfinish end Move_SKY_UPPERCUT: @ 81D53ED - loadsprite 10135 - monbg 3 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 fadetobg 17 waitbgfadeout - panse_19 SE_W327, 192 - createtask sub_80D9C80, 5, 55 + playsewithpan SE_W327, 192 + createvisualtask sub_80D9C80, 5, 55 waitbgfadein setalpha 12, 8 - pause 38 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 28, 0, 0, 5 - pause 4 - createtask sub_80A7FA0, 2, 1, 4, 0, 6, 1 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, -28, 28, 1, 1 - pause 1 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, -15, 8, 1, 1 - panse_19 SE_W233B, 63 - pause 1 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, -5, -12, 1, 1 - pause 1 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 0, -32, 1, 1 - pause 1 - panse_19 SE_W233B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 5, -52, 1, 1 - sprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -26, 16, 1, 4 - pause 4 - createtask sub_80A8154, 2, 1, 0, 3, 6, 1 - pause 30 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 6 - pause 4 - sprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6 - clearmonbg 3 + delay 38 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 28, 0, 0, 5 + delay 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 6, 1 + playsewithpan SE_W233B, 63 + createsprite gBasicHitSplatSpriteTemplate, 131, -28, 28, 1, 1 + delay 1 + playsewithpan SE_W233B, 63 + createsprite gBasicHitSplatSpriteTemplate, 131, -15, 8, 1, 1 + playsewithpan SE_W233B, 63 + delay 1 + playsewithpan SE_W233B, 63 + createsprite gBasicHitSplatSpriteTemplate, 131, -5, -12, 1, 1 + delay 1 + playsewithpan SE_W233B, 63 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, -32, 1, 1 + delay 1 + playsewithpan SE_W233B, 63 + createsprite gBasicHitSplatSpriteTemplate, 131, 5, -52, 1, 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -26, 16, 1, 4 + delay 4 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 0, 3, 6, 1 + delay 30 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6 + delay 4 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 + clearmonbg ANIM_BANK_DEF_PARTNER blendoff restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein end Move_SECRET_POWER: @ 81D54E6 - createtask sub_80E4008, 5 - jumpvareq 0, 0, Move_NEEDLE_ARM - jumpvareq 0, 1, Move_MAGICAL_LEAF - jumpvareq 0, 2, Move_MUD_SHOT - jumpvareq 0, 3, Move_WATERFALL - jumpvareq 0, 4, Move_SURF - jumpvareq 0, 5, Move_BUBBLE_BEAM - jumpvareq 0, 6, Move_ROCK_THROW - jumpvareq 0, 7, Move_BITE - jumpvareq 0, 8, Move_STRENGTH - jump Move_SLAM + createvisualtask sub_80E4008, 5 + jumpargeq 0, 0, Move_NEEDLE_ARM + jumpargeq 0, 1, Move_MAGICAL_LEAF + jumpargeq 0, 2, Move_MUD_SHOT + jumpargeq 0, 3, Move_WATERFALL + jumpargeq 0, 4, Move_SURF + jumpargeq 0, 5, Move_BUBBLE_BEAM + jumpargeq 0, 6, Move_ROCK_THROW + jumpargeq 0, 7, Move_BITE + jumpargeq 0, 8, Move_STRENGTH + goto Move_SLAM Move_TWISTER: @ 81D553A - loadsprite 10063 - loadsprite 10135 - loadsprite 10058 - monbg 3 + loadspritegfx 10063 + loadspritegfx 10135 + loadspritegfx 10058 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 - panse_19 SE_W239, 63 - sprite gBattleAnimSpriteTemplate_83D64B4, 130, 120, 70, 5, 70, 30 - pause 1 - sprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 55, 6, 60, 25 - pause 1 - sprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 60, 7, 60, 30 - sprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 55, 10, 60, 30 - pause 3 - sprite gBattleAnimSpriteTemplate_83DAE18, 130, 100, 50, 4, 50, 26 - pause 1 - sprite gBattleAnimSpriteTemplate_83D64B4, 130, 105, 25, 8, 60, 20 - pause 1 - sprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 40, 10, 48, 30 - pause 3 - sprite gBattleAnimSpriteTemplate_83DAE18, 130, 120, 30, 6, 45, 25 - sprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 35, 10, 60, 30 - pause 3 - sprite gBattleAnimSpriteTemplate_83DAE18, 130, 105, 20, 8, 40, 0 - pause 3 - sprite gBattleAnimSpriteTemplate_83D64B4, 130, 20, 255, 15, 32, 0 - sprite gBattleAnimSpriteTemplate_83D64B4, 130, 110, 10, 8, 32, 20 - wait - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, -32, -16, 1, 3 - panse_19 SE_W004, 63 - createtask sub_80A8154, 2, 1, 3, 0, 12, 1 - createtask sub_80A8154, 2, 3, 3, 0, 12, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 3 - panse_19 SE_W004, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 3 - panse_19 SE_W004, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83DB4A8, 131, 32, 20, 1, 3 - panse_19 SE_W004, 63 - wait - clearmonbg 3 + playsewithpan SE_W239, 63 + createsprite gBattleAnimSpriteTemplate_83D64B4, 130, 120, 70, 5, 70, 30 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 55, 6, 60, 25 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 60, 7, 60, 30 + createsprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 55, 10, 60, 30 + delay 3 + createsprite gBattleAnimSpriteTemplate_83DAE18, 130, 100, 50, 4, 50, 26 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D64B4, 130, 105, 25, 8, 60, 20 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 40, 10, 48, 30 + delay 3 + createsprite gBattleAnimSpriteTemplate_83DAE18, 130, 120, 30, 6, 45, 25 + createsprite gBattleAnimSpriteTemplate_83D64B4, 130, 115, 35, 10, 60, 30 + delay 3 + createsprite gBattleAnimSpriteTemplate_83DAE18, 130, 105, 20, 8, 40, 0 + delay 3 + createsprite gBattleAnimSpriteTemplate_83D64B4, 130, 20, 255, 15, 32, 0 + createsprite gBattleAnimSpriteTemplate_83D64B4, 130, 110, 10, 8, 32, 20 + waitforvisualfinish + createsprite gBasicHitSplatSpriteTemplate, 131, -32, -16, 1, 3 + playsewithpan SE_W004, 63 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_DEF_PARTNER, 3, 0, 12, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 3 + playsewithpan SE_W004, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 3 + playsewithpan SE_W004, 63 + delay 4 + createsprite gBasicHitSplatSpriteTemplate, 131, 32, 20, 1, 3 + playsewithpan SE_W004, 63 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_MAGICAL_LEAF: @ 81D5699 - loadsprite 10063 - loadsprite 10160 - loadsprite 10135 - monbg 3 - setalpha 12, 8 - pause 1 - panse_1C SE_W077, 192, 10, 5 - createtask sub_80CC5F8, 5 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -2, 10 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -1, -1, 15 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -4, -4, 7 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, 3, -3, 11 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -1, -6, 8 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, 2, -1, 12 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -4, 13 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, 4, -5, 7 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, 2, -6, 11 - pause 2 - sprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -5, 8 - pause 60 - panse_19 SE_W013B, 192 - sprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 32, 20, 0 - sprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 32, -20, 0 - pause 30 - panse_19 SE_W013, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 132, -10, -4, 1, 2 - sprite gBattleAnimSpriteTemplate_83DB4A8, 132, 10, 4, 1, 2 - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - pause 20 - setvar 7, -1 - wait - clearmonbg 3 + loadspritegfx 10063 + loadspritegfx 10160 + loadspritegfx 10135 + monbg ANIM_BANK_DEF_PARTNER + setalpha 12, 8 + delay 1 + loopsewithpan SE_W077, 192, 10, 5 + createvisualtask sub_80CC5F8, 5 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -2, 10 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -1, -1, 15 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -4, -4, 7 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, 3, -3, 11 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -1, -6, 8 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, 2, -1, 12 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -4, 13 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, 4, -5, 7 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, 2, -6, 11 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D649C, 2, -3, -5, 8 + delay 60 + playsewithpan SE_W013B, 192 + createsprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 32, 20, 0 + createsprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 32, -20, 0 + delay 30 + playsewithpan SE_W013, 63 + createsprite gBasicHitSplatSpriteTemplate, 132, -10, -4, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, 132, 10, 4, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + delay 20 + setarg 7, -1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end Move_ICE_BALL: @ 81D57BA - loadsprite 10043 - loadsprite 10141 - createtask sub_80D8FC0, 5, 0 - jumpvareq 0, 4, _81D5831 + loadspritegfx 10043 + loadspritegfx 10141 + createvisualtask sub_80D8FC0, 5, 0 + jumpargeq 0, 4, _81D5831 _81D57D1: - panse_19 SE_W196, 192 - sprite gBattleAnimSpriteTemplate_83D9EF4, 130, 15, 0, -12, -16, 30, -40 - pause 28 - panse_19 SE_W280, 63 - createtask sub_80D8FC0, 5, 0 - jumpvareq 0, 0, _81D5842 - jumpvareq 0, 1, _81D5871 - jumpvareq 0, 2, _81D58AA - jumpvareq 0, 3, _81D58ED - jumpvareq 0, 4, _81D5935 + playsewithpan SE_W196, 192 + createsprite gBattleAnimSpriteTemplate_83D9EF4, 130, 15, 0, -12, -16, 30, -40 + delay 28 + playsewithpan SE_W280, 63 + createvisualtask sub_80D8FC0, 5, 0 + jumpargeq 0, 0, _81D5842 + jumpargeq 0, 1, _81D5871 + jumpargeq 0, 2, _81D58AA + jumpargeq 0, 3, _81D58ED + jumpargeq 0, 4, _81D5935 _81D581F: - createtask sub_80D8FC0, 5, 0 - jumpvareq 0, 4, _81D5838 + createvisualtask sub_80D8FC0, 5, 0 + jumpargeq 0, 4, _81D5838 _81D5830: end _81D5831: fadetobg 15 - jump _81D57D1 + goto _81D57D1 _81D5838: waitbgfadein - pause 45 + delay 45 restorebg waitbgfadein - jump _81D5830 + goto _81D5830 _81D5842: - createtask sub_80A9058, 2, 0, 1, 8, 1, 0 + createvisualtask sub_80A9058, 2, 0, 1, 8, 1, 0 call _81D597D call _81D597D call _81D597D call _81D597D call _81D597D - jump _81D581F + goto _81D581F _81D5871: - createtask sub_80A9058, 2, 0, 1, 10, 1, 0 + createvisualtask sub_80A9058, 2, 0, 1, 10, 1, 0 call _81D597D call _81D597D call _81D597D @@ -9773,9 +9775,9 @@ _81D5871: call _81D597D call _81D597D call _81D597D - jump _81D581F + goto _81D581F _81D58AA: - createtask sub_80A9058, 2, 0, 1, 14, 1, 0 + createvisualtask sub_80A9058, 2, 0, 1, 14, 1, 0 call _81D597D call _81D597D call _81D597D @@ -9785,9 +9787,9 @@ _81D58AA: call _81D597D call _81D597D call _81D597D - jump _81D581F + goto _81D581F _81D58ED: - createtask sub_80A9058, 2, 0, 1, 18, 1, 0 + createvisualtask sub_80A9058, 2, 0, 1, 18, 1, 0 call _81D597D call _81D597D call _81D597D @@ -9798,9 +9800,9 @@ _81D58ED: call _81D597D call _81D597D call _81D597D - jump _81D581F + goto _81D581F _81D5935: - createtask sub_80A9058, 2, 0, 1, 30, 1, 0 + createvisualtask sub_80A9058, 2, 0, 1, 30, 1, 0 call _81D597D call _81D597D call _81D597D @@ -9811,935 +9813,935 @@ _81D5935: call _81D597D call _81D597D call _81D597D - jump _81D581F + goto _81D581F _81D597D: - sprite gBattleAnimSpriteTemplate_83D9F0C, 132, -12, -16 - ret + createsprite gBattleAnimSpriteTemplate_83D9F0C, 132, -12, -16 + return Move_WEATHER_BALL: @ 81D5989 - loadsprite 10283 - sprite gBattleAnimSpriteTemplate_83C1FC8, 2, 8, 1, 0 - pause 8 - panse_19 SE_W207, 192 - sprite gBattleAnimSpriteTemplate_83930A8, 2 - wait - pause 15 - panse_19 SE_W197, 0 - sprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 5, 1, 32767, 10, 0, 0 - wait - createtask sub_8132528, 2 - pause 1 - jumpvareq 7, 0, _81D59F4 - jumpvareq 7, 1, _81D5A31 - jumpvareq 7, 2, _81D5A95 - jumpvareq 7, 3, _81D5AF9 - jumpvareq 7, 4, _81D5B99 + loadspritegfx 10283 + createsprite gVerticalDipSpriteTemplate, 2, 8, 1, ANIM_BANK_ATTACKER + delay 8 + playsewithpan SE_W207, 192 + createsprite gBattleAnimSpriteTemplate_83930A8, 2 + waitforvisualfinish + delay 15 + playsewithpan SE_W197, 0 + createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 5, 1, 32767, 10, 0, 0 + waitforvisualfinish + createvisualtask sub_8132528, 2 + delay 1 + jumpargeq 7, 0, _81D59F4 + jumpargeq 7, 1, _81D5A31 + jumpargeq 7, 2, _81D5A95 + jumpargeq 7, 3, _81D5AF9 + jumpargeq 7, 4, _81D5B99 _81D59F4: - loadsprite 10135 - sprite gBattleAnimSpriteTemplate_83930C0, 130, -30, -100, 25, 1, 0, 0 - wait - panse_19 SE_W025B, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 132, -10, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 0, 3, 8, 1 - wait + loadspritegfx 10135 + createsprite gBattleAnimSpriteTemplate_83930C0, 130, -30, -100, 25, 1, 0, 0 + waitforvisualfinish + playsewithpan SE_W025B, 63 + createsprite gBasicHitSplatSpriteTemplate, 132, -10, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 8, 1 + waitforvisualfinish end _81D5A31: - loadsprite 10029 - sprite gBattleAnimSpriteTemplate_83D96AC, 130, -30, -100, 25, 1, 40, 10 - panse_19 SE_W172, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83D96AC, 130, -30, -100, 25, 1, -40, 20 - panse_19 SE_W172, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83D96AC, 130, -30, -100, 25, 1, 0, 0 - panse_19 SE_W172, 63 - wait - panse_19 SE_W172B, 63 - createtask sub_80A7E7C, 2, 1, 0, 3, 8, 1 - wait + loadspritegfx 10029 + createsprite gBattleAnimSpriteTemplate_83D96AC, 130, -30, -100, 25, 1, 40, 10 + playsewithpan SE_W172, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D96AC, 130, -30, -100, 25, 1, -40, 20 + playsewithpan SE_W172, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D96AC, 130, -30, -100, 25, 1, 0, 0 + playsewithpan SE_W172, 63 + waitforvisualfinish + playsewithpan SE_W172B, 63 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 8, 1 + waitforvisualfinish end _81D5A95: - loadsprite 10155 - sprite gBattleAnimSpriteTemplate_83D9438, 130, -30, -100, 25, 1, 50, 10 - panse_19 SE_W152, 63 - pause 8 - sprite gBattleAnimSpriteTemplate_83D9438, 130, -30, -100, 25, 1, -20, 20 - panse_19 SE_W152, 63 - pause 13 - sprite gBattleAnimSpriteTemplate_83D9438, 130, -30, -100, 25, 1, 0, 0 - panse_19 SE_W152, 63 - wait - createtask sub_80A7E7C, 2, 1, 0, 3, 8, 1 - panse_19 SE_W202, 63 - wait + loadspritegfx 10155 + createsprite gBattleAnimSpriteTemplate_83D9438, 130, -30, -100, 25, 1, 50, 10 + playsewithpan SE_W152, 63 + delay 8 + createsprite gBattleAnimSpriteTemplate_83D9438, 130, -30, -100, 25, 1, -20, 20 + playsewithpan SE_W152, 63 + delay 13 + createsprite gBattleAnimSpriteTemplate_83D9438, 130, -30, -100, 25, 1, 0, 0 + playsewithpan SE_W152, 63 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 0, 3, 8, 1 + playsewithpan SE_W202, 63 + waitforvisualfinish end _81D5AF9: - loadsprite 10058 - sprite gBattleAnimSpriteTemplate_83DAE30, 130, -30, -100, 25, 1, 30, 0 - panse_19 SE_W088, 63 - pause 5 - sprite gBattleAnimSpriteTemplate_83DAE30, 130, -30, -100, 25, 1, -40, 20 - panse_19 SE_W088, 63 - pause 14 - sprite gBattleAnimSpriteTemplate_83DAE30, 130, -30, -100, 25, 1, 0, 0 - panse_19 SE_W088, 63 - wait - panse_19 SE_W070, 63 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, -12, 27, 2, 3 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, 8, 28, 3, 4 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, -4, 30, 2, 3 - sprite gBattleAnimSpriteTemplate_83DAE00, 130, 12, 25, 4, 4 - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - wait + loadspritegfx 10058 + createsprite gBattleAnimSpriteTemplate_83DAE30, 130, -30, -100, 25, 1, 30, 0 + playsewithpan SE_W088, 63 + delay 5 + createsprite gBattleAnimSpriteTemplate_83DAE30, 130, -30, -100, 25, 1, -40, 20 + playsewithpan SE_W088, 63 + delay 14 + createsprite gBattleAnimSpriteTemplate_83DAE30, 130, -30, -100, 25, 1, 0, 0 + playsewithpan SE_W088, 63 + waitforvisualfinish + playsewithpan SE_W070, 63 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, -12, 27, 2, 3 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 8, 28, 3, 4 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, -4, 30, 2, 3 + createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 12, 25, 4, 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + waitforvisualfinish end _81D5B99: - loadsprite 10263 - loadsprite 10141 - sprite gBattleAnimSpriteTemplate_83D9E54, 130, -30, -100, 25, 25, -40, 20 - panse_19 SE_W258, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83D9E54, 130, -30, -100, 25, 25, 40, 0 - panse_19 SE_W258, 63 - pause 10 - sprite gBattleAnimSpriteTemplate_83D9E54, 130, -30, -100, 25, 25, 0, 0 - panse_19 SE_W258, 63 - wait - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - panse_19 SE_W196, 63 + loadspritegfx 10263 + loadspritegfx 10141 + createsprite gBattleAnimSpriteTemplate_83D9E54, 130, -30, -100, 25, 25, -40, 20 + playsewithpan SE_W258, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D9E54, 130, -30, -100, 25, 25, 40, 0 + playsewithpan SE_W258, 63 + delay 10 + createsprite gBattleAnimSpriteTemplate_83D9E54, 130, -30, -100, 25, 25, 0, 0 + playsewithpan SE_W258, 63 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + playsewithpan SE_W196, 63 call Unknown_81D5C36 - wait + waitforvisualfinish end PoundCopy: @ 81D5C05 - loadsprite 10135 - monbg 1 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W003, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - wait - clearmonbg 1 + playsewithpan SE_W003, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end Unknown_81D5C36: @ 81D5C36 - sprite gBattleAnimSpriteTemplate_83D9C78, 130, -10, -10, 0 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, 10, 20, 0 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C78, 130, -5, 10, 0 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, 17, -12, 0 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, -15, 15, 0 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, 0, 0, 0 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C78, 130, 20, 2, 0 - panse_19 SE_W196, 63 - ret + createsprite gBattleAnimSpriteTemplate_83D9C78, 130, -10, -10, 0 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, 10, 20, 0 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C78, 130, -5, 10, 0 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, 17, -12, 0 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, -15, 15, 0 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, 0, 0, 0 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C78, 130, 20, 2, 0 + playsewithpan SE_W196, 63 + return Unknown_81D5CBA: @ 81D5CBA - sprite gBattleAnimSpriteTemplate_83D9C78, 130, -10, -10, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, 10, 20, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C78, 130, -29, 0, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, 29, -20, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C78, 130, -5, 10, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, 17, -12, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C78, 130, -20, 0, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, -15, 15, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, 26, -5, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C90, 130, 0, 0, 1 - panse_19 SE_W196, 63 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9C78, 130, 20, 2, 1 - panse_19 SE_W196, 63 - ret + createsprite gBattleAnimSpriteTemplate_83D9C78, 130, -10, -10, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, 10, 20, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C78, 130, -29, 0, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, 29, -20, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C78, 130, -5, 10, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, 17, -12, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C78, 130, -20, 0, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, -15, 15, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, 26, -5, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C90, 130, 0, 0, 1 + playsewithpan SE_W196, 63 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9C78, 130, 20, 2, 1 + playsewithpan SE_W196, 63 + return Unknown_81D5D8A: @ 81D5D8A - panse_1C SE_W196, 63, 6, 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 0, 24, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 8, 24, 0 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -8, 24, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 16, 24, 0 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -16, 24, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 24, 24, 0 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -24, 24, 0 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 32, 24, 0 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -32, 24, 0 - ret + loopsewithpan SE_W196, 63, 6, 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 0, 24, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 8, 24, 0 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -8, 24, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 16, 24, 0 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -16, 24, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 24, 24, 0 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -24, 24, 0 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 32, 24, 0 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -32, 24, 0 + return Unknown_81D5E0E: @ 81D5E0E - panse_1C SE_W196, 63, 6, 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 0, 24, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 8, 24, 1 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -8, 24, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 16, 24, 1 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -16, 24, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 24, 24, 1 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -24, 24, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 32, 24, 1 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -32, 24, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 40, 24, 1 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -40, 24, 1 - pause 4 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, 48, 24, 1 - sprite gBattleAnimSpriteTemplate_83D9D14, 130, -48, 24, 1 - ret + loopsewithpan SE_W196, 63, 6, 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 0, 24, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 8, 24, 1 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -8, 24, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 16, 24, 1 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -16, 24, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 24, 24, 1 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -24, 24, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 32, 24, 1 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -32, 24, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 40, 24, 1 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -40, 24, 1 + delay 4 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, 48, 24, 1 + createsprite gBattleAnimSpriteTemplate_83D9D14, 130, -48, 24, 1 + return Unknown_81D5ECA: @ 81D5ECA - sprite gBattleAnimSpriteTemplate_83D6C88, 2, -15, 0, 0, 0, 32, 60 - pause 8 - sprite gBattleAnimSpriteTemplate_83D6C88, 2, 12, -5, 0, 0, 32, 60 - pause 8 - ret + createsprite gBattleAnimSpriteTemplate_83D6C88, 2, -15, 0, 0, 0, 32, 60 + delay 8 + createsprite gBattleAnimSpriteTemplate_83D6C88, 2, 12, -5, 0, 0, 32, 60 + delay 8 + return Unknown_81D5EF5: @ 81D5EF5 - panse_19 SE_W071B, 192 - sprite gBattleAnimSpriteTemplate_83D7038, 2, 0, -5, 0, 0 - pause 7 - sprite gBattleAnimSpriteTemplate_83D7038, 2, -15, 10, 0, 0 - pause 7 - sprite gBattleAnimSpriteTemplate_83D7038, 2, -15, -15, 0, 0 - pause 7 - sprite gBattleAnimSpriteTemplate_83D7038, 2, 10, -5, 0, 0 - pause 7 - ret + playsewithpan SE_W071B, 192 + createsprite gBattleAnimSpriteTemplate_83D7038, 2, 0, -5, 0, 0 + delay 7 + createsprite gBattleAnimSpriteTemplate_83D7038, 2, -15, 10, 0, 0 + delay 7 + createsprite gBattleAnimSpriteTemplate_83D7038, 2, -15, -15, 0, 0 + delay 7 + createsprite gBattleAnimSpriteTemplate_83D7038, 2, 10, -5, 0, 0 + delay 7 + return Unknown_81D5F3E: @ 81D5F3E - panse_19 SE_W071B, 63 - sprite gBattleAnimSpriteTemplate_83D7038, 130, 0, -5, 1, 0 - pause 7 - sprite gBattleAnimSpriteTemplate_83D7038, 130, -15, 10, 1, 0 - pause 7 - sprite gBattleAnimSpriteTemplate_83D7038, 130, -15, -15, 1, 0 - pause 7 - sprite gBattleAnimSpriteTemplate_83D7038, 130, 10, -5, 1, 0 - pause 7 - ret + playsewithpan SE_W071B, 63 + createsprite gBattleAnimSpriteTemplate_83D7038, 130, 0, -5, 1, 0 + delay 7 + createsprite gBattleAnimSpriteTemplate_83D7038, 130, -15, 10, 1, 0 + delay 7 + createsprite gBattleAnimSpriteTemplate_83D7038, 130, -15, -15, 1, 0 + delay 7 + createsprite gBattleAnimSpriteTemplate_83D7038, 130, 10, -5, 1, 0 + delay 7 + return Unknown_81D5F87: @ 81D5F87 - sprite gBattleAnimSpriteTemplate_83DA350, 130, 10, 10, 0 - panse_19 SE_W092, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA350, 130, 20, -20, 0 - panse_19 SE_W092, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA350, 130, -20, 15, 0 - panse_19 SE_W092, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA350, 130, 0, 0, 0 - panse_19 SE_W092, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA350, 130, -20, -20, 0 - panse_19 SE_W092, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA350, 130, 16, -8, 0 - panse_19 SE_W092, 63 - ret + createsprite gBattleAnimSpriteTemplate_83DA350, 130, 10, 10, 0 + playsewithpan SE_W092, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA350, 130, 20, -20, 0 + playsewithpan SE_W092, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA350, 130, -20, 15, 0 + playsewithpan SE_W092, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA350, 130, 0, 0, 0 + playsewithpan SE_W092, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA350, 130, -20, -20, 0 + playsewithpan SE_W092, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA350, 130, 16, -8, 0 + playsewithpan SE_W092, 63 + return Unknown_81D5FF8: @ 81D5FF8 - sprite gBattleAnimSpriteTemplate_83DA368, 2, 10, 10, 0 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, 20, -20, 0 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, -20, 15, 0 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, 0, 0, 0 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, -20, -20, 0 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, 16, -8, 0 - panse_19 SE_W145C, 63 - ret + createsprite gBattleAnimSpriteTemplate_83DA368, 2, 10, 10, 0 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, 20, -20, 0 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, -20, 15, 0 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, 0, 0, 0 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, -20, -20, 0 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, 16, -8, 0 + playsewithpan SE_W145C, 63 + return Unknown_81D6069: @ 81D6069 - sprite gBattleAnimSpriteTemplate_83DA368, 2, 10, 10, 1 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, -28, -10, 1 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, 20, -20, 1 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, -20, 15, 1 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, 0, 0, 1 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, 27, 8, 1 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, -20, -20, 1 - panse_19 SE_W145C, 63 - pause 6 - sprite gBattleAnimSpriteTemplate_83DA368, 2, 16, -8, 1 - panse_19 SE_W145C, 63 - ret + createsprite gBattleAnimSpriteTemplate_83DA368, 2, 10, 10, 1 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, -28, -10, 1 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, 20, -20, 1 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, -20, 15, 1 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, 0, 0, 1 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, 27, 8, 1 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, -20, -20, 1 + playsewithpan SE_W145C, 63 + delay 6 + createsprite gBattleAnimSpriteTemplate_83DA368, 2, 16, -8, 1 + playsewithpan SE_W145C, 63 + return Unknown_81D6100: @ 81D6100 - panse_19 SE_W085B, 63 - sprite gBattleAnimSpriteTemplate_83D9920, 130, 5, 0, 5, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9920, 130, -5, 10, 5, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9920, 130, 15, 20, 5, 2 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9920, 130, -15, -10, 5, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9920, 130, 25, 0, 5, 1 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9920, 130, -8, 8, 5, 2 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9920, 130, 2, -8, 5, 0 - pause 2 - sprite gBattleAnimSpriteTemplate_83D9920, 130, -20, 15, 5, 1 - ret + playsewithpan SE_W085B, 63 + createsprite gBattleAnimSpriteTemplate_83D9920, 130, 5, 0, 5, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9920, 130, -5, 10, 5, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9920, 130, 15, 20, 5, 2 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9920, 130, -15, -10, 5, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9920, 130, 25, 0, 5, 1 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9920, 130, -8, 8, 5, 2 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9920, 130, 2, -8, 5, 0 + delay 2 + createsprite gBattleAnimSpriteTemplate_83D9920, 130, -20, 15, 5, 1 + return Unknown_81D618B: @ 81D618B - panse_1C SE_W146, 63, 13, 6 - sprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 0, 3, 90 - sprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 51, 3, 90 - sprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 102, 3, 90 - sprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 153, 3, 90 - sprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 204, 3, 90 - ret + loopsewithpan SE_W146, 63, 13, 6 + createsprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 0, 3, 90 + createsprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 51, 3, 90 + createsprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 102, 3, 90 + createsprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 153, 3, 90 + createsprite gBattleAnimSpriteTemplate_83DB3AC, 130, 0, -15, 204, 3, 90 + return Unknown_81D61E7: @ 81D61E7 fadetobg 3 waitbgfadeout - createtask sub_812C560, 5 + createvisualtask sub_812C560, 5 waitbgfadein - ret + return Unknown_81D61F3: @ 81D61F3 restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein - ret + return Unknown_81D61FB: @ 81D61FB - jumpunkcond _81D6214 + jumpifcontest _81D6214 fadetobg 18 waitbgfadeout - createtask sub_80E3A58, 5, -2304, 768, 1, -1 + createvisualtask sub_80E3A58, 5, -2304, 768, 1, -1 _81D6212: waitbgfadein - ret + return _81D6214: fadetobg 19 waitbgfadeout - createtask sub_80E3A58, 5, 2304, 768, 0, -1 - jump _81D6212 + createvisualtask sub_80E3A58, 5, 2304, 768, 0, -1 + goto _81D6212 Unknown_81D622B: @ 81D622B restorebg waitbgfadeout - setvar 7, -1 + setarg 7, -1 waitbgfadein - ret + return Unknown_81D6233: @ 81D6233 - createtask sub_80E4200, 2 - jumpvareq 7, 1, Unknown_81D6258 - createtask sub_812C924, 2 - jumpvareq 7, 0, Unknown_81D6266 - jump Unknown_81D625F + createvisualtask sub_80E4200, 2 + jumpargeq 7, 1, Unknown_81D6258 + createvisualtask sub_812C924, 2 + jumpargeq 7, 0, Unknown_81D6266 + goto Unknown_81D625F Unknown_81D6256: @ 81D6256 waitbgfadein - ret + return Unknown_81D6258: @ 81D6258 fadetobg 26 - jump Unknown_81D6256 + goto Unknown_81D6256 Unknown_81D625F: @ 81D625F fadetobg 25 - jump Unknown_81D6256 + goto Unknown_81D6256 Unknown_81D6266: @ 81D6266 fadetobg 24 - jump Unknown_81D6256 + goto Unknown_81D6256 Unknown_81D626D: @ 81D626D restorebg waitbgfadein - ret + return StatusCondition_Poison: @ 81D6270 - panse_1C SE_W092, 63, 13, 6 - createtask sub_80A7FA0, 2, 0, 1, 0, 18, 2 - createtask sub_80E1F8C, 2, 2, 2, 2, 0, 12, 31774 + loopsewithpan SE_W092, 63, 13, 6 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 18, 2 + createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 12, 31774 end StatusCondition_Confusion: @ 81D629B - loadsprite 10073 + loadspritegfx 10073 call Unknown_81D618B end StatusCondition_Burn: @ 81D62A4 - loadsprite 10029 - panse_19 SE_W172, 63 + loadspritegfx 10029 + playsewithpan SE_W172, 63 call _81D62BC call _81D62BC call _81D62BC - wait + waitforvisualfinish end _81D62BC: - sprite gBattleAnimSpriteTemplate_83D9614, 130, -24, 24, 24, 24, 20, 1, 1 - pause 4 - ret + createsprite gBattleAnimSpriteTemplate_83D9614, 130, -24, 24, 24, 24, 20, 1, 1 + delay 4 + return StatusCondition_Love: @ 81D62D4 - loadsprite 10210 - panse_19 SE_W204, 192 - sprite gBattleAnimSpriteTemplate_83D7A80, 3, 0, 20 - pause 15 - panse_19 SE_W204, 192 - sprite gBattleAnimSpriteTemplate_83D7A80, 3, -20, 20 - pause 15 - panse_19 SE_W204, 192 - sprite gBattleAnimSpriteTemplate_83D7A80, 3, 20, 20 + loadspritegfx 10210 + playsewithpan SE_W204, 192 + createsprite gBattleAnimSpriteTemplate_83D7A80, 3, 0, 20 + delay 15 + playsewithpan SE_W204, 192 + createsprite gBattleAnimSpriteTemplate_83D7A80, 3, -20, 20 + delay 15 + playsewithpan SE_W204, 192 + createsprite gBattleAnimSpriteTemplate_83D7A80, 3, 20, 20 end StatusCondition_Sleep: @ 81D6309 - loadsprite 10228 - panse_19 SE_W173, 192 - sprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 - pause 30 - sprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 + loadspritegfx 10228 + playsewithpan SE_W173, 192 + createsprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_83D6D94, 2, 4, -10, 16, 0, 0 end StatusCondition_Paralysis: @ 81D6335 - loadsprite 10011 - createtask sub_80A7FA0, 2, 0, 1, 0, 10, 1 + loadspritegfx 10011 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 10, 1 call Unknown_81D6100 end StatusCondition_Ice: @ 81D634F - panse_19 SE_W196, 0 - loadsprite 10010 - monbg 3 + playsewithpan SE_W196, 0 + loadspritegfx 10010 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 - panse_1D SE_W258, 63, 17 - createtask sub_807B920, 2 - wait - clearmonbg 3 + waitplaysewithpan SE_W258, 63, 17 + createvisualtask sub_807B920, 2 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end StatusCondition_Curse: @ 81D636A - loadsprite 10200 - monbg 3 - panse_19 SE_W171, 63 - sprite gBattleAnimSpriteTemplate_83DAF38, 130 - createtask sub_80A7FA0, 2, 1, 2, 0, 14, 1 - wait - clearmonbg 3 + loadspritegfx 10200 + monbg ANIM_BANK_DEF_PARTNER + playsewithpan SE_W171, 63 + createsprite gBattleAnimSpriteTemplate_83DAF38, 130 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 14, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end StatusCondition_Nightmare: @ 81D638F - loadsprite 10221 - monbg 3 - panse_19 SE_W171, 63 - sprite gBattleAnimSpriteTemplate_83DAF50, 130 - createtask sub_80A7FA0, 2, 1, 2, 0, 14, 1 - wait - clearmonbg 3 + loadspritegfx 10221 + monbg ANIM_BANK_DEF_PARTNER + playsewithpan SE_W171, 63 + createsprite gBattleAnimSpriteTemplate_83DAF50, 130 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 14, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER end General_CastformChange: @ 81D63B4 - createtask c3_80DFBE4, 2 - jumpvareq 7, 1, _81D63E0 - jump _81D63C8 + createvisualtask c3_80DFBE4, 2 + jumpargeq 7, 1, _81D63E0 + goto _81D63C8 _81D63C8: - monbg 0 - panse_19 SE_W100, 192 - panse_1D SE_W107, 192, 48 - createtask sub_812D7E8, 2, 1 - wait - clearmonbg 0 + monbg ANIM_BANK_ATTACKER + playsewithpan SE_W100, 192 + waitplaysewithpan SE_W107, 192, 48 + createvisualtask sub_812D7E8, 2, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER end _81D63E0: - createtask sub_812DB58, 2, 1 + createvisualtask sub_812DB58, 2, 1 end General_StatsChange: @ 81D63EA - createtask sub_807BB88, 5 - wait + createvisualtask sub_807BB88, 5 + waitforvisualfinish end General_SubstituteFade: @ 81D63F3 - monbg 0 - createtask sub_81416C4, 5 - createtask sub_80E2A38, 10, 2, 0, 0, 16, 32767 - wait - pause 1 - clearmonbg 0 - pause 2 + monbg ANIM_BANK_ATTACKER + createvisualtask sub_81416C4, 5 + createvisualtask sub_80E2A38, 10, 2, 0, 0, 16, 32767 + waitforvisualfinish + delay 1 + clearmonbg ANIM_BANK_ATTACKER + delay 2 blendoff - createtask sub_80E2A38, 10, 2, 0, 0, 0, 32767 - createtask sub_814151C, 2, 1 + createvisualtask sub_80E2A38, 10, 2, 0, 0, 0, 32767 + createvisualtask sub_814151C, 2, 1 end General_SubstituteAppear: @ 81D6430 - createtask sub_81312E4, 2 + createvisualtask sub_81312E4, 2 end General_PokeblockThrow: @ 81D6438 - createtask sub_8141D7C, 2 - createtask sub_8141BD4, 2 - pause 0 - panse_1D SE_W026, 192, 22 - sprite gBattleAnimSpriteTemplate_840B4FC, 131, -16, 7, 0, 32 - pause 50 - panse_1C SE_W039, 63, 19, 2 - createtask sub_80A8B88, 5, 1, 8, 1536, 2, 1 - wait - createtask sub_8141C08, 2 + createvisualtask sub_8141D7C, 2 + createvisualtask sub_8141BD4, 2 + delay 0 + waitplaysewithpan SE_W026, 192, 22 + createsprite gBattleAnimSpriteTemplate_840B4FC, 131, -16, 7, 0, 32 + delay 50 + loopsewithpan SE_W039, 63, 19, 2 + createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 2, 1 + waitforvisualfinish + createvisualtask sub_8141C08, 2 end General_ItemKnockoff: @ 81D647E - loadsprite 10224 - sprite gBattleAnimSpriteTemplate_83D6734, 130 + loadspritegfx 10224 + createsprite gBattleAnimSpriteTemplate_83D6734, 130 end General_TurnTrap: @ 81D6489 - createtask sub_8141DAC, 5 - jumpvareq 0, 1, _81D64FD - jumpvareq 0, 2, _81D6522 - jumpvareq 0, 3, _81D6576 - jumpvareq 0, 4, _81D65D3 - jump _81D64B5 + createvisualtask sub_8141DAC, 5 + jumpargeq 0, 1, _81D64FD + jumpargeq 0, 2, _81D6522 + jumpargeq 0, 3, _81D6576 + jumpargeq 0, 4, _81D65D3 + goto _81D64B5 _81D64B5: - loadsprite 10186 - panse_1C SE_W010, 63, 6, 2 - sprite gBattleAnimSpriteTemplate_83D65A0, 132, 0, 16, 0, 1 - pause 7 - sprite gBattleAnimSpriteTemplate_83D65A0, 130, 0, 8, 1, 1 - pause 3 - createtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - pause 20 - setvar 7, -1 - panse_19 SE_W020, 63 - wait + loadspritegfx 10186 + loopsewithpan SE_W010, 63, 6, 2 + createsprite gBattleAnimSpriteTemplate_83D65A0, 132, 0, 16, 0, 1 + delay 7 + createsprite gBattleAnimSpriteTemplate_83D65A0, 130, 0, 8, 1, 1 + delay 3 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + delay 20 + setarg 7, -1 + playsewithpan SE_W020, 63 + waitforvisualfinish end _81D64FD: - loadsprite 10029 - panse_19 SE_W221B, 63 - createtask sub_80A7E7C, 5, 1, 0, 2, 30, 1 + loadspritegfx 10029 + playsewithpan SE_W221B, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 2, 30, 1 call _81C90BF call _81C90BF - wait + waitforvisualfinish stopsound end _81D6522: - loadsprite 10149 - monbg 3 + loadspritegfx 10149 + monbg ANIM_BANK_DEF_PARTNER monbgprio_28 1 setalpha 12, 8 - pause 0 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 0, 7, 23968 - panse_19 SE_W250, 63 - createtask sub_80A7E7C, 5, 1, 0, 2, 30, 1 + delay 0 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 0, 7, 23968 + playsewithpan SE_W250, 63 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 2, 30, 1 call _81D03E4 call _81D03E4 - pause 12 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 7, 0, 23968 - wait + delay 12 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 7, 0, 23968 + waitforvisualfinish stopsound - clearmonbg 3 + clearmonbg ANIM_BANK_DEF_PARTNER end _81D6576: - loadsprite 10145 - loadsprite 10135 - monbg 1 + loadspritegfx 10145 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W011, 63 - sprite gBattleAnimSpriteTemplate_83DB1E8, 2, -32, 0, 2, 819, 0, 10 - sprite gBattleAnimSpriteTemplate_83DB1E8, 2, 32, 0, 6, -819, 0, 10 - pause 10 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7E7C, 5, 1, 3, 0, 5, 1 - wait - clearmonbg 1 + playsewithpan SE_W011, 63 + createsprite gBattleAnimSpriteTemplate_83DB1E8, 2, -32, 0, 2, 819, 0, 10 + createsprite gBattleAnimSpriteTemplate_83DB1E8, 2, 32, 0, 6, -819, 0, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, 1, 3, 0, 5, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff - wait + waitforvisualfinish end _81D65D3: - loadsprite 10074 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 0, 7, 563 - createtask sub_80A7E7C, 5, 1, 0, 2, 30, 1 - panse_19 SE_W328, 63 + loadspritegfx 10074 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 0, 7, 563 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 2, 30, 1 + playsewithpan SE_W328, 63 call _81D361F call _81D361F - pause 22 - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 7, 0, 563 - wait + delay 22 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 4, 2, 7, 0, 563 + waitforvisualfinish stopsound end General_ItemEffect: @ 81D661C - loadsprite 10203 - loadsprite 10049 - pause 0 - panse_19 SE_W036, 192 - createtask sub_80A8EFC, 2, 16, 128, 0, 2 - wait - panse_19 SE_W036, 192 - createtask sub_80A8EFC, 2, 16, 128, 0, 2 - wait - panse_19 SE_W036, 192 - createtask sub_80A8EFC, 2, 16, 128, 0, 2 - wait - panse_19 SE_W234, 192 + loadspritegfx 10203 + loadspritegfx 10049 + delay 0 + playsewithpan SE_W036, 192 + createvisualtask sub_80A8EFC, 2, 16, 128, 0, 2 + waitforvisualfinish + playsewithpan SE_W036, 192 + createvisualtask sub_80A8EFC, 2, 16, 128, 0, 2 + waitforvisualfinish + playsewithpan SE_W036, 192 + createvisualtask sub_80A8EFC, 2, 16, 128, 0, 2 + waitforvisualfinish + playsewithpan SE_W234, 192 call Unknown_81D5ECA - wait - panse_19 SE_REAPOKE, 192 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 3, 7, 0, 26609 - sprite gBattleAnimSpriteTemplate_83D7928, 3, 0, 0, 0, 0 - wait + waitforvisualfinish + playsewithpan SE_REAPOKE, 192 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 3, 7, 0, 26609 + createsprite gBattleAnimSpriteTemplate_83D7928, 3, 0, 0, 0, 0 + waitforvisualfinish end General_SmokeballEscape: @ 81D6690 - loadsprite 10242 - monbg 0 + loadspritegfx 10242 + monbg ANIM_BANK_ATTACKER setalpha 12, 4 - pause 0 - panse_19 SE_BOWA2, 63 - sprite gBattleAnimSpriteTemplate_8402894, 128, 0, 32, 28, 30 - pause 4 - panse_19 SE_BOWA2, 63 - sprite gBattleAnimSpriteTemplate_8402894, 127, 2, 12, 20, 30 - pause 12 - panse_19 SE_BOWA2, 63 - sprite gBattleAnimSpriteTemplate_8402894, 126, 2, -28, 4, 30 - pause 4 - pause 8 - panse_19 SE_BOWA2, 63 - sprite gBattleAnimSpriteTemplate_8402894, 124, 2, 14, -20, 30 - pause 4 - panse_19 SE_BOWA2, 63 - createtask sub_80DFC24, 2, 2 - sprite gBattleAnimSpriteTemplate_8402894, 123, 3, 4, 4, 30 - pause 14 - panse_19 SE_BOWA2, 63 - sprite gBattleAnimSpriteTemplate_8402894, 122, 3, -14, 18, 46 - pause 0 - sprite gBattleAnimSpriteTemplate_8402894, 121, 3, 14, -14, 46 - pause 0 - sprite gBattleAnimSpriteTemplate_8402894, 120, 3, -12, -10, 46 - pause 0 - sprite gBattleAnimSpriteTemplate_8402894, 119, 3, 14, 14, 46 - pause 0 - sprite gBattleAnimSpriteTemplate_8402894, 118, 3, 0, 0, 46 - wait - clearmonbg 0 + delay 0 + playsewithpan SE_BOWA2, 63 + createsprite gBattleAnimSpriteTemplate_8402894, 128, 0, 32, 28, 30 + delay 4 + playsewithpan SE_BOWA2, 63 + createsprite gBattleAnimSpriteTemplate_8402894, 127, 2, 12, 20, 30 + delay 12 + playsewithpan SE_BOWA2, 63 + createsprite gBattleAnimSpriteTemplate_8402894, 126, 2, -28, 4, 30 + delay 4 + delay 8 + playsewithpan SE_BOWA2, 63 + createsprite gBattleAnimSpriteTemplate_8402894, 124, 2, 14, -20, 30 + delay 4 + playsewithpan SE_BOWA2, 63 + createvisualtask sub_80DFC24, 2, 2 + createsprite gBattleAnimSpriteTemplate_8402894, 123, 3, 4, 4, 30 + delay 14 + playsewithpan SE_BOWA2, 63 + createsprite gBattleAnimSpriteTemplate_8402894, 122, 3, -14, 18, 46 + delay 0 + createsprite gBattleAnimSpriteTemplate_8402894, 121, 3, 14, -14, 46 + delay 0 + createsprite gBattleAnimSpriteTemplate_8402894, 120, 3, -12, -10, 46 + delay 0 + createsprite gBattleAnimSpriteTemplate_8402894, 119, 3, 14, 14, 46 + delay 0 + createsprite gBattleAnimSpriteTemplate_8402894, 118, 3, 0, 0, 46 + waitforvisualfinish + clearmonbg ANIM_BANK_ATTACKER invisible 0 - pause 0 + delay 0 blendoff end General_HangedOn: @ 81D676E - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 2, 7, 0, 9, 31 - panse_19 SE_W082, 192 - createtask sub_812FC68, 5, 30, 128, 0, 1, 2, 0, 1 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 0, 2, 4, 9, 0, 31 - wait - pause 6 - sprite gBattleAnimSpriteTemplate_83C1FE0, 0, 0, 0, 15 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 2, 7, 0, 9, 31 + playsewithpan SE_W082, 192 + createvisualtask sub_812FC68, 5, 30, 128, 0, 1, 2, 0, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 2, 4, 9, 0, 31 + waitforvisualfinish + delay 6 + createsprite gSlideMonToOriginalPosSpriteTemplate, 0, 0, 0, 15 end General_Rain: @ 81D67BB - loadsprite 10115 - panse_19 SE_W240, 192 - createtask sub_80E2A38, 10, 1921, 2, 0, 4, 0 - wait - createtask CreateAnimRaindrops, 2, 0, 3, 60 - createtask CreateAnimRaindrops, 2, 0, 3, 60 - pause 50 - wait - createtask sub_80E2A38, 10, 1921, 2, 4, 0, 0 - wait + loadspritegfx 10115 + playsewithpan SE_W240, 192 + createvisualtask sub_80E2A38, 10, 1921, 2, 0, 4, 0 + waitforvisualfinish + createvisualtask CreateAnimRaindrops, 2, 0, 3, 60 + createvisualtask CreateAnimRaindrops, 2, 0, 3, 60 + delay 50 + waitforvisualfinish + createvisualtask sub_80E2A38, 10, 1921, 2, 4, 0, 0 + waitforvisualfinish end General_Sun: @ 81D6804 - jump Move_SUNNY_DAY + goto Move_SUNNY_DAY General_Sandstorm: @ 81D6809 - jump Move_SANDSTORM + goto Move_SANDSTORM General_Hail: @ 81D680E - jump Move_HAIL + goto Move_HAIL General_LeechSeedDrain: @ 81D6813 - createtask sub_8141E10, 5 - pause 0 - jump Move_ABSORB + createvisualtask sub_8141E10, 5 + delay 0 + goto Move_ABSORB General_MonHit: @ 81D6821 - loadsprite 10135 - monbg 1 + loadspritegfx 10135 + monbg ANIM_BANK_TARGET setalpha 12, 8 - panse_19 SE_W003, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 2, 0, 0, 1, 2 - createtask sub_80A7E7C, 2, 1, 3, 0, 6, 1 - wait - clearmonbg 1 + playsewithpan SE_W003, 63 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_TARGET blendoff end General_ItemSteal: @ 81D6852 - loadsprite 10224 - createtask sub_80E42D0, 2 - createtask sub_8141808, 2 - pause 1 - sprite gBattleAnimSpriteTemplate_83D677C, 2, 0, -5, 10, 2, -1 + loadspritegfx 10224 + createvisualtask sub_80E42D0, 2 + createvisualtask sub_8141808, 2 + delay 1 + createsprite gBattleAnimSpriteTemplate_83D677C, 2, 0, -5, 10, 2, -1 end General_SnatchMove: @ 81D6877 - loadsprite 10224 - createtask sub_80E4234, 2 + loadspritegfx 10224 + createvisualtask sub_80E4234, 2 call Unknown_81D6AB6 - pause 1 - createtask sub_80A8B88, 2, 0, 5, 5120, 4, 1 - wait - createtask sub_80E4264, 2 - jumpvareq 7, 0, _81D68B5 - jump _81D68C5 + delay 1 + createvisualtask AnimTask_SwayMon, 2, 0, 5, 5120, 4, 1 + waitforvisualfinish + createvisualtask sub_80E4264, 2 + jumpargeq 7, 0, _81D68B5 + goto _81D68C5 _81D68AE: - wait + waitforvisualfinish call Unknown_81D6AD6 end _81D68B5: - panse_19 SE_W104, 192 - createtask sub_8131944, 2 - jump _81D68AE + playsewithpan SE_W104, 192 + createvisualtask sub_8131944, 2 + goto _81D68AE _81D68C5: - panse_19 SE_W104, 192 - createtask sub_8131FFC, 2 - jump _81D68AE + playsewithpan SE_W104, 192 + createvisualtask sub_8131FFC, 2 + goto _81D68AE General_FutureSightHit: @ 81D68D5 - createtask sub_80E42B0, 2 - monbg 3 - panse_19 SE_W060, 192 + createvisualtask sub_80E42B0, 2 + monbg ANIM_BANK_DEF_PARTNER + playsewithpan SE_W060, 192 call Unknown_81D61E7 setalpha 8, 8 - panse_19 SE_W048, 63 - panse_1D SE_W048, 63, 8 - createtask sub_80A7E7C, 2, 1, 4, 0, 15, 1 - createtask sub_80A8D34, 5, -5, -5, 15, 1, 1 - wait - createtask sub_80A7E7C, 2, 1, 4, 0, 24, 1 - wait - clearmonbg 3 - blendoff - wait - pause 1 + playsewithpan SE_W048, 63 + waitplaysewithpan SE_W048, 63, 8 + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 4, 0, 15, 1 + createvisualtask sub_80A8D34, 5, -5, -5, 15, 1, 1 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 4, 0, 24, 1 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER + blendoff + waitforvisualfinish + delay 1 call Unknown_81D61F3 end General_DoomDesireHit: @ 81D6934 - createtask sub_80E42B0, 2 - loadsprite 10198 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 16, 32767 - wait - pause 10 - createtask sub_812E14C, 5 - pause 9 - panse_19 SE_W109, 192 - pause 9 - panse_19 SE_W109, 0 - pause 9 - panse_19 SE_W109, 63 - pause 25 - createtask sub_80A8154, 2, 1, 10, 0, 20, 1 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 1, 1 - pause 6 - panse_19 SE_W120, 63 - sprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 1, 1 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 32767 - wait + createvisualtask sub_80E42B0, 2 + loadspritegfx 10198 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 16, 32767 + waitforvisualfinish + delay 10 + createvisualtask sub_812E14C, 5 + delay 9 + playsewithpan SE_W109, 192 + delay 9 + playsewithpan SE_W109, 0 + delay 9 + playsewithpan SE_W109, 63 + delay 25 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 10, 0, 20, 1 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 24, -24, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -16, 16, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, -24, -12, 1, 1 + delay 6 + playsewithpan SE_W120, 63 + createsprite gBattleAnimSpriteTemplate_83D7828, 3, 16, 16, 1, 1 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 32767 + waitforvisualfinish end General_FocusPunchSetUp: @ 81D69F9 - loadsprite 10184 - panse_19 SE_W082, 192 + loadspritegfx 10184 + playsewithpan SE_W082, 192 call EndureFlamesAnim - pause 8 - createtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 - createtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 + delay 8 + createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 call EndureFlamesAnim - pause 8 + delay 8 call EndureFlamesAnim - wait + waitforvisualfinish end General_IngrainHeal: @ 81D6A39 - loadsprite 10147 - loadsprite 10031 - monbg 3 + loadspritegfx 10147 + loadspritegfx 10031 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 4, 13293 - wait - pause 3 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 4, 13293 + waitforvisualfinish + delay 3 call _81CF496 - wait - pause 15 + waitforvisualfinish + delay 15 call Unknown_81D5EF5 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 4, 0, 13293 - wait - clearmonbg 3 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 4, 0, 13293 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff end General_WishHeal: @ 81D6A7C - loadsprite 10031 - loadsprite 10049 - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 10, 0 - wait - panse_19 SE_W025, 192 + loadspritegfx 10031 + loadspritegfx 10049 + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 0, 10, 0 + waitforvisualfinish + playsewithpan SE_W025, 192 call Unknown_81D5ECA - wait + waitforvisualfinish call Unknown_81D5EF5 - wait - sprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 10, 0, 0 + waitforvisualfinish + createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 10, 0, 0 end Unknown_81D6AB6: @ 81D6AB6 - createtask sub_81417D8, 2 - jumpvareq 7, 1, _81D6AC7 + createvisualtask sub_81417D8, 2 + jumpargeq 7, 1, _81D6AC7 _81D6AC5: - wait - ret + waitforvisualfinish + return _81D6AC7: - createtask sub_814151C, 2, 1 - wait - jump _81D6AC5 + createvisualtask sub_814151C, 2, 1 + waitforvisualfinish + goto _81D6AC5 Unknown_81D6AD6: @ 81D6AD6 - createtask sub_81417D8, 2 - jumpvareq 7, 1, _81D6AE7 + createvisualtask sub_81417D8, 2 + jumpargeq 7, 1, _81D6AE7 _81D6AE5: - wait - ret + waitforvisualfinish + return _81D6AE7: - createtask sub_814151C, 2, 0 - wait - jump _81D6AE5 + createvisualtask sub_814151C, 2, 0 + waitforvisualfinish + goto _81D6AE5 Special_LevelUp: @ 81D6AF6 - panse_19 SE_EXPMAX, 0 - createtask sub_813F4EC, 2 - pause 0 - createtask sub_813F6A0, 5, 0, 0 - wait - createtask sub_813F5E8, 2 + playsewithpan SE_EXPMAX, 0 + createvisualtask sub_813F4EC, 2 + delay 0 + createvisualtask sub_813F6A0, 5, 0, 0 + waitforvisualfinish + createvisualtask sub_813F5E8, 2 end Special_SwitchOutPlayerMon: @ 81D6B17 - createtask sub_813F844, 2 - pause 10 - createtask sub_813F798, 2 + createvisualtask sub_813F844, 2 + delay 10 + createvisualtask sub_813F798, 2 end Special_SwitchOutOpponentMon: @ 81D6B28 - createtask sub_813F844, 2 - pause 10 - createtask sub_813F798, 2 + createvisualtask sub_813F844, 2 + delay 10 + createvisualtask sub_813F798, 2 end Special_BallThrow: @ 81D6B39 - createtask sub_813F990, 2 - pause 0 - panse_19 SE_NAGERU, 0 - createtask sub_813FA94, 2 - createtask sub_813F9E0, 2 - jumpvareq 7, -1, _81D6B65 + createvisualtask sub_813F990, 2 + delay 0 + playsewithpan SE_NAGERU, 0 + createvisualtask sub_813FA94, 2 + createvisualtask sub_813F9E0, 2 + jumpargeq 7, -1, _81D6B65 _81D6B5C: - wait - createtask sub_813F9B8, 2 + waitforvisualfinish + createvisualtask sub_813F9B8, 2 end _81D6B65: - loadsprite 10135 - pause 25 - monbg 3 + loadspritegfx 10135 + delay 25 + monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 - pause 0 - panse_19 SE_W003, 63 - sprite gBattleAnimSpriteTemplate_83DB4A8, 130, -4, -20, 1, 2 - wait - clearmonbg 3 + delay 0 + playsewithpan SE_W003, 63 + createsprite gBasicHitSplatSpriteTemplate, 130, -4, -20, 1, 2 + waitforvisualfinish + clearmonbg ANIM_BANK_DEF_PARTNER blendoff - jump _81D6B5C + goto _81D6B5C Special_SafariBallThrow: @ 81D6B8D - createtask sub_813F990, 2 - pause 0 - createtask sub_813FBB8, 2 - wait - createtask sub_813F9B8, 2 + createvisualtask sub_813F990, 2 + delay 0 + createvisualtask sub_813FBB8, 2 + waitforvisualfinish + createvisualtask sub_813F9B8, 2 end Special_SubstituteToMon: @ 81D6BA6 - createtask sub_814151C, 2, 1 + createvisualtask sub_814151C, 2, 1 end Special_MonToSubstitute: @ 81D6BB0 - createtask sub_814151C, 2, 0 + createvisualtask sub_814151C, 2, 0 end diff --git a/data/roulette.s b/data/roulette.s index b9d096ac4..160ec3b29 100644 --- a/data/roulette.s +++ b/data/roulette.s @@ -15,28 +15,35 @@ gUnknown_083F88BC:: @ 83F88BC gUnknown_083F8A60:: @ 83F8A60 .incbin "graphics/roulette/wheel_map.bin.lz" + .macro struct_unk083f8c00 var00, var01_0, var01_4, var02, var03, var04, var05, var06, var07, var08, var0c, var10, var12 + .byte \var00, \var01_0 | (\var01_4 << 4), \var02, \var03, \var04, \var05, \var06, \var07 + .long \var08, \var0c + .short \var10, \var12 + .endm + .align 2 gUnknown_083F8C00:: @ 83F8C00 - .byte 0xFF,0x00,0x00,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 - .byte 0x0C,0x14,0x00,0x11,0x07,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x42,0x08,0x01,0x00,0x00,0xE0,0x00,0x00 - .byte 0x0D,0x24,0x00,0x14,0x07,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x84,0x10,0x02,0x00,0x00,0xE0,0x00,0x00 - .byte 0x0E,0x34,0x00,0x17,0x07,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x21,0x04,0x00,0x00,0xE0,0x00,0x00 - .byte 0x0F,0x44,0x00,0x1A,0x07,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x42,0x08,0x00,0x00,0xE0,0x00,0x00 - .byte 0x10,0x03,0x01,0x0E,0x0A,0x00,0x0C,0x00,0x20,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x49,0x02,0x00,0x00 - .byte 0x00,0x1C,0x01,0x11,0x0A,0x03,0x03,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x01,0x20,0x00,0x00 - .byte 0x09,0x2C,0x01,0x14,0x0A,0x03,0x03,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x22,0x00,0x00 - .byte 0x06,0x3C,0x01,0x17,0x0A,0x03,0x03,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x40,0x20,0x00,0x00 - .byte 0x03,0x4C,0x01,0x1A,0x0A,0x03,0x03,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x08,0x20,0x00,0x00 - .byte 0x11,0x03,0x02,0x0E,0x0D,0x03,0x0F,0x00,0x00,0x04,0x00,0x00,0x00,0x7C,0x00,0x00,0x92,0x04,0x00,0x00 - .byte 0x04,0x1C,0x02,0x11,0x0D,0x06,0x06,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x20,0x00,0x00 - .byte 0x01,0x2C,0x02,0x14,0x0D,0x06,0x06,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x02,0x20,0x00,0x00 - .byte 0x0A,0x3C,0x02,0x17,0x0D,0x06,0x06,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x24,0x00,0x00 - .byte 0x07,0x4C,0x02,0x1A,0x0D,0x06,0x06,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x80,0x20,0x00,0x00 - .byte 0x12,0x03,0x03,0x0E,0x10,0x06,0x12,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x0F,0x00,0x24,0x09,0x00,0x00 - .byte 0x08,0x1C,0x03,0x11,0x10,0x09,0x09,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x21,0x00,0x00 - .byte 0x05,0x2C,0x03,0x14,0x10,0x09,0x09,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x20,0x20,0x00,0x00 - .byte 0x02,0x3C,0x03,0x17,0x10,0x09,0x09,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x04,0x20,0x00,0x00 - .byte 0x0B,0x4C,0x03,0x1A,0x10,0x09,0x09,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x28,0x00,0x00 +// array count = 20 + struct_unk083f8c00 0xFF, 0x0, 0x0, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00000000, 0x00000000, 0x0000, 0x0000 + struct_unk083f8c00 0x0C, 0x4, 0x1, 0x00, 0x11, 0x07, 0x00, 0x00, 0x00, 0x00000002, 0x00010842, 0xE000, 0x0000 + struct_unk083f8c00 0x0D, 0x4, 0x2, 0x00, 0x14, 0x07, 0x00, 0x00, 0x00, 0x00000004, 0x00021084, 0xE000, 0x0000 + struct_unk083f8c00 0x0E, 0x4, 0x3, 0x00, 0x17, 0x07, 0x00, 0x00, 0x00, 0x00000008, 0x00042108, 0xE000, 0x0000 + struct_unk083f8c00 0x0F, 0x4, 0x4, 0x00, 0x1A, 0x07, 0x00, 0x00, 0x00, 0x00000010, 0x00084210, 0xE000, 0x0000 + struct_unk083f8c00 0x10, 0x3, 0x0, 0x01, 0x0E, 0x0A, 0x00, 0x0C, 0x00, 0x00000020, 0x000003E0, 0x0249, 0x0000 + struct_unk083f8c00 0x00, 0xC, 0x1, 0x01, 0x11, 0x0A, 0x03, 0x03, 0x00, 0x00000040, 0x00000040, 0x2001, 0x0000 + struct_unk083f8c00 0x09, 0xC, 0x2, 0x01, 0x14, 0x0A, 0x03, 0x03, 0x00, 0x00000080, 0x00000080, 0x2200, 0x0000 + struct_unk083f8c00 0x06, 0xC, 0x3, 0x01, 0x17, 0x0A, 0x03, 0x03, 0x00, 0x00000100, 0x00000100, 0x2040, 0x0000 + struct_unk083f8c00 0x03, 0xC, 0x4, 0x01, 0x1A, 0x0A, 0x03, 0x03, 0x00, 0x00000200, 0x00000200, 0x2008, 0x0000 + struct_unk083f8c00 0x11, 0x3, 0x0, 0x02, 0x0E, 0x0D, 0x03, 0x0F, 0x00, 0x00000400, 0x00007C00, 0x0492, 0x0000 + struct_unk083f8c00 0x04, 0xC, 0x1, 0x02, 0x11, 0x0D, 0x06, 0x06, 0x00, 0x00000800, 0x00000800, 0x2010, 0x0000 + struct_unk083f8c00 0x01, 0xC, 0x2, 0x02, 0x14, 0x0D, 0x06, 0x06, 0x00, 0x00001000, 0x00001000, 0x2002, 0x0000 + struct_unk083f8c00 0x0A, 0xC, 0x3, 0x02, 0x17, 0x0D, 0x06, 0x06, 0x00, 0x00002000, 0x00002000, 0x2400, 0x0000 + struct_unk083f8c00 0x07, 0xC, 0x4, 0x02, 0x1A, 0x0D, 0x06, 0x06, 0x00, 0x00004000, 0x00004000, 0x2080, 0x0000 + struct_unk083f8c00 0x12, 0x3, 0x0, 0x03, 0x0E, 0x10, 0x06, 0x12, 0x00, 0x00008000, 0x000F8000, 0x0924, 0x0000 + struct_unk083f8c00 0x08, 0xC, 0x1, 0x03, 0x11, 0x10, 0x09, 0x09, 0x00, 0x00010000, 0x00010000, 0x2100, 0x0000 + struct_unk083f8c00 0x05, 0xC, 0x2, 0x03, 0x14, 0x10, 0x09, 0x09, 0x00, 0x00020000, 0x00020000, 0x2020, 0x0000 + struct_unk083f8c00 0x02, 0xC, 0x3, 0x03, 0x17, 0x10, 0x09, 0x09, 0x00, 0x00040000, 0x00040000, 0x2004, 0x0000 + struct_unk083f8c00 0x0B, 0xC, 0x4, 0x03, 0x1A, 0x10, 0x09, 0x09, 0x00, 0x00080000, 0x00080000, 0x2800, 0x0000 .align 2 gUnknown_083F8D90:: @ 83F8D90 @@ -80,6 +87,9 @@ gUnknown_083F8E34:: @ 83F8E34 .align 1 gUnknown_083F8E9C:: @ 83F8E9C +// {0x53ff, 0x0101, 0x05, 0x1e, 0xff, 0x0e, 0x02, 0x00} +// {0x7ffb, 0x0106, 0x05, 0x1e, 0xff, 0x0e, 0x02, 0x00} +// {0x7f7f, 0x010b, 0x05, 0x1e, 0xff, 0x0e, 0x02, 0x00} .2byte 0x53FF .2byte 0x0101 .2byte 0x1E05 @@ -103,6 +113,8 @@ gUnknown_083F8EBC:: @ 83F8EBC .4byte sub_811577C .4byte sub_81157AC +// These objects are initialied in the functions in which they are used. + .align 1 gUnknown_083F8EC4:: @ 83F8EC4 .2byte 0x2898 @@ -133,6 +145,8 @@ gUnknown_083F8EE8:: @ 83F8EE8 gUnknown_083F8EF4:: @ 83F8EF4 .byte 0, 3, 4, 6, 12 +// This might indicate a file boundary + .if DEBUG @ Could also be after English-only graphics gUnknown_Debug_0842510D:: @ 0x842510D diff --git a/include/battle_anim.h b/include/battle_anim.h index fd1becf39..ce9bb13de 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -9,14 +9,6 @@ #define REG_BG2CNT_BITFIELD REG_BGnCNT_BITFIELD(2) #define REG_BG3CNT_BITFIELD REG_BGnCNT_BITFIELD(3) -enum -{ - ANIM_BANK_ATTACKER, - ANIM_BANK_TARGET, - ANIM_BANK_ATK_PARTNER, - ANIM_BANK_DEF_PARTNER, -}; - struct BattleAnimBackground { void *image; @@ -51,7 +43,7 @@ extern struct DisableStruct *gAnimDisableStructPtr; void DoMoveAnim(u16 move); void LaunchBattleAnimation(const u8 *const moveAnims[], u16 b, u8 c); bool8 IsAnimBankSpriteVisible(u8 a); -void sub_8076034(u8, u8); +void MoveBattlerSpriteToBG(u8, u8); bool8 IsContest(void); void ClearBattleAnimationVars(void); void DestroyAnimSprite(struct Sprite *sprite); diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h new file mode 100644 index 000000000..c173a8730 --- /dev/null +++ b/include/constants/battle_anim.h @@ -0,0 +1,9 @@ +#ifndef GUARD_BATTLEANIM_CONSTANTS_H +#define GUARD_BATTLEANIM_CONSTANTS_H + +#define ANIM_BANK_ATTACKER 0 +#define ANIM_BANK_TARGET 1 +#define ANIM_BANK_ATK_PARTNER 2 +#define ANIM_BANK_DEF_PARTNER 3 + +#endif diff --git a/include/contest.h b/include/contest.h index b0bdd7f61..557b9e5c4 100644 --- a/include/contest.h +++ b/include/contest.h @@ -43,17 +43,13 @@ struct ContestPokemon /*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; /*0x0D*/ u8 trainerName[8]; /*0x15*/ u8 trainerGfxId; - /*0x16*/ u8 unk16; - /*0x17*/ u8 filler17; /*0x18*/ u32 flags; - /*0x1C*/ u8 unk1C_0:2; - u8 unk1C_2:1; - u8 unk1C_3:1; - u8 unk1C_4:1; - u8 unk1C_5:1; - u8 unk1C_6:1; - u8 unk1C_7:1; - u8 filler1D; + /*0x1C*/ u8 whichRank:2; + u8 aiPool_Cool:1; + u8 aiPool_Beauty:1; + u8 aiPool_Cute:1; + u8 aiPool_Smart:1; + u8 aiPool_Tough:1; /*0x1E*/ u16 moves[4]; // moves /*0x26*/ u8 cool; // cool /*0x27*/ u8 beauty; // beauty @@ -61,8 +57,7 @@ struct ContestPokemon /*0x29*/ u8 smart; // smart /*0x2A*/ u8 tough; // tough /*0x2B*/ u8 sheen; // sheen - /*0x2C*/ u8 unk2C; - /*0x2D*/ u8 unk2D[11]; + /*0x2C*/ u8 unk2C[12]; /*0x38*/ u32 personality; // personality /*0x3C*/ u32 otId; // otId }; // wow diff --git a/include/global.h b/include/global.h index d0af4a4d1..6dd772795 100644 --- a/include/global.h +++ b/include/global.h @@ -65,6 +65,15 @@ enum #define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) #define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) +// Credits to Made (dolphin emoji) +#define S16TOPOSFLOAT(val) \ +({ \ + s16 v = (val); \ + float f = (float)v; \ + if(v < 0) f += 65536.0f; \ + f; \ +}) + enum { VERSION_SAPPHIRE = 1, diff --git a/include/item.h b/include/item.h index 8f6cc883b..bafa8a3fd 100644 --- a/include/item.h +++ b/include/item.h @@ -30,8 +30,6 @@ struct BagPocket #define NUM_BAG_POCKETS 5 -extern const struct BagPocket gBagPockets[NUM_BAG_POCKETS]; - void CopyItemName(u16 itemId, u8 *string); bool8 IsBagPocketNonEmpty(u8 pocket); bool8 CheckBagHasItem(u16 itemId, u16 count); diff --git a/include/macros/battle_anim.inc b/include/macros/battle_anim.inc index 4ff845032..bf409a848 100644 --- a/include/macros/battle_anim.inc +++ b/include/macros/battle_anim.inc @@ -1,14 +1,14 @@ - .macro loadsprite id + .macro loadspritegfx id .byte 0x00 .2byte \id .endm - .macro unloadsprite id + .macro unloadspritegfx id .byte 0x01 .2byte \id .endm - .macro sprite template, priority, argv:vararg + .macro createsprite template, priority, argv:vararg .byte 0x02 .4byte \template .byte \priority @@ -18,7 +18,7 @@ .Lsprite_\@_2: .endm - .macro createtask addr, priority, argv:vararg + .macro createvisualtask addr, priority, argv:vararg .byte 0x03 .4byte \addr .byte \priority @@ -28,12 +28,12 @@ .Lcreatetask_\@_2: .endm - .macro pause delay + .macro delay amount .byte 0x04 - .byte \delay + .byte \amount .endm - .macro wait + .macro waitforvisualfinish .byte 0x05 .endm @@ -78,29 +78,29 @@ .4byte \addr .endm - .macro ret + .macro return .byte 0x0F .endm - .macro setvar var_num, value + .macro setarg arg_num, value .byte 0x10 - .byte \var_num + .byte \arg_num .2byte \value .endm - .macro ifelse addr1, addr2 + .macro choosetwoturnanim addr1, addr2 .byte 0x11 .4byte \addr1 .4byte \addr2 .endm - .macro jumpif cond, addr + .macro jumpifmoveturn cond, addr .byte 0x12 .byte \cond .4byte \addr .endm - .macro jump addr + .macro goto addr .byte 0x13 .4byte \addr .endm @@ -127,7 +127,7 @@ .byte \id .endm - .macro panse_19 id, pan + .macro playsewithpan id, pan .byte 0x19 .2byte \id .byte \pan @@ -147,7 +147,7 @@ .byte \delay .endm - .macro panse_1C id, pan, delay, count + .macro loopsewithpan id, pan, delay, count .byte 0x1C .2byte \id .byte \pan @@ -155,7 +155,7 @@ .byte \count .endm - .macro panse_1D id, pan, count + .macro waitplaysewithpan id, pan, count .byte 0x1D .2byte \id .byte \pan @@ -167,7 +167,7 @@ .2byte \bldcnt .endm - .macro createtask_1F addr, argv:vararg + .macro createsoundtask addr, argv:vararg .byte 0x1F .4byte \addr .byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2 @@ -180,29 +180,29 @@ .byte 0x20 .endm - .macro jumpvareq var_num, value, addr + .macro jumpargeq arg_num, value, addr .byte 0x21 - .byte \var_num + .byte \arg_num .2byte \value .4byte \addr .endm - .macro monbg_22 unk + .macro monbg_22 bank .byte 0x22 - .byte \unk + .byte \bank .endm - .macro clearmonbg_23 unk + .macro clearmonbg_23 bank .byte 0x23 - .byte \unk + .byte \bank .endm - .macro jumpunkcond addr + .macro jumpifcontest addr .byte 0x24 .4byte \addr .endm - .macro fadetobg_25 a, b, c + .macro fadetobgfromset a, b, c .byte 0x25 .byte \a .byte \b @@ -227,38 +227,38 @@ .byte \delay .endm - .macro monbgprio_28 unk + .macro monbgprio_28 bank .byte 0x28 - .byte \unk + .byte \bank .endm .macro monbgprio_29 .byte 0x29 .endm - .macro monbgprio_2A unk + .macro monbgprio_2A bank .byte 0x2A - .byte \unk + .byte \bank .endm - .macro invisible side + .macro invisible bank .byte 0x2B - .byte \side + .byte \bank .endm - .macro visible side + .macro visible bank .byte 0x2C - .byte \side + .byte \bank .endm - .macro doublebattle_2D unk + .macro doublebattle_2D bank .byte 0x2D - .byte \unk + .byte \bank .endm - .macro doublebattle_2E unk + .macro doublebattle_2E bank .byte 0x2E - .byte \unk + .byte \bank .endm .macro stopsound diff --git a/include/rom_8077ABC.h b/include/rom_8077ABC.h index ff737135b..ed42871a6 100644 --- a/include/rom_8077ABC.h +++ b/include/rom_8077ABC.h @@ -16,8 +16,8 @@ u8 GetAnimBankSpriteId(u8 side); void StoreSpriteCallbackInData(struct Sprite *sprite, void(*callback)(struct Sprite *)); void sub_8078314(struct Sprite *sprite); void sub_8078364(struct Sprite *sprite); -void sub_8078458(struct Sprite *sprite); -void sub_80784A8(struct Sprite *sprite); +void TranslateMonBGUntil(struct Sprite *sprite); +void TranslateMonBGSubPixelUntil(struct Sprite *sprite); u8 GetBankSide(u8); u8 GetBankSide(u8); u8 GetBankSide(u8 side); @@ -34,11 +34,10 @@ u8 IsDoubleBattle(void); bool8 IsDoubleBattle(void); void sub_8078914(); u8 sub_80789BC(); -void sub_8078A5C(struct Sprite *sprite); -void sub_8078A5C(struct Sprite *sprite); -void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite); -bool8 sub_8078B5C(struct Sprite *sprite); -void sub_8078BB8(struct Sprite *sprite); +void InitSpriteDataForLinearTranslation(struct Sprite *sprite); +void InitAnimSpriteTranslationDeltas(struct Sprite *sprite); +bool8 TranslateAnimSpriteByDeltas(struct Sprite *sprite); +void TranslateAnimSpriteByDeltasUntil(struct Sprite *sprite); void sub_8078D44(struct Sprite *sprite); void obj_id_set_rotscale(u8 sprite, s16, s16, u16); bool8 sub_8078E38(); @@ -65,9 +64,9 @@ void sub_807A850(struct Task *task, u8 taskId); void sub_807A8D4(struct Sprite *sprite); void sub_807A960(struct Sprite *sprite); void sub_8078A34(struct Sprite *sprite); -void sub_80787B0(struct Sprite *sprite, u8); +void InitAnimSpritePos(struct Sprite *sprite, u8); void sub_8078764(struct Sprite *sprite, u8); -void sub_8078B34(struct Sprite *sprite); +void StartTranslateAnimSpriteByDeltas(struct Sprite *sprite); void sub_8078D60(struct Sprite *sprite); void sub_80786EC(struct Sprite *sprite); void sub_80782D8(struct Sprite *sprite); @@ -83,7 +82,7 @@ void sub_8078C00(struct Sprite *sprite); void sub_8078114(struct Sprite *sprite); void sub_8078174(struct Sprite *sprite); void sub_80793C4(struct Sprite *sprite); -void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4); +void SetAverageBattlerPositions(u8 slot, u8 a2, s16 *a3, s16 *a4); u8 sub_8079ED4(u8 slot); s16 sub_807A100(u8 slot, u8 a2); u16 sub_80790F0(s16 a, s16 b); @@ -99,11 +98,11 @@ void sub_80798F4(struct Task *task, u8 a2, const void *a3); bool8 sub_807992C(struct Task *task); u8 sub_8077FC0(u8 slot); void move_anim_8074EE0(struct Sprite *sprite); -bool8 sub_8078718(struct Sprite *sprite); +bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *sprite); bool8 sub_8078CE8(struct Sprite *sprite); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); void sub_8078BD4(struct Sprite *sprite); -void sub_807941C(struct Sprite *sprite); +void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite); void sub_80789D4(bool8 a1); void sub_8079AB8(u8 sprite, u8 sprite2); u8 sub_807A4A0(int bank, u8 sprite, int species); diff --git a/ld_script.txt b/ld_script.txt index 359a18521..1ca6bc702 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -134,7 +134,7 @@ SECTIONS { src/engine/trainer_card.o(.text); src/engine/save_menu_util.o(.text); src/battle/battle_party_menu.o(.text); - asm/unk_text_8095904.o(.text); + src/unk_text_8095904.o(.text); src/pokemon/pokemon_storage_system.o(.text); src/pokemon/pokemon_storage_system_2.o(.text); src/pokemon/pokemon_storage_system_3.o(.text); @@ -303,7 +303,7 @@ SECTIONS { src/battle/anim/shock.o(.text); asm/current.o(.text); asm/ice.o(.text); - asm/fight.o(.text); + src/battle/anim/fight.o(.text); src/battle/anim/poison.o(.text); asm/flying.o(.text); src/battle/anim/psychic.o(.text); diff --git a/src/battle/anim/aurora.c b/src/battle/anim/aurora.c index 90fa5c879..b24809264 100644 --- a/src/battle/anim/aurora.c +++ b/src/battle/anim/aurora.c @@ -16,7 +16,7 @@ void sub_80D33B4(struct Sprite *sprite) { s16 r6; - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); if (GetBankSide(gAnimBankAttacker) != 0) r6 = -gBattleAnimArgs[2]; else @@ -26,7 +26,7 @@ void sub_80D33B4(struct Sprite *sprite) sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r6; sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D344C; sprite->affineAnimPaused = TRUE; sprite->callback(sprite); @@ -39,7 +39,7 @@ static void sub_80D344C(struct Sprite *sprite) StartSpriteAnim(sprite, 1); sprite->affineAnimPaused = FALSE; } - if (sub_8078B5C(sprite) != 0) + if (TranslateAnimSpriteByDeltas(sprite) != 0) DestroyAnimSprite(sprite); } diff --git a/src/battle/anim/blow_kiss.c b/src/battle/anim/blow_kiss.c index e7b49471d..f585b74bc 100644 --- a/src/battle/anim/blow_kiss.c +++ b/src/battle/anim/blow_kiss.c @@ -15,19 +15,19 @@ static void sub_80D1FA4(struct Sprite* sprite); void sub_80D1F58(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = 0x5F; sprite->data[1] = sprite->pos1.x; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D1FA4; } void sub_80D1FA4(struct Sprite* sprite) { - if (sub_8078B5C(sprite) == 0) + if (TranslateAnimSpriteByDeltas(sprite) == 0) { sprite->pos2.y += Sin(sprite->data[5], 14); sprite->data[5] = (sprite->data[5] + 4) & 0xFF; diff --git a/src/battle/anim/bubble.c b/src/battle/anim/bubble.c index 403003ce3..1252c1315 100644 --- a/src/battle/anim/bubble.c +++ b/src/battle/anim/bubble.c @@ -43,7 +43,7 @@ void sub_80D31C8(struct Sprite* sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); sprite->data[5] = newSpriteId; @@ -69,7 +69,7 @@ static void sub_80D32E8(struct Sprite *sprite) u16 index = gSprites[spriteId].data[3]; sprite->data[0] = 1; - sub_8078B5C(sprite); + TranslateAnimSpriteByDeltas(sprite); sprite->pos2.x += Sin(index / 256, gSprites[spriteId].data[0]); sprite->pos2.y += Cos(index / 256, gSprites[spriteId].data[1]); diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index dbc0f75a5..e12f55a8b 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -40,7 +40,7 @@ void sub_80DC824(struct Sprite *sprite) sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -65,7 +65,7 @@ void sub_80DC8F4(struct Sprite *sprite) sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -76,7 +76,7 @@ void sub_80DC9A0(struct Sprite *sprite) if (IsContest()) gBattleAnimArgs[2] /= 2; - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; @@ -88,7 +88,7 @@ void sub_80DC9A0(struct Sprite *sprite) } else { - sub_807A3FC(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); } sub_8078BD4(sprite); @@ -98,7 +98,7 @@ void sub_80DC9A0(struct Sprite *sprite) static void sub_80DCA38(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { DestroyAnimSprite(sprite); return; @@ -111,7 +111,7 @@ static void sub_80DCA38(struct Sprite *sprite) // used in Move_STRING_SHOT void sub_80DCA70(struct Sprite *sprite) { - sub_807A3FC(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); if (GetBankSide(gAnimBankAttacker)) sprite->pos1.x -= gBattleAnimArgs[0]; else @@ -212,7 +212,7 @@ void sub_80DCBCC(struct Sprite *sprite) } } - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); lVarX = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; lVarY = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; @@ -224,7 +224,7 @@ void sub_80DCBCC(struct Sprite *sprite) sprite->data[2] = lVarX; sprite->data[4] = lVarY; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -232,7 +232,7 @@ void sub_80DCBCC(struct Sprite *sprite) // Move_PIN_MISSILE, Move_ICICLE_SPEAR void sub_80DCCFC(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -251,7 +251,7 @@ void sub_80DCD78(struct Sprite *sprite) { sprite->invisible = FALSE; - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { DestroyAnimSprite(sprite); } @@ -271,7 +271,7 @@ void sub_80DCD78(struct Sprite *sprite) x2 += x1; y2 += y1; - if (!sub_8078718(sprite)) + if (!TranslateAnimSpriteLinearAndSine(sprite)) { u16 rot = sub_80790F0(sprite->pos1.x + sprite->pos2.x - x2, sprite->pos1.y + sprite->pos2.y - y2); diff --git a/src/battle/anim/bullet.c b/src/battle/anim/bullet.c index 90b2021f1..1dca0b886 100644 --- a/src/battle/anim/bullet.c +++ b/src/battle/anim/bullet.c @@ -17,11 +17,11 @@ static void sub_80D00B4(struct Sprite* sprite); void sub_80CFFD8(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = 20; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; sprite->affineAnimPaused = 1; StoreSpriteCallbackInData(sprite, sub_80D0030); } diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c index 2234ebacb..0f23fed82 100644 --- a/src/battle/anim/cutter.c +++ b/src/battle/anim/cutter.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle.h" #include "rom_8077ABC.h" #include "trig.h" #include "battle_anim.h" @@ -7,29 +8,36 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -static void sub_80CB09C(struct Sprite* sprite); -static void sub_80CB1A4(struct Sprite* sprite); +static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite); +static void AnimMoveTwisterParticleStep(struct Sprite* sprite); -// cutter (the cresent shaped leaf used in throwing projectiles for the listed moves.) +// Animates a sprite that moves linearly from one location to another, with a +// single-cycle sine wave added to the y position along the way. // Used by Razor Leaf and Magical Leaf. - -void sub_80CAFD0(struct Sprite* sprite) +// arg 0: initial x offset +// arg 1: initial y offset +// arg 2: target x offset +// arg 3: target y offset +// arg 4: translation duration +// arg 5: wave amplitude +// arg 6: target between double battle opponents (boolean) +void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) { - sub_80787B0(sprite, 1); - if (GetBankSide(gAnimBankAttacker)) + InitAnimSpritePos(sprite, 1); + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data[0] = gBattleAnimArgs[4]; - if (!(gBattleAnimArgs[6])) + if (!gBattleAnimArgs[6]) { sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; } else { - sub_807A3FC(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); sprite->data[2] += gBattleAnimArgs[2]; sprite->data[4] += gBattleAnimArgs[3]; } @@ -45,18 +53,18 @@ void sub_80CAFD0(struct Sprite* sprite) sprite->data[0] = 0; } - sprite->callback = sub_80CB09C; + sprite->callback = AnimTranslateLinearSingleSineWaveStep; } -void sub_80CB09C(struct Sprite* sprite) +static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite) { - bool8 c = FALSE; + bool8 destroy = FALSE; s16 a = sprite->data[0]; s16 b = sprite->data[7]; s16 r0; sprite->data[0] = 1; - sub_8078718(sprite); + TranslateAnimSpriteLinearAndSine(sprite); r0 = sprite->data[7]; sprite->data[0] = a; if (b > 0xC8 && r0 <= 0x37 && sprite->oam.affineParam == 0) @@ -67,24 +75,30 @@ void sub_80CB09C(struct Sprite* sprite) sprite->invisible ^= 1; sprite->oam.affineParam++; if (sprite->oam.affineParam == 0x1E) - c = TRUE; + destroy = TRUE; } - if (sprite->pos1.x + sprite->pos2.x > 0x100 + if (sprite->pos1.x + sprite->pos2.x > 256 || sprite->pos1.x + sprite->pos2.x < -16 - || sprite->pos1.y + sprite->pos2.y > 0xA0 + || sprite->pos1.y + sprite->pos2.y > 160 || sprite->pos1.y + sprite->pos2.y < -16) - c = TRUE; + destroy = TRUE; - if (c) + if (destroy) DestroyAnimSprite(sprite); } -void sub_80CB144(struct Sprite* sprite) +// Animates particles in the Twister move animation. +// arg 0: duration +// arg 1: total y delta (the particles rise upward) +// arg 2: wave period (higher means faster wave) +// arg 3: wave amplitude +// arg 4: speedup frame (particles move faster at the end of the animation) +void AnimMoveTwisterParticle(struct Sprite* sprite) { if (!IsContest() && IsDoubleBattle() == TRUE) { - sub_807A3FC(gAnimBankTarget, 1, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->pos1.x, &sprite->pos1.y); } sprite->pos1.y += 32; @@ -93,10 +107,10 @@ void sub_80CB144(struct Sprite* sprite) sprite->data[2] = gBattleAnimArgs[2]; sprite->data[3] = gBattleAnimArgs[3]; sprite->data[4] = gBattleAnimArgs[4]; - sprite->callback = sub_80CB1A4; + sprite->callback = AnimMoveTwisterParticleStep; } -void sub_80CB1A4(struct Sprite* sprite) +static void AnimMoveTwisterParticleStep(struct Sprite* sprite) { if (sprite->data[1] == 0xFF) { diff --git a/src/battle/anim/cyclone.c b/src/battle/anim/cyclone.c index 0f83df211..b1210bc54 100644 --- a/src/battle/anim/cyclone.c +++ b/src/battle/anim/cyclone.c @@ -13,7 +13,7 @@ extern u8 gAnimBankTarget; void sub_80D0118(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); if (GetBankSide(gAnimBankAttacker) == 0) sprite->pos1.y += 16; diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index 1c88dc23e..aaf8507c6 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -14,7 +14,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; @@ -69,7 +69,7 @@ static void sub_80DFC9C(u8 taskId) gTasks[taskId].data[2] = 0; if (r2 == 16) { - gSprites[gObjectBankIDs[gAnimBankAttacker]].invisible = 1; + gSprites[gBankSpriteIds[gAnimBankAttacker]].invisible = 1; DestroyAnimVisualTask(taskId); } } @@ -128,7 +128,7 @@ void sub_80DFE14(struct Sprite *sprite) sprite->data[3] = GetBankPosition(gAnimBankTarget, 3); sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); sprite->data[0] = 0x7E; - sub_8078A5C(sprite); + InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = -sprite->data[1]; sprite->data[4] = -sprite->data[2]; sprite->data[6] = 0xFFD8; @@ -244,7 +244,7 @@ void sub_80DFFD0(struct Sprite *sprite) static void sub_80E00D0(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) move_anim_8074EE0(sprite); } @@ -792,13 +792,13 @@ static void sub_80E08CC(u8 priority) void sub_80E0918(u8 taskId) { u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; - sub_8076034(gAnimBankAttacker, toBG2); - gSprites[gObjectBankIDs[gAnimBankAttacker]].invisible = 0; + MoveBattlerSpriteToBG(gAnimBankAttacker, toBG2); + gSprites[gBankSpriteIds[gAnimBankAttacker]].invisible = 0; if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) { - sub_8076034(gAnimBankAttacker ^ 2, toBG2 ^ 1); - gSprites[gObjectBankIDs[gAnimBankAttacker ^ 2]].invisible = 0; + MoveBattlerSpriteToBG(gAnimBankAttacker ^ 2, toBG2 ^ 1); + gSprites[gBankSpriteIds[gAnimBankAttacker ^ 2]].invisible = 0; } DestroyAnimVisualTask(taskId); @@ -851,7 +851,7 @@ void sub_80E0A4C(u8 taskId) { if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2) == TRUE) { - gSprites[gObjectBankIDs[gAnimBankAttacker ^ 2]].oam.priority--; + gSprites[gBankSpriteIds[gAnimBankAttacker ^ 2]].oam.priority--; REG_BG1CNT_BITFIELD.priority = 1; var0 = 1; } @@ -937,7 +937,7 @@ static void sub_80E0CD0(u8 taskId) if (gTasks[taskIdCopy].data[6] == 1) { - gSprites[gObjectBankIDs[gAnimBankAttacker ^ 2]].oam.priority++; + gSprites[gBankSpriteIds[gAnimBankAttacker ^ 2]].oam.priority++; } DestroyAnimVisualTask(taskIdCopy); @@ -985,7 +985,7 @@ void sub_80E0E24(u8 taskId) { bank = GetBankByIdentity(identity); if (IsAnimBankSpriteVisible(bank)) - spriteId = gObjectBankIDs[bank]; + spriteId = gBankSpriteIds[bank]; else spriteId = 0xFF; } diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c index bf39e01c0..dc2c0bc50 100644 --- a/src/battle/anim/dragon.c +++ b/src/battle/anim/dragon.c @@ -19,7 +19,7 @@ extern u8 gBankAttacker; extern u16 gBattle_BG1_X; extern u16 gBattle_BG2_X; extern u16 gUnknown_03000730[]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; // Outrage @@ -68,7 +68,7 @@ void sub_80DF63C(struct Sprite *sprite) StartSpriteAnim(sprite, 1); } sprite->data[0] = gBattleAnimArgs[4]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, move_anim_8074EE0); } diff --git a/src/battle/anim/draw.c b/src/battle/anim/draw.c index f9e505bf2..be3a280af 100644 --- a/src/battle/anim/draw.c +++ b/src/battle/anim/draw.c @@ -59,7 +59,6 @@ void sub_80D0C88(u8 taskId) task->func = sub_80D0D68; } -#ifdef NONMATCHING void sub_80D0D68(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -99,126 +98,13 @@ void sub_80D0D68(u8 taskId) if (++task->data[3] >= task->data[15]) { - gScanlineEffect.unk15 = 3; + gScanlineEffect.state = 3; DestroyAnimVisualTask(taskId); } } break; } } -#else -__attribute__((naked)) -void sub_80D0D68(u8 taskId) -{ - asm(".syntax unified\n\ - push {r4,lr}\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - lsls r0, r4, 2\n\ - adds r0, r4\n\ - lsls r0, 3\n\ - ldr r1, _080D0D88 @ =gTasks\n\ - adds r3, r0, r1\n\ - movs r1, 0x10\n\ - ldrsh r0, [r3, r1]\n\ - cmp r0, 0\n\ - beq _080D0D8C\n\ - cmp r0, 0x1\n\ - beq _080D0DA2\n\ - b _080D0E22\n\ - .align 2, 0\n\ -_080D0D88: .4byte gTasks\n\ -_080D0D8C:\n\ - ldrh r0, [r3, 0x12]\n\ - adds r0, 0x1\n\ - strh r0, [r3, 0x12]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x14\n\ - ble _080D0E22\n\ - ldrh r0, [r3, 0x10]\n\ - adds r0, 0x1\n\ - strh r0, [r3, 0x10]\n\ - b _080D0E22\n\ -_080D0DA2:\n\ - ldrh r0, [r3, 0xA]\n\ - adds r0, 0x1\n\ - strh r0, [r3, 0xA]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x3\n\ - ble _080D0E22\n\ - movs r0, 0\n\ - strh r0, [r3, 0xA]\n\ - ldrh r1, [r3, 0xE]\n\ - movs r0, 0x3\n\ - ands r0, r1\n\ - strh r0, [r3, 0xC]\n\ - ldrh r0, [r3, 0x8]\n\ - subs r0, r1\n\ - strh r0, [r3, 0x12]\n\ - movs r2, 0xC\n\ - ldrsh r1, [r3, r2]\n\ - cmp r1, 0x1\n\ - beq _080D0DD8\n\ - cmp r1, 0x1\n\ - ble _080D0DE0\n\ - cmp r1, 0x2\n\ - beq _080D0DDC\n\ - cmp r1, 0x3\n\ - beq _080D0DDC\n\ - b _080D0DE0\n\ -_080D0DD8:\n\ - subs r0, 0x2\n\ - b _080D0DDE\n\ -_080D0DDC:\n\ - adds r0, 0x1\n\ -_080D0DDE:\n\ - strh r0, [r3, 0x12]\n\ -_080D0DE0:\n\ - movs r1, 0x12\n\ - ldrsh r0, [r3, r1]\n\ - cmp r0, 0\n\ - blt _080D0E04\n\ - ldr r2, _080D0E28 @ =gScanlineEffectRegBuffers\n\ - lsls r0, 1\n\ - adds r0, r2\n\ - ldrh r1, [r3, 0x14]\n\ - strh r1, [r0]\n\ - movs r1, 0x12\n\ - ldrsh r0, [r3, r1]\n\ - lsls r0, 1\n\ - movs r1, 0xF0\n\ - lsls r1, 3\n\ - adds r2, r1\n\ - adds r0, r2\n\ - ldrh r1, [r3, 0x14]\n\ - strh r1, [r0]\n\ -_080D0E04:\n\ - ldrh r0, [r3, 0xE]\n\ - adds r0, 0x1\n\ - strh r0, [r3, 0xE]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r2, 0x26\n\ - ldrsh r1, [r3, r2]\n\ - cmp r0, r1\n\ - blt _080D0E22\n\ - ldr r1, _080D0E2C @ =gScanlineEffect\n\ - movs r0, 0x3\n\ - strb r0, [r1, 0x15]\n\ - adds r0, r4, 0\n\ - bl DestroyAnimVisualTask\n\ -_080D0E22:\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080D0E28: .4byte gScanlineEffectRegBuffers\n\ -_080D0E2C: .4byte gScanlineEffect\n\ -.syntax divided\n"); -} -#endif void sub_80D0E30(struct Sprite* sprite) { diff --git a/src/battle/anim/egg.c b/src/battle/anim/egg.c index 8004b3bf5..b3de1dbb1 100644 --- a/src/battle/anim/egg.c +++ b/src/battle/anim/egg.c @@ -22,7 +22,7 @@ static void sub_80D158C(struct Sprite* sprite); void sub_80D1368(struct Sprite* sprite) { s16 r1; - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); r1 = (GetBankSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; sprite->data[0] = 0x380; sprite->data[1] = r1; diff --git a/src/battle/anim/energy_wave.c b/src/battle/anim/energy_wave.c index 15045f5bd..8111f70a3 100644 --- a/src/battle/anim/energy_wave.c +++ b/src/battle/anim/energy_wave.c @@ -20,7 +20,7 @@ static void sub_80D370C(struct Sprite *); void sub_80D3554(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = 30; sprite->data[1] = sprite->pos1.x; @@ -28,7 +28,7 @@ void sub_80D3554(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0xD200 / sprite->data[0]; sprite->data[7] = gBattleAnimArgs[3]; @@ -49,7 +49,7 @@ void sub_80D3554(struct Sprite *sprite) static void sub_80D35DC(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { DestroyAnimSprite(sprite); } @@ -147,7 +147,7 @@ void sub_80D3728(struct Sprite *sprite) else var2 = 1; - sub_80787B0(sprite, var1); + InitAnimSpritePos(sprite, var1); if (GetBankSide(gAnimBankAttacker) != 0) { @@ -157,6 +157,6 @@ void sub_80D3728(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankTarget, var2) + gBattleAnimArgs[3]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c new file mode 100644 index 000000000..a7c25de49 --- /dev/null +++ b/src/battle/anim/fight.c @@ -0,0 +1,647 @@ +#include "global.h" +#include "battle_anim.h" +#include "random.h" +#include "rom_8077ABC.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "constants/battle_constants.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gBankAttacker; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; +extern u8 gBankSpriteIds[]; +extern u8 gBanksBySide[]; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; +extern u16 gBattle_BG3_X; +extern u16 gBattle_BG3_Y; +extern u16 gBattle_WIN0H; +extern u16 gBattle_WIN0V; +extern u16 gBattlePartyID[]; +extern u8 gAnimMoveTurn; + +extern struct SpriteTemplate gBasicHitSplatSpriteTemplate; + +static void sub_80D927C(struct Sprite *sprite); +static void sub_80D9328(struct Sprite *sprite); +static void sub_80D9404(struct Sprite *sprite); +static void sub_80D9474(struct Sprite *sprite); +static void sub_80D94CC(struct Sprite *sprite); +static void sub_80D9524(struct Sprite *sprite); +static void sub_80D9640(struct Sprite *sprite); +static void sub_80D97A0(struct Sprite *sprite); +static void sub_80D986C(struct Sprite *sprite); +static void sub_80D9934(struct Sprite *sprite); +static void sub_80D99F4(struct Sprite *sprite); + + +void sub_080B08A0(struct Sprite *sprite) +{ + sub_807867C(sprite, gBattleAnimArgs[0]); + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = 15; + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D902C(struct Sprite *sprite) +{ + if (gBattleAnimArgs[7] == 1 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + } + + StartSpriteAnim(sprite, gBattleAnimArgs[6]); + gBattleAnimArgs[6] = 0; + sub_8079534(sprite); +} + +void sub_80D9078(struct Sprite *sprite) +{ + if (IsContest()) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + } + + sub_80D902C(sprite); +} + +void sub_80D90A4(struct Sprite *sprite) +{ + StartSpriteAnim(sprite, gBattleAnimArgs[4]); + + if (gBattleAnimArgs[3] == 0) + InitAnimSpritePos(sprite, 1); + else + sub_8078764(sprite, 1); + + sprite->data[0] = gBattleAnimArgs[2]; + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D90F4(struct Sprite *sprite) +{ + u8 bank; + s16 xMod, yMod; + s16 x, y; + + if (gBattleAnimArgs[0] == 0) + bank = gAnimBankAttacker; + else + bank = gAnimBankTarget; + + if (gBattleAnimArgs[2] < 0) + gBattleAnimArgs[2] = Random() % 5; + + StartSpriteAnim(sprite, gBattleAnimArgs[2]); + sprite->pos1.x = GetBankPosition(bank, 2); + sprite->pos1.y = GetBankPosition(bank, 3); + + xMod = sub_807A100(bank, 1) / 2; + yMod = sub_807A100(bank, 0) / 4; + + x = Random() % xMod; + y = Random() % yMod; + + if (Random() & 1) + x *= -1; + if (Random() & 1) + y *= -1; + + if ((gBanksBySide[bank] & 1) == 0) + y += 0xFFF0; + + sprite->pos1.x += x; + sprite->pos1.y += y; + + sprite->data[0] = gBattleAnimArgs[1]; + sprite->data[7] = CreateSprite(&gBasicHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); + if (sprite->data[7] != 64) + { + StartSpriteAffineAnim(&gSprites[sprite->data[7]], 0); + gSprites[sprite->data[7]].callback = SpriteCallbackDummy; + } + + sprite->callback = sub_80D927C; +} + +static void sub_80D927C(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + if (sprite->data[7] != 64) + { + FreeOamMatrix(gSprites[sprite->data[7]].oam.matrixNum); + DestroySprite(&gSprites[sprite->data[7]]); + } + + DestroyAnimSprite(sprite); + } + else + { + sprite->data[0]--; + } +} + +void sub_80D92D0(struct Sprite *sprite) +{ + sub_8078764(sprite, 1); + sprite->data[0] = 30; + + if (gBattleAnimArgs[2] == 0) + { + sprite->data[2] = sprite->pos1.x - 20; + } + else + { + sprite->data[2] = sprite->pos1.x + 20; + sprite->hFlip = 1; + } + + sprite->data[4] = sprite->pos1.y - 20; + sprite->callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(sprite, sub_80D9328); +} + +static void sub_80D9328(struct Sprite *sprite) +{ + if (++sprite->data[5] == 11) + { + sprite->data[2] = sprite->pos1.x - sprite->pos2.x; + sprite->data[4] = sprite->pos1.y - sprite->pos2.y; + sprite->data[0] = 8; + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + + sprite->callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + } +} + +void sub_80D9378(struct Sprite *sprite) +{ + if ((gAnimBankAttacker ^ 2) == gAnimBankTarget && GetBankIdentity(gAnimBankTarget) < 2) + gBattleAnimArgs[0] *= -1; + + sub_8078764(sprite, 1); + + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + + sprite->data[0] = gBattleAnimArgs[3]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2]; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = sprite->pos1.y; + + InitAnimSpriteTranslationDeltas(sprite); + + sprite->data[5] = gBattleAnimArgs[5]; + sprite->data[6] = gBattleAnimArgs[4]; + sprite->data[7] = 0; + + sprite->callback = sub_80D9404; +} + +static void sub_80D9404(struct Sprite *sprite) +{ + if (!TranslateAnimSpriteByDeltas(sprite)) + { + sprite->pos2.y += Sin(sprite->data[7] >> 8, sprite->data[5]); + sprite->data[7] += sprite->data[6]; + } + else + { + DestroyAnimSprite(sprite); + } +} + +void sub_80D943C(struct Sprite *sprite) +{ + sub_8078764(sprite, 1); + StartSpriteAnim(sprite, gBattleAnimArgs[2]); + sprite->data[0] = gBattleAnimArgs[3]; + + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, sub_80D9474); +} + +static void sub_80D9474(struct Sprite *sprite) +{ + StartSpriteAffineAnim(sprite, 0); + sprite->affineAnimPaused = 1; + sprite->data[0] = 20; + + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D94A8(struct Sprite *sprite) +{ + sub_8078764(sprite, 1); + sprite->data[0] = gBattleAnimArgs[2]; + + sprite->callback = sub_80D94CC; +} + +static void sub_80D94CC(struct Sprite *sprite) +{ + if (--sprite->data[0] == -1) + { + sprite->data[0] = 6; + sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + + sprite->callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(sprite, sub_80D9524); + } +} + +static void sub_80D9524(struct Sprite *sprite) +{ + sprite->data[0] = 15; + + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D9540(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + sub_8078764(sprite, 1); + sprite->data[1] = gBattleAnimArgs[2]; + sprite->data[2] = gBattleAnimArgs[3]; + sprite->data[0]++; + } + else + { + sprite->data[4] += sprite->data[1]; + sprite->pos2.x = sprite->data[4] >> 8; + sprite->pos2.y = Sin(sprite->data[3], sprite->data[2]); + sprite->data[3] = (sprite->data[3] + 3) & 0xFF; + + if (sprite->data[3] > 100) + sprite->invisible = sprite->data[3] % 2; + + if (sprite->data[3] > 120) + DestroyAnimSprite(sprite); + } +} + +void sub_80D95D0(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); + sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + } + else + { + sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); + sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); + } + + sprite->pos1.x += gBattleAnimArgs[1]; + sprite->pos1.y += gBattleAnimArgs[2]; + + sprite->data[0] = 0; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[2] = gBattleAnimArgs[4]; + sprite->data[3] = 0; + sprite->callback = sub_80D9640; +} + +static void sub_80D9640(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (--sprite->data[1] == 0) + { + if (sprite->data[2] == 0) + DestroyAnimSprite(sprite); + else + sprite->data[0]++; + } + break; + case 1: + if (++sprite->data[1] > 1) + { + sprite->data[1] = 0; + sprite->data[3]++; + if (sprite->data[3] & 1) + sprite->pos2.x = 2; + else + sprite->pos2.x = -2; + } + + if (--sprite->data[2] == 0) + DestroyAnimSprite(sprite); + break; + } +} + +void sub_80D96B8(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; + sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; + } + else + { + sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[2]; + sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[3]; + } + + sprite->oam.tileNum += gBattleAnimArgs[1] * 16; + sprite->data[0] = 0; + + switch (gBattleAnimArgs[1]) + { + case 0: + sprite->data[6] = -3; + sprite->data[7] = -3; + break; + case 1: + sprite->data[6] = 3; + sprite->data[7] = -3; + break; + case 2: + sprite->data[6] = -3; + sprite->data[7] = 3; + break; + case 3: + sprite->data[6] = 3; + sprite->data[7] = 3; + break; + default: + DestroyAnimSprite(sprite); + return; + } + + sprite->callback = sub_80D97A0; +} + +static void sub_80D97A0(struct Sprite *sprite) +{ + sprite->pos1.x += sprite->data[6]; + sprite->pos1.y += sprite->data[7]; + + if (++sprite->data[0] > 40) + DestroyAnimSprite(sprite); +} + +void sub_80D97CC(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBankPosition(gBankAttacker, 2); + sprite->pos1.y = GetBankPosition(gBankAttacker, 3); + sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); + sprite->data[7] = gAnimBankTarget; + } + else + { + sprite->oam.priority = sub_8079ED4(gAnimBankTarget); + sprite->data[7] = gAnimBankAttacker; + } + + sprite->data[0] = 0; + sprite->data[1] = 12; + sprite->data[2] = 8; + sprite->callback = sub_80D986C; +} + +static void sub_80D986C(struct Sprite *sprite) +{ + if (++sprite->data[0] == 180) + { + REG_BLDCNT = 0; + + sprite->data[0] = 16; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBankPosition(sprite->data[7], 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBankPosition(sprite->data[7], 3); + + InitAnimSpriteTranslationDeltas(sprite); + StoreSpriteCallbackInData(sprite, move_anim_8074EE0); + sprite->callback = TranslateAnimSpriteByDeltasUntil; + } +} + +void sub_80D98D8(struct Sprite *sprite) +{ + sprite->pos1.x = gBattleAnimArgs[0]; + sprite->pos1.y = 120; + + sprite->data[0] = gBattleAnimArgs[3]; + sub_8079BF4(&sprite->data[4], &sprite->data[5], (void *)(sprite->pos1.y << 8)); + + sprite->data[6] = gBattleAnimArgs[1]; + sprite->oam.tileNum += gBattleAnimArgs[2] * 4; + + sprite->callback = sub_80D9934; +} + +static void sub_80D9934(struct Sprite *sprite) +{ + void *var0; + + if (sprite->data[0] != 0) + { + var0 = sub_8079BFC(sprite->data[4], sprite->data[5]); + var0 -= sprite->data[6]; + sub_8079BF4(&sprite->data[4], &sprite->data[5], var0); + + var0 = (void *)(((intptr_t)var0) >> 8); + sprite->pos1.y = (intptr_t)var0; + if (sprite->pos1.y < -8) + DestroyAnimSprite(sprite); + else + sprite->data[0]--; + } + else + { + s16 pos0 = GetBankPosition(gAnimBankAttacker, 2); + s16 pos1 = GetBankPosition(gAnimBankAttacker, 3); + s16 pos2 = GetBankPosition(gAnimBankTarget, 2); + s16 pos3 = GetBankPosition(gAnimBankTarget, 3); + + sprite->data[0] = pos2 - pos0; + sprite->data[1] = pos3 - pos1; + sprite->data[2] = sprite->pos1.x << 4; + sprite->data[3] = sprite->pos1.y << 4; + + sprite->callback = sub_80D99F4; + } +} + +static void sub_80D99F4(struct Sprite *sprite) +{ + u16 edgeX; + + sprite->data[2] += sprite->data[0]; + sprite->data[3] += sprite->data[1]; + sprite->pos1.x = sprite->data[2] >> 4; + sprite->pos1.y = sprite->data[3] >> 4; + + edgeX = sprite->pos1.x + 8; + if (edgeX > 256 || sprite->pos1.y < -8 || sprite->pos1.y > 120) + DestroyAnimSprite(sprite); +} + +void sub_80D9A38(struct Sprite *sprite) +{ + u8 bank; + + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBankPosition(gBankAttacker, 2); + sprite->pos1.y = GetBankPosition(gBankAttacker, 3); + bank = gAnimBankTarget; + sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); + } + else + { + bank = gAnimBankAttacker; + sprite->oam.priority = sub_8079ED4(gAnimBankTarget); + } + + if (IsContest()) + sprite->oam.matrixNum |= 0x8; + else if (GetBankSide(bank) == SIDE_PLAYER) + sprite->oam.matrixNum |= 0x18; + + sprite->data[0] = 16; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBankPosition(bank, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBankPosition(bank, 3); + + InitAnimSpriteTranslationDeltas(sprite); + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + sprite->callback = TranslateAnimSpriteByDeltasUntil; +} + +static void sub_80D9B24(struct Sprite *sprite) +{ + if (sprite->data[0] == sprite->data[4]) + DestroyAnimSprite(sprite); + + sprite->data[0]++; +} + +void sub_80D9B48(struct Sprite *sprite) +{ + u8 turn; + + sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); + sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[2] = gBattleAnimArgs[0]; + sprite->data[3] = gBattleAnimArgs[1]; + sprite->data[4] = gBattleAnimArgs[2]; + + turn = gAnimMoveTurn; + if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + turn++; + + if (turn & 1) + { + sprite->data[2] = -sprite->data[2]; + sprite->data[1]++; + } + + StartSpriteAnim(sprite, sprite->data[1]); + sprite->pos2.x = sprite->data[2]; + sprite->pos2.y = sprite->data[3]; + sprite->callback = sub_80D9B24; +} + +void sub_80D9BD4(struct Sprite *sprite) +{ + if (gBattleAnimArgs[2] == 0) + InitAnimSpritePos(sprite, 0); + else + sub_8078764(sprite, 0); + + if (IsContest()) + { + StartSpriteAnim(sprite, 2); + } + else if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + { + StartSpriteAnim(sprite, 1); + } + + sprite->callback = sub_8078600; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D9C40(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + { + sprite->data[1] = (sprite->data[1] + 40) & 0xFF; + sprite->pos2.x = Sin(sprite->data[1], 2); + + if (++sprite->data[0] > 40) + { + DestroyAnimSprite(sprite); + } + } +} + +void sub_80D9C80(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sub_80789D4(0); + task->data[8] = gBattleAnimArgs[0]; + task->data[0]++; + break; + case 1: + if (--task->data[8] == -1) + task->data[0]++; + break; + case 2: + default: + task->data[9] += 1280; + break; + } + + task->data[10] += 2816; + + if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + gBattle_BG3_X += task->data[9] >> 8; + else + gBattle_BG3_X -= task->data[9] >> 8; + + gBattle_BG3_Y += task->data[10] >> 8; + + task->data[9] &= 0xFF; + task->data[10] &= 0xFF; + + if (gBattleAnimArgs[7] == -1) + { + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + sub_80789D4(1); + DestroyAnimVisualTask(taskId); + } +} diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c index 4d577a765..fe63fcff1 100644 --- a/src/battle/anim/fire_2.c +++ b/src/battle/anim/fire_2.c @@ -42,7 +42,7 @@ struct Sprite *sub_80D5210(struct Sprite *sprite) void sub_80D522C(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[7] = gBattleAnimArgs[2]; sprite->data[0] = 0; @@ -62,7 +62,7 @@ void sub_80D5254(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D52AC; } @@ -70,7 +70,7 @@ void sub_80D5254(struct Sprite *sprite) void sub_80D52AC(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { sprite->data[0] = 0; @@ -123,7 +123,7 @@ void sub_80D5374(struct Sprite *sprite) void sub_80D53B4(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[1] = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[3]; diff --git a/src/battle/anim/flying_path.c b/src/battle/anim/flying_path.c index 441ac0e6d..559f617c6 100644 --- a/src/battle/anim/flying_path.c +++ b/src/battle/anim/flying_path.c @@ -53,7 +53,7 @@ void sub_80CBF5C(u8 taskId) { case 4: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) { break; } @@ -65,7 +65,7 @@ void sub_80CBF5C(u8 taskId) break; case 8: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) { break; } @@ -77,7 +77,7 @@ void sub_80CBF5C(u8 taskId) break; case 0: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) break; task->data[15] = 1; @@ -103,7 +103,7 @@ void sub_80CBF5C(u8 taskId) break; case 2: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) break; task->data[15] = 3; @@ -146,7 +146,7 @@ void sub_80CBF5C(u8 taskId) break; case 6: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) break; task->data[15] = 7; @@ -189,7 +189,7 @@ void sub_80CBF5C(u8 taskId) break; case 10: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) { break; } @@ -221,7 +221,7 @@ void sub_80CBF5C(u8 taskId) } case 12: sub_80CC358(task, taskId); - if (sub_8078718(sprite) != 0) + if (TranslateAnimSpriteLinearAndSine(sprite) != 0) { DestroySprite(sprite); task->data[0]++; diff --git a/src/battle/anim/glitter.c b/src/battle/anim/glitter.c index e4577f1e1..e6c101de3 100644 --- a/src/battle/anim/glitter.c +++ b/src/battle/anim/glitter.c @@ -35,7 +35,7 @@ void sub_80CD190(struct Sprite* sprite) if (IsDoubleBattle() && IsAnimBankSpriteVisible(bank ^ 2)) { - sub_807A3FC(bank, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(bank, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y); sub_807867C(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; } diff --git a/src/battle/anim/grip.c b/src/battle/anim/grip.c index c4d7b1cef..dbf7a1562 100644 --- a/src/battle/anim/grip.c +++ b/src/battle/anim/grip.c @@ -33,7 +33,7 @@ void sub_80D0178(struct Sprite* sprite) sprite->data[0] = 6; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r8; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + r6; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, sub_80D020C); } diff --git a/src/battle/anim/guard.c b/src/battle/anim/guard.c index 254160109..211e0e841 100644 --- a/src/battle/anim/guard.c +++ b/src/battle/anim/guard.c @@ -15,7 +15,7 @@ void sub_80D3014(struct Sprite *sprite) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) { - sub_807A3FC(gAnimBankAttacker, 0, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankAttacker, 0, &sprite->pos1.x, &sprite->pos1.y); sprite->pos1.y += 40; StartSpriteAffineAnim(sprite, 1); @@ -30,6 +30,6 @@ void sub_80D3014(struct Sprite *sprite) sprite->data[2] = sprite->pos1.x; sprite->data[4] = sprite->pos1.y - 72; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } diff --git a/src/battle/anim/guillotine.c b/src/battle/anim/guillotine.c index b3d842cdf..15279d5e2 100644 --- a/src/battle/anim/guillotine.c +++ b/src/battle/anim/guillotine.c @@ -37,7 +37,7 @@ void sub_80D0228(struct Sprite* sprite) sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r9; sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + r6; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[0]; sprite->data[6] = sprite->data[0]; sprite->callback = sub_80D02D0; @@ -45,7 +45,7 @@ void sub_80D0228(struct Sprite* sprite) void sub_80D02D0(struct Sprite* sprite) { - if (sub_8078B5C(sprite) && sprite->animEnded == 1) + if (TranslateAnimSpriteByDeltas(sprite) && sprite->animEnded == 1) { SeekSpriteAnim(sprite, 0); sprite->animPaused = 1; @@ -85,6 +85,6 @@ void sub_80D0344(struct Sprite* sprite) void sub_80D03A8(struct Sprite* sprite) { - if (sub_8078B5C(sprite) != 0) + if (TranslateAnimSpriteByDeltas(sprite) != 0) DestroyAnimSprite(sprite); } diff --git a/src/battle/anim/heart_1.c b/src/battle/anim/heart_1.c index 5df89f929..857169e62 100644 --- a/src/battle/anim/heart_1.c +++ b/src/battle/anim/heart_1.c @@ -14,7 +14,7 @@ extern u8 gAnimBankTarget; void sub_80D1C80(struct Sprite* sprite) { if (++sprite->data[0] == 1) - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->pos2.x = Sin(sprite->data[1], 8); sprite->pos2.y = sprite->data[2] >> 8; diff --git a/src/battle/anim/heated_rock.c b/src/battle/anim/heated_rock.c index 51cfbd007..055960f40 100644 --- a/src/battle/anim/heated_rock.c +++ b/src/battle/anim/heated_rock.c @@ -50,101 +50,25 @@ void sub_80D5994(struct Sprite *sprite, s16 x, s16 y) sprite->data[5] = y * 8; } -#ifdef NONMATCHING void sub_80D59B0(struct Sprite *sprite) { int var1; - int var2; - if (++sprite->data[0] > 2) { sprite->data[0] = 0; ++sprite->data[1]; - sprite->data[3] += ((u16)sprite->data[1] * (u16)sprite->data[1]); + var1 = (u16)sprite->data[1] * (u16)sprite->data[1]; + sprite->data[3] += var1; } - var1 = (u16)sprite->data[4] + (u16)sprite->data[2]; - sprite->data[2] = var1; - var1 = (s16)var1 >> 3; - sprite->pos1.x = var1; - - var2 = (u16)sprite->data[5] + (u16)sprite->data[3]; - sprite->data[3] = var2; - var2 = (s16)var2 >> 3; - sprite->pos1.y = var2; + sprite->data[2] += sprite->data[4]; + sprite->pos1.x = sprite->data[2] >> 3; + sprite->data[3] += sprite->data[5]; + sprite->pos1.y = sprite->data[3] >> 3; - if ((u32)((var1 + 8) << 16) > 0x1000000 || var2 < -8 || var2 > 120) - { - sprite->invisible = 1; - } -} -#else -__attribute__((naked)) -void sub_80D59B0(struct Sprite *sprite) -{ - asm(".syntax unified\n\ - push {lr}\n\ - adds r2, r0, 0\n\ - ldrh r0, [r2, 0x2E]\n\ - adds r0, 0x1\n\ - strh r0, [r2, 0x2E]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x2\n\ - ble _080D59DA\n\ - movs r0, 0\n\ - strh r0, [r2, 0x2E]\n\ - ldrh r0, [r2, 0x30]\n\ - adds r0, 0x1\n\ - strh r0, [r2, 0x30]\n\ - ldrh r0, [r2, 0x30]\n\ - adds r1, r0, 0\n\ - muls r1, r0\n\ - adds r0, r1, 0\n\ - ldrh r3, [r2, 0x34]\n\ - adds r0, r3\n\ - strh r0, [r2, 0x34]\n\ -_080D59DA:\n\ - ldrh r0, [r2, 0x36]\n\ - ldrh r1, [r2, 0x32]\n\ - adds r0, r1\n\ - strh r0, [r2, 0x32]\n\ - lsls r0, 16\n\ - asrs r0, 19\n\ - strh r0, [r2, 0x20]\n\ - ldrh r1, [r2, 0x38]\n\ - ldrh r3, [r2, 0x34]\n\ - adds r1, r3\n\ - strh r1, [r2, 0x34]\n\ - lsls r1, 16\n\ - asrs r3, r1, 19\n\ - strh r3, [r2, 0x22]\n\ - adds r0, 0x8\n\ - lsls r0, 16\n\ - movs r1, 0x80\n\ - lsls r1, 17\n\ - cmp r0, r1\n\ - bhi _080D5A10\n\ - adds r1, r3, 0\n\ - movs r0, 0x8\n\ - negs r0, r0\n\ - cmp r1, r0\n\ - blt _080D5A10\n\ - cmp r1, 0x78\n\ - ble _080D5A1C\n\ -_080D5A10:\n\ - adds r0, r2, 0\n\ - adds r0, 0x3E\n\ - ldrb r1, [r0]\n\ - movs r2, 0x4\n\ - orrs r1, r2\n\ - strb r1, [r0]\n\ -_080D5A1C:\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); + if (sprite->pos1.x < -8 || sprite->pos1.x > 0xf8 || sprite->pos1.y < -8 || sprite->pos1.y > 120) + sprite->invisible = TRUE; } -#endif // NONMATCHING void sub_80D5A20(struct Sprite *sprite) { diff --git a/src/battle/anim/hop.c b/src/battle/anim/hop.c index 4006e2d43..0697e83a0 100644 --- a/src/battle/anim/hop.c +++ b/src/battle/anim/hop.c @@ -91,7 +91,7 @@ void sub_80CB94C(struct Sprite* sprite) { s16 e1; s16 e2; - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); e1 = GetBankPosition(gAnimBankTarget, 0); e2 = GetBankPosition(gAnimBankTarget, 1); if ((gAnimBankAttacker ^ 2) == gAnimBankTarget) diff --git a/src/battle/anim/lunge_1.c b/src/battle/anim/lunge_1.c index d379c8f09..a3b5f19c5 100644 --- a/src/battle/anim/lunge_1.c +++ b/src/battle/anim/lunge_1.c @@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; static void sub_80CD7CC(struct Sprite* sprite); static void sub_80CD81C(struct Sprite* sprite); @@ -46,16 +46,16 @@ void sub_80CD7CC(struct Sprite* sprite) sprite->data[0] = 6; sprite->data[1] = (GetBankSide(gAnimBankAttacker)) ? 2 : -2; sprite->data[2] = 0; - sprite->data[3] = gObjectBankIDs[gAnimBankAttacker]; + sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; StoreSpriteCallbackInData(sprite, sub_80CD81C); - sprite->callback = sub_8078458; + sprite->callback = TranslateMonBGUntil; } void sub_80CD81C(struct Sprite* sprite) { if (sprite->data[0] == 0) { - sprite->data[3] = gObjectBankIDs[gAnimBankAttacker]; + sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; sub_8078E70(sprite->data[3], 0); sprite->data[4] = (sprite->data[6] = GetBankSide(gAnimBankAttacker)) ? 0x300 : 0xFFFFFD00; sprite->data[5] = 0; @@ -76,9 +76,9 @@ void sub_80CD8A8(struct Sprite* sprite) sprite->data[0] = 4; sprite->data[1] = (GetBankSide(gAnimBankAttacker)) ? -3 : 3; sprite->data[2] = 0; - sprite->data[3] = gObjectBankIDs[gAnimBankAttacker]; + sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; StoreSpriteCallbackInData(sprite, sub_80CD9B8); - sprite->callback = sub_8078458; + sprite->callback = TranslateMonBGUntil; } void sub_80CD8F8(struct Sprite* sprite) @@ -94,7 +94,7 @@ void sub_80CD91C(struct Sprite* sprite) { if (sprite->data[0] == 0) { - sprite->data[3] = gObjectBankIDs[gAnimBankAttacker]; + sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; sprite->data[6] = GetBankSide(gAnimBankAttacker); if (GetBankSide(gAnimBankAttacker)) { diff --git a/src/battle/anim/lunge_2.c b/src/battle/anim/lunge_2.c index fe2470567..f222b291d 100644 --- a/src/battle/anim/lunge_2.c +++ b/src/battle/anim/lunge_2.c @@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; static void sub_80CDB60(u8 taskId); static void sub_80CDD20(u8 taskId); @@ -20,7 +20,7 @@ void sub_80CDAC8(u8 taskId) { u8 a; - gTasks[taskId].data[0] = gObjectBankIDs[gAnimBankAttacker]; + gTasks[taskId].data[0] = gBankSpriteIds[gAnimBankAttacker]; a = GetBankSide(gAnimBankAttacker); gTasks[taskId].data[1] = a; gTasks[taskId].data[2] = 0; diff --git a/src/battle/anim/money.c b/src/battle/anim/money.c index 8358d23db..0ee381e13 100644 --- a/src/battle/anim/money.c +++ b/src/battle/anim/money.c @@ -19,7 +19,7 @@ void sub_80CFE9C(struct Sprite* sprite) s16 r7; u16 var; - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); r6 = GetBankPosition(gAnimBankTarget, 2); r7 = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; if (GetBankSide(gAnimBankAttacker) != 0) diff --git a/src/battle/anim/note_rain.c b/src/battle/anim/note_rain.c index 715462d73..44817b0a0 100644 --- a/src/battle/anim/note_rain.c +++ b/src/battle/anim/note_rain.c @@ -24,14 +24,14 @@ void sub_80D1BA8(struct Sprite* sprite, u8 a, u8 b) void sub_80D1C08(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); if (GetBankSide(gAnimBankAttacker) != 0) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); sub_80D1BA8(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]); } diff --git a/src/battle/anim/note_scatter_2.c b/src/battle/anim/note_scatter_2.c index 524c51c08..262afb8bf 100644 --- a/src/battle/anim/note_scatter_2.c +++ b/src/battle/anim/note_scatter_2.c @@ -32,14 +32,14 @@ void sub_80CEE60(struct Sprite* sprite) sprite->data[2] = a + sprite->data[1]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = sprite->data[3] - 40; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[3]; sprite->callback = sub_80CEEE8; } void sub_80CEEE8(struct Sprite* sprite) { - if (sub_8078B5C(sprite) == 0) + if (TranslateAnimSpriteByDeltas(sprite) == 0) { s16 a; a = Sin(sprite->data[5], 8); diff --git a/src/battle/anim/orbit.c b/src/battle/anim/orbit.c index c8cf339d2..e7dd0df49 100644 --- a/src/battle/anim/orbit.c +++ b/src/battle/anim/orbit.c @@ -79,13 +79,13 @@ void sub_80CACEC(u8 taskId) void sub_80CAD54(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0x40; sprite->callback = sub_80CADA8; sub_80CADA8(sprite); @@ -93,7 +93,7 @@ void sub_80CAD54(struct Sprite* sprite) void sub_80CADA8(struct Sprite* sprite) { - if (!sub_8078B5C(sprite)) + if (!TranslateAnimSpriteByDeltas(sprite)) { sprite->pos2.x += Sin(sprite->data[5], 32); sprite->pos2.y += Cos(sprite->data[5], -5); @@ -116,13 +116,13 @@ void sub_80CADA8(struct Sprite* sprite) void sub_80CAE20(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0x40; sprite->callback = sub_80CAE74; sub_80CAE74(sprite); @@ -130,7 +130,7 @@ void sub_80CAE20(struct Sprite* sprite) void sub_80CAE74(struct Sprite* sprite) { - if (!sub_8078B5C(sprite)) + if (!TranslateAnimSpriteByDeltas(sprite)) { sprite->pos2.x += Sin(sprite->data[5], 8); if ((u16)(sprite->data[5] - 0x3B) < 5 || (u16)(sprite->data[5] - 0xBB) < 5) diff --git a/src/battle/anim/orbs.c b/src/battle/anim/orbs.c index 6ca2fa71c..b965cacb8 100644 --- a/src/battle/anim/orbs.c +++ b/src/battle/anim/orbs.c @@ -19,34 +19,34 @@ extern struct SpriteTemplate gSpriteTemplate_83D631C; void sub_80CA7B0(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, move_anim_8074EE0); } void sub_80CA800(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); StartSpriteAnim(sprite, gBattleAnimArgs[3]); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } void sub_80CA858(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[3]; sprite->callback = sub_80CA8B4; sub_80CA8B4(sprite); @@ -54,7 +54,7 @@ void sub_80CA858(struct Sprite* sprite) void sub_80CA8B4(struct Sprite* sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { DestroySprite(sprite); } @@ -105,7 +105,7 @@ void sub_80CA9A8(struct Sprite* sprite) void sub_80CA9F8(struct Sprite* sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } diff --git a/src/battle/anim/perceive.c b/src/battle/anim/perceive.c index 3b3153428..14db096c6 100644 --- a/src/battle/anim/perceive.c +++ b/src/battle/anim/perceive.c @@ -19,6 +19,6 @@ void sub_80D2904(struct Sprite* sprite) void sub_80D2920(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->callback = sub_80D2904; } diff --git a/src/battle/anim/poison.c b/src/battle/anim/poison.c index f31c441fb..272d99e84 100644 --- a/src/battle/anim/poison.c +++ b/src/battle/anim/poison.c @@ -17,7 +17,7 @@ void sub_80D9D70(struct Sprite *sprite) if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); @@ -31,7 +31,7 @@ void sub_80D9D70(struct Sprite *sprite) void sub_80D9DD4(struct Sprite *sprite) // same as sub_80D9E78 { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } @@ -41,8 +41,8 @@ void sub_80D9DF0(struct Sprite *sprite) if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); - sub_80787B0(sprite, 1); - sub_807A3FC(gAnimBankTarget, 1, &l1, &l2); + InitAnimSpritePos(sprite, 1); + SetAverageBattlerPositions(gAnimBankTarget, 1, &l1, &l2); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[4] = -gBattleAnimArgs[4]; @@ -59,7 +59,7 @@ void sub_80D9DF0(struct Sprite *sprite) void sub_80D9E78(struct Sprite *sprite) // same as sub_80D9DD4 { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } @@ -71,7 +71,7 @@ void sub_80D9E94(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[1]; - sub_8078A5C(sprite); + InitSpriteDataForLinearTranslation(sprite); sprite->data[5] = sprite->data[1] / gBattleAnimArgs[2]; sprite->data[6] = sprite->data[2] / gBattleAnimArgs[2]; @@ -92,7 +92,7 @@ void sub_80D9EE8(struct Sprite *sprite) void sub_80D9F14(struct Sprite *sprite) { - sub_807A3FC(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -104,7 +104,7 @@ void sub_80D9F14(struct Sprite *sprite) sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2]; sprite->data[4] = sprite->pos1.y + sprite->data[0]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -116,7 +116,7 @@ void sub_80D9F88(struct Sprite *sprite) } else { - sub_807A3FC(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; diff --git a/src/battle/anim/powder.c b/src/battle/anim/powder.c index a0be20d6f..5d67311dc 100644 --- a/src/battle/anim/powder.c +++ b/src/battle/anim/powder.c @@ -6,12 +6,17 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; -static void sub_80CA768(struct Sprite* sprite); +static void AnimMovePowderParticleStep(struct Sprite* sprite); -// powder +// Animates the falling particles that horizontally wave back and forth. // Used by Sleep Powder, Stun Spore, and Poison Powder. - -void sub_80CA710(struct Sprite* sprite) +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: total duration in frames +// arg 3: vertical movement speed (sub-pixel value) +// arg 4: wave amplitude +// arg 5: wave speed +void AnimMovePowderParticle(struct Sprite* sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -28,10 +33,10 @@ void sub_80CA710(struct Sprite* sprite) } sprite->data[4] = gBattleAnimArgs[5]; - sprite->callback = sub_80CA768; + sprite->callback = AnimMovePowderParticleStep; } -void sub_80CA768(struct Sprite* sprite) +static void AnimMovePowderParticleStep(struct Sprite* sprite) { if (sprite->data[0] > 0) { diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 6617183cb..b108c496a 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -14,7 +14,7 @@ extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern u16 gBattle_BG1_X; extern u16 gBattle_BG2_X; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern const union AffineAnimCmd *const gUnknown_083DA888[]; extern struct AffineAnimFrameCmd gUnknown_083DA8A4; @@ -53,11 +53,11 @@ void sub_80DB74C(struct Sprite *sprite) u8 toBG_2 = (identity ^ var0) != 0; if (IsAnimBankSpriteVisible(bank)) - sub_8076034(bank, toBG_2); + MoveBattlerSpriteToBG(bank, toBG_2); bank = bankCopy ^ 2; if (IsAnimBankSpriteVisible(bank)) - sub_8076034(bank, toBG_2 ^ var0); + MoveBattlerSpriteToBG(bank, toBG_2 ^ var0); } if (!IsContest() && IsDoubleBattle()) @@ -134,11 +134,11 @@ static void sub_80DB92C(struct Sprite *sprite) u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); if (IsAnimBankSpriteVisible(bank)) - gSprites[gObjectBankIDs[bank]].invisible = 0; + gSprites[gBankSpriteIds[bank]].invisible = 0; bank = bankCopy ^ 2; if (IsAnimBankSpriteVisible(bank)) - gSprites[gObjectBankIDs[bank]].invisible = 0; + gSprites[gBankSpriteIds[bank]].invisible = 0; } sprite->invisible = 1; @@ -192,7 +192,7 @@ void sub_80DBA4C(struct Sprite *sprite) else { if (gBattleAnimArgs[2] == 0) - sub_80787B0(sprite, var0); + InitAnimSpritePos(sprite, var0); else sub_8078764(sprite, var0); } @@ -539,7 +539,7 @@ static void sub_80DC1FC(u8 taskId) void sub_80DC2B0(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); diff --git a/src/battle/anim/ring.c b/src/battle/anim/ring.c index 915cadcbc..86b2c4659 100644 --- a/src/battle/anim/ring.c +++ b/src/battle/anim/ring.c @@ -10,7 +10,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; static void sub_80D1098(struct Sprite* sprite); @@ -32,7 +32,7 @@ void sub_80D0FD8(struct Sprite* sprite) r4 = gBattleAnimArgs[3] ^ 1; if (IsDoubleBattle() && IsAnimBankSpriteVisible(bank ^ 2)) { - sub_807A3FC(bank, r4, &sp0, &sp1); + SetAverageBattlerPositions(bank, r4, &sp0, &sp1); if (r4 == 0) r4 = GetBankPosition(bank, 0); else @@ -50,7 +50,7 @@ void sub_80D0FD8(struct Sprite* sprite) void sub_80D1098(struct Sprite* sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { FreeSpriteOamMatrix(sprite); DestroyAnimSprite(sprite); @@ -94,23 +94,23 @@ void sub_80D10B8(struct Sprite* sprite) { r9 = GetBankPosition(bankr7, r10) + gBattleAnimArgs[0]; if (IsAnimBankSpriteVisible(bankr8 ^ 2)) - sprite->subpriority = gSprites[gObjectBankIDs[bankr8 ^ 2]].subpriority - 1; + sprite->subpriority = gSprites[gBankSpriteIds[bankr8 ^ 2]].subpriority - 1; else - sprite->subpriority = gSprites[gObjectBankIDs[bankr8]].subpriority - 1; + sprite->subpriority = gSprites[gBankSpriteIds[bankr8]].subpriority - 1; } else { r9 = GetBankPosition(bankr7, r10) - gBattleAnimArgs[0]; if (gMain.inBattle && IsAnimBankSpriteVisible(bankr7 ^ 2)) { - if (gSprites[gObjectBankIDs[bankr7]].pos1.x < gSprites[gObjectBankIDs[bankr7 ^ 2]].pos1.x) - sprite->subpriority = gSprites[gObjectBankIDs[bankr7 ^ 2]].subpriority + 1; + if (gSprites[gBankSpriteIds[bankr7]].pos1.x < gSprites[gBankSpriteIds[bankr7 ^ 2]].pos1.x) + sprite->subpriority = gSprites[gBankSpriteIds[bankr7 ^ 2]].subpriority + 1; else - sprite->subpriority = gSprites[gObjectBankIDs[bankr7]].subpriority - 1; + sprite->subpriority = gSprites[gBankSpriteIds[bankr7]].subpriority - 1; } else { - sprite->subpriority = gSprites[gObjectBankIDs[bankr7]].subpriority - 1; + sprite->subpriority = gSprites[gBankSpriteIds[bankr7]].subpriority - 1; } } @@ -118,7 +118,7 @@ void sub_80D10B8(struct Sprite* sprite) r6 = GetBankPosition(bankr7, sp4) + gBattleAnimArgs[1]; if (gMain.inBattle && IsAnimBankSpriteVisible(bankr8 ^ 2)) { - sub_807A3FC(bankr8, gBattleAnimArgs[6], &sp0, &sp1); + SetAverageBattlerPositions(bankr8, gBattleAnimArgs[6], &sp0, &sp1); } else { @@ -137,7 +137,7 @@ void sub_80D10B8(struct Sprite* sprite) sprite->data[2] = sp0; sprite->data[4] = sp1; sprite->data[0] = gBattleAnimArgs[0]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D1098; sub_80D1098(sprite); } diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c index b113ce040..1d1772b1b 100644 --- a/src/battle/anim/rock.c +++ b/src/battle/anim/rock.c @@ -38,7 +38,7 @@ static void sub_80DD9FC(struct Sprite *sprite); void sub_80DCE9C(struct Sprite *sprite) { if (gBattleAnimArgs[3] != 0) - sub_807A3FC(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += 14; @@ -91,7 +91,7 @@ void sub_80DCF60(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3]; - sub_8078A5C(sprite); + InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = 0; sprite->data[4] = 0; @@ -102,7 +102,7 @@ void sub_80DCF60(struct Sprite *sprite) void sub_80DCFE4(struct Sprite *sprite) { if (gBattleAnimArgs[6] == 0) - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); else sub_8078764(sprite, 0); @@ -275,13 +275,13 @@ void sub_80DD3AC(struct Sprite *sprite) void sub_80DD490(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[2] = sprite->pos1.x; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -455,7 +455,7 @@ static void sub_80DD774(struct Task *task) void sub_80DD87C(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { u8 taskId = FindTaskIdByFunc(sub_80DD604); if (taskId != 0xFF) @@ -517,7 +517,7 @@ void sub_80DD978(struct Sprite *sprite) if (GetBankSide(gAnimBankAttacker) == SIDE_OPPONENT) StartSpriteAffineAnim(sprite, 1); - sub_807941C(sprite); + TranslateAnimSpriteToTargetMonLocation(sprite); } void sub_80DD9A4(struct Sprite *sprite) diff --git a/src/battle/anim/scan.c b/src/battle/anim/scan.c index 22bb26973..e6b85dd5f 100644 --- a/src/battle/anim/scan.c +++ b/src/battle/anim/scan.c @@ -47,7 +47,7 @@ void sub_80CD408(struct Sprite* sprite) sprite->data[0] = 8; sprite->data[2] = sprite->pos1.x + gUnknown_083D6DDC[sprite->data[5] >> 8][0]; sprite->data[4] = sprite->pos1.y + gUnknown_083D6DDC[sprite->data[5] >> 8][1]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, sub_80CD4B8); sprite->data[5] += 0x100; PlaySE12WithPanning(0xD2, BattleAnimAdjustPanning(0x3F)); @@ -112,7 +112,7 @@ void sub_80CD4EC(struct Sprite* sprite) sprite->data[0] = 6; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + a; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + b; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, sub_80CD654); } } diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c index be8613a74..e3d4bd3fb 100644 --- a/src/battle/anim/seed.c +++ b/src/battle/anim/seed.c @@ -15,7 +15,7 @@ static void sub_80CABC0(struct Sprite* sprite); void sub_80CAB18(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); if (GetBankSide(gAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -31,7 +31,7 @@ void sub_80CAB18(struct Sprite* sprite) void sub_80CAB88(struct Sprite* sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { sprite->invisible = 1; sprite->data[0] = 10; diff --git a/src/battle/anim/shadow_minimize.c b/src/battle/anim/shadow_minimize.c index 94069374f..61645bc59 100644 --- a/src/battle/anim/shadow_minimize.c +++ b/src/battle/anim/shadow_minimize.c @@ -93,7 +93,7 @@ void sub_80D04E0(u8 taskId) sub_8078F40(task->data[0]); gSprites[task->data[15]].pos2.y = 0; DestroyAnimVisualTask(taskId); - break; + break; } } @@ -110,10 +110,11 @@ void sub_80D0614(struct Task* task, u8 taskId) } else { - gSprites[r8].oam.objMode = 1; - gSprites[r8].oam.affineMode = 3; - gSprites[r8].affineAnimPaused = 1; - gSprites[r8].oam.matrixNum = r6; + gSprites[r8].oam.objMode = ST_OAM_OBJ_BLEND; + gSprites[r8].oam.affineMode = ST_OAM_AFFINE_DOUBLE; + gSprites[r8].affineAnimPaused = TRUE; + r6 &= 0x1f; + gSprites[r8].oam.matrixNum = r6; // need to inhibit optimizing out the mov r0, 0x3f / neg r0, r0 gSprites[r8].subpriority = task->data[7] - task->data[3]; task->data[3]++; task->data[6]++; @@ -132,7 +133,7 @@ __attribute__((naked)) void sub_80D0614(struct Task* task, u8 taskId) { asm(".syntax unified\n\ - push {r4-r7,lr}\n\ + push {r4-r7,lr}\n\ mov r7, r9\n\ mov r6, r8\n\ push {r6,r7}\n\ diff --git a/src/battle/anim/sonic.c b/src/battle/anim/sonic.c index 0897ec6e3..2808c86c2 100644 --- a/src/battle/anim/sonic.c +++ b/src/battle/anim/sonic.c @@ -29,7 +29,7 @@ void sub_80CF6DC(struct Sprite* sprite) gBattleAnimArgs[3] = -gBattleAnimArgs[3]; } - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); a = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; b = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; c = sub_80790F0(a - sprite->pos1.x, b - sprite->pos1.y); @@ -41,7 +41,7 @@ void sub_80CF6DC(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = a; sprite->data[4] = b; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } diff --git a/src/battle/anim/sonic_task.c b/src/battle/anim/sonic_task.c index 924b1b568..260ae544c 100644 --- a/src/battle/anim/sonic_task.c +++ b/src/battle/anim/sonic_task.c @@ -87,7 +87,7 @@ void sub_80CFB04(u8 taskId) if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) { - sub_807A3FC(gAnimBankTarget, 0, &sp1, &sp2); + SetAverageBattlerPositions(gAnimBankTarget, 0, &sp1, &sp2); } else { diff --git a/src/battle/anim/sunlight.c b/src/battle/anim/sunlight.c index e6fd49a11..88112c74a 100644 --- a/src/battle/anim/sunlight.c +++ b/src/battle/anim/sunlight.c @@ -12,6 +12,6 @@ void sub_80D517C(struct Sprite *sprite) sprite->data[0] = 60; sprite->data[2] = 140; sprite->data[4] = 80; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } diff --git a/src/battle/anim/sword.c b/src/battle/anim/sword.c index b46fe6759..3367cca07 100644 --- a/src/battle/anim/sword.c +++ b/src/battle/anim/sword.c @@ -15,7 +15,7 @@ static void sub_80CF6B4(struct Sprite* sprite); void sub_80CF690(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->callback = sub_80785E4; StoreSpriteCallbackInData(sprite, sub_80CF6B4); } @@ -25,6 +25,6 @@ void sub_80CF6B4(struct Sprite* sprite) sprite->data[0] = 6; sprite->data[2] = sprite->pos1.x; sprite->data[4] = sprite->pos1.y - 32; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } diff --git a/src/battle/anim/tile_out.c b/src/battle/anim/tile_out.c index 50468a440..39d4ff01f 100644 --- a/src/battle/anim/tile_out.c +++ b/src/battle/anim/tile_out.c @@ -37,7 +37,7 @@ void sub_80CE1AC(struct Sprite* sprite) sprite->data[0] = 30; sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } } diff --git a/src/battle/anim/unused_4.c b/src/battle/anim/unused_4.c index bda476a0a..50ffaba4a 100644 --- a/src/battle/anim/unused_4.c +++ b/src/battle/anim/unused_4.c @@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; static void sub_80CD9D4(struct Sprite* sprite); @@ -27,7 +27,7 @@ void sub_80CD9D4(struct Sprite* sprite) { case 0: sprite->data[1] = 0; - sprite->data[2] = gObjectBankIDs[gAnimBankAttacker]; + sprite->data[2] = gBankSpriteIds[gAnimBankAttacker]; sprite->data[3] = GetBankSide(gAnimBankAttacker); sprite->data[4] = (sprite->data[3] != 0) ? 0x200 : -0x200; sprite->data[5] = 0; diff --git a/src/battle/anim/unused_7.c b/src/battle/anim/unused_7.c index 2be6e7633..5a2de33c3 100644 --- a/src/battle/anim/unused_7.c +++ b/src/battle/anim/unused_7.c @@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; // unused_7 @@ -32,7 +32,7 @@ void sub_80CF3C4(struct Sprite* sprite) u8 a; sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - a = gObjectBankIDs[gAnimBankTarget]; + a = gBankSpriteIds[gAnimBankTarget]; if (GetBankSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; diff --git a/src/battle/anim/unused_8.c b/src/battle/anim/unused_8.c index 03772f951..b5e150dd8 100644 --- a/src/battle/anim/unused_8.c +++ b/src/battle/anim/unused_8.c @@ -15,7 +15,7 @@ static void sub_80CF4B8(struct Sprite* sprite); void sub_80CF458(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[4]; @@ -28,7 +28,7 @@ void sub_80CF490(struct Sprite* sprite) sprite->data[0] = sprite->data[1]; sprite->data[2] = sprite->pos1.x; sprite->data[4] = sprite->pos1.y + 15; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, sub_80CF4B8); } diff --git a/src/battle/anim/unused_9.c b/src/battle/anim/unused_9.c index cf3ccb0d4..6e0d0321b 100644 --- a/src/battle/anim/unused_9.c +++ b/src/battle/anim/unused_9.c @@ -3,6 +3,7 @@ #include "trig.h" #include "battle_anim.h" #include "sound.h" +#include "palette.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; @@ -17,7 +18,7 @@ static void sub_80CFE2C(struct Sprite* sprite); void sub_80CFDFC(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->data[0] = 0x100 + (IndexOfSpritePaletteTag(gSpriteTemplate_83D75AC.paletteTag) << 4); sprite->callback = sub_80CFE2C; } @@ -26,23 +27,19 @@ void sub_80CFDFC(struct Sprite* sprite) void sub_80CFE2C(struct Sprite* sprite) { u16 r7; - u16* r1; - u16* r2; + u16 r5; int i; if (++sprite->data[1] == 2) { sprite->data[1] = 0; - r7 = gPlttBufferFaded[sprite->data[0] + 8]; - r2 = &gPlttBufferFaded[0x10]; - r1 = &gPlttBufferFaded[sprite->data[0] + 9]; - for (i = 7; i >= 0; i--) + r5 = sprite->data[0]; + r7 = gPlttBufferFaded[r5 + 8]; + for (i = 0; i < 8; i++) { - *r2 = *r1; - r1++; - r2++; + gPlttBufferFaded[r5 + i + 8] = gPlttBufferFaded[r5 + i + 9]; } + gPlttBufferFaded[r5 + 15] = r7; - gPlttBufferFaded[sprite->data[0] + 15] = r7; if (++sprite->data[2] == 0x18) DestroyAnimSprite(sprite); } diff --git a/src/battle/anim/water.c b/src/battle/anim/water.c index 4068cbe78..e6945f9b2 100644 --- a/src/battle/anim/water.c +++ b/src/battle/anim/water.c @@ -18,7 +18,7 @@ void sub_80D37FC(struct Sprite *sprite) sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2]; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[4]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -30,7 +30,7 @@ void sub_80D3838(struct Sprite *sprite) } else { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); } sprite->data[7] = gBattleAnimArgs[2]; diff --git a/src/battle/anim/wisp_fire.c b/src/battle/anim/wisp_fire.c index 348ce6426..24cecb60c 100644 --- a/src/battle/anim/wisp_fire.c +++ b/src/battle/anim/wisp_fire.c @@ -10,7 +10,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankTarget; extern u8 gAnimBankAttacker; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern s8 gUnknown_083D9794[16]; extern s8 gUnknown_083D97A4[16]; @@ -175,7 +175,7 @@ void sub_80D60B4(u8 taskId) } gTasks[taskId].data[0]++; - spriteId = gObjectBankIDs[gAnimBankTarget]; + spriteId = gBankSpriteIds[gAnimBankTarget]; if (!gTasks[taskId].data[4]) unk = gUnknown_083D9794[gTasks[taskId].data[0] % 10]; diff --git a/src/battle/anim/wisp_orb.c b/src/battle/anim/wisp_orb.c index 0cbe6eed7..7c22b7f13 100644 --- a/src/battle/anim/wisp_orb.c +++ b/src/battle/anim/wisp_orb.c @@ -21,7 +21,7 @@ void sub_80D5B0C(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); StartSpriteAnim(sprite, gBattleAnimArgs[2]); sprite->data[7] = gBattleAnimArgs[2]; @@ -86,7 +86,7 @@ static void sub_80D5C5C(struct Sprite *sprite) s16 initialData5; s16 newData5; - if (!sub_8078B5C(sprite)) + if (!TranslateAnimSpriteByDeltas(sprite)) { sprite->pos2.x += Sin(sprite->data[5], 16); initialData5 = sprite->data[5]; diff --git a/src/battle/anim/withdraw.c b/src/battle/anim/withdraw.c index e67248b9f..933c97fa9 100644 --- a/src/battle/anim/withdraw.c +++ b/src/battle/anim/withdraw.c @@ -8,7 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; static void sub_80CF514(u8 taskId); @@ -17,13 +17,13 @@ static void sub_80CF514(u8 taskId); void sub_80CF4D8(u8 taskId) { - sub_8078E70(gObjectBankIDs[gAnimBankAttacker], 0); + sub_8078E70(gBankSpriteIds[gAnimBankAttacker], 0); gTasks[taskId].func = sub_80CF514; } void sub_80CF514(u8 taskId) { - u8 a = gObjectBankIDs[gAnimBankAttacker]; + u8 a = gBankSpriteIds[gAnimBankAttacker]; s16 b; if (GetBankSide(gAnimBankAttacker) == 0) { diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index b09d9ad8d..e37c33d0f 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -88,7 +88,7 @@ extern u16 gBattlePartyID[]; extern u8 gCurrentActionFuncId; extern u8 gBanksByTurnOrder[]; extern struct UnknownStruct12 gUnknown_02024AD0[]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u16 gCurrentMove; // This is mis-named. It is a species, not a move ID. extern u8 gLastUsedAbility; extern u8 gStringBank; @@ -4671,7 +4671,7 @@ void dp11b_obj_instanciate(u8 bank, u8 b, s8 c, s8 d) } else { - objectID = gObjectBankIDs[bank]; + objectID = gBankSpriteIds[bank]; ewram17810[bank].unk3 = spriteId; ewram17810[bank].unk0_2 = 1; gSprites[spriteId].data[0] = 0xC0; @@ -8307,9 +8307,8 @@ void HandleAction_UseItem(void) } else { - ewram16003 = gBankAttacker; - switch (ewram160D8(gBankAttacker)) + switch (ewram160D8((ewram16003 = gBankAttacker))) { case AI_ITEM_FULL_RESTORE: case AI_ITEM_HEAL_HP: diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index b4c71b9c2..85c1d4aed 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -26,7 +26,7 @@ extern u8 gActiveBank; extern u8 gNoOfAllBanks; extern u16 gBattlePartyID[]; extern u8 gBanksBySide[]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u16 gUnknown_02024DE8; extern u8 gDoingBattleAnim; extern u32 gTransformedPersonalities[]; @@ -169,9 +169,9 @@ bool8 move_anim_start_t3(u8 a, u8 b, u8 c, u8 d, u16 e) } if (ewram17800[a].substituteSprite && sub_803163C(d) == 0) return TRUE; - if (ewram17800[a].substituteSprite && d == 2 && gSprites[gObjectBankIDs[a]].invisible) + if (ewram17800[a].substituteSprite && d == 2 && gSprites[gBankSpriteIds[a]].invisible) { - refresh_graphics_maybe(a, 1, gObjectBankIDs[a]); + refresh_graphics_maybe(a, 1, gBankSpriteIds[a]); sub_80324E0(a); return TRUE; } @@ -592,12 +592,12 @@ void sub_8031F24(void) s32 i; for (i = 0; i < gNoOfAllBanks; i++) - ewram17800[i].invisible = gSprites[gObjectBankIDs[i]].invisible; + ewram17800[i].invisible = gSprites[gBankSpriteIds[i]].invisible; } void sub_8031F88(u8 a) { - ewram17800[a].invisible = gSprites[gObjectBankIDs[a]].invisible; + ewram17800[a].invisible = gSprites[gBankSpriteIds[a]].invisible; } void sub_8031FC4(u8 a, u8 b, bool8 c) @@ -611,7 +611,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) if (c) { - StartSpriteAnim(&gSprites[gObjectBankIDs[a]], ewram17840.unk0); + StartSpriteAnim(&gSprites[gBankSpriteIds[a]], ewram17840.unk0); paletteOffset = 0x100 + a * 16; LoadPalette(ewram16400 + ewram17840.unk0 * 32, paletteOffset, 32); gBattleMonForms[a] = ewram17840.unk0; @@ -620,7 +620,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) BlendPalette(paletteOffset, 16, 6, 0x7FFF); CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); } - gSprites[gObjectBankIDs[a]].pos1.y = sub_8077F68(a); + gSprites[gBankSpriteIds[a]].pos1.y = sub_8077F68(a); } else { @@ -673,7 +673,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) gTransformedPersonalities[a]); } } - DmaCopy32Defvars(3, gUnknown_081FAF4C[r10], (void *)(VRAM + 0x10000 + gSprites[gObjectBankIDs[a]].oam.tileNum * 32), 0x800); + DmaCopy32Defvars(3, gUnknown_081FAF4C[r10], (void *)(VRAM + 0x10000 + gSprites[gBankSpriteIds[a]].oam.tileNum * 32), 0x800); paletteOffset = 0x100 + a * 16; lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue); LZDecompressWram(lzPaletteData, gSharedMem); @@ -692,8 +692,8 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) ewram17800[a].transformedSpecies = species; gBattleMonForms[a] = gBattleMonForms[b]; } - gSprites[gObjectBankIDs[a]].pos1.y = sub_8077F68(a); - StartSpriteAnim(&gSprites[gObjectBankIDs[a]], gBattleMonForms[a]); + gSprites[gBankSpriteIds[a]].pos1.y = sub_8077F68(a); + StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]); } } @@ -833,15 +833,15 @@ void sub_80326EC(u8 a) { if (IsBankSpritePresent(i) != 0) { - gSprites[gObjectBankIDs[i]].oam.affineMode = a; + gSprites[gBankSpriteIds[i]].oam.affineMode = a; if (a == 0) { - ewram17810[i].unk6 = gSprites[gObjectBankIDs[i]].oam.matrixNum; - gSprites[gObjectBankIDs[i]].oam.matrixNum = 0; + ewram17810[i].unk6 = gSprites[gBankSpriteIds[i]].oam.matrixNum; + gSprites[gBankSpriteIds[i]].oam.matrixNum = 0; } else { - gSprites[gObjectBankIDs[i]].oam.matrixNum = ewram17810[i].unk6; + gSprites[gBankSpriteIds[i]].oam.matrixNum = ewram17810[i].unk6; } } } @@ -867,7 +867,7 @@ void sub_80328A4(struct Sprite *sprite) { bool8 invisible = FALSE; u8 r4 = sprite->data[0]; - struct Sprite *r7 = &gSprites[gObjectBankIDs[r4]]; + struct Sprite *r7 = &gSprites[gBankSpriteIds[r4]]; if (!r7->inUse || IsBankSpritePresent(r4) == 0) { diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index c71c12ce7..03ce1798f 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -14,6 +14,7 @@ #include "task.h" #include "ewram.h" #include "graphics.h" +#include "constants/battle_anim.h" // sprites start at 10000 and thus must be subtracted of 10000 to account for the true index. #define GET_TRUE_SPRITE_INDEX(i) (i - 10000) @@ -1287,7 +1288,7 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] = }; extern u16 gBattlePartyID[4]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u8 gBankAttacker; extern u8 gBankTarget; EWRAM_DATA const u8 *sBattleAnimScriptPtr = NULL; @@ -1327,7 +1328,7 @@ extern struct MusicPlayerInfo gMPlay_BGM; extern struct MusicPlayerInfo gMPlay_SE1; extern struct MusicPlayerInfo gMPlay_SE2; -extern const u16 gUnknown_081C7160[]; +extern const u16 gSingingMoves[]; extern const u8 *const gBattleAnims_Moves[]; static void RunAnimScriptCommand(void); @@ -1521,10 +1522,11 @@ void LaunchBattleAnimation(const u8 *const moveAnims[], u16 move, u8 isMoveAnim) if (isMoveAnim) { - for (i = 0; gUnknown_081C7160[i] != 0xFFFF; i++) + for (i = 0; gSingingMoves[i] != 0xFFFF; i++) { - if (move == gUnknown_081C7160[i]) + if (move == gSingingMoves[i]) { + // Lower the volume for the short song that gets played. m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 128); break; } @@ -1607,28 +1609,28 @@ static void RunAnimScriptCommand(void) static void ScriptCmd_loadspritegfx(void) { - u16 index; + u16 tag; sBattleAnimScriptPtr++; - index = T1_READ_16(sBattleAnimScriptPtr); - LoadCompressedObjectPic(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]); - LoadCompressedObjectPalette(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]); + tag = T1_READ_16(sBattleAnimScriptPtr); + LoadCompressedObjectPic(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(tag)]); + LoadCompressedObjectPalette(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(tag)]); sBattleAnimScriptPtr += 2; - AddSpriteIndex(GET_TRUE_SPRITE_INDEX(index)); + AddSpriteIndex(GET_TRUE_SPRITE_INDEX(tag)); gAnimFramesToWait = 1; gAnimScriptCallback = WaitAnimFrameCount; } static void ScriptCmd_unloadspritegfx(void) { - u16 index; + u16 tag; sBattleAnimScriptPtr++; - index = T1_READ_16(sBattleAnimScriptPtr); - FreeSpriteTilesByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag); - FreeSpritePaletteByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag); + tag = T1_READ_16(sBattleAnimScriptPtr); + FreeSpriteTilesByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(tag)].tag); + FreeSpritePaletteByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(tag)].tag); sBattleAnimScriptPtr += 2; - ClearSpriteIndex(GET_TRUE_SPRITE_INDEX(index)); + ClearSpriteIndex(GET_TRUE_SPRITE_INDEX(tag)); } static void ScriptCmd_createsprite(void) @@ -1810,7 +1812,7 @@ static void ScriptCmd_monbg(void) u8 bank; u8 identity; bool8 toBG_2; - u16 r4; + u16 spriteId; u8 taskId; sBattleAnimScriptPtr++; @@ -1834,12 +1836,12 @@ static void ScriptCmd_monbg(void) else toBG_2 = 1; - sub_8076034(bank, toBG_2); - r4 = gObjectBankIDs[bank]; + MoveBattlerSpriteToBG(bank, toBG_2); + spriteId = gBankSpriteIds[bank]; taskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10); - gTasks[taskId].data[0] = r4; - gTasks[taskId].data[1] = gSprites[r4].pos1.x + gSprites[r4].pos2.x; - gTasks[taskId].data[2] = gSprites[r4].pos1.y + gSprites[r4].pos2.y; + gTasks[taskId].data[0] = spriteId; + gTasks[taskId].data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; + gTasks[taskId].data[2] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y; if (toBG_2 == 0) { gTasks[taskId].data[3] = gBattle_BG1_X; @@ -1855,8 +1857,9 @@ static void ScriptCmd_monbg(void) gMonAnimTaskIdArray[0] = taskId; } + bank ^= 2; - if (animBank > 1 && IsAnimBankSpriteVisible(bank)) + if (animBank >= ANIM_BANK_ATK_PARTNER && IsAnimBankSpriteVisible(bank)) { identity = GetBankIdentity(bank); identity += 0xFF; @@ -1864,12 +1867,12 @@ static void ScriptCmd_monbg(void) toBG_2 = 0; else toBG_2 = 1; - sub_8076034(bank, toBG_2); - r4 = gObjectBankIDs[bank]; + MoveBattlerSpriteToBG(bank, toBG_2); + spriteId = gBankSpriteIds[bank]; taskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10); - gTasks[taskId].data[0] = r4; - gTasks[taskId].data[1] = gSprites[r4].pos1.x + gSprites[r4].pos2.x; - gTasks[taskId].data[2] = gSprites[r4].pos1.y + gSprites[r4].pos2.y; + gTasks[taskId].data[0] = spriteId; + gTasks[taskId].data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; + gTasks[taskId].data[2] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y; if (toBG_2 == 0) { gTasks[taskId].data[3] = gBattle_BG1_X; @@ -1902,17 +1905,17 @@ bool8 IsAnimBankSpriteVisible(u8 bank) return FALSE; if (IsContest()) return TRUE; // this line wont ever be reached. - if (!(EWRAM_17800[bank].unk0 & 1) || !gSprites[gObjectBankIDs[bank]].invisible) + if (!(EWRAM_17800[bank].unk0 & 1) || !gSprites[gBankSpriteIds[bank]].invisible) return TRUE; return FALSE; } -void sub_8076034(u8 a, u8 b) +void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2) { u8 spriteId; - if (b == 0) + if (toBG_2 == 0) { volatile u8 pointlessZero; struct UnknownStruct2 s; @@ -1928,23 +1931,23 @@ void sub_8076034(u8 a, u8 b) REG_BG1CNT_BITFIELD.screenSize = 1; REG_BG1CNT_BITFIELD.areaOverflowMode = 0; - spriteId = gObjectBankIDs[a]; + spriteId = gBankSpriteIds[bank]; gBattle_BG1_X = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32; if (IsContest() != 0 && IsSpeciesNotUnown(EWRAM_19348) != 0) gBattle_BG1_X--; gBattle_BG1_Y = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32; - gSprites[gObjectBankIDs[a]].invisible = TRUE; + gSprites[gBankSpriteIds[bank]].invisible = TRUE; REG_BG1HOFS = gBattle_BG1_X; REG_BG1VOFS = gBattle_BG1_Y; - LoadPalette(gPlttBufferUnfaded + 0x100 + a * 16, s.unk8 * 16, 32); - DmaCopy32Defvars(3, gPlttBufferUnfaded + 0x100 + a * 16, (u16 *)PLTT + s.unk8 * 16, 32); + LoadPalette(gPlttBufferUnfaded + 0x100 + bank * 16, s.unk8 * 16, 32); + DmaCopy32Defvars(3, gPlttBufferUnfaded + 0x100 + bank * 16, (u16 *)PLTT + s.unk8 * 16, 32); if (IsContest() != 0) r2 = 0; else - r2 = GetBankIdentity(a); + r2 = GetBankIdentity(bank); sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BG1CNT_BITFIELD.charBaseBlock); if (IsContest() != 0) sub_8076380(); @@ -1962,18 +1965,18 @@ void sub_8076034(u8 a, u8 b) REG_BG2CNT_BITFIELD.screenSize = 1; REG_BG2CNT_BITFIELD.areaOverflowMode = 0; - spriteId = gObjectBankIDs[a]; + spriteId = gBankSpriteIds[bank]; gBattle_BG2_X = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32; gBattle_BG2_Y = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32; - gSprites[gObjectBankIDs[a]].invisible = TRUE; + gSprites[gBankSpriteIds[bank]].invisible = TRUE; REG_BG2HOFS = gBattle_BG2_X; REG_BG2VOFS = gBattle_BG2_Y; - LoadPalette(gPlttBufferUnfaded + 0x100 + a * 16, 0x90, 32); - DmaCopy32Defvars(3, gPlttBufferUnfaded + 0x100 + a * 16, (void *)(PLTT + 0x120), 32); + LoadPalette(gPlttBufferUnfaded + 0x100 + bank * 16, 0x90, 32); + DmaCopy32Defvars(3, gPlttBufferUnfaded + 0x100 + bank * 16, (void *)(PLTT + 0x120), 32); - sub_80E4EF8(0, 0, GetBankIdentity(a), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock); + sub_80E4EF8(0, 0, GetBankIdentity(bank), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock); } } @@ -2096,9 +2099,9 @@ static void ScriptCmd_clearmonbg(void) bank = gAnimBankTarget; if (gMonAnimTaskIdArray[0] != 0xFF) - gSprites[gObjectBankIDs[bank]].invisible = FALSE; + gSprites[gBankSpriteIds[bank]].invisible = FALSE; if (animBankId > 1 && gMonAnimTaskIdArray[1] != 0xFF) - gSprites[gObjectBankIDs[bank ^ 2]].invisible = FALSE; + gSprites[gBankSpriteIds[bank ^ 2]].invisible = FALSE; else animBankId = 0; @@ -2166,8 +2169,8 @@ static void ScriptCmd_monbg_22(void) r1 = 0; else r1 = 1; - sub_8076034(bank, r1); - gSprites[gObjectBankIDs[bank]].invisible = FALSE; + MoveBattlerSpriteToBG(bank, r1); + gSprites[gBankSpriteIds[bank]].invisible = FALSE; } bank ^= 2; @@ -2179,8 +2182,8 @@ static void ScriptCmd_monbg_22(void) r1 = 0; else r1 = 1; - sub_8076034(bank, r1); - gSprites[gObjectBankIDs[bank]].invisible = FALSE; + MoveBattlerSpriteToBG(bank, r1); + gSprites[gBankSpriteIds[bank]].invisible = FALSE; } sBattleAnimScriptPtr++; } @@ -2205,9 +2208,9 @@ static void ScriptCmd_clearmonbg_23(void) bank = gAnimBankTarget; if (IsAnimBankSpriteVisible(bank)) - gSprites[gObjectBankIDs[bank]].invisible = FALSE; + gSprites[gBankSpriteIds[bank]].invisible = FALSE; if (animBankId > 1 && IsAnimBankSpriteVisible(bank ^ 2)) - gSprites[gObjectBankIDs[bank ^ 2]].invisible = FALSE; + gSprites[gBankSpriteIds[bank ^ 2]].invisible = FALSE; else animBankId = 0; @@ -2244,13 +2247,13 @@ static void sub_80769A4(u8 taskId) static void ScriptCmd_setalpha(void) { - u16 half1, half2; + u16 spriteAlpha, bgAlpha; sBattleAnimScriptPtr++; - half1 = *(sBattleAnimScriptPtr++); - half2 = *(sBattleAnimScriptPtr++) << 8; - REG_BLDCNT = 0x3F40; - REG_BLDALPHA = half1 | half2; + spriteAlpha = *(sBattleAnimScriptPtr++); + bgAlpha = *(sBattleAnimScriptPtr++) << 8; + REG_BLDCNT = BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_BLEND; + REG_BLDALPHA = spriteAlpha | bgAlpha; } static void ScriptCmd_setbldcnt(void) @@ -2699,13 +2702,13 @@ s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan) static void ScriptCmd_playsewithpan(void) { - u16 songId; + u16 soundId; s8 pan; sBattleAnimScriptPtr++; - songId = T1_READ_16(sBattleAnimScriptPtr); + soundId = T1_READ_16(sBattleAnimScriptPtr); pan = T1_READ_8(sBattleAnimScriptPtr + 2); - PlaySE12WithPanning(songId, BattleAnimAdjustPanning(pan)); + PlaySE12WithPanning(soundId, BattleAnimAdjustPanning(pan)); sBattleAnimScriptPtr += 3; } diff --git a/src/battle/battle_anim_807B69C.c b/src/battle/battle_anim_807B69C.c index 058a45769..6043efb0c 100644 --- a/src/battle/battle_anim_807B69C.c +++ b/src/battle/battle_anim_807B69C.c @@ -15,7 +15,7 @@ extern bool8 gAnimScriptActive; extern void (*gAnimScriptCallback)(void); extern s16 gBattleAnimArgs[]; extern u8 gAnimBankTarget; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; extern const u8 *const gBattleAnims_StatusConditions[]; @@ -72,7 +72,7 @@ static void sub_807BDAC(u8); u8 unref_sub_807B69C(u8 a, u8 b) { - u8 spriteId1 = gObjectBankIDs[a]; + u8 spriteId1 = gBankSpriteIds[a]; u8 taskId = CreateTask(sub_807B7E0, 10); u8 spriteId2; u8 i; diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c index f109333e3..f339a1206 100644 --- a/src/battle/battle_anim_80A7E7C.c +++ b/src/battle/battle_anim_80A7E7C.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle.h" #include "battle_anim.h" #include "rom_8077ABC.h" #include "sprite.h" @@ -9,34 +10,34 @@ extern s16 gBattleAnimArgs[8]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern s32 gAnimMoveDmg; extern u16 gAnimMovePower; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -static void sub_80A7EF0(u8 taskId); -static void sub_80A808C(u8 taskId); -static void sub_80A81D8(u8 taskId); -static void sub_80A8374(u8 taskId); +static void AnimTask_ShakeMonStep(u8 taskId); +static void AnimTask_ShakeMon2Step(u8 taskId); +static void AnimTask_ShakeMonInPlaceStep(u8 taskId); +static void AnimTask_ShakeAndSinkMonStep(u8 taskId); static void sub_80A8488(u8 taskId); -static void sub_80A8530(struct Sprite *sprite); -static void sub_80A85A4(struct Sprite *sprite); -static void sub_80A85C8(struct Sprite *sprite); -static void sub_80A8614(struct Sprite* sprite); -static void sub_80A8638(struct Sprite *sprite); -static void sub_80A86F4(struct Sprite *sprite); -static void sub_80A8764(struct Sprite *sprite); +static void DoHorizontalLunge(struct Sprite *sprite); +static void ReverseHorizontalLungeDirection(struct Sprite *sprite); +static void DoVerticalDip(struct Sprite *sprite); +static void ReverseVerticalDipDirection(struct Sprite* sprite); +static void SlideMonToOriginalPos(struct Sprite *sprite); +static void SlideMonToOriginalPosStep(struct Sprite *sprite); +static void SlideMonToOffset(struct Sprite *sprite); static void sub_80A8818(struct Sprite *sprite); static void sub_80A88F0(struct Sprite *sprite); static void sub_80A89B4(u8 taskId); static void sub_80A8A18(u8 taskId); -static void sub_80A8C0C(u8 taskId); +static void AnimTask_SwayMonStep(u8 taskId); static void sub_80A8D8C(u8 taskId); static void sub_80A8FD8(u8 taskId); static void sub_80A913C(u8 taskId); -const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FB0 = +const struct SpriteTemplate gHorizontalLungeSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -44,10 +45,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FB0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8530, + .callback = DoHorizontalLunge, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FC8 = +const struct SpriteTemplate gVerticalDipSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -55,10 +56,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FC8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A85C8, + .callback = DoVerticalDip, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FE0 = +const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -66,10 +67,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FE0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8638, + .callback = SlideMonToOriginalPos, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FF8 = +const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -77,7 +78,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FF8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8764, + .callback = SlideMonToOffset, }; const struct SpriteTemplate gBattleAnimSpriteTemplate_83C2010 = @@ -91,28 +92,35 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C2010 = .callback = sub_80A8818, }; -void sub_80A7E7C(u8 taskId) +// Task to facilitate simple shaking of a pokemon's picture in battle. +// The shaking alternates between the original position and the target position. +// arg 0: anim battler +// arg 1: x pixel offset +// arg 2: y pixel offset +// arg 3: num times to shake +// arg 4: frame delay +void AnimTask_ShakeMon(u8 taskId) { - u8 sprite; - sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); - if (sprite == 0xff) + u8 spriteId; + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + if (spriteId == 0xff) { DestroyAnimVisualTask(taskId); return; } - gSprites[sprite].pos2.x = gBattleAnimArgs[1]; - gSprites[sprite].pos2.y = gBattleAnimArgs[2]; - TASK.data[0] = sprite; + gSprites[spriteId].pos2.x = gBattleAnimArgs[1]; + gSprites[spriteId].pos2.y = gBattleAnimArgs[2]; + TASK.data[0] = spriteId; TASK.data[1] = gBattleAnimArgs[3]; TASK.data[2] = gBattleAnimArgs[4]; TASK.data[3] = gBattleAnimArgs[4]; TASK.data[4] = gBattleAnimArgs[1]; TASK.data[5] = gBattleAnimArgs[2]; - TASK.func = sub_80A7EF0; - sub_80A7EF0(taskId); + TASK.func = AnimTask_ShakeMonStep; + AnimTask_ShakeMonStep(taskId); } -static void sub_80A7EF0(u8 taskId) +static void AnimTask_ShakeMonStep(u8 taskId) { if (TASK.data[3] == 0) { @@ -147,13 +155,19 @@ static void sub_80A7EF0(u8 taskId) } } - -void sub_80A7FA0(u8 taskId) +// Task to facilitate simple shaking of a pokemon's picture in battle. +// The shaking alternates between the positive and negative versions of the specified pixel offsets. +// arg 0: anim battler +// arg 1: x pixel offset +// arg 2: y pixel offset +// arg 3: num times to shake +// arg 4: frame delay +void AnimTask_ShakeMon2(u8 taskId) { u8 sprite; - bool8 r6; + bool8 destroy; u8 side; - r6 = 0; + destroy = FALSE; if (gBattleAnimArgs[0] < 4) { sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); @@ -181,21 +195,23 @@ void sub_80A7FA0(u8 taskId) side = GetBankByIdentity(3); break; } + if (IsAnimBankSpriteVisible(side) == FALSE) - { - r6 = 1; - } - sprite = gObjectBankIDs[side]; + destroy = TRUE; + + sprite = gBankSpriteIds[side]; } else { - sprite = gObjectBankIDs[gAnimBankAttacker]; + sprite = gBankSpriteIds[gAnimBankAttacker]; } - if (r6) + + if (destroy) { DestroyAnimVisualTask(taskId); return; } + gSprites[sprite].pos2.x = gBattleAnimArgs[1]; gSprites[sprite].pos2.y = gBattleAnimArgs[2]; TASK.data[0] = sprite; @@ -204,30 +220,24 @@ void sub_80A7FA0(u8 taskId) TASK.data[3] = gBattleAnimArgs[4]; TASK.data[4] = gBattleAnimArgs[1]; TASK.data[5] = gBattleAnimArgs[2]; - TASK.func = sub_80A808C; - sub_80A808C(taskId); + TASK.func = AnimTask_ShakeMon2Step; + TASK.func(taskId); } -static void sub_80A808C(u8 taskId) +static void AnimTask_ShakeMon2Step(u8 taskId) { if (TASK.data[3] == 0) { if (SPRITE.pos2.x == TASK.data[4]) - { SPRITE.pos2.x = -TASK.data[4]; - } else - { SPRITE.pos2.x = TASK.data[4]; - } + if (SPRITE.pos2.y == TASK.data[5]) - { SPRITE.pos2.y = -TASK.data[5]; - } else - { SPRITE.pos2.y = TASK.data[5]; - } + TASK.data[3] = TASK.data[2]; if (--TASK.data[1] == 0) { @@ -243,29 +253,37 @@ static void sub_80A808C(u8 taskId) } } -void sub_80A8154(u8 taskId) +// Task to facilitate simple shaking of a pokemon's picture in battle. +// The shaking alternates between the positive and negative versions of the specified pixel offsets +// with respect to the current location of the mon's picture. +// arg 0: battler +// arg 1: x offset +// arg 2: y offset +// arg 3: num shakes +// arg 4: delay +void AnimTask_ShakeMonInPlace(u8 taskId) { - u8 sprite; - sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); - if (sprite == 0xff) + u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + if (spriteId == 0xff) { DestroyAnimVisualTask(taskId); return; } - gSprites[sprite].pos2.x += gBattleAnimArgs[1]; - gSprites[sprite].pos2.y += gBattleAnimArgs[2]; - TASK.data[0] = sprite; + + gSprites[spriteId].pos2.x += gBattleAnimArgs[1]; + gSprites[spriteId].pos2.y += gBattleAnimArgs[2]; + TASK.data[0] = spriteId; TASK.data[1] = 0; TASK.data[2] = gBattleAnimArgs[3]; TASK.data[3] = 0; TASK.data[4] = gBattleAnimArgs[4]; TASK.data[5] = gBattleAnimArgs[1] * 2; TASK.data[6] = gBattleAnimArgs[2] * 2; - TASK.func = sub_80A81D8; - sub_80A81D8(taskId); + TASK.func = AnimTask_ShakeMonInPlaceStep; + TASK.func(taskId); } -static void sub_80A81D8(u8 taskId) +static void AnimTask_ShakeMonInPlaceStep(u8 taskId) { if (TASK.data[3] == 0) { @@ -302,7 +320,13 @@ static void sub_80A81D8(u8 taskId) } } -void sub_80A8314(u8 taskId) +// Shakes a mon bg horizontally and moves it downward linearly. +// arg 0: battler +// arg 1: x offset +// arg 2: frame delay between each movement +// arg 3: downward speed (subpixel) +// arg 4: duration +void AnimTask_ShakeAndSinkMon(u8 taskId) { u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); gSprites[sprite].pos2.x = gBattleAnimArgs[1]; @@ -311,11 +335,11 @@ void sub_80A8314(u8 taskId) TASK.data[2] = gBattleAnimArgs[2]; TASK.data[3] = gBattleAnimArgs[3]; TASK.data[4] = gBattleAnimArgs[4]; - TASK.func = sub_80A8374; - sub_80A8374(taskId); + TASK.func = AnimTask_ShakeAndSinkMonStep; + TASK.func(taskId); } -static void sub_80A8374(u8 taskId) +static void AnimTask_ShakeAndSinkMonStep(u8 taskId) { s16 x; u8 sprite; @@ -325,11 +349,11 @@ static void sub_80A8374(u8 taskId) { TASK.data[8] = 0; if (gSprites[sprite].pos2.x == x) - { x = -x; - } + gSprites[sprite].pos2.x += x; } + TASK.data[1] = x; TASK.data[9] += TASK.data[3]; gSprites[sprite].pos2.y = TASK.data[9] >> 8; @@ -340,89 +364,109 @@ static void sub_80A8374(u8 taskId) } } -void sub_80A8408(u8 taskId) +// Moves a mon bg picture along an elliptical path that begins +// and ends at the mon's origin location. +// arg 0: battler +// arg 1: ellipse width +// arg 2: ellipse height +// arg 3: num loops +// arg 4: speed (valid values are 0-5) +void AnimTask_TranslateMonElliptical(u8 taskId) { u8 i; - u8 sprite; - u8 v1; - v1 = 1; - sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 spriteId; + u8 wavePeriod; + + wavePeriod = 1; + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); if (gBattleAnimArgs[4] > 5) - { gBattleAnimArgs[4] = 5; - } + for (i = 0; i < gBattleAnimArgs[4]; i++) { - v1 <<= 1; + wavePeriod <<= 1; } - TASK.data[0] = sprite; + + TASK.data[0] = spriteId; TASK.data[1] = gBattleAnimArgs[1]; TASK.data[2] = gBattleAnimArgs[2]; TASK.data[3] = gBattleAnimArgs[3]; - TASK.data[4] = v1; + TASK.data[4] = wavePeriod; TASK.func = sub_80A8488; - sub_80A8488(taskId); + TASK.func(taskId); } static void sub_80A8488(u8 taskId) { - u8 sprite; - sprite = TASK.data[0]; - gSprites[sprite].pos2.x = Sin(TASK.data[5], TASK.data[1]); - gSprites[sprite].pos2.y = -Cos(TASK.data[5], TASK.data[2]); - gSprites[sprite].pos2.y += TASK.data[2]; + u8 spriteId = TASK.data[0]; + gSprites[spriteId].pos2.x = Sin(TASK.data[5], TASK.data[1]); + gSprites[spriteId].pos2.y = -Cos(TASK.data[5], TASK.data[2]); + gSprites[spriteId].pos2.y += TASK.data[2]; TASK.data[5] += TASK.data[4]; TASK.data[5] &= 0xff; + if (TASK.data[5] == 0) - { TASK.data[3]--; - } + if (TASK.data[3] == 0) { - gSprites[sprite].pos2.x = 0; - gSprites[sprite].pos2.y = 0; + gSprites[spriteId].pos2.x = 0; + gSprites[spriteId].pos2.y = 0; DestroyAnimVisualTask(taskId); return; } } -void sub_80A8500(u8 taskId) +// Moves a mon bg picture along an elliptical path that begins +// and ends at the mon's origin location. Reverses the direction +// of the path if it's not on the player's side of the battle. +// arg 0: battler +// arg 1: ellipse width +// arg 2: ellipse height +// arg 3: num loops +// arg 4: speed (valid values are 0-5) +void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId) { - if (GetBankSide(gAnimBankAttacker)) - { + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - } - sub_80A8408(taskId); + + AnimTask_TranslateMonElliptical(taskId); } -static void sub_80A8530(struct Sprite *sprite) +// Performs a simple horizontal lunge, where the mon moves +// horizontally, and then moves back in the opposite direction. +// arg 0: duration of single lunge direction +// arg 1: x pixel delta that is applied each frame +static void DoHorizontalLunge(struct Sprite *sprite) { sprite->invisible = TRUE; - if (GetBankSide(gAnimBankAttacker)) - { + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) sprite->data[1] = -gBattleAnimArgs[1]; - } else - { sprite->data[1] = gBattleAnimArgs[1]; - } + sprite->data[0] = gBattleAnimArgs[0]; sprite->data[2] = 0; - sprite->data[3] = gObjectBankIDs[gAnimBankAttacker]; + sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; sprite->data[4] = gBattleAnimArgs[0]; - StoreSpriteCallbackInData(sprite, sub_80A85A4); - sprite->callback = sub_8078458; + StoreSpriteCallbackInData(sprite, ReverseHorizontalLungeDirection); + sprite->callback = TranslateMonBGUntil; } -static void sub_80A85A4(struct Sprite *sprite) +static void ReverseHorizontalLungeDirection(struct Sprite *sprite) { sprite->data[0] = sprite->data[4]; sprite->data[1] = -sprite->data[1]; - sprite->callback = sub_8078458; + sprite->callback = TranslateMonBGUntil; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -static void sub_80A85C8(struct Sprite *sprite) +// Performs a simple vertical dipping motion, where moves vertically, and then +// moves back in the opposite direction. +// arg 0: duration of single dip direction +// arg 1: y pixel delta that is applied each frame +// arg 2: battler +static void DoVerticalDip(struct Sprite *sprite) { u8 spriteId; sprite->invisible = TRUE; @@ -432,73 +476,72 @@ static void sub_80A85C8(struct Sprite *sprite) sprite->data[2] = gBattleAnimArgs[1]; sprite->data[3] = spriteId; sprite->data[4] = gBattleAnimArgs[0]; - StoreSpriteCallbackInData(sprite, sub_80A8614); - sprite->callback = sub_8078458; + StoreSpriteCallbackInData(sprite, ReverseVerticalDipDirection); + sprite->callback = TranslateMonBGUntil; } -static void sub_80A8614(struct Sprite *sprite) +static void ReverseVerticalDipDirection(struct Sprite *sprite) { sprite->data[0] = sprite->data[4]; sprite->data[2] = -sprite->data[2]; - sprite->callback = sub_8078458; + sprite->callback = TranslateMonBGUntil; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -static void sub_80A8638(struct Sprite *sprite) +// Linearly slides a mon's bg picture back to its original sprite position. +// The sprite parameter is a dummy sprite used for facilitating the movement with its callback. +// arg 0: 1 = target or 0 = attacker +// arg 1: direction (0 = horizontal and vertical, 1 = horizontal only, 2 = vertical only) +// arg 2: duration +static void SlideMonToOriginalPos(struct Sprite *sprite) { int something; - int spriteId; + int monSpriteId; if (!gBattleAnimArgs[0]) - { - spriteId = gObjectBankIDs[gAnimBankAttacker]; - } + monSpriteId = gBankSpriteIds[gAnimBankAttacker]; else - { - spriteId = gObjectBankIDs[gAnimBankTarget]; - } + monSpriteId = gBankSpriteIds[gAnimBankTarget]; + sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; - sprite->data[2] = gSprites[spriteId].pos1.x; - sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y; - sprite->data[4] = gSprites[spriteId].pos1.y; + sprite->data[1] = gSprites[monSpriteId].pos1.x + gSprites[monSpriteId].pos2.x; + sprite->data[2] = gSprites[monSpriteId].pos1.x; + sprite->data[3] = gSprites[monSpriteId].pos1.y + gSprites[monSpriteId].pos2.y; + sprite->data[4] = gSprites[monSpriteId].pos1.y; something = 0; - sub_8078A5C(sprite); + InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = something; sprite->data[4] = something; - sprite->data[5] = gSprites[spriteId].pos2.x; - sprite->data[6] = gSprites[spriteId].pos2.y; + sprite->data[5] = gSprites[monSpriteId].pos2.x; + sprite->data[6] = gSprites[monSpriteId].pos2.y; sprite->invisible = TRUE; + if (gBattleAnimArgs[1] == 1) - { sprite->data[2] = something; - } else if (gBattleAnimArgs[1] == 2) - { sprite->data[1] = something; - } + sprite->data[7] = gBattleAnimArgs[1]; - sprite->data[7] |= spriteId << 8; - sprite->callback = sub_80A86F4; + sprite->data[7] |= monSpriteId << 8; + sprite->callback = SlideMonToOriginalPosStep; } -static void sub_80A86F4(struct Sprite *sprite) +static void SlideMonToOriginalPosStep(struct Sprite *sprite) { - s8 spriteId; + s8 monSpriteId; u8 lo; - struct Sprite *sprite2; + struct Sprite *monSprite; + lo = sprite->data[7] & 0xff; - spriteId = sprite->data[7] >> 8; - sprite2 = &gSprites[spriteId]; + monSpriteId = sprite->data[7] >> 8; + monSprite = &gSprites[monSpriteId]; if (sprite->data[0] == 0) { if (lo < 2) - { - sprite2->pos2.x = 0; - } + monSprite->pos2.x = 0; + if (lo == 2 || lo == 0) - { - sprite2->pos2.y = 0; - } + monSprite->pos2.y = 0; + DestroyAnimSprite(sprite); } else @@ -506,25 +549,30 @@ static void sub_80A86F4(struct Sprite *sprite) sprite->data[0]--; sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; - sprite2->pos2.x = (s8)(sprite->data[3] >> 8) + sprite->data[5]; - sprite2->pos2.y = (s8)(sprite->data[4] >> 8) + sprite->data[6]; + monSprite->pos2.x = (s8)(sprite->data[3] >> 8) + sprite->data[5]; + monSprite->pos2.y = (s8)(sprite->data[4] >> 8) + sprite->data[6]; } } -static void sub_80A8764(struct Sprite *sprite) +// Linearly translates a mon to a target offset. The horizontal offset +// is mirrored for the opponent's pokemon, and the vertical offset +// is only mirrored if arg 3 is set to 1. +// arg 0: 0 = attacker, 1 = target +// arg 1: target x pixel offset +// arg 2: target y pixel offset +// arg 3: mirror vertical translation for opposite battle side +// arg 4: duration +static void SlideMonToOffset(struct Sprite *sprite) { - u8 v1; - u8 spriteId; + u8 battler; + u8 monSpriteId; if (!gBattleAnimArgs[0]) - { - v1 = gAnimBankAttacker; - } + battler = gAnimBankAttacker; else - { - v1 = gAnimBankTarget; - } - spriteId = gObjectBankIDs[v1]; - if (GetBankSide(v1)) + battler = gAnimBankTarget; + + monSpriteId = gBankSpriteIds[battler]; + if (GetBankSide(battler) != SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) @@ -532,18 +580,19 @@ static void sub_80A8764(struct Sprite *sprite) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } } + sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[1] = gSprites[spriteId].pos1.x; - sprite->data[2] = gSprites[spriteId].pos1.x + gBattleAnimArgs[1]; - sprite->data[3] = gSprites[spriteId].pos1.y; - sprite->data[4] = gSprites[spriteId].pos1.y + gBattleAnimArgs[2]; - sub_8078A5C(sprite); + sprite->data[1] = gSprites[monSpriteId].pos1.x; + sprite->data[2] = gSprites[monSpriteId].pos1.x + gBattleAnimArgs[1]; + sprite->data[3] = gSprites[monSpriteId].pos1.y; + sprite->data[4] = gSprites[monSpriteId].pos1.y + gBattleAnimArgs[2]; + InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = 0; sprite->data[4] = 0; - sprite->data[5] = spriteId; + sprite->data[5] = monSpriteId; sprite->invisible = TRUE; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); - sprite->callback = sub_80784A8; + sprite->callback = TranslateMonBGSubPixelUntil; } static void sub_80A8818(struct Sprite *sprite) @@ -559,7 +608,7 @@ static void sub_80A8818(struct Sprite *sprite) { v1 = gAnimBankTarget; } - spriteId = gObjectBankIDs[v1]; + spriteId = gBankSpriteIds[v1]; if (GetBankSide(v1)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -573,7 +622,7 @@ static void sub_80A8818(struct Sprite *sprite) sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1]; sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y; sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2]; - sub_8078A5C(sprite); + InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = gSprites[spriteId].pos2.x << 8; sprite->data[4] = gSprites[spriteId].pos2.y << 8; sprite->data[5] = spriteId; @@ -586,7 +635,7 @@ static void sub_80A8818(struct Sprite *sprite) { StoreSpriteCallbackInData(sprite, sub_80A88F0); } - sprite->callback = sub_80784A8; + sprite->callback = TranslateMonBGSubPixelUntil; } @@ -668,7 +717,7 @@ void sub_80A8A80(u8 taskId) DestroyAnimVisualTask(taskId); return; } - spriteId = gObjectBankIDs[gAnimBankAttacker ^ 2]; + spriteId = gBankSpriteIds[gAnimBankAttacker ^ 2]; break; case 3: if (!IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) @@ -676,7 +725,7 @@ void sub_80A8A80(u8 taskId) DestroyAnimVisualTask(taskId); return; } - spriteId = gObjectBankIDs[gAnimBankTarget ^ 2]; + spriteId = gBankSpriteIds[gAnimBankTarget ^ 2]; break; default: DestroyAnimVisualTask(taskId); @@ -705,59 +754,67 @@ static void sub_80A8B3C(u8 taskId) } } -void sub_80A8B88(u8 taskId) +// Task that facilitates translating the mon bg picture back and forth +// in a swaying motion (uses Sine wave). It can sway either horizontally +// or vertically, but not both. +// arg 0: direction (0 = horizontal, 1 = vertical) +// arg 1: wave amplitude +// arg 2: wave period +// arg 3: num sways +// arg 4: which mon (0 = attacker, 1`= target) +void AnimTask_SwayMon(u8 taskId) { u8 spriteId; - if (GetBankSide(gAnimBankAttacker)) - { + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - } + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[4]); TASK.data[0] = gBattleAnimArgs[0]; TASK.data[1] = gBattleAnimArgs[1]; TASK.data[2] = gBattleAnimArgs[2]; TASK.data[3] = gBattleAnimArgs[3]; TASK.data[4] = spriteId; + if (gBattleAnimArgs[4] == 0) - { TASK.data[5] = gAnimBankAttacker; - } else - { TASK.data[5] = gAnimBankTarget; - } + TASK.data[12] = 1; - TASK.func = sub_80A8C0C; + TASK.func = AnimTask_SwayMonStep; } -static void sub_80A8C0C(u8 taskId) +static void AnimTask_SwayMonStep(u8 taskId) { - s16 y; + s16 sineValue; u8 spriteId; - int index; - u16 val; + int waveIndex; + u16 sineIndex; + spriteId = TASK.data[4]; - val = TASK.data[10] + TASK.data[2]; - TASK.data[10] = val; - index = val >> 8; - y = Sin(index, TASK.data[1]); + sineIndex = TASK.data[10] + TASK.data[2]; + TASK.data[10] = sineIndex; + waveIndex = sineIndex >> 8; + sineValue = Sin(waveIndex, TASK.data[1]); + if (TASK.data[0] == 0) { - gSprites[spriteId].pos2.x = y; + gSprites[spriteId].pos2.x = sineValue; } else { - if (GetBankSide(TASK.data[5]) == 0) + if (GetBankSide(TASK.data[5]) == SIDE_PLAYER) { - gSprites[spriteId].pos2.y = (y >= 0) ? y : -y; + gSprites[spriteId].pos2.y = (sineValue >= 0) ? sineValue : -sineValue; } else { - gSprites[spriteId].pos2.y = (y >= 0) ? -y : y; + gSprites[spriteId].pos2.y = (sineValue >= 0) ? -sineValue : sineValue; } } - if (((index >= 0x80u) && (TASK.data[11] == 0) && (TASK.data[12] == 1)) - || ((index < 0x7fu) && (TASK.data[11] == 1) && (TASK.data[12] == 0))) + + if (((waveIndex >= 0x80u) && (TASK.data[11] == 0) && (TASK.data[12] == 1)) + || ((waveIndex < 0x7fu) && (TASK.data[11] == 1) && (TASK.data[12] == 0))) { TASK.data[11] ^= 1; TASK.data[12] ^= 1; diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index 40f50d7ff..21ac62401 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -27,7 +27,7 @@ struct MovePpInfo extern u8 gActiveBank; extern u8 gBattleBufferA[][0x200]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u16 gBattlePartyID[]; extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; @@ -73,7 +73,7 @@ extern void sub_80313A0(struct Sprite *); extern void sub_803757C(void); extern void oamt_add_pos2_onto_pos1(); extern void StoreSpriteCallbackInData(); -extern void sub_8078B34(struct Sprite *); +extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); extern void sub_80375B4(void); extern void sub_8010384(struct Sprite *); extern void sub_8037B78(void); @@ -266,18 +266,18 @@ void sub_803752C(void) void sub_803757C(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) LinkOpponentBufferExecCompleted(); } void sub_80375B4(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) { - sub_8031B74(gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam); - gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = gSprites[gObjectBankIDs[gActiveBank]].data[5]; - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + sub_8031B74(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); + gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBank]].data[5]; + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); LinkOpponentBufferExecCompleted(); } } @@ -381,8 +381,8 @@ void sub_8037840(void) void sub_8037A74(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].animEnded == TRUE - && gSprites[gObjectBankIDs[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBank]].animEnded == TRUE + && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) { if (!ewram17810[gActiveBank].unk0_7) { @@ -414,7 +414,7 @@ void sub_8037B24(void) void sub_8037B78(void) { - if (!gSprites[gObjectBankIDs[gActiveBank]].inUse) + if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) { sub_8043DB0(gHealthboxIDs[gActiveBank]); LinkOpponentBufferExecCompleted(); @@ -425,8 +425,8 @@ void sub_8037BBC(void) { if (!ewram17810[gActiveBank].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8032A08(gActiveBank); sub_8043DB0(gHealthboxIDs[gActiveBank]); LinkOpponentBufferExecCompleted(); @@ -441,7 +441,7 @@ void sub_8037C2C(void) void dp01t_0F_4_move_anim(void) { - u8 spriteId = gObjectBankIDs[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBank]; if (gSprites[spriteId].data[1] == 32) { @@ -485,7 +485,7 @@ void sub_8037D64(void) ewram17810[gActiveBank].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); sub_8045A5C( gHealthboxIDs[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], @@ -1155,15 +1155,15 @@ void LinkOpponentHandleLoadPokeSprite(void) BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(gActiveBank, 2), sub_8077F68(gActiveBank), sub_8079E90(gActiveBank)); - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], gBattleMonForms[gActiveBank]); + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); gBattleBankFunc[gActiveBank] = sub_8037A74; } @@ -1185,18 +1185,18 @@ void sub_8039430(u8 a, u8 b) gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); - gObjectBankIDs[a] = CreateSprite( + gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(a, 2), sub_8077F68(a), sub_8079E90(a)); - gSprites[gUnknown_0300434C[a]].data[1] = gObjectBankIDs[a]; - gSprites[gObjectBankIDs[a]].data[0] = a; - gSprites[gObjectBankIDs[a]].data[2] = species; - gSprites[gObjectBankIDs[a]].oam.paletteNum = a; - StartSpriteAnim(&gSprites[gObjectBankIDs[a]], gBattleMonForms[a]); - gSprites[gObjectBankIDs[a]].invisible = TRUE; - gSprites[gObjectBankIDs[a]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; + gSprites[gBankSpriteIds[a]].data[0] = a; + gSprites[gBankSpriteIds[a]].data[2] = species; + gSprites[gBankSpriteIds[a]].oam.paletteNum = a; + StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]); + gSprites[gBankSpriteIds[a]].invisible = TRUE; + gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[a]].data[0] = sub_8046400(0, 0xFE); } @@ -1209,8 +1209,8 @@ void LinkOpponentHandleReturnPokeToBall(void) } else { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8032A08(gActiveBank); sub_8043DB0(gHealthboxIDs[gActiveBank]); LinkOpponentBufferExecCompleted(); @@ -1257,17 +1257,17 @@ void LinkOpponentHandleTrainerThrow(void) } sub_8031A6C(gender, gActiveBank); GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 176 + xOffset, 40 + 4 * (8 - gTrainerFrontPicCoords[gender].coords), sub_8079E90(gActiveBank)); - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 2; - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[gender].tag); - gSprites[gObjectBankIDs[gActiveBank]].data[5] = gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum; - gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[gender].tag); - gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam = gender; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[gender].tag); + gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[gender].tag); + gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = gender; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_803757C; } @@ -1278,12 +1278,12 @@ void LinkOpponentHandleTrainerSlide(void) void LinkOpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 35; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = 280; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); gBattleBankFunc[gActiveBank] = sub_80375B4; } @@ -1299,7 +1299,7 @@ void LinkOpponentHandlecmd10(void) { ewram17810[gActiveBank].unk4 = 0; PlaySE12WithPanning(SE_POKE_DEAD, 63); - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8010384; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8010384; gBattleBankFunc[gActiveBank] = sub_8037B78; } } @@ -1574,14 +1574,14 @@ void LinkOpponentHandlecmd40(void) void LinkOpponentHandleHitAnimation(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) { LinkOpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gObjectBankIDs[gActiveBank]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; sub_8047858(gActiveBank); gBattleBankFunc[gActiveBank] = dp01t_0F_4_move_anim; } @@ -1629,12 +1629,12 @@ void LinkOpponentHandleTrainerBallThrow(void) { u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 35; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = 280; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], sub_803A3A8); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_803A3A8); taskId = CreateTask(sub_803A2C4, 5); gTasks[taskId].data[0] = gActiveBank; if (ewram17810[gActiveBank].unk0_0) @@ -1733,7 +1733,7 @@ void LinkOpponentHandleSpriteInvisibility(void) { if (IsBankSpritePresent(gActiveBank) != 0) { - gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; + gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; sub_8031F88(gActiveBank); } LinkOpponentBufferExecCompleted(); diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 3a16e12e6..1d42f56c3 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -35,7 +35,7 @@ extern u8 gBattleBufferA[][0x200]; extern u8 gActiveBank; extern u32 gBattleExecBuffer; extern u16 gBattlePartyID[]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u8 gBattleOutcome; extern u16 gUnknown_02024DE8; extern u8 gUnknown_02024E68[]; @@ -76,7 +76,7 @@ extern u8 sub_8031720(); extern u8 mplay_80342A4(); extern void oamt_add_pos2_onto_pos1(); extern void StoreSpriteCallbackInData(); -extern void sub_8078B34(struct Sprite *); +extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); extern void sub_80105EC(struct Sprite *); extern s32 sub_803FC34(u16); extern void LoadPlayerTrainerBankSprite(); @@ -260,17 +260,17 @@ void LinkPartnerBufferRunCommand(void) void sub_811DAE4(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) LinkPartnerBufferExecCompleted(); } void sub_811DB1C(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) { nullsub_10(0); - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); LinkPartnerBufferExecCompleted(); } } @@ -338,8 +338,8 @@ void sub_811DCA0(void) void sub_811DDE8(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].animEnded - && gSprites[gObjectBankIDs[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBank]].animEnded + && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) LinkPartnerBufferExecCompleted(); } @@ -362,11 +362,11 @@ void bx_t3_healthbar_update(void) void sub_811DE98(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].pos1.y + gSprites[gObjectBankIDs[gActiveBank]].pos2.y > 160) + if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > 160) { nullsub_9(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - FreeOamMatrix(gSprites[gObjectBankIDs[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8043DB0(gHealthboxIDs[gActiveBank]); LinkPartnerBufferExecCompleted(); } @@ -376,8 +376,8 @@ void sub_811DF34(void) { if (!ewram17810[gActiveBank].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8043DB0(gHealthboxIDs[gActiveBank]); LinkPartnerBufferExecCompleted(); } @@ -391,7 +391,7 @@ void sub_811DFA0(void) void bx_blink_t3(void) { - u8 spriteId = gObjectBankIDs[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBank]; if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; @@ -435,7 +435,7 @@ void sub_811E0CC(void) FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); sub_804777C(gActiveBank); sub_8043DFC(gHealthboxIDs[gActiveBank]); @@ -1104,15 +1104,15 @@ void LinkPartnerHandleLoadPokeSprite(void) GetMonSpriteTemplate_803C56C( GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(gActiveBank, 2), sub_8077F68(gActiveBank), sub_8079E90(gActiveBank)); - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], gBattleMonForms[gActiveBank]); + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); gBattleBankFunc[gActiveBank] = sub_811DDE8; } @@ -1134,18 +1134,18 @@ void sub_811F864(u8 a, u8 b) species = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_SPECIES); gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); - gObjectBankIDs[a] = CreateSprite( + gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(a, 2), sub_8077F68(a), sub_8079E90(a)); - gSprites[gUnknown_0300434C[a]].data[1] = gObjectBankIDs[a]; - gSprites[gObjectBankIDs[a]].data[0] = a; - gSprites[gObjectBankIDs[a]].data[2] = species; - gSprites[gObjectBankIDs[a]].oam.paletteNum = a; - StartSpriteAnim(&gSprites[gObjectBankIDs[a]], gBattleMonForms[a]); - gSprites[gObjectBankIDs[a]].invisible = TRUE; - gSprites[gObjectBankIDs[a]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; + gSprites[gBankSpriteIds[a]].data[0] = a; + gSprites[gBankSpriteIds[a]].data[2] = species; + gSprites[gBankSpriteIds[a]].oam.paletteNum = a; + StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]); + gSprites[gBankSpriteIds[a]].invisible = TRUE; + gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[a]].data[0] = sub_8046400(0, 0xFF); } @@ -1158,8 +1158,8 @@ void LinkPartnerHandleReturnPokeToBall(void) } else { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8043DB0(gHealthboxIDs[gActiveBank]); LinkPartnerBufferExecCompleted(); } @@ -1205,14 +1205,14 @@ void LinkPartnerHandleTrainerThrow(void) } LoadPlayerTrainerBankSprite(gender, gActiveBank); GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 80 + xOffset, 80 + 4 * (8 - gTrainerBackPicCoords[gender].coords), sub_8079E90(gActiveBank)); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = 240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = -2; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_811DAE4; } @@ -1223,12 +1223,12 @@ void LinkPartnerHandleTrainerSlide(void) void LinkPartnerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 35; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = -40; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); gBattleBankFunc[gActiveBank] = sub_811DB1C; } @@ -1245,9 +1245,9 @@ void LinkPartnerHandlecmd10(void) ewram17810[gActiveBank].unk4 = 0; HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gObjectBankIDs[gActiveBank]].data[1] = 0; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = 5; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80105EC; + gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80105EC; gBattleBankFunc[gActiveBank] = sub_811DE98; } } @@ -1519,14 +1519,14 @@ void LinkPartnerHandlecmd40(void) void LinkPartnerHandleHitAnimation(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) { LinkPartnerBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gObjectBankIDs[gActiveBank]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; sub_8047858(gActiveBank); gBattleBankFunc[gActiveBank] = bx_blink_t3; } @@ -1575,19 +1575,19 @@ void LinkPartnerHandleTrainerBallThrow(void) u8 r4; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 50; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = -40; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - gSprites[gObjectBankIDs[gActiveBank]].data[5] = gActiveBank; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; + gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); r4 = AllocSpritePalette(0xD6F9); LoadCompressedPalette( gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gActiveBank)].gender].data, 0x100 + r4 * 16, 0x20); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = r4; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = r4; taskId = CreateTask(sub_812071C, 5); gTasks[taskId].data[0] = gActiveBank; if (ewram17810[gActiveBank].unk0_0) @@ -1673,7 +1673,7 @@ void LinkPartnerHandleSpriteInvisibility(void) { if (IsBankSpritePresent(gActiveBank) != 0) { - gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; + gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; sub_8031F88(gActiveBank); } LinkPartnerBufferExecCompleted(); diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 338f8d418..8e8743dbc 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -34,7 +34,7 @@ extern u8 gUnknown_02023A14_50; extern u8 gActiveBank; extern u8 gBattleBufferA[][0x200]; extern u16 gBattlePartyID[]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u8 gBattleMonForms[]; extern struct SpriteTemplate gUnknown_02024E8C; extern void (*gBattleBankFunc[])(void); @@ -84,7 +84,7 @@ extern void sub_80313A0(struct Sprite *); extern void sub_8032B4C(void); extern void sub_8031A6C(u16, u8); extern void sub_8032B84(void); -extern void sub_8078B34(struct Sprite *); +extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); extern void sub_8032BBC(void); extern void oamt_add_pos2_onto_pos1(); extern void StoreSpriteCallbackInData(); @@ -280,25 +280,25 @@ void OpponentBufferRunCommand(void) void sub_8032B4C(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } // Duplicate of sub_8032B4C void sub_8032B84(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } void sub_8032BBC(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) { - sub_8031B74(gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam); - gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = gSprites[gObjectBankIDs[gActiveBank]].data[5]; - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + sub_8031B74(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); + gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBank]].data[5]; + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); OpponentBufferExecCompleted(); } } @@ -386,8 +386,8 @@ void sub_8032E2C(void) void sub_8033018(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].animEnded == TRUE - && gSprites[gObjectBankIDs[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBank]].animEnded == TRUE + && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) { if (!ewram17810[gActiveBank].unk0_7) { @@ -419,7 +419,7 @@ void sub_80330C8(void) void sub_803311C(void) { - if (!gSprites[gObjectBankIDs[gActiveBank]].inUse) + if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) { sub_8043DB0(gHealthboxIDs[gActiveBank]); OpponentBufferExecCompleted(); @@ -430,8 +430,8 @@ void sub_8033160(void) { if (!ewram17810[gActiveBank].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8032A08(gActiveBank); sub_8043DB0(gHealthboxIDs[gActiveBank]); OpponentBufferExecCompleted(); @@ -446,7 +446,7 @@ void sub_80331D0(void) void bx_blink_t7(void) { - u8 spriteId = gObjectBankIDs[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBank]; if (gSprites[spriteId].data[1] == 32) { @@ -490,7 +490,7 @@ void sub_8033308(void) ewram17810[gActiveBank].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); sub_8045A5C( gHealthboxIDs[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], @@ -1126,16 +1126,16 @@ void OpponentHandleLoadPokeSprite(void) BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(gActiveBank, 2), sub_8077F68(gActiveBank), sub_8079E90(gActiveBank)); - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = species; - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], gBattleMonForms[gActiveBank]); + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = species; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); gBattleBankFunc[gActiveBank] = sub_8033018; } @@ -1158,18 +1158,18 @@ void sub_803495C(u8 a, u8 b) gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); - gObjectBankIDs[a] = CreateSprite( + gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(a, 2), sub_8077F68(a), sub_8079E90(a)); - gSprites[gObjectBankIDs[a]].data[0] = a; - gSprites[gObjectBankIDs[a]].data[2] = species; - gSprites[gUnknown_0300434C[a]].data[1] = gObjectBankIDs[a]; - gSprites[gObjectBankIDs[a]].oam.paletteNum = a; - StartSpriteAnim(&gSprites[gObjectBankIDs[a]], gBattleMonForms[a]); - gSprites[gObjectBankIDs[a]].invisible = TRUE; - gSprites[gObjectBankIDs[a]].callback = SpriteCallbackDummy; + gSprites[gBankSpriteIds[a]].data[0] = a; + gSprites[gBankSpriteIds[a]].data[2] = species; + gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; + gSprites[gBankSpriteIds[a]].oam.paletteNum = a; + StartSpriteAnim(&gSprites[gBankSpriteIds[a]], gBattleMonForms[a]); + gSprites[gBankSpriteIds[a]].invisible = TRUE; + gSprites[gBankSpriteIds[a]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[a]].data[0] = sub_8046400(0, 0xFE); } @@ -1182,8 +1182,8 @@ void OpponentHandleReturnPokeToBall(void) } else { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8032A08(gActiveBank); sub_8043DB0(gHealthboxIDs[gActiveBank]); OpponentBufferExecCompleted(); @@ -1234,18 +1234,18 @@ void OpponentHandleTrainerThrow(void) sub_8031A6C(trainerPicIndex, gActiveBank); GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), sub_8079E90(gActiveBank)); - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 2; - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); - gSprites[gObjectBankIDs[gActiveBank]].data[5] = gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum; - gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); - gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam = trainerPicIndex; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicIndex; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_8032B4C; } @@ -1264,30 +1264,30 @@ void OpponentHandleTrainerSlide(void) sub_8031A6C(trainerPicIndex, gActiveBank); GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), 0x1E); - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = 96; - gSprites[gObjectBankIDs[gActiveBank]].pos1.x += 32; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = -2; - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); - gSprites[gObjectBankIDs[gActiveBank]].data[5] = gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum; - gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); - gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam = trainerPicIndex; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96; + gSprites[gBankSpriteIds[gActiveBank]].pos1.x += 32; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicIndex; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_8032B84; } void OpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 35; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = 280; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); gBattleBankFunc[gActiveBank] = sub_8032BBC; } @@ -1303,7 +1303,7 @@ void OpponentHandlecmd10(void) { ewram17810[gActiveBank].unk4 = 0; PlaySE12WithPanning(SE_POKE_DEAD, 63); - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8010384; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8010384; gBattleBankFunc[gActiveBank] = sub_803311C; } } @@ -2166,14 +2166,14 @@ void OpponentHandlecmd40(void) void OpponentHandleHitAnimation(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) { OpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gObjectBankIDs[gActiveBank]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; sub_8047858(gActiveBank); gBattleBankFunc[gActiveBank] = bx_blink_t7; } @@ -2221,12 +2221,12 @@ void OpponentHandleTrainerBallThrow(void) { u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 35; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = 280; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], sub_8035C10); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8035C10); taskId = CreateTask(sub_8035C44, 5); gTasks[taskId].data[0] = gActiveBank; if (ewram17810[gActiveBank].unk0_0) @@ -2325,7 +2325,7 @@ void OpponentHandleSpriteInvisibility(void) { if (IsBankSpritePresent(gActiveBank) != 0) { - gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; + gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; sub_8031F88(gActiveBank); } OpponentBufferExecCompleted(); diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index e03e21849..e28c058a3 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -53,7 +53,7 @@ extern u8 gBankInMenu; extern u16 gBattlePartyID[]; extern u8 gHealthboxIDs[]; extern u8 gDoingBattleAnim; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u16 gBattleTypeFlags; extern u8 gBattleOutcome; extern void (*gAnimScriptCallback)(void); @@ -102,7 +102,7 @@ extern void sub_8047858(); extern u8 GetBankSide(u8); extern void StartBattleIntroAnim(); extern void oamt_add_pos2_onto_pos1(); -extern void sub_8078B34(struct Sprite *); +extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); extern void StoreSpriteCallbackInData(); extern void BattleLoadPlayerMonSprite(); extern bool8 IsDoubleBattle(void); @@ -143,7 +143,7 @@ extern bool8 gDoingBattleAnim; extern u16 gBattleTypeFlags; extern u32 gBattleExecBuffer; extern u8 gBattleBufferA[][0x200]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u8 gActionSelectionCursor[]; extern u8 gMoveSelectionCursor[]; extern u8 gAbsentBankFlags; @@ -370,7 +370,7 @@ void PlayerBufferRunCommand(void) void bx_0802E404(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) PlayerBufferExecCompleted(); } @@ -498,7 +498,7 @@ void sub_802C2EC(void) { DestroyMenuCursor(); PlaySE(SE_SELECT); - gSprites[gObjectBankIDs[gUnknown_03004344]].callback = sub_8010574; + gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBank] | (gUnknown_03004344 << 8)); dp11b_obj_free(gUnknown_03004344, 1); PlayerBufferExecCompleted(); @@ -507,7 +507,7 @@ void sub_802C2EC(void) else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - gSprites[gObjectBankIDs[gUnknown_03004344]].callback = sub_8010574; + gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; gBattleBankFunc[gActiveBank] = sub_802C68C; dp11b_obj_instanciate(gActiveBank, 1, 7, 1); dp11b_obj_instanciate(gActiveBank, 0, 7, 1); @@ -516,7 +516,7 @@ void sub_802C2EC(void) else if (gMain.newKeys & 0x60) { PlaySE(SE_SELECT); - gSprites[gObjectBankIDs[gUnknown_03004344]].callback = sub_8010574; + gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; do { u8 var = GetBankIdentity(gUnknown_03004344); @@ -557,13 +557,13 @@ void sub_802C2EC(void) if (gAbsentBankFlags & gBitTable[gUnknown_03004344]) i = 0; } while (i == 0); - gSprites[gObjectBankIDs[gUnknown_03004344]].callback = sub_8010520; + gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; } //_0802C540 else if (gMain.newKeys & 0x90) { PlaySE(SE_SELECT); - gSprites[gObjectBankIDs[gUnknown_03004344]].callback = sub_8010574; + gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; do { u8 var = GetBankIdentity(gUnknown_03004344); @@ -603,7 +603,7 @@ void sub_802C2EC(void) if (gAbsentBankFlags & gBitTable[gUnknown_03004344]) i = 0; } while (i == 0); - gSprites[gObjectBankIDs[gUnknown_03004344]].callback = sub_8010520; + gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; } } @@ -679,7 +679,7 @@ void sub_802C68C(void) gUnknown_03004344 = GetBankByIdentity(3); else gUnknown_03004344 = GetBankByIdentity(1); - gSprites[gObjectBankIDs[gUnknown_03004344]].callback = sub_8010520; + gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; } } else if (gMain.newKeys & B_BUTTON) @@ -1684,24 +1684,24 @@ void debug_sub_803107C(void) void sub_802D204(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } // duplicate of sub_802D204 void sub_802D23C(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } void sub_802D274(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) { nullsub_10(gSaveBlock2.playerGender); - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); PlayerBufferExecCompleted(); } } @@ -2176,13 +2176,13 @@ void sub_802DDC4(u8 taskId) void sub_802DE10(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].pos1.y + gSprites[gObjectBankIDs[gActiveBank]].pos2.y > DISPLAY_HEIGHT) + if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > DISPLAY_HEIGHT) { u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); nullsub_9(species); - FreeOamMatrix(gSprites[gObjectBankIDs[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8043DB0(gHealthboxIDs[gActiveBank]); PlayerBufferExecCompleted(); } @@ -2192,8 +2192,8 @@ void sub_802DEAC(void) { if (!ewram17810[gActiveBank].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8043DB0(gHealthboxIDs[gActiveBank]); PlayerBufferExecCompleted(); } @@ -2260,7 +2260,7 @@ void bx_wait_t1(void) void bx_blink_t1(void) { - u8 spriteId = gObjectBankIDs[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBank]; if (gSprites[spriteId].data[1] == 32) { @@ -3020,7 +3020,7 @@ void PlayerHandlecmd3(void) void PlayerHandleLoadPokeSprite(void) { BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; gBattleBankFunc[gActiveBank] = bx_0802E404; } @@ -3044,18 +3044,18 @@ void sub_802F934(u8 bank, u8 b) species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0); GetMonSpriteTemplate_803C56C(species, GetBankIdentity(bank)); - gObjectBankIDs[bank] = CreateSprite( + gBankSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(bank, 2), sub_8077F68(bank), sub_8079E90(bank)); - gSprites[gUnknown_0300434C[bank]].data[1] = gObjectBankIDs[bank]; - gSprites[gObjectBankIDs[bank]].data[0] = bank; - gSprites[gObjectBankIDs[bank]].data[2] = species; - gSprites[gObjectBankIDs[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gObjectBankIDs[bank]], gBattleMonForms[bank]); - gSprites[gObjectBankIDs[bank]].invisible = TRUE; - gSprites[gObjectBankIDs[bank]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[bank]].data[1] = gBankSpriteIds[bank]; + gSprites[gBankSpriteIds[bank]].data[0] = bank; + gSprites[gBankSpriteIds[bank]].data[2] = species; + gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + gSprites[gBankSpriteIds[bank]].invisible = TRUE; + gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[bank]].data[0] = sub_8046400(0, 0xFF); } @@ -3068,8 +3068,8 @@ void PlayerHandleReturnPokeToBall(void) } else { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8043DB0(gHealthboxIDs[gActiveBank]); PlayerBufferExecCompleted(); } @@ -3111,15 +3111,15 @@ void PlayerHandleTrainerThrow(void) } LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBank); GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, r7 + 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, sub_8079E90(gActiveBank)); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = 240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = -2; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_802D204; } @@ -3127,27 +3127,27 @@ void PlayerHandleTrainerSlide(void) { LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBank); GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, 30); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -96; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 2; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_802D23C; } void PlayerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 50; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = -40; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); gBattleBankFunc[gActiveBank] = sub_802D274; } @@ -3166,9 +3166,9 @@ void PlayerHandlecmd10(void) ewram17810[gActiveBank].unk4 = 0; HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gObjectBankIDs[gActiveBank]].data[1] = 0; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = 5; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80105EC; + gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80105EC; gBattleBankFunc[gActiveBank] = sub_802DE10; } } @@ -3540,14 +3540,14 @@ void PlayerHandlecmd40(void) void PlayerHandleHitAnimation(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) { PlayerBufferExecCompleted(); } else { gDoingBattleAnim = 1; - gSprites[gObjectBankIDs[gActiveBank]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; sub_8047858(gActiveBank); gBattleBankFunc[gActiveBank] = bx_blink_t1; } @@ -3596,17 +3596,17 @@ void PlayerHandleTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 50; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = -40; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - gSprites[gObjectBankIDs[gActiveBank]].data[5] = gActiveBank; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; + gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2.playerGender].data, 0x100 + paletteNum * 16, 32); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; taskId = CreateTask(task05_08033660, 5); gTasks[taskId].data[0] = gActiveBank; if (ewram17810[gActiveBank].unk0_0) @@ -3623,7 +3623,7 @@ void sub_8030E38(struct Sprite *sprite) FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum)); DestroySprite(sprite); BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[r4]], r4); - StartSpriteAnim(&gSprites[gObjectBankIDs[r4]], 0); + StartSpriteAnim(&gSprites[gBankSpriteIds[r4]], 0); } void task05_08033660(u8 taskId) @@ -3702,7 +3702,7 @@ void PlayerHandleSpriteInvisibility(void) { if (IsBankSpritePresent(gActiveBank)) { - gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; + gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; sub_8031F88(gActiveBank); } PlayerBufferExecCompleted(); diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index 5896e5e18..e9425e7e7 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -28,7 +28,7 @@ extern u16 gBattle_BG0_Y; extern u16 gBattle_BG0_X; extern u8 gBattleBufferA[][0x200]; extern bool8 gDoingBattleAnim; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern struct SpriteTemplate gUnknown_02024E8C; extern u16 gBattleTypeFlags; extern u32 gBattleExecBuffer; @@ -288,7 +288,7 @@ void bx_battle_menu_t6_2(void) void sub_812B65C(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) SafariBufferExecCompleted(); } @@ -399,15 +399,15 @@ void SafariHandleTrainerThrow(void) { LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBank); GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, 30); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = 240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = -2; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_812B65C; } diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 49f530129..c590b487c 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -31,7 +31,7 @@ extern u8 gActiveBank; extern void (*gBattleBankFunc[])(void); extern u32 gBattleExecBuffer; extern u8 gBattleBufferA[][0x200]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern MainCallback gPreBattleCallback1; extern bool8 gDoingBattleAnim; extern u16 gBattlePartyID[]; @@ -87,7 +87,7 @@ extern void sub_80304A8(void); extern void sub_8047858(); extern void StartBattleIntroAnim(); extern void oamt_add_pos2_onto_pos1(); -extern void sub_8078B34(struct Sprite *); +extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); extern void sub_8030E38(struct Sprite *); extern void StoreSpriteCallbackInData(); extern u8 sub_8046400(); @@ -325,7 +325,7 @@ void sub_81372BC(void) void sub_813741C(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } @@ -436,7 +436,7 @@ void sub_81377B0(void) void bx_blink_t5(void) { - u8 spriteId = gObjectBankIDs[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBank]; if (gSprites[spriteId].data[1] == 32) { @@ -457,8 +457,8 @@ void sub_813789C(void) { if (!ewram17810[gActiveBank].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8043DB0(gHealthboxIDs[gActiveBank]); WallyBufferExecCompleted(); } @@ -467,7 +467,7 @@ void sub_813789C(void) // Duplicate of sub_813741C void sub_8137908(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } @@ -1093,8 +1093,8 @@ void WallyHandleReturnPokeToBall(void) } else { - FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); - DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); sub_8043DB0(gHealthboxIDs[gActiveBank]); WallyBufferExecCompleted(); } @@ -1104,14 +1104,14 @@ void WallyHandleTrainerThrow(void) { LoadPlayerTrainerBankSprite(2, gActiveBank); GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), 30); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = 240; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = -2; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_813741C; } @@ -1119,14 +1119,14 @@ void WallyHandleTrainerSlide(void) { LoadPlayerTrainerBankSprite(2, gActiveBank); GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBank)); - gObjectBankIDs[gActiveBank] = CreateSprite( + gBankSpriteIds[gActiveBank] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), 30); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -96; - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 2; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; + gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96; + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_8137908; } @@ -1432,14 +1432,14 @@ void WallyHandlecmd40(void) void WallyHandleHitAnimation(void) { - if (gSprites[gObjectBankIDs[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) { WallyBufferExecCompleted(); } else { gDoingBattleAnim = 1; - gSprites[gObjectBankIDs[gActiveBank]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; sub_8047858(gActiveBank); gBattleBankFunc[gActiveBank] = bx_blink_t5; } @@ -1480,17 +1480,17 @@ void WallyHandleTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); - gSprites[gObjectBankIDs[gActiveBank]].data[0] = 50; - gSprites[gObjectBankIDs[gActiveBank]].data[2] = -40; - gSprites[gObjectBankIDs[gActiveBank]].data[4] = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; - gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - gSprites[gObjectBankIDs[gActiveBank]].data[5] = gActiveBank; - StoreSpriteCallbackInData(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); - StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; + gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; + gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[2].data, 0x100 + paletteNum * 16, 32); - gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_8139A2C, 5); gTasks[taskId].data[0] = gActiveBank; if (ewram17810[gActiveBank].unk0_0) @@ -1508,18 +1508,18 @@ void sub_81398BC(u8 bank) species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0); GetMonSpriteTemplate_803C56C(species, GetBankIdentity(bank)); - gObjectBankIDs[bank] = CreateSprite( + gBankSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(bank, 2), sub_8077F68(bank), sub_8079E90(bank)); - gSprites[gUnknown_0300434C[bank]].data[1] = gObjectBankIDs[bank]; - gSprites[gObjectBankIDs[bank]].data[0] = bank; - gSprites[gObjectBankIDs[bank]].data[2] = species; - gSprites[gObjectBankIDs[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gObjectBankIDs[bank]], gBattleMonForms[bank]); - gSprites[gObjectBankIDs[bank]].invisible = TRUE; - gSprites[gObjectBankIDs[bank]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[bank]].data[1] = gBankSpriteIds[bank]; + gSprites[gBankSpriteIds[bank]].data[0] = bank; + gSprites[gBankSpriteIds[bank]].data[2] = species; + gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + gSprites[gBankSpriteIds[bank]].invisible = TRUE; + gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gUnknown_0300434C[bank]].data[0] = sub_8046400(0, 0xFF); } diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c index 6f27469ce..3a47e0204 100644 --- a/src/battle/pokeball.c +++ b/src/battle/pokeball.c @@ -21,7 +21,7 @@ extern u16 gBattleTypeFlags; extern u8 gBankTarget; extern u8 gActiveBank; extern u16 gBattlePartyID[]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u8 gDoingBattleAnim; extern u8 gHealthboxIDs[]; @@ -298,7 +298,7 @@ const struct SpriteTemplate gBallSpriteTemplates[] = extern u32 ball_number_to_ball_processing_index(u16); // not sure of return type extern void sub_80786EC(); -extern bool8 sub_8078718(struct Sprite *); +extern bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *); extern u8 sub_814086C(u8, u8, int, int, u8); extern u8 sub_8141314(u8, u8, int, u8); @@ -406,7 +406,7 @@ static void sub_8046464(u8 taskId) static void objc_0804ABD4(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { u8 taskId = sprite->oam.affineParam; u8 r5 = gTasks[taskId].data[4]; @@ -442,9 +442,9 @@ static void sub_80466F4(struct Sprite *sprite) { sprite->data[5] = 0; sprite->callback = sub_8046760; - StartSpriteAffineAnim(&gSprites[gObjectBankIDs[sprite->data[6]]], 2); - AnimateSprite(&gSprites[gObjectBankIDs[sprite->data[6]]]); - gSprites[gObjectBankIDs[sprite->data[6]]].data[1] = 0; + StartSpriteAffineAnim(&gSprites[gBankSpriteIds[sprite->data[6]]], 2); + AnimateSprite(&gSprites[gBankSpriteIds[sprite->data[6]]]); + gSprites[gBankSpriteIds[sprite->data[6]]].data[1] = 0; } } @@ -453,17 +453,17 @@ static void sub_8046760(struct Sprite *sprite) sprite->data[5]++; if (sprite->data[5] == 11) PlaySE(SE_SUIKOMU); - if (gSprites[gObjectBankIDs[sprite->data[6]]].affineAnimEnded) + if (gSprites[gBankSpriteIds[sprite->data[6]]].affineAnimEnded) { StartSpriteAnim(sprite, 2); - gSprites[gObjectBankIDs[sprite->data[6]]].invisible = TRUE; + gSprites[gBankSpriteIds[sprite->data[6]]].invisible = TRUE; sprite->data[5] = 0; sprite->callback = sub_80467F8; } else { - gSprites[gObjectBankIDs[sprite->data[6]]].data[1] += 0x60; - gSprites[gObjectBankIDs[sprite->data[6]]].pos2.y = -gSprites[gObjectBankIDs[sprite->data[6]]].data[1] >> 8; + gSprites[gBankSpriteIds[sprite->data[6]]].data[1] += 0x60; + gSprites[gBankSpriteIds[sprite->data[6]]].pos2.y = -gSprites[gBankSpriteIds[sprite->data[6]]].data[1] >> 8; } } @@ -747,9 +747,9 @@ static void sub_8046C78(struct Sprite *sprite) gTasks[taskId].data[2] = r4_2; gTasks[taskId].data[15] = 0; } - StartSpriteAffineAnim(&gSprites[gObjectBankIDs[sprite->data[6]]], 1); - AnimateSprite(&gSprites[gObjectBankIDs[sprite->data[6]]]); - gSprites[gObjectBankIDs[sprite->data[6]]].data[1] = 0x1000; + StartSpriteAffineAnim(&gSprites[gBankSpriteIds[sprite->data[6]]], 1); + AnimateSprite(&gSprites[gBankSpriteIds[sprite->data[6]]]); + gSprites[gBankSpriteIds[sprite->data[6]]].data[1] = 0x1000; } static void sub_8046E7C(struct Sprite *sprite) @@ -766,25 +766,25 @@ static void sub_8046E9C(struct Sprite *sprite) bool8 r7 = FALSE; u8 r4 = sprite->data[6]; - gSprites[gObjectBankIDs[r4]].invisible = FALSE; + gSprites[gBankSpriteIds[r4]].invisible = FALSE; if (sprite->animEnded) sprite->invisible = TRUE; - if (gSprites[gObjectBankIDs[r4]].affineAnimEnded) + if (gSprites[gBankSpriteIds[r4]].affineAnimEnded) { - StartSpriteAffineAnim(&gSprites[gObjectBankIDs[r4]], 0); + StartSpriteAffineAnim(&gSprites[gBankSpriteIds[r4]], 0); r7 = TRUE; } else { - gSprites[gObjectBankIDs[r4]].data[1] -= 288; - gSprites[gObjectBankIDs[r4]].pos2.y = gSprites[gObjectBankIDs[r4]].data[1] >> 8; + gSprites[gBankSpriteIds[r4]].data[1] -= 288; + gSprites[gBankSpriteIds[r4]].pos2.y = gSprites[gBankSpriteIds[r4]].data[1] >> 8; } if (sprite->animEnded && r7) { s32 i; u32 r3; - gSprites[gObjectBankIDs[r4]].pos2.y = 0; + gSprites[gBankSpriteIds[r4]].pos2.y = 0; gDoingBattleAnim = 0; ewram17810[r4].unk0_3 = 0; FreeSpriteOamMatrix(sprite); @@ -819,8 +819,8 @@ static void sub_8046FBC(struct Sprite *sprite) } else if (sprite->data[4] == 315) { - FreeOamMatrix(gSprites[gObjectBankIDs[sprite->data[6]]].oam.matrixNum); - DestroySprite(&gSprites[gObjectBankIDs[sprite->data[6]]]); + FreeOamMatrix(gSprites[gBankSpriteIds[sprite->data[6]]].oam.matrixNum); + DestroySprite(&gSprites[gBankSpriteIds[sprite->data[6]]]); DestroySpriteAndFreeResources(sprite); if (gMain.inBattle) ewram17810[r7].unk0_3 = 0; @@ -858,7 +858,7 @@ static void sub_80470C4(struct Sprite *sprite) StartSpriteAffineAnim(sprite, 4); } r4 = sprite->data[0]; - sub_8078B5C(sprite); + TranslateAnimSpriteByDeltas(sprite); sprite->data[7] += sprite->data[6] / 3; sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]); sprite->oam.affineParam += 0x100; @@ -876,7 +876,7 @@ static void sub_80470C4(struct Sprite *sprite) } else { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { sprite->pos1.x += sprite->pos2.x; sprite->pos1.y += sprite->pos2.y; diff --git a/src/battle/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c index a78cb20df..0da29441e 100644 --- a/src/battle/reshow_battle_screen.c +++ b/src/battle/reshow_battle_screen.c @@ -25,7 +25,7 @@ extern u8 gBankInMenu; extern u16 gBattlePartyID[4]; extern u8 gNoOfAllBanks; extern u16 gBattleTypeFlags; -extern u8 gObjectBankIDs[4]; +extern u8 gBankSpriteIds[4]; extern u8 gBattleMonForms[4]; extern u8 gHealthboxIDs[4]; @@ -243,46 +243,46 @@ static void sub_807B184(u8 bank) if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) return; GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank)); - gObjectBankIDs[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); - gSprites[gObjectBankIDs[bank]].oam.paletteNum = bank; - gSprites[gObjectBankIDs[bank]].callback = SpriteCallbackDummy; - gSprites[gObjectBankIDs[bank]].data[0] = bank; - gSprites[gObjectBankIDs[bank]].data[2] = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES); - StartSpriteAnim(&gSprites[gObjectBankIDs[bank]], gBattleMonForms[bank]); + gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); + gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBankSpriteIds[bank]].data[0] = bank; + gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0) { GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(0)); - gObjectBankIDs[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, + gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, sub_8079E90(0)); - gSprites[gObjectBankIDs[bank]].oam.paletteNum = bank; - gSprites[gObjectBankIDs[bank]].callback = SpriteCallbackDummy; - gSprites[gObjectBankIDs[bank]].data[0] = bank; + gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBankSpriteIds[bank]].data[0] = bank; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0) { GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(0)); - gObjectBankIDs[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, + gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, (8 - gTrainerBackPicCoords[2].coords) * 4 + 80, sub_8079E90(0)); - gSprites[gObjectBankIDs[bank]].oam.paletteNum = bank; - gSprites[gObjectBankIDs[bank]].callback = SpriteCallbackDummy; - gSprites[gObjectBankIDs[bank]].data[0] = bank; + gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBankSpriteIds[bank]].data[0] = bank; } else { if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) return; GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank)); - gObjectBankIDs[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); - gSprites[gObjectBankIDs[bank]].oam.paletteNum = bank; - gSprites[gObjectBankIDs[bank]].callback = SpriteCallbackDummy; - gSprites[gObjectBankIDs[bank]].data[0] = bank; - gSprites[gObjectBankIDs[bank]].data[2] = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); - StartSpriteAnim(&gSprites[gObjectBankIDs[bank]], gBattleMonForms[bank]); + gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); + gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBankSpriteIds[bank]].data[0] = bank; + gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); } - gSprites[gObjectBankIDs[bank]].invisible = ewram17800[bank].invisible; + gSprites[gBankSpriteIds[bank]].invisible = ewram17800[bank].invisible; } } diff --git a/src/contest.c b/src/contest.c index e2695627e..84e5d807b 100644 --- a/src/contest.c +++ b/src/contest.c @@ -47,7 +47,7 @@ extern u16 gBattleTypeFlags; extern u8 gBankAttacker; extern u8 gBankTarget; extern u8 gBanksBySide[]; -extern u8 gObjectBankIDs[]; +extern u8 gBankSpriteIds[]; extern u16 gBattle_BG3_X; extern s16 gBattle_BG1_Y; extern u16 gBattle_BG3_Y; @@ -553,7 +553,7 @@ u8 sub_80AB70C(u8 *a) gBattleTypeFlags = 0; gBankAttacker = 2; gBankTarget = 3; - gObjectBankIDs[gBankAttacker] = CreateJudgeSprite(); + gBankSpriteIds[gBankAttacker] = CreateJudgeSprite(); sub_80B292C(); break; default: @@ -931,7 +931,7 @@ void debug_sub_80BA054(u8 taskId) gSprites[r6].pos2.x = 120; gSprites[r6].callback = sub_80AD8FC; gTasks[taskId].data[2] = r6; - gObjectBankIDs[gBankAttacker] = r6; + gBankSpriteIds[gBankAttacker] = r6; gTasks[taskId].data[3] = 0; gTasks[taskId].data[0]++; sContest.unk1925E = 0; @@ -1143,7 +1143,7 @@ void sub_80AC2CC(u8 taskId) gSprites[spriteId].pos2.x = 120; gSprites[spriteId].callback = sub_80AD8FC; gTasks[taskId].data[2] = spriteId; - gObjectBankIDs[gBankAttacker] = spriteId; + gBankSpriteIds[gBankAttacker] = spriteId; sub_80B0BC4(sub_80B09E4(sContest.unk19215), FALSE); gTasks[taskId].data[0] = 4; return; @@ -2147,7 +2147,7 @@ void Contest_CreatePlayerMon(u8 partyIndex) else gContestMons[gContestPlayerMonIndex].trainerGfxId = MAP_OBJ_GFX_LINK_MAY; gContestMons[gContestPlayerMonIndex].flags = 0; - gContestMons[gContestPlayerMonIndex].unk2C = 0; + gContestMons[gContestPlayerMonIndex].unk2C[0] = 0; gContestMons[gContestPlayerMonIndex].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES); GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, name); StringGetEnd10(name); @@ -2214,7 +2214,7 @@ void Contest_CreatePlayerMon(u8 partyIndex) gContestMons[gContestPlayerMonIndex].tough = tough; } -void Contest_InitAllPokemon(u8 a, u8 b) +void Contest_InitAllPokemon(u8 contestType, u8 rank) { s32 i; u8 opponentsCount = 0; @@ -2225,17 +2225,17 @@ void Contest_InitAllPokemon(u8 a, u8 b) // Find all suitable opponents for (i = 0; i < 60; i++) { - if (b == gContestOpponents[i].unk1C_0) + if (rank == gContestOpponents[i].whichRank) { - if (a == 0 && gContestOpponents[i].unk1C_2) + if (contestType == 0 && gContestOpponents[i].aiPool_Cool) opponents[opponentsCount++] = i; - else if (a == 1 && gContestOpponents[i].unk1C_3) + else if (contestType == 1 && gContestOpponents[i].aiPool_Beauty) opponents[opponentsCount++] = i; - else if (a == 2 && gContestOpponents[i].unk1C_4) + else if (contestType == 2 && gContestOpponents[i].aiPool_Cute) opponents[opponentsCount++] = i; - else if (a == 3 && gContestOpponents[i].unk1C_5) + else if (contestType == 3 && gContestOpponents[i].aiPool_Smart) opponents[opponentsCount++] = i; - else if (a == 4 && gContestOpponents[i].unk1C_6) + else if (contestType == 4 && gContestOpponents[i].aiPool_Tough) opponents[opponentsCount++] = i; } } @@ -5415,14 +5415,14 @@ void sub_80B28F0(u8 a) void sub_80B292C(void) { - gObjectBankIDs[3] = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); - InitSpriteAffineAnim(&gSprites[gObjectBankIDs[gBankTarget]]); + gBankSpriteIds[3] = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); + InitSpriteAffineAnim(&gSprites[gBankSpriteIds[gBankTarget]]); sub_80B2968(); } void sub_80B2968(void) { - struct Sprite *sprite = &gSprites[gObjectBankIDs[3]]; + struct Sprite *sprite = &gSprites[gBankSpriteIds[3]]; sprite->pos2.x = 0; sprite->pos2.y = 0; diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index efd952ef7..c8f80eb50 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -76,166 +76,6 @@ const struct MenuAction gMatsudaDebugMenuActions[] = {gMatsudaDebugMenu_ActionSetAllArtMuseumText, MatsudaDebugMenu_SetArtMuseumItems}, }; -const u8 gMatsudaDebugMenu_UnknownByteArray[] = {0xFC, 0x02, 0x0F, 0x00, 0xFF}; -const u8 Unknown_083C922D[] = INCBIN_U8("graphics/unknown/ball.4bpp"); -const u16 Unknown_083C924E[] = INCBIN_U16("graphics/unknown/ball.gbapal"); - -const u8 gUnknown_083C926E[][2] = -{ - {2, 0}, - {17, 0}, - {2, 2}, - {17, 2}, -}; - -const u8 gMatsudaDebugMenuContestTopLeft[][2] = -{ - {0, 6}, - {15, 6}, - {0, 8}, - {15, 8}, - {0, 10}, - {15, 10}, -}; - -const u8 gUnknown_083C9282[] = -{ - // TODO: 2d array? - 7, 6, - 22, 6, - 7, 8, - 22, 8, - 7, 10, - 22, 10, -}; - -const u8 gUnknown_083C928E[][2] = -{ - {2, 14}, - {17, 14}, - {2, 16}, - {17, 16}, -}; - -const u8 gUnknown_083C9296[] = {0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88}; -const u8 gUnknown_083C92A8[] = {0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98}; - -const struct SpriteSheet gUnknown_083C92B4[] = {Unknown_083C922D, 32, 0x4B0}; -const struct SpritePalette gUnknown_083C92BC[] = {Unknown_083C924E, 0x4B0}; - -const struct OamData gOamData_83C92C4 = -{ - .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = 0, - .x = 0, - .matrixNum = 0, - .size = 0, - .tileNum = 0, - .priority = 0, - .paletteNum = 0, - .affineParam = 0, -}; - -const struct SpriteTemplate gSpriteTemplate_83C92CC = -{ - .tileTag = 1200, - .paletteTag = 1200, - .oam = &gOamData_83C92C4, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AA754, -}; - -static void (* const gUnknown_083C92E4[][2])(struct Sprite *, s8) = -{ - {sub_80AA8C8, sub_80AA8D8}, - {sub_80AA8E8, sub_80AA8F8}, - {sub_80AAC5C, sub_80AAC5C}, - {sub_80AA930, sub_80AA974}, - {sub_80AA9B8, sub_80AA9FC}, - {sub_80AAA40, sub_80AAA84}, - {sub_80AAAF0, sub_80AAB30}, - {sub_80AAB70, sub_80AABB0}, - {sub_80AABF0, sub_80AAD44}, -}; - -static const u8 gMatsudaDebugMenu_StartText[] = _("{COLOR CYAN}{HIGHLIGHT RED}"); -static const u8 gMatsudaDebugMenu_StartJapText[] = _("かいし"); // because StartText is only called by StringCopy, this part appears to be unused. -static const u8 gMatsudaDebugMenu_GoBackText[] = _("もどる"); - -#ifdef GERMAN -static const u8 gMatsudaDebugMenu_BattlePointsText[] = _("{COLOR MAGENTA}BP,"); -#else -static const u8 gMatsudaDebugMenu_BattlePointsText[] = _("{COLOR MAGENTA}BP."); -#endif - -static const u8 MatsudaDebugMenuText_Cool[] = _("かっこよさ"); // cool -static const u8 MatsudaDebugMenuText_Cute[] = _("かわいさ"); // cute -static const u8 MatsudaDebugMenuText_Beauty[] = _("うつくしさ"); // beauty -static const u8 MatsudaDebugMenuText_Smart[] = _("かしこさ"); // smart -static const u8 MatsudaDebugMenuText_Tough[] = _("たくましさ"); // tough -static const u8 MatsudaDebugMenuText_Sheen[] = _("けづや"); // sheen - -static const u8 *const gMatsudaDebugMenuTextList1[] = -{ - MatsudaDebugMenuText_Cool, - MatsudaDebugMenuText_Cute, - MatsudaDebugMenuText_Beauty, - MatsudaDebugMenuText_Smart, - MatsudaDebugMenuText_Tough, - MatsudaDebugMenuText_Sheen, -}; - -static const u8 MatsudaDebugMenuText_CoolContest[] = _("かっこよさコンテスト"); -static const u8 MatsudaDebugMenuText_BeautyContest[] = _("うつくしさコンテスト"); -static const u8 MatsudaDebugMenuText_CuteContest[] = _("かわいさコンテスト "); -static const u8 MatsudaDebugMenuText_SmartContest[] = _("かしこさコンテスト "); -static const u8 MatsudaDebugMenuText_ToughContest[] = _("たくましさコンテスト"); - -static const u8 *const gMatsudaDebugMenuTextList2[] = -{ - MatsudaDebugMenuText_CoolContest, - MatsudaDebugMenuText_BeautyContest, - MatsudaDebugMenuText_CuteContest, - MatsudaDebugMenuText_SmartContest, - MatsudaDebugMenuText_ToughContest, -}; - -static const u8 MatsudaDebugMenuText_Fallarbor[] = _("ハジツゲ/ノーマル"); // Fallarbor / Normal -static const u8 MatsudaDebugMenuText_Verdanturf[] = _("シダケ/スーパー "); // Verdanturf / Super -static const u8 MatsudaDebugMenuText_Slateport[] = _("カイナ/ハイパー "); // Slateport / Hyper -static const u8 MatsudaDebugMenuText_Lilycove[] = _("ミナモ/マスター "); // Lilycove / Master - -static const u8 *const gMatsudaDebugMenuTextList3[] = -{ - MatsudaDebugMenuText_Fallarbor, - MatsudaDebugMenuText_Verdanturf, - MatsudaDebugMenuText_Slateport, - MatsudaDebugMenuText_Lilycove, -}; - -static const struct OamData gUnknown_083C9400 = -{ - .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = 1, - .x = 0, - .matrixNum = 0, - .size = 1, - .tileNum = 1023, - .priority = 0, - .paletteNum = 15, - .affineParam = 0, -}; - u8 unref_sub_80A9B28(void) { Menu_EraseScreen(); @@ -460,14 +300,172 @@ static void sub_80A9F50(void) static void sub_80A9FE4(void) { - u8 ptr[5]; - - memcpy(ptr, gMatsudaDebugMenu_UnknownByteArray, 5); + u8 ptr[] = _("{HIGHLIGHT WHITE2} "); DmaFill32Large(3, 0, (void *)VRAM, VRAM_SIZE, 0x1000); sub_80034D4((void *)VRAM, ptr); LoadFontDefaultPalette(&gWindowTemplate_81E6C3C); } +//const u8 gMatsudaDebugMenu_UnknownByteArray[] = {0xFC, 0x02, 0x0F, 0x00, 0xFF}; +const u8 Unknown_083C922D[] = INCBIN_U8("graphics/unknown/ball.4bpp"); +const u16 Unknown_083C924E[] = INCBIN_U16("graphics/unknown/ball.gbapal"); + +const u8 gUnknown_083C926E[][2] = + { + {2, 0}, + {17, 0}, + {2, 2}, + {17, 2}, + }; + +const u8 gMatsudaDebugMenuContestTopLeft[][2] = + { + {0, 6}, + {15, 6}, + {0, 8}, + {15, 8}, + {0, 10}, + {15, 10}, + }; + +const u8 gUnknown_083C9282[] = + { + // TODO: 2d array? + 7, 6, + 22, 6, + 7, 8, + 22, 8, + 7, 10, + 22, 10, + }; + +const u8 gUnknown_083C928E[][2] = + { + {2, 14}, + {17, 14}, + {2, 16}, + {17, 16}, + }; + +const u8 gUnknown_083C9296[] = {0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88}; +const u8 gUnknown_083C92A8[] = {0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98}; + +const struct SpriteSheet gUnknown_083C92B4[] = {Unknown_083C922D, 32, 0x4B0}; +const struct SpritePalette gUnknown_083C92BC[] = {Unknown_083C924E, 0x4B0}; + +const struct OamData gOamData_83C92C4 = + { + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, + }; + +const struct SpriteTemplate gSpriteTemplate_83C92CC = + { + .tileTag = 1200, + .paletteTag = 1200, + .oam = &gOamData_83C92C4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80AA754, + }; + +static void (* const gUnknown_083C92E4[][2])(struct Sprite *, s8) = + { + {sub_80AA8C8, sub_80AA8D8}, + {sub_80AA8E8, sub_80AA8F8}, + {sub_80AAC5C, sub_80AAC5C}, + {sub_80AA930, sub_80AA974}, + {sub_80AA9B8, sub_80AA9FC}, + {sub_80AAA40, sub_80AAA84}, + {sub_80AAAF0, sub_80AAB30}, + {sub_80AAB70, sub_80AABB0}, + {sub_80AABF0, sub_80AAD44}, + }; + +static const u8 gMatsudaDebugMenu_StartText[] = _("{COLOR CYAN}{HIGHLIGHT RED}"); +static const u8 gMatsudaDebugMenu_StartJapText[] = _("かいし"); // because StartText is only called by StringCopy, this part appears to be unused. +static const u8 gMatsudaDebugMenu_GoBackText[] = _("もどる"); + +#ifdef GERMAN +static const u8 gMatsudaDebugMenu_BattlePointsText[] = _("{COLOR MAGENTA}BP,"); +#else +static const u8 gMatsudaDebugMenu_BattlePointsText[] = _("{COLOR MAGENTA}BP."); +#endif + +static const u8 MatsudaDebugMenuText_Cool[] = _("かっこよさ"); // cool +static const u8 MatsudaDebugMenuText_Cute[] = _("かわいさ"); // cute +static const u8 MatsudaDebugMenuText_Beauty[] = _("うつくしさ"); // beauty +static const u8 MatsudaDebugMenuText_Smart[] = _("かしこさ"); // smart +static const u8 MatsudaDebugMenuText_Tough[] = _("たくましさ"); // tough +static const u8 MatsudaDebugMenuText_Sheen[] = _("けづや"); // sheen + +static const u8 *const gMatsudaDebugMenuTextList1[] = + { + MatsudaDebugMenuText_Cool, + MatsudaDebugMenuText_Cute, + MatsudaDebugMenuText_Beauty, + MatsudaDebugMenuText_Smart, + MatsudaDebugMenuText_Tough, + MatsudaDebugMenuText_Sheen, + }; + +static const u8 MatsudaDebugMenuText_CoolContest[] = _("かっこよさコンテスト"); +static const u8 MatsudaDebugMenuText_BeautyContest[] = _("うつくしさコンテスト"); +static const u8 MatsudaDebugMenuText_CuteContest[] = _("かわいさコンテスト "); +static const u8 MatsudaDebugMenuText_SmartContest[] = _("かしこさコンテスト "); +static const u8 MatsudaDebugMenuText_ToughContest[] = _("たくましさコンテスト"); + +static const u8 *const gMatsudaDebugMenuTextList2[] = + { + MatsudaDebugMenuText_CoolContest, + MatsudaDebugMenuText_BeautyContest, + MatsudaDebugMenuText_CuteContest, + MatsudaDebugMenuText_SmartContest, + MatsudaDebugMenuText_ToughContest, + }; + +static const u8 MatsudaDebugMenuText_Fallarbor[] = _("ハジツゲ/ノーマル"); // Fallarbor / Normal +static const u8 MatsudaDebugMenuText_Verdanturf[] = _("シダケ/スーパー "); // Verdanturf / Super +static const u8 MatsudaDebugMenuText_Slateport[] = _("カイナ/ハイパー "); // Slateport / Hyper +static const u8 MatsudaDebugMenuText_Lilycove[] = _("ミナモ/マスター "); // Lilycove / Master + +static const u8 *const gMatsudaDebugMenuTextList3[] = + { + MatsudaDebugMenuText_Fallarbor, + MatsudaDebugMenuText_Verdanturf, + MatsudaDebugMenuText_Slateport, + MatsudaDebugMenuText_Lilycove, + }; + +static const struct OamData gUnknown_083C9400 = + { + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 1023, + .priority = 0, + .paletteNum = 15, + .affineParam = 0, + }; + static void sub_80AA064(void) { AnimateSprites(); @@ -963,7 +961,7 @@ void sub_80AAF30(void) gUnknown_02038670[i] = 0; gUnknown_02038680[i] = 0; gUnknown_02038678[i] = 0; - memcpy(&gContestMons[i], &gContestMons[3], sizeof(struct ContestPokemon)); + gContestMons[i] = gContestMons[3]; } gUnknown_02038670[3] = 0x12C; diff --git a/src/field/daycare.c b/src/field/daycare.c index 2f0c7281e..da0838d29 100644 --- a/src/field/daycare.c +++ b/src/field/daycare.c @@ -1574,102 +1574,23 @@ void SetDaycareCompatibilityString(void) StringCopy(gStringVar4, sCompatibilityMessages[whichString]); } -#ifdef NONMATCHING bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio) { u8 i; u8 flags[2]; - // This portion is nonmatching - flags[1] = 0; - flags[0] = 0; + flags[0] = flags[1] = 0; for (i = 0; name[i] != EOS; i++) - // End nonmatching portion - { if (name[i] == CHAR_MALE) flags[0]++; if (name[i] == CHAR_FEMALE) flags[1]++; } - if (genderRatio == MON_MALE && flags[0] && !flags[1]) return TRUE; - if (genderRatio == MON_FEMALE && flags[1] && !flags[0]) return TRUE; + if (genderRatio == MON_MALE && flags[0] && !flags[1]) + return TRUE; + if (genderRatio == MON_FEMALE && flags[1] && !flags[0]) + return TRUE; return FALSE; } -#else -__attribute__((naked)) -bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio) -{ - asm_unified("\n" - "\tpush {r4,r5,lr}\n" - "\tsub sp, 0x4\n" - "\tadds r4, r0, 0\n" - "\tlsls r1, 24\n" - "\tlsrs r5, r1, 24\n" - "\tmov r2, sp\n" - "\tmov r1, sp\n" - "\tmovs r0, 0\n" - "\tstrb r0, [r1, 0x1]\n" - "\tstrb r0, [r2]\n" - "\tmovs r3, 0\n" - "\tldrb r0, [r4]\n" - "\tcmp r0, 0xFF\n" - "\tbeq _0804258C\n" - "_08042564:\n" - "\tadds r1, r4, r3\n" - "\tldrb r0, [r1]\n" - "\tcmp r0, 0xB5\n" - "\tbne _08042572\n" - "\tldrb r0, [r2]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r2]\n" - "_08042572:\n" - "\tldrb r0, [r1]\n" - "\tcmp r0, 0xB6\n" - "\tbne _0804257E\n" - "\tldrb r0, [r2, 0x1]\n" - "\tadds r0, 0x1\n" - "\tstrb r0, [r2, 0x1]\n" - "_0804257E:\n" - "\tadds r0, r3, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r3, r0, 24\n" - "\tadds r0, r4, r3\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0xFF\n" - "\tbne _08042564\n" - "_0804258C:\n" - "\tcmp r5, 0\n" - "\tbne _080425A0\n" - "\tmov r0, sp\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbeq _080425A0\n" - "\tmov r0, sp\n" - "\tldrb r0, [r0, 0x1]\n" - "\tcmp r0, 0\n" - "\tbeq _080425B4\n" - "_080425A0:\n" - "\tcmp r5, 0xFE\n" - "\tbne _080425B8\n" - "\tmov r0, sp\n" - "\tldrb r0, [r0, 0x1]\n" - "\tcmp r0, 0\n" - "\tbeq _080425B8\n" - "\tmov r0, sp\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _080425B8\n" - "_080425B4:\n" - "\tmovs r0, 0x1\n" - "\tb _080425BA\n" - "_080425B8:\n" - "\tmovs r0, 0\n" - "_080425BA:\n" - "\tadd sp, 0x4\n" - "\tpop {r4,r5}\n" - "\tpop {r1}\n" - "\tbx r1"); -} -#endif static u8 *AppendGenderSymbol(u8 *name, u8 gender) { diff --git a/src/field/item.c b/src/field/item.c index 6ff7a7cbe..78f5ce12d 100644 --- a/src/field/item.c +++ b/src/field/item.c @@ -2,12 +2,14 @@ #include "constants/hold_effects.h" #include "item.h" #include "constants/items.h" +#include "item_menu.h" #include "item_use.h" #include "berry.h" #include "string_util.h" #include "strings.h" extern u8 gUnknown_02038560; +extern struct BagPocket gBagPockets[NUM_BAG_POCKETS]; // These constants are used in gItems enum @@ -151,7 +153,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) // This function matches if gBagPockets is declared non-const, // but it should be fixed anyway. -#ifdef NONMATCHING +//#ifdef NONMATCHING bool8 AddBagItem(u16 itemId, u16 count) { u8 i; @@ -216,158 +218,158 @@ bool8 AddBagItem(u16 itemId, u16 count) memcpy(gBagPockets[pocket].itemSlots, newItems, gBagPockets[pocket].capacity * sizeof(struct ItemSlot)); return TRUE; } -#else -__attribute__((naked)) -bool8 AddBagItem(u16 itemId, u16 count) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - sub sp, 0x100\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r8, r0\n\ - lsls r1, 16\n\ - lsrs r4, r1, 16\n\ - bl ItemId_GetPocket\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _080A9510\n\ - mov r0, r8\n\ - bl ItemId_GetPocket\n\ - subs r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - ldr r1, _080A94F8 @ =gBagPockets\n\ - lsls r0, r6, 3\n\ - adds r5, r0, r1\n\ - ldr r1, [r5]\n\ - ldrb r2, [r5, 0x4]\n\ - lsls r2, 2\n\ - mov r0, sp\n\ - bl memcpy\n\ - ldr r7, _080A94FC @ =0x000003e7\n\ - cmp r6, 0x3\n\ - beq _080A9468\n\ - movs r7, 0x63\n\ -_080A9468:\n\ - movs r1, 0\n\ - ldrb r0, [r5, 0x4]\n\ - cmp r1, r0\n\ - bcs _080A94B2\n\ - subs r0, r6, 0x2\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r12, r0\n\ -_080A9478:\n\ - lsls r0, r1, 2\n\ - mov r2, sp\n\ - adds r3, r2, r0\n\ - ldrh r0, [r3]\n\ - cmp r0, r8\n\ - bne _080A94A6\n\ - ldrh r2, [r3, 0x2]\n\ - adds r0, r2, r4\n\ - cmp r0, r7\n\ - ble _080A9500\n\ - mov r0, r12\n\ - cmp r0, 0x1\n\ - bls _080A9510\n\ - subs r0, r7, r2\n\ - subs r0, r4, r0\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - strh r7, [r3, 0x2]\n\ - ldr r2, _080A94F8 @ =gBagPockets\n\ - mov r9, r2\n\ - lsls r3, r6, 3\n\ - cmp r4, 0\n\ - beq _080A9516\n\ -_080A94A6:\n\ - adds r0, r1, 0x1\n\ - lsls r0, 24\n\ - lsrs r1, r0, 24\n\ - ldrb r0, [r5, 0x4]\n\ - cmp r1, r0\n\ - bcc _080A9478\n\ -_080A94B2:\n\ - ldr r2, _080A94F8 @ =gBagPockets\n\ - mov r9, r2\n\ - lsls r3, r6, 3\n\ - cmp r4, 0\n\ - beq _080A9516\n\ - movs r1, 0\n\ - adds r0, r3, r2\n\ - ldrb r0, [r0, 0x4]\n\ - cmp r1, r0\n\ - bcs _080A94F2\n\ - mov r6, r9\n\ - adds r5, r3, r6\n\ -_080A94CA:\n\ - lsls r0, r1, 2\n\ - mov r6, sp\n\ - adds r2, r6, r0\n\ - ldrh r0, [r2]\n\ - cmp r0, 0\n\ - bne _080A94E6\n\ - mov r0, r8\n\ - strh r0, [r2]\n\ - cmp r4, r7\n\ - bls _080A9514\n\ - subs r0, r4, r7\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - strh r7, [r2, 0x2]\n\ -_080A94E6:\n\ - adds r0, r1, 0x1\n\ - lsls r0, 24\n\ - lsrs r1, r0, 24\n\ - ldrb r2, [r5, 0x4]\n\ - cmp r1, r2\n\ - bcc _080A94CA\n\ -_080A94F2:\n\ - cmp r4, 0\n\ - beq _080A9516\n\ - b _080A9510\n\ - .align 2, 0\n\ -_080A94F8: .4byte gBagPockets\n\ -_080A94FC: .4byte 0x000003e7\n\ -_080A9500:\n\ - strh r0, [r3, 0x2]\n\ - ldr r0, _080A950C @ =gBagPockets\n\ - lsls r1, r6, 3\n\ - adds r1, r0\n\ - b _080A951A\n\ - .align 2, 0\n\ -_080A950C: .4byte gBagPockets\n\ -_080A9510:\n\ - movs r0, 0\n\ - b _080A9528\n\ -_080A9514:\n\ - strh r4, [r2, 0x2]\n\ -_080A9516:\n\ - mov r6, r9\n\ - adds r1, r3, r6\n\ -_080A951A:\n\ - ldr r0, [r1]\n\ - ldrb r2, [r1, 0x4]\n\ - lsls r2, 2\n\ - mov r1, sp\n\ - bl memcpy\n\ - movs r0, 0x1\n\ -_080A9528:\n\ - add sp, 0x100\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n\ - .syntax divided\n"); -} -#endif +//#else +//__attribute__((naked)) +//bool8 AddBagItem(u16 itemId, u16 count) +//{ +// asm(".syntax unified\n\ +// push {r4-r7,lr}\n\ +// mov r7, r9\n\ +// mov r6, r8\n\ +// push {r6,r7}\n\ +// sub sp, 0x100\n\ +// lsls r0, 16\n\ +// lsrs r0, 16\n\ +// mov r8, r0\n\ +// lsls r1, 16\n\ +// lsrs r4, r1, 16\n\ +// bl ItemId_GetPocket\n\ +// lsls r0, 24\n\ +// cmp r0, 0\n\ +// beq _080A9510\n\ +// mov r0, r8\n\ +// bl ItemId_GetPocket\n\ +// subs r0, 0x1\n\ +// lsls r0, 24\n\ +// lsrs r6, r0, 24\n\ +// ldr r1, _080A94F8 @ =gBagPockets\n\ +// lsls r0, r6, 3\n\ +// adds r5, r0, r1\n\ +// ldr r1, [r5]\n\ +// ldrb r2, [r5, 0x4]\n\ +// lsls r2, 2\n\ +// mov r0, sp\n\ +// bl memcpy\n\ +// ldr r7, _080A94FC @ =0x000003e7\n\ +// cmp r6, 0x3\n\ +// beq _080A9468\n\ +// movs r7, 0x63\n\ +//_080A9468:\n\ +// movs r1, 0\n\ +// ldrb r0, [r5, 0x4]\n\ +// cmp r1, r0\n\ +// bcs _080A94B2\n\ +// subs r0, r6, 0x2\n\ +// lsls r0, 24\n\ +// lsrs r0, 24\n\ +// mov r12, r0\n\ +//_080A9478:\n\ +// lsls r0, r1, 2\n\ +// mov r2, sp\n\ +// adds r3, r2, r0\n\ +// ldrh r0, [r3]\n\ +// cmp r0, r8\n\ +// bne _080A94A6\n\ +// ldrh r2, [r3, 0x2]\n\ +// adds r0, r2, r4\n\ +// cmp r0, r7\n\ +// ble _080A9500\n\ +// mov r0, r12\n\ +// cmp r0, 0x1\n\ +// bls _080A9510\n\ +// subs r0, r7, r2\n\ +// subs r0, r4, r0\n\ +// lsls r0, 16\n\ +// lsrs r4, r0, 16\n\ +// strh r7, [r3, 0x2]\n\ +// ldr r2, _080A94F8 @ =gBagPockets\n\ +// mov r9, r2\n\ +// lsls r3, r6, 3\n\ +// cmp r4, 0\n\ +// beq _080A9516\n\ +//_080A94A6:\n\ +// adds r0, r1, 0x1\n\ +// lsls r0, 24\n\ +// lsrs r1, r0, 24\n\ +// ldrb r0, [r5, 0x4]\n\ +// cmp r1, r0\n\ +// bcc _080A9478\n\ +//_080A94B2:\n\ +// ldr r2, _080A94F8 @ =gBagPockets\n\ +// mov r9, r2\n\ +// lsls r3, r6, 3\n\ +// cmp r4, 0\n\ +// beq _080A9516\n\ +// movs r1, 0\n\ +// adds r0, r3, r2\n\ +// ldrb r0, [r0, 0x4]\n\ +// cmp r1, r0\n\ +// bcs _080A94F2\n\ +// mov r6, r9\n\ +// adds r5, r3, r6\n\ +//_080A94CA:\n\ +// lsls r0, r1, 2\n\ +// mov r6, sp\n\ +// adds r2, r6, r0\n\ +// ldrh r0, [r2]\n\ +// cmp r0, 0\n\ +// bne _080A94E6\n\ +// mov r0, r8\n\ +// strh r0, [r2]\n\ +// cmp r4, r7\n\ +// bls _080A9514\n\ +// subs r0, r4, r7\n\ +// lsls r0, 16\n\ +// lsrs r4, r0, 16\n\ +// strh r7, [r2, 0x2]\n\ +//_080A94E6:\n\ +// adds r0, r1, 0x1\n\ +// lsls r0, 24\n\ +// lsrs r1, r0, 24\n\ +// ldrb r2, [r5, 0x4]\n\ +// cmp r1, r2\n\ +// bcc _080A94CA\n\ +//_080A94F2:\n\ +// cmp r4, 0\n\ +// beq _080A9516\n\ +// b _080A9510\n\ +// .align 2, 0\n\ +//_080A94F8: .4byte gBagPockets\n\ +//_080A94FC: .4byte 0x000003e7\n\ +//_080A9500:\n\ +// strh r0, [r3, 0x2]\n\ +// ldr r0, _080A950C @ =gBagPockets\n\ +// lsls r1, r6, 3\n\ +// adds r1, r0\n\ +// b _080A951A\n\ +// .align 2, 0\n\ +//_080A950C: .4byte gBagPockets\n\ +//_080A9510:\n\ +// movs r0, 0\n\ +// b _080A9528\n\ +//_080A9514:\n\ +// strh r4, [r2, 0x2]\n\ +//_080A9516:\n\ +// mov r6, r9\n\ +// adds r1, r3, r6\n\ +//_080A951A:\n\ +// ldr r0, [r1]\n\ +// ldrb r2, [r1, 0x4]\n\ +// lsls r2, 2\n\ +// mov r1, sp\n\ +// bl memcpy\n\ +// movs r0, 0x1\n\ +//_080A9528:\n\ +// add sp, 0x100\n\ +// pop {r3,r4}\n\ +// mov r8, r3\n\ +// mov r9, r4\n\ +// pop {r4-r7}\n\ +// pop {r1}\n\ +// bx r1\n\ +// .syntax divided\n"); +//} +//#endif bool8 RemoveBagItem(u16 itemId, u16 count) { diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 4a580eb41..395736d03 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -1,4 +1,5 @@ #include "global.h" +#include "constants/battle_anim.h" #include "constants/species.h" #include "rom_8077ABC.h" #include "battle.h" @@ -30,7 +31,7 @@ #define gCastformElevations gUnknownCastformData_0837F5A8 #define gCastformBackSpriteYCoords gUnknown_0837F5AC #define gTransformPersonalities gTransformedPersonalities -#define gBattleMonSprites gObjectBankIDs +#define gBattleMonSprites gBankSpriteIds struct TransformStatus { @@ -635,7 +636,7 @@ void unref_sub_8078414(struct Sprite *sprite) sprite->callback = sub_80782F8; } -void sub_8078458(struct Sprite *sprite) +void TranslateMonBGUntil(struct Sprite *sprite) { if (sprite->data[0] > 0) { @@ -649,7 +650,9 @@ void sub_8078458(struct Sprite *sprite) } } -void sub_80784A8(struct Sprite *sprite) +// Same as TranslateMonBGUntil, but it operates on sub-pixel values +// to handle slower translations. +void TranslateMonBGSubPixelUntil(struct Sprite *sprite) { if (sprite->data[0] > 0) { @@ -765,14 +768,14 @@ void sub_80786EC(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[6] = 0x8000 / sprite->data[0]; sprite->data[7] = 0; } -bool8 sub_8078718(struct Sprite *sprite) +bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) return TRUE; sprite->data[7] += sprite->data[6]; sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); @@ -798,7 +801,7 @@ void sub_8078764(struct Sprite *sprite, bool8 a2) sprite->pos1.y += gBattleAnimArgs[1]; } -void sub_80787B0(struct Sprite *sprite, u8 a2) +void InitAnimSpritePos(struct Sprite *sprite, u8 a2) { if (!a2) { @@ -850,7 +853,7 @@ bool8 IsBankSpritePresent(u8 slot) { if (gBanksBySide[slot] == 0xff) return FALSE; - if (GetBankSide(slot)) + if (GetBankSide(slot) != SIDE_PLAYER) { if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) return TRUE; @@ -937,12 +940,12 @@ void sub_8078A34(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - sub_8078A5C(sprite); + InitSpriteDataForLinearTranslation(sprite); sprite->callback = sub_80783D0; sprite->callback(sprite); } -void sub_8078A5C(struct Sprite *sprite) +void InitSpriteDataForLinearTranslation(struct Sprite *sprite) { s16 x = (sprite->data[2] - sprite->data[1]) << 8; s16 y = (sprite->data[4] - sprite->data[3]) << 8; @@ -952,44 +955,44 @@ void sub_8078A5C(struct Sprite *sprite) sprite->data[3] = 0; } -void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite) +void InitAnimSpriteTranslationDeltas(struct Sprite *sprite) { int x = sprite->data[2] - sprite->data[1]; int y = sprite->data[4] - sprite->data[3]; - bool8 r8 = x < 0; - bool8 r9 = y < 0; - u16 x2 = abs(x) << 8; - u16 y2 = abs(y) << 8; + bool8 movingLeft = x < 0; + bool8 movingUp = y < 0; + u16 xDelta = abs(x) << 8; + u16 yDelta = abs(y) << 8; - x2 = x2 / sprite->data[0]; - y2 = y2 / sprite->data[0]; + xDelta = xDelta / sprite->data[0]; + yDelta = yDelta / sprite->data[0]; - if (r8) - x2 |= 1; + if (movingLeft) + xDelta |= 1; else - x2 &= ~1; + xDelta &= ~1; - if (r9) - y2 |= 1; + if (movingUp) + yDelta |= 1; else - y2 &= ~1; + yDelta &= ~1; - sprite->data[1] = x2; - sprite->data[2] = y2; + sprite->data[1] = xDelta; + sprite->data[2] = yDelta; sprite->data[4] = 0; sprite->data[3] = 0; } -void sub_8078B34(struct Sprite *sprite) +void StartTranslateAnimSpriteByDeltas(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - obj_translate_based_on_private_1_2_3_4(sprite); - sprite->callback = sub_8078BB8; + InitAnimSpriteTranslationDeltas(sprite); + sprite->callback = TranslateAnimSpriteByDeltasUntil; sprite->callback(sprite); } -bool8 sub_8078B5C(struct Sprite *sprite) +bool8 TranslateAnimSpriteByDeltas(struct Sprite *sprite) { u16 v1, v2, x, y; @@ -1019,9 +1022,9 @@ bool8 sub_8078B5C(struct Sprite *sprite) return FALSE; } -void sub_8078BB8(struct Sprite *sprite) +void TranslateAnimSpriteByDeltasUntil(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) SetCallbackToStoredInData(sprite); } @@ -1029,7 +1032,7 @@ void sub_8078BD4(struct Sprite *sprite) { int v1 = abs(sprite->data[2] - sprite->data[1]) << 8; sprite->data[0] = v1 / sprite->data[0]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); } void sub_8078C00(struct Sprite *sprite) @@ -1037,7 +1040,7 @@ void sub_8078C00(struct Sprite *sprite) sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; sub_8078BD4(sprite); - sprite->callback = sub_8078BB8; + sprite->callback = TranslateAnimSpriteByDeltasUntil; sprite->callback(sprite); } @@ -1379,7 +1382,7 @@ void sub_80793C4(struct Sprite *sprite) else var = FALSE; if (!gBattleAnimArgs[2]) - sub_80787B0(sprite, var); + InitAnimSpritePos(sprite, var); else sub_8078764(sprite, var); sprite->data[0]++; @@ -1391,7 +1394,15 @@ void sub_80793C4(struct Sprite *sprite) } } -void sub_807941C(struct Sprite *sprite) +// Linearly translates a sprite to a target position on the +// other mon's sprite. +// arg 0: initial x offset +// arg 1: initial y offset +// arg 2: target x offset +// arg 3: target y offset +// arg 4: duration +// arg 5: lower 8 bits = location on attacking mon, upper 8 bits = location on target mon pick to target +void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) { bool8 v1; u8 v2; @@ -1406,19 +1417,20 @@ void sub_807941C(struct Sprite *sprite) else v2 = 1; - sub_80787B0(sprite, v1); - if (GetBankSide(gAnimBankAttacker)) + InitAnimSpritePos(sprite, v1); + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankTarget, v2) + gBattleAnimArgs[3]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } void sub_80794A8(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; @@ -1431,7 +1443,7 @@ void sub_80794A8(struct Sprite *sprite) void sub_8079518(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } @@ -1451,7 +1463,7 @@ void sub_8079534(struct Sprite *sprite) } if (!gBattleAnimArgs[5]) { - sub_80787B0(sprite, r4); + InitAnimSpritePos(sprite, r4); slot = gAnimBankAttacker; } else @@ -1465,7 +1477,7 @@ void sub_8079534(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBankPosition(slot, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(slot, r7) + gBattleAnimArgs[3]; - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -2106,7 +2118,7 @@ s16 sub_807A100(u8 slot, u8 a2) } } -void sub_807A3FC(u8 slot, bool8 a2, s16 *a3, s16 *a4) +void SetAverageBattlerPositions(u8 slot, bool8 a2, s16 *x, s16 *y) { u8 v1, v2; s16 v3, v4; @@ -2134,8 +2146,8 @@ void sub_807A3FC(u8 slot, bool8 a2, s16 *a3, s16 *a4) v5 = v3; v6 = v4; } - *a3 = (v3 + v5) / 2; - *a4 = (v4 + v6) / 2; + *x = (v3 + v5) / 2; + *y = (v4 + v6) / 2; } u8 sub_807A4A0(int bank, u8 sprite, int species) @@ -2337,6 +2349,6 @@ void sub_807A9BC(struct Sprite *sprite) sprite->pos1.x += x; sprite->pos1.y = gBattleAnimArgs[5] - 80; } - sprite->callback = sub_8078B34; + sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } diff --git a/src/roulette.c b/src/roulette.c index 838ce94f8..9197fe6be 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -1,4 +1,5 @@ #include "global.h" +#include "random.h" #include "ewram.h" #include "field_fadetransition.h" #include "constants/game_stat.h" @@ -357,22 +358,20 @@ void sub_8115124(void) REG_BG0CNT = 0x1F08; DmaFill16(3, 0x0, (void *)(VRAM + 0xF9C0), 0x340); eRoulette->var28 = 0x0; - break; case 0x0: + break; } } -#ifdef NONMATCHING void sub_8115238(void) { u8 i; u32 temp; - struct PlttData t; - struct PlttData *unfaded; - struct PlttData *faded; struct StructgUnknown_083F8DF4 *s0; - struct PlttData arr[0x3]; // the third is never used ? - memcpy(&arr, &gUnknown_083F8EC4, 0x6); + u16 arr[0x3]; // the third is never used ? + + memcpy(arr, &gUnknown_083F8EC4, 0x6); + // u16 arr[] = {RGB(24, 4, 10), RGB(10, 19, 6), RGB(24, 4, 10)}; memset(eRoulette, 0x0, 0x17C); eRoulette->var04_0 = (gSpecialVar_0x8004 & 0x1); if (gSpecialVar_0x8004 & 0x80) @@ -380,25 +379,12 @@ void sub_8115238(void) s0 = &gUnknown_083F8DF4[0]; eRoulette->var22 = s0[eRoulette->var04_0].var03; eRoulette->var23 = s0[eRoulette->var04_0].var04; - temp = gUnknown_083F8DF0[eRoulette->var04_0 + eRoulette->var04_7 * 2]; - eRoulette->var19 = temp; + eRoulette->var19 = temp = gUnknown_083F8DF0[eRoulette->var04_0 + eRoulette->var04_7 * 2]; eRoulette->var1A_4 = 0x1; if (temp == 0x1) - { - unfaded = (struct PlttData *)&gPlttBufferUnfaded[0]; - faded = (struct PlttData *)&gPlttBufferFaded[0]; - t = arr[0]; - } + gPlttBufferUnfaded[0] = gPlttBufferUnfaded[0x51] = gPlttBufferFaded[0] = gPlttBufferFaded[0x51] = arr[0]; else - { - unfaded = (struct PlttData *)&gPlttBufferUnfaded[0]; - faded = (struct PlttData *)&gPlttBufferFaded[0]; - t = arr[1]; - } - faded[0x51] = t; - faded[0x0] = faded[0x51]; - unfaded[0x51] = t; - unfaded[0x0] = t; + gPlttBufferUnfaded[0] = gPlttBufferUnfaded[0x51] = gPlttBufferFaded[0] = gPlttBufferFaded[0x51] = arr[1]; sub_8124918((&eRoulette->varB8)); for (i = 0; i < 0xD; i++) sub_812492C((&eRoulette->varB8), i, (struct UnkStruct1 *)&gUnknown_083F8E34[i * 8]); @@ -406,178 +392,16 @@ void sub_8115238(void) { switch (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2)) { - case SPECIES_TAILLOW: - eRoulette->var02 |= 0x2; - break; case SPECIES_SHROOMISH: - eRoulette->var02 |= 0x1; - break; + eRoulette->var02 |= 0x1; + break; + case SPECIES_TAILLOW: + eRoulette->var02 |= 0x2; + break; } } RtcCalcLocalTime(); } -#else -__attribute__((naked)) -void sub_8115238(void) -{ - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - sub sp, 0x8\n\ - ldr r1, _081152C0 @ =gUnknown_083F8EC4\n\ - mov r0, sp\n\ - movs r2, 0x6\n\ - bl memcpy\n\ - ldr r5, _081152C4 @ =0x02019000\n\ - movs r2, 0xBE\n\ - lsls r2, 1\n\ - adds r0, r5, 0\n\ - movs r1, 0\n\ - bl memset\n\ - ldr r0, _081152C8 @ =gSpecialVar_0x8004\n\ - ldrh r2, [r0]\n\ - movs r0, 0x1\n\ - ands r0, r2\n\ - ldrb r1, [r5, 0x4]\n\ - movs r3, 0x4\n\ - negs r3, r3\n\ - ands r3, r1\n\ - orrs r3, r0\n\ - strb r3, [r5, 0x4]\n\ - movs r0, 0x80\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _08115276\n\ - movs r0, 0x80\n\ - orrs r3, r0\n\ - strb r3, [r5, 0x4]\n\ - _08115276:\n\ - ldr r3, _081152CC @ =gUnknown_083F8DF4\n\ - ldrb r2, [r5, 0x4]\n\ - lsls r1, r2, 30\n\ - lsrs r0, r1, 25\n\ - adds r0, r3\n\ - ldrb r0, [r0, 0x3]\n\ - adds r4, r5, 0\n\ - adds r4, 0x22\n\ - strb r0, [r4]\n\ - lsrs r0, r1, 25\n\ - adds r0, r3\n\ - ldrb r0, [r0, 0x4]\n\ - adds r3, r5, 0\n\ - adds r3, 0x23\n\ - strb r0, [r3]\n\ - ldr r0, _081152D0 @ =gUnknown_083F8DF0\n\ - lsrs r1, 30\n\ - lsls r2, 24\n\ - lsrs r2, 31\n\ - lsls r2, 1\n\ - adds r1, r2\n\ - adds r1, r0\n\ - ldrb r2, [r1]\n\ - strb r2, [r5, 0x19]\n\ - ldrb r1, [r5, 0x1A]\n\ - movs r0, 0xF\n\ - ands r0, r1\n\ - movs r1, 0x10\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x1A]\n\ - cmp r2, 0x1\n\ - bne _081152DC\n\ - ldr r4, _081152D4 @ =gPlttBufferUnfaded\n\ - ldr r3, _081152D8 @ =gPlttBufferFaded\n\ - mov r0, sp\n\ - ldrh r2, [r0]\n\ - b _081152E4\n\ - .align 2, 0\n\ - _081152C0: .4byte gUnknown_083F8EC4\n\ - _081152C4: .4byte 0x02019000\n\ - _081152C8: .4byte gSpecialVar_0x8004\n\ - _081152CC: .4byte gUnknown_083F8DF4\n\ - _081152D0: .4byte gUnknown_083F8DF0\n\ - _081152D4: .4byte gPlttBufferUnfaded\n\ - _081152D8: .4byte gPlttBufferFaded\n\ - _081152DC:\n\ - ldr r4, _08115348 @ =gPlttBufferUnfaded\n\ - ldr r3, _0811534C @ =gPlttBufferFaded\n\ - mov r0, sp\n\ - ldrh r2, [r0, 0x2]\n\ - _081152E4:\n\ - adds r0, r3, 0\n\ - adds r0, 0xA2\n\ - strh r2, [r0]\n\ - ldr r1, _08115350 @ =0x0000ffff\n\ - adds r0, r1, 0\n\ - ands r0, r2\n\ - strh r0, [r3]\n\ - ands r0, r1\n\ - adds r2, r4, 0\n\ - adds r2, 0xA2\n\ - strh r0, [r2]\n\ - ands r0, r1\n\ - strh r0, [r4]\n\ - ldr r0, _08115354 @ =0x020190b8\n\ - bl sub_8124918\n\ - movs r4, 0\n\ - ldr r5, _08115358 @ =gUnknown_083F8E34\n\ - _08115308:\n\ - lsls r2, r4, 3\n\ - adds r2, r5\n\ - ldr r0, _08115354 @ =0x020190b8\n\ - adds r1, r4, 0\n\ - bl sub_812492C\n\ - adds r0, r4, 0x1\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - cmp r4, 0xC\n\ - bls _08115308\n\ - movs r4, 0\n\ - ldr r5, _0811535C @ =0x02019000\n\ - _08115322:\n\ - movs r0, 0x64\n\ - muls r0, r4\n\ - ldr r1, _08115360 @ =gPlayerParty\n\ - adds r0, r1\n\ - movs r1, 0x41\n\ - bl GetMonData\n\ - adds r1, r0, 0\n\ - movs r0, 0x98\n\ - lsls r0, 1\n\ - cmp r1, r0\n\ - beq _08115364\n\ - adds r0, 0x2\n\ - cmp r1, r0\n\ - bne _0811536C\n\ - ldrb r0, [r5, 0x2]\n\ - movs r1, 0x1\n\ - b _08115368\n\ - .align 2, 0\n\ - _08115348: .4byte gPlttBufferUnfaded\n\ - _0811534C: .4byte gPlttBufferFaded\n\ - _08115350: .4byte 0x0000ffff\n\ - _08115354: .4byte 0x020190b8\n\ - _08115358: .4byte gUnknown_083F8E34\n\ - _0811535C: .4byte 0x02019000\n\ - _08115360: .4byte gPlayerParty\n\ - _08115364:\n\ - ldrb r0, [r5, 0x2]\n\ - movs r1, 0x2\n\ - _08115368:\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x2]\n\ - _0811536C:\n\ - adds r0, r4, 0x1\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - cmp r4, 0x5\n\ - bls _08115322\n\ - bl RtcCalcLocalTime\n\ - add sp, 0x8\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); -} -#endif #if DEBUG __attribute__((naked)) @@ -1212,6 +1036,7 @@ u8 sub_8115A94(s16 *r0, u8 r1) s8 arr[0x4]; s8 t; memcpy(&arr, gUnknown_083F8ECA, 0x4); + // char arr[] = {-5, 5, -1, 1}; t = (u8)*r0; switch (r1) { @@ -1256,9 +1081,9 @@ void sub_8115B58(u8 r0) gTasks[r0].data[0x1] = z; PlaySE(SE_SELECT); sub_8124D3C((&eRoulette->varB8), 0xFFFF); - (&eRoulette->varB8)->var04[0xF].var00_7 = 0x0; - (&eRoulette->varB8)->var04[0xE].var00_7 = 0x0; - (&eRoulette->varB8)->var04[0xD].var00_7 = 0x0; + eRoulette->varB8.var04[0xF].var00_7 = 0x0; + eRoulette->varB8.var04[0xE].var00_7 = 0x0; + eRoulette->varB8.var04[0xD].var00_7 = 0x0; sub_8116EF8(gTasks[r0].data[0x4]); for (i = 0; i < 0x4; i++) { @@ -1454,24 +1279,23 @@ u8 sub_8115F58(u16 r0, u16 r1) } } -#ifdef NONMATCHING void sub_8116100(u8 taskid) { u8 randf; s8 randfinal; s8 r5; - u16 g; + u16 g = 0; u16 rand; u16 randmod; u16 angles[0x4]; // angles in 90 degree steps - u8 zero = 0x0; memcpy(angles, &gUnknown_083F8ECE, 0x8); + // u16 angles[] = {0, 180, 90, 270}; rand = Random(); randmod = rand % 0x64; eRoulette->var7C = gTasks[taskid].data[0x6]; - eRoulette->var7F = zero; - eRoulette->var7E = zero; - eRoulette->var7D = zero; + eRoulette->var7F = g; + eRoulette->var7E = g; + eRoulette->var7D = g; randf = sub_8115F58(gTasks[taskid].data[0x8], rand); randfinal = (rand % randf) - (randf / 2); if (gLocalTime.hours < 0xD) @@ -1482,263 +1306,22 @@ void sub_8116100(u8 taskid) r5 *= 2; else r5 = (1 - r5) * 2; - g = (&gUnknown_083F8DF4[eRoulette->var04_0])->var1A; - eRoulette->var80 = (g + randfinal); + eRoulette->var80 = g = gUnknown_083F8DF4[eRoulette->var04_0].var1A + randfinal; // - g = ((float)(u16)(g + randfinal)) / 5.0f; + g = S16TOPOSFLOAT(g) / 5.0f; eRoulette->var82 = g * 3; eRoulette->var84 = g; eRoulette->var86 = g; // - eRoulette->var88 = (float)(angles[(rand & 0x1) + r5]); - eRoulette->var8C = (float)((&gUnknown_083F8DF4[eRoulette->var04_0])->var18); - eRoulette->var90 = ((eRoulette->var8C * 0.5f) - eRoulette->var8C) / (float)(u16)(g * 3); + eRoulette->var88 = S16TOPOSFLOAT(angles[(rand & 0x1) + r5]); + eRoulette->var8C = S16TOPOSFLOAT(gUnknown_083F8DF4[eRoulette->var04_0].var18); + eRoulette->var90 = ((eRoulette->var8C * 0.5f) - eRoulette->var8C) / S16TOPOSFLOAT(g * 3); eRoulette->var94 = 68.0f; eRoulette->var9C = 0.0f; - eRoulette->var98 = -(8.0f / (float)(u16)(g * 3)); + eRoulette->var98 = -(8.0f / S16TOPOSFLOAT(g * 3)); eRoulette->varA0 = 36.0f; - gTasks[taskid].func = &sub_8116308; + gTasks[taskid].func = sub_8116308; } -#else -__attribute__((naked)) -void sub_8116100(u8 taskid) -{ -asm(".syntax unified\n\ -push {r4-r7,lr}\n\ -mov r7, r10\n\ -mov r6, r9\n\ -mov r5, r8\n\ -push {r5-r7}\n\ -sub sp, 0x8\n\ -lsls r0, 24\n\ -lsrs r0, 24\n\ -mov r9, r0\n\ -movs r4, 0\n\ -ldr r1, _08116188 @ =gUnknown_083F8ECE\n\ -mov r0, sp\n\ -movs r2, 0x8\n\ -bl memcpy\n\ -bl Random\n\ -lsls r0, 16\n\ -lsrs r7, r0, 16\n\ -adds r0, r7, 0\n\ -movs r1, 0x64\n\ -bl __umodsi3\n\ -lsls r0, 16\n\ -lsrs r6, r0, 16\n\ -ldr r3, _0811618C @ =0x02019000\n\ -ldr r1, _08116190 @ =gTasks\n\ -mov r2, r9\n\ -lsls r0, r2, 2\n\ -add r0, r9\n\ -lsls r0, 3\n\ -adds r0, r1\n\ -ldrh r2, [r0, 0x14]\n\ -adds r1, r3, 0\n\ -adds r1, 0x7C\n\ -strb r2, [r1]\n\ -adds r1, 0x3\n\ -strb r4, [r1]\n\ -subs r1, 0x1\n\ -strb r4, [r1]\n\ -subs r1, 0x1\n\ -strb r4, [r1]\n\ -ldrh r0, [r0, 0x18]\n\ -adds r1, r7, 0\n\ -bl sub_8115F58\n\ -adds r4, r0, 0\n\ -lsls r4, 24\n\ -lsrs r1, r4, 24\n\ -adds r0, r7, 0\n\ -bl __modsi3\n\ -lsrs r4, 25\n\ -subs r0, r4\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -ldr r0, _08116194 @ =gLocalTime\n\ -ldrb r0, [r0, 0x2]\n\ -lsls r0, 24\n\ -asrs r0, 24\n\ -movs r5, 0x1\n\ -cmp r0, 0xC\n\ -bgt _08116180\n\ -movs r5, 0\n\ -_08116180:\n\ -cmp r6, 0x4F\n\ -bhi _08116198\n\ -lsls r0, r5, 25\n\ -b _081161A2\n\ -.align 2, 0\n\ -_08116188: .4byte gUnknown_083F8ECE\n\ -_0811618C: .4byte 0x02019000\n\ -_08116190: .4byte gTasks\n\ -_08116194: .4byte gLocalTime\n\ -_08116198:\n\ -lsls r1, r5, 24\n\ -asrs r1, 24\n\ -movs r0, 0x1\n\ -subs r0, r1\n\ -lsls r0, 25\n\ -_081161A2:\n\ -lsrs r5, r0, 24\n\ -ldr r6, _081162D8 @ =0x02019000\n\ -ldrb r0, [r6, 0x4]\n\ -lsls r0, 30\n\ -mov r10, r0\n\ -lsrs r0, 25\n\ -ldr r1, _081162DC @ =gUnknown_083F8DF4\n\ -adds r0, r1\n\ -lsls r4, 24\n\ -asrs r4, 24\n\ -ldrh r0, [r0, 0x1A]\n\ -adds r4, r0\n\ -adds r0, r6, 0\n\ -adds r0, 0x80\n\ -strh r4, [r0]\n\ -lsls r4, 16\n\ -asrs r4, 16\n\ -adds r0, r4, 0\n\ -bl __floatsisf\n\ -cmp r4, 0\n\ -bge _081161D4\n\ -ldr r1, _081162E0 @ =0x47800000\n\ -bl __addsf3\n\ -_081161D4:\n\ -ldr r1, _081162E4 @ =0x40a00000\n\ -bl __divsf3\n\ -bl __fixunssfsi\n\ -lsls r0, 16\n\ -lsrs r4, r0, 16\n\ -lsls r0, r4, 1\n\ -adds r0, r4\n\ -mov r8, r0\n\ -adds r0, r6, 0\n\ -adds r0, 0x82\n\ -mov r2, r8\n\ -strh r2, [r0]\n\ -adds r0, 0x2\n\ -strh r4, [r0]\n\ -adds r0, 0x2\n\ -strh r4, [r0]\n\ -movs r0, 0x1\n\ -ands r0, r7\n\ -lsls r1, r5, 24\n\ -asrs r1, 24\n\ -adds r0, r1\n\ -lsls r0, 1\n\ -add r0, sp\n\ -movs r1, 0\n\ -ldrsh r4, [r0, r1]\n\ -adds r0, r4, 0\n\ -bl __floatsisf\n\ -cmp r4, 0\n\ -bge _0811621A\n\ -ldr r1, _081162E0 @ =0x47800000\n\ -bl __addsf3\n\ -_0811621A:\n\ -ldr r2, _081162E8 @ =0x02019088\n\ -str r0, [r2]\n\ -adds r7, r6, 0\n\ -adds r7, 0x8C\n\ -mov r1, r10\n\ -lsrs r0, r1, 25\n\ -ldr r2, _081162DC @ =gUnknown_083F8DF4\n\ -adds r0, r2\n\ -movs r1, 0x18\n\ -ldrsh r4, [r0, r1]\n\ -adds r0, r4, 0\n\ -bl __floatsisf\n\ -adds r5, r0, 0\n\ -cmp r4, 0\n\ -bge _08116242\n\ -ldr r1, _081162E0 @ =0x47800000\n\ -bl __addsf3\n\ -adds r5, r0, 0\n\ -_08116242:\n\ -str r5, [r7]\n\ -adds r7, r6, 0\n\ -adds r7, 0x90\n\ -ldr r1, _081162EC @ =0x3f000000\n\ -adds r0, r5, 0\n\ -bl __mulsf3\n\ -adds r1, r5, 0\n\ -bl __subsf3\n\ -adds r5, r0, 0\n\ -mov r2, r8\n\ -lsls r0, r2, 16\n\ -asrs r4, r0, 16\n\ -adds r0, r4, 0\n\ -bl __floatsisf\n\ -adds r2, r0, 0\n\ -cmp r4, 0\n\ -bge _08116272\n\ -ldr r1, _081162E0 @ =0x47800000\n\ -bl __addsf3\n\ -adds r2, r0, 0\n\ -_08116272:\n\ -adds r0, r5, 0\n\ -adds r1, r2, 0\n\ -bl __divsf3\n\ -str r0, [r7]\n\ -adds r1, r6, 0\n\ -adds r1, 0x94\n\ -ldr r0, _081162F0 @ =0x42880000\n\ -str r0, [r1]\n\ -adds r1, 0x8\n\ -ldr r0, _081162F4 @ =0x00000000\n\ -str r0, [r1]\n\ -adds r5, r6, 0\n\ -adds r5, 0x98\n\ -adds r0, r4, 0\n\ -bl __floatsisf\n\ -adds r2, r0, 0\n\ -cmp r4, 0\n\ -bge _081162A2\n\ -ldr r1, _081162E0 @ =0x47800000\n\ -bl __addsf3\n\ -adds r2, r0, 0\n\ -_081162A2:\n\ -ldr r0, _081162F8 @ =0x41000000\n\ -adds r1, r2, 0\n\ -bl __divsf3\n\ -bl __negsf2\n\ -str r0, [r5]\n\ -adds r1, r6, 0\n\ -adds r1, 0xA0\n\ -ldr r0, _081162FC @ =0x42100000\n\ -str r0, [r1]\n\ -ldr r1, _08116300 @ =gTasks\n\ -mov r2, r9\n\ -lsls r0, r2, 2\n\ -add r0, r9\n\ -lsls r0, 3\n\ -adds r0, r1\n\ -ldr r1, _08116304 @ =sub_8116308\n\ -str r1, [r0]\n\ -add sp, 0x8\n\ -pop {r3-r5}\n\ -mov r8, r3\n\ -mov r9, r4\n\ -mov r10, r5\n\ -pop {r4-r7}\n\ -pop {r0}\n\ -bx r0\n\ -.align 2, 0\n\ -_081162D8: .4byte 0x02019000\n\ -_081162DC: .4byte gUnknown_083F8DF4\n\ -_081162E0: .4byte 0x47800000\n\ -_081162E4: .4byte 0x40a00000\n\ -_081162E8: .4byte 0x02019088\n\ -_081162EC: .4byte 0x3f000000\n\ -_081162F0: .4byte 0x42880000\n\ -_081162F4: .4byte 0x00000000\n\ -_081162F8: .4byte 0x41000000\n\ -_081162FC: .4byte 0x42100000\n\ -_08116300: .4byte gTasks\n\ -_08116304: .4byte sub_8116308\n\ -.syntax divided\n"); -} -#endif void sub_8116308(u8 taskid) { @@ -1746,7 +1329,7 @@ void sub_8116308(u8 taskid) eRoulette->var03_7 = 1; index = eRoulette->var3C[eRoulette->var7C]; eRoulette->var38 = &gSprites[index]; - (&gSprites[index])->callback = &sub_81191F4; + eRoulette->var38->callback = sub_81191F4; gTasks[taskid].data[0x6]++; gTasks[taskid].data[0x8]++; sub_81182F8(0x6 - gTasks[taskid].data[0x6]); @@ -1932,9 +1515,9 @@ void sub_811677C(u8 taskid) void sub_81167F4(u8 taskid) { sub_8124D3C((&eRoulette->varB8), 0xFFFF); - (&eRoulette->varB8)->var04[0xF].var00_7 = 0x0; - (&eRoulette->varB8)->var04[0xE].var00_7 = 0x0; - (&eRoulette->varB8)->var04[0xD].var00_7 = 0x0; + eRoulette->varB8.var04[0xF].var00_7 = 0x0; + eRoulette->varB8.var04[0xE].var00_7 = 0x0; + eRoulette->varB8.var04[0xD].var00_7 = 0x0; gSprites[eRoulette->var3C[0x7 + gUnknown_083F8C00[gTasks[taskid].data[0xC]].var00]].invisible = TRUE; gTasks[taskid].func = &sub_8116880; } @@ -2161,6 +1744,8 @@ u8 sub_8116D54(u8 taskid, u8 r1) u32 t1[0x3]; memcpy(t0, gUnknown_083F8ED8, 0x10); memcpy(t1, gUnknown_083F8EE8, 0xC); + // u32 t0[] = {67650, 135300, 270600, 541200}; + // u32 t1[] = {0x3e0, 0x7c00, 0xf8000}; if (r1 > 0xB) { return 0x0; @@ -2218,15 +1803,12 @@ u8 sub_8116E5C(u8 r0, u8 r1) return 0x0; } -#ifdef NONMATCHING // stack variable switched with a register variable void sub_8116EF8(u8 r0) { - u32 var0 = 0x0; - struct UnkStruct1 var1[0x3]; - u32 var2; + u16 var0 = 0x0; + u8 var2; u16 var3; - u32 var4; u8 i; switch(r0) { @@ -2236,386 +1818,77 @@ void sub_8116EF8(u8 r0) for (i = (r0 + 0x1); i < (r0 + 0x5); i++) if (!(eRoulette->var08 & gUnknown_083F8C00[i].var08)) var0 |= gUnknown_083F8C00[i].var10; - var0 &= 0xDFFF; - sub_8124CE8(&eRoulette->varB8, var0); + sub_8124CE8(&eRoulette->varB8, var0 &= 0xDFFF); break; default: - memcpy(var1, gUnknown_083F8E9C, 0x18); - if ((u8)(r0 - 0x1) < 0x4) - var2 = 0x3; + { + struct UnkStruct1 var1[0x3]; + memcpy(var1, gUnknown_083F8E9C, sizeof var1); + if (r0 > 0 && r0 < 5) + var2 = 3; else - var2 = 0x1; - var3 = ((r0 / 0x5) - 0x1); - switch((u8)r0 % 0x5) + var2 = 1; + var3 = r0 / 5 - 1; + switch (r0 % 5) { - case 0x1: - var3 = gSprites[eRoulette->var3C[0x7 + 0x0]].oam.paletteNum * 0x10; - break; - case 0x2: - var3 = gSprites[eRoulette->var3C[0x7 + 0x1]].oam.paletteNum * 0x10; - break; - case 0x3: - var3 = gSprites[eRoulette->var3C[0x7 + 0x2]].oam.paletteNum * 0x10; - break; - case 0x4: - var3 = gSprites[eRoulette->var3C[0x7 + 0x3]].oam.paletteNum * 0x10; - break; + case 0x1: + var3 = gSprites[eRoulette->var3C[7 + 0]].oam.paletteNum * 0x10; + break; + case 0x2: + var3 = gSprites[eRoulette->var3C[7 + 1]].oam.paletteNum * 0x10; + break; + case 0x3: + var3 = gSprites[eRoulette->var3C[7 + 2]].oam.paletteNum * 0x10; + break; + case 0x4: + var3 = gSprites[eRoulette->var3C[7 + 3]].oam.paletteNum * 0x10; + break; } - if (var2 == 0x1) + if (var2 == 1) { if (!(eRoulette->var08 & gUnknown_083F8C00[r0].var08)) { - var4 = (r0 / 0x5); - var1[var4 - 0x1].var02 += var3; - sub_812492C(&eRoulette->varB8, 0xD, &var1[var4 - 0x2]); - sub_8124CE8(&eRoulette->varB8, var0 |= gUnknown_083F8C00[r0].var10); + var1[r0 / 5 - 1].var02 += var3; + sub_812492C(&eRoulette->varB8, 13, &var1[r0 / 5 - 1]); } + else + return; } else { - for (i = 0; i < 0x3; i++) + for (i = 0; i < 3; i++) { - u8 var4 = i * 0x5 + r0 + 0x5; + u8 var4 = i * 5 + r0 + 5; if (!(eRoulette->var08 & gUnknown_083F8C00[var4].var08)) { - u8 var5 = (var4 / 0x5); - var1[var5 - 0x1].var02 += var3; - sub_812492C(&eRoulette->varB8, (u8)(0xD + i), &var1[var5 - 0x2]); - if (var2 == 0x3) + var1[var4 / 5 - 1].var02 += var3; + sub_812492C(&eRoulette->varB8, i + 13, &var1[var4 / 5 - 1]); + if (var2 == 3) var0 = gUnknown_083F8C00[var4].var10; var2--; } } - if (var2 != 0x2) - var0 = 0x0; - sub_8124CE8(&eRoulette->varB8, var0 |= gUnknown_083F8C00[r0].var10); + if (var2 != 2) + var0 = 0; } + sub_8124CE8(&eRoulette->varB8, var0 |= gUnknown_083F8C00[r0].var10); + break; + } } } -#else -__attribute__((naked)) -void sub_8116EF8(u8 r0) -{ -asm(".syntax unified\n\ -push {r4-r7,lr}\n\ -mov r7, r10\n\ -mov r6, r9\n\ -mov r5, r8\n\ -push {r5-r7}\n\ -sub sp, 0x20\n\ -lsls r0, 24\n\ -lsrs r6, r0, 24\n\ -movs r0, 0\n\ -str r0, [sp, 0x18]\n\ -cmp r6, 0xA\n\ -beq _08116F1E\n\ -cmp r6, 0xA\n\ -bgt _08116F1A\n\ -cmp r6, 0x5\n\ -beq _08116F1E\n\ -b _08116F7C\n\ -_08116F1A:\n\ -cmp r6, 0xF\n\ -bne _08116F7C\n\ -_08116F1E:\n\ -adds r0, r6, 0x1\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -adds r0, r6, 0x5\n\ -ldr r7, _08116F70 @ =0x020190b8\n\ -cmp r4, r0\n\ -bge _08116F5E\n\ -adds r1, r7, 0\n\ -subs r1, 0xB8\n\ -ldr r3, _08116F74 @ =gUnknown_083F8C00\n\ -ldr r5, [r1, 0x8]\n\ -adds r6, r3, 0\n\ -adds r6, 0x8\n\ -adds r2, r0, 0\n\ -_08116F3A:\n\ -lsls r0, r4, 2\n\ -adds r0, r4\n\ -lsls r1, r0, 2\n\ -adds r0, r1, r6\n\ -ldr r0, [r0]\n\ -ands r0, r5\n\ -cmp r0, 0\n\ -bne _08116F54\n\ -adds r0, r1, r3\n\ -ldrh r0, [r0, 0x10]\n\ -ldr r1, [sp, 0x18]\n\ -orrs r1, r0\n\ -str r1, [sp, 0x18]\n\ -_08116F54:\n\ -adds r0, r4, 0x1\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -cmp r4, r2\n\ -blt _08116F3A\n\ -_08116F5E:\n\ -ldr r0, _08116F78 @ =0x0000dfff\n\ -ldr r2, [sp, 0x18]\n\ -ands r2, r0\n\ -str r2, [sp, 0x18]\n\ -adds r0, r7, 0\n\ -adds r1, r2, 0\n\ -bl sub_8124CE8\n\ -b _0811713C\n\ -.align 2, 0\n\ -_08116F70: .4byte 0x020190b8\n\ -_08116F74: .4byte gUnknown_083F8C00\n\ -_08116F78: .4byte 0x0000dfff\n\ -_08116F7C:\n\ -mov r0, sp\n\ -ldr r1, _08116FC8 @ =gUnknown_083F8E9C\n\ -ldm r1!, {r2-r4}\n\ -stm r0!, {r2-r4}\n\ -ldm r1!, {r2-r4}\n\ -stm r0!, {r2-r4}\n\ -subs r0, r6, 0x1\n\ -lsls r0, 24\n\ -lsrs r0, 24\n\ -movs r3, 0x1\n\ -mov r10, r3\n\ -cmp r0, 0x3\n\ -bhi _08116F9A\n\ -movs r4, 0x3\n\ -mov r10, r4\n\ -_08116F9A:\n\ -adds r0, r6, 0\n\ -movs r1, 0x5\n\ -bl __udivsi3\n\ -lsls r0, 24\n\ -lsrs r0, 8\n\ -ldr r1, _08116FCC @ =0xffff0000\n\ -adds r0, r1\n\ -lsrs r7, r0, 16\n\ -adds r0, r6, 0\n\ -movs r1, 0x5\n\ -bl __umodsi3\n\ -lsls r0, 24\n\ -lsrs r0, 24\n\ -cmp r0, 0x2\n\ -beq _08116FF8\n\ -cmp r0, 0x2\n\ -bgt _08116FD4\n\ -cmp r0, 0x1\n\ -beq _08116FE4\n\ -ldr r4, _08116FD0 @ =0x02019000\n\ -b _0811703A\n\ -.align 2, 0\n\ -_08116FC8: .4byte gUnknown_083F8E9C\n\ -_08116FCC: .4byte 0xffff0000\n\ -_08116FD0: .4byte 0x02019000\n\ -_08116FD4:\n\ -cmp r0, 0x3\n\ -beq _0811700C\n\ -cmp r0, 0x4\n\ -beq _08117020\n\ -ldr r4, _08116FE0 @ =0x02019000\n\ -b _0811703A\n\ -.align 2, 0\n\ -_08116FE0: .4byte 0x02019000\n\ -_08116FE4:\n\ -ldr r3, _08116FF0 @ =gSprites\n\ -ldr r2, _08116FF4 @ =0x02019000\n\ -adds r0, r2, 0\n\ -adds r0, 0x43\n\ -b _08117028\n\ -.align 2, 0\n\ -_08116FF0: .4byte gSprites\n\ -_08116FF4: .4byte 0x02019000\n\ -_08116FF8:\n\ -ldr r3, _08117004 @ =gSprites\n\ -ldr r2, _08117008 @ =0x02019000\n\ -adds r0, r2, 0\n\ -adds r0, 0x44\n\ -b _08117028\n\ -.align 2, 0\n\ -_08117004: .4byte gSprites\n\ -_08117008: .4byte 0x02019000\n\ -_0811700C:\n\ -ldr r3, _08117018 @ =gSprites\n\ -ldr r2, _0811701C @ =0x02019000\n\ -adds r0, r2, 0\n\ -adds r0, 0x45\n\ -b _08117028\n\ -.align 2, 0\n\ -_08117018: .4byte gSprites\n\ -_0811701C: .4byte 0x02019000\n\ -_08117020:\n\ -ldr r3, _08117088 @ =gSprites\n\ -ldr r2, _0811708C @ =0x02019000\n\ -adds r0, r2, 0\n\ -adds r0, 0x46\n\ -_08117028:\n\ -ldrb r1, [r0]\n\ -lsls r0, r1, 4\n\ -adds r0, r1\n\ -lsls r0, 2\n\ -adds r0, r3\n\ -ldrb r0, [r0, 0x5]\n\ -lsrs r0, 4\n\ -lsls r7, r0, 4\n\ -adds r4, r2, 0\n\ -_0811703A:\n\ -mov r2, r10\n\ -cmp r2, 0x1\n\ -bne _08117094\n\ -ldr r1, _08117090 @ =gUnknown_083F8C00\n\ -lsls r2, r6, 2\n\ -adds r0, r2, r6\n\ -lsls r0, 2\n\ -adds r1, 0x8\n\ -adds r0, r1\n\ -ldr r1, [r4, 0x8]\n\ -ldr r0, [r0]\n\ -ands r1, r0\n\ -str r2, [sp, 0x1C]\n\ -cmp r1, 0\n\ -bne _0811713C\n\ -adds r0, r6, 0\n\ -movs r1, 0x5\n\ -bl __udivsi3\n\ -lsls r0, 24\n\ -lsrs r0, 24\n\ -subs r1, r0, 0x1\n\ -lsls r1, 3\n\ -mov r3, sp\n\ -adds r2, r3, r1\n\ -ldrh r1, [r2, 0x2]\n\ -adds r1, r7, r1\n\ -strh r1, [r2, 0x2]\n\ -adds r1, r4, 0\n\ -adds r1, 0xB8\n\ -lsls r0, 3\n\ -subs r0, 0x8\n\ -adds r2, r3, r0\n\ -adds r0, r1, 0\n\ -movs r1, 0xD\n\ -bl sub_812492C\n\ -b _08117122\n\ -.align 2, 0\n\ -_08117088: .4byte gSprites\n\ -_0811708C: .4byte 0x02019000\n\ -_08117090: .4byte gUnknown_083F8C00\n\ -_08117094:\n\ -movs r4, 0\n\ -lsls r0, r6, 2\n\ -str r0, [sp, 0x1C]\n\ -ldr r1, _0811714C @ =0x02019000\n\ -mov r8, r1\n\ -ldr r2, _08117150 @ =gUnknown_083F8C00\n\ -mov r9, r2\n\ -_081170A2:\n\ -lsls r0, r4, 2\n\ -adds r0, r4\n\ -adds r0, r6, r0\n\ -adds r0, 0x5\n\ -lsls r0, 24\n\ -lsrs r2, r0, 24\n\ -lsls r0, r2, 2\n\ -adds r0, r2\n\ -lsls r5, r0, 2\n\ -mov r0, r9\n\ -adds r0, 0x8\n\ -adds r0, r5, r0\n\ -mov r3, r8\n\ -ldr r1, [r3, 0x8]\n\ -ldr r0, [r0]\n\ -ands r1, r0\n\ -cmp r1, 0\n\ -bne _0811710E\n\ -adds r0, r2, 0\n\ -movs r1, 0x5\n\ -bl __udivsi3\n\ -lsls r0, 24\n\ -lsrs r0, 24\n\ -subs r1, r0, 0x1\n\ -lsls r1, 3\n\ -mov r3, sp\n\ -adds r2, r3, r1\n\ -ldrh r1, [r2, 0x2]\n\ -adds r1, r7, r1\n\ -strh r1, [r2, 0x2]\n\ -adds r1, r4, 0\n\ -adds r1, 0xD\n\ -lsls r1, 24\n\ -lsrs r1, 24\n\ -lsls r0, 3\n\ -subs r0, 0x8\n\ -adds r2, r3, r0\n\ -mov r0, r8\n\ -adds r0, 0xB8\n\ -bl sub_812492C\n\ -mov r0, r10\n\ -cmp r0, 0x3\n\ -bne _08117104\n\ -mov r1, r9\n\ -adds r0, r5, r1\n\ -ldrh r0, [r0, 0x10]\n\ -str r0, [sp, 0x18]\n\ -_08117104:\n\ -mov r0, r10\n\ -subs r0, 0x1\n\ -lsls r0, 24\n\ -lsrs r0, 24\n\ -mov r10, r0\n\ -_0811710E:\n\ -adds r0, r4, 0x1\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -cmp r4, 0x2\n\ -bls _081170A2\n\ -mov r2, r10\n\ -cmp r2, 0x2\n\ -beq _08117122\n\ -movs r3, 0\n\ -str r3, [sp, 0x18]\n\ -_08117122:\n\ -ldr r0, _08117154 @ =0x020190b8\n\ -ldr r2, _08117150 @ =gUnknown_083F8C00\n\ -ldr r4, [sp, 0x1C]\n\ -adds r1, r4, r6\n\ -lsls r1, 2\n\ -adds r1, r2\n\ -ldrh r1, [r1, 0x10]\n\ -ldr r2, [sp, 0x18]\n\ -orrs r2, r1\n\ -str r2, [sp, 0x18]\n\ -adds r1, r2, 0\n\ -bl sub_8124CE8\n\ -_0811713C:\n\ -add sp, 0x20\n\ -pop {r3-r5}\n\ -mov r8, r3\n\ -mov r9, r4\n\ -mov r10, r5\n\ -pop {r4-r7}\n\ -pop {r0}\n\ -bx r0\n\ -.align 2, 0\n\ -_0811714C: .4byte 0x02019000\n\ -_08117150: .4byte gUnknown_083F8C00\n\ -_08117154: .4byte 0x020190b8\n\ -.syntax divided\n"); -} -#endif - -#ifdef NONMATCHING //not enough stack usage void sub_8117158(u8 r0) { - u8 i; - u8 l; + vu8 i; + vu8 z; + vu16 var1; + vu16 var2; + vu8 var0; u8 v[0x5]; - u8 z; - u8 var0; - u8 var1; - u16 var2; + u8 l; eRoulette->var2A = 0x1; sub_8117AA8(0x0, 0x0); - sub_8124E2C(&gBGTilemapBuffers[2][0], ewram18800, 0xE, 0x7, 0x10, 0xD); + sub_8124E2C(gBGTilemapBuffers[1], (u16 *)ewram18800, 0xE, 0x7, 0x10, 0xD); switch(r0) { case 0x0: @@ -2638,421 +1911,44 @@ void sub_8117158(u8 r0) } for (i = 0x0; i < l; i++) { - //_0811727C var0 = gUnknown_083F8C00[v[i]].var06; var1 = gUnknown_083F8C00[v[i]].var03; for (z = 0; z < 0x3; z++) { var2 = (gUnknown_083F8C00[v[i]].var04 + z) * 0x20; - gBGTilemapBuffers[2][var2 + var1 + 0x0] = ewram189a0[(var0 + z) * 0x3 + 0x0]; - gBGTilemapBuffers[2][var2 + var1 + 0x1] = ewram189a0[(var0 + z) * 0x3 + 0x1]; - gBGTilemapBuffers[2][var2 + var1 + 0x2] = ewram189a0[(var0 + z) * 0x3 + 0x2]; + gBGTilemapBuffers[1][var1 + var2 + 0x0] = ewram189a0[(var0 + z) * 0x3 + 0x0]; + gBGTilemapBuffers[1][var1 + var2 + 0x1] = ewram189a0[(var0 + z) * 0x3 + 0x1]; + gBGTilemapBuffers[1][var1 + var2 + 0x2] = ewram189a0[(var0 + z) * 0x3 + 0x2]; } - //_08117350 } } -#else -__attribute__((naked)) -void sub_8117158(u8 r0) -{ -asm(".syntax unified\n\ -push {r4-r7,lr}\n\ -mov r7, r10\n\ -mov r6, r9\n\ -mov r5, r8\n\ -push {r5-r7}\n\ -sub sp, 0x24\n\ -lsls r0, 24\n\ -lsrs r5, r0, 24\n\ -ldr r4, _0811719C @ =0x02019000\n\ -movs r0, 0x1\n\ -strh r0, [r4, 0x2A]\n\ -movs r0, 0\n\ -movs r1, 0\n\ -bl sub_8117AA8\n\ -ldr r0, _081171A0 @ =gBGTilemapBuffers + 0x800\n\ -ldr r1, _081171A4 @ =0xfffff800\n\ -adds r4, r1\n\ -movs r1, 0x10\n\ -str r1, [sp]\n\ -movs r1, 0xD\n\ -str r1, [sp, 0x4]\n\ -adds r1, r4, 0\n\ -movs r2, 0xE\n\ -movs r3, 0x7\n\ -bl sub_8124E2C\n\ -cmp r5, 0xF\n\ -bhi _08117250\n\ -lsls r0, r5, 2\n\ -ldr r1, _081171A8 @ =_081171AC\n\ -adds r0, r1\n\ -ldr r0, [r0]\n\ -mov pc, r0\n\ -.align 2, 0\n\ -_0811719C: .4byte 0x02019000\n\ -_081171A0: .4byte gBGTilemapBuffers + 0x800\n\ -_081171A4: .4byte 0xfffff800\n\ -_081171A8: .4byte _081171AC\n\ -.align 2, 0\n\ -_081171AC:\n\ -.4byte _08117360\n\ -.4byte _081171EC\n\ -.4byte _081171EC\n\ -.4byte _081171EC\n\ -.4byte _081171EC\n\ -.4byte _08117220\n\ -.4byte _08117250\n\ -.4byte _08117250\n\ -.4byte _08117250\n\ -.4byte _08117250\n\ -.4byte _08117220\n\ -.4byte _08117250\n\ -.4byte _08117250\n\ -.4byte _08117250\n\ -.4byte _08117250\n\ -.4byte _08117220\n\ -_081171EC:\n\ -movs r0, 0x4\n\ -str r0, [sp, 0x18]\n\ -add r1, sp, 0x8\n\ -movs r0, 0\n\ -strb r0, [r1]\n\ -adds r0, r1, 0\n\ -ldrb r0, [r0]\n\ -cmp r0, 0x3\n\ -bhi _08117258\n\ -add r4, sp, 0x10\n\ -adds r3, r1, 0\n\ -_08117202:\n\ -ldrb r2, [r3]\n\ -adds r2, r4\n\ -ldrb r1, [r3]\n\ -lsls r0, r1, 2\n\ -adds r0, r1\n\ -adds r0, r5, r0\n\ -strb r0, [r2]\n\ -ldrb r0, [r3]\n\ -adds r0, 0x1\n\ -strb r0, [r3]\n\ -ldrb r0, [r3]\n\ -ldr r1, [sp, 0x18]\n\ -cmp r0, r1\n\ -bcc _08117202\n\ -b _08117258\n\ -_08117220:\n\ -movs r0, 0x5\n\ -str r0, [sp, 0x18]\n\ -add r1, sp, 0x8\n\ -movs r0, 0\n\ -strb r0, [r1]\n\ -adds r0, r1, 0\n\ -ldrb r0, [r0]\n\ -cmp r0, 0x4\n\ -bhi _08117258\n\ -add r3, sp, 0x10\n\ -adds r2, r1, 0\n\ -_08117236:\n\ -ldrb r1, [r2]\n\ -adds r1, r3\n\ -ldrb r0, [r2]\n\ -adds r0, r5, r0\n\ -strb r0, [r1]\n\ -ldrb r0, [r2]\n\ -adds r0, 0x1\n\ -strb r0, [r2]\n\ -ldrb r0, [r2]\n\ -ldr r1, [sp, 0x18]\n\ -cmp r0, r1\n\ -bcc _08117236\n\ -b _08117258\n\ -_08117250:\n\ -movs r0, 0x1\n\ -str r0, [sp, 0x18]\n\ -add r0, sp, 0x10\n\ -strb r5, [r0]\n\ -_08117258:\n\ -add r1, sp, 0x8\n\ -movs r0, 0\n\ -strb r0, [r1]\n\ -adds r0, r1, 0\n\ -ldrb r0, [r0]\n\ -ldr r1, [sp, 0x18]\n\ -cmp r0, r1\n\ -bcs _08117360\n\ -mov r0, sp\n\ -adds r0, 0xE\n\ -str r0, [sp, 0x1C]\n\ -add r1, sp, 0x10\n\ -mov r9, r1\n\ -add r0, sp, 0x8\n\ -mov r12, r0\n\ -mov r1, sp\n\ -adds r1, 0xA\n\ -str r1, [sp, 0x20]\n\ -_0811727C:\n\ -mov r1, r12\n\ -ldrb r0, [r1]\n\ -add r0, r9\n\ -ldrb r1, [r0]\n\ -lsls r0, r1, 2\n\ -adds r0, r1\n\ -lsls r0, 2\n\ -ldr r1, _08117370 @ =gUnknown_083F8C00\n\ -adds r0, r1\n\ -ldrb r0, [r0, 0x6]\n\ -ldr r1, [sp, 0x1C]\n\ -strb r0, [r1]\n\ -mov r1, r12\n\ -ldrb r0, [r1]\n\ -add r0, r9\n\ -ldrb r1, [r0]\n\ -lsls r0, r1, 2\n\ -adds r0, r1\n\ -lsls r0, 2\n\ -ldr r1, _08117370 @ =gUnknown_083F8C00\n\ -adds r0, r1\n\ -ldrb r0, [r0, 0x3]\n\ -ldr r1, [sp, 0x20]\n\ -strh r0, [r1]\n\ -mov r4, sp\n\ -adds r4, 0x9\n\ -movs r0, 0\n\ -strb r0, [r4]\n\ -ldrb r0, [r4]\n\ -cmp r0, 0x2\n\ -bhi _08117350\n\ -add r5, sp, 0xC\n\ -ldr r7, [sp, 0x20]\n\ -ldr r0, _08117374 @ =gBGTilemapBuffers + 0x800\n\ -mov r8, r0\n\ -ldr r6, [sp, 0x1C]\n\ -ldr r1, _08117378 @ =0x020189a0\n\ -mov r10, r1\n\ -_081172C8:\n\ -mov r1, r12\n\ -ldrb r0, [r1]\n\ -add r0, r9\n\ -ldrb r0, [r0]\n\ -lsls r1, r0, 2\n\ -adds r1, r0\n\ -lsls r1, 2\n\ -ldr r0, _08117370 @ =gUnknown_083F8C00\n\ -adds r1, r0\n\ -adds r3, r4, 0\n\ -ldrb r0, [r4]\n\ -ldrb r1, [r1, 0x4]\n\ -adds r0, r1\n\ -lsls r0, 5\n\ -strh r0, [r5]\n\ -ldrh r0, [r7]\n\ -ldrh r2, [r5]\n\ -adds r2, r0\n\ -lsls r2, 1\n\ -add r2, r8\n\ -ldrb r0, [r6]\n\ -ldrb r1, [r4]\n\ -adds r1, r0\n\ -lsls r0, r1, 1\n\ -adds r0, r1\n\ -lsls r0, 1\n\ -add r0, r10\n\ -ldrh r0, [r0]\n\ -strh r0, [r2]\n\ -ldrh r0, [r7]\n\ -ldrh r2, [r5]\n\ -adds r2, r0\n\ -adds r2, 0x1\n\ -lsls r2, 1\n\ -add r2, r8\n\ -ldrb r0, [r6]\n\ -ldrb r1, [r4]\n\ -adds r1, r0\n\ -lsls r0, r1, 1\n\ -adds r0, r1\n\ -lsls r0, 1\n\ -mov r1, r10\n\ -adds r1, 0x2\n\ -adds r0, r1\n\ -ldrh r0, [r0]\n\ -strh r0, [r2]\n\ -ldrh r0, [r7]\n\ -ldrh r2, [r5]\n\ -adds r2, r0\n\ -adds r2, 0x2\n\ -lsls r2, 1\n\ -add r2, r8\n\ -ldrb r0, [r6]\n\ -ldrb r1, [r4]\n\ -adds r1, r0\n\ -lsls r0, r1, 1\n\ -adds r0, r1\n\ -lsls r0, 1\n\ -ldr r1, _0811737C @ =0x020189a4\n\ -adds r0, r1\n\ -ldrh r0, [r0]\n\ -strh r0, [r2]\n\ -ldrb r0, [r4]\n\ -adds r0, 0x1\n\ -strb r0, [r4]\n\ -ldrb r0, [r3]\n\ -cmp r0, 0x2\n\ -bls _081172C8\n\ -_08117350:\n\ -mov r1, r12\n\ -ldrb r0, [r1]\n\ -adds r0, 0x1\n\ -strb r0, [r1]\n\ -ldrb r0, [r1]\n\ -ldr r1, [sp, 0x18]\n\ -cmp r0, r1\n\ -bcc _0811727C\n\ -_08117360:\n\ -add sp, 0x24\n\ -pop {r3-r5}\n\ -mov r8, r3\n\ -mov r9, r4\n\ -mov r10, r5\n\ -pop {r4-r7}\n\ -pop {r0}\n\ -bx r0\n\ -.align 2, 0\n\ -_08117370: .4byte gUnknown_083F8C00\n\ -_08117374: .4byte gBGTilemapBuffers + 0x800\n\ -_08117378: .4byte 0x020189a0\n\ -_0811737C: .4byte 0x020189a4\n\ -.syntax divided\n"); -} -#endif -#ifdef NONMATCHING u8 sub_8117380(u8 r0) { - u8 var0[0x5]; - u8 t; - u8 z; - memcpy(var0, gUnknown_083F8EF4, 0x5); - if (r0 > 0x13) - r0 = 0x0; + u8 var0[5]; + memcpy(var0, gUnknown_083F8EF4, 5); + // u8 var0[] = {0, 3, 4, 6, 12}; + if (r0 > 19) + r0 = 0; switch (gUnknown_083F8C00[r0].var01_0) { - case 0x3: - z = r0 / 0x5 - 0x1; - if (eRoulette->var16[z] > 0x3) + case 3: + r0 = r0 / 5 - 1; + if (eRoulette->var16[r0] > 3) return 0x0; - return var0[eRoulette->var16[z] + 0x1]; - case 0x4: - t = r0 - 0x1; - if (eRoulette->var12[t] > 0x2) - return 0x0; - return var0[eRoulette->var12[t] + 0x2]; - case 0xC: + return var0[eRoulette->var16[r0] + 1]; + case 4: + r0--; + if (eRoulette->var12[r0] > 2) + return 0; + return var0[eRoulette->var12[r0] + 2]; + case 12: if (eRoulette->var08 & gUnknown_083F8C00[r0].var08) - return 0x0; - return var0[0x4]; - default: + return 0; + return var0[4]; } - return 0x0; + return 0; } -#else -__attribute__((naked)) -u8 sub_8117380(u8 r0) -{ -asm(".syntax unified\n\ -push {r4,lr}\n\ -sub sp, 0x8\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -ldr r1, _081173B8 @ =gUnknown_083F8EF4\n\ -mov r0, sp\n\ -movs r2, 0x5\n\ -bl memcpy\n\ -cmp r4, 0x13\n\ -bls _08117398\n\ -movs r4, 0\n\ -_08117398:\n\ -ldr r3, _081173BC @ =gUnknown_083F8C00\n\ -lsls r0, r4, 2\n\ -adds r0, r4\n\ -lsls r2, r0, 2\n\ -adds r0, r2, r3\n\ -ldrb r0, [r0, 0x1]\n\ -lsls r0, 28\n\ -lsrs r0, 28\n\ -cmp r0, 0x4\n\ -beq _081173EC\n\ -cmp r0, 0x4\n\ -bgt _081173C0\n\ -cmp r0, 0x3\n\ -beq _081173C6\n\ -b _08117428\n\ -.align 2, 0\n\ -_081173B8: .4byte gUnknown_083F8EF4\n\ -_081173BC: .4byte gUnknown_083F8C00\n\ -_081173C0:\n\ -cmp r0, 0xC\n\ -beq _0811740C\n\ -b _08117428\n\ -_081173C6:\n\ -adds r0, r4, 0\n\ -movs r1, 0x5\n\ -bl __udivsi3\n\ -subs r0, 0x1\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -ldr r0, _081173E8 @ =0x02019000\n\ -adds r0, 0x16\n\ -adds r1, r4, r0\n\ -ldrb r0, [r1]\n\ -cmp r0, 0x3\n\ -bhi _08117428\n\ -ldrb r0, [r1]\n\ -adds r0, 0x1\n\ -b _08117402\n\ -.align 2, 0\n\ -_081173E8: .4byte 0x02019000\n\ -_081173EC:\n\ -subs r0, r4, 0x1\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -ldr r0, _08117408 @ =0x02019000\n\ -adds r0, 0x12\n\ -adds r1, r4, r0\n\ -ldrb r0, [r1]\n\ -cmp r0, 0x2\n\ -bhi _08117428\n\ -ldrb r0, [r1]\n\ -adds r0, 0x2\n\ -_08117402:\n\ -add r0, sp\n\ -ldrb r0, [r0]\n\ -b _0811742A\n\ -.align 2, 0\n\ -_08117408: .4byte 0x02019000\n\ -_0811740C:\n\ -ldr r1, _08117424 @ =0x02019000\n\ -adds r0, r3, 0\n\ -adds r0, 0x8\n\ -adds r0, r2, r0\n\ -ldr r1, [r1, 0x8]\n\ -ldr r0, [r0]\n\ -ands r1, r0\n\ -cmp r1, 0\n\ -bne _08117428\n\ -mov r0, sp\n\ -ldrb r0, [r0, 0x4]\n\ -b _0811742A\n\ -.align 2, 0\n\ -_08117424: .4byte 0x02019000\n\ -_08117428:\n\ -movs r0, 0\n\ -_0811742A:\n\ -add sp, 0x8\n\ -pop {r4}\n\ -pop {r1}\n\ -bx r1\n\ -.syntax divided\n"); -} -#endif void sub_8117434(void) { @@ -3752,111 +2648,25 @@ void sub_8117DF4(void) } } -#ifdef NONMATCHING void sub_8117E98(struct Sprite *sprite) { - struct OamMatrix *m; - u8 p; - u16 angle; - s16 cos, sin, z; - u32 cos32; - angle = eRoulette->var24 + sprite->data[0x0]; - z = angle; - if (z > 359) - angle = z - 360; + s16 cos; + s16 sin; + u32 matrixNum; + s16 angle = eRoulette->var24 + sprite->data[0]; + if (angle >= 360) + angle -= 360; sin = Sin2(angle); cos = Cos2(angle); - sprite->pos2.x = sin * sprite->data[0x1] >> 0xC; - sprite->pos2.y = -cos * sprite->data[0x1] >> 0xC; - p = sprite->oam.matrixNum; - sin = sin / 0x10; - m = &gOamMatrices[p]; - cos32 = cos / 0x10; - - m->d = cos32; - m->a = cos32; - m->b = sin; - m->c = -sin; -} -#else -__attribute__((naked)) -void sub_8117E98(struct Sprite *r0) -{ -asm(".syntax unified\n\ -push {r4-r6,lr}\n\ -adds r6, r0, 0\n\ -ldr r0, _08117F1C @ =0x02019000\n\ -ldrh r1, [r6, 0x2E]\n\ -ldrh r0, [r0, 0x24]\n\ -adds r1, r0\n\ -lsls r1, 16\n\ -lsrs r4, r1, 16\n\ -asrs r1, 16\n\ -ldr r0, _08117F20 @ =0x00000167\n\ -cmp r1, r0\n\ -ble _08117EB8\n\ -ldr r2, _08117F24 @ =0xfffffe98\n\ -adds r0, r1, r2\n\ -lsls r0, 16\n\ -lsrs r4, r0, 16\n\ -_08117EB8:\n\ -adds r0, r4, 0\n\ -bl Sin2\n\ -lsls r0, 16\n\ -lsrs r5, r0, 16\n\ -adds r0, r4, 0\n\ -bl Cos2\n\ -lsls r2, r5, 16\n\ -asrs r2, 16\n\ -movs r3, 0x30\n\ -ldrsh r1, [r6, r3]\n\ -muls r1, r2\n\ -asrs r1, 12\n\ -strh r1, [r6, 0x24]\n\ -lsls r0, 16\n\ -asrs r4, r0, 16\n\ -negs r1, r4\n\ -movs r3, 0x30\n\ -ldrsh r0, [r6, r3]\n\ -muls r0, r1\n\ -asrs r0, 12\n\ -strh r0, [r6, 0x26]\n\ -ldrb r0, [r6, 0x3]\n\ -lsls r0, 26\n\ -lsrs r3, r0, 27\n\ -cmp r2, 0\n\ -bge _08117EF2\n\ -adds r2, 0xF\n\ -_08117EF2:\n\ -lsls r0, r2, 12\n\ -lsrs r5, r0, 16\n\ -ldr r1, _08117F28 @ =gOamMatrices\n\ -lsls r0, r3, 3\n\ -adds r1, r0, r1\n\ -adds r0, r4, 0\n\ -cmp r0, 0\n\ -bge _08117F04\n\ -adds r0, 0xF\n\ -_08117F04:\n\ -asrs r0, 4\n\ -strh r0, [r1, 0x6]\n\ -strh r0, [r1]\n\ -strh r5, [r1, 0x2]\n\ -lsls r0, r5, 16\n\ -asrs r0, 16\n\ -negs r0, r0\n\ -strh r0, [r1, 0x4]\n\ -pop {r4-r6}\n\ -pop {r0}\n\ -bx r0\n\ -.align 2, 0\n\ -_08117F1C: .4byte 0x02019000\n\ -_08117F20: .4byte 0x00000167\n\ -_08117F24: .4byte 0xfffffe98\n\ -_08117F28: .4byte gOamMatrices\n\ -.syntax divided\n"); + sprite->pos2.x = sin * sprite->data[1] >> 0xC; + sprite->pos2.y = -cos * sprite->data[1] >> 0xC; + matrixNum = sprite->oam.matrixNum; + sin /= 16; + gOamMatrices[matrixNum].d = cos /= 16; + gOamMatrices[matrixNum].a = cos; + gOamMatrices[matrixNum].b = sin; + gOamMatrices[matrixNum].c = -sin; } -#endif void sub_8117F2C(void) { @@ -3914,132 +2724,32 @@ void sub_81180F4(u16 r0) } } -#ifdef NONMATCHING u8 sub_81181E8(u8 r0) { - u8 t[0x5]; - memcpy(&t, &gUnknown_083FA608, 0x5); - if (r0 > 0x13) - r0 = 0x0; + u8 t[5]; + memcpy(t, gUnknown_083FA608, sizeof t); + // u8 t = {0, 1, 2, 3, 4}; + if (r0 >= 20) + r0 = 0; switch(gUnknown_083F8C00[r0].var01_0) { case 0x3: - r0 = r0 / 0x5 - 0x1; - if ((u32)eRoulette->var16[r0] < 0x4) - return t[0x1 + eRoulette->var16[r0]]; // couldn't recreate redundant loads + r0 = r0 / 5 - 1; + if (eRoulette->var16[r0] < 4) + return t[((vu8 *)eRoulette->var16)[r0] + 1]; // couldn't recreate redundant loads break; case 0x4: - r0 = r0 - 0x1; - if (eRoulette->var12[r0] < 0x3) - return t[0x2 + eRoulette->var12[r0]]; + r0--; + if (eRoulette->var12[r0] < 3) + return t[((vu8 *)eRoulette->var12)[r0] + 2]; break; case 0xC: if (!(eRoulette->var08 & gUnknown_083F8C00[r0].var08)) - return t[0x4]; + return t[4]; break; } - return 0x0; + return 0; } -#else -__attribute__((naked)) -u8 sub_81181E8(u8 r0) -{ -asm(".syntax unified\n\ -push {r4,lr}\n\ -sub sp, 0x8\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -ldr r1, _08118220 @ =gUnknown_083FA608\n\ -mov r0, sp\n\ -movs r2, 0x5\n\ -bl memcpy\n\ -cmp r4, 0x13\n\ -bls _08118200\n\ -movs r4, 0\n\ -_08118200:\n\ -ldr r3, _08118224 @ =gUnknown_083F8C00\n\ -lsls r0, r4, 2\n\ -adds r0, r4\n\ -lsls r2, r0, 2\n\ -adds r0, r2, r3\n\ -ldrb r0, [r0, 0x1]\n\ -lsls r0, 28\n\ -lsrs r0, 28\n\ -cmp r0, 0x4\n\ -beq _08118254\n\ -cmp r0, 0x4\n\ -bgt _08118228\n\ -cmp r0, 0x3\n\ -beq _0811822E\n\ -b _08118290\n\ -.align 2, 0\n\ -_08118220: .4byte gUnknown_083FA608\n\ -_08118224: .4byte gUnknown_083F8C00\n\ -_08118228:\n\ -cmp r0, 0xC\n\ -beq _08118274\n\ -b _08118290\n\ -_0811822E:\n\ -adds r0, r4, 0\n\ -movs r1, 0x5\n\ -bl __udivsi3\n\ -subs r0, 0x1\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -ldr r0, _08118250 @ =0x02019000\n\ -adds r0, 0x16\n\ -adds r1, r4, r0\n\ -ldrb r0, [r1]\n\ -cmp r0, 0x3\n\ -bhi _08118290\n\ -ldrb r0, [r1]\n\ -adds r0, 0x1\n\ -b _0811826A\n\ -.align 2, 0\n\ -_08118250: .4byte 0x02019000\n\ -_08118254:\n\ -subs r0, r4, 0x1\n\ -lsls r0, 24\n\ -lsrs r4, r0, 24\n\ -ldr r0, _08118270 @ =0x02019000\n\ -adds r0, 0x12\n\ -adds r1, r4, r0\n\ -ldrb r0, [r1]\n\ -cmp r0, 0x2\n\ -bhi _08118290\n\ -ldrb r0, [r1]\n\ -adds r0, 0x2\n\ -_0811826A:\n\ -add r0, sp\n\ -ldrb r0, [r0]\n\ -b _08118292\n\ -.align 2, 0\n\ -_08118270: .4byte 0x02019000\n\ -_08118274:\n\ -ldr r1, _0811828C @ =0x02019000\n\ -adds r0, r3, 0\n\ -adds r0, 0x8\n\ -adds r0, r2, r0\n\ -ldr r1, [r1, 0x8]\n\ -ldr r0, [r0]\n\ -ands r1, r0\n\ -cmp r1, 0\n\ -bne _08118290\n\ -mov r0, sp\n\ -ldrb r0, [r0, 0x4]\n\ -b _08118292\n\ -.align 2, 0\n\ -_0811828C: .4byte 0x02019000\n\ -_08118290:\n\ -movs r0, 0\n\ -_08118292:\n\ -add sp, 0x8\n\ -pop {r4}\n\ -pop {r1}\n\ -bx r1\n\ -.syntax divided\n"); -} -#endif void sub_811829C(u8 r0) { @@ -4553,7 +3263,6 @@ void debug_sub_812E698() } #endif -#ifdef NONMATCHING void sub_8118DE4(struct Sprite *sprite) { sub_8118724(sprite); @@ -4569,13 +3278,13 @@ void sub_8118DE4(struct Sprite *sprite) sub_811866C(sprite); sprite->data[0x6] = (sprite->data[0x6] / 30) * 30 + 15; sprite->callback = &sub_8118834; - m4aSongNumStartOrChange(0x47); + m4aSongNumStartOrChange(SE_HASHI); } else { u8 t; u32 z; - m4aSongNumStart(0x38); + m4aSongNumStart(SE_KON); if ((z = (Random() & 0x1))) { u32 o; @@ -4593,21 +3302,21 @@ void sub_8118DE4(struct Sprite *sprite) if (gUnknown_083F8D90[t].var04 & eRoulette->var08) { sprite->data[0x0] = 0x1; - sprite->data[0x2] = (&gUnknown_083F8DF4[eRoulette->var04_0])->var02; + sprite->data[0x2] = gUnknown_083F8DF4[eRoulette->var04_0].var02; } else { sprite->data[0x0] = gUnknown_083F8D90[t].var04 & eRoulette->var08; if (eRoulette->var04_0) { - sprite->data[0x2] = (&gUnknown_083F8DF4[eRoulette->var04_0])->var01; + sprite->data[0x2] = gUnknown_083F8DF4[eRoulette->var04_0].var01; } else { - sprite->data[0x2] = (&gUnknown_083F8DF4[eRoulette->var04_0])->var02; + sprite->data[0x2] = gUnknown_083F8DF4[eRoulette->var04_0].var02; if (z) { - eRoulette->var8C = 1.5f; + eRoulette->var8C = 0.5f; } else { @@ -4616,364 +3325,31 @@ void sub_8118DE4(struct Sprite *sprite) } } eRoulette->var98 = 0.085f; - sprite->callback = &sub_8118D2C; + sprite->callback = sub_8118D2C; sprite->data[0x1] = 0x5; } } -#else -__attribute__((naked)) -void sub_8118DE4(struct Sprite *sprite) -{ -asm(".syntax unified\n\ -push {r4-r7,lr}\n\ -mov r7, r9\n\ -mov r6, r8\n\ -push {r6,r7}\n\ -adds r7, r0, 0\n\ -bl sub_8118724\n\ -movs r0, 0\n\ -strh r0, [r7, 0x32]\n\ -adds r0, r7, 0\n\ -bl sub_81186B8\n\ -ldr r1, _08118E70 @ =gUnknown_083F8D90\n\ -ldr r6, _08118E74 @ =gSharedMem + 0x19000\n\ -movs r0, 0x7E\n\ -adds r0, r6\n\ -mov r8, r0\n\ -ldrb r0, [r0]\n\ -lsls r0, 3\n\ -adds r1, 0x4\n\ -adds r0, r1\n\ -ldr r0, [r0]\n\ -ldr r1, [r6, 0x8]\n\ -ands r0, r1\n\ -cmp r0, 0\n\ -bne _08118E7C\n\ -adds r1, r6, 0\n\ -adds r1, 0x7D\n\ -movs r0, 0xFF\n\ -strb r0, [r1]\n\ -ldrb r1, [r6, 0x3]\n\ -movs r0, 0x7F\n\ -ands r0, r1\n\ -strb r0, [r6, 0x3]\n\ -adds r0, r7, 0\n\ -adds r0, 0x2B\n\ -ldrb r1, [r0]\n\ -adds r1, 0x3\n\ -lsls r1, 24\n\ -lsrs r1, 24\n\ -adds r0, r7, 0\n\ -bl StartSpriteAnim\n\ -adds r0, r7, 0\n\ -bl sub_81186B8\n\ -movs r0, 0x1E\n\ -strh r0, [r7, 0x36]\n\ -adds r0, r7, 0\n\ -bl sub_811866C\n\ -movs r1, 0x3A\n\ -ldrsh r0, [r7, r1]\n\ -movs r1, 0x1E\n\ -bl __divsi3\n\ -lsls r0, 16\n\ -asrs r0, 16\n\ -lsls r1, r0, 4\n\ -subs r1, r0\n\ -lsls r1, 1\n\ -adds r1, 0xF\n\ -strh r1, [r7, 0x3A]\n\ -ldr r0, _08118E78 @ =sub_8118834\n\ -str r0, [r7, 0x1C]\n\ -movs r0, 0x47\n\ -bl m4aSongNumStartOrChange\n\ -b _08118F74\n\ -.align 2, 0\n\ -_08118E70: .4byte gUnknown_083F8D90\n\ -_08118E74: .4byte gSharedMem + 0x19000\n\ -_08118E78: .4byte sub_8118834\n\ -_08118E7C:\n\ -movs r0, 0x38\n\ -bl m4aSongNumStart\n\ -bl Random\n\ -movs r2, 0x1\n\ -mov r9, r2\n\ -mov r1, r9\n\ -ands r1, r0\n\ -mov r9, r1\n\ -cmp r1, 0\n\ -beq _08118EC0\n\ -adds r1, r6, 0\n\ -adds r1, 0x8C\n\ -ldr r0, _08118EB8 @ =0x00000000\n\ -str r0, [r1]\n\ -mov r2, r8\n\ -ldrb r0, [r2]\n\ -adds r0, 0x1\n\ -movs r1, 0xC\n\ -bl __modsi3\n\ -lsls r1, r0, 24\n\ -lsrs r2, r1, 24\n\ -adds r1, r6, 0\n\ -adds r1, 0x7F\n\ -strb r0, [r1]\n\ -ldr r5, _08118EBC @ =gUnknown_083F8DF4\n\ -b _08118EF4\n\ -.align 2, 0\n\ -_08118EB8: .4byte 0x00000000\n\ -_08118EBC: .4byte gUnknown_083F8DF4\n\ -_08118EC0:\n\ -adds r4, r6, 0\n\ -adds r4, 0x8C\n\ -ldr r5, _08118F1C @ =gUnknown_083F8DF4\n\ -ldrb r0, [r6, 0x4]\n\ -lsls r0, 30\n\ -lsrs r0, 25\n\ -adds r1, r5, 0\n\ -adds r1, 0x1C\n\ -adds r0, r1\n\ -ldr r1, [r0]\n\ -adds r0, r1, 0\n\ -bl __addsf3\n\ -str r0, [r4]\n\ -mov r0, r8\n\ -ldrb r4, [r0]\n\ -adds r0, r4, 0\n\ -adds r0, 0xB\n\ -movs r1, 0xC\n\ -bl __modsi3\n\ -lsls r0, 24\n\ -lsrs r2, r0, 24\n\ -adds r0, r6, 0\n\ -adds r0, 0x7F\n\ -strb r4, [r0]\n\ -_08118EF4:\n\ -ldr r0, _08118F20 @ =gUnknown_083F8D90\n\ -lsls r1, r2, 3\n\ -adds r0, 0x4\n\ -adds r1, r0\n\ -ldr r2, _08118F24 @ =gSharedMem + 0x19000\n\ -ldr r1, [r1]\n\ -ldr r0, [r2, 0x8]\n\ -ands r1, r0\n\ -cmp r1, 0\n\ -beq _08118F28\n\ -movs r0, 0x1\n\ -strh r0, [r7, 0x2E]\n\ -ldrb r0, [r2, 0x4]\n\ -lsls r0, 30\n\ -lsrs r0, 25\n\ -adds r0, r5\n\ -ldrb r0, [r0, 0x2]\n\ -strh r0, [r7, 0x32]\n\ -b _08118F64\n\ -.align 2, 0\n\ -_08118F1C: .4byte gUnknown_083F8DF4\n\ -_08118F20: .4byte gUnknown_083F8D90\n\ -_08118F24: .4byte gSharedMem + 0x19000\n\ -_08118F28:\n\ -strh r1, [r7, 0x2E]\n\ -ldrb r1, [r2, 0x4]\n\ -movs r0, 0x3\n\ -ands r0, r1\n\ -cmp r0, 0\n\ -beq _08118F40\n\ -lsls r0, r1, 30\n\ -lsrs r0, 25\n\ -adds r0, r5\n\ -ldrb r0, [r0, 0x1]\n\ -strh r0, [r7, 0x32]\n\ -b _08118F64\n\ -_08118F40:\n\ -lsls r0, r1, 30\n\ -lsrs r0, 25\n\ -adds r0, r5\n\ -ldrb r0, [r0, 0x2]\n\ -strh r0, [r7, 0x32]\n\ -mov r1, r9\n\ -cmp r1, 0\n\ -beq _08118F5C\n\ -adds r1, r2, 0\n\ -adds r1, 0x8C\n\ -ldr r0, _08118F58 @ =0x3f000000\n\ -b _08118F62\n\ -.align 2, 0\n\ -_08118F58: .4byte 0x3f000000\n\ -_08118F5C:\n\ -adds r1, r2, 0\n\ -adds r1, 0x8C\n\ -ldr r0, _08118F80 @ =0xbfc00000\n\ -_08118F62:\n\ -str r0, [r1]\n\ -_08118F64:\n\ -adds r1, r2, 0\n\ -adds r1, 0x98\n\ -ldr r0, _08118F84 @ =0x3dae147b\n\ -str r0, [r1]\n\ -ldr r0, _08118F88 @ =sub_8118D2C\n\ -str r0, [r7, 0x1C]\n\ -movs r0, 0x5\n\ -strh r0, [r7, 0x30]\n\ -_08118F74:\n\ -pop {r3,r4}\n\ -mov r8, r3\n\ -mov r9, r4\n\ -pop {r4-r7}\n\ -pop {r0}\n\ -bx r0\n\ -.align 2, 0\n\ -_08118F80: .4byte 0xbfc00000\n\ -_08118F84: .4byte 0x3dae147b\n\ -_08118F88: .4byte sub_8118D2C\n\ -.syntax divided\n"); -} -#endif -#if DEBUG -__attribute__((naked)) -void sub_8118F8C(struct Sprite *sprite) -{ - asm("\ - push {r4, r5, r6, r7, lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6, r7}\n\ - add r6, r0, #0\n\ - bl sub_8118724\n\ - ldr r5, ._868 @ 0x2019000\n\ - mov r0, #0x8c\n\ - add r0, r0, r5\n\ - mov r8, r0\n\ - ldr r0, [r0]\n\ - ldr r1, ._868 + 4 @ 0x3f000000\n\ - bl __gtsf2\n\ - cmp r0, #0\n\ - bgt ._874 @cond_branch\n\ - add r0, r6, #0\n\ - bl sub_81186B8\n\ - add r0, r6, #0\n\ - bl sub_81186E8\n\ - lsl r0, r0, #0x10\n\ - cmp r0, #0\n\ - bne ._864 @cond_branch\n\ - add r1, r5, #0\n\ - add r1, r1, #0x90\n\ - ldr r0, ._868 + 8 @ 0x0\n\ - str r0, [r1]\n\ - ldr r1, ._868 + 12 @ gUnknown_083F8DF4\n\ - mov r9, r1\n\ - ldrb r0, [r5, #0x4]\n\ - lsl r7, r0, #0x1e\n\ - lsr r0, r7, #0x19\n\ - add r0, r0, r9\n\ - mov r4, #0x3\n\ - ldsb r4, [r0, r4]\n\ - add r0, r4, #0\n\ - bl __floatsisf\n\ - add r5, r0, #0\n\ - cmp r4, #0\n\ - bge ._865 @cond_branch\n\ - ldr r1, ._868 + 16 @ 0x43800000\n\ - bl __addsf3\n\ - add r5, r0, #0\n\ -._865:\n\ - lsr r0, r7, #0x19\n\ - add r0, r0, r9\n\ - ldrb r0, [r0, #0x4]\n\ - add r0, r0, #0x1\n\ - bl __floatsisf\n\ - add r1, r0, #0\n\ - add r0, r5, #0\n\ - bl __divsf3\n\ - add r1, r0, #0\n\ - mov r2, r8\n\ - ldr r0, [r2]\n\ - bl __subsf3\n\ - mov r1, r8\n\ - str r0, [r1]\n\ - mov r0, #0x4\n\ - strh r0, [r6, #0x30]\n\ - ldr r0, ._868 + 20 @ unk_2039560\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq ._866 @cond_branch\n\ - ldr r0, ._868 + 24 @ debug_sub_812E698\n\ - str r0, [r6, #0x1c]\n\ - b ._874\n\ -._869:\n\ - .align 2, 0\n\ -._868:\n\ - .word 0x2019000\n\ - .word 0x3f000000\n\ - .word 0x0\n\ - .word gUnknown_083F8DF4\n\ - .word 0x43800000\n\ - .word unk_2039560\n\ - .word debug_sub_812E698+1\n\ -._866:\n\ - ldr r0, ._871 @ sub_8118DE4\n\ - str r0, [r6, #0x1c]\n\ - b ._874\n\ -._872:\n\ - .align 2, 0\n\ -._871:\n\ - .word sub_8118DE4+1\n\ -._864:\n\ - add r6, r5, #0\n\ - add r6, r6, #0x90\n\ - ldr r0, [r6]\n\ - ldr r4, ._875 @ 0x0\n\ - add r1, r4, #0\n\ - bl __nesf2\n\ - cmp r0, #0\n\ - beq ._874 @cond_branch\n\ - mov r2, r8\n\ - ldr r0, [r2]\n\ - add r1, r4, #0\n\ - bl __ltsf2\n\ - cmp r0, #0\n\ - bge ._874 @cond_branch\n\ - str r4, [r6]\n\ - mov r0, r8\n\ - str r4, [r0]\n\ - add r4, r5, #0\n\ - add r4, r4, #0x98\n\ - ldr r0, [r4]\n\ - bl __extendsfdf2\n\ - ldr r2, ._875 + 4 @ 0x3ff33333\n\ - ldr r3, ._875 + 8 @ 0x33333333\n\ - bl __divdf3\n\ - bl __truncdfsf2\n\ - str r0, [r4]\n\ -._874:\n\ - pop {r3, r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4, r5, r6, r7}\n\ - pop {r0}\n\ - bx r0\n\ -._876:\n\ - .align 2, 0\n\ -._875:\n\ - .word 0x0\n\ - .word 0x3ff33333\n\ - .word 0x33333333"); -} -#else void sub_8118F8C(struct Sprite *sprite) { sub_8118724(sprite); if (!(eRoulette->var8C > 0.5f)) { sub_81186B8(sprite); - if (sub_81186E8(sprite) == 0x0) + if (!sub_81186E8(sprite)) { struct StructgUnknown_083F8DF4 *p; eRoulette->var90 = 0.0f; p = &gUnknown_083F8DF4[0]; eRoulette->var8C -= ((float)p[eRoulette->var04_0].var03) - / ((float)(s16)((&p[eRoulette->var04_0])->var04 + 0x1)); + / ((float)(s16)(p[eRoulette->var04_0].var04 + 0x1)); sprite->data[0x1] = 0x4; - sprite->callback = &sub_8118DE4; +#if DEBUG + if (unk_2039560[0]) + sprite->callback = debug_sub_812E698; + else +#endif + sprite->callback = sub_8118DE4; } else { @@ -4989,7 +3365,6 @@ void sub_8118F8C(struct Sprite *sprite) } } } -#endif void sub_8119088(struct Sprite *sprite) { @@ -5054,8 +3429,8 @@ void sub_8119224(struct Sprite *sprite) gSprites[eRoulette->var3C[0x37 + i]].data[0x5] = eRoulette->var3C[0x38]; gSprites[eRoulette->var3C[0x37 + i]].data[0x6] = eRoulette->var3C[0x39]; gSprites[eRoulette->var3C[0x37 + i]].data[0x2] = t; - gSprites[eRoulette->var3C[0x37 + i]].data[0x3] = (sprite->data[0x7] * (&gUnknown_083F8DF4[eRoulette->var04_0])->var01) + - ((&gUnknown_083F8DF4[eRoulette->var04_0])->var02 + 0xFFFF); + gSprites[eRoulette->var3C[0x37 + i]].data[0x3] = (sprite->data[0x7] * gUnknown_083F8DF4[eRoulette->var04_0].var01) + + (gUnknown_083F8DF4[eRoulette->var04_0].var02 + 0xFFFF); } gSprites[eRoulette->var3C[0x38]].coordOffsetEnabled = TRUE; eRoulette->var38 = sprite; @@ -5089,57 +3464,58 @@ void sub_81193D4(struct Sprite *sprite) #ifdef NONMATCHING void sub_811952C(struct Sprite *sprite) { + u8 i; u8 z; - register u8 h asm("r10") = 0x0; - u8 j = 0x5; - u32 p = 0x0; u16 o; - u8 i; - u8 s[0xA] = (u8[]){0,0,0,0,0,0,0,0,0,0}; - u16 t = Random(); - eRoulette->var7D = 0x1; + u8 h = 0; // r10 (sp+0xc) + u8 j = 5; // r9 (r9) + u8 p = 0; // sp+0xc (sp+0x10) + u8 s[10] = {}; // sp+0 (sp+0) + u16 t = Random(); // sp+0x10 (r10) + + eRoulette->var7D = 1; eRoulette->var03_5 = TRUE; eRoulette->var03_6 = FALSE; eRoulette->var7E = 0xFF; - eRoulette->var88 = sprite->data[0x3]; + eRoulette->var88 = sprite->data[3]; eRoulette->var98 = 0.0f; - eRoulette->var8C = (&gUnknown_083F8DF4[eRoulette->var04_0])->var1C; //couldn't replicate load, same as sub_8118DE4 + eRoulette->var8C = gUnknown_083F8DF4[eRoulette->var04_0].var1C; o = (eRoulette->var04_0 * 30 + 33) + (0x1 - eRoulette->var03_0) * 15; - for (i = 0x0; i < 0x4; i++) + for (i = 0; i < 4; i++) { - if (o < sprite->data[0x3] && !(sprite->data[0x3] > o + 90)) + if (o < sprite->data[3] && sprite->data[3] <= o + 90) { - sprite->data[0x0] = i * 0x2; - eRoulette->var03_0 = 0x1 & i; + sprite->data[0] = i << 1; + eRoulette->var03_0 = i & 1; break; } - if (i == 0x3) + if (i == 3) { - sprite->data[0x0] = 0x1; - eRoulette->var03_0 = 0x1; + sprite->data[0] = 1; + eRoulette->var03_0 = 1; break; } o += 90; } if (eRoulette->var03_0) { - if (sprite->data[0x0]) + if (sprite->data[0]) { - PlayCry1(0x130, -0x3F); + PlayCry1(SPECIES_TAILLOW, -0x3F); } else { - PlayCry1(0x130, 0x3F); + PlayCry1(SPECIES_TAILLOW, 0x3F); } } else { - PlayCry1(0x132, -0x3F); + PlayCry1(SPECIES_SHROOMISH, -0x3F); } - i = 0x2; - z = (eRoulette->var7F + 0x2) % 0xC; - if (eRoulette->var03_0 == 0x1 && eRoulette->var04_0 == 0x1) - j += 0x6; + i = 2; + z = (eRoulette->var7F + 2) % 12; + if (eRoulette->var03_0 == 1 && eRoulette->var04_0 == 1) + j += 6; else j += i; for (; i < j; i++) @@ -5152,333 +3528,331 @@ void sub_811952C(struct Sprite *sprite) p = i; } } - z = (z + 0x1) % 0xC; + z = (z + 1) % 0xC; } - if ((eRoulette->var03_0 + 0x1) & eRoulette->var02) + if ((eRoulette->var03_0 + 1) & eRoulette->var02) { - if (p && (t & 0xFF) <= 0xBF) + if (p && (t & 0xFF) < 0xc0) { - sprite->data[0x7] = p; + sprite->data[7] = p; } else { - sprite->data[0x7] = s[t % h]; + sprite->data[7] = s[t % h]; } } else { - sprite->data[0x7] = s[t % h]; + sprite->data[7] = s[t % h]; } - sprite->callback = &sub_8118CEC; + sprite->callback = sub_8118CEC; } #else __attribute__((naked)) void sub_811952C(struct Sprite *sprite) { -asm(".syntax unified\n\ -push {r4-r7,lr}\n\ -mov r7, r10\n\ -mov r6, r9\n\ -mov r5, r8\n\ -push {r5-r7}\n\ -sub sp, 0x14\n\ -mov r8, r0\n\ -movs r0, 0\n\ -mov r10, r0\n\ -movs r1, 0x5\n\ -mov r9, r1\n\ -movs r2, 0\n\ -str r2, [sp, 0xC]\n\ -mov r0, sp\n\ -movs r1, 0\n\ -movs r2, 0xA\n\ -bl memset\n\ -bl Random\n\ -lsls r0, 16\n\ -lsrs r0, 16\n\ -str r0, [sp, 0x10]\n\ -ldr r7, _08119610 @ =gSharedMem + 0x19000\n\ -adds r0, r7, 0\n\ -adds r0, 0x7D\n\ -movs r6, 0x1\n\ -strb r6, [r0]\n\ -ldrb r4, [r7, 0x3]\n\ -movs r0, 0x20\n\ -orrs r4, r0\n\ -movs r0, 0x41\n\ -negs r0, r0\n\ -ands r4, r0\n\ -strb r4, [r7, 0x3]\n\ -adds r1, r7, 0\n\ -adds r1, 0x7E\n\ -movs r0, 0xFF\n\ -strb r0, [r1]\n\ -adds r5, r7, 0\n\ -adds r5, 0x88\n\ -mov r3, r8\n\ -movs r1, 0x34\n\ -ldrsh r0, [r3, r1]\n\ -bl __floatsisf\n\ -str r0, [r5]\n\ -adds r1, r7, 0\n\ -adds r1, 0x98\n\ -ldr r0, _08119614 @ =0x00000000\n\ -str r0, [r1]\n\ -adds r3, r7, 0\n\ -adds r3, 0x8C\n\ -ldr r2, _08119618 @ =gUnknown_083F8DF4\n\ -ldrb r0, [r7, 0x4]\n\ -lsls r0, 30\n\ -lsrs r1, r0, 25\n\ -adds r2, 0x1C\n\ -adds r1, r2\n\ -ldr r1, [r1]\n\ -str r1, [r3]\n\ -lsrs r0, 30\n\ -lsls r1, r0, 4\n\ -subs r1, r0\n\ -lsls r1, 1\n\ -adds r1, 0x21\n\ -lsls r4, 27\n\ -lsrs r4, 27\n\ -subs r6, r4\n\ -lsls r0, r6, 4\n\ -subs r0, r6\n\ -adds r1, r0\n\ -lsls r1, 16\n\ -lsrs r1, 16\n\ -mov r5, r10\n\ -mov r3, r8\n\ -movs r0, 0x34\n\ -ldrsh r2, [r3, r0]\n\ -_081195C8:\n\ -cmp r1, r2\n\ -bge _081195D4\n\ -adds r0, r1, 0\n\ -adds r0, 0x5A\n\ -cmp r2, r0\n\ -ble _08119638\n\ -_081195D4:\n\ -cmp r5, 0x3\n\ -beq _0811961C\n\ -adds r0, r1, 0\n\ -adds r0, 0x5A\n\ -lsls r0, 16\n\ -lsrs r1, r0, 16\n\ -adds r0, r5, 0x1\n\ -lsls r0, 24\n\ -lsrs r5, r0, 24\n\ -cmp r5, 0x3\n\ -bls _081195C8\n\ -_081195EA:\n\ -ldr r0, _08119610 @ =gSharedMem + 0x19000\n\ -ldrb r1, [r0, 0x3]\n\ -movs r0, 0x1F\n\ -ands r0, r1\n\ -cmp r0, 0\n\ -beq _08119664\n\ -mov r1, r8\n\ -movs r2, 0x2E\n\ -ldrsh r0, [r1, r2]\n\ -cmp r0, 0\n\ -beq _08119658\n\ -movs r0, 0x98\n\ -lsls r0, 1\n\ -movs r1, 0x3F\n\ -negs r1, r1\n\ -bl PlayCry1\n\ -b _08119670\n\ -.align 2, 0\n\ -_08119610: .4byte gSharedMem + 0x19000\n\ -_08119614: .4byte 0x00000000\n\ -_08119618: .4byte gUnknown_083F8DF4\n\ -_0811961C:\n\ -movs r0, 0x1\n\ -mov r3, r8\n\ -strh r0, [r3, 0x2E]\n\ -ldr r2, _08119634 @ =gSharedMem + 0x19000\n\ -ldrb r1, [r2, 0x3]\n\ -subs r0, 0x21\n\ -ands r0, r1\n\ -movs r1, 0x1\n\ -orrs r0, r1\n\ -strb r0, [r2, 0x3]\n\ -b _081195EA\n\ -.align 2, 0\n\ -_08119634: .4byte gSharedMem + 0x19000\n\ -_08119638:\n\ -lsrs r0, r5, 1\n\ -mov r1, r8\n\ -strh r0, [r1, 0x2E]\n\ -ldr r3, _08119654 @ =gSharedMem + 0x19000\n\ -movs r1, 0x1\n\ -ands r1, r5\n\ -ldrb r2, [r3, 0x3]\n\ -movs r0, 0x20\n\ -negs r0, r0\n\ -ands r0, r2\n\ -orrs r0, r1\n\ -strb r0, [r3, 0x3]\n\ -b _081195EA\n\ -.align 2, 0\n\ -_08119654: .4byte gSharedMem + 0x19000\n\ -_08119658:\n\ -movs r0, 0x98\n\ -lsls r0, 1\n\ -movs r1, 0x3F\n\ -bl PlayCry1\n\ -b _08119670\n\ -_08119664:\n\ -movs r0, 0x99\n\ -lsls r0, 1\n\ -movs r1, 0x3F\n\ -negs r1, r1\n\ -bl PlayCry1\n\ -_08119670:\n\ -movs r5, 0x2\n\ -ldr r4, _081196A0 @ =gSharedMem + 0x19000\n\ -adds r0, r4, 0\n\ -adds r0, 0x7F\n\ -ldrb r0, [r0]\n\ -adds r0, 0x2\n\ -movs r1, 0xC\n\ -bl __modsi3\n\ -lsls r0, 24\n\ -lsrs r3, r0, 24\n\ -ldrb r1, [r4, 0x3]\n\ -movs r0, 0x1F\n\ -ands r0, r1\n\ -cmp r0, 0x1\n\ -bne _081196A4\n\ -ldrb r1, [r4, 0x4]\n\ -movs r0, 0x3\n\ -ands r0, r1\n\ -cmp r0, 0x1\n\ -bne _081196A4\n\ -mov r0, r9\n\ -adds r0, 0x6\n\ -b _081196A8\n\ -.align 2, 0\n\ -_081196A0: .4byte gSharedMem + 0x19000\n\ -_081196A4:\n\ -mov r2, r9\n\ -adds r0, r2, r5\n\ -_081196A8:\n\ -lsls r0, 24\n\ -lsrs r0, 24\n\ -mov r9, r0\n\ -cmp r5, r9\n\ -bcs _0811970E\n\ -ldr r6, _08119734 @ =gSharedMem + 0x19000\n\ -ldr r7, _08119738 @ =gUnknown_083F8C00 + 0xC\n\ -_081196B6:\n\ -lsls r0, r3, 3\n\ -ldr r1, _0811973C @ =gUnknown_083F8D90 + 0x4\n\ -adds r0, r1\n\ -ldr r1, [r6, 0x8]\n\ -ldr r2, [r0]\n\ -ands r1, r2\n\ -cmp r1, 0\n\ -bne _081196F8\n\ -mov r0, r10\n\ -adds r1, r0, 0x1\n\ -lsls r1, 24\n\ -lsrs r1, 24\n\ -mov r10, r1\n\ -add r0, sp\n\ -strb r5, [r0]\n\ -ldr r0, [sp, 0xC]\n\ -cmp r0, 0\n\ -bne _081196F8\n\ -ldrb r0, [r6, 0x1A]\n\ -lsls r0, 28\n\ -lsrs r0, 28\n\ -ldr r1, _08119740 @ =gSharedMem + 0x1901B\n\ -adds r0, r1\n\ -ldrb r1, [r0]\n\ -lsls r0, r1, 2\n\ -adds r0, r1\n\ -lsls r0, 2\n\ -adds r0, r7\n\ -ldr r0, [r0]\n\ -ands r2, r0\n\ -cmp r2, 0\n\ -beq _081196F8\n\ -str r5, [sp, 0xC]\n\ -_081196F8:\n\ -adds r0, r3, 0x1\n\ -movs r1, 0xC\n\ -bl __modsi3\n\ -lsls r0, 24\n\ -lsrs r3, r0, 24\n\ -adds r0, r5, 0x1\n\ -lsls r0, 24\n\ -lsrs r5, r0, 24\n\ -cmp r5, r9\n\ -bcc _081196B6\n\ -_0811970E:\n\ -ldrb r0, [r4, 0x3]\n\ -lsls r0, 27\n\ -lsrs r0, 27\n\ -adds r0, 0x1\n\ -ldrb r1, [r4, 0x2]\n\ -ands r0, r1\n\ -cmp r0, 0\n\ -beq _08119756\n\ -ldr r2, [sp, 0xC]\n\ -cmp r2, 0\n\ -beq _08119744\n\ -movs r0, 0xFF\n\ -ldr r3, [sp, 0x10]\n\ -ands r0, r3\n\ -cmp r0, 0xBF\n\ -bhi _08119744\n\ -mov r0, r8\n\ -strh r2, [r0, 0x3C]\n\ -b _08119766\n\ -.align 2, 0\n\ -_08119734: .4byte gSharedMem + 0x19000\n\ -_08119738: .4byte gUnknown_083F8C00 + 0xC\n\ -_0811973C: .4byte gUnknown_083F8D90 + 0x4\n\ -_08119740: .4byte gSharedMem + 0x1901B\n\ -_08119744:\n\ -ldr r0, [sp, 0x10]\n\ -mov r1, r10\n\ -bl __modsi3\n\ -add r0, sp\n\ -ldrb r0, [r0]\n\ -mov r1, r8\n\ -strh r0, [r1, 0x3C]\n\ -b _08119766\n\ -_08119756:\n\ -ldr r0, [sp, 0x10]\n\ -mov r1, r10\n\ -bl __modsi3\n\ -add r0, sp\n\ -ldrb r0, [r0]\n\ -mov r2, r8\n\ -strh r0, [r2, 0x3C]\n\ -_08119766:\n\ -ldr r3, _0811977C @ =sub_8118CEC\n\ -mov r0, r8\n\ -str r3, [r0, 0x1C]\n\ -add sp, 0x14\n\ -pop {r3-r5}\n\ -mov r8, r3\n\ -mov r9, r4\n\ -mov r10, r5\n\ -pop {r4-r7}\n\ -pop {r0}\n\ -bx r0\n\ -.align 2, 0\n\ -_0811977C: .4byte sub_8118CEC\n\ -.syntax divided\n"); + asm_unified("push {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x14\n" + "\tmov r8, r0\n" + "\tmovs r0, 0\n" + "\tmov r10, r0\n" + "\tmovs r1, 0x5\n" + "\tmov r9, r1\n" + "\tmovs r2, 0\n" + "\tstr r2, [sp, 0xC]\n" + "\tmov r0, sp\n" + "\tmovs r1, 0\n" + "\tmovs r2, 0xA\n" + "\tbl memset\n" + "\tbl Random\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tstr r0, [sp, 0x10]\n" + "\tldr r7, _08119610 @ =gSharedMem + 0x19000\n" + "\tadds r0, r7, 0\n" + "\tadds r0, 0x7D\n" + "\tmovs r6, 0x1\n" + "\tstrb r6, [r0]\n" + "\tldrb r4, [r7, 0x3]\n" + "\tmovs r0, 0x20\n" + "\torrs r4, r0\n" + "\tmovs r0, 0x41\n" + "\tnegs r0, r0\n" + "\tands r4, r0\n" + "\tstrb r4, [r7, 0x3]\n" + "\tadds r1, r7, 0\n" + "\tadds r1, 0x7E\n" + "\tmovs r0, 0xFF\n" + "\tstrb r0, [r1]\n" + "\tadds r5, r7, 0\n" + "\tadds r5, 0x88\n" + "\tmov r3, r8\n" + "\tmovs r1, 0x34\n" + "\tldrsh r0, [r3, r1]\n" + "\tbl __floatsisf\n" + "\tstr r0, [r5]\n" + "\tadds r1, r7, 0\n" + "\tadds r1, 0x98\n" + "\tldr r0, _08119614 @ =0x00000000\n" + "\tstr r0, [r1]\n" + "\tadds r3, r7, 0\n" + "\tadds r3, 0x8C\n" + "\tldr r2, _08119618 @ =gUnknown_083F8DF4\n" + "\tldrb r0, [r7, 0x4]\n" + "\tlsls r0, 30\n" + "\tlsrs r1, r0, 25\n" + "\tadds r2, 0x1C\n" + "\tadds r1, r2\n" + "\tldr r1, [r1]\n" + "\tstr r1, [r3]\n" + "\tlsrs r0, 30\n" + "\tlsls r1, r0, 4\n" + "\tsubs r1, r0\n" + "\tlsls r1, 1\n" + "\tadds r1, 0x21\n" + "\tlsls r4, 27\n" + "\tlsrs r4, 27\n" + "\tsubs r6, r4\n" + "\tlsls r0, r6, 4\n" + "\tsubs r0, r6\n" + "\tadds r1, r0\n" + "\tlsls r1, 16\n" + "\tlsrs r1, 16\n" + "\tmov r5, r10\n" + "\tmov r3, r8\n" + "\tmovs r0, 0x34\n" + "\tldrsh r2, [r3, r0]\n" + "_081195C8:\n" + "\tcmp r1, r2\n" + "\tbge _081195D4\n" + "\tadds r0, r1, 0\n" + "\tadds r0, 0x5A\n" + "\tcmp r2, r0\n" + "\tble _08119638\n" + "_081195D4:\n" + "\tcmp r5, 0x3\n" + "\tbeq _0811961C\n" + "\tadds r0, r1, 0\n" + "\tadds r0, 0x5A\n" + "\tlsls r0, 16\n" + "\tlsrs r1, r0, 16\n" + "\tadds r0, r5, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r5, r0, 24\n" + "\tcmp r5, 0x3\n" + "\tbls _081195C8\n" + "_081195EA:\n" + "\tldr r0, _08119610 @ =gSharedMem + 0x19000\n" + "\tldrb r1, [r0, 0x3]\n" + "\tmovs r0, 0x1F\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _08119664\n" + "\tmov r1, r8\n" + "\tmovs r2, 0x2E\n" + "\tldrsh r0, [r1, r2]\n" + "\tcmp r0, 0\n" + "\tbeq _08119658\n" + "\tmovs r0, 0x98\n" + "\tlsls r0, 1\n" + "\tmovs r1, 0x3F\n" + "\tnegs r1, r1\n" + "\tbl PlayCry1\n" + "\tb _08119670\n" + "\t.align 2, 0\n" + "_08119610: .4byte gSharedMem + 0x19000\n" + "_08119614: .4byte 0x00000000\n" + "_08119618: .4byte gUnknown_083F8DF4\n" + "_0811961C:\n" + "\tmovs r0, 0x1\n" + "\tmov r3, r8\n" + "\tstrh r0, [r3, 0x2E]\n" + "\tldr r2, _08119634 @ =gSharedMem + 0x19000\n" + "\tldrb r1, [r2, 0x3]\n" + "\tsubs r0, 0x21\n" + "\tands r0, r1\n" + "\tmovs r1, 0x1\n" + "\torrs r0, r1\n" + "\tstrb r0, [r2, 0x3]\n" + "\tb _081195EA\n" + "\t.align 2, 0\n" + "_08119634: .4byte gSharedMem + 0x19000\n" + "_08119638:\n" + "\tlsrs r0, r5, 1\n" + "\tmov r1, r8\n" + "\tstrh r0, [r1, 0x2E]\n" + "\tldr r3, _08119654 @ =gSharedMem + 0x19000\n" + "\tmovs r1, 0x1\n" + "\tands r1, r5\n" + "\tldrb r2, [r3, 0x3]\n" + "\tmovs r0, 0x20\n" + "\tnegs r0, r0\n" + "\tands r0, r2\n" + "\torrs r0, r1\n" + "\tstrb r0, [r3, 0x3]\n" + "\tb _081195EA\n" + "\t.align 2, 0\n" + "_08119654: .4byte gSharedMem + 0x19000\n" + "_08119658:\n" + "\tmovs r0, 0x98\n" + "\tlsls r0, 1\n" + "\tmovs r1, 0x3F\n" + "\tbl PlayCry1\n" + "\tb _08119670\n" + "_08119664:\n" + "\tmovs r0, 0x99\n" + "\tlsls r0, 1\n" + "\tmovs r1, 0x3F\n" + "\tnegs r1, r1\n" + "\tbl PlayCry1\n" + "_08119670:\n" + "\tmovs r5, 0x2\n" + "\tldr r4, _081196A0 @ =gSharedMem + 0x19000\n" + "\tadds r0, r4, 0\n" + "\tadds r0, 0x7F\n" + "\tldrb r0, [r0]\n" + "\tadds r0, 0x2\n" + "\tmovs r1, 0xC\n" + "\tbl __modsi3\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tldrb r1, [r4, 0x3]\n" + "\tmovs r0, 0x1F\n" + "\tands r0, r1\n" + "\tcmp r0, 0x1\n" + "\tbne _081196A4\n" + "\tldrb r1, [r4, 0x4]\n" + "\tmovs r0, 0x3\n" + "\tands r0, r1\n" + "\tcmp r0, 0x1\n" + "\tbne _081196A4\n" + "\tmov r0, r9\n" + "\tadds r0, 0x6\n" + "\tb _081196A8\n" + "\t.align 2, 0\n" + "_081196A0: .4byte gSharedMem + 0x19000\n" + "_081196A4:\n" + "\tmov r2, r9\n" + "\tadds r0, r2, r5\n" + "_081196A8:\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmov r9, r0\n" + "\tcmp r5, r9\n" + "\tbcs _0811970E\n" + "\tldr r6, _08119734 @ =gSharedMem + 0x19000\n" + "\tldr r7, _08119738 @ =gUnknown_083F8C00 + 0xC\n" + "_081196B6:\n" + "\tlsls r0, r3, 3\n" + "\tldr r1, _0811973C @ =gUnknown_083F8D90 + 0x4\n" + "\tadds r0, r1\n" + "\tldr r1, [r6, 0x8]\n" + "\tldr r2, [r0]\n" + "\tands r1, r2\n" + "\tcmp r1, 0\n" + "\tbne _081196F8\n" + "\tmov r0, r10\n" + "\tadds r1, r0, 0x1\n" + "\tlsls r1, 24\n" + "\tlsrs r1, 24\n" + "\tmov r10, r1\n" + "\tadd r0, sp\n" + "\tstrb r5, [r0]\n" + "\tldr r0, [sp, 0xC]\n" + "\tcmp r0, 0\n" + "\tbne _081196F8\n" + "\tldrb r0, [r6, 0x1A]\n" + "\tlsls r0, 28\n" + "\tlsrs r0, 28\n" + "\tldr r1, _08119740 @ =gSharedMem + 0x1901B\n" + "\tadds r0, r1\n" + "\tldrb r1, [r0]\n" + "\tlsls r0, r1, 2\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r7\n" + "\tldr r0, [r0]\n" + "\tands r2, r0\n" + "\tcmp r2, 0\n" + "\tbeq _081196F8\n" + "\tstr r5, [sp, 0xC]\n" + "_081196F8:\n" + "\tadds r0, r3, 0x1\n" + "\tmovs r1, 0xC\n" + "\tbl __modsi3\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tadds r0, r5, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r5, r0, 24\n" + "\tcmp r5, r9\n" + "\tbcc _081196B6\n" + "_0811970E:\n" + "\tldrb r0, [r4, 0x3]\n" + "\tlsls r0, 27\n" + "\tlsrs r0, 27\n" + "\tadds r0, 0x1\n" + "\tldrb r1, [r4, 0x2]\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _08119756\n" + "\tldr r2, [sp, 0xC]\n" + "\tcmp r2, 0\n" + "\tbeq _08119744\n" + "\tmovs r0, 0xFF\n" + "\tldr r3, [sp, 0x10]\n" + "\tands r0, r3\n" + "\tcmp r0, 0xBF\n" + "\tbhi _08119744\n" + "\tmov r0, r8\n" + "\tstrh r2, [r0, 0x3C]\n" + "\tb _08119766\n" + "\t.align 2, 0\n" + "_08119734: .4byte gSharedMem + 0x19000\n" + "_08119738: .4byte gUnknown_083F8C00 + 0xC\n" + "_0811973C: .4byte gUnknown_083F8D90 + 0x4\n" + "_08119740: .4byte gSharedMem + 0x1901B\n" + "_08119744:\n" + "\tldr r0, [sp, 0x10]\n" + "\tmov r1, r10\n" + "\tbl __modsi3\n" + "\tadd r0, sp\n" + "\tldrb r0, [r0]\n" + "\tmov r1, r8\n" + "\tstrh r0, [r1, 0x3C]\n" + "\tb _08119766\n" + "_08119756:\n" + "\tldr r0, [sp, 0x10]\n" + "\tmov r1, r10\n" + "\tbl __modsi3\n" + "\tadd r0, sp\n" + "\tldrb r0, [r0]\n" + "\tmov r2, r8\n" + "\tstrh r0, [r2, 0x3C]\n" + "_08119766:\n" + "\tldr r3, _0811977C @ =sub_8118CEC\n" + "\tmov r0, r8\n" + "\tstr r3, [r0, 0x1C]\n" + "\tadd sp, 0x14\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0811977C: .4byte sub_8118CEC"); } #endif void sub_8119780(struct Sprite *sprite) { - if (!(sprite->data[0x1]++ < sprite->data[0x3])) + if (sprite->data[0x1]++ >= sprite->data[0x3]) { if ((sprite->pos1.x -= 0x2) < -0x10) { @@ -5617,7 +3991,7 @@ void sub_8119AAC(struct Sprite *sprite) void sub_8119B24(struct Sprite *sprite) { - if (!(sprite->data[0x1] < 0x0)) + if (sprite->data[0x1] >= 0x0) { sprite->data[0x1]--; sprite->pos1.y--; @@ -5626,7 +4000,7 @@ void sub_8119B24(struct Sprite *sprite) } else { - if (!(sprite->data[0x3] < 0x0)) + if (sprite->data[0x3] >= 0x0) { sprite->data[0x3]--; if (sprite->animDelayCounter == 0x0) @@ -5665,7 +4039,7 @@ void sub_8119BCC(struct Sprite *sprite) } else { - if (!(sprite->data[0x1] < 0x0)) + if (sprite->data[0x1] >= 0x0) { sprite->pos1.x += t[eRoulette->var38->data[0x0]] * z[0x7 - sprite->data[0x1]][0x0]; sprite->pos1.y += z[0x7 - sprite->data[0x1]][0x1]; @@ -5674,9 +4048,9 @@ void sub_8119BCC(struct Sprite *sprite) { m4aSongNumStartOrChange(0x5E); if(eRoulette->var38->data[0x0] == 0x0) - PlayCry1(0x130, 0x3F); + PlayCry1(SPECIES_TAILLOW, 0x3F); else - PlayCry1(0x130, -0x3F); + PlayCry1(SPECIES_TAILLOW, -0x3F); StartSpriteAnim(sprite, eRoulette->var38->data[0x0] + 0x2); sprite->data[0x1] = 45; sprite->callback = &sub_8119B24; @@ -5688,7 +4062,7 @@ void sub_8119D08(struct Sprite *sprite) { s8 t[0x2]; //sign memcpy(t, &gUnknown_083FA64A, 0x2); - if (!(sprite->data[0x1]-- < 0x0)) + if (sprite->data[0x1]-- >= 0x0) { sprite->pos1.x += t[eRoulette->var38->data[0x0]] * 0x2; gSprites[sprite->data[0x6]].invisible ^= 0x1; diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c index 24cbcb9c0..6eccca047 100644 --- a/src/scene/berry_blender.c +++ b/src/scene/berry_blender.c @@ -2015,36 +2015,32 @@ s16 unref_sub_8050514(void) return gUnknown_0300052E; } -#ifdef NONMATCHING - static void Blender_CalculatePokeblock(struct BlenderBerry* berries, struct Pokeblock* pokeblock, u8 playersNo, u8* flavours, u16 maxRPM) { s32 i; s32 j; - s32 savedEntry; s32 var3; s32 var4; - u32 var6; - s32 var11; - u16 rand; + s32 var6; + u8 r10; for (i = 0; i < 6; i++) gUnknown_03000510[i] = 0; for (i = 0; i < playersNo; i++) { - for (j = 0; j < 5; j++) + for (j = 0; j < 6; j++) gUnknown_03000510[j] += berries[i].flavours[j]; } - savedEntry = gUnknown_03000510[0]; + var6 = gUnknown_03000510[0]; gUnknown_03000510[0] -= gUnknown_03000510[1]; gUnknown_03000510[1] -= gUnknown_03000510[2]; gUnknown_03000510[2] -= gUnknown_03000510[3]; gUnknown_03000510[3] -= gUnknown_03000510[4]; - gUnknown_03000510[4] -= savedEntry; + gUnknown_03000510[4] -= var6; var6 = 0; - for (i = 0; i < 6; i++) + for (i = 0; i < 5; i++) { if (gUnknown_03000510[i] < 0) { @@ -2052,6 +2048,7 @@ static void Blender_CalculatePokeblock(struct BlenderBerry* berries, struct Poke var6++; } } + r10 = var6; for (i = 0; i < 5; i++) { if (gUnknown_03000510[i] > 0) @@ -2067,13 +2064,13 @@ static void Blender_CalculatePokeblock(struct BlenderBerry* berries, struct Poke gUnknown_03000530[i] = gUnknown_03000510[i]; } - var11 = maxRPM / 333 + 100; - gUnknown_0300055C = ((var11)); + var6 = maxRPM / 333 + 100; + gUnknown_0300055C = var6; for (i = 0; i < 5; i++) { var3 = gUnknown_03000510[i]; - var3 = ((var11) * var3) / 10; + var3 = (var3 * var6) / 10; var4 = var3 % 10; var3 /= 10; if (var4 > 4) @@ -2084,16 +2081,16 @@ static void Blender_CalculatePokeblock(struct BlenderBerry* berries, struct Poke { gUnknown_03000548[i] = gUnknown_03000510[i]; } - pokeblock->color = Blender_GetPokeblockColor(berries, &gUnknown_03000510[0], playersNo, var6); + pokeblock->color = Blender_GetPokeblockColor(berries, &gUnknown_03000510[0], playersNo, r10); gUnknown_03000510[5] = (gUnknown_03000510[5] / playersNo) - playersNo; if (gUnknown_03000510[5] < 0) gUnknown_03000510[5] = 0; if (pokeblock->color == 12) { - rand = Random() % 10; - for (i = 0; i < 6; i++) + var6 = Random() % 10; + for (i = 0; i < 5; i++) { - if ((gUnknown_082165DF[rand] >> i) & 1) + if ((gUnknown_082165DF[var6] >> i) & 1) gUnknown_03000510[i] = 2; else gUnknown_03000510[i] = 0; @@ -2116,296 +2113,6 @@ static void Blender_CalculatePokeblock(struct BlenderBerry* berries, struct Poke } } -#else -__attribute__((naked)) -static void Blender_CalculatePokeblock(struct BlenderBerry* berries, struct Pokeblock* pokeblock, u8 a2, u8* flavours, u16 a4) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x10\n\ - str r0, [sp]\n\ - mov r8, r1\n\ - str r3, [sp, 0x4]\n\ - ldr r0, [sp, 0x30]\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - mov r9, r2\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - str r0, [sp, 0x8]\n\ - ldr r7, _080505DC @ =gUnknown_03000510\n\ - adds r2, r7, 0\n\ - movs r1, 0\n\ - adds r0, r7, 0\n\ - adds r0, 0xA\n\ -_0805054A:\n\ - strh r1, [r0]\n\ - subs r0, 0x2\n\ - cmp r0, r2\n\ - bge _0805054A\n\ - movs r6, 0\n\ - cmp r6, r9\n\ - bge _08050580\n\ - ldr r0, _080505DC @ =gUnknown_03000510\n\ - mov r12, r0\n\ - ldr r5, [sp]\n\ - adds r5, 0x9\n\ -_08050560:\n\ - movs r3, 0\n\ - adds r4, r5, 0\n\ - mov r2, r12\n\ -_08050566:\n\ - adds r1, r4, r3\n\ - ldrh r0, [r2]\n\ - ldrb r1, [r1]\n\ - adds r0, r1\n\ - strh r0, [r2]\n\ - adds r2, 0x2\n\ - adds r3, 0x1\n\ - cmp r3, 0x5\n\ - ble _08050566\n\ - adds r5, 0x10\n\ - adds r6, 0x1\n\ - cmp r6, r9\n\ - blt _08050560\n\ -_08050580:\n\ - movs r1, 0\n\ - ldrsh r3, [r7, r1]\n\ - ldrh r0, [r7]\n\ - ldrh r1, [r7, 0x2]\n\ - subs r0, r1\n\ - strh r0, [r7]\n\ - ldrh r0, [r7, 0x4]\n\ - subs r1, r0\n\ - strh r1, [r7, 0x2]\n\ - ldrh r1, [r7, 0x6]\n\ - subs r0, r1\n\ - strh r0, [r7, 0x4]\n\ - ldrh r0, [r7, 0x8]\n\ - subs r1, r0\n\ - strh r1, [r7, 0x6]\n\ - subs r0, r3\n\ - strh r0, [r7, 0x8]\n\ - movs r3, 0\n\ - movs r2, 0\n\ - adds r1, r7, 0\n\ - movs r6, 0x4\n\ -_080505AA:\n\ - movs r4, 0\n\ - ldrsh r0, [r1, r4]\n\ - cmp r0, 0\n\ - bge _080505B6\n\ - strh r2, [r1]\n\ - adds r3, 0x1\n\ -_080505B6:\n\ - adds r1, 0x2\n\ - subs r6, 0x1\n\ - cmp r6, 0\n\ - bge _080505AA\n\ - lsls r0, r3, 24\n\ - lsrs r0, 24\n\ - mov r10, r0\n\ - movs r4, 0\n\ - ldr r1, _080505DC @ =gUnknown_03000510\n\ - movs r6, 0x4\n\ -_080505CA:\n\ - ldrh r2, [r1]\n\ - movs r5, 0\n\ - ldrsh r0, [r1, r5]\n\ - cmp r0, 0\n\ - ble _080505E4\n\ - cmp r0, r3\n\ - bge _080505E0\n\ - strh r4, [r1]\n\ - b _080505E4\n\ - .align 2, 0\n\ -_080505DC: .4byte gUnknown_03000510\n\ -_080505E0:\n\ - subs r0, r2, r3\n\ - strh r0, [r1]\n\ -_080505E4:\n\ - adds r1, 0x2\n\ - subs r6, 0x1\n\ - cmp r6, 0\n\ - bge _080505CA\n\ - ldr r1, _080506C4 @ =gUnknown_03000510\n\ - ldr r2, _080506C8 @ =gUnknown_03000530\n\ - movs r6, 0x4\n\ -_080505F2:\n\ - movs r3, 0\n\ - ldrsh r0, [r1, r3]\n\ - stm r2!, {r0}\n\ - adds r1, 0x2\n\ - subs r6, 0x1\n\ - cmp r6, 0\n\ - bge _080505F2\n\ - ldr r1, _080506CC @ =0x0000014d\n\ - ldr r0, [sp, 0x8]\n\ - bl __udivsi3\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - adds r3, r0, 0\n\ - adds r3, 0x64\n\ - ldr r4, _080506D0 @ =gUnknown_0300055C\n\ - str r3, [r4]\n\ - movs r6, 0x4\n\ -_08050616:\n\ - movs r0, 0\n\ - ldrsh r5, [r7, r0]\n\ - adds r0, r5, 0\n\ - muls r0, r3\n\ - movs r1, 0xA\n\ - str r3, [sp, 0xC]\n\ - bl __divsi3\n\ - adds r5, r0, 0\n\ - movs r1, 0xA\n\ - bl __modsi3\n\ - adds r4, r0, 0\n\ - adds r0, r5, 0\n\ - movs r1, 0xA\n\ - bl __divsi3\n\ - adds r5, r0, 0\n\ - ldr r3, [sp, 0xC]\n\ - cmp r4, 0x4\n\ - ble _08050642\n\ - adds r5, 0x1\n\ -_08050642:\n\ - strh r5, [r7]\n\ - adds r7, 0x2\n\ - subs r6, 0x1\n\ - cmp r6, 0\n\ - bge _08050616\n\ - ldr r1, _080506C4 @ =gUnknown_03000510\n\ - ldr r2, _080506D4 @ =gUnknown_03000548\n\ - movs r6, 0x4\n\ -_08050652:\n\ - movs r3, 0\n\ - ldrsh r0, [r1, r3]\n\ - stm r2!, {r0}\n\ - adds r1, 0x2\n\ - subs r6, 0x1\n\ - cmp r6, 0\n\ - bge _08050652\n\ - ldr r4, _080506C4 @ =gUnknown_03000510\n\ - ldr r0, [sp]\n\ - adds r1, r4, 0\n\ - mov r2, r9\n\ - mov r3, r10\n\ - bl Blender_GetPokeblockColor\n\ - mov r5, r8\n\ - strb r0, [r5]\n\ - movs r1, 0xA\n\ - ldrsh r0, [r4, r1]\n\ - mov r1, r9\n\ - bl __divsi3\n\ - mov r3, r9\n\ - subs r0, r3\n\ - strh r0, [r4, 0xA]\n\ - lsls r0, 16\n\ - cmp r0, 0\n\ - bge _0805068C\n\ - movs r0, 0\n\ - strh r0, [r4, 0xA]\n\ -_0805068C:\n\ - mov r5, r8\n\ - ldrb r0, [r5]\n\ - cmp r0, 0xC\n\ - bne _080506E6\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0xA\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - movs r6, 0\n\ - ldr r0, _080506D8 @ =gUnknown_082165DF\n\ - adds r0, r3, r0\n\ - ldrb r0, [r0]\n\ - adds r1, r4, 0\n\ - movs r4, 0x1\n\ - movs r3, 0x2\n\ -_080506B4:\n\ - adds r2, r0, 0\n\ - asrs r2, r6\n\ - ands r2, r4\n\ - cmp r2, 0\n\ - beq _080506DC\n\ - strh r3, [r1]\n\ - b _080506DE\n\ - .align 2, 0\n\ -_080506C4: .4byte gUnknown_03000510\n\ -_080506C8: .4byte gUnknown_03000530\n\ -_080506CC: .4byte 0x0000014d\n\ -_080506D0: .4byte gUnknown_0300055C\n\ -_080506D4: .4byte gUnknown_03000548\n\ -_080506D8: .4byte gUnknown_082165DF\n\ -_080506DC:\n\ - strh r2, [r1]\n\ -_080506DE:\n\ - adds r1, 0x2\n\ - adds r6, 0x1\n\ - cmp r6, 0x4\n\ - ble _080506B4\n\ -_080506E6:\n\ - ldr r7, _08050740 @ =gUnknown_03000510\n\ - movs r2, 0xFF\n\ - adds r1, r7, 0\n\ - movs r6, 0x5\n\ -_080506EE:\n\ - movs r3, 0\n\ - ldrsh r0, [r1, r3]\n\ - cmp r0, 0xFF\n\ - ble _080506F8\n\ - strh r2, [r1]\n\ -_080506F8:\n\ - adds r1, 0x2\n\ - subs r6, 0x1\n\ - cmp r6, 0\n\ - bge _080506EE\n\ - ldrh r0, [r7]\n\ - mov r4, r8\n\ - strb r0, [r4, 0x1]\n\ - ldrh r0, [r7, 0x2]\n\ - strb r0, [r4, 0x2]\n\ - ldrh r0, [r7, 0x4]\n\ - strb r0, [r4, 0x3]\n\ - ldrh r0, [r7, 0x6]\n\ - strb r0, [r4, 0x4]\n\ - ldrh r0, [r7, 0x8]\n\ - strb r0, [r4, 0x5]\n\ - ldrh r0, [r7, 0xA]\n\ - strb r0, [r4, 0x6]\n\ - movs r6, 0\n\ - adds r2, r7, 0\n\ -_0805071E:\n\ - ldr r5, [sp, 0x4]\n\ - adds r1, r5, r6\n\ - ldrh r0, [r2]\n\ - strb r0, [r1]\n\ - adds r2, 0x2\n\ - adds r6, 0x1\n\ - cmp r6, 0x5\n\ - ble _0805071E\n\ - add sp, 0x10\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_08050740: .4byte gUnknown_03000510\n\ - .syntax divided"); -} - -#endif // NONMATCHING - static void BlenderDebug_CalculatePokeblock(struct BlenderBerry* berries, struct Pokeblock* pokeblock, u8 playersNo, u8* flavours, u16 a4) { Blender_CalculatePokeblock(berries, pokeblock, playersNo, flavours, a4); diff --git a/src/scene/cable_car.c b/src/scene/cable_car.c index 114505e4d..60efee67d 100644 --- a/src/scene/cable_car.c +++ b/src/scene/cable_car.c @@ -23,15 +23,6 @@ // Static type declarations -// Credits to Made (dolphin emoji) -#define S16TOPOSFLOAT(val) \ -({ \ - s16 v = (val); \ - float f = (float)v; \ - if(v < 0) f += 65536.0f; \ - f; \ -}) - struct CableCarEwramStruct1 { u8 unk_0000; u8 unk_0001; diff --git a/src/scene/intro.c b/src/scene/intro.c index 4da341744..3e4bd5bf4 100644 --- a/src/scene/intro.c +++ b/src/scene/intro.c @@ -1501,7 +1501,6 @@ static void intro_reset_and_hide_bgs(void) REG_BLDY = 0; } -#ifdef NONMATCHING static void sub_813CCE8(u8 taskId) { switch (gTasks[taskId].data[0]) @@ -1513,18 +1512,15 @@ static void sub_813CCE8(u8 taskId) REG_BLDY = 0; gTasks[taskId].data[1] = 0x40; gTasks[taskId].data[0] = 1; - return; + break; case 1: if (gTasks[taskId].data[1] != 0) { - u32 foo; - u32 bar asm("r2"); + u8 foo; gTasks[taskId].data[1]--; - //tail merge at _0813CDC2 - foo = gTasks[taskId].data[1] + (gTasks[taskId].data[1] < 0); - bar = 0x1FE; - REG_BLDALPHA = gUnknown_08393E64[(foo & bar) / 2]; + foo = gTasks[taskId].data[1] / 2; + REG_BLDALPHA = gUnknown_08393E64[foo]; } else { @@ -1532,7 +1528,7 @@ static void sub_813CCE8(u8 taskId) gTasks[taskId].data[1] = 0x80; gTasks[taskId].data[0]++; } - return; + break; case 2: if (gTasks[taskId].data[1] != 0) { @@ -1544,18 +1540,15 @@ static void sub_813CCE8(u8 taskId) gTasks[taskId].data[1] = 0; //redundant? gTasks[taskId].data[0]++; } - return; + break; case 3: if (gTasks[taskId].data[1] <= 0x3D) { - u32 foo; - u32 bar asm("r2"); + u8 foo; gTasks[taskId].data[1]++; - //_0813CDC2 - foo = gTasks[taskId].data[1] + (gTasks[taskId].data[1] < 0); - bar = 0x1FE; - REG_BLDALPHA = gUnknown_08393E64[(foo & bar) / 2]; + foo = gTasks[taskId].data[1] / 2; + REG_BLDALPHA = gUnknown_08393E64[foo]; } else { @@ -1564,7 +1557,7 @@ static void sub_813CCE8(u8 taskId) gTasks[taskId].data[1] = 0x10; gTasks[taskId].data[0]++; } - return; + break; case 4: if (gTasks[taskId].data[1] != 0) { @@ -1577,186 +1570,9 @@ static void sub_813CCE8(u8 taskId) REG_BLDY = 0; DestroyTask(taskId); } - return; + break; } } -#else -__attribute__((naked)) -static void sub_813CCE8(u8 taskId) -{ - asm("\n\ - .equ REG_BLDCNT, 0x4000050\n\ - .equ REG_BLDALPHA, 0x4000052\n\ - .syntax unified\n\ - push {r4,lr}\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - ldr r1, _0813CD0C @ =gTasks\n\ - lsls r0, r3, 2\n\ - adds r0, r3\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - movs r2, 0x8\n\ - ldrsh r0, [r0, r2]\n\ - adds r2, r1, 0\n\ - cmp r0, 0x4\n\ - bhi _0813CD28\n\ - lsls r0, 2\n\ - ldr r1, _0813CD10 @ =_0813CD14\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_0813CD0C: .4byte gTasks\n\ -_0813CD10: .4byte _0813CD14\n\ - .align 2, 0\n\ -_0813CD14:\n\ - .4byte _0813CD28\n\ - .4byte _0813CD5C\n\ - .4byte _0813CD8C\n\ - .4byte _0813CDA8\n\ - .4byte _0813CDFC\n\ -_0813CD28:\n\ - ldr r1, _0813CD54 @ =REG_BLDCNT\n\ - ldr r4, _0813CD58 @ =0x00003f50\n\ - adds r0, r4, 0\n\ - strh r0, [r1]\n\ - adds r1, 0x2\n\ - movs r4, 0x80\n\ - lsls r4, 5\n\ - adds r0, r4, 0\n\ - strh r0, [r1]\n\ - adds r1, 0x2\n\ - movs r0, 0\n\ - strh r0, [r1]\n\ - lsls r0, r3, 2\n\ - adds r0, r3\n\ - lsls r0, 3\n\ - adds r0, r2\n\ - movs r1, 0x40\n\ - strh r1, [r0, 0xA]\n\ - movs r1, 0x1\n\ - strh r1, [r0, 0x8]\n\ - b _0813CE26\n\ - .align 2, 0\n\ -_0813CD54: .4byte REG_BLDCNT\n\ -_0813CD58: .4byte 0x00003f50\n\ -_0813CD5C:\n\ - lsls r0, r3, 2\n\ - adds r0, r3\n\ - lsls r0, 3\n\ - adds r2, r0, r2\n\ - ldrh r1, [r2, 0xA]\n\ - movs r3, 0xA\n\ - ldrsh r0, [r2, r3]\n\ - cmp r0, 0\n\ - beq _0813CD78\n\ - subs r0, r1, 0x1\n\ - strh r0, [r2, 0xA]\n\ - movs r4, 0xA\n\ - ldrsh r0, [r2, r4]\n\ - b _0813CDC2\n\ -_0813CD78:\n\ - ldr r1, _0813CD84 @ =REG_BLDALPHA\n\ - ldr r0, _0813CD88 @ =gUnknown_08393E64\n\ - ldrh r0, [r0]\n\ - strh r0, [r1]\n\ - movs r0, 0x80\n\ - b _0813CDEA\n\ - .align 2, 0\n\ -_0813CD84: .4byte REG_BLDALPHA\n\ -_0813CD88: .4byte gUnknown_08393E64\n\ -_0813CD8C:\n\ - lsls r0, r3, 2\n\ - adds r0, r3\n\ - lsls r0, 3\n\ - adds r1, r0, r2\n\ - ldrh r0, [r1, 0xA]\n\ - movs r3, 0xA\n\ - ldrsh r2, [r1, r3]\n\ - cmp r2, 0\n\ - bne _0813CE0E\n\ - strh r2, [r1, 0xA]\n\ - ldrh r0, [r1, 0x8]\n\ - adds r0, 0x1\n\ - strh r0, [r1, 0x8]\n\ - b _0813CE26\n\ -_0813CDA8:\n\ - lsls r0, r3, 2\n\ - adds r0, r3\n\ - lsls r0, 3\n\ - adds r2, r0, r2\n\ - ldrh r1, [r2, 0xA]\n\ - movs r4, 0xA\n\ - ldrsh r0, [r2, r4]\n\ - cmp r0, 0x3D\n\ - bgt _0813CDE0\n\ - adds r0, r1, 0x1\n\ - strh r0, [r2, 0xA]\n\ - movs r1, 0xA\n\ - ldrsh r0, [r2, r1]\n\ -_0813CDC2:\n\ - lsrs r1, r0, 31\n\ - adds r0, r1\n\ - movs r2, 0xFF\n\ - lsls r2, 1\n\ - ldr r3, _0813CDD8 @ =REG_BLDALPHA\n\ - ldr r1, _0813CDDC @ =gUnknown_08393E64\n\ - ands r0, r2\n\ - adds r0, r1\n\ - ldrh r0, [r0]\n\ - strh r0, [r3]\n\ - b _0813CE26\n\ - .align 2, 0\n\ -_0813CDD8: .4byte REG_BLDALPHA\n\ -_0813CDDC: .4byte gUnknown_08393E64\n\ -_0813CDE0:\n\ - ldr r1, _0813CDF4 @ =REG_BLDALPHA\n\ - ldr r0, _0813CDF8 @ =gUnknown_08393E64\n\ - ldrh r0, [r0, 0x3E]\n\ - strh r0, [r1]\n\ - movs r0, 0x10\n\ -_0813CDEA:\n\ - strh r0, [r2, 0xA]\n\ - ldrh r0, [r2, 0x8]\n\ - adds r0, 0x1\n\ - strh r0, [r2, 0x8]\n\ - b _0813CE26\n\ - .align 2, 0\n\ -_0813CDF4: .4byte REG_BLDALPHA\n\ -_0813CDF8: .4byte gUnknown_08393E64\n\ -_0813CDFC:\n\ - lsls r0, r3, 2\n\ - adds r0, r3\n\ - lsls r0, 3\n\ - adds r1, r0, r2\n\ - ldrh r0, [r1, 0xA]\n\ - movs r4, 0xA\n\ - ldrsh r2, [r1, r4]\n\ - cmp r2, 0\n\ - beq _0813CE14\n\ -_0813CE0E:\n\ - subs r0, 0x1\n\ - strh r0, [r1, 0xA]\n\ - b _0813CE26\n\ -_0813CE14:\n\ - ldr r0, _0813CE2C @ =REG_BLDCNT\n\ - strh r2, [r0]\n\ - adds r0, 0x2\n\ - strh r2, [r0]\n\ - adds r0, 0x2\n\ - strh r2, [r0]\n\ - adds r0, r3, 0\n\ - bl DestroyTask\n\ -_0813CE26:\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_0813CE2C: .4byte REG_BLDCNT\n\ - .syntax divided\n"); -} -#endif void sub_813CE30(u16 scrX, u16 scrY, u16 zoom, u16 alpha) { diff --git a/src/scene/intro_credits_graphics.c b/src/scene/intro_credits_graphics.c index 7f6765ef6..6aadafc58 100644 --- a/src/scene/intro_credits_graphics.c +++ b/src/scene/intro_credits_graphics.c @@ -436,161 +436,47 @@ u8 sub_8148EC0(u8 a, u16 b, u16 c, u16 d) return taskId; } -#ifdef NONMATCHING void sub_8148F3C(u8 taskId) { - register u32 r4 asm("r4"); + s16 r4; s32 r2; - r4 = (u16)gTasks[taskId].data[1] << 16; + r4 = gTasks[taskId].data[1]; if (r4 != 0) { - r2 = (gTasks[taskId].data[2] << 16) + (u16)gTasks[taskId].data[3] - (r4 >> 12); + r2 = (gTasks[taskId].data[2] << 16) + (u16)gTasks[taskId].data[3]; + r2 -= 16 * (u16)r4; gTasks[taskId].data[2] = r2 >> 16; gTasks[taskId].data[3] = r2; REG_BG1HOFS = gTasks[taskId].data[2]; - REG_BG1VOFS = gUnknown_0203935A + gUnknown_02039358; + REG_BG1VOFS = gUnknown_02039358 + gUnknown_0203935A; } - r4 = (u16)gTasks[taskId].data[4] << 16; + r4 = gTasks[taskId].data[4]; if (r4 != 0) { - r2 = (gTasks[taskId].data[5] << 16) + (u16)gTasks[taskId].data[6] - (r4 >> 12); + r2 = (gTasks[taskId].data[5] << 16) + (u16)gTasks[taskId].data[6]; + r2 -= 16 * (u16)r4; gTasks[taskId].data[5] = r2 >> 16; - gTasks[taskId].data[3] = r2; + gTasks[taskId].data[6] = r2; REG_BG2HOFS = gTasks[taskId].data[5]; if (gTasks[taskId].data[0] != 0) - REG_BG2VOFS = gUnknown_0203935A + gUnknown_02039358; + REG_BG2VOFS = gUnknown_02039358 + gUnknown_0203935A; else REG_BG2VOFS = gUnknown_02039358; } - r4 = (u16)gTasks[taskId].data[7] << 16; + r4 = gTasks[taskId].data[7]; if (r4 != 0) { - r2 = (gTasks[taskId].data[8] << 16) + (u16)gTasks[taskId].data[9] - (r4 >> 12);; + r2 = (gTasks[taskId].data[8] << 16) + (u16)gTasks[taskId].data[9]; + r2 -= 16 * (u16)r4; gTasks[taskId].data[8] = r2 >> 16; gTasks[taskId].data[9] = r2; REG_BG3HOFS = gTasks[taskId].data[8]; REG_BG3VOFS = gUnknown_02039358; } } -#else -__attribute__((naked)) -void sub_8148F3C(u8 taskId) -{ - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - ldr r1, _08148FB4 @ =gTasks\n\ - lsls r0, r5, 2\n\ - adds r0, r5\n\ - lsls r0, 3\n\ - adds r3, r0, r1\n\ - ldrh r0, [r3, 0xA]\n\ - lsls r4, r0, 16\n\ - adds r6, r1, 0\n\ - cmp r4, 0\n\ - beq _08148F7C\n\ - movs r1, 0xC\n\ - ldrsh r0, [r3, r1]\n\ - lsls r0, 16\n\ - ldrh r1, [r3, 0xE]\n\ - adds r2, r0, r1\n\ - lsrs r0, r4, 12\n\ - subs r2, r0\n\ - asrs r1, r2, 16\n\ - strh r1, [r3, 0xC]\n\ - strh r2, [r3, 0xE]\n\ - ldr r0, _08148FB8 @ =REG_BG1HOFS\n\ - strh r1, [r0]\n\ - ldr r2, _08148FBC @ =REG_BG1VOFS\n\ - ldr r1, _08148FC0 @ =gUnknown_02039358\n\ - ldr r0, _08148FC4 @ =gUnknown_0203935A\n\ - ldrh r0, [r0]\n\ - ldrh r1, [r1]\n\ - adds r0, r1\n\ - strh r0, [r2]\n\ -_08148F7C:\n\ - ldrh r0, [r3, 0x10]\n\ - lsls r4, r0, 16\n\ - cmp r4, 0\n\ - beq _08148FD8\n\ - movs r1, 0x12\n\ - ldrsh r0, [r3, r1]\n\ - lsls r0, 16\n\ - ldrh r1, [r3, 0x14]\n\ - adds r2, r0, r1\n\ - lsrs r0, r4, 12\n\ - subs r2, r0\n\ - asrs r1, r2, 16\n\ - strh r1, [r3, 0x12]\n\ - strh r2, [r3, 0x14]\n\ - ldr r0, _08148FC8 @ =REG_BG2HOFS\n\ - strh r1, [r0]\n\ - movs r1, 0x8\n\ - ldrsh r0, [r3, r1]\n\ - cmp r0, 0\n\ - beq _08148FD0\n\ - ldr r2, _08148FCC @ =REG_BG2VOFS\n\ - ldr r1, _08148FC0 @ =gUnknown_02039358\n\ - ldr r0, _08148FC4 @ =gUnknown_0203935A\n\ - ldrh r0, [r0]\n\ - ldrh r1, [r1]\n\ - adds r0, r1\n\ - strh r0, [r2]\n\ - b _08148FD8\n\ - .align 2, 0\n\ -_08148FB4: .4byte gTasks\n\ -_08148FB8: .4byte REG_BG1HOFS\n\ -_08148FBC: .4byte REG_BG1VOFS\n\ -_08148FC0: .4byte gUnknown_02039358\n\ -_08148FC4: .4byte gUnknown_0203935A\n\ -_08148FC8: .4byte REG_BG2HOFS\n\ -_08148FCC: .4byte REG_BG2VOFS\n\ -_08148FD0:\n\ - ldr r0, _08149010 @ =REG_BG2VOFS\n\ - ldr r1, _08149014 @ =gUnknown_02039358\n\ - ldrh r1, [r1]\n\ - strh r1, [r0]\n\ -_08148FD8:\n\ - lsls r0, r5, 2\n\ - adds r0, r5\n\ - lsls r0, 3\n\ - adds r3, r0, r6\n\ - ldrh r0, [r3, 0x16]\n\ - lsls r4, r0, 16\n\ - cmp r4, 0\n\ - beq _08149008\n\ - movs r1, 0x18\n\ - ldrsh r0, [r3, r1]\n\ - lsls r0, 16\n\ - ldrh r1, [r3, 0x1A]\n\ - adds r2, r0, r1\n\ - lsrs r0, r4, 12\n\ - subs r2, r0\n\ - asrs r1, r2, 16\n\ - strh r1, [r3, 0x18]\n\ - strh r2, [r3, 0x1A]\n\ - ldr r0, _08149018 @ =REG_BG3HOFS\n\ - strh r1, [r0]\n\ - ldr r1, _0814901C @ =REG_BG3VOFS\n\ - ldr r0, _08149014 @ =gUnknown_02039358\n\ - ldrh r0, [r0]\n\ - strh r0, [r1]\n\ -_08149008:\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_08149010: .4byte REG_BG2VOFS\n\ -_08149014: .4byte gUnknown_02039358\n\ -_08149018: .4byte REG_BG3HOFS\n\ -_0814901C: .4byte REG_BG3VOFS\n\ - .syntax divided\n"); -} -#endif void sub_8149020(u8 mode) { diff --git a/src/unk_text_8095904.c b/src/unk_text_8095904.c new file mode 100644 index 000000000..4b190bdaa --- /dev/null +++ b/src/unk_text_8095904.c @@ -0,0 +1,266 @@ +#include "global.h" +#include "text.h" +#include "string_util.h" + +// static types + +// static declarations + +// rodata + +extern const u32 gFont3LatinGlyphs[]; + +// text + +#ifdef NONMATCHING +void sub_8095904(const u8 *src, u8 *dest, u8 bgOverride, u16 width, u8 bg, u8 *buffer) +{ + u16 strlen = StringLength(src); + if (bgOverride == 0) + { + u16 i; + for (i = 0; i < strlen; i++) + { + const u8 *glyphs = (const u8 *)(gFont3LatinGlyphs + ((src[i] & 0xfff0) * 16) + ((src[i] & 0xf) * 8)); + CpuCopy16(glyphs, dest, 32); + CpuCopy16(glyphs + 0x200, dest + width, 32); + dest += 32; + } + } + else + { + u16 i; // sp18 + u16 r9 = 0; + u8 bgHi = bg << 4; + u16 size = strlen * 32; + for (i = 0; i < 2; i++) + { + u16 j; + for (j = 0; j < strlen; j++) // r5 + { + const u32 *glyphs = (const u8 *)(gFont3LatinGlyphs + (i * 0x80) + ((src[j] & 0xfff0) * 16) + ((src[j] & 0xf) * 8)); + + u16 k; // r6 + for (k = 0; k < 32; k++) + { + u8 r3 = *glyphs & 0xf0; + u8 r2 = *glyphs & 0x0f; + if (r3 == 0) + { + r3 = bgHi; + } + if (r2 == 0) + { + r2 = bg; + } + buffer[r9++] = r3 | r2; + glyphs++; + } + } + CpuCopy16(buffer, dest, size); + dest += width; + r9 = 0; + } + } +} +#else +__attribute__((naked)) void sub_8095904(const u8 *src, u8 *dest, u8 bgOverride, u16 width, u8 bg, u8 *buffer) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x1C\n" + "\tstr r0, [sp]\n" + "\tadds r7, r1, 0\n" + "\tadds r4, r2, 0\n" + "\tldr r0, [sp, 0x3C]\n" + "\tlsls r4, 24\n" + "\tlsrs r4, 24\n" + "\tlsls r3, 16\n" + "\tlsrs r3, 16\n" + "\tstr r3, [sp, 0x4]\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tstr r0, [sp, 0x8]\n" + "\tldr r0, [sp]\n" + "\tbl StringLength\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tmov r8, r0\n" + "\tcmp r4, 0\n" + "\tbne _08095988\n" + "\tmovs r5, 0\n" + "\tcmp r5, r8\n" + "\tbcs _08095A2E\n" + "_0809593E:\n" + "\tldr r1, [sp]\n" + "\tadds r0, r1, r5\n" + "\tldrb r2, [r0]\n" + "\tldr r0, _08095980 @ =0x0000fff0\n" + "\tands r0, r2\n" + "\tlsls r0, 6\n" + "\tmovs r1, 0xF\n" + "\tands r2, r1\n" + "\tlsls r2, 5\n" + "\tadds r0, r2\n" + "\tldr r1, _08095984 @ =gFont3LatinGlyphs\n" + "\tadds r4, r0, r1\n" + "\tadds r0, r4, 0\n" + "\tadds r1, r7, 0\n" + "\tmovs r2, 0x10\n" + "\tbl CpuSet\n" + "\tmovs r2, 0x80\n" + "\tlsls r2, 2\n" + "\tadds r0, r4, r2\n" + "\tldr r3, [sp, 0x4]\n" + "\tadds r1, r7, r3\n" + "\tmovs r2, 0x10\n" + "\tbl CpuSet\n" + "\tadds r7, 0x20\n" + "\tadds r0, r5, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r5, r0, 16\n" + "\tcmp r5, r8\n" + "\tbcc _0809593E\n" + "\tb _08095A2E\n" + "\t.align 2, 0\n" + "_08095980: .4byte 0x0000fff0\n" + "_08095984: .4byte gFont3LatinGlyphs\n" + "_08095988:\n" + "\tmovs r0, 0\n" + "\tmov r9, r0\n" + "\tldr r1, [sp, 0x8]\n" + "\tlsls r0, r1, 28\n" + "\tlsrs r0, 24\n" + "\tstr r0, [sp, 0xC]\n" + "\tmov r2, r8\n" + "\tlsls r0, r2, 21\n" + "\tmovs r1, 0\n" + "\tlsrs r0, 1\n" + "\tstr r0, [sp, 0x10]\n" + "_0809599E:\n" + "\tmovs r5, 0\n" + "\tldr r3, [sp, 0x4]\n" + "\tadds r3, r7, r3\n" + "\tstr r3, [sp, 0x14]\n" + "\tadds r0, r1, 0x1\n" + "\tstr r0, [sp, 0x18]\n" + "\tcmp r5, r8\n" + "\tbcs _08095A12\n" + "\tmovs r2, 0xF\n" + "\tmov r12, r2\n" + "\tlsls r1, 9\n" + "\tldr r0, _08095A40 @ =gFont3LatinGlyphs\n" + "\tadds r1, r0\n" + "\tmov r10, r1\n" + "_080959BA:\n" + "\tldr r3, [sp]\n" + "\tadds r0, r3, r5\n" + "\tldrb r1, [r0]\n" + "\tldr r0, _08095A44 @ =0x0000fff0\n" + "\tands r0, r1\n" + "\tlsls r0, 6\n" + "\tmov r2, r12\n" + "\tands r1, r2\n" + "\tlsls r1, 5\n" + "\tadds r0, r1\n" + "\tmov r3, r10\n" + "\tadds r4, r0, r3\n" + "\tmovs r6, 0\n" + "\tadds r5, 0x1\n" + "_080959D6:\n" + "\tldrb r0, [r4]\n" + "\tmovs r3, 0xF0\n" + "\tands r3, r0\n" + "\tmov r2, r12\n" + "\tands r2, r0\n" + "\tcmp r3, 0\n" + "\tbne _080959E6\n" + "\tldr r3, [sp, 0xC]\n" + "_080959E6:\n" + "\tcmp r2, 0\n" + "\tbne _080959EC\n" + "\tldr r2, [sp, 0x8]\n" + "_080959EC:\n" + "\tmov r0, r9\n" + "\tadds r1, r0, 0x1\n" + "\tlsls r1, 16\n" + "\tlsrs r1, 16\n" + "\tmov r9, r1\n" + "\tldr r1, [sp, 0x40]\n" + "\tadds r0, r1, r0\n" + "\torrs r3, r2\n" + "\tstrb r3, [r0]\n" + "\tadds r4, 0x1\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tcmp r6, 0x1F\n" + "\tbls _080959D6\n" + "\tlsls r0, r5, 16\n" + "\tlsrs r5, r0, 16\n" + "\tcmp r5, r8\n" + "\tbcc _080959BA\n" + "_08095A12:\n" + "\tldr r0, [sp, 0x40]\n" + "\tadds r1, r7, 0\n" + "\tldr r3, [sp, 0x10]\n" + "\tlsrs r2, r3, 16\n" + "\tbl CpuSet\n" + "\tldr r7, [sp, 0x14]\n" + "\tmovs r0, 0\n" + "\tmov r9, r0\n" + "\tldr r1, [sp, 0x18]\n" + "\tlsls r0, r1, 16\n" + "\tlsrs r1, r0, 16\n" + "\tcmp r1, 0x1\n" + "\tbls _0809599E\n" + "_08095A2E:\n" + "\tadd sp, 0x1C\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_08095A40: .4byte gFont3LatinGlyphs\n" + "_08095A44: .4byte 0x0000fff0"); +} +#endif + +void unref_sub_8095A48(const u8 *src, u8 *dest, u8 bgOverride, u8 width, u8 *buffer) +{ + u8 tmpBuffer[5]; + bool8 r6 = FALSE; + while (!r6) + { + u16 i; + for (i = 0; i < 4; i++) + { + if (*src == EOS) + { + if (i == 0) + { + return; + } + r6 = TRUE; + break; + } + else + { + tmpBuffer[i] = *src++; + } + } + while (i < 4) + { + tmpBuffer[i++] = 0; + } + tmpBuffer[i] = EOS; + sub_8095904(tmpBuffer, dest, bgOverride, 0x80, width, buffer); + dest += 0x100; + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 87c2802a7..97265b0c9 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -118,7 +118,7 @@ gUnknown_02024ACC = .; /* 2024ACC */ gUnknown_02024AD0 = .; /* 2024AD0 */ . += 0x110; -gObjectBankIDs = .; /* 2024BE0 */ +gBankSpriteIds = .; /* 2024BE0 */ . += 0x4; gCurrMovePos = .; /* 2024BE4 */ |