townsquare

Blood on the Clocktower Grimoire & Town Square

:warning: This project is no longer actively maintained and will only receive critical bug fixes. :warning:

social

This is an unofficial online tool to run Blood on the Clocktower games through Discord or other digital means. It is supposed to aid storytellers and players by allowing them to quickly set up games, run votes and much more.

You can try it online!

If you want to learn more about how to use the app as a player, JayBotC kindly created two tutorial videos.

How to host a game

How to host a game

How to play a game

How to play a game

Features

Custom Script Support

Any custom script generated by the official Script Tool is supported out of the box and you only need to upload it to get the selected set of characters into your grimoire. If you want to customize your script further, there is an additional "_meta" object that you can add to the script like you would add a normal character:

[
  {
    "id": "_meta",
    "name": "Deadly Penance Day",
    "author": "TPI",
    "logo": "https://url.to/your/logo.png"
  }
]

This will provide your local Grimoire (and those of your live session players) with more information to show about your custom script - instead of “Custom Script” it would show “Deadly Penance Day” on the character reference sheet, for example. The logo will be shown to your players after they have enabled custom images in the Grimoire menu.

Custom Character Support

In order to add custom characters to your local Grimoire, you need to create a JSON definition for them, similar to what is provided in the roles.json for the 3 base editions. Here’s an example of how such a character definition file might be written:

[
  {
    "id": "acrobat",
    "image": "https://github.com/bra1n/townsquare/blob/main/src/assets/icons/acrobat.png?raw=true",
    "edition": "custom",
    "firstNight": 0,
    "firstNightReminder": "",
    "otherNight": 49,
    "otherNightReminder": "If either good living neighbor is drunk or poisoned, the Acrobat dies.",
    "reminders": ["Die"],
    "remindersGlobal": [],
    "setup": false,
    "name": "Acrobat",
    "team": "outsider",
    "ability": "Each night*, if either good living neighbor is drunk or poisoned, you die."
  },
  { 
    "id": "investigator" 
  },
  { 
    "id": "imp" 
  }
]

This definition JSON includes a custom character, the Acrobat, and 2 base game characters, the Investigator and the Imp. For base game characters, it is sufficient to only provide the ID, similar to what you get from the Script Tool.

Required properties: id, name, team, ability

Code of Conduct

Contributing

Acknowledgements and Copyrights

This project and its website are provided free of charge and not affiliated with The Pandemonium Institute in any way.

Donations

This project will always be available free of charge, since I love building cool things and playing Blood on the Clocktower. If you still want to support me with a donation, you can do that here:

Donate