fix: match scenario 2601 monthly seed progression

This commit is contained in:
2026-08-03 18:56:23 +00:00
parent 2f17584075
commit 58b9a230a7
92 changed files with 3696 additions and 587 deletions
@@ -102,6 +102,7 @@ export const buildBattleSimEnvironment = async (
maxTrainByWar: resolveNumber(constValues, ['maxTrainByWar'], DEFAULT_WAR_CONFIG.maxTrainByWar),
maxAtmosByWar: resolveNumber(constValues, ['maxAtmosByWar'], DEFAULT_WAR_CONFIG.maxAtmosByWar),
maxGeneralStat: resolveNumber(constValues, ['maxLevel'], 255),
statUpgradeLimit: resolveNumber(constValues, ['upgradeLimit'], 30),
castleCrewTypeId,
armTypes: {
footman: 1,
+7 -2
View File
@@ -37,12 +37,17 @@ export const nextStage = (stage: number): number => {
}
};
const resolveScheduledBaseMs = (state: TournamentState): number => {
const scheduled = new Date(state.nextAt).getTime();
return Number.isFinite(scheduled) ? scheduled : Date.now();
};
export const resolveNextAt = (state: TournamentState): string =>
new Date(Date.now() + Math.max(1, state.termSeconds) * 1000).toISOString();
new Date(resolveScheduledBaseMs(state) + Math.max(1, state.termSeconds) * 1000).toISOString();
export const resolveBettingCloseAt = (state: TournamentState): string => {
const bettingTermMs = Math.min(state.termSeconds * 60, 3600) * 1000;
return new Date(Date.now() + Math.max(1000, bettingTermMs)).toISOString();
return new Date(resolveScheduledBaseMs(state) + Math.max(1000, bettingTermMs)).toISOString();
};
export const resolveStatValue = (