/** * 业务层关卡怪物难度配置 * * mx 内核的 LevelDef 通过 `extra` 字段透传业务数据,不再定义业务 schema。 */ export interface ProjectLevelMonsterConfig { /** 战场 Level 表 id */ levelId: number; /** Monster1 难度行 */ difficultyRow: number; /** 怪物组 ID(对应 Monster1 列) */ monsterGroup: number; /** 全局血量倍率 */ hpMultiple: number; /** 特殊副本最终 HP 倍率 */ specialReplicaHpScale: number; /** 多出怪口血量倍率 [口1, 口2, 口3] */ portHpMult: number[]; /** 战力修正指数(玩家战力 >= 推荐时) */ powerPara: number; /** 战力修正指数(玩家战力 < 推荐时) */ powerPara2: number; /** 武器修正系数 */ weaponPara: number; } /** 从 LevelDef.extra 取回怪物难度配置 */ export function readMonsterConfigFromLevel( extra: Record | undefined, ): ProjectLevelMonsterConfig | undefined { const cfg = extra?.monsterConfig; return cfg as ProjectLevelMonsterConfig | undefined; }