- force player respawn to call up the player's default class settings before determining where to respawn the player

This commit is contained in:
Rachael Alexanderson 2020-05-02 09:20:37 -04:00
commit 0f0768652a
3 changed files with 48 additions and 25 deletions

View file

@ -1709,7 +1709,24 @@ void FLevelLocals::DoReborn (int playernum, bool freshbot)
}
else
{
bool isUnfriendly = players[playernum].mo && !(players[playernum].mo->flags & MF_FRIENDLY);
bool isUnfriendly;
PlayerSpawnPickClass(playernum);
// this condition should never be false
assert(players[playernum].cls != NULL);
if (players[playernum].cls != NULL)
{
isUnfriendly = !(GetDefaultByType(players[playernum].cls)->flags & MF_FRIENDLY);
DPrintf(DMSG_NOTIFY, "Player class IS defined: unfriendly is %i\n", isUnfriendly);
}
else
{
// we shouldn't be here, but if we are, get the player's current status
isUnfriendly = players[playernum].mo && !(players[playernum].mo->flags & MF_FRIENDLY);
DPrintf(DMSG_NOTIFY, "Player class NOT defined: unfriendly is %i\n", isUnfriendly);
}
// respawn at the start
// first disassociate the corpse