Ejemplo n.º 1
0
    public Armours[] InitArmours()
    {
        Armours[] armArr = new Armours[4];

        armArr[0] = new Wool();
        armArr[1] = new Leather();
        armArr[2] = new Steel();
        armArr[3] = new Chainmail();

        return(armArr);
    }
Ejemplo n.º 2
0
        public void Steel_Medium_Masterwork()
        {
            // Arrange
            var armor = new Chainmail(SizeCategory.Medium, ChainmailMaterial.Steel)
            {
                IsMasterwork = true
            };

            // Assert
            Assert.IsTrue(armor.IsMasterwork);
            Assert.IsTrue(armor.MasterworkIsToggleable);
            Assert.AreEqual(4, armor.ArmorCheckPenalty());
            Assert.AreEqual(300, armor.GetMarketPrice());
            Assert.AreEqual("Masterwork Chainmail", armor.ToString());
        }
Ejemplo n.º 3
0
        public void Adamantine_Small_Default()
        {
            // Arrange
            var armor = new Chainmail(SizeCategory.Small, ChainmailMaterial.Adamantine);

            // Assert
            Assert.IsTrue(armor.IsMasterwork);
            Assert.IsFalse(armor.MasterworkIsToggleable);
            Assert.AreEqual(6, armor.GetArmorBonus());
            Assert.AreEqual(4, armor.ArmorCheckPenalty());
            Assert.AreEqual(2, armor.MaximumDexterityBonus());
            Assert.AreEqual(10_150, armor.GetMarketPrice());
            Assert.AreEqual(20, armor.GetWeight());
            Assert.AreEqual(0.25, armor.SpeedPenalty);
            Assert.AreEqual("Adamantine Chainmail", armor.ToString());
        }
Ejemplo n.º 4
0
        public void Steel_Large()
        {
            // Arrange
            var armor = new Chainmail(SizeCategory.Large, ChainmailMaterial.Steel);

            // Assert
            Assert.IsFalse(armor.IsMasterwork);
            Assert.IsTrue(armor.MasterworkIsToggleable);
            Assert.AreEqual(6, armor.GetArmorBonus());
            Assert.AreEqual(5, armor.ArmorCheckPenalty());
            Assert.AreEqual(2, armor.MaximumDexterityBonus());
            Assert.AreEqual(300, armor.GetMarketPrice());
            Assert.AreEqual(80, armor.GetWeight());
            Assert.AreEqual(.25, armor.SpeedPenalty);
            Assert.AreEqual("Chainmail", armor.ToString());
        }
Ejemplo n.º 5
0
        public void Mithral_Medium()
        {
            // Arrange
            var armor = new Chainmail(SizeCategory.Medium, ChainmailMaterial.Mithral);

            // Assert
            Assert.IsTrue(armor.IsMasterwork);
            Assert.IsFalse(armor.MasterworkIsToggleable);
            Assert.AreEqual(6, armor.GetArmorBonus());
            Assert.AreEqual(2, armor.ArmorCheckPenalty());
            Assert.AreEqual(4, armor.MaximumDexterityBonus());
            Assert.AreEqual(4150, armor.GetMarketPrice());
            Assert.AreEqual(20, armor.GetWeight());
            Assert.AreEqual(0, armor.SpeedPenalty);
            Assert.AreEqual("Mithral Chainmail", armor.ToString());
        }
Ejemplo n.º 6
0
        public void Adamantine_ApplyTo_DamageReduction()
        {
            // Arrange
            var damageReductionTracker = Mock.Of <IDamageReductionTracker>();
            var mockCharacter          = new Mock <ICharacter>();

            mockCharacter.Setup(c => c.DamageReduction)
            .Returns(damageReductionTracker);
            var armor = new Chainmail(SizeCategory.Medium, ChainmailMaterial.Adamantine);

            // Act
            armor.ApplyTo(mockCharacter.Object);

            // Assert
            Mock.Get(damageReductionTracker)
            .Verify(drt => drt.Add(It.Is <Func <byte> >(calc => 2 == calc()),
                                   It.Is <String>(bpb => "—" == bpb)),
                    "Equipping an adamantine chainmail should bestow DR 2/— on the character wearing it.");
        }
Ejemplo n.º 7
0
        static void PlayerChooseLoadout()
        {
            Render  code  = new Render();
            Program code1 = new Program();

            code.RenderPlayerChoosing(1);
            string info2 = Console.ReadLine();
            int    playerInput;

            try
            {
                playerInput = Int32.Parse(info2);
            }
            catch
            {
                Console.WriteLine("Creation Error... Shutting...Down....");
                PlayerChooseLoadout();
                return;
            }
            switch (playerInput)
            {
            case 1:
                player1.classType = "Warrior";
                Console.WriteLine("Warrior it is...");
                break;

            case 2:
                player1.classType = "Mage";
                Console.WriteLine("Mage it is...");
                break;

            case 3:
                player1.classType = "Rogue";
                Console.WriteLine("Rogue it is...");
                break;

            default:
                Console.WriteLine("Creation Error... Shutting...Down....");
                PlayerChooseLoadout();
                return;
            }

            code.RenderPlayerChoosing(2);
            string info = Console.ReadLine();

            try
            {
                playerInput = Int32.Parse(info);
            }
            catch
            {
                Console.WriteLine("Creation Error... Shutting...Down....");
                PlayerChooseLoadout();
                return;
            }

            int         weaponLevel = GetRandom(1, 5);
            ItemFactory code3       = new ItemFactory();

            switch (playerInput)
            {
            case 1:
                Broadsword PlayerWeapon = new Broadsword("", weaponLevel);
                player1.EntityWeapon = PlayerWeapon;
                Console.WriteLine("Broadsword it is...");
                break;

            case 2:
                Mace PlayerWeapon2 = new Mace("", weaponLevel);
                player1.EntityWeapon = PlayerWeapon2;
                Console.WriteLine("Mace it is...");
                break;

            case 3:
                Daggers PlayerWeapon3 = new Daggers("", weaponLevel);
                player1.EntityWeapon = PlayerWeapon3;
                Console.WriteLine("Twin Daggers it is...");
                break;

            case 4:
                Axe PlayerWeapon4 = new Axe("", weaponLevel);
                player1.EntityWeapon = PlayerWeapon4;
                Console.WriteLine("War Axe it is...");
                break;

            case 5:
                Weapon PlayerWeapon5 = code3.CreateRandomWeapon(weaponLevel);
                player1.EntityWeapon = PlayerWeapon5;
                Console.WriteLine(player1.EntityWeapon.name + " it is...");
                break;

            default:
                Console.WriteLine("Creation Error... Shutting...Down....");
                PlayerChooseLoadout();
                return;
            }

            code.RenderPlayerChoosing(3);
            string info1 = Console.ReadLine();

            try
            {
                playerInput = Int32.Parse(info1);
            }
            catch
            {
                Console.WriteLine("Creation Error... Restarting...");
                PlayerChooseLoadout();
                return;
            }
            int armorLevel = GetRandom(1, 5);

            switch (playerInput)
            {
            case 1:
                Chainmail PlayerArmor = new Chainmail("", armorLevel);
                player1.EntityArmor = PlayerArmor;
                Console.WriteLine("Chainmail it is...");
                break;

            case 2:
                Leather PlayerArmor2 = new Leather("", armorLevel);
                player1.EntityArmor = PlayerArmor2;
                Console.WriteLine("Thick Leather it is...");
                break;

            case 3:
                Cloth PlayerArmor3 = new Cloth("", armorLevel);
                player1.EntityArmor = PlayerArmor3;
                Console.WriteLine("Sleek Silken Thinking Cloth... is that even armor?");
                break;

            case 4:
                Plate PlayerArmor4 = new Plate("", armorLevel);
                player1.EntityArmor = PlayerArmor4;
                Console.WriteLine("Plate it is...");
                break;

            case 5:
                Armor PlayerArmor5 = code3.CreateRandomArmor(armorLevel);
                player1.EntityArmor = PlayerArmor5;
                Console.WriteLine(player1.EntityArmor.name + " it is...");
                break;

            default:
                Console.WriteLine("Creation Error... Restarting...");
                PlayerChooseLoadout();
                return;
            }
            code.RenderPlayerChoosing(4);
            string info3 = Console.ReadLine();

            try
            {
                playerInput = Int32.Parse(info3);
            }
            catch
            {
                Console.WriteLine("Creation Error... Restarting...");
                PlayerChooseLoadout();
                return;
            }
            int potionLevel = GetRandom(1, 5);

            switch (playerInput)
            {
            case 1:
                Health_Potion playerPotion = new Health_Potion("Health_Potion", potionLevel);
                player1.entityPotions.Add(playerPotion);
                Console.WriteLine("Health Potion it is...");
                break;

            case 2:
                Fire_Potion playerPotion1 = new Fire_Potion("Fire_Potion", potionLevel);
                player1.entityPotions.Add(playerPotion1);
                Console.WriteLine("Fire Potion it is...");
                break;

            default:
                Console.WriteLine("Creation Error... Restarting...");
                PlayerChooseLoadout();
                return;
            }
            while (player1.entityPotions.Count < 4)
            {
                Potion empty = new Potion("Empty_Potion", player1.entityPotions.Count + 1);
                player1.entityPotions.Add(empty);
            }
            ColorWriter(ConsoleColor.Gray, "ready yourself, Gladiator...\n");
            Thread.Sleep(1000);
            int howManyMonsters = GetRandom(1, 5);

            MonsterIntro(player1, howManyMonsters);
        }
Ejemplo n.º 8
0
 public override void Load <T>(T model, Root root)
 {
     mModel = model as Chainmail;
 }