add weapon_type enum