diff --git a/IceHUD.lua b/IceHUD.lua index 8ceedcf..5c3d49c 100644 --- a/IceHUD.lua +++ b/IceHUD.lua @@ -36,6 +36,7 @@ else end -- compatibility/feature flags +IceHUD.GetPlayerAuraBySpellID = _G["C_UnitAuras"] and C_UnitAuras.GetPlayerAuraBySpellID IceHUD.SpellFunctionsReturnRank = IceHUD.WowMain and IceHUD.WowVer < 80000 IceHUD.EventExistsPlayerPetChanged = IceHUD.WowMain and IceHUD.WowVer < 80000 IceHUD.EventExistsPetBarChanged = IceHUD.WowMain and IceHUD.WowVer < 80000 @@ -494,6 +495,16 @@ function IceHUD:GetAuraCount(auraType, unit, ability, onlyMine, matchByName) return 0 end + -- Support for Spell IDs + if (IceHUD.GetPlayerAuraBySpellID and tonumber(ability) ~= nil) then + local aura = C_UnitAuras.GetPlayerAuraBySpellID(ability) + if aura ~= nil then + return aura.applications + else + return 0 + end + end + local i = 1 local name, _, texture, applications if IceHUD.SpellFunctionsReturnRank then diff --git a/IceStackCounter.lua b/IceStackCounter.lua index 05f7560..91fd828 100644 --- a/IceStackCounter.lua +++ b/IceStackCounter.lua @@ -52,7 +52,13 @@ function IceStackCounter_GetOptions(frame, opts) opts["auraName"] = { type = 'input', name = L["Aura to track"], - desc = L["Which buff/debuff this counter will be tracking. \n\nRemember to press ENTER after filling out this box with the name you want or it will not save."], + desc = function() + if IceHUD.GetPlayerAuraBySpellID then + return L["Which buff/debuff this counter will be tracking. Can use the name or spell id. \n\nRemember to press ENTER after filling out this box with the name you want or it will not save."] + else + return L["Which buff/debuff this counter will be tracking. \n\nRemember to press ENTER after filling out this box with the name you want or it will not save."] + end + end, get = function() return frame.moduleSettings.auraName end, diff --git a/changelog.md b/changelog.md index 28eb440..d3e4182 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,9 @@ # Changelog +v1.14.3: + +- Add Spell ID support for aura tracking. + v1.14.2: - Fix CC and Invuln modules not showing immediately when they should. diff --git a/modules/CustomBar.lua b/modules/CustomBar.lua index a9336fc..98642ce 100644 --- a/modules/CustomBar.lua +++ b/modules/CustomBar.lua @@ -329,16 +329,18 @@ function IceCustomBar.prototype:GetOptions() opts["buffToTrack"] = { type = 'input', name = L["Aura to track"], - desc = L["Which buff/debuff this bar will be tracking.\n\nRemember to press ENTER after filling out this box with the name you want or it will not save."], + desc = function() + if IceHUD.GetPlayerAuraBySpellID then + return L["Which buff/debuff this bar will be tracking. Can use the name or spell id. \n\nRemember to press ENTER after filling out this box with the name you want or it will not save."] + else + return L["Which buff/debuff this bar will be tracking.\n\nRemember to press ENTER after filling out this box with the name you want or it will not save."] + end + end, get = function() return self.moduleSettings.buffToTrack end, set = function(info, v) local orig = v - --Parnic: we now allow spell IDs to be used directly - --if tonumber(v) ~= nil then - -- v = GetSpellInfo(tonumber(v)) - --end if v == nil then v = orig end diff --git a/this_version.md b/this_version.md index 6620b92..6395e60 100644 --- a/this_version.md +++ b/this_version.md @@ -1,5 +1,9 @@ # Changelog +v1.14.3: + +- Add Spell ID support for aura tracking. + v1.14.2: - Fix CC and Invuln modules not showing immediately when they should.