feat(skill): add proc skill trigger system

实现技能命中后概率触发额外技能的完整流程

1.  新增proc_skill技能配置字段与数据组件
2.  新增公共技能派发工具方法
3.  在HeroAtkSystem中添加触发逻辑
4.  完善伤害事件与技能视图传递proc_skill参数
This commit is contained in:
panFD
2026-09-05 13:26:34 +08:00
parent 30748536d0
commit 63423c5378
7 changed files with 61 additions and 3 deletions

View File

@@ -171,6 +171,15 @@ export interface SkillConfig {
call_hero?: number, // 召唤技能召唤英雄id(可选)
summon_count?: number, // 单次施法召唤的技能实体个数(未配置时回退 prefab 上 SkillView.summon_count)
is_accel?: boolean, // 是否逐渐加速飞行
/**
* 命中后概率触发额外技能(技能级触发器)。
* s_uuid: 被触发的技能 uuid;chance: 触发概率(百分点,缺省 100)。
* overrides: 透传给被触发技能的覆写参数(如 ap/hit_count 等),用于自定义被触发技能的伤害/数值;
* 与被触发技能自身在 heroSet 中的 overrides 叠加(本次传入优先)。
* 触发走 SkillTriggerHelper/forceCastTriggerSkill 通道(无视 CD、无施法前摇),与 atking 同一通道。
* 支持在 lv_entries 的 overrides 里按等级覆写(利用 overrides 浅合并机制)。
*/
proc_skill?: { s_uuid: number; chance?: number; overrides?: SkillOverrides },
info: string, // 技能描述
}
@@ -202,6 +211,9 @@ export interface SkillOverrides {
revive_hp?: number;
/** 复活次数上限,配合 revive_hp 使用(仅 dead 触发有效) */
revive_count?: number;
/** 命中后概率触发额外技能(技能级触发器,覆写 SkillConfig.proc_skill),支持 lv_entries 按等级覆写;
* overrides 字段可自定义被触发技能的伤害/数值(如 ap),透传给 forceCastTriggerSkill */
proc_skill?: { s_uuid: number; chance?: number; overrides?: SkillOverrides };
/** 英雄语境专属图标(图鉴面板/技能弹窗展示用):配置后覆盖 SkillSet.icon,
* 实现"同一底座、不同英雄/档位不同外观"(如 5002 普攻与冲刺斩同 6004 但图标不同) */
icon?: string;