fix: 장수 런타임 레벨 상한을 Ref 기준으로 복구

가입 능력치 배분 상한과 런타임 레벨 상한을 분리하고, Ref 기본값 255를 공유 상수로 통합한다. 모병 후 레벨 유지와 국가 장수 목록의 고레벨 표시를 회귀 테스트로 고정한다.
This commit is contained in:
2026-08-21 08:37:38 +00:00
parent bba0d3b5c0
commit deb01f7f2b
21 changed files with 124 additions and 49 deletions
+2 -1
View File
@@ -1,4 +1,5 @@
import { asRecord } from '@sammo-ts/common';
import { LEGACY_DEFAULT_MAX_LEVEL } from '@sammo-ts/logic';
import { z } from 'zod';
import { accessAuthedInputProcedure, authedProcedure } from '../../trpc.js';
@@ -253,7 +254,7 @@ export const getGeneralDirectory = accessAuthedInputProcedure(z.object({ sort: z
const accessMap = new Map(accessLogs.map((row) => [row.generalId, row.refreshScoreTotal]));
const config = asRecord(worldState?.config);
const constValues = asRecord(config.const);
const maxLevel = readNumber(constValues.maxLevel, 255);
const maxLevel = readNumber(constValues.maxLevel, LEGACY_DEFAULT_MAX_LEVEL);
const maxDedLevel = readNumber(constValues.maxDedLevel, 30);
const worldMeta = asRecord(worldState?.meta);
const isUnited = readNumber(worldMeta.isUnited ?? worldMeta.isunited) > 0;