diff --git a/src/server/scripts/RG/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/RG/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index 0d99a30..037cd9f 100644
--- a/src/server/scripts/RG/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/RG/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -119,9 +119,10 @@ enum Spells
SPELL_IMMUNITY = 7743
};
-enum PuddleActions
+enum Actions
{
- ACTION_STOP_GROW = 1
+ ACTION_STOP_GROW = 1,
+ ACTION_UNROOT = 2,
};
#define SPELL_GASEOUS_BLOAT_HELPER RAID_MODE<uint32>(70672, 72455, 72832, 72833)
@@ -980,6 +981,12 @@ class npc_putricide_oozeAI : public ScriptedAI
}
}
+ void DoAction(int32 action)
+ {
+ if (action == ACTION_UNROOT)
+ _unrootTimer = 2 * IN_MILLISECONDS;
+ }
+
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
{
if (spell->Id == SPELL_TEAR_GAS_CREATURE)
@@ -1008,6 +1015,11 @@ class npc_putricide_oozeAI : public ScriptedAI
_newTargetSelectTimer = 1000;
}
+ if (_unrootTimer <= diff)
+ me->ClearUnitState(UNIT_STATE_ROOT);
+ else
+ _unrootTimer -= diff;
+
if (me->GetEntry() == NPC_GAS_CLOUD)
DoMeleeAttackIfReady();
@@ -1056,6 +1068,7 @@ class npc_putricide_oozeAI : public ScriptedAI
uint64 _targetGUID;
uint32 _hitTargetSpellId;
uint32 _newTargetSelectTimer;
+ uint32 _unrootTimer;
};
class npc_volatile_ooze : public CreatureScript
@@ -1368,6 +1381,8 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
GetCaster()->DeleteThreatList();
GetCaster()->ToCreature()->AI()->AttackStart(GetHitUnit());
GetCaster()->AddThreat(GetHitUnit(), 500000000.0f); // value seen in sniff
+ GetCaster()->AddUnitState(UNIT_STATE_ROOT);
+ GetCaster()->ToCreature()->AI()->DoAction(ACTION_UNROOT);
}
void Register()
nachmspellhit von dem channelscheiß > rootet > timer eingeleitet > nach 2 sek wieder unrootet
10 min wasted für 2 unnötige sekunden YAY