package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" "github.com/shopspring/decimal" ) /** * 1回合做m~n次攻击 */ func init() { input.InitEffect(input.EffectType.Skill, 31, &Effect31{ EffectNode: node.EffectNode{}, }) } type Effect31 struct { node.EffectNode } func (e *Effect31) Damage_Mul(ctx input.Ctx) bool { if !e.Hit() { return true } if ctx.DamageZone.Type == info.DamageType.Red { n := int(e.Input.FightC.GetRand().Int31n(int32(e.SideEffectArgs[1]-e.SideEffectArgs[0]+1))) + e.SideEffectArgs[0] ctx.DamageZone.Damage = ctx.DamageZone.Damage.Mul(decimal.NewFromInt(int64(n))) } return true }