From cb64e2cca664a068685a262fee81da2b122364bd Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Sun, 4 Mar 2012 17:23:58 +0100 Subject: [PATCH] even less evil --- qcsrc/server/t_items.qc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/qcsrc/server/t_items.qc b/qcsrc/server/t_items.qc index d31cdc0ed..c62601cc6 100644 --- a/qcsrc/server/t_items.qc +++ b/qcsrc/server/t_items.qc @@ -440,14 +440,19 @@ float Item_GiveTo(entity item, entity player) pickedup |= Item_GiveAmmoTo(item, player, armorvalue, item.max_armorvalue, ITEM_MODE_ARMOR); if (item.flags & FL_WEAPON) - if ((it = item.weapons - (item.weapons & player.weapons)) || (item.spawnshieldtime && self.pickup_anyway)) { - pickedup = TRUE; - for(i = WEP_FIRST; i <= WEP_LAST; ++i) + WEPSET_DECLARE_A(it); + WEPSET_COPY_AE(it, item); + WEPSET_ANDNOT_AE(it, player); + + if (!WEPSET_EMPTY_A(it) || (item.spawnshieldtime && self.pickup_anyway)) { - e = get_weaponinfo(i); - if(it & e.weapons) - W_GiveWeapon (player, e.weapon, item.netname); + pickedup = TRUE; + for(i = WEP_FIRST; i <= WEP_LAST; ++i) + { + if(WEPSET_CONTAINS_AW(it, i)) + W_GiveWeapon (player, i, item.netname); + } } } -- 2.39.2