protected BaseCharacter(string name = null, Genders?gender = null, Race race = null) { this.id = nextId++; Level = 1; if (race != null) { Race = race; } else { Race = new Human(); } otherModifiers.Add((Modifier)Race); if (gender != null) { Gender = (Genders)gender; } else { Gender = (Genders)DiceRoller.Next(0, (int)Genders.Non_Binary); } if (name != null) { Name = name; } else { //Breakpoint Name = nameCandidates[Gender].ElementAt(DiceRoller.Next(0, nameCandidates[Gender].Count)); } initialName = Name; GenerateAttributes(); EquipRandomEquipment(); ageInDaysAtStart = (ulong)DiceRoller.Next(365 * 15, 365 * 70); }