Well, as I promised, the profession array. Professions are a number between 0 and 87 (inclusive), indexing into this array:
code:
const char * professions[88] = {
"Miner",
"Carpenter",
"Mason",
"Trapper",
"Metalsmith",
"Jeweler",
"Craftsdwarf",
"Queen",
"Queen Consort",
"Fisherdwarf",
"Farmer",
"Mechanic",
"Manager",
"Mayor",
"Governer",
"Broker",
"Trade Minister",
"Guildmaster",
"Bookkeeper",
"Treasurer",
"Hoardmaster",
"TaxCollector",
"Hammerer",
"Sheriff",
"Baroness",
"Countess",
"Duchess",
"Baroness Consort",
"Countess Consort",
"Duchess Consort",
"Miners Guild",
"Carpenters Guild",
"Masons Guild",
"Metalsmiths Guild",
"Jewelers Guild",
"Craftsdwarves Guild",
"House Rash",
"House Fer",
"House Ber",
"Philosopher",
"Advisor",
"Order of the Axe",
"Order of the Mace",
"Order of the Sword",
"Order of the Hammer",
"Order of the Crossbow",
"Order of the Spear",
"Alchemist",
"Dungeon Master",
"Merchant",
"Diplomat",
"Guild Representative",
"Merchant Baron",
"Merchant Prince",
"Outpost Liaison",
"Druid",
"Champion",
"Hammerdwarf",
"Hammer Lord",
"Speardwarf",
"Spearmaster",
"Marksdwarf",
"Elite Marksdwarf",
"Wrestler",
"Elite Wrestler",
"Axedwarf",
"Axe Lord",
"Swordsdwarf",
"Swordmaster",
"Macedwarf",
"Mace Lord",
"Pikedwarf",
"Pikemaster",
"Bowdwarf",
"Elite Bowdwarf",
"Blowgunner",
"Master Blowgunner",
"Recruit",
"Hunting Peasant",
"War Peasant",
"Master Thief",
"Thief",
"Peasant",
"Child",
"Baby",
"Drunk",
"Lasher",
"Master Lasher"
}