Skip to content

Conversation

@IllianiBird
Copy link
Collaborator

A few months ago I promised Luana that I would rewrite our SkillType class, converting it into an enum instead of the weird array thing we currently have. This PR is the first step in that direction, moving various utility methods into their own utility class.

The next step will be the enum migration itself. However, as that's liable to be a chunky PR, I wanted to be kind on whoever reviews the PR by moving this initial setup work into its own PR.

As this PR touches on a wide swathe of the codebase I'm expecting copilot to find a bunch of issues. However, unless those issues relate directly to this refactor they will not be addressed. That is to ensure we're not introducing new issues with this change and to retain some degree of change scope.

@IllianiBird IllianiBird self-assigned this Oct 3, 2025
@IllianiBird IllianiBird requested a review from a team as a code owner October 3, 2025 19:14
@IllianiBird IllianiBird added Refactoring Legacy Improvement Improves a legacy setup's handling. labels Oct 3, 2025
@HammerGS HammerGS requested a review from Copilot October 3, 2025 19:30
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors skill-related utility methods from the SkillType class into a new dedicated SkillUtilities class, replacing experience level constants with new ones prefixed with SKILL_LEVEL_. This is the first step toward converting SkillType from its current array-based implementation to an enum structure.

  • Moved utility methods like getExperienceLevelName(), getColoredExperienceLevelName(), and getExperienceLevelColor() to SkillUtilities
  • Replaced all EXP_* constants with SKILL_LEVEL_* equivalents throughout the codebase
  • Added localization support for skill level names through a new resource bundle

Reviewed Changes

Copilot reviewed 47 out of 47 changed files in this pull request and generated 1 comment.

File Description
SkillUtilities.java New utility class containing relocated skill level methods and constants
SkillType.java Removed static utility methods and constants, updated constructor and references
Multiple test/source files Updated imports and constant references to use new SkillUtilities class
SkillUtilities.properties New resource bundle for localized skill level names
Comments suppressed due to low confidence (2)

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@IllianiBird IllianiBird marked this pull request as draft October 14, 2025 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant