コード例 #1
0
        public void ShouldProperlyRecognizeProficiencyWithMasterworkWeapons()
        {
            var prof = new WeaponProficiency("Shortbow");
            var wpn  = new Weapon();

            wpn.Name = "Shortbow";
            var mwkWpn = new MasterworkWeapon(wpn);

            Assert.True(prof.IsProficient(mwkWpn));
        }
コード例 #2
0
        public void MasterworkDoubleWeaponsCostSixHundredMore()
        {
            var doubleAxe = new Weapon("Double Axe", 10, "1d8", DamageTypes.Slashing,
                                       20, 2, 0, WeaponType.TwoHanded, WeaponGroup.Double,
                                       WeaponTrainingLevel.Martial);
            var mwkDoubleAxe = new MasterworkWeapon(doubleAxe);

            Assert.Equal(mwkDoubleAxe.AttackModifier, 1);
            Assert.Equal(mwkDoubleAxe.Value, 60000); //Value is copper based
        }
コード例 #3
0
        public void MasterworkWeaponsProvideAnAttackBonusOfOne()
        {
            var longsword = new Weapon("Longsword", 10, "1d8", DamageTypes.Slashing,
                                       20, 2, 0, WeaponType.OneHanded, WeaponGroup.HeavyBlades,
                                       WeaponTrainingLevel.Martial);
            var mwkLongsword = new MasterworkWeapon(longsword);

            Assert.Equal(mwkLongsword.Name, "Masterwork Longsword");
            Assert.Equal(mwkLongsword.AttackModifier, 1);
            Assert.Equal(mwkLongsword.Value, 30000); // Value is copper Based
        }
コード例 #4
0
        public void MasterworkWeaponsProvideImprovedAttackBonus()
        {
            var mwkLongsword = new MasterworkWeapon(Longsword());

            inventory.AddGear(mwkLongsword);
            smallStats.AddWeaponProficiency("martial");

            var atk = smallStats.GetAttack(mwkLongsword);

            // Small Size (1) + Str16 (3) + Mwk (1)
            Assert.Equal(atk.AttackBonus.TotalValue, 5);
        }
コード例 #5
0
        public void WorksWithMasterworkVersionsOfWeapons()
        {
            var character = CharacterTestTemplates.AverageBob();
            var offStats  = character.Get <OffenseStats>();
            var master    = new WeaponMastery();

            character.Add(master);
            var weapon           = master.Weapon;
            var masterworkWeapon = new MasterworkWeapon(weapon);

            Assert.Contains(master.WeaponCriticalDamageBonus, offStats.WeaponModifiers);
            Assert.True(master.WeaponCriticalDamageBonus.WeaponQualifies(masterworkWeapon));
        }