server prep

-adds checkbox for adding server scripts
-server script adds perk to points conversion
-drone invisibility #needs_testing
This commit is contained in:
spencershepard
2024-01-17 20:14:47 -08:00
committed by Spencer Shepard
parent 26e12fa733
commit 70a5fd4db3
6 changed files with 113 additions and 43 deletions

View File

@@ -591,7 +591,7 @@ class Window(QMainWindow, Ui_MainWindow):
"advanced_defenses": self.advanced_defenses_checkBox.isChecked(),
"red_cap": self.scenario.getConfigValue("red_cap", default=True),
"blue_cap": self.scenario.getConfigValue("blue_cap", default=True),
"rotorops_server": self.scenario.getConfigValue("rotorops_server", default=False),
"rotorops_server": self.rotorops_server_checkBox.isChecked(),
"perks": self.perks_checkBox.isChecked(),
"easy_comms": self.scenario.getConfigValue("easy_comms", default=True)
}

View File

@@ -465,9 +465,18 @@ class Ui_MainWindow(object):
self.perks_checkBox.setFont(font)
self.perks_checkBox.setChecked(True)
self.perks_checkBox.setObjectName("perks_checkBox")
self.rotorops_server_checkBox = QtWidgets.QCheckBox(self.centralwidget)
self.rotorops_server_checkBox.setEnabled(True)
self.rotorops_server_checkBox.setGeometry(QtCore.QRect(1020, 650, 121, 21))
font = QtGui.QFont()
font.setPointSize(7)
font.setBold(False)
self.rotorops_server_checkBox.setFont(font)
self.rotorops_server_checkBox.setChecked(False)
self.rotorops_server_checkBox.setObjectName("rotorops_server_checkBox")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 29))
self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 24))
self.menubar.setObjectName("menubar")
self.menuMap = QtWidgets.QMenu(self.menubar)
self.menuMap.setObjectName("menuMap")
@@ -664,6 +673,8 @@ class Ui_MainWindow(object):
self.farp_spawn_checkBox.setText(_translate("MainWindow", "Spawns at zone FARPs"))
self.perks_checkBox.setStatusTip(_translate("MainWindow", "Adds a rewards system with points for kills, troop drops, etc. See the F10 menu to use Perks."))
self.perks_checkBox.setText(_translate("MainWindow", "Perks"))
self.rotorops_server_checkBox.setStatusTip(_translate("MainWindow", "Generate missions for RotorOps public servers."))
self.rotorops_server_checkBox.setText(_translate("MainWindow", "RotorOps Server Mission"))
self.menuMap.setTitle(_translate("MainWindow", "Map"))
self.menuFilter.setTitle(_translate("MainWindow", "Filter"))
self.menuPreferences.setTitle(_translate("MainWindow", "Preferences"))

View File

@@ -1341,6 +1341,34 @@ p, li { white-space: pre-wrap; }
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="rotorops_server_checkBox">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>1020</x>
<y>650</y>
<width>121</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>7</pointsize>
<bold>false</bold>
</font>
</property>
<property name="statusTip">
<string>Generate missions for RotorOps public servers.</string>
</property>
<property name="text">
<string>RotorOps Server Mission</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
@@ -1348,7 +1376,7 @@ p, li { white-space: pre-wrap; }
<x>0</x>
<y>0</y>
<width>1280</width>
<height>29</height>
<height>24</height>
</rect>
</property>
<widget class="QMenu" name="menuMap">

View File

@@ -414,7 +414,10 @@ class RotorOpsMission:
else:
output_dir = directories.output # default dir
os.chdir(output_dir)
output_filename = options["scenario_name"] + " " + time.strftime('%a%H%M%S') + '.miz'
prefix = ""
if options["rotorops_server"]:
prefix = "DS_" # prefix for dedicated server missions
output_filename = prefix + options["scenario_name"] + " " + time.strftime('%a%H%M%S') + '.miz'
# dcs.mission.save will use the bypassed trig, trigrules, and triggers. Our goal is to leave the trigrules and
# trig from the source mission untouched. See comments in self.m.load_file above