mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 09:17:36 +01:00
@@ -29,6 +29,7 @@ enum Spells
|
||||
SPELL_MUTATING_EXPLOSION = 28206,
|
||||
SPELL_POISON_CLOUD = 28240,
|
||||
SPELL_POISON_CLOUD_PASSIVE = 28158,
|
||||
SPELL_PACIFY_SELF = 19951,
|
||||
SPELL_BERSERK = 26662
|
||||
};
|
||||
|
||||
@@ -128,6 +129,7 @@ class npc_grobbulus_poison_cloud : public CreatureScript
|
||||
{
|
||||
// no visual when casting in ctor or Reset()
|
||||
DoCast(me, SPELL_POISON_CLOUD_PASSIVE, true);
|
||||
DoCast(me, SPELL_PACIFY_SELF, true);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 /*diff*/) override { }
|
||||
|
||||
@@ -59,6 +59,8 @@ enum InvisInfernalCaster
|
||||
MODEL_INVISIBLE = 20577,
|
||||
MODEL_INFERNAL = 17312,
|
||||
SPELL_SUMMON_INFERNAL = 37277,
|
||||
SPELL_SPAWN_AND_PACIFY = 37791,
|
||||
SPELL_TRANSFORM_INFERNAL = 37794,
|
||||
TYPE_INFERNAL = 1,
|
||||
DATA_DIED = 1
|
||||
};
|
||||
@@ -153,7 +155,8 @@ public:
|
||||
void IsSummonedBy(WorldObject* summoner) override
|
||||
{
|
||||
if (summoner->ToCreature())
|
||||
casterGUID = summoner->ToCreature()->GetGUID();;
|
||||
casterGUID = summoner->ToCreature()->GetGUID();
|
||||
DoCastSelf(SPELL_SPAWN_AND_PACIFY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
@@ -166,9 +169,12 @@ public:
|
||||
{
|
||||
if (spellInfo->Id == SPELL_SUMMON_INFERNAL)
|
||||
{
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED | UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetImmuneToPC(false);
|
||||
me->RemoveAurasDueToSpell(SPELL_SPAWN_AND_PACIFY);
|
||||
// handle by the spell below when such auras will be not removed after evade
|
||||
me->SetDisplayId(MODEL_INFERNAL);
|
||||
// DoCastSelf(SPELL_TRANSFORM_INFERNAL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user