- fixed: player spawn code should now always use defaults for the currently selected player class, not current flags

This commit is contained in:
Rachael Alexanderson 2020-04-15 06:58:27 -04:00
parent 3e02121822
commit 8dda7c02c9

View file

@ -1707,7 +1707,18 @@ void FLevelLocals::DoReborn (int playernum, bool freshbot)
}
else
{
bool isUnfriendly = players[playernum].mo && !(players[playernum].mo->flags & MF_FRIENDLY);
bool isUnfriendly;
auto p = players[playernum].mo->player;
if (p->cls == NULL)
{
// this shouldn't ever happen! It's just a fall-through in case it does...
isUnfriendly = players[playernum].mo && !(players[playernum].mo->GetDefault()->flags & MF_FRIENDLY);
}
else
{
isUnfriendly = !(GetDefaultByType(p->cls)->flags & MF_FRIENDLY);
}
// respawn at the start
// first disassociate the corpse