X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fteamplay.qc;h=06286e8f55c7cfc4190895d5f4220125abf18362;hb=0f444e0d57db660b27b5a54a263a61bc5da41004;hp=49e824ff0ddaecac78580cb648df75d026f9fc53;hpb=e4f4cbd6b25ecb059604968b57ee4d014968e48b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/teamplay.qc b/qcsrc/server/teamplay.qc index 49e824ff0..06286e8f5 100644 --- a/qcsrc/server/teamplay.qc +++ b/qcsrc/server/teamplay.qc @@ -94,6 +94,10 @@ void InitGameplayMode() fraglimit_override = autocvar_g_domination_point_limit; leadlimit_override = autocvar_g_domination_point_leadlimit; MUTATOR_ADD(gamemode_domination); + + if(autocvar_g_domination_roundbased && autocvar_g_domination_roundbased_point_limit) + fraglimit_override = autocvar_g_domination_roundbased_point_limit; + have_team_spawns = -1; // request team spawns } @@ -159,7 +163,6 @@ void InitGameplayMode() if(g_race) { - if(autocvar_g_race_teams) { ActivateTeamplay(); @@ -172,6 +175,8 @@ void InitGameplayMode() qualifying_override = autocvar_g_race_qualifying_timelimit_override; fraglimit_override = autocvar_g_race_laps_limit; leadlimit_override = 0; // currently not supported by race + + MUTATOR_ADD(gamemode_race); } if(g_cts) @@ -179,6 +184,7 @@ void InitGameplayMode() g_race_qualifying = 1; fraglimit_override = 0; leadlimit_override = 0; + MUTATOR_ADD(gamemode_cts); } if(g_nexball) @@ -195,6 +201,18 @@ void InitGameplayMode() MUTATOR_ADD(gamemode_keepaway); } + if(g_invasion) + { + fraglimit_override = autocvar_g_invasion_point_limit; + if(autocvar_g_invasion_teams >= 2) + { + ActivateTeamplay(); + if(autocvar_g_invasion_team_spawns) + have_team_spawns = -1; // request team spawns + } + MUTATOR_ADD(gamemode_invasion); + } + if(teamplay) entcs_init(); @@ -236,12 +254,8 @@ void InitGameplayMode() } if(g_race || g_cts) - { - if(g_race_qualifying) - independent_players = 1; - - ScoreRules_race(); - } + if(g_race_qualifying) + independent_players = 1; InitializeEntity(world, default_delayedinit, INITPRIO_GAMETYPE_FALLBACK); } @@ -277,7 +291,7 @@ string getwelcomemessage(void) } if(autocvar_g_start_weapon_laser == 0) modifications = strcat(modifications, ", No start weapons"); - if(autocvar_sv_gravity < 800) + if(cvar("sv_gravity") < stof(cvar_defstring("sv_gravity"))) modifications = strcat(modifications, ", Low gravity"); if(g_cloaked && !g_cts) modifications = strcat(modifications, ", Cloaked"); @@ -305,6 +319,9 @@ string getwelcomemessage(void) if (g_grappling_hook) s = strcat(s, "\n\n^3grappling hook^8 is enabled, press 'e' to use it\n"); + if (cvar("g_nades")) + s = strcat(s, "\n\n^3nades^8 are enabled, press 'g' to use them\n"); + if(cache_lastmutatormsg != autocvar_g_mutatormsg) { if(cache_lastmutatormsg) @@ -408,10 +425,7 @@ void CheckAllowedTeams (entity for_whom) else { // cover anything else by treating it like tdm with no teams spawned - if(g_race) - dm = race_teams; - else - dm = 2; + dm = 2; ret_float = dm; MUTATOR_CALLHOOK(GetTeamCount);