Skip to content
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

Force generator data role and availability updates #6231

Merged
merged 2 commits into from
Nov 29, 2024

Conversation

SuperStucco
Copy link
Collaborator

Over the years I've been updating my own copy of the force generator availability files - doing some cleaning, adding role designations to specialist units, and so on. This update ports over the applicable changes plus incorporates some reviews/updates.

Most of this is based on assigning roles. To be specific these are the force generator roles, detailed in ...\docs\RAT and Force Generator Stuff\rat-generator.txt which allow for creating more specialized forces. For example, generating a force with the URBAN role is more likely to have units with short ranged weapons, wheeled vehicles, and similar characteristics. A force generated with the FIRE_SUPPORT role should be mostly long ranged weapons, while one with the CAVALRY role should be a strong balance of armor, speed, and concentrated firepower.

As I was updating those, I was also doing a quick back-check for faction availability using MUL as a guide. This part wasn't exhaustive, there are many units which were not reviewed as they were not otherwise updated. That's going to need an ongoing/rolling operation on a targeted basis e.g. FWL sub-states (those are a little chaotic and could use some work), Escorpion Imperio/Scorpion Empire (they have a lot of units inherited from many different factions), early Star League, early Pentagon/KLONDIKE era, etc.

Part of the faction availability checking was reviewing for consistency and optimizing. Many early units have limited chassis availability e.g. TH:8 (Terran Hegemony) while their single model has been copied back from a later era, such as CC:8,IS:8,Periphery.Deep:8,FS:8,Periphery:8. That can normally be simplified down to IS:8 (which covers the TH faction), but can be further optimized to TH:8 as the unit is only available to that faction. The Balius OmniMek is a good example of this optimization - the chassis is limited to CHH (Clan Hell's Horses), with numerous model entries set to General:8. When this data is processed it first checks for CHH, and not finding that it starts working it's way up through the faction parentage CHH > CLAN.IS > CLAN > General. This optimization should save a few processing cycles and have a modest performance improvement, as well as improve readability for future updates.

Particular attention was paid to battle armor availability, ensuring that different factions get their appropriate squad sizes. Most IS and Periphery nations will deploy (Sqd4) squads, while the Marian Hegemony deploys (Sqd5) contubernium, and ComStar/WOB deploys (Sqd6) Level Is.

Covers a couple of faction code updates, closing #5393 and #5395.

SuperStucco added 2 commits November 27, 2024 20:30
@SuperStucco
Copy link
Collaborator Author

For those looking for the gory details, see attached.
Unit update commit log.txt

@IllianiCBT
Copy link
Collaborator

A happy thanksgiving to you, too! I have been waiting eagerly for this and I’m really happy to see you got it across the finish line!

Does this include the expansion of Civilian, Support, and Cargo roles?

Copy link

codecov bot commented Nov 28, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 29.01%. Comparing base (60a4fe0) to head (2ada98e).
Report is 104 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #6231   +/-   ##
=========================================
  Coverage     29.01%   29.01%           
- Complexity    13982    13985    +3     
=========================================
  Files          2649     2649           
  Lines        268128   268128           
  Branches      47723    47723           
=========================================
+ Hits          77798    77802    +4     
+ Misses       186445   186440    -5     
- Partials       3885     3886    +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@SuperStucco
Copy link
Collaborator Author

No, I'm going to do the Civilian RATs as a separate PR. That's going to be another whopper, and I'm aiming for future data updates to be smaller and easier to review.

@HammerGS HammerGS merged commit 9afd4fe into MegaMek:master Nov 29, 2024
6 checks passed
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.

3 participants