Closed netherspite closed 6 years ago
Comment by brndd
Monday Nov 23, 2015 at 01:30 GMT
Here are the relevant numbers as copied from cmangos source (actually I copied them from my addon which deals with this crap, but I copied them from the cmangos source for that addon).
Dodge chance should thus be BaseDodge + Agility * CritPerAgi * Multiplier
. For the nelf in the screenshot, for instance, this should reckon out to -0.59% + 41 * 0.2941 * 2 = 23.5262%
...which is actually more than what you can see in the screenshot so now I'm not so sure if these numbers are correct after all. It's obviously possible that the base dodge values on Corecraft are incorrect, ISTR when testing this on Smolderforge they had different base dodge values from the ones here as well (back then I dismissed it as an issue on their end).
Base dodge (in %, order is warrior paladin hunter rogue priest shaman mage warlock druid):
0.7580, 0.6520, -5.4500, -0.5900, 3.1830, 1.6750, 3.4575, 2.0350, -1.8720,
Crit (in percentages) per point of agility (same order as above, organized by level):
[1] = {0.2500, 0.2174, 0.2840, 0.4476, 0.0909, 0.1663, 0.0771, 0.1500, 0.2020, },
[2] = {0.2381, 0.2070, 0.2834, 0.4290, 0.0909, 0.1663, 0.0771, 0.1500, 0.2020, },
[3] = {0.2381, 0.2070, 0.2711, 0.4118, 0.0909, 0.1583, 0.0771, 0.1429, 0.1923, },
[4] = {0.2273, 0.1976, 0.2530, 0.3813, 0.0865, 0.1583, 0.0735, 0.1429, 0.1923, },
[5] = {0.2174, 0.1976, 0.2430, 0.3677, 0.0865, 0.1511, 0.0735, 0.1429, 0.1836, },
[6] = {0.2083, 0.1890, 0.2337, 0.3550, 0.0865, 0.1511, 0.0735, 0.1364, 0.1836, },
[7] = {0.2083, 0.1890, 0.2251, 0.3321, 0.0865, 0.1511, 0.0735, 0.1364, 0.1756, },
[8] = {0.2000, 0.1812, 0.2171, 0.3217, 0.0826, 0.1446, 0.0735, 0.1364, 0.1756, },
[9] = {0.1923, 0.1812, 0.2051, 0.3120, 0.0826, 0.1446, 0.0735, 0.1304, 0.1683, },
[10] = {0.1923, 0.1739, 0.1984, 0.2941, 0.0826, 0.1385, 0.0701, 0.1304, 0.1553, },
[11] = {0.1852, 0.1739, 0.1848, 0.2640, 0.0826, 0.1385, 0.0701, 0.1250, 0.1496, },
[12] = {0.1786, 0.1672, 0.1670, 0.2394, 0.0790, 0.1330, 0.0701, 0.1250, 0.1496, },
[13] = {0.1667, 0.1553, 0.1547, 0.2145, 0.0790, 0.1330, 0.0701, 0.1250, 0.1443, },
[14] = {0.1613, 0.1553, 0.1441, 0.1980, 0.0790, 0.1279, 0.0701, 0.1200, 0.1443, },
[15] = {0.1563, 0.1449, 0.1330, 0.1775, 0.0790, 0.1231, 0.0671, 0.1154, 0.1346, },
[16] = {0.1515, 0.1449, 0.1267, 0.1660, 0.0757, 0.1188, 0.0671, 0.1111, 0.1346, },
[17] = {0.1471, 0.1403, 0.1194, 0.1560, 0.0757, 0.1188, 0.0671, 0.1111, 0.1303, },
[18] = {0.1389, 0.1318, 0.1117, 0.1450, 0.0757, 0.1147, 0.0671, 0.1111, 0.1262, },
[19] = {0.1351, 0.1318, 0.1060, 0.1355, 0.0727, 0.1147, 0.0671, 0.1071, 0.1262, },
[20] = {0.1282, 0.1242, 0.0998, 0.1271, 0.0727, 0.1073, 0.0643, 0.1034, 0.1122, },
[21] = {0.1282, 0.1208, 0.0962, 0.1197, 0.0727, 0.1073, 0.0643, 0.1000, 0.1122, },
[22] = {0.1250, 0.1208, 0.0910, 0.1144, 0.0727, 0.1039, 0.0643, 0.1000, 0.1092, },
[23] = {0.1190, 0.1144, 0.0872, 0.1084, 0.0699, 0.1039, 0.0643, 0.0968, 0.1063, },
[24] = {0.1163, 0.1115, 0.0829, 0.1040, 0.0699, 0.1008, 0.0617, 0.0968, 0.1063, },
[25] = {0.1111, 0.1087, 0.0797, 0.0980, 0.0699, 0.0978, 0.0617, 0.0909, 0.1010, },
[26] = {0.1087, 0.1060, 0.0767, 0.0936, 0.0673, 0.0950, 0.0617, 0.0909, 0.1010, },
[27] = {0.1064, 0.1035, 0.0734, 0.0903, 0.0673, 0.0950, 0.0617, 0.0909, 0.0985, },
[28] = {0.1020, 0.1011, 0.0709, 0.0865, 0.0673, 0.0924, 0.0617, 0.0882, 0.0962, },
[29] = {0.1000, 0.0988, 0.0680, 0.0830, 0.0649, 0.0924, 0.0593, 0.0882, 0.0962, },
[30] = {0.0962, 0.0945, 0.0654, 0.0792, 0.0649, 0.0875, 0.0593, 0.0833, 0.0878, },
[31] = {0.0943, 0.0925, 0.0637, 0.0768, 0.0649, 0.0875, 0.0593, 0.0833, 0.0859, },
[32] = {0.0926, 0.0925, 0.0614, 0.0741, 0.0627, 0.0853, 0.0593, 0.0811, 0.0859, },
[33] = {0.0893, 0.0887, 0.0592, 0.0715, 0.0627, 0.0831, 0.0571, 0.0811, 0.0841, },
[34] = {0.0877, 0.0870, 0.0575, 0.0691, 0.0627, 0.0831, 0.0571, 0.0789, 0.0824, },
[35] = {0.0847, 0.0836, 0.0556, 0.0664, 0.0606, 0.0792, 0.0571, 0.0769, 0.0808, },
[36] = {0.0833, 0.0820, 0.0541, 0.0643, 0.0606, 0.0773, 0.0551, 0.0750, 0.0792, },
[37] = {0.0820, 0.0820, 0.0524, 0.0628, 0.0606, 0.0773, 0.0551, 0.0732, 0.0777, },
[38] = {0.0794, 0.0791, 0.0508, 0.0609, 0.0586, 0.0756, 0.0551, 0.0732, 0.0777, },
[39] = {0.0781, 0.0776, 0.0493, 0.0592, 0.0586, 0.0756, 0.0551, 0.0714, 0.0762, },
[40] = {0.0758, 0.0750, 0.0481, 0.0572, 0.0586, 0.0723, 0.0532, 0.0698, 0.0709, },
[41] = {0.0735, 0.0737, 0.0470, 0.0556, 0.0568, 0.0707, 0.0532, 0.0682, 0.0696, },
[42] = {0.0725, 0.0737, 0.0457, 0.0542, 0.0568, 0.0707, 0.0532, 0.0682, 0.0696, },
[43] = {0.0704, 0.0713, 0.0444, 0.0528, 0.0551, 0.0693, 0.0532, 0.0667, 0.0685, },
[44] = {0.0694, 0.0701, 0.0433, 0.0512, 0.0551, 0.0679, 0.0514, 0.0667, 0.0673, },
[45] = {0.0676, 0.0679, 0.0421, 0.0497, 0.0551, 0.0665, 0.0514, 0.0638, 0.0651, },
[46] = {0.0667, 0.0669, 0.0413, 0.0486, 0.0534, 0.0652, 0.0514, 0.0625, 0.0641, },
[47] = {0.0649, 0.0659, 0.0402, 0.0474, 0.0534, 0.0639, 0.0498, 0.0625, 0.0641, },
[48] = {0.0633, 0.0639, 0.0391, 0.0464, 0.0519, 0.0627, 0.0498, 0.0612, 0.0631, },
[49] = {0.0625, 0.0630, 0.0382, 0.0454, 0.0519, 0.0627, 0.0498, 0.0600, 0.0621, },
[50] = {0.0610, 0.0612, 0.0373, 0.0440, 0.0519, 0.0605, 0.0482, 0.0588, 0.0585, },
[51] = {0.0595, 0.0604, 0.0366, 0.0431, 0.0505, 0.0594, 0.0482, 0.0577, 0.0577, },
[52] = {0.0588, 0.0596, 0.0358, 0.0422, 0.0505, 0.0583, 0.0482, 0.0577, 0.0569, },
[53] = {0.0575, 0.0580, 0.0350, 0.0412, 0.0491, 0.0583, 0.0467, 0.0566, 0.0561, },
[54] = {0.0562, 0.0572, 0.0341, 0.0404, 0.0491, 0.0573, 0.0467, 0.0556, 0.0561, },
[55] = {0.0549, 0.0557, 0.0334, 0.0394, 0.0478, 0.0554, 0.0467, 0.0545, 0.0546, },
[56] = {0.0543, 0.0550, 0.0328, 0.0386, 0.0478, 0.0545, 0.0454, 0.0536, 0.0539, },
[57] = {0.0532, 0.0544, 0.0321, 0.0378, 0.0466, 0.0536, 0.0454, 0.0526, 0.0531, },
[58] = {0.0521, 0.0530, 0.0314, 0.0370, 0.0466, 0.0536, 0.0454, 0.0517, 0.0525, },
[59] = {0.0510, 0.0524, 0.0307, 0.0364, 0.0454, 0.0528, 0.0441, 0.0517, 0.0518, },
[60] = {0.0500, 0.0512, 0.0301, 0.0355, 0.0454, 0.0512, 0.0441, 0.0500, 0.0493, },
[61] = {0.0469, 0.0491, 0.0297, 0.0334, 0.0443, 0.0496, 0.0435, 0.0484, 0.0478, },
[62] = {0.0442, 0.0483, 0.0290, 0.0322, 0.0444, 0.0486, 0.0432, 0.0481, 0.0472, },
[63] = {0.0418, 0.0472, 0.0284, 0.0307, 0.0441, 0.0470, 0.0424, 0.0470, 0.0456, },
[64] = {0.0397, 0.0456, 0.0279, 0.0296, 0.0433, 0.0456, 0.0423, 0.0455, 0.0447, },
[65] = {0.0377, 0.0446, 0.0273, 0.0286, 0.0426, 0.0449, 0.0422, 0.0448, 0.0438, },
[66] = {0.0360, 0.0437, 0.0270, 0.0276, 0.0419, 0.0437, 0.0411, 0.0435, 0.0430, },
[67] = {0.0344, 0.0425, 0.0264, 0.0268, 0.0414, 0.0427, 0.0412, 0.0436, 0.0424, },
[68] = {0.0329, 0.0416, 0.0259, 0.0262, 0.0412, 0.0417, 0.0408, 0.0424, 0.0412, },
[69] = {0.0315, 0.0408, 0.0254, 0.0256, 0.0410, 0.0408, 0.0404, 0.0414, 0.0406, },
[70] = {0.0303, 0.0400, 0.0250, 0.0250, 0.0400, 0.0400, 0.0400, 0.0405, 0.0400, },
[71] = {0.0297, 0.0393, 0.0246, 0.0244, 0.0390, 0.0392, 0.0396, 0.0396, 0.0394, },
[72] = {0.0292, 0.0385, 0.0242, 0.0238, 0.0381, 0.0384, 0.0393, 0.0387, 0.0388, },
[73] = {0.0287, 0.0378, 0.0238, 0.0233, 0.0372, 0.0377, 0.0389, 0.0379, 0.0383, },
};
Multiplier to get dodge per agi from crit per agi:
1.1, --Warrior
1.0, --Paladin
1.6, --Hunter
2.0, --Rogue
1.0, --Priest
1.0, --Shaman
1.0, --Mage
1.0, --Warlock
1.7, --Druid
Comment by brndd
Monday Nov 23, 2015 at 01:35 GMT
Also, the 1% difference at level 70 is probably the night elf racial
Comment by KimmoKM
Monday Nov 23, 2015 at 01:39 GMT
In that case (if Wowwiki numbers are correct), the dodge chance is exactly what it should be at least for level 70. How silly of me to forget the racial bonus.
Comment by Mephisto22
Monday Nov 23, 2015 at 19:08 GMT
If everything works as intended, you can close your own issue
Comment by KimmoKM
Monday Nov 23, 2015 at 19:20 GMT
Low-level values still seem wrong, although I can't figure out precisely where that problem is (base dodge chance having large differences depending on the level?) or find definite proof that either confirms there is an issue or disproves it (like a screenshot of naked level 1 rogue with dodge chance shown).
Comment by brndd
Tuesday Nov 24, 2015 at 00:05 GMT
In the rogue video linked in the OP, he has:
20 / 1.5 / ((1 / 52) * 10 - (8 / 52))
defense skill, for a total of 351.666... defense when combined with his base 5 defense skill. Source of rating formula is the StatLogicLib-1.0 addon, whose author seems to have reverse-engineered the formula himself (according to the comments at least). This matches exactly what's shown in his character sheet at the end of the video.Punching the relevant numbers into known formulas used by cmangos (but not necessarily by Corecraft):
96 * 0.4476 * 2 - 0.59 = 85.3492%
351 / 25 = 14.04%
(defense is rounded down to nearest integer I believe) 1%
100.3892%
This is 0.1992% more than what the video shows, so there clearly is some small inconsistency here. It could just be the result of some rounding being done on retail, though, but it's far more likely the inconsistency is either in the base dodge or the agility to dodge formula (likely the 0.4476 bit in there).
Comment by brndd
Tuesday Nov 24, 2015 at 02:50 GMT
Also, note that all the numbers I've provided here are copied from cmangos, so comparing Corecraft to them isn't proof of things being correct. The reason I'm posting them is that they're probably the same numbers Corecraft is using right now, and checking them against stats from retail to verify their accuracy would thus also verify the accuracy of Corecraft's agi-dodge ratios.
Finding screenshots of rogues from retail with their stats visible and then comparing the formulas to that would be one way of verifying their accuracy. They seem to be pretty accurate, but I'm sure there are some small errors in them (see my previous comment). Getting them 100% right would be nice, but I'm not sure if that's really ever going to be possible.
Comment by KimmoKM
Tuesday Nov 24, 2015 at 04:17 GMT
https://www.youtube.com/watch?v=GJzIY-4dKKk displays another level 1 rogue twink from TBC. Using the previous formula, I get at 88.0348% dodge while the video shows 88.03%
https://www.youtube.com/watch?v=DrpkKjOQtdE yet another. Statistics aren't shown but knowing that night elf rogues start with 28 agility and adding the agility from displayed enchants, I could count the total agility 66 and using the previous formula it results in 58.49% dodge. Add one percent from nelf racial and it's exactly what I think the blurry 360p video shows, 59.??%.
https://www.youtube.com/watch?v=PAKIjdJLxMI And a third one. Exact same values.
I can't for the life of me find displayed dodge chance and statistics for classes other than rogues but at least as far as rogues are concerned, brndd's formula and data give exactly the correct values consistently when compared against retail TBC evidence.
Now, that it has been verified, I can compare predictions to Corecraft numbers and after figuring out I should .maxskill for capping defense, the numbers are as predicted. Looks like night elf rogues really did have 25% unbuffed dodge at level 1, as weird as that seemed to me.
Closing the issue.
Issue by KimmoKM
Monday Nov 23, 2015 at 00:16 GMT
Originally opened as https://github.com/ccshiro/cc-buglist/issues/2058
I can't definitely prove there is a problem but as I levelled an undead rogue, I noticed a peculiar thing: at level 2 I had 18.29% dodge. Low-level characters gain far more value from stats than high-level ones, that's for certain (that's the reason level 1 twinks work, here's an example), but I don't ever recall having such a high dodge chance when naked, low-level or not.
I was unable to find a formula that takes level into account when converting agility to dodge (or crit), but Wowwiki has something on the topic. Rogues do have better dodge:agility scaling than other classes, but that's not an enormous difference (then again, there's also the base dodge chance that seems to change depending on level, there's also a table for level 60 values and they are much different from listed level 70 values). With that in mind, an undead rogue (21 agility) starting with 18.05% dodge and 8.94% crit seems really weird when an undead warrior (18 agi) has 5.54% dodge and 5.48% crit and night elf druid (25 agility, better agility-scaling so you might even expect higher dodge/crit chance) has 7.56% dodge and 5.85% crit. Level 1 night elf rogue (28 agi) has a whopping 25.32% dodge and 12.08% crit. Even at level 10 a night elf rogue has 22.57% dodge and 9.8% crit (with weapon skill maxed it'd be 11.76%).
I can't find the formula or any reliable source (I doubt Wowwiki-contributors would research this in complete detail), but these numbers seem very much off to me. Certainly when comparing rogues to other classes whose numbers seem normal to me, although that should also be verified. The values at max level are at least in the correct league, although they might also be slightly off (night elf rogue with maxed skills has 3.78% crit and 8.56% dodge with their 163 base agility, while Wowwiki formula would result in 7.56% dodge: if Wowwiki is to be trusted for level 70 values, dodge chance at level 70 might or might not be correct depending on where that 1% difference comes from)
Related issue: #953