Allow "final failsafe" respawn from drop dash state

This commit is contained in:
Antonio Martinez 2025-07-02 06:00:34 -04:00
parent 5323b0f7ec
commit a91c7b6cf1
3 changed files with 10 additions and 4 deletions

View file

@ -10157,7 +10157,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
{ {
player->finalfailsafe++; // Decremented by ringshooter to "freeze" this timer player->finalfailsafe++; // Decremented by ringshooter to "freeze" this timer
// Part-way through the auto-respawn timer, you can tap Ring Shooter to respawn early // Part-way through the auto-respawn timer, you can tap Ring Shooter to respawn early
if (player->finalfailsafe >= 4*TICRATE || if (player->finalfailsafe >= FAILSAFETIME ||
(player->bigwaypointgap && player->bigwaypointgap < AUTORESPAWN_THRESHOLD)) (player->bigwaypointgap && player->bigwaypointgap < AUTORESPAWN_THRESHOLD))
{ {
K_DoIngameRespawn(player); K_DoIngameRespawn(player);

View file

@ -90,6 +90,8 @@ Make sure this matches the actual number of states
#define RINGVOLUMEREGEN 1 #define RINGVOLUMEREGEN 1
#define RINGTRANSPARENCYREGEN 3 #define RINGTRANSPARENCYREGEN 3
#define FAILSAFETIME (4*TICRATE)
#define DUELOVERTIME (cv_dueltimelimit.value) #define DUELOVERTIME (cv_dueltimelimit.value)
#define DUELWINNINGSCORE (cv_duelscorelimit.value) #define DUELWINNINGSCORE (cv_duelscorelimit.value)

View file

@ -141,11 +141,15 @@ void K_DoIngameRespawn(player_t *player)
return; return;
} }
if (player->finalfailsafe < FAILSAFETIME)
{
if (player->respawn.state != RESPAWNST_NONE && if (player->respawn.state != RESPAWNST_NONE &&
( player->pflags & PF_FAULT ) == 0) ( player->pflags & PF_FAULT ) == 0)
{ {
return; return;
} }
}
if (leveltime <= introtime) if (leveltime <= introtime)
{ {