BigDebuffs

BigDebuffs

18M Downloads

Nameplate icons anchoring in different locations randomly

IronTalon opened this issue ยท 2 comments

commented

When I hit a target dummy or duel someone the addon works as intended. See attached image 1. But when I enter arenas, the icons displayed are off-set slightly and I can't figure out why. It seems to be a bug. I do have friendly anchors enabled but while in config mode it appears perfectly fine. My theory is it is considering same faction players "friendlies" instead of opponents, even inside of arena but I have no idea...

image 1
image 2

commented

I threw together a quick video to show this occurring. Any help with this would be amazing.
https://www.youtube.com/watch?v=Sq7PH8fZFWs

commented

I was able to solve this issue. In the Bigdebuffs.lua, open and edit with notepad++ (or similar text editing software)

Replace the line beginning with local GetNameplateAnchor = {

to the following

local GetNameplateAnchor = {
ElvUINameplates = function(frame)
if frame.unitFrame and frame.unitFrame.Health then
return frame.unitFrame.Health, frame.unitFrame
elseif frame.unitFrame then
return frame.unitFrame, frame.unitFrame
end
end,
KuiNameplate = function(frame)
if frame.kui and frame.kui.HealthBar then
return frame.kui.HealthBar, frame.kui
elseif frame.kui and frame.kui.NameText then
return frame.kui.NameText, frame.kui
elseif frame.kui then
return frame.kui, frame.kui
end
end,
Plater = function(frame)
if frame.unitFrame and frame.unitFrame.healthBar then
return frame.unitFrame.healthBar, frame.unitFrame
elseif frame.unitFrame and frame.unitFrame.ActorNameSpecial then
return frame.unitFrame.ActorNameSpecial, frame.unitFrame
elseif frame.unitFrame then
return frame.unitFrame, frame.unitFrame
end
end,
NeatPlates = function(frame)
if frame.carrier and frame.extended and frame.extended.bars then
return frame.extended.bars.healthbar, frame.extended
end
end,
ThreatPlates = function(frame)
local tp_frame = frame.TPFrame
if tp_frame then
local visual = tp_frame.visual
-- healthbar and name are always defined, so checks are not really needed here.
if visual.healthbar then
return visual.healthbar, tp_frame
elseif visual.name then
return visual.name, tp_frame
else
return tp_frame, tp_frame
end
end
end,
TidyPlates = function(frame)
if frame.carrier and frame.extended and frame.extended.bars then
return frame.extended.bars.healthbar, frame.extended
end
end,
oUF = function(frame)
if frame.unitFrame and frame.unitFrame.Health then
return frame.unitFrame.Health, frame.unitFrame
end
end,
Blizzard = function(frame)
if WOW_PROJECT_ID == WOW_PROJECT_CLASSIC then
return frame.UnitFrame, frame.UnitFrame
end
if frame.UnitFrame and frame.UnitFrame.healthBar then
return frame.UnitFrame.healthBar, frame.UnitFrame
elseif frame.UnitFrame and frame.UnitFrame.name then
return frame.UnitFrame.name, frame.UnitFrame
elseif frame.UnitFrame then
return frame.UnitFrame, frame.UnitFrame
end
end,
}