fix(SCastSystem): 修改治疗量计算逻辑

将治疗量计算从基于施法者ap改为基于被治疗者最终最大生命值,同时更新注释说明
This commit is contained in:
panFD
2026-09-05 22:25:23 +08:00
parent bd2e4cb16d
commit 79687fbace

View File

@@ -528,8 +528,9 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
}
if (kind === SkillKind.Heal && sAp !== 0) {
// 治疗强化(heal_power,百分点):辅助专精天赋写入,放大施法者的治疗量
const addHp = Math.floor(sAp * _cAttrsComp.ap / 100 * (1 + _cAttrsComp.heal_power / 100));
// 治疗量 = 被治疗者最终最大生命(getFinalHpMax 含驻场光环与计时 buff 加成)× 技能 ap%
// 治疗强化(heal_power,百分点):辅助专精天赋写入,按施法者放大治疗量
const addHp = Math.floor(model.getFinalHpMax() * sAp / 100 * (1 + _cAttrsComp.heal_power / 100));
model.add_hp(addHp);
target.health(addHp);
if (_cAttrsComp.fac === FacSet.HERO) {