GithubHelp home page GithubHelp logo

threnklyn / dungeon-sheets Goto Github PK

View Code? Open in Web Editor NEW

This project forked from canismarko/dungeon-sheets

0.0 0.0 0.0 15.91 MB

A tool to create character sheets and GM session notes for Dungeons and Dragons fifth edition (D&D 5e).

Home Page: https://dungeon-sheets.readthedocs.io/en/latest/

License: GNU General Public License v3.0

Python 97.64% CSS 0.12% TeX 1.36% Makefile 0.02% HTML 0.86%

dungeon-sheets's Introduction

Dungeon Sheets

A tool to create character sheets and session notes for Dungeons and Dragons 5th edition (D&D 5e).

Build status Test coverage status Documentation Status

Documentation

Documentation can be found on readthedocs.

Installation

$ pip install dungeonsheets

Note

Dungeon sheets requires at least python 3.6. This is mostly due to the liberal use of f-strings. If you want to use it with previous versions of python 3, you'll probably have to replace all the f-strings with the older .format() method or string interpolation.

Optional External dependencies

  • You may use pdftk to generate the sheets in PDF format.
  • You will need pdflatex, and a few latex packages, installed to generate the PDF spell pages (optional).

If pdftk is available, it will be used for pdf generation. If not, a fallback python library (pdfrw) will be used. This has some limitations:

  • Produces v1.3 PDF files
  • Not able to flatten PDF forms
  • Will produce separate character-sheets, spell-lists and spell-books.

Different linux distributions have different names for packages. While pdftk is available in Debian and derivatives as pdftk, the package is not available in some RPM distributions, such as Fedora and CentOS. One alternative would be to build your PC sheets using docker.

If the pdflatex command is available on your system, spellcasters will include a spellbook with descriptions of each spell known. If not, then this feature will be skipped.

In order to properly format descriptions for spells/features/etc., some additional latex packages are needed. On Ubuntu these can be install with:

$ sudo apt-get -y install pdftk texlive-latex-base texlive-latex-extra texlive-fonts-recommended

Usage

Each character or set of GM notes is described by a python (or a VTTES JSON) file, which gives many attributes associated with the character. See examples for more information about the character descriptions.

The PDF's can then be generated using the makesheets command. If no filename is given, the current directory will be parsed and any valid files found will be processed. If the --recursive option is used, sub-folders will also be parsed.

$ cd examples
$ makesheets

dungeon-sheets contains definitions for standard weapons and spells, so attack bonuses and damage can be calculated automatically.

Consider using the -F option to include the excellent D&D 5e template for rendering spellbooks, druid wild forms and features pages (https://github.com/rpgtex/DND-5e-LaTeX-Template).

If you'd like a step-by-step walkthrough for creating a new character, just run create-character from a command line and a helpful menu system will take care of the basics for you.

Content Descriptions

The descriptions of content elements (e.g. classes, spells, etc.) are included in docstrings. The descriptions should ideally conform to reStructured text. This allows certain formatting elements to be properly parsed and rendered into LaTeX or HTML:

class Scrying(Spell):
  """You can see and hear a particular creature you choose that is on
  the same plane of existence as you. The target must make a W isdom
  saving throw, which is modified by how well you know the target
  and the sort of physical connection you have to it. If a target
  knows you're casting this spell, it can fail the saving throw
  voluntarily if it wants to be observed.

  Knowledge - Save Modifier
  -------------------------
  - Secondhand (you have heard of the target) - +5
  - Firsthand (you have met the target) - +0
  - Familiar (you know the target well) - -5

  Connection - Save Modifier
  --------------------------
  - Likeness or picture - -2
  - Possession or garment - -4
  - Body part, lock of hair, bit of nail, or the like - -10

  """
  name = "Scrying"
  level = 5
  ...

dungeon-sheets's People

Contributors

94d90b08-c4ef-416c-bf7b-b6c5b7275e6a avatar agrgordon avatar allemangd avatar athos-ribeiro avatar bacook17 avatar bw-mutley avatar canismarko avatar cemkeylan avatar danroscigno avatar geckon avatar jeromkiller avatar jonbrouse avatar jrmo14 avatar knightmustard avatar majamin avatar matsavage avatar meson800 avatar plsaddbloodhunter avatar rkubosz avatar stravajiaxen avatar tim-jackins avatar tlater avatar vkerman avatar zarandya avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.