stoneharry

Untitled

Apr 15th, 2012
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.07 KB | None | 0 0
  1. -- Satyr Trash ---------------------------------------------------------------
  2.  
  3. function ZG.VAR.SatyrTrashOnEvent(pUnit, Event)
  4.     if Event == 1 then
  5.         if pUnit:GetEntry() == 3758 then -- Tank
  6.             if math.random(1,2) == 1 then
  7.                 pUnit:FullCastSpell(8713)
  8.             else
  9.                 pUnit:StopMovement(1200)
  10.                 pUnit:FullCastSpell(72143)
  11.                 pUnit:RegisterEvent("ZG.VAR.SatyrTankCharge", 1500, 1)
  12.                 pUnit:RegisterEvent("ZG.VAR.SatyrTankCastRandom", 6500, 0)
  13.             end
  14.         elseif pUnit:GetEntry() == 6125 then -- Rogue
  15.             pUnit:RegisterEvent("ZG.VAR.SatyrRogueStrike", 2000, 0)
  16.             pUnit:RegisterEvent("ZG.VAR.SatyrRogueEnergy", 500, 0)
  17.         elseif pUnit:GetEntry() == 6200 then -- Caster
  18.             pUnit:RegisterEvent("ZG.VAR.SatyrHealerHeal", 1000, 1)
  19.         end
  20.     elseif Event == 2 or Event == 4 then
  21.         pUnit:RemoveEvents()
  22.         if pUnit:GetEntry() == 6125 then
  23.             pUnit:SetPower(100, 3)
  24.         end
  25.         if pUnit:HasAura(8713) then
  26.             pUnit:RemoveAura(8713)
  27.         end
  28.     elseif Event == 18 then
  29.         pUnit:SetMaxPower(100, 3)
  30.         pUnit:SetPower(100, 3)
  31.         pUnit:SetPowerType(3)
  32.     end
  33. end
  34.  
  35. function ZG.VAR.SatyrRogueEnergy(pUnit)
  36.     if pUnit:GetPower(3) < 100 then
  37.         pUnit:SetPower(pUnit:GetPower(3)+5, 3)
  38.     end
  39. end
  40.  
  41. function ZG.VAR.SatyrRogueStrike(pUnit)
  42.     local plr = pUnit:GetMainTank()
  43.     if plr ~= nil then
  44.         pUnit:FullCastSpellOnTarget(11294, plr) -- sinister strike
  45.     end
  46.     if math.random(1,10) == 5 then
  47.         pUnit:FullCastSpell(6434)
  48.     end
  49. end
  50.  
  51. function ZG.VAR.SatyrTankCharge(pUnit)
  52.     local plr = pUnit:GetClosestPlayer()
  53.     if plr ~= nil then
  54.         pUnit:FullCastSpellOnTarget(55317, plr)
  55.     end
  56. end
  57.  
  58. function ZG.VAR.SatyrTankCastRandom(pUnit)
  59.     if math.random(1,2) == 1 then
  60.         local target = pUnit:GetMainTank()
  61.         if target ~= nil then
  62.             pUnit:FullCastSpellOnTarget(21949, target) -- rend
  63.         end
  64.     else
  65.         pUnit:FullCastSpell(3143) -- roar
  66.     end
  67. end
  68.  
  69. function ZG.VAR.SatyrHealerHeal(pUnit)
  70.     local found = false
  71.     for _,target in pairs(pUnit:GetInRangeUnits()) do
  72.         if target:IsAlive() then
  73.             if not target:IsPlayer() then
  74.                 if target:GetHealthPct() < 60 then
  75.                     if target:GetDistanceYards(pUnit) < 30 then
  76.                         pUnit:StopMovement(3000)
  77.                         pUnit:FullCastSpellOnTarget(10623, target)
  78.                         found = true
  79.                         break
  80.                     end
  81.                 end
  82.             end
  83.         end
  84.     end
  85.     if not found then
  86.         local plr = pUnit:GetRandomPlayer(0)
  87.         if plr ~= nil then
  88.             if plr:GetDistanceYards(pUnit) < 30 then
  89.                 pUnit:StopMovement(3500)
  90.                 pUnit:FullCastSpellOnTarget(39054, plr)
  91.             end
  92.         end
  93.     end
  94.     pUnit:RegisterEvent("ZG.VAR.SatyrHealerHeal", 7000, 1)
  95. end
  96.  
  97. RegisterUnitEvent(3758, 1, "ZG.VAR.SatyrTrashOnEvent") -- Tank
  98. RegisterUnitEvent(3758, 2, "ZG.VAR.SatyrTrashOnEvent")
  99. RegisterUnitEvent(3758, 4, "ZG.VAR.SatyrTrashOnEvent")
  100. RegisterUnitEvent(6125, 1, "ZG.VAR.SatyrTrashOnEvent") -- Rogue
  101. RegisterUnitEvent(6125, 2, "ZG.VAR.SatyrTrashOnEvent")
  102. RegisterUnitEvent(6125, 4, "ZG.VAR.SatyrTrashOnEvent")
  103. RegisterUnitEvent(6125, 18, "ZG.VAR.SatyrTrashOnEvent")
  104. RegisterUnitEvent(6200, 1, "ZG.VAR.SatyrTrashOnEvent") -- Caster
  105. RegisterUnitEvent(6200, 2, "ZG.VAR.SatyrTrashOnEvent")
  106. RegisterUnitEvent(6200, 4, "ZG.VAR.SatyrTrashOnEvent")
Advertisement
Add Comment
Please, Sign In to add comment