Download
(7Kb)
Download
Updated: 12-01-10 12:47 PM
Pictures
File Info
Updated:12-01-10 12:47 PM
Created:10-22-10 02:59 PM
Downloads:14,724
Favorites:97
MD5:

nivBuffs  Popular! (More than 5000 hits)

Version: r24
by: Luzzifus [More]

News

I don't play WoW anymore (at least currently) and do not have an active subscription. So I cannot and will not work on my addons anymore. Sorry.

However, Calebzor has done awesome work in updating and improving this addon, including an ingame config. Check it out here!




About

nivBuffs is a replacement for blizzards default buff frames. It shows your buffs, debuffs and temporary weapon enchants.


Features

  • Using SecureAuraHeaders, so you can cancel buffs via rightclick!
  • Remaining duration can be displayed as spiral texture, bar and/or text.
  • Shows stack count for buffs/debuffs with 2 or more stacks.
  • Blinking icons for buffs/debuffs that will expire soon.
  • Sorted by time, name or spell ID.
  • Custom icon border (change the texture if you don't like it).
  • Support for custom styling with ButtonFacade.
  • Differently colored borders for temporary weapon enchants and debuffs.
  • Debuff highlighting by debuff type.

Config

There is no ingame config (at least not yet), but you can adjust appearance and behaviour in "config.lua" using a text editor.


Known Issues
  • You can cancel weapon enchants by now, but the second one still references to the first.
  • Third weapon enchant doesn't work (because of broken Blizzard code).

FAQ

Because some people still have problems with correctly setting up the anchoring and grow direction stuff, here are some examples (r14+). These are only the settings for buffs, but changing the debuffs works the same way.
lua Code:
  1. -- Anchored to topleft corner of the UI,
  2. -- growing horizontally to the right in rows of 20 icons,
  3. -- next row exactly below the previous
  4. buffAnchor = { "TOPLEFT", "UIParent", "TOPLEFT", 15, -15 },
  5. buffXoffset = 35,
  6. buffYoffset = 0,
  7. buffIconsPerRow = 20,
  8. buffMaxWraps = 10,
  9. buffWrapXoffset = 0,
  10. buffWrapYoffset = -55,
  11.  
  12. -- Anchored to topright corner of the UI,
  13. -- growing horizontally to the left in rows of 20 icons,
  14. -- next row exactly below the previous
  15. buffAnchor = { "TOPRIGHT", "UIParent", "TOPRIGHT", -15, -15 },
  16. buffXoffset = -35,
  17. buffYoffset = 0,
  18. buffIconsPerRow = 20,
  19. buffMaxWraps = 10,
  20. buffWrapXoffset = 0,
  21. buffWrapYoffset = -55,
  22.  
  23. -- Anchored to topleft corner of the UI,
  24. -- growing vertically down in rows of 15 icons,
  25. -- next row to the right of the previous
  26. buffAnchor = { "TOPLEFT", "UIParent", "TOPLEFT", 15, -15 },
  27. buffXoffset = 0,
  28. buffYoffset = -35,
  29. buffIconsPerRow = 15,
  30. buffMaxWraps = 10,
  31. buffWrapXoffset = 35,
  32. buffWrapYoffset = 0,
  33.  
  34. -- Anchored to bottomleft corner of the UI,
  35. -- growing vertically up in rows of 15 icons,
  36. -- next row to the right of the previous
  37. buffAnchor = { "BOTTOMLEFT", "UIParent", "BOTTOMLEFT", 15, 250 },
  38. buffXoffset = 0,
  39. buffYoffset = 35,
  40. buffIconsPerRow = 15,
  41. buffMaxWraps = 10,
  42. buffWrapXoffset = 35,
  43. buffWrapYoffset = 0,
  44.  
  45. -- Anchored to the topleft corner of the minimap,
  46. -- growing vertically down in rows of 15 icons,
  47. -- next row to the left of the previous
  48. buffAnchor = { "TOPRIGHT", "Minimap", "TOPLEFT", -25, 0 },
  49. buffXoffset = 0,
  50. buffYoffset = -35,
  51. buffIconsPerRow = 15,
  52. buffMaxWraps = 10,
  53. buffWrapXoffset = -35,
  54. buffWrapYoffset = 0,
If you need in-depth info about anchoring, read this and this.


TODO
  • Add third weapon enchant (as soon as Blizzard fixes their code base).
  • Consolidation (as soon as Blizzard fixes their code base).

Credits

A big "Thank You!" goes to sigg, as he posted this nice tutorial on SecureAuraHeaders in the forums.

r24
- Debuff border coloring now also works with ButtonFacade.

r23
- Removed experimental code that caused more taint errors.
- Added position offset settings for duration text.

r21
- Fixed taint errors with enabled ButtonFacade.
- Added separate font color settings for duration text and stack counter.
- Added position settings for stack counter.

r20
- Fixed that garbage thingy -> mem usage should stay low now.
- Due to patch 4.0.3 the following things now properly work (at least): canceling weapon enchants, sorting and disabling "separateOwn" attribute.

r19
- Added ButtonFacade support (disabled by default, requires ButtonFacade r344+).
- Added options to adjust font, font size and font style.

r17
- The duration spiral doesn't overlap the border anymore.
- Added duration bars inside of the icons.
- Added option to toggle duration bars.
- Added option to toggle duration text timers.

r15
- Added some options which allow vertical growth and more.
- Duration text now can also be placed to the left or right of the icon.
- Removed "(de)buffGrowDir" options (you can still change it).
- If you have problems setting it up as you wish, check out the example configs on the description page!

r12
- Fixed duration spirals (again).
- Set "separateOwn" header attribute. So whenever blizz fixes their wonderful code, this will actually make your own buffs not be separated from the others.. *cough*
- Fixed buffs/debuffs not hiding when the whole interface is hidden (ALT+Z).
- Random code improvements.

r10
- Added debuff border coloring by debuff type.
- Added separate scale option for debuffs.
- Nicer border via SetBackdrop.
- Border doesn't look awkward anymore when the icon is blinking.
- Stack counter stays opaque when the icon is blinking.
- Increased maximum number of rows to 10.

r9
- Duration spiral can be turned off again.
- Added option for brightness of the default non-colored icon border.
- Remaining time text matches the tooltip time now.

r8
- Even further reduced CPU usage.
- New blinking algorithm.
- Added option to adjust blinking speed.
- Fixed border color error of second weapon enchant (correct icons, tooltip still broken, blame Blizzard).

r7
- Added different border coloring for temporary weapon enchants (item quality) and debuffs (darkred).
- Added option to disable these colored borders.
- Added cooldown spiral for temporary weapon enchants.
- New border texture.
- Reduced CPU usage.
- Removed updateDelay option (not longer neccessary).

r6
- Removed experimental code that caused an error in the SecureAuraHeader code.
- Fixed bug that hides stack count when the cooldown spiral is disabled.

r4
- Growth direction for Dummies.
- Added option to hide cooldown spirals.

r3
- Fixed cooldown spiral overlaying the stack count.
- Fixed cooldown spiral disappearing.
- Added more detailed positioning/anchoring options.
- Added options for font color, update interval and temporary weapon enchants.
Post A Reply Comment Options
Unread 10-24-10, 09:02 AM  
Leyáh
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Hey, habe das selbe Problem, dass mir die Buffs nicht angezeigt werden auf dem Bildschirm.

Habedie "X" Variable von -500 bis 1050 alles durchprobiert aber bekoemm sie nicht angezeigt.

Kann es sein, dass das an der Auflösung oder der UI Skallierung liegt?
Last edited by Leyáh : 10-24-10 at 09:05 AM.
Report comment to moderator  
Reply With Quote
Unread 10-24-10, 08:43 AM  
Luzzifus
A Warpwood Thunder Caller
 
Luzzifus's Avatar
AddOn Author - Click to view AddOns

Forum posts: 94
File comments: 237
Uploads: 6
@ blaugznis and vlakarados:
Both fixed in r5.
Report comment to moderator  
Reply With Quote
Unread 10-24-10, 07:20 AM  
vlakarados
An Aku'mai Servant
 
vlakarados's Avatar
AddOn Author - Click to view AddOns

Forum posts: 36
File comments: 145
Uploads: 5
I get this error when entering world and when I get buffs
Code:
1x Interface\FrameXML\SecureGroupHeaders.lua:754: attempt to call method 'ClearAllPoints' (a nil value):
Interface\FrameXML\SecureGroupHeaders.lua:1031: in function `SecureAuraHeader_Update':
Interface\FrameXML\SecureGroupHeaders.lua:661: in function <Interface\FrameXML\SecureGroupHeaders.lua:657>:

Locals:
self = nivBuffs_Buffs {
 0 = <userdata>
 ActiveChildren = <function> @ nivBuffs\nivBuffs.lua:21:
}
filter = "HELPFUL"
groupBy = nil
unit = "player"
includeWeapons = 1
consolidateTo = 1
consolidateDuration = 30
consolidateThreshold = 10
consolidateFraction = 0.1
sortDirection = "-"
separateOwn = 0
sortMethod = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:886:
time = 19867.82
consolidateTable = <table> {
 1 = <table> {}
 position = 1
}
weaponPosition = 1
tonumber = <function> defined =[C]:-1
sorters = <table> {
 INDEX = <table> {}
 TIME = <table> {}
 NAME = <table> {}
 EXPIRES = <table> {}
}
wipe = <function> defined =[C]:-1
tokenTable = <table> {
 1 = <table> {}
 position = 1
}
sortingTable = <table> {
 1 = <table> {}
 2 = <table> {}
 3 = <table> {}
}
groupingTable = <table> {
 1 = "HELPFUL"
 HELPFUL = 1
}
stripRAID = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:863:
ipairs = <function> defined =[C]:-1
freshTable = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:871:
max = <function> defined =[C]:-1
tinsert = <function> defined =[C]:-1
releaseTable = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:876:
configureAuras = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:692:
tremove = <function> defined =[C]:-1

  ---
Report comment to moderator  
Reply With Quote
Unread 10-24-10, 05:48 AM  
blaugznis
A Kobold Labourer

Forum posts: 0
File comments: 17
Uploads: 0
Hi, found a bug when disabling cooldown spiral. It also disables stack count showing on buffs, dunno about debuffs, haven't tested that.
Report comment to moderator  
Reply With Quote
Unread 10-24-10, 02:12 AM  
Luzzifus
A Warpwood Thunder Caller
 
Luzzifus's Avatar
AddOn Author - Click to view AddOns

Forum posts: 94
File comments: 237
Uploads: 6
Uhh that's a nasty one..
It's caused by some test code I played around with yesterday and forgot to remove. Fix comes later today. Just ignore it for the time being, it doesn't crash any functionality.

PS: Anyone still having problems with growth direction?

Originally posted by kbc8090
EDIT2: actually, iirc, the normal buff mods are able to cancel weapon enchants just fine and can display them without issue, possible to integrate that into this mod so it's perfect?
They're using their own code as a workaround I guess. But since it's pretty likely Blizz will fix that in one of the next patches, I'll prefer to just wait until they make it work. Btw. what "display issues" are you referring to?
Last edited by Luzzifus : 10-24-10 at 02:17 AM.
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 10:11 PM  
brotherhobbes
A Rage Talon Dragon Guard
AddOn Author - Click to view AddOns

Forum posts: 313
File comments: 41
Uploads: 2
This error popped up 94 times. They were all the same except the "time = 7119.901" number changed. Buffing out of combat before a boss.

Code:
1x Interface\FrameXML\SecureGroupHeaders.lua:754: attempt to call method 'ClearAllPoints' (a nil value):
Interface\FrameXML\SecureGroupHeaders.lua:1031: in function `SecureAuraHeader_Update':
Interface\FrameXML\SecureGroupHeaders.lua:661: in function <Interface\FrameXML\SecureGroupHeaders.lua:657>:

Locals:
self = nivBuffs_Buffs {
 0 = <userdata>
 ActiveChildren = <function> @ nivBuffs\nivBuffs.lua:21:
}
filter = "HELPFUL"
groupBy = nil
unit = "player"
includeWeapons = 1
consolidateTo = 1
consolidateDuration = 30
consolidateThreshold = 10
consolidateFraction = 0.1
sortDirection = "-"
separateOwn = 0
sortMethod = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:886:
time = 7119.901
consolidateTable = <table> {
 1 = <table> {}
 2 = <table> {}
 position = 1
}
weaponPosition = 1
tonumber = <function> defined =[C]:-1
sorters = <table> {
 INDEX = <table> {}
 TIME = <table> {}
 NAME = <table> {}
 EXPIRES = <table> {}
}
wipe = <function> defined =[C]:-1
tokenTable = <table> {
 1 = <table> {}
 2 = <table> {}
 position = 1
}
sortingTable = <table> {
 1 = <table> {}
 2 = <table> {}
 3 = <table> {}
 4 = <table> {}
 5 = <table> {}
 6 = <table> {}
 7 = <table> {}
 8 = <table> {}
 9 = <table> {}
}
groupingTable = <table> {
 1 = "HELPFUL"
 HELPFUL = 1
}
stripRAID = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:863:
ipairs = <function> defined =[C]:-1
freshTable = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:871:
max = <function> defined =[C]:-1
tinsert = <function> defined =[C]:-1
releaseTable = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:876:
configureAuras = <function> @ Interface\FrameXML\SecureGroupHeaders.lua:692:
tremove = <function> defined =[C]:-1

  ---
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 06:36 PM  
kbc8090
A Murloc Raider

Forum posts: 6
File comments: 73
Uploads: 0
rogues have 3 temporary weapon enchants now, this mod only works for mh/oh enchants.

EDIT: sorry, just read the secureheader thread and saw this:

- The third weapon enchant button is not implemented yet in the new securedauraheader

nevermind for now

EDIT2: actually, iirc, the normal buff mods are able to cancel weapon enchants just fine and can display them without issue, possible to integrate that into this mod so it's perfect?
Last edited by kbc8090 : 10-23-10 at 07:22 PM.
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 05:15 PM  
Waky
A Cobalt Mageweaver
 
Waky's Avatar
AddOn Author - Click to view AddOns

Forum posts: 200
File comments: 90
Uploads: 20
With a little editing to the config code, this addon seems to be the perfect replacement for Satrina's Buff Frames.

Thanks!
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 03:36 PM  
Luzzifus
A Warpwood Thunder Caller
 
Luzzifus's Avatar
AddOn Author - Click to view AddOns

Forum posts: 94
File comments: 237
Uploads: 6
Originally posted by blaugznis
Hey, is there any way to disable cooldown spiral appearance on buffs/debuffs?
Added in r4.

Originally posted by kakakia456
That doesnt work.
It does work indeed. I tested again just to be sure I didn't mess something up. It seems you didn't change the "Xoffset" value to < 0. That is important because that's the setting that actually anchors the next icon to the left of the previous one. The following setup works fine for me (quoted from 3 posts earlier):
Code:
    -- Glue the <AnchorFrom> corner of the buff header to the <AnchorTo> corner of <AnchorFrame>
    buffAnchorFrom = "TOPRIGHT",
    buffAnchorFrame = "UIParent",
    buffAnchorTo = "TOPRIGHT",
    
    -- horizontal (X) and vertical (Y) buff header offset relative to its anchor point
    buffXpos = -15,
    buffYpos = -15,
    
    -- horizontal distance between buffs
    buffXoffset = -35,
**edit: In r4, I added an option called "buffGrowDir"/"debuffGrowDir". Read its description, set it to 1 and ignore the "Xoffset" settings. I hope that makes it a bit easier to understand/use.
Last edited by Luzzifus : 10-23-10 at 04:21 PM.
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 03:28 PM  
kakakia456
A Kobold Labourer

Forum posts: 0
File comments: 14
Uploads: 0
Code:
    -- Glue the <AnchorFrom> corner of the buff header to the <AnchorTo> corner of <AnchorFrame>
    buffAnchorFrom = "TOPRIGHT",
    buffAnchorFrame = "UIParent",
    buffAnchorTo = "TOPRIGHT",

That doesnt work. They still grow from left to right. As the guy stated underneath, neither buffAnchorTo = "TOPLEFT" combination worked. Before you ask, my frames were inside my screen by putting minus value to X. They just keep growing to the right...

Also this:

Originally Posted by blaugznis
Hey, is there any way to disable cooldown spiral appearance on buffs/debuffs?

Thanks!
Last edited by kakakia456 : 10-23-10 at 03:33 PM.
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 02:21 PM  
blaugznis
A Kobold Labourer

Forum posts: 0
File comments: 17
Uploads: 0
Hey, is there any way to disable cooldown spiral appearance on buffs/debuffs?

Thanks!
Last edited by blaugznis : 10-23-10 at 02:22 PM.
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 11:54 AM  
Luzzifus
A Warpwood Thunder Caller
 
Luzzifus's Avatar
AddOn Author - Click to view AddOns

Forum posts: 94
File comments: 237
Uploads: 6
Originally posted by Quokka
what am I missing?
This:
"Set "Xoffset" to a negative value."

Try this:
Code:
    -- Glue the <AnchorFrom> corner of the buff header to the <AnchorTo> corner of <AnchorFrame>
    buffAnchorFrom = "TOPRIGHT",
    buffAnchorFrame = "UIParent",
    buffAnchorTo = "TOPRIGHT",
    
    -- horizontal (X) and vertical (Y) buff header offset relative to its anchor point
    buffXpos = -15,
    buffYpos = -15,
    
    -- horizontal distance between buffs
    buffXoffset = -35,
That works for me.

PS: Ich spreche auch deutsch.
Last edited by Luzzifus : 10-23-10 at 11:59 AM.
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 11:34 AM  
Quokka
A Chromatic Dragonspawn
 
Quokka's Avatar
AddOn Author - Click to view AddOns

Forum posts: 196
File comments: 239
Uploads: 15
Originally posted by Luzzifus
Try again with the latest update and make sure to read the description at the top of the config file.
sorry m8 won't work
Code:
    buffAnchorFrom = "TOPLEFT",
    buffAnchorFrame = "UIParent",
    buffAnchorTo = "TOPRLEFT",
are on the left side off screen and grow left (default)

Code:
    buffAnchorFrom = "TOPLEFT",
    buffAnchorFrame = "UIParent",
    buffAnchorTo = "TOPRIGHT",
are on the right side off screen and grow left

Code:
    buffAnchorFrom = "TOPRIGHT",
    buffAnchorFrame = "UIParent",
    buffAnchorTo = "TOPLEFT",
are on the left side off screen and grow right

Code:
    buffAnchorFrom = "TOPRIGHT",
    buffAnchorFrame = "UIParent",
    buffAnchorTo = "TOPRIGHT",
are on the lright side off screen and grow right

----------------------

I just thought that changing default:
Code:
    -- Glue the <AnchorFrom> corner of the buff header to the <AnchorTo> corner of <AnchorFrame>
    buffAnchorFrom = "TOPLEFT",
    buffAnchorFrame = "UIParent",
    buffAnchorTo = "TOPLEFT",
    
    -- horizontal (X) and vertical (Y) buff header offset relative to its anchor point
    buffXpos = 15,
    buffYpos = -15,
to
Code:
    -- Glue the <AnchorFrom> corner of the buff header to the <AnchorTo> corner of <AnchorFrame>
    buffAnchorFrom = "TOPRIGHT,
    buffAnchorFrame = "UIParent",
    buffAnchorTo = "TOPRIGHT",
    
    -- horizontal (X) and vertical (Y) buff header offset relative to its anchor point
    buffXpos = -15,
    buffYpos = -15,
should do the trick what am I missing?
__________________
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 10:58 AM  
Luzzifus
A Warpwood Thunder Caller
 
Luzzifus's Avatar
AddOn Author - Click to view AddOns

Forum posts: 94
File comments: 237
Uploads: 6
Originally posted by Quokka
when loggin in the buffs are not all onscreen, and are overlapping each other.
this changes once I remove or add a buff
Try again with the latest update and make sure to read the description at the top of the config file.
Report comment to moderator  
Reply With Quote
Unread 10-23-10, 10:36 AM  
Quokka
A Chromatic Dragonspawn
 
Quokka's Avatar
AddOn Author - Click to view AddOns

Forum posts: 196
File comments: 239
Uploads: 15
Originally posted by Luzzifus
You also have to set the buff/debuff header anchor to "TOPRIGHT" or another point with "RIGHT". I'll see if I can simplify that in the config.


Even if I enable consolidated buffs, I can't see that blizzard thingy. My buff header always shows all buffs, no consolidation. Maybe I'll add that feature, depends on how many people want it. Personally I don't use it.
I'd love that "consolidation" that is, but have a small problem with this.
I changed the config a little

Code:
    buffAnchor = "TOPRIGHT",         -- screen anchor point for the buff header
    buffXpos = -15,                  -- the horizontal buff header offset relative to its anchor point
    buffYpos = -15,                 -- the vertical buff header offset relative to its anchor point
    
    debuffAnchor = "TOPRIGHT",       -- screen anchor point for the debuff header
    debuffXpos = -15,                -- the horizontal debuff header offset relative to its anchor point
    debuffYpos = -135,              -- the vertical debuff header offset relative to its anchor point
wen loggin in the buffs are not all onscreen, and are overlapping each other.
this changes once I remove or add a buff
__________________
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: