Files
bl/logic/service/fight/effect/effect_8.go
2025-09-29 02:40:35 +08:00

36 lines
697 B
Go

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
}