From 482bb69fac970772338ed442fa598e129b90e40f Mon Sep 17 00:00:00 2001 From: z411 Date: Tue, 19 Oct 2021 17:03:31 -0300 Subject: [PATCH] RJZ: Fixed shards getting counted in warmup stage --- qcsrc/common/mutators/mutator/itemstime/itemstime.qc | 2 +- qcsrc/server/command/vote.qc | 6 ++++++ qcsrc/server/items/items.qc | 2 +- qcsrc/server/world.qc | 12 +++++++++--- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/qcsrc/common/mutators/mutator/itemstime/itemstime.qc b/qcsrc/common/mutators/mutator/itemstime/itemstime.qc index 89167379a..bc14a48d4 100644 --- a/qcsrc/common/mutators/mutator/itemstime/itemstime.qc +++ b/qcsrc/common/mutators/mutator/itemstime/itemstime.qc @@ -224,7 +224,7 @@ void DrawItemsTimeItemFixed(vector myPos, vector mySize, float ar, string item_i picpos = myPos; } - drawstring_aspect(numpos, ftos(t), vec2(((ar - 1)/ar) * mySize.x, mySize.y), color, panel_fg_alpha, DRAWFLAG_NORMAL); + drawstring_aspect(numpos, (t < 0 ? "-" : ftos(t)), vec2(((ar - 1)/ar) * mySize.x, mySize.y), color, panel_fg_alpha, DRAWFLAG_NORMAL); drawpic_aspect(picpos, item_icon, '1 1 0' * mySize_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); } diff --git a/qcsrc/server/command/vote.qc b/qcsrc/server/command/vote.qc index a179438ce..57d58dc95 100644 --- a/qcsrc/server/command/vote.qc +++ b/qcsrc/server/command/vote.qc @@ -348,6 +348,12 @@ void reset_map(bool dorespawn) if (round_handler_IsActive()) round_handler_Reset(game_starttime); } + + // for RJZ + if (autocvar_g_count_shards) { + total_shards = 0; + send_TotalShardsAll(); + } if (shuffleteams_on_reset_map) { diff --git a/qcsrc/server/items/items.qc b/qcsrc/server/items/items.qc index 06f1333aa..675c9cb36 100644 --- a/qcsrc/server/items/items.qc +++ b/qcsrc/server/items/items.qc @@ -529,7 +529,7 @@ bool Item_GiveTo(entity item, entity player) pickedup |= Item_GiveAmmoTo(item, player, RES_FUEL, g_pickup_fuel_max); // for RJZ - if (autocvar_g_count_shards && item.itemdef == ITEM_ArmorSmall) { + if (autocvar_g_count_shards && !warmup_stage && item.itemdef == ITEM_ArmorSmall) { total_shards++; send_TotalShardsAll(); } diff --git a/qcsrc/server/world.qc b/qcsrc/server/world.qc index 81f83218b..04201090d 100644 --- a/qcsrc/server/world.qc +++ b/qcsrc/server/world.qc @@ -1062,11 +1062,17 @@ spawnfunc(worldspawn) WinningConditionHelper(this); // set worldstatus - world_initialized = 1; - __spawnfunc_spawn_all(); - if(!warmup_stage) round_handler_Activate(true); + + // for RJZ + if (autocvar_g_count_shards && warmup_stage) { + total_shards = -2; + send_TotalShardsAll(); + } + + world_initialized = 1; + __spawnfunc_spawn_all(); } spawnfunc(light) -- 2.39.2