refactor: 统一全量buff数值为百分比口径

本次变更对齐了所有buff和技能的数值结算规则:
1.  新增项目规范明确buff数值统一使用百分比/百分点结算
2.  修改技能描述配置、属性计算逻辑,将固定数值加成改为百分比计算
3.  调整buff配置的修改类型为PercentAdd,同步更新buff说明文本
4.  重构属性计算逻辑,区分百分比加成和固定加成的处理方式
5.  更新战力计算逻辑适配新的百分比口径规则
This commit is contained in:
panFD
2026-08-16 19:21:23 +08:00
parent 284d124486
commit a5ca43a62c
7 changed files with 55 additions and 46 deletions

View File

@@ -88,8 +88,8 @@ 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 秒",
modifiers: [{ attr: Attrs.ap, op: ModOp.PercentAdd, value: 5 }],
info: "攻击力提升 5%,持续 10 秒",
},
// 易伤(灼热火球附加;受到伤害时附加固定值,可被易伤抗性百分比减免)
// 注modifiers.attr 用 hp 仅为占位以通过 aggregateTimedMods 结构校验,实际易伤值由 HeroAtkSystem 按 VULNERABLE_BUFF_ID 直接汇总
@@ -124,8 +124,8 @@ export const BuffList: Record<number, BuffConfig> = {
7006: {
id: 7006, name: "减攻", icon: "Stat_Attack_01",
category: BuffCategory.Debuff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.ap, op: ModOp.Flat, value: -10 }],
info: "攻击力降低 10,持续 5 秒",
modifiers: [{ attr: Attrs.ap, op: ModOp.PercentAdd, value: -10 }],
info: "攻击力降低 10%,持续 5 秒",
},
// 出血(每层使目标被暴击率 +1%,微量伤害 DoT暴击率加成由 HeroAtkSystem 按 BLEED_BUFF_ID 层数结算)
7007: {
@@ -134,12 +134,12 @@ export const BuffList: Record<number, BuffConfig> = {
tick: { interval: 0.5, damage_or_heal: -1, scale_by_ap_pct: 0 },
info: "微量出血,每层使自身被暴击率提升 1%,可叠加,持续 5 秒",
},
// 占卜师战前攻击强化(基础档:+30/5s高阶通过 buff_value/buff_duration 覆写成长)
// 占卜师战前攻击强化(基础档:+30%/5s高阶通过 buff_value/buff_duration 覆写成长)
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 秒",
modifiers: [{ attr: Attrs.ap, op: ModOp.PercentAdd, value: 30 }],
info: "攻击力提升 30%,持续 5 秒",
},
// ==================== 玩家计时性强化(药水/技能用,默认 5s ====================
@@ -161,77 +161,77 @@ export const BuffList: Record<number, BuffConfig> = {
7012: {
id: 7012, name: "暴击爆发", icon: "Stat_CriticalChance_02",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.critical, op: ModOp.Flat, value: 30 }],
modifiers: [{ attr: Attrs.critical, op: ModOp.PercentAdd, value: 30 }],
info: "暴击率提升 30%,持续 5 秒",
},
// 击退距离强化(限时)
7013: {
id: 7013, name: "击退爆发", icon: "Stat_Stun_01",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.knockback_chance, op: ModOp.Flat, value: 30 }],
info: "击退距离提升 30持续 5 秒",
modifiers: [{ attr: Attrs.knockback_chance, op: ModOp.PercentAdd, value: 30 }],
info: "击退距离提升 30%,持续 5 秒",
},
// 穿透强化(限时)
7014: {
id: 7014, name: "穿透爆发", icon: "Stat_Tripleshot",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.puncture_chance, op: ModOp.Flat, value: 30 }],
modifiers: [{ attr: Attrs.puncture_chance, op: ModOp.PercentAdd, value: 30 }],
info: "穿透概率提升 30%,持续 5 秒",
},
// 攻速强化(限时,走 getEffectiveSkillCd 计时修饰)
7015: {
id: 7015, name: "攻速爆发", icon: "Stat_AttackSpeed_02",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.speed, op: ModOp.Flat, value: 40 }],
modifiers: [{ attr: Attrs.speed, op: ModOp.PercentAdd, value: 40 }],
info: "攻击速度提升 40%,持续 5 秒",
},
// 风怒强化(限时,按概率百分点)
7016: {
id: 7016, name: "风怒爆发", icon: "Stat_CriticalComboChance",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.wfuny, op: ModOp.Flat, value: 20 }],
modifiers: [{ attr: Attrs.wfuny, op: ModOp.PercentAdd, value: 20 }],
info: "风怒概率提升 20%,持续 5 秒",
},
// 击晕概率强化(限时)
7017: {
id: 7017, name: "击晕爆发", icon: "Stat_Stun_01",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.stun_chance, op: ModOp.Flat, value: 30 }],
modifiers: [{ attr: Attrs.stun_chance, op: ModOp.PercentAdd, value: 30 }],
info: "击晕概率提升 30%,持续 5 秒",
},
// 击晕抗性强化(限时)
7018: {
id: 7018, name: "击晕抗性", icon: "Stat_Armor_01",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.stun_res, op: ModOp.Flat, value: 50 }],
modifiers: [{ attr: Attrs.stun_res, op: ModOp.PercentAdd, value: 50 }],
info: "击晕抗性提升 50%,持续 5 秒",
},
// 冰冻抗性强化(限时)
7019: {
id: 7019, name: "冰冻抗性", icon: "Stat_Freeze",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.freeze_res, op: ModOp.Flat, value: 50 }],
modifiers: [{ attr: Attrs.freeze_res, op: ModOp.PercentAdd, value: 50 }],
info: "冰冻抗性提升 50%,持续 5 秒",
},
// 暴伤强化(限时)
7020: {
id: 7020, name: "暴伤爆发", icon: "Stat_Critical_01",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.critical_damage, op: ModOp.Flat, value: 30 }],
modifiers: [{ attr: Attrs.critical_damage, op: ModOp.PercentAdd, value: 30 }],
info: "暴击伤害提升 30%,持续 5 秒",
},
// 冰冻概率强化(限时)
7021: {
id: 7021, name: "冰冻概率爆发", icon: "Stat_Freeze",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.freeze_chance, op: ModOp.Flat, value: 5 }],
modifiers: [{ attr: Attrs.freeze_chance, op: ModOp.PercentAdd, value: 5 }],
info: "冰冻概率提升 5%,持续 5 秒",
},
// 穿透伤害强化(限时)
7022: {
id: 7022, name: "穿透伤害爆发", icon: "Stat_Tripleshot",
category: BuffCategory.Buff, duration: 5, max_stack: 1,
modifiers: [{ attr: Attrs.puncture_dmg_bonus, op: ModOp.Flat, value: 30 }],
modifiers: [{ attr: Attrs.puncture_dmg_bonus, op: ModOp.PercentAdd, value: 30 }],
info: "穿透后伤害提升 30%,持续 5 秒",
},
};