1. 为英雄属性组件添加Field触发类型字段,支持存储驻场光环UUID列表 2. 扩展英雄进化配置,支持覆盖驻场光环配置 3. 优化FieldSkillHelper,优先使用进化后的驻场光环配置 4. 新增占卜师战前强攻限时Buff与援护弓手、占卜师、治愈牧师的6级进化驻场光环配置 5. 补充对应英雄的技能描述与进化逻辑注释
97 lines
3.1 KiB
TypeScript
97 lines
3.1 KiB
TypeScript
// ========== Buff/Debuff 配置定义 ==========
|
||
import { Attrs } from "./HeroAttrs";
|
||
|
||
/** Buff 类别 */
|
||
export enum BuffCategory {
|
||
Buff = 0,
|
||
Debuff = 1,
|
||
Control = 2,
|
||
}
|
||
|
||
/** 修饰器运算类型 */
|
||
export enum ModOp {
|
||
Flat = 0,
|
||
PercentAdd = 1,
|
||
PercentMul = 2,
|
||
}
|
||
|
||
/** 单条属性修饰器 */
|
||
export interface BuffModifier {
|
||
attr: Attrs;
|
||
op: ModOp;
|
||
value: number;
|
||
}
|
||
|
||
/** 周期效果(DoT/HoT) */
|
||
export interface BuffTickEffect {
|
||
interval: number;
|
||
damage_or_heal: number; // 正=治疗,负=伤害
|
||
scale_by_ap_pct: number; // 按施法者 ap 缩放百分比,0=不吃加成
|
||
}
|
||
|
||
/** Buff 静态定义 */
|
||
export interface BuffConfig {
|
||
id: number;
|
||
name: string;
|
||
icon: string;
|
||
category: BuffCategory;
|
||
duration: number; // 单层持续时间(秒),0=永久
|
||
max_stack: number; // 默认 0=无限叠加;1=不可叠层;N=最多N层
|
||
modifiers?: BuffModifier[];
|
||
tick?: BuffTickEffect;
|
||
is_control?: boolean;
|
||
control_kind?: 'frost' | 'stun' | 'none';
|
||
info: string;
|
||
}
|
||
|
||
/** Buff 配置表 */
|
||
export const BuffList: Record<number, BuffConfig> = {
|
||
// 攻击强化(限时版)
|
||
7001: {
|
||
id: 7001, name: "攻击强化", icon: "Stat_Attack_03",
|
||
category: BuffCategory.Buff, duration: 10, max_stack: 0,
|
||
modifiers: [{ attr: Attrs.ap, op: ModOp.Flat, value: 5 }],
|
||
info: "攻击力 +5,持续 10 秒",
|
||
},
|
||
// 灼烧(DoT,可叠层)
|
||
7002: {
|
||
id: 7002, name: "灼烧", icon: "Stat_Burn",
|
||
category: BuffCategory.Debuff, duration: 5, max_stack: 5,
|
||
tick: { interval: 0.5, damage_or_heal: -10, scale_by_ap_pct: 30 },
|
||
info: "每 0.5 秒受到 10 伤害,可叠加",
|
||
},
|
||
// 冰冻(控制,走统一框架,双写兼容)
|
||
7003: {
|
||
id: 7003, name: "冰冻", icon: "Stat_Freeze",
|
||
category: BuffCategory.Control, duration: 2, max_stack: 1,
|
||
is_control: true, control_kind: 'frost',
|
||
info: "冰冻目标,无法行动",
|
||
},
|
||
// 击晕(控制)
|
||
7004: {
|
||
id: 7004, name: "击晕", icon: "Stat_Stun",
|
||
category: BuffCategory.Control, duration: 2, max_stack: 1,
|
||
is_control: true, control_kind: 'stun',
|
||
info: "击晕目标,无法行动",
|
||
},
|
||
// 占卜师战前攻击强化(限时版,三档成长:+30/5s → +60/7s → +90/10s)
|
||
7111: {
|
||
id: 7111, name: "战前强攻", icon: "Stat_Attack_03",
|
||
category: BuffCategory.Buff, duration: 5, max_stack: 0,
|
||
modifiers: [{ attr: Attrs.ap, op: ModOp.Flat, value: 30 }],
|
||
info: "攻击力 +30,持续 5 秒",
|
||
},
|
||
7112: {
|
||
id: 7112, name: "战前强攻", icon: "Stat_Attack_03",
|
||
category: BuffCategory.Buff, duration: 7, max_stack: 0,
|
||
modifiers: [{ attr: Attrs.ap, op: ModOp.Flat, value: 60 }],
|
||
info: "攻击力 +60,持续 7 秒",
|
||
},
|
||
7113: {
|
||
id: 7113, name: "战前强攻", icon: "Stat_Attack_03",
|
||
category: BuffCategory.Buff, duration: 10, max_stack: 0,
|
||
modifiers: [{ attr: Attrs.ap, op: ModOp.Flat, value: 90 }],
|
||
info: "攻击力 +90,持续 10 秒",
|
||
},
|
||
};
|