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()); }
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()); }
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()); }
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()); }
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()); }
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."); }
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); } }