예제 #1
0
 public Actor()
 {
     Head = HeadEquipment.None();
     Body = BodyEquipment.None();
     Hand = HandEquipment.None();
     Feet = FeetEquipment.None();
 }
예제 #2
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;
            }
        }
    }
예제 #3
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");
            }
        }
예제 #4
0
 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);
 }
예제 #5
0
        public Actor(Game game)
        {
            this.game = game;

            Head = HeadEquipment.None(game);
            Body = BodyEquipment.None(game);
            Hand = HandEquipment.None(game);
            Feet = FeetEquipment.None(game);
        }
예제 #6
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;
        }
예제 #7
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");
                }
            }
        }
예제 #8
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);
        }
예제 #9
0
파일: Player.cs 프로젝트: evangipson/lors
 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);
 }
예제 #10
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;
            }
        }