From e955c10170733d56ca04f7e5385fd673bb136e49 Mon Sep 17 00:00:00 2001 From: Khopa Date: Sat, 5 Oct 2019 13:13:43 +0200 Subject: [PATCH] Added smaller Caucasus map for dev test and smaller campaign --- qt_ui/windows/QNewGameWizard.py | 8 +++++++ theater/caucasus.py | 40 +++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/qt_ui/windows/QNewGameWizard.py b/qt_ui/windows/QNewGameWizard.py index eb957041..49249281 100644 --- a/qt_ui/windows/QNewGameWizard.py +++ b/qt_ui/windows/QNewGameWizard.py @@ -34,6 +34,7 @@ class NewGameWizard(QtWidgets.QWizard): playerIsBlue = self.field("playerIsBlue") isTerrainPg = self.field("isTerrainPg") isTerrainNttr = self.field("isTerrainNttr") + isTerrainCaucasusSmall = self.field("isTerrainCaucasusSmall") timePeriod = db.TIME_PERIODS[list(db.TIME_PERIODS.keys())[self.field("timePeriod")]] sams = self.field("sams") midGame = self.field("midGame") @@ -46,6 +47,8 @@ class NewGameWizard(QtWidgets.QWizard): conflicttheater = persiangulf.PersianGulfTheater() elif isTerrainNttr: conflicttheater = nevada.NevadaTheater() + elif isTerrainCaucasusSmall: + conflicttheater = caucasus.WesternGeorgia() else: conflicttheater = caucasus.CaucasusTheater() @@ -195,6 +198,9 @@ class TheaterConfiguration(QtWidgets.QWizardPage): terrainGroup = QtWidgets.QGroupBox("Terrain") terrainCaucasus = QtWidgets.QRadioButton("Caucasus") terrainCaucasus.setIcon(QtGui.QIcon(CONST.ICONS["Terrain_Caucasus"])) + terrainCaucasusSmall = QtWidgets.QRadioButton("Caucasus Western Georgia") + terrainCaucasusSmall.setIcon(QtGui.QIcon(CONST.ICONS["Terrain_Caucasus"])) + terrainPg = QtWidgets.QRadioButton("Persian Gulf") terrainPg.setIcon(QtGui.QIcon(CONST.ICONS["Terrain_Persian_Gulf"])) terrainNttr = QtWidgets.QRadioButton("Nevada") @@ -212,6 +218,7 @@ class TheaterConfiguration(QtWidgets.QWizardPage): # Register fields self.registerField('isTerrainCaucasus', terrainCaucasus) + self.registerField('isTerrainCaucasusSmall', terrainCaucasusSmall) self.registerField('isTerrainPg', terrainPg) self.registerField('isTerrainNttr', terrainNttr) self.registerField('timePeriod', timePeriodSelect) @@ -219,6 +226,7 @@ class TheaterConfiguration(QtWidgets.QWizardPage): # Build layout terrainGroupLayout = QtWidgets.QVBoxLayout() terrainGroupLayout.addWidget(terrainCaucasus) + terrainGroupLayout.addWidget(terrainCaucasusSmall) terrainGroupLayout.addWidget(terrainPg) terrainGroupLayout.addWidget(terrainNttr) terrainGroup.setLayout(terrainGroupLayout) diff --git a/theater/caucasus.py b/theater/caucasus.py index 415aa8e9..6fcb614c 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -78,3 +78,43 @@ class CaucasusTheater(ConflictTheater): point.name = " ".join(re.split(r"[ -]", point.name)[:1]) super(CaucasusTheater, self).add_controlpoint(point, connected_to=connected_to) + + +""" +A smaller version of the caucasus map in western georgia. +Ideal for smaller scale campaign +""" +class WesternGeorgia(ConflictTheater): + + terrain = caucasus.Caucasus() + overview_image = "caumap.gif" + reference_points = {(-317948.32727306, 635639.37385346): (278.5 * 4, 319 * 4), + (-355692.3067714, 617269.96285781): (263 * 4, 352 * 4), } + landmap = load_landmap("resources\\caulandmap.p") + daytime_map = { + "dawn": (6, 9), + "day": (9, 18), + "dusk": (18, 20), + "night": (0, 5), + } + + kutaisi = ControlPoint.from_airport(caucasus.Kutaisi, LAND, SIZE_SMALL, IMPORTANCE_LOW) + senaki = ControlPoint.from_airport(caucasus.Senaki_Kolkhi, LAND, SIZE_REGULAR, IMPORTANCE_LOW) + kobuleti = ControlPoint.from_airport(caucasus.Kobuleti, COAST_A_E, SIZE_SMALL, 1.1) + sukhumi = ControlPoint.from_airport(caucasus.Sukhumi_Babushara, COAST_DR_E, SIZE_REGULAR, 1.2) + gudauta = ControlPoint.from_airport(caucasus.Gudauta, COAST_DR_E, SIZE_REGULAR, 1.2) + sochi = ControlPoint.from_airport(caucasus.Sochi_Adler, COAST_DR_E, SIZE_BIG, IMPORTANCE_HIGH) + carrier_1 = ControlPoint.carrier("Carrier", mapping.Point(-305810.6875, 406399.1875)) + + def __init__(self, load_ground_objects=True): + super(WesternGeorgia, self).__init__() + + self.add_controlpoint(self.kutaisi, connected_to=[self.senaki]) + self.add_controlpoint(self.senaki, connected_to=[self.kobuleti, self.sukhumi, self.kutaisi]) + self.add_controlpoint(self.kobuleti, connected_to=[self.senaki]) + self.add_controlpoint(self.sukhumi, connected_to=[self.gudauta, self.senaki]) + self.add_controlpoint(self.gudauta, connected_to=[self.sochi, self.sukhumi]) + self.add_controlpoint(self.sochi, connected_to=[self.gudauta]) + + self.carrier_1.captured = True + self.kobuleti.captured = True