librange: try to use superwow for range detection

This commit is contained in:
shagu
2024-11-26 21:02:30 +01:00
parent 492bdc0b5e
commit 4b50ea8972
+13
View File
@@ -161,6 +161,19 @@ librange:SetScript("OnUpdate", function()
if this.id <= numunits and librange.slot then
local unit = units[this.id]
if not UnitIsUnit("target", unit) then
-- try to read distance via superwow first
if superwow_active then
local x1, y1 = UnitPosition("player")
local x2, y2 = UnitPosition(unit)
-- only continue if we got position values
if (x1 and x1 > 0) and (x2 and x2 > 0) then
local distance = ((x2 - x1)^2 + (y2 - y1)^2)^.5
unitdata[unit] = distance < 45 and 1 or 0
this.id = this.id + 1
return
end
end
-- suspend for various conditions
if pfUI.loot and pfUI.loot:IsShown() then return nil end
if LootFrame and LootFrame:IsShown() then return nil end