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:
2026-08-23 16:26:14 +00:00
parent bf6b7be7b0
commit 85591c68ad
114 changed files with 13327 additions and 901 deletions
@@ -32,6 +32,7 @@ export const MONTHLY_EVENT_ACTION_CATALOG = [
'ProcessSemiAnnual',
'ProcessWarIncome',
'CreateAdminNPC',
'AdvanceCentennialAllStar',
'CreateManyNPC',
'RegNPC',
'RegNeutralNPC',
@@ -233,8 +234,7 @@ export const createMonthlyEventHandler = (options: {
// the previous monthly boundary even after turnDate() has advanced
// year/month. Generated general turn times depend on this distinction.
const legacyTurnTime =
context.legacyTurnTime ??
new Date(context.turnTime.getTime() - world.getState().tickSeconds * 1_000);
context.legacyTurnTime ?? new Date(context.turnTime.getTime() - world.getState().tickSeconds * 1_000);
for (const event of world.listEvents(targetCode)) {
const environment: MonthlyEventEnvironment = {