Honor Caladan auction knowledge in Truthtrance
Verify and publish checkpoint container / container (push) Canceled after 0s

This commit is contained in:
Quintine committed 2026-10-29 19:03:34 +11:00
1 parent 34f533ae8d
commit 4ec4f843a7
13 files changed
+241 -25

No files matched your search

+2 -5
View File
@@ -145,6 +145,7 @@ import { diplomatRetreatChoices, type DiplomatRetreatSelection, type DiplomatRet
import { ECAZ_START_FORCES, quoteEcazStartingForces } from './ecaz-setup';
import { battleCardSlotEligible, battleCategoryInspectionValue, fixedBattleInspectionMatches, validBattleSlotPair, usesNativeBattleSpecial } from './battle-card-slots';
import { HARASS_WITHDRAW_CARD, HarassWithdrawError, isHarassWithdraw, quoteHarassWithdraw, defaultHarassWithdrawAllocation, harassWithdrawNeedsAllocation, type HarassWithdrawSelection, type HarassWithdrawContext, type HarassWithdrawPreview } from './harass-withdraw';
import { originalAuctionInspectionLot } from './auction-inspection-source';
import { discoveryChoices, discoveryStashSignature, type DiscoveryStash } from './discovery-actions';
import { createStormSource, validateStormSource, discoveryStormOffer, createDiscoveryStorm, chooseDiscoveryStorm, validateDiscoveryStorm, finishDiscoveryStorm, discoveryStormDistance, discoveryStormSaphoModes, reorderDiscoveryStorm, type StormMovementSource, type DiscoveryStorm } from './discovery-storm';
import { completeDiscoveryFlight, discoveryFlightOffer, quoteDiscoveryFlight, validateDiscoveryFlight, type DiscoveryFlightReceipt } from './discovery-flight';
@@ -16146,15 +16147,11 @@ function auctionTechnologyQuote<T>(run: () => T): T {
throw error;
}
}
/** Card identity alone is not a lot: Technology can return a previously sold card. */
function originalAuctionInspectionLot(g: Game) {
return g.richeseAuction?.event ?? JSON.stringify([g.auction!.occupiedEvent ?? g.turn,
g.auction!.index, g.auction!.cards[g.auction!.index].id]);
}
function openOccupiedAuctionInspection(g: Game) {
if (!g.homeworldOccupationPreview) return;
const authority = quoteOccupiedBiddingAuthority(g, 'atreidesInspection');
const lot = originalAuctionInspectionLot(g);
requireRule(lot !== null, 'The original Caladan inspection needs an active auction lot.');
g.homeworldAuctionInspection = { lot, audience: authority.blocked ? [] : [...authority.inspectionAudience],
native: authority.provider, occupation: JSON.stringify(quoteStableHomeworldOccupation(g, 'caladan')), occupiedKnown: false };
}