package effect import ( "blazing/common/utils" "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" "github.com/shopspring/decimal" ) /** * 伤害大于对方体力时会余下1体力 */ func init() { input.InitEffect(input.EffectType.Skill, 8, &Effect8{ EffectNode: node.EffectNode{}, }) } type Effect8 struct { node.EffectNode } // 伤害落实前触发,限制最大伤害 func (e *Effect8) Damage_Floor(ctx input.Ctx) bool { if ctx.DamageZone.Type == info.DamageType.Red { ctx.DamageZone.Damage = decimal.NewFromInt(utils.Min(ctx.DamageZone.Damage.IntPart(), int64(ctx.Input.CurrentPet.Info.Hp)-1)) } return true }