Files
bl/logic/service/fight/effect/471.go
xinian 875ad668aa
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
feat: 实现战斗效果逻辑和接口重构
2026-03-28 21:57:22 +08:00

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.Ctx().Opp {
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.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
}