Refactor weapon adaptation