diff --git a/src/d_main.cpp b/src/d_main.cpp index 1a3a544b44..6dc9146c45 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -633,6 +633,7 @@ CVAR (Flag, sv_killbossmonst, dmflags2, DF2_KILLBOSSMONST); CVAR (Flag, sv_nocountendmonst, dmflags2, DF2_NOCOUNTENDMONST); CVAR (Flag, sv_respawnsuper, dmflags2, DF2_RESPAWN_SUPER); CVAR (Flag, sv_nothingspawn, dmflags2, DF2_NO_COOP_THING_SPAWN); +CVAR (Flag, sv_alwaysspawnmulti, dmflags2, DF2_ALWAYS_SPAWN_MULTI); //========================================================================== // diff --git a/src/doomdef.h b/src/doomdef.h index d9b8983c6e..df4d55999d 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -170,6 +170,7 @@ enum DF2_NOCOUNTENDMONST = 1 << 26, // Do not count monsters in 'end level when dying' sectors towards kill count DF2_RESPAWN_SUPER = 1 << 27, // Respawn invulnerability and invisibility DF2_NO_COOP_THING_SPAWN = 1 << 28, // Don't spawn multiplayer things in coop games + DF2_ALWAYS_SPAWN_MULTI = 1 << 29, // Always spawn multiplayer items }; // [RH] Compatibility flags. diff --git a/src/playsim/p_mobj.cpp b/src/playsim/p_mobj.cpp index b7a2a03525..9088f36e11 100644 --- a/src/playsim/p_mobj.cpp +++ b/src/playsim/p_mobj.cpp @@ -5368,7 +5368,7 @@ AActor *FLevelLocals::SpawnMapThing (FMapThing *mthing, int position) int mask; AActor *mobj; - bool spawnmulti = G_SkillProperty(SKILLP_SpawnMulti) || multiplayer; + bool spawnmulti = G_SkillProperty(SKILLP_SpawnMulti) || !!(dmflags2 & DF2_ALWAYS_SPAWN_MULTI); if (mthing->EdNum == 0 || mthing->EdNum == -1) return NULL;