-
Notifications
You must be signed in to change notification settings - Fork 188
Added ATOW Attributes to Skills; Improved Combat vs. Non-Combat Skill Handling #6534
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Moved all skill-related classes into a discrete package
… Handling - Introduced `SkillAttribute` enum to represent attributes associated with skills. - Includes attributes such as REFLEXES, DEXTERITY, CHARISMA, etc. - Provides a utility method `fromString` for parsing input strings or integers. - Updated `SkillType` class: - Added references to `SkillAttribute` and `SkillSubType`. - Integrated new attributes `firstAttribute`, `secondAttribute`, and `subType`. - Deprecated methods `isCombatSkill`, `isPiloting`, and `isGunnery` in favor of `isSubTypeOf` methods. - Enhanced XML deserialization to handle new attributes and ensure backward compatibility. - Implemented a robust compatibility handler for legacy `SkillType` definitions. - Ensures compliance with new standards by updating subtype and attributes where missing.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #6534 +/- ##
=========================================
Coverage 11.34% 11.35%
- Complexity 6319 6322 +3
=========================================
Files 1082 1082
Lines 137903 137903
Branches 21377 21377
=========================================
+ Hits 15645 15652 +7
+ Misses 120703 120694 -9
- Partials 1555 1557 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This was referenced Apr 2, 2025
Merged
# Conflicts: # MekHQ/src/mekhq/campaign/io/CampaignXmlParser.java # MekHQ/src/mekhq/gui/CommandCenterTab.java # MekHQ/src/mekhq/gui/campaignOptions/CampaignOptionsPane.java # MekHQ/src/mekhq/gui/campaignOptions/contents/AbilitiesTab.java
# Conflicts: # MekHQ/src/mekhq/CampaignPreset.java # MekHQ/src/mekhq/campaign/Campaign.java # MekHQ/src/mekhq/campaign/CampaignOptions.java # MekHQ/src/mekhq/campaign/MercRosterAccess.java # MekHQ/src/mekhq/campaign/againstTheBot/AtBConfiguration.java # MekHQ/src/mekhq/campaign/io/CampaignXmlParser.java # MekHQ/src/mekhq/campaign/market/PersonnelMarket.java # MekHQ/src/mekhq/campaign/market/contractMarket/AtbMonthlyContractMarket.java # MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java # MekHQ/src/mekhq/campaign/mission/resupplyAndCaches/Resupply.java # MekHQ/src/mekhq/campaign/mod/am/InjuryUtil.java # MekHQ/src/mekhq/campaign/parts/AeroLifeSupport.java # MekHQ/src/mekhq/campaign/parts/AeroSensor.java # MekHQ/src/mekhq/campaign/parts/Avionics.java # MekHQ/src/mekhq/campaign/parts/CombatInformationCenter.java # MekHQ/src/mekhq/campaign/parts/FireControlSystem.java # MekHQ/src/mekhq/campaign/parts/LandingGear.java # MekHQ/src/mekhq/campaign/parts/MekActuator.java # MekHQ/src/mekhq/campaign/parts/MekLifeSupport.java # MekHQ/src/mekhq/campaign/parts/MekSensor.java # MekHQ/src/mekhq/campaign/parts/ProtoMekJumpJet.java # MekHQ/src/mekhq/campaign/parts/ProtoMekLegActuator.java # MekHQ/src/mekhq/campaign/parts/ProtoMekSensor.java # MekHQ/src/mekhq/campaign/parts/SpacecraftEngine.java # MekHQ/src/mekhq/campaign/parts/Thrusters.java # MekHQ/src/mekhq/campaign/personnel/Person.java # MekHQ/src/mekhq/campaign/personnel/PersonUtility.java # MekHQ/src/mekhq/campaign/personnel/SkillPerquisite.java # MekHQ/src/mekhq/campaign/personnel/SpecialAbility.java # MekHQ/src/mekhq/campaign/personnel/education/Academy.java # MekHQ/src/mekhq/campaign/personnel/generator/AbstractPersonnelGenerator.java # MekHQ/src/mekhq/campaign/personnel/generator/AbstractSkillGenerator.java # MekHQ/src/mekhq/campaign/personnel/generator/DefaultSkillGenerator.java # MekHQ/src/mekhq/campaign/personnel/turnoverAndRetention/RetirementDefectionTracker.java # MekHQ/src/mekhq/campaign/randomEvents/RoninOffer.java # MekHQ/src/mekhq/campaign/randomEvents/prisoners/EventEffectsManager.java # MekHQ/src/mekhq/campaign/randomEvents/prisoners/PrisonEscapeScenario.java # MekHQ/src/mekhq/campaign/rating/CamOpsReputation/CommandRating.java # MekHQ/src/mekhq/campaign/storyarc/storypoint/CreateCharacterStoryPoint.java # MekHQ/src/mekhq/campaign/stratcon/SupportPointNegotiation.java # MekHQ/src/mekhq/campaign/unit/Unit.java # MekHQ/src/mekhq/campaign/unit/actions/HirePersonnelUnitAction.java # MekHQ/src/mekhq/campaign/universe/generators/companyGenerators/AbstractCompanyGenerator.java # MekHQ/src/mekhq/gui/BriefingTab.java # MekHQ/src/mekhq/gui/CampaignGUI.java # MekHQ/src/mekhq/gui/CommandCenterTab.java # MekHQ/src/mekhq/gui/adapter/PersonnelTableMouseAdapter.java # MekHQ/src/mekhq/gui/campaignOptions/CreateCampaignPreset.java # MekHQ/src/mekhq/gui/campaignOptions/contents/AdvancementTab.java # MekHQ/src/mekhq/gui/campaignOptions/contents/PersonnelTab.java # MekHQ/src/mekhq/gui/campaignOptions/contents/RulesetsTab.java # MekHQ/src/mekhq/gui/campaignOptions/contents/SkillsTab.java # MekHQ/src/mekhq/gui/dialog/BatchXPDialog.java # MekHQ/src/mekhq/gui/dialog/CampaignExportWizard.java # MekHQ/src/mekhq/gui/dialog/CreateCharacterDialog.java # MekHQ/src/mekhq/gui/dialog/CustomizePersonDialog.java # MekHQ/src/mekhq/gui/dialog/DataLoadingDialog.java # MekHQ/src/mekhq/gui/enums/PersonnelTableModelColumn.java # MekHQ/src/mekhq/gui/view/ContractSummaryPanel.java # MekHQ/src/mekhq/gui/view/PersonViewPanel.java # MekHQ/src/mekhq/module/atb/AtBEventProcessor.java # MekHQ/src/mekhq/module/atb/PersonnelMarketAtB.java # MekHQ/unittests/mekhq/campaign/autoresolve/ResolverTest.java # MekHQ/unittests/mekhq/campaign/personnel/education/AcademyTests.java # MekHQ/unittests/mekhq/campaign/randomEvents/prisoners/EventEffectsManagerTest.java # MekHQ/unittests/mekhq/campaign/randomEvents/prisoners/PrisonerMissionEndEventTest.java # MekHQ/unittests/mekhq/campaign/rating/FieldManualMercRevDragoonsRatingTest.java # MekHQ/unittests/mekhq/gui/dialog/nagDialogs/nagLogic/UntreatedPersonnelNagLogicTest.java
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
personnel
and into their own discrete packagepersonnel.skills
.SkillAttribute
enum to represent attributes associated with skills.fromString
for parsing input strings or integers.SkillType
class:SkillAttribute
andSkillSubType
.firstAttribute
,secondAttribute
, andsubType
.isCombatSkill
,isPiloting
, andisGunnery
in favor ofisSubTypeOf
methods.SkillType
definitions.Dev Notes
Nothing too exciting here, basically this is all prep work for an upcoming skills project. It's going to appear more impactful than it is, because of me moving skills into their own package - rather than just sitting, loose, in
personnel
.Testing
Tested with both an existing campaign and a new. Everything stills to work fine.