package effect import ( "blazing/logic/service/fight/action" "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // Effect 155: 恢复全部体力,消除所有能力下降,使自己进入睡眠{0}回合 type Effect155 struct { node.EffectNode } func (e *Effect155) OnSkill() bool { // 恢复全部体力 maxHp := e.Ctx().Our.CurrentPet.GetMaxHP() e.Ctx().Our.Heal(e.Ctx().Our, &action.SelectSkillAction{}, maxHp) // 消除所有能力下降 for i := 0; i < 6; i++ { e.Ctx().Our.SetProp(e.Ctx().Our, int8(i), 0) } // 使自己进入睡眠n回合 sleepEffect := e.Ctx().Our.InitEffect(input.EffectType.Status, int(info.PetStatus.Sleep)) if sleepEffect != nil { sleepEffect.Duration(int(e.Args()[0].IntPart())) // n回合 e.Ctx().Our.AddEffect(e.Ctx().Our, sleepEffect) } return true } func init() { input.InitEffect(input.EffectType.Skill, 155, &Effect155{}) }