efa4a0fa4b | ||
---|---|---|
.github | ||
public | ||
server | ||
src | ||
.eslintrc.js | ||
.gitignore | ||
CHANGELOG.md | ||
CNAME | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
package-lock.json | ||
package.json | ||
vue.config.js |
README.md
Blood on the Clocktower Grimoire & Town Square
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 allow them to quickly set up and capture game states for their players.
To set up a game as the host, check out this tutorial video:
Features
- Public Town Square and Storyteller Grimoire (toggle with shortcut [G])
- Supports custom script JSON generated by the Script Tool
- Live Session for Storyteller / Players including live voting and character distribution!
- Includes all 3 base editions, Travelers and Fabled
- Night sheet and reminder text for each character ability to help storytellers
- Many other customization options!
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 is shown only locally, if you want your players to see it as well, they will have to upload the same JSON file that you used.
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
- id: the internal ID for this character, without spaces or special characters
- image: a URL to a PNG of the character token icon (should have a transparent background!)
- edition: the ID of the edition for this character. can be left blank or "custom"
- firstNight / otherNight: the position that this character acts on the first / other nights, compared to all other characters
- firstNightReminder / otherNightReminder: reminder text for first / other nights
- reminders: reminder tokens, should be an empty array
[]
if none - remindersGlobal: global reminder tokens that will always be available, no matter if the character is assigned to a player or not
- setup: whether this token affects setup (orange leaf), like the Drunk or Baron
- name: the displayed name of this character
- team: the team of the character, has to be one of
townsfolk
,outsider
,minion
,demon
ortraveler
- ability: the displayed ability text of the character
Note: in order to use custom characters in live sessions, your players have to load the same JSON file that the storyteller has loaded before joining the live session.
Code of Conduct
Contributing
Acknowledgements and Copyrights
- Blood on the Clocktower is a trademark of Steven Medway and The Pandemonium Institute
- Night reminders and other auxiliary text written by Ben Finney
- Iconography by Font Awesome
- Background image by Ryan Maloney
- Webfonts by Google Fonts and Online Web Fonts
- All other images and icons are copyright to their respective owners
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: