From 1fef6d5638bbb560d4abefa60532f09b43e29207 Mon Sep 17 00:00:00 2001 From: DM0000 <98051919+DM0000@users.noreply.github.com> Date: Fri, 31 Jan 2025 15:08:38 -0700 Subject: [PATCH] add back in mission link check, add check for other linked missions before reinforcement --- MekHQ/src/mekhq/campaign/Campaign.java | 9 +++++++++ MekHQ/src/mekhq/gui/BriefingTab.java | 4 +++- .../mekhq/gui/dialog/ResolveScenarioWizardDialog.java | 3 ++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/MekHQ/src/mekhq/campaign/Campaign.java b/MekHQ/src/mekhq/campaign/Campaign.java index a744a0583f..6e49c0adf7 100644 --- a/MekHQ/src/mekhq/campaign/Campaign.java +++ b/MekHQ/src/mekhq/campaign/Campaign.java @@ -9181,4 +9181,13 @@ public ImageIcon getCampaignFactionIcon() { } return icon; } + + public boolean checkLinkedScenario(int sID){ + for(Scenario s : getScenarios()){ + if(s.getId() == sID){ + return true; + } + } + return false; + } } diff --git a/MekHQ/src/mekhq/gui/BriefingTab.java b/MekHQ/src/mekhq/gui/BriefingTab.java index 13255533cc..f41b3f43da 100644 --- a/MekHQ/src/mekhq/gui/BriefingTab.java +++ b/MekHQ/src/mekhq/gui/BriefingTab.java @@ -1297,7 +1297,9 @@ public void refreshScenarioView() { // later SwingUtilities.invokeLater(() -> scrollScenarioView.getVerticalScrollBar().setValue(0)); - final boolean canStartGame = scenario.canStartScenario(getCampaign()); + final boolean canStartGame = ( + (getCampaign().checkLinkedScenario(scenario.getId())) && (scenario.canStartScenario(getCampaign())) + ); btnStartGame.setEnabled(canStartGame); btnJoinGame.setEnabled(canStartGame); diff --git a/MekHQ/src/mekhq/gui/dialog/ResolveScenarioWizardDialog.java b/MekHQ/src/mekhq/gui/dialog/ResolveScenarioWizardDialog.java index 727301a8a0..3fb49f8f8c 100644 --- a/MekHQ/src/mekhq/gui/dialog/ResolveScenarioWizardDialog.java +++ b/MekHQ/src/mekhq/gui/dialog/ResolveScenarioWizardDialog.java @@ -1618,7 +1618,8 @@ private void finish() { StratconRulesManager.processScenarioCompletion(tracker); - if (reinforcementsSent || tracker.getScenario().getStatus().isVictory()) { + if (reinforcementsSent && tracker.getScenario().getStatus().isVictory() + && tracker.getCampaign().checkLinkedScenario(tracker.getScenario().getId())) { StratconRulesManager.linkedScenerioProcessing(tracker, forces); }