X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fgamemodes%2Fgamemode%2Frace%2Fsv_race.qc;h=ecfd3660588cf91275a71f079d9994aa1bf1ab0f;hb=ad9ccc3b319b42b60cff4ef029fdf57c032f87d5;hp=d00a163084a34b2461a989b362ae1f4740d2aac6;hpb=b84b6a91b0b3ddc586ca66fa774d7a11c31a8e54;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/gamemodes/gamemode/race/sv_race.qc b/qcsrc/common/gamemodes/gamemode/race/sv_race.qc index d00a16308..ecfd36605 100644 --- a/qcsrc/common/gamemodes/gamemode/race/sv_race.qc +++ b/qcsrc/common/gamemodes/gamemode/race/sv_race.qc @@ -53,20 +53,18 @@ void havocbot_role_race(entity this) void race_ScoreRules() { - GameRules_score_enabled(false); + GameRules_score_enabled(false); GameRules_scoring(race_teams, 0, 0, { - if (race_teams) { - field_team(ST_RACE_LAPS, "laps", SFL_SORT_PRIO_PRIMARY); - field(SP_RACE_LAPS, "laps", SFL_SORT_PRIO_PRIMARY); - field(SP_RACE_TIME, "time", SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER | SFL_TIME); - field(SP_RACE_FASTEST, "fastest", SFL_LOWER_IS_BETTER | SFL_TIME); - } else if (g_race_qualifying) { - field(SP_RACE_FASTEST, "fastest", SFL_SORT_PRIO_PRIMARY | SFL_LOWER_IS_BETTER | SFL_TIME); - } else { - field(SP_RACE_LAPS, "laps", SFL_SORT_PRIO_PRIMARY); - field(SP_RACE_TIME, "time", SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER | SFL_TIME); - field(SP_RACE_FASTEST, "fastest", SFL_LOWER_IS_BETTER | SFL_TIME); - } + if (race_teams) + field_team(ST_RACE_LAPS, "laps", SFL_SORT_PRIO_PRIMARY); + else if (g_race_qualifying) + field(SP_RACE_FASTEST, "fastest", SFL_SORT_PRIO_PRIMARY | SFL_LOWER_IS_BETTER | SFL_TIME); + if (race_teams || !g_race_qualifying) + { + field(SP_RACE_LAPS, "laps", SFL_SORT_PRIO_PRIMARY); + field(SP_RACE_TIME, "time", SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER | SFL_TIME); + field(SP_RACE_FASTEST, "fastest", SFL_LOWER_IS_BETTER | SFL_TIME); + } }); } @@ -139,7 +137,6 @@ MUTATOR_HOOKFUNCTION(rc, PlayerPhysics) player.race_movetime_count += f; player.race_movetime = player.race_movetime_frac + player.race_movetime_count; -#ifdef SVQC if(IS_PLAYER(player)) { if (player.race_penalty) @@ -152,7 +149,6 @@ MUTATOR_HOOKFUNCTION(rc, PlayerPhysics) player.disableclientprediction = 2; } } -#endif // force kbd movement for fairness float wishspeed; @@ -238,24 +234,7 @@ MUTATOR_HOOKFUNCTION(rc, ClientConnect) race_PreparePlayer(player); player.race_checkpoint = -1; - if(IS_REAL_CLIENT(player)) - { - msg_entity = player; - race_send_recordtime(MSG_ONE); - race_send_speedaward(MSG_ONE); - - speedaward_alltimebest = stof(db_get(ServerProgsDB, strcat(GetMapname(), record_type, "speed/speed"))); - speedaward_alltimebest_holder = uid2name(db_get(ServerProgsDB, strcat(GetMapname(), record_type, "speed/crypto_idfp"))); - race_send_speedaward_alltimebest(MSG_ONE); - - float i; - int m = min(RANKINGS_CNT, autocvar_g_cts_send_rankings_cnt); - race_send_rankings_cnt(MSG_ONE); - for (i = 1; i <= m; ++i) - { - race_SendRankings(i, 0, 0, MSG_ONE); - } - } + race_SendAll(player, false); } MUTATOR_HOOKFUNCTION(rc, MakePlayerObserver) @@ -327,31 +306,7 @@ MUTATOR_HOOKFUNCTION(rc, GetPressedKeys) entity player = M_ARGV(0, entity); race_checkAndWriteName(player); - - if (!IS_OBSERVER(player)) - { - if(vdist(player.velocity - player.velocity_z * '0 0 1', >, speedaward_speed)) - { - speedaward_speed = vlen(player.velocity - player.velocity_z * '0 0 1'); - speedaward_holder = player.netname; - speedaward_uid = player.crypto_idfp; - speedaward_lastupdate = time; - } - if (speedaward_speed > speedaward_lastsent && (time - speedaward_lastupdate > 1 || intermission_running)) - { - race_send_speedaward(MSG_ALL); - speedaward_lastsent = speedaward_speed; - if (speedaward_speed > speedaward_alltimebest && speedaward_uid != "") - { - speedaward_alltimebest = speedaward_speed; - speedaward_alltimebest_holder = speedaward_holder; - speedaward_alltimebest_uid = speedaward_uid; - db_put(ServerProgsDB, strcat(GetMapname(), record_type, "speed/speed"), ftos(speedaward_alltimebest)); - db_put(ServerProgsDB, strcat(GetMapname(), record_type, "speed/crypto_idfp"), speedaward_alltimebest_uid); - race_send_speedaward_alltimebest(MSG_ALL); - } - } - } + race_SpeedAwardFrame(player); } MUTATOR_HOOKFUNCTION(rc, ForbidPlayerScore_Clear) @@ -482,8 +437,8 @@ void rc_SetLimits() } else g_race_qualifying = 0; - GameRules_limit_score(fraglimit_override); - GameRules_limit_lead(leadlimit_override); - GameRules_limit_time(timelimit_override); - GameRules_limit_time_qualifying(qualifying_override); + GameRules_limit_score(fraglimit_override); + GameRules_limit_lead(leadlimit_override); + GameRules_limit_time(timelimit_override); + GameRules_limit_time_qualifying(qualifying_override); }