Add NameplateTargets to show targets of players next to their nameplates
This commit is contained in:
1
WeakAuras/Projects/NameplateTargets/export
Normal file
1
WeakAuras/Projects/NameplateTargets/export
Normal file
@@ -0,0 +1 @@
|
||||
!9M1)VjoUs8)xqALALUMfA7UN0Q7(bAjDl7JLIWHR3790fWKyaFBWM1XPFzxD83(BgBNqGl8TBBFkvLehpJNz8hpZKzcBegessdjN7149ExesMhsIX)GrNQKpgsAD39DdjJLQyM6kA0xIvYfHKRs4F7Buv8YrbszIMdd90DtMKY0HDRhsEU09ur0mPQNKl0HKR97g43pNFxltKkyP62aNz3Zn))cZ)VeheiilL10YaMAGGRdVc4yKMlfPgjxtvA4gyMt4cE6m79CCM4DW9AfF6uMk1UobfdG3gZgNnzsWZlyHKB9707MbDG3BEKMPONdlWcwss74ulFtZgZEGj0eGk(tHKHx3KemKe0SpWSmCrjlsOpdmNiOZzoQmKalaJMONTIj9umdti9870XORIvIM2k8rYKS5cYcAedLEIIgZZsbtvDJLLpNIMIYwcsmi44GdT6rklska53PwcPGHmEoLlo8zxyBpS5duqt4tfR2VbPZOyiGa0)(SPUDqyQjsQbVbB1dJsOPPHJn29iCW5za6kFR0(2nhnL)n2Mdcdp2bwldYAyaznmGSggqwDV3z4blzIdIgCxVCtlZijr0eRX3cAXXS35hpf0zYxZOk2Yr3KLKSC09Z4azeLrbTaR4NbSapcooLTiNuckZDr8Le21S2nyZwmHp1AuMQ4XwY73cTggaamF4m5k0aqayyf6BGteGos63Sv7beWIYNdqXUVlF1YpnEjyK5WX7U)NVE7LFPlR5n4oNm6b44bcJ6(Z1Vabw4CcOQPm9YrsXYrDbSmGR1Gw60cu8UNhdWzCvMOGjaNROAQrUSh5Vbh1QdKR7773fpuPHxC3c9QDFRe2wyeqKwvuhMykY5lEFDuH1wmEjFjoxbKUn)SFVond8nMIyEj2cGPogRWy0BGMPe0KFlxnp)9g0uHhbzMoHJ7a3niOt7Ua7EKov2gm81pN1C2)Q1JXR7FlMNINZdypPhorQaOYWfd185SHUn7H6zkw6mzsCyxulsNrJLp(VZzXzn2WVy)2F82GDXx7tMfpklvlNJZzWIyeKM7GbSUs0HqKDNH0eEUsVLowecqLy5q3dJl54SycOxWHmXdEWJkg4U)xxo67)vzYUAdFV7XJBMOKWM72iF1w3dQD0ChnakGL503CNqHKgw3g0XW5OXFwgZW4dB4VfNqMl0H5vaO)(MdlapdVUZDe)wamhgzODObDBhmSzRwvnCF)pF3VTXlAoOVLJeWrqFC8b9AzaMv7TFJ4k5gGZod8G8)jrB5NMKjmyJtmg30FA5iJKc)IMl4hppVtx(PLJSx8jUjaOaaguRcbT2Yr6zmXkAYVa4lWad8PbW4lRVCuS8VpT8Rej401kggAQjY9avdLkKvBLwumr3d(pXt1PNG840TjwBED9Wa4WMYR5eWJXj19qzTWkbC5Eg9lnbWxQhjIk8nGPtQvPXUMZmcuXeXNU91gE7F)LRnO9HTUpuj2aStuGmNjeT(BHKss8AKuTbZTX8XbTBz2yqdn(GZm)PQ2mStE3BaluGBqahc)m1Z6R7KAVj9dlh9M0ABampDhgZn8x9FX1(pmsQrRoeaxEGVCAm4TANPndx7OWDwwDWOpNqyxjeXxyIXaWRXXdLxIvrU)veEJmQh(S3hz6IhUrAcOwSjUxUBDyuY6(99tt(vHITsp)PdN6cKhEZrqxHReRRTdMotQngclmLhb1luYPqEaPywqwhzOLJhv7i4bgO8wESZMPYoM1pAgvm1f2(ijfsE5XJHU)6hYdxskBFU1CX2En8s5MVbvBiyn8DLo1CZD3hSntYRWsoHcQ5(M9MBz7XYvwM2IZpJmUdpJcEsLbC2s4MY5quBp7aWlXaQ2dSmnE)jBjkHqQljKWh65cBTXq)sjMEwP3A)2jpiTBPwNS3Dgt(iwxioKehSrlOCv6jByPoD3PQCSr6(bXEhuSJJp41EcMPpUaz7eC62PWV42DugxO2PMiq1Sj)JH8xFnhPy6mLWDMO6ZahrmrJfcZWO2PFWLUrrCw3cF6)m90Qm9mQXg2TTTYqI0xJv2WuPI1fHnZ97yKKdYf1bfP3tuoi4pkZ2VhU9DX2PF0xZKx2Bsnhz6mV0P58sN(Z(tl6GYP8fyfFjsL61ifRxHuVEPsj7FqQAhvkC7645pSdOJl3PxlpohKEVZjDOFEV7H1cZ9jZRcjrZyrFPOUwL6SWo7hrvn3OIUmGfD8pn144bSThjj2sg(alWontv1SnJPYYt6QmjbltzCffB9Y3Tw5174FdiBtK49(pTaps)i95qsrnOBS9oe8nPGH1mJaIiQWmBvn5IPMk0F(fRAcG5PRC1JKMGgUn7BawxqSAKMk6VLwluvxi2s)gqvYww)gVVstLOWuzl3VTMW)EEnHBSExd0aLvuwBfS9mtRxK(H3(wSi1EC5Blks9Bn9eyxT7W2tnS((FDI6oYcYdZ9pDTc23JQqJ1v4M2C04qA4v3REi5rPk(EfDri5(I7(ZSunFYZR6ZZb0mHIVJExL7gWfr8c8WE7VqPgburlgk3xLslzi5nIsTQ8SgNNVNCa9LerF5DaX0moUWQbU2XXNkGpEWjgMcf6RusvQTE5v35Us9qJWOPOgN3jKT34nCIbv2AVxi2TQ3FVmm0DC5bWqE55OTm8)9
|
1
WeakAuras/Projects/NameplateTargets/init.lua
Normal file
1
WeakAuras/Projects/NameplateTargets/init.lua
Normal file
@@ -0,0 +1 @@
|
||||
aura_env.stored = {}
|
79
WeakAuras/Projects/NameplateTargets/trigger.lua
Normal file
79
WeakAuras/Projects/NameplateTargets/trigger.lua
Normal file
@@ -0,0 +1,79 @@
|
||||
-- WA_NAMEPLATE_CLOSED NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED NAME_PLATE_AURA_NAMES FRAME_UPDATE
|
||||
function(states, event, unit, ...)
|
||||
if event == "WA_NAMEPLATE_CLOSED" then
|
||||
for i = 1, 40 do
|
||||
local unit = "nameplate" .. i
|
||||
if UnitExists(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
|
||||
print(string.format("%s: %s", event, unit))
|
||||
aura_env.stored[GUID] = unit
|
||||
local unitTarget = unit .. "-target"
|
||||
if UnitExists(unitTarget) then
|
||||
local targetname = UnitName(unitTarget)
|
||||
local nameplate = C_NamePlate.GetNamePlateForUnit(unit)
|
||||
|
||||
states[GUID] = {
|
||||
name = targetname,
|
||||
GUID = GUID,
|
||||
unit = unit,
|
||||
frame = nameplate,
|
||||
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
|
Reference in New Issue
Block a user