From 80e04a20350bc385d5f0dcac26cca114f0877a89 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Sun, 22 Mar 2020 11:32:55 +0100 Subject: [PATCH] Use proper respawn check, don't cancel spinout, but prevent dropdashing when respawning with spinout --- src/k_kart.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index edfcf6991..59760761c 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -2048,8 +2048,6 @@ void K_RespawnChecker(player_t *player) fixed_t destx = 0, desty = 0, destz = 0; player->mo->momx = player->mo->momy = player->mo->momz = 0; - player->kartstuff[k_spinouttimer] = 0; - player->kartstuff[k_wipeoutslow] = 0; // Don't spinout anymore player->powers[pw_flashing] = 2; player->powers[pw_nocontrol] = 2; @@ -2209,7 +2207,7 @@ void K_RespawnChecker(player_t *player) // Sal: The old behavior was stupid and prone to accidental usage. // Let's rip off Mania instead, and turn this into a Drop Dash! - if (cmd->buttons & BT_ACCELERATE) + if (cmd->buttons & BT_ACCELERATE && !player->kartstuff[k_spinouttimer]) // Lat: Since we're letting players spin out on respawn, don't let them charge a dropdash in this state. (It wouldn't work anyway) player->kartstuff[k_dropdash]++; else player->kartstuff[k_dropdash] = 0; @@ -6081,7 +6079,7 @@ static waypoint_t *K_GetPlayerNextWaypoint(player_t *player) (bestwaypoint != NULL) && (bestwaypoint != player->nextwaypoint) && (player->kartstuff[k_respawn] == 0) && - (!(bestwaypoint->mobj->spawnpoint->options & MTF_AMBUSH)) && // Don't try to respawn on waypoints with the MTF_AMBUSH (No respawn) flag! + (K_GetWaypointIsSpawnpoint(bestwaypoint)) && // Don't try to respawn on waypoints that are marked with no respawn (K_GetWaypointIsShortcut(bestwaypoint) == false) && (K_GetWaypointIsEnabled(bestwaypoint) == true)) { size_t i = 0U;