package effect import ( "blazing/common/utils" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) /** * 连续使用每次威力增加n,最高威力m */ func init() { t := &Effect9{ EffectNode: node.EffectNode{}, } t.Duration(-1) t.MaxStack(-1) input.InitEffect(input.EffectType.Skill, 9, t) } type Effect9 struct { node.EffectNode Skillid int //记录使用的技能 ,如果技能变了就删除effect UseSkillCount int //技能使用了多少次,切换后置0 } func (e *Effect9) Skill_Hit(ctx input.Ctx) bool { if e.Skillid != 0 && ctx.SkillEntity.ID != e.Skillid { e.Alive(false) e.UseSkillCount = 0 return true } e.Skillid = ctx.SkillEntity.ID add := e.EffectNode.SideEffectArgs[0] * e.UseSkillCount ctx.SkillEntity.Power += utils.Min(add, e.EffectNode.SideEffectArgs[1]) e.UseSkillCount++ return true }