feat: 新增闪避与命中属性系统,完善战斗判定逻辑

1.  新增全局默认闪避/命中率配置,为英雄和怪物提供缺省属性兜底
2.  扩展英雄属性组件,添加闪避、命中率属性与对应计算接口
3.  实现闪避判定逻辑,修正伤害流程,添加闪避提示效果
4.  新增闪避/命中相关buff、技能与光环配置
5.  完善属性值计算与 tooltip 显示逻辑
This commit is contained in:
panFD
2026-09-07 20:41:49 +08:00
parent 22fe31a769
commit aa488d55e7
11 changed files with 123 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
import { v3 } from "cc"
import { v3 } from "cc"
import { BoxSet, FacSet, FightSet } from "./GameSet"
import { SkillOverrides, TGroup, SkillSet, FieldSkillSet, SkillConfig, SkillKind, FieldSkillConfig, FieldSkillType, mergeSkillParams } from "./SkillSet"
import { BuffList, BuffConfig, ModOp } from "./BuffSet"
@@ -414,6 +414,8 @@ export interface heroInfo {
[SkillTriggerType.Atked]?: TriggerGrouped; // 受击后触发的技能配置,s_uuid: 技能id, t_num: 触发所需的受击次数
dis?: number; // 攻击距离(像素)
speed?: number; // 移动速度(像素/秒)
dodge?: number; // 闪避率(百分点,缺省由初始化处兜底为全局默认值)
accuracy?: number; // 命中率(百分点,缺省由初始化处兜底为全局默认值)
skills: Record<number, HSkillInfo>; // 携带技能ID列表
ap_bonus?: LvBonusEntry[]; // 额外攻击加成(按 lv 升序,运行时累加 ≤英雄等级 的所有档)
hp_bonus?: LvBonusEntry[]; // 额外生命加成(按 lv 升序,运行时累加 ≤英雄等级 的所有档)
@@ -1257,6 +1259,10 @@ function calcBuffPermanentEquivalent(buff: BuffConfig, apEff: number, cd: number
case Attrs.speed:
value += (modValue / 100) * dps * weights.W_DPS_PER_SEC * seconds;
break;
case Attrs.dodge:
case Attrs.accuracy:
value += modValue * weights.W_control;
break;
}
}
}
@@ -1298,6 +1304,8 @@ function calcSupportEffectValue(config: SkillConfig, hpEff: number, apEff: numbe
return (value / 100) * (apEff / cd) * 0.05 * weights.W_DPS_PER_SEC * seconds;
case Attrs.stun_chance:
case Attrs.freeze_chance:
case Attrs.dodge:
case Attrs.accuracy:
return value * weights.W_control;
case Attrs.knockback_chance:
// 击退强化已改为击退距离增量,按距离价值折算