diff --git a/assets/script/game/common/config/HeroSkillDesc.ts b/assets/script/game/common/config/HeroSkillDesc.ts index e7952019..8c1c1471 100644 --- a/assets/script/game/common/config/HeroSkillDesc.ts +++ b/assets/script/game/common/config/HeroSkillDesc.ts @@ -210,12 +210,13 @@ function buildEffectLine(head: string, skill: SkillConfig): ISkillLine { * 为 key 查标准动词,数值按 fmt(比例/整数/减免)从 value 实时渲染。 * * @param showName 是否在行中包含「技能名」片段(英雄面板需要,装备商店不需要) + * @param nameOverride 技能名覆盖(英雄语境传入 heroSet 语境专属命名,缺省用 FieldSkillSet 通用名) */ -function buildFieldLine(head: string, uuid: number, showName: boolean = true): ISkillLine | null { +function buildFieldLine(head: string, uuid: number, showName: boolean = true, nameOverride?: string): ISkillLine | null { const fs = FieldSkillSet[uuid]; if (!fs) return null; const desc = FieldDescSet[fs.type]; - const nameSeg = showName ? `「${fs.name}」 ` : ""; + const nameSeg = showName ? `「${nameOverride ?? fs.name}」 ` : ""; // 未入表类型回退基础备注 info,整行不高亮 if (!desc) return { prefix: `${head}${nameSeg}${fs.info}`, value: "", suffix: "" }; @@ -569,12 +570,11 @@ export function buildSkillDescMoreRich(source: ISkillDescSource): string { } } - // 驻场光环(field) + // 驻场光环(field):直接以技能名开头,技能名走 heroSet 语境专属命名(如「战歌祝福」) const fieldEntries = source[SkillTriggerType.Field] as LvFieldEntry[] | undefined; if (fieldEntries?.length) { - const tpl = SkillTriggerName[SkillTriggerType.Field] ?? "光环"; for (const uuid of resolveFieldByLv(fieldEntries, lv)) { - const line = buildFieldLine(`${tpl}: `, uuid, true); + const line = buildFieldLine("", uuid, true, getTriggerSkillName(SkillTriggerType.Field, uuid)); if (line) lines.push(effectRich(line)); } } diff --git a/assets/script/game/common/config/SkillSet.ts b/assets/script/game/common/config/SkillSet.ts index 137d9522..49d0c6e9 100644 --- a/assets/script/game/common/config/SkillSet.ts +++ b/assets/script/game/common/config/SkillSet.ts @@ -1,4 +1,4 @@ -// ========== 从 HeroAttrs.ts 导入属性相关定义 ========== +// ========== 从 HeroAttrs.ts 导入属性相关定义 ========== import { Attrs } from "./HeroAttrs"; export enum HSSet { @@ -455,15 +455,15 @@ export enum FieldSkillType { SellGold = 6, // 卖出英雄金币提升 WaveHeal = 7, // 战斗结束生命回复量提升 HeroAtk = 8, // 英雄攻击力加成 - HeroStun = 9, // 英雄击晕加成 - HeroCrit = 10, // 英雄暴击加成 + HeroStun = 9, // 英雄击晕光环 + HeroCrit = 10, // 英雄暴击光环 HeroCritDamage = 11, // 英雄暴击伤害加成 HeroSpeed = 12, // 英雄攻击速度加成 // ---- 13~18 由 TalentSet 迁移而来,统一为驻场口径 ---- // 备注:SellGold 已原生覆盖"出售返还"语义,故 TalentSet 中的 SellBonus 不再单独保留 BuyDiscount = 13, // 购买卡牌费用减免(金币) RefreshDiscount = 14, // 刷新卡牌费用减免(金币) - HeroHp = 16, // 英雄最大生命加成 + HeroHp = 16, // 英雄最大生命光环 HeroWindFury = 17, // 英雄风怒概率加成 HeroPuncture = 18, // 英雄穿刺概率加成 AtkCount = 19, // 攻击触发技能次数提升 @@ -483,14 +483,14 @@ export const FieldSkillSet: Record = { 7001: { uuid: 7001, name: "战后恢复", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.1, info: "战斗结束生命回复量+10%" }, - 7002: { uuid: 7002, name: "攻击加成", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.1, info: "英雄攻击力+10%" }, - 7003: { uuid: 7003, name: "击晕加成", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.1, info: "英雄击晕概率+10%" }, - 7004: { uuid: 7004, name: "暴击加成", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.1, info: "英雄暴击率+10%" }, - 7005: { uuid: 7005, name: "暴伤加成", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.2, info: "英雄暴击伤害+20%" }, - 7006: { uuid: 7006, name: "攻速加成", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.1, info: "英雄攻击速度+10%" }, - 7007: { uuid: 7007, name: "生命加成", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.1, info: "英雄最大生命+10%" }, - 7008: { uuid: 7008, name: "风怒加成", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.1, info: "英雄风怒概率+10%" }, - 7009: { uuid: 7009, name: "穿刺加成", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.1, info: "英雄穿刺概率+10%" }, + 7002: { uuid: 7002, name: "攻击光环", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.1, info: "英雄攻击力+10%" }, + 7003: { uuid: 7003, name: "击晕光环", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.1, info: "英雄击晕概率+10%" }, + 7004: { uuid: 7004, name: "暴击光环", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.1, info: "英雄暴击率+10%" }, + 7005: { uuid: 7005, name: "暴伤光环", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.2, info: "英雄暴击伤害+20%" }, + 7006: { uuid: 7006, name: "攻速光环", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.1, info: "英雄攻击速度+10%" }, + 7007: { uuid: 7007, name: "生命光环", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.1, info: "英雄最大生命+10%" }, + 7008: { uuid: 7008, name: "风怒光环", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.1, info: "英雄风怒概率+10%" }, + 7009: { uuid: 7009, name: "穿刺光环", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.1, info: "英雄穿刺概率+10%" }, 7010: { uuid: 7010, name: "金币收益", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 1, info: "每回合金币收益+1" }, 7011: { uuid: 7011, name: "出售强化", icon: "Stat_GoldGainIncrease_01", type: FieldSkillType.SellGold, value: 1, info: "卖出英雄金币+1" }, @@ -507,14 +507,14 @@ export const FieldSkillSet: Record = { // ============ wave5 档(原值 ×2) ============ 7201: { uuid: 7201, name: "战后恢复+", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.2, info: "战斗结束生命回复量+20%" }, - 7202: { uuid: 7202, name: "攻击加成+", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.2, info: "英雄攻击力+20%" }, - 7203: { uuid: 7203, name: "击晕加成+", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.2, info: "英雄击晕概率+20%" }, - 7204: { uuid: 7204, name: "暴击加成+", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.2, info: "英雄暴击率+20%" }, - 7205: { uuid: 7205, name: "暴伤加成+", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.4, info: "英雄暴击伤害+40%" }, - 7206: { uuid: 7206, name: "攻速加成+", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.2, info: "英雄攻击速度+20%" }, - 7207: { uuid: 7207, name: "生命加成+", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.2, info: "英雄最大生命+20%" }, - 7208: { uuid: 7208, name: "风怒加成+", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.2, info: "英雄风怒概率+20%" }, - 7209: { uuid: 7209, name: "穿刺加成+", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.2, info: "英雄穿刺概率+20%" }, + 7202: { uuid: 7202, name: "攻击光环+", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.2, info: "英雄攻击力+20%" }, + 7203: { uuid: 7203, name: "击晕光环+", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.2, info: "英雄击晕概率+20%" }, + 7204: { uuid: 7204, name: "暴击光环+", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.2, info: "英雄暴击率+20%" }, + 7205: { uuid: 7205, name: "暴伤光环+", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.4, info: "英雄暴击伤害+40%" }, + 7206: { uuid: 7206, name: "攻速光环+", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.2, info: "英雄攻击速度+20%" }, + 7207: { uuid: 7207, name: "生命光环+", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.2, info: "英雄最大生命+20%" }, + 7208: { uuid: 7208, name: "风怒光环+", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.2, info: "英雄风怒概率+20%" }, + 7209: { uuid: 7209, name: "穿刺光环+", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.2, info: "英雄穿刺概率+20%" }, 7210: { uuid: 7210, name: "金币收益+", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 2, info: "每回合金币收益+2" }, @@ -525,14 +525,14 @@ export const FieldSkillSet: Record = { 7401: { uuid: 7401, name: "战后恢复++", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.3, info: "战斗结束生命回复量+30%" }, - 7402: { uuid: 7402, name: "攻击加成++", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.3, info: "英雄攻击力+30%" }, - 7403: { uuid: 7403, name: "击晕加成++", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.3, info: "英雄击晕概率+30%" }, - 7404: { uuid: 7404, name: "暴击加成++", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.3, info: "英雄暴击率+30%" }, - 7405: { uuid: 7405, name: "暴伤加成++", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.6, info: "英雄暴击伤害+60%" }, - 7406: { uuid: 7406, name: "攻速加成++", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.3, info: "英雄攻击速度+30%" }, - 7407: { uuid: 7407, name: "生命加成++", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.3, info: "英雄最大生命+30%" }, - 7408: { uuid: 7408, name: "风怒加成++", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.3, info: "英雄风怒概率+30%" }, - 7409: { uuid: 7409, name: "穿刺加成++", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.3, info: "英雄穿刺概率+30%" }, + 7402: { uuid: 7402, name: "攻击光环++", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.3, info: "英雄攻击力+30%" }, + 7403: { uuid: 7403, name: "击晕光环++", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.3, info: "英雄击晕概率+30%" }, + 7404: { uuid: 7404, name: "暴击光环++", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.3, info: "英雄暴击率+30%" }, + 7405: { uuid: 7405, name: "暴伤光环++", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.6, info: "英雄暴击伤害+60%" }, + 7406: { uuid: 7406, name: "攻速光环++", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.3, info: "英雄攻击速度+30%" }, + 7407: { uuid: 7407, name: "生命光环++", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.3, info: "英雄最大生命+30%" }, + 7408: { uuid: 7408, name: "风怒光环++", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.3, info: "英雄风怒概率+30%" }, + 7409: { uuid: 7409, name: "穿刺光环++", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.3, info: "英雄穿刺概率+30%" }, 7410: { uuid: 7410, name: "金币收益++", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 3, info: "每回合金币收益+3" }, diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index febd8869..6b5935c8 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -197,6 +197,17 @@ export const TriggerSkillNameSet: Record> = { [SkillTriggerType.Revive]: { 6501: "凤凰涅槃", // 死亡后原地复活 }, + // 驻场光环(field):英雄语境专属命名,名字直接带"光环"便于玩家理解 + [SkillTriggerType.Field]: { + 7002: "攻击光环", // 英雄攻击力提升 + 7003: "击晕光环", // 英雄击晕概率提升 + 7004: "暴击光环", // 英雄暴击率提升 + 7005: "暴伤光环", // 英雄暴击伤害提升 + 7006: "攻速光环", // 英雄攻击速度提升 + 7007: "生命光环", // 英雄最大生命提升 + 7008: "风怒光环", // 英雄风怒概率提升 + 7009: "穿刺光环", // 英雄穿刺概率提升 + }, } /** @@ -206,7 +217,22 @@ export const TriggerSkillNameSet: Record> = { * @returns 语境专属名称;未配置时回退 SkillSet 通用名称 */ export function getTriggerSkillName(type: SkillTriggerType, s_uuid: number): string { - return TriggerSkillNameSet[type]?.[s_uuid] ?? SkillSet[s_uuid]?.name ?? ""; + const group = TriggerSkillNameSet[type]; + if (group) { + // 直接命中 + const direct = group[s_uuid]; + if (direct) return direct; + // 驻场光环 +/++ 档(如 7202/7402)回退到基础档命名(7002) + if (type === SkillTriggerType.Field) { + const base = group[7000 + (s_uuid % 100)]; + if (base) return base; + } + } + // 驻场光环 uuid 存于 FieldSkillSet,触发技能存于 SkillSet,分别兜底 + if (type === SkillTriggerType.Field) { + return FieldSkillSet[s_uuid]?.name ?? ""; + } + return SkillSet[s_uuid]?.name ?? ""; } /**