Documented AnimTask_VoltTackleBolt

This commit is contained in:
Frank
2026-07-02 22:30:42 -04:00
parent 14eaca78cd
commit 5967c4c1a4
3 changed files with 15 additions and 9 deletions

View File

@@ -645,3 +645,7 @@
.macro create_electric_charging_particles_task priority=2, relative_to:req, unk1:req, unk2:req, unk3:req
createvisualtask AnimTask_ElectricChargingParticles, \priority, \relative_to, \unk1, \unk2, \unk3
.endm
.macro create_volt_tackle_bolt_task priority=5, unk0:req
createvisualtask AnimTask_VoltTackleBolt, \priority, \unk0
.endm

View File

@@ -4428,19 +4428,19 @@ Move_VOLT_TACKLE:
clearmonbg ANIM_ATTACKER
blendoff
delay 8
createvisualtask AnimTask_VoltTackleBolt, 5, 0
create_volt_tackle_bolt_task unk0=0
playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask AnimTask_VoltTackleBolt, 5, 1
create_volt_tackle_bolt_task unk0=1
playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask AnimTask_VoltTackleBolt, 5, 2
create_volt_tackle_bolt_task unk0=2
playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask AnimTask_VoltTackleBolt, 5, 3
create_volt_tackle_bolt_task unk0=3
playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask AnimTask_VoltTackleBolt, 5, 4
create_volt_tackle_bolt_task unk0=4
playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_ATTACKER
delay 8
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 10, 0, 18, 1

View File

@@ -1047,6 +1047,8 @@ void AnimTask_VoltTackleAttackerReappear(u8 taskId)
// The horizontal bolts of electricity for Volt Tackle
void AnimTask_VoltTackleBolt(u8 taskId)
{
CMD_ARGS(unk0);
struct Task *task = &gTasks[taskId];
switch(task->data[0])
@@ -1054,7 +1056,7 @@ void AnimTask_VoltTackleBolt(u8 taskId)
case 0:
task->data[1] = GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER ? 1 : -1;
switch (gBattleAnimArgs[0])
switch (cmd->unk0)
{
case 0:
task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
@@ -1067,7 +1069,7 @@ void AnimTask_VoltTackleBolt(u8 taskId)
task->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - (task->data[1] * 32);
break;
default:
if ((gBattleAnimArgs[0] & 1) != 0)
if ((cmd->unk0 & 1) != 0)
{
task->data[3] = 256;
task->data[4] = -16;
@@ -1080,12 +1082,12 @@ void AnimTask_VoltTackleBolt(u8 taskId)
if (task->data[1] == 1)
{
task->data[5] = 80 - gBattleAnimArgs[0] * 10;
task->data[5] = 80 - cmd->unk0 * 10;
}
else
{
u16 temp;
task->data[5] = gBattleAnimArgs[0] * 10 + 40;
task->data[5] = cmd->unk0 * 10 + 40;
temp = task->data[3];
task->data[3] = task->data[4];
task->data[4] = temp;