import { count } from "console"; import { Attrs } from "./HeroAttrs"; /** * 天赋类型枚举,也是触发条件 */ export enum TriType { LUP = 1, // 等级升触发 ATK = 2, //普通攻击触发 DMG = 3, // 受伤触发 SKILL = 4, // 技能触发 HPL = 5, // 失去生命值触发 HPA = 6, // 获得生命值触发 INIT = 7, // 初始触发,如:多1个技能 DEAD = 8 // 基于死亡触发 } export enum TalEffet { DMG=1, // 伤害 HP=2, // 回血 百分比 MP=3, //回蓝 百分比 BUFF = 4, // 暴击率,闪避率等,可叠加的触发后清零 STATS=5, // 状态 WFUNY=6, // 风怒 SPLASH=7, // 溅射 D_SKILL=8, //两次技能 SHIELD=9, // 护盾 LDMG=10, // 减伤 } 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; value: number; // 触发的效果值(如增加10%攻击力, 触发的技能uuid,增加1个技能uuid) attrs?:TalAttrs //触发的attrs效果的对应attrs Trigger:number //触发值 desc: string; // 天赋描述(说明触发条件和效果) } // ========== 天赋配置表 ========== /** * 天赋配置表 - 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,target:TalTarget.ENEMY,effet:TalEffet.WFUNY,value:150,attrs:TalAttrs.NON, desc:"普通攻击3次后, 给于目标150%的伤害"}, 7002:{uuid:7002,name:"溅射",triType:TriType.ATK,Trigger:3,target:TalTarget.ENEMY,effet:TalEffet.SPLASH,value:50,attrs:TalAttrs.NON, desc:"普通攻击3次后, 会对目标100码内的敌人造成30%伤害"}, 7003:{uuid:7003,name:"回血",triType:TriType.ATK,Trigger:3,target:TalTarget.SELF,effet:TalEffet.HP,value:1,attrs:TalAttrs.NON, desc:"普通攻击3次后, 会回复10%的生命值"}, 7004:{uuid:7004,name:"回蓝",triType:TriType.ATK,Trigger:3,target:TalTarget.SELF,effet:TalEffet.MP,value:1,attrs:TalAttrs.NON, desc:"普通攻击3次后, 会回复10%的蓝值"}, 7005:{uuid:7005,name:"冰冻",triType:TriType.ATK,Trigger:3,target:TalTarget.ENEMY,effet:TalEffet.BUFF,value:5,attrs:TalAttrs.FREEZE_CHANCE, desc:"普通攻击3次后, 获得5%的冻结率"}, 7006:{uuid:7006,name:"沉默",triType:TriType.ATK,Trigger:3,target:TalTarget.ENEMY,effet:TalEffet.BUFF,value:5,attrs:TalAttrs.SILENCE_CHANCE, desc:"普通攻击3次后, 获得5%的沉默率"}, 7007:{uuid:7007,name:"击退",triType:TriType.ATK,Trigger:3,target:TalTarget.ENEMY,effet:TalEffet.BUFF,value:5,attrs:TalAttrs.BACK_CHANCE, desc:"普通攻击3次后, 获得5%的击退率"}, 7008:{uuid:7008,name:"会心",triType:TriType.ATK,Trigger:3,target:TalTarget.SELF,effet:TalEffet.BUFF,value:5,attrs:TalAttrs.CRITICAL, desc:"普通攻击3次后, 获得5%的暴击率"}, 7009:{uuid:7009,name:"眩晕",triType:TriType.ATK,Trigger:3,target:TalTarget.ENEMY,effet:TalEffet.BUFF,value:5,attrs:TalAttrs.STUN_CHANCE, desc:"普通攻击3次后, 获得5%的眩晕率"}, 7010:{uuid:7010,name:"熟练",triType:TriType.ATK,Trigger:10,target:TalTarget.SELF,effet:TalEffet.D_SKILL,value:2,attrs:TalAttrs.NON, desc:"普通攻击10次后, 获得下2次一般技能触发2次"}, /*** 受伤触发 ***/ 7101:{uuid:7101,name:"反击",triType:TriType.DMG,Trigger:3,target:TalTarget.ENEMY,effet:TalEffet.DMG,value:50,attrs:TalAttrs.NON, desc:"被攻击3次后, 给于目标50%的伤害"}, 7102:{uuid:7102,name:"护盾",triType:TriType.DMG,Trigger:3,target:TalTarget.SELF,effet:TalEffet.SHIELD,value:20,attrs:TalAttrs.NON, desc:"被攻击3次后, 获得20%的生命值护盾"}, 7103:{uuid:7103,name:"减伤",triType:TriType.DMG,Trigger:3,target:TalTarget.ENEMY,effet:TalEffet.LDMG,value:50,attrs:TalAttrs.NON, desc:"被攻击3次后, 下1次伤害减50%"}, /*** 失去血量触发 ***/ //需要重新设计,触发类型 7201:{uuid:7201,name:"背水",triType:TriType.HPL,Trigger:50,target:TalTarget.SELF,effet:TalEffet.BUFF,value:10,attrs:TalAttrs.AP, desc:"每失去50%生命值,获得下10次普通攻击暴击"}, /*** 升级触发 ***/ //需要重新设计,触发类型 7301:{uuid:7301,name:"勤勉",triType:TriType.LUP,Trigger:1,target:TalTarget.SELF,effet:TalEffet.BUFF,value:5,attrs:TalAttrs.AP, desc:"每升1级,获得下5次技能暴击"}, }; // ========== 工具函数 ==========