mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
WIP for possibility to select player and ennemy faction
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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"])
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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":
|
||||
|
||||
Reference in New Issue
Block a user