fix(Scripts/SunwellPlateau): Kiljaeden shouldnt interrupt Darkness of… (#21982)
This commit is contained in:
@@ -227,6 +227,11 @@ struct boss_kiljaeden : public BossAI
|
|||||||
boss_kiljaeden(Creature* creature) : BossAI(creature, DATA_KILJAEDEN)
|
boss_kiljaeden(Creature* creature) : BossAI(creature, DATA_KILJAEDEN)
|
||||||
{
|
{
|
||||||
me->SetReactState(REACT_PASSIVE);
|
me->SetReactState(REACT_PASSIVE);
|
||||||
|
|
||||||
|
scheduler.SetValidator([this]
|
||||||
|
{
|
||||||
|
return !me->HasUnitState(UNIT_STATE_CASTING);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void InitializeAI() override
|
void InitializeAI() override
|
||||||
@@ -303,22 +308,22 @@ struct boss_kiljaeden : public BossAI
|
|||||||
|
|
||||||
scheduler.CancelAll();
|
scheduler.CancelAll();
|
||||||
|
|
||||||
ScheduleBasicAbilities();
|
|
||||||
|
|
||||||
me->m_Events.AddEventAtOffset([&] {
|
me->m_Events.AddEventAtOffset([&] {
|
||||||
if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ))
|
if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ))
|
||||||
kalec->AI()->Talk(SAY_KALECGOS_READY2);
|
kalec->AI()->Talk(SAY_KALECGOS_READY2);
|
||||||
EmpowerOrb(false);
|
EmpowerOrb(false);
|
||||||
}, 35s);
|
}, 35s);
|
||||||
|
|
||||||
me->m_Events.AddEventAtOffset([&] {
|
scheduler.Schedule(1s, [this](TaskContext)
|
||||||
|
{
|
||||||
Talk(SAY_KJ_REFLECTION);
|
Talk(SAY_KJ_REFLECTION);
|
||||||
me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE);
|
me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE);
|
||||||
}, 1s);
|
});
|
||||||
|
|
||||||
scheduler.Schedule(1s + 200ms, [this](TaskContext)
|
scheduler.Schedule(1s + 200ms, [this](TaskContext)
|
||||||
{
|
{
|
||||||
DoCastSelf(SPELL_SHADOW_SPIKE);
|
DoCastSelf(SPELL_SHADOW_SPIKE);
|
||||||
|
ScheduleBasicAbilities();
|
||||||
});
|
});
|
||||||
|
|
||||||
ScheduleTimedEvent(15s, [&] {
|
ScheduleTimedEvent(15s, [&] {
|
||||||
@@ -340,14 +345,20 @@ struct boss_kiljaeden : public BossAI
|
|||||||
ScheduleHealthCheckEvent(25, [&] {
|
ScheduleHealthCheckEvent(25, [&] {
|
||||||
_phase = PHASE_SACRIFICE;
|
_phase = PHASE_SACRIFICE;
|
||||||
|
|
||||||
me->m_Events.AddEventAtOffset([&] {
|
scheduler.CancelAll();
|
||||||
|
|
||||||
|
scheduler.Schedule(1s, [this](TaskContext)
|
||||||
|
{
|
||||||
|
scheduler.Schedule(1s, [this](TaskContext)
|
||||||
|
{
|
||||||
Talk(SAY_KJ_REFLECTION);
|
Talk(SAY_KJ_REFLECTION);
|
||||||
me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE);
|
me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE);
|
||||||
}, 1s);
|
});
|
||||||
|
|
||||||
me->m_Events.AddEventAtOffset([&] {
|
scheduler.Schedule(2s, [this](TaskContext)
|
||||||
|
{
|
||||||
DoCastSelf(SPELL_SHADOW_SPIKE);
|
DoCastSelf(SPELL_SHADOW_SPIKE);
|
||||||
}, 2s);
|
});
|
||||||
|
|
||||||
if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ))
|
if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ))
|
||||||
{
|
{
|
||||||
@@ -361,8 +372,6 @@ struct boss_kiljaeden : public BossAI
|
|||||||
anveena->AI()->Talk(SAY_ANVEENA_GOODBYE, 25s);
|
anveena->AI()->Talk(SAY_ANVEENA_GOODBYE, 25s);
|
||||||
}
|
}
|
||||||
|
|
||||||
scheduler.CancelAll();
|
|
||||||
|
|
||||||
me->m_Events.AddEventAtOffset([&] {
|
me->m_Events.AddEventAtOffset([&] {
|
||||||
if (Creature* anveena = instance->GetCreature(DATA_ANVEENA))
|
if (Creature* anveena = instance->GetCreature(DATA_ANVEENA))
|
||||||
{
|
{
|
||||||
@@ -377,7 +386,7 @@ struct boss_kiljaeden : public BossAI
|
|||||||
anveena->CastSpell(anveena, SPELL_SACRIFICE_OF_ANVEENA, true);
|
anveena->CastSpell(anveena, SPELL_SACRIFICE_OF_ANVEENA, true);
|
||||||
DoCastSelf(SPELL_CUSTOM_08_STATE, true);
|
DoCastSelf(SPELL_CUSTOM_08_STATE, true);
|
||||||
me->SetUnitFlag(UNIT_FLAG_PACIFIED);
|
me->SetUnitFlag(UNIT_FLAG_PACIFIED);
|
||||||
scheduler.DelayAll(7100ms);
|
scheduler.CancelAll();
|
||||||
|
|
||||||
me->m_Events.AddEventAtOffset([&] {
|
me->m_Events.AddEventAtOffset([&] {
|
||||||
me->RemoveAurasDueToSpell(SPELL_CUSTOM_08_STATE);
|
me->RemoveAurasDueToSpell(SPELL_CUSTOM_08_STATE);
|
||||||
@@ -410,6 +419,7 @@ struct boss_kiljaeden : public BossAI
|
|||||||
EmpowerOrb(true);
|
EmpowerOrb(true);
|
||||||
}, 61s);
|
}, 61s);
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScheduleBasicAbilities()
|
void ScheduleBasicAbilities()
|
||||||
|
|||||||
Reference in New Issue
Block a user