forked from Bastion/Bastion
Compare commits
No commits in common. 'e0c2e15a477b5baca30133f92ff60da33db7c153' and '94067723849dfe8583f3720a3db3616f18109dcb' have entirely different histories.
e0c2e15a47
...
9406772384
@ -1,69 +0,0 @@ |
|||||||
local Tinkr, _Bastion = ... |
|
||||||
|
|
||||||
---@type Bastion |
|
||||||
local Bastion = _Bastion |
|
||||||
|
|
||||||
local Player = Bastion.UnitManager:Get('player') |
|
||||||
local Target = Bastion.UnitManager:Get('target') |
|
||||||
local None = Bastion.UnitManager:Get('none') |
|
||||||
|
|
||||||
local _HammerOfWrath = Bastion.SpellBook:GetSpell(24275) |
|
||||||
local AvengingWrath = Bastion.SpellBook:GetSpell(389539) |
|
||||||
|
|
||||||
local HammerOfWrathTarget = Bastion.UnitManager:CreateCustomUnit('hammerofwrath', function() |
|
||||||
if not _HammerOfWrath:IsKnownAndUsable() then return None end |
|
||||||
|
|
||||||
if Player:GetAuras():FindMy(AvengingWrath):IsUp() and _HammerOfWrath:IsKnownAndUsable() and Target:Exists() and Target:IsEnemy() and Target:IsAffectingCombat() and _HammerOfWrath:IsInRange(Target) then |
|
||||||
return Target |
|
||||||
end |
|
||||||
|
|
||||||
local how = nil |
|
||||||
|
|
||||||
Bastion.UnitManager:EnumEnemies(function(unit) |
|
||||||
if unit:IsDead() then |
|
||||||
return false |
|
||||||
end |
|
||||||
|
|
||||||
if not Player:CanSee(unit) then |
|
||||||
return false |
|
||||||
end |
|
||||||
|
|
||||||
if not Player:IsFacing(unit) then |
|
||||||
return false |
|
||||||
end |
|
||||||
|
|
||||||
if not _HammerOfWrath:IsInRange(unit) then |
|
||||||
return false |
|
||||||
end |
|
||||||
|
|
||||||
if Player:GetAuras():FindMy(AvengingWrath):IsUp() then |
|
||||||
how = unit |
|
||||||
return true |
|
||||||
end |
|
||||||
|
|
||||||
if unit:GetHealthPercent() <= 20 then |
|
||||||
how = unit |
|
||||||
return true |
|
||||||
end |
|
||||||
|
|
||||||
return false |
|
||||||
end) |
|
||||||
|
|
||||||
if how == nil then |
|
||||||
how = None |
|
||||||
end |
|
||||||
|
|
||||||
return how |
|
||||||
end) |
|
||||||
|
|
||||||
---@alias HammerOfWrath fun():boolean |
|
||||||
|
|
||||||
---@type HammerOfWrath |
|
||||||
function HammerOfWrath() |
|
||||||
if HammerOfWrathTarget:Exists() and not Player:IsCastingOrChanneling() then |
|
||||||
return _HammerOfWrath:Cast(HammerOfWrathTarget) |
|
||||||
end |
|
||||||
return false |
|
||||||
end |
|
||||||
|
|
||||||
return HammerOfWrath |
|
@ -1,59 +0,0 @@ |
|||||||
local Tinkr, _Bastion = ... |
|
||||||
|
|
||||||
---@type Bastion |
|
||||||
local Bastion = _Bastion |
|
||||||
|
|
||||||
local Player = Bastion.UnitManager:Get('player') |
|
||||||
local None = Bastion.UnitManager:Get('none') |
|
||||||
|
|
||||||
local _Rebuke = Bastion.SpellBook:GetSpell(96231) |
|
||||||
|
|
||||||
local RebukeTarget = Bastion.UnitManager:CreateCustomUnit('rebuke', function() |
|
||||||
local kick = nil |
|
||||||
|
|
||||||
Bastion.UnitManager:EnumEnemies(function(unit) |
|
||||||
if unit:IsDead() then |
|
||||||
return false |
|
||||||
end |
|
||||||
|
|
||||||
if not Player:CanSee(unit) then |
|
||||||
return false |
|
||||||
end |
|
||||||
|
|
||||||
if Player:GetDistance(unit) > 40 then |
|
||||||
return false |
|
||||||
end |
|
||||||
|
|
||||||
if unit:IsInterruptibleAt(10) and _Rebuke:IsInRange(unit) and Player:IsFacing(unit) then |
|
||||||
kick = unit |
|
||||||
return true |
|
||||||
end |
|
||||||
|
|
||||||
-- TODO: Only consider this if the player is in an M+ dungeon |
|
||||||
-- if Player:InMelee(unit) and Player:IsFacing(unit) and Bastion.MythicPlusUtils:CastingCriticalKick(unit, 5) then |
|
||||||
-- kick = unit |
|
||||||
-- return true |
|
||||||
-- end |
|
||||||
|
|
||||||
return false |
|
||||||
end) |
|
||||||
|
|
||||||
if kick == nil then |
|
||||||
kick = None |
|
||||||
end |
|
||||||
|
|
||||||
return kick |
|
||||||
end) |
|
||||||
|
|
||||||
---@alias Rebuke fun():boolean |
|
||||||
|
|
||||||
---@type Rebuke |
|
||||||
function Rebuke() |
|
||||||
if RebukeTarget:Exists() and not Player:IsCastingOrChanneling() and _Rebuke:IsKnownAndUsable() then |
|
||||||
print('HAS KICK TARGET, KICKING') |
|
||||||
return _Rebuke:Cast(RebukeTarget) |
|
||||||
end |
|
||||||
return false |
|
||||||
end |
|
||||||
|
|
||||||
return Rebuke |
|
Loading…
Reference in new issue