Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Satyr Trash ---------------------------------------------------------------
- function ZG.VAR.SatyrTrashOnEvent(pUnit, Event)
- if Event == 1 then
- if pUnit:GetEntry() == 3758 then -- Tank
- if math.random(1,2) == 1 then
- pUnit:FullCastSpell(8713)
- else
- pUnit:StopMovement(1200)
- pUnit:FullCastSpell(72143)
- pUnit:RegisterEvent("ZG.VAR.SatyrTankCharge", 1500, 1)
- pUnit:RegisterEvent("ZG.VAR.SatyrTankCastRandom", 6500, 0)
- end
- elseif pUnit:GetEntry() == 6125 then -- Rogue
- pUnit:RegisterEvent("ZG.VAR.SatyrRogueStrike", 2000, 0)
- pUnit:RegisterEvent("ZG.VAR.SatyrRogueEnergy", 500, 0)
- elseif pUnit:GetEntry() == 6200 then -- Caster
- pUnit:RegisterEvent("ZG.VAR.SatyrHealerHeal", 1000, 1)
- end
- elseif Event == 2 or Event == 4 then
- pUnit:RemoveEvents()
- if pUnit:GetEntry() == 6125 then
- pUnit:SetPower(100, 3)
- end
- if pUnit:HasAura(8713) then
- pUnit:RemoveAura(8713)
- end
- elseif Event == 18 then
- pUnit:SetMaxPower(100, 3)
- pUnit:SetPower(100, 3)
- pUnit:SetPowerType(3)
- end
- end
- function ZG.VAR.SatyrRogueEnergy(pUnit)
- if pUnit:GetPower(3) < 100 then
- pUnit:SetPower(pUnit:GetPower(3)+5, 3)
- end
- end
- function ZG.VAR.SatyrRogueStrike(pUnit)
- local plr = pUnit:GetMainTank()
- if plr ~= nil then
- pUnit:FullCastSpellOnTarget(11294, plr) -- sinister strike
- end
- if math.random(1,10) == 5 then
- pUnit:FullCastSpell(6434)
- end
- end
- function ZG.VAR.SatyrTankCharge(pUnit)
- local plr = pUnit:GetClosestPlayer()
- if plr ~= nil then
- pUnit:FullCastSpellOnTarget(55317, plr)
- end
- end
- function ZG.VAR.SatyrTankCastRandom(pUnit)
- if math.random(1,2) == 1 then
- local target = pUnit:GetMainTank()
- if target ~= nil then
- pUnit:FullCastSpellOnTarget(21949, target) -- rend
- end
- else
- pUnit:FullCastSpell(3143) -- roar
- end
- end
- function ZG.VAR.SatyrHealerHeal(pUnit)
- local found = false
- for _,target in pairs(pUnit:GetInRangeUnits()) do
- if target:IsAlive() then
- if not target:IsPlayer() then
- if target:GetHealthPct() < 60 then
- if target:GetDistanceYards(pUnit) < 30 then
- pUnit:StopMovement(3000)
- pUnit:FullCastSpellOnTarget(10623, target)
- found = true
- break
- end
- end
- end
- end
- end
- if not found then
- local plr = pUnit:GetRandomPlayer(0)
- if plr ~= nil then
- if plr:GetDistanceYards(pUnit) < 30 then
- pUnit:StopMovement(3500)
- pUnit:FullCastSpellOnTarget(39054, plr)
- end
- end
- end
- pUnit:RegisterEvent("ZG.VAR.SatyrHealerHeal", 7000, 1)
- end
- RegisterUnitEvent(3758, 1, "ZG.VAR.SatyrTrashOnEvent") -- Tank
- RegisterUnitEvent(3758, 2, "ZG.VAR.SatyrTrashOnEvent")
- RegisterUnitEvent(3758, 4, "ZG.VAR.SatyrTrashOnEvent")
- RegisterUnitEvent(6125, 1, "ZG.VAR.SatyrTrashOnEvent") -- Rogue
- RegisterUnitEvent(6125, 2, "ZG.VAR.SatyrTrashOnEvent")
- RegisterUnitEvent(6125, 4, "ZG.VAR.SatyrTrashOnEvent")
- RegisterUnitEvent(6125, 18, "ZG.VAR.SatyrTrashOnEvent")
- RegisterUnitEvent(6200, 1, "ZG.VAR.SatyrTrashOnEvent") -- Caster
- RegisterUnitEvent(6200, 2, "ZG.VAR.SatyrTrashOnEvent")
- RegisterUnitEvent(6200, 4, "ZG.VAR.SatyrTrashOnEvent")
Advertisement
Add Comment
Please, Sign In to add comment