Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » Public Discussion

Reply
 
LinkBack Thread Tools
Old 01/13/11, 6:21 PM   #576
Jothay
Suit Up
 
Jothay's Avatar
 
Human Warrior
 
Stormrage
Originally Posted by Whitetooth View Post
Armor Reduction Formula for level 81 and up
The armor reduction formula has also been changed for levels 81 and up.
  • Level 81 and up:
    DR=\frac{Armor}{Armor + 2167.5 \times  Level - 158167.5}
  • Level 60 to 80:
    DR=\frac{Armor}{Armor + 467.5 \times  Level - 22167.5}
  • Level 1 to 59:
    DR=\frac{Armor}{Armor + 85 \times  Level + 400}
I'm seeing the new 2167.5*TL-158167.5 formula everywhere but I don't see it's expanded form, anyone know what it is?

Pre-Cata it was:
400 + 85*TL + 4.5*85*(TL-59) = 467.5*TL - 22167.5

and if you just straight extrapolate the values it could now be:
53960.5 + 394.36*TL + 4.5*394.36*(TL-59) = 2167.5*TL - 158167.5
or
45095.5 + 394.36*TL + 4.5*394.36*(TL-64) = 2167.5*TL - 158167.5
or something totally different

Come see the Rawr Project for all World of Warcraft Classes and Specs!
- Astrylian: Project Coordinator, Bear & Cat Dev
- Jothay: Project Coordinator & Arms Warrior Dev

Offline
Reply With Quote
Old 01/13/11, 6:59 PM   #577
Hinalover
Piston Honda
 
Hinalover's Avatar
 
Draenei Mage
 
Windrunner
Well, after doing some reading into the LibStatLogic-1.2.lua file in Rating Buster, I think I found the lines of coding your looking for. This is found in the "GetReductionFromArmor(armor, attackerLevel)" section of the file:

local levelModifier = attackerLevel
  if ( levelModifier > 80 ) then
    levelModifier = levelModifier + (4.5 * (levelModifier - 59)) + (20 * (levelModifier - 80));
  elseif ( levelModifier > 59 ) then
    levelModifier = levelModifier + (4.5 * (levelModifier - 59))
  end
  local temp = armor / (85 * levelModifier + 400)
  local armorReduction = temp / (1 + temp)
  -- caps at 0.75
  if armorReduction > 0.75 then
    armorReduction = 0.75
  end

United States Offline
Reply With Quote
Old 02/28/11, 6:43 PM   #578
aggixx
Von Kaiser
 
Blood Elf Paladin
 
Hyjal
Was working on a spreadsheet to calculate some DR numbers, and noticed a problem.

Using the avoidance formula:

\frac{1}{x'} = \frac{1}{c}+\frac{k}{x}}

With a value of 9.27% and DK constants:

\frac{1}{x'} = \frac{1}{65.631440}+\frac{0.9560}{0.0927}}

Solving the equation for x' yields (rounded to the 5th decimal):

x' = 0.09682

Which is greater than the original 9.27% I started with.

I don't see it being noted anywhere (in this thread, on wowpedia) that DR is inverted at certain points. Is this an error with my math, or am I just wrong?

United States Offline
Reply With Quote
Old 03/01/11, 7:25 AM   #579
Tharia
Piston Honda
 
Tharia's Avatar
 
Tauren Paladin
 
Mal'Ganis (EU)
You need to put in 9.27 for x instead of 0.0927, then x' = 8.45

Offline
Reply With Quote
Old 03/01/11, 3:27 PM   #580
aggixx
Von Kaiser
 
Blood Elf Paladin
 
Hyjal
Originally Posted by Tharia View Post
You need to put in 9.27 for x instead of 0.0927, then x' = 8.45
Thanks, that would explain it.

Maybe it would be worth (subtly) clarifying it in the OP? Unless I am mistaken, percentages are usually stated as 1 being 100%, etc.

United States Offline
Reply With Quote
Old 03/09/11, 9:13 PM   #581
Wani
Glass Joe
 
Wani's Avatar
 
Draenei Warrior
 
Dath'Remar
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?

New Zealand Offline
Reply With Quote
Old 03/21/11, 11:15 AM   #582
imunenjuneer
Glass Joe
 
Human Paladin
 
Cenarius
message deleted by author

Last edited by imunenjuneer : 03/24/11 at 2:26 PM.

Offline
Reply With Quote
Old 04/12/11, 12:36 AM   #583
Cards
Glass Joe
 
Troll Druid
 
Tichondrius
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.

Offline
Reply With Quote
Old 04/12/11, 6:01 AM   #584
 sp00n
banned
 
Night Elf Rogue
 
Wrathbringer (EU)
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.


Offline
Reply With Quote
Old 04/13/11, 9:18 PM   #585
Cards
Glass Joe
 
Troll Druid
 
Tichondrius
Originally Posted by sp00n View Post
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.

Offline
Reply With Quote
Old 04/14/11, 4:23 AM   #586
 sp00n
banned
 
Night Elf Rogue
 
Wrathbringer (EU)
Originally Posted by Cards View Post
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.


Offline
Reply With Quote
Old 04/22/11, 3:26 PM   #587
Whitetooth
Piston Honda
 
Whitetooth's Avatar
 
Orc Warlock
 
Ner'zhul
4.1 Resilience Diminishing Returns(DR) Machanics
Originally Posted by 4.1 Patch Notes
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.
  1. 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.
  2. 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:
    RatingLevel 60Level 70Level 80Level 81Level 82Level 83Level 84Level 85
    Resilience(Player Damage Taken) (4.0.6)9.5833315.1121831.4237439.2235948.9594761.1119576.2808695.21492
    Resilience(Player Damage Taken) (4.1.0)7.9641812.558926.1145332.5965540.6875150.7867663.392879.12785
    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.
  3. 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:
    ResilienceDamage Reduction before DRDamage 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
    A plot of the data:
  4. 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.
  5. 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.

 Before DRAfter DR
ResilienceDamage Reduction SurvivabilitySurvivability IncreaseDamage Reduction SurvivabilitySurvivability 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

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)

Last edited by Whitetooth : 04/22/11 at 6:53 PM.

Hotdogee@Ner'zhul US <Bahamut>
Author of RatingBuster

Offline
Reply With Quote
Old 09/03/11, 6:32 PM   #588
landsoul
Myrmidon Champion
 
landsoul's Avatar
 
Worgen Warrior
 
Alterac Mountains
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.

Offline
Reply With Quote
Old 01/07/12, 4:59 AM   #589
Bharlin
Glass Joe
 
Dwarf Priest
 
Die Silberne Hand (EU)
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%?

Offline
Reply With Quote
Old 01/07/12, 4:26 PM   #590
Astrylian
Rawr
 
Astrylian's Avatar
 
Night Elf Druid
 
Stormrage
No; DR is constant, there's nothing progressive about it.

Rawr!

Offline
Reply With Quote
Old 01/07/12, 7:02 PM   #591
Bharlin
Glass Joe
 
Dwarf Priest
 
Die Silberne Hand (EU)
Originally Posted by Astrylian View Post
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.

Offline
Reply With Quote
Old 01/07/12, 9:09 PM   #592
AceRider
Von Kaiser
 
Blood Elf Mage
 
Chamber of Aspects (EU)
Originally Posted by Bharlin View Post
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.

Last edited by AceRider : 01/08/12 at 6:40 AM.

I used to be an Arcane Mage, then I took a Fireball to the knee.

Great Britain Offline
Reply With Quote
Old 01/08/12, 8:48 AM   #593
 sp00n
banned
 
Night Elf Rogue
 
Wrathbringer (EU)
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.


Offline
Reply With Quote
Reply

Go Back   Elitist Jerks » Public Discussion

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Warrior]Ratings Equivalence Opposite Class Mechanics 7 04/23/07 8:21 PM
Rogue - Dodge vs. Parry Talents, One Roll Combat Theory, Combat Sword Spec Questions tok3n Class Mechanics 30 04/12/07 1:15 PM
Ratings Necrotoid Public Discussion 37 03/07/07 2:08 PM
Ratings: what did they accomplish? Hamlet Public Discussion 39 11/30/06 7:00 AM
BWL boss ratings Anglakel Public Discussion 29 09/16/05 11:12 PM