예제 #1
0
        /// <summary>
        /// Write the spoilers information grouped by items location
        /// </summary>
        /// <param name="textwriter">Text writer</param>
        /// <param name="spoilersInfo">Original spoiler info</param>
        private static void WriteSpoilersByItemLocation(TextWriter textwriter, List <string[]> spoilersInfo)
        {
            // Header
            textwriter.WriteLine("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -");
            textwriter.WriteLine("Items by location: ");
            textwriter.WriteLine();

            // Landing Site, Crateria and Blue Brinstar items
            textwriter.WriteLine("\tLanding Site, Crateria and Blue Brinstar [Original Item Location -> Randomized Item]:");
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._LandingSiteCrateriaBlueBrinstar.Contains(m[0])), true);

            // Green and Pink Brinstar items
            textwriter.WriteLine("\tGreen and Pink Brinstar [Original Item Location -> Randomized Item]:");
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._GreenAndPinkBrinstar.Contains(m[0])), true);

            // Red Brinstar items
            textwriter.WriteLine("\tRed Brinstar [Original Item Location -> Randomized Item]:");
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._RedBrinstar.Contains(m[0])), true);

            // Moat, West Ocean and Wrecked Ship items
            textwriter.WriteLine("\tMoat, West Ocean and Wrecked Ship [Original Item Location -> Randomized Item]:");
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._MoatWestOceanAndWreckedShip.Contains(m[0])), true);

            // Kraid and Upper-Left Norfair items
            textwriter.WriteLine("\tKraid and Upper-Left Norfair [Original Item Location -> Randomized Item]:");
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._KraidAndUpperLeftNorfair.Contains(m[0])), true);

            // Bubble Moutain and Upper-Right Norfair items
            textwriter.WriteLine("\tBubble Moutain and Upper-Right Norfair [Original Item Location -> Randomized Item]:");
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._BubbleMoutainAndUpperRightNorfair.Contains(m[0])), true);

            // Crocomire items
            textwriter.WriteLine("\tCrocomire [Original Item Location -> Randomized Item]:");
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._Crocomire.Contains(m[0])), true);

            // Lower Norfair items
            textwriter.WriteLine("\tLower Norfair [Original Item Location -> Randomized Item]:");
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._LowerNorfair.Contains(m[0])), true);

            // Maridia items
            textwriter.WriteLine("\tMaridia [Original Item Location -> Randomized Item]:");
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._Maridia.Contains(m[0])), true);
        }
예제 #2
0
        /// <summary>
        /// Write the spoilers information grouped by item type
        /// </summary>
        /// <param name="textwriter">Text writer</param>
        /// <param name="spoilersInfo">Original spoiler info</param>
        private static void WriteSpoilersByItemType(TextWriter textwriter, List <string[]> spoilersInfo)
        {
            // Major items header
            textwriter.WriteLine("Items by type: ");
            textwriter.WriteLine();
            textwriter.WriteLine("\tMajor items [Randomized Item -> Original Item Location]:");

            // Suits
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._SuitItems.Contains(m[1])));

            // Boots
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._BootItems.Contains(m[1])));

            // Beams
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._BeamItems.Contains(m[1])));

            // Misc
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._MiscItems.Contains(m[1])));

            // Aux
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => SpoilersWriter._AuxItems.Contains(m[1])));

            // Energy Tanks
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => m[1].Equals(SpoilersWriter._EnergyTankItems)));

            // Reserve Tanks
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => m[1].Equals(SpoilersWriter._ReserveTankItems)));

            // Minor items header
            textwriter.WriteLine();
            textwriter.WriteLine("\tMinor items [Randomized Item -> Original Item Location]:");

            // Power bomb items
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => m[1].Equals(SpoilersWriter._PowerBombItems)));

            // Super Missile items
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => m[1].Equals(SpoilersWriter._SuperMissileItems)));

            // Item Missile items
            SpoilersWriter.WriteItemLocation(textwriter, spoilersInfo.Where(m => m[1].Equals(SpoilersWriter._MissileItems)));
        }