message: change to init
diff: /** @type {Partial<NPC>} */
  const defaultBase = {
  - isShallow: true
  + isShallow: true,
  + roll: {}
  }
  /** @returns {NPC} npc */
  setup.createNPC = (town, base = defaultBase) => {
  @@ -25,14 +26,14 @@ setup.createNPC = (town, base = defaultBase) => {
  }
  lib.initSexistProfession(town, base)
  + lib.initGenderNpc(town, base)
  - const gender = base.gender || lib.random(['man', 'woman'])
  const race = base.race || lib.fetchRace(town, base)
  console.log('Fetching profession.')
  const profession = base.profession || lib.fetchProfessionChance(town, base)
  - const firstName = base.firstName || getFirstName(race, gender)
  + const firstName = base.firstName || getFirstName(race, base.gender)
  const lastName = base.lastName || getLastName(race)
  console.groupCollapsed(`${firstName} ${lastName}`)
  const ageStage = base.ageStage || getRandomAgeStage()
  @@ -47,7 +48,7 @@ setup.createNPC = (town, base = defaultBase) => {
  key: base.key || lib.getUUID(),
  objectType: 'npc',
  passageName: 'NPCProfile',
  - _gender: gender,
  + _gender: base.gender,
  _race: race,
  firstName,
  lastName,
  @@ -151,7 +152,7 @@ setup.createNPC = (town, base = defaultBase) => {
  } else {
  npc.hasClass = true
  npc.adventure = lib.random(data.adventure) || 'looking for work'
  - npc.dndClass = npc.dndClass || npc.profession
  + npc.profession = npc.dndClass
  }
  }
  