From ac4302a8ed7743cd214ad6c853fbd15b7826abf1 Mon Sep 17 00:00:00 2001 From: Quintine <15965533+Quintine@users.noreply.github.com> Date: Tue, 27 Oct 2026 22:12:36 +1100 Subject: [PATCH] Correct Emperor special Sardaukar revival limits --- components/elite-count.tsx | 4 +- components/game-table.tsx | 16 +-- docs/CURRENT_STATUS.md | 8 ++ docs/IMPLEMENTATION_STATUS.md | 8 ++ docs/RULE_DECISIONS.md | 15 +++ game/bots.ts | 7 +- game/engine.ts | 5 - game/faction-reference.ts | 4 +- game/reference.ts | 4 +- .../emperor-special-revival-controls.test.tsx | 81 ++++++++++++ ...-special-revival-exemption-runtime.test.ts | 121 ++++++++++++++++++ tests/karama-intents.test.ts | 2 +- tests/special-karama.test.ts | 12 +- tests/tleilaxu-special-karama-window.test.ts | 15 ++- 14 files changed, 269 insertions(+), 33 deletions(-) create mode 100644 tests/emperor-special-revival-controls.test.tsx create mode 100644 tests/emperor-special-revival-exemption-runtime.test.ts diff --git a/components/elite-count.tsx b/components/elite-count.tsx index 1a12dc10..da345f4d 100644 --- a/components/elite-count.tsx +++ b/components/elite-count.tsx @@ -5,11 +5,13 @@ export function EliteCount({ value, onChange, max, + min = 0, label = 'Elite forces included', }: { value: number; onChange: (value: number) => void; max: number; + min?: number; label?: string; }) { const id = useId(); @@ -19,7 +21,7 @@ export function EliteCount({ onChange(Number(e.target.value))} diff --git a/components/game-table.tsx b/components/game-table.tsx index 52319719..95fbe63b 100644 --- a/components/game-table.tsx +++ b/components/game-table.tsx @@ -6327,7 +6327,9 @@ export function GameTable({ <>

Once per game: revive up to three forces or one - leader for free. + leader for free. These returns do not use your + ordinary revival allowances, including the normal + one-Sardaukar limit.