{ "info": { "author": "Marcus T Taylor", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Topic :: Games/Entertainment :: Role-Playing" ], "description": "# personaednd (0.1.6)\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![](https://camo.githubusercontent.com/14a9abb7e83098f2949f26d2190e04fb1bd52c06/68747470733a2f2f626c61636b2e72656164746865646f63732e696f2f656e2f737461626c652f5f7374617469632f6c6963656e73652e737667)](https://github.com/sg679/personaednd/blob/master/LICENSE)\n\n### 1. Introduction\n\n> \"plural personae : a character in a fictional presentation (such as a novel or play) \u2014usually used in plural\" \n\n> \u201cPersona.\u201d The Merriam-Webster.com Dictionary, Merriam-Webster Inc., https://www.merriam-webster.com/dictionary/personae.\n\n***personaednd*** is a tool for generating 5th edition Dungeons & Dragons characters for both Players and DMs.\n\nWith 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.\n\n### 2. Installation\n\nInstallation is pretty simple and straightforward.\n\n##### Method #1\n\n1. Open your terminal and type ```pip3 install personaednd```.\n\n##### Method #2\n\n1. Open your terminal then change into the directory where you wish to clone the repository.\n2. Type ```git clone https://github.com/sg679/personaednd.git``` to clone the repository, assuming Git is installed.\n3. Change into the cloned repository and type ```python3 setup.py install```.\n\nNote that the GitHub codebase may be slightly more updated than the code on PYPI.\n\n### 3. Usage\n\nTo run, type ``` personaednd ``` in your terminal, which will run the application with the default options as defined below.\n\nHere are some other options if you wish to fine tune your character.\n\n```\nUsage: personaednd [OPTIONS]\n\nOptions:\n -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]\n -background TEXT Character's chosen background. [default: Acolyte; required] [Acolyte|Charlatan|Criminal|Entertainer|Folk Hero|Guild Artisan|Hermit|Noble|Outlander|Sage|Sailor|Soldier|Urchin]\n -class_ TEXT Character's chosen class. [default: Barbarian; required] [Barbarian|Bard|Cleric|Druid|Fighter|Monk|Paladin|Ranger|Rogue|Sorcerer|Warlock|Wizard]\n -archetype TEXT Character's chosen archetype.\n -level INTEGER Character's chosen class level. [default: 1; required] [1-20]\n -variant TEXT Determines if variant trait applies. [default: false; required] [false|true]\n --version Show the version and exit.\n --help Show this message and exit.\n```\n\n###### Customization\n\nAll 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.\n\n### 4. Change Log\n\n###### Version *0.1.6 (2.16.20)*\n\n- 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.\n - TODO: Eventually plan to add all subraces from MBoF.\n\n###### Version *0.1.5 (2.8.20)*\n\n- Added -variant option to CLI interface. Accepts 'false' or 'true'. Defaults at 'false'.\n- Added variant argument to ScoreImprovement constructor.\n- Fixed Skills.select_skills overlap bug.\n- Added variant argument to Skills.select_skills method.\n- Proficiency bonus now uses formula to determine the value (level/4) + 1.\n\n###### Version *0.1.4 (2.2.20)*\n\n- Fixed a typo in the setup script at release.\n\n###### Version *0.1.3 (2.2.20)*\n\n- Merged version updates 0.1.2 with 0.1.3.\n- Overall better ability score assignments.\n- Redone the ScoreAssigner and ScoreImprovement classes. They both implement the quick build rules for each class by default.\n- Added --version option to CLI interface.\n- Code rewrite for the purpose of better adhering to PEP-8 coding standards.\n- VERSION REBOOT - Restarted version numbering since the transformation of personaednd from a GUI to a CLI application.\n\n###### Version *0.1.1 (1.12.20)*\n\n- Various code tweaks and fixes.\n\n###### Version *0.1.0 (1.4.20)*\n\n- Fixed tool proficiency selection for Monks.\n- Skilled feat now works to give a choice of three bonus skills and/or TOOLS. Previously only selected three skills.\n- Renamed sub package 'app_data' to 'source'.\n\n###### Version *0.0.9 (12.27.19)*\n\n- Weapon Master feat now adds proficiency with four simple or martial weapons as normal.\n- Fixed functionality with Lightly Armored, Moderately Armored, Heavily Armored, and Weapon Master feats in the has_requirements Feats class method.\n - If the character has Light armor proficiency they won't meet the requirements for Lightly Armored.\n - If the character has Medium armor proficiency they won't meet the requirements for Moderately Armored.\n - If the character has Heavy armor proficiency they won't meet the requirements for Heavily Armored.\n - 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.\n- Added work around for numpy bug in dice roller array.\n\n###### Version *0.0.8 (12.22.19)*\n\n- Code rewrite and bug fixes.\n\n###### Version *0.0.7 (12.15.19)*\n\n- Fixed bug in the YAML query script.\n\n###### Version *0.0.6 (12.15.19)*\n\n- Re-coded various sections of the program.\n- 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.\n- Added background equipment list to character sheet.\n- Added debugging output to 'Dice.roll_drop_lowest' method.\n\n###### Version *0.0.5 (12.13.19)*\n\n- Code tweaks.\n\n###### Version *0.0.4 (12.11.19)*\n\n- Fixed bug where generated scores never seemed to be over 15 *programmer oversight*.\n- Changed score threshold to 60 from 70. It'll keep re-rolling until it meets this threshold.\n- Added condition that the lowest score rolled can be no lower than 8.\n- Modified 'Dice.roll_drop_lowest' to generate all six ability scores instead of one.\n- Removed 'roll_ability_scores' function. Functionality transferred to 'Dice.roll_drop_lowest'.\n\n###### Version *0.0.3 (12.8.19)*\n\n- Character 'background' has been added to the character sheet.\n\n###### Version *0.0.1 (12.6.19)*\n\n- First converted to a command-line application from GUI.\n- Implemented bonus languages based on character's background.\n- Simplified the character database for ease of user customization.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sg679/personaednd", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "personaednd", "package_url": "https://pypi.org/project/personaednd/", "platform": "", "project_url": "https://pypi.org/project/personaednd/", "project_urls": { "Homepage": "https://github.com/sg679/personaednd" }, "release_url": "https://pypi.org/project/personaednd/0.1.6/", "requires_dist": [ "beautifulsoup4 (>=4.8)", "click (>=7.0)", "lxml (>=4.4)", "numpy (>=1.17)", "PyYAML (>=5.1)" ], "requires_python": ">=3.0", "summary": "Randomly generates 5th edition Dungeons & Dragons characters.", "version": "0.1.6", "yanked": false, "yanked_reason": null }, "last_serial": 6640422, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "4e1f4231e839ba92ba291512bbed16de", "sha256": "a85a0f28e30796679164c874bfb99e6d4f4273e37c160fa95677884ca18cc353" }, "downloads": -1, "filename": "personaednd-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4e1f4231e839ba92ba291512bbed16de", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 21780, "upload_time": "2020-02-02T05:42:04", "upload_time_iso_8601": "2020-02-02T05:42:04.459150Z", "url": "https://files.pythonhosted.org/packages/12/50/bbf9a3ae00341e9a5553ea9e2701df0f380d6bb50fc748bcc8f8dc00e49c/personaednd-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "929e7de409429369d88d28466effe954", "sha256": "42a9e8e5fe80a5b27a4b752cc46a4f67384ad5fbc7662895066548c4fd8835e9" }, "downloads": -1, "filename": "personaednd-0.1.2.tar.gz", "has_sig": false, "md5_digest": "929e7de409429369d88d28466effe954", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 21001, "upload_time": "2020-02-02T05:42:05", "upload_time_iso_8601": "2020-02-02T05:42:05.907729Z", "url": "https://files.pythonhosted.org/packages/31/15/fd422443b5251407348f93aa23582a7f347288cdbc41fabb6ce2f0f9314b/personaednd-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "a9ded56e6e2d1c7fac78ba311371fe81", "sha256": "1f7ae577cef46b6a7042b89f42b69b4f6fc96daace37a51f2b0827c69971c3f2" }, "downloads": -1, "filename": "personaednd-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a9ded56e6e2d1c7fac78ba311371fe81", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 22106, "upload_time": "2020-02-03T02:54:00", "upload_time_iso_8601": "2020-02-03T02:54:00.438902Z", "url": "https://files.pythonhosted.org/packages/57/c2/c1bc254a29a91b3144119d441ab5730eaba9319793ded4afa977205b5c10/personaednd-0.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e67d3f3ad035eebb4f4d0b3279d3fafa", "sha256": "594dc9eef951abdb18215293a52d4bbeecc5371db51605a601e6bc9a83d57e14" }, "downloads": -1, "filename": "personaednd-0.1.4.tar.gz", "has_sig": false, "md5_digest": "e67d3f3ad035eebb4f4d0b3279d3fafa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 21438, "upload_time": "2020-02-03T02:54:01", "upload_time_iso_8601": "2020-02-03T02:54:01.619047Z", "url": "https://files.pythonhosted.org/packages/21/b7/9cd2e41efb74ea586ebb7b4cf308332dc1a0ac57ed56f135374843e8022f/personaednd-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "9ab1b7096b92729934c7c1ad9062537f", "sha256": "648c7f7658913a67d80d2483baa06017d5383879e5f0331fcad30fbc30a510ff" }, "downloads": -1, "filename": "personaednd-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "9ab1b7096b92729934c7c1ad9062537f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 21588, "upload_time": "2020-02-08T15:49:37", "upload_time_iso_8601": "2020-02-08T15:49:37.978250Z", "url": "https://files.pythonhosted.org/packages/d5/4e/ed61c147c889d0bd85675c2a8073fde32eef75784a40ed26b8ae60f19743/personaednd-0.1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0012ca9836eecd4c92f057544bff08b7", "sha256": "949ae9d1d54d0a842b989e7c8fe8295d5489ef0b860cacdde9f98c5d71113819" }, "downloads": -1, "filename": "personaednd-0.1.5.tar.gz", "has_sig": false, "md5_digest": "0012ca9836eecd4c92f057544bff08b7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 21163, "upload_time": "2020-02-08T15:49:39", "upload_time_iso_8601": "2020-02-08T15:49:39.328372Z", "url": "https://files.pythonhosted.org/packages/0d/b8/044e4f1ea98bcbd83259c001921385d939f81c90d9c45c1f525efc191aac/personaednd-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "dd5eb2834069be3f5aea2f9bef5501a9", "sha256": "df60e388c04f68c809cb362a8d40a3e358b22dc353a6d1445360dc81b3b04d19" }, "downloads": -1, "filename": "personaednd-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "dd5eb2834069be3f5aea2f9bef5501a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 22013, "upload_time": "2020-02-16T14:12:35", "upload_time_iso_8601": "2020-02-16T14:12:35.044766Z", "url": "https://files.pythonhosted.org/packages/fc/63/83a0f1fcefa6d34f01ebed7cbb236cc5956287ef30b5e87a2ee403aff462/personaednd-0.1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a1c900069e0ce42153d1726051735a97", "sha256": "0c464a453f57c1991e31d969fa7fdfc648e906c09ecfd3a352e3a7a1a0599d96" }, "downloads": -1, "filename": "personaednd-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a1c900069e0ce42153d1726051735a97", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 21678, "upload_time": "2020-02-16T14:12:36", "upload_time_iso_8601": "2020-02-16T14:12:36.812236Z", "url": "https://files.pythonhosted.org/packages/a7/13/c27678f698e3833be6097a9f69d2c0b5cbaf110c9751ca4792a3e25809a4/personaednd-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dd5eb2834069be3f5aea2f9bef5501a9", "sha256": "df60e388c04f68c809cb362a8d40a3e358b22dc353a6d1445360dc81b3b04d19" }, "downloads": -1, "filename": "personaednd-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "dd5eb2834069be3f5aea2f9bef5501a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 22013, "upload_time": "2020-02-16T14:12:35", "upload_time_iso_8601": "2020-02-16T14:12:35.044766Z", "url": "https://files.pythonhosted.org/packages/fc/63/83a0f1fcefa6d34f01ebed7cbb236cc5956287ef30b5e87a2ee403aff462/personaednd-0.1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a1c900069e0ce42153d1726051735a97", "sha256": "0c464a453f57c1991e31d969fa7fdfc648e906c09ecfd3a352e3a7a1a0599d96" }, "downloads": -1, "filename": "personaednd-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a1c900069e0ce42153d1726051735a97", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 21678, "upload_time": "2020-02-16T14:12:36", "upload_time_iso_8601": "2020-02-16T14:12:36.812236Z", "url": "https://files.pythonhosted.org/packages/a7/13/c27678f698e3833be6097a9f69d2c0b5cbaf110c9751ca4792a3e25809a4/personaednd-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }