}
if (item.flags & FL_WEAPON)
- if ((it = item.weapons - (item.weapons & player.weapons)) || g_pickup_weapons_anyway)
+ if ((it = item.weapons - (item.weapons & player.weapons)) || (g_pickup_weapons_anyway && !(g_weapon_stay == 3 && !e.spawnshieldtime)))
{
pickedup = TRUE;
for(i = WEP_FIRST; i <= WEP_LAST; ++i)