Beispiel #1
0
        public void Steel_Medium_Masterwork()
        {
            // Arrange
            var armor = new BandedMail(SizeCategory.Medium, BandedMailMaterial.Steel)
            {
                IsMasterwork = true
            };

            // Assert
            Assert.IsTrue(armor.IsMasterwork);
            Assert.IsTrue(armor.MasterworkIsToggleable);
            Assert.AreEqual(5, armor.ArmorCheckPenalty());
            Assert.AreEqual(400, armor.GetMarketPrice());
            Assert.AreEqual("Masterwork Banded Mail", armor.ToString());
        }
Beispiel #2
0
        public void Adamantine_Small_Default()
        {
            // Arrange
            var armor = new BandedMail(SizeCategory.Small, BandedMailMaterial.Adamantine);

            // Assert
            Assert.IsTrue(armor.IsMasterwork);
            Assert.IsFalse(armor.MasterworkIsToggleable);
            Assert.AreEqual(7, armor.GetArmorBonus());
            Assert.AreEqual(5, armor.ArmorCheckPenalty());
            Assert.AreEqual(1, armor.MaximumDexterityBonus());
            Assert.AreEqual(15_250, armor.GetMarketPrice());
            Assert.AreEqual(17.5, armor.GetWeight());
            Assert.AreEqual(0.25, armor.SpeedPenalty);
            Assert.AreEqual("Adamantine Banded Mail", armor.ToString());
        }
Beispiel #3
0
        public void Steel_Large()
        {
            // Arrange
            var armor = new BandedMail(SizeCategory.Large, BandedMailMaterial.Steel);

            // Assert
            Assert.IsFalse(armor.IsMasterwork);
            Assert.IsTrue(armor.MasterworkIsToggleable);
            Assert.AreEqual(7, armor.GetArmorBonus());
            Assert.AreEqual(6, armor.ArmorCheckPenalty());
            Assert.AreEqual(1, armor.MaximumDexterityBonus());
            Assert.AreEqual(500, armor.GetMarketPrice());
            Assert.AreEqual(70, armor.GetWeight());
            Assert.AreEqual(.25, armor.SpeedPenalty);
            Assert.AreEqual("Banded Mail", armor.ToString());
        }
Beispiel #4
0
        public void Dragonhide_Large()
        {
            // Arrange
            var armor = new BandedMail(SizeCategory.Large, DragonhideColor.Red);

            // Assert
            Assert.IsTrue(armor.IsMasterwork);
            Assert.IsFalse(armor.MasterworkIsToggleable);
            Assert.AreEqual(5, armor.ArmorCheckPenalty());
            Assert.AreEqual(1, armor.MaximumDexterityBonus());
            Assert.AreEqual(.25, armor.SpeedPenalty);
            Assert.AreEqual(70, armor.GetWeight());
            Assert.AreEqual(1300, armor.MundaneMarketPrice());
            Assert.AreEqual(Dragonhide.Hardness, armor.Hardness.MaterialHardness);
            Assert.AreEqual("Red Dragonhide Banded Mail", armor.ToString());
        }
Beispiel #5
0
        public void Mithral_Medium()
        {
            // Arrange
            var armor = new BandedMail(SizeCategory.Medium, BandedMailMaterial.Mithral);

            // Assert
            Assert.IsTrue(armor.IsMasterwork);
            Assert.IsFalse(armor.MasterworkIsToggleable);
            Assert.AreEqual(7, armor.GetArmorBonus());
            Assert.AreEqual(3, armor.ArmorCheckPenalty());
            Assert.AreEqual(3, armor.MaximumDexterityBonus());
            Assert.AreEqual(9_250, armor.GetMarketPrice());
            Assert.AreEqual(17.5, armor.GetWeight());
            Assert.AreEqual(0.25, armor.SpeedPenalty);
            Assert.AreEqual("Mithral Banded Mail", armor.ToString());
        }
Beispiel #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 BandedMail(SizeCategory.Medium, BandedMailMaterial.Adamantine);

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

            // Assert
            Mock.Get(damageReductionTracker)
            .Verify(drt => drt.Add(It.Is <Func <byte> >(calc => 3 == calc()),
                                   It.Is <String>(bpb => "—" == bpb)),
                    "Equipping an adamantine banded mail should bestow DR 3/— on the character wearing it.");
        }
Beispiel #7
0
        public Item GetItem(int id)
        {
            Item nextItem;

            switch (id)
            {
            case 100:
                nextItem = new Mace();
                return(nextItem);

            case 101:
                nextItem = new Dagger();
                return(nextItem);

            case 102:
                nextItem = new Spear();
                return(nextItem);

            case 103:
                nextItem = new Longsword();
                return(nextItem);

            case 150:
                nextItem = new LeatherA();
                return(nextItem);

            case 151:
                nextItem = new ChainMail();
                return(nextItem);

            case 152:
                nextItem = new ScaleMail();
                return(nextItem);

            case 153:
                nextItem = new BandedMail();
                return(nextItem);

            case 154:
                nextItem = new PlateMail();
                return(nextItem);

            case 200:
                nextItem = new Health_Potion();
                return(nextItem);

            case 201:
                nextItem = new STR_Potion();
                return(nextItem);

            case 202:
                nextItem = new DEF_Potion();
                return(nextItem);

            case 250:
                nextItem = new Food();
                return(nextItem);

            case 251:
                nextItem = new Scroll_Ident();
                return(nextItem);

            case 252:
                nextItem = new Diamond();
                return(nextItem);

            default:
                nextItem = new Mace();
                return(nextItem);
            }
        }