From 914e203d8b4775bf5dfb9b8aa299960247d18e93 Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Thu, 27 Nov 2025 06:54:35 +0000 Subject: [PATCH 1/4] =?UTF-8?q?fix(fight):=20=E4=BF=AE=E6=AD=A3Boss?= =?UTF-8?q?=E6=88=98=E6=8D=95=E6=8D=89=E9=80=BB=E8=BE=91=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/service/fight/boss/NewSeIdx_33.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/logic/service/fight/boss/NewSeIdx_33.go b/logic/service/fight/boss/NewSeIdx_33.go index 1f3b0edc..35547091 100644 --- a/logic/service/fight/boss/NewSeIdx_33.go +++ b/logic/service/fight/boss/NewSeIdx_33.go @@ -2,6 +2,8 @@ package effect import ( "blazing/logic/service/fight/input" + + "github.com/shopspring/decimal" ) // 33. 精灵体力降低到 1/n 时有 m% 几率体力回满;(a1: n, a2: m 百分比) @@ -15,17 +17,16 @@ func (e *NewSel33) Action_end_ex() bool { return true } // 3. 概率判定(Args()[1]为触发概率) - success, _, _ := e.Input.Player.Roll(e.Args()[0], 100) - if !success { - return true - } - - if e.Ctx().Our.CurrentPet.Info.Hp == 0 { + cmp := e.Ctx().Our.CurrentPet.GetMaxHP().Div(decimal.NewFromInt(int64(e.Args()[0]))) + if e.Ctx().Our.CurrentPet.GetHP().Cmp(cmp) == -1 { + success, _, _ := e.Input.Player.Roll(e.Args()[1], 100) + if !success { + return true + } e.Ctx().Our.Heal(e.Ctx().Our, nil, e.Ctx().Our.GetPetInfo().GetMaxHP()) } - return true } func init() { From aa87e1c55a17cadcdeb69b29cd48173ebd3f6d03 Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Thu, 27 Nov 2025 10:58:30 +0000 Subject: [PATCH 2/4] =?UTF-8?q?fix(fight):=20=E4=BF=AE=E6=AD=A3=E7=A9=BA?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E5=AF=BC=E8=87=B4=E7=9A=84=E6=BD=9C=E5=9C=A8?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/service/fight/effect/effect_73.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/logic/service/fight/effect/effect_73.go b/logic/service/fight/effect/effect_73.go index 2c4079b7..a8b243a1 100644 --- a/logic/service/fight/effect/effect_73.go +++ b/logic/service/fight/effect/effect_73.go @@ -32,7 +32,7 @@ func (e *Effect73) SetArgs(t *input.Input, a ...int) { e.EffectNode.Duration(e.EffectNode.SideEffectArgs[0] - 1) } -func (e *Effect73) Skill_Use_ex() bool { +func (e *Effect73) Action_end_ex() bool { if !e.Hit() { return true From 279f5d9d3966a1e979a6e8b19f3d0695bc1d3085 Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Thu, 27 Nov 2025 11:11:13 +0000 Subject: [PATCH 3/4] =?UTF-8?q?fix(fight):=20=E4=BF=AE=E6=AD=A3=E7=A9=BA?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E5=AF=BC=E8=87=B4=E7=9A=84=E6=BD=9C=E5=9C=A8?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/service/fight/effect/effect_73.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/logic/service/fight/effect/effect_73.go b/logic/service/fight/effect/effect_73.go index a8b243a1..50e9e1f0 100644 --- a/logic/service/fight/effect/effect_73.go +++ b/logic/service/fight/effect/effect_73.go @@ -40,11 +40,15 @@ func (e *Effect73) Action_end_ex() bool { if !e.Input.FightC.IsFirst(e.Ctx().Our.Player) { return true } - - e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{ + tt := &info.DamageZone{ Type: info.DamageType.Fixed, Damage: e.Ctx().Opp.SumDamage.Mul(decimal.NewFromInt(2)), - }) + } + maxhp := e.Ctx().Our.CurrentPet.GetMaxHP().Mul(decimal.NewFromInt(30)) + if tt.Damage.Cmp(maxhp) == 1 { + tt.Damage = maxhp + } + e.Ctx().Opp.Damage(e.Ctx().Our, tt) return true } From cb58c312bc45cc1fe7ab43c5486f85248066ffb9 Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Thu, 27 Nov 2025 12:05:21 +0000 Subject: [PATCH 4/4] =?UTF-8?q?fix(fight):=20=E4=BF=AE=E6=AD=A3=E7=A9=BA?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E5=AF=BC=E8=87=B4=E7=9A=84=E6=BD=9C=E5=9C=A8?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/service/fight/boss/NewSeIdx_28.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/logic/service/fight/boss/NewSeIdx_28.go b/logic/service/fight/boss/NewSeIdx_28.go index 9c260844..8398aa23 100644 --- a/logic/service/fight/boss/NewSeIdx_28.go +++ b/logic/service/fight/boss/NewSeIdx_28.go @@ -24,7 +24,7 @@ func (e *NewSel28) Damage_ADD(t *info.DamageZone) bool { if e.Ctx().SkillEntity.Type != int(e.Args()[0]) { return true } - t.Damage = t.Damage.Add(t.Damage.Mul(decimal.NewFromInt(int64(e.Args()[1])))) + t.Damage = t.Damage.Add(t.Damage.Mul(decimal.NewFromInt(int64(e.Args()[1])).Div(decimal.NewFromInt(100)))) return true } func init() {