public static void Initialize_NewGame()
 {
     AccusationEncounters.Initialize_Accusation();
     Conversation.Initialize_Conversation();
     Flood.Initialize_Flood();
     // Lists.Initialize_Lists();
     LocationEncounters.Initialize_Locations();
     Map.Initialize_Map();
     Movement.Initialize_Movement();
     Notebook.Initialize_Notebook();
     NPC_AI.Initialize_AI_Variables();
     NPC_AI.Initialize_NPCs();
     NPC_Traits.Initialize_Traits();
     RandomEncounters.Initialize_Actors();
     RandomEncounters.Initialize_RandomEncounters();
     Search.Initialize_Search();
     TheBunny.Initialize_Bunny();
     Title.Initialize_TitleVars();
     Title.Initialize_Secrets();
     Variables.Initialize_MainVars();
 }
        static void Main(string[] args)
        {
            Game_StartNewGame();

            // Title screen.
            Title.ScreenDimensions();
            Title.TitleScreen();

            // Gah. Start the game. Get on with it already.
            while (Variables.bGameActive)
            {
                if (iInitializeGame == 1)
                {
                    Lists.Initialize_Lists();
                    iInitializeGame = 2;
                }

                if (Variables.iRemainingTurns > Variables.iTurn60) // end of game, i.e. 0 turns remaining
                {
                    // First, check for cutscene. These scenes preempt the game display.
                    Cutscenes.ShouldSomethingBePlaying();

                    // Second, check for Bunny Text. And ditto the aforementioned preemption.
                    TheBunny.BunnyText();

                    // NPCs Scavenge each round, behind the scenes.
                    NPC_AI.NPCs_Go_Looting();

                    // Opening cutscene. Odd place for it but its a legacy of the port.
                    Cutscenes.GameStart_Cutscene();

                    if (Variables.iRemainingTurns != 125) // Ugly, but this is to prevent text from flashing on screen and then instantly disappearing, on turn 125.
                    {
                        // Display Header Info (minutes remaining, current location). First thing player sees outside of story text.
                        Display_UIHeader();

                        // If everyone is dead, set the proper variable accordingly.
                        AnyoneStillAliveICanFixThat();

                        if (Variables.iRemainingTurns == (Variables.iTurn50 - 1)) // If turn = 19.
                        {
                            RandomEncounters.DitchTheBestie();
                        }

                        // Reset the Lists I'm using to track data.
                        Lists.ClearMostLists();

                        // Populate the NPC Roster list
                        Lists.PopulateNPCRoster();

                        // Check/Increment Island Flooding
                        Flood.HereComesTheFlood();
                        Flood.FloodBlocksSomeLocations();

                        // Add space before shuffler, if anyone is here:
                        NPC_AI.AnyoneHere_NeedShufflerSpace();

                        // The "Shuffler" Loop where NPC actions are shown.
                        // Order: NPCs come/go/emote, corpse, lightning, bunny.
                        for (int i = 1; Lists.NPCRoster.Count > 0; i++)
                        {
                            NPC_AI.SetUpForShuffler();
                            NPC_AI.Shuffler_01To89();
                            NPC_AI.NPC100_ShufflerOverride();
                            NPC_AI.Shuffler_90To100();
                            Notebook.DoYouComeHereOftenYouLookFamiliar();
                            Flood.HopeYouNPCsCanSwim();
                            NPC_AI.SetAllNPCLocals();
                            NPC_AI.CanIStopShufflingYet(); // Note: Triggers SoWhoAllIsDead() when everyone has been accounted for.
                        }

                        TheBunny.BunnyCode();
                        Title.ButPopularityIsImportant();

                        // Reset NPC Roster, modify spacing.
                        Lists.PopulateNPCRoster();
                        NPC_AI.IsAnyoneHere();

                        // The killer's attack routine.
                        NPC_AI.NPC100_PantsDownGenderCheck();
                        Killer.KillerIsHunting();
                    }

                    // Random Encounters
                    RandomEncounters.PickAnyRandomEncounter();   // Launches Run_RandomEncounter##();
                    RandomEncounters.Resolve_RandomEncounters(); // Launches SetAllActorLocals(); & Initialize_Actors();

                    // Drown Player (if necessary, of course)
                    Flood.ThePlayerCantSwim();

                    // Random Encounter #8, The Special Friend
                    RandomEncounters.YourVeryOwnBestie();

                    // Player options.
                    PlayerOptions.PlayerOptionsList();

                    // Dock one turn and Loop (unless game is over)
                    Variables.waitMove = true;
                    Variables.iRemainingTurns--;
                    Console.Clear();

                    if (Variables.iRemainingTurns == 0)
                    {
                        Cutscenes.GameOver_OutOfTurns();
                    }
                }
                else
                {
                    // Handle game over scoring, etc.
                    Title.ShowScore();
                }
            }
        }