diff --git a/src/k_kart.c b/src/k_kart.c index ebbcf1e53..f20102860 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -6347,7 +6347,17 @@ static void K_RaceStart(player_t *player) if (player->boostcharge == 0) player->boostcharge = player->cmd.latency; - player->boostcharge++; + // RA ez charge for less annoying starts. + if (modeattacking != ATTACKING_NONE) + { + // Let players choose between startboost and sneaker boost by holding item. + if (player->cmd.buttons & BT_ATTACK) + player->boostcharge = min(player->boostcharge++, 37); + else + player->boostcharge = min(player->boostcharge++, 36); + } + else + player->boostcharge++; } else player->boostcharge = 0; diff --git a/src/p_map.c b/src/p_map.c index e52094d27..0eedeebb6 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -3479,7 +3479,7 @@ static void P_BouncePlayerMove(mobj_t *mo, TryMoveResult_t *result) mmomx = mo->player->rmomx; mmomy = mo->player->rmomy; - if (!cv_kartbumpspark.value || modeattacking != ATTACKING_NONE) + if (!cv_kartbumpspark.value && modeattacking == ATTACKING_NONE) { mo->player->drift = 0; mo->player->driftcharge = 0; @@ -3488,7 +3488,7 @@ static void P_BouncePlayerMove(mobj_t *mo, TryMoveResult_t *result) // Regardless of bumpspark, tell bots to stop drifting if they bonk a wall. K_BotSetDriftState(mo->player, DRIFTSTATE_AUTO, TICRATE); - if (!cv_kartbumpspring.value || modeattacking != ATTACKING_NONE) + if (!cv_kartbumpspring.value && modeattacking == ATTACKING_NONE) { mo->player->pogospring = 0; }