refactor(hero): 重构技能触发与属性系统,使用运行时解析缓存

1. 重构英雄属性组件,将静态配置与运行时缓存分离,新增runtime_前缀的运行时解析字段
2. 移除旧的evolve进化配置处理逻辑,改为通过等级解析器动态获取当前等级生效的技能与属性
3. 统一怪物与英雄的技能触发逻辑,均使用运行时缓存字段
4. 更新测试模式配置结构,适配新的分组+等级数组配置格式
5. 优化技能描述生成逻辑,支持新的等级配置结构
This commit is contained in:
pan
2026-08-04 16:46:59 +08:00
parent d0971ff72c
commit 57c7934571
10 changed files with 561 additions and 489 deletions

View File

@@ -304,14 +304,14 @@ export interface GeneratedMonster {
/** 该波触发的波次强化 id 列表 */
wave_enchants: string[];
/** 测试模式专用技能覆盖 */
/** 测试模式专用技能覆盖(按 s_uuid 分组 + lv 数组,与 heroInfo 结构一致) */
testSkills?: {
skill?: { s_uuid: number; cd?: number; overrides?: any };
atking?: { s_uuid: number; t_num: number; overrides?: any }[];
atked?: { s_uuid: number; t_num: number; overrides?: any }[];
dead?: { s_uuid: number; t_num: number; overrides?: any }[];
fstart?: { s_uuid: number; t_num: number; overrides?: any }[];
fend?: { s_uuid: number; t_num: number; overrides?: any }[];
atking?: Record<number, { lv: number; t_num: number; overrides?: any }[]>;
atked?: Record<number, { lv: number; t_num: number; overrides?: any }[]>;
dead?: Record<number, { lv: number; t_num: number; overrides?: any }[]>;
fstart?: Record<number, { lv: number; t_num: number; overrides?: any }[]>;
fend?: Record<number, { lv: number; t_num: number; overrides?: any }[]>;
};
}
@@ -334,11 +334,11 @@ export const TestModeConfig = {
testWaveEnchant: undefined as string | undefined,
skill: undefined as { s_uuid: number; cd?: number; overrides?: any } | undefined,
atking: undefined as { s_uuid: number; t_num: number; overrides?: any }[] | undefined,
atked: undefined as { s_uuid: number; t_num: number; overrides?: any }[] | undefined,
dead: undefined as { s_uuid: number; t_num: number; overrides?: any }[] | undefined,
fstart: undefined as { s_uuid: number; t_num: number; overrides?: any }[] | undefined,
fend: undefined as { s_uuid: number; t_num: number; overrides?: any }[] | undefined,
atking: undefined as Record<number, { lv: number; t_num: number; overrides?: any }[]> | undefined,
atked: undefined as Record<number, { lv: number; t_num: number; overrides?: any }[]> | undefined,
dead: undefined as Record<number, { lv: number; t_num: number; overrides?: any }[]> | undefined,
fstart: undefined as Record<number, { lv: number; t_num: number; overrides?: any }[]> | undefined,
fend: undefined as Record<number, { lv: number; t_num: number; overrides?: any }[]> | undefined,
};
// ======================== 10. 生成引擎 ========================