fix(SCastSystem): 修改治疗量计算逻辑
将治疗量计算从基于施法者ap改为基于被治疗者最终最大生命值,同时更新注释说明
This commit is contained in:
@@ -528,8 +528,9 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (kind === SkillKind.Heal && sAp !== 0) {
|
if (kind === SkillKind.Heal && sAp !== 0) {
|
||||||
// 治疗强化(heal_power,百分点):辅助专精天赋写入,放大施法者的治疗量
|
// 治疗量 = 被治疗者最终最大生命(getFinalHpMax 含驻场光环与计时 buff 加成)× 技能 ap%
|
||||||
const addHp = Math.floor(sAp * _cAttrsComp.ap / 100 * (1 + _cAttrsComp.heal_power / 100));
|
// 治疗强化(heal_power,百分点):辅助专精天赋写入,按施法者放大治疗量
|
||||||
|
const addHp = Math.floor(model.getFinalHpMax() * sAp / 100 * (1 + _cAttrsComp.heal_power / 100));
|
||||||
model.add_hp(addHp);
|
model.add_hp(addHp);
|
||||||
target.health(addHp);
|
target.health(addHp);
|
||||||
if (_cAttrsComp.fac === FacSet.HERO) {
|
if (_cAttrsComp.fac === FacSet.HERO) {
|
||||||
|
|||||||
Reference in New Issue
Block a user