feat(技能系统): 实现技能冷却时间受攻击速度和技能速度属性影响

新增技能速度(SS)属性,用于减少非基础攻击技能的冷却时间
基础攻击技能冷却时间由英雄的as属性决定
眩晕和冰冻状态下不更新技能CD
合并冗余的canCast和resetCD方法
This commit is contained in:
2025-11-03 20:53:31 +08:00
parent 04aa5f9c78
commit 914ab0e8b9
7 changed files with 71 additions and 69 deletions

View File

@@ -50,10 +50,11 @@ export enum Attrs {
AP = 10, // 攻击力
MAP = 11, // 魔法攻击力
DIS = 12, // 攻击距离
AS = 13, // 攻击速度减少技能CD
SKILL_DURATION = 14, // 技能持续时间
AREA_OF_EFFECT = 15, // 作用范围
PIERCE = 16, // 穿透次数
AS = 13, // 攻击速度(减少技能skills[0]CD
SS = 14, // 技能速度 (减少skills[0] 以外的cd)
SKILL_DURATION = 15, // 技能持续时间
AREA_OF_EFFECT = 16, // 作用范围
PIERCE = 17, // 穿透次数
// ========== 防御属性 (20-29) ==========
DEF = 20, // 物理防御
@@ -163,6 +164,7 @@ export const AttrsType: Record<Attrs, BType> = {
[Attrs.MAP]: BType.VALUE, // 魔法攻击力 - 数值型
[Attrs.DIS]: BType.VALUE, // 攻击距离 - 数值型
[Attrs.AS]: BType.RATIO, // 攻击速度 - 百分比型
[Attrs.SS]: BType.RATIO, // 技能速度 - 百分比型
[Attrs.SKILL_DURATION]: BType.RATIO, // 技能持续时间 - 百分比型
[Attrs.AREA_OF_EFFECT]: BType.VALUE, // 作用范围 - 数值型
[Attrs.PIERCE]: BType.VALUE, // 穿透次数 - 数值型