Support Richese Kull current-lot bid answers
Verify and publish checkpoint container / container (push) Canceled after 0s
Verify and publish checkpoint container / container (push) Canceled after 0s
This commit is contained in:
1 parent
bf73c41ae0
commit
8b577f2487
11 files changed
+225
-13
No files matched your search
+6
-3
@@ -94,7 +94,7 @@ import { independentDiscoveryProfile, independentNexusProfile, nexusCoreProfile,
|
||||
import { homeworldOccupationLeaderSkillsProfile, homeworldOccupationModulesProfile, homeworldPhaseModulesProfile } from './homeworld-module-profile';
|
||||
import { RevivalPromiseError, revivalPromiseModeSupported, liveRevivalPromises, recordPromisedRevival,
|
||||
revivalPromisesSatisfied, validateRevivalPromises, type RevivalClaim, type RevivalPromise } from './revival-promises';
|
||||
import { BidPromiseError, bidPromiseModeSupported, bidPromiseRange, bidRequired, liveBidPromises,
|
||||
import { BidPromiseError, bidPromiseModeSupported, currentBidPromiseModeSupported, bidPromiseRange, bidRequired, liveBidPromises,
|
||||
recordPromisedBid, validateBidPromises, type BidClaim, type BidOpportunity, type BidPromise } from './bid-promises';
|
||||
import { PhaseBidPromiseError, phaseBidPromiseModeSupported, livePhaseBidPromises,
|
||||
phaseBidCompletionRange, recordPhaseBid, reconcilePhaseBidPromises,
|
||||
@@ -16950,6 +16950,9 @@ function phaseBidCurrentWindow(g: Game): boolean {
|
||||
!g.ixAuction && !g.pendingKarama && !g.pendingTreacheryDiscard && !g.pendingKull;
|
||||
}
|
||||
function bidQuestionWindow(g: Game): boolean {
|
||||
return currentBidPromiseModeSupported(g) && phaseBidCurrentWindow(g);
|
||||
}
|
||||
function mixedBidQuestionWindow(g: Game): boolean {
|
||||
return bidPromiseModeSupported(g) && phaseBidCurrentWindow(g);
|
||||
}
|
||||
/** A future lot is a witness only after a real funded bid has committed the
|
||||
@@ -17536,7 +17539,7 @@ function compileMixedBid(g: Game, p: Player, claim: MixedBidClaim, answer: boole
|
||||
}
|
||||
function mixedBidTruthAnswers(g: Game, p: Player, claim: MixedBidClaim): TruthAnswer[] {
|
||||
const opportunity = bidOpportunity(g);
|
||||
if (!opportunity || !bidQuestionWindow(g) || claim.turn !== opportunity.turn || claim.lot !== opportunity.lot ||
|
||||
if (!opportunity || !mixedBidQuestionWindow(g) || claim.turn !== opportunity.turn || claim.lot !== opportunity.lot ||
|
||||
!opportunity.eligible.includes(p.id) || opportunity.passed.includes(p.id) || opportunity.bidder === p.id) return [];
|
||||
const answers: TruthAnswer[] = [];
|
||||
for (const answer of [true, false]) {
|
||||
@@ -46354,7 +46357,7 @@ export function viewGame(state: Game, id: string, now?: number) {
|
||||
g.truthtrance.question.kind === 'mixedRevival' ? mixedRevivalTruthAnswers(g, me, g.truthtrance.question) : null,
|
||||
mixedRevivalPromises: projectedMixedRevivalPromises(g, id),
|
||||
revivalExpressionPromiseGuide: projectedRevivalExpressionPromiseGuide(g, id),
|
||||
truthMixedBidTargets: bidQuestionWindow(g) ? g.players.filter(player => {
|
||||
truthMixedBidTargets: mixedBidQuestionWindow(g) ? g.players.filter(player => {
|
||||
const lot = bidOpportunity(g)!;
|
||||
return lot.eligible.includes(player.id) && !lot.passed.includes(player.id) && lot.bidder !== player.id;
|
||||
}).map(player => player.id) : [],
|
||||
|
||||
Reference in new issue
Block a user