aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp2
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp10
2 files changed, 10 insertions, 2 deletions
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
index 4ae174f6aed..42510d12dc5 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
@@ -31,6 +31,7 @@ enum Spells
SPELL_MUTATING_EXPLOSION = 28206,
SPELL_POISON_CLOUD = 28240,
SPELL_POISON_CLOUD_PASSIVE = 28158,
+ SPELL_PACIFY_SELF = 19951,
SPELL_BERSERK = 26662
};
@@ -130,6 +131,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 { }
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index 270f05ec4ee..9f8e9fc101d 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -58,6 +58,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
};
@@ -152,7 +154,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
@@ -165,9 +168,12 @@ public:
{
if (spellInfo->Id == SPELL_SUMMON_INFERNAL)
{
- me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_PACIFIED | UNIT_FLAG_NOT_SELECTABLE));
+ me->RemoveUnitFlag(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);
}
}