From d12c62e4d46a8648d64e1b0480e837f8dfcc8ddd Mon Sep 17 00:00:00 2001 From: IllianiCBT Date: Sun, 26 Jan 2025 15:43:48 -0600 Subject: [PATCH] Handle StratCon scenarios for Internal Dissension events Adjusted the logic for Internal Dissension events to account for StratCon-enabled campaigns. Added a support point penalty if StratCon is active, while maintaining the original behavior for non-StratCon campaigns. This ensures compatibility with StratCon mechanics. --- MekHQ/src/mekhq/campaign/mission/AtBContract.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/MekHQ/src/mekhq/campaign/mission/AtBContract.java b/MekHQ/src/mekhq/campaign/mission/AtBContract.java index 17357cf54b..291b23f700 100644 --- a/MekHQ/src/mekhq/campaign/mission/AtBContract.java +++ b/MekHQ/src/mekhq/campaign/mission/AtBContract.java @@ -1009,8 +1009,17 @@ public void checkEvents(Campaign campaign) { break; case 2: text += "Internal Dissension"; - specialEventScenarioDate = getRandomDayOfMonth(campaign.getLocalDate()); - specialEventScenarioType = AtBScenario.AMBUSH; + if (!campaign.getCampaignOptions().isUseStratCon()) { + specialEventScenarioDate = getRandomDayOfMonth(campaign.getLocalDate()); + specialEventScenarioType = AtBScenario.AMBUSH; + } else { + StratconCampaignState campaignState = getStratconCampaignState(); + + if (campaignState != null) { + text += ": -1 Support Point"; + campaignState.addSupportPoints(-1); + } + } break; case 3: text += "ComStar Interdict: Base availability level decreases one level for the rest of the contract.";