package effect import ( "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // Effect 453: 消除对手能力提升状态,若消除成功,则对手{0} type Effect453 struct { node.EffectNode } func (e *Effect453) Skill_Use() bool { // 检查对手是否有能力强化状态 ispwoer := false for i, v := range e.Ctx().Opp.Prop[:] { if v > 0 { e.Ctx().Our.SetProp(e.Ctx().Opp, int8(i), 0) ispwoer = true return true } } if ispwoer { // 如果成功消除了状态,对对手施加异常状态 effectType := int(e.Args()[0].IntPart()) // XX类型,比如麻痹 statusEffect := e.Ctx().Our.InitEffect(input.EffectType.Status, effectType) if statusEffect != nil { e.Ctx().Opp.AddEffect(e.Ctx().Our, statusEffect) } } return true } func init() { input.InitEffect(input.EffectType.Skill, 453, &Effect453{}) }