fix(Scripts/TempleOfAhnQiraj): Don't let Giant Claw Tentacles autoatt… (#13550)

* fix(Scripts/TempleOfAhnQiraj): Don't let Giant Claw Tentacles autoattack while submerged and reorder digestive acid cast

* delay small claw tentacles autoattack by 2s

* Revert "delay small claw tentacles autoattack by 2s"

This reverts commit 08b9c7d62528a9147266d084768b8a7fb0deb3e0.

* change the delay
This commit is contained in:
Skjalf
2022-10-26 17:17:46 -03:00
committed by GitHub
parent 47bf00ad2f
commit bfa68b0839
@@ -452,10 +452,9 @@ struct boss_cthun : public BossAI
target->m_Events.AddEventAtOffset([target, this]() target->m_Events.AddEventAtOffset([target, this]()
{ {
DoCast(target, SPELL_DIGESTIVE_ACID, true);
DoTeleportPlayer(target, STOMACH_X, STOMACH_Y, STOMACH_Z, STOMACH_O); DoTeleportPlayer(target, STOMACH_X, STOMACH_Y, STOMACH_Z, STOMACH_O);
target->RemoveAurasDueToSpell(SPELL_MIND_FLAY); target->RemoveAurasDueToSpell(SPELL_MIND_FLAY);
//Cast digestive acid on them
DoCast(target, SPELL_DIGESTIVE_ACID, true);
}, 3800ms); }, 3800ms);
} }
@@ -747,6 +746,8 @@ struct npc_giant_claw_tentacle : public ScriptedAI
} }
} }
} }
_canAttack = false;
} }
void JustDied(Unit* /*killer*/) override void JustDied(Unit* /*killer*/) override
@@ -777,6 +778,9 @@ struct npc_giant_claw_tentacle : public ScriptedAI
{ {
DoCastSelf(SPELL_THRASH); DoCastSelf(SPELL_THRASH);
context.Repeat(10s); context.Repeat(10s);
}).Schedule(3s, [this](TaskContext /*context*/)
{
_canAttack = true;
}); });
ScheduleMeleeCheck(); ScheduleMeleeCheck();
@@ -825,6 +829,7 @@ struct npc_giant_claw_tentacle : public ScriptedAI
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
_scheduler.CancelAll(); _scheduler.CancelAll();
_canAttack = false;
_scheduler.Schedule(5s, [this](TaskContext /*task*/) _scheduler.Schedule(5s, [this](TaskContext /*task*/)
{ {
@@ -851,6 +856,11 @@ struct npc_giant_claw_tentacle : public ScriptedAI
ScheduleMeleeCheck(); ScheduleMeleeCheck();
} }
_scheduler.Schedule(3s, [this](TaskContext /*context*/)
{
_canAttack = true;
});
} }
void UpdateAI(uint32 diff) override void UpdateAI(uint32 diff) override
@@ -861,12 +871,16 @@ struct npc_giant_claw_tentacle : public ScriptedAI
_scheduler.Update(diff); _scheduler.Update(diff);
if (_canAttack)
{
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}
private: private:
TaskScheduler _scheduler; TaskScheduler _scheduler;
ObjectGuid _portalGUID; ObjectGuid _portalGUID;
bool _canAttack;
}; };
struct npc_giant_eye_tentacle : public ScriptedAI struct npc_giant_eye_tentacle : public ScriptedAI