User:Zalambar

Theorycrafting:
I post the random things I build on perhaps you will find them to be of some use.

Combat rating calculators:
Sorry to be editing your page but I could not find any contact information on your site www.zalambar.com (I assume it and you are one and the same :). I want to report a bug, which if true, screws up your calcs in a major way (huge apologies if I'm wrong, but I don't think so). I've been using the Armor Pen calculator but the problem might apply elsewhere. In that calculator your have the input fields:

At level [X] attacking a level [Y] target with [Z] armor:

Everything is fine if X and Y are equal. But if X=80 and Y=83 you calculate the target damage reduction based on X, not Y. The code is

$("#targetDamageReductionAtCap").text(WoWLib.PercentDamageReductionFromArmor( inputLevel ,armorPenCap));

which should be

$("#targetDamageReductionAtCap").text(WoWLib.PercentDamageReductionFromArmor( inputTargetLevel, armorPenCap));

You can see the results in the line

Target has 39.02% damage reduction before armor penetration

which does not change when you change the target's level, only when you change the attackers level. If I'm wrong the text is misleading about who is attacking who.

--Atzala (talk) 23:57, April 4, 2010 (UTC)Atzala.

Basic Combat Rating Mechanics

 * Hit Rating
 * Critical Strike Rating
 * Block Rating
 * Haste Rating
 * Expertise Rating

Mitigation Stats with Diminishing Returns

 * Parry(and Defense) Rating
 * Dodge(and Defense) Rating

Collecting Data
Getting accurate values for combat mechanics is important and the following scripts will help dump character attribute data to the default chat frame with as many digits of precision as the WoW client provides.

Example; spell hit mechanics:

That can be easily reformatted using any of the other rating index values.

We do not seem to have an agility per dodge formula yet since it depends on both class and level, perhaps we can gather enough data to correct that. Since the API does not give us a nice way to determine these values and we cannot easily check for +dodge chance talents or racial abilities our easiest option is probably going to be recording total dodge chance at different agility values on each character and comparing the difference. We'll need to account for diminishing returns on dodge chance and the fact that those do not apply to base dodge chance.

/script DEFAULT_CHAT_FRAME:AddMessage(UnitLevel("player").." "..UnitClass("player").." has "..GetDodgeChance.." total dodge chance") /script local base, stat= UnitStat("player",2); DEFAULT_CHAT_FRAME:AddMessage("from "..stat.." agility, "..GetCombatRating(3).." dodge rating, and "..UnitDefense("player")+GetCombatRatingBonus(2).." defense")