From b51a68bc8f8da7cbee137d52fc7c2f57d662babd Mon Sep 17 00:00:00 2001 From: panw Date: Tue, 24 Mar 2026 10:31:07 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8A=80=E8=83=BD):=20=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E5=8F=8B=E6=96=B9=E6=8A=80=E8=83=BD=E6=95=88=E6=9E=9C=E4=B8=AD?= =?UTF-8?q?AP=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将AP加成除以100以匹配正确的数值比例,避免技能效果过强 --- assets/script/game/hero/SCastSystem.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/assets/script/game/hero/SCastSystem.ts b/assets/script/game/hero/SCastSystem.ts index a619cfde..8cee4320 100644 --- a/assets/script/game/hero/SCastSystem.ts +++ b/assets/script/game/hero/SCastSystem.ts @@ -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; + const sAp =(config.ap+sUp.ap*_skillLv)/100; 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,10 +204,11 @@ 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 = model.add_hp(sAp*_cAttrsComp.ap); + const addHp = Math.floor(model.add_hp(sAp*_cAttrsComp.ap)); target.health(addHp); } else if (kind === SkillKind.Shield && sAp !== 0) { - model.add_shield(sAp*_cAttrsComp.ap); + const addShield = Math.floor(sAp*_cAttrsComp.ap); + model.add_shield(addShield); } if (!config.buffs || config.buffs.length === 0) continue; for (const buffConf of config.buffs) {