/// <summary> /// Screen when Player is at a Door /// </summary> /// <param name="openDoor"></param> /// <param name="closeDoor"></param> /// <param name="running"></param> /// <param name="door"></param> public void Door(Sound openDoor, Sound closeDoor, Sound running, Door door) { Console.CursorVisible = false; //Get user to 'open' the door DisplayGamePlayScreen("Player At Door", Text.Door(), ActionMenu.StoryLine, ""); GetContinueKey(); //Play door opening sound openDoor.playSound(false); DisplayGamePlayScreen(" ", Text.Empty(), ActionMenu.Blank, ""); //Pause to let door sound play through Pause(1400); //Pause for a random amount of time Pause(_gameUniverse.GetRandom(500, 1200)); if (door.EnemyBehindDoor == true) { running.playSound(false); } //Get user to 'close' the door or 'enter' room DisplayGamePlayScreen("Player At Door", Text.DoorPT2(), ActionMenu.Door, ""); ClearInputBox(); }
/// <summary> /// Assign XP to every location, object, npc in the game /// </summary> private void AssignXP() { foreach (Location l in _gameUniverse.Locations) { l.ExperiencePoints = _gameUniverse.GetRandom(12, 30); } foreach (GameObject g in _gameUniverse.GameObjects) { if (g is PlayerObject) { PlayerObject p = (PlayerObject)g; g.ExperiencePoints = _gameUniverse.GetRandom(6, 12); } } foreach (Npc n in _gameUniverse.Npcs) { if (n is IExperiencePoints) { IExperiencePoints i = (IExperiencePoints)n; i.XP = _gameUniverse.GetRandom(6, 12); } } }