Turn the babysitting deterrent into its own rule.
This commit is contained in:
parent
9319014d8d
commit
c61c1e2514
|
@ -8900,6 +8900,7 @@ static const char *const GAMETYPERULE_LIST[] = {
|
||||||
"NOTITLECARD",
|
"NOTITLECARD",
|
||||||
"OVERTIME",
|
"OVERTIME",
|
||||||
"HURTMESSAGES",
|
"HURTMESSAGES",
|
||||||
|
"SPAWNINVUL",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -386,7 +386,7 @@ enum GameType
|
||||||
};
|
};
|
||||||
// If you alter this list, update dehacked.c, MISC_ChangeGameTypeMenu in m_menu.c, and Gametype_Names in g_game.c
|
// If you alter this list, update dehacked.c, MISC_ChangeGameTypeMenu in m_menu.c, and Gametype_Names in g_game.c
|
||||||
|
|
||||||
// Game type rules
|
// Gametype rules
|
||||||
enum GameTypeRules
|
enum GameTypeRules
|
||||||
{
|
{
|
||||||
GTR_CAMPAIGN = 1, // Linear Co-op map progression, don't allow random maps
|
GTR_CAMPAIGN = 1, // Linear Co-op map progression, don't allow random maps
|
||||||
|
@ -417,6 +417,7 @@ enum GameTypeRules
|
||||||
GTR_NOTITLECARD = 1<<25, // Don't show the title card
|
GTR_NOTITLECARD = 1<<25, // Don't show the title card
|
||||||
GTR_OVERTIME = 1<<26, // Allow overtime
|
GTR_OVERTIME = 1<<26, // Allow overtime
|
||||||
GTR_HURTMESSAGES = 1<<27, // Hit and death messages
|
GTR_HURTMESSAGES = 1<<27, // Hit and death messages
|
||||||
|
GTR_SPAWNINVUL = 1<<28, // Babysitting deterrent
|
||||||
};
|
};
|
||||||
|
|
||||||
// String names for gametypes
|
// String names for gametypes
|
||||||
|
|
14
src/g_game.c
14
src/g_game.c
|
@ -3197,22 +3197,22 @@ UINT32 gametypedefaultrules[NUMGAMETYPES] =
|
||||||
// Co-op
|
// Co-op
|
||||||
GTR_CAMPAIGN|GTR_LIVES|GTR_SPAWNENEMIES|GTR_ALLOWEXIT|GTR_EMERALDHUNT|GTR_EMERALDTOKENS|GTR_SPECIALSTAGES,
|
GTR_CAMPAIGN|GTR_LIVES|GTR_SPAWNENEMIES|GTR_ALLOWEXIT|GTR_EMERALDHUNT|GTR_EMERALDTOKENS|GTR_SPECIALSTAGES,
|
||||||
// Competition
|
// Competition
|
||||||
GTR_RACE|GTR_LIVES|GTR_SPAWNENEMIES|GTR_EMERALDTOKENS|GTR_ALLOWEXIT,
|
GTR_RACE|GTR_LIVES|GTR_SPAWNENEMIES|GTR_EMERALDTOKENS|GTR_SPAWNINVUL|GTR_ALLOWEXIT,
|
||||||
// Race
|
// Race
|
||||||
GTR_RACE|GTR_SPAWNENEMIES|GTR_ALLOWEXIT,
|
GTR_RACE|GTR_SPAWNENEMIES|GTR_SPAWNINVUL|GTR_ALLOWEXIT,
|
||||||
|
|
||||||
// Match
|
// Match
|
||||||
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_SPECTATORS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_MATCHEMERALDS|GTR_PITYSHIELD|GTR_DEATHPENALTY,
|
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_SPECTATORS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_MATCHEMERALDS|GTR_SPAWNINVUL|GTR_PITYSHIELD|GTR_DEATHPENALTY,
|
||||||
// Team Match
|
// Team Match
|
||||||
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_SPECTATORS|GTR_TEAMS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_PITYSHIELD,
|
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_SPECTATORS|GTR_TEAMS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_SPAWNINVUL|GTR_PITYSHIELD,
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_TAG|GTR_SPECTATORS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_HIDETIME|GTR_BLINDFOLDED,
|
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_TAG|GTR_SPECTATORS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_HIDETIME|GTR_BLINDFOLDED|GTR_SPAWNINVUL,
|
||||||
// Hide and Seek
|
// Hide and Seek
|
||||||
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_TAG|GTR_SPECTATORS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_HIDETIME|GTR_BLINDFOLDED,
|
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_TAG|GTR_SPECTATORS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_HIDETIME|GTR_BLINDFOLDED|GTR_SPAWNINVUL,
|
||||||
|
|
||||||
// CTF
|
// CTF
|
||||||
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_SPECTATORS|GTR_TEAMS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_MATCHEMERALDS|GTR_TEAMFLAGS|GTR_PITYSHIELD,
|
GTR_RINGSLINGER|GTR_FIRSTPERSON|GTR_SPECTATORS|GTR_TEAMS|GTR_POINTLIMIT|GTR_TIMELIMIT|GTR_MATCHEMERALDS|GTR_TEAMFLAGS|GTR_SPAWNINVUL|GTR_PITYSHIELD,
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -11297,7 +11297,7 @@ void P_SpawnPlayer(INT32 playernum)
|
||||||
p->skincolor = skincolor_blueteam;
|
p->skincolor = skincolor_blueteam;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((netgame || multiplayer) && (gametype != GT_COOP || leveltime) && !p->spectator && !(maptol & TOL_NIGHTS))
|
if ((netgame || multiplayer) && ((gametyperules & GTR_SPAWNINVUL) || leveltime) && !p->spectator && !(maptol & TOL_NIGHTS))
|
||||||
p->powers[pw_flashing] = flashingtics-1; // Babysitting deterrent
|
p->powers[pw_flashing] = flashingtics-1; // Babysitting deterrent
|
||||||
|
|
||||||
mobj = P_SpawnMobj(0, 0, 0, MT_PLAYER);
|
mobj = P_SpawnMobj(0, 0, 0, MT_PLAYER);
|
||||||
|
|
Loading…
Reference in New Issue