public EncounterCharacterGenerator(ICharacterGenerator characterGenerator, IAlignmentRandomizer alignmentRandomizer, IClassNameRandomizer anyPlayerClassNameRandomizer,
            ISetLevelRandomizer setLevelRandomizer, RaceRandomizer baseRaceRandomizer, RaceRandomizer metaraceRandomizer, IStatsRandomizer statsRandomizer,
            ICollectionSelector collectionSelector, ISetMetaraceRandomizer setMetaraceRandomizer, IClassNameRandomizer anyNPCClassNameRandomizer,
            ISetClassNameRandomizer setClassNameRandomizer, Dice dice)
        {
            this.characterGenerator = characterGenerator;
            this.alignmentRandomizer = alignmentRandomizer;
            this.anyPlayerClassNameRandomizer = anyPlayerClassNameRandomizer;
            this.setLevelRandomizer = setLevelRandomizer;
            this.baseRaceRandomizer = baseRaceRandomizer;
            this.metaraceRandomizer = metaraceRandomizer;
            this.statsRandomizer = statsRandomizer;
            this.collectionSelector = collectionSelector;
            this.setMetaraceRandomizer = setMetaraceRandomizer;
            this.anyNPCClassNameRandomizer = anyNPCClassNameRandomizer;
            this.setClassNameRandomizer = setClassNameRandomizer;
            this.dice = dice;

            challengeRatingRegex = new Regex(RegexConstants.ChallengeRatingPattern);
            setCharacterLevelRegex = new Regex(RegexConstants.SetCharacterLevelPattern);
            subTypeRegex = new Regex(RegexConstants.DescriptionPattern);
        }
 public LeadershipGenerator(ICharacterGenerator characterGenerator, ILeadershipSelector leadershipSelector, IPercentileSelector percentileSelector,
     IAdjustmentsSelector adjustmentsSelector, ISetLevelRandomizer setLevelRandomizer, ISetAlignmentRandomizer setAlignmentRandomizer,
     IAlignmentRandomizer anyAlignmentRandomizer, IClassNameRandomizer anyPlayerClassNameRandomizer, RaceRandomizer anyBaseRaceRandomizer,
     RaceRandomizer anyMetaraceRandomizer, IStatsRandomizer rawStatsRandomizer, IBooleanPercentileSelector booleanPercentileSelector,
     ICollectionsSelector collectionsSelector, IAlignmentGenerator alignmentGenerator, Generator generator, IClassNameRandomizer anyNPCClassNameRandomizer)
 {
     this.characterGenerator = characterGenerator;
     this.leadershipSelector = leadershipSelector;
     this.percentileSelector = percentileSelector;
     this.adjustmentsSelector = adjustmentsSelector;
     this.setLevelRandomizer = setLevelRandomizer;
     this.setAlignmentRandomizer = setAlignmentRandomizer;
     this.anyAlignmentRandomizer = anyAlignmentRandomizer;
     this.anyPlayerClassNameRandomizer = anyPlayerClassNameRandomizer;
     this.anyBaseRaceRandomizer = anyBaseRaceRandomizer;
     this.anyMetaraceRandomizer = anyMetaraceRandomizer;
     this.rawStatsRandomizer = rawStatsRandomizer;
     this.booleanPercentileSelector = booleanPercentileSelector;
     this.collectionsSelector = collectionsSelector;
     this.alignmentGenerator = alignmentGenerator;
     this.generator = generator;
     this.anyNPCClassNameRandomizer = anyNPCClassNameRandomizer;
 }
 public void Setup()
 {
     randomizer = new SetLevelRandomizer();
 }