package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" "github.com/alpacahq/alpacadecimal" ) /** * 牺牲全部体力造成对手250~300点伤害,造成致命伤害时,对手剩下1点体力 */ type Effect112 struct { node.EffectNode can bool } func init() { input.InitEffect(input.EffectType.Skill, 112, &Effect112{}) } // 命中之后 func (e *Effect112) OnSkill() bool { e.can = true e.Ctx().Our.Damage(e.Ctx().Our, &info.DamageZone{ Type: info.DamageType.Fixed, Damage: alpacadecimal.NewFromInt(int64(e.Ctx().Our.CurrentPet.Info.MaxHp)), }) n := int64(e.Input.FightC.GetRand().Int31n(int32(50+1))) + 250 e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{ Type: info.DamageType.Fixed, Damage: alpacadecimal.Min(alpacadecimal.NewFromInt(n), e.Ctx().Opp.CurrentPet.GetHP().Sub(alpacadecimal.NewFromInt(1))), }) e.Ctx().Our.CurrentPet.NotAlive = true return true }