package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" "github.com/alpacahq/alpacadecimal" ) /** * 命中时x%的概率秒杀对方 */ func init() { input.InitEffect(input.EffectType.Skill, 36, &Effect36{}) } type Effect36 struct { node.EffectNode can bool } func (e *Effect36) OnSkill() bool { e.can = true return true } func (e *Effect36) DamageFloor(b *info.DamageZone) bool { if !e.can { return true } // 概率判定 ok, _, _ := e.Input.Player.Roll(e.SideEffectArgs[0], 100) if !ok { return true } if b.Type == info.DamageType.Red { b.Damage = alpacadecimal.NewFromInt(int64(e.Ctx().Opp.CurrentPet.Info.MaxHp)) } return true }