From 8cd8c3209964151e38b22b2745039eb26d55a8fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <12574910+72wo@users.noreply.github.com> Date: Mon, 9 Mar 2026 18:52:15 +0800 Subject: [PATCH] =?UTF-8?q?```=20fix(fight):=20=E4=BF=AE=E5=A4=8D=E6=8A=80?= =?UTF-8?q?=E8=83=BD=E6=95=88=E6=9E=9C=E8=AE=A1=E7=AE=97=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E8=B4=9F=E5=80=BC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在技能效果35的计算中,当对手属性值为负数时可能导致异常计算结果, 通过使用utils.Max函数确保属性值不小于0来修复此问题。 - 添加blazing/common/utils包导入 - 在物理攻击和特殊攻击的计算中使用utils.Max限制属性值最小为0 ``` --- logic/service/fight/effect/effect_35.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/logic/service/fight/effect/effect_35.go b/logic/service/fight/effect/effect_35.go index d6b2f234..ead22e64 100644 --- a/logic/service/fight/effect/effect_35.go +++ b/logic/service/fight/effect/effect_35.go @@ -1,6 +1,7 @@ package effect import ( + "blazing/common/utils" "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" @@ -24,9 +25,10 @@ func (e *Effect35) SkillHit() bool { switch e.Ctx().SkillEntity.Category() { case info.Category.PHYSICAL: - e.Ctx().SkillEntity.XML.Power += (int(e.Ctx().Opp.Prop[0]) + int(e.Ctx().Opp.Prop[1])) * 20 + + e.Ctx().SkillEntity.XML.Power += (int(utils.Max(e.Ctx().Opp.Prop[0], 0)) + int(utils.Max(e.Ctx().Opp.Prop[1], 0))) * 20 case info.Category.SPECIAL: - e.Ctx().SkillEntity.XML.Power += (int(e.Ctx().Opp.Prop[2]) + int(e.Ctx().Opp.Prop[3])) * 20 + e.Ctx().SkillEntity.XML.Power += (int(utils.Max(e.Ctx().Opp.Prop[2], 0)) + int(utils.Max(e.Ctx().Opp.Prop[3], 0))) * 20 } return true