From cca4482f085148b83277ab8f0c6311cb53e8f6c4 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Fri, 16 Dec 2011 18:11:54 +0100 Subject: [PATCH] simplify weapon stay more --- qcsrc/server/t_items.qc | 98 ++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 50 deletions(-) diff --git a/qcsrc/server/t_items.qc b/qcsrc/server/t_items.qc index a96bc50bc6..0e81d82fe0 100644 --- a/qcsrc/server/t_items.qc +++ b/qcsrc/server/t_items.qc @@ -304,6 +304,7 @@ float Item_GiveTo(entity item, entity player) player.ammo_fuel = bound(player.ammo_fuel, g_pickup_fuel_max, player.ammo_fuel + item.ammo_fuel); player.pauserotfuel_finished = max(player.pauserotfuel_finished, time + autocvar_g_balance_pause_fuel_rot); } + if((it = (item.items - (item.items & player.items)) & IT_PICKUPMASK)) { pickedup = TRUE; @@ -333,34 +334,34 @@ float Item_GiveTo(entity item, entity player) player.ammo_cells = bound(player.ammo_cells, 999, player.ammo_cells + autocvar_g_minstagib_ammo_drop); player.health = 100; } + } - // extralife powerup - if (item.max_health) - { - pickedup = TRUE; - // sound not available - // AnnounceTo(player, "_lives"); - player.armorvalue = bound(player.armorvalue, 999, player.armorvalue + autocvar_g_minstagib_extralives); - sprint(player, "^3You picked up some extra lives\n"); - } + // extralife powerup + if (item.max_health) + { + pickedup = TRUE; + // sound not available + // AnnounceTo(player, "_lives"); + player.armorvalue = bound(player.armorvalue, 999, player.armorvalue + autocvar_g_minstagib_extralives); + sprint(player, "^3You picked up some extra lives\n"); + } - // invis powerup - if (item.strength_finished) - { - pickedup = TRUE; - // sound not available - // AnnounceTo(player, "invisible"); - player.strength_finished = max(player.strength_finished, time) + autocvar_g_balance_powerup_strength_time; - } + // invis powerup + if (item.strength_finished) + { + pickedup = TRUE; + // sound not available + // AnnounceTo(player, "invisible"); + player.strength_finished = max(player.strength_finished, time) + autocvar_g_balance_powerup_strength_time; + } - // speed powerup - if (item.invincible_finished) - { - pickedup = TRUE; - // sound not available - // AnnounceTo(player, "speed"); - player.invincible_finished = max(player.invincible_finished, time) + autocvar_g_balance_powerup_strength_time; - } + // speed powerup + if (item.invincible_finished) + { + pickedup = TRUE; + // sound not available + // AnnounceTo(player, "speed"); + player.invincible_finished = max(player.invincible_finished, time) + autocvar_g_balance_powerup_strength_time; } } else @@ -429,33 +430,30 @@ float Item_GiveTo(entity item, entity player) sprint (player, strcat("You got the ^2", item.netname, "\n")); } - if(item.spawnshieldtime) - { if (item.strength_finished) - { - pickedup = TRUE; - player.strength_finished = max(player.strength_finished, time) + autocvar_g_balance_powerup_strength_time; - } - if (item.invincible_finished) - { - pickedup = TRUE; - player.invincible_finished = max(player.invincible_finished, time) + autocvar_g_balance_powerup_invincible_time; - } + { + pickedup = TRUE; + player.strength_finished = max(player.strength_finished, time) + autocvar_g_balance_powerup_strength_time; + } + if (item.invincible_finished) + { + pickedup = TRUE; + player.invincible_finished = max(player.invincible_finished, time) + autocvar_g_balance_powerup_invincible_time; + } - if (item.health) - if ((player.health < item.max_health) || item.pickup_anyway) - { - pickedup = TRUE; - player.health = bound(player.health, item.max_health, player.health + item.health); - player.pauserothealth_finished = max(player.pauserothealth_finished, time + autocvar_g_balance_pause_health_rot); - } - if (item.armorvalue) - if ((player.armorvalue < item.max_armorvalue) || item.pickup_anyway) - { - pickedup = TRUE; - player.armorvalue = bound(player.armorvalue, item.max_armorvalue, player.armorvalue + item.armorvalue); - player.pauserotarmor_finished = max(player.pauserotarmor_finished, time + autocvar_g_balance_pause_armor_rot); - } + if (item.health) + if ((player.health < item.max_health) || item.pickup_anyway) + { + pickedup = TRUE; + player.health = bound(player.health, item.max_health, player.health + item.health); + player.pauserothealth_finished = max(player.pauserothealth_finished, time + autocvar_g_balance_pause_health_rot); + } + if (item.armorvalue) + if ((player.armorvalue < item.max_armorvalue) || item.pickup_anyway) + { + pickedup = TRUE; + player.armorvalue = bound(player.armorvalue, item.max_armorvalue, player.armorvalue + item.armorvalue); + player.pauserotarmor_finished = max(player.pauserotarmor_finished, time + autocvar_g_balance_pause_armor_rot); } } -- 2.39.2