"""Day phase timing stats and open-shop duration helpers.""" from __future__ import annotations from game.sim.day_cycle import DayCycle, Pace, Phase, auto_phase_total def expected_open_seconds(pace: Pace = Pace.NORMAL) -> float: return float(auto_phase_total(pace)) def phase_limit(base: float, pace_multiplier: float) -> float: return float(base) * float(pace_multiplier) def phase_order() -> list: return [p.value for p in (Phase.PREP, Phase.MORNING, Phase.AFTERNOON, Phase.DUSK, Phase.CLOSING, Phase.NIGHT)]