From c4ce6a33c211739b7646d91655daeaeb764922e4 Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Wed, 29 Oct 2025 21:14:45 -0400 Subject: [PATCH] No partial start awards or splits in Free Play --- src/p_spec.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/p_spec.c b/src/p_spec.c index 3e7e8219d..dbc06d1a7 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -2069,23 +2069,30 @@ static void K_HandleLapIncrement(player_t *player) if (!G_TimeAttackStart() && !(gametyperules & GTR_ROLLINGSTART) && player->laps == 1 && lapisfresh) { + boolean setupsplits = false; + if (rainbowstartavailable) { // CONS_Printf("%d: %s gimme first blood\n", leveltime, player_names[player - players]); player->pflags2 |= PF2_GIMMEFIRSTBLOOD; + setupsplits = true; } - else if (!K_InRaceDuel()) + else if (!K_InRaceDuel() && M_NotFreePlay()) { // CONS_Printf("%d: %s gimme start award\n", leveltime, player_names[player - players]); player->pflags2 |= PF2_GIMMESTARTAWARDS; + setupsplits = true; } - player->karthud[khud_splitcolor] = 0; - player->karthud[khud_splitposition] = 1; - player->karthud[khud_splitskin] = -1; - player->karthud[khud_splittime] = (INT32)(starttime - leveltime); - player->karthud[khud_splittimer] = 2*TICRATE; - player->karthud[khud_splitwin] = (rainbowstartavailable) ? 2 : 0; + if (setupsplits) + { + player->karthud[khud_splitcolor] = 0; + player->karthud[khud_splitposition] = 1; + player->karthud[khud_splitskin] = -1; + player->karthud[khud_splittime] = (INT32)(starttime - leveltime); + player->karthud[khud_splittimer] = 2*TICRATE; + player->karthud[khud_splitwin] = (rainbowstartavailable) ? 2 : 0; + } } if (rainbowstartavailable == true && player->mo->hitlag == 0 && G_TimeAttackStart())