diff --git a/src/k_kart.c b/src/k_kart.c index e0d83fa70..0d87dbe12 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -2155,7 +2155,8 @@ static void K_GetKartBoostPower(player_t *player) if (player->kartstuff[k_draftpower] > 0) // Drafting { - fixed_t draftspeed = ((3*FRACUNIT)/10) + ((player->kartspeed-1) * (FRACUNIT/50)); // min is 30%, max is 46% + // 30% - 44%, each point of speed adds 1.75% + fixed_t draftspeed = ((3*FRACUNIT)/10) + ((player->kartspeed-1) * ((7*FRACUNIT)/400)); speedboost += FixedMul(draftspeed, player->kartstuff[k_draftpower]); // (Drafting suffers no boost stack penalty.) numboosts++; } @@ -2183,10 +2184,10 @@ fixed_t K_GetKartSpeedFromStat(UINT8 kartspeed) { const fixed_t xspd = (3*FRACUNIT)/64; fixed_t g_cc = K_GetKartGameSpeedScalar(gamespeed) + xspd; - fixed_t k_speed = 144; + fixed_t k_speed = 148; fixed_t finalspeed; - k_speed += kartspeed*6; // 150 - 198 + k_speed += kartspeed*4; // 152 - 184 finalspeed = FixedMul(k_speed<<14, g_cc); return finalspeed; @@ -2228,10 +2229,9 @@ fixed_t K_GetKartSpeed(player_t *player, boolean doboostpower) fixed_t K_GetKartAccel(player_t *player) { - fixed_t k_accel = 32; // 36; + fixed_t k_accel = 121; - //k_accel += 3 * (9 - player->kartspeed); // 36 - 60 - k_accel += 4 * (9 - player->kartspeed); // 32 - 64 + k_accel += 17 * (9 - player->kartspeed); // 121 - 257 if (player->spheres > 0) { @@ -2239,7 +2239,7 @@ fixed_t K_GetKartAccel(player_t *player) k_accel = FixedMul(k_accel, FRACUNIT + (sphereAdd * player->spheres)); } - return FixedMul(k_accel, FRACUNIT+player->kartstuff[k_accelboost]); + return FixedMul(k_accel, (FRACUNIT + player->kartstuff[k_accelboost]) / 4); } UINT16 K_GetKartFlashing(player_t *player)