def generate(self): self.operation.is_awacs_enabled = self.is_awacs_enabled self.operation.ca_slots = self.ca_slots self.operation.prepare(self.game.theater.terrain, is_quick=False) self.operation.generate() self.operation.current_mission.save( persistency.mission_path_for("liberation_nextturn.miz")) self.environment_settings = self.operation.environment_settings
def create_mission(terrain: Terrain) -> Path: m = Mission(terrain) json_trigger = TriggerStart(comment=f"Load JSON") json_lua = m.map_resource.add_resource_file(JSON_LUA) json_trigger.add_action(DoScriptFile(json_lua)) m.triggerrules.triggers.append(json_trigger) export_trigger = TriggerStart(comment=f"Load coordinate export") export_lua = m.map_resource.add_resource_file(EXPORT_LUA) export_trigger.add_action(DoScriptFile(export_lua)) m.triggerrules.triggers.append(export_trigger) mission_path = persistency.mission_path_for( f"export_{terrain.name.lower()}.miz") m.save(mission_path) return Path(mission_path)
def launch_mission(self): """Finishes planning and waits for mission completion.""" if not self.ato_has_clients() and not self.confirm_no_client_launch(): return if self.check_no_missing_pilots(): return negative_starts = self.negative_start_packages() if negative_starts: if not self.confirm_negative_start_time(negative_starts): return if self.game.settings.fast_forward_to_first_contact: with logged_duration("Simulating to first contact"): self.sim_controller.run_to_first_contact() self.sim_controller.generate_miz( persistency.mission_path_for("liberation_nextturn.miz")) waiting = QWaitingForMissionResultWindow(self.game, self.sim_controller, self) waiting.exec_()
def generate(self) -> UnitMap: Operation.prepare(self.game) unit_map = Operation.generate() Operation.current_mission.save( persistency.mission_path_for("liberation_nextturn.miz")) return unit_map