import { count } from "console"; import { Attrs, BType } from "./HeroAttrs"; /** * 天赋类型枚举,也是触发条件 */ export enum TriType { LUP = 1, // 等级升触发 ATK = 2, //普通攻击触发 DMG = 3, // 受伤触发 SKILL = 4, // 技能触发 MAX = 5, // 必杀触发 HPL = 6, // 失去生命值触发 HPA = 7, // 获得生命值触发 INIT = 8, // 初始触发,如:多1个技能 DEAD = 9, // 基于死亡触发 } export enum TalEffet { ATK_DMG=1, // 伤害 SKILL_DMG=2, // 技能伤害 HP=3, // 回血 百分比 MP=4, //回蓝 百分比 BUFF = 5, // 暴击率,闪避率等,可叠加的触发后清零 STATS=6, // 状态 WFUNY=7, // 风怒 D_SKILL=8, //两次技能 SHIELD=9, // 护盾 LDMG=10, // 减伤 C_MSKILL=11, // 必杀技能必暴 C_ATK=12, // 普工必爆 C_SKILL=13, // 一般技能必暴 } export enum TalTarget { SELF = 1, // 自己触发 ENEMY = 2, // 敌人触发 } export enum TalAttrs { NON=0, FREEZE_CHANCE=Attrs.FREEZE_CHANCE, // 冰冻概率 STUN_CHANCE=Attrs.STUN_CHANCE, // 冰冻概率 BACK_CHANCE=Attrs.BACK_CHANCE, // 击退概率 SILENCE_CHANCE=Attrs.SILENCE_CHANCE, // 沉默概率 CRITICAL=Attrs.CRITICAL, // 暴击率 AP=Attrs.AP, // 攻击力 MP=Attrs.MAP, // 魔法 } /** * 天赋配置接口 * 定义一个完整的天赋效果 */ export interface ItalConf { uuid: number; // 天赋ID name: string; // 天赋名称 triType: TriType; target: TalTarget; effet: TalEffet; vType:BType; //数值型还是百分比型 value: number; // 触发的效果值(如增加10%攻击力, 触发的技能uuid,增加1个技能uuid) attrs?:TalAttrs //触发的attrs效果的对应attrs Trigger:number //触发值 desc: string; // 天赋描述(说明触发条件和效果) count:number //执行次数,及可以触发的次数 } // ========== 天赋配置表 ========== /** * 天赋配置表 - 2行紧凑格式 * 每个天赋配置压缩为2行:注释行 + 配置对象行 * * 格式说明: * 第1行:// 天赋名称 - 英雄专属/通用 | 触发条件 | 效果描述 * 第2行:{uuid, name, desc, type, triggerType, chance, t_value, e_value, e_name, e_type, e_scaling, e_count, stackable, maxStack} * * 使用说明: * 1. 等级类天赋:当英雄升级到指定等级时,每次都会触发效果 * 2. 行为计数类:当特定行为累计达到阈值时触发,支持是否重置计数 * 3. 受伤计数类:当受伤累计达到阈值时触发,支持是否重置计数 * 4. 技能触发类:当特定条件满足时自动触发指定技能 */ export const talConf: Record = { /*** 普通攻击触发 ***/ 7001:{uuid:7001,name:"风怒",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.WFUNY,vType:BType.RATIO, value:50,attrs:TalAttrs.NON, desc:"普通攻击3次后, 立即给与目标150%伤害的额外打击"}, 7003:{uuid:7003,name:"回血",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:1,attrs:TalAttrs.NON, desc:"普通攻击3次后, 会回复10%的生命值"}, 7004:{uuid:7004,name:"回蓝",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.MP,vType:BType.RATIO, value:1,attrs:TalAttrs.NON, desc:"普通攻击3次后, 会回复10%的蓝值"}, 7005:{uuid:7005,name:"冰冻",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.FREEZE_CHANCE, desc:"普通攻击3次后, 获得5%的冻结率"}, 7006:{uuid:7006,name:"沉默",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.SILENCE_CHANCE, desc:"普通攻击3次后, 获得5%的沉默率"}, 7007:{uuid:7007,name:"击退",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.BACK_CHANCE, desc:"普通攻击3次后, 获得5%的击退率"}, 7008:{uuid:7008,name:"会心",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.CRITICAL, desc:"普通攻击3次后, 获得5%的暴击率"}, 7009:{uuid:7009,name:"眩晕",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.STUN_CHANCE, desc:"普通攻击3次后, 获得5%的眩晕率"}, 7010:{uuid:7010,name:"熟练",triType:TriType.ATK,Trigger:10,count:1,target:TalTarget.SELF,effet:TalEffet.D_SKILL,vType:BType.RATIO, value:0,attrs:TalAttrs.NON, desc:"普通攻击10次后, 下次一般技能额外释放1次,伤害100%"}, /*** 受伤触发 ***/ 7101:{uuid:7101,name:"反击",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.ATK_DMG,vType:BType.RATIO, value:50,attrs:TalAttrs.NON, desc:"被攻击3次后, 给于目标50%的伤害"}, 7102:{uuid:7102,name:"护盾",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.SHIELD,vType:BType.RATIO, value:20,attrs:TalAttrs.NON, desc:"被攻击3次后, 获得20%的生命值护盾"}, 7103:{uuid:7103,name:"减伤",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.LDMG,vType:BType.RATIO, value:50,attrs:TalAttrs.NON, desc:"被攻击3次后, 下1次伤害减50%"}, /*** 失去血量触发 ***/ 7201:{uuid:7201,name:"背水",triType:TriType.HPL,Trigger:50,count:10,target:TalTarget.SELF,effet:TalEffet.C_ATK,vType:BType.VALUE, value:0,attrs:TalAttrs.NON, desc:"每失去50%生命值,获得下10次普通攻击暴击"}, /*** 升级触发 ***/ 7301:{uuid:7301,name:"勤勉",triType:TriType.LUP,Trigger:1,count:5,target:TalTarget.SELF,effet:TalEffet.C_SKILL,vType:BType.VALUE, value:0,attrs:TalAttrs.NON, desc:"每升1级,获得下5次技能暴击"}, }; // ========== 工具函数 ==========