diff --git a/ElvUI/Libraries/oUF/elements/elements.xml b/ElvUI/Libraries/oUF/elements/elements.xml
index 19b77f3..067089a 100644
--- a/ElvUI/Libraries/oUF/elements/elements.xml
+++ b/ElvUI/Libraries/oUF/elements/elements.xml
@@ -8,8 +8,7 @@
-
+
diff --git a/ElvUI/Libraries/oUF/elements/range.lua b/ElvUI/Libraries/oUF/elements/range.lua
index f78d7a2..b641146 100644
--- a/ElvUI/Libraries/oUF/elements/range.lua
+++ b/ElvUI/Libraries/oUF/elements/range.lua
@@ -31,7 +31,8 @@ local oUF = ns.oUF
local _FRAMES = {}
local OnRangeFrame
-local UnitInRange, UnitIsConnected = UnitInRange, UnitIsConnected
+local getn, tinsert, tremove = table.getn, table.insert, table.remove
+local CheckInteractDistance, UnitIsConnected = CheckInteractDistance, UnitIsConnected
local function Update(self, event)
local element = self.Range
@@ -49,7 +50,7 @@ local function Update(self, event)
local inRange
local connected = UnitIsConnected(unit)
if(connected) then
- inRange = UnitInRange(unit)
+ inRange = CheckInteractDistance(unit, 4)
if(not inRange) then
self:SetAlpha(element.outsideAlpha)
else
@@ -79,13 +80,13 @@ local function Path(self, ...)
* self - the parent object
* event - the event triggering the update (string)
--]]
- return (self.Range.Override or Update) (self, ...)
+ return (self.Range.Override or Update) (self, unpack(arg))
end
-- Internal updating method
local timer = 0
-local function OnRangeUpdate(_, elapsed)
- timer = timer + elapsed
+local function OnRangeUpdate()
+ timer = timer + arg1
if(timer >= .20) then
for _, object in next, _FRAMES do
@@ -110,7 +111,7 @@ local function Enable(self)
OnRangeFrame:SetScript('OnUpdate', OnRangeUpdate)
end
- table.insert(_FRAMES, self)
+ tinsert(_FRAMES, self)
OnRangeFrame:Show()
return true
@@ -122,13 +123,13 @@ local function Disable(self)
if(element) then
for index, frame in next, _FRAMES do
if(frame == self) then
- table.remove(_FRAMES, index)
+ tremove(_FRAMES, index)
break
end
end
self:SetAlpha(element.insideAlpha)
- if(#_FRAMES == 0) then
+ if(getn(_FRAMES) == 0) then
OnRangeFrame:Hide()
end
end
diff --git a/ElvUI/Modules/UnitFrames/Elements/Load_Elements.xml b/ElvUI/Modules/UnitFrames/Elements/Load_Elements.xml
index c6982db..9442aaf 100644
--- a/ElvUI/Modules/UnitFrames/Elements/Load_Elements.xml
+++ b/ElvUI/Modules/UnitFrames/Elements/Load_Elements.xml
@@ -12,6 +12,7 @@
+
\ No newline at end of file
diff --git a/ElvUI/Modules/UnitFrames/Elements/Range.lua b/ElvUI/Modules/UnitFrames/Elements/Range.lua
new file mode 100644
index 0000000..ff40f7d
--- /dev/null
+++ b/ElvUI/Modules/UnitFrames/Elements/Range.lua
@@ -0,0 +1,24 @@
+local E, L, V, P, G = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
+local UF = E:GetModule("UnitFrames");
+
+function UF:Construct_Range()
+ local Range = {insideAlpha = 1, outsideAlpha = E.db.unitframe.OORAlpha}
+ Range.Override = UF.UpdateRange
+
+ return Range
+end
+
+function UF:Configure_Range(frame)
+ local range = frame.Range
+ if frame.db.rangeCheck then
+ if not frame:IsElementEnabled('Range') then
+ frame:EnableElement('Range')
+ end
+
+ range.outsideAlpha = E.db.unitframe.OORAlpha
+ else
+ if frame:IsElementEnabled('Range') then
+ frame:DisableElement('Range')
+ end
+ end
+end
diff --git a/ElvUI/Modules/UnitFrames/Groups/Party.lua b/ElvUI/Modules/UnitFrames/Groups/Party.lua
index 666b573..e864042 100644
--- a/ElvUI/Modules/UnitFrames/Groups/Party.lua
+++ b/ElvUI/Modules/UnitFrames/Groups/Party.lua
@@ -31,6 +31,7 @@ function UF:Construct_PartyFrames()
self.RaidTargetIndicator = UF:Construct_RaidIcon(self)
self.GPS = UF:Construct_GPS(self)
+ self.Range = UF:Construct_Range(self)
self.unitframeType = "party"
UF:Update_StatusBars()
@@ -116,6 +117,8 @@ function UF:Update_PartyFrames(frame, db)
UF:Configure_RaidRoleIcons(frame)
+ UF:Configure_Range(frame)
+
frame:UpdateAllElements("ElvUI_UpdateAllElements")
end