Skip to content

Add SkillListField editor for character skills and master skill tree in admin panel#717

Draft
Copilot wants to merge 2 commits intomasterfrom
copilot/add-editor-for-skills-tree
Draft

Add SkillListField editor for character skills and master skill tree in admin panel#717
Copilot wants to merge 2 commits intomasterfrom
copilot/add-editor-for-skills-tree

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 21, 2026

Adds admin panel editing support for a character's ICollection<SkillEntry> — both the regular skill list and the master skill tree (organized by root/rank as shown in-game).

New components

  • SkillListFieldBuilderIComponentBuilder matching ICollection<SkillEntry>, registered in AutoFields before ObjectCollectionFieldBuilder to take precedence
  • SkillListField.razor — two-section editor:
    • Regular skills: table with Add (reuses ModalCreateNew<SkillEntry> + SkillEntryCreationForm, filtered by character class) and Remove per entry
    • Master skill tree: three-column flex grid (one per MasterSkillRoot), rows by Rank, each skill showing name, prerequisite indicator (↑ RequiredSkill), and a 0–MaximumLevel numeric input; Reset Master Skills button clears all master entries (addresses Is it possible to reset the learned Master Points in the management panel? #495)
  • SkillListField.razor.css — dark-themed CSS isolation; active skills (level > 0) highlighted in gold

Key logic (SkillListField.razor.cs)

  • Extracts the Character owner from ValueExpression (pattern from ItemTable) to filter master skills by CharacterClass
  • All available master skills loaded from IDataSource<GameConfiguration>, filtered to QualifiedCharacters
  • Level change handler creates a new SkillEntry (level > 0, entry absent), updates in-place, or deletes (level → 0)
  • Reset enumerates and deletes all entries where Skill.MasterDefinition != null
Original prompt

This section details on the original issue you should resolve

<issue_title>Editor for skills and master skill tree of a character</issue_title>
<issue_description>Is your feature request related to a problem? Please describe.
We want to edit the skills and the master skill tree of a character on the admin panel.

Describe the solution you'd like
Add a new FieldBuilder to the AutoFields which handles ICollection<SkillEntry> properties.
The new component should allow to edit the normal skill list, as well as the master skill tree.
Master skills can be identified by the Skill.MasterDefinition property - if it's null, then it's a normal skill.
The master skill tree should look similar to the one in game, where we have three parts side-by-side, one for each master skill root and then one row per rank and multiple skills per row. For each master skill, the skill level should be editable within the allowed level ranges. Dependencies between differently ranked skills should be made visible to the user.
Per master skill, show the name of the skill (the icon is not yet required) and a input for the numerical level value.
Add a button to reset the master skill tree, as required by #495.

Additional context
See also #714

Example from game client:
Image</issue_description>

Comments on the Issue (you are @copilot in this section)


📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.

…aster skill tree

Co-authored-by: sven-n <5238610+sven-n@users.noreply.github.com>
Agent-Logs-Url: https://github.com/MUnique/OpenMU/sessions/56ac52d9-4a9d-46c6-8148-cedcccd99428
Copilot AI changed the title [WIP] Add editor for skills and master skill tree of a character Add SkillListField editor for character skills and master skill tree in admin panel Mar 21, 2026
Copilot AI requested a review from sven-n March 21, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Editor for skills and master skill tree of a character

2 participants