generate method

  1. @override
Personality generate()
override

Generates a personality based on _race

Implementation

@override
Personality generate() {
  final alignmentGenerator = _race.getAlignmentGenerator();
  alignmentGenerator.seed(_seed);
  final alignment = alignmentGenerator.generate();

  final generator = BatchGenerator({
    "alignment": ConstantGenerator(alignment.toMap()),
    "traits": UniqueGenerator(
      _race.getPersonalityTraitGenerator(),
      _numberOfTraits,
    ),
    "quirks": UniqueGenerator(
      _race.getPersonalityQuirkGenerator(),
      _numberOfQuirks,
    ),
    "descriptors": UniqueGenerator(
      DescriptorGenerator(alignment),
      _numberOfDescriptors,
    )
  });
  generator.seed((_seed + 1) % SeedGenerator.maxSeed);
  final result = generator.generate();
  return Personality.fromMap(result);
}