* As predicted, remove FAULTing from simply becoming a spectator at the start of the race - only apply it if you attempt to rejoin!

* Mark FAULTing players as in pain, preventing you from using your rings in mid-air (which is especially egregrious when re-entering the race from being a spectator uses the item button).
This commit is contained in:
toaster 2021-02-18 11:11:50 +00:00
parent 2ec943a214
commit 5310acc84e
3 changed files with 9 additions and 8 deletions

View file

@ -1751,17 +1751,18 @@ static boolean P_KillPlayer(player_t *player, mobj_t *inflictor, mobj_t *source,
// Respawn kill types
K_DoIngameRespawn(player);
return false;
case DMG_SPECTATOR:
// disappearifies, but still gotta put items back in play
break;
default:
// Everything else REALLY kills
if (leveltime < starttime)
{
K_DoFault(player);
}
break;
}
// FAULT
if (leveltime < starttime)
{
K_DoFault(player);
}
K_DropEmeraldsFromPlayer(player, player->powers[pw_emeralds]);
K_SetHitLagForObjects(player->mo, inflictor, 15);

View file

@ -10638,7 +10638,7 @@ void P_MovePlayerToSpawn(INT32 playernum, mapthing_t *mthing)
mobj->angle = angle;
// FAULT
if (leveltime > introtime)
if (leveltime > introtime && !p->spectator)
{
K_DoIngameRespawn(p);
}

View file

@ -461,7 +461,7 @@ UINT8 P_FindHighestLap(void)
//
boolean P_PlayerInPain(player_t *player)
{
if (player->kartstuff[k_spinouttimer] || player->tumbleBounces > 0)
if (player->kartstuff[k_spinouttimer] || (player->tumbleBounces > 0) || (player->pflags & PF_FAULT))
return true;
return false;