diff --git a/src/k_kart.c b/src/k_kart.c index 41af9754..90743918 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -1460,6 +1460,9 @@ fixed_t K_GetKartSpeed(player_t *player, boolean doboostpower) UINT8 kartspeed = player->kartspeed; fixed_t finalspeed; + if (doboostpower && !player->kartstuff[k_pogospring] && !P_IsObjectOnGround(player->mo)) + return (75*mapheaderinfo[gamemap-1]->mobj_scale); // air speed cap + switch (gamespeed) { case 0: diff --git a/src/p_user.c b/src/p_user.c index 106b3645..9d196268 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -4901,7 +4901,7 @@ static void P_3dMovement(player_t *player) if (newMagnitude > K_GetKartSpeed(player, true)) //topspeed) { fixed_t tempmomx, tempmomy; - if (oldMagnitude > K_GetKartSpeed(player, true)) //topspeed) + if (oldMagnitude > K_GetKartSpeed(player, true) && onground) // SRB2Kart: onground check for air speed cap { if (newMagnitude > oldMagnitude) {