574 - Savage Defense Tracking broken
What steps will reproduce the problem?
1. Tank as a bear
2. Watch Savage Defense Stats in "Healing Done"
3. Compare what recount shows to what is showing in combat log for Savage Defense absorbs
What is the expected output? What do you see instead?
Only a small fraction of a Feral Druid's Savage Defense absorbs are being shown in Healing Done.
What version of the product are you using?
Up to date as of today. v4.2.0f from 8/8/2011 7:38:46PM
Do you have an error log of what happened?
No, but I have a sample combat log.
Please provide any additional information below.
My recount showed a total of 72... yes, only 72... damage absorbed by SD in a short sample combat that I did on a Fiery Behemoth at Sethria's Roost.
Filtering out the appropriate lines from my combatlog.txt here is an example of a full Savage Defense proc, a few absorbs from that proc, the aura being removed with some remaining on it.
9/12 16:15:03.861 SPELL_AURA_APPLIED,0x0580000006D1D856,"Hawkeyés",0x511,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,62606,"Savage Defense",0x8,BUFF,7310,0,0
9/12 16:15:09.786 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,2767
9/12 16:15:11.878 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,2765
9/12 16:15:13.860 SPELL_AURA_REMOVED,0x0580000006D1D856,"Hawkeyés",0x511,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,62606,"Savage Defense",0x8,BUFF,1778,0,0
SD Aura Applied: 7310 is the base absorb amount.
Note that absorbs are counted via a "SWING_MISSED" event. 2 such events (2767 and 2765) totaling 5534 are subtracted from the original SD aura of 7310, leaving 1778 remaining.
At the appropriate time, the aura fades with that 1778 remaining showing in that 3rd to last value in the "SPELL_AURA_REMOVED" line.
That was an example of a SD being applied and refreshed prior to expiring...
Now an example of SD being refreshed prior to being completely used:
9/12 16:15:29.071 SPELL_AURA_APPLIED,0x0580000006D1D856,"Hawkeyés",0x511,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,62606,"Savage Defense",0x8,BUFF,8370,0,0
8370 starting value of Savage Defense.
9/12 16:15:33.892 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,4014
4014 absorbed about 4 seconds later. 4356 remaining.
9/12 16:15:36.012 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,2859
2859 absorbed 3 seconds later. 1497 remaining.
9/12 16:15:38.150 SPELL_AURA_REFRESH,0x0580000006D1D856,"Hawkeyés",0x511,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,62606,"Savage Defense",0x8,BUFF,8757,0,0
Note the new value 8657 is the new total absorb amount, not the amount being added to the previous. The remaining 1497 from the previous one has been lost.
9/12 16:15:43.884 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,3050
5.5 seconds later: 3050 absorbed. 5607 remaining.
9/12 16:15:47.858 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,DODGE
I put this line in to show that you should probably incorporate the ABSORB tracking in to the same mechanic you use to track a dodged attack. Note that the value of the absorb is an additional value tacked on to the end of the line.
9/12 16:16:37.150 SPELL_AURA_REFRESH,0x0580000006D1D856,"Hawkeyés",0x511,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,62606,"Savage Defense",0x8,BUFF,8938,0,0
Another refreshed aura... the previous absorb amount does not carry over... it's just replaced with the new value based on current AP and mastery. It is the AURA that is being refreshed, not the absorb value... the absorb value is being "replaced" with the new value, with the previous aura's value lost to the winds. In this case, 5607 has been lost.
9/12 16:16:42.924 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,3450
9/12 16:16:45.147 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,2821
Anyway, that's enough of those examples...
The final amount of absorbs that seem to happen is when the hit is larger than the absorb amount remaining:
9/12 16:15:25.983 SWING_DAMAGE,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,1181,-1,1,0,0,1914,nil,nil,nil
THAT counts as a "SWING_DAMAGE" event, and shows the amount absorbed and the amount that actually did damage. The two values in the above line are 1181 and 1914. But which is which? To find that out, we need to track the absorb from start to finish.
9/12 16:15:11.878 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,2765
9/12 16:15:17.334 SPELL_AURA_APPLIED,0x0580000006D1D856,"Hawkeyés",0x511,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,62606,"Savage Defense",0x8,BUFF,8093,0,0
9/12 16:15:17.843 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,DODGE
9/12 16:15:19.871 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,DODGE
9/12 16:15:21.777 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,3306
9/12 16:15:23.792 SWING_MISSED,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,ABSORB,2873
Okay, so it started at 8093, two dodged attacks, then -3306. New SD value: 4787.
2nd absorb: -2873. New SD value: 1914
Badda bing, there's your value.
On this SWING_DAMAGE event:
9/12 16:15:25.983 SWING_DAMAGE,0xF530CC410021B355,"Fiery Behemoth",0x10a48,0x0,0x0580000006D1D856,"Hawkeyés",0x511,0x0,1181,-1,1,0,0,1914,nil,nil,nil
The first damage amount is the physical damage done to the target (1181), and the other amount (1914) is the absorb.
BAM, all of the values, and event types, that you need to track Savage Defense absorbs.
1) Starting values
2) Full Absorbs
3) Partial Absorbs
4) "Wasted" amounts (via refreshed SD auras, AND remaining amounts that drop off when the aura expires)
Please fix this so my Bear doesn't seem so "squishy" to healers, who think my SD isn't worth a darn.
Just a quick final note:
I suspect the problem is that you can't really track to see if the absorbed amount is being removed from the SD value, or if it is being removed from a PW:S, or some other absorb mechanism. If that's the case, then I think Blizzard needs to do some something to change how logging happens, so that those "SWING_MISSED" lines indicate what absorb spell is being modified...
Either way, there's what I have. I hope it helps.
| User | When | Change |
|---|---|---|
| EagleEye1975 | Sep 14, 2011 at 21:54 UTC | Create |
Facts
- Reported
- Sep 14, 2011
- Status
- New - Issue has not had initial review yet.
- Type
- Defect - A shortcoming, fault, or imperfection
- Priority
- Medium - Normal priority.
- Votes
- 0
- Component
- Recount