package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" "github.com/alpacahq/alpacadecimal" ) // 1回合内,受到致死攻击时则余下1点体力 // ---- Effect68 ---- type Effect68 struct { node.EffectNode StatusID int } func (e *Effect68) DamageLock_ex(t *info.DamageZone) bool { if !e.Hit() { return true } if e.Ctx().SkillEntity == nil { return true } if e.Ctx().SkillEntity.Category() == info.Category.STATUS { return true } //fmt.Println("Effect68_o", t.Damage) //伤害溢出 if t.Type == info.DamageType.Red && t.Damage.Cmp(e.Ctx().Our.CurrentPet.GetHP()) == 1 { //e.Ctx().Our.CurrentPet.Info.Hp = 1 t.Damage = e.Ctx().Our.CurrentPet.GetHP().Sub(alpacadecimal.NewFromInt(1)) } //fmt.Println("Effect68_n", t.Damage) return true } // ---- 注册所有效果 ---- func init() { input.InitEffect(input.EffectType.Skill, 68, &Effect68{}) }