Randomly generates 5th edition Dungeons & Dragons characters.
"plural personae : a character in a fictional presentation (such as a novel or play) —usually used in plural"
“Persona.” The Merriam-Webster.com Dictionary, Merriam-Webster Inc., https://www.merriam-webster.com/dictionary/personae.
personaednd is a tool for generating 5th edition Dungeons & Dragons characters for both Players and DMs.
With no offense given towards those who prefer such, personaednd attempts to generate characters according to a "role player" perspective and not from a "roll player" perspective.
Installation is pretty simple and straightforward.
- Open your terminal and type
pip3 install personaednd.
- Open your terminal then change into the directory where you wish to clone the repository.
git clone https://github.com/sg679/personaednd.gitto clone the repository, assuming Git is installed.
- Change into the cloned repository and type
python3 setup.py install.
Note that the GitHub codebase may be slightly more updated than the code on PYPI.
To run, type
personaednd in your terminal, which will run the application with the default options as defined below.
Here are some other options if you wish to fine tune your character.
Usage: personaednd [OPTIONS] Options: -race TEXT Character's chosen race. [default: Aasimar; required] [Aasimar|Dragonborn|Dwarf|Dwarf, Duergar|Dwarf, Hill|Dwarf, Mountain|Elf|Elf, Drow|Elf, Eladrin|Elf, High|Elf, Sea|Elf, Wood|Gnome|Gnome, Forest|Gnome, Rock|Half-elf|Half-orc|Halfling|Halfling, Lightfoot|Halfling, Stout|Human|Tiefling] -background TEXT Character's chosen background. [default: Acolyte; required] [Acolyte|Charlatan|Criminal|Entertainer|Folk Hero|Guild Artisan|Hermit|Noble|Outlander|Sage|Sailor|Soldier|Urchin] -class_ TEXT Character's chosen class. [default: Barbarian; required] [Barbarian|Bard|Cleric|Druid|Fighter|Monk|Paladin|Ranger|Rogue|Sorcerer|Warlock|Wizard] -archetype TEXT Character's chosen archetype. -level INTEGER Character's chosen class level. [default: 1; required] [1-20] -variant TEXT Determines if variant trait applies. [default: false; required] [false|true] --version Show the version and exit. --help Show this message and exit.
All the character data used within the application: backgrounds, classes, feats, skills, tools, races and weapon proficiencies, are defined within a YAML file within the sources sub package called sources.yml. This file can be modified to include additional content by following the defined format.
4. Change Log
Version 0.1.6 (2.16.20)
- Added Duergar and Sea Elf subraces from Mordenkainen's Tome of Foes to sources file. Updated Eladrin to reflect the version described in the aforementioned book.
- TODO: Eventually plan to add all subraces from MBoF.
Version 0.1.5 (2.8.20)
- Added -variant option to CLI interface. Accepts 'false' or 'true'. Defaults at 'false'.
- Added variant argument to ScoreImprovement constructor.
- Fixed Skills.select_skills overlap bug.
- Added variant argument to Skills.select_skills method.
- Proficiency bonus now uses formula to determine the value (level/4) + 1.
Version 0.1.4 (2.2.20)
- Fixed a typo in the setup script at release.
Version 0.1.3 (2.2.20)
- Merged version updates 0.1.2 with 0.1.3.
- Overall better ability score assignments.
- Redone the ScoreAssigner and ScoreImprovement classes. They both implement the quick build rules for each class by default.
- Added --version option to CLI interface.
- Code rewrite for the purpose of better adhering to PEP-8 coding standards.
- VERSION REBOOT - Restarted version numbering since the transformation of personaednd from a GUI to a CLI application.
Version 0.1.1 (1.12.20)
- Various code tweaks and fixes.
Version 0.1.0 (1.4.20)
- Fixed tool proficiency selection for Monks.
- Skilled feat now works to give a choice of three bonus skills and/or TOOLS. Previously only selected three skills.
- Renamed sub package 'app_data' to 'source'.
Version 0.0.9 (12.27.19)
- Weapon Master feat now adds proficiency with four simple or martial weapons as normal.
- Fixed functionality with Lightly Armored, Moderately Armored, Heavily Armored, and Weapon Master feats in the has_requirements Feats class method.
- If the character has Light armor proficiency they won't meet the requirements for Lightly Armored.
- If the character has Medium armor proficiency they won't meet the requirements for Moderately Armored.
- If the character has Heavy armor proficiency they won't meet the requirements for Heavily Armored.
- If a character is proficient with Martial weapons, they likely have proficiency with Simple weapons too, meaning they can already use all weapons and thus won't "meet" the requirements for Weapon Master.
- Added work around for numpy bug in dice roller array.
Version 0.0.8 (12.22.19)
- Code rewrite and bug fixes.
Version 0.0.7 (12.15.19)
- Fixed bug in the YAML query script.
Version 0.0.6 (12.15.19)
- Re-coded various sections of the program.
- Removed recipients or more accurate a 'suggestions' section from the _character.yaml file. The recipients section was originally used as a set of suggested classes that might chose a particular feat - most were left blank to begin with beforehand.
- Added background equipment list to character sheet.
- Added debugging output to 'Dice.roll_drop_lowest' method.
Version 0.0.5 (12.13.19)
- Code tweaks.
Version 0.0.4 (12.11.19)
- Fixed bug where generated scores never seemed to be over 15 programmer oversight.
- Changed score threshold to 60 from 70. It'll keep re-rolling until it meets this threshold.
- Added condition that the lowest score rolled can be no lower than 8.
- Modified 'Dice.roll_drop_lowest' to generate all six ability scores instead of one.
- Removed 'roll_ability_scores' function. Functionality transferred to 'Dice.roll_drop_lowest'.
Version 0.0.3 (12.8.19)
- Character 'background' has been added to the character sheet.
Version 0.0.1 (12.6.19)
- First converted to a command-line application from GUI.
- Implemented bonus languages based on character's background.
- Simplified the character database for ease of user customization.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size personaednd-0.1.6.tar.gz (21.7 kB)||File type Source||Python version None||Upload date||Hashes View|
|Filename, size personaednd-0.1.6-py3-none-any.whl (22.0 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
Hashes for personaednd-0.1.6-py3-none-any.whl