refactor(hero): 调整英雄描述展示为满级效果

修改英雄能力描述的数据源等级为5级,展示满级能力信息;移除技能名后的档位后缀,统一文案展示规则。
This commit is contained in:
panFD
2026-08-12 08:38:57 +08:00
parent 450a8b81e5
commit ae6c69e4f3
3 changed files with 1863 additions and 4207 deletions

View File

@@ -598,24 +598,18 @@ export function buildSkillDescMoreRich(source: ISkillDescSource): string {
const curTrig = needCount
? `${trigName}${valueRich(cur.t_num)}`
: trigName;
// 技能名 + 档位数字后缀(如 "不屈壁垒1"),与光环命名口径一致
const curHead = `${skillName}${curSLv}」: ${curTrig}, `;
// 技能名直接展示,不附加档位数字后缀(由 lv 字段控制生效档,玩家无需关注内部档号)
const curHead = `${skillName}」: ${curTrig}, `;
lines.push(effectRich(buildEffectLine(curHead, mergeSkillParams(base, cur.overrides))));
}
}
// 驻场光环field技能名带档位数字后缀(按 lv 档升序1 起始),便于玩家识别成长
// 驻场光环field直接展示技能名,不附加档位数字后缀
const fieldEntries = source[SkillTriggerType.Field] as LvFieldEntry[] | undefined;
if (fieldEntries?.length) {
// 按 lv 升序确定当前生效档的序号1 起始),作为技能名后缀
const sorted = [...fieldEntries].sort((a, b) => a.lv - b.lv);
let tier = 1;
for (let i = 0; i < sorted.length; i++) {
if (sorted[i].lv <= lv) tier = i + 1;
}
for (const entry of resolveFieldByLv(fieldEntries, lv)) {
const baseName = getTriggerSkillName(SkillTriggerType.Field, entry.uuid);
const line = buildFieldLine("", entry, true, `${baseName}${tier}`);
const line = buildFieldLine("", entry, true, baseName);
if (line) lines.push(effectRich(line));
}
}