/// <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); }
/// <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))); }