// The reason we are using the cooperative gamemode with teams enabled,
// rather than just using the `Team Game` gamemode, is because cooperative
// persists items on map change, whereas `Team Game` does not.
// This hard limitation is (currently) not possible to change.

Cooperative
{
    addflag PLAYERSONTEAMS
	addflag DONTPRINTPLAYERSLEFT
    addflag DEADSPECTATORS
	addflag MAPRESETS
	addflag MAPRESET_RESETS_MAPTIME
	
    GameSettings
    {
		sv_disallowsuicide = true
		sv_noidentifytarget = true
		sv_nodrop = true
		sv_noexit = true

		sv_unblockplayers = false
		sv_unblockallies = false

		sv_shootthroughallies = true
		sv_dontpushallies = false
		sv_nocoopinfo = true
		sv_noidentifytarget = true
		sv_nodoorclose = true
		sv_itemrespawn = false
		sv_sharekeys = false
		
		// FKA sv_forcegldefaults
		sv_forcevideodefaults = true

		sv_maprotation = true
		
		compat_noobituaries = false

		sv_applylmsSpectatorsettings = true
		lms_spectatorchat = true
		lms_spectatorview = true
		lms_spectatorvoicechat = false

		onlineonly
		{
			// sv_maxclients is not allowed to be set here.
			sv_maxplayers = 64
		}
    }
	
	// Note, some forced settings seemingly work just for allies.
	// However, zombies are also considered allies with the way the gamemode is set up.
    LockedGameSettings
    {
		teamdamage = 1.0 // ACS handles human on human contact
	
		sv_noteamselect = true
		sv_keepteams = true
		sv_noteamswitch = true
		sv_norespawninvul = true
		sv_nospawntelefog = true
		
		sv_noautomapallies = true
		sv_noallyicons = true
		sv_noenemyicons = true // This doesn't matter either, but just for consistency it's disabled.
		
		compat_dont_stop_player_scripts_on_disconnect = true
		
		// This would otherwise fully reset the state back when we want to either
		// reset or set to its state when the round started.
		// ACS should manage this instead.
		compat_resetglobalvarsonmapreset = false
		
		onlineonly
		{
			compat_netscriptsareclientside = false
			compat_clientssendfullbuttoninfo = true
		}
    }
}