dndR
: Dungeons & Dragons Functions for Players and Dungeon MastersThe goal of dndR
is to provide a suite of Dungeons & Dragons (Fifth
Edition a.k.a. “5e”) related functions to help both players and Dungeon
Masters (DMs). Below are short descriptions of the functions currently
included in dndR
. I am always willing to expand that list though so if
you have a D&D-related task that could be cool as a function, please
post it as an Issue on this
package’s GitHub repository!
You can install the development version of dndR
from
GitHub with:
# install.packages("devtools")
devtools::install_github("njlyon0/dndR")
roll
– Roll specified number of dice and sums their outcomes.
Supports returning the individual die results as a message and/or
re-rolling 1s via optional arguments.pc_creator
– Stat out a character of specified race and class
using your preferred method of rolling ability scores
Run dnd_races()
or dnd_classes()
to see which races/classes are
currently supported by pc_creator
ability_scores
– Roll for six ability scores using specified
method (e.g., 4d6 drop lowest, 3d6, or 1d20). Agnostic to character
race and/or class
mod_calc
– Calculate roll modifier for given ability score(s)
pc_level_calc
– Identify the current level of a player character
based on earned experience points (XP). Also returns the proficiency
modifier to be used at that level
Thank you to Humberto Nappo for contributing this function!
npc_creator
– Pick a job and race for any number of non-player
characters (NPCs). Hopefully this provides a useful starting point
when describing the patrons of a tavern or the travelers players
glimpse on the edge of the flickering light cast by their campfire
creature_list
– Identify all creatures that fit certain criteria
(e.g., experience point value, creature type, size, etc.)
creature_text
– Retrieve full information and ability/action
information text for specified creature(s)
monster_stats
– Return generic monster stat block of specified
experience point (XP) value or challenge rating (CR)
monster_creator
– Generate a homebrew monster with additional
immunities and vulnerabilities of specified difficulty (adjustment for
these is performed automatically)
This function is inspired by Zee Bashew’s video on creating Witcher-esque homebrew monsters
cr_convert
– Converts challenge rating into equivalent
experience point value
spell_list
– Identify all spells that fit certain criteria
(e.g., spell level, school of magic, character class list, etc.)
spell_text
– Retrieve full information and description text for
specified spell(s)
encounter_creator
– Pick set of creature experience point values
that constitute a balanced encounter of specified difficulty and given
party composition information
xp_pool
– Identify experience point total for desired encounter
difficulty at a specified player level and party size
xp_cost
– Find “realized” experience point amount by applying
appropriate multiplier for “raw” XP based on number of enemy creatures
and party size
party_diagram
– Create a ggplot2
diagram of party ability
scores separated either by player or by score. This plot can be useful
in identifying the strengths and weaknesses of the party as a whole to
help you (the DM) create encounters with that in mindprobability_plot
– Generate a ggplot2
plot of the frequency of
roll outcomes for the specified type and number of dice. You can also
specify the number of times to roll those dice to inform the plotdndR
If you’d like to contribute function scripts or ideas, that is more than
welcome! For specific instructions check out CONTRIBUTING.md
but at a
glance:
For function ideas, open a Github issue
For function scripts, either open a Github
issue or fork the
repository and add your content to the dev
folder and submit a pull
request
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.