diff --git a/src/k_kart.c b/src/k_kart.c index 40d1ff0a2..f435ae9e4 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3445,6 +3445,8 @@ boolean K_WaterRun(mobj_t *mobj) case MT_PLAYER: { + fixed_t minspeed = 0; + if (mobj->player == NULL) { return false; @@ -3455,11 +3457,18 @@ boolean K_WaterRun(mobj_t *mobj) return K_IsHoldingDownTop(mobj->player) == false; } + minspeed = 2 * K_GetKartSpeed(mobj->player, false, false); // 200% + + if (mobj->player->speed < minspeed / 5) // 40% + { + return false; + } + if (mobj->player->invincibilitytimer || mobj->player->sneakertimer || mobj->player->tiregrease || mobj->player->flamedash - || mobj->player->speed > 2 * K_GetKartSpeed(mobj->player, false, false)) + || mobj->player->speed > minspeed) { return true; }