So ever since it was mentioned that Dark harvest stacks amplify the power of all keystones, it definitely catched my interest but I couldn’t find any information on it anywhere so I decided to do the math myself. I’ll add all the details in the end, like math formulas, charts and examples.
Some might think that I’m crazy to waste so much time on useless keystone but I’m optimistic that eventually it will be a viable keystone; I'll drop a separate post in the next couple days on an interesting and fairly simple idea concept which would solve the core problems omnistone has without ruining it’s identity.
For those who don’t know, I am challenger TF main on EUW and I’ll be testing the worst keystone in league history at twitch.tv/jebsu1v9
Quick rundown of how it works:
Dark Harvest (DH)
On top of amplifying the power of all other keystones, every DH stack increases it’s damage by 5 like normally; no other effects.
Conqueror
Every DH stack increases Conqueror’s base power by 2,5% (both AP and AD). 15% healing at 10 stacks doesn’t increase.
Aftershock
Every DH stack increases base resist buff by 2,5% and also the item bonus resist percentage (80%) by 2,5%.
Aftershock’s damage gets increased by 3,75 for each DH stack.
Grasp of the Undying
Every DH stack increases damage and healing multipliers by ~ 3,333334%. (Check details for more information.)
Every DH stack increases permanent health gain on each grasp proc by 5%, previous ones too. (That’s why it might seem like DH stacks would increase maximum health sometimes.)
Phase Rush
Each DH stack increases base movement speed bonus and base slow resist (75%) by 5%.
Lethal Tempo
Every DH stack increases base attack speed percentage by 5%.
Glacial Augment
Every DH stack increases base slow percentage by 2,5%.
Fleet Footwork
Every DH stack increases healing by 5 and also the 1 second MS bonus by 5%.
Hail of Blades
Every DH stack increases base attack speed percentage by 5%.
PTA
Every DH stack increases damage by 10. Exposure percentage doesn’t increase.
Predator
Every DH stack increases damage by 5. Bonus MS percentage doesn’t increase.
Summon Aery
Every DH stack increases damage and shielding by 5.
Electrocute
Every DH stack increases damage by 5.
Comet
Every DH stack increases damage by 5.
Omnistone’s “smart” logic
Probability to roll a ‘priority’ keystone is around 5% ~ higher compared to the non-priority keystones, at around 11,5% - 12,5% depending on how many keystones are available & prioritized based on 5000 rolls with different setups.
I can’t say for sure how it is calculated or if it’s always some flat value (11,5%, 12%, 12,5% etc.), but formula below seems to give very accurate values.
(100 - (5 x amount of priority runes)) / amount of keystones = probability for non-priority keystones
probability for non-priority keystones + 5 = probability for priority keystone
Example with 2 priority keystones: (100 - (5 x 2) / 14 = 90 / 14 = 6,429% ~ (non-priority) + 5 = 11,429% ~ (priority)
I’ll try to answer to all comments and questions, you can dm them on twitter too. twitter.com/Jebsu1v9
Details, charts, math formulas and examples for skeptics and brave souls :)
I don’t expect almost anyone to read this part through but it had to be done for credibility and to show that the math actually works. I spent probably closer to 150 hours on this project, mostly on double checking the numbers so all of this is based on huge amount of data and not just couple runs in practice tool. I had to figure out some of the key game mechanics because most data in practice tool was very inconsistent and wouldn’t had formed a clear pattern.
All stats are rounded down before point 5 mark (75,499 ~ 75) and rounded up after they reach point 5 mark (75,5 ~ 76) except health, which rounds up at any decimal rate (3400,01 ~ 3401).
Damage texts are rounded down in every scenario at any decimal rate (73,999 ~ 73).
Even though most stats are rounded, the decimal values remain same so they have to be taken in account whenever doing calculations.
Most of the formulas on league wiki page are rounded to 3 decimals which can result in calculation errors but very rarely, practically less than 1/1000.
(AP) Conqueror
The single stack value formulas on official wiki page are incorrect, mostly because everything on the site is rounded on 3 decimals. AP stack formula is 1,824 + 0,176 x level on site and there were ton of mistakes with it but the formula shown on 10 stacks is 18,235 + 1,765 x level and dividing it by 10 to get the single stack value formula ended up giving the correct values in 99,999% of the cases. I am also 100% positive that it runs even deeper than that based on what I found but that is irrelevant here. Bottom line is that the base values are increased by 2,5% for each DH stack.
(SS from official wiki page how "same" formulas are different: https://gyazo.com/8152077d10bca3fa4ea896a44a6c9d52)
(wrong formula vs ‘right’ formula: https://gyazo.com/9fb0b536fa0e3c0ec443bc8690f5ffac)
Stack base value: 1,8235 + 0,1765 x level (Leaguepedia)
Math formula: (Conqueror stack + (Conqueror stack x 0,025 x DH stacks)) x amount of stacks
Chart: (not rounded) https://gyazo.com/366c2d58876a829cfea3d5a54214d669
(AD) Conqueror
Stack base value: 1.0941 + 0.1059 x level (Leaguepedia)
Since most champions don’t have a flat base AD, I had to take the decimals into account to form a pattern and even if they had flat base AD, it changes on every champion in the game as they level up. The difference can be very small but it can ruin the correct pattern and calculation.
Math formula: (stack base value + stack base value x 0,025 x DH stacks) x amount of stacks
Chart: (not rounded) https://gyazo.com/cf9e836efdd5a20290f54d1e0a5e787b
Aftershock
Every DH stack increases Aftershock’s base resist buff by 2,5% and also the item bonus resist percentage (80%) by 2,5%.
Base value is 35 for both armor and MR.
Math formulas: base resist bonus: 35 + (35 x 0,025 x DH stacks)
bonus resists from items: resists from items x (0,80 + (0,80 x 0,025 x DH stacks))
Example: Level 16 Kennen, 83,28 + 40 bonus armor & 37,24 + 25 bonus MR, 4 DH stacks
armor: 35 + (35 x 0,025 x 4) + (40 x (0,80 + 0,80 x 0,025 x 4)) = 73,7 armor (+ 123,28 armor = 197,98 ~ total 198 armor)
MR: 35 + (35 x 0,025 x 4) + (25 x (0,80 + 0,80 x 0,025 x 4)) = 60,5 MR (+ 62,24 MR = 122,74MR ~ total 123 MR)
Bonus resistances are capped at 80 - 150 depending on your level.
Aftershock’s damage base damage: 19,412 + 5,588 x level + 8% of bonus health. (Leaguepedia)
The damage based on different total health amounts didn’t increase in any way no matter how many stacks I had so it can only be that the pattern is 3,75 damage flat per DH stack. I have no idea why it is like that considering how other keystones work but it just seems to be right.
Grasp of the Undying
It is impossible to pin-point the absolute correct value because of total health limitations but I managed to narrow it down to 5 decimals, between 0,033333...34 < [multiplier] > 0,03333342. I’ll be using 0,0333334 as the multiplier since I didn’t find single mistake with it out of hundreds of different calculations. Riot probably had some kind of simple way to calculate the final variable like 0,04 / 3 or 0,024 / 3 but I can’t say for sure. Likely there is a mistake but it would be lower than 0,000001 and practically it won’t affect the outcome. I don’t know why it has very different formula compared to other keystones but it just seems to work no matter what health total I pick with different amounts of DH stacks.
How I arrived at the numbers above: https://gyazo.com/753297461256ba213eab109999e107fd
Healing values fluctuate a lot because sometimes the bonus health is added before the healing text so instead of healing 47, it might show that grasp healed only 42. Also health regen seems to affect the numbers because I did a run without single DH stack (so only flat values on grasp) and it would still fluctuate like that. I got values like 46, 51, 52, 46, 51 in row; the bigger jumps are from permanent health ‘bug’ and smaller (52 - 51) changes can be explained only with health regen but it is always ½ of the damage dealt so it’s easy to calculate and all the data supports that.
[Melee] Damage (4%) and healing (2%) percentages are increased by ~ 3,33334% for each DH stack.
Math formulas: Damage: total health x (0,04 + (0,04 x 0,0333334 x DH stacks))
Healing: total health x (0,02 + (0,02 x 0,0333334 x DH stacks))
Example: Level 11 Amumu, base health 1350,22 (+ 2000 health), 3 DH stacks & 10 grasp procs
total health: (1350,22 + 2000 + 10 x (5 + (5 x 0,05 x 3)) = 3407,72
damage vs 0 resists: 3407,72 x (0,04 + (0,04 x 0,0333334 x 3) = 149,93... ~ 149
damage vs target dummy (50% resists): 149,9397072618 / 2 = 74,96... ~ 74
Every DH stack increases permanent health gain on each grasp proc by 5%, previous ones too.
Math formulas: Grasp bonus health: 5 + (5 x 0,05 x DH stacks)
DH stack bonus heath: grasp proc amount x (5 x 0,05)
Total bonus health: grasp proc amount x (5 + (5 x 0,05 x DH stacks))
example: https://gyazo.com/2304fa6942dfb9753cb7650659017612
[Ranged] Damage (2,4%) and healing (1,2%) percentages are increased by ~ 3,33334% for each DH stack.
Math formulas: Damage: total health x (0,024 + (0,024 x 0,0333334 x DH stacks))
Healing: total health x (0,012 + (0,012 x 0,0333334 x DH stacks))
Example: Level 16 Teemo, 1830,75 base health (+ 1300 health), 6 DH stacks & 6 grasp procs
total health: 1830,75 + 1300 + 6 x (3 + (3 x 0,05 x 6) = 3154,15
damage vs 0 resists: 3154,15 x (0,024 + (0,024 x 0,0333334 x 6)) = 93,71... ~ 93
damage vs target dummy (50% resists): 93,7195512398 / 2 = 46,85... ~ 46
Every DH stack increases permanent health gain on each grasp proc by 5%, previous ones too.
Math formulas: Grasp bonus health: 3 + (3 x 0,05 x DH stacks)
DH stack bonus heath: grasp proc amount x (3 x 0,05)
Total bonus health: grasp proc amount x (3 + (3 x 0,05 x DH stacks))
example: https://gyazo.com/02a5f89b17206a0aaf4b493db0fe542d
Phase Rush
Base value: 24,118% + 0,882% x level (25 - 40%, Leaguepedia)
There are two soft caps for high ms values, they are applied only after slows (Leaguepedia);
1st soft cap: when MS is 415 ≤ but ≤ 490, the soft cap formula is (raw MS x 0,8 + 83)
2nd soft cap: when MS is 490 <, the soft cap formula is (raw MS x 0,5 + 230)
Math formulas (MS): base MS x (1 + phase rush bonus + (phase rush bonus x DH stacks x 0,05))
(Slow resist): 1 - (slow percentage - (slow percentage x (0,75 + 0,75 x DH stacks x 0,05))
(Full formula): (base MS x (1 + phase rush bonus + (phase rush bonus x DH stacks x 0,05)) x (1 - (slow percentage - (slow percentage x (0,75 + 0,75 x 0,05 x DH stacks)) and x 0,8 + 85 if the MS is 415 ≤ but ≤ 490 or x 0,5 + 230 if the MS is 490 <
When slow resist goes over 100%, slows start to give you more MS based on the slow percentage instead of slowing you.
MS bonus chart: (rounded) https://gyazo.com/54f8738ea2a5019143b09e0260d4655e
Basic MS calculation example: Level 7, 355 base MS, 6 DH stacks
Raw MS: 355 x (1 + 0,30292 + (0,30292 x 0,05 x 6) = 494,79758 (because raw MS is over 490, we use 2nd soft cap) 494,79758 x 0,5 + 230 = 477,39... ~ 477 (final MS)
Example with slow resists and 1st soft cap: Level 13, 335 base MS, 5 DH stacks, 15% slow
335 x (1 + 0,35584 + (0,35584 x 5 x 0,05)) x (1 - (0,15 - (0,15 x (0,75 + 0,75 x 5 x 0,05))) =
335 x (1 + 0,35584 + 0,08896)) x (1 - (0,15 - (0,15 x 0,9375))) =
335 x 1,4448) x (1 - (0,15 - 0,140625)) = 484,008 x (1 - 0,009375) =
484,008 x 0,990625 = 479,470425 (raw MS) (484 ms before slows and slow resists)
soft cap applied: 479,470425 x 0,80 + 83 = 466,57... ~ 467 (final MS)
Example with slow resists and 2nd soft cap: Level 15, 370 base MS, 8 DH stacks, 30% slow
Raw MS: 370 x (1 + 0,37348 + (0,37348 x 0,05 x 8)) x (1 - (0,3 - (0,3 x (0,75 + 0,75 x 8 x 0,05)))) =
370 x (1 + 0,37348 + 0,149392) x (1 - (0,3 - (0,3 x 1,05))) =
370 x 1,522872 x (1 - (0,3 - 0,315)) = 563.46264 x (1 - (-0,015)) =
563.46264 x 1,015 = 571,9145796 (raw MS) (563 ms before slows and slow resists)
soft cap applied: 571,9145796 x 0,5 + 230 = 515,95... ~ 516 (final MS)
Lethal Tempo
Base value: 35,882% + 4,118% x level (40% - 110%, Leaguepedia)
Math formula: (LT’s base AS + (LT’s base AS x 0,05 x DH stacks)
Chart: (rounded) https://gyazo.com/e05e5412e22dbdc8091f761a6bfc8074
Hail of Blades
Math formula: 110% x ( 1 + DH stacks x 0,05)
Basically you get extra 6,5% AS added to 110% for each DH stack, simple.
Glacial Augment
Every DH stack increases base slow percentage by 2,5%.
Slow soft cap: If rawMS is below 220, then slow soft cap is applied (rawMS x 0,5 + 110, Leaguepedia)
Base values: [Melee] 44,412% + 0,588% x level (45 - 55%, Leaguepedia)
[Ranged] 29,412% + 0,588% x level (30 - 40%, Leaguepedia)
Slow from item actives is always 60%.
Slow is calculated after raw MS but before applying any soft caps (if needed).
Math formula: enemy rawMS x (1 - (base value + base value x 0,025 x DH stacks)) if MS drops below 220 then x 0,5 + 110
Example: Level 14 Nunu (Melee), 5 DH stacks, target has 375 MS.
375 x (1 - (0,52644 + 0,52644 x 0,025 x 5)) = 375 x (1 - (0,52644 + 0,065805)) =
375 x (1 - 0,592245) = 375 x 0,407755 = 152,908125 (rawMS) and because rawMS is below 220, we apply soft cap --> 152,908125 x 0,5 + 110 = 186,454… ~ 186 (final MS)
Fleet Footwork
Every DH stack increases healing by 5 and also the 1 second MS bonus by 5%.
Base MS bonus is always 20%
Math formula: 0,2 + (0,2 x 0,025 x DH stacks) and soft caps if needed
Rest of the keystones didn’t have anything else other than flat damage added for each DH stack.
Like I mentioned before, I used so much time on double-checking the values and I’m sure that it is all at least 99,99% correct BUT in case there is something that could be improved in some way, for example simpler math solution / formula or even in the way I wrote or organized this post, hit me up and I’ll adjust / fix it.
External link →