package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" "github.com/alpacahq/alpacadecimal" ) // Effect 137: 损失一半当前体力值,自身攻击和速度提升2个等级 type Effect137 struct { node.EffectNode } func (e *Effect137) OnSkill() bool { // 损失一半当前体力值 currentHp := e.Ctx().Our.CurrentPet.GetHP() halfHp := currentHp.Div(alpacadecimal.NewFromInt(2)) damageZone := &info.DamageZone{ Type: info.DamageType.Fixed, Damage: halfHp, } e.Ctx().Our.Damage(e.Ctx().Our, damageZone) e.Ctx().Our.SetProp(e.Ctx().Our, 4, 2) e.Ctx().Our.SetProp(e.Ctx().Our, 0, 2) return true } func init() { input.InitEffect(input.EffectType.Skill, 137, &Effect137{}) }