Force generator data role and availability updates #6231
Merged
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.
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.