Quantcast
Download
(4 Kb)
Download
Updated: 10-19-14 06:34 PM
Addon for:
oUF.
Pictures
File Info
Compatibility:
Warlords of Draenor Pre-Patch (6.0.2)
Updated:10-19-14 06:34 PM
Created:04-25-09 05:40 PM
Downloads:12,040
Favorites:65
MD5:

oUF AuraWatch  Popular! (More than 5000 hits)

Version: 1.6.8-8
by: Astromech [More]

This is an optional addon for oUF by haste. The latest version was verified to work with oUF 1.6.8.

oUF AuraWatch adds the ability to watch specific auras on any unit of your choice. All you need to know is the spell ID!

Some uses include:

  • Grid style HoT indicators.
  • Crowd control warnings.
  • DoT timers.
All integrated within your unit frames.

By default, when an aura is applied to a unit, oUF_AW will display an icon letting you know it has been applied. When the aura expires, oUF_AW will display a faded icon, letting you know to reapply that aura. These affects can be customized in your layout. All icons are cleared when combat ends, so you can start each fight fresh. oUF_AuraWatch used the GUID of players and targets, making sure correct information is shown.

oUF_AW does not display numerical timers on its own. However, it does create a cooldown frame which, when paired with OmniCC by Tuller (or a similar addon), will create a countdown for you.

Additional options as well as an example on how to set up oUF_AW are located in oUF_AuraWatch.lua.

1.6.8-8
-Removed some legacy code from spell ranks. Be sure you use the correct spell ID!

1.5.2-7
-Replaced the numerous frame options with a customIcons option, which gives control of frame creation to the user. This is not backwards compatible! If you previously used hideCount, hideCooldown, or custom textures, slight alterations to your layout will be needed.
-Added Override- and Post- ResetIcon and ExpireIcon fields, which allow the user to better control how frames look when these events occur.
-Updated to oUF version 1.5.2 element standard.

1.3.28-6
Added hideCount and hideCooldown options.
Added a strictMatching option, which will watch auras based on spell ids instead of spell names if true.
Improved documentation in oUF_AuraWatch.lua.
Use new embedding technique.
Slight code improvements.

1.3.14-5:
Added an anyUnit option, which, if true, will display an aura no matter what unit it is from.
Fixed an error in the icon creating code.

1.3.14-4:
Fixed some typos so that the addon works like the documentation says!

1.3.14-3:
Allowed the layout to specify showOnlyPresent and showOnlyMissing on a per aura basis if wanted.
Added a new fromUnits field which specifies which units an aura can originate from.

1.3.11-2:
Fixed global oUF referencing and embedding errors.

1.3.11-1:
Initial upload.
Archived Files (7)
File Name
Version
Size
Author
Date
1.5.2-7
4kB
Astromech
10-16-10 06:46 PM
1.3.28-6
4kB
Astromech
05-09-10 09:02 PM
1.3.14-5
3kB
Astromech
05-05-09 11:27 AM
1.3.14-4
3kB
Astromech
04-30-09 04:11 PM
1.3.14-3
3kB
Astromech
04-29-09 10:34 PM
1.3.11-2
3kB
Astromech
04-26-09 02:00 AM
1.3.11-1
3kB
Astromech
04-25-09 05:40 PM


Post A Reply Comment Options
Unread 01-28-18, 05:27 PM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 72
Uploads: 6
Hey, sorry I never had a chance to get back to you, but glad you got it working!
__________________
- Astromech
Report comment to moderator  
Reply With Quote
Unread 01-27-18, 04:24 PM  
gempir
A Cliff Giant
 
gempir's Avatar
AddOn Author - Click to view AddOns

Forum posts: 79
File comments: 14
Uploads: 3
Found the solution. Just make the icon a button.

Lua Code:
  1. local icon = CreateFrame("Button", nil, self)
  2. icon.spellID = sid
  3. icon:SetWidth(44)
  4. icon:SetHeight(44)
  5. icon:SetPoint("BOTTOMLEFT", UIParent, "TOPLEFT", 1 + (i * 52) - 52, 7)
  6. icon:EnableMouse(true)
  7. icon:RegisterForClicks("MiddleButtonUp")
  8. icon:SetScript("OnClick", function()
  9.     -- do stuff
  10. end)
Last edited by gempir : 01-27-18 at 04:25 PM.
Report comment to moderator  
Reply With Quote
Unread 01-17-18, 05:38 AM  
gempir
A Cliff Giant
 
gempir's Avatar
AddOn Author - Click to view AddOns

Forum posts: 79
File comments: 14
Uploads: 3
I didn't register anything.

Even if so, the tooltip (on hover) should work anyway right?
Report comment to moderator  
Reply With Quote
Unread 01-07-18, 02:00 PM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 72
Uploads: 6
EnableMouse should work. Did you register any mouse event scripts, like OnClick? There's a list here http://wowprogramming.com/docs/scripts.

Sorry, I can't help test right now - I'm not subbed.
__________________
- Astromech
Report comment to moderator  
Reply With Quote
Unread 01-06-18, 04:39 PM  
gempir
A Cliff Giant
 
gempir's Avatar
AddOn Author - Click to view AddOns

Forum posts: 79
File comments: 14
Uploads: 3
Hey,

how would i enable mouse events on my auras?

my function looks like this currently

Lua Code:
  1. local createAuraWatch = function(self, unit)
  2.     local auras = {}
  3.        
  4.     auras.presentAlpha = 1
  5.     auras.missingAlpha = 0
  6.     auras.PostCreateIcon = AWIcon
  7.     auras.icons = {}
  8.     if G.aurawatch.spellIDs[class] then
  9.         for i, sid in pairs(G.aurawatch.spellIDs[class]) do
  10.             local icon = CreateFrame("Frame", nil, self)
  11.             icon.spellID = sid
  12.             icon:SetWidth(44)
  13.             icon:SetHeight(44)
  14.             icon:SetPoint("CENTER", UIParent, "CENTER", (i * 52) - 170, -290)
  15.             icon:EnableMouse(true)
  16.             auras.icons[sid] = icon
  17.         end
  18.     end
  19.     self.AuraWatch = auras
  20. end

icon:EnableMouse(true) doesn't work sadly.
Report comment to moderator  
Reply With Quote
Unread 12-10-15, 11:30 AM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 72
Uploads: 6
Hmm yeah everything looks OK. I'm not sure why it's not working, and I can't test anything since I'm not subbed at the moment.

One thing I would check, is that the function "createAuraIcon" (which is set as AuraWatch.PostCreateIcon) repositions the CD frame again. I'm not sure if that could cause problems.

You also don't have AuraWatch.customIcons set to true, so you don't even need to create your own CD frame. Right now AuraWatch just creates another, replacing it. Here's the code from line 259 in oUF_AuraWatch.lua

Lua Code:
  1. if not watch.customIcons then
  2.             local cd = CreateFrame("Cooldown", nil, icon)
  3.             cd:SetAllPoints(icon)
  4.             icon.cd = cd
  5.  
  6.             local tex = icon:CreateTexture(nil, "BACKGROUND")
  7.             tex:SetAllPoints(icon)
  8.             tex:SetTexture(image)
  9.             icon.icon = tex
  10.            
  11.             local overlay = icon:CreateTexture(nil, "OVERLAY")
  12.             overlay:SetTexture"Interface\\Buttons\\UI-Debuff-Overlays"
  13.             overlay:SetAllPoints(icon)
  14.             overlay:SetTexCoord(.296875, .5703125, 0, .515625)
  15.             overlay:SetVertexColor(1, 0, 0)
  16.             icon.overlay = overlay
  17.  
  18.             local count = icon:CreateFontString(nil, "OVERLAY")
  19.             count:SetFontObject(NumberFontNormal)
  20.             count:SetPoint("BOTTOMRIGHT", icon, "BOTTOMRIGHT", -1, 0)
  21.             icon.count = count
  22.         end

Sorry I can't help more. Hopefully this will lead you to a fix.
__________________
- Astromech
Report comment to moderator  
Reply With Quote
Unread 12-05-15, 12:48 AM  
Galaxy119
A Flamescale Wyrmkin
 
Galaxy119's Avatar
AddOn Author - Click to view AddOns

Forum posts: 109
File comments: 283
Uploads: 5
Originally Posted by Astromech
Galaxy119, hi! Sorry for the late reply!

It's strange that's not working, its similar to the code I use.
To be clear, you tried it like that?
Yes, infact i tried it pretty much EXACTLY like that.
I took over development on the UI addon in question, made my own github and everything for it, you can see the file that calls in the aurawatch function here, specifically, this will take you to the first line in the icon positioning function:
https://github.com/galaxy119/Diablo-...e/lib.lua#L321

As you can see, it's pretty much identical to yours, except i've changed the icon strata to Background and cd strata to tooltip, thinking it might have been an issue with the icon being higher up than the cooldown or something.

When i disable aura watch, and let the UI addon handle the buffs, they have cooldown spirals like they should, but when using aurawatch they do not.
I'm fine with letting the addon take over creation of the party UI buffs, since i've fixed them as one of my updates, but the raid UI frame still remains with no buff function aside from aurawatch, and i've very much like to keep using aura watch, I love the low-alpha icons to remind me to recast certain things lol
Report comment to moderator  
Reply With Quote
Unread 12-05-15, 12:03 AM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 72
Uploads: 6
Galaxy119, hi! Sorry for the late reply!

It's strange that's not working, its similar to the code I use.

Code:
for i, sid in pairs(spellIDs) do
        local icon = CreateFrame("Frame", nil, self)
        icon:SetFrameStrata("HIGH")
        icon.spellID = sid
        -- set the dimensions and positions
        icon:SetSize(self.cfg.aurawatch.size,self.cfg.aurawatch.size)
        auras.icons[sid] = icon
        local xOffset = (i % columns) * xGrowth
        local yOffset = math.floor(i / columns) * yGrowth +60
        icon:SetPoint(iconAnchorPoint, self, parentAnchorPoint, xOffset, yOffset)
        -- Set any other AuraWatch icon settings

local cd = CreateFrame("Cooldown", nil, icon)
cd:SetFrameStrata("TOOLTIP")
cd:SetAllPoints(icon)
icon.cd = cd
    end
To be clear, you tried it like that?

Pyrates, I don't have a GitHub or anything like that for AuraWatch, sorry. You probably already know, but under Other Files above you can download older versions and compare them. From 7 to 8, I changed AW to use spellIDs instead of spell names internally. That's about all, IIRC.
__________________
- Astromech
Report comment to moderator  
Reply With Quote
Unread 12-04-15, 06:01 AM  
Pyrates
A Cliff Giant
 
Pyrates's Avatar
AddOn Author - Click to view AddOns

Forum posts: 77
File comments: 214
Uploads: 4
Hey, do you have some diff (maybe even a github page or something like that) for your latest update? I'm keeping up a custom version of 1.5.2-7 and would like to have a look around the things you changed.
__________________
" ... and the Vogon will do things to you that you wish you'd never been born, or, if you're a clearer minded thinker, that the Vogon had never been born."
Report comment to moderator  
Reply With Quote
Unread 11-30-15, 09:55 AM  
Galaxy119
A Flamescale Wyrmkin
 
Galaxy119's Avatar
AddOn Author - Click to view AddOns

Forum posts: 109
File comments: 283
Uploads: 5
Re: Re: Buff timer

Originally Posted by Astromech
The cooldown timer should be pretty simple. After you create the icon, you just need to create a cooldown frame and AW will take care of the rest.
This isn't quite simple, nor working.
Here's my icon create frame section:
Code:
    for i, sid in pairs(spellIDs) do
        local icon = CreateFrame("Frame", nil, self)
        icon:SetFrameStrata("HIGH")
        icon.spellID = sid
        -- set the dimensions and positions
        icon:SetSize(self.cfg.aurawatch.size,self.cfg.aurawatch.size)
        auras.icons[sid] = icon
        local xOffset = (i % columns) * xGrowth
        local yOffset = math.floor(i / columns) * yGrowth +60
        icon:SetPoint(iconAnchorPoint, self, parentAnchorPoint, xOffset, yOffset)
        -- Set any other AuraWatch icon settings
    end
Here's the code I'm trying to inject:
Code:
local cd = CreateFrame("Cooldown", nil, icon)
cd:SetFrameStrata("TOOLTIP")
cd:SetAllPoints(icon)
icon.cd = cd
I've tried it both immediatly under the icon = CreateFrame line aswell as under the "--set any other aurawatch icon settings" line, neither have worked.
I'm probably missing something but I can't figure out what exactly.

Originally Posted by Astromech
For you second problem, I think you're missing an "end" to close the Paladin spell definitions. Right now, the icons are only created for Paladins. You'll need to insert "end" after this part:
You'll have an extra "end" somewhere now, maybe at the end of the file?
Ahaha, omg. I tried my hardest to compare the party and raid aurawatch functions for differences.. and it was a fucking end in the wrong place.. *sigh* thanks for that.
Last edited by Galaxy119 : 11-30-15 at 02:25 PM.
Report comment to moderator  
Reply With Quote
Unread 11-29-15, 06:27 PM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 72
Uploads: 6
Re: Buff timer

Hi again!

The cooldown timer should be pretty simple. After you create the icon, you just need to create a cooldown frame and AW will take care of the rest. After

Code:
local icon = CreateFrame("Frame", nil, self)
insert

Code:
local cd = CreateFrame("Cooldown", nil, icon)
cd:SetAllPoints(icon)
icon.cd = cd
For you second problem, I think you're missing an "end" to close the Paladin spell definitions. Right now, the icons are only created for Paladins. You'll need to insert "end" after this part:

Code:
elseif cfg.playerclass == "PALADIN" then
		spellIDs = {
			148039, -- Sacred Shield
			53563, -- Beacon of Light
			157007, -- Beacon of Insight
			86273, -- Illuminated Healing
			6940, -- Hand of Sacrifice
			114039, -- Hand of Purity
			156910, -- Beacon of Faith
      }
You'll have an extra "end" somewhere now, maybe at the end of the file?
__________________
- Astromech
Report comment to moderator  
Reply With Quote
Unread 11-26-15, 06:16 AM  
Galaxy119
A Flamescale Wyrmkin
 
Galaxy119's Avatar
AddOn Author - Click to view AddOns

Forum posts: 109
File comments: 283
Uploads: 5
Buff timer

Look, I'm back again!

Ok so I took a break between Highmaul and now, and now that I'm back and into Mythic progression, the lack of a timer on the aurawatch buffs is bugging me.
I remember it use to have one way back when, but it broke (no errors, just doesn't show)
I was wondering if you've run across this issue and fixed it, or could work with me again.
Essentially, I would like a darkened spiral type timer effect over the aurawatch icons (for party and raid)
http://imgur.com/LfWLGYV
In this screenshot, you see the party frame with buffs being tracked (these are the buffs i need a cooldown timer of some sort on)
Also for reference, the cooldown on the action bar that is on prayer of mending, is the type of timer I'd like, just without the number in the center. Something simple to see that doesn't obstruct the icon.
Thanks much.

A second issue.
When using Aurawatch on my Raid frames, for some reason, it will show my paladins just fine, but not my Priests buffs.
Oddly enough, if I remove the Paladin section, the Priest ones work perfectly.

Take a look and see if you can help me out with this one.. :/

Code:
  --create aura watch func
   local createAuraWatch = function(self)
	local auras = {}
	local spellIDs
    if cfg.playerclass == "WARRIOR" then --WARRIOR
        spellIDs = {}
	elseif cfg.playerclass == "PRIEST" then
		spellIDs = {
			139, -- Renew
			17, -- Power Word: Shield
			41635, -- Prayer of Mending
		} 

	elseif cfg.playerclass == "PALADIN" then
		spellIDs = {
			148039, -- Sacred Shield
			53563, -- Beacon of Light
			157007, -- Beacon of Insight
			86273, -- Illuminated Healing
			6940, -- Hand of Sacrifice
			114039, -- Hand of Purity
			156910, -- Beacon of Faith
      }
      local dir = {
        [1] = {size = 15, pos = "CENTER",       x = 0, y = 3 },
        [2] = {size = 15, pos = "CENTER",       x = 15, y = 3 },
        [5] = {size = 15, pos = "CENTER",       x = -15, y = 3 },
        [4] = {size = 15, pos = "CENTER",       x = 30, y = 3 },
        [3] = {size = 15, pos = "CENTER",       x = -30, y = 3 },
        [6] = {size = 15, pos = "CENTER",       x = -30, y = 3 },
        [7] = {size = 15, pos = "CENTER",       x = 15, y = 3 },
        [8] = {size = 15, pos = "CENTER",       x = 0, y = 3 },
      }

      auras.onlyShowPresent = true
      auras.presentAlpha = .75

      auras.PostCreateIcon = function(self, icon, sid)
        if icon.cd then
          icon.cd:SetPoint("TOPLEFT", 1, -1)
          icon.cd:SetPoint("BOTTOMRIGHT", -1, 1)
        end
        --count hack for lifebloom
        if sid == 33763 and icon.count then
          icon.count:SetFont("Interface\\AddOns\\oUF_Diablo\\media\\visitor1.ttf",8,"THINOUTLINE, MONOCHROME")
          icon.count:ClearAllPoints()
          icon.count:SetPoint("CENTER", 3, 3)
          icon.count:SetParent(icon.cd)
        end
      end

      -- Set any other AuraWatch settings
      auras.icons = {}
      for i, sid in pairs(spellIDs) do
        local icon = CreateFrame("Frame", nil, self)
	icon:SetFrameStrata("HIGH")
        icon.spellID = sid
        -- set the dimensions and positions
        icon.size = dir[i].size
        icon:SetSize(dir[i].size,dir[i].size)
        --position icon
        icon:SetPoint(dir[i].pos, self, dir[i].pos, dir[i].x, dir[i].y)
        --make indicator
        if dir[i].indicator then
          local tex = icon:CreateTexture(nil, "OVERLAY")
          tex:SetAllPoints(icon)
          tex:SetTexture("Interface\\AddOns\\oUF_Diablo\\media\\indicator")
          tex:SetVertexColor(dir[i].color.r,dir[i].color.g,dir[i].color.b)
          icon.icon = tex
        end

        auras.icons[sid] = icon
        -- Set any other AuraWatch icon settings
      end
      --call aurawatch
      self.AuraWatch = auras
    end
  end
Last edited by Galaxy119 : 11-26-15 at 07:38 PM.
Report comment to moderator  
Reply With Quote
Unread 01-10-15, 12:14 PM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 72
Uploads: 6
Re: Re: Re: Re: Re: Multiple class OR adaptive icon locations.

Haha, don't worry, it happens to all of us! No problem. Glad it's working!
__________________
- Astromech
Report comment to moderator  
Reply With Quote
Unread 01-10-15, 03:36 AM  
Galaxy119
A Flamescale Wyrmkin
 
Galaxy119's Avatar
AddOn Author - Click to view AddOns

Forum posts: 109
File comments: 283
Uploads: 5
Re: Re: Re: Re: Multiple class OR adaptive icon locations.

Originally Posted by Astromech
I think you're getting that error because there's an extra "end" somewhere. I would check to make sure there are no extra "end"s after the code below.
I. Can't. Believe. I. Made. This. Mistake.

I code in BASH script all day 2-3 days a week and NEVER thought to check for extra segment closes..

There was an extra end before the very last one in the aurawatch function (likely the original coders way of closing the if-then-else function) and I never removed it.

I feel like a retard now.

It worked. Perfectly. Will forward this fix to the oUF_Diablo author aswell.

GGWP.

Thx much!
Report comment to moderator  
Reply With Quote
Unread 01-09-15, 05:57 PM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 72
Uploads: 6
Re: Re: Re: Multiple class OR adaptive icon locations.

Hello! I hope you had a good new year.

I think you're getting that error because there's an extra "end" somewhere. If you remove the end after the last else, you'll have the problems you described (AuraWatch will only show for that last class). I went through the code again and threw together a small addon to make sure the syntax was OK. If you're getting an error again, I would check to make sure there are no extra "end"s after the code below. Basically, every function, if-elseif-else, and for loop needs an "end" to close it. Lua will complain about extras.

Lua Code:
  1. func.createAuraWatch = function(self)
  2.  
  3.     local auras = {}
  4.     local spellIDs
  5.     if cfg.playerclass == "PRIEST" then --Priest
  6.         spellIDs = {
  7.             139, -- Renew
  8.             17, -- Power Word: Shield
  9.             33076, -- Prayer of Mending
  10.             47515, -- Divine Ageis
  11.             33206, -- Pain Suppression
  12.             109964, -- Spirit Shell
  13.             152118, -- Clairity of Will
  14.         }
  15.  
  16.     elseif cfg.playerclass == "PALADIN" then --Paladin    
  17.         spellIDs = {
  18.             86273, -- Illuminated Healing
  19.             53563, -- Beacon of Light
  20.             114039, -- Hand of Purity
  21.             6940, -- Hand of Sacrifice
  22.             148039, -- Sacred Shield
  23.             156910, -- Beacon of Faith
  24.             114917, -- Stay of Execution
  25.             157047, -- Saved by the Light
  26.             114163, -- Eternal Flame
  27.             157007, -- Beacon of Insight
  28.             54597, -- Glyph of FoL
  29.             31821, -- Devotion Aura
  30.         }
  31.     else --Monk
  32.         spellIDs = {}
  33.     end
  34.  
  35.     auras.onlyShowPresent = true
  36.     auras.presentAlpha = 1
  37.     auras.PostCreateIcon = func.createAuraIcon
  38.  
  39.     -- Set any other AuraWatch settings
  40.     auras.icons = {}
  41.     local columns = 2
  42.     local xGrowth = 19
  43.     local yGrowth = -20
  44.     local parentAnchorPoint = "TOPRIGHT"
  45.     local iconAnchorPoint = "TOPRIGHT"
  46.     for i, sid in pairs(spellIDs) do
  47.         local icon = CreateFrame("Frame", nil, self)
  48.         icon:SetFrameStrata("TOOLTIP")
  49.         icon.spellID = sid
  50.         -- set the dimensions and positions
  51.         icon:SetSize(self.cfg.aurawatch.size,self.cfg.aurawatch.size)
  52.         auras.icons[sid] = icon
  53.         local xOffset = (i % columns) * xGrowth
  54.         local yOffset = math.floor(i / columns) * yGrowth +60
  55.         icon:SetPoint(iconAnchorPoint, self, parentAnchorPoint, xOffset, yOffset)
  56.         -- Set any other AuraWatch icon settings
  57.     end
  58.     --call aurawatch
  59.     self.AuraWatch = auras
  60. end

I seem to remember seeing some oUF layout that had filtered auras back in Cataclysm... Sorry I can't remember specifics.

Never been a big fan of X-Perl or Healbot either, but to each their own! Hope this helps.
__________________
- Astromech
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: