From f3b74edd345743e28a1f12ec8250feada985f04c Mon Sep 17 00:00:00 2001 From: sleet01 Date: Wed, 8 May 2024 19:04:38 -0700 Subject: [PATCH] Backport Fix for MHQ #4062 to 0.49.19.1 --- MekHQ/src/mekhq/AtBGameThread.java | 24 ++++++++++++------- .../mission/AtBDynamicScenarioFactory.java | 2 +- .../mekhq/campaign/mission/AtBScenario.java | 12 +++++----- .../atb/scenario/AceDuelBuiltInScenario.java | 2 +- .../scenario/OfficerDuelBuiltInScenario.java | 2 +- .../stratcon/StratconRulesManager.java | 2 +- .../mekhq/gui/view/AtBScenarioViewPanel.java | 2 +- 7 files changed, 26 insertions(+), 20 deletions(-) diff --git a/MekHQ/src/mekhq/AtBGameThread.java b/MekHQ/src/mekhq/AtBGameThread.java index 39dae6a7c5..0234854d5e 100644 --- a/MekHQ/src/mekhq/AtBGameThread.java +++ b/MekHQ/src/mekhq/AtBGameThread.java @@ -157,15 +157,21 @@ public void run() { Thread.sleep(MekHQ.getMHQOptions().getStartGameDelay()); PlanetaryConditions planetaryConditions = new PlanetaryConditions(); - planetaryConditions.setLight(scenario.getLight()); - planetaryConditions.setWeather(scenario.getWeather()); - planetaryConditions.setWind(scenario.getWind()); - planetaryConditions.setFog(scenario.getFog()); - planetaryConditions.setAtmosphere(scenario.getAtmosphere()); - planetaryConditions.setGravity(scenario.getGravity()); - planetaryConditions.setEMI(scenario.getEMI()); - planetaryConditions.setBlowingSand(scenario.getBlowingSand()); - planetaryConditions.setTemperature(scenario.getModifiedTemperature()); + if (campaign.getCampaignOptions().isUseLightConditions()) { + planetaryConditions.setLight(scenario.getLight()); + } + if (campaign.getCampaignOptions().isUseWeatherConditions()) { + planetaryConditions.setWeather(scenario.getWeather()); + planetaryConditions.setWind(scenario.getWind()); + planetaryConditions.setFog(scenario.getFog()); + planetaryConditions.setEMI(scenario.getEMI()); + planetaryConditions.setBlowingSand(scenario.getBlowingSand()); + planetaryConditions.setTemperature(scenario.getModifiedTemperature()); + } + if (campaign.getCampaignOptions().isUsePlanetaryConditions()) { + planetaryConditions.setAtmosphere(scenario.getAtmosphere()); + planetaryConditions.setGravity(scenario.getGravity()); + } client.sendPlanetaryConditions(planetaryConditions); Thread.sleep(MekHQ.getMHQOptions().getStartGameDelay()); diff --git a/MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java b/MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java index 3fcfc99b27..be534b8825 100644 --- a/MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java +++ b/MekHQ/src/mekhq/campaign/mission/AtBDynamicScenarioFactory.java @@ -720,7 +720,7 @@ private static void setLightConditions(AtBDynamicScenario scenario) { * @param scenario The scenario for which to set weather conditions. */ private static void setWeather(AtBDynamicScenario scenario) { - scenario.setWeather(); + scenario.setWeatherConditions(); } /** diff --git a/MekHQ/src/mekhq/campaign/mission/AtBScenario.java b/MekHQ/src/mekhq/campaign/mission/AtBScenario.java index e846dc85a5..0629119bcc 100644 --- a/MekHQ/src/mekhq/campaign/mission/AtBScenario.java +++ b/MekHQ/src/mekhq/campaign/mission/AtBScenario.java @@ -280,15 +280,15 @@ public ResourceBundle getResourceBundle() { */ private void initBattle(Campaign campaign) { setTerrain(); + if (campaign.getCampaignOptions().isUsePlanetaryConditions() && + null != campaign.getMission(getMissionId())) { + setPlanetaryConditions(campaign.getMission(getMissionId()), campaign); + } if (campaign.getCampaignOptions().isUseLightConditions()) { setLightConditions(); } if (campaign.getCampaignOptions().isUseWeatherConditions()) { - setWeather(); - } - if (campaign.getCampaignOptions().isUsePlanetaryConditions() && - null != campaign.getMission(getMissionId())) { - setPlanetaryConditions(campaign.getMission(getMissionId()), campaign); + setWeatherConditions(); } setMapSize(); setMapFile(); @@ -324,7 +324,7 @@ public void setLightConditions() { setLight(TCO.rollLightCondition(getTerrainType())); } - public void setWeather() { + public void setWeatherConditions() { // weather is irrelevant in these situations. if (getBoardType() == AtBScenario.T_SPACE || getBoardType() == AtBScenario.T_ATMOSPHERE) { diff --git a/MekHQ/src/mekhq/campaign/mission/atb/scenario/AceDuelBuiltInScenario.java b/MekHQ/src/mekhq/campaign/mission/atb/scenario/AceDuelBuiltInScenario.java index 4dbef5a8c7..6b83f69e62 100644 --- a/MekHQ/src/mekhq/campaign/mission/atb/scenario/AceDuelBuiltInScenario.java +++ b/MekHQ/src/mekhq/campaign/mission/atb/scenario/AceDuelBuiltInScenario.java @@ -64,7 +64,7 @@ public void setLightConditions() { } @Override - public void setWeather() { + public void setWeatherConditions() { setWeather(Weather.CLEAR); setWind(Wind.CALM); setFog(Fog.FOG_NONE); diff --git a/MekHQ/src/mekhq/campaign/mission/atb/scenario/OfficerDuelBuiltInScenario.java b/MekHQ/src/mekhq/campaign/mission/atb/scenario/OfficerDuelBuiltInScenario.java index e493033c7c..97271ceefa 100644 --- a/MekHQ/src/mekhq/campaign/mission/atb/scenario/OfficerDuelBuiltInScenario.java +++ b/MekHQ/src/mekhq/campaign/mission/atb/scenario/OfficerDuelBuiltInScenario.java @@ -64,7 +64,7 @@ public void setLightConditions() { } @Override - public void setWeather() { + public void setWeatherConditions() { setWeather(Weather.CLEAR); setWind(Wind.CALM); setFog(Fog.FOG_NONE); diff --git a/MekHQ/src/mekhq/campaign/stratcon/StratconRulesManager.java b/MekHQ/src/mekhq/campaign/stratcon/StratconRulesManager.java index b177720743..13d42f1a0e 100644 --- a/MekHQ/src/mekhq/campaign/stratcon/StratconRulesManager.java +++ b/MekHQ/src/mekhq/campaign/stratcon/StratconRulesManager.java @@ -232,7 +232,7 @@ public static void setScenarioParametersFromBiome(StratconTrackState track, Stra backingScenario.setMap(mapTypeList.get(Compute.randomInt(mapTypeList.size()))); } backingScenario.setLightConditions(); - backingScenario.setWeather(); + backingScenario.setWeatherConditions(); } } diff --git a/MekHQ/src/mekhq/gui/view/AtBScenarioViewPanel.java b/MekHQ/src/mekhq/gui/view/AtBScenarioViewPanel.java index 2945230b2e..e6752f9059 100644 --- a/MekHQ/src/mekhq/gui/view/AtBScenarioViewPanel.java +++ b/MekHQ/src/mekhq/gui/view/AtBScenarioViewPanel.java @@ -821,7 +821,7 @@ private void rerollBattleConditions() { lblLightDesc.setText(scenario.getLight().toString()); } if (chkReroll[REROLL_WEATHER] != null && chkReroll[REROLL_WEATHER].isSelected()) { - scenario.setWeather(); + scenario.setWeatherConditions(); scenario.useReroll(); chkReroll[REROLL_WEATHER].setSelected(false); lblWeatherDesc.setText(scenario.getWeather().toString());