public Creature ScaleCreature(Creature baseCreature, int targetCR) { var crToAdjustBy = targetCR - baseCreature.ChallengeRating.ListedChallengeRating; // Move O/D CR selection to own place var expectedOffensiveChallengeRating = targetCR; var expectedDefensiveChallengeRating = targetCR; var options = new CreatureAdjustmentOptions(); options.ExpectedOffensiveChallengeRating = expectedOffensiveChallengeRating; options.ExpectedDefensiveChallengeRating = expectedDefensiveChallengeRating; var adjustors = adjustorSelector.SelectAdjustors(baseCreature, options); var newCreature = baseCreature.Clone(); foreach (var adjustor in adjustors) { adjustor.Adjust(newCreature); } return(newCreature); }
public IEnumerable <ICreatureAdjustor> SelectAdjustors(Creature creature, CreatureAdjustmentOptions creatureAdjustmentOptions) { return(this.creatureAdjustors); }