-
Notifications
You must be signed in to change notification settings - Fork 188
Added 29 Brand New, Fully Implemented SPAs from A Time of War; Added 2 New Unofficial SPAs #6607
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
- Introduced the ATOW Toughness option for personnel, providing reduced fatigue gain and injury severity. - Updated fatigue calculation logic to account for the new Toughness option when combined with the Glass Jaw flaw. - Ensured Glass Jaw and Toughness cannot coexist due to their opposing effects. - Applied modified fatigue and injury calculations across multiple classes, including `StratconRulesManager`, `ResolveScenarioTracker`, and `EventEffectsManager`. - Refactored redundant logic and improved readability of fatigue and injury handling. - Updated `defaultspa.xml` to define ATOW Toughness attributes and prevent coexistence with Glass Jaw.
- Introduced the "Slow Learner" flaw and "Fast Learner" SPA. - Updated `defaultspa.xml` to include details for both SPAs, including descriptions, XP costs, and interactions. - Adjusted skill XP cost calculations in `Person` class to account for the new SPAs. - Linked "Slow Learner" and "Fast Learner" as mutually exclusive abilities.
- Introduced several new SPAs Flaws from ATOW and ATOW:Companion, including traits like Alternate ID, Ambidextrous, Animal Empathy, Fit, Patient, Poison Resistance, Sixth Sense, and more.
# Conflicts: # MekHQ/src/mekhq/campaign/personnel/Person.java # MekHQ/src/mekhq/campaign/personnel/PersonnelOptions.java
# Conflicts: # MekHQ/src/mekhq/campaign/ResolveScenarioTracker.java # MekHQ/src/mekhq/campaign/personnel/PersonnelOptions.java # MekHQ/src/mekhq/campaign/randomEvents/prisoners/EventEffectsManager.java # MekHQ/src/mekhq/campaign/stratcon/StratconRulesManager.java
…r readability and maintainability: - Clarified condition interactions for `FLAW_GLASS_JAW`, `ATOW_TOUGHNESS`, `ATOW_FIT`, and `FLAW_UNFIT`. - Ensured proper handling of mutually canceling conditions. - Adjusted final multiplier to avoid invalid values (e.g., setting a baseline of 0.5 or 0.25). - Fixed fatigue increase calculation in `ResolveScenarioTracker` by removing incorrect inclusion of `extraHits` in the formula.
- Replaced `getPilotingInjuryMod` and `getGunneryInjuryMod` with a unified `getInjuryModifiers` method. - Improved handling of ambidextrous characters and limb-specific modifiers. - Marked old methods as deprecated for future removal. - Added a new injury type: Transit Disorientation Syndrome. - Introduced effects and recovery logic for this injury. - Applied injury and fatigue mechanics during hyperspace jumps for affected characters. - Updated default SPA (Special Physical Abilities) data with adjusted costs, descriptions, and additions for ATOW:Companion. - Fixed "Half all Fatigue gained" phrasing in ability descriptions.
…ernate ID SPA in `defaultspa.xml`.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6607 +/- ##
============================================
+ Coverage 11.40% 11.44% +0.03%
- Complexity 6450 6474 +24
============================================
Files 1089 1089
Lines 139885 140180 +295
Branches 21642 21745 +103
============================================
+ Hits 15953 16041 +88
- Misses 122339 122505 +166
- Partials 1593 1634 +41 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This was referenced Apr 9, 2025
…n option in `PersonnelOptions`.
- Removed `MUTATION_FREAKISH_STRENGTH_UNOFFICIAL` from personnel options and related XML entries. - Updated relevant methods to eliminate logic handling these unofficial abilities. - Adjusted descriptions and functionality of `MUTATION_FREAKISH_STRENGTH` and `MUTATION_CAT_GIRL` to consolidate effects. - Improved error handling and logging for special ability assignment in `CrewSkillUpgrader`.
…PAs more effectively.
… an increase in maximum Strength by 1.
rjhancock
requested changes
Apr 11, 2025
# Conflicts: # MekHQ/src/mekhq/campaign/personnel/skills/SkillType.java
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Implementation of Missing Official Rule
Used with the RFE tag for the implementation of missing official rule
SPA
Any issue relating to SPA's. Includes Bugs and RFE
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.
Dev Notes
Today was stressful, so I decided to treat myself to a couple of SPAs. All SPAs featured below are fully implemented with their mechanical effects. Are most of them particularly impactful? No, not really. But I imagine the role-players among our player base will get a real kick out of these turning up randomly on new hires.
Fast Learner (ATOW)
Decreases the cost of purchasing and improving Skills by 20% (rounded normally).
If XP adjustments from a high or low Reasoning are enabled, those adjustments are additive. So 20% decrease from this SPA and a 5% increase from Reasoning would equal a 15% decrease.
Slow Learner (ATOW)
Increases the cost of purchasing and improving Skills by 20% (rounded normally).
If XP adjustments from a high or low Reasoning are enabled, those adjustments are additive. So 20% increase from this SPA and a 5% decrease from Reasoning would equal a 15% increase.
Toughness (ATOW)
All injuries suffered are reduced by 25% and Fatigue gain is halved. Fatigue gain from sustaining injuries is not halved.
Sixth Sense (ATOW)
The Target Number of all Perception checks are decreased by 3.
Poison Resistance (ATOW)
The character cannot be poisoned.
Mechanically, this offers few benefits; however, the character will be completely immune to the Fatigue gain from the 'Poisoning' Prisoner Event.
Tech Empathy (ATOW)
The cost of purchasing and improving the Tech/Any, Computers, Communications, or Security Systems/Electronic skills is decreased by 10% (rounded normally).
Furthermore, the Target Number of checks made with such skills is decreased by 1.
Gremlins (ATOW)
The cost of purchasing and improving the Tech/Any, Computers, Communications, or Security Systems/Electronic skills is increased by 10% (rounded normally).
Furthermore, the Target Number of checks made with such skills is increased by 1.
Functional Tail and Mobile Ears (ATOW:Companion)
Decreases Charisma Attribute by 3 (may not take it below 1).
The Target Number of all Perception checks decreased by 1 due to improved hearing.
Functional Tail and Mobile Ears (Unofficial)
Increases Charisma Attribute by 1 (may not take it above 10).
The Target Number of all Perception checks decreased by 1 due to improved hearing.
I added this unofficial version of the above SPA because I know full well some players will try to debate why having tails and ears is a Charisma penalty, given the profound popularity of Catgirls and similar.
Serious Disfigurement (ATOW:Companion)
Decreases Charisma Attribute by 3 (may not take it below 1).
Extremely Excess Facial Hair (ATOW:Companion)
Decreases Charisma Attribute by 1 (may not take it below 1).
Exotic (Yet Pleasing) Appearance (ATOW:Companion)
Increases Charisma Attribute by 1 (may not take it above 10).
Exceptional Immune System (ATOW:Companion)
Recover from injuries at twice the normal rate (Advanced Medical only).
Freakish Strength (ATOW:Companion)
Increases Strength Attribute by 2 (may not take it above 10).
Increases the target number of all Charisma-based skills by 2 due to inhumanly shaped bulk.
Transit Disorientation Syndrome (ATOW)
Is violently ill following a hyperspace jump.
They increase the Target Number of Piloting and Gunnery checks by 1 for 48 hours following the jump (Advanced Medical only).
They also gain Fatigue based on the campaign options fatigue rate (default 1).
Patient (ATOW)
The Target Number of Art/Any, Cryptography, Demolitions, Investigation, Protocols, Security Systems/Any, Strategy, Tactics and Training checks is decreased by 1.
Impatient (ATOW)
The Target Number of Art/Any, Cryptography, Demolitions, Investigation, Protocols, Security Systems/Any, Strategy, Tactics and Training checks is increased by 1.
Gregarious (ATOW)
The Target Number of all Acting and Negotiation checks are decreased by 1.
Introvert (ATOW)
The Target Number of all Acting and Negotiation checks are increased by 1.
Good Vision (ATOW)
The Target Number of all Perception checks is decreased by 1.
Poor Vision (ATOW)
The Target Number of all Perception checks is increased by 1.
Good Hearing (ATOW)
The Target Number of all Perception checks is decreased by 1.
Poor Hearing (ATOW)
The Target Number of all Perception checks is increased by 1.
Fit (ATOW)
Half all Fatigue gained (rounding down).
Unfit (Unofficial)
Doubles all Fatigue gain.
This was added because I have no plans to add the 'Handicap' SPA, as it's not really something we can tastefully model in MekHQ.
Attractive (ATOW)
Decreases the target number of all Charisma-based skills by 2.
Unattractive (ATOW)
Increases the target number of all Charisma-based skills by 2.
Ambidextrous (ATOW)
Removes the penalties from a single missing arm or hand (Advanced Medical only).
Animal Empathy (ATOW)
Decreases the Tar 8000 get Number for all Animal Handling checks by 2.
Animal Antipathy (ATOW)
Increases the Target Number for all Animal Handling checks by 2.
Alternate ID (ATOW)
A low Reputation trait infers a penalty to Negotiation, Streewise and Protocols skill checks. This SPA reduces that penalty by 2.
While this SPA does exist in ATOW (and that's where you'll find its description), these effects are unique to MekHQ as the RAW effects aren't something we could model.