package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // n 回合内,每次躲避攻击都有m%几率使自身XX等级提升1个等级 type Effect110 struct { node.EffectNode } // 默认添加回合 func (e *Effect110) SetArgs(t *input.Input, a ...int) { e.EffectNode.SetArgs(t, a...) e.EffectNode.Duration(e.EffectNode.SideEffectArgs[0]) } func (e *Effect110) Skill_Use_ex() bool { if e.Ctx().SkillEntity != nil { if e.Ctx().SkillEntity.AttackTime != 0 { //没有闪避掉 return true } } chance := e.EffectNode.SideEffectArgs[1] success, _, _ := e.Input.Player.Roll(chance, 100) if !success { return true } e.Ctx().Our.SetProp(e.Ctx().Our, int8(e.SideEffectArgs[2]), 1, info.AbilityOpType.ADD) return true } // ---- 注册所有效果 ---- func init() { input.InitEffect(input.EffectType.Skill, 110, &Effect110{}) }