As I have 0 skill in programming languages, all this appears as Lisp. On phone. So many brackets.
"The Mafia Generator" by notquitethere.
The story headline is "A random role generator".
Character Generation is a room.
The description is "[spiel][line break][line break][spiel][line break][line break][spiel][line break][line break][spiel][line break][line break][spiel][line break][line break][spiel][line break][line break][spiel][line break][line break][spiel][line break][line break][spiel][line break][line break][spiel][line break][line break][spiel][line break][line break](Enter L to get a new list)".
To say spiel:
if a random chance of five in six succeeds:
say "[role name][line break][once] per [phase] you can [act].";
otherwise:
say "[role name][line break]If someone targets you[one of] their action fails if [failure][or] [with]they will be [killed][or], [they] will morph into [one of]your role[or]a role of a random player[or]a newly generated role[or]their role[at random][at random]."
To say they:
say "[one of]they[or]you[or]anyone else targeting you[or]a random player[at random]".
To say with:
say "[one of][or]with [hostile] [or] with an action which isn't [hostile] [or][at random]".
To say hostile:
say "[one of]a kill[or]a priming[or]an ignition[or]an infection[or]a poisoning[or]a vote steal[or]ability steal[at random]"
To say killed:
say "[one of]killed[or]poisoned[or]given a piece of fruit[or]infected[or]primed[or]ignited[at random]".
To say failure:
say "it[one of]'s not[or]'s[at random] [hostile]".
To say role name:
say "[adjective][role]"
To say adjective:
say "[one of]Misguided[or]Undulating[or]Systemic[or]Alienated[or]Peculiar[or]Anti[or]Magnetic[or]The[or]Convoluted[or]Cryptic[or]Inert[or]Confused[or]Corrupt[or]Beta[or]Toony[or]Alpha[or]Cult[or]Insane[or]Mysterious[or]Improved[or]Friendly[or]Super[or]Elite[or]Evil[or]Overeager[or]Maximum[or]Leaf[or]Radioactive[or]Fallacious[or]Four Masked[or]Mild[or]King[or]Black Hearted[or]Shaked[or]Web Addicted[or]Ruined[or]The Only[or]Everyone's Favourite[at random] ".
To say role:
say "[one of]Werewolf[or]Cop[or]Leader[or]Doctor[or]Mafioso[or]Psychiatrist[or]Roleblocker[or]Survivor[or]Townie[or]Vigilante[or]Werewolf[or]Godfather[or]MUP[or]Redirecter[or]Super-Saint[or]Tracker[or]Mason[or]Mason[or]Reviver[or]Snail[or]Nurse[or]
Bodyguard[or]Disabler[or]Inventor[or]Sibling[or]Wolf[or]Watcher[or]Alien[or]Angel[or]Anti-Doctor[or]Ascetic[or]Copycat[or]Delayer[or]Missionary[or]Poisoner[or]Hypnotist[or]Stalker[or]Voteblocker[or]Coward[or]Sibling[or]Arsonist[or]Judas[or]Miller[or]Saulus[or]Cheater[or]Eavesdropper[or]Witch[or]Anarchist[or]Urist[or]Man[or]Changeling[or]Daykiller[or]Deva[or]Doppelganger[or]Evolver[or]Fumblefingers[or]Gunsmith[or]Hitman[or]Jester[or]Lyncher[or]Magistrate[or]Magnet[or]Martyr[or]Mimic[or]Motivator[or]Mugger[or]Mutant[or]Ninja[or]Pimp[or]Psychopath[or]Randomizer[or]Reflecter[or]Santa[or]Shuffler[or]Thief[or]Traitor[or]Twin[or]Vampire[or]Zombie[or]Abbot[or]Adventurer[or]Banshee[or]Bomb[or]Exorcist[or]Fisherman[or]Foo[or]Ghoul[or]Golem[or]Infiltrator[or]Mercenary[or]Mirror[or]Necromancer[or]Nightmare[or]Reincarnator[or]Spy[or]Timebomber[or]Unlynchable[or]Astrologer[or]Lich[or]Monolith[or]Morpher[or]Paladin[or]Robot[or]Skulker[or]Turncoat[or]Blackguard[or]Blogger[or]Brainwasher[or]Cannibal[or]Cheerleader[or]Commando[or]Deprogrammer[or]Djinni[or]Doomspeaker[or]Doublekiller[or]Echo[or]Graverobber[or]Jedi[or]Nexus[or]Nonvoter[or]Pinata[or]Possesser[or]Radiant[or]Recruiter[or]Satan[or]Sentry[or]Shaman[or]Undertaker[or]Virus[or]Warp[or]Azwolg[or]Backup[or]Channeler[or]Cyborg[or]Frankenstein[or]Gremlin[or]Immortal[or]Timewarp[or]X-Morpher[or]Plutonium[or]Uranium[or]Kevorkian[or]Assassin[or]Empath[or]Healer[or]Macron[or]Seeker[or]Sniveler[or]Vampire[or]Wrack[or]Anti-Matter[or]Aura[or]Cavalry[or]Changeling[or]Chosen[or]Chronos[or]Deuce[or]Filch[or]Filth[or]Fungus[or]Gambler[or]Insect[or]Laser[or]Magnet[or]Mind[or]Mirror[or]Mutant[or]Oracle[or]Pacifist[or]Pentaform[or]Phantom[or]Philantropist[or]Reincarnator[or]Subversive[or]Symbiote[or]Terrorist[or]Vacuum[or]Void[or]Vulch[or]Zombie[or]Assembly-Worker[or]Chronosavant[at random]".
To say once:
if a random chance of one in ten succeeds:
say "Twice";
otherwise:
say "Once".
To say phase:
if a random chance of one in ten succeeds:
say "day";
otherwise if a random chance of one in nine succeeds:
say "game";
otherwise:
say "night".
To say act:
if a random chance of one in 14 succeeds:
say "brainwash [target] into performing [one of]a kill[or]a protect[or]a random action that they're capable of[at random] on [target]. Action: Brainwash";
otherwise if a random chance of one in 13 succeeds:
say "[one of]cause any investigative actions by [target] to give the wrong result[or]cause [target] to appear as [one of]town[or]a serial killer[or]scum[or]a random alignment[at random] when investigated[at random] until the [one of]end of[or] start of[at random] the following [one of]day[or]night[or]phase[or]cycle[at random]. Action: Frame";
otherwise if a random chance of one in 12 succeeds:
say "[save]. Action: Save";
otherwise if a random chance of one in 11 succeeds:
say "inform [target] of [one of]your[or]a dead player's[or]a random player's[or]their own[or]a target of your choice's[at random] [learn]. Action: Inform";
otherwise if a random chance of one in 10 succeeds:
say "learn the [learn] of [target]. Action: Investigate";
otherwise if a random chance of one in nine succeeds:
say "swap [one of]this[or]a random[or]a copy of this[at random] ability with an ability belonging to [target]. Action: Swap";
otherwise if a random chance of one in eight succeeds:
say "delay the actions of [target] until the [one of]end of[or] start of[at random] the following [one of]day[or]night[or]phase[or]cycle[at random]. Action: Delay";
otherwise if a random chance of one in seven succeeds:
say "perform [one of]the same action as [target][or]a random action that [target] is capable of[at random] on [target]. Action: Mimic";
otherwise if a random chance of one in six succeeds:
say "receive a list of [one of]all[or]a third of[or]half[at random] the [one of]alignments[or]role names[or]action type names[at random] in play. Action: Census";
otherwise if a random chance of one in five succeeds:
say "give [one of]this[or]a random[or]a copy of this[at random] ability to [target]. Action: Gift";
otherwise if a random chance of one in four succeeds:
say "[alter]";
otherwise if a random chance of one in three succeeds:
say "[one of]steal the votes of[or]give your vote to[or]give a piece of fruit to[or]give an extra vote to[or][at random] [target] until the next lynch. Action: Trick";
otherwise if a random chance of one in two succeeds:
say "block [one of]all actions[or]a random action[or]the first action[at random] [one of]affecting[or] performed by[at random] [target]. Action: Block";
otherwise:
say "redirect the actions of [target] to [random]. Action: Redirect".
Alteration is a kind of value. The alterations are Kill, Poison, Infect, Prime/Ignite.
Harm is a thing. Harm has an alteration.
Cure is a truth state that varies. Cure is true.
Protect is a truth state that varies. Protect is true.
Unblock is a truth state that varies. Unblock is true.
Unredirect is a truth state that varies. Unredirect is true.
Pardon is a truth state that varies. Pardon is true.
To say save:
if cure is true:
say "cure [target]";
now cure is false;
if a random chance of one in two succeeds:
if protect is true or unblock is true or unredirect is true or pardon is true:
say " and [save]";
otherwise if protect is true:
say "protect [target]";
now protect is false;
if a random chance of one in two succeeds:
if unblock is true or unredirect is true or pardon is true:
say " and [save]";
otherwise if unblock is true:
say "unblock [target]";
now unblock is false;
if a random chance of one in two succeeds:
if unredirect is true or pardon is true:
say " and [save]";
otherwise if unredirect is true:
say "unredirect [target]";
now unredirect is false;
if a random chance of one in two succeeds:
if pardon is true:
say " and [save]";
otherwise:
now pardon is false;
say "pardon [target] from being lynched at the next lynch vote".
Every turn:
if a random chance of one in two succeeds:
now cure is true;
if a random chance of one in two succeeds:
now protect is true;
if a random chance of one in two succeeds:
now unblock is true;
if a random chance of one in two succeeds:
now unredirect is true;
if a random chance of one in two succeeds:
now pardon is true;
if a random chance of one in two succeeds:
now cure is false;
if a random chance of one in two succeeds:
now protect is false;
if a random chance of one in two succeeds:
now unblock is false;
if a random chance of one in two succeeds:
now unredirect is false;
if a random chance of one in two succeeds:
now pardon is false.
To say alter:
if a random chance of one in four succeeds:
now the alteration of harm is Kill;
otherwise if a random chance of one in three succeeds:
now the alteration of harm is Poison;
otherwise if a random chance of one in two succeeds:
now the alteration of harm is Infect;
otherwise:
now the alteration of harm is Prime/Ignite;
let N be "[alteration of harm]" in lower case;
say "[N] [target]. Action: [alteration of harm]".
To say random:
if a random chance of one in four succeeds:
say "a random player";
otherwise if a random chance of one in three succeeds:
say "themselves";
otherwise:
say "another player";
To say learn:
if a random chance of one in ten succeeds:
say "alignment";
otherwise if a random chance of one in five succeeds:
say "action type";
otherwise if a random chance of one in three succeeds:
say "name";
otherwise:
say "target".
To say target:
if a random chance of one in twelve succeeds:
say "two targets";
otherwise if a random chance of one in eleven succeeds:
say "[everyone] targeting [target]";
otherwise if a random chance of one in nine succeeds:
say "a dead player";
otherwise if a random chance of one in eight succeeds:
say "your target's target";
otherwise if a random chance of one in seven succeeds:
say "a random target";
otherwise if a random chance of one in six succeeds:
say "yourself";
otherwise if a random chance of one in five succeeds:
say "[everyone] targeting your target";
otherwise if a random chance of one in four succeeds:
say "[everyone] targeting you";
otherwise:
say "your target".
To say everyone:
say "[one of]everyone[or]a random person[or]everyone who is not[at random]".