public void TestPlusEnhancementWeapon() { // A weapon must be masterwork before it can be magical. // A magic weapon: // Has a plus enhancement from 1 to 5 // Adds the plus enhancement to attack and damage // Has a cost that is: Square the plus enhancement and then multiply by 2 // Adjusts the hardness and hit points based on plus modifier // Must be a plus 1 before any special qualities can be added // ... more here to add // PhbWeapon => ForgedWeapon => PlusWeapon => EnchantedWeapon var weaopn = new PhbWeapon("Dagger"); weaopn.NameWeapon("My Magic Friend!"); var silver = new AlchemicalSilver(); var forgedWeapon = new ForgedWeapon(weaopn, silver); var plusWeapon = new PlusEnhancedWeapon(forgedWeapon, 1); plusWeapon.EnableLightGeneration(); Approvals.Verify(plusWeapon.ToString()); }
public void TestKeenAnarchicFlamingBurstDagger() { var plusWeapon = new PlusEnhancedWeapon(new ForgedWeapon(new PhbWeapon("Dagger"), new Masterwork()), 4); plusWeapon.NameWeapon("Boring dagger"); var flamingBurst = new WeaponEnchantment("Flaming Burst"); var keen = new WeaponEnchantment("Keen"); var anarchic = new WeaponEnchantment("Anarchic"); var distance = new WeaponEnchantment("Distance"); plusWeapon.EnableLightGeneration(); List <IWeaponEnchantment> enchantments = new List <IWeaponEnchantment>() { anarchic, distance, flamingBurst, keen, }; var flamingBurstDagger = new EnchantedMagicWeapon(plusWeapon, enchantments); flamingBurstDagger.NameWeapon("Totally Awesome Slashy Pokey Death from Far Far Away!"); var sb = new StringBuilder(string.Format("Min. Caster Lvl: {0}", flamingBurstDagger.MinimumCasterLevel)); Approvals.Verify(flamingBurstDagger.ToString()); }
public void TestKeenAnarchicFlamingBurstDagger() { var plusWeapon = new PlusEnhancedWeapon(new ForgedWeapon(new PhbWeapon("Dagger"), new Masterwork()), 4); plusWeapon.NameWeapon("Boring dagger"); var flamingBurst = new WeaponEnchantment("Flaming Burst"); var keen = new WeaponEnchantment("Keen"); var anarchic = new WeaponEnchantment("Anarchic"); var distance = new WeaponEnchantment("Distance"); plusWeapon.EnableLightGeneration(); List<IWeaponEnchantment> enchantments = new List<IWeaponEnchantment>() { anarchic, distance, flamingBurst, keen, }; var flamingBurstDagger = new EnchantedMagicWeapon(plusWeapon, enchantments); flamingBurstDagger.NameWeapon("Totally Awesome Slashy Pokey Death from Far Far Away!"); var sb = new StringBuilder(string.Format("Min. Caster Lvl: {0}", flamingBurstDagger.MinimumCasterLevel)); Approvals.Verify(flamingBurstDagger.ToString()); }