mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 01:01:33 +00:00
Tie emblem spawning to Coop gametypes
This commit is contained in:
parent
ffb76334ff
commit
ffe591afee
2 changed files with 9 additions and 1 deletions
|
@ -3843,16 +3843,19 @@ static void G_UpdateVisited(gamedata_t *data, boolean silent)
|
|||
{
|
||||
boolean spec = G_IsSpecialStage(gamemap);
|
||||
// Update visitation flags?
|
||||
if (!demoplayback && (gametype == GT_COOP) // SP/RA/NiGHTS mode
|
||||
if (!demoplayback
|
||||
&& G_CoopGametype() // Campaign mode
|
||||
&& !stagefailed) // Did not fail the stage
|
||||
{
|
||||
UINT8 earnedEmblems;
|
||||
|
||||
// Update visitation flags
|
||||
data->mapvisited[gamemap-1] |= MV_BEATEN;
|
||||
|
||||
// eh, what the hell
|
||||
if (ultimatemode)
|
||||
data->mapvisited[gamemap-1] |= MV_ULTIMATE;
|
||||
|
||||
// may seem incorrect but IS possible in what the main game uses as mp special stages, and nummaprings will be -1 in NiGHTS
|
||||
if (nummaprings > 0 && players[consoleplayer].rings >= nummaprings)
|
||||
{
|
||||
|
@ -3860,6 +3863,7 @@ static void G_UpdateVisited(gamedata_t *data, boolean silent)
|
|||
if (modeattacking)
|
||||
data->mapvisited[gamemap-1] |= MV_PERFECTRA;
|
||||
}
|
||||
|
||||
if (!spec)
|
||||
{
|
||||
// not available to special stages because they can only really be done in one order in an unmodified game, so impossible for first six and trivial for seventh
|
||||
|
|
|
@ -12009,6 +12009,10 @@ static boolean P_AllowMobjSpawn(mapthing_t* mthing, mobjtype_t i)
|
|||
return false; // You already got this token
|
||||
|
||||
break;
|
||||
case MT_EMBLEM:
|
||||
if (!G_CoopGametype())
|
||||
return false; // Gametype's not right
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue