Heroes of the Storm

Fixing decaying slows and CC reduction interaction.

HeroesoftheStorm 5 - Fixing decaying slows and CC reduction interaction.

For those unaware, there is currently a bug where CC reduction is applied multiple times to abilities that have decaying slows. Why is this? Because of the way decaying slows are done. They're not a single slow that changes its movespeed factor, no, it's a single small slow that has multiple stacks.

On the case shown yesterday, someone realized that Sonya's Wrath of the berserker (50% CC reduction) made her almost immune to Johanna's Punish. The specifics of this issue is that Punish is 6 stacks of a 10% slow. So now, when you apply a 2 second slow with 6 stacks, Wrath reduces it by 50% (1s) for the first stack, 50% (0.5s) for the second stack, 50% (0.25s) for the third stack… until the 6th stack lowers it to 0.03125s. This is even worse if you have Subdue, as that makes it have 8 stacks for a duration of 0.0078125s.

So today I started trying to make the change needed for the ability, at first I thought to make it the most unelegant way possible: just check if you have 50% CC reduction and increase the duration from 2 to 64 seconds and forcing the stack removal to be 0.16125 instead. But that's not good enough. Specifically because it'll currently need 2 different cases for 50% and 75%, but if they wanted to create different percentages it'll create a ton of code debt.

The final solution? Make Punish only apply a 60% slow. At the end of the slow, apply a 50% slow. At the end of that slow, apply a 40% slow, etc.


Now, someone with a keen eye could see an issue with that implementation. What happens if you Punish Imperius and he cleanses the slow immediately afterwards? Well, you'll lose the 60% slow immediately, but the 50%-40%-etc would continue as normal. So what did I do to fix that? Make Punish apply two different slows, but the second one does not change your movespeed at all. So now if a player uses a slow cleanse on the target, since the second slow gets removed, make all the other applications check for that second slow to be present, and if it isn't, do not apply the next step of the decaying slow.

Read:  Information for returning/ new players interested in HOTS

TL;DR: The current effect of decaying slows makes CC reduction effects basically immune to them. It currently works like this, and I fixed it with this code.

If you fail to see what's the difference look at the character sheet, specifically the MS turning red. On the first clip the slow is a blink and you'll miss it, while on the second one it lasts for 1 second as it should.

Source: Original link

© Post "Fixing decaying slows and CC reduction interaction." for game Heroes of the Storm.

Top 10 Most Anticipated Video Games of 2020

2020 will have something to satisfy classic and modern gamers alike. To be eligible for the list, the game must be confirmed for 2020, or there should be good reason to expect its release in that year. Therefore, upcoming games with a mere announcement and no discernible release date will not be included.

Top 15 NEW Games of 2020 [FIRST HALF]

2020 has a ton to look forward to...in the video gaming world. Here are fifteen games we're looking forward to in the first half of 2020.

You Might Also Like

Leave a Reply

Your email address will not be published. Required fields are marked *