mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-08 07:48:02 +00:00
fix(Scripts/TempleOfAhnQiraj): Prevent tentacles from spawning inside… (#13864)
fix(Scripts/TempleOfAhnQiraj): Prevent tentacles from spawning inside C'thun's stomach
This commit is contained in:
@@ -136,10 +136,7 @@ public:
|
|||||||
|
|
||||||
bool operator()(Unit* unit) const
|
bool operator()(Unit* unit) const
|
||||||
{
|
{
|
||||||
if (unit->GetTypeId() != TYPEID_PLAYER || unit->HasAura(SPELL_DIGESTIVE_ACID))
|
return unit->IsPlayer() && !unit->HasAura(SPELL_DIGESTIVE_ACID) && (unit->GetPositionZ() > 0.0f);
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -446,7 +443,7 @@ struct boss_cthun : public BossAI
|
|||||||
{
|
{
|
||||||
_scheduler.Schedule(13800ms, [this](TaskContext context)
|
_scheduler.Schedule(13800ms, [this](TaskContext context)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, -SPELL_DIGESTIVE_ACID))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, NotInStomachSelector()))
|
||||||
{
|
{
|
||||||
target->CastSpell(target, SPELL_MOUTH_TENTACLE, true);
|
target->CastSpell(target, SPELL_MOUTH_TENTACLE, true);
|
||||||
|
|
||||||
@@ -469,7 +466,7 @@ struct boss_cthun : public BossAI
|
|||||||
context.Repeat(30s);
|
context.Repeat(30s);
|
||||||
}).Schedule(8s, [this](TaskContext context)
|
}).Schedule(8s, [this](TaskContext context)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, -SPELL_DIGESTIVE_ACID))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, NotInStomachSelector()))
|
||||||
{
|
{
|
||||||
//Spawn claw tentacle on the random target
|
//Spawn claw tentacle on the random target
|
||||||
if (Creature* spawned = me->SummonCreature(NPC_GIANT_CLAW_TENTACLE, *target, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000))
|
if (Creature* spawned = me->SummonCreature(NPC_GIANT_CLAW_TENTACLE, *target, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000))
|
||||||
@@ -481,7 +478,7 @@ struct boss_cthun : public BossAI
|
|||||||
context.Repeat(1min);
|
context.Repeat(1min);
|
||||||
}).Schedule(38s, [this](TaskContext context)
|
}).Schedule(38s, [this](TaskContext context)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, -SPELL_DIGESTIVE_ACID))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, NotInStomachSelector()))
|
||||||
{
|
{
|
||||||
//Spawn claw tentacle on the random target
|
//Spawn claw tentacle on the random target
|
||||||
if (Creature* spawned = me->SummonCreature(NPC_GIANT_EYE_TENTACLE, *target, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000))
|
if (Creature* spawned = me->SummonCreature(NPC_GIANT_EYE_TENTACLE, *target, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000))
|
||||||
@@ -637,7 +634,7 @@ struct npc_eye_tentacle : public ScriptedAI
|
|||||||
})
|
})
|
||||||
.Schedule(1s, 5s, [this](TaskContext context)
|
.Schedule(1s, 5s, [this](TaskContext context)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, [&](Unit* u) { return u && u->GetTypeId() == TYPEID_PLAYER && !u->HasAura(SPELL_DIGESTIVE_ACID) && !u->HasAura(SPELL_MIND_FLAY); }))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, NotInStomachSelector()))
|
||||||
{
|
{
|
||||||
DoCast(target, SPELL_MIND_FLAY);
|
DoCast(target, SPELL_MIND_FLAY);
|
||||||
}
|
}
|
||||||
@@ -925,7 +922,7 @@ struct npc_giant_eye_tentacle : public ScriptedAI
|
|||||||
DoCastAOE(SPELL_MASSIVE_GROUND_RUPTURE);
|
DoCastAOE(SPELL_MASSIVE_GROUND_RUPTURE);
|
||||||
}).Schedule(1s, 5s, [this](TaskContext context)
|
}).Schedule(1s, 5s, [this](TaskContext context)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, -SPELL_DIGESTIVE_ACID))
|
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, NotInStomachSelector()))
|
||||||
{
|
{
|
||||||
DoCast(target, SPELL_GREEN_BEAM);
|
DoCast(target, SPELL_GREEN_BEAM);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user