diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index 342e9c35dc..4231463072 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -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 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 494d2e8824..8fd1501ff3 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -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 diff --git a/src/battle_anim_electric.c b/src/battle_anim_electric.c index d534bfa9c0..617958189c 100644 --- a/src/battle_anim_electric.c +++ b/src/battle_anim_electric.c @@ -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;