Does the weapon have all the attachments specified?
Example:
WeaponHasAttachment( weapon, "extbarrel", "damage, "fmj" )