From 0dd359ba5a957c31d75e7bea98cef132b554a3d7 Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 23 Feb 2024 22:54:32 -0800 Subject: [PATCH] Respawn: don't let Ring Shooter send you behind the finish line Because lap decrement does not happen when respawning, this would you skip a lap. --- src/k_respawn.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/k_respawn.c b/src/k_respawn.c index 3fd1283ca..cf8b92965 100644 --- a/src/k_respawn.c +++ b/src/k_respawn.c @@ -178,8 +178,10 @@ void K_DoIngameRespawn(player_t *player) { if (player->respawn.fromRingShooter == true) { + waypoint_t *finishline = K_GetFinishLineWaypoint(); waypoint_t *prevWP = player->respawn.wp; - while (prevWP->numprevwaypoints > 0) + // Laps don't decrement while respawning, so don't cross behind the finish line + while (prevWP->numprevwaypoints > 0 && prevWP != finishline) { prevWP = prevWP->prevwaypoints[0]; if (K_GetWaypointIsSpawnpoint(prevWP) == true)