dmutters / 5emonstergenerator

Scripts for generating Dungeons and Dragons 5th Edition monster stats.
GNU General Public License v3.0
0 stars 0 forks source link

Written by Dane Mutters.

Current development branch: 0.1-dev

Current release branch: 0.1

5emonstergenerator

Scripts for generating Dungeons and Dragons 5th Edition monster stats.

SCRIPTS

monstergenerator.py

This script generates basic monster stats for monsters of the specified challenge ratings (1 and above). It will suggest ranges for customizing monsters based on your concept. Most of the math in this script is based on the excellent work of the folks at blogofholding.com.

For more information about how to use these statistics, as well as a detailed explanation of the statistical calculations, go here: https://www.blogofholding.com/?p=7338

It should be noted that this script, while generally consistent with the statistics of official monsters in the Monster Manual, will produce monsters that are drastically different in capabilities relative to offical monsters that are, themselves, drastically inconsistent with the overall way in which Wizards of the Coast creates monsters. One example is the Tarrasque, which is far too weak to be a Challenge Rating 35 monster. A CR 35 monster created with this script will provide a deadly challenge worthy of its challenge rating.

Finally, it should be noted that this script provides basic statistics only. You will need to determine what resistances/immunities they have, what legendary abilities they have, whether they can fly, etc. A monster that has appropriate statistics for a given CR may not provide an adequate challenge to players that can simply fly out of its reach and shoot it with arrows until it dies (see also: Tarrasque). Consider carefully what your players can and can't do when using these statistics to create the final version of your new monster.

xp_by_cr.py

This script uses a best-fit equation to generate appropriate Experience Point (XP) values for monsters of any challenge rating (1 and above). Since the XP values for monsters in the Monster Manual aren't entirely mathematically consistent, you'll see some variation between the results of this script and the XP values of official monsters. If you want your XP values to be identical to those in the Monster Manual for a given CR, simply find a monster of that CR in the Monster Manual and use its XP value for your new monster. The main purpose of this script is for generating XP values for monster CRs that don't exist in the official books, such as those of Challenge Rating 26 (as of the time of writing).

xp_by_character_level.py

This script uses a best-fit equation to calculate XP targets per player character (PC) at each level. Since the values in the Dungeon Master's Guide aren't mathematically consistent, there will be some variation between the XP values generated by this script and those found in the DMG. To use this script, determine the target challenge level (Easy, Medium, Hard, Deadly) and fill in the level of the player characters. Then multiply that value by the number of player characters and use that as a guide when creating encounters. (Refer to DMG page 82.) The resulting value will be the lower limit of XP for an encouter of the chosen difficulty. To determine the upper limit, run the script again and choose the higher difficulty. Anything between the two values will provide the difficulty level you're looking for.

If you have a party consisting of multiple player character levels, you'll need to either use the average level (as an integer) or run the script multiple times and total the results based upon the number of PCs at each level.

INSTALLATION

These scripts are designed to work on any OS that has Python 3 and standard libraries installed, along with the "Colorama" module for text colorization. Install these dependencies, as below, then run the Python scripts by double-clicking or executing them on the command line. (Remember to make them executable as programs first.)

INSTALL PYTHON3 AND THE COLORAMA MODULE

LINUX

Use the system package manager to install Python 3 and the colorama module. On Ubuntu:

sudo apt update && sudo apt install python3
pip install colorama

Make the script executable:

chmod +x monstergenerator.py

MAC

Go here and download the latest "macOS 64-bit universal2 installer".
https://www.python.org/downloads/macos/ Run the installer. Install it with administrator privileges for all users and add it to the PATH if prompted to do so. Then execute this in a terminal:

pip install colorama

Make the script executable:

chmod +x monstergenerator.py

WINDOWS

Go here and download the latest "Windows installer (64-bit)". https://www.python.org/downloads/windows/ Run the installer. Install it with administrator privileges for all users and add it to the PATH when prompted to do so. Disable the PATH length limit if prompted to do so. Then execute this in a CMD or Powershell window:

pip install colorama