diff --git a/Generator/MissionGenerator.py b/Generator/MissionGenerator.py index 8f8cd11..46f21de 100644 --- a/Generator/MissionGenerator.py +++ b/Generator/MissionGenerator.py @@ -684,7 +684,8 @@ class Window(QMainWindow, Ui_MainWindow): "blue_cap": self.scenario.getConfigValue("blue_cap", default=True), "rotorops_server": self.rotorops_server_checkBox.isChecked(), "perks": self.perks_checkBox.isChecked(), - "easy_comms": self.scenario.getConfigValue("easy_comms", default=True) + "easy_comms": self.scenario.getConfigValue("easy_comms", default=True), + "static_destruction": self.static_destruction_checkBox.isChecked(), } logger.info("Generating mission with options:") diff --git a/Generator/MissionGeneratorUI.py b/Generator/MissionGeneratorUI.py index 67c7bf2..0eca5e1 100644 --- a/Generator/MissionGeneratorUI.py +++ b/Generator/MissionGeneratorUI.py @@ -42,7 +42,7 @@ class Ui_MainWindow(object): self.logistics_crates_checkBox.setChecked(True) self.logistics_crates_checkBox.setObjectName("logistics_crates_checkBox") self.advanced_defenses_checkBox = QtWidgets.QCheckBox(self.centralwidget) - self.advanced_defenses_checkBox.setGeometry(QtCore.QRect(510, 350, 341, 28)) + self.advanced_defenses_checkBox.setGeometry(QtCore.QRect(510, 340, 341, 28)) font = QtGui.QFont() font.setPointSize(10) font.setBold(False) @@ -491,7 +491,6 @@ class Ui_MainWindow(object): font = QtGui.QFont() font.setPointSize(9) font.setBold(False) - font.setWeight(50) self.blueforces_skill_comboBox.setFont(font) self.blueforces_skill_comboBox.setObjectName("blueforces_skill_comboBox") self.redforces_skill_comboBox = QtWidgets.QComboBox(self.centralwidget) @@ -499,12 +498,19 @@ class Ui_MainWindow(object): font = QtGui.QFont() font.setPointSize(9) font.setBold(False) - font.setWeight(50) self.redforces_skill_comboBox.setFont(font) self.redforces_skill_comboBox.setObjectName("redforces_skill_comboBox") + self.static_destruction_checkBox = QtWidgets.QCheckBox(self.centralwidget) + self.static_destruction_checkBox.setGeometry(QtCore.QRect(510, 370, 341, 28)) + font = QtGui.QFont() + font.setPointSize(10) + font.setBold(False) + self.static_destruction_checkBox.setFont(font) + self.static_destruction_checkBox.setChecked(True) + self.static_destruction_checkBox.setObjectName("static_destruction_checkBox") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) - self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 21)) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 24)) self.menubar.setObjectName("menubar") self.menuMap = QtWidgets.QMenu(self.menubar) self.menuMap.setObjectName("menuMap") @@ -600,11 +606,15 @@ class Ui_MainWindow(object): self.action_rateButton5.setObjectName("action_rateButton5") self.actionSave_Mission_Config = QtWidgets.QAction(MainWindow) self.actionSave_Mission_Config.setObjectName("actionSave_Mission_Config") + self.actionGermany = QtWidgets.QAction(MainWindow) + self.actionGermany.setCheckable(True) + self.actionGermany.setObjectName("actionGermany") self.menuMap.addAction(self.actionCaucasus) self.menuMap.addAction(self.actionPersian_Gulf) self.menuMap.addAction(self.actionMarianas) self.menuMap.addAction(self.actionNevada) self.menuMap.addAction(self.actionSyria) + self.menuMap.addAction(self.actionGermany) self.menuFilter.addAction(self.actionMultiplayer) self.menuFilter.addAction(self.actionSingle_Player) self.menuFilter.addAction(self.actionCo_Op) @@ -712,6 +722,8 @@ class Ui_MainWindow(object): self.rotorops_server_checkBox.setText(_translate("MainWindow", "RotorOps Server Mission")) self.saveConfigButton.setStatusTip(_translate("MainWindow", "Save these mission options for next time.")) self.saveConfigButton.setText(_translate("MainWindow", " Save Config")) + self.static_destruction_checkBox.setStatusTip(_translate("MainWindow", "If enemy static structures are found in conflict zones, require them to be destroyed to clear the zone.")) + self.static_destruction_checkBox.setText(_translate("MainWindow", "Require Static Destruction")) self.menuMap.setTitle(_translate("MainWindow", "Map")) self.menuFilter.setTitle(_translate("MainWindow", "Filter")) self.menuPreferences.setTitle(_translate("MainWindow", "Preferences")) @@ -752,6 +764,7 @@ class Ui_MainWindow(object): self.action_rateButton5.setToolTip(_translate("MainWindow", "_rateButton5")) self.actionSave_Mission_Config.setText(_translate("MainWindow", "Save Mission Config")) self.actionSave_Mission_Config.setToolTip(_translate("MainWindow", "Save Mission Config")) + self.actionGermany.setText(_translate("MainWindow", "Germany")) if __name__ == "__main__": diff --git a/Generator/MissionGeneratorUI.ui b/Generator/MissionGeneratorUI.ui index df4a0e8..c234545 100644 --- a/Generator/MissionGeneratorUI.ui +++ b/Generator/MissionGeneratorUI.ui @@ -79,7 +79,7 @@ 510 - 350 + 340 341 28 @@ -1413,7 +1413,6 @@ p, li { white-space: pre-wrap; } 9 - 50 false @@ -1430,11 +1429,35 @@ p, li { white-space: pre-wrap; } 9 - 50 false + + + + 510 + 370 + 341 + 28 + + + + + 10 + false + + + + If enemy static structures are found in conflict zones, require them to be destroyed to clear the zone. + + + Require Static Destruction + + + true + + @@ -1442,7 +1465,7 @@ p, li { white-space: pre-wrap; } 0 0 1280 - 21 + 24 @@ -1454,6 +1477,7 @@ p, li { white-space: pre-wrap; } + @@ -1714,6 +1738,14 @@ p, li { white-space: pre-wrap; } Save Mission Config + + + true + + + Germany + + diff --git a/Generator/RotorOpsConflict.py b/Generator/RotorOpsConflict.py index 9c2c4e1..5086eac 100644 --- a/Generator/RotorOpsConflict.py +++ b/Generator/RotorOpsConflict.py @@ -11,6 +11,9 @@ def triggerSetup(rops, options): def lb(var): return str(options[var]).lower() + def nlb(var): + return str(not options[var]).lower() + game_flag = 100 # Add the first trigger @@ -31,6 +34,7 @@ def triggerSetup(rops, options): "RotorOps.inf_spawn_messages = true\n\n" + "RotorOps.inf_spawns_total = " + lb("inf_spawn_qty") + "\n\n" + "RotorOps.apcs_spawn_infantry = " + lb("apc_spawns_inf") + " \n\n" + + "RotorOps.disable_asset_destruction = " + nlb("static_destruction") + "\n\n" + "RotorOps.fighter_min_detection_alt = 609\n\n" + "RotorOps.fighter_max_active = 2\n\n") if not options["smoke_pickup_zones"]: diff --git a/Generator/requirements.txt b/Generator/requirements.txt index 2331b49..6d62fc6 100644 --- a/Generator/requirements.txt +++ b/Generator/requirements.txt @@ -4,6 +4,6 @@ PyQt5==5.15.9 PyYAML==6.0 qtmodern==0.2.0 requests==2.27.1 -pyproj==3.4.0 +pyproj==3.7.1 pyinstaller==5.7.0 pyinstaller-hooks-contrib==2022.14 diff --git a/Generator/version.py b/Generator/version.py index b14d022..0cb5720 100644 --- a/Generator/version.py +++ b/Generator/version.py @@ -1,7 +1,7 @@ # ROTOROPS VERSION maj_version = 1 minor_version = 10 -patch_version = 2 +patch_version = 3 version_url = 'https://dcs-helicopters.com/app-updates/versioncheck.yaml'