diff options
-rwxr-xr-x | src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp | 18 | ||||
-rwxr-xr-x | src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h | 2 |
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, |