Untitled
unknown
plain_text
a year ago
2.3 kB
4
Indexable
local function SpreadMarkOfTheCrane(mainTarget, icon)
local maxTargets = 8
local markedTargets = 0
local needSpread = false
local activeUnitPlates = MultiUnits:GetActiveUnitPlates()
local totalTargets = 0
if not UnitExists("focus") and UnitExists("target") then
return A.SetFocus:Show(icon)
end
for unitID in pairs(activeUnitPlates) do
if Unit(unitID):GetRange() <= 8 and UnitCanAttack("player", unitID) and not Unit(unitID):IsDead() then
totalTargets = totalTargets + 1
if Unit(unitID):HasDeBuffs(A.MarkoftheCraneDebuff.ID) > 0 then
markedTargets = markedTargets + 1
else
needSpread = true
end
end
end
if markedTargets >= math.min(totalTargets, maxTargets) then
if UnitGUID("target") ~= UnitGUID("focus") then
return A.TargetFocus:Show(icon)
end
return false
end
if needSpread and Unit("target"):GetRange() <= 8
and Unit("target"):HasDeBuffs(A.MarkoftheCraneDebuff.ID) == 0
and UnitCanAttack("player", "target")
and not Unit("target"):IsDead() and A.TigerPalm:IsInRange("target")
then
if A.BlackoutKick:IsReady("target")
and ComboStrike(A.BlackoutKick)
and (Player:Chi() >= 1 or Unit(player):HasBuffs(A.BlackoutKickBuff.ID) > 0)
then
return A.BlackoutKick:Show(icon)
end
if A.TigerPalm:IsReady("target")
and ComboStrike(A.TigerPalm)
and Player:ChiDeficit() >= 2
and Player:Energy() >= (A.InnerPeace:GetTalentTraits() > 0 and 55 or 60)
then
return A.TigerPalm:Show(icon)
end
if A.RisingSunKick:IsReady("target")
and ComboStrike(A.RisingSunKick)
and Player:Chi() >= 2
then
return A.RisingSunKick:Show(icon)
end
end
if needSpread and markedTargets < math.min(totalTargets, maxTargets) then
-- Check mouseover first
if UnitExists("mouseover")
and Unit("mouseover"):GetRange() <= 8
and Unit("mouseover"):HasDeBuffs(A.MarkoftheCraneDebuff.ID) == 0
then
return A.TargetMouseOver:Show(icon)
end
return A.TargetEnemy:Show(icon)
end
return false
endEditor is loading...
Leave a Comment