Full and Complete Guide for Royalties (checked in the script):
Trashy: Flirty
Drama: Commitment Issues, Diva
Sci-Fi: Computer Whiz, Genius
Fantasy: Neurotic
Humor: Loser, Inappropriate, Mean Spirited
Satire: Grumpy, Hot Headed, Over Emotional, Rebellious
Mystery: Genius
Romance: Hopeless Romantic or "Raspberry Romance" (buff, I think it's from the Bubble Machine)
Historical: Perfectionist, No Sense of Humor
Childrens: Artistic, Childish, Family Oriented
Vaudeville: Bookworm
Autobiography: Ambitious, Charismatic or "Cheery Cherry" (buff, I think it's from the Bubble Machine), Unlucky, Daredevil or "Blizzard" (buff, I think it's from the Halfpipe), Insane, Kleptomaniac, Diva
Poetry: Brooding
Horror: Supernatural Fan
I included buffs because the game checks for them. For instance, the verbatim script for checking the Romance genre is:
case BookData.BookGenres.Romance:
if (createdSim.HasTrait(TraitNames.HopelessRomantic) || createdSim.BuffManager.HasElement(BuffNames.RaspberryRomance))
{
num++;
}
break;
Basically this code says "if the sim has Hopeless Romantic, or has the Raspberry Romance buff, increment "num" by one, then end this case". "num", in this case, refers to the trait bonus. The overall trait bonus is the trait bonus multiplied by 0.25 (by default). It's then fed into a more complicated equation to figure out the royalty for the book. To decode that, though, I'd need to brush up on my C (the language the game is written in).