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

Implemented Force Generation 3, Including Clan Bidding & Batchall System #4865

Merged
merged 23 commits into from
Sep 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
01b5437
Refactor force weight calculation
IllianiCBT Sep 20, 2024
64ea5f1
Refactor AtBDynamicScenarioFactory and AtBConfiguration
IllianiCBT Sep 20, 2024
82eebef
Refactor StratConSkillGenerator skill logic
IllianiCBT Sep 20, 2024
5794832
Log and adjust BV culling in AtB mission factory
IllianiCBT Sep 20, 2024
58e4e87
Refactored AtB scenario modifier applicator
IllianiCBT Sep 20, 2024
bc00cc9
Add option for using Generic Battle Value in scenarios
IllianiCBT Sep 20, 2024
83920ca
Add option for using Generic Battle Value in scenarios
IllianiCBT Sep 20, 2024
810e406
Merge remote-tracking branch 'origin/opFor_generation3' into opFor_ge…
IllianiCBT Sep 20, 2024
f0a7360
Refactor forceBV calculation in scenario generation
IllianiCBT Sep 20, 2024
fdbe731
Add optional standard BV calculation and Clan force bid logic
IllianiCBT Sep 21, 2024
d042c38
Add verbose bidding mode for Clan forces
IllianiCBT Sep 22, 2024
5970df3
Update AtBDynamicScenarioFactory: Add Batchall initiation
IllianiCBT Sep 22, 2024
f31a9a0
Fix Batchall initiation for non-player forces
IllianiCBT Sep 22, 2024
8e23980
Update batchall conclusion text in scenario report
IllianiCBT Sep 22, 2024
47229ca
Add variation to batchallConcluded report text
IllianiCBT Sep 22, 2024
bcc4df5
Implement dynamic honor rating for Clan bot bidding
IllianiCBT Sep 22, 2024
0161edc
Refactored Batchall initiation logic
IllianiCBT Sep 23, 2024
6e19ad4
Merge branch 'refs/heads/master' into opFor_generation3
IllianiCBT Sep 23, 2024
64bfdf8
Improve logging format for force generation and culling
IllianiCBT Sep 23, 2024
df83fd5
Update enemy handling in AtBContract
IllianiCBT Sep 24, 2024
66bc4aa
Introduced the beginnings of the Fame and Infamy module with batchall…
IllianiCBT Sep 24, 2024
33eaf30
Refactored Batchall handling with detailed faction-specific logic
IllianiCBT Sep 25, 2024
84304bf
Refactor dialog handling in Batchall classes (again)
IllianiCBT Sep 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 34 additions & 51 deletions MekHQ/data/universe/atbconfig.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,31 +29,16 @@ of 4. An entry of the form <entry>option</entry> has a weight of 1.
format. -->
<botForce org="IS,CLAN,CS">
<weightedTable weightClass="L">
<entry weight="9">M</entry>
<entry weight="7">LL</entry>
<entry weight="4">H</entry>
<entry weight="1">L</entry>
</weightedTable>
<weightedTable weightClass="M">
<entry weight="5">LL</entry>
<entry weight="5">H</entry>
<entry weight="10">ML</entry>
<entry weight="1">M</entry>
</weightedTable>
<weightedTable weightClass="H">
<entry weight="3">LLL</entry>
<entry weight="4">MM</entry>
<entry weight="2">A</entry>
<entry weight="3">HL</entry>
<entry weight="4">MLL</entry>
<entry weight="4">HM</entry>
<entry weight="1">H</entry>
</weightedTable>
<weightedTable weightClass="A">
<entry weight="4">MML</entry>
<entry weight="3">HLL</entry>
<entry weight="2">HH</entry>
<entry weight="2">AL</entry>
<entry weight="4">MMM</entry>
<entry weight="3">HML</entry>
<entry weight="2">AM</entry>
<entry weight="1">A</entry>
</weightedTable>
</botForce>

Expand All @@ -64,83 +49,81 @@ of 4. An entry of the form <entry>option</entry> has a weight of 1.

<botLance org="IS">
<weightedTable weightClass="L">
<entry weight="3">LLLL</entry>
<entry weight="1">LLLL</entry>
<entry weight="2">LLLM</entry>
<entry weight="1">LLMM</entry>
<entry weight="2">LLMM</entry>
<entry weight="1">LLMH</entry>
</weightedTable>
<weightedTable weightClass="M">
<entry weight="1">LLMM</entry>
<entry weight="2">LMMM</entry>
<entry weight="1">LMMH</entry>
<entry weight="2">MMMM</entry>
<entry weight="1">MMMH</entry>
<entry weight="2">MMMH</entry>
<entry weight="1">MMHH</entry>
</weightedTable>
<weightedTable weightClass="H">
<entry weight="1">MMHH</entry>
<entry weight="2">MHHH</entry>
<entry weight="1">MHHH</entry>
<entry weight="2">HHHH</entry>
<entry weight="2">MHHA</entry>
<entry weight="1">HHHA</entry>
</weightedTable>
<weightedTable weightClass="A">
<entry weight="1">MHAA</entry>
<entry weight="2">HHAA</entry>
<entry weight="3">HAAA</entry>
<entry weight="2">HAAA</entry>
<entry weight="1">AAAA</entry>
</weightedTable>
</botLance>

<botLance org="CLAN">
<weightedTable weightClass="L">
<entry>LLLLL</entry>
<entry>LLLLM</entry>
<entry>LLLMM</entry>
<entry weight="1">LLLLL</entry>
<entry weight="2">LLLLM</entry>
<entry weight="2">LLMMM</entry>
<entry weight="1">LLMMH</entry>
</weightedTable>
<weightedTable weightClass="M">
<entry weight="1">LLMMM</entry>
<entry weight="1">LMMMM</entry>
<entry weight="2">MMMMM</entry>
<entry weight="1">MMMMH</entry>
<entry weight="2">MMMMH</entry>
<entry weight="1">MMMHH</entry>
</weightedTable>
<weightedTable weightClass="H">
<entry weight="1">MMHHH</entry>
<entry weight="2">MHHHH</entry>
<entry weight="2">HHHHH</entry>
<entry weight="1">HHHHA</entry>
<entry weight="1">MHHHA</entry>
</weightedTable>
<weightedTable weightClass="A">
<entry weight="1">MHHAA</entry>
<entry weight="2">HHHHA</entry>
<entry weight="2">HHHAA</entry>
<entry weight="2">HHAAA</entry>
<entry weight="1">AAAAA</entry>
<entry weight="1">HHAAA</entry>
</weightedTable>
</botLance>

<botLance org="CS">
<weightedTable weightClass="L">
<entry weight="1">LLLLLL</entry>
<entry weight="2">LLLLLM</entry>
<entry weight="2">LLLLMM</entry>
<entry weight="1">LLLMMM</entry>
<entry weight="2">LLLMMM</entry>
<entry weight="1">LLLMHH</entry>
</weightedTable>
<weightedTable weightClass="M">
<entry weight="1">LLLMMM</entry>
<entry weight="1">LLMMMM</entry>
<entry weight="1">LMMMMM</entry>
<entry weight="1">MMMMMM</entry>
<entry weight="1">MMMMMH</entry>
<entry weight="1">MMMMHH</entry>
<entry weight="1">LLMMHH</entry>
<entry weight="2">MMMMMM</entry>
<entry weight="2">MMMMHH</entry>
<entry weight="1">MMMHHH</entry>
</weightedTable>
<weightedTable weightClass="H">
<entry>MMMHHH</entry>
<entry>MMHHHH</entry>
<entry>MHHHHH</entry>
<entry>HHHHHH</entry>
<entry>HHHHHA</entry>
<entry>HHHHAA</entry>
<entry weight="1">MMHHHH</entry>
<entry weight="2">HHHHHH</entry>
<entry weight="2">MMHHAA</entry>
<entry weight="1">HHHHAA</entry>
</weightedTable>
<weightedTable weightClass="A">
<entry weight="1">MMHAAA</entry>
<entry weight="2">HHHAAA</entry>
<entry weight="1">HHAAAA</entry>
<entry weight="2">HAAAAA</entry>
<entry weight="2">HHAAAA</entry>
<entry weight="1">AAAAAA</entry>
</weightedTable>
</botLance>
Expand Down
15 changes: 15 additions & 0 deletions MekHQ/resources/mekhq/resources/AtBContract.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# initiateBatchall
incomingTransmission.title=++INCOMING TRANSMISSION++

starColonel.text=Star Colonel
batchallOpener.text=<html><center><b>%s</b><br>"I am %s %s commanding the %s forces on %s.<br>
batchallCloser.text=<br><br><b>Do you accept the Batchall?</b></center></html>
responseAccept.text=Accept Batchall
responseAccept.tooltip=The scenarios for this contract will be balanced to roughly match your forces.
responseRefuse.text=Refuse Batchall
responseRefuse.tooltip=You will face the full strength of the Clans during this contract, and they will regard you less favorably in future dealings.
responseBringItOn.text=Bring It On
responseBringItOn.tooltip=You will face the full strength of the Clans during this contract.

refusalConfirmation.text=Are you sure? %s will not forget this betrayal.
refusalReport.text=<center><b>YOU DARE TO REFUSE MY BATCHALL!?!</b></center>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# reportResultsOfBidding
bidAwayForcesVerbose.text=%s (<b>%s/%s</b>) has bid away the following forces:<br><br>%s<br>
bidAwayForces.text=%s (<b>%s/%s</b>) has bid away %s units.
addedBattleArmorNewReport.text=%s (<b>%s/%s</b>) has supplemented their force with %s additional unit/s of Battle Armor.
addedBattleArmorContinueReport.text=<br>They also supplemented their force with %s additional unit/s of Battle Armor.
batchallConcludedVersion1.text=<br><br>"Bargained Well and Done.</html>"
batchallConcludedVersion2.text=<br><br>"Well-Bargained and Done.</html>"
Original file line number Diff line number Diff line change
Expand Up @@ -898,6 +898,13 @@ chkAdjustPaymentForStrategy.text=Adjust contract payment for deployment limits
chkAdjustPaymentForStrategy.toolTipText=<html>If the number of lances required to be deployed exceeds the current commander's strategy skill, <br>reduce the number when calculating new contracts and reduce the payment proportionally</html>.
lblAdditionalStrategyDeployment.text=Per rank of strategy:
spnAdditionalStrategyDeployment.toolTipText=The number of additional lances that can be deployed for each increase in strategy skill.
chkUseGenericBattleValue.text=Use Force Generation 3
chkUseGenericBattleValue.toolTipText=Bot forces are balanced used Generic Battle Value, an estimation of the average battle value for a unit of that type and weight.\
\ This ignores pilot skill, meaning contracts against Green and Elite OpFors should feel fundamentally different.\
\ Similarly, OpFors with higher or lower than average equipment (such as Clans or Pirates) will present higher or lower difficulty scenarios.
chkUseVerboseBidding.text=Use Verbose Bidding
chkUseVerboseBidding.toolTipText=When Generic BV is in use, Clan OpFors will engage in bidding prior to the scenario.\
\ If this option is enabled, a list of all units bid away will be provided.
chkUseVehicles.text=Use vehicles
chkUseVehicles.toolTipText=Enemy forces can include vehicles.
chkClanVehicles.text=Clan OpFors use vehicles
Expand Down
Loading