refactor(战斗系统): 重构伤害计算逻辑并统一属性命名

- 将DAMAGE_REDUCTION统一重命名为DMG_RED以提高一致性
- 优化暴击判定逻辑,加入暴击抗性计算
- 重构伤害计算公式,整合易伤和免伤效果
- 移除冗余的calculateDamage方法
- 为枚举值添加注释说明
This commit is contained in:
2025-11-27 10:19:54 +08:00
parent bbf8dbb8cb
commit dcf739d093
4 changed files with 33 additions and 48 deletions

View File

@@ -12,10 +12,10 @@ export enum BType {
}
export enum NeAttrs {
IN_FROST = 0,
IN_STUN = 1,
IN_BURN = 2,
IN_POISON = 3,
IN_FROST = 0, // 冰冻状态
IN_STUN = 1, // 眩晕状态
IN_BURN = 2, // 灼烧状态
IN_POISON = 3, // 中毒状态
}
// ========== 属性枚举 ==========
@@ -48,7 +48,7 @@ export enum Attrs {
MDEF = 21, // 魔法防御
DODGE = 22, // 闪避率
BLOCK = 23, // 格挡率
DAMAGE_REDUCTION = 24, // 伤害减免
DMG_RED = 24, // 伤害减免
THORNS = 25, // 反伤
CRITICAL_RESIST = 26, // 暴击抗性
CON_RES = 27, // 控制抗性
@@ -102,11 +102,9 @@ export enum Attrs {
BURN = 75, // 易伤效果
WFUNY = 77, // 风怒
// ========== 生存与恢复相关 (80-89) ==========
// ========== 负面状态相关 (90-99) ==========
// ========== 基础属性(影响其他属性)(100-104) ==========
// ========== 负面状态相关 (80-89) ==========
DMG_INVUL = 80, //易伤
// ========== 基础属性(影响其他属性) (90-99)==========
STRENGTH = 90, // 力量(影响物理相关)
INTELLIGENCE = 91, // 智力(影响魔法相关)
AGILITY = 92, // 敏捷(影响速度和闪避)
@@ -173,7 +171,7 @@ export const AttrsType: Record<Attrs, BType> = {
[Attrs.MDEF]: BType.VALUE, // 魔法防御 - 数值型
[Attrs.DODGE]: BType.RATIO, // 闪避率 - 百分比型
[Attrs.BLOCK]: BType.RATIO, // 格挡率 - 百分比型
[Attrs.DAMAGE_REDUCTION]: BType.RATIO, // 伤害减免 - 百分比型
[Attrs.DMG_RED]: BType.RATIO, // 伤害减免 - 百分比型
[Attrs.THORNS]: BType.RATIO, // 反伤 - 百分比型
// ========== 暴击与命中属性(百分比型) ==========
@@ -227,9 +225,9 @@ export const AttrsType: Record<Attrs, BType> = {
[Attrs.BURN]: BType.RATIO, // 易伤效果 - 百分比型
[Attrs.WFUNY]: BType.RATIO, // 未知特殊属性 - 百分比型
// ========== 生存与恢复相关(混合类型) ==========
// ========== 负面状态相关(混合类型) ==========
[Attrs.DMG_INVUL]: BType.RATIO, //易伤
// ========== 基础属性(数值型) ==========
[Attrs.STRENGTH]: BType.VALUE, // 力量 - 数值型

View File

@@ -28,7 +28,7 @@ export enum TalEffet {
WFUNY=7, // 风怒
D_SKILL=8, //两次技能
SHIELD=9, // 护盾
DAMAGE_REDUCTION=10, // 减伤
DMG_RED=10, // 减伤
C_MSKILL=11, // 必杀技能必暴
C_ATK=12, // 普工必爆
C_SKILL=13, // 一般技能必暴
@@ -47,7 +47,8 @@ export enum TalAttrs {
SILENCE_CHANCE=Attrs.SILENCE_CHANCE, // 沉默概率
CRITICAL=Attrs.CRITICAL, // 暴击率
AP=Attrs.AP, // 攻击力
MP=Attrs.MAP, // 魔法
MP=Attrs.MAP, // 魔法攻击力
DMG_RED=Attrs.DMG_RED, // 魔法防御
}
/**
* 天赋配置接口
@@ -111,7 +112,7 @@ export const talConf: Record<number, ItalConf> = {
desc:"被攻击3次后, 给于目标50%的伤害"},
7102:{uuid:7102,name:"护盾",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.SHIELD,vType:BType.RATIO, value:20,attrs:TalAttrs.NON,
desc:"被攻击3次后, 获得20%的生命值护盾"},
7103:{uuid:7103,name:"减伤",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.DAMAGE_REDUCTION,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
7103:{uuid:7103,name:"减伤",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.DMG_RED,vType:BType.RATIO, value:50,attrs:TalAttrs.DMG_RED,
desc:"被攻击3次后, 下1次伤害减50%"},