refactor(配置): 重构英雄属性和天赋系统配置

- 将HeroAttrs中的KNOCKBACK和CHAIN_CHANCE重命名为BACK_CHANCE和SILENCE_CHANCE以保持命名一致性
- 简化TalSet.ts中的天赋配置接口,移除冗余字段并优化结构
- 添加新的天赋配置示例
This commit is contained in:
2025-11-18 13:44:44 +08:00
parent deb224b067
commit ab8bb01dee
2 changed files with 21 additions and 27 deletions

View File

@@ -87,10 +87,10 @@ export enum Attrs {
FREEZE_CHANCE = 52, // 冰冻概率 FREEZE_CHANCE = 52, // 冰冻概率
BURN_CHANCE = 53, // 燃烧概率 BURN_CHANCE = 53, // 燃烧概率
STUN_CHANCE = 54, // 眩晕概率 STUN_CHANCE = 54, // 眩晕概率
KNOCKBACK = 55, // 击退概率 BACK_CHANCE = 55, // 击退概率
SLOW_CHANCE = 56, // 减速概率 SLOW_CHANCE = 56, // 减速概率
POISON_CHANCE = 57, // 中毒概率 POISON_CHANCE = 57, // 中毒概率
CHAIN_CHANCE = 58, // 连锁概率 SILENCE_CHANCE = 58, // 沉默概率
EXPLOSION_CHANCE = 59, // 爆炸概率 EXPLOSION_CHANCE = 59, // 爆炸概率
// ========== 增益效果属性 (60-69) ========== // ========== 增益效果属性 (60-69) ==========
@@ -199,10 +199,10 @@ export const AttrsType: Record<Attrs, BType> = {
[Attrs.FREEZE_CHANCE]: BType.RATIO, // 冰冻概率 - 百分比型 [Attrs.FREEZE_CHANCE]: BType.RATIO, // 冰冻概率 - 百分比型
[Attrs.BURN_CHANCE]: BType.RATIO, // 燃烧概率 - 百分比型 [Attrs.BURN_CHANCE]: BType.RATIO, // 燃烧概率 - 百分比型
[Attrs.STUN_CHANCE]: BType.RATIO, // 眩晕概率 - 百分比型 [Attrs.STUN_CHANCE]: BType.RATIO, // 眩晕概率 - 百分比型
[Attrs.KNOCKBACK]: BType.RATIO, // 击退 - 百分比型 [Attrs.BACK_CHANCE]: BType.RATIO, // 击退概率 - 百分比型
[Attrs.SLOW_CHANCE]: BType.RATIO, // 减速概率 - 百分比型 [Attrs.SLOW_CHANCE]: BType.RATIO, // 减速概率 - 百分比型
[Attrs.POISON_CHANCE]: BType.RATIO, // 中毒概率 - 百分比型 [Attrs.POISON_CHANCE]: BType.RATIO, // 中毒概率 - 百分比型
[Attrs.CHAIN_CHANCE]: BType.RATIO, // 连锁概率 - 百分比型 [Attrs.SILENCE_CHANCE]: BType.RATIO, // 沉默概率 - 百分比型
[Attrs.EXPLOSION_CHANCE]: BType.RATIO, // 爆炸概率 - 百分比型 [Attrs.EXPLOSION_CHANCE]: BType.RATIO, // 爆炸概率 - 百分比型
// ========== 增益效果属性(百分比型) ========== // ========== 增益效果属性(百分比型) ==========

View File

@@ -1,13 +1,5 @@
/** import { count } from "console";
* 天赋系统配置文件 import { Attrs } from "./HeroAttrs";
* 支持定义英雄的特殊能力或特性
*/
import * as exp from "constants";
import { Attrs, BType } from "./HeroAttrs";
import { SkillSet } from "./SkillSet";
// ========== 枚举定义 ==========
/** /**
* 天赋类型枚举,也是触发条件 * 天赋类型枚举,也是触发条件
@@ -50,11 +42,18 @@ export enum TalEffet {
N_SKILL=5, // 下n次技能攻击 需要特殊处理 N_SKILL=5, // 下n次技能攻击 需要特殊处理
} }
export enum TalTager { export enum TalTarget {
SELF = 1, // 自己触发 SELF = 1, // 自己触发
ENEMY = 2, // 敌人触发 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, // 暴击率
}
/** /**
* 天赋配置接口 * 天赋配置接口
* 定义一个完整的天赋效果 * 定义一个完整的天赋效果
@@ -63,18 +62,13 @@ export enum TalTager {
export interface ItalConf { export interface ItalConf {
uuid: number; // 天赋ID uuid: number; // 天赋ID
name: string; // 天赋名称 name: string; // 天赋名称
desc: string; // 天赋描述(说明触发条件和效果)
type: TalType; type: TalType;
triggerType: TalEType; // 触发效果类型 target: TalTarget;
chance: number; // 触发概率,默认100,`0-100`之间的数字 effet: TalEffet;
t_value: number; // 触发的值(如5级触发一次, 5次攻击触发一次,初始触发 value: number; // 触发的效果值(如增加10%攻击力, 触发的技能uuid,增加1个技能uuid
e_value: number; // 触发的效果值如增加10%攻击力, 触发的技能uuid,增加1个技能uuid attrs:TalAttrs //触发的
e_name: number; // 触发的特殊值,如具体属性类型, 0表示没有特定值,对应Attrs枚举 Trigger:number //触发
e_type: BType; // 效果类型, 主要针对属性修改,是百分比还是固定值 desc: string; // 天赋描述(说明触发条件和效果)
e_scaling: number; // 效果随等级缩放系数,默认1, 0.5表示效果随等级减半
e_count: number; // 触发效果的累计次数如触发2次技能实现召唤2个召唤物
stackable?: boolean; // 是否可堆叠效果默认true
maxStack?: number; // 最大堆叠次数(不设置表示无限制)
} }
// ========== 天赋配置表 ========== // ========== 天赋配置表 ==========
@@ -94,7 +88,7 @@ export interface ItalConf {
* 4. 技能触发类:当特定条件满足时自动触发指定技能 * 4. 技能触发类:当特定条件满足时自动触发指定技能
*/ */
export const talConf: Record<number, ItalConf> = { export const talConf: Record<number, ItalConf> = {
7001:{uuid:7001,name:"风怒",type:TalType.ATK_3,target:TalTarget.ENEMY,effet:TalEffet.DMG,value:150,Trigger:3,desc:"普通攻击3次后, 给于目标150%的伤害"},
}; };