X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fteamplay.qc;h=3621f7214e5611afcdc9d1bb76f6804041170e69;hb=acd819c5f59288e6cfbbf9a02cf7e7c75edb2cf7;hp=ec6f5afc3d16fc1fe1073452f467c6bbe3389a2a;hpb=6d2e1250338afadbd5587020302265f42bd0e889;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/teamplay.qc b/qcsrc/server/teamplay.qc index ec6f5afc3..3621f7214 100644 --- a/qcsrc/server/teamplay.qc +++ b/qcsrc/server/teamplay.qc @@ -64,7 +64,7 @@ void InitGameplayMode() if (!cvar_value_issafe(world.fog)) { - print("The current map contains a potentially harmful fog setting, ignored\n"); + LOG_INFO("The current map contains a potentially harmful fog setting, ignored\n"); world.fog = string_null; } if(MapInfo_Map_fog != "") @@ -84,6 +84,7 @@ void InitGameplayMode() if(g_dm) { + MUTATOR_ADD(gamemode_deathmatch); } if(g_tdm) @@ -140,6 +141,8 @@ void InitGameplayMode() ActivateTeamplay(); fraglimit_override = autocvar_g_keyhunt_point_limit; leadlimit_override = autocvar_g_keyhunt_point_leadlimit; + if(autocvar_g_keyhunt_team_spawns) + have_team_spawns = -1; // request team spawns MUTATOR_ADD(gamemode_keyhunt); } @@ -163,6 +166,7 @@ void InitGameplayMode() if(g_onslaught) { ActivateTeamplay(); + fraglimit_override = autocvar_g_onslaught_point_limit; have_team_spawns = -1; // request team spawns MUTATOR_ADD(gamemode_onslaught); } @@ -283,8 +287,7 @@ string getwelcomemessage(void) { string s, modifications, motd; - ret_string = ""; - MUTATOR_CALLHOOK(BuildMutatorsPrettyString); + MUTATOR_CALLHOOK(BuildMutatorsPrettyString, ""); modifications = ret_string; if(g_weaponarena) @@ -294,7 +297,7 @@ string getwelcomemessage(void) else modifications = strcat(modifications, ", ", g_weaponarena_list, " Arena"); } - if(cvar("g_balance_blaster_weaponstart") == 0) + else if(cvar("g_balance_blaster_weaponstart") == 0) modifications = strcat(modifications, ", No start weapons"); if(cvar("sv_gravity") < stof(cvar_defstring("sv_gravity"))) modifications = strcat(modifications, ", Low gravity"); @@ -432,8 +435,7 @@ void CheckAllowedTeams (entity for_whom) // cover anything else by treating it like tdm with no teams spawned dm = 2; - ret_float = dm; - MUTATOR_CALLHOOK(GetTeamCount); + MUTATOR_CALLHOOK(GetTeamCount, dm); dm = ret_float; if(dm >= 4) @@ -847,7 +849,11 @@ void SV_ChangeTeam(float _color) TeamchangeFrags(self); } - SetPlayerTeam(self, dteam, steam, false); + // since this is an engine function, and gamecode doesn't have any calls earlier than this, do the connecting message here + if(!IS_CLIENT(self)) + Send_Notification(NOTIF_ONE, self, MSG_INFO, INFO_CONNECTING, self.netname); + + SetPlayerTeam(self, dteam, steam, !IS_CLIENT(self)); if(IS_PLAYER(self) && steam != dteam) {