Skip to content

Commit

Permalink
Merge pull request #4865 from IllianiCBT/opFor_generation3
Browse files Browse the repository at this point in the history
Implemented Force Generation 3, Including Clan Bidding & Batchall System
  • Loading branch information
HammerGS authored Sep 25, 2024
2 parents 89bdf0d + 84304bf commit a2da605
Show file tree
Hide file tree
Showing 17 changed files with 1,819 additions and 518 deletions.
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

0 comments on commit a2da605

Please sign in to comment.