Files
wow-weakauras/Complete Projects/BFA/TSU - Enemy Nameplates Maybe.lua
2024-08-24 22:43:07 +02:00

58 lines
2.0 KiB
Lua

--NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED REMOVE_UNIT
function(allstates, e, unit)
if e == "NAME_PLATE_UNIT_ADDED" and unit then
if UnitIsPlayer(unit) then
if UnitIsEnemy("player", unit) then
local _, _, class = UnitClass(unit)
allstates[unit] =
{
changed = true,
show = true,
unit = unit,
class = class,
}
return true
end
end
elseif e == "NAME_PLATE_UNIT_REMOVED" and unit then
if allstates[unit] then
local LCG = LibStub("LibCustomGlow-1.0")
allstates[unit].show = false
allstates[unit].changed = true
local nameplate = C_NamePlate.GetNamePlateForUnit(unit)
LCG.PixelGlow_Stop(nameplate)
return true
end
elseif e == "REMOVE_UNIT" then
if allstates[unit] then
allstates[unit].show = false
allstates[unit].changed = true
return true
end
end
end
--ON SHOW
local LCG = LibStub("LibCustomGlow-1.0")
local nameplate = C_NamePlate.GetNamePlateForUnit(aura_env.statee.unit)
local aura_env = aura_env
local unit = aura_env.statee.unit
LCG.PixelGlow_Start(nameplate, {aura_env.classColor(aura_env.statee.class)}, nil, 0, 8, 4, 0, -4)
C_Timer.After(4, function() WeakAuras.ScanEvents("REMOVE_UNIT", unit); LCG.PixelGlow_Stop(nameplate) end)
--INIT
aura_env.classColor = function(class)
if class == 1 then return 0.78, 0.61, 0.43, 1 elseif
class == 2 then return 0.96, 0.55, 0.73, 1 elseif
class == 3 then return 0.67, 0.83, 0.45, 1 elseif
class == 4 then return 1, 0.96, 0.41, 1 elseif
class == 5 then return 1, 1, 1, 1 elseif
class == 6 then return 0.77, 0.12, 0.23, 1 elseif
class == 7 then return 0, 0.44, 0.87, 1 elseif
class == 8 then return 0.25, 0.78, 0.92, 1 elseif
class == 9 then return 0.53, 0.53, 0.93, 1 elseif
class == 10 then return 0, 1, 0.59, 1 elseif
class == 11 then return 1, 0.49, 0.04, 1 elseif
class == 12 then return 0.64, 0.19, 0.79, 1 else
return 1, 1, 1, 1 end
end