fix: Ref 게임 로직과 시나리오 풀 호환을 보정
월 경계, 전투 기술 상한, 연감과 베팅·설문·경매 정산 순서를 Ref 계약에 맞춘다.\n\n시나리오 일반 풀을 ENGINE mutation과 logical tick 기반으로 직렬화하고 914·915 catalog 및 조건부 100기 pool 실행 경계를 추가한다.\n\n경매 worker는 세대별 durable event만 만들고 ENGINE이 row lock 후 상태 전이와 정산을 단일 transaction으로 소유한다.
This commit is contained in:
@@ -388,7 +388,14 @@ export class TurnDaemonLifecycle {
|
||||
this.status.running = true;
|
||||
this.status.pendingReason = pending.reason;
|
||||
|
||||
const targetTime = pending.targetTime ?? new Date(startMs);
|
||||
const requestedTargetTime = pending.targetTime ?? new Date(startMs);
|
||||
const lastTurnTime = this.status.lastTurnTime ? new Date(this.status.lastTurnTime) : requestedTargetTime;
|
||||
// A single Ref turn run never observes generals beyond the next monthly
|
||||
// boundary before that boundary's monthly actions have completed. Keep
|
||||
// explicit manual/poke targets on the same chronological boundary as the
|
||||
// scheduled paths above.
|
||||
const nextMonthTime = this.getNextTickTime(lastTurnTime);
|
||||
const targetTime = new Date(Math.min(requestedTargetTime.getTime(), nextMonthTime.getTime()));
|
||||
const budget = pending.budget ?? this.options.defaultBudget;
|
||||
const checkpoint = this.status.checkpoint;
|
||||
let result: TurnRunResult;
|
||||
|
||||
Reference in New Issue
Block a user