You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
34 lines
1.1 KiB
|
3 weeks ago
|
/**
|
||
|
|
* 业务层关卡怪物难度配置
|
||
|
|
*
|
||
|
|
* 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<string, unknown> | undefined,
|
||
|
|
): ProjectLevelMonsterConfig | undefined {
|
||
|
|
const cfg = extra?.monsterConfig;
|
||
|
|
return cfg as ProjectLevelMonsterConfig | undefined;
|
||
|
|
}
|