public INECharacter()
 {
     FullName  = "New Character";
     RaceID    = 0;
     Tier      = 5;
     Exp       = 500;
     Archetype = INE.Data.Archetypes[0] ?? new INEArchetype();
     PopulateAspects();
     ChangeRace(RaceID);
     Perks         = new List <int>();
     DefaultLayout = new INELayout();
 }
 public INECharacter(string fullName, int race, INEArchetype archetype, int tier, float exp,
                     Dictionary <int, float> attributeDistributions, Dictionary <int, float> skillDistributions)
 {
     FullName  = fullName ?? "New Character";
     Tier      = tier < 1 ? 1 : tier > 5 ? 5 : tier;
     Exp       = exp <0 ? 0 : exp> MaxExp ? MaxExp : exp;
     Archetype = archetype ?? new INEArchetype();
     PopulateAspects();
     ChangeRace(RaceID);
     Attributes.SetTargetDistribution(attributeDistributions);
     Attributes.SetCurrentDistribution(attributeDistributions);
     Skills.SetTargetDistribution(skillDistributions);
     Skills.SetCurrentDistribution(skillDistributions);
     Perks         = new List <int>();
     DefaultLayout = new INELayout();
 }