add static destruction option to UI

This commit is contained in:
spencershepard 2025-05-24 20:26:20 -07:00
parent 3e55a52a2d
commit dde82931a6
6 changed files with 61 additions and 11 deletions

View File

@ -684,7 +684,8 @@ class Window(QMainWindow, Ui_MainWindow):
"blue_cap": self.scenario.getConfigValue("blue_cap", default=True), "blue_cap": self.scenario.getConfigValue("blue_cap", default=True),
"rotorops_server": self.rotorops_server_checkBox.isChecked(), "rotorops_server": self.rotorops_server_checkBox.isChecked(),
"perks": self.perks_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:") logger.info("Generating mission with options:")

View File

@ -42,7 +42,7 @@ class Ui_MainWindow(object):
self.logistics_crates_checkBox.setChecked(True) self.logistics_crates_checkBox.setChecked(True)
self.logistics_crates_checkBox.setObjectName("logistics_crates_checkBox") self.logistics_crates_checkBox.setObjectName("logistics_crates_checkBox")
self.advanced_defenses_checkBox = QtWidgets.QCheckBox(self.centralwidget) 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 = QtGui.QFont()
font.setPointSize(10) font.setPointSize(10)
font.setBold(False) font.setBold(False)
@ -491,7 +491,6 @@ class Ui_MainWindow(object):
font = QtGui.QFont() font = QtGui.QFont()
font.setPointSize(9) font.setPointSize(9)
font.setBold(False) font.setBold(False)
font.setWeight(50)
self.blueforces_skill_comboBox.setFont(font) self.blueforces_skill_comboBox.setFont(font)
self.blueforces_skill_comboBox.setObjectName("blueforces_skill_comboBox") self.blueforces_skill_comboBox.setObjectName("blueforces_skill_comboBox")
self.redforces_skill_comboBox = QtWidgets.QComboBox(self.centralwidget) self.redforces_skill_comboBox = QtWidgets.QComboBox(self.centralwidget)
@ -499,12 +498,19 @@ class Ui_MainWindow(object):
font = QtGui.QFont() font = QtGui.QFont()
font.setPointSize(9) font.setPointSize(9)
font.setBold(False) font.setBold(False)
font.setWeight(50)
self.redforces_skill_comboBox.setFont(font) self.redforces_skill_comboBox.setFont(font)
self.redforces_skill_comboBox.setObjectName("redforces_skill_comboBox") 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) MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow) 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.menubar.setObjectName("menubar")
self.menuMap = QtWidgets.QMenu(self.menubar) self.menuMap = QtWidgets.QMenu(self.menubar)
self.menuMap.setObjectName("menuMap") self.menuMap.setObjectName("menuMap")
@ -600,11 +606,15 @@ class Ui_MainWindow(object):
self.action_rateButton5.setObjectName("action_rateButton5") self.action_rateButton5.setObjectName("action_rateButton5")
self.actionSave_Mission_Config = QtWidgets.QAction(MainWindow) self.actionSave_Mission_Config = QtWidgets.QAction(MainWindow)
self.actionSave_Mission_Config.setObjectName("actionSave_Mission_Config") 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.actionCaucasus)
self.menuMap.addAction(self.actionPersian_Gulf) self.menuMap.addAction(self.actionPersian_Gulf)
self.menuMap.addAction(self.actionMarianas) self.menuMap.addAction(self.actionMarianas)
self.menuMap.addAction(self.actionNevada) self.menuMap.addAction(self.actionNevada)
self.menuMap.addAction(self.actionSyria) self.menuMap.addAction(self.actionSyria)
self.menuMap.addAction(self.actionGermany)
self.menuFilter.addAction(self.actionMultiplayer) self.menuFilter.addAction(self.actionMultiplayer)
self.menuFilter.addAction(self.actionSingle_Player) self.menuFilter.addAction(self.actionSingle_Player)
self.menuFilter.addAction(self.actionCo_Op) 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.rotorops_server_checkBox.setText(_translate("MainWindow", "RotorOps Server Mission"))
self.saveConfigButton.setStatusTip(_translate("MainWindow", "Save these mission options for next time.")) self.saveConfigButton.setStatusTip(_translate("MainWindow", "Save these mission options for next time."))
self.saveConfigButton.setText(_translate("MainWindow", " Save Config")) 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.menuMap.setTitle(_translate("MainWindow", "Map"))
self.menuFilter.setTitle(_translate("MainWindow", "Filter")) self.menuFilter.setTitle(_translate("MainWindow", "Filter"))
self.menuPreferences.setTitle(_translate("MainWindow", "Preferences")) self.menuPreferences.setTitle(_translate("MainWindow", "Preferences"))
@ -752,6 +764,7 @@ class Ui_MainWindow(object):
self.action_rateButton5.setToolTip(_translate("MainWindow", "_rateButton5")) self.action_rateButton5.setToolTip(_translate("MainWindow", "_rateButton5"))
self.actionSave_Mission_Config.setText(_translate("MainWindow", "Save Mission Config")) self.actionSave_Mission_Config.setText(_translate("MainWindow", "Save Mission Config"))
self.actionSave_Mission_Config.setToolTip(_translate("MainWindow", "Save Mission Config")) self.actionSave_Mission_Config.setToolTip(_translate("MainWindow", "Save Mission Config"))
self.actionGermany.setText(_translate("MainWindow", "Germany"))
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -79,7 +79,7 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>510</x> <x>510</x>
<y>350</y> <y>340</y>
<width>341</width> <width>341</width>
<height>28</height> <height>28</height>
</rect> </rect>
@ -1413,7 +1413,6 @@ p, li { white-space: pre-wrap; }
<property name="font"> <property name="font">
<font> <font>
<pointsize>9</pointsize> <pointsize>9</pointsize>
<weight>50</weight>
<bold>false</bold> <bold>false</bold>
</font> </font>
</property> </property>
@ -1430,11 +1429,35 @@ p, li { white-space: pre-wrap; }
<property name="font"> <property name="font">
<font> <font>
<pointsize>9</pointsize> <pointsize>9</pointsize>
<weight>50</weight>
<bold>false</bold> <bold>false</bold>
</font> </font>
</property> </property>
</widget> </widget>
<widget class="QCheckBox" name="static_destruction_checkBox">
<property name="geometry">
<rect>
<x>510</x>
<y>370</y>
<width>341</width>
<height>28</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<bold>false</bold>
</font>
</property>
<property name="statusTip">
<string>If enemy static structures are found in conflict zones, require them to be destroyed to clear the zone.</string>
</property>
<property name="text">
<string>Require Static Destruction</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</widget> </widget>
<widget class="QMenuBar" name="menubar"> <widget class="QMenuBar" name="menubar">
<property name="geometry"> <property name="geometry">
@ -1442,7 +1465,7 @@ p, li { white-space: pre-wrap; }
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1280</width> <width>1280</width>
<height>21</height> <height>24</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menuMap"> <widget class="QMenu" name="menuMap">
@ -1454,6 +1477,7 @@ p, li { white-space: pre-wrap; }
<addaction name="actionMarianas"/> <addaction name="actionMarianas"/>
<addaction name="actionNevada"/> <addaction name="actionNevada"/>
<addaction name="actionSyria"/> <addaction name="actionSyria"/>
<addaction name="actionGermany"/>
</widget> </widget>
<widget class="QMenu" name="menuFilter"> <widget class="QMenu" name="menuFilter">
<property name="title"> <property name="title">
@ -1714,6 +1738,14 @@ p, li { white-space: pre-wrap; }
<string>Save Mission Config</string> <string>Save Mission Config</string>
</property> </property>
</action> </action>
<action name="actionGermany">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Germany</string>
</property>
</action>
</widget> </widget>
<resources/> <resources/>
<connections> <connections>

View File

@ -11,6 +11,9 @@ def triggerSetup(rops, options):
def lb(var): def lb(var):
return str(options[var]).lower() return str(options[var]).lower()
def nlb(var):
return str(not options[var]).lower()
game_flag = 100 game_flag = 100
# Add the first trigger # Add the first trigger
@ -31,6 +34,7 @@ def triggerSetup(rops, options):
"RotorOps.inf_spawn_messages = true\n\n" + "RotorOps.inf_spawn_messages = true\n\n" +
"RotorOps.inf_spawns_total = " + lb("inf_spawn_qty") + "\n\n" + "RotorOps.inf_spawns_total = " + lb("inf_spawn_qty") + "\n\n" +
"RotorOps.apcs_spawn_infantry = " + lb("apc_spawns_inf") + " \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_min_detection_alt = 609\n\n" +
"RotorOps.fighter_max_active = 2\n\n") "RotorOps.fighter_max_active = 2\n\n")
if not options["smoke_pickup_zones"]: if not options["smoke_pickup_zones"]:

View File

@ -4,6 +4,6 @@ PyQt5==5.15.9
PyYAML==6.0 PyYAML==6.0
qtmodern==0.2.0 qtmodern==0.2.0
requests==2.27.1 requests==2.27.1
pyproj==3.4.0 pyproj==3.7.1
pyinstaller==5.7.0 pyinstaller==5.7.0
pyinstaller-hooks-contrib==2022.14 pyinstaller-hooks-contrib==2022.14

View File

@ -1,7 +1,7 @@
# ROTOROPS VERSION # ROTOROPS VERSION
maj_version = 1 maj_version = 1
minor_version = 10 minor_version = 10
patch_version = 2 patch_version = 3
version_url = 'https://dcs-helicopters.com/app-updates/versioncheck.yaml' version_url = 'https://dcs-helicopters.com/app-updates/versioncheck.yaml'