package effect import ( "blazing/logic/service/fight/action" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // Effect 407: 下回合起,每回合{0}等级+{1},持续{2}回合 type Effect407 struct { node.EffectNode } func (e *Effect407) Skill_Use() bool { // 创建一个延迟生效的效果,在下一回合开始生效 effectType := int8(e.Args()[0].IntPart()) // XX类型 effectValue := int8(e.Args()[1].IntPart()) // 等级+n duration := int(e.Args()[2].IntPart()) // 持续m回合 addSubEffect(e.Ctx().Our, e.Ctx().Our, &e.EffectNode, &Effect407_sub{ effectType: effectType, effectValue: effectValue, }, duration) return true } type Effect407_sub struct { node.EffectNode effectType int8 effectValue int8 } func (e *Effect407_sub) ActionStart(fattack *action.SelectSkillAction, sattack *action.SelectSkillAction) bool { e.Ctx().Our.SetProp(e.Ctx().Our, e.effectType, e.effectValue) return true } func init() { input.InitEffect(input.EffectType.Skill, 407, &Effect407{}) }