LibAbsorbsMonitor-1.0

Whether this project is out of date or its author marked it as abandoned, this project is no longer maintained.

If you wish to take this project over, please report it and state your intentions.

This project is discontinued
Due to various time constraints on my side and the interface/gameplay changes in Cataclysm regarding absorb effects, I can no longer actively develop or support this library. The healing game has changed considerably, making cumulative absorb tracking a lot less useful than it was in the days of Wrath of the Lich King, and it can be tracked now easily for specific effects just using the Blizzard UI. In generel the code still works, although it would require some small adjustments for the current combat log format. If anyone is interested in continuing this project, please let me know.

AbsorbsMonitor is a library that monitors and exports all ongoing absorb effects in your vicinity. It can handle different effects like Anti-Magic Shell, Power Word: Shield or Divine Aegis at the same time on the same target, as long as there is enough data to calculate the absorb values on creation.

In its core it consists of a framework to easily implement any spell, talent, proc or item that uses an absorb effect and then export this data to display it in a unit/raid frame or similar.

In the future this data can also be used to make precise statistics about the amount absorbed, which attack was absorbed, how much absorb value was wasted and so on.

Among other things, this library is implemented in these addons to actually display the absorb values:

ShieldFrames: Powerful and customizeable UI to display any absorb effect as a collection of bars.

AbsorbsViewer: A simple addon used for debugging and to demonstrate how to use the values exported by AbsorbsMonitor. Note that this addon no longer gets packaged, but you can still find it in the repository.

Documentation

Status

All spells that report absorb values in combat log, most others as well as all items supported (see list)

Mage spells are currently NOT supported. They do not report in combat log and require complete new code to calculate the values

Multiple effects of the same spells like it can happen now in Cataclysm for Divine Aegis and Illuminated Healing WILL cause wrong numbers. The integrated self-correction will be able to adjust this in realtime thanks to the combat log reporting.

It is not possible to reasonable support Power Word: Barrier at the moment, since the aura gain is not reported in the combat log.

Realtime stats sharing: Shares informations like spell power, attack power and talents with other users of AbsorbsMonitor in a party/raid

Upcoming

Statistics about absorb effects: how much, what broke it, what is wasted, ...

Limits of Accuracy

Given the new combat log reports in Cataclysm, the values for the most common absorb effects like Power Word: Shield, Divine Aegis and Illuminated Healing as well as specialized effects like Savage Defense and Anti-Magic Shell are 100% accurate. Sadly this does not apply to the warlock and mage spells, as well as the Death Knight Blood mastery and many item effects

Special thanks to my guild and friends on EU-Frostmane for countless hours of testing game mechanics.

The Mage and Warlock spells are a bit more of a problem, since they do not report in combat log and either require "oldschool" calculations with knowledge of spell power, talents etc or tooltip scanning. I will experiment with both methods a bit.

EDIT: I just pushed an alpha with support for Blood Shield. You can either replace the files in ShieldFrames/libs/LibAbsorbsMonitor with the ones in LibAbsorbsMonitor/core from the alpha package or run LibAbsorbsMonitor as a standalone library.

EDIT: Sorry, I forgot to round the result indeed. I fixed this now in ShieldFrames though temporarily by just rounding every result. And it looks like Anti-Magic Shell doesn't report the correct value anymore, 75 sounds more like 75% and not 50% of your hp. Gotta take a look at that tomorrow.

Sorry, but since I was a bit short on time the last days, I delayed a proper release for ShieldFrames and the Grid plugin until I'm sure everything works, especially regarding the Grid transition to Ace3. The commit I made here was just the work I did on the PTR. I will try to fix up everything by the end of this weekend.