Files
bl/logic/service/fight/effect/471.go

66 lines
1.1 KiB
Go

package effect
import (
"blazing/logic/service/fight/input"
)
// Effect 471: 先出手时{0}回合内免疫异常状态
type Effect471 struct {
RoundEffectArg0Base
can bool
}
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.OpponentInput() {
return true
}
if input.IS_Stat(effEffect) {
return false
}
return true
}
func (e *Effect471) OnSkill() bool {
if e.IsFirst() { // 先出手
e.can = true
}
return true
}
func init() {
input.InitEffect(input.EffectType.Skill, 191, &Effect191{})
}
// Effect 191: {0}回合内免疫并反弹所有受到的异常状态
type Effect191 struct {
RoundEffectArg0Base
}
func (e *Effect191) EFFect_Befer(in *input.Input, effEffect input.Effect) bool {
if in != e.OpponentInput() {
return true
}
if input.IS_Stat(effEffect) {
statusEffect1 := e.CarrierInput().InitEffect(input.EffectType.Status, int(effEffect.ID().Suffix()))
if statusEffect1 != nil {
e.OpponentInput().AddEffect(e.CarrierInput(), statusEffect1)
}
return false
}
return true
}