summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_anim_812C144.s30
-rw-r--r--asm/battle_anim_813F0F4.s6
-rw-r--r--asm/current.s10
-rw-r--r--asm/flying.s28
-rw-r--r--asm/ghost.s8
-rw-r--r--asm/ground.s16
-rw-r--r--asm/ice.s46
-rw-r--r--asm/normal.s10
-rw-r--r--asm/water.s6
-rw-r--r--data/battle_ai_scripts.s272
-rw-r--r--data/battle_anim_80CA710.s32
-rw-r--r--data/battle_anim_scripts.s732
-rw-r--r--include/rom_8077ABC.h23
-rw-r--r--src/battle/anim/aurora.c6
-rw-r--r--src/battle/anim/blow_kiss.c6
-rw-r--r--src/battle/anim/bubble.c4
-rw-r--r--src/battle/anim/bug.c22
-rw-r--r--src/battle/anim/bullet.c4
-rw-r--r--src/battle/anim/cutter.c58
-rw-r--r--src/battle/anim/cyclone.c2
-rw-r--r--src/battle/anim/dark.c4
-rw-r--r--src/battle/anim/dragon.c2
-rw-r--r--src/battle/anim/egg.c2
-rw-r--r--src/battle/anim/energy_wave.c10
-rw-r--r--src/battle/anim/fight.c22
-rw-r--r--src/battle/anim/fire_2.c8
-rw-r--r--src/battle/anim/flying_path.c14
-rw-r--r--src/battle/anim/glitter.c2
-rw-r--r--src/battle/anim/grip.c2
-rw-r--r--src/battle/anim/guard.c4
-rw-r--r--src/battle/anim/guillotine.c6
-rw-r--r--src/battle/anim/heart_1.c2
-rw-r--r--src/battle/anim/hop.c2
-rw-r--r--src/battle/anim/lunge_1.c4
-rw-r--r--src/battle/anim/money.c2
-rw-r--r--src/battle/anim/note_rain.c4
-rw-r--r--src/battle/anim/note_scatter_2.c4
-rw-r--r--src/battle/anim/orbit.c12
-rw-r--r--src/battle/anim/orbs.c16
-rw-r--r--src/battle/anim/perceive.c2
-rw-r--r--src/battle/anim/poison.c18
-rw-r--r--src/battle/anim/psychic.c4
-rw-r--r--src/battle/anim/ring.c8
-rw-r--r--src/battle/anim/rock.c14
-rw-r--r--src/battle/anim/scan.c4
-rw-r--r--src/battle/anim/seed.c4
-rw-r--r--src/battle/anim/sonic.c4
-rw-r--r--src/battle/anim/sonic_task.c2
-rw-r--r--src/battle/anim/sunlight.c2
-rw-r--r--src/battle/anim/sword.c4
-rw-r--r--src/battle/anim/tile_out.c2
-rw-r--r--src/battle/anim/unused_8.c4
-rw-r--r--src/battle/anim/unused_9.c2
-rw-r--r--src/battle/anim/water.c4
-rw-r--r--src/battle/anim/wisp_orb.c4
-rw-r--r--src/battle/battle_anim_80A7E7C.c392
-rw-r--r--src/battle/battle_controller_linkopponent.c6
-rw-r--r--src/battle/battle_controller_linkpartner.c6
-rw-r--r--src/battle/battle_controller_opponent.c6
-rw-r--r--src/battle/battle_controller_player.c6
-rw-r--r--src/battle/battle_controller_wally.c4
-rw-r--r--src/battle/pokeball.c8
-rw-r--r--src/rom_8077ABC.c99
63 files changed, 1063 insertions, 989 deletions
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s
index 2aa2f911b..dd0e9bac1 100644
--- a/asm/battle_anim_812C144.s
+++ b/asm/battle_anim_812C144.s
@@ -262,7 +262,7 @@ _0812C31A:
strh r0, [r5, 0x2E]
strh r7, [r5, 0x32]
strh r6, [r5, 0x36]
- ldr r0, _0812C350 @ =sub_8078B34
+ ldr r0, _0812C350 @ =StartTranslateAnimSpriteByDeltas
str r0, [r5, 0x1C]
ldr r1, _0812C354 @ =DestroyAnimSprite
adds r0, r5, 0
@@ -274,7 +274,7 @@ _0812C31A:
.align 2, 0
_0812C348: .4byte gAnimBankTarget
_0812C34C: .4byte gBattleAnimArgs
-_0812C350: .4byte sub_8078B34
+_0812C350: .4byte StartTranslateAnimSpriteByDeltas
_0812C354: .4byte DestroyAnimSprite
thumb_func_end sub_812C2BC
@@ -795,7 +795,7 @@ sub_812C720: @ 812C720
sub sp, 0x4
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _0812C784 @ =gAnimBankTarget
ldrb r0, [r0]
mov r5, sp
@@ -803,7 +803,7 @@ sub_812C720: @ 812C720
movs r1, 0
mov r2, sp
adds r3, r5, 0
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldr r0, _0812C788 @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
@@ -849,7 +849,7 @@ _0812C794: .4byte sub_812C798
sub_812C798: @ 812C798
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _0812C7BA
@@ -2301,7 +2301,7 @@ sub_812D294: @ 812D294
bne _0812D2A8
adds r0, r5, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
_0812D2A8:
ldrh r0, [r5, 0x2E]
adds r0, 0x1
@@ -2376,7 +2376,7 @@ _0812D2F0:
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
- ldr r0, _0812D34C @ =sub_8078B34
+ ldr r0, _0812D34C @ =StartTranslateAnimSpriteByDeltas
str r0, [r5, 0x1C]
_0812D33C:
pop {r4,r5}
@@ -2385,7 +2385,7 @@ _0812D33C:
.align 2, 0
_0812D344: .4byte DestroyAnimSprite
_0812D348: .4byte gAnimBankTarget
-_0812D34C: .4byte sub_8078B34
+_0812D34C: .4byte StartTranslateAnimSpriteByDeltas
thumb_func_end sub_812D294
thumb_func_start sub_812D350
@@ -2915,7 +2915,7 @@ sub_812D724: @ 812D724
_0812D736:
adds r0, r4, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
movs r0, 0x90
lsls r0, 4
strh r0, [r4, 0x30]
@@ -4626,7 +4626,7 @@ sub_812E4F0: @ 812E4F0
bne _0812E50E
adds r0, r4, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
ldrh r0, [r4, 0x2E]
adds r0, 0x1
strh r0, [r4, 0x2E]
@@ -9023,7 +9023,7 @@ _081306D6:
lsls r0, 2
ldr r1, _08130708 @ =gSprites
adds r0, r1
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
@@ -9042,7 +9042,7 @@ _0813070C:
lsls r0, 2
ldr r1, _0813072C @ =gSprites
adds r0, r1
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _081307AA
@@ -10151,7 +10151,7 @@ sub_8130F5C: @ 8130F5C
bne _08130F80
adds r0, r4, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _08130F7C @ =gAnimBankAttacker
b _08130F82
.align 2, 0
@@ -10356,11 +10356,11 @@ _081310FA:
strh r0, [r4, 0x34]
strh r1, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
b _081311CA
_08131110:
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _081311DE
diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s
index 578704b60..d7172bde6 100644
--- a/asm/battle_anim_813F0F4.s
+++ b/asm/battle_anim_813F0F4.s
@@ -1588,7 +1588,7 @@ sub_813FDC0: @ 813FDC0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _0813FE5A
@@ -5479,7 +5479,7 @@ sub_8141C30: @ 8141C30
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
movs r0, 0x1E
strh r0, [r4, 0x2E]
movs r0, 0x1
@@ -5569,7 +5569,7 @@ _08141CF0: .4byte sub_8141CF4
sub_8141CF4: @ 8141CF4
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _08141D16
diff --git a/asm/current.s b/asm/current.s
index 4ef537dc3..69927ea23 100644
--- a/asm/current.s
+++ b/asm/current.s
@@ -12,7 +12,7 @@ sub_80D648C: @ 80D648C
push {r4-r6,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r5, _080D6500 @ =gBattleAnimArgs
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x2E]
@@ -34,7 +34,7 @@ sub_80D648C: @ 80D648C
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x38]
ldrh r0, [r5, 0xA]
@@ -74,7 +74,7 @@ _080D6510: .4byte sub_80D6514
sub_80D6514: @ 80D6514
push {r4,lr}
adds r4, r0, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
bne _080D657E
@@ -998,7 +998,7 @@ sub_80D6BB8: @ 80D6BB8
strh r0, [r4, 0x36]
strh r6, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldr r1, _080D6CB0 @ =sub_80D6D00
adds r0, r4, 0
bl StoreSpriteCallbackInData
@@ -1062,7 +1062,7 @@ _080D6CC6:
sub_80D6CCC: @ 80D6CCC
push {r4,lr}
adds r4, r0, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _080D6CF4
diff --git a/asm/flying.s b/asm/flying.s
index ce3fb050b..a9872c903 100644
--- a/asm/flying.s
+++ b/asm/flying.s
@@ -174,7 +174,7 @@ sub_80DA16C: @ 80DA16C
push {r4-r6,lr}
adds r6, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _080DA1D8 @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
@@ -211,7 +211,7 @@ _080DA18C:
adds r0, r4
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldr r0, _080DA1E4 @ =sub_80785E4
str r0, [r6, 0x1C]
ldr r1, _080DA1E8 @ =sub_80DA1EC
@@ -232,7 +232,7 @@ _080DA1E8: .4byte sub_80DA1EC
sub_80DA1EC: @ 80DA1EC
push {r4,lr}
adds r4, r0, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _080DA200
@@ -331,7 +331,7 @@ _080DA2B0:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
_080DA2C2:
ldr r4, _080DA2F4 @ =gBattleAnimArgs
ldrh r0, [r4, 0x4]
@@ -342,7 +342,7 @@ _080DA2C2:
ldrh r3, [r5, 0x36]
adds r0, r3
strh r0, [r5, 0x36]
- ldr r0, _080DA2F8 @ =sub_8078B34
+ ldr r0, _080DA2F8 @ =StartTranslateAnimSpriteByDeltas
str r0, [r5, 0x1C]
ldr r1, _080DA2FC @ =DestroyAnimSprite
adds r0, r5, 0
@@ -356,7 +356,7 @@ _080DA2C2:
.align 2, 0
_080DA2F0: .4byte gAnimBankTarget
_080DA2F4: .4byte gBattleAnimArgs
-_080DA2F8: .4byte sub_8078B34
+_080DA2F8: .4byte StartTranslateAnimSpriteByDeltas
_080DA2FC: .4byte DestroyAnimSprite
thumb_func_end sub_80DA208
@@ -365,7 +365,7 @@ sub_80DA300: @ 80DA300
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r1, _080DA33C @ =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E]
@@ -483,7 +483,7 @@ _080DA3C2:
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldr r0, _080DA40C @ =sub_80DA410
str r0, [r5, 0x1C]
pop {r4,r5}
@@ -503,7 +503,7 @@ sub_80DA410: @ 80DA410
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
ldrh r1, [r4, 0x34]
lsrs r0, r1, 8
cmp r0, 0xC8
@@ -1743,7 +1743,7 @@ sub_80DAD30: @ 80DAD30
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
- ldr r0, _080DAD80 @ =sub_807941C
+ ldr r0, _080DAD80 @ =TranslateAnimSpriteToTargetMonLocation
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -1751,7 +1751,7 @@ sub_80DAD30: @ 80DAD30
.align 2, 0
_080DAD78: .4byte gAnimBankTarget
_080DAD7C: .4byte gAnimBankAttacker
-_080DAD80: .4byte sub_807941C
+_080DAD80: .4byte TranslateAnimSpriteToTargetMonLocation
thumb_func_end sub_80DAD30
thumb_func_start sub_80DAD84
@@ -2086,7 +2086,7 @@ sub_80DB000: @ 80DB000
bne _080DB01C
adds r0, r5, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080DB024
.align 2, 0
_080DB018: .4byte gBattleAnimArgs
@@ -2291,7 +2291,7 @@ sub_80DB194: @ 80DB194
_080DB1A6:
adds r0, r4, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
movs r0, 0
bl GetAnimBankSpriteId
ldr r2, _080DB1D4 @ =gSprites
@@ -2414,7 +2414,7 @@ sub_80DB288: @ 80DB288
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r1, _080DB2C4 @ =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E]
diff --git a/asm/ghost.s b/asm/ghost.s
index 928d940b5..df20a7b20 100644
--- a/asm/ghost.s
+++ b/asm/ghost.s
@@ -12,7 +12,7 @@ sub_80DDB6C: @ 80DDB6C
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _080DDBC8 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E]
@@ -63,7 +63,7 @@ sub_80DDBD8: @ 80DDBD8
adds r4, r0, 0
bl sub_80DDCC8
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _080DDBF8
@@ -123,7 +123,7 @@ sub_80DDC4C: @ 80DDC4C
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
movs r1, 0x38
ldrsh r0, [r4, r1]
movs r1, 0xA
@@ -2539,7 +2539,7 @@ sub_80DEF3C: @ 80DEF3C
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _080DEF68 @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
diff --git a/asm/ground.s b/asm/ground.s
index 3be7d74ac..607065061 100644
--- a/asm/ground.s
+++ b/asm/ground.s
@@ -59,7 +59,7 @@ _080E0F80: .4byte sub_80E0F84
sub_80E0F84: @ 80E0F84
push {r4,r5,lr}
adds r5, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080E0FD8
@@ -108,7 +108,7 @@ _080E0FE4: .4byte sub_80E0FE8
sub_80E0FE8: @ 80E0FE8
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080E0FFC
@@ -157,7 +157,7 @@ _080E1024:
ldrh r4, [r4, 0x6]
adds r0, r4
strh r0, [r6, 0x36]
- ldr r0, _080E1070 @ =sub_8078B34
+ ldr r0, _080E1070 @ =StartTranslateAnimSpriteByDeltas
str r0, [r6, 0x1C]
ldr r1, _080E1074 @ =DestroyAnimSprite
adds r0, r6, 0
@@ -169,7 +169,7 @@ _080E1024:
_080E1064: .4byte gAnimBankAttacker
_080E1068: .4byte gBattleAnimArgs
_080E106C: .4byte gAnimBankTarget
-_080E1070: .4byte sub_8078B34
+_080E1070: .4byte StartTranslateAnimSpriteByDeltas
_080E1074: .4byte DestroyAnimSprite
thumb_func_end sub_80E1004
@@ -180,7 +180,7 @@ sub_80E1078: @ 80E1078
push {r7}
adds r6, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r4, _080E10F8 @ =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
@@ -224,7 +224,7 @@ _080E10D0:
strh r0, [r6, 0x32]
adds r0, r7, r4
strh r0, [r6, 0x36]
- ldr r0, _080E1100 @ =sub_8078B34
+ ldr r0, _080E1100 @ =StartTranslateAnimSpriteByDeltas
str r0, [r6, 0x1C]
ldr r1, _080E1104 @ =move_anim_8074EE0
adds r0, r6, 0
@@ -237,7 +237,7 @@ _080E10D0:
.align 2, 0
_080E10F8: .4byte gAnimBankTarget
_080E10FC: .4byte gBattleAnimArgs
-_080E1100: .4byte sub_8078B34
+_080E1100: .4byte StartTranslateAnimSpriteByDeltas
_080E1104: .4byte move_anim_8074EE0
thumb_func_end sub_80E1078
@@ -1120,7 +1120,7 @@ _080E17AC: .4byte sub_80E17B0
sub_80E17B0: @ 80E17B0
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080E17C4
diff --git a/asm/ice.s b/asm/ice.s
index 032da59c3..02729a0c0 100644
--- a/asm/ice.s
+++ b/asm/ice.s
@@ -325,7 +325,7 @@ sub_80D792C: @ 80D792C
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r0, _080D7960 @ =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x2
@@ -371,7 +371,7 @@ _080D7976:
ldr r1, _080D79AC @ =DestroyAnimSprite
adds r0, r4, 0
bl StoreSpriteCallbackInData
- ldr r0, _080D79B0 @ =sub_8078B34
+ ldr r0, _080D79B0 @ =StartTranslateAnimSpriteByDeltas
str r0, [r4, 0x1C]
pop {r4}
pop {r0}
@@ -380,7 +380,7 @@ _080D7976:
_080D79A4: .4byte gBattleAnimArgs
_080D79A8: .4byte gAnimBankTarget
_080D79AC: .4byte DestroyAnimSprite
-_080D79B0: .4byte sub_8078B34
+_080D79B0: .4byte StartTranslateAnimSpriteByDeltas
thumb_func_end sub_80D792C
thumb_func_start sub_80D79B4
@@ -406,7 +406,7 @@ _080D79D0:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldr r0, _080D7A1C @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
@@ -480,7 +480,7 @@ sub_80D7A64: @ 80D7A64
sub sp, 0x10
adds r5, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r6, _080D7AAC @ =gBattleAnimArgs
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
@@ -519,7 +519,7 @@ _080D7AB4:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
_080D7AC6:
ldr r0, _080D7AE4 @ =gAnimBankAttacker
ldrb r0, [r0]
@@ -795,7 +795,7 @@ sub_80D7CD4: @ 80D7CD4
sub sp, 0x10
adds r5, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r1, _080D7D18 @ =gBattleAnimArgs
ldrh r0, [r1, 0x8]
strh r0, [r5, 0x2E]
@@ -832,7 +832,7 @@ _080D7D20:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
_080D7D32:
ldr r0, _080D7D54 @ =gAnimBankAttacker
ldrb r0, [r0]
@@ -1036,7 +1036,7 @@ _080D7EAC:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldr r0, _080D7EF0 @ =gAnimBankAttacker
ldrb r0, [r0]
bl GetBankSide
@@ -1094,7 +1094,7 @@ sub_80D7F10: @ 80D7F10
bne _080D7F34
adds r0, r5, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080D7F72
.align 2, 0
_080D7F30: .4byte gBattleAnimArgs
@@ -1106,7 +1106,7 @@ _080D7F34:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -1152,7 +1152,7 @@ _080D7F92:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_807A3FC
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -1221,7 +1221,7 @@ _080D800C:
adds r0, r1
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
movs r0, 0x40
strh r0, [r5, 0x38]
ldr r1, _080D8044 @ =sub_80D8048
@@ -1241,7 +1241,7 @@ _080D8044: .4byte sub_80D8048
sub_80D8048: @ 80D8048
push {r4,lr}
adds r4, r0, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
bne _080D80D2
@@ -1696,14 +1696,14 @@ sub_80D83E0: @ 80D83E0
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
- ldr r0, _080D8410 @ =sub_807941C
+ ldr r0, _080D8410 @ =TranslateAnimSpriteToTargetMonLocation
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080D840C: .4byte gAnimBankAttacker
-_080D8410: .4byte sub_807941C
+_080D8410: .4byte TranslateAnimSpriteToTargetMonLocation
thumb_func_end sub_80D83E0
thumb_func_start sub_80D8414
@@ -2227,7 +2227,7 @@ _080D8824:
strb r0, [r1]
_080D8858:
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
ldr r0, _080D8870 @ =sub_80D8874
str r0, [r5, 0x1C]
pop {r3}
@@ -2263,7 +2263,7 @@ _080D8894:
b _080D8AD0
_080D8896:
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
ldr r1, _080D88C0 @ =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -2361,13 +2361,13 @@ _080D893A:
ands r0, r1
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimSpriteTranslationDeltas
b _080D8AD0
.align 2, 0
_080D8964: .4byte gSineTable
_080D8968:
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
ldr r1, _080D89C8 @ =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -2519,7 +2519,7 @@ _080D8A7A:
_080D8A90: .4byte 0x0000fff0
_080D8A94:
adds r0, r4, 0
- bl sub_8078B5C
+ bl TranslateAnimSpriteByDeltas
lsls r0, 24
cmp r0, 0
beq _080D8AD0
@@ -3026,7 +3026,7 @@ _080D8E6A:
bl StartSpriteAffineAnim
adds r0, r5, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r6, _080D8ED0 @ =gBattleAnimArgs
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
@@ -3078,7 +3078,7 @@ _080D8EDC: .4byte sub_80D8EE0
sub_80D8EE0: @ 80D8EE0
push {r4,lr}
adds r4, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080D8F02
diff --git a/asm/normal.s b/asm/normal.s
index f56ca6ec6..c92b4563c 100644
--- a/asm/normal.s
+++ b/asm/normal.s
@@ -1471,7 +1471,7 @@ sub_80E27A0: @ 80E27A0
bne _080E27C4
adds r0, r5, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E27CC
.align 2, 0
_080E27C0: .4byte gBattleAnimArgs
@@ -1506,7 +1506,7 @@ sub_80E27E8: @ 80E27E8
bne _080E280C
adds r0, r5, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E2814
.align 2, 0
_080E2808: .4byte gBattleAnimArgs
@@ -1586,7 +1586,7 @@ _080E288C:
bne _080E28AC
adds r0, r4, 0
movs r1, 0
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E28B4
.align 2, 0
_080E28A8: .4byte gBattleAnimArgs
@@ -1694,7 +1694,7 @@ sub_80E2978: @ 80E2978
bne _080E2994
adds r0, r4, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E299C
.align 2, 0
_080E2990: .4byte gBattleAnimArgs
@@ -1733,7 +1733,7 @@ sub_80E29C0: @ 80E29C0
bne _080E29E4
adds r0, r5, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
b _080E29EC
.align 2, 0
_080E29E0: .4byte gBattleAnimArgs
diff --git a/asm/water.s b/asm/water.s
index 45fb7f82a..0bbddd2ca 100644
--- a/asm/water.s
+++ b/asm/water.s
@@ -2075,7 +2075,7 @@ _080D4B38: .4byte sub_80D4B3C
sub_80D4B3C: @ 80D4B3C
push {r4-r6,lr}
adds r6, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080D4B96
@@ -2126,7 +2126,7 @@ _080D4BA0: .4byte sub_80D4BA4
sub_80D4BA4: @ 80D4BA4
push {r4-r6,lr}
adds r5, r0, 0
- bl sub_8078718
+ bl TranslateAnimSpriteLinearAndSine
lsls r0, 24
cmp r0, 0
beq _080D4BE0
@@ -2264,7 +2264,7 @@ sub_80D4CA4: @ 80D4CA4
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_80787B0
+ bl InitAnimSpritePos
ldr r5, _080D4CE0 @ =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s
index 17b27fae5..ab83f2bf8 100644
--- a/data/battle_ai_scripts.s
+++ b/data/battle_ai_scripts.s
@@ -47,7 +47,7 @@ BattleAIs:: @ 81DA01C
AI_CheckBadMove: @ 81DA09C
is_most_powerful_move
if_equal 0, AI_CheckBadMove_CheckSoundproof
- if_damage_bonus 0, Score_Down10
+ if_damage_bonus 0, Score_Minus10
get_ability TARGET
if_equal ABILITY_VOLT_ABSORB, CheckIfVoltAbsorbCancelsElectric
if_equal ABILITY_WATER_ABSORB, CheckIfWaterAbsorbCancelsWater
@@ -58,39 +58,39 @@ AI_CheckBadMove: @ 81DA09C
CheckIfVoltAbsorbCancelsElectric: @ 81DA0CE
get_type CURRENT_MOVE
- if_arg_equal TYPE_ELECTRIC, Score_Down12
+ if_arg_equal TYPE_ELECTRIC, Score_Minus12
jump AI_CheckBadMove_CheckSoundproof
CheckIfWaterAbsorbCancelsWater: @ 81DA0DB
get_type CURRENT_MOVE
- if_arg_equal TYPE_WATER, Score_Down12
+ if_arg_equal TYPE_WATER, Score_Minus12
jump AI_CheckBadMove_CheckSoundproof
CheckIfFlashFireCancelsFire: @ 81DA0E8
get_type CURRENT_MOVE
- if_arg_equal TYPE_FIRE, Score_Down12
+ if_arg_equal TYPE_FIRE, Score_Minus12
jump AI_CheckBadMove_CheckSoundproof
CheckIfWonderGuardCancelsMove: @ 81DA0F5
if_damage_bonus 80, AI_CheckBadMove_CheckSoundproof
- jump Score_Down10
+ jump Score_Minus10
CheckIfLevitateCancelsGroundMove: @ 81DA100
get_type CURRENT_MOVE
- if_arg_equal TYPE_GROUND, Score_Down10
+ if_arg_equal TYPE_GROUND, Score_Minus10
AI_CheckBadMove_CheckSoundproof: @ 81DA108
get_ability TARGET
if_not_equal ABILITY_SOUNDPROOF, AI_CheckBadMove_CheckEffect
- if_move MOVE_GROWL, Score_Down10
- if_move MOVE_ROAR, Score_Down10
- if_move MOVE_SING, Score_Down10
- if_move MOVE_SUPERSONIC, Score_Down10
- if_move MOVE_SCREECH, Score_Down10
- if_move MOVE_SNORE, Score_Down10
- if_move MOVE_UPROAR, Score_Down10
- if_move MOVE_METAL_SOUND, Score_Down10
- if_move MOVE_GRASS_WHISTLE, Score_Down10
+ if_move MOVE_GROWL, Score_Minus10
+ if_move MOVE_ROAR, Score_Minus10
+ if_move MOVE_SING, Score_Minus10
+ if_move MOVE_SUPERSONIC, Score_Minus10
+ if_move MOVE_SCREECH, Score_Minus10
+ if_move MOVE_SNORE, Score_Minus10
+ if_move MOVE_UPROAR, Score_Minus10
+ if_move MOVE_METAL_SOUND, Score_Minus10
+ if_move MOVE_GRASS_WHISTLE, Score_Minus10
AI_CheckBadMove_CheckEffect: @ 81DA14F
if_effect EFFECT_SLEEP, AI_CBM_Sleep
@@ -173,7 +173,7 @@ AI_CheckBadMove_CheckEffect: @ 81DA14F
if_effect EFFECT_MIRROR_COAT, AI_CBM_HighRiskForDamage
if_effect EFFECT_SKULL_BASH, AI_CBM_HighRiskForDamage
if_effect EFFECT_FUTURE_SIGHT, AI_CBM_FutureSight
- if_effect EFFECT_TELEPORT, Score_Down10
+ if_effect EFFECT_TELEPORT, Score_Minus10
if_effect EFFECT_DEFENSE_CURL, AI_CBM_DefenseUp
if_effect EFFECT_FAKE_OUT, AI_CBM_FakeOut
if_effect EFFECT_STOCKPILE, AI_CBM_Stockpile
@@ -206,100 +206,100 @@ AI_CheckBadMove_CheckEffect: @ 81DA14F
AI_CBM_Sleep: @ 81DA3DE
get_ability TARGET
- if_equal ABILITY_INSOMNIA, Score_Down10
- if_equal ABILITY_VITAL_SPIRIT, Score_Down10
- if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Down10
+ if_equal ABILITY_INSOMNIA, Score_Minus10
+ if_equal ABILITY_VITAL_SPIRIT, Score_Minus10
+ if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Minus10
end
AI_CBM_Explosion: @ 81DA3F7
- if_damage_bonus 0, Score_Down10
+ if_damage_bonus 0, Score_Minus10
get_ability TARGET
- if_equal ABILITY_DAMP, Score_Down10
+ if_equal ABILITY_DAMP, Score_Minus10
count_alive_pokemon USER
if_not_equal 0, AI_CBM_Explosion_End
count_alive_pokemon TARGET
- if_not_equal 0, Score_Down10
- jump Score_Down1
+ if_not_equal 0, Score_Minus10
+ jump Score_Minus1
AI_CBM_Explosion_End: @ 81DA41A
end
AI_CBM_Nightmare: @ 81DA41B
- if_status2 TARGET, S_NIGHTMARE, Score_Down10
- if_not_status TARGET, SLP, Score_Down8
+ if_status2 TARGET, S_NIGHTMARE, Score_Minus10
+ if_not_status TARGET, SLP, Score_Minus8
end
AI_CBM_DreamEater: @ 81DA430
- if_not_status TARGET, SLP, Score_Down8
- if_damage_bonus 0, Score_Down10
+ if_not_status TARGET, SLP, Score_Minus8
+ if_damage_bonus 0, Score_Minus10
end
AI_CBM_BellyDrum: @ 81DA441
- if_hp_less_than USER, 51, Score_Down10
+ if_hp_less_than USER, 51, Score_Minus10
AI_CBM_AttackUp: @ 81DA448
- if_stat_level_equal USER, ATTACK, 12, Score_Down10
+ if_stat_level_equal USER, ATTACK, 12, Score_Minus10
end
AI_CBM_DefenseUp: @ 81DA451
- if_stat_level_equal USER, DEFENSE, 12, Score_Down10
+ if_stat_level_equal USER, DEFENSE, 12, Score_Minus10
end
AI_CBM_SpeedUp: @ 81DA45A
- if_stat_level_equal USER, SPEED, 12, Score_Down10
+ if_stat_level_equal USER, SPEED, 12, Score_Minus10
end
AI_CBM_SpAtkUp: @ 81DA463
- if_stat_level_equal USER, SP_ATTACK, 12, Score_Down10
+ if_stat_level_equal USER, SP_ATTACK, 12, Score_Minus10
end
AI_CBM_SpDefUp: @ 81DA46C
- if_stat_level_equal USER, SP_DEFENSE, 12, Score_Down10
+ if_stat_level_equal USER, SP_DEFENSE, 12, Score_Minus10
end
AI_CBM_AccUp: @ 81DA475
- if_stat_level_equal USER, ACCURACY, 12, Score_Down10
+ if_stat_level_equal USER, ACCURACY, 12, Score_Minus10
end
AI_CBM_EvasionUp: @ 81DA47E
- if_stat_level_equal USER, EVASION, 12, Score_Down10
+ if_stat_level_equal USER, EVASION, 12, Score_Minus10
end
AI_CBM_AttackDown: @ 81DA487
- if_stat_level_equal TARGET, ATTACK, 0, Score_Down10
+ if_stat_level_equal TARGET, ATTACK, 0, Score_Minus10
get_ability TARGET
- if_equal ABILITY_HYPER_CUTTER, Score_Down10
+ if_equal ABILITY_HYPER_CUTTER, Score_Minus10
jump CheckIfAbilityBlocksStatChange
AI_CBM_DefenseDown: @ 81DA49C
- if_stat_level_equal TARGET, DEFENSE, 0, Score_Down10
+ if_stat_level_equal TARGET, DEFENSE, 0, Score_Minus10
jump CheckIfAbilityBlocksStatChange
AI_CBM_SpeedDown: @ 81DA4A9
- if_stat_level_equal TARGET, SPEED, 0, Score_Down10
+ if_stat_level_equal TARGET, SPEED, 0, Score_Minus10
jump CheckIfAbilityBlocksStatChange
AI_CBM_SpAtkDown: @ 81DA4B6
- if_stat_level_equal TARGET, SP_ATTACK, 0, Score_Down10
+ if_stat_level_equal TARGET, SP_ATTACK, 0, Score_Minus10
jump CheckIfAbilityBlocksStatChange
AI_CBM_SpDefDown: @ 81DA4C3
- if_stat_level_equal TARGET, SP_DEFENSE, 0, Score_Down10
+ if_stat_level_equal TARGET, SP_DEFENSE, 0, Score_Minus10
jump CheckIfAbilityBlocksStatChange
AI_CBM_AccDown: @ 81DA4D0
- if_stat_level_equal TARGET, ACCURACY, 0, Score_Down10
+ if_stat_level_equal TARGET, ACCURACY, 0, Score_Minus10
get_ability TARGET
- if_equal ABILITY_KEEN_EYE, Score_Down10
+ if_equal ABILITY_KEEN_EYE, Score_Minus10
jump CheckIfAbilityBlocksStatChange
AI_CBM_EvasionDown: @ 81DA4E5
- if_stat_level_equal TARGET, EVASION, 0, Score_Down10
+ if_stat_level_equal TARGET, EVASION, 0, Score_Minus10
CheckIfAbilityBlocksStatChange: @ 81DA4ED
get_ability TARGET
- if_equal ABILITY_CLEAR_BODY, Score_Down10
- if_equal ABILITY_WHITE_SMOKE, Score_Down10
+ if_equal ABILITY_CLEAR_BODY, Score_Minus10
+ if_equal ABILITY_WHITE_SMOKE, Score_Minus10
end
AI_CBM_Haze: @ 81DA4FC
@@ -317,299 +317,299 @@ AI_CBM_Haze: @ 81DA4FC
if_stat_level_more_than TARGET, SP_DEFENSE, 6, AI_CBM_Haze_End
if_stat_level_more_than TARGET, ACCURACY, 6, AI_CBM_Haze_End
if_stat_level_more_than TARGET, EVASION, 6, AI_CBM_Haze_End
- jump Score_Down10
+ jump Score_Minus10
AI_CBM_Haze_End: @ 81DA571
end
AI_CBM_Roar: @ 81DA572
count_alive_pokemon TARGET
- if_equal 0, Score_Down10
+ if_equal 0, Score_Minus10
get_ability TARGET
- if_equal ABILITY_SUCTION_CUPS, Score_Down10
+ if_equal ABILITY_SUCTION_CUPS, Score_Minus10
end
AI_CBM_Toxic: @ 81DA583
get_type ENEMY_TYPE1
- if_equal TYPE_STEEL, Score_Down10
- if_equal TYPE_POISON, Score_Down10
+ if_equal TYPE_STEEL, Score_Minus10
+ if_equal TYPE_POISON, Score_Minus10
get_type PLAYER_TYPE1
- if_equal TYPE_STEEL, Score_Down10
- if_equal TYPE_POISON, Score_Down10
+ if_equal TYPE_STEEL, Score_Minus10
+ if_equal TYPE_POISON, Score_Minus10
get_ability TARGET
- if_equal ABILITY_IMMUNITY, Score_Down10
- if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Down10
+ if_equal ABILITY_IMMUNITY, Score_Minus10
+ if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Minus10
end
AI_CBM_LightScreen: @ 81DA5B2
- if_status4 USER, S_LIGHT_SCREEN, Score_Down8
+ if_status4 USER, S_LIGHT_SCREEN, Score_Minus8
end
AI_CBM_OneHitKO: @ 81DA5BD
- if_damage_bonus 0, Score_Down10
+ if_damage_bonus 0, Score_Minus10
get_ability TARGET
- if_equal ABILITY_STURDY, Score_Down10
- if_target_higher_level Score_Down10
+ if_equal ABILITY_STURDY, Score_Minus10
+ if_target_higher_level Score_Minus10
end
AI_CBM_Magnitude: @ 81DA5D2
get_ability TARGET
- if_equal ABILITY_LEVITATE, Score_Down10
+ if_equal ABILITY_LEVITATE, Score_Minus10
AI_CBM_HighRiskForDamage: @ 81DA5DA
- if_damage_bonus 0, Score_Down10
+ if_damage_bonus 0, Score_Minus10
get_ability TARGET
if_not_equal ABILITY_WONDER_GUARD, AI_CBM_HighRiskForDamage_End
if_damage_bonus 80, AI_CBM_HighRiskForDamage_End
- jump Score_Down10
+ jump Score_Minus10
AI_CBM_HighRiskForDamage_End: @ 81DA5F3
end
AI_CBM_Mist: @ 81DA5F4
- if_status4 USER, S_MIST, Score_Down8
+ if_status4 USER, S_MIST, Score_Minus8
end
AI_CBM_FocusEnergy: @ 81DA5FF
- if_status2 USER, S_FOCUS_ENERGY, Score_Down10
+ if_status2 USER, S_FOCUS_ENERGY, Score_Minus10
end
AI_CBM_Confuse: @ 81DA60A
- if_status2 TARGET, S_CONFUSED, Score_Down5
+ if_status2 TARGET, S_CONFUSED, Score_Minus5
get_ability TARGET
- if_equal ABILITY_OWN_TEMPO, Score_Down10
+ if_equal ABILITY_OWN_TEMPO, Score_Minus10
end
AI_CBM_Reflect: @ 81DA61D
- if_status4 USER, S_REFLECT, Score_Down8
+ if_status4 USER, S_REFLECT, Score_Minus8
end
AI_CBM_Paralyze: @ 81DA628
- if_damage_bonus 0, Score_Down10
+ if_damage_bonus 0, Score_Minus10
get_ability TARGET
- if_equal ABILITY_LIMBER, Score_Down10
- if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Down10
+ if_equal ABILITY_LIMBER, Score_Minus10
+ if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Minus10
end
AI_CBM_Substitute: @ 81DA641
- if_status2 USER, S_SUBSTITUTE, Score_Down8
- if_hp_less_than USER, 26, Score_Down10
+ if_status2 USER, S_SUBSTITUTE, Score_Minus8
+ if_hp_less_than USER, 26, Score_Minus10
end
AI_CBM_LeechSeed: @ 81DA653
- if_status3 TARGET, S_LEECH_SEED, Score_Down10
+ if_status3 TARGET, S_LEECH_SEED, Score_Minus10
get_type ENEMY_TYPE1
- if_equal TYPE_GRASS, Score_Down10
+ if_equal TYPE_GRASS, Score_Minus10
get_type PLAYER_TYPE1
- if_equal TYPE_GRASS, Score_Down10
+ if_equal TYPE_GRASS, Score_Minus10
end
AI_CBM_Disable: @ 81DA66E
- if_last_move_did_damage TARGET, 0, Score_Down8
+ if_last_move_did_damage TARGET, 0, Score_Minus8
end
AI_CBM_Encore: @ 81DA676
- if_last_move_did_damage TARGET, 1, Score_Down8
+ if_last_move_did_damage TARGET, 1, Score_Minus8
end
AI_CBM_DamageDuringSleep: @ 81DA67E
- if_not_status USER, SLP, Score_Down8
+ if_not_status USER, SLP, Score_Minus8
end
AI_CBM_CantEscape: @ 81DA689
- if_status2 TARGET, S_MEAN_LOOK, Score_Down10
+ if_status2 TARGET, S_MEAN_LOOK, Score_Minus10
end
AI_CBM_Curse: @ 81DA694
- if_stat_level_equal USER, ATTACK, 12, Score_Down10
- if_stat_level_equal USER, DEFENSE, 12, Score_Down8
+ if_stat_level_equal USER, ATTACK, 12, Score_Minus10
+ if_stat_level_equal USER, DEFENSE, 12, Score_Minus8
end
AI_CBM_Spikes: @ 81DA6A5
- if_status4 TARGET, S_SPIKES, Score_Down10
+ if_status4 TARGET, S_SPIKES, Score_Minus10
end
AI_CBM_Foresight: @ 81DA6B0
- if_status2 TARGET, S_FORESIGHT, Score_Down10
+ if_status2 TARGET, S_FORESIGHT, Score_Minus10
end
AI_CBM_PerishSong: @ 81DA6BB
- if_status3 TARGET, S_PERISH_SONG, Score_Down10
+ if_status3 TARGET, S_PERISH_SONG, Score_Minus10
end
AI_CBM_Sandstorm: @ 81DA6C6
get_weather
- if_equal BATTLE_WEATHER_SANDSTORM, Score_Down8
+ if_equal BATTLE_WEATHER_SANDSTORM, Score_Minus8
end
AI_CBM_Attract: @ 81DA6CE
- if_status2 TARGET, S_INFATUATED, Score_Down10
+ if_status2 TARGET, S_INFATUATED, Score_Minus10
get_ability TARGET
- if_equal ABILITY_OBLIVIOUS, Score_Down10
+ if_equal ABILITY_OBLIVIOUS, Score_Minus10
get_gender USER
if_equal 0, AI_CBM_Attract_CheckIfTargetIsFemale
if_equal 254, AI_CBM_Attract_CheckIfTargetIsMale
- jump Score_Down10
+ jump Score_Minus10
AI_CBM_Attract_CheckIfTargetIsFemale: @ 81DA6F3
get_gender TARGET
if_equal 254, AI_CBM_Attract_End
- jump Score_Down10
+ jump Score_Minus10
AI_CBM_Attract_CheckIfTargetIsMale: @ 81DA700
get_gender TARGET
if_equal 0, AI_CBM_Attract_End
- jump Score_Down10
+ jump Score_Minus10
AI_CBM_Attract_End: @ 81DA70D
end
AI_CBM_Safeguard: @ 81DA70E
- if_status4 USER, S_SAFEGUARD, Score_Down8
+ if_status4 USER, S_SAFEGUARD, Score_Minus8
end
AI_CBM_Memento: @ 81DA719
- if_stat_level_equal TARGET, ATTACK, 0, Score_Down10
- if_stat_level_equal TARGET, SP_ATTACK, 0, Score_Down8
+ if_stat_level_equal TARGET, ATTACK, 0, Score_Minus10
+ if_stat_level_equal TARGET, SP_ATTACK, 0, Score_Minus8
AI_CBM_BatonPass: @ 81DA729
count_alive_pokemon USER
- if_equal 0, Score_Down10
+ if_equal 0, Score_Minus10
end
AI_CBM_RainDance: @ 81DA732
get_weather
- if_equal BATTLE_WEATHER_RAIN, Score_Down8
+ if_equal BATTLE_WEATHER_RAIN, Score_Minus8
end
AI_CBM_SunnyDay: @ 81DA73A
get_weather
- if_equal BATTLE_WEATHER_SUN, Score_Down8
+ if_equal BATTLE_WEATHER_SUN, Score_Minus8
end
AI_CBM_FutureSight: @ 81DA742
- if_status4 TARGET, S_FUTURE_SIGHT, Score_Down10
+ if_status4 TARGET, S_FUTURE_SIGHT, Score_Minus10
end
AI_CBM_FakeOut: @ 81DA74D
is_first_turn USER
- if_equal 0, Score_Down10
+ if_equal 0, Score_Minus10
end
AI_CBM_Stockpile: @ 81DA756
get_stockpile_count USER
- if_equal 3, Score_Down10
+ if_equal 3, Score_Minus10
end
AI_CBM_SpitUpAndSwallow: @ 81DA75F
- if_damage_bonus 0, Score_Down10
+ if_damage_bonus 0, Score_Minus10
get_stockpile_count USER
- if_equal 0, Score_Down10
+ if_equal 0, Score_Minus10
end
AI_CBM_Hail: @ 81DA76E
get_weather
- if_equal BATTLE_WEATHER_HAIL, Score_Down8
+ if_equal BATTLE_WEATHER_HAIL, Score_Minus8
end
AI_CBM_Torment: @ 81DA776
- if_status2 TARGET, S_TORMENT, Score_Down10
+ if_status2 TARGET, S_TORMENT, Score_Minus10
end
AI_CBM_WillOWisp: @ 81DA781
get_ability TARGET
- if_equal ABILITY_WATER_VEIL, Score_Down10
- if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Down10
- if_damage_bonus 0, Score_Down10
- if_damage_bonus 20, Score_Down10
- if_damage_bonus 10, Score_Down10
+ if_equal ABILITY_WATER_VEIL, Score_Minus10
+ if_status TARGET, SLP | PSN | BRN | FRZ | PAR | TOX, Score_Minus10
+ if_damage_bonus 0, Score_Minus10
+ if_damage_bonus 20, Score_Minus10
+ if_damage_bonus 10, Score_Minus10
end
AI_CBM_HelpingHand: @ 81DA7A6
is_double_battle
- if_equal 0, Score_Down10
+ if_equal 0, Score_Minus10
end
AI_CBM_TrickAndKnockOff: @ 81DA7AE
get_ability TARGET
- if_equal ABILITY_STICKY_HOLD, Score_Down10
+ if_equal ABILITY_STICKY_HOLD, Score_Minus10
end
AI_CBM_Ingrain: @ 81DA7B7
- if_status3 USER, S_ROOTED, Score_Down10
+ if_status3 USER, S_ROOTED, Score_Minus10
end
AI_CBM_Recycle: @ 81DA7C2
get_item USER
- if_equal ITEM_NONE, Score_Down10
+ if_equal ITEM_NONE, Score_Minus10
end
AI_CBM_Imprison: @ 81DA7CB
- if_status3 USER, S_IMPRISONED, Score_Down10
+ if_status3 USER, S_IMPRISONED, Score_Minus10
end
AI_CBM_Refresh: @ 81DA7D6
- if_not_status USER, PSN | BRN | PAR | TOX, Score_Down10
+ if_not_status USER, PSN | BRN | PAR | TOX, Score_Minus10
end
AI_CBM_MudSport: @ 81DA7E1
- if_status3 USER, S_MUD_SPORT, Score_Down10
+ if_status3 USER, S_MUD_SPORT, Score_Minus10
end
AI_CBM_Tickle: @ 81DA7EC
- if_stat_level_equal TARGET, ATTACK, 0, Score_Down10
- if_stat_level_equal TARGET, DEFENSE, 0, Score_Down8
+ if_stat_level_equal TARGET, ATTACK, 0, Score_Minus10
+ if_stat_level_equal TARGET, DEFENSE, 0, Score_Minus8
end
AI_CBM_CosmicPower: @ 81DA7FD
- if_stat_level_equal USER, DEFENSE, 12, Score_Down10
- if_stat_level_equal USER, SP_DEFENSE, 12, Score_Down8
+ if_stat_level_equal USER, DEFENSE, 12, Score_Minus10
+ if_stat_level_equal USER, SP_DEFENSE, 12, Score_Minus8
end
AI_CBM_BulkUp: @ 81DA80E
- if_stat_level_equal USER, ATTACK, 12, Score_Down10
- if_stat_level_equal USER, DEFENSE, 12, Score_Down8
+ if_stat_level_equal USER, ATTACK, 12, Score_Minus10
+ if_stat_level_equal USER, DEFENSE, 12, Score_Minus8
end
AI_CBM_WaterSport: @ 81DA81F
- if_status3 USER, S_WATER_SPORT, Score_Down10
+ if_status3 USER, S_WATER_SPORT, Score_Minus10
end
AI_CBM_CalmMind: @ 81DA82A
- if_stat_level_equal USER, SP_ATTACK, 12, Score_Down10
- if_stat_level_equal USER, SP_DEFENSE, 12, Score_Down8
+ if_stat_level_equal USER, SP_ATTACK, 12, Score_Minus10
+ if_stat_level_equal USER, SP_DEFENSE, 12, Score_Minus8
end
AI_CBM_DragonDance: @ 81DA83B
- if_stat_level_equal USER, ATTACK, 12, Score_Down10
- if_stat_level_equal USER, SPEED, 12, Score_Down8
+ if_stat_level_equal USER, ATTACK, 12, Score_Minus10
+ if_stat_level_equal USER, SPEED, 12, Score_Minus8
end
-Score_Down1: @ 81DA84C
+Score_Minus1: @ 81DA84C
score -1
end
-Score_Down2: @ 81DA84F
+Score_Minus2: @ 81DA84F
score -2
end
-Score_Down3: @ 81DA852
+Score_Minus3: @ 81DA852
score -3
end
-Score_Down5: @ 81DA855
+Score_Minus5: @ 81DA855
score -5
end
-Score_Down8: @ 81DA858
+Score_Minus8: @ 81DA858
score -8
end
-Score_Down10: @ 81DA85B
+Score_Minus10: @ 81DA85B
score -10
end
-Score_Down12: @ 81DA85E
+Score_Minus12: @ 81DA85E
score -12
end
@@ -788,7 +788,7 @@ AI_CV_SelfKO_Encourage1: @ 81DAB94
if_hp_less_than USER, 80, AI_CV_SelfKO_Encourage2
if_would_go_first USER, AI_CV_SelfKO_Encourage2
if_random_less_than 50, AI_CV_SelfKO_End
- jump Score_Down3
+ jump Score_Minus3
AI_CV_SelfKO_Encourage2: @ 81DABAC
if_hp_more_than USER, 50, AI_CV_SelfKO_Encourage4
@@ -1354,7 +1354,7 @@ AI_CV_Conversion: @ 81DB17A
AI_CV_Conversion2: @ 81DB183
get_turn_count
if_equal 0, AI_CV_Conversion_End
- if_random_less_than 200, Score_Down2
+ if_random_less_than 200, Score_Minus2
AI_CV_Conversion_End: @ 81DB190
end
@@ -2695,7 +2695,7 @@ AI_CV_DragonDance_End: @ 81DBE96
AI_TryToFaint: @ 81DBE97
if_can_faint AI_TryToFaint_TryToEncourageQuickAttack
is_most_powerful_move
- if_equal 1, Score_Down1
+ if_equal 1, Score_Minus1
end
AI_TryToFaint_TryToEncourageQuickAttack: @ 81DBEA4
diff --git a/data/battle_anim_80CA710.s b/data/battle_anim_80CA710.s
index c7c83e7bd..e1a1511c0 100644
--- a/data/battle_anim_80CA710.s
+++ b/data/battle_anim_80CA710.s
@@ -20,11 +20,11 @@ gSpriteAnimTable_83D6220:: @ 83D6220
.4byte gSpriteAnim_83D61FC
.align 2
-gBattleAnimSpriteTemplate_83D6224:: @ 83D6224
+gSleepPowderParticleSpriteTemplate:: @ 83D6224
spr_template 10067, 10067, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, AnimMovePowderParticle
.align 2
-gBattleAnimSpriteTemplate_83D623C:: @ 83D623C
+gStunSporeParticleSpriteTemplate:: @ 83D623C
spr_template 10068, 10068, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, AnimMovePowderParticle
.align 2
@@ -243,7 +243,7 @@ gBattleAnimSpriteTemplate_83D649C:: @ 83D649C
.align 2
gBattleAnimSpriteTemplate_83D64B4:: @ 83D64B4
- spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CB144
+ spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, AnimMoveTwisterParticle
.align 2
gSpriteAnim_83D64CC:: @ 83D64CC
@@ -259,7 +259,7 @@ gSpriteAnimTable_83D64E0:: @ 83D64E0
.align 2
gBattleAnimSpriteTemplate_83D64E4:: @ 83D64E4
- spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, sub_80CAFD0
+ spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, AnimTranslateLinearSingleSineWave
.align 2
gSpriteAffineAnim_83D64FC:: @ 83D64FC
@@ -271,8 +271,8 @@ gSpriteAffineAnimTable_83D650C:: @ 83D650C
.4byte gSpriteAffineAnim_83D64FC
.align 2
-gBattleAnimSpriteTemplate_83D6510:: @ 83D6510
- spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, sub_80CAFD0
+gSwiftStarSpriteTemplate:: @ 83D6510
+ spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, AnimTranslateLinearSingleSineWave
.align 2
gSpriteAnim_83D6528:: @ 83D6528
@@ -1031,7 +1031,7 @@ gBattleAnimSpriteTemplate_83D6EF0:: @ 83D6EF0
.align 2
gBattleAnimSpriteTemplate_83D6F08:: @ 83D6F08
- spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
+ spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
.align 2
gSpriteAnim_83D6F20:: @ 83D6F20
@@ -1490,16 +1490,16 @@ gSpriteAffineAnimTable_83D7530:: @ 83D7530
.4byte gSpriteAffineAnim_83D74EC
.align 2
-gBattleAnimSpriteTemplate_83D7534:: @ 83D7534
- spr_template 10163, 10163, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C
+gSupersonicWaveSpriteTemplate:: @ 83D7534
+ spr_template 10163, 10163, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, TranslateAnimSpriteToTargetMonLocation
.align 2
-gBattleAnimSpriteTemplate_83D754C:: @ 83D754C
- spr_template 10164, 10164, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C
+gScreechWaveSpriteTemplate:: @ 83D754C
+ spr_template 10164, 10164, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, TranslateAnimSpriteToTargetMonLocation
.align 2
gBattleAnimSpriteTemplate_83D7564:: @ 83D7564
- spr_template 10260, 10260, gOamData_837E03C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C
+ spr_template 10260, 10260, gOamData_837E03C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, TranslateAnimSpriteToTargetMonLocation
.align 2
gBattleAnimSpriteTemplate_83D757C:: @ 83D757C
@@ -2449,7 +2449,7 @@ gSpriteAnimTable_83D95E0:: @ 83D95E0
.align 2
gBattleAnimSpriteTemplate_83D95E4:: @ 83D95E4
- spr_template 10029, 10029, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
+ spr_template 10029, 10029, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
.align 2
gBattleAnimSpriteTemplate_83D95FC:: @ 83D95FC
@@ -2631,7 +2631,7 @@ gBattleAnimSpriteTemplate_83D985C:: @ 83D985C
.align 2
gBattleAnimSpriteTemplate_83D9874:: @ 83D9874
- spr_template 10171, 10171, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
+ spr_template 10171, 10171, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
.align 2
gSpriteAffineAnim_83D988C:: @ 83D988C
@@ -3713,7 +3713,7 @@ gBattleAnimSpriteTemplate_83DA76C:: @ 83DA76C
.align 2
gBattleAnimSpriteTemplate_83DA784:: @ 83DA784
- spr_template 10163, 10163, gOamData_837DF74, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C
+ spr_template 10163, 10163, gOamData_837DF74, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
.align 2
gSpriteAnim_83DA79C:: @ 83DA79C
@@ -4151,7 +4151,7 @@ gBattleAnimSpriteTemplate_83DAE00:: @ 83DAE00
.align 2
gBattleAnimSpriteTemplate_83DAE18:: @ 83DAE18
- spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, sub_80CB144
+ spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, AnimMoveTwisterParticle
.align 2
gBattleAnimSpriteTemplate_83DAE30:: @ 83DAE30
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s
index ae28bc16a..48af05ca4 100644
--- a/data/battle_anim_scripts.s
+++ b/data/battle_anim_scripts.s
@@ -479,48 +479,48 @@ Move_POISON_POWDER: @ 81C7818
Move_STUN_SPORE: @ 81C7949
loadspritegfx 10068
loopsewithpan SE_W077, 63, 10, 6
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, -30, -22, 117, 80, 5, 1
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, 10, -22, 117, 80, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, -25, -22, 117, 112, 5, 3
+ 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 gBattleAnimSpriteTemplate_83D623C, 130, -5, -22, 117, 80, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, 5, -22, 117, 96, 5, 1
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, 0, -22, 117, 69, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, -15, -22, 117, 112, 5, 2
+ 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 gBattleAnimSpriteTemplate_83D623C, 130, -15, -22, 117, 112, 5, 2
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, 15, -22, 117, 80, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, -10, -22, 117, 96, 7, 2
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, -5, -22, 117, 90, -8, 0
+ 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 gBattleAnimSpriteTemplate_83D623C, 130, -10, -22, 117, 80, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, 0, -22, 117, 89, 5, 2
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, 20, -22, 117, 112, -8, 2
- createsprite gBattleAnimSpriteTemplate_83D623C, 130, 5, -22, 117, 80, 5, 1
+ createsprite gStunSporeParticleSpriteTemplate, 130, -10, -22, 117, 80, -5, 1
+ createsprite gStunSporeParticleSpriteTemplate, 130, 0, -22, 117, 89, 5, 2
+ createsprite gStunSporeParticleSpriteTemplate, 130, 20, -22, 117, 112, -8, 2
+ createsprite gStunSporeParticleSpriteTemplate, 130, 5, -22, 117, 80, 5, 1
waitforvisualfinish
end
Move_SLEEP_POWDER: @ 81C7A77
loadspritegfx 10067
loopsewithpan SE_W077, 63, 10, 6
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, -30, -22, 117, 80, 5, 1
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, 10, -22, 117, 80, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, -25, -22, 117, 112, 5, 3
+ 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 gBattleAnimSpriteTemplate_83D6224, 130, -5, -22, 117, 80, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, 5, -22, 117, 96, 5, 1
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, 0, -22, 117, 69, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, -15, -22, 117, 112, 5, 2
+ 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 gBattleAnimSpriteTemplate_83D6224, 130, -15, -22, 117, 112, 5, 2
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, 15, -22, 117, 80, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, -10, -22, 117, 96, 7, 2
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, -5, -22, 117, 90, -8, 0
+ 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 gBattleAnimSpriteTemplate_83D6224, 130, -10, -22, 117, 80, -5, 1
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, 0, -22, 117, 89, 5, 2
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, 20, -22, 117, 112, -8, 2
- createsprite gBattleAnimSpriteTemplate_83D6224, 130, 5, -22, 117, 80, 5, 1
+ 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
@@ -530,21 +530,21 @@ Move_SWIFT: @ 81C7BA5
monbg ANIM_BANK_DEF_PARTNER
setalpha 12, 8
playsewithpan SE_W129, 192
- createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 0, 22, 20, 1
+ createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 20, 1
delay 5
playsewithpan SE_W129, 192
- createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 5, 22, -18, 1
+ createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 5, 22, -18, 1
delay 5
playsewithpan SE_W129, 192
- createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, -10, 22, 15, 1
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 18, 1
- createvisualtask sub_80A7FA0, 2, 3, 2, 0, 18, 1
+ createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, -10, 22, 15, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 18, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 18, 1
delay 5
playsewithpan SE_W129, 192
- createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 0, 22, -20, 1
+ createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, -20, 1
delay 5
playsewithpan SE_W129, 192
- createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 0, 22, 12, 1
+ createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 12, 1
delay 5
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
@@ -556,11 +556,11 @@ Move_STRENGTH: @ 81C7C5E
monbg ANIM_BANK_DEF_PARTNER
setalpha 12, 8
playsewithpan SE_W036, 192
- createvisualtask sub_80A8314, 5, 0, 2, 0, 96, 30
+ createvisualtask AnimTask_ShakeAndSinkMon, 5, ANIM_BANK_ATTACKER, 2, 0, 96, 30
waitforvisualfinish
delay 10
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 4
- createvisualtask sub_80A8500, 2, 1, 18, 6, 2, 4
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 4
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_TARGET, 18, 6, 2, 4
delay 4
playsewithpan SE_W025B, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 16, 12, 1, 1
@@ -571,7 +571,7 @@ Move_STRENGTH: @ 81C7C5E
playsewithpan SE_W025B, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 3, 4, 1, 1
waitforvisualfinish
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -581,7 +581,7 @@ Move_TACKLE: @ 81C7CF2
loadspritegfx 10135
monbg ANIM_BANK_TARGET
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
delay 6
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1
@@ -596,22 +596,22 @@ Move_BODY_SLAM: @ 81C7D30
monbg ANIM_BANK_DEF_PARTNER
setalpha 12, 8
playsewithpan SE_W036, 192
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER
waitforvisualfinish
delay 11
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 26, 0, 0, 5
+ 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 gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -28, 0, 0, 3
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -28, 0, 0, 3
waitforvisualfinish
- createvisualtask sub_80A8154, 2, 1, 4, 0, 12, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 12, 1
waitforvisualfinish
delay 10
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6
delay 5
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -620,44 +620,44 @@ Move_BODY_SLAM: @ 81C7D30
Move_SUPERSONIC: @ 81C7DBD
loadspritegfx 10163
monbg ANIM_BANK_ATK_PARTNER
- monbgprio_2A 0
+ monbgprio_2A ANIM_BANK_ATTACKER
setalpha 12, 8
- createvisualtask sub_80A7FA0, 2, 0, 2, 0, 8, 1
- call _81C7DFB
- call _81C7DFB
- call _81C7DFB
- call _81C7DFB
- call _81C7DFB
- call _81C7DFB
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 2, 0, 8, 1
+ call Move_SUPERSONIC_CreateWaveSprite
+ call Move_SUPERSONIC_CreateWaveSprite
+ call Move_SUPERSONIC_CreateWaveSprite
+ call Move_SUPERSONIC_CreateWaveSprite
+ call Move_SUPERSONIC_CreateWaveSprite
+ call Move_SUPERSONIC_CreateWaveSprite
waitforvisualfinish
clearmonbg ANIM_BANK_ATK_PARTNER
blendoff
end
-_81C7DFB:
+Move_SUPERSONIC_CreateWaveSprite:
playsewithpan SE_W048, 192
- createsprite gBattleAnimSpriteTemplate_83D7534, 130, 16, 0, 0, 0, 30, 0
+ createsprite gSupersonicWaveSpriteTemplate, 130, 16, 0, 0, 0, 30, 0
delay 2
return
Move_SCREECH: @ 81C7E15
loadspritegfx 10164
- createvisualtask sub_80A7FA0, 2, 0, 3, 0, 2, 1
- call _81C7E48
- call _81C7E48
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 3, 0, 2, 1
+ call Move_SCREECH_CreateWaveSprite
+ call Move_SCREECH_CreateWaveSprite
delay 16
- createvisualtask sub_80A8B88, 5, 0, 6, 2048, 2, 1
+ createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 2, 1
waitforvisualfinish
end
-_81C7E48:
+Move_SCREECH_CreateWaveSprite:
playsewithpan SE_W103, 192
- createsprite gBattleAnimSpriteTemplate_83D754C, 130, 16, 0, 0, 0, 30, 0
+ createsprite gScreechWaveSpriteTemplate, 130, 16, 0, 0, 0, 30, 0
delay 2
return
Move_FLAME_WHEEL: @ 81C7E62
loadspritegfx 10029
monbg ANIM_BANK_DEF_PARTNER
- monbgprio_2A 1
+ monbgprio_2A ANIM_BANK_TARGET
createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 0
playsewithpan SE_W172, 192
delay 2
@@ -679,14 +679,14 @@ Move_FLAME_WHEEL: @ 81C7E62
createsprite gBattleAnimSpriteTemplate_83D9694, 3, 0, 0, 56, 24
playsewithpan SE_W172, 192
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 6
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 6
delay 4
createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 8, 1
createvisualtask sub_8079790, 3, 1, 31, 12, 1, 1
playsewithpan SE_W172B, 63
call _81D11A2
delay 7
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 9
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 9
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
end
@@ -709,17 +709,17 @@ Move_PIN_MISSILE: @ 81C7F5C
delay 4
playsewithpan SE_W030, 63
createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1
delay 9
createsprite gBattleAnimSpriteTemplate_83DABA4, 2, 20, -8, 0, 0, 20, -32
delay 4
playsewithpan SE_W030, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1
delay 14
playsewithpan SE_W030, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1
waitforvisualfinish
clearmonbg ANIM_BANK_TARGET
blendoff
@@ -738,17 +738,17 @@ Move_ICICLE_SPEAR: @ 81C8021
delay 4
playsewithpan SE_W030, 63
createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1
delay 9
createsprite gBattleAnimSpriteTemplate_83DABBC, 2, 20, -8, 0, 0, 20, -32
delay 4
playsewithpan SE_W030, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1
delay 14
playsewithpan SE_W030, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1
waitforvisualfinish
clearmonbg ANIM_BANK_TARGET
blendoff
@@ -765,14 +765,14 @@ Move_TAKE_DOWN: @ 81C80E6
createsprite gBasicHitSplatSpriteTemplate, 4, -10, 0, 1, 0
playsewithpan SE_W025B, 63
delay 1
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -16, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -16, 0, 0, 4
waitforvisualfinish
- createvisualtask sub_80A8154, 2, 1, 4, 0, 12, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 12, 1
waitforvisualfinish
delay 2
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
delay 3
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -786,28 +786,28 @@ Move_DOUBLE_EDGE: @ 81C817A
delay 10
playsewithpan SE_W207, 192
waitplaysewithpan SE_W207, 192, 8
- createvisualtask sub_80A8500, 2, 0, 18, 6, 2, 4
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 18, 6, 2, 4
waitforvisualfinish
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 16, 16, 32767
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
delay 3
waitforvisualfinish
playsewithpan SE_W025B, 63
createsprite gBasicHitSplatSpriteTemplate, 132, -10, 0, 1, 0
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -32, 0, 0, 3
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -32, 0, 0, 3
waitforvisualfinish
createvisualtask sub_80A8E04, 2, 8, -256, 0, 0
createvisualtask sub_80A8E04, 2, 8, -256, 1, 0
- createvisualtask sub_80A8154, 2, 0, 4, 0, 12, 1
- createvisualtask sub_80A8154, 2, 1, 4, 0, 12, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 4, 0, 12, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 12, 1
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 2, 16, 0, 32767
waitforvisualfinish
createvisualtask sub_80A8E04, 2, 8, -256, 0, 1
createvisualtask sub_80A8E04, 2, 8, -256, 1, 1
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
delay 3
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7
waitforvisualfinish
end
@@ -822,7 +822,7 @@ Move_POISON_STING: @ 81C828D
createsprite gBattleAnimSpriteTemplate_83DAB8C, 130, 20, 0, -8, 0, 20
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 5, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 5, 1
playsewithpan SE_W030, 63
waitforvisualfinish
call Unknown_81D5F87
@@ -841,7 +841,7 @@ Move_TWINEEDLE: @ 81C82E2
createsprite gBattleAnimSpriteTemplate_83DAB8C, 130, 10, -4, 0, -4, 20
createsprite gBattleAnimSpriteTemplate_83DAB8C, 130, 20, 12, 10, 12, 20
delay 20
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 5, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 5, 1
createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 0, -4, 1, 3
loopsewithpan SE_W030, 63, 5, 2
delay 1
@@ -946,7 +946,7 @@ Move_MEGA_PUNCH: @ 81C854D
delay 50
call _81C85E9
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 22, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 22, 1
createvisualtask sub_80E2A38, 10, 4, 2, 0, 0, 32767
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0
playsewithpan SE_W233B, 63
@@ -990,7 +990,7 @@ Move_MEGA_KICK: @ 81C8627
playsewithpan SE_W025B, 63
call _81C85E9
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 22, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 22, 1
createvisualtask sub_80E2A38, 10, 4, 2, 0, 0, 32767
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0
waitforvisualfinish
@@ -1191,7 +1191,7 @@ Move_STOMP: @ 81C8B2A
Move_TAIL_WHIP: @ 81C8B71
loopsewithpan SE_W039, 192, 24, 3
- createvisualtask sub_80A8500, 2, 0, 12, 4, 2, 3
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 12, 4, 2, 3
waitforvisualfinish
end
@@ -1258,7 +1258,7 @@ Move_REVERSAL: @ 81C8CA5
createsprite gBattleAnimSpriteTemplate_8402738, 2, 26, 210
waitforvisualfinish
delay 20
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
delay 8
playsewithpan SE_W233B, 63
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 32767, 8, 0, 0
@@ -1303,7 +1303,7 @@ Move_SPIKE_CANNON: @ 81C8DF1
createvisualtask sub_80A8920, 5, 0, -4, 0, 4, 6, 8, 4
waitforvisualfinish
loopsewithpan SE_W013B, 192, 5, 3
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
createsprite gBattleAnimSpriteTemplate_83DAB8C, 2, 10, -8, -8, -8, 20
createsprite gBattleAnimSpriteTemplate_83DAB8C, 2, 18, 0, 0, 0, 20
createsprite gBattleAnimSpriteTemplate_83DAB8C, 2, 26, 8, 8, 8, 20
@@ -1311,7 +1311,7 @@ Move_SPIKE_CANNON: @ 81C8DF1
createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, -8, -8, 1, 2
createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 0, 0, 1, 2
createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 8, 8, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 7, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 7, 1
loopsewithpan SE_W030, 63, 5, 3
waitforvisualfinish
clearmonbg ANIM_BANK_TARGET
@@ -1323,7 +1323,7 @@ Move_SWORDS_DANCE: @ 81C8EA4
monbg ANIM_BANK_ATTACKER
setalpha 12, 8
playsewithpan SE_W014, 192
- createvisualtask sub_80A8500, 2, 0, 16, 6, 1, 4
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 16, 6, 1, 4
createsprite gBattleAnimSpriteTemplate_83D748C, 2, 0, 0
delay 22
createvisualtask sub_80E21A8, 2, 10005, 2, 2, 32754, 16, 0, 0
@@ -1340,7 +1340,7 @@ Move_PSYCH_UP: @ 81C8EEA
setalpha 12, 8
loopsewithpan SE_W060B, 192, 5, 10
createsprite gBattleAnimSpriteTemplate_83DA690, 2, 0, 0, 0, 0
- createvisualtask sub_80A8B88, 5, 0, 5, 2560, 8, 0
+ createvisualtask AnimTask_SwayMon, 5, 0, 5, 2560, 8, 0
delay 127
delay 4
playsewithpan SE_W060, 192
@@ -1384,9 +1384,9 @@ Move_DIZZY_PUNCH: @ 81C8F5C
blendoff
end
_81C9077:
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
delay 6
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 7, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 7, 1
return
Move_FIRE_SPIN: @ 81C9096
@@ -1454,11 +1454,11 @@ _81C91FF:
Move_SELF_DESTRUCT: @ 81C9219
loadspritegfx 10198
createvisualtask sub_80E2A38, 10, 2, 1, 0, 9, 31
- createvisualtask sub_80A7FA0, 5, 4, 6, 0, 38, 1
- createvisualtask sub_80A7FA0, 5, 5, 6, 0, 38, 1
- createvisualtask sub_80A7FA0, 5, 6, 6, 0, 38, 1
- createvisualtask sub_80A7FA0, 5, 7, 6, 0, 38, 1
- createvisualtask sub_80A7FA0, 5, 8, 6, 0, 38, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 4, 6, 0, 38, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 5, 6, 0, 38, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 6, 6, 0, 38, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 7, 6, 0, 38, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 8, 6, 0, 38, 1
call _81C929F
call _81C929F
waitforvisualfinish
@@ -1488,19 +1488,19 @@ Move_SLAM: @ 81C9309
monbg ANIM_BANK_TARGET
setalpha 12, 8
playsewithpan SE_W004, 192
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 3, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 3, 0, 4
delay 1
createsprite gBattleAnimSpriteTemplate_83D69DC, 2, 0, 0
delay 3
playsewithpan SE_W025B, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -12, 10, 0, 3
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -12, 10, 0, 3
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
delay 3
- createvisualtask sub_80A8154, 2, 1, 0, 3, 6, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 0, 3, 6, 1
waitforvisualfinish
delay 5
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
waitforvisualfinish
clearmonbg ANIM_BANK_TARGET
blendoff
@@ -1509,12 +1509,12 @@ Move_SLAM: @ 81C9309
Move_VINE_WHIP: @ 81C9391
loadspritegfx 10287
playsewithpan SE_W026, 192
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
delay 6
playsewithpan SE_W010, 63
createsprite gBattleAnimSpriteTemplate_83D69F4, 130, 0, 0
delay 6
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 6, 1
end
Move_DRILL_PECK: @ 81C93C8
@@ -1528,11 +1528,11 @@ Move_DRILL_PECK: @ 81C93C8
delay 2
loopsewithpan SE_W030, 63, 4, 8
createvisualtask sub_80DB0E8, 5
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 18, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 18, 1
waitforvisualfinish
createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6
waitforvisualfinish
end
@@ -1569,7 +1569,7 @@ Move_WATERFALL: @ 81C9421
createsprite gBattleAnimSpriteTemplate_83D9348, 2, 12, 0, 25, 0
waitforvisualfinish
delay 10
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 5
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 5
delay 6
call _81C9502
waitforvisualfinish
@@ -1578,7 +1578,7 @@ Move_WATERFALL: @ 81C9421
end
_81C9502:
playsewithpan SE_W127, 63
- createvisualtask sub_80A7FA0, 5, 1, 4, 0, 17, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 17, 1
createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 20, 1, 1
createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 20
createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 20
@@ -1619,11 +1619,11 @@ _81C9502:
Move_EXPLOSION: @ 81C9675
loadspritegfx 10198
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 8, 9, 8474, 8, 0, 8
- createvisualtask sub_80A7FA0, 5, 4, 8, 0, 40, 1
- createvisualtask sub_80A7FA0, 5, 5, 8, 0, 40, 1
- createvisualtask sub_80A7FA0, 5, 6, 8, 0, 40, 1
- createvisualtask sub_80A7FA0, 5, 7, 8, 0, 40, 1
- createvisualtask sub_80A7FA0, 5, 8, 8, 0, 40, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 4, 8, 0, 40, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 5, 8, 0, 40, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 6, 8, 0, 40, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 7, 8, 0, 40, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 8, 8, 0, 40, 1
call _81C9712
call _81C9712
waitforvisualfinish
@@ -1703,7 +1703,7 @@ _81C985F:
end
_81C9864:
playsewithpan SE_W082, 192
- createvisualtask sub_80A7FA0, 5, 0, 1, 0, 15, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 0, 1, 0, 15, 1
createvisualtask sub_80E2A38, 10, 2, 3, 0, 9, 31
waitforvisualfinish
delay 20
@@ -1714,9 +1714,9 @@ _81C9864:
createsprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28
waitforvisualfinish
delay 10
- createvisualtask sub_80A8B88, 5, 0, 16, 6144, 8, 0
+ createvisualtask AnimTask_SwayMon, 5, 0, 16, 6144, 8, 0
delay 5
- createvisualtask sub_80A7FA0, 5, 1, 4, 0, 30, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 30, 1
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0
playsewithpan SE_W004, 63
delay 5
@@ -1739,7 +1739,7 @@ _81C9864:
goto _81C985F
_81C996A:
playsewithpan SE_W082, 192
- createvisualtask sub_80A7FA0, 5, 0, 1, 0, 15, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 0, 1, 0, 15, 1
createvisualtask sub_80E2A38, 10, 2, 3, 0, 9, 31
waitforvisualfinish
delay 20
@@ -1751,15 +1751,15 @@ _81C996A:
delay 7
playsewithpan SE_W004, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 8, 1, 1
- createvisualtask sub_80A7FA0, 5, 1, 4, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 6, 1
delay 14
playsewithpan SE_W004, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 12, -6, 1, 1
- createvisualtask sub_80A7FA0, 5, 1, 4, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 6, 1
delay 14
playsewithpan SE_W004, 63
createsprite gBasicHitSplatSpriteTemplate, 3, -12, -6, 1, 1
- createvisualtask sub_80A7FA0, 5, 1, 4, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 6, 1
waitforvisualfinish
createvisualtask sub_80E2A38, 10, 2, 3, 9, 0, 31
goto _81C985F
@@ -1768,27 +1768,27 @@ _81C9A37:
createsprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28
waitforvisualfinish
delay 5
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
delay 6
playsewithpan SE_W004, 63
createsprite gBasicHitSplatSpriteTemplate, 2, 10, 4, 1, 1
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
delay 6
playsewithpan SE_W004, 63
createsprite gBasicHitSplatSpriteTemplate, 2, -10, -4, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1
goto _81C985F
_81C9AB3:
createsprite gBattleAnimSpriteTemplate_8402630, 2, 20, -28
waitforvisualfinish
delay 10
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 10, 2
+ createsprite gHorizontalLungeSpriteTemplate, 2, 10, 2
delay 12
playsewithpan SE_W004, 63
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 1, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 6, 1
goto _81C985F
Move_SAFEGUARD: @ 81C9AF7
@@ -1843,7 +1843,7 @@ Move_VICE_GRIP: @ 81C9BE1
createsprite gBattleAnimSpriteTemplate_83D769C, 2, 1
delay 9
createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2
- createvisualtask sub_80A7FA0, 5, 1, 2, 0, 5, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 5, 1
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -1861,9 +1861,9 @@ Move_GUILLOTINE: @ 81C9C29
createsprite gBattleAnimSpriteTemplate_83D76DC, 2, 1
createvisualtask sub_80E2A38, 10, 4, 2, 0, 16, 0
delay 9
- createvisualtask sub_80A7FA0, 5, 1, 2, 0, 23, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 23, 1
delay 46
- createvisualtask sub_80A7FA0, 5, 1, 4, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 8, 1
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0
playsewithpan SE_W013, 63
@@ -1886,7 +1886,7 @@ Move_PAY_DAY: @ 81C9CB5
playsewithpan SE_W006, 63
createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2
createsprite gBattleAnimSpriteTemplate_83D75FC, 2
- createvisualtask sub_80A7FA0, 2, 1, 1, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_BANK_TARGET
blendoff
@@ -1896,7 +1896,7 @@ Move_OUTRAGE: @ 81C9D08
loadspritegfx 10029
loopsewithpan SE_W082, 192, 8, 3
createvisualtask sub_80E1F8C, 2, 7, 2, 5, 3, 8, 430
- createvisualtask sub_80A8500, 2, 0, 12, 6, 5, 4
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 12, 6, 5, 4
delay 0
createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 0, 3
delay 0
@@ -1906,7 +1906,7 @@ Move_OUTRAGE: @ 81C9D08
delay 0
createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, -1280, 3
delay 0
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 40, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 40, 1
createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 768, 3
delay 0
createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 768, 3
@@ -1972,7 +1972,7 @@ Move_SPARK: @ 81C9EA3
delay 4
waitforvisualfinish
createvisualtask sub_80E1F8C, 2, 3, -31, 1, 0, 0, 23551
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
delay 4
playsewithpan SE_W063, 63
createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2
@@ -1986,7 +1986,7 @@ Move_SPARK: @ 81C9EA3
Move_ATTRACT: @ 81CA0BA
loadspritegfx 10216
loopsewithpan SE_W204, 192, 12, 3
- createvisualtask sub_80A8B88, 5, 0, 12, 4096, 4, 0
+ createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, 0
delay 15
createsprite gBattleAnimSpriteTemplate_83D7AB0, 131, 20, -8
waitforvisualfinish
@@ -2034,9 +2034,9 @@ Move_WHIRLWIND: @ 81CA1E9
createsprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 32, 1, 60, 0
delay 5
loopsewithpan SE_W104, 63, 10, 4
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 15, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 15, 1
delay 29
- createvisualtask sub_80A8500, 2, 1, 12, 6, 1, 5
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_TARGET, 12, 6, 1, 5
delay 7
playsewithpan SE_W081, 63
createvisualtask sub_80A8A80, 5, 1, 8
@@ -2168,11 +2168,11 @@ Move_THIEF: @ 81CA52C
fadetobg 1
waitbgfadein
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
delay 6
playsewithpan SE_W233, 63
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 1, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 8, 1
waitforvisualfinish
delay 20
clearmonbg ANIM_BANK_TARGET
@@ -2189,7 +2189,7 @@ Move_BUBBLE_BEAM: @ 81CA573
setalpha 12, 8
delay 1
call _81CA5AD
- createvisualtask sub_80A8B88, 5, 0, 3, 3072, 8, 1
+ createvisualtask AnimTask_SwayMon, 5, 0, 3, 3072, 8, 1
call _81CA5AD
call _81CA5AD
waitforvisualfinish
@@ -2334,7 +2334,7 @@ Move_CONVERSION: @ 81CA809
Move_CONVERSION_2: @ 81CA91E
loadspritegfx 10018
monbg ANIM_BANK_DEF_PARTNER
- monbgprio_2A 1
+ monbgprio_2A ANIM_BANK_TARGET
setalpha 0, 16
delay 0
playsewithpan SE_W112, 63
@@ -2381,19 +2381,19 @@ Move_ROLLING_KICK: @ 81CAA3A
loadspritegfx 10135
monbg ANIM_BANK_TARGET
setalpha 12, 8
- createvisualtask sub_80A8500, 2, 0, 18, 6, 1, 4
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 18, 6, 1, 4
playsewithpan SE_W104, 192
delay 6
playsewithpan SE_W104, 192
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
createsprite gBattleAnimSpriteTemplate_83D9FF0, 2, -24, 0, 48, 10, 160, 0
delay 5
playsewithpan SE_W233B, 63
createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 1, 8
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 1, 8
clearmonbg ANIM_BANK_TARGET
blendoff
end
@@ -2406,7 +2406,7 @@ Move_HEADBUTT: @ 81CAABD
delay 2
createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1
waitforvisualfinish
- createvisualtask sub_80A8154, 2, 0, 2, 0, 4, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 4, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1
createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2
createsprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1
@@ -2424,7 +2424,7 @@ Move_HORN_ATTACK: @ 81CAB1A
createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 1
createsprite gBattleAnimSpriteTemplate_83D7050, 132, 0, 0, 10
waitforvisualfinish
- createvisualtask sub_80A8154, 2, 0, 2, 0, 4, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 4, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 5, 0, 6, 1
createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2
createsprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 1
@@ -2472,8 +2472,8 @@ _81CAC21:
createsprite gBattleAnimSpriteTemplate_83D7050, 132, 0, 0, 12
waitforvisualfinish
playse SE_BAN
- createvisualtask sub_80A8154, 2, 0, 2, 0, 40, 1
- createvisualtask sub_80A8154, 2, 1, 10, 0, 40, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 40, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 10, 0, 40, 1
createsprite gBattleAnimSpriteTemplate_83DB538, 131, 0, 0, 1, 3
playsewithpan SE_W030, 63
delay 4
@@ -2526,15 +2526,15 @@ Move_THRASH: @ 81CAD81
createvisualtask sub_80D0A4C, 2
createvisualtask sub_80D0AB8, 2
createsprite gBattleAnimSpriteTemplate_83D9FC0, 131, 1, 10, 0
- createvisualtask sub_80A8154, 2, 1, 4, 0, 7, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 7, 1
playsewithpan SE_W004, 63
delay 28
createsprite gBattleAnimSpriteTemplate_83D9FC0, 131, 1, 10, 1
- createvisualtask sub_80A8154, 2, 1, 4, 0, 7, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 4, 0, 7, 1
playsewithpan SE_W233B, 63
delay 28
createsprite gBattleAnimSpriteTemplate_83D9FC0, 131, 1, 10, 3
- createvisualtask sub_80A8154, 2, 1, 8, 0, 16, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 8, 0, 16, 1
playsewithpan SE_W025B, 63
end
@@ -2577,14 +2577,14 @@ Move_SING: @ 81CAE00
Move_LOW_KICK: @ 81CAED4
loadspritegfx 10143
loadspritegfx 10135
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
createsprite gBattleAnimSpriteTemplate_83D9FF0, 130, -24, 28, 40, 8, 160, 0
delay 4
createsprite gBasicHitSplatSpriteTemplate, 130, -8, 8, 1, 2
createvisualtask sub_80A8E04, 2, 6, 384, 1, 2
playsewithpan SE_W233B, 63
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 1, 4
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 1, 4
end
Move_EARTHQUAKE: @ 81CAF31
@@ -2699,7 +2699,7 @@ Move_MEDITATE: @ 81CB1BD
Move_AGILITY: @ 81CB1DA
monbg ANIM_BANK_ATK_PARTNER
setalpha 12, 8
- createvisualtask sub_80A8500, 2, 0, 24, 6, 4, 4
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 24, 6, 4, 4
createvisualtask sub_80E2DD8, 2, 0, 4, 7, 10
playsewithpan SE_W104, 192
delay 12
@@ -2721,7 +2721,7 @@ Move_QUICK_ATTACK: @ 81CB224
loadspritegfx 10135
monbg ANIM_BANK_ATK_PARTNER
setalpha 12, 8
- createvisualtask sub_80A8500, 2, 0, 24, 6, 1, 5
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 24, 6, 1, 5
createvisualtask sub_80E2DD8, 2, 0, 4, 7, 3
playsewithpan SE_W026, 192
delay 4
@@ -2746,7 +2746,7 @@ Move_RAGE: @ 81CB27C
createsprite gBattleAnimSpriteTemplate_83D7798, 2, 0, 20, -28
playsewithpan SE_W207B, 192
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
delay 4
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
createvisualtask sub_80A9058, 2, 1, 1, 10, 1, 0
@@ -2836,8 +2836,8 @@ _81CB3E6:
waitforvisualfinish
playse SE_BAN
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 3, 1, 0, 14, 32767, 14
- createvisualtask sub_80A8154, 2, 0, 2, 0, 40, 1
- createvisualtask sub_80A8154, 2, 1, 10, 0, 40, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 40, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 10, 0, 40, 1
createsprite gBattleAnimSpriteTemplate_83DB538, 132, 0, 0, 1, 0
loopsewithpan SE_W025B, 63, 8, 3
waitforvisualfinish
@@ -2959,7 +2959,7 @@ _81CB68E:
createvisualtask sub_812B340, 5, 238, -64
createsprite gBattleAnimSpriteTemplate_83DA65C, 130
delay 14
- createvisualtask sub_80A7FA0, 2, 1, 10, 0, 18, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 10, 0, 18, 1
createvisualtask sub_812B30C, 5, 141, 63
delay 20
createvisualtask sub_80DFD24, 5, 1
@@ -3002,14 +3002,14 @@ Move_SHARPEN: @ 81CB74E
Move_SUPER_FANG: @ 81CB75A
loadspritegfx 10192
- createvisualtask sub_80A8154, 2, 0, 1, 0, 20, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 1, 0, 20, 1
playsewithpan SE_W082, 192
waitforvisualfinish
- createvisualtask sub_80A8154, 2, 0, 3, 0, 48, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 3, 0, 48, 1
createvisualtask sub_8079790, 2, 0, 1247, 12, 4, 1
waitforvisualfinish
delay 20
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
delay 4
createsprite gBattleAnimSpriteTemplate_83D7080, 130
playsewithpan SE_W044, 63
@@ -3026,7 +3026,7 @@ Move_SLASH: @ 81CB7DB
playsewithpan SE_W013, 63
delay 4
createsprite gBattleAnimSpriteTemplate_83D6E38, 130, 1, 8, 0
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 18, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 18, 1
playsewithpan SE_W013, 63
waitforvisualfinish
end
@@ -3036,13 +3036,13 @@ Move_STRUGGLE: @ 81CB815
loadspritegfx 10215
monbg ANIM_BANK_TARGET
setalpha 12, 8
- createvisualtask sub_80A8154, 2, 0, 3, 0, 12, 4
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 3, 0, 12, 4
createsprite gBattleAnimSpriteTemplate_83D7C90, 2, 0, 0, 2
createsprite gBattleAnimSpriteTemplate_83D7C90, 2, 0, 1, 2
loopsewithpan SE_W029, 192, 12, 4
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
- createvisualtask sub_80A8154, 2, 1, 3, 0, 6, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 3, 0, 6, 1
playsewithpan SE_W025B, 63
waitforvisualfinish
clearmonbg ANIM_BANK_TARGET
@@ -3170,7 +3170,7 @@ Move_DESTINY_BOND: @ 81CBA2C
createvisualtask sub_80DE918, 5, 0, 48
playsewithpan SE_W109, 192
delay 48
- createvisualtask sub_80A8154, 2, 0, 2, 0, 24, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 24, 1
createvisualtask sub_80E2A7C, 2, 6, 1, 0, 12, 30653
delay 24
createvisualtask sub_80E2A7C, 2, 6, 1, 12, 0, 30653
@@ -3188,7 +3188,7 @@ Move_ENDURE: @ 81CBA87
call EndureFlamesAnim
delay 8
createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1
call EndureFlamesAnim
delay 8
call EndureFlamesAnim
@@ -3534,7 +3534,7 @@ Move_SMELLING_SALT: @ 81CC156
loopsewithpan SE_W003, 63, 12, 2
waitforvisualfinish
delay 4
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 6, 2
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 6, 2
createsprite gBattleAnimSpriteTemplate_84029F4, 130, 1, 8, 3
loopsewithpan SE_W207B, 63, 16, 3
end
@@ -3611,13 +3611,13 @@ Move_HELPING_HAND: @ 81CC2BF
createsprite gBattleAnimSpriteTemplate_8402A0C, 40, 1
delay 19
playsewithpan SE_W227, 0
- createvisualtask sub_80A7FA0, 2, 2, 2, 0, 5, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATK_PARTNER, 2, 0, 5, 1
delay 14
playsewithpan SE_W227, 0
- createvisualtask sub_80A7FA0, 2, 2, 2, 0, 5, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATK_PARTNER, 2, 0, 5, 1
delay 20
playsewithpan SE_W227, 0
- createvisualtask sub_80A7FA0, 2, 2, 3, 0, 10, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATK_PARTNER, 3, 0, 10, 1
createvisualtask sub_8079790, 2, 2, 1023, 12, 1, 1
end
@@ -3664,7 +3664,7 @@ Move_SUPERPOWER: @ 81CC3A3
createsprite gBattleAnimSpriteTemplate_83DA12C, 131, 0
playsewithpan SE_W207, 192
delay 16
- createvisualtask sub_80A7FA0, 2, 1, 8, 0, 16, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 8, 0, 16, 1
playsewithpan SE_W025B, 63
waitforvisualfinish
clearmonbg ANIM_BANK_ATK_PARTNER
@@ -3697,14 +3697,14 @@ Move_BRICK_BREAK: @ 81CC492
_81CC4A7:
monbg ANIM_BANK_TARGET
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 8
+ createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8
delay 4
delay 1
createsprite gBasicHitSplatSpriteTemplate, 3, -18, -18, 1, 1
createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, -18, -18, 10, 1, 0
playsewithpan SE_W233, 63
delay 20
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 8
+ createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8
delay 5
createsprite gBasicHitSplatSpriteTemplate, 3, 18, 18, 1, 1
createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, 18, 18, 10, 1, 0
@@ -3724,7 +3724,7 @@ _81CC4A7:
_81CC576:
monbg ANIM_BANK_TARGET
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 8
+ createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8
delay 4
createsprite gBattleAnimSpriteTemplate_83DA0A0, 3, 1, 0, 0, 90, 10
delay 1
@@ -3732,7 +3732,7 @@ _81CC576:
createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, -18, -18, 10, 1, 0
playsewithpan SE_W233, 63
delay 20
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 8
+ createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8
delay 5
createsprite gBasicHitSplatSpriteTemplate, 3, 18, 18, 1, 1
createsprite gBattleAnimSpriteTemplate_83D9FA8, 2, 18, 18, 10, 1, 0
@@ -4076,7 +4076,7 @@ Move_NEEDLE_ARM: @ 81CCD73
delay 2
createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 16, 16, 16
waitforvisualfinish
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 18, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 18, 1
createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1
createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0
playsewithpan SE_W233B, 63
@@ -4105,9 +4105,9 @@ Move_CRUSH_CLAW: @ 81CCF3B
loadspritegfx 10208
monbg ANIM_BANK_TARGET
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
delay 4
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 18, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 18, 1
createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, -10, 0
createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, 10, 0
playsewithpan SE_W013, 63
@@ -4196,8 +4196,8 @@ Move_AIR_CUTTER: @ 81CD19D
playsewithpan SE_W015, 63
createsprite gBattleAnimSpriteTemplate_83D6B40, 2, 40, -32, 0, 2
delay 5
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
- createvisualtask sub_80A7FA0, 2, 3, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 8, 1
waitforvisualfinish
blendoff
clearmonbg ANIM_BANK_DEF_PARTNER
@@ -4208,10 +4208,10 @@ Move_ODOR_SLEUTH: @ 81CD1FF
monbg ANIM_BANK_TARGET
createvisualtask sub_81316F8, 5
delay 24
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 3, 4
playsewithpan SE_W207, 192
delay 6
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 3, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 3, 4
playsewithpan SE_W207, 192
waitforvisualfinish
clearmonbg ANIM_BANK_TARGET
@@ -4268,7 +4268,7 @@ Move_TICKLE: @ 81CD33C
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 2, 0, 16, 0, 0
waitforvisualfinish
delay 20
- createvisualtask sub_80A8B88, 3, 0, 6, 1280, 3, 0
+ createvisualtask AnimTask_SwayMon, 3, 0, 6, 1280, 3, 0
delay 12
createvisualtask sub_812E568, 3, 1, 6, 2
loopsewithpan SE_W039, 63, 8, 8
@@ -4338,7 +4338,7 @@ Move_AERIAL_ACE: @ 81CD499
loadspritegfx 10138
monbg ANIM_BANK_TARGET
setalpha 12, 8
- createvisualtask sub_80A8500, 2, 0, 24, 6, 1, 5
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 24, 6, 1, 5
createvisualtask sub_80E2DD8, 2, 0, 4, 7, 3
createsprite gBattleAnimSpriteTemplate_83D6B28, 2, 40, -32, 0
playsewithpan SE_W013B, 192
@@ -4397,7 +4397,7 @@ Move_COVET: @ 81CD57C
createsprite gBattleAnimSpriteTemplate_83D7A80, 3, 20, 20
playsewithpan SE_W204, 192
waitforvisualfinish
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
loopsewithpan SE_W146, 63, 4, 3
end
@@ -4430,7 +4430,7 @@ Move_VOLT_TACKLE: @ 81CD5D9
createvisualtask sub_80D700C, 5, 4
playsewithpan SE_W085, 192
delay 8
- createvisualtask sub_80A7FA0, 2, 1, 10, 0, 18, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 10, 0, 18, 1
playsewithpan SE_W120, 63
createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 1, 16, 16
delay 2
@@ -4438,7 +4438,7 @@ Move_VOLT_TACKLE: @ 81CD5D9
delay 8
createvisualtask sub_80D6E9C, 5
waitforvisualfinish
- createvisualtask sub_80A7FA0, 2, 0, 3, 0, 9, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 3, 0, 9, 1
playsewithpan SE_W085B, 192
createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, 16, 16
delay 2
@@ -4489,19 +4489,19 @@ Move_LEAF_BLADE: @ 81CD775
loadspritegfx 10285
createvisualtask sub_80CBDF4, 5
delay 2
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
playsewithpan SE_W015, 63
delay 50
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
playsewithpan SE_W015, 63
delay 50
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
playsewithpan SE_W015, 63
waitforvisualfinish
monbg ANIM_BANK_TARGET
setalpha 12, 8
delay 12
- createvisualtask sub_80A7FA0, 2, 1, 8, 0, 18, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 8, 0, 18, 1
createsprite gBattleAnimSpriteTemplate_83DB520, 130, 0, 0, 1, 36
playsewithpan SE_W043, 63
waitforvisualfinish
@@ -4701,7 +4701,7 @@ Move_CONFUSION: @ 81CDC69
monbg ANIM_BANK_DEF_PARTNER
call Unknown_81D61E7
setalpha 8, 8
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 10, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 10, 1
createvisualtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 32767
waitforvisualfinish
playsewithpan SE_W048, 63
@@ -4718,7 +4718,7 @@ Move_PSYCHIC: @ 81CDCCA
monbg ANIM_BANK_DEF_PARTNER
call Unknown_81D61E7
setalpha 8, 8
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 10, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 10, 1
createvisualtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 767
waitforvisualfinish
loopsewithpan SE_W048, 63, 10, 3
@@ -4940,7 +4940,7 @@ Move_DRAGON_BREATH: @ 81CE20A
createvisualtask sub_80E2A38, 10, 4, 1, 0, 9, 31
createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20
delay 2
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 21, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 21, 1
createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20
delay 2
createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20
@@ -4993,8 +4993,8 @@ Move_GROWL: @ 81CE3AF
createvisualtask sub_812B18C, 2, 0, 255
call _81CE35E
delay 10
- createvisualtask sub_80A7FA0, 2, 1, 1, 0, 9, 1
- createvisualtask sub_80A7FA0, 2, 3, 1, 0, 9, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 9, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 1, 0, 9, 1
waitforvisualfinish
delay 20
end
@@ -5013,7 +5013,7 @@ Move_SNORE: @ 81CE3EA
_81CE403:
playsewithpan SE_W173, 192
createvisualtask sub_80A8D34, 5, -7, -7, 7, 0, 1
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 7, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 7, 1
createsprite gBattleAnimSpriteTemplate_83DB428, 2, 6, 1, 14, 0, 0
createsprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, -42, -38, 24, 0, 0
createsprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, 0, -42, 24, 0, 0
@@ -5139,7 +5139,7 @@ Move_SMOG: @ 81CE672
loopsewithpan SE_W092, 63, 18, 2
createvisualtask sub_80E1F8C, 2, 4, 2, 2, 0, 12, 26650
delay 10
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 15, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 15, 1
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -5156,7 +5156,7 @@ Move_FAINT_ATTACK: @ 81CE6ED
waitbgfadein
delay 0
playsewithpan SE_W185, 192
- createvisualtask sub_80A8500, 2, 0, 18, 6, 1, 3
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 18, 6, 1, 3
createvisualtask sub_80DFC24, 2, 1
waitforvisualfinish
clearmonbg ANIM_BANK_ATTACKER
@@ -5168,7 +5168,7 @@ Move_FAINT_ATTACK: @ 81CE6ED
delay 1
playsewithpan SE_W233B, 63
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 9, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 9, 1
waitforvisualfinish
clearmonbg ANIM_BANK_TARGET
blendoff
@@ -5191,9 +5191,9 @@ Move_SAND_ATTACK: @ 81CE774
monbgprio_28 0
setalpha 12, 8
playsewithpan SE_W028, 192
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, -10, 0, 0, 3
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 2
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2
call _81CE7C4
call _81CE7C4
call _81CE7C4
@@ -5216,9 +5216,9 @@ _81CE7C4:
Move_MUD_SLAP: @ 81CE81C
loadspritegfx 10074
playsewithpan SE_W028, 192
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, -10, 0, 0, 3
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 2
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2
call _81CE862
call _81CE862
call _81CE862
@@ -5242,7 +5242,7 @@ Move_DRAGON_RAGE: @ 81CE8BA
playsewithpan SE_W082, 192
createvisualtask AnimTask_ShakeMon, 5, 0, 0, 2, 40, 1
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 130, 0, 15, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 130, 0, 15, 0, 0, 4
waitforvisualfinish
createsprite gBattleAnimSpriteTemplate_83DB0D0, 130, 30, 15, 0, 10, 10
waitforvisualfinish
@@ -5264,7 +5264,7 @@ Move_DRAGON_RAGE: @ 81CE8BA
delay 1
createsprite gBattleAnimSpriteTemplate_83DB078, 194, 1, 0, 8
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 194, 0, 0, 4
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 194, 0, 0, 4
waitforvisualfinish
end
@@ -5359,7 +5359,7 @@ Move_ICE_BEAM: @ 81CEB4D
call _81CEC4E
call _81CEC4E
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 4, -31, 0, 7, 32384
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 25, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 25, 1
call _81CEC4E
call _81CEC4E
call _81CEC4E
@@ -5402,13 +5402,13 @@ Move_AURORA_BEAM: @ 81CEC91
setarg 7, 0
createvisualtask sub_80D3490, 10, 130
call _81CED18
- createvisualtask sub_80A7FA0, 5, 1, 1, 0, 17, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 1, 0, 17, 1
call _81CED18
call _81CED18
call _81CED18
setarg 7, -1
createsoundtask sub_812B058, 183, -64, 63, 3, 6, 0, 10
- createvisualtask sub_80A7FA0, 5, 1, 2, 0, 40, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 40, 1
call _81CED18
call _81CED18
call _81CED18
@@ -5487,7 +5487,7 @@ _81CEE70:
createvisualtask sub_80E2A38, 10, 4, 1, 0, 10, 1017
createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 2
delay 4
- createvisualtask sub_80A7FA0, 5, 1, 2, 0, 65, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 65, 1
createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 3
delay 4
createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 4
@@ -5698,7 +5698,7 @@ Move_ABSORB: @ 81CF427
loadspritegfx 10031
loadspritegfx 10135
monbg ANIM_BANK_DEF_PARTNER
- monbgprio_2A 1
+ monbgprio_2A ANIM_BANK_TARGET
setalpha 12, 8
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 4, 13293
waitforvisualfinish
@@ -5750,7 +5750,7 @@ Move_MEGA_DRAIN: @ 81CF53F
loadspritegfx 10031
loadspritegfx 10135
monbg ANIM_BANK_DEF_PARTNER
- monbgprio_2A 1
+ monbgprio_2A ANIM_BANK_TARGET
setalpha 12, 8
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 8, 13293
waitforvisualfinish
@@ -5810,7 +5810,7 @@ Move_GIGA_DRAIN: @ 81CF6CF
loadspritegfx 10031
loadspritegfx 10135
monbg ANIM_BANK_DEF_PARTNER
- monbgprio_2A 1
+ monbgprio_2A ANIM_BANK_TARGET
setalpha 12, 8
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 0, 12, 13293
waitforvisualfinish
@@ -5880,7 +5880,7 @@ Move_LEECH_LIFE: @ 81CF8D7
loadspritegfx 10031
loadspritegfx 10135
monbg ANIM_BANK_DEF_PARTNER
- monbgprio_2A 1
+ monbgprio_2A ANIM_BANK_TARGET
setalpha 12, 8
delay 1
createsprite gBattleAnimSpriteTemplate_83DAB10, 2, -20, 15, 12
@@ -5962,7 +5962,7 @@ Move_SLUDGE_BOMB: @ 81CFA34
call _81CFB44
call _81CFB44
call _81CFB44
- createvisualtask sub_80A7FA0, 5, 1, 3, 0, 15, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 3, 0, 15, 1
createvisualtask sub_80E1F8C, 2, 4, 1, 2, 0, 12, 31774
createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, 42, 27, 20
createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, -27, 44, 20
@@ -6005,8 +6005,8 @@ Move_ACID: @ 81CFB5A
createsprite gBattleAnimSpriteTemplate_83DA2D0, 130, 20, 0, 40, 1, -24, 0
playsewithpan SE_W145C, 192
delay 15
- createvisualtask sub_80A7FA0, 5, 1, 2, 0, 10, 1
- createvisualtask sub_80A7FA0, 5, 3, 2, 0, 10, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 10, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 3, 2, 0, 10, 1
createvisualtask sub_80E1F8C, 2, 20, 2, 2, 0, 12, 31774
createsprite gBattleAnimSpriteTemplate_83DA31C, 130, 0, -22, 0, 15, 55
playsewithpan SE_W145, 63
@@ -6040,7 +6040,7 @@ Move_BONEMERANG: @ 81CFC54
createvisualtask AnimTask_ShakeMon, 5, 1, 5, 0, 5, 1
delay 17
playsewithpan SE_W233, 192
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, -4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, -4
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -6112,20 +6112,20 @@ _81CFDCF:
createvisualtask AnimTask_ShakeMon, 5, 0, 2, 0, 15, 1
waitforvisualfinish
delay 10
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 6
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 6
delay 3
createsprite gBattleAnimSpriteTemplate_83DAABC, 3, -42, 25, 0, 0, 6
delay 4
playsewithpan SE_W011, 63
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -16, 4, 1, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -16, 4, 1, 4
waitforvisualfinish
- createvisualtask sub_80A8154, 2, 1, -4, 1, 12, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, -4, 1, 12, 1
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 7, 5, 1, 32767, 10, 0, 0
delay 10
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 11
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11
delay 3
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7
waitforvisualfinish
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
@@ -6151,7 +6151,7 @@ Move_GUST: @ 81CFE9A
createsprite gBattleAnimSpriteTemplate_83DA380, 2, 0, -16
createvisualtask sub_80DA09C, 5, 1, 70
waitforvisualfinish
- createvisualtask sub_80A7FA0, 5, 1, 1, 0, 7, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 1, 0, 7, 1
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
playsewithpan SE_W016B, 63
waitforvisualfinish
@@ -6166,18 +6166,18 @@ Move_WING_ATTACK: @ 81CFEEB
monbgprio_28 1
setalpha 12, 8
loopsewithpan SE_W017, 192, 20, 2
- createvisualtask sub_80A8408, 2, 0, 12, 4, 1, 4
+ createvisualtask AnimTask_TranslateMonElliptical, 2, ANIM_BANK_ATTACKER, 12, 4, 1, 4
createvisualtask sub_80DA09C, 5, 1, 70
createsprite gBattleAnimSpriteTemplate_83DA3B4, 2, -25, 0, 0, 0, 20
createsprite gBattleAnimSpriteTemplate_83DA3B4, 2, 25, 0, 0, 0, 20
delay 24
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 9
+ 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 gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 11
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -6241,7 +6241,7 @@ Move_WATER_GUN: @ 81D00CC
createsprite gBattleAnimSpriteTemplate_83D9318, 2, 20, 0, 0, 0, 40, -25
playsewithpan SE_W145, 192
waitforvisualfinish
- createvisualtask sub_80A7FA0, 5, 1, 1, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 1, 0, 8, 1
createsprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, 0, 1, 2
createsprite gBattleAnimSpriteTemplate_83D9330, 2, 0, -15, 0, 15, 55
playsewithpan SE_W152, 63
@@ -6265,11 +6265,11 @@ Move_CRABHAMMER: @ 81D0159
playsewithpan SE_W233B, 63
delay 1
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 32429, 10, 0, 0
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -24, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -24, 0, 0, 4
waitforvisualfinish
delay 8
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 4
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 4
waitforvisualfinish
loopsewithpan SE_W152, 63, 20, 3
createvisualtask AnimTask_ShakeMon, 5, 1, 0, 4, 8, 1
@@ -6473,7 +6473,7 @@ Move_JUMP_KICK: @ 81D05F7
loadspritegfx 10135
monbg ANIM_BANK_DEF_PARTNER
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
delay 3
createsprite gBattleAnimSpriteTemplate_83D9F90, 2, -16, 8, 0, 0, 10, 1, 1, 1
playsewithpan SE_W026, 63
@@ -6491,22 +6491,22 @@ Move_HI_JUMP_KICK: @ 81D0654
loadspritegfx 10135
monbg ANIM_BANK_DEF_PARTNER
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, -24, 0, 0, 8
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -24, 0, 0, 8
waitforvisualfinish
delay 10
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 3
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 3
delay 2
createsprite gBattleAnimSpriteTemplate_83D9F90, 2, -16, 8, 0, 0, 10, 1, 1, 1
playsewithpan SE_W026, 63
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1
playsewithpan SE_W233B, 63
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -28, 0, 0, 3
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -28, 0, 0, 3
delay 3
- createvisualtask sub_80A8154, 2, 1, 3, 0, 11, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 3, 0, 11, 1
waitforvisualfinish
delay 5
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -6571,7 +6571,7 @@ Move_DYNAMIC_PUNCH: @ 81D07E4
delay 1
waitsound
playsewithpan SE_W120, 63
- createvisualtask sub_80A7FA0, 5, 1, 5, 0, 28, 1
+ createvisualtask AnimTask_ShakeMon2, 5, 1, 5, 0, 28, 1
createsprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1
delay 6
playsewithpan SE_W120, 63
@@ -6595,10 +6595,10 @@ Move_COUNTER: @ 81D08AC
loadspritegfx 10143
monbg ANIM_BANK_DEF_PARTNER
setalpha 12, 8
- createvisualtask sub_80A8500, 2, 0, 18, 6, 1, 4
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 18, 6, 1, 4
playsewithpan SE_W233, 192
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
delay 4
createsprite gBasicHitSplatSpriteTemplate, 2, -15, 18, 1, 0
playsewithpan SE_W233B, 63
@@ -6616,7 +6616,7 @@ Move_COUNTER: @ 81D08AC
delay 1
createsprite gBattleAnimSpriteTemplate_83D9FA8, 3, 15, 9, 8, 1, 0
delay 5
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -6627,19 +6627,19 @@ Move_VITAL_THROW: @ 81D097B
monbg ANIM_BANK_DEF_PARTNER
setalpha 12, 8
playsewithpan SE_W233, 192
- createvisualtask sub_80A8500, 2, 0, 12, 4, 1, 2
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 12, 4, 1, 2
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 20, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
delay 2
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
playsewithpan SE_W233B, 63
delay 1
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -24, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -24, 0, 0, 4
waitforvisualfinish
delay 3
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7
delay 11
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 10
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 10
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -6686,8 +6686,8 @@ Move_SUBMISSION: @ 81D0AEE
waitplaysewithpan SE_W004, 63, 70
waitplaysewithpan SE_W104, 192, 80
waitplaysewithpan SE_W004, 63, 90
- createvisualtask sub_80A8408, 2, 0, -18, 6, 6, 4
- createvisualtask sub_80A8408, 2, 1, 18, 6, 6, 4
+ createvisualtask AnimTask_TranslateMonElliptical, 2, ANIM_BANK_ATTACKER, -18, 6, 6, 4
+ createvisualtask AnimTask_TranslateMonElliptical, 2, ANIM_BANK_TARGET, 18, 6, 6, 4
call _81D0B5D
call _81D0B5D
call _81D0B5D
@@ -6775,7 +6775,7 @@ Move_PETAL_DANCE: @ 81D0CA6
monbg ANIM_BANK_DEF_PARTNER
setalpha 12, 8
playsewithpan SE_W080, 192
- createvisualtask sub_80A8500, 2, 0, 12, 6, 6, 3
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 12, 6, 6, 3
createsprite gBattleAnimSpriteTemplate_83D6428, 2, 0, -24, 8, 140
createsprite gBattleAnimSpriteTemplate_83D6440, 2, 16, -24, 8, 100
createsprite gBattleAnimSpriteTemplate_83D6440, 2, -16, -24, 8, 100
@@ -6794,14 +6794,14 @@ Move_PETAL_DANCE: @ 81D0CA6
createsprite gBattleAnimSpriteTemplate_83D6440, 2, 20, -16, 14, 80
createsprite gBattleAnimSpriteTemplate_83D6440, 2, -20, -14, 16, 80
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 5
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 5
delay 3
playsewithpan SE_W025B, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 6, 0, 8, 1
waitforvisualfinish
delay 8
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -6840,8 +6840,8 @@ Move_RAZOR_LEAF: @ 81D0DDE
createsprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 22, -20, 1
delay 20
playsewithpan SE_W013, 63
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
- createvisualtask sub_80A7FA0, 2, 3, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 8, 1
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -6859,7 +6859,7 @@ Move_ANCIENT_POWER: @ 81D0EE5
createsprite gBattleAnimSpriteTemplate_83DAD60, 2, -20, 32, -48, 50, 2
createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 20, 32, -28, 60, 1
createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 0, 32, -28, 30, 4
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 30, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 30, 1
playsewithpan SE_W082, 192
delay 10
createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 15, 32, -48, 25, 5
@@ -6868,13 +6868,13 @@ Move_ANCIENT_POWER: @ 81D0EE5
createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 0, 32, -42, 25, 5
createsprite gBattleAnimSpriteTemplate_83DAD60, 2, -25, 32, -48, 30, 4
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 16, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 16, 0, 0, 4
delay 3
playsewithpan SE_W120, 63
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -6975,8 +6975,8 @@ Move_LEER: @ 81D121A
createvisualtask sub_80A8D34, 5, -5, -5, 10, 0, 1
waitforvisualfinish
delay 10
- createvisualtask sub_80A7FA0, 2, 1, 1, 0, 9, 1
- createvisualtask sub_80A7FA0, 2, 3, 1, 0, 9, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 9, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 1, 0, 9, 1
waitforvisualfinish
clearmonbg ANIM_BANK_ATTACKER
blendoff
@@ -6988,7 +6988,7 @@ Move_DREAM_EATER: @ 81D1271
loadspritegfx 10147
loadspritegfx 10031
monbg ANIM_BANK_DEF_PARTNER
- monbgprio_2A 1
+ monbgprio_2A ANIM_BANK_TARGET
playsewithpan SE_W060, 192
call Unknown_81D61E7
setalpha 8, 8
@@ -7086,7 +7086,7 @@ Move_POISON_GAS: @ 81D1474
end
Move_BIND: @ 81D1552
- createvisualtask sub_80A8B88, 5, 0, 6, 3328, 4, 0
+ createvisualtask AnimTask_SwayMon, 5, 0, 6, 3328, 4, 0
goto _81D1568
_81D1568:
playsewithpan SE_W020, 63
@@ -7100,7 +7100,7 @@ _81D1578:
return
Move_WRAP: @ 81D158C
- createvisualtask sub_80A8500, 2, 0, 6, 4, 2, 4
+ createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_BANK_ATTACKER, 6, 4, 2, 4
goto _81D1568
Move_PSYBEAM: @ 81D15A2
@@ -7110,7 +7110,7 @@ Move_PSYBEAM: @ 81D15A2
createsoundtask sub_812B058, 200, -64, 63, 3, 4, 0, 15
call _81D1626
call _81D1626
- createvisualtask sub_80A8B88, 5, 0, 6, 2048, 4, 1
+ createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 4, 1
createvisualtask sub_80E1F8C, 2, 4, 2, 2, 0, 12, 32351
call _81D1626
call _81D1626
@@ -7186,7 +7186,7 @@ Move_ZAP_CANNON: @ 81D1722
createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 160, 40, 0
createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 224, 40, 2
waitforvisualfinish
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 5, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 5, 1
delay 15
waitplaysewithpan SE_W085B, 63, 19
call Unknown_81D6100
@@ -7203,18 +7203,18 @@ Move_STEEL_WING: @ 81D1807
monbgprio_28 1
setalpha 12, 8
loopsewithpan SE_W017, 192, 20, 2
- createvisualtask sub_80A8408, 2, 0, 12, 4, 1, 4
+ createvisualtask AnimTask_TranslateMonElliptical, 2, ANIM_BANK_ATTACKER, 12, 4, 1, 4
createvisualtask sub_80DA09C, 5, 1, 70
createsprite gBattleAnimSpriteTemplate_83DA3B4, 2, -25, 0, 0, 0, 20
createsprite gBattleAnimSpriteTemplate_83DA3B4, 2, 25, 0, 0, 0, 20
delay 24
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 9
+ 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 gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 11
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
@@ -7227,7 +7227,7 @@ Move_IRON_TAIL: @ 81D18B6
waitforvisualfinish
monbg ANIM_BANK_TARGET
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
delay 6
createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1
@@ -7247,7 +7247,7 @@ Move_POISON_TAIL: @ 81D1914
waitforvisualfinish
monbg ANIM_BANK_TARGET
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
delay 6
createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_BANK_TARGET, 3, 0, 6, 1
@@ -7265,14 +7265,14 @@ Move_METAL_CLAW: @ 81D197A
loopsewithpan SE_W231, 192, 28, 2
createvisualtask sub_80E0A4C, 5, 0, 0, 0
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
delay 2
playsewithpan SE_W013, 63
createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, -10, 0
createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, 10, 0
createsprite gBattleAnimSpriteTemplate_83DB428, 2, -4, 1, 10, 3, 1
delay 8
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
delay 2
playsewithpan SE_W013, 63
createsprite gBattleAnimSpriteTemplate_83DB288, 130, 10, -10, 1
@@ -7291,7 +7291,7 @@ Move_NIGHT_SHADE: @ 81D1A0D
playsewithpan SE_W043, 192
createvisualtask sub_80DDDF0, 5, 85
delay 70
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 12, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 12, 1
createvisualtask sub_80E1F8C, 2, 4, 0, 2, 0, 13, 0
waitforvisualfinish
clearmonbg ANIM_BANK_ATTACKER
@@ -7306,7 +7306,7 @@ Move_EGG_BOMB: @ 81D1A55
playsewithpan SE_W039, 192
createsprite gBattleAnimSpriteTemplate_83D7594, 130, 10, 0, 0, 0, 25, -32
waitforvisualfinish
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 16, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 16, 1
createsprite gBattleAnimSpriteTemplate_83D7828, 132, 6, 5, 1, 0
playsewithpan SE_W120, 63
delay 3
@@ -7334,7 +7334,7 @@ Move_SHADOW_BALL: @ 81D1AEF
createsprite gBattleAnimSpriteTemplate_83DAEA8, 130, 16, 16, 8
waitforvisualfinish
playsewithpan SE_W028, 63
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 8, 1
waitforvisualfinish
restorebg
waitbgfadein
@@ -7345,7 +7345,7 @@ Move_LICK: @ 81D1B32
delay 15
playsewithpan SE_W122, 63
createsprite gBattleAnimSpriteTemplate_83DAEDC, 130, 0, 0
- createvisualtask sub_80A7FA0, 2, 1, 1, 0, 16, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 16, 1
waitforvisualfinish
end
@@ -7355,7 +7355,7 @@ Move_FOCUS_ENERGY: @ 81D1B59
call EndureFlamesAnim
delay 8
createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 32767
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1
call EndureFlamesAnim
delay 8
call EndureFlamesAnim
@@ -7368,7 +7368,7 @@ Move_BIDE: @ 81D1B99
_81D1BA3:
loopsewithpan SE_W036, 192, 9, 2
createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1
waitforvisualfinish
end
_81D1BCF:
@@ -7377,12 +7377,12 @@ _81D1BCF:
setalpha 12, 8
loopsewithpan SE_W036, 192, 9, 2
createvisualtask sub_80E2A38, 10, 2, 2, 0, 11, 31
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 4
waitforvisualfinish
- createvisualtask sub_80A8154, 2, 0, 2, 0, 12, 1
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 16, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_ATTACKER, 2, 0, 12, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 16, 1
playsewithpan SE_W004, 63
createsprite gBasicHitSplatSpriteTemplate, 1, 18, -8, 1, 1
delay 5
@@ -7393,7 +7393,7 @@ _81D1BCF:
createsprite gBasicHitSplatSpriteTemplate, 1, -8, -5, 1, 1
waitforvisualfinish
delay 5
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7
waitforvisualfinish
createvisualtask sub_80E2A38, 10, 2, 2, 11, 0, 31
waitforvisualfinish
@@ -7510,8 +7510,8 @@ _81D1E66:
createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, 12, -16, -14, 22, 0, 1
delay 17
playsewithpan SE_W013, 63
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 10, 1
- createvisualtask sub_80A7FA0, 2, 3, 2, 0, 10, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 10, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 10, 1
waitforvisualfinish
clearmonbg ANIM_BANK_TARGET
blendoff
@@ -7595,7 +7595,7 @@ Move_CONSTRICT: @ 81D2013
delay 7
createsprite gBattleAnimSpriteTemplate_83D65A0, 131, 0, -8, 1, 2
delay 8
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1
delay 20
playsewithpan SE_W020, 63
setarg 7, -1
@@ -7624,18 +7624,18 @@ _81D2084:
monbg ANIM_BANK_DEF_PARTNER
playsewithpan SE_W171, 63
createsprite gBattleAnimSpriteTemplate_83DAF38, 130
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 14, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 14, 1
waitforvisualfinish
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 16, 0, 0
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
end
_81D20EB:
- createvisualtask sub_80A7FA0, 2, 0, 4, 0, 10, 0
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 4, 0, 10, 0
playsewithpan SE_W020, 192
return
_81D2101:
- createvisualtask sub_80A8B88, 5, 0, 10, 1536, 3, 0
+ createvisualtask AnimTask_SwayMon, 5, 0, 10, 1536, 3, 0
waitforvisualfinish
delay 10
call _81D211C
@@ -7722,7 +7722,7 @@ Move_FAKE_OUT: @ 81D23A8
createvisualtask sub_80D1CD0, 5
waitforvisualfinish
playsewithpan SE_W166, 63
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 5, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 5, 1
createvisualtask sub_80D1E38, 3
waitforvisualfinish
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 32767
@@ -7780,17 +7780,17 @@ Move_LOVELY_KISS: @ 81D24AF
Move_FURY_SWIPES: @ 81D24F6
loadspritegfx 10222
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 5, 5
+ createsprite gHorizontalLungeSpriteTemplate, 2, 5, 5
delay 4
playsewithpan SE_W010, 63
createsprite gBattleAnimSpriteTemplate_83D7C48, 130, 16, 0, 1
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 5, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 5, 1
delay 10
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 130, 5, 5
+ createsprite gHorizontalLungeSpriteTemplate, 130, 5, 5
delay 4
playsewithpan SE_W010, 63
createsprite gBattleAnimSpriteTemplate_83D7C48, 130, -16, 0, 0
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 7, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 7, 1
end
Move_INGRAIN: @ 81D255A
@@ -7926,7 +7926,7 @@ Move_PERISH_SONG: @ 81D2784
Move_SLEEP_TALK: @ 81D28ED
loadspritegfx 10228
- createvisualtask sub_80A8B88, 5, 0, 4, 4096, 2, 0
+ createvisualtask AnimTask_SwayMon, 5, 0, 4, 4096, 2, 0
delay 20
createsprite gBattleAnimSpriteTemplate_84022F0, 130, 0, 20, 5, -1
playsewithpan SE_W173, 192
@@ -8035,7 +8035,7 @@ Move_WILL_O_WISP: @ 81D2B83
loadspritegfx 10232
loadspritegfx 10231
monbg ANIM_BANK_DEF_PARTNER
- monbgprio_2A 1
+ monbgprio_2A ANIM_BANK_TARGET
playsewithpan SE_W052, 192
waitplaysewithpan SE_W052, 192, 10
createvisualtask sub_812B374, 2, -64, -64, 1, 0
@@ -8051,7 +8051,7 @@ Move_WILL_O_WISP: @ 81D2B83
waitforvisualfinish
monbgprio_29
playsewithpan SE_W172B, 63
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 13, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 13, 1
createsprite gBattleAnimSpriteTemplate_83D977C, 2, 0
createsprite gBattleAnimSpriteTemplate_83D977C, 2, 42
createsprite gBattleAnimSpriteTemplate_83D977C, 2, 84
@@ -8075,7 +8075,7 @@ Move_ENCORE: @ 81D2C41
createsprite gBattleAnimSpriteTemplate_84023BC, 3, 2, 0, 1, 0, 9
delay 16
createvisualtask sub_812B340, 5, 223, 63
- createvisualtask sub_80A8B88, 5, 1, 8, 1536, 5, 1
+ createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 5, 1
waitforvisualfinish
createvisualtask sub_80E2D78, 2, 248, 3, 10, 0, 1
waitforvisualfinish
@@ -8160,7 +8160,7 @@ Move_SPIT_UP: @ 81D2E65
loadspritegfx 10135
playsewithpan SE_W036, 192
createvisualtask sub_812D6CC, 5
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 8, 2
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 8, 2
delay 45
playsewithpan SE_W255, 192
delay 3
@@ -8207,10 +8207,10 @@ Move_SWALLOW: @ 81D2FA8
loadspritegfx 10031
playsewithpan SE_W036, 192
createvisualtask sub_812D790, 5
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 8, 2
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 8, 2
delay 38
playsewithpan SE_W255, 192
- createvisualtask sub_80A7FA0, 2, 0, 2, 0, 12, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 2, 0, 12, 1
call _81D2FF9
jumpifmoveturn 2, _81D303B
jumpifmoveturn 3, _81D3045
@@ -8323,7 +8323,7 @@ Move_HYPER_BEAM: @ 81D31EA
waitforvisualfinish
delay 10
playsewithpan SE_W063, 192
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 4, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 4, 1
waitforvisualfinish
delay 30
createsoundtask sub_812B058, 247, -64, 63, 1, 15, 0, 5
@@ -8334,7 +8334,7 @@ Move_HYPER_BEAM: @ 81D31EA
call _81D331B
call _81D331B
call _81D331B
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 50, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 50, 1
createvisualtask sub_80E2A38, 10, 4, 2, 0, 11, 26425
call _81D331B
call _81D331B
@@ -8376,9 +8376,9 @@ Move_FLATTER: @ 81D332C
waitforvisualfinish
createsprite gBattleAnimSpriteTemplate_8402720, 130, 0, -8, 80
delay 0
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 5, 2, 1
+ createsprite gVerticalDipSpriteTemplate, 2, 5, 2, ANIM_BANK_TARGET
delay 10
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 5, 2, 1
+ createsprite gVerticalDipSpriteTemplate, 2, 5, 2, ANIM_BANK_TARGET
delay 0
createvisualtask sub_812B30C, 5, 229, -64
call _81D3415
@@ -8453,7 +8453,7 @@ Move_BLAZE_KICK: @ 81D34C8
delay 30
playsewithpan SE_W007, 63
createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 14, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 14, 1
createvisualtask sub_80E2A38, 10, 4, 2, 0, 0, 32767
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0
call _81D11A2
@@ -8475,8 +8475,8 @@ _81D3562:
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 3, 8, 0, 1023
createvisualtask sub_80A8D34, 5, -5, -5, 5, 0, 0
createsprite gBattleAnimSpriteTemplate_83D798C, 0, 45, 0, 0, 0, 0, 0, 1
- createvisualtask sub_80A7FA0, 2, 1, 1, 0, 6, 1
- createvisualtask sub_80A7FA0, 2, 3, 1, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 1, 0, 6, 1
createvisualtask sub_80E26BC, 2, 1, 0, 6, 1
return
@@ -8532,7 +8532,7 @@ Move_ARM_THRUST: @ 81D36CF
setalpha 12, 8
createvisualtask sub_80A8E04, 5, 8, 5, 0, 0
delay 6
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 3
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 3
delay 4
playsewithpan SE_W207, 63
createsprite gBattleAnimSpriteTemplate_83DA144, 130, 10, -8, 14, 3
@@ -8566,7 +8566,7 @@ Move_BULLET_SEED: @ 81D3776
delay 5
createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0
delay 5
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 30, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 30, 1
createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0
delay 5
createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0
@@ -8591,7 +8591,7 @@ Move_DRAGON_CLAW: @ 81D380C
createvisualtask AnimTask_ShakeMon, 5, 0, 0, 2, 15, 1
call _81D39E9
call _81D39E9
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 528, 30, 13, 50, 0
delay 2
createvisualtask sub_812B30C, 5, 136, 63
@@ -8604,7 +8604,7 @@ Move_DRAGON_CLAW: @ 81D380C
delay 2
createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 31, 400, 25, 11, -42, 0
delay 2
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
createsprite gBattleAnimSpriteTemplate_83DACD0, 2, 0, 28, 512, 25, 16, 46, 0
delay 2
createvisualtask sub_812B30C, 5, 136, 63
@@ -8694,7 +8694,7 @@ Move_METEOR_MASH: @ 81D3B12
delay 20
playsewithpan SE_W233B, 63
createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1
- createvisualtask sub_80A7FA0, 2, 1, 5, 0, 20, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 5, 0, 20, 1
waitforvisualfinish
delay 10
restorebg
@@ -8713,14 +8713,14 @@ Move_REVENGE: @ 81D3B99
waitforvisualfinish
unloadspritegfx 10245
loadspritegfx 10246
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
delay 4
playsewithpan SE_W207, 63
createsprite gBattleAnimSpriteTemplate_83DA1E0, 130, 10, -10
waitforvisualfinish
unloadspritegfx 10246
loadspritegfx 10135
- createvisualtask sub_80A7FA0, 2, 1, 3, 0, 10, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 10, 1
createsprite gBattleAnimSpriteTemplate_83DB550, 131, -10, -8, 1, 1, 8
playsewithpan SE_W233B, 63
delay 8
@@ -8812,8 +8812,8 @@ Move_FRENZY_PLANT: @ 81D3C7B
Move_METAL_SOUND: @ 81D3E1F
loadspritegfx 10260
monbg ANIM_BANK_DEF_PARTNER
- monbgprio_2A 1
- createvisualtask sub_80A7FA0, 2, 0, 2, 0, 8, 1
+ monbgprio_2A ANIM_BANK_TARGET
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 2, 0, 8, 1
call _81D3E52
call _81D3E52
call _81D3E52
@@ -8893,39 +8893,39 @@ _81D3F67:
blendoff
end
_81D3F6C:
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 16, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 16, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
delay 5
createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
createvisualtask sub_812B30C, 5, 139, 63
goto _81D3F67
_81D3FBE:
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
waitforvisualfinish
delay 11
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 5, 4
+ createsprite gHorizontalLungeSpriteTemplate, 2, 5, 4
delay 6
createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
createvisualtask sub_812B30C, 5, 141, 63
goto _81D3F67
_81D401E:
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 6, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
@@ -8947,13 +8947,13 @@ _81D401E:
_81D4139:
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 0, 6, 0
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 16, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
delay 8
createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 2
createvisualtask sub_812B30C, 5, 123, 63
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 12, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 12, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
delay 5
createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
@@ -8961,7 +8961,7 @@ _81D4139:
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
waitforvisualfinish
delay 4
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 8, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 8, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
delay 5
createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
@@ -8970,14 +8970,14 @@ _81D4139:
waitforvisualfinish
delay 2
createvisualtask sub_80E2DD8, 2, 0, 4, 5, 1
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 4, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 4, 1, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
createvisualtask sub_812B30C, 5, 123, 63
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
createvisualtask sub_80E2DD8, 2, 0, 4, 5, 1
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 4, 2, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 4, 2, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
delay 5
createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
@@ -9005,7 +9005,7 @@ _81D4139:
createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 0, 6, 0, 0
goto _81D3F67
_81D4371:
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 4, 3, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 4, 3, ANIM_BANK_ATTACKER
createvisualtask sub_812B340, 5, 167, -64
createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
createvisualtask sub_812B30C, 5, 123, 63
@@ -9226,7 +9226,7 @@ _81D4A48:
Move_ROCK_BLAST: @ 81D4A5F
loadspritegfx 10058
loadspritegfx 10135
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
delay 3
playsewithpan SE_W207, 192
createsprite gBattleAnimSpriteTemplate_83DADE8, 130, 16, 0, 0, 0, 25, 257
@@ -9363,12 +9363,12 @@ _81D4EA8:
Move_ASTONISH: @ 81D4F10
loadspritegfx 10273
playsewithpan SE_W227, 192
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
delay 25
createsprite gBattleAnimSpriteTemplate_83DA62C, 133, 0, 1
playsewithpan SE_W166, 63
createsprite gBattleAnimSpriteTemplate_83DA62C, 133, 1, 1
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 5, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 5, 1
createvisualtask sub_80D1E38, 3
waitforvisualfinish
end
@@ -9500,7 +9500,7 @@ Move_PSYCHO_BOOST: @ 81D51C7
delay 110
loopsewithpan SE_W060B, 192, 7, 10
waitforvisualfinish
- createvisualtask sub_80A7FA0, 2, 1, -8, 1, 24, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, -8, 1, 24, 1
playsewithpan SE_W043, 63
waitforvisualfinish
clearmonbg ANIM_BANK_ATK_PARTNER
@@ -9511,7 +9511,7 @@ Move_PSYCHO_BOOST: @ 81D51C7
Move_KNOCK_OFF: @ 81D523B
loadspritegfx 10277
loadspritegfx 10135
- createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 6
+ createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
delay 4
playsewithpan SE_W233, 63
createsprite gBattleAnimSpriteTemplate_8402AE4, 130, -16, -16
@@ -9519,12 +9519,12 @@ Move_KNOCK_OFF: @ 81D523B
createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 5, 1, 32767, 10, 0, 0
createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 2
playsewithpan SE_W004, 63
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -12, 10, 0, 3
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 5
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -12, 10, 0, 3
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
delay 3
- createvisualtask sub_80A8154, 2, 1, 0, 3, 6, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 0, 3, 6, 1
delay 5
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
delay 10
waitforvisualfinish
end
@@ -9561,7 +9561,7 @@ Unknown_81D532F: @ 81D532F
delay 10
playsewithpan SE_W109, 63
delay 23
- createvisualtask sub_80A8154, 2, 1, 10, 0, 20, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 10, 0, 20, 1
playsewithpan SE_W120, 63
createsprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1
delay 6
@@ -9592,9 +9592,9 @@ Move_SKY_UPPERCUT: @ 81D53ED
waitbgfadein
setalpha 12, 8
delay 38
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 28, 0, 0, 5
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 28, 0, 0, 5
delay 4
- createvisualtask sub_80A7FA0, 2, 1, 4, 0, 6, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 6, 1
playsewithpan SE_W233B, 63
createsprite gBasicHitSplatSpriteTemplate, 131, -28, 28, 1, 1
delay 1
@@ -9610,13 +9610,13 @@ Move_SKY_UPPERCUT: @ 81D53ED
delay 1
playsewithpan SE_W233B, 63
createsprite gBasicHitSplatSpriteTemplate, 131, 5, -52, 1, 1
- createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 1, -26, 16, 1, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -26, 16, 1, 4
delay 4
- createvisualtask sub_80A8154, 2, 1, 0, 3, 6, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 0, 3, 6, 1
delay 30
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6
delay 4
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
clearmonbg ANIM_BANK_DEF_PARTNER
blendoff
restorebg
@@ -9668,8 +9668,8 @@ Move_TWISTER: @ 81D553A
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, 131, -32, -16, 1, 3
playsewithpan SE_W004, 63
- createvisualtask sub_80A8154, 2, 1, 3, 0, 12, 1
- createvisualtask sub_80A8154, 2, 3, 3, 0, 12, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 3, 0, 12, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_DEF_PARTNER, 3, 0, 12, 1
delay 4
createsprite gBattleAnimSpriteTemplate_83DB4F0, 131, 1, 3
playsewithpan SE_W004, 63
@@ -9720,7 +9720,7 @@ Move_MAGICAL_LEAF: @ 81D5699
playsewithpan SE_W013, 63
createsprite gBasicHitSplatSpriteTemplate, 132, -10, -4, 1, 2
createsprite gBasicHitSplatSpriteTemplate, 132, 10, 4, 1, 2
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
delay 20
setarg 7, -1
waitforvisualfinish
@@ -9820,7 +9820,7 @@ _81D597D:
Move_WEATHER_BALL: @ 81D5989
loadspritegfx 10283
- createsprite gBattleAnimSpriteTemplate_83C1FC8, 2, 8, 1, 0
+ createsprite gVerticalDipSpriteTemplate, 2, 8, 1, ANIM_BANK_ATTACKER
delay 8
playsewithpan SE_W207, 192
createsprite gBattleAnimSpriteTemplate_83930A8, 2
@@ -9891,7 +9891,7 @@ _81D5AF9:
createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 8, 28, 3, 4
createsprite gBattleAnimSpriteTemplate_83DAE00, 130, -4, 30, 2, 3
createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 12, 25, 4, 4
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
waitforvisualfinish
end
_81D5B99:
@@ -9906,7 +9906,7 @@ _81D5B99:
createsprite gBattleAnimSpriteTemplate_83D9E54, 130, -30, -100, 25, 25, 0, 0
playsewithpan SE_W258, 63
waitforvisualfinish
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
playsewithpan SE_W196, 63
call Unknown_81D5C36
waitforvisualfinish
@@ -10212,7 +10212,7 @@ Unknown_81D626D: @ 81D626D
StatusCondition_Poison: @ 81D6270
loopsewithpan SE_W092, 63, 13, 6
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 18, 2
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 18, 2
createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 12, 31774
end
@@ -10256,7 +10256,7 @@ StatusCondition_Sleep: @ 81D6309
StatusCondition_Paralysis: @ 81D6335
loadspritegfx 10011
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 10, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 10, 1
call Unknown_81D6100
end
@@ -10276,7 +10276,7 @@ StatusCondition_Curse: @ 81D636A
monbg ANIM_BANK_DEF_PARTNER
playsewithpan SE_W171, 63
createsprite gBattleAnimSpriteTemplate_83DAF38, 130
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 14, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 14, 1
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
end
@@ -10286,7 +10286,7 @@ StatusCondition_Nightmare: @ 81D638F
monbg ANIM_BANK_DEF_PARTNER
playsewithpan SE_W171, 63
createsprite gBattleAnimSpriteTemplate_83DAF50, 130
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 14, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 14, 1
waitforvisualfinish
clearmonbg ANIM_BANK_DEF_PARTNER
end
@@ -10337,7 +10337,7 @@ General_PokeblockThrow: @ 81D6438
createsprite gBattleAnimSpriteTemplate_840B4FC, 131, -16, 7, 0, 32
delay 50
loopsewithpan SE_W039, 63, 19, 2
- createvisualtask sub_80A8B88, 5, 1, 8, 1536, 2, 1
+ createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 2, 1
waitforvisualfinish
createvisualtask sub_8141C08, 2
end
@@ -10361,7 +10361,7 @@ _81D64B5:
delay 7
createsprite gBattleAnimSpriteTemplate_83D65A0, 130, 0, 8, 1, 1
delay 3
- createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1
delay 20
setarg 7, -1
playsewithpan SE_W020, 63
@@ -10491,7 +10491,7 @@ General_HangedOn: @ 81D676E
createsprite gBattleAnimSpriteTemplate_83DB3C4, 0, 2, 4, 9, 0, 31
waitforvisualfinish
delay 6
- createsprite gBattleAnimSpriteTemplate_83C1FE0, 0, 0, 0, 15
+ createsprite gSlideMonToOriginalPosSpriteTemplate, 0, 0, 0, 15
end
General_Rain: @ 81D67BB
@@ -10546,7 +10546,7 @@ General_SnatchMove: @ 81D6877
createvisualtask sub_80E4234, 2
call Unknown_81D6AB6
delay 1
- createvisualtask sub_80A8B88, 2, 0, 5, 5120, 4, 1
+ createvisualtask AnimTask_SwayMon, 2, 0, 5, 5120, 4, 1
waitforvisualfinish
createvisualtask sub_80E4264, 2
jumpargeq 7, 0, _81D68B5
@@ -10598,7 +10598,7 @@ General_DoomDesireHit: @ 81D6934
delay 9
playsewithpan SE_W109, 63
delay 25
- createvisualtask sub_80A8154, 2, 1, 10, 0, 20, 1
+ createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_BANK_TARGET, 10, 0, 20, 1
playsewithpan SE_W120, 63
createsprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1
delay 6
@@ -10624,7 +10624,7 @@ General_FocusPunchSetUp: @ 81D69F9
call EndureFlamesAnim
delay 8
createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31
- createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1
+ createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1
call EndureFlamesAnim
delay 8
call EndureFlamesAnim
diff --git a/include/rom_8077ABC.h b/include/rom_8077ABC.h
index ff737135b..ed42871a6 100644
--- a/include/rom_8077ABC.h
+++ b/include/rom_8077ABC.h
@@ -16,8 +16,8 @@ u8 GetAnimBankSpriteId(u8 side);
void StoreSpriteCallbackInData(struct Sprite *sprite, void(*callback)(struct Sprite *));
void sub_8078314(struct Sprite *sprite);
void sub_8078364(struct Sprite *sprite);
-void sub_8078458(struct Sprite *sprite);
-void sub_80784A8(struct Sprite *sprite);
+void TranslateMonBGUntil(struct Sprite *sprite);
+void TranslateMonBGSubPixelUntil(struct Sprite *sprite);
u8 GetBankSide(u8);
u8 GetBankSide(u8);
u8 GetBankSide(u8 side);
@@ -34,11 +34,10 @@ u8 IsDoubleBattle(void);
bool8 IsDoubleBattle(void);
void sub_8078914();
u8 sub_80789BC();
-void sub_8078A5C(struct Sprite *sprite);
-void sub_8078A5C(struct Sprite *sprite);
-void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite);
-bool8 sub_8078B5C(struct Sprite *sprite);
-void sub_8078BB8(struct Sprite *sprite);
+void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
+void InitAnimSpriteTranslationDeltas(struct Sprite *sprite);
+bool8 TranslateAnimSpriteByDeltas(struct Sprite *sprite);
+void TranslateAnimSpriteByDeltasUntil(struct Sprite *sprite);
void sub_8078D44(struct Sprite *sprite);
void obj_id_set_rotscale(u8 sprite, s16, s16, u16);
bool8 sub_8078E38();
@@ -65,9 +64,9 @@ void sub_807A850(struct Task *task, u8 taskId);
void sub_807A8D4(struct Sprite *sprite);
void sub_807A960(struct Sprite *sprite);
void sub_8078A34(struct Sprite *sprite);
-void sub_80787B0(struct Sprite *sprite, u8);
+void InitAnimSpritePos(struct Sprite *sprite, u8);
void sub_8078764(struct Sprite *sprite, u8);
-void sub_8078B34(struct Sprite *sprite);
+void StartTranslateAnimSpriteByDeltas(struct Sprite *sprite);
void sub_8078D60(struct Sprite *sprite);
void sub_80786EC(struct Sprite *sprite);
void sub_80782D8(struct Sprite *sprite);
@@ -83,7 +82,7 @@ void sub_8078C00(struct Sprite *sprite);
void sub_8078114(struct Sprite *sprite);
void sub_8078174(struct Sprite *sprite);
void sub_80793C4(struct Sprite *sprite);
-void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4);
+void SetAverageBattlerPositions(u8 slot, u8 a2, s16 *a3, s16 *a4);
u8 sub_8079ED4(u8 slot);
s16 sub_807A100(u8 slot, u8 a2);
u16 sub_80790F0(s16 a, s16 b);
@@ -99,11 +98,11 @@ void sub_80798F4(struct Task *task, u8 a2, const void *a3);
bool8 sub_807992C(struct Task *task);
u8 sub_8077FC0(u8 slot);
void move_anim_8074EE0(struct Sprite *sprite);
-bool8 sub_8078718(struct Sprite *sprite);
+bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *sprite);
bool8 sub_8078CE8(struct Sprite *sprite);
void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
void sub_8078BD4(struct Sprite *sprite);
-void sub_807941C(struct Sprite *sprite);
+void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
void sub_80789D4(bool8 a1);
void sub_8079AB8(u8 sprite, u8 sprite2);
u8 sub_807A4A0(int bank, u8 sprite, int species);
diff --git a/src/battle/anim/aurora.c b/src/battle/anim/aurora.c
index 90fa5c879..b24809264 100644
--- a/src/battle/anim/aurora.c
+++ b/src/battle/anim/aurora.c
@@ -16,7 +16,7 @@ void sub_80D33B4(struct Sprite *sprite)
{
s16 r6;
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
if (GetBankSide(gAnimBankAttacker) != 0)
r6 = -gBattleAnimArgs[2];
else
@@ -26,7 +26,7 @@ void sub_80D33B4(struct Sprite *sprite)
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r6;
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3];
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->callback = sub_80D344C;
sprite->affineAnimPaused = TRUE;
sprite->callback(sprite);
@@ -39,7 +39,7 @@ static void sub_80D344C(struct Sprite *sprite)
StartSpriteAnim(sprite, 1);
sprite->affineAnimPaused = FALSE;
}
- if (sub_8078B5C(sprite) != 0)
+ if (TranslateAnimSpriteByDeltas(sprite) != 0)
DestroyAnimSprite(sprite);
}
diff --git a/src/battle/anim/blow_kiss.c b/src/battle/anim/blow_kiss.c
index e7b49471d..f585b74bc 100644
--- a/src/battle/anim/blow_kiss.c
+++ b/src/battle/anim/blow_kiss.c
@@ -15,19 +15,19 @@ static void sub_80D1FA4(struct Sprite* sprite);
void sub_80D1F58(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[0] = 0x5F;
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->callback = sub_80D1FA4;
}
void sub_80D1FA4(struct Sprite* sprite)
{
- if (sub_8078B5C(sprite) == 0)
+ if (TranslateAnimSpriteByDeltas(sprite) == 0)
{
sprite->pos2.y += Sin(sprite->data[5], 14);
sprite->data[5] = (sprite->data[5] + 4) & 0xFF;
diff --git a/src/battle/anim/bubble.c b/src/battle/anim/bubble.c
index 403003ce3..1252c1315 100644
--- a/src/battle/anim/bubble.c
+++ b/src/battle/anim/bubble.c
@@ -43,7 +43,7 @@ void sub_80D31C8(struct Sprite* sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
sprite->data[5] = newSpriteId;
@@ -69,7 +69,7 @@ static void sub_80D32E8(struct Sprite *sprite)
u16 index = gSprites[spriteId].data[3];
sprite->data[0] = 1;
- sub_8078B5C(sprite);
+ TranslateAnimSpriteByDeltas(sprite);
sprite->pos2.x += Sin(index / 256, gSprites[spriteId].data[0]);
sprite->pos2.y += Cos(index / 256, gSprites[spriteId].data[1]);
diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c
index dbc0f75a5..e12f55a8b 100644
--- a/src/battle/anim/bug.c
+++ b/src/battle/anim/bug.c
@@ -40,7 +40,7 @@ void sub_80DC824(struct Sprite *sprite)
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
@@ -65,7 +65,7 @@ void sub_80DC8F4(struct Sprite *sprite)
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
@@ -76,7 +76,7 @@ void sub_80DC9A0(struct Sprite *sprite)
if (IsContest())
gBattleAnimArgs[2] /= 2;
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
@@ -88,7 +88,7 @@ void sub_80DC9A0(struct Sprite *sprite)
}
else
{
- sub_807A3FC(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]);
+ SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]);
}
sub_8078BD4(sprite);
@@ -98,7 +98,7 @@ void sub_80DC9A0(struct Sprite *sprite)
static void sub_80DCA38(struct Sprite *sprite)
{
- if (sub_8078B5C(sprite))
+ if (TranslateAnimSpriteByDeltas(sprite))
{
DestroyAnimSprite(sprite);
return;
@@ -111,7 +111,7 @@ static void sub_80DCA38(struct Sprite *sprite)
// used in Move_STRING_SHOT
void sub_80DCA70(struct Sprite *sprite)
{
- sub_807A3FC(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
+ SetAverageBattlerPositions(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
if (GetBankSide(gAnimBankAttacker))
sprite->pos1.x -= gBattleAnimArgs[0];
else
@@ -212,7 +212,7 @@ void sub_80DCBCC(struct Sprite *sprite)
}
}
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
lVarX = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
lVarY = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3];
@@ -224,7 +224,7 @@ void sub_80DCBCC(struct Sprite *sprite)
sprite->data[2] = lVarX;
sprite->data[4] = lVarY;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
@@ -232,7 +232,7 @@ void sub_80DCBCC(struct Sprite *sprite)
// Move_PIN_MISSILE, Move_ICICLE_SPEAR
void sub_80DCCFC(struct Sprite *sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -251,7 +251,7 @@ void sub_80DCD78(struct Sprite *sprite)
{
sprite->invisible = FALSE;
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
{
DestroyAnimSprite(sprite);
}
@@ -271,7 +271,7 @@ void sub_80DCD78(struct Sprite *sprite)
x2 += x1;
y2 += y1;
- if (!sub_8078718(sprite))
+ if (!TranslateAnimSpriteLinearAndSine(sprite))
{
u16 rot = sub_80790F0(sprite->pos1.x + sprite->pos2.x - x2,
sprite->pos1.y + sprite->pos2.y - y2);
diff --git a/src/battle/anim/bullet.c b/src/battle/anim/bullet.c
index 90b2021f1..1dca0b886 100644
--- a/src/battle/anim/bullet.c
+++ b/src/battle/anim/bullet.c
@@ -17,11 +17,11 @@ static void sub_80D00B4(struct Sprite* sprite);
void sub_80CFFD8(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[0] = 20;
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
sprite->affineAnimPaused = 1;
StoreSpriteCallbackInData(sprite, sub_80D0030);
}
diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c
index 2234ebacb..0f23fed82 100644
--- a/src/battle/anim/cutter.c
+++ b/src/battle/anim/cutter.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle.h"
#include "rom_8077ABC.h"
#include "trig.h"
#include "battle_anim.h"
@@ -7,29 +8,36 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-static void sub_80CB09C(struct Sprite* sprite);
-static void sub_80CB1A4(struct Sprite* sprite);
+static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite);
+static void AnimMoveTwisterParticleStep(struct Sprite* sprite);
-// cutter (the cresent shaped leaf used in throwing projectiles for the listed moves.)
+// Animates a sprite that moves linearly from one location to another, with a
+// single-cycle sine wave added to the y position along the way.
// Used by Razor Leaf and Magical Leaf.
-
-void sub_80CAFD0(struct Sprite* sprite)
+// arg 0: initial x offset
+// arg 1: initial y offset
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: translation duration
+// arg 5: wave amplitude
+// arg 6: target between double battle opponents (boolean)
+void AnimTranslateLinearSingleSineWave(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
- if (GetBankSide(gAnimBankAttacker))
+ InitAnimSpritePos(sprite, 1);
+ if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
{
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
}
sprite->data[0] = gBattleAnimArgs[4];
- if (!(gBattleAnimArgs[6]))
+ if (!gBattleAnimArgs[6])
{
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3];
}
else
{
- sub_807A3FC(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]);
+ SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]);
sprite->data[2] += gBattleAnimArgs[2];
sprite->data[4] += gBattleAnimArgs[3];
}
@@ -45,18 +53,18 @@ void sub_80CAFD0(struct Sprite* sprite)
sprite->data[0] = 0;
}
- sprite->callback = sub_80CB09C;
+ sprite->callback = AnimTranslateLinearSingleSineWaveStep;
}
-void sub_80CB09C(struct Sprite* sprite)
+static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite)
{
- bool8 c = FALSE;
+ bool8 destroy = FALSE;
s16 a = sprite->data[0];
s16 b = sprite->data[7];
s16 r0;
sprite->data[0] = 1;
- sub_8078718(sprite);
+ TranslateAnimSpriteLinearAndSine(sprite);
r0 = sprite->data[7];
sprite->data[0] = a;
if (b > 0xC8 && r0 <= 0x37 && sprite->oam.affineParam == 0)
@@ -67,24 +75,30 @@ void sub_80CB09C(struct Sprite* sprite)
sprite->invisible ^= 1;
sprite->oam.affineParam++;
if (sprite->oam.affineParam == 0x1E)
- c = TRUE;
+ destroy = TRUE;
}
- if (sprite->pos1.x + sprite->pos2.x > 0x100
+ if (sprite->pos1.x + sprite->pos2.x > 256
|| sprite->pos1.x + sprite->pos2.x < -16
- || sprite->pos1.y + sprite->pos2.y > 0xA0
+ || sprite->pos1.y + sprite->pos2.y > 160
|| sprite->pos1.y + sprite->pos2.y < -16)
- c = TRUE;
+ destroy = TRUE;
- if (c)
+ if (destroy)
DestroyAnimSprite(sprite);
}
-void sub_80CB144(struct Sprite* sprite)
+// Animates particles in the Twister move animation.
+// arg 0: duration
+// arg 1: total y delta (the particles rise upward)
+// arg 2: wave period (higher means faster wave)
+// arg 3: wave amplitude
+// arg 4: speedup frame (particles move faster at the end of the animation)
+void AnimMoveTwisterParticle(struct Sprite* sprite)
{
if (!IsContest() && IsDoubleBattle() == TRUE)
{
- sub_807A3FC(gAnimBankTarget, 1, &sprite->pos1.x, &sprite->pos1.y);
+ SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->pos1.x, &sprite->pos1.y);
}
sprite->pos1.y += 32;
@@ -93,10 +107,10 @@ void sub_80CB144(struct Sprite* sprite)
sprite->data[2] = gBattleAnimArgs[2];
sprite->data[3] = gBattleAnimArgs[3];
sprite->data[4] = gBattleAnimArgs[4];
- sprite->callback = sub_80CB1A4;
+ sprite->callback = AnimMoveTwisterParticleStep;
}
-void sub_80CB1A4(struct Sprite* sprite)
+static void AnimMoveTwisterParticleStep(struct Sprite* sprite)
{
if (sprite->data[1] == 0xFF)
{
diff --git a/src/battle/anim/cyclone.c b/src/battle/anim/cyclone.c
index 0f83df211..b1210bc54 100644
--- a/src/battle/anim/cyclone.c
+++ b/src/battle/anim/cyclone.c
@@ -13,7 +13,7 @@ extern u8 gAnimBankTarget;
void sub_80D0118(struct Sprite* sprite)
{
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
if (GetBankSide(gAnimBankAttacker) == 0)
sprite->pos1.y += 16;
diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c
index 674ae5188..aaf8507c6 100644
--- a/src/battle/anim/dark.c
+++ b/src/battle/anim/dark.c
@@ -128,7 +128,7 @@ void sub_80DFE14(struct Sprite *sprite)
sprite->data[3] = GetBankPosition(gAnimBankTarget, 3);
sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3);
sprite->data[0] = 0x7E;
- sub_8078A5C(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = -sprite->data[1];
sprite->data[4] = -sprite->data[2];
sprite->data[6] = 0xFFD8;
@@ -244,7 +244,7 @@ void sub_80DFFD0(struct Sprite *sprite)
static void sub_80E00D0(struct Sprite *sprite)
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
move_anim_8074EE0(sprite);
}
diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c
index 4f25cf1a5..dc2c0bc50 100644
--- a/src/battle/anim/dragon.c
+++ b/src/battle/anim/dragon.c
@@ -68,7 +68,7 @@ void sub_80DF63C(struct Sprite *sprite)
StartSpriteAnim(sprite, 1);
}
sprite->data[0] = gBattleAnimArgs[4];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, move_anim_8074EE0);
}
diff --git a/src/battle/anim/egg.c b/src/battle/anim/egg.c
index 8004b3bf5..b3de1dbb1 100644
--- a/src/battle/anim/egg.c
+++ b/src/battle/anim/egg.c
@@ -22,7 +22,7 @@ static void sub_80D158C(struct Sprite* sprite);
void sub_80D1368(struct Sprite* sprite)
{
s16 r1;
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
r1 = (GetBankSide(gAnimBankAttacker)) ? -0xA0 : 0xA0;
sprite->data[0] = 0x380;
sprite->data[1] = r1;
diff --git a/src/battle/anim/energy_wave.c b/src/battle/anim/energy_wave.c
index 15045f5bd..8111f70a3 100644
--- a/src/battle/anim/energy_wave.c
+++ b/src/battle/anim/energy_wave.c
@@ -20,7 +20,7 @@ static void sub_80D370C(struct Sprite *);
void sub_80D3554(struct Sprite *sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[0] = 30;
sprite->data[1] = sprite->pos1.x;
@@ -28,7 +28,7 @@ void sub_80D3554(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->data[5] = 0xD200 / sprite->data[0];
sprite->data[7] = gBattleAnimArgs[3];
@@ -49,7 +49,7 @@ void sub_80D3554(struct Sprite *sprite)
static void sub_80D35DC(struct Sprite *sprite)
{
- if (sub_8078B5C(sprite))
+ if (TranslateAnimSpriteByDeltas(sprite))
{
DestroyAnimSprite(sprite);
}
@@ -147,7 +147,7 @@ void sub_80D3728(struct Sprite *sprite)
else
var2 = 1;
- sub_80787B0(sprite, var1);
+ InitAnimSpritePos(sprite, var1);
if (GetBankSide(gAnimBankAttacker) != 0)
{
@@ -157,6 +157,6 @@ void sub_80D3728(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankTarget, var2) + gBattleAnimArgs[3];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c
index 160b51274..a7c25de49 100644
--- a/src/battle/anim/fight.c
+++ b/src/battle/anim/fight.c
@@ -77,7 +77,7 @@ void sub_80D90A4(struct Sprite *sprite)
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
if (gBattleAnimArgs[3] == 0)
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
else
sub_8078764(sprite, 1);
@@ -166,7 +166,7 @@ void sub_80D92D0(struct Sprite *sprite)
}
sprite->data[4] = sprite->pos1.y - 20;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, sub_80D9328);
}
@@ -182,7 +182,7 @@ static void sub_80D9328(struct Sprite *sprite)
sprite->pos2.y = 0;
sprite->pos2.x = 0;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
}
@@ -203,7 +203,7 @@ void sub_80D9378(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = sprite->pos1.y;
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->data[5] = gBattleAnimArgs[5];
sprite->data[6] = gBattleAnimArgs[4];
@@ -214,7 +214,7 @@ void sub_80D9378(struct Sprite *sprite)
static void sub_80D9404(struct Sprite *sprite)
{
- if (!sub_8078B5C(sprite))
+ if (!TranslateAnimSpriteByDeltas(sprite))
{
sprite->pos2.y += Sin(sprite->data[7] >> 8, sprite->data[5]);
sprite->data[7] += sprite->data[6];
@@ -261,7 +261,7 @@ static void sub_80D94CC(struct Sprite *sprite)
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, sub_80D9524);
}
}
@@ -435,9 +435,9 @@ static void sub_80D986C(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(sprite->data[7], 3);
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
StoreSpriteCallbackInData(sprite, move_anim_8074EE0);
- sprite->callback = sub_8078BB8;
+ sprite->callback = TranslateAnimSpriteByDeltasUntil;
}
}
@@ -530,9 +530,9 @@ void sub_80D9A38(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(bank, 3);
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
- sprite->callback = sub_8078BB8;
+ sprite->callback = TranslateAnimSpriteByDeltasUntil;
}
static void sub_80D9B24(struct Sprite *sprite)
@@ -573,7 +573,7 @@ void sub_80D9B48(struct Sprite *sprite)
void sub_80D9BD4(struct Sprite *sprite)
{
if (gBattleAnimArgs[2] == 0)
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
else
sub_8078764(sprite, 0);
diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c
index 4d577a765..fe63fcff1 100644
--- a/src/battle/anim/fire_2.c
+++ b/src/battle/anim/fire_2.c
@@ -42,7 +42,7 @@ struct Sprite *sub_80D5210(struct Sprite *sprite)
void sub_80D522C(struct Sprite *sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[7] = gBattleAnimArgs[2];
sprite->data[0] = 0;
@@ -62,7 +62,7 @@ void sub_80D5254(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->callback = sub_80D52AC;
}
@@ -70,7 +70,7 @@ void sub_80D5254(struct Sprite *sprite)
void sub_80D52AC(struct Sprite *sprite)
{
- if (sub_8078B5C(sprite))
+ if (TranslateAnimSpriteByDeltas(sprite))
{
sprite->data[0] = 0;
@@ -123,7 +123,7 @@ void sub_80D5374(struct Sprite *sprite)
void sub_80D53B4(struct Sprite *sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[3];
diff --git a/src/battle/anim/flying_path.c b/src/battle/anim/flying_path.c
index 441ac0e6d..559f617c6 100644
--- a/src/battle/anim/flying_path.c
+++ b/src/battle/anim/flying_path.c
@@ -53,7 +53,7 @@ void sub_80CBF5C(u8 taskId)
{
case 4:
sub_80CC358(task, taskId);
- if (sub_8078718(sprite) == 0)
+ if (TranslateAnimSpriteLinearAndSine(sprite) == 0)
{
break;
}
@@ -65,7 +65,7 @@ void sub_80CBF5C(u8 taskId)
break;
case 8:
sub_80CC358(task, taskId);
- if (sub_8078718(sprite) == 0)
+ if (TranslateAnimSpriteLinearAndSine(sprite) == 0)
{
break;
}
@@ -77,7 +77,7 @@ void sub_80CBF5C(u8 taskId)
break;
case 0:
sub_80CC358(task, taskId);
- if (sub_8078718(sprite) == 0)
+ if (TranslateAnimSpriteLinearAndSine(sprite) == 0)
break;
task->data[15] = 1;
@@ -103,7 +103,7 @@ void sub_80CBF5C(u8 taskId)
break;
case 2:
sub_80CC358(task, taskId);
- if (sub_8078718(sprite) == 0)
+ if (TranslateAnimSpriteLinearAndSine(sprite) == 0)
break;
task->data[15] = 3;
@@ -146,7 +146,7 @@ void sub_80CBF5C(u8 taskId)
break;
case 6:
sub_80CC358(task, taskId);
- if (sub_8078718(sprite) == 0)
+ if (TranslateAnimSpriteLinearAndSine(sprite) == 0)
break;
task->data[15] = 7;
@@ -189,7 +189,7 @@ void sub_80CBF5C(u8 taskId)
break;
case 10:
sub_80CC358(task, taskId);
- if (sub_8078718(sprite) == 0)
+ if (TranslateAnimSpriteLinearAndSine(sprite) == 0)
{
break;
}
@@ -221,7 +221,7 @@ void sub_80CBF5C(u8 taskId)
}
case 12:
sub_80CC358(task, taskId);
- if (sub_8078718(sprite) != 0)
+ if (TranslateAnimSpriteLinearAndSine(sprite) != 0)
{
DestroySprite(sprite);
task->data[0]++;
diff --git a/src/battle/anim/glitter.c b/src/battle/anim/glitter.c
index e4577f1e1..e6c101de3 100644
--- a/src/battle/anim/glitter.c
+++ b/src/battle/anim/glitter.c
@@ -35,7 +35,7 @@ void sub_80CD190(struct Sprite* sprite)
if (IsDoubleBattle() && IsAnimBankSpriteVisible(bank ^ 2))
{
- sub_807A3FC(bank, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y);
+ SetAverageBattlerPositions(bank, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y);
sub_807867C(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
}
diff --git a/src/battle/anim/grip.c b/src/battle/anim/grip.c
index c4d7b1cef..dbf7a1562 100644
--- a/src/battle/anim/grip.c
+++ b/src/battle/anim/grip.c
@@ -33,7 +33,7 @@ void sub_80D0178(struct Sprite* sprite)
sprite->data[0] = 6;
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r8;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + r6;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, sub_80D020C);
}
diff --git a/src/battle/anim/guard.c b/src/battle/anim/guard.c
index 254160109..211e0e841 100644
--- a/src/battle/anim/guard.c
+++ b/src/battle/anim/guard.c
@@ -15,7 +15,7 @@ void sub_80D3014(struct Sprite *sprite)
{
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2))
{
- sub_807A3FC(gAnimBankAttacker, 0, &sprite->pos1.x, &sprite->pos1.y);
+ SetAverageBattlerPositions(gAnimBankAttacker, 0, &sprite->pos1.x, &sprite->pos1.y);
sprite->pos1.y += 40;
StartSpriteAffineAnim(sprite, 1);
@@ -30,6 +30,6 @@ void sub_80D3014(struct Sprite *sprite)
sprite->data[2] = sprite->pos1.x;
sprite->data[4] = sprite->pos1.y - 72;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
diff --git a/src/battle/anim/guillotine.c b/src/battle/anim/guillotine.c
index b3d842cdf..15279d5e2 100644
--- a/src/battle/anim/guillotine.c
+++ b/src/battle/anim/guillotine.c
@@ -37,7 +37,7 @@ void sub_80D0228(struct Sprite* sprite)
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r9;
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + r6;
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->data[5] = gBattleAnimArgs[0];
sprite->data[6] = sprite->data[0];
sprite->callback = sub_80D02D0;
@@ -45,7 +45,7 @@ void sub_80D0228(struct Sprite* sprite)
void sub_80D02D0(struct Sprite* sprite)
{
- if (sub_8078B5C(sprite) && sprite->animEnded == 1)
+ if (TranslateAnimSpriteByDeltas(sprite) && sprite->animEnded == 1)
{
SeekSpriteAnim(sprite, 0);
sprite->animPaused = 1;
@@ -85,6 +85,6 @@ void sub_80D0344(struct Sprite* sprite)
void sub_80D03A8(struct Sprite* sprite)
{
- if (sub_8078B5C(sprite) != 0)
+ if (TranslateAnimSpriteByDeltas(sprite) != 0)
DestroyAnimSprite(sprite);
}
diff --git a/src/battle/anim/heart_1.c b/src/battle/anim/heart_1.c
index 5df89f929..857169e62 100644
--- a/src/battle/anim/heart_1.c
+++ b/src/battle/anim/heart_1.c
@@ -14,7 +14,7 @@ extern u8 gAnimBankTarget;
void sub_80D1C80(struct Sprite* sprite)
{
if (++sprite->data[0] == 1)
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
sprite->pos2.x = Sin(sprite->data[1], 8);
sprite->pos2.y = sprite->data[2] >> 8;
diff --git a/src/battle/anim/hop.c b/src/battle/anim/hop.c
index 4006e2d43..0697e83a0 100644
--- a/src/battle/anim/hop.c
+++ b/src/battle/anim/hop.c
@@ -91,7 +91,7 @@ void sub_80CB94C(struct Sprite* sprite)
{
s16 e1;
s16 e2;
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
e1 = GetBankPosition(gAnimBankTarget, 0);
e2 = GetBankPosition(gAnimBankTarget, 1);
if ((gAnimBankAttacker ^ 2) == gAnimBankTarget)
diff --git a/src/battle/anim/lunge_1.c b/src/battle/anim/lunge_1.c
index a2adfba13..a3b5f19c5 100644
--- a/src/battle/anim/lunge_1.c
+++ b/src/battle/anim/lunge_1.c
@@ -48,7 +48,7 @@ void sub_80CD7CC(struct Sprite* sprite)
sprite->data[2] = 0;
sprite->data[3] = gBankSpriteIds[gAnimBankAttacker];
StoreSpriteCallbackInData(sprite, sub_80CD81C);
- sprite->callback = sub_8078458;
+ sprite->callback = TranslateMonBGUntil;
}
void sub_80CD81C(struct Sprite* sprite)
@@ -78,7 +78,7 @@ void sub_80CD8A8(struct Sprite* sprite)
sprite->data[2] = 0;
sprite->data[3] = gBankSpriteIds[gAnimBankAttacker];
StoreSpriteCallbackInData(sprite, sub_80CD9B8);
- sprite->callback = sub_8078458;
+ sprite->callback = TranslateMonBGUntil;
}
void sub_80CD8F8(struct Sprite* sprite)
diff --git a/src/battle/anim/money.c b/src/battle/anim/money.c
index 8358d23db..0ee381e13 100644
--- a/src/battle/anim/money.c
+++ b/src/battle/anim/money.c
@@ -19,7 +19,7 @@ void sub_80CFE9C(struct Sprite* sprite)
s16 r7;
u16 var;
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
r6 = GetBankPosition(gAnimBankTarget, 2);
r7 = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3];
if (GetBankSide(gAnimBankAttacker) != 0)
diff --git a/src/battle/anim/note_rain.c b/src/battle/anim/note_rain.c
index 715462d73..44817b0a0 100644
--- a/src/battle/anim/note_rain.c
+++ b/src/battle/anim/note_rain.c
@@ -24,14 +24,14 @@ void sub_80D1BA8(struct Sprite* sprite, u8 a, u8 b)
void sub_80D1C08(struct Sprite* sprite)
{
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
if (GetBankSide(gAnimBankAttacker) != 0)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[3];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
sub_80D1BA8(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]);
}
diff --git a/src/battle/anim/note_scatter_2.c b/src/battle/anim/note_scatter_2.c
index 524c51c08..262afb8bf 100644
--- a/src/battle/anim/note_scatter_2.c
+++ b/src/battle/anim/note_scatter_2.c
@@ -32,14 +32,14 @@ void sub_80CEE60(struct Sprite* sprite)
sprite->data[2] = a + sprite->data[1];
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = sprite->data[3] - 40;
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->data[5] = gBattleAnimArgs[3];
sprite->callback = sub_80CEEE8;
}
void sub_80CEEE8(struct Sprite* sprite)
{
- if (sub_8078B5C(sprite) == 0)
+ if (TranslateAnimSpriteByDeltas(sprite) == 0)
{
s16 a;
a = Sin(sprite->data[5], 8);
diff --git a/src/battle/anim/orbit.c b/src/battle/anim/orbit.c
index c8cf339d2..e7dd0df49 100644
--- a/src/battle/anim/orbit.c
+++ b/src/battle/anim/orbit.c
@@ -79,13 +79,13 @@ void sub_80CACEC(u8 taskId)
void sub_80CAD54(struct Sprite* sprite)
{
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2];
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->data[5] = 0x40;
sprite->callback = sub_80CADA8;
sub_80CADA8(sprite);
@@ -93,7 +93,7 @@ void sub_80CAD54(struct Sprite* sprite)
void sub_80CADA8(struct Sprite* sprite)
{
- if (!sub_8078B5C(sprite))
+ if (!TranslateAnimSpriteByDeltas(sprite))
{
sprite->pos2.x += Sin(sprite->data[5], 32);
sprite->pos2.y += Cos(sprite->data[5], -5);
@@ -116,13 +116,13 @@ void sub_80CADA8(struct Sprite* sprite)
void sub_80CAE20(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2];
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->data[5] = 0x40;
sprite->callback = sub_80CAE74;
sub_80CAE74(sprite);
@@ -130,7 +130,7 @@ void sub_80CAE20(struct Sprite* sprite)
void sub_80CAE74(struct Sprite* sprite)
{
- if (!sub_8078B5C(sprite))
+ if (!TranslateAnimSpriteByDeltas(sprite))
{
sprite->pos2.x += Sin(sprite->data[5], 8);
if ((u16)(sprite->data[5] - 0x3B) < 5 || (u16)(sprite->data[5] - 0xBB) < 5)
diff --git a/src/battle/anim/orbs.c b/src/battle/anim/orbs.c
index 6ca2fa71c..b965cacb8 100644
--- a/src/battle/anim/orbs.c
+++ b/src/battle/anim/orbs.c
@@ -19,34 +19,34 @@ extern struct SpriteTemplate gSpriteTemplate_83D631C;
void sub_80CA7B0(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2);
sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3);
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, move_anim_8074EE0);
}
void sub_80CA800(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
StartSpriteAnim(sprite, gBattleAnimArgs[3]);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
void sub_80CA858(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->data[5] = gBattleAnimArgs[3];
sprite->callback = sub_80CA8B4;
sub_80CA8B4(sprite);
@@ -54,7 +54,7 @@ void sub_80CA858(struct Sprite* sprite)
void sub_80CA8B4(struct Sprite* sprite)
{
- if (sub_8078B5C(sprite))
+ if (TranslateAnimSpriteByDeltas(sprite))
{
DestroySprite(sprite);
}
@@ -105,7 +105,7 @@ void sub_80CA9A8(struct Sprite* sprite)
void sub_80CA9F8(struct Sprite* sprite)
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
DestroyAnimSprite(sprite);
}
diff --git a/src/battle/anim/perceive.c b/src/battle/anim/perceive.c
index 3b3153428..14db096c6 100644
--- a/src/battle/anim/perceive.c
+++ b/src/battle/anim/perceive.c
@@ -19,6 +19,6 @@ void sub_80D2904(struct Sprite* sprite)
void sub_80D2920(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->callback = sub_80D2904;
}
diff --git a/src/battle/anim/poison.c b/src/battle/anim/poison.c
index f31c441fb..272d99e84 100644
--- a/src/battle/anim/poison.c
+++ b/src/battle/anim/poison.c
@@ -17,7 +17,7 @@ void sub_80D9D70(struct Sprite *sprite)
if (!gBattleAnimArgs[3])
StartSpriteAnim(sprite, 2);
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
@@ -31,7 +31,7 @@ void sub_80D9D70(struct Sprite *sprite)
void sub_80D9DD4(struct Sprite *sprite) // same as sub_80D9E78
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
DestroyAnimSprite(sprite);
}
@@ -41,8 +41,8 @@ void sub_80D9DF0(struct Sprite *sprite)
if (!gBattleAnimArgs[3])
StartSpriteAnim(sprite, 2);
- sub_80787B0(sprite, 1);
- sub_807A3FC(gAnimBankTarget, 1, &l1, &l2);
+ InitAnimSpritePos(sprite, 1);
+ SetAverageBattlerPositions(gAnimBankTarget, 1, &l1, &l2);
if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[4] = -gBattleAnimArgs[4];
@@ -59,7 +59,7 @@ void sub_80D9DF0(struct Sprite *sprite)
void sub_80D9E78(struct Sprite *sprite) // same as sub_80D9DD4
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
DestroyAnimSprite(sprite);
}
@@ -71,7 +71,7 @@ void sub_80D9E94(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[1];
- sub_8078A5C(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->data[5] = sprite->data[1] / gBattleAnimArgs[2];
sprite->data[6] = sprite->data[2] / gBattleAnimArgs[2];
@@ -92,7 +92,7 @@ void sub_80D9EE8(struct Sprite *sprite)
void sub_80D9F14(struct Sprite *sprite)
{
- sub_807A3FC(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
+ SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
@@ -104,7 +104,7 @@ void sub_80D9F14(struct Sprite *sprite)
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
sprite->data[4] = sprite->pos1.y + sprite->data[0];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
@@ -116,7 +116,7 @@ void sub_80D9F88(struct Sprite *sprite)
}
else
{
- sub_807A3FC(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
+ SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c
index 37c527183..b108c496a 100644
--- a/src/battle/anim/psychic.c
+++ b/src/battle/anim/psychic.c
@@ -192,7 +192,7 @@ void sub_80DBA4C(struct Sprite *sprite)
else
{
if (gBattleAnimArgs[2] == 0)
- sub_80787B0(sprite, var0);
+ InitAnimSpritePos(sprite, var0);
else
sub_8078764(sprite, var0);
}
@@ -539,7 +539,7 @@ static void sub_80DC1FC(u8 taskId)
void sub_80DC2B0(struct Sprite *sprite)
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
{
FreeOamMatrix(sprite->oam.matrixNum);
DestroySprite(sprite);
diff --git a/src/battle/anim/ring.c b/src/battle/anim/ring.c
index 759652f0c..86b2c4659 100644
--- a/src/battle/anim/ring.c
+++ b/src/battle/anim/ring.c
@@ -32,7 +32,7 @@ void sub_80D0FD8(struct Sprite* sprite)
r4 = gBattleAnimArgs[3] ^ 1;
if (IsDoubleBattle() && IsAnimBankSpriteVisible(bank ^ 2))
{
- sub_807A3FC(bank, r4, &sp0, &sp1);
+ SetAverageBattlerPositions(bank, r4, &sp0, &sp1);
if (r4 == 0)
r4 = GetBankPosition(bank, 0);
else
@@ -50,7 +50,7 @@ void sub_80D0FD8(struct Sprite* sprite)
void sub_80D1098(struct Sprite* sprite)
{
- if (sub_8078B5C(sprite))
+ if (TranslateAnimSpriteByDeltas(sprite))
{
FreeSpriteOamMatrix(sprite);
DestroyAnimSprite(sprite);
@@ -118,7 +118,7 @@ void sub_80D10B8(struct Sprite* sprite)
r6 = GetBankPosition(bankr7, sp4) + gBattleAnimArgs[1];
if (gMain.inBattle && IsAnimBankSpriteVisible(bankr8 ^ 2))
{
- sub_807A3FC(bankr8, gBattleAnimArgs[6], &sp0, &sp1);
+ SetAverageBattlerPositions(bankr8, gBattleAnimArgs[6], &sp0, &sp1);
}
else
{
@@ -137,7 +137,7 @@ void sub_80D10B8(struct Sprite* sprite)
sprite->data[2] = sp0;
sprite->data[4] = sp1;
sprite->data[0] = gBattleAnimArgs[0];
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->callback = sub_80D1098;
sub_80D1098(sprite);
}
diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c
index b113ce040..1d1772b1b 100644
--- a/src/battle/anim/rock.c
+++ b/src/battle/anim/rock.c
@@ -38,7 +38,7 @@ static void sub_80DD9FC(struct Sprite *sprite);
void sub_80DCE9C(struct Sprite *sprite)
{
if (gBattleAnimArgs[3] != 0)
- sub_807A3FC(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
+ SetAverageBattlerPositions(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += 14;
@@ -91,7 +91,7 @@ void sub_80DCF60(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3];
- sub_8078A5C(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = 0;
sprite->data[4] = 0;
@@ -102,7 +102,7 @@ void sub_80DCF60(struct Sprite *sprite)
void sub_80DCFE4(struct Sprite *sprite)
{
if (gBattleAnimArgs[6] == 0)
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
else
sub_8078764(sprite, 0);
@@ -275,13 +275,13 @@ void sub_80DD3AC(struct Sprite *sprite)
void sub_80DD490(struct Sprite *sprite)
{
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[2] = sprite->pos1.x;
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
@@ -455,7 +455,7 @@ static void sub_80DD774(struct Task *task)
void sub_80DD87C(struct Sprite *sprite)
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
{
u8 taskId = FindTaskIdByFunc(sub_80DD604);
if (taskId != 0xFF)
@@ -517,7 +517,7 @@ void sub_80DD978(struct Sprite *sprite)
if (GetBankSide(gAnimBankAttacker) == SIDE_OPPONENT)
StartSpriteAffineAnim(sprite, 1);
- sub_807941C(sprite);
+ TranslateAnimSpriteToTargetMonLocation(sprite);
}
void sub_80DD9A4(struct Sprite *sprite)
diff --git a/src/battle/anim/scan.c b/src/battle/anim/scan.c
index 22bb26973..e6b85dd5f 100644
--- a/src/battle/anim/scan.c
+++ b/src/battle/anim/scan.c
@@ -47,7 +47,7 @@ void sub_80CD408(struct Sprite* sprite)
sprite->data[0] = 8;
sprite->data[2] = sprite->pos1.x + gUnknown_083D6DDC[sprite->data[5] >> 8][0];
sprite->data[4] = sprite->pos1.y + gUnknown_083D6DDC[sprite->data[5] >> 8][1];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, sub_80CD4B8);
sprite->data[5] += 0x100;
PlaySE12WithPanning(0xD2, BattleAnimAdjustPanning(0x3F));
@@ -112,7 +112,7 @@ void sub_80CD4EC(struct Sprite* sprite)
sprite->data[0] = 6;
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + a;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + b;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, sub_80CD654);
}
}
diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c
index be8613a74..e3d4bd3fb 100644
--- a/src/battle/anim/seed.c
+++ b/src/battle/anim/seed.c
@@ -15,7 +15,7 @@ static void sub_80CABC0(struct Sprite* sprite);
void sub_80CAB18(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
if (GetBankSide(gAnimBankAttacker))
{
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -31,7 +31,7 @@ void sub_80CAB18(struct Sprite* sprite)
void sub_80CAB88(struct Sprite* sprite)
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
{
sprite->invisible = 1;
sprite->data[0] = 10;
diff --git a/src/battle/anim/sonic.c b/src/battle/anim/sonic.c
index 0897ec6e3..2808c86c2 100644
--- a/src/battle/anim/sonic.c
+++ b/src/battle/anim/sonic.c
@@ -29,7 +29,7 @@ void sub_80CF6DC(struct Sprite* sprite)
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
}
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
a = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
b = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3];
c = sub_80790F0(a - sprite->pos1.x, b - sprite->pos1.y);
@@ -41,7 +41,7 @@ void sub_80CF6DC(struct Sprite* sprite)
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = a;
sprite->data[4] = b;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
diff --git a/src/battle/anim/sonic_task.c b/src/battle/anim/sonic_task.c
index 924b1b568..260ae544c 100644
--- a/src/battle/anim/sonic_task.c
+++ b/src/battle/anim/sonic_task.c
@@ -87,7 +87,7 @@ void sub_80CFB04(u8 taskId)
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
&& IsAnimBankSpriteVisible(gAnimBankTarget ^ 2))
{
- sub_807A3FC(gAnimBankTarget, 0, &sp1, &sp2);
+ SetAverageBattlerPositions(gAnimBankTarget, 0, &sp1, &sp2);
}
else
{
diff --git a/src/battle/anim/sunlight.c b/src/battle/anim/sunlight.c
index e6fd49a11..88112c74a 100644
--- a/src/battle/anim/sunlight.c
+++ b/src/battle/anim/sunlight.c
@@ -12,6 +12,6 @@ void sub_80D517C(struct Sprite *sprite)
sprite->data[0] = 60;
sprite->data[2] = 140;
sprite->data[4] = 80;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
diff --git a/src/battle/anim/sword.c b/src/battle/anim/sword.c
index b46fe6759..3367cca07 100644
--- a/src/battle/anim/sword.c
+++ b/src/battle/anim/sword.c
@@ -15,7 +15,7 @@ static void sub_80CF6B4(struct Sprite* sprite);
void sub_80CF690(struct Sprite* sprite)
{
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
sprite->callback = sub_80785E4;
StoreSpriteCallbackInData(sprite, sub_80CF6B4);
}
@@ -25,6 +25,6 @@ void sub_80CF6B4(struct Sprite* sprite)
sprite->data[0] = 6;
sprite->data[2] = sprite->pos1.x;
sprite->data[4] = sprite->pos1.y - 32;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
diff --git a/src/battle/anim/tile_out.c b/src/battle/anim/tile_out.c
index 50468a440..39d4ff01f 100644
--- a/src/battle/anim/tile_out.c
+++ b/src/battle/anim/tile_out.c
@@ -37,7 +37,7 @@ void sub_80CE1AC(struct Sprite* sprite)
sprite->data[0] = 30;
sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2);
sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3);
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
}
diff --git a/src/battle/anim/unused_8.c b/src/battle/anim/unused_8.c
index 03772f951..b5e150dd8 100644
--- a/src/battle/anim/unused_8.c
+++ b/src/battle/anim/unused_8.c
@@ -15,7 +15,7 @@ static void sub_80CF4B8(struct Sprite* sprite);
void sub_80CF458(struct Sprite* sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[4];
@@ -28,7 +28,7 @@ void sub_80CF490(struct Sprite* sprite)
sprite->data[0] = sprite->data[1];
sprite->data[2] = sprite->pos1.x;
sprite->data[4] = sprite->pos1.y + 15;
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, sub_80CF4B8);
}
diff --git a/src/battle/anim/unused_9.c b/src/battle/anim/unused_9.c
index 0efd40c02..6e0d0321b 100644
--- a/src/battle/anim/unused_9.c
+++ b/src/battle/anim/unused_9.c
@@ -18,7 +18,7 @@ static void sub_80CFE2C(struct Sprite* sprite);
void sub_80CFDFC(struct Sprite* sprite)
{
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
sprite->data[0] = 0x100 + (IndexOfSpritePaletteTag(gSpriteTemplate_83D75AC.paletteTag) << 4);
sprite->callback = sub_80CFE2C;
}
diff --git a/src/battle/anim/water.c b/src/battle/anim/water.c
index 4068cbe78..e6945f9b2 100644
--- a/src/battle/anim/water.c
+++ b/src/battle/anim/water.c
@@ -18,7 +18,7 @@ void sub_80D37FC(struct Sprite *sprite)
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[4];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
@@ -30,7 +30,7 @@ void sub_80D3838(struct Sprite *sprite)
}
else
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
}
sprite->data[7] = gBattleAnimArgs[2];
diff --git a/src/battle/anim/wisp_orb.c b/src/battle/anim/wisp_orb.c
index 0cbe6eed7..7c22b7f13 100644
--- a/src/battle/anim/wisp_orb.c
+++ b/src/battle/anim/wisp_orb.c
@@ -21,7 +21,7 @@ void sub_80D5B0C(struct Sprite *sprite)
switch (sprite->data[0])
{
case 0:
- sub_80787B0(sprite, 0);
+ InitAnimSpritePos(sprite, 0);
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
sprite->data[7] = gBattleAnimArgs[2];
@@ -86,7 +86,7 @@ static void sub_80D5C5C(struct Sprite *sprite)
s16 initialData5;
s16 newData5;
- if (!sub_8078B5C(sprite))
+ if (!TranslateAnimSpriteByDeltas(sprite))
{
sprite->pos2.x += Sin(sprite->data[5], 16);
initialData5 = sprite->data[5];
diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c
index 2f10b07ae..f339a1206 100644
--- a/src/battle/battle_anim_80A7E7C.c
+++ b/src/battle/battle_anim_80A7E7C.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle.h"
#include "battle_anim.h"
#include "rom_8077ABC.h"
#include "sprite.h"
@@ -16,27 +17,27 @@ extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
static void AnimTask_ShakeMonStep(u8 taskId);
-static void sub_80A808C(u8 taskId);
-static void sub_80A81D8(u8 taskId);
-static void sub_80A8374(u8 taskId);
+static void AnimTask_ShakeMon2Step(u8 taskId);
+static void AnimTask_ShakeMonInPlaceStep(u8 taskId);
+static void AnimTask_ShakeAndSinkMonStep(u8 taskId);
static void sub_80A8488(u8 taskId);
-static void sub_80A8530(struct Sprite *sprite);
-static void sub_80A85A4(struct Sprite *sprite);
-static void sub_80A85C8(struct Sprite *sprite);
-static void sub_80A8614(struct Sprite* sprite);
-static void sub_80A8638(struct Sprite *sprite);
-static void sub_80A86F4(struct Sprite *sprite);
-static void sub_80A8764(struct Sprite *sprite);
+static void DoHorizontalLunge(struct Sprite *sprite);
+static void ReverseHorizontalLungeDirection(struct Sprite *sprite);
+static void DoVerticalDip(struct Sprite *sprite);
+static void ReverseVerticalDipDirection(struct Sprite* sprite);
+static void SlideMonToOriginalPos(struct Sprite *sprite);
+static void SlideMonToOriginalPosStep(struct Sprite *sprite);
+static void SlideMonToOffset(struct Sprite *sprite);
static void sub_80A8818(struct Sprite *sprite);
static void sub_80A88F0(struct Sprite *sprite);
static void sub_80A89B4(u8 taskId);
static void sub_80A8A18(u8 taskId);
-static void sub_80A8C0C(u8 taskId);
+static void AnimTask_SwayMonStep(u8 taskId);
static void sub_80A8D8C(u8 taskId);
static void sub_80A8FD8(u8 taskId);
static void sub_80A913C(u8 taskId);
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FB0 =
+const struct SpriteTemplate gHorizontalLungeSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
@@ -44,10 +45,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FB0 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8530,
+ .callback = DoHorizontalLunge,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FC8 =
+const struct SpriteTemplate gVerticalDipSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
@@ -55,10 +56,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FC8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A85C8,
+ .callback = DoVerticalDip,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FE0 =
+const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
@@ -66,10 +67,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FE0 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8638,
+ .callback = SlideMonToOriginalPos,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FF8 =
+const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
@@ -77,7 +78,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C1FF8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A8764,
+ .callback = SlideMonToOffset,
};
const struct SpriteTemplate gBattleAnimSpriteTemplate_83C2010 =
@@ -154,13 +155,19 @@ static void AnimTask_ShakeMonStep(u8 taskId)
}
}
-
-void sub_80A7FA0(u8 taskId)
+// Task to facilitate simple shaking of a pokemon's picture in battle.
+// The shaking alternates between the positive and negative versions of the specified pixel offsets.
+// arg 0: anim battler
+// arg 1: x pixel offset
+// arg 2: y pixel offset
+// arg 3: num times to shake
+// arg 4: frame delay
+void AnimTask_ShakeMon2(u8 taskId)
{
u8 sprite;
- bool8 r6;
+ bool8 destroy;
u8 side;
- r6 = 0;
+ destroy = FALSE;
if (gBattleAnimArgs[0] < 4)
{
sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
@@ -188,21 +195,23 @@ void sub_80A7FA0(u8 taskId)
side = GetBankByIdentity(3);
break;
}
+
if (IsAnimBankSpriteVisible(side) == FALSE)
- {
- r6 = 1;
- }
+ destroy = TRUE;
+
sprite = gBankSpriteIds[side];
}
else
{
sprite = gBankSpriteIds[gAnimBankAttacker];
}
- if (r6)
+
+ if (destroy)
{
DestroyAnimVisualTask(taskId);
return;
}
+
gSprites[sprite].pos2.x = gBattleAnimArgs[1];
gSprites[sprite].pos2.y = gBattleAnimArgs[2];
TASK.data[0] = sprite;
@@ -211,30 +220,24 @@ void sub_80A7FA0(u8 taskId)
TASK.data[3] = gBattleAnimArgs[4];
TASK.data[4] = gBattleAnimArgs[1];
TASK.data[5] = gBattleAnimArgs[2];
- TASK.func = sub_80A808C;
- sub_80A808C(taskId);
+ TASK.func = AnimTask_ShakeMon2Step;
+ TASK.func(taskId);
}
-static void sub_80A808C(u8 taskId)
+static void AnimTask_ShakeMon2Step(u8 taskId)
{
if (TASK.data[3] == 0)
{
if (SPRITE.pos2.x == TASK.data[4])
- {
SPRITE.pos2.x = -TASK.data[4];
- }
else
- {
SPRITE.pos2.x = TASK.data[4];
- }
+
if (SPRITE.pos2.y == TASK.data[5])
- {
SPRITE.pos2.y = -TASK.data[5];
- }
else
- {
SPRITE.pos2.y = TASK.data[5];
- }
+
TASK.data[3] = TASK.data[2];
if (--TASK.data[1] == 0)
{
@@ -250,29 +253,37 @@ static void sub_80A808C(u8 taskId)
}
}
-void sub_80A8154(u8 taskId)
+// Task to facilitate simple shaking of a pokemon's picture in battle.
+// The shaking alternates between the positive and negative versions of the specified pixel offsets
+// with respect to the current location of the mon's picture.
+// arg 0: battler
+// arg 1: x offset
+// arg 2: y offset
+// arg 3: num shakes
+// arg 4: delay
+void AnimTask_ShakeMonInPlace(u8 taskId)
{
- u8 sprite;
- sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
- if (sprite == 0xff)
+ u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]);
+ if (spriteId == 0xff)
{
DestroyAnimVisualTask(taskId);
return;
}
- gSprites[sprite].pos2.x += gBattleAnimArgs[1];
- gSprites[sprite].pos2.y += gBattleAnimArgs[2];
- TASK.data[0] = sprite;
+
+ gSprites[spriteId].pos2.x += gBattleAnimArgs[1];
+ gSprites[spriteId].pos2.y += gBattleAnimArgs[2];
+ TASK.data[0] = spriteId;
TASK.data[1] = 0;
TASK.data[2] = gBattleAnimArgs[3];
TASK.data[3] = 0;
TASK.data[4] = gBattleAnimArgs[4];
TASK.data[5] = gBattleAnimArgs[1] * 2;
TASK.data[6] = gBattleAnimArgs[2] * 2;
- TASK.func = sub_80A81D8;
- sub_80A81D8(taskId);
+ TASK.func = AnimTask_ShakeMonInPlaceStep;
+ TASK.func(taskId);
}
-static void sub_80A81D8(u8 taskId)
+static void AnimTask_ShakeMonInPlaceStep(u8 taskId)
{
if (TASK.data[3] == 0)
{
@@ -309,7 +320,13 @@ static void sub_80A81D8(u8 taskId)
}
}
-void sub_80A8314(u8 taskId)
+// Shakes a mon bg horizontally and moves it downward linearly.
+// arg 0: battler
+// arg 1: x offset
+// arg 2: frame delay between each movement
+// arg 3: downward speed (subpixel)
+// arg 4: duration
+void AnimTask_ShakeAndSinkMon(u8 taskId)
{
u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
gSprites[sprite].pos2.x = gBattleAnimArgs[1];
@@ -318,11 +335,11 @@ void sub_80A8314(u8 taskId)
TASK.data[2] = gBattleAnimArgs[2];
TASK.data[3] = gBattleAnimArgs[3];
TASK.data[4] = gBattleAnimArgs[4];
- TASK.func = sub_80A8374;
- sub_80A8374(taskId);
+ TASK.func = AnimTask_ShakeAndSinkMonStep;
+ TASK.func(taskId);
}
-static void sub_80A8374(u8 taskId)
+static void AnimTask_ShakeAndSinkMonStep(u8 taskId)
{
s16 x;
u8 sprite;
@@ -332,11 +349,11 @@ static void sub_80A8374(u8 taskId)
{
TASK.data[8] = 0;
if (gSprites[sprite].pos2.x == x)
- {
x = -x;
- }
+
gSprites[sprite].pos2.x += x;
}
+
TASK.data[1] = x;
TASK.data[9] += TASK.data[3];
gSprites[sprite].pos2.y = TASK.data[9] >> 8;
@@ -347,89 +364,109 @@ static void sub_80A8374(u8 taskId)
}
}
-void sub_80A8408(u8 taskId)
+// Moves a mon bg picture along an elliptical path that begins
+// and ends at the mon's origin location.
+// arg 0: battler
+// arg 1: ellipse width
+// arg 2: ellipse height
+// arg 3: num loops
+// arg 4: speed (valid values are 0-5)
+void AnimTask_TranslateMonElliptical(u8 taskId)
{
u8 i;
- u8 sprite;
- u8 v1;
- v1 = 1;
- sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]);
+ u8 spriteId;
+ u8 wavePeriod;
+
+ wavePeriod = 1;
+ spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]);
if (gBattleAnimArgs[4] > 5)
- {
gBattleAnimArgs[4] = 5;
- }
+
for (i = 0; i < gBattleAnimArgs[4]; i++)
{
- v1 <<= 1;
+ wavePeriod <<= 1;
}
- TASK.data[0] = sprite;
+
+ TASK.data[0] = spriteId;
TASK.data[1] = gBattleAnimArgs[1];
TASK.data[2] = gBattleAnimArgs[2];
TASK.data[3] = gBattleAnimArgs[3];
- TASK.data[4] = v1;
+ TASK.data[4] = wavePeriod;
TASK.func = sub_80A8488;
- sub_80A8488(taskId);
+ TASK.func(taskId);
}
static void sub_80A8488(u8 taskId)
{
- u8 sprite;
- sprite = TASK.data[0];
- gSprites[sprite].pos2.x = Sin(TASK.data[5], TASK.data[1]);
- gSprites[sprite].pos2.y = -Cos(TASK.data[5], TASK.data[2]);
- gSprites[sprite].pos2.y += TASK.data[2];
+ u8 spriteId = TASK.data[0];
+ gSprites[spriteId].pos2.x = Sin(TASK.data[5], TASK.data[1]);
+ gSprites[spriteId].pos2.y = -Cos(TASK.data[5], TASK.data[2]);
+ gSprites[spriteId].pos2.y += TASK.data[2];
TASK.data[5] += TASK.data[4];
TASK.data[5] &= 0xff;
+
if (TASK.data[5] == 0)
- {
TASK.data[3]--;
- }
+
if (TASK.data[3] == 0)
{
- gSprites[sprite].pos2.x = 0;
- gSprites[sprite].pos2.y = 0;
+ gSprites[spriteId].pos2.x = 0;
+ gSprites[spriteId].pos2.y = 0;
DestroyAnimVisualTask(taskId);
return;
}
}
-void sub_80A8500(u8 taskId)
+// Moves a mon bg picture along an elliptical path that begins
+// and ends at the mon's origin location. Reverses the direction
+// of the path if it's not on the player's side of the battle.
+// arg 0: battler
+// arg 1: ellipse width
+// arg 2: ellipse height
+// arg 3: num loops
+// arg 4: speed (valid values are 0-5)
+void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId)
{
- if (GetBankSide(gAnimBankAttacker))
- {
+ if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
- }
- sub_80A8408(taskId);
+
+ AnimTask_TranslateMonElliptical(taskId);
}
-static void sub_80A8530(struct Sprite *sprite)
+// Performs a simple horizontal lunge, where the mon moves
+// horizontally, and then moves back in the opposite direction.
+// arg 0: duration of single lunge direction
+// arg 1: x pixel delta that is applied each frame
+static void DoHorizontalLunge(struct Sprite *sprite)
{
sprite->invisible = TRUE;
- if (GetBankSide(gAnimBankAttacker))
- {
+ if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
sprite->data[1] = -gBattleAnimArgs[1];
- }
else
- {
sprite->data[1] = gBattleAnimArgs[1];
- }
+
sprite->data[0] = gBattleAnimArgs[0];
sprite->data[2] = 0;
sprite->data[3] = gBankSpriteIds[gAnimBankAttacker];
sprite->data[4] = gBattleAnimArgs[0];
- StoreSpriteCallbackInData(sprite, sub_80A85A4);
- sprite->callback = sub_8078458;
+ StoreSpriteCallbackInData(sprite, ReverseHorizontalLungeDirection);
+ sprite->callback = TranslateMonBGUntil;
}
-static void sub_80A85A4(struct Sprite *sprite)
+static void ReverseHorizontalLungeDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[1] = -sprite->data[1];
- sprite->callback = sub_8078458;
+ sprite->callback = TranslateMonBGUntil;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-static void sub_80A85C8(struct Sprite *sprite)
+// Performs a simple vertical dipping motion, where moves vertically, and then
+// moves back in the opposite direction.
+// arg 0: duration of single dip direction
+// arg 1: y pixel delta that is applied each frame
+// arg 2: battler
+static void DoVerticalDip(struct Sprite *sprite)
{
u8 spriteId;
sprite->invisible = TRUE;
@@ -439,73 +476,72 @@ static void sub_80A85C8(struct Sprite *sprite)
sprite->data[2] = gBattleAnimArgs[1];
sprite->data[3] = spriteId;
sprite->data[4] = gBattleAnimArgs[0];
- StoreSpriteCallbackInData(sprite, sub_80A8614);
- sprite->callback = sub_8078458;
+ StoreSpriteCallbackInData(sprite, ReverseVerticalDipDirection);
+ sprite->callback = TranslateMonBGUntil;
}
-static void sub_80A8614(struct Sprite *sprite)
+static void ReverseVerticalDipDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[2] = -sprite->data[2];
- sprite->callback = sub_8078458;
+ sprite->callback = TranslateMonBGUntil;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-static void sub_80A8638(struct Sprite *sprite)
+// Linearly slides a mon's bg picture back to its original sprite position.
+// The sprite parameter is a dummy sprite used for facilitating the movement with its callback.
+// arg 0: 1 = target or 0 = attacker
+// arg 1: direction (0 = horizontal and vertical, 1 = horizontal only, 2 = vertical only)
+// arg 2: duration
+static void SlideMonToOriginalPos(struct Sprite *sprite)
{
int something;
- int spriteId;
+ int monSpriteId;
if (!gBattleAnimArgs[0])
- {
- spriteId = gBankSpriteIds[gAnimBankAttacker];
- }
+ monSpriteId = gBankSpriteIds[gAnimBankAttacker];
else
- {
- spriteId = gBankSpriteIds[gAnimBankTarget];
- }
+ monSpriteId = gBankSpriteIds[gAnimBankTarget];
+
sprite->data[0] = gBattleAnimArgs[2];
- sprite->data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
- sprite->data[2] = gSprites[spriteId].pos1.x;
- sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
- sprite->data[4] = gSprites[spriteId].pos1.y;
+ sprite->data[1] = gSprites[monSpriteId].pos1.x + gSprites[monSpriteId].pos2.x;
+ sprite->data[2] = gSprites[monSpriteId].pos1.x;
+ sprite->data[3] = gSprites[monSpriteId].pos1.y + gSprites[monSpriteId].pos2.y;
+ sprite->data[4] = gSprites[monSpriteId].pos1.y;
something = 0;
- sub_8078A5C(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = something;
sprite->data[4] = something;
- sprite->data[5] = gSprites[spriteId].pos2.x;
- sprite->data[6] = gSprites[spriteId].pos2.y;
+ sprite->data[5] = gSprites[monSpriteId].pos2.x;
+ sprite->data[6] = gSprites[monSpriteId].pos2.y;
sprite->invisible = TRUE;
+
if (gBattleAnimArgs[1] == 1)
- {
sprite->data[2] = something;
- }
else if (gBattleAnimArgs[1] == 2)
- {
sprite->data[1] = something;
- }
+
sprite->data[7] = gBattleAnimArgs[1];
- sprite->data[7] |= spriteId << 8;
- sprite->callback = sub_80A86F4;
+ sprite->data[7] |= monSpriteId << 8;
+ sprite->callback = SlideMonToOriginalPosStep;
}
-static void sub_80A86F4(struct Sprite *sprite)
+static void SlideMonToOriginalPosStep(struct Sprite *sprite)
{
- s8 spriteId;
+ s8 monSpriteId;
u8 lo;
- struct Sprite *sprite2;
+ struct Sprite *monSprite;
+
lo = sprite->data[7] & 0xff;
- spriteId = sprite->data[7] >> 8;
- sprite2 = &gSprites[spriteId];
+ monSpriteId = sprite->data[7] >> 8;
+ monSprite = &gSprites[monSpriteId];
if (sprite->data[0] == 0)
{
if (lo < 2)
- {
- sprite2->pos2.x = 0;
- }
+ monSprite->pos2.x = 0;
+
if (lo == 2 || lo == 0)
- {
- sprite2->pos2.y = 0;
- }
+ monSprite->pos2.y = 0;
+
DestroyAnimSprite(sprite);
}
else
@@ -513,25 +549,30 @@ static void sub_80A86F4(struct Sprite *sprite)
sprite->data[0]--;
sprite->data[3] += sprite->data[1];
sprite->data[4] += sprite->data[2];
- sprite2->pos2.x = (s8)(sprite->data[3] >> 8) + sprite->data[5];
- sprite2->pos2.y = (s8)(sprite->data[4] >> 8) + sprite->data[6];
+ monSprite->pos2.x = (s8)(sprite->data[3] >> 8) + sprite->data[5];
+ monSprite->pos2.y = (s8)(sprite->data[4] >> 8) + sprite->data[6];
}
}
-static void sub_80A8764(struct Sprite *sprite)
+// Linearly translates a mon to a target offset. The horizontal offset
+// is mirrored for the opponent's pokemon, and the vertical offset
+// is only mirrored if arg 3 is set to 1.
+// arg 0: 0 = attacker, 1 = target
+// arg 1: target x pixel offset
+// arg 2: target y pixel offset
+// arg 3: mirror vertical translation for opposite battle side
+// arg 4: duration
+static void SlideMonToOffset(struct Sprite *sprite)
{
- u8 v1;
- u8 spriteId;
+ u8 battler;
+ u8 monSpriteId;
if (!gBattleAnimArgs[0])
- {
- v1 = gAnimBankAttacker;
- }
+ battler = gAnimBankAttacker;
else
- {
- v1 = gAnimBankTarget;
- }
- spriteId = gBankSpriteIds[v1];
- if (GetBankSide(v1))
+ battler = gAnimBankTarget;
+
+ monSpriteId = gBankSpriteIds[battler];
+ if (GetBankSide(battler) != SIDE_PLAYER)
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
if (gBattleAnimArgs[3] == 1)
@@ -539,18 +580,19 @@ static void sub_80A8764(struct Sprite *sprite)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
}
}
+
sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[1] = gSprites[spriteId].pos1.x;
- sprite->data[2] = gSprites[spriteId].pos1.x + gBattleAnimArgs[1];
- sprite->data[3] = gSprites[spriteId].pos1.y;
- sprite->data[4] = gSprites[spriteId].pos1.y + gBattleAnimArgs[2];
- sub_8078A5C(sprite);
+ sprite->data[1] = gSprites[monSpriteId].pos1.x;
+ sprite->data[2] = gSprites[monSpriteId].pos1.x + gBattleAnimArgs[1];
+ sprite->data[3] = gSprites[monSpriteId].pos1.y;
+ sprite->data[4] = gSprites[monSpriteId].pos1.y + gBattleAnimArgs[2];
+ InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = 0;
sprite->data[4] = 0;
- sprite->data[5] = spriteId;
+ sprite->data[5] = monSpriteId;
sprite->invisible = TRUE;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
- sprite->callback = sub_80784A8;
+ sprite->callback = TranslateMonBGSubPixelUntil;
}
static void sub_80A8818(struct Sprite *sprite)
@@ -580,7 +622,7 @@ static void sub_80A8818(struct Sprite *sprite)
sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1];
sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2];
- sub_8078A5C(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = gSprites[spriteId].pos2.x << 8;
sprite->data[4] = gSprites[spriteId].pos2.y << 8;
sprite->data[5] = spriteId;
@@ -593,7 +635,7 @@ static void sub_80A8818(struct Sprite *sprite)
{
StoreSpriteCallbackInData(sprite, sub_80A88F0);
}
- sprite->callback = sub_80784A8;
+ sprite->callback = TranslateMonBGSubPixelUntil;
}
@@ -712,59 +754,67 @@ static void sub_80A8B3C(u8 taskId)
}
}
-void sub_80A8B88(u8 taskId)
+// Task that facilitates translating the mon bg picture back and forth
+// in a swaying motion (uses Sine wave). It can sway either horizontally
+// or vertically, but not both.
+// arg 0: direction (0 = horizontal, 1 = vertical)
+// arg 1: wave amplitude
+// arg 2: wave period
+// arg 3: num sways
+// arg 4: which mon (0 = attacker, 1`= target)
+void AnimTask_SwayMon(u8 taskId)
{
u8 spriteId;
- if (GetBankSide(gAnimBankAttacker))
- {
+ if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
- }
+
spriteId = GetAnimBankSpriteId(gBattleAnimArgs[4]);
TASK.data[0] = gBattleAnimArgs[0];
TASK.data[1] = gBattleAnimArgs[1];
TASK.data[2] = gBattleAnimArgs[2];
TASK.data[3] = gBattleAnimArgs[3];
TASK.data[4] = spriteId;
+
if (gBattleAnimArgs[4] == 0)
- {
TASK.data[5] = gAnimBankAttacker;
- }
else
- {
TASK.data[5] = gAnimBankTarget;
- }
+
TASK.data[12] = 1;
- TASK.func = sub_80A8C0C;
+ TASK.func = AnimTask_SwayMonStep;
}
-static void sub_80A8C0C(u8 taskId)
+static void AnimTask_SwayMonStep(u8 taskId)
{
- s16 y;
+ s16 sineValue;
u8 spriteId;
- int index;
- u16 val;
+ int waveIndex;
+ u16 sineIndex;
+
spriteId = TASK.data[4];
- val = TASK.data[10] + TASK.data[2];
- TASK.data[10] = val;
- index = val >> 8;
- y = Sin(index, TASK.data[1]);
+ sineIndex = TASK.data[10] + TASK.data[2];
+ TASK.data[10] = sineIndex;
+ waveIndex = sineIndex >> 8;
+ sineValue = Sin(waveIndex, TASK.data[1]);
+
if (TASK.data[0] == 0)
{
- gSprites[spriteId].pos2.x = y;
+ gSprites[spriteId].pos2.x = sineValue;
}
else
{
- if (GetBankSide(TASK.data[5]) == 0)
+ if (GetBankSide(TASK.data[5]) == SIDE_PLAYER)
{
- gSprites[spriteId].pos2.y = (y >= 0) ? y : -y;
+ gSprites[spriteId].pos2.y = (sineValue >= 0) ? sineValue : -sineValue;
}
else
{
- gSprites[spriteId].pos2.y = (y >= 0) ? -y : y;
+ gSprites[spriteId].pos2.y = (sineValue >= 0) ? -sineValue : sineValue;
}
}
- if (((index >= 0x80u) && (TASK.data[11] == 0) && (TASK.data[12] == 1))
- || ((index < 0x7fu) && (TASK.data[11] == 1) && (TASK.data[12] == 0)))
+
+ if (((waveIndex >= 0x80u) && (TASK.data[11] == 0) && (TASK.data[12] == 1))
+ || ((waveIndex < 0x7fu) && (TASK.data[11] == 1) && (TASK.data[12] == 0)))
{
TASK.data[11] ^= 1;
TASK.data[12] ^= 1;
diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c
index 604c21e6d..21ac62401 100644
--- a/src/battle/battle_controller_linkopponent.c
+++ b/src/battle/battle_controller_linkopponent.c
@@ -73,7 +73,7 @@ extern void sub_80313A0(struct Sprite *);
extern void sub_803757C(void);
extern void oamt_add_pos2_onto_pos1();
extern void StoreSpriteCallbackInData();
-extern void sub_8078B34(struct Sprite *);
+extern void StartTranslateAnimSpriteByDeltas(struct Sprite *);
extern void sub_80375B4(void);
extern void sub_8010384(struct Sprite *);
extern void sub_8037B78(void);
@@ -1282,7 +1282,7 @@ void LinkOpponentHandleTrainerSlideBack(void)
gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34;
+ gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_80375B4;
}
@@ -1633,7 +1633,7 @@ void LinkOpponentHandleTrainerBallThrow(void)
gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34;
+ gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_803A3A8);
taskId = CreateTask(sub_803A2C4, 5);
gTasks[taskId].data[0] = gActiveBank;
diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c
index e1f93ba08..1d42f56c3 100644
--- a/src/battle/battle_controller_linkpartner.c
+++ b/src/battle/battle_controller_linkpartner.c
@@ -76,7 +76,7 @@ extern u8 sub_8031720();
extern u8 mplay_80342A4();
extern void oamt_add_pos2_onto_pos1();
extern void StoreSpriteCallbackInData();
-extern void sub_8078B34(struct Sprite *);
+extern void StartTranslateAnimSpriteByDeltas(struct Sprite *);
extern void sub_80105EC(struct Sprite *);
extern s32 sub_803FC34(u16);
extern void LoadPlayerTrainerBankSprite();
@@ -1227,7 +1227,7 @@ void LinkPartnerHandleTrainerSlideBack(void)
gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34;
+ gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_811DB1C;
}
@@ -1579,7 +1579,7 @@ void LinkPartnerHandleTrainerBallThrow(void)
gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34;
+ gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas;
gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank;
StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c
index 5fb642e0c..8e8743dbc 100644
--- a/src/battle/battle_controller_opponent.c
+++ b/src/battle/battle_controller_opponent.c
@@ -84,7 +84,7 @@ extern void sub_80313A0(struct Sprite *);
extern void sub_8032B4C(void);
extern void sub_8031A6C(u16, u8);
extern void sub_8032B84(void);
-extern void sub_8078B34(struct Sprite *);
+extern void StartTranslateAnimSpriteByDeltas(struct Sprite *);
extern void sub_8032BBC(void);
extern void oamt_add_pos2_onto_pos1();
extern void StoreSpriteCallbackInData();
@@ -1286,7 +1286,7 @@ void OpponentHandleTrainerSlideBack(void)
gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34;
+ gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_8032BBC;
}
@@ -2225,7 +2225,7 @@ void OpponentHandleTrainerBallThrow(void)
gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34;
+ gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8035C10);
taskId = CreateTask(sub_8035C44, 5);
gTasks[taskId].data[0] = gActiveBank;
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index 33a29c064..e28c058a3 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -102,7 +102,7 @@ extern void sub_8047858();
extern u8 GetBankSide(u8);
extern void StartBattleIntroAnim();
extern void oamt_add_pos2_onto_pos1();
-extern void sub_8078B34(struct Sprite *);
+extern void StartTranslateAnimSpriteByDeltas(struct Sprite *);
extern void StoreSpriteCallbackInData();
extern void BattleLoadPlayerMonSprite();
extern bool8 IsDoubleBattle(void);
@@ -3145,7 +3145,7 @@ void PlayerHandleTrainerSlideBack(void)
gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34;
+ gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
gBattleBankFunc[gActiveBank] = sub_802D274;
@@ -3600,7 +3600,7 @@ void PlayerHandleTrainerBallThrow(void)
gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34;
+ gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas;
gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank;
StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c
index 3eacaa085..c590b487c 100644
--- a/src/battle/battle_controller_wally.c
+++ b/src/battle/battle_controller_wally.c
@@ -87,7 +87,7 @@ extern void sub_80304A8(void);
extern void sub_8047858();
extern void StartBattleIntroAnim();
extern void oamt_add_pos2_onto_pos1();
-extern void sub_8078B34(struct Sprite *);
+extern void StartTranslateAnimSpriteByDeltas(struct Sprite *);
extern void sub_8030E38(struct Sprite *);
extern void StoreSpriteCallbackInData();
extern u8 sub_8046400();
@@ -1484,7 +1484,7 @@ void WallyHandleTrainerBallThrow(void)
gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
- gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8078B34;
+ gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas;
gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank;
StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c
index f5b8e1c5d..3a47e0204 100644
--- a/src/battle/pokeball.c
+++ b/src/battle/pokeball.c
@@ -298,7 +298,7 @@ const struct SpriteTemplate gBallSpriteTemplates[] =
extern u32 ball_number_to_ball_processing_index(u16); // not sure of return type
extern void sub_80786EC();
-extern bool8 sub_8078718(struct Sprite *);
+extern bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *);
extern u8 sub_814086C(u8, u8, int, int, u8);
extern u8 sub_8141314(u8, u8, int, u8);
@@ -406,7 +406,7 @@ static void sub_8046464(u8 taskId)
static void objc_0804ABD4(struct Sprite *sprite)
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
{
u8 taskId = sprite->oam.affineParam;
u8 r5 = gTasks[taskId].data[4];
@@ -858,7 +858,7 @@ static void sub_80470C4(struct Sprite *sprite)
StartSpriteAffineAnim(sprite, 4);
}
r4 = sprite->data[0];
- sub_8078B5C(sprite);
+ TranslateAnimSpriteByDeltas(sprite);
sprite->data[7] += sprite->data[6] / 3;
sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]);
sprite->oam.affineParam += 0x100;
@@ -876,7 +876,7 @@ static void sub_80470C4(struct Sprite *sprite)
}
else
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
{
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c
index a60fc1078..395736d03 100644
--- a/src/rom_8077ABC.c
+++ b/src/rom_8077ABC.c
@@ -636,7 +636,7 @@ void unref_sub_8078414(struct Sprite *sprite)
sprite->callback = sub_80782F8;
}
-void sub_8078458(struct Sprite *sprite)
+void TranslateMonBGUntil(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -650,7 +650,9 @@ void sub_8078458(struct Sprite *sprite)
}
}
-void sub_80784A8(struct Sprite *sprite)
+// Same as TranslateMonBGUntil, but it operates on sub-pixel values
+// to handle slower translations.
+void TranslateMonBGSubPixelUntil(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -766,14 +768,14 @@ void sub_80786EC(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
sprite->data[6] = 0x8000 / sprite->data[0];
sprite->data[7] = 0;
}
-bool8 sub_8078718(struct Sprite *sprite)
+bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *sprite)
{
- if (sub_8078B5C(sprite))
+ if (TranslateAnimSpriteByDeltas(sprite))
return TRUE;
sprite->data[7] += sprite->data[6];
sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
@@ -799,7 +801,7 @@ void sub_8078764(struct Sprite *sprite, bool8 a2)
sprite->pos1.y += gBattleAnimArgs[1];
}
-void sub_80787B0(struct Sprite *sprite, u8 a2)
+void InitAnimSpritePos(struct Sprite *sprite, u8 a2)
{
if (!a2)
{
@@ -938,12 +940,12 @@ void sub_8078A34(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
- sub_8078A5C(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->callback = sub_80783D0;
sprite->callback(sprite);
}
-void sub_8078A5C(struct Sprite *sprite)
+void InitSpriteDataForLinearTranslation(struct Sprite *sprite)
{
s16 x = (sprite->data[2] - sprite->data[1]) << 8;
s16 y = (sprite->data[4] - sprite->data[3]) << 8;
@@ -953,44 +955,44 @@ void sub_8078A5C(struct Sprite *sprite)
sprite->data[3] = 0;
}
-void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite)
+void InitAnimSpriteTranslationDeltas(struct Sprite *sprite)
{
int x = sprite->data[2] - sprite->data[1];
int y = sprite->data[4] - sprite->data[3];
- bool8 r8 = x < 0;
- bool8 r9 = y < 0;
- u16 x2 = abs(x) << 8;
- u16 y2 = abs(y) << 8;
+ bool8 movingLeft = x < 0;
+ bool8 movingUp = y < 0;
+ u16 xDelta = abs(x) << 8;
+ u16 yDelta = abs(y) << 8;
- x2 = x2 / sprite->data[0];
- y2 = y2 / sprite->data[0];
+ xDelta = xDelta / sprite->data[0];
+ yDelta = yDelta / sprite->data[0];
- if (r8)
- x2 |= 1;
+ if (movingLeft)
+ xDelta |= 1;
else
- x2 &= ~1;
+ xDelta &= ~1;
- if (r9)
- y2 |= 1;
+ if (movingUp)
+ yDelta |= 1;
else
- y2 &= ~1;
+ yDelta &= ~1;
- sprite->data[1] = x2;
- sprite->data[2] = y2;
+ sprite->data[1] = xDelta;
+ sprite->data[2] = yDelta;
sprite->data[4] = 0;
sprite->data[3] = 0;
}
-void sub_8078B34(struct Sprite *sprite)
+void StartTranslateAnimSpriteByDeltas(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
- obj_translate_based_on_private_1_2_3_4(sprite);
- sprite->callback = sub_8078BB8;
+ InitAnimSpriteTranslationDeltas(sprite);
+ sprite->callback = TranslateAnimSpriteByDeltasUntil;
sprite->callback(sprite);
}
-bool8 sub_8078B5C(struct Sprite *sprite)
+bool8 TranslateAnimSpriteByDeltas(struct Sprite *sprite)
{
u16 v1, v2, x, y;
@@ -1020,9 +1022,9 @@ bool8 sub_8078B5C(struct Sprite *sprite)
return FALSE;
}
-void sub_8078BB8(struct Sprite *sprite)
+void TranslateAnimSpriteByDeltasUntil(struct Sprite *sprite)
{
- if (sub_8078B5C(sprite))
+ if (TranslateAnimSpriteByDeltas(sprite))
SetCallbackToStoredInData(sprite);
}
@@ -1030,7 +1032,7 @@ void sub_8078BD4(struct Sprite *sprite)
{
int v1 = abs(sprite->data[2] - sprite->data[1]) << 8;
sprite->data[0] = v1 / sprite->data[0];
- obj_translate_based_on_private_1_2_3_4(sprite);
+ InitAnimSpriteTranslationDeltas(sprite);
}
void sub_8078C00(struct Sprite *sprite)
@@ -1038,7 +1040,7 @@ void sub_8078C00(struct Sprite *sprite)
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_8078BD4(sprite);
- sprite->callback = sub_8078BB8;
+ sprite->callback = TranslateAnimSpriteByDeltasUntil;
sprite->callback(sprite);
}
@@ -1380,7 +1382,7 @@ void sub_80793C4(struct Sprite *sprite)
else
var = FALSE;
if (!gBattleAnimArgs[2])
- sub_80787B0(sprite, var);
+ InitAnimSpritePos(sprite, var);
else
sub_8078764(sprite, var);
sprite->data[0]++;
@@ -1392,7 +1394,15 @@ void sub_80793C4(struct Sprite *sprite)
}
}
-void sub_807941C(struct Sprite *sprite)
+// Linearly translates a sprite to a target position on the
+// other mon's sprite.
+// arg 0: initial x offset
+// arg 1: initial y offset
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: duration
+// arg 5: lower 8 bits = location on attacking mon, upper 8 bits = location on target mon pick to target
+void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
{
bool8 v1;
u8 v2;
@@ -1407,19 +1417,20 @@ void sub_807941C(struct Sprite *sprite)
else
v2 = 1;
- sub_80787B0(sprite, v1);
- if (GetBankSide(gAnimBankAttacker))
+ InitAnimSpritePos(sprite, v1);
+ if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(gAnimBankTarget, v2) + gBattleAnimArgs[3];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
void sub_80794A8(struct Sprite *sprite)
{
- sub_80787B0(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
if (GetBankSide(gAnimBankAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
@@ -1432,7 +1443,7 @@ void sub_80794A8(struct Sprite *sprite)
void sub_8079518(struct Sprite *sprite)
{
- if (sub_8078718(sprite))
+ if (TranslateAnimSpriteLinearAndSine(sprite))
DestroyAnimSprite(sprite);
}
@@ -1452,7 +1463,7 @@ void sub_8079534(struct Sprite *sprite)
}
if (!gBattleAnimArgs[5])
{
- sub_80787B0(sprite, r4);
+ InitAnimSpritePos(sprite, r4);
slot = gAnimBankAttacker;
}
else
@@ -1466,7 +1477,7 @@ void sub_8079534(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBankPosition(slot, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBankPosition(slot, r7) + gBattleAnimArgs[3];
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
@@ -2107,7 +2118,7 @@ s16 sub_807A100(u8 slot, u8 a2)
}
}
-void sub_807A3FC(u8 slot, bool8 a2, s16 *a3, s16 *a4)
+void SetAverageBattlerPositions(u8 slot, bool8 a2, s16 *x, s16 *y)
{
u8 v1, v2;
s16 v3, v4;
@@ -2135,8 +2146,8 @@ void sub_807A3FC(u8 slot, bool8 a2, s16 *a3, s16 *a4)
v5 = v3;
v6 = v4;
}
- *a3 = (v3 + v5) / 2;
- *a4 = (v4 + v6) / 2;
+ *x = (v3 + v5) / 2;
+ *y = (v4 + v6) / 2;
}
u8 sub_807A4A0(int bank, u8 sprite, int species)
@@ -2338,6 +2349,6 @@ void sub_807A9BC(struct Sprite *sprite)
sprite->pos1.x += x;
sprite->pos1.y = gBattleAnimArgs[5] - 80;
}
- sprite->callback = sub_8078B34;
+ sprite->callback = StartTranslateAnimSpriteByDeltas;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}