Trundle receives 75% more healing than intended from bork's and ravenous' hydra bonus damage
The same can happen with Olaf and just anyone having spirit visage, but with lower efficiency than Trundle can. (does not happen with Revitalize, Aatrox, or any other healing modifier that i know of)
If you thought Trundle and Olaf were healing for too much, you weren't wrong!
Now. Here's a video. https://youtu.be/zvPfpSkkFI8
AD is 359, initial lifesteal is 52, multipliers are 30% from spirit visage and 25% from Trundle's W, and i deal 120 damage with bork (could've done more if dummies had more hp and i didn't have to spam a command to do so). With all these i deal 359 + 120 = 479 dmg to the dummy and i was supposed to heal for 479 * 0.52 * 1.3 * 1.25 = 405 hp, but i heal for 506. Where does the extra hp come from?
And here comes the why and the math, you can either leave by reporting to riot that trundle gains more health than intended or stay and understand the math behind this so you're prepared the next time it or if happens.
Ok so, i'll just spoiler everything now, there're two reasons:
- Spirit Visage and Trundle W increase the lifesteal and spell vamp stats, instead of simply increasing their healing like Revitalize or Aatrox do (Aatrox does not increase spell vamp stat healing, but oh well)
- Spirit Visage and Trundle W together increase the stats recursively (like Jhin x Guinsoo did).
What does the first one mean? Let's think about how Revitalize works. Does not increase lifesteal stat, Checked, but does increase lifesteal healing. What does Bork and Ravenous Hydra do? They simply take the lifesteal stat, and apply it for their damage healing. Revitalize then increases this healing.
Now, what happens with Trundle W and Spirit Visage? They increase the lifesteal stat, Checked. That stat is grabbed by bork and Ravenous Hydra, and guess what? The final healing is amplified by Trundle W and Spirit Visage, effectively applying on the heal twice. (please do not try to confront me with wiki info, saying that it is intended, since i wrote that wiki info).
Okay so that's one. Now two. The way the game works, and should work, is for everything to stack recursively / recurringly (there're various posts around the net about the exact meaning of these two words, which i cannot clearly understand, but i will only use recursively since it's easier to write). This does not mean that the value reaches infinite, but that it keeps on increasing an infinite amount of times, effectively reaching a value that upon further increase, increases by such a low value that you can say that it does not increase. For example 1 /3 is 0.33 which goes forward with 33333 infinitely. May not be the best example, but just to get the idea.
Every mechanic in the game that does not stack recursively was special cased to be so. Jhin was special cased to stack multiplicatively with Guinsoo and additively with Dragon's multipliers. Other multipliers, like Master Yi used to, or Rengar passive still stacked / stack recursively with Dragon or Guinsoo. Here i'm talking about attack damage, but armor and mr do the same if not special cased, like conditioning with poppy passive or other multipliers. Some amplifiers (Riven R, Olaf R), are just bonuses, and not exactly amplifiers, since they give an amount of stat which doesn't further change if the stat changes, static bonuses you may call them, and so they're not affected by any of this stuff. Anyway, here i found a case where the same happens with lifesteal.
Based on what was said above, the healing should go like this, knowing that because of the recursion, lifesteal is amplified by 1 / (1 - 0.25 * 0.3) = 1 / 0.925 = 1.08 = 8%
base attack healing = 359 * 0.52 / 0.925 * 1.3 * 1.25 = 327.95
bork healing = 120 * 0.52 / 0.925 * 1.3 * 1.25 * 1.3 * 1.25 = 178.135
and with the both combined you get the magical number 506!
ps: the 75% in the title comes from the fact that bork should've only healed for:
120 * 0.52 * 1.3 * 1.25 = 101.4 * 1.75 = 177.45
pps: here i made the math with bork, but the same is applied for ravenous hydra.780 Read the full article on Reddit