Files
bl/logic/service/fight/effect/effect_57.go
2025-11-21 05:47:51 +00:00

40 lines
771 B
Go

package effect
import (
"blazing/logic/service/fight/action"
"blazing/logic/service/fight/input"
"blazing/logic/service/fight/node"
"github.com/shopspring/decimal"
)
/**
* n回合内每回合使用技能恢复自身最大体力的1/m
*/
func init() {
input.InitEffect(input.EffectType.Skill, 57, &Effect57{})
}
type Effect57 struct {
node.EffectNode
}
// 默认添加回合
func (e *Effect57) SetArgs(t *input.Input, a ...int) {
e.EffectNode.SetArgs(t, a...)
e.EffectNode.Duration(e.EffectNode.SideEffectArgs[0])
}
func (e *Effect57) OnSkill() bool {
if !e.Hit() {
return true
}
heal := e.Ctx().Our.CurrentPet.GetMaxHP().Div(decimal.NewFromInt(int64(e.Args()[1])))
e.Ctx().Our.Heal(e.Ctx().Our, &action.SelectSkillAction{}, heal)
return true
}