2026-03-09 00:07:19 +08:00
|
|
|
package effect
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"blazing/logic/service/fight/input"
|
|
|
|
|
"blazing/logic/service/fight/node"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// 471 - 先出手时n回合内免疫异常状态
|
|
|
|
|
type Effect471 struct {
|
|
|
|
|
node.EffectNode
|
|
|
|
|
can bool
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (e *Effect471) SetArgs(t *input.Input, a ...int) {
|
|
|
|
|
e.EffectNode.SetArgs(t, a...)
|
|
|
|
|
e.EffectNode.Duration(a[0]) // 持续m回合
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
input.InitEffect(input.EffectType.Skill, 471, &Effect471{})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (e *Effect471) EFFect_Befer(in *input.Input, effEffect input.Effect) bool {
|
|
|
|
|
|
|
|
|
|
if !e.can {
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if in != e.Ctx().Opp {
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
if input.IS_Stat(effEffect) {
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
func (e *Effect471) OnSkill() bool {
|
2026-03-09 12:28:37 +08:00
|
|
|
if e.IsFirst() { // 先出手
|
2026-03-09 00:07:19 +08:00
|
|
|
e.can = true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
input.InitEffect(input.EffectType.Skill, 191, &Effect191{})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 191 - n回合内免疫并反弹所有受到的异常状态
|
|
|
|
|
type Effect191 struct {
|
|
|
|
|
node.EffectNode
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (e *Effect191) SetArgs(t *input.Input, a ...int) {
|
|
|
|
|
e.EffectNode.SetArgs(t, a...)
|
|
|
|
|
e.EffectNode.Duration(a[0]) // 持续m回合
|
|
|
|
|
}
|
|
|
|
|
func (e *Effect191) EFFect_Befer(in *input.Input, effEffect input.Effect) bool {
|
|
|
|
|
|
|
|
|
|
if in != e.Ctx().Opp {
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
if input.IS_Stat(effEffect) {
|
|
|
|
|
statusEffect1 := e.Ctx().Our.InitEffect(input.EffectType.Status, int(effEffect.ID().Suffix()))
|
|
|
|
|
if statusEffect1 != nil {
|
|
|
|
|
e.Ctx().Opp.AddEffect(e.Ctx().Our, statusEffect1)
|
|
|
|
|
}
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true
|
|
|
|
|
}
|