finished weapon/armor refactor