X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fg_world.qc;h=f9de06c1ba464ded82d8cf3fd21b7a5a3e6ef08b;hb=c3f6bc06517a43e4de33d2a9148cdb36dbfc2ab8;hp=42c2d7a8e4e74cad37e0a1cacc88f0b74361fd6e;hpb=0136b21a9e62bd06b6bfa1c18b6e7580783c8eb0;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/g_world.qc b/qcsrc/server/g_world.qc index 42c2d7a8e..f9de06c1b 100644 --- a/qcsrc/server/g_world.qc +++ b/qcsrc/server/g_world.qc @@ -542,6 +542,8 @@ void spawnfunc___init_dedicated_server(void) // needs to be done so early because of the constants they create CALL_ACCUMULATED_FUNCTION(RegisterWeapons); + CALL_ACCUMULATED_FUNCTION(RegisterTurrets); + CALL_ACCUMULATED_FUNCTION(RegisterMonsters); CALL_ACCUMULATED_FUNCTION(RegisterGametypes); CALL_ACCUMULATED_FUNCTION(RegisterNotifications); CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes); @@ -590,6 +592,8 @@ void spawnfunc_worldspawn (void) // needs to be done so early because of the constants they create CALL_ACCUMULATED_FUNCTION(RegisterWeapons); + CALL_ACCUMULATED_FUNCTION(RegisterTurrets); + CALL_ACCUMULATED_FUNCTION(RegisterMonsters); CALL_ACCUMULATED_FUNCTION(RegisterGametypes); CALL_ACCUMULATED_FUNCTION(RegisterNotifications); CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes); @@ -802,6 +806,10 @@ void spawnfunc_worldspawn (void) addstat(STAT_SECRETS_TOTAL, AS_FLOAT, stat_secrets_total); addstat(STAT_SECRETS_FOUND, AS_FLOAT, stat_secrets_found); + // monsters + addstat(STAT_MONSTERS_TOTAL, AS_FLOAT, stat_monsters_total); + addstat(STAT_MONSTERS_KILLED, AS_FLOAT, stat_monsters_killed); + // misc addstat(STAT_RESPAWN_TIME, AS_FLOAT, stat_respawn_time); @@ -812,6 +820,7 @@ void spawnfunc_worldspawn (void) // set up information replies for clients and server to use maplist_reply = strzone(getmaplist()); lsmaps_reply = strzone(getlsmaps()); + monsterlist_reply = strzone(getmonsterlist()); for(i = 0; i < 10; ++i) { s = getrecords(i); @@ -1853,7 +1862,7 @@ float WinningCondition_Scores(float limit, float leadlimit) if(WinningConditionHelper_zeroisworst) leadlimit = 0; // not supported in this mode - if(g_dm || g_tdm || g_ca || (g_race && !g_race_qualifying) || g_nexball) + if(g_dm || g_tdm || g_ca || g_freezetag || (g_race && !g_race_qualifying) || g_nexball) // these modes always score in increments of 1, thus this makes sense { if(leaderfrags != WinningConditionHelper_topscore)