// ========== 从 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, aoe_grid = 2, // 3*3 网格范围攻击,以中路第2、3列为目标 } export enum SkillKind { Damage = 0, Heal = 1, Shield = 2, Support = 3, Gold = 4 } //受伤动画名称 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, // 伤害/治疗技能为攻击百分比,护盾技能为免疫次数 gold?: 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, // 额外击晕概率 bck?: number, // 额外击退概率 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 默认值 call_hero?: number, // 召唤技能召唤英雄id(可选) is_accel?: boolean, // 是否逐渐加速飞行 info: string, // 技能描述 } export interface SkillOverrides { TGroup?: TGroup; ap?: number; gold?: number; hit_count?: number; hitcd?: number; crt?: number; frz?: number; stun?: number; bck?: number; buff_type?: Attrs; timed_buff_id?: number; buff_value?: number; buff_duration?: number; call_hero?: number; is_accel?: boolean; /** 单次施法额外释放次数(0=单次,1=双发,2=三发;弹道由 resolveRepeatCastTargetPos 分散上/中/下三路) */ num?: number; } /** * 将覆盖参数合并到基础技能配置中 * @param config 基础技能配置 * @param overrides 技能覆盖参数 * @returns 合并后的新技能配置 */ export function mergeSkillParams(config: SkillConfig, overrides?: SkillOverrides): SkillConfig { if (!overrides) return config; return { ...config, ...overrides }; } /****** * * 射箭类技能 带暴击属性 * 火法技能 * 冰法技能 带冰冻属性 * */ export const SkillSet: Record = { /** ========== 单体攻击基础技能 ========== 升级方向是 最多向 3 个目标发射技能实体 * 6001 火球 基础攻击 暴击取向 * 6002 紫球 怪物法师类攻击样式 * 6003 白球 击晕取向 * 6004 水球 溅射 分裂取向,一定概率分裂多个 * 6008 箭矢 单体攻击, * 6009 箭矢蓝 溅射,分裂取向,一定概率分裂多个 * 6010 箭矢黄 击晕取向 **/ 6001: { uuid: 6001, name: "飞剑", sp_name: "a1", icon: "Sword-FA_WP_Main_Sword_003_PurpleSilver", 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: "造成攻击力100%的伤害", }, 6002: { uuid: 6002, name: "飞刀", sp_name: "a2", icon: "Sword-FA_WP_Main_Sword_009_GraySilver", 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: "造成攻击力100%的伤害", }, 6003: { uuid: 6003, name: "匕首", sp_name: "a3", icon: "Sword-FA_WP_Main_Sword_019_WoodSilver", 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: "造成攻击力100%的伤害", }, 6004: { uuid: 6004, name: "飞斧", sp_name: "a4", icon: "Axe-FA_WP_Main_Axe_004_WoodGray", 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: "造成攻击力100%的伤害", }, 6005: { uuid: 6005, name: "飞枪", sp_name: "a5", icon: "Spear-FA_WP_Main_Spear_010_MetalBlue", 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: "造成攻击力100%的伤害", }, 6006: { uuid: 6006, name: "攻击", sp_name: "atk", icon: "Stat_Attack_01", 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: "造成攻击力100%的伤害", }, 6007: { uuid: 6007, name: "飞棒", sp_name: "b1", icon: "Blunt-FA_WP_Main_Blunt_002_Wood", 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: "造成攻击力100%的伤害", }, 6008: { uuid: 6008, name: "射击", sp_name: "aw2", icon: "Stat_RangedAttack", 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: "造成攻击力100%的伤害", }, 6009: { uuid: 6009, name: "蓝箭", sp_name: "aw1", icon: "Stat_RangedAttack", 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: "造成攻击力100%的伤害", }, 6010: { uuid: 6010, name: "火箭", sp_name: "aw3", icon: "Stat_RangedAttack", 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: "造成攻击力100%的伤害", }, 6011: { uuid: 6011, name: "飞锤", sp_name: "b2", icon: "Blunt-FA_WP_Main_Blunt_005_Gray", 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: "造成攻击力100%的伤害", }, 6012: { uuid: 6012, name: "飞斧", sp_name: "b2", icon: "Axe-FA_WP_Main_Axe_002_WoodGray", 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: "造成攻击力100%的伤害", }, 6013: { uuid: 6013, name: "蓝魔球", sp_name: "m1", icon: "Sub_Item-FA_WP_Sub_MagicBall_001_Blue", 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: "造成攻击力100%的伤害", }, 6014: { uuid: 6014, name: "紫魔球", sp_name: "m2", icon: " Sub_Item-FA_WP_Sub_MagicBall_001_Purple", 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: "造成攻击力100%的伤害", }, 6015: { uuid: 6015, name: "绿药瓶", sp_name: "h1", icon: "Sub_Item-FA_WP_Sub_Potion_001_Green", 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: "造成攻击力100%的伤害", }, 6016: { uuid: 6016, name: "红药瓶", sp_name: "h2", icon: "Sub_Item-FA_WP_Sub_Potion_001_Red", 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: "造成攻击力100%的伤害", }, /*** ======中阶范围攻击技能 ==== * 都带有穿刺属性,至少穿透1 个目标 攻击2 个目标, 升级方向是 最多 穿透3 个攻击 4 个目标 * 6101 火球 基础属性,暴击取向 * 6102 暗影球 怪物法师类攻击样式 * 6103 光球 击晕取向 * 6104 水球 溅射:分裂多个 **/ 6101: { uuid: 6101, name: "火球", sp_name: "fb-1", icon: "Stat_FireDamage", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", DTType: DTType.single, stun: 0, ap: 100, hit_count: 2, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, RType: RType.bezier, EType: EType.collision, info: "造成攻击力100%的伤害, 一定几率暴击, 高阶技能", }, //怪物法师统一使用 暗影球 6102: { uuid: 6102, name: "飓风", sp_name: "fb-2", icon: "Stat_Mana", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", 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: "造成攻击力100%的伤害, 高阶技能", }, 6201: { uuid: 6201, name: "陨石术", sp_name: "fb-3", icon: "Stat_Tripleshot", TGroup: TGroup.Enemy, readyAnm: "blues", endAnm: "", act: "max", DTType: DTType.aoe_grid, stun: 0, ap: 150, 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: "召唤陨石范围攻击敌人, 有概率击晕", }, //============================= ====== 辅助技能 技能卡牌 1 回合技能 ====== ========================== 6301: { uuid: 6301, name: "护盾", sp_name: "buff_wind", icon: "Stat_Defense", TGroup: TGroup.Self, readyAnm: "up_blue", endAnm: "", act: "atk", DTType: DTType.single, kind: SkillKind.Shield, ap: 3, 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: "为伙伴/自己添加护盾, 可抵挡3次伤害", }, 6302: { uuid: 6302, name: "治疗", sp_name: "buff_wind", icon: "Stat_Hp_01", 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 技能 也是 技能卡牌 5 回合技能 6303: { uuid: 6303, name: "获取金币", sp_name: "buff_wind", icon: "Stat_GoldGainIncrease_01", TGroup: TGroup.Self, readyAnm: "up_blue", endAnm: "gold", act: "atk", DTType: DTType.single, kind: SkillKind.Gold, ap: 0, gold: 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: "增加一定数量的金币", }, //==========================buff 技能===================== 6401: { uuid: 6401, name: "攻击强化", sp_name: "buff_wind", icon: "Stat_Attack_03", 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: "Stat_Hp_02", 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: "Stat_CriticalChance_02", 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: "Stat_Critical_01", 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: "Stat_Stun_01", 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: "Stat_Stun_01", 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.knockback_chance, timed_buff_id: 7013, info: "全体友方击退概率限时提升, 持续5秒", }, 6407: { uuid: 6407, name: "距推强化", sp_name: "buff_wind", icon: "Stat_Stun_01", 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: "Stat_Tripleshot", 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: { uuid: 6409, name: "风怒强化", sp_name: "buff_wind", icon: "Stat_CriticalComboChance", 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: "Stat_Freeze", 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.freeze_chance, timed_buff_id: 7021, info: "全体友方冰冻概率限时提升, 持续5秒", }, 6411: { uuid: 6411, name: "穿透伤害强化", sp_name: "buff_wind", icon: "Stat_Tripleshot", 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%(百分点), 永久生效", }, 6501: { uuid: 6501, name: "复活", sp_name: "buff_wind", icon: "Stat_HolyDamage", 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 配置;hit_count=99 确保覆盖全队。 6502: { uuid: 6502, name: "计时回血", sp_name: "buff_wind", icon: "Stat_PotionBoost", 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: "Stat_Attack_03", 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: 7011, info: "全体友方攻击力提升50%, 持续5秒", }, 6504: { uuid: 6504, name: "暴击爆发", sp_name: "buff_wind", icon: "Stat_CriticalChance_02", 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: "Stat_Stun_01", 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: "Stat_Tripleshot", 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: "Stat_AttackSpeed_02", 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: { uuid: 6508, name: "风怒爆发", sp_name: "buff_wind", icon: "Stat_CriticalComboChance", 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: "Stat_Stun_01", 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: "Stat_Armor_01", 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: "Stat_Freeze", 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: "Stat_Tripleshot", 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秒", } }; //***************驻场技能配置*************** export enum FieldSkillType { SummonCount = 1, // 召唤触发技能次数提升 DeadCount = 2, // 死亡触发技能次数提升 StartCount = 3, // 战斗开始触发技能次数提升 EndCount = 4, // 战斗结束触发技能次数提升 WaveGold = 5, // 每回合金币收益提升 SellGold = 6, // 卖出英雄金币提升 WaveHeal = 7, // 战斗结束生命回复量提升 HeroAtk = 8, // 英雄攻击力加成 HeroStun = 9, // 英雄击晕光环 HeroCrit = 10, // 英雄暴击光环 HeroCritDamage = 11, // 英雄暴击伤害加成 HeroSpeed = 12, // 英雄攻击速度加成 // ---- 13~18 由 TalentSet 迁移而来,统一为驻场口径 ---- // 备注:SellGold 已原生覆盖"出售返还"语义,故 TalentSet 中的 SellBonus 不再单独保留 BuyDiscount = 13, // 购买卡牌费用减免(金币) RefreshDiscount = 14, // 刷新卡牌费用减免(金币) HeroHp = 16, // 英雄最大生命光环 HeroWindFury = 17, // 英雄风怒概率加成 HeroPuncture = 18, // 英雄穿刺概率加成 AtkCount = 19, // 攻击触发技能次数提升 BeAtkCount = 20, // 被攻击触发技能次数提升 HeroPunctureDmg = 21, // 英雄穿透后伤害加成(百分点;乘算:PUNCTURE_DMG_RATIO * (1 + bonus/100)) } 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: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, info: "战斗结束生命回复量提升" }, 7002: { uuid: 7002, name: "攻击光环", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, info: "英雄攻击力提升" }, 7003: { uuid: 7003, name: "击晕光环", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, info: "英雄击晕概率提升" }, 7004: { uuid: 7004, name: "暴击光环", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, info: "英雄暴击率提升" }, 7005: { uuid: 7005, name: "暴伤光环", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, info: "英雄暴击伤害提升" }, 7006: { uuid: 7006, name: "攻速光环", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, info: "英雄攻击速度提升" }, 7007: { uuid: 7007, name: "生命光环", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, info: "英雄最大生命提升" }, 7008: { uuid: 7008, name: "风怒光环", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, info: "英雄风怒概率提升" }, 7009: { uuid: 7009, name: "穿刺光环", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, info: "英雄穿刺概率提升" }, 7010: { uuid: 7010, name: "金币收益", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, info: "每回合金币收益提升" }, 7011: { uuid: 7011, name: "出售强化", icon: "Stat_GoldGainIncrease_01", type: FieldSkillType.SellGold, info: "卖出英雄金币提升" }, 7012: { uuid: 7012, name: "购买优惠", icon: "Stat_KeyCapacityIncrease", type: FieldSkillType.BuyDiscount, info: "购买卡牌费用减免" }, 7013: { uuid: 7013, name: "刷新优惠", icon: "Stat_RandomBonus", type: FieldSkillType.RefreshDiscount, info: "刷新卡牌费用减免" }, 7014: { uuid: 7014, name: "召唤强化", icon: "Stat_UnitSummonIncrease_02", type: FieldSkillType.SummonCount, info: "召唤触发技能次数提升" }, 7015: { uuid: 7015, name: "死亡强化", icon: "Stat_PoisonChanceIncrease", type: FieldSkillType.DeadCount, info: "死亡触发技能次数提升" }, 7016: { uuid: 7016, name: "开场强化", icon: "Stat_AttackRangeIncrease_01", type: FieldSkillType.StartCount, info: "战斗开始触发技能次数提升" }, 7017: { uuid: 7017, name: "结束强化", icon: "Stat_UnitSummonIncrease_01", type: FieldSkillType.EndCount, info: "战斗结束触发技能次数提升" }, 7018: { uuid: 7018, name: "攻击强化", icon: "Stat_Attack_03", type: FieldSkillType.AtkCount, info: "攻击触发技能次数提升" }, 7019: { uuid: 7019, name: "受击强化", icon: "Stat_Armor_01", type: FieldSkillType.BeAtkCount, info: "被攻击触发技能次数提升" }, 7020: { uuid: 7020, name: "穿透强化", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPunctureDmg, info: "英雄穿透后伤害提升(百分点)" }, };