Heya! I'm officially releasing an alpha build of a little application I've been writing called rpgsheet. It still needs work, but it's usable now so I'm going ahead and sharing it!
https://git.skylarhill.me/skylar/rpgsheet
Here's the readme:
`rpgsheet` is a CLI/TUI character sheet application for tabletop RPGs.
Once I'm in the nimble directory, you'll be able to fetch it pretty easily by installing Nim and running:
`nimble install rpgsheet`
You can also clone this repo and then run this in the directory:
`nimble install`
Sheets are stored as YAML files. Keys are limited to alphanumeric characters, plus `_`, `~`, and `'`. When displayed "nicely" in the interface, `_` is converted to a space, and `~` to a hyphen.
All window names and expressions (items that go in windows) must have unique names.
Here is an extremely pared-down design so you can see the structure:
name: Character Name class: Character Class level: 1 tabs: - main: - stats - inventory - attacks: - weapons - spells expressions: # items that appear in the windows strength: modifier: 15 # use `modifier` for flat values window: stats STR: # Modifiers can be defined in terms of # other diceless expressions modifier: (strength-10)/2 window: stats sword_attack: # we cannot have two expressions named `sword` dice: d20 # must be in NUMdSIDES format; no modifiers modifier: STR # here is where your modifier goes window: weapons # Extra information, shown at the bottom of the screen desc: Swing your really cool sword sword: # Note that you don't need to supply dice or modifiers desc: Your really cool sword window: inventory # will be displayed as "Carl's Terrifyingly-hideous Face" carl's_terrifyingly~hideous_face: dice: 8d12 desc: 9th level. Oh god, oh no, look away if you want to live. window: spells