diff --git a/logic/service/fight/effect/190.go b/logic/service/fight/effect/190.go index 88b894643..a7e935138 100644 --- a/logic/service/fight/effect/190.go +++ b/logic/service/fight/effect/190.go @@ -16,8 +16,11 @@ func (e *Effect190) Skill_Use_ex() bool { } // 消除对手所有能力强化状态 - for i, _ := range e.Ctx().Opp.Prop[:] { - e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), 0) + for i, v := range e.Ctx().Opp.Prop[:] { + if v>0 { + e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), 0) + } + } return true diff --git a/logic/service/fight/effect/477.go b/logic/service/fight/effect/477.go index f3127c6c8..f413d3594 100644 --- a/logic/service/fight/effect/477.go +++ b/logic/service/fight/effect/477.go @@ -16,6 +16,9 @@ func (e *Effect477) Skill_Use_ex() bool { } for i, effectId := range e.SideEffectArgs[1:] { + if effectId == 0 { + continue + } e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), int8(effectId)) } diff --git a/logic/service/fight/effect/483.go b/logic/service/fight/effect/483.go index 1405c3549..3950b8c63 100644 --- a/logic/service/fight/effect/483.go +++ b/logic/service/fight/effect/483.go @@ -15,7 +15,9 @@ func (e *Effect483) OnSkill() bool { if !e.IsFirst() { // 后出手 v = v * 2 } - + if v == 0 { + continue + } e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), int8(v)) } diff --git a/logic/service/fight/effect/504.go b/logic/service/fight/effect/504.go index 3c0cf5312..b020edc27 100644 --- a/logic/service/fight/effect/504.go +++ b/logic/service/fight/effect/504.go @@ -23,7 +23,10 @@ func (e *Effect504) OnSkill() bool { } } else { for i, effectId := range e.SideEffectArgs[1:] { - e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), int8(effectId)) + if effectId!=0 { + e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), int8(effectId)) + } + } } diff --git a/logic/service/fight/effect/516.go b/logic/service/fight/effect/516.go index f3dfb2667..2e5e8b005 100644 --- a/logic/service/fight/effect/516.go +++ b/logic/service/fight/effect/516.go @@ -18,6 +18,9 @@ func (e *Effect516) Skill_Use() bool { if currentHp.Cmp(threshold) < 0 { v *= 2 } + if v == 0 { + continue + } e.Ctx().Our.SetProp(e.Ctx().Our, int8(i), int8(v)) } diff --git a/logic/service/fight/effect/523.go b/logic/service/fight/effect/523.go index e8dab8373..12ffcce85 100644 --- a/logic/service/fight/effect/523.go +++ b/logic/service/fight/effect/523.go @@ -14,9 +14,11 @@ func (e *Effect523) Action_end() bool { // 检查对手是否还活着 if e.Ctx().Opp.CurrentPet.Info.Hp > 0 { // 提升自身的全部能力等级 - for i := 0; i < 6; i++ { - e.Ctx().Our.SetProp(e.Ctx().Our, int8(i), int8(e.SideEffectArgs[i])) - + for i, v := range e.SideEffectArgs { + if v == 0 { + continue + } + e.Ctx().Our.SetProp(e.Ctx().Our, int8(i), int8(v)) } } diff --git a/logic/service/fight/effect/538.go b/logic/service/fight/effect/538.go new file mode 100644 index 000000000..cffe19537 --- /dev/null +++ b/logic/service/fight/effect/538.go @@ -0,0 +1,42 @@ +package effect + +import ( + "blazing/logic/service/fight/input" + "blazing/logic/service/fight/node" +) + +type Effect538 struct { + node.EffectNode +} + +func (e *Effect538) Skill_Use() bool { + if e.Ctx().SkillEntity == nil { + return true + } + isadd := false + // 消除对手所有能力强化状态 + for i, v := range e.Ctx().Opp.Prop[:] { + if v > 0 { + if e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), 0) { + isadd = true + } + } + + } + if isadd { + for i, v := range e.SideEffectArgs[1:] { + if v != 0 { + e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), int8(v)) + } + + } + + } + + return true +} + +func init() { + input.InitEffect(input.EffectType.Skill, 538, &Effect538{}) + +} diff --git a/logic/service/fight/effect/effect_448.go b/logic/service/fight/effect/effect_448.go index d5bb18e0f..65102b476 100644 --- a/logic/service/fight/effect/effect_448.go +++ b/logic/service/fight/effect/effect_448.go @@ -17,6 +17,9 @@ func (e *Effect448) SetArgs(t *input.Input, a ...int) { func (e *Effect448) OnSkill() bool { for i, v := range e.SideEffectArgs[1:] { + if v == 0 { + continue + } if e.rev { e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), int8(v)) } else {