public override void Run(RoleBase caster, Space space, MagicArgs args) { int count = 0; caster.AttackToHurt(args.Target); for (int i = space.AllRoles().Count - 1; i >= 0; i--) { RoleBase target = space.AllRoles()[i]; if (caster.IsHostileTo(target) && target.InCircle(args.Target.Position, args.Radius * args.Scale)) { if (target != args.Target) { CreateSubMagic(caster, args.Target, target, space, args); caster.CastingToEffect(target, args); count++; if (count == args.Number) { break; } } } } }