diff --git a/game/game.py b/game/game.py index 9e1cb00c..6ce7b178 100644 --- a/game/game.py +++ b/game/game.py @@ -107,8 +107,6 @@ class Game: self.__culling_zones: List[Point] = [] self.__destroyed_units: list[dict[str, Union[float, str]]] = [] self.savepath = "" - self.budget = player_budget - self.enemy_budget = enemy_budget self.current_unit_id = 0 self.current_group_id = 0 self.name_generator = naming.namegen diff --git a/qt_ui/widgets/QBudgetBox.py b/qt_ui/widgets/QBudgetBox.py index e44713a8..30713c92 100644 --- a/qt_ui/widgets/QBudgetBox.py +++ b/qt_ui/widgets/QBudgetBox.py @@ -1,6 +1,7 @@ from PySide2.QtWidgets import QLabel, QHBoxLayout, QGroupBox, QPushButton import qt_ui.uiconstants as CONST +from game import Game from game.income import Income from qt_ui.windows.finances.QFinancesMenu import QFinancesMenu @@ -10,7 +11,7 @@ class QBudgetBox(QGroupBox): UI Component to display current budget and player's money """ - def __init__(self, game): + def __init__(self, game: Game): super(QBudgetBox, self).__init__("Budget") self.game = game @@ -40,7 +41,7 @@ class QBudgetBox(QGroupBox): return self.game = game - self.setBudget(self.game.budget, Income(self.game, player=True).total) + self.setBudget(self.game.blue.budget, Income(self.game, player=True).total) self.finances.setEnabled(True) def openFinances(self): diff --git a/qt_ui/windows/basemenu/QBaseMenu2.py b/qt_ui/windows/basemenu/QBaseMenu2.py index 20dbf8f1..d10e5bc7 100644 --- a/qt_ui/windows/basemenu/QBaseMenu2.py +++ b/qt_ui/windows/basemenu/QBaseMenu2.py @@ -108,7 +108,7 @@ class QBaseMenu2(QDialog): capture_button.clicked.connect(self.cheat_capture) self.budget_display = QLabel( - QRecruitBehaviour.BUDGET_FORMAT.format(self.game_model.game.budget) + QRecruitBehaviour.BUDGET_FORMAT.format(self.game_model.game.blue.budget) ) self.budget_display.setAlignment(Qt.AlignRight | Qt.AlignBottom) self.budget_display.setProperty("style", "budget-label") @@ -139,7 +139,7 @@ class QBaseMenu2(QDialog): @property def can_afford_runway_repair(self) -> bool: - return self.game_model.game.budget >= db.RUNWAY_REPAIR_COST + return self.game_model.game.blue.budget >= db.RUNWAY_REPAIR_COST def begin_runway_repair(self) -> None: if not self.can_afford_runway_repair: @@ -147,7 +147,7 @@ class QBaseMenu2(QDialog): self, "Cannot repair runway", f"Runway repair costs ${db.RUNWAY_REPAIR_COST}M but you have " - f"only ${self.game_model.game.budget}M available.", + f"only ${self.game_model.game.blue.budget}M available.", QMessageBox.Ok, ) return @@ -161,7 +161,7 @@ class QBaseMenu2(QDialog): return self.cp.begin_runway_repair() - self.game_model.game.budget -= db.RUNWAY_REPAIR_COST + self.game_model.game.blue.budget -= db.RUNWAY_REPAIR_COST self.update_repair_button() self.update_intel_summary() GameUpdateSignal.get_instance().updateGame(self.game_model.game) @@ -257,4 +257,6 @@ class QBaseMenu2(QDialog): NewUnitTransferDialog(self.game_model, self.cp, parent=self.window()).show() def update_budget(self, game: Game) -> None: - self.budget_display.setText(QRecruitBehaviour.BUDGET_FORMAT.format(game.budget)) + self.budget_display.setText( + QRecruitBehaviour.BUDGET_FORMAT.format(game.blue.budget) + ) diff --git a/qt_ui/windows/basemenu/QRecruitBehaviour.py b/qt_ui/windows/basemenu/QRecruitBehaviour.py index 5eb7534a..b3ab3d8f 100644 --- a/qt_ui/windows/basemenu/QRecruitBehaviour.py +++ b/qt_ui/windows/basemenu/QRecruitBehaviour.py @@ -103,11 +103,11 @@ class QRecruitBehaviour: @property def budget(self) -> float: - return self.game_model.game.budget + return self.game_model.game.blue.budget @budget.setter def budget(self, value: int) -> None: - self.game_model.game.budget = value + self.game_model.game.blue.budget = value def add_purchase_row( self, diff --git a/qt_ui/windows/finances/QFinancesMenu.py b/qt_ui/windows/finances/QFinancesMenu.py index 4ef8b281..c1eec23e 100644 --- a/qt_ui/windows/finances/QFinancesMenu.py +++ b/qt_ui/windows/finances/QFinancesMenu.py @@ -57,10 +57,7 @@ class FinancesLayout(QGridLayout): middle=f"Income multiplier: {income.multiplier:.1f}", right=f"{income.total}M", ) - if player: - budget = game.budget - else: - budget = game.enemy_budget + budget = game.coalition_for(player).budget self.add_row(middle="Balance", right=f"{budget}M") self.setRowStretch(next(self.row), 1) diff --git a/qt_ui/windows/groundobject/QGroundObjectMenu.py b/qt_ui/windows/groundobject/QGroundObjectMenu.py index 0e629db8..5622682f 100644 --- a/qt_ui/windows/groundobject/QGroundObjectMenu.py +++ b/qt_ui/windows/groundobject/QGroundObjectMenu.py @@ -237,8 +237,8 @@ class QGroundObjectMenu(QDialog): self.total_value = total_value def repair_unit(self, group, unit, price): - if self.game.budget > price: - self.game.budget -= price + if self.game.blue.budget > price: + self.game.blue.budget -= price group.units_losts = [u for u in group.units_losts if u.id != unit.id] group.units.append(unit) GameUpdateSignal.get_instance().updateGame(self.game) @@ -256,7 +256,7 @@ class QGroundObjectMenu(QDialog): def sell_all(self): self.update_total_value() - self.game.budget = self.game.budget + self.total_value + self.game.blue.budget = self.game.blue.budget + self.total_value self.ground_object.groups = [] # Replan if the tgo was a target of the redfor @@ -433,12 +433,12 @@ class QBuyGroupForGroundObjectDialog(QDialog): logging.info("Buying Armor ") utype = self.buyArmorCombo.itemData(self.buyArmorCombo.currentIndex()) price = utype.price * self.amount.value() - self.current_group_value - if price > self.game.budget: + if price > self.game.blue.budget: self.error_money() self.close() return else: - self.game.budget -= price + self.game.blue.budget -= price # Generate Armor group = generate_armor_group_of_type_and_size( @@ -454,11 +454,11 @@ class QBuyGroupForGroundObjectDialog(QDialog): def buySam(self): sam_generator = self.samCombo.itemData(self.samCombo.currentIndex()) price = sam_generator.price - self.current_group_value - if price > self.game.budget: + if price > self.game.blue.budget: self.error_money() return else: - self.game.budget -= price + self.game.blue.budget -= price self.ground_object.groups = list(sam_generator.groups) @@ -470,11 +470,11 @@ class QBuyGroupForGroundObjectDialog(QDialog): def buy_ewr(self): ewr_generator = self.ewr_selector.itemData(self.ewr_selector.currentIndex()) price = ewr_generator.price - self.current_group_value - if price > self.game.budget: + if price > self.game.blue.budget: self.error_money() return else: - self.game.budget -= price + self.game.blue.budget -= price self.ground_object.groups = [ewr_generator.vg] diff --git a/qt_ui/windows/settings/QSettingsWindow.py b/qt_ui/windows/settings/QSettingsWindow.py index 5aba6a7d..188963d7 100644 --- a/qt_ui/windows/settings/QSettingsWindow.py +++ b/qt_ui/windows/settings/QSettingsWindow.py @@ -873,7 +873,7 @@ class QSettingsWindow(QDialog): def cheatMoney(self, amount): logging.info("CHEATING FOR AMOUNT : " + str(amount) + "M") - self.game.budget += amount + self.game.blue.budget += amount if amount > 0: self.game.informations.append( Information(