fix: 修正技能AP百分比计算错误
修复技能AP百分比计算逻辑,移除重复除以100的操作。在Skill.ts中移除多余注释,在SCastSystem.ts中正确计算治疗量,确保技能AP作为百分比值正确处理。
This commit is contained in:
@@ -195,7 +195,7 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
private applyFriendlySkillEffects(_s_uuid: number, _skillLv: number, config: SkillConfig, _heroView: HeroViewComp, _cAttrsComp: HeroAttrsComp, targets: HeroViewComp[], _targetPos: Vec3 | null) {
|
||||
const kind = config.kind ?? SkillKind.Support;
|
||||
const sUp = SkillUpList[_s_uuid] ?? SkillUpList[1001];
|
||||
const sAp =(config.ap+sUp.ap*_skillLv)/100;
|
||||
const sAp =config.ap+sUp.ap*_skillLv;
|
||||
const sHit=config.hit_count+sUp.hit_count*_skillLv;
|
||||
const selectedTargets = this.pickRandomFriendlyTargets(targets, sHit);
|
||||
const applyTargets = kind === SkillKind.Heal ? this.sortTargetsByLowestHp(selectedTargets) : selectedTargets;
|
||||
@@ -204,7 +204,8 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
const model = target.ent.get(HeroAttrsComp);
|
||||
if (!model || model.is_dead) continue;
|
||||
if (kind === SkillKind.Heal && sAp !== 0) {
|
||||
const addHp = Math.floor(model.add_hp(sAp*_cAttrsComp.ap));
|
||||
const addHp = Math.floor(sAp*_cAttrsComp.ap/100);//技能的ap是百分值 需要/100
|
||||
model.add_hp(addHp);
|
||||
target.health(addHp);
|
||||
} else if (kind === SkillKind.Shield && sAp !== 0) {
|
||||
const addShield = Math.floor(sAp*_cAttrsComp.ap);
|
||||
|
||||
Reference in New Issue
Block a user