Exemplo n.º 1
0
        public void IfNotProficientIssueAMinusFourPenalty()
        {
            var bad   = CharacterTestTemplates.StrongBad();
            var melee = new MeleeAttack(
                bad.Offense,
                bad.AbilityScores.GetAbility(AbilityScoreTypes.Strength),
                CharacterSize.Medium,
                sword
                );

            Assert.Equal(-1, melee.AttackBonus.TotalValue);
        }
Exemplo n.º 2
0
        public void CustomAttackBonusModifiersAdjustAttackBonusForWeapon()
        {
            var bad = CharacterTestTemplates.StrongBad();

            bad.Offense.AddWeaponProficiency(sword.ProficiencyName);
            bad.Offense.AddWeaponModifier(new WeaponAttackModifier(1, (IWeaponAttackStatistics wpn) => { return(wpn == sword); }));
            var melee = new MeleeAttack(
                bad.Offense,
                bad.AbilityScores.GetAbility(AbilityScoreTypes.Strength),
                CharacterSize.Medium,
                sword
                );

            Assert.Equal(4, melee.AttackBonus.TotalValue);
        }
Exemplo n.º 3
0
        public void MagicWeaponsAdjustDamageAndAttackBonusInPredictableWays()
        {
            var bad = CharacterTestTemplates.StrongBad();

            bad.Offense.AddWeaponProficiency(magicHammer.ProficiencyName);
            var melee = new MeleeAttack(
                bad.Offense,
                bad.AbilityScores.GetAbility(AbilityScoreTypes.Strength),
                CharacterSize.Medium,
                magicHammer
                );

            Assert.Equal("1d8+4", melee.Damage.ToString());
            Assert.Equal(4, melee.AttackBonus.TotalValue);
        }