Get an Epic Experience with Premium

RestoShamanStats

Shaman Login to Add Favorites
  • 1 Like
  • World of Warcraft
  • 185 Monthly Downloads
  • Supports: 5.3.0
  • 4,267 Total Downloads
  • Updated 07/22/2013
  • Created 05/13/2013
  • 9 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: BSD License
  • Newest File: v1.1a
or

About RestoShamanStats

This addon monitors the healing throughput attributable to Critical Rating, Haste and Mastery, and quantifies how increases in those stats, as well as Intellect and Spellpower, will translate to throughput increases. For Resto Shaman only!

The addon features a browser interface to allow you to review and filter selected encounters, or display aggregate data for all of them. It also prints a summary of each fight to the chat window at the end of combat.

New in version 1.2 (Beta):

  • Analysis of Haste, including breakpoint effects on HoTs and totems
    • Compare the value of other stats to Haste at nearby breakpoints, or between breakpoints
    • Haste analysis includes racial, talent and raid buffs
    • Print a list of breakpoints with the "/rss breakp" console command
  • Enhancements to the graphical UI
    • Explanatory tooltips are now provided for all stat analysis results
    • Press SHIFT to expand the tooltip and display more information or data
    • Reposition the UI by dragging the title bar
  • Glyph of Water Shield mana analysis tells you whether you would gain or lose mana with the glyph, based on actual combat data
  • Improvements and fixes to other stat analyses

There are several chat commands:

  • /rss: open a browser to view a particular encounter or summary data
  • /rss help: print all commands
  • /rss breakp: print Haste breakpoint information
  • /rss difficulty <Any, 10N, 10H, 25N, 25H, LFR>: Select data for a particular raid type
  • /rss sum: print history of all fights, and grand totals, since the addon was loaded or cleared
  • /rss rsm: print the average mastery multiplier, as calculated by the old RestoShamanMastery addon
  • /rss clr: clear saved all data

Note 1: Loading v1.2 or changing the Ancestral Swiftness talent afterward will clear all data from past encounters.

Note 2: The addon and its UI are now only available in Restoration spec.

The Math

For those interested in how the addon calculates the values it does, the following brief but fairly technical write-ups (in PDF format) are provided. A working understanding of basic calculus and probability is assumed.

Note: You do not need to read these files to use the addon - we did the math, so you don't have to!

Critical Rating

Mastery Rating

Spellpower and Intellect

Haste (implemented in v1.2)

------------------------------------------------------------------------
r56 | belechannas | 2013-07-11 05:12:01 +0000 (Thu, 11 Jul 2013) | 1 line
Changed paths:
   A /tags/v1.1a (from /trunk:55)

Fixes a few bugs/typos in v1.1 release.
------------------------------------------------------------------------
r55 | belechannas | 2013-07-11 05:10:59 +0000 (Thu, 11 Jul 2013) | 1 line
Changed paths:
   M /trunk/monitor.lua
   M /trunk/parser.lua

Improve handling of copied heals
------------------------------------------------------------------------
r54 | belechannas | 2013-07-10 18:15:09 +0000 (Wed, 10 Jul 2013) | 1 line
Changed paths:
   M /trunk/archive.lua

Include the +5% stat buff to Intellect in raids when computing the increase necessary for +1% throughput gain
------------------------------------------------------------------------
r53 | belechannas | 2013-07-10 16:24:47 +0000 (Wed, 10 Jul 2013) | 1 line
Changed paths:
   M /trunk/data.lua

Fix typo/bug which prevents metagem detection
------------------------------------------------------------------------
r52 | belechannas | 2013-07-10 08:27:32 +0000 (Wed, 10 Jul 2013) | 1 line
Changed paths:
   M /trunk/archive.lua
   M /trunk/parser.lua

Slightly simplify and improve crit valuation
------------------------------------------------------------------------
r51 | belechannas | 2013-07-10 07:35:43 +0000 (Wed, 10 Jul 2013) | 1 line
Changed paths:
   M /trunk/data.lua
   M /trunk/parser.lua

Exclude totems from Ascendance/Ancestral Greatness effects
------------------------------------------------------------------------
r50 | belechannas | 2013-07-09 13:28:34 +0000 (Tue, 09 Jul 2013) | 6 lines
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/RestoShamanStat.toc
   M /trunk/data.lua
   M /trunk/monitor.lua
   A /trunk/theory.lua

More preparation for Haste analysis.

Add logic to calculate the number of ticks and breakpoints for HoTs and totems. These are tested and agree with published theorycraft community values.

The command "/rss debug" also prints out some Haste breakpoint information, for testing purposes.  The tick count shown reflects player buffs at the time of the command (if any).

------------------------------------------------------------------------
r49 | belechannas | 2013-07-09 09:23:31 +0000 (Tue, 09 Jul 2013) | 1 line
Changed paths:
   M /trunk/data.lua

Add spell data for eventual use in Haste analysis
------------------------------------------------------------------------
r47 | belechannas | 2013-07-09 01:31:27 +0000 (Tue, 09 Jul 2013) | 1 line
Changed paths:
   M /trunk/archive.lua
   M /trunk/data.lua

Fix prob with unidentified spells + resurgence
------------------------------------------------------------------------
r46 | belechannas | 2013-07-08 15:29:55 +0000 (Mon, 08 Jul 2013) | 1 line
Changed paths:
   M /trunk/RShamanStat.xml
   M /trunk/RShamanStatUI.lua
   M /trunk/RestoShamanStat.toc
   M /trunk/data.lua
   M /trunk/encounter.lua
   M /trunk/monitor.lua
   M /trunk/parser.lua

Set revision keyword
------------------------------------------------------------------------
r45 | belechannas | 2013-07-08 15:19:04 +0000 (Mon, 08 Jul 2013) | 1 line
Changed paths:
   M /trunk/monitor.lua

Clean-up the busy monitoring, slightly.
------------------------------------------------------------------------
r44 | belechannas | 2013-07-08 15:07:17 +0000 (Mon, 08 Jul 2013) | 3 lines
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/data.lua
   M /trunk/monitor.lua

Correct missing flag in spell data for Unleash Life (can trigger AA)

Add logic to monitor the fraction of time in a specified window that the character is busy (GCD, casting, channeling) as a first step toward dealing with Haste.
------------------------------------------------------------------------
r43 | belechannas | 2013-07-08 08:44:21 +0000 (Mon, 08 Jul 2013) | 2 lines
Changed paths:
   M /trunk/RestoShamanStat.toc
   A /trunk/encounter.lua
   M /trunk/parser.lua

Move boss detection code to a new file (encounter.lua so future changes/improvements in this area won't clash with work on the parser itself.

------------------------------------------------------------------------
r42 | _swift | 2013-07-07 13:31:35 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/RShamanStatUI.lua

RShamanStatUI: fixed calculation for the max height of the scroll frame. The old calculation would only work if you had around 100 parses
------------------------------------------------------------------------
r41 | belechannas | 2013-07-07 11:54:25 +0000 (Sun, 07 Jul 2013) | 7 lines
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/RestoShamanStat.toc
   M /trunk/archive.lua
   A /trunk/data.lua
   M /trunk/monitor.lua
   A /trunk/parser.lua

Major reorganization of code; no significant functional changes

Created data.lua as database for all constants
Created parser.lua for the direct interaction with combat log
All other interaction with game state is handled by monitor.lua
All archive-related work is handled by archive.lua
The main addon file, RShamanStat.lua only handles the basic plumbing, event dispatch, and chat commands
------------------------------------------------------------------------
r40 | belechannas | 2013-07-07 06:05:53 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/RestoShamanStat.toc

Eliminate redundant Curse meta-tags
------------------------------------------------------------------------
r39 | belechannas | 2013-07-07 05:34:40 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/RShamanStat.xml

Remove "test" printout
------------------------------------------------------------------------
r35 | belechannas | 2013-07-07 03:19:51 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/archive.lua

More conflict resolution.  The r31 changes (GUI) now appear to work with the r32 changes (Int, etc)
------------------------------------------------------------------------
r34 | belechannas | 2013-07-07 03:02:30 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/RestoShamanStat.toc
   M /trunk/archive.lua

More fixes to resolve conflicts from revision 31
------------------------------------------------------------------------
r33 | belechannas | 2013-07-07 02:47:21 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/RShamanStat.xml
   M /trunk/archive.lua

Attempt to manually resolve conflicts introduced by revision 31
------------------------------------------------------------------------
r32 | belechannas | 2013-07-07 02:15:58 +0000 (Sun, 07 Jul 2013) | 13 lines
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/RShamanStat.xml
   M /trunk/RestoShamanStat.toc
   M /trunk/archive.lua
   A /trunk/monitor.lua

Add analysis of Int/Spell Power

Improve and fix handling of spell copies (Restorative Mists, Ancestral Guidance)

Fix bugs in handling of AA

Fix the /rss rsm display option to ignore spell copies where the original target health is unknowable.  Any heal which is not affected by Mastery should now be

Handle various glyphs, racials, trinkets and consumables more accurately

Added the command /rss debug, which displays a list of any heals that are unrecognized by the addon, and any heals that for whatever reason could not be handled correctly, for debugging purposes.  Unrecognized spells are treated as consumables (can crit, but no other stat effects).

Spirit/Crit regen is now displayed as the quantity of each stat required for a +1% mp5 increase, to put them in the same format as the other stat information.
------------------------------------------------------------------------
r31 | _swift | 2013-07-07 01:33:26 +0000 (Sun, 07 Jul 2013) | 4 lines
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/RShamanStat.xml
   A /trunk/RShamanStatUI.lua
   M /trunk/RestoShamanStat.toc
   M /trunk/archive.lua

RShamanStatUI: added a very simplistic graphical user interface

type in '/rss' to open the window
output is currently limited to the text output that is also available through the CLI.
------------------------------------------------------------------------
r30 | belechannas | 2013-07-03 23:44:53 +0000 (Wed, 03 Jul 2013) | 3 lines
Changed paths:
   M /trunk/archive.lua

Fix bug in critical weight calculation introduced by trunk changes.

Show only the weighted average critical comparison (as in the branched release version).
------------------------------------------------------------------------
r29 | _swift | 2013-06-23 11:49:06 +0000 (Sun, 23 Jun 2013) | 1 line
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/archive.lua

Added the theoretical mp5 gain from 1% of crit based on actual spell usage
------------------------------------------------------------------------
r28 | _swift | 2013-06-16 11:48:06 +0000 (Sun, 16 Jun 2013) | 1 line
Changed paths:
   M /trunk/RShamanStat.lua

The command /rss sum <boss> now honors the selected difficulty filter
------------------------------------------------------------------------
r27 | _swift | 2013-06-16 11:21:26 +0000 (Sun, 16 Jun 2013) | 8 lines
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/archive.lua

Moved all variables tracked for the current fight that will later be saved to the archive as a new record into a new global variable 'fight' to simplify resetting and/or initialising the variables
Moved useAll to RShamanStatArchive.filter.useAll as a saved variable that will be remembered across restarts and /reloads
Added RShamanStatArchive.filter.difficulty to select the instance difficulty to show (works similar to useAll)
Archive Version is now 21
Added a new command /rss difficulty <Any|10N|10H|25H|25N|LFR> to track only fights of the selected instance difficulty
Changing useAll via /rss boss and /rss all will now print the newly selected setting

------------------------------------------------------------------------
r23 | _swift | 2013-06-15 21:59:34 +0000 (Sat, 15 Jun 2013) | 1 line
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/archive.lua

Added instance name and difficulty to archive
------------------------------------------------------------------------
r22 | _swift | 2013-06-15 20:33:35 +0000 (Sat, 15 Jun 2013) | 4 lines
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/archive.lua

Added Resurgence Mana Gains, Spellpower, Mastery%, NatureCrit% and Haste% to the archive. These are not currently used in the output.
Added a spell counter for non-periodic heals
Changed GetSpellCriticalChance to use the actual spell school returned by the combat log (this could break for multi-school spells!)

------------------------------------------------------------------------
r21 | _swift | 2013-06-15 16:50:10 +0000 (Sat, 15 Jun 2013) | 1 line
Changed paths:
   M /trunk/archive.lua

Fixed a bug that would cause the archive to get deleted if the migration self-test failed
------------------------------------------------------------------------
r20 | _swift | 2013-06-15 16:36:59 +0000 (Sat, 15 Jun 2013) | 1 line
Changed paths:
   M /trunk/archive.lua

Added svn:keywords property for archive.lua so "rss.revision" is updated regardless of which file was changed in the last commit.
------------------------------------------------------------------------
r19 | _swift | 2013-06-15 16:34:00 +0000 (Sat, 15 Jun 2013) | 1 line
Changed paths:
   M /trunk/archive.lua

Added a kind of 'self-test' for the migration subsystem
------------------------------------------------------------------------
r18 | _swift | 2013-06-15 14:57:23 +0000 (Sat, 15 Jun 2013) | 14 lines
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/RShamanStat.xml
   M /trunk/RestoShamanStat.toc
   A /trunk/archive.lua

This is a significant refactor to how RShamanStatArchive is handled:
- most of everything that accesses the archive should now use the functions provided by archive.lua
 * Those are rss.CreateRecord(), rss.SaveRecord(archive), rss.CreateAggregateRecord(..), rss.LoadArchive(archive), rss.PrintRecord(record)
- The archive now uses a 'version' number, that is separate from the code revision.
- Archive initialisation no longer happens in OnLoad, as that will be overwritten once WoW loads the SavedVariables
- Simple data migration functionality added
- Renamed all archive variables to the same name as the variables they represent
  * This was done so we can eventually replace all those module-wide variables by a single 'record'   
- The VARIABLES_LOADED handler is now called even if the player is in Elemental Spec.

In Other News:
- Added a function '/rss sum <boss>' that will summarize data of a specific encounter only
- RShamanStat.lua is now loaded once instead of twice
- Added a global table _G.RShamanStat (rss)
------------------------------------------------------------------------
r17 | belechannas | 2013-06-13 20:20:19 +0000 (Thu, 13 Jun 2013) | 1 line
Changed paths:
   M /trunk/RShamanStat.lua

Handle T15 set bonus correctly for heals which crit but could have proc'ed AA even if they hadn't
------------------------------------------------------------------------
r16 | belechannas | 2013-06-10 05:59:26 +0000 (Mon, 10 Jun 2013) | 1 line
Changed paths:
   M /trunk/RShamanStat.lua

Add rudimentary version checking to saved variables (saved data is discarded if new addon revision is detected)
------------------------------------------------------------------------
r15 | belechannas | 2013-06-10 04:41:43 +0000 (Mon, 10 Jun 2013) | 1 line
Changed paths:
   M /trunk/RestoShamanStat.toc

Update InterfaceVersion to 5.03
------------------------------------------------------------------------
r14 | belechannas | 2013-06-10 04:38:36 +0000 (Mon, 10 Jun 2013) | 9 lines
Changed paths:
   M /trunk/RShamanStat.lua
   M /trunk/RestoShamanStat.toc

Attempt to calculate the effect of Crit using a second method looking at NON crit heals. The player is inspected to find one of the two MoP metagems that increase critical heals.  The two methods are combined to create a third estimate which uses all heals. In this (Alpha) version, the old, new, and combined are all printed (in that order) to check consistency. It is expected that the combined method will eventually be the only one, if no issues turn up with the new calculation.

Remove Spirit Link Totem from stat calculations, since it is not affected by crit and (probably) not affected by Mastery.  Spirit Link heals are still counted in the total effective healing, so the effect should be to slightly decrease the effectiveness of both Crit and Mastery.

Add a saved variable to keep the data archive between sessions (clear all saved data with /rss clr).

Add approximate HPS calculation.

Some miscellaneous clean-up to the code.
------------------------------------------------------------------------

Comments

  • #2

    going to happen to update this?

  • #1

    I love that you built this addon.  As healing is a bit more complex than DPS and maximizing healing isn't nearly as straight forward.  On top of that there is a boatload of mis-information floating around the web.  So onto my question:

    Would it be logical to translate the data that RSS provides into stat valuations for AskMrRobot by dividing all of the +1% results by the +1$ value for Intellect which will generally be the most valuable stat?

    Given: +1% numbers; Int 400, SP 500, Crit 800, Mast 1600  (rounded for simplicity)

    Could I then say their stat values respectively are: 1, 0.8, 0.5,  0.25

    Do you see any issues with doing this? What are your thoughts?

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Leaguepedia PAX Skin Giveaway