package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // 196 - n%令对方XX等级-m;若先出手,则j%使对方XX等级-k type Effect196 struct { node.EffectNode } func (e *Effect196) OnSkill() bool { if e.Input.FightC.IsFirst(e.Input.Player) { // 先出手 chance := e.Args()[4].IntPart() // j% effectValue := e.Args()[5].IntPart() // 等级-k success, _, _ := e.Input.Player.Roll(int(chance), 100) if success { e.Ctx().Opp.SetProp(e.Ctx().Opp, int8(e.Args()[3].IntPart()), int8(effectValue), info.AbilityOpType.SUB) } } else { // 后出手 chance := e.Args()[1].IntPart() // j% effectValue := e.Args()[2].IntPart() // 等级-k success, _, _ := e.Input.Player.Roll(int(chance), 100) if success { e.Ctx().Opp.SetProp(e.Ctx().Opp, int8(e.Args()[0].IntPart()), int8(effectValue), info.AbilityOpType.SUB) } } return true } func init() { input.InitEffect(input.EffectType.Skill, 196, &Effect196{}) }