View Single Post
02-29-24, 04:48 PM   #3
Fizzlemizz
I did that?
 
Fizzlemizz's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Dec 2011
Posts: 1,894
It's a bit of a loaded question as it's missing details (most of which probably come with WeakAuras). You could start with something like:

Lua Code:
  1. local spellID, SnDID = 315496 -- S&D
  2. local _, _, icon = GetSpellInfo(spellID)
  3.  
  4. local f = CreateFrame("Frame", "Kovexpulthul_Buff", PlayerFrame, "AuraButtonArtTemplate")
  5. f:Hide()
  6. f:SetSize(40, 40)
  7. f.Icon:SetTexture(icon)
  8. f:SetPoint("RIGHT", PlayerFrame, "LEFT", 0, 0)
  9. f:RegisterEvent("UNIT_AURA")
  10. f:SetScript("OnEvent", function(self, event, ...)
  11.     local unit, auraInfo = ...
  12.     local added, updated, removed, full = auraInfo.addedAuras, auraInfo.updatedAuraInstanceIDs, auraInfo.removedAuraInstanceIDs, auraInfo.isFullUpdate
  13.     if added then
  14.         for k, v in pairs(added) do
  15.             if v.spellId == spellID then
  16.                 SnDID = v.auraInstanceID
  17.                 self:Show()
  18.                 break
  19.             end
  20.         end
  21.     end
  22.     if removed then
  23.         for k, id in pairs(removed) do
  24.             if id == SnDID then
  25.                 SnDID = nil
  26.                 self:Hide()
  27.                 break
  28.             end
  29.         end
  30.     end
  31. end)

It's been a while since I looked at auras so there may well be a better way.
__________________
Fizzlemizz
Maintainer of Discord Unit Frames and Discord Art.
Author of FauxMazzle, FauxMazzleHUD and Move Pad Plus.

Last edited by Fizzlemizz : 02-29-24 at 05:02 PM.