-
Couldn't load subscription status.
- Fork 198
Feature: Advanced Character Builder Phase One - Life Path Builder #7625
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
MekHQ/src/mekhq/campaign/personnel/advancedCharacterBuilder/LifePathValidator.java
Fixed
Show fixed
Hide fixed
MekHQ/src/mekhq/gui/dialog/advancedCharacterBuilder/lifePathBuilder/LifePathSPAPicker.java
Show resolved
Hide resolved
MekHQ/src/mekhq/gui/dialog/advancedCharacterBuilder/lifePathBuilder/LifePathTraitPicker.java
Show resolved
Hide resolved
There was a problem hiding this 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 introduces the first phase of the Advanced Character Builder (ACB) feature, specifically implementing a Life Path Builder that allows users and developers to create, load, and customize Life Paths for ATOW-style character creation with rich backgrounds and diverse skills.
Key changes:
- Addition of Life Path Builder dialog accessible through the Manage menu
- Complete Life Path creation system with basic information, requirements, exclusions, and XP awards
- Support for importing/exporting Life Path configurations via JSON
- New skill subtypes and validation systems for Life Path data
Reviewed Changes
Copilot reviewed 64 out of 64 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| LifePathBuilderDialog.java | Main dialog implementation for Life Path creation and management |
| LifePathTab.java | Tab implementation for different Life Path configuration sections |
| LifePathTabBasicInformation.java | Basic information tab for Life Path metadata |
| Various picker classes | UI components for selecting attributes, skills, traits, factions, etc. |
| LifePathXPCostCalculator.java | XP cost calculation logic for Life Paths |
| LifePathValidator.java | Validation system for Life Path data integrity |
| SkillSubType.java | Enhanced skill subtype enumeration with display support |
| Test files | Unit tests for Life Path functionality validation |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
MekHQ/src/mekhq/gui/dialog/advancedCharacterBuilder/lifePathBuilder/LifePathTab.java
Show resolved
Hide resolved
MekHQ/unittests/mekhq/campaign/personnel/advancedCharacterBuilder/ATOWLifeStageTest.java
Show resolved
Hide resolved
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #7625 +/- ##
============================================
- Coverage 12.12% 11.77% -0.36%
+ Complexity 7296 7237 -59
============================================
Files 1201 1219 +18
Lines 151532 155074 +3542
Branches 22951 23266 +315
============================================
- Hits 18372 18254 -118
- Misses 131261 134932 +3671
+ Partials 1899 1888 -11 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| implementation 'org.jfree:jfreechart:1.5.6' | ||
|
|
||
| implementation 'com.fasterxml.jackson.core:jackson-core:2.19.2' | ||
| implementation 'com.fasterxml.jackson.core:jackson-databind:2.19.2' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
iirc I needed this for handling JSON as until now we only worked in csv, yml, and xml in mhq
# Conflicts: # MekHQ/src/mekhq/campaign/Campaign.java
| } | ||
|
|
||
| Integer workingFlexibleAttributes = storedFlexibleAttributes.get(index); | ||
| int flexibleMinimumValue = getAttributeMinimumValue(tabType, true); |
Check notice
Code scanning / CodeQL
Unread local variable Note
|
|
||
| Integer workingFlexibleAttributes = storedFlexibleAttributes.get(index); | ||
| int flexibleMinimumValue = getAttributeMinimumValue(tabType, true); | ||
| int flexibleMaximumValue = getAttributeMaximumValue(tabType); |
Check notice
Code scanning / CodeQL
Unread local variable Note
This PR introduces the first phase of the upcoming Advanced Character Builder (ACB). Specifically, this PR introduces the ability for users and developers to write, load, and customize their own Life Paths.
These Life Paths will be used by ACB to construct ATOW-style characters with rich backgrounds and diverse skills.
The Life Path Builder can be accessed here:
This PR is still WIP and is being posted solely so @HammerGS can have a play - he's been waiting very patiently.