示例#1
0
        public void Initialize(MovesetRandSettings settings, int[] bannedMoves)
        {
            Settings = settings;

            var nanned = new List <int>();

            nanned.AddRange(new[] { 165, 621, 464 }.Concat(Legal.Z_Moves)); // Struggle, Hyperspace Fury, Dark Void
            if (Settings.BanFixedDamageMoves)
            {
                nanned.AddRange(FixedDamageMoves);
            }
            nanned.AddRange(bannedMoves);

            Settings.BannedMoves = nanned.ToArray();

            var all   = Enumerable.Range(1, Config.MaxMoveID - 1);
            var moves = all.Except(nanned);

            RandMove = new GenericRandomizer(moves.ToArray());
        }
示例#2
0
        public void Initialize(MovesetRandSettings settings, int[] bannedMoves)
        {
            Settings = settings;

            var banned = new List <int>();

            banned.AddRange(Legal.Taboo_Moves.Concat(Legal.Z_Moves).Concat(Legal.Max_Moves));
            if (Settings.BanFixedDamageMoves)
            {
                banned.AddRange(FixedDamageMoves);
            }
            banned.AddRange(bannedMoves);

            Settings.BannedMoves = banned.ToArray();

            var all   = Enumerable.Range(1, Config.MaxMoveID - 1);
            var moves = all.Except(banned);

            if (MoveData[0] is Move8Fake)
            {
                moves = moves.Where(z => ((Move8Fake)MoveData[z]).CanUseMove);
            }
            RandMove = new GenericRandomizer <int>(moves.ToArray());
        }