Jump to content


Photo

Combat Ratings at level 85 (Cataclysm)


  • Please log in to reply
595 replies to this topic

#581 Wani

Wani

    Glass Joe

  • Members
  • 1 posts

Posted 10 March 2011 - 02:13 AM

This is probably a really dumb question but in the dodge/agility table, should I assume the first column is base dodge, not base agility?

#582 imunenjuneer

imunenjuneer

    Glass Joe

  • Members
  • 1 posts

Posted 21 March 2011 - 03:15 PM

message deleted by author

#583 Cards

Cards

    Glass Joe

  • Members
  • 8 posts

Posted 12 April 2011 - 04:36 AM

Hi, does anyone know where I can get the attack speed/unmitigated melee damage for Cataclysm raid bosses? I have looked on these boards as well as elsewhere and have not been able to find this information, despite the fact that it has a substantial effect on appropriate stat weights. I am using Tangedyn's spreadsheet (posted in the bear thread) but I have no idea how accurate its default values are.

#584 sp00n

sp00n

    Bald Bull

  • Members
  • 1,836 posts

Posted 12 April 2011 - 10:01 AM

You can get the current attack speed of your target with the following macro:
/run local sp=UnitAttackSpeed("target"); SendChatMessage(GetUnitName("target").."'s current attack speed: "..(("%%.%df"):format(2)):format(sp), "SAY");

Generally it is 2.0 for any boss that doesn't dual wield and without haste/enrage buffs.
You could also simply look through various World of Log fights and use the Expression system to filter only for boss hits. That's probably the only way to get the damage range as well, though you have to consider armor and debuffs then.

Stopped Playing


#585 Cards

Cards

    Glass Joe

  • Members
  • 8 posts

Posted 14 April 2011 - 01:18 AM

You can get the current attack speed of your target with the following macro:
/run local sp=UnitAttackSpeed("target"); SendChatMessage(GetUnitName("target").."'s current attack speed: "..(("%%.%df"):format(2)):format(sp), "SAY");

Generally it is 2.0 for any boss that doesn't dual wield and without haste/enrage buffs.
You could also simply look through various World of Log fights and use the Expression system to filter only for boss hits. That's probably the only way to get the damage range as well, though you have to consider armor and debuffs then.


Thanks for the macro. I have tried it and gotten 1.8 attack speed though not 2.0.

#586 sp00n

sp00n

    Bald Bull

  • Members
  • 1,836 posts

Posted 14 April 2011 - 08:23 AM

Thanks for the macro. I have tried it and gotten 1.8 attack speed though not 2.0.


Ok, that may have changed then. Last time I actually used it was back in ICC.

Stopped Playing


#587 Whitetooth

Whitetooth

    Piston Honda

  • Members
  • 122 posts

Posted 22 April 2011 - 07:26 PM

4.1 Resilience Diminishing Returns(DR) Machanics

Resilience scaling has been modified for linear returns, as opposed to increasing returns. Under the new formula, going from 30 resilience to 40 resilience gives players the same increase to survivability as going from 0 to 10. Resilience now scales in the same way armor and magic resistances do. A player with 32.5% damage reduction from resilience in 4.0.6 should see their damage reduction unchanged in 4.1. Those with less than 32.5% will gain slightly. Those with more will lose some damage reduction, increasingly so as their resilience climbs.


I've edited the first post with the final results, this post is about how I arrived at those results. So when I saw those patch notes, I thought well, this sounds like something I could do.

  • Loaded up a PTR client and started digging through the game files, and if I were lucky I could find the formula written in the lua files. Sadly, as with the avoidance diminishing returns formula, it too is implemented in a C code API.
  • Continue digging through the DBC files, I found that the Resilience conversion values for all levels has scaled down by a constant(this is before the new DR kicks in), meaning more damage reduction per Resilience point when in 4.0.6:
    [table="head"]Rating|Level 60|Level 70|Level 80|Level 81|Level 82|Level 83|Level 84|Level 85
    Resilience(Player Damage Taken) (4.0.6)|9.58333|15.11218|31.42374|39.22359|48.95947|61.11195|76.28086|95.21492
    Resilience(Player Damage Taken) (4.1.0)|7.96418|12.5589|26.11453|32.59655|40.68751|50.78676|63.3928|79.12785[/table]
    Divide any 4.0.6 value with the 4.1.0 value results in a constant, using level 85 for example:
    95.21492/79.12785=1.203304778
    This value is actually pretty strange, because in the past when they want to change the numbers a bit they would pick a "pretty" number like 1.25 or 1.2. So why 1.203304778? I will answer this by deriving the number at the end of this post.
  • Before I can start to derive the Resilience DR formula, I will need a decent amount of data to work with. Blizzard gave us 2 APIs: GetCombatRating(16) returns your current resilience rating, and GetCombatRatingBonus(16) returns the damage reduction percentage of your current resilience rating after DR. After updating my lua library LibStatLogic with the new values I found in step 2, I can use StatLogic:GetEffectFromRating(resilience, 16) to get the damage reduction percentage of a given resilience rating before DR.
    So I wrote a little addon to help me collect data while I equip and unequip my pvp gear trying to generate as many resilience values I can. Here's the addon code:
    function SaveData()
    	local res = GetCombatRating(16)
    	local bonusDr = GetCombatRatingBonus(16)
      local bonusOri = StatLogic:GetEffectFromRating(res, 16)
      if not GetResilienceDataDB[res] then
        GetResilienceDataDB[res] = res..","..bonusOri..","..bonusDr
        print("Resilience: "..res..", "..bonusOri..", "..bonusDr)
      end
    end
    
    local f = CreateFrame("Frame")
    f:RegisterEvent("PLAYER_ENTERING_WORLD")
    f:RegisterEvent("COMBAT_RATING_UPDATE")
    
    local function OnEvent(self, event, ...)
      if event == "PLAYER_ENTERING_WORLD" then
        if not GetResilienceDataDB then
          GetResilienceDataDB = {}
        end
      else
        SaveData()
      end
    end
    f:SetScript("OnEvent", OnEvent)
    Here's the raw data I gathered from the current PTR build 4.1.0.13914:
    [table="head"]Resilience|Damage Reduction before DR|Damage Reduction after DR
    0 |0 |0
    20 |0.252755525 |0.253705169
    40 |0.50551105 |0.506766674
    60 |0.758266575 |0.75918615
    72 |0.909919891 |0.910330315
    80 |1.011022101 |1.010965224
    100 |1.263777626 |1.262105522
    120 |1.516533151 |1.512608664
    140 |1.769288676 |1.762476266
    160 |2.022044201 |2.011709942
    179 |2.26216195 |2.247896264
    180 |2.274799726 |2.260311181
    191 |2.413815265 |2.396773118
    200 |2.527555251 |2.508281941
    220 |2.780310777 |2.755623352
    240 |3.033066302 |3.002337478
    326 |4.11991506 |4.056095155
    361 |4.562237229 |4.481665514
    460 |5.813377078 |5.675227718
    626 |7.911247937 |7.643178884
    880 |11.12124311 |10.57519803
    952 |12.031163 |11.38925986
    1005 |12.70096514 |11.9837598
    1007 |12.72624069 |12.00611523
    1079 |13.63616058 |12.80715097
    1104 |13.95210499 |13.08357858
    1215 |15.35489815 |14.30037521
    1238 |15.64556701 |14.55036532
    1287 |16.26481804 |15.08052477
    1306 |16.50493579 |15.28521084
    1406 |17.76871342 |16.35440017
    1440 |18.19839781 |16.71484162
    1463 |18.48906666 |16.9577902
    1560 |19.71493096 |17.97462151
    1599 |20.20780424 |18.37993174
    1707 |21.57268407 |19.49190962
    1718 |21.71169961 |19.6043128
    1766 |22.31831287 |20.09296689
    1815 |22.93756391 |20.5887381
    1826 |23.07657945 |20.69961144
    1942 |24.54256149 |21.85942518
    1945 |24.58047482 |21.88919504
    2014 |25.45248138 |22.57076243
    2042 |25.80633912 |22.84564252
    2070 |26.16019685 |23.11954529
    2193 |27.71464333 |24.31129227
    2204 |27.85365887 |24.41696677
    2261 |28.57401212 |24.96219626
    2343 |29.61030977 |25.73966833
    2369 |29.93889195 |25.9844985
    2462 |31.11420515 |26.85364613
    2505 |31.65762952 |27.2520529
    2562 |32.37798277 |27.77683108
    2581 |32.61810052 |27.95091317
    2670 |33.74286261 |28.76078721
    2700 |34.1219959 |29.03172013
    2741 |34.64014472 |29.40033249
    2827 |35.72699348 |30.16730947
    2860 |36.1440401 |30.45939674
    2878 |36.37152007 |30.6182035
    2899 |36.63691337 |30.80301754
    2985 |37.72376213 |31.5547561
    2997 |37.87541544 |31.65899849
    3104 |39.2276575 |32.58150188
    3116 |39.37931082 |32.68418053
    3200 |40.44088402 |33.39856574
    3258 |41.17387505 |33.88740181
    3357 |42.4250149 |34.71352131
    3392 |42.86733707 |35.00310677
    3408 |43.06954149 |35.13506147
    3417 |43.18328147 |35.20916713
    3465 |43.78989473 |35.60297315
    3474 |43.90363472 |35.67654425
    3510 |44.35859466 |35.96999153
    3539 |44.72509018 |36.20540678
    3542 |44.7630035 |36.22971113
    3584 |45.29379011 |36.56899171
    3591 |45.38225454 |36.62536433
    3599 |45.48335675 |36.68972642
    3621 |45.76138783 |36.86638714
    3646 |46.07733223 |37.06654032
    3718 |46.98725213 |37.63944261[/table]
    A plot of the data:
    Posted Image
  • Now here's the fun part, figuring out how to arrive at B with A. I was first mislead by the patch notes into believing that the new formula would be similar to the armor and resistance forumlas, and that the results would be linear in terms of TTL, this was not the case. Then I tried the avoidance DR formula but that didn't work either. What we're looking for is something new. We notice that for values smaller then 1, the output is greater then the input, so for input of 1 the output is likely to also be 1. And after a few cups of coffee, I came up with:

    x'=100-100\times0.99^x

    where
    x' is the damage reduction after DR.
    x is the damage reduction before DR.

    When compared to the results from the in game API, its correct to the 4th decimal place.
  • Now the patch notes mentioned that a damage reduction of 32.5% in 4.0.6 should stay the same when in 4.1.0. So how much damage reduction before DR should we have for a 32.5% damage reduction after DR?
    Solve: 32.5=100-100\times0.99^x
    100\times0.99^x=67.5
    0.99^x=0.0675
    x\log(0.99)=\log(0.0675)
    x=\frac{\log(0.0675)}{\log(0.99)}=39.10740833
    Now when we divide 39.10740833 with 32.5 we get:
    39.10740833/32.5=1.203304872
    Which is why the resilience conversion value was divided by 1.203304 from 4.0.6 to 4.1.0!

Even after applying the new scaling formula, resilience still gives increasing returns in terms of survivability.

[table="head"]|{colsp=3}Before DR|{colsp=3}After DR
Resilience|Damage Reduction |Survivability|Survivability Increase|Damage Reduction| Survivability|Survivability Increase
20 |0.252755525 |1.00253396 |0.000127342 |0.253705169 |1.002543505 |0.000127499
40 |0.50551105 |1.005080794 | |0.506766674 |1.005093479 |
100 |1.263777626 |1.012799534 |0.000129966 |1.262105522 |1.012782382 |0.000128801
120 |1.516533151 |1.01539886 | |1.512608664 |1.015358399 |
220 |2.780310777 |1.028598227 |0.000134058 |2.755623352 |1.028337097 |0.000130779
240 |3.033066302 |1.031279388 | |3.002337478 |1.030952679 |
3646 |46.07733223 |1.854507652 |0.000442098 |37.06654032 |1.588979861 |0.000202748
3718 |46.98725213 |1.886338739 | |37.63944261 |1.603577713 | [/table]

Example:
The Survivability for 20 Resilience after DR is calculated as: 1/(1-0.253705169/100)=1.002543505
The Survivability increase of resilience from 20 to 40 after DR is calculated as: (1.005093479-1.002543505)/(40-20)
Hotdogee@Ner'zhul US <Bahamut>
Author of RatingBuster

#588 landsoul

landsoul

    Bald Bull

  • Members
  • 1,025 posts

Posted 03 September 2011 - 10:32 PM

Cataclysm Strength to Parry:

This is now 27% instead of 25% after agility to dodge was removed.

However, not all strength is allowed to be ocnverted. The Strength pool that is allowed to be converted is non-naked strength. For example a level 85 naked Worgen has 192 strength which is the amount that cannot be converted by the 27%. Any bonus from equipment, plate spec, buffs, etc. can be converted.
>--Coaching Site--< Private coaching / Warrior Resource
>--Stream--< Tues, Wed, 7 Eastern.

#589 Bharlin

Bharlin

    Glass Joe

  • Members
  • 18 posts

Posted 07 January 2012 - 09:59 AM

New to tanking and trying to understand how exactly DR on Parry/Dodge works. Let's assume a Paladin (85) has 20% Parry and 10% Dodge. According to \frac{1}{x'} = \frac{1}{c}+\frac{k}{x}} this would result in a DR value of 15.8% Parry. So let's say such Paladin parries the first attack. My understanding is, that his chance to parry the second attack will be 15.8% and to dodge the second attack would be still 10%. Is this correct so far? So now two scenarios:

1) The second attack again is parried. Parry then drops to 13,2% for the third attack, while dodge remains at 10%.

2) The second attack is dodged. Dodge drops to 9.02% - and parry? Does it go back to 20% or does it remain at 15.8% until an attack actually hits?

Now, let's say two in a row are parried and the third attack actually hits - is the parry chance for the fourth attack then back up to 20%?

#590 Astrylian

Astrylian

    Rawr

  • Members
  • 3,604 posts

Posted 07 January 2012 - 09:26 PM

No; DR is constant, there's nothing progressive about it.
Rawr!

#591 Bharlin

Bharlin

    Glass Joe

  • Members
  • 18 posts

Posted 08 January 2012 - 12:02 AM

No; DR is constant, there's nothing progressive about it.


Meaning what? Perhaps you could provide some more detail and use an example in your answer.

#592 Guest_AceRider_*

Guest_AceRider_*
  • Guests

Posted 08 January 2012 - 02:09 AM

Meaning what? Perhaps you could provide some more detail and use an example in your answer.


The diminishing returns on dodge and parry are not about how many times you are hit but about how many stats are required to get the same effect. A random number example would be that with 0 DR 100stat + 100stat will always mean you dodge/parry 1%, but with DR 100stat + 100stat would mean you dodge/parry 1.5% as the more you have of each the less gain you receive.

#593 sp00n

sp00n

    Bald Bull

  • Members
  • 1,836 posts

Posted 08 January 2012 - 01:48 PM

Random events in WoW don't have a memory, such things as the combat mechanic or boss loot aren't influenced by previous random events.
So you won't get punished for a lucky streak of swings (say crits, or dodges), but neither does the chance increase of that one item dropping for which you've been farming for the last three weeks. The chance to drop is just the same, only your probability of actually seeing it increases the more kills you invest (although sometimes it really does feel like the game just wants to mess with you).

The same is true for hits, crits and avoidance. You don't magically avoid less because the last 6 hits of that bad boss were all dodged by you lucky bastard.

Stopped Playing


#594 arison

arison

    King Hippo

  •  Patrons
  • 578 posts

Posted 13 July 2012 - 04:41 PM

Thread necro, I guess. Here are the 86-90 numbers currently in the beta as of build 15799.

[TABLE]Rating|Level 60*|Level 70&|Level 80*|Level 85*|Level 86|Level 87|Level 88|Level 89|Level90
Dodge|13.8|21.76154|45.25019|176.7189|335.00000|430.00000|545.00000|700.00000|885.00000
Parry|13.8|21.76154|45.25019|176.7189|335.00000|430.00000|545.00000|700.00000|885.00000
Block|6.9|10.88077|22.62509|88.35944|112.00000|143.00000|182.00000|233.00000|295.00000
Hit|9.37931|14.79045|30.75475|120.1088|130.00000|166.00000|211.00000|269.00000|340.00000
Spell Hit|8|12.61539|26.23199|102.44574|130.00000|166.00000|211.00000|269.00000|340.00000
Crit|14|22.07692|45.90599|179.28004|228.00000|290.00000|370.00000|470.00000|600.00000
Haste|10|15.76923|32.78999|128.05716|162.00000|208.00000|264.00000|336.00000|425.00000
Expertise|2.34483|3.69761|7.68869|30.0272|130.00000|166.00000|211.00000|269.00000|340.00000
Mastery|14|22.07692|45.90599|179.28004|228.00000|290.00000|370.00000|470.00000|600.00000[/TABLE]

Currently missing are PVP conversions (which I don't immediately have on hand).

It actually looks like the numbers changed at 85 and other levels as well, which isn't reflected above; 60-85 in this chart are current live values (borrowed from the OP) and 86+ are extracted from simcraft (which extracts them from the game's data files).

The consistent use of even numbers is a bit of a change from previous tiers, and generally is only true for 86+ (the new scaling factors at 85 are still non-integers, just different than they are now).
<Temerity> - Always recruiting. 12 hrs PST schedule - Valen#1972

#595 Hinalover

Hinalover

    Don Flamenco

  • Members
  • 307 posts
  • LocationVirginia

Posted 16 July 2012 - 03:50 PM

DR for cata

Verified by Theck over at Sacred Duty

All Agility based classes will have a 951.158596 Agility to Dodge rating at lvl 90. For Paladins, DKs, and Warriors, there is a 951.158596 Strength to Parry conversion at lvl 90. Monks will not have the Strength to Parry conversion.

[table="head"]|k|C_p|1/C_p|C_d|1/C_d
Warrior |0.885|235.5 |0.0042462845010616|65.631440 |0.01523660
Paladin |0.885|235.5 |0.0042462845010616|65.631440 |0.01523660
Death Knight|0.885|235.5 |0.0042462845010616|65.631440 |0.01523660
Monk |1.422|91 |0.010989010989011|505|0.001980198019802
Druid |1.222|N/A |N/A |150.3|0.0066533599467731[/table]

Paladin/DK/Warrior formulas

{totalDodge} = {baseDodge} + \left (\frac{1}{C_d}+\frac{k}{preDodge} \right )^{-1}

{totalParry} = {baseParry} + \frac{baseStr}{Q} + \left (\frac{1}{C_p}+\frac{k}{\frac{{totalStr}-{baseStr}}{Q} + {preParry}} \right )^{-1}

Monk/Druid

{totalDodge} = {baseDodge} + \frac{baseAgi}{a} + \left (\frac{1}{C_d}+\frac{k}{{preDodge}+\frac{{Agi}-{baseAgi}}{a}}\right )^{-1}

Monk Only

{totalParry}={baseParry}+ \left (\frac{1}{C_p}+\frac{k}{preParry}\right )^{-1}

All classes have a 3% dodge baseline. Monks also have a 8.01% parry rating. DK's, Paladin's, and Warriors have a 3% parry rating baseline (Prot Paladin's get an extra 2% parry from Sanctuary), and Pallies and Warriors have a 3% Block rating. Block Rating according the GC does not have a DR component to it.

#596 jekoh

jekoh

    Glass Joe

  • Members
  • 3 posts

Posted 20 July 2012 - 06:01 AM

New armor formula lvl85+ (from me)

DR = Armor / ( Armor + 4037.5*level - 317117.5 )




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users