This is a simplistic implementation of Heart - The City Beneath for FoundryVTT . It provides a character sheet based on the one provided inside Heart. Includes a number of useful dynamic tools for rolling and assessing results.
- Character sheets to track all the stuff you want to track
- Resistances, Protections
- Name, Class, Calling
- Beats, Equipment, Resources, Abilities, Fallout, Skills, Domains
- Notes
- Multiline inputs use FoundryVTT's inbuilt rich text editor
- Skills can be checked, as expected
- Resistances and Protections can be increased and decreased by clicking on the boxes.
- Rollable buttons (and macros for the GM) in character sheets for rolling, stress and fallout.
- Clickable chat messages to perform rolls.
Buttons are available in the character sheet for players, or from the hotbar via macros for the GM.
A roll request is a clickable chat message that allows the players to roll with specific parameters. Rolls can be made via:
- "Request Roll" button in a Character Sheet
- "Prepare Roll Request" Macro
Clicking on either of these will open a window like below:
For example, preparing a roll request like this:
will create a chat message like this:
This is a typical "Heart" 1d10
roll. Rolls can be made with the following:
- "Roll" button in a Character sheet
- "Roll" button in chat message
- "Prepare Roll" Macro
As before, this will open a new window.
Again, this might result in chat messages like:
We also can manage stress rolls.
Stress rolls can be made with the following:
- "Roll Stress" button in a Character sheet
- "Roll Stress" button in chat message
- "Prepare Stress Roll" Macro
From the macro:
which might result in:
You can then "Take Stress" by clicking the new button. This applies the stress to the character's appropriate resistance.
We also can manage fallout rolls. Stress rolls can be made with the following:
- "Roll Fallout" button in a Character sheet
- "Prepare Fallout Roll" Macro
An example chat message as a result:
You will get a result and an accompanying button to clear the appropriate stress:
If you're considering writing a translation, firstly: thank you! You can provide translation by submitting a pull request.
You can find the English translation at lang/en.json
, and I encourage you to use this as a base for your translation efforts.
Don't feel the pressure to translate version info though!
It is not recommended to develop on the instance on Foundry you run games from. If you need help installing another version of Foundry or a dev environment this isn't the guide for that.
To test your changes:
Add your Foundry installation's Data location to foundryvtt.config.js
it should look something like:
foundryvttPath: "/home/yourusername/foundryuserdata/Data"
Inside this directory run:
npm ci
npm run build-local .
If everything is setup correctly this will create a symlink from this directory's dist
folder to your Foundry systems folder. It will then build this project and the built version will appear in dist
. With the symlink in place you can then open Foundry and interact with the system as normal.
- Make a basic fillable character sheet.
- Get a hold of the fonts, or something like them (main one is "The Bartender Condensed Serif Press" by Vintage Voyage Design Supply)
- Convert Equipment, Resources, Abilities and Fallout from a textfield to a list of textfields
- Make Equipment & Resources Rollable
- Add a roller that lets you pick skill, domain, knacks & mastery, difficulty etc
- Add a stress roller
- Add a fallout roller
- Cleanup translation file
- Cleanup CSS file
- Add ChatMessage buttons to clear stress when receiving fallout
- Make "class" and "calling" items
- Look into making class and calling packs
- Add editable tags to taggables (resources, equipment etc)
- Add ability to include and control the minor abilities defined inside Major Abilities.