Example #1
0
        public void AccessibleFromOffenseStats()
        {
            var table = new DataTable("monk abilities");

            table.SetColumns(new string[] { "flurry-of-blows" });
            table.AddRow("1", new string[] { "-1/-1" });
            var flurry = new FlurryOfBlows(table);

            monk.Add(flurry);
            Assert.Contains(flurry, monk.Offense.Attacks());
        }
Example #2
0
        public void FlurryOfBlowsModifiesAttackAndDamageByStrength()
        {
            var table = new DataTable("monk abilities");

            table.SetColumns(new string[] { "flurry-of-blows" });
            table.AddRow("1", new string[] { "-1/-1" });
            var flurry = new FlurryOfBlows(table);

            monk.Add(flurry);
            monk.AbilityScores.SetScore(AbilityScoreTypes.Strength, 16);
            Assert.Contains("+2/+2", flurry.DisplayString());
        }
Example #3
0
        public void FlurryOfBlowsUsesTheMonkAbilitiesTableToDetermineBaseAttackBonus()
        {
            var table = new DataTable("monk abilities");

            table.SetColumns(new string[] { "flurry-of-blows" });
            table.AddRow("1", new string[] { "-1/-1" });
            table.AddRow("3", new string[] { "1/1/-1" });
            var flurry = new FlurryOfBlows(table);

            monk.Add(flurry);
            Assert.Equal(2, flurry.NumberOfAttacks);
            Assert.Contains("-1/-1", flurry.DisplayString());
            monk.SetLevel(3);
            Assert.Equal(3, flurry.NumberOfAttacks);
            Assert.Contains("+1/+1/-1", flurry.DisplayString());
        }