From 32c61f37bd59d8f77953ac6477fe2130f4c4db21 Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Thu, 11 Dec 2025 20:20:39 +0000 Subject: [PATCH] =?UTF-8?q?```feat(fight):=20=E6=96=B0=E5=A2=9E=E6=97=A0?= =?UTF-8?q?=E8=A7=86=E5=8F=8C=E9=98=B2=E6=95=88=E6=9E=9C566=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=EF=BC=8C=E4=BC=98=E5=8C=96=E6=88=98=E6=96=97=E8=BF=87?= =?UTF-8?q?=E7=A8=8B=E4=B8=AD=E5=AE=A0=E7=89=A9=E4=BF=A1=E6=81=AF=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/service/fight/effect/effect_1605.go | 3 -- logic/service/fight/effect/effect_566.go | 43 ++++++++++++++++++++++ logic/service/fight/effect/effect_74_75.go | 3 +- logic/service/fight/fightc.go | 5 ++- 4 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 logic/service/fight/effect/effect_566.go diff --git a/logic/service/fight/effect/effect_1605.go b/logic/service/fight/effect/effect_1605.go index 6c19c7bf..ba205e41 100644 --- a/logic/service/fight/effect/effect_1605.go +++ b/logic/service/fight/effect/effect_1605.go @@ -34,9 +34,6 @@ func (e *Effect1605) OnSkill() bool { return true } - duration := int(e.Input.FightC.GetRand().Int31n(2)) // 默认随机 2~3 回合 - duration++ - // 获取状态效果 eff := e.Ctx().Our.InitEffect(input.EffectType.Status, int(e.SideEffectArgs[1])) if eff == nil { diff --git a/logic/service/fight/effect/effect_566.go b/logic/service/fight/effect/effect_566.go new file mode 100644 index 00000000..8fc27a43 --- /dev/null +++ b/logic/service/fight/effect/effect_566.go @@ -0,0 +1,43 @@ +package effect + +import ( + "blazing/logic/service/fight/info" + "blazing/logic/service/fight/input" + "blazing/logic/service/fight/node" +) + +/** + * 无视对手双防能力提升状态 + */ +type Effect566 struct { + node.EffectNode +} + +func init() { + ret := &Effect566{} + + input.InitEffect(input.EffectType.Skill, 566, ret) + +} + +// 命中之后 +func (e *Effect566) OnSkill() bool { + if !e.Hit() { + return true + } + e.Ctx().Opp.CancelTurn(e.Ctx().Our) + return true +} +func (e *Effect566) Skill_Hit() bool { + if e.Ctx().SkillEntity == nil { + return true + } + + if e.Ctx().SkillEntity.Category() == info.Category.PHYSICAL { + e.Ctx().Opp.CurrentPet.Info.Prop[2] = 0 + } else { + e.Ctx().Opp.CurrentPet.Info.Prop[4] = 0 + } + + return true +} diff --git a/logic/service/fight/effect/effect_74_75.go b/logic/service/fight/effect/effect_74_75.go index e562fd70..c33d99ff 100644 --- a/logic/service/fight/effect/effect_74_75.go +++ b/logic/service/fight/effect/effect_74_75.go @@ -53,7 +53,7 @@ func (e *EffectRandomStatus) OnSkill() bool { if eff == nil { return true } - + e.Ctx().Opp.AddEffect(e.Ctx().Our, eff) return true @@ -74,4 +74,5 @@ func init() { {upper: 20, status: info.PetStatus.Sleep}, // 10-19:睡眠 {upper: 30, status: info.PetStatus.Fear}, // 20-29:害怕 })) + } diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index 0f3e386f..41b796b4 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -31,7 +31,10 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *info.Ski }) var oldprop [2][6]int8 + var oldinfo [2]model.PetInfo oldprop[0], oldprop[1] = attacker.Prop, defender.Prop //先复制能力提升 + oldinfo[0], oldinfo[1] = attacker.CurrentPet.Info, defender.CurrentPet.Info + attacker.Exec(func(t input.Effect) bool { //计算变威力 t.Ctx().SkillEntity = a @@ -58,7 +61,7 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *info.Ski } attacker.Prop, defender.Prop = oldprop[0], oldprop[1] //先复制能力提升 - + attacker.CurrentPet.Info, defender.CurrentPet.Info = oldinfo[0], oldinfo[1] if attacker.IsCritical == 1 { //命中了才有暴击 //暴击破防 if a.Category() == info.Category.PHYSICAL && defender.Prop[1] > 0 {