public void Steel_Medium_Masterwork() { // Arrange var armor = new ScaleMail(SizeCategory.Medium, ScaleMailMaterial.Steel) { IsMasterwork = true }; // Assert Assert.IsTrue(armor.IsMasterwork); Assert.IsTrue(armor.MasterworkIsToggleable); Assert.AreEqual(3, armor.ArmorCheckPenalty()); Assert.AreEqual(200, armor.GetMarketPrice()); Assert.AreEqual("Masterwork Scale Mail", armor.ToString()); }
public void Adamantine_Small_Default() { // Arrange var armor = new ScaleMail(SizeCategory.Small, ScaleMailMaterial.Adamantine); // Assert Assert.IsTrue(armor.IsMasterwork); Assert.IsFalse(armor.MasterworkIsToggleable); Assert.AreEqual(5, armor.GetArmorBonus()); Assert.AreEqual(3, armor.ArmorCheckPenalty()); Assert.AreEqual(3, armor.MaximumDexterityBonus()); Assert.AreEqual(10_050, armor.GetMarketPrice()); Assert.AreEqual(15, armor.GetWeight()); Assert.AreEqual(0.25, armor.SpeedPenalty); Assert.AreEqual("Adamantine Scale Mail", armor.ToString()); }
public void Steel_Large() { // Arrange var armor = new ScaleMail(SizeCategory.Large, ScaleMailMaterial.Steel); // Assert Assert.IsFalse(armor.IsMasterwork); Assert.IsTrue(armor.MasterworkIsToggleable); Assert.AreEqual(5, armor.GetArmorBonus()); Assert.AreEqual(4, armor.ArmorCheckPenalty()); Assert.AreEqual(3, armor.MaximumDexterityBonus()); Assert.AreEqual(100, armor.GetMarketPrice()); Assert.AreEqual(60, armor.GetWeight()); Assert.AreEqual(.25, armor.SpeedPenalty); Assert.AreEqual("Scale Mail", armor.ToString()); }
public void Mithral_Medium() { // Arrange var armor = new ScaleMail(SizeCategory.Medium, ScaleMailMaterial.Mithral); // Assert Assert.IsTrue(armor.IsMasterwork); Assert.IsFalse(armor.MasterworkIsToggleable); Assert.AreEqual(5, armor.GetArmorBonus()); Assert.AreEqual(1, armor.ArmorCheckPenalty()); Assert.AreEqual(5, armor.MaximumDexterityBonus()); Assert.AreEqual(4050, armor.GetMarketPrice()); Assert.AreEqual(15, armor.GetWeight()); Assert.AreEqual(0, armor.SpeedPenalty); Assert.AreEqual("Mithral Scale Mail", armor.ToString()); }
public void CreateDefaultCharacter(string name) { Greatsword greatSword = new Greatsword(); ScaleMail scaleMail = new ScaleMail(); Level = 1; Name = name; _class = new Fighter(); Weapon = greatSword; Armor = scaleMail; Strength = 16; Dexterity = 14; Constitution = 12; Intelligence = 8; Wisdom = 10; Charisma = 11; MaxHeathPoints = (byte)(_class.hitDie + ConstitutionModifier); CurrentHealthPoints = MaxHeathPoints; }
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 ScaleMail(SizeCategory.Medium, ScaleMailMaterial.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 scale mail should bestow DR 2/— 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); } }
public static void Armor() { int _slot = random.Next(0, 8); string[] gearSlot = new string[8]; gearSlot[0] = "Head"; //helmet gearSlot[1] = "Shoulders"; gearSlot[2] = "Chest"; gearSlot[3] = "Waist"; // belt gearSlot[4] = "Arms"; // bracer gearSlot[5] = "Hands"; // gloves gearSlot[6] = "Legs"; // pants gearSlot[7] = "Feet"; // boots string prefixName; int prefixValue; string prefixStat; (prefixName, prefixStat, prefixValue) = Prefix.Generate("Armor"); string suffixName; string suffixStat; int suffixValue; (suffixName, suffixStat, suffixValue) = Suffix.Generate("Armor"); int _armorType = random.Next(1, 11); switch (_armorType) { case 1: Rags rags = new Rags(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); rags.ArmorAddToInventory(); break; case 2: Quilted cloak = new Quilted(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); cloak.ArmorAddToInventory(); break; case 3: Leather leather = new Leather(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); leather.ArmorAddToInventory(); break; case 4: HardLeather hardLeather = new HardLeather(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); hardLeather.ArmorAddToInventory(); break; case 5: StuddedLeather studdedLeather = new StuddedLeather(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); studdedLeather.ArmorAddToInventory(); break; case 6: RingMail ringMail = new RingMail(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); ringMail.ArmorAddToInventory(); break; case 7: ChainMail chainMail = new ChainMail(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); chainMail.ArmorAddToInventory(); break; case 8: ScaleMail scaleMail = new ScaleMail(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); scaleMail.ArmorAddToInventory(); break; case 9: FieldPlate fieldPlate = new FieldPlate(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); fieldPlate.ArmorAddToInventory(); break; case 10: GothicPlate gothicPlate = new GothicPlate(gearSlot[_slot], prefixName, prefixStat, prefixValue, suffixName, suffixStat, suffixValue); gothicPlate.ArmorAddToInventory(); break; } }