WIP for possibility to select player and ennemy faction

This commit is contained in:
Khopa
2019-06-30 05:31:22 +02:00
parent 09135adadc
commit fbd01fbfdb
31 changed files with 448 additions and 357 deletions

View File

@@ -19,11 +19,11 @@ class BaseMenu(Menu):
def display(self):
self.window.clear_right_pane()
units = {
CAP: db.find_unittype(CAP, self.game.player),
Embarking: db.find_unittype(Embarking, self.game.player),
AirDefence: db.find_unittype(AirDefence, self.game.player),
CAS: db.find_unittype(CAS, self.game.player),
PinpointStrike: db.find_unittype(PinpointStrike, self.game.player),
CAP: db.find_unittype(CAP, self.game.player_name),
Embarking: db.find_unittype(Embarking, self.game.player_name),
AirDefence: db.find_unittype(AirDefence, self.game.player_name),
CAS: db.find_unittype(CAS, self.game.player_name),
PinpointStrike: db.find_unittype(PinpointStrike, self.game.player_name),
}
# Header

View File

@@ -19,7 +19,7 @@ class EventMenu(Menu):
self.event = event
self.scramble_entries = {k: {} for k in self.event.tasks}
if self.event.attacker_name == self.game.player:
if self.event.attacker_name == self.game.player_name:
self.base = self.event.departure_cp.base
else:
self.base = self.event.to_cp.base

View File

@@ -109,15 +109,15 @@ class EventResultsMenu(Menu):
debriefing.calculate_units(regular_mission=self.event.operation.regular_mission,
quick_mission=self.event.operation.quick_mission,
player_name=self.game.player,
enemy_name=self.game.enemy)
player_country=self.game.player_country,
enemy_country=self.game.enemy_country)
self.game.finish_event(event=self.event, debriefing=debriefing)
self.game.pass_turn(ignored_cps=[self.event.to_cp, ])
self.finished = True
self.player_losses = debriefing.destroyed_units.get(self.game.player, {})
self.enemy_losses = debriefing.destroyed_units.get(self.game.enemy, {})
self.player_losses = debriefing.destroyed_units.get(self.game.player_country, {})
self.enemy_losses = debriefing.destroyed_units.get(self.game.enemy_country, {})
self.display()
def simulate_result(self, player_factor: float, enemy_factor: float):
@@ -144,8 +144,8 @@ class EventResultsMenu(Menu):
return result
player = self.event.operation.mission.country(self.game.player)
enemy = self.event.operation.mission.country(self.game.enemy)
player = self.event.operation.mission.country(self.game.player_country)
enemy = self.event.operation.mission.country(self.game.enemy_country)
alive_player_units = count(player)
alive_enemy_units = count(enemy)
@@ -170,8 +170,8 @@ class EventResultsMenu(Menu):
self.finished = True
self.debriefing = debriefing
self.player_losses = debriefing.destroyed_units.get(self.game.player, {})
self.enemy_losses = debriefing.destroyed_units.get(self.game.enemy, {})
self.player_losses = debriefing.destroyed_units.get(self.game.player_country, {})
self.enemy_losses = debriefing.destroyed_units.get(self.game.enemy_country, {})
self.game.finish_event(self.event, debriefing)
self.display()

View File

@@ -39,16 +39,16 @@ class NewGameMenu(Menu):
@property
def player_country_name(self):
if self.selected_country.get() == 0:
return "USA"
return "USA 1965"
else:
return "Russia"
return "Russia 1955"
@property
def enemy_country_name(self):
if self.selected_country.get() == 1:
return "USA"
return "USA 1965"
else:
return "Russia"
return "Russia 1955"
@property
def terrain_name(self) -> str:
@@ -76,10 +76,10 @@ class NewGameMenu(Menu):
country.grid(row=0, column=0, sticky=NW, padx=5)
Radiobutton(country, variable=self.selected_country, value=0, **STYLES["radiobutton"]).grid(row=0, column=0,
sticky=W)
Label(country, text="USA", **STYLES["widget"]).grid(row=0, column=1, sticky=W)
Label(country, text="USA 1965", **STYLES["widget"]).grid(row=0, column=1, sticky=W)
Radiobutton(country, variable=self.selected_country, value=1, **STYLES["radiobutton"]).grid(row=1, column=0,
sticky=W)
Label(country, text="Russia", **STYLES["widget"]).grid(row=1, column=1, sticky=W)
Label(country, text="Russia 1955", **STYLES["widget"]).grid(row=1, column=1, sticky=W)
# Terrain Selection
terrain = LabelFrame(body, text="Terrain", **STYLES["label-frame"])

View File

@@ -641,10 +641,10 @@ class OverviewCanvas:
return event.is_departure_available_from(cp)
def _player_color(self):
return self.game.player == "USA" and BLUE or RED
return self.game.player_country == "USA" and BLUE or RED
def _enemy_color(self):
return self.game.player == "USA" and RED or BLUE
return self.game.player_country == "USA" and RED or BLUE
def update(self):
self.redraw_required = True

View File

@@ -88,6 +88,10 @@ class Window:
self.build()
def start_new_game(self, player_name: str, enemy_name: str, terrain: str, sams: bool, midgame: bool, multiplier: float, period:datetime):
player_country = db.UNIT_BY_COUNTRY[player_name]["country"]
enemy_country = db.UNIT_BY_COUNTRY[enemy_name]["country"]
if terrain == "persiangulf":
conflicttheater = persiangulf.PersianGulfTheater()
elif terrain == "nevada":