This commit is contained in:
2025-05-17 16:55:57 +02:00
parent 9839096a4e
commit da8b7385f6
2 changed files with 81 additions and 1 deletions

View File

@@ -7,3 +7,6 @@ taken from asakawa :)
aura_env.region:SetDesaturated(true)
easy desaturate
Get namepalte for unit, pretty cool
C_NamePlate.GetNamePlateForUnit(unit)

77
scratch.lua Normal file
View File

@@ -0,0 +1,77 @@
function(states, event, unit, ...)
if event == "WA_NAMEPLATE_CLOSED" then
for i = 1, 40 do
local unit = "nameplate" .. i
if UnitExists(unit) and UnitCanAttack("player", unit) then
C_Timer.After(0.1, function() WeakAuras.ScanEvents("NAME_PLATE_AURA_NAMES", unit) end)
end
end
end
if event == "NAME_PLATE_UNIT_ADDED" and unit or event == "NAME_PLATE_AURA_NAMES" and unit then
local GUID = UnitGUID(unit)
if GUID then
aura_env.stored[GUID] = unit
local target = unit .. "-target"
if UnitExists(target) then
local name = ("[%s]"):format(UnitName(target))
if UnitIsPlayer(target) then name = ("[%s]"):format(target) end
states[GUID] = {
name = name,
GUID = GUID,
unit = unit,
frame = C_NamePlate.GetNamePlateForUnit(unit),
progressType = "static",
autoHide = true,
changed = true,
show = true,
}
end
end
elseif event == "NAME_PLATE_UNIT_REMOVED" and unit then
local GUID = UnitGUID(unit)
local state = states[GUID]
if state then
state.show = false
state.changed = true
end
if aura_env.stored[GUID] then aura_env.stored[GUID] = nil end
end
if event == "FRAME_UPDATE" then
local theTime = GetTime()
if not aura_env.last or aura_env.last < theTime - aura_env.config.throttle then
for GUID, unit in pairs(aura_env.stored) do
if GUID then
local state = states[GUID]
local target = unit .. "-target"
if UnitExists(target) then
if aura_env.config.self and UnitIsUnit("player", target) then return true end
local name = ("%s"):format(UnitName(target))
if UnitIsPlayer(target) then name = ("%s"):format(WA_ClassColorName(target)) end
if state then
state.name = name
state.changed = true
else
states[GUID] = {
name = name,
GUID = GUID,
unit = unit,
frame = C_NamePlate.GetNamePlateForUnit(unit),
progressType = "static",
autoHide = true,
changed = true,
show = true,
}
end
elseif state then
state.show = false
state.changed = true
end
end
end
end
end
return true
end