From 60460fb9128adf995487774df45d91a333f8b3f4 Mon Sep 17 00:00:00 2001 From: NoM0Re <1629787+NoM0Re@users.noreply.github.com> Date: Mon, 1 Jul 2024 17:16:03 +0200 Subject: [PATCH] unrestrict nameplate units, we dont have restrictions with awesomewotlk --- WeakAuras/AuraEnvironment.lua | 6 +----- WeakAuras/Conditions.lua | 3 ++- WeakAuras/GenericTrigger.lua | 3 ++- WeakAuras/Types.lua | 4 ++-- WeakAuras/WeakAuras.lua | 3 +-- WeakAurasOptions/GenericTrigger.lua | 2 +- 6 files changed, 9 insertions(+), 12 deletions(-) diff --git a/WeakAuras/AuraEnvironment.lua b/WeakAuras/AuraEnvironment.lua index a31a5fd..23919f0 100644 --- a/WeakAuras/AuraEnvironment.lua +++ b/WeakAuras/AuraEnvironment.lua @@ -115,11 +115,7 @@ WeakAuras.HideOverlayGlow = LCG.ButtonGlow_Stop local LGF = LibStub("LibGetFrame-1.0") WeakAuras.GetUnitFrame = LGF.GetUnitFrame -WeakAuras.GetNamePlateForUnit = function(unit) - if Private.multiUnitUnits.nameplate[unit] then - return LGF.GetUnitNameplate(unit) - end -end +WeakAuras.GetNamePlateForUnit = LGF.GetUnitNameplate local blockedFunctions = { -- Lua functions that may allow breaking out of the environment diff --git a/WeakAuras/Conditions.lua b/WeakAuras/Conditions.lua index e456fb7..83dc184 100644 --- a/WeakAuras/Conditions.lua +++ b/WeakAuras/Conditions.lua @@ -282,7 +282,8 @@ local function CreateTestForCondition(uid, input, allConditionsTemplate, usedSta local found = 0 local op = %q local range = %s - for i = 1, 40 do + local max = C_NamePlate and C_NamePlate.GetNamePlates and #C_NamePlate.GetNamePlates or 40 + for i = 1, max do local unit = "nameplate" .. i if UnitExists(unit) and UnitCanAttack("player", unit) and WeakAuras.CheckRange(unit, range, op) then found = found + 1 diff --git a/WeakAuras/GenericTrigger.lua b/WeakAuras/GenericTrigger.lua index c0bf7b2..bb19c6c 100644 --- a/WeakAuras/GenericTrigger.lua +++ b/WeakAuras/GenericTrigger.lua @@ -995,7 +995,8 @@ local function MultiUnitLoop(Func, unit, includePets, ...) Func(unit..i, ...) end elseif unit == "nameplate" then - for i = 1, 40 do + local max = C_NamePlate and C_NamePlate.GetNamePlates and #C_NamePlate.GetNamePlates or 40 + for i = 1, max do Func(unit..i, ...) end elseif unit == "group" then diff --git a/WeakAuras/Types.lua b/WeakAuras/Types.lua index a894bb5..35293b9 100644 --- a/WeakAuras/Types.lua +++ b/WeakAuras/Types.lua @@ -2677,8 +2677,8 @@ end for i = 1, 40 do Private.baseUnitId["raid"..i] = true Private.baseUnitId["raidpet"..i] = true - Private.baseUnitId["nameplate"..i] = true - Private.multiUnitUnits.nameplate["nameplate"..i] = true + --Private.baseUnitId["nameplate"..i] = true -- no need to restrict it, blizzard only allows 40 nameplates, we can get all. + --Private.multiUnitUnits.nameplate["nameplate"..i] = true -- no need to restrict it, blizzard only allows 40 nameplates, we can get all. Private.multiUnitUnits.group["raid"..i] = true Private.multiUnitUnits.raid["raid"..i] = true Private.multiUnitUnits.group["raidpet"..i] = true diff --git a/WeakAuras/WeakAuras.lua b/WeakAuras/WeakAuras.lua index 0faa0a8..497650f 100644 --- a/WeakAuras/WeakAuras.lua +++ b/WeakAuras/WeakAuras.lua @@ -4655,11 +4655,10 @@ do for i = 1, 40 do trackableUnits["raid" .. i] = true trackableUnits["raidpet" .. i] = true - trackableUnits["nameplate" .. i] = true end function WeakAuras.UntrackableUnit(unit) - return not trackableUnits[unit] + return not (trackableUnits[unit] or string.match(unit, "^nameplate%d+$")) end end diff --git a/WeakAurasOptions/GenericTrigger.lua b/WeakAurasOptions/GenericTrigger.lua index af41845..2725034 100644 --- a/WeakAurasOptions/GenericTrigger.lua +++ b/WeakAurasOptions/GenericTrigger.lua @@ -117,7 +117,7 @@ local function GetCustomTriggerOptions(data, triggernum) end elseif trueEvent:match("^UNIT_") then local unit = string.lower(i) - if not OptionsPrivate.Private.baseUnitId[unit] and not OptionsPrivate.Private.multiUnitId[unit] then + if not (OptionsPrivate.Private.baseUnitId[unit] or string.find(unit, "^nameplate%d+$")) and not OptionsPrivate.Private.multiUnitId[unit] then return "|cFFFF0000"..L["Unit %s is not a valid unit for RegisterUnitEvent"]:format(unit) end end