Exemple #1
0
        private static void ResolveDeath(Actor defender)
        {
            if (defender is Player)
            {
                RogueGame.MessageLog.Add($"  {defender.Name} was killed, GAME OVER MAN!");
            }
            else if (defender is Monster)
            {
                if (defender.Head != null && defender.Head != HeadEquipment.None())
                {
                    RogueGame.DungeonMap.AddTreasure(defender.X, defender.Y, defender.Head);
                }
                if (defender.Body != null && defender.Body != BodyEquipment.None())
                {
                    RogueGame.DungeonMap.AddTreasure(defender.X, defender.Y, defender.Body);
                }
                if (defender.Hand != null && defender.Hand != HandEquipment.None())
                {
                    RogueGame.DungeonMap.AddTreasure(defender.X, defender.Y, defender.Hand);
                }
                if (defender.Feet != null && defender.Feet != FeetEquipment.None())
                {
                    RogueGame.DungeonMap.AddTreasure(defender.X, defender.Y, defender.Feet);
                }
                RogueGame.DungeonMap.AddGold(defender.X, defender.Y, defender.Gold);
                RogueGame.DungeonMap.RemoveMonster((Monster)defender);

                RogueGame.MessageLog.Add($"  {defender.Name} died and dropped {defender.Gold} gold");
            }
        }
 public Actor()
 {
     Head = HeadEquipment.None();
     Body = BodyEquipment.None();
     Hand = HandEquipment.None();
     Feet = FeetEquipment.None();
 }
Exemple #3
0
        public EquipmentGenerator(int level)
        {
            _equipmentPool = new Pool <Core.Equipment>();

            if (level <= 3)
            {
                _equipmentPool.Add(BodyEquipment.Leather(), 20);
                _equipmentPool.Add(HeadEquipment.Leather(), 20);
                _equipmentPool.Add(FeetEquipment.Leather(), 20);
                _equipmentPool.Add(HandEquipment.Dagger(), 25);
                _equipmentPool.Add(HandEquipment.Sword(), 5);
                _equipmentPool.Add(HeadEquipment.Chain(), 5);
                _equipmentPool.Add(BodyEquipment.Chain(), 5);
            }
            else if (level <= 6)
            {
                _equipmentPool.Add(BodyEquipment.Chain(), 20);
                _equipmentPool.Add(HeadEquipment.Chain(), 20);
                _equipmentPool.Add(FeetEquipment.Chain(), 20);
                _equipmentPool.Add(HandEquipment.Sword(), 15);
                _equipmentPool.Add(HandEquipment.Axe(), 15);
                _equipmentPool.Add(HeadEquipment.Plate(), 5);
                _equipmentPool.Add(BodyEquipment.Plate(), 5);
            }
            else
            {
                _equipmentPool.Add(BodyEquipment.Plate(), 25);
                _equipmentPool.Add(HeadEquipment.Plate(), 25);
                _equipmentPool.Add(FeetEquipment.Plate(), 25);
                _equipmentPool.Add(HandEquipment.TwoHandedSword(), 25);
            }
        }
Exemple #4
0
    public void DrawInventoryE()
    {
        var texts = Game.EquipmentItems.GetComponentsInChildren <Text>();

        foreach (var text in texts)
        {
            Color color = Color.black;
            switch (text.gameObject.name)
            {
            case "head":
                color      = Head == HeadEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight;
                text.text  = String.Format("Head: {0}", Head.Name);
                text.color = color;
                break;

            case "body":
                color      = Body == BodyEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight;
                text.text  = String.Format("Body: {0}", Body.Name);
                text.color = color;
                break;

            case "hand":
                color      = Hand == HandEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight;
                text.text  = String.Format("Hand: {0}", Hand.Name);
                text.color = color;
                break;

            case "feet":
                color      = Feet == FeetEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight;
                text.text  = String.Format("Feet: {0}", Feet.Name);
                text.color = color;
                break;
            }
        }
    }
 public void DrawInventory(RLConsole inventoryConsole)
 {
     inventoryConsole.Print(1, 1, "Equipment", Colors.InventoryHeading);
     inventoryConsole.Print(1, 3, $"Head: {Head.Name}", Head == HeadEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight);
     inventoryConsole.Print(1, 5, $"Body: {Body.Name}", Body == BodyEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight);
     inventoryConsole.Print(1, 7, $"Hand: {Hand.Name}", Hand == HandEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight);
     inventoryConsole.Print(1, 9, $"Feet: {Feet.Name}", Feet == FeetEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight);
 }
Exemple #6
0
        public Actor(Game game)
        {
            this.game = game;

            Head = HeadEquipment.None(game);
            Body = BodyEquipment.None(game);
            Hand = HandEquipment.None(game);
            Feet = FeetEquipment.None(game);
        }
Exemple #7
0
        //Params
        //public int Health { get; set; }
        //public int MaxHealth { get; set; }
        //public int Attack { get; set; }
        //public int AttackChance { get; set; }
        //public int Defense { get; set; }
        //public int DefenseChance { get; set; }
        //public int Gold { get; set; }

        //protected Actor(Color foreground, Color background, int glyph, int width = 1, int height = 1) : base(width, height)
        public Actor(Color?foreground = null, Color?background = null, int glyph = 0, int width = 1, int height = 1) : base(width, height)
        {
            Head = HeadEquipment.None();
            Body = BodyEquipment.None();
            Hand = HandEquipment.None();
            Feet = FeetEquipment.None();

            //Animation.CurrentFrame[0].Foreground = foreground;
            //Animation.CurrentFrame[0].Background = background;
            //Animation.CurrentFrame[0].Glyph = glyph;
        }
Exemple #8
0
        private static void ResolveDeath(Actor defender)
        {
            if (defender is Player && defender.Status != "Dead")
            {
                Game.GameOver();
            }
            else if (defender is Monster)
            {
                if (defender.Head != null && defender.Head != HeadEquipment.None())
                {
                    Game.DungeonMap.AddTreasure(defender.X, defender.Y, defender.Head);
                }
                if (defender.Body != null && defender.Body != BodyEquipment.None())
                {
                    Game.DungeonMap.AddTreasure(defender.X, defender.Y, defender.Body);
                }
                if (defender.Hand != null && defender.Hand != HandEquipment.None())
                {
                    Game.DungeonMap.AddTreasure(defender.X, defender.Y, defender.Hand);
                }
                if (defender.Feet != null && defender.Feet != FeetEquipment.None())
                {
                    Game.DungeonMap.AddTreasure(defender.X, defender.Y, defender.Feet);
                }

                Game.DungeonMap.AddGold(defender.X, defender.Y, defender.Gold);
                Game.DungeonMap.RemoveMonster((Monster)defender);

                if (defender.DeathMessages != null)
                {
                    Random random = new Random();
                    int    i      = random.Next(0, defender.DeathMessages.Length);
                    if (defender.IsEndBoss)
                    {
                        Game.MessageLog.Add($"  {defender.DeathMessages[i]}", Swatch.DbBlood);
                        Game.MessageLog.Add("Congrats, you have completed your quest");
                        // hp dome add game win logic
                    }
                    else if (defender.IsABoss)
                    {
                        Game.MessageLog.Add($"  {defender.DeathMessages[i]}", Swatch.DbBlood);
                    }
                    else
                    {
                        Game.MessageLog.Add($"  {defender.DeathMessages[i]}");
                    }
                }
                else
                {
                    Game.MessageLog.Add($"  {defender.Name} died and dropped {defender.Gold} gold");
                }
            }
        }
Exemple #9
0
        /// <summary>
        /// Will create and return a Kobold of the level passed into the method.
        /// </summary>
        /// <param name="level"></param>
        /// <returns></returns>
        public static Kobold Create(int level)
        {
            int    health = Dice.Roll("2D5");
            Kobold kobold = new Kobold
            {
                Attack        = Dice.Roll("1D3") + level / 3,
                AttackChance  = Dice.Roll("25D3"),
                Awareness     = 10,
                Color         = Colors.DbBrightWood,
                Defense       = Dice.Roll("1D3") + level / 3,
                DefenseChance = Dice.Roll("10D4"),
                Gold          = Dice.Roll("5D5"),
                Health        = health,
                MaxHealth     = health,
                Name          = NameGenerator.GenerateMonsterName() + ", Kobold",
                Speed         = 14,
                Symbol        = 'k'
            };

            // Low chance they'll have a healing potion.
            if (Dice.Roll("1D6") >= 5)
            {
                kobold.items.Add(new HealingPotion());
            }
            // Give some Kobolds helmets
            if (Dice.Roll("1D6") >= 5)
            {
                kobold.Head = HeadEquipment.GenerateNextLowLevel();
            }
            // Give some Kobolds body armor
            if (Dice.Roll("1D6") >= 5)
            {
                kobold.Body = BodyEquipment.GenerateNextLowLevel();
            }
            // Give some Kobolds feet and hand armor rarely
            if (Dice.Roll("1D6") > 5)
            {
                kobold.Feet = FeetEquipment.GenerateNextLowLevel();
                kobold.Hand = HandEquipment.GenerateNextLowLevel();
            }
            return(kobold);
        }
Exemple #10
0
        public void DrawInventory(RLConsole inventoryConsole)
        {
            inventoryConsole.Print(1, 1, "Equipment", RLColor.White);
            inventoryConsole.Print(1, 3, $"Head: {Head.Name}", Head == HeadEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight);
            inventoryConsole.Print(1, 5, $"Body: {Body.Name}", Body == BodyEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight);
            inventoryConsole.Print(1, 7, $"Hand: {Hand.Name}", Hand == HandEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight);
            inventoryConsole.Print(1, 9, $"Feet: {Feet.Name}", Feet == FeetEquipment.None() ? Swatch.DbOldStone : Swatch.DbLight);

            inventoryConsole.Print(28, 1, "Abilities", Colors.InventoryHeading);
            DrawAbility(QAbility, inventoryConsole, 0);
            DrawAbility(WAbility, inventoryConsole, 1);
            DrawAbility(EAbility, inventoryConsole, 2);
            DrawAbility(RAbility, inventoryConsole, 3);

            inventoryConsole.Print(55, 1, "Items", Colors.InventoryHeading);
            DrawItem(Item1, inventoryConsole, 0);
            DrawItem(Item2, inventoryConsole, 1);
            DrawItem(Item3, inventoryConsole, 2);
            DrawItem(Item4, inventoryConsole, 3);
        }
Exemple #11
0
        public bool PickUp(IActor actor)
        {
            if (this is HeadEquipment)
            {
                HeadEquipment newHeadEquipment = this as HeadEquipment;
                if (newHeadEquipment.Value > actor.Head.Value)
                {
                    actor.Head    = this as HeadEquipment;
                    actor.Health += newHeadEquipment.MaxHealth;
                    actor.Mana   += newHeadEquipment.MaxMana;
                    Game.MessageLog.Add($"You picked up a {Name} {Description}");
                }
                else
                {
                    Game.MessageLog.Add($"The {Name} {Description} is weaker then {actor.Head.Name} {actor.Head.Description}, selling");
                    actor.Gold += newHeadEquipment.Value;
                }
                return(true);
            }

            if (this is BodyEquipment)
            {
                BodyEquipment newBodyEquipment = this as BodyEquipment;
                if (newBodyEquipment.Value > actor.Body.Value)
                {
                    actor.Body             = this as BodyEquipment;
                    actor.IsPoisonedImmune = newBodyEquipment.GrantsPoisonImmunity;
                    actor.Health          += newBodyEquipment.MaxHealth;
                    actor.Mana            += newBodyEquipment.MaxMana;
                    Game.MessageLog.Add($"You picked up {Name} {Description}");
                }
                else
                {
                    Game.MessageLog.Add($"The {Name} {Description} is weaker then {actor.Body.Name} {actor.Body.Description}, selling");
                    actor.Gold += newBodyEquipment.Value;
                }
                return(true);
            }

            if (this is HandEquipment)
            {
                HandEquipment newHandEquipment = this as HandEquipment;
                if (newHandEquipment.Value > actor.Hand.Value)
                {
                    actor.Hand    = this as HandEquipment;
                    actor.Health += newHandEquipment.MaxHealth;
                    actor.Mana   += newHandEquipment.MaxMana;
                    Game.MessageLog.Add($"You picked up a {Name}");
                }
                else
                {
                    Game.MessageLog.Add($"The {Name} is weaker then {actor.Hand.Name}, selling");
                    actor.Gold += newHandEquipment.Value;
                }
                return(true);
            }

            if (this is FeetEquipment)
            {
                FeetEquipment newFeetEquipment = this as FeetEquipment;
                if (newFeetEquipment.Value > actor.Feet.Value)
                {
                    actor.Feet    = this as FeetEquipment;
                    actor.Health += newFeetEquipment.MaxHealth;
                    actor.Mana   += newFeetEquipment.MaxMana;
                    Game.MessageLog.Add($"You picked up {Name} {Description}");
                }
                else
                {
                    Game.MessageLog.Add($"The {Name} {Description} is weaker then {actor.Feet.Name} {actor.Feet.Description}, selling");
                    actor.Gold += newFeetEquipment.Value;
                }
                return(true);
            }

            return(false);
        }
Exemple #12
0
 public void DrawInventory(RLConsole inventoryConsole)
 {
     inventoryConsole.Print(1, 1, "Inventory", Colors.DbBrightWood);
     for (int i = 0; i < items.Count; i++)
     {
         DrawItem(items[i], inventoryConsole, i);
     }
     if (Head.Name == "None")
     {
         inventoryConsole.Print(0, 3 + (items.Count * 2), $"Head: {Head.Name}", Head == HeadEquipment.None() ? Colors.DbOldStone : Colors.DbLight);
     }
     else
     {
         inventoryConsole.Print(0, 3 + (items.Count * 2), $"Head: {Head.Name}, (+{Head.Defense} DEF)", Head == HeadEquipment.None() ? Colors.DbOldStone : Colors.DbLight);
     }
     if (Body.Name == "None")
     {
         inventoryConsole.Print(0, 3 + (items.Count * 2) + 2, $"Body: {Body.Name}", Body == BodyEquipment.None() ? Colors.DbOldStone : Colors.DbLight);
     }
     else
     {
         inventoryConsole.Print(0, 3 + (items.Count * 2) + 2, $"Body: {Body.Name}, (+{Head.Defense} DEF)", Body == BodyEquipment.None() ? Colors.DbOldStone : Colors.DbLight);
     }
     if (Hand.Name == "None")
     {
         inventoryConsole.Print(0, 3 + (items.Count * 2) + 4, $"Hand: {Hand.Name}", Hand == HandEquipment.None() ? Colors.DbOldStone : Colors.DbLight);
     }
     else
     {
         inventoryConsole.Print(0, 3 + (items.Count * 2) + 4, $"Hand: {Hand.Name}, (+{Head.Defense} DEF)", Hand == HandEquipment.None() ? Colors.DbOldStone : Colors.DbLight);
     }
     if (Feet.Name == "None")
     {
         inventoryConsole.Print(0, 3 + (items.Count * 2) + 6, $"Feet: {Feet.Name}", Feet == FeetEquipment.None() ? Colors.DbOldStone : Colors.DbLight);
     }
     else
     {
         inventoryConsole.Print(0, 3 + (items.Count * 2) + 6, $"Feet: {Feet.Name}, (+{Head.Defense} DEF)", Feet == FeetEquipment.None() ? Colors.DbOldStone : Colors.DbLight);
     }
     // Draw the controls
     inventoryConsole.Print(0, inventoryConsole.Height - 8, "numpad/arrows: move", Colors.Text);
     inventoryConsole.Print(0, inventoryConsole.Height - 6, "</>/,/.: use stairs", Colors.Text);
     inventoryConsole.Print(0, inventoryConsole.Height - 4, "1-0: use items", Colors.Text);
     inventoryConsole.Print(0, inventoryConsole.Height - 2, "L: look around, P: pick up", Colors.Text);
 }
Exemple #13
0
        public void Draw(Game game)
        {
            if (game == null)
            {
                return;
            }

            eqHeadText.text  = game.Player.Head.Name;
            eqHandsText.text = game.Player.Hand.Name;
            eqBodyText.text  = game.Player.Body.Name;
            eqFeetText.text  = game.Player.Feet.Name;

            abQText.text = game.Player.QAbility.Name;
            abWText.text = game.Player.WAbility.Name;
            abEText.text = game.Player.EAbility.Name;
            abRText.text = game.Player.RAbility.Name;

            if (game.Player.Head == HeadEquipment.None(game))
            {
                eqHeadText.color = Colors.DbOldStone;
            }
            else
            {
                eqHeadText.color = Colors.DbLight;
            }

            if (game.Player.Hand == HandEquipment.None(game))
            {
                eqHandsText.color = Colors.DbOldStone;
            }
            else
            {
                eqHandsText.color = Colors.DbLight;
            }

            if (game.Player.Body == BodyEquipment.None(game))
            {
                eqBodyText.color = Colors.DbOldStone;
            }
            else
            {
                eqBodyText.color = Colors.DbLight;
            }

            if (game.Player.Feet == FeetEquipment.None(game))
            {
                eqFeetText.color = Colors.DbOldStone;
            }
            else
            {
                eqFeetText.color = Colors.DbLight;
            }

            if (game.Player.QAbility is Abilities.None)
            {
                abQText.color = Colors.DbOldStone;
            }
            else
            {
                abQText.color = Colors.DbLight;
            }

            if (game.Player.WAbility is Abilities.None)
            {
                abWText.color = Colors.DbOldStone;
            }
            else
            {
                abWText.color = Colors.DbLight;
            }

            if (game.Player.EAbility is Abilities.None)
            {
                abEText.color = Colors.DbOldStone;
            }
            else
            {
                abEText.color = Colors.DbLight;
            }

            if (game.Player.RAbility is Abilities.None)
            {
                abRText.color = Colors.DbOldStone;
            }
            else
            {
                abRText.color = Colors.DbLight;
            }
        }
        public EquipmentGenerator(int level)
        {
            _equipmentPool = new Pool <Core.Equipment>();

            if (level <= 3)
            {
                _equipmentPool.Add(BodyEquipment.Leather(), 20);
                _equipmentPool.Add(HeadEquipment.Leather(), 20);
                _equipmentPool.Add(FeetEquipment.Leather(), 20);
                _equipmentPool.Add(HandEquipment.Dagger(), 23);    // 83

                _equipmentPool.Add(HeadEquipment.Chain(), 2);
                _equipmentPool.Add(BodyEquipment.Chain(), 2);
                _equipmentPool.Add(FeetEquipment.Chain(), 2);
                _equipmentPool.Add(HandEquipment.Sword(), 7);      // 13

                _equipmentPool.Add(HeadEquipment.Chintin(), 1);
                _equipmentPool.Add(BodyEquipment.Chintin(), 1);
                _equipmentPool.Add(FeetEquipment.Chintin(), 1);
                _equipmentPool.Add(HandEquipment.Axe(), 1);        // 4
            }
            else if (level <= 6)
            {
                _equipmentPool.Add(BodyEquipment.Leather(), 6);
                _equipmentPool.Add(HeadEquipment.Leather(), 6);
                _equipmentPool.Add(FeetEquipment.Leather(), 6);
                _equipmentPool.Add(HandEquipment.Dagger(), 9);     // 27

                _equipmentPool.Add(BodyEquipment.Chain(), 12);
                _equipmentPool.Add(HeadEquipment.Chain(), 12);
                _equipmentPool.Add(FeetEquipment.Chain(), 12);
                _equipmentPool.Add(HandEquipment.Sword(), 12);     // 48

                _equipmentPool.Add(HeadEquipment.Chintin(), 4);
                _equipmentPool.Add(BodyEquipment.Chintin(), 4);
                _equipmentPool.Add(FeetEquipment.Chintin(), 4);
                _equipmentPool.Add(HandEquipment.Axe(), 9);        // 21

                _equipmentPool.Add(HeadEquipment.Scaled(), 1);
                _equipmentPool.Add(BodyEquipment.Scaled(), 1);
                _equipmentPool.Add(FeetEquipment.Scaled(), 1);
                _equipmentPool.Add(HandEquipment.TwoHanded(), 1);  //  4
            }
            else if (level <= 8)
            {
                _equipmentPool.Add(BodyEquipment.Chintin(), 10);
                _equipmentPool.Add(HeadEquipment.Chintin(), 10);
                _equipmentPool.Add(FeetEquipment.Chintin(), 10);
                _equipmentPool.Add(HandEquipment.Axe(), 11);       // 41

                _equipmentPool.Add(HeadEquipment.Scaled(), 12);
                _equipmentPool.Add(BodyEquipment.Scaled(), 12);
                _equipmentPool.Add(FeetEquipment.Scaled(), 12);
                _equipmentPool.Add(HandEquipment.TwoHanded(), 12); // 48

                _equipmentPool.Add(HeadEquipment.Plate(), 5);
                _equipmentPool.Add(BodyEquipment.Plate(), 5);
                _equipmentPool.Add(FeetEquipment.Plate(), 5);
                _equipmentPool.Add(HandEquipment.Dragonbane(), 6); // 21
            }
            else
            {
                _equipmentPool.Add(HeadEquipment.Scaled(), 8);
                _equipmentPool.Add(BodyEquipment.Scaled(), 8);
                _equipmentPool.Add(FeetEquipment.Scaled(), 8);     // 24

                _equipmentPool.Add(HeadEquipment.Plate(), 12);
                _equipmentPool.Add(BodyEquipment.Plate(), 12);
                _equipmentPool.Add(FeetEquipment.Plate(), 12);
                _equipmentPool.Add(HandEquipment.TwoHanded(), 10); // 46

                _equipmentPool.Add(HeadEquipment.Mithril(), 6);
                _equipmentPool.Add(BodyEquipment.Mithril(), 6);
                _equipmentPool.Add(FeetEquipment.Mithril(), 6);
                _equipmentPool.Add(HandEquipment.Dragonbane(), 8); // 26

                _equipmentPool.Add(HeadEquipment.Mithril(), 1);
                _equipmentPool.Add(BodyEquipment.Mithril(), 1);
                _equipmentPool.Add(FeetEquipment.Mithril(), 1);
                _equipmentPool.Add(HandEquipment.DragonLord(), 1);  //  4
            }
        }
        public bool GetInput(RLRootConsole rootConsole, CommandSystem commandSystem)
        {
            Player     player       = Game.Player;
            MessageLog messageLog   = Game.MessageLog;
            RLKeyPress keyPress     = rootConsole.Keyboard.GetKeyPress();
            bool       didPlayerAct = false;

            if (keyPress != null)
            {
                if (keyPress.Key == RLKey.Escape) // hp Fixme. Implement main menu
                {
                    rootConsole.Close();
                }
                else if (player.Status == "Dead")
                {
                    didPlayerAct = true;
                }
                else if (player.Status == "Stuck")
                {
                    messageLog.Add("You spend a turn trying to get out of your predicament", Swatch.DbBlood);
                    didPlayerAct = true;
                }
                else if (keyPress.Key == RLKey.Up || keyPress.Key == RLKey.Keypad8)
                {
                    didPlayerAct = commandSystem.MovePlayer(Direction.Up);
                }
                else if (keyPress.Key == RLKey.Down || keyPress.Key == RLKey.Keypad2)
                {
                    didPlayerAct = commandSystem.MovePlayer(Direction.Down);
                }
                else if (keyPress.Key == RLKey.Left || keyPress.Key == RLKey.Keypad4)
                {
                    didPlayerAct = commandSystem.MovePlayer(Direction.Left);
                }
                else if (keyPress.Key == RLKey.Right || keyPress.Key == RLKey.Keypad6)
                {
                    didPlayerAct = commandSystem.MovePlayer(Direction.Right);
                }
                else if (keyPress.Key == RLKey.Keypad7)
                {
                    didPlayerAct = commandSystem.MovePlayer(Direction.UpLeft);
                }
                else if (keyPress.Key == RLKey.Keypad9)
                {
                    didPlayerAct = commandSystem.MovePlayer(Direction.UpRight);
                }
                else if (keyPress.Key == RLKey.Keypad1)
                {
                    didPlayerAct = commandSystem.MovePlayer(Direction.DownLeft);
                }
                else if (keyPress.Key == RLKey.Keypad3)
                {
                    didPlayerAct = commandSystem.MovePlayer(Direction.DownRight);
                }
                else if (keyPress.Key == RLKey.Keypad5 || keyPress.Key == RLKey.KeypadPeriod ||
                         keyPress.Key == RLKey.Period || keyPress.Key == RLKey.Comma)
                {
                    didPlayerAct = Game.AttemptMoveDownDungeonLevel();

                    if (!didPlayerAct)
                    {
                        didPlayerAct = Game.AttemptMoveUpDungeonLevel();
                    }

                    if (!didPlayerAct)
                    {
                        didPlayerAct = true;
                    }
                }
                else if (keyPress.Key == RLKey.I)
                {
                    Game.IsInventoryScreenShowing = true;
                    Game.TogglePopupUpdate();
                    didPlayerAct = true;
                }
                else if (keyPress.Key == RLKey.Insert) // hp Debug
                {
                    Game.MoveDownDungeonLevel();

                    messageLog.Add("You Cheater! Instantly went to next Dungeon", Swatch.DbBlood);
                    didPlayerAct = true;
                }
                else if (keyPress.Key == RLKey.Home) // Debug
                {
                    player.LevelUp();

                    messageLog.Add("You Cheater! Instant level Up", Swatch.DbBlood);
                    didPlayerAct = true;
                }
                else if (keyPress.Key == RLKey.PageUp) // Debug
                {
                    player.Body = BodyEquipment.DragonLord();
                    player.Feet = FeetEquipment.DragonLord();
                    if (player.Hand == HandEquipment.Vampiric())
                    {
                        player.Hand = HandEquipment.DragonLord();
                    }
                    else
                    {
                        player.Hand = HandEquipment.Vampiric();
                    }
                    player.Head             = HeadEquipment.DragonLord();
                    player.Health           = player.MaxHealth;
                    player.Mana             = player.MaxMana;
                    player.IsPoisonedImmune = player.Body.GrantsPoisonImmunity;
                    messageLog.Add("You Cheater! Best equipment given and health fully restored", Swatch.DbBlood);
                    didPlayerAct = true;
                }
                else if (keyPress.Key == RLKey.Delete) // Debug
                {
                    messageLog.Add("Debug: Poisoned for 4 turns and hunger set to low", Swatch.DbBlood);
                    player.Hunger = 50;
                    if (player.IsPoisonedImmune == false)
                    {
                        player.State = new AbnormalState(6, "Poisoned", "The Poison has stated to take its full effect", -2, -2, -3, 2, 3);
                    }
                    else
                    {
                        messageLog.Add("Thankfully you are completely immune to poison", Swatch.DbBlood);
                    }
                    didPlayerAct = true;
                }
                else if (keyPress.Key == RLKey.End) // Debug
                {
                    player.Gold += 5000;
                    WeaponScroll    WeaponScroll    = new WeaponScroll();
                    ArmorScroll     ArmorScroll     = new ArmorScroll();
                    BookOfWhirlwind BookOfWhirlwind = new BookOfWhirlwind(4);
                    BookOfHealing   BookOfHealing   = new BookOfHealing(4);
                    BookOfSacrifice BookOfSacrifice = new BookOfSacrifice(4);
                    FoodRation      FoodRation      = new FoodRation(3);
                    RevealMapScroll RevealMapScroll = new RevealMapScroll();
                    SerpentWand     SerpentWand     = new SerpentWand(3);
                    PoisonFlask     PoisonFlask     = new PoisonFlask(3);
                    ExplosiveFlask  ExplosiveFlask  = new ExplosiveFlask(3);
                    VampiricWand    VampiricWand    = new VampiricWand(3);
                    player.Inventory.AddInventoryItem(WeaponScroll);
                    player.Inventory.AddInventoryItem(ArmorScroll);
                    player.Inventory.AddInventoryItem(BookOfWhirlwind);
                    player.Inventory.AddInventoryItem(BookOfHealing);
                    player.Inventory.AddInventoryItem(BookOfSacrifice);
                    player.Inventory.AddInventoryItem(FoodRation);
                    player.Inventory.AddInventoryItem(RevealMapScroll);
                    player.Inventory.AddInventoryItem(SerpentWand);
                    player.Inventory.AddInventoryItem(PoisonFlask);
                    player.Inventory.AddInventoryItem(ExplosiveFlask);
                    player.Inventory.AddInventoryItem(VampiricWand);
                    messageLog.Add("You Cheater! A bunch of gold and Rare Inventory items given", Swatch.DbBlood);
                    didPlayerAct = true;
                }
                else if (keyPress.Key == RLKey.PageDown) // Debug
                {
                    player.Hunger = 1200;

                    messageLog.Add("You Cheater! Hunger set to full", Swatch.DbBlood);
                    didPlayerAct = true;
                }
                else
                {
                    didPlayerAct = commandSystem.HandleKey(keyPress.Key);
                }
            }

            return(didPlayerAct);
        }