Possible to mix factions side. Player will always be blue.

This commit is contained in:
Khopa
2020-08-01 14:21:34 +02:00
parent 456a82acaa
commit a4e93276b8
8 changed files with 51 additions and 74 deletions

View File

@@ -89,10 +89,7 @@ class QMapControlPoint(QGraphicsRectItem):
@property
def brush_color(self)->QColor:
if self.parent.game.player_country in db.BLUEFOR_FACTIONS:
return self.model.captured and CONST.COLORS["blue"] or CONST.COLORS["super_red"]
else:
return self.model.captured and CONST.COLORS["super_red"] or CONST.COLORS["blue"]
return self.model.captured and CONST.COLORS["blue"] or CONST.COLORS["super_red"]
@property
def pen_color(self) -> QColor:

View File

@@ -42,12 +42,9 @@ class QMapGroundObject(QGraphicsRectItem):
def paint(self, painter, option, widget=None):
#super(QMapControlPoint, self).paint(painter, option, widget)
if self.parent.game.player_country in db.BLUEFOR_FACTIONS:
playerIcons = "_blue"
enemyIcons = ""
else:
playerIcons = ""
enemyIcons = "_blue"
playerIcons = "_blue"
enemyIcons = ""
if self.parent.get_display_rule("go"):
painter.save()

View File

@@ -30,9 +30,8 @@ class NewGameWizard(QtWidgets.QWizard):
def accept(self):
blueFaction = [c for c in db.FACTIONS if db.FACTIONS[c]["side"] == "blue"][self.field("blueFaction")]
redFaction = [c for c in db.FACTIONS if db.FACTIONS[c]["side"] == "red"][self.field("redFaction")]
playerIsBlue = self.field("playerIsBlue")
blueFaction = [c for c in db.FACTIONS][self.field("blueFaction")]
redFaction = [c for c in db.FACTIONS][self.field("redFaction")]
isTerrainPg = self.field("isTerrainPg")
isTerrainNttr = self.field("isTerrainNttr")
isTerrainCaucasusSmall = self.field("isTerrainCaucasusSmall")
@@ -48,8 +47,8 @@ class NewGameWizard(QtWidgets.QWizard):
midGame = self.field("midGame")
multiplier = self.field("multiplier")
player_name = playerIsBlue and blueFaction or redFaction
enemy_name = playerIsBlue and redFaction or blueFaction
player_name = blueFaction
enemy_name = redFaction
if isTerrainPg:
conflicttheater = persiangulf.PersianGulfTheater()
@@ -144,31 +143,28 @@ class FactionSelection(QtWidgets.QWizardPage):
self.setMinimumHeight(250)
blues = [c for c in db.FACTIONS if db.FACTIONS[c]["side"] == "blue"]
reds = [c for c in db.FACTIONS if db.FACTIONS[c]["side"] == "red"]
# Factions selection
self.factionsGroup = QtWidgets.QGroupBox("Factions")
self.factionsGroupLayout = QtWidgets.QGridLayout()
blueFaction = QtWidgets.QLabel("<b>Blue Faction :</b>")
blueFaction = QtWidgets.QLabel("<b>Player Faction :</b>")
self.blueFactionSelect = QtWidgets.QComboBox()
for f in blues:
for f in db.FACTIONS:
self.blueFactionSelect.addItem(f)
blueFaction.setBuddy(self.blueFactionSelect)
redFaction = QtWidgets.QLabel("<b>Red Faction :</b>")
redFaction = QtWidgets.QLabel("<b>Enemy Faction :</b>")
self.redFactionSelect = QtWidgets.QComboBox()
for r in reds:
for i, r in enumerate(db.FACTIONS):
self.redFactionSelect.addItem(r)
if r == "Russia 1990": # Default ennemy
self.redFactionSelect.setCurrentIndex(i)
redFaction.setBuddy(self.redFactionSelect)
self.blueSideRecap = QtWidgets.QLabel("")
self.blueSideRecap.setFont(CONST.FONT_PRIMARY_I)
self.blueSideRecap.setWordWrap(True)
self.blueGroup = QtWidgets.QGroupBox("Redfor")
self.redSideRecap = QtWidgets.QLabel("")
self.redSideRecap.setFont(CONST.FONT_PRIMARY_I)
self.redSideRecap.setWordWrap(True)
@@ -188,28 +184,14 @@ class FactionSelection(QtWidgets.QWizardPage):
self.requiredModsGroupLayout.addWidget(self.requiredMods)
self.requiredModsGroup.setLayout(self.requiredModsGroupLayout)
# Player faction selection
sideGroup = QtWidgets.QGroupBox("Player Side")
blueforRadioButton = QtWidgets.QRadioButton("BLUEFOR")
redforRadioButton = QtWidgets.QRadioButton("REDFOR")
blueforRadioButton.setChecked(True)
# Link form fields
self.registerField('blueFaction', self.blueFactionSelect)
self.registerField('redFaction', self.redFactionSelect)
self.registerField('playerIsBlue', blueforRadioButton)
self.registerField('playerIsRed', redforRadioButton)
# Build layout
sideGroupLayout = QtWidgets.QVBoxLayout()
sideGroupLayout.addWidget(blueforRadioButton)
sideGroupLayout.addWidget(redforRadioButton)
sideGroup.setLayout(sideGroupLayout)
layout = QtWidgets.QVBoxLayout()
layout.addWidget(self.factionsGroup)
layout.addWidget(self.requiredModsGroup)
layout.addWidget(sideGroup)
self.setLayout(layout)
self.updateUnitRecap()