forked from Bastion/Bastion
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.8 KiB
75 lines
1.8 KiB
local Tinkr = ...
|
|
|
|
---@class Bastion
|
|
local Bastion = ...
|
|
|
|
|
|
local ProtModule = Bastion.Module:New('prot_paladin')
|
|
local Evaluator = Tinkr.Util.Evaluator
|
|
local Player = Bastion.UnitManager:Get('player')
|
|
local Target = Bastion.UnitManager:Get('target')
|
|
|
|
local CrusaderAura = Bastion.SpellBook:GetSpell(32223)
|
|
local DevoAura = Bastion.SpellBook:GetSpell(465)
|
|
|
|
local PlayerSelfWOGPercent = 40
|
|
|
|
local WOGTarget = Bastion.UnitManager:CreateCustomUnit('wogtarget', function(unit)
|
|
local lowest = nil
|
|
local lowestHP = math.huge
|
|
|
|
Bastion.UnitManager:EnumFriends(function(unit)
|
|
if unit:IsDead() then
|
|
return false
|
|
end
|
|
|
|
if Player:GetDistance(unit) > 40 then
|
|
return false
|
|
end
|
|
|
|
if not Player:CanSee(unit) then
|
|
return false
|
|
end
|
|
|
|
local hp = unit:GetHP()
|
|
if hp < lowestHP then
|
|
lowest = unit
|
|
lowestHP = hp
|
|
end
|
|
|
|
return false
|
|
end)
|
|
|
|
if not lowest or Player:GetHP() < lowest then
|
|
lowest = Player
|
|
end
|
|
|
|
return lowest
|
|
end)
|
|
|
|
local isRunning = false
|
|
|
|
ProtModule:Sync(function()
|
|
if not isRunning then
|
|
Bastion:Print('Prot Pally Started')
|
|
isRunning = true
|
|
end
|
|
|
|
-- Cast Crusader Aura if talented and the player is mounted.
|
|
if Player:IsMounted() and CrusaderAura:IsKnownAndUsable() and not Player:GetAuras():FindMy(CrusaderAura):IsUp() and not Player:IsCastingOrChanneling() then
|
|
return CrusaderAura:Cast(Player)
|
|
end
|
|
|
|
-- Cast Devo Aura if the player is not mounted.
|
|
if not Player:IsMounted() and DevoAura:IsKnownAndUsable() and not Player:GetAuras():FindMy(DevoAura):IsUp() and not Player:IsCastingOrChanneling() then
|
|
return DevoAura:Cast(Player)
|
|
end
|
|
|
|
if Player:IsAffectingCombat() then
|
|
-- Combat Rotation
|
|
else
|
|
-- Out Of Combat Rotation
|
|
end
|
|
end)
|
|
|
|
Bastion:Register(ProtModule)
|
|
|