Download
(4Kb)
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:13,082
Favorites:63
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.
Post A Reply Comment Options
Unread 07-24-09, 11:13 PM  
Kaidroth
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 0
Everything is working fine except I can't make my dream come true !
I have currently my Rejuvenation/Lifebloom/etc. showing up and I want a missing buff feature (to refresh my MotW on the raid), by setting the auras.presentAlpha to 0 and the auras.missingAlpha to 1. But if I do so it's also the case for Rejuvenation & co.

Is there a way to do it with "if bla bla bla then" ?
Report comment to moderator  
Reply With Quote
Unread 07-06-09, 10:05 PM  
berkz
A Defias Bandit

Forum posts: 2
File comments: 3
Uploads: 0
simplified instructions

Could some1 give me simplified instructions on how to implement this into my layout. I'm using caellians layout. I understand that I must put the code somewhere but I have no idea where.
Report comment to moderator  
Reply With Quote
Unread 06-09-09, 03:54 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
Dawn I post my function. This function is called for myclass == "DRUID" only.
Another class = different function.

Code:
  local function d3o2_createAuraWatch(self,unit)
    local auras = CreateFrame("Frame", nil, self)
    auras:SetAllPoints(self.Health)
    local spellIDs = { 
      48440, --reju
      48443, --regrowth
      48450, --lifebloom
      53249, --wildgrowth
      27808, --kel iceblock
      32407, --strange aura
      28408, --kel sheep heroic
    }
    
    auras.presentAlpha = 1
    auras.missingAlpha = 0
    --auras.hideCooldown = true
    --auras.PostCreateIcon = d3o2_createAuraIcon
    auras.icons = {}
    
    for i, sid in pairs(spellIDs) do
      local icon = CreateFrame("Frame", nil, auras)
      icon.spellID = sid
		  local cd = CreateFrame("Cooldown", nil, icon)
		  cd:SetAllPoints(icon)
		  cd:SetReverse()
		  --cd:SetAlpha(0)
		  icon.cd = cd
      if i > 4 then
        icon.anyUnit = true
        icon:SetWidth(20)
        icon:SetHeight(20)
        icon:SetPoint("CENTER",0,0)
      else
        icon:SetWidth(10)
        icon:SetHeight(10)
        local tex = icon:CreateTexture(nil, "BACKGROUND")
        tex:SetAllPoints(icon)
        tex:SetTexture("Interface\\AddOns\\oUF_D3OrbsRaid\\indicator")
        if i == 1 then
          icon:SetPoint("BOTTOMLEFT",0,0)
          tex:SetVertexColor(200/255,100/255,200/255)
        elseif i == 2 then
          icon:SetPoint("TOPLEFT",0,0)
          tex:SetVertexColor(50/255,200/255,50/255)
        elseif i == 3 then          
          icon:SetPoint("TOPRIGHT",0,0)
          tex:SetVertexColor(100/255,200/255,50/255)
          local count = icon:CreateFontString(nil, "OVERLAY")
          count:SetFont(NAMEPLATE_FONT,10,"THINOUTLINE")
          count:SetPoint("CENTER", -6, 0)
          --count:SetAlpha(0)
          icon.count = count
        elseif i == 4 then
          icon:SetPoint("BOTTOMRIGHT",0,0)
          tex:SetVertexColor(200/255,100/255,0/255)
        end
        icon.icon = tex
      end  
      auras.icons[sid] = icon
    end
    self.AuraWatch = auras
  end
...

Code:
    if myclass == "DRUID" then
      d3o2_createAuraWatch(self,unit)
    end
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 06-09-09 at 03:55 AM.
Report comment to moderator  
Reply With Quote
Unread 05-26-09, 07:22 PM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 73
Uploads: 6
might you consider adding an option to make AuraWatch look at "showDebuffType". i.e. color the AuraWatch borders by type if set to true ?
This would be pretty easy to do. I'll add it to my TODO list.

1. Is it possible to get more rows than just one?
2. Is it possible to set up 2 different rows (different anchor, directions, position, .... different spellIDs) for the same unit?
Yes to both!
oUF_AW does not care about the position of the icons, so when you create them, you can position them wherever you want.
__________________
- Astromech
Last edited by Astromech : 05-26-09 at 07:22 PM.
Report comment to moderator  
Reply With Quote
Unread 05-24-09, 06:29 PM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 918
File comments: 959
Uploads: 22
Ah forgot to make it local, thanks.

Concerning the error:
"attempt to index local 'icons' (a number value)"

in line:
Code:
	icons.showDebuffType = true -- show debuff border type color
Which is the first line of my original aura reskin function.

Btw, since your on it, might you consider adding an option to make AuraWatch look at "showDebuffType". i.e. color the AuraWatch borders by type if set to true ?

Edit: More questions!

1. Is it possible to get more rows than just one?
2. Is it possible to set up 2 different rows (different anchor, directions, position, .... different spellIDs) for the same unit?
Last edited by Dawn : 05-24-09 at 07:09 PM.
Report comment to moderator  
Reply With Quote
Unread 05-24-09, 04:59 PM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 73
Uploads: 6
That first error is very strange! oUF_AW doesn't even look at the "showDebuffType" field. Could you post the complete error?

As for setting it up for multiple classes, you're doing it right, except spellIDs must be declared local before the if-then block.

Code:
local spellIDs
if playerClass=="DRUID" then
     spellIDs = { 2345, }
elseif playerClass=="PRIEST" then
     spellIDs = { 1234, }
end
This is because lua considers any local variables enclosed within an if-then block to be local to that block.
__________________
- Astromech
Last edited by Astromech : 05-24-09 at 04:59 PM.
Report comment to moderator  
Reply With Quote
Unread 05-24-09, 04:21 PM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 918
File comments: 959
Uploads: 22
What would be the best way to set up AuraWatch for multiple classes. Let's
say druid and priest?

I tried:
Code:
		if playerClass=="DRUID" then
		local spellIDs = { 2345, }
		elseif playerClass=="PRIEST" then
		local spellIDs = { 1234, }
		end
... which doesn't work because it starts spitting out an error.
Report comment to moderator  
Reply With Quote
Unread 05-23-09, 06:54 PM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 918
File comments: 959
Uploads: 22
It seems like AuraWatch doesn't like:

Code:
	icons.showDebuffType = true
It spits out an error, that it failed to assign a number to "icon" or something like that.

I'm using this on my aura reskin function to color debuff borders by type. However, I worked around this by creating an identical function, just without that line and a slightly different function name.
Report comment to moderator  
Reply With Quote
Unread 05-14-09, 12:04 PM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 73
Uploads: 6
Outside the Scope

I like the idea, but it is outside the scope of oUF_AuraWatch. oUF_AW is meant primarily to serve as a "DoT timer" for specific auras, not a general buff sorting display. Sorry
__________________
- Astromech
Last edited by Astromech : 05-14-09 at 12:04 PM.
Report comment to moderator  
Reply With Quote
Unread 05-12-09, 11:40 AM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 918
File comments: 959
Uploads: 22
Is there any chance this could be developed into something that can also filter buffs/debuffs on duration?

I like to differentiate between severa group of buffs.

1. one group of short buffs/debuffs with a duration <120sec for player
2. one group of short buffs/debuffs with a duration <120sec for target
3. one group of long buffs/debuffs with a duration >120sec for target

The idea behind this is simple. It allows to keep track of important self/hostile buffs AND debuffs, in a consistent place.

Or would this blow up the basic idea of this addon ? I hope not, since it's an nice and efficient way to filter a lot of things!
Last edited by Dawn : 05-12-09 at 11:42 AM.
Report comment to moderator  
Reply With Quote
Unread 05-08-09, 10:50 AM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 73
Uploads: 6
Thanks, that looks great! Glad it's working out for you
__________________
- Astromech
Report comment to moderator  
Reply With Quote
Unread 05-08-09, 07:11 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
Tested it yesterday in a 25man with AddonManager to check the CPU and memory load. Everything was fine, no problems.

http://s.wowinterface.com/preview/pvw26394.jpg

Only problem I had were the Kel'Thuzad iceblock debuff icons. Since the cooldown spiral starts at full and by healthbar is kinda dark when full the icon was hard to spot. I am using my own icon.cd now with Reversed cooldown spiral so the icon is blank at start...maybe I am going to add a glow to it aswell.

Props. <3
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 05-08-09 at 07:17 AM.
Report comment to moderator  
Reply With Quote
Unread 05-06-09, 12:24 PM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
Re: Customizing

Thanks alot! Got it working, its perfect! The strange aura outside Shattrath is a good stationary debuff to do some tests .

http://zorktdmog.zo.funpic.de/rothui...609_202209.jpg
http://zorktdmog.zo.funpic.de/rothui...609_204009.jpg
http://zorktdmog.zo.funpic.de/rothui...609_204945.jpg

Here is my function:
Code:
  local function d3o2_createAuraWatch(self,unit)
    local auras = CreateFrame("Frame", nil, self)
    auras:SetAllPoints(self.Health)
    local spellIDs = { 
      48440, --reju
      48443, --regrowth
      48450, --lifebloom
      53249, --wildgrowth
      27808, --kel iceblock
      32407, --strange aura
    }
    
    auras.presentAlpha = 1
    auras.missingAlpha = 0
    --auras.hideCooldown = true
    --auras.PostCreateIcon = d3o2_createAuraIcon
    auras.icons = {}
    
    for i, sid in pairs(spellIDs) do
      local icon = CreateFrame("Frame", nil, auras)
      icon.spellID = sid
      if i > 4 then
        icon.anyUnit = true
        icon:SetWidth(20)
        icon:SetHeight(20)
        icon:SetPoint("CENTER",0,0)
      else
        icon:SetWidth(10)
        icon:SetHeight(10)
        local tex = icon:CreateTexture(nil, "BACKGROUND")
        tex:SetAllPoints(icon)
        tex:SetTexture("Interface\\AddOns\\oUF_D3OrbsRaid\\indicator")
        if i == 1 then
          icon:SetPoint("BOTTOMLEFT",0,0)
          tex:SetVertexColor(200/255,100/255,200/255)
        elseif i == 2 then
          icon:SetPoint("TOPLEFT",0,0)
          tex:SetVertexColor(50/255,200/255,50/255)
        elseif i == 3 then          
          icon:SetPoint("TOPRIGHT",0,0)
          tex:SetVertexColor(100/255,200/255,50/255)
          local count = icon:CreateFontString(nil, "OVERLAY")
          count:SetFont(NAMEPLATE_FONT,10,"THINOUTLINE")
          count:SetPoint("CENTER", 4, 0)
          --count:SetAlpha(0)
          icon.count = count
        elseif i == 4 then
          icon:SetPoint("BOTTOMRIGHT",0,0)
          tex:SetVertexColor(200/255,100/255,0/255)
        end
        icon.icon = tex
      end  
      auras.icons[sid] = icon
    end
    self.AuraWatch = auras
  end
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 05-06-09 at 12:51 PM.
Report comment to moderator  
Reply With Quote
Unread 05-05-09, 07:36 PM  
Astromech
A Kobold Labourer
 
Astromech's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 73
Uploads: 6
Customizing

Yes, you could use fontstrings to achieve that effect, but you can also customize the AuraWatch icons.

oUF_AW will create the following things automatically for every icon, unless they are already present:
  • icon: A texture to show. Normally the buff's texture.
  • count: A fontstring to show the aura stack count.
  • cd: A cooldown frame.
  • overlay: An overlay texture which shows when the aura has expired.

So for your indicators, just create a texture with the desired color when you first create the frames to position them.

There was a bug in the last version, but in the latest version it will work correctly.
__________________
- Astromech
Report comment to moderator  
Reply With Quote
Unread 05-05-09, 05:26 PM  
jadakren
A Flamescale Wyrmkin
 
jadakren's Avatar
AddOn Author - Click to view AddOns

Forum posts: 103
File comments: 112
Uploads: 2
Originally posted by zork
Thats what I want it to look when done. Recoloring indicators may be a problem tho. Its just Photoshop yet.



Need a ignoreCaster = true/false variable per icon.
Your indicator dots can be done with fontstrings and the already present tagstring system.

here is how i do it.

ouf_indicators/ouf_indicators.lua
> http://pastey.net/113658

ouf_indicators/tags.lua
> http://pastey.net/113659

in my layout :
Code:
func(self)
--blah blah

 self.AuraIndicator = true --yes we want to process the aura indicator areas for this frame.
--blah blah 
end
the table oUF.indicators.fontObjects holds an entry for each area you want to have indicator dots. the contents of those entries are the ouftags.

it's worht noting that i don't use the character '.' (period) but rather 'ˇ'(centered period) for most of the indicators.

You can see for the priest i use '+' for power infusion, guardian spirit & pain suppression...which goes in the top middle.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: