Dota2-Gameplay
Dota2-Gameplay copied to clipboard
Movement speed bonuses gets applied twice during slows
Description
If a hero say; Razor has his storm surge on lvl 4 giving him 24% extra movement speed together with boots his movement speed total is 415. That is base 290 + 45 (boots) 335 + 24% = 415. Now let's say Razor gets slowed by drow frost arrow, which should slow for 55% ms, there are now 2 different ways to how this interaction should go. Either drow should slow razor on his 335 ms setting his ms to 150,75 and afterwards applying a 24% movement speed buff giving razor 187ms. Or Drow should slow Razor for 55% from his 415ms putting him also at 187ms. Now here is where the bug comes in, neither of these are the case. Instead Drow slows Razor from 415ms to 187ms, then razor gets his 24% buff and lands on 231ms which would mean Razors movement speed buff got applied twice whilst he is being slowed.
Example Match ID (and possibly Timestamp)
No response
Screenshots
https://dota2.fandom.com/wiki/Movement_speed#Total_Movement_Speed Example 2 in the wiki should explain it well enough. I'm too stupid to properly explain the formulas in there but the theory should be pretty simple.
Movement speed modifiers aren't applied separately, they're added to eachother. Razor gets a 24% movement speed increase, and a 55% movement speed decrease, overall a 31% movement speed decrease. (290+45)*(1+0.24-0.55) = 231.15
If I read what you did correctly, you should have done (290+45)* (1+0.24)* (1-0.55)*(1+0.24) = 231.7932. Try any other movement slow and it should be way off. An easy way to see that its all done at the same time is apply a 100% movement speed slow (scatterblast, mag shard) to a Razor with level 4 passive and phase boots on. He'll have more than 100ms.
Movement speed buffs/debuffs stack additively, not multiplicatively, which is why your maths is off.
Getting +25% ms buff and then getting hit by a 25% ms slow will give you a net +-0% movespeed change.