diff options
-rw-r--r-- | src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index cfbbc4acfb8..04675495ab5 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -269,7 +269,7 @@ class boss_professor_putricide : public CreatureScript Talk(SAY_AGGRO); DoCast(me, SPELL_OOZE_TANK_PROTECTION, true); DoZoneInCombat(me); - + me->SetCombatPulseDelay(5); instance->SetBossState(DATA_PROFESSOR_PUTRICIDE, IN_PROGRESS); } @@ -721,7 +721,7 @@ class npc_putricide_oozeAI : public ScriptedAI { public: npc_putricide_oozeAI(Creature* creature, uint32 auraSpellId, uint32 hitTargetSpellId) : ScriptedAI(creature), - _auraSpellId(auraSpellId), _hitTargetSpellId(hitTargetSpellId), _newTargetSelectTimer(0) { } + _auraSpellId(auraSpellId), _hitTargetSpellId(hitTargetSpellId), _newTargetSelectTimer(0), _instance(creature->GetInstanceScript()){ } void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) override { @@ -731,6 +731,10 @@ class npc_putricide_oozeAI : public ScriptedAI void Reset() override { + if (_instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) != IN_PROGRESS) + me->DespawnOrUnsummon(); + + me->SetInCombatWithZone(); DoCastAOE(_auraSpellId, true); } @@ -771,6 +775,7 @@ class npc_putricide_oozeAI : public ScriptedAI uint32 _auraSpellId; uint32 _hitTargetSpellId; uint32 _newTargetSelectTimer; + InstanceScript* _instance; }; class npc_volatile_ooze : public CreatureScript |