Crush Chance recreates your combat table and updates whenever your auras or equipment change. This combat table recreation can be seen in the FuBar tooltip. The combat table accurately accounts for effects of the level difference between you and the mob level. If you set the mob level to zero it uses the level of the last target you had. Crush Chance also detects if you have a shield equipped or not and shows a block chance of zero if not. The addon will update whenever your auras or equipment change, and also if you gain defense skill. Crush Chance will accurately account for the bonus defense from Warrior and Paladin talents as well as resilience gear. .
The addon displays your chance to be crushed in a small number you can drag around the screen. Left-clicking this frame toggles the dual wield setting. If you have the addon on FuBar, the crush chance number will be shown there.
*Automatically detect if target is dual wielding. (I'm not sure how possible this is)
I'm no expert on this stuff, but I think you might be able to get what you need from http://www.wowwiki.com/API_UnitAttackSpeed as offSpeed will be nil if the target isn't dual wielding. Seems to be one of the few informational functions that works on hostile targets as well.
the 102.4 value is from lvl 73 mobs vs lvl70 player,
I dont know the exact rules, but i think that crushing is possible when mob is at least 3 level above the player, so maybe you can compute this value directly from both player and mob lvl.
I updated the addon with some of the features recommended above.
* Left-Click to toggle dual wielding
* Mod-Click or Right-Click to move
* Automatically adjusts for target level
* Removed obsoleted console commands.
* Uses talent defense for warriors and paladins
* Color codes hits: red=crush or hit, orange= crush only
This is the code I wrote to get the talents:
if playerClass == 'WARRIOR' then
self.tdn = 4 * select(5, GetTalentInfo(3, 3))
elseif playerClass=='PALADIN' then
self.tdn = 4 * select(5, GetTalentInfo(2, 9))
self.tdn = 0
When you login or respec it will print your talent defense number. This should be 20 if you maxed out Anticipation. Tell me if it's not detecting talents correctly.
UnitAttackSpeed doesn't give you information for mobs unfortunately. I don't know of any way to detect dual-wielding automatically.
If anyone has any feature requests/bugs reply below.
Also, nominate better names if you have any. I was thinking of calling it HitMe instead.
1/ Crushchance is a fine name, does as it says on the err.. tin? :)
2/ Would it be possible to make this into a Fubar thing too so we can have the display on there? (don't like random things sat on the screen sometimes, especially when heavy in raids)
This represents your chanse to be hit or crushed, if the number is "below" 20 any hits you receive will be crushing.
Now if i change "Darkmoon card: Wrath (DPS trinket with no tank value on it)"
with "Moroe's Lucky Pocket Watch (a +dodge trinket)" or other tanking trinket.
My value gose from 30,9 to 28,9, bringing me closer to beeing crushed & hit according to the addon info.
I've released CrushChance 2.0 and updated the Wiki page. The main additions are FuBar integration and the FuBar tooltip summarizing the calculation. I also improved the code in general. Crush Chance should now accurately calculate for players of any level. Everything is event based and Crush Chance updates whenever your gear, auras, or defense level changes.
Please reply to this thread with any bugs or feature requests. Also, tell me if you're interested in making a translation.
Anyway i think tooltip is providing wrong detailed numbers
I will try to explain with my frenchie english ;)
If the idea is to simply say the total avoidance then, using the 102.4% rule is legit and simple, but if you want to enumerate the dodge/parry/bloc/miss values then you need to think differently.
The +2.4% against a lvl 73 mob comes from the idea of 0.8% of mitigation is needed for every level above the player. But this 0.8% is based on the computing of 0.2%dodge+0.2%parry+0.2%miss+0.2%bloc.
InternalApi return value for player vs target of the same lvl
this mean that the real dodge value against a lvl71mob is in reality:
and against a Boss73:
same for miss/parry/bloc for a gran total of 2.4%
So in this way the needed number is always 100%, but dodge parry bloc miss are
Anyway as a feature, i would like to be able to add all mitigation numbers (with option to choose what is shown or not) including the blockvalue ( -> GetSheildBlock()) in tooltips or fubar or floating frame.
Tixu, thanks for the clarification. I'll update CrushChance with this in mind.
British, it should work fine for Druids, they just don't have a defense skill in their talent tree ;P
I just realized that I may be doing some redundant calculations. If warriors have Anticipation, does it actually increase their Defense Skill? So it would say 370 instead of 350 in your skills tab? If this is the case I don't think I need to even look at their talents, just at their defense skill. I'll look at this on my roommate's warrior.
For calculating crit chance against seems flawed, especially if the tank is wearing any resilience or is a druid, as this won't account for our anticrit talent. I don't program in lua but, wouldn't this be more along the lines of the api you should be using?
There's also a few other rating numbers you might want to make use of like CR_HIT_TAKEN_MELEE etc.
* Added decimal places option
* Defense skill now obtained through UnitDefense, which is more accurate
* Detects if shield is equipped, block is zero if not
* Tooltip now attempts to show your exact combat table
* Floating and Fubar number now show your crush chance, not hit & crush
I read through a lot of the combat table documentation and tried to recreate the combat table as closely as possible. I improved a lot of the calculation code as well. Unfortunately, I haven't found any way to get your increased chance to be hit/crit caused by debuffs such as imp faerie fire and imp seal of the crusader.
In the next release I'll look at adding a few options to customize which fields are shown in each display.
Do people want to be able to do something like this in FuBar?
M:11.9 D:21.7 P:18.9 C:0.0 B:20.8 R:15.0 H:10.0
Where you could toggle which are shown? And maybe have a display to hide values with zero.
Also, in the floater I guess I could do the same kind of thing and maybe toggle vertical/horizontal layout.