local Tinkr, 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 -- end) -- if not lowest or Player:GetHP() < lowest or Player:GetHealthPercent() <= PlayerSelfWOGPercent then -- lowest = Player -- end -- return lowest -- end) local isRunning = false ProtModule:Sync(function() if not isRunning then Bastion:Print('Running Prot Pally Routine') isRunning = true end if Player:IsMounted() and CrusaderAura:IsKnownAndUsable() and not Player:GetAuras():FindMy(CrusaderAura):IsUp() and not Player:IsCastingOrChanneling() then return CrusaderAura:Cast(Player) end if not Player:IsMounted() and DevoAura:IsKnownAndUsable() and not Player:GetAuras():FindMy(DevoAura):IsUp() and not Player:IsCastingOrChanneling() then return DevoAura:Cast(Player) end end) Bastion:Register(ProtModule)