-
Notifications
You must be signed in to change notification settings - Fork 176
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
[FG3] Updated Aircraft Force Generation, Unit Culling, and Added ProtoMeks #5247
Merged
Conversation
This file contains 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
IllianiCBT
added
the
Force Generation
Anything related to Force Generation (Opfor or Friendly)
label
Nov 25, 2024
Closes #5241 |
Whoops, closed the wrong thing! |
MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java
Dismissed
Show dismissed
Hide dismissed
MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java
Dismissed
Show resolved
Hide resolved
MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java
Dismissed
Show dismissed
Hide dismissed
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5247 +/- ##
============================================
- Coverage 10.50% 10.49% -0.02%
+ Complexity 6044 6035 -9
============================================
Files 957 957
Lines 134716 134787 +71
Branches 19572 19600 +28
============================================
- Hits 14149 14140 -9
- Misses 119216 119296 +80
Partials 1351 1351 ☔ View full report in Codecov by Sentry. |
Updated `checkForProtoMek` to return lists and modified unit type assignments to accommodate multiple units. Ensured that ProtoMek check returns five instances where necessary, improving overall scenario management.
MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java
Dismissed
Show resolved
Hide resolved
MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java
Dismissed
Show dismissed
Hide dismissed
7 tasks
Updated Clan Bidding to use the same system of rebuilding the OpFor force, rather than removing random elements. |
Replaced String-based entity handling with Entity objects for more precise manipulation during the bidding process. Simplified and optimized the logic to shuffle and manage bid away forces, ensuring better maintainability and readability. Updated report generation to reflect usage of Entity properties, enhancing the clarity of battle reports.
7 tasks
HammerGS
approved these changes
Nov 26, 2024
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.
Adjusted the two DropShip Escort scenarios to veer less towards spamming units. This was achieved by marking the DropShips as not contributing towards BV, but then doubling the BV allowance of the OpFor.
Adjusted how aircraft forces are generated. Previously, whenever a planet-owner generated an arial force there was a 50/50 chance they would spawn Conventional Fighters. In addition, the size of Conventional Fighter forces was around 6 units (triple the standard array). When combined with the very low BV2 / GBV cost of Conventional Fighters, this meant when those forces were spawned they disproportionately flooded the OpFor. In many cases 6 Conventional Fighters were still less BV2/GBV than a single Aerospace Fighter. Now Conventional Fighter flights match the size of their Aerospace compatriots.
The chance of a Conventional Fighter force occurring is now tied to the vehicle and mixed ratios defined in Campaign Options. This made sense as, compared to Aerospace Fighters, Conventional aircraft as essentially the vehicles of the sky.
I further updated the method that determines the size of an aircraft force, drastically simplifying it and bringing it in canon for ComStar and Clan factions.
I have also added unit substitution for aircraft scenarios. This was added to ground scenarios with the launch of FG3, however due to its experimental state it was not extended to aircraft scenarios. That is no longer the case, which should primarily benefit Clan factions who have very limited access to Conventional Fighters.
Moving on from aircraft I rewrote the code used to cull forces. We've received a lot of feedback about the way we previously culled units to bring the force within budget. Frequently this resulted in the force being substantially under-budget - especially with smaller budgets.
Now, instead of culling units we instead take all the units generated and put them in a pile. We then take each unit and add it to a 'bucket' the size of which is equal to the BV budget for the scenario. We keep adding units to the bucket, skipping any units that would exceed the size of the bucket. This substantially reduces the tendency of FG3 to under-BV, while also removing FG3 similar tendency to over-BV.
Finally, Clan forces can now spawn ProtoMeks as a part of their forces on 3057 has been reached. A ProtoMek force will replace a Mek force 6% of the time. This is based on the tables on p265 of TW.