diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s deleted file mode 100644 index 44ba33c08..000000000 --- a/asm/battle_anim_80A5C6C.s +++ /dev/null @@ -1,6526 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetBattlerSpriteCoord -GetBattlerSpriteCoord: @ 80A5C6C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A5C8A - cmp r4, 0x3 - bne _080A5C8A - cmp r5, 0x3 - bne _080A5C8A - movs r4, 0x1 -_080A5C8A: - cmp r4, 0x4 - bhi _080A5D00 - lsls r0, r4, 2 - ldr r1, =_080A5C9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080A5C9C: - .4byte _080A5CB0 - .4byte _080A5CD8 - .4byte _080A5CB0 - .4byte _080A5D00 - .4byte _080A5D00 -_080A5CB0: - ldr r4, =gUnknown_08525F58 - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 22 - ldr r1, =gBattleTypeFlags - ldr r1, [r1] - movs r2, 0x1 - ands r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - b _080A5DB0 - .pool -_080A5CD8: - ldr r4, =gUnknown_08525F58 - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 22 - ldr r1, =gBattleTypeFlags - ldr r1, [r1] - movs r2, 0x1 - ands r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x1] - b _080A5DB0 - .pool -_080A5D00: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A5D28 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0x18] - ldrb r1, [r2, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A5D24 - ldrh r1, [r2, 0x2] - b _080A5D9A - .pool -_080A5D24: - ldrh r1, [r2] - b _080A5D9A -_080A5D28: - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A5D60 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A5D98 - ldr r1, =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _080A5D7E - .pool -_080A5D60: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A5D98 - ldr r1, =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_080A5D7E: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - b _080A5D9A - .pool -_080A5D98: - ldrh r1, [r1, 0x2] -_080A5D9A: - cmp r4, 0x3 - bne _080A5DA4 - adds r0, r5, 0 - movs r2, 0x1 - b _080A5DA8 -_080A5DA4: - adds r0, r5, 0 - movs r2, 0 -_080A5DA8: - bl sub_80A600C - lsls r0, 24 - lsrs r0, 24 -_080A5DB0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetBattlerSpriteCoord - - thumb_func_start sub_80A5DB8 -sub_80A5DB8: @ 80A5DB8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A5DDA - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A5DDA - b _080A5EC8 -_080A5DDA: - cmp r5, 0xC9 - bne _080A5E90 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A5E04 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0x18] - ldrb r1, [r2, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A5E00 - ldr r2, [r2, 0x10] - b _080A5E42 - .pool -_080A5E00: - ldr r2, [r2, 0x8] - b _080A5E42 -_080A5E04: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r4, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - bne _080A5E3C - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _080A5E42 - .pool -_080A5E3C: - ldr r0, =gTransformedPersonalities - adds r0, r1, r0 - ldr r2, [r0] -_080A5E42: - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080A5E7C - adds r0, r5, 0 - b _080A5E86 - .pool -_080A5E7C: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_080A5E86: - ldr r1, =gUnknown_083021D8 - lsls r0, 2 - b _080A5F90 - .pool -_080A5E90: - ldr r0, =0x00000181 - cmp r5, r0 - bne _080A5EB0 - ldr r0, =gUnknown_08525F8C - ldr r1, =gBattleMonForms - adds r1, r4, r1 - ldrb r1, [r1] - adds r1, r0 - ldrb r0, [r1] - b _080A5F94 - .pool -_080A5EB0: - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - bls _080A5EC0 - ldr r0, =gUnknown_083021D8 - b _080A5F92 - .pool -_080A5EC0: - ldr r1, =gUnknown_083021D8 - b _080A5F8E - .pool -_080A5EC8: - cmp r5, 0xC9 - bne _080A5F58 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r4, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - bne _080A5F04 - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _080A5F0A - .pool -_080A5F04: - ldr r0, =gTransformedPersonalities - adds r0, r1, r0 - ldr r2, [r0] -_080A5F0A: - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080A5F44 - adds r0, r5, 0 - b _080A5F4E - .pool -_080A5F44: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_080A5F4E: - ldr r1, =gMonFrontPicCoords - lsls r0, 2 - b _080A5F90 - .pool -_080A5F58: - ldr r0, =0x00000181 - cmp r5, r0 - bne _080A5F7C - ldr r0, =gCastformFrontSpriteCoords - ldr r1, =gBattleMonForms - adds r1, r4, r1 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - b _080A5F94 - .pool -_080A5F7C: - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - bls _080A5F8C - ldr r0, =gMonFrontPicCoords - b _080A5F92 - .pool -_080A5F8C: - ldr r1, =gMonFrontPicCoords -_080A5F8E: - lsls r0, r5, 2 -_080A5F90: - adds r0, r1 -_080A5F92: - ldrb r0, [r0, 0x1] -_080A5F94: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A5DB8 - - thumb_func_start sub_80A5FA0 -sub_80A5FA0: @ 80A5FA0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - adds r7, r4, 0 - movs r5, 0 - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5FFE - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A5FFE - ldr r0, =0x00000181 - cmp r4, r0 - bne _080A5FE8 - ldr r0, =gUnknown_08525F88 - ldr r1, =gBattleMonForms - adds r1, r6, r1 - ldrb r1, [r1] - adds r1, r0 - ldrb r5, [r1] - b _080A5FFE - .pool -_080A5FE8: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _080A5FF8 - ldr r0, =gEnemyMonElevation - b _080A5FFC - .pool -_080A5FF8: - ldr r0, =gEnemyMonElevation - adds r0, r7, r0 -_080A5FFC: - ldrb r5, [r0] -_080A5FFE: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A5FA0 - - thumb_func_start sub_80A600C -sub_80A600C: @ 80A600C - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 24 - lsrs r7, r2, 24 - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A6030 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A603E -_080A6030: - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80A5DB8 - lsls r0, 24 - lsrs r4, r0, 24 - b _080A605C -_080A603E: - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80A5DB8 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80A5FA0 - lsls r0, 24 - lsrs r0, 24 - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 -_080A605C: - adds r0, r6, 0 - bl GetBattlerPosition - ldr r3, =gUnknown_08525F58 - lsls r0, 24 - lsrs r0, 22 - ldr r1, =gBattleTypeFlags - ldr r1, [r1] - movs r2, 0x1 - ands r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, r4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r7, 0 - beq _080A609C - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A6096 - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 -_080A6096: - cmp r4, 0x68 - bls _080A609C - movs r4, 0x68 -_080A609C: - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A600C - - thumb_func_start sub_80A60AC -sub_80A60AC: @ 80A60AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0xFD - lsls r0, 24 - adds r1, r0 - lsrs r1, 24 - cmp r1, 0x1 - bhi _080A6126 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A60E8 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0x18] - ldrb r1, [r2, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A60E4 - ldrh r1, [r2, 0x2] - b _080A610E - .pool -_080A60E4: - ldrh r1, [r2] - b _080A610E -_080A60E8: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r4, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A610C - ldr r1, =gAnimBattlerSpecies - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - b _080A610E - .pool -_080A610C: - ldrh r1, [r1, 0x2] -_080A610E: - cmp r5, 0x3 - bne _080A611C - adds r0, r4, 0 - movs r2, 0x1 - bl sub_80A600C - b _080A612E -_080A611C: - adds r0, r4, 0 - movs r2, 0 - bl sub_80A600C - b _080A612E -_080A6126: - adds r0, r4, 0 - adds r1, r5, 0 - bl GetBattlerSpriteCoord -_080A612E: - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A60AC - - thumb_func_start GetBattlerSpriteDefault_Y -GetBattlerSpriteDefault_Y: @ 80A6138 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x4 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetBattlerSpriteDefault_Y - - thumb_func_start GetSubstituteSpriteDefault_Y -GetSubstituteSpriteDefault_Y: @ 80A614C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A6170 - adds r0, r4, 0 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 8 - movs r1, 0x80 - lsls r1, 13 - b _080A6180 -_080A6170: - adds r0, r4, 0 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 8 - movs r1, 0x88 - lsls r1, 13 -_080A6180: - adds r0, r1 - lsrs r0, 16 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetSubstituteSpriteDefault_Y - - thumb_func_start sub_80A6190 -sub_80A6190: @ 80A6190 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A6238 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A61E4 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A621C - ldr r1, =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _080A6202 - .pool -_080A61E4: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A621C - ldr r1, =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_080A6202: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - b _080A621E - .pool -_080A621C: - ldrh r4, [r1, 0x2] -_080A621E: - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A6238 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A5FA0 - subs r0, r6, r0 - lsls r0, 24 - lsrs r6, r0, 24 -_080A6238: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A6190 - - thumb_func_start GetAnimBattlerSpriteId -GetAnimBattlerSpriteId: @ 80A6240 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - bne _080A6268 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl IsBattlerSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _080A62B6 - ldr r1, =gBattlerSpriteIds - ldrb r0, [r4] - b _080A62C6 - .pool -_080A6268: - cmp r0, 0x1 - bne _080A6288 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - bl IsBattlerSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _080A62B6 - ldr r1, =gBattlerSpriteIds - ldrb r0, [r4] - b _080A62C6 - .pool -_080A6288: - cmp r1, 0x2 - bne _080A62A4 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A62B6 - b _080A62C0 - .pool -_080A62A4: - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - bne _080A62C0 -_080A62B6: - movs r0, 0xFF - b _080A62CA - .pool -_080A62C0: - ldr r1, =gBattlerSpriteIds - ldrb r0, [r5] - eors r0, r4 -_080A62C6: - adds r0, r1 - ldrb r0, [r0] -_080A62CA: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end GetAnimBattlerSpriteId - - thumb_func_start StoreSpriteCallbackInData6 -StoreSpriteCallbackInData6: @ 80A62D4 - strh r1, [r0, 0x3A] - lsrs r1, 16 - strh r1, [r0, 0x3C] - bx lr - thumb_func_end StoreSpriteCallbackInData6 - - thumb_func_start sub_80A62DC -sub_80A62DC: @ 80A62DC - ldrh r2, [r0, 0x3A] - movs r3, 0x3C - ldrsh r1, [r0, r3] - lsls r1, 16 - orrs r2, r1 - str r2, [r0, 0x1C] - bx lr - thumb_func_end sub_80A62DC - - thumb_func_start sub_80A62EC -sub_80A62EC: @ 80A62EC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A6340 - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080A632C - ldr r2, =0xffffff00 - b _080A6334 - .pool -_080A632C: - cmp r0, 0 - bge _080A6338 - movs r2, 0x80 - lsls r2, 1 -_080A6334: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_080A6338: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _080A6346 -_080A6340: - adds r0, r4, 0 - bl sub_80A62DC -_080A6346: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A62EC - - thumb_func_start sub_80A634C -sub_80A634C: @ 80A634C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A63BC - movs r2, 0x2E - ldrsh r0, [r4, r2] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x38] - adds r0, r2 - strh r0, [r4, 0x38] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080A63A8 - ldr r2, =0xffffff00 - b _080A63B0 - .pool -_080A63A8: - cmp r0, 0 - bge _080A63B4 - movs r2, 0x80 - lsls r2, 1 -_080A63B0: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_080A63B4: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _080A63C2 -_080A63BC: - adds r0, r4, 0 - bl sub_80A62DC -_080A63C2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A634C - - thumb_func_start sub_80A63C8 -sub_80A63C8: @ 80A63C8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A6444 - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x38] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080A6410 - ldr r2, =0xffffff00 - b _080A6418 - .pool -_080A6410: - cmp r0, 0 - bge _080A641C - movs r2, 0x80 - lsls r2, 1 -_080A6418: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_080A641C: - ldrh r1, [r4, 0x36] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0xFF - ble _080A6430 - ldr r2, =0xffffff00 - b _080A6438 - .pool -_080A6430: - cmp r0, 0 - bge _080A643C - movs r2, 0x80 - lsls r2, 1 -_080A6438: - adds r0, r1, r2 - strh r0, [r4, 0x36] -_080A643C: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _080A644A -_080A6444: - adds r0, r4, 0 - bl sub_80A62DC -_080A644A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A63C8 - - thumb_func_start sub_80A6450 -sub_80A6450: @ 80A6450 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A64A4 - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080A6490 - ldr r2, =0xffffff00 - b _080A6498 - .pool -_080A6490: - cmp r0, 0 - bge _080A649C - movs r2, 0x80 - lsls r2, 1 -_080A6498: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_080A649C: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _080A64AA -_080A64A4: - adds r0, r4, 0 - bl sub_80A62DC -_080A64AA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6450 - - thumb_func_start sub_80A64B0 -sub_80A64B0: @ 80A64B0 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _080A64C4 - subs r0, r2, 0x1 - strh r0, [r1, 0x2E] - b _080A64CA -_080A64C4: - adds r0, r1, 0 - bl sub_80A62DC -_080A64CA: - pop {r0} - bx r0 - thumb_func_end sub_80A64B0 - - thumb_func_start sub_80A64D0 -sub_80A64D0: @ 80A64D0 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A64EC - ldr r1, =sub_80A653C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A64D0 - - thumb_func_start sub_80A64EC -sub_80A64EC: @ 80A64EC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _080A6502 - ldrh r0, [r4, 0x2E] - negs r0, r0 - strh r0, [r4, 0x2E] -_080A6502: - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - subs r0, r1 - ldrh r5, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - cmp r0, 0 - bge _080A651C - negs r0, r0 -_080A651C: - strh r0, [r4, 0x2E] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - subs r0, r1 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x32] - strh r5, [r4, 0x30] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A64EC - - thumb_func_start sub_80A653C -sub_80A653C: @ 80A653C - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _080A6560 - subs r0, r2, 0x1 - strh r0, [r1, 0x2E] - ldrh r0, [r1, 0x30] - ldrh r2, [r1, 0x24] - adds r0, r2 - strh r0, [r1, 0x24] - ldrh r0, [r1, 0x32] - ldrh r3, [r1, 0x26] - adds r0, r3 - strh r0, [r1, 0x26] - b _080A6566 -_080A6560: - adds r0, r1, 0 - bl sub_80A62DC -_080A6566: - pop {r0} - bx r0 - thumb_func_end sub_80A653C - - thumb_func_start sub_80A656C -sub_80A656C: @ 80A656C - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _080A659C - subs r0, r1, 0x1 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r0, r1 - strh r0, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r3, [r2, 0x36] - adds r1, r3 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r2, 0x26] - b _080A65A2 -_080A659C: - adds r0, r2, 0 - bl sub_80A62DC -_080A65A2: - pop {r0} - bx r0 - thumb_func_end sub_80A656C - - thumb_func_start sub_80A65A8 -sub_80A65A8: @ 80A65A8 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080A65D8 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r4, 0x26] - b _080A65DE -_080A65D8: - adds r0, r4, 0 - bl sub_80A62DC -_080A65DE: - adds r0, r4, 0 - bl UpdateMonIconFrame - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A65A8 - - thumb_func_start sub_80A65EC -sub_80A65EC: @ 80A65EC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x34] - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, =sub_80A64D0 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A65EC - - thumb_func_start sub_80A6630 -sub_80A6630: @ 80A6630 - push {r4,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x2E] - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _080A6674 - subs r0, r1, 0x1 - strh r0, [r3, 0x2E] - ldr r2, =gSprites - movs r4, 0x34 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x30] - ldrh r4, [r0, 0x24] - adds r1, r4 - strh r1, [r0, 0x24] - movs r0, 0x34 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x32] - ldrh r2, [r0, 0x26] - adds r1, r2 - strh r1, [r0, 0x26] - b _080A667A - .pool -_080A6674: - adds r0, r3, 0 - bl sub_80A62DC -_080A667A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6630 - - thumb_func_start sub_80A6680 -sub_80A6680: @ 80A6680 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080A66D0 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - ldrh r0, [r4, 0x34] - adds r1, r0 - strh r1, [r4, 0x34] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - ldr r3, =gSprites - movs r0, 0x38 - ldrsh r2, [r4, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - lsls r1, 16 - asrs r1, 24 - strh r1, [r0, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] - b _080A66D6 - .pool -_080A66D0: - adds r0, r4, 0 - bl sub_80A62DC -_080A66D6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6680 - - thumb_func_start sub_80A66DC -sub_80A66DC: @ 80A66DC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080A673E - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r1, r0 - strh r1, [r4, 0x32] - ldrh r1, [r4, 0x36] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - adds r1, r0 - strh r1, [r4, 0x36] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _080A6744 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A6744 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080A6744 -_080A673E: - adds r0, r4, 0 - bl sub_80A62DC -_080A6744: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A66DC - - thumb_func_start move_anim_8074EE0 -move_anim_8074EE0: @ 80A674C - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end move_anim_8074EE0 - - thumb_func_start sub_80A6760 -sub_80A6760: @ 80A6760 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x34] - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, =sub_80A64D0 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6760 - - thumb_func_start sub_80A67A4 -sub_80A67A4: @ 80A67A4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - bl ResetPaletteStructByUid - adds r0, r4, 0 - bl move_anim_8074EE0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A67A4 - - thumb_func_start sub_80A67BC -sub_80A67BC: @ 80A67BC - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080A67D2 - adds r0, r2, 0 - bl sub_80A62DC -_080A67D2: - pop {r0} - bx r0 - thumb_func_end sub_80A67BC - - thumb_func_start sub_80A67D8 -sub_80A67D8: @ 80A67D8 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080A67EE - adds r0, r2, 0 - bl sub_80A62DC -_080A67EE: - pop {r0} - bx r0 - thumb_func_end sub_80A67D8 - - thumb_func_start sub_80A67F4 -sub_80A67F4: @ 80A67F4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A67F4 - - thumb_func_start sub_80A6814 -sub_80A6814: @ 80A6814 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6814 - - thumb_func_start sub_80A6838 -sub_80A6838: @ 80A6838 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6838 - - thumb_func_start sub_80A6864 -sub_80A6864: @ 80A6864 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - mov r8, r5 - ldr r7, =gBattleAnimAttacker - ldrb r0, [r7] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bhi _080A68B0 - cmp r6, r0 - bcs _080A68A4 - lsls r0, r5, 16 - b _080A68C0 - .pool -_080A68A4: - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A68BC -_080A68B0: - ldrh r1, [r4, 0x20] - lsls r0, r5, 16 - asrs r0, 16 - subs r1, r0 - strh r1, [r4, 0x20] - b _080A68C8 -_080A68BC: - mov r1, r8 - lsls r0, r1, 16 -_080A68C0: - asrs r0, 16 - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] -_080A68C8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A6864 - - thumb_func_start sub_80A68D4 -sub_80A68D4: @ 80A68D4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - movs r5, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - strh r0, [r4, 0x3A] - strh r5, [r4, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A68D4 - - thumb_func_start AnimateBallThrow -AnimateBallThrow: @ 80A6900 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6F3C - lsls r0, 24 - cmp r0, 0 - bne _080A692C - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - lsls r0, 16 - lsrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r0, 0 - b _080A692E -_080A692C: - movs r0, 0x1 -_080A692E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end AnimateBallThrow - - thumb_func_start sub_80A6934 -sub_80A6934: @ 80A6934 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6F3C - lsls r0, 24 - cmp r0, 0 - bne _080A6960 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - lsls r0, 16 - lsrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r0, 0 - b _080A6962 -_080A6960: - movs r0, 0x1 -_080A6962: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A6934 - - thumb_func_start oamt_add_pos2_onto_pos1 -oamt_add_pos2_onto_pos1: @ 80A6968 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - movs r2, 0 - strh r1, [r0, 0x20] - ldrh r1, [r0, 0x26] - ldrh r3, [r0, 0x22] - adds r1, r3 - strh r1, [r0, 0x22] - strh r2, [r0, 0x24] - strh r2, [r0, 0x26] - bx lr - thumb_func_end oamt_add_pos2_onto_pos1 - - thumb_func_start sub_80A6980 -sub_80A6980: @ 80A6980 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - cmp r1, 0 - bne _080A69A8 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_80A60AC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_80A60AC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_080A69A8: - ldr r4, =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_80A6864 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6980 - - thumb_func_start sub_80A69CC -sub_80A69CC: @ 80A69CC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - cmp r1, 0 - bne _080A69F0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_80A60AC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - b _080A6A04 - .pool -_080A69F0: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A60AC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 -_080A6A04: - bl sub_80A60AC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r4, =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_80A6864 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A69CC - - thumb_func_start GetBattlerSide -GetBattlerSide: @ 80A6A30 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gBattlerPositions - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end GetBattlerSide - - thumb_func_start GetBattlerPosition -GetBattlerPosition: @ 80A6A44 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gBattlerPositions - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetBattlerPosition - - thumb_func_start GetBattlerAtPosition -GetBattlerAtPosition: @ 80A6A54 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r1, 0 - ldr r0, =gBattlersCount - ldrb r2, [r0] - cmp r1, r2 - bcs _080A6A7E - ldr r4, =gBattlerPositions - ldrb r0, [r4] - cmp r0, r3 - beq _080A6A7E -_080A6A6C: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - bcs _080A6A7E - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - bne _080A6A6C -_080A6A7E: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GetBattlerAtPosition - - thumb_func_start IsBattlerSpritePresent -IsBattlerSpritePresent: @ 80A6A90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A6ABC - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - cmp r0, r4 - beq _080A6B0A - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - cmp r0, r4 - beq _080A6B0A - b _080A6B18 - .pool -_080A6ABC: - ldr r0, =gBattlerPositions - adds r0, r4, r0 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080A6B18 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A6AF0 - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _080A6AFE - .pool -_080A6AF0: - ldr r1, =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_080A6AFE: - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080A6B18 -_080A6B0A: - movs r0, 0x1 - b _080A6B1A - .pool -_080A6B18: - movs r0, 0 -_080A6B1A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsBattlerSpritePresent - - thumb_func_start IsDoubleBattle -IsDoubleBattle: @ 80A6B20 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end IsDoubleBattle - - thumb_func_start sub_80A6B30 -sub_80A6B30: @ 80A6B30 - push {r4,lr} - adds r4, r0, 0 - bl IsContest - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080A6B64 - ldr r0, =gUnknown_0202305C - ldr r0, [r0] - str r0, [r4] - ldr r0, =gUnknown_02023060 - ldr r0, [r0] - str r0, [r4, 0x4] - movs r1, 0 - movs r0, 0xE - strb r0, [r4, 0x8] - movs r0, 0x1 - strb r0, [r4, 0x9] - strh r1, [r4, 0xA] - b _080A6B7E - .pool -_080A6B64: - ldr r0, =gUnknown_0202305C - ldr r0, [r0] - str r0, [r4] - ldr r0, =gUnknown_02023060 - ldr r0, [r0] - str r0, [r4, 0x4] - movs r0, 0x8 - strb r0, [r4, 0x8] - movs r0, 0x1 - strb r0, [r4, 0x9] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0xA] -_080A6B7E: - strh r1, [r4, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6B30 - - thumb_func_start sub_80A6B90 -sub_80A6B90: @ 80A6B90 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl IsContest - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080A6BC4 - ldr r0, =gUnknown_0202305C - ldr r0, [r0] - str r0, [r4] - ldr r0, =gUnknown_02023060 - ldr r0, [r0] - str r0, [r4, 0x4] - movs r1, 0 - movs r0, 0xE - strb r0, [r4, 0x8] - movs r0, 0x1 - strb r0, [r4, 0x9] - strh r1, [r4, 0xA] - b _080A6BEA - .pool -_080A6BC4: - cmp r5, 0x1 - bne _080A6BD0 - adds r0, r4, 0 - bl sub_80A6B30 - b _080A6BEC -_080A6BD0: - ldr r0, =gUnknown_0202305C - ldr r0, [r0] - str r0, [r4] - ldr r0, =gUnknown_02023060 - ldr r0, [r0] - str r0, [r4, 0x4] - movs r0, 0x9 - strb r0, [r4, 0x8] - movs r0, 0x2 - strb r0, [r4, 0x9] - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r4, 0xA] -_080A6BEA: - strh r1, [r4, 0xC] -_080A6BEC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6B90 - - thumb_func_start sub_80A6BFC -sub_80A6BFC: @ 80A6BFC - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0202305C - ldr r0, [r0] - str r0, [r4] - ldr r0, =gUnknown_02023060 - ldr r0, [r0] - str r0, [r4, 0x4] - bl IsContest - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _080A6C30 - movs r0, 0 - movs r1, 0xE - strb r1, [r4, 0x8] - movs r1, 0x1 - strb r1, [r4, 0x9] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - b _080A6C60 - .pool -_080A6C30: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _080A6C50 - movs r0, 0x8 - strb r0, [r4, 0x8] - strb r1, [r4, 0x9] - movs r0, 0x80 - lsls r0, 2 - b _080A6C5C - .pool -_080A6C50: - movs r0, 0x9 - strb r0, [r4, 0x8] - movs r0, 0x2 - strb r0, [r4, 0x9] - movs r0, 0xC0 - lsls r0, 2 -_080A6C5C: - strh r0, [r4, 0xA] - strh r5, [r4, 0xC] -_080A6C60: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A6BFC - - thumb_func_start sub_80A6C68 -sub_80A6C68: @ 80A6C68 - push {lr} - sub sp, 0x20 - adds r1, r0, 0 - add r0, sp, 0xC - bl sub_80A6B90 - movs r0, 0 - str r0, [sp, 0x1C] - add r0, sp, 0x1C - ldr r1, [sp, 0xC] - ldr r2, =0x05000800 - bl CpuSet - add r0, sp, 0xC - ldrb r0, [r0, 0x9] - ldr r1, [sp, 0xC] - movs r2, 0x80 - lsls r2, 6 - add r3, sp, 0xC - ldrh r3, [r3, 0xA] - bl LoadBgTiles - add r0, sp, 0xC - ldrb r0, [r0, 0x9] - movs r1, 0x20 - str r1, [sp] - movs r1, 0x40 - str r1, [sp, 0x4] - movs r1, 0x11 - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - add r0, sp, 0xC - ldrb r0, [r0, 0x9] - bl CopyBgTilemapBufferToVram - add sp, 0x20 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6C68 - - thumb_func_start sub_80A6CC0 -sub_80A6CC0: @ 80A6CC0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r5, r0, 0 - mov r8, r1 - adds r6, r2, 0 - movs r0, 0 - str r0, [sp] - ldr r4, =gUnknown_0202305C - ldr r1, [r4] - ldr r2, =0x05000800 - mov r0, sp - bl CpuSet - ldr r1, [r4] - mov r0, r8 - bl LZDecompressWram - lsls r5, 24 - lsrs r5, 24 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 6 - lsls r6, 16 - lsrs r6, 16 - adds r0, r5, 0 - adds r3, r6, 0 - bl LoadBgTiles - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6CC0 - - thumb_func_start sub_80A6D10 -sub_80A6D10: @ 80A6D10 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A6D10 - - thumb_func_start sub_80A6D48 -sub_80A6D48: @ 80A6D48 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6D10 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl CopyBgTilemapBufferToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6D48 - - thumb_func_start sub_80A6D60 -sub_80A6D60: @ 80A6D60 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r2, 0 - ldrb r0, [r4, 0x9] - bl sub_80A6D10 - bl IsContest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6D86 - ldrb r0, [r4, 0x8] - ldr r1, [r4, 0x4] - lsls r3, r5, 24 - lsrs r3, 24 - movs r2, 0 - bl sub_80A4720 -_080A6D86: - ldrb r0, [r4, 0x9] - bl CopyBgTilemapBufferToVram - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A6D60 - - thumb_func_start sub_80A6D94 -sub_80A6D94: @ 80A6D94 - push {lr} - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A6DA4 - movs r0, 0x2 - b _080A6DA6 -_080A6DA4: - movs r0, 0x1 -_080A6DA6: - pop {r1} - bx r1 - thumb_func_end sub_80A6D94 - - thumb_func_start sub_80A6DAC -sub_80A6DAC: @ 80A6DAC - push {lr} - lsls r0, 24 - cmp r0, 0 - beq _080A6DBE - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A6DD4 -_080A6DBE: - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x1 - bl SetAnimBgAttribute - b _080A6DE8 -_080A6DD4: - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl SetAnimBgAttribute -_080A6DE8: - pop {r0} - bx r0 - thumb_func_end sub_80A6DAC - - thumb_func_start sub_80A6DEC -sub_80A6DEC: @ 80A6DEC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_80A6E14 - ldr r1, =sub_80A65A8 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6DEC - - thumb_func_start sub_80A6E14 -sub_80A6E14: @ 80A6E14 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x32] - ldrh r1, [r5, 0x30] - subs r0, r1 - ldrh r4, [r5, 0x36] - ldrh r1, [r5, 0x34] - subs r4, r1 - lsls r4, 24 - lsrs r4, 16 - lsls r0, 24 - asrs r0, 16 - movs r2, 0x2E - ldrsh r1, [r5, r2] - bl __divsi3 - movs r6, 0 - strh r0, [r5, 0x30] - lsls r4, 16 - asrs r4, 16 - movs r0, 0x2E - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl __divsi3 - strh r0, [r5, 0x32] - strh r6, [r5, 0x36] - strh r6, [r5, 0x34] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A6E14 - - thumb_func_start obj_translate_based_on_private_1_2_3_4 -obj_translate_based_on_private_1_2_3_4: @ 80A6E54 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - movs r0, 0x32 - ldrsh r1, [r7, r0] - movs r2, 0x30 - ldrsh r0, [r7, r2] - subs r1, r0 - movs r3, 0x36 - ldrsh r2, [r7, r3] - movs r3, 0x34 - ldrsh r0, [r7, r3] - subs r2, r0 - lsrs r0, r1, 31 - mov r8, r0 - lsrs r3, r2, 31 - mov r9, r3 - cmp r1, 0 - bge _080A6E80 - negs r1, r1 -_080A6E80: - lsls r0, r1, 24 - lsrs r6, r0, 16 - adds r0, r2, 0 - cmp r0, 0 - bge _080A6E8C - negs r0, r0 -_080A6E8C: - lsls r0, 24 - lsrs r5, r0, 16 - movs r0, 0x2E - ldrsh r4, [r7, r0] - adds r0, r6, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r2, r8 - cmp r2, 0 - beq _080A6EB8 - movs r0, 0x1 - orrs r6, r0 - b _080A6EBC -_080A6EB8: - ldr r0, =0x0000fffe - ands r6, r0 -_080A6EBC: - mov r3, r9 - cmp r3, 0 - beq _080A6ECC - movs r0, 0x1 - orrs r5, r0 - b _080A6ED0 - .pool -_080A6ECC: - ldr r0, =0x0000fffe - ands r5, r0 -_080A6ED0: - movs r0, 0 - strh r6, [r7, 0x30] - strh r5, [r7, 0x32] - strh r0, [r7, 0x36] - strh r0, [r7, 0x34] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end obj_translate_based_on_private_1_2_3_4 - - thumb_func_start sub_80A6EEC -sub_80A6EEC: @ 80A6EEC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, =sub_80A6F98 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6EEC - - thumb_func_start sub_80A6F14 -sub_80A6F14: @ 80A6F14 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, =sub_80A6FB4 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A6F14 - - thumb_func_start sub_80A6F3C -sub_80A6F3C: @ 80A6F3C - push {r4-r6,lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080A6F4C - movs r0, 0x1 - b _080A6F90 -_080A6F4C: - ldrh r1, [r2, 0x30] - ldrh r4, [r2, 0x32] - ldrh r6, [r2, 0x34] - ldrh r5, [r2, 0x36] - adds r0, r6, r1 - lsls r3, r0, 16 - lsrs r6, r3, 16 - adds r0, r5, r4 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080A6F6E - lsrs r0, r3, 24 - negs r0, r0 - b _080A6F70 -_080A6F6E: - lsrs r0, r3, 24 -_080A6F70: - strh r0, [r2, 0x24] - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - beq _080A6F80 - lsrs r0, r5, 8 - negs r0, r0 - b _080A6F82 -_080A6F80: - lsrs r0, r5, 8 -_080A6F82: - strh r0, [r2, 0x26] - strh r6, [r2, 0x34] - strh r5, [r2, 0x36] - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - movs r0, 0 -_080A6F90: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A6F3C - - thumb_func_start sub_80A6F98 -sub_80A6F98: @ 80A6F98 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6F3C - lsls r0, 24 - cmp r0, 0 - beq _080A6FAC - adds r0, r4, 0 - bl sub_80A62DC -_080A6FAC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6F98 - - thumb_func_start sub_80A6FB4 -sub_80A6FB4: @ 80A6FB4 - push {r4,lr} - adds r4, r0, 0 - bl sub_8039E9C - adds r0, r4, 0 - bl sub_80A6F3C - lsls r0, 24 - cmp r0, 0 - beq _080A6FCE - adds r0, r4, 0 - bl sub_80A62DC -_080A6FCE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6FB4 - - thumb_func_start sub_80A6FD4 -sub_80A6FD4: @ 80A6FD4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x30 - ldrsh r0, [r4, r2] - subs r0, r1, r0 - cmp r0, 0 - bge _080A6FE8 - negs r0, r0 -_080A6FE8: - lsls r0, 8 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6FD4 - - thumb_func_start sub_80A7000 -sub_80A7000: @ 80A7000 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_80A6FD4 - ldr r1, =sub_80A6F98 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7000 - - thumb_func_start sub_80A7028 -sub_80A7028: @ 80A7028 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - movs r0, 0x32 - ldrsh r1, [r7, r0] - movs r2, 0x30 - ldrsh r0, [r7, r2] - subs r1, r0 - movs r3, 0x36 - ldrsh r2, [r7, r3] - movs r3, 0x34 - ldrsh r0, [r7, r3] - subs r2, r0 - lsrs r0, r1, 31 - mov r8, r0 - lsrs r3, r2, 31 - mov r9, r3 - cmp r1, 0 - bge _080A7054 - negs r1, r1 -_080A7054: - lsls r0, r1, 20 - lsrs r6, r0, 16 - adds r0, r2, 0 - cmp r0, 0 - bge _080A7060 - negs r0, r0 -_080A7060: - lsls r0, 20 - lsrs r5, r0, 16 - movs r0, 0x2E - ldrsh r4, [r7, r0] - adds r0, r6, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r2, r8 - cmp r2, 0 - beq _080A708C - movs r0, 0x1 - orrs r6, r0 - b _080A7090 -_080A708C: - ldr r0, =0x0000fffe - ands r6, r0 -_080A7090: - mov r3, r9 - cmp r3, 0 - beq _080A70A0 - movs r0, 0x1 - orrs r5, r0 - b _080A70A4 - .pool -_080A70A0: - ldr r0, =0x0000fffe - ands r5, r0 -_080A70A4: - movs r0, 0 - strh r6, [r7, 0x30] - strh r5, [r7, 0x32] - strh r0, [r7, 0x36] - strh r0, [r7, 0x34] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7028 - - thumb_func_start sub_80A70C0 -sub_80A70C0: @ 80A70C0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_80A7028 - ldr r1, =sub_80A7144 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A70C0 - - thumb_func_start sub_80A70E8 -sub_80A70E8: @ 80A70E8 - push {r4-r6,lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080A70F8 - movs r0, 0x1 - b _080A713C -_080A70F8: - ldrh r1, [r2, 0x30] - ldrh r4, [r2, 0x32] - ldrh r6, [r2, 0x34] - ldrh r5, [r2, 0x36] - adds r0, r6, r1 - lsls r3, r0, 16 - lsrs r6, r3, 16 - adds r0, r5, r4 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080A711A - lsrs r0, r3, 20 - negs r0, r0 - b _080A711C -_080A711A: - lsrs r0, r3, 20 -_080A711C: - strh r0, [r2, 0x24] - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - beq _080A712C - lsrs r0, r5, 4 - negs r0, r0 - b _080A712E -_080A712C: - lsrs r0, r5, 4 -_080A712E: - strh r0, [r2, 0x26] - strh r6, [r2, 0x34] - strh r5, [r2, 0x36] - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - movs r0, 0 -_080A713C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A70E8 - - thumb_func_start sub_80A7144 -sub_80A7144: @ 80A7144 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A70E8 - lsls r0, 24 - cmp r0, 0 - beq _080A7158 - adds r0, r4, 0 - bl sub_80A62DC -_080A7158: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7144 - - thumb_func_start sub_80A7160 -sub_80A7160: @ 80A7160 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x30 - ldrsh r0, [r4, r2] - subs r0, r1, r0 - cmp r0, 0 - bge _080A7174 - negs r0, r0 -_080A7174: - lsls r0, 4 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80A7028 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7160 - - thumb_func_start sub_80A718C -sub_80A718C: @ 80A718C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_80A7160 - ldr r1, =sub_80A7144 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A718C - - thumb_func_start obj_id_set_rotscale -obj_id_set_rotscale: @ 80A71B4 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r5, =0xffff0000 - lsls r2, 16 - lsrs r1, 16 - orrs r1, r2 - str r1, [sp] - ldr r0, [sp, 0x4] - ands r0, r5 - orrs r0, r3 - str r0, [sp, 0x4] - bl sub_80A7238 - lsls r0, 24 - cmp r0, 0 - beq _080A71F0 - mov r0, sp - ldrh r0, [r0] - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - ands r1, r5 - orrs r1, r0 - str r1, [sp] -_080A71F0: - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x3] - lsls r4, 26 - lsrs r4, 27 - add r5, sp, 0x8 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - ldr r0, =gOamMatrices - lsls r4, 3 - adds r4, r0 - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x4] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x6] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end obj_id_set_rotscale - - thumb_func_start sub_80A7238 -sub_80A7238: @ 80A7238 - push {r4,lr} - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A7268 - ldr r4, =gSprites - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x32 - ldrsh r0, [r1, r2] - cmp r0, 0xC9 - beq _080A7268 - movs r0, 0x1 - b _080A726A - .pool -_080A7268: - movs r0, 0 -_080A726A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A7238 - - thumb_func_start sub_80A7270 -sub_80A7270: @ 80A7270 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r1, =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r4, r0, r1 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A72A6 - adds r0, r7, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A72B4 -_080A72A6: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_080A72B4: - ldr r1, =gSprites - lsls r4, r6, 4 - adds r0, r4, r6 - lsls r0, 2 - adds r5, r0, r1 - movs r0, 0x3 - mov r1, r8 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x1] - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A7312 - ldrb r0, [r5, 0x1] - lsls r0, 30 - cmp r0, 0 - bne _080A7312 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] -_080A7312: - ldr r1, =gSprites - adds r0, r4, r6 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x1] - movs r1, 0x3 - orrs r3, r1 - strb r3, [r0, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r0, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - bl CalcCenterToCornerVec - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7270 - - thumb_func_start sub_80A7344 -sub_80A7344: @ 80A7344 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - movs r2, 0xD - negs r2, r2 - ands r1, r2 - strb r1, [r0, 0x1] - adds r3, r0, 0 - adds r3, 0x2C - ldrb r2, [r3] - movs r1, 0x7F - ands r1, r2 - strb r1, [r3] - ldrb r3, [r0, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r0, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - bl CalcCenterToCornerVec - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7344 - - thumb_func_start sub_80A73A0 -sub_80A73A0: @ 80A73A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldrb r0, [r2, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r1, =gOamMatrices - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x4] - movs r3, 0x4 - ldrsh r0, [r0, r3] - cmp r0, 0 - bge _080A73CC - negs r0, r0 - lsls r0, 16 - lsrs r1, r0, 16 -_080A73CC: - lsls r0, r1, 16 - asrs r0, 19 - strh r0, [r2, 0x26] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A73A0 - - thumb_func_start sub_80A73E0 -sub_80A73E0: @ 80A73E0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r4, r0, 0 - ldr r0, [sp, 0x28] - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 16 - lsrs r7, r3, 16 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldrb r0, [r4, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A7486 - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - cmp r6, 0 - beq _080A742E - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec -_080A742E: - ldr r6, =0xffff0000 - lsls r0, r7, 16 - orrs r5, r0 - str r5, [sp] - ldr r0, [sp, 0x4] - ands r0, r6 - mov r1, r8 - orrs r0, r1 - str r0, [sp, 0x4] - bl sub_80A7238 - lsls r0, 24 - cmp r0, 0 - beq _080A745C - mov r0, sp - ldrh r0, [r0] - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - ands r1, r6 - orrs r1, r0 - str r1, [sp] -_080A745C: - ldrb r4, [r4, 0x3] - lsls r4, 26 - lsrs r4, 27 - add r5, sp, 0x8 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - ldr r0, =gOamMatrices - lsls r4, 3 - adds r4, r0 - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x4] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x6] -_080A7486: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A73E0 - - thumb_func_start sub_80A749C -sub_80A749C: @ 80A749C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r3, 0x80 - lsls r3, 1 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r3, 0 - bl sub_80A73E0 - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A749C - - thumb_func_start sub_80A74DC -sub_80A74DC: @ 80A74DC - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl ArcTan2 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80A74DC - - thumb_func_start sub_80A74F4 -sub_80A74F4: @ 80A74F4 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl sub_80A74DC - lsls r0, 16 - negs r0, r0 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80A74F4 - - thumb_func_start sub_80A750C -sub_80A750C: @ 80A750C - push {r4-r7,lr} - lsls r1, 24 - lsls r0, 20 - lsrs r0, 16 - cmp r1, 0 - bne _080A7588 - ldr r2, =gPlttBufferUnfaded - ldr r1, =gPlttBufferFaded - lsls r0, 1 - adds r4, r0, r1 - adds r5, r0, r2 - movs r6, 0xF -_080A7524: - ldr r0, [r5] - lsls r2, r0, 27 - lsrs r2, 27 - lsls r1, r0, 22 - lsrs r1, 27 - adds r2, r1 - lsls r0, 17 - lsrs r0, 27 - adds r0, r2 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1F - ands r0, r1 - ldrb r1, [r4] - movs r3, 0x20 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4] - lsls r3, r0, 5 - ldrh r1, [r4] - ldr r7, =0xfffffc1f - adds r2, r7, 0 - ands r1, r2 - orrs r1, r3 - strh r1, [r4] - lsls r0, 2 - ldrb r1, [r4, 0x1] - movs r3, 0x7D - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x1] - adds r4, 0x2 - adds r5, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _080A7524 - b _080A7598 - .pool -_080A7588: - lsls r1, r0, 1 - ldr r0, =gPlttBufferUnfaded - adds r0, r1, r0 - ldr r2, =gPlttBufferFaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet -_080A7598: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A750C - - thumb_func_start sub_80A75AC -sub_80A75AC: @ 80A75AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r4, [sp, 0x28] - ldr r5, [sp, 0x2C] - ldr r6, [sp, 0x30] - lsls r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - lsls r5, 24 - lsrs r5, 24 - str r5, [sp] - lsls r6, 24 - lsrs r6, 24 - str r6, [sp, 0x4] - movs r4, 0 - cmp r0, 0 - beq _080A7602 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A75F6 - movs r4, 0xE - b _080A7602 -_080A75F6: - bl sub_80A6D94 - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x1 - lsls r4, r0 -_080A7602: - cmp r7, 0 - beq _080A7614 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_080A7614: - mov r0, r8 - cmp r0, 0 - beq _080A7628 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_080A7628: - mov r0, r9 - cmp r0, 0 - beq _080A764E - ldr r6, =gBattleAnimAttacker - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A764E - ldrb r0, [r6] - eors r0, r5 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_080A764E: - mov r0, r10 - cmp r0, 0 - beq _080A7674 - ldr r6, =gBattleAnimTarget - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A7674 - ldrb r0, [r6] - eors r0, r5 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_080A7674: - ldr r0, [sp] - cmp r0, 0 - beq _080A769A - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A7694 - movs r0, 0x80 - lsls r0, 1 - b _080A7698 - .pool -_080A7694: - movs r0, 0x80 - lsls r0, 7 -_080A7698: - orrs r4, r0 -_080A769A: - ldr r0, [sp, 0x4] - cmp r0, 0 - beq _080A76B0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A76B0 - movs r0, 0x80 - lsls r0, 2 - orrs r4, r0 -_080A76B0: - adds r0, r4, 0 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A75AC - - thumb_func_start sub_80A76C4 -sub_80A76C4: @ 80A76C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - movs r4, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A76F2 - cmp r5, 0 - beq _080A77A0 - movs r4, 0x80 - lsls r4, 11 - b _080A77A0 -_080A76F2: - cmp r5, 0 - beq _080A771A - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A771A - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r4, 0x1 - lsls r4, r0 -_080A771A: - cmp r6, 0 - beq _080A7746 - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A7746 - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_080A7746: - cmp r7, 0 - beq _080A7772 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A7772 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_080A7772: - mov r0, r8 - cmp r0, 0 - beq _080A77A0 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A77A0 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_080A77A0: - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A76C4 - - thumb_func_start sub_80A77AC -sub_80A77AC: @ 80A77AC - lsls r0, 24 - lsrs r0, 24 - bx lr - thumb_func_end sub_80A77AC - - thumb_func_start sub_80A77B4 -sub_80A77B4: @ 80A77B4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80A77B4 - - thumb_func_start sub_80A77C8 -sub_80A77C8: @ 80A77C8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A7806 - ldr r2, =gBattleAnimArgs - movs r3, 0x6 - ldrsh r0, [r2, r3] - movs r1, 0 - cmp r0, 0 - bne _080A77E2 - movs r1, 0x1 -_080A77E2: - movs r3, 0x4 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080A77F8 - adds r0, r4, 0 - bl sub_80A69CC - b _080A77FE - .pool -_080A77F8: - adds r0, r4, 0 - bl sub_80A6980 -_080A77FE: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080A781A -_080A7806: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _080A781A - adds r0, r4, 0 - bl move_anim_8074EE0 -_080A781A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A77C8 - - thumb_func_start sub_80A7820 -sub_80A7820: @ 80A7820 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - movs r1, 0xA - ldrsh r0, [r6, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0 - cmp r0, 0 - bne _080A7838 - movs r1, 0x1 -_080A7838: - ldrb r0, [r6, 0xA] - movs r7, 0x1 - cmp r0, 0 - bne _080A7842 - movs r7, 0x3 -_080A7842: - adds r0, r5, 0 - bl sub_80A69CC - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A785C - ldrh r0, [r6, 0x4] - negs r0, r0 - strh r0, [r6, 0x4] -_080A785C: - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - ldrb r0, [r4] - adds r1, r7, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - strh r0, [r5, 0x36] - ldr r0, =sub_80A6EEC - str r0, [r5, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7820 - - thumb_func_start sub_80A78AC -sub_80A78AC: @ 80A78AC - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_80A69CC - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A78CC - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080A78CC: - ldr r4, =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r6, 0x36] - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x38] - adds r0, r6, 0 - bl sub_80A68D4 - ldr r0, =sub_80A791C - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A78AC - - thumb_func_start sub_80A791C -sub_80A791C: @ 80A791C - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _080A7930 - adds r0, r4, 0 - bl DestroyAnimSprite -_080A7930: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A791C - - thumb_func_start sub_80A7938 -sub_80A7938: @ 80A7938 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r0, =gBattleAnimArgs - movs r2, 0xC - ldrsh r1, [r0, r2] - cmp r1, 0 - bne _080A7950 - movs r4, 0x1 - movs r7, 0x3 - b _080A7954 - .pool -_080A7950: - movs r4, 0 - movs r7, 0x1 -_080A7954: - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080A796C - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A69CC - ldr r0, =gBattleAnimAttacker - b _080A7976 - .pool -_080A796C: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A6980 - ldr r0, =gBattleAnimTarget -_080A7976: - ldrb r6, [r0] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A798E - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080A798E: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A6980 - ldr r4, =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x2E] - adds r0, r6, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r4, 0x4] - adds r0, r2 - strh r0, [r5, 0x32] - adds r0, r6, 0 - adds r1, r7, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r5, 0x36] - ldr r0, =sub_80A6EEC - str r0, [r5, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7938 - - thumb_func_start duplicate_obj_of_side_rel2move_in_transparent_mode -duplicate_obj_of_side_rel2move_in_transparent_mode: @ 80A79E8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _080A7A52 - movs r6, 0 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r1, r0, 2 -_080A7A04: - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r4, r0, r2 - adds r5, r4, 0 - adds r5, 0x3E - ldrb r0, [r5] - lsls r0, 31 - cmp r0, 0 - bne _080A7A48 - adds r0, r4, 0 - adds r1, r2 - movs r2, 0x44 - bl memcpy - ldrb r1, [r4, 0x1] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x1] - ldrb r0, [r5] - adds r2, 0x8 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r5] - lsls r0, r6, 16 - asrs r0, 16 - b _080A7A56 - .pool -_080A7A48: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3F - bls _080A7A04 -_080A7A52: - movs r0, 0x1 - negs r0, r0 -_080A7A56: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end duplicate_obj_of_side_rel2move_in_transparent_mode - - thumb_func_start obj_delete_but_dont_free_vram -obj_delete_but_dont_free_vram: @ 80A7A5C - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - bl DestroySprite - pop {r0} - bx r0 - thumb_func_end obj_delete_but_dont_free_vram - - thumb_func_start sub_80A7A74 -sub_80A7A74: @ 80A7A74 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - movs r3, 0 - ldr r2, =gBattleAnimArgs - movs r0, 0x4 - ldrsh r1, [r2, r0] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r1, r0 - ble _080A7A8E - movs r3, 0x1 -_080A7A8E: - cmp r1, r0 - bge _080A7A94 - ldr r3, =0x0000ffff -_080A7A94: - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r4, 0x2 - ldrsh r0, [r2, r4] - cmp r1, r0 - ble _080A7AA2 - movs r6, 0x1 -_080A7AA2: - cmp r1, r0 - bge _080A7AA8 - ldr r6, =0x0000ffff -_080A7AA8: - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r1, 0 - strh r1, [r4, 0x8] - ldrh r0, [r2, 0x8] - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] - ldrh r0, [r2] - strh r0, [r4, 0xE] - ldrh r0, [r2, 0x2] - strh r0, [r4, 0x10] - strh r3, [r4, 0x12] - strh r6, [r4, 0x14] - ldrh r0, [r2, 0x4] - strh r0, [r4, 0x16] - ldrh r0, [r2, 0x6] - strh r0, [r4, 0x18] - ldrh r1, [r2, 0x2] - lsls r1, 8 - ldrh r0, [r2] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r0, =sub_80A7AFC - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7A74 - - thumb_func_start sub_80A7AFC -sub_80A7AFC: @ 80A7AFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xA - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080A7B90 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A7B4C - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r1, [r4, r3] - movs r3, 0x16 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _080A7B60 - ldrh r0, [r4, 0x12] - adds r0, r2, r0 - strh r0, [r4, 0xE] - b _080A7B60 - .pool -_080A7B4C: - ldrh r2, [r4, 0x10] - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r3, 0x18 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _080A7B60 - ldrh r0, [r4, 0x14] - adds r0, r2, r0 - strh r0, [r4, 0x10] -_080A7B60: - ldrh r1, [r4, 0x10] - lsls r1, 8 - ldrh r0, [r4, 0xE] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080A7B90 - movs r3, 0x10 - ldrsh r1, [r4, r3] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080A7B90 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A7B90: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A7AFC - - thumb_func_start sub_80A7B98 -sub_80A7B98: @ 80A7B98 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - bne _080A7BBC - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080A7BE2 - .pool -_080A7BBC: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - lsls r1, 4 - ldr r3, =0x00000101 - adds r2, r3, 0 - adds r1, r2 - strh r1, [r0, 0x8] - bl sub_80A7BF4 -_080A7BE2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7B98 - - thumb_func_start sub_80A7BF4 -sub_80A7BF4: @ 80A7BF4 - ldr r3, =gBattleAnimArgs - ldrh r1, [r3, 0x2] - movs r2, 0 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - ldrh r1, [r3, 0x4] - strh r1, [r0, 0xE] - strh r2, [r0, 0x10] - ldrh r1, [r3, 0x6] - strh r1, [r0, 0x12] - strh r2, [r0, 0x14] - ldrh r1, [r3, 0x8] - strh r1, [r0, 0x16] - ldr r1, =sub_80A7C1C - str r1, [r0] - bx lr - .pool - thumb_func_end sub_80A7BF4 - - thumb_func_start sub_80A7C1C -sub_80A7C1C: @ 80A7C1C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x12 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080A7CAC - movs r0, 0 - strh r0, [r4, 0x10] - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A7C78 - ldrh r2, [r4, 0xC] - adds r2, 0x1 - strh r2, [r4, 0xC] - ldrh r0, [r4, 0x8] - lsls r2, 24 - lsrs r2, 24 - ldrh r3, [r4, 0xA] - movs r1, 0xF - bl BlendPalette - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080A7CAC - movs r0, 0x1 - strh r0, [r4, 0x14] - b _080A7CAC - .pool -_080A7C78: - ldrh r2, [r4, 0xC] - subs r2, 0x1 - strh r2, [r4, 0xC] - ldrh r0, [r4, 0x8] - lsls r2, 24 - lsrs r2, 24 - ldrh r3, [r4, 0xA] - movs r1, 0xF - bl BlendPalette - movs r0, 0xC - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _080A7CAC - ldrh r0, [r4, 0x16] - subs r0, 0x1 - strh r0, [r4, 0x16] - lsls r0, 16 - cmp r0, 0 - beq _080A7CA6 - strh r1, [r4, 0x10] - strh r1, [r4, 0x14] - b _080A7CAC -_080A7CA6: - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A7CAC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A7C1C - - thumb_func_start sub_80A7CB4 -sub_80A7CB4: @ 80A7CB4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _080A7CD8 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080A7CEE - .pool -_080A7CD8: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - lsls r1, r2, 4 - ldr r2, =0x00000101 - adds r1, r2 - strh r1, [r0, 0x8] - bl sub_80A7BF4 -_080A7CEE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7CB4 - - thumb_func_start sub_80A7CFC -sub_80A7CFC: @ 80A7CFC - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - strh r1, [r3, 0x16] - strh r1, [r3, 0x18] - strh r1, [r3, 0x1A] - strh r4, [r3, 0x26] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r3, 0x1C] - strh r0, [r3, 0x1E] - strh r1, [r3, 0x20] - adds r0, r3, 0 - adds r0, 0x22 - adds r3, 0x24 - adds r1, r3, 0 - bl sub_80A8048 - adds r0, r4, 0 - movs r1, 0 - bl sub_80A7270 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7CFC - - thumb_func_start sub_80A7D34 -sub_80A7D34: @ 80A7D34 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_02038444 - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - bl sub_80A8050 - movs r3, 0x16 - ldrsh r1, [r4, r3] - lsls r1, 3 - adds r1, r0, r1 - str r1, [r5] - movs r6, 0 - ldrsh r2, [r1, r6] - ldr r0, =0x00007ffe - cmp r2, r0 - beq _080A7DDC - cmp r2, r0 - bgt _080A7E3C - subs r0, 0x1 - cmp r2, r0 - beq _080A7DE2 - ldrb r0, [r1, 0x5] - cmp r0, 0 - bne _080A7D82 - ldrh r0, [r1] - strh r0, [r4, 0x1C] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x1E] - ldrb r0, [r1, 0x4] - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - adds r0, r1, 0 - adds r0, 0x8 - str r0, [r5] -_080A7D82: - ldr r1, [r5] - ldrh r0, [r1] - ldrh r2, [r4, 0x1C] - adds r0, r2 - strh r0, [r4, 0x1C] - ldrh r0, [r1, 0x2] - ldrh r3, [r4, 0x1E] - adds r0, r3 - strh r0, [r4, 0x1E] - ldrh r0, [r4, 0x20] - ldrb r1, [r1, 0x4] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r6, 0x1C - ldrsh r1, [r4, r6] - movs r3, 0x1E - ldrsh r2, [r4, r3] - ldrh r3, [r4, 0x20] - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A7E6C - ldrh r0, [r4, 0x18] - adds r0, 0x1 - strh r0, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - ldr r1, [r5] - ldrb r1, [r1, 0x5] - cmp r0, r1 - blt _080A7E62 - movs r0, 0 - strh r0, [r4, 0x18] - b _080A7E34 - .pool -_080A7DDC: - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x16] - b _080A7E62 -_080A7DE2: - ldrh r2, [r1, 0x2] - movs r6, 0x2 - ldrsh r0, [r1, r6] - cmp r0, 0 - beq _080A7E34 - ldrh r1, [r4, 0x1A] - movs r3, 0x1A - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080A7E02 - subs r0, r1, 0x1 - strh r0, [r4, 0x1A] - lsls r0, 16 - cmp r0, 0 - bne _080A7E04 - b _080A7E34 -_080A7E02: - strh r2, [r4, 0x1A] -_080A7E04: - movs r6, 0x16 - ldrsh r0, [r4, r6] - cmp r0, 0 - beq _080A7E62 - ldr r3, =gUnknown_02038444 - ldr r5, =0x00007ffd -_080A7E10: - ldrh r2, [r4, 0x16] - subs r1, r2, 0x1 - strh r1, [r4, 0x16] - ldr r0, [r3] - subs r0, 0x8 - str r0, [r3] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r0, r5 - beq _080A7E60 - lsls r0, r1, 16 - cmp r0, 0 - bne _080A7E10 - b _080A7E62 - .pool -_080A7E34: - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - b _080A7E62 -_080A7E3C: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A7344 - movs r0, 0 - b _080A7E64 - .pool -_080A7E60: - strh r2, [r4, 0x16] -_080A7E62: - movs r0, 0x1 -_080A7E64: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80A7D34 - - thumb_func_start sub_80A7E6C -sub_80A7E6C: @ 80A7E6C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80A7F18 - lsls r0, 16 - lsrs r0, 15 - movs r1, 0x40 - subs r5, r1, r0 - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r4, r0, r1 - ldrb r1, [r4, 0x3] - lsls r1, 26 - lsrs r1, 27 - lsls r0, r5, 8 - ldr r2, =gOamMatrices - lsls r1, 3 - adds r1, r2 - movs r2, 0x6 - ldrsh r1, [r1, r2] - bl __divsi3 - cmp r0, 0x80 - ble _080A7EA8 - movs r0, 0x80 -_080A7EA8: - subs r0, r5, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7E6C - - thumb_func_start sub_80A7EC0 -sub_80A7EC0: @ 80A7EC0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r0, 24 - bl sub_80A7F18 - lsls r0, 16 - lsrs r0, 15 - movs r1, 0x40 - subs r5, r1, r0 - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r4, r0, r1 - ldrb r1, [r4, 0x3] - lsls r1, 26 - lsrs r1, 27 - lsls r0, r5, 8 - ldr r2, =gOamMatrices - lsls r1, 3 - adds r1, r2 - movs r2, 0x6 - ldrsh r1, [r1, r2] - bl __divsi3 - cmp r0, 0x80 - ble _080A7F00 - movs r0, 0x80 -_080A7F00: - subs r0, r5, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A7EC0 - - thumb_func_start sub_80A7F18 -sub_80A7F18: @ 80A7F18 - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r1, =gBattlerSpriteIds - ldr r7, =0x00000181 - ldr r0, =gBattleMonForms - adds r6, r5, r0 -_080A7F38: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, r2 - beq _080A7F42 - b _080A8034 -_080A7F42: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A7F78 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - ldrh r2, [r0] - ldr r1, =gUnknown_083021D8 - lsls r0, r2, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - b _080A8042 - .pool -_080A7F78: - lsls r0, r4, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A7FD8 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A7FC0 - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r2, r0, 16 - b _080A7FC2 - .pool -_080A7FC0: - ldrh r2, [r1, 0x2] -_080A7FC2: - cmp r2, r7 - bne _080A7FD0 - ldr r0, =gUnknown_08525F8C - b _080A8018 - .pool -_080A7FD0: - ldr r0, =gUnknown_083021D8 - b _080A8026 - .pool -_080A7FD8: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A8010 - ldr r1, =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r2, r0, 16 - b _080A8012 - .pool -_080A8010: - ldrh r2, [r1, 0x2] -_080A8012: - cmp r2, r7 - bne _080A8024 - ldr r0, =gUnknown_08525F88 -_080A8018: - ldrb r1, [r6] - adds r1, r0 - ldrb r0, [r1] - b _080A8042 - .pool -_080A8024: - ldr r0, =gMonFrontPicCoords -_080A8026: - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - b _080A8042 - .pool -_080A8034: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bhi _080A8040 - b _080A7F38 -_080A8040: - movs r0, 0x40 -_080A8042: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A7F18 - - thumb_func_start sub_80A8048 -sub_80A8048: @ 80A8048 - strh r2, [r0] - asrs r2, 16 - strh r2, [r1] - bx lr - thumb_func_end sub_80A8048 - - thumb_func_start sub_80A8050 -sub_80A8050: @ 80A8050 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - orrs r0, r1 - bx lr - thumb_func_end sub_80A8050 - - thumb_func_start sub_80A805C -sub_80A805C: @ 80A805C - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r5, r3, 0 - ldr r0, [sp, 0x14] - ldr r4, [sp, 0x18] - ldr r6, [sp, 0x1C] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 16 - lsrs r6, 16 - mov r3, r8 - strh r6, [r3, 0x18] - strh r1, [r3, 0x26] - strh r2, [r3, 0x1A] - strh r5, [r3, 0x1C] - strh r0, [r3, 0x22] - strh r4, [r3, 0x24] - lsls r0, 16 - asrs r0, 16 - lsls r2, 16 - asrs r2, 16 - subs r0, r2 - adds r1, r6, 0 - bl __divsi3 - mov r1, r8 - strh r0, [r1, 0x1E] - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - subs r4, r5 - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - mov r3, r8 - strh r0, [r3, 0x20] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A805C - - thumb_func_start sub_80A80C8 -sub_80A80C8: @ 80A80C8 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x18] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080A80DA - movs r0, 0 - b _080A8136 -_080A80DA: - subs r0, r1, 0x1 - strh r0, [r4, 0x18] - lsls r0, 16 - cmp r0, 0 - beq _080A80F4 - ldrh r0, [r4, 0x1E] - ldrh r3, [r4, 0x1A] - adds r0, r3 - strh r0, [r4, 0x1A] - ldrh r0, [r4, 0x20] - ldrh r1, [r4, 0x1C] - adds r0, r1 - b _080A80FA -_080A80F4: - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x1A] - ldrh r0, [r4, 0x24] -_080A80FA: - strh r0, [r4, 0x1C] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1A - ldrsh r1, [r4, r2] - movs r3, 0x1C - ldrsh r2, [r4, r3] - movs r3, 0 - bl obj_id_set_rotscale - movs r0, 0x18 - ldrsh r3, [r4, r0] - cmp r3, 0 - beq _080A8124 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A7E6C - b _080A8134 -_080A8124: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] -_080A8134: - ldrb r0, [r4, 0x18] -_080A8136: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A80C8 - - thumb_func_start sub_80A8140 -sub_80A8140: @ 80A8140 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gAnimFriendship - ldrb r0, [r0] - movs r1, 0 - cmp r0, 0x1E - bls _080A815E - movs r1, 0x1 - cmp r0, 0x64 - bls _080A815E - movs r1, 0x3 - cmp r0, 0xC8 - bhi _080A815E - movs r1, 0x2 -_080A815E: - ldr r0, =gBattleAnimArgs - strh r1, [r0, 0xE] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8140 - - thumb_func_start sub_80A8174 -sub_80A8174: @ 80A8174 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldr r6, =gBattleAnimTarget - ldrb r0, [r6] - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A81B4 - ldr r2, =gSprites - ldr r1, =gBattlerSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_080A81B4: - ldr r0, =gBattleAnimAttacker - mov r8, r0 - ldrb r0, [r0] - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A81EC - ldr r2, =gSprites - ldr r1, =gBattlerSpriteIds - mov r3, r8 - ldrb r0, [r3] - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_080A81EC: - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A8224 - ldr r2, =gSprites - ldr r1, =gBattlerSpriteIds - ldrb r0, [r6] - eors r0, r5 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_080A8224: - mov r1, r8 - ldrb r0, [r1] - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A825C - ldr r2, =gSprites - ldr r1, =gBattlerSpriteIds - mov r3, r8 - ldrb r0, [r3] - eors r0, r5 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - ands r7, r0 - lsls r3, r7, 2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] -_080A825C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8174 - - thumb_func_start sub_80A8278 -sub_80A8278: @ 80A8278 - push {r4-r6,lr} - movs r5, 0 - ldr r0, =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bge _080A82D2 - ldr r6, =gSprites -_080A8286: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080A82C8 - adds r0, r4, 0 - bl sub_80A82E4 - ldr r3, =gBattlerSpriteIds - adds r3, r5, r3 - ldrb r2, [r3] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r6 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r2, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r2, r1 - movs r1, 0x8 - orrs r2, r1 - strb r2, [r0, 0x5] -_080A82C8: - adds r5, 0x1 - ldr r0, =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _080A8286 -_080A82D2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8278 - - thumb_func_start sub_80A82E4 -sub_80A82E4: @ 80A82E4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A8300 - cmp r4, 0x2 - bne _080A82FC - movs r0, 0x1E - b _080A8320 -_080A82FC: - movs r0, 0x28 - b _080A8320 -_080A8300: - adds r0, r4, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1E - cmp r0, 0 - beq _080A831E - movs r1, 0x14 - cmp r0, 0x2 - beq _080A831E - movs r1, 0x32 - cmp r0, 0x1 - bne _080A831E - movs r1, 0x28 -_080A831E: - adds r0, r1, 0 -_080A8320: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A82E4 - - thumb_func_start sub_80A8328 -sub_80A8328: @ 80A8328 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A8344 - movs r0, 0x2 - b _080A835C -_080A8344: - cmp r4, 0 - beq _080A834C - cmp r4, 0x3 - bne _080A8350 -_080A834C: - movs r0, 0x2 - b _080A8352 -_080A8350: - movs r0, 0x1 -_080A8352: - movs r1, 0x4 - bl sub_8118140 - lsls r0, 24 - lsrs r0, 24 -_080A835C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A8328 - - thumb_func_start sub_80A8364 -sub_80A8364: @ 80A8364 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A838A - adds r0, r4, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080A8386 - cmp r0, 0x3 - bne _080A838A -_080A8386: - movs r0, 0x2 - b _080A838C -_080A838A: - movs r0, 0x1 -_080A838C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A8364 - - thumb_func_start sub_80A8394 -sub_80A8394: @ 80A8394 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r6, [sp, 0x38] - mov r8, r6 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 16 - lsrs r3, 16 - mov r10, r3 - lsls r4, 16 - lsrs r4, 16 - str r4, [sp, 0x4] - lsls r5, 24 - lsrs r5, 24 - str r5, [sp, 0x8] - lsls r0, r7, 3 - ldr r1, =gUnknown_08525FC0 - adds r0, r1 - bl LoadSpriteSheet - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - ldr r1, =gUnknown_08525F90 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x2] - bl AllocSpritePalette - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gMonSpritesGfxPtr - ldr r0, [r4] - cmp r0, 0 - beq _080A8412 - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _080A8412 - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - ldr r1, [r4] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - str r0, [r1] -_080A8412: - mov r3, r9 - cmp r3, 0 - bne _080A84B0 - adds r0, r6, 0 - ldr r1, [sp, 0x3C] - mov r2, r8 - bl GetFrontSpritePalFromSpeciesAndPersonality - lsls r1, r5, 20 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r3, [sp, 0x44] - cmp r3, 0x1 - beq _080A845E - ldr r0, [sp, 0x40] - lsls r1, r0, 24 - lsrs r1, 24 - movs r0, 0x5 - bl sub_80688F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A845E - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - ldr r2, [sp, 0x40] - lsls r0, r2, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _080A8488 -_080A845E: - lsls r0, r6, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - movs r3, 0xBE - lsls r3, 1 - adds r1, r3 - ldr r1, [r1] - movs r2, 0x1 - b _080A850A - .pool -_080A8488: - lsls r0, r6, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - movs r2, 0x1 - str r2, [sp] - adds r2, r6, 0 - mov r3, r8 - bl LoadSpecialPokePic_2 - b _080A8540 - .pool -_080A84B0: - adds r0, r6, 0 - ldr r1, [sp, 0x3C] - mov r2, r8 - bl GetFrontSpritePalFromSpeciesAndPersonality - lsls r1, r5, 20 - movs r3, 0x80 - lsls r3, 17 - adds r1, r3 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, [sp, 0x44] - cmp r0, 0x1 - beq _080A84F6 - ldr r2, [sp, 0x40] - lsls r1, r2, 24 - lsrs r1, 24 - movs r0, 0x5 - bl sub_80688F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A84F6 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - ldr r3, [sp, 0x40] - lsls r0, r3, 2 - adds r0, r1 - ldrh r2, [r0, 0x2] - cmp r2, 0 - beq _080A8524 -_080A84F6: - lsls r0, r6, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 -_080A850A: - str r2, [sp] - adds r2, r6, 0 - mov r3, r8 - bl LoadSpecialPokePic_DontHandleDeoxys - b _080A8540 - .pool -_080A8524: - lsls r0, r6, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - movs r3, 0xBE - lsls r3, 1 - adds r1, r3 - ldr r1, [r1] - str r2, [sp] - adds r2, r6, 0 - mov r3, r8 - bl LoadSpecialPokePic_2 -_080A8540: - ldr r5, =gMonSpritesGfxPtr - ldr r0, [r5] - movs r4, 0xBE - lsls r4, 1 - adds r0, r4 - ldr r0, [r0] - ldr r2, [sp, 0xC] - lsls r1, r2, 5 - ldr r3, =0x06010000 - adds r1, r3 - movs r2, 0x80 - lsls r2, 4 - movs r3, 0x1 - bl RequestDma3Copy - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - str r1, [r0] - mov r0, r9 - cmp r0, 0 - bne _080A85A0 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - ldr r1, =gUnknown_08525F90 - adds r0, r1 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldr r3, =gMonFrontPicCoords - b _080A85B2 - .pool -_080A85A0: - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - ldr r1, =gUnknown_08525F90 - adds r0, r1 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldr r3, =gUnknown_083021D8 -_080A85B2: - lsls r2, r6, 2 - adds r2, r3 - ldrb r2, [r2, 0x1] - ldr r3, [sp, 0x4] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - ldr r3, [sp, 0x8] - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A85EE - ldr r3, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x10 - adds r1, r0, r1 - ldr r2, =gUnknown_082FF6C0 - str r2, [r1] - adds r0, r3 - movs r1, 0 - bl StartSpriteAffineAnim -_080A85EE: - adds r0, r4, 0 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A8394 - - thumb_func_start sub_80A8610 -sub_80A8610: @ 80A8610 - push {lr} - bl DestroySpriteAndFreeResources - pop {r0} - bx r0 - thumb_func_end sub_80A8610 - - thumb_func_start sub_80A861C -sub_80A861C: @ 80A861C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A86C4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0x18] - ldrb r1, [r2, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A8654 - ldrh r7, [r2, 0x2] - ldr r2, [r2, 0x10] - b _080A8658 - .pool -_080A8654: - ldrh r7, [r2] - ldr r2, [r2, 0x8] -_080A8658: - cmp r7, 0xC9 - bne _080A86A4 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080A8690 - movs r0, 0xC9 - b _080A869A -_080A8690: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_080A869A: - lsls r1, r0, 2 - ldr r0, =gUnknown_083021D8 - b _080A8864 - .pool -_080A86A4: - ldr r0, =0x00000181 - cmp r7, r0 - bne _080A86AC - b _080A8834 -_080A86AC: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bhi _080A877C - lsls r1, r7, 2 - ldr r0, =gUnknown_083021D8 - b _080A8864 - .pool -_080A86C4: - mov r0, r8 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A8790 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - mov r1, r8 - lsls r2, r1, 2 - adds r1, r2, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A871C - ldr r0, =gBattlerPartyIndexes - mov r1, r8 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _080A8724 - .pool -_080A871C: - ldrh r7, [r1, 0x2] - ldr r0, =gTransformedPersonalities - adds r0, r2, r0 - ldr r2, [r0] -_080A8724: - cmp r7, 0xC9 - bne _080A8774 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080A8760 - movs r0, 0xC9 - b _080A876A - .pool -_080A8760: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_080A876A: - lsls r1, r0, 2 - ldr r0, =gUnknown_083021D8 - b _080A8864 - .pool -_080A8774: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bls _080A8784 -_080A877C: - ldr r4, =gUnknown_083021D8 - b _080A8866 - .pool -_080A8784: - lsls r1, r7, 2 - ldr r0, =gUnknown_083021D8 - b _080A8864 - .pool -_080A8790: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - mov r1, r8 - lsls r2, r1, 2 - adds r1, r2, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A87DC - ldr r0, =gBattlerPartyIndexes - mov r1, r8 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _080A87E4 - .pool -_080A87DC: - ldrh r7, [r1, 0x2] - ldr r0, =gTransformedPersonalities - adds r0, r2, r0 - ldr r2, [r0] -_080A87E4: - cmp r7, 0xC9 - bne _080A882E - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080A8820 - movs r0, 0xC9 - b _080A882A - .pool -_080A8820: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_080A882A: - lsls r1, r0, 2 - b _080A8862 -_080A882E: - ldr r0, =0x00000181 - cmp r7, r0 - bne _080A8850 -_080A8834: - ldr r0, =gBattleMonForms - add r0, r8 - ldrb r0, [r0] - lsls r0, 2 - ldr r1, =gCastformFrontSpriteCoords - adds r4, r0, r1 - b _080A8866 - .pool -_080A8850: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bls _080A8860 - ldr r4, =gMonFrontPicCoords - b _080A8866 - .pool -_080A8860: - lsls r1, r7, 2 -_080A8862: - ldr r0, =gMonFrontPicCoords -_080A8864: - adds r4, r1, r0 -_080A8866: - mov r0, r9 - cmp r0, 0x6 - bhi _080A8916 - lsls r0, 2 - ldr r1, =_080A8880 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080A8880: - .4byte _080A889C - .4byte _080A88A6 - .4byte _080A88D2 - .4byte _080A88EA - .4byte _080A88AE - .4byte _080A88C0 - .4byte _080A8902 -_080A889C: - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - lsls r0, 3 - b _080A8918 -_080A88A6: - ldrb r0, [r4] - lsrs r0, 4 - lsls r0, 3 - b _080A8918 -_080A88AE: - mov r0, r8 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4] - lsrs r1, 4 - b _080A88E4 -_080A88C0: - mov r0, r8 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4] - lsrs r1, 4 - b _080A88FC -_080A88D2: - mov r0, r8 - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4] - movs r1, 0xF - ands r1, r2 -_080A88E4: - lsls r1, 2 - subs r0, r1 - b _080A8918 -_080A88EA: - mov r0, r8 - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4] - movs r1, 0xF - ands r1, r2 -_080A88FC: - lsls r1, 2 - adds r0, r1 - b _080A8918 -_080A8902: - mov r0, r8 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1F - ldrb r1, [r4, 0x1] - subs r0, r1 - b _080A8918 -_080A8916: - movs r0, 0 -_080A8918: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A861C - - thumb_func_start sub_80A8924 -sub_80A8924: @ 80A8924 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r2 - mov r10, r3 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - cmp r1, 0 - bne _080A8942 - movs r5, 0 - movs r6, 0x1 - b _080A8946 -_080A8942: - movs r5, 0x2 - movs r6, 0x3 -_080A8946: - adds r0, r4, 0 - adds r1, r5, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r7, r0, 24 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080A8998 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080A8998 - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - adds r1, r6, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r3, r0, 24 - mov r0, r8 - lsls r1, r0, 16 - lsls r2, r7, 16 - b _080A89A4 -_080A8998: - mov r0, r8 - lsls r1, r0, 16 - lsrs r5, r1, 16 - lsls r0, r7, 16 - lsrs r3, r0, 16 - adds r2, r0, 0 -_080A89A4: - asrs r0, r1, 16 - adds r0, r5 - asrs r0, 1 - mov r1, r9 - strh r0, [r1] - asrs r0, r2, 16 - adds r0, r3 - asrs r0, 1 - mov r1, r10 - strh r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A8924 - - thumb_func_start sub_80A89C8 -sub_80A89C8: @ 80A89C8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - lsls r6, r1, 24 - lsrs r6, 24 - ldr r0, =SpriteCallbackDummy - mov r10, r0 - bl CreateInvisibleSpriteWithCallback - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gSprites - mov r9, r0 - mov r0, r8 - lsls r3, r0, 4 - add r3, r8 - lsls r3, 2 - mov r0, r9 - adds r5, r3, r0 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - add r4, r9 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x44 - str r3, [sp] - bl memcpy - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrb r2, [r5, 0x5] - movs r1, 0xD - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r5, 0x5] - ldrb r0, [r5, 0x1] - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 22 - ldrh r2, [r5, 0x4] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - movs r0, 0x1C - add r9, r0 - ldr r3, [sp] - add r3, r9 - mov r0, r10 - str r0, [r3] - mov r0, r8 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A89C8 - - thumb_func_start sub_80A8A6C -sub_80A8A6C: @ 80A8A6C - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6838 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A8AAC - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x6] - negs r0, r0 - strh r0, [r2, 0x6] - adds r3, r4, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, 0 - b _080A8AB6 - .pool -_080A8AAC: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] -_080A8AB6: - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x38] - ldr r1, =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A66DC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8A6C - - thumb_func_start sub_80A8AEC -sub_80A8AEC: @ 80A8AEC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A8B1C - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - movs r1, 0x6 - ldrsh r0, [r2, r1] - negs r0, r0 - strh r0, [r2, 0x6] - adds r1, r2, 0 - b _080A8B26 - .pool -_080A8B1C: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] -_080A8B26: - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x38] - ldrb r1, [r1, 0xC] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A66DC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8AEC - - thumb_func_start sub_80A8B64 -sub_80A8B64: @ 80A8B64 - push {r4,lr} - adds r4, r0, 0 - bl sub_80A6838 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080A8B90 - ldr r0, =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r4, 0x20] - b _080A8B9C - .pool -_080A8B90: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - adds r0, r1, 0 -_080A8B9C: - ldrh r0, [r0, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, =sub_80A67D8 - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8B64 - - thumb_func_start sub_80A8BC4 -sub_80A8BC4: @ 80A8BC4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r5, 0x8] - ldr r7, =gBattleAnimAttacker - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - movs r1, 0x8 - cmp r0, 0 - beq _080A8BF8 - movs r0, 0x8 - negs r0, r0 - adds r1, r0, 0 -_080A8BF8: - strh r1, [r5, 0xA] - strh r6, [r5, 0xC] - strh r6, [r5, 0xE] - ldr r4, =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x24] - ldrh r2, [r5, 0x8] - subs r1, r2 - strh r1, [r0, 0x24] - ldr r0, =0x00002771 - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - strh r6, [r5, 0x12] - movs r1, 0x10 - ldrsh r0, [r5, r1] - adds r0, 0x10 - lsls r0, 20 - lsrs r6, r0, 16 - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - lsls r4, r0, 4 - ldrb r0, [r7] - bl sub_80A82E4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - cmp r0, 0x14 - beq _080A8C54 - cmp r0, 0x28 - bne _080A8C68 -_080A8C54: - movs r0, 0x2 - b _080A8C6A - .pool -_080A8C68: - movs r0, 0x3 -_080A8C6A: - strh r0, [r5, 0x14] - lsls r0, r4, 1 - ldr r1, =gPlttBufferUnfaded - adds r0, r1 - lsls r1, r6, 1 - ldr r2, =gPlttBufferFaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet - ldr r0, =gBattleAnimArgs - ldrb r2, [r0, 0x2] - ldrh r3, [r0] - adds r0, r6, 0 - movs r1, 0x10 - bl BlendPalette - ldr r0, =sub_80A8CAC - str r0, [r5] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8BC4 - - thumb_func_start sub_80A8CAC -sub_80A8CAC: @ 80A8CAC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080A8D10 - cmp r0, 0x1 - bgt _080A8CD4 - cmp r0, 0 - beq _080A8CDA - b _080A8D6C - .pool -_080A8CD4: - cmp r0, 0x2 - beq _080A8D58 - b _080A8D6C -_080A8CDA: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A8D78 - ldr r2, =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0xA] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - ldrh r1, [r4, 0xE] - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080A8D6C - strh r1, [r4, 0xE] - b _080A8D4A - .pool -_080A8D10: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A8D78 - ldr r3, =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x24] - ldrh r2, [r4, 0xA] - subs r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _080A8D6C - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - strh r2, [r1, 0x24] -_080A8D4A: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _080A8D6C - .pool -_080A8D58: - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080A8D6C - ldr r0, =0x00002771 - bl FreeSpritePaletteByTag - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080A8D6C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8CAC - - thumb_func_start sub_80A8D78 -sub_80A8D78: @ 80A8D78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r0, 0 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - lsrs r7, r0, 16 - asrs r0, 16 - cmp r0, 0 - blt _080A8DE8 - ldr r5, =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r3, r4, r5 - movs r0, 0x3 - ldrb r1, [r6, 0x14] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldrb r1, [r6, 0x10] - lsls r1, 4 - movs r2, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - movs r0, 0x8 - strh r0, [r3, 0x2E] - mov r0, r8 - strh r0, [r3, 0x30] - strh r7, [r3, 0x32] - movs r0, 0x8 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x24] - strh r0, [r3, 0x24] - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_80A8DFC - str r0, [r4] - ldrh r0, [r6, 0x12] - adds r0, 0x1 - strh r0, [r6, 0x12] -_080A8DE8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8D78 - - thumb_func_start sub_80A8DFC -sub_80A8DFC: @ 80A8DFC - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - subs r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080A8E26 - ldr r2, =gTasks - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x12] - subs r1, 0x1 - strh r1, [r0, 0x12] - adds r0, r3, 0 - bl obj_delete_but_dont_free_vram -_080A8E26: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8DFC - - thumb_func_start sub_80A8E30 -sub_80A8E30: @ 80A8E30 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A8E68 - movs r0, 0x5 - b _080A8E6A - .pool -_080A8E68: - ldr r0, =0x0000fff6 -_080A8E6A: - strh r0, [r5, 0x2E] - ldr r0, =0x0000ffd8 - strh r0, [r5, 0x30] - ldr r0, =sub_80A8E88 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8E30 - - thumb_func_start sub_80A8E88 -sub_80A8E88: @ 80A8E88 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r5, [r4, 0x30] - ldrh r2, [r4, 0x34] - adds r0, r5, r2 - strh r0, [r4, 0x34] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x24] - movs r2, 0x34 - ldrsh r0, [r4, r2] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x26] - lsls r0, r5, 16 - asrs r0, 16 - movs r1, 0x14 - negs r1, r1 - cmp r0, r1 - bge _080A8EC4 - adds r0, r5, 0x1 - strh r0, [r4, 0x30] -_080A8EC4: - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080A8EDC - adds r0, r4, 0 - bl DestroyAnimSprite -_080A8EDC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A8E88 - - thumb_func_start sub_80A8EE4 -sub_80A8EE4: @ 80A8EE4 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimArgs - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x8] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r5, 0xA] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x36] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080A8F24 - ldrh r0, [r5, 0x8] - adds r0, 0x1E - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0xA] - subs r0, 0x14 - b _080A8F32 - .pool -_080A8F24: - ldrh r0, [r5, 0x8] - subs r0, 0x1E - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0xA] - subs r0, 0x50 -_080A8F32: - strh r0, [r4, 0x22] - ldr r0, =sub_80A6EEC - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A8EE4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s deleted file mode 100644 index 3515b973e..000000000 --- a/asm/battle_anim_80A9C70.s +++ /dev/null @@ -1,930 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start sub_80A9C70 -sub_80A9C70: @ 80A9C70 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gBattlerSpriteIds - adds r0, r4, r0 - ldrb r6, [r0] - ldr r0, =sub_80A9DB4 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gBattleAnimPicTable + 0x440 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gBattleAnimPaletteTable + 0x440 - bl LoadCompressedObjectPaletteUsingHeap - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - strh r4, [r1, 0x8] - cmp r5, 0 - beq _080A9D30 - movs r0, 0x1F - strh r0, [r1, 0xA] - movs r5, 0 - lsls r0, r6, 4 - ldr r7, =gSprites - adds r0, r6 - lsls r0, 2 - adds r6, r0, r7 -_080A9CC4: - movs r0, 0x20 - ldrsh r1, [r6, r0] - ldrh r2, [r6, 0x22] - adds r2, 0x20 - lsls r2, 16 - asrs r2, 16 - ldr r0, =gUnknown_0853EF60 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r3, r0, r7 - lsls r0, r5, 1 - adds r0, r5 - lsls r1, r0, 4 - adds r0, r1 - strh r0, [r3, 0x2E] - movs r0, 0xFF - lsls r0, 8 - strh r0, [r3, 0x30] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - cmp r5, 0x4 - bls _080A9D08 - movs r0, 0x15 - strh r0, [r3, 0x3A] -_080A9D08: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _080A9CC4 - b _080A9D90 - .pool -_080A9D30: - movs r0, 0xF8 - lsls r0, 7 - strh r0, [r1, 0xA] - movs r5, 0 - lsls r0, r6, 4 - ldr r7, =gSprites - adds r0, r6 - lsls r0, 2 - adds r6, r0, r7 -_080A9D42: - movs r2, 0x20 - ldrsh r1, [r6, r2] - ldrh r2, [r6, 0x22] - subs r2, 0x20 - lsls r2, 16 - asrs r2, 16 - ldr r0, =gUnknown_0853EF60 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r3, r0, r7 - lsls r0, r5, 1 - adds r0, r5 - lsls r1, r0, 4 - adds r0, r1 - strh r0, [r3, 0x2E] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r3, 0x30] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - cmp r5, 0x4 - bls _080A9D86 - movs r0, 0x15 - strh r0, [r3, 0x3A] -_080A9D86: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _080A9D42 -_080A9D90: - ldr r0, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80A9C70 - - thumb_func_start sub_80A9DB4 -sub_80A9DB4: @ 80A9DB4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x2 - bne _080A9E3A - movs r0, 0 - strh r0, [r4, 0xC] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - ldrb r2, [r4, 0x10] - ldrh r3, [r4, 0xA] - movs r1, 0x10 - bl BlendPalette - ldrh r2, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A9E10 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080A9E3E - movs r0, 0x1 - eors r0, r2 - strh r0, [r4, 0x12] - b _080A9E3E - .pool -_080A9E10: - ldrh r1, [r4, 0x10] - subs r0, r1, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _080A9E3E - strh r1, [r4, 0x10] - movs r0, 0x1 - eors r0, r2 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080A9E3E - adds r0, r5, 0 - bl DestroyTask - b _080A9E3E -_080A9E3A: - adds r0, r1, 0x1 - strh r0, [r4, 0xC] -_080A9E3E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A9DB4 - - thumb_func_start sub_80A9E44 -sub_80A9E44: @ 80A9E44 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x3A] - movs r3, 0x3A - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080A9E70 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r3] - ldr r1, =sub_80A9E78 - str r1, [r2, 0x1C] - adds r0, r2, 0 - bl _call_via_r1 - b _080A9E74 - .pool -_080A9E70: - subs r0, r1, 0x1 - strh r0, [r2, 0x3A] -_080A9E74: - pop {r0} - bx r0 - thumb_func_end sub_80A9E44 - - thumb_func_start sub_80A9E78 -sub_80A9E78: @ 80A9E78 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x7F - bgt _080A9EA4 - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D - b _080A9EAA -_080A9EA4: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F -_080A9EAA: - strb r0, [r1] - ldrh r0, [r4, 0x2E] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x34 - bne _080A9EEC - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A9EE6 - adds r0, r4, 0 - bl DestroySpriteAndFreeResources - b _080A9EEC -_080A9EE6: - adds r0, r4, 0 - bl DestroySprite -_080A9EEC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A9E78 - - thumb_func_start sub_80A9EF4 -sub_80A9EF4: @ 80A9EF4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 8 - ldr r1, =0xffe00000 - adds r0, r1 - lsrs r5, r0, 16 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 8 - ldr r1, =0xffdc0000 - adds r0, r1 - lsrs r4, r0, 16 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080A9F32 - lsls r0, r5, 16 - ldr r1, =0xfffa0000 - adds r0, r1 - lsrs r5, r0, 16 -_080A9F32: - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - ldr r0, =gUnknown_0853EF48 - lsls r1, r5, 16 - asrs r1, 16 - lsls r2, r4, 16 - asrs r2, 16 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =0x0000271a - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - bne _080A9F7C - ldr r1, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080A9F7C: - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldr r1, =gUnknown_0853EF40 - bl SetSubspriteTables - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x26] - ldr r1, =sub_80A9FD0 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80A9EF4 - - thumb_func_start sub_80A9FD0 -sub_80A9FD0: @ 80A9FD0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - adds r2, r0, 0 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080AA004 - ldr r0, =sub_80AA020 - str r0, [r1] - movs r0, 0 - strh r0, [r1, 0xA] - b _080AA01A - .pool -_080AA004: - lsls r0, r2, 24 - lsrs r0, 24 - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_080AA01A: - pop {r0} - bx r0 - thumb_func_end sub_80A9FD0 - - thumb_func_start sub_80AA020 -sub_80AA020: @ 80AA020 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x0000271a - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0xA] - adds r1, r0, 0x1 - strh r1, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - ble _080AA0B0 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - movs r6, 0 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080AA0B0 - ldr r3, =gPlttBufferFaded - lsls r2, 4 - mov r12, r2 - ldr r1, =0x0000010d - add r1, r12 - lsls r1, 1 - adds r1, r3 - ldrh r4, [r1] - movs r2, 0x87 - lsls r2, 1 - add r2, r12 - lsls r2, 1 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r1] - ldr r0, =0x0000010f - add r0, r12 - lsls r0, 1 - adds r0, r3 - ldrh r1, [r0] - strh r1, [r2] - strh r4, [r0] - strh r6, [r5, 0xC] - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080AA0B0 - strh r6, [r5, 0xE] - strh r6, [r5, 0xA] - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080AA0B0 - movs r0, 0x9 - strh r0, [r5, 0xA] - ldr r0, =sub_80AA0D0 - str r0, [r5] -_080AA0B0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AA020 - - thumb_func_start sub_80AA0D0 -sub_80AA0D0: @ 80AA0D0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - ldrh r0, [r2, 0xA] - subs r0, 0x1 - adds r3, r0, 0 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080AA108 - ldr r0, =sub_80AA124 - str r0, [r2] - movs r0, 0 - strh r0, [r2, 0xA] - b _080AA11E - .pool -_080AA108: - lsls r0, r3, 24 - lsrs r0, 24 - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_080AA11E: - pop {r0} - bx r0 - thumb_func_end sub_80AA0D0 - - thumb_func_start sub_80AA124 -sub_80AA124: @ 80AA124 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x25 - bne _080AA16C - ldrh r0, [r1, 0x26] - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - b _080AA186 - .pool -_080AA16C: - cmp r0, 0x27 - bne _080AA186 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080AA186: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AA124 - - thumb_func_start AnimTask_StatsChange -AnimTask_StatsChange: @ 80AA18C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrh r0, [r0] - subs r0, 0xF - cmp r0, 0x2B - bls _080AA1A4 - b _080AA328 -_080AA1A4: - lsls r0, 2 - ldr r1, =_080AA1B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AA1B8: - .4byte _080AA268 - .4byte _080AA26E - .4byte _080AA274 - .4byte _080AA27A - .4byte _080AA280 - .4byte _080AA286 - .4byte _080AA28C - .4byte _080AA292 - .4byte _080AA298 - .4byte _080AA29E - .4byte _080AA2A4 - .4byte _080AA2AA - .4byte _080AA2B0 - .4byte _080AA2B6 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA2BC - .4byte _080AA2C0 - .4byte _080AA2C4 - .4byte _080AA2C8 - .4byte _080AA2CC - .4byte _080AA2D0 - .4byte _080AA2D4 - .4byte _080AA2D8 - .4byte _080AA2E0 - .4byte _080AA2E8 - .4byte _080AA2F0 - .4byte _080AA2F8 - .4byte _080AA300 - .4byte _080AA308 - .4byte _080AA328 - .4byte _080AA328 - .4byte _080AA310 - .4byte _080AA314 - .4byte _080AA318 - .4byte _080AA320 -_080AA268: - movs r5, 0 - movs r2, 0 - b _080AA330 -_080AA26E: - movs r5, 0 - movs r2, 0x1 - b _080AA330 -_080AA274: - movs r5, 0 - movs r2, 0x3 - b _080AA330 -_080AA27A: - movs r5, 0 - movs r2, 0x5 - b _080AA330 -_080AA280: - movs r5, 0 - movs r2, 0x6 - b _080AA330 -_080AA286: - movs r5, 0 - movs r2, 0x2 - b _080AA330 -_080AA28C: - movs r5, 0 - movs r2, 0x4 - b _080AA330 -_080AA292: - movs r5, 0x1 - movs r2, 0 - b _080AA330 -_080AA298: - movs r5, 0x1 - movs r2, 0x1 - b _080AA330 -_080AA29E: - movs r5, 0x1 - movs r2, 0x3 - b _080AA330 -_080AA2A4: - movs r5, 0x1 - movs r2, 0x5 - b _080AA330 -_080AA2AA: - movs r5, 0x1 - movs r2, 0x6 - b _080AA330 -_080AA2B0: - movs r5, 0x1 - movs r2, 0x2 - b _080AA330 -_080AA2B6: - movs r5, 0x1 - movs r2, 0x4 - b _080AA330 -_080AA2BC: - movs r5, 0 - b _080AA2DA -_080AA2C0: - movs r5, 0 - b _080AA2E2 -_080AA2C4: - movs r5, 0 - b _080AA2EA -_080AA2C8: - movs r5, 0 - b _080AA2F2 -_080AA2CC: - movs r5, 0 - b _080AA2FA -_080AA2D0: - movs r5, 0 - b _080AA302 -_080AA2D4: - movs r5, 0 - b _080AA30A -_080AA2D8: - movs r5, 0x1 -_080AA2DA: - movs r2, 0 - movs r3, 0x1 - b _080AA330 -_080AA2E0: - movs r5, 0x1 -_080AA2E2: - movs r2, 0x1 - movs r3, 0x1 - b _080AA330 -_080AA2E8: - movs r5, 0x1 -_080AA2EA: - movs r2, 0x3 - movs r3, 0x1 - b _080AA330 -_080AA2F0: - movs r5, 0x1 -_080AA2F2: - movs r2, 0x5 - movs r3, 0x1 - b _080AA330 -_080AA2F8: - movs r5, 0x1 -_080AA2FA: - movs r2, 0x6 - movs r3, 0x1 - b _080AA330 -_080AA300: - movs r5, 0x1 -_080AA302: - movs r2, 0x2 - movs r3, 0x1 - b _080AA330 -_080AA308: - movs r5, 0x1 -_080AA30A: - movs r2, 0x4 - movs r3, 0x1 - b _080AA330 -_080AA310: - movs r5, 0 - b _080AA31A -_080AA314: - movs r5, 0 - b _080AA322 -_080AA318: - movs r5, 0x1 -_080AA31A: - movs r2, 0xFF - movs r3, 0 - b _080AA330 -_080AA320: - movs r5, 0x1 -_080AA322: - movs r2, 0xFF - movs r3, 0x1 - b _080AA330 -_080AA328: - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080AA352 -_080AA330: - ldr r0, =gBattleAnimArgs - movs r1, 0 - strh r5, [r0] - strh r2, [r0, 0x2] - strh r1, [r0, 0x4] - strh r1, [r0, 0x6] - strh r3, [r0, 0x8] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8116EB4 - str r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_080AA352: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_StatsChange - - thumb_func_start LaunchStatusAnimation -LaunchStatusAnimation: @ 80AA364 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =gBattleAnimAttacker - strb r4, [r0] - ldr r0, =gBattleAnimTarget - strb r4, [r0] - ldr r0, =gBattleAnims_Statuses - movs r2, 0 - bl LaunchBattleAnimation - ldr r0, =task0A_80788BC - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end LaunchStatusAnimation - - thumb_func_start task0A_80788BC -task0A_80788BC: @ 80AA3B4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _080AA3F6 - ldr r0, =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_080AA3F6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task0A_80788BC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80D51AC.s b/asm/battle_anim_80D51AC.s deleted file mode 100644 index 3f36bb4a2..000000000 --- a/asm/battle_anim_80D51AC.s +++ /dev/null @@ -1,2446 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80D51AC -sub_80D51AC: @ 80D51AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gBattleAnimArgs - ldrb r0, [r4] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _080D51D0 - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _080D520C - .pool -_080D51D0: - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x24] - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x26] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x8] - ldrh r1, [r4, 0x6] - strh r1, [r0, 0xA] - ldrh r1, [r4, 0x8] - strh r1, [r0, 0xC] - ldrh r1, [r4, 0x8] - strh r1, [r0, 0xE] - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x10] - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x12] - ldr r1, =sub_80D5220 - str r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_080D520C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D51AC - - thumb_func_start sub_80D5220 -sub_80D5220: @ 80D5220 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0xE] - movs r2, 0xE - ldrsh r5, [r3, r2] - adds r7, r1, 0 - cmp r5, 0 - bne _080D52C6 - ldr r2, =gSprites - movs r6, 0x8 - ldrsh r1, [r3, r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r6, 0x24 - ldrsh r0, [r1, r6] - adds r6, r2, 0 - cmp r0, 0 - bne _080D5264 - ldrh r0, [r3, 0x10] - strh r0, [r1, 0x24] - b _080D5266 - .pool -_080D5264: - strh r5, [r1, 0x24] -_080D5266: - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r7 - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - movs r5, 0x26 - ldrsh r0, [r1, r5] - cmp r0, 0 - bne _080D5286 - ldrh r0, [r3, 0x12] - b _080D5288 -_080D5286: - movs r0, 0 -_080D5288: - strh r0, [r1, 0x26] - adds r0, r2, r4 - lsls r0, 3 - adds r2, r0, r7 - ldrh r0, [r2, 0xC] - strh r0, [r2, 0xE] - ldrh r0, [r2, 0xA] - subs r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bne _080D52CA - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r3, [r0, 0x24] - movs r5, 0x8 - ldrsh r1, [r2, r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r3, [r0, 0x26] - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080D52CA -_080D52C6: - subs r0, 0x1 - strh r0, [r3, 0xE] -_080D52CA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D5220 - - thumb_func_start sub_80D52D0 -sub_80D52D0: @ 80D52D0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r2, =gBattleAnimArgs - ldrh r0, [r2] - movs r3, 0 - ldrsh r1, [r2, r3] - cmp r1, 0x3 - bgt _080D52FC - lsls r0, 24 - lsrs r0, 24 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - bne _080D5352 - b _080D5356 - .pool -_080D52FC: - cmp r1, 0x8 - beq _080D5348 - movs r1, 0 - ldrsh r0, [r2, r1] - cmp r0, 0x5 - beq _080D531C - cmp r0, 0x5 - bgt _080D5312 - cmp r0, 0x4 - beq _080D5318 - b _080D5324 -_080D5312: - cmp r0, 0x6 - beq _080D5320 - b _080D5324 -_080D5318: - movs r0, 0 - b _080D5326 -_080D531C: - movs r0, 0x2 - b _080D5326 -_080D5320: - movs r0, 0x1 - b _080D5326 -_080D5324: - movs r0, 0x3 -_080D5326: - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - bne _080D533C - movs r6, 0x1 -_080D533C: - ldr r0, =gBattlerSpriteIds - adds r0, r4, r0 - b _080D5350 - .pool -_080D5348: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 -_080D5350: - ldrb r3, [r0] -_080D5352: - cmp r6, 0 - beq _080D5368 -_080D5356: - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _080D53A6 - .pool -_080D5368: - ldr r1, =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldr r2, =gBattleAnimArgs - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x24] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x26] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x8] - ldrh r1, [r2, 0x6] - strh r1, [r0, 0xA] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0xC] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0xE] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x10] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x12] - ldr r1, =sub_80D53BC - str r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_080D53A6: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D52D0 - - thumb_func_start sub_80D53BC -sub_80D53BC: @ 80D53BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r3, r0, r1 - ldrh r2, [r3, 0xE] - movs r4, 0xE - ldrsh r0, [r3, r4] - mov r12, r1 - cmp r0, 0 - bne _080D5474 - ldr r2, =gSprites - movs r7, 0x8 - ldrsh r1, [r3, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - movs r0, 0x24 - ldrsh r1, [r4, r0] - ldrh r5, [r3, 0x10] - movs r7, 0x10 - ldrsh r0, [r3, r7] - adds r7, r2, 0 - cmp r1, r0 - bne _080D5408 - negs r0, r5 - strh r0, [r4, 0x24] - b _080D540A - .pool -_080D5408: - strh r5, [r4, 0x24] -_080D540A: - lsls r3, r6, 2 - adds r1, r3, r6 - lsls r1, 3 - add r1, r12 - movs r0, 0x8 - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r7 - movs r0, 0x26 - ldrsh r2, [r4, r0] - mov r8, r2 - ldrh r5, [r1, 0x12] - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r8, r0 - bne _080D5434 - negs r0, r5 - strh r0, [r4, 0x26] - b _080D5436 -_080D5434: - strh r5, [r4, 0x26] -_080D5436: - adds r0, r3, r6 - lsls r0, 3 - mov r4, r12 - adds r3, r0, r4 - ldrh r0, [r3, 0xC] - strh r0, [r3, 0xE] - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _080D5478 - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x24] - movs r4, 0x8 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _080D5478 -_080D5474: - subs r0, r2, 0x1 - strh r0, [r3, 0xE] -_080D5478: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D53BC - - thumb_func_start sub_80D5484 -sub_80D5484: @ 80D5484 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gBattleAnimArgs - ldrb r0, [r4] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - bne _080D54A8 - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _080D54F6 - .pool -_080D54A8: - ldr r0, =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r4, 0x2] - ldrh r2, [r1, 0x24] - adds r0, r2 - movs r2, 0 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x4] - ldrh r6, [r1, 0x26] - adds r0, r6 - strh r0, [r1, 0x26] - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - strh r3, [r1, 0x8] - strh r2, [r1, 0xA] - ldrh r0, [r4, 0x6] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - ldrh r0, [r4, 0x8] - strh r0, [r1, 0x10] - movs r2, 0x2 - ldrsh r0, [r4, r2] - lsls r0, 1 - strh r0, [r1, 0x12] - movs r6, 0x4 - ldrsh r0, [r4, r6] - lsls r0, 1 - strh r0, [r1, 0x14] - ldr r2, =sub_80D5508 - str r2, [r1] - adds r0, r5, 0 - bl _call_via_r2 -_080D54F6: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5484 - - thumb_func_start sub_80D5508 -sub_80D5508: @ 80D5508 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - adds r6, r1, 0 - cmp r0, 0 - beq _080D5526 - b _080D5638 -_080D5526: - ldrh r1, [r4, 0xA] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D5568 - ldr r2, =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r3, [r0, 0x24] - adds r1, r3 - strh r1, [r0, 0x24] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x14] - ldrh r3, [r0, 0x26] - adds r1, r3 - strh r1, [r0, 0x26] - adds r3, r2, 0 - b _080D5592 - .pool -_080D5568: - ldr r3, =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x24] - ldrh r2, [r4, 0x12] - subs r1, r2 - strh r1, [r0, 0x24] - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - ldrh r2, [r4, 0x14] - subs r1, r2 - strh r1, [r0, 0x26] -_080D5592: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - ldrh r0, [r4, 0x10] - strh r0, [r4, 0xE] - ldrh r0, [r4, 0xA] - adds r2, r0, 0x1 - strh r2, [r4, 0xA] - lsls r0, r2, 16 - asrs r0, 16 - movs r6, 0xC - ldrsh r1, [r4, r6] - cmp r0, r1 - blt _080D563C - movs r0, 0x1 - ands r2, r0 - cmp r2, 0 - beq _080D55F8 - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsrs r2, r0, 31 - adds r0, r2 - asrs r0, 1 - ldrh r6, [r1, 0x24] - adds r0, r6 - strh r0, [r1, 0x24] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r2, 0x14 - ldrsh r0, [r4, r2] - lsrs r2, r0, 31 - adds r0, r2 - asrs r0, 1 - ldrh r3, [r1, 0x26] - adds r0, r3 - strh r0, [r1, 0x26] - b _080D5630 - .pool -_080D55F8: - movs r6, 0x8 - ldrsh r0, [r4, r6] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - movs r3, 0x14 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - ldrh r0, [r2, 0x26] - subs r0, r1 - strh r0, [r2, 0x26] -_080D5630: - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _080D563C -_080D5638: - subs r0, r2, 0x1 - strh r0, [r4, 0xE] -_080D563C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D5508 - - thumb_func_start sub_80D5644 -sub_80D5644: @ 80D5644 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gBattleAnimArgs - ldrb r0, [r5] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r5, 0x2] - strh r2, [r1, 0x24] - ldr r2, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x8] - ldrh r0, [r5, 0x2] - strh r0, [r1, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r1, 0xC] - ldrh r0, [r5, 0x6] - strh r0, [r1, 0xE] - ldrh r0, [r5, 0x8] - strh r0, [r1, 0x10] - ldr r2, =sub_80D56A4 - str r2, [r1] - adds r0, r4, 0 - bl _call_via_r2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5644 - - thumb_func_start sub_80D56A4 -sub_80D56A4: @ 80D56A4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r3, r0, r2 - ldrb r5, [r3, 0x8] - ldrh r4, [r3, 0xA] - ldrh r1, [r3, 0x18] - adds r0, r1, 0x1 - strh r0, [r3, 0x18] - movs r7, 0xC - ldrsh r0, [r3, r7] - lsls r1, 16 - asrs r1, 16 - mov r12, r2 - ldr r7, =gSprites - cmp r0, r1 - bne _080D56F6 - movs r0, 0 - strh r0, [r3, 0x18] - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, r0, r7 - ldrh r3, [r1, 0x24] - movs r0, 0x24 - ldrsh r2, [r1, r0] - lsls r0, r4, 16 - asrs r0, 16 - cmp r2, r0 - bne _080D56EE - negs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 -_080D56EE: - lsls r0, r4, 16 - asrs r0, 16 - adds r0, r3 - strh r0, [r1, 0x24] -_080D56F6: - lsls r2, r6, 2 - adds r2, r6 - lsls r2, 3 - add r2, r12 - strh r4, [r2, 0xA] - ldrh r1, [r2, 0xE] - ldrh r0, [r2, 0x1A] - adds r1, r0 - strh r1, [r2, 0x1A] - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r7 - lsls r1, 16 - asrs r1, 24 - strh r1, [r0, 0x26] - ldrh r0, [r2, 0x10] - subs r0, 0x1 - strh r0, [r2, 0x10] - lsls r0, 16 - cmp r0, 0 - bne _080D5728 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080D5728: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D56A4 - - thumb_func_start sub_80D5738 -sub_80D5738: @ 80D5738 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0x1 - ldr r4, =gBattleAnimArgs - ldrb r0, [r4] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - ble _080D575C - movs r0, 0x5 - strh r0, [r4, 0x8] -_080D575C: - movs r1, 0 - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r3, r4, 0 - ldr r2, =gTasks - mov r12, r2 - lsls r4, r5, 2 - ldr r2, =sub_80D57B8 - mov r8, r2 - cmp r1, r0 - bge _080D5782 - adds r2, r0, 0 -_080D5774: - lsls r0, r6, 25 - lsrs r6, r0, 24 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - blt _080D5774 -_080D5782: - adds r0, r4, r5 - lsls r0, 3 - add r0, r12 - strh r7, [r0, 0x8] - ldrh r1, [r3, 0x2] - strh r1, [r0, 0xA] - ldrh r1, [r3, 0x4] - strh r1, [r0, 0xC] - ldrh r1, [r3, 0x6] - strh r1, [r0, 0xE] - strh r6, [r0, 0x10] - mov r1, r8 - str r1, [r0] - adds r0, r5, 0 - bl _call_via_r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5738 - - thumb_func_start sub_80D57B8 -sub_80D57B8: @ 80D57B8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrb r4, [r5, 0x8] - movs r1, 0x12 - ldrsh r0, [r5, r1] - movs r2, 0xA - ldrsh r1, [r5, r2] - bl Sin - ldr r2, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r4, r1, r2 - strh r0, [r4, 0x24] - movs r1, 0x12 - ldrsh r0, [r5, r1] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r5, 0xC] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x10] - ldrh r1, [r5, 0x12] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x12] - cmp r0, 0 - bne _080D5810 - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] -_080D5810: - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _080D5822 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080D5822: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D57B8 - - thumb_func_start sub_80D5830 -sub_80D5830: @ 80D5830 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080D584C - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_080D584C: - adds r0, r4, 0 - bl sub_80D5738 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5830 - - thumb_func_start sub_80D5860 -sub_80D5860: @ 80D5860 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080D5890 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - b _080D5894 - .pool -_080D5890: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] -_080D5894: - strh r0, [r4, 0x30] - ldrh r2, [r1] - movs r0, 0 - strh r2, [r4, 0x2E] - strh r0, [r4, 0x32] - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x34] - strh r2, [r4, 0x36] - ldr r1, =sub_80D58D4 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A6630 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5860 - - thumb_func_start sub_80D58D4 -sub_80D58D4: @ 80D58D4 - push {lr} - ldrh r1, [r0, 0x36] - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x30] - negs r1, r1 - strh r1, [r0, 0x30] - ldr r1, =sub_80A6630 - str r1, [r0, 0x1C] - ldr r1, =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D58D4 - - thumb_func_start sub_80D58F8 -sub_80D58F8: @ 80D58F8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r5, =gBattleAnimArgs - ldrb r0, [r5, 0x4] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r5] - movs r1, 0 - strh r2, [r4, 0x2E] - strh r1, [r4, 0x30] - ldrh r1, [r5, 0x2] - strh r1, [r4, 0x32] - strh r0, [r4, 0x34] - strh r2, [r4, 0x36] - ldr r1, =sub_80D5944 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A6630 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D58F8 - - thumb_func_start sub_80D5944 -sub_80D5944: @ 80D5944 - push {lr} - ldrh r1, [r0, 0x36] - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x32] - negs r1, r1 - strh r1, [r0, 0x32] - ldr r1, =sub_80A6630 - str r1, [r0, 0x1C] - ldr r1, =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5944 - - thumb_func_start sub_80D5968 -sub_80D5968: @ 80D5968 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D598C - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - b _080D5990 - .pool -_080D598C: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimTarget -_080D5990: - ldrb r0, [r0] - adds r0, r1 - ldrb r7, [r0] - ldr r5, =gBattleAnimArgs - ldrh r0, [r5, 0x4] - movs r3, 0 - strh r0, [r6, 0x2E] - ldr r0, =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r6, 0x30] - ldrh r0, [r4, 0x20] - strh r0, [r6, 0x32] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r6, 0x34] - ldrh r0, [r4, 0x22] - strh r0, [r6, 0x36] - adds r0, r6, 0 - str r3, [sp] - bl sub_80A6E14 - ldr r3, [sp] - strh r3, [r6, 0x34] - strh r3, [r6, 0x36] - ldrh r0, [r4, 0x24] - strh r0, [r6, 0x38] - ldrh r0, [r4, 0x26] - strh r0, [r6, 0x3A] - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080D5A00 - strh r3, [r6, 0x32] - b _080D5A06 - .pool -_080D5A00: - cmp r0, 0x2 - bne _080D5A06 - strh r3, [r6, 0x30] -_080D5A06: - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0x2] - lsls r0, r7, 8 - orrs r0, r1 - strh r0, [r6, 0x3C] - ldr r0, =sub_80D5A24 - str r0, [r6, 0x1C] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5968 - - thumb_func_start sub_80D5A24 -sub_80D5A24: @ 80D5A24 - push {r4-r6,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x3C] - lsls r1, r0, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - lsls r0, 16 - asrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r3, r1, r0 - ldrh r0, [r2, 0x2E] - movs r6, 0x2E - ldrsh r1, [r2, r6] - cmp r1, 0 - bne _080D5A64 - cmp r4, 0x1 - bhi _080D5A4E - strh r1, [r3, 0x24] -_080D5A4E: - cmp r5, 0x2 - beq _080D5A56 - cmp r5, 0 - bne _080D5A58 -_080D5A56: - strh r1, [r3, 0x26] -_080D5A58: - adds r0, r2, 0 - bl DestroyAnimSprite - b _080D5A8E - .pool -_080D5A64: - subs r0, 0x1 - strh r0, [r2, 0x2E] - ldrh r1, [r2, 0x30] - ldrh r0, [r2, 0x34] - adds r1, r0 - strh r1, [r2, 0x34] - ldrh r0, [r2, 0x32] - ldrh r4, [r2, 0x36] - adds r0, r4 - strh r0, [r2, 0x36] - lsls r1, 16 - asrs r1, 24 - ldrh r6, [r2, 0x38] - adds r1, r6 - strh r1, [r3, 0x24] - ldrh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r2, 0x3A] - adds r0, r2 - strh r0, [r3, 0x26] -_080D5A8E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D5A24 - - thumb_func_start sub_80D5A94 -sub_80D5A94: @ 80D5A94 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D5AB0 - ldr r0, =gBattleAnimAttacker - b _080D5AB2 - .pool -_080D5AB0: - ldr r0, =gBattleAnimTarget -_080D5AB2: - ldrb r2, [r0] - ldr r0, =gBattlerSpriteIds - adds r0, r2, r0 - ldrb r6, [r0] - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080D5ADC - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _080D5ADC - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080D5ADC: - ldr r2, =gBattleAnimArgs - ldrh r0, [r2, 0x8] - movs r4, 0 - strh r0, [r5, 0x2E] - ldr r0, =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x20] - strh r0, [r5, 0x30] - ldrh r0, [r2, 0x2] - ldrh r3, [r1, 0x20] - adds r0, r3 - strh r0, [r5, 0x32] - ldrh r0, [r1, 0x22] - strh r0, [r5, 0x34] - ldrh r0, [r2, 0x4] - ldrh r1, [r1, 0x22] - adds r0, r1 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_80A6E14 - strh r4, [r5, 0x34] - strh r4, [r5, 0x36] - strh r6, [r5, 0x38] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A6680 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5A94 - - thumb_func_start sub_80D5B48 -sub_80D5B48: @ 80D5B48 - push {r4-r7,lr} - adds r6, r0, 0 - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D5B70 - ldr r0, =gBattleAnimAttacker - b _080D5B72 - .pool -_080D5B70: - ldr r0, =gBattleAnimTarget -_080D5B72: - ldrb r1, [r0] - ldr r0, =gBattlerSpriteIds - adds r0, r1, r0 - ldrb r7, [r0] - adds r0, r1, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080D5B9C - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _080D5B9C - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080D5B9C: - ldr r5, =gBattleAnimArgs - ldrh r0, [r5, 0x8] - strh r0, [r6, 0x2E] - ldr r0, =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r6, 0x30] - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r6, 0x32] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r6, 0x34] - ldrh r1, [r5, 0x4] - adds r0, r1 - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl sub_80A6E14 - ldrh r0, [r4, 0x24] - lsls r0, 8 - strh r0, [r6, 0x34] - ldrh r0, [r4, 0x26] - lsls r0, 8 - strh r0, [r6, 0x36] - strh r7, [r6, 0x38] - ldrh r0, [r5, 0xA] - strh r0, [r6, 0x3A] - lsls r0, 16 - cmp r0, 0 - bne _080D5C04 - ldr r1, =DestroyAnimSprite - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - b _080D5C0C - .pool -_080D5C04: - ldr r1, =sub_80D5C20 - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 -_080D5C0C: - ldr r0, =sub_80A6680 - str r0, [r6, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5B48 - - thumb_func_start sub_80D5C20 -sub_80D5C20: @ 80D5C20 - push {r4,lr} - ldr r4, =gSprites - movs r1, 0x38 - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - movs r3, 0 - strh r3, [r1, 0x24] - movs r1, 0x38 - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r3, [r1, 0x26] - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5C20 - - thumb_func_start sub_80D5C50 -sub_80D5C50: @ 80D5C50 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gBattleAnimArgs - movs r0, 0x6 - ldrsh r1, [r5, r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080D5C82 - ldrh r0, [r5, 0x2] - negs r0, r0 - strh r0, [r5, 0x2] - ldrh r0, [r5, 0xA] - negs r0, r0 - strh r0, [r5, 0xA] -_080D5C82: - ldrb r0, [r5] - bl GetAnimBattlerSpriteId - ldr r1, =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r1 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] - movs r1, 0x2 - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r2, 0x6 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r4, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0xC] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0xE] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r2, 0xC - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r4, 0x12] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x14] - strh r7, [r4, 0x16] - ldr r0, =sub_80D5CE4 - str r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5C50 - - thumb_func_start sub_80D5CE4 -sub_80D5CE4: @ 80D5CE4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrb r1, [r5, 0x8] - ldrh r0, [r5, 0xA] - ldrh r2, [r5, 0x1E] - adds r0, r2 - strh r0, [r5, 0x1E] - ldr r2, =gSprites - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - adds r4, r2 - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x1C] - lsrs r0, 8 - movs r2, 0xC - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x16] - ldrh r1, [r5, 0x1C] - adds r0, r1 - strh r0, [r5, 0x1C] - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _080D5D34 - ldr r0, =sub_80D5D48 - str r0, [r5] -_080D5D34: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5CE4 - - thumb_func_start sub_80D5D48 -sub_80D5D48: @ 80D5D48 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080D5D70 - subs r0, r1, 0x1 - strh r0, [r4, 0x10] - b _080D5DA4 - .pool -_080D5D70: - ldrb r0, [r4, 0x8] - ldrh r2, [r4, 0x12] - ldrh r1, [r4, 0x20] - adds r2, r1 - strh r2, [r4, 0x20] - ldr r3, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - lsls r2, 16 - asrs r2, 24 - ldrh r0, [r4, 0x1E] - lsls r0, 16 - asrs r0, 24 - adds r2, r0 - strh r2, [r1, 0x24] - ldrh r0, [r4, 0x14] - subs r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _080D5DA4 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080D5DA4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5D48 - - thumb_func_start sub_80D5DB0 -sub_80D5DB0: @ 80D5DB0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - beq _080D5DDE - cmp r0, 0x2 - bgt _080D5DD8 - cmp r0, 0 - blt _080D5E10 - ldrb r0, [r1] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r2, r0, 24 - b _080D5E18 - .pool -_080D5DD8: - cmp r0, 0x3 - beq _080D5DE8 - b _080D5E10 -_080D5DDE: - ldr r5, =gBattleAnimAttacker - b _080D5DEA - .pool -_080D5DE8: - ldr r5, =gBattleAnimTarget -_080D5DEA: - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080D5E10 - ldr r1, =gBattlerSpriteIds - ldrb r0, [r5] - eors r0, r4 - adds r0, r1 - ldrb r2, [r0] - b _080D5E18 - .pool -_080D5E10: - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _080D5E58 -_080D5E18: - ldr r1, =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 3 - adds r5, r0, r1 - strh r2, [r5, 0x8] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080D5E44 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x2] - b _080D5E4A - .pool -_080D5E44: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x2] - negs r0, r0 -_080D5E4A: - strh r0, [r5, 0xA] - ldr r0, =gTasks - adds r1, r4, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D5E6C - str r0, [r1] -_080D5E58: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5DB0 - - thumb_func_start sub_80D5E6C -sub_80D5E6C: @ 80D5E6C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r2, [r1, 0x8] - ldr r3, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r1, 0xA] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - movs r2, 0x24 - ldrsh r1, [r0, r2] - movs r2, 0x20 - ldrsh r0, [r0, r2] - adds r1, r0 - adds r1, 0x20 - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - bls _080D5EAA - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080D5EAA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5E6C - - thumb_func_start sub_80D5EB8 -sub_80D5EB8: @ 80D5EB8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, =gBattleAnimAttacker - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080D5ED4 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_080D5ED4: - ldr r4, =gBattleAnimArgs - ldrb r0, [r4, 0x8] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r3, r5, 2 - adds r1, r3, r5 - lsls r1, 3 - adds r2, r1, r2 - ldrh r1, [r4] - strh r1, [r2, 0x8] - ldrh r1, [r4, 0x2] - strh r1, [r2, 0xA] - ldrh r1, [r4, 0x4] - strh r1, [r2, 0xC] - ldrh r1, [r4, 0x6] - strh r1, [r2, 0xE] - strh r0, [r2, 0x10] - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080D5F14 - ldrb r0, [r6] - b _080D5F18 - .pool -_080D5F14: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] -_080D5F18: - strh r0, [r2, 0x12] - ldr r1, =gTasks - adds r0, r3, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x20] - ldr r1, =sub_80D5F3C - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5EB8 - - thumb_func_start sub_80D5F3C -sub_80D5F3C: @ 80D5F3C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - ldrb r7, [r4, 0x10] - ldrh r0, [r4, 0xC] - ldrh r1, [r4, 0x1C] - adds r0, r1 - lsls r1, r0, 16 - strh r0, [r4, 0x1C] - lsrs r1, 24 - mov r8, r1 - mov r0, r8 - movs r2, 0xA - ldrsh r1, [r4, r2] - bl Sin - lsls r0, 16 - lsrs r5, r0, 16 - mov r9, r5 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080D5F94 - ldr r0, =gSprites - lsls r2, r7, 4 - adds r1, r2, r7 - lsls r1, 2 - adds r1, r0 - strh r5, [r1, 0x24] - mov r9, r0 - adds r4, r2, 0 - b _080D5FDA - .pool -_080D5F94: - ldrb r0, [r4, 0x12] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080D5FBC - ldr r1, =gSprites - lsls r2, r7, 4 - adds r0, r2, r7 - lsls r0, 2 - adds r3, r0, r1 - lsls r0, r5, 16 - asrs r0, 16 - mov r9, r1 - adds r4, r2, 0 - cmp r0, 0 - bge _080D5FD8 - b _080D5FD6 - .pool -_080D5FBC: - ldr r1, =gSprites - lsls r2, r7, 4 - adds r0, r2, r7 - lsls r0, 2 - adds r3, r0, r1 - mov r4, r9 - lsls r0, r4, 16 - asrs r0, 16 - mov r9, r1 - adds r4, r2, 0 - cmp r0, 0 - bge _080D5FD6 - negs r0, r0 -_080D5FD6: - negs r0, r0 -_080D5FD8: - strh r0, [r3, 0x26] -_080D5FDA: - mov r5, r8 - cmp r5, 0x7F - bls _080D5FFC - ldr r1, =gTasks - lsls r2, r6, 2 - adds r0, r2, r6 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0x1E - ldrsh r0, [r3, r5] - adds r5, r1, 0 - cmp r0, 0 - bne _080D5FFC - movs r1, 0x20 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _080D601E -_080D5FFC: - mov r2, r8 - cmp r2, 0x7E - bhi _080D6050 - ldr r1, =gTasks - lsls r2, r6, 2 - adds r0, r2, r6 - lsls r0, 3 - adds r3, r0, r1 - movs r5, 0x1E - ldrsh r0, [r3, r5] - adds r5, r1, 0 - cmp r0, 0x1 - bne _080D6050 - movs r1, 0x20 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080D6050 -_080D601E: - adds r1, r2, r6 - lsls r1, 3 - adds r1, r5 - ldrh r0, [r1, 0x1E] - movs r2, 0x1 - eors r0, r2 - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x20] - eors r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0xE] - subs r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bne _080D6050 - adds r0, r4, r7 - lsls r0, 2 - add r0, r9 - strh r3, [r0, 0x24] - strh r3, [r0, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080D6050: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D5F3C - - thumb_func_start sub_80D6064 -sub_80D6064: @ 80D6064 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gBattleAnimArgs - ldrb r0, [r6, 0x6] - bl GetAnimBattlerSpriteId - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r1, [r6, 0x8] - adds r0, r5, 0 - bl sub_80A7270 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r6] - strh r1, [r0, 0x8] - ldrh r1, [r6, 0x2] - strh r1, [r0, 0xA] - ldrh r1, [r6, 0x4] - strh r1, [r0, 0xC] - ldrh r1, [r6, 0x4] - strh r1, [r0, 0xE] - strh r5, [r0, 0x10] - movs r1, 0x80 - lsls r1, 1 - strh r1, [r0, 0x1C] - strh r1, [r0, 0x1E] - ldr r1, =sub_80D60BC - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D6064 - - thumb_func_start sub_80D60BC -sub_80D60BC: @ 80D60BC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - ldrh r1, [r4, 0x1C] - adds r0, r1 - strh r0, [r4, 0x1C] - ldrh r0, [r4, 0xA] - ldrh r3, [r4, 0x1E] - adds r0, r3 - strh r0, [r4, 0x1E] - ldrb r0, [r4, 0x10] - adds r6, r0, 0 - movs r0, 0x1C - ldrsh r1, [r4, r0] - movs r3, 0x1E - ldrsh r2, [r4, r3] - adds r0, r6, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _080D612C - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - ble _080D6120 - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xA] - negs r0, r0 - strh r0, [r4, 0xA] - strh r2, [r4, 0xC] - strh r1, [r4, 0xE] - b _080D612C - .pool -_080D6120: - adds r0, r6, 0 - bl sub_80A7344 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080D612C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D60BC - - thumb_func_start sub_80D6134 -sub_80D6134: @ 80D6134 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, =gBattleAnimArgs - ldrb r0, [r4, 0x4] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r1, 0 - bl sub_80A7270 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0 - strh r1, [r2, 0xA] - ldrh r0, [r4] - strh r0, [r2, 0xC] - movs r3, 0x6 - ldrsh r0, [r4, r3] - cmp r0, 0x1 - beq _080D6178 - strh r1, [r2, 0xE] - b _080D6184 - .pool -_080D6178: - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - adds r3, r0, 0 - muls r3, r1 - adds r0, r3, 0 - strh r0, [r2, 0xE] -_080D6184: - ldr r1, =gTasks - lsls r4, r7, 2 - adds r0, r4, r7 - lsls r0, 3 - adds r5, r0, r1 - ldr r6, =gBattleAnimArgs - ldrh r0, [r6, 0x2] - strh r0, [r5, 0x10] - mov r0, r8 - strh r0, [r5, 0x12] - ldrh r0, [r6, 0x6] - strh r0, [r5, 0x14] - bl IsContest - lsls r0, 24 - mov r8, r4 - cmp r0, 0 - beq _080D61B8 - movs r0, 0x1 - strh r0, [r5, 0x16] - b _080D61DC - .pool -_080D61B8: - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080D61C8 - ldr r0, =gBattleAnimAttacker - b _080D61CA - .pool -_080D61C8: - ldr r0, =gBattleAnimTarget -_080D61CA: - ldrb r0, [r0] - bl GetBattlerSide - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _080D61DA - movs r1, 0x1 -_080D61DA: - strh r1, [r5, 0x16] -_080D61DC: - ldr r0, =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r4, r1, r0 - movs r3, 0x16 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080D6208 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080D6208 - movs r1, 0xE - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0xE] - movs r2, 0x10 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x10] -_080D6208: - ldr r0, =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D6308 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D6134 - - thumb_func_start sub_80D622C -sub_80D622C: @ 80D622C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gBattleAnimArgs - ldrb r0, [r4, 0x4] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r1, 0 - bl sub_80A7270 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xA] - ldrh r1, [r4] - strh r1, [r0, 0xC] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080D6274 - ldr r0, =gBattleAnimAttacker - b _080D6276 - .pool -_080D6274: - ldr r0, =gBattleAnimTarget -_080D6276: - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080D6288 - ldrh r0, [r4, 0x2] - negs r0, r0 - strh r0, [r4, 0x2] -_080D6288: - ldr r0, =gBattleAnimArgs - movs r2, 0x6 - ldrsh r1, [r0, r2] - adds r6, r0, 0 - cmp r1, 0x1 - beq _080D62B0 - ldr r2, =gTasks - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0xE] - b _080D62CA - .pool -_080D62B0: - ldr r3, =gTasks - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r0, r3 - ldrh r2, [r6] - ldrh r1, [r6, 0x2] - adds r7, r2, 0 - muls r7, r1 - adds r1, r7, 0 - strh r1, [r0, 0xE] - adds r2, r3, 0 - adds r3, r4, 0 -_080D62CA: - adds r1, r3, r5 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r6, 0x2] - strh r0, [r1, 0x10] - mov r0, r8 - strh r0, [r1, 0x12] - ldrh r0, [r6, 0x6] - strh r0, [r1, 0x14] - movs r0, 0x1 - strh r0, [r1, 0x16] - movs r2, 0xE - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0xE] - movs r7, 0x10 - ldrsh r0, [r1, r7] - negs r0, r0 - strh r0, [r1, 0x10] - ldr r0, =sub_80D6308 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D622C - - thumb_func_start sub_80D6308 -sub_80D6308: @ 80D6308 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0xE] - adds r0, r1 - strh r0, [r4, 0xE] - ldrb r0, [r4, 0x12] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xE] - adds r1, r2, 0 - bl obj_id_set_rotscale - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080D633C - ldrb r0, [r4, 0x12] - bl sub_80A73A0 -_080D633C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xC - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080D6382 - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080D6364 - cmp r0, 0x1 - ble _080D636A - cmp r0, 0x2 - beq _080D6372 - b _080D636A - .pool -_080D6364: - ldrb r0, [r4, 0x12] - bl sub_80A7344 -_080D636A: - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _080D6382 -_080D6372: - movs r0, 0 - strh r0, [r4, 0xA] - movs r2, 0x10 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x10] - movs r0, 0x1 - strh r0, [r4, 0x14] -_080D6382: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80D6308 - - thumb_func_start sub_80D6388 -sub_80D6388: @ 80D6388 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - mov r8, r0 - cmp r1, 0 - bne _080D63C0 - ldr r4, =gTasks - lsls r5, r7, 2 - adds r0, r5, r7 - lsls r0, 3 - adds r6, r0, r4 - ldr r0, =gAnimMovePower - ldrh r0, [r0] - movs r1, 0xC - bl __udivsi3 - b _080D63D4 - .pool -_080D63C0: - ldr r4, =gTasks - lsls r5, r7, 2 - adds r0, r5, r7 - lsls r0, 3 - adds r6, r0, r4 - ldr r0, =gAnimMoveDmg - ldr r0, [r0] - movs r1, 0xC - bl __divsi3 -_080D63D4: - strh r0, [r6, 0x26] - lsls r0, 16 - adds r1, r4, 0 - cmp r0, 0 - bgt _080D63E2 - movs r0, 0x1 - strh r0, [r6, 0x26] -_080D63E2: - movs r2, 0x26 - ldrsh r0, [r6, r2] - cmp r0, 0x10 - ble _080D63EE - movs r0, 0x10 - strh r0, [r6, 0x26] -_080D63EE: - adds r4, r5, r7 - lsls r4, 3 - adds r4, r1 - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - movs r5, 0 - strh r1, [r4, 0x24] - ldrh r2, [r4, 0x26] - movs r0, 0x1 - ands r0, r2 - adds r1, r0 - strh r1, [r4, 0x22] - strh r5, [r4, 0x20] - mov r1, r8 - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x1C] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x1E] - movs r0, 0x1 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x16] - ldr r2, =gSprites - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x24] - strh r0, [r4, 0x18] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x26] - strh r0, [r4, 0x1A] - strh r5, [r4, 0x8] - mov r1, r8 - ldrh r0, [r1, 0x2] - strh r0, [r4, 0xA] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0xC] - ldr r0, =sub_80D646C - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D6388 - - thumb_func_start sub_80D646C -sub_80D646C: @ 80D646C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r3, r0, r1 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xA - ldrsh r1, [r3, r2] - cmp r0, r1 - ble _080D654A - movs r0, 0 - strh r0, [r3, 0x8] - ldrh r0, [r3, 0x20] - adds r1, r0, 0x1 - movs r0, 0x1 - ands r1, r0 - strh r1, [r3, 0x20] - movs r2, 0x1C - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080D64DE - cmp r1, 0 - beq _080D64C8 - ldr r2, =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x22] - ldrh r2, [r3, 0x18] - adds r1, r2 - b _080D64DC - .pool -_080D64C8: - ldr r2, =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x18] - ldrh r2, [r3, 0x24] - subs r1, r2 -_080D64DC: - strh r1, [r0, 0x24] -_080D64DE: - movs r1, 0x1E - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080D6518 - movs r2, 0x20 - ldrsh r4, [r3, r2] - cmp r4, 0 - beq _080D6508 - ldr r2, =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x26] - strh r1, [r0, 0x26] - b _080D6518 - .pool -_080D6508: - ldr r2, =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x26] -_080D6518: - ldrh r0, [r3, 0xC] - subs r0, 0x1 - strh r0, [r3, 0xC] - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0 - bne _080D654A - ldr r2, =gSprites - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x24] - movs r0, 0x16 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x26] - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080D654A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D646C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s index f5b9697af..620940730 100644 --- a/asm/battle_anim_80FE840.s +++ b/asm/battle_anim_80FE840.s @@ -183,7 +183,7 @@ sub_80FE988: @ 80FE988 lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r6, 0x6] strh r0, [r4, 0x38] ldr r1, =sub_80FE9E4 @@ -200,7 +200,7 @@ sub_80FE988: @ 80FE988 sub_80FE9E4: @ 80FE9E4 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _080FE9FA @@ -350,7 +350,7 @@ sub_80FEAD8: @ 80FEAD8 sub_80FEB28: @ 80FEB28 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _080FEB3C @@ -541,7 +541,7 @@ _080FEC68: sub_80FECB8: @ 80FECB8 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _080FECE2 @@ -781,7 +781,7 @@ sub_80FEE78: @ 80FEE78 adds r0, r5 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation movs r0, 0x40 strh r0, [r4, 0x38] ldr r1, =sub_80FEECC @@ -798,7 +798,7 @@ sub_80FEE78: @ 80FEE78 sub_80FEECC: @ 80FEECC push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 bne _080FEF38 @@ -878,7 +878,7 @@ sub_80FEF44: @ 80FEF44 adds r0, r5 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation movs r0, 0x40 strh r0, [r4, 0x38] ldr r1, =sub_80FEF98 @@ -895,7 +895,7 @@ sub_80FEF44: @ 80FEF44 sub_80FEF98: @ 80FEF98 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 bne _080FEFF0 @@ -1124,7 +1124,7 @@ _080FF154: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_80A8924 + bl SetAverageBattlerPositions ldrh r0, [r6, 0x4] ldrh r1, [r5, 0x32] adds r0, r1 @@ -1175,7 +1175,7 @@ sub_80FF1C0: @ 80FF1C0 movs r0, 0x1 strh r0, [r6, 0x2E] adds r0, r6, 0 - bl AnimateBallThrow + bl TranslateAnimArc ldrh r0, [r6, 0x3C] strh r5, [r6, 0x2E] lsls r4, 16 @@ -1272,7 +1272,7 @@ sub_80FF268: @ 80FF268 adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_80A8924 + bl SetAverageBattlerPositions _080FF28A: ldrh r0, [r4, 0x22] adds r0, 0x20 @@ -3161,7 +3161,7 @@ _08100180: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 bne _08100196 @@ -3190,7 +3190,7 @@ _081001B4: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 bne _081001CA @@ -3219,7 +3219,7 @@ _081001E6: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 bne _081001FC @@ -3272,7 +3272,7 @@ _08100254: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 bne _0810026A @@ -3403,7 +3403,7 @@ _08100362: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 bne _08100378 @@ -3514,7 +3514,7 @@ _08100448: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _081004FC @@ -3566,7 +3566,7 @@ _081004B6: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _081004FC @@ -4152,7 +4152,7 @@ _08100918: subs r1, r5 lsls r1, 16 asrs r1, 16 - bl sub_80A74F4 + bl ArcTan2Neg lsls r0, 16 lsrs r4, r0, 16 bl IsContest @@ -4869,7 +4869,7 @@ _08100F06: ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0 - bl sub_80A60AC + bl GetBattlerSpriteCoord2 lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -4878,7 +4878,7 @@ _08100F06: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A60AC + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -5451,7 +5451,7 @@ _0810137A: adds r3, r5, 0 adds r3, 0x22 adds r0, r6, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions movs r2, 0 ldrsh r1, [r4, r2] adds r0, r5, 0 @@ -7975,7 +7975,7 @@ _08102794: mov r12, r5 ldr r7, =gUnknown_08592EBC mov r8, r7 - ldr r6, =gUnknown_08592EEC + ldr r6, =gBattleAnimSpriteTemplate_8592EEC movs r5, 0x1 _081027B2: lsls r0, r2, 4 @@ -9082,7 +9082,7 @@ _08103074: subs r0, 0x28 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r5, 0x6] strh r0, [r4, 0x38] ldr r0, =sub_81030B0 @@ -9097,7 +9097,7 @@ _08103074: sub_81030B0: @ 81030B0 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 bne _08103100 @@ -10172,7 +10172,7 @@ _0810390E: subs r1, r2 lsls r1, 16 asrs r1, 16 - bl sub_80A74F4 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xF0 lsls r1, 24 @@ -10754,7 +10754,7 @@ _08103DB6: movs r1, 0 mov r2, sp mov r3, r10 - bl sub_80A8924 + bl SetAverageBattlerPositions b _08103E42 .pool _08103E20: @@ -11093,7 +11093,7 @@ _081040CC: subs r1, r2 lsls r1, 16 asrs r1, 16 - bl sub_80A74F4 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 24 @@ -11528,7 +11528,7 @@ _08104448: adds r0, r6 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r7] strh r0, [r5, 0x38] ldrh r0, [r5, 0x2E] @@ -11548,7 +11548,7 @@ _08104448: sub_81044BC: @ 81044BC push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _08104520 @@ -11659,7 +11659,7 @@ _0810458A: sub_8104594: @ 8104594 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _081045A8 @@ -12761,7 +12761,7 @@ sub_8104E74: @ 8104E74 adds r5, r1, r0 ldr r4, =gBattleAnimTarget ldrb r0, [r4] - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -12969,7 +12969,7 @@ sub_810501C: @ 810501C movs r5, 0 strh r0, [r4, 0x20] ldrb r0, [r6] - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r0, 0x10 @@ -13220,7 +13220,7 @@ _081051F2: adds r1, r4, 0 mov r2, sp adds r3, r7, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions cmp r4, 0 bne _08105230 adds r0, r5, 0 @@ -13271,7 +13271,7 @@ _0810526A: sub_8105284: @ 8105284 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _0810529E @@ -13466,7 +13466,7 @@ _081053FA: mov r2, sp mov r3, sp adds r3, 0x2 - bl sub_80A8924 + bl SetAverageBattlerPositions b _0810546C .pool _0810544C: @@ -13526,7 +13526,7 @@ _0810549E: ldrh r0, [r2] strh r0, [r5, 0x2E] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r1, =sub_8105284 str r1, [r5, 0x1C] adds r0, r5, 0 @@ -15088,7 +15088,7 @@ sub_8106140: @ 8106140 lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, =sub_810618C str r0, [r4, 0x1C] pop {r4,r5} @@ -15101,7 +15101,7 @@ sub_8106140: @ 8106140 sub_810618C: @ 810618C push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 bne _081061B6 @@ -17006,7 +17006,7 @@ sub_81070AC: @ 81070AC adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions ldrh r0, [r5, 0x22] adds r0, 0x28 strh r0, [r5, 0x22] @@ -17049,8 +17049,8 @@ _08107118: .pool thumb_func_end sub_81070AC - thumb_func_start sub_8107144 -sub_8107144: @ 8107144 + thumb_func_start AnimTask_IsFuryCutterHitRight +AnimTask_IsFuryCutterHitRight: @ 8107144 push {lr} lsls r0, 24 lsrs r0, 24 @@ -17065,10 +17065,10 @@ sub_8107144: @ 8107144 pop {r0} bx r0 .pool - thumb_func_end sub_8107144 + thumb_func_end AnimTask_IsFuryCutterHitRight - thumb_func_start sub_8107168 -sub_8107168: @ 8107168 + thumb_func_start AnimTask_GetFuryCutterHitCount +AnimTask_GetFuryCutterHitCount: @ 8107168 push {lr} lsls r0, 24 lsrs r0, 24 @@ -17081,10 +17081,10 @@ sub_8107168: @ 8107168 pop {r0} bx r0 .pool - thumb_func_end sub_8107168 + thumb_func_end AnimTask_GetFuryCutterHitCount - thumb_func_start sub_8107188 -sub_8107188: @ 8107188 + thumb_func_start AnimTask_CreateRaindrops +AnimTask_CreateRaindrops: @ 8107188 push {r4-r6,lr} lsls r0, 24 lsrs r0, 24 @@ -17150,7 +17150,7 @@ _0810720A: pop {r0} bx r0 .pool - thumb_func_end sub_8107188 + thumb_func_end AnimTask_CreateRaindrops thumb_func_start sub_810721C sub_810721C: @ 810721C @@ -17269,7 +17269,7 @@ _081072D8: lsrs r0, 24 strh r0, [r6, 0x36] adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, =SpriteCallbackDummy bl CreateInvisibleSpriteWithCallback adds r4, r0, 0 @@ -17339,7 +17339,7 @@ sub_8107380: @ 8107380 movs r0, 0x1 strh r0, [r5, 0x2E] adds r0, r5, 0 - bl sub_80A6F3C + bl TranslateAnimLinear mov r1, r8 lsrs r6, r1, 8 movs r0, 0x2E @@ -17464,7 +17464,7 @@ _08107482: adds r0, r7 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, =sub_81074E4 str r0, [r5, 0x1C] adds r2, r5, 0 @@ -17502,7 +17502,7 @@ sub_81074E4: @ 81074E4 strb r0, [r2] _08107506: adds r0, r4, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _08107518 @@ -17637,7 +17637,7 @@ sub_81075EC: @ 81075EC lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation movs r0, 0x2E ldrsh r1, [r5, r0] movs r0, 0xD2 @@ -17678,7 +17678,7 @@ _08107660: sub_8107674: @ 8107674 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _08107688 @@ -18033,8 +18033,8 @@ _0810794C: bx r0 thumb_func_end sub_810790C - thumb_func_start sub_8107954 -sub_8107954: @ 8107954 + thumb_func_start AnimTask_CreateSurfWave +AnimTask_CreateSurfWave: @ 8107954 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -18256,7 +18256,7 @@ _08107B58: pop {r0} bx r0 .pool - thumb_func_end sub_8107954 + thumb_func_end AnimTask_CreateSurfWave thumb_func_start sub_8107B84 sub_8107B84: @ 8107B84 @@ -20234,7 +20234,7 @@ _08108B1A: sub_8108B2C: @ 8108B2C push {r4-r6,lr} adds r6, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _08108B86 @@ -20283,7 +20283,7 @@ _08108B86: sub_8108B94: @ 8108B94 push {r4-r6,lr} adds r5, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _08108BD0 @@ -21144,7 +21144,7 @@ sub_8109244: @ 8109244 lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, =sub_810929C str r0, [r5, 0x1C] _0810928E: @@ -21158,7 +21158,7 @@ _0810928E: sub_810929C: @ 810929C push {r4-r6,lr} adds r6, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _081092E4 @@ -22386,7 +22386,7 @@ _08109C3E: sub_8109C4C: @ 8109C4C push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 bne _08109CA4 @@ -22914,8 +22914,8 @@ _0810A054: .pool thumb_func_end sub_8109E2C - thumb_func_start sub_810A060 -sub_810A060: @ 810A060 + thumb_func_start AnimTask_BlendBackground +AnimTask_BlendBackground: @ 810A060 push {r4,lr} sub sp, 0x10 adds r4, r0, 0 @@ -22938,7 +22938,7 @@ sub_810A060: @ 810A060 pop {r0} bx r0 .pool - thumb_func_end sub_810A060 + thumb_func_end AnimTask_BlendBackground thumb_func_start sub_810A094 sub_810A094: @ 810A094 @@ -23433,7 +23433,7 @@ sub_810A46C: @ 810A46C lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r5, 0x4] strh r0, [r4, 0x38] ldrh r0, [r5, 0xA] @@ -23468,7 +23468,7 @@ sub_810A46C: @ 810A46C sub_810A4F4: @ 810A4F4 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 bne _0810A55E @@ -24336,7 +24336,7 @@ sub_810AB78: @ 810AB78 strh r0, [r4, 0x36] strh r6, [r4, 0x38] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r1, =sub_810ACC0 adds r0, r4, 0 bl StoreSpriteCallbackInData6 @@ -24394,7 +24394,7 @@ _0810AC86: sub_810AC8C: @ 810AC8C push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _0810ACB4 @@ -26048,7 +26048,7 @@ _0810B990: adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_80A8924 + bl SetAverageBattlerPositions ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -26155,7 +26155,7 @@ _0810BA74: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_80A8924 + bl SetAverageBattlerPositions _0810BA86: ldr r0, =gBattleAnimAttacker ldrb r0, [r0] @@ -26454,7 +26454,7 @@ _0810BCE0: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_80A8924 + bl SetAverageBattlerPositions _0810BCF2: ldr r0, =gBattleAnimAttacker ldrb r0, [r0] @@ -26652,7 +26652,7 @@ _0810BE6C: adds r3, r4, 0 adds r3, 0x22 movs r1, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -26719,7 +26719,7 @@ _0810BEF4: adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -26762,7 +26762,7 @@ _0810BF52: adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -26828,7 +26828,7 @@ _0810BFCC: adds r0, r1 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation movs r0, 0x40 strh r0, [r5, 0x38] ldr r1, =sub_810C008 @@ -26845,7 +26845,7 @@ _0810BFCC: sub_810C008: @ 810C008 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 bne _0810C092 @@ -27192,7 +27192,7 @@ sub_810C2F0: @ 810C2F0 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] - ldr r0, =sub_80A7820 + ldr r0, =TranslateAnimSpriteToTargetMonLocation str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -27608,7 +27608,7 @@ _0810C684: strb r0, [r1] _0810C6B8: adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, =sub_810C6D4 str r0, [r5, 0x1C] pop {r3} @@ -27642,7 +27642,7 @@ _0810C6F4: b _0810C90C _0810C6F6: adds r0, r4, 0 - bl sub_80A6F3C + bl TranslateAnimLinear ldr r1, =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] @@ -27731,12 +27731,12 @@ _0810C78E: ands r0, r1 strh r0, [r4, 0x38] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation b _0810C90C .pool _0810C7BC: adds r0, r4, 0 - bl sub_80A6F3C + bl TranslateAnimLinear ldr r1, =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] @@ -27872,7 +27872,7 @@ _0810C8B6: .pool _0810C8D0: adds r0, r4, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _0810C90C @@ -28414,7 +28414,7 @@ _0810CCCE: sub_810CD1C: @ 810CD1C push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _0810CD3E @@ -28522,8 +28522,8 @@ _0810CDF6: bx r0 thumb_func_end sub_810CDB0 - thumb_func_start sub_810CDFC -sub_810CDFC: @ 810CDFC + thumb_func_start AnimTask_GetRolloutCounter +AnimTask_GetRolloutCounter: @ 810CDFC push {lr} lsls r0, 24 lsrs r0, 24 @@ -28544,7 +28544,7 @@ sub_810CDFC: @ 810CDFC pop {r0} bx r0 .pool - thumb_func_end sub_810CDFC + thumb_func_end AnimTask_GetRolloutCounter thumb_func_start unc_080B08A0 unc_080B08A0: @ 810CE2C @@ -28796,7 +28796,7 @@ _0810D028: mov r1, r9 ldrh r0, [r1, 0x2] strh r0, [r5, 0x2E] - ldr r0, =gUnknown_08597358 + ldr r0, =gBasicHitSplatSpriteTemplate movs r2, 0x20 ldrsh r1, [r5, r2] movs r3, 0x22 @@ -29021,7 +29021,7 @@ _0810D1FE: strh r0, [r6, 0x34] strh r0, [r6, 0x36] adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r4, 0xA] strh r0, [r6, 0x38] ldrh r0, [r4, 0x8] @@ -29039,7 +29039,7 @@ _0810D1FE: sub_810D240: @ 810D240 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 bne _0810D26C @@ -29616,7 +29616,7 @@ sub_810D6A8: @ 810D6A8 lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r1, =move_anim_8074EE0 adds r0, r4, 0 bl StoreSpriteCallbackInData6 @@ -29892,7 +29892,7 @@ _0810D918: lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r1, =DestroyAnimSprite adds r0, r5, 0 bl StoreSpriteCallbackInData6 @@ -30234,7 +30234,7 @@ _0810DBC2: sub_810DC10: @ 810DC10 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _0810DC24 @@ -30270,7 +30270,7 @@ _0810DC44: movs r1, 0x1 mov r2, sp adds r3, r6, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -30309,7 +30309,7 @@ _0810DC72: sub_810DCB4: @ 810DCB4 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _0810DCC8 @@ -30396,7 +30396,7 @@ sub_810DD50: @ 810DD50 adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_80A8924 + bl SetAverageBattlerPositions ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -30457,7 +30457,7 @@ _0810DDE0: adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_80A8924 + bl SetAverageBattlerPositions ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -30716,7 +30716,7 @@ _0810DFC8: adds r0, r4 strh r0, [r6, 0x36] adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, =sub_80A67BC str r0, [r6, 0x1C] ldr r1, =sub_810E028 @@ -30732,7 +30732,7 @@ _0810DFC8: sub_810E028: @ 810E028 push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _0810E03C @@ -30828,7 +30828,7 @@ _0810E0EC: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_80A8924 + bl SetAverageBattlerPositions _0810E0FE: ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x4] @@ -30971,7 +30971,7 @@ _0810E1FE: lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, =sub_810E24C str r0, [r5, 0x1C] pop {r4,r5} @@ -30987,7 +30987,7 @@ sub_810E24C: @ 810E24C movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_80A6F3C + bl TranslateAnimLinear ldrh r1, [r4, 0x34] lsrs r0, r1, 8 cmp r0, 0xC8 @@ -32074,7 +32074,7 @@ sub_810EA4C: @ 810EA4C lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] - ldr r0, =sub_80A7820 + ldr r0, =TranslateAnimSpriteToTargetMonLocation str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -32913,7 +32913,7 @@ sub_810F084: @ 810F084 asrs r5, 16 adds r0, r4, 0 adds r1, r5, 0 - bl sub_80A74F4 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 24 @@ -34508,7 +34508,7 @@ _0810FDE8: sub_810FDF0: @ 810FDF0 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _0810FE0E @@ -34537,7 +34537,7 @@ sub_810FE14: @ 810FE14 adds r4, r1, r0 ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r1, r0, 24 adds r0, r1, 0 @@ -35235,7 +35235,7 @@ _081103C4: ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A60AC + bl GetBattlerSpriteCoord2 lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -35244,7 +35244,7 @@ _081103C4: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A60AC + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -35314,7 +35314,7 @@ _08110478: ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A60AC + bl GetBattlerSpriteCoord2 lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -35323,7 +35323,7 @@ _08110478: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A60AC + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -35407,7 +35407,7 @@ _08110548: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_80A8924 + bl SetAverageBattlerPositions _0811055A: adds r0, r5, 0 bl sub_80A6FD4 @@ -35426,7 +35426,7 @@ _0811055A: sub_811057C: @ 811057C push {r4,lr} adds r4, r0, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _08110592 @@ -35464,7 +35464,7 @@ sub_81105B4: @ 81105B4 adds r3, r4, 0 adds r3, 0x22 movs r1, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -35745,7 +35745,7 @@ _081107B2: subs r1, r2 lsls r1, 16 asrs r1, 16 - bl sub_80A74F4 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 24 @@ -35844,7 +35844,7 @@ sub_81108CC: @ 81108CC ands r1, r0 strb r1, [r2] adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _081108F8 @@ -35879,7 +35879,7 @@ _0811090E: lsls r0, 16 lsrs r6, r0, 16 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 bne _08110988 @@ -35899,7 +35899,7 @@ _0811090E: subs r1, r2 lsls r1, 16 asrs r1, 16 - bl sub_80A74F4 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 24 @@ -35987,7 +35987,7 @@ sub_81109F0: @ 81109F0 adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions _08110A10: ldrh r0, [r6] ldrh r1, [r5, 0x20] @@ -36190,8 +36190,8 @@ _08110BC6: bx r0 thumb_func_end sub_8110B80 - thumb_func_start sub_8110BCC -sub_8110BCC: @ 8110BCC + thumb_func_start AnimTask_LoadSandstormBackground +AnimTask_LoadSandstormBackground: @ 8110BCC push {r4-r6,lr} sub sp, 0x10 lsls r0, 24 @@ -36275,7 +36275,7 @@ _08110C6E: pop {r0} bx r0 .pool - thumb_func_end sub_8110BCC + thumb_func_end AnimTask_LoadSandstormBackground thumb_func_start sub_8110CB0 sub_8110CB0: @ 8110CB0 @@ -37059,7 +37059,7 @@ _08111304: sub_811131C: @ 811131C push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _0811134E @@ -37205,7 +37205,7 @@ sub_8111418: @ 8111418 bl StartSpriteAffineAnim _08111434: adds r0, r4, 0 - bl sub_80A7820 + bl TranslateAnimSpriteToTargetMonLocation pop {r4} pop {r0} bx r0 @@ -37293,8 +37293,8 @@ _081114E6: bx r0 thumb_func_end sub_811149C - thumb_func_start sub_81114EC -sub_81114EC: @ 81114EC + thumb_func_start AnimTask_GetSeismicTossDamageLevel +AnimTask_GetSeismicTossDamageLevel: @ 81114EC push {lr} lsls r0, 24 lsrs r3, r0, 24 @@ -37326,7 +37326,7 @@ _0811151A: pop {r0} bx r0 .pool - thumb_func_end sub_81114EC + thumb_func_end AnimTask_GetSeismicTossDamageLevel thumb_func_start sub_811152C sub_811152C: @ 811152C @@ -37483,7 +37483,7 @@ sub_8111674: @ 8111674 adds r4, r0, 0 bl sub_8111764 adds r0, r4, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _08111694 @@ -37541,7 +37541,7 @@ sub_81116E8: @ 81116E8 movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_80A6F3C + bl TranslateAnimLinear movs r1, 0x38 ldrsh r0, [r4, r1] movs r1, 0xA @@ -40203,7 +40203,7 @@ sub_8112C6C: @ 8112C6C lsrs r0, 24 strh r0, [r4, 0x1A] ldrb r0, [r5] - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] @@ -41135,7 +41135,7 @@ _0811342A: strb r5, [r0, 0x9] ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -42031,7 +42031,7 @@ _08113B60: sub_8113B90: @ 8113B90 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _08113BA4 @@ -43699,7 +43699,7 @@ sub_8114994: @ 8114994 sub_81149FC: @ 81149FC push {r4,r5,lr} adds r5, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _08114A50 @@ -43746,7 +43746,7 @@ _08114A50: sub_8114A60: @ 8114A60 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _08114A74 @@ -43817,13 +43817,13 @@ sub_8114AF0: @ 8114AF0 ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A60AC + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r0, 24 mov r8, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A60AC + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r7, r0, 24 bl Random2 @@ -44120,7 +44120,7 @@ _08114D78: strh r0, [r4, 0x22] ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -44460,7 +44460,7 @@ _08115046: strh r0, [r4, 0x20] ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -44663,7 +44663,7 @@ _081151DA: adds r0, r6 strh r0, [r5, 0x20] adds r0, r4, 0 - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r0, 0x1E @@ -44693,7 +44693,7 @@ _081151DA: sub_8115228: @ 8115228 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _0811523C @@ -44735,7 +44735,7 @@ _08115262: adds r0, r1 strh r0, [r6, 0x20] adds r0, r5, 0 - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -45184,8 +45184,8 @@ _081155F4: .pool thumb_func_end sub_8115588 - thumb_func_start sub_8115600 -sub_8115600: @ 8115600 + thumb_func_start AnimTask_IsPowerOver99 +AnimTask_IsPowerOver99: @ 8115600 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -45203,7 +45203,7 @@ _08115614: pop {r0} bx r0 .pool - thumb_func_end sub_8115600 + thumb_func_end AnimTask_IsPowerOver99 thumb_func_start sub_8115628 sub_8115628: @ 8115628 @@ -47427,8 +47427,8 @@ _08116832: .pool thumb_func_end sub_811675C - thumb_func_start sub_8116848 -sub_8116848: @ 8116848 + thumb_func_start AnimTask_BlendParticle +AnimTask_BlendParticle: @ 8116848 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -47447,7 +47447,7 @@ sub_8116848: @ 8116848 pop {r0} bx r0 .pool - thumb_func_end sub_8116848 + thumb_func_end AnimTask_BlendParticle thumb_func_start sub_8116874 sub_8116874: @ 8116874 @@ -49190,8 +49190,8 @@ _0811773E: .pool thumb_func_end sub_81176D8 - thumb_func_start sub_8117754 -sub_8117754: @ 8117754 + thumb_func_start AnimTask_IsAttackerOpponentSide +AnimTask_IsAttackerOpponentSide: @ 8117754 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -49209,10 +49209,10 @@ sub_8117754: @ 8117754 pop {r0} bx r0 .pool - thumb_func_end sub_8117754 + thumb_func_end AnimTask_IsAttackerOpponentSide - thumb_func_start sub_8117780 -sub_8117780: @ 8117780 + thumb_func_start AnimTask_IsTargetOpponentSide +AnimTask_IsTargetOpponentSide: @ 8117780 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -49230,10 +49230,10 @@ sub_8117780: @ 8117780 pop {r0} bx r0 .pool - thumb_func_end sub_8117780 + thumb_func_end AnimTask_IsTargetOpponentSide - thumb_func_start sub_81177AC -sub_81177AC: @ 81177AC + thumb_func_start AnimTask_IsTargetPartner +AnimTask_IsTargetPartner: @ 81177AC push {r4,r5,lr} lsls r0, 24 lsrs r3, r0, 24 @@ -49256,7 +49256,7 @@ _081177C8: pop {r0} bx r0 .pool - thumb_func_end sub_81177AC + thumb_func_end AnimTask_IsTargetPartner thumb_func_start sub_81177E4 sub_81177E4: @ 81177E4 @@ -49753,8 +49753,8 @@ _08117C0C: .pool thumb_func_end sub_8117A60 - thumb_func_start sub_8117C24 -sub_8117C24: @ 8117C24 + thumb_func_start AnimTask_GetBattleTerrain +AnimTask_GetBattleTerrain: @ 8117C24 push {lr} lsls r0, 24 lsrs r0, 24 @@ -49766,7 +49766,7 @@ sub_8117C24: @ 8117C24 pop {r0} bx r0 .pool - thumb_func_end sub_8117C24 + thumb_func_end AnimTask_GetBattleTerrain thumb_func_start sub_8117C44 sub_8117C44: @ 8117C44 @@ -50032,8 +50032,8 @@ _08117E34: .pool thumb_func_end sub_8117DD8 - thumb_func_start sub_8117E60 -sub_8117E60: @ 8117E60 + thumb_func_start AnimTask_IsContest +AnimTask_IsContest: @ 8117E60 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -50057,7 +50057,7 @@ _08117E84: pop {r0} bx r0 .pool - thumb_func_end sub_8117E60 + thumb_func_end AnimTask_IsContest thumb_func_start sub_8117E94 sub_8117E94: @ 8117E94 @@ -50078,8 +50078,8 @@ sub_8117E94: @ 8117E94 .pool thumb_func_end sub_8117E94 - thumb_func_start sub_8117EC4 -sub_8117EC4: @ 8117EC4 + thumb_func_start AnimTask_IsTargetSameSide +AnimTask_IsTargetSameSide: @ 8117EC4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 @@ -50109,7 +50109,7 @@ _08117EFC: pop {r0} bx r0 .pool - thumb_func_end sub_8117EC4 + thumb_func_end AnimTask_IsTargetSameSide thumb_func_start sub_8117F10 sub_8117F10: @ 8117F10 @@ -50366,8 +50366,8 @@ _08118132: .pool thumb_func_end SetAnimBgAttribute - thumb_func_start sub_8118140 -sub_8118140: @ 8118140 + thumb_func_start GetAnimBgAttribute +GetAnimBgAttribute: @ 8118140 push {r4,lr} sub sp, 0x4 lsls r0, 24 @@ -50441,7 +50441,7 @@ _081181CA: pop {r4} pop {r1} bx r1 - thumb_func_end sub_8118140 + thumb_func_end GetAnimBgAttribute thumb_func_start HandleIntroSlide HandleIntroSlide: @ 81181D4 diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s index 6b894a0f1..b31af7d1e 100644 --- a/asm/battle_anim_815A0D4.s +++ b/asm/battle_anim_815A0D4.s @@ -231,7 +231,7 @@ sub_815A254: @ 815A254 subs r1, r6 lsls r1, 16 asrs r1, 16 - bl sub_80A74F4 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 23 @@ -775,7 +775,7 @@ sub_815A6C4: @ 815A6C4 movs r1, 0 mov r2, sp adds r3, r5, 0 - bl sub_80A8924 + bl SetAverageBattlerPositions ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -816,7 +816,7 @@ _0815A6F8: sub_815A73C: @ 815A73C push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _0815A75E @@ -1012,8 +1012,8 @@ _0815A8C2: bx r0 thumb_func_end sub_815A8AC - thumb_func_start sub_815A8C8 -sub_815A8C8: @ 815A8C8 + thumb_func_start AnimTask_IsTargetPlayerSide +AnimTask_IsTargetPlayerSide: @ 815A8C8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -1039,10 +1039,10 @@ _0815A8F0: pop {r0} bx r0 .pool - thumb_func_end sub_815A8C8 + thumb_func_end AnimTask_IsTargetPlayerSide - thumb_func_start sub_815A904 -sub_815A904: @ 815A904 + thumb_func_start AnimTask_IsHealingMove +AnimTask_IsHealingMove: @ 815A904 push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -1064,7 +1064,7 @@ _0815A924: pop {r0} bx r0 .pool - thumb_func_end sub_815A904 + thumb_func_end AnimTask_IsHealingMove thumb_func_start sub_815A934 sub_815A934: @ 815A934 @@ -1625,7 +1625,7 @@ _0815ADDC: ldr r4, =gBattleAnimTarget _0815ADDE: ldrb r0, [r4] - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] @@ -6104,7 +6104,7 @@ _0815D26E: strh r0, [r4, 0x18] _0815D2A0: adds r0, r5, 0 - bl sub_80A6190 + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 subs r0, 0x22 @@ -8524,7 +8524,7 @@ _0815E5FE: lsls r0, 2 ldr r1, =gSprites adds r0, r1 - bl AnimateBallThrow + bl TranslateAnimArc ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -8542,7 +8542,7 @@ _0815E634: lsls r0, 2 ldr r1, =gSprites adds r0, r1 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _0815E6D2 @@ -9804,11 +9804,11 @@ _0815F022: strh r0, [r4, 0x34] strh r1, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation b _0815F0F8 _0815F038: adds r0, r4, 0 - bl sub_80A6F3C + bl TranslateAnimLinear lsls r0, 24 cmp r0, 0 beq _0815F106 @@ -10048,8 +10048,8 @@ _0815F1DE: .pool thumb_func_end sub_815F18C - thumb_func_start sub_815F20C -sub_815F20C: @ 815F20C + thumb_func_start AnimTask_MonToSubstitute +AnimTask_MonToSubstitute: @ 815F20C push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -10183,7 +10183,7 @@ _0815F310: pop {r0} bx r0 .pool - thumb_func_end sub_815F20C + thumb_func_end AnimTask_MonToSubstitute thumb_func_start sub_815F330 sub_815F330: @ 815F330 @@ -10861,8 +10861,8 @@ _0815F896: .pool thumb_func_end sub_815F7C4 - thumb_func_start sub_815F8A0 -sub_815F8A0: @ 815F8A0 + thumb_func_start AnimTask_GetReturnPowerLevel +AnimTask_GetReturnPowerLevel: @ 815F8A0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -10904,7 +10904,7 @@ _0815F8E0: pop {r0} bx r0 .pool - thumb_func_end sub_815F8A0 + thumb_func_end AnimTask_GetReturnPowerLevel thumb_func_start sub_815F8F4 sub_815F8F4: @ 815F8F4 @@ -12336,8 +12336,8 @@ _081604E8: bx r0 thumb_func_end sub_81603F4 - thumb_func_start sub_81604F0 -sub_81604F0: @ 81604F0 + thumb_func_start AnimTask_GetWeather +AnimTask_GetWeather: @ 81604F0 push {lr} lsls r0, 24 lsrs r3, r0, 24 @@ -12380,7 +12380,7 @@ _08160538: bl DestroyAnimVisualTask pop {r0} bx r0 - thumb_func_end sub_81604F0 + thumb_func_end AnimTask_GetWeather thumb_func_start sub_8160544 sub_8160544: @ 8160544 diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s index ef7e609d9..ab3f27799 100644 --- a/asm/battle_anim_8170478.s +++ b/asm/battle_anim_8170478.s @@ -1030,8 +1030,8 @@ sub_8170D24: @ 8170D24 .pool thumb_func_end sub_8170D24 - thumb_func_start sub_8170D4C -sub_8170D4C: @ 8170D4C + thumb_func_start AnimTask_IsBallBlockedByTrainer +AnimTask_IsBallBlockedByTrainer: @ 8170D4C push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -1055,7 +1055,7 @@ _08170D74: pop {r0} bx r0 .pool - thumb_func_end sub_8170D4C + thumb_func_end AnimTask_IsBallBlockedByTrainer thumb_func_start ItemIdToBallId ItemIdToBallId: @ 8170D84 @@ -1487,7 +1487,7 @@ sub_8171134: @ 8171134 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _081711D2 @@ -2671,7 +2671,7 @@ sub_8171AAC: @ 8171AAC orrs r0, r1 strb r0, [r3] adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _08171ADC @@ -5652,7 +5652,7 @@ _081733C0: sub_81733D4: @ 81733D4 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimArc lsls r0, 24 cmp r0, 0 beq _081733F6 @@ -5757,8 +5757,8 @@ _081734A0: .pool thumb_func_end sub_817345C - thumb_func_start sub_81734B4 -sub_81734B4: @ 81734B4 + thumb_func_start AnimTask_GetTrappedMoveAnimId +AnimTask_GetTrappedMoveAnimId: @ 81734B4 push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -5805,7 +5805,7 @@ _0817350C: pop {r0} bx r0 .pool - thumb_func_end sub_81734B4 + thumb_func_end AnimTask_GetTrappedMoveAnimId thumb_func_start sub_817351C sub_817351C: @ 817351C diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index d1a8f6656..1d5b01de7 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -66,9 +66,9 @@ .byte \battler .endm - .macro setalpha param0 - .byte 0xc - .2byte \param0 + .macro setalpha eva, evb + .byte 0x0C + .2byte ((\evb) << 8) | (\eva) .endm .macro blendoff @@ -266,3 +266,16 @@ .macro stopsound .byte 0x2f .endm + +@ useful macros + .macro jumpreteq value, ptr + jumpargeq ARG_RET_ID, \value, \ptr + .endm + + .macro jumprettrue ptr + jumpreteq TRUE, \ptr + .endm + + .macro jumpretfalse ptr + jumpreteq FALSE, \ptr + .endm diff --git a/data/battle_anim_80A9C70.s b/data/battle_anim_80A9C70.s index 56486b8b7..892984c64 100644 --- a/data/battle_anim_80A9C70.s +++ b/data/battle_anim_80A9C70.s @@ -86,20 +86,3 @@ gUnknown_0853EF14:: @ 853EF14 .align 2 gUnknown_0853EF18:: @ 853EF18 spr_template 0x2714, 0x2714, gUnknown_085249CC, gUnknown_0853EEF8, NULL, gUnknown_0853EF14, sub_80A8A6C - - .align 2 -gUnknown_0853EF30:: @ 853EF30 - .byte 0xf0, 0xf0, 0x0c, 0x80, 0xf0, 0x30, 0x0d, 0x84, 0x30, 0xf0, 0x0e, 0x86, 0x30, 0x30, 0x08, 0x88 - - .align 2 -gUnknown_0853EF40:: @ 853EF40 - .4byte 0x00000004, gUnknown_0853EF30 - - .align 2 -gUnknown_0853EF48:: @ 853EF48 - spr_template 0x271a, 0x271a, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0853EF60:: @ 853EF60 - spr_template 0x2798, 0x2798, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A9E44 - diff --git a/data/battle_anim_80FE840.s b/data/battle_anim_80FE840.s index 749db42f8..856f379d9 100644 --- a/data/battle_anim_80FE840.s +++ b/data/battle_anim_80FE840.s @@ -14,15 +14,15 @@ gUnknown_08592114:: @ 8592114 .4byte gUnknown_085920F0 .align 2 -gUnknown_08592118:: @ 8592118 +gSleepPowderParticleSpriteTemplate:: @ 8592118 spr_template 0x2753, 0x2753, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840 .align 2 -gUnknown_08592130:: @ 8592130 +gStunSporeParticleSpriteTemplate:: @ 8592130 spr_template 0x2754, 0x2754, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840 .align 2 -gUnknown_08592148:: @ 8592148 +gPoisonPowderParticleSpriteTemplate:: @ 8592148 spr_template 0x2751, 0x2751, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840 .align 2 @@ -142,7 +142,7 @@ gUnknown_085922B4:: @ 85922B4 .4byte gUnknown_085922A8 .align 2 -gUnknown_085922BC:: @ 85922BC +gLeechSeedSpriteTemplate:: @ 85922BC spr_template 0x2716, 0x2716, gUnknown_0852490C, gUnknown_085922B4, NULL, gDummySpriteAffineAnimTable, sub_80FEC48 .align 2 @@ -230,7 +230,7 @@ gUnknown_08592400:: @ 8592400 .4byte gUnknown_085923F0 .align 2 -gUnknown_08592404:: @ 8592404 +gSwiftStarSpriteTemplate:: @ 8592404 spr_template 0x27be, 0x27be, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08592400, sub_80FF0F4 .align 2 @@ -353,7 +353,7 @@ gUnknown_08592610:: @ 8592610 spr_template 0x27f0, 0x27f0, gUnknown_08524974, gUnknown_085925AC, NULL, gUnknown_08592608, sub_80FFB18 .align 2 -gUnknown_08592628:: @ 8592628 +gBattleAnimSpriteTemplate_8592628:: @ 8592628 spr_template 0x27f0, 0x27f0, gUnknown_08524974, gUnknown_085925AC, NULL, gUnknown_08592608, sub_80FFBF4 .align 2 @@ -599,7 +599,7 @@ gUnknown_08592A18:: @ 8592A18 .4byte gUnknown_08592A04 .align 2 -gUnknown_08592A1C:: @ 8592A1C +gCuttingSliceSpriteTemplate:: @ 8592A1C spr_template 0x279a, 0x279a, gUnknown_08524A34, gUnknown_08592A18, NULL, gDummySpriteAffineAnimTable, sub_8100AE0 .align 2 @@ -828,7 +828,7 @@ gUnknown_08592DE4:: @ 8592DE4 .align 2 gUnknown_08592DFC:: @ 8592DFC - spr_template 0x2721, 0x2721, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7820 + spr_template 0x2721, 0x2721, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation .align 2 gUnknown_08592E14:: @ 8592E14 @@ -888,7 +888,7 @@ gUnknown_08592EE8:: @ 8592EE8 .4byte gUnknown_08592ED4 .align 2 -gUnknown_08592EEC:: @ 8592EEC +gBattleAnimSpriteTemplate_8592EEC:: @ 8592EEC spr_template 0x27d3, 0x27d3, gUnknown_0852490C, gUnknown_08592EE8, NULL, gDummySpriteAffineAnimTable, sub_8102540 .align 2 @@ -1157,11 +1157,11 @@ gUnknown_0859337C:: @ 859337C .4byte gUnknown_0859335C .align 2 -gUnknown_08593380:: @ 8593380 +gBattleAnimSpriteTemplate_8593380:: @ 8593380 spr_template 0x2715, 0x2715, gUnknown_08524ADC, gDummySpriteAnimTable, NULL, gUnknown_0859337C, sub_810387C .align 2 -gUnknown_08593398:: @ 8593398 +gSonicBoomSpriteTemplate:: @ 8593398 spr_template 0x2713, 0x2713, gUnknown_08524B14, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81038C8 .align 2 @@ -1189,16 +1189,16 @@ gUnknown_08593424:: @ 8593424 .4byte gUnknown_085933E0 .align 2 -gUnknown_08593428:: @ 8593428 - spr_template 0x27b3, 0x27b3, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, sub_80A7820 +gSupersonicWaveSpriteTemplate:: @ 8593428 + spr_template 0x27b3, 0x27b3, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation .align 2 -gUnknown_08593440:: @ 8593440 - spr_template 0x27b4, 0x27b4, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, sub_80A7820 +gScreechWaveSpriteTemplate:: @ 8593440 + spr_template 0x27b4, 0x27b4, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation .align 2 gUnknown_08593458:: @ 8593458 - spr_template 0x2814, 0x2814, gUnknown_08524A1C, gDummySpriteAnimTable, NULL, gUnknown_08593420, sub_80A7820 + spr_template 0x2814, 0x2814, gUnknown_08524A1C, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation .align 2 gUnknown_08593470:: @ 8593470 @@ -1357,7 +1357,7 @@ gUnknown_08593718:: @ 8593718 .4byte gUnknown_08593704 .align 2 -gUnknown_0859371C:: @ 859371C +gBattleAnimSpriteTemplate_859371C:: @ 859371C spr_template 0x27d6, 0x27d6, gUnknown_08524914, gUnknown_08593718, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 .align 2 @@ -1436,7 +1436,7 @@ gUnknown_08593880:: @ 8593880 spr_template 0x27db, 0x27db, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08593818, sub_81052A4 .align 2 -gUnknown_08593898:: @ 8593898 +gBattleAnimSpriteTemplate_8593898:: @ 8593898 spr_template 0x27db, 0x27db, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08593810, sub_81054E8 .align 2 @@ -1497,7 +1497,7 @@ gUnknown_085939A0:: @ 85939A0 spr_template 0x27e8, 0x27e8, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8106140 .align 2 -gUnknown_085939B8:: @ 85939B8 +gBattleAnimSpriteTemplate_85939B8:: @ 85939B8 spr_template 0x27e8, 0x27e8, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81061C4 .align 2 @@ -1514,11 +1514,11 @@ gUnknown_08593A00:: @ 8593A00 .4byte gUnknown_085939E8 .align 2 -gUnknown_08593A04:: @ 8593A04 +gHiddenPowerOrbSpriteTemplate:: @ 8593A04 spr_template 0x27e9, 0x27e9, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08593A00, sub_810673C .align 2 -gUnknown_08593A1C:: @ 8593A1C +gHiddenPowerOrbScatterSpriteTemplate:: @ 8593A1C spr_template 0x27e9, 0x27e9, gUnknown_085249CC, gDummySpriteAnimTable, NULL, gUnknown_08593A00, sub_8106878 .align 2 @@ -1620,7 +1620,7 @@ gUnknown_08593B98:: @ 8593B98 .2byte 0xfff8, 0x000c, 0x0400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 .align 2 -gUnknown_08593BB8:: @ 8593BB8 +gBattleAnimSpriteTemplate_8593BB8:: @ 8593BB8 spr_template 0x27f1, 0x27f1, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8106E00 .align 2 @@ -1703,7 +1703,7 @@ gUnknown_08595064:: @ 8595064 .4byte gUnknown_08595054 .align 2 -gUnknown_08595068:: @ 8595068 +gBattleAnimSpriteTemplate_8595068:: @ 8595068 spr_template 0x27a2, 0x27a2, gUnknown_08524A8C, gUnknown_08595064, NULL, gUnknown_08595050, sub_8107260 .align 2 @@ -1990,11 +1990,11 @@ gUnknown_085954D0:: @ 85954D0 .4byte gUnknown_085954B8 .align 2 -gUnknown_085954D4:: @ 85954D4 - spr_template 0x272d, 0x272d, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7820 +gEmberSpriteTemplate:: @ 85954D4 + spr_template 0x272d, 0x272d, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation .align 2 -gUnknown_085954EC:: @ 85954EC +gEmberFlareSpriteTemplate:: @ 85954EC spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_8109198 .align 2 @@ -2031,7 +2031,7 @@ gUnknown_0859556C:: @ 859556C spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_08595540, NULL, gDummySpriteAffineAnimTable, sub_8109364 .align 2 -gUnknown_08595584:: @ 8595584 +gBattleAnimSpriteTemplate_8595584:: @ 8595584 spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_81093A4 .align 2 @@ -2138,12 +2138,12 @@ gUnknown_08595734:: @ 8595734 spr_template 0x275f, 0x275f, gUnknown_08524914, gUnknown_08595730, NULL, gDummySpriteAffineAnimTable, sub_810A274 .align 2 -gUnknown_0859574C:: @ 859574C +gBattleAnimSpriteTemplate_859574C:: @ 859574C spr_template 0x271b, 0x271b, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810A308 .align 2 gUnknown_08595764:: @ 8595764 - spr_template 0x27bb, 0x27bb, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7820 + spr_template 0x27bb, 0x27bb, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation .align 2 gUnknown_0859577C:: @ 859577C @@ -2175,15 +2175,15 @@ gUnknown_085957DC:: @ 85957DC .4byte gUnknown_085957BC .align 2 -gUnknown_085957E0:: @ 85957E0 +gBattleAnimSpriteTemplate_85957E0:: @ 85957E0 spr_template 0x282a, 0x282a, gUnknown_08524974, gUnknown_085957B8, NULL, gUnknown_085957DC, sub_810A5BC .align 2 -gUnknown_085957F8:: @ 85957F8 +gBattleAnimSpriteTemplate_85957F8:: @ 85957F8 spr_template 0x271b, 0x271b, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_0859578C, sub_810A628 .align 2 -gUnknown_08595810:: @ 8595810 +gElectricitySpriteTemplate:: @ 8595810 spr_template 0x271b, 0x271b, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810A75C .align 2 @@ -2613,7 +2613,7 @@ gUnknown_08595E80:: @ 8595E80 spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CEB4 .align 2 -gUnknown_08595E98:: @ 8595E98 +gFistFootSpriteTemplate:: @ 8595E98 spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CEE0 .align 2 @@ -2651,7 +2651,7 @@ gUnknown_08595F44:: @ 8595F44 .4byte gUnknown_08595F2C .align 2 -gUnknown_08595F48:: @ 8595F48 +gMegaPunchKickSpriteTemplate:: @ 8595F48 spr_template 0x279f, 0x279f, gUnknown_085249D4, gUnknown_08595E54, NULL, gUnknown_08595F44, sub_810D278 .align 2 @@ -2841,11 +2841,11 @@ gUnknown_0859623C:: @ 859623C .4byte gUnknown_08596224 .align 2 -gUnknown_08596240:: @ 8596240 +gPoisonBubbleSpriteTemplate:: @ 8596240 spr_template 0x27a6, 0x27a6, gUnknown_0852496C, gUnknown_08596164, NULL, gUnknown_0859623C, sub_810DDC4 .align 2 -gUnknown_08596258:: @ 8596258 +gWaterBubbleSpriteTemplate:: @ 8596258 spr_template 0x27ab, 0x27ab, gUnknown_08524A8C, gUnknown_08595200, NULL, gUnknown_0859623C, sub_810DDC4 .align 2 @@ -2862,7 +2862,7 @@ gUnknown_085962A0:: @ 85962A0 .4byte gUnknown_08596288 .align 2 -gUnknown_085962A4:: @ 85962A4 +gBattleAnimSpriteTemplate_85962A4:: @ 85962A4 spr_template 0x2719, 0x2719, gUnknown_085249BC, gDummySpriteAnimTable, NULL, gUnknown_085962A0, sub_810DFA8 .align 2 @@ -3067,7 +3067,7 @@ gUnknown_08596624:: @ 8596624 .align 2 gUnknown_0859663C:: @ 859663C - spr_template 0x27b3, 0x27b3, gUnknown_08524954, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7820 + spr_template 0x27b3, 0x27b3, gUnknown_08524954, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation .align 2 gUnknown_08596654:: @ 8596654 @@ -3268,15 +3268,15 @@ gUnknown_08596A2C:: @ 8596A2C spr_template 0x27c5, 0x27c5, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08596A28, sub_811067C .align 2 -gUnknown_08596A44:: @ 8596A44 +gLinearStingerSpriteTemplate:: @ 8596A44 spr_template 0x27b1, 0x27b1, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110720 .align 2 -gUnknown_08596A5C:: @ 8596A5C +gPinMissileSpriteTemplate:: @ 8596A5C spr_template 0x27b1, 0x27b1, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110850 .align 2 -gUnknown_08596A74:: @ 8596A74 +gIcicleSpearSpriteTemplate:: @ 8596A74 spr_template 0x2816, 0x2816, gUnknown_08524974, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110850 .align 2 @@ -3342,7 +3342,7 @@ gUnknown_08596B88:: @ 8596B88 spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_8110B38 .align 2 -gUnknown_08596BA0:: @ 8596BA0 +gBattleAnimSpriteTemplate_8596BA0:: @ 8596BA0 spr_template 0x2815, 0x2815, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110E4C .align 2 @@ -3500,11 +3500,11 @@ gUnknown_08596DD0:: @ 8596DD0 spr_template 0x27d7, 0x27d7, gUnknown_08524A54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81129F0 .align 2 -gUnknown_08596DE8:: @ 8596DE8 +gBattleAnimSpriteTemplate_8596DE8:: @ 8596DE8 spr_template 0x27d8, 0x27d8, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112B78 .align 2 -gUnknown_08596E00:: @ 8596E00 +gBattleAnimSpriteTemplate_8596E00:: @ 8596E00 spr_template 0x27ed, 0x27ed, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112B78 .align 2 @@ -3533,7 +3533,7 @@ gUnknown_08596E78:: @ 8596E78 .4byte gUnknown_08596E60 .align 2 -gUnknown_08596E7C:: @ 8596E7C +gBattleAnimSpriteTemplate_8596E7C:: @ 8596E7C spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_08596E78, NULL, gDummySpriteAffineAnimTable, sub_8113064 .align 2 @@ -3705,7 +3705,7 @@ gUnknown_08597130:: @ 8597130 .4byte gUnknown_08597118 .align 2 -gUnknown_08597138:: @ 8597138 +gBattleAnimSpriteTemplate_8597138:: @ 8597138 spr_template 0x2737, 0x2737, gUnknown_08524914, gUnknown_08597130, NULL, gDummySpriteAffineAnimTable, sub_81144BC .align 2 @@ -3774,15 +3774,15 @@ gUnknown_08597254:: @ 8597254 .4byte gUnknown_08597240 .align 2 -gUnknown_0859725C:: @ 859725C +gConfusionDuckSpriteTemplate:: @ 859725C spr_template 0x2759, 0x2759, gUnknown_0852490C, gUnknown_08597254, NULL, gDummySpriteAffineAnimTable, sub_811572C .align 2 -gUnknown_08597274:: @ 8597274 +gSimplePaletteBlendSpriteTemplate:: @ 8597274 spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81157FC .align 2 -gUnknown_0859728C:: @ 859728C +gComplexPaletteBlendSpriteTemplate:: @ 859728C spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81158A4 .align 2 @@ -3799,7 +3799,7 @@ gUnknown_085972C0:: @ 85972C0 spr_template 0x2757, 0x2757, gUnknown_08524914, gUnknown_085972BC, NULL, gDummySpriteAffineAnimTable, sub_81159B4 .align 2 -gUnknown_085972D8:: @ 85972D8 +gBattleAnimSpriteTemplate_85972D8:: @ 85972D8 spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81160A4 .align 2 @@ -3829,11 +3829,11 @@ gUnknown_08597348:: @ 8597348 .4byte gUnknown_08597330 .align 2 -gUnknown_08597358:: @ 8597358 +gBasicHitSplatSpriteTemplate:: @ 8597358 spr_template 0x2797, 0x2797, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116388 .align 2 -gUnknown_08597370:: @ 8597370 +gBattleAnimSpriteTemplate_8597370:: @ 8597370 spr_template 0x2797, 0x2797, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116420 .align 2 @@ -3845,7 +3845,7 @@ gUnknown_085973A0:: @ 85973A0 spr_template 0x2797, 0x2797, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116458 .align 2 -gUnknown_085973B8:: @ 85973B8 +gBattleAnimSpriteTemplate_85973B8:: @ 85973B8 spr_template 0x2797, 0x2797, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_81164F0 .align 2 diff --git a/data/battle_anim_815A0D4.s b/data/battle_anim_815A0D4.s index 0cb95a7e1..660e5774b 100644 --- a/data/battle_anim_815A0D4.s +++ b/data/battle_anim_815A0D4.s @@ -330,7 +330,7 @@ gUnknown_085CE5A8:: spr_template 0x2800, 0x2800, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CB88 gUnknown_085CE5C0:: spr_template 0x27f3, 0x27f3, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_085CE224, sub_815CC94 -gUnknown_085CE5D8:: +gBattleAnimSpriteTemplate_85CE5D8:: spr_template 0x27fc, 0x27fc, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CDB4 .align 2 diff --git a/data/battle_anim_8170478.s b/data/battle_anim_8170478.s index 07516ba35..5ccf37c54 100644 --- a/data/battle_anim_8170478.s +++ b/data/battle_anim_8170478.s @@ -140,7 +140,7 @@ gUnknown_085E5310:: @ 85E5310 .2byte 0x0100, 0x0503, 0x0506, 0x0004 .align 2 -gUnknown_085E5338:: @ 85E5338 +gBattleAnimSpriteTemplate_85E5338:: @ 85E5338 spr_template 0x281d, 0x281d, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817330C .align 2 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 624a5c69f..9af3ed7a9 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1,16 +1,20 @@ +#include "constants/battle.h" #include "constants/battle_anim.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/moves.h" + .include "asm/macros.inc" .include "asm/macros/battle_anim_script.inc" + .include "constants/constants.inc" .section script_data, "aw", %progbits -.align 2 -gUnknown_082C8D64:: @ 82C8D64 - .2byte 0x2F, 0xC3, 0x140, 0xFFFF + .align 2 +gMovesWithQuietBGM:: + .2byte MOVE_SING, MOVE_PERISH_SONG, MOVE_GRASS_WHISTLE, 0xFFFF -.align 2 -gBattleAnims_Moves:: @ 82C8D6C + .align 2 +gBattleAnims_Moves:: .4byte Move_NONE .4byte Move_POUND .4byte Move_KARATE_CHOP @@ -368,8 +372,8 @@ gBattleAnims_Moves:: @ 82C8D6C .4byte Move_PSYCHO_BOOST .4byte Move_COUNT @ cannot be reached, because last move is Psycho Boost -.align 2 -gBattleAnims_Statuses:: @ 82C92FC + .align 2 +gBattleAnims_StatusConditions:: .4byte Status_Poison .4byte Status_Confusion .4byte Status_Burn @@ -380,212 +384,209 @@ gBattleAnims_Statuses:: @ 82C92FC .4byte Status_Curse .4byte Status_Nightmare -.align 2 -gBattleAnims_VariousTable:: @ 82C9320 - .4byte Anim_CastformTransform - .4byte Anim_StatChange - .4byte Anim_SubsituteOff - .4byte Anim_SubsituteOn - .4byte Anim_Table_4 - .4byte Anim_ItemKnockOff - .4byte Status_Wrap - .4byte Anim_ItemEffect - .4byte Anim_SmokeBallEscape - .4byte Anim_HangedOn - .4byte Anim_Rain - .4byte Anim_Sun - .4byte Anim_Sandstorm - .4byte Anim_Hail - .4byte Status_LeechSeed - .4byte Anim_Hit - .4byte Anim_ItemSteal - .4byte Anim_SnatchMove - .4byte Anim_FutureSightHit - .4byte Anim_DoomDesireHit - .4byte Anim_Table_x14 - .4byte Status_Ingrain - .4byte Anim_WishHeal + .align 2 +gBattleAnims_General:: + .4byte General_CastformChange + .4byte General_StatsChange + .4byte General_SubstituteFade + .4byte General_SubstituteAppear + .4byte General_PokeblockThrow + .4byte General_ItemKnockoff + .4byte General_TurnTrap + .4byte General_ItemEffect + .4byte General_SmokeballEscape + .4byte General_HangedOn + .4byte General_Rain + .4byte General_Sun + .4byte General_Sandstorm + .4byte General_Hail + .4byte General_LeechSeedDrain + .4byte General_MonHit + .4byte General_ItemSteal + .4byte General_SnatchMove + .4byte General_FutureSightHit + .4byte General_DoomDesireHit + .4byte General_FocusPunchSetUp + .4byte General_IngrainHeal + .4byte General_WishHeal -.align 2 -gBattleAnims_Special:: @ 82C937C - .4byte Anim_LevelUp - .4byte Anim_SwitchOutPlayer - .4byte Anim_SwitchOutOpponent - .4byte Anim_BallThrow - .4byte Anim_SafariBallThrow - .4byte Anim_SubstituteToMon - .4byte Anim_MonToSubstitute + .align 2 +gBattleAnims_Special:: + .4byte Special_LevelUp + .4byte Special_SwitchOutPlayerMon + .4byte Special_SwitchOutOpponentMon + .4byte Special_BallThrow + .4byte Special_SafariBallThrow + .4byte Special_SubstituteToMon + .4byte Special_MonToSubstitute Move_NONE: Move_MIRROR_MOVE: Move_POUND: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W003, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_DOUBLE_SLAP: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C - choosetwoturnanim AnimScript_82C93F4, AnimScript_82C9408 - -AnimScript_82C93DA: - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + setalpha 12, 8 + choosetwoturnanim DoubleSlapLeft, DoubleSlapRight +DoubleSlapContinue: + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W003, +63 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end - -AnimScript_82C93F4: - createsprite gUnknown_08597358, 0x2, -8, 0, 1, 2 - goto AnimScript_82C93DA - -AnimScript_82C9408: - createsprite gUnknown_08597358, 0x2, 8, 0, 1, 2 - goto AnimScript_82C93DA +DoubleSlapLeft: + createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2 + goto DoubleSlapContinue +DoubleSlapRight: + createsprite gBasicHitSplatSpriteTemplate, 2, 8, 0, 1, 2 + goto DoubleSlapContinue Move_POISON_POWDER: - loadspritegfx 0x2751 - loadspritegfx 0x27A6 - loopsewithpan SE_W077, +63, 0xA, 0x6 - createsprite gUnknown_08592148, 0x82, -30, -22, 117, 80, 5, 1 - createsprite gUnknown_08592148, 0x82, 10, -22, 117, 80, -5, 1 - createsprite gUnknown_08592148, 0x82, -25, -22, 117, 112, 5, 3 - delay 0xF - createsprite gUnknown_08592148, 0x82, -5, -22, 117, 80, -5, 1 - createsprite gUnknown_08592148, 0x82, 5, -22, 117, 96, 5, 1 - createsprite gUnknown_08592148, 0x82, 0, -22, 117, 69, -5, 1 - createsprite gUnknown_08592148, 0x82, -15, -22, 117, 112, 5, 2 - delay 0x1E - createsprite gUnknown_08592148, 0x82, -15, -22, 117, 112, 5, 2 - createsprite gUnknown_08592148, 0x82, 15, -22, 117, 80, -5, 1 - createsprite gUnknown_08592148, 0x82, -10, -22, 117, 96, 7, 2 - createsprite gUnknown_08592148, 0x82, -5, -22, 117, 90, -8, 0 - delay 0x14 - createsprite gUnknown_08592148, 0x82, -10, -22, 117, 80, -5, 1 - createsprite gUnknown_08592148, 0x82, 0, -22, 117, 89, 5, 2 - createsprite gUnknown_08592148, 0x82, 20, -22, 117, 112, -8, 2 - createsprite gUnknown_08592148, 0x82, 5, -22, 117, 80, 5, 1 + loadspritegfx ANIM_TAG_065 + loadspritegfx ANIM_TAG_POISON_BUBBLE + 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: - loadspritegfx 0x2754 - loopsewithpan SE_W077, +63, 0xA, 0x6 - createsprite gUnknown_08592130, 0x82, -30, -22, 117, 80, 5, 1 - createsprite gUnknown_08592130, 0x82, 10, -22, 117, 80, -5, 1 - createsprite gUnknown_08592130, 0x82, -25, -22, 117, 112, 5, 3 - delay 0xF - createsprite gUnknown_08592130, 0x82, -5, -22, 117, 80, -5, 1 - createsprite gUnknown_08592130, 0x82, 5, -22, 117, 96, 5, 1 - createsprite gUnknown_08592130, 0x82, 0, -22, 117, 69, -5, 1 - createsprite gUnknown_08592130, 0x82, -15, -22, 117, 112, 5, 2 - delay 0x1E - createsprite gUnknown_08592130, 0x82, -15, -22, 117, 112, 5, 2 - createsprite gUnknown_08592130, 0x82, 15, -22, 117, 80, -5, 1 - createsprite gUnknown_08592130, 0x82, -10, -22, 117, 96, 7, 2 - createsprite gUnknown_08592130, 0x82, -5, -22, 117, 90, -8, 0 - delay 0x14 - createsprite gUnknown_08592130, 0x82, -10, -22, 117, 80, -5, 1 - createsprite gUnknown_08592130, 0x82, 0, -22, 117, 89, 5, 2 - createsprite gUnknown_08592130, 0x82, 20, -22, 117, 112, -8, 2 - createsprite gUnknown_08592130, 0x82, 5, -22, 117, 80, 5, 1 + loadspritegfx ANIM_TAG_068 + 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: - loadspritegfx 0x2753 - loopsewithpan SE_W077, +63, 0xA, 0x6 - createsprite gUnknown_08592118, 0x82, -30, -22, 117, 80, 5, 1 - createsprite gUnknown_08592118, 0x82, 10, -22, 117, 80, -5, 1 - createsprite gUnknown_08592118, 0x82, -25, -22, 117, 112, 5, 3 - delay 0xF - createsprite gUnknown_08592118, 0x82, -5, -22, 117, 80, -5, 1 - createsprite gUnknown_08592118, 0x82, 5, -22, 117, 96, 5, 1 - createsprite gUnknown_08592118, 0x82, 0, -22, 117, 69, -5, 1 - createsprite gUnknown_08592118, 0x82, -15, -22, 117, 112, 5, 2 - delay 0x1E - createsprite gUnknown_08592118, 0x82, -15, -22, 117, 112, 5, 2 - createsprite gUnknown_08592118, 0x82, 15, -22, 117, 80, -5, 1 - createsprite gUnknown_08592118, 0x82, -10, -22, 117, 96, 7, 2 - createsprite gUnknown_08592118, 0x82, -5, -22, 117, 90, -8, 0 - delay 0x14 - createsprite gUnknown_08592118, 0x82, -10, -22, 117, 80, -5, 1 - createsprite gUnknown_08592118, 0x82, 0, -22, 117, 89, 5, 2 - createsprite gUnknown_08592118, 0x82, 20, -22, 117, 112, -8, 2 - createsprite gUnknown_08592118, 0x82, 5, -22, 117, 80, 5, 1 + loadspritegfx ANIM_TAG_067 + 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: - loadspritegfx 0x27BE - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_174 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W129, -64 - createsprite gUnknown_08592404, 0x83, 20, -10, 20, 0, 22, 20, 1 - delay 0x5 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 20, 1 + delay 5 playsewithpan SE_W129, -64 - createsprite gUnknown_08592404, 0x83, 20, -10, 20, 5, 22, -18, 1 - delay 0x5 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 5, 22, -18, 1 + delay 5 playsewithpan SE_W129, -64 - createsprite gUnknown_08592404, 0x83, 20, -10, 20, -10, 22, 15, 1 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 18, 1 - createvisualtask sub_80D52D0, 0x2, 3, 2, 0, 18, 1 - delay 0x5 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, -10, 22, 15, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 18, 1 + delay 5 playsewithpan SE_W129, -64 - createsprite gUnknown_08592404, 0x83, 20, -10, 20, 0, 22, -20, 1 - delay 0x5 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, -20, 1 + delay 5 playsewithpan SE_W129, -64 - createsprite gUnknown_08592404, 0x83, 20, -10, 20, 0, 22, 12, 1 - delay 0x5 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 12, 1 + delay 5 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_STRENGTH: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W036, -64 - createvisualtask sub_80D5644, 0x5, 0, 2, 0, 96, 30 + createvisualtask AnimTask_ShakeAndSinkMon, 5, ANIM_ATTACKER, 2, 0, 96, 30 waitforvisualfinish - delay 0xA - createsprite gUnknown_0857FE58, 0x2, 0, 0, 4 - createvisualtask sub_80D5830, 0x2, 1, 18, 6, 2, 4 - delay 0x4 + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 4 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_TARGET, 18, 6, 2, 4 + delay 4 playsewithpan SE_W025B, +63 - createsprite gUnknown_08597358, 0x3, 16, 12, 1, 1 - delay 0x4 + createsprite gBasicHitSplatSpriteTemplate, 3, 16, 12, 1, 1 + delay 4 playsewithpan SE_W025B, +63 - createsprite gUnknown_08597358, 0x3, -16, -12, 1, 1 - delay 0x4 + createsprite gBasicHitSplatSpriteTemplate, 3, -16, -12, 1, 1 + delay 4 playsewithpan SE_W025B, +63 - createsprite gUnknown_08597358, 0x3, 3, 4, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 3, 4, 1, 1 waitforvisualfinish - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_TACKLE: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_0857FE28, 0x2, 4, 4 - delay 0x6 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W004, +63 waitforvisualfinish clearmonbg ANIM_TARGET @@ -593,614 +594,597 @@ Move_TACKLE: end Move_BODY_SLAM: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W036, -64 - createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER waitforvisualfinish - delay 0xB - createsprite gUnknown_0857FE70, 0x2, 0, 26, 0, 0, 5 - delay 0x6 - createsprite gUnknown_08597358, 0x4, -10, 0, 1, 0 - loopsewithpan SE_W025B, +63, 0xA, 0x2 - delay 0x1 - createsprite gUnknown_0857FE70, 0x2, 1, -28, 0, 0, 3 + 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 sub_80D5484, 0x2, 1, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 waitforvisualfinish - delay 0xA - createsprite gUnknown_0857FE58, 0x2, 0, 0, 6 - delay 0x5 - createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_SUPERSONIC: - loadspritegfx 0x27B3 + loadspritegfx ANIM_TAG_163 monbg ANIM_ATK_PARTNER monbgprio_2A ANIM_ATTACKER - setalpha 0x80C - createvisualtask sub_80D52D0, 0x2, 0, 2, 0, 8, 1 - call AnimScript_82C99FF - call AnimScript_82C99FF - call AnimScript_82C99FF - call AnimScript_82C99FF - call AnimScript_82C99FF - call AnimScript_82C99FF + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 2, 0, 8, 1 + call Supersonic1 + call Supersonic1 + call Supersonic1 + call Supersonic1 + call Supersonic1 + call Supersonic1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff end - -AnimScript_82C99FF: +Supersonic1: playsewithpan SE_W048, -64 - createsprite gUnknown_08593428, 0x82, 16, 0, 0, 0, 30, 0 - delay 0x2 + createsprite gSupersonicWaveSpriteTemplate, 130, 16, 0, 0, 0, 30, 0 + delay 2 return Move_SCREECH: - loadspritegfx 0x27B4 - createvisualtask sub_80D52D0, 0x2, 0, 3, 0, 2, 1 - call AnimScript_82C9A4C - call AnimScript_82C9A4C - delay 0x10 - createvisualtask sub_80D5EB8, 0x5, 0, 6, 2048, 2, 1 + loadspritegfx ANIM_TAG_164 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 3, 0, 2, 1 + call Screech1 + call Screech1 + delay 16 + createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 2, ANIM_TARGET waitforvisualfinish end - -AnimScript_82C9A4C: +Screech1: playsewithpan SE_W103, -64 - createsprite gUnknown_08593440, 0x82, 16, 0, 0, 0, 30, 0 - delay 0x2 + createsprite gScreechWaveSpriteTemplate, 130, 16, 0, 0, 0, 30, 0 + delay 2 return Move_FLAME_WHEEL: - loadspritegfx 0x272D + loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET - createsprite gUnknown_08595584, 0x3, 0, 0, 56, 0 + createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 0 playsewithpan SE_W172, -64 - delay 0x2 - createsprite gUnknown_08595584, 0x3, 0, 0, 56, 4 + delay 2 + createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 4 playsewithpan SE_W172, -64 - delay 0x2 - createsprite gUnknown_08595584, 0x3, 0, 0, 56, 8 + delay 2 + createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 8 playsewithpan SE_W172, -64 - delay 0x2 - createsprite gUnknown_08595584, 0x3, 0, 0, 56, 12 + delay 2 + createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 12 playsewithpan SE_W172, -64 - delay 0x2 - createsprite gUnknown_08595584, 0x3, 0, 0, 56, 16 + delay 2 + createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 16 playsewithpan SE_W172, -64 - delay 0x2 - createsprite gUnknown_08595584, 0x3, 0, 0, 56, 20 + delay 2 + createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 20 playsewithpan SE_W172, -64 - delay 0x2 - createsprite gUnknown_08595584, 0x3, 0, 0, 56, 24 + delay 2 + createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 24 playsewithpan SE_W172, -64 waitforvisualfinish - createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 6 - delay 0x4 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 8, 1 - createvisualtask sub_80A7B98, 0x3, 1, RGB_RED, 12, 1, 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 6 + delay 4 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 8, 1 + createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_TARGET, RGB_RED, 12, 1, 1 playsewithpan SE_W172B, +63 - call AnimScript_82D2D18 - delay 0x7 - createsprite gUnknown_0857FE58, 0x2, 0, 0, 9 + call FireMoveEffect + delay 7 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 9 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end -AnimScript_82C9B50: - createsprite gUnknown_08595584, 0x3, 0, 0, 50 - delay 0x4 +FlameWheel1: @ Unused + createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 50 + delay 4 return Move_PIN_MISSILE: - loadspritegfx 0x27B1 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_161 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W026, -64 - createsprite gUnknown_08596A5C, 0x2, 20, -8, -8, -8, 20, -32 - delay 0xF - createsprite gUnknown_08596A5C, 0x2, 20, -8, 8, 8, 20, -40 - delay 0x4 + createsprite gPinMissileSpriteTemplate, 2, 20, -8, -8, -8, 20, -32 + delay 15 + createsprite gPinMissileSpriteTemplate, 2, 20, -8, 8, 8, 20, -40 + delay 4 playsewithpan SE_W030, +63 - createsprite gUnknown_08597358, 0x3, -8, -8, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 - delay 0x9 - createsprite gUnknown_08596A5C, 0x2, 20, -8, 0, 0, 20, -32 - delay 0x4 + createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 + delay 9 + createsprite gPinMissileSpriteTemplate, 2, 20, -8, 0, 0, 20, -32 + delay 4 playsewithpan SE_W030, +63 - createsprite gUnknown_08597358, 0x3, 8, 8, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 - delay 0xE + createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 + delay 14 playsewithpan SE_W030, +63 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_ICICLE_SPEAR: - loadspritegfx 0x2816 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_262 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W196, -64 - createsprite gUnknown_08596A74, 0x2, 20, -8, -8, -8, 20, -32 - delay 0xF - createsprite gUnknown_08596A74, 0x2, 20, -8, 8, 8, 20, -40 - delay 0x4 + createsprite gIcicleSpearSpriteTemplate, 2, 20, -8, -8, -8, 20, -32 + delay 15 + createsprite gIcicleSpearSpriteTemplate, 2, 20, -8, 8, 8, 20, -40 + delay 4 playsewithpan SE_W030, +63 - createsprite gUnknown_08597358, 0x3, -8, -8, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 - delay 0x9 - createsprite gUnknown_08596A74, 0x2, 20, -8, 0, 0, 20, -32 - delay 0x4 + createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 + delay 9 + createsprite gIcicleSpearSpriteTemplate, 2, 20, -8, 0, 0, 20, -32 + delay 4 playsewithpan SE_W030, +63 - createsprite gUnknown_08597358, 0x3, 8, 8, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 - delay 0xE + createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 + delay 14 playsewithpan SE_W030, +63 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_TAKE_DOWN: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createvisualtask sub_80D5C50, 0x5, 0, -24, 8, 23, 10, 40, 10 - delay 0x23 - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 10, 0, 0 - createsprite gUnknown_08597358, 0x4, -10, 0, 1, 0 + setalpha 12, 8 + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -24, 8, 23, 10, 40, 10 + delay 35 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 10, 0, 0 + createsprite gBasicHitSplatSpriteTemplate, 4, -10, 0, 1, 0 playsewithpan SE_W025B, +63 - delay 0x1 - createsprite gUnknown_0857FE70, 0x2, 1, -16, 0, 0, 4 + delay 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -16, 0, 0, 4 waitforvisualfinish - createvisualtask sub_80D5484, 0x2, 1, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 waitforvisualfinish - delay 0x2 - createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 - delay 0x3 - createsprite gUnknown_0857FE58, 0x2, 1, 0, 7 + delay 2 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_DOUBLE_EDGE: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 playsewithpan SE_W129, -64 - createsprite gUnknown_0859728C, 0x2, 2, 4, 2, 0x7FFF, 10, 0, 0 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 2, 4, 2, RGB_WHITE, 10, 0, 0 waitforvisualfinish - delay 0xA + delay 10 playsewithpan SE_W207, -64 - waitplaysewithpan SE_W207, -64, 0x8 - createvisualtask sub_80D5830, 0x2, 0, 18, 6, 2, 4 + waitplaysewithpan SE_W207, -64, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 2, 4 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 0, 16, 16, RGB_WHITE - createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 - delay 0x3 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 16, 16, RGB_WHITE + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + delay 3 waitforvisualfinish playsewithpan SE_W025B, +63 - createsprite gUnknown_08597358, 0x84, -10, 0, 1, 0 - createsprite gUnknown_0857FE70, 0x2, 1, -32, 0, 0, 3 + createsprite gBasicHitSplatSpriteTemplate, 132, -10, 0, 1, 0 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -32, 0, 0, 3 waitforvisualfinish - createvisualtask sub_80D6134, 0x2, 8, -256, 0, 0 - createvisualtask sub_80D6134, 0x2, 8, -256, 1, 0 - createvisualtask sub_80D5484, 0x2, 0, 4, 0, 12, 1 - createvisualtask sub_80D5484, 0x2, 1, 4, 0, 12, 1 - createsprite gUnknown_08597274, 0x2, 1, 2, 16, 0, RGB_WHITE + createvisualtask sub_80D6134, 2, 8, -256, 0, 0 + createvisualtask sub_80D6134, 2, 8, -256, 1, 0 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 16, 0, RGB_WHITE waitforvisualfinish - createvisualtask sub_80D6134, 0x2, 8, -256, 0, 1 - createvisualtask sub_80D6134, 0x2, 8, -256, 1, 1 + createvisualtask sub_80D6134, 2, 8, -256, 0, 1 + createvisualtask sub_80D6134, 2, 8, -256, 1, 1 waitforvisualfinish - createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 - delay 0x3 - createsprite gUnknown_0857FE58, 0x2, 1, 0, 7 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7 waitforvisualfinish end Move_POISON_STING: - loadspritegfx 0x27B1 - loadspritegfx 0x2797 - loadspritegfx 0x27A6 + loadspritegfx ANIM_TAG_161 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W013B, -64 - createsprite gUnknown_08596A44, 0x82, 20, 0, -8, 0, 20 + createsprite gLinearStingerSpriteTemplate, 130, 20, 0, -8, 0, 20 waitforvisualfinish - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 5, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 5, 1 playsewithpan SE_W030, +63 waitforvisualfinish - call AnimScript_82D7A71 + call PoisonBubblesEffect waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_TWINEEDLE: - loadspritegfx 0x27B1 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_161 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x80C - loopsewithpan SE_W013B, -64, 0x6, 0x2 - createsprite gUnknown_08596A44, 0x82, 10, -4, 0, -4, 20 - createsprite gUnknown_08596A44, 0x82, 20, 12, 10, 12, 20 - delay 0x14 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 5, 1 - createsprite gUnknown_08597370, 0x3, 0, -4, 1, 3 - loopsewithpan SE_W030, +63, 0x5, 0x2 - delay 0x1 - createsprite gUnknown_08597370, 0x3, 10, 12, 1, 3 + setalpha 12, 8 + loopsewithpan SE_W013B, -64, 6, 2 + createsprite gLinearStingerSpriteTemplate, 130, 10, -4, 0, -4, 20 + createsprite gLinearStingerSpriteTemplate, 130, 20, 12, 10, 12, 20 + delay 20 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 5, 1 + createsprite gBattleAnimSpriteTemplate_8597370, 3, 0, -4, 1, 3 + loopsewithpan SE_W030, +63, 5, 2 + delay 1 + createsprite gBattleAnimSpriteTemplate_8597370, 3, 10, 12, 1, 3 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_FIRE_BLAST: - loadspritegfx 0x272D + loadspritegfx ANIM_TAG_SMALL_EMBER createsoundtask sub_8158B30, 144, 145 - call AnimScript_82C9FE9 - call AnimScript_82C9FE9 - call AnimScript_82C9FE9 - delay 0x18 - createvisualtask sub_8116620, 0xA, 1, 3, 0, 8, 0 + call FireBlast1 + call FireBlast1 + call FireBlast1 + delay 24 + createvisualtask sub_8116620, 10, 1, 3, 0, 8, RGB_BLACK waitforvisualfinish - delay 0x13 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 20, 1 - call AnimScript_82CA02D - delay 0x3 - call AnimScript_82CA02D - delay 0x3 - call AnimScript_82CA02D - delay 0x3 - call AnimScript_82CA02D - delay 0x3 - call AnimScript_82CA02D - delay 0x3 - call AnimScript_82CA02D - delay 0x3 - call AnimScript_82CA02D - delay 0x3 - call AnimScript_82CA02D - delay 0x3 - call AnimScript_82CA02D + delay 19 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 20, 1 + call FireBlast2 + delay 3 + call FireBlast2 + delay 3 + call FireBlast2 + delay 3 + call FireBlast2 + delay 3 + call FireBlast2 + delay 3 + call FireBlast2 + delay 3 + call FireBlast2 + delay 3 + call FireBlast2 + delay 3 + call FireBlast2 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 1, 2, 8, 0, 0 + createvisualtask sub_8116620, 10, 1, 2, 8, 0, RGB_BLACK waitforvisualfinish end - -AnimScript_82C9FE9: - createsprite gUnknown_0859551C, 0x82, 0, 0, 0 - createsprite gUnknown_0859551C, 0x82, 0, 0, 51 - createsprite gUnknown_0859551C, 0x82, 0, 0, 102 - createsprite gUnknown_0859551C, 0x82, 0, 0, 153 - createsprite gUnknown_0859551C, 0x82, 0, 0, 204 - delay 0x5 +FireBlast1: + createsprite gUnknown_0859551C, 130, 0, 0, 0 + createsprite gUnknown_0859551C, 130, 0, 0, 51 + createsprite gUnknown_0859551C, 130, 0, 0, 102 + createsprite gUnknown_0859551C, 130, 0, 0, 153 + createsprite gUnknown_0859551C, 130, 0, 0, 204 + delay 5 return - -AnimScript_82CA02D: - createsprite gUnknown_0859556C, 0x82, 0, 0, 10, 0, -2 - createsprite gUnknown_0859556C, 0x82, 0, 0, 13, -2, 0 - createsprite gUnknown_0859556C, 0x82, 0, 0, 13, 2, 0 - createsprite gUnknown_0859556C, 0x82, 0, 0, 15, -2, 2 - createsprite gUnknown_0859556C, 0x82, 0, 0, 15, 2, 2 +FireBlast2: + createsprite gUnknown_0859556C, 130, 0, 0, 10, 0, -2 + createsprite gUnknown_0859556C, 130, 0, 0, 13, -2, 0 + createsprite gUnknown_0859556C, 130, 0, 0, 13, 2, 0 + createsprite gUnknown_0859556C, 130, 0, 0, 15, -2, 2 + createsprite gUnknown_0859556C, 130, 0, 0, 15, 2, 2 return Move_LEECH_SEED: - loadspritegfx 0x2716 + loadspritegfx ANIM_TAG_SEED playsewithpan SE_W077, -64 - createsprite gUnknown_085922BC, 0x82, 15, 0, 0, 24, 35, -32 - delay 0x8 + createsprite gLeechSeedSpriteTemplate, 130, 15, 0, 0, 24, 35, -32 + delay 8 playsewithpan SE_W077, -64 - createsprite gUnknown_085922BC, 0x82, 15, 0, -16, 24, 35, -40 - delay 0x8 + createsprite gLeechSeedSpriteTemplate, 130, 15, 0, -16, 24, 35, -40 + delay 8 playsewithpan SE_W077, -64 - createsprite gUnknown_085922BC, 0x82, 15, 0, 16, 24, 35, -37 - delay 0xC - loopsewithpan SE_W039, +63, 0xA, 0x8 + createsprite gLeechSeedSpriteTemplate, 130, 15, 0, 16, 24, 35, -37 + delay 12 + loopsewithpan SE_W039, +63, 10, 8 waitforvisualfinish end Move_EMBER: - loadspritegfx 0x272D - loopsewithpan SE_W052, -64, 0x5, 0x2 - createsprite gUnknown_085954D4, 0x82, 20, 0, -16, 24, 20, 1 - delay 0x4 - createsprite gUnknown_085954D4, 0x82, 20, 0, 0, 24, 20, 1 - delay 0x4 - createsprite gUnknown_085954D4, 0x82, 20, 0, 16, 24, 20, 1 - delay 0x10 + loadspritegfx ANIM_TAG_SMALL_EMBER + loopsewithpan SE_W052, -64, 5, 2 + createsprite gEmberSpriteTemplate, 130, 20, 0, -16, 24, 20, 1 + delay 4 + createsprite gEmberSpriteTemplate, 130, 20, 0, 0, 24, 20, 1 + delay 4 + createsprite gEmberSpriteTemplate, 130, 20, 0, 16, 24, 20, 1 + delay 16 playsewithpan SE_W172, +63 - call AnimScript_82CA135 - call AnimScript_82CA135 - call AnimScript_82CA135 + call Ember1 + call Ember1 + call Ember1 end -AnimScript_82CA135: - createsprite gUnknown_085954EC, 0x82, -24, 24, 24, 24, 20, 1, 1 - delay 0x4 +Ember1: + createsprite gEmberFlareSpriteTemplate, 130, -24, 24, 24, 24, 20, 1, 1 + delay 4 return Move_MEGA_PUNCH: - loadspritegfx 0x2797 - loadspritegfx 0x279F + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 monbg ANIM_TARGET - delay 0x2 - createsprite gUnknown_08597274, 0x2, 1, 0, 0, 16, RGB_BLACK - setalpha 0x80C + delay 2 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 0, 16, RGB_BLACK + setalpha 12, 8 playsewithpan SE_W025, +63 - createsprite gUnknown_08595F48, 0x3, 0, 0, 0, 50 - createvisualtask sub_8116620, 0xA, 4, 2, 0, 7, 0x7FFF - delay 0x32 - call AnimScript_82CA1E9 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 22, 1 - createvisualtask sub_8116620, 0xA, 4, 2, 0, 0, 0x7FFF - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 8, 0, 0 + createsprite gMegaPunchKickSpriteTemplate, 3, 0, 0, 0, 50 + createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE + delay 50 + call SetImpactBackground + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1 + createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0 playsewithpan SE_W233B, +63 waitforvisualfinish clearmonbg ANIM_TARGET blendoff - delay 0x2 + delay 2 restorebg waitbgfadein end - -AnimScript_82CA1E9: - delay 0x2 - createvisualtask sub_8117E60, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82CA220 - createvisualtask sub_815A8C8, 0x2 - jumpargeq 0x7, 0x0, AnimScript_82CA212 - jumpargeq 0x7, 0x1, AnimScript_82CA219 - -AnimScript_82CA211: +SetImpactBackground: + delay 2 + createvisualtask AnimTask_IsContest, 2 + jumprettrue SetImpactContestsBG + createvisualtask AnimTask_IsTargetPlayerSide, 2 + jumpretfalse SetImpactOpponentBG + jumprettrue SetImpactPlayerBG +SetImpactBackgroundRet: return - -AnimScript_82CA212: +SetImpactOpponentBG: changebg BG_IMPACT_OPPONENT - goto AnimScript_82CA211 - -AnimScript_82CA219: + goto SetImpactBackgroundRet +SetImpactPlayerBG: changebg BG_IMPACT_PLAYER - goto AnimScript_82CA211 - -AnimScript_82CA220: + goto SetImpactBackgroundRet +SetImpactContestsBG: changebg BG_IMPACT_CONTESTS - goto AnimScript_82CA211 + goto SetImpactBackgroundRet Move_MEGA_KICK: - loadspritegfx 0x2797 - loadspritegfx 0x279F + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 monbg ANIM_TARGET - delay 0x2 - createsprite gUnknown_08597274, 0x2, 1, 0, 0, 16, RGB_BLACK - setalpha 0x80C + delay 2 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 0, 16, RGB_BLACK + setalpha 12, 8 playsewithpan SE_W025, +63 - createsprite gUnknown_08595F48, 0x3, 0, 0, 1, 50 - createvisualtask sub_8116620, 0xA, 4, 2, 0, 7, 0x7FFF - delay 0x32 + createsprite gMegaPunchKickSpriteTemplate, 3, 0, 0, 1, 50 + createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE + delay 50 playsewithpan SE_W025B, +63 - call AnimScript_82CA1E9 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 22, 1 - createvisualtask sub_8116620, 0xA, 4, 2, 0, 0, 0x7FFF - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 8, 0, 0 + call SetImpactBackground + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1 + createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0 waitforvisualfinish clearmonbg ANIM_TARGET blendoff - delay 0x2 + delay 2 restorebg waitbgfadein end Move_COMET_PUNCH: - loadspritegfx 0x2797 - loadspritegfx 0x279F + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 monbg ANIM_TARGET - setalpha 0x80C - choosetwoturnanim AnimScript_82CA2F1, AnimScript_82CA316 - -AnimScript_82CA2D7: - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + setalpha 12, 8 + choosetwoturnanim CometPunchLeft, CometPunchRight +CometPunchContinue: + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W004, +63 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end - -AnimScript_82CA2F1: - createsprite gUnknown_08597358, 0x2, -8, -8, 1, 2 - createsprite gUnknown_08595E98, 0x3, -8, 0, 8, 1, 0 - goto AnimScript_82CA2D7 - -AnimScript_82CA316: - createsprite gUnknown_08597358, 0x2, 8, -8, 1, 2 - createsprite gUnknown_08595E98, 0x3, 8, 0, 8, 1, 0 - goto AnimScript_82CA2D7 +CometPunchLeft: + createsprite gBasicHitSplatSpriteTemplate, 2, -8, -8, 1, 2 + createsprite gFistFootSpriteTemplate, 3, -8, 0, 8, 1, 0 + goto CometPunchContinue +CometPunchRight: + createsprite gBasicHitSplatSpriteTemplate, 2, 8, -8, 1, 2 + createsprite gFistFootSpriteTemplate, 3, 8, 0, 8, 1, 0 + goto CometPunchContinue Move_SONIC_BOOM: - loadspritegfx 0x2713 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_AIR_WAVE + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - call AnimScript_82CA372 - call AnimScript_82CA372 - call AnimScript_82CA372 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 10, 1 - call AnimScript_82CA38A + setalpha 12, 8 + call SonicBoom1 + call SonicBoom1 + call SonicBoom1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 10, 1 + call SonicBoom2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end - -AnimScript_82CA372: +SonicBoom1: playsewithpan SE_W013B, -64 - createsprite gUnknown_08593398, 0x82, 16, 0, 0, 0, 15 - delay 0x4 + createsprite gSonicBoomSpriteTemplate, 130, 16, 0, 0, 0, 15 + delay 4 return - -AnimScript_82CA38A: - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 2 - delay 0x4 +SonicBoom2: + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 2 + delay 4 return Move_THUNDER_SHOCK: - loadspritegfx 0x2711 - loadspritegfx 0x271B - createvisualtask sub_8116620, 0xA, 1, 0, 0, 6, 0 + loadspritegfx ANIM_TAG_SPARK + loadspritegfx ANIM_TAG_SPARK_2 + createvisualtask sub_8116620, 10, 1, 0, 0, 6, RGB_BLACK waitforvisualfinish - delay 0xA - createvisualtask sub_810A7DC, 0x5, 0, -44, 0 + delay 10 + createvisualtask sub_810A7DC, 5, 0, -44, 0 playsewithpan SE_W085, +63 - delay 0x9 - createvisualtask sub_8116620, 0xA, 4, 0, 0, 13, 0 + delay 9 + createvisualtask sub_8116620, 10, 4, 0, 0, 13, RGB_BLACK waitforvisualfinish - createvisualtask sub_8116620, 0xA, 4, 0, 13, 0, 0 + createvisualtask sub_8116620, 10, 4, 0, 13, 0, RGB_BLACK waitforvisualfinish - delay 0x14 - call AnimScript_82D7BEA + delay 20 + call ElectricityEffect waitforvisualfinish - delay 0x14 - createvisualtask sub_8116620, 0xA, 1, 0, 6, 0, 0 + delay 20 + createvisualtask sub_8116620, 10, 1, 0, 6, 0, RGB_BLACK waitforvisualfinish end Move_THUNDERBOLT: - loadspritegfx 0x2711 - loadspritegfx 0x282A - loadspritegfx 0x271B - createvisualtask sub_8116620, 0xA, 1, 0, 0, 6, 0 + loadspritegfx ANIM_TAG_SPARK + loadspritegfx ANIM_TAG_282 + loadspritegfx ANIM_TAG_SPARK_2 + createvisualtask sub_8116620, 10, 1, 0, 0, 6, RGB_BLACK waitforvisualfinish - delay 0xA - createvisualtask sub_810A7DC, 0x5, 24, -52, 0 + delay 10 + createvisualtask sub_810A7DC, 5, 24, -52, 0 playsewithpan SE_W085, +63 - delay 0x7 - createvisualtask sub_810A7DC, 0x5, -24, -52, 0 + delay 7 + createvisualtask sub_810A7DC, 5, -24, -52, 0 playsewithpan SE_W085, +63 - delay 0x7 - createvisualtask sub_810A7DC, 0x5, 0, -60, 1 + delay 7 + createvisualtask sub_810A7DC, 5, 0, -60, 1 playsewithpan SE_W085, +63 - delay 0x9 - createvisualtask sub_8116620, 0xA, 4, 0, 0, 13, 0 + delay 9 + createvisualtask sub_8116620, 10, 4, 0, 0, 13, RGB_BLACK waitforvisualfinish - createvisualtask sub_8116620, 0xA, 4, 0, 13, 0, 0 + createvisualtask sub_8116620, 10, 4, 0, 13, 0, RGB_BLACK waitforvisualfinish - delay 0x14 - createsprite gUnknown_085957E0, 0x83, 44, 0, 0, 3 - createsprite gUnknown_085957F8, 0x84, 0, 0, 32, 44, 0, 40, 0, -32765 - createsprite gUnknown_085957F8, 0x84, 0, 0, 32, 44, 64, 40, 1, -32765 - createsprite gUnknown_085957F8, 0x84, 0, 0, 32, 44, 128, 40, 0, -32765 - createsprite gUnknown_085957F8, 0x84, 0, 0, 32, 44, 192, 40, 2, -32765 - createsprite gUnknown_085957F8, 0x84, 0, 0, 16, 44, 32, 40, 0, -32765 - createsprite gUnknown_085957F8, 0x84, 0, 0, 16, 44, 96, 40, 1, -32765 - createsprite gUnknown_085957F8, 0x84, 0, 0, 16, 44, 160, 40, 0, -32765 - createsprite gUnknown_085957F8, 0x84, 0, 0, 16, 44, 224, 40, 2, -32765 + delay 20 + createsprite gBattleAnimSpriteTemplate_85957E0, 131, 44, 0, 0, 3 + createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 32, 44, 0, 40, 0, -32765 + createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 32, 44, 64, 40, 1, -32765 + createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 32, 44, 128, 40, 0, -32765 + createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 32, 44, 192, 40, 2, -32765 + createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 16, 44, 32, 40, 0, -32765 + createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 16, 44, 96, 40, 1, -32765 + createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 16, 44, 160, 40, 0, -32765 + createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 16, 44, 224, 40, 2, -32765 playsewithpan SE_W063, +63 - delay 0x0 - createvisualtask sub_8116620, 0xA, 1, 0, 2, 2, 0 - delay 0x6 - createvisualtask sub_8116620, 0xA, 1, 0, 6, 6, 0 - delay 0x6 - createvisualtask sub_8116620, 0xA, 1, 0, 2, 2, 0 - delay 0x6 - createvisualtask sub_8116620, 0xA, 1, 0, 6, 6, 0 + delay 0 + createvisualtask sub_8116620, 10, 1, 0, 2, 2, RGB_BLACK + delay 6 + createvisualtask sub_8116620, 10, 1, 0, 6, 6, RGB_BLACK + delay 6 + createvisualtask sub_8116620, 10, 1, 0, 2, 2, RGB_BLACK + delay 6 + createvisualtask sub_8116620, 10, 1, 0, 6, 6, RGB_BLACK waitforvisualfinish - delay 0x14 - waitplaysewithpan SE_W085B, +63, 0x13 - call AnimScript_82D7BEA + delay 20 + waitplaysewithpan SE_W085B, +63, 19 + call ElectricityEffect waitforvisualfinish - delay 0x14 - createvisualtask sub_8116620, 0xA, 1, 0, 6, 0, 0 + delay 20 + createvisualtask sub_8116620, 10, 1, 0, 6, 0, RGB_BLACK waitforvisualfinish end Move_THUNDER_WAVE: - loadspritegfx 0x2711 - loadspritegfx 0x271B - loadspritegfx 0x27BD - createvisualtask sub_8116620, 0xA, 1, 0, 0, 6, 0 + loadspritegfx ANIM_TAG_SPARK + loadspritegfx ANIM_TAG_SPARK_2 + loadspritegfx ANIM_TAG_173 + createvisualtask sub_8116620, 10, 1, 0, 0, 6, RGB_BLACK waitforvisualfinish - delay 0xA - createvisualtask sub_810A7DC, 0x5, 0, -48, 0 + delay 10 + createvisualtask sub_810A7DC, 5, 0, -48, 0 playsewithpan SE_W086, +63 - delay 0x14 - loopsewithpan SE_W085B, +63, 0xA, 0x4 - createsprite gUnknown_08595840, 0x82, -16, -16 - delay 0x4 - createsprite gUnknown_08595840, 0x82, -16, 0 - delay 0x4 - createsprite gUnknown_08595840, 0x82, -16, 16 + delay 20 + loopsewithpan SE_W085B, +63, 10, 4 + createsprite gUnknown_08595840, 130, -16, -16 + delay 4 + createsprite gUnknown_08595840, 130, -16, 0 + delay 4 + createsprite gUnknown_08595840, 130, -16, 16 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 1, 0, 6, 0, 0 + createvisualtask sub_8116620, 10, 1, 0, 6, 0, RGB_BLACK waitforvisualfinish end Move_BEAT_UP: - loadspritegfx 0x2797 - loadspritegfx 0x279F + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 monbg ANIM_TARGET - setalpha 0x80C - choosetwoturnanim AnimScript_82CA648, AnimScript_82CA6B9 - -AnimScript_82CA643: + setalpha 12, 8 + choosetwoturnanim BeatUpLeft, BeatUpRight +BeatUpContinue: waitforvisualfinish clearmonbg ANIM_TARGET blendoff end - -AnimScript_82CA648: - createsprite gUnknown_08597358, 0x82, -20, -20, 1, 2 - createsprite gUnknown_08595E98, 0x83, -20, -12, 8, 1, 0 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 +BeatUpLeft: + createsprite gBasicHitSplatSpriteTemplate, 130, -20, -20, 1, 2 + createsprite gFistFootSpriteTemplate, 131, -20, -12, 8, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, +63 - delay 0x8 - createsprite gUnknown_08597358, 0x82, 8, 0, 1, 2 - createsprite gUnknown_08595E98, 0x83, 8, 8, 8, 1, 0 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 130, 8, 0, 1, 2 + createsprite gFistFootSpriteTemplate, 131, 8, 8, 8, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, +63 - goto AnimScript_82CA643 - -AnimScript_82CA6B9: - createsprite gUnknown_08597358, 0x82, 12, -20, 1, 2 - createsprite gUnknown_08595E98, 0x83, 12, -12, 8, 1, 0 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + goto BeatUpContinue +BeatUpRight: + createsprite gBasicHitSplatSpriteTemplate, 130, 12, -20, 1, 2 + createsprite gFistFootSpriteTemplate, 131, 12, -12, 8, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, +63 - delay 0x8 - createsprite gUnknown_08597358, 0x82, -12, 0, 1, 2 - createsprite gUnknown_08595E98, 0x83, -12, 8, 8, 1, 0 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 130, -12, 0, 1, 2 + createsprite gFistFootSpriteTemplate, 131, -12, 8, 8, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, +63 - goto AnimScript_82CA643 + goto BeatUpContinue Move_STOMP: - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W104, +63 - createsprite gUnknown_08595F60, 0x3, 0, -32, 15 - delay 0x13 - createsprite gUnknown_08597358, 0x2, 0, -8, 1, 1 - createvisualtask sub_80D51AC, 0x2, 1, 0, 4, 9, 1 + createsprite gUnknown_08595F60, 3, 0, -32, 15 + delay 19 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, -8, 1, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 9, 1 playsewithpan SE_W025B, +63 waitforvisualfinish clearmonbg ANIM_TARGET @@ -1208,19 +1192,19 @@ Move_STOMP: end Move_TAIL_WHIP: - loopsewithpan SE_W039, -64, 0x18, 0x3 - createvisualtask sub_80D5830, 0x2, 0, 12, 4, 2, 3 + loopsewithpan SE_W039, -64, 24, 3 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 3 waitforvisualfinish end Move_CUT: - loadspritegfx 0x279A + loadspritegfx ANIM_TAG_138 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W015, +63 - createsprite gUnknown_08592A1C, 0x2, 40, -32, 0 - delay 0x5 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 10, 1 + createsprite gCuttingSliceSpriteTemplate, 2, 40, -32, 0 + delay 5 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -1228,682 +1212,664 @@ Move_CUT: end Move_HIDDEN_POWER: - loadspritegfx 0x27E9 + loadspritegfx ANIM_TAG_217 playsewithpan SE_W036, -64 - createvisualtask sub_80D6064, 0x5, -7, -7, 11, 0, 0 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0 waitforvisualfinish - delay 0x1E - createvisualtask sub_80A7B98, 0x5, 0, RGB(31, 31, 19), 12, 5, 1 - delay 0x4 - createvisualtask sub_80D6064, 0x5, -7, -7, 11, 0, 0 + delay 30 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(31, 31, 19), 12, 5, 1 + delay 4 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0 playsewithpan SE_W179, -64 - createsprite gUnknown_08593A04, 0x2, 26, 0 - createsprite gUnknown_08593A04, 0x2, 26, 42 - createsprite gUnknown_08593A04, 0x2, 26, 84 - createsprite gUnknown_08593A04, 0x2, 26, 126 - createsprite gUnknown_08593A04, 0x2, 26, 168 - createsprite gUnknown_08593A04, 0x2, 26, 210 - delay 0x34 - setarg 0x7, 0xFFFF + createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 0 + createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 42 + createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 84 + createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 126 + createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 168 + createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 210 + delay 52 + setarg 7, -1 playsewithpan SE_W115, -64 - createvisualtask sub_80D6064, 0x5, -7, -7, 11, 0, 0 - createsprite gUnknown_08593A1C, 0x82, 0 - createsprite gUnknown_08593A1C, 0x82, 32 - createsprite gUnknown_08593A1C, 0x82, 64 - createsprite gUnknown_08593A1C, 0x82, 96 - createsprite gUnknown_08593A1C, 0x82, 128 - createsprite gUnknown_08593A1C, 0x82, 160 - createsprite gUnknown_08593A1C, 0x82, 192 - createsprite gUnknown_08593A1C, 0x82, 224 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0 + createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 0 + createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 32 + createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 64 + createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 96 + createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 128 + createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 160 + createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 192 + createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 224 end Move_REVERSAL: - loadspritegfx 0x27FC - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_236 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 playsewithpan SE_W197, -64 - createsprite gUnknown_0859728C, 0x2, 31, 3, 3, 0x7FFF, 8, 0, 0 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 3, RGB_WHITE, 8, 0, 0 waitforvisualfinish - delay 0x1E - createvisualtask sub_8115A04, 0x2, 31, 3, 2, 0, 10, 0x7FFF - delay 0xA + delay 30 + createvisualtask sub_8115A04, 2, 31, 3, 2, 0, 10, RGB_WHITE + delay 10 playsewithpan SE_W179, -64 - createsprite gUnknown_085CE5D8, 0x2, 26, 0 - createsprite gUnknown_085CE5D8, 0x2, 26, 42 - createsprite gUnknown_085CE5D8, 0x2, 26, 84 - createsprite gUnknown_085CE5D8, 0x2, 26, 126 - createsprite gUnknown_085CE5D8, 0x2, 26, 168 - createsprite gUnknown_085CE5D8, 0x2, 26, 210 + createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 0 + createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 42 + createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 84 + createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 126 + createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 168 + createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 210 waitforvisualfinish - delay 0x14 - createsprite gUnknown_0857FE28, 0x2, 6, 4 - delay 0x8 + delay 20 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 8 playsewithpan SE_W233B, +63 - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0x7FFF, 8, 0, 0 - createsprite gUnknown_08595E98, 0x84, 0, 0, 10, 1, 0 - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 - createvisualtask sub_80D6388, 0x5, 0, 1, 8, 1, 0 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_WHITE, 8, 0, 0 + createsprite gFistFootSpriteTemplate, 132, 0, 0, 10, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createvisualtask sub_80D6388, 5, 0, 1, 8, 1, 0 end Move_PURSUIT: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET fadetobg BG_DARK waitbgfadein - delay 0x0 - setalpha 0x80C - choosetwoturnanim AnimScript_82CA99F, AnimScript_82CA9C8 - -AnimScript_82CA996: + delay 0 + setalpha 12, 8 + choosetwoturnanim PursuitNormal, PursuitOnSwitchout +PursuitContinue: waitforvisualfinish clearmonbg ANIM_TARGET blendoff - delay 0x0 + delay 0 restorebg waitbgfadein end - -AnimScript_82CA99F: +PursuitNormal: playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 - createvisualtask sub_80D6388, 0x5, 0, 1, 6, 1, 0 - goto AnimScript_82CA996 - -AnimScript_82CA9C8: + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask sub_80D6388, 5, 0, 1, 6, 1, 0 + goto PursuitContinue +PursuitOnSwitchout: playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 - createvisualtask sub_80D6388, 0x5, 0, 1, 6, 1, 0 - goto AnimScript_82CA996 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createvisualtask sub_80D6388, 5, 0, 1, 6, 1, 0 + goto PursuitContinue Move_SPIKE_CANNON: - loadspritegfx 0x27B1 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_161 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80D5C50, 0x5, 0, -4, 0, 4, 6, 8, 4 + setalpha 12, 8 + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -4, 0, 4, 6, 8, 4 waitforvisualfinish - loopsewithpan SE_W013B, -64, 0x5, 0x3 - createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 - createsprite gUnknown_08596A44, 0x2, 10, -8, -8, -8, 20 - createsprite gUnknown_08596A44, 0x2, 18, 0, 0, 0, 20 - createsprite gUnknown_08596A44, 0x2, 26, 8, 8, 8, 20 + loopsewithpan SE_W013B, -64, 5, 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + createsprite gLinearStingerSpriteTemplate, 2, 10, -8, -8, -8, 20 + createsprite gLinearStingerSpriteTemplate, 2, 18, 0, 0, 0, 20 + createsprite gLinearStingerSpriteTemplate, 2, 26, 8, 8, 8, 20 waitforvisualfinish - createsprite gUnknown_08597370, 0x3, -8, -8, 1, 2 - createsprite gUnknown_08597370, 0x3, 0, 0, 1, 2 - createsprite gUnknown_08597370, 0x3, 8, 8, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 7, 1 - loopsewithpan SE_W030, +63, 0x5, 0x3 + createsprite gBattleAnimSpriteTemplate_8597370, 3, -8, -8, 1, 2 + createsprite gBattleAnimSpriteTemplate_8597370, 3, 0, 0, 1, 2 + createsprite gBattleAnimSpriteTemplate_8597370, 3, 8, 8, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 7, 1 + loopsewithpan SE_W030, +63, 5, 3 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_SWORDS_DANCE: - loadspritegfx 0x2715 + loadspritegfx ANIM_TAG_SWORD monbg ANIM_ATTACKER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W014, -64 - createvisualtask sub_80D5830, 0x2, 0, 16, 6, 1, 4 - createsprite gUnknown_08593380, 0x2, 0, 0 - delay 0x16 - createvisualtask sub_8115D94, 0x2, 10005, 2, 2, 32754, 16, 0, 0 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 16, 6, 1, 4 + createsprite gBattleAnimSpriteTemplate_8593380, 2, 0, 0 + delay 22 + createvisualtask sub_8115D94, 2, ANIM_TAG_SWORD, 2, 2, RGB(18, 31, 31), 16, 0, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff - delay 0x1 + delay 1 end Move_PSYCH_UP: - loadspritegfx 0x27D4 + loadspritegfx ANIM_TAG_196 monbg ANIM_ATK_PARTNER - createvisualtask sub_8115B0C, 0x2, 1, 2, 6, 1, 11, 0 - setalpha 0x80C - loopsewithpan SE_W060B, -64, 0x5, 0xA - createsprite gUnknown_08596548, 0x2, 0, 0, 0, 0 - createvisualtask sub_80D5EB8, 0x5, 0, 5, 2560, 8, 0 - delay 0x7F - delay 0x4 + createvisualtask sub_8115B0C, 2, 1, 2, 6, 1, 11, 0 + setalpha 12, 8 + loopsewithpan SE_W060B, -64, 5, 10 + createsprite gUnknown_08596548, 2, 0, 0, 0, 0 + createvisualtask AnimTask_SwayMon, 5, 0, 5, 2560, 8, ANIM_ATTACKER + delay 127 + delay 4 playsewithpan SE_W060, -64 - createvisualtask sub_80D6064, 0x5, -5, -5, 10, 0, 1 - createvisualtask sub_8116620, 0x9, 2, 2, 10, 0, 1023 - delay 0x1E + createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1 + createvisualtask sub_8116620, 9, 2, 2, 10, 0, RGB_YELLOW + delay 30 clearmonbg ANIM_ATK_PARTNER blendoff waitforvisualfinish end Move_DIZZY_PUNCH: - loadspritegfx 0x2759 - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_DUCK + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C - call AnimScript_82CAC77 - createsprite gUnknown_08595E98, 0x85, 16, 8, 20, 1, 0 - createsprite gUnknown_08597358, 0x84, 16, 0, 1, 1 + setalpha 12, 8 + call DizzyPunch1 + createsprite gFistFootSpriteTemplate, 133, 16, 8, 20, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 132, 16, 0, 1, 1 playsewithpan SE_W004, +63 - createsprite gUnknown_08595F78, 0x83, 16, 8, 160, -32 - createsprite gUnknown_08595F78, 0x83, 16, 8, -256, -40 - createsprite gUnknown_08595F78, 0x83, 16, 8, 128, -16 - createsprite gUnknown_08595F78, 0x83, 16, 8, 416, -38 - createsprite gUnknown_08595F78, 0x83, 16, 8, -128, -22 - createsprite gUnknown_08595F78, 0x83, 16, 8, -384, -31 - delay 0xA - call AnimScript_82CAC77 - createsprite gUnknown_08595E98, 0x85, -16, -8, 20, 1, 0 - createsprite gUnknown_08597358, 0x84, -16, -16, 1, 1 + createsprite gUnknown_08595F78, 131, 16, 8, 160, -32 + createsprite gUnknown_08595F78, 131, 16, 8, -256, -40 + createsprite gUnknown_08595F78, 131, 16, 8, 128, -16 + createsprite gUnknown_08595F78, 131, 16, 8, 416, -38 + createsprite gUnknown_08595F78, 131, 16, 8, -128, -22 + createsprite gUnknown_08595F78, 131, 16, 8, -384, -31 + delay 10 + call DizzyPunch1 + createsprite gFistFootSpriteTemplate, 133, -16, -8, 20, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 132, -16, -16, 1, 1 playsewithpan SE_W233B, +63 - createsprite gUnknown_08595F78, 0x83, -16, -8, 160, -32 - createsprite gUnknown_08595F78, 0x83, -16, -8, -256, -40 - createsprite gUnknown_08595F78, 0x83, -16, -8, 128, -16 - createsprite gUnknown_08595F78, 0x83, -16, -8, 416, -38 - createsprite gUnknown_08595F78, 0x83, -16, -8, -128, -22 - createsprite gUnknown_08595F78, 0x83, -16, -8, -384, -31 + createsprite gUnknown_08595F78, 131, -16, -8, 160, -32 + createsprite gUnknown_08595F78, 131, -16, -8, -256, -40 + createsprite gUnknown_08595F78, 131, -16, -8, 128, -16 + createsprite gUnknown_08595F78, 131, -16, -8, 416, -38 + createsprite gUnknown_08595F78, 131, -16, -8, -128, -22 + createsprite gUnknown_08595F78, 131, -16, -8, -384, -31 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end - -AnimScript_82CAC77: - createsprite gUnknown_0857FE28, 0x2, 6, 4 - delay 0x6 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 7, 1 +DizzyPunch1: + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 6 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 7, 1 return Move_FIRE_SPIN: - loadspritegfx 0x272D + loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_W221B, +63 - createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 47, 1 - call AnimScript_82CACBF - call AnimScript_82CACBF - call AnimScript_82CACBF + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 47, 1 + call FireSpinEffect + call FireSpinEffect + call FireSpinEffect waitforvisualfinish end -AnimScript_82CACBF: - createsprite gUnknown_08596B88, 0x82, 0, 28, 528, 30, 13, 50, 1 - delay 0x2 - createsprite gUnknown_08596B88, 0x82, 0, 32, 480, 20, 16, -46, 1 - delay 0x2 - createsprite gUnknown_08596B88, 0x82, 0, 33, 576, 20, 8, 42, 1 - delay 0x2 - createsprite gUnknown_08596B88, 0x82, 0, 31, 400, 25, 11, -42, 1 - delay 0x2 - createsprite gUnknown_08596B88, 0x82, 0, 28, 512, 25, 16, 46, 1 - delay 0x2 - createsprite gUnknown_08596B88, 0x82, 0, 33, 464, 30, 15, -50, 1 - delay 0x2 +FireSpinEffect: + createsprite gUnknown_08596B88, 130, 0, 28, 528, 30, 13, 50, 1 + delay 2 + createsprite gUnknown_08596B88, 130, 0, 32, 480, 20, 16, -46, 1 + delay 2 + createsprite gUnknown_08596B88, 130, 0, 33, 576, 20, 8, 42, 1 + delay 2 + createsprite gUnknown_08596B88, 130, 0, 31, 400, 25, 11, -42, 1 + delay 2 + createsprite gUnknown_08596B88, 130, 0, 28, 512, 25, 16, 46, 1 + delay 2 + createsprite gUnknown_08596B88, 130, 0, 33, 464, 30, 15, -50, 1 + delay 2 return Move_FURY_CUTTER: - loadspritegfx 0x279A + loadspritegfx ANIM_TAG_138 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W013, +63 - createvisualtask sub_8107144, 0x2 - jumpargeq 0x7, 0x0, AnimScript_82CADA7 - goto AnimScript_82CADB9 - -AnimScript_82CAD6A: - createvisualtask sub_8107168, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82CAD8E - jumpargeq 0x7, 0x2, AnimScript_82CADCB - jumpargeq 0x7, 0x3, AnimScript_82CADE5 - goto AnimScript_82CADFF - -AnimScript_82CAD8E: - delay 0x5 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 10, 1 + createvisualtask AnimTask_IsFuryCutterHitRight, 2 + jumpretfalse FuryCutterLeft + goto FuryCutterRight +FuryCutterContinue: + createvisualtask AnimTask_GetFuryCutterHitCount, 2 + jumpreteq 1, FuryCutterContinue2 + jumpreteq 2, FuryCutterMedium + jumpreteq 3, FuryCutterStrong + goto FuryCutterStrongest +FuryCutterContinue2: + delay 5 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff waitforvisualfinish end - -AnimScript_82CADA7: - createsprite gUnknown_08592A1C, 0x2, 40, -32, 0 - goto AnimScript_82CAD6A - -AnimScript_82CADB9: - createsprite gUnknown_08592A1C, 0x2, 40, -32, 1 - goto AnimScript_82CAD6A - -AnimScript_82CADCB: - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 10505, 4, 0, 0 - goto AnimScript_82CAD8E - -AnimScript_82CADE5: - createsprite gUnknown_0859728C, 0x2, 31, 3, 3, 10505, 4, 0, 0 - goto AnimScript_82CAD8E - -AnimScript_82CADFF: - createsprite gUnknown_0859728C, 0x2, 31, 3, 3, 10505, 4, 0, 0 - goto AnimScript_82CAD8E +FuryCutterLeft: + createsprite gCuttingSliceSpriteTemplate, 2, 40, -32, 0 + goto FuryCutterContinue +FuryCutterRight: + createsprite gCuttingSliceSpriteTemplate, 2, 40, -32, 1 + goto FuryCutterContinue +FuryCutterMedium: + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB(9, 8, 10), 4, 0, 0 + goto FuryCutterContinue2 +FuryCutterStrong: + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 3, RGB(9, 8, 10), 4, 0, 0 + goto FuryCutterContinue2 +FuryCutterStrongest: + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 3, RGB(9, 8, 10), 4, 0, 0 + goto FuryCutterContinue2 Move_SELF_DESTRUCT: - loadspritegfx 0x27D6 - createvisualtask sub_8116620, 0xA, 2, 1, 0, 9, 31 - createvisualtask sub_80D52D0, 0x5, 4, 6, 0, 38, 1 - createvisualtask sub_80D52D0, 0x5, 5, 6, 0, 38, 1 - createvisualtask sub_80D52D0, 0x5, 6, 6, 0, 38, 1 - createvisualtask sub_80D52D0, 0x5, 7, 6, 0, 38, 1 - createvisualtask sub_80D52D0, 0x5, 8, 6, 0, 38, 1 - call AnimScript_82CAE9F - call AnimScript_82CAE9F + loadspritegfx ANIM_TAG_EXPLOSION + createvisualtask sub_8116620, 10, 2, 1, 0, 9, RGB_RED + 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 SelfDestruct1 + call SelfDestruct1 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 2, 1, 9, 0, 31 + createvisualtask sub_8116620, 10, 2, 1, 9, 0, RGB_RED end - -AnimScript_82CAE9F: +SelfDestruct1: playsewithpan SE_W120, -64 - createsprite gUnknown_0859371C, 0x3, 0, 0, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 0, 0, 0, 1 + delay 6 playsewithpan SE_W120, -64 - createsprite gUnknown_0859371C, 0x3, 24, -24, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 24, -24, 0, 1 + delay 6 playsewithpan SE_W120, -64 - createsprite gUnknown_0859371C, 0x3, -16, 16, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, -16, 16, 0, 1 + delay 6 playsewithpan SE_W120, -64 - createsprite gUnknown_0859371C, 0x3, -24, -12, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, -24, -12, 0, 1 + delay 6 playsewithpan SE_W120, -64 - createsprite gUnknown_0859371C, 0x3, 16, 16, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 16, 16, 0, 1 + delay 6 return Move_SLAM: - loadspritegfx 0x2748 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_056 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W004, -64 - createsprite gUnknown_0857FE70, 0x2, 0, 20, 3, 0, 4 - delay 0x1 - createsprite gUnknown_085928D0, 0x2, 0, 0 - delay 0x3 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 3, 0, 4 + delay 1 + createsprite gUnknown_085928D0, 2, 0, 0 + delay 3 playsewithpan SE_W025B, +63 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 - createsprite gUnknown_0857FE70, 0x2, 1, -12, 10, 0, 3 - createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 - delay 0x3 - createvisualtask sub_80D5484, 0x2, 1, 0, 3, 6, 1 + 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_TARGET, 0, 3, 6, 1 waitforvisualfinish - delay 0x5 - createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_VINE_WHIP: - loadspritegfx 0x282F + loadspritegfx ANIM_TAG_287 playsewithpan SE_W026, -64 - createsprite gUnknown_0857FE28, 0x2, 4, 6 - delay 0x6 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 6 playsewithpan SE_W010, +63 - createsprite gUnknown_085928E8, 0x82, 0, 0 - delay 0x6 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 6, 1 + createsprite gUnknown_085928E8, 130, 0, 0 + delay 6 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 1 end Move_DRILL_PECK: - loadspritegfx 0x2797 - loadspritegfx 0x27B2 - createsprite gUnknown_08592CD8, 0x2, 0 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_162 + createsprite gUnknown_08592CD8, 2, 0 playsewithpan SE_W029, -64 waitforvisualfinish - delay 0x2 - createsprite gUnknown_08592CD8, 0x2, 1 - delay 0x2 - loopsewithpan SE_W030, +63, 0x4, 0x8 - createvisualtask sub_810EB88, 0x5 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 18, 1 + delay 2 + createsprite gUnknown_08592CD8, 2, 1 + delay 2 + loopsewithpan SE_W030, +63, 4, 8 + createvisualtask sub_810EB88, 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 waitforvisualfinish - createsprite gUnknown_08592CD8, 0x2, 2 + createsprite gUnknown_08592CD8, 2, 2 waitforvisualfinish - createsprite gUnknown_0857FE58, 0x2, 0, 0, 6 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6 waitforvisualfinish end Move_WATERFALL: - loadspritegfx 0x27A4 - loadspritegfx 0x27AB - loadspritegfx 0x279D + loadspritegfx ANIM_TAG_148 + loadspritegfx ANIM_TAG_155 + loadspritegfx ANIM_TAG_141 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 23, 1 - delay 0x5 + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 23, 1 + delay 5 playsewithpan SE_W152, -64 - createsprite gUnknown_08595238, 0x2, 10, 10, 25, 0 - delay 0x4 + createsprite gUnknown_08595238, 2, 10, 10, 25, 0 + delay 4 playsewithpan SE_W152, -64 - createsprite gUnknown_08595238, 0x2, -15, 0, 25, 0 - delay 0x4 + createsprite gUnknown_08595238, 2, -15, 0, 25, 0 + delay 4 playsewithpan SE_W152, -64 - createsprite gUnknown_08595238, 0x2, 20, 10, 25, 0 - delay 0x4 + createsprite gUnknown_08595238, 2, 20, 10, 25, 0 + delay 4 playsewithpan SE_W152, -64 - createsprite gUnknown_08595238, 0x2, 0, -10, 25, 0 - delay 0x4 + createsprite gUnknown_08595238, 2, 0, -10, 25, 0 + delay 4 playsewithpan SE_W152, -64 - createsprite gUnknown_08595238, 0x2, -10, 15, 25, 0 - delay 0x4 + createsprite gUnknown_08595238, 2, -10, 15, 25, 0 + delay 4 playsewithpan SE_W152, -64 - createsprite gUnknown_08595238, 0x2, 25, 20, 25, 0 - delay 0x4 + createsprite gUnknown_08595238, 2, 25, 20, 25, 0 + delay 4 playsewithpan SE_W152, -64 - createsprite gUnknown_08595238, 0x2, -20, 20, 25, 0 - delay 0x4 + createsprite gUnknown_08595238, 2, -20, 20, 25, 0 + delay 4 playsewithpan SE_W152, -64 - createsprite gUnknown_08595238, 0x2, 12, 0, 25, 0 + createsprite gUnknown_08595238, 2, 12, 0, 25, 0 waitforvisualfinish - delay 0xA - createsprite gUnknown_0857FE28, 0x2, 6, 5 - delay 0x6 - call AnimScript_82CB102 + delay 10 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 5 + delay 6 + call UnderWaterAttack1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -AnimScript_82CB102: +UnderWaterAttack1: playsewithpan SE_W127, +63 - createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 17, 1 - createsprite gUnknown_08597388, 0x3, 0, 20, 1, 1 - createsprite gUnknown_08595250, 0x4, 0, 20 - createsprite gUnknown_08595250, 0x4, 0, 20 - delay 0x2 - createsprite gUnknown_08597388, 0x3, 0, 15, 1, 1 - createsprite gUnknown_08595250, 0x4, 0, 15 - createsprite gUnknown_08595250, 0x4, 0, 15 - delay 0x2 - createsprite gUnknown_08597388, 0x3, 0, 10, 1, 1 - createsprite gUnknown_08595250, 0x4, 0, 10 - createsprite gUnknown_08595250, 0x4, 0, 10 - delay 0x2 - createsprite gUnknown_08597388, 0x3, 0, 5, 1, 1 - createsprite gUnknown_08595250, 0x4, 0, 5 - createsprite gUnknown_08595250, 0x4, 0, 5 - delay 0x2 - createsprite gUnknown_08597388, 0x3, 0, 0, 1, 1 - createsprite gUnknown_08595250, 0x4, 0, 0 - createsprite gUnknown_08595250, 0x4, 0, 0 - delay 0x2 - createsprite gUnknown_08597388, 0x3, 0, -5, 1, 1 - createsprite gUnknown_08595250, 0x4, 0, -5 - createsprite gUnknown_08595250, 0x4, 0, -5 - delay 0x2 - createsprite gUnknown_08597388, 0x3, 0, -10, 1, 1 - createsprite gUnknown_08595250, 0x4, 0, -10 - createsprite gUnknown_08595250, 0x4, 0, -10 - delay 0x2 - createsprite gUnknown_08597388, 0x3, 0, -15, 1, 1 - createsprite gUnknown_08595250, 0x4, 0, -15 - createsprite gUnknown_08595250, 0x4, 0, -15 - delay 0x2 - createsprite gUnknown_08597388, 0x3, 0, -20, 1, 1 - createsprite gUnknown_08595250, 0x4, 0, -20 - createsprite gUnknown_08595250, 0x4, 0, -20 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 17, 1 + createsprite gUnknown_08597388, 3, 0, 20, 1, 1 + createsprite gUnknown_08595250, 4, 0, 20 + createsprite gUnknown_08595250, 4, 0, 20 + delay 2 + createsprite gUnknown_08597388, 3, 0, 15, 1, 1 + createsprite gUnknown_08595250, 4, 0, 15 + createsprite gUnknown_08595250, 4, 0, 15 + delay 2 + createsprite gUnknown_08597388, 3, 0, 10, 1, 1 + createsprite gUnknown_08595250, 4, 0, 10 + createsprite gUnknown_08595250, 4, 0, 10 + delay 2 + createsprite gUnknown_08597388, 3, 0, 5, 1, 1 + createsprite gUnknown_08595250, 4, 0, 5 + createsprite gUnknown_08595250, 4, 0, 5 + delay 2 + createsprite gUnknown_08597388, 3, 0, 0, 1, 1 + createsprite gUnknown_08595250, 4, 0, 0 + createsprite gUnknown_08595250, 4, 0, 0 + delay 2 + createsprite gUnknown_08597388, 3, 0, -5, 1, 1 + createsprite gUnknown_08595250, 4, 0, -5 + createsprite gUnknown_08595250, 4, 0, -5 + delay 2 + createsprite gUnknown_08597388, 3, 0, -10, 1, 1 + createsprite gUnknown_08595250, 4, 0, -10 + createsprite gUnknown_08595250, 4, 0, -10 + delay 2 + createsprite gUnknown_08597388, 3, 0, -15, 1, 1 + createsprite gUnknown_08595250, 4, 0, -15 + createsprite gUnknown_08595250, 4, 0, -15 + delay 2 + createsprite gUnknown_08597388, 3, 0, -20, 1, 1 + createsprite gUnknown_08595250, 4, 0, -20 + createsprite gUnknown_08595250, 4, 0, -20 return Move_EXPLOSION: - loadspritegfx 0x27D6 - createsprite gUnknown_0859728C, 0x2, 1, 8, 9, 8474, 8, 0, 8 - createvisualtask sub_80D52D0, 0x5, 4, 8, 0, 40, 1 - createvisualtask sub_80D52D0, 0x5, 5, 8, 0, 40, 1 - createvisualtask sub_80D52D0, 0x5, 6, 8, 0, 40, 1 - createvisualtask sub_80D52D0, 0x5, 7, 8, 0, 40, 1 - createvisualtask sub_80D52D0, 0x5, 8, 8, 0, 40, 1 - call AnimScript_82CB312 - call AnimScript_82CB312 + loadspritegfx ANIM_TAG_EXPLOSION + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 8, 9, RGB(26, 8, 8), 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 Explosion1 + call Explosion1 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 1, 1, 16, 16, 0x7FFF - delay 0x32 - createvisualtask sub_8116620, 0xA, 1, 3, 16, 0, 0x7FFF + createvisualtask sub_8116620, 10, 1, 1, 16, 16, RGB_WHITE + delay 50 + createvisualtask sub_8116620, 10, 1, 3, 16, 0, RGB_WHITE end - -AnimScript_82CB312: +Explosion1: playsewithpan SE_W153, -64 - createsprite gUnknown_0859371C, 0x3, 0, 0, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 0, 0, 0, 1 + delay 6 playsewithpan SE_W153, -64 - createsprite gUnknown_0859371C, 0x3, 24, -24, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 24, -24, 0, 1 + delay 6 playsewithpan SE_W153, -64 - createsprite gUnknown_0859371C, 0x3, -16, 16, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, -16, 16, 0, 1 + delay 6 playsewithpan SE_W153, -64 - createsprite gUnknown_0859371C, 0x3, -24, -12, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, -24, -12, 0, 1 + delay 6 playsewithpan SE_W153, -64 - createsprite gUnknown_0859371C, 0x3, 16, 16, 0, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 16, 16, 0, 1 + delay 6 return Move_DEFENSE_CURL: - loadspritegfx 0x27FA - loopsewithpan SE_W161, -64, 0x12, 0x3 - createvisualtask sub_811489C, 0x5, 0, 0 - createvisualtask sub_815B338, 0x5 + loadspritegfx ANIM_TAG_234 + loopsewithpan SE_W161, -64, 18, 3 + createvisualtask sub_811489C, 5, 0, 0 + createvisualtask sub_815B338, 5 waitforvisualfinish - createsprite gUnknown_085CE338, 0x2, 0, 6, 0, 1 + createsprite gUnknown_085CE338, 2, 0, 6, 0, 1 waitforvisualfinish - createvisualtask sub_811489C, 0x5, 0, 1 + createvisualtask sub_811489C, 5, 0, 1 waitforvisualfinish end Move_PROTECT: - loadspritegfx 0x2828 + loadspritegfx ANIM_TAG_PROTECT monbg ANIM_ATK_PARTNER monbgprio_28 ANIM_ATTACKER - waitplaysewithpan SE_W115, -64, 0x10 - createsprite gUnknown_08592ADC, 0x2, 24, 0, 90 + waitplaysewithpan SE_W115, -64, 16 + createsprite gUnknown_08592ADC, 2, 24, 0, 90 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER end Move_DETECT: - loadspritegfx 0x2757 - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 9, RGB_BLACK + loadspritegfx ANIM_TAG_071 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 9, RGB_BLACK waitforvisualfinish - createvisualtask sub_8116620, 0xA, 2, 1, 0, 9, 0x7FFF - delay 0x12 + createvisualtask sub_8116620, 10, 2, 1, 0, 9, RGB_WHITE + delay 18 playsewithpan SE_W197, -64 - createsprite gUnknown_0853EE84, 0xD, 20, -20 + createsprite gUnknown_0853EE84, 13, 20, -20 waitforvisualfinish - delay 0xA - createsprite gUnknown_08597274, 0x2, 1, 2, 9, 0, RGB_BLACK - createvisualtask sub_8116620, 0xA, 2, 2, 9, 0, 0x7FFF + delay 10 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 9, 0, RGB_BLACK + createvisualtask sub_8116620, 10, 2, 2, 9, 0, RGB_WHITE waitforvisualfinish end Move_FRUSTRATION: - loadspritegfx 0x2797 - loadspritegfx 0x2767 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_ANGER monbg ANIM_DEF_PARTNER - setalpha 0x80C - createvisualtask sub_80A8140, 0x1 - jumpargeq 0x7, 0x0, AnimScript_82CB464 - jumpargeq 0x7, 0x1, AnimScript_82CB56A - jumpargeq 0x7, 0x2, AnimScript_82CB637 - goto AnimScript_82CB6B3 - -AnimScript_82CB45F: + setalpha 12, 8 + createvisualtask AnimTask_GetFrustrationPowerLevel, 1 + jumpreteq 0, Frustration_Strongest + jumpreteq 1, Frustration_Strong + jumpreteq 2, Frustration_Medium + goto Frustration_Weak +Frustration_Continue: waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end - -AnimScript_82CB464: +Frustration_Strongest: playsewithpan SE_W082, -64 - createvisualtask sub_80D52D0, 0x5, 0, 1, 0, 15, 1 - createvisualtask sub_8116620, 0xA, 2, 3, 0, 9, 31 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER, 1, 0, 15, 1 + createvisualtask sub_8116620, 10, 2, 3, 0, 9, 31 waitforvisualfinish - delay 0x14 + delay 20 playsewithpan SE_W207B, -64 - createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + createsprite gUnknown_0859368C, 2, 0, 20, -28 waitforvisualfinish playsewithpan SE_W207B, -64 - createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + createsprite gUnknown_0859368C, 2, 0, 20, -28 waitforvisualfinish - delay 0xA - createvisualtask sub_80D5EB8, 0x5, 0, 16, 6144, 8, 0 - delay 0x5 - createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 30, 1 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 0 + delay 10 + createvisualtask AnimTask_SwayMon, 5, 0, 16, 6144, 8, ANIM_ATTACKER + delay 5 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 30, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0 playsewithpan SE_W004, +63 - delay 0x5 - createsprite gUnknown_08597358, 0x3, 24, 8, 1, 0 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 24, 8, 1, 0 playsewithpan SE_W004, +63 - delay 0x5 - createsprite gUnknown_08597358, 0x3, -24, -16, 1, 0 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, -24, -16, 1, 0 playsewithpan SE_W004, +63 - delay 0x5 - createsprite gUnknown_08597358, 0x3, 8, 4, 1, 0 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 8, 4, 1, 0 playsewithpan SE_W004, +63 - delay 0x5 - createsprite gUnknown_08597358, 0x3, -16, 19, 1, 0 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, -16, 19, 1, 0 playsewithpan SE_W004, +63 - delay 0x5 - createsprite gUnknown_08597358, 0x3, 18, -18, 1, 0 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 18, -18, 1, 0 playsewithpan SE_W004, +63 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 2, 3, 9, 0, 31 - goto AnimScript_82CB45F - -AnimScript_82CB56A: + createvisualtask sub_8116620, 10, 2, 3, 9, 0, 31 + goto Frustration_Continue +Frustration_Strong: playsewithpan SE_W082, -64 - createvisualtask sub_80D52D0, 0x5, 0, 1, 0, 15, 1 - createvisualtask sub_8116620, 0xA, 2, 3, 0, 9, 31 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER, 1, 0, 15, 1 + createvisualtask sub_8116620, 10, 2, 3, 0, 9, 31 waitforvisualfinish - delay 0x14 + delay 20 playsewithpan SE_W207B, -64 - createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + createsprite gUnknown_0859368C, 2, 0, 20, -28 waitforvisualfinish - delay 0x5 - createvisualtask sub_815C3A8, 0x5 - delay 0x7 + delay 5 + createvisualtask sub_815C3A8, 5 + delay 7 playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x3, 0, 8, 1, 1 - createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 6, 1 - delay 0xE + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 8, 1, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1 + delay 14 playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x3, 12, -6, 1, 1 - createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 6, 1 - delay 0xE + createsprite gBasicHitSplatSpriteTemplate, 3, 12, -6, 1, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1 + delay 14 playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x3, -12, -6, 1, 1 - createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, -12, -6, 1, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 2, 3, 9, 0, 31 - goto AnimScript_82CB45F - -AnimScript_82CB637: + createvisualtask sub_8116620, 10, 2, 3, 9, 0, 31 + goto Frustration_Continue +Frustration_Medium: playsewithpan SE_W207B, -64 - createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + createsprite gUnknown_0859368C, 2, 0, 20, -28 waitforvisualfinish - delay 0x5 - createsprite gUnknown_0857FE28, 0x2, 4, 4 - delay 0x6 + delay 5 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x2, 10, 4, 1, 1 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 4, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish - createsprite gUnknown_0857FE28, 0x2, 4, 4 - delay 0x6 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x2, -10, -4, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 6, 1 - goto AnimScript_82CB45F - -AnimScript_82CB6B3: - createsprite gUnknown_085CE4D0, 0x2, 20, -28 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -4, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 + goto Frustration_Continue +Frustration_Weak: + createsprite gUnknown_085CE4D0, 2, 20, -28 waitforvisualfinish - delay 0xA - createsprite gUnknown_0857FE28, 0x2, 10, 2 - delay 0xC + delay 10 + createsprite gHorizontalLungeSpriteTemplate, 2, 10, 2 + delay 12 playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 6, 1 - goto AnimScript_82CB45F + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 + goto Frustration_Continue Move_SAFEGUARD: - loadspritegfx 0x2804 + loadspritegfx ANIM_TAG_244 monbg ANIM_ATK_PARTNER - setalpha 0x808 + setalpha 8, 8 playsewithpan SE_W208, -64 - createsprite gUnknown_08593C64, 0x2 - delay 0x4 - createsprite gUnknown_08593C64, 0x2 - delay 0x4 - createsprite gUnknown_08593C64, 0x2 + createsprite gUnknown_08593C64, 2 + delay 4 + createsprite gUnknown_08593C64, 2 + delay 4 + createsprite gUnknown_08593C64, 2 waitforvisualfinish playsewithpan SE_REAPOKE, -64 - createvisualtask sub_8115A04, 0x2, 10, 0, 2, 0, 10, 0x7FFF + createvisualtask sub_8115A04, 2, 10, 0, 2, 0, 10, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff end Move_PAIN_SPLIT: - loadspritegfx 0x27FF - createsprite gUnknown_085CE590, 0x2, -8, -42, 0 - createsprite gUnknown_085CE590, 0x82, -8, -42, 1 - delay 0xA + loadspritegfx ANIM_TAG_239 + createsprite gUnknown_085CE590, 2, -8, -42, 0 + createsprite gUnknown_085CE590, 130, -8, -42, 1 + delay 10 playsewithpan SE_W207B, 0 - createvisualtask sub_815CA20, 0x2, 0, 0 - createvisualtask sub_815CA20, 0x2, 1, 0 + createvisualtask sub_815CA20, 2, 0, 0 + createvisualtask sub_815CA20, 2, 1, 0 waitforvisualfinish - createsprite gUnknown_085CE590, 0x2, -24, -42, 0 - createsprite gUnknown_085CE590, 0x82, -24, -42, 1 - delay 0xA + createsprite gUnknown_085CE590, 2, -24, -42, 0 + createsprite gUnknown_085CE590, 130, -24, -42, 1 + delay 10 playsewithpan SE_W207B, 0 - createvisualtask sub_815CA20, 0x2, 0, 1 - createvisualtask sub_815CA20, 0x2, 1, 1 + createvisualtask sub_815CA20, 2, 0, 1 + createvisualtask sub_815CA20, 2, 1, 1 waitforvisualfinish - createsprite gUnknown_085CE590, 0x2, 8, -42, 0 - createsprite gUnknown_085CE590, 0x82, 8, -42, 1 - delay 0xA + createsprite gUnknown_085CE590, 2, 8, -42, 0 + createsprite gUnknown_085CE590, 130, 8, -42, 1 + delay 10 playsewithpan SE_W207B, 0 - createvisualtask sub_815CA20, 0x2, 0, 2 - createvisualtask sub_815CA20, 0x2, 1, 2 + createvisualtask sub_815CA20, 2, 0, 2 + createvisualtask sub_815CA20, 2, 1, 2 end Move_VICE_GRIP: - loadspritegfx 0x279A - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_138 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W011, +63 - createsprite gUnknown_08593590, 0x2, 0 - createsprite gUnknown_08593590, 0x2, 1 - delay 0x9 - createsprite gUnknown_08597358, 0x1, 0, 0, 1, 2 - createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 5, 1 + createsprite gUnknown_08593590, 2, 0 + createsprite gUnknown_08593590, 2, 1 + delay 9 + createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 5, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_GUILLOTINE: - loadspritegfx 0x279A - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_138 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 fadetobgfromset BG_GUILLOTINE_OPPONENT, BG_GUILLOTINE_PLAYER, BG_GUILLOTINE_CONTESTS waitbgfadein playsewithpan SE_W011, +63 - createsprite gUnknown_085935D0, 0x2, 0 - createsprite gUnknown_085935D0, 0x2, 1 - createvisualtask sub_8116620, 0xA, 4, 2, 0, 16, 0 - delay 0x9 - createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 23, 1 + createsprite gUnknown_085935D0, 2, 0 + createsprite gUnknown_085935D0, 2, 1 + createvisualtask sub_8116620, 10, 4, 2, 0, 16, RGB_BLACK + delay 9 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 23, 1 delay 0x2E - createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 8, 1 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 0 - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 8, 0, 0 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 8, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0 playsewithpan SE_W013, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -1913,190 +1879,188 @@ Move_GUILLOTINE: end Move_PAY_DAY: - loadspritegfx 0x2774 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_100 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W013B, -64 - createsprite gUnknown_085934D8, 0x2, 20, 0, 0, 0, 1152 + createsprite gUnknown_085934D8, 2, 20, 0, 0, 0, 1152 waitforvisualfinish playsewithpan SE_W006, +63 - createsprite gUnknown_08597358, 0x1, 0, 0, 1, 2 - createsprite gUnknown_085934F0, 0x2 - createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2 + createsprite gUnknown_085934F0, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_OUTRAGE: - loadspritegfx 0x272D - loopsewithpan SE_W082, -64, 0x8, 0x3 - createvisualtask sub_8115A04, 0x2, 7, 2, 5, 3, 8, 430 - createvisualtask sub_80D5830, 0x2, 0, 12, 6, 5, 4 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, 0, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, 0, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 0, 1280, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 0, -1280, 3 - delay 0x0 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 40, 1 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, 768, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, 768, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, -768, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, -768, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, 0, 3 - call AnimScript_82CBA0F - call AnimScript_82CBA0F + loadspritegfx ANIM_TAG_SMALL_EMBER + loopsewithpan SE_W082, -64, 8, 3 + createvisualtask sub_8115A04, 2, 7, 2, 5, 3, 8, RGB(14, 13, 0) + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 5, 4 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, 0, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, 0, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 0, 1280, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 0, -1280, 3 + delay 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 40, 1 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, 768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, 768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, -768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, -768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, 0, 3 + call Outrage1 + call Outrage1 waitforvisualfinish end - -AnimScript_82CBA0F: - delay 0x3 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, 0, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 0, 1280, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 0, -1280, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, 768, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, 768, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, -768, 3 - delay 0x0 - createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, -768, 3 +Outrage1: + delay 3 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, 0, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 0, 1280, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 0, -1280, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, 768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, 768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, -768, 3 + delay 0 + createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, -768, 3 return Move_SPARK: - loadspritegfx 0x2797 - loadspritegfx 0x271B - delay 0x0 - createvisualtask sub_8115A04, 0x2, 3, -31, 1, 5, 5, 23551 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_SPARK_2 + delay 0 + createvisualtask sub_8115A04, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22) playsewithpan SE_W085B, -64 - createsprite gUnknown_0859574C, 0x0, 32, 24, 190, 12, 0, 1, 0 - delay 0x0 - createsprite gUnknown_0859574C, 0x0, 80, 24, 22, 12, 0, 1, 0 - createsprite gUnknown_0859574C, 0x0, 156, 24, 121, 13, 0, 1, 1 - delay 0x0 - createvisualtask sub_8115A04, 0x2, 3, -31, 1, 0, 0, 23551 - delay 0xA - createvisualtask sub_8115A04, 0x2, 3, -31, 1, 5, 5, 23551 + createsprite gBattleAnimSpriteTemplate_859574C, 0, 32, 24, 190, 12, 0, 1, 0 + delay 0 + createsprite gBattleAnimSpriteTemplate_859574C, 0, 80, 24, 22, 12, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_859574C, 0, 156, 24, 121, 13, 0, 1, 1 + delay 0 + createvisualtask sub_8115A04, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) + delay 10 + createvisualtask sub_8115A04, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22) playsewithpan SE_W085B, -64 - createsprite gUnknown_0859574C, 0x0, 100, 24, 60, 10, 0, 1, 0 - createsprite gUnknown_0859574C, 0x0, 170, 24, 42, 11, 0, 1, 1 - delay 0x0 - createsprite gUnknown_0859574C, 0x0, 238, 24, 165, 10, 0, 1, 1 - delay 0x0 - createvisualtask sub_8115A04, 0x2, 3, -31, 1, 0, 0, 23551 - delay 0x14 - createvisualtask sub_8115A04, 0x2, 3, -31, 1, 7, 7, 23551 + createsprite gBattleAnimSpriteTemplate_859574C, 0, 100, 24, 60, 10, 0, 1, 0 + createsprite gBattleAnimSpriteTemplate_859574C, 0, 170, 24, 42, 11, 0, 1, 1 + delay 0 + createsprite gBattleAnimSpriteTemplate_859574C, 0, 238, 24, 165, 10, 0, 1, 1 + delay 0 + createvisualtask sub_8115A04, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) + delay 20 + createvisualtask sub_8115A04, 2, 3, -31, 1, 7, 7, RGB(31, 31, 22) playsewithpan SE_W085B, -64 - createsprite gUnknown_085957F8, 0x4, 0, 0, 32, 12, 0, 20, 0, 0 - createsprite gUnknown_085957F8, 0x4, 0, 0, 32, 12, 64, 20, 1, 0 - createsprite gUnknown_085957F8, 0x4, 0, 0, 32, 12, 128, 20, 0, 0 - createsprite gUnknown_085957F8, 0x4, 0, 0, 32, 12, 192, 20, 2, 0 - createsprite gUnknown_085957F8, 0x4, 0, 0, 16, 12, 32, 20, 0, 0 - createsprite gUnknown_085957F8, 0x4, 0, 0, 16, 12, 96, 20, 1, 0 - createsprite gUnknown_085957F8, 0x4, 0, 0, 16, 12, 160, 20, 0, 0 - createsprite gUnknown_085957F8, 0x4, 0, 0, 16, 12, 224, 20, 2, 0 - delay 0x4 + createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 32, 12, 0, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 32, 12, 64, 20, 1, 0 + createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 32, 12, 128, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 32, 12, 192, 20, 2, 0 + createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 16, 12, 32, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 16, 12, 96, 20, 1, 0 + createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 16, 12, 160, 20, 0, 0 + createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 16, 12, 224, 20, 2, 0 + delay 4 waitforvisualfinish - createvisualtask sub_8115A04, 0x2, 3, -31, 1, 0, 0, 23551 - createsprite gUnknown_0857FE28, 0x2, 4, 4 - delay 0x4 + createvisualtask sub_8115A04, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 4 playsewithpan SE_W063, +63 - createsprite gUnknown_08597358, 0x82, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish - createvisualtask sub_8115A04, 0x2, 4, -31, 2, 0, 6, 23551 - call AnimScript_82D7BEA + createvisualtask sub_8115A04, 2, 4, -31, 2, 0, 6, RGB(31, 31, 22) + call ElectricityEffect waitforvisualfinish end Move_ATTRACT: - loadspritegfx 0x27E8 - loopsewithpan SE_W204, -64, 0xC, 0x3 - createvisualtask sub_80D5EB8, 0x5, 0, 12, 4096, 4, 0 - delay 0xF - createsprite gUnknown_085939A0, 0x83, 20, -8 + loadspritegfx ANIM_TAG_216 + loopsewithpan SE_W204, -64, 12, 3 + createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER + delay 15 + createsprite gUnknown_085939A0, 131, 20, -8 waitforvisualfinish playsewithpan SE_W213, +63 - createsprite gUnknown_085939B8, 0x83, 160, -32 - createsprite gUnknown_085939B8, 0x83, -256, -40 - createsprite gUnknown_085939B8, 0x83, 128, -16 - createsprite gUnknown_085939B8, 0x83, 416, -38 - createsprite gUnknown_085939B8, 0x83, -128, -22 - createsprite gUnknown_085939B8, 0x83, -384, -31 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, 160, -32 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, -256, -40 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, 128, -16 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, 416, -38 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, -128, -22 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, -384, -31 waitforvisualfinish - waitplaysewithpan SE_W213B, 0, 0xF - createvisualtask sub_81062E8, 0x5 - createsprite gUnknown_085939D0, 0x28, 16, 256, 0 - createsprite gUnknown_085939D0, 0x28, 224, 240, 15 - createsprite gUnknown_085939D0, 0x28, 126, 272, 30 - createsprite gUnknown_085939D0, 0x28, 80, 224, 45 - createsprite gUnknown_085939D0, 0x28, 170, 272, 60 - createsprite gUnknown_085939D0, 0x28, 40, 256, 75 - createsprite gUnknown_085939D0, 0x28, 112, 256, 90 - createsprite gUnknown_085939D0, 0x28, 200, 272, 90 + waitplaysewithpan SE_W213B, 0, 15 + createvisualtask sub_81062E8, 5 + createsprite gUnknown_085939D0, 40, 16, 256, 0 + createsprite gUnknown_085939D0, 40, 224, 240, 15 + createsprite gUnknown_085939D0, 40, 126, 272, 30 + createsprite gUnknown_085939D0, 40, 80, 224, 45 + createsprite gUnknown_085939D0, 40, 170, 272, 60 + createsprite gUnknown_085939D0, 40, 40, 256, 75 + createsprite gUnknown_085939D0, 40, 112, 256, 90 + createsprite gUnknown_085939D0, 40, 200, 272, 90 delay 0x4B - createvisualtask sub_8115A04, 0x2, 4, 4, 4, 0, 10, 28479 + createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27) end Move_GROWTH: - call AnimScript_82CBDC0 + call Growth1 waitforvisualfinish - call AnimScript_82CBDC0 + call Growth1 waitforvisualfinish end - -AnimScript_82CBDC0: - createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 8, 0x7FFF +Growth1: + createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB_WHITE playsewithpan SE_W036, -64 - createvisualtask sub_80D6064, 0x5, -3, -3, 16, 0, 0 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -3, -3, 16, ANIM_ATTACKER, 0 return Move_WHIRLWIND: - loadspritegfx 0x27B2 - createsprite gUnknown_085963D4, 0x2, 0, -8, 1, 60, 0 - createsprite gUnknown_085963D4, 0x2, 0, 0, 1, 60, 1 - createsprite gUnknown_085963D4, 0x2, 0, 8, 1, 60, 2 - createsprite gUnknown_085963D4, 0x2, 0, 16, 1, 60, 3 - createsprite gUnknown_085963D4, 0x2, 0, 24, 1, 60, 4 - createsprite gUnknown_085963D4, 0x2, 0, 32, 1, 60, 0 - delay 0x5 - loopsewithpan SE_W104, +63, 0xA, 0x4 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 15, 1 + loadspritegfx ANIM_TAG_162 + createsprite gUnknown_085963D4, 2, 0, -8, 1, 60, 0 + createsprite gUnknown_085963D4, 2, 0, 0, 1, 60, 1 + createsprite gUnknown_085963D4, 2, 0, 8, 1, 60, 2 + createsprite gUnknown_085963D4, 2, 0, 16, 1, 60, 3 + createsprite gUnknown_085963D4, 2, 0, 24, 1, 60, 4 + createsprite gUnknown_085963D4, 2, 0, 32, 1, 60, 0 + delay 5 + loopsewithpan SE_W104, +63, 10, 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 15, 1 delay 0x1D - createvisualtask sub_80D5830, 0x2, 1, 12, 6, 1, 5 - delay 0x7 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_TARGET, 12, 6, 1, 5 + delay 7 playsewithpan SE_W081, +63 - createvisualtask sub_80D5DB0, 0x5, 1, 8 + createvisualtask sub_80D5DB0, 5, 1, 8 waitforvisualfinish end Move_CONFUSE_RAY: - loadspritegfx 0x271D + loadspritegfx ANIM_TAG_YELLOW_BALL monbg ANIM_DEF_PARTNER fadetobg BG_GHOST waitbgfadein - createvisualtask sub_8159278, 0x2, -64, 63, 2, 0 - createvisualtask sub_8115C80, 0x2, 10013, 0, 6, 0, 14, 351 - createsprite gUnknown_08596D14, 0x82, 28, 0, 288 + createvisualtask sub_8159278, 2, -64, 63, 2, 0 + createvisualtask sub_8115C80, 2, 10013, 0, 6, 0, 14, 351 + createsprite gUnknown_08596D14, 130, 28, 0, 288 waitforvisualfinish - setalpha 0x808 + setalpha 8, 8 playsewithpan SE_W081B, +63 - createsprite gUnknown_08596D2C, 0x82, 0, -16 + createsprite gUnknown_08596D2C, 130, 0, -16 waitforvisualfinish - delay 0x0 + delay 0 blendoff clearmonbg ANIM_DEF_PARTNER restorebg @@ -2104,118 +2068,118 @@ Move_CONFUSE_RAY: end Move_LOCK_ON: - loadspritegfx 0x271E - createsprite gUnknown_08592CA0, 0x28 - createsprite gUnknown_08592CB8, 0x28, 1 - createsprite gUnknown_08592CB8, 0x28, 2 - createsprite gUnknown_08592CB8, 0x28, 3 - createsprite gUnknown_08592CB8, 0x28, 4 - delay 0x78 - setarg 0x7, 0xFFFF + loadspritegfx ANIM_TAG_LOCK_ON + createsprite gUnknown_08592CA0, 40 + createsprite gUnknown_08592CB8, 40, 1 + createsprite gUnknown_08592CB8, 40, 2 + createsprite gUnknown_08592CB8, 40, 3 + createsprite gUnknown_08592CB8, 40, 4 + delay 120 + setarg 7, -1 waitforvisualfinish end Move_MEAN_LOOK: - loadspritegfx 0x27CB + loadspritegfx ANIM_TAG_EYE monbg ANIM_DEF_PARTNER playsewithpan SE_W060, -64 - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 16, RGB_BLACK - loopsewithpan SE_W109, +63, 0xF, 0x4 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 16, RGB_BLACK + loopsewithpan SE_W109, +63, 15, 4 waitplaysewithpan SE_W043, +63, 0x55 - createsprite gUnknown_085CE104, 0x2 - delay 0x78 - createsprite gUnknown_08597274, 0x2, 1, 2, 16, 0, RGB_BLACK - delay 0x1E + createsprite gUnknown_085CE104, 2 + delay 120 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 16, 0, RGB_BLACK + delay 30 clearmonbg ANIM_DEF_PARTNER waitforvisualfinish end Move_ROCK_THROW: - loadspritegfx 0x274A - createsprite gUnknown_085972D8, 0x82, 6, 1, 15, 1 - createsprite gUnknown_08596B04, 0x82, 0, 1, 0, 0 + loadspritegfx ANIM_TAG_058 + createsprite gBattleAnimSpriteTemplate_85972D8, 130, 6, 1, 15, 1 + createsprite gUnknown_08596B04, 130, 0, 1, 0, 0 playsewithpan SE_W088, +63 - delay 0x6 - createsprite gUnknown_08596B04, 0x82, 19, 1, 10, 0 + delay 6 + createsprite gUnknown_08596B04, 130, 19, 1, 10, 0 playsewithpan SE_W088, +63 - delay 0x6 - createsprite gUnknown_08596B04, 0x82, -23, 2, -10, 0 + delay 6 + createsprite gUnknown_08596B04, 130, -23, 2, -10, 0 playsewithpan SE_W088, +63 - createvisualtask sub_80D51AC, 0x2, 1, 0, 5, 20, 1 - delay 0x6 - createsprite gUnknown_08596B04, 0x82, -15, 1, -10, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 20, 1 + delay 6 + createsprite gUnknown_08596B04, 130, -15, 1, -10, 0 playsewithpan SE_W088, +63 - delay 0x6 - createsprite gUnknown_08596B04, 0x82, 23, 2, 10, 0 + delay 6 + createsprite gUnknown_08596B04, 130, 23, 2, 10, 0 playsewithpan SE_W088, +63 waitforvisualfinish end Move_ROCK_SLIDE: - loadspritegfx 0x274A + loadspritegfx ANIM_TAG_058 monbg ANIM_DEF_PARTNER - createsprite gUnknown_085972D8, 0x2, 7, 1, 11, 1 - createsprite gUnknown_08596B04, 0x82, -5, 1, -5, 1 + createsprite gBattleAnimSpriteTemplate_85972D8, 2, 7, 1, 11, 1 + createsprite gUnknown_08596B04, 130, -5, 1, -5, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, 5, 0, 6, 1 + delay 2 + createsprite gUnknown_08596B04, 130, 5, 0, 6, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, 19, 1, 10, 1 + delay 2 + createsprite gUnknown_08596B04, 130, 19, 1, 10, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, -23, 2, -10, 1 + delay 2 + createsprite gUnknown_08596B04, 130, -23, 2, -10, 1 playsewithpan SE_W088, +63 - createvisualtask sub_80D51AC, 0x2, 1, 0, 5, 50, 1 - createvisualtask sub_80D51AC, 0x2, 3, 0, 5, 50, 1 - delay 0x2 - call AnimScript_82CC083 - call AnimScript_82CC083 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 50, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 0, 5, 50, 1 + delay 2 + call RockSlide1 + call RockSlide1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end -AnimScript_82CC083: - createsprite gUnknown_08596B04, 0x82, -20, 0, -10, 1 +RockSlide1: + createsprite gUnknown_08596B04, 130, -20, 0, -10, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, 28, 1, 10, 1 + delay 2 + createsprite gUnknown_08596B04, 130, 28, 1, 10, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, -10, 1, -5, 1 + delay 2 + createsprite gUnknown_08596B04, 130, -10, 1, -5, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, 10, 0, 6, 1 + delay 2 + createsprite gUnknown_08596B04, 130, 10, 0, 6, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, 24, 1, 10, 1 + delay 2 + createsprite gUnknown_08596B04, 130, 24, 1, 10, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, -32, 2, -10, 1 + delay 2 + createsprite gUnknown_08596B04, 130, -32, 2, -10, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, -20, 0, -10, 1 + delay 2 + createsprite gUnknown_08596B04, 130, -20, 0, -10, 1 playsewithpan SE_W088, +63 - delay 0x2 - createsprite gUnknown_08596B04, 0x82, 30, 2, 10, 1 + delay 2 + createsprite gUnknown_08596B04, 130, 30, 2, 10, 1 playsewithpan SE_W088, +63 - delay 0x2 + delay 2 return Move_THIEF: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - delay 0x1 + delay 1 fadetobg BG_DARK waitbgfadein - setalpha 0x80C - createsprite gUnknown_0857FE28, 0x2, 6, 4 - delay 0x6 + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 6 playsewithpan SE_W233, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 8, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 8, 1 waitforvisualfinish - delay 0x14 + delay 20 clearmonbg ANIM_TARGET blendoff restorebg @@ -2223,196 +2187,194 @@ Move_THIEF: end Move_BUBBLE_BEAM: - loadspritegfx 0x27A2 - loadspritegfx 0x27AB + loadspritegfx ANIM_TAG_146 + loadspritegfx ANIM_TAG_155 monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x80C - delay 0x1 - call AnimScript_82CC1AD - createvisualtask sub_80D5EB8, 0x5, 0, 3, 3072, 8, 1 - call AnimScript_82CC1AD - call AnimScript_82CC1AD + setalpha 12, 8 + delay 1 + call Bulbblebeam1 + createvisualtask AnimTask_SwayMon, 5, 0, 3, 3072, 8, ANIM_TARGET + call Bulbblebeam1 + call Bulbblebeam1 waitforvisualfinish - call AnimScript_82D7AE2 + call WaterBubbleEffect waitforvisualfinish clearmonbg ANIM_TARGET blendoff end - -AnimScript_82CC1AD: - createsprite gUnknown_08595068, 0x2, 18, 0, 35, 70, 0, 256, 50 +Bulbblebeam1: + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 35, 70, 0, 256, 50 playsewithpan SE_W145, -64 - delay 0x3 - createsprite gUnknown_08595068, 0x2, 18, 0, 20, 40, -10, 256, 50 + delay 3 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 20, 40, -10, 256, 50 playsewithpan SE_W145, -64 - delay 0x3 - createsprite gUnknown_08595068, 0x2, 18, 0, 10, -60, 0, 256, 50 + delay 3 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 10, -60, 0, 256, 50 playsewithpan SE_W145, -64 - delay 0x3 - createsprite gUnknown_08595068, 0x2, 18, 0, 15, -15, 10, 256, 50 + delay 3 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 15, -15, 10, 256, 50 playsewithpan SE_W145, -64 - delay 0x3 - createsprite gUnknown_08595068, 0x2, 18, 0, 30, 10, -10, 256, 50 + delay 3 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 30, 10, -10, 256, 50 playsewithpan SE_W145, -64 - delay 0x3 - createsprite gUnknown_08595068, 0x2, 18, 0, 25, -30, 10, 256, 50 + delay 3 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 25, -30, 10, 256, 50 playsewithpan SE_W145, -64 - delay 0x3 + delay 3 return Move_ICY_WIND: - loadspritegfx 0x279D - loadspritegfx 0x279E + loadspritegfx ANIM_TAG_141 + loadspritegfx ANIM_TAG_142 monbg ANIM_DEF_PARTNER - createvisualtask sub_8116620, 0xA, 11, 4, 0, 4, 0 + createvisualtask sub_8116620, 10, 11, 4, 0, 4, RGB_BLACK fadetobg BG_ICE waitbgfadeout playsewithpan SE_W196, 0 waitbgfadein waitforvisualfinish - panse_1B SE_W016, -64, +63, +2, 0x0 - call AnimScript_82CC2A8 - delay 0x5 - call AnimScript_82CC2A8 + panse_1B SE_W016, -64, +63, +2, 0 + call IcyWind1 + delay 5 + call IcyWind1 playsewithpan SE_W016B, +63 delay 0x37 - call AnimScript_82D78F8 + call IcyWindEffect2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER restorebg waitbgfadeout - createvisualtask sub_8116620, 0xA, 11, 4, 4, 0, 0 + createvisualtask sub_8116620, 10, 11, 4, 4, 0, RGB_BLACK waitbgfadein end - -AnimScript_82CC2A8: +IcyWind1: createsprite gUnknown_08595B98, 0xA8, 0, 0, 0, 0, 72, 1 - delay 0x5 + delay 5 createsprite gUnknown_08595B98, 0xA8, 0, 10, 0, 10, 72, 1 - delay 0x5 + delay 5 createsprite gUnknown_08595B98, 0xA8, 0, -10, 0, -10, 72, 1 - delay 0x5 + delay 5 createsprite gUnknown_08595B98, 0xA8, 0, 15, 0, 15, 72, 1 - delay 0x5 + delay 5 createsprite gUnknown_08595B98, 0xA8, 0, -5, 0, -5, 72, 1 return Move_SMOKESCREEN: - loadspritegfx 0x2720 - loadspritegfx 0x2721 + loadspritegfx ANIM_TAG_BLACK_SMOKE + loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan SE_W104, -64 - createsprite gUnknown_085CE050, 0x82, 20, 0, 0, 0, 35, -25 + createsprite gUnknown_085CE050, 130, 20, 0, 0, 0, 35, -25 waitforvisualfinish - createvisualtask sub_815A160, 0x2 - delay 0x2 + createvisualtask sub_815A160, 2 + delay 2 playsewithpan SE_W028, +63 - createsprite gUnknown_085CE038, 0x84, 0, -12, 104, 0, 75 - createsprite gUnknown_085CE038, 0x84, 0, -12, 72, 1, 75 - createsprite gUnknown_085CE038, 0x84, 0, -6, 56, 1, 75 - createsprite gUnknown_085CE038, 0x84, 0, -6, 88, 0, 75 - createsprite gUnknown_085CE038, 0x84, 0, 0, 56, 0, 75 - createsprite gUnknown_085CE038, 0x84, 0, 0, 88, 1, 75 - createsprite gUnknown_085CE038, 0x84, 0, 6, 72, 0, 75 - createsprite gUnknown_085CE038, 0x84, 0, 6, 104, 1, 75 - createsprite gUnknown_085CE038, 0x84, 0, 12, 72, 0, 75 - createsprite gUnknown_085CE038, 0x84, 0, 12, 56, 1, 75 - createsprite gUnknown_085CE038, 0x84, 0, 18, 80, 0, 75 - createsprite gUnknown_085CE038, 0x84, 0, 18, 72, 1, 75 + createsprite gUnknown_085CE038, 132, 0, -12, 104, 0, 75 + createsprite gUnknown_085CE038, 132, 0, -12, 72, 1, 75 + createsprite gUnknown_085CE038, 132, 0, -6, 56, 1, 75 + createsprite gUnknown_085CE038, 132, 0, -6, 88, 0, 75 + createsprite gUnknown_085CE038, 132, 0, 0, 56, 0, 75 + createsprite gUnknown_085CE038, 132, 0, 0, 88, 1, 75 + createsprite gUnknown_085CE038, 132, 0, 6, 72, 0, 75 + createsprite gUnknown_085CE038, 132, 0, 6, 104, 1, 75 + createsprite gUnknown_085CE038, 132, 0, 12, 72, 0, 75 + createsprite gUnknown_085CE038, 132, 0, 12, 56, 1, 75 + createsprite gUnknown_085CE038, 132, 0, 18, 80, 0, 75 + createsprite gUnknown_085CE038, 132, 0, 18, 72, 1, 75 waitforvisualfinish end Move_CONVERSION: - loadspritegfx 0x2722 + loadspritegfx ANIM_TAG_CONVERSION monbg ANIM_ATK_PARTNER monbgprio_28 ANIM_ATTACKER - setalpha 0x10 - delay 0x0 + setalpha 16, 0 + delay 0 playsewithpan SE_W129, -64 - createsprite gUnknown_08592E74, 0x2, -24, -24 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, -8, -24 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, 8, -24 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, 24, -24 - delay 0x3 + createsprite gUnknown_08592E74, 2, -24, -24 + delay 3 + createsprite gUnknown_08592E74, 2, -8, -24 + delay 3 + createsprite gUnknown_08592E74, 2, 8, -24 + delay 3 + createsprite gUnknown_08592E74, 2, 24, -24 + delay 3 playsewithpan SE_W129, -64 - createsprite gUnknown_08592E74, 0x2, -24, -8 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, -8, -8 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, 8, -8 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, 24, -8 - delay 0x3 + createsprite gUnknown_08592E74, 2, -24, -8 + delay 3 + createsprite gUnknown_08592E74, 2, -8, -8 + delay 3 + createsprite gUnknown_08592E74, 2, 8, -8 + delay 3 + createsprite gUnknown_08592E74, 2, 24, -8 + delay 3 playsewithpan SE_W129, -64 - createsprite gUnknown_08592E74, 0x2, -24, 8 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, -8, 8 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, 8, 8 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, 24, 8 - delay 0x3 + createsprite gUnknown_08592E74, 2, -24, 8 + delay 3 + createsprite gUnknown_08592E74, 2, -8, 8 + delay 3 + createsprite gUnknown_08592E74, 2, 8, 8 + delay 3 + createsprite gUnknown_08592E74, 2, 24, 8 + delay 3 playsewithpan SE_W129, -64 - createsprite gUnknown_08592E74, 0x2, -24, 24 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, -8, 24 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, 8, 24 - delay 0x3 - createsprite gUnknown_08592E74, 0x2, 24, 24 - delay 0x14 + createsprite gUnknown_08592E74, 2, -24, 24 + delay 3 + createsprite gUnknown_08592E74, 2, -8, 24 + delay 3 + createsprite gUnknown_08592E74, 2, 8, 24 + delay 3 + createsprite gUnknown_08592E74, 2, 24, 24 + delay 20 playsewithpan SE_W112, -64 - createvisualtask sub_8115D94, 0x2, 10018, 1, 1, 14335, 12, 0, 0 - delay 0x6 - createvisualtask sub_81022D4, 0x5 + createvisualtask sub_8115D94, 2, ANIM_TAG_CONVERSION, 1, 1, 14335, 12, 0, 0 + delay 6 + createvisualtask sub_81022D4, 5 waitforvisualfinish - delay 0x1 + delay 1 clearmonbg ANIM_ATK_PARTNER blendoff end Move_CONVERSION_2: - loadspritegfx 0x2722 + loadspritegfx ANIM_TAG_CONVERSION monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET - setalpha 0x1000 - delay 0x0 + setalpha 0, 16 + delay 0 playsewithpan SE_W112, +63 - createsprite gUnknown_08592EA4, 0x2, -24, -24, 60 - createsprite gUnknown_08592EA4, 0x2, -8, -24, 65 - createsprite gUnknown_08592EA4, 0x2, 8, -24, 70 - createsprite gUnknown_08592EA4, 0x2, 24, -24, 75 - createsprite gUnknown_08592EA4, 0x2, -24, -8, 80 - createsprite gUnknown_08592EA4, 0x2, -8, -8, 85 - createsprite gUnknown_08592EA4, 0x2, 8, -8, 90 - createsprite gUnknown_08592EA4, 0x2, 24, -8, 95 - createsprite gUnknown_08592EA4, 0x2, -24, 8, 100 - createsprite gUnknown_08592EA4, 0x2, -8, 8, 105 - createsprite gUnknown_08592EA4, 0x2, 8, 8, 110 - createsprite gUnknown_08592EA4, 0x2, 24, 8, 115 - createsprite gUnknown_08592EA4, 0x2, -24, 24, 120 - createsprite gUnknown_08592EA4, 0x2, -8, 24, 125 - createsprite gUnknown_08592EA4, 0x2, 8, 24, 130 - createsprite gUnknown_08592EA4, 0x2, 24, 24, 135 - createvisualtask sub_81023E0, 0x5 - delay 0x3C + createsprite gUnknown_08592EA4, 2, -24, -24, 60 + createsprite gUnknown_08592EA4, 2, -8, -24, 65 + createsprite gUnknown_08592EA4, 2, 8, -24, 70 + createsprite gUnknown_08592EA4, 2, 24, -24, 75 + createsprite gUnknown_08592EA4, 2, -24, -8, 80 + createsprite gUnknown_08592EA4, 2, -8, -8, 85 + createsprite gUnknown_08592EA4, 2, 8, -8, 90 + createsprite gUnknown_08592EA4, 2, 24, -8, 95 + createsprite gUnknown_08592EA4, 2, -24, 8, 100 + createsprite gUnknown_08592EA4, 2, -8, 8, 105 + createsprite gUnknown_08592EA4, 2, 8, 8, 110 + createsprite gUnknown_08592EA4, 2, 24, 8, 115 + createsprite gUnknown_08592EA4, 2, -24, 24, 120 + createsprite gUnknown_08592EA4, 2, -8, 24, 125 + createsprite gUnknown_08592EA4, 2, 8, 24, 130 + createsprite gUnknown_08592EA4, 2, 24, 24, 135 + createvisualtask sub_81023E0, 5 + delay 60 playsewithpan SE_W129, +63 - delay 0xA + delay 10 playsewithpan SE_W129, +63 - delay 0xA + delay 10 playsewithpan SE_W129, +63 - delay 0xA + delay 10 playsewithpan SE_W129, +63 - delay 0xA + delay 10 playsewithpan SE_W129, +63 - delay 0xA + delay 10 playsewithpan SE_W129, +63 - delay 0xA + delay 10 playsewithpan SE_W129, +63 - delay 0xA + delay 10 playsewithpan SE_W129, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -2420,367 +2382,361 @@ Move_CONVERSION_2: end Move_ROLLING_KICK: - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80D5830, 0x2, 0, 18, 6, 1, 4 + setalpha 12, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 1, 4 playsewithpan SE_W104, -64 - delay 0x6 + delay 6 playsewithpan SE_W104, -64 waitforvisualfinish - createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 - createsprite gUnknown_08595EE0, 0x2, -24, 0, 48, 10, 160, 0 - delay 0x5 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + createsprite gUnknown_08595EE0, 2, -24, 0, 48, 10, 160, 0 + delay 5 playsewithpan SE_W233B, +63 - createsprite gUnknown_08597358, 0x2, -8, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 waitforvisualfinish - createsprite gUnknown_0857FE58, 0x2, 0, 1, 8 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 1, 8 clearmonbg ANIM_TARGET blendoff end Move_HEADBUTT: - loadspritegfx 0x2797 - createsprite gUnknown_08592CD8, 0x2, 0 + loadspritegfx ANIM_TAG_135 + createsprite gUnknown_08592CD8, 2, 0 playsewithpan SE_W029, -64 waitforvisualfinish - delay 0x2 - createsprite gUnknown_08592CD8, 0x2, 1 + delay 2 + createsprite gUnknown_08592CD8, 2, 1 waitforvisualfinish - createvisualtask sub_80D5484, 0x2, 0, 2, 0, 4, 1 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 - createsprite gUnknown_08592CD8, 0x2, 2 - createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 + createsprite gUnknown_08592CD8, 2, 2 + createsprite gUnknown_085973E8, 131, 0, 0, 1, 1 playsewithpan SE_W233B, +63 waitforvisualfinish end Move_HORN_ATTACK: - loadspritegfx 0x2797 - loadspritegfx 0x2724 - createsprite gUnknown_08592CD8, 0x2, 0 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_HORN_HIT + createsprite gUnknown_08592CD8, 2, 0 playsewithpan SE_W029, -64 waitforvisualfinish - delay 0x2 - createsprite gUnknown_08592CD8, 0x2, 1 - createsprite gUnknown_08592F44, 0x84, 0, 0, 10 + delay 2 + createsprite gUnknown_08592CD8, 2, 1 + createsprite gUnknown_08592F44, 132, 0, 0, 10 waitforvisualfinish - createvisualtask sub_80D5484, 0x2, 0, 2, 0, 4, 1 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 - createsprite gUnknown_08592CD8, 0x2, 2 - createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 + createsprite gUnknown_08592CD8, 2, 2 + createsprite gUnknown_085973E8, 131, 0, 0, 1, 1 playsewithpan SE_W030, +63 waitforvisualfinish end Move_FURY_ATTACK: - loadspritegfx 0x2797 - loadspritegfx 0x2724 - createvisualtask sub_80D6134, 0x2, 4, 256, 0, 2 - choosetwoturnanim AnimScript_82CC7B8, AnimScript_82CC7DE - -AnimScript_82CC7A5: - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_HORN_HIT + createvisualtask sub_80D6134, 2, 4, 256, 0, 2 + choosetwoturnanim FuryAttackRight, FuryAttackLeft +FuryAttackContinue: + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 waitforvisualfinish end -AnimScript_82CC7B8: - createsprite gUnknown_08592F44, 0x84, 8, 8, 10 +FuryAttackRight: + createsprite gUnknown_08592F44, 132, 8, 8, 10 waitforvisualfinish - createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 1 + createsprite gUnknown_085973E8, 131, 0, 0, 1, 1 playsewithpan SE_W030, +63 - goto AnimScript_82CC7A5 + goto FuryAttackContinue -AnimScript_82CC7DE: - createsprite gUnknown_08592F44, 0x84, -8, -8, 10 +FuryAttackLeft: + createsprite gUnknown_08592F44, 132, -8, -8, 10 waitforvisualfinish - createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 1 + createsprite gUnknown_085973E8, 131, 0, 0, 1, 1 playsewithpan SE_W030, +63 - goto AnimScript_82CC7A5 + goto FuryAttackContinue Move_HORN_DRILL: - loadspritegfx 0x2797 - loadspritegfx 0x2724 - jumpifcontest AnimScript_82CC96A + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_HORN_HIT + jumpifcontest HornDrillInContest fadetobg BG_DRILL waitbgfadeout - createvisualtask sub_8117660, 0x5, -2304, 768, 1, -1 - -AnimScript_82CC821: + createvisualtask sub_8117660, 5, -2304, 768, 1, -1 +HornDrillContinue: waitbgfadein - setalpha 0x80C - createsprite gUnknown_08592CD8, 0x2, 0 + setalpha 12, 8 + createsprite gUnknown_08592CD8, 2, 0 playsewithpan SE_W029, -64 waitforvisualfinish - delay 0x2 - createsprite gUnknown_08592CD8, 0x2, 1 - createsprite gUnknown_08592F44, 0x84, 0, 0, 12 + delay 2 + createsprite gUnknown_08592CD8, 2, 1 + createsprite gUnknown_08592F44, 132, 0, 0, 12 waitforvisualfinish playse SE_BAN - createvisualtask sub_80D5484, 0x2, 0, 2, 0, 40, 1 - createvisualtask sub_80D5484, 0x2, 1, 10, 0, 40, 1 - createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 3 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 40, 1 + createsprite gUnknown_085973E8, 131, 0, 0, 1, 3 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, 0, 2, 1, 3 + delay 4 + createsprite gUnknown_085973E8, 131, 0, 2, 1, 3 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, -4, 3, 1, 3 + delay 4 + createsprite gUnknown_085973E8, 131, -4, 3, 1, 3 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, -8, -5, 1, 3 + delay 4 + createsprite gUnknown_085973E8, 131, -8, -5, 1, 3 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, 4, -12, 1, 3 + delay 4 + createsprite gUnknown_085973E8, 131, 4, -12, 1, 3 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, 16, 0, 1, 3 + delay 4 + createsprite gUnknown_085973E8, 131, 16, 0, 1, 3 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, 5, 18, 1, 3 + delay 4 + createsprite gUnknown_085973E8, 131, 5, 18, 1, 3 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, -17, 12, 1, 2 + delay 4 + createsprite gUnknown_085973E8, 131, -17, 12, 1, 2 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, -21, -15, 1, 2 + delay 4 + createsprite gUnknown_085973E8, 131, -21, -15, 1, 2 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, 8, -27, 1, 2 + delay 4 + createsprite gUnknown_085973E8, 131, 8, -27, 1, 2 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_085973E8, 0x83, 32, 0, 1, 2 + delay 4 + createsprite gUnknown_085973E8, 131, 32, 0, 1, 2 playsewithpan SE_W030, +63 - delay 0x4 - createsprite gUnknown_08592CD8, 0x2, 2 + delay 4 + createsprite gUnknown_08592CD8, 2, 2 waitforvisualfinish restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein end -AnimScript_82CC96A: +HornDrillInContest: fadetobg BG_DRILL_CONTESTS waitbgfadeout - createvisualtask sub_8117660, 0x5, 2304, 768, 0, -1 - goto AnimScript_82CC821 + createvisualtask sub_8117660, 5, 2304, 768, 0, -1 + goto HornDrillContinue Move_THRASH: - loadspritegfx 0x2797 - loadspritegfx 0x279F - createvisualtask sub_8104C38, 0x2 - createvisualtask sub_8104CA4, 0x2 - createsprite gUnknown_08595EB0, 0x83, 1, 10, 0 - createvisualtask sub_80D5484, 0x2, 1, 4, 0, 7, 1 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 + createvisualtask sub_8104C38, 2 + createvisualtask sub_8104CA4, 2 + createsprite gUnknown_08595EB0, 131, 1, 10, 0 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 7, 1 playsewithpan SE_W004, +63 - delay 0x1C - createsprite gUnknown_08595EB0, 0x83, 1, 10, 1 - createvisualtask sub_80D5484, 0x2, 1, 4, 0, 7, 1 + delay 28 + createsprite gUnknown_08595EB0, 131, 1, 10, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 7, 1 playsewithpan SE_W233B, +63 - delay 0x1C - createsprite gUnknown_08595EB0, 0x83, 1, 10, 3 - createvisualtask sub_80D5484, 0x2, 1, 8, 0, 16, 1 + delay 28 + createsprite gUnknown_08595EB0, 131, 1, 10, 3 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 8, 0, 16, 1 playsewithpan SE_W025B, +63 end Move_SING: - loadspritegfx 0x2758 + loadspritegfx ANIM_TAG_MUSIC_NOTES2 monbg ANIM_DEF_PARTNER - createvisualtask sub_8102BE8, 0x2 + createvisualtask sub_8102BE8, 2 waitforvisualfinish - panse_1B SE_W047, -64, +63, +2, 0x0 - createsprite gUnknown_08593008, 0x82, 7, 0, 12 - delay 0x5 - createsprite gUnknown_08593008, 0x82, 6, 1, 12 - delay 0x5 - createsprite gUnknown_08593008, 0x82, 1, 2, 12 - delay 0x5 - createsprite gUnknown_08593008, 0x82, 2, 3, 12 - delay 0x5 - createsprite gUnknown_08593008, 0x82, 3, 0, 12 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 2, 1, 12 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 5, 2, 12 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 6, 3, 12 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 2, 0, 12 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 2, 1, 12 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 1, 2, 12 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 5, 3, 12 - delay 0x4 + panse_1B SE_W047, -64, +63, +2, 0 + createsprite gUnknown_08593008, 130, 7, 0, 12 + delay 5 + createsprite gUnknown_08593008, 130, 6, 1, 12 + delay 5 + createsprite gUnknown_08593008, 130, 1, 2, 12 + delay 5 + createsprite gUnknown_08593008, 130, 2, 3, 12 + delay 5 + createsprite gUnknown_08593008, 130, 3, 0, 12 + delay 4 + createsprite gUnknown_08593008, 130, 2, 1, 12 + delay 4 + createsprite gUnknown_08593008, 130, 5, 2, 12 + delay 4 + createsprite gUnknown_08593008, 130, 6, 3, 12 + delay 4 + createsprite gUnknown_08593008, 130, 2, 0, 12 + delay 4 + createsprite gUnknown_08593008, 130, 2, 1, 12 + delay 4 + createsprite gUnknown_08593008, 130, 1, 2, 12 + delay 4 + createsprite gUnknown_08593008, 130, 5, 3, 12 + delay 4 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER - createvisualtask sub_8102CA0, 0x2 + createvisualtask sub_8102CA0, 2 waitforvisualfinish end Move_LOW_KICK: - loadspritegfx 0x279F - loadspritegfx 0x2797 - createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 - createsprite gUnknown_08595EE0, 0x82, -24, 28, 40, 8, 160, 0 - delay 0x4 - createsprite gUnknown_08597358, 0x82, -8, 8, 1, 2 - createvisualtask sub_80D6134, 0x2, 6, 384, 1, 2 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + createsprite gUnknown_08595EE0, 130, -24, 28, 40, 8, 160, 0 + delay 4 + createsprite gBasicHitSplatSpriteTemplate, 130, -8, 8, 1, 2 + createvisualtask sub_80D6134, 2, 6, 384, 1, 2 playsewithpan SE_W233B, +63 waitforvisualfinish - createsprite gUnknown_0857FE58, 0x2, 0, 1, 4 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 1, 4 end Move_EARTHQUAKE: - createvisualtask sub_81152DC, 0x5, 5, 10, 50 - createvisualtask sub_81152DC, 0x5, 4, 10, 50 + createvisualtask sub_81152DC, 5, 5, 10, 50 + createvisualtask sub_81152DC, 5, 4, 10, 50 playsewithpan SE_W089, 0 - delay 0xA - createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 - delay 0x10 - createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 + delay 10 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 + delay 16 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 end Move_FISSURE: - loadspritegfx 0x275A - createvisualtask sub_81152DC, 0x3, 5, 10, 50 - createvisualtask sub_81152DC, 0x3, 1, 10, 50 + loadspritegfx ANIM_TAG_074 + createvisualtask sub_81152DC, 3, 5, 10, 50 + createvisualtask sub_81152DC, 3, 1, 10, 50 playsewithpan SE_W089, +63 - delay 0x8 - call AnimScript_82CCBFF - delay 0xF - createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 - delay 0xF - call AnimScript_82CCC50 - delay 0xF - createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 - delay 0xF - call AnimScript_82CCBFF - delay 0x32 + delay 8 + call Fissure1 + delay 15 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 + delay 15 + call Fissure2 + delay 15 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 + delay 15 + call Fissure1 + delay 50 fadetobg BG_FISSURE waitbgfadeout - createvisualtask sub_8115628, 0x5, 1, 5, -1 + createvisualtask sub_8115628, 5, 1, 5, -1 waitbgfadein - delay 0x28 + delay 40 restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein end -AnimScript_82CCBFF: - createsprite gUnknown_085971FC, 0x82, 1, 0, 12, -48, -16, 24 - createsprite gUnknown_085971FC, 0x82, 1, 0, 16, -16, -10, 24 - createsprite gUnknown_085971FC, 0x82, 1, 1, 14, -52, -18, 24 - createsprite gUnknown_085971FC, 0x82, 1, 1, 12, -32, -16, 24 +Fissure1: + createsprite gUnknown_085971FC, 130, 1, 0, 12, -48, -16, 24 + createsprite gUnknown_085971FC, 130, 1, 0, 16, -16, -10, 24 + createsprite gUnknown_085971FC, 130, 1, 1, 14, -52, -18, 24 + createsprite gUnknown_085971FC, 130, 1, 1, 12, -32, -16, 24 playsewithpan SE_W091, +63 return -AnimScript_82CCC50: - createsprite gUnknown_085971FC, 0x82, 1, 0, 12, -24, -16, 24 - createsprite gUnknown_085971FC, 0x82, 1, 0, 16, -38, -10, 24 - createsprite gUnknown_085971FC, 0x82, 1, 1, 14, -20, -18, 24 - createsprite gUnknown_085971FC, 0x82, 1, 1, 12, -36, -16, 24 +Fissure2: + createsprite gUnknown_085971FC, 130, 1, 0, 12, -24, -16, 24 + createsprite gUnknown_085971FC, 130, 1, 0, 16, -38, -10, 24 + createsprite gUnknown_085971FC, 130, 1, 1, 14, -20, -18, 24 + createsprite gUnknown_085971FC, 130, 1, 1, 12, -36, -16, 24 playsewithpan SE_W091, +63 return Move_DIG: - choosetwoturnanim AnimScript_82CCCAB, AnimScript_82CCD06 - -AnimScript_82CCCAA: + choosetwoturnanim DigSetUp, DigUnleash +DigEnd: end - -AnimScript_82CCCAB: - loadspritegfx 0x275A - loadspritegfx 0x2829 - createsprite gUnknown_08597214, 0x1, 0, 0, 180 - createsprite gUnknown_08597214, 0x1, 0, 1, 180 +DigSetUp: + loadspritegfx ANIM_TAG_074 + loadspritegfx ANIM_TAG_281 + createsprite gUnknown_08597214, 1, 0, 0, 180 + createsprite gUnknown_08597214, 1, 0, 1, 180 monbg_22 ANIM_ATTACKER - delay 0x1 - createvisualtask sub_8114CBC, 0x2, 0 - delay 0x6 - call AnimScript_82CCD6A - call AnimScript_82CCD6A - call AnimScript_82CCD6A - call AnimScript_82CCD6A - call AnimScript_82CCD6A + delay 1 + createvisualtask sub_8114CBC, 2, 0 + delay 6 + call DigSetUp1 + call DigSetUp1 + call DigSetUp1 + call DigSetUp1 + call DigSetUp1 waitforvisualfinish clearmonbg_23 ANIM_ATTACKER - delay 0x1 - createvisualtask sub_8114CBC, 0x2, 1 - goto AnimScript_82CCCAA - -AnimScript_82CCD06: - loadspritegfx 0x2797 - loadspritegfx 0x2829 - createvisualtask sub_8114F14, 0x2, 0 + delay 1 + createvisualtask sub_8114CBC, 2, 1 + goto DigEnd +DigUnleash: + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_281 + createvisualtask sub_8114F14, 2, 0 waitforvisualfinish monbg ANIM_ATTACKER - createsprite gUnknown_08597214, 0x1, 0, 0, 48 - createsprite gUnknown_08597214, 0x1, 0, 1, 48 - delay 0x1 - createvisualtask sub_8114F14, 0x2, 1 - delay 0x10 - createsprite gUnknown_08597358, 0x2, -8, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + createsprite gUnknown_08597214, 1, 0, 0, 48 + createsprite gUnknown_08597214, 1, 0, 1, 48 + delay 1 + createvisualtask sub_8114F14, 2, 1 + delay 16 + createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 playsewithpan SE_W025B, -64 clearmonbg ANIM_ATTACKER - goto AnimScript_82CCCAA - -AnimScript_82CCD6A: - createsprite gUnknown_085971FC, 0x2, 0, 0, 12, 4, -16, 18 - createsprite gUnknown_085971FC, 0x2, 0, 0, 16, 4, -10, 18 - createsprite gUnknown_085971FC, 0x2, 0, 1, 14, 4, -18, 18 - createsprite gUnknown_085971FC, 0x2, 0, 1, 12, 4, -16, 18 + goto DigEnd +DigSetUp1: + createsprite gUnknown_085971FC, 2, 0, 0, 12, 4, -16, 18 + createsprite gUnknown_085971FC, 2, 0, 0, 16, 4, -10, 18 + createsprite gUnknown_085971FC, 2, 0, 1, 14, 4, -18, 18 + createsprite gUnknown_085971FC, 2, 0, 1, 12, 4, -16, 18 playsewithpan SE_W091, -64 - delay 0x20 + delay 32 return Move_MEDITATE: - call AnimScript_82D7CD1 - createvisualtask sub_810F7D4, 0x2 + call SetPsychicBackground + createvisualtask sub_810F7D4, 2 playsewithpan SE_W029, -64 - delay 0x10 + delay 16 playsewithpan SE_W036, -64 waitforvisualfinish - call AnimScript_82D7CDD + call UnsetPsychicBackground end Move_AGILITY: monbg ANIM_ATK_PARTNER - setalpha 0x80C - createvisualtask sub_80D5830, 0x2, 0, 24, 6, 4, 4 - createvisualtask sub_81169C0, 0x2, 0, 4, 7, 10 + setalpha 12, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 4, 4 + createvisualtask sub_81169C0, 2, 0, 4, 7, 10 playsewithpan SE_W104, -64 - delay 0xC + delay 12 playsewithpan SE_W104, -64 - delay 0xC + delay 12 playsewithpan SE_W104, -64 - delay 0xC + delay 12 playsewithpan SE_W104, -64 - delay 0xC + delay 12 playsewithpan SE_W104, -64 - delay 0xC + delay 12 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff - delay 0x1 + delay 1 end Move_QUICK_ATTACK: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_ATK_PARTNER - setalpha 0x80C - createvisualtask sub_80D5830, 0x2, 0, 24, 6, 1, 5 - createvisualtask sub_81169C0, 0x2, 0, 4, 7, 3 + setalpha 12, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 + createvisualtask sub_81169C0, 2, 0, 4, 7, 3 playsewithpan SE_W026, -64 - delay 0x4 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 - createsprite gUnknown_08597358, 0x84, 0, 0, 1, 1 + delay 4 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 132, 0, 0, 1, 1 playsewithpan SE_W233B, +63 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER @@ -2789,323 +2745,314 @@ Move_QUICK_ATTACK: end Move_RAGE: - loadspritegfx 0x2797 - loadspritegfx 0x2767 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_ANGER monbg ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80A7B98, 0x3, 0, RGB_RED, 10, 0, 2 - createsprite gUnknown_0859368C, 0x2, 0, -20, -28 + setalpha 12, 8 + createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_ATTACKER, RGB_RED, 10, 0, 2 + createsprite gUnknown_0859368C, 2, 0, -20, -28 playsewithpan SE_W207B, -64 - delay 0x14 - createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + delay 20 + createsprite gUnknown_0859368C, 2, 0, 20, -28 playsewithpan SE_W207B, -64 waitforvisualfinish - createsprite gUnknown_0857FE28, 0x2, 4, 6 - delay 0x4 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D6388, 0x2, 1, 1, 10, 1, 0 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 4 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask sub_80D6388, 2, 1, 1, 10, 1, 0 playsewithpan SE_W233B, +63 waitforvisualfinish clearmonbg ANIM_TARGET end Move_TELEPORT: - call AnimScript_82D7CD1 - createvisualtask sub_810F83C, 0x2 + call SetPsychicBackground + createvisualtask sub_810F83C, 2 playsewithpan SE_W100, -64 - delay 0xF - call AnimScript_82D7CDD + delay 15 + call UnsetPsychicBackground waitforvisualfinish end Move_DOUBLE_TEAM: - createvisualtask sub_81029B4, 0x2 - setalpha 0x80C + createvisualtask sub_81029B4, 2 + setalpha 12, 8 monbg ANIM_ATK_PARTNER playsewithpan SE_W104, -64 - delay 0x20 + delay 32 playsewithpan SE_W104, -64 - delay 0x18 + delay 24 playsewithpan SE_W104, -64 - delay 0x10 + delay 16 playsewithpan SE_W104, -64 - delay 0x8 + delay 8 playsewithpan SE_W104, -64 - delay 0x8 + delay 8 playsewithpan SE_W104, -64 - delay 0x8 + delay 8 playsewithpan SE_W104, -64 - delay 0x8 + delay 8 playsewithpan SE_W104, -64 - delay 0x8 + delay 8 playsewithpan SE_W104, -64 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff - delay 0x1 + delay 1 end Move_MINIMIZE: - setalpha 0x80A - createvisualtask sub_8104674, 0x2 - loopsewithpan SE_W107, -64, 0x22, 0x3 + setalpha 10, 8 + createvisualtask sub_8104674, 2 + loopsewithpan SE_W107, -64, 34, 3 waitforvisualfinish blendoff end Move_METRONOME: - loadspritegfx 0x2750 - loadspritegfx 0x27E1 - createsprite gUnknown_08593114, 0xB, 0, 100 + loadspritegfx ANIM_TAG_064 + loadspritegfx ANIM_TAG_209 + createsprite gUnknown_08593114, 11, 0, 100 playsewithpan SE_W118, -64 - delay 0x6 - createsprite gUnknown_085931BC, 0xC, 0 - delay 0x18 - loopsewithpan SE_W039, -64, 0x16, 0x3 + delay 6 + createsprite gUnknown_085931BC, 12, 0 + delay 24 + loopsewithpan SE_W039, -64, 22, 3 waitforvisualfinish end Move_SKULL_BASH: - choosetwoturnanim AnimScript_82CCF99, AnimScript_82CCFE6 - -AnimScript_82CCF98: + choosetwoturnanim SkullBashSetUp, SkullBashAttack +SkullBashEnd: end - -AnimScript_82CCF99: - call AnimScript_82CCFA9 - call AnimScript_82CCFA9 +SkullBashSetUp: + call SkullBashSetUp1 + call SkullBashSetUp1 waitforvisualfinish - goto AnimScript_82CCF98 - -AnimScript_82CCFA9: - createsprite gUnknown_0857FE88, 0x2, 0, -24, 0, 0, 10, 0 + goto SkullBashEnd +SkullBashSetUp1: + createsprite gUnknown_0857FE88, 2, 0, -24, 0, 0, 10, 0 playsewithpan SE_W036, -64 waitforvisualfinish - createvisualtask sub_80D6134, 0x2, 16, 96, 0, 2 + createvisualtask sub_80D6134, 2, 16, 96, 0, 2 waitforvisualfinish - createsprite gUnknown_0857FE88, 0x2, 0, 24, 0, 0, 10, 1 + createsprite gUnknown_0857FE88, 2, 0, 24, 0, 0, 10, 1 waitforvisualfinish return - -AnimScript_82CCFE6: - loadspritegfx 0x2797 - createvisualtask sub_8101C94, 0x2, 0 +SkullBashAttack: + loadspritegfx ANIM_TAG_135 + createvisualtask sub_8101C94, 2, 0 playsewithpan SE_W036, -64 waitforvisualfinish playse SE_BAN - createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 - createvisualtask sub_80D5484, 0x2, 0, 2, 0, 40, 1 - createvisualtask sub_80D5484, 0x2, 1, 10, 0, 40, 1 - createsprite gUnknown_085973E8, 0x84, 0, 0, 1, 0 - loopsewithpan SE_W025B, +63, 0x8, 0x3 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 40, 1 + createsprite gUnknown_085973E8, 132, 0, 0, 1, 0 + loopsewithpan SE_W025B, +63, 8, 3 waitforvisualfinish - createvisualtask sub_8101C94, 0x2, 1 - goto AnimScript_82CCF98 + createvisualtask sub_8101C94, 2, 1 + goto SkullBashEnd Move_AMNESIA: - loadspritegfx 0x276D - call AnimScript_82D7CD1 - delay 0x8 - createsprite gUnknown_08596744, 0x14 + loadspritegfx ANIM_TAG_093 + call SetPsychicBackground + delay 8 + createsprite gUnknown_08596744, 20 playsewithpan SE_W118, -64 - delay 0x36 - loopsewithpan SE_W118, -64, 0x10, 0x3 + delay 54 + loopsewithpan SE_W118, -64, 16, 3 waitforvisualfinish - call AnimScript_82D7CDD + call UnsetPsychicBackground end Move_KINESIS: - loadspritegfx 0x275B - loadspritegfx 0x2771 + loadspritegfx ANIM_TAG_075 + loadspritegfx ANIM_TAG_BENT_SPOON playsewithpan SE_W060, -64 - call AnimScript_82D7CD1 - createsprite gUnknown_085966DC, 0x14 - createsprite gUnknown_08593344, 0x13, 32, -8, 0 - createsprite gUnknown_08593344, 0x13, 32, 16, 1 - loopsewithpan SE_W109, -64, 0x15, 0x2 - delay 0x3C + call SetPsychicBackground + createsprite gUnknown_085966DC, 20 + createsprite gUnknown_08593344, 19, 32, -8, 0 + createsprite gUnknown_08593344, 19, 32, 16, 1 + loopsewithpan SE_W109, -64, 21, 2 + delay 60 playsewithpan SE_W146, -64 - delay 0x1E - loopsewithpan SE_W146, -64, 0x14, 0x2 - delay 0x46 + delay 30 + loopsewithpan SE_W146, -64, 20, 2 + delay 70 playsewithpan SE_W207B, -64 waitforvisualfinish - call AnimScript_82D7CDD + call UnsetPsychicBackground end Move_GLARE: - loadspritegfx 0x2808 - loadspritegfx 0x27EA - createvisualtask sub_815E114, 0x5, 0 + loadspritegfx ANIM_TAG_248 + loadspritegfx ANIM_TAG_218 + createvisualtask sub_815E114, 5, 0 playsewithpan SE_W060B, -64 waitforvisualfinish - createvisualtask sub_8116620, 0x5, 1, 0, 0, 16, 0 + createvisualtask sub_8116620, 5, 1, 0, 0, 16, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08593A84, 0x0, -16, -8 - createsprite gUnknown_08593A84, 0x0, 16, -8 - createvisualtask sub_81064F8, 0x5 + createsprite gUnknown_08593A84, 0, -16, -8 + createsprite gUnknown_08593A84, 0, 16, -8 + createvisualtask sub_81064F8, 5 playsewithpan SE_W043, -64 - delay 0x2 - createvisualtask sub_810A094, 0x3, 20, 1, 0 + delay 2 + createvisualtask sub_810A094, 3, 20, 1, 0 waitforvisualfinish - createvisualtask sub_8116620, 0x5, 1, 0, 16, 0, 0 + createvisualtask sub_8116620, 5, 1, 0, 16, 0, RGB_BLACK end Move_BARRAGE: - loadspritegfx 0x280E - createvisualtask sub_815E47C, 0x3 + loadspritegfx ANIM_TAG_254 + createvisualtask sub_815E47C, 3 playsewithpan SE_W207, -64 - delay 0x18 - createsprite gUnknown_085972D8, 0x2, 8, 1, 40, 1 - createvisualtask sub_80D51AC, 0x3, 1, 0, 4, 20, 1 - createvisualtask sub_80D51AC, 0x3, 3, 0, 4, 20, 1 - loopsewithpan SE_W070, +63, 0x8, 0x2 + delay 24 + createsprite gBattleAnimSpriteTemplate_85972D8, 2, 8, 1, 40, 1 + createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 0, 4, 20, 1 + createvisualtask AnimTask_ShakeMon, 3, ANIM_DEF_PARTNER, 0, 4, 20, 1 + loopsewithpan SE_W070, +63, 8, 2 end Move_SKY_ATTACK: - choosetwoturnanim AnimScript_82CD185, AnimScript_82CD28E - -AnimScript_82CD184: + choosetwoturnanim SkyAttackSetUp, SkyAttackUnleash +SkyAttackEnd: end - -AnimScript_82CD185: +SkyAttackSetUp: monbg ANIM_DEF_PARTNER - setalpha 0xB0C - createvisualtask sub_81177AC, 0x5, 7 - jumpargeq 0x7, 0x0, AnimScript_82CD1A0 - goto AnimScript_82CD217 - -AnimScript_82CD1A0: - createvisualtask sub_8116620, 0xA, 27, 1, 0, 12, 0 + setalpha 12, 11 + createvisualtask AnimTask_IsTargetPartner, 5, ARG_RET_ID + jumpretfalse SkyAttackSetUpAgainstOpponent + goto SkyAttackSetUpAgainstPartner +SkyAttackSetUpAgainstOpponent: + createvisualtask sub_8116620, 10, 27, 1, 0, 12, RGB_BLACK waitforvisualfinish - delay 0xC - createvisualtask sub_8116620, 0xA, 2, 1, 8, 0, 0 - createvisualtask sub_81152DC, 0x5, 0, 2, 16 - loopsewithpan SE_W287, -64, 0x4, 0x8 - createvisualtask sub_8116620, 0xA, 2, 1, 0, 15, 0x7FFF - delay 0x14 - createvisualtask sub_8116620, 0xA, 2, 1, 15, 0, 0x7FFF + delay 12 + createvisualtask sub_8116620, 10, 2, 1, 8, 0, RGB_BLACK + createvisualtask sub_81152DC, 5, 0, 2, 16 + loopsewithpan SE_W287, -64, 4, 8 + createvisualtask sub_8116620, 10, 2, 1, 0, 15, RGB_WHITE + delay 20 + createvisualtask sub_8116620, 10, 2, 1, 15, 0, RGB_WHITE waitforvisualfinish - createvisualtask sub_8116620, 0xA, 25, 1, 8, 0, 0 + createvisualtask sub_8116620, 10, 25, 1, 8, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff - goto AnimScript_82CD184 - -AnimScript_82CD217: - createvisualtask sub_8116664, 0xA, 1, 1, 0, 12, 0 + goto SkyAttackEnd +SkyAttackSetUpAgainstPartner: + createvisualtask sub_8116664, 10, 1, 1, 0, 12, RGB_BLACK waitforvisualfinish - delay 0xC - createvisualtask sub_8116620, 0xA, 2, 1, 8, 0, 0 - createvisualtask sub_81152DC, 0x5, 0, 2, 16 + delay 12 + createvisualtask sub_8116620, 10, 2, 1, 8, 0, RGB_BLACK + createvisualtask sub_81152DC, 5, 0, 2, 16 playsewithpan SE_W287, -64 - delay 0x8 - createvisualtask sub_8116620, 0xA, 2, 1, 0, 15, 0x7FFF - delay 0x14 - createvisualtask sub_8116620, 0xA, 2, 1, 15, 0, 0x7FFF + delay 8 + createvisualtask sub_8116620, 10, 2, 1, 0, 15, RGB_WHITE + delay 20 + createvisualtask sub_8116620, 10, 2, 1, 15, 0, RGB_WHITE waitforvisualfinish - createvisualtask sub_8116664, 0xA, 4, 1, 8, 0, 0 + createvisualtask sub_8116664, 10, 4, 1, 8, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff - goto AnimScript_82CD184 - -AnimScript_82CD28E: - loadspritegfx 0x2797 - loadspritegfx 0x282C - call AnimScript_82D7CE5 + goto SkyAttackEnd +SkyAttackUnleash: + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_284 + call SetFlyingBg monbg ANIM_ATTACKER - createvisualtask sub_8116620, 0xA, 2, 0, 0, 16, 0x7FFF - delay 0x4 - createvisualtask sub_81136E8, 0x5, 0 + createvisualtask sub_8116620, 10, 2, 0, 0, 16, RGB_WHITE + delay 4 + createvisualtask sub_81136E8, 5, 0 waitforvisualfinish - createvisualtask sub_8159244, 0x5, 238, -64 - createsprite gUnknown_08596514, 0x82 - delay 0xE - createvisualtask sub_80D52D0, 0x2, 1, 10, 0, 18, 1 - createvisualtask sub_8159210, 0x5, 141, 63 - delay 0x14 - createvisualtask sub_81137E4, 0x5, 1 - delay 0x2 - createvisualtask sub_8116620, 0xA, 2, 0, 15, 0, 0x7FFF + createvisualtask sub_8159244, 5, 238, -64 + createsprite gUnknown_08596514, 130 + delay 14 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 10, 0, 18, 1 + createvisualtask sub_8159210, 5, 141, 63 + delay 20 + createvisualtask sub_81137E4, 5, 1 + delay 2 + createvisualtask sub_8116620, 10, 2, 0, 15, 0, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATTACKER - call AnimScript_82D7D15 - goto AnimScript_82CD184 + call UnsetFlyingBg + goto SkyAttackEnd Move_FLASH: playsewithpan SE_W043, -64 - createvisualtask sub_8117494, 0x2 + createvisualtask sub_8117494, 2 waitforvisualfinish end Move_SPLASH: - createvisualtask sub_8104938, 0x2, 0, 3 - delay 0x8 - loopsewithpan SE_W039, -64, 0x26, 0x3 + createvisualtask sub_8104938, 2, 0, 3 + delay 8 + loopsewithpan SE_W039, -64, 38, 3 waitforvisualfinish end Move_ACID_ARMOR: monbg ANIM_ATTACKER - setalpha 0xF - createvisualtask sub_815D240, 0x2, 0 + setalpha 15, 0 + createvisualtask sub_815D240, 2, 0 playsewithpan SE_W151, -64 waitforvisualfinish blendoff clearmonbg ANIM_ATTACKER - delay 0x1 + delay 1 end Move_SHARPEN: - loadspritegfx 0x27C9 - createsprite gUnknown_08592DE4, 0x2 + loadspritegfx ANIM_TAG_185 + createsprite gUnknown_08592DE4, 2 waitforvisualfinish end Move_SUPER_FANG: - loadspritegfx 0x27D0 - createvisualtask sub_80D5484, 0x2, 0, 1, 0, 20, 1 + loadspritegfx ANIM_TAG_192 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 1, 0, 20, 1 playsewithpan SE_W082, -64 waitforvisualfinish - createvisualtask sub_80D5484, 0x2, 0, 3, 0, 48, 1 - createvisualtask sub_80A7B98, 0x2, 0, RGB(31, 6, 1), 12, 4, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 48, 1 + createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATTACKER, RGB(31, 6, 1), 12, 4, 1 waitforvisualfinish - delay 0x14 - createsprite gUnknown_0857FE28, 0x2, 4, 4 - delay 0x4 - createsprite gUnknown_08592F74, 0x82 + delay 20 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 4 + createsprite gUnknown_08592F74, 130 playsewithpan SE_W044, +63 - delay 0x8 - createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 2143, 14, 0x7FFF, 14 - createvisualtask sub_80D51AC, 0x2, 1, 0, 7, 12, 1 + delay 8 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB(31, 2, 2), 14, 0x7FFF, 14 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 7, 12, 1 waitforvisualfinish blendoff end Move_SLASH: - loadspritegfx 0x27C7 - createsprite gUnknown_08592D2C, 0x82, 1, -8, 0 + loadspritegfx ANIM_TAG_183 + createsprite gUnknown_08592D2C, 130, 1, -8, 0 playsewithpan SE_W013, +63 - delay 0x4 - createsprite gUnknown_08592D2C, 0x82, 1, 8, 0 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 18, 1 + delay 4 + createsprite gUnknown_08592D2C, 130, 1, 8, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 playsewithpan SE_W013, +63 waitforvisualfinish end Move_STRUGGLE: - loadspritegfx 0x2797 - loadspritegfx 0x27E7 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_215 monbg ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80D5484, 0x2, 0, 3, 0, 12, 4 - createsprite gUnknown_08593B80, 0x2, 0, 0, 2 - createsprite gUnknown_08593B80, 0x2, 0, 1, 2 - loopsewithpan SE_W029, -64, 0xC, 0x4 + setalpha 12, 8 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + createsprite gUnknown_08593B80, 2, 0, 0, 2 + createsprite gUnknown_08593B80, 2, 0, 1, 2 + loopsewithpan SE_W029, -64, 12, 4 waitforvisualfinish - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 - createvisualtask sub_80D5484, 0x2, 1, 3, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W025B, +63 waitforvisualfinish clearmonbg ANIM_TARGET @@ -3113,33 +3060,32 @@ Move_STRUGGLE: end Move_SKETCH: - loadspritegfx 0x2712 + loadspritegfx ANIM_TAG_PENCIL monbg ANIM_TARGET - createvisualtask sub_8104E74, 0x2 - createsprite gUnknown_085936D4, 0x82 + createvisualtask sub_8104E74, 2 + createsprite gUnknown_085936D4, 130 waitforvisualfinish clearmonbg ANIM_TARGET - createvisualtask sub_8104938, 0x2, 0, 2 - loopsewithpan SE_W039, -64, 0x26, 0x2 + createvisualtask sub_8104938, 2, 0, 2 + loopsewithpan SE_W039, -64, 38, 2 end Move_NIGHTMARE: fadetobg BG_GHOST waitbgfadein - jumpifcontest AnimScript_82CD4CF + jumpifcontest NightmareInContest monbg ANIM_DEF_PARTNER - createvisualtask sub_8111C50, 0x2 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 40, 1 + createvisualtask sub_8111C50, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 40, 1 playsewithpan SE_W171, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER restorebg waitbgfadein end - -AnimScript_82CD4CF: - createvisualtask sub_80A7B98, 0x2, 0, RGB_WHITE, 10, 2, 1 - createvisualtask sub_80D51AC, 0x2, 0, 3, 0, 32, 1 +NightmareInContest: + createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATTACKER, RGB_WHITE, 10, 2, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 3, 0, 32, 1 playsewithpan SE_W171, +63 waitforvisualfinish restorebg @@ -3147,14 +3093,14 @@ AnimScript_82CD4CF: end Move_FLAIL: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C - createvisualtask sub_815C770, 0x2, 0 - loopsewithpan SE_W029, -64, 0x8, 0x2 + setalpha 12, 8 + createvisualtask sub_815C770, 2, 0 + loopsewithpan SE_W029, -64, 8, 2 waitforvisualfinish - createsprite gUnknown_085973A0, 0x83, 1, 3 - createvisualtask sub_80D6388, 0x2, 0, 1, 30, 1, 0 + createsprite gUnknown_085973A0, 131, 1, 3 + createvisualtask sub_80D6388, 2, 0, 1, 30, 1, 0 playsewithpan SE_W025B, +63 waitforvisualfinish clearmonbg ANIM_TARGET @@ -3166,9 +3112,9 @@ Move_SPITE: playsewithpan SE_W060, -64 waitbgfadein monbg ANIM_DEF_PARTNER - createvisualtask sub_8115A04, 0x2, 2, 2, 6, 0, 8, 0x7FFF - createvisualtask sub_8111E50, 0x2 - loopsewithpan SE_W060, +63, 0x14, 0x3 + createvisualtask sub_8115A04, 2, 2, 2, 6, 0, 8, RGB_WHITE + createvisualtask sub_8111E50, 2 + loopsewithpan SE_W060, +63, 20, 3 waitforvisualfinish restorebg waitbgfadein @@ -3176,52 +3122,50 @@ Move_SPITE: end Move_MACH_PUNCH: - loadspritegfx 0x2797 - loadspritegfx 0x279F + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 monbg ANIM_ATK_PARTNER - createvisualtask sub_8117754, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82CD5E6 + createvisualtask AnimTask_IsAttackerOpponentSide, 2 + jumprettrue MachPunchAgainstPlayer fadetobg BG_HIGHSPEED_OPPONENT - -AnimScript_82CD57E: +MachPunchContinue: waitbgfadeout - createvisualtask sub_8117660, 0x5, -2304, 0, 1, -1 + createvisualtask sub_8117660, 5, -2304, 0, 1, -1 waitbgfadein - delay 0x0 - setalpha 0x809 - createvisualtask sub_80A8BC4, 0x2, 28968, 10 + delay 0 + setalpha 9, 8 + createvisualtask sub_80A8BC4, 2, 28968, 10 playsewithpan SE_W026, -64 - delay 0x6 - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 - createsprite gUnknown_08595E98, 0x84, 0, 0, 8, 1, 0 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createsprite gFistFootSpriteTemplate, 132, 0, 0, 8, 1, 0 playsewithpan SE_W004, +63 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein end - -AnimScript_82CD5E6: +MachPunchAgainstPlayer: fadetobg BG_HIGHSPEED_PLAYER - goto AnimScript_82CD57E + goto MachPunchContinue Move_FORESIGHT: - loadspritegfx 0x2812 + loadspritegfx ANIM_TAG_MAGNIFYING_GLASS monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x10 - createsprite gUnknown_085CE8C4, 0x82, 1 - delay 0x11 - loopsewithpan SE_W166, +63, 0x10, 0x4 - delay 0x30 - delay 0x18 + setalpha 16, 0 + createsprite gUnknown_085CE8C4, 130, 1 + delay 17 + loopsewithpan SE_W166, +63, 16, 4 + delay 48 + delay 24 playsewithpan SE_W166, +63 - delay 0xA - createvisualtask sub_80A7B98, 0x5, 1, RGB_WHITE, 12, 2, 1 + delay 10 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_TARGET, RGB_WHITE, 12, 2, 1 playsewithpan SE_W197, +63 waitforvisualfinish blendoff @@ -3229,17 +3173,17 @@ Move_FORESIGHT: end Move_DESTINY_BOND: - loadspritegfx 0x27CC + loadspritegfx ANIM_TAG_188 fadetobg BG_GHOST playsewithpan SE_W060, -64 waitbgfadein - createvisualtask sub_81123C4, 0x5, 0, 48 + createvisualtask sub_81123C4, 5, 0, 48 playsewithpan SE_W109, -64 - delay 0x30 - createvisualtask sub_80D5484, 0x2, 0, 2, 0, 24, 1 - createvisualtask sub_8116664, 0x2, 6, 1, 0, 12, 30653 - delay 0x18 - createvisualtask sub_8116664, 0x2, 6, 1, 12, 0, 30653 + delay 48 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 24, 1 + createvisualtask sub_8116664, 2, 6, 1, 0, 12, RGB(29, 29, 29) + delay 24 + createvisualtask sub_8116664, 2, 6, 1, 12, 0, RGB(29, 29, 29) playsewithpan SE_W171, +63 waitforvisualfinish restorebg @@ -3249,55 +3193,55 @@ Move_DESTINY_BOND: end Move_ENDURE: - loadspritegfx 0x27C8 + loadspritegfx ANIM_TAG_184 playsewithpan SE_W082, -64 - call AnimScript_82CD6C7 - delay 0x8 - createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 11, 31 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 - call AnimScript_82CD6C7 - delay 0x8 - call AnimScript_82CD6C7 + call EndureEffect + delay 8 + createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 + call EndureEffect + delay 8 + call EndureEffect waitforvisualfinish end -AnimScript_82CD6C7: - createsprite gUnknown_08592D8C, 0x2, 0, -24, 26, 2 - delay 0x4 - createsprite gUnknown_08592D8C, 0x2, 0, 14, 28, 1 - delay 0x4 - createsprite gUnknown_08592D8C, 0x2, 0, -5, 10, 2 - delay 0x4 - createsprite gUnknown_08592D8C, 0x2, 0, 28, 26, 3 - delay 0x4 - createsprite gUnknown_08592D8C, 0x2, 0, -12, 0, 1 +EndureEffect: + createsprite gUnknown_08592D8C, 2, 0, -24, 26, 2 + delay 4 + createsprite gUnknown_08592D8C, 2, 0, 14, 28, 1 + delay 4 + createsprite gUnknown_08592D8C, 2, 0, -5, 10, 2 + delay 4 + createsprite gUnknown_08592D8C, 2, 0, 28, 26, 3 + delay 4 + createsprite gUnknown_08592D8C, 2, 0, -12, 0, 1 return Move_CHARM: - loadspritegfx 0x27E2 - createvisualtask sub_815C478, 0x5, 0, 2, 0 - createsprite gUnknown_08593970, 0x3, 0, 20 + loadspritegfx ANIM_TAG_PURPLE_HEART + createvisualtask sub_815C478, 5, 0, 2, 0 + createsprite gUnknown_08593970, 3, 0, 20 playsewithpan SE_W204, -64 - delay 0xF - createsprite gUnknown_08593970, 0x3, -20, 20 + delay 15 + createsprite gUnknown_08593970, 3, -20, 20 playsewithpan SE_W204, -64 - delay 0xF - createsprite gUnknown_08593970, 0x3, 20, 20 + delay 15 + createsprite gUnknown_08593970, 3, 20, 20 playsewithpan SE_W204, -64 waitforvisualfinish end Move_ROLLOUT: - loadspritegfx 0x2797 - loadspritegfx 0x275A - loadspritegfx 0x274A + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_074 + loadspritegfx ANIM_TAG_058 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - createvisualtask sub_8110F74, 0x2 + setalpha 12, 8 + createvisualtask sub_8110F74, 2 waitforvisualfinish - createvisualtask sub_80D6388, 0x2, 0, 1, 30, 1, 0 - createsprite gUnknown_08597358, 0x4, 0, 0, 1, 2 + createvisualtask sub_80D6388, 2, 0, 1, 30, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 4, 0, 0, 1, 2 playsewithpan SE_W025B, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -3305,624 +3249,617 @@ Move_ROLLOUT: end Move_FALSE_SWIPE: - loadspritegfx 0x282E - loadspritegfx 0x2797 - createsprite gUnknown_08592D44, 0x82 + loadspritegfx ANIM_TAG_286 + loadspritegfx ANIM_TAG_135 + createsprite gUnknown_08592D44, 130 playsewithpan SE_W233, +63 - delay 0x10 - createsprite gUnknown_08592D5C, 0x82, 0 + delay 16 + createsprite gUnknown_08592D5C, 130, 0 playsewithpan SE_W104, +63 - delay 0x2 - createsprite gUnknown_08592D5C, 0x82, 16 - delay 0x2 - createsprite gUnknown_08592D5C, 0x82, 32 + delay 2 + createsprite gUnknown_08592D5C, 130, 16 + delay 2 + createsprite gUnknown_08592D5C, 130, 32 playsewithpan SE_W104, +63 - delay 0x2 - createsprite gUnknown_08592D5C, 0x82, 48 - delay 0x2 - createsprite gUnknown_08592D5C, 0x82, 64 + delay 2 + createsprite gUnknown_08592D5C, 130, 48 + delay 2 + createsprite gUnknown_08592D5C, 130, 64 playsewithpan SE_W104, +63 - delay 0x2 - createsprite gUnknown_08592D5C, 0x82, 80 - delay 0x2 + delay 2 + createsprite gUnknown_08592D5C, 130, 80 + delay 2 waitforvisualfinish - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 - createsprite gUnknown_08597358, 0x84, 0, 0, 1, 3 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 132, 0, 0, 1, 3 playsewithpan SE_W004, +63 end Move_SWAGGER: - loadspritegfx 0x2766 - loadspritegfx 0x2767 - createvisualtask sub_8104AB4, 0x2 + loadspritegfx ANIM_TAG_086 + loadspritegfx ANIM_TAG_ANGER + createvisualtask sub_8104AB4, 2 playsewithpan SE_W207, -64 waitforvisualfinish - createsprite gUnknown_08593658, 0x2 - loopsewithpan SE_W207, -64, 0x4, 0x2 + createsprite gUnknown_08593658, 2 + loopsewithpan SE_W207, -64, 4, 2 waitforvisualfinish - delay 0x18 - createsprite gUnknown_0859368C, 0x82, 1, -20, -28 + delay 24 + createsprite gUnknown_0859368C, 130, 1, -20, -28 playsewithpan SE_W207B, +63 - delay 0xC - createsprite gUnknown_0859368C, 0x82, 1, 20, -28 + delay 12 + createsprite gUnknown_0859368C, 130, 1, 20, -28 playsewithpan SE_W207B, +63 waitforvisualfinish end Move_MILK_DRINK: - loadspritegfx 0x2773 - loadspritegfx 0x27DB - loadspritegfx 0x272F + loadspritegfx ANIM_TAG_MILK_BOTTLE + loadspritegfx ANIM_TAG_203 + loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_TARGET - createsprite gUnknown_08592B3C, 0x2 - delay 0x28 + createsprite gUnknown_08592B3C, 2 + delay 40 playsewithpan SE_W152, -64 - delay 0xC + delay 12 playsewithpan SE_W152, -64 - delay 0x14 + delay 20 playsewithpan SE_W152, -64 waitforvisualfinish - createsprite gUnknown_0859381C, 0x3, 0, 0, 1, 0 + createsprite gUnknown_0859381C, 3, 0, 0, 1, 0 playsewithpan SE_W208, -64 waitforvisualfinish clearmonbg ANIM_TARGET - call AnimScript_82D7A28 + call HealingEffect2 waitforvisualfinish end Move_MAGNITUDE: - createvisualtask sub_8115600, 0x2 + createvisualtask AnimTask_IsPowerOver99, 2 waitforvisualfinish - jumpargeq 0xF, 0x0, AnimScript_82CD8C9 - jumpargeq 0xF, 0x1, AnimScript_82CD8EE - -AnimScript_82CD8C8: + jumpargeq 15, FALSE, MagnitudeRegular + jumpargeq 15, TRUE, MagnitudeIntense +MagnitudeEnd: end - -AnimScript_82CD8C9: - createvisualtask sub_81152DC, 0x5, 5, 0, 50 - createvisualtask sub_81152DC, 0x5, 4, 0, 50 - loopsewithpan SE_W070, +63, 0x8, 0xA - goto AnimScript_82CD8C8 - -AnimScript_82CD8EE: - createvisualtask sub_81152DC, 0x5, 5, 0, 50 - createvisualtask sub_81152DC, 0x5, 4, 0, 50 - loopsewithpan SE_W070, +63, 0x8, 0xA - delay 0xA - createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 - delay 0x10 - createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 - goto AnimScript_82CD8C8 +MagnitudeRegular: + createvisualtask sub_81152DC, 5, 5, 0, 50 + createvisualtask sub_81152DC, 5, 4, 0, 50 + loopsewithpan SE_W070, +63, 8, 10 + goto MagnitudeEnd +MagnitudeIntense: + createvisualtask sub_81152DC, 5, 5, 0, 50 + createvisualtask sub_81152DC, 5, 4, 0, 50 + loopsewithpan SE_W070, +63, 8, 10 + delay 10 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 + delay 16 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14 + goto MagnitudeEnd Move_RAPID_SPIN: - loadspritegfx 0x2797 - loadspritegfx 0x27F5 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_229 monbg ANIM_ATTACKER - createsprite gUnknown_085CE288, 0x2, 0, 0, 32, -32, 40, -2 - createvisualtask sub_815ADB0, 0x2, 0, 2, 0 - loopsewithpan SE_W013B, -64, 0x8, 0x4 + createsprite gUnknown_085CE288, 2, 0, 0, 32, -32, 40, -2 + createvisualtask sub_815ADB0, 2, 0, 2, 0 + loopsewithpan SE_W013B, -64, 8, 4 waitforvisualfinish - createsprite gUnknown_08597358, 0x82, 0, 0, 1, 2 - createvisualtask sub_80D6388, 0x2, 0, 1, 10, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2 + createvisualtask sub_80D6388, 2, 0, 1, 10, 1, 0 playsewithpan SE_W003, +63 waitforvisualfinish - delay 0x8 - createvisualtask sub_815ADB0, 0x2, 0, 2, 1 - loopsewithpan SE_W013B, -64, 0x8, 0x4 + delay 8 + createvisualtask sub_815ADB0, 2, 0, 2, 1 + loopsewithpan SE_W013B, -64, 8, 4 waitforvisualfinish clearmonbg ANIM_ATTACKER end Move_MOONLIGHT: - loadspritegfx 0x27D2 - loadspritegfx 0x27D3 - loadspritegfx 0x272F - setalpha 0x1000 - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 16, RGB_BLACK + loadspritegfx ANIM_TAG_MOON + loadspritegfx ANIM_TAG_GREEN_SPARKLE + loadspritegfx ANIM_TAG_BLUE_STAR + setalpha 0, 16 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 16, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08592EBC, 0x2, 120, 56 - createvisualtask sub_80A7A74, 0x3, 0, 16, 16, 0, 1 + createsprite gUnknown_08592EBC, 2, 120, 56 + createvisualtask sub_80A7A74, 3, 0, 16, 16, 0, 1 playsewithpan SE_W236, 0 - delay 0x1E - createsprite gUnknown_08592EEC, 0x28, -12, 0 - delay 0x1E - createsprite gUnknown_08592EEC, 0x28, -24, 0 - delay 0x1E - createsprite gUnknown_08592EEC, 0x28, 21, 0 - delay 0x1E - createsprite gUnknown_08592EEC, 0x28, 0, 0 - delay 0x1E - createsprite gUnknown_08592EEC, 0x28, 10, 0 - delay 0x14 - createvisualtask sub_81025C0, 0x2 + delay 30 + createsprite gBattleAnimSpriteTemplate_8592EEC, 40, -12, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_8592EEC, 40, -24, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 21, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 0, 0 + delay 30 + createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 10, 0 + delay 20 + createvisualtask sub_81025C0, 2 waitforvisualfinish - call AnimScript_82D79DF + call HealingEffect waitforvisualfinish end Move_EXTREME_SPEED: - loadspritegfx 0x27DF - loadspritegfx 0x2797 - createvisualtask sub_8117754, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82CDAF5 + loadspritegfx ANIM_TAG_207 + loadspritegfx ANIM_TAG_135 + createvisualtask AnimTask_IsAttackerOpponentSide, 2 + jumprettrue ExtremeSpeedAgainstPlayer fadetobg BG_HIGHSPEED_OPPONENT - -AnimScript_82CDA55: +ExtremeSpeedContinue: waitbgfadeout - createvisualtask sub_8117660, 0x5, -2304, 0, 1, -1 + createvisualtask sub_8117660, 5, -2304, 0, 1, -1 waitbgfadein - createvisualtask sub_810577C, 0x2 - loopsewithpan SE_W013B, -64, 0x8, 0x3 + createvisualtask sub_810577C, 2 + loopsewithpan SE_W013B, -64, 8, 3 waitforvisualfinish - delay 0x1 - createvisualtask sub_8117F60, 0x2 + delay 1 + createvisualtask sub_8117F60, 2 monbg ANIM_TARGET - setalpha 0x80C - delay 0x12 - createvisualtask sub_8105810, 0x2 - delay 0x2 + setalpha 12, 8 + delay 18 + createvisualtask sub_8105810, 2 + delay 2 playsewithpan SE_W004, +63 - createsprite gUnknown_085973B8, 0x82, 1, 0, -12, 3 - delay 0xA + createsprite gBattleAnimSpriteTemplate_85973B8, 130, 1, 0, -12, 3 + delay 10 playsewithpan SE_W004, +63 - createsprite gUnknown_085973B8, 0x82, 1, 0, 12, 3 - delay 0xA + createsprite gBattleAnimSpriteTemplate_85973B8, 130, 1, 0, 12, 3 + delay 10 playsewithpan SE_W233B, +63 - createsprite gUnknown_085973B8, 0x82, 1, 0, 0, 3 + createsprite gBattleAnimSpriteTemplate_85973B8, 130, 1, 0, 0, 3 waitforvisualfinish - createvisualtask sub_8105AAC, 0x2 - delay 0xA - createvisualtask sub_810599C, 0x2 - loopsewithpan SE_W104, -64, 0x8, 0x4 + createvisualtask sub_8105AAC, 2 + delay 10 + createvisualtask sub_810599C, 2 + loopsewithpan SE_W104, -64, 8, 4 waitforvisualfinish restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein clearmonbg ANIM_TARGET blendoff - delay 0x1 - setarg 0x7, 0x1000 - delay 0x1 + delay 1 + setarg 7, 0x1000 + delay 1 end - -AnimScript_82CDAF5: +ExtremeSpeedAgainstPlayer: fadetobg BG_HIGHSPEED_PLAYER - goto AnimScript_82CDA55 + goto ExtremeSpeedContinue Move_UPROAR: - loadspritegfx 0x27F1 - loadspritegfx 0x27DB + loadspritegfx ANIM_TAG_225 + loadspritegfx ANIM_TAG_203 monbg ANIM_DEF_PARTNER - createvisualtask sub_8106D90, 0x2, 0 - createsprite gUnknown_08593898, 0x3, 0, 0, 0, 0, 31, 8 + createvisualtask sub_8106D90, 2, 0 + createsprite gBattleAnimSpriteTemplate_8593898, 3, 0, 0, 0, 0, 31, 8 playsewithpan SE_W253, -64 - createsprite gUnknown_08593BB8, 0x2, 0, 29, -12, 0 - createsprite gUnknown_08593BB8, 0x2, 0, -12, -29, 1 - delay 0x10 - createvisualtask sub_8106D90, 0x2, 0 - createsprite gUnknown_08593898, 0x3, 0, 0, 0, 0, 31, 8 + createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, 29, -12, 0 + createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, -12, -29, 1 + delay 16 + createvisualtask sub_8106D90, 2, 0 + createsprite gBattleAnimSpriteTemplate_8593898, 3, 0, 0, 0, 0, 31, 8 playsewithpan SE_W253, -64 - createsprite gUnknown_08593BB8, 0x2, 0, 12, -29, 1 - createsprite gUnknown_08593BB8, 0x2, 0, -29, -12, 0 - delay 0x10 - createvisualtask sub_8106D90, 0x2, 0 - createsprite gUnknown_08593898, 0x3, 0, 0, 0, 0, 31, 8 + createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, 12, -29, 1 + createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, -29, -12, 0 + delay 16 + createvisualtask sub_8106D90, 2, 0 + createsprite gBattleAnimSpriteTemplate_8593898, 3, 0, 0, 0, 0, 31, 8 playsewithpan SE_W253, -64 - createsprite gUnknown_08593BB8, 0x2, 0, 24, -24, 1 - createsprite gUnknown_08593BB8, 0x2, 0, -24, -24, 0 + createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, 24, -24, 1 + createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, -24, -24, 0 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end Move_HEAT_WAVE: - loadspritegfx 0x2815 - createvisualtask sub_8116848, 0x5, 10261, 0, 6, 6, RGB_RED - createvisualtask sub_8110BCC, 0x5, 1 - createvisualtask sub_810A060, 0x6, 6, 31 - panse_1B SE_W257, -64, +63, +2, 0x0 - delay 0x4 - createvisualtask sub_8109DBC, 0x5 - delay 0xC - createsprite gUnknown_08596BA0, 0x28, 10, 2304, 96, 1 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 90, 2048, 96, 1 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 50, 2560, 96, 1 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 20, 2304, 96, 1 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 70, 1984, 96, 1 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 0, 2816, 96, 1 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 60, 2560, 96, 1 + loadspritegfx ANIM_TAG_261 + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_261, 0, 6, 6, RGB_RED + createvisualtask AnimTask_LoadSandstormBackground, 5, TRUE + createvisualtask AnimTask_BlendBackground, 6, 6, RGB_RED + panse_1B SE_W257, -64, +63, +2, 0 + delay 4 + createvisualtask sub_8109DBC, 5 + delay 12 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 10, 2304, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 90, 2048, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 50, 2560, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 20, 2304, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 70, 1984, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 0, 2816, 96, 1 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 60, 2560, 96, 1 end Move_HAIL: - loadspritegfx 0x2817 - loadspritegfx 0x279D - createvisualtask sub_8116620, 0xA, 1, 3, 0, 6, 0 + loadspritegfx ANIM_TAG_263 + loadspritegfx ANIM_TAG_141 + createvisualtask sub_8116620, 10, 1, 3, 0, 6, RGB_BLACK waitforvisualfinish - createvisualtask sub_810C918, 0x5 - loopsewithpan SE_W258, 0, 0x8, 0xA + createvisualtask sub_810C918, 5 + loopsewithpan SE_W258, 0, 8, 10 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 1, 3, 6, 0, 0 + createvisualtask sub_8116620, 10, 1, 3, 6, 0, RGB_BLACK end Move_TORMENT: - loadspritegfx 0x2767 - loadspritegfx 0x27E1 - createvisualtask sub_815AFF0, 0x2 + loadspritegfx ANIM_TAG_ANGER + loadspritegfx ANIM_TAG_209 + createvisualtask sub_815AFF0, 2 waitforvisualfinish - createvisualtask sub_80A7B98, 0x2, 1, RGB_RED, 10, 1, 1 - createsprite gUnknown_0859368C, 0x82, 1, -20, -28 + createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_TARGET, RGB_RED, 10, 1, 1 + createsprite gUnknown_0859368C, 130, 1, -20, -28 playsewithpan SE_W207B, +63 - delay 0x14 - createsprite gUnknown_0859368C, 0x82, 1, 20, -28 + delay 20 + createsprite gUnknown_0859368C, 130, 1, 20, -28 playsewithpan SE_W207B, +63 end Move_MEMENTO: - setalpha 0x1000 - delay 0x1 - createvisualtask sub_81143C0, 0x2 - delay 0x1 - createvisualtask sub_8113BAC, 0x5 + setalpha 0, 16 + delay 1 + createvisualtask sub_81143C0, 2 + delay 1 + createvisualtask sub_8113BAC, 5 playsewithpan SE_W060, -64 - delay 0x30 + delay 48 playsewithpan SE_W060B, -64 waitforvisualfinish - createvisualtask sub_8114470, 0x2 - delay 0xC - setalpha 0x1000 - delay 0x1 + createvisualtask sub_8114470, 2 + delay 12 + setalpha 0, 16 + delay 1 monbg_22 ANIM_TARGET - createvisualtask sub_8113E78, 0x5 + createvisualtask sub_8113E78, 5 playsewithpan SE_W060, +63 waitforvisualfinish clearmonbg_23 ANIM_TARGET - delay 0x1 + delay 1 blendoff - delay 0x1 + delay 1 end Move_FACADE: - loadspritegfx 0x2803 - createvisualtask sub_815DCA4, 0x2, 0, 3 - createvisualtask sub_815DF0C, 0x2, 0, 72 - loopsewithpan SE_W207, -64, 0x18, 0x3 + loadspritegfx ANIM_TAG_243 + createvisualtask sub_815DCA4, 2, 0, 3 + createvisualtask sub_815DF0C, 2, 0, 72 + loopsewithpan SE_W207, -64, 24, 3 end Move_SMELLING_SALT: - loadspritegfx 0x2807 - loadspritegfx 0x280F - createsprite gUnknown_085CE864, 0x82, 1, 0, 2 - createsprite gUnknown_085CE864, 0x82, 1, 1, 2 - delay 0x20 - createvisualtask sub_815E840, 0x3, 1, 2 - loopsewithpan SE_W003, +63, 0xC, 0x2 + loadspritegfx ANIM_TAG_HAND + loadspritegfx ANIM_TAG_255 + createsprite gUnknown_085CE864, 130, 1, 0, 2 + createsprite gUnknown_085CE864, 130, 1, 1, 2 + delay 32 + createvisualtask sub_815E840, 3, 1, 2 + loopsewithpan SE_W003, +63, 12, 2 waitforvisualfinish - delay 0x4 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 6, 2 - createsprite gUnknown_085CE894, 0x82, 1, 8, 3 - loopsewithpan SE_W207B, +63, 0x10, 0x3 + delay 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 2 + createsprite gUnknown_085CE894, 130, 1, 8, 3 + loopsewithpan SE_W207B, +63, 16, 3 end Move_FOLLOW_ME: - loadspritegfx 0x2750 - createsprite gUnknown_085931D4, 0x2, 0 + loadspritegfx ANIM_TAG_064 + createsprite gUnknown_085931D4, 2, 0 playsewithpan SE_W039, -64 - delay 0x12 + delay 18 playsewithpan SE_W213, -64 - delay 0x47 - loopsewithpan SE_W039, -64, 0x16, 0x3 + delay 71 + loopsewithpan SE_W039, -64, 22, 3 end Move_CHARGE: - loadspritegfx 0x27E3 - loadspritegfx 0x27E4 - loadspritegfx 0x27E5 + loadspritegfx ANIM_TAG_211 + loadspritegfx ANIM_TAG_212 + loadspritegfx ANIM_TAG_213 monbg ANIM_ATTACKER - setalpha 0x80C - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 4, RGB_BLACK + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 4, RGB_BLACK waitforvisualfinish - createvisualtask sub_810AAFC, 0x2, 0, 60, 2, 12 + createvisualtask sub_810AAFC, 2, 0, 60, 2, 12 playsewithpan SE_W268, -64 - delay 0x1E + delay 30 playsewithpan SE_W268, -64 - delay 0x1E + delay 30 playsewithpan SE_W268, -64 - createsprite gUnknown_0859595C, 0x2, 0 - delay 0x19 + createsprite gUnknown_0859595C, 2, 0 + delay 25 playsewithpan SE_W268, -64 - delay 0x14 + delay 20 playsewithpan SE_W268, -64 - delay 0xF + delay 15 playsewithpan SE_W268, -64 - delay 0xA - delay 0x6 - loopsewithpan SE_W268, -64, 0x6, 0x5 + delay 10 + delay 6 + loopsewithpan SE_W268, -64, 6, 5 waitforvisualfinish - createsprite gUnknown_0859598C, 0x2, 0, 16, 16 - delay 0x2 - createsprite gUnknown_0859598C, 0x2, 0, -16, -16 + createsprite gUnknown_0859598C, 2, 0, 16, 16 + delay 2 + createsprite gUnknown_0859598C, 2, 0, -16, -16 playsewithpan SE_W085B, -64 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 4, 4, 0, RGB_BLACK + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 4, 0, RGB_BLACK clearmonbg ANIM_ATTACKER blendoff end Move_TAUNT: - loadspritegfx 0x27E6 - loadspritegfx 0x27E1 - loadspritegfx 0x2767 - createsprite gUnknown_08593114, 0xB, 0, 45 + loadspritegfx ANIM_TAG_214 + loadspritegfx ANIM_TAG_209 + loadspritegfx ANIM_TAG_ANGER + createsprite gUnknown_08593114, 11, 0, 45 playsewithpan SE_W118, -64 - delay 0x6 - createsprite gUnknown_0859324C, 0xC, 0 - delay 0x4 - loopsewithpan SE_W039, -64, 0x10, 0x2 + delay 6 + createsprite gUnknown_0859324C, 12, 0 + delay 4 + loopsewithpan SE_W039, -64, 16, 2 waitforvisualfinish - delay 0x8 - createsprite gUnknown_0859368C, 0x82, 1, -20, -28 + delay 8 + createsprite gUnknown_0859368C, 130, 1, -20, -28 playsewithpan SE_W207B, +63 waitforvisualfinish - delay 0xC - createsprite gUnknown_0859368C, 0x82, 1, 20, -28 + delay 12 + createsprite gUnknown_0859368C, 130, 1, 20, -28 playsewithpan SE_W207B, +63 end Move_HELPING_HAND: - loadspritegfx 0x2807 - createvisualtask sub_815EC48, 0x5 - createsprite gUnknown_085CE8AC, 0x28, 0 - createsprite gUnknown_085CE8AC, 0x28, 1 - delay 0x13 + loadspritegfx ANIM_TAG_HAND + createvisualtask sub_815EC48, 5 + createsprite gUnknown_085CE8AC, 40, 0 + createsprite gUnknown_085CE8AC, 40, 1 + delay 19 playsewithpan SE_W227, 0 - createvisualtask sub_80D52D0, 0x2, 2, 2, 0, 5, 1 - delay 0xE + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 2, 0, 5, 1 + delay 14 playsewithpan SE_W227, 0 - createvisualtask sub_80D52D0, 0x2, 2, 2, 0, 5, 1 - delay 0x14 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 2, 0, 5, 1 + delay 20 playsewithpan SE_W227, 0 - createvisualtask sub_80D52D0, 0x2, 2, 3, 0, 10, 1 - createvisualtask sub_80A7B98, 0x2, 2, RGB_YELLOW, 12, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 3, 0, 10, 1 + createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATK_PARTNER, RGB_YELLOW, 12, 1, 1 end Move_ASSIST: - loadspritegfx 0x280C - createsprite gUnknown_085CE804, 0x32, 112, -16, 140, 128, 36 - delay 0x2 - createsprite gUnknown_085CE804, 0x32, 208, 128, -16, 48, 36 + loadspritegfx ANIM_TAG_252 + createsprite gUnknown_085CE804, 50, 112, -16, 140, 128, 36 + delay 2 + createsprite gUnknown_085CE804, 50, 208, 128, -16, 48, 36 playsewithpan SE_W010, 0 - delay 0x2 - createsprite gUnknown_085CE804, 0x32, -16, 112, 256, -16, 36 + delay 2 + createsprite gUnknown_085CE804, 50, -16, 112, 256, -16, 36 playsewithpan SE_W010, 0 - delay 0x2 - createsprite gUnknown_085CE804, 0x32, 108, 128, 84, -16, 36 + delay 2 + createsprite gUnknown_085CE804, 50, 108, 128, 84, -16, 36 playsewithpan SE_W010, 0 - delay 0x2 - createsprite gUnknown_085CE804, 0x32, -16, 56, 256, 56, 36 + delay 2 + createsprite gUnknown_085CE804, 50, -16, 56, 256, 56, 36 playsewithpan SE_W010, 0 end Move_SUPERPOWER: - loadspritegfx 0x27E4 - loadspritegfx 0x2810 - loadspritegfx 0x2811 + loadspritegfx ANIM_TAG_212 + loadspritegfx ANIM_TAG_256 + loadspritegfx ANIM_TAG_257 monbg ANIM_ATK_PARTNER monbgprio_28 ANIM_ATTACKER - setalpha 0x80C - createsprite gUnknown_08595FEC, 0x82, 0 + setalpha 12, 8 + createsprite gUnknown_08595FEC, 130, 0 playsewithpan SE_W025, -64 - delay 0x14 - createsprite gUnknown_085972D8, 0x2, 4, 1, 180, 1 - createvisualtask sub_8159244, 0x5, 234, 0 - delay 0x28 - createsprite gUnknown_08596004, 0x29, 200, 96, 1, 120 - delay 0x8 - createsprite gUnknown_08596004, 0x29, 20, 248, 4, 112 - delay 0x8 - createsprite gUnknown_08596004, 0x29, 130, 160, 2, 104 - delay 0x8 - createsprite gUnknown_08596004, 0x29, 160, 192, 0, 96 - delay 0x8 - createsprite gUnknown_08596004, 0x29, 60, 288, 3, 88 - delay 0x4A - createsprite gUnknown_0859601C, 0x83, 0 + delay 20 + createsprite gBattleAnimSpriteTemplate_85972D8, 2, 4, 1, 180, 1 + createvisualtask sub_8159244, 5, 234, 0 + delay 40 + createsprite gUnknown_08596004, 41, 200, 96, 1, 120 + delay 8 + createsprite gUnknown_08596004, 41, 20, 248, 4, 112 + delay 8 + createsprite gUnknown_08596004, 41, 130, 160, 2, 104 + delay 8 + createsprite gUnknown_08596004, 41, 160, 192, 0, 96 + delay 8 + createsprite gUnknown_08596004, 41, 60, 288, 3, 88 + delay 74 + createsprite gUnknown_0859601C, 131, 0 playsewithpan SE_W207, -64 - delay 0x10 - createvisualtask sub_80D52D0, 0x2, 1, 8, 0, 16, 1 + delay 16 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 8, 0, 16, 1 playsewithpan SE_W025B, +63 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff - delay 0x1 + delay 1 end Move_RECYCLE: - loadspritegfx 0x2826 + loadspritegfx ANIM_TAG_RECYCLE monbg ANIM_ATTACKER - setalpha 0x1000 - delay 0x1 - createsprite gUnknown_085CE9B0, 0x2 - loopsewithpan SE_W036, -64, 0x18, 0x3 + setalpha 0, 16 + delay 1 + createsprite gUnknown_085CE9B0, 2 + loopsewithpan SE_W036, -64, 24, 3 waitforvisualfinish - createvisualtask sub_80A7B98, 0x5, 0, RGB_WHITE, 12, 2, 1 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB_WHITE, 12, 2, 1 playsewithpan SE_W036, -64 waitforvisualfinish blendoff clearmonbg ANIM_ATTACKER - delay 0x1 + delay 1 end Move_BRICK_BREAK: - loadspritegfx 0x27B7 - loadspritegfx 0x2797 - loadspritegfx 0x279F - loadspritegfx 0x27E0 - choosetwoturnanim AnimScript_82CE0A7, AnimScript_82CE154 - -AnimScript_82CE0A7: + loadspritegfx ANIM_TAG_167 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_208 + choosetwoturnanim BrickBreakNormal, BrickBreakShatteredWall +BrickBreakNormal: monbg ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_0857FE28, 0x2, 3, 8 - delay 0x4 - delay 0x1 - createsprite gUnknown_08597358, 0x3, -18, -18, 1, 1 + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8 + delay 4 + delay 1 + createsprite gBasicHitSplatSpriteTemplate, 3, -18, -18, 1, 1 playsewithpan SE_W233, +63 - delay 0x14 - createsprite gUnknown_0857FE28, 0x2, 3, 8 - delay 0x5 - createsprite gUnknown_08597358, 0x3, 18, 18, 1, 1 + delay 20 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 18, 18, 1, 1 playsewithpan SE_W233, +63 - delay 0x14 - createvisualtask sub_80D5C50, 0x2, 0, -24, 0, 24, 10, 24, 3 - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 6, RGB_BLACK - delay 0x25 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 - createsprite gUnknown_08595E98, 0x4, 0, 0, 10, 1, 0 + delay 20 + createvisualtask AnimTask_WindUpLunge, 2, ANIM_ATTACKER, -24, 0, 24, 10, 24, 3 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 6, RGB_BLACK + delay 37 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createsprite gFistFootSpriteTemplate, 4, 0, 0, 10, 1, 0 playsewithpan SE_W233B, +63 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 2, 6, 0, RGB_BLACK + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 6, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_TARGET end - -AnimScript_82CE154: +BrickBreakShatteredWall: monbg ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_0857FE28, 0x2, 3, 8 - delay 0x4 - createsprite gUnknown_08595F90, 0x3, 1, 0, 0, 90, 10 - delay 0x1 - createsprite gUnknown_08597358, 0x3, -18, -18, 1, 1 + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8 + delay 4 + createsprite gUnknown_08595F90, 3, 1, 0, 0, 90, 10 + delay 1 + createsprite gBasicHitSplatSpriteTemplate, 3, -18, -18, 1, 1 playsewithpan SE_W233, +63 - delay 0x14 - createsprite gUnknown_0857FE28, 0x2, 3, 8 - delay 0x5 - createsprite gUnknown_08597358, 0x3, 18, 18, 1, 1 + delay 20 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 3, 18, 18, 1, 1 playsewithpan SE_W233, +63 - delay 0x14 - createvisualtask sub_80D5C50, 0x2, 0, -24, 0, 24, 10, 24, 3 - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 6, RGB_BLACK - delay 0x25 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 - createsprite gUnknown_08595E98, 0x4, 0, 0, 10, 1, 0 + delay 20 + createvisualtask AnimTask_WindUpLunge, 2, ANIM_ATTACKER, -24, 0, 24, 10, 24, 3 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 6, RGB_BLACK + delay 37 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createsprite gFistFootSpriteTemplate, 4, 0, 0, 10, 1, 0 playsewithpan SE_W233B, +63 waitforvisualfinish - createsprite gUnknown_08595FA8, 0x2, 1, 0, -8, -12 - createsprite gUnknown_08595FA8, 0x2, 1, 1, 8, -12 - createsprite gUnknown_08595FA8, 0x2, 1, 2, -8, 12 - createsprite gUnknown_08595FA8, 0x2, 1, 3, 8, 12 + createsprite gUnknown_08595FA8, 2, 1, 0, -8, -12 + createsprite gUnknown_08595FA8, 2, 1, 1, 8, -12 + createsprite gUnknown_08595FA8, 2, 1, 2, -8, 12 + createsprite gUnknown_08595FA8, 2, 1, 3, 8, 12 playsewithpan SE_W280, +63 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 2, 6, 0, RGB_BLACK + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 6, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_TARGET end Move_YAWN: - loadspritegfx 0x2802 - createvisualtask sub_815D64C, 0x2, 0 + loadspritegfx ANIM_TAG_242 + createvisualtask sub_815D64C, 2, 0 playsewithpan SE_W281, -64 waitforvisualfinish - createsprite gUnknown_085CE68C, 0x85, 2 + createsprite gUnknown_085CE68C, 133, 2 playsewithpan SE_W255, -64 - delay 0x4 - createsprite gUnknown_085CE68C, 0x85, 1 - delay 0x4 - createsprite gUnknown_085CE68C, 0x85, 0 + delay 4 + createsprite gUnknown_085CE68C, 133, 1 + delay 4 + createsprite gUnknown_085CE68C, 133, 0 waitforvisualfinish - createvisualtask sub_815D64C, 0x2, 1 + createvisualtask sub_815D64C, 2, 1 playsewithpan SE_W281, +63 end Move_ENDEAVOR: - loadspritegfx 0x2803 - loadspritegfx 0x2797 - createvisualtask sub_815DCA4, 0x2, 0, 2 - loopsewithpan SE_W039, -64, 0x18, 0x2 - createvisualtask sub_80A7B98, 0x5, 0, RGB(31, 21, 0), 12, 1, 2 - delay 0x6 - createvisualtask sub_80D6388, 0x5, 0, 1, 8, 1, 0 - createsprite gUnknown_08597358, 0x82, 12, -12, 1, 2 + loadspritegfx ANIM_TAG_243 + loadspritegfx ANIM_TAG_135 + createvisualtask sub_815DCA4, 2, 0, 2 + loopsewithpan SE_W039, -64, 24, 2 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(31, 21, 0), 12, 1, 2 + delay 6 + createvisualtask sub_80D6388, 5, 0, 1, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, 12, -12, 1, 2 playsewithpan SE_W003, +63 - delay 0x18 - createvisualtask sub_80D6388, 0x5, 0, 1, 8, 1, 0 - createsprite gUnknown_08597358, 0x82, -12, 12, 1, 2 + delay 24 + createvisualtask sub_80D6388, 5, 0, 1, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, -12, 12, 1, 2 playsewithpan SE_W004, +63 end Move_ERUPTION: - loadspritegfx 0x27D9 - createsprite gUnknown_08597274, 0x2, 31, 2, 0, 4, RGB_RED + loadspritegfx ANIM_TAG_201 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 2, 0, 4, RGB_RED waitforvisualfinish - createvisualtask sub_8109460, 0x2 - waitplaysewithpan SE_W153, -64, 0x3C + createvisualtask sub_8109460, 2 + waitplaysewithpan SE_W153, -64, 60 waitforvisualfinish - createvisualtask sub_8109460, 0x2 - waitplaysewithpan SE_W153, -64, 0x3C + createvisualtask sub_8109460, 2 + waitplaysewithpan SE_W153, -64, 60 waitforvisualfinish - delay 0x1E - createsprite gUnknown_085955E8, 0x28, 200, -32, 0, 100, 0 - createsprite gUnknown_085955E8, 0x28, 30, -32, 16, 90, 1 - createsprite gUnknown_085955E8, 0x28, 150, -32, 32, 60, 2 - createsprite gUnknown_085955E8, 0x28, 90, -32, 48, 80, 3 - createsprite gUnknown_085955E8, 0x28, 110, -32, 64, 50, 0 - createsprite gUnknown_085955E8, 0x28, 60, -32, 80, 70, 1 - delay 0x16 - createvisualtask sub_81152DC, 0x5, 5, 8, 60 - createvisualtask sub_81152DC, 0x5, 4, 8, 60 - loopsewithpan SE_W088, +63, 0x10, 0xC - delay 0x50 - createsprite gUnknown_08597274, 0x28, 31, 4, 4, 0, RGB_RED + delay 30 + createsprite gUnknown_085955E8, 40, 200, -32, 0, 100, 0 + createsprite gUnknown_085955E8, 40, 30, -32, 16, 90, 1 + createsprite gUnknown_085955E8, 40, 150, -32, 32, 60, 2 + createsprite gUnknown_085955E8, 40, 90, -32, 48, 80, 3 + createsprite gUnknown_085955E8, 40, 110, -32, 64, 50, 0 + createsprite gUnknown_085955E8, 40, 60, -32, 80, 70, 1 + delay 22 + createvisualtask sub_81152DC, 5, 5, 8, 60 + createvisualtask sub_81152DC, 5, 4, 8, 60 + loopsewithpan SE_W088, +63, 16, 12 + delay 80 + createsprite gSimplePaletteBlendSpriteTemplate, 40, 31, 4, 4, 0, RGB_RED end Move_SKILL_SWAP: - loadspritegfx 0x280B - call AnimScript_82D7CD1 - createvisualtask sub_810FBF0, 0x3, 1 - createvisualtask sub_80A7B98, 0x5, 1, RGB_WHITE, 12, 3, 1 - loopsewithpan SE_W179, -64, 0x18, 0x3 - delay 0x10 - createvisualtask sub_810FBF0, 0x3, 0 - createvisualtask sub_80A7B98, 0x5, 0, RGB_WHITE, 12, 3, 1 + loadspritegfx ANIM_TAG_251 + call SetPsychicBackground + createvisualtask sub_810FBF0, 3, 1 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_TARGET, RGB_WHITE, 12, 3, 1 + loopsewithpan SE_W179, -64, 24, 3 + delay 16 + createvisualtask sub_810FBF0, 3, 0 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB_WHITE, 12, 3, 1 waitforvisualfinish - call AnimScript_82D7CDD + call UnsetPsychicBackground end Move_IMPRISON: - loadspritegfx 0x2809 - loadspritegfx 0x280A - call AnimScript_82D7CD1 + loadspritegfx ANIM_TAG_249 + loadspritegfx ANIM_TAG_X_SIGN + call SetPsychicBackground monbg ANIM_DEF_PARTNER - createvisualtask sub_810F940, 0x5 - delay 0x8 - loopsewithpan SE_W030, -64, 0x8, 0x5 + createvisualtask sub_810F940, 5 + delay 8 + loopsewithpan SE_W030, -64, 8, 5 waitforvisualfinish - delay 0x4 - createsprite gUnknown_085967AC, 0x5, 0, 40 - createvisualtask sub_81152DC, 0x5, 4, 1, 10 + delay 4 + createsprite gUnknown_085967AC, 5, 0, 40 + createvisualtask sub_81152DC, 5, 4, 1, 10 playsewithpan SE_W063, -64 clearmonbg ANIM_DEF_PARTNER - call AnimScript_82D7CDD + call UnsetPsychicBackground end Move_GRUDGE: - loadspritegfx 0x280D + loadspritegfx ANIM_TAG_253 monbg ANIM_ATTACKER monbgprio_29 fadetobg BG_GHOST playsewithpan SE_W060, -64 waitbgfadein - createvisualtask sub_8112C6C, 0x3 - loopsewithpan SE_W052, -64, 0x10, 0x4 - delay 0xA - delay 0x50 + createvisualtask sub_8112C6C, 3 + loopsewithpan SE_W052, -64, 16, 4 + delay 10 + delay 80 playsewithpan SE_W171, +63 waitforvisualfinish restorebg @@ -3933,256 +3870,256 @@ Move_GRUDGE: Move_CAMOUFLAGE: monbg ANIM_ATK_PARTNER monbgprio_28 ANIM_ATTACKER - setalpha 0x10 - createvisualtask sub_811675C, 0x5, 2, 3, 0, 14 - delay 0x10 - createvisualtask sub_81136E8, 0x2, 4 + setalpha 16, 0 + createvisualtask sub_811675C, 5, 2, 3, 0, 14 + delay 16 + createvisualtask sub_81136E8, 2, 4 playsewithpan SE_W185, -64 waitforvisualfinish - delay 0x8 - createvisualtask sub_811675C, 0x5, 2, 0, 0, 0 + delay 8 + createvisualtask sub_811675C, 5, 2, 0, 0, 0 waitforvisualfinish - createvisualtask sub_81137E4, 0x2, 1 + createvisualtask sub_81137E4, 2, 1 waitforvisualfinish blendoff clearmonbg ANIM_ATK_PARTNER end Move_TAIL_GLOW: - loadspritegfx 0x27E4 + loadspritegfx ANIM_TAG_212 monbg ANIM_ATTACKER - setalpha 0x80C - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 4, RGB_BLACK + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 4, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08596AC8, 0x42, 0 - delay 0x12 - loopsewithpan SE_W234, -64, 0x10, 0x6 + createsprite gUnknown_08596AC8, 66, 0 + delay 18 + loopsewithpan SE_W234, -64, 16, 6 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 4, 4, 0, RGB_BLACK + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 4, 0, RGB_BLACK clearmonbg ANIM_ATTACKER blendoff - delay 0x1 + delay 1 end Move_LUSTER_PURGE: - loadspritegfx 0x281B - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_267 + loadspritegfx ANIM_TAG_135 fadetobg BG_PSYCHIC waitbgfadeout - createvisualtask sub_815A5C8, 0x5 + createvisualtask sub_815A5C8, 5 waitbgfadein monbg ANIM_ATTACKER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W076, -64 - createsprite gUnknown_08596898, 0x29, 0, 0, 0, 0 - delay 0x14 - createvisualtask sub_8116664, 0x5, 5, 2, 0, 16, -1 - createvisualtask sub_8116848, 0x5, 10267, 2, 0, 16, -1 + createsprite gUnknown_08596898, 41, 0, 0, 0, 0 + delay 20 + createvisualtask sub_8116664, 5, 5, 2, 0, 16, RGB_WHITEALPHA + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_267, 2, 0, 16, RGB_WHITEALPHA waitforvisualfinish - createvisualtask sub_8116848, 0x5, 10135, 0, 12, 12, 23552 + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_135, 0, 12, 12, RGB(0, 0, 23) waitforvisualfinish - createsprite gUnknown_085973A0, 0x83, 1, 2 - createvisualtask sub_8159210, 0x5, 215, 63 - delay 0x3 - createsprite gUnknown_085973A0, 0x83, 1, 2 - createvisualtask sub_8159210, 0x5, 215, 63 - delay 0x3 - createsprite gUnknown_085973A0, 0x83, 1, 2 - createvisualtask sub_8159210, 0x5, 215, 63 - delay 0x3 - createsprite gUnknown_085973A0, 0x83, 1, 2 - createvisualtask sub_8159210, 0x5, 215, 63 - delay 0x3 - createsprite gUnknown_085973A0, 0x83, 1, 2 - createvisualtask sub_8159210, 0x5, 215, 63 - delay 0x3 - createsprite gUnknown_085973A0, 0x83, 1, 2 - createvisualtask sub_8159210, 0x5, 215, 63 + createsprite gUnknown_085973A0, 131, 1, 2 + createvisualtask sub_8159210, 5, 215, 63 + delay 3 + createsprite gUnknown_085973A0, 131, 1, 2 + createvisualtask sub_8159210, 5, 215, 63 + delay 3 + createsprite gUnknown_085973A0, 131, 1, 2 + createvisualtask sub_8159210, 5, 215, 63 + delay 3 + createsprite gUnknown_085973A0, 131, 1, 2 + createvisualtask sub_8159210, 5, 215, 63 + delay 3 + createsprite gUnknown_085973A0, 131, 1, 2 + createvisualtask sub_8159210, 5, 215, 63 + delay 3 + createsprite gUnknown_085973A0, 131, 1, 2 + createvisualtask sub_8159210, 5, 215, 63 waitforvisualfinish - createvisualtask sub_8116664, 0x5, 5, 2, 16, 0, -1 - createvisualtask sub_81152DC, 0x5, 1, 5, 14 + createvisualtask sub_8116664, 5, 5, 2, 16, 0, RGB_WHITEALPHA + createvisualtask sub_81152DC, 5, 1, 5, 14 waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff - call AnimScript_82D7CDD + call UnsetPsychicBackground end Move_MIST_BALL: - loadspritegfx 0x27AB - loadspritegfx 0x281E - delay 0x0 + loadspritegfx ANIM_TAG_155 + loadspritegfx ANIM_TAG_270 + delay 0 playsewithpan SE_W081, -64 - createsprite gUnknown_08595C70, 0x80, 0, 0, 0, 0, 30, 0 + createsprite gUnknown_08595C70, 128, 0, 0, 0, 0, 30, 0 waitforvisualfinish playsewithpan SE_W028, +63 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 10, 0 - createsprite gUnknown_0859728C, 0x0, 1, 1, 1, 32279, 16, 0x7FFF, 16 - delay 0x0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 10, 0 + createsprite gComplexPaletteBlendSpriteTemplate, 0, 1, 1, 1, RGB(23, 16, 31), 16, 0x7FFF, 16 + delay 0 playsewithpan SE_W114, 0 - createvisualtask sub_810C324, 0x5 - createvisualtask sub_8116620, 0xA, 4, 3, 0, 16, 0x7FFF - delay 0x8 - createvisualtask sub_80D51AC, 0x2, 1, 4, 0, 70, 0 - delay 0x46 - createvisualtask sub_8116620, 0xA, 4, 2, 16, 0, 0x7FFF + createvisualtask sub_810C324, 5 + createvisualtask sub_8116620, 10, 4, 3, 0, 16, RGB_WHITE + delay 8 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 70, 0 + delay 70 + createvisualtask sub_8116620, 10, 4, 2, 16, 0, RGB_WHITE end Move_FEATHER_DANCE: - loadspritegfx 0x281E + loadspritegfx ANIM_TAG_270 monbg ANIM_DEF_PARTNER monbgprio_29 playsewithpan SE_W080, +63 - delay 0x0 - createsprite gUnknown_08596388, 0x80, 0, -16, 64, 2, 104, 11304, 32, 1 - delay 0x6 - createsprite gUnknown_08596388, 0x80, 0, -16, 32, 2, 104, 11304, 32, 1 - createsprite gUnknown_08596388, 0x80, 0, -16, 0, 2, 104, 11304, 32, 1 - delay 0x6 - createsprite gUnknown_08596388, 0x80, 0, -16, 224, 2, 104, 11304, 32, 1 - createsprite gUnknown_08596388, 0x80, 0, -16, 128, 2, 104, 11304, 32, 1 - delay 0x6 - createsprite gUnknown_08596388, 0x80, 0, -16, 192, 2, 104, 11304, 32, 1 - createsprite gUnknown_08596388, 0x80, 0, -16, 160, 2, 104, 11304, 32, 1 - delay 0x6 - createsprite gUnknown_08596388, 0x80, 0, -16, 96, 2, 104, 11304, 32, 1 + delay 0 + createsprite gUnknown_08596388, 128, 0, -16, 64, 2, 104, 11304, 32, 1 + delay 6 + createsprite gUnknown_08596388, 128, 0, -16, 32, 2, 104, 11304, 32, 1 + createsprite gUnknown_08596388, 128, 0, -16, 0, 2, 104, 11304, 32, 1 + delay 6 + createsprite gUnknown_08596388, 128, 0, -16, 224, 2, 104, 11304, 32, 1 + createsprite gUnknown_08596388, 128, 0, -16, 128, 2, 104, 11304, 32, 1 + delay 6 + createsprite gUnknown_08596388, 128, 0, -16, 192, 2, 104, 11304, 32, 1 + createsprite gUnknown_08596388, 128, 0, -16, 160, 2, 104, 11304, 32, 1 + delay 6 + createsprite gUnknown_08596388, 128, 0, -16, 96, 2, 104, 11304, 32, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end Move_TEETER_DANCE: - loadspritegfx 0x2758 - loadspritegfx 0x2759 - createvisualtask sub_8160164, 0x5 - createsprite gUnknown_08593050, 0x2, 0, 16, -2 + loadspritegfx ANIM_TAG_MUSIC_NOTES2 + loadspritegfx ANIM_TAG_DUCK + createvisualtask sub_8160164, 5 + createsprite gUnknown_08593050, 2, 0, 16, -2 playsewithpan SE_W298, -64 - delay 0x18 - createsprite gUnknown_08593050, 0x2, 0, 0, -2 + delay 24 + createsprite gUnknown_08593050, 2, 0, 0, -2 playsewithpan SE_W298, -64 - delay 0x18 - createsprite gUnknown_08593050, 0x2, 0, -16, -2 + delay 24 + createsprite gUnknown_08593050, 2, 0, -16, -2 playsewithpan SE_W298, -64 - delay 0x18 - createsprite gUnknown_08593050, 0x2, 1, -8, -2 + delay 24 + createsprite gUnknown_08593050, 2, 1, -8, -2 playsewithpan SE_W298, -64 - delay 0x18 - createsprite gUnknown_08593050, 0x2, 2, 8, -2 + delay 24 + createsprite gUnknown_08593050, 2, 2, 8, -2 playsewithpan SE_W298, -64 end Move_MUD_SPORT: - loadspritegfx 0x275A - createvisualtask sub_8104938, 0x2, 0, 6 - delay 0x18 - createsprite gUnknown_085971E4, 0x82, 0, -4, -16 - createsprite gUnknown_085971E4, 0x82, 0, 4, -12 + loadspritegfx ANIM_TAG_074 + createvisualtask sub_8104938, 2, 0, 6 + delay 24 + createsprite gUnknown_085971E4, 130, 0, -4, -16 + createsprite gUnknown_085971E4, 130, 0, 4, -12 playsewithpan SE_W091, -64 - delay 0x20 - createsprite gUnknown_085971E4, 0x82, 0, -3, -12 - createsprite gUnknown_085971E4, 0x82, 0, 5, -14 + delay 32 + createsprite gUnknown_085971E4, 130, 0, -3, -12 + createsprite gUnknown_085971E4, 130, 0, 5, -14 playsewithpan SE_W091, -64 - delay 0x20 - createsprite gUnknown_085971E4, 0x82, 0, -5, -18 - createsprite gUnknown_085971E4, 0x82, 0, 3, -14 + delay 32 + createsprite gUnknown_085971E4, 130, 0, -5, -18 + createsprite gUnknown_085971E4, 130, 0, 3, -14 playsewithpan SE_W091, -64 - delay 0x10 - createsprite gUnknown_085971E4, 0x82, 1, 220, 60 - waitplaysewithpan SE_W145B, 0, 0xF - delay 0x2 - createsprite gUnknown_085971E4, 0x82, 1, 60, 100 - waitplaysewithpan SE_W145B, 0, 0x19 - delay 0x2 - createsprite gUnknown_085971E4, 0x82, 1, 140, 55 - waitplaysewithpan SE_W145B, 0, 0xE - delay 0x2 - createsprite gUnknown_085971E4, 0x82, 1, 180, 50 - waitplaysewithpan SE_W145B, 0, 0xA - delay 0x2 - createsprite gUnknown_085971E4, 0x82, 1, 20, 90 - waitplaysewithpan SE_W145B, 0, 0x16 - delay 0x2 - createsprite gUnknown_085971E4, 0x82, 1, 90, 90 - waitplaysewithpan SE_W145B, 0, 0x16 - delay 0x2 - createsprite gUnknown_085971E4, 0x82, 1, 160, 60 - waitplaysewithpan SE_W145B, 0, 0xF - delay 0x2 - createsprite gUnknown_085971E4, 0x82, 1, 30, 90 - waitplaysewithpan SE_W145B, 0, 0x16 - delay 0x2 - createsprite gUnknown_085971E4, 0x82, 1, 120, 60 - waitplaysewithpan SE_W145B, 0, 0xF - delay 0x2 - createsprite gUnknown_085971E4, 0x82, 1, 200, 40 - waitplaysewithpan SE_W145B, 0, 0xA + delay 16 + createsprite gUnknown_085971E4, 130, 1, 220, 60 + waitplaysewithpan SE_W145B, 0, 15 + delay 2 + createsprite gUnknown_085971E4, 130, 1, 60, 100 + waitplaysewithpan SE_W145B, 0, 25 + delay 2 + createsprite gUnknown_085971E4, 130, 1, 140, 55 + waitplaysewithpan SE_W145B, 0, 14 + delay 2 + createsprite gUnknown_085971E4, 130, 1, 180, 50 + waitplaysewithpan SE_W145B, 0, 10 + delay 2 + createsprite gUnknown_085971E4, 130, 1, 20, 90 + waitplaysewithpan SE_W145B, 0, 22 + delay 2 + createsprite gUnknown_085971E4, 130, 1, 90, 90 + waitplaysewithpan SE_W145B, 0, 22 + delay 2 + createsprite gUnknown_085971E4, 130, 1, 160, 60 + waitplaysewithpan SE_W145B, 0, 15 + delay 2 + createsprite gUnknown_085971E4, 130, 1, 30, 90 + waitplaysewithpan SE_W145B, 0, 22 + delay 2 + createsprite gUnknown_085971E4, 130, 1, 120, 60 + waitplaysewithpan SE_W145B, 0, 15 + delay 2 + createsprite gUnknown_085971E4, 130, 1, 200, 40 + waitplaysewithpan SE_W145B, 0, 10 end Move_NEEDLE_ARM: - loadspritegfx 0x281A - loadspritegfx 0x2797 - loadspritegfx 0x279F - loopsewithpan SE_W030, +63, 0x2, 0x10 - createsprite gUnknown_08592888, 0x82, 1, 0, 0, -32, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, 22, -22, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, 30, 0, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, 20, 20, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, 0, 28, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, -19, 19, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, -27, 0, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, -18, -18, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, 0, -25, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, 17, -17, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, 23, 0, 16 - delay 0x2 - createsprite gUnknown_08592888, 0x82, 1, 0, 16, 16, 16 + loadspritegfx ANIM_TAG_266 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 + loopsewithpan SE_W030, +63, 2, 16 + createsprite gUnknown_08592888, 130, 1, 0, 0, -32, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, 22, -22, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, 30, 0, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, 20, 20, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, 0, 28, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, -19, 19, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, -27, 0, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, -18, -18, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, 0, -25, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, 17, -17, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, 23, 0, 16 + delay 2 + createsprite gUnknown_08592888, 130, 1, 0, 16, 16, 16 waitforvisualfinish - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 18, 1 - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 - createsprite gUnknown_08595E98, 0x84, 0, 0, 8, 1, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createsprite gFistFootSpriteTemplate, 132, 0, 0, 8, 1, 0 playsewithpan SE_W233B, +63 - createsprite gUnknown_08592888, 0x82, 1, 1, 0, -24, 10 - createsprite gUnknown_08592888, 0x82, 1, 1, 17, -17, 10 - createsprite gUnknown_08592888, 0x82, 1, 1, 24, 0, 10 - createsprite gUnknown_08592888, 0x82, 1, 1, 17, 17, 10 - createsprite gUnknown_08592888, 0x82, 1, 1, 0, 24, 10 - createsprite gUnknown_08592888, 0x82, 1, 1, -17, 17, 10 - createsprite gUnknown_08592888, 0x82, 1, 1, -24, 0, 10 - createsprite gUnknown_08592888, 0x82, 1, 1, -17, -17, 10 + createsprite gUnknown_08592888, 130, 1, 1, 0, -24, 10 + createsprite gUnknown_08592888, 130, 1, 1, 17, -17, 10 + createsprite gUnknown_08592888, 130, 1, 1, 24, 0, 10 + createsprite gUnknown_08592888, 130, 1, 1, 17, 17, 10 + createsprite gUnknown_08592888, 130, 1, 1, 0, 24, 10 + createsprite gUnknown_08592888, 130, 1, 1, -17, 17, 10 + createsprite gUnknown_08592888, 130, 1, 1, -24, 0, 10 + createsprite gUnknown_08592888, 130, 1, 1, -17, -17, 10 end Move_SLACK_OFF: - loadspritegfx 0x272F - createvisualtask sub_8160544, 0x2, 0 + loadspritegfx ANIM_TAG_BLUE_STAR + createvisualtask sub_8160544, 2, 0 playsewithpan SE_W281, -64 waitforvisualfinish - call AnimScript_82D79DF + call HealingEffect waitforvisualfinish end Move_CRUSH_CLAW: - loadspritegfx 0x27B7 - loadspritegfx 0x2737 - loadspritegfx 0x27E0 + loadspritegfx ANIM_TAG_167 + loadspritegfx ANIM_TAG_CLAW_SLASH + loadspritegfx ANIM_TAG_208 monbg ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_0857FE28, 0x2, 6, 4 - delay 0x4 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 18, 1 - createsprite gUnknown_08597138, 0x82, -10, -10, 0 - createsprite gUnknown_08597138, 0x82, -10, 10, 0 + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 18, 1 + createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, -10, 0 + createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, 10, 0 playsewithpan SE_W013, +63 - delay 0xC - createsprite gUnknown_08597138, 0x82, 10, -10, 1 - createsprite gUnknown_08597138, 0x82, 10, 10, 1 + delay 12 + createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, -10, 1 + createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, 10, 1 playsewithpan SE_W013, +63 waitforvisualfinish blendoff @@ -4191,189 +4128,189 @@ Move_CRUSH_CLAW: Move_AROMATHERAPY: playsewithpan SE_W080, 0 - loadspritegfx 0x27AF - loadspritegfx 0x27DB - loadspritegfx 0x2741 - createsprite gUnknown_08597274, 0x0, 1, 0, 0, 7, RGB(13, 31, 12) - delay 0x1 + loadspritegfx ANIM_TAG_159 + loadspritegfx ANIM_TAG_203 + loadspritegfx ANIM_TAG_SPARKLE + createsprite gSimplePaletteBlendSpriteTemplate, 0, 1, 0, 0, 7, RGB(13, 31, 12) + delay 1 monbg ANIM_ATTACKER - delay 0x1 - createsprite gUnknown_085927AC, 0x0, 24, 16, 0, 2, 2, 0, 0 - createsprite gUnknown_085927AC, 0x42, 64, 24, 0, 3, 1, 1, 0 - createsprite gUnknown_085927C4, 0x0, 16, 24, 0, 2, 1, 0, 0 - delay 0x14 - createsprite gUnknown_085927AC, 0x42, 48, 12, 0, 4, 3, 1, 0 - createsprite gUnknown_085927AC, 0x0, 100, 16, 0, 3, 2, 0, 0 - createsprite gUnknown_085927AC, 0x0, 74, 24, 180, 3, 2, 0, 0 - delay 0xA - createsprite gUnknown_085927AC, 0x42, 80, 30, 0, 4, 1, 1, 0 - createsprite gUnknown_085927AC, 0x0, 128, 12, 0, 3, 3, 0, 0 - createsprite gUnknown_085927C4, 0x0, 90, 16, 0, 2, 1, 0, 0 + delay 1 + createsprite gUnknown_085927AC, 0, 24, 16, 0, 2, 2, 0, 0 + createsprite gUnknown_085927AC, 66, 64, 24, 0, 3, 1, 1, 0 + createsprite gUnknown_085927C4, 0, 16, 24, 0, 2, 1, 0, 0 + delay 20 + createsprite gUnknown_085927AC, 66, 48, 12, 0, 4, 3, 1, 0 + createsprite gUnknown_085927AC, 0, 100, 16, 0, 3, 2, 0, 0 + createsprite gUnknown_085927AC, 0, 74, 24, 180, 3, 2, 0, 0 + delay 10 + createsprite gUnknown_085927AC, 66, 80, 30, 0, 4, 1, 1, 0 + createsprite gUnknown_085927AC, 0, 128, 12, 0, 3, 3, 0, 0 + createsprite gUnknown_085927C4, 0, 90, 16, 0, 2, 1, 0, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER - delay 0x1 - createsprite gUnknown_08597274, 0x0, 1, 0, 7, 0, RGB(13, 31, 12) - delay 0x1 + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 1, 0, 7, 0, RGB(13, 31, 12) + delay 1 playsewithpan SE_W287, -64 - createvisualtask sub_815DFCC, 0x2, 1 + createvisualtask sub_815DFCC, 2, 1 waitforvisualfinish playsewithpan SE_W234, -64 - createsprite gUnknown_08592B94, 0x10, -15, 0, 0, 0, 32, 60, 1 - delay 0x8 - createsprite gUnknown_08592B94, 0x10, 12, -5, 0, 0, 32, 60, 1 + createsprite gUnknown_08592B94, 16, -15, 0, 0, 0, 32, 60, 1 + delay 8 + createsprite gUnknown_08592B94, 16, 12, -5, 0, 0, 32, 60, 1 waitforvisualfinish playsewithpan SE_REAPOKE, -64 - createsprite gUnknown_08597274, 0x0, 43, 3, 10, 0, RGB(13, 31, 12) - createsprite gUnknown_08593868, 0x10, 0, 0, 0, 1 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 43, 3, 10, 0, RGB(13, 31, 12) + createsprite gUnknown_08593868, 16, 0, 0, 0, 1 waitforvisualfinish end Move_FAKE_TEARS: - loadspritegfx 0x27AB - loadspritegfx 0x27E1 - loadspritegfx 0x2758 - createvisualtask sub_8116848, 0x5, 10155, 0, 4, 4, RGB(12, 11, 31) + loadspritegfx ANIM_TAG_155 + loadspritegfx ANIM_TAG_209 + loadspritegfx ANIM_TAG_MUSIC_NOTES2 + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_155, 0, 4, 4, RGB(12, 11, 31) waitforvisualfinish - createvisualtask sub_815C478, 0x5, 0, 2, 1 - loopsewithpan SE_W039, -64, 0xC, 0x4 - delay 0x8 - createsprite gUnknown_085970E8, 0x2, 0, 0 - createsprite gUnknown_085970E8, 0x2, 0, 1 - delay 0x8 - createsprite gUnknown_085970E8, 0x2, 0, 2 - createsprite gUnknown_085970E8, 0x2, 0, 3 - delay 0x8 - createsprite gUnknown_085970E8, 0x2, 0, 0 - createsprite gUnknown_085970E8, 0x2, 0, 1 - delay 0x8 - createsprite gUnknown_085970E8, 0x2, 0, 2 - createsprite gUnknown_085970E8, 0x2, 0, 3 + createvisualtask sub_815C478, 5, 0, 2, 1 + loopsewithpan SE_W039, -64, 12, 4 + delay 8 + createsprite gUnknown_085970E8, 2, 0, 0 + createsprite gUnknown_085970E8, 2, 0, 1 + delay 8 + createsprite gUnknown_085970E8, 2, 0, 2 + createsprite gUnknown_085970E8, 2, 0, 3 + delay 8 + createsprite gUnknown_085970E8, 2, 0, 0 + createsprite gUnknown_085970E8, 2, 0, 1 + delay 8 + createsprite gUnknown_085970E8, 2, 0, 2 + createsprite gUnknown_085970E8, 2, 0, 3 waitforvisualfinish end Move_AIR_CUTTER: - loadspritegfx 0x2713 - loadspritegfx 0x279A - loadspritegfx 0x2797 - delay 0x0 + loadspritegfx ANIM_TAG_AIR_WAVE + loadspritegfx ANIM_TAG_138 + loadspritegfx ANIM_TAG_135 + delay 0 monbg ANIM_DEF_PARTNER - setalpha 0x80C - delay 0x0 - createvisualtask sub_8103CF0, 0x2, 32, -24, 1536, 2, 128 + setalpha 12, 8 + delay 0 + createvisualtask sub_8103CF0, 2, 32, -24, 1536, 2, 128 waitforvisualfinish playsewithpan SE_W015, +63 - createsprite gUnknown_08592A34, 0x2, 40, -32, 0, 2 - delay 0x5 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 - createvisualtask sub_80D52D0, 0x2, 3, 2, 0, 8, 1 + createsprite gUnknown_08592A34, 2, 40, -32, 0, 2 + delay 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 8, 1 waitforvisualfinish blendoff clearmonbg ANIM_DEF_PARTNER - delay 0x0 + delay 0 end Move_ODOR_SLEUTH: monbg ANIM_TARGET - createvisualtask sub_815F620, 0x5 - delay 0x18 - createsprite gUnknown_0857FE28, 0x2, 3, 4 + createvisualtask sub_815F620, 5 + delay 24 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 4 playsewithpan SE_W207, -64 - delay 0x6 - createsprite gUnknown_0857FE28, 0x2, 3, 4 + delay 6 + createsprite gHorizontalLungeSpriteTemplate, 2, 3, 4 playsewithpan SE_W207, -64 waitforvisualfinish clearmonbg ANIM_TARGET - delay 0x1 - createsprite gUnknown_0859728C, 0x2, 1, 3, 1, -1, 16, -1, 0 + delay 1 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_WHITEALPHA, 16, -1, 0 playsewithpan SE_W043, -64 end Move_GRASS_WHISTLE: - loadspritegfx 0x2758 - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 4, RGB(18, 31, 12) + loadspritegfx ANIM_TAG_MUSIC_NOTES2 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 4, RGB(18, 31, 12) waitforvisualfinish - createvisualtask sub_8102BE8, 0x2 + createvisualtask sub_8102BE8, 2 waitforvisualfinish - panse_1B SE_W320, -64, +63, +2, 0x0 - createsprite gUnknown_08593008, 0x82, 7, 1, 0 - delay 0x5 - createsprite gUnknown_08593008, 0x82, 6, 1, 0 - delay 0x5 - createsprite gUnknown_08593008, 0x82, 1, 1, 0 - delay 0x5 - createsprite gUnknown_08593008, 0x82, 2, 1, 0 - delay 0x5 - createsprite gUnknown_08593008, 0x82, 3, 1, 0 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 2, 1, 0 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 5, 1, 0 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 6, 1, 0 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 2, 1, 0 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 2, 1, 0 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 1, 1, 0 - delay 0x4 - createsprite gUnknown_08593008, 0x82, 5, 1, 0 - delay 0x4 + panse_1B SE_W320, -64, +63, +2, 0 + createsprite gUnknown_08593008, 130, 7, 1, 0 + delay 5 + createsprite gUnknown_08593008, 130, 6, 1, 0 + delay 5 + createsprite gUnknown_08593008, 130, 1, 1, 0 + delay 5 + createsprite gUnknown_08593008, 130, 2, 1, 0 + delay 5 + createsprite gUnknown_08593008, 130, 3, 1, 0 + delay 4 + createsprite gUnknown_08593008, 130, 2, 1, 0 + delay 4 + createsprite gUnknown_08593008, 130, 5, 1, 0 + delay 4 + createsprite gUnknown_08593008, 130, 6, 1, 0 + delay 4 + createsprite gUnknown_08593008, 130, 2, 1, 0 + delay 4 + createsprite gUnknown_08593008, 130, 2, 1, 0 + delay 4 + createsprite gUnknown_08593008, 130, 1, 1, 0 + delay 4 + createsprite gUnknown_08593008, 130, 5, 1, 0 + delay 4 waitforvisualfinish - createvisualtask sub_8102CA0, 0x2 - createsprite gUnknown_08597274, 0x2, 1, 4, 4, 0, RGB(18, 31, 12) + createvisualtask sub_8102CA0, 2 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 4, 0, RGB(18, 31, 12) waitforvisualfinish end Move_TICKLE: - loadspritegfx 0x27EA - createsprite gUnknown_08597274, 0x2, 2, 0, 0, 16, RGB_BLACK + loadspritegfx ANIM_TAG_218 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 0, 0, 16, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08593A84, 0x0, -16, -8 - createsprite gUnknown_08593A84, 0x0, 16, -8 + createsprite gUnknown_08593A84, 0, -16, -8 + createsprite gUnknown_08593A84, 0, 16, -8 playsewithpan SE_W197, -64 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 2, 0, 16, 0, RGB_BLACK + createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 0, 16, 0, RGB_BLACK waitforvisualfinish - delay 0x14 - createvisualtask sub_80D5EB8, 0x3, 0, 6, 1280, 3, 0 - delay 0xC - createvisualtask sub_815C478, 0x3, 1, 6, 2 - loopsewithpan SE_W039, +63, 0x8, 0x8 + delay 20 + createvisualtask AnimTask_SwayMon, 3, 0, 6, 1280, 3, ANIM_ATTACKER + delay 12 + createvisualtask sub_815C478, 3, 1, 6, 2 + loopsewithpan SE_W039, +63, 8, 8 waitforvisualfinish end Move_WATER_SPOUT: - loadspritegfx 0x281C - loadspritegfx 0x27A4 + loadspritegfx ANIM_TAG_268 + loadspritegfx ANIM_TAG_148 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createvisualtask sub_81080E4, 0x5 + setalpha 12, 8 + createvisualtask sub_81080E4, 5 playsewithpan SE_W029, -64 - delay 0x2C + delay 44 playsewithpan SE_W291, -64 waitforvisualfinish - delay 0x10 - createvisualtask sub_81085C8, 0x5 + delay 16 + createvisualtask sub_81085C8, 5 playsewithpan SE_W057, +63 clearmonbg ANIM_DEF_PARTNER blendoff end Move_SHADOW_PUNCH: - loadspritegfx 0x2797 - loadspritegfx 0x279F + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 fadetobg BG_GHOST waitbgfadein monbg ANIM_ATK_PARTNER - setalpha 0x809 - createvisualtask sub_80A8BC4, 0x2, 0, 13 + setalpha 9, 8 + createvisualtask sub_80A8BC4, 2, 0, 13 playsewithpan SE_W026, -64 - delay 0x6 - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 - createsprite gUnknown_08595E98, 0x84, 0, 0, 8, 1, 0 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createsprite gFistFootSpriteTemplate, 132, 0, 0, 8, 1, 0 playsewithpan SE_W004, +63 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff @@ -4382,37 +4319,37 @@ Move_SHADOW_PUNCH: end Move_EXTRASENSORY: - call AnimScript_82D7CD1 + call SetPsychicBackground monbg ANIM_DEF_PARTNER - setalpha 0x80C - createvisualtask sub_80A7B98, 0x5, 0, RGB(27, 27, 0), 12, 1, 1 - createvisualtask sub_810FE14, 0x5, 0 + setalpha 12, 8 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(27, 27, 0), 12, 1, 1 + createvisualtask sub_810FE14, 5, 0 playsewithpan SE_W020, +63 waitforvisualfinish - createvisualtask sub_80A7B98, 0x5, 0, RGB(27, 27, 0), 12, 1, 1 - createvisualtask sub_810FE14, 0x5, 1 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(27, 27, 0), 12, 1, 1 + createvisualtask sub_810FE14, 5, 1 playsewithpan SE_W020, +63 waitforvisualfinish - createvisualtask sub_8110034, 0x5, 0 - createvisualtask sub_810FE14, 0x5, 2 + createvisualtask sub_8110034, 5, 0 + createvisualtask sub_810FE14, 5, 2 playsewithpan SE_W043, -64 waitforvisualfinish blendoff clearmonbg ANIM_DEF_PARTNER - call AnimScript_82D7CDD + call UnsetPsychicBackground end Move_AERIAL_ACE: - loadspritegfx 0x279A + loadspritegfx ANIM_TAG_138 monbg ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80D5830, 0x2, 0, 24, 6, 1, 5 - createvisualtask sub_81169C0, 0x2, 0, 4, 7, 3 - createsprite gUnknown_08592A1C, 0x2, 40, -32, 0 + setalpha 12, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 + createvisualtask sub_81169C0, 2, 0, 4, 7, 3 + createsprite gCuttingSliceSpriteTemplate, 2, 40, -32, 0 playsewithpan SE_W013B, -64 - delay 0x5 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 10, 1 - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 10, 0, 0 + delay 5 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 10, 0, 0 playsewithpan SE_W013, +63 waitforvisualfinish clearmonbg ANIM_TARGET @@ -4420,157 +4357,157 @@ Move_AERIAL_ACE: end Move_IRON_DEFENSE: - loopsewithpan SE_REAPOKE, -64, 0x1C, 0x2 - createvisualtask sub_81144F8, 0x5, 0, 0, 0 - createsprite gUnknown_0859728C, 0x2, 1, 8, 2, -1, 14, -1, 0 + loopsewithpan SE_REAPOKE, -64, 28, 2 + createvisualtask sub_81144F8, 5, 0, 0, 0 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 8, 2, RGB_WHITEALPHA, 14, -1, 0 waitforvisualfinish end Move_BLOCK: - loadspritegfx 0x280A - createsprite gUnknown_085CE90C, 0xC2 + loadspritegfx ANIM_TAG_X_SIGN + createsprite gUnknown_085CE90C, 194 playsewithpan SE_W207, +63 end Move_HOWL: - loadspritegfx 0x2745 - createvisualtask sub_815D64C, 0x2, 0 - delay 0xC - call AnimScript_82CFECB - createvisualtask sub_8158D8C, 0x2, 0, 3 + loadspritegfx ANIM_TAG_053 + createvisualtask sub_815D64C, 2, 0 + delay 12 + call RoarEffect + createvisualtask sub_8158D8C, 2, 0, 3 waitforvisualfinish - delay 0x1E + delay 30 end Move_BULK_UP: - loadspritegfx 0x2766 - createvisualtask sub_8104AB4, 0x2 + loadspritegfx ANIM_TAG_086 + createvisualtask sub_8104AB4, 2 playsewithpan SE_W207, -64 waitforvisualfinish - createsprite gUnknown_08593658, 0x2 - loopsewithpan SE_W207, -64, 0x4, 0x2 + createsprite gUnknown_08593658, 2 + loopsewithpan SE_W207, -64, 4, 2 waitforvisualfinish end Move_COVET: - loadspritegfx 0x27E2 - loadspritegfx 0x27F0 - createvisualtask sub_815C478, 0x5, 0, 2, 0 - createsprite gUnknown_08593970, 0x3, 0, 20 + loadspritegfx ANIM_TAG_PURPLE_HEART + loadspritegfx ANIM_TAG_ITEM_BAG + createvisualtask sub_815C478, 5, 0, 2, 0 + createsprite gUnknown_08593970, 3, 0, 20 playsewithpan SE_W204, -64 - delay 0xF - createsprite gUnknown_08593970, 0x3, -20, 20 + delay 15 + createsprite gUnknown_08593970, 3, -20, 20 playsewithpan SE_W204, -64 - delay 0xF - createsprite gUnknown_08593970, 0x3, 20, 20 + delay 15 + createsprite gUnknown_08593970, 3, 20, 20 playsewithpan SE_W204, -64 waitforvisualfinish - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 - loopsewithpan SE_W146, +63, 0x4, 0x3 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 + loopsewithpan SE_W146, +63, 4, 3 end Move_VOLT_TACKLE: - loadspritegfx 0x2711 - loadspritegfx 0x27E4 - loadspritegfx 0x27E5 + loadspritegfx ANIM_TAG_SPARK + loadspritegfx ANIM_TAG_212 + loadspritegfx ANIM_TAG_213 monbg ANIM_ATTACKER - setalpha 0x80C - createvisualtask sub_8116620, 0xA, 1, 0, 0, 8, 0 + setalpha 12, 8 + createvisualtask sub_8116620, 10, 1, 0, 0, 8, RGB_BLACK waitforvisualfinish - createsprite gUnknown_085959A4, 0x1 + createsprite gUnknown_085959A4, 1 playsewithpan SE_W268, -64 waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff - delay 0x8 - createvisualtask sub_810AFCC, 0x5, 0 + delay 8 + createvisualtask sub_810AFCC, 5, 0 playsewithpan SE_W085, -64 waitforvisualfinish - createvisualtask sub_810AFCC, 0x5, 1 + createvisualtask sub_810AFCC, 5, 1 playsewithpan SE_W085, +63 waitforvisualfinish - createvisualtask sub_810AFCC, 0x5, 2 + createvisualtask sub_810AFCC, 5, 2 playsewithpan SE_W085, -64 waitforvisualfinish - createvisualtask sub_810AFCC, 0x5, 3 + createvisualtask sub_810AFCC, 5, 3 playsewithpan SE_W085, +63 waitforvisualfinish - createvisualtask sub_810AFCC, 0x5, 4 + createvisualtask sub_810AFCC, 5, 4 playsewithpan SE_W085, -64 - delay 0x8 - createvisualtask sub_80D52D0, 0x2, 1, 10, 0, 18, 1 + delay 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 10, 0, 18, 1 playsewithpan SE_W120, +63 - createsprite gUnknown_0859598C, 0x2, 1, 16, 16 - delay 0x2 - createsprite gUnknown_0859598C, 0x2, 1, -16, -16 - delay 0x8 - createvisualtask sub_810AE5C, 0x5 + createsprite gUnknown_0859598C, 2, 1, 16, 16 + delay 2 + createsprite gUnknown_0859598C, 2, 1, -16, -16 + delay 8 + createvisualtask sub_810AE5C, 5 waitforvisualfinish - createvisualtask sub_80D52D0, 0x2, 0, 3, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 3, 0, 9, 1 playsewithpan SE_W085B, -64 - createsprite gUnknown_0859598C, 0x2, 0, 16, 16 - delay 0x2 - createsprite gUnknown_0859598C, 0x2, 0, -16, -16 + createsprite gUnknown_0859598C, 2, 0, 16, 16 + delay 2 + createsprite gUnknown_0859598C, 2, 0, -16, -16 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 1, 0, 8, 0, 0 + createvisualtask sub_8116620, 10, 1, 0, 8, 0, RGB_BLACK waitforvisualfinish end Move_WATER_SPORT: - loadspritegfx 0x281C - createvisualtask sub_81088E4, 0x5 - delay 0x8 + loadspritegfx ANIM_TAG_268 + createvisualtask sub_81088E4, 5 + delay 8 playsewithpan SE_W057, -64 - delay 0x2C + delay 44 playsewithpan SE_W057, -64 - delay 0x2C + delay 44 playsewithpan SE_W057, -64 - delay 0x2C - panse_1B SE_W057, -64, +63, +2, 0x0 + delay 44 + panse_1B SE_W057, -64, +63, +2, 0 end Move_CALM_MIND: - loadspritegfx 0x27DB + loadspritegfx ANIM_TAG_203 monbg ANIM_ATK_PARTNER - createvisualtask sub_8116664, 0x5, 0, 0, 0, 16, 0 + createvisualtask sub_8116664, 5, 0, 0, 0, 16, RGB_BLACK waitforvisualfinish - createvisualtask sub_81177E4, 0x5, 1 + createvisualtask sub_81177E4, 5, 1 waitforvisualfinish - createsprite gUnknown_08593850, 0x28, 0, 0, 0, 0 + createsprite gUnknown_08593850, 40, 0, 0, 0, 0 playsewithpan SE_W048, -64 - delay 0xE - createsprite gUnknown_08593850, 0x28, 0, 0, 0, 0 + delay 14 + createsprite gUnknown_08593850, 40, 0, 0, 0, 0 playsewithpan SE_W048, -64 - delay 0xE - createsprite gUnknown_08593850, 0x28, 0, 0, 0, 0 + delay 14 + createsprite gUnknown_08593850, 40, 0, 0, 0, 0 playsewithpan SE_W048, -64 waitforvisualfinish - createvisualtask sub_81177E4, 0x5, 0 + createvisualtask sub_81177E4, 5, 0 waitforvisualfinish - createvisualtask sub_8116664, 0x5, 0, 0, 16, 0, 0 + createvisualtask sub_8116664, 5, 0, 0, 16, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_ATK_PARTNER end Move_LEAF_BLADE: - loadspritegfx 0x274F - loadspritegfx 0x282D - createvisualtask sub_80FFFC0, 0x5 - delay 0x2 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + loadspritegfx ANIM_TAG_063 + loadspritegfx ANIM_TAG_285 + createvisualtask sub_80FFFC0, 5 + delay 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 playsewithpan SE_W015, +63 - delay 0x32 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + delay 50 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 playsewithpan SE_W015, +63 - delay 0x32 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + delay 50 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 playsewithpan SE_W015, +63 waitforvisualfinish monbg ANIM_TARGET - setalpha 0x80C - delay 0xC - createvisualtask sub_80D52D0, 0x2, 1, 8, 0, 18, 1 - createsprite gUnknown_085973D0, 0x82, 0, 0, 1, 36 + setalpha 12, 8 + delay 12 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 8, 0, 18, 1 + createsprite gUnknown_085973D0, 130, 0, 0, 1, 36 playsewithpan SE_W043, +63 waitforvisualfinish clearmonbg ANIM_TARGET @@ -4578,180 +4515,180 @@ Move_LEAF_BLADE: end Move_DRAGON_DANCE: - loadspritegfx 0x2809 + loadspritegfx ANIM_TAG_249 monbg ANIM_ATTACKER monbgprio_28 ANIM_ATTACKER - delay 0x1 - createvisualtask sub_81133E8, 0x5 + delay 1 + createvisualtask sub_81133E8, 5 playsewithpan SE_W100, -64 - delay 0x8 - createvisualtask sub_80A7CB4, 0x5, 10249, 19456, 14, 0, 3 - createsprite gUnknown_08596F98, 0x2, 0 - createsprite gUnknown_08596F98, 0x2, 43 - createsprite gUnknown_08596F98, 0x2, 85 - createsprite gUnknown_08596F98, 0x2, 128 - createsprite gUnknown_08596F98, 0x2, 170 - createsprite gUnknown_08596F98, 0x2, 213 - delay 0x1E + delay 8 + createvisualtask sub_80A7CB4, 5, 10249, 19456, 14, 0, 3 + createsprite gUnknown_08596F98, 2, 0 + createsprite gUnknown_08596F98, 2, 43 + createsprite gUnknown_08596F98, 2, 85 + createsprite gUnknown_08596F98, 2, 128 + createsprite gUnknown_08596F98, 2, 170 + createsprite gUnknown_08596F98, 2, 213 + delay 30 playsewithpan SE_W100, -64 - delay 0x1E + delay 30 playsewithpan SE_W100, -64 waitforvisualfinish clearmonbg ANIM_ATTACKER - delay 0x1 + delay 1 end Move_SHOCK_WAVE: - loadspritegfx 0x27E3 - loadspritegfx 0x27E4 - loadspritegfx 0x2711 - loadspritegfx 0x2735 + loadspritegfx ANIM_TAG_211 + loadspritegfx ANIM_TAG_212 + loadspritegfx ANIM_TAG_SPARK + loadspritegfx ANIM_TAG_LIGHTNING monbg ANIM_ATTACKER - setalpha 0x80C - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 4, RGB_BLACK + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 4, RGB_BLACK waitforvisualfinish - createvisualtask sub_810AAFC, 0x2, 0, 20, 0, 2 + createvisualtask sub_810AAFC, 2, 0, 20, 0, 2 playsewithpan SE_W268, -64 - delay 0xC - createsprite gUnknown_08595A18, 0x2 - delay 0x1E - createvisualtask sub_810B29C, 0x5 - delay 0xC + delay 12 + createsprite gUnknown_08595A18, 2 + delay 30 + createvisualtask sub_810B29C, 5 + delay 12 waitforvisualfinish - createvisualtask sub_810B55C, 0x5 + createvisualtask sub_810B55C, 5 playsewithpan SE_W161B, +63 waitforvisualfinish - createvisualtask sub_80D51AC, 0x2, 1, 0, 6, 18, 1 - createvisualtask sub_8116620, 0x5, 1, 3, 16, 0, 0x7FFF - createvisualtask sub_8116620, 0x5, 4, 0, 16, 16, 0 - delay 0x4 - createvisualtask sub_8116620, 0x5, 4, 0, 0, 0, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 6, 18, 1 + createvisualtask sub_8116620, 5, 1, 3, 16, 0, RGB_WHITE + createvisualtask sub_8116620, 5, 4, 0, 16, 16, RGB_BLACK + delay 4 + createvisualtask sub_8116620, 5, 4, 0, 0, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff end Move_HARDEN: - loopsewithpan SE_W231, -64, 0x1C, 0x2 - createvisualtask sub_81144F8, 0x5, 0, 0, 0 + loopsewithpan SE_W231, -64, 28, 2 + createvisualtask sub_81144F8, 5, 0, 0, 0 waitforvisualfinish end Move_BELLY_DRUM: - loadspritegfx 0x2758 - loadspritegfx 0x27D1 - createvisualtask sub_8102BE8, 0x2 + loadspritegfx ANIM_TAG_MUSIC_NOTES2 + loadspritegfx ANIM_TAG_193 + createvisualtask sub_8102BE8, 2 waitforvisualfinish - call AnimScript_82CF5A6 - createsprite gUnknown_0859309C, 0x2, 0, 0, 0, 0 + call BellyDrum1 + createsprite gUnknown_0859309C, 2, 0, 0, 0, 0 playsewithpan SE_W187, -64 - delay 0xF - call AnimScript_82CF58B - createsprite gUnknown_0859309C, 0x2, 1, 1, 1, 0 + delay 15 + call BellyDrum2 + createsprite gUnknown_0859309C, 2, 1, 1, 1, 0 playsewithpan SE_W187, -64 - delay 0xF - call AnimScript_82CF5A6 - createsprite gUnknown_0859309C, 0x2, 0, 3, 3, 128 + delay 15 + call BellyDrum1 + createsprite gUnknown_0859309C, 2, 0, 3, 3, 128 playsewithpan SE_W187, -64 - delay 0x7 - call AnimScript_82CF58B - createsprite gUnknown_0859309C, 0x2, 1, 2, 0, 128 + delay 7 + call BellyDrum2 + createsprite gUnknown_0859309C, 2, 1, 2, 0, 128 playsewithpan SE_W187, -64 - delay 0x7 - call AnimScript_82CF5A6 - createsprite gUnknown_0859309C, 0x2, 0, 1, 1, 0 + delay 7 + call BellyDrum1 + createsprite gUnknown_0859309C, 2, 0, 1, 1, 0 playsewithpan SE_W187, -64 - delay 0x7 - call AnimScript_82CF58B - createsprite gUnknown_0859309C, 0x2, 1, 0, 3, 0 + delay 7 + call BellyDrum2 + createsprite gUnknown_0859309C, 2, 1, 0, 3, 0 playsewithpan SE_W187, -64 waitforvisualfinish - createvisualtask sub_8102CA0, 0x2 + createvisualtask sub_8102CA0, 2 waitforvisualfinish end -AnimScript_82CF58B: - createsprite gUnknown_08593068, 0x3, 0 - createvisualtask sub_80D51AC, 0x2, 0, 0, 8, 2, 1 +BellyDrum2: + createsprite gUnknown_08593068, 3, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return -AnimScript_82CF5A6: - createsprite gUnknown_08593068, 0x3, 1 - createvisualtask sub_80D51AC, 0x2, 0, 0, 8, 2, 1 +BellyDrum1: + createsprite gUnknown_08593068, 3, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return Move_MIND_READER: - loadspritegfx 0x27CD - loadspritegfx 0x27CE - loadspritegfx 0x27CF + loadspritegfx ANIM_TAG_189 + loadspritegfx ANIM_TAG_OPENING_EYE + loadspritegfx ANIM_TAG_191 monbg ANIM_DEF_PARTNER playsewithpan SE_W109, +63 - createsprite gUnknown_085CE07C, 0x5, 0, 0, 1, 0 - createsprite gUnknown_085CE094, 0x5 - delay 0x28 + createsprite gUnknown_085CE07C, 5, 0, 0, 1, 0 + createsprite gUnknown_085CE094, 5 + delay 40 playsewithpan SE_W043, +63 - createvisualtask sub_8115A04, 0x2, 1, 1, 2, 0, 10, 0 - call AnimScript_82CF608 + createvisualtask sub_8115A04, 2, 1, 1, 2, 0, 10, RGB_BLACK + call MindReaderEffect waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end -AnimScript_82CF608: - createsprite gUnknown_085CE0AC, 0x4, 70, 0, 6 - createsprite gUnknown_085CE0AC, 0x4, 40, 40, 6 - createsprite gUnknown_085CE0AC, 0x4, 10, -60, 6 - createsprite gUnknown_085CE0AC, 0x4, -50, -40, 6 - createsprite gUnknown_085CE0AC, 0x4, -40, 40, 6 - createsprite gUnknown_085CE0AC, 0x4, 50, -50, 6 - delay 0x2 - createsprite gUnknown_085CE0AC, 0x4, 50, -30, 6 - createsprite gUnknown_085CE0AC, 0x4, 60, 10, 6 - createsprite gUnknown_085CE0AC, 0x4, 0, 60, 6 - createsprite gUnknown_085CE0AC, 0x4, 0, -40, 6 - createsprite gUnknown_085CE0AC, 0x4, -60, 20, 6 - createsprite gUnknown_085CE0AC, 0x4, -60, -30, 6 - delay 0x2 - createsprite gUnknown_085CE0AC, 0x4, -50, 50, 6 - createsprite gUnknown_085CE0AC, 0x4, -60, 20, 6 - createsprite gUnknown_085CE0AC, 0x4, -40, -40, 6 - createsprite gUnknown_085CE0AC, 0x4, 20, -60, 6 - createsprite gUnknown_085CE0AC, 0x4, 50, -50, 6 - createsprite gUnknown_085CE0AC, 0x4, 35, 40, 6 - delay 0x2 +MindReaderEffect: + createsprite gUnknown_085CE0AC, 4, 70, 0, 6 + createsprite gUnknown_085CE0AC, 4, 40, 40, 6 + createsprite gUnknown_085CE0AC, 4, 10, -60, 6 + createsprite gUnknown_085CE0AC, 4, -50, -40, 6 + createsprite gUnknown_085CE0AC, 4, -40, 40, 6 + createsprite gUnknown_085CE0AC, 4, 50, -50, 6 + delay 2 + createsprite gUnknown_085CE0AC, 4, 50, -30, 6 + createsprite gUnknown_085CE0AC, 4, 60, 10, 6 + createsprite gUnknown_085CE0AC, 4, 0, 60, 6 + createsprite gUnknown_085CE0AC, 4, 0, -40, 6 + createsprite gUnknown_085CE0AC, 4, -60, 20, 6 + createsprite gUnknown_085CE0AC, 4, -60, -30, 6 + delay 2 + createsprite gUnknown_085CE0AC, 4, -50, 50, 6 + createsprite gUnknown_085CE0AC, 4, -60, 20, 6 + createsprite gUnknown_085CE0AC, 4, -40, -40, 6 + createsprite gUnknown_085CE0AC, 4, 20, -60, 6 + createsprite gUnknown_085CE0AC, 4, 50, -50, 6 + createsprite gUnknown_085CE0AC, 4, 35, 40, 6 + delay 2 return Move_ICE_PUNCH: monbg ANIM_DEF_PARTNER - setalpha 0x80C - loadspritegfx 0x279D - loadspritegfx 0x2797 - loadspritegfx 0x279F - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 7, RGB_BLACK - createvisualtask sub_8116620, 0xA, 4, 2, 0, 9, 32588 - delay 0x14 + setalpha 12, 8 + loadspritegfx ANIM_TAG_141 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 7, RGB_BLACK + createvisualtask sub_8116620, 10, 4, 2, 0, 9, RGB(12, 26, 31) + delay 20 playsewithpan SE_W081, +63 - createsprite gUnknown_08595AE8, 0x2, 0 - createsprite gUnknown_08595AE8, 0x2, 64 - createsprite gUnknown_08595AE8, 0x2, 128 - createsprite gUnknown_08595AE8, 0x2, 192 - delay 0x5 - createsprite gUnknown_08595AD0, 0x2, 32 - createsprite gUnknown_08595AD0, 0x2, 96 - createsprite gUnknown_08595AD0, 0x2, 160 - createsprite gUnknown_08595AD0, 0x2, 224 - delay 0x11 - createsprite gUnknown_08595E98, 0x4, 0, -10, 8, 1, 0 - createsprite gUnknown_08597358, 0x3, 0, -10, 1, 1 + createsprite gUnknown_08595AE8, 2, 0 + createsprite gUnknown_08595AE8, 2, 64 + createsprite gUnknown_08595AE8, 2, 128 + createsprite gUnknown_08595AE8, 2, 192 + delay 5 + createsprite gUnknown_08595AD0, 2, 32 + createsprite gUnknown_08595AD0, 2, 96 + createsprite gUnknown_08595AD0, 2, 160 + createsprite gUnknown_08595AD0, 2, 224 + delay 17 + createsprite gFistFootSpriteTemplate, 4, 0, -10, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, -10, 1, 1 playsewithpan SE_W004, +63 - delay 0x2 - createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 3, 1 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 3, 1 waitforvisualfinish - delay 0xF - call AnimScript_82D7720 - delay 0x5 - createvisualtask sub_8116620, 0xA, 4, 2, 9, 0, 32588 + delay 15 + call FreezeEffect1 + delay 5 + createvisualtask sub_8116620, 10, 4, 2, 9, 0, RGB(12, 26, 31) waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 0, 7, 0, RGB_BLACK + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 7, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -4759,226 +4696,224 @@ Move_ICE_PUNCH: Move_REST: playsewithpan SE_W173, -64 - loadspritegfx 0x27F4 - createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 - delay 0x14 - createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 - delay 0x14 - createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 + loadspritegfx ANIM_TAG_LETTER_Z + createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0 + delay 20 + createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0 + delay 20 + createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0 waitforvisualfinish end Move_CONFUSION: monbg ANIM_DEF_PARTNER - call AnimScript_82D7CD1 - setalpha 0x808 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 10, 1 - createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 8, 0x7FFF + call SetPsychicBackground + setalpha 8, 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 + createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB_WHITE waitforvisualfinish playsewithpan SE_W048, +63 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 15, 1 - createvisualtask sub_80D6064, 0x5, -4, -4, 15, 1, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 15, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_TARGET, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff - delay 0x1 - call AnimScript_82D7CDD + delay 1 + call UnsetPsychicBackground end Move_PSYCHIC: monbg ANIM_DEF_PARTNER - call AnimScript_82D7CD1 - setalpha 0x808 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 10, 1 - createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 8, 767 + call SetPsychicBackground + setalpha 8, 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 + createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB(31, 23, 0) waitforvisualfinish - loopsewithpan SE_W048, +63, 0xA, 0x3 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 15, 1 - createvisualtask sub_80D6064, 0x5, -6, -6, 15, 1, 1 + loopsewithpan SE_W048, +63, 10, 3 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 15, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -6, -6, 15, ANIM_TARGET, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff - delay 0x1 - call AnimScript_82D7CDD + delay 1 + call UnsetPsychicBackground end Move_FUTURE_SIGHT: - goto AnimScript_82CF8F6 - -AnimScript_82CF8ED: + goto FutureSight +FutureSightContinue: waitforvisualfinish - delay 0x1 - call AnimScript_82D7CDD + delay 1 + call UnsetPsychicBackground end - -AnimScript_82CF8F6: +FutureSight: monbg ANIM_ATK_PARTNER playsewithpan SE_W060, -64 - call AnimScript_82D7CD1 - setalpha 0x808 + call SetPsychicBackground + setalpha 8, 8 playsewithpan SE_W048, -64 - createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 8, 0x7FFF - createvisualtask sub_80D6064, 0x5, -4, -4, 15, 0, 1 + createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB_WHITE + createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff - goto AnimScript_82CF8ED + goto FutureSightContinue Move_THUNDER: - loadspritegfx 0x2735 + loadspritegfx ANIM_TAG_LIGHTNING fadetobg BG_THUNDER waitbgfadeout - createvisualtask sub_8117660, 0x5, -256, 0, 1, -1 + createvisualtask sub_8117660, 5, -256, 0, 1, -1 waitbgfadein - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 16, RGB_BLACK - delay 0x10 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 16, RGB_BLACK + delay 16 + createvisualtask sub_8115F10, 2, 257, 257, 257 playsewithpan SE_W086, +63 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 16, -36 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 16, -20 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 16, 12 - delay 0x14 + delay 1 + createsprite gUnknown_085956C0, 130, 16, -36 + delay 1 + createsprite gUnknown_085956C0, 130, 16, -20 + delay 1 + createsprite gUnknown_085956C0, 130, 16, 12 + delay 20 createsprite gUnknown_085956C0, 0x86, -16, -32 playsewithpan SE_W086, +63 - delay 0x1 + delay 1 createsprite gUnknown_085956C0, 0x86, -16, -16 - delay 0x1 + delay 1 createsprite gUnknown_085956C0, 0x86, -16, 16 playsewithpan SE_W086, +63 - delay 0x5 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 24, -32 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 24, -16 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 24, 16 - delay 0x1E - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x5 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 0, -32 + delay 5 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 1 + createsprite gUnknown_085956C0, 130, 24, -32 + delay 1 + createsprite gUnknown_085956C0, 130, 24, -16 + delay 1 + createsprite gUnknown_085956C0, 130, 24, 16 + delay 30 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 5 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 1 + createsprite gUnknown_085956C0, 130, 0, -32 playsewithpan SE_W161B, +63 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 0, -16 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 0, 16 - delay 0xA - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1 - createvisualtask sub_810A094, 0x2, 30, 3, 1, 0 - delay 0x2 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1 - createsprite gUnknown_08597274, 0x82, 1, 2, 16, 0, RGB_BLACK + delay 1 + createsprite gUnknown_085956C0, 130, 0, -16 + delay 1 + createsprite gUnknown_085956C0, 130, 0, 16 + delay 10 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 1 + createvisualtask sub_810A094, 2, 30, 3, 1, 0 + delay 2 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, 130, 1, 2, 16, 0, RGB_BLACK waitforvisualfinish restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein end Move_THUNDER_PUNCH: - loadspritegfx 0x2797 - loadspritegfx 0x279F - loadspritegfx 0x2735 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_LIGHTNING monbg ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 16, RGB_BLACK + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 16, RGB_BLACK waitforvisualfinish playsewithpan SE_W004, +63 - createsprite gUnknown_08595E98, 0x84, 0, 0, 8, 1, 0 - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 - delay 0x1 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 0, -48 - delay 0x1 - createsprite gUnknown_085956C0, 0x2, 0, -16 - delay 0x1 - createsprite gUnknown_085956C0, 0x2, 0, 16 - delay 0x1 + createsprite gFistFootSpriteTemplate, 132, 0, 0, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + delay 1 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 1 + createsprite gUnknown_085956C0, 130, 0, -48 + delay 1 + createsprite gUnknown_085956C0, 2, 0, -16 + delay 1 + createsprite gUnknown_085956C0, 2, 0, 16 + delay 1 playsewithpan SE_W161B, +63 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x2 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 15, 1 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 - delay 0x1 - createsprite gUnknown_08597274, 0x2, 1, 2, 16, 0, RGB_BLACK - delay 0x14 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 16, 0, RGB_BLACK + delay 20 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_SACRED_FIRE: - loadspritegfx 0x2731 - loadspritegfx 0x2733 - loopsewithpan SE_W221, -64, 0x7, 0x5 - createsprite gUnknown_08595428, 0x2, -32, 0, 50, 5, -2, 0 - delay 0x1 - createsprite gUnknown_08595428, 0x42, -20, -10, 50, 5, -1, -1 - delay 0x1 - createsprite gUnknown_08595428, 0x42, 0, -16, 50, 5, 0, -1 - delay 0x1 - createsprite gUnknown_08595428, 0x42, 20, -10, 50, 5, 1, -1 - delay 0x1 - createsprite gUnknown_08595428, 0x2, 32, 0, 50, 5, 2, 0 - delay 0x1 - createsprite gUnknown_08595428, 0x2, 20, 10, 50, 5, 1, 1 - delay 0x1 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1 - createsprite gUnknown_08595428, 0x2, 0, 16, 50, 5, 0, 1 - delay 0x1 - createsprite gUnknown_08595428, 0x2, -20, 10, 50, 5, -1, 1 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1 + loadspritegfx ANIM_TAG_FIRE + loadspritegfx ANIM_TAG_035 + loopsewithpan SE_W221, -64, 7, 5 + createsprite gUnknown_08595428, 2, -32, 0, 50, 5, -2, 0 + delay 1 + createsprite gUnknown_08595428, 66, -20, -10, 50, 5, -1, -1 + delay 1 + createsprite gUnknown_08595428, 66, 0, -16, 50, 5, 0, -1 + delay 1 + createsprite gUnknown_08595428, 66, 20, -10, 50, 5, 1, -1 + delay 1 + createsprite gUnknown_08595428, 2, 32, 0, 50, 5, 2, 0 + delay 1 + createsprite gUnknown_08595428, 2, 20, 10, 50, 5, 1, 1 + delay 1 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 1 + createsprite gUnknown_08595428, 2, 0, 16, 50, 5, 0, 1 + delay 1 + createsprite gUnknown_08595428, 2, -20, 10, 50, 5, -1, 1 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 1 waitforvisualfinish playsewithpan SE_W221B, +63 - createsprite gUnknown_085953F8, 0x82, -16, 0, 70, 16, 0, 1 - delay 0xA + createsprite gUnknown_085953F8, 130, -16, 0, 70, 16, 0, 1 + delay 10 playsewithpan SE_W221B, +63 - createsprite gUnknown_085953F8, 0x82, 0, 0, 70, 16, 0, 1 - delay 0xA + createsprite gUnknown_085953F8, 130, 0, 0, 70, 16, 0, 1 + delay 10 playsewithpan SE_W221B, +63 - createsprite gUnknown_085953F8, 0x82, 16, 0, 80, 16, 0, 1 - delay 0x1 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1 + createsprite gUnknown_085953F8, 130, 16, 0, 80, 16, 0, 1 + delay 1 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 1 waitforvisualfinish - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 1 playsewithpan SE_W172B, +63 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, 0 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 0, 1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, -1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 2, 1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 1, -1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, 1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 1, -2 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 3, 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, 0 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 0, 1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, -1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 2, 1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 1, -1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, 1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 1, -2 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 3, 1 waitforvisualfinish end Move_SCRATCH: - loadspritegfx 0x2799 + loadspritegfx ANIM_TAG_137 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W010, +63 - createsprite gUnknown_085CE020, 0x2, 0, 0, 1, 0 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + createsprite gUnknown_085CE020, 2, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -4986,423 +4921,419 @@ Move_SCRATCH: end Move_DRAGON_BREATH: - loadspritegfx 0x272D + loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - loopsewithpan SE_W172, -64, 0x7, 0x7 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createvisualtask sub_8116620, 0xA, 4, 1, 0, 9, 31 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 21, 1 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 - delay 0x2 - createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + loopsewithpan SE_W172, -64, 7, 7 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createvisualtask sub_8116620, 10, 4, 1, 0, 9, RGB_RED + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 21, 1 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 + delay 2 + createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 4, 1, 9, 0, 31 + createvisualtask sub_8116620, 10, 4, 1, 9, 0, RGB_RED waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end Move_ROAR: - loadspritegfx 0x2745 + loadspritegfx ANIM_TAG_053 monbg ANIM_ATTACKER monbgprio_28 ANIM_ATTACKER - setalpha 0x808 - createvisualtask sub_8158E9C, 0x2, 0, 2 - createvisualtask sub_80D6064, 0x5, -5, -5, 10, 0, 1 - call AnimScript_82CFECB - delay 0x14 - createvisualtask sub_80D5DB0, 0x5, 1, 2 + setalpha 8, 8 + createvisualtask sub_8158E9C, 2, 0, 2 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1 + call RoarEffect + delay 20 + createvisualtask sub_80D5DB0, 5, 1, 2 waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff waitforvisualfinish - createvisualtask sub_8159078, 0x5 + createvisualtask sub_8159078, 5 waitforvisualfinish end -AnimScript_82CFECB: - createsprite gUnknown_085CE7D4, 0x2, 24, -8, 0 - createsprite gUnknown_085CE7D4, 0x2, 24, 0, 2 - createsprite gUnknown_085CE7D4, 0x2, 24, 8, 1 - delay 0xF - createsprite gUnknown_085CE7D4, 0x2, 24, -8, 0 - createsprite gUnknown_085CE7D4, 0x2, 24, 0, 2 - createsprite gUnknown_085CE7D4, 0x2, 24, 8, 1 +RoarEffect: + createsprite gUnknown_085CE7D4, 2, 24, -8, 0 + createsprite gUnknown_085CE7D4, 2, 24, 0, 2 + createsprite gUnknown_085CE7D4, 2, 24, 8, 1 + delay 15 + createsprite gUnknown_085CE7D4, 2, 24, -8, 0 + createsprite gUnknown_085CE7D4, 2, 24, 0, 2 + createsprite gUnknown_085CE7D4, 2, 24, 8, 1 return Move_GROWL: - loadspritegfx 0x2745 - createvisualtask sub_8158E9C, 0x2, 0, 255 - call AnimScript_82CFECB - delay 0xA - createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 9, 1 - createvisualtask sub_80D52D0, 0x2, 3, 1, 0, 9, 1 + loadspritegfx ANIM_TAG_053 + createvisualtask sub_8158E9C, 2, 0, 255 + call RoarEffect + delay 10 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 9, 1 waitforvisualfinish - createvisualtask sub_8159078, 0x5 + createvisualtask sub_8159078, 5 waitforvisualfinish end Move_SNORE: - loadspritegfx 0x27D5 + loadspritegfx ANIM_TAG_197 monbg ANIM_ATK_PARTNER - setalpha 0x808 - call AnimScript_82CFF76 - delay 0x1E - call AnimScript_82CFF76 + setalpha 8, 8 + call Snore1 + delay 30 + call Snore1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff end - -AnimScript_82CFF76: +Snore1: playsewithpan SE_W173, -64 - createvisualtask sub_80D6064, 0x5, -7, -7, 7, 0, 1 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 7, 1 - createsprite gUnknown_085972D8, 0x2, 6, 1, 14, 0, 0 - createsprite gUnknown_085936EC, 0x2, 0, 0, -42, -38, 24, 0, 0 - createsprite gUnknown_085936EC, 0x2, 0, 0, 0, -42, 24, 0, 0 - createsprite gUnknown_085936EC, 0x2, 0, 0, 42, -38, 24, 0, 0 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 7, ANIM_ATTACKER, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1 + createsprite gBattleAnimSpriteTemplate_85972D8, 2, 6, 1, 14, 0, 0 + createsprite gUnknown_085936EC, 2, 0, 0, -42, -38, 24, 0, 0 + createsprite gUnknown_085936EC, 2, 0, 0, 0, -42, 24, 0, 0 + createsprite gUnknown_085936EC, 2, 0, 0, 42, -38, 24, 0, 0 return Move_LIGHT_SCREEN: - loadspritegfx 0x2756 - loadspritegfx 0x27B6 - setalpha 0x1000 - waitplaysewithpan SE_W115, -64, 0xF - createsprite gUnknown_08596560, 0x1, 40, 0, 10166 - delay 0xA - call AnimScript_82D0014 + loadspritegfx ANIM_TAG_070 + loadspritegfx ANIM_TAG_166 + setalpha 0, 16 + waitplaysewithpan SE_W115, -64, 15 + createsprite gUnknown_08596560, 1, 40, 0, 10166 + delay 10 + call SpecialScreenEffect waitforvisualfinish - delay 0x1 + delay 1 blendoff end -AnimScript_82D0014: - createsprite gUnknown_08596624, 0x2, 23, 0, 0, 1 - delay 0x6 - createsprite gUnknown_08596624, 0x2, 31, -8, 0, 1 - delay 0x5 - createsprite gUnknown_08596624, 0x2, 30, 20, 0, 1 - delay 0x7 - createsprite gUnknown_08596624, 0x2, 10, -15, 0, 1 - delay 0x6 - createsprite gUnknown_08596624, 0x2, 20, 10, 0, 1 - delay 0x6 - createsprite gUnknown_08596624, 0x2, 10, 18, 0, 1 +SpecialScreenEffect: + createsprite gUnknown_08596624, 2, 23, 0, 0, 1 + delay 6 + createsprite gUnknown_08596624, 2, 31, -8, 0, 1 + delay 5 + createsprite gUnknown_08596624, 2, 30, 20, 0, 1 + delay 7 + createsprite gUnknown_08596624, 2, 10, -15, 0, 1 + delay 6 + createsprite gUnknown_08596624, 2, 20, 10, 0, 1 + delay 6 + createsprite gUnknown_08596624, 2, 10, 18, 0, 1 return Move_MIRROR_COAT: - loadspritegfx 0x2756 - loadspritegfx 0x27B8 - setalpha 0x1000 - createsprite gUnknown_08596590, 0x1, 40, 0, 10168 - delay 0xA + loadspritegfx ANIM_TAG_070 + loadspritegfx ANIM_TAG_168 + setalpha 0, 16 + createsprite gUnknown_08596590, 1, 40, 0, 10168 + delay 10 playsewithpan SE_W115, -64 - call AnimScript_82D0014 + call SpecialScreenEffect waitforvisualfinish - delay 0x1 + delay 1 blendoff end Move_REFLECT: - loadspritegfx 0x2757 - loadspritegfx 0x27B7 - setalpha 0x1000 - waitplaysewithpan SE_W115, -64, 0xF - createsprite gUnknown_08596578, 0x1, 40, 0, 10167 - delay 0x14 - createsprite gUnknown_085965F4, 0x2, 30, 0, 0, 1 - delay 0x7 - createsprite gUnknown_085965F4, 0x2, 19, -12, 0, 1 - delay 0x7 - createsprite gUnknown_085965F4, 0x2, 10, 20, 0, 1 + loadspritegfx ANIM_TAG_071 + loadspritegfx ANIM_TAG_167 + setalpha 0, 16 + waitplaysewithpan SE_W115, -64, 15 + createsprite gUnknown_08596578, 1, 40, 0, 10167 + delay 20 + createsprite gUnknown_085965F4, 2, 30, 0, 0, 1 + delay 7 + createsprite gUnknown_085965F4, 2, 19, -12, 0, 1 + delay 7 + createsprite gUnknown_085965F4, 2, 10, 20, 0, 1 waitforvisualfinish - delay 0x1 + delay 1 blendoff end Move_BARRIER: - loadspritegfx 0x27B9 - setalpha 0x1000 - waitplaysewithpan SE_W112, -64, 0xF - createsprite gUnknown_085965A8, 0x3, 40, 0, 10169 + loadspritegfx ANIM_TAG_169 + setalpha 0, 16 + waitplaysewithpan SE_W112, -64, 15 + createsprite gUnknown_085965A8, 3, 40, 0, 10169 waitforvisualfinish - delay 0x1 + delay 1 blendoff end Move_BUBBLE: - loadspritegfx 0x27A2 - loadspritegfx 0x27AB + loadspritegfx ANIM_TAG_146 + loadspritegfx ANIM_TAG_155 monbg ANIM_TARGET - setalpha 0x80C - delay 0x1 - createsprite gUnknown_08595068, 0x2, 18, 0, 15, -15, 10, 128, 100 + setalpha 12, 8 + delay 1 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 15, -15, 10, 128, 100 playsewithpan SE_W145, -64 - waitplaysewithpan SE_W145B, +63, 0x64 - delay 0x6 - createsprite gUnknown_08595068, 0x2, 18, 0, 35, 37, 40, 128, 100 + waitplaysewithpan SE_W145B, +63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 35, 37, 40, 128, 100 playsewithpan SE_W145, -64 - waitplaysewithpan SE_W145B, +63, 0x64 - delay 0x6 - createsprite gUnknown_08595068, 0x2, 18, 0, 10, -37, 30, 128, 100 + waitplaysewithpan SE_W145B, +63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 10, -37, 30, 128, 100 playsewithpan SE_W145, -64 - waitplaysewithpan SE_W145B, +63, 0x64 - delay 0x6 - createsprite gUnknown_08595068, 0x2, 18, 0, 30, 10, 15, 128, 100 + waitplaysewithpan SE_W145B, +63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 30, 10, 15, 128, 100 playsewithpan SE_W145, -64 - waitplaysewithpan SE_W145B, +63, 0x64 - delay 0x6 - createsprite gUnknown_08595068, 0x2, 18, 0, 20, 33, 20, 128, 100 + waitplaysewithpan SE_W145B, +63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 20, 33, 20, 128, 100 playsewithpan SE_W145, -64 - waitplaysewithpan SE_W145B, +63, 0x64 - delay 0x6 - createsprite gUnknown_08595068, 0x2, 18, 0, 25, -30, 10, 128, 100 + waitplaysewithpan SE_W145B, +63, 100 + delay 6 + createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 25, -30, 10, 128, 100 playsewithpan SE_W145, -64 - waitplaysewithpan SE_W145B, +63, 0x64 + waitplaysewithpan SE_W145B, +63, 100 waitforvisualfinish - call AnimScript_82D7B53 + call WaterBubbleEffect2 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_SMOG: - loadspritegfx 0x27BC + loadspritegfx ANIM_TAG_172 monbg ANIM_DEF_PARTNER monbgprio_29 - setalpha 0x80C - loopsewithpan SE_W054, +63, 0x11, 0xA - call AnimScript_82D024A - call AnimScript_82D024A - call AnimScript_82D024A - call AnimScript_82D024A - call AnimScript_82D024A - call AnimScript_82D024A - call AnimScript_82D024A - delay 0x78 - loopsewithpan SE_W092, +63, 0x12, 0x2 - createvisualtask sub_8115A04, 0x2, 4, 2, 2, 0, 12, 26650 - delay 0xA - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 15, 1 + setalpha 12, 8 + loopsewithpan SE_W054, +63, 17, 10 + call Smog1 + call Smog1 + call Smog1 + call Smog1 + call Smog1 + call Smog1 + call Smog1 + delay 120 + loopsewithpan SE_W092, +63, 18, 2 + createvisualtask sub_8115A04, 2, 4, 2, 2, 0, 12, RGB(26, 0, 26) + delay 10 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 15, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end - -AnimScript_82D024A: - createsprite gUnknown_08595C44, 0x2, 0, -24, 48, 240, 1, 0 - delay 0x7 +Smog1: + createsprite gUnknown_08595C44, 2, 0, -24, 48, 240, 1, 0 + delay 7 return Move_FAINT_ATTACK: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_ATTACKER fadetobg BG_DARK waitbgfadein - delay 0x0 + delay 0 playsewithpan SE_W185, -64 - createvisualtask sub_80D5830, 0x2, 0, 18, 6, 1, 3 - createvisualtask sub_81136E8, 0x2, 1 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 1, 3 + createvisualtask sub_81136E8, 2, 1 waitforvisualfinish clearmonbg ANIM_ATTACKER invisible ANIM_ATTACKER - delay 0x1 - createvisualtask sub_8117F60, 0x2 - setalpha 0x80C + delay 1 + createvisualtask sub_8117F60, 2 + setalpha 12, 8 monbg ANIM_TARGET - delay 0x1 + delay 1 playsewithpan SE_W233B, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 9, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 9, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff - delay 0x1 - setarg 0x7, 0x1000 - delay 0x20 - createvisualtask sub_8113888, 0x2 + delay 1 + setarg 7, 0x1000 + delay 32 + createvisualtask sub_8113888, 2 monbg ANIM_ATTACKER - createvisualtask sub_81137E4, 0x2, 1 + createvisualtask sub_81137E4, 2, 1 waitforvisualfinish clearmonbg ANIM_ATTACKER - delay 0x1 + delay 1 restorebg waitbgfadein end Move_SAND_ATTACK: - loadspritegfx 0x275A + loadspritegfx ANIM_TAG_074 monbg ANIM_ATK_PARTNER monbgprio_28 ANIM_ATTACKER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W028, -64 - createsprite gUnknown_0857FE70, 0x2, 0, -10, 0, 0, 3 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3 waitforvisualfinish - createsprite gUnknown_0857FE58, 0x2, 0, 0, 2 - call AnimScript_82D0337 - call AnimScript_82D0337 - call AnimScript_82D0337 - call AnimScript_82D0337 - call AnimScript_82D0337 - call AnimScript_82D0337 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2 + call SandAttack1 + call SandAttack1 + call SandAttack1 + call SandAttack1 + call SandAttack1 + call SandAttack1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff end - -AnimScript_82D0337: - createsprite gUnknown_085971A8, 0x82, 15, 15, 20, 0, 0 - createsprite gUnknown_085971A8, 0x82, 15, 15, 20, 10, 10 - createsprite gUnknown_085971A8, 0x82, 15, 15, 20, -10, -10 - createsprite gUnknown_085971A8, 0x82, 15, 15, 20, 20, 5 - createsprite gUnknown_085971A8, 0x82, 15, 15, 20, -20, -5 - delay 0x2 +SandAttack1: + createsprite gUnknown_085971A8, 130, 15, 15, 20, 0, 0 + createsprite gUnknown_085971A8, 130, 15, 15, 20, 10, 10 + createsprite gUnknown_085971A8, 130, 15, 15, 20, -10, -10 + createsprite gUnknown_085971A8, 130, 15, 15, 20, 20, 5 + createsprite gUnknown_085971A8, 130, 15, 15, 20, -20, -5 + delay 2 return Move_MUD_SLAP: - loadspritegfx 0x275A + loadspritegfx ANIM_TAG_074 playsewithpan SE_W028, -64 - createsprite gUnknown_0857FE70, 0x2, 0, -10, 0, 0, 3 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3 waitforvisualfinish - createsprite gUnknown_0857FE58, 0x2, 0, 0, 2 - call AnimScript_82D03D5 - call AnimScript_82D03D5 - call AnimScript_82D03D5 - call AnimScript_82D03D5 - call AnimScript_82D03D5 - call AnimScript_82D03D5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2 + call MudSlap1 + call MudSlap1 + call MudSlap1 + call MudSlap1 + call MudSlap1 + call MudSlap1 waitforvisualfinish end - -AnimScript_82D03D5: - createsprite gUnknown_085971CC, 0x82, 15, 15, 20, 0, 0 - createsprite gUnknown_085971CC, 0x82, 15, 15, 20, 10, 5 - createsprite gUnknown_085971CC, 0x82, 15, 15, 20, -10, -5 - createsprite gUnknown_085971CC, 0x82, 15, 15, 20, 20, 10 - createsprite gUnknown_085971CC, 0x82, 15, 15, 20, -20, -10 - delay 0x2 +MudSlap1: + createsprite gUnknown_085971CC, 130, 15, 15, 20, 0, 0 + createsprite gUnknown_085971CC, 130, 15, 15, 20, 10, 5 + createsprite gUnknown_085971CC, 130, 15, 15, 20, -10, -5 + createsprite gUnknown_085971CC, 130, 15, 15, 20, 20, 10 + createsprite gUnknown_085971CC, 130, 15, 15, 20, -20, -10 + delay 2 return Move_DRAGON_RAGE: - loadspritegfx 0x272D - loadspritegfx 0x2733 + loadspritegfx ANIM_TAG_SMALL_EMBER + loadspritegfx ANIM_TAG_035 playsewithpan SE_W082, -64 - createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 40, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1 waitforvisualfinish - createsprite gUnknown_0857FE70, 0x82, 0, 15, 0, 0, 4 + createsprite gSlideMonToOffsetSpriteTemplate, 130, 0, 15, 0, 0, 4 waitforvisualfinish - createsprite gUnknown_08596F80, 0x82, 30, 15, 0, 10, 10 + createsprite gUnknown_08596F80, 130, 30, 15, 0, 10, 10 waitforvisualfinish - loopsewithpan SE_W172B, +63, 0xB, 0x3 - createvisualtask sub_80D51AC, 0x5, 1, 0, 3, 25, 1 - createsprite gUnknown_08596F28, 0xC2, 1, 5, 0 - delay 0x1 - createsprite gUnknown_08596F28, 0xC2, 1, -10, -15 - delay 0x1 - createsprite gUnknown_08596F28, 0x82, 1, 0, 25 - delay 0x1 - createsprite gUnknown_08596F28, 0xC2, 1, 15, 5 - delay 0x1 - createsprite gUnknown_08596F28, 0xC2, 1, -25, 0 - delay 0x1 - createsprite gUnknown_08596F28, 0x82, 1, 30, 30 - delay 0x1 - createsprite gUnknown_08596F28, 0x82, 1, -27, 25 - delay 0x1 - createsprite gUnknown_08596F28, 0xC2, 1, 0, 8 + loopsewithpan SE_W172B, +63, 11, 3 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 25, 1 + createsprite gUnknown_08596F28, 194, 1, 5, 0 + delay 1 + createsprite gUnknown_08596F28, 194, 1, -10, -15 + delay 1 + createsprite gUnknown_08596F28, 130, 1, 0, 25 + delay 1 + createsprite gUnknown_08596F28, 194, 1, 15, 5 + delay 1 + createsprite gUnknown_08596F28, 194, 1, -25, 0 + delay 1 + createsprite gUnknown_08596F28, 130, 1, 30, 30 + delay 1 + createsprite gUnknown_08596F28, 130, 1, -27, 25 + delay 1 + createsprite gUnknown_08596F28, 194, 1, 0, 8 waitforvisualfinish - createsprite gUnknown_0857FE58, 0xC2, 0, 0, 4 + createsprite gSlideMonToOriginalPosSpriteTemplate, 194, 0, 0, 4 waitforvisualfinish end Move_RAIN_DANCE: - loadspritegfx 0x2783 + loadspritegfx ANIM_TAG_115 playsewithpan SE_W240, -64 - createvisualtask sub_8116620, 0xA, 1921, 2, 0, 4, 0 + createvisualtask sub_8116620, 10, 0x781, 2, 0, 4, RGB_BLACK waitforvisualfinish - createvisualtask sub_8107188, 0x2, 0, 3, 120 - createvisualtask sub_8107188, 0x2, 0, 3, 120 - delay 0x78 - delay 0x1E + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 120 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 120 + delay 120 + delay 30 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 1921, 2, 4, 0, 0 + createvisualtask sub_8116620, 10, 0x781, 2, 4, 0, RGB_BLACK waitforvisualfinish end Move_BITE: - loadspritegfx 0x279B - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_139 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W044, +63 - createsprite gUnknown_08597080, 0x2, 0, -32, 0, 0, 819, 10 - createsprite gUnknown_08597080, 0x2, 0, 32, 4, 0, -819, 10 - delay 0xA - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x5, 1, 0, 4, 7, 1 + createsprite gUnknown_08597080, 2, 0, -32, 0, 0, 819, 10 + createsprite gUnknown_08597080, 2, 0, 32, 4, 0, -819, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 7, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff - delay 0x1 + delay 1 end Move_CRUNCH: - loadspritegfx 0x279B - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_139 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET fadetobg BG_DARK waitbgfadein - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W044, +63 - createsprite gUnknown_08597080, 0x2, -32, -32, 1, 819, 819, 10 - createsprite gUnknown_08597080, 0x2, 32, 32, 5, -819, -819, 10 - delay 0xA - createsprite gUnknown_08597358, 0x2, -8, 0, 1, 1 - createvisualtask sub_80D51AC, 0x5, 1, 0, 7, 5, 2 + createsprite gUnknown_08597080, 2, -32, -32, 1, 819, 819, 10 + createsprite gUnknown_08597080, 2, 32, 32, 5, -819, -819, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 7, 5, 2 waitforvisualfinish playsewithpan SE_W044, +63 - createsprite gUnknown_08597080, 0x2, 32, -32, 7, -819, 819, 10 - createsprite gUnknown_08597080, 0x2, -32, 32, 3, 819, -819, 10 - delay 0xA - createsprite gUnknown_08597358, 0x2, 8, 0, 1, 1 - createvisualtask sub_80D51AC, 0x5, 1, 0, 8, 4, 2 + createsprite gUnknown_08597080, 2, 32, -32, 7, -819, 819, 10 + createsprite gUnknown_08597080, 2, -32, 32, 3, 819, -819, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, 8, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 8, 4, 2 waitforvisualfinish clearmonbg ANIM_TARGET blendoff - delay 0x1 + delay 1 restorebg waitbgfadein end Move_CLAMP: - loadspritegfx 0x27A1 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_145 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W011, +63 - createsprite gUnknown_08597098, 0x2, -32, 0, 2, 819, 0, 10 - createsprite gUnknown_08597098, 0x2, 32, 0, 6, -819, 0, 10 - delay 0xA - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 5, 1 + createsprite gUnknown_08597098, 2, -32, 0, 2, 819, 0, 10 + createsprite gUnknown_08597098, 2, 32, 0, 6, -819, 0, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -5412,738 +5343,722 @@ Move_CLAMP: Move_ICE_BEAM: monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x80C - loadspritegfx 0x279D - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 7, RGB_BLACK + setalpha 12, 8 + loadspritegfx ANIM_TAG_141 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 7, RGB_BLACK waitforvisualfinish createsoundtask sub_8158C58, 183, -64, 63, 4, 4, 0, 10 - createsprite gUnknown_08595B2C, 0x2, 20, 12, 0, 12, 20 - createsprite gUnknown_08595B2C, 0x2, 20, -12, 0, -12, 20 - delay 0x1 - call AnimScript_82D07C1 - call AnimScript_82D07C1 - call AnimScript_82D07C1 - createsprite gUnknown_08597274, 0x2, 4, -31, 0, 7, RGB(0, 20, 31) - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 25, 1 - call AnimScript_82D07C1 - call AnimScript_82D07C1 - call AnimScript_82D07C1 - call AnimScript_82D07C1 - call AnimScript_82D07C1 - call AnimScript_82D07C1 - call AnimScript_82D07C1 - call AnimScript_82D07C1 - createsprite gUnknown_08595B14, 0x2, 20, 0, 0, 0, 11 - delay 0x1 - createsprite gUnknown_08595B14, 0x2, 20, 0, 0, 0, 11 + createsprite gUnknown_08595B2C, 2, 20, 12, 0, 12, 20 + createsprite gUnknown_08595B2C, 2, 20, -12, 0, -12, 20 + delay 1 + call IceBeam1 + call IceBeam1 + call IceBeam1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 4, -31, 0, 7, RGB(0, 20, 31) + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 25, 1 + call IceBeam1 + call IceBeam1 + call IceBeam1 + call IceBeam1 + call IceBeam1 + call IceBeam1 + call IceBeam1 + call IceBeam1 + createsprite gUnknown_08595B14, 2, 20, 0, 0, 0, 11 + delay 1 + createsprite gUnknown_08595B14, 2, 20, 0, 0, 0, 11 waitforvisualfinish - delay 0x14 - call AnimScript_82D7720 - createsprite gUnknown_08597274, 0x2, 4, 5, 7, 0, RGB(0, 20, 31) + delay 20 + call FreezeEffect1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 4, 5, 7, 0, RGB(0, 20, 31) waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 0, 7, 0, RGB_BLACK + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 7, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_TARGET blendoff end - -AnimScript_82D07C1: - createsprite gUnknown_08595B2C, 0x2, 20, 12, 0, 12, 20 - createsprite gUnknown_08595B2C, 0x2, 20, -12, 0, -12, 20 - createsprite gUnknown_08595B14, 0x2, 20, 0, 0, 0, 11 - delay 0x1 +IceBeam1: + createsprite gUnknown_08595B2C, 2, 20, 12, 0, 12, 20 + createsprite gUnknown_08595B2C, 2, 20, -12, 0, -12, 20 + createsprite gUnknown_08595B14, 2, 20, 0, 0, 0, 11 + delay 1 return Move_WITHDRAW: playsewithpan SE_W029, -64 - createvisualtask sub_81036A0, 0x5 + createvisualtask sub_81036A0, 5 waitforvisualfinish end Move_AURORA_BEAM: - loadspritegfx 0x279C + loadspritegfx ANIM_TAG_140 fadetobg BG_AURORABEAM waitbgfadein playsewithpan SE_W062, -64 - setarg 0x7, 0x0 - createvisualtask sub_8107528, 0xA, 130 - call AnimScript_82D088B - createvisualtask sub_80D52D0, 0x5, 1, 1, 0, 17, 1 - call AnimScript_82D088B - call AnimScript_82D088B - call AnimScript_82D088B - setarg 0x7, 0xFFFF + setarg 7, 0 + createvisualtask sub_8107528, 10, 130 + call AuroraBeam1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 1, 0, 17, 1 + call AuroraBeam1 + call AuroraBeam1 + call AuroraBeam1 + setarg 7, -1 createsoundtask sub_8158C58, 183, -64, 63, 3, 6, 0, 10 - createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 40, 1 - call AnimScript_82D088B - call AnimScript_82D088B - call AnimScript_82D088B - call AnimScript_82D088B - call AnimScript_82D088B - call AnimScript_82D088B + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 40, 1 + call AuroraBeam1 + call AuroraBeam1 + call AuroraBeam1 + call AuroraBeam1 + call AuroraBeam1 + call AuroraBeam1 waitforvisualfinish restorebg waitbgfadein end - -AnimScript_82D088B: - createsprite gUnknown_085950B4, 0x82, 20, 0, 0, 0, 17 - delay 0x1 - createsprite gUnknown_085950B4, 0x82, 20, 0, 0, 0, 17 - delay 0x1 - createsprite gUnknown_085950B4, 0x82, 20, 0, 0, 0, 17 - delay 0x1 - createsprite gUnknown_085950B4, 0x82, 20, 0, 0, 0, 17 - delay 0x1 +AuroraBeam1: + createsprite gUnknown_085950B4, 130, 20, 0, 0, 0, 17 + delay 1 + createsprite gUnknown_085950B4, 130, 20, 0, 0, 0, 17 + delay 1 + createsprite gUnknown_085950B4, 130, 20, 0, 0, 0, 17 + delay 1 + createsprite gUnknown_085950B4, 130, 20, 0, 0, 0, 17 + delay 1 return Move_SOLAR_BEAM: - loadspritegfx 0x27A3 - choosetwoturnanim AnimScript_82D08E6, AnimScript_82D09E3 - -AnimScript_82D08E4: + loadspritegfx ANIM_TAG_147 + choosetwoturnanim SolarBeamSetUp, SolarBeamUnleash +SolarBeamEnd: waitforvisualfinish end - -AnimScript_82D08E6: +SolarBeamSetUp: monbg ANIM_ATK_PARTNER - setalpha 0x80C - createvisualtask sub_8115A04, 0x2, 2, 1, 4, 0, 11, 12287 + setalpha 12, 8 + createvisualtask sub_8115A04, 2, 2, 1, 4, 0, 11, RGB(31, 31, 11) playsewithpan SE_W025, -64 - call AnimScript_82D0910 + call SolarBeamSetUp1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff - goto AnimScript_82D08E4 - -AnimScript_82D0910: - createsprite gUnknown_085921E0, 0x2, 40, 40, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, -40, -40, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, 0, 40, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, 0, -40, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, 40, -20, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, 40, 20, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, -40, -20, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, -40, 20, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, -20, 30, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, 20, -30, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, -20, -30, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, 20, 30, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, -40, 0, 16 - delay 0x2 - createsprite gUnknown_085921E0, 0x2, 40, 0, 16 - delay 0x2 + goto SolarBeamEnd +SolarBeamSetUp1: + createsprite gUnknown_085921E0, 2, 40, 40, 16 + delay 2 + createsprite gUnknown_085921E0, 2, -40, -40, 16 + delay 2 + createsprite gUnknown_085921E0, 2, 0, 40, 16 + delay 2 + createsprite gUnknown_085921E0, 2, 0, -40, 16 + delay 2 + createsprite gUnknown_085921E0, 2, 40, -20, 16 + delay 2 + createsprite gUnknown_085921E0, 2, 40, 20, 16 + delay 2 + createsprite gUnknown_085921E0, 2, -40, -20, 16 + delay 2 + createsprite gUnknown_085921E0, 2, -40, 20, 16 + delay 2 + createsprite gUnknown_085921E0, 2, -20, 30, 16 + delay 2 + createsprite gUnknown_085921E0, 2, 20, -30, 16 + delay 2 + createsprite gUnknown_085921E0, 2, -20, -30, 16 + delay 2 + createsprite gUnknown_085921E0, 2, 20, 30, 16 + delay 2 + createsprite gUnknown_085921E0, 2, -40, 0, 16 + delay 2 + createsprite gUnknown_085921E0, 2, 40, 0, 16 + delay 2 return - -AnimScript_82D09E3: - call AnimScript_82D7D1D - panse_1B SE_W076, -64, +63, +2, 0x0 - createvisualtask sub_80FEA58, 0x5 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 0 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 1 - delay 0x4 - createvisualtask sub_8116620, 0xA, 4, 1, 0, 10, 1017 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 2 - delay 0x4 - createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 65, 1 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 3 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 4 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 5 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 6 - delay 0x4 - call AnimScript_82D0AB5 - call AnimScript_82D0AB5 +SolarBeamUnleash: + call SetSolarbeamBg + panse_1B SE_W076, -64, +63, +2, 0 + createvisualtask sub_80FEA58, 5 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 0 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 1 + delay 4 + createvisualtask sub_8116620, 10, 4, 1, 0, 10, RGB(25, 31, 0) + createsprite gUnknown_085921F8, 131, 15, 0, 20, 2 + delay 4 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 65, 1 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 3 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 4 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 5 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 6 + delay 4 + call SolarBeamUnleash1 + call SolarBeamUnleash1 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 4, 1, 10, 0, 1017 - call AnimScript_82D7D57 - goto AnimScript_82D08E4 - -AnimScript_82D0AB5: - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 0 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 1 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 2 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 3 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 4 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 5 - delay 0x4 - createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 6 - delay 0x4 + createvisualtask sub_8116620, 10, 4, 1, 10, 0, RGB(25, 31, 0) + call UnsetSolarbeamBg + goto SolarBeamEnd +SolarBeamUnleash1: + createsprite gUnknown_085921F8, 131, 15, 0, 20, 0 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 1 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 2 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 3 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 4 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 5 + delay 4 + createsprite gUnknown_085921F8, 131, 15, 0, 20, 6 + delay 4 return Move_BLIZZARD: - loadspritegfx 0x279D + loadspritegfx ANIM_TAG_141 monbg ANIM_DEF_PARTNER - createvisualtask sub_8117754, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82D0CB2 + createvisualtask AnimTask_IsAttackerOpponentSide, 2 + jumprettrue BlizzardAgainstPlayer fadetobg BG_HIGHSPEED_OPPONENT - -AnimScript_82D0B43: +BlizzardContinue: waitbgfadeout - createvisualtask sub_8117660, 0x5, -2304, 0, 1, -1 + createvisualtask sub_8117660, 5, -2304, 0, 1, -1 waitbgfadein waitforvisualfinish - panse_1B SE_W059, -64, +63, +2, 0x0 - call AnimScript_82D0B7D - call AnimScript_82D0B7D + panse_1B SE_W059, -64, +63, +2, 0 + call Blizzard1 + call Blizzard1 playsewithpan SE_W059B, +63 waitforvisualfinish - call AnimScript_82D77A4 + call FreezeEffect2 waitforvisualfinish - delay 0x14 + delay 20 restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein clearmonbg ANIM_DEF_PARTNER end - -AnimScript_82D0B7D: - createsprite gUnknown_08595B98, 0x28, 0, -10, 0, -10, 72, 1 - createsprite gUnknown_08595BB0, 0x28, 0, 0, 0, 0, 80, 0, 0, 1 - delay 0x3 - createsprite gUnknown_08595B98, 0x28, 0, -15, 0, -15, 72, 1 - createsprite gUnknown_08595BB0, 0x28, 0, -10, 0, -10, 80, 0, 0, 1 - delay 0x3 - createsprite gUnknown_08595B98, 0x28, 0, -5, 0, -5, 72, 1 - createsprite gUnknown_08595BB0, 0x28, 0, 10, 0, 10, 80, 0, 0, 1 - delay 0x3 - createsprite gUnknown_08595B98, 0x28, 0, -10, 0, -10, 72, 1 - createsprite gUnknown_08595BB0, 0x28, 0, -20, 0, -20, 80, 0, 0, 1 - delay 0x3 - createsprite gUnknown_08595B98, 0x28, 0, -20, 0, -20, 72, 1 - createsprite gUnknown_08595BB0, 0x28, 0, 15, 0, 15, 80, 0, 0, 1 - delay 0x3 - createsprite gUnknown_08595B98, 0x28, 0, -15, 0, -15, 72, 1 - createsprite gUnknown_08595BB0, 0x28, 0, -20, 0, -20, 80, 0, 0, 1 - delay 0x3 - createsprite gUnknown_08595B98, 0x28, 0, -25, 0, -25, 72, 1 - createsprite gUnknown_08595BB0, 0x28, 0, 20, 0, 20, 80, 0, 0, 1 - delay 0x3 +Blizzard1: + createsprite gUnknown_08595B98, 40, 0, -10, 0, -10, 72, 1 + createsprite gUnknown_08595BB0, 40, 0, 0, 0, 0, 80, 0, 0, 1 + delay 3 + createsprite gUnknown_08595B98, 40, 0, -15, 0, -15, 72, 1 + createsprite gUnknown_08595BB0, 40, 0, -10, 0, -10, 80, 0, 0, 1 + delay 3 + createsprite gUnknown_08595B98, 40, 0, -5, 0, -5, 72, 1 + createsprite gUnknown_08595BB0, 40, 0, 10, 0, 10, 80, 0, 0, 1 + delay 3 + createsprite gUnknown_08595B98, 40, 0, -10, 0, -10, 72, 1 + createsprite gUnknown_08595BB0, 40, 0, -20, 0, -20, 80, 0, 0, 1 + delay 3 + createsprite gUnknown_08595B98, 40, 0, -20, 0, -20, 72, 1 + createsprite gUnknown_08595BB0, 40, 0, 15, 0, 15, 80, 0, 0, 1 + delay 3 + createsprite gUnknown_08595B98, 40, 0, -15, 0, -15, 72, 1 + createsprite gUnknown_08595BB0, 40, 0, -20, 0, -20, 80, 0, 0, 1 + delay 3 + createsprite gUnknown_08595B98, 40, 0, -25, 0, -25, 72, 1 + createsprite gUnknown_08595BB0, 40, 0, 20, 0, 20, 80, 0, 0, 1 + delay 3 return - -AnimScript_82D0CB2: +BlizzardAgainstPlayer: fadetobg BG_HIGHSPEED_PLAYER - goto AnimScript_82D0B43 + goto BlizzardContinue Move_POWDER_SNOW: - loadspritegfx 0x279D + loadspritegfx ANIM_TAG_141 monbg ANIM_DEF_PARTNER - createsprite gUnknown_08597274, 0x2, 31, 1, 0, 3, RGB_BLACK + createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 1, 0, 3, RGB_BLACK waitforvisualfinish - panse_1B SE_W016, -64, +63, +2, 0x0 - call AnimScript_82D0D03 - call AnimScript_82D0D03 + panse_1B SE_W016, -64, +63, +2, 0 + call PowderSnow1 + call PowderSnow1 playsewithpan SE_W016B, +63 waitforvisualfinish waitsound - call AnimScript_82D77A4 + call FreezeEffect2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER - delay 0x14 - createsprite gUnknown_08597274, 0x2, 31, 1, 3, 0, RGB_BLACK + delay 20 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 1, 3, 0, RGB_BLACK end - -AnimScript_82D0D03: - createsprite gUnknown_08595BC8, 0x28, 0, 0, 0, 0, 56, 4, 4, 1 - delay 0x3 - createsprite gUnknown_08595BC8, 0x28, 0, -10, 0, -10, 56, 4, 4, 1 - delay 0x3 - createsprite gUnknown_08595BC8, 0x28, 0, 10, 0, 10, 56, -4, 3, 1 - delay 0x3 - createsprite gUnknown_08595BC8, 0x28, 0, -20, 0, -20, 56, -4, 5, 1 - delay 0x3 - createsprite gUnknown_08595BC8, 0x28, 0, 15, 0, 15, 56, 4, 4, 1 - delay 0x3 - createsprite gUnknown_08595BC8, 0x28, 0, -20, 0, -20, 56, 4, 4, 1 - delay 0x3 - createsprite gUnknown_08595BC8, 0x28, 0, 20, 0, 20, 56, 4, 4, 1 - delay 0x3 +PowderSnow1: + createsprite gUnknown_08595BC8, 40, 0, 0, 0, 0, 56, 4, 4, 1 + delay 3 + createsprite gUnknown_08595BC8, 40, 0, -10, 0, -10, 56, 4, 4, 1 + delay 3 + createsprite gUnknown_08595BC8, 40, 0, 10, 0, 10, 56, -4, 3, 1 + delay 3 + createsprite gUnknown_08595BC8, 40, 0, -20, 0, -20, 56, -4, 5, 1 + delay 3 + createsprite gUnknown_08595BC8, 40, 0, 15, 0, 15, 56, 4, 4, 1 + delay 3 + createsprite gUnknown_08595BC8, 40, 0, -20, 0, -20, 56, 4, 4, 1 + delay 3 + createsprite gUnknown_08595BC8, 40, 0, 20, 0, 20, 56, 4, 4, 1 + delay 3 return Move_HYDRO_PUMP: - loadspritegfx 0x27A5 - loadspritegfx 0x27A4 + loadspritegfx ANIM_TAG_149 + loadspritegfx ANIM_TAG_148 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 40, 1 - delay 0x6 - panse_1B SE_W056, -64, +63, +2, 0x0 - createvisualtask sub_81076C8, 0x5, 100 - call AnimScript_82D0E52 - call AnimScript_82D0E52 - call AnimScript_82D0E52 - createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 37, 1 - call AnimScript_82D0E93 - call AnimScript_82D0E52 - call AnimScript_82D0E52 - call AnimScript_82D0E93 - call AnimScript_82D0E52 - call AnimScript_82D0E52 - call AnimScript_82D0E93 - call AnimScript_82D0E52 - call AnimScript_82D0E52 - call AnimScript_82D0E93 - call AnimScript_82D0E52 - call AnimScript_82D0E52 - call AnimScript_82D0E93 - delay 0x1 - delay 0x1 - call AnimScript_82D0E93 + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1 + delay 6 + panse_1B SE_W056, -64, +63, +2, 0 + createvisualtask sub_81076C8, 5, 100 + call HydroPump1 + call HydroPump1 + call HydroPump1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1 + call HydroPump2 + call HydroPump1 + call HydroPump1 + call HydroPump2 + call HydroPump1 + call HydroPump1 + call HydroPump2 + call HydroPump1 + call HydroPump1 + call HydroPump2 + call HydroPump1 + call HydroPump1 + call HydroPump2 + delay 1 + delay 1 + call HydroPump2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end - -AnimScript_82D0E52: - createsprite gUnknown_085950E4, 0x3, 10, 10, 0, 16 - createsprite gUnknown_085950E4, 0x3, 10, 10, 0, -16 - delay 0x1 - createsprite gUnknown_085950E4, 0x3, 10, 10, 0, 16 - createsprite gUnknown_085950E4, 0x3, 10, 10, 0, -16 - delay 0x1 +HydroPump1: + createsprite gUnknown_085950E4, 3, 10, 10, 0, 16 + createsprite gUnknown_085950E4, 3, 10, 10, 0, -16 + delay 1 + createsprite gUnknown_085950E4, 3, 10, 10, 0, 16 + createsprite gUnknown_085950E4, 3, 10, 10, 0, -16 + delay 1 return - -AnimScript_82D0E93: - createsprite gUnknown_08597388, 0x4, 0, 15, 1, 1 - createsprite gUnknown_08597388, 0x4, 0, -15, 1, 1 +HydroPump2: + createsprite gUnknown_08597388, 4, 0, 15, 1, 1 + createsprite gUnknown_08597388, 4, 0, -15, 1, 1 return Move_SIGNAL_BEAM: - loadspritegfx 0x2818 - loadspritegfx 0x2819 - loadspritegfx 0x2759 - createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 25, 1 - delay 0x6 - panse_1B SE_W062, -64, +63, +1, 0x0 - createvisualtask sub_81076C8, 0x5, 100 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 25, 1 - createsprite gUnknown_0859728C, 0x2, 4, 8, 5, 31, 8, 961, 8 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 - call AnimScript_82D0F79 + loadspritegfx ANIM_TAG_264 + loadspritegfx ANIM_TAG_265 + loadspritegfx ANIM_TAG_DUCK + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 25, 1 + delay 6 + panse_1B SE_W062, -64, +63, +1, 0 + createvisualtask sub_81076C8, 5, 100 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 25, 1 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 4, 8, 5, RGB_RED, 8, 961, 8 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 + call SignalBeam1 waitforvisualfinish end - -AnimScript_82D0F79: - createsprite gUnknown_08595114, 0x83, 10, 10, 0, 16 - createsprite gUnknown_0859512C, 0x83, 10, 10, 0, -16 - delay 0x1 +SignalBeam1: + createsprite gUnknown_08595114, 131, 10, 10, 0, 16 + createsprite gUnknown_0859512C, 131, 10, 10, 0, -16 + delay 1 return Move_ABSORB: - loadspritegfx 0x27A3 - loadspritegfx 0x272F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_147 + loadspritegfx ANIM_TAG_BLUE_STAR + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 4, RGB(13, 31, 12) + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 4, RGB(13, 31, 12) waitforvisualfinish playsewithpan SE_W071, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - delay 0x2 - createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 waitforvisualfinish - delay 0x3 - call AnimScript_82D1009 + delay 3 + call AbsorbEffect waitforvisualfinish - delay 0xF - call AnimScript_82D79DF + delay 15 + call HealingEffect waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 1, 4, 0, RGB(13, 31, 12) + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 4, 0, RGB(13, 31, 12) waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -AnimScript_82D1009: +AbsorbEffect: playsewithpan SE_W152, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + delay 4 playsewithpan SE_W152, +63 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + delay 4 playsewithpan SE_W152, +63 - createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 - delay 0x4 + createsprite gUnknown_08592270, 3, -5, 15, 16, 33 + delay 4 playsewithpan SE_W152, +63 - createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, -15, -16, 36 + delay 4 playsewithpan SE_W152, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + delay 4 playsewithpan SE_W152, +63 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + delay 4 playsewithpan SE_W152, +63 - createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 - delay 0x4 + createsprite gUnknown_08592270, 3, -10, 20, 20, 39 + delay 4 playsewithpan SE_W152, +63 - createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 - delay 0x4 + createsprite gUnknown_08592270, 3, 5, -18, -20, 35 + delay 4 return Move_MEGA_DRAIN: - loadspritegfx 0x27A3 - loadspritegfx 0x272F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_147 + loadspritegfx ANIM_TAG_BLUE_STAR + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 8, RGB(13, 31, 12) + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 8, RGB(13, 31, 12) waitforvisualfinish playsewithpan SE_W071, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 - delay 0x2 - createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 waitforvisualfinish - delay 0x3 - call AnimScript_82D1121 + delay 3 + call MegaDrainEffect waitforvisualfinish - delay 0xF - call AnimScript_82D79DF + delay 15 + call HealingEffect waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 1, 8, 0, RGB(13, 31, 12) + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 8, 0, RGB(13, 31, 12) waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -AnimScript_82D1121: +MegaDrainEffect: playsewithpan SE_W145C, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 5, -18, -20, 35 + delay 4 playsewithpan SE_W145C, +63 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 - delay 0x4 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 3, -10, 20, 20, 39 + delay 4 playsewithpan SE_W145C, +63 - createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + delay 4 playsewithpan SE_W145C, +63 - createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + delay 4 playsewithpan SE_W145C, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 0, -15, -16, 36 + delay 4 playsewithpan SE_W145C, +63 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 - delay 0x4 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 3, -5, 15, 16, 33 + delay 4 playsewithpan SE_W145C, +63 - createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, -10, 20, 20, 39 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + delay 4 playsewithpan SE_W145C, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 5, -18, -20, 35 + delay 4 return Move_GIGA_DRAIN: - loadspritegfx 0x27A3 - loadspritegfx 0x272F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_147 + loadspritegfx ANIM_TAG_BLUE_STAR + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 12, RGB(13, 31, 12) + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 12, RGB(13, 31, 12) waitforvisualfinish playsewithpan SE_W071, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 - delay 0x2 - createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 waitforvisualfinish - delay 0x3 - call AnimScript_82D12B1 + delay 3 + call GigaDrainEffect waitforvisualfinish - delay 0xF - call AnimScript_82D79DF + delay 15 + call HealingEffect waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 1, 12, 0, RGB(13, 31, 12) + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 12, 0, RGB(13, 31, 12) waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -AnimScript_82D12B1: +GigaDrainEffect: playsewithpan SE_W202, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 5, -18, -40, 35 - createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 5, -18, -40, 35 + createsprite gUnknown_08592270, 3, -10, 20, 20, 39 + delay 4 playsewithpan SE_W202, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 28, 26 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - createsprite gUnknown_08592270, 0x3, -10, 20, 40, 39 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 28, 26 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 3, -10, 20, 40, 39 + delay 4 playsewithpan SE_W202, +63 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 - createsprite gUnknown_08592270, 0x3, 10, -5, -32, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 3, 10, -5, -32, 26 + delay 4 playsewithpan SE_W202, +63 - createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + delay 4 playsewithpan SE_W202, +63 - createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 - createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + delay 4 playsewithpan SE_W202, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 - createsprite gUnknown_08592270, 0x3, 10, -5, -40, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 3, 10, -5, -40, 26 + delay 4 playsewithpan SE_W202, +63 - createsprite gUnknown_08592270, 0x3, -5, 15, 36, 33 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 - delay 0x4 + createsprite gUnknown_08592270, 3, -5, 15, 36, 33 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 3, -10, 20, 20, 39 + delay 4 playsewithpan SE_W202, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 5, -18, -20, 35 + delay 4 return Move_LEECH_LIFE: - loadspritegfx 0x27B1 - loadspritegfx 0x27A3 - delay 0x1 - loadspritegfx 0x272F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_161 + loadspritegfx ANIM_TAG_147 + delay 1 + loadspritegfx ANIM_TAG_BLUE_STAR + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET - setalpha 0x80C - delay 0x1 - createsprite gUnknown_085969C8, 0x2, -20, 15, 12 + setalpha 12, 8 + delay 1 + createsprite gUnknown_085969C8, 2, -20, 15, 12 waitforvisualfinish - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 playsewithpan SE_W071, +63 - delay 0x2 - createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 + delay 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 7, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 7, RGB_BLACK waitforvisualfinish - call AnimScript_82D1009 + call AbsorbEffect waitforvisualfinish - delay 0xF - call AnimScript_82D79DF + delay 15 + call HealingEffect waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 1, 7, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 7, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_SYNTHESIS: - loadspritegfx 0x2741 - createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 16, 19451 + loadspritegfx ANIM_TAG_SPARKLE + createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 16, RGB(27, 31, 18) playsewithpan SE_W025, -64 - call AnimScript_82D79B4 + call GrantingStarsEffect waitforvisualfinish - unloadspritegfx 0x2741 - delay 0x1 - loadspritegfx 0x272F - call AnimScript_82D79DF + unloadspritegfx ANIM_TAG_SPARKLE + delay 1 + loadspritegfx ANIM_TAG_BLUE_STAR + call HealingEffect waitforvisualfinish end Move_TOXIC: - loadspritegfx 0x27A7 - loadspritegfx 0x27A6 - call AnimScript_82D1515 - call AnimScript_82D1515 + loadspritegfx ANIM_TAG_TOXIC_BUBBLE + loadspritegfx ANIM_TAG_POISON_BUBBLE + call Toxic1 + call Toxic1 waitforvisualfinish - delay 0xF - call AnimScript_82D7A71 + delay 15 + call PoisonBubblesEffect waitforvisualfinish end - -AnimScript_82D1515: - createsprite gUnknown_08596134, 0x82, -24, 16, 1, 1 +Toxic1: + createsprite gUnknown_08596134, 130, -24, 16, 1, 1 playsewithpan SE_W092, +63 - delay 0xF - createsprite gUnknown_08596134, 0x82, 8, 16, 1, 1 + delay 15 + createsprite gUnknown_08596134, 130, 8, 16, 1, 1 playsewithpan SE_W092, +63 - delay 0xF - createsprite gUnknown_08596134, 0x82, -8, 16, 1, 1 + delay 15 + createsprite gUnknown_08596134, 130, -8, 16, 1, 1 playsewithpan SE_W092, +63 - delay 0xF - createsprite gUnknown_08596134, 0x82, 24, 16, 1, 1 + delay 15 + createsprite gUnknown_08596134, 130, 24, 16, 1, 1 playsewithpan SE_W092, +63 - delay 0xF + delay 15 return Move_SLUDGE: - loadspritegfx 0x27A6 + loadspritegfx ANIM_TAG_POISON_BUBBLE playsewithpan SE_W145C, -64 - createsprite gUnknown_085961A8, 0x82, 20, 0, 40, 0 + createsprite gUnknown_085961A8, 130, 20, 0, 40, 0 waitforvisualfinish - createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 5, 1 - createvisualtask sub_8115A04, 0x2, 4, 1, 2, 0, 12, 31774 - call AnimScript_82D7A71 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1 + createvisualtask sub_8115A04, 2, 4, 1, 2, 0, 12, RGB(30, 0, 31) + call PoisonBubblesEffect waitforvisualfinish end Move_SLUDGE_BOMB: - loadspritegfx 0x27A6 - call AnimScript_82D16BC - call AnimScript_82D16BC - call AnimScript_82D16BC - call AnimScript_82D16BC - call AnimScript_82D16BC - call AnimScript_82D16BC - call AnimScript_82D16BC - call AnimScript_82D16BC - call AnimScript_82D16BC - call AnimScript_82D16BC - createvisualtask sub_80D52D0, 0x5, 1, 3, 0, 15, 1 - createvisualtask sub_8115A04, 0x2, 4, 1, 2, 0, 12, 31774 - createsprite gUnknown_085961D8, 0x82, 42, 27, 20 - createsprite gUnknown_085961D8, 0x82, -27, 44, 20 - createsprite gUnknown_085961D8, 0x82, 39, -28, 20 - createsprite gUnknown_085961D8, 0x82, -42, -42, 20 + loadspritegfx ANIM_TAG_POISON_BUBBLE + call SludgeBomb1 + call SludgeBomb1 + call SludgeBomb1 + call SludgeBomb1 + call SludgeBomb1 + call SludgeBomb1 + call SludgeBomb1 + call SludgeBomb1 + call SludgeBomb1 + call SludgeBomb1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 3, 0, 15, 1 + createvisualtask sub_8115A04, 2, 4, 1, 2, 0, 12, RGB(30, 0, 31) + createsprite gUnknown_085961D8, 130, 42, 27, 20 + createsprite gUnknown_085961D8, 130, -27, 44, 20 + createsprite gUnknown_085961D8, 130, 39, -28, 20 + createsprite gUnknown_085961D8, 130, -42, -42, 20 playsewithpan SE_W091, +63 - delay 0x5 - createsprite gUnknown_085961D8, 0x82, 0, 40, 20 - createsprite gUnknown_085961D8, 0x82, -8, -44, 20 - createsprite gUnknown_085961D8, 0x82, -46, -28, 20 - createsprite gUnknown_085961D8, 0x82, 46, 9, 20 + delay 5 + createsprite gUnknown_085961D8, 130, 0, 40, 20 + createsprite gUnknown_085961D8, 130, -8, -44, 20 + createsprite gUnknown_085961D8, 130, -46, -28, 20 + createsprite gUnknown_085961D8, 130, 46, 9, 20 playsewithpan SE_W091, +63 - delay 0x5 - createsprite gUnknown_085961D8, 0x82, 42, 0, 20 - createsprite gUnknown_085961D8, 0x82, -43, -12, 20 - createsprite gUnknown_085961D8, 0x82, 16, -46, 20 - createsprite gUnknown_085961D8, 0x82, -16, 44, 20 + delay 5 + createsprite gUnknown_085961D8, 130, 42, 0, 20 + createsprite gUnknown_085961D8, 130, -43, -12, 20 + createsprite gUnknown_085961D8, 130, 16, -46, 20 + createsprite gUnknown_085961D8, 130, -16, 44, 20 playsewithpan SE_W091, +63 - delay 0x0 + delay 0 waitsound waitforvisualfinish - call AnimScript_82D7A71 + call PoisonBubblesEffect waitforvisualfinish end - -AnimScript_82D16BC: +SludgeBomb1: playsewithpan SE_W145C, -64 - createsprite gUnknown_085961A8, 0x82, 20, 0, 40, 0 - delay 0x3 + createsprite gUnknown_085961A8, 130, 20, 0, 40, 0 + delay 3 return Move_ACID: - loadspritegfx 0x27A6 + loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_DEF_PARTNER - createsprite gUnknown_085961C0, 0x82, 20, 0, 40, 1, 0, 0 + createsprite gUnknown_085961C0, 130, 20, 0, 40, 1, 0, 0 playsewithpan SE_W145C, -64 - delay 0x5 - createsprite gUnknown_085961C0, 0x82, 20, 0, 40, 1, 24, 0 + delay 5 + createsprite gUnknown_085961C0, 130, 20, 0, 40, 1, 24, 0 playsewithpan SE_W145C, -64 - delay 0x5 - createsprite gUnknown_085961C0, 0x82, 20, 0, 40, 1, -24, 0 + delay 5 + createsprite gUnknown_085961C0, 130, 20, 0, 40, 1, -24, 0 playsewithpan SE_W145C, -64 - delay 0xF - createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 10, 1 - createvisualtask sub_80D52D0, 0x5, 3, 2, 0, 10, 1 - createvisualtask sub_8115A04, 0x2, 20, 2, 2, 0, 12, 31774 - createsprite gUnknown_0859620C, 0x82, 0, -22, 0, 15, 55 + delay 15 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_DEF_PARTNER, 2, 0, 10, 1 + createvisualtask sub_8115A04, 2, 20, 2, 2, 0, 12, RGB(30, 0, 31) + createsprite gUnknown_0859620C, 130, 0, -22, 0, 15, 55 playsewithpan SE_W145, +63 - delay 0xA - createsprite gUnknown_0859620C, 0x82, -26, -24, 0, 15, 55 + delay 10 + createsprite gUnknown_0859620C, 130, -26, -24, 0, 15, 55 playsewithpan SE_W145, +63 - delay 0xA - createsprite gUnknown_0859620C, 0x82, 15, -27, 0, 15, 50 + delay 10 + createsprite gUnknown_0859620C, 130, 15, -27, 0, 15, 50 playsewithpan SE_W145, +63 - delay 0xA - createsprite gUnknown_0859620C, 0x82, -15, -17, 0, 10, 45 + delay 10 + createsprite gUnknown_0859620C, 130, -15, -17, 0, 10, 45 playsewithpan SE_W145, +63 - delay 0xA - createsprite gUnknown_0859620C, 0x82, 27, -22, 0, 15, 50 + delay 10 + createsprite gUnknown_0859620C, 130, 27, -22, 0, 15, 50 playsewithpan SE_W145, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end Move_BONEMERANG: - loadspritegfx 0x2710 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_BONE + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W155, -64 - createsprite gUnknown_08597178, 0x2 - delay 0x14 + createsprite gUnknown_08597178, 2 + delay 20 playsewithpan SE_W030, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 - createvisualtask sub_80D51AC, 0x5, 1, 5, 0, 5, 1 - delay 0x11 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 5, 1 + delay 17 playsewithpan SE_W233, -64 - createsprite gUnknown_0857FE28, 0x2, 6, -4 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, -4 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_BONE_CLUB: - loadspritegfx 0x2710 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_BONE + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W155, +63 - createsprite gUnknown_08597190, 0x2, -42, -25, 0, 0, 15 - delay 0xC - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 - createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 - createsprite gUnknown_0859728C, 0x2, 7, 5, 1, 0, 10, 0, 0 + createsprite gUnknown_08597190, 2, -42, -25, 0, 0, 15 + delay 12 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 7, 5, 1, RGB_BLACK, 10, 0, 0 playsewithpan SE_W233B, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6151,15 +6066,15 @@ Move_BONE_CLUB: end Move_BONE_RUSH: - loadspritegfx 0x2710 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_BONE + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W155, +63 - createsprite gUnknown_08597190, 0x2, -42, -25, 0, 0, 15 - delay 0xC - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x5, 1, 0, 3, 5, 1 + createsprite gUnknown_08597190, 2, -42, -25, 0, 0, 15 + delay 12 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 5, 1 playsewithpan SE_W030, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6167,79 +6082,77 @@ Move_BONE_RUSH: end Move_SPIKES: - loadspritegfx 0x27A8 + loadspritegfx ANIM_TAG_152 monbg ANIM_DEF_PARTNER playsewithpan SE_W026, -64 - waitplaysewithpan SE_W030, +63, 0x1C - createsprite gUnknown_085CE11C, 0x82, 20, 0, 0, 24, 30 - delay 0xA + waitplaysewithpan SE_W030, +63, 28 + createsprite gUnknown_085CE11C, 130, 20, 0, 0, 24, 30 + delay 10 playsewithpan SE_W026, -64 - waitplaysewithpan SE_W030, +63, 0x1C - createsprite gUnknown_085CE11C, 0x82, 20, 0, -24, 24, 30 - delay 0xA - waitplaysewithpan SE_W030, +63, 0x1C - createsprite gUnknown_085CE11C, 0x82, 20, 0, 24, 24, 30 + waitplaysewithpan SE_W030, +63, 28 + createsprite gUnknown_085CE11C, 130, 20, 0, -24, 24, 30 + delay 10 + waitplaysewithpan SE_W030, +63, 28 + createsprite gUnknown_085CE11C, 130, 20, 0, 24, 24, 30 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end Move_MEGAHORN: - loadspritegfx 0x27A9 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_153 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER playsewithpan SE_W082, -64 - jumpifcontest AnimScript_82D19FA + jumpifcontest MegahornInContest fadetobg BG_DRILL waitbgfadeout - createvisualtask sub_8117660, 0x5, -2304, 768, 1, -1 - -AnimScript_82D1947: + createvisualtask sub_8117660, 5, -2304, 768, 1, -1 +MegahornContinue: waitbgfadein - setalpha 0x80C - createvisualtask sub_80D51AC, 0x5, 0, 2, 0, 15, 1 + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 2, 0, 15, 1 waitforvisualfinish - delay 0xA - createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 6 - delay 0x3 - createsprite gUnknown_08596974, 0x3, -42, 25, 0, 0, 6 - delay 0x4 + delay 10 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 6 + delay 3 + createsprite gUnknown_08596974, 3, -42, 25, 0, 0, 6 + delay 4 playsewithpan SE_W011, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 - createsprite gUnknown_0857FE70, 0x2, 1, -16, 4, 1, 4 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -16, 4, 1, 4 waitforvisualfinish - createvisualtask sub_80D5484, 0x2, 1, -4, 1, 12, 1 - createsprite gUnknown_0859728C, 0x2, 7, 5, 1, 0x7FFF, 10, 0, 0 - delay 0xA - createsprite gUnknown_0857FE58, 0x2, 0, 0, 11 - delay 0x3 - createsprite gUnknown_0857FE58, 0x2, 1, 0, 7 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, -4, 1, 12, 1 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 7, 5, 1, RGB_WHITE, 10, 0, 0 + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11 + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein end - -AnimScript_82D19FA: +MegahornInContest: fadetobg BG_DRILL_CONTESTS waitbgfadeout - createvisualtask sub_8117660, 0x5, 2304, 768, 0, -1 - goto AnimScript_82D1947 + createvisualtask sub_8117660, 5, 2304, 768, 0, -1 + goto MegahornContinue Move_GUST: - loadspritegfx 0x2719 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_GUST + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W016, +63 - createsprite gUnknown_08596270, 0x2, 0, -16 - createvisualtask sub_810DED8, 0x5, 1, 70 + createsprite gUnknown_08596270, 2, 0, -16 + createvisualtask sub_810DED8, 5, 1, 70 waitforvisualfinish - createvisualtask sub_80D52D0, 0x5, 1, 1, 0, 7, 1 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 1, 0, 7, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 playsewithpan SE_W016B, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6247,97 +6160,96 @@ Move_GUST: end Move_WING_ATTACK: - loadspritegfx 0x2719 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_GUST + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - loopsewithpan SE_W017, -64, 0x14, 0x2 - createvisualtask sub_80D5738, 0x2, 0, 12, 4, 1, 4 - createvisualtask sub_810DED8, 0x5, 1, 70 - createsprite gUnknown_085962A4, 0x2, -25, 0, 0, 0, 20 - createsprite gUnknown_085962A4, 0x2, 25, 0, 0, 0, 20 - delay 0x18 - createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 9 - delay 0x11 - createsprite gUnknown_08597358, 0x2, 16, 0, 1, 1 - createsprite gUnknown_08597358, 0x2, -16, 0, 1, 1 - loopsewithpan SE_W003, +63, 0x5, 0x2 + setalpha 12, 8 + loopsewithpan SE_W017, -64, 20, 2 + createvisualtask AnimTask_TranslateMonElliptical, 2, 0, 12, 4, 1, 4 + createvisualtask sub_810DED8, 5, 1, 70 + createsprite gBattleAnimSpriteTemplate_85962A4, 2, -25, 0, 0, 0, 20 + createsprite gBattleAnimSpriteTemplate_85962A4, 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 gUnknown_0857FE58, 0x2, 0, 0, 11 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_PECK: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 playsewithpan SE_W030, +63 - createvisualtask sub_80D622C, 0x2, 3, -768, 1, 2 - createsprite gUnknown_085973E8, 0x83, -12, 0, 1, 3 + createvisualtask sub_80D622C, 2, 3, -768, 1, 2 + createsprite gUnknown_085973E8, 131, -12, 0, 1, 3 waitforvisualfinish end Move_AEROBLAST: - loadspritegfx 0x27AA - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_154 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - call AnimScript_82D7CE5 + call SetFlyingBg monbgprio_28 ANIM_TARGET - setalpha 0x80C - call AnimScript_82D1B82 - createvisualtask sub_80D51AC, 0x5, 1, 5, 0, 50, 1 - call AnimScript_82D1B82 - call AnimScript_82D1B82 - call AnimScript_82D1B82 - call AnimScript_82D1B82 + setalpha 12, 8 + call Aeroblast1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 50, 1 + call Aeroblast1 + call Aeroblast1 + call Aeroblast1 + call Aeroblast1 waitforvisualfinish - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 playsewithpan SE_W013, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff - delay 0x0 - call AnimScript_82D7D15 + delay 0 + call UnsetFlyingBg end - -AnimScript_82D1B82: +Aeroblast1: playsewithpan SE_W026, -64 - createsprite gUnknown_085962D4, 0x2, 14, -12, 0, -12, 15, 0, 0 - createsprite gUnknown_085962D4, 0x2, 26, 8, 12, 8, 15, 0, 0 - delay 0x3 + createsprite gUnknown_085962D4, 2, 14, -12, 0, -12, 15, 0, 0 + createsprite gUnknown_085962D4, 2, 26, 8, 12, 8, 15, 0, 0 + delay 3 playsewithpan SE_W026, -64 - createsprite gUnknown_085962D4, 0x2, 14, -12, 0, -12, 15, 1, 0 - createsprite gUnknown_085962D4, 0x2, 26, 8, 12, 8, 15, 1, 0 - delay 0x3 + createsprite gUnknown_085962D4, 2, 14, -12, 0, -12, 15, 1, 0 + createsprite gUnknown_085962D4, 2, 26, 8, 12, 8, 15, 1, 0 + delay 3 playsewithpan SE_W026, -64 - createsprite gUnknown_085962D4, 0x2, 14, -12, 0, -12, 15, 2, 0 - createsprite gUnknown_085962D4, 0x2, 26, 8, 12, 8, 15, 2, 0 - delay 0x3 + createsprite gUnknown_085962D4, 2, 14, -12, 0, -12, 15, 2, 0 + createsprite gUnknown_085962D4, 2, 26, 8, 12, 8, 15, 2, 0 + delay 3 playsewithpan SE_W026, -64 - createsprite gUnknown_085962D4, 0x2, 14, -12, 0, -12, 15, 3, 0 - createsprite gUnknown_085962D4, 0x2, 26, 8, 12, 8, 15, 3, 0 - delay 0x3 + createsprite gUnknown_085962D4, 2, 14, -12, 0, -12, 15, 3, 0 + createsprite gUnknown_085962D4, 2, 26, 8, 12, 8, 15, 3, 0 + delay 3 return Move_WATER_GUN: - loadspritegfx 0x27AB - loadspritegfx 0x27A4 + loadspritegfx ANIM_TAG_155 + loadspritegfx ANIM_TAG_148 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_08595208, 0x2, 20, 0, 0, 0, 40, -25 + setalpha 12, 8 + createsprite gUnknown_08595208, 2, 20, 0, 0, 0, 40, -25 playsewithpan SE_W145, -64 waitforvisualfinish - createvisualtask sub_80D52D0, 0x5, 1, 1, 0, 8, 1 - createsprite gUnknown_08597388, 0x4, 0, 0, 1, 2 - createsprite gUnknown_08595220, 0x2, 0, -15, 0, 15, 55 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 1, 0, 8, 1 + createsprite gUnknown_08597388, 4, 0, 0, 1, 2 + createsprite gUnknown_08595220, 2, 0, -15, 0, 15, 55 playsewithpan SE_W152, +63 - delay 0xA - createsprite gUnknown_08595220, 0x2, 15, -20, 0, 15, 50 + delay 10 + createsprite gUnknown_08595220, 2, 15, -20, 0, 15, 50 playsewithpan SE_W152, +63 - delay 0xA - createsprite gUnknown_08595220, 0x2, -15, -10, 0, 10, 45 + delay 10 + createsprite gUnknown_08595220, 2, -15, -10, 0, 10, 45 playsewithpan SE_W152, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6345,237 +6257,235 @@ Move_WATER_GUN: end Move_CRABHAMMER: - loadspritegfx 0x279D - loadspritegfx 0x27A4 + loadspritegfx ANIM_TAG_141 + loadspritegfx ANIM_TAG_148 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createsprite gUnknown_08597388, 0x4, 0, 0, 1, 0 + setalpha 12, 8 + createsprite gUnknown_08597388, 4, 0, 0, 1, 0 playsewithpan SE_W233B, +63 - delay 0x1 - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 32429, 10, 0, 0 - createsprite gUnknown_0857FE70, 0x2, 1, -24, 0, 0, 4 + delay 1 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB(13, 21, 31), 10, 0, 0 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -24, 0, 0, 4 waitforvisualfinish - delay 0x8 + delay 8 waitforvisualfinish - createsprite gUnknown_0857FE58, 0x2, 1, 0, 4 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 4 waitforvisualfinish - loopsewithpan SE_W152, +63, 0x14, 0x3 - createvisualtask sub_80D51AC, 0x5, 1, 0, 4, 8, 1 - createsprite gUnknown_08595238, 0x2, 10, 10, 20, 1 - delay 0x4 - createsprite gUnknown_08595238, 0x2, 20, -20, 20, 1 - delay 0x4 - createsprite gUnknown_08595238, 0x2, -15, 15, 20, 1 - delay 0x4 - createsprite gUnknown_08595238, 0x2, 0, 0, 20, 1 - delay 0x4 - createsprite gUnknown_08595238, 0x2, -10, -20, 20, 1 - delay 0x4 - createsprite gUnknown_08595238, 0x2, 16, -8, 20, 1 - delay 0x4 - createsprite gUnknown_08595238, 0x2, 5, 8, 20, 1 - delay 0x4 - createsprite gUnknown_08595238, 0x2, -16, 0, 20, 1 + loopsewithpan SE_W152, +63, 20, 3 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 8, 1 + createsprite gUnknown_08595238, 2, 10, 10, 20, 1 + delay 4 + createsprite gUnknown_08595238, 2, 20, -20, 20, 1 + delay 4 + createsprite gUnknown_08595238, 2, -15, 15, 20, 1 + delay 4 + createsprite gUnknown_08595238, 2, 0, 0, 20, 1 + delay 4 + createsprite gUnknown_08595238, 2, -10, -20, 20, 1 + delay 4 + createsprite gUnknown_08595238, 2, 16, -8, 20, 1 + delay 4 + createsprite gUnknown_08595238, 2, 5, 8, 20, 1 + delay 4 + createsprite gUnknown_08595238, 2, -16, 0, 20, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_SURF: - createvisualtask sub_8107954, 0x2, 0 - delay 0x18 - panse_1B SE_W057, -64, +63, +2, 0x0 + createvisualtask AnimTask_CreateSurfWave, 2, FALSE + delay 24 + panse_1B SE_W057, -64, +63, +2, 0 waitforvisualfinish end Move_FLAMETHROWER: - loadspritegfx 0x272D + loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 46, 1 - delay 0x6 - createvisualtask sub_81076C8, 0x5, 100 - panse_1B SE_W053, -64, +63, +2, 0x0 - call AnimScript_82D1E58 - call AnimScript_82D1E58 - call AnimScript_82D1E58 - createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 43, 1 - call AnimScript_82D1E58 - call AnimScript_82D1E58 - call AnimScript_82D1E58 - call AnimScript_82D1E58 - call AnimScript_82D1E58 - call AnimScript_82D1E58 - call AnimScript_82D1E58 - call AnimScript_82D1E58 + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 46, 1 + delay 6 + createvisualtask sub_81076C8, 5, 100 + panse_1B SE_W053, -64, +63, +2, 0 + call Flamethrower1 + call Flamethrower1 + call Flamethrower1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 43, 1 + call Flamethrower1 + call Flamethrower1 + call Flamethrower1 + call Flamethrower1 + call Flamethrower1 + call Flamethrower1 + call Flamethrower1 + call Flamethrower1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -AnimScript_82D1E58: - createsprite gUnknown_08595158, 0x3, 10, 10, 0, 16 - delay 0x2 - createsprite gUnknown_08595158, 0x3, 10, 10, 0, 16 - delay 0x2 +Flamethrower1: + createsprite gUnknown_08595158, 3, 10, 10, 0, 16 + delay 2 + createsprite gUnknown_08595158, 3, 10, 10, 0, 16 + delay 2 return Move_SANDSTORM: - loadspritegfx 0x2815 + loadspritegfx ANIM_TAG_261 playsewithpan SE_W201, 0 - createvisualtask sub_8110BCC, 0x5, 0 - delay 0x10 - createsprite gUnknown_08596BA0, 0x28, 10, 2304, 96, 0 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 90, 2048, 96, 0 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 50, 2560, 96, 0 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 20, 2304, 96, 0 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 70, 1984, 96, 0 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 0, 2816, 96, 0 - delay 0xA - createsprite gUnknown_08596BA0, 0x28, 60, 2560, 96, 0 + createvisualtask AnimTask_LoadSandstormBackground, 5, FALSE + delay 16 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 10, 2304, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 90, 2048, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 50, 2560, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 20, 2304, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 70, 1984, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 0, 2816, 96, 0 + delay 10 + createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 60, 2560, 96, 0 end Move_WHIRLPOOL: - loadspritegfx 0x27A5 + loadspritegfx ANIM_TAG_149 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - delay 0x0 - createsprite gUnknown_08597274, 0x0, 4, 2, 0, 7, RGB(0, 13, 23) + setalpha 12, 8 + delay 0 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 0, 7, RGB(0, 13, 23) playsewithpan SE_W250, +63 - createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 50, 1 - call AnimScript_82D1F5B - call AnimScript_82D1F5B - call AnimScript_82D1F5B - delay 0xC - createsprite gUnknown_08597274, 0x0, 4, 2, 7, 0, RGB(0, 13, 23) + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 50, 1 + call WhirlpoolEffect + call WhirlpoolEffect + call WhirlpoolEffect + delay 12 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 7, 0, RGB(0, 13, 23) waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end -AnimScript_82D1F5B: - createsprite gUnknown_08596B70, 0x82, 0, 28, 384, 50, 8, 50, 1 - delay 0x2 - createsprite gUnknown_08596B70, 0x82, 0, 32, 240, 40, 11, -46, 1 - delay 0x2 - createsprite gUnknown_08596B70, 0x82, 0, 33, 416, 40, 4, 42, 1 - delay 0x2 - createsprite gUnknown_08596B70, 0x82, 0, 31, 288, 45, 6, -42, 1 - delay 0x2 - createsprite gUnknown_08596B70, 0x82, 0, 28, 448, 45, 11, 46, 1 - delay 0x2 - createsprite gUnknown_08596B70, 0x82, 0, 33, 464, 50, 10, -50, 1 - delay 0x2 +WhirlpoolEffect: + createsprite gUnknown_08596B70, 130, 0, 28, 384, 50, 8, 50, 1 + delay 2 + createsprite gUnknown_08596B70, 130, 0, 32, 240, 40, 11, -46, 1 + delay 2 + createsprite gUnknown_08596B70, 130, 0, 33, 416, 40, 4, 42, 1 + delay 2 + createsprite gUnknown_08596B70, 130, 0, 31, 288, 45, 6, -42, 1 + delay 2 + createsprite gUnknown_08596B70, 130, 0, 28, 448, 45, 11, 46, 1 + delay 2 + createsprite gUnknown_08596B70, 130, 0, 33, 464, 50, 10, -50, 1 + delay 2 return Move_FLY: - loadspritegfx 0x27AC - loadspritegfx 0x2797 - choosetwoturnanim AnimScript_82D1FF7, AnimScript_82D200F - -AnimScript_82D1FF5: + loadspritegfx ANIM_TAG_156 + loadspritegfx ANIM_TAG_135 + choosetwoturnanim FlySetUp, FlyUnleash +FlyEnd: waitforvisualfinish end -AnimScript_82D1FF7: +FlySetUp: playsewithpan SE_W019, -64 - createsprite gUnknown_08596340, 0x2, 0, 0, 13, 336 - goto AnimScript_82D1FF5 + createsprite gUnknown_08596340, 2, 0, 0, 13, 336 + goto FlyEnd -AnimScript_82D200F: +FlyUnleash: monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W104, -64 - createsprite gUnknown_08596358, 0x2, 20 - delay 0x14 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + createsprite gUnknown_08596358, 2, 20 + delay 20 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 playsewithpan SE_W013, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff - goto AnimScript_82D1FF5 + goto FlyEnd Move_BOUNCE: - loadspritegfx 0x27AC - loadspritegfx 0x2797 - choosetwoturnanim AnimScript_82D2060, AnimScript_82D2074 - -AnimScript_82D205F: + loadspritegfx ANIM_TAG_156 + loadspritegfx ANIM_TAG_135 + choosetwoturnanim BounceSetUp, BounceUnleash +BounceEnd: end -AnimScript_82D2060: +BounceSetUp: playsewithpan SE_W100, -64 - createsprite gUnknown_08596420, 0x2, 0, 0 - goto AnimScript_82D205F + createsprite gUnknown_08596420, 2, 0, 0 + goto BounceEnd -AnimScript_82D2074: +BounceUnleash: monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W207, +63 - createsprite gUnknown_0859644C, 0x83 - delay 0x7 + createsprite gUnknown_0859644C, 131 + delay 7 playsewithpan SE_W025B, +63 - createsprite gUnknown_08597358, 0x82, 0, 0, 1, 0 - createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 11, 1 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 11, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff - goto AnimScript_82D205F + goto BounceEnd Move_KARATE_CHOP: - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W104, +63 - createsprite gUnknown_08595E68, 0x2, -16, 0, 0, 0, 10, 1, 3, 0 + createsprite gUnknown_08595E68, 2, -16, 0, 0, 0, 10, 1, 3, 0 waitforvisualfinish playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_CROSS_CHOP: - loadspritegfx 0x279F - loadspritegfx 0x282D + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_285 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W025, +63 - createsprite gUnknown_08595EC8, 0x2, 0, 0, 0 - createsprite gUnknown_08595EC8, 0x2, 0, 0, 1 - delay 0x28 + createsprite gUnknown_08595EC8, 2, 0, 0, 0 + createsprite gUnknown_08595EC8, 2, 0, 0, 1 + delay 40 playsewithpan SE_W013, +63 - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0x7FFF, 10, 0, 10 - createsprite gUnknown_085973D0, 0x3, 0, 0, 1, 20 - createvisualtask sub_80D51AC, 0x5, 1, 7, 0, 9, 1 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_WHITE, 10, 0, 10 + createsprite gUnknown_085973D0, 3, 0, 0, 1, 20 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_JUMP_KICK: - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createsprite gUnknown_0857FE28, 0x2, 4, 4 - delay 0x3 - createsprite gUnknown_08595E80, 0x2, -16, 8, 0, 0, 10, 1, 1, 1 + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 3 + createsprite gUnknown_08595E80, 2, -16, 8, 0, 0, 10, 1, 1, 1 playsewithpan SE_W026, +63 waitforvisualfinish - createsprite gUnknown_08597358, 0x1, 0, 0, 1, 1 - createvisualtask sub_80D51AC, 0x5, 1, 5, 0, 7, 1 + createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 7, 1 playsewithpan SE_W004, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6583,38 +6493,38 @@ Move_JUMP_KICK: end Move_HI_JUMP_KICK: - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createsprite gUnknown_0857FE70, 0x2, 0, -24, 0, 0, 8 + setalpha 12, 8 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -24, 0, 0, 8 waitforvisualfinish - delay 0xA - createsprite gUnknown_0857FE58, 0x2, 0, 0, 3 - delay 0x2 - createsprite gUnknown_08595E80, 0x2, -16, 8, 0, 0, 10, 1, 1, 1 + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 3 + delay 2 + createsprite gUnknown_08595E80, 2, -16, 8, 0, 0, 10, 1, 1, 1 playsewithpan SE_W026, +63 waitforvisualfinish - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 playsewithpan SE_W233B, +63 - createsprite gUnknown_0857FE70, 0x2, 1, -28, 0, 0, 3 - delay 0x3 - createvisualtask sub_80D5484, 0x2, 1, 3, 0, 11, 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -28, 0, 0, 3 + delay 3 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 11, 1 waitforvisualfinish - delay 0x5 - createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_DOUBLE_KICK: - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createsprite gUnknown_08595EB0, 0x3, 1, 20, 1 - createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 + setalpha 12, 8 + createsprite gUnknown_08595EB0, 3, 1, 20, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 playsewithpan SE_W233B, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -6622,329 +6532,328 @@ Move_DOUBLE_KICK: end Move_TRIPLE_KICK: - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W233B, +63 - jumpifmoveturn 0x0, AnimScript_82D22B8 - jumpifmoveturn 0x1, AnimScript_82D22EE - goto AnimScript_82D2324 - -AnimScript_82D22B3: + jumpifmoveturn 0, TripleKickLeft + jumpifmoveturn 1, TripleKickRight + goto TripleKickCenter +TripleKickContinue: waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -AnimScript_82D22B8: - createsprite gUnknown_08595E98, 0x84, -16, -8, 20, 1, 1 - createsprite gUnknown_08597358, 0x83, -16, -16, 1, 2 - createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 - goto AnimScript_82D22B3 +TripleKickLeft: + createsprite gFistFootSpriteTemplate, 132, -16, -8, 20, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, -16, -16, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 + goto TripleKickContinue -AnimScript_82D22EE: - createsprite gUnknown_08595E98, 0x84, 8, 8, 20, 1, 1 - createsprite gUnknown_08597358, 0x83, 8, 0, 1, 2 - createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 - goto AnimScript_82D22B3 +TripleKickRight: + createsprite gFistFootSpriteTemplate, 132, 8, 8, 20, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, 8, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 + goto TripleKickContinue -AnimScript_82D2324: - createsprite gUnknown_08595E98, 0x84, 0, 0, 20, 1, 1 - createsprite gUnknown_08597358, 0x83, 0, -8, 1, 1 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 - goto AnimScript_82D22B3 +TripleKickCenter: + createsprite gFistFootSpriteTemplate, 132, 0, 0, 20, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, -8, 1, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + goto TripleKickContinue Move_DYNAMIC_PUNCH: - loadspritegfx 0x279F - loadspritegfx 0x2797 - loadspritegfx 0x27D6 - loadspritegfx 0x2717 - delay 0x1 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_EXPLOSION + loadspritegfx ANIM_TAG_007 + delay 1 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W233B, +63 - createsprite gUnknown_08595E98, 0x83, 0, 0, 20, 1, 0 - createsprite gUnknown_08597358, 0x82, 0, 0, 1, 0 - createvisualtask sub_80D51AC, 0x5, 1, 5, 0, 7, 1 - delay 0x1 + createsprite gFistFootSpriteTemplate, 131, 0, 0, 20, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 7, 1 + delay 1 waitsound playsewithpan SE_W120, +63 - createvisualtask sub_80D52D0, 0x5, 1, 5, 0, 28, 1 - createsprite gUnknown_0859371C, 0x3, 0, 0, 1, 1 - delay 0x6 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 5, 0, 28, 1 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 0, 0, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x3, 24, -24, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 24, -24, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x3, -16, 16, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, -16, 16, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x3, -24, -12, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, -24, -12, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x3, 16, 16, 1, 1 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 16, 16, 1, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_COUNTER: - loadspritegfx 0x2797 - loadspritegfx 0x279F + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createvisualtask sub_80D5830, 0x2, 0, 18, 6, 1, 4 + setalpha 12, 8 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 1, 4 playsewithpan SE_W233, -64 waitforvisualfinish - createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 - delay 0x4 - createsprite gUnknown_08597358, 0x2, -15, 18, 1, 0 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + delay 4 + createsprite gBasicHitSplatSpriteTemplate, 2, -15, 18, 1, 0 playsewithpan SE_W233B, +63 - delay 0x1 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 25, 1 - createsprite gUnknown_08595E98, 0x3, -15, 18, 8, 1, 0 - delay 0x3 - createsprite gUnknown_08597358, 0x2, 0, -4, 1, 0 + delay 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 25, 1 + createsprite gFistFootSpriteTemplate, 3, -15, 18, 8, 1, 0 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, -4, 1, 0 playsewithpan SE_W233B, +63 - delay 0x1 - createsprite gUnknown_08595E98, 0x3, 0, -4, 8, 1, 0 - delay 0x3 - createsprite gUnknown_08597358, 0x2, 15, 9, 1, 0 + delay 1 + createsprite gFistFootSpriteTemplate, 3, 0, -4, 8, 1, 0 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, 15, 9, 1, 0 playsewithpan SE_W233B, +63 - delay 0x1 - createsprite gUnknown_08595E98, 0x3, 15, 9, 8, 1, 0 - delay 0x5 - createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 + delay 1 + createsprite gFistFootSpriteTemplate, 3, 15, 9, 8, 1, 0 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_VITAL_THROW: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W233, -64 - createvisualtask sub_80D5830, 0x2, 0, 12, 4, 1, 2 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 1, 2 waitforvisualfinish - createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 - delay 0x2 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4 + delay 2 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 playsewithpan SE_W233B, +63 - delay 0x1 - createsprite gUnknown_0857FE70, 0x2, 1, -24, 0, 0, 4 + delay 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -24, 0, 0, 4 waitforvisualfinish - delay 0x3 - createsprite gUnknown_0857FE58, 0x2, 0, 0, 7 - delay 0xB - createsprite gUnknown_0857FE58, 0x2, 1, 0, 10 + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7 + delay 11 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 10 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_ROCK_SMASH: - loadspritegfx 0x274A - loadspritegfx 0x2797 - loadspritegfx 0x279F + loadspritegfx ANIM_TAG_058 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 monbg ANIM_DEF_PARTNER - setalpha 0x80C - delay 0x1 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 - createsprite gUnknown_08595E98, 0x2, 0, 0, 8, 1, 0 + setalpha 12, 8 + delay 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createsprite gFistFootSpriteTemplate, 2, 0, 0, 8, 1, 0 playsewithpan SE_W233B, +63 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 5, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 5, 1 waitforvisualfinish playsewithpan SE_W088, +63 - createsprite gUnknown_08596B1C, 0x2, 0, 0, 20, 24, 14, 2 - createsprite gUnknown_08596B1C, 0x2, 5, 0, -20, 24, 14, 1 - createsprite gUnknown_08596B1C, 0x2, 0, 5, 20, -24, 14, 2 - createsprite gUnknown_08596B1C, 0x2, -5, 0, -20, -24, 14, 2 - createsprite gUnknown_08596B1C, 0x2, 0, -5, 30, 18, 8, 2 - createsprite gUnknown_08596B1C, 0x2, 0, 0, 30, -18, 8, 2 - createsprite gUnknown_08596B1C, 0x2, 0, 0, -30, 18, 8, 2 - createsprite gUnknown_08596B1C, 0x2, 0, 0, -30, -18, 8, 2 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 7, 1 + createsprite gUnknown_08596B1C, 2, 0, 0, 20, 24, 14, 2 + createsprite gUnknown_08596B1C, 2, 5, 0, -20, 24, 14, 1 + createsprite gUnknown_08596B1C, 2, 0, 5, 20, -24, 14, 2 + createsprite gUnknown_08596B1C, 2, -5, 0, -20, -24, 14, 2 + createsprite gUnknown_08596B1C, 2, 0, -5, 30, 18, 8, 2 + createsprite gUnknown_08596B1C, 2, 0, 0, 30, -18, 8, 2 + createsprite gUnknown_08596B1C, 2, 0, 0, -30, 18, 8, 2 + createsprite gUnknown_08596B1C, 2, 0, 0, -30, -18, 8, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 7, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_SUBMISSION: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W104, -64 - waitplaysewithpan SE_W004, +63, 0xA - waitplaysewithpan SE_W104, -64, 0x14 - waitplaysewithpan SE_W004, +63, 0x1E - waitplaysewithpan SE_W104, -64, 0x28 - waitplaysewithpan SE_W004, +63, 0x32 - waitplaysewithpan SE_W104, -64, 0x3C - waitplaysewithpan SE_W004, +63, 0x46 - waitplaysewithpan SE_W104, -64, 0x50 + waitplaysewithpan SE_W004, +63, 10 + waitplaysewithpan SE_W104, -64, 20 + waitplaysewithpan SE_W004, +63, 30 + waitplaysewithpan SE_W104, -64, 40 + waitplaysewithpan SE_W004, +63, 50 + waitplaysewithpan SE_W104, -64, 60 + waitplaysewithpan SE_W004, +63, 70 + waitplaysewithpan SE_W104, -64, 80 waitplaysewithpan SE_W004, +63, 0x5A - createvisualtask sub_80D5738, 0x2, 0, -18, 6, 6, 4 - createvisualtask sub_80D5738, 0x2, 1, 18, 6, 6, 4 - call AnimScript_82D26D3 - call AnimScript_82D26D3 - call AnimScript_82D26D3 + createvisualtask AnimTask_TranslateMonElliptical, 2, 0, -18, 6, 6, 4 + createvisualtask AnimTask_TranslateMonElliptical, 2, 1, 18, 6, 6, 4 + call Submission1 + call Submission1 + call Submission1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -AnimScript_82D26D3: - createsprite gUnknown_08597358, 0x3, 0, -12, 1, 1 - delay 0x8 - createsprite gUnknown_08597358, 0x3, -12, 8, 1, 1 - delay 0x8 - createsprite gUnknown_08597358, 0x3, 12, 0, 1, 1 - delay 0x8 +Submission1: + 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: - loadspritegfx 0x27AD + loadspritegfx ANIM_TAG_157 monbg ANIM_ATK_PARTNER - setalpha 0x30D - createvisualtask sub_8116620, 0xA, 1921, 1, 0, 6, 0x7FFF + setalpha 13, 3 + createvisualtask sub_8116620, 10, 0x781, 1, 0, 6, RGB_WHITE waitforvisualfinish - panse_26 SE_W080, -64, +63, +1, 0x0 - call AnimScript_82D2753 - call AnimScript_82D2753 - call AnimScript_82D2753 - call AnimScript_82D2753 + panse_26 SE_W080, -64, +63, +1, 0 + call SunnyDay1 + call SunnyDay1 + call SunnyDay1 + call SunnyDay1 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 1921, 1, 6, 0, 0x7FFF + createvisualtask sub_8116620, 10, 0x781, 1, 6, 0, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff end -AnimScript_82D2753: - createsprite gUnknown_085954A0, 0x28 - delay 0x6 +SunnyDay1: + createsprite gUnknown_085954A0, 40 + delay 6 return Move_COTTON_SPORE: - loadspritegfx 0x27AE + loadspritegfx ANIM_TAG_158 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - loopsewithpan SE_W077, +63, 0x12, 0xA - call AnimScript_82D277D - call AnimScript_82D277D - call AnimScript_82D277D + loopsewithpan SE_W077, +63, 18, 10 + call CottonSpore1 + call CottonSpore1 + call CottonSpore1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end -AnimScript_82D277D: - createsprite gUnknown_085922EC, 0x2, 0, -20, 85, 80, 0 - delay 0xC - createsprite gUnknown_085922EC, 0x2, 0, -10, 170, 80, 0 - delay 0xC - createsprite gUnknown_085922EC, 0x2, 0, -15, 0, 80, 0 - delay 0xC +CottonSpore1: + createsprite gUnknown_085922EC, 2, 0, -20, 85, 80, 0 + delay 12 + createsprite gUnknown_085922EC, 2, 0, -10, 170, 80, 0 + delay 12 + createsprite gUnknown_085922EC, 2, 0, -15, 0, 80, 0 + delay 12 return Move_SPORE: - loadspritegfx 0x27AE + loadspritegfx ANIM_TAG_158 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createvisualtask sub_80FEE1C, 0x2 - loopsewithpan SE_W077, +63, 0x10, 0xB - call AnimScript_82D27E2 - call AnimScript_82D27E2 - call AnimScript_82D27E2 + setalpha 12, 8 + createvisualtask sub_80FEE1C, 2 + loopsewithpan SE_W077, +63, 16, 11 + call Spore1 + call Spore1 + call Spore1 waitforvisualfinish - delay 0x1 + delay 1 clearmonbg ANIM_DEF_PARTNER blendoff end -AnimScript_82D27E2: - createsprite gUnknown_085922EC, 0x82, 0, -20, 85, 80, 1 - delay 0xC - createsprite gUnknown_085922EC, 0x82, 0, -10, 170, 80, 1 - delay 0xC - createsprite gUnknown_085922EC, 0x82, 0, -15, 0, 80, 1 - delay 0xC +Spore1: + createsprite gUnknown_085922EC, 130, 0, -20, 85, 80, 1 + delay 12 + createsprite gUnknown_085922EC, 130, 0, -10, 170, 80, 1 + delay 12 + createsprite gUnknown_085922EC, 130, 0, -15, 0, 80, 1 + delay 12 return Move_PETAL_DANCE: - loadspritegfx 0x27AF - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_159 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W080, -64 - createvisualtask sub_80D5830, 0x2, 0, 12, 6, 6, 3 - createsprite gUnknown_0859231C, 0x2, 0, -24, 8, 140 - createsprite gUnknown_08592334, 0x2, 16, -24, 8, 100 - createsprite gUnknown_08592334, 0x2, -16, -24, 8, 100 - delay 0xF - createsprite gUnknown_0859231C, 0x2, 0, -24, 8, 140 - createsprite gUnknown_08592334, 0x2, 32, -24, 8, 100 - createsprite gUnknown_08592334, 0x2, -32, -24, 8, 100 - delay 0xF - createsprite gUnknown_0859231C, 0x2, 0, -24, 8, 140 - createsprite gUnknown_08592334, 0x2, 24, -24, 8, 100 - createsprite gUnknown_08592334, 0x2, -24, -24, 8, 100 - delay 0x1E - createsprite gUnknown_08592334, 0x2, 16, -24, 0, 100 - createsprite gUnknown_08592334, 0x2, -16, -24, 0, 100 - delay 0x1E - createsprite gUnknown_08592334, 0x2, 20, -16, 14, 80 - createsprite gUnknown_08592334, 0x2, -20, -14, 16, 80 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 6, 3 + createsprite gUnknown_0859231C, 2, 0, -24, 8, 140 + createsprite gUnknown_08592334, 2, 16, -24, 8, 100 + createsprite gUnknown_08592334, 2, -16, -24, 8, 100 + delay 15 + createsprite gUnknown_0859231C, 2, 0, -24, 8, 140 + createsprite gUnknown_08592334, 2, 32, -24, 8, 100 + createsprite gUnknown_08592334, 2, -32, -24, 8, 100 + delay 15 + createsprite gUnknown_0859231C, 2, 0, -24, 8, 140 + createsprite gUnknown_08592334, 2, 24, -24, 8, 100 + createsprite gUnknown_08592334, 2, -24, -24, 8, 100 + delay 30 + createsprite gUnknown_08592334, 2, 16, -24, 0, 100 + createsprite gUnknown_08592334, 2, -16, -24, 0, 100 + delay 30 + createsprite gUnknown_08592334, 2, 20, -16, 14, 80 + createsprite gUnknown_08592334, 2, -20, -14, 16, 80 waitforvisualfinish - createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 5 - delay 0x3 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 5 + delay 3 playsewithpan SE_W025B, +63 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 0 - createvisualtask sub_80D51AC, 0x2, 1, 6, 0, 8, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 6, 0, 8, 1 waitforvisualfinish - delay 0x8 - createsprite gUnknown_0857FE58, 0x2, 0, 0, 7 + delay 8 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_RAZOR_LEAF: - loadspritegfx 0x274F - loadspritegfx 0x27B0 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_063 + loadspritegfx ANIM_TAG_160 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - delay 0x1 - loopsewithpan SE_W077, -64, 0xA, 0x5 - createsprite gUnknown_08592390, 0x2, -3, -2, 10 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -1, -1, 15 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -4, -4, 7 - delay 0x2 - createsprite gUnknown_08592390, 0x2, 3, -3, 11 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -1, -6, 8 - delay 0x2 - createsprite gUnknown_08592390, 0x2, 2, -1, 12 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -3, -4, 13 - delay 0x2 - createsprite gUnknown_08592390, 0x2, 4, -5, 7 - delay 0x2 - createsprite gUnknown_08592390, 0x2, 2, -6, 11 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -3, -5, 8 - delay 0x3C + setalpha 12, 8 + delay 1 + loopsewithpan SE_W077, -64, 10, 5 + createsprite gUnknown_08592390, 2, -3, -2, 10 + delay 2 + createsprite gUnknown_08592390, 2, -1, -1, 15 + delay 2 + createsprite gUnknown_08592390, 2, -4, -4, 7 + delay 2 + createsprite gUnknown_08592390, 2, 3, -3, 11 + delay 2 + createsprite gUnknown_08592390, 2, -1, -6, 8 + delay 2 + createsprite gUnknown_08592390, 2, 2, -1, 12 + delay 2 + createsprite gUnknown_08592390, 2, -3, -4, 13 + delay 2 + createsprite gUnknown_08592390, 2, 4, -5, 7 + delay 2 + createsprite gUnknown_08592390, 2, 2, -6, 11 + delay 2 + createsprite gUnknown_08592390, 2, -3, -5, 8 + delay 60 playsewithpan SE_W013B, -64 - createsprite gUnknown_085923D8, 0x83, 20, -10, 20, 0, 22, 20, 1 - createsprite gUnknown_085923D8, 0x83, 20, -10, 20, 0, 22, -20, 1 - delay 0x14 + createsprite gUnknown_085923D8, 131, 20, -10, 20, 0, 22, 20, 1 + createsprite gUnknown_085923D8, 131, 20, -10, 20, 0, 22, -20, 1 + delay 20 playsewithpan SE_W013, +63 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 - createvisualtask sub_80D52D0, 0x2, 3, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 8, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -6952,116 +6861,116 @@ Move_RAZOR_LEAF: Move_NATURE_POWER: Move_ANCIENT_POWER: - loadspritegfx 0x274A - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_058 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createsprite gUnknown_085972D8, 0x2, 4, 1, 10, 1 - createsprite gUnknown_08596C10, 0x2, 20, 32, -48, 50, 2 - createsprite gUnknown_08596C10, 0x2, 0, 32, -38, 25, 5 - createsprite gUnknown_08596C10, 0x2, 32, 32, -28, 40, 3 - createsprite gUnknown_08596C10, 0x2, -20, 32, -48, 50, 2 - createsprite gUnknown_08596C10, 0x2, 20, 32, -28, 60, 1 - createsprite gUnknown_08596C10, 0x2, 0, 32, -28, 30, 4 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 30, 1 + setalpha 12, 8 + createsprite gBattleAnimSpriteTemplate_85972D8, 2, 4, 1, 10, 1 + createsprite gUnknown_08596C10, 2, 20, 32, -48, 50, 2 + createsprite gUnknown_08596C10, 2, 0, 32, -38, 25, 5 + createsprite gUnknown_08596C10, 2, 32, 32, -28, 40, 3 + createsprite gUnknown_08596C10, 2, -20, 32, -48, 50, 2 + createsprite gUnknown_08596C10, 2, 20, 32, -28, 60, 1 + createsprite gUnknown_08596C10, 2, 0, 32, -28, 30, 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 30, 1 playsewithpan SE_W082, -64 - delay 0xA - createsprite gUnknown_08596C10, 0x2, 15, 32, -48, 25, 5 - createsprite gUnknown_08596C10, 0x2, -10, 32, -42, 30, 4 - delay 0xA - createsprite gUnknown_08596C10, 0x2, 0, 32, -42, 25, 5 - createsprite gUnknown_08596C10, 0x2, -25, 32, -48, 30, 4 + delay 10 + createsprite gUnknown_08596C10, 2, 15, 32, -48, 25, 5 + createsprite gUnknown_08596C10, 2, -10, 32, -42, 30, 4 + delay 10 + createsprite gUnknown_08596C10, 2, 0, 32, -42, 25, 5 + createsprite gUnknown_08596C10, 2, -25, 32, -48, 30, 4 waitforvisualfinish - createsprite gUnknown_0857FE70, 0x2, 0, 16, 0, 0, 4 - delay 0x3 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 16, 0, 0, 4 + delay 3 playsewithpan SE_W120, +63 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish - createsprite gUnknown_0857FE58, 0x2, 0, 0, 7 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_OCTAZOOKA: - loadspritegfx 0x272E - loadspritegfx 0x2721 + loadspritegfx ANIM_TAG_GRAY_SMOKE + loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan SE_W025B, -64 - createsprite gUnknown_08592DFC, 0x82, 20, 0, 0, 0, 20, 0 + createsprite gUnknown_08592DFC, 130, 20, 0, 0, 0, 20, 0 waitforvisualfinish playsewithpan SE_W120, +63 - createsprite gUnknown_08592E30, 0x82, 8, 8, 1, 0 - delay 0x2 - createsprite gUnknown_08592E30, 0x82, -8, -8, 1, 0 - delay 0x2 - createsprite gUnknown_08592E30, 0x82, 8, -8, 1, 0 - delay 0x2 - createsprite gUnknown_08592E30, 0x82, -8, 8, 1, 0 + createsprite gUnknown_08592E30, 130, 8, 8, 1, 0 + delay 2 + createsprite gUnknown_08592E30, 130, -8, -8, 1, 0 + delay 2 + createsprite gUnknown_08592E30, 130, 8, -8, 1, 0 + delay 2 + createsprite gUnknown_08592E30, 130, -8, 8, 1, 0 waitforvisualfinish end Move_MIST: - loadspritegfx 0x27A0 + loadspritegfx ANIM_TAG_144 monbg ANIM_ATK_PARTNER - setalpha 0x80C - loopsewithpan SE_W054, -64, 0x14, 0xF - call AnimScript_82D2C34 - call AnimScript_82D2C34 - call AnimScript_82D2C34 - call AnimScript_82D2C34 - call AnimScript_82D2C34 - call AnimScript_82D2C34 - call AnimScript_82D2C34 - delay 0x20 - createvisualtask sub_8115A04, 0x2, 10, 8, 2, 0, 14, 0x7FFF + setalpha 12, 8 + loopsewithpan SE_W054, -64, 20, 15 + call Mist1 + call Mist1 + call Mist1 + call Mist1 + call Mist1 + call Mist1 + call Mist1 + delay 32 + createvisualtask sub_8115A04, 2, 10, 8, 2, 0, 14, RGB_WHITE waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff end -AnimScript_82D2C34: - createsprite gUnknown_08595C2C, 0x2, 0, -24, 48, 240, 0, 1 - delay 0x7 +Mist1: + createsprite gUnknown_08595C2C, 2, 0, -24, 48, 240, 0, 1 + delay 7 return Move_HAZE: waitforvisualfinish playsewithpan SE_W114, 0 - createvisualtask sub_810C0A0, 0x5 - delay 0x1E - createvisualtask sub_8116620, 0xA, 1920, 2, 0, 16, 0 + createvisualtask sub_810C0A0, 5 + delay 30 + createvisualtask sub_8116620, 10, 0x780, 2, 0, 16, RGB_BLACK delay 0x5A - createvisualtask sub_8116620, 0xA, 1920, 1, 16, 0, 0 + createvisualtask sub_8116620, 10, 0x780, 1, 16, 0, RGB_BLACK end Move_FIRE_PUNCH: - loadspritegfx 0x279F - loadspritegfx 0x272D - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_SMALL_EMBER + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createvisualtask sub_8116620, 0xA, 4, 2, 0, 9, 31 + setalpha 12, 8 + createvisualtask sub_8116620, 10, 4, 2, 0, 9, RGB_RED createsprite gUnknown_08595368, 0x81, 0 createsprite gUnknown_08595368, 0x81, 64 createsprite gUnknown_08595368, 0x81, 128 createsprite gUnknown_08595368, 0x81, 196 playsewithpan SE_W172, +63 waitforvisualfinish - createsprite gUnknown_08595E98, 0x83, 0, 0, 8, 1, 0 - createsprite gUnknown_08597358, 0x82, 0, 0, 1, 1 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 15, 1 - call AnimScript_82D2D18 - delay 0x4 + createsprite gFistFootSpriteTemplate, 131, 0, 0, 8, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 + call FireMoveEffect + delay 4 playsewithpan SE_W007, +63 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 4, 0, 9, 0, 31 + createvisualtask sub_8116620, 10, 4, 0, 9, 0, RGB_RED waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -AnimScript_82D2D18: +FireMoveEffect: createsprite gUnknown_08595380, 0x81, 0, 10, 192, 176, 40 createsprite gUnknown_08595380, 0x81, 0, 10, -192, 240, 40 createsprite gUnknown_08595380, 0x81, 0, 10, 192, -160, 40 @@ -7072,324 +6981,319 @@ AnimScript_82D2D18: return Move_LEER: - loadspritegfx 0x272B + loadspritegfx ANIM_TAG_GLARE monbg ANIM_ATTACKER monbgprio_28 ANIM_ATTACKER - setalpha 0x808 + setalpha 8, 8 playsewithpan SE_W043, -64 - createsprite gUnknown_085CE150, 0x2, 24, -12 - createvisualtask sub_80D6064, 0x5, -5, -5, 10, 0, 1 + createsprite gUnknown_085CE150, 2, 24, -12 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1 waitforvisualfinish - delay 0xA - createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 9, 1 - createvisualtask sub_80D52D0, 0x2, 3, 1, 0, 9, 1 + delay 10 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 9, 1 waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff - delay 0x1 + delay 1 waitforvisualfinish end Move_DREAM_EATER: - loadspritegfx 0x27A3 - loadspritegfx 0x272F + loadspritegfx ANIM_TAG_147 + loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET playsewithpan SE_W060, -64 - call AnimScript_82D7CD1 - setalpha 0x808 + call SetPsychicBackground + setalpha 8, 8 playsewithpan SE_W107, +63 - createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 15, 1 - createvisualtask sub_80D6064, 0x5, -6, -6, 15, 1, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 15, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -6, -6, 15, ANIM_TARGET, 1 waitforvisualfinish - setalpha 0x80C - createvisualtask sub_80D51AC, 0x2, 1, 0, 2, 25, 1 - call AnimScript_82D2E51 + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 2, 25, 1 + call DreamEaterEffect waitforvisualfinish - delay 0xF - call AnimScript_82D79DF + delay 15 + call HealingEffect waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff - delay 0x1 - call AnimScript_82D7CDD + delay 1 + call UnsetPsychicBackground end - -AnimScript_82D2E51: +DreamEaterEffect: playsewithpan SE_W207, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 5, -18, -40, 35 - createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 5, -18, -40, 35 + createsprite gUnknown_08592270, 3, -10, 20, 20, 39 + delay 4 playsewithpan SE_W207, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 28, 26 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - createsprite gUnknown_08592270, 0x3, -10, 20, 40, 39 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 28, 26 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 3, -10, 20, 40, 39 + delay 4 playsewithpan SE_W207, +63 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 - createsprite gUnknown_08592270, 0x3, 10, -5, -32, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 3, 10, -5, -32, 26 + delay 4 playsewithpan SE_W207, +63 - createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + delay 4 playsewithpan SE_W207, +63 - createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 - createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + delay 4 playsewithpan SE_W207, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 - createsprite gUnknown_08592270, 0x3, 10, -5, -40, 26 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 3, 10, -5, -40, 26 + delay 4 playsewithpan SE_W207, +63 - createsprite gUnknown_08592270, 0x3, -5, 15, 36, 33 - createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 - createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 - delay 0x4 + createsprite gUnknown_08592270, 3, -5, 15, 36, 33 + createsprite gUnknown_08592270, 3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 3, -10, 20, 20, 39 + delay 4 playsewithpan SE_W207, +63 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 - createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 - delay 0x4 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 3, 5, -18, -20, 35 + delay 4 return Move_POISON_GAS: - loadspritegfx 0x27BC - loadspritegfx 0x27A6 - delay 0x0 + loadspritegfx ANIM_TAG_172 + loadspritegfx ANIM_TAG_POISON_BUBBLE + delay 0 monbg ANIM_DEF_PARTNER monbgprio_29 - setalpha 0x80C - delay 0x0 + setalpha 12, 8 + delay 0 playsewithpan SE_W054, -64 - createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 - delay 0x4 + createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 playsewithpan SE_W054, -64 - createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 - delay 0x4 + createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 playsewithpan SE_W054, -64 - createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 - delay 0x4 + createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 playsewithpan SE_W054, -64 - createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 - delay 0x4 + createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 playsewithpan SE_W054, -64 - createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 - delay 0x4 + createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 4 playsewithpan SE_W054, -64 - createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 - delay 0x28 - loopsewithpan SE_W054, +63, 0x1C, 0x6 - createvisualtask sub_8115A04, 0x2, 4, 6, 2, 0, 12, 26650 + createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 40 + loopsewithpan SE_W054, +63, 28, 6 + createvisualtask sub_8115A04, 2, 4, 6, 2, 0, 12, RGB(26, 0, 26) waitforvisualfinish blendoff clearmonbg ANIM_DEF_PARTNER - delay 0x0 + delay 0 end Move_BIND: - createvisualtask sub_80D5EB8, 0x5, 0, 6, 3328, 4, 0 - goto AnimScript_82D30DE + createvisualtask AnimTask_SwayMon, 5, 0, 6, 3328, 4, ANIM_ATTACKER + goto BindWrap -AnimScript_82D30DE: +BindWrap: playsewithpan SE_W020, +63 - call AnimScript_82D30EE - call AnimScript_82D30EE + call BindWrap1 + call BindWrap1 waitforvisualfinish end - -AnimScript_82D30EE: - createvisualtask sub_80D6064, 0x5, 10, -5, 5, 1, 0 - delay 0x10 +BindWrap1: + createvisualtask AnimTask_ScaleMonAndRestore, 5, 10, -5, 5, ANIM_TARGET, 0 + delay 16 return Move_WRAP: - createvisualtask sub_80D5830, 0x2, 0, 6, 4, 2, 4 - goto AnimScript_82D30DE + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 6, 4, 2, 4 + goto BindWrap Move_PSYBEAM: - loadspritegfx 0x27B3 + loadspritegfx ANIM_TAG_163 playsewithpan SE_W060, -64 - call AnimScript_82D7CD1 + call SetPsychicBackground createsoundtask sub_8158C58, 200, -64, 63, 3, 4, 0, 15 - call AnimScript_82D319C - call AnimScript_82D319C - createvisualtask sub_80D5EB8, 0x5, 0, 6, 2048, 4, 1 - createvisualtask sub_8115A04, 0x2, 4, 2, 2, 0, 12, 32351 - call AnimScript_82D319C - call AnimScript_82D319C - call AnimScript_82D319C - call AnimScript_82D319C - call AnimScript_82D319C - call AnimScript_82D319C - call AnimScript_82D319C - call AnimScript_82D319C - call AnimScript_82D319C + call Psybeam1 + call Psybeam1 + createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 4, ANIM_TARGET + createvisualtask sub_8115A04, 2, 4, 2, 2, 0, 12, RGB(31, 18, 31) + call Psybeam1 + call Psybeam1 + call Psybeam1 + call Psybeam1 + call Psybeam1 + call Psybeam1 + call Psybeam1 + call Psybeam1 + call Psybeam1 waitforvisualfinish - delay 0x1 - call AnimScript_82D7CDD + delay 1 + call UnsetPsychicBackground end - -AnimScript_82D319C: - createsprite gUnknown_0859663C, 0x82, 16, 0, 0, 0, 13, 0 - delay 0x4 +Psybeam1: + createsprite gUnknown_0859663C, 130, 16, 0, 0, 0, 13, 0 + delay 4 return Move_HYPNOSIS: - loadspritegfx 0x27B3 - call AnimScript_82D7CD1 - call AnimScript_82D31E5 - call AnimScript_82D31E5 - call AnimScript_82D31E5 - createvisualtask sub_8115A04, 0x2, 4, 2, 2, 0, 12, 32351 + loadspritegfx ANIM_TAG_163 + call SetPsychicBackground + call Hypnosis1 + call Hypnosis1 + call Hypnosis1 + createvisualtask sub_8115A04, 2, 4, 2, 2, 0, 12, RGB(31, 18, 31) waitforvisualfinish - delay 0x1 - call AnimScript_82D7CDD + delay 1 + call UnsetPsychicBackground end - -AnimScript_82D31E5: +Hypnosis1: playsewithpan SE_W048, -64 - createsprite gUnknown_0859663C, 0x82, 0, 8, 0, 8, 27, 0 - createsprite gUnknown_0859663C, 0x82, 16, -8, 0, -8, 27, 0 - delay 0x6 + createsprite gUnknown_0859663C, 130, 0, 8, 0, 8, 27, 0 + createsprite gUnknown_0859663C, 130, 16, -8, 0, -8, 27, 0 + delay 6 return Move_PSYWAVE: - loadspritegfx 0x27B5 + loadspritegfx ANIM_TAG_165 playsewithpan SE_W060, -64 - call AnimScript_82D7CD1 - createvisualtask sub_81076C8, 0x5, 100 + call SetPsychicBackground + createvisualtask sub_81076C8, 5, 100 createsoundtask sub_8158C58, 203, -64, 63, 2, 9, 0, 10 - call AnimScript_82D3275 - call AnimScript_82D3275 - createvisualtask sub_8115A04, 0x2, 4, 1, 4, 0, 12, 32351 - call AnimScript_82D3275 - call AnimScript_82D3275 - call AnimScript_82D3275 - call AnimScript_82D3275 + call Psywave1 + call Psywave1 + createvisualtask sub_8115A04, 2, 4, 1, 4, 0, 12, RGB(31, 18, 31) + call Psywave1 + call Psywave1 + call Psywave1 + call Psywave1 waitforvisualfinish - delay 0x1 - call AnimScript_82D7CDD + delay 1 + call UnsetPsychicBackground end - -AnimScript_82D3275: - createsprite gUnknown_08595170, 0x83, 10, 10, 0, 16 - delay 0x4 - createsprite gUnknown_08595170, 0x83, 10, 10, 0, 16 - delay 0x4 +Psywave1: + createsprite gUnknown_08595170, 131, 10, 10, 0, 16 + delay 4 + createsprite gUnknown_08595170, 131, 10, 10, 0, 16 + delay 4 return Move_ZAP_CANNON: - loadspritegfx 0x27BB - loadspritegfx 0x271B + loadspritegfx ANIM_TAG_171 + loadspritegfx ANIM_TAG_SPARK_2 playsewithpan SE_W086, -64 - createsprite gUnknown_08595764, 0x83, 10, 0, 0, 0, 30, 0 - createsprite gUnknown_08595790, 0x84, 10, 0, 16, 30, 0, 40, 0 - createsprite gUnknown_08595790, 0x84, 10, 0, 16, 30, 64, 40, 1 - createsprite gUnknown_08595790, 0x84, 10, 0, 16, 30, 128, 40, 0 - createsprite gUnknown_08595790, 0x84, 10, 0, 16, 30, 192, 40, 2 - createsprite gUnknown_08595790, 0x84, 10, 0, 8, 30, 32, 40, 0 - createsprite gUnknown_08595790, 0x84, 10, 0, 8, 30, 96, 40, 1 - createsprite gUnknown_08595790, 0x84, 10, 0, 8, 30, 160, 40, 0 - createsprite gUnknown_08595790, 0x84, 10, 0, 8, 30, 224, 40, 2 + createsprite gUnknown_08595764, 131, 10, 0, 0, 0, 30, 0 + createsprite gUnknown_08595790, 132, 10, 0, 16, 30, 0, 40, 0 + createsprite gUnknown_08595790, 132, 10, 0, 16, 30, 64, 40, 1 + createsprite gUnknown_08595790, 132, 10, 0, 16, 30, 128, 40, 0 + createsprite gUnknown_08595790, 132, 10, 0, 16, 30, 192, 40, 2 + createsprite gUnknown_08595790, 132, 10, 0, 8, 30, 32, 40, 0 + createsprite gUnknown_08595790, 132, 10, 0, 8, 30, 96, 40, 1 + createsprite gUnknown_08595790, 132, 10, 0, 8, 30, 160, 40, 0 + createsprite gUnknown_08595790, 132, 10, 0, 8, 30, 224, 40, 2 waitforvisualfinish - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 5, 1 - delay 0xF - waitplaysewithpan SE_W085B, +63, 0x13 - call AnimScript_82D7BEA + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 + delay 15 + waitplaysewithpan SE_W085B, +63, 19 + call ElectricityEffect waitforvisualfinish end Move_STEEL_WING: - loadspritegfx 0x2719 - loadspritegfx 0x2797 - loopsewithpan SE_W231, -64, 0x1C, 0x2 - createvisualtask sub_81144F8, 0x5, 0, 0, 0 + loadspritegfx ANIM_TAG_GUST + loadspritegfx ANIM_TAG_135 + loopsewithpan SE_W231, -64, 28, 2 + createvisualtask sub_81144F8, 5, 0, 0, 0 waitforvisualfinish monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - loopsewithpan SE_W017, -64, 0x14, 0x2 - createvisualtask sub_80D5738, 0x2, 0, 12, 4, 1, 4 - createvisualtask sub_810DED8, 0x5, 1, 70 - createsprite gUnknown_085962A4, 0x2, -25, 0, 0, 0, 20 - createsprite gUnknown_085962A4, 0x2, 25, 0, 0, 0, 20 - delay 0x18 - createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 9 - delay 0x11 - createsprite gUnknown_08597358, 0x2, 16, 0, 1, 1 - createsprite gUnknown_08597358, 0x2, -16, 0, 1, 1 + setalpha 12, 8 + loopsewithpan SE_W017, -64, 20, 2 + createvisualtask AnimTask_TranslateMonElliptical, 2, 0, 12, 4, 1, 4 + createvisualtask sub_810DED8, 5, 1, 70 + createsprite gBattleAnimSpriteTemplate_85962A4, 2, -25, 0, 0, 0, 20 + createsprite gBattleAnimSpriteTemplate_85962A4, 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 gUnknown_0857FE58, 0x2, 0, 0, 11 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_IRON_TAIL: - loadspritegfx 0x2797 - loopsewithpan SE_W231, -64, 0x1C, 0x2 - createvisualtask sub_81144F8, 0x5, 1, 0, 0 + loadspritegfx ANIM_TAG_135 + loopsewithpan SE_W231, -64, 28, 2 + createvisualtask sub_81144F8, 5, 1, 0, 0 waitforvisualfinish monbg ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_0857FE28, 0x2, 4, 4 - delay 0x6 - createsprite gUnknown_08597358, 0x82, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, +63 waitforvisualfinish - createvisualtask sub_811489C, 0x5, 0, 1 + createvisualtask sub_811489C, 5, 0, 1 clearmonbg ANIM_TARGET blendoff waitforvisualfinish end Move_POISON_TAIL: - loadspritegfx 0x2797 - loadspritegfx 0x27A6 - loopsewithpan SE_W231, -64, 0x1C, 0x2 - createvisualtask sub_81144F8, 0x5, 1, 1, RGB(24, 6, 23) + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_POISON_BUBBLE + loopsewithpan SE_W231, -64, 28, 2 + createvisualtask sub_81144F8, 5, 1, 1, RGB(24, 6, 23) waitforvisualfinish monbg ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_0857FE28, 0x2, 4, 4 - delay 0x6 - createsprite gUnknown_08597358, 0x82, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + setalpha 12, 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_W233B, +63 waitforvisualfinish - createvisualtask sub_811489C, 0x5, 0, 1 + createvisualtask sub_811489C, 5, 0, 1 clearmonbg ANIM_TARGET blendoff - call AnimScript_82D7A71 + call PoisonBubblesEffect waitforvisualfinish end Move_METAL_CLAW: - loadspritegfx 0x2737 - loopsewithpan SE_W231, -64, 0x1C, 0x2 - createvisualtask sub_81144F8, 0x5, 0, 0, 0 + loadspritegfx ANIM_TAG_CLAW_SLASH + loopsewithpan SE_W231, -64, 28, 2 + createvisualtask sub_81144F8, 5, 0, 0, 0 waitforvisualfinish - createsprite gUnknown_0857FE28, 0x2, 6, 4 - delay 0x2 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 2 playsewithpan SE_W013, +63 - createsprite gUnknown_08597138, 0x82, -10, -10, 0 - createsprite gUnknown_08597138, 0x82, -10, 10, 0 - createsprite gUnknown_085972D8, 0x2, -4, 1, 10, 3, 1 - delay 0x8 - createsprite gUnknown_0857FE28, 0x2, 6, 4 - delay 0x2 + createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, -10, 0 + createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, 10, 0 + createsprite gBattleAnimSpriteTemplate_85972D8, 2, -4, 1, 10, 3, 1 + delay 8 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 2 playsewithpan SE_W013, +63 - createsprite gUnknown_08597138, 0x82, 10, -10, 1 - createsprite gUnknown_08597138, 0x82, 10, 10, 1 - createsprite gUnknown_085972D8, 0x2, -4, 1, 10, 3, 1 + createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, -10, 1 + createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, 10, 1 + createsprite gBattleAnimSpriteTemplate_85972D8, 2, -4, 1, 10, 3, 1 waitforvisualfinish end @@ -7399,1265 +7303,1241 @@ Move_NIGHT_SHADE: playsewithpan SE_W060, -64 fadetobg BG_GHOST waitbgfadein - delay 0xA + delay 10 playsewithpan SE_W043, -64 - createvisualtask sub_811188C, 0x5, 85 - delay 0x46 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 12, 1 - createvisualtask sub_8115A04, 0x2, 4, 0, 2, 0, 13, 0 + createvisualtask sub_811188C, 5, 85 + delay 70 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 12, 1 + createvisualtask sub_8115A04, 2, 4, 0, 2, 0, 13, RGB_BLACK waitforvisualfinish clearmonbg ANIM_ATTACKER - delay 0x1 + delay 1 restorebg waitbgfadein end Move_EGG_BOMB: - loadspritegfx 0x27D6 - loadspritegfx 0x27BF + loadspritegfx ANIM_TAG_EXPLOSION + loadspritegfx ANIM_TAG_175 playsewithpan SE_W039, -64 - createsprite gUnknown_08593488, 0x82, 10, 0, 0, 0, 25, -32 + createsprite gUnknown_08593488, 130, 10, 0, 0, 0, 25, -32 waitforvisualfinish - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 16, 1 - createsprite gUnknown_0859371C, 0x84, 6, 5, 1, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 16, 1 + createsprite gBattleAnimSpriteTemplate_859371C, 132, 6, 5, 1, 0 playsewithpan SE_W120, +63 - delay 0x3 - createsprite gUnknown_0859371C, 0x84, -16, -15, 1, 0 + delay 3 + createsprite gBattleAnimSpriteTemplate_859371C, 132, -16, -15, 1, 0 playsewithpan SE_W120, +63 - delay 0x3 - createsprite gUnknown_0859371C, 0x84, 16, -5, 1, 0 + delay 3 + createsprite gBattleAnimSpriteTemplate_859371C, 132, 16, -5, 1, 0 playsewithpan SE_W120, +63 - delay 0x3 - createsprite gUnknown_0859371C, 0x84, -12, 18, 1, 0 + delay 3 + createsprite gBattleAnimSpriteTemplate_859371C, 132, -12, 18, 1, 0 playsewithpan SE_W120, +63 - delay 0x3 - createsprite gUnknown_0859371C, 0x84, 0, 5, 1, 0 + delay 3 + createsprite gBattleAnimSpriteTemplate_859371C, 132, 0, 5, 1, 0 playsewithpan SE_W120, +63 - delay 0x3 + delay 3 waitforvisualfinish end Move_SHADOW_BALL: - loadspritegfx 0x27C0 + loadspritegfx ANIM_TAG_176 fadetobg BG_GHOST waitbgfadein - delay 0xF + delay 15 createsoundtask sub_8158C58, 168, -64, 63, 5, 5, 0, 5 - createsprite gUnknown_08596D58, 0x82, 16, 16, 8 + createsprite gUnknown_08596D58, 130, 16, 16, 8 waitforvisualfinish playsewithpan SE_W028, +63 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 8, 1 waitforvisualfinish restorebg waitbgfadein end Move_LICK: - loadspritegfx 0x27C1 - delay 0xF + loadspritegfx ANIM_TAG_177 + delay 15 playsewithpan SE_W122, +63 - createsprite gUnknown_08596D8C, 0x82, 0, 0 - createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 16, 1 + createsprite gUnknown_08596D8C, 130, 0, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 16, 1 waitforvisualfinish end Move_FOCUS_ENERGY: - loadspritegfx 0x27C8 + loadspritegfx ANIM_TAG_184 playsewithpan SE_W082, -64 - call AnimScript_82CD6C7 - delay 0x8 - createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 11, 0x7FFF - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 - call AnimScript_82CD6C7 - delay 0x8 - call AnimScript_82CD6C7 + call EndureEffect + delay 8 + createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_WHITE + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 + call EndureEffect + delay 8 + call EndureEffect waitforvisualfinish end Move_BIDE: - choosetwoturnanim AnimScript_82D3719, AnimScript_82D3745 + choosetwoturnanim BideSetUp, BideUnleash end - -AnimScript_82D3719: - loopsewithpan SE_W036, -64, 0x9, 0x2 - createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 11, 31 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 +BideSetUp: + loopsewithpan SE_W036, -64, 9, 2 + createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 waitforvisualfinish end -AnimScript_82D3745: - loadspritegfx 0x2797 +BideUnleash: + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - loopsewithpan SE_W036, -64, 0x9, 0x2 - createvisualtask sub_8116620, 0xA, 2, 2, 0, 11, 31 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 + setalpha 12, 8 + loopsewithpan SE_W036, -64, 9, 2 + createvisualtask sub_8116620, 10, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 waitforvisualfinish - createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 4 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 4 waitforvisualfinish - createvisualtask sub_80D5484, 0x2, 0, 2, 0, 12, 1 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 16, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 12, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 16, 1 playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x1, 18, -8, 1, 1 - delay 0x5 + createsprite gBasicHitSplatSpriteTemplate, 1, 18, -8, 1, 1 + delay 5 playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x1, -18, 8, 1, 1 - delay 0x5 + createsprite gBasicHitSplatSpriteTemplate, 1, -18, 8, 1, 1 + delay 5 playsewithpan SE_W004, +63 - createsprite gUnknown_08597358, 0x1, -8, -5, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 1, -8, -5, 1, 1 waitforvisualfinish - delay 0x5 - createsprite gUnknown_0857FE58, 0x2, 0, 0, 7 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 2, 2, 11, 0, 31 + createvisualtask sub_8116620, 10, 2, 2, 11, 0, RGB_RED waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_STRING_SHOT: - loadspritegfx 0x27C3 - loadspritegfx 0x27C4 + loadspritegfx ANIM_TAG_179 + loadspritegfx ANIM_TAG_WEB_THREAD monbg ANIM_DEF_PARTNER - delay 0x0 - createsprite gUnknown_08597274, 0x5, 1, 2, 0, 9, 0 + delay 0 + createsprite gSimplePaletteBlendSpriteTemplate, 5, 1, 2, 0, 9, RGB_BLACK waitforvisualfinish - loopsewithpan SE_W081, -64, 0x9, 0x6 - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC - call AnimScript_82D38CC + loopsewithpan SE_W081, -64, 9, 6 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 + call StringShot1 waitforvisualfinish playsewithpan SE_W081B, +63 - createsprite gUnknown_085969F8, 0x82, 0, 10 - delay 0x4 - createsprite gUnknown_085969F8, 0x82, 0, -2 - delay 0x4 - createsprite gUnknown_085969F8, 0x82, 0, 22 + createsprite gUnknown_085969F8, 130, 0, 10 + delay 4 + createsprite gUnknown_085969F8, 130, 0, -2 + delay 4 + createsprite gUnknown_085969F8, 130, 0, 22 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER - delay 0x1 + delay 1 waitforvisualfinish - createsprite gUnknown_08597274, 0x5, 1, 2, 9, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 5, 1, 2, 9, 0, RGB_BLACK end -AnimScript_82D38CC: - createsprite gUnknown_085969E0, 0x82, 20, 0, 512, 20, 1 - delay 0x1 +StringShot1: + createsprite gUnknown_085969E0, 130, 20, 0, 512, 20, 1 + delay 1 return Move_SPIDER_WEB: - loadspritegfx 0x27C5 - loadspritegfx 0x27C4 + loadspritegfx ANIM_TAG_SPIDER_WEB + loadspritegfx ANIM_TAG_WEB_THREAD monbg ANIM_DEF_PARTNER - delay 0x0 - createsprite gUnknown_08597274, 0x5, 1, 2, 0, 9, 0 + delay 0 + createsprite gSimplePaletteBlendSpriteTemplate, 5, 1, 2, 0, 9, RGB_BLACK waitforvisualfinish monbgprio_28 ANIM_TARGET - loopsewithpan SE_W081, -64, 0x9, 0x6 - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D - call AnimScript_82D396D + loopsewithpan SE_W081, -64, 9, 6 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 + call SpiderWeb1 waitforvisualfinish playsewithpan SE_W081B, +63 - createsprite gUnknown_08596A2C, 0x2 + createsprite gUnknown_08596A2C, 2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER - delay 0x1 - createsprite gUnknown_08597274, 0x5, 1, 2, 9, 0, 0 + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, 5, 1, 2, 9, 0, RGB_BLACK end -AnimScript_82D396D: - createsprite gUnknown_085969E0, 0x82, 20, 0, 512, 20, 0 - delay 0x1 +SpiderWeb1: + createsprite gUnknown_085969E0, 130, 20, 0, 512, 20, 0 + delay 1 return Move_RAZOR_WIND: - choosetwoturnanim AnimScript_82D398C, AnimScript_82D39DC - -AnimScript_82D398A: + choosetwoturnanim RazorWindSetUp, RazorWindUnleash +RazorWindContinue: waitforvisualfinish end -AnimScript_82D398C: - loadspritegfx 0x2719 +RazorWindSetUp: + loadspritegfx ANIM_TAG_GUST playsewithpan SE_W016, -64 - createsprite gUnknown_08593550, 0x2, 32, 0, 16, 16, 0, 7, 40 - createsprite gUnknown_08593550, 0x2, 32, 0, 16, 16, 85, 7, 40 - createsprite gUnknown_08593550, 0x2, 32, 0, 16, 16, 170, 7, 40 + createsprite gUnknown_08593550, 2, 32, 0, 16, 16, 0, 7, 40 + createsprite gUnknown_08593550, 2, 32, 0, 16, 16, 85, 7, 40 + createsprite gUnknown_08593550, 2, 32, 0, 16, 16, 170, 7, 40 waitforvisualfinish playsewithpan SE_W016B, -64 - goto AnimScript_82D398A + goto RazorWindContinue -AnimScript_82D39DC: - loadspritegfx 0x27AA - loadspritegfx 0x2797 +RazorWindUnleash: + loadspritegfx ANIM_TAG_154 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W013B, -64 - createsprite gUnknown_085962D4, 0x2, 14, 8, 0, 0, 22, 2, 1 - delay 0x2 + createsprite gUnknown_085962D4, 2, 14, 8, 0, 0, 22, 2, 1 + delay 2 playsewithpan SE_W013B, -64 - createsprite gUnknown_085962D4, 0x2, 14, -8, 16, 14, 22, 1, 1 - delay 0x2 + createsprite gUnknown_085962D4, 2, 14, -8, 16, 14, 22, 1, 1 + delay 2 playsewithpan SE_W013B, -64 - createsprite gUnknown_085962D4, 0x2, 14, 12, -16, -14, 22, 0, 1 - delay 0x11 + createsprite gUnknown_085962D4, 2, 14, 12, -16, -14, 22, 0, 1 + delay 17 playsewithpan SE_W013, +63 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 10, 1 - createvisualtask sub_80D52D0, 0x2, 3, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 10, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff - goto AnimScript_82D398A + goto RazorWindContinue Move_DISABLE: - loadspritegfx 0x2757 + loadspritegfx ANIM_TAG_071 monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x808 + setalpha 8, 8 playsewithpan SE_W197, -64 - createsprite gUnknown_0853EE84, 0xD, 24, -16 + createsprite gUnknown_0853EE84, 13, 24, -16 waitforvisualfinish - createvisualtask sub_81045B0, 0x5 - loopsewithpan SE_W020, +63, 0xF, 0x4 + createvisualtask sub_81045B0, 5 + loopsewithpan SE_W020, +63, 15, 4 waitforvisualfinish - delay 0x1 + delay 1 clearmonbg ANIM_TARGET blendoff end Move_RECOVER: - loadspritegfx 0x27A3 - loadspritegfx 0x272F + loadspritegfx ANIM_TAG_147 + loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATK_PARTNER - setalpha 0x80C - loopsewithpan SE_W025, -64, 0xD, 0x3 - createvisualtask sub_8115A04, 0x2, 2, 0, 6, 0, 11, 12287 - call AnimScript_82D3AD5 - call AnimScript_82D3AD5 - call AnimScript_82D3AD5 + setalpha 12, 8 + loopsewithpan SE_W025, -64, 13, 3 + createvisualtask sub_8115A04, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11) + call Recover1 + call Recover1 + call Recover1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff - delay 0x1 - call AnimScript_82D79DF + delay 1 + call HealingEffect waitforvisualfinish end -AnimScript_82D3AD5: - createsprite gUnknown_085921E0, 0x2, 40, -10, 13 - delay 0x3 - createsprite gUnknown_085921E0, 0x2, -35, -10, 13 - delay 0x3 - createsprite gUnknown_085921E0, 0x2, 15, -40, 13 - delay 0x3 - createsprite gUnknown_085921E0, 0x2, -10, -32, 13 - delay 0x3 - createsprite gUnknown_085921E0, 0x2, 25, -20, 13 - delay 0x3 - createsprite gUnknown_085921E0, 0x2, -40, -20, 13 - delay 0x3 - createsprite gUnknown_085921E0, 0x2, 5, -40, 13 - delay 0x3 +Recover1: + createsprite gUnknown_085921E0, 2, 40, -10, 13 + delay 3 + createsprite gUnknown_085921E0, 2, -35, -10, 13 + delay 3 + createsprite gUnknown_085921E0, 2, 15, -40, 13 + delay 3 + createsprite gUnknown_085921E0, 2, -10, -32, 13 + delay 3 + createsprite gUnknown_085921E0, 2, 25, -20, 13 + delay 3 + createsprite gUnknown_085921E0, 2, -40, -20, 13 + delay 3 + createsprite gUnknown_085921E0, 2, 5, -40, 13 + delay 3 return Move_MIMIC: - loadspritegfx 0x27A3 - setalpha 0x50B + loadspritegfx ANIM_TAG_147 + setalpha 11, 5 monbg_22 ANIM_DEF_PARTNER monbgprio_29 - panse_1B SE_W107, +63, -64, -3, 0x0 - createvisualtask sub_80FF458, 0x5, 128, 24 - delay 0xF - createsprite gUnknown_085924DC, 0x82, -12, 24 - delay 0xA - setarg 0x7, 0xFFFF + panse_1B SE_W107, +63, -64, -3, 0 + createvisualtask sub_80FF458, 5, 128, 24 + delay 15 + createsprite gUnknown_085924DC, 130, -12, 24 + delay 10 + setarg 7, -1 waitforvisualfinish playsewithpan SE_W036, -64 - createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 11, 0x7FFF + createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 11, RGB_WHITE waitforvisualfinish clearmonbg_23 ANIM_DEF_PARTNER blendoff end Move_CONSTRICT: - loadspritegfx 0x27CA - loopsewithpan SE_W010, +63, 0x6, 0x4 - createsprite gUnknown_08592494, 0x84, 0, 16, 0, 2 - delay 0x7 - createsprite gUnknown_08592494, 0x83, 0, 0, 0, 2 - createsprite gUnknown_08592494, 0x82, 0, 8, 1, 2 - delay 0x7 - createsprite gUnknown_08592494, 0x83, 0, -8, 1, 2 - delay 0x8 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 6, 1 - delay 0x14 + loadspritegfx ANIM_TAG_186 + loopsewithpan SE_W010, +63, 6, 4 + createsprite gUnknown_08592494, 132, 0, 16, 0, 2 + delay 7 + createsprite gUnknown_08592494, 131, 0, 0, 0, 2 + createsprite gUnknown_08592494, 130, 0, 8, 1, 2 + delay 7 + createsprite gUnknown_08592494, 131, 0, -8, 1, 2 + delay 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 + delay 20 playsewithpan SE_W020, +63 - setarg 0x7, 0xFFFF + setarg 7, -1 waitforvisualfinish end Move_CURSE: - choosetwoturnanim AnimScript_82D3BFB, AnimScript_82D3C78 - -AnimScript_82D3BFB: - loadspritegfx 0x27D7 - loadspritegfx 0x27D8 + choosetwoturnanim CurseGhost, CurseStats +CurseGhost: + loadspritegfx ANIM_TAG_NAIL + loadspritegfx ANIM_TAG_200 monbg ANIM_ATK_PARTNER - createvisualtask sub_8112758, 0x5 + createvisualtask sub_8112758, 5 waitforvisualfinish - delay 0x14 - createsprite gUnknown_08596DD0, 0x2 - delay 0x3C - call AnimScript_82D3C62 - delay 0x29 - call AnimScript_82D3C62 - delay 0x29 - call AnimScript_82D3C62 + delay 20 + createsprite gUnknown_08596DD0, 2 + delay 60 + call CurseGhost1 + delay 41 + call CurseGhost1 + delay 41 + call CurseGhost1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER - delay 0x1 + delay 1 monbg ANIM_DEF_PARTNER playsewithpan SE_W171, +63 - createsprite gUnknown_08596DE8, 0x82 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 14, 1 + createsprite gBattleAnimSpriteTemplate_8596DE8, 130 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 14, 1 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 1, 16, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 16, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end - -AnimScript_82D3C62: - createvisualtask sub_80D52D0, 0x2, 0, 4, 0, 10, 0 +CurseGhost1: + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 4, 0, 10, 0 playsewithpan SE_W020, -64 return - -AnimScript_82D3C78: - createvisualtask sub_80D5EB8, 0x5, 0, 10, 1536, 3, 0 +CurseStats: + createvisualtask AnimTask_SwayMon, 5, 0, 10, 1536, 3, ANIM_ATTACKER waitforvisualfinish - delay 0xA - call AnimScript_82D3C93 + delay 10 + call CurseStats1 waitforvisualfinish end - -AnimScript_82D3C93: +CurseStats1: playsewithpan SE_W082, -64 - createvisualtask sub_8116B14, 0x5 - createvisualtask sub_8115A04, 0x5, 2, 4, 2, 0, 10, 31 + createvisualtask sub_8116B14, 5 + createvisualtask sub_8115A04, 5, 2, 4, 2, 0, 10, RGB_RED return Move_SOFT_BOILED: - loadspritegfx 0x27DA - loadspritegfx 0x27DB - loadspritegfx 0x272F + loadspritegfx ANIM_TAG_BREAKING_EGG + loadspritegfx ANIM_TAG_203 + loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATK_PARTNER playsewithpan SE_W039, -64 - createvisualtask sub_80D51AC, 0x2, 0, 0, 2, 6, 1 - createsprite gUnknown_085937B0, 0x4, 0, 16, 0 - createsprite gUnknown_085937B0, 0x4, 0, 16, 1 - delay 0x78 - delay 0x7 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 2, 6, 1 + createsprite gUnknown_085937B0, 4, 0, 16, 0 + createsprite gUnknown_085937B0, 4, 0, 16, 1 + delay 120 + delay 7 playsewithpan SE_W030, -64 - createsprite gUnknown_08597274, 0x2, 31, 3, 10, 0, RGB(12, 24, 30) - createsprite gUnknown_0859381C, 0x3, 31, 16, 0, 1 - delay 0x8 - createsprite gUnknown_0859381C, 0x3, 31, 16, 0, 1 - delay 0x3C - setarg 0x7, 0xFFFF + createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 3, 10, 0, RGB(12, 24, 30) + createsprite gUnknown_0859381C, 3, 31, 16, 0, 1 + delay 8 + createsprite gUnknown_0859381C, 3, 31, 16, 0, 1 + delay 60 + setarg 7, -1 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER - call AnimScript_82D7A28 + call HealingEffect2 end Move_HEAL_BELL: - loadspritegfx 0x27DD - loadspritegfx 0x27DE - loadspritegfx 0x27DB - createvisualtask sub_8116620, 0xA, 10, 0, 0, 10, 0x7FFF + loadspritegfx ANIM_TAG_BELL + loadspritegfx ANIM_TAG_MUSIC_NOTES + loadspritegfx ANIM_TAG_203 + createvisualtask sub_8116620, 10, 10, 0, 0, 10, RGB_WHITE waitforvisualfinish - createvisualtask sub_8105CB4, 0x5 - createsprite gUnknown_08593938, 0x2, 0, -24, 0, 1 - delay 0xC - createsprite gUnknown_08593958, 0x28, 0, -24, 48, -18, 35, 0, 0 - createsprite gUnknown_08593958, 0x28, 0, -24, -48, 20, 30, 1, 1 - createsprite gUnknown_08593958, 0x28, 0, -24, -38, -29, 30, 2, 2 - createsprite gUnknown_08593958, 0x28, 0, -24, 36, 18, 30, 3, 3 - call AnimScript_82D3EF8 + createvisualtask sub_8105CB4, 5 + createsprite gUnknown_08593938, 2, 0, -24, 0, 1 + delay 12 + createsprite gUnknown_08593958, 40, 0, -24, 48, -18, 35, 0, 0 + createsprite gUnknown_08593958, 40, 0, -24, -48, 20, 30, 1, 1 + createsprite gUnknown_08593958, 40, 0, -24, -38, -29, 30, 2, 2 + createsprite gUnknown_08593958, 40, 0, -24, 36, 18, 30, 3, 3 + call HealBell1 delay 0x21 - createsprite gUnknown_08593958, 0x28, 0, -24, 19, 26, 35, 4, 4 - createsprite gUnknown_08593958, 0x28, 0, -24, -34, -12, 30, 5, 5 - createsprite gUnknown_08593958, 0x28, 0, -24, 41, -20, 34, 6, 2 - createsprite gUnknown_08593958, 0x28, 0, -24, -15, 26, 32, 7, 0 - call AnimScript_82D3EF8 + createsprite gUnknown_08593958, 40, 0, -24, 19, 26, 35, 4, 4 + createsprite gUnknown_08593958, 40, 0, -24, -34, -12, 30, 5, 5 + createsprite gUnknown_08593958, 40, 0, -24, 41, -20, 34, 6, 2 + createsprite gUnknown_08593958, 40, 0, -24, -15, 26, 32, 7, 0 + call HealBell1 delay 0x21 - createsprite gUnknown_08593958, 0x28, 0, -24, -48, 18, 31, 0, 2 - createsprite gUnknown_08593958, 0x28, 0, -24, 48, -20, 30, 2, 5 - createsprite gUnknown_08593958, 0x28, 0, -24, 38, 29, 33, 4, 3 - createsprite gUnknown_08593958, 0x28, 0, -24, -36, -18, 30, 6, 1 - call AnimScript_82D3EF8 + createsprite gUnknown_08593958, 40, 0, -24, -48, 18, 31, 0, 2 + createsprite gUnknown_08593958, 40, 0, -24, 48, -20, 30, 2, 5 + createsprite gUnknown_08593958, 40, 0, -24, 38, 29, 33, 4, 3 + createsprite gUnknown_08593958, 40, 0, -24, -36, -18, 30, 6, 1 + call HealBell1 waitforvisualfinish - createvisualtask sub_8105D60, 0x5 + createvisualtask sub_8105D60, 5 waitforvisualfinish - unloadspritegfx 0x27DD - unloadspritegfx 0x27DE - unloadspritegfx 0x27DB - loadspritegfx 0x2741 + unloadspritegfx ANIM_TAG_BELL + unloadspritegfx ANIM_TAG_MUSIC_NOTES + unloadspritegfx ANIM_TAG_203 + loadspritegfx ANIM_TAG_SPARKLE playsewithpan SE_W234, -64 - createsprite gUnknown_08592B94, 0x10, -15, 0, 0, 0, 32, 60, 1 - delay 0x8 - createsprite gUnknown_08592B94, 0x10, 12, -5, 0, 0, 32, 60, 1 + createsprite gUnknown_08592B94, 16, -15, 0, 0, 0, 32, 60, 1 + delay 8 + createsprite gUnknown_08592B94, 16, 12, -5, 0, 0, 32, 60, 1 waitforvisualfinish - unloadspritegfx 0x2741 - loadspritegfx 0x27DB + unloadspritegfx ANIM_TAG_SPARKLE + loadspritegfx ANIM_TAG_203 playsewithpan SE_REAPOKE, -64 - createvisualtask sub_8116664, 0xA, 4, 3, 10, 0, 31500 - createvisualtask sub_8116620, 0xA, 10, 3, 10, 0, 0x7FFF - createsprite gUnknown_08593868, 0x10, 0, 0, 0, 1 + createvisualtask sub_8116664, 10, 4, 3, 10, 0, RGB(12, 24, 30) + createvisualtask sub_8116620, 10, 10, 3, 10, 0, RGB_WHITE + createsprite gUnknown_08593868, 16, 0, 0, 0, 1 end - -AnimScript_82D3EF8: - createvisualtask sub_8116664, 0xA, 4, 3, 8, 0, 31500 - createvisualtask sub_8116620, 0xA, 10, 3, 2, 10, 0x7FFF - createsprite gUnknown_0859381C, 0x28, 0, -24, 0, 1 +HealBell1: + createvisualtask sub_8116664, 10, 4, 3, 8, 0, RGB(12, 24, 30) + createvisualtask sub_8116620, 10, 10, 3, 2, 10, RGB_WHITE + createsprite gUnknown_0859381C, 40, 0, -24, 0, 1 playsewithpan SE_W215, -64 return Move_FAKE_OUT: playsewithpan SE_W260, 0 - createvisualtask sub_8105EB0, 0x5 + createvisualtask sub_8105EB0, 5 waitforvisualfinish playsewithpan SE_W166, +63 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 5, 1 - createvisualtask sub_8106020, 0x3 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 + createvisualtask sub_8106020, 3 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 3, 16, 0, RGB_WHITE + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 16, 0, RGB_WHITE end Move_SCARY_FACE: - loadspritegfx 0x27EA - createsprite gUnknown_08597274, 0x2, 27, 3, 0, 16, 0 + loadspritegfx ANIM_TAG_218 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 27, 3, 0, 16, RGB_BLACK playsewithpan SE_W060, -64 waitforvisualfinish - delay 0xA + delay 10 playsewithpan SE_W043, -64 - createvisualtask sub_81064F8, 0x5 - delay 0xD - createsprite gUnknown_08593A84, 0x0, -16, -8 - createsprite gUnknown_08593A84, 0x0, 16, -8 + createvisualtask sub_81064F8, 5 + delay 13 + createsprite gUnknown_08593A84, 0, -16, -8 + createsprite gUnknown_08593A84, 0, 16, -8 waitforvisualfinish - createvisualtask sub_810A094, 0x3, 20, 1, 0 + createvisualtask sub_810A094, 3, 20, 1, 0 playsewithpan SE_W081B, +63 - createsprite gUnknown_08597274, 0x2, 27, 3, 16, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 27, 3, 16, 0, RGB_BLACK waitforvisualfinish end Move_SWEET_KISS: - loadspritegfx 0x27E8 - loadspritegfx 0x27EC - createsprite gUnknown_08593AA8, 0x82, 16, -48 + loadspritegfx ANIM_TAG_216 + loadspritegfx ANIM_TAG_ANGEL + createsprite gUnknown_08593AA8, 130, 16, -48 playsewithpan SE_W215, +63 - delay 0x17 + delay 23 playsewithpan SE_W215, +63 - delay 0x17 + delay 23 playsewithpan SE_W215, +63 waitforvisualfinish - createsprite gUnknown_085939B8, 0x83, 160, -30 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, 160, -30 playsewithpan SE_W213, +63 - createsprite gUnknown_085939B8, 0x83, -256, -42 - createsprite gUnknown_085939B8, 0x83, 128, -14 - createsprite gUnknown_085939B8, 0x83, 416, -38 - createsprite gUnknown_085939B8, 0x83, -128, -22 - createsprite gUnknown_085939B8, 0x83, -384, -31 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, -256, -42 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, 128, -14 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, 416, -38 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, -128, -22 + createsprite gBattleAnimSpriteTemplate_85939B8, 131, -384, -31 end Move_LOVELY_KISS: - loadspritegfx 0x27EB - loadspritegfx 0x27ED - createsprite gUnknown_08593AF0, 0x82, 0, -24 + loadspritegfx ANIM_TAG_219 + loadspritegfx ANIM_TAG_EVIL_ANGEL + createsprite gUnknown_08593AF0, 130, 0, -24 playsewithpan SE_W060B, +63 waitforvisualfinish playsewithpan SE_W213, +63 - createsprite gUnknown_08593AC0, 0x83, -256, -42 - createsprite gUnknown_08593AC0, 0x83, 128, -14 - createsprite gUnknown_08593AC0, 0x83, 416, -38 - createsprite gUnknown_08593AC0, 0x83, -128, -22 + createsprite gUnknown_08593AC0, 131, -256, -42 + createsprite gUnknown_08593AC0, 131, 128, -14 + createsprite gUnknown_08593AC0, 131, 416, -38 + createsprite gUnknown_08593AC0, 131, -128, -22 end Move_FURY_SWIPES: - loadspritegfx 0x27EE - createsprite gUnknown_0857FE28, 0x2, 5, 5 - delay 0x4 + loadspritegfx ANIM_TAG_222 + createsprite gHorizontalLungeSpriteTemplate, 2, 5, 5 + delay 4 playsewithpan SE_W010, +63 - createsprite gUnknown_08593B38, 0x82, 16, 0, 1 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 5, 1 - delay 0xA - createsprite gUnknown_0857FE28, 0x82, 5, 5 - delay 0x4 + createsprite gUnknown_08593B38, 130, 16, 0, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 5, 1 + delay 10 + createsprite gHorizontalLungeSpriteTemplate, 130, 5, 5 + delay 4 playsewithpan SE_W010, +63 - createsprite gUnknown_08593B38, 0x82, -16, 0, 0 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 7, 1 + createsprite gUnknown_08593B38, 130, -16, 0, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1 end Move_INGRAIN: - loadspritegfx 0x27EF - loadspritegfx 0x27A3 - createsprite gUnknown_0859254C, 0x2, 16, 26, -1, 2, 150 + loadspritegfx ANIM_TAG_223 + loadspritegfx ANIM_TAG_147 + createsprite gUnknown_0859254C, 2, 16, 26, -1, 2, 150 playsewithpan SE_W010, -64 - delay 0xA - createsprite gUnknown_0859254C, 0x2, -32, 20, 1, 1, 140 + delay 10 + createsprite gUnknown_0859254C, 2, -32, 20, 1, 1, 140 playsewithpan SE_W010, -64 - delay 0xA - createsprite gUnknown_0859254C, 0x2, 32, 22, 1, 0, 130 + delay 10 + createsprite gUnknown_0859254C, 2, 32, 22, 1, 0, 130 playsewithpan SE_W010, -64 - delay 0xA - createsprite gUnknown_0859254C, 0x2, -16, 25, -1, 3, 120 + delay 10 + createsprite gUnknown_0859254C, 2, -16, 25, -1, 3, 120 playsewithpan SE_W010, -64 - delay 0x28 - createsprite gUnknown_0859258C, 0x3, 32, 26, -1, 3, 30 - delay 0x5 + delay 40 + createsprite gUnknown_0859258C, 3, 32, 26, -1, 3, 30 + delay 5 playsewithpan SE_W145C, -64 - delay 0x5 - createsprite gUnknown_0859258C, 0x3, -48, 20, 1, 2, 30 + delay 5 + createsprite gUnknown_0859258C, 3, -48, 20, 1, 2, 30 playsewithpan SE_W145C, -64 - delay 0x5 + delay 5 playsewithpan SE_W145C, -64 - delay 0x5 - createsprite gUnknown_0859258C, 0x3, 48, 26, -2, 3, 18 + delay 5 + createsprite gUnknown_0859258C, 3, 48, 26, -2, 3, 18 playsewithpan SE_W145C, -64 - delay 0xA + delay 10 waitforvisualfinish end Move_PRESENT: - loadspritegfx 0x27F0 - createvisualtask sub_815A904, 0x2 - createsprite gUnknown_08592610, 0x82, 0, -5, 10, 2, -1 + loadspritegfx ANIM_TAG_ITEM_BAG + createvisualtask AnimTask_IsHealingMove, 2 + createsprite gUnknown_08592610, 130, 0, -5, 10, 2, -1 playsewithpan SE_W039, -64 - delay 0xE + delay 14 playsewithpan SE_W145B, -64 - delay 0xE + delay 14 playsewithpan SE_W145B, 0 - delay 0x14 + delay 20 playsewithpan SE_W145B, +63 waitforvisualfinish - jumpargeq 0x7, 0x0, AnimScript_82D41D4 - jumpargeq 0x7, 0x1, AnimScript_82D423F + jumpretfalse PresentDamage + jumprettrue PresentHeal end -AnimScript_82D41D4: - loadspritegfx 0x27D6 +PresentDamage: + loadspritegfx ANIM_TAG_EXPLOSION playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x83, 0, 0, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 131, 0, 0, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x83, 24, -24, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 131, 24, -24, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x83, -16, 16, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 131, -16, 16, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x83, -24, -12, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 131, -24, -12, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x83, 16, 16, 1, 1 + createsprite gBattleAnimSpriteTemplate_859371C, 131, 16, 16, 1, 1 end -AnimScript_82D423F: - loadspritegfx 0x27D3 - loadspritegfx 0x272F +PresentHeal: + loadspritegfx ANIM_TAG_GREEN_SPARKLE + loadspritegfx ANIM_TAG_BLUE_STAR playsewithpan SE_W234, +63 - createsprite gUnknown_08592658, 0x84, -16, 32, -3, 1 - delay 0x3 - createsprite gUnknown_08592658, 0x84, 16, 32, -3, -1 - delay 0x3 - createsprite gUnknown_08592658, 0x84, 32, 32, -3, 1 - delay 0x3 - createsprite gUnknown_08592658, 0x84, -32, 32, -3, 1 - delay 0x3 - createsprite gUnknown_08592658, 0x84, 0, 32, -3, 1 - delay 0x3 - createsprite gUnknown_08592658, 0x84, -8, 32, -3, 1 - delay 0x3 - createsprite gUnknown_08592658, 0x84, -8, 32, -3, 1 - delay 0x3 - createsprite gUnknown_08592658, 0x84, 24, 32, -3, 1 - delay 0x3 - createsprite gUnknown_08592658, 0x84, -24, 32, -3, 1 + createsprite gUnknown_08592658, 132, -16, 32, -3, 1 + delay 3 + createsprite gUnknown_08592658, 132, 16, 32, -3, -1 + delay 3 + createsprite gUnknown_08592658, 132, 32, 32, -3, 1 + delay 3 + createsprite gUnknown_08592658, 132, -32, 32, -3, 1 + delay 3 + createsprite gUnknown_08592658, 132, 0, 32, -3, 1 + delay 3 + createsprite gUnknown_08592658, 132, -8, 32, -3, 1 + delay 3 + createsprite gUnknown_08592658, 132, -8, 32, -3, 1 + delay 3 + createsprite gUnknown_08592658, 132, 24, 32, -3, 1 + delay 3 + createsprite gUnknown_08592658, 132, -24, 32, -3, 1 waitforvisualfinish waitsound - call AnimScript_82D7A28 + call HealingEffect2 end Move_BATON_PASS: - loadspritegfx 0x27F2 + loadspritegfx ANIM_TAG_226 playsewithpan SE_W226, -64 - createvisualtask sub_8115A04, 0x2, 31, 1, 2, 0, 11, 31455 - createsprite gUnknown_085CE370, 0x2 + createvisualtask sub_8115A04, 2, 31, 1, 2, 0, 11, RGB(31, 22, 30) + createsprite gUnknown_085CE370, 2 end Move_PERISH_SONG: - loadspritegfx 0x27DE - createsprite gUnknown_08593C0C, 0x4, 0, 0, 0 - createsprite gUnknown_08593C0C, 0x4, 1, 1, 16 - createsprite gUnknown_08593C0C, 0x4, 2, 1, 32 - createsprite gUnknown_08593C0C, 0x4, 3, 2, 48 - createsprite gUnknown_08593C0C, 0x4, 4, 2, 64 - createsprite gUnknown_08593C0C, 0x4, 5, 0, 80 - createsprite gUnknown_08593C0C, 0x4, 6, 0, 96 - createsprite gUnknown_08593C0C, 0x4, 7, 1, 112 - createsprite gUnknown_08593C0C, 0x4, 8, 2, 128 - createsprite gUnknown_08593C0C, 0x4, 9, 0, 144 - createsprite gUnknown_08593C0C, 0x4, 10, 2, 160 - createsprite gUnknown_08593C0C, 0x4, 11, 0, 176 - createsprite gUnknown_08593C0C, 0x4, 12, 1, 192 - createsprite gUnknown_08593C0C, 0x4, 13, 3, 208 - createsprite gUnknown_08593C0C, 0x4, 14, 3, 224 - createsprite gUnknown_08593C0C, 0x4, 15, 0, 240 - createsprite gUnknown_08593C24, 0x4, 15, 0, 0 - delay 0x14 - panse_1B SE_W195, -64, +63, +2, 0x0 - delay 0x50 - createsprite gUnknown_08597274, 0x2, 1, 3, 0, 16, 0 - createvisualtask sub_811489C, 0x5, 4, 0 - createvisualtask sub_811489C, 0x5, 5, 0 - createvisualtask sub_811489C, 0x5, 6, 0 - createvisualtask sub_811489C, 0x5, 7, 0 - delay 0x64 - createsprite gUnknown_08597274, 0x2, 1, 3, 16, 0, 0 - createvisualtask sub_811489C, 0x5, 4, 1 - createvisualtask sub_811489C, 0x5, 5, 1 - createvisualtask sub_811489C, 0x5, 6, 1 - createvisualtask sub_811489C, 0x5, 7, 1 + loadspritegfx ANIM_TAG_MUSIC_NOTES + createsprite gUnknown_08593C0C, 4, 0, 0, 0 + createsprite gUnknown_08593C0C, 4, 1, 1, 16 + createsprite gUnknown_08593C0C, 4, 2, 1, 32 + createsprite gUnknown_08593C0C, 4, 3, 2, 48 + createsprite gUnknown_08593C0C, 4, 4, 2, 64 + createsprite gUnknown_08593C0C, 4, 5, 0, 80 + createsprite gUnknown_08593C0C, 4, 6, 0, 96 + createsprite gUnknown_08593C0C, 4, 7, 1, 112 + createsprite gUnknown_08593C0C, 4, 8, 2, 128 + createsprite gUnknown_08593C0C, 4, 9, 0, 144 + createsprite gUnknown_08593C0C, 4, 10, 2, 160 + createsprite gUnknown_08593C0C, 4, 11, 0, 176 + createsprite gUnknown_08593C0C, 4, 12, 1, 192 + createsprite gUnknown_08593C0C, 4, 13, 3, 208 + createsprite gUnknown_08593C0C, 4, 14, 3, 224 + createsprite gUnknown_08593C0C, 4, 15, 0, 240 + createsprite gUnknown_08593C24, 4, 15, 0, 0 + delay 20 + panse_1B SE_W195, -64, +63, +2, 0 + delay 80 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 0, 16, RGB_BLACK + createvisualtask sub_811489C, 5, 4, 0 + createvisualtask sub_811489C, 5, 5, 0 + createvisualtask sub_811489C, 5, 6, 0 + createvisualtask sub_811489C, 5, 7, 0 + delay 100 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 16, 0, RGB_BLACK + createvisualtask sub_811489C, 5, 4, 1 + createvisualtask sub_811489C, 5, 5, 1 + createvisualtask sub_811489C, 5, 6, 1 + createvisualtask sub_811489C, 5, 7, 1 waitforvisualfinish end Move_SLEEP_TALK: - loadspritegfx 0x27F4 - createvisualtask sub_80D5EB8, 0x5, 0, 4, 4096, 2, 0 - delay 0x14 - createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -1 + loadspritegfx ANIM_TAG_LETTER_Z + createvisualtask AnimTask_SwayMon, 5, 0, 4, 4096, 2, ANIM_ATTACKER + delay 20 + createsprite gUnknown_085CE190, 130, 0, 20, 5, -1 playsewithpan SE_W173, -64 - delay 0x6 - createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -1 - delay 0x6 - createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -1 - delay 0x14 - createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -5 + delay 6 + createsprite gUnknown_085CE190, 130, 0, 20, 5, -1 + delay 6 + createsprite gUnknown_085CE190, 130, 0, 20, 5, -1 + delay 20 + createsprite gUnknown_085CE190, 130, 0, 20, 5, -5 playsewithpan SE_W173, -64 - delay 0x6 - createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -5 - delay 0x6 - createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -5 - delay 0x14 - createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -3 + delay 6 + createsprite gUnknown_085CE190, 130, 0, 20, 5, -5 + delay 6 + createsprite gUnknown_085CE190, 130, 0, 20, 5, -5 + delay 20 + createsprite gUnknown_085CE190, 130, 0, 20, 5, -3 playsewithpan SE_W173, -64 - delay 0x6 - createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -3 - delay 0x6 - createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -3 + delay 6 + createsprite gUnknown_085CE190, 130, 0, 20, 5, -3 + delay 6 + createsprite gUnknown_085CE190, 130, 0, 20, 5, -3 waitforvisualfinish end Move_HYPER_FANG: - loadspritegfx 0x27D0 + loadspritegfx ANIM_TAG_192 playsewithpan SE_W044, +63 - delay 0x1 - delay 0x2 - createvisualtask sub_8117E60, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82D458E - createvisualtask sub_815A8C8, 0x2 - jumpargeq 0x7, 0x0, AnimScript_82D4580 - goto AnimScript_82D4587 - -AnimScript_82D455C: + delay 1 + delay 2 + createvisualtask AnimTask_IsContest, 2 + jumprettrue HyperFangInContest + createvisualtask AnimTask_IsTargetPlayerSide, 2 + jumpretfalse HyperFangOnOpponent + goto HyperFangOnPlayer +HyperFangContinue: waitbgfadeout - createsprite gUnknown_085CE1DC, 0x82 + createsprite gUnknown_085CE1DC, 130 waitbgfadein - createvisualtask sub_80D51AC, 0x3, 1, 0, 10, 10, 1 + createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 0, 10, 10, 1 playsewithpan SE_W043, +63 - delay 0x14 + delay 20 restorebg waitbgfadein waitforvisualfinish end - -AnimScript_82D4580: +HyperFangOnOpponent: fadetobg BG_IMPACT_OPPONENT - goto AnimScript_82D455C - -AnimScript_82D4587: + goto HyperFangContinue +HyperFangOnPlayer: fadetobg BG_IMPACT_PLAYER - goto AnimScript_82D455C - -AnimScript_82D458E: + goto HyperFangContinue +HyperFangInContest: fadetobg BG_IMPACT_CONTESTS - goto AnimScript_82D455C + goto HyperFangContinue Move_TRI_ATTACK: - loadspritegfx 0x27F6 - createsprite gUnknown_085CE2F8, 0x82, 16, 0 + loadspritegfx ANIM_TAG_TRI_FORCE_TRIANGLE + createsprite gUnknown_085CE2F8, 130, 16, 0 playsewithpan SE_W161, -64 - delay 0x14 + delay 20 playsewithpan SE_W161, -64 - delay 0x14 + delay 20 createsoundtask sub_8158C58, 220, -64, 63, 5, 6, 0, 7 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 16, 0 - delay 0x10 - loadspritegfx 0x2731 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 16, RGB_BLACK + delay 16 + loadspritegfx ANIM_TAG_FIRE + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, 0 playsewithpan SE_W172B, +63 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 0, 1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, -1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 2, 1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 1, -1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, 1 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 1, -2 - delay 0x1 - createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 3, 1 - delay 0x2 - createvisualtask sub_810A094, 0x2, 20, 3, 1, 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 0, 1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, -1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 2, 1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 1, -1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, 1 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 1, -2 + delay 1 + createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 3, 1 + delay 2 + createvisualtask sub_810A094, 2, 20, 3, 1, 1 waitforvisualfinish - loadspritegfx 0x2735 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 + loadspritegfx ANIM_TAG_LIGHTNING + createvisualtask sub_8115F10, 2, 257, 257, 257 playsewithpan SE_W161B, +63 - createsprite gUnknown_085956C0, 0x82, 0, -48 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 0, -16 - delay 0x1 - createsprite gUnknown_085956C0, 0x82, 0, 16 - delay 0x14 - createvisualtask sub_810A094, 0x2, 20, 3, 1, 0 - delay 0x2 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 + createsprite gUnknown_085956C0, 130, 0, -48 + delay 1 + createsprite gUnknown_085956C0, 130, 0, -16 + delay 1 + createsprite gUnknown_085956C0, 130, 0, 16 + delay 20 + createvisualtask sub_810A094, 2, 20, 3, 1, 0 + delay 2 + createvisualtask sub_8115F10, 2, 257, 257, 257 waitforvisualfinish - loadspritegfx 0x279D - call AnimScript_82D7720 - createsprite gUnknown_08597274, 0x2, 1, 2, 16, 0, 0 + loadspritegfx ANIM_TAG_141 + call FreezeEffect1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 16, 0, RGB_BLACK waitforvisualfinish end Move_WILL_O_WISP: - loadspritegfx 0x27F8 - loadspritegfx 0x27F7 + loadspritegfx ANIM_TAG_232 + loadspritegfx ANIM_TAG_231 monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET playsewithpan SE_W052, -64 - waitplaysewithpan SE_W052, -64, 0xA - createvisualtask sub_8159278, 0x2, -64, -64, 1, 0 - createsprite gUnknown_0859563C, 0x2, 0, 0, 0 - delay 0x3 - createsprite gUnknown_0859563C, 0x3, 0, 0, 1 - delay 0x3 - createsprite gUnknown_0859563C, 0x4, 0, 0, 2 - delay 0x3 - createsprite gUnknown_0859563C, 0x4, 0, 0, 3 - delay 0x28 - createvisualtask sub_8159278, 0x2, -64, 63, 2, 0 + waitplaysewithpan SE_W052, -64, 10 + createvisualtask sub_8159278, 2, -64, -64, 1, 0 + createsprite gUnknown_0859563C, 2, 0, 0, 0 + delay 3 + createsprite gUnknown_0859563C, 3, 0, 0, 1 + delay 3 + createsprite gUnknown_0859563C, 4, 0, 0, 2 + delay 3 + createsprite gUnknown_0859563C, 4, 0, 0, 3 + delay 40 + createvisualtask sub_8159278, 2, -64, 63, 2, 0 waitforvisualfinish monbgprio_29 playsewithpan SE_W172B, +63 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 13, 1 - createsprite gUnknown_0859566C, 0x2, 0 - createsprite gUnknown_0859566C, 0x2, 42 - createsprite gUnknown_0859566C, 0x2, 84 - createsprite gUnknown_0859566C, 0x2, 126 - createsprite gUnknown_0859566C, 0x2, 168 - createsprite gUnknown_0859566C, 0x2, 210 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 13, 1 + createsprite gUnknown_0859566C, 2, 0 + createsprite gUnknown_0859566C, 2, 42 + createsprite gUnknown_0859566C, 2, 84 + createsprite gUnknown_0859566C, 2, 126 + createsprite gUnknown_0859566C, 2, 168 + createsprite gUnknown_0859566C, 2, 210 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end Move_ENCORE: - loadspritegfx 0x27F3 - loadspritegfx 0x2807 - createvisualtask sub_815ABEC, 0x2 - createvisualtask sub_8116960, 0x2, 248, 3, 0, 10, 0 + loadspritegfx ANIM_TAG_227 + loadspritegfx ANIM_TAG_HAND + createvisualtask sub_815ABEC, 2 + createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0 waitforvisualfinish - createsprite gUnknown_085CE22C, 0x82, 0, -8 - createsprite gUnknown_085CE244, 0x2, -2, 0, 0, 0, 9 - createsprite gUnknown_085CE244, 0x2, 2, 0, 1, 0, 9 - createsprite gUnknown_085CE25C, 0x3, -2, 0, 0, 0, 9 - createsprite gUnknown_085CE25C, 0x3, 2, 0, 1, 0, 9 - delay 0x10 - createvisualtask sub_8159244, 0x5, 223, 63 - createvisualtask sub_80D5EB8, 0x5, 1, 8, 1536, 5, 1 + createsprite gUnknown_085CE22C, 130, 0, -8 + createsprite gUnknown_085CE244, 2, -2, 0, 0, 0, 9 + createsprite gUnknown_085CE244, 2, 2, 0, 1, 0, 9 + createsprite gUnknown_085CE25C, 3, -2, 0, 0, 0, 9 + createsprite gUnknown_085CE25C, 3, 2, 0, 1, 0, 9 + delay 16 + createvisualtask sub_8159244, 5, 223, 63 + createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 5, ANIM_TARGET waitforvisualfinish - createvisualtask sub_8116960, 0x2, 248, 3, 10, 0, 1 + createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1 waitforvisualfinish - createvisualtask sub_815AC8C, 0x2 + createvisualtask sub_815AC8C, 2 end Move_TRICK: - loadspritegfx 0x27F0 - loadspritegfx 0x27DF - createsprite gUnknown_085926E8, 0x2, -40, 80 - createsprite gUnknown_085926E8, 0x2, -40, 208 - delay 0x10 + loadspritegfx ANIM_TAG_ITEM_BAG + loadspritegfx ANIM_TAG_207 + createsprite gUnknown_085926E8, 2, -40, 80 + createsprite gUnknown_085926E8, 2, -40, 208 + delay 16 playsewithpan SE_W166, 0 - createvisualtask sub_8106020, 0x3 - createvisualtask sub_81060B0, 0x3 - delay 0x1E + createvisualtask sub_8106020, 3 + createvisualtask sub_81060B0, 3 + delay 30 playsewithpan SE_W104, 0 - delay 0x18 + delay 24 playsewithpan SE_W104, 0 - delay 0x10 + delay 16 playsewithpan SE_W104, 0 - delay 0x10 + delay 16 playsewithpan SE_W104, 0 - delay 0x10 + delay 16 playsewithpan SE_W104, 0 - delay 0x10 + delay 16 playsewithpan SE_W104, 0 - delay 0x10 + delay 16 playsewithpan SE_W213, 0 - createvisualtask sub_80D51AC, 0x3, 0, 5, 0, 7, 2 - createvisualtask sub_80D51AC, 0x3, 1, 5, 0, 7, 2 + createvisualtask AnimTask_ShakeMon, 3, ANIM_ATTACKER, 5, 0, 7, 2 + createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 5, 0, 7, 2 waitforvisualfinish end Move_WISH: - loadspritegfx 0x27F9 - loadspritegfx 0x2741 - createsprite gUnknown_08597274, 0x2, 1, 3, 0, 10, 0 + loadspritegfx ANIM_TAG_233 + loadspritegfx ANIM_TAG_SPARKLE + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 0, 10, RGB_BLACK waitforvisualfinish - panse_27 SE_W115, +63, -64, -3, 0x0 - createsprite gUnknown_085CE388, 0x28 + panse_27 SE_W115, +63, -64, -3, 0 + createsprite gUnknown_085CE388, 40 waitforvisualfinish - delay 0x3C - loopsewithpan SE_W215, -64, 0x10, 0x3 - call AnimScript_82D79B4 + delay 60 + loopsewithpan SE_W215, -64, 16, 3 + call GrantingStarsEffect waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 3, 10, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 10, 0, RGB_BLACK waitforvisualfinish end Move_STOCKPILE: - loadspritegfx 0x27FB + loadspritegfx ANIM_TAG_235 playsewithpan SE_W025, -64 - createvisualtask sub_8115A04, 0x2, 2, 8, 1, 0, 12, 0x7FFF - createvisualtask sub_815B65C, 0x5 - call AnimScript_82D4972 - call AnimScript_82D4972 + createvisualtask sub_8115A04, 2, 2, 8, 1, 0, 12, RGB_WHITE + createvisualtask sub_815B65C, 5 + call Stockpile1 + call Stockpile1 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 2, 0, 12, 0, RGB_WHITE + createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 0, 12, 0, RGB_WHITE end - -AnimScript_82D4972: - createsprite gUnknown_08592244, 0x2, 55, 55, 13 - delay 0x1 - createsprite gUnknown_08592244, 0x2, -55, -55, 13 - delay 0x1 - createsprite gUnknown_08592244, 0x2, 0, 55, 13 - delay 0x1 - createsprite gUnknown_08592244, 0x2, 0, -55, 13 - delay 0x1 - createsprite gUnknown_08592244, 0x2, 55, -34, 13 - delay 0x1 - createsprite gUnknown_08592244, 0x2, 55, 34, 13 - delay 0x1 - createsprite gUnknown_08592244, 0x2, -55, -34, 13 - delay 0x1 - createsprite gUnknown_08592244, 0x2, -55, 34, 13 - delay 0x1 +Stockpile1: + createsprite gUnknown_08592244, 2, 55, 55, 13 + delay 1 + createsprite gUnknown_08592244, 2, -55, -55, 13 + delay 1 + createsprite gUnknown_08592244, 2, 0, 55, 13 + delay 1 + createsprite gUnknown_08592244, 2, 0, -55, 13 + delay 1 + createsprite gUnknown_08592244, 2, 55, -34, 13 + delay 1 + createsprite gUnknown_08592244, 2, 55, 34, 13 + delay 1 + createsprite gUnknown_08592244, 2, -55, -34, 13 + delay 1 + createsprite gUnknown_08592244, 2, -55, 34, 13 + delay 1 return Move_SPIT_UP: - loadspritegfx 0x27FD - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_237 + loadspritegfx ANIM_TAG_135 playsewithpan SE_W036, -64 - createvisualtask sub_815B6B4, 0x5 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 8, 2 - delay 0x2D + createvisualtask sub_815B6B4, 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 8, 2 + delay 45 playsewithpan SE_W255, -64 - delay 0x3 - createsprite gUnknown_08593A50, 0x2, 0, 12 - createsprite gUnknown_08593A50, 0x2, 32, 12 - createsprite gUnknown_08593A50, 0x2, 64, 12 - createsprite gUnknown_08593A50, 0x2, 96, 12 - createsprite gUnknown_08593A50, 0x2, 128, 12 - createsprite gUnknown_08593A50, 0x2, 160, 12 - createsprite gUnknown_08593A50, 0x2, 192, 12 - createsprite gUnknown_08593A50, 0x2, 224, 12 - delay 0x5 - jumpifmoveturn 0x2, AnimScript_82D4AB8 - jumpifmoveturn 0x3, AnimScript_82D4AE1 - -AnimScript_82D4A7B: - delay 0x5 - createvisualtask sub_80D6388, 0x2, 0, 1, 8, 1, 0 + delay 3 + createsprite gUnknown_08593A50, 2, 0, 12 + createsprite gUnknown_08593A50, 2, 32, 12 + createsprite gUnknown_08593A50, 2, 64, 12 + createsprite gUnknown_08593A50, 2, 96, 12 + createsprite gUnknown_08593A50, 2, 128, 12 + createsprite gUnknown_08593A50, 2, 160, 12 + createsprite gUnknown_08593A50, 2, 192, 12 + createsprite gUnknown_08593A50, 2, 224, 12 + delay 5 + jumpifmoveturn 2, SpitUpStrong + jumpifmoveturn 3, SpitUpStrongest +SpitUpContinue: + delay 5 + createvisualtask sub_80D6388, 2, 0, 1, 8, 1, 0 playsewithpan SE_W003, +63 - createsprite gUnknown_085973E8, 0x83, -12, 10, 1, 1 - delay 0x5 + createsprite gUnknown_085973E8, 131, -12, 10, 1, 1 + delay 5 playsewithpan SE_W003, +63 - createsprite gUnknown_085973E8, 0x83, 12, -10, 1, 1 + createsprite gUnknown_085973E8, 131, 12, -10, 1, 1 waitforvisualfinish end - -AnimScript_82D4AB8: - createsprite gUnknown_08593A50, 0x2, 16 - createsprite gUnknown_08593A50, 0x2, 80 - createsprite gUnknown_08593A50, 0x2, 144 - createsprite gUnknown_08593A50, 0x2, 208 - goto AnimScript_82D4A7B - -AnimScript_82D4AE1: - createsprite gUnknown_08593A50, 0x2, 16 - createsprite gUnknown_08593A50, 0x2, 48 - createsprite gUnknown_08593A50, 0x2, 80 - createsprite gUnknown_08593A50, 0x2, 112 - createsprite gUnknown_08593A50, 0x2, 144 - createsprite gUnknown_08593A50, 0x2, 176 - createsprite gUnknown_08593A50, 0x2, 208 - createsprite gUnknown_08593A50, 0x2, 240 - goto AnimScript_82D4A7B +SpitUpStrong: + createsprite gUnknown_08593A50, 2, 16 + createsprite gUnknown_08593A50, 2, 80 + createsprite gUnknown_08593A50, 2, 144 + createsprite gUnknown_08593A50, 2, 208 + goto SpitUpContinue +SpitUpStrongest: + createsprite gUnknown_08593A50, 2, 16 + createsprite gUnknown_08593A50, 2, 48 + createsprite gUnknown_08593A50, 2, 80 + createsprite gUnknown_08593A50, 2, 112 + createsprite gUnknown_08593A50, 2, 144 + createsprite gUnknown_08593A50, 2, 176 + createsprite gUnknown_08593A50, 2, 208 + createsprite gUnknown_08593A50, 2, 240 + goto SpitUpContinue Move_SWALLOW: - loadspritegfx 0x27FC - loadspritegfx 0x272F + loadspritegfx ANIM_TAG_236 + loadspritegfx ANIM_TAG_BLUE_STAR playsewithpan SE_W036, -64 - createvisualtask sub_815B778, 0x5 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 8, 2 - delay 0x26 + createvisualtask sub_815B778, 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 8, 2 + delay 38 playsewithpan SE_W255, -64 - createvisualtask sub_80D52D0, 0x2, 0, 2, 0, 12, 1 - call AnimScript_82D4B7F - jumpifmoveturn 0x2, AnimScript_82D4BC1 - jumpifmoveturn 0x3, AnimScript_82D4BCB - -AnimScript_82D4B78: + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 2, 0, 12, 1 + call SwallowEffect + jumpifmoveturn 2, SwallowGood + jumpifmoveturn 3, SwallowBest +SwallowContinue: waitforvisualfinish - call AnimScript_82D79DF + call HealingEffect end - -AnimScript_82D4B7F: - createsprite gUnknown_085CE418, 0x2, 0, -8 - delay 0x1 - createsprite gUnknown_085CE418, 0x2, -24, -8 - delay 0x1 - createsprite gUnknown_085CE418, 0x2, 16, -8 - delay 0x1 - createsprite gUnknown_085CE418, 0x2, -16, -8 - delay 0x1 - createsprite gUnknown_085CE418, 0x2, 24, -8 - delay 0x1 +SwallowEffect: + createsprite gUnknown_085CE418, 2, 0, -8 + delay 1 + createsprite gUnknown_085CE418, 2, -24, -8 + delay 1 + createsprite gUnknown_085CE418, 2, 16, -8 + delay 1 + createsprite gUnknown_085CE418, 2, -16, -8 + delay 1 + createsprite gUnknown_085CE418, 2, 24, -8 + delay 1 return - -AnimScript_82D4BC1: - call AnimScript_82D4B7F - goto AnimScript_82D4B78 - -AnimScript_82D4BCB: - call AnimScript_82D4B7F - call AnimScript_82D4B7F - goto AnimScript_82D4B78 +SwallowGood: + call SwallowEffect + goto SwallowContinue +SwallowBest: + call SwallowEffect + call SwallowEffect + goto SwallowContinue Move_TRANSFORM: monbg ANIM_ATTACKER playsewithpan SE_W100, -64 - waitplaysewithpan SE_W107, -64, 0x30 - createvisualtask sub_815B7D0, 0x2, 0 + waitplaysewithpan SE_W107, -64, 48 + createvisualtask sub_815B7D0, 2, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER end Move_MORNING_SUN: - loadspritegfx 0x2801 - loadspritegfx 0x272F - createvisualtask sub_815BB84, 0x5 - delay 0x8 - createvisualtask sub_8116620, 0xA, 1921, 8, 0, 12, 0x7FFF - delay 0xE - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - call AnimScript_82D4C78 - createvisualtask sub_8116620, 0xA, 1921, 3, 12, 0, 0x7FFF + loadspritegfx ANIM_TAG_GREEN_STAR + loadspritegfx ANIM_TAG_BLUE_STAR + createvisualtask sub_815BB84, 5 + delay 8 + createvisualtask sub_8116620, 10, 0x781, 8, 0, 12, RGB_WHITE + delay 14 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + call MorningSun1 + createvisualtask sub_8116620, 10, 0x781, 3, 12, 0, RGB_WHITE waitforvisualfinish waitsound - call AnimScript_82D79DF + call HealingEffect end - -AnimScript_82D4C78: - createsprite gUnknown_085CE48C, 0x2, 30, 640 - delay 0x5 +MorningSun1: + createsprite gUnknown_085CE48C, 2, 30, 640 + delay 5 return Move_SWEET_SCENT: - loadspritegfx 0x27FE + loadspritegfx ANIM_TAG_238 playsewithpan SE_W230, -64 - createsprite gUnknown_085CE544, 0x2, 100, 0, 100 - delay 0x19 + createsprite gUnknown_085CE544, 2, 100, 0, 100 + delay 25 setpan 0 - call AnimScript_82D4CCA - createsprite gUnknown_085CE544, 0x2, 55, 0 + call SweetScentEffect + createsprite gUnknown_085CE544, 2, 55, 0 setpan +63 - createvisualtask sub_8115A04, 0x2, 20, 1, 5, 5, 13, 22207 - call AnimScript_82D4CCA + createvisualtask sub_8115A04, 2, 20, 1, 5, 5, 13, RGB(31, 21, 21) + call SweetScentEffect waitforvisualfinish end - -AnimScript_82D4CCA: - createsprite gUnknown_085CE544, 0x2, 70, 1, 64 - delay 0x2 - createsprite gUnknown_085CE544, 0x2, 60, 0, 64 - delay 0x5 - createsprite gUnknown_085CE544, 0x2, 80, 1, 64 - delay 0x2 - createsprite gUnknown_085CE544, 0x2, 58, 0, 120 - delay 0x2 - createsprite gUnknown_085CE544, 0x2, 100, 0, 120 - delay 0x2 - createsprite gUnknown_085CE544, 0x2, 90, 0, 64 - delay 0x2 - createsprite gUnknown_085CE544, 0x2, 48, 0, 64 - delay 0x2 - createsprite gUnknown_085CE544, 0x2, 95, 1, 80 - delay 0x2 - createsprite gUnknown_085CE544, 0x2, 100, 0, 120 - delay 0x2 - createsprite gUnknown_085CE544, 0x2, 75, 1, 64 - delay 0x2 - createsprite gUnknown_085CE544, 0x2, 85, 0, 120 - delay 0x2 +SweetScentEffect: + createsprite gUnknown_085CE544, 2, 70, 1, 64 + delay 2 + createsprite gUnknown_085CE544, 2, 60, 0, 64 + delay 5 + createsprite gUnknown_085CE544, 2, 80, 1, 64 + delay 2 + createsprite gUnknown_085CE544, 2, 58, 0, 120 + delay 2 + createsprite gUnknown_085CE544, 2, 100, 0, 120 + delay 2 + createsprite gUnknown_085CE544, 2, 90, 0, 64 + delay 2 + createsprite gUnknown_085CE544, 2, 48, 0, 64 + delay 2 + createsprite gUnknown_085CE544, 2, 95, 1, 80 + delay 2 + createsprite gUnknown_085CE544, 2, 100, 0, 120 + delay 2 + createsprite gUnknown_085CE544, 2, 75, 1, 64 + delay 2 + createsprite gUnknown_085CE544, 2, 85, 0, 120 + delay 2 return Move_HYPER_BEAM: - loadspritegfx 0x27A3 - createsprite gUnknown_08597274, 0x2, 1, 4, 0, 16, 0 + loadspritegfx ANIM_TAG_147 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 0, 16, RGB_BLACK waitforvisualfinish - delay 0xA + delay 10 playsewithpan SE_W063, -64 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 4, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 4, 1 waitforvisualfinish - delay 0x1E + delay 30 createsoundtask sub_8158C58, 247, -64, 63, 1, 15, 0, 5 - createvisualtask sub_80D51AC, 0x2, 0, 0, 4, 50, 1 - createvisualtask sub_8115D94, 0x2, 10147, 1, 12, 31, 16, 0, 0 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 50, 1 - createvisualtask sub_8116620, 0xA, 4, 2, 0, 11, 26425 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - call AnimScript_82D4EA1 - createvisualtask sub_8116620, 0xA, 4, 2, 11, 0, 26425 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 + createvisualtask sub_8115D94, 2, ANIM_TAG_147, 1, 12, 31, 16, 0, 0 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 50, 1 + createvisualtask sub_8116620, 10, 4, 2, 0, 11, RGB(25, 25, 25) + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + call HyperBeam1 + createvisualtask sub_8116620, 10, 4, 2, 11, 0, RGB(25, 25, 25) waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 4, 16, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 16, 0, RGB_BLACK end - -AnimScript_82D4EA1: - createsprite gUnknown_08592288, 0x82 - createsprite gUnknown_08592288, 0x82 - delay 0x1 +HyperBeam1: + createsprite gUnknown_08592288, 130 + createsprite gUnknown_08592288, 130 + delay 1 return Move_FLATTER: - loadspritegfx 0x27F3 - loadspritegfx 0x2800 - createvisualtask sub_8159244, 0x5, 223, 63 - createvisualtask sub_815ABEC, 0x2 - createvisualtask sub_8116960, 0x2, 248, 3, 0, 10, 0 + loadspritegfx ANIM_TAG_227 + loadspritegfx ANIM_TAG_240 + createvisualtask sub_8159244, 5, 223, 63 + createvisualtask sub_815ABEC, 2 + createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0 waitforvisualfinish - createsprite gUnknown_085CE5C0, 0x82, 0, -8, 80 - delay 0x0 - createsprite gUnknown_0857FE40, 0x2, 5, 2, 1 - delay 0xA - createsprite gUnknown_0857FE40, 0x2, 5, 2, 1 - delay 0x0 - createvisualtask sub_8159210, 0x5, 229, -64 - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - call AnimScript_82D4F9B - delay 0x5 - createvisualtask sub_8159210, 0x5, 229, 63 + createsprite gUnknown_085CE5C0, 130, 0, -8, 80 + delay 0 + createsprite gVerticalDipSpriteTemplate, 2, 5, 2, ANIM_TARGET + delay 10 + createsprite gVerticalDipSpriteTemplate, 2, 5, 2, ANIM_TARGET + delay 0 + createvisualtask sub_8159210, 5, 229, -64 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + call Flatter1 + delay 5 + createvisualtask sub_8159210, 5, 229, 63 waitforvisualfinish - createvisualtask sub_8116960, 0x2, 248, 3, 10, 0, 1 + createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1 waitforvisualfinish - createvisualtask sub_815AC8C, 0x2 + createvisualtask sub_815AC8C, 2 end - -AnimScript_82D4F9B: - createsprite gUnknown_085CE5A8, 0x28, 0 - createsprite gUnknown_085CE5A8, 0x28, 1 +Flatter1: + createsprite gUnknown_085CE5A8, 40, 0 + createsprite gUnknown_085CE5A8, 40, 1 return Move_ROLE_PLAY: monbg ANIM_ATK_PARTNER - createvisualtask sub_8116620, 0xA, 4, 2, 0, 16, 0x7FFF - createsprite gUnknown_08597274, 0x2, 1, 2, 0, 10, 0 + createvisualtask sub_8116620, 10, 4, 2, 0, 16, RGB_WHITE + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 10, RGB_BLACK waitforvisualfinish playsewithpan SE_W161, -64 - waitplaysewithpan SE_W197, -64, 0x1E - createvisualtask sub_815CED8, 0x2 + waitplaysewithpan SE_W197, -64, 30 + createvisualtask sub_815CED8, 2 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER - createvisualtask sub_8116620, 0xA, 4, 2, 16, 0, 0x7FFF - delay 0x8 - createsprite gUnknown_08597274, 0x2, 1, 2, 10, 0, 0 + createvisualtask sub_8116620, 10, 4, 2, 16, 0, RGB_WHITE + delay 8 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 10, 0, RGB_BLACK end Move_REFRESH: - loadspritegfx 0x27DB - loadspritegfx 0x2741 + loadspritegfx ANIM_TAG_203 + loadspritegfx ANIM_TAG_SPARKLE playsewithpan SE_W287, -64 - createvisualtask sub_815DFCC, 0x2, 0 + createvisualtask sub_815DFCC, 2, 0 waitforvisualfinish playsewithpan SE_W234, -64 - call AnimScript_82D79B4 + call GrantingStarsEffect waitforvisualfinish playsewithpan SE_REAPOKE, -64 - createsprite gUnknown_08597274, 0x2, 31, 3, 10, 0, RGB(12, 24, 30) - createsprite gUnknown_0859381C, 0x3, 0, 0, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 3, 10, 0, RGB(12, 24, 30) + createsprite gUnknown_0859381C, 3, 0, 0, 0, 0 end Move_BLAZE_KICK: - loadspritegfx 0x2797 - loadspritegfx 0x279F - loadspritegfx 0x272D + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W172, +63 - createsprite gUnknown_08595F14, 0x83, 0, 0, 1, 30 - createvisualtask sub_8116620, 0xA, 4, 2, 0, 7, 0x7FFF - delay 0x1E + createsprite gUnknown_08595F14, 131, 0, 0, 1, 30 + createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE + delay 30 playsewithpan SE_W007, +63 - createsprite gUnknown_08597358, 0x82, 0, 0, 1, 0 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 14, 1 - createvisualtask sub_8116620, 0xA, 4, 2, 0, 0, 0x7FFF - createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 8, 0, 0 - call AnimScript_82D2D18 + createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 14, 1 + createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0 + call FireMoveEffect waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_HYPER_VOICE: - loadspritegfx 0x27DB - createvisualtask sub_81590B8, 0x5, 0 - call AnimScript_82D50FA + loadspritegfx ANIM_TAG_203 + createvisualtask sub_81590B8, 5, 0 + call HyperVoiceEffect waitforvisualfinish - delay 0x8 - createvisualtask sub_81590B8, 0x5, 1 - call AnimScript_82D50FA + delay 8 + createvisualtask sub_81590B8, 5, 1 + call HyperVoiceEffect waitforvisualfinish end - -AnimScript_82D50FA: - createsprite gUnknown_08597274, 0x2, 31, 3, 8, 0, RGB_YELLOW - createvisualtask sub_80D6064, 0x5, -5, -5, 5, 0, 0 - createsprite gUnknown_08593880, 0x0, 45, 0, 0, 0, 0, 0, 1 - createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 6, 1 - createvisualtask sub_80D52D0, 0x2, 3, 1, 0, 6, 1 - createvisualtask sub_81162A4, 0x2, 1, 0, 6, 1 - createvisualtask sub_8159078, 0x5 +HyperVoiceEffect: + createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 3, 8, 0, RGB_YELLOW + createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 5, ANIM_ATTACKER, 0 + createsprite gUnknown_08593880, 0, 45, 0, 0, 0, 0, 0, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 6, 1 + createvisualtask sub_81162A4, 2, 1, 0, 6, 1 + createvisualtask sub_8159078, 5 return Move_SAND_TOMB: - loadspritegfx 0x275A - createsprite gUnknown_08597274, 0x0, 4, 2, 0, 7, RGB(19, 17, 0) - createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 43, 1 + loadspritegfx ANIM_TAG_074 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 0, 7, RGB(19, 17, 0) + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 43, 1 playsewithpan SE_W328, +63 - call AnimScript_82D51B7 - call AnimScript_82D51B7 - call AnimScript_82D51B7 - delay 0x16 - createsprite gUnknown_08597274, 0x0, 4, 2, 7, 0, RGB(19, 17, 0) + call SandTombEffect + call SandTombEffect + call SandTombEffect + delay 22 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 7, 0, RGB(19, 17, 0) waitforvisualfinish end -AnimScript_82D51B7: - createsprite gUnknown_08596B34, 0x82, 0, 32, 528, 30, 10, 50, 1 - delay 0x2 - createsprite gUnknown_08596B34, 0x82, 0, 36, 480, 20, 13, -46, 1 - delay 0x2 - createsprite gUnknown_08596B34, 0x82, 0, 37, 576, 20, 5, 42, 1 - delay 0x2 - createsprite gUnknown_08596B34, 0x82, 0, 35, 400, 25, 8, -42, 1 - delay 0x2 - createsprite gUnknown_08596B34, 0x82, 0, 32, 512, 25, 13, 46, 1 - delay 0x2 - createsprite gUnknown_08596B34, 0x82, 0, 37, 464, 30, 12, -50, 1 - delay 0x2 +SandTombEffect: + createsprite gUnknown_08596B34, 130, 0, 32, 528, 30, 10, 50, 1 + delay 2 + createsprite gUnknown_08596B34, 130, 0, 36, 480, 20, 13, -46, 1 + delay 2 + createsprite gUnknown_08596B34, 130, 0, 37, 576, 20, 5, 42, 1 + delay 2 + createsprite gUnknown_08596B34, 130, 0, 35, 400, 25, 8, -42, 1 + delay 2 + createsprite gUnknown_08596B34, 130, 0, 32, 512, 25, 13, 46, 1 + delay 2 + createsprite gUnknown_08596B34, 130, 0, 37, 464, 30, 12, -50, 1 + delay 2 return Move_SHEER_COLD: @@ -8665,12 +8545,12 @@ Move_SHEER_COLD: waitbgfadeout playsewithpan SE_W196, 0 waitbgfadein - loadspritegfx 0x271A + loadspritegfx ANIM_TAG_ICE_CUBE monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80A9EF4, 0x2 - waitplaysewithpan SE_W258, +63, 0x11 + setalpha 12, 8 + createvisualtask sub_80A9EF4, 2 + waitplaysewithpan SE_W258, +63, 17 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -8679,210 +8559,205 @@ Move_SHEER_COLD: end Move_ARM_THRUST: - loadspritegfx 0x279F - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_143 + loadspritegfx ANIM_TAG_135 monbgprio_28 ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80D6134, 0x5, 8, 5, 0, 0 - delay 0x6 - createsprite gUnknown_0857FE28, 0x2, 4, 3 - delay 0x4 + setalpha 12, 8 + createvisualtask sub_80D6134, 5, 8, 5, 0, 0 + delay 6 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 3 + delay 4 playsewithpan SE_W207, +63 - createsprite gUnknown_08596034, 0x82, 10, -8, 14, 3 + createsprite gUnknown_08596034, 130, 10, -8, 14, 3 waitforvisualfinish - createvisualtask sub_80D6134, 0x5, 8, 5, 0, 1 + createvisualtask sub_80D6134, 5, 8, 5, 0, 1 playsewithpan SE_W003, +63 - choosetwoturnanim AnimScript_82D52D4, AnimScript_82D52E8 - -AnimScript_82D52C0: - createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 + choosetwoturnanim ArmThrustRight, ArmThrustLeft +ArmThrustContinue: + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 waitforvisualfinish blendoff end - -AnimScript_82D52D4: - createsprite gUnknown_08597358, 0x82, 8, 0, 1, 2 - goto AnimScript_82D52C0 - -AnimScript_82D52E8: - createsprite gUnknown_08597358, 0x82, -8, 0, 1, 2 - goto AnimScript_82D52C0 +ArmThrustRight: + createsprite gBasicHitSplatSpriteTemplate, 130, 8, 0, 1, 2 + goto ArmThrustContinue +ArmThrustLeft: + createsprite gBasicHitSplatSpriteTemplate, 130, -8, 0, 1, 2 + goto ArmThrustContinue Move_MUDDY_WATER: - panse_1B SE_W250, -64, +63, +2, 0x0 - createvisualtask sub_8107954, 0x2, 1 + panse_1B SE_W250, -64, +63, +2, 0 + createvisualtask AnimTask_CreateSurfWave, 2, TRUE waitforvisualfinish end Move_BULLET_SEED: - loadspritegfx 0x2716 - createsprite gUnknown_0859351C, 0x82, 20, 0 - delay 0x5 - createsprite gUnknown_0859351C, 0x82, 20, 0 - delay 0x5 - createsprite gUnknown_0859351C, 0x82, 20, 0 - delay 0x5 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 30, 1 - createsprite gUnknown_0859351C, 0x82, 20, 0 - delay 0x5 - createsprite gUnknown_0859351C, 0x82, 20, 0 - delay 0x5 - createsprite gUnknown_0859351C, 0x82, 20, 0 - delay 0x5 - createsprite gUnknown_0859351C, 0x82, 20, 0 - delay 0x5 - createsprite gUnknown_0859351C, 0x82, 20, 0 - delay 0x5 - createsprite gUnknown_0859351C, 0x82, 20, 0 - delay 0x5 - createsprite gUnknown_0859351C, 0x82, 20, 0 + loadspritegfx ANIM_TAG_SEED + createsprite gUnknown_0859351C, 130, 20, 0 + delay 5 + createsprite gUnknown_0859351C, 130, 20, 0 + delay 5 + createsprite gUnknown_0859351C, 130, 20, 0 + delay 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 30, 1 + createsprite gUnknown_0859351C, 130, 20, 0 + delay 5 + createsprite gUnknown_0859351C, 130, 20, 0 + delay 5 + createsprite gUnknown_0859351C, 130, 20, 0 + delay 5 + createsprite gUnknown_0859351C, 130, 20, 0 + delay 5 + createsprite gUnknown_0859351C, 130, 20, 0 + delay 5 + createsprite gUnknown_0859351C, 130, 20, 0 + delay 5 + createsprite gUnknown_0859351C, 130, 20, 0 waitforvisualfinish end Move_DRAGON_CLAW: - loadspritegfx 0x272D - loadspritegfx 0x2737 + loadspritegfx ANIM_TAG_SMALL_EMBER + loadspritegfx ANIM_TAG_CLAW_SLASH playsewithpan SE_W221B, -64 - createvisualtask sub_8116620, 0xA, 2, 4, 0, 8, 639 - createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 15, 1 - call AnimScript_82D5581 - call AnimScript_82D5581 - createsprite gUnknown_0857FE28, 0x2, 6, 4 - createsprite gUnknown_08596B88, 0x2, 0, 28, 528, 30, 13, 50, 0 - delay 0x2 - createvisualtask sub_8159210, 0x5, 136, 63 - createsprite gUnknown_08597138, 0x82, -10, -10, 0 - createsprite gUnknown_08597138, 0x82, -10, 10, 0 - createsprite gUnknown_085972D8, 0x2, -4, 1, 10, 3, 1 - createsprite gUnknown_08596B88, 0x2, 0, 32, 480, 20, 16, -46, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 33, 576, 20, 8, 42, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 31, 400, 25, 11, -42, 0 - delay 0x2 - createsprite gUnknown_0857FE28, 0x2, 6, 4 - createsprite gUnknown_08596B88, 0x2, 0, 28, 512, 25, 16, 46, 0 - delay 0x2 - createvisualtask sub_8159210, 0x5, 136, 63 - createsprite gUnknown_08597138, 0x82, 10, -10, 1 - createsprite gUnknown_08597138, 0x82, 10, 10, 1 - createsprite gUnknown_085972D8, 0x2, -4, 1, 10, 3, 1 - createsprite gUnknown_08596B88, 0x2, 0, 33, 464, 30, 15, -50, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 28, 528, 30, 13, 50, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 32, 480, 20, 16, -46, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 33, 576, 20, 8, 42, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 31, 400, 25, 11, -42, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 28, 512, 25, 16, 46, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 33, 464, 30, 15, -50, 0 - createvisualtask sub_8116620, 0xA, 2, 4, 8, 0, 639 + createvisualtask sub_8116620, 10, 2, 4, 0, 8, RGB(31, 19, 0) + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 15, 1 + call DragonClawEffect + call DragonClawEffect + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + createsprite gUnknown_08596B88, 2, 0, 28, 528, 30, 13, 50, 0 + delay 2 + createvisualtask sub_8159210, 5, 136, 63 + createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, -10, 0 + createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, 10, 0 + createsprite gBattleAnimSpriteTemplate_85972D8, 2, -4, 1, 10, 3, 1 + createsprite gUnknown_08596B88, 2, 0, 32, 480, 20, 16, -46, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 33, 576, 20, 8, 42, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 31, 400, 25, 11, -42, 0 + delay 2 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + createsprite gUnknown_08596B88, 2, 0, 28, 512, 25, 16, 46, 0 + delay 2 + createvisualtask sub_8159210, 5, 136, 63 + createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, -10, 1 + createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, 10, 1 + createsprite gBattleAnimSpriteTemplate_85972D8, 2, -4, 1, 10, 3, 1 + createsprite gUnknown_08596B88, 2, 0, 33, 464, 30, 15, -50, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 28, 528, 30, 13, 50, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 32, 480, 20, 16, -46, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 33, 576, 20, 8, 42, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 31, 400, 25, 11, -42, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 28, 512, 25, 16, 46, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 33, 464, 30, 15, -50, 0 + createvisualtask sub_8116620, 10, 2, 4, 8, 0, RGB(31, 19, 0) waitforvisualfinish end - -AnimScript_82D5581: - createsprite gUnknown_08596B88, 0x2, 0, 28, 528, 30, 13, 50, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 32, 480, 20, 16, -46, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 33, 576, 20, 8, 42, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 31, 400, 25, 11, -42, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 28, 512, 25, 16, 46, 0 - delay 0x2 - createsprite gUnknown_08596B88, 0x2, 0, 33, 464, 30, 15, -50, 0 - delay 0x2 +DragonClawEffect: + createsprite gUnknown_08596B88, 2, 0, 28, 528, 30, 13, 50, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 32, 480, 20, 16, -46, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 33, 576, 20, 8, 42, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 31, 400, 25, 11, -42, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 28, 512, 25, 16, 46, 0 + delay 2 + createsprite gUnknown_08596B88, 2, 0, 33, 464, 30, 15, -50, 0 + delay 2 return -AnimScript_82D560C: +End: end Move_MUD_SHOT: - loadspritegfx 0x2813 + loadspritegfx ANIM_TAG_259 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 46, 1 - delay 0x6 - createvisualtask sub_81076C8, 0x5, 100 - panse_1B SE_W250, -64, +63, +1, 0x0 - call AnimScript_82D5687 - call AnimScript_82D5687 - call AnimScript_82D5687 - createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 43, 1 - call AnimScript_82D5687 - call AnimScript_82D5687 - call AnimScript_82D5687 - call AnimScript_82D5687 - call AnimScript_82D5687 - call AnimScript_82D5687 - call AnimScript_82D5687 - call AnimScript_82D5687 + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 46, 1 + delay 6 + createvisualtask sub_81076C8, 5, 100 + panse_1B SE_W250, -64, +63, +1, 0 + call MudShot1 + call MudShot1 + call MudShot1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 43, 1 + call MudShot1 + call MudShot1 + call MudShot1 + call MudShot1 + call MudShot1 + call MudShot1 + call MudShot1 + call MudShot1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end - -AnimScript_82D5687: - createsprite gUnknown_085950FC, 0x3, 10, 10, 0, 16 - delay 0x2 - createsprite gUnknown_085950FC, 0x3, 10, 10, 0, 16 - delay 0x2 +MudShot1: + createsprite gUnknown_085950FC, 3, 10, 10, 0, 16 + delay 2 + createsprite gUnknown_085950FC, 3, 10, 10, 0, 16 + delay 2 return Move_METEOR_MASH: - loadspritegfx 0x27F9 - loadspritegfx 0x2797 - loadspritegfx 0x279F - panse_1B SE_W112, -64, +63, +3, 0x0 + loadspritegfx ANIM_TAG_233 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 + panse_1B SE_W112, -64, +63, +3, 0 fadetobg BG_COSMIC waitbgfadein waitforvisualfinish - createsprite gUnknown_085CE8DC, 0x83, -48, -64, 72, 32, 30 - delay 0xA - createsprite gUnknown_085CE8DC, 0x83, -112, -64, 8, 32, 30 - delay 0x28 - createsprite gUnknown_08595F14, 0x83, 0, 0, 0, 30 - createsprite gUnknown_085CE8DC, 0x83, -80, -64, 40, 32, 30 - delay 0x14 + createsprite gUnknown_085CE8DC, 131, -48, -64, 72, 32, 30 + delay 10 + createsprite gUnknown_085CE8DC, 131, -112, -64, 8, 32, 30 + delay 40 + createsprite gUnknown_08595F14, 131, 0, 0, 0, 30 + createsprite gUnknown_085CE8DC, 131, -80, -64, 40, 32, 30 + delay 20 playsewithpan SE_W233B, +63 - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 - createvisualtask sub_80D52D0, 0x2, 1, 5, 0, 20, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 5, 0, 20, 1 waitforvisualfinish - delay 0xA + delay 10 restorebg waitbgfadein waitforvisualfinish end Move_REVENGE: - loadspritegfx 0x2805 + loadspritegfx ANIM_TAG_245 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W036, -64 - createsprite gUnknown_08596088, 0x2, 10, -10 + createsprite gUnknown_08596088, 2, 10, -10 waitforvisualfinish - createvisualtask sub_8115A04, 0x2, 2, 0, 4, 2, 8, 31 + createvisualtask sub_8115A04, 2, 2, 0, 4, 2, 8, RGB_RED waitforvisualfinish - unloadspritegfx 0x2805 - loadspritegfx 0x2806 - createsprite gUnknown_0857FE28, 0x2, 6, 4 - delay 0x4 + unloadspritegfx ANIM_TAG_245 + loadspritegfx ANIM_TAG_246 + createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4 + delay 4 playsewithpan SE_W207, +63 - createsprite gUnknown_085960D0, 0x82, 10, -10 + createsprite gUnknown_085960D0, 130, 10, -10 waitforvisualfinish - unloadspritegfx 0x2806 - loadspritegfx 0x2797 - createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 10, 1 - createsprite gUnknown_08597400, 0x83, -10, -8, 1, 1, 8 + unloadspritegfx ANIM_TAG_246 + loadspritegfx ANIM_TAG_135 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 10, 1 + createsprite gUnknown_08597400, 131, -10, -8, 1, 1, 8 playsewithpan SE_W233B, +63 - delay 0x8 - createsprite gUnknown_08597400, 0x83, 10, 8, 1, 1, 8 + delay 8 + createsprite gUnknown_08597400, 131, 10, 8, 1, 1, 8 playsewithpan SE_W025B, +63 waitforvisualfinish clearmonbg ANIM_TARGET @@ -8890,949 +8765,923 @@ Move_REVENGE: end Move_POISON_FANG: - loadspritegfx 0x27D0 - loadspritegfx 0x27A6 + loadspritegfx ANIM_TAG_192 + loadspritegfx ANIM_TAG_POISON_BUBBLE playsewithpan SE_W044, +63 - createsprite gUnknown_085CE1DC, 0x82 - delay 0xA - createvisualtask sub_80D51AC, 0x3, 1, 3, 0, 10, 1 + createsprite gUnknown_085CE1DC, 130 + delay 10 + createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 3, 0, 10, 1 waitforvisualfinish - createvisualtask sub_8115A04, 0x2, 4, 0, 4, 0, 12, 26650 - call AnimScript_82D7A71 + createvisualtask sub_8115A04, 2, 4, 0, 4, 0, 12, RGB(26, 0, 26) + call PoisonBubblesEffect waitforvisualfinish end Move_SUBSTITUTE: playsewithpan SE_W213, -64 - createvisualtask sub_815F20C, 0x2 + createvisualtask AnimTask_MonToSubstitute, 2 end Move_FRENZY_PLANT: - loadspritegfx 0x27EF - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_223 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET monbgprio_28 ANIM_TARGET - setalpha 0x80C - createsprite gUnknown_08597274, 0x0, 1, 2, 0, 5, 0 + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 1, 2, 0, 5, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08592564, 0x2, 10, 8, 2, 0, 0, 100 + createsprite gUnknown_08592564, 2, 10, 8, 2, 0, 0, 100 playsewithpan SE_W010, -64 - delay 0x5 - createsprite gUnknown_08592564, 0x2, 20, -8, -2, 0, 1, 95 + delay 5 + createsprite gUnknown_08592564, 2, 20, -8, -2, 0, 1, 95 playsewithpan SE_W010, -43 - delay 0x5 - createsprite gUnknown_08592564, 0x2, 30, 8, -4, 0, 0, 90 + delay 5 + createsprite gUnknown_08592564, 2, 30, 8, -4, 0, 0, 90 playsewithpan SE_W010, -22 - delay 0x5 - createsprite gUnknown_08592564, 0x2, 40, -8, 4, 0, 1, 85 + delay 5 + createsprite gUnknown_08592564, 2, 40, -8, 4, 0, 1, 85 playsewithpan SE_W010, 0 - delay 0x5 - createsprite gUnknown_08592564, 0x2, 50, 8, 0, 0, 0, 85 + delay 5 + createsprite gUnknown_08592564, 2, 50, 8, 0, 0, 0, 85 playsewithpan SE_W010, +21 - delay 0x5 - createsprite gUnknown_08592564, 0x2, 60, -8, -2, 0, 1, 85 + delay 5 + createsprite gUnknown_08592564, 2, 60, -8, -2, 0, 1, 85 playsewithpan SE_W010, +42 - delay 0x5 - createsprite gUnknown_08592564, 0x2, 75, 8, 0, 0, 0, 85 + delay 5 + createsprite gUnknown_08592564, 2, 75, 8, 0, 0, 0, 85 playsewithpan SE_W010, +63 - delay 0x5 - createsprite gUnknown_08592564, 0x2, 85, 16, 6, 0, 3, 80 + delay 5 + createsprite gUnknown_08592564, 2, 85, 16, 6, 0, 3, 80 playsewithpan SE_W010, +63 - delay 0x5 - createsprite gUnknown_08592564, 0x2, 85, -16, -6, 0, 2, 75 + delay 5 + createsprite gUnknown_08592564, 2, 85, -16, -6, 0, 2, 75 playsewithpan SE_W010, +63 - delay 0x5 - createsprite gUnknown_08597358, 0x2, -10, -10, 1, 3 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -10, 1, 3 playsewithpan SE_W003, +63 - createvisualtask sub_80D51AC, 0x3, 1, 8, 0, 20, 1 - delay 0x3 - createsprite gUnknown_08597358, 0x2, 10, 8, 1, 3 + createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 8, 0, 20, 1 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 8, 1, 3 playsewithpan SE_W003, +63 - delay 0x3 - createsprite gUnknown_08597358, 0x2, 10, -3, 1, 2 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, -3, 1, 2 playsewithpan SE_W003, +63 - delay 0x3 - createsprite gUnknown_08597358, 0x2, -3, 1, 1, 2 + delay 3 + createsprite gBasicHitSplatSpriteTemplate, 2, -3, 1, 1, 2 playsewithpan SE_W003, +63 - delay 0x2 - createsprite gUnknown_08597358, 0x2, -10, 1, 1, 1 + delay 2 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, 1, 1, 1 playsewithpan SE_W003, +63 - delay 0x2 - createsprite gUnknown_08597358, 0x2, 0, 10, 1, 1 + delay 2 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 10, 1, 1 playsewithpan SE_W003, +63 waitforvisualfinish - createsprite gUnknown_08597274, 0x0, 1, 2, 5, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 1, 2, 5, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_TARGET blendoff end Move_METAL_SOUND: - loadspritegfx 0x2814 + loadspritegfx ANIM_TAG_260 monbg ANIM_DEF_PARTNER monbgprio_2A ANIM_TARGET - createvisualtask sub_80D52D0, 0x2, 0, 2, 0, 8, 1 - call AnimScript_82D59EA - call AnimScript_82D59EA - call AnimScript_82D59EA - call AnimScript_82D59EA + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 2, 0, 8, 1 + call MetalSound1 + call MetalSound1 + call MetalSound1 + call MetalSound1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER - delay 0x0 + delay 0 waitforvisualfinish end - -AnimScript_82D59EA: - panse_1B SE_W103, -64, +63, +2, 0x0 - createsprite gUnknown_08593458, 0x82, 16, 0, 0, 0, 30, 0 - delay 0x2 +MetalSound1: + panse_1B SE_W103, -64, +63, +2, 0 + createsprite gUnknown_08593458, 130, 16, 0, 0, 0, 30, 0 + delay 2 return Move_FOCUS_PUNCH: - goto AnimScript_82D5A0E - -AnimScript_82D5A0C: + goto FocusPunch +FocusPunchEnd: waitforvisualfinish end - -AnimScript_82D5A0E: - loadspritegfx 0x2797 - loadspritegfx 0x279F - delay 0x1 - createvisualtask sub_8117E60, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82D5AC7 - createvisualtask sub_815A8C8, 0x2 - jumpargeq 0x7, 0x0, AnimScript_82D5AB9 - jumpargeq 0x7, 0x1, AnimScript_82D5AC0 - -AnimScript_82D5A3C: +FocusPunch: + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_143 + delay 1 + createvisualtask AnimTask_IsContest, 2 + jumprettrue FocusPunchInContest + createvisualtask AnimTask_IsTargetPlayerSide, 2 + jumpretfalse FocusPunchOnOpponent + jumprettrue FocusPunchOnPlayer +FocusPunchContinue: waitbgfadein monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W207, +63 - createsprite gUnknown_08596104, 0x82 - delay 0xA - createsprite gUnknown_08597358, 0x2, -10, -8, 1, 0 - createvisualtask sub_80D51AC, 0x5, 1, 8, 0, 24, 1 - delay 0x8 - createsprite gUnknown_08597358, 0x2, 10, 2, 1, 0 + createsprite gUnknown_08596104, 130 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 8, 0, 24, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 2, 1, 0 playsewithpan SE_W233B, +63 - delay 0x8 - createsprite gUnknown_08597358, 0x2, 10, -6, 1, 0 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, -6, 1, 0 playsewithpan SE_W233B, +63 - delay 0x8 - createsprite gUnknown_08597358, 0x2, 0, 8, 1, 0 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 8, 1, 0 playsewithpan SE_W025B, +63 waitforvisualfinish restorebg waitbgfadein clearmonbg ANIM_DEF_PARTNER blendoff - goto AnimScript_82D5A0C - -AnimScript_82D5AB9: + goto FocusPunchEnd +FocusPunchOnOpponent: fadetobg BG_IMPACT_OPPONENT - goto AnimScript_82D5A3C - -AnimScript_82D5AC0: + goto FocusPunchContinue +FocusPunchOnPlayer: fadetobg BG_IMPACT_PLAYER - goto AnimScript_82D5A3C - -AnimScript_82D5AC7: + goto FocusPunchContinue +FocusPunchInContest: fadetobg BG_IMPACT_CONTESTS - goto AnimScript_82D5A3C + goto FocusPunchContinue Move_RETURN: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - createvisualtask sub_815F8A0, 0x2 - delay 0x2 - jumpargeq 0x7, 0x0, AnimScript_82D5B04 - jumpargeq 0x7, 0x1, AnimScript_82D5B56 - jumpargeq 0x7, 0x2, AnimScript_82D5BB6 - jumpargeq 0x7, 0x3, AnimScript_82D5CD1 - -AnimScript_82D5AFF: + setalpha 12, 8 + createvisualtask AnimTask_GetReturnPowerLevel, 2 + delay 2 + jumpreteq 0, ReturnWeak + jumpreteq 1, ReturnMedium + jumpreteq 2, ReturnStrong + jumpreteq 3, ReturnStrongest +ReturnContinue: waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end - -AnimScript_82D5B04: - createsprite gUnknown_0857FE40, 0x2, 16, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 +ReturnWeak: + createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 waitforvisualfinish - createsprite gUnknown_0857FE40, 0x2, 16, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 - delay 0x5 - createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 - createvisualtask sub_8159210, 0x5, 139, 63 - goto AnimScript_82D5AFF - -AnimScript_82D5B56: - createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 + createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_8159210, 5, 139, 63 + goto ReturnContinue +ReturnMedium: + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 waitforvisualfinish - createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 waitforvisualfinish - delay 0xB - createsprite gUnknown_0857FE28, 0x2, 5, 4 - delay 0x6 - createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 - createvisualtask sub_8159210, 0x5, 141, 63 - goto AnimScript_82D5AFF - -AnimScript_82D5BB6: - createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 + delay 11 + createsprite gHorizontalLungeSpriteTemplate, 2, 5, 4 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 + createvisualtask sub_8159210, 5, 141, 63 + goto ReturnContinue +ReturnStrong: + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 waitforvisualfinish - createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 waitforvisualfinish - createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 waitforvisualfinish - createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 + createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 waitforvisualfinish - createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 - delay 0x8 - createsprite gUnknown_08597358, 0x2, 10, 10, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 - delay 0x8 - createsprite gUnknown_08597358, 0x2, 3, -5, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 - delay 0x8 - createsprite gUnknown_08597358, 0x2, -5, 3, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 - goto AnimScript_82D5AFF - -AnimScript_82D5CD1: - createsprite gUnknown_08597274, 0x2, 1, 0, 0, 6, 0 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 10, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, -5, 3, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + goto ReturnContinue +ReturnStrongest: + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 0, 6, RGB_BLACK waitforvisualfinish - createsprite gUnknown_0857FE40, 0x2, 16, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 - delay 0x8 - createsprite gUnknown_08597358, 0x2, 3, -5, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 + createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 waitforvisualfinish - createsprite gUnknown_0857FE40, 0x2, 12, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 - delay 0x5 - createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + createsprite gVerticalDipSpriteTemplate, 2, 12, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 waitforvisualfinish - delay 0x4 - createsprite gUnknown_0857FE40, 0x2, 8, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 - delay 0x5 - createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + delay 4 + createsprite gVerticalDipSpriteTemplate, 2, 8, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 waitforvisualfinish - delay 0x2 - createvisualtask sub_81169C0, 0x2, 0, 4, 5, 1 - createsprite gUnknown_0857FE40, 0x2, 4, 1, 0 - createvisualtask sub_8159244, 0x5, 167, -64 - createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 - createvisualtask sub_81169C0, 0x2, 0, 4, 5, 1 + delay 2 + createvisualtask sub_81169C0, 2, 0, 4, 5, 1 + createsprite gVerticalDipSpriteTemplate, 2, 4, 1, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + createvisualtask sub_81169C0, 2, 0, 4, 5, 1 waitforvisualfinish - createsprite gUnknown_0857FE40, 0x2, 4, 2, 0 - createvisualtask sub_8159244, 0x5, 167, -64 - delay 0x5 - createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 - createvisualtask sub_81169C0, 0x2, 0, 4, 5, 1 + createsprite gVerticalDipSpriteTemplate, 2, 4, 2, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 + delay 5 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + createvisualtask sub_81169C0, 2, 0, 4, 5, 1 waitforvisualfinish - call AnimScript_82D5F09 - call AnimScript_82D5F09 - call AnimScript_82D5F09 - call AnimScript_82D5F09 - createsprite gUnknown_08597358, 0x2, -10, -8, 1, 0 - createvisualtask sub_8159210, 0x5, 141, 63 - createvisualtask sub_80D51AC, 0x5, 1, 8, 0, 24, 1 - delay 0x6 - createsprite gUnknown_08597358, 0x2, 10, 10, 1, 0 - createvisualtask sub_8159210, 0x5, 141, 63 - delay 0x6 - createsprite gUnknown_08597358, 0x2, 3, -5, 1, 0 - createvisualtask sub_8159210, 0x5, 141, 63 - delay 0x6 - createsprite gUnknown_08597358, 0x2, -5, 3, 1, 0 - createvisualtask sub_8159210, 0x5, 141, 63 + call ReturnStrongest1 + call ReturnStrongest1 + call ReturnStrongest1 + call ReturnStrongest1 + createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 0 + createvisualtask sub_8159210, 5, 141, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 8, 0, 24, 1 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 2, 10, 10, 1, 0 + createvisualtask sub_8159210, 5, 141, 63 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 0 + createvisualtask sub_8159210, 5, 141, 63 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 2, -5, 3, 1, 0 + createvisualtask sub_8159210, 5, 141, 63 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 0, 6, 0, 0 - goto AnimScript_82D5AFF - -AnimScript_82D5F09: - createsprite gUnknown_0857FE40, 0x2, 4, 3, 0 - createvisualtask sub_8159244, 0x5, 167, -64 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_8159210, 0x5, 123, 63 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 - createvisualtask sub_81169C0, 0x2, 0, 4, 5, 1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 6, 0, RGB_BLACK + goto ReturnContinue +ReturnStrongest1: + createsprite gVerticalDipSpriteTemplate, 2, 4, 3, ANIM_ATTACKER + createvisualtask sub_8159244, 5, 167, -64 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask sub_8159210, 5, 123, 63 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + createvisualtask sub_81169C0, 2, 0, 4, 5, 1 waitforvisualfinish return Move_COSMIC_POWER: - loadspritegfx 0x2741 - createvisualtask sub_8159244, 0x5, 243, 0 + loadspritegfx ANIM_TAG_SPARKLE + createvisualtask sub_8159244, 5, 243, 0 playsewithpan SE_W322, 0 - createvisualtask sub_8117610, 0x2, 0, 0, 15, 0 + createvisualtask sub_8117610, 2, 0, 0, 15, 0 waitforvisualfinish fadetobg BG_COSMIC waitbgfadeout - createvisualtask sub_8117660, 0x2, 0, 128, 0, -1 + createvisualtask sub_8117660, 2, 0, 128, 0, -1 waitbgfadein - delay 0x46 - createvisualtask sub_8159210, 0x5, 228, -64 - createsprite gUnknown_08592B7C, 0x2, -15, 0, 0, 0, 32, 60 - delay 0x8 - createsprite gUnknown_08592B7C, 0x2, 12, -5, 0, 0, 32, 60 - delay 0x28 - createvisualtask sub_8117610, 0x2, 0, 15, 0, 0 + delay 70 + createvisualtask sub_8159210, 5, 228, -64 + createsprite gUnknown_08592B7C, 2, -15, 0, 0, 0, 32, 60 + delay 8 + createsprite gUnknown_08592B7C, 2, 12, -5, 0, 0, 32, 60 + delay 40 + createvisualtask sub_8117610, 2, 0, 15, 0, 0 waitforvisualfinish restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein waitforvisualfinish end Move_BLAST_BURN: - loadspritegfx 0x2733 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_035 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W221, -64 - createsprite gUnknown_08595428, 0x2, -32, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x2, -20, -10, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x42, 0, -16, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x42, 20, -10, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x42, 32, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x42, 20, 10, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x2, 0, 16, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x2, -20, 10, 24, 0, 0, 0 - delay 0x19 + createsprite gUnknown_08595428, 2, -32, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 2, -20, -10, 24, 0, 0, 0 + createsprite gUnknown_08595428, 66, 0, -16, 24, 0, 0, 0 + createsprite gUnknown_08595428, 66, 20, -10, 24, 0, 0, 0 + createsprite gUnknown_08595428, 66, 32, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 66, 20, 10, 24, 0, 0, 0 + createsprite gUnknown_08595428, 2, 0, 16, 24, 0, 0, 0 + createsprite gUnknown_08595428, 2, -20, 10, 24, 0, 0, 0 + delay 25 playsewithpan SE_W172B, -64 - createsprite gUnknown_08595428, 0x2, -64, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x6, -40, -20, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x46, 0, -32, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x46, 40, -20, 24, 0, 0, 0 - createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 - createsprite gUnknown_08595428, 0x42, 64, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x42, 40, 20, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x2, 0, 32, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x2, -40, 20, 24, 0, 0, 0 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x19 + createsprite gUnknown_08595428, 2, -64, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 6, -40, -20, 24, 0, 0, 0 + createsprite gUnknown_08595428, 70, 0, -32, 24, 0, 0, 0 + createsprite gUnknown_08595428, 70, 40, -20, 24, 0, 0, 0 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 + createsprite gUnknown_08595428, 66, 64, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 66, 40, 20, 24, 0, 0, 0 + createsprite gUnknown_08595428, 2, 0, 32, 24, 0, 0, 0 + createsprite gUnknown_08595428, 2, -40, 20, 24, 0, 0, 0 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 25 playsewithpan SE_W172B, -64 - createsprite gUnknown_08595428, 0x2, -96, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x6, -60, -30, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x46, 0, -48, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x46, 60, -30, 24, 0, 0, 0 - createsprite gUnknown_08597358, 0x82, -4, 3, 1, 0 - createvisualtask sub_80D51AC, 0x5, 1, 12, 0, 20, 1 - createvisualtask sub_81162A4, 0x2, 2, 0, 10, 1 - createsprite gUnknown_08595428, 0x42, 96, 0, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x42, 60, 30, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x2, 0, 48, 24, 0, 0, 0 - createsprite gUnknown_08595428, 0x2, -60, 30, 24, 0, 0, 0 - createvisualtask sub_8115F10, 0x2, 257, 257, 257 + createsprite gUnknown_08595428, 2, -96, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 6, -60, -30, 24, 0, 0, 0 + createsprite gUnknown_08595428, 70, 0, -48, 24, 0, 0, 0 + createsprite gUnknown_08595428, 70, 60, -30, 24, 0, 0, 0 + createsprite gBasicHitSplatSpriteTemplate, 130, -4, 3, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 12, 0, 20, 1 + createvisualtask sub_81162A4, 2, 2, 0, 10, 1 + createsprite gUnknown_08595428, 66, 96, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 66, 60, 30, 24, 0, 0, 0 + createsprite gUnknown_08595428, 2, 0, 48, 24, 0, 0, 0 + createsprite gUnknown_08595428, 2, -60, 30, 24, 0, 0, 0 + createvisualtask sub_8115F10, 2, 257, 257, 257 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_ROCK_TOMB: - loadspritegfx 0x280A - loadspritegfx 0x274A - createvisualtask sub_81162A4, 0x2, 2, 0, 10, 1 + loadspritegfx ANIM_TAG_X_SIGN + loadspritegfx ANIM_TAG_058 + createvisualtask sub_81162A4, 2, 2, 0, 10, 1 waitforvisualfinish - createsprite gUnknown_08596C58, 0x82, 20, 12, 64, 114, 0 - delay 0x8 - createvisualtask sub_81162A4, 0x2, 0, 2, 3, 1 + createsprite gUnknown_08596C58, 130, 20, 12, 64, 114, 0 + delay 8 + createvisualtask sub_81162A4, 2, 0, 2, 3, 1 playsewithpan SE_W070, +63 - delay 0x8 - createsprite gUnknown_08596C58, 0x82, -20, 12, 64, 98, 0 - delay 0x8 - createvisualtask sub_81162A4, 0x2, 0, 2, 3, 1 + delay 8 + createsprite gUnknown_08596C58, 130, -20, 12, 64, 98, 0 + delay 8 + createvisualtask sub_81162A4, 2, 0, 2, 3, 1 playsewithpan SE_W070, +63 - delay 0x8 - createsprite gUnknown_08596C58, 0xC2, 3, 6, 64, 82, 0 - delay 0x8 - createvisualtask sub_81162A4, 0x2, 0, 2, 3, 1 + delay 8 + createsprite gUnknown_08596C58, 194, 3, 6, 64, 82, 0 + delay 8 + createvisualtask sub_81162A4, 2, 0, 2, 3, 1 playsewithpan SE_W070, +63 - delay 0x8 - createsprite gUnknown_08596C58, 0x82, -3, 13, 64, 66, 0 - delay 0x8 - createvisualtask sub_81162A4, 0x2, 0, 2, 3, 1 + delay 8 + createsprite gUnknown_08596C58, 130, -3, 13, 64, 66, 0 + delay 8 + createvisualtask sub_81162A4, 2, 0, 2, 3, 1 playsewithpan SE_W070, +63 - delay 0x18 + delay 24 playsewithpan SE_W063, +63 - createsprite gUnknown_085967AC, 0x85, 1, 50 - createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 20, 1 - createvisualtask sub_81162A4, 0x2, 2, 0, 10, 1 + createsprite gUnknown_085967AC, 133, 1, 50 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 20, 1 + createvisualtask sub_81162A4, 2, 2, 0, 10, 1 waitforvisualfinish end Move_SILVER_WIND: - loadspritegfx 0x281F - panse_1B SE_W016, -64, +63, +2, 0x0 + loadspritegfx ANIM_TAG_271 + panse_1B SE_W016, -64, +63, +2, 0 playsewithpan SE_W234, 0 - delay 0x0 + delay 0 monbg ANIM_DEF_PARTNER monbgprio_29 - delay 0x0 - createvisualtask sub_8116664, 0xA, 1, 0, 0, 4, 0 - createvisualtask sub_8117780, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82D650C + delay 0 + createvisualtask sub_8116664, 10, 1, 0, 0, 4, RGB_BLACK + createvisualtask AnimTask_IsTargetOpponentSide, 2 + jumprettrue SilverWindOnPlayer fadetobg BG_BUG_OPPONENT waitbgfadeout - createvisualtask sub_8117660, 0x5, 1536, 0, 0, -1 - -AnimScript_82D6352: - delay 0x0 - createvisualtask sub_8116620, 0xA, 1, 0, 4, 4, 0 + createvisualtask sub_8117660, 5, 1536, 0, 0, -1 +SilverWindContinue: + delay 0 + createvisualtask sub_8116620, 10, 1, 0, 4, 4, RGB_BLACK waitbgfadein - createsprite gUnknown_08592830, 0xC2, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592830, 0xC2, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592830, 0x78, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592830, 0x78, -40, 14, 128, 4, 1, 2, 1 - delay 0x0 - createsprite gUnknown_08592848, 0xC2, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592848, 0xC2, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592848, 0x78, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592848, 0x78, -40, 14, 128, 4, 1, 2, 1 - delay 0x0 - createsprite gUnknown_08592860, 0xC2, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592860, 0xC2, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592860, 0x78, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592860, 0x78, -40, 14, 128, 4, 1, 2, 1 - delay 0x6 - createsprite gUnknown_08592830, 0xC2, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592830, 0xC2, -16, 12, 192, 5, 2, 3, 1 - delay 0x0 - createsprite gUnknown_08592848, 0xC2, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592848, 0xC2, -16, 12, 192, 5, 2, 3, 1 - delay 0x0 - createsprite gUnknown_08592860, 0xC2, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592860, 0xC2, -16, 12, 192, 5, 2, 3, 1 + createsprite gUnknown_08592830, -62, -32, 16, 0, 6, 2, 3, 1 + createsprite gUnknown_08592830, -62, -8, 18, 64, 3, 2, 2, 1 + createsprite gUnknown_08592830, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gUnknown_08592830, 120, -40, 14, 128, 4, 1, 2, 1 + delay 0 + createsprite gUnknown_08592848, -62, -32, 16, 0, 6, 2, 3, 1 + createsprite gUnknown_08592848, -62, -8, 18, 64, 3, 2, 2, 1 + createsprite gUnknown_08592848, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gUnknown_08592848, 120, -40, 14, 128, 4, 1, 2, 1 + delay 0 + createsprite gUnknown_08592860, -62, -32, 16, 0, 6, 2, 3, 1 + createsprite gUnknown_08592860, -62, -8, 18, 64, 3, 2, 2, 1 + createsprite gUnknown_08592860, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gUnknown_08592860, 120, -40, 14, 128, 4, 1, 2, 1 + delay 6 + createsprite gUnknown_08592830, -62, -4, 16, 0, 6, 1, 2, 1 + createsprite gUnknown_08592830, -62, -16, 12, 192, 5, 2, 3, 1 + delay 0 + createsprite gUnknown_08592848, -62, -4, 16, 0, 6, 1, 2, 1 + createsprite gUnknown_08592848, -62, -16, 12, 192, 5, 2, 3, 1 + delay 0 + createsprite gUnknown_08592860, -62, -4, 16, 0, 6, 1, 2, 1 + createsprite gUnknown_08592860, -62, -16, 12, 192, 5, 2, 3, 1 waitforvisualfinish playsewithpan SE_W016B, +63 clearmonbg ANIM_DEF_PARTNER - delay 0x0 + delay 0 restorebg waitbgfadeout - createvisualtask sub_8116664, 0xA, 1, 0, 4, 0, 0 - setarg 0x7, 0xFFFF + createvisualtask sub_8116664, 10, 1, 0, 4, 0, RGB_BLACK + setarg 7, -1 waitbgfadein end - -AnimScript_82D650C: +SilverWindOnPlayer: fadetobg BG_BUG_PLAYER waitbgfadeout - createvisualtask sub_8117660, 0x5, -1536, 0, 0, -1 - goto AnimScript_82D6352 + createvisualtask sub_8117660, 5, -1536, 0, 0, -1 + goto SilverWindContinue Move_SNATCH: playsewithpan SE_W036, -64 - createvisualtask sub_80D5C50, 0x5, 0, -12, 4, 10, 10, 12, 6 + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -12, 4, 10, 10, 12, 6 end Move_DIVE: - loadspritegfx 0x2820 - loadspritegfx 0x2821 - choosetwoturnanim AnimScript_82D654C, AnimScript_82D65A1 - -AnimScript_82D654C: - loadspritegfx 0x27AC + loadspritegfx ANIM_TAG_272 + loadspritegfx ANIM_TAG_273 + choosetwoturnanim DiveSetUp, DiveAttack +DiveSetUp: + loadspritegfx ANIM_TAG_156 playsewithpan SE_W029, -64 - createsprite gUnknown_08596490, 0x2, 0, 0, 13, 336 + createsprite gUnknown_08596490, 2, 0, 0, 13, 336 waitforvisualfinish playsewithpan SE_W291, -64 - createsprite gUnknown_085964CC, 0x3, 0 - call AnimScript_82D658A - call AnimScript_82D658A - call AnimScript_82D658A - call AnimScript_82D658A - call AnimScript_82D658A + createsprite gUnknown_085964CC, 3, 0 + call DiveSetUp1 + call DiveSetUp1 + call DiveSetUp1 + call DiveSetUp1 + call DiveSetUp1 end - -AnimScript_82D658A: - createsprite gUnknown_085964E4, 0x5, 0, 0 - createsprite gUnknown_085964E4, 0x5, 1, 0 +DiveSetUp1: + createsprite gUnknown_085964E4, 5, 0, 0 + createsprite gUnknown_085964E4, 5, 1, 0 return - -AnimScript_82D65A1: - loadspritegfx 0x27A4 - loadspritegfx 0x27AB +DiveAttack: + loadspritegfx ANIM_TAG_148 + loadspritegfx ANIM_TAG_155 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W153, +63 - createsprite gUnknown_085964CC, 0x83, 1 - call AnimScript_82D65E0 - call AnimScript_82D65E0 - call AnimScript_82D65E0 - call AnimScript_82D65E0 - call AnimScript_82D65E0 - delay 0xC - call AnimScript_82CB102 + createsprite gUnknown_085964CC, 131, 1 + call DiveAttack1 + call DiveAttack1 + call DiveAttack1 + call DiveAttack1 + call DiveAttack1 + delay 12 + call UnderWaterAttack1 waitforvisualfinish visible ANIM_ATTACKER clearmonbg ANIM_DEF_PARTNER blendoff end - -AnimScript_82D65E0: - createsprite gUnknown_085964E4, 0x85, 0, 1 - createsprite gUnknown_085964E4, 0x85, 1, 1 +DiveAttack1: + createsprite gUnknown_085964E4, 133, 0, 1 + createsprite gUnknown_085964E4, 133, 1, 1 return Move_ROCK_BLAST: - loadspritegfx 0x274A - loadspritegfx 0x2797 - createsprite gUnknown_0857FE28, 0x2, 4, 6 - delay 0x3 + loadspritegfx ANIM_TAG_058 + loadspritegfx ANIM_TAG_135 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 3 playsewithpan SE_W207, -64 - createsprite gUnknown_08596C98, 0x82, 16, 0, 0, 0, 25, 257 + createsprite gUnknown_08596C98, 130, 16, 0, 0, 0, 25, 257 waitforvisualfinish - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 playsewithpan SE_W088, +63 - createsprite gUnknown_08596B1C, 0x82, 0, 0, 20, 24, 14, 2 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 5, 1 - createsprite gUnknown_08596B1C, 0x82, 5, 0, -20, 24, 14, 1 - createsprite gUnknown_08596B1C, 0x82, 0, 5, 20, -24, 14, 2 - createsprite gUnknown_08596B1C, 0x82, -5, 0, -20, -24, 14, 2 + createsprite gUnknown_08596B1C, 130, 0, 0, 20, 24, 14, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 5, 1 + createsprite gUnknown_08596B1C, 130, 5, 0, -20, 24, 14, 1 + createsprite gUnknown_08596B1C, 130, 0, 5, 20, -24, 14, 2 + createsprite gUnknown_08596B1C, 130, -5, 0, -20, -24, 14, 2 waitforvisualfinish end Move_OVERHEAT: - loadspritegfx 0x272D - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_SMALL_EMBER + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x120C - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 5, RGB(28, 0, 0) + setalpha 12, 18 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 5, RGB(28, 0, 0) waitforvisualfinish - createvisualtask sub_8117C44, 0x5 + createvisualtask sub_8117C44, 5 waitforvisualfinish - createvisualtask sub_8117CA0, 0x5, 0, 1 - delay 0x1 - createvisualtask sub_8117DD8, 0x5, 0 - delay 0x1 + createvisualtask sub_8117CA0, 5, 0, 1 + delay 1 + createvisualtask sub_8117DD8, 5, 0 + delay 1 playsewithpan SE_W082, -64 - createvisualtask sub_8117CA0, 0x5, 1, 0 - delay 0x1 - createsprite gUnknown_08597274, 0x2, 2, 1, 0, 13, RGB(28, 0, 0) - createvisualtask sub_80D51AC, 0x5, 0, 2, 0, 15, 1 + createvisualtask sub_8117CA0, 5, 1, 0 + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 1, 0, 13, RGB(28, 0, 0) + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 2, 0, 15, 1 waitforvisualfinish playsewithpan SE_W172B, -64 - createsprite gUnknown_08596FB0, 0x2, 1, 0, 30, 25, -20 - createsprite gUnknown_08596FB0, 0x2, 1, 32, 30, 25, -20 - createsprite gUnknown_08596FB0, 0x2, 1, 64, 30, 25, -20 - createsprite gUnknown_08596FB0, 0x2, 1, 96, 30, 25, -20 - createsprite gUnknown_08596FB0, 0x2, 1, 128, 30, 25, -20 - createsprite gUnknown_08596FB0, 0x42, 1, 160, 30, 25, -20 - createsprite gUnknown_08596FB0, 0x42, 1, 192, 30, 25, -20 - createsprite gUnknown_08596FB0, 0x42, 1, 224, 30, 25, -20 - delay 0x5 - createsprite gUnknown_08596FB0, 0x2, 1, 0, 30, 25, 0 - createsprite gUnknown_08596FB0, 0x2, 1, 32, 30, 25, 0 - createsprite gUnknown_08596FB0, 0x2, 1, 64, 30, 25, 0 - createsprite gUnknown_08596FB0, 0x2, 1, 96, 30, 25, 0 - createsprite gUnknown_08596FB0, 0x2, 1, 128, 30, 25, 0 - createsprite gUnknown_08596FB0, 0x42, 1, 160, 30, 25, 0 - createsprite gUnknown_08596FB0, 0x42, 1, 192, 30, 25, 0 - createsprite gUnknown_08596FB0, 0x42, 1, 224, 30, 25, 0 - delay 0x5 - createsprite gUnknown_08596FB0, 0x2, 1, 0, 30, 25, 10 - createsprite gUnknown_08596FB0, 0x2, 1, 32, 30, 25, 10 - createsprite gUnknown_08596FB0, 0x2, 1, 64, 30, 25, 10 - createsprite gUnknown_08596FB0, 0x2, 1, 96, 30, 25, 10 - createsprite gUnknown_08596FB0, 0x2, 1, 128, 30, 25, 10 - createsprite gUnknown_08596FB0, 0x42, 1, 160, 30, 25, 10 - createsprite gUnknown_08596FB0, 0x42, 1, 192, 30, 25, 10 - createsprite gUnknown_08596FB0, 0x42, 1, 224, 30, 25, 10 - delay 0x5 + createsprite gUnknown_08596FB0, 2, 1, 0, 30, 25, -20 + createsprite gUnknown_08596FB0, 2, 1, 32, 30, 25, -20 + createsprite gUnknown_08596FB0, 2, 1, 64, 30, 25, -20 + createsprite gUnknown_08596FB0, 2, 1, 96, 30, 25, -20 + createsprite gUnknown_08596FB0, 2, 1, 128, 30, 25, -20 + createsprite gUnknown_08596FB0, 66, 1, 160, 30, 25, -20 + createsprite gUnknown_08596FB0, 66, 1, 192, 30, 25, -20 + createsprite gUnknown_08596FB0, 66, 1, 224, 30, 25, -20 + delay 5 + createsprite gUnknown_08596FB0, 2, 1, 0, 30, 25, 0 + createsprite gUnknown_08596FB0, 2, 1, 32, 30, 25, 0 + createsprite gUnknown_08596FB0, 2, 1, 64, 30, 25, 0 + createsprite gUnknown_08596FB0, 2, 1, 96, 30, 25, 0 + createsprite gUnknown_08596FB0, 2, 1, 128, 30, 25, 0 + createsprite gUnknown_08596FB0, 66, 1, 160, 30, 25, 0 + createsprite gUnknown_08596FB0, 66, 1, 192, 30, 25, 0 + createsprite gUnknown_08596FB0, 66, 1, 224, 30, 25, 0 + delay 5 + createsprite gUnknown_08596FB0, 2, 1, 0, 30, 25, 10 + createsprite gUnknown_08596FB0, 2, 1, 32, 30, 25, 10 + createsprite gUnknown_08596FB0, 2, 1, 64, 30, 25, 10 + createsprite gUnknown_08596FB0, 2, 1, 96, 30, 25, 10 + createsprite gUnknown_08596FB0, 2, 1, 128, 30, 25, 10 + createsprite gUnknown_08596FB0, 66, 1, 160, 30, 25, 10 + createsprite gUnknown_08596FB0, 66, 1, 192, 30, 25, 10 + createsprite gUnknown_08596FB0, 66, 1, 224, 30, 25, 10 + delay 5 waitforvisualfinish - createsprite gUnknown_08597358, 0x83, -5, 3, 1, 0 + createsprite gBasicHitSplatSpriteTemplate, 131, -5, 3, 1, 0 playsewithpan SE_W007, +63 - createvisualtask sub_80D51AC, 0x2, 1, 10, 0, 25, 1 - delay 0x6 - createsprite gUnknown_08597358, 0x83, 8, -5, 1, 0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 10, 0, 25, 1 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, 131, 8, -5, 1, 0 playsewithpan SE_W007, +63 - delay 0x8 - createsprite gUnknown_08597358, 0x83, 10, 10, 1, 0 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 131, 10, 10, 1, 0 playsewithpan SE_W007, +63 - delay 0x8 - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 0 + delay 8 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 0 playsewithpan SE_W007, +63 - createvisualtask sub_8117DD8, 0x5, 1 - delay 0x1 - createsprite gUnknown_08597274, 0x2, 2, -1, 0, 13, RGB(18, 18, 18) - createvisualtask sub_80D51AC, 0x5, 0, 3, 0, 15, 1 + createvisualtask sub_8117DD8, 5, 1 + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, -1, 0, 13, RGB(18, 18, 18) + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 3, 0, 15, 1 waitforvisualfinish - createvisualtask sub_8117D3C, 0x5, 0, 1 - delay 0x1 - createsprite gUnknown_08597274, 0x2, 1, 1, 5, 0, RGB(28, 0, 0) + createvisualtask sub_8117D3C, 5, 0, 1 + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 5, 0, RGB(28, 0, 0) waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff waitforvisualfinish - delay 0xF - createvisualtask sub_8117D3C, 0x5, 1, 0 - delay 0x1 - createsprite gUnknown_08597274, 0x2, 2, 0, 13, 0, RGB(18, 18, 18) + delay 15 + createvisualtask sub_8117D3C, 5, 1, 0 + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 0, 13, 0, RGB(18, 18, 18) waitforvisualfinish - createvisualtask sub_8117C70, 0x5 + createvisualtask sub_8117C70, 5 waitforvisualfinish end Move_HYDRO_CANNON: - loadspritegfx 0x27A5 - loadspritegfx 0x27A4 + loadspritegfx ANIM_TAG_149 + loadspritegfx ANIM_TAG_148 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W057, -64 - createsprite gUnknown_085951C0, 0x82 - delay 0xA - createvisualtask sub_8115F10, 0x2, 257, 257, 257 - delay 0x1E - panse_1B SE_W056, -64, +63, +2, 0x0 - call AnimScript_82D6A50 - createvisualtask sub_80D51AC, 0x5, 1, 10, 0, 40, 1 - createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 - call AnimScript_82D6A50 - createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 - call AnimScript_82D6A50 - createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 - call AnimScript_82D6A50 - createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 - call AnimScript_82D6A50 - createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 - call AnimScript_82D6A50 - createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 + createsprite gUnknown_085951C0, 130 + delay 10 + createvisualtask sub_8115F10, 2, 257, 257, 257 + delay 30 + panse_1B SE_W056, -64, +63, +2, 0 + call HydroCannon1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 10, 0, 40, 1 + createsprite gUnknown_08597388, 130, 0, 0, 1, 0 + call HydroCannon1 + createsprite gUnknown_08597388, 130, 0, 0, 1, 0 + call HydroCannon1 + createsprite gUnknown_08597388, 130, 0, 0, 1, 0 + call HydroCannon1 + createsprite gUnknown_08597388, 130, 0, 0, 1, 0 + call HydroCannon1 + createsprite gUnknown_08597388, 130, 0, 0, 1, 0 + call HydroCannon1 + createsprite gUnknown_08597388, 130, 0, 0, 1, 0 waitforvisualfinish - createvisualtask sub_8115F10, 0x2, 257, 257, 257 + createvisualtask sub_8115F10, 2, 257, 257, 257 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end - -AnimScript_82D6A50: - createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 - delay 0x1 - createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 - delay 0x1 - createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 - delay 0x1 - createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 - delay 0x1 - createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 +HydroCannon1: + createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257 + delay 1 + createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257 + delay 1 + createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257 + delay 1 + createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257 + delay 1 + createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257 return Move_ASTONISH: - loadspritegfx 0x2821 + loadspritegfx ANIM_TAG_273 playsewithpan SE_W227, -64 - createsprite gUnknown_0857FE28, 0x2, 4, 6 - delay 0x19 - createsprite gUnknown_085964E4, 0x85, 0, 1 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 25 + createsprite gUnknown_085964E4, -123, 0, 1 playsewithpan SE_W166, +63 - createsprite gUnknown_085964E4, 0x85, 1, 1 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 5, 1 - createvisualtask sub_8106020, 0x3 + createsprite gUnknown_085964E4, -123, 1, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 + createvisualtask sub_8106020, 3 waitforvisualfinish end Move_SEISMIC_TOSS: - loadspritegfx 0x2797 - loadspritegfx 0x274A - setarg 0x7, 0x0 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_058 + setarg 7, 0 monbg ANIM_DEF_PARTNER - setalpha 0x80C + setalpha 12, 8 waitforvisualfinish - createvisualtask sub_81114EC, 0x3 - delay 0x1 + createvisualtask AnimTask_GetSeismicTossDamageLevel, 3 + delay 1 fadetobg BG_SEISMICTOSS_SKUUPPERCUT waitbgfadeout - createvisualtask sub_811152C, 0x3 + createvisualtask sub_811152C, 3 playsewithpan SE_W327, 0 waitbgfadein waitforvisualfinish - createvisualtask sub_8111590, 0x3 - jumpargeq 0x7, 0x0, AnimScript_82D6B53 - jumpargeq 0x7, 0x1, AnimScript_82D6B64 - jumpargeq 0x7, 0x2, AnimScript_82D6B7C - -AnimScript_82D6B48: + createvisualtask sub_8111590, 3 + jumpreteq 0, SeismicTossWeak + jumpreteq 1, SeismicTossMedium + jumpreteq 2, SeismicTossStrong +SeismicTossContinue: restorebg waitbgfadeout - setarg 0x7, 0xFFF + setarg 7, 0xFFF waitbgfadein clearmonbg ANIM_DEF_PARTNER blendoff end - -AnimScript_82D6B53: - call AnimScript_82D6B9B - delay 0x10 - call AnimScript_82D6BFC - goto AnimScript_82D6B48 - -AnimScript_82D6B64: - call AnimScript_82D6B9B - delay 0xE - call AnimScript_82D6BFC - delay 0xE - call AnimScript_82D6B9B - goto AnimScript_82D6B48 - -AnimScript_82D6B7C: - call AnimScript_82D6BFC - delay 0xA - call AnimScript_82D6B9B - delay 0xA - call AnimScript_82D6BFC - delay 0xA - call AnimScript_82D6B9B - goto AnimScript_82D6B48 - -AnimScript_82D6B9B: - createsprite gUnknown_08597358, 0x83, -10, -8, 1, 1 +SeismicTossWeak: + call SeismicToss1 + delay 16 + call SeismicToss2 + goto SeismicTossContinue +SeismicTossMedium: + call SeismicToss1 + delay 14 + call SeismicToss2 + delay 14 + call SeismicToss1 + goto SeismicTossContinue +SeismicTossStrong: + call SeismicToss2 + delay 10 + call SeismicToss1 + delay 10 + call SeismicToss2 + delay 10 + call SeismicToss1 + goto SeismicTossContinue +SeismicToss1: + createsprite gBasicHitSplatSpriteTemplate, 131, -10, -8, 1, 1 playsewithpan SE_W070, +63 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 5, 1 - createsprite gUnknown_08596CB0, 0x82, -12, 27, 2, 3 - createsprite gUnknown_08596CB0, 0x82, 8, 28, 3, 4 - createsprite gUnknown_08596CB0, 0x82, -4, 30, 2, 3 - createsprite gUnknown_08596CB0, 0x82, 12, 25, 4, 4 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 5, 1 + createsprite gUnknown_08596CB0, 130, -12, 27, 2, 3 + createsprite gUnknown_08596CB0, 130, 8, 28, 3, 4 + createsprite gUnknown_08596CB0, 130, -4, 30, 2, 3 + createsprite gUnknown_08596CB0, 130, 12, 25, 4, 4 return - -AnimScript_82D6BFC: - createsprite gUnknown_08597358, 0x83, 10, -8, 1, 1 +SeismicToss2: + createsprite gBasicHitSplatSpriteTemplate, 131, 10, -8, 1, 1 playsewithpan SE_W088, +63 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 5, 1 - createsprite gUnknown_08596CB0, 0x82, -12, 32, 3, 4 - createsprite gUnknown_08596CB0, 0x82, 8, 31, 2, 2 - createsprite gUnknown_08596CB0, 0x82, -4, 28, 2, 3 - createsprite gUnknown_08596CB0, 0x82, 12, 30, 4, 3 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 5, 1 + createsprite gUnknown_08596CB0, 130, -12, 32, 3, 4 + createsprite gUnknown_08596CB0, 130, 8, 31, 2, 2 + createsprite gUnknown_08596CB0, 130, -4, 28, 2, 3 + createsprite gUnknown_08596CB0, 130, 12, 30, 4, 3 return Move_MAGIC_COAT: - loadspritegfx 0x27BA - setalpha 0x1000 - waitplaysewithpan SE_W112, -64, 0xF - createsprite gUnknown_085965C0, 0x3, 40, 0, 10170 + loadspritegfx ANIM_TAG_170 + setalpha 0, 16 + waitplaysewithpan SE_W112, -64, 15 + createsprite gUnknown_085965C0, 3, 40, 0, 10170 waitforvisualfinish - delay 0x1 + delay 1 blendoff end Move_WATER_PULSE: - loadspritegfx 0x27AB - loadspritegfx 0x2830 + loadspritegfx ANIM_TAG_155 + loadspritegfx ANIM_TAG_288 monbg ANIM_TARGET monbgprio_28 ANIM_TARGET playsewithpan SE_W145C, -64 - createsprite gUnknown_08597274, 0x2, 1, 0, 0, 7, RGB(0, 25, 28) - delay 0xA - createsprite gUnknown_085952F8, 0x42, 100, 100, 8, 1, 20, 40, 0 - createsprite gUnknown_085952F8, 0x42, 20, 100, 16, 2, 10, 35, 1 - createsprite gUnknown_085952F8, 0x42, 200, 80, 8, 1, 40, 20, 0 - createsprite gUnknown_085952F8, 0x42, 80, 60, 10, 3, 20, 50, 0 - createsprite gUnknown_085952F8, 0x42, 140, 100, 16, 1, 20, 30, 1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 0, 7, RGB(0, 25, 28) + delay 10 + createsprite gUnknown_085952F8, 66, 100, 100, 8, 1, 20, 40, 0 + createsprite gUnknown_085952F8, 66, 20, 100, 16, 2, 10, 35, 1 + createsprite gUnknown_085952F8, 66, 200, 80, 8, 1, 40, 20, 0 + createsprite gUnknown_085952F8, 66, 80, 60, 10, 3, 20, 50, 0 + createsprite gUnknown_085952F8, 66, 140, 100, 16, 1, 20, 30, 1 playsewithpan SE_W145C, +63 waitforvisualfinish playsewithpan SE_W202, -64 - createsprite gUnknown_08593470, 0x82, 0, 0, 40, 15 - delay 0x5 + createsprite gUnknown_08593470, 130, 0, 0, 40, 15 + delay 5 playsewithpan SE_W202, -64 - createsprite gUnknown_08593470, 0x82, 0, 0, 40, 15 - delay 0x5 + createsprite gUnknown_08593470, 130, 0, 0, 40, 15 + delay 5 playsewithpan SE_W202, -64 - createsprite gUnknown_08593470, 0x82, 0, 0, 40, 15 - delay 0xD - createvisualtask sub_80D51AC, 0x2, 1, 0, 8, 18, 1 + createsprite gUnknown_08593470, 130, 0, 0, 40, 15 + delay 13 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 8, 18, 1 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 1, 7, 0, RGB(0, 25, 28) + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 7, 0, RGB(0, 25, 28) waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end Move_PSYCHO_BOOST: - loadspritegfx 0x27E4 + loadspritegfx ANIM_TAG_212 monbg ANIM_ATK_PARTNER fadetobg BG_PSYCHIC waitbgfadeout - createvisualtask sub_815A5C8, 0x5 + createvisualtask sub_815A5C8, 5 waitbgfadein - delay 0x6 - createvisualtask sub_8115A04, 0x2, 1, 2, 8, 0, 10, 0 - delay 0x0 + delay 6 + createvisualtask sub_8115A04, 2, 1, 2, 8, 0, 10, RGB_BLACK + delay 0 monbgprio_28 ANIM_ATTACKER - setalpha 0x808 - delay 0xA - createvisualtask sub_80D51AC, 0x2, 0, 3, 0, 240, 0 - loopsewithpan SE_W060B, -64, 0xE, 0xA - createsprite gUnknown_08596920, 0x2 - delay 0x6E - loopsewithpan SE_W060B, -64, 0x7, 0xA + setalpha 8, 8 + delay 10 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 3, 0, 240, 0 + loopsewithpan SE_W060B, -64, 14, 10 + createsprite gUnknown_08596920, 2 + delay 110 + loopsewithpan SE_W060B, -64, 7, 10 waitforvisualfinish - createvisualtask sub_80D52D0, 0x2, 1, -8, 1, 24, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, -8, 1, 24, 1 playsewithpan SE_W043, +63 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff - call AnimScript_82D7CDD + call UnsetPsychicBackground end Move_KNOCK_OFF: - loadspritegfx 0x2825 - loadspritegfx 0x2797 - createsprite gUnknown_0857FE28, 0x2, 4, 6 - delay 0x4 + loadspritegfx ANIM_TAG_277 + loadspritegfx ANIM_TAG_135 + createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6 + delay 4 playsewithpan SE_W233, +63 - createsprite gUnknown_085CE984, 0x82, -16, -16 - delay 0x8 - createsprite gUnknown_0859728C, 0x2, 31, 5, 1, 0x7FFF, 10, 0, 0 - createsprite gUnknown_08597358, 0x83, 0, 0, 1, 2 + createsprite gUnknown_085CE984, 130, -16, -16 + delay 8 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 2 playsewithpan SE_W004, +63 - createsprite gUnknown_0857FE70, 0x2, 1, -12, 10, 0, 3 - createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 - delay 0x3 - createvisualtask sub_80D5484, 0x2, 1, 0, 3, 6, 1 - delay 0x5 - createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 - delay 0xA + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -12, 10, 0, 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5 + delay 3 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 0, 3, 6, 1 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 + delay 10 waitforvisualfinish end Move_DOOM_DESIRE: - createvisualtask sub_8114960, 0x2 - delay 0x1 + createvisualtask sub_8114960, 2 + delay 1 monbg ANIM_ATK_PARTNER - createvisualtask sub_811489C, 0x5, 1, 0 - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 4, 0 + createvisualtask sub_811489C, 5, 1, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 4, RGB_BLACK waitforvisualfinish - setalpha 0x808 + setalpha 8, 8 playsewithpan SE_W060, -64 - createvisualtask sub_80D6064, 0x5, -4, -4, 15, 0, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1 waitforvisualfinish - delay 0x14 - createvisualtask sub_811489C, 0x5, 1, 1 - createsprite gUnknown_08597274, 0x2, 1, 1, 4, 0, 0 + delay 20 + createvisualtask sub_811489C, 5, 1, 1 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 4, 0, RGB_BLACK waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff end Move_SKY_UPPERCUT: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET fadetobg BG_SEISMICTOSS_SKUUPPERCUT waitbgfadeout playsewithpan SE_W327, -64 - createvisualtask sub_810DABC, 0x5, 55 + createvisualtask sub_810DABC, 5, 55 waitbgfadein - setalpha 0x80C - delay 0x26 - createsprite gUnknown_0857FE70, 0x2, 0, 28, 0, 0, 5 - delay 0x4 - createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 6, 1 + setalpha 12, 8 + delay 38 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 28, 0, 0, 5 + delay 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 6, 1 playsewithpan SE_W233B, +63 - createsprite gUnknown_08597358, 0x83, -28, 28, 1, 1 - delay 0x1 + createsprite gBasicHitSplatSpriteTemplate, 131, -28, 28, 1, 1 + delay 1 playsewithpan SE_W233B, +63 - createsprite gUnknown_08597358, 0x83, -15, 8, 1, 1 + createsprite gBasicHitSplatSpriteTemplate, 131, -15, 8, 1, 1 playsewithpan SE_W233B, +63 - delay 0x1 + delay 1 playsewithpan SE_W233B, +63 - createsprite gUnknown_08597358, 0x83, -5, -12, 1, 1 - delay 0x1 + createsprite gBasicHitSplatSpriteTemplate, 131, -5, -12, 1, 1 + delay 1 playsewithpan SE_W233B, +63 - createsprite gUnknown_08597358, 0x83, 0, -32, 1, 1 - delay 0x1 + createsprite gBasicHitSplatSpriteTemplate, 131, 0, -32, 1, 1 + delay 1 playsewithpan SE_W233B, +63 - createsprite gUnknown_08597358, 0x83, 5, -52, 1, 1 - createsprite gUnknown_0857FE70, 0x2, 1, -26, 16, 1, 4 - delay 0x4 - createvisualtask sub_80D5484, 0x2, 1, 0, 3, 6, 1 - delay 0x1E - createsprite gUnknown_0857FE58, 0x2, 0, 0, 6 - delay 0x4 - createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 + createsprite gBasicHitSplatSpriteTemplate, 131, 5, -52, 1, 1 + createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -26, 16, 1, 4 + delay 4 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 0, 3, 6, 1 + delay 30 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6 + delay 4 + createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6 clearmonbg ANIM_DEF_PARTNER blendoff restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein end Move_SECRET_POWER: - createvisualtask sub_8117C24, 0x5 - jumpargeq 0x0, 0x0, Move_NEEDLE_ARM - jumpargeq 0x0, 0x1, Move_MAGICAL_LEAF - jumpargeq 0x0, 0x2, Move_MUD_SHOT - jumpargeq 0x0, 0x3, Move_WATERFALL - jumpargeq 0x0, 0x4, Move_SURF - jumpargeq 0x0, 0x5, Move_BUBBLE_BEAM - jumpargeq 0x0, 0x6, Move_ROCK_THROW - jumpargeq 0x0, 0x7, Move_BITE - jumpargeq 0x0, 0x8, Move_STRENGTH + createvisualtask AnimTask_GetBattleTerrain, 5 + jumpargeq 0, BATTLE_TERRAIN_GRASS, Move_NEEDLE_ARM + jumpargeq 0, BATTLE_TERRAIN_LONG_GRASS, Move_MAGICAL_LEAF + jumpargeq 0, BATTLE_TERRAIN_SAND, Move_MUD_SHOT + jumpargeq 0, BATTLE_TERRAIN_UNDERWATER, Move_WATERFALL + jumpargeq 0, BATTLE_TERRAIN_WATER, Move_SURF + jumpargeq 0, BATTLE_TERRAIN_POND, Move_BUBBLE_BEAM + jumpargeq 0, BATTLE_TERRAIN_MOUNTAIN, Move_ROCK_THROW + jumpargeq 0, BATTLE_TERRAIN_CAVE, Move_BITE + jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_STRENGTH goto Move_SLAM Move_TWISTER: - loadspritegfx 0x274F - loadspritegfx 0x2797 - loadspritegfx 0x274A + loadspritegfx ANIM_TAG_063 + loadspritegfx ANIM_TAG_135 + loadspritegfx ANIM_TAG_058 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET playsewithpan SE_W239, +63 - createsprite gUnknown_085923A8, 0x82, 120, 70, 5, 70, 30 - delay 0x1 - createsprite gUnknown_085923A8, 0x82, 115, 55, 6, 60, 25 - delay 0x1 - createsprite gUnknown_085923A8, 0x82, 115, 60, 7, 60, 30 - createsprite gUnknown_085923A8, 0x82, 115, 55, 10, 60, 30 - delay 0x3 - createsprite gUnknown_08596CC8, 0x82, 100, 50, 4, 50, 26 - delay 0x1 - createsprite gUnknown_085923A8, 0x82, 105, 25, 8, 60, 20 - delay 0x1 - createsprite gUnknown_085923A8, 0x82, 115, 40, 10, 48, 30 - delay 0x3 - createsprite gUnknown_08596CC8, 0x82, 120, 30, 6, 45, 25 - createsprite gUnknown_085923A8, 0x82, 115, 35, 10, 60, 30 - delay 0x3 - createsprite gUnknown_08596CC8, 0x82, 105, 20, 8, 40, 0 - delay 0x3 - createsprite gUnknown_085923A8, 0x82, 20, 255, 15, 32, 0 - createsprite gUnknown_085923A8, 0x82, 110, 10, 8, 32, 20 + createsprite gUnknown_085923A8, 130, 120, 70, 5, 70, 30 + delay 1 + createsprite gUnknown_085923A8, 130, 115, 55, 6, 60, 25 + delay 1 + createsprite gUnknown_085923A8, 130, 115, 60, 7, 60, 30 + createsprite gUnknown_085923A8, 130, 115, 55, 10, 60, 30 + delay 3 + createsprite gUnknown_08596CC8, 130, 100, 50, 4, 50, 26 + delay 1 + createsprite gUnknown_085923A8, 130, 105, 25, 8, 60, 20 + delay 1 + createsprite gUnknown_085923A8, 130, 115, 40, 10, 48, 30 + delay 3 + createsprite gUnknown_08596CC8, 130, 120, 30, 6, 45, 25 + createsprite gUnknown_085923A8, 130, 115, 35, 10, 60, 30 + delay 3 + createsprite gUnknown_08596CC8, 130, 105, 20, 8, 40, 0 + delay 3 + createsprite gUnknown_085923A8, 130, 20, 255, 15, 32, 0 + createsprite gUnknown_085923A8, 130, 110, 10, 8, 32, 20 waitforvisualfinish - createsprite gUnknown_08597358, 0x83, -32, -16, 1, 3 + createsprite gBasicHitSplatSpriteTemplate, 131, -32, -16, 1, 3 playsewithpan SE_W004, +63 - createvisualtask sub_80D5484, 0x2, 1, 3, 0, 12, 1 - createvisualtask sub_80D5484, 0x2, 3, 3, 0, 12, 1 - delay 0x4 - createsprite gUnknown_085973A0, 0x83, 1, 3 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_DEF_PARTNER, 3, 0, 12, 1 + delay 4 + createsprite gUnknown_085973A0, 131, 1, 3 playsewithpan SE_W004, +63 - delay 0x4 - createsprite gUnknown_085973A0, 0x83, 1, 3 + delay 4 + createsprite gUnknown_085973A0, 131, 1, 3 playsewithpan SE_W004, +63 - delay 0x4 - createsprite gUnknown_08597358, 0x83, 32, 20, 1, 3 + delay 4 + createsprite gBasicHitSplatSpriteTemplate, 131, 32, 20, 1, 3 playsewithpan SE_W004, +63 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -9840,1098 +9689,1059 @@ Move_TWISTER: end Move_MAGICAL_LEAF: - loadspritegfx 0x274F - loadspritegfx 0x27B0 - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_063 + loadspritegfx ANIM_TAG_160 + loadspritegfx ANIM_TAG_135 monbg ANIM_DEF_PARTNER - setalpha 0x80C - delay 0x1 - loopsewithpan SE_W077, -64, 0xA, 0x5 - createvisualtask sub_81007C4, 0x5 - createsprite gUnknown_08592390, 0x2, -3, -2, 10 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -1, -1, 15 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -4, -4, 7 - delay 0x2 - createsprite gUnknown_08592390, 0x2, 3, -3, 11 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -1, -6, 8 - delay 0x2 - createsprite gUnknown_08592390, 0x2, 2, -1, 12 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -3, -4, 13 - delay 0x2 - createsprite gUnknown_08592390, 0x2, 4, -5, 7 - delay 0x2 - createsprite gUnknown_08592390, 0x2, 2, -6, 11 - delay 0x2 - createsprite gUnknown_08592390, 0x2, -3, -5, 8 - delay 0x3C + setalpha 12, 8 + delay 1 + loopsewithpan SE_W077, -64, 10, 5 + createvisualtask sub_81007C4, 5 + createsprite gUnknown_08592390, 2, -3, -2, 10 + delay 2 + createsprite gUnknown_08592390, 2, -1, -1, 15 + delay 2 + createsprite gUnknown_08592390, 2, -4, -4, 7 + delay 2 + createsprite gUnknown_08592390, 2, 3, -3, 11 + delay 2 + createsprite gUnknown_08592390, 2, -1, -6, 8 + delay 2 + createsprite gUnknown_08592390, 2, 2, -1, 12 + delay 2 + createsprite gUnknown_08592390, 2, -3, -4, 13 + delay 2 + createsprite gUnknown_08592390, 2, 4, -5, 7 + delay 2 + createsprite gUnknown_08592390, 2, 2, -6, 11 + delay 2 + createsprite gUnknown_08592390, 2, -3, -5, 8 + delay 60 playsewithpan SE_W013B, -64 - createsprite gUnknown_085923D8, 0x83, 20, -10, 20, 0, 32, 20, 0 - createsprite gUnknown_085923D8, 0x83, 20, -10, 20, 0, 32, -20, 0 - delay 0x1E + createsprite gUnknown_085923D8, 131, 20, -10, 20, 0, 32, 20, 0 + createsprite gUnknown_085923D8, 131, 20, -10, 20, 0, 32, -20, 0 + delay 30 playsewithpan SE_W013, +63 - createsprite gUnknown_08597358, 0x84, -10, -4, 1, 2 - createsprite gUnknown_08597358, 0x84, 10, 4, 1, 2 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 - delay 0x14 - setarg 0x7, 0xFFFF + createsprite gBasicHitSplatSpriteTemplate, 132, -10, -4, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, 132, 10, 4, 1, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 + delay 20 + setarg 7, -1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end Move_ICE_BALL: - loadspritegfx 0x273B - loadspritegfx 0x279D - createvisualtask sub_810CDFC, 0x5, 0 - jumpargeq 0x0, 0x4, AnimScript_82D731B - -AnimScript_82D72BB: + loadspritegfx ANIM_TAG_ICE_CHUNK + loadspritegfx ANIM_TAG_141 + createvisualtask AnimTask_GetRolloutCounter, 5, 0 + jumpargeq 0, 4, IceBallSetIceBg +IceBallContinue: playsewithpan SE_W196, -64 - createsprite gUnknown_08595DE4, 0x82, 15, 0, -12, -16, 30, -40 - delay 0x1C + createsprite gUnknown_08595DE4, 130, 15, 0, -12, -16, 30, -40 + delay 28 playsewithpan SE_W280, +63 - createvisualtask sub_810CDFC, 0x5, 0 - jumpargeq 0x0, 0x0, AnimScript_82D732C - jumpargeq 0x0, 0x1, AnimScript_82D735B - jumpargeq 0x0, 0x2, AnimScript_82D7394 - jumpargeq 0x0, 0x3, AnimScript_82D73D7 - jumpargeq 0x0, 0x4, AnimScript_82D741F - -AnimScript_82D7309: - createvisualtask sub_810CDFC, 0x5, 0 - jumpargeq 0x0, 0x4, AnimScript_82D7322 - -AnimScript_82D731A: + createvisualtask AnimTask_GetRolloutCounter, 5, 0 + jumpargeq 0, 0, IceBallWeakest + jumpargeq 0, 1, IceBallWeak + jumpargeq 0, 2, IceBallMediun + jumpargeq 0, 3, IceBallStrong + jumpargeq 0, 4, IceBallStrongest +IceBallContinue2: + createvisualtask AnimTask_GetRolloutCounter, 5, 0 + jumpargeq 0, 4, IceBallUnsetIceBg +IceBallEnd: end - -AnimScript_82D731B: +IceBallSetIceBg: fadetobg BG_ICE - goto AnimScript_82D72BB - -AnimScript_82D7322: + goto IceBallContinue +IceBallUnsetIceBg: waitbgfadein - delay 0x2D + delay 45 restorebg waitbgfadein - goto AnimScript_82D731A - -AnimScript_82D732C: - createvisualtask sub_80D6388, 0x2, 0, 1, 8, 1, 0 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - goto AnimScript_82D7309 - -AnimScript_82D735B: - createvisualtask sub_80D6388, 0x2, 0, 1, 10, 1, 0 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - goto AnimScript_82D7309 - -AnimScript_82D7394: - createvisualtask sub_80D6388, 0x2, 0, 1, 14, 1, 0 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - goto AnimScript_82D7309 - -AnimScript_82D73D7: - createvisualtask sub_80D6388, 0x2, 0, 1, 18, 1, 0 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - goto AnimScript_82D7309 - -AnimScript_82D741F: - createvisualtask sub_80D6388, 0x2, 0, 1, 30, 1, 0 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - call AnimScript_82D7467 - goto AnimScript_82D7309 - -AnimScript_82D7467: - createsprite gUnknown_08595DFC, 0x84, -12, -16 + goto IceBallEnd +IceBallWeakest: + createvisualtask sub_80D6388, 2, 0, 1, 8, 1, 0 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + goto IceBallContinue2 +IceBallWeak: + createvisualtask sub_80D6388, 2, 0, 1, 10, 1, 0 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + goto IceBallContinue2 +IceBallMediun: + createvisualtask sub_80D6388, 2, 0, 1, 14, 1, 0 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + goto IceBallContinue2 +IceBallStrong: + createvisualtask sub_80D6388, 2, 0, 1, 18, 1, 0 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + goto IceBallContinue2 +IceBallStrongest: + createvisualtask sub_80D6388, 2, 0, 1, 30, 1, 0 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + call IceBall1 + goto IceBallContinue2 +IceBall1: + createsprite gUnknown_08595DFC, 132, -12, -16 return Move_WEATHER_BALL: - loadspritegfx 0x282B - createsprite gUnknown_0857FE40, 0x2, 8, 1, 0 - delay 0x8 + loadspritegfx ANIM_TAG_283 + createsprite gVerticalDipSpriteTemplate, 2, 8, 1, ANIM_ATTACKER + delay 8 playsewithpan SE_W207, -64 - createsprite gUnknown_0853EE38, 0x2 + createsprite gUnknown_0853EE38, 2 waitforvisualfinish - delay 0xF + delay 15 playsewithpan SE_W197, 0 - createsprite gUnknown_0859728C, 0x2, 31, 5, 1, 0x7FFF, 10, 0, 0 + createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0 waitforvisualfinish - createvisualtask sub_81604F0, 0x2 - delay 0x1 - jumpargeq 0x7, 0x0, AnimScript_82D74DE - jumpargeq 0x7, 0x1, AnimScript_82D751B - jumpargeq 0x7, 0x2, AnimScript_82D757F - jumpargeq 0x7, 0x3, AnimScript_82D75E3 - jumpargeq 0x7, 0x4, AnimScript_82D7683 - -AnimScript_82D74DE: - loadspritegfx 0x2797 - createsprite gUnknown_0853EE50, 0x82, -30, -100, 25, 1, 0, 0 + createvisualtask AnimTask_GetWeather, 2 + delay 1 + jumpreteq ANIM_WEATHER_NONE, WeatherBallNormal + jumpreteq ANIM_WEATHER_SUN, WeatherBallFire + jumpreteq ANIM_WEATHER_RAIN, WeatherBallWater + jumpreteq ANIM_WEATHER_SANDSTORM, WeatherBallSandstorm + jumpreteq ANIM_WEATHER_HAIL, WeatherBallIce +WeatherBallNormal: + loadspritegfx ANIM_TAG_135 + createsprite gUnknown_0853EE50, 130, -30, -100, 25, 1, 0, 0 waitforvisualfinish playsewithpan SE_W025B, +63 - createsprite gUnknown_08597358, 0x84, -10, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 8, 1 + createsprite gBasicHitSplatSpriteTemplate, 132, -10, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 8, 1 waitforvisualfinish end - -AnimScript_82D751B: - loadspritegfx 0x272D - createsprite gUnknown_0859559C, 0x82, -30, -100, 25, 1, 40, 10 +WeatherBallFire: + loadspritegfx ANIM_TAG_SMALL_EMBER + createsprite gUnknown_0859559C, 130, -30, -100, 25, 1, 40, 10 playsewithpan SE_W172, +63 - delay 0xA - createsprite gUnknown_0859559C, 0x82, -30, -100, 25, 1, -40, 20 + delay 10 + createsprite gUnknown_0859559C, 130, -30, -100, 25, 1, -40, 20 playsewithpan SE_W172, +63 - delay 0xA - createsprite gUnknown_0859559C, 0x82, -30, -100, 25, 1, 0, 0 + delay 10 + createsprite gUnknown_0859559C, 130, -30, -100, 25, 1, 0, 0 playsewithpan SE_W172, +63 waitforvisualfinish playsewithpan SE_W172B, +63 - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 8, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 8, 1 waitforvisualfinish end - -AnimScript_82D757F: - loadspritegfx 0x27AB - createsprite gUnknown_08595328, 0x82, -30, -100, 25, 1, 50, 10 +WeatherBallWater: + loadspritegfx ANIM_TAG_155 + createsprite gUnknown_08595328, 130, -30, -100, 25, 1, 50, 10 playsewithpan SE_W152, +63 - delay 0x8 - createsprite gUnknown_08595328, 0x82, -30, -100, 25, 1, -20, 20 + delay 8 + createsprite gUnknown_08595328, 130, -30, -100, 25, 1, -20, 20 playsewithpan SE_W152, +63 - delay 0xD - createsprite gUnknown_08595328, 0x82, -30, -100, 25, 1, 0, 0 + delay 13 + createsprite gUnknown_08595328, 130, -30, -100, 25, 1, 0, 0 playsewithpan SE_W152, +63 waitforvisualfinish - createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 8, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 8, 1 playsewithpan SE_W202, +63 waitforvisualfinish end - -AnimScript_82D75E3: - loadspritegfx 0x274A - createsprite gUnknown_08596CE0, 0x82, -30, -100, 25, 1, 30, 0 +WeatherBallSandstorm: + loadspritegfx ANIM_TAG_058 + createsprite gUnknown_08596CE0, 130, -30, -100, 25, 1, 30, 0 playsewithpan SE_W088, +63 - delay 0x5 - createsprite gUnknown_08596CE0, 0x82, -30, -100, 25, 1, -40, 20 + delay 5 + createsprite gUnknown_08596CE0, 130, -30, -100, 25, 1, -40, 20 playsewithpan SE_W088, +63 - delay 0xE - createsprite gUnknown_08596CE0, 0x82, -30, -100, 25, 1, 0, 0 + delay 14 + createsprite gUnknown_08596CE0, 130, -30, -100, 25, 1, 0, 0 playsewithpan SE_W088, +63 waitforvisualfinish playsewithpan SE_W070, +63 - createsprite gUnknown_08596CB0, 0x82, -12, 27, 2, 3 - createsprite gUnknown_08596CB0, 0x82, 8, 28, 3, 4 - createsprite gUnknown_08596CB0, 0x82, -4, 30, 2, 3 - createsprite gUnknown_08596CB0, 0x82, 12, 25, 4, 4 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + createsprite gUnknown_08596CB0, 130, -12, 27, 2, 3 + createsprite gUnknown_08596CB0, 130, 8, 28, 3, 4 + createsprite gUnknown_08596CB0, 130, -4, 30, 2, 3 + createsprite gUnknown_08596CB0, 130, 12, 25, 4, 4 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 waitforvisualfinish end - -AnimScript_82D7683: - loadspritegfx 0x2817 - loadspritegfx 0x279D - createsprite gUnknown_08595D44, 0x82, -30, -100, 25, 25, -40, 20 +WeatherBallIce: + loadspritegfx ANIM_TAG_263 + loadspritegfx ANIM_TAG_141 + createsprite gUnknown_08595D44, 130, -30, -100, 25, 25, -40, 20 playsewithpan SE_W258, +63 - delay 0xA - createsprite gUnknown_08595D44, 0x82, -30, -100, 25, 25, 40, 0 + delay 10 + createsprite gUnknown_08595D44, 130, -30, -100, 25, 25, 40, 0 playsewithpan SE_W258, +63 - delay 0xA - createsprite gUnknown_08595D44, 0x82, -30, -100, 25, 25, 0, 0 + delay 10 + createsprite gUnknown_08595D44, 130, -30, -100, 25, 25, 0, 0 playsewithpan SE_W258, +63 waitforvisualfinish - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 playsewithpan SE_W196, +63 - call AnimScript_82D7720 + call FreezeEffect1 waitforvisualfinish end Move_COUNT: - loadspritegfx 0x2797 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W003, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end -AnimScript_82D7720: - createsprite gUnknown_08595B68, 0x82, -10, -10, 0 +FreezeEffect1: + createsprite gUnknown_08595B68, 130, -10, -10, 0 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, 10, 20, 0 + delay 4 + createsprite gUnknown_08595B80, 130, 10, 20, 0 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B68, 0x82, -5, 10, 0 + delay 4 + createsprite gUnknown_08595B68, 130, -5, 10, 0 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, 17, -12, 0 + delay 4 + createsprite gUnknown_08595B80, 130, 17, -12, 0 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, -15, 15, 0 + delay 4 + createsprite gUnknown_08595B80, 130, -15, 15, 0 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, 0, 0, 0 + delay 4 + createsprite gUnknown_08595B80, 130, 0, 0, 0 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B68, 0x82, 20, 2, 0 + delay 4 + createsprite gUnknown_08595B68, 130, 20, 2, 0 playsewithpan SE_W196, +63 return -AnimScript_82D77A4: - createsprite gUnknown_08595B68, 0x82, -10, -10, 1 +FreezeEffect2: + createsprite gUnknown_08595B68, 130, -10, -10, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, 10, 20, 1 + delay 4 + createsprite gUnknown_08595B80, 130, 10, 20, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B68, 0x82, -29, 0, 1 + delay 4 + createsprite gUnknown_08595B68, 130, -29, 0, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, 29, -20, 1 + delay 4 + createsprite gUnknown_08595B80, 130, 29, -20, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B68, 0x82, -5, 10, 1 + delay 4 + createsprite gUnknown_08595B68, 130, -5, 10, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, 17, -12, 1 + delay 4 + createsprite gUnknown_08595B80, 130, 17, -12, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B68, 0x82, -20, 0, 1 + delay 4 + createsprite gUnknown_08595B68, 130, -20, 0, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, -15, 15, 1 + delay 4 + createsprite gUnknown_08595B80, 130, -15, 15, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, 26, -5, 1 + delay 4 + createsprite gUnknown_08595B80, 130, 26, -5, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B80, 0x82, 0, 0, 1 + delay 4 + createsprite gUnknown_08595B80, 130, 0, 0, 1 playsewithpan SE_W196, +63 - delay 0x4 - createsprite gUnknown_08595B68, 0x82, 20, 2, 1 + delay 4 + createsprite gUnknown_08595B68, 130, 20, 2, 1 playsewithpan SE_W196, +63 return -AnimScript_82D7874: - loopsewithpan SE_W196, +63, 0x6, 0x4 - createsprite gUnknown_08595C04, 0x82, 0, 24, 0 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 8, 24, 0 - createsprite gUnknown_08595C04, 0x82, -8, 24, 0 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 16, 24, 0 - createsprite gUnknown_08595C04, 0x82, -16, 24, 0 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 24, 24, 0 - createsprite gUnknown_08595C04, 0x82, -24, 24, 0 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 32, 24, 0 - createsprite gUnknown_08595C04, 0x82, -32, 24, 0 +IcyWindEffect1: @ Unused + loopsewithpan SE_W196, +63, 6, 4 + createsprite gUnknown_08595C04, 130, 0, 24, 0 + delay 4 + createsprite gUnknown_08595C04, 130, 8, 24, 0 + createsprite gUnknown_08595C04, 130, -8, 24, 0 + delay 4 + createsprite gUnknown_08595C04, 130, 16, 24, 0 + createsprite gUnknown_08595C04, 130, -16, 24, 0 + delay 4 + createsprite gUnknown_08595C04, 130, 24, 24, 0 + createsprite gUnknown_08595C04, 130, -24, 24, 0 + delay 4 + createsprite gUnknown_08595C04, 130, 32, 24, 0 + createsprite gUnknown_08595C04, 130, -32, 24, 0 return -AnimScript_82D78F8: - loopsewithpan SE_W196, +63, 0x6, 0x4 - createsprite gUnknown_08595C04, 0x82, 0, 24, 1 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 8, 24, 1 - createsprite gUnknown_08595C04, 0x82, -8, 24, 1 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 16, 24, 1 - createsprite gUnknown_08595C04, 0x82, -16, 24, 1 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 24, 24, 1 - createsprite gUnknown_08595C04, 0x82, -24, 24, 1 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 32, 24, 1 - createsprite gUnknown_08595C04, 0x82, -32, 24, 1 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 40, 24, 1 - createsprite gUnknown_08595C04, 0x82, -40, 24, 1 - delay 0x4 - createsprite gUnknown_08595C04, 0x82, 48, 24, 1 - createsprite gUnknown_08595C04, 0x82, -48, 24, 1 +IcyWindEffect2: + loopsewithpan SE_W196, +63, 6, 4 + createsprite gUnknown_08595C04, 130, 0, 24, 1 + delay 4 + createsprite gUnknown_08595C04, 130, 8, 24, 1 + createsprite gUnknown_08595C04, 130, -8, 24, 1 + delay 4 + createsprite gUnknown_08595C04, 130, 16, 24, 1 + createsprite gUnknown_08595C04, 130, -16, 24, 1 + delay 4 + createsprite gUnknown_08595C04, 130, 24, 24, 1 + createsprite gUnknown_08595C04, 130, -24, 24, 1 + delay 4 + createsprite gUnknown_08595C04, 130, 32, 24, 1 + createsprite gUnknown_08595C04, 130, -32, 24, 1 + delay 4 + createsprite gUnknown_08595C04, 130, 40, 24, 1 + createsprite gUnknown_08595C04, 130, -40, 24, 1 + delay 4 + createsprite gUnknown_08595C04, 130, 48, 24, 1 + createsprite gUnknown_08595C04, 130, -48, 24, 1 return -AnimScript_82D79B4: - createsprite gUnknown_08592B7C, 0x2, -15, 0, 0, 0, 32, 60 - delay 0x8 - createsprite gUnknown_08592B7C, 0x2, 12, -5, 0, 0, 32, 60 - delay 0x8 +GrantingStarsEffect: + createsprite gUnknown_08592B7C, 2, -15, 0, 0, 0, 32, 60 + delay 8 + createsprite gUnknown_08592B7C, 2, 12, -5, 0, 0, 32, 60 + delay 8 return -AnimScript_82D79DF: +HealingEffect: playsewithpan SE_W071B, -64 - createsprite gUnknown_08592F2C, 0x2, 0, -5, 0, 0 - delay 0x7 - createsprite gUnknown_08592F2C, 0x2, -15, 10, 0, 0 - delay 0x7 - createsprite gUnknown_08592F2C, 0x2, -15, -15, 0, 0 - delay 0x7 - createsprite gUnknown_08592F2C, 0x2, 10, -5, 0, 0 - delay 0x7 + createsprite gUnknown_08592F2C, 2, 0, -5, 0, 0 + delay 7 + createsprite gUnknown_08592F2C, 2, -15, 10, 0, 0 + delay 7 + createsprite gUnknown_08592F2C, 2, -15, -15, 0, 0 + delay 7 + createsprite gUnknown_08592F2C, 2, 10, -5, 0, 0 + delay 7 return -AnimScript_82D7A28: +HealingEffect2: playsewithpan SE_W071B, +63 - createsprite gUnknown_08592F2C, 0x82, 0, -5, 1, 0 - delay 0x7 - createsprite gUnknown_08592F2C, 0x82, -15, 10, 1, 0 - delay 0x7 - createsprite gUnknown_08592F2C, 0x82, -15, -15, 1, 0 - delay 0x7 - createsprite gUnknown_08592F2C, 0x82, 10, -5, 1, 0 - delay 0x7 + createsprite gUnknown_08592F2C, 130, 0, -5, 1, 0 + delay 7 + createsprite gUnknown_08592F2C, 130, -15, 10, 1, 0 + delay 7 + createsprite gUnknown_08592F2C, 130, -15, -15, 1, 0 + delay 7 + createsprite gUnknown_08592F2C, 130, 10, -5, 1, 0 + delay 7 return -AnimScript_82D7A71: - createsprite gUnknown_08596240, 0x82, 10, 10, 0 +PoisonBubblesEffect: + createsprite gPoisonBubbleSpriteTemplate, 130, 10, 10, 0 playsewithpan SE_W092, +63 - delay 0x6 - createsprite gUnknown_08596240, 0x82, 20, -20, 0 + delay 6 + createsprite gPoisonBubbleSpriteTemplate, 130, 20, -20, 0 playsewithpan SE_W092, +63 - delay 0x6 - createsprite gUnknown_08596240, 0x82, -20, 15, 0 + delay 6 + createsprite gPoisonBubbleSpriteTemplate, 130, -20, 15, 0 playsewithpan SE_W092, +63 - delay 0x6 - createsprite gUnknown_08596240, 0x82, 0, 0, 0 + delay 6 + createsprite gPoisonBubbleSpriteTemplate, 130, 0, 0, 0 playsewithpan SE_W092, +63 - delay 0x6 - createsprite gUnknown_08596240, 0x82, -20, -20, 0 + delay 6 + createsprite gPoisonBubbleSpriteTemplate, 130, -20, -20, 0 playsewithpan SE_W092, +63 - delay 0x6 - createsprite gUnknown_08596240, 0x82, 16, -8, 0 + delay 6 + createsprite gPoisonBubbleSpriteTemplate, 130, 16, -8, 0 playsewithpan SE_W092, +63 return -AnimScript_82D7AE2: - createsprite gUnknown_08596258, 0x2, 10, 10, 0 +WaterBubbleEffect: + createsprite gWaterBubbleSpriteTemplate, 2, 10, 10, 0 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, 20, -20, 0 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, 20, -20, 0 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, -20, 15, 0 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, -20, 15, 0 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, 0, 0, 0 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, 0, 0, 0 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, -20, -20, 0 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, -20, -20, 0 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, 16, -8, 0 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, 16, -8, 0 playsewithpan SE_W145C, +63 return -AnimScript_82D7B53: - createsprite gUnknown_08596258, 0x2, 10, 10, 1 +WaterBubbleEffect2: + createsprite gWaterBubbleSpriteTemplate, 2, 10, 10, 1 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, -28, -10, 1 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, -28, -10, 1 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, 20, -20, 1 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, 20, -20, 1 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, -20, 15, 1 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, -20, 15, 1 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, 0, 0, 1 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, 0, 0, 1 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, 27, 8, 1 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, 27, 8, 1 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, -20, -20, 1 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, -20, -20, 1 playsewithpan SE_W145C, +63 - delay 0x6 - createsprite gUnknown_08596258, 0x2, 16, -8, 1 + delay 6 + createsprite gWaterBubbleSpriteTemplate, 2, 16, -8, 1 playsewithpan SE_W145C, +63 return -AnimScript_82D7BEA: +ElectricityEffect: playsewithpan SE_W085B, +63 - createsprite gUnknown_08595810, 0x82, 5, 0, 5, 0 - delay 0x2 - createsprite gUnknown_08595810, 0x82, -5, 10, 5, 1 - delay 0x2 - createsprite gUnknown_08595810, 0x82, 15, 20, 5, 2 - delay 0x2 - createsprite gUnknown_08595810, 0x82, -15, -10, 5, 0 - delay 0x2 - createsprite gUnknown_08595810, 0x82, 25, 0, 5, 1 - delay 0x2 - createsprite gUnknown_08595810, 0x82, -8, 8, 5, 2 - delay 0x2 - createsprite gUnknown_08595810, 0x82, 2, -8, 5, 0 - delay 0x2 - createsprite gUnknown_08595810, 0x82, -20, 15, 5, 1 + createsprite gElectricitySpriteTemplate, 130, 5, 0, 5, 0 + delay 2 + createsprite gElectricitySpriteTemplate, 130, -5, 10, 5, 1 + delay 2 + createsprite gElectricitySpriteTemplate, 130, 15, 20, 5, 2 + delay 2 + createsprite gElectricitySpriteTemplate, 130, -15, -10, 5, 0 + delay 2 + createsprite gElectricitySpriteTemplate, 130, 25, 0, 5, 1 + delay 2 + createsprite gElectricitySpriteTemplate, 130, -8, 8, 5, 2 + delay 2 + createsprite gElectricitySpriteTemplate, 130, 2, -8, 5, 0 + delay 2 + createsprite gElectricitySpriteTemplate, 130, -20, 15, 5, 1 return -AnimScript_82D7C75: - loopsewithpan SE_W146, +63, 0xD, 0x6 - createsprite gUnknown_0859725C, 0x82, 0, -15, 0, 3, 90 - createsprite gUnknown_0859725C, 0x82, 0, -15, 51, 3, 90 - createsprite gUnknown_0859725C, 0x82, 0, -15, 102, 3, 90 - createsprite gUnknown_0859725C, 0x82, 0, -15, 153, 3, 90 - createsprite gUnknown_0859725C, 0x82, 0, -15, 204, 3, 90 +ConfusionEffect: + loopsewithpan SE_W146, +63, 13, 6 + createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 0, 3, 90 + createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 51, 3, 90 + createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 102, 3, 90 + createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 153, 3, 90 + createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 204, 3, 90 return -AnimScript_82D7CD1: +SetPsychicBackground: fadetobg BG_PSYCHIC waitbgfadeout - createvisualtask sub_815A504, 0x5 + createvisualtask sub_815A504, 5 waitbgfadein return -AnimScript_82D7CDD: +UnsetPsychicBackground: restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein return -AnimScript_82D7CE5: - jumpifcontest AnimScript_82D7CFE +SetFlyingBg: + jumpifcontest SetBgFlyingContest fadetobg BG_FLYING waitbgfadeout - createvisualtask sub_8117660, 0x5, -2304, 768, 1, -1 - -AnimScript_82D7CFC: + createvisualtask sub_8117660, 5, -2304, 768, 1, -1 +SetBgFlyingContinue: waitbgfadein return - -AnimScript_82D7CFE: +SetBgFlyingContest: fadetobg BG_FLYING_CONTESTS waitbgfadeout - createvisualtask sub_8117660, 0x5, 2304, 768, 0, -1 - goto AnimScript_82D7CFC + createvisualtask sub_8117660, 5, 2304, 768, 0, -1 + goto SetBgFlyingContinue -AnimScript_82D7D15: +UnsetFlyingBg: restorebg waitbgfadeout - setarg 0x7, 0xFFFF + setarg 7, -1 waitbgfadein return -AnimScript_82D7D1D: - createvisualtask sub_8117E60, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82D7D42 - createvisualtask sub_815A8C8, 0x2 - jumpargeq 0x7, 0x0, AnimScript_82D7D50 - goto AnimScript_82D7D49 - -AnimScript_82D7D40: +SetSolarbeamBg: + createvisualtask AnimTask_IsContest, 2 + jumprettrue SetSolarbeamBgContest + createvisualtask AnimTask_IsTargetPlayerSide, 2 + jumpretfalse SetSolarbeamBgOpponent + goto SetSolarbeamBgPlayer +SetSolarbeamBgContinue: waitbgfadein return - -AnimScript_82D7D42: +SetSolarbeamBgContest: fadetobg BG_SOLARBEAM_CONTESTS - goto AnimScript_82D7D40 - -AnimScript_82D7D49: + goto SetSolarbeamBgContinue +SetSolarbeamBgPlayer: fadetobg BG_SOLARBEAM_PLAYER - goto AnimScript_82D7D40 - -AnimScript_82D7D50: + goto SetSolarbeamBgContinue +SetSolarbeamBgOpponent: fadetobg BG_SOLARBEAM_OPPONENT - goto AnimScript_82D7D40 + goto SetSolarbeamBgContinue -AnimScript_82D7D57: +UnsetSolarbeamBg: restorebg waitbgfadein return Status_Poison: - loopsewithpan SE_W092, +63, 0xD, 0x6 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 18, 2 - createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 12, 31774 + loopsewithpan SE_W092, +63, 13, 6 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 18, 2 + createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 12, RGB(30, 0, 31) end Status_Confusion: - loadspritegfx 0x2759 - call AnimScript_82D7C75 + loadspritegfx ANIM_TAG_DUCK + call ConfusionEffect end Status_Burn: - loadspritegfx 0x272D + loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_W172, +63 - call AnimScript_82D7DA6 - call AnimScript_82D7DA6 - call AnimScript_82D7DA6 + call Burn1 + call Burn1 + call Burn1 waitforvisualfinish end - -AnimScript_82D7DA6: - createsprite gUnknown_08595504, 0x82, -24, 24, 24, 24, 20, 1, 1 - delay 0x4 +Burn1: + createsprite gUnknown_08595504, 130, -24, 24, 24, 24, 20, 1, 1 + delay 4 return Status_Infatuation: - loadspritegfx 0x27E2 + loadspritegfx ANIM_TAG_PURPLE_HEART playsewithpan SE_W204, -64 - createsprite gUnknown_08593970, 0x3, 0, 20 - delay 0xF + createsprite gUnknown_08593970, 3, 0, 20 + delay 15 playsewithpan SE_W204, -64 - createsprite gUnknown_08593970, 0x3, -20, 20 - delay 0xF + createsprite gUnknown_08593970, 3, -20, 20 + delay 15 playsewithpan SE_W204, -64 - createsprite gUnknown_08593970, 0x3, 20, 20 + createsprite gUnknown_08593970, 3, 20, 20 end Status_Sleep: - loadspritegfx 0x27F4 + loadspritegfx ANIM_TAG_LETTER_Z playsewithpan SE_W173, -64 - createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 - delay 0x1E - createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 + createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0 + delay 30 + createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0 end Status_Paralysis: - loadspritegfx 0x271B - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 10, 1 - call AnimScript_82D7BEA + loadspritegfx ANIM_TAG_SPARK_2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 + call ElectricityEffect end Status_Freeze: playsewithpan SE_W196, 0 - loadspritegfx 0x271A + loadspritegfx ANIM_TAG_ICE_CUBE monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - waitplaysewithpan SE_W258, +63, 0x11 - createvisualtask sub_80A9EF4, 0x2 + waitplaysewithpan SE_W258, +63, 17 + createvisualtask sub_80A9EF4, 2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end Status_Curse: - loadspritegfx 0x27D8 + loadspritegfx ANIM_TAG_200 monbg ANIM_DEF_PARTNER playsewithpan SE_W171, +63 - createsprite gUnknown_08596DE8, 0x82 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 14, 1 + createsprite gBattleAnimSpriteTemplate_8596DE8, 130 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 14, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end Status_Nightmare: - loadspritegfx 0x27ED + loadspritegfx ANIM_TAG_EVIL_ANGEL monbg ANIM_DEF_PARTNER playsewithpan SE_W171, +63 - createsprite gUnknown_08596E00, 0x82 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 14, 1 + createsprite gBattleAnimSpriteTemplate_8596E00, 130 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 14, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end -Anim_CastformTransform: - createvisualtask sub_815BB18, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82D7ECA +General_CastformChange: + createvisualtask sub_815BB18, 2 + jumpreteq 1, AnimScript_82D7ECA goto AnimScript_82D7EB2 - AnimScript_82D7EB2: monbg ANIM_ATTACKER playsewithpan SE_W100, -64 - waitplaysewithpan SE_W107, -64, 0x30 - createvisualtask sub_815B7D0, 0x2, 1 + waitplaysewithpan SE_W107, -64, 48 + createvisualtask sub_815B7D0, 2, 1 waitforvisualfinish clearmonbg ANIM_ATTACKER end - AnimScript_82D7ECA: - createvisualtask sub_815BB58, 0x2, 1 + createvisualtask sub_815BB58, 2, 1 end -Anim_StatChange: - createvisualtask AnimTask_StatsChange, 0x5 +General_StatsChange: + createvisualtask AnimTask_StatsChange, 5 waitforvisualfinish end -Anim_SubsituteOff: +General_SubstituteFade: monbg ANIM_ATTACKER - createvisualtask sub_8172D98, 0x5 - createvisualtask sub_8116620, 0xA, 2, 0, 0, 16, 0x7FFF + createvisualtask sub_8172D98, 5 + createvisualtask sub_8116620, 10, 2, 0, 0, 16, RGB_WHITE waitforvisualfinish - delay 0x1 + delay 1 clearmonbg ANIM_ATTACKER - delay 0x2 + delay 2 blendoff - createvisualtask sub_8116620, 0xA, 2, 0, 0, 0, 0x7FFF - createvisualtask sub_8172BF0, 0x2, 1 + createvisualtask sub_8116620, 10, 2, 0, 0, 0, RGB_WHITE + createvisualtask sub_8172BF0, 2, 1 end -Anim_SubsituteOn: - createvisualtask sub_815F20C, 0x2 +General_SubstituteAppear: + createvisualtask AnimTask_MonToSubstitute, 2 end -Anim_Table_4: - createvisualtask sub_817345C, 0x2, 0 - createvisualtask sub_81732B0, 0x2 - delay 0x0 - waitplaysewithpan SE_W026, -64, 0x16 - createsprite gUnknown_085E5338, 0x83, -18, 12, 0, 32 - delay 0x32 - loopsewithpan SE_W039, +63, 0x13, 0x2 - createvisualtask sub_80D5EB8, 0x5, 1, 8, 1536, 2, 1 +General_PokeblockThrow: + createvisualtask sub_817345C, 2, 0 + createvisualtask sub_81732B0, 2 + delay 0 + waitplaysewithpan SE_W026, -64, 22 + createsprite gBattleAnimSpriteTemplate_85E5338, 131, -18, 12, 0, 32 + delay 50 + loopsewithpan SE_W039, +63, 19, 2 + createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 2, ANIM_TARGET waitforvisualfinish - createvisualtask sub_81732E4, 0x2 + createvisualtask sub_81732E4, 2 end -Anim_ItemKnockOff: - loadspritegfx 0x27F0 - createsprite gUnknown_08592628, 0x82 +General_ItemKnockoff: + loadspritegfx ANIM_TAG_ITEM_BAG + createsprite gBattleAnimSpriteTemplate_8592628, 130 end -Status_Wrap: - createvisualtask sub_81734B4, 0x5 - jumpargeq 0x0, 0x1, AnimScript_82D7FE9 - jumpargeq 0x0, 0x2, AnimScript_82D800E - jumpargeq 0x0, 0x3, AnimScript_82D8062 - jumpargeq 0x0, 0x4, AnimScript_82D80BF - goto AnimScript_82D7FA1 - -AnimScript_82D7FA1: - loadspritegfx 0x27CA - loopsewithpan SE_W010, +63, 0x6, 0x2 - createsprite gUnknown_08592494, 0x84, 0, 16, 0, 1 - delay 0x7 - createsprite gUnknown_08592494, 0x82, 0, 8, 1, 1 - delay 0x3 - createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 - delay 0x14 - setarg 0x7, 0xFFFF +General_TurnTrap: + createvisualtask AnimTask_GetTrappedMoveAnimId, 5 + jumpargeq 0, TRAP_ANIM_FIRE_SPIN, Status_FireSpin + jumpargeq 0, TRAP_ANIM_WHIRLPOOL, Status_Whrilpool + jumpargeq 0, TRAP_ANIM_CLAMP, Status_Clamp + jumpargeq 0, TRAP_ANIM_SAND_TOMB, Status_SandTomb + goto Status_BindWrap +Status_BindWrap: + loadspritegfx ANIM_TAG_186 + loopsewithpan SE_W010, +63, 6, 2 + createsprite gUnknown_08592494, 132, 0, 16, 0, 1 + delay 7 + createsprite gUnknown_08592494, 130, 0, 8, 1, 1 + delay 3 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 + delay 20 + setarg 7, -1 playsewithpan SE_W020, +63 waitforvisualfinish end - -AnimScript_82D7FE9: - loadspritegfx 0x272D +Status_FireSpin: + loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_W221B, +63 - createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 30, 1 - call AnimScript_82CACBF - call AnimScript_82CACBF + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 30, 1 + call FireSpinEffect + call FireSpinEffect waitforvisualfinish stopsound end - -AnimScript_82D800E: - loadspritegfx 0x27A5 +Status_Whrilpool: + loadspritegfx ANIM_TAG_149 monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET - setalpha 0x80C - delay 0x0 - createsprite gUnknown_08597274, 0x0, 4, 2, 0, 7, RGB(0, 13, 23) + setalpha 12, 8 + delay 0 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 0, 7, RGB(0, 13, 23) playsewithpan SE_W250, +63 - createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 30, 1 - call AnimScript_82D1F5B - call AnimScript_82D1F5B - delay 0xC - createsprite gUnknown_08597274, 0x0, 4, 2, 7, 0, RGB(0, 13, 23) + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 30, 1 + call WhirlpoolEffect + call WhirlpoolEffect + delay 12 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 7, 0, RGB(0, 13, 23) waitforvisualfinish stopsound clearmonbg ANIM_DEF_PARTNER end - -AnimScript_82D8062: - loadspritegfx 0x27A1 - loadspritegfx 0x2797 +Status_Clamp: + loadspritegfx ANIM_TAG_145 + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W011, +63 - createsprite gUnknown_08597098, 0x2, -32, 0, 2, 819, 0, 10 - createsprite gUnknown_08597098, 0x2, 32, 0, 6, -819, 0, 10 - delay 0xA - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 5, 1 + createsprite gUnknown_08597098, 2, -32, 0, 2, 819, 0, 10 + createsprite gUnknown_08597098, 2, 32, 0, 6, -819, 0, 10 + delay 10 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff waitforvisualfinish end - -AnimScript_82D80BF: - loadspritegfx 0x275A - createsprite gUnknown_08597274, 0x0, 4, 2, 0, 7, RGB(19, 17, 0) - createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 30, 1 +Status_SandTomb: + loadspritegfx ANIM_TAG_074 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 0, 7, RGB(19, 17, 0) + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 30, 1 playsewithpan SE_W328, +63 - call AnimScript_82D51B7 - call AnimScript_82D51B7 - delay 0x16 - createsprite gUnknown_08597274, 0x0, 4, 2, 7, 0, RGB(19, 17, 0) + call SandTombEffect + call SandTombEffect + delay 22 + createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 7, 0, RGB(19, 17, 0) waitforvisualfinish stopsound end -Anim_ItemEffect: - loadspritegfx 0x27DB - loadspritegfx 0x2741 - delay 0x0 +General_ItemEffect: + loadspritegfx ANIM_TAG_203 + loadspritegfx ANIM_TAG_SPARKLE + delay 0 playsewithpan SE_W036, -64 - createvisualtask sub_80D622C, 0x2, 16, 128, 0, 2 + createvisualtask sub_80D622C, 2, 16, 128, 0, 2 waitforvisualfinish playsewithpan SE_W036, -64 - createvisualtask sub_80D622C, 0x2, 16, 128, 0, 2 + createvisualtask sub_80D622C, 2, 16, 128, 0, 2 waitforvisualfinish playsewithpan SE_W036, -64 - createvisualtask sub_80D622C, 0x2, 16, 128, 0, 2 + createvisualtask sub_80D622C, 2, 16, 128, 0, 2 waitforvisualfinish playsewithpan SE_W234, -64 - call AnimScript_82D79B4 + call GrantingStarsEffect waitforvisualfinish playsewithpan SE_REAPOKE, -64 - createsprite gUnknown_08597274, 0x2, 2, 3, 7, 0, RGB(17, 31, 25) - createsprite gUnknown_0859381C, 0x3, 0, 0, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 3, 7, 0, RGB(17, 31, 25) + createsprite gUnknown_0859381C, 3, 0, 0, 0, 0 waitforvisualfinish end -Anim_SmokeBallEscape: - loadspritegfx 0x2802 +General_SmokeballEscape: + loadspritegfx ANIM_TAG_242 monbg ANIM_ATTACKER - setalpha 0x40C - delay 0x0 + setalpha 12, 4 + delay 0 playsewithpan SE_BOWA2, +63 - createsprite gUnknown_085CE734, 0x80, 0, 32, 28, 30 - delay 0x4 + createsprite gUnknown_085CE734, 128, 0, 32, 28, 30 + delay 4 playsewithpan SE_BOWA2, +63 - createsprite gUnknown_085CE734, 0x7F, 2, 12, 20, 30 - delay 0xC + createsprite gUnknown_085CE734, 127, 2, 12, 20, 30 + delay 12 playsewithpan SE_BOWA2, +63 createsprite gUnknown_085CE734, 0x7E, 2, -28, 4, 30 - delay 0xC + delay 12 playsewithpan SE_BOWA2, +63 createsprite gUnknown_085CE734, 0x7C, 2, 14, -20, 30 - delay 0x4 + delay 4 playsewithpan SE_BOWA2, +63 - createvisualtask sub_81136E8, 0x2, 2 + createvisualtask sub_81136E8, 2, 2 createsprite gUnknown_085CE734, 0x7B, 3, 4, 4, 30 - delay 0xE + delay 14 playsewithpan SE_BOWA2, +63 createsprite gUnknown_085CE734, 0x7A, 3, -14, 18, 46 - delay 0x0 + delay 0 createsprite gUnknown_085CE734, 0x79, 3, 14, -14, 46 - delay 0x0 - createsprite gUnknown_085CE734, 0x78, 3, -12, -10, 46 - delay 0x0 + delay 0 + createsprite gUnknown_085CE734, 120, 3, -12, -10, 46 + delay 0 createsprite gUnknown_085CE734, 0x77, 3, 14, 14, 46 - delay 0x0 + delay 0 createsprite gUnknown_085CE734, 0x76, 3, 0, 0, 46 waitforvisualfinish clearmonbg ANIM_ATTACKER invisible ANIM_ATTACKER - delay 0x0 + delay 0 blendoff end -Anim_HangedOn: - createsprite gUnknown_08597274, 0x0, 2, 7, 0, 9, RGB_RED +General_HangedOn: + createsprite gSimplePaletteBlendSpriteTemplate, 0, 2, 7, 0, 9, RGB_RED playsewithpan SE_W082, -64 - createvisualtask sub_815DB90, 0x5, 30, 128, 0, 1, 2, 0, 1 + createvisualtask sub_815DB90, 5, 30, 128, 0, 1, 2, 0, 1 waitforvisualfinish - createsprite gUnknown_08597274, 0x0, 2, 4, 9, 0, RGB_RED + createsprite gSimplePaletteBlendSpriteTemplate, 0, 2, 4, 9, 0, RGB_RED waitforvisualfinish - delay 0x6 - createsprite gUnknown_0857FE58, 0x0, 0, 0, 15 + delay 6 + createsprite gSlideMonToOriginalPosSpriteTemplate, 0, 0, 0, 15 end -Anim_Rain: - loadspritegfx 0x2783 +General_Rain: + loadspritegfx ANIM_TAG_115 playsewithpan SE_W240, -64 - createvisualtask sub_8116620, 0xA, 1921, 2, 0, 4, 0 + createvisualtask sub_8116620, 10, 0x781, 2, 0, 4, RGB_BLACK waitforvisualfinish - createvisualtask sub_8107188, 0x2, 0, 3, 60 - createvisualtask sub_8107188, 0x2, 0, 3, 60 - delay 0x32 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + delay 50 waitforvisualfinish - createvisualtask sub_8116620, 0xA, 1921, 2, 4, 0, 0 + createvisualtask sub_8116620, 10, 0x781, 2, 4, 0, RGB_BLACK waitforvisualfinish end -Anim_Sun: +General_Sun: goto Move_SUNNY_DAY -Anim_Sandstorm: +General_Sandstorm: goto Move_SANDSTORM -Anim_Hail: +General_Hail: goto Move_HAIL -Status_LeechSeed: - createvisualtask sub_817351C, 0x5 - delay 0x0 +General_LeechSeedDrain: + createvisualtask sub_817351C, 5 + delay 0 goto Move_ABSORB -Anim_Hit: - loadspritegfx 0x2797 +General_MonHit: + loadspritegfx ANIM_TAG_135 monbg ANIM_TARGET - setalpha 0x80C + setalpha 12, 8 playsewithpan SE_W003, +63 - createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 - createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff end -Anim_ItemSteal: - loadspritegfx 0x27F0 - createvisualtask sub_8117F30, 0x2 - createvisualtask sub_8172ED0, 0x2 - delay 0x1 - createsprite gUnknown_08592670, 0x2, 0, -5, 10, 2, -1 +General_ItemSteal: + loadspritegfx ANIM_TAG_ITEM_BAG + createvisualtask sub_8117F30, 2 + createvisualtask sub_8172ED0, 2 + delay 1 + createsprite gUnknown_08592670, 2, 0, -5, 10, 2, -1 end -Anim_SnatchMove: - loadspritegfx 0x27F0 - createvisualtask sub_8117E94, 0x2 +General_SnatchMove: + loadspritegfx ANIM_TAG_ITEM_BAG + createvisualtask sub_8117E94, 2 call AnimScript_82D85A3 - delay 0x1 - createvisualtask sub_80D5EB8, 0x2, 0, 5, 5120, 4, 1 + delay 1 + createvisualtask AnimTask_SwayMon, 2, 0, 5, 5120, 4, ANIM_TARGET waitforvisualfinish - createvisualtask sub_8117EC4, 0x2 - jumpargeq 0x7, 0x0, AnimScript_82D839F - goto AnimScript_82D83AF - -AnimScript_82D8398: + createvisualtask AnimTask_IsTargetSameSide, 2 + jumpretfalse SnatchOpposingMonMove + goto SnatchPartnerMonMove +SnatchMoveContinue: waitforvisualfinish call AnimScript_82D85C3 end - -AnimScript_82D839F: +SnatchOpposingMonMove: playsewithpan SE_W104, -64 - createvisualtask sub_815F8F4, 0x2 - goto AnimScript_82D8398 - -AnimScript_82D83AF: + createvisualtask sub_815F8F4, 2 + goto SnatchMoveContinue +SnatchPartnerMonMove: playsewithpan SE_W104, -64 - createvisualtask sub_815FFC4, 0x2 - goto AnimScript_82D8398 + createvisualtask sub_815FFC4, 2 + goto SnatchMoveContinue -Anim_FutureSightHit: - createvisualtask sub_8117F10, 0x2 +General_FutureSightHit: + createvisualtask sub_8117F10, 2 monbg ANIM_DEF_PARTNER playsewithpan SE_W060, -64 - call AnimScript_82D7CD1 - setalpha 0x808 + call SetPsychicBackground + setalpha 8, 8 playsewithpan SE_W048, +63 - waitplaysewithpan SE_W048, +63, 0x8 - createvisualtask sub_80D51AC, 0x2, 1, 4, 0, 15, 1 - createvisualtask sub_80D6064, 0x5, -5, -5, 15, 1, 1 + waitplaysewithpan SE_W048, +63, 8 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 15, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 15, ANIM_TARGET, 1 waitforvisualfinish - createvisualtask sub_80D51AC, 0x2, 1, 4, 0, 24, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 24, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff waitforvisualfinish - delay 0x1 - call AnimScript_82D7CDD + delay 1 + call UnsetPsychicBackground end -Anim_DoomDesireHit: - createvisualtask sub_8117F10, 0x2 - loadspritegfx 0x27D6 - createsprite gUnknown_08597274, 0x2, 1, 3, 0, 16, RGB_WHITE +General_DoomDesireHit: + createvisualtask sub_8117F10, 2 + loadspritegfx ANIM_TAG_EXPLOSION + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 0, 16, RGB_WHITE waitforvisualfinish - delay 0xA - createvisualtask sub_815C0A4, 0x5 - delay 0x9 + delay 10 + createvisualtask sub_815C0A4, 5 + delay 9 playsewithpan SE_W109, -64 - delay 0x9 + delay 9 playsewithpan SE_W109, 0 - delay 0x9 + delay 9 playsewithpan SE_W109, +63 - delay 0x19 - createvisualtask sub_80D5484, 0x2, 1, 10, 0, 20, 1 + delay 25 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 20, 1 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x3, 0, 0, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 0, 0, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x3, 24, -24, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 24, -24, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x3, -16, 16, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, -16, 16, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x3, -24, -12, 1, 1 - delay 0x6 + createsprite gBattleAnimSpriteTemplate_859371C, 3, -24, -12, 1, 1 + delay 6 playsewithpan SE_W120, +63 - createsprite gUnknown_0859371C, 0x3, 16, 16, 1, 1 + createsprite gBattleAnimSpriteTemplate_859371C, 3, 16, 16, 1, 1 waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 3, 16, 0, RGB_WHITE + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 16, 0, RGB_WHITE waitforvisualfinish end -Anim_Table_x14: - loadspritegfx 0x27C8 +General_FocusPunchSetUp: + loadspritegfx ANIM_TAG_184 playsewithpan SE_W082, -64 - call AnimScript_82CD6C7 - delay 0x8 - createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 11, 31 - createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 - call AnimScript_82CD6C7 - delay 0x8 - call AnimScript_82CD6C7 + call EndureEffect + delay 8 + createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 + call EndureEffect + delay 8 + call EndureEffect waitforvisualfinish end -Status_Ingrain: - loadspritegfx 0x27A3 - loadspritegfx 0x272F +General_IngrainHeal: + loadspritegfx ANIM_TAG_147 + loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_DEF_PARTNER - setalpha 0x80C - createsprite gUnknown_08597274, 0x2, 1, 1, 0, 4, RGB(13, 31, 12) + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 4, RGB(13, 31, 12) waitforvisualfinish - delay 0x3 - call AnimScript_82D1009 + delay 3 + call AbsorbEffect waitforvisualfinish - delay 0xF - call AnimScript_82D79DF + delay 15 + call HealingEffect waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 1, 4, 0, RGB(13, 31, 12) + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 4, 0, RGB(13, 31, 12) waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff end -Anim_WishHeal: - loadspritegfx 0x2741 - createsprite gUnknown_08597274, 0x2, 1, 3, 0, 10, 0 +General_WishHeal: + loadspritegfx ANIM_TAG_SPARKLE + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 0, 10, RGB_BLACK waitforvisualfinish playsewithpan SE_W025, -64 - call AnimScript_82D79B4 + call GrantingStarsEffect waitforvisualfinish - unloadspritegfx 0x2741 - loadspritegfx 0x272F - call AnimScript_82D79DF + unloadspritegfx ANIM_TAG_SPARKLE + loadspritegfx ANIM_TAG_BLUE_STAR + call HealingEffect waitforvisualfinish - createsprite gUnknown_08597274, 0x2, 1, 3, 10, 0, 0 + createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 10, 0, RGB_BLACK end AnimScript_82D85A3: - createvisualtask sub_8172E9C, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82D85B4 - + createvisualtask sub_8172E9C, 2 + jumpreteq 1, AnimScript_82D85B4 AnimScript_82D85B2: waitforvisualfinish return - AnimScript_82D85B4: - createvisualtask sub_8172BF0, 0x2, 1 + createvisualtask sub_8172BF0, 2, 1 waitforvisualfinish goto AnimScript_82D85B2 AnimScript_82D85C3: - createvisualtask sub_8172E9C, 0x2 - jumpargeq 0x7, 0x1, AnimScript_82D85D4 - + createvisualtask sub_8172E9C, 2 + jumpreteq 1, AnimScript_82D85D4 AnimScript_82D85D2: waitforvisualfinish return - AnimScript_82D85D4: - createvisualtask sub_8172BF0, 0x2, 0 + createvisualtask sub_8172BF0, 2, 0 waitforvisualfinish goto AnimScript_82D85D2 -Anim_LevelUp: +Special_LevelUp: playsewithpan SE_EXPMAX, 0 - createvisualtask sub_8170920, 0x2 - delay 0x0 - createvisualtask sub_8170A0C, 0x5, 0, 0 + createvisualtask sub_8170920, 2 + delay 0 + createvisualtask sub_8170A0C, 5, 0, 0 waitforvisualfinish - createvisualtask sub_81709EC, 0x2 + createvisualtask sub_81709EC, 2 end -Anim_SwitchOutPlayer: - createvisualtask sub_8170BB0, 0x2 - delay 0xA - createvisualtask sub_8170B04, 0x2 +Special_SwitchOutPlayerMon: + createvisualtask sub_8170BB0, 2 + delay 10 + createvisualtask sub_8170B04, 2 end -Anim_SwitchOutOpponent: - createvisualtask sub_8170BB0, 0x2 - delay 0xA - createvisualtask sub_8170B04, 0x2 +Special_SwitchOutOpponentMon: + createvisualtask sub_8170BB0, 2 + delay 10 + createvisualtask sub_8170B04, 2 end -Anim_BallThrow: - createvisualtask sub_8170CFC, 0x2 - delay 0x0 +Special_BallThrow: + createvisualtask sub_8170CFC, 2 + delay 0 playsewithpan SE_NAGERU, 0 - createvisualtask sub_8170E04, 0x2 - createvisualtask sub_8170D4C, 0x2 - jumpargeq 0x7, 0xFFFF, AnimScript_82D8652 - -AnimScript_82D8649: + createvisualtask sub_8170E04, 2 + createvisualtask AnimTask_IsBallBlockedByTrainer, 2 + jumpreteq -1, BallThrowTrainerBlock +BallThrowEnd: waitforvisualfinish - createvisualtask sub_8170D24, 0x2 + createvisualtask sub_8170D24, 2 end - -AnimScript_82D8652: - loadspritegfx 0x2797 - delay 0x19 +BallThrowTrainerBlock: + loadspritegfx ANIM_TAG_135 + delay 25 monbg ANIM_DEF_PARTNER - setalpha 0x80C - delay 0x0 + setalpha 12, 8 + delay 0 playsewithpan SE_W003, +63 - createsprite gUnknown_08597358, 0x82, -4, -20, 1, 2 + createsprite gBasicHitSplatSpriteTemplate, 130, -4, -20, 1, 2 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff - goto AnimScript_82D8649 + goto BallThrowEnd -Anim_SafariBallThrow: - createvisualtask sub_8170CFC, 0x2 - delay 0x0 - createvisualtask sub_8170F2C, 0x2 +Special_SafariBallThrow: + createvisualtask sub_8170CFC, 2 + delay 0 + createvisualtask sub_8170F2C, 2 waitforvisualfinish - createvisualtask sub_8170D24, 0x2 + createvisualtask sub_8170D24, 2 end -Anim_SubstituteToMon: - createvisualtask sub_8172BF0, 0x2, 1 +Special_SubstituteToMon: + createvisualtask sub_8172BF0, 2, 1 end -Anim_MonToSubstitute: - createvisualtask sub_8172BF0, 0x2, 0 +Special_MonToSubstitute: + createvisualtask sub_8172BF0, 2, 0 end diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a01066be1..d8f681686 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6,6 +6,7 @@ #include "constants/abilities.h" #include "constants/moves.h" #include "constants/songs.h" +#include "constants/game_stat.h" .include "asm/macros.inc" .include "asm/macros/battle_script.inc" .include "constants/constants.inc" @@ -922,7 +923,7 @@ BattleScript_EffectFocusEnergy:: BattleScript_EffectRecoil:: setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit - incrementgamestat 0x1B + incrementgamestat GAME_STAT_USED_STRUGGLE goto BattleScript_EffectHit BattleScript_EffectConfuse:: @@ -1200,7 +1201,7 @@ BattleScript_EffectSplash:: ppreduce attackanimation waitanimation - incrementgamestat 0x1A + incrementgamestat GAME_STAT_USED_SPLASH printstring STRINGID_BUTNOTHINGHAPPENED waitmessage 0x40 goto BattleScript_MoveEnd @@ -3741,7 +3742,7 @@ BattleScript_SAtkDown2End:: BattleScript_FocusPunchSetUp:: printstring STRINGID_EMPTYSTRING3 waitmessage 0x1 - playanimation BS_ATTACKER, B_ANIM_x14, NULL + playanimation BS_ATTACKER, B_ANIM_FOCUS_PUNCH_SETUP, NULL printstring STRINGID_PKMNTIGHTENINGFOCUS waitmessage 0x40 end2 diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 485847ed1..b74f557a7 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -190,7 +190,7 @@ BattleScript_ActionGetNear: BattleScript_ActionThrowPokeblock: printstring STRINGID_THREWPOKEBLOCKATPKMN waitmessage 0x40 - playanimation BS_ATTACKER, B_ANIM_x4, NULL + playanimation BS_ATTACKER, B_ANIM_POKEBLOCK_THROW, NULL printfromtable gSafariPokeblockResultStringIds waitmessage 0x40 end2 diff --git a/data/rom_8525F58.s b/data/rom_8525F58.s deleted file mode 100644 index d95af7e20..000000000 --- a/data/rom_8525F58.s +++ /dev/null @@ -1,34 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_08525F58:: @ 8525F58 - .byte 0x48, 0x50, 0x00, 0x00, 0xb0, 0x28, 0x00, 0x00 - .byte 0x30, 0x28, 0x00, 0x00, 0x70, 0x50, 0x00, 0x00 - .byte 0x20, 0x50, 0x00, 0x00, 0xc8, 0x28, 0x00, 0x00 - .byte 0x5a, 0x58, 0x00, 0x00, 0x98, 0x20, 0x00, 0x00 - - .align 2 -gCastformFrontSpriteCoords:: @ 8525F78 - .byte 0x44, 0x11, 0x00, 0x00, 0x66, 0x09, 0x00, 0x00 - .byte 0x46, 0x09, 0x00, 0x00, 0x86, 0x08, 0x00, 0x00 - - .align 2 -gUnknown_08525F88:: @ 8525F88 - .byte 0x0d, 0x0e, 0x0d, 0x0d - - .align 2 -gUnknown_08525F8C:: @ 8525F8C - .byte 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_08525F90:: @ 8525F90 - spr_template 0xd755, 0xd755, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - spr_template 0xd756, 0xd756, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_08525FC0:: @ 8525FC0 - obj_tiles gMiscBlank_Gfx, 0x0800, 0xd755 - obj_tiles gMiscBlank_Gfx, 0x0800, 0xd756 diff --git a/include/battle.h b/include/battle.h index ae1eccf57..3e638c6ef 100644 --- a/include/battle.h +++ b/include/battle.h @@ -38,17 +38,6 @@ #define MAX_TRAINER_ITEMS 4 #define MAX_MON_MOVES 4 -#define BATTLE_TERRAIN_GRASS 0 -#define BATTLE_TERRAIN_LONG_GRASS 1 -#define BATTLE_TERRAIN_SAND 2 -#define BATTLE_TERRAIN_UNDERWATER 3 -#define BATTLE_TERRAIN_WATER 4 -#define BATTLE_TERRAIN_POND 5 -#define BATTLE_TERRAIN_MOUNTAIN 6 -#define BATTLE_TERRAIN_CAVE 7 -#define BATTLE_TERRAIN_BUILDING 8 -#define BATTLE_TERRAIN_PLAIN 9 - // array entries for battle communication #define MULTIUSE_STATE 0x0 #define CURSOR_POSITION 0x1 @@ -609,7 +598,7 @@ struct BattleScripting // rom_80A5C6C u8 GetBattlerSide(u8 battler); u8 GetBattlerPosition(u8 battler); -u8 GetBattlerAtPosition(u8 battler); +u8 GetBattlerAtPosition(u8 position); struct BattleSpriteInfo { diff --git a/include/battle_anim.h b/include/battle_anim.h index f690cf10c..200b9fdb1 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -14,11 +14,11 @@ enum struct UnknownAnimStruct2 { - void *unk0; + u8 *bgTiles; u16 *unk4; u8 unk8; - u8 unk9; - u16 unkA; + u8 bgId; + u16 tilesOffset; u16 unkC; }; @@ -39,7 +39,7 @@ extern bool8 gAnimScriptActive; extern u8 gAnimVisualTaskCount; extern u8 gAnimSoundTaskCount; extern struct DisableStruct *gAnimDisableStructPtr; -extern u32 gAnimMoveDmg; +extern s32 gAnimMoveDmg; extern u16 gAnimMovePower; extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; @@ -63,36 +63,48 @@ s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); s16 KeepPanInRange(s16 a); s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan); +void sub_80A4720(u16 a, u16 *b, u32 c, u8 d); // battle_anim_80FE840.s void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); -void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 bankIdentity, u8 arg4, void *arg5, u16 *arg6, u16 arg7); +void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, void *arg5, u16 *arg6, u16 arg7); void HandleIntroSlide(u8 terrainId); +u32 GetAnimBgAttribute(u8 bgId, u8 attributeId); // battle_anim_80A5C6C.s void sub_80A6EEC(struct Sprite *sprite); void sub_80A68D4(struct Sprite *sprite); -void sub_80A6F3C(struct Sprite *sprite); +bool8 TranslateAnimLinear(struct Sprite *sprite); void sub_80A8278(void); void sub_80A6B30(struct UnknownAnimStruct2*); void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1); u8 sub_80A82E4(u8 battlerId); -bool8 AnimateBallThrow(struct Sprite *sprite); +bool8 TranslateAnimArc(struct Sprite *sprite); +void sub_80A6630(struct Sprite *sprite); +void sub_80A6680(struct Sprite *sprite); +void sub_80A7344(u8 spriteId); +void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation); +void sub_80A6E14(struct Sprite *sprite); +void sub_80A7270(u8 spriteId, u8 objMode); +void sub_80A73A0(u8 spriteId); enum { - BANK_X_POS, - BANK_Y_POS, + BATTLER_COORD_X, + BATTLER_COORD_Y, + BATTLER_COORD_X_2, + BATTLER_COORD_3, + BATTLER_COORD_4, }; u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); bool8 IsBattlerSpritePresent(u8 battlerId); -void sub_80A6C68(u8 arg0); +void sub_80A6C68(u32 arg0); u8 GetAnimBattlerSpriteId(u8 wantedBattler); bool8 IsDoubleBattle(void); u8 sub_80A6D94(void); -u8 sub_80A8364(u8); +u8 sub_80A8364(u8 battlerId); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); u8 GetBattlerSpriteDefault_Y(u8 battlerId); @@ -100,6 +112,14 @@ u8 sub_80A82E4(u8 battlerId); u8 GetSubstituteSpriteDefault_Y(u8 battlerId); // battle_anim_80A9C70.s +#define STAT_ANIM_PLUS1 15 +#define STAT_ANIM_PLUS2 39 +#define STAT_ANIM_MINUS1 22 +#define STAT_ANIM_MINUS2 46 +#define STAT_ANIM_MULTIPLE_PLUS1 55 +#define STAT_ANIM_MULTIPLE_PLUS2 56 +#define STAT_ANIM_MULTIPLE_MINUS1 57 +#define STAT_ANIM_MULTIPLE_MINUS2 58 void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); // battle_anim_8170478.s @@ -107,6 +127,6 @@ u8 ItemIdToBallId(u16 itemId); u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId); u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId); -u8 sub_80A600C(u8, u16, u8); +u8 GetBattlerSpriteFinal_Y(u8, u16, u8); #endif // GUARD_BATTLE_ANIM_H diff --git a/include/constants/battle.h b/include/constants/battle.h index 25544ba3d..acb0f6689 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -281,4 +281,16 @@ #define MOVE_EFFECT_AFFECTS_USER 0x40 #define MOVE_EFFECT_CERTAIN 0x80 +// Battle terrain defines for gBattleTerrain. +#define BATTLE_TERRAIN_GRASS 0 +#define BATTLE_TERRAIN_LONG_GRASS 1 +#define BATTLE_TERRAIN_SAND 2 +#define BATTLE_TERRAIN_UNDERWATER 3 +#define BATTLE_TERRAIN_WATER 4 +#define BATTLE_TERRAIN_POND 5 +#define BATTLE_TERRAIN_MOUNTAIN 6 +#define BATTLE_TERRAIN_CAVE 7 +#define BATTLE_TERRAIN_BUILDING 8 +#define BATTLE_TERRAIN_PLAIN 9 + #endif // GUARD_CONSTANTS_BATTLE_H diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 270ac55e0..2b21aad9e 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -1,6 +1,312 @@ #ifndef GUARD_CONSTANTS_BATTLE_ANIM_H #define GUARD_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 - ANIM_SPRITES_START)) + +// Particle ids. +#define ANIM_SPRITES_START 10000 + +#define ANIM_TAG_BONE (ANIM_SPRITES_START + 0) +#define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1) +#define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2) +#define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3) +#define ANIM_TAG_004 (ANIM_SPRITES_START + 4) // ? +#define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5) +#define ANIM_TAG_SEED (ANIM_SPRITES_START + 6) +#define ANIM_TAG_007 (ANIM_SPRITES_START + 7) // ? +#define ANIM_TAG_008 (ANIM_SPRITES_START + 8) // ? +#define ANIM_TAG_GUST (ANIM_SPRITES_START + 9) +#define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10) +#define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11) +#define ANIM_TAG_012 (ANIM_SPRITES_START + 12) // ? +#define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13) +#define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14) +#define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15) +#define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16) +#define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17) +#define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18) +#define ANIM_TAG_019 (ANIM_SPRITES_START + 19) // ? +#define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20) +#define ANIM_TAG_021 (ANIM_SPRITES_START + 21) // ? +#define ANIM_TAG_022 (ANIM_SPRITES_START + 22) // ? +#define ANIM_TAG_023 (ANIM_SPRITES_START + 23) // ? +#define ANIM_TAG_024 (ANIM_SPRITES_START + 24) // ? +#define ANIM_TAG_025 (ANIM_SPRITES_START + 25) // ? +#define ANIM_TAG_026 (ANIM_SPRITES_START + 26) // ? +#define ANIM_TAG_GLARE (ANIM_SPRITES_START + 27) +#define ANIM_TAG_028 (ANIM_SPRITES_START + 28) // ? +#define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29) +#define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30) +#define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31) +#define ANIM_TAG_032 (ANIM_SPRITES_START + 32) // ? +#define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33) +#define ANIM_TAG_034 (ANIM_SPRITES_START + 34) // ? +#define ANIM_TAG_035 (ANIM_SPRITES_START + 35) // ? +#define ANIM_TAG_036 (ANIM_SPRITES_START + 36) // ? +#define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37) +#define ANIM_TAG_038 (ANIM_SPRITES_START + 38) // ? +#define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39) +#define ANIM_TAG_040 (ANIM_SPRITES_START + 40) // ? +#define ANIM_TAG_041 (ANIM_SPRITES_START + 41) // ? +#define ANIM_TAG_042 (ANIM_SPRITES_START + 42) // ? +#define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43) +#define ANIM_TAG_044 (ANIM_SPRITES_START + 44) // ? +#define ANIM_TAG_PINK_HEART (ANIM_SPRITES_START + 45) // ? +#define ANIM_TAG_046 (ANIM_SPRITES_START + 46) // ? +#define ANIM_TAG_047 (ANIM_SPRITES_START + 47) // ? +#define ANIM_TAG_048 (ANIM_SPRITES_START + 48) // ? +#define ANIM_TAG_SPARKLE (ANIM_SPRITES_START + 49) +#define ANIM_TAG_050 (ANIM_SPRITES_START + 50) // ? +#define ANIM_TAG_051 (ANIM_SPRITES_START + 51) +#define ANIM_TAG_052 (ANIM_SPRITES_START + 52) +#define ANIM_TAG_053 (ANIM_SPRITES_START + 53) +#define ANIM_TAG_054 (ANIM_SPRITES_START + 54) +#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55) +#define ANIM_TAG_056 (ANIM_SPRITES_START + 56) +#define ANIM_TAG_057 (ANIM_SPRITES_START + 57) +#define ANIM_TAG_058 (ANIM_SPRITES_START + 58) +#define ANIM_TAG_059 (ANIM_SPRITES_START + 59) +#define ANIM_TAG_060 (ANIM_SPRITES_START + 60) +#define ANIM_TAG_061 (ANIM_SPRITES_START + 61) +#define ANIM_TAG_062 (ANIM_SPRITES_START + 62) +#define ANIM_TAG_063 (ANIM_SPRITES_START + 63) +#define ANIM_TAG_064 (ANIM_SPRITES_START + 64) +#define ANIM_TAG_065 (ANIM_SPRITES_START + 65) +#define ANIM_TAG_066 (ANIM_SPRITES_START + 66) +#define ANIM_TAG_067 (ANIM_SPRITES_START + 67) +#define ANIM_TAG_068 (ANIM_SPRITES_START + 68) +#define ANIM_TAG_069 (ANIM_SPRITES_START + 69) +#define ANIM_TAG_070 (ANIM_SPRITES_START + 70) +#define ANIM_TAG_071 (ANIM_SPRITES_START + 71) +#define ANIM_TAG_MUSIC_NOTES2 (ANIM_SPRITES_START + 72) +#define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73) +#define ANIM_TAG_074 (ANIM_SPRITES_START + 74) +#define ANIM_TAG_075 (ANIM_SPRITES_START + 75) +#define ANIM_TAG_076 (ANIM_SPRITES_START + 76) +#define ANIM_TAG_077 (ANIM_SPRITES_START + 77) +#define ANIM_TAG_078 (ANIM_SPRITES_START + 78) +#define ANIM_TAG_079 (ANIM_SPRITES_START + 79) +#define ANIM_TAG_080 (ANIM_SPRITES_START + 80) +#define ANIM_TAG_081 (ANIM_SPRITES_START + 81) +#define ANIM_TAG_082 (ANIM_SPRITES_START + 82) +#define ANIM_TAG_083 (ANIM_SPRITES_START + 83) +#define ANIM_TAG_084 (ANIM_SPRITES_START + 84) +#define ANIM_TAG_085 (ANIM_SPRITES_START + 85) +#define ANIM_TAG_086 (ANIM_SPRITES_START + 86) +#define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87) +#define ANIM_TAG_088 (ANIM_SPRITES_START + 88) +#define ANIM_TAG_089 (ANIM_SPRITES_START + 89) +#define ANIM_TAG_090 (ANIM_SPRITES_START + 90) +#define ANIM_TAG_091 (ANIM_SPRITES_START + 91) +#define ANIM_TAG_092 (ANIM_SPRITES_START + 92) +#define ANIM_TAG_093 (ANIM_SPRITES_START + 93) +#define ANIM_TAG_094 (ANIM_SPRITES_START + 94) +#define ANIM_TAG_095 (ANIM_SPRITES_START + 95) +#define ANIM_TAG_096 (ANIM_SPRITES_START + 96) +#define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97) +#define ANIM_TAG_098 (ANIM_SPRITES_START + 98) +#define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99) +#define ANIM_TAG_100 (ANIM_SPRITES_START + 100) +#define ANIM_TAG_101 (ANIM_SPRITES_START + 101) +#define ANIM_TAG_102 (ANIM_SPRITES_START + 102) +#define ANIM_TAG_103 (ANIM_SPRITES_START + 103) +#define ANIM_TAG_104 (ANIM_SPRITES_START + 104) +#define ANIM_TAG_105 (ANIM_SPRITES_START + 105) +#define ANIM_TAG_106 (ANIM_SPRITES_START + 106) +#define ANIM_TAG_107 (ANIM_SPRITES_START + 107) +#define ANIM_TAG_108 (ANIM_SPRITES_START + 108) +#define ANIM_TAG_109 (ANIM_SPRITES_START + 109) +#define ANIM_TAG_110 (ANIM_SPRITES_START + 110) +#define ANIM_TAG_111 (ANIM_SPRITES_START + 111) +#define ANIM_TAG_112 (ANIM_SPRITES_START + 112) +#define ANIM_TAG_113 (ANIM_SPRITES_START + 113) +#define ANIM_TAG_114 (ANIM_SPRITES_START + 114) +#define ANIM_TAG_115 (ANIM_SPRITES_START + 115) +#define ANIM_TAG_116 (ANIM_SPRITES_START + 116) +#define ANIM_TAG_117 (ANIM_SPRITES_START + 117) +#define ANIM_TAG_118 (ANIM_SPRITES_START + 118) +#define ANIM_TAG_119 (ANIM_SPRITES_START + 119) +#define ANIM_TAG_ITEM_BAG2 (ANIM_SPRITES_START + 120) +#define ANIM_TAG_121 (ANIM_SPRITES_START + 121) +#define ANIM_TAG_122 (ANIM_SPRITES_START + 122) +#define ANIM_TAG_123 (ANIM_SPRITES_START + 123) +#define ANIM_TAG_124 (ANIM_SPRITES_START + 124) +#define ANIM_TAG_125 (ANIM_SPRITES_START + 125) +#define ANIM_TAG_126 (ANIM_SPRITES_START + 126) +#define ANIM_TAG_127 (ANIM_SPRITES_START + 127) +#define ANIM_TAG_128 (ANIM_SPRITES_START + 128) +#define ANIM_TAG_129 (ANIM_SPRITES_START + 129) +#define ANIM_TAG_130 (ANIM_SPRITES_START + 130) +#define ANIM_TAG_131 (ANIM_SPRITES_START + 131) +#define ANIM_TAG_132 (ANIM_SPRITES_START + 132) +#define ANIM_TAG_133 (ANIM_SPRITES_START + 133) +#define ANIM_TAG_134 (ANIM_SPRITES_START + 134) +#define ANIM_TAG_135 (ANIM_SPRITES_START + 135) +#define ANIM_TAG_136 (ANIM_SPRITES_START + 136) +#define ANIM_TAG_137 (ANIM_SPRITES_START + 137) +#define ANIM_TAG_138 (ANIM_SPRITES_START + 138) +#define ANIM_TAG_139 (ANIM_SPRITES_START + 139) +#define ANIM_TAG_140 (ANIM_SPRITES_START + 140) +#define ANIM_TAG_141 (ANIM_SPRITES_START + 141) +#define ANIM_TAG_142 (ANIM_SPRITES_START + 142) +#define ANIM_TAG_143 (ANIM_SPRITES_START + 143) +#define ANIM_TAG_144 (ANIM_SPRITES_START + 144) +#define ANIM_TAG_145 (ANIM_SPRITES_START + 145) +#define ANIM_TAG_146 (ANIM_SPRITES_START + 146) +#define ANIM_TAG_147 (ANIM_SPRITES_START + 147) +#define ANIM_TAG_148 (ANIM_SPRITES_START + 148) +#define ANIM_TAG_149 (ANIM_SPRITES_START + 149) +#define ANIM_TAG_POISON_BUBBLE (ANIM_SPRITES_START + 150) +#define ANIM_TAG_TOXIC_BUBBLE (ANIM_SPRITES_START + 151) +#define ANIM_TAG_152 (ANIM_SPRITES_START + 152) +#define ANIM_TAG_153 (ANIM_SPRITES_START + 153) +#define ANIM_TAG_154 (ANIM_SPRITES_START + 154) +#define ANIM_TAG_155 (ANIM_SPRITES_START + 155) +#define ANIM_TAG_156 (ANIM_SPRITES_START + 156) +#define ANIM_TAG_157 (ANIM_SPRITES_START + 157) +#define ANIM_TAG_158 (ANIM_SPRITES_START + 158) +#define ANIM_TAG_159 (ANIM_SPRITES_START + 159) +#define ANIM_TAG_160 (ANIM_SPRITES_START + 160) +#define ANIM_TAG_161 (ANIM_SPRITES_START + 161) +#define ANIM_TAG_162 (ANIM_SPRITES_START + 162) +#define ANIM_TAG_163 (ANIM_SPRITES_START + 163) +#define ANIM_TAG_164 (ANIM_SPRITES_START + 164) +#define ANIM_TAG_165 (ANIM_SPRITES_START + 165) +#define ANIM_TAG_166 (ANIM_SPRITES_START + 166) +#define ANIM_TAG_167 (ANIM_SPRITES_START + 167) +#define ANIM_TAG_168 (ANIM_SPRITES_START + 168) +#define ANIM_TAG_169 (ANIM_SPRITES_START + 169) +#define ANIM_TAG_170 (ANIM_SPRITES_START + 170) +#define ANIM_TAG_171 (ANIM_SPRITES_START + 171) +#define ANIM_TAG_172 (ANIM_SPRITES_START + 172) +#define ANIM_TAG_173 (ANIM_SPRITES_START + 173) +#define ANIM_TAG_174 (ANIM_SPRITES_START + 174) +#define ANIM_TAG_175 (ANIM_SPRITES_START + 175) +#define ANIM_TAG_176 (ANIM_SPRITES_START + 176) +#define ANIM_TAG_177 (ANIM_SPRITES_START + 177) +#define ANIM_TAG_178 (ANIM_SPRITES_START + 178) +#define ANIM_TAG_179 (ANIM_SPRITES_START + 179) +#define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180) +#define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181) +#define ANIM_TAG_182 (ANIM_SPRITES_START + 182) +#define ANIM_TAG_183 (ANIM_SPRITES_START + 183) +#define ANIM_TAG_184 (ANIM_SPRITES_START + 184) +#define ANIM_TAG_185 (ANIM_SPRITES_START + 185) +#define ANIM_TAG_186 (ANIM_SPRITES_START + 186) +#define ANIM_TAG_EYE (ANIM_SPRITES_START + 187) +#define ANIM_TAG_188 (ANIM_SPRITES_START + 188) +#define ANIM_TAG_189 (ANIM_SPRITES_START + 189) +#define ANIM_TAG_OPENING_EYE (ANIM_SPRITES_START + 190) +#define ANIM_TAG_191 (ANIM_SPRITES_START + 191) +#define ANIM_TAG_192 (ANIM_SPRITES_START + 192) +#define ANIM_TAG_193 (ANIM_SPRITES_START + 193) +#define ANIM_TAG_MOON (ANIM_SPRITES_START + 194) +#define ANIM_TAG_GREEN_SPARKLE (ANIM_SPRITES_START + 195) +#define ANIM_TAG_196 (ANIM_SPRITES_START + 196) +#define ANIM_TAG_197 (ANIM_SPRITES_START + 197) +#define ANIM_TAG_EXPLOSION (ANIM_SPRITES_START + 198) +#define ANIM_TAG_NAIL (ANIM_SPRITES_START + 199) +#define ANIM_TAG_200 (ANIM_SPRITES_START + 200) +#define ANIM_TAG_201 (ANIM_SPRITES_START + 201) +#define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202) +#define ANIM_TAG_203 (ANIM_SPRITES_START + 203) +#define ANIM_TAG_204 (ANIM_SPRITES_START + 204) +#define ANIM_TAG_BELL (ANIM_SPRITES_START + 205) +#define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 206) +#define ANIM_TAG_207 (ANIM_SPRITES_START + 207) +#define ANIM_TAG_208 (ANIM_SPRITES_START + 208) +#define ANIM_TAG_209 (ANIM_SPRITES_START + 209) +#define ANIM_TAG_PURPLE_HEART (ANIM_SPRITES_START + 210) +#define ANIM_TAG_211 (ANIM_SPRITES_START + 211) +#define ANIM_TAG_212 (ANIM_SPRITES_START + 212) +#define ANIM_TAG_213 (ANIM_SPRITES_START + 213) +#define ANIM_TAG_214 (ANIM_SPRITES_START + 214) +#define ANIM_TAG_215 (ANIM_SPRITES_START + 215) +#define ANIM_TAG_216 (ANIM_SPRITES_START + 216) +#define ANIM_TAG_217 (ANIM_SPRITES_START + 217) +#define ANIM_TAG_218 (ANIM_SPRITES_START + 218) +#define ANIM_TAG_219 (ANIM_SPRITES_START + 219) +#define ANIM_TAG_ANGEL (ANIM_SPRITES_START + 220) +#define ANIM_TAG_EVIL_ANGEL (ANIM_SPRITES_START + 221) +#define ANIM_TAG_222 (ANIM_SPRITES_START + 222) +#define ANIM_TAG_223 (ANIM_SPRITES_START + 223) +#define ANIM_TAG_ITEM_BAG (ANIM_SPRITES_START + 224) +#define ANIM_TAG_225 (ANIM_SPRITES_START + 225) +#define ANIM_TAG_226 (ANIM_SPRITES_START + 226) +#define ANIM_TAG_227 (ANIM_SPRITES_START + 227) +#define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228) +#define ANIM_TAG_229 (ANIM_SPRITES_START + 229) +#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230) +#define ANIM_TAG_231 (ANIM_SPRITES_START + 231) +#define ANIM_TAG_232 (ANIM_SPRITES_START + 232) +#define ANIM_TAG_233 (ANIM_SPRITES_START + 233) +#define ANIM_TAG_234 (ANIM_SPRITES_START + 234) +#define ANIM_TAG_235 (ANIM_SPRITES_START + 235) +#define ANIM_TAG_236 (ANIM_SPRITES_START + 236) +#define ANIM_TAG_237 (ANIM_SPRITES_START + 237) +#define ANIM_TAG_238 (ANIM_SPRITES_START + 238) +#define ANIM_TAG_239 (ANIM_SPRITES_START + 239) +#define ANIM_TAG_240 (ANIM_SPRITES_START + 240) +#define ANIM_TAG_GREEN_STAR (ANIM_SPRITES_START + 241) +#define ANIM_TAG_242 (ANIM_SPRITES_START + 242) +#define ANIM_TAG_243 (ANIM_SPRITES_START + 243) +#define ANIM_TAG_244 (ANIM_SPRITES_START + 244) +#define ANIM_TAG_245 (ANIM_SPRITES_START + 245) +#define ANIM_TAG_246 (ANIM_SPRITES_START + 246) +#define ANIM_TAG_HAND (ANIM_SPRITES_START + 247) +#define ANIM_TAG_248 (ANIM_SPRITES_START + 248) +#define ANIM_TAG_249 (ANIM_SPRITES_START + 249) +#define ANIM_TAG_X_SIGN (ANIM_SPRITES_START + 250) +#define ANIM_TAG_251 (ANIM_SPRITES_START + 251) +#define ANIM_TAG_252 (ANIM_SPRITES_START + 252) +#define ANIM_TAG_253 (ANIM_SPRITES_START + 253) +#define ANIM_TAG_254 (ANIM_SPRITES_START + 254) +#define ANIM_TAG_255 (ANIM_SPRITES_START + 255) +#define ANIM_TAG_256 (ANIM_SPRITES_START + 256) +#define ANIM_TAG_257 (ANIM_SPRITES_START + 257) +#define ANIM_TAG_MAGNIFYING_GLASS (ANIM_SPRITES_START + 258) +#define ANIM_TAG_259 (ANIM_SPRITES_START + 259) +#define ANIM_TAG_260 (ANIM_SPRITES_START + 260) +#define ANIM_TAG_261 (ANIM_SPRITES_START + 261) +#define ANIM_TAG_262 (ANIM_SPRITES_START + 262) +#define ANIM_TAG_263 (ANIM_SPRITES_START + 263) +#define ANIM_TAG_264 (ANIM_SPRITES_START + 264) +#define ANIM_TAG_265 (ANIM_SPRITES_START + 265) +#define ANIM_TAG_266 (ANIM_SPRITES_START + 266) +#define ANIM_TAG_267 (ANIM_SPRITES_START + 267) +#define ANIM_TAG_268 (ANIM_SPRITES_START + 268) +#define ANIM_TAG_269 (ANIM_SPRITES_START + 269) +#define ANIM_TAG_270 (ANIM_SPRITES_START + 270) +#define ANIM_TAG_271 (ANIM_SPRITES_START + 271) +#define ANIM_TAG_272 (ANIM_SPRITES_START + 272) +#define ANIM_TAG_273 (ANIM_SPRITES_START + 273) +#define ANIM_TAG_274 (ANIM_SPRITES_START + 274) +#define ANIM_TAG_275 (ANIM_SPRITES_START + 275) +#define ANIM_TAG_276 (ANIM_SPRITES_START + 276) +#define ANIM_TAG_277 (ANIM_SPRITES_START + 277) +#define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278) +#define ANIM_TAG_279 (ANIM_SPRITES_START + 279) +#define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280) +#define ANIM_TAG_281 (ANIM_SPRITES_START + 281) +#define ANIM_TAG_282 (ANIM_SPRITES_START + 282) +#define ANIM_TAG_283 (ANIM_SPRITES_START + 283) +#define ANIM_TAG_284 (ANIM_SPRITES_START + 284) +#define ANIM_TAG_285 (ANIM_SPRITES_START + 285) +#define ANIM_TAG_286 (ANIM_SPRITES_START + 286) +#define ANIM_TAG_287 (ANIM_SPRITES_START + 287) +#define ANIM_TAG_288 (ANIM_SPRITES_START + 288) +#define ANIM_TAG_289 (ANIM_SPRITES_START + 289) +#define ANIM_TAG_290 (ANIM_SPRITES_START + 290) +#define ANIM_TAG_291 (ANIM_SPRITES_START + 291) +#define ANIM_TAG_292 (ANIM_SPRITES_START + 292) +#define ANIM_TAG_293 (ANIM_SPRITES_START + 293) +#define ANIM_TAG_294 (ANIM_SPRITES_START + 294) +#define ANIM_TAG_295 (ANIM_SPRITES_START + 295) +#define ANIM_TAG_296 (ANIM_SPRITES_START + 296) +#define ANIM_TAG_297 (ANIM_SPRITES_START + 297) +#define ANIM_TAG_298 (ANIM_SPRITES_START + 298) + // battlers #define ANIM_ATTACKER 0 #define ANIM_TARGET 1 @@ -41,7 +347,7 @@ #define B_ANIM_STATS_CHANGE 0x1 #define B_ANIM_SUBSTITUTE_FADE 0x2 #define B_ANIM_SUBSTITUTE_APPEAR 0x3 -#define B_ANIM_x4 0x4 +#define B_ANIM_POKEBLOCK_THROW 0x4 #define B_ANIM_ITEM_KNOCKOFF 0x5 #define B_ANIM_TURN_TRAP 0x6 #define B_ANIM_ITEM_EFFECT 0x7 @@ -57,7 +363,7 @@ #define B_ANIM_SNATCH_MOVE 0x11 #define B_ANIM_FUTURE_SIGHT_HIT 0x12 #define B_ANIM_DOOM_DESIRE_HIT 0x13 -#define B_ANIM_x14 0x14 +#define B_ANIM_FOCUS_PUNCH_SETUP 0x14 #define B_ANIM_INGRAIN_HEAL 0x15 #define B_ANIM_WISH_HEAL 0x16 @@ -82,4 +388,22 @@ #define B_ANIM_STATUS_NIGHTMARE 0x8 #define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist +// Most tasks return a value to gBattleAnimArgs[7]. +#define ARG_RET_ID 0x7 + +// Trapping Wrap-like moves end turn animation. +#define TRAP_ANIM_BIND 0 +#define TRAP_ANIM_WRAP 0 +#define TRAP_ANIM_FIRE_SPIN 1 +#define TRAP_ANIM_WHIRLPOOL 2 +#define TRAP_ANIM_CLAMP 3 +#define TRAP_ANIM_SAND_TOMB 4 + +// Weather defines for battle animation scripts. +#define ANIM_WEATHER_NONE 0 +#define ANIM_WEATHER_SUN 1 +#define ANIM_WEATHER_RAIN 2 +#define ANIM_WEATHER_SANDSTORM 3 +#define ANIM_WEATHER_HAIL 4 + #endif // GUARD_CONSTANTS_BATTLE_ANIM_H diff --git a/include/contest.h b/include/contest.h index 0a8fa4436..d62d33ab7 100644 --- a/include/contest.h +++ b/include/contest.h @@ -239,14 +239,13 @@ struct Shared18000 struct ContestStruct_field_18 { - // unknown size - u16 field_0; - u16 field_2; - u16 field_4; - u16 field_6; - u32 field_8; - u32 field_C; - u32 field_10; + u16 unk0; + u16 unk2; + u8 unk4_0:1; + u8 unk5; + u32 unk8; + u32 unkC; + u32 unk10; }; struct Contest @@ -411,6 +410,7 @@ extern struct ContestResources *gContestResources; #define eContestAI (gContestResources->field_C) #define shared19328 (*gContestResources->field_10) #define shared19338 (*gContestResources->field_14) +#define shared19348 (*gContestResources->field_18) #define shared15800 (gHeap + 0x18000) #define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) diff --git a/include/global.h b/include/global.h index b35008550..9ae892b5c 100644 --- a/include/global.h +++ b/include/global.h @@ -86,6 +86,11 @@ extern u8 gStringVar4[]; #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) +// Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. +// In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. +// In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". +// Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". +// In Gen 4 and up, migrated Pokemon with HeartGold or SoulSilver's ID show the otherwise unused "Johto" string. enum { VERSION_SAPPHIRE = 1, @@ -93,6 +98,12 @@ enum VERSION_EMERALD = 3, VERSION_FIRE_RED = 4, VERSION_LEAF_GREEN = 5, + VERSION_HEART_GOLD = 7, + VERSION_SOUL_SILVER = 8, + VERSION_DIAMOND = 10, + VERSION_PEARL = 11, + VERSION_PLATINUM = 12, + VERSION_GAMECUBE = 15, }; enum LanguageId diff --git a/ld_script.txt b/ld_script.txt index da119cd4a..b77c50547 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -111,10 +111,10 @@ SECTIONS { src/palette.o(.text); src/sound.o(.text); src/battle_anim.o(.text); - asm/battle_anim_80A5C6C.o(.text); + src/battle_anim_80A5C6C.o(.text); src/task.o(.text); src/reshow_battle_screen.o(.text); - asm/battle_anim_80A9C70.o(.text); + src/battle_anim_80A9C70.o(.text); src/title_screen.o(.text); asm/field_screen.o(.text); src/battle_setup.o(.text); @@ -134,7 +134,7 @@ SECTIONS { src/mail_data.o(.text); src/map_name_popup.o(.text); src/item_menu_icons.o(.text); - asm/battle_anim_80D51AC.o(.text); + src/battle_anim_80D51AC.o(.text); src/item.o(.text); src/contest.o(.text); asm/contest.o(.text); @@ -420,9 +420,10 @@ SECTIONS { data/fanfares.o(.rodata); data/battle_anims.o(.rodata); src/battle_anim.o(.rodata); - data/rom_8525F58.o(.rodata); + src/battle_anim_80A5C6C.o(.rodata); data/map_events.o(.rodata); data/battle_anim_80A9C70.o(.rodata); + src/battle_anim_80A9C70.o(.rodata); src/title_screen.o(.rodata); data/field_screen.o(.rodata); src/battle_setup.o(.rodata); @@ -564,65 +565,65 @@ SECTIONS { ALIGN(4) { sound/songs/midi/mus_dummy.o(.rodata); - sound/songs/se_kaifuku.o(.rodata); + sound/songs/midi/se_kaifuku.o(.rodata); sound/songs/se_pc_login.o(.rodata); sound/songs/se_pc_off.o(.rodata); sound/songs/se_pc_on.o(.rodata); sound/songs/se_select.o(.rodata); sound/songs/se_win_open.o(.rodata); sound/songs/se_wall_hit.o(.rodata); - sound/songs/se_door.o(.rodata); - sound/songs/se_kaidan.o(.rodata); - sound/songs/se_dansa.o(.rodata); - sound/songs/se_jitensya.o(.rodata); - sound/songs/se_kouka_l.o(.rodata); - sound/songs/se_kouka_m.o(.rodata); - sound/songs/se_kouka_h.o(.rodata); - sound/songs/se_bowa2.o(.rodata); + sound/songs/midi/se_door.o(.rodata); + sound/songs/midi/se_kaidan.o(.rodata); + sound/songs/midi/se_dansa.o(.rodata); + sound/songs/midi/se_jitensya.o(.rodata); + sound/songs/midi/se_kouka_l.o(.rodata); + sound/songs/midi/se_kouka_m.o(.rodata); + sound/songs/midi/se_kouka_h.o(.rodata); + sound/songs/midi/se_bowa2.o(.rodata); sound/songs/se_poke_dead.o(.rodata); sound/songs/se_nigeru.o(.rodata); - sound/songs/se_jido_doa.o(.rodata); + sound/songs/midi/se_jido_doa.o(.rodata); sound/songs/se_naminori.o(.rodata); - sound/songs/se_ban.o(.rodata); + sound/songs/midi/se_ban.o(.rodata); sound/songs/se_pin.o(.rodata); - sound/songs/se_boo.o(.rodata); - sound/songs/se_bowa.o(.rodata); - sound/songs/se_jyuni.o(.rodata); - sound/songs/se_a.o(.rodata); - sound/songs/se_i.o(.rodata); + sound/songs/midi/se_boo.o(.rodata); + sound/songs/midi/se_bowa.o(.rodata); + sound/songs/midi/se_jyuni.o(.rodata); + sound/songs/midi/se_a.o(.rodata); + sound/songs/midi/se_i.o(.rodata); sound/songs/se_u.o(.rodata); - sound/songs/se_e.o(.rodata); + sound/songs/midi/se_e.o(.rodata); sound/songs/se_o.o(.rodata); sound/songs/se_n.o(.rodata); sound/songs/se_seikai.o(.rodata); - sound/songs/se_hazure.o(.rodata); - sound/songs/se_exp.o(.rodata); - sound/songs/se_jite_pyoko.o(.rodata); + sound/songs/midi/se_hazure.o(.rodata); + sound/songs/midi/se_exp.o(.rodata); + sound/songs/midi/se_jite_pyoko.o(.rodata); sound/songs/se_mu_pachi.o(.rodata); sound/songs/se_tk_kasya.o(.rodata); - sound/songs/se_fu_zaku.o(.rodata); - sound/songs/se_fu_zaku2.o(.rodata); - sound/songs/se_fu_zuzuzu.o(.rodata); + sound/songs/midi/se_fu_zaku.o(.rodata); + sound/songs/midi/se_fu_zaku2.o(.rodata); + sound/songs/midi/se_fu_zuzuzu.o(.rodata); sound/songs/se_ru_gashin.o(.rodata); sound/songs/se_ru_gasyan.o(.rodata); sound/songs/se_ru_bari.o(.rodata); sound/songs/se_ru_hyuu.o(.rodata); - sound/songs/se_ki_gasyan.o(.rodata); + sound/songs/midi/se_ki_gasyan.o(.rodata); sound/songs/se_tk_warpin.o(.rodata); sound/songs/se_tk_warpout.o(.rodata); sound/songs/se_tu_saa.o(.rodata); - sound/songs/se_hi_turun.o(.rodata); + sound/songs/midi/se_hi_turun.o(.rodata); sound/songs/se_track_move.o(.rodata); sound/songs/se_track_stop.o(.rodata); sound/songs/se_track_haiki.o(.rodata); sound/songs/se_track_door.o(.rodata); sound/songs/se_moter.o(.rodata); - sound/songs/se_card.o(.rodata); + sound/songs/midi/se_card.o(.rodata); sound/songs/se_save.o(.rodata); - sound/songs/se_kon.o(.rodata); - sound/songs/se_kon2.o(.rodata); - sound/songs/se_kon3.o(.rodata); - sound/songs/se_kon4.o(.rodata); + sound/songs/midi/se_kon.o(.rodata); + sound/songs/midi/se_kon2.o(.rodata); + sound/songs/midi/se_kon3.o(.rodata); + sound/songs/midi/se_kon4.o(.rodata); sound/songs/se_suikomu.o(.rodata); sound/songs/se_nageru.o(.rodata); sound/songs/se_toy_c.o(.rodata); @@ -634,16 +635,16 @@ SECTIONS { sound/songs/se_toy_b.o(.rodata); sound/songs/se_toy_c1.o(.rodata); sound/songs/se_mizu.o(.rodata); - sound/songs/se_hashi.o(.rodata); - sound/songs/se_daugi.o(.rodata); + sound/songs/midi/se_hashi.o(.rodata); + sound/songs/midi/se_daugi.o(.rodata); sound/songs/se_pinpon.o(.rodata); - sound/songs/se_fuusen1.o(.rodata); - sound/songs/se_fuusen2.o(.rodata); - sound/songs/se_fuusen3.o(.rodata); + sound/songs/midi/se_fuusen1.o(.rodata); + sound/songs/midi/se_fuusen2.o(.rodata); + sound/songs/midi/se_fuusen3.o(.rodata); sound/songs/se_toy_kabe.o(.rodata); sound/songs/se_toy_dango.o(.rodata); - sound/songs/se_doku.o(.rodata); - sound/songs/se_esuka.o(.rodata); + sound/songs/midi/se_doku.o(.rodata); + sound/songs/midi/se_esuka.o(.rodata); sound/songs/se_t_ame.o(.rodata); sound/songs/se_t_ame_e.o(.rodata); sound/songs/se_t_ooame.o(.rodata); @@ -652,24 +653,24 @@ SECTIONS { sound/songs/se_t_koame_e.o(.rodata); sound/songs/se_t_kami.o(.rodata); sound/songs/se_t_kami2.o(.rodata); - sound/songs/se_elebeta.o(.rodata); - sound/songs/se_hinsi.o(.rodata); - sound/songs/se_expmax.o(.rodata); + sound/songs/midi/se_elebeta.o(.rodata); + sound/songs/midi/se_hinsi.o(.rodata); + sound/songs/midi/se_expmax.o(.rodata); sound/songs/se_tamakoro.o(.rodata); sound/songs/se_tamakoro_e.o(.rodata); - sound/songs/se_basabasa.o(.rodata); + sound/songs/midi/se_basabasa.o(.rodata); sound/songs/se_regi.o(.rodata); - sound/songs/se_c_gaji.o(.rodata); - sound/songs/se_c_maku_u.o(.rodata); - sound/songs/se_c_maku_d.o(.rodata); - sound/songs/se_c_pasi.o(.rodata); - sound/songs/se_c_syu.o(.rodata); - sound/songs/se_c_pikon.o(.rodata); + sound/songs/midi/se_c_gaji.o(.rodata); + sound/songs/midi/se_c_maku_u.o(.rodata); + sound/songs/midi/se_c_maku_d.o(.rodata); + sound/songs/midi/se_c_pasi.o(.rodata); + sound/songs/midi/se_c_syu.o(.rodata); + sound/songs/midi/se_c_pikon.o(.rodata); sound/songs/se_reapoke.o(.rodata); sound/songs/se_op_basyu.o(.rodata); - sound/songs/se_bt_start.o(.rodata); - sound/songs/se_dendou.o(.rodata); - sound/songs/se_jihanki.o(.rodata); + sound/songs/midi/se_bt_start.o(.rodata); + sound/songs/midi/se_dendou.o(.rodata); + sound/songs/midi/se_jihanki.o(.rodata); sound/songs/se_tama.o(.rodata); sound/songs/se_z_scroll.o(.rodata); sound/songs/se_z_page.o(.rodata); @@ -680,7 +681,7 @@ SECTIONS { sound/songs/se_tb_start.o(.rodata); sound/songs/se_tb_kon.o(.rodata); sound/songs/se_tb_kara.o(.rodata); - sound/songs/se_bidoro.o(.rodata); + sound/songs/midi/se_bidoro.o(.rodata); sound/songs/se_w085.o(.rodata); sound/songs/se_w085b.o(.rodata); sound/songs/se_w231.o(.rodata); @@ -828,10 +829,10 @@ SECTIONS { sound/songs/se_rg_nawamiss.o(.rodata); sound/songs/se_toreeye.o(.rodata); sound/songs/se_toreoff.o(.rodata); - sound/songs/se_hantei1.o(.rodata); - sound/songs/se_hantei2.o(.rodata); - sound/songs/se_curtain.o(.rodata); - sound/songs/se_curtain1.o(.rodata); + sound/songs/midi/se_hantei1.o(.rodata); + sound/songs/midi/se_hantei2.o(.rodata); + sound/songs/midi/se_curtain.o(.rodata); + sound/songs/midi/se_curtain1.o(.rodata); sound/songs/se_ussoki.o(.rodata); sound/songs/midi/mus_tetsuji.o(.rodata); sound/songs/midi/mus_field13.o(.rodata); diff --git a/songs.mk b/songs.mk index fb0d6b504..dd65ffce7 100644 --- a/songs.mk +++ b/songs.mk @@ -786,5 +786,170 @@ $(MID_SUBDIR)/ph_trap_held.s: %.s: %.mid $(MID_SUBDIR)/ph_trap_solo.s: %.s: %.mid $(MID) $< $@ -E -G130 -P4 +$(MID_SUBDIR)/se_a.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4 + +$(MID_SUBDIR)/se_ban.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 + +$(MID_SUBDIR)/se_basabasa.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P5 + +$(MID_SUBDIR)/se_bidoro.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P5 + +$(MID_SUBDIR)/se_boo.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4 + +$(MID_SUBDIR)/se_bowa.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V070 -P4 + +$(MID_SUBDIR)/se_bowa2.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 + +$(MID_SUBDIR)/se_bt_start.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5 + +$(MID_SUBDIR)/se_c_gaji.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5 + +$(MID_SUBDIR)/se_c_maku_d.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V070 -P5 + +$(MID_SUBDIR)/se_c_maku_u.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V070 -P5 + +$(MID_SUBDIR)/se_c_pasi.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P5 + +$(MID_SUBDIR)/se_c_pikon.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5 + +$(MID_SUBDIR)/se_c_syu.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5 + +$(MID_SUBDIR)/se_card.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4 + +$(MID_SUBDIR)/se_curtain.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 + +$(MID_SUBDIR)/se_curtain1.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 + +$(MID_SUBDIR)/se_dansa.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4 + +$(MID_SUBDIR)/se_daugi.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P5 + +$(MID_SUBDIR)/se_dendou.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P5 + +$(MID_SUBDIR)/se_doku.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5 + +$(MID_SUBDIR)/se_door.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P5 + +$(MID_SUBDIR)/se_e.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4 + +$(MID_SUBDIR)/se_elebeta.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 + +$(MID_SUBDIR)/se_esuka.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 + +$(MID_SUBDIR)/se_exp.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P5 + +$(MID_SUBDIR)/se_expmax.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V094 -P5 + +$(MID_SUBDIR)/se_fu_zaku.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V120 -P4 + +$(MID_SUBDIR)/se_fu_zaku2.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4 + +$(MID_SUBDIR)/se_fu_zuzuzu.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -P4 + +$(MID_SUBDIR)/se_fuusen1.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4 + +$(MID_SUBDIR)/se_fuusen2.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4 + +$(MID_SUBDIR)/se_fuusen3.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4 + +$(MID_SUBDIR)/se_hantei1.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 + +$(MID_SUBDIR)/se_hantei2.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 + +$(MID_SUBDIR)/se_hashi.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4 + +$(MID_SUBDIR)/se_hazure.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V120 -P4 + +$(MID_SUBDIR)/se_hi_turun.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4 + +$(MID_SUBDIR)/se_hinsi.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P3 + +$(MID_SUBDIR)/se_i.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4 + +$(MID_SUBDIR)/se_jido_doa.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4 + +$(MID_SUBDIR)/se_jihanki.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 + +$(MID_SUBDIR)/se_jite_pyoko.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P4 + +$(MID_SUBDIR)/se_jitensya.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4 + +$(MID_SUBDIR)/se_jyuni.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4 + +$(MID_SUBDIR)/se_kaidan.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V120 -P5 + +$(MID_SUBDIR)/se_kaifuku.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 + +$(MID_SUBDIR)/se_ki_gasyan.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 + +$(MID_SUBDIR)/se_kon.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 + +$(MID_SUBDIR)/se_kon2.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 + +$(MID_SUBDIR)/se_kon3.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 + +$(MID_SUBDIR)/se_kon4.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 + +$(MID_SUBDIR)/se_kouka_h.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5 + +$(MID_SUBDIR)/se_kouka_l.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5 + +$(MID_SUBDIR)/se_kouka_m.s: %.s: %.mid + $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5 + $(MID_SUBDIR)/se_z_search.s: %.s: %.mid $(MID) $< $@ -E -R$(STD_REVERB) -G127 -P5 diff --git a/sound/song_table.inc b/sound/song_table.inc index 624cabe53..5b5813ab2 100644 --- a/sound/song_table.inc +++ b/sound/song_table.inc @@ -25,7 +25,7 @@ gSongTable:: @ 86B49F0 song se_pin, 1, 1 @ Exclamation Bubble song se_boo, 1, 1 @ Contest Jam song se_bowa, 1, 1 @ Giving Poké Ball to Nurse, Poké Ball Wiggle - song se_jyuni, 2, 2 @ Places in Contest Appearing + song se_jyuni, 2, 2 @ Contest - Rankings Revealed song se_a, 1, 1 @ Bard A song se_i, 1, 1 @ Bard I song se_u, 1, 1 @ Bard U @@ -40,7 +40,7 @@ gSongTable:: @ 86B49F0 song se_tk_kasya, 1, 1 @ Mossdeep Gym/Trick House Switch song se_fu_zaku, 1, 1 song se_fu_zaku2, 1, 1 - song se_fu_zuzuzu, 1, 1 @ Lavaridge Gym Warp + song se_fu_zuzuzu, 1, 1 @ Lavaridge Gym - Warp song se_ru_gashin, 1, 1 @ Sootopolis Gym - Stairs Appear song se_ru_gasyan, 1, 1 @ Sootopolis Gym - Ice Breaking song se_ru_bari, 1, 1 @ Sootopolis Gym - Walking on Ice @@ -49,7 +49,7 @@ gSongTable:: @ 86B49F0 song se_tk_warpin, 1, 1 @ Warp In song se_tk_warpout, 1, 1 @ Warp Out song se_tu_saa, 1, 1 @ Repel - song se_hi_turun, 1, 1 @ Moving Obstacle in Fortree Gym + song se_hi_turun, 1, 1 @ Fortree Gym - Obstacle song se_track_move, 1, 1 @ Moving Truck song se_track_stop, 1, 1 @ Moving Truck Stop song se_track_haiki, 2, 2 @ Moving Truck Unload @@ -72,15 +72,15 @@ gSongTable:: @ 86B49F0 song se_toy_b, 2, 2 @ Note B song se_toy_c1, 2, 2 @ Note High C song se_mizu, 2, 2 @ Puddle - song se_hashi, 2, 2 @ Boardwalk - song se_daugi, 1, 1 @ Slots Credits + song se_hashi, 2, 2 @ Fortree Walkways + song se_daugi, 1, 1 @ Slots - Credits song se_pinpon, 1, 1 @ Ding-dong! song se_fuusen1, 2, 2 @ Red Balloon song se_fuusen2, 2, 2 @ Blue Balloon song se_fuusen3, 2, 2 @ Yellow Balloon song se_toy_kabe, 2, 2 @ Breakable Door song se_toy_dango, 2, 2 @ Mud Ball - song se_doku, 1, 1 @ Overworld Poison Damage + song se_doku, 1, 1 @ Overworld - Poison Damage song se_esuka, 1, 1 @ Escalator song se_t_ame, 3, 3 @ Rain song se_t_ame_e, 3, 3 @ Rain Stop @@ -95,14 +95,14 @@ gSongTable:: @ 86B49F0 song se_expmax, 1, 1 @ Exp. Max song se_tamakoro, 2, 2 @ Roulette Ball song se_tamakoro_e, 2, 2 @ Roulette Ball 2 - song se_basabasa, 1, 1 + song se_basabasa, 1, 1 @ Wing Attack song se_regi, 1, 1 @ Cash Register - song se_c_gaji, 1, 1 @ Contest Hearts - song se_c_maku_u, 1, 1 @ Contest Curtain rise - song se_c_maku_d, 1, 1 @ Contest Curtain fall - song se_c_pasi, 1, 1 - song se_c_syu, 1, 1 - song se_c_pikon, 1, 1 @ Pokémon Appears in Contest + song se_c_gaji, 1, 1 @ Contest - Hearts + song se_c_maku_u, 1, 1 @ Contest - Curtain Rises + song se_c_maku_d, 1, 1 @ Contest - Curtain Falls + song se_c_pasi, 1, 1 @ Contest - Inflict Status + song se_c_syu, 1, 1 @ Contest - Pokémon Switches Out + song se_c_pikon, 1, 1 @ Contest - Pokémon Switches In song se_reapoke, 1, 1 @ Shiny Pokémon song se_op_basyu, 1, 1 @ Opening Movie -> Title Screen whoosh song se_bt_start, 1, 1 @ Battle Mugshot whoosh @@ -266,10 +266,10 @@ gSongTable:: @ 86B49F0 song se_rg_nawamiss, 1, 1 song se_toreeye, 1, 1 @ Trainer's Eye Call song se_toreoff, 1, 1 @ Trainer's Eye Hang Up - song se_hantei1, 1, 1 @ Battle Arena Time's Up 1 - song se_hantei2, 1, 1 @ Battle Arena Time's Up 2 - song se_curtain, 1, 1 @ Battle Pike Curtain Open - song se_curtain1, 1, 1 @ Battle Pike Curtain Close + song se_hantei1, 1, 1 @ Battle Arena - Judgment 1 + song se_hantei2, 1, 1 @ Battle Arena - Judgment 2 + song se_curtain, 1, 1 @ Battle Pike - Curtain Opens + song se_curtain1, 1, 1 @ Battle Pike - Curtain Closes song se_ussoki, 1, 1 @ Sudowoodo song dummy_song_header, 0, 0 song dummy_song_header, 0, 0 diff --git a/sound/songs/midi/se_a.mid b/sound/songs/midi/se_a.mid new file mode 100644 index 000000000..e44a27926 Binary files /dev/null and b/sound/songs/midi/se_a.mid differ diff --git a/sound/songs/midi/se_ban.mid b/sound/songs/midi/se_ban.mid new file mode 100644 index 000000000..0722a1c36 Binary files /dev/null and b/sound/songs/midi/se_ban.mid differ diff --git a/sound/songs/midi/se_basabasa.mid b/sound/songs/midi/se_basabasa.mid new file mode 100644 index 000000000..7a965abf5 Binary files /dev/null and b/sound/songs/midi/se_basabasa.mid differ diff --git a/sound/songs/midi/se_bidoro.mid b/sound/songs/midi/se_bidoro.mid new file mode 100644 index 000000000..a0b639ba4 Binary files /dev/null and b/sound/songs/midi/se_bidoro.mid differ diff --git a/sound/songs/midi/se_boo.mid b/sound/songs/midi/se_boo.mid new file mode 100644 index 000000000..89eb130b9 Binary files /dev/null and b/sound/songs/midi/se_boo.mid differ diff --git a/sound/songs/midi/se_bowa.mid b/sound/songs/midi/se_bowa.mid new file mode 100644 index 000000000..684ea618c Binary files /dev/null and b/sound/songs/midi/se_bowa.mid differ diff --git a/sound/songs/midi/se_bowa2.mid b/sound/songs/midi/se_bowa2.mid new file mode 100644 index 000000000..669bed700 Binary files /dev/null and b/sound/songs/midi/se_bowa2.mid differ diff --git a/sound/songs/midi/se_bt_start.mid b/sound/songs/midi/se_bt_start.mid new file mode 100644 index 000000000..8c13783e9 Binary files /dev/null and b/sound/songs/midi/se_bt_start.mid differ diff --git a/sound/songs/midi/se_c_gaji.mid b/sound/songs/midi/se_c_gaji.mid new file mode 100644 index 000000000..94b6389b7 Binary files /dev/null and b/sound/songs/midi/se_c_gaji.mid differ diff --git a/sound/songs/midi/se_c_maku_d.mid b/sound/songs/midi/se_c_maku_d.mid new file mode 100644 index 000000000..04e2bfb11 Binary files /dev/null and b/sound/songs/midi/se_c_maku_d.mid differ diff --git a/sound/songs/midi/se_c_maku_u.mid b/sound/songs/midi/se_c_maku_u.mid new file mode 100644 index 000000000..109f92322 Binary files /dev/null and b/sound/songs/midi/se_c_maku_u.mid differ diff --git a/sound/songs/midi/se_c_pasi.mid b/sound/songs/midi/se_c_pasi.mid new file mode 100644 index 000000000..eea9c5707 Binary files /dev/null and b/sound/songs/midi/se_c_pasi.mid differ diff --git a/sound/songs/midi/se_c_pikon.mid b/sound/songs/midi/se_c_pikon.mid new file mode 100644 index 000000000..718a61443 Binary files /dev/null and b/sound/songs/midi/se_c_pikon.mid differ diff --git a/sound/songs/midi/se_c_syu.mid b/sound/songs/midi/se_c_syu.mid new file mode 100644 index 000000000..3766d5f51 Binary files /dev/null and b/sound/songs/midi/se_c_syu.mid differ diff --git a/sound/songs/midi/se_card.mid b/sound/songs/midi/se_card.mid new file mode 100644 index 000000000..a6832a85f Binary files /dev/null and b/sound/songs/midi/se_card.mid differ diff --git a/sound/songs/midi/se_curtain.mid b/sound/songs/midi/se_curtain.mid new file mode 100644 index 000000000..88c684318 Binary files /dev/null and b/sound/songs/midi/se_curtain.mid differ diff --git a/sound/songs/midi/se_curtain1.mid b/sound/songs/midi/se_curtain1.mid new file mode 100644 index 000000000..0a40e158e Binary files /dev/null and b/sound/songs/midi/se_curtain1.mid differ diff --git a/sound/songs/midi/se_dansa.mid b/sound/songs/midi/se_dansa.mid new file mode 100644 index 000000000..61eae0318 Binary files /dev/null and b/sound/songs/midi/se_dansa.mid differ diff --git a/sound/songs/midi/se_daugi.mid b/sound/songs/midi/se_daugi.mid new file mode 100644 index 000000000..9b6538a70 Binary files /dev/null and b/sound/songs/midi/se_daugi.mid differ diff --git a/sound/songs/midi/se_dendou.mid b/sound/songs/midi/se_dendou.mid new file mode 100644 index 000000000..4ab2a2212 Binary files /dev/null and b/sound/songs/midi/se_dendou.mid differ diff --git a/sound/songs/midi/se_doku.mid b/sound/songs/midi/se_doku.mid new file mode 100644 index 000000000..83841203a Binary files /dev/null and b/sound/songs/midi/se_doku.mid differ diff --git a/sound/songs/midi/se_door.mid b/sound/songs/midi/se_door.mid new file mode 100644 index 000000000..004889e93 Binary files /dev/null and b/sound/songs/midi/se_door.mid differ diff --git a/sound/songs/midi/se_e.mid b/sound/songs/midi/se_e.mid new file mode 100644 index 000000000..79485cbc9 Binary files /dev/null and b/sound/songs/midi/se_e.mid differ diff --git a/sound/songs/midi/se_elebeta.mid b/sound/songs/midi/se_elebeta.mid new file mode 100644 index 000000000..66ee5fd1f Binary files /dev/null and b/sound/songs/midi/se_elebeta.mid differ diff --git a/sound/songs/midi/se_esuka.mid b/sound/songs/midi/se_esuka.mid new file mode 100644 index 000000000..6a9e22a5b Binary files /dev/null and b/sound/songs/midi/se_esuka.mid differ diff --git a/sound/songs/midi/se_exp.mid b/sound/songs/midi/se_exp.mid new file mode 100644 index 000000000..fa75616b5 Binary files /dev/null and b/sound/songs/midi/se_exp.mid differ diff --git a/sound/songs/midi/se_expmax.mid b/sound/songs/midi/se_expmax.mid new file mode 100644 index 000000000..8772e915e Binary files /dev/null and b/sound/songs/midi/se_expmax.mid differ diff --git a/sound/songs/midi/se_fu_zaku.mid b/sound/songs/midi/se_fu_zaku.mid new file mode 100644 index 000000000..dbdb6383b Binary files /dev/null and b/sound/songs/midi/se_fu_zaku.mid differ diff --git a/sound/songs/midi/se_fu_zaku2.mid b/sound/songs/midi/se_fu_zaku2.mid new file mode 100644 index 000000000..3fc903844 Binary files /dev/null and b/sound/songs/midi/se_fu_zaku2.mid differ diff --git a/sound/songs/midi/se_fu_zuzuzu.mid b/sound/songs/midi/se_fu_zuzuzu.mid new file mode 100644 index 000000000..962113ad3 Binary files /dev/null and b/sound/songs/midi/se_fu_zuzuzu.mid differ diff --git a/sound/songs/midi/se_fuusen1.mid b/sound/songs/midi/se_fuusen1.mid new file mode 100644 index 000000000..d22679a86 Binary files /dev/null and b/sound/songs/midi/se_fuusen1.mid differ diff --git a/sound/songs/midi/se_fuusen2.mid b/sound/songs/midi/se_fuusen2.mid new file mode 100644 index 000000000..4efc1a525 Binary files /dev/null and b/sound/songs/midi/se_fuusen2.mid differ diff --git a/sound/songs/midi/se_fuusen3.mid b/sound/songs/midi/se_fuusen3.mid new file mode 100644 index 000000000..ae40e0008 Binary files /dev/null and b/sound/songs/midi/se_fuusen3.mid differ diff --git a/sound/songs/midi/se_hantei1.mid b/sound/songs/midi/se_hantei1.mid new file mode 100644 index 000000000..1f2855420 Binary files /dev/null and b/sound/songs/midi/se_hantei1.mid differ diff --git a/sound/songs/midi/se_hantei2.mid b/sound/songs/midi/se_hantei2.mid new file mode 100644 index 000000000..06698dde9 Binary files /dev/null and b/sound/songs/midi/se_hantei2.mid differ diff --git a/sound/songs/midi/se_hashi.mid b/sound/songs/midi/se_hashi.mid new file mode 100644 index 000000000..fdd772c18 Binary files /dev/null and b/sound/songs/midi/se_hashi.mid differ diff --git a/sound/songs/midi/se_hazure.mid b/sound/songs/midi/se_hazure.mid new file mode 100644 index 000000000..c3c52f88f Binary files /dev/null and b/sound/songs/midi/se_hazure.mid differ diff --git a/sound/songs/midi/se_hi_turun.mid b/sound/songs/midi/se_hi_turun.mid new file mode 100644 index 000000000..2a09f6c55 Binary files /dev/null and b/sound/songs/midi/se_hi_turun.mid differ diff --git a/sound/songs/midi/se_hinsi.mid b/sound/songs/midi/se_hinsi.mid new file mode 100644 index 000000000..3676a4a04 Binary files /dev/null and b/sound/songs/midi/se_hinsi.mid differ diff --git a/sound/songs/midi/se_i.mid b/sound/songs/midi/se_i.mid new file mode 100644 index 000000000..df7278dfd Binary files /dev/null and b/sound/songs/midi/se_i.mid differ diff --git a/sound/songs/midi/se_jido_doa.mid b/sound/songs/midi/se_jido_doa.mid new file mode 100644 index 000000000..62fa8c911 Binary files /dev/null and b/sound/songs/midi/se_jido_doa.mid differ diff --git a/sound/songs/midi/se_jihanki.mid b/sound/songs/midi/se_jihanki.mid new file mode 100644 index 000000000..ac6436d72 Binary files /dev/null and b/sound/songs/midi/se_jihanki.mid differ diff --git a/sound/songs/midi/se_jite_pyoko.mid b/sound/songs/midi/se_jite_pyoko.mid new file mode 100644 index 000000000..013be8590 Binary files /dev/null and b/sound/songs/midi/se_jite_pyoko.mid differ diff --git a/sound/songs/midi/se_jitensya.mid b/sound/songs/midi/se_jitensya.mid new file mode 100644 index 000000000..9d5de6cbd Binary files /dev/null and b/sound/songs/midi/se_jitensya.mid differ diff --git a/sound/songs/midi/se_jyuni.mid b/sound/songs/midi/se_jyuni.mid new file mode 100644 index 000000000..f68a31e46 Binary files /dev/null and b/sound/songs/midi/se_jyuni.mid differ diff --git a/sound/songs/midi/se_kaidan.mid b/sound/songs/midi/se_kaidan.mid new file mode 100644 index 000000000..575307d86 Binary files /dev/null and b/sound/songs/midi/se_kaidan.mid differ diff --git a/sound/songs/midi/se_kaifuku.mid b/sound/songs/midi/se_kaifuku.mid new file mode 100644 index 000000000..4375a705d Binary files /dev/null and b/sound/songs/midi/se_kaifuku.mid differ diff --git a/sound/songs/midi/se_ki_gasyan.mid b/sound/songs/midi/se_ki_gasyan.mid new file mode 100644 index 000000000..8a57132d9 Binary files /dev/null and b/sound/songs/midi/se_ki_gasyan.mid differ diff --git a/sound/songs/midi/se_kon.mid b/sound/songs/midi/se_kon.mid new file mode 100644 index 000000000..438d4b047 Binary files /dev/null and b/sound/songs/midi/se_kon.mid differ diff --git a/sound/songs/midi/se_kon2.mid b/sound/songs/midi/se_kon2.mid new file mode 100644 index 000000000..961d82642 Binary files /dev/null and b/sound/songs/midi/se_kon2.mid differ diff --git a/sound/songs/midi/se_kon3.mid b/sound/songs/midi/se_kon3.mid new file mode 100644 index 000000000..fc35f1931 Binary files /dev/null and b/sound/songs/midi/se_kon3.mid differ diff --git a/sound/songs/midi/se_kon4.mid b/sound/songs/midi/se_kon4.mid new file mode 100644 index 000000000..b0f5561b9 Binary files /dev/null and b/sound/songs/midi/se_kon4.mid differ diff --git a/sound/songs/midi/se_kouka_h.mid b/sound/songs/midi/se_kouka_h.mid new file mode 100644 index 000000000..e70b12901 Binary files /dev/null and b/sound/songs/midi/se_kouka_h.mid differ diff --git a/sound/songs/midi/se_kouka_l.mid b/sound/songs/midi/se_kouka_l.mid new file mode 100644 index 000000000..34aafbb18 Binary files /dev/null and b/sound/songs/midi/se_kouka_l.mid differ diff --git a/sound/songs/midi/se_kouka_m.mid b/sound/songs/midi/se_kouka_m.mid new file mode 100644 index 000000000..d98bd0027 Binary files /dev/null and b/sound/songs/midi/se_kouka_m.mid differ diff --git a/sound/songs/se_a.s b/sound/songs/se_a.s deleted file mode 100644 index 860a9aa27..000000000 --- a/sound/songs/se_a.s +++ /dev/null @@ -1,45 +0,0 @@ - .include "MPlayDef.s" - - .equ se_a_grp, voicegroup128 - .equ se_a_pri, 4 - .equ se_a_rev, reverb_set+50 - .equ se_a_mvl, 127 - .equ se_a_key, 0 - .equ se_a_tbs, 1 - .equ se_a_exg, 0 - .equ se_a_cmp, 1 - - .section .rodata - .global se_a - .align 2 - -@********************** Track 1 **********************@ - -se_a_1: - .byte KEYSH , se_a_key+0 - .byte TEMPO , 240*se_a_tbs/2 - .byte VOICE , 122 - .byte BENDR , 12 - .byte VOL , 95*se_a_mvl/mxv - .byte BEND , c_v+0 - .byte N72 , Cn3 , v127 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte FINE - -@******************************************************@ - .align 2 - -se_a: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_a_pri @ Priority - .byte se_a_rev @ Reverb. - - .word se_a_grp - - .word se_a_1 - - .end diff --git a/sound/songs/se_ban.s b/sound/songs/se_ban.s deleted file mode 100644 index c4e39b5cd..000000000 --- a/sound/songs/se_ban.s +++ /dev/null @@ -1,70 +0,0 @@ - .include "MPlayDef.s" - - .equ se_ban_grp, voicegroup128 - .equ se_ban_pri, 4 - .equ se_ban_rev, reverb_set+50 - .equ se_ban_mvl, 127 - .equ se_ban_key, 0 - .equ se_ban_tbs, 1 - .equ se_ban_exg, 0 - .equ se_ban_cmp, 1 - - .section .rodata - .global se_ban - .align 2 - -@********************** Track 1 **********************@ - -se_ban_1: - .byte KEYSH , se_ban_key+0 - .byte TEMPO , 240*se_ban_tbs/2 - .byte VOICE , 2 - .byte BENDR , 12 - .byte VOL , 110*se_ban_mvl/mxv - .byte BEND , c_v+0 - .byte N03 , En2 , v127 - .byte W03 - .byte Dn2 - .byte W03 - .byte N06 , Gn1 - .byte W06 - .byte N60 , An2 - .byte W12 - .byte W24 - .byte VOL , 94*se_ban_mvl/mxv - .byte BEND , c_v-5 - .byte W03 - .byte VOL , 81*se_ban_mvl/mxv - .byte W03 - .byte 71*se_ban_mvl/mxv - .byte BEND , c_v-12 - .byte W03 - .byte VOL , 47*se_ban_mvl/mxv - .byte W03 - .byte 32*se_ban_mvl/mxv - .byte BEND , c_v-19 - .byte W03 - .byte VOL , 20*se_ban_mvl/mxv - .byte W03 - .byte 7*se_ban_mvl/mxv - .byte BEND , c_v-28 - .byte W03 - .byte VOL , 0*se_ban_mvl/mxv - .byte BEND , c_v-37 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_ban: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_ban_pri @ Priority - .byte se_ban_rev @ Reverb. - - .word se_ban_grp - - .word se_ban_1 - - .end diff --git a/sound/songs/se_basabasa.s b/sound/songs/se_basabasa.s deleted file mode 100644 index bf1ee14ca..000000000 --- a/sound/songs/se_basabasa.s +++ /dev/null @@ -1,123 +0,0 @@ - .include "MPlayDef.s" - - .equ se_basabasa_grp, voicegroup128 - .equ se_basabasa_pri, 5 - .equ se_basabasa_rev, reverb_set+50 - .equ se_basabasa_mvl, 127 - .equ se_basabasa_key, 0 - .equ se_basabasa_tbs, 1 - .equ se_basabasa_exg, 0 - .equ se_basabasa_cmp, 1 - - .section .rodata - .global se_basabasa - .align 2 - -@********************** Track 1 **********************@ - -se_basabasa_1: - .byte KEYSH , se_basabasa_key+0 -se_basabasa_1_B1: - .byte TEMPO , 220*se_basabasa_tbs/2 - .byte VOICE , 2 - .byte BENDR , 12 - .byte PAN , c_v+0 - .byte VOL , 40*se_basabasa_mvl/mxv - .byte BEND , c_v-32 - .byte N07 , An1 , v127 - .byte W01 - .byte VOL , 52*se_basabasa_mvl/mxv - .byte PAN , c_v+10 - .byte BEND , c_v-16 - .byte W01 - .byte VOL , 68*se_basabasa_mvl/mxv - .byte PAN , c_v+0 - .byte BEND , c_v+0 - .byte W01 - .byte VOL , 82*se_basabasa_mvl/mxv - .byte PAN , c_v-9 - .byte BEND , c_v+17 - .byte W01 - .byte VOL , 105*se_basabasa_mvl/mxv - .byte PAN , c_v+0 - .byte BEND , c_v+37 - .byte W02 - .byte PAN , c_v+10 - .byte BEND , c_v+63 - .byte W03 - .byte PAN , c_v+0 - .byte W01 - .byte VOL , 40*se_basabasa_mvl/mxv - .byte PAN , c_v+10 - .byte BEND , c_v+1 - .byte N06 - .byte W02 - .byte VOL , 52*se_basabasa_mvl/mxv - .byte PAN , c_v+0 - .byte BEND , c_v+38 - .byte W01 - .byte VOL , 79*se_basabasa_mvl/mxv - .byte PAN , c_v-9 - .byte BEND , c_v+48 - .byte W01 - .byte VOL , 105*se_basabasa_mvl/mxv - .byte PAN , c_v+0 - .byte BEND , c_v+63 - .byte W10 - .byte W12 - .byte W12 - .byte GOTO - .word se_basabasa_1_B1 - .byte FINE - -@********************** Track 2 **********************@ - -se_basabasa_2: - .byte KEYSH , se_basabasa_key+0 -se_basabasa_2_B1: - .byte VOICE , 27 - .byte PAN , c_v+0 - .byte VOL , 52*se_basabasa_mvl/mxv - .byte N07 , Gn2 , v040 - .byte W01 - .byte VOL , 69*se_basabasa_mvl/mxv - .byte W01 - .byte 83*se_basabasa_mvl/mxv - .byte W01 - .byte 105*se_basabasa_mvl/mxv - .byte W01 - .byte 67*se_basabasa_mvl/mxv - .byte W02 - .byte 23*se_basabasa_mvl/mxv - .byte W04 - .byte VOICE , 25 - .byte VOL , 52*se_basabasa_mvl/mxv - .byte N06 , Gs4 - .byte W02 - .byte VOL , 81*se_basabasa_mvl/mxv - .byte W01 - .byte 105*se_basabasa_mvl/mxv - .byte W02 - .byte 52*se_basabasa_mvl/mxv - .byte W09 - .byte W12 - .byte W12 - .byte GOTO - .word se_basabasa_2_B1 - .byte FINE - -@******************************************************@ - .align 2 - -se_basabasa: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_basabasa_pri @ Priority - .byte se_basabasa_rev @ Reverb. - - .word se_basabasa_grp - - .word se_basabasa_1 - .word se_basabasa_2 - - .end diff --git a/sound/songs/se_bidoro.s b/sound/songs/se_bidoro.s deleted file mode 100644 index 6130a39a2..000000000 --- a/sound/songs/se_bidoro.s +++ /dev/null @@ -1,61 +0,0 @@ - .include "MPlayDef.s" - - .equ se_bidoro_grp, voicegroup128 - .equ se_bidoro_pri, 5 - .equ se_bidoro_rev, reverb_set+50 - .equ se_bidoro_mvl, 127 - .equ se_bidoro_key, 0 - .equ se_bidoro_tbs, 1 - .equ se_bidoro_exg, 0 - .equ se_bidoro_cmp, 1 - - .section .rodata - .global se_bidoro - .align 2 - -@********************** Track 1 **********************@ - -se_bidoro_1: - .byte KEYSH , se_bidoro_key+0 - .byte TEMPO , 120*se_bidoro_tbs/2 - .byte VOICE , 28 - .byte VOL , 26*se_bidoro_mvl/mxv - .byte BENDR , 8 - .byte BEND , c_v+0 - .byte N01 , En3 , v116 - .byte W01 - .byte VOL , 105*se_bidoro_mvl/mxv - .byte BEND , c_v-4 - .byte N01 , Bn2 - .byte W01 - .byte BEND , c_v+3 - .byte N01 , Cn3 - .byte W04 - .byte W04 - .byte BEND , c_v+0 - .byte N04 , Bn3 - .byte W02 - .byte VOL , 26*se_bidoro_mvl/mxv - .byte BEND , c_v-7 - .byte W01 - .byte VOL , 105*se_bidoro_mvl/mxv - .byte BEND , c_v-13 - .byte W01 - .byte c_v-23 - .byte W04 - .byte FINE - -@******************************************************@ - .align 2 - -se_bidoro: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_bidoro_pri @ Priority - .byte se_bidoro_rev @ Reverb. - - .word se_bidoro_grp - - .word se_bidoro_1 - - .end diff --git a/sound/songs/se_boo.s b/sound/songs/se_boo.s deleted file mode 100644 index c6bb1cb06..000000000 --- a/sound/songs/se_boo.s +++ /dev/null @@ -1,47 +0,0 @@ - .include "MPlayDef.s" - - .equ se_boo_grp, voicegroup127 - .equ se_boo_pri, 4 - .equ se_boo_rev, reverb_set+50 - .equ se_boo_mvl, 127 - .equ se_boo_key, 0 - .equ se_boo_tbs, 1 - .equ se_boo_exg, 0 - .equ se_boo_cmp, 1 - - .section .rodata - .global se_boo - .align 2 - -@********************** Track 1 **********************@ - -se_boo_1: - .byte KEYSH , se_boo_key+0 - .byte TEMPO , 100*se_boo_tbs/2 - .byte VOICE , 5 - .byte BENDR , 12 - .byte VOL , 110*se_boo_mvl/mxv - .byte BEND , c_v+0 - .byte N03 , Cn3 , v127 - .byte W03 - .byte Cn2 , v112 - .byte W03 - .byte W03 - .byte Cn2 , v024 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_boo: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_boo_pri @ Priority - .byte se_boo_rev @ Reverb. - - .word se_boo_grp - - .word se_boo_1 - - .end diff --git a/sound/songs/se_bowa.s b/sound/songs/se_bowa.s deleted file mode 100644 index 93b84265b..000000000 --- a/sound/songs/se_bowa.s +++ /dev/null @@ -1,45 +0,0 @@ - .include "MPlayDef.s" - - .equ se_bowa_grp, voicegroup127 - .equ se_bowa_pri, 4 - .equ se_bowa_rev, reverb_set+50 - .equ se_bowa_mvl, 127 - .equ se_bowa_key, 0 - .equ se_bowa_tbs, 1 - .equ se_bowa_exg, 0 - .equ se_bowa_cmp, 1 - - .section .rodata - .global se_bowa - .align 2 - -@********************** Track 1 **********************@ - -se_bowa_1: - .byte KEYSH , se_bowa_key+0 - .byte TEMPO , 128*se_bowa_tbs/2 - .byte VOICE , 7 - .byte BENDR , 12 - .byte VOL , 70*se_bowa_mvl/mxv - .byte BEND , c_v+2 - .byte N04 , Fn2 , v127 - .byte W04 - .byte N01 , Dn3 - .byte W02 - .byte VOICE , 8 - .byte FINE - -@******************************************************@ - .align 2 - -se_bowa: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_bowa_pri @ Priority - .byte se_bowa_rev @ Reverb. - - .word se_bowa_grp - - .word se_bowa_1 - - .end diff --git a/sound/songs/se_bowa2.s b/sound/songs/se_bowa2.s deleted file mode 100644 index 571c45291..000000000 --- a/sound/songs/se_bowa2.s +++ /dev/null @@ -1,83 +0,0 @@ - .include "MPlayDef.s" - - .equ se_bowa2_grp, voicegroup127 - .equ se_bowa2_pri, 5 - .equ se_bowa2_rev, reverb_set+50 - .equ se_bowa2_mvl, 127 - .equ se_bowa2_key, 0 - .equ se_bowa2_tbs, 1 - .equ se_bowa2_exg, 0 - .equ se_bowa2_cmp, 1 - - .section .rodata - .global se_bowa2 - .align 2 - -@********************** Track 1 **********************@ - -se_bowa2_1: - .byte KEYSH , se_bowa2_key+0 - .byte TEMPO , 90*se_bowa2_tbs/2 - .byte VOICE , 86 - .byte VOL , 100*se_bowa2_mvl/mxv - .byte BEND , c_v+0 - .byte N02 , Gn1 , v100 - .byte W03 - .byte N05 , Fn2 - .byte W03 - .byte W03 - .byte N06 , Fn2 , v052 - .byte W03 - .byte W03 - .byte FINE - -@********************** Track 2 **********************@ - -se_bowa2_2: - .byte KEYSH , se_bowa2_key+0 - .byte VOICE , 0 - .byte VOL , 100*se_bowa2_mvl/mxv - .byte BENDR , 12 - .byte BEND , c_v+0 - .byte N03 , Gn3 , v052 - .byte W03 - .byte Cn2 , v112 - .byte W03 - .byte W03 - .byte Cn1 , v092 - .byte W03 - .byte W03 - .byte FINE - -@********************** Track 3 **********************@ - -se_bowa2_3: - .byte KEYSH , se_bowa2_key+0 - .byte VOICE , 124 - .byte VOL , 100*se_bowa2_mvl/mxv - .byte N03 , Gn3 , v052 - .byte W03 - .byte N06 , Gs4 - .byte W03 - .byte W03 - .byte Gs4 , v020 - .byte W03 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_bowa2: - .byte 3 @ NumTrks - .byte 0 @ NumBlks - .byte se_bowa2_pri @ Priority - .byte se_bowa2_rev @ Reverb. - - .word se_bowa2_grp - - .word se_bowa2_1 - .word se_bowa2_2 - .word se_bowa2_3 - - .end diff --git a/sound/songs/se_bt_start.s b/sound/songs/se_bt_start.s deleted file mode 100644 index c0c30550b..000000000 --- a/sound/songs/se_bt_start.s +++ /dev/null @@ -1,212 +0,0 @@ - .include "MPlayDef.s" - - .equ se_bt_start_grp, voicegroup128 - .equ se_bt_start_pri, 5 - .equ se_bt_start_rev, reverb_set+50 - .equ se_bt_start_mvl, 127 - .equ se_bt_start_key, 0 - .equ se_bt_start_tbs, 1 - .equ se_bt_start_exg, 0 - .equ se_bt_start_cmp, 1 - - .section .rodata - .global se_bt_start - .align 2 - -@********************** Track 1 **********************@ - -se_bt_start_1: - .byte KEYSH , se_bt_start_key+0 - .byte TEMPO , 110*se_bt_start_tbs/2 - .byte VOICE , 66 - .byte BENDR , 12 - .byte VOL , 90*se_bt_start_mvl/mxv - .byte PAN , c_v+0 - .byte BEND , c_v+0 - .byte N90 , Gs3 , v040 - .byte W06 - .byte W06 - .byte BEND , c_v+1 - .byte W04 - .byte c_v+3 - .byte W02 - .byte W04 - .byte c_v+5 - .byte W02 - .byte W04 - .byte c_v+8 - .byte W02 - .byte W03 - .byte c_v+11 - .byte W03 - .byte W03 - .byte c_v+18 - .byte W03 - .byte W02 - .byte c_v+24 - .byte W04 - .byte c_v+30 - .byte W02 - .byte c_v+38 - .byte W02 - .byte c_v+43 - .byte W02 - .byte W01 - .byte c_v+56 - .byte W02 - .byte c_v+63 - .byte W03 - .byte W03 - .byte VOL , 83*se_bt_start_mvl/mxv - .byte W03 - .byte 75*se_bt_start_mvl/mxv - .byte W04 - .byte 68*se_bt_start_mvl/mxv - .byte W02 - .byte W01 - .byte 55*se_bt_start_mvl/mxv - .byte W04 - .byte 42*se_bt_start_mvl/mxv - .byte W01 - .byte W03 - .byte 29*se_bt_start_mvl/mxv - .byte W03 - .byte 17*se_bt_start_mvl/mxv - .byte W03 - .byte 8*se_bt_start_mvl/mxv - .byte W03 - .byte W06 - .byte W06 - .byte W06 - .byte FINE - -@********************** Track 2 **********************@ - -se_bt_start_2: - .byte KEYSH , se_bt_start_key+0 - .byte VOICE , 2 - .byte VOL , 14*se_bt_start_mvl/mxv - .byte PAN , c_v-1 - .byte BEND , c_v+0 - .byte TIE , Gn3 , v100 - .byte W01 - .byte VOL , 19*se_bt_start_mvl/mxv - .byte W01 - .byte 30*se_bt_start_mvl/mxv - .byte W02 - .byte 37*se_bt_start_mvl/mxv - .byte W02 - .byte W02 - .byte 44*se_bt_start_mvl/mxv - .byte W04 - .byte 49*se_bt_start_mvl/mxv - .byte W04 - .byte 53*se_bt_start_mvl/mxv - .byte W02 - .byte W03 - .byte 58*se_bt_start_mvl/mxv - .byte W03 - .byte W02 - .byte 64*se_bt_start_mvl/mxv - .byte W04 - .byte 68*se_bt_start_mvl/mxv - .byte W03 - .byte 74*se_bt_start_mvl/mxv - .byte W03 - .byte W01 - .byte BEND , c_v+1 - .byte W01 - .byte VOL , 81*se_bt_start_mvl/mxv - .byte W04 - .byte BEND , c_v+2 - .byte W01 - .byte VOL , 90*se_bt_start_mvl/mxv - .byte W03 - .byte BEND , c_v+4 - .byte W02 - .byte W03 - .byte c_v+5 - .byte W03 - .byte W01 - .byte c_v+6 - .byte W03 - .byte c_v+6 - .byte W02 - .byte W02 - .byte c_v+8 - .byte W02 - .byte c_v+10 - .byte W02 - .byte W01 - .byte c_v+14 - .byte W02 - .byte c_v+17 - .byte W03 - .byte c_v+24 - .byte W02 - .byte c_v+30 - .byte W01 - .byte c_v+41 - .byte W01 - .byte c_v+46 - .byte W02 - .byte c_v+55 - .byte W01 - .byte c_v+60 - .byte W01 - .byte c_v+63 - .byte W01 - .byte VOL , 87*se_bt_start_mvl/mxv - .byte W03 - .byte 85*se_bt_start_mvl/mxv - .byte PAN , c_v-4 - .byte W02 - .byte VOL , 78*se_bt_start_mvl/mxv - .byte PAN , c_v+4 - .byte W02 - .byte VOL , 75*se_bt_start_mvl/mxv - .byte PAN , c_v-6 - .byte W02 - .byte W01 - .byte VOL , 69*se_bt_start_mvl/mxv - .byte PAN , c_v+6 - .byte W02 - .byte VOL , 59*se_bt_start_mvl/mxv - .byte PAN , c_v-20 - .byte W03 - .byte VOL , 49*se_bt_start_mvl/mxv - .byte PAN , c_v+22 - .byte W02 - .byte VOL , 41*se_bt_start_mvl/mxv - .byte PAN , c_v-37 - .byte W02 - .byte VOL , 30*se_bt_start_mvl/mxv - .byte PAN , c_v+37 - .byte W02 - .byte W01 - .byte VOL , 19*se_bt_start_mvl/mxv - .byte PAN , c_v-48 - .byte W02 - .byte VOL , 10*se_bt_start_mvl/mxv - .byte PAN , c_v+48 - .byte W01 - .byte VOL , 4*se_bt_start_mvl/mxv - .byte W02 - .byte EOT - .byte FINE - -@******************************************************@ - .align 2 - -se_bt_start: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_bt_start_pri @ Priority - .byte se_bt_start_rev @ Reverb. - - .word se_bt_start_grp - - .word se_bt_start_1 - .word se_bt_start_2 - - .end diff --git a/sound/songs/se_c_gaji.s b/sound/songs/se_c_gaji.s deleted file mode 100644 index 38217dbe5..000000000 --- a/sound/songs/se_c_gaji.s +++ /dev/null @@ -1,44 +0,0 @@ - .include "MPlayDef.s" - - .equ se_c_gaji_grp, voicegroup128 - .equ se_c_gaji_pri, 5 - .equ se_c_gaji_rev, reverb_set+50 - .equ se_c_gaji_mvl, 127 - .equ se_c_gaji_key, 0 - .equ se_c_gaji_tbs, 1 - .equ se_c_gaji_exg, 0 - .equ se_c_gaji_cmp, 1 - - .section .rodata - .global se_c_gaji - .align 2 - -@********************** Track 1 **********************@ - -se_c_gaji_1: - .byte KEYSH , se_c_gaji_key+0 - .byte TEMPO , 150*se_c_gaji_tbs/2 - .byte VOICE , 14 - .byte VOL , 90*se_c_gaji_mvl/mxv - .byte BEND , c_v-7 - .byte N02 , Cn5 , v112 - .byte W02 - .byte N09 , Gn4 - .byte W04 - .byte W06 - .byte FINE - -@******************************************************@ - .align 2 - -se_c_gaji: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_c_gaji_pri @ Priority - .byte se_c_gaji_rev @ Reverb. - - .word se_c_gaji_grp - - .word se_c_gaji_1 - - .end diff --git a/sound/songs/se_c_maku_d.s b/sound/songs/se_c_maku_d.s deleted file mode 100644 index f97673f07..000000000 --- a/sound/songs/se_c_maku_d.s +++ /dev/null @@ -1,95 +0,0 @@ - .include "MPlayDef.s" - - .equ se_c_maku_d_grp, voicegroup128 - .equ se_c_maku_d_pri, 5 - .equ se_c_maku_d_rev, reverb_set+50 - .equ se_c_maku_d_mvl, 127 - .equ se_c_maku_d_key, 0 - .equ se_c_maku_d_tbs, 1 - .equ se_c_maku_d_exg, 0 - .equ se_c_maku_d_cmp, 1 - - .section .rodata - .global se_c_maku_d - .align 2 - -@********************** Track 1 **********************@ - -se_c_maku_d_1: - .byte KEYSH , se_c_maku_d_key+0 - .byte TEMPO , 150*se_c_maku_d_tbs/2 - .byte VOICE , 25 - .byte VOL , 12*se_c_maku_d_mvl/mxv - .byte BEND , c_v+0 - .byte N12 , Gs4 , v060 - .byte W01 - .byte VOL , 22*se_c_maku_d_mvl/mxv - .byte W01 - .byte 33*se_c_maku_d_mvl/mxv - .byte W01 - .byte 46*se_c_maku_d_mvl/mxv - .byte W01 - .byte 58*se_c_maku_d_mvl/mxv - .byte W02 - .byte 70*se_c_maku_d_mvl/mxv - .byte W02 - .byte 60*se_c_maku_d_mvl/mxv - .byte W01 - .byte 42*se_c_maku_d_mvl/mxv - .byte W01 - .byte 22*se_c_maku_d_mvl/mxv - .byte W02 - .byte FINE - -@********************** Track 2 **********************@ - -se_c_maku_d_2: - .byte KEYSH , se_c_maku_d_key+0 - .byte VOICE , 15 - .byte VOL , 12*se_c_maku_d_mvl/mxv - .byte BEND , c_v+0 - .byte N12 , Fn3 , v100 - .byte W01 - .byte VOL , 22*se_c_maku_d_mvl/mxv - .byte BEND , c_v-4 - .byte W01 - .byte VOL , 33*se_c_maku_d_mvl/mxv - .byte BEND , c_v-7 - .byte W01 - .byte VOL , 46*se_c_maku_d_mvl/mxv - .byte BEND , c_v-10 - .byte W01 - .byte VOL , 58*se_c_maku_d_mvl/mxv - .byte BEND , c_v-15 - .byte W02 - .byte VOL , 70*se_c_maku_d_mvl/mxv - .byte BEND , c_v-23 - .byte W01 - .byte c_v-31 - .byte W01 - .byte VOL , 60*se_c_maku_d_mvl/mxv - .byte BEND , c_v-39 - .byte W01 - .byte VOL , 42*se_c_maku_d_mvl/mxv - .byte BEND , c_v-48 - .byte W01 - .byte VOL , 22*se_c_maku_d_mvl/mxv - .byte BEND , c_v-55 - .byte W02 - .byte FINE - -@******************************************************@ - .align 2 - -se_c_maku_d: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_c_maku_d_pri @ Priority - .byte se_c_maku_d_rev @ Reverb. - - .word se_c_maku_d_grp - - .word se_c_maku_d_1 - .word se_c_maku_d_2 - - .end diff --git a/sound/songs/se_c_maku_u.s b/sound/songs/se_c_maku_u.s deleted file mode 100644 index fa0ef3f0d..000000000 --- a/sound/songs/se_c_maku_u.s +++ /dev/null @@ -1,95 +0,0 @@ - .include "MPlayDef.s" - - .equ se_c_maku_u_grp, voicegroup128 - .equ se_c_maku_u_pri, 5 - .equ se_c_maku_u_rev, reverb_set+50 - .equ se_c_maku_u_mvl, 127 - .equ se_c_maku_u_key, 0 - .equ se_c_maku_u_tbs, 1 - .equ se_c_maku_u_exg, 0 - .equ se_c_maku_u_cmp, 1 - - .section .rodata - .global se_c_maku_u - .align 2 - -@********************** Track 1 **********************@ - -se_c_maku_u_1: - .byte KEYSH , se_c_maku_u_key+0 - .byte TEMPO , 150*se_c_maku_u_tbs/2 - .byte VOICE , 25 - .byte VOL , 12*se_c_maku_u_mvl/mxv - .byte BEND , c_v+0 - .byte N12 , Gs4 , v060 - .byte W01 - .byte VOL , 22*se_c_maku_u_mvl/mxv - .byte W01 - .byte 33*se_c_maku_u_mvl/mxv - .byte W01 - .byte 46*se_c_maku_u_mvl/mxv - .byte W01 - .byte 58*se_c_maku_u_mvl/mxv - .byte W02 - .byte 70*se_c_maku_u_mvl/mxv - .byte W02 - .byte 60*se_c_maku_u_mvl/mxv - .byte W01 - .byte 42*se_c_maku_u_mvl/mxv - .byte W01 - .byte 22*se_c_maku_u_mvl/mxv - .byte W02 - .byte FINE - -@********************** Track 2 **********************@ - -se_c_maku_u_2: - .byte KEYSH , se_c_maku_u_key+0 - .byte VOICE , 15 - .byte VOL , 12*se_c_maku_u_mvl/mxv - .byte BEND , c_v+0 - .byte N12 , Fn3 , v100 - .byte W01 - .byte VOL , 22*se_c_maku_u_mvl/mxv - .byte BEND , c_v+3 - .byte W01 - .byte VOL , 33*se_c_maku_u_mvl/mxv - .byte BEND , c_v+6 - .byte W01 - .byte VOL , 46*se_c_maku_u_mvl/mxv - .byte BEND , c_v+9 - .byte W01 - .byte VOL , 58*se_c_maku_u_mvl/mxv - .byte BEND , c_v+12 - .byte W02 - .byte VOL , 70*se_c_maku_u_mvl/mxv - .byte BEND , c_v+17 - .byte W01 - .byte c_v+20 - .byte W01 - .byte VOL , 60*se_c_maku_u_mvl/mxv - .byte BEND , c_v+25 - .byte W01 - .byte VOL , 42*se_c_maku_u_mvl/mxv - .byte BEND , c_v+32 - .byte W01 - .byte VOL , 22*se_c_maku_u_mvl/mxv - .byte BEND , c_v+38 - .byte W02 - .byte FINE - -@******************************************************@ - .align 2 - -se_c_maku_u: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_c_maku_u_pri @ Priority - .byte se_c_maku_u_rev @ Reverb. - - .word se_c_maku_u_grp - - .word se_c_maku_u_1 - .word se_c_maku_u_2 - - .end diff --git a/sound/songs/se_c_pasi.s b/sound/songs/se_c_pasi.s deleted file mode 100644 index 02da29a6d..000000000 --- a/sound/songs/se_c_pasi.s +++ /dev/null @@ -1,45 +0,0 @@ - .include "MPlayDef.s" - - .equ se_c_pasi_grp, voicegroup128 - .equ se_c_pasi_pri, 5 - .equ se_c_pasi_rev, reverb_set+50 - .equ se_c_pasi_mvl, 127 - .equ se_c_pasi_key, 0 - .equ se_c_pasi_tbs, 1 - .equ se_c_pasi_exg, 0 - .equ se_c_pasi_cmp, 1 - - .section .rodata - .global se_c_pasi - .align 2 - -@********************** Track 1 **********************@ - -se_c_pasi_1: - .byte KEYSH , se_c_pasi_key+0 - .byte TEMPO , 150*se_c_pasi_tbs/2 - .byte VOICE , 2 - .byte BENDR , 12 - .byte VOL , 110*se_c_pasi_mvl/mxv - .byte PAN , c_v+0 - .byte BEND , c_v+0 - .byte N02 , Gn3 , v112 - .byte W04 - .byte Gn4 , v064 - .byte W02 - .byte FINE - -@******************************************************@ - .align 2 - -se_c_pasi: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_c_pasi_pri @ Priority - .byte se_c_pasi_rev @ Reverb. - - .word se_c_pasi_grp - - .word se_c_pasi_1 - - .end diff --git a/sound/songs/se_c_pikon.s b/sound/songs/se_c_pikon.s deleted file mode 100644 index 1e91ed760..000000000 --- a/sound/songs/se_c_pikon.s +++ /dev/null @@ -1,54 +0,0 @@ - .include "MPlayDef.s" - - .equ se_c_pikon_grp, voicegroup128 - .equ se_c_pikon_pri, 5 - .equ se_c_pikon_rev, reverb_set+50 - .equ se_c_pikon_mvl, 127 - .equ se_c_pikon_key, 0 - .equ se_c_pikon_tbs, 1 - .equ se_c_pikon_exg, 0 - .equ se_c_pikon_cmp, 1 - - .section .rodata - .global se_c_pikon - .align 2 - -@********************** Track 1 **********************@ - -se_c_pikon_1: - .byte KEYSH , se_c_pikon_key+0 - .byte TEMPO , 150*se_c_pikon_tbs/2 - .byte VOICE , 14 - .byte VOL , 90*se_c_pikon_mvl/mxv - .byte BEND , c_v-7 - .byte N02 , Cn5 , v112 - .byte W02 - .byte Cn6 - .byte W04 - .byte W01 - .byte Cn6 , v060 - .byte W05 - .byte W02 - .byte Cn5 , v112 - .byte W02 - .byte Cn6 - .byte W02 - .byte W03 - .byte Cn6 , v060 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_c_pikon: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_c_pikon_pri @ Priority - .byte se_c_pikon_rev @ Reverb. - - .word se_c_pikon_grp - - .word se_c_pikon_1 - - .end diff --git a/sound/songs/se_c_syu.s b/sound/songs/se_c_syu.s deleted file mode 100644 index c4d051397..000000000 --- a/sound/songs/se_c_syu.s +++ /dev/null @@ -1,54 +0,0 @@ - .include "MPlayDef.s" - - .equ se_c_syu_grp, voicegroup128 - .equ se_c_syu_pri, 5 - .equ se_c_syu_rev, reverb_set+50 - .equ se_c_syu_mvl, 127 - .equ se_c_syu_key, 0 - .equ se_c_syu_tbs, 1 - .equ se_c_syu_exg, 0 - .equ se_c_syu_cmp, 1 - - .section .rodata - .global se_c_syu - .align 2 - -@********************** Track 1 **********************@ - -se_c_syu_1: - .byte KEYSH , se_c_syu_key+0 - .byte TEMPO , 150*se_c_syu_tbs/2 - .byte VOICE , 36 - .byte VOL , 49*se_c_syu_mvl/mxv - .byte BEND , c_v-64 - .byte N03 , Cn6 , v112 - .byte W01 - .byte VOL , 68*se_c_syu_mvl/mxv - .byte BEND , c_v-1 - .byte W01 - .byte VOL , 90*se_c_syu_mvl/mxv - .byte BEND , c_v+63 - .byte W01 - .byte VOL , 69*se_c_syu_mvl/mxv - .byte BEND , c_v+0 - .byte N02 , Cn6 , v040 - .byte W01 - .byte VOL , 90*se_c_syu_mvl/mxv - .byte BEND , c_v+63 - .byte W02 - .byte FINE - -@******************************************************@ - .align 2 - -se_c_syu: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_c_syu_pri @ Priority - .byte se_c_syu_rev @ Reverb. - - .word se_c_syu_grp - - .word se_c_syu_1 - - .end diff --git a/sound/songs/se_card.s b/sound/songs/se_card.s deleted file mode 100644 index 703e516d5..000000000 --- a/sound/songs/se_card.s +++ /dev/null @@ -1,84 +0,0 @@ - .include "MPlayDef.s" - - .equ se_card_grp, voicegroup127 - .equ se_card_pri, 4 - .equ se_card_rev, reverb_set+50 - .equ se_card_mvl, 127 - .equ se_card_key, 0 - .equ se_card_tbs, 1 - .equ se_card_exg, 0 - .equ se_card_cmp, 1 - - .section .rodata - .global se_card - .align 2 - -@********************** Track 1 **********************@ - -se_card_1: - .byte KEYSH , se_card_key+0 - .byte TEMPO , 180*se_card_tbs/2 - .byte VOICE , 2 - .byte BENDR , 12 - .byte VOL , 37*se_card_mvl/mxv - .byte BEND , c_v+63 - .byte N02 , Gn3 , v044 - .byte W01 - .byte VOL , 73*se_card_mvl/mxv - .byte W01 - .byte 100*se_card_mvl/mxv - .byte N01 , Gn4 - .byte W02 - .byte N30 , Cn4 , v127 - .byte W02 - .byte BEND , c_v+59 - .byte W01 - .byte VOL , 3*se_card_mvl/mxv - .byte W01 - .byte 25*se_card_mvl/mxv - .byte W01 - .byte 56*se_card_mvl/mxv - .byte BEND , c_v+55 - .byte W01 - .byte VOL , 77*se_card_mvl/mxv - .byte W02 - .byte 100*se_card_mvl/mxv - .byte BEND , c_v+46 - .byte W03 - .byte VOL , 92*se_card_mvl/mxv - .byte BEND , c_v+37 - .byte W03 - .byte VOL , 79*se_card_mvl/mxv - .byte BEND , c_v+28 - .byte W03 - .byte VOL , 66*se_card_mvl/mxv - .byte BEND , c_v+20 - .byte W03 - .byte VOL , 52*se_card_mvl/mxv - .byte BEND , c_v+11 - .byte W03 - .byte VOL , 38*se_card_mvl/mxv - .byte BEND , c_v+2 - .byte W03 - .byte VOL , 25*se_card_mvl/mxv - .byte BEND , c_v-7 - .byte W03 - .byte VOL , 11*se_card_mvl/mxv - .byte BEND , c_v-16 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_card: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_card_pri @ Priority - .byte se_card_rev @ Reverb. - - .word se_card_grp - - .word se_card_1 - - .end diff --git a/sound/songs/se_curtain.s b/sound/songs/se_curtain.s deleted file mode 100644 index e15fe4742..000000000 --- a/sound/songs/se_curtain.s +++ /dev/null @@ -1,166 +0,0 @@ - .include "MPlayDef.s" - - .equ se_curtain_grp, voicegroup129 - .equ se_curtain_pri, 5 - .equ se_curtain_rev, reverb_set+50 - .equ se_curtain_mvl, 127 - .equ se_curtain_key, 0 - .equ se_curtain_tbs, 1 - .equ se_curtain_exg, 0 - .equ se_curtain_cmp, 1 - - .section .rodata - .global se_curtain - .align 2 - -@********************** Track 1 **********************@ - -se_curtain_1: - .byte KEYSH , se_curtain_key+0 - .byte TEMPO , 98*se_curtain_tbs/2 - .byte PAN , c_v+0 - .byte VOL , 127*se_curtain_mvl/mxv - .byte W19 - .byte TEMPO , 112*se_curtain_tbs/2 - .byte VOICE , 38 - .byte MOD , 2 - .byte N04 , Gs1 , v120 - .byte W02 - .byte MOD , 7 - .byte W03 - .byte 1 - .byte N04 , Cn2 - .byte W02 - .byte MOD , 7 - .byte W02 - .byte 1 - .byte N04 , En2 - .byte W03 - .byte MOD , 7 - .byte W02 - .byte 1 - .byte N04 , Gs2 - .byte W03 - .byte MOD , 7 - .byte W02 - .byte 1 - .byte N04 , Cn3 - .byte W02 - .byte MOD , 7 - .byte W03 - .byte 1 - .byte N04 , Ds3 - .byte W02 - .byte MOD , 7 - .byte W03 - .byte 1 - .byte N04 , En3 , v096 - .byte W02 - .byte MOD , 7 - .byte W02 - .byte PAN , c_v-62 - .byte MOD , 1 - .byte N04 , En4 , v032 - .byte W03 - .byte MOD , 7 - .byte W02 - .byte PAN , c_v+63 - .byte MOD , 1 - .byte N04 , En3 , v048 - .byte W03 - .byte MOD , 7 - .byte W02 - .byte PAN , c_v-62 - .byte MOD , 1 - .byte N04 , En4 , v012 - .byte W02 - .byte MOD , 7 - .byte W03 - .byte PAN , c_v+63 - .byte MOD , 1 - .byte N04 , En3 , v032 - .byte W02 - .byte MOD , 7 - .byte W03 - .byte PAN , c_v-62 - .byte MOD , 1 - .byte N04 , En4 , v008 - .byte W02 - .byte MOD , 7 - .byte W02 - .byte 2 - .byte W03 - .byte FINE - -@********************** Track 2 **********************@ - -se_curtain_2: - .byte KEYSH , se_curtain_key+0 - .byte PAN , c_v+0 - .byte VOL , 112*se_curtain_mvl/mxv - .byte W19 - .byte VOICE , 100 - .byte W12 - .byte W07 - .byte N04 , Cn4 , v112 - .byte W05 - .byte As4 - .byte W07 - .byte Gs5 , v064 - .byte W05 - .byte Ds6 , v048 - .byte W07 - .byte Gn6 , v032 - .byte W05 - .byte W12 - .byte FINE - -@********************** Track 3 **********************@ - -se_curtain_3: - .byte KEYSH , se_curtain_key+0 - .byte VOICE , 125 - .byte LFOS , 44 - .byte XCMD , xIECV , 18 - .byte xIECV , 16 - .byte BENDR , 12 - .byte MOD , 2 - .byte VOL , 86*se_curtain_mvl/mxv - .byte BEND , c_v-57 - .byte N09 , Cn5 , v064 - .byte W01 - .byte BEND , c_v-45 - .byte W01 - .byte c_v-30 - .byte W01 - .byte c_v-18 - .byte W01 - .byte c_v-11 - .byte W02 - .byte c_v+0 - .byte W03 - .byte N01 , Gn5 , v096 - .byte W10 - .byte W12 - .byte W12 - .byte W12 - .byte W12 - .byte W12 - .byte FINE - -@******************************************************@ - .align 2 - -se_curtain: - .byte 3 @ NumTrks - .byte 0 @ NumBlks - .byte se_curtain_pri @ Priority - .byte se_curtain_rev @ Reverb. - - .word se_curtain_grp - - .word se_curtain_1 - .word se_curtain_2 - .word se_curtain_3 - - .end diff --git a/sound/songs/se_curtain1.s b/sound/songs/se_curtain1.s deleted file mode 100644 index 40e97ba13..000000000 --- a/sound/songs/se_curtain1.s +++ /dev/null @@ -1,168 +0,0 @@ - .include "MPlayDef.s" - - .equ se_curtain1_grp, voicegroup129 - .equ se_curtain1_pri, 5 - .equ se_curtain1_rev, reverb_set+50 - .equ se_curtain1_mvl, 127 - .equ se_curtain1_key, 0 - .equ se_curtain1_tbs, 1 - .equ se_curtain1_exg, 0 - .equ se_curtain1_cmp, 1 - - .section .rodata - .global se_curtain1 - .align 2 - -@********************** Track 1 **********************@ - -se_curtain1_1: - .byte VOL , 127*se_curtain1_mvl/mxv - .byte KEYSH , se_curtain1_key+0 - .byte TEMPO , 112*se_curtain1_tbs/2 - .byte VOICE , 38 - .byte MOD , 2 - .byte N04 , Gs1 , v120 - .byte W02 - .byte MOD , 7 - .byte W02 - .byte 1 - .byte N04 , Cn2 - .byte W03 - .byte MOD , 7 - .byte W02 - .byte 1 - .byte N04 , En2 - .byte W03 - .byte MOD , 7 - .byte W02 - .byte 1 - .byte N04 , Gs2 - .byte W02 - .byte MOD , 7 - .byte W03 - .byte 1 - .byte N04 , Cn3 - .byte W02 - .byte MOD , 7 - .byte W03 - .byte 1 - .byte N04 , Ds3 - .byte W02 - .byte MOD , 7 - .byte W02 - .byte 1 - .byte N04 , En3 , v096 - .byte W03 - .byte MOD , 7 - .byte W02 - .byte PAN , c_v-62 - .byte MOD , 1 - .byte N04 , En4 , v032 - .byte W03 - .byte MOD , 7 - .byte W02 - .byte PAN , c_v+63 - .byte MOD , 1 - .byte N04 , En3 , v048 - .byte W02 - .byte MOD , 7 - .byte W03 - .byte PAN , c_v-62 - .byte MOD , 1 - .byte N04 , En4 , v012 - .byte W02 - .byte MOD , 7 - .byte W03 - .byte PAN , c_v+63 - .byte MOD , 1 - .byte N04 , En3 , v032 - .byte W02 - .byte MOD , 7 - .byte W02 - .byte PAN , c_v-62 - .byte MOD , 1 - .byte N04 , En4 , v008 - .byte W03 - .byte MOD , 7 - .byte W02 - .byte 2 - .byte W03 - .byte TEMPO , 98*se_curtain1_tbs/2 - .byte PAN , c_v+0 - .byte VOL , 127*se_curtain1_mvl/mxv - .byte W12 - .byte FINE - -@********************** Track 2 **********************@ - -se_curtain1_2: - .byte VOL , 127*se_curtain1_mvl/mxv - .byte KEYSH , se_curtain1_key+0 - .byte VOICE , 100 - .byte W12 - .byte W07 - .byte N04 , Cn4 , v112 - .byte W05 - .byte As4 - .byte W07 - .byte Gs5 , v064 - .byte W05 - .byte Ds6 , v048 - .byte W07 - .byte Gn6 , v032 - .byte W05 - .byte W12 - .byte PAN , c_v+0 - .byte VOL , 112*se_curtain1_mvl/mxv - .byte W12 - .byte FINE - -@********************** Track 3 **********************@ - -se_curtain1_3: - .byte KEYSH , se_curtain1_key+0 - .byte W12 - .byte W12 - .byte W12 - .byte W12 - .byte W12 - .byte VOICE , 125 - .byte LFOS , 44 - .byte XCMD , xIECV , 18 - .byte xIECV , 16 - .byte BENDR , 12 - .byte MOD , 2 - .byte VOL , 86*se_curtain1_mvl/mxv - .byte BEND , c_v-57 - .byte N09 , Cn5 , v064 - .byte W01 - .byte BEND , c_v-45 - .byte W01 - .byte c_v-30 - .byte W01 - .byte c_v-18 - .byte W01 - .byte c_v-11 - .byte W02 - .byte c_v+0 - .byte W03 - .byte N01 , Gn5 , v096 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_curtain1: - .byte 3 @ NumTrks - .byte 0 @ NumBlks - .byte se_curtain1_pri @ Priority - .byte se_curtain1_rev @ Reverb. - - .word se_curtain1_grp - - .word se_curtain1_1 - .word se_curtain1_2 - .word se_curtain1_3 - - .end diff --git a/sound/songs/se_dansa.s b/sound/songs/se_dansa.s deleted file mode 100644 index ccd7c4742..000000000 --- a/sound/songs/se_dansa.s +++ /dev/null @@ -1,46 +0,0 @@ - .include "MPlayDef.s" - - .equ se_dansa_grp, voicegroup127 - .equ se_dansa_pri, 4 - .equ se_dansa_rev, reverb_set+50 - .equ se_dansa_mvl, 127 - .equ se_dansa_key, 0 - .equ se_dansa_tbs, 1 - .equ se_dansa_exg, 0 - .equ se_dansa_cmp, 1 - - .section .rodata - .global se_dansa - .align 2 - -@********************** Track 1 **********************@ - -se_dansa_1: - .byte KEYSH , se_dansa_key+0 - .byte TEMPO , 120*se_dansa_tbs/2 - .byte VOICE , 85 - .byte VOL , 100*se_dansa_mvl/mxv - .byte BEND , c_v-6 - .byte N02 , Ds2 , v052 - .byte W02 - .byte VOICE , 86 - .byte N06 , Gn3 , v092 - .byte W01 - .byte W03 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_dansa: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_dansa_pri @ Priority - .byte se_dansa_rev @ Reverb. - - .word se_dansa_grp - - .word se_dansa_1 - - .end diff --git a/sound/songs/se_daugi.s b/sound/songs/se_daugi.s deleted file mode 100644 index 88793920d..000000000 --- a/sound/songs/se_daugi.s +++ /dev/null @@ -1,80 +0,0 @@ - .include "MPlayDef.s" - - .equ se_daugi_grp, voicegroup127 - .equ se_daugi_pri, 5 - .equ se_daugi_rev, reverb_set+50 - .equ se_daugi_mvl, 127 - .equ se_daugi_key, 0 - .equ se_daugi_tbs, 1 - .equ se_daugi_exg, 0 - .equ se_daugi_cmp, 1 - - .section .rodata - .global se_daugi - .align 2 - -@********************** Track 1 **********************@ - -se_daugi_1: - .byte KEYSH , se_daugi_key+0 - .byte TEMPO , 128*se_daugi_tbs/2 - .byte VOICE , 89 - .byte BENDR , 12 - .byte VOL , 90*se_daugi_mvl/mxv - .byte BEND , c_v-1 - .byte N03 , Fs2 , v127 - .byte W03 - .byte N01 , Ds3 - .byte W03 - .byte VOICE , 6 - .byte N03 , Gs3 , v100 - .byte W03 - .byte W01 - .byte N18 , Fn5 , v072 - .byte W02 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte FINE - -@********************** Track 2 **********************@ - -se_daugi_2: - .byte KEYSH , se_daugi_key+0 - .byte VOICE , 14 - .byte VOL , 90*se_daugi_mvl/mxv - .byte BEND , c_v-8 - .byte N03 , Gs3 , v100 - .byte W03 - .byte W03 - .byte Gs3 , v060 - .byte W03 - .byte W01 - .byte N18 , Fn5 - .byte W02 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_daugi: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_daugi_pri @ Priority - .byte se_daugi_rev @ Reverb. - - .word se_daugi_grp - - .word se_daugi_1 - .word se_daugi_2 - - .end diff --git a/sound/songs/se_dendou.s b/sound/songs/se_dendou.s deleted file mode 100644 index 4fda6d338..000000000 --- a/sound/songs/se_dendou.s +++ /dev/null @@ -1,197 +0,0 @@ - .include "MPlayDef.s" - - .equ se_dendou_grp, voicegroup128 - .equ se_dendou_pri, 5 - .equ se_dendou_rev, reverb_set+50 - .equ se_dendou_mvl, 127 - .equ se_dendou_key, 0 - .equ se_dendou_tbs, 1 - .equ se_dendou_exg, 0 - .equ se_dendou_cmp, 1 - - .section .rodata - .global se_dendou - .align 2 - -@********************** Track 1 **********************@ - -se_dendou_1: - .byte KEYSH , se_dendou_key+0 - .byte TEMPO , 150*se_dendou_tbs/2 - .byte VOICE , 60 - .byte BENDR , 12 - .byte VOL , 25*se_dendou_mvl/mxv - .byte PAN , c_v+0 - .byte BEND , c_v+0 - .byte TIE , Bn2 , v127 - .byte W01 - .byte PAN , c_v+2 - .byte W01 - .byte c_v+5 - .byte W01 - .byte VOL , 34*se_dendou_mvl/mxv - .byte W01 - .byte PAN , c_v+2 - .byte W02 - .byte c_v+0 - .byte W01 - .byte VOL , 46*se_dendou_mvl/mxv - .byte PAN , c_v-2 - .byte W01 - .byte c_v-4 - .byte W02 - .byte VOL , 56*se_dendou_mvl/mxv - .byte PAN , c_v-2 - .byte W02 - .byte c_v+0 - .byte W01 - .byte c_v+2 - .byte W01 - .byte c_v+5 - .byte W01 - .byte VOL , 70*se_dendou_mvl/mxv - .byte W01 - .byte PAN , c_v+2 - .byte W02 - .byte c_v+0 - .byte W01 - .byte VOL , 80*se_dendou_mvl/mxv - .byte PAN , c_v-2 - .byte W01 - .byte c_v-4 - .byte W02 - .byte VOL , 88*se_dendou_mvl/mxv - .byte PAN , c_v-2 - .byte W02 - .byte c_v+0 - .byte W01 - .byte c_v+2 - .byte W01 - .byte VOL , 96*se_dendou_mvl/mxv - .byte PAN , c_v+5 - .byte W02 - .byte c_v+2 - .byte W02 - .byte VOL , 100*se_dendou_mvl/mxv - .byte PAN , c_v+0 - .byte W01 - .byte c_v-2 - .byte W01 - .byte c_v-4 - .byte W02 - .byte c_v-2 - .byte W02 -se_dendou_1_000: - .byte PAN , c_v+0 - .byte W01 - .byte c_v+2 - .byte W01 - .byte c_v+5 - .byte W02 - .byte c_v+2 - .byte W02 - .byte c_v+0 - .byte W01 - .byte c_v-2 - .byte W01 - .byte c_v-4 - .byte W02 - .byte c_v-2 - .byte W02 - .byte PEND - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte PATT - .word se_dendou_1_000 - .byte VOL , 96*se_dendou_mvl/mxv - .byte PAN , c_v+0 - .byte W01 - .byte c_v+2 - .byte W01 - .byte c_v+5 - .byte W01 - .byte VOL , 92*se_dendou_mvl/mxv - .byte W01 - .byte PAN , c_v+2 - .byte W02 - .byte c_v+0 - .byte W01 - .byte VOL , 84*se_dendou_mvl/mxv - .byte PAN , c_v-2 - .byte W01 - .byte c_v-4 - .byte W02 - .byte VOL , 72*se_dendou_mvl/mxv - .byte PAN , c_v-2 - .byte W02 - .byte c_v+0 - .byte W01 - .byte c_v+2 - .byte W01 - .byte VOL , 63*se_dendou_mvl/mxv - .byte PAN , c_v+5 - .byte W02 - .byte VOL , 52*se_dendou_mvl/mxv - .byte PAN , c_v+2 - .byte W02 - .byte c_v+0 - .byte W01 - .byte VOL , 37*se_dendou_mvl/mxv - .byte PAN , c_v-2 - .byte W01 - .byte c_v-4 - .byte W01 - .byte VOL , 22*se_dendou_mvl/mxv - .byte W01 - .byte 12*se_dendou_mvl/mxv - .byte PAN , c_v-2 - .byte W02 - .byte EOT , Bn2 - .byte FINE - -@******************************************************@ - .align 2 - -se_dendou: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_dendou_pri @ Priority - .byte se_dendou_rev @ Reverb. - - .word se_dendou_grp - - .word se_dendou_1 - - .end diff --git a/sound/songs/se_doku.s b/sound/songs/se_doku.s deleted file mode 100644 index 90b84b2fb..000000000 --- a/sound/songs/se_doku.s +++ /dev/null @@ -1,50 +0,0 @@ - .include "MPlayDef.s" - - .equ se_doku_grp, voicegroup127 - .equ se_doku_pri, 5 - .equ se_doku_rev, reverb_set+50 - .equ se_doku_mvl, 127 - .equ se_doku_key, 0 - .equ se_doku_tbs, 1 - .equ se_doku_exg, 0 - .equ se_doku_cmp, 1 - - .section .rodata - .global se_doku - .align 2 - -@********************** Track 1 **********************@ - -se_doku_1: - .byte KEYSH , se_doku_key+0 - .byte TEMPO , 150*se_doku_tbs/2 - .byte VOICE , 16 - .byte BENDR , 12 - .byte VOL , 110*se_doku_mvl/mxv - .byte BEND , c_v+0 - .byte N02 , Ds3 , v100 - .byte W04 - .byte N02 - .byte W05 - .byte N02 - .byte W05 - .byte N02 - .byte W05 - .byte N02 - .byte W05 - .byte FINE - -@******************************************************@ - .align 2 - -se_doku: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_doku_pri @ Priority - .byte se_doku_rev @ Reverb. - - .word se_doku_grp - - .word se_doku_1 - - .end diff --git a/sound/songs/se_door.s b/sound/songs/se_door.s deleted file mode 100644 index e4b23dddd..000000000 --- a/sound/songs/se_door.s +++ /dev/null @@ -1,42 +0,0 @@ - .include "MPlayDef.s" - - .equ se_door_grp, voicegroup127 - .equ se_door_pri, 5 - .equ se_door_rev, reverb_set+50 - .equ se_door_mvl, 127 - .equ se_door_key, 0 - .equ se_door_tbs, 1 - .equ se_door_exg, 0 - .equ se_door_cmp, 1 - - .section .rodata - .global se_door - .align 2 - -@********************** Track 1 **********************@ - -se_door_1: - .byte KEYSH , se_door_key+0 - .byte TEMPO , 110*se_door_tbs/2 - .byte VOICE , 127 - .byte VOL , 80*se_door_mvl/mxv - .byte N03 , Dn3 , v127 - .byte W06 - .byte N12 , Fs3 - .byte W18 - .byte FINE - -@******************************************************@ - .align 2 - -se_door: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_door_pri @ Priority - .byte se_door_rev @ Reverb. - - .word se_door_grp - - .word se_door_1 - - .end diff --git a/sound/songs/se_e.s b/sound/songs/se_e.s deleted file mode 100644 index aa9b91844..000000000 --- a/sound/songs/se_e.s +++ /dev/null @@ -1,45 +0,0 @@ - .include "MPlayDef.s" - - .equ se_e_grp, voicegroup128 - .equ se_e_pri, 4 - .equ se_e_rev, reverb_set+50 - .equ se_e_mvl, 127 - .equ se_e_key, 0 - .equ se_e_tbs, 1 - .equ se_e_exg, 0 - .equ se_e_cmp, 1 - - .section .rodata - .global se_e - .align 2 - -@********************** Track 1 **********************@ - -se_e_1: - .byte KEYSH , se_e_key+0 - .byte TEMPO , 240*se_e_tbs/2 - .byte VOICE , 125 - .byte BENDR , 12 - .byte VOL , 120*se_e_mvl/mxv - .byte BEND , c_v+0 - .byte N72 , Cn3 , v127 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte FINE - -@******************************************************@ - .align 2 - -se_e: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_e_pri @ Priority - .byte se_e_rev @ Reverb. - - .word se_e_grp - - .word se_e_1 - - .end diff --git a/sound/songs/se_elebeta.s b/sound/songs/se_elebeta.s deleted file mode 100644 index ad19476d5..000000000 --- a/sound/songs/se_elebeta.s +++ /dev/null @@ -1,71 +0,0 @@ - .include "MPlayDef.s" - - .equ se_elebeta_grp, voicegroup128 - .equ se_elebeta_pri, 4 - .equ se_elebeta_rev, reverb_set+50 - .equ se_elebeta_mvl, 127 - .equ se_elebeta_key, 0 - .equ se_elebeta_tbs, 1 - .equ se_elebeta_exg, 0 - .equ se_elebeta_cmp, 1 - - .section .rodata - .global se_elebeta - .align 2 - -@********************** Track 1 **********************@ - -se_elebeta_1: - .byte KEYSH , se_elebeta_key+0 - .byte TEMPO , 150*se_elebeta_tbs/2 - .byte VOICE , 38 - .byte BENDR , 2 - .byte VOL , 100*se_elebeta_mvl/mxv - .byte BEND , c_v+0 - .byte TIE , Fs4 , v080 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte EOT - .byte FINE - -@********************** Track 2 **********************@ - -se_elebeta_2: - .byte KEYSH , se_elebeta_key+0 - .byte VOICE , 27 - .byte VOL , 100*se_elebeta_mvl/mxv - .byte TIE , Fn3 , v032 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte EOT - .byte FINE - -@******************************************************@ - .align 2 - -se_elebeta: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_elebeta_pri @ Priority - .byte se_elebeta_rev @ Reverb. - - .word se_elebeta_grp - - .word se_elebeta_1 - .word se_elebeta_2 - - .end diff --git a/sound/songs/se_esuka.s b/sound/songs/se_esuka.s deleted file mode 100644 index 88e88fcd3..000000000 --- a/sound/songs/se_esuka.s +++ /dev/null @@ -1,93 +0,0 @@ - .include "MPlayDef.s" - - .equ se_esuka_grp, voicegroup128 - .equ se_esuka_pri, 4 - .equ se_esuka_rev, reverb_set+50 - .equ se_esuka_mvl, 127 - .equ se_esuka_key, 0 - .equ se_esuka_tbs, 1 - .equ se_esuka_exg, 0 - .equ se_esuka_cmp, 1 - - .section .rodata - .global se_esuka - .align 2 - -@********************** Track 1 **********************@ - -se_esuka_1: - .byte KEYSH , se_esuka_key+0 - .byte TEMPO , 150*se_esuka_tbs/2 - .byte VOICE , 38 - .byte BENDR , 2 - .byte VOL , 51*se_esuka_mvl/mxv - .byte BEND , c_v-32 - .byte TIE , En5 , v080 - .byte W01 - .byte BEND , c_v-26 - .byte W01 - .byte VOL , 56*se_esuka_mvl/mxv - .byte W01 - .byte BEND , c_v-21 - .byte W01 - .byte VOL , 62*se_esuka_mvl/mxv - .byte W02 - .byte BEND , c_v-15 - .byte W01 - .byte VOL , 69*se_esuka_mvl/mxv - .byte W01 - .byte BEND , c_v-7 - .byte W01 - .byte VOL , 75*se_esuka_mvl/mxv - .byte W01 - .byte BEND , c_v+0 - .byte W02 - .byte VOL , 85*se_esuka_mvl/mxv - .byte W02 - .byte 92*se_esuka_mvl/mxv - .byte W02 - .byte 100*se_esuka_mvl/mxv - .byte W08 - .byte W24 - .byte W24 - .byte W24 - .byte W03 - .byte 96*se_esuka_mvl/mxv - .byte W03 - .byte 88*se_esuka_mvl/mxv - .byte W03 - .byte 81*se_esuka_mvl/mxv - .byte BEND , c_v-5 - .byte W03 - .byte VOL , 74*se_esuka_mvl/mxv - .byte BEND , c_v-8 - .byte W02 - .byte VOL , 62*se_esuka_mvl/mxv - .byte BEND , c_v-12 - .byte W02 - .byte VOL , 49*se_esuka_mvl/mxv - .byte BEND , c_v-21 - .byte W03 - .byte VOL , 39*se_esuka_mvl/mxv - .byte BEND , c_v-26 - .byte W02 - .byte VOL , 25*se_esuka_mvl/mxv - .byte BEND , c_v-32 - .byte W03 - .byte EOT - .byte FINE - -@******************************************************@ - .align 2 - -se_esuka: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_esuka_pri @ Priority - .byte se_esuka_rev @ Reverb. - - .word se_esuka_grp - - .word se_esuka_1 - - .end diff --git a/sound/songs/se_exp.s b/sound/songs/se_exp.s deleted file mode 100644 index f58767b8f..000000000 --- a/sound/songs/se_exp.s +++ /dev/null @@ -1,333 +0,0 @@ - .include "MPlayDef.s" - - .equ se_exp_grp, voicegroup127 - .equ se_exp_pri, 5 - .equ se_exp_rev, reverb_set+50 - .equ se_exp_mvl, 127 - .equ se_exp_key, 0 - .equ se_exp_tbs, 1 - .equ se_exp_exg, 0 - .equ se_exp_cmp, 1 - - .section .rodata - .global se_exp - .align 2 - -@********************** Track 1 **********************@ - -se_exp_1: - .byte KEYSH , se_exp_key+0 - .byte TEMPO , 240*se_exp_tbs/2 - .byte VOICE , 19 - .byte BENDR , 26 - .byte VOL , 80*se_exp_mvl/mxv - .byte PAN , c_v+0 - .byte BEND , c_v+0 - .byte TIE , Fn3 , v112 - .byte W01 - .byte BEND , c_v+8 - .byte W01 - .byte c_v+16 - .byte W01 - .byte c_v+22 - .byte W01 - .byte c_v+31 - .byte W02 - .byte c_v+38 - .byte W01 - .byte VOL , 71*se_exp_mvl/mxv - .byte BEND , c_v+8 - .byte W01 - .byte c_v+16 - .byte W01 - .byte c_v+22 - .byte W01 - .byte c_v+31 - .byte W02 - .byte c_v+38 - .byte W01 - .byte c_v+15 - .byte W01 - .byte VOL , 50*se_exp_mvl/mxv - .byte BEND , c_v+1 - .byte W01 - .byte c_v+0 - .byte W01 - .byte c_v+0 - .byte W02 - .byte c_v+3 - .byte W01 - .byte VOL , 51*se_exp_mvl/mxv - .byte BEND , c_v+3 - .byte W01 - .byte c_v+2 - .byte W01 - .byte c_v+5 - .byte W01 - .byte c_v+4 - .byte W02 - .byte VOL , 52*se_exp_mvl/mxv - .byte BEND , c_v+4 - .byte W01 - .byte c_v+7 - .byte W01 - .byte c_v+6 - .byte W01 - .byte c_v+5 - .byte W01 - .byte VOL , 52*se_exp_mvl/mxv - .byte BEND , c_v+8 - .byte W02 - .byte c_v+8 - .byte W01 - .byte c_v+7 - .byte W01 - .byte c_v+10 - .byte W01 - .byte VOL , 54*se_exp_mvl/mxv - .byte BEND , c_v+10 - .byte W01 - .byte c_v+9 - .byte W02 - .byte c_v+12 - .byte W01 - .byte c_v+12 - .byte W01 - .byte VOL , 55*se_exp_mvl/mxv - .byte BEND , c_v+11 - .byte W01 - .byte c_v+14 - .byte W01 - .byte c_v+13 - .byte W02 - .byte c_v+12 - .byte W01 - .byte VOL , 56*se_exp_mvl/mxv - .byte BEND , c_v+16 - .byte W01 - .byte c_v+15 - .byte W01 - .byte c_v+14 - .byte W01 - .byte c_v+17 - .byte W02 - .byte VOL , 57*se_exp_mvl/mxv - .byte BEND , c_v+17 - .byte W01 - .byte c_v+16 - .byte W01 - .byte c_v+20 - .byte W01 - .byte c_v+19 - .byte W01 - .byte VOL , 57*se_exp_mvl/mxv - .byte BEND , c_v+19 - .byte W02 - .byte c_v+21 - .byte W01 - .byte c_v+20 - .byte W01 - .byte c_v+20 - .byte W01 - .byte VOL , 59*se_exp_mvl/mxv - .byte BEND , c_v+23 - .byte W01 - .byte c_v+22 - .byte W02 - .byte c_v+21 - .byte W01 - .byte c_v+25 - .byte W01 - .byte VOL , 60*se_exp_mvl/mxv - .byte BEND , c_v+24 - .byte W01 - .byte c_v+23 - .byte W01 - .byte c_v+26 - .byte W02 - .byte c_v+25 - .byte W01 - .byte VOL , 61*se_exp_mvl/mxv - .byte BEND , c_v+24 - .byte W01 - .byte c_v+28 - .byte W01 - .byte c_v+27 - .byte W01 - .byte c_v+26 - .byte W02 - .byte VOL , 62*se_exp_mvl/mxv - .byte BEND , c_v+30 - .byte W01 - .byte c_v+29 - .byte W01 - .byte c_v+28 - .byte W01 - .byte c_v+32 - .byte W01 - .byte VOL , 62*se_exp_mvl/mxv - .byte BEND , c_v+30 - .byte W02 - .byte c_v+30 - .byte W01 - .byte c_v+33 - .byte W01 - .byte c_v+32 - .byte W01 - .byte VOL , 64*se_exp_mvl/mxv - .byte BEND , c_v+31 - .byte W01 - .byte c_v+35 - .byte W02 - .byte c_v+34 - .byte W01 - .byte c_v+33 - .byte W01 - .byte VOL , 65*se_exp_mvl/mxv - .byte BEND , c_v+37 - .byte W01 - .byte c_v+36 - .byte W01 - .byte c_v+35 - .byte W02 - .byte c_v+39 - .byte W01 - .byte VOL , 66*se_exp_mvl/mxv - .byte BEND , c_v+38 - .byte W01 - .byte c_v+37 - .byte W01 - .byte c_v+40 - .byte W01 - .byte c_v+39 - .byte W02 - .byte VOL , 67*se_exp_mvl/mxv - .byte BEND , c_v+38 - .byte W01 - .byte c_v+42 - .byte W01 - .byte c_v+41 - .byte W01 - .byte c_v+40 - .byte W01 - .byte VOL , 68*se_exp_mvl/mxv - .byte BEND , c_v+44 - .byte W02 - .byte c_v+43 - .byte W01 - .byte c_v+42 - .byte W01 - .byte c_v+46 - .byte W01 - .byte VOL , 69*se_exp_mvl/mxv - .byte BEND , c_v+45 - .byte W01 - .byte c_v+44 - .byte W02 - .byte c_v+48 - .byte W01 - .byte c_v+46 - .byte W01 - .byte VOL , 70*se_exp_mvl/mxv - .byte BEND , c_v+45 - .byte W01 - .byte c_v+49 - .byte W01 - .byte c_v+48 - .byte W02 - .byte c_v+48 - .byte W01 - .byte VOL , 71*se_exp_mvl/mxv - .byte BEND , c_v+51 - .byte W01 - .byte c_v+50 - .byte W01 - .byte c_v+49 - .byte W01 - .byte c_v+53 - .byte W02 - .byte VOL , 72*se_exp_mvl/mxv - .byte BEND , c_v+52 - .byte W01 - .byte c_v+51 - .byte W01 - .byte c_v+55 - .byte W01 - .byte c_v+53 - .byte W01 - .byte VOL , 73*se_exp_mvl/mxv - .byte BEND , c_v+52 - .byte W02 - .byte c_v+56 - .byte W01 - .byte c_v+55 - .byte W01 - .byte c_v+54 - .byte W01 - .byte VOL , 74*se_exp_mvl/mxv - .byte BEND , c_v+58 - .byte W01 - .byte c_v+57 - .byte W02 - .byte c_v+56 - .byte W01 - .byte c_v+59 - .byte W01 - .byte VOL , 75*se_exp_mvl/mxv - .byte BEND , c_v+59 - .byte W01 - .byte c_v+58 - .byte W01 - .byte c_v+62 - .byte W02 - .byte c_v+61 - .byte W01 - .byte VOL , 76*se_exp_mvl/mxv - .byte BEND , c_v+60 - .byte W01 - .byte c_v+63 - .byte W01 - .byte c_v+62 - .byte W01 - .byte c_v+61 - .byte W02 - .byte VOL , 77*se_exp_mvl/mxv - .byte BEND , c_v+63 - .byte W01 - .byte c_v+62 - .byte W01 - .byte c_v+61 - .byte W01 - .byte c_v+63 - .byte W01 - .byte VOL , 78*se_exp_mvl/mxv - .byte BEND , c_v+62 - .byte W02 - .byte c_v+61 - .byte W01 - .byte c_v+63 - .byte W01 - .byte c_v+62 - .byte W01 - .byte VOL , 79*se_exp_mvl/mxv - .byte BEND , c_v+61 - .byte W01 - .byte c_v+63 - .byte W02 - .byte EOT - .byte FINE - -@******************************************************@ - .align 2 - -se_exp: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_exp_pri @ Priority - .byte se_exp_rev @ Reverb. - - .word se_exp_grp - - .word se_exp_1 - - .end diff --git a/sound/songs/se_expmax.s b/sound/songs/se_expmax.s deleted file mode 100644 index a3a8478b2..000000000 --- a/sound/songs/se_expmax.s +++ /dev/null @@ -1,76 +0,0 @@ - .include "MPlayDef.s" - - .equ se_expmax_grp, voicegroup128 - .equ se_expmax_pri, 5 - .equ se_expmax_rev, reverb_set+50 - .equ se_expmax_mvl, 127 - .equ se_expmax_key, 0 - .equ se_expmax_tbs, 1 - .equ se_expmax_exg, 0 - .equ se_expmax_cmp, 1 - - .section .rodata - .global se_expmax - .align 2 - -@********************** Track 1 **********************@ - -se_expmax_1: - .byte KEYSH , se_expmax_key+0 - .byte TEMPO , 150*se_expmax_tbs/2 - .byte VOICE , 46 - .byte VOL , 94*se_expmax_mvl/mxv - .byte BENDR , 2 - .byte LFOS , 40 - .byte PAN , c_v+0 - .byte BEND , c_v+15 - .byte N06 , An5 , v112 - .byte W01 - .byte N15 , En6 , v104 - .byte W02 - .byte W01 - .byte MOD , 5 - .byte W02 - .byte W03 - .byte W03 - .byte W03 - .byte W01 - .byte 0 - .byte W02 - .byte FINE - -@********************** Track 2 **********************@ - -se_expmax_2: - .byte KEYSH , se_expmax_key+0 - .byte VOICE , 53 - .byte BENDR , 2 - .byte VOL , 43*se_expmax_mvl/mxv - .byte PAN , c_v+0 - .byte BEND , c_v+15 - .byte N06 , An4 , v108 - .byte W01 - .byte N12 , Cs6 , v104 - .byte W02 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_expmax: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_expmax_pri @ Priority - .byte se_expmax_rev @ Reverb. - - .word se_expmax_grp - - .word se_expmax_1 - .word se_expmax_2 - - .end diff --git a/sound/songs/se_fu_zaku.s b/sound/songs/se_fu_zaku.s deleted file mode 100644 index b494653ee..000000000 --- a/sound/songs/se_fu_zaku.s +++ /dev/null @@ -1,54 +0,0 @@ - .include "MPlayDef.s" - - .equ se_fu_zaku_grp, voicegroup127 - .equ se_fu_zaku_pri, 4 - .equ se_fu_zaku_rev, reverb_set+50 - .equ se_fu_zaku_mvl, 127 - .equ se_fu_zaku_key, 0 - .equ se_fu_zaku_tbs, 1 - .equ se_fu_zaku_exg, 0 - .equ se_fu_zaku_cmp, 1 - - .section .rodata - .global se_fu_zaku - .align 2 - -@********************** Track 1 **********************@ - -se_fu_zaku_1: - .byte KEYSH , se_fu_zaku_key+0 - .byte TEMPO , 150*se_fu_zaku_tbs/2 - .byte VOICE , 126 - .byte VOL , 120*se_fu_zaku_mvl/mxv - .byte N01 , Cn3 , v068 - .byte W01 - .byte En3 , v064 - .byte W01 - .byte Gn3 - .byte W03 - .byte N02 , An2 , v048 - .byte W08 - .byte N01 , Cn3 , v068 - .byte W01 - .byte En3 , v064 - .byte W01 - .byte Gn3 - .byte W03 - .byte N02 , An2 , v048 - .byte W06 - .byte FINE - -@******************************************************@ - .align 2 - -se_fu_zaku: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_fu_zaku_pri @ Priority - .byte se_fu_zaku_rev @ Reverb. - - .word se_fu_zaku_grp - - .word se_fu_zaku_1 - - .end diff --git a/sound/songs/se_fu_zaku2.s b/sound/songs/se_fu_zaku2.s deleted file mode 100644 index 0ef523654..000000000 --- a/sound/songs/se_fu_zaku2.s +++ /dev/null @@ -1,48 +0,0 @@ - .include "MPlayDef.s" - - .equ se_fu_zaku2_grp, voicegroup127 - .equ se_fu_zaku2_pri, 4 - .equ se_fu_zaku2_rev, reverb_set+50 - .equ se_fu_zaku2_mvl, 127 - .equ se_fu_zaku2_key, 0 - .equ se_fu_zaku2_tbs, 1 - .equ se_fu_zaku2_exg, 0 - .equ se_fu_zaku2_cmp, 1 - - .section .rodata - .global se_fu_zaku2 - .align 2 - -@********************** Track 1 **********************@ - -se_fu_zaku2_1: - .byte KEYSH , se_fu_zaku2_key+0 - .byte TEMPO , 150*se_fu_zaku2_tbs/2 - .byte VOICE , 126 - .byte VOL , 110*se_fu_zaku2_mvl/mxv - .byte N01 , An2 , v112 - .byte W01 - .byte En3 - .byte W01 - .byte Gn3 - .byte W01 - .byte W02 - .byte N02 , Cn3 , v092 - .byte W01 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_fu_zaku2: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_fu_zaku2_pri @ Priority - .byte se_fu_zaku2_rev @ Reverb. - - .word se_fu_zaku2_grp - - .word se_fu_zaku2_1 - - .end diff --git a/sound/songs/se_fu_zuzuzu.s b/sound/songs/se_fu_zuzuzu.s deleted file mode 100644 index b0df814d0..000000000 --- a/sound/songs/se_fu_zuzuzu.s +++ /dev/null @@ -1,73 +0,0 @@ - .include "MPlayDef.s" - - .equ se_fu_zuzuzu_grp, voicegroup127 - .equ se_fu_zuzuzu_pri, 4 - .equ se_fu_zuzuzu_rev, reverb_set+50 - .equ se_fu_zuzuzu_mvl, 127 - .equ se_fu_zuzuzu_key, 0 - .equ se_fu_zuzuzu_tbs, 1 - .equ se_fu_zuzuzu_exg, 0 - .equ se_fu_zuzuzu_cmp, 1 - - .section .rodata - .global se_fu_zuzuzu - .align 2 - -@********************** Track 1 **********************@ - -se_fu_zuzuzu_1: - .byte KEYSH , se_fu_zuzuzu_key+0 - .byte TEMPO , 120*se_fu_zuzuzu_tbs/2 - .byte VOICE , 126 - .byte VOL , 127*se_fu_zuzuzu_mvl/mxv - .byte N08 , An2 , v112 - .byte W03 - .byte W03 - .byte W02 - .byte N01 , Gs2 - .byte W01 - .byte W01 - .byte N08 , An2 , v096 - .byte W02 - .byte W03 - .byte W03 - .byte W01 - .byte N01 , Gs2 , v092 - .byte W01 - .byte N08 , An2 , v080 - .byte W01 - .byte W03 - .byte W03 - .byte W02 - .byte N01 , Gs2 , v076 - .byte W01 - .byte N08 , An2 , v064 - .byte W03 - .byte W03 - .byte W03 - .byte N01 , Gs2 , v060 - .byte W02 - .byte N09 , An2 , v048 - .byte W01 - .byte W03 - .byte W03 - .byte W02 - .byte N01 , Gs2 , v040 - .byte W01 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_fu_zuzuzu: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_fu_zuzuzu_pri @ Priority - .byte se_fu_zuzuzu_rev @ Reverb. - - .word se_fu_zuzuzu_grp - - .word se_fu_zuzuzu_1 - - .end diff --git a/sound/songs/se_fuusen1.s b/sound/songs/se_fuusen1.s deleted file mode 100644 index 458b010c6..000000000 --- a/sound/songs/se_fuusen1.s +++ /dev/null @@ -1,53 +0,0 @@ - .include "MPlayDef.s" - - .equ se_fuusen1_grp, voicegroup128 - .equ se_fuusen1_pri, 4 - .equ se_fuusen1_rev, reverb_set+50 - .equ se_fuusen1_mvl, 127 - .equ se_fuusen1_key, 0 - .equ se_fuusen1_tbs, 1 - .equ se_fuusen1_exg, 0 - .equ se_fuusen1_cmp, 1 - - .section .rodata - .global se_fuusen1 - .align 2 - -@********************** Track 1 **********************@ - -se_fuusen1_1: - .byte KEYSH , se_fuusen1_key+0 - .byte TEMPO , 240*se_fuusen1_tbs/2 - .byte VOICE , 2 - .byte BENDR , 12 - .byte VOL , 105*se_fuusen1_mvl/mxv - .byte BEND , c_v+0 - .byte N06 , Cn4 , v127 - .byte W06 - .byte VOICE , 23 - .byte N02 , Cn3 , v112 - .byte W07 - .byte N01 , Cn4 - .byte W05 - .byte Cn3 , v100 - .byte W02 - .byte Gn3 , v092 - .byte W02 - .byte Cn3 , v072 - .byte W02 - .byte FINE - -@******************************************************@ - .align 2 - -se_fuusen1: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_fuusen1_pri @ Priority - .byte se_fuusen1_rev @ Reverb. - - .word se_fuusen1_grp - - .word se_fuusen1_1 - - .end diff --git a/sound/songs/se_fuusen2.s b/sound/songs/se_fuusen2.s deleted file mode 100644 index 065b91adf..000000000 --- a/sound/songs/se_fuusen2.s +++ /dev/null @@ -1,52 +0,0 @@ - .include "MPlayDef.s" - - .equ se_fuusen2_grp, voicegroup128 - .equ se_fuusen2_pri, 4 - .equ se_fuusen2_rev, reverb_set+50 - .equ se_fuusen2_mvl, 127 - .equ se_fuusen2_key, 0 - .equ se_fuusen2_tbs, 1 - .equ se_fuusen2_exg, 0 - .equ se_fuusen2_cmp, 1 - - .section .rodata - .global se_fuusen2 - .align 2 - -@********************** Track 1 **********************@ - -se_fuusen2_1: - .byte KEYSH , se_fuusen2_key+0 - .byte TEMPO , 240*se_fuusen2_tbs/2 - .byte VOICE , 2 - .byte BENDR , 12 - .byte VOL , 105*se_fuusen2_mvl/mxv - .byte BEND , c_v+0 - .byte N03 , Gn4 , v127 - .byte W04 - .byte N01 , Gn4 , v112 - .byte W02 - .byte W02 - .byte Gs3 , v052 - .byte W04 - .byte VOICE , 23 - .byte N02 , Fn3 , v112 - .byte W04 - .byte N01 , Cn4 , v072 - .byte W02 - .byte FINE - -@******************************************************@ - .align 2 - -se_fuusen2: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_fuusen2_pri @ Priority - .byte se_fuusen2_rev @ Reverb. - - .word se_fuusen2_grp - - .word se_fuusen2_1 - - .end diff --git a/sound/songs/se_fuusen3.s b/sound/songs/se_fuusen3.s deleted file mode 100644 index 0756c9618..000000000 --- a/sound/songs/se_fuusen3.s +++ /dev/null @@ -1,60 +0,0 @@ - .include "MPlayDef.s" - - .equ se_fuusen3_grp, voicegroup128 - .equ se_fuusen3_pri, 4 - .equ se_fuusen3_rev, reverb_set+50 - .equ se_fuusen3_mvl, 127 - .equ se_fuusen3_key, 0 - .equ se_fuusen3_tbs, 1 - .equ se_fuusen3_exg, 0 - .equ se_fuusen3_cmp, 1 - - .section .rodata - .global se_fuusen3 - .align 2 - -@********************** Track 1 **********************@ - -se_fuusen3_1: - .byte KEYSH , se_fuusen3_key+0 - .byte TEMPO , 240*se_fuusen3_tbs/2 - .byte VOICE , 2 - .byte BENDR , 12 - .byte VOL , 105*se_fuusen3_mvl/mxv - .byte BEND , c_v+0 - .byte N02 , Fn3 , v127 - .byte W02 - .byte N01 , Cn4 , v112 - .byte W02 - .byte N03 , Fn3 , v052 - .byte W02 - .byte W02 - .byte VOICE , 23 - .byte N01 , En4 , v092 - .byte W01 - .byte Cn5 - .byte W03 - .byte Gn3 - .byte W01 - .byte En4 - .byte W02 - .byte En3 , v048 - .byte W01 - .byte Bn3 - .byte W02 - .byte FINE - -@******************************************************@ - .align 2 - -se_fuusen3: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_fuusen3_pri @ Priority - .byte se_fuusen3_rev @ Reverb. - - .word se_fuusen3_grp - - .word se_fuusen3_1 - - .end diff --git a/sound/songs/se_hantei1.s b/sound/songs/se_hantei1.s deleted file mode 100644 index 5ef302ee6..000000000 --- a/sound/songs/se_hantei1.s +++ /dev/null @@ -1,58 +0,0 @@ - .include "MPlayDef.s" - - .equ se_hantei1_grp, voicegroup129 - .equ se_hantei1_pri, 5 - .equ se_hantei1_rev, reverb_set+50 - .equ se_hantei1_mvl, 127 - .equ se_hantei1_key, 0 - .equ se_hantei1_tbs, 1 - .equ se_hantei1_exg, 0 - .equ se_hantei1_cmp, 1 - - .section .rodata - .global se_hantei1 - .align 2 - -@********************** Track 1 **********************@ - -se_hantei1_1: - .byte KEYSH , se_hantei1_key+0 - .byte TEMPO , 92*se_hantei1_tbs/2 - .byte VOICE , 116 - .byte VOL , 127*se_hantei1_mvl/mxv - .byte PAN , c_v-62 - .byte N32 , Fn3 , v127 - .byte W12 - .byte W12 - .byte W12 - .byte FINE - -@********************** Track 2 **********************@ - -se_hantei1_2: - .byte KEYSH , se_hantei1_key+0 - .byte VOICE , 117 - .byte VOL , 127*se_hantei1_mvl/mxv - .byte PAN , c_v+63 - .byte BEND , c_v+1 - .byte N32 , An3 , v100 - .byte W12 - .byte W12 - .byte W12 - .byte FINE - -@******************************************************@ - .align 2 - -se_hantei1: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_hantei1_pri @ Priority - .byte se_hantei1_rev @ Reverb. - - .word se_hantei1_grp - - .word se_hantei1_1 - .word se_hantei1_2 - - .end diff --git a/sound/songs/se_hantei2.s b/sound/songs/se_hantei2.s deleted file mode 100644 index a10a14f41..000000000 --- a/sound/songs/se_hantei2.s +++ /dev/null @@ -1,70 +0,0 @@ - .include "MPlayDef.s" - - .equ se_hantei2_grp, voicegroup129 - .equ se_hantei2_pri, 5 - .equ se_hantei2_rev, reverb_set+50 - .equ se_hantei2_mvl, 127 - .equ se_hantei2_key, 0 - .equ se_hantei2_tbs, 1 - .equ se_hantei2_exg, 0 - .equ se_hantei2_cmp, 1 - - .section .rodata - .global se_hantei2 - .align 2 - -@********************** Track 1 **********************@ - -se_hantei2_1: - .byte KEYSH , se_hantei2_key+0 - .byte TEMPO , 92*se_hantei2_tbs/2 - .byte VOICE , 116 - .byte VOL , 127*se_hantei2_mvl/mxv - .byte PAN , c_v-62 - .byte N04 , Fn3 , v127 - .byte W04 - .byte VOICE , 10 - .byte N04 , Cn3 - .byte W05 - .byte VOICE , 116 - .byte N32 , Fn3 - .byte W03 - .byte W12 - .byte W12 - .byte W12 - .byte FINE - -@********************** Track 2 **********************@ - -se_hantei2_2: - .byte KEYSH , se_hantei2_key+0 - .byte VOICE , 117 - .byte VOL , 127*se_hantei2_mvl/mxv - .byte PAN , c_v+63 - .byte BEND , c_v+1 - .byte N04 , Gn3 , v100 - .byte W04 - .byte Dn3 - .byte W05 - .byte N32 , Gn3 - .byte W03 - .byte W12 - .byte W12 - .byte W12 - .byte FINE - -@******************************************************@ - .align 2 - -se_hantei2: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_hantei2_pri @ Priority - .byte se_hantei2_rev @ Reverb. - - .word se_hantei2_grp - - .word se_hantei2_1 - .word se_hantei2_2 - - .end diff --git a/sound/songs/se_hashi.s b/sound/songs/se_hashi.s deleted file mode 100644 index ba2ed43ce..000000000 --- a/sound/songs/se_hashi.s +++ /dev/null @@ -1,46 +0,0 @@ - .include "MPlayDef.s" - - .equ se_hashi_grp, voicegroup128 - .equ se_hashi_pri, 4 - .equ se_hashi_rev, reverb_set+50 - .equ se_hashi_mvl, 127 - .equ se_hashi_key, 0 - .equ se_hashi_tbs, 1 - .equ se_hashi_exg, 0 - .equ se_hashi_cmp, 1 - - .section .rodata - .global se_hashi - .align 2 - -@********************** Track 1 **********************@ - -se_hashi_1: - .byte KEYSH , se_hashi_key+0 - .byte TEMPO , 150*se_hashi_tbs/2 - .byte VOICE , 26 - .byte BENDR , 12 - .byte PAN , c_v+0 - .byte VOL , 95*se_hashi_mvl/mxv - .byte BEND , c_v+0 - .byte N01 , Cn3 , v127 - .byte W03 - .byte W03 - .byte Gn3 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_hashi: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_hashi_pri @ Priority - .byte se_hashi_rev @ Reverb. - - .word se_hashi_grp - - .word se_hashi_1 - - .end diff --git a/sound/songs/se_hazure.s b/sound/songs/se_hazure.s deleted file mode 100644 index 9bd29f6b5..000000000 --- a/sound/songs/se_hazure.s +++ /dev/null @@ -1,55 +0,0 @@ - .include "MPlayDef.s" - - .equ se_hazure_grp, voicegroup127 - .equ se_hazure_pri, 4 - .equ se_hazure_rev, reverb_set+50 - .equ se_hazure_mvl, 127 - .equ se_hazure_key, 0 - .equ se_hazure_tbs, 1 - .equ se_hazure_exg, 0 - .equ se_hazure_cmp, 1 - - .section .rodata - .global se_hazure - .align 2 - -@********************** Track 1 **********************@ - -se_hazure_1: - .byte KEYSH , se_hazure_key+0 - .byte TEMPO , 240*se_hazure_tbs/2 - .byte VOICE , 92 - .byte BENDR , 12 - .byte VOL , 120*se_hazure_mvl/mxv - .byte BEND , c_v+0 - .byte N03 , Cn2 , v127 - .byte W03 - .byte Cn2 , v020 - .byte W03 - .byte N18 , Cn2 , v127 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte N09 , Cn2 , v020 - .byte W03 - .byte W03 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_hazure: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_hazure_pri @ Priority - .byte se_hazure_rev @ Reverb. - - .word se_hazure_grp - - .word se_hazure_1 - - .end diff --git a/sound/songs/se_hi_turun.s b/sound/songs/se_hi_turun.s deleted file mode 100644 index ab51f35cd..000000000 --- a/sound/songs/se_hi_turun.s +++ /dev/null @@ -1,62 +0,0 @@ - .include "MPlayDef.s" - - .equ se_hi_turun_grp, voicegroup128 - .equ se_hi_turun_pri, 4 - .equ se_hi_turun_rev, reverb_set+50 - .equ se_hi_turun_mvl, 127 - .equ se_hi_turun_key, 0 - .equ se_hi_turun_tbs, 1 - .equ se_hi_turun_exg, 0 - .equ se_hi_turun_cmp, 1 - - .section .rodata - .global se_hi_turun - .align 2 - -@********************** Track 1 **********************@ - -se_hi_turun_1: - .byte KEYSH , se_hi_turun_key+0 - .byte TEMPO , 220*se_hi_turun_tbs/2 - .byte VOICE , 9 - .byte VOL , 90*se_hi_turun_mvl/mxv - .byte BEND , c_v+0 - .byte N03 , Gn4 , v112 - .byte W03 - .byte Dn4 - .byte W03 - .byte Gn4 - .byte W03 - .byte N21 , Gn5 - .byte W03 - .byte W03 - .byte VOL , 81*se_hi_turun_mvl/mxv - .byte BEND , c_v+6 - .byte W03 - .byte VOL , 72*se_hi_turun_mvl/mxv - .byte BEND , c_v+20 - .byte W03 - .byte VOL , 46*se_hi_turun_mvl/mxv - .byte BEND , c_v+37 - .byte W03 - .byte VOL , 24*se_hi_turun_mvl/mxv - .byte BEND , c_v+63 - .byte W03 - .byte VOL , 7*se_hi_turun_mvl/mxv - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_hi_turun: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_hi_turun_pri @ Priority - .byte se_hi_turun_rev @ Reverb. - - .word se_hi_turun_grp - - .word se_hi_turun_1 - - .end diff --git a/sound/songs/se_hinsi.s b/sound/songs/se_hinsi.s deleted file mode 100644 index 3c16f2f1b..000000000 --- a/sound/songs/se_hinsi.s +++ /dev/null @@ -1,50 +0,0 @@ - .include "MPlayDef.s" - - .equ se_hinsi_grp, voicegroup127 - .equ se_hinsi_pri, 3 - .equ se_hinsi_rev, reverb_set+50 - .equ se_hinsi_mvl, 127 - .equ se_hinsi_key, 0 - .equ se_hinsi_tbs, 1 - .equ se_hinsi_exg, 0 - .equ se_hinsi_cmp, 1 - - .section .rodata - .global se_hinsi - .align 2 - -@********************** Track 1 **********************@ - -se_hinsi_1: - .byte KEYSH , se_hinsi_key+0 -se_hinsi_1_B1: - .byte TEMPO , 150*se_hinsi_tbs/2 - .byte VOICE , 15 - .byte XCMD , xIECV , 10 - .byte xIECL , 8 - .byte VOL , 100*se_hinsi_mvl/mxv - .byte BEND , c_v+17 - .byte N12 , Dn4 , v080 - .byte W12 - .byte BEND , c_v+31 - .byte N12 , An3 - .byte W12 - .byte W12 - .byte GOTO - .word se_hinsi_1_B1 - .byte FINE - -@******************************************************@ - .align 2 - -se_hinsi: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_hinsi_pri @ Priority - .byte se_hinsi_rev @ Reverb. - - .word se_hinsi_grp - - .word se_hinsi_1 - - .end diff --git a/sound/songs/se_i.s b/sound/songs/se_i.s deleted file mode 100644 index fdb4ff5c4..000000000 --- a/sound/songs/se_i.s +++ /dev/null @@ -1,45 +0,0 @@ - .include "MPlayDef.s" - - .equ se_i_grp, voicegroup128 - .equ se_i_pri, 4 - .equ se_i_rev, reverb_set+50 - .equ se_i_mvl, 127 - .equ se_i_key, 0 - .equ se_i_tbs, 1 - .equ se_i_exg, 0 - .equ se_i_cmp, 1 - - .section .rodata - .global se_i - .align 2 - -@********************** Track 1 **********************@ - -se_i_1: - .byte KEYSH , se_i_key+0 - .byte TEMPO , 240*se_i_tbs/2 - .byte VOICE , 123 - .byte BENDR , 12 - .byte VOL , 120*se_i_mvl/mxv - .byte BEND , c_v+0 - .byte N72 , Cn3 , v127 - .byte W24 - .byte W24 - .byte W24 - .byte W24 - .byte FINE - -@******************************************************@ - .align 2 - -se_i: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_i_pri @ Priority - .byte se_i_rev @ Reverb. - - .word se_i_grp - - .word se_i_1 - - .end diff --git a/sound/songs/se_jido_doa.s b/sound/songs/se_jido_doa.s deleted file mode 100644 index 60a1e4a47..000000000 --- a/sound/songs/se_jido_doa.s +++ /dev/null @@ -1,41 +0,0 @@ - .include "MPlayDef.s" - - .equ se_jido_doa_grp, voicegroup128 - .equ se_jido_doa_pri, 4 - .equ se_jido_doa_rev, reverb_set+50 - .equ se_jido_doa_mvl, 127 - .equ se_jido_doa_key, 0 - .equ se_jido_doa_tbs, 1 - .equ se_jido_doa_exg, 0 - .equ se_jido_doa_cmp, 1 - - .section .rodata - .global se_jido_doa - .align 2 - -@********************** Track 1 **********************@ - -se_jido_doa_1: - .byte KEYSH , se_jido_doa_key+0 - .byte TEMPO , 120*se_jido_doa_tbs/2 - .byte VOICE , 1 - .byte VOL , 95*se_jido_doa_mvl/mxv - .byte N12 , Cn2 , v127 - .byte W12 - .byte VOL , 0*se_jido_doa_mvl/mxv - .byte FINE - -@******************************************************@ - .align 2 - -se_jido_doa: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_jido_doa_pri @ Priority - .byte se_jido_doa_rev @ Reverb. - - .word se_jido_doa_grp - - .word se_jido_doa_1 - - .end diff --git a/sound/songs/se_jihanki.s b/sound/songs/se_jihanki.s deleted file mode 100644 index 931dd5b64..000000000 --- a/sound/songs/se_jihanki.s +++ /dev/null @@ -1,46 +0,0 @@ - .include "MPlayDef.s" - - .equ se_jihanki_grp, voicegroup128 - .equ se_jihanki_pri, 4 - .equ se_jihanki_rev, reverb_set+50 - .equ se_jihanki_mvl, 127 - .equ se_jihanki_key, 0 - .equ se_jihanki_tbs, 1 - .equ se_jihanki_exg, 0 - .equ se_jihanki_cmp, 1 - - .section .rodata - .global se_jihanki - .align 2 - -@********************** Track 1 **********************@ - -se_jihanki_1: - .byte KEYSH , se_jihanki_key+0 - .byte TEMPO , 150*se_jihanki_tbs/2 - .byte VOICE , 8 - .byte VOL , 110*se_jihanki_mvl/mxv - .byte BEND , c_v+0 - .byte N01 , Cn4 , v092 - .byte W03 - .byte Cn5 - .byte W03 - .byte W03 - .byte N02 , En3 , v127 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_jihanki: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_jihanki_pri @ Priority - .byte se_jihanki_rev @ Reverb. - - .word se_jihanki_grp - - .word se_jihanki_1 - - .end diff --git a/sound/songs/se_jite_pyoko.s b/sound/songs/se_jite_pyoko.s deleted file mode 100644 index 36dbcf83b..000000000 --- a/sound/songs/se_jite_pyoko.s +++ /dev/null @@ -1,45 +0,0 @@ - .include "MPlayDef.s" - - .equ se_jite_pyoko_grp, voicegroup127 - .equ se_jite_pyoko_pri, 4 - .equ se_jite_pyoko_rev, reverb_set+50 - .equ se_jite_pyoko_mvl, 127 - .equ se_jite_pyoko_key, 0 - .equ se_jite_pyoko_tbs, 1 - .equ se_jite_pyoko_exg, 0 - .equ se_jite_pyoko_cmp, 1 - - .section .rodata - .global se_jite_pyoko - .align 2 - -@********************** Track 1 **********************@ - -se_jite_pyoko_1: - .byte KEYSH , se_jite_pyoko_key+0 - .byte TEMPO , 180*se_jite_pyoko_tbs/2 - .byte VOICE , 85 - .byte VOL , 90*se_jite_pyoko_mvl/mxv - .byte BEND , c_v-6 - .byte N02 , Cn3 , v080 - .byte W02 - .byte VOICE , 86 - .byte N03 , Cn4 , v127 - .byte W01 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_jite_pyoko: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_jite_pyoko_pri @ Priority - .byte se_jite_pyoko_rev @ Reverb. - - .word se_jite_pyoko_grp - - .word se_jite_pyoko_1 - - .end diff --git a/sound/songs/se_jitensya.s b/sound/songs/se_jitensya.s deleted file mode 100644 index da5d37007..000000000 --- a/sound/songs/se_jitensya.s +++ /dev/null @@ -1,40 +0,0 @@ - .include "MPlayDef.s" - - .equ se_jitensya_grp, voicegroup128 - .equ se_jitensya_pri, 4 - .equ se_jitensya_rev, reverb_set+50 - .equ se_jitensya_mvl, 127 - .equ se_jitensya_key, 0 - .equ se_jitensya_tbs, 1 - .equ se_jitensya_exg, 0 - .equ se_jitensya_cmp, 1 - - .section .rodata - .global se_jitensya - .align 2 - -@********************** Track 1 **********************@ - -se_jitensya_1: - .byte KEYSH , se_jitensya_key+0 - .byte TEMPO , 120*se_jitensya_tbs/2 - .byte VOICE , 0 - .byte VOL , 90*se_jitensya_mvl/mxv - .byte N96 , Cn3 , v127 - .byte W96 - .byte FINE - -@******************************************************@ - .align 2 - -se_jitensya: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_jitensya_pri @ Priority - .byte se_jitensya_rev @ Reverb. - - .word se_jitensya_grp - - .word se_jitensya_1 - - .end diff --git a/sound/songs/se_jyuni.s b/sound/songs/se_jyuni.s deleted file mode 100644 index 1267e7f35..000000000 --- a/sound/songs/se_jyuni.s +++ /dev/null @@ -1,127 +0,0 @@ - .include "MPlayDef.s" - - .equ se_jyuni_grp, voicegroup127 - .equ se_jyuni_pri, 4 - .equ se_jyuni_rev, reverb_set+50 - .equ se_jyuni_mvl, 127 - .equ se_jyuni_key, 0 - .equ se_jyuni_tbs, 1 - .equ se_jyuni_exg, 0 - .equ se_jyuni_cmp, 1 - - .section .rodata - .global se_jyuni - .align 2 - -@********************** Track 1 **********************@ - -se_jyuni_1: - .byte KEYSH , se_jyuni_key+0 - .byte TEMPO , 144*se_jyuni_tbs/2 - .byte VOICE , 48 - .byte PAN , c_v+1 - .byte VOL , 110*se_jyuni_mvl/mxv - .byte N06 , Cn3 , v060 - .byte W06 - .byte N13 , Gn3 - .byte W06 - .byte W01 - .byte VOL , 105*se_jyuni_mvl/mxv - .byte W01 - .byte 100*se_jyuni_mvl/mxv - .byte W01 - .byte 89*se_jyuni_mvl/mxv - .byte W01 - .byte 72*se_jyuni_mvl/mxv - .byte W02 - .byte 55*se_jyuni_mvl/mxv - .byte W01 - .byte 38*se_jyuni_mvl/mxv - .byte W01 - .byte 22*se_jyuni_mvl/mxv - .byte W01 - .byte 110*se_jyuni_mvl/mxv - .byte N12 , Gn3 , v032 - .byte W03 - .byte W01 - .byte VOL , 100*se_jyuni_mvl/mxv - .byte W01 - .byte 91*se_jyuni_mvl/mxv - .byte W01 - .byte 75*se_jyuni_mvl/mxv - .byte W01 - .byte 43*se_jyuni_mvl/mxv - .byte W02 - .byte 24*se_jyuni_mvl/mxv - .byte W01 - .byte 9*se_jyuni_mvl/mxv - .byte W05 - .byte FINE - -@********************** Track 2 **********************@ - -se_jyuni_2: - .byte KEYSH , se_jyuni_key+0 - .byte VOICE , 80 - .byte VOL , 110*se_jyuni_mvl/mxv - .byte PAN , c_v+0 - .byte N06 , Cn3 , v060 - .byte W06 - .byte N13 , Gn3 - .byte W06 - .byte W09 - .byte PAN , c_v-48 - .byte N12 , Gn3 , v032 - .byte W03 - .byte W12 - .byte FINE - -@********************** Track 3 **********************@ - -se_jyuni_3: - .byte KEYSH , se_jyuni_key+0 - .byte VOICE , 81 - .byte VOL , 110*se_jyuni_mvl/mxv - .byte PAN , c_v+0 - .byte N06 , Gn2 , v060 - .byte W06 - .byte N13 , Cn3 - .byte W06 - .byte W09 - .byte PAN , c_v+48 - .byte N12 , Cn3 , v032 - .byte W03 - .byte W12 - .byte FINE - -@********************** Track 4 **********************@ - -se_jyuni_4: - .byte KEYSH , se_jyuni_key+0 - .byte VOICE , 47 - .byte VOL , 110*se_jyuni_mvl/mxv - .byte N06 , Gn1 , v127 - .byte W06 - .byte N13 , Cn2 - .byte W06 - .byte W12 - .byte W12 - .byte FINE - -@******************************************************@ - .align 2 - -se_jyuni: - .byte 4 @ NumTrks - .byte 0 @ NumBlks - .byte se_jyuni_pri @ Priority - .byte se_jyuni_rev @ Reverb. - - .word se_jyuni_grp - - .word se_jyuni_1 - .word se_jyuni_2 - .word se_jyuni_3 - .word se_jyuni_4 - - .end diff --git a/sound/songs/se_kaidan.s b/sound/songs/se_kaidan.s deleted file mode 100644 index 3563c4062..000000000 --- a/sound/songs/se_kaidan.s +++ /dev/null @@ -1,61 +0,0 @@ - .include "MPlayDef.s" - - .equ se_kaidan_grp, voicegroup127 - .equ se_kaidan_pri, 5 - .equ se_kaidan_rev, reverb_set+50 - .equ se_kaidan_mvl, 127 - .equ se_kaidan_key, 0 - .equ se_kaidan_tbs, 1 - .equ se_kaidan_exg, 0 - .equ se_kaidan_cmp, 1 - - .section .rodata - .global se_kaidan - .align 2 - -@********************** Track 1 **********************@ - -se_kaidan_1: - .byte KEYSH , se_kaidan_key+0 - .byte TEMPO , 120*se_kaidan_tbs/2 - .byte VOICE , 126 - .byte VOL , 120*se_kaidan_mvl/mxv - .byte N02 , An2 , v068 - .byte W02 - .byte Cn3 , v127 - .byte W01 - .byte W01 - .byte En4 , v068 - .byte W02 - .byte W03 - .byte W03 - .byte An2 - .byte W02 - .byte Cn3 , v100 - .byte W01 - .byte W01 - .byte En4 , v068 - .byte W02 - .byte W03 - .byte W03 - .byte An2 , v032 - .byte W02 - .byte Cn3 , v052 - .byte W01 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_kaidan: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_kaidan_pri @ Priority - .byte se_kaidan_rev @ Reverb. - - .word se_kaidan_grp - - .word se_kaidan_1 - - .end diff --git a/sound/songs/se_kaifuku.s b/sound/songs/se_kaifuku.s deleted file mode 100644 index ecaf63c92..000000000 --- a/sound/songs/se_kaifuku.s +++ /dev/null @@ -1,46 +0,0 @@ - .include "MPlayDef.s" - - .equ se_kaifuku_grp, voicegroup127 - .equ se_kaifuku_pri, 5 - .equ se_kaifuku_rev, reverb_set+50 - .equ se_kaifuku_mvl, 127 - .equ se_kaifuku_key, 0 - .equ se_kaifuku_tbs, 1 - .equ se_kaifuku_exg, 0 - .equ se_kaifuku_cmp, 1 - - .section .rodata - .global se_kaifuku - .align 2 - -@********************** Track 1 **********************@ - -se_kaifuku_1: - .byte KEYSH , se_kaifuku_key+0 - .byte TEMPO , 132*se_kaifuku_tbs/2 - .byte VOICE , 91 - .byte VOL , 100*se_kaifuku_mvl/mxv - .byte BEND , c_v-6 - .byte N02 , Cn3 , v112 - .byte W04 - .byte N02 - .byte W04 - .byte VOICE , 90 - .byte N15 - .byte W16 - .byte FINE - -@******************************************************@ - .align 2 - -se_kaifuku: - .byte 1 @ NumTrks - .byte 0 @ NumBlks - .byte se_kaifuku_pri @ Priority - .byte se_kaifuku_rev @ Reverb. - - .word se_kaifuku_grp - - .word se_kaifuku_1 - - .end diff --git a/sound/songs/se_ki_gasyan.s b/sound/songs/se_ki_gasyan.s deleted file mode 100644 index 11bcfbf45..000000000 --- a/sound/songs/se_ki_gasyan.s +++ /dev/null @@ -1,76 +0,0 @@ - .include "MPlayDef.s" - - .equ se_ki_gasyan_grp, voicegroup128 - .equ se_ki_gasyan_pri, 4 - .equ se_ki_gasyan_rev, reverb_set+50 - .equ se_ki_gasyan_mvl, 127 - .equ se_ki_gasyan_key, 0 - .equ se_ki_gasyan_tbs, 1 - .equ se_ki_gasyan_exg, 0 - .equ se_ki_gasyan_cmp, 1 - - .section .rodata - .global se_ki_gasyan - .align 2 - -@********************** Track 1 **********************@ - -se_ki_gasyan_1: - .byte KEYSH , se_ki_gasyan_key+0 - .byte TEMPO , 150*se_ki_gasyan_tbs/2 - .byte VOICE , 8 - .byte VOL , 100*se_ki_gasyan_mvl/mxv - .byte BEND , c_v+0 - .byte N01 , Cn3 , v127 - .byte W02 - .byte N02 , Gn2 - .byte W04 - .byte N17 , Cn3 - .byte W06 - .byte VOL , 98*se_ki_gasyan_mvl/mxv - .byte W01 - .byte 91*se_ki_gasyan_mvl/mxv - .byte W01 - .byte 81*se_ki_gasyan_mvl/mxv - .byte W02 - .byte 75*se_ki_gasyan_mvl/mxv - .byte W01 - .byte 60*se_ki_gasyan_mvl/mxv - .byte W01 - .byte 42*se_ki_gasyan_mvl/mxv - .byte W01 - .byte 25*se_ki_gasyan_mvl/mxv - .byte W02 - .byte 10*se_ki_gasyan_mvl/mxv - .byte W03 - .byte FINE - -@********************** Track 2 **********************@ - -se_ki_gasyan_2: - .byte VOL , 100*se_ki_gasyan_mvl/mxv - .byte KEYSH , se_ki_gasyan_key+0 - .byte VOICE , 4 - .byte N01 , Cn3 , v064 - .byte W02 - .byte N02 - .byte W04 - .byte N02 - .byte W18 - .byte FINE - -@******************************************************@ - .align 2 - -se_ki_gasyan: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_ki_gasyan_pri @ Priority - .byte se_ki_gasyan_rev @ Reverb. - - .word se_ki_gasyan_grp - - .word se_ki_gasyan_1 - .word se_ki_gasyan_2 - - .end diff --git a/sound/songs/se_kon.s b/sound/songs/se_kon.s deleted file mode 100644 index 45a59f4d9..000000000 --- a/sound/songs/se_kon.s +++ /dev/null @@ -1,53 +0,0 @@ - .include "MPlayDef.s" - - .equ se_kon_grp, voicegroup128 - .equ se_kon_pri, 4 - .equ se_kon_rev, reverb_set+50 - .equ se_kon_mvl, 127 - .equ se_kon_key, 0 - .equ se_kon_tbs, 1 - .equ se_kon_exg, 0 - .equ se_kon_cmp, 1 - - .section .rodata - .global se_kon - .align 2 - -@********************** Track 1 **********************@ - -se_kon_1: - .byte KEYSH , se_kon_key+0 - .byte TEMPO , 150*se_kon_tbs/2 - .byte VOICE , 16 - .byte VOL , 100*se_kon_mvl/mxv - .byte BEND , c_v+1 - .byte N12 , Fn4 , v112 - .byte W12 - .byte FINE - -@********************** Track 2 **********************@ - -se_kon_2: - .byte KEYSH , se_kon_key+0 - .byte VOICE , 17 - .byte VOL , 100*se_kon_mvl/mxv - .byte BEND , c_v+0 - .byte N09 , Fn4 , v100 - .byte W12 - .byte FINE - -@******************************************************@ - .align 2 - -se_kon: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_kon_pri @ Priority - .byte se_kon_rev @ Reverb. - - .word se_kon_grp - - .word se_kon_1 - .word se_kon_2 - - .end diff --git a/sound/songs/se_kon2.s b/sound/songs/se_kon2.s deleted file mode 100644 index 127532686..000000000 --- a/sound/songs/se_kon2.s +++ /dev/null @@ -1,53 +0,0 @@ - .include "MPlayDef.s" - - .equ se_kon2_grp, voicegroup128 - .equ se_kon2_pri, 4 - .equ se_kon2_rev, reverb_set+50 - .equ se_kon2_mvl, 127 - .equ se_kon2_key, 0 - .equ se_kon2_tbs, 1 - .equ se_kon2_exg, 0 - .equ se_kon2_cmp, 1 - - .section .rodata - .global se_kon2 - .align 2 - -@********************** Track 1 **********************@ - -se_kon2_1: - .byte KEYSH , se_kon2_key+0 - .byte TEMPO , 150*se_kon2_tbs/2 - .byte VOICE , 16 - .byte VOL , 100*se_kon2_mvl/mxv - .byte BEND , c_v+1 - .byte N12 , Fn4 , v100 - .byte W12 - .byte FINE - -@********************** Track 2 **********************@ - -se_kon2_2: - .byte KEYSH , se_kon2_key+0 - .byte VOICE , 17 - .byte VOL , 100*se_kon2_mvl/mxv - .byte BEND , c_v+0 - .byte N09 , Fn4 , v088 - .byte W12 - .byte FINE - -@******************************************************@ - .align 2 - -se_kon2: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_kon2_pri @ Priority - .byte se_kon2_rev @ Reverb. - - .word se_kon2_grp - - .word se_kon2_1 - .word se_kon2_2 - - .end diff --git a/sound/songs/se_kon3.s b/sound/songs/se_kon3.s deleted file mode 100644 index 4e5ee26fa..000000000 --- a/sound/songs/se_kon3.s +++ /dev/null @@ -1,53 +0,0 @@ - .include "MPlayDef.s" - - .equ se_kon3_grp, voicegroup128 - .equ se_kon3_pri, 4 - .equ se_kon3_rev, reverb_set+50 - .equ se_kon3_mvl, 127 - .equ se_kon3_key, 0 - .equ se_kon3_tbs, 1 - .equ se_kon3_exg, 0 - .equ se_kon3_cmp, 1 - - .section .rodata - .global se_kon3 - .align 2 - -@********************** Track 1 **********************@ - -se_kon3_1: - .byte KEYSH , se_kon3_key+0 - .byte TEMPO , 150*se_kon3_tbs/2 - .byte VOICE , 16 - .byte VOL , 100*se_kon3_mvl/mxv - .byte BEND , c_v+1 - .byte N12 , Fn4 , v088 - .byte W12 - .byte FINE - -@********************** Track 2 **********************@ - -se_kon3_2: - .byte KEYSH , se_kon3_key+0 - .byte VOICE , 17 - .byte VOL , 100*se_kon3_mvl/mxv - .byte BEND , c_v+0 - .byte N09 , Fn4 , v072 - .byte W12 - .byte FINE - -@******************************************************@ - .align 2 - -se_kon3: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_kon3_pri @ Priority - .byte se_kon3_rev @ Reverb. - - .word se_kon3_grp - - .word se_kon3_1 - .word se_kon3_2 - - .end diff --git a/sound/songs/se_kon4.s b/sound/songs/se_kon4.s deleted file mode 100644 index 4dfe81e34..000000000 --- a/sound/songs/se_kon4.s +++ /dev/null @@ -1,53 +0,0 @@ - .include "MPlayDef.s" - - .equ se_kon4_grp, voicegroup128 - .equ se_kon4_pri, 4 - .equ se_kon4_rev, reverb_set+50 - .equ se_kon4_mvl, 127 - .equ se_kon4_key, 0 - .equ se_kon4_tbs, 1 - .equ se_kon4_exg, 0 - .equ se_kon4_cmp, 1 - - .section .rodata - .global se_kon4 - .align 2 - -@********************** Track 1 **********************@ - -se_kon4_1: - .byte KEYSH , se_kon4_key+0 - .byte TEMPO , 150*se_kon4_tbs/2 - .byte VOICE , 16 - .byte VOL , 100*se_kon4_mvl/mxv - .byte BEND , c_v+1 - .byte N12 , Fn4 , v076 - .byte W12 - .byte FINE - -@********************** Track 2 **********************@ - -se_kon4_2: - .byte KEYSH , se_kon4_key+0 - .byte VOICE , 17 - .byte VOL , 100*se_kon4_mvl/mxv - .byte BEND , c_v+0 - .byte N09 , Fn4 , v056 - .byte W12 - .byte FINE - -@******************************************************@ - .align 2 - -se_kon4: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_kon4_pri @ Priority - .byte se_kon4_rev @ Reverb. - - .word se_kon4_grp - - .word se_kon4_1 - .word se_kon4_2 - - .end diff --git a/sound/songs/se_kouka_h.s b/sound/songs/se_kouka_h.s deleted file mode 100644 index 955d3c077..000000000 --- a/sound/songs/se_kouka_h.s +++ /dev/null @@ -1,105 +0,0 @@ - .include "MPlayDef.s" - - .equ se_kouka_h_grp, voicegroup127 - .equ se_kouka_h_pri, 5 - .equ se_kouka_h_rev, reverb_set+50 - .equ se_kouka_h_mvl, 127 - .equ se_kouka_h_key, 0 - .equ se_kouka_h_tbs, 1 - .equ se_kouka_h_exg, 0 - .equ se_kouka_h_cmp, 1 - - .section .rodata - .global se_kouka_h - .align 2 - -@********************** Track 1 **********************@ - -se_kouka_h_1: - .byte KEYSH , se_kouka_h_key+0 - .byte TEMPO , 90*se_kouka_h_tbs/2 - .byte VOICE , 125 - .byte VOL , 110*se_kouka_h_mvl/mxv - .byte N03 , Cn3 , v100 - .byte W03 - .byte An2 - .byte W03 - .byte Cn3 - .byte W03 - .byte N06 , Gn3 , v072 - .byte W03 - .byte W03 - .byte N03 , Cn3 , v052 - .byte W03 - .byte N06 , Gn3 , v048 - .byte W03 - .byte W03 - .byte N03 , Cn3 , v028 - .byte W03 - .byte N06 , Gn3 - .byte W03 - .byte W03 - .byte N03 , Cn3 - .byte W03 - .byte N06 , Gn3 - .byte W03 - .byte W03 - .byte N03 , Cn3 , v012 - .byte W03 - .byte N06 , Gn3 - .byte W03 - .byte W03 - .byte FINE - -@********************** Track 2 **********************@ - -se_kouka_h_2: - .byte KEYSH , se_kouka_h_key+0 - .byte VOICE , 0 - .byte VOL , 110*se_kouka_h_mvl/mxv - .byte N03 , Cn4 , v127 - .byte W03 - .byte Cn3 - .byte W03 - .byte Cn4 - .byte W03 - .byte N06 , Gn3 , v088 - .byte W03 - .byte W03 - .byte N03 , Cn3 , v064 - .byte W03 - .byte N06 , Gn3 - .byte W03 - .byte W03 - .byte N03 , Cn3 , v044 - .byte W03 - .byte N06 , Gn3 - .byte W03 - .byte W03 - .byte N03 , Cn3 , v028 - .byte W03 - .byte N06 , Gn3 - .byte W03 - .byte W03 - .byte N03 , Cn3 , v012 - .byte W03 - .byte N06 , Gn3 - .byte W03 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_kouka_h: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_kouka_h_pri @ Priority - .byte se_kouka_h_rev @ Reverb. - - .word se_kouka_h_grp - - .word se_kouka_h_1 - .word se_kouka_h_2 - - .end diff --git a/sound/songs/se_kouka_l.s b/sound/songs/se_kouka_l.s deleted file mode 100644 index f00241b69..000000000 --- a/sound/songs/se_kouka_l.s +++ /dev/null @@ -1,56 +0,0 @@ - .include "MPlayDef.s" - - .equ se_kouka_l_grp, voicegroup127 - .equ se_kouka_l_pri, 5 - .equ se_kouka_l_rev, reverb_set+50 - .equ se_kouka_l_mvl, 127 - .equ se_kouka_l_key, 0 - .equ se_kouka_l_tbs, 1 - .equ se_kouka_l_exg, 0 - .equ se_kouka_l_cmp, 1 - - .section .rodata - .global se_kouka_l - .align 2 - -@********************** Track 1 **********************@ - -se_kouka_l_1: - .byte KEYSH , se_kouka_l_key+0 - .byte TEMPO , 90*se_kouka_l_tbs/2 - .byte VOICE , 127 - .byte VOL , 110*se_kouka_l_mvl/mxv - .byte N03 , Gn2 , v100 - .byte W03 - .byte N06 , As2 - .byte W03 - .byte W03 - .byte FINE - -@********************** Track 2 **********************@ - -se_kouka_l_2: - .byte KEYSH , se_kouka_l_key+0 - .byte VOICE , 0 - .byte VOL , 110*se_kouka_l_mvl/mxv - .byte N09 , As1 , v127 - .byte W03 - .byte W03 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_kouka_l: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_kouka_l_pri @ Priority - .byte se_kouka_l_rev @ Reverb. - - .word se_kouka_l_grp - - .word se_kouka_l_1 - .word se_kouka_l_2 - - .end diff --git a/sound/songs/se_kouka_m.s b/sound/songs/se_kouka_m.s deleted file mode 100644 index b285c1566..000000000 --- a/sound/songs/se_kouka_m.s +++ /dev/null @@ -1,82 +0,0 @@ - .include "MPlayDef.s" - - .equ se_kouka_m_grp, voicegroup127 - .equ se_kouka_m_pri, 5 - .equ se_kouka_m_rev, reverb_set+50 - .equ se_kouka_m_mvl, 127 - .equ se_kouka_m_key, 0 - .equ se_kouka_m_tbs, 1 - .equ se_kouka_m_exg, 0 - .equ se_kouka_m_cmp, 1 - - .section .rodata - .global se_kouka_m - .align 2 - -@********************** Track 1 **********************@ - -se_kouka_m_1: - .byte KEYSH , se_kouka_m_key+0 - .byte TEMPO , 90*se_kouka_m_tbs/2 - .byte VOICE , 125 - .byte VOL , 110*se_kouka_m_mvl/mxv - .byte BEND , c_v+0 - .byte N03 , As2 , v100 - .byte W03 - .byte BEND , c_v-33 - .byte N36 , Ds3 - .byte W03 - .byte BEND , c_v+0 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte FINE - -@********************** Track 2 **********************@ - -se_kouka_m_2: - .byte KEYSH , se_kouka_m_key+0 - .byte VOICE , 0 - .byte VOL , 110*se_kouka_m_mvl/mxv - .byte N03 , Cn3 , v127 - .byte W03 - .byte N18 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte W03 - .byte FINE - -@******************************************************@ - .align 2 - -se_kouka_m: - .byte 2 @ NumTrks - .byte 0 @ NumBlks - .byte se_kouka_m_pri @ Priority - .byte se_kouka_m_rev @ Reverb. - - .word se_kouka_m_grp - - .word se_kouka_m_1 - .word se_kouka_m_2 - - .end diff --git a/src/battle_anim.c b/src/battle_anim.c index 2d514c955..0a5395b02 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -16,9 +16,6 @@ #include "palette.h" #include "main.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)) - #define ANIM_SPRITE_INDEX_COUNT 8 extern u16 gBattle_WIN0H; @@ -33,8 +30,8 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct MusicPlayerInfo gMPlayInfo_SE1; extern struct MusicPlayerInfo gMPlayInfo_SE2; -extern const u16 gUnknown_082C8D64[]; -extern const u8 * const gBattleAnims_Moves[]; +extern const u16 gMovesWithQuietBGM[]; +extern const u8 *const gBattleAnims_Moves[]; extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; extern const struct BattleAnimBackground gBattleAnimBackgroundTable[]; @@ -110,7 +107,7 @@ EWRAM_DATA bool8 gAnimScriptActive = FALSE; EWRAM_DATA u8 gAnimVisualTaskCount = 0; EWRAM_DATA u8 gAnimSoundTaskCount = 0; EWRAM_DATA struct DisableStruct *gAnimDisableStructPtr = NULL; -EWRAM_DATA u32 gAnimMoveDmg = 0; +EWRAM_DATA s32 gAnimMoveDmg = 0; EWRAM_DATA u16 gAnimMovePower = 0; EWRAM_DATA static u16 sAnimSpriteIndexArray[ANIM_SPRITE_INDEX_COUNT] = {0}; EWRAM_DATA u8 gAnimFriendship = 0; @@ -237,7 +234,7 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo else { for (i = 0; i < 4; i++) - gAnimBattlerSpecies[i] = gContestResources->field_18->field_0; + gAnimBattlerSpecies[i] = gContestResources->field_18->unk0; } if (!isMoveAnim) @@ -260,9 +257,9 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo if (isMoveAnim) { - for (i = 0; gUnknown_082C8D64[i] != 0xFFFF; i++) + for (i = 0; gMovesWithQuietBGM[i] != 0xFFFF; i++) { - if (tableId == gUnknown_082C8D64[i]) + if (tableId == gMovesWithQuietBGM[i]) { m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 128); break; @@ -684,7 +681,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) } sub_80A6B30(&unknownStruct); - CpuFill16(0, unknownStruct.unk0, 0x1000); + CpuFill16(0, unknownStruct.bgTiles, 0x1000); CpuFill16(0xFF, unknownStruct.unk4, 0x800); SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 2); @@ -694,7 +691,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) battlerSpriteId = gBattlerSpriteIds[battlerId]; gBattle_BG1_X = -(gSprites[battlerSpriteId].pos1.x + gSprites[battlerSpriteId].pos2.x) + 0x20; - if (IsContest() && IsSpeciesNotUnown(gContestResources->field_18->field_0)) + if (IsContest() && IsSpeciesNotUnown(gContestResources->field_18->unk0)) gBattle_BG1_X--; gBattle_BG1_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20; @@ -712,7 +709,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) else battlerPosition = GetBattlerPosition(battlerId); - sub_8118FBC(1, 0, 0, battlerPosition, unknownStruct.unk8, unknownStruct.unk0, unknownStruct.unk4, unknownStruct.unkA); + sub_8118FBC(1, 0, 0, battlerPosition, unknownStruct.unk8, unknownStruct.bgTiles, unknownStruct.unk4, unknownStruct.tilesOffset); if (IsContest()) sub_80A46A0(); @@ -722,7 +719,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) RequestDma3Fill(0, (void*)(VRAM + 0x6000), 0x2000, 1); RequestDma3Fill(0, (void*)(VRAM + 0xF000), 0x1000, 1); sub_80A6B90(&unknownStruct, 2); - CpuFill16(0, unknownStruct.unk0 + 0x1000, 0x1000); + CpuFill16(0, unknownStruct.bgTiles + 0x1000, 0x1000); CpuFill16(0, unknownStruct.unk4 + 0x400, 0x800); SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2); SetAnimBgAttribute(2, BG_ANIM_SCREEN_SIZE, 1); @@ -742,7 +739,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], 0x90, 0x20); CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + 0x120), 0x20); - sub_8118FBC(2, 0, 0, GetBattlerPosition(battlerId), unknownStruct.unk8, unknownStruct.unk0 + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.unkA); + sub_8118FBC(2, 0, 0, GetBattlerPosition(battlerId), unknownStruct.unk8, unknownStruct.bgTiles + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.tilesOffset); } } @@ -752,7 +749,7 @@ static void sub_80A46A0(void) struct UnknownAnimStruct2 unknownStruct; u16 *ptr; - if (IsSpeciesNotUnown(gContestResources->field_18->field_0)) + if (IsSpeciesNotUnown(gContestResources->field_18->unk0)) { sub_80A6B30(&unknownStruct); ptr = unknownStruct.unk4; diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c new file mode 100644 index 000000000..f4a4946c3 --- /dev/null +++ b/src/battle_anim_80A5C6C.c @@ -0,0 +1,2460 @@ +#include "global.h" +#include "constants/battle_anim.h" +#include "constants/species.h" +#include "battle.h" +#include "battle_anim.h" +#include "blend_palette.h" +#include "contest.h" +#include "data2.h" +#include "decompress.h" +#include "palette.h" +#include "pokemon_icon.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "util.h" +#include "gpu_regs.h" +#include "bg.h" +#include "malloc.h" +#include "dma3.h" + +#define GET_UNOWN_LETTER(personality) (( \ + (((personality & 0x03000000) >> 24) << 6) \ + | (((personality & 0x00030000) >> 16) << 4) \ + | (((personality & 0x00000300) >> 8) << 2) \ + | (((personality & 0x00000003) >> 0) << 0) \ +) % 28) + +#define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + +extern const struct OamData gUnknown_0852497C; +extern const struct MonCoords gMonFrontPicCoords[]; +extern const struct MonCoords gMonBackPicCoords[]; +extern const u8 gEnemyMonElevation[]; +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; +extern const union AffineAnimCmd *gUnknown_082FF6C0[]; + +// This file's functions. +void sub_80A64EC(struct Sprite *sprite); +void sub_80A653C(struct Sprite *sprite); +void InitAnimLinearTranslation(struct Sprite *sprite); +void sub_80A6FB4(struct Sprite *sprite); +void sub_80A6F98(struct Sprite *sprite); +void sub_80A7144(struct Sprite *sprite); +void sub_80A791C(struct Sprite *sprite); +void sub_80A8DFC(struct Sprite *sprite); +void sub_80A8E88(struct Sprite *sprite); +void sub_80A7E6C(u8 spriteId); +u16 sub_80A7F18(u8 spriteId); +void AnimTask_BlendMonInAndOutSetup(struct Task *task); +void sub_80A7AFC(u8 taskId); +void sub_80A8CAC(u8 taskId); +void AnimTask_BlendMonInAndOutStep(u8 taskId); +bool8 sub_80A7238(void); +void sub_80A8048(s16 *bottom, s16 *top, const void *ptr); +void *sub_80A8050(s16 bottom, s16 top); +u8 sub_80A82E4(u8 battlerId); +void sub_80A8D78(struct Task *task, u8 taskId); + +// EWRAM vars +EWRAM_DATA static union AffineAnimCmd *gUnknown_02038444 = NULL; + +// Const rom data +static const struct UCoords8 sBattlerCoords[][4] = +{ + { + { 72, 80 }, + { 176, 40 }, + { 48, 40 }, + { 112, 80 }, + }, + { + { 32, 80 }, + { 200, 40 }, + { 90, 88 }, + { 152, 32 }, + }, +}; + +// One entry for each of the four Castform forms. +const struct MonCoords gCastformFrontSpriteCoords[] = +{ + { 0x44, 17 }, // NORMAL + { 0x66, 9 }, // SUN + { 0x46, 9 }, // RAIN + { 0x86, 8 }, // HAIL +}; + +static const u8 sCastformElevations[] = +{ + 13, // NORMAL + 14, // SUN + 13, // RAIN + 13, // HAIL +}; + +// Y position of the backsprite for each of the four Castform forms. +static const u8 sCastformBackSpriteYCoords[] = +{ + 0, // NORMAL + 0, // SUN + 0, // RAIN + 0, // HAIL +}; + +static const struct SpriteTemplate sUnknown_08525F90[] = +{ + { + .tileTag = 55125, + .paletteTag = 55125, + .oam = &gUnknown_0852497C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + { + .tileTag = 55126, + .paletteTag = 55126, + .oam = &gUnknown_0852497C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + } +}; + +static const struct SpriteSheet sUnknown_08525FC0[] = +{ + { gMiscBlank_Gfx, 0x800, 55125, }, + { gMiscBlank_Gfx, 0x800, 55126, }, +}; + +// code +u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId) +{ + u8 retVal; + u16 species; + struct BattleSpriteInfo *spriteInfo; + + if (IsContest()) + { + if (attributeId == BATTLER_COORD_3 && battlerId == 3) + attributeId = BATTLER_COORD_Y; + } + + switch (attributeId) + { + case BATTLER_COORD_X: + case BATTLER_COORD_X_2: + retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].x; + break; + case BATTLER_COORD_Y: + retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y; + break; + case BATTLER_COORD_3: + case BATTLER_COORD_4: + default: + if (IsContest()) + { + if (shared19348.unk4_0) + species = shared19348.unk2; + else + species = shared19348.unk0; + } + else + { + if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + } + } + if (attributeId == BATTLER_COORD_3) + retVal = GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + else + retVal = GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + break; + } + + return retVal; +} + +u8 GetBattlerYDelta(u8 battlerId, u16 species) +{ + u16 letter; + u32 personality; + struct BattleSpriteInfo *spriteInfo; + u8 ret; + u16 coordSpecies; + + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest()) + { + if (species == SPECIES_UNOWN) + { + if (IsContest()) + { + if (shared19348.unk4_0) + personality = shared19348.unk10; + else + personality = shared19348.unk8; + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + else + personality = gTransformedPersonalities[battlerId]; + } + letter = GET_UNOWN_LETTER(personality); + if (!letter) + coordSpecies = species; + else + coordSpecies = letter + SPECIES_UNOWN_B - 1; + ret = gMonBackPicCoords[coordSpecies].y_offset; + } + else if (species == SPECIES_CASTFORM) + { + ret = sCastformBackSpriteYCoords[gBattleMonForms[battlerId]]; + } + else if (species > NUM_SPECIES) + { + ret = gMonBackPicCoords[0].y_offset; + } + else + { + ret = gMonBackPicCoords[species].y_offset; + } + } + else + { + if (species == SPECIES_UNOWN) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + else + personality = gTransformedPersonalities[battlerId]; + letter = GET_UNOWN_LETTER(personality); + if (!letter) + coordSpecies = species; + else + coordSpecies = letter + SPECIES_UNOWN_B - 1; + ret = gMonFrontPicCoords[coordSpecies].y_offset; + } + else if (species == SPECIES_CASTFORM) + { + ret = gCastformFrontSpriteCoords[gBattleMonForms[battlerId]].y_offset; + } + else if (species > NUM_SPECIES) + { + ret = gMonFrontPicCoords[0].y_offset; + } + else + { + ret = gMonFrontPicCoords[species].y_offset; + } + } + return ret; +} + +u8 GetBattlerElevation(u8 battlerId, u16 species) +{ + u8 ret = 0; + if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + { + if (!IsContest()) + { + if (species == SPECIES_CASTFORM) + ret = sCastformElevations[gBattleMonForms[battlerId]]; + else if (species > NUM_SPECIES) + ret = gEnemyMonElevation[0]; + else + ret = gEnemyMonElevation[species]; + } + } + return ret; +} + +u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3) +{ + u16 offset; + u8 y; + + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest()) + { + offset = GetBattlerYDelta(battlerId, species); + } + else + { + offset = GetBattlerYDelta(battlerId, species); + offset -= GetBattlerElevation(battlerId, species); + } + y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y; + if (a3) + { + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + y += 8; + if (y > 104) + y = 104; + } + return y; +} + +u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId) +{ + u16 species; + struct BattleSpriteInfo *spriteInfo; + + if (attributeId == BATTLER_COORD_3 || attributeId == BATTLER_COORD_4) + { + if (IsContest()) + { + if (shared19348.unk4_0) + species = shared19348.unk2; + else + species = shared19348.unk0; + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = gAnimBattlerSpecies[battlerId]; + else + species = spriteInfo[battlerId].transformSpecies; + } + if (attributeId == BATTLER_COORD_3) + return GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + else + return GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + } + else + { + return GetBattlerSpriteCoord(battlerId, attributeId); + } +} + +u8 GetBattlerSpriteDefault_Y(u8 battlerId) +{ + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_4); +} + +u8 GetSubstituteSpriteDefault_Y(u8 battlerId) +{ + u16 y; + if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 16; + else + y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 17; + return y; +} + +u8 GetBattlerYCoordWithElevation(u8 battlerId) +{ + u16 species; + u8 y; + struct BattleSpriteInfo *spriteInfo; + + y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y); + if (!IsContest()) + { + if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + } + if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + y -= GetBattlerElevation(battlerId, species); + } + return y; +} + +u8 GetAnimBattlerSpriteId(u8 which) +{ + u8 *sprites; + + if (which == ANIM_ATTACKER) + { + if (IsBattlerSpritePresent(gBattleAnimAttacker)) + { + sprites = gBattlerSpriteIds; + return sprites[gBattleAnimAttacker]; + } + else + { + return 0xff; + } + } + else if (which == ANIM_TARGET) + { + if (IsBattlerSpritePresent(gBattleAnimTarget)) + { + sprites = gBattlerSpriteIds; + return sprites[gBattleAnimTarget]; + } + else + { + return 0xff; + } + } + else if (which == ANIM_ATK_PARTNER) + { + if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) + return 0xff; + else + return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]; + } + else + { + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget))) + return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)]; + else + return 0xff; + } +} + +void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*callback)(struct Sprite*)) +{ + sprite->data[6] = (u32)(callback) & 0xffff; + sprite->data[7] = (u32)(callback) >> 16; +} + +void SetCallbackToStoredInData6(struct Sprite *sprite) +{ + u32 callback = (u16)sprite->data[6] | (sprite->data[7] << 16); + sprite->callback = (void (*)(struct Sprite *))callback; +} + +void sub_80A62EC(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]); + sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]); + sprite->data[0] += sprite->data[2]; + if (sprite->data[0] >= 0x100) + sprite->data[0] -= 0x100; + else if (sprite->data[0] < 0) + sprite->data[0] += 0x100; + sprite->data[3]--; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void sub_80A634C(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->pos2.x = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]); + sprite->pos2.y = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]); + sprite->data[0] += sprite->data[2]; + sprite->data[5] += sprite->data[4]; + if (sprite->data[0] >= 0x100) + sprite->data[0] -= 0x100; + else if (sprite->data[0] < 0) + sprite->data[0] += 0x100; + sprite->data[3]--; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void sub_80A63C8(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]); + sprite->pos2.y = Cos(sprite->data[4], sprite->data[1]); + sprite->data[0] += sprite->data[2]; + sprite->data[4] += sprite->data[5]; + if (sprite->data[0] >= 0x100) + sprite->data[0] -= 0x100; + else if (sprite->data[0] < 0) + sprite->data[0] += 0x100; + if (sprite->data[4] >= 0x100) + sprite->data[4] -= 0x100; + else if (sprite->data[4] < 0) + sprite->data[4] += 0x100; + sprite->data[3]--; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void sub_80A6450(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]); + sprite->pos2.y = Cos(sprite->data[0], sprite->data[4]); + sprite->data[0] += sprite->data[2]; + if (sprite->data[0] >= 0x100) + sprite->data[0] -= 0x100; + else if (sprite->data[0] < 0) + sprite->data[0] += 0x100; + sprite->data[3]--; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +// Simply waits until the sprite's data[0] hits zero. +// This is used to let sprite anims or affine anims to run for a designated +// duration. +void sub_80A64B0(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + sprite->data[0]--; + else + SetCallbackToStoredInData6(sprite); +} + +void sub_80A64D0(struct Sprite *sprite) +{ + sub_80A64EC(sprite); + sprite->callback = sub_80A653C; + sprite->callback(sprite); +} + +void sub_80A64EC(struct Sprite *sprite) +{ + s16 old; + int v1; + + if (sprite->data[1] > sprite->data[2]) + sprite->data[0] = -sprite->data[0]; + v1 = sprite->data[2] - sprite->data[1]; + old = sprite->data[0]; + sprite->data[0] = abs(v1 / sprite->data[0]); + sprite->data[2] = (sprite->data[4] - sprite->data[3]) / sprite->data[0]; + sprite->data[1] = old; +} + +void sub_80A653C(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + sprite->data[0]--; + sprite->pos2.x += sprite->data[1]; + sprite->pos2.y += sprite->data[2]; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void sub_80A656C(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + sprite->data[0]--; + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = sprite->data[3] >> 8; + sprite->pos2.y = sprite->data[4] >> 8; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void sub_80A65A8(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + sprite->data[0]--; + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = sprite->data[3] >> 8; + sprite->pos2.y = sprite->data[4] >> 8; + } + else + { + SetCallbackToStoredInData6(sprite); + } + UpdateMonIconFrame(sprite); +} + +void sub_80A65EC(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x + sprite->pos2.x; + sprite->data[3] = sprite->pos1.y + sprite->pos2.y; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->callback = sub_80A64D0; +} + +void sub_80A6630(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + sprite->data[0]--; + gSprites[sprite->data[3]].pos2.x += sprite->data[1]; + gSprites[sprite->data[3]].pos2.y += sprite->data[2]; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +// Same as sub_80A6630, but it operates on sub-pixel values +// to handle slower translations. +void sub_80A6680(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + sprite->data[0]--; + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + gSprites[sprite->data[5]].pos2.x = sprite->data[3] >> 8; + gSprites[sprite->data[5]].pos2.y = sprite->data[4] >> 8; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void sub_80A66DC(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + sprite->data[0]--; + sprite->pos2.x = sprite->data[2] >> 8; + sprite->data[2] += sprite->data[1]; + sprite->pos2.y = sprite->data[4] >> 8; + sprite->data[4] += sprite->data[3]; + if (sprite->data[0] % sprite->data[5] == 0) + { + if (sprite->data[5]) + sprite->invisible ^= 1; + } + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void move_anim_8074EE0(struct Sprite *sprite) +{ + FreeSpriteOamMatrix(sprite); + DestroyAnimSprite(sprite); +} + +void sub_80A6760(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x + sprite->pos2.x; + sprite->data[3] = sprite->pos1.y + sprite->pos2.y; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->callback = sub_80A64D0; +} + +void sub_80A67A4(struct Sprite *sprite) +{ + ResetPaletteStructByUid(sprite->data[5]); + move_anim_8074EE0(sprite); +} + +void sub_80A67BC(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + SetCallbackToStoredInData6(sprite); +} + +void sub_80A67D8(struct Sprite *sprite) +{ + if (sprite->animEnded) + SetCallbackToStoredInData6(sprite); +} + +void sub_80A67F4(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimSprite(sprite); +} + +void sub_80A6814(u8 taskId) +{ + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimVisualTask(taskId); +} + +void sub_80A6838(struct Sprite *sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); +} + +void sub_80A6864(struct Sprite *sprite, s16 a2) +{ + u16 v1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); + u16 v2 = GetBattlerSpriteCoord(gBattleAnimTarget, 0); + + if (v1 > v2) + { + sprite->pos1.x -= a2; + } + else if (v1 < v2) + { + sprite->pos1.x += a2; + } + else + { + if (GetBattlerSide(gBattleAnimAttacker) != 0) + sprite->pos1.x -= a2; + else + sprite->pos1.x += a2; + } +} + +void sub_80A68D4(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + InitAnimLinearTranslation(sprite); + sprite->data[6] = 0x8000 / sprite->data[0]; + sprite->data[7] = 0; +} + +bool8 TranslateAnimArc(struct Sprite *sprite) +{ + if (TranslateAnimLinear(sprite)) + return TRUE; + sprite->data[7] += sprite->data[6]; + sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); + return FALSE; +} + +bool8 sub_80A6934(struct Sprite *sprite) +{ + if (TranslateAnimLinear(sprite)) + return TRUE; + sprite->data[7] += sprite->data[6]; + sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); + return FALSE; +} + +void oamt_add_pos2_onto_pos1(struct Sprite *sprite) +{ + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.x = 0; + sprite->pos2.y = 0; +} + +void sub_80A6980(struct Sprite *sprite, bool8 a2) +{ + if (!a2) + { + sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 0); + sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 1); + } + sub_80A6864(sprite, gBattleAnimArgs[0]); + sprite->pos1.y += gBattleAnimArgs[1]; +} + +void sub_80A69CC(struct Sprite *sprite, u8 a2) +{ + if (!a2) + { + sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 1); + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 3); + } + sub_80A6864(sprite, gBattleAnimArgs[0]); + sprite->pos1.y += gBattleAnimArgs[1]; +} + +u8 GetBattlerSide(u8 battlerId) +{ + return GET_BATTLER_SIDE2(battlerId); +} + +u8 GetBattlerPosition(u8 battlerId) +{ + return GET_BATTLER_POSITION(battlerId); +} + +u8 GetBattlerAtPosition(u8 position) +{ + u8 i; + + for (i = 0; i < gBattlersCount; i++) + { + if (gBattlerPositions[i] == position) + break; + } + return i; +} + +bool8 IsBattlerSpritePresent(u8 battlerId) +{ + if (IsContest()) + { + if (gBattleAnimAttacker == battlerId) + return TRUE; + else if (gBattleAnimTarget == battlerId) + return TRUE; + else + return FALSE; + } + else + { + if (gBattlerPositions[battlerId] == 0xff) + { + return FALSE; + } + else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + { + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0) + return TRUE; + } + else + { + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0) + return TRUE; + } + } + return FALSE; +} + +bool8 IsDoubleBattle() +{ + return IS_DOUBLE_BATTLE(); +} + +void sub_80A6B30(struct UnknownAnimStruct2 *unk) +{ + if (IsContest()) + { + unk->bgTiles = gUnknown_0202305C; + unk->unk4 = (u16 *)gUnknown_02023060; + unk->unk8 = 0xe; + unk->bgId = 1; + unk->tilesOffset = 0; + unk->unkC = 0; + } + else + { + unk->bgTiles = gUnknown_0202305C; + unk->unk4 = (u16 *)gUnknown_02023060; + unk->unk8 = 0x8; + unk->bgId = 1; + unk->tilesOffset = 0x200; + unk->unkC = 0; + } +} + +void sub_80A6B90(struct UnknownAnimStruct2 *unk, u32 arg1) +{ + if (IsContest()) + { + unk->bgTiles = gUnknown_0202305C; + unk->unk4 = (u16 *)gUnknown_02023060; + unk->unk8 = 0xe; + unk->bgId = 1; + unk->tilesOffset = 0; + unk->unkC = 0; + } + else if (arg1 == 1) + { + sub_80A6B30(unk); + } + else + { + unk->bgTiles = gUnknown_0202305C; + unk->unk4 = (u16 *)gUnknown_02023060; + unk->unk8 = 0x9; + unk->bgId = 2; + unk->tilesOffset = 0x300; + unk->unkC = 0; + } +} + +void sub_80A6BFC(struct UnknownAnimStruct2 *unk) +{ + unk->bgTiles = gUnknown_0202305C; + unk->unk4 = (u16 *)gUnknown_02023060; + if (IsContest()) + { + unk->unk8 = 0xe; + unk->bgId = 1; + unk->tilesOffset = 0; + unk->unkC = 0; + } + else if (sub_80A8364(gBattleAnimAttacker) == 1) + { + unk->unk8 = 8; + unk->bgId = 1; + unk->tilesOffset = 0x200; + unk->unkC = 0; + } + else + { + unk->unk8 = 0x9; + unk->bgId = 2; + unk->tilesOffset = 0x300; + unk->unkC = 0; + } +} + +void sub_80A6C68(u32 arg0) +{ + struct UnknownAnimStruct2 unkStruct; + + sub_80A6B90(&unkStruct, arg0); + CpuFill32(0, unkStruct.bgTiles, 0x2000); + LoadBgTiles(unkStruct.bgId, unkStruct.bgTiles, 0x2000, unkStruct.tilesOffset); + FillBgTilemapBufferRect(unkStruct.bgId, 0, 0, 0, 0x20, 0x40, 0x11); + CopyBgTilemapBufferToVram(unkStruct.bgId); +} + +void sub_80A6CC0(u32 bgId, void *src, u32 tilesOffset) +{ + CpuFill32(0, gUnknown_0202305C, 0x2000); + LZDecompressWram(src, gUnknown_0202305C); + LoadBgTiles(bgId, gUnknown_0202305C, 0x2000, tilesOffset); +} + +void sub_80A6D10(u32 bgId, const void *src) +{ + FillBgTilemapBufferRect(bgId, 0, 0, 0, 0x20, 0x40, 0x11); + CopyToBgTilemapBuffer(bgId, src, 0, 0); +} + +void sub_80A6D48(u32 bgId, const void *src) +{ + sub_80A6D10(bgId, src); + CopyBgTilemapBufferToVram(bgId); +} + +void sub_80A6D60(struct UnknownAnimStruct2 *unk, const void *src, u32 arg2) +{ + sub_80A6D10(unk->bgId, src); + if (IsContest() == TRUE) + sub_80A4720(unk->unk8, unk->unk4, 0, arg2); + CopyBgTilemapBufferToVram(unk->bgId); +} + +u8 sub_80A6D94(void) +{ + if (IsContest()) + return 1; + else + return 2; +} + +void sub_80A6DAC(bool8 arg0) +{ + if (!arg0 || IsContest()) + { + SetAnimBgAttribute(3, BG_ANIM_SCREEN_SIZE, 0); + SetAnimBgAttribute(3, BG_ANIM_AREA_OVERFLOW_MODE, 1); + } + else + { + SetAnimBgAttribute(3, BG_ANIM_SCREEN_SIZE, 1); + SetAnimBgAttribute(3, BG_ANIM_AREA_OVERFLOW_MODE, 0); + } +} + +void sub_80A6DEC(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + sub_80A6E14(sprite); + sprite->callback = sub_80A65A8; + sprite->callback(sprite); +} + +void sub_80A6E14(struct Sprite *sprite) +{ + s16 x = (sprite->data[2] - sprite->data[1]) << 8; + s16 y = (sprite->data[4] - sprite->data[3]) << 8; + sprite->data[1] = x / sprite->data[0]; + sprite->data[2] = y / sprite->data[0]; + sprite->data[4] = 0; + sprite->data[3] = 0; +} + +void InitAnimLinearTranslation(struct Sprite *sprite) +{ + int x = sprite->data[2] - sprite->data[1]; + int y = sprite->data[4] - sprite->data[3]; + bool8 movingLeft = x < 0; + bool8 movingUp = y < 0; + u16 xDelta = abs(x) << 8; + u16 yDelta = abs(y) << 8; + + xDelta = xDelta / sprite->data[0]; + yDelta = yDelta / sprite->data[0]; + + if (movingLeft) + xDelta |= 1; + else + xDelta &= ~1; + + if (movingUp) + yDelta |= 1; + else + yDelta &= ~1; + + sprite->data[1] = xDelta; + sprite->data[2] = yDelta; + sprite->data[4] = 0; + sprite->data[3] = 0; +} + +void sub_80A6EEC(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + InitAnimLinearTranslation(sprite); + sprite->callback = sub_80A6F98; + sprite->callback(sprite); +} + +void sub_80A6F14(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + InitAnimLinearTranslation(sprite); + sprite->callback = sub_80A6FB4; + sprite->callback(sprite); +} + +bool8 TranslateAnimLinear(struct Sprite *sprite) +{ + u16 v1, v2, x, y; + + if (!sprite->data[0]) + return TRUE; + + v1 = sprite->data[1]; + v2 = sprite->data[2]; + x = sprite->data[3]; + y = sprite->data[4]; + x += v1; + y += v2; + + if (v1 & 1) + sprite->pos2.x = -(x >> 8); + else + sprite->pos2.x = x >> 8; + + if (v2 & 1) + sprite->pos2.y = -(y >> 8); + else + sprite->pos2.y = y >> 8; + + sprite->data[3] = x; + sprite->data[4] = y; + sprite->data[0]--; + return FALSE; +} + +void sub_80A6F98(struct Sprite *sprite) +{ + if (TranslateAnimLinear(sprite)) + SetCallbackToStoredInData6(sprite); +} + +void sub_80A6FB4(struct Sprite *sprite) +{ + sub_8039E9C(sprite); + if (TranslateAnimLinear(sprite)) + SetCallbackToStoredInData6(sprite); +} + +void sub_80A6FD4(struct Sprite *sprite) +{ + int v1 = abs(sprite->data[2] - sprite->data[1]) << 8; + sprite->data[0] = v1 / sprite->data[0]; + InitAnimLinearTranslation(sprite); +} + +void sub_80A7000(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + sub_80A6FD4(sprite); + sprite->callback = sub_80A6F98; + sprite->callback(sprite); +} + +void sub_80A7028(struct Sprite *sprite) +{ + int x = sprite->data[2] - sprite->data[1]; + int y = sprite->data[4] - sprite->data[3]; + bool8 x_sign = x < 0; + bool8 y_sign = y < 0; + u16 x2 = abs(x) << 4; + u16 y2 = abs(y) << 4; + + x2 /= sprite->data[0]; + y2 /= sprite->data[0]; + + if (x_sign) + x2 |= 1; + else + x2 &= ~1; + + if (y_sign) + y2 |= 1; + else + y2 &= ~1; + + sprite->data[1] = x2; + sprite->data[2] = y2; + sprite->data[4] = 0; + sprite->data[3] = 0; +} + +void sub_80A70C0(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + sub_80A7028(sprite); + sprite->callback = sub_80A7144; + sprite->callback(sprite); +} + +bool8 sub_80A70E8(struct Sprite *sprite) +{ + u16 v1, v2, x, y; + + if (!sprite->data[0]) + return TRUE; + + v1 = sprite->data[1]; + v2 = sprite->data[2]; + x = sprite->data[3]; + y = sprite->data[4]; + x += v1; + y += v2; + + if (v1 & 1) + sprite->pos2.x = -(x >> 4); + else + sprite->pos2.x = x >> 4; + + if (v2 & 1) + sprite->pos2.y = -(y >> 4); + else + sprite->pos2.y = y >> 4; + + sprite->data[3] = x; + sprite->data[4] = y; + sprite->data[0]--; + return FALSE; +} + +void sub_80A7144(struct Sprite *sprite) +{ + if (sub_80A70E8(sprite)) + SetCallbackToStoredInData6(sprite); +} + +void sub_80A7160(struct Sprite *sprite) +{ + int v1 = abs(sprite->data[2] - sprite->data[1]) << 4; + sprite->data[0] = v1 / sprite->data[0]; + sub_80A7028(sprite); +} + +void sub_80A718C(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + sub_80A7160(sprite); + sprite->callback = sub_80A7144; + sprite->callback(sprite); +} + +void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation) +{ + int i; + struct ObjAffineSrcData src; + struct OamMatrix matrix; + + src.xScale = xScale; + src.yScale = yScale; + src.rotation = rotation; + if (sub_80A7238()) + src.xScale = -src.xScale; + i = gSprites[spriteId].oam.matrixNum; + ObjAffineSet(&src, &matrix, 1, 2); + gOamMatrices[i].a = matrix.a; + gOamMatrices[i].b = matrix.b; + gOamMatrices[i].c = matrix.c; + gOamMatrices[i].d = matrix.d; +} + +bool8 sub_80A7238(void) +{ + if (IsContest()) + { + if (gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].data[2] == SPECIES_UNOWN) + return FALSE; + else + return TRUE; + } + else + { + return FALSE; + } +} + +void sub_80A7270(u8 spriteId, u8 objMode) +{ + u8 battlerId = gSprites[spriteId].data[0]; + + if (IsContest() || IsBattlerSpriteVisible(battlerId)) + gSprites[spriteId].invisible = FALSE; + gSprites[spriteId].oam.objMode = objMode; + gSprites[spriteId].affineAnimPaused = TRUE; + if (!IsContest() && !gSprites[spriteId].oam.affineMode) + gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].field_6; + gSprites[spriteId].oam.affineMode = 3; + CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); +} + +void sub_80A7344(u8 spriteId) +{ + obj_id_set_rotscale(spriteId, 0x100, 0x100, 0); + gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.objMode = 0; + gSprites[spriteId].affineAnimPaused = FALSE; + CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); +} + +void sub_80A73A0(u8 spriteId) +{ + u16 matrix = gSprites[spriteId].oam.matrixNum; + s16 c = gOamMatrices[matrix].c; + + if (c < 0) + c = -c; + gSprites[spriteId].pos2.y = c >> 3; +} + +// related to obj_id_set_rotscale +void sub_80A73E0(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation) +{ + int i; + struct ObjAffineSrcData src; + struct OamMatrix matrix; + + if (sprite->oam.affineMode & 1) + { + sprite->affineAnimPaused = TRUE; + if (a2) + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); + src.xScale = xScale; + src.yScale = yScale; + src.rotation = rotation; + if (sub_80A7238()) + src.xScale = -src.xScale; + i = sprite->oam.matrixNum; + ObjAffineSet(&src, &matrix, 1, 2); + gOamMatrices[i].a = matrix.a; + gOamMatrices[i].b = matrix.b; + gOamMatrices[i].c = matrix.c; + gOamMatrices[i].d = matrix.d; + } +} + +void sub_80A749C(struct Sprite *sprite) +{ + sub_80A73E0(sprite, TRUE, 0x100, 0x100, 0); + sprite->affineAnimPaused = FALSE; + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); +} + +static u16 ArcTan2_(s16 a, s16 b) +{ + return ArcTan2(a, b); +} + +u16 ArcTan2Neg(s16 a, s16 b) +{ + u16 var = ArcTan2_(a, b); + return -var; +} + +void sub_80A750C(u16 a1, bool8 a2) +{ + int i; + struct PlttData *c; + struct PlttData *c2; + u16 average; + + a1 *= 0x10; + + if (!a2) + { + for (i = 0; i < 0x10; i++) + { + c = (struct PlttData *)&gPlttBufferUnfaded[a1 + i]; + average = c->r + c->g + c->b; + average /= 3; + + c2 = (struct PlttData *)&gPlttBufferFaded[a1 + i]; + c2->r = average; + c2->g = average; + c2->b = average; + } + } + else + { + CpuCopy32(&gPlttBufferUnfaded[a1], &gPlttBufferFaded[a1], 0x20); + } +} + +u32 sub_80A75AC(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) +{ + u32 var = 0; + u32 shift; + + if (a1) + { + if (!IsContest()) + var = 0xe; + else + var = 1 << sub_80A6D94(); + } + if (a2) + { + shift = gBattleAnimAttacker + 16; + var |= 1 << shift; + } + if (a3) { + shift = gBattleAnimTarget + 16; + var |= 1 << shift; + } + if (a4) + { + if (IsBattlerSpriteVisible(gBattleAnimAttacker ^ 2)) + { + shift = (gBattleAnimAttacker ^ 2) + 16; + var |= 1 << shift; + } + } + if (a5) + { + if (IsBattlerSpriteVisible(gBattleAnimTarget ^ 2)) + { + shift = (gBattleAnimTarget ^ 2) + 16; + var |= 1 << shift; + } + } + if (a6) + { + if (!IsContest()) + var |= 0x100; + else + var |= 0x4000; + } + if (a7) + { + if (!IsContest()) + var |= 0x200; + } + return var; +} + +u32 sub_80A76C4(u8 a1, u8 a2, u8 a3, u8 a4) +{ + u32 var = 0; + u32 shift; + + if (IsContest()) + { + if (a1) + { + var |= 1 << 18; + return var; + } + } + else + { + if (a1) + { + if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT))) + { + var |= 1 << (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) + 16); + } + } + if (a2) + { + if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT))) + { + shift = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) + 16; + var |= 1 << shift; + } + } + if (a3) + { + if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT))) + { + shift = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT) + 16; + var |= 1 << shift; + } + } + if (a4) + { + if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) + { + shift = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT) + 16; + var |= 1 << shift; + } + } + } + return var; +} + +u8 sub_80A77AC(u8 a1) +{ + return a1; +} + +u8 sub_80A77B4(u8 position) +{ + return GetBattlerAtPosition(position); +} + +void sub_80A77C8(struct Sprite *sprite) +{ + bool8 var; + + if (!sprite->data[0]) + { + if (!gBattleAnimArgs[3]) + var = TRUE; + else + var = FALSE; + if (!gBattleAnimArgs[2]) + sub_80A69CC(sprite, var); + else + sub_80A6980(sprite, var); + sprite->data[0]++; + + } + else if (sprite->animEnded || sprite->affineAnimEnded) + { + move_anim_8074EE0(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 attributeId; + + if (!(gBattleAnimArgs[5] & 0xff00)) + v1 = TRUE; + else + v1 = FALSE; + + if (!(gBattleAnimArgs[5] & 0xff)) + attributeId = BATTLER_COORD_3; + else + attributeId = BATTLER_COORD_Y; + + sub_80A69CC(sprite, v1); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, attributeId) + gBattleAnimArgs[3]; + sprite->callback = sub_80A6EEC; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_80A78AC(struct Sprite *sprite) +{ + sub_80A69CC(sprite, 1); + if (GetBattlerSide(gBattleAnimAttacker)) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[5] = gBattleAnimArgs[5]; + sub_80A68D4(sprite); + sprite->callback = sub_80A791C; +} + +void sub_80A791C(struct Sprite *sprite) +{ + if (TranslateAnimArc(sprite)) + DestroyAnimSprite(sprite); +} + +void sub_80A7938(struct Sprite *sprite) +{ + bool8 r4; + u8 battlerId, attributeId; + + if (!gBattleAnimArgs[6]) + { + r4 = TRUE; + attributeId = BATTLER_COORD_3; + } + else + { + r4 = FALSE; + attributeId = BATTLER_COORD_Y; + } + if (!gBattleAnimArgs[5]) + { + sub_80A69CC(sprite, r4); + battlerId = gBattleAnimAttacker; + } + else + { + sub_80A6980(sprite, r4); + battlerId = gBattleAnimTarget; + } + if (GetBattlerSide(gBattleAnimAttacker)) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sub_80A6980(sprite, r4); + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(battlerId, attributeId) + gBattleAnimArgs[3]; + sprite->callback = sub_80A6EEC; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 whichBattler) +{ + u16 i; + u8 spriteId = GetAnimBattlerSpriteId(whichBattler); + + if (spriteId != 0xff) + { + for (i = 0; i < MAX_SPRITES; i++) + { + if (!gSprites[i].inUse) + { + gSprites[i] = gSprites[spriteId]; + gSprites[i].oam.objMode = 1; + gSprites[i].invisible = FALSE; + return i; + } + } + } + return -1; +} + +void obj_delete_but_dont_free_vram(struct Sprite *sprite) +{ + sprite->usingSheet = TRUE; + DestroySprite(sprite); +} + +void sub_80A7A74(u8 taskId) +{ + s16 v1 = 0; + s16 v2 = 0; + + if (gBattleAnimArgs[2] > gBattleAnimArgs[0]) + v2 = 1; + if (gBattleAnimArgs[2] < gBattleAnimArgs[0]) + v2 = -1; + if (gBattleAnimArgs[3] > gBattleAnimArgs[1]) + v1 = 1; + if (gBattleAnimArgs[3] < gBattleAnimArgs[1]) + v1 = -1; + + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = gBattleAnimArgs[4]; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = gBattleAnimArgs[0]; + gTasks[taskId].data[4] = gBattleAnimArgs[1]; + gTasks[taskId].data[5] = v2; + gTasks[taskId].data[6] = v1; + gTasks[taskId].data[7] = gBattleAnimArgs[2]; + gTasks[taskId].data[8] = gBattleAnimArgs[3]; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gBattleAnimArgs[0], gBattleAnimArgs[1])); + gTasks[taskId].func = sub_80A7AFC; +} + +void sub_80A7AFC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (++task->data[0] > task->data[1]) + { + task->data[0] = 0; + if (++task->data[2] & 1) + { + if (task->data[3] != task->data[7]) + task->data[3] += task->data[5]; + } + else + { + if (task->data[4] != task->data[8]) + task->data[4] += task->data[6]; + } + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4])); + if (task->data[3] == task->data[7] && task->data[4] == task->data[8]) + { + DestroyAnimVisualTask(taskId); + return; + } + } +} + +// Linearly blends a mon's sprite colors with a target color with increasing +// strength, and then blends out to the original color. +// arg 0: anim bank +// arg 1: blend color +// arg 2: target blend coefficient +// arg 3: initial delay +// arg 4: number of times to blend in and out +void AnimTask_BlendMonInAndOut(u8 task) +{ + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + if (spriteId == 0xff) + { + DestroyAnimVisualTask(task); + return; + } + gTasks[task].data[0] = (gSprites[spriteId].oam.paletteNum * 0x10) + 0x101; + AnimTask_BlendMonInAndOutSetup(&gTasks[task]); +} + +void AnimTask_BlendMonInAndOutSetup(struct Task *task) +{ + task->data[1] = gBattleAnimArgs[1]; + task->data[2] = 0; + task->data[3] = gBattleAnimArgs[2]; + task->data[4] = 0; + task->data[5] = gBattleAnimArgs[3]; + task->data[6] = 0; + task->data[7] = gBattleAnimArgs[4]; + task->func = AnimTask_BlendMonInAndOutStep; +} + +void AnimTask_BlendMonInAndOutStep(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (++task->data[4] >= task->data[5]) + { + task->data[4] = 0; + if (!task->data[6]) + { + task->data[2]++; + BlendPalette(task->data[0], 15, task->data[2], task->data[1]); + if (task->data[2] == task->data[3]) + task->data[6] = 1; + } + else + { + task->data[2]--; + BlendPalette(task->data[0], 15, task->data[2], task->data[1]); + if (!task->data[2]) + { + if (--task->data[7]) + { + task->data[4] = 0; + task->data[6] = 0; + } + else + { + DestroyAnimVisualTask(taskId); + return; + } + } + } + } +} + +void sub_80A7CB4(u8 task) +{ + u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]); + + if (palette == 0xff) + { + DestroyAnimVisualTask(task); + return; + } + gTasks[task].data[0] = (palette * 0x10) + 0x101; + AnimTask_BlendMonInAndOutSetup(&gTasks[task]); +} + +void sub_80A7CFC(struct Task *task, u8 a2, const void *a3) +{ + task->data[7] = 0; + task->data[8] = 0; + task->data[9] = 0; + task->data[15] = a2; + task->data[10] = 0x100; + task->data[11] = 0x100; + task->data[12] = 0; + sub_80A8048(&task->data[13], &task->data[14], a3); + sub_80A7270(a2, 0); +} + +bool8 sub_80A7D34(struct Task *task) +{ + gUnknown_02038444 = sub_80A8050(task->data[13], task->data[14]) + (task->data[7] << 3); + switch (gUnknown_02038444->type) + { + default: + if (!gUnknown_02038444->frame.duration) + { + task->data[10] = gUnknown_02038444->frame.xScale; + task->data[11] = gUnknown_02038444->frame.yScale; + task->data[12] = gUnknown_02038444->frame.rotation; + task->data[7]++; + gUnknown_02038444++; + } + task->data[10] += gUnknown_02038444->frame.xScale; + task->data[11] += gUnknown_02038444->frame.yScale; + task->data[12] += gUnknown_02038444->frame.rotation; + obj_id_set_rotscale(task->data[15], task->data[10], task->data[11], task->data[12]); + sub_80A7E6C(task->data[15]); + if (++task->data[8] >= gUnknown_02038444->frame.duration) + { + task->data[8] = 0; + task->data[7]++; + } + break; + case AFFINEANIMCMDTYPE_JUMP: + task->data[7] = gUnknown_02038444->jump.target; + break; + case AFFINEANIMCMDTYPE_LOOP: + if (gUnknown_02038444->loop.count) + { + if (task->data[9]) + { + if (!--task->data[9]) + { + task->data[7]++; + break; + } + } + else + { + task->data[9] = gUnknown_02038444->loop.count; + } + if (!task->data[7]) + { + break; + } + for (;;) + { + task->data[7]--; + gUnknown_02038444--; + if (gUnknown_02038444->type == AFFINEANIMCMDTYPE_LOOP) + { + task->data[7]++; + return TRUE; + } + if (!task->data[7]) + return TRUE; + } + } + task->data[7]++; + break; + case AFFINEANIMCMDTYPE_END: + gSprites[task->data[15]].pos2.y = 0; + sub_80A7344(task->data[15]); + return FALSE; + } + + return TRUE; +} + +void sub_80A7E6C(u8 spriteId) +{ + int var = 0x40 - sub_80A7F18(spriteId) * 2; + u16 matrix = gSprites[spriteId].oam.matrixNum; + int var2 = (var << 8) / gOamMatrices[matrix].d; + + if (var2 > 0x80) + var2 = 0x80; + gSprites[spriteId].pos2.y = (var - var2) / 2; +} + +void sub_80A7EC0(u8 spriteId, u8 spriteId2) +{ + int var = 0x40 - sub_80A7F18(spriteId2) * 2; + u16 matrix = gSprites[spriteId].oam.matrixNum; + int var2 = (var << 8) / gOamMatrices[matrix].d; + + if (var2 > 0x80) + var2 = 0x80; + gSprites[spriteId].pos2.y = (var - var2) / 2; +} + +u16 sub_80A7F18(u8 spriteId) +{ + struct BattleSpriteInfo *spriteInfo; + u8 battlerId = gSprites[spriteId].data[0]; + u16 species; + u16 i; + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + if (gBattlerSpriteIds[i] == spriteId) + { + if (IsContest()) + { + species = shared19348.unk0; + return gMonBackPicCoords[species].y_offset; + } + else + { + if (GetBattlerSide(i) == B_SIDE_PLAYER) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + + if (species == SPECIES_CASTFORM) + return sCastformBackSpriteYCoords[gBattleMonForms[battlerId]]; + else + return gMonBackPicCoords[species].y_offset; + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + + if (species == SPECIES_CASTFORM) + return sCastformElevations[gBattleMonForms[battlerId]]; + else + return gMonFrontPicCoords[species].y_offset; + } + } + } + } + return 0x40; +} + +void sub_80A8048(s16 *bottom, s16 *top, const void *ptr) +{ + *bottom = ((intptr_t) ptr) & 0xffff; + *top = (((intptr_t) ptr) >> 16) & 0xffff; +} + +void *sub_80A8050(s16 bottom, s16 top) +{ + return (void *)((u16)bottom | ((u16)top << 16)); +} + +void sub_80A805C(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7) +{ + task->data[8] = a7; + task->data[15] = a2; // spriteId + task->data[9] = a3; + task->data[10] = a4; + task->data[13] = a5; + task->data[14] = a6; + task->data[11] = (a5 - a3) / a7; + task->data[12] = (a6 - a4) / a7; +} + +u8 sub_80A80C8(struct Task *task) +{ + if (!task->data[8]) + return 0; + + if (--task->data[8] != 0) + { + task->data[9] += task->data[11]; + task->data[10] += task->data[12]; + } + else + { + task->data[9] = task->data[13]; + task->data[10] = task->data[14]; + } + obj_id_set_rotscale(task->data[15], task->data[9], task->data[10], 0); + if (task->data[8]) + sub_80A7E6C(task->data[15]); + else + gSprites[task->data[15]].pos2.y = 0; + return task->data[8]; +} + +void AnimTask_GetFrustrationPowerLevel(u8 taskId) +{ + u16 powerLevel; + + if (gAnimFriendship <= 30) + powerLevel = 0; + else if (gAnimFriendship <= 100) + powerLevel = 1; + else if (gAnimFriendship <= 200) + powerLevel = 2; + else + powerLevel = 3; + gBattleAnimArgs[7] = powerLevel; + DestroyAnimVisualTask(taskId); +} + +void sub_80A8174(u8 priority) +{ + if (IsBattlerSpriteVisible(gBattleAnimTarget)) + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].oam.priority = priority; + if (IsBattlerSpriteVisible(gBattleAnimAttacker)) + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].oam.priority = priority; + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget))) + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)]].oam.priority = priority; + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority = priority; +} + +void sub_80A8278(void) +{ + int i; + + for (i = 0; i < gBattlersCount; i++) + { + if (IsBattlerSpriteVisible(i)) + { + gSprites[gBattlerSpriteIds[i]].subpriority = sub_80A82E4(i); + gSprites[gBattlerSpriteIds[i]].oam.priority = 2; + } + } +} + +u8 sub_80A82E4(u8 battlerId) +{ + u8 position; + u8 ret; + + if (IsContest()) + { + if (battlerId == 2) + return 30; + else + return 40; + } + else + { + position = GetBattlerPosition(battlerId); + if (position == B_POSITION_PLAYER_LEFT) + ret = 30; + else if (position == B_POSITION_PLAYER_RIGHT) + ret = 20; + else if (position == B_POSITION_OPPONENT_LEFT) + ret = 40; + else + ret = 50; + } + return ret; +} + +u8 sub_80A8328(u8 battlerId) +{ + u8 position = GetBattlerPosition(battlerId); + + if (IsContest()) + return 2; + else if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT) + return GetAnimBgAttribute(2, BG_ANIM_PRIORITY); + else + return GetAnimBgAttribute(1, BG_ANIM_PRIORITY); +} + +u8 sub_80A8364(u8 battlerId) +{ + if (!IsContest()) + { + u8 position = GetBattlerPosition(battlerId); + if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT) + return 2; + else + return 1; + } + return 1; +} + +u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10) +{ + u8 spriteId; + u16 sheet = LoadSpriteSheet(&sUnknown_08525FC0[a3]); + u16 palette = AllocSpritePalette(sUnknown_08525F90[a3].paletteTag); + + if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->field_17C == NULL) + gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); + if (!isBackpic) + { + LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); + if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) + LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], + gMonSpritesGfxPtr->field_17C, + species, + personality, + TRUE); + else + LoadSpecialPokePic_2(&gMonFrontPicTable[species], + gMonSpritesGfxPtr->field_17C, + species, + personality, + TRUE); + } + else + { + LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); + if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) + LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], + gMonSpritesGfxPtr->field_17C, + species, + personality, + FALSE); + else + LoadSpecialPokePic_2(&gMonBackPicTable[species], + gMonSpritesGfxPtr->field_17C, + species, + personality, + FALSE); + } + + RequestDma3Copy(gMonSpritesGfxPtr->field_17C, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1); + FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C); + + if (!isBackpic) + spriteId = CreateSprite(&sUnknown_08525F90[a3], x, y + gMonFrontPicCoords[species].y_offset, subpriority); + else + spriteId = CreateSprite(&sUnknown_08525F90[a3], x, y + gMonBackPicCoords[species].y_offset, subpriority); + + if (IsContest()) + { + gSprites[spriteId].affineAnims = gUnknown_082FF6C0; + StartSpriteAffineAnim(&gSprites[spriteId], 0); + } + return spriteId; +} + +void sub_80A8610(struct Sprite *sprite) +{ + DestroySpriteAndFreeResources(sprite); +} + +s16 sub_80A861C(u8 battlerId, u8 a2) +{ + u16 species; + u32 personality; + u16 letter; + u16 var; + int ret; + const struct MonCoords *coords; + struct BattleSpriteInfo *spriteInfo; + + if (IsContest()) + { + if (shared19348.unk4_0) + { + species = shared19348.unk2; + personality = shared19348.unk10; + } + else + { + species = shared19348.unk0; + personality = shared19348.unk8; + } + if (species == SPECIES_UNOWN) + { + letter = GET_UNOWN_LETTER(personality); + if (!letter) + var = SPECIES_UNOWN; + else + var = letter + SPECIES_UNOWN_B - 1; + coords = &gMonBackPicCoords[var]; + } + else if (species == SPECIES_CASTFORM) + { + coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; + } + else if (species <= SPECIES_EGG) + { + coords = &gMonBackPicCoords[species]; + } + else + { + coords = &gMonBackPicCoords[0]; + } + } + else + { + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + { + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + } + else + { + species = spriteInfo[battlerId].transformSpecies; + personality = gTransformedPersonalities[battlerId]; + } + if (species == SPECIES_UNOWN) + { + letter = GET_UNOWN_LETTER(personality); + if (!letter) + var = SPECIES_UNOWN; + else + var = letter + SPECIES_UNOWN_B - 1; + coords = &gMonBackPicCoords[var]; + } + else if (species > SPECIES_EGG) + { + coords = &gMonBackPicCoords[0]; + } + else + { + coords = &gMonBackPicCoords[species]; + } + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + { + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + } + else + { + species = spriteInfo[battlerId].transformSpecies; + personality = gTransformedPersonalities[battlerId]; + } + if (species == SPECIES_UNOWN) + { + letter = GET_UNOWN_LETTER(personality); + if (!letter) + var = SPECIES_UNOWN; + else + var = letter + SPECIES_UNOWN_B - 1; + coords = &gMonFrontPicCoords[var]; + } + else if (species == SPECIES_CASTFORM) + { + coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; + } + else if (species > SPECIES_EGG) + { + coords = &gMonFrontPicCoords[0]; + } + else + { + coords = &gMonFrontPicCoords[species]; + } + } + } + + switch (a2) + { + case 0: + return (coords->coords & 0xf) * 8; + case 1: + return (coords->coords >> 4) * 8; + case 4: + return GetBattlerSpriteCoord(battlerId, 2) - ((coords->coords >> 4) * 4); + case 5: + return GetBattlerSpriteCoord(battlerId, 2) + ((coords->coords >> 4) * 4); + case 2: + return GetBattlerSpriteCoord(battlerId, 3) - ((coords->coords & 0xf) * 4); + case 3: + return GetBattlerSpriteCoord(battlerId, 3) + ((coords->coords & 0xf) * 4); + case 6: + ret = GetBattlerSpriteCoord(battlerId, 1) + 0x1f; + return ret - coords->y_offset; + default: + return 0; + } +} + +void SetAverageBattlerPositions(u8 battlerId, bool8 a2, s16 *x, s16 *y) +{ + u8 v1, v2; + s16 v3, v4; + s16 v5, v6; + + if (!a2) + { + v1 = 0; + v2 = 1; + } + else + { + v1 = 2; + v2 = 3; + } + v3 = GetBattlerSpriteCoord(battlerId, v1); + v4 = GetBattlerSpriteCoord(battlerId, v2); + if (IsDoubleBattle() && !IsContest()) + { + v5 = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), v1); + v6 = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), v2); + } + else + { + v5 = v3; + v6 = v4; + } + *x = (v3 + v5) / 2; + *y = (v4 + v6) / 2; +} + +u8 sub_80A89C8(int battlerId, u8 spriteId, int species) +{ + u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); + gSprites[newSpriteId] = gSprites[spriteId]; + gSprites[newSpriteId].usingSheet = TRUE; + gSprites[newSpriteId].oam.priority = 0; + gSprites[newSpriteId].oam.objMode = 2; + gSprites[newSpriteId].oam.tileNum = gSprites[spriteId].oam.tileNum; + gSprites[newSpriteId].callback = SpriteCallbackDummy; + return newSpriteId; +} + +void sub_80A8A6C(struct Sprite *sprite) +{ + sub_80A6838(sprite); + if (GetBattlerSide(gBattleAnimAttacker)) + { + sprite->pos1.x -= gBattleAnimArgs[0]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + sprite->hFlip = TRUE; + } + else + { + sprite->pos1.x += gBattleAnimArgs[0]; + } + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[3] = gBattleAnimArgs[4]; + sprite->data[5] = gBattleAnimArgs[5]; + StoreSpriteCallbackInData6(sprite, move_anim_8074EE0); + sprite->callback = sub_80A66DC; +} + +void sub_80A8AEC(struct Sprite *sprite) +{ + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + sprite->pos1.x -= gBattleAnimArgs[0]; + gBattleAnimArgs[3] *= -1; + } + else + { + sprite->pos1.x += gBattleAnimArgs[0]; + } + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[3] = gBattleAnimArgs[4]; + sprite->data[5] = gBattleAnimArgs[5]; + StartSpriteAnim(sprite, gBattleAnimArgs[6]); + StoreSpriteCallbackInData6(sprite, move_anim_8074EE0); + sprite->callback = sub_80A66DC; +} + +void sub_80A8B64(struct Sprite *sprite) +{ + sub_80A6838(sprite); + if (GetBattlerSide(gBattleAnimAttacker)) + sprite->pos1.x -= gBattleAnimArgs[0]; + else + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->callback = sub_80A67D8; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_80A8BC4(u8 taskId) +{ + u16 src; + u16 dest; + struct Task *task = &gTasks[taskId]; + + task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->data[1] = ((GetBattlerSide(gBattleAnimAttacker)) != B_SIDE_PLAYER) ? -8 : 8; + task->data[2] = 0; + task->data[3] = 0; + gSprites[task->data[0]].pos2.x -= task->data[0]; + task->data[4] = AllocSpritePalette(10097); + task->data[5] = 0; + + dest = (task->data[4] + 0x10) * 0x10; + src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10; + task->data[6] = sub_80A82E4(gBattleAnimAttacker); + if (task->data[6] == 20 || task->data[6] == 40) + task->data[6] = 2; + else + task->data[6] = 3; + CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20); + BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]); + task->func = sub_80A8CAC; +} + +void sub_80A8CAC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[2]) + { + case 0: + sub_80A8D78(task, taskId); + gSprites[task->data[0]].pos2.x += task->data[1]; + if (++task->data[3] == 5) + { + task->data[3]--; + task->data[2]++; + } + break; + case 1: + sub_80A8D78(task, taskId); + gSprites[task->data[0]].pos2.x -= task->data[1]; + if (--task->data[3] == 0) + { + gSprites[task->data[0]].pos2.x = 0; + task->data[2]++; + } + break; + case 2: + if (!task->data[5]) + { + FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON); + DestroyAnimVisualTask(taskId); + } + break; + } +} + +void sub_80A8D78(struct Task *task, u8 taskId) +{ + s16 spriteId = duplicate_obj_of_side_rel2move_in_transparent_mode(0); + if (spriteId >= 0) + { + gSprites[spriteId].oam.priority = task->data[6]; + gSprites[spriteId].oam.paletteNum = task->data[4]; + gSprites[spriteId].data[0] = 8; + gSprites[spriteId].data[1] = taskId; + gSprites[spriteId].data[2] = spriteId; + gSprites[spriteId].pos2.x = gSprites[task->data[0]].pos2.x; + gSprites[spriteId].callback = sub_80A8DFC; + task->data[5]++; + } +} + +void sub_80A8DFC(struct Sprite *sprite) +{ + if (--sprite->data[0] == 0) + { + gTasks[sprite->data[1]].data[5]--; + obj_delete_but_dont_free_vram(sprite); + } +} + +void sub_80A8E30(struct Sprite *sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_3); + if (!GetBattlerSide(gBattleAnimAttacker)) + sprite->data[0] = 5; + else + sprite->data[0] = -10; + sprite->data[1] = -40; + sprite->callback = sub_80A8E88; +} + +void sub_80A8E88(struct Sprite *sprite) +{ + sprite->data[2] += sprite->data[0]; + sprite->data[3] += sprite->data[1]; + sprite->pos2.x = sprite->data[2] / 10; + sprite->pos2.y = sprite->data[3] / 10; + if (sprite->data[1] < -20) + sprite->data[1]++; + if (sprite->pos1.y + sprite->pos2.y < -32) + DestroyAnimSprite(sprite); +} + +void sub_80A8EE4(struct Sprite *sprite) +{ + int x; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4]; + sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5]; + if (!GetBattlerSide(gBattleAnimTarget)) + { + x = (u16)gBattleAnimArgs[4] + 30; + sprite->pos1.x += x; + sprite->pos1.y = gBattleAnimArgs[5] - 20; + } + else + { + x = (u16)gBattleAnimArgs[4] - 30; + sprite->pos1.x += x; + sprite->pos1.y = gBattleAnimArgs[5] - 80; + } + sprite->callback = sub_80A6EEC; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} diff --git a/src/battle_anim_80A9C70.c b/src/battle_anim_80A9C70.c new file mode 100644 index 000000000..1f8a53993 --- /dev/null +++ b/src/battle_anim_80A9C70.c @@ -0,0 +1,360 @@ +#include "global.h" +#include "battle.h" +#include "battle_anim.h" +#include "constants/battle_anim.h" +#include "constants/rgb.h" +#include "blend_palette.h" +#include "decompress.h" +#include "palette.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "gpu_regs.h" + +extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; +extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; +extern const u8 *const gBattleAnims_StatusConditions[]; +extern const struct OamData gUnknown_08524904; +extern const struct OamData gUnknown_08524A3C; + +extern void sub_8116EB4(u8 taskId); + +// This file's functions. +static void sub_80A9DB4(u8 taskId); +static void sub_80A9FD0(u8 taskId); +static void sub_80AA020(u8 taskId); +static void sub_80AA0D0(u8 taskId); +static void sub_80AA124(u8 taskId); +static void Task_DoStatusAnimation(u8 taskId); +static void sub_80A9E44(struct Sprite *sprite); +static void sub_80A9E78(struct Sprite *sprite); + +// const rom data +static const struct Subsprite gUnknown_0853EF30[] = +{ + {.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2}, + {.x = -16, .y = 48, .shape = ST_OAM_H_RECTANGLE, .size = 3, .tileOffset = 64, .priority = 2}, + {.x = 48, .y = -16, .shape = ST_OAM_V_RECTANGLE, .size = 3, .tileOffset = 96, .priority = 2}, + {.x = 48, .y = 48, .shape = ST_OAM_SQUARE, .size = 2, .tileOffset = 128, .priority = 2}, +}; + +static const struct SubspriteTable gUnknown_0853EF40[] = +{ + {ARRAY_COUNT(gUnknown_0853EF30), gUnknown_0853EF30}, +}; + +static const struct SpriteTemplate gUnknown_0853EF48 = +{ + .tileTag = ANIM_TAG_ICE_CUBE, + .paletteTag = ANIM_TAG_ICE_CUBE, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gUnknown_0853EF60 = +{ + .tileTag = ANIM_TAG_136, + .paletteTag = ANIM_TAG_136, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A9E44, +}; + +// code +u8 sub_80A9C70(u8 battlerId, bool8 b) +{ + u8 battlerSpriteId = gBattlerSpriteIds[battlerId]; + u8 taskId = CreateTask(sub_80A9DB4, 10); + u8 spriteId2; + u8 i; + + LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_136)]); + LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_136)]); + gTasks[taskId].data[0] = battlerId; + if (b) + { + gTasks[taskId].data[1] = RGB_RED; + for (i = 0; i < 10; i++) + { + spriteId2 = CreateSprite(&gUnknown_0853EF60, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y + 32, 0); + gSprites[spriteId2].data[0] = i * 51; + gSprites[spriteId2].data[1] = -256; + gSprites[spriteId2].invisible = TRUE; + if (i > 4) + gSprites[spriteId2].data[6] = 21; + } + } + else + { + gTasks[taskId].data[1] = RGB_BLUE; + for (i = 0; i < 10; i++) + { + spriteId2 = CreateSprite(&gUnknown_0853EF60, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y - 32, 0); + gSprites[spriteId2].data[0] = i * 51; + gSprites[spriteId2].data[1] = 256; + gSprites[spriteId2].invisible = TRUE; + if (i > 4) + gSprites[spriteId2].data[6] = 21; + } + } + gSprites[spriteId2].data[7] = 1; + return taskId; +} + +static void sub_80A9DB4(u8 taskId) +{ + if (gTasks[taskId].data[2] == 2) + { + gTasks[taskId].data[2] = 0; + BlendPalette(0x100 + gTasks[taskId].data[0] * 16, 16, gTasks[taskId].data[4], gTasks[taskId].data[1]); + if (gTasks[taskId].data[5] == 0) + { + gTasks[taskId].data[4]++; + if (gTasks[taskId].data[4] > 8) + gTasks[taskId].data[5] ^= 1; + } + else + { + u16 var = gTasks[taskId].data[4]; + + gTasks[taskId].data[4]--; + if (gTasks[taskId].data[4] < 0) + { + gTasks[taskId].data[4] = var; + gTasks[taskId].data[5] ^= 1; + gTasks[taskId].data[3]++; + if (gTasks[taskId].data[3] == 2) + DestroyTask(taskId); + } + } + } + else + { + gTasks[taskId].data[2]++; + } +} + +static void sub_80A9E44(struct Sprite *sprite) +{ + if (sprite->data[6] == 0) + { + sprite->invisible = FALSE; + sprite->callback = sub_80A9E78; + sub_80A9E78(sprite); + } + else + { + sprite->data[6]--; + } +} + +static void sub_80A9E78(struct Sprite *sprite) +{ + sprite->pos2.x = Cos(sprite->data[0], 32); + sprite->pos2.y = Sin(sprite->data[0], 8); + if (sprite->data[0] < 128) + sprite->subpriority = 29; + else + sprite->subpriority = 31; + sprite->data[0] = (sprite->data[0] + 8) & 0xFF; + sprite->data[5] += sprite->data[1]; + sprite->pos2.y += sprite->data[5] >> 8; + sprite->data[2]++; + if (sprite->data[2] == 52) + { + if (sprite->data[7]) + DestroySpriteAndFreeResources(sprite); + else + DestroySprite(sprite); + } +} + +void sub_80A9EF4(u8 taskId) +{ + s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32; + s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_3) - 36; + u8 spriteId; + + if (IsContest()) + x -= 6; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + spriteId = CreateSprite(&gUnknown_0853EF48, x, y, 4); + if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF) + gSprites[spriteId].invisible = TRUE; + SetSubspriteTables(&gSprites[spriteId], gUnknown_0853EF40); + gTasks[taskId].data[15] = spriteId; + gTasks[taskId].func = sub_80A9FD0; +} + +static void sub_80A9FD0(u8 taskId) +{ + gTasks[taskId].data[1]++; + if (gTasks[taskId].data[1] == 10) + { + gTasks[taskId].func = sub_80AA020; + gTasks[taskId].data[1] = 0; + } + else + { + u8 var = gTasks[taskId].data[1]; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var)); + } +} + +static void sub_80AA020(u8 taskId) +{ + u8 palIndex = IndexOfSpritePaletteTag(ANIM_TAG_ICE_CUBE); + + if (gTasks[taskId].data[1]++ > 13) + { + gTasks[taskId].data[2]++; + if (gTasks[taskId].data[2] == 3) + { + u16 temp; + + temp = gPlttBufferFaded[0x100 + palIndex * 16 + 13]; + gPlttBufferFaded[0x100 + palIndex * 16 + 13] = gPlttBufferFaded[0x100 + palIndex * 16 + 14]; + gPlttBufferFaded[0x100 + palIndex * 16 + 14] = gPlttBufferFaded[0x100 + palIndex * 16 + 15]; + gPlttBufferFaded[0x100 + palIndex * 16 + 15] = temp; + + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3]++; + if (gTasks[taskId].data[3] == 3) + { + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[4]++; + if (gTasks[taskId].data[4] == 2) + { + gTasks[taskId].data[1] = 9; + gTasks[taskId].func = sub_80AA0D0; + } + } + } + } +} + +static void sub_80AA0D0(u8 taskId) +{ + gTasks[taskId].data[1]--; + if (gTasks[taskId].data[1] == -1) + { + gTasks[taskId].func = sub_80AA124; + gTasks[taskId].data[1] = 0; + } + else + { + u8 var = gTasks[taskId].data[1]; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var)); + } +} + +static void sub_80AA124(u8 taskId) +{ + gTasks[taskId].data[1]++; + if (gTasks[taskId].data[1] == 37) + { + u8 spriteId = gTasks[taskId].data[15]; + + FreeSpriteOamMatrix(&gSprites[spriteId]); + DestroySprite(&gSprites[spriteId]); + } + else if (gTasks[taskId].data[1] == 39) + { + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimVisualTask(taskId); + } +} + +#define CASE(by, stat) case (STAT_ANIM_##by + stat - 1) + +void AnimTask_StatsChange(u8 taskId) +{ + bool16 goesDown = FALSE; + s16 animStatId = 0; + bool16 sharply = FALSE; + + switch (gBattleSpritesDataPtr->animationData->animArg) + { + CASE(PLUS1, STAT_ATK): goesDown = FALSE; animStatId = 0; break; + CASE(PLUS1, STAT_DEF): goesDown = FALSE; animStatId = 1; break; + CASE(PLUS1, STAT_SPEED): goesDown = FALSE; animStatId = 3; break; + CASE(PLUS1, STAT_SPATK): goesDown = FALSE; animStatId = 5; break; + CASE(PLUS1, STAT_SPDEF): goesDown = FALSE; animStatId = 6; break; + CASE(PLUS1, STAT_ACC): goesDown = FALSE; animStatId = 2; break; + CASE(PLUS1, STAT_EVASION): goesDown = FALSE; animStatId = 4; break; + + CASE(MINUS1, STAT_ATK): goesDown = TRUE; animStatId = 0; break; + CASE(MINUS1, STAT_DEF): goesDown = TRUE; animStatId = 1; break; + CASE(MINUS1, STAT_SPEED): goesDown = TRUE; animStatId = 3; break; + CASE(MINUS1, STAT_SPATK): goesDown = TRUE; animStatId = 5; break; + CASE(MINUS1, STAT_SPDEF): goesDown = TRUE; animStatId = 6; break; + CASE(MINUS1, STAT_ACC): goesDown = TRUE; animStatId = 2; break; + CASE(MINUS1, STAT_EVASION): goesDown = TRUE; animStatId = 4; break; + + CASE(PLUS2, STAT_ATK): goesDown = FALSE; animStatId = 0; sharply = TRUE; break; + CASE(PLUS2, STAT_DEF): goesDown = FALSE; animStatId = 1; sharply = TRUE; break; + CASE(PLUS2, STAT_SPEED): goesDown = FALSE; animStatId = 3; sharply = TRUE; break; + CASE(PLUS2, STAT_SPATK): goesDown = FALSE; animStatId = 5; sharply = TRUE; break; + CASE(PLUS2, STAT_SPDEF): goesDown = FALSE; animStatId = 6; sharply = TRUE; break; + CASE(PLUS2, STAT_ACC): goesDown = FALSE; animStatId = 2; sharply = TRUE; break; + CASE(PLUS2, STAT_EVASION): goesDown = FALSE; animStatId = 4; sharply = TRUE; break; + + CASE(MINUS2, STAT_ATK): goesDown = TRUE; animStatId = 0; sharply = TRUE; break; + CASE(MINUS2, STAT_DEF): goesDown = TRUE; animStatId = 1; sharply = TRUE; break; + CASE(MINUS2, STAT_SPEED): goesDown = TRUE; animStatId = 3; sharply = TRUE; break; + CASE(MINUS2, STAT_SPATK): goesDown = TRUE; animStatId = 5; sharply = TRUE; break; + CASE(MINUS2, STAT_SPDEF): goesDown = TRUE; animStatId = 6; sharply = TRUE; break; + CASE(MINUS2, STAT_ACC): goesDown = TRUE; animStatId = 2; sharply = TRUE; break; + CASE(MINUS2, STAT_EVASION): goesDown = TRUE; animStatId = 4; sharply = TRUE; break; + + case STAT_ANIM_MULTIPLE_PLUS1: goesDown = FALSE; animStatId = 0xFF; sharply = FALSE; break; + case STAT_ANIM_MULTIPLE_PLUS2: goesDown = FALSE; animStatId = 0xFF; sharply = TRUE; break; + case STAT_ANIM_MULTIPLE_MINUS1: goesDown = TRUE; animStatId = 0xFF; sharply = FALSE; break; + case STAT_ANIM_MULTIPLE_MINUS2: goesDown = TRUE; animStatId = 0xFF; sharply = TRUE; break; + + default: + DestroyAnimVisualTask(taskId); + return; + } + + gBattleAnimArgs[0] = goesDown; + gBattleAnimArgs[1] = animStatId; + gBattleAnimArgs[2] = 0; + gBattleAnimArgs[3] = 0; + gBattleAnimArgs[4] = sharply; + gTasks[taskId].func = sub_8116EB4; + sub_8116EB4(taskId); +} + +#undef CASE + +void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId) +{ + u8 taskId; + + gBattleAnimAttacker = battlerId; + gBattleAnimTarget = battlerId; + LaunchBattleAnimation(gBattleAnims_StatusConditions, statusAnimId, 0); + taskId = CreateTask(Task_DoStatusAnimation, 10); + gTasks[taskId].data[0] = battlerId; +} + +static void Task_DoStatusAnimation(u8 taskId) +{ + gAnimScriptCallback(); + if (!gAnimScriptActive) + { + gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].data[0]].statusAnimActive = FALSE; + DestroyTask(taskId); + } +} diff --git a/src/battle_anim_80D51AC.c b/src/battle_anim_80D51AC.c new file mode 100644 index 000000000..1864a1a7a --- /dev/null +++ b/src/battle_anim_80D51AC.c @@ -0,0 +1,1004 @@ +#include "global.h" +#include "battle.h" +#include "battle_anim.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" + +// This file's functions. +void AnimTask_ShakeMonStep(u8 taskId); +void AnimTask_ShakeMon2Step(u8 taskId); +void AnimTask_ShakeMonInPlaceStep(u8 taskId); +void AnimTask_ShakeAndSinkMonStep(u8 taskId); +void sub_80D57B8(u8 taskId); +void DoHorizontalLunge(struct Sprite *sprite); +void ReverseHorizontalLungeDirection(struct Sprite *sprite); +void DoVerticalDip(struct Sprite *sprite); +void ReverseVerticalDipDirection(struct Sprite* sprite); +void SlideMonToOriginalPos(struct Sprite *sprite); +void SlideMonToOriginalPosStep(struct Sprite *sprite); +void SlideMonToOffset(struct Sprite *sprite); +void sub_80D5B48(struct Sprite *sprite); +void sub_80D5C20(struct Sprite *sprite); +void AnimTask_WindUpLungePart1(u8 taskId); +void AnimTask_WindUpLungePart2(u8 taskId); +void AnimTask_SwayMonStep(u8 taskId); +void AnimTask_ScaleMonAndRestoreStep(u8 taskId); +void sub_80D6308(u8 taskId); +void sub_80D646C(u8 taskId); +void sub_80A8B3C(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 spriteId; + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + if (spriteId == 0xff) + { + DestroyAnimVisualTask(taskId); + return; + } + gSprites[spriteId].pos2.x = gBattleAnimArgs[1]; + gSprites[spriteId].pos2.y = gBattleAnimArgs[2]; + gTasks[taskId].data[0] = spriteId; + gTasks[taskId].data[1] = gBattleAnimArgs[3]; + gTasks[taskId].data[2] = gBattleAnimArgs[4]; + gTasks[taskId].data[3] = gBattleAnimArgs[4]; + gTasks[taskId].data[4] = gBattleAnimArgs[1]; + gTasks[taskId].data[5] = gBattleAnimArgs[2]; + gTasks[taskId].func = AnimTask_ShakeMonStep; + AnimTask_ShakeMonStep(taskId); +} + +void AnimTask_ShakeMonStep(u8 taskId) +{ + if (gTasks[taskId].data[3] == 0) + { + if (gSprites[gTasks[taskId].data[0]].pos2.x == 0) + { + gSprites[gTasks[taskId].data[0]].pos2.x = gTasks[taskId].data[4]; + } + else + { + gSprites[gTasks[taskId].data[0]].pos2.x = 0; + } + if (gSprites[gTasks[taskId].data[0]].pos2.y == 0) + { + gSprites[gTasks[taskId].data[0]].pos2.y = gTasks[taskId].data[5]; + } + else + { + gSprites[gTasks[taskId].data[0]].pos2.y = 0; + } + gTasks[taskId].data[3] = gTasks[taskId].data[2]; + if (--gTasks[taskId].data[1] == 0) + { + gSprites[gTasks[taskId].data[0]].pos2.x = 0; + gSprites[gTasks[taskId].data[0]].pos2.y = 0; + DestroyAnimVisualTask(taskId); + return; + } + } + else + { + gTasks[taskId].data[3]--; + } +} + +// 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 spriteId; + bool8 destroy = FALSE; + u8 battlerId; + + if (gBattleAnimArgs[0] < 4) + { + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + if (spriteId == 0xff) + { + DestroyAnimVisualTask(taskId); + return; + } + } + else if (gBattleAnimArgs[0] != 8) + { + switch (gBattleAnimArgs[0]) + { + case 4: + battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + break; + case 5: + battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + break; + case 6: + battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + break; + case 7: + default: + battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + break; + } + + if (IsBattlerSpriteVisible(battlerId) == FALSE) + destroy = TRUE; + + spriteId = gBattlerSpriteIds[battlerId]; + } + else + { + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; + } + + if (destroy) + { + DestroyAnimVisualTask(taskId); + return; + } + + gSprites[spriteId].pos2.x = gBattleAnimArgs[1]; + gSprites[spriteId].pos2.y = gBattleAnimArgs[2]; + gTasks[taskId].data[0] = spriteId; + gTasks[taskId].data[1] = gBattleAnimArgs[3]; + gTasks[taskId].data[2] = gBattleAnimArgs[4]; + gTasks[taskId].data[3] = gBattleAnimArgs[4]; + gTasks[taskId].data[4] = gBattleAnimArgs[1]; + gTasks[taskId].data[5] = gBattleAnimArgs[2]; + gTasks[taskId].func = AnimTask_ShakeMon2Step; + gTasks[taskId].func(taskId); +} + +void AnimTask_ShakeMon2Step(u8 taskId) +{ + if (gTasks[taskId].data[3] == 0) + { + if (gSprites[gTasks[taskId].data[0]].pos2.x == gTasks[taskId].data[4]) + gSprites[gTasks[taskId].data[0]].pos2.x = -gTasks[taskId].data[4]; + else + gSprites[gTasks[taskId].data[0]].pos2.x = gTasks[taskId].data[4]; + + if (gSprites[gTasks[taskId].data[0]].pos2.y == gTasks[taskId].data[5]) + gSprites[gTasks[taskId].data[0]].pos2.y = -gTasks[taskId].data[5]; + else + gSprites[gTasks[taskId].data[0]].pos2.y = gTasks[taskId].data[5]; + + gTasks[taskId].data[3] = gTasks[taskId].data[2]; + if (--gTasks[taskId].data[1] == 0) + { + gSprites[gTasks[taskId].data[0]].pos2.x = 0; + gSprites[gTasks[taskId].data[0]].pos2.y = 0; + DestroyAnimVisualTask(taskId); + return; + } + } + else + { + gTasks[taskId].data[3]--; + } +} + +// 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 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + if (spriteId == 0xff) + { + DestroyAnimVisualTask(taskId); + return; + } + + gSprites[spriteId].pos2.x += gBattleAnimArgs[1]; + gSprites[spriteId].pos2.y += gBattleAnimArgs[2]; + gTasks[taskId].data[0] = spriteId; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = gBattleAnimArgs[3]; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[4] = gBattleAnimArgs[4]; + gTasks[taskId].data[5] = gBattleAnimArgs[1] * 2; + gTasks[taskId].data[6] = gBattleAnimArgs[2] * 2; + gTasks[taskId].func = AnimTask_ShakeMonInPlaceStep; + gTasks[taskId].func(taskId); +} + +void AnimTask_ShakeMonInPlaceStep(u8 taskId) +{ + if (gTasks[taskId].data[3] == 0) + { + if (gTasks[taskId].data[1] & 1) + { + gSprites[gTasks[taskId].data[0]].pos2.x += gTasks[taskId].data[5]; + gSprites[gTasks[taskId].data[0]].pos2.y += gTasks[taskId].data[6]; + } + else + { + gSprites[gTasks[taskId].data[0]].pos2.x -= gTasks[taskId].data[5]; + gSprites[gTasks[taskId].data[0]].pos2.y -= gTasks[taskId].data[6]; + } + gTasks[taskId].data[3] = gTasks[taskId].data[4]; + if (++gTasks[taskId].data[1] >= gTasks[taskId].data[2]) + { + if (gTasks[taskId].data[1] & 1) + { + gSprites[gTasks[taskId].data[0]].pos2.x += gTasks[taskId].data[5] / 2; + gSprites[gTasks[taskId].data[0]].pos2.y += gTasks[taskId].data[6] / 2; + } + else + { + gSprites[gTasks[taskId].data[0]].pos2.x -= gTasks[taskId].data[5] / 2; + gSprites[gTasks[taskId].data[0]].pos2.y -= gTasks[taskId].data[6] / 2; + } + DestroyAnimVisualTask(taskId); + return; + } + } + else + { + gTasks[taskId].data[3]--; + } +} + +// 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 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + gSprites[spriteId].pos2.x = gBattleAnimArgs[1]; + gTasks[taskId].data[0] = spriteId; + gTasks[taskId].data[1] = gBattleAnimArgs[1]; + gTasks[taskId].data[2] = gBattleAnimArgs[2]; + gTasks[taskId].data[3] = gBattleAnimArgs[3]; + gTasks[taskId].data[4] = gBattleAnimArgs[4]; + gTasks[taskId].func = AnimTask_ShakeAndSinkMonStep; + gTasks[taskId].func(taskId); +} + +void AnimTask_ShakeAndSinkMonStep(u8 taskId) +{ + s16 x; + u8 spriteId; + spriteId = gTasks[taskId].data[0]; + x = gTasks[taskId].data[1]; + if (gTasks[taskId].data[2] == gTasks[taskId].data[8]++) + { + gTasks[taskId].data[8] = 0; + if (gSprites[spriteId].pos2.x == x) + x = -x; + + gSprites[spriteId].pos2.x += x; + } + + gTasks[taskId].data[1] = x; + gTasks[taskId].data[9] += gTasks[taskId].data[3]; + gSprites[spriteId].pos2.y = gTasks[taskId].data[9] >> 8; + if (--gTasks[taskId].data[4] == 0) + { + DestroyAnimVisualTask(taskId); + return; + } +} + +// 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 spriteId; + u8 wavePeriod; + + wavePeriod = 1; + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + if (gBattleAnimArgs[4] > 5) + gBattleAnimArgs[4] = 5; + + for (i = 0; i < gBattleAnimArgs[4]; i++) + { + wavePeriod <<= 1; + } + + gTasks[taskId].data[0] = spriteId; + gTasks[taskId].data[1] = gBattleAnimArgs[1]; + gTasks[taskId].data[2] = gBattleAnimArgs[2]; + gTasks[taskId].data[3] = gBattleAnimArgs[3]; + gTasks[taskId].data[4] = wavePeriod; + gTasks[taskId].func = sub_80D57B8; + gTasks[taskId].func(taskId); +} + +void sub_80D57B8(u8 taskId) +{ + u8 spriteId = gTasks[taskId].data[0]; + gSprites[spriteId].pos2.x = Sin(gTasks[taskId].data[5], gTasks[taskId].data[1]); + gSprites[spriteId].pos2.y = -Cos(gTasks[taskId].data[5], gTasks[taskId].data[2]); + gSprites[spriteId].pos2.y += gTasks[taskId].data[2]; + gTasks[taskId].data[5] += gTasks[taskId].data[4]; + gTasks[taskId].data[5] &= 0xff; + + if (gTasks[taskId].data[5] == 0) + gTasks[taskId].data[3]--; + + if (gTasks[taskId].data[3] == 0) + { + gSprites[spriteId].pos2.x = 0; + gSprites[spriteId].pos2.y = 0; + DestroyAnimVisualTask(taskId); + return; + } +} + +// 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 (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + + AnimTask_TranslateMonElliptical(taskId); +} + +// 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 +void DoHorizontalLunge(struct Sprite *sprite) +{ + sprite->invisible = TRUE; + if (GetBattlerSide(gBattleAnimAttacker) != B_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] = gBattlerSpriteIds[gBattleAnimAttacker]; + sprite->data[4] = gBattleAnimArgs[0]; + StoreSpriteCallbackInData6(sprite, ReverseHorizontalLungeDirection); + sprite->callback = sub_80A6630; +} + +void ReverseHorizontalLungeDirection(struct Sprite *sprite) +{ + sprite->data[0] = sprite->data[4]; + sprite->data[1] = -sprite->data[1]; + sprite->callback = sub_80A6630; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +// 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 +void DoVerticalDip(struct Sprite *sprite) +{ + u8 spriteId; + sprite->invisible = TRUE; + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); + sprite->data[0] = gBattleAnimArgs[0]; + sprite->data[1] = 0; + sprite->data[2] = gBattleAnimArgs[1]; + sprite->data[3] = spriteId; + sprite->data[4] = gBattleAnimArgs[0]; + StoreSpriteCallbackInData6(sprite, ReverseVerticalDipDirection); + sprite->callback = sub_80A6630; +} + +void ReverseVerticalDipDirection(struct Sprite *sprite) +{ + sprite->data[0] = sprite->data[4]; + sprite->data[2] = -sprite->data[2]; + sprite->callback = sub_80A6630; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +// 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 +void SlideMonToOriginalPos(struct Sprite *sprite) +{ + u32 monSpriteId; + if (!gBattleAnimArgs[0]) + monSpriteId = gBattlerSpriteIds[gBattleAnimAttacker]; + else + monSpriteId = gBattlerSpriteIds[gBattleAnimTarget]; + + sprite->data[0] = gBattleAnimArgs[2]; + 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; + sub_80A6E14(sprite); + sprite->data[3] = 0; + sprite->data[4] = 0; + sprite->data[5] = gSprites[monSpriteId].pos2.x; + sprite->data[6] = gSprites[monSpriteId].pos2.y; + sprite->invisible = TRUE; + + if (gBattleAnimArgs[1] == 1) + sprite->data[2] = 0; + else if (gBattleAnimArgs[1] == 2) + sprite->data[1] = 0; + + sprite->data[7] = gBattleAnimArgs[1]; + sprite->data[7] |= monSpriteId << 8; + sprite->callback = SlideMonToOriginalPosStep; +} + +void SlideMonToOriginalPosStep(struct Sprite *sprite) +{ + s8 monSpriteId; + u8 lo; + struct Sprite *monSprite; + + lo = sprite->data[7] & 0xff; + monSpriteId = sprite->data[7] >> 8; + monSprite = &gSprites[monSpriteId]; + if (sprite->data[0] == 0) + { + if (lo < 2) + monSprite->pos2.x = 0; + + if (lo == 2 || lo == 0) + monSprite->pos2.y = 0; + + DestroyAnimSprite(sprite); + } + else + { + sprite->data[0]--; + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + monSprite->pos2.x = (s8)(sprite->data[3] >> 8) + sprite->data[5]; + monSprite->pos2.y = (s8)(sprite->data[4] >> 8) + sprite->data[6]; + } +} + +// 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 +void SlideMonToOffset(struct Sprite *sprite) +{ + u8 battler; + u8 monSpriteId; + if (!gBattleAnimArgs[0]) + battler = gBattleAnimAttacker; + else + battler = gBattleAnimTarget; + + monSpriteId = gBattlerSpriteIds[battler]; + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + if (gBattleAnimArgs[3] == 1) + { + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + } + } + + sprite->data[0] = gBattleAnimArgs[4]; + 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]; + sub_80A6E14(sprite); + sprite->data[3] = 0; + sprite->data[4] = 0; + sprite->data[5] = monSpriteId; + sprite->invisible = TRUE; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + sprite->callback = sub_80A6680; +} + +void sub_80D5B48(struct Sprite *sprite) +{ + u8 spriteId; + u8 battlerId; + sprite->invisible = TRUE; + if (!gBattleAnimArgs[0]) + { + battlerId = gBattleAnimAttacker; + } + else + { + battlerId = gBattleAnimTarget; + } + spriteId = gBattlerSpriteIds[battlerId]; + if (GetBattlerSide(battlerId)) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + if (gBattleAnimArgs[3] == 1) + { + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + } + } + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; + 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_80A6E14(sprite); + sprite->data[3] = gSprites[spriteId].pos2.x << 8; + sprite->data[4] = gSprites[spriteId].pos2.y << 8; + sprite->data[5] = spriteId; + sprite->data[6] = gBattleAnimArgs[5]; + if (!gBattleAnimArgs[5]) + { + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + } + else + { + StoreSpriteCallbackInData6(sprite, sub_80D5C20); + } + sprite->callback = sub_80A6680; +} + + +void sub_80D5C20(struct Sprite *sprite) +{ + gSprites[sprite->data[5]].pos2.x = 0; + gSprites[sprite->data[5]].pos2.y = 0; + DestroyAnimSprite(sprite); +} + +// Task to facilitate a two-part translation animation, in which the sprite +// is first translated in an arc to one position. Then, it "lunges" to a target +// x offset. Used in TAKE_DOWN, for example. +// arg 0: anim bank +// arg 1: horizontal speed (subpixel) +// arg 2: wave amplitude +// arg 3: first duration +// arg 4: delay before starting lunge +// arg 5: target x offset for lunge +// arg 6: lunge duration +void AnimTask_WindUpLunge(u8 taskId) +{ + s16 wavePeriod = 0x8000 / gBattleAnimArgs[3]; + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[5] = -gBattleAnimArgs[5]; + } + gTasks[taskId].data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + gTasks[taskId].data[1] = (gBattleAnimArgs[1] << 8) / gBattleAnimArgs[3]; + gTasks[taskId].data[2] = gBattleAnimArgs[2]; + gTasks[taskId].data[3] = gBattleAnimArgs[3]; + gTasks[taskId].data[4] = gBattleAnimArgs[4]; + gTasks[taskId].data[5] = (gBattleAnimArgs[5] << 8) / gBattleAnimArgs[6]; + gTasks[taskId].data[6] = gBattleAnimArgs[6]; + gTasks[taskId].data[7] = wavePeriod; + gTasks[taskId].func = AnimTask_WindUpLungePart1; +} + +void AnimTask_WindUpLungePart1(u8 taskId) +{ + u8 spriteId; + spriteId = gTasks[taskId].data[0]; + gTasks[taskId].data[11] += gTasks[taskId].data[1]; + gSprites[spriteId].pos2.x = gTasks[taskId].data[11] >> 8; + gSprites[spriteId].pos2.y = Sin((u8)(gTasks[taskId].data[10] >> 8), gTasks[taskId].data[2]); + gTasks[taskId].data[10] += gTasks[taskId].data[7]; + if (--gTasks[taskId].data[3] == 0) + { + gTasks[taskId].func = AnimTask_WindUpLungePart2; + } +} + +void AnimTask_WindUpLungePart2(u8 taskId) +{ + u8 spriteId; + if (gTasks[taskId].data[4] > 0) + { + gTasks[taskId].data[4]--; + } + else + { + spriteId = gTasks[taskId].data[0]; + gTasks[taskId].data[12] += gTasks[taskId].data[5]; + gSprites[spriteId].pos2.x = (gTasks[taskId].data[12] >> 8) + (gTasks[taskId].data[11] >> 8); + if (--gTasks[taskId].data[6] == 0) + { + DestroyAnimVisualTask(taskId); + return; + } + } +} + +void sub_80D5DB0(u8 taskId) +{ + u8 spriteId; + switch (gBattleAnimArgs[0]) + { + case 0: + case 1: + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + break; + case 2: + if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) + { + DestroyAnimVisualTask(taskId); + return; + } + spriteId = gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]; + break; + case 3: + if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget))) + { + DestroyAnimVisualTask(taskId); + return; + } + spriteId = gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)]; + break; + default: + DestroyAnimVisualTask(taskId); + return; + } + gTasks[taskId].data[0] = spriteId; + if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) + { + gTasks[taskId].data[1] = gBattleAnimArgs[1]; + } + else + { + gTasks[taskId].data[1] = -gBattleAnimArgs[1]; + } + gTasks[taskId].func = sub_80A8B3C; +} + +void sub_80A8B3C(u8 taskId) +{ + u8 spriteId = gTasks[taskId].data[0]; + gSprites[spriteId].pos2.x += gTasks[taskId].data[1]; + if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x + 0x20 > 0x130u) + { + DestroyAnimVisualTask(taskId); + return; + } +} + +// 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 (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[4]); + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gTasks[taskId].data[1] = gBattleAnimArgs[1]; + gTasks[taskId].data[2] = gBattleAnimArgs[2]; + gTasks[taskId].data[3] = gBattleAnimArgs[3]; + gTasks[taskId].data[4] = spriteId; + + if (gBattleAnimArgs[4] == 0) + gTasks[taskId].data[5] = gBattleAnimAttacker; + else + gTasks[taskId].data[5] = gBattleAnimTarget; + + gTasks[taskId].data[12] = 1; + gTasks[taskId].func = AnimTask_SwayMonStep; +} + +void AnimTask_SwayMonStep(u8 taskId) +{ + s16 sineValue; + u8 spriteId; + int waveIndex; + u16 sineIndex; + + spriteId = gTasks[taskId].data[4]; + sineIndex = gTasks[taskId].data[10] + gTasks[taskId].data[2]; + gTasks[taskId].data[10] = sineIndex; + waveIndex = sineIndex >> 8; + sineValue = Sin(waveIndex, gTasks[taskId].data[1]); + + if (gTasks[taskId].data[0] == 0) + { + gSprites[spriteId].pos2.x = sineValue; + } + else + { + if (GetBattlerSide(gTasks[taskId].data[5]) == B_SIDE_PLAYER) + { + gSprites[spriteId].pos2.y = (sineValue >= 0) ? sineValue : -sineValue; + } + else + { + gSprites[spriteId].pos2.y = (sineValue >= 0) ? -sineValue : sineValue; + } + } + + if (((waveIndex >= 0x80u) && (gTasks[taskId].data[11] == 0) && (gTasks[taskId].data[12] == 1)) + || ((waveIndex < 0x7fu) && (gTasks[taskId].data[11] == 1) && (gTasks[taskId].data[12] == 0))) + { + gTasks[taskId].data[11] ^= 1; + gTasks[taskId].data[12] ^= 1; + if (--gTasks[taskId].data[3] == 0) + { + gSprites[spriteId].pos2.x = 0; + gSprites[spriteId].pos2.y = 0; + DestroyAnimVisualTask(taskId); + return; + } + } +} + +// Scales a mon's sprite, and then scales back to its original dimensions. +// arg 0: x scale delta +// arg 1: y scale delta +// arg 2: duration +// arg 3: anim bank +// arg 4: sprite object mode +void AnimTask_ScaleMonAndRestore(u8 taskId) +{ + u8 spriteId; + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[3]); + sub_80A7270(spriteId, gBattleAnimArgs[4]); + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gTasks[taskId].data[1] = gBattleAnimArgs[1]; + gTasks[taskId].data[2] = gBattleAnimArgs[2]; + gTasks[taskId].data[3] = gBattleAnimArgs[2]; + gTasks[taskId].data[4] = spriteId; + gTasks[taskId].data[10] = 0x100; + gTasks[taskId].data[11] = 0x100; + gTasks[taskId].func = AnimTask_ScaleMonAndRestoreStep; +} + +void AnimTask_ScaleMonAndRestoreStep(u8 taskId) +{ + u8 spriteId; + gTasks[taskId].data[10] += gTasks[taskId].data[0]; + gTasks[taskId].data[11] += gTasks[taskId].data[1]; + spriteId = gTasks[taskId].data[4]; + obj_id_set_rotscale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[11], 0); + if (--gTasks[taskId].data[2] == 0) + { + if (gTasks[taskId].data[3] > 0) + { + gTasks[taskId].data[0] = -gTasks[taskId].data[0]; + gTasks[taskId].data[1] = -gTasks[taskId].data[1]; + gTasks[taskId].data[2] = gTasks[taskId].data[3]; + gTasks[taskId].data[3] = 0; + } + else + { + sub_80A7344(spriteId); + DestroyAnimVisualTask(taskId); + return; + } + } +} + +void sub_80D6134(u8 taskId) +{ + u8 spriteId; + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); + sub_80A7270(spriteId, 0); + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = gBattleAnimArgs[0]; + if (gBattleAnimArgs[3] != 1) + { + gTasks[taskId].data[3] = 0; + } + else + { + gTasks[taskId].data[3] = gBattleAnimArgs[0] * gBattleAnimArgs[1]; + } + gTasks[taskId].data[4] = gBattleAnimArgs[1]; + gTasks[taskId].data[5] = spriteId; + gTasks[taskId].data[6] = gBattleAnimArgs[3]; + if (IsContest()) + { + gTasks[taskId].data[7] = 1; + } + else + { + if (gBattleAnimArgs[2] == 0) + { + gTasks[taskId].data[7] = !GetBattlerSide(gBattleAnimAttacker); + } + else + { + gTasks[taskId].data[7] = !GetBattlerSide(gBattleAnimTarget); + } + } + if (gTasks[taskId].data[7]) + { + if (!IsContest()) + { + gTasks[taskId].data[3] *= -1; + gTasks[taskId].data[4] *= -1; + } + } + gTasks[taskId].func = sub_80D6308; +} + +void sub_80D622C(u8 taskId) +{ + u8 spriteId; + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); + sub_80A7270(spriteId, 0); + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = gBattleAnimArgs[0]; + if (gBattleAnimArgs[2] == 0) + { + if (GetBattlerSide(gBattleAnimAttacker)) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + } + } + else + { + if (GetBattlerSide(gBattleAnimTarget)) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + } + } + if (gBattleAnimArgs[3] != 1) + { + gTasks[taskId].data[3] = 0; + } + else + { + gTasks[taskId].data[3] = gBattleAnimArgs[0] * gBattleAnimArgs[1]; + } + gTasks[taskId].data[4] = gBattleAnimArgs[1]; + gTasks[taskId].data[5] = spriteId; + gTasks[taskId].data[6] = gBattleAnimArgs[3]; + gTasks[taskId].data[7] = 1; + gTasks[taskId].data[3] *= -1; + gTasks[taskId].data[4] *= -1; + gTasks[taskId].func = sub_80D6308; +} + +void sub_80D6308(u8 taskId) +{ + gTasks[taskId].data[3] += gTasks[taskId].data[4]; + obj_id_set_rotscale(gTasks[taskId].data[5], 0x100, 0x100, gTasks[taskId].data[3]); + if (gTasks[taskId].data[7]) + { + sub_80A73A0(gTasks[taskId].data[5]); + } + if (++gTasks[taskId].data[1] >= gTasks[taskId].data[2]) + { + switch (gTasks[taskId].data[6]) + { + case 1: + sub_80A7344(gTasks[taskId].data[5]); + case 0: + default: + DestroyAnimVisualTask(taskId); + return; + case 2: + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[4] *= -1; + gTasks[taskId].data[6] = 1; + break; + } + } +} + +void sub_80D6388(u8 taskId) +{ + if (!gBattleAnimArgs[0]) + { + gTasks[taskId].data[15] = gAnimMovePower / 12; + if (gTasks[taskId].data[15] < 1) + { + gTasks[taskId].data[15] = 1; + } + if (gTasks[taskId].data[15] > 16) + { + gTasks[taskId].data[15] = 16; + } + } + else + { + gTasks[taskId].data[15] = gAnimMoveDmg / 12; + if (gTasks[taskId].data[15] < 1) + { + gTasks[taskId].data[15] = 1; + } + if (gTasks[taskId].data[15] > 16) + { + gTasks[taskId].data[15] = 16; + } + } + gTasks[taskId].data[14] = gTasks[taskId].data[15] / 2; + gTasks[taskId].data[13] = gTasks[taskId].data[14] + (gTasks[taskId].data[15] & 1); + gTasks[taskId].data[12] = 0; + gTasks[taskId].data[10] = gBattleAnimArgs[3]; + gTasks[taskId].data[11] = gBattleAnimArgs[4]; + gTasks[taskId].data[7] = GetAnimBattlerSpriteId(1); + gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].pos2.x; + gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].pos2.y; + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = gBattleAnimArgs[1]; + gTasks[taskId].data[2] = gBattleAnimArgs[2]; + gTasks[taskId].func = sub_80D646C; +} + +void sub_80D646C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (++task->data[0] > task->data[1]) + { + task->data[0] = 0; + task->data[12] = (task->data[12] + 1) & 1; + if (task->data[10]) + { + if (task->data[12]) + { + gSprites[task->data[7]].pos2.x = task->data[8] + task->data[13]; + } + else + { + gSprites[task->data[7]].pos2.x = task->data[8] - task->data[14]; + } + } + if (task->data[11]) + { + if (task->data[12]) + { + gSprites[task->data[7]].pos2.y = task->data[15]; + } + else + { + gSprites[task->data[7]].pos2.y = 0; + } + } + if (!--task->data[2]) + { + gSprites[task->data[7]].pos2.x = 0; + gSprites[task->data[7]].pos2.y = 0; + DestroyAnimVisualTask(taskId); + return; + } + } +} diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index 5a829171e..6993bd2ee 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -131,7 +131,7 @@ void sub_8158D8C(u8 taskId) if (IsContest()) { if (gBattleAnimArgs[0] == ANIM_ATTACKER) - species = gContestResources->field_18->field_0; + species = gContestResources->field_18->unk0; else DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task. } @@ -177,7 +177,7 @@ void sub_8158E9C(u8 taskId) if (IsContest()) { if (gBattleAnimArgs[0] == ANIM_ATTACKER) - species = gContestResources->field_18->field_0; + species = gContestResources->field_18->unk0; else DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task. } @@ -281,7 +281,7 @@ void sub_81590B8(u8 taskId) pan = BattleAnimAdjustPanning(PAN_SIDE_PLAYER); if (IsContest()) - species = gContestResources->field_18->field_0; + species = gContestResources->field_18->unk0; else species = gAnimBattlerSpecies[gBattleAnimAttacker]; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index b4dcf586d..80e1574a4 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -29,7 +29,7 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2; extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const u8 gUnknown_0831C604[]; -extern const u8 * const gBattleAnims_VariousTable[]; +extern const u8 * const gBattleAnims_General[]; extern const u8 * const gBattleAnims_Special[]; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct CompressedSpriteSheet gMonBackPicTable[]; @@ -437,7 +437,7 @@ bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 de gBattleAnimAttacker = atkBattler; gBattleAnimTarget = defBattler; gBattleSpritesDataPtr->animationData->animArg = argument; - LaunchBattleAnimation(gBattleAnims_VariousTable, tableId, FALSE); + LaunchBattleAnimation(gBattleAnims_General, tableId, FALSE); taskId = CreateTask(Task_ClearBitWhenBattleTableAnimDone, 10); gTasks[taskId].tBattlerId = activeBattler; gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].animFromTableActive = 1; @@ -899,14 +899,14 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform if (IsContest()) { position = 0; - targetSpecies = gContestResources->field_18->field_2; - personalityValue = gContestResources->field_18->field_8; - otId = gContestResources->field_18->field_C; + targetSpecies = gContestResources->field_18->unk2; + personalityValue = gContestResources->field_18->unk8; + otId = gContestResources->field_18->unkC; HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[targetSpecies], gMonSpritesGfxPtr->sprites[0], targetSpecies, - gContestResources->field_18->field_10); + gContestResources->field_18->unk10); } else { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 10b432d8e..0422c11e3 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3,6 +3,7 @@ #include "constants/battle_move_effects.h" #include "constants/battle_script_commands.h" #include "battle_message.h" +#include "battle_anim.h" #include "battle_ai_script_commands.h" #include "battle_scripts.h" #include "constants/moves.h" @@ -4381,16 +4382,16 @@ static void atk47_setgraphicalstatchangevalues(void) switch (GET_STAT_BUFF_VALUE2(gBattleScripting.statChanger)) { case SET_STAT_BUFF_VALUE(1): // +1 - value = 0xF; + value = STAT_ANIM_PLUS1; break; case SET_STAT_BUFF_VALUE(2): // +2 - value = 0x27; + value = STAT_ANIM_PLUS2; break; case SET_STAT_BUFF_VALUE(1) | STAT_BUFF_NEGATIVE: // -1 - value = 0x16; + value = STAT_ANIM_MINUS1; break; case SET_STAT_BUFF_VALUE(2) | STAT_BUFF_NEGATIVE: // -2 - value = 0x2E; + value = STAT_ANIM_MINUS2; break; } gBattleScripting.animArg1 = GET_STAT_BUFF_ID(gBattleScripting.statChanger) + value - 1; @@ -4412,9 +4413,9 @@ static void atk48_playstatchangeanimation(void) { s16 startingStatAnimId; if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO) - startingStatAnimId = 0x2D; + startingStatAnimId = STAT_ANIM_MINUS2 - 1; else - startingStatAnimId = 0x15; + startingStatAnimId = STAT_ANIM_MINUS1 - 1; while (statsToCheck != 0) { @@ -4447,18 +4448,18 @@ static void atk48_playstatchangeanimation(void) if (changeableStatsCount > 1) // more than one stat, so the color is gray { if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO) - statAnimId = 0x3A; + statAnimId = STAT_ANIM_MULTIPLE_MINUS2; else - statAnimId = 0x39; + statAnimId = STAT_ANIM_MULTIPLE_MINUS1; } } else // goes up { s16 startingStatAnimId; if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO) - startingStatAnimId = 0x26; + startingStatAnimId = STAT_ANIM_PLUS2 - 1; else - startingStatAnimId = 0xE; + startingStatAnimId = STAT_ANIM_PLUS1 - 1; while (statsToCheck != 0) { @@ -4473,9 +4474,9 @@ static void atk48_playstatchangeanimation(void) if (changeableStatsCount > 1) // more than one stat, so the color is gray { if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO) - statAnimId = 0x38; + statAnimId = STAT_ANIM_MULTIPLE_PLUS2; else - statAnimId = 0x37; + statAnimId = STAT_ANIM_MULTIPLE_PLUS1; } } diff --git a/src/contest.c b/src/contest.c index 910637387..8eacc89c3 100644 --- a/src/contest.c +++ b/src/contest.c @@ -2535,7 +2535,7 @@ u8 sub_80DB174(u16 species, u32 otId, u32 personality, u32 index) LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x120, 0x20); SetMultiuseSpriteTemplateToPokemon(species, 0); - spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x70, sub_80A600C(2, species, 0), 30); + spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x70, GetBattlerSpriteFinal_Y(2, species, FALSE), 30); gSprites[spriteId].oam.paletteNum = 2; gSprites[spriteId].oam.priority = 2; gSprites[spriteId].subpriority = sub_80A82E4(2); diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index f54b409e4..877bf3475 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -1,4 +1,4 @@ -const struct MonCoords gUnknown_083021D8[] = +const struct MonCoords gMonBackPicCoords[] = { {0x88, 0x00}, // SPECIES_NONE {0x64, 0x10}, // SPECIES_BULBASAUR diff --git a/src/intro.c b/src/intro.c index f21ad348d..e1d61242c 100644 --- a/src/intro.c +++ b/src/intro.c @@ -25,6 +25,7 @@ #include "blend_palette.h" #include "title_screen.h" #include "constants/rgb.h" +#include "constants/battle_anim.h" extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; @@ -118,7 +119,7 @@ static const struct SpriteTemplate gUnknown_085E4AB8 = }; static const u8 gUnknown_085E4AD0[][2] = { - {0x7C, 0x28}, + {0x7C, 0x28}, {0x66, 0x1E}, {0x4D, 0x1E}, {0x36, 0x0F}, @@ -664,25 +665,25 @@ static const s16 gUnknown_085E4E94[][2] = {5, 20}, {3, 28}, }; -static const union AffineAnimCmd gUnknown_085E4ED8[] = +static const union AffineAnimCmd gUnknown_085E4ED8[] = { AFFINEANIMCMD_FRAME(128, 128, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_085E4EE8[] = +static const union AffineAnimCmd gUnknown_085E4EE8[] = { AFFINEANIMCMD_FRAME(128, 128, 0, 0), AFFINEANIMCMD_FRAME(16, 16, 0, 16), AFFINEANIMCMD_FRAME(-16, -16, 0, 8), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_085E4F08[] = +static const union AffineAnimCmd gUnknown_085E4F08[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_FRAME(8, 8, 0, 48), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_085E4F20[] = +static const union AffineAnimCmd gUnknown_085E4F20[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_FRAME(2, 2, 0, 48), @@ -695,7 +696,7 @@ static const union AffineAnimCmd *const gUnknown_085E4F38[] = gUnknown_085E4F08, gUnknown_085E4F20, }; -static const u16 gUnknown_085E4F48[] = +static const u16 gUnknown_085E4F48[] = { 0x100, 0xC0, 0x80, 0x40, 0x00, 0x40, 0x80, 0xC0, 0x100 }; @@ -1086,10 +1087,10 @@ static void Task_IntroWaterDrops(u8 taskId) if (gIntroFrameCounter == 256) CreateTask(Task_IntroWaterDrops_2, 0); - + if (gIntroFrameCounter == 368) CreateWaterDrop(48, 0, 0x400, 5, 0x70, TRUE); - + if (gIntroFrameCounter == 384) CreateWaterDrop(200, 60, 0x400, 9, 0x80, TRUE); @@ -1113,7 +1114,7 @@ static void Task_IntroWaterDrops_3(u8 taskId) s16 *data = gTasks[taskId].data; if (++data[2] & 1) data[3]++; - + switch (data[0]) { case 0: @@ -1127,7 +1128,7 @@ static void Task_IntroWaterDrops_3(u8 taskId) data[0] = 0; break; } - + if (data[3] > 0x3C) DestroyTask(taskId); } @@ -1206,25 +1207,25 @@ static void Task_IntroStartBikeRide(u8 taskId) LoadCompressedObjectPic(gIntro2BrendanSpriteSheet); else LoadCompressedObjectPic(gIntro2MaySpriteSheet); - + LoadCompressedObjectPic(gIntro2BicycleSpriteSheet); LoadCompressedObjectPic(gIntro2FlygonSpriteSheet); - + for (spriteId = 0; spriteId < 3; spriteId++) { LoadCompressedObjectPic(&gUnknown_085E4AE8[spriteId]); } - + LoadSpritePalettes(gUnknown_085F530C); LoadSpritePalettes(gUnknown_085E4B08); CreateSprite(&gUnknown_085E4BDC, 0x110, 0x80, 0); CreateSprite(&gUnknown_085E4BA4, 0x120, 0x6E, 1); - + if (gUnknown_0203BCC8 == 0) spriteId = intro_create_brendan_sprite(0x110, 100); else spriteId = intro_create_may_sprite(0x110, 100); - + gSprites[spriteId].callback = sub_816F9D4; gSprites[spriteId].anims = gUnknown_085E4DC4; gTasks[taskId].data[1] = spriteId; @@ -1243,7 +1244,7 @@ static void Task_IntroHandleBikeAndFlygonMovement(u8 taskId) { s16 a; u16 sine; - + if (gIntroFrameCounter == 1856) { gUnknown_0203BD28 = 2; @@ -1427,7 +1428,7 @@ static void sub_816D9C0(struct Sprite *sprite) case 4: if (sprite->animEnded) sprite->pos1.x += 4; - + if (sprite->pos1.x > 336) { StartSpriteAnim(sprite, 1); @@ -1506,7 +1507,7 @@ static void Task_IntroLoadPart3Graphics(u8 taskId) static void Task_IntroSpinAndZoomPokeball(u8 taskId) { gTasks[taskId].data[0] += 0x400; - + if (gTasks[taskId].data[1] <= 0x6BF) { gTasks[taskId].data[1] += gTasks[taskId].data[2]; @@ -1516,9 +1517,9 @@ static void Task_IntroSpinAndZoomPokeball(u8 taskId) { gTasks[taskId].func = Task_IntroWaitToSetupPart3LegendsFight; } - + sub_816F2A8(0x78, 0x50, 0x10000 / gTasks[taskId].data[1], gTasks[taskId].data[0]); - + if (gIntroFrameCounter == 28) BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA); } @@ -1531,8 +1532,6 @@ static void Task_IntroWaitToSetupPart3LegendsFight(u8 taskId) static void Task_IntroLoadPart1Graphics3(u8 taskId) { - u16 i; - if (!gPaletteFade.active) { intro_reset_and_hide_bgs(); @@ -1543,8 +1542,8 @@ static void Task_IntroLoadPart1Graphics3(u8 taskId) LZDecompressVram(gIntro3GroudonTilemap, (void *)(VRAM + 0xC000)); LZDecompressVram(gIntro3LegendBgGfx, (void *)(VRAM + 0x4000)); LZDecompressVram(gIntro3GroudonBgTilemap, (void *)(VRAM + 0xE000)); - LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[0x3A]); - LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[0x3A]); + LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_058)]); + LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_058)]); CpuCopy16(gIntro3BgPal, gPlttBufferUnfaded, sizeof(gIntro3BgPal)); gTasks[taskId].func = Task_IntroLoadPart1Graphics4; } @@ -1584,12 +1583,10 @@ static void Task_IntroLoadPart1Graphics4(u8 taskId) static void Task_IntroLoadPart1Graphics5(u8 taskId) { - u16 foo = gTasks[taskId].data[0]; - if (gTasks[taskId].data[0] != 32) { gTasks[taskId].data[0] += 4; - SetGpuReg(REG_OFFSET_WIN0V, (gTasks[taskId].data[0] * 256) - (foo -= 0x9C)); + SetGpuReg(REG_OFFSET_WIN0V, (gTasks[taskId].data[0] * 256) - (gTasks[taskId].data[0] - 160)); } else { @@ -1613,7 +1610,7 @@ static void Task_IntroLoadPart1Graphics7(u8 taskId) static void Task_IntroLoadPart1Graphics8(u8 taskId) { s16 *data = gTasks[taskId].data; - + data[5]++; if ((u16)(data[0] - 1) < 7 && data[5] % 2 == 0) data[4] ^= 3; @@ -1720,7 +1717,7 @@ static void sub_816E190(u8 a0) { int i; u8 spriteId; - + for (i = 0; i < 6; i++) { spriteId = CreateSprite(gUnknown_08596C10, gUnknown_085E4C64[i][0], 0xA0, i); @@ -1737,7 +1734,7 @@ static void sub_816E1F8(struct Sprite *sprite) sprite->data[3]++; if (sprite->data[3] % 2 == 0) sprite->pos2.y ^= 3; - + switch(sprite->data[0]) { case 0: @@ -1752,7 +1749,7 @@ static void sub_816E1F8(struct Sprite *sprite) sprite->pos1.x -= 2; else sprite->pos1.x += 2; - + if (sprite->pos1.y < 0x50) sprite->pos1.y -= 2; else @@ -1783,9 +1780,9 @@ static void Task_IntroLoadPart1Graphics9(u8 taskId) static void Task_IntroFadeIn0(u8 taskId) { s16 *data = gTasks[taskId].data; - + sub_816F2A8(data[1], data[2], data[3], 0); - + switch (data[0]) { case 0: @@ -1928,7 +1925,7 @@ static void sub_816E6D4(u8 a0) { int i; u8 spriteId; - + for (i = 0; i < 6; i++) { spriteId = CreateSprite(&gUnknown_085E4D14, gUnknown_085E4CA8[i][0], gUnknown_085E4CA8[i][1], i); @@ -1943,7 +1940,7 @@ static void sub_816E74C(void) { int i; u8 spriteId; - + for (i = 0; i < 6; i++) { spriteId = CreateSprite(&gUnknown_085E4D14, gUnknown_085E4CA8[i + 6][0], gUnknown_085E4CA8[i + 6][1], i); @@ -1980,7 +1977,7 @@ static void sub_816E7B4(struct Sprite *sprite) sprite->pos1.x -= 3; else sprite->pos1.x += 3; - + if (sprite->pos1.y < 80) sprite->pos1.y -= 3; else @@ -2053,10 +2050,10 @@ static void Task_IntroFadeIn3(u8 taskId) static void Task_IntroFadeIn4(u8 taskId) { s16 *data = gTasks[taskId].data; - + SetGpuReg(REG_OFFSET_BG0HOFS, (data[6] >> 8)); SetGpuReg(REG_OFFSET_BG1HOFS, -(data[6] >> 8)); - + switch (data[0]) { case 0: @@ -2070,7 +2067,7 @@ static void Task_IntroFadeIn4(u8 taskId) case 1: if (data[6] == 0x2800) BeginNormalPaletteFade(0x0000FFFE, 3, 0, 16, RGB(9, 10, 10)); - + if (data[6] != 0) data[6] -= 0x80; else if (!gPaletteFade.active) @@ -2103,7 +2100,7 @@ static void Task_IntroFadeIn6(u8 taskId) { s16 *data = gTasks[taskId].data; u8 spriteId; - + switch (data[0]) { case 0: @@ -2141,7 +2138,7 @@ static void sub_816EC6C(struct Sprite *sprite) { if (sprite->animEnded) sprite->invisible = TRUE; - + switch(sprite->data[0]) { case 0: @@ -2171,7 +2168,7 @@ static void sub_816EC6C(struct Sprite *sprite) static void Task_IntroFadeIn7(u8 taskId) { u8 newTaskId; - + LoadCompressedObjectPic(gUnknown_085E5048); LoadSpritePalettes(gUnknown_085E5058); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 @@ -2194,12 +2191,12 @@ static void Task_IntroFadeIn7(u8 taskId) static void Task_IntroFadeIn8(u8 taskId) { s16 *data = gTasks[taskId].data; - + if (data[7] % 2 == 0) data[6] ^= 2; - + data[7]++; - + switch(data[0]) { case 0: @@ -2248,9 +2245,9 @@ static void sub_816EEA8(u8 taskId) { u8 spriteId; s16 *data = gTasks[taskId].data; - + data[2]++; - + switch(data[0]) { case 0: @@ -2377,7 +2374,7 @@ static void Task_IntroWaterDrops_1(u8 taskId) if (gTasks[taskId].data[1] != 0) { u8 tmp; - + gTasks[taskId].data[1]--; tmp = gTasks[taskId].data[1] / 2; SetGpuReg(REG_OFFSET_BLDALPHA, gUnknown_0853FF70[tmp]); @@ -2420,7 +2417,7 @@ static void Task_IntroWaterDrops_2(u8 taskId) if (gTasks[taskId].data[1] < 62) { u8 tmp; - + gTasks[taskId].data[1]++; tmp = gTasks[taskId].data[1] / 2; SetGpuReg(REG_OFFSET_BLDALPHA, gUnknown_0853FF70[tmp]); @@ -2903,7 +2900,7 @@ static u8 sub_816FDB8(s16 a0, s16 a1, s16 a2) { u16 i; u8 spriteId; - + for (i = 0; i < 9; i++) { spriteId = CreateSprite(&gUnknown_085E4F5C, gUnknown_085E4E94[i][1] + a0, a1 - 4, 0); @@ -2926,7 +2923,7 @@ static u8 sub_816FDB8(s16 a0, s16 a1, s16 a2) static void sub_816FEDC(struct Sprite *sprite) { sprite->data[7]++; - + if (sprite->data[0] != 0) { s16 sin1; @@ -2944,7 +2941,7 @@ static void sub_816FEDC(struct Sprite *sprite) SetOamMatrix(1, a, b, c, d); } - + switch (sprite->data[0]) { case 0: diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c index f12bb454e..5dd5fd31d 100644 --- a/src/item_menu_icons.c +++ b/src/item_menu_icons.c @@ -19,10 +19,10 @@ struct CompressedTilesPal const u8 *pal; }; -extern void sub_80D5860(struct Sprite *sprite); -extern void sub_80D58F8(struct Sprite *sprite); -extern void sub_80D5968(struct Sprite *sprite); -extern void sub_80D5A94(struct Sprite *sprite); +extern void DoHorizontalLunge(struct Sprite *sprite); +extern void DoVerticalDip(struct Sprite *sprite); +extern void SlideMonToOriginalPos(struct Sprite *sprite); +extern void SlideMonToOffset(struct Sprite *sprite); extern void sub_80D5B48(struct Sprite *sprite); // this file's functions @@ -414,7 +414,7 @@ static const struct SpriteTemplate gUnknown_0857FE10 = .callback = SpriteCallbackDummy, }; -const struct SpriteTemplate gUnknown_0857FE28 = +const struct SpriteTemplate gHorizontalLungeSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -422,10 +422,10 @@ const struct SpriteTemplate gUnknown_0857FE28 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80D5860, + .callback = DoHorizontalLunge, }; -const struct SpriteTemplate gUnknown_0857FE40 = +const struct SpriteTemplate gVerticalDipSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -433,10 +433,10 @@ const struct SpriteTemplate gUnknown_0857FE40 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80D58F8, + .callback = DoVerticalDip, }; -const struct SpriteTemplate gUnknown_0857FE58 = +const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -444,10 +444,10 @@ const struct SpriteTemplate gUnknown_0857FE58 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80D5968, + .callback = SlideMonToOriginalPos, }; -const struct SpriteTemplate gUnknown_0857FE70 = +const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -455,7 +455,7 @@ const struct SpriteTemplate gUnknown_0857FE70 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80D5A94, + .callback = SlideMonToOffset, }; const struct SpriteTemplate gUnknown_0857FE88 = diff --git a/src/main.c b/src/main.c index f04f9b61b..4c71ed1f9 100644 --- a/src/main.c +++ b/src/main.c @@ -33,7 +33,7 @@ static void VCountIntr(void); static void SerialIntr(void); static void IntrDummy(void); -const u8 gGameVersion = VERSION_EMERALD; +const u8 gGameVersion = GAME_VERSION; const u8 gGameLanguage = GAME_LANGUAGE; // English diff --git a/src/pokeball.c b/src/pokeball.c index 3dbbb2967..bb02a02ba 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -378,8 +378,8 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1; break; case POKEBALL_OPPONENT_SENDOUT: - gSprites[ballSpriteId].pos1.x = GetBattlerSpriteCoord(battlerId, BANK_X_POS); - gSprites[ballSpriteId].pos1.y = GetBattlerSpriteCoord(battlerId, BANK_Y_POS) + 24; + gSprites[ballSpriteId].pos1.x = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X); + gSprites[ballSpriteId].pos1.y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 24; gBattlerTarget = battlerId; gSprites[ballSpriteId].data[0] = 0; gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut; @@ -399,8 +399,8 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) // this will perform an unused ball throw animation gSprites[ballSpriteId].data[0] = 0x22; - gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BANK_X_POS); - gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BANK_Y_POS) - 16; + gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_X); + gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_Y) - 16; gSprites[ballSpriteId].data[5] = -40; sub_80A68D4(&gSprites[ballSpriteId]); gSprites[ballSpriteId].oam.affineParam = taskId; @@ -411,7 +411,7 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) static void SpriteCB_TestBallThrow(struct Sprite *sprite) { - if (AnimateBallThrow(sprite)) + if (TranslateAnimArc(sprite)) { u16 ballId; u8 taskId = sprite->oam.affineParam; @@ -922,7 +922,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite) StartSpriteAffineAnim(sprite, 4); } r4 = sprite->data[0]; - sub_80A6F3C(sprite); + TranslateAnimLinear(sprite); sprite->data[7] += sprite->sBattler / 3; sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]); sprite->oam.affineParam += 0x100; @@ -940,7 +940,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite) } else { - if (AnimateBallThrow(sprite)) + if (TranslateAnimArc(sprite)) { sprite->pos1.x += sprite->pos2.x; sprite->pos1.y += sprite->pos2.y; diff --git a/sym_ewram.txt b/sym_ewram.txt index 4b3f9d10c..08a834057 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -248,12 +248,9 @@ gUnknown_020375D6: @ 20375D6 .include "src/palette.o" .include "src/sound.o" .include "src/battle_anim.o" - -.align 2 - -gUnknown_02038444: @ 2038444 - .space 0x10 - + .include "src/battle_anim_80A5C6C.o" + + .space 0xC gUnknown_02038454: @ 2038454 .space 0x200