Restore number-row turbine toggles; numpad sets rod presets

This commit is contained in:
Codex Agent
2025-11-25 17:58:00 +01:00
parent cde6731119
commit 157212a00d

View File

@@ -69,7 +69,7 @@ class ReactorDashboard:
DashboardKey("r", "Reset & clear state"), DashboardKey("r", "Reset & clear state"),
DashboardKey("a", "Toggle auto rod control"), DashboardKey("a", "Toggle auto rod control"),
DashboardKey("+/-", "Withdraw/insert rods"), DashboardKey("+/-", "Withdraw/insert rods"),
DashboardKey("1-9 / Numpad", "Set rods to 0.1 … 0.9 (manual)"), DashboardKey("Numpad 1-9", "Set rods to 0.1 … 0.9 (manual)"),
DashboardKey("[/]", "Adjust consumer demand /+50 MW"), DashboardKey("[/]", "Adjust consumer demand /+50 MW"),
DashboardKey("s/d", "Setpoint /+250 MW"), DashboardKey("s/d", "Setpoint /+250 MW"),
DashboardKey("p", "Maintain core (shutdown required)"), DashboardKey("p", "Maintain core (shutdown required)"),
@@ -97,7 +97,7 @@ class ReactorDashboard:
"Turbines / Grid", "Turbines / Grid",
[ [
DashboardKey("t", "Toggle turbine bank"), DashboardKey("t", "Toggle turbine bank"),
DashboardKey("Shift+1/2/3", "Toggle turbine units 1-3"), DashboardKey("1/2/3", "Toggle turbine units 1-3"),
DashboardKey("y/u/i", "Maintain turbine 1/2/3"), DashboardKey("y/u/i", "Maintain turbine 1/2/3"),
DashboardKey("c", "Toggle consumer"), DashboardKey("c", "Toggle consumer"),
], ],
@@ -187,14 +187,10 @@ class ReactorDashboard:
elif ch in (ord("t"), ord("T")): elif ch in (ord("t"), ord("T")):
self._queue_command(ReactorCommand(turbine_on=not self.reactor.turbine_active)) self._queue_command(ReactorCommand(turbine_on=not self.reactor.turbine_active))
elif ord("1") <= ch <= ord("9"): elif ord("1") <= ch <= ord("9"):
target = (ch - ord("0")) / 10.0 idx = ch - ord("1")
self._queue_command(ReactorCommand(rod_position=target, rod_manual=True)) self._toggle_turbine_unit(idx)
elif ch in _NUMPAD_ROD_KEYS: elif ch in _NUMPAD_ROD_KEYS:
self._queue_command(ReactorCommand(rod_position=_NUMPAD_ROD_KEYS[ch], rod_manual=True)) self._queue_command(ReactorCommand(rod_position=_NUMPAD_ROD_KEYS[ch], rod_manual=True))
elif ch in (ord("!"), ord("@"), ord("#"), ord("$"), ord("%"), ord("^"), ord("&"), ord("*"), ord("(")):
idx = ch - ord("!")
if 0 <= idx < len(self.reactor.turbines):
self._toggle_turbine_unit(idx)
elif curses.KEY_F1 <= ch <= curses.KEY_F9: elif curses.KEY_F1 <= ch <= curses.KEY_F9:
target = (ch - curses.KEY_F1 + 1) / 10.0 target = (ch - curses.KEY_F1 + 1) / 10.0
self._queue_command(ReactorCommand(rod_position=target, rod_manual=True)) self._queue_command(ReactorCommand(rod_position=target, rod_manual=True))