From b9985bff3b6b2cffa72467222d1d87a2b55cd97b Mon Sep 17 00:00:00 2001 From: xinian Date: Fri, 13 Mar 2026 11:07:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=95=88=E6=9E=9C114?= =?UTF-8?q?6=E5=B9=B6=E4=BC=98=E5=8C=96=E6=9D=A1=E4=BB=B6=E5=88=A4?= =?UTF-8?q?=E6=96=AD=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/1146.go | 37 +++++++++++++++++++ .../effect_EffectConditionalAddDamage.go | 14 ++----- login/main.go | 1 + 3 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 logic/service/fight/effect/1146.go diff --git a/logic/service/fight/effect/1146.go b/logic/service/fight/effect/1146.go new file mode 100644 index 00000000..4e8dfc03 --- /dev/null +++ b/logic/service/fight/effect/1146.go @@ -0,0 +1,37 @@ +package effect + +import ( + "blazing/logic/service/fight/info" + "blazing/logic/service/fight/input" + "blazing/logic/service/fight/node" +) + +func init() { + input.InitEffect(input.EffectType.Skill, 1146, &Effect1146{}) + +} + +type Effect1146 struct { + node.EffectNode +} + +func (e *Effect1146) OnSkill() bool { + // 1. 命中判定失败,不触发 + count := 0 + for _, v := range e.Ctx().Opp.Prop[:] { + if v > 0 { + count++ + } + + } + if count < e.SideEffectArgs[0] { + return true + } + + e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{ + Type: info.DamageType.Fixed, + Damage: e.Args()[1], + }) + + return true +} diff --git a/logic/service/fight/effect/effect_EffectConditionalAddDamage.go b/logic/service/fight/effect/effect_EffectConditionalAddDamage.go index aea24cd9..0231de93 100644 --- a/logic/service/fight/effect/effect_EffectConditionalAddDamage.go +++ b/logic/service/fight/effect/effect_EffectConditionalAddDamage.go @@ -4,8 +4,6 @@ import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" - - "github.com/alpacahq/alpacadecimal" ) // ----------------------------------------------------------- @@ -68,11 +66,9 @@ func (e *EffectConditionalAddDamage) OnSkill() bool { return true } - // 4. 附加固定伤害(从SideEffectArgs[0]获取伤害值) - damageValue := alpacadecimal.NewFromInt(int64(e.SideEffectArgs[0])) e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{ Type: info.DamageType.Fixed, - Damage: damageValue, + Damage: e.Args()[0], }) return true @@ -105,10 +101,6 @@ func conditionIsAbnormal(e *EffectConditionalAddDamage) bool { // conditionPropDown:判断对方是否处于能力下降状态 func conditionPropDown(e *EffectConditionalAddDamage) bool { - for _, v := range e.Ctx().Opp.Prop { - if v < 0 { - return true - } - } - return false + + return e.Ctx().Opp.HasPropSub() } diff --git a/login/main.go b/login/main.go index 7c3e7d1b..b1ce5a9d 100644 --- a/login/main.go +++ b/login/main.go @@ -42,6 +42,7 @@ func init() { } func main() { + // fight.TestSKill() // // 初始化根结构体 // var root Root