fix(Scripts/Temple of AhnQiraj): Sartura's Sundering Cleave should be… (#13184)

... casted on Whirlwind end.
This commit is contained in:
UltraNix
2022-10-06 02:13:00 +02:00
committed by GitHub
parent 60efd8215d
commit 6fbfbc5f01
2 changed files with 22 additions and 22 deletions

View File

@@ -0,0 +1,2 @@
--
DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=26084;

View File

@@ -49,14 +49,15 @@ enum events
EVENT_SPELL_BERSERK = 4, EVENT_SPELL_BERSERK = 4,
EVENT_SARTURA_AGGRO_RESET = 5, EVENT_SARTURA_AGGRO_RESET = 5,
EVENT_SARTURA_AGGRO_RESET_END = 6, EVENT_SARTURA_AGGRO_RESET_END = 6,
EVENT_SARTURA_SUNDERING_CLEAVE = 7,
// Sartura's Royal Guard // Sartura's Royal Guard
EVENT_GUARD_WHIRLWIND = 7, EVENT_GUARD_WHIRLWIND = 8,
EVENT_GUARD_WHIRLWIND_RANDOM = 8, EVENT_GUARD_WHIRLWIND_RANDOM = 9,
EVENT_GUARD_WHIRLWIND_END = 9, EVENT_GUARD_WHIRLWIND_END = 10,
EVENT_GUARD_KNOCKBACK = 10, EVENT_GUARD_KNOCKBACK = 11,
EVENT_GUARD_AGGRO_RESET = 11, EVENT_GUARD_AGGRO_RESET = 12,
EVENT_GUARD_AGGRO_RESET_END = 12 EVENT_GUARD_AGGRO_RESET_END = 13
}; };
struct boss_sartura : public BossAI struct boss_sartura : public BossAI
@@ -99,6 +100,7 @@ struct boss_sartura : public BossAI
events.ScheduleEvent(EVENT_SARTURA_WHIRLWIND, 30000); events.ScheduleEvent(EVENT_SARTURA_WHIRLWIND, 30000);
events.ScheduleEvent(EVENT_SARTURA_AGGRO_RESET, urand(45000, 55000)); events.ScheduleEvent(EVENT_SARTURA_AGGRO_RESET, urand(45000, 55000));
events.ScheduleEvent(EVENT_SPELL_BERSERK, 10 * 60000); events.ScheduleEvent(EVENT_SPELL_BERSERK, 10 * 60000);
events.ScheduleEvent(EVENT_SARTURA_SUNDERING_CLEAVE, 2400ms, 3s);
} }
void JustDied(Unit* /*killer*/) override void JustDied(Unit* /*killer*/) override
@@ -121,14 +123,6 @@ struct boss_sartura : public BossAI
} }
} }
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id != SPELL_SUNDERING_CLEAVE)
return;
me->RemoveAura(SPELL_SUNDERING_CLEAVE);
}
void UpdateAI(uint32 diff) override void UpdateAI(uint32 diff) override
{ {
if (!UpdateVictim()) if (!UpdateVictim())
@@ -203,6 +197,18 @@ struct boss_sartura : public BossAI
berserked = true; berserked = true;
} }
break; break;
case EVENT_SARTURA_SUNDERING_CLEAVE:
if (whirlwind)
{
Milliseconds whirlwindTimer = events.GetTimeUntilEvent(EVENT_SARTURA_WHIRLWIND_END);
events.RescheduleEvent(EVENT_SARTURA_SUNDERING_CLEAVE, whirlwindTimer + 500ms);
}
else
{
DoCastVictim(SPELL_SUNDERING_CLEAVE, false);
events.RescheduleEvent(EVENT_SARTURA_SUNDERING_CLEAVE, 2400ms, 3s);
}
break;
default: default:
break; break;
} }
@@ -238,14 +244,6 @@ struct npc_sartura_royal_guard : public ScriptedAI
events.ScheduleEvent(EVENT_GUARD_KNOCKBACK, 10000); events.ScheduleEvent(EVENT_GUARD_KNOCKBACK, 10000);
} }
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id != SPELL_SUNDERING_CLEAVE)
return;
me->RemoveAura(SPELL_SUNDERING_CLEAVE);
}
void UpdateAI(uint32 diff) override void UpdateAI(uint32 diff) override
{ {
if (!UpdateVictim()) if (!UpdateVictim())