OneHitWonder is an addon that tries to predict how much longer you can survive without any heals. As a warrior MT, I wanted some help to decide when to use my oh-sh*t-buttons. Currently, the addon is of very little use for non-tanks.
The GUI is not done yet. I'd like to add a bar that displays the time until the player dies, and have it pop up when there's less than 5s or so left.
If you have feedback/bug reports/suggestions, please post them here. Keep in mind that this is a beta release, so don't hold me responsible for any wipes this might cause. :p
- Records incoming raw melee damage.
- Popup window displaying melee damage stats of your current target, given your current armor/stance/etc.
- Countdown of how much longer you can survive consecutive hits w/o heals.
- Parry mechanics and most Cleave spells.
- Mob database browser, open with "/ohw mobs". Filter by name or level.
- Localization independent.
- Time left bar.
- Player buffs: Shield Wall, Barkskin, Blessing of Sanctuary, Pain Suppression, ...
- automatically inspect raid talents
- discard hit when AP/AC change too close
- dual wield -.-
- Track damage on other players. (Not possible because their armor is unknown.)
Big Wall of Text:
The addon tracks min/max/avg raw melee damage. Whenever you take melee damage, the raw damage is "reverse engineered". For example when you're dealt 1000 physical damage, and you're a warrior in Defensive Stance, OneHitWonder would compute 1000/90% = 1111 damage. Let's say your armor reduces the damage by 60% vs the mob's level, then the raw damage would be 1111/(100%-60%) = 2777. So in this example, OneHitWonder would store a hit of 2777 raw damage. You can inspect a mob's raw damage in the mob DB browser (/ohw mobs).
The addon also keeps track of AP modifying debuffs. As you can see from the attached screen shot, Anetheron hit me 7 times w/o any debuff, 17 times with an untalented CoW (-350 AP), 53 times with an untalented Demo Shout, and 15 times with Demo Shout+CoR.
OHW uses two damage ranges. The first is just the [min, max] hits you received so far. The second estimates the variance, and deduces the range from both the variance and the average damage. You can think of it is an estimator that is more forgiving if - for whatever reason - errors occur while computing the raw damage.
So, why is it a good idea to track the raw damage? Let's say you're tanking A'lar, phase 2. The damage you receive depends a lot on whether you have the armor debuff or not. Since the addon knows the raw damage, it can easily predict the damage you would take when you have the debuff.
Currently, OHW estimates the time left as follows: It takes your current health, and assumes that from now on, you receive consecutive non-crushing hits (no misses/dodges/etc.). It further assumes that the one of those hits deals maximum damage, while the others deal average damage. All variables involved (your armor/stance, the target's debuffs/attack speed, etc) are assumed to remain constant.
When someone in your raid applies a debuff like Demo Shout, the addon doesn't know whether that person has a talented Demo Shout or not. If you're courageous enough to try out OHW in a party/raid, use '/ohw scan' to start the talent scanner; the addon will inspect all Warriors, Druids and Warlocks, and use the gathered talent information in the current session. This information is not saved between sessions.
I've yet to decide what to do about damage from spells.
Some day I might add a way to send some information to healers, maybe as a Grid module.
- Added bar which displays the time left until the player would die from melee attacks. The bar is only visible if the time left is less than x. This value can be changed with '/ohw time x'.
- Instant update when the target's attack speed changes.
- Bugfix: Don't interpret any miss as a parry, only parries...
Quote from Astaldo »
A real-time aspect to incoming damage analysis is a welcome addition.
I'll keep an eye on it as it evolves :)
Real-time, that's a buzzword I need to remember when I release it. ^^ Thanks.