diff --git a/game/game.py b/game/game.py index a69da6d6..edec12e2 100644 --- a/game/game.py +++ b/game/game.py @@ -13,6 +13,7 @@ from theater import * from . import db from .settings import Settings from .event import * +from datetime import datetime, timedelta COMMISION_UNIT_VARIETY = 4 COMMISION_LIMITS_SCALE = 1.5 @@ -85,6 +86,10 @@ PLAYER_BUDGET_BASE = 14 PLAYER_BUDGET_IMPORTANCE_LOG = 2 + + + + class Game: settings = None # type: Settings budget = PLAYER_BUDGET_INITIAL @@ -93,13 +98,14 @@ class Game: ignored_cps = None # type: typing.Collection[ControlPoint] turn = 0 - def __init__(self, player_name: str, enemy_name: str, theater: ConflictTheater): + def __init__(self, player_name: str, enemy_name: str, theater: ConflictTheater, start_date: datetime): self.settings = Settings() self.events = [] self.theater = theater self.player = player_name self.enemy = enemy_name self.turn = 0 + self.date = start_date def _roll(self, prob, mult): if self.settings.version == "dev": @@ -294,3 +300,11 @@ class Game: self._generate_events() #self._generate_globalinterceptions() + @property + def current_turn_daytime(self): + return ["dawn", "day", "dusk", "night"][self.turn % 4] + + @property + def current_day(self): + return self.date + timedelta(days=self.turn//4) + diff --git a/ui/overviewcanvas.py b/ui/overviewcanvas.py index afd5eaa0..b781fe81 100644 --- a/ui/overviewcanvas.py +++ b/ui/overviewcanvas.py @@ -616,5 +616,6 @@ class OverviewCanvas: return action def updateOptions(self): - self.current_turn.set("Turn : {}".format(self.game.turn)) + self.current_turn.set("Turn : {} [{} {}]".format(self.game.turn, self.game.current_day.strftime("%d %b %Y"), + self.game.current_turn_daytime)) self.current_budget.set("Budget: {}m (+{}m)".format(self.game.budget, self.game.budget_reward_amount)) \ No newline at end of file diff --git a/ui/window.py b/ui/window.py index b5e8f7b4..d8e355a8 100644 --- a/ui/window.py +++ b/ui/window.py @@ -103,7 +103,8 @@ class Window: start_generator.generate_groundobjects(conflicttheater) game = Game(player_name=player_name, enemy_name=enemy_name, - theater=conflicttheater) + theater=conflicttheater, + start_date=datetime.now()) game.budget = int(game.budget * multiplier) game.settings.multiplier = multiplier game.settings.sams = sams