From f9279e75fa82bb36ad7c6ddc4a838bee67fedb2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <1@72wo.cn> Date: Mon, 3 Nov 2025 04:17:41 +0800 Subject: [PATCH] =?UTF-8?q?fix(fightc):=20=E4=BF=AE=E5=A4=8D=E7=9D=A1?= =?UTF-8?q?=E7=9C=A0=E7=8A=B6=E6=80=81=E6=B8=85=E9=99=A4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在处理技能攻击时,只有当技能类型不是状态类技能时, 才会清除目标的睡眠状态效果。这样避免了状态类技能 误清除睡眠效果的问题。 --- logic/service/fight/fightc.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index 9607e9bf4..d53e838e0 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -286,9 +286,11 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *action.S }) attacker.DamageZone.Damage = attacker.CalculatePower(defender, a.SkillEntity) //睡眠受击消除 - t := defender.GetEffect(input.EffectType.Status, int(info.PetStatus.Sleep)) - if t != nil { - t.NotALive() + if a.SkillEntity.Category() != info.Category.STATUS { + t := defender.GetEffect(input.EffectType.Status, int(info.PetStatus.Sleep)) + if t != nil { + t.NotALive() + } } if attacker.AttackValue.IsCritical == 1 {