Few thoughts about weapons with accessories: I think that weapon classes that inherit base weapon and have attachments on them should serve only as virtual weapon classes and actually add base weapon class with attachments attached to it instead. Probably this should be defined by special config value which also will point to base weapon class name.
For example, when you execute: player addWeapon "srifle_EBR_Hamr_point_grip_F"; it should actually add you srifle_EBR_F with attachments listed in LinkedItems of srifle_EBR_Hamr_point_grip_F class. This way we can get rid of confusion of having weapon class that lists attachments in its name while actually attachments might have changed.