Python terminal application to help me DM DnD stuff, unfortunately, the library I use to help with terminal menus only works on linux
Statblocks are written in either yaml or json files.
They must follow a schema provided in statblock.json rather closely. For more info on the fields
and proper formatting, see here or the examples in statblock-examples
.
Run using the python src/main.py
, which accepts a number of args
--target
the directory containing the statblock files--format
one of "yaml" or "json", specifies the file format to use
Continue
continues to main menuLoad More
will prompt for a list of stablock namesList Available
will list the files in the specified root folder and allow you to select one and choose how many of that statblock to load
You can select any of the loaded statblocks which will bring you to the statblock menu, each of the meta-options has a shortcut key
Next Turn
progresses the turn tracker (top of the screen)Load More Statblocks
brings you back to the loading menuRoll Initiative
initializes the turn tracker by rolling initiatives for the monster and prompting for PC intitiativesClear
will clear non-menu outputExit
will exit the program
Output will be inserted above the menu. This output will persist until cleared.
AC, HP, Speed, and any statblock resources (eg; legendary action points) are shown in a yellow status bar below the menu.
The menu has two main section:
Not all of these will be shown for every statblock
<Traits>
While hovered over will display any of the statblock's traits in the preview box below the menu, selecting this option does nothing[Actions]
,[Bonus Actions]
,[Reactions]
, and[Resource Actions]
While hovered will show you the available options in the preview box. Selecting any of them will bring you to a new menu which allows you to select which of the actions you want to take.Attacks
While hovered will display the attacks the statblock can make in the preview box. Selecting it will bring you to a new menu which allows you to select which attack you want to make.Multiattack
While hovered over will display what multiattacks can be made in the preview box. Selecting it will bring you to a new menu which allows you to select which multiattack you want to make.
Skill Check
will run a skill checkTake Damage
will prompt you for damage to be dealt to the creature, when it's hp becomes 0 it will be deleted and removed from initiativeManage Conditions
While hovered, will display conditions, when seleceted it will bring you to a menu allowing you to add, modify, and remove conditions as key value pairs. (eg; poisoned: 1 minute, DC 14)Reset Resource
will bring you to a menu allowing you to reset statblock resources to their max valueClear
will clear the screenExit
will return to the main menu
- Implement to-hit rolls
- Implement action rolls
- Implement preview for actions and attacks
- Remove dead monsters
- Add monsters into initiative order
- Config
- Improve menu layout
- Add condition tracking
- [ ]