Emacs minor mode for tabletop roleplaying games that use a d20
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github add project administrivia files Dec 31, 2018
CONTRIBUTING.rst add project administrivia files Dec 31, 2018
DEVELOPER-CERTIFICATE add project administrivia files Dec 31, 2018
LICENSE add LICENSE and NEWS.md Dec 31, 2018
NEWS.md add :types to defcustoms Jan 20, 2019
README.md MELPA installation instructions Feb 1, 2019
TODO.md rm done TODO Jan 6, 2019
org-d20.el add :types to defcustoms Jan 20, 2019

README.md

MELPA MELPA Stable

org-d20

Description

org-d20 is a minor mode for Emacs' Org-mode for GMs running games whose rules centre around rolling d20s. It should be useful for Dungeons and Dragons 3rd, 4th and 5th editions, Paizo's Pathfinder, and d20 System games like d20 Modern.

The idea is that you're already keeping your campaign notes in an Org-mode file. This minor mode does useful things for you while you are visiting that buffer. For example,

  • rolling dice, with 5e's advantage and disadvantage displayed in case those are needed;

  • tracking combat turns and rounds right next to your existing description of the monsters and the terrain.

The minor mode's defaults suit the way that I run D&D 5e. Patches to add defcustoms to make org-d20 more suitable for other games, and other sets of house rules, are welcome.

Screenshot

screenshot

Installation

You may copy org-d20.el to somewhere in your load-path and simply

(autoload 'org-d20-mode "org-d20.el")

or install from MELPA (or MELPA stable).

Usage

It's useful to activate the mode automatically when you open the Org-mode file in which you are keeping your campaign notes. You can also specify the names of your party members, and their initiative modifiers, if you want to use org-d20's combat tracker.

You can either end the Org-file with a footer like this:

 # Local Variables:
 # mode: org
 # mode: org-d20
 # org-d20-party: (("Zahrat" . 2) ("Ennon" . 4) ("Artemis" . 5))
 # End:

or start it with a first line like this:

# -*- mode: org; mode: org-d20; org-d20-party: (("Zahrat" . 0) ("Anca" . 1)) -*-

Then close and reopen the file. Emacs will probably ask you to confirm that the value for org-d20-party that you've supplied is safe.

The following bindings should then be available:

  • C-c , i -- start a combat, or advance the turn/round counter for an existing combat, depending on point
  • C-c , a -- add new monsters to an existing combat
  • C-c , d -- apply damage to the monster at point
  • C-c , r -- prompt for dice expression and evaluate it
  • <f10> -- evaluate the dice expression (e.g. 4d10) at point
  • <f11> -- roll the last dice expression again
  • <f12> -- roll d20, with advantage and disadvantage shown
  • S-<f12> -- roll percentile dice

Bugs/patches

Please report bugs and submit patches by e-mail to <spwhitton@spwhitton.name>.

License

Copyright (C) 2017-2018 Sean Whitton

org-d20 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

org-d20 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with org-d20. If not, see http://www.gnu.org/licenses/.