aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp6
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp17
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp2
3 files changed, 16 insertions, 9 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index 2eb1a2788ad..30deeae88fc 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -471,7 +471,7 @@ class boss_prince_keleseth_icc : public CreatureScript
void UpdateAI(const uint32 diff)
{
- if (!UpdateVictim())
+ if (!UpdateVictim() || !CheckInRoom())
return;
events.Update(diff);
@@ -656,7 +656,7 @@ class boss_prince_taldaram_icc : public CreatureScript
void UpdateAI(const uint32 diff)
{
- if (!UpdateVictim())
+ if (!UpdateVictim() || !CheckInRoom())
return;
events.Update(diff);
@@ -860,7 +860,7 @@ class boss_prince_valanar_icc : public CreatureScript
void UpdateAI(const uint32 diff)
{
- if (!UpdateVictim())
+ if (!UpdateVictim() || !CheckInRoom())
return;
events.Update(diff);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
index 3092ddf8ef2..296bccdbe13 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
@@ -122,7 +122,7 @@ class boss_festergut : public CreatureScript
DoScriptText(SAY_AGGRO, me);
if (Creature* gasDummy = GetClosestCreatureWithEntry(me, NPC_GAS_DUMMY, 100.0f, true))
gasDummyGUID = gasDummy->GetGUID();
- if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->DoAction(ACTION_FESTERGUT_COMBAT);
DoZoneInCombat(me);
@@ -132,8 +132,15 @@ class boss_festergut : public CreatureScript
{
DoScriptText(SAY_DEATH, me);
instance->SetBossState(DATA_FESTERGUT, DONE);
- if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->DoAction(ACTION_FESTERGUT_DEATH);
+
+ if (Creature* gasDummy = ObjectAccessor::GetCreature(*me, gasDummyGUID))
+ for (uint8 i = 0; i < 3; ++i)
+ {
+ gasDummy->RemoveAurasDueToSpell(gaseousBlight[i]);
+ gasDummy->RemoveAurasDueToSpell(gaseousBlightVisual[i]);
+ }
}
void JustReachedHome()
@@ -144,7 +151,7 @@ class boss_festergut : public CreatureScript
void EnterEvadeMode()
{
ScriptedAI::EnterEvadeMode();
- if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->EnterEvadeMode();
}
@@ -181,7 +188,7 @@ class boss_festergut : public CreatureScript
{
case EVENT_INHALE_BLIGHT:
{
- if (Creature* gasDummy = Unit::GetCreature(*me, gasDummyGUID))
+ if (Creature* gasDummy = ObjectAccessor::GetCreature(*me, gasDummyGUID))
for (uint8 i = 0; i < 3; ++i)
{
gasDummy->RemoveAurasDueToSpell(gaseousBlight[i]);
@@ -193,7 +200,7 @@ class boss_festergut : public CreatureScript
DoScriptText(SAY_PUNGENT_BLIGHT, me);
DoCast(me, SPELL_PUNGENT_BLIGHT);
uiInhaleCounter = 0;
- if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->DoAction(ACTION_FESTERGUT_GAS);
}
else
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index a6878464d44..25ac1068e3e 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -338,7 +338,6 @@ class boss_professor_putricide : public CreatureScript
case POINT_TABLE:
// stop attack
me->GetMotionMaster()->MoveIdle();
- me->Attack(me->getVictim(), false);
me->SetSpeed(MOVE_RUN, fBaseSpeed, true);
if (GameObject* table = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_PUTRICIDE_TABLE)))
me->SetFacingToObject(table);
@@ -443,6 +442,7 @@ class boss_professor_putricide : public CreatureScript
case ACTION_CHANGE_PHASE:
me->SetSpeed(MOVE_RUN, fBaseSpeed*2.0f, true);
events.DelayEvents(30000);
+ me->AttackStop();
if (!IsHeroic())
{
DoCast(me, SPELL_TEAR_GAS);