refactor(skilldesc): 重构技能描述渲染逻辑,统一驻场光环展示
1. 调整英雄头像预制体的UI布局参数与文字颜色样式 2. 新增驻场光环描述配置表,标准化光环效果的文字与数值渲染 3. 重构技能描述生成逻辑,使用实时数值替代手写文案避免数值漂移 4. 修改富文本高亮色为深绿色以适配深色面板
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
* {verb} 效果动词(攻击力/暴击率/护盾…)
|
||||
* {dur} 持续时间秒数(计时模式用,取 buff_duration)
|
||||
*/
|
||||
import { SkillOverrides } from "./SkillSet";
|
||||
import { FieldSkillType, SkillOverrides } from "./SkillSet";
|
||||
|
||||
/**
|
||||
* 单个技能的结构化描述配置
|
||||
@@ -100,3 +100,51 @@ export const SkillDescSet: Record<number, SkillDescConfig> = {
|
||||
templPerm: "{target}以{value}%生命复活",
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
* 驻场光环数值格式:比例型(value 0.1 → +10%)或整数型(value 1 → +1)
|
||||
*/
|
||||
export enum FieldValueFmt {
|
||||
/** 比例:value*100 取整 + "%"(如 0.1 → "+10%") */
|
||||
Percent = 1,
|
||||
/** 整数:直接 +N(如 1 → "+1") */
|
||||
Int = 2,
|
||||
/** 整数减:直接 -N(如 1 → "-1",用于费用减免) */
|
||||
IntMinus = 3,
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个驻场光环的结构化描述配置(文字表达标准层统一称谓)
|
||||
*/
|
||||
export interface FieldDescConfig {
|
||||
/** 效果动词,如 "英雄攻击力"/"召唤触发技能次数" */
|
||||
verb: string;
|
||||
/** 数值格式(决定 value 如何渲染为高亮片段) */
|
||||
fmt: FieldValueFmt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 驻场光环描述表,key = FieldSkillType。
|
||||
* 数值永远取 FieldSkillConfig.value 实时渲染,替代手写 info,杜绝漂移。
|
||||
*/
|
||||
export const FieldDescSet: Record<number, FieldDescConfig> = {
|
||||
[FieldSkillType.SummonCount]: { verb: "召唤触发技能次数", fmt: FieldValueFmt.Int },
|
||||
[FieldSkillType.DeadCount]: { verb: "死亡触发技能次数", fmt: FieldValueFmt.Int },
|
||||
[FieldSkillType.StartCount]: { verb: "战斗开始触发技能次数", fmt: FieldValueFmt.Int },
|
||||
[FieldSkillType.EndCount]: { verb: "战斗结束触发技能次数", fmt: FieldValueFmt.Int },
|
||||
[FieldSkillType.WaveGold]: { verb: "每回合金币收益", fmt: FieldValueFmt.Int },
|
||||
[FieldSkillType.SellGold]: { verb: "卖出英雄金币", fmt: FieldValueFmt.Int },
|
||||
[FieldSkillType.WaveHeal]: { verb: "战斗结束生命回复量", fmt: FieldValueFmt.Percent },
|
||||
[FieldSkillType.HeroAtk]: { verb: "英雄攻击力", fmt: FieldValueFmt.Percent },
|
||||
[FieldSkillType.HeroStun]: { verb: "英雄击晕概率", fmt: FieldValueFmt.Percent },
|
||||
[FieldSkillType.HeroCrit]: { verb: "英雄暴击率", fmt: FieldValueFmt.Percent },
|
||||
[FieldSkillType.HeroCritDamage]: { verb: "英雄暴击伤害", fmt: FieldValueFmt.Percent },
|
||||
[FieldSkillType.HeroSpeed]: { verb: "英雄攻击速度", fmt: FieldValueFmt.Percent },
|
||||
[FieldSkillType.BuyDiscount]: { verb: "购买卡牌费用", fmt: FieldValueFmt.IntMinus },
|
||||
[FieldSkillType.RefreshDiscount]: { verb: "刷新卡牌费用", fmt: FieldValueFmt.IntMinus },
|
||||
[FieldSkillType.HeroHp]: { verb: "英雄最大生命", fmt: FieldValueFmt.Percent },
|
||||
[FieldSkillType.HeroWindFury]: { verb: "英雄风怒概率", fmt: FieldValueFmt.Percent },
|
||||
[FieldSkillType.HeroPuncture]: { verb: "英雄穿刺概率", fmt: FieldValueFmt.Percent },
|
||||
[FieldSkillType.AtkCount]: { verb: "攻击触发技能次数", fmt: FieldValueFmt.Int },
|
||||
[FieldSkillType.BeAtkCount]: { verb: "被攻击触发技能次数", fmt: FieldValueFmt.Int },
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user