Download
(3Kb)
Download
Updated: 02-08-11 12:43 PM
Pictures
File Info
Updated:02-08-11 12:43 PM
Created:01-20-11 10:30 AM
Downloads:4,838
Favorites:11
MD5:

Druid Mastery

Version: 1.09
by: kameelyan [More]

*Please post any bugs/lua errors you are receiving in the comments section off this addon.*

I wrote this addon in order to begin to understand how much of my healing was affected by Resto Druid's mastery values. Basically, it tracks your combat log looking for heals that are currently affected by Mastery and then saves them into a data table. Lastly, it'll compare your "mastery healing" versus your "total healing" for each spell as well as total.

Hopefully this helps other Resto Druids analyze their healing benefits from mastery.

Currently the following slash commands exist:
/dm - shows available slash commands
/dm reset - resets data in data tables
/dm combat - enables the addon to only collect in combat [enabled by default on addon load]
/dm nocombat - enables the addon to collect while out of combat
/dm ticks - shows the tick/cast count data table
/dm healing - shows the overall healing data table
/dm mastery - shows effective mastery healing [no overheals] versus effective total healing [no overheals]
/dm masterycrit - shows effect mastery healing [crits only] versus effective
/dm masteryonly - shows effective mastery healing versus total mastery healing
/dm nomastery - shows healing values (affected versus non affected) but has heal values gained from mastery removed [suggested by slourette]

Future Plans:
Add in Mastery Heals Per Mana versus Total Heals Per Mana
Add in actual UI Frame features for tables/buttons/filters, etc.
Any user requests will be strongly considered

Changed in 1.09:

  • Updated Mastery rating to be 1.45% per point as opposed to the original 1.25%

Changed in 1.08:
  • Added Version Number when /dm is done.
  • Added in /dm nomastery

Changed in 1.07:
  • Updated printout function to be much more simplified and detailed.

Changed in 1.06:
  • Added /dm masteryonly to the command list.
  • Added rounding to any printout that needed it.

Changed in 1.05:
  • Continuing to work on maximizing it's efficiency and reduce any lua errors found.

Changed in 1.04:
  • Updated how mastery was determined to fix certain lua errors being generated (not promising they're all fixed - given how combat log events fire, it's a work in progress)
  • Fixed a bug causing 3% extra mastery to be applied inappropriately.

Changed in 1.03:
  • Fixed bug where LB ticks would not count as mastery after refreshing it with an existing HoT and the stack count was less than three. (thanks Kluian)

Changed in 1.02:
  • Fixed some minor lua errors.

Changed in 1.01:
  • Added new slash commands and data tables.

Optional Files (0)


Post A Reply Comment Options
Unread 01-20-11, 11:02 AM  
Pyrates
A Cliff Giant
 
Pyrates's Avatar
AddOn Author - Click to view AddOns

Forum posts: 77
File comments: 280
Uploads: 4
Hey Pyrates here! Nice addon. I do think you should compute a different value though: If a spell heals with mastery bonus, you can check out how much the mastery bonus would have been, and then compute how much the spell would have healed without mastery, where of course you'd need to consider the overheal given, i.e.

Code:
amount -  (amount + overheal) / masterybonus
(only count if it's positive). This is the number "effective healing gained for this spell by having mastery apply to it". Adding it all up and comparing it to total healing done might be useful (and it's probably easy to add the same thing for crits, giving you an easy way to compare crit and mastery).
__________________
" ... 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."
Last edited by Pyrates : 01-20-11 at 11:03 AM.
Report comment to moderator  
Reply With Quote
Unread 01-20-11, 11:27 AM  
kameelyan
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 17
Uploads: 2
Originally posted by Pyrates
Hey Pyrates here! Nice addon. I do think you should compute a different value though: If a spell heals with mastery bonus, you can check out how much the mastery bonus would have been, and then compute how much the spell would have healed without mastery, where of course you'd need to consider the overheal given, i.e.

Code:
amount -  (amount + overheal) / masterybonus
(only count if it's positive). This is the number "effective healing gained for this spell by having mastery apply to it". Adding it all up and comparing it to total healing done might be useful (and it's probably easy to add the same thing for crits, giving you an easy way to compare crit and mastery).
Just to clarify. You're variable "amount" above. Is that the actual heal (without overheal)? I imagine it is, just want to be sure. Also, I'd have to look into how to effectively identify what each character's mastery bonus is. I'm sure it's not difficult, just haven't had to do it.

But essentially you're saying:
Code:
Actual Effective Heal [no overheal] - (Total Heal [including overheal] from spell / masterybonus)
Is that correct?
Last edited by kameelyan : 01-20-11 at 11:28 AM.
Report comment to moderator  
Reply With Quote
Unread 01-20-11, 11:35 AM  
Pyrates
A Cliff Giant
 
Pyrates's Avatar
AddOn Author - Click to view AddOns

Forum posts: 77
File comments: 280
Uploads: 4
Is that correct?
Yes

Also, here's a nice function to sweeten the output of healing done:

Code:
local valShort = function(value)
	if(value >= 1e6) then
		return ("%.2f"):format(value / 1e6):gsub("%.?0+$", "") .. "m"
	elseif(value >= 1e4) then
		return ("%.1f"):format(value / 1e3):gsub("%.?0+$", "") .. "k"
	else
		return value
	end
end
__________________
" ... 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."
Last edited by Pyrates : 01-20-11 at 11:37 AM.
Report comment to moderator  
Reply With Quote
Unread 01-20-11, 11:55 AM  
kameelyan
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 17
Uploads: 2
Since mastery is a percentage, wouldn't you want to multiply the value instead of divide?
Code:
actual heal - (total heal * mastery%)
Because wouldn't dividing the total heal by the mastery % effectively increase the total heal value which wouldn't make sense?

actual heal - (total heal * mastery%) seems like it would yield what you're talking about.

if mastery % was 10 and total heal was 100 then

if actual heal = 20, the calculated value would be 20 - 10 = 10
if the actual heal was 11, then calculated value would be 11 - 10 = 1
and lastly, if it was 7, calculated value would be 7 - 10 = -3

The last scenario would mean that heal did not benefit from the mastery bonus at all.
Report comment to moderator  
Reply With Quote
Unread 01-20-11, 12:24 PM  
Pyrates
A Cliff Giant
 
Pyrates's Avatar
AddOn Author - Click to view AddOns

Forum posts: 77
File comments: 280
Uploads: 4
Nono, totally wrong! Division is correct, you just need the right number: If you get 12% Mastery Bonus, you need to divide by 1.12. See your own examples:

if actual heal = 20, the calculated value would be 20 - 10 = 10
That means 80 overheal with mastery. 10% Bonus means you'd have had 91 Heal withouth mastery (because 91 + 10% * 91 = 100), and the calculated value would be 20 - 91 = -71, so it's negative, so we need the 0. Mastery didn't do anything in this case, because the bonus given by it just went into overheal.

Same is true for your other examples. But lets assume the heal was 96, then we'd compute 96 - 91 = 5, so mastery gave us 5 heal in this case, which means effectively mastery gave us 5/91 % more heal (less then 10%, because some of it went into overheal).
__________________
" ... 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 01-20-11, 12:46 PM  
kameelyan
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 17
Uploads: 2
Ok, I'm with you now. I wasn't thinking about dividing by 1.10 (with 10%) to get back to the original heal.

Summing that should be pretty easy. What about the total value we should compare to? What heal value should I be summing there? Total heal including over heal, just the total mastery including overheal, just the total actual healing done excluding overheal?

I see what your formula is doing, but how is it useful when we compare it against X (where X is the above choices)?

EDIT:
Thinking about it more, we'd want to use the actual heals without overhealing right? So then we could say my mastery accounted for X of Y of my total effective healing. Right?
Last edited by kameelyan : 01-20-11 at 12:50 PM.
Report comment to moderator  
Reply With Quote
Unread 01-20-11, 12:55 PM  
Pyrates
A Cliff Giant
 
Pyrates's Avatar
AddOn Author - Click to view AddOns

Forum posts: 77
File comments: 280
Uploads: 4
EDIT:
Thinking about it more, we'd want to use the actual heals without overhealing right? So then we could say my mastery accounted for X of Y of my total effective healing. Right? [/b]
Exactly I'll want the same number for crit, and by just a bit more computation one can easily put out how much one gained from each point of mastery vs each point of crit, which is an interesting thing to know
__________________
" ... 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 01-20-11, 01:22 PM  
kameelyan
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 17
Uploads: 2
Originally posted by Pyrates
Exactly I'll want the same number for crit, and by just a bit more computation one can easily put out how much one gained from each point of mastery vs each point of crit, which is an interesting thing to know
Alright, so we'll have one value for "effective mastery healing" versus "total effective healing" [including crits] and we'll have another data table that does the same thing, but just for crits? That should be pretty easy.

I've got the code written for the first one, just going to work on the crit one now and then test it. Should have this addon updated in a few hours.
Report comment to moderator  
Reply With Quote
Unread 01-20-11, 02:06 PM  
Nihlo
A Murloc Raider

Forum posts: 7
File comments: 158
Uploads: 0
Hmm...is there any difference between your addons ? In my eyes you just made the same right ? Kame & Pyra
Report comment to moderator  
Reply With Quote
Unread 01-20-11, 02:20 PM  
Pyrates
A Cliff Giant
 
Pyrates's Avatar
AddOn Author - Click to view AddOns

Forum posts: 77
File comments: 280
Uploads: 4
He extended the functionality of mine by actually keeping track of the amounts healed. I will not develop my addon any further, you should use this one.
__________________
" ... 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 01-20-11, 03:59 PM  
kameelyan
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 17
Uploads: 2
I added in two new slash commands in the latest version.

Can now track effective mastery versus effective healing as well as just for crits.

I'm still seeing errors when the SPELL_AURA_REMOVED fires BEFORE SPELL_PERIODIC_HEAL for some reason. In reality they should never fire out of order, but after talking to some people, I guess it's quite common.

Probably going to stop removing players/spells from the tables, which will increase their size. The table would only exist on the session and doing /dm reset would clear the table so I'm not too worried about it.

Still need to test it out and see if it stops the errors I'm occasionally getting.
Report comment to moderator  
Reply With Quote
Unread 01-20-11, 05:59 PM  
Pyrates
A Cliff Giant
 
Pyrates's Avatar
AddOn Author - Click to view AddOns

Forum posts: 77
File comments: 280
Uploads: 4
Yeah don't worry about table size here, they'll even be small when you're playing a month straight. If you're really concerned you could find the events for people joining your party/raid and only put those in the tables as well, and destroy them on leave... or destroy them on zone change or whatever. I'd not do it

Besides, just table = {} doesn't do a lot for your afaik (or setting it to nil as well), you'd need to use the lua function wipe. I don't know why that's the case though.
__________________
" ... 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 01-28-11, 05:59 AM  
Nihlo
A Murloc Raider

Forum posts: 7
File comments: 158
Uploads: 0
Actually I gimped to have a look at my report cause I logged out to upload WoL and after relogin every data is gone. Could the data be saved after log out and you get kind of message if you join a new raid and print a suggestion to reset the data ?
Report comment to moderator  
Reply With Quote
Unread 01-30-11, 01:07 AM  
kameelyan
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 17
Uploads: 2
Originally posted by Nihlo
Actually I gimped to have a look at my report cause I logged out to upload WoL and after relogin every data is gone. Could the data be saved after log out and you get kind of message if you join a new raid and print a suggestion to reset the data ?
This will probably be in future releases. As of now, I'm not sure how useful this addon will be in say 3 months when we start to understand exactly where mastery fits in our overall healing. I think we're all starting to get a good feel of how good it is now.

That's not to say I wont' support or improve this addon in time, but I'm not actively working on it currently. The next release probably wont' happen until a few weeks after the patch.

But I can certainly look into adding some saved variables in and an option to reset the data on zone in.
Report comment to moderator  
Reply With Quote
Unread 02-04-11, 08:13 AM  
Lyelu
A Cyclonian
AddOn Author - Click to view AddOns

Forum posts: 44
File comments: 28
Uploads: 9
How's this work?

You read the combatlog, looking for what exactly? Is the combatlog always in the correct order? Would there be any way outside of raid to double check my results, ie, with a worldoflogs report ?

I ask because the druids are checking their uptimes with this and gearing accordingly now, so accuracy will be important.
How can you tell how accurate this is? I mean, I'm asking where do the calculations take place, what does it say in combatlog, and are the two always the same? Is it not calculated server side? Is my combatlog the results?

Last edited by Lyelu : 02-04-11 at 08:16 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.