Support earlier classic Basic movement promises
Allow current-round classic Basic questions before Movement, with owned Charity, ordinary auction payment and Revival preparation. Reopen readiness, retain combined shipment obligations, reset stale allowances and release forced storm impossibility. Current-phase guidance and minimal bots preserve the route; held Karama now prepares its actual Guild shipment rate. Validation: affected rules/control tests, types/lint, production build and four gameplay/control/table-rendering programmes. Native early invoices, wider preparations/modules, full rules and deployed acceptance remain open. No saved-game, database, restart or deployment operation.
This commit is contained in:
1 parent
49586efd2f
commit
f995b6f4cd
18 files changed
+708
-46
No files matched your search
@@ -21,9 +21,10 @@ export function ShipmentPromises({
|
||||
if (!promises.length) return null;
|
||||
const me = g.players.find((p) => p.id === g.me)!;
|
||||
const early = g.phase < 5;
|
||||
const jointMovement = liveMovementPromises(g.movementPromises ?? [], g.me, g.turn).length > 0;
|
||||
const movement = liveMovementPromises(g.movementPromises ?? [], g.me, g.turn);
|
||||
const jointMovement = movement.length > 0;
|
||||
const next = g.phase === 5 && !jointMovement ? g.shipmentCompletion?.actions[0] : undefined;
|
||||
const preparation = early ? g.shipmentPreparation?.actions[0] : undefined;
|
||||
const preparation = early && !movement.some(promise => promise.answer) ? g.shipmentPreparation?.actions[0] : undefined;
|
||||
const preparationCard = preparation?.type === 'card'
|
||||
? me.hand?.find(card => card.id === preparation.card) : undefined;
|
||||
const preparationLabel = preparation?.type === 'charity'
|
||||
|
||||
Reference in new issue
Block a user