예제 #1
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,
            };
        }
예제 #2
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,
            };
        }
예제 #3
0
        public void Setup()
        {
            mockCollectionsSelector = new Mock <ICollectionSelector>();
            mockBonusSelector       = new Mock <IBonusSelector>();
            savesGenerator          = new SavesGenerator(mockCollectionsSelector.Object, mockBonusSelector.Object);
            feats              = new List <Feat>();
            abilities          = new Dictionary <string, Ability>();
            reflexSaveFeats    = new List <string>();
            fortitudeSaveFeats = new List <string>();
            willSaveFeats      = new List <string>();
            strongFortitude    = new List <string>();
            strongReflex       = new List <string>();
            strongWill         = new List <string>();
            hitPoints          = new HitPoints();
            creatureType       = new CreatureType();
            racialBonuses      = new Dictionary <string, List <BonusSelection> >();

            hitPoints.HitDice.Add(new HitDice {
                Quantity = 1
            });
            creatureType.Name = "creature type";
            abilities[AbilityConstants.Charisma]     = new Ability(AbilityConstants.Charisma);
            abilities[AbilityConstants.Constitution] = new Ability(AbilityConstants.Constitution);
            abilities[AbilityConstants.Dexterity]    = new Ability(AbilityConstants.Dexterity);
            abilities[AbilityConstants.Wisdom]       = new Ability(AbilityConstants.Wisdom);
            racialBonuses["creature"]        = new List <BonusSelection>();
            racialBonuses[creatureType.Name] = new List <BonusSelection>();

            reflexSaveFeats.Add("other feat");
            fortitudeSaveFeats.Add("other feat");
            willSaveFeats.Add("other feat");

            mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Collection.FeatGroups, SaveConstants.Fortitude))
            .Returns(fortitudeSaveFeats);
            mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Collection.FeatGroups, SaveConstants.Reflex))
            .Returns(reflexSaveFeats);
            mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Collection.FeatGroups, SaveConstants.Will))
            .Returns(willSaveFeats);
            mockCollectionsSelector.Setup(s => s.Explode(TableNameConstants.Collection.CreatureGroups, SaveConstants.Fortitude))
            .Returns(strongFortitude);
            mockCollectionsSelector.Setup(s => s.Explode(TableNameConstants.Collection.CreatureGroups, SaveConstants.Reflex))
            .Returns(strongReflex);
            mockCollectionsSelector.Setup(s => s.Explode(TableNameConstants.Collection.CreatureGroups, SaveConstants.Will))
            .Returns(strongWill);

            mockBonusSelector.Setup(s => s.SelectFor(TableNameConstants.TypeAndAmount.SaveBonuses, It.IsAny <string>())).Returns((string t, string s) => racialBonuses[s]);
        }
 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)
 {
 }
예제 #5
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;
 }