• Stars
    star
    129
  • Rank 279,262 (Top 6 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created about 8 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Python program for generating LaTeX code that will generate a nice looking deck of cards with Dungeons and Dragons 5e spells on them.

D&D Spelldeck

While Dungeons and Dragons is great fun, it can be a chore to wade through the Player's Handbook to find out what one of your spells does. This tool attempts to make this easier by allowing you to create a deck of spells; a pile of cards with all your spells and the most important information about them so you can speed up the game.

Preview

A card looks something like this. As you can see, some (many) cards need to have their text truncated because there is simply too much to put on a small card.

An example of a spell card

Usage

The first step is to create the appropriate LaTeX spell list. To do so, use the generate.py program. The output of this program should be stored in a file called spells.tex. By default, this selects all spells in the game so if you want to be economical you can filter them by class, level or school. Some examples of this:

# This simply outputs all possible spells.
$ ./generate.py > tex/spells.tex

# This outputs all spells for bards and fighters
$ ./generate.py -c bard -c fighter > tex/spells.tex

# This outputs all spells of levels 0, 2, 5, 6 and 7
$ ./generate.py -l 0 -l 2 -l 5-7 > tex/spells.tex

# This outputs all warlock spells of levels 0 through 3
$ ./generate.py -c warlock -l 0-3 > tex/spells.tex

After this is finished, use your favourite LaTeX compiler to first compile cards.tex which will produce a 8.89x6.35cm page for every spell (same size as a Magic: The Gathering card so your sleeves will work!). Then, compile printable.tex which will arrange them neatly on a sheet of paper so you can print them and then cut them to size. I like to use the following command:

$ latexmk -xelatex -cd tex/cards.tex tex/printable.tex

Paper sizes

If you are so uncivilised that you don't use the A4 paper format, you should change this in the printable.tex file. You may also need to change the number of cards on each page.

Fonts

These cards look best, in my opinion, if printed in the font Wizards of the Coast uses for the Player's Handbook, which is Mrs Eaves. If you compile with the XeLaTeX compiler, it will attempt to use this font. It is a proprietary font, however, and if you do not own it, use a non-XeLaTeX compiler instead which will compile with the default LaTeX font. Feel free to play around with this!

Copyright and credit

The spells included in this repository as well as the background for the cards are property of Wizards of the Coast. This stuff should be licensed under the Open Gaming License and the LICENSE file included does not cover them, only the Python and LaTeX code.

Instrumental in creating this product were reddit user Afluffygrue in this thread for providing the spell data and the people at UnearthedArcana for making all sorts of graphical resources available.

If I fucked up here (I don't speak legalese) please contact me before sending a team of angry lawyers and/or highly trained assassin-monkeys.

More Repositories

1

eve-abyssal-market

An abyssal module marketplace for EVE Online.
Python
29
star
2

shadowsea

A super basic terminal-based forum as Shadowrun fluff.
HTML
11
star
3

Star-Wars-RPG-LaTeX

A LaTeX package for typesetting adventures, rule supplements and other documents related to the Fantasy Flight series of Star Wars roleplaying games, namely Edge of the Empire, Age of Rebellion and Force and Destiny.
TeX
11
star
4

cocosnoot

A set of tests and miscellaneous useful files for the Compiler Construction (Compilerbouw) course at the University of Amsterdam (UvA)
Shell
9
star
5

Edge-of-the-Empire-dice

A Python utility used for rolling special dice used in the Star Wars: Edge of the Empire roleplaying game (and variants).
Python
5
star
6

new-eden-route-derivation

An open-source advanced routing program for EVE Online.
C++
4
star
7

adibags-better-categories

An AdiBags filter that more accurately classifies trade goods and consumables
Lua
2
star
8

pieter

A work-in-progress Piet interpreter written in Rust.
Rust
2
star
9

GMR-Linux

Giant Multiplayer Robot client for Linux, based on Python.
Python
2
star
10

eve_lunar_mining_organiser

A Django application for tracking and managing EVE Online's new moon mining system
Python
1
star
11

Happening-Never-Have-I-Ever

A plugin for the happening application which provides a clone of the Never Have I Ever party game.
CoffeeScript
1
star
12

alex

An Array Layout Evolution eXperiment to find efficient multi-dimensional array layouts through evolutionary algorithms
Python
1
star
13

aoc2023-hs

My Haskell solutions to Advent of Code 2023
Haskell
1
star
14

aoc2020-hs

Haskell solutions to the Advent of Code challenges of 2020.
Haskell
1
star
15

EVE-Fleetboss

A Django app for managing EVE Online fleets
Python
1
star
16

predditors-tracker

The cloaky camping alt tracker for Predditors.
Python
1
star
17

lipstick

Optimistic upper bounds for heterogeneous task graphs using linear programming
Python
1
star