feat(hero combat): 新增防御属性与除法递减减伤逻辑

1. 新增defense属性枚举、组件字段与结算方法
2. 配置防御减伤平衡常数DEFENSE_K为500
3. 在攻击结算流程中加入防御减伤计算
4. 采用除法递减模型实现防御收益随数值提升而降低
This commit is contained in:
panFD
2026-08-16 23:37:04 +08:00
parent 807db8e173
commit b19256e4f5
4 changed files with 29 additions and 0 deletions

View File

@@ -171,6 +171,10 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpda
}
if (damage <= 0) return reDate;
// 防御减伤(除法递减模型,护盾吸收之后、扣血之前结算)
damage = TAttrsComp.applyDefense(damage);
mLogger.log(this.debugMode, 'HeroAtkSystem', " after defense", damage)
// TAttrsComp.hp -= damage; // 应用伤害到数据层
TAttrsComp.add_hp(-damage); // 使用 add_hp 以触发 dirty_hp 和 UI 更新