diff --git a/logic/service/fight/effect/430.go b/logic/service/fight/effect/430.go index eeb8cc6c..44df2821 100644 --- a/logic/service/fight/effect/430.go +++ b/logic/service/fight/effect/430.go @@ -36,6 +36,6 @@ func (e *Effect430) Skill_Use() bool { } func init() { - input.InitEffect(input.EffectType.Skill, 184, &Effect184{}) + input.InitEffect(input.EffectType.Skill, 430, &Effect430{}) } diff --git a/logic/service/fight/effect/445.go b/logic/service/fight/effect/445.go deleted file mode 100644 index 7ed1459f..00000000 --- a/logic/service/fight/effect/445.go +++ /dev/null @@ -1,14 +0,0 @@ -package effect - -import "blazing/logic/service/fight/node" - -// 445 - 使用后在战斗结束时可以获得500赛尔豆,每日上限5000 -type Effect445 struct { - node.EffectNode -} - -// func (e *Effect445) OnSkill() bool { -// // 这个效果需要在战斗结束后执行,暂时记录奖励 -// e.Ctx().Our.EndReward = 500 -// return true -// } diff --git a/logic/service/fight/effect/446_626.go b/logic/service/fight/effect/446_626.go new file mode 100644 index 00000000..bf4ea5d8 --- /dev/null +++ b/logic/service/fight/effect/446_626.go @@ -0,0 +1,39 @@ +package effect + +import ( + "blazing/logic/service/fight/input" + "blazing/logic/service/fight/node" + + "github.com/gogf/gf/v2/util/grand" +) + +// "id": 446, +// "argsNum": 0, +// "info": "随机自身3项属性+1" + +// { +// "id": 626, +// "argsNum": 2, +// "info": "随机使自己{0}项能力+{1}" +// }, +// +// 626 - 消除对手能力强化状态,若消除状态成功,则自身XX等级m +type Effect626 struct { + node.EffectNode +} + +func (e *Effect626) Skill_Use() bool { + + for i := 0; i < e.SideEffectArgs[0]; i++ { + e.Ctx().Our.SetProp(e.Ctx().Our, int8(grand.Intn(6)), int8(e.SideEffectArgs[1])) + } + + return true +} + +func init() { + input.InitEffect(input.EffectType.Skill, 626, &Effect626{}) + t := &Effect626{} + t.SideEffectArgs = []int{3, 1} + input.InitEffect(input.EffectType.Skill, 446, t) +} diff --git a/logic/service/fight/effect/470.go b/logic/service/fight/effect/470.go index 96c218aa..cb8312b8 100644 --- a/logic/service/fight/effect/470.go +++ b/logic/service/fight/effect/470.go @@ -33,6 +33,6 @@ func (e *Effect470) SetArgs(t *input.Input, a ...int) { e.EffectNode.Duration(a[0]) // 持续n回合 } func init() { - input.InitEffect(input.EffectType.Skill, 513, &Effect513{}) + input.InitEffect(input.EffectType.Skill, 470, &Effect470{}) } diff --git a/logic/service/fight/effect/513.go b/logic/service/fight/effect/513.go index d37e8449..c56bce22 100644 --- a/logic/service/fight/effect/513.go +++ b/logic/service/fight/effect/513.go @@ -38,5 +38,30 @@ func (e *Effect513) SkillHit() bool { } func init() { input.InitEffect(input.EffectType.Skill, 513, &Effect513{}) - + input.InitEffect(input.EffectType.Skill, 544, &Effect544{}) +} + +type Effect544 struct { + node.EffectNode +} + +func (e *Effect544) Skill_Use() bool { + if e.Ctx().SkillEntity == nil { + return true + } + stas := []info.EnumPetStatus{ + info.PetStatus.Burned, + info.PetStatus.Poisoned, + info.PetStatus.Frozen, + } + + for _, sta := range stas { + if e.Ctx().Our.StatEffect_Exist(sta) { + + r := e.Ctx().Our.GetEffect(input.EffectType.Status, int(sta)) + r.Alive(false) + } + } + + return true } diff --git a/logic/service/fight/effect/addlevel.go b/logic/service/fight/effect/effect_addlevel.go similarity index 95% rename from logic/service/fight/effect/addlevel.go rename to logic/service/fight/effect/effect_addlevel.go index adada21c..67193d38 100644 --- a/logic/service/fight/effect/addlevel.go +++ b/logic/service/fight/effect/effect_addlevel.go @@ -102,7 +102,7 @@ func init() { input.InitEffect(input.EffectType.Skill, 497, &Effect429{ ispower: true, }) - input.InitEffect(input.EffectType.Skill, 497, &Effect429{}) + input.InitEffect(input.EffectType.Skill, 429, &Effect429{}) } // 497 - 附加m点固定伤害,每次使用额外附加n点,最高k点,遇到天敌时效果翻倍 @@ -150,6 +150,10 @@ func (e *Effect181) Skill_Use() bool { return true } +func init() { + + input.InitEffect(input.EffectType.Skill, 441, &Effect441{}) +} // 441 - 每次攻击提升n%的致命几率,最高提升m% type Effect441 struct { @@ -171,6 +175,10 @@ func (e *Effect441) ActionStart(a, b *action.SelectSkillAction) bool { return true } +func init() { + + input.InitEffect(input.EffectType.Skill, 465, &Effect465{}) +} // 465 - m%令对手疲惫n回合,每次使用几率提升x%,最高y% type Effect465 struct { diff --git a/logic/service/fight/effect/201.go b/logic/service/fight/effect/none.go similarity index 55% rename from logic/service/fight/effect/201.go rename to logic/service/fight/effect/none.go index 1174f71e..23c8b0e9 100644 --- a/logic/service/fight/effect/201.go +++ b/logic/service/fight/effect/none.go @@ -1,9 +1,25 @@ package effect import ( + "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) +// 445 - 使用后在战斗结束时可以获得500赛尔豆,每日上限5000 +type Effect445 struct { + node.EffectNode +} + +// func (e *Effect445) OnSkill() bool { +// // 这个效果需要在战斗结束后执行,暂时记录奖励 +// e.Ctx().Our.EndReward = 500 +// return true +// } +func init() { + input.InitEffect(input.EffectType.Skill, 445, &Effect445{}) + +} + // 201 - 组队时恢复己方1/n的体力 type Effect201 struct { node.EffectNode @@ -25,5 +41,9 @@ type Effect201 struct { // } // } -// return true -// } +// return true +// } +func init() { + input.InitEffect(input.EffectType.Skill, 201, &Effect201{}) + +} diff --git a/logic/service/fight/node/node.go b/logic/service/fight/node/node.go index 67fc164f..c603194b 100644 --- a/logic/service/fight/node/node.go +++ b/logic/service/fight/node/node.go @@ -109,7 +109,10 @@ func (e *EffectNode) Duration(t ...int) int { // 设置参数,加上设置输入源 func (e *EffectNode) SetArgs(t *input.Input, a ...int) { e.Input = t - e.SideEffectArgs = a + if len(a)>0 { + e.SideEffectArgs = a + } + } func (e *EffectNode) Args() []alpacadecimal.Decimal {