aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp18
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h2
2 files changed, 12 insertions, 8 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index f1eddc21861..f7dde4dc1f1 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -299,6 +299,9 @@ class boss_professor_putricide : public CreatureScript
summon->CastSpell(summon, SPELL_CHOKING_GAS_BOMB_PERIODIC, true);
summon->CastSpell(summon, SPELL_CHOKING_GAS_EXPLOSION_TRIGGER, true);
return;
+ case NPC_MUTATED_ABOMINATION_10:
+ case NPC_MUTATED_ABOMINATION_25:
+ return;
default:
break;
}
@@ -389,11 +392,9 @@ class boss_professor_putricide : public CreatureScript
me->SetSpeed(MOVE_RUN, baseSpeed*2.0f, true);
me->GetMotionMaster()->MovePoint(POINT_FESTERGUT, festergutWatchPos);
me->SetReactState(REACT_PASSIVE);
+ DoZoneInCombat(me);
if (IsHeroic())
- {
- DoZoneInCombat(me);
events.ScheduleEvent(EVENT_FESTERGUT_GOO, urand(15000, 20000), 0, PHASE_FESTERGUT);
- }
break;
case ACTION_FESTERGUT_GAS:
Talk(SAY_FESTERGUT_GASEOUS_BLIGHT);
@@ -409,11 +410,9 @@ class boss_professor_putricide : public CreatureScript
me->GetMotionMaster()->MovePoint(POINT_ROTFACE, rotfaceWatchPos);
me->SetReactState(REACT_PASSIVE);
oozeFloodStage = 0;
+ DoZoneInCombat(me);
if (IsHeroic())
- {
- DoZoneInCombat(me);
events.ScheduleEvent(EVENT_ROTFACE_VILE_GAS, urand(15000, 20000), 0, PHASE_ROTFACE);
- }
// init random sequence of floods
if (Creature* rotface = Unit::GetCreature(*me, instance->GetData64(DATA_ROTFACE)))
{
@@ -500,8 +499,8 @@ class boss_professor_putricide : public CreatureScript
_SetPhase(PHASE_COMBAT_3);
events.ScheduleEvent(EVENT_MUTATED_PLAGUE, 25000);
events.CancelEvent(EVENT_UNSTABLE_EXPERIMENT);
- instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_MUTATED_TRANSFORMATION);
- instance->DoRemoveAurasDueToSpellOnPlayers(71503); // SPELL_MUTATED_TRANSFORMATION2
+ summons.DespawnEntry(NPC_MUTATED_ABOMINATION_10);
+ summons.DespawnEntry(NPC_MUTATED_ABOMINATION_25);
if (GameObject* table = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_PUTRICIDE_TABLE)))
table->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
break;
@@ -1256,6 +1255,9 @@ class spell_putricide_mutated_transformation : public SpellScriptLoader
summon->SetUInt32Value(UNIT_CREATED_BY_SPELL, GetSpellInfo()->Id);
summon->SetCreatorGUID(caster->GetGUID());
+ if (InstanceScript* instance = caster->GetInstanceScript())
+ if (Creature* putricide = ObjectAccessor::GetCreature(*caster, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ putricide->AI()->JustSummoned(summon);
}
void Register()
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
index 0c00b4e7a74..e2b78757f47 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
@@ -137,6 +137,8 @@ enum CreaturesIds
NPC_VOLATILE_OOZE = 37697,
NPC_CHOKING_GAS_BOMB = 38159,
NPC_TEAR_GAS_TARGET_STALKER = 38317,
+ NPC_MUTATED_ABOMINATION_10 = 37672,
+ NPC_MUTATED_ABOMINATION_25 = 38285,
// Blood Prince Council
NPC_PRINCE_KELESETH = 37972,