Allow Emperor gifts during Basic Ix phase openings
Verify and publish checkpoint container / container (push) Canceled after 0s

This commit is contained in:
Quintine committed 2026-10-29 06:33:41 +11:00
1 parent 538247e777
commit d4abc6bb83
9 files changed
+294 -4

No files matched your search

+7 -4
View File
@@ -12,8 +12,9 @@ export function EmperorTimingGift({ game, act, busy }: {
}) {
const id = useId();
const [raw, setRaw] = useState('1');
const phaseOpening = game.emperorPhaseOpeningGift;
const extortion = game.emperorExtortionGift;
const offer = extortion ?? game.emperorGuildTimingGift;
const offer = phaseOpening ?? extortion ?? game.emperorGuildTimingGift;
if (!offer) return null;
const amount = /^[1-9]\d*$/.test(raw) ? Number(raw) : NaN;
const canShare = !busy && Number.isSafeInteger(amount) && amount >= 1 && amount <= offer.maximum;
@@ -21,9 +22,11 @@ export function EmperorTimingGift({ game, act, busy }: {
return <section className="notice min-w-0 space-y-3 break-words" aria-label="Emperor spice gift">
<h3>Share spice with {recipient}</h3>
<p className="fine">{extortion
? 'The Moritani Extortion decision resumes after the Karama response to your gift.'
: 'The Guild timing decision resumes after the Karama response to your gift.'}</p>
<p className="fine">{phaseOpening
? 'Phase opening resumes after the Karama response to your gift.'
: extortion
? 'The Moritani Extortion decision resumes after the Karama response to your gift.'
: 'The Guild timing decision resumes after the Karama response to your gift.'}</p>
<label htmlFor={`${id}-amount`}>Spice to share</label>
<input id={`${id}-amount`} type="number" inputMode="numeric" min={1} max={offer.maximum}
step={1} value={raw} disabled={busy} onChange={event => setRaw(event.target.value)} />
+1
View File
@@ -2547,6 +2547,7 @@ export function GameTable({
<>
<span className="eyebrow">Phase opening</span>
<h2>Before {PHASES[g.phase]}</h2>
<EmperorTimingGift game={g} act={act} busy={busy} />
<p>
Play Amal now, or pass to begin this phase. Phase effects wait
until everyone has passed.