Refactoring weapon spread calculations