Skip to content

Commit 640e000

Browse files
authored
Merge pull request #6209 from IllianiCBT/updatedReinforcementTargetNumbers
Updated Reinforcement Target Calculation Logic
2 parents d79c1b6 + 9eb6067 commit 640e000

File tree

2 files changed

+5
-25
lines changed

2 files changed

+5
-25
lines changed

MekHQ/src/mekhq/campaign/stratcon/StratconRulesManager.java

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import mekhq.campaign.force.CombatTeam;
4646
import mekhq.campaign.force.Force;
4747
import mekhq.campaign.mission.*;
48-
import mekhq.campaign.mission.ScenarioForceTemplate.ForceAlignment;
4948
import mekhq.campaign.mission.ScenarioForceTemplate.ForceGenerationMethod;
5049
import mekhq.campaign.mission.ScenarioMapParameters.MapLocation;
5150
import mekhq.campaign.mission.atb.AtBScenarioModifier;
@@ -1657,18 +1656,12 @@ private static ScenarioTemplate getInterceptionScenarioTemplate(Force force, Cam
16571656
* <li>-- If command rights indicate that a liaison is required, the modifier is adjusted.</li>
16581657
* </ol>
16591658
*
1660-
* @param campaign the {@link Campaign} instance representing the current operational campaign.
1661-
* @param scenario the {@link StratconScenario} for which reinforcement details are being determined.
16621659
* @param commandLiaison the {@link Person} acting as the command liaison, or {@code null} if no liaison exists.
1663-
* @param campaignState the {@link StratconCampaignState} representing the state of the overarching campaign.
16641660
* @param contract the {@link AtBContract} defining the terms of the contract for this scenario.
16651661
* @return a {@link TargetRoll} object representing the calculated reinforcement target number,
16661662
* with appropriate modifiers applied.
16671663
*/
1668-
public static TargetRoll calculateReinforcementTargetNumber(Campaign campaign,
1669-
StratconScenario scenario,
1670-
@Nullable Person commandLiaison,
1671-
StratconCampaignState campaignState,
1664+
public static TargetRoll calculateReinforcementTargetNumber(@Nullable Person commandLiaison,
16721665
AtBContract contract) {
16731666
// Create Target Roll
16741667
TargetRoll reinforcementTargetNumber = new TargetRoll();
@@ -1694,21 +1687,8 @@ public static TargetRoll calculateReinforcementTargetNumber(Campaign campaign,
16941687
"Administration (Unskilled)");
16951688
}
16961689

1697-
// Facilities Modifier
1698-
StratconTrackState track = scenario.getTrackForScenario(campaign, campaignState);
1699-
1700-
int facilityModifier = 0;
1701-
if (track != null) {
1702-
for (StratconFacility facility : track.getFacilities().values()) {
1703-
if (facility.getOwner().equals(ForceAlignment.Player) || facility.getOwner().equals(Allied)) {
1704-
facilityModifier--;
1705-
} else {
1706-
facilityModifier++;
1707-
}
1708-
}
1709-
}
1710-
1711-
reinforcementTargetNumber.addModifier(facilityModifier, "Facilities");
1690+
// Enemy Morale Modifier
1691+
reinforcementTargetNumber.addModifier(contract.getMoraleLevel().ordinal(), "Enemy Morale");
17121692

17131693
// Skill Modifier
17141694
int skillModifier = contract.getEnemySkill().getAdjustedValue() - SkillLevel.REGULAR.getAdjustedValue();

MekHQ/src/mekhq/gui/stratcon/StratconScenarioWizard.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -794,8 +794,8 @@ private void reinforcementConfirmDialog() {
794794
JPanel rightBox = new JPanel(new BorderLayout());
795795
rightBox.setBorder(BorderFactory.createEtchedBorder());
796796

797-
TargetRoll reinforcementTargetNumber = calculateReinforcementTargetNumber(
798-
campaign, currentScenario, commandLiaison, currentCampaignState, currentCampaignState.getContract());
797+
TargetRoll reinforcementTargetNumber = calculateReinforcementTargetNumber(commandLiaison,
798+
currentCampaignState.getContract());
799799
int targetNumber = reinforcementTargetNumber.getValue();
800800

801801
StringBuilder rightDescriptionMessage = new StringBuilder();

0 commit comments

Comments
 (0)