import { count } from "console"; import { Attrs } from "./HeroAttrs"; /** * 天赋类型枚举,也是触发条件 */ export enum TalType { LUP_1 = 1, // 等级升级1级触发 LUP_5 = 2, // 等级升级5级触发 LUP_10 = 3, // 等级升级10级触发 ATK_1 = 4, //普通攻击1次触发 ATK_3 = 5, // 普通攻击3次触发 ATK_5 = 6, // 普通攻击5次触发 DMG_1 = 7, // 受伤1次触发 DMG_3 = 8, // 受伤3次触发 DMG_5 = 9, // 受伤5次触发 SKILL_1 = 10, // 技能1次触发 SKILL_3 = 11, // 技能3次触发 SKILL_5 = 12, // 技能5次触发 LHP_50 = 13, // 失去生命值50%触发 LHP_30 = 14, // 失去生命值30%触发 AHP_100 = 15, // 获得生命值100%触发 AHP_200 = 16, // 获得生命值200%触发 INIT = 17, // 初始触发,如:多1个技能 DEAD = 18 // 基于死亡触发 } /** * 触发效果 */ export enum TalETag { Wfuny = 1, // 风怒 } export enum TalEffet { DMG=1, // 伤害 ATTR=2, // 属性hp,mp数值,持久添加 BUFF = 3, // 暴击率,闪避率等,可叠加的触发后清零 STATS=3, // 状态 N_ATK = 4, // 下n次普通攻击 需要特殊处理 N_SKILL=5, // 下n次技能攻击 需要特殊处理 } export enum TalTarget { SELF = 1, // 自己触发 ENEMY = 2, // 敌人触发 } export enum TalAttrs { FREEZE_CHANCE=Attrs.FREEZE_CHANCE, // 冰冻概率 STUN_CHANCE=Attrs.STUN_CHANCE, // 冰冻概率 BACK_CHANCE=Attrs.BACK_CHANCE, // 击退概率 SILENCE_CHANCE=Attrs.SILENCE_CHANCE, // 沉默概率 CRITICAL=Attrs.CRITICAL, // 暴击率 } /** * 天赋配置接口 * 定义一个完整的天赋效果 */ export interface ItalConf { uuid: number; // 天赋ID name: string; // 天赋名称 type: TalType; target: TalTarget; effet: TalEffet; value: number; // 触发的效果值(如增加10%攻击力, 触发的技能uuid,增加1个技能uuid) attrs:TalAttrs //触发的 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:"风怒",type:TalType.ATK_3,target:TalTarget.ENEMY,effet:TalEffet.DMG,value:150,Trigger:3,desc:"普通攻击3次后, 给于目标150%的伤害"}, }; // ========== 工具函数 ==========