Beispiel #1
0
        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());
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
 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());
 }
Beispiel #4
0
 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());
 }