A minor mode for playing DnD
  • Emacs Lisp 50.9%
  • YASnippet 48.9%
  • Shell 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-08 17:52:20 +02:00
examples/characters what in the fuck 2026-07-19 20:19:13 +02:00
resources Added the initial files 2022-02-08 12:42:17 -06:00
snippets/org-mode charsheet template: actually make use of template args 2026-07-22 08:15:33 +02:00
.gitignore gitignore emacs tempfiles 2026-07-19 16:39:11 +02:00
dnd-mode.el new dice notation parser and dice roller implementation 2026-08-08 17:52:20 +02:00
dnd-org-extensions.el enable lexical binding everywhere 2026-07-30 10:21:08 +02:00
readme.org Update readme.org 2026-07-19 12:04:12 +02:00
rtd.el new dice notation parser and dice roller implementation 2026-08-08 17:52:20 +02:00
run-tests.sh add initial test 2026-07-19 16:38:41 +02:00
tests.el new dice notation parser and dice roller implementation 2026-08-08 17:52:20 +02:00

DnD Mode

Disclaimer

I shamelessly forked this from https://github.com/WMaxZimmerman/dnd-mode None of the original code is mine. There is no license on it, woopsie daisy.

Description

This is a minor mode for emacs that allows for the easy management of campaigns and characters for DnD. This mode primarily relies on org-mode to be the engine of this mode. For the best use of this mode it is recommended to be familiar with org-agenda and org-capture. You are able to use this mode without that knowledge, but some of the features will be missed. The charsheet will function with emacs 'out of the box' as org is already there.

Installation

To use this package in your configuration you can copy the dnd-mode.el file or clone this repository. To utilize the SRD files you can copy or clone the files in the org-dnd-srd repository. This mode will expect those files to exist and will likely break if you don't at least have the .agenda-index file. For more information about where the default of this folder is expected to be or how to customize it see the customization section below.

This package will also want to utlize a set of yasnippets that will make editing character sheets and files easier when the mode is toggled on. You will likely want to at least have a valid directory set, but you can choose to not have any snippets in there.

Usage

Default Key Strokes - When mode is on

Shortcut Function
C-c s dnd-select-session-target
C-c e dnd-eval-charsheet
C-c r rtd

Functions

dnd-select-session-target
Updates org agenda files and org capture templates.
dnd-eval-charsheet
Evaluates the dnd character sheet that you are currently in.
rtd
Roll the dice. "Randomly" generated value for given pass ins. EX 1d20 + 1.

Customization

dnd-srd-dir

This variable defines the directory location of the DnD SRD org files. These can be the files that are defined in the org-dnd-srd repository, or any org files that you have for SRD files. The important thing to note is that the directory will need to have a .agenda-index file that specifies the relative paths (from the directory) to the files that should be added to the org-agenda.

Default
~/org-dnd-srd

dnd-snippet-dir

This variable defines the directory location of the yasnippets that should be toggled on when the dnd-mode is toggled on. This repository does have snippets stored with it inside the snippets directory.

Default
~/dnd-mode/snippets

dnd-org-capture-templates

This variable defines the capture templates that will be used when the dnd-mode is toggled on. This repo some basic templates that can be used, but your campaigns and characters will likely be different and, therefor, may need different templates.

Default
a basic template for inbox TODOs and notes.

Screen Captures

Character Sheet

/Follpvosten/dnd-mode/media/branch/main/resources/characater_sheet.gif

Search SRD

/Follpvosten/dnd-mode/media/branch/main/resources/search_srd.gif