summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Entities/Player.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp
index c5e6ef626..dd26f1491 100644
--- a/src/Entities/Player.cpp
+++ b/src/Entities/Player.cpp
@@ -825,6 +825,10 @@ void cPlayer::SetFlying(bool a_IsFlying)
bool cPlayer::DoTakeDamage(TakeDamageInfo & a_TDI)
{
+ SetSpeed(0, 0, 0);
+ // Prevents knocking the player in the wrong direction due to
+ // the speed vector problems, see #2865
+ // In the future, the speed vector should be fixed
if ((a_TDI.DamageType != dtInVoid) && (a_TDI.DamageType != dtPlugin))
{
if (IsGameModeCreative() || IsGameModeSpectator())