Refactored weapon define.