Code:
function Gruk_OnCombat(Unit, Event)
Unit:SendChatMessage(12, 0, "%n, dare you enter my cave!")
Unit:RegisterEvent("Gruk_Phase1",1000,0)
end
function Gruk_AcidSpit(pUnit, Event)
pUnit:FullCastSpellOnTarget(26050, pUnit:GetRandomPlayer(0))
end
function Gruk_AcidicFang(pUnit, Event)
pUnit:FullCastSpellOnTarget(29901, pUnit:GetMainTank())
end
function Gruk_WoundPoison(pUnit, Event)
pUnit:FullCastSpellOnTarget(39665, pUnit:GetMainTank())
end
function Gruk_DebilitatingPoison(pUnit, Event)
pUnit:FullCastSpellOnTarget(41978, pUnit:GetRandomPlayer(0))
end
function Gruk_Enrage(pUnit, Event)
pUnit:CastSpell(28131)
end
function Gruk_PoisonBolt(pUnit, Event)
pUnit:FullCastSpellOnTarget(26601, pUnit:GetRandomPlayer(0))
end
function Gruk_PoisonBoltVolley(pUnit, Event)
pUnit:FullCastSpellOnTarget(40095, pUnit:GetRandomPlayer(0))
end
function Gruk_PoisonCharge(pUnit, Event)
pUnit:FullCastSpellOnTarget(28431, pUnit:GetRandomPlayer(0))
end
function Gruk_Phase1(pUnit, Event)
if pUnit:GetHealthPct() < 99 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Gruk_Phase2",1000,0)
pUnit:RegisterEvent("Gruk_PoisonBoltVolley", 37000, 0)
pUnit:RegisterEvent("Gruk_PoisonCharge", 15000, 0)
end
end
function Gruk_Phase2(pUnit, Event)
if pUnit:GetHealthPct() < 60 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Gruk_Phase3",1000,0)
pUnit:RegisterEvent("Gruk_AcidSpit", 18000, 0)
pUnit:RegisterEvent("Gruk_AcidicFang", 30000, 0)
end
end
function Gruk_Phase3(pUnit, Event)
if pUnit:GetHealthPct() < 40 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Gruk_Phase4",1000,0)
pUnit:RegisterEvent("Gruk_WoundPoison", 20000, 0)
pUnit:RegisterEvent("Gruk_DebilitatingPoison", 50000, 0)
end
end
function Gruk_Phase4(pUnit, Event)
if pUnit:GetHealthPct() < 20 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Gruk_Enrage", 20000, 0)
pUnit:RegisterEvent("Gruk_PoisonBolt", 20000, 0)
pUnit:RegisterEvent("Gruk_PoisonBoltVolley", 30000, 0)
end
end
function Gruk_OnDied (Unit, Event)
Unit:RemoveEvents()
Unit:SendChatMessage(12, 0, "My... Master... Will Remember... This.")
end
function Gruk_OnKilledTarget (Unit, Event)
Unit:SendChatMessage(12, 0, "%n, you will fall like the rest of them!")
end
RegisterUnitEvent(NPC ID, 1, "Gruk_OnCombat")
RegisterUnitEvent(NPC ID, 3, "Gruk_OnKilledTarget")
RegisterUnitEvent(NPC ID, 4, "Gruk_OnDied")