oUF_SVengeance for MoP!
This is my implementation of an oUF element that shows Vengeance for tanks.
Since in MoP we can't calculate a max vengeance anymore but I miss this element on my ui I decided to bring it back; here's how it works now:
- It does NOT calculate a max vengeance value, at the first run the venge.max will be 1
- Every time your vengeance buff updates the current value is confronted against the old one, if it's bigger it becomes the new max.
- The vengeance max is saved per character, meaning that your raiding toon will have a saved max of ex: 100k while the BM monk (or whatever) you are leveling will have it's max set to ex: 200.
Example of usage:
Add oUF_SVengeance to your layout's optdeps:
Code:
## OptionalDeps: oUF_SVengeance
Add the bar to your player frame in your layout, ex:
lua Code:
if IsAddOnLoaded("oUF_SVengeance") then
local v = CreateFrame("statusbar", nil, self)
v:SetHeight(myheight)
v:SetWidth(mywidth)
v:SetPoint(fx, p, fz, xo, yo)
v.Usetext = true
self.Vengeance = v
end
Using this code above you'll create a simple status bar, that fills from left to right.
On this element will be automatically placed a fontstring in its middle to show the vengeance value as ex: 4.5k / 16.80k
Options list (you can find this on top in the main lua file.)
Code:
Options:
Vengeange:SetStatusBarTexture
Set a Statusbar texture, default will be used if none specified
Vengeance.Value
Fontstring, default will be created if none specified. Requires Usetext to not be false.
Vengeance.Usetext = [true | "perc" | false]
true = shows the amount of vengeance on the bar as ex: 850 / 16.20k if <1000 otherwise will show ex: 1.3k / 16.20k
"perc" = shows the value as a % of the max venge, implies true. Ex: 8%
"buff" = shows the amount of bonus AP from vengeance, implies true. Ex: 1300
"ap" = shows the current amount of ap you have (the same number displayed in the character info pane), implies true. Ex: 6800
false = doesn't show any text
Vengeance.Orientation = ["VERTICAL" | "HORIZONTAL"]
by default is HORIZONTAL, meaning left to right.
Set to "VERTICAL" to have a bar that fills from bottom to top
Vengeance.TextOverride = function(element, curvengeance)
Can be used to override the default text, requires Vengeance.Usetext to not be false
curvengeance is the venge you have, ex: 1200
element.max can be used to retrieve the max venge you can obtain
Use element.Value:SetText() to set the text.
Vengeance.PostUpdate = function(element,curvengeance, vengepercent, attackpower)
element.max can be used to retrieve the max venge you can obtain
Can be used for further customization, if no function is provided the bar will be colored red if at low venge value, green at high vengeance value
I did NOT fully test this version, however it should work just like in Cata.
If you find any bug or have suggestions, please send a comment.