X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fscores.qc;h=12175bb764f036435c1f745c0ac2ddc12fe74777;hp=3f1db42903ddd010c209febba24f608cba1c1840;hb=d0e30ec97abee8b2da5ce1ec18da5bed3babb31d;hpb=f20db00cafb75a05d5a4ee80957d3d8b351eddea diff --git a/qcsrc/server/scores.qc b/qcsrc/server/scores.qc index 3f1db42903..12175bb764 100644 --- a/qcsrc/server/scores.qc +++ b/qcsrc/server/scores.qc @@ -1,11 +1,19 @@ #include "scores.qh" #include "command/common.qh" -#include "mutators/_mod.qh" +#include "defs.qh" +#include +#include +#include +#include #include #include "../common/playerstats.qh" #include "../common/teams.qh" +#include +#include #include +#include +#include .entity scorekeeper; entity teamscorekeepers[16]; @@ -101,7 +109,9 @@ float TeamScore_AddToTeam(int t, float scorefield, float score) entity s; if(game_stopped) + { score = 0; + } if(!scores_initialized) return 0; // FIXME remove this when everything uses this system if(t <= 0 || t >= 16) @@ -327,9 +337,10 @@ float PlayerScore_Add(entity player, PlayerScoreField scorefield, float score) bool mutator_returnvalue = MUTATOR_CALLHOOK(AddPlayerScore, scorefield, score, player); score = M_ARGV(1, float); - if(game_stopped) - if(!mutator_returnvalue) + if(!mutator_returnvalue && game_stopped) + { score = 0; + } if(!scores_initialized) return 0; // FIXME remove this when everything uses this system entity s = CS(player).scorekeeper; @@ -395,7 +406,7 @@ float PlayerScore_Compare(entity t1, entity t2, float strict) }); if (result.x == 0 && strict) - result.x = etof(t1.owner) - etof(t2.owner); + result.x = t1.owner.playerid - t2.owner.playerid; return result.x; } @@ -535,9 +546,7 @@ void WinningConditionHelper(entity this) } } - if(worldstatus) - strunzone(worldstatus); - worldstatus = strzone(s); + strcpy(worldstatus, s); FOREACH_CLIENT(true, { string s = ""; @@ -556,9 +565,7 @@ void WinningConditionHelper(entity this) s = "-666"; } - if(it.clientstatus) - strunzone(it.clientstatus); - it.clientstatus = strzone(s); + strcpy(it.clientstatus, s); }); }