DJ DieSeL
05-14-2009, 04:42 AM
Hey, so i was interested in making a mob/NPC yield honor when it dies. Well i managed to create a fully working script (i am using repack 8.0) and i'm satisfied with it. How about you guys?
CODE:
-----------------------
-- DJ DieSeL Edition --
-----------------------
-- 20 Enemy Mage
function lvl20enemymage_OnCombat(Unit, Event)
Unit:RegisterEvent("lvl20enemymage_bolt", 30000, 3)
Unit:RegisterEvent("lvl20enemymage_ball", 30000, 3)
Unit:RegisterEvent("lvl20enemymage_nova", 100, 1)
end
function lvl20enemymage_bolt(Unit, Event)
local plr = Unit:GetMainTank()
if (plr ~= nil) then
Unit:FullCastSpellOnTarget(7322, plr)
end
end
function lvl20enemymage_ball(Unit, Event)
local plr = Unit:GetMainTank()
if (plr ~= nil) then
Unit:FullCastSpellOnTarget(3140, Unit:GetMainTank())
end
end
function lvl20enemymage_nova(Unit, Event)
if Unit:GetHealthPct() <= 35 then
Unit:FullCastSpell(122)
end
end
function lvl20enemymage_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents()
end
function lvl20enemymage_OnDied(Unit, Event)
Unit:FullCastSpellOnTarget(24960, Unit:GetClosestPlayer())
Unit:RemoveEvents()
end
RegisterUnitEvent(220001, 1, "lvl20enemymage_OnCombat")
RegisterUnitEvent(220001, 2, "lvl20enemymage_OnLeaveCombat")
RegisterUnitEvent(220001, 4, "lvl20enemymage_OnDied")
CODE:
-----------------------
-- DJ DieSeL Edition --
-----------------------
-- 20 Enemy Mage
function lvl20enemymage_OnCombat(Unit, Event)
Unit:RegisterEvent("lvl20enemymage_bolt", 30000, 3)
Unit:RegisterEvent("lvl20enemymage_ball", 30000, 3)
Unit:RegisterEvent("lvl20enemymage_nova", 100, 1)
end
function lvl20enemymage_bolt(Unit, Event)
local plr = Unit:GetMainTank()
if (plr ~= nil) then
Unit:FullCastSpellOnTarget(7322, plr)
end
end
function lvl20enemymage_ball(Unit, Event)
local plr = Unit:GetMainTank()
if (plr ~= nil) then
Unit:FullCastSpellOnTarget(3140, Unit:GetMainTank())
end
end
function lvl20enemymage_nova(Unit, Event)
if Unit:GetHealthPct() <= 35 then
Unit:FullCastSpell(122)
end
end
function lvl20enemymage_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents()
end
function lvl20enemymage_OnDied(Unit, Event)
Unit:FullCastSpellOnTarget(24960, Unit:GetClosestPlayer())
Unit:RemoveEvents()
end
RegisterUnitEvent(220001, 1, "lvl20enemymage_OnCombat")
RegisterUnitEvent(220001, 2, "lvl20enemymage_OnLeaveCombat")
RegisterUnitEvent(220001, 4, "lvl20enemymage_OnDied")