Skip to main content

A Python library for producing custom scripts in Blood On The Clocktower.

Project description

Scriptmaker

A PDF writer for Blood on the Clocktower scripts.

Scriptmaker includes some special features:

  • support for modern and legacy base3+experimental custom scripts
  • homebrew character support via the official app's character schema
    • as a result, supports translations too!
  • nightorder styles: single-sided rotated, or double-sided full-text
  • i18n support with fallback rendering modes

Significant credit goes to chizmw for inspiration and assets!

Stack

  • Python
  • poetry
  • jinja2

Examples

Trouble Brewing

Custom script & homebrew

Usage

Installation

Install the package with your package manager of choice.

pip install scriptmaker
poetry add scriptmaker
...

Creating a script

  1. Import everything you need.
from scriptmaker import Character, Data, Script, ScriptmakerError
  1. Create a data store for your new script.
# Create a datastore (leaving it blank uses a temporary directory)
my_datastore : Data = Data("my/output/directory")

# Load the official characters into it, if you want
my_datastore.add_official_characters()
  1. Load a script.json file.
with open("my/script.json", "r") as json_file:
    my_script_json = json.load(json_file)

# Loads the characters into the datastore, then builds a script object too
my_script : Script = my_datastore.load_script(my_script_json)
  1. Set your desired options on the script if not already in the script.json.
# Metas are set if there was a _meta block in the script.json
my_script.meta.author = "rsarvar1a"

# Options have defaults; see ScriptOptions()
my_script.options.i18n_fallback = True
  1. Render it!
my_script.render()

Changelog

1.0.0 - packages are neat

  • Character updates:
    • adds the Ojo
  • Features:
    • adds a fallback switch for translations that didn't play well with default style
  • Breaking changes:
    • if you were using the (unpackaged) version of scriptmaker, you will need to write your own scripts

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scriptmaker-1.0.0.tar.gz (22.1 MB view hashes)

Uploaded Source

Built Distribution

scriptmaker-1.0.0-py3-none-any.whl (22.1 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page