feat(英雄属性): 增加全局属性加成计算

在英雄属性计算中集成全局属性加成,通过 SingletonModuleComp 中的 global_attrs 配置为特定属性提供基础值和数量加成。
This commit is contained in:
panw
2026-02-02 15:33:08 +08:00
parent 115d37a949
commit ce724828a7
2 changed files with 17 additions and 0 deletions

View File

@@ -142,6 +142,17 @@ export class SingletonModuleComp extends ecs.Comp {
// 全局属性加成 {attrIndex: [value, count]}
global_attrs: Record<number, [number, number]> = {
[Attrs.AP]: [1, 100], // 攻击力
[Attrs.HP_MAX]: [1, 10000], // 生命上限
[Attrs.DEF]: [1, 0], // 防御
[Attrs.SPEED]: [1, 0], // 速度
[Attrs.CRITICAL]: [1, 0], // 暴击率
[Attrs.STUN_CHANCE]: [1, 0], // 眩晕率
[Attrs.WFUNY]: [1, 0], // 风怒率
};
/**
* 记录天赋获取
* @param id 天赋ID

View File

@@ -369,6 +369,12 @@ export class HeroAttrsComp extends ecs.Comp {
totalRatio += buff.value;
}
}
// 全局属性加成
if (smc.global_attrs[attrIndex]) {
const [val, count] = smc.global_attrs[attrIndex];
totalRatio += val * count;
}
// 4. 根据属性类型计算最终值
const attrType = AttrsType[attrIndex];