feat(英雄属性): 新增暴击伤害属性并支持驻场技能加成

- 在 HeroAttrs 枚举中添加 critical_damage 属性
- 修改 HeroAtkSystem 的暴击伤害计算逻辑,支持基础暴伤和英雄额外暴伤叠加
- 在 Skill 类中设置技能属性时,使用 HeroAttrsComp 的运行时属性获取方法
- 为 FieldSkillSet 添加 HeroFrost、HeroCrit、HeroCritDamage 和 HeroSpeed 驻场技能配置
- 在 HeroAttrsComp 中新增 crit_damage 字段和相关运行时属性计算方法
- 实现驻场技能百分比值统一换算逻辑,支持 0.2 和 20 两种配置写法
- 添加攻速加成机制,通过缩短技能 CD 实现攻击速度提升
This commit is contained in:
walkpan
2026-05-02 23:50:23 +08:00
parent 7a0b3ee74d
commit 2eaf85c6f5
5 changed files with 71 additions and 14 deletions

View File

@@ -23,6 +23,7 @@ export enum Attrs {
// ==================== 暴击与命中属性 ====================
critical = "critical", // 暴击率
critical_damage = "critical_damage", // 暴击伤害
// ==================== 特殊效果属性 ====================
freeze_chance = "freeze_chance", // 冰冻概率

View File

@@ -325,7 +325,7 @@ export const SkillSet: Record<number, SkillConfig> = {
}
};
//***************驻场技能配置***************
export enum FieldSkillType {
SummonCount = 1, // 召唤触发技能次数提升
DeadCount = 2, // 死亡触发技能次数提升
@@ -338,7 +338,7 @@ export enum FieldSkillType {
HeroFrost = 9, // 英雄冰冻加成
HeroCrit = 10, // 英雄暴击加成
HeroCritDamage = 11, // 英雄暴击伤害加成
HeroSpeed = 12, // 英雄移动速度加成
HeroSpeed = 12, // 英雄攻击速度加成
}
export interface FieldSkillConfig {
@@ -358,5 +358,8 @@ export const FieldSkillSet: Record<number, FieldSkillConfig> = {
7006: { uuid: 7006, name: t("fskill_name_7006"), type: FieldSkillType.SellGold, value: 5, info: t("fskill_info_7006", 5) },
7007: { uuid: 7007, name: t("fskill_name_7007"), type: FieldSkillType.WaveHeal, value: 0.3, info: t("fskill_info_7007", 30) },
7008: { uuid: 7008, name: t("fskill_name_7008"), type: FieldSkillType.HeroAtk, value: 0.2, info: t("fskill_info_7008", 20) },
7009: { uuid: 7009, name: t("fskill_name_7009"), type: FieldSkillType.HeroFrost, value: 0.1, info: t("fskill_info_7009", 10) },
7010: { uuid: 7010, name: t("fskill_name_7010"), type: FieldSkillType.HeroCrit, value: 0.1, info: t("fskill_info_7010", 10) },
7011: { uuid: 7011, name: t("fskill_name_7011"), type: FieldSkillType.HeroCritDamage, value: 0.5, info: t("fskill_info_7011", 50) },
7012: { uuid: 7012, name: t("fskill_name_7012"), type: FieldSkillType.HeroSpeed, value: 0.2, info: t("fskill_info_7012", 20) },
};