DB/Creature: Remove UNIT_FLAG_PACIFIED

Ref #25764
This commit is contained in:
offl
2021-01-31 18:39:25 +02:00
parent dd27485a64
commit a9c83d5566
3 changed files with 35 additions and 2 deletions

View File

@@ -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 { }

View File

@@ -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);
}
}