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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user