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 d000895e13b..0d87b823d8d 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
@@ -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 { }
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index 334999f3f6f..0090ea5c66c 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -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);
}
}