Esempio n. 1
0
        public HalfFiendApplicator(
            ICollectionSelector collectionSelector,
            ITypeAndAmountSelector typeAndAmountSelector,
            ISpeedsGenerator speedsGenerator,
            IAttacksGenerator attacksGenerator,
            IFeatsGenerator featsGenerator,
            ISkillsGenerator skillsGenerator,
            Dice dice,
            IMagicGenerator magicGenerator)
        {
            this.collectionSelector    = collectionSelector;
            this.typeAndAmountSelector = typeAndAmountSelector;
            this.speedsGenerator       = speedsGenerator;
            this.attacksGenerator      = attacksGenerator;
            this.featsGenerator        = featsGenerator;
            this.skillsGenerator       = skillsGenerator;
            this.dice           = dice;
            this.magicGenerator = magicGenerator;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Aberration,
                CreatureConstants.Types.Animal,
                CreatureConstants.Types.Dragon,
                CreatureConstants.Types.Elemental,
                CreatureConstants.Types.Fey,
                CreatureConstants.Types.Giant,
                CreatureConstants.Types.Humanoid,
                CreatureConstants.Types.MagicalBeast,
                CreatureConstants.Types.MonstrousHumanoid,
                CreatureConstants.Types.Ooze,
                CreatureConstants.Types.Plant,
                CreatureConstants.Types.Vermin,
            };
        }
Esempio n. 2
0
        public GhostApplicator(
            Dice dice,
            ISpeedsGenerator speedsGenerator,
            IAttacksGenerator attacksGenerator,
            ICollectionSelector collectionSelector,
            IFeatsGenerator featsGenerator,
            IItemsGenerator itemsGenerator,
            ITypeAndAmountSelector typeAndAmountSelector)
        {
            this.dice                  = dice;
            this.speedsGenerator       = speedsGenerator;
            this.attacksGenerator      = attacksGenerator;
            this.collectionSelector    = collectionSelector;
            this.featsGenerator        = featsGenerator;
            this.itemsGenerator        = itemsGenerator;
            this.typeAndAmountSelector = typeAndAmountSelector;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Aberration,
                CreatureConstants.Types.Animal,
                CreatureConstants.Types.Dragon,
                CreatureConstants.Types.Giant,
                CreatureConstants.Types.Humanoid,
                CreatureConstants.Types.MagicalBeast,
                CreatureConstants.Types.MonstrousHumanoid,
                CreatureConstants.Types.Plant,
            };
        }
Esempio n. 3
0
        public ZombieApplicator(
            ICollectionSelector collectionSelector,
            IAdjustmentsSelector adjustmentSelector,
            Dice dice,
            IAttacksGenerator attacksGenerator,
            IFeatsGenerator featsGenerator,
            ISavesGenerator savesGenerator,
            IHitPointsGenerator hitPointsGenerator)
        {
            this.collectionSelector = collectionSelector;
            this.adjustmentSelector = adjustmentSelector;
            this.dice               = dice;
            this.attacksGenerator   = attacksGenerator;
            this.featsGenerator     = featsGenerator;
            this.savesGenerator     = savesGenerator;
            this.hitPointsGenerator = hitPointsGenerator;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Aberration,
                CreatureConstants.Types.Animal,
                CreatureConstants.Types.Dragon,
                CreatureConstants.Types.Elemental,
                CreatureConstants.Types.Fey,
                CreatureConstants.Types.Giant,
                CreatureConstants.Types.Humanoid,
                CreatureConstants.Types.MagicalBeast,
                CreatureConstants.Types.MonstrousHumanoid,
                CreatureConstants.Types.Vermin,
            };
        }
Esempio n. 4
0
        public void Setup()
        {
            mockCollectionsSelector = new Mock <ICollectionSelector>();
            mockFeatsSelector       = new Mock <IFeatsSelector>();
            mockFeatFocusGenerator  = new Mock <IFeatFocusGenerator>();
            mockDice       = new Mock <Dice>();
            featsGenerator = new FeatsGenerator(mockCollectionsSelector.Object, mockFeatsSelector.Object, mockFeatFocusGenerator.Object, mockDice.Object);

            abilities                = new Dictionary <string, Ability>();
            skills                   = new List <Skill>();
            featSelections           = new List <FeatSelection>();
            specialQualitySelections = new List <SpecialQualitySelection>();
            hitPoints                = new HitPoints();
            attacks                  = new List <Attack>();
            specialQualities         = new List <Feat>();
            speeds                   = new Dictionary <string, Measurement>();
            creatureType             = new CreatureType();
            alignment                = new Alignment("creature alignment");

            hitPoints.HitDice.Add(new HitDice {
                Quantity = 1
            });
            creatureType.Name = "creature type";

            abilities[AbilityConstants.Intelligence] = new Ability(AbilityConstants.Intelligence);

            mockFeatsSelector.Setup(s => s.SelectFeats()).Returns(featSelections);
            mockFeatsSelector.Setup(s => s.SelectSpecialQualities("creature", creatureType)).Returns(specialQualitySelections);
            mockCollectionsSelector.Setup(s => s.SelectRandomFrom(It.IsAny <IEnumerable <FeatSelection> >())).Returns((IEnumerable <FeatSelection> fs) => fs.First());
        }
Esempio n. 5
0
        public LycanthropeApplicator(
            ICollectionSelector collectionSelector,
            ICreatureDataSelector creatureDataSelector,
            IHitPointsGenerator hitPointsGenerator,
            Dice dice,
            ITypeAndAmountSelector typeAndAmountSelector,
            IFeatsGenerator featsGenerator,
            IAttacksGenerator attacksGenerator,
            ISavesGenerator savesGenerator,
            ISkillsGenerator skillsGenerator,
            ISpeedsGenerator speedsGenerator)
        {
            this.collectionSelector   = collectionSelector;
            this.creatureDataSelector = creatureDataSelector;
            this.hitPointsGenerator   = hitPointsGenerator;
            this.dice = dice;
            this.typeAndAmountSelector = typeAndAmountSelector;
            this.featsGenerator        = featsGenerator;
            this.attacksGenerator      = attacksGenerator;
            this.savesGenerator        = savesGenerator;
            this.skillsGenerator       = skillsGenerator;
            this.speedsGenerator       = speedsGenerator;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Giant,
                CreatureConstants.Types.Humanoid,
            };
        }
Esempio n. 6
0
 public AbilitiesGenerator(IStatsGenerator statsGenerator, ILanguageGenerator languageGenerator, ISkillsGenerator skillsGenerator,
     IFeatsGenerator featsGenerator, ICollectionsSelector collectionsSelector)
 {
     this.statsGenerator = statsGenerator;
     this.languageGenerator = languageGenerator;
     this.skillsGenerator = skillsGenerator;
     this.featsGenerator = featsGenerator;
     this.collectionsSelector = collectionsSelector;
 }
 public HalfDragonRedApplicator(
     ICollectionSelector collectionSelector,
     ISpeedsGenerator speedsGenerator,
     IAttacksGenerator attacksGenerator,
     IFeatsGenerator featsGenerator,
     ISkillsGenerator skillsGenerator,
     IAlignmentGenerator alignmentGenerator,
     Dice dice,
     IMagicGenerator magicGenerator)
     : base(collectionSelector, speedsGenerator, attacksGenerator, featsGenerator, skillsGenerator, alignmentGenerator, dice, magicGenerator)
 {
 }
Esempio n. 8
0
 public LichApplicator(
     ICollectionSelector collectionSelector,
     ICreatureDataSelector creatureDataSelector,
     Dice dice,
     IAttacksGenerator attacksGenerator,
     IFeatsGenerator featsGenerator,
     ITypeAndAmountSelector typeAndAmountSelector)
 {
     this.collectionSelector   = collectionSelector;
     this.creatureDataSelector = creatureDataSelector;
     this.dice                  = dice;
     this.attacksGenerator      = attacksGenerator;
     this.featsGenerator        = featsGenerator;
     this.typeAndAmountSelector = typeAndAmountSelector;
 }
Esempio n. 9
0
        public VampireApplicator(
            Dice dice,
            IAttacksGenerator attacksGenerator,
            IFeatsGenerator featsGenerator,
            ICollectionSelector collectionSelector,
            ICreatureDataSelector creatureDataSelector,
            IAdjustmentsSelector adjustmentSelector)
        {
            this.dice                 = dice;
            this.attacksGenerator     = attacksGenerator;
            this.featsGenerator       = featsGenerator;
            this.collectionSelector   = collectionSelector;
            this.creatureDataSelector = creatureDataSelector;
            this.adjustmentSelector   = adjustmentSelector;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Humanoid,
                CreatureConstants.Types.MonstrousHumanoid,
            };
        }
Esempio n. 10
0
        public CelestialCreatureApplicator(IAttacksGenerator attackGenerator, IFeatsGenerator featGenerator, ICollectionSelector collectionSelector, IMagicGenerator magicGenerator)
        {
            this.attackGenerator    = attackGenerator;
            this.featGenerator      = featGenerator;
            this.collectionSelector = collectionSelector;
            this.magicGenerator     = magicGenerator;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Aberration,
                CreatureConstants.Types.Animal,
                CreatureConstants.Types.Dragon,
                CreatureConstants.Types.Fey,
                CreatureConstants.Types.Giant,
                CreatureConstants.Types.Humanoid,
                CreatureConstants.Types.MagicalBeast,
                CreatureConstants.Types.MonstrousHumanoid,
                CreatureConstants.Types.Plant,
                CreatureConstants.Types.Vermin,
            };
        }
 public LycanthropeBoarNaturalApplicator(
     ICollectionSelector collectionSelector,
     ICreatureDataSelector creatureDataSelector,
     IHitPointsGenerator hitPointsGenerator,
     Dice dice,
     ITypeAndAmountSelector typeAndAmountSelector,
     IFeatsGenerator featsGenerator,
     IAttacksGenerator attacksGenerator,
     ISavesGenerator savesGenerator,
     ISkillsGenerator skillsGenerator,
     ISpeedsGenerator speedsGenerator)
     : base(
         collectionSelector,
         creatureDataSelector,
         hitPointsGenerator,
         dice,
         typeAndAmountSelector,
         featsGenerator,
         attacksGenerator,
         savesGenerator,
         skillsGenerator,
         speedsGenerator)
 {
 }
Esempio n. 12
0
 public CreatureGenerator(IAlignmentGenerator alignmentGenerator,
                          ICreatureVerifier creatureVerifier,
                          ICollectionSelector collectionsSelector,
                          IAbilitiesGenerator abilitiesGenerator,
                          ISkillsGenerator skillsGenerator,
                          IFeatsGenerator featsGenerator,
                          ICreatureDataSelector creatureDataSelector,
                          IHitPointsGenerator hitPointsGenerator,
                          IArmorClassGenerator armorClassGenerator,
                          ISavesGenerator savesGenerator,
                          JustInTimeFactory justInTimeFactory,
                          IAdvancementSelector advancementSelector,
                          IAttacksGenerator attacksGenerator,
                          ISpeedsGenerator speedsGenerator,
                          IEquipmentGenerator equipmentGenerator,
                          IMagicGenerator magicGenerator,
                          ILanguageGenerator languageGenerator)
 {
     this.alignmentGenerator   = alignmentGenerator;
     this.abilitiesGenerator   = abilitiesGenerator;
     this.skillsGenerator      = skillsGenerator;
     this.featsGenerator       = featsGenerator;
     this.creatureVerifier     = creatureVerifier;
     this.collectionsSelector  = collectionsSelector;
     this.creatureDataSelector = creatureDataSelector;
     this.hitPointsGenerator   = hitPointsGenerator;
     this.armorClassGenerator  = armorClassGenerator;
     this.savesGenerator       = savesGenerator;
     this.justInTimeFactory    = justInTimeFactory;
     this.advancementSelector  = advancementSelector;
     this.attacksGenerator     = attacksGenerator;
     this.speedsGenerator      = speedsGenerator;
     this.equipmentGenerator   = equipmentGenerator;
     this.magicGenerator       = magicGenerator;
     this.languageGenerator    = languageGenerator;
 }
Esempio n. 13
0
        public void Setup()
        {
            mockRacialFeatsGenerator = new Mock<IRacialFeatsGenerator>();
            mockClassFeatsGenerator = new Mock<IClassFeatsGenerator>();
            mockAdditionalFeatsGenerator = new Mock<IAdditionalFeatsGenerator>();
            mockCollectionsSelector = new Mock<ICollectionsSelector>();
            featsGenerator = new FeatsGenerator(mockRacialFeatsGenerator.Object, mockClassFeatsGenerator.Object, mockAdditionalFeatsGenerator.Object,
                mockCollectionsSelector.Object);

            characterClass = new CharacterClass();
            race = new Race();
            stats = new Dictionary<string, Stat>();
            skills = new Dictionary<string, Skill>();
            baseAttack = new BaseAttack();
            racialFeats = new List<Feat>();

            mockRacialFeatsGenerator.Setup(g => g.GenerateWith(race, skills, stats)).Returns(racialFeats);
        }