// ========== 从 HeroAttrs.ts 导入属性相关定义 ========== import { Attrs } from "./HeroAttrs"; export enum HSSet { atk = 0, // 普通攻击 skill = 1, // 一般技能 max = 2, // 必杀技 } export enum TGroup { Self = 0, // 自身 Ally = 1, // 所有友方,包括自己 Team = 2, // 所有友方 Enemy = 3, // 敌方单位 All = 4 // 所有单位 } export enum DTType { single = 0, range = 1, } /** * 计时 buff(timed_buff_id)的施加目标。 * 缺省(undefined)时按技能主效果推导:伤害技能挂施法者自身(增益语义),辅助技能挂友方目标。 * 显式配置后可切换到全体友方/全体敌方等;命中后对敌减益请用 timed_debuff_id(目标固定为被命中者)。 */ export enum BuffTarget { Hit = 0, // 被命中者(敌方技能的默认行为) Self = 1, // 施法者自身 Ally = 2, // 全体友方(含施法者) Enemy = 3, // 全体敌方(辅助技能给敌人挂 debuff 用) } export enum SkillKind { Damage = 0, Heal = 1, Shield = 2, Support = 3, } //受伤动画名称 export enum AtkedName { atked = "atked", ice = "atked_ice", fire = "atked_fire", wind = "atked_wind", crit = "atked_crit", } export enum RType { linear = 0, //直线 bezier = 1, //贝塞尔 fixed = 2, //固定起点 fixedEnd = 3, //固定终点 } //EType 只负责动画什么时候结束,碰撞体什么时候消失不管,但是消失前一定要关闭碰撞体 export enum EType { animationEnd = 0, //碰撞够也不消失,动画结束才消失 timeEnd = 1, //碰撞够也不消失,时间到才消失 collision = 2, //碰撞次数够就消失 } //debuff类型 /* === 技能配置系统使用说明 === 1. 基础属性: - uuid: 技能唯一ID - name: 技能名称 - sp_name: 特效名称 - AtkedName: 攻击类型 - path: 图片资源路径 2. 目标和效果: - TGroup: 目标群体 (敌方、友方等) - SType: 技能类型 (伤害、治疗、护盾等) 3. 执行参数: - act: 角色执行的动画 - DTType: 伤害类型 (单体、范围) - EType: 结束条件 - fname: 特效文件名 - with: 暂时无用 4. 数值参数: - ap: 攻击力百分比 - cd: 冷却时间 - hit_count: 可命中次数 - t_num: 目标数量 - hitcd: 持续伤害的伤害间隔 - speed: 移动速度 - cost: 消耗值 */ export enum DType { ATK = 0, // 物理 ICE = 1, // 冰元素 FIRE = 2, // 火元素 WIND = 3, // 风元素 } export enum IType { Melee = 0, // 近战 remote = 1, // 远程 support = 2, // 辅助 } export const HeroSkillList = [6001, 6001, 6001, 6001, 6001, 6001] // Debuff配置接口 // (已被废弃,采用平铺字段 buff_type 和 buff_value 代替) interface IReady { uuid: number, loop: boolean, SkillTime: number,// 技能控制存续时间时间 ReadyTime: number,// 技能前摇时间 RType: number, //技能运行类型 0-线性 1-贝塞尔 2-开始位置固定 3-目标位置固定 ready_y: number, path: string, } interface IEndAnm { uuid: number, path: string, loop: boolean, time: number, } // 技能配置接口 - 按照6001格式排列 export interface SkillConfig { uuid: number, // 技能唯一ID name: string, // 技能名称 sp_name: string, // 特效名称 icon: string, // 图标ID TGroup: TGroup, // 目标群体(敌方/友方/自身等) act: string, // 角色执行的动画 DTType: DTType, // 伤害类型(单体/范围) ap: number, // 伤害/治疗技能为攻击百分比,护盾技能为免疫次数 hit_count: number, // 可命中次数 hitcd: number, // 持续伤害的伤害间隔(秒) speed: number, // 移动速度 with: number, // 宽度(暂时无用) ready: number, // 前摇时间 readyAnm: string, // 前摇动画名称 endAnm: string, // 结束动画名称 EAnm: number, // 结束动画ID DAnm: string, // 命中后动画ID IType: IType, // 技能类型(近战/远程/辅助) RType: RType, // 技能运行类型(直线/贝塞尔/固定起点/固定终点) EType: EType, // 结束条件(动画结束/时间结束/距离结束/碰撞/次数结束) bezier_start_y?: number, // 贝塞尔起始抬升高度 bezier_mid_y?: number, // 贝塞尔中间高度增量 bezier_arc?: number, // 贝塞尔弧度系数 time?: number, // timeEnd 持续时间(秒) kind?: SkillKind, // 主效果类型 crt?: number, // 额外暴击率 frz?: number, // 额外冰冻概率 stun?: number, // 额外击晕概率 para?: number, // 额外麻痹概率(雷电系技能默认 30) bck?: number, // 额外击退强化(击退距离增量) bck_chance?: number, // 击退概率(百分点;未配置视为 0 不击退,可由 heroSet overrides 覆写) buff_type?: Attrs, // Buff 类型 (单一职责) timed_buff_id?: number, // 计时性 buff 配置 id(指向 BuffList),存在时走 buffManager 而非永久 add_* buff_value?: number, // 覆写计时 buff 的修饰数值(modifiers.value / tick.damage_or_heal),由药水卡自定义档位 buff_duration?: number, // 覆写计时 buff 的持续时间(秒),不配置则用 BuffList 默认值 buff_chance?: number, // 计时 buff 施加概率(百分点,缺省 100) /** 计时 buff 施加目标覆写:缺省按技能主效果推导(伤害→施法者自身,辅助→友方目标) */ buff_target?: BuffTarget, // ---- 命中敌方后施加的计时 debuff(仅伤害路径 HeroAtkSystem 结算,目标固定为被命中者) ---- timed_debuff_id?: number, // 计时 debuff 配置 id(指向 BuffList),命中敌人后施加 debuff_value?: number, // 覆写 debuff 的修饰数值(modifiers.value / tick.damage_or_heal) debuff_duration?: number, // 覆写 debuff 的持续时间(秒),不配置则用 BuffList 默认值 debuff_chance?: number, // debuff 施加概率(百分点,缺省 100) 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, // 技能描述 } export interface SkillOverrides { TGroup?: TGroup; ap?: number; hit_count?: number; hitcd?: number; crt?: number; frz?: number; stun?: number; para?: number; bck?: number; bck_chance?: number; buff_type?: Attrs; timed_buff_id?: number; buff_value?: number; buff_duration?: number; buff_chance?: number; /** 计时 buff 施加目标覆写:缺省按技能主效果推导(伤害→施法者自身,辅助→友方目标) */ buff_target?: BuffTarget; /** 命中敌方后施加的计时 debuff id(指向 BuffList),目标固定为被命中者,仅伤害路径结算 */ timed_debuff_id?: number; debuff_value?: number; debuff_duration?: number; debuff_chance?: number; call_hero?: number; /** 单次施法召唤的技能实体个数(覆盖 prefab 上 SkillView.summon_count;>1 视为召唤类,不再参与风怒等额外触发) */ summon_count?: number; is_accel?: boolean; /** 单次施法额外释放次数(0=单次,1=双发,2=三发;弹道由 resolveRepeatCastTargetPos 分散上/中/下三路) */ num?: number; /** 复活回血比例(%),有值表示死亡时触发复活(仅 dead 触发有效) */ 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; } /** * 将覆盖参数合并到基础技能配置中 * @param config 基础技能配置 * @param overrides 技能覆盖参数 * @returns 合并后的新技能配置 */ export function mergeSkillParams(config: SkillConfig, overrides?: SkillOverrides): SkillConfig { if (!overrides) return config; return { ...config, ...overrides }; } /****** * * 射箭类技能 带暴击属性 * 火法技能 * 冰法技能 带冰冻属性 * */ export const SkillSet: Record = { /** ========== 单体攻击基础技能 ========== **/ // 中距 刺客类普通技能 6001: { uuid: 6001, name: "飞剑", sp_name: "a2", icon: "130-Brandish", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "剑抛射物", }, 6002: { uuid: 6002, name: "匕首", sp_name: "a3", icon: "76-Shove-Stab", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "匕首抛射物", }, 6003: { uuid: 6003, name: "飞斧", sp_name: "a4", icon: "80-Throw-Stone", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "斧头抛射物", }, // 普通攻击 近战普通攻击 6004: { uuid: 6004, name: "攻击", sp_name: "atk1", icon: "63-Power-Strike", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, bck_chance: 100, info: "只有碰撞体没有实体动画元素", }, //中距 射手普通技能 6006: { uuid: 6006, name: "射击", sp_name: "aw2", icon: "10-Charge", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.bezier, EType: EType.collision, bezier_start_y: 20, bezier_mid_y: 140, bezier_arc: 1.05, info: "箭抛射物", }, 6007: { uuid: 6007, name: "蓝箭", sp_name: "aw1", icon: "56-Pierce-Shot", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.bezier, EType: EType.collision, bezier_start_y: 20, bezier_mid_y: 140, bezier_arc: 1.05, info: "蓝箭抛射物", }, 6008: { uuid: 6008, name: "红箭", sp_name: "aw3", icon: "58-Fire-Arrow", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.bezier, EType: EType.collision, bezier_start_y: 20, bezier_mid_y: 140, bezier_arc: 1.05, info: "红箭抛射物", }, // 远程,魔法师 辅助等普通技能 6009: { uuid: 6009, name: "蓝珠", sp_name: "m1", icon: "111-Blue-Potion", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "蓝珠抛射物", }, 6010: { uuid: 6010, name: "紫珠", sp_name: "m2", icon: "101-Posses", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "紫珠抛射物", }, 6011: { uuid: 6011, name: "绿瓶", sp_name: "h1", icon: "108-Green-Potion", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "绿瓶抛射物", }, 6012: { uuid: 6012, name: "红瓶", sp_name: "h2", icon: "109-Red-Potion", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "红瓶抛射物", }, // ==================== 群体大招(按职业分段:6100-6149 坦克/战士、6150-6199 刺客/射手、6200-6249 法师/辅助) ==================== // 坦克/战士群体攻击大招 6100: { uuid: 6100, name: "寒冰斩", sp_name: "atk3", icon: "96-Enchant-Frost", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max0", DTType: DTType.single, ap: 150, hit_count: 5, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "闪光斩动画",//英雄配置技能的时候,可以叠加出血debuff }, 6101: { uuid: 6101, name: "裂气斩", sp_name: "atk2", icon: "98-Enchant-Wind", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max0", DTType: DTType.single, ap: 150, hit_count: 5, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "裂气斩动画",//英雄配置技能的时候,可以叠加击退 }, 6102: { uuid: 6102, name: "火焰斩", sp_name: "atk5", icon: "97-Enchant-Flame", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max0", DTType: DTType.single, ap: 150, hit_count: 5, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "火焰斩动画",//英雄配置技能的时候,可以叠加暴击debuff }, 6103: { uuid: 6103, name: "闪电斩", sp_name: "atk5", icon: "100-Enchant-Magic", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max0", DTType: DTType.single, para: 30, ap: 150, hit_count: 5, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.Melee, is_accel: true, RType: RType.bezier, EType: EType.collision, info: "闪电斩动画",//英雄配置技能的时候,可以疲惫触发闪电系追加技能 }, 6104: { uuid: 6104, name: "开天斩", sp_name: "maxw1", icon: "p_warrior_kfdj_skill", TGroup: TGroup.Enemy, readyAnm: "blues", endAnm: "", act: "max0", DTType: DTType.range, stun: 0, ap: 300, hit_count: 6, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.fixed, EType: EType.animationEnd, info: "开山斧劈下动画",//可以附加击晕增强 }, // 刺客/射手群体攻击大招 6150: { uuid: 6150, name: "万箭齐发.冰", sp_name: "maxa1", icon: "59-Sparking-Arrow", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max0", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.bezier, EType: EType.collision, bezier_start_y: 20, bezier_mid_y: 140, bezier_arc: 1.05, info: "6个蓝箭抛射物", }, 6151: { uuid: 6151, name: "万箭齐发.火", sp_name: "maxa2", icon: "58-Fire-Arrow", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max0", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.bezier, EType: EType.collision, bezier_start_y: 20, bezier_mid_y: 140, bezier_arc: 1.05, info: "6个红箭抛射物", }, // 法师/辅助群体攻击大招 6200: { uuid: 6200, name: "火球术", sp_name: "maxm1", icon: "31-Fire", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max0", DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.bezier, EType: EType.collision, bezier_start_y: 20, bezier_mid_y: 140, bezier_arc: 1.05, info: "一个大火球", }, 6201: { uuid: 6201, name: "飓风", sp_name: "maxm2", icon: "98-Enchant-Wind", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max1", DTType: DTType.single, ap: 100, hit_count: 2, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.linear, EType: EType.collision, info: "一个飓风", }, 6202: { uuid: 6202, name: "毒气弹", sp_name: "maxm4", icon: "o_warlock_hyzy_skill", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max1", DTType: DTType.single, ap: 100, hit_count: 2, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.linear, EType: EType.collision, bezier_start_y: 20, bezier_mid_y: 140, bezier_arc: 1.05, info: "一个大毒气弹", }, 6203: { uuid: 6203, name: "能量波", sp_name: "maxm5", icon: "b_priest_kx_skill", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max1", DTType: DTType.single, ap: 100, hit_count: 2, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.linear, EType: EType.collision, bezier_start_y: 20, bezier_mid_y: 140, bezier_arc: 1.05, info: "一个能量波", }, 6204: { uuid: 6204, name: "多毒气弹", sp_name: "maxm6", icon: "o_warlock_hyzy_skill", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "max1", DTType: DTType.single, ap: 100, hit_count: 2, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.linear, EType: EType.collision, bezier_start_y: 20, bezier_mid_y: 140, bezier_arc: 1.05, info: "一个大毒气弹", }, //============================= ====== 辅助技能 回合技能 ====== ========================== 6301: { uuid: 6301, name: "护盾", sp_name: "buff_wind", icon: "28-Electric-Wave", TGroup: TGroup.Self, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Shield, ap: 30, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, info: "获得施法者最大生命30%的护盾", }, 6302: { uuid: 6302, name: "治疗", sp_name: "buff_wind", icon: "g_priest_zldy_skill", TGroup: TGroup.Team, readyAnm: "up_green", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Heal, ap: 300, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, info: "治疗伙伴/自己", }, //==========================buff 技能===================== 6401: { uuid: 6401, name: "攻击强化", sp_name: "buff_wind", icon: "36-Guardian-Stance", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 5, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.ap, info: "全体友方攻击力提升5%, 持续1次", }, 6402: { uuid: 6402, name: "生命强化", sp_name: "buff_wind", icon: "29-Endure", TGroup: TGroup.Team, readyAnm: "up_hp", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 20, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.hp_max, info: "全体友方最大生命值提升20%, 持续1次", }, 6403: { uuid: 6403, name: "暴击强化", sp_name: "buff_wind", icon: "5-Apply-Burn", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.critical, timed_buff_id: 7012, info: "全体友方暴击率限时提升, 持续5秒", }, 6404: { uuid: 6404, name: "暴伤强化", sp_name: "buff_wind", icon: "76-Shove-Stab", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.critical_damage, timed_buff_id: 7020, info: "全体友方暴击伤害限时提升, 持续5秒", }, 6405: { uuid: 6405, name: "击晕强化", sp_name: "buff_wind", icon: "119-Flying-Kick", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.stun_chance, timed_buff_id: 7017, info: "全体友方击晕概率限时提升, 持续5秒", }, 6406: { uuid: 6406, name: "击退强化", sp_name: "buff_wind", icon: "125-Tackle", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 10, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.knockback_chance, info: "全体友方击退距离永久提升10%", }, 6407: { uuid: 6407, name: "距推强化", sp_name: "buff_wind", icon: "73-Return", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, info: "暂未使用", }, 6408: { uuid: 6408, name: "穿刺强化", sp_name: "buff_wind", icon: "56-Pierce-Shot", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 20, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.puncture_chance, timed_buff_id: 7014, info: "全体友方穿透概率限时提升, 持续5秒", }, // 风怒机制已停用: 6409 风怒强化技能已移除 /* 6409: { uuid: 6409, name: "风怒强化", sp_name: "buff_wind", icon: "98-Enchant-Wind", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.wfuny, timed_buff_id: 7016, info: "全体友方风怒概率限时提升, 持续5秒", }, */ 6410: { uuid: 6410, name: "冰冻强化", sp_name: "buff_wind", icon: "90-Frost-Spike", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 5, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.freeze_chance, info: "全体友方冰冻概率永久提升5%", }, 6411: { uuid: 6411, name: "溅射强化", sp_name: "buff_wind", icon: "45-Induration", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 10, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.puncture_dmg_bonus, info: "全体友方穿透后伤害提升10%, 永久生效", }, 6412: { uuid: 6412, name: "防御强化", sp_name: "buff_wind", icon: "46-Iron-Clad", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 50, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.defense, info: "全体友方防御提升50点, 持续1次", }, 6413: { uuid: 6413, name: "反伤强化", sp_name: "buff_wind", icon: "75-Shield-Stun", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 10, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.thorns_dmg, info: "全体友方固定反伤提升10点, 永久生效", }, 6414: { uuid: 6414, name: "反伤比例强化", sp_name: "buff_wind", icon: "75-Shield-Stun", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 10, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.thorns_rate, info: "全体友方比例反伤提升10%, 永久生效", }, 6415: { uuid: 6415, name: "闪避强化", sp_name: "buff_wind", icon: "98-Enchant-Wind", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 5, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.dodge, info: "全体友方闪避概率提升5%, 永久生效", }, 6416: { uuid: 6416, name: "命中强化", sp_name: "buff_wind", icon: "27-Hawkeye", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 5, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.accuracy, info: "全体友方命中概率提升5%, 永久生效", }, 6501: { uuid: 6501, name: "复活", sp_name: "buff_wind", icon: "40-Holy", TGroup: TGroup.Self, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 50, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, info: "ap 代表复活的生命值百分比", }, // ==================== 计时性强化技能(药水底座,统一 5s,走 timed_buff_id) ==================== // 注:ap 字段在此类技能中无意义,修饰数值由 BuffList 配置(PercentAdd 百分比口径);hit_count=99 确保覆盖全队。 6502: { uuid: 6502, name: "计时回血", sp_name: "buff_wind", icon: "72-Restore", TGroup: TGroup.Team, readyAnm: "up_green", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.hp, timed_buff_id: 7010, info: "全体友方每秒回复生命, 持续5秒", }, 6503: { uuid: 6503, name: "攻击爆发", sp_name: "buff_wind", icon: "36-Guardian-Stance", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.ap, timed_buff_id: 7001, buff_value: 50, buff_duration: 5, info: "全体友方攻击力提升50%, 持续5秒", }, 6504: { uuid: 6504, name: "暴击爆发", sp_name: "buff_wind", icon: "5-Apply-Burn", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.critical, timed_buff_id: 7012, info: "全体友方暴击率提升30%, 持续5秒", }, 6505: { uuid: 6505, name: "击退爆发", sp_name: "buff_wind", icon: "125-Tackle", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.knockback_chance, timed_buff_id: 7013, info: "全体友方击退距离提升30%, 持续5秒", }, 6506: { uuid: 6506, name: "穿透爆发", sp_name: "buff_wind", icon: "56-Pierce-Shot", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.puncture_chance, timed_buff_id: 7014, info: "全体友方穿透概率提升30%, 持续5秒", }, 6507: { uuid: 6507, name: "攻速爆发", sp_name: "buff_wind", icon: "147-Chronomancy", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.speed, timed_buff_id: 7015, info: "全体友方攻击速度提升40%, 持续5秒", }, // 风怒机制已停用: 6508 风怒爆发技能已移除 /* 6508: { uuid: 6508, name: "风怒爆发", sp_name: "buff_wind", icon: "98-Enchant-Wind", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.wfuny, timed_buff_id: 7016, info: "全体友方风怒概率提升20%, 持续5秒", }, */ 6509: { uuid: 6509, name: "击晕爆发", sp_name: "buff_wind", icon: "119-Flying-Kick", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.stun_chance, timed_buff_id: 7017, info: "全体友方击晕概率提升30%, 持续5秒", }, 6510: { uuid: 6510, name: "击晕抗性", sp_name: "buff_wind", icon: "25-Diligence", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.stun_res, timed_buff_id: 7018, info: "全体友方击晕抗性提升50%, 持续5秒", }, 6511: { uuid: 6511, name: "冰冻抗性", sp_name: "buff_wind", icon: "21-Deep-Frezze", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.freeze_res, timed_buff_id: 7019, info: "全体友方冰冻抗性提升50%, 持续5秒", }, 6512: { uuid: 6512, name: "溅射爆发", sp_name: "buff_wind", icon: "45-Induration", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.puncture_dmg_bonus, timed_buff_id: 7022, info: "全体友方穿透后伤害提升30%, 持续5秒", }, 6513: { uuid: 6513, name: "防御爆发", sp_name: "buff_wind", icon: "46-Iron-Clad", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.defense, timed_buff_id: 7024, info: "全体友方防御提升100点, 持续5秒", }, 6514: { uuid: 6514, name: "反伤护盾", sp_name: "buff_wind", icon: "75-Shield-Stun", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.thorns_dmg, timed_buff_id: 7027, info: "全体友方获得10点固定反伤, 持续5秒", }, 6515: { uuid: 6515, name: "反伤比例", sp_name: "buff_wind", icon: "75-Shield-Stun", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.thorns_rate, timed_buff_id: 7028, info: "全体友方获得10%比例反伤, 持续5秒", }, // 次级反伤技能(供触发器引用,无 buff_type,效果由引用处 overrides 注入) 6516: { uuid: 6516, name: "次级反伤", sp_name: "buff_wind", icon: "75-Shield-Stun", TGroup: TGroup.Self, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, info: "次级反伤技能,效果由引用处 overrides 注入", }, 6517: { uuid: 6517, name: "生命爆发", sp_name: "buff_wind", icon: "29-Endure", TGroup: TGroup.Team, readyAnm: "up_green", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.hp_max, timed_buff_id: 7029, info: "全体友方最大生命值提升30%, 持续5秒", }, 6518: { uuid: 6518, name: "闪避爆发", sp_name: "buff_wind", icon: "98-Enchant-Wind", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.dodge, timed_buff_id: 7030, info: "全体友方闪避概率提升20%, 持续5秒", }, 6519: { uuid: 6519, name: "命中强化", sp_name: "buff_wind", icon: "27-Hawkeye", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.accuracy, timed_buff_id: 7031, info: "全体友方命中概率提升20%, 持续5秒", } }; //***************驻场技能配置*************** export enum FieldSkillType { SummonCount = 1, // 召唤触发技能次数提升 DeadCount = 2, // 死亡触发技能次数提升 StartCount = 3, // 战斗开始触发技能次数提升 WaveHeal = 7, // 战斗结束生命回复量提升 HeroAtk = 8, // 英雄攻击力加成 HeroStun = 9, // 英雄击晕光环 HeroCrit = 10, // 英雄暴击光环 HeroCritDamage = 11, // 英雄暴击伤害加成 HeroSpeed = 12, // 英雄攻击速度加成 // ---- 13~18 由 TalentSet 迁移而来,统一为驻场口径 ---- HeroHp = 16, // 英雄最大生命光环 // 风怒机制已停用: 英雄风怒概率光环已移除 // HeroWindFury = 17, // 英雄风怒概率加成 HeroPuncture = 18, // 英雄穿刺概率加成 AtkCount = 19, // 攻击触发技能次数提升 BeAtkCount = 20, // 被攻击触发技能次数提升 HeroPunctureDmg = 21, // 英雄穿透后伤害加成(百分点;乘算:PUNCTURE_DMG_RATIO * (1 + bonus/100)) HeroThornsDmg = 22, // 英雄固定反伤加成 HeroThornsRate = 23, // 英雄比例反伤加成(百分点) HeroDodge = 24, // 英雄闪避率加成(百分点) HeroHit = 25, // 英雄命中率加成(百分点) } export interface FieldSkillConfig { uuid: number; name: string; icon: string; // 新增图标字段 type: FieldSkillType; info: string; // 描述模板(不含具体数值,数值由配置处携带) } /** * 驻场光环底座表:每个 FieldSkillType 仅保留一条基础配置。 * * Why: 同一光环因数值不同拆成多个 uuid(7002/7202/7402)会造成大量重复条目。 * 合并后数值由配置处(heroSet/EquipSet 的 field 条目)携带,此处只维护 * 类型/图标/名称等元数据。所有光环 uuid 统一使用 7001~7020 基础段。 */ export const FieldSkillSet: Record = { 7001: { uuid: 7001, name: "战后恢复", icon: "29-Endure", type: FieldSkillType.WaveHeal, info: "战斗结束生命回复量提升" }, 7002: { uuid: 7002, name: "攻击光环", icon: "36-Guardian-Stance", type: FieldSkillType.HeroAtk, info: "英雄攻击力提升" }, 7003: { uuid: 7003, name: "击晕光环", icon: "119-Flying-Kick", type: FieldSkillType.HeroStun, info: "英雄击晕概率提升" }, 7004: { uuid: 7004, name: "暴击光环", icon: "5-Apply-Burn", type: FieldSkillType.HeroCrit, info: "英雄暴击率提升" }, 7005: { uuid: 7005, name: "暴伤光环", icon: "76-Shove-Stab", type: FieldSkillType.HeroCritDamage, info: "英雄暴击伤害提升" }, 7006: { uuid: 7006, name: "攻速光环", icon: "147-Chronomancy", type: FieldSkillType.HeroSpeed, info: "英雄攻击速度提升" }, 7007: { uuid: 7007, name: "生命光环", icon: "29-Endure", type: FieldSkillType.HeroHp, info: "英雄最大生命提升" }, // 风怒机制已停用: 7008 风怒光环已移除 // 7008: { uuid: 7008, name: "风怒光环", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, info: "英雄风怒概率提升" }, 7009: { uuid: 7009, name: "穿透光环", icon: "56-Pierce-Shot", type: FieldSkillType.HeroPuncture, info: "英雄穿刺概率提升" }, 7020: { uuid: 7020, name: "溅射光环", icon: "45-Induration", type: FieldSkillType.HeroPunctureDmg, info: "英雄穿透后伤害提升(百分点)" }, 7021: { uuid: 7021, name: "反伤光环", icon: "75-Shield-Stun", type: FieldSkillType.HeroThornsDmg, info: "英雄固定反伤提升" }, 7022: { uuid: 7022, name: "反伤比例光环", icon: "75-Shield-Stun", type: FieldSkillType.HeroThornsRate, info: "英雄比例反伤提升(百分点)" }, 7014: { uuid: 7014, name: "召唤光环", icon: "9-Battle-Roar", type: FieldSkillType.SummonCount, info: "召唤触发技能次数提升" }, 7015: { uuid: 7015, name: "死亡光环", icon: "102-Rise", type: FieldSkillType.DeadCount, info: "死亡触发技能次数提升" }, 7016: { uuid: 7016, name: "鼓舞光环", icon: "64-Prominance", type: FieldSkillType.StartCount, info: "战斗开始触发技能次数提升" }, 7018: { uuid: 7018, name: "连击光环", icon: "74-Satisfaction", type: FieldSkillType.AtkCount, info: "攻击触发技能次数提升" }, 7019: { uuid: 7019, name: "受击光环", icon: "84-Termor", type: FieldSkillType.BeAtkCount, info: "被攻击触发技能次数提升" }, 7023: { uuid: 7023, name: "闪避光环", icon: "98-Enchant-Wind", type: FieldSkillType.HeroDodge, info: "英雄闪避概率提升" }, 7024: { uuid: 7024, name: "命中光环", icon: "27-Hawkeye", type: FieldSkillType.HeroHit, info: "英雄命中概率提升" }, };