From c3f37a574d5f8b1d7e9b53ef2623aa6d28dedf56 Mon Sep 17 00:00:00 2001 From: Quintine <15965533+Quintine@users.noreply.github.com> Date: Wed, 28 Oct 2026 00:30:59 +1100 Subject: [PATCH] Support Truthtrance on Basic Ixian auction knowledge --- components/mixed-shipment-fields.tsx | 4 +- components/truthtrance-knowledge.tsx | 16 +++- docs/CURRENT_STATUS.md | 9 ++ docs/IMPLEMENTATION_STATUS.md | 10 +++ docs/RULE_DECISIONS.md | 10 +++ docs/TRUTHTRANCE_KNOWLEDGE.md | 19 +++++ game/reference.ts | 9 +- game/truthtrance-knowledge.ts | 25 +++++- tests/truthtrance-ix-pool-knowledge.test.ts | 57 +++++++++++++ tests/truthtrance-ix-pool-runtime.test.ts | 82 +++++++++++++++++++ tests/truthtrance-knowledge-controls.test.tsx | 20 ++++- 11 files changed, 248 insertions(+), 13 deletions(-) create mode 100644 tests/truthtrance-ix-pool-knowledge.test.ts create mode 100644 tests/truthtrance-ix-pool-runtime.test.ts diff --git a/components/mixed-shipment-fields.tsx b/components/mixed-shipment-fields.tsx index de18c25e..b8e1b4b6 100644 --- a/components/mixed-shipment-fields.tsx +++ b/components/mixed-shipment-fields.tsx @@ -67,6 +67,7 @@ export function TruthFactFields({ value: fact, game, target, onChange }: { stormForecast: { kind: 'stormForecast', compare: 'gte', value: 1 }, spicePeek: { kind: 'spicePeek', value: 'worm' }, auctionPeek: { kind: 'auctionPeek', name: 'Shield' }, + ixPoolPeek: { kind: 'ixPoolPeek', name: 'Shield' }, spice: { kind: 'spice', compare: 'gte', value: 6 }, forceCount: { kind: 'forceCount', zone: { kind: 'reserves' }, counter: 'total', compare: 'gte', value: 6 }, noFieldValue: { kind: 'noFieldValue', value: 3 }, @@ -87,6 +88,7 @@ export function TruthFactFields({ value: fact, game, target, onChange }: { + @@ -102,7 +104,7 @@ export function TruthFactFields({ value: fact, game, target, onChange }: { : fact.kind === 'noFieldValue' ? : fact.kind === 'forceCount' ? player.id === target)!} onChange={onChange} /> : - fact.kind === 'prediction' || fact.kind === 'stormDial' || fact.kind === 'stormForecast' || fact.kind === 'spicePeek' || fact.kind === 'auctionPeek' ? + fact.kind === 'prediction' || fact.kind === 'stormDial' || fact.kind === 'stormForecast' || fact.kind === 'spicePeek' || fact.kind === 'auctionPeek' || fact.kind === 'ixPoolPeek' ? : fact.kind === 'spice' ? <>