[
    {
        "id": "_meta",
        "name": "Delirium Promenade",
        "author": "GrayPockets",
        "logo": "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",
        "hideTitle": true,
        "background": "https://www.graypockets.com/scripts/Delirium_Promenade/images/delirium_promenade_background_light.png",
        "almanac": "https://www.graypockets.com/Delirium_Promenade",
        "bootlegger": [
            "Hooligan is a homebrew character.",
            "6 Grognard jinxes are reverted to earlier versions.",
            "5 Bootlegger jinxes are added."
        ],
        "firstNight": ["dusk","apprentice_dp","barista","bureaucrat","thief","philosopher","kazali_dp","boffin_dp","hooligan","minioninfo","lunatic_dp","demoninfo","marionette_dp","wizard_dp","amnesiac_dp","chef","empath","spy_dp","chambermaid","mathematician_dp","dawn"],
        "otherNight": ["dusk","barista","bonecollector","harlot","bureaucrat","thief","philosopher","lycanthrope","lunatic_dp","legion","imp_dp","fanggu_dp","kazali_dp","wizard_dp","amnesiac_dp","empath","oracle","spy_dp","chambermaid","mathematician_dp","dawn"]
    },
    "chef",
    "empath",
    "chambermaid",
    {
        "id": "mathematician_dp",
        "name": "Mathematician",
        "edition": "snv",
        "image": [
            "https://botc.app/assets/mathematician_g-DiYoQRIl.webp",
            "https://botc.app/assets/mathematician_e-D-VneyvO.webp"
        ],
        "team": "townsfolk",
        "firstNight": 77,
        "firstNightReminder": "Give a finger signal.",
        "otherNight": 97,
        "otherNightReminder": "Give a finger signal.",
        "reminders": [
            "Abnormal",
            "Abnormal",
            "Abnormal",
            "Abnormal",
            "Abnormal",
            "Abnormal",
            "Abnormal",
            "Abnormal",
            "Abnormal",
            "Abnormal"
        ],
        "setup": false,
        "ability": "Each night, you learn how many players’ abilities worked abnormally (since dawn) due to another character's ability.",
        "flavor": "Any consistent formal system x, within which a certain amount of elementary arithmetic can be carried out is incomplete; that is, there are statements of the language of x which can neither be proved nor disproved in x. Ergo, you are drunk.",
        "jinxes": [
            {
                "id": "chambermaid",
                "reason": "The Chambermaid can detect if the Mathematician will wake tonight."
            },
            {
                "id": "hooligan",
                "reason": "The Mathematician learns if the Hooligan makes different choices than the real Minion."
            },
            {
                "id": "lunatic_dp",
                "reason": "The Mathematician learns if the Lunatic attacks a different player than the real Demon attacked."
            }
        ]
    },
    "oracle",
    "lycanthrope",
    "philosopher",
    "cannibal",
    {
        "id": "amnesiac_dp",
        "name": "Amnesiac",
        "edition": "carousel",
        "image": [
            "https://botc.app/assets/amnesiac_g-1rV8CyUl.webp",
            "https://botc.app/assets/amnesiac_e-CEaf8TX1.webp"
        ],
        "team": "townsfolk",
        "firstNight": 51,
        "firstNightReminder": "Do whatever needs to be done to satisfy the Amnesiac's ability.",
        "otherNight": 69,
        "otherNightReminder": "Do whatever needs to be done to satisfy the Amnesiac's ability.",
        "reminders": [
            "?",
            "?",
            "?"
        ],
        "setup": false,
        "ability": "You do not know what your ability is. Each day, privately guess what it is: you learn how accurate you are.",
        "flavor": "Wait. What. Who? Oh, ok. Wait. What?",
        "special": [
            {
                "name": "bag-duplicate",
                "type": "selection"
            }
        ]
    },
    "mayor",
    {
        "id": "virgin_dp",
        "name": "Virgin",
        "edition": "tb",
        "image": [
            "https://botc.app/assets/virgin_g-DfRSMLSj.webp",
            "https://botc.app/assets/virgin_e-BB20SAPv.webp"
        ],
        "team": "townsfolk",
        "reminders": [
            "No Ability"
        ],
        "setup": false,
        "ability": "The 1st time you are nominated, if the nominator is a Townsfolk, they are executed immediately.",
        "flavor": "I am pure. Let those who are without sin cast themselves down and suffer in my stead. My reputation shall not be stained with your venomous accusations.",
        "special": [
            {
                "name": "bag-duplicate",
                "type": "selection"
            }
        ]
    },
    {
        "id": "magician_dp",
        "name": "Magician",
        "edition": "carousel",
        "image": [
            "https://botc.app/assets/magician_g-DXz3Ajt8.webp",
            "https://botc.app/assets/magician_e-BMchX9vJ.webp"
        ],
        "team": "townsfolk",
        "setup": false,
        "ability": "The Demon thinks you are a Minion. Minions think you are a Demon.",
        "flavor": "1... 2... Abra... 3... 4... Cadabra... *poof!* And, as you can see, ladies and gentlemen, Captain Farnsworth’s bag of gold has disappeared! Gone! Without a trace! Thank you, and goodnight!",
        "special": [
            {
                "name": "bag-duplicate",
                "type": "selection"
            }
        ],
        "jinxes": [
            {
                "id": "kazali_dp",
                "reason": "If the Magician is alive, the Kazali chooses which Minions but not which players."
            },
            {
                "id": "legion",
                "reason": "Legion thinks the Magician is Legion. Legion knows if a Magician is in play."
            },
            {
                "id": "marionette_dp",
                "reason": "If the Magician is alive, the Demon doesn't know which neighbor is the Marionette"
            },
            {
                "id": "spy_dp",
                "reason": "When the Spy sees the Grimoire, the Demon and Magician's character tokens are removed."
            },
            {
                "id": "vizier",
                "reason": "If the Vizier is in play, the Magician has no ability but is immune to the Vizier's ability."
            },
            {
                "id": "widow",
                "reason": "When the Widow sees the Grimoire, the Demon and Magician's character tokens are removed."
            },
            {
                "id": "wraith",
                "reason": "After each execution, the living Magician may publicly guess a living player as the Wraith. If correct, the Demon must choose the Wraith tonight."
            }
        ]
    },
    "atheist",
    {
        "id": "lunatic_dp",
        "name": "Lunatic",
        "edition": "bmr",
        "image": [
            "https://botc.app/assets/lunatic_g-Bz2ai2Da.webp",
            "https://botc.app/assets/lunatic_e-D53Boxpa.webp"
        ],
        "team": "outsider",
        "firstNight": 22,
        "firstNightReminder": "If there are 7 or more players, wake the Lunatic:\n\tShow the *THESE ARE YOUR MINIONS* token. Point to any players & optional extra.\n\tShow the *THESE CHARACTERS ARE NOT IN PLAY* token. Show 3 good character tokens.\nPut the Lunatic to sleep. Wake the Demons one at a time:\n\tShow the *YOU ARE* info token and the Demon token.\n\tShow the *THIS PLAYER IS* info token and the Lunatic token, then point to the Lunatic.",
        "otherNight": 35,
        "otherNightReminder": "The Lunatic might choose a player. :reminder:\nPut the Lunatic to sleep. Wake the Demons one at a time:\n\tShow the Lunatic token & point to them, then their targets.",
        "reminders": [
            "Chosen",
            "Chosen",
            "Chosen"
        ],
        "remindersGlobal": [
            "Is The Lunatic",
            "Is The Lunatic",
            "Is The Lunatic"
        ],
        "setup": false,
        "ability": "You think you are a Demon, but you are not. The Demon knows who you are & who you choose at night.",
        "flavor": "I am the night... I think.",
        "jinxes": [
            {
                "id": "kazali_dp",
                "reason": "The Kazali knows which Minions the Lunatic chose."
            }
        ],
        "special": [
            {
                "name": "bag-disabled",
                "type": "selection"
            },
            {
                "name": "replace-character",
                "type": "reveal"
            }
        ]
    },
    {
        "id": "hooligan",
        "name": "Hooligan",
        "edition": "deliriumpromenade",
        "image": [
            "https://www.graypockets.com/characters/homebrew/Hooligan/hooligan_g.png",
            "https://www.graypockets.com/characters/homebrew/Hooligan/hooligan_e.png"
        ],
        "team": "outsider",
        "firstNight": 19.5,
        "firstNightReminder": "If there are 7 or more players, wake the Hooligan unless Marionette:\n\tShow the *THIS IS THE DEMON* token. Point to any player & optional extra.\n\tShow the *THESE ARE YOUR MINIONS* token. Point to any players & optional short.\n\tPut the Hooligan to sleep. If the Hooligan has the same ability, wake that Minion.\n\tShow the *YOU ARE* info token & Minion token.\nWake the Minions singly less Marionette.\n\tShow the *THIS PLAYER IS* info token & Hooligan token, then point to the Hooligan.",
        "reminders": [
            "Chosen",
            "Chosen",
            "Same"
        ],
        "remindersGlobal": [
            "Is The Hooligan",
            "Is The Hooligan",
            "Is The Hooligan"
        ],
        "setup": false,
        "ability": "You think you are a Minion, but you are not. The Minions know who you are and any Minion that has the same ability knows what you choose at night.",
        "flavor": "The true believer, no matter how rowdy and violent his acts, is basically an obedient and submissive person.",
        "jinxes": [
            {
                "id": "kazali_dp",
                "reason": "If there would be a Hooligan in play, they enter play after the Demon."
            }
        ],
        "special": [
            {
                "name": "bag-disabled",
                "type": "selection"
            },
            {
                "name": "grimoire",
                "type": "signal",
                "time": "night"
            },
            {
                "name": "replace-character",
                "type": "reveal"
            }
        ]
    },
    {
        "id": "drunk_rah",
        "name": "Drunk",
        "edition": "tb",
        "image": [
            "https://botc.app/assets/drunk_g--QNmv0ZY.webp",
            "https://botc.app/assets/drunk_e-bRjLB9FX.webp"
        ],
        "team": "outsider",
        "remindersGlobal": [
            "Is The Drunk",
            "Is The Drunk",
            "Is The Drunk"
        ],
        "setup": true,
        "ability": "You do not know you are the Drunk. You think you are a Townsfolk character, but you are not.",
        "flavor": "I’m only a *hic* social drinker, my dear. Admittedly, I am a heavy *burp* socializer.",
        "special": [
            {
                "type": "selection",
                "name": "bag-disabled"
            },
            {
                "type": "reveal",
                "name": "replace-character"
            }
        ]
    },
    "recluse",
    {
        "id": "spy_dp",
        "name": "Spy",
        "edition": "tb",
        "image": [
            "https://botc.app/assets/spy_e-DU0tdGGe.webp",
            "https://botc.app/assets/spy_g-7hnV_AFT.webp"
        ],
        "team": "minion",
        "firstNight": 72,
        "firstNightReminder": "Make any modifications to the Grimoire & optionally remove tokens. Wake the Hooligan.\nShow the Grimoire for as long as the Hooligan needs. Put the Hooligan to sleep and correct the Grimoire.\nIf there is a Magician, remove the Magician & Demons & neighboring Marionette tokens. Wake the Spy.\nShow the Grimoire for as long as the Spy needs.",
        "otherNight": 92,
        "otherNightReminder": "Make any modifications to the Grimoire & optionally remove tokens. Wake the Hooligan.\nShow the Grimoire for as long as the Hooligan needs. Put the Hooligan to sleep and correct the Grimoire.\nIf there is a Magician, remove the Magician & Demons & neighboring Marionette tokens. Wake the Spy.\nShow the Grimoire for as long as the Spy needs.",
        "setup": false,
        "ability": "Each night, you see the Grimoire. You might register as good & as a Townsfolk or Outsider, even if dead.",
        "flavor": "Any brewmaster worth their liquor, knows no concoction pours trouble quicker, than one where spies seem double.",
        "special": [
            {
                "name": "bag-duplicate",
                "type": "selection"
            },
            {
                "name": "grimoire",
                "type": "signal",
                "time": "night"
            }
        ],
        "jinxes": [
            {
                "id": "damsel",
                "reason": "If the Spy is (or has been) in play, the Damsel is poisoned."
            },
            {
                "id": "ogre",
                "reason": "The Spy registers as evil to the Ogre."
            },
            {
                "id": "poppygrower",
                "reason": "If the Poppy Grower has their ability, the Spy does not see the Grimoire."
            }
        ]
    },
    {
        "id": "wizard_dp",
        "name": "Wizard",
        "edition": "carousel",
        "image": [
            "https://botc.app/assets/wizard_e-CkOtUevi.webp",
            "https://botc.app/assets/wizard_g-MV5lMPJf.webp"
        ],
        "team": "minion",
        "firstNight": 36,
        "firstNightReminder": "Do whatever needs to be done to satisfy the Wizard's ability.",
        "otherNight": 20,
        "otherNightReminder": "Do whatever needs to be done to satisfy the Wizard's ability.",
        "reminders": [
            "Wish Granted",
            "Wish Denied",
            "?",
            "?",
            "?",
            "?",
            "?",
            "?",
            "?",
            "?"
        ],
        "setup": false,
        "ability": "Once per game, choose to make a wish. If granted, it might have a price & leave a clue as to its nature.",
        "flavor": "Every man and every woman is a star. Love is the law, love under will.",
        "special": [
            {
                "name": "bag-duplicate",
                "type": "selection"
            }
        ]
    },
    {
        "id": "marionette_dp",
        "name": "Marionette",
        "edition": "carousel",
        "image": [
            "https://botc.app/assets/marionette_e-BVmqAITW.webp",
            "https://botc.app/assets/marionette_g-XJqVphtg.webp"
        ],
        "team": "minion",
        "firstNight": 27,
        "firstNightReminder": "Optionally, wake the Lunatic:\n\tShow the *THIS PLAYER IS* & Marionette tokens, then point to any player & optional neighbor.\nPut the Lunatic to sleep. Wake the Demons one at a time:\n\tShow the *THIS PLAYER IS* & Marionette tokens, then point to the Marionette.\n\tIf there is a Magician, point to the other neighbor.",
        "remindersGlobal": [
            "Is the Marionette",
            "Is the Marionette",
            "Is the Marionette"
        ],
        "setup": true,
        "ability": "You think you are a good character, but you are not. The Demon knows who you are. [You neighbor the Demon]",
        "flavor": "Words, words. They're all we have to go on.",
        "jinxes": [
            {
                "id": "balloonist",
                "reason": "If the Marionette thinks that they are the Balloonist, an Outsider might have been added during setup."
            },
            {
                "id": "huntsman",
                "reason": "If the Marionette thinks that they are the Huntsman, the Damsel was added during setup."
            },
            {
                "id": "kazali_dp",
                "reason": "If there would be a Marionette in play, they enter play after the Demon & must start as their neighbor."
            },
            {
                "id": "lilmonsta",
                "reason": "If there would be a Marionette in play, they enter play after the Demon & must start as their neighbor."
            },
            {
                "id": "recluse",
                "reason": "The Marionette can neighbor the Recluse."
            },
            {
                "id": "summoner",
                "reason": "If there would be a Marionette in play, they enter play after the Demon & must start as their neighbor."
            }
        ],
        "special": [
            {
                "name": "bag-disabled",
                "type": "selection"
            },
            {
                "name": "replace-character",
                "type": "reveal"
            }
        ]
    },
    {
        "id": "boffin_dp",
        "name": "Boffin",
        "edition": "carousel",
        "image": [
            "https://botc.app/assets/boffin_e-Bks9yuea.webp",
            "https://botc.app/assets/boffin_g-lws0h7cM.webp"
        ],
        "team": "minion",
        "firstNight": 13,
        "firstNightReminder": "Wake the Hooligan. Show any good character token. Put the Hooligan to sleep. Optionally, wake the Lunatic:\n\tShow the *THIS CHARACTER SELECTED YOU* & Boffin & any good character tokens. Put the Lunatic to sleep.\nWake the Boffin. Show the not-in-play good character token. Put the Boffin to sleep.\nWake the Demon. Show the *THIS CHARACTER SELECTED YOU* & Boffin tokens, then the not-in-play good character token.",
        "reminders": [
            "Potion"
        ],
        "setup": false,
        "ability": "The Demon (even if drunk or poisoned) has a not-in-play good character's ability. You both know which.",
        "flavor": "Stellar hydrogen, vast, inert; carbon, oxygen, neon gases, all ruined. Molecular chaos, entropy, yields new cosmic phenomena, rebirth from atomic chaos, dense matter collapsing. All in a teeny little bottle.",
        "jinxes": [
            {
                "id": "cultleader",
                "reason": "If the Demon has the Cult Leader ability, they can’t turn good due to this ability."
            },
            {
                "id": "goon",
                "reason": "If the Demon has the Goon ability, they can’t turn good due to this ability."
            },
            {
                "id": "heretic",
                "reason": "The Demon cannot have the Heretic ability."
            },
            {
                "id": "ogre",
                "reason": "The Demon cannot have the Ogre ability."
            },
            {
                "id": "politician",
                "reason": "The Demon cannot have the Politician ability."
            },
            {
                "id": "villageidiot",
                "reason": "If there is a spare token, the Boffin can give the Demon the Village Idiot ability."
            }
        ],
        "special": [
            {
                "name": "bag-duplicate",
                "type": "selection"
            }
        ]
    },
    {
        "id": "imp_dp",
        "name": "Imp",
        "edition": "tb",
        "image": [
            "https://botc.app/assets/imp_e-DNpveOPY.webp",
            "https://botc.app/assets/imp_g-D-G7pJEY.webp"
        ],
        "team": "demon",
        "otherNight": 40,
        "otherNightReminder": "The Imp chooses a player. :reminder: If the Imp chose themselves: Replace 1 alive Minion token with a spare Imp token. Put the old Imp to sleep. Wake the new Imp. Show the *YOU ARE* token, then show the Imp token.",
        "reminders": [
            "Dead"
        ],
        "setup": false,
        "ability": "Each night*, choose a player: they die. If you kill yourself this way, a Minion becomes the Imp.",
        "flavor": "We must keep our wits sharp and our sword sharper. Evil walks among us, and will stop at nothing to destroy us good, simple folk, bringing our fine town to ruin. Trust no-one. But, if you must trust someone, trust me.",
        "special": [
            {
                "name": "bag-duplicate",
                "type": "selection"
            }
        ]
    },
    {
        "id": "kazali_dp",
        "name": "Kazali",
        "edition": "carousel",
        "image": [
            "https://botc.app/assets/kazali_e-Bhxi3sLd.webp",
            "https://botc.app/assets/kazali_g-BZsxV8YM.webp"
        ],
        "team": "demon",
        "firstNight": 8,
        "firstNightReminder": "Wake the Lunatic, allow them to choose Minions. :reminder: :reminder: :reminder: Put the Lunatic to sleep. Wake the Kazali.\n\tShow the Lunatic token & point to them, then their target(s) & Minion character tokens.\n\tThe Kazali chooses which players are which Minions. Wake each target.\nPut the Kazali to sleep. If there is a Magician, you can change the target players.\nOptionally wake a good player to be the Hooligan: Show the *YOU ARE* info token and any Minion token.",
        "otherNight": 55,
        "otherNightReminder": "The Kazali chooses a player. :reminder:",
        "reminders": [
            "Dead"
        ],
        "setup": true,
        "ability": "Each night*, choose a player: they die. [You choose which players are which Minions. -? to +? Outsiders]",
        "flavor": "Gon(z)a7les6. Take cau8tun. The mech4an4ion is iNvert10d. E99ors insy6tum. Reco{7}fig.",
        "special": [
            {
                "type": "selection",
                "name": "bag-duplicate"
            }
        ]
    },
    "legion",
    {
        "id": "fanggu_dp",
        "name": "Fang Gu",
        "edition": "snv",
        "image": [
            "https://botc.app/assets/fanggu_e-6DavSWxL.webp",
            "https://botc.app/assets/fanggu_g-Dwai_VtD.webp"
        ],
        "team": "demon",
        "otherNight": 45,
        "otherNightReminder": "The Fang Gu chooses a player. :reminder: If they chose an Outsider (once only): Replace the Outsider token with the spare Fang Gu token. Put the Fang Gu to sleep. Wake the target. Show the *YOU ARE* and Fang Gu tokens & give a thumbs-down. :reminder:",
        "reminders": [
            "Dead",
            "Once"
        ],
        "setup": true,
        "ability": "Each night*, choose a player: they die. The 1st Outsider this kills becomes an evil Fang Gu & you die instead. [+1 Outsider]",
        "flavor": "Your walls and your weapons are but smoke in dreams.",
        "special": [
            {
                "name": "bag-duplicate",
                "type": "selection"
            }
        ]
    },
    "harlot",
    "matron",
    {
        "id": "apprentice_dp",
        "name": "Apprentice",
        "edition": "bmr",
        "image": [
            "https://botc.app/assets/apprentice-Dq5aGiYi.webp",
            "https://botc.app/assets/apprentice_g-qVS2q4bN.webp",
            "https://botc.app/assets/apprentice_e-BEpvFWvS.webp"
        ],
        "team": "traveller",
        "firstNight": 9,
        "firstNightReminder": "Show the *YOU ARE* info token, then a Townsfolk or Minion token. Swap the Apprentice & Townsfolk or Minion tokens. :reminder:",
        "reminders": [
            "Is The Apprentice"
        ],
        "setup": false,
        "ability": "On your 1st night, you gain a Townsfolk ability (if good), or a Minion ability (if evil).",
        "flavor": "For years have I traveled, studying the ways of The Craft. Which craft, you ask? Simply that of the simple folk. Nothing to worry about. Not yet.",
        "jinxes": [
            {
                "id": "marionette_dp",
                "reason": "If the Apprentice gains the Marionette ability, they think they are good & gained a Townsfolk ability."
            }
        ],
        "special": [
            {
                "name": "grimoire",
                "type": "signal",
                "time": "night"
            }
        ]
    },
    "beggar",
    "scapegoat",
    "bootlegger",
    {
        "id": "grognard",
        "name": "Grognard",
        "image": [
            "https://www.impeccabletiming.net/botc/grognard.png"
        ],
        "team": "loric",
        "setup": false,
        "ability": "This script uses out-of-date characters or jinxes.",
        "flavor": "It's an older Djinn rule sir, but it checks out."
    },
    "djinn"
]