Made PlayerRespawn skill definition consistent

Now it works the same as AllowRespawn map definition in MAPINFO
This commit is contained in:
alexey.lysiuk 2018-02-03 16:26:49 +02:00
parent d5bc0a1fa9
commit af7648a151
2 changed files with 3 additions and 2 deletions

View file

@ -648,7 +648,8 @@ void G_ChangeLevel(const char *levelname, int position, int flags, int nextSkill
// If this is co-op, respawn any dead players now so they can // If this is co-op, respawn any dead players now so they can
// keep their inventory on the next map. // keep their inventory on the next map.
if ((multiplayer || level.flags2 & LEVEL2_ALLOWRESPAWN || sv_singleplayerrespawn) && !deathmatch && player->playerstate == PST_DEAD) if ((multiplayer || level.flags2 & LEVEL2_ALLOWRESPAWN || sv_singleplayerrespawn || !!G_SkillProperty(SKILLP_PlayerRespawn))
&& !deathmatch && player->playerstate == PST_DEAD)
{ {
// Copied from the end of P_DeathThink [[ // Copied from the end of P_DeathThink [[
player->cls = NULL; // Force a new class if the player is using a random class player->cls = NULL; // Force a new class if the player is using a random class

View file

@ -528,7 +528,7 @@ class PlayerPawn : Actor native
if (level.time >= player.respawn_time || ((player.cmd.buttons & BT_USE) && player.Bot == NULL)) if (level.time >= player.respawn_time || ((player.cmd.buttons & BT_USE) && player.Bot == NULL))
{ {
player.cls = NULL; // Force a new class if the player is using a random class player.cls = NULL; // Force a new class if the player is using a random class
player.playerstate = (multiplayer || (level.AllowRespawn) || sv_singleplayerrespawn)? PST_REBORN : PST_ENTER; player.playerstate = (multiplayer || level.AllowRespawn || sv_singleplayerrespawn || G_SkillPropertyInt(SKILLP_PlayerRespawn)) ? PST_REBORN : PST_ENTER;
if (special1 > 2) if (special1 > 2)
{ {
special1 = 0; special1 = 0;