From f6b0b5c348f6f07331ef10490234d38276a7ce82 Mon Sep 17 00:00:00 2001 From: CYBERDEViL Date: Mon, 3 Jan 2022 19:12:26 +0100 Subject: [PATCH] Honor weapon .pickup return value. For FreeCS this means CT-team wil no longer be able to pickup the bomb. --- src/server/weapons.qc | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/server/weapons.qc b/src/server/weapons.qc index 3faddb67..c1c7b9f6 100644 --- a/src/server/weapons.qc +++ b/src/server/weapons.qc @@ -163,17 +163,21 @@ Weapons_AddItem(base_player pl, int w, int startammo) if (!value) return value; } else { - /* new to our arsenal, so always return TRUE */ - g_weapons[w].pickup(TRUE, startammo); - pl.g_items |= g_weapons[w].id; - value = TRUE; + /* new to our arsenal */ + if (g_weapons[w].pickup(TRUE, startammo) == TRUE) { + pl.g_items |= g_weapons[w].id; + value = TRUE; - /* it's new, so autoswitch? */ - if (pl.activeweapon == 0 && autocvar_sv_forceweapondraw == 1) { - pl.activeweapon = w; - Weapons_Draw(); + /* it's new, so autoswitch? */ + if (pl.activeweapon == 0 && autocvar_sv_forceweapondraw == 1) { + pl.activeweapon = w; + Weapons_Draw(); + } else { + Weapons_PickupNotify(pl, w); + } } else { - Weapons_PickupNotify(pl, w); + /* cannot pickup this weapon (weapon says no) */ + return FALSE; } } }