Tidy5e Sheet
February 4, 2024 ยท View on GitHub
ATTENTION ! The the new TidySheet is out and the github project is been transfered there.
Github repo: https://github.com/kgar/foundry-vtt-tidy-5e-sheets
Installation
It's always better and easier to install modules through in in app browser.
To install this module manually:
- Inside the Foundry "Configuration and Setup" screen, click "Add-on Modules"
- Click "Install Module"
- In the "Manifest URL" field, paste the following url:
https://raw.githubusercontent.com/sdenec/tidy5e-sheet/master/src/module.json - Click 'Install' and wait for installation to complete
- Don't forget to enable the module in game using the "Manage Module" button
Color Settings
This module uses the colorsettings. It is a optional dependency but it is recommended for the best experience and compatibility with other modules.
Known issue / TODO
- The current template for favorite items is to complicated ... we should be apply the same template of the module, Character Sheet Favorites, and divide as a option for the player the inventory between Weapons/Equipment/Consumables
Macro to prepare migration from 2.0.3 to 2.1.X
// IMPORTANT NOTES:
// 1) THIS MACRO MUST BE LAUNCHED IN A 2.0.3 WORLDS IF YOU DON'T HAVE A BACKUP SADLY YOU LOST THE JOURNAL DATA
// 2) THIS MACRO MUST NOT BE LAUNCHED IN A 2.1.X WORLD
// 3) BEFORE LAUNCH THIS MACRO DO A BACKUP OF THE CURRENT WORLD JUST TO BE SAFE
// Ty to @zhell for the macro
const updates = game.actors.reduce((acc, a) => {
const flags = foundry.utils.getProperty(a, "flags.tidy5e-sheet") ?? {};
const asd = a.system.details ?? {};
const upd = {};
const props = {
"character": ["gender", "age", "height", "weight", "eyes", "skin", "hair", "maxPreparedSpells"],
"npc": ["trait", "ideal", "bond", "flaw"]
} [a.type];
if (!props) {
return acc;
}
for (const prop of props) {
upd[prop] = asd[prop] || flags[prop] || "";
}
const notes = ["notes", "notes1", "notes2", "notes3", "notes4"];
for (const n of notes) {
upd[`${n}.value`] = asd[n]?.value || flags[n]?.value || "";
}
acc.push({
_id: a.id,
"flags.tidy5e-sheet": upd
});
return acc;
}, []);
await Actor.updateDocuments(updates);
Features
Feature: Item controls
All item controls are hidden by default - you can use right mouse click to show a context menu for all available item interaction: equip/unequip, attuned/attunement required, prepared/unprepared, add/remove favorite, delete. If you don't want the context menu - that was created to conserve space and was the only way to make the option avalable in the grid view - you can bring back the classic item controls as a user setting. The inline controls will only show for PC sheets and the item/spell inventory in list layout. For every other view or sheet it is either impracticable or too spacious.
Feature: Sheet lock
To be able to add or delete items you'll have to "unlock" the sheet with the lock icon in the navigation bar. The lock button in the "locked" position also hides any section that has no content to clean up the sheet a little.
Feature: Grid/List view
You can toggle item and spell inventorys into grid or list layout. List is the default view. Grid offers a more condensed overview of your icons and spell with focus on icon art. Youll still able to see the main infos like quantity, charges, equipment/preparation/attunement and if an item is magical. Every other info will show in the info box to the left when you hover over an item.
Feature: Better Spell Level Buttons for DnD 5e
This is an embedded version of the module Spell Level Buttons for DnD 5e, replaces the spell level select dropdown menu with buttons.

Feature: Multiclass Spellbook Filter
This is an embedded version of the module Multiclass Spellbook filter for 5e (fork), it adds options for players to organize their spellbook by which class the spell is for. Useful for multiclass characters or characters with the magic initiate feat.
To get the filter to work, you will need to populate the data in each spell.


All settings for this module are found in Foundry's settings menu under the module settings tab.
Currently all of the settings that are available are client-side settings. This means that what you change here will not have an effect on any other computer or player.
Using the filter
This module relies on populating data that doesn't seem to exist by default: "Is this spell a {class} spell for you?" So the first step is going to be going through each spell on your sheet and selecting the spell's class in the itemsheet's details tab.
Note: Your selection does not change which ability modifier your spell uses. That is configured elsewhere in the sheet.
Afterwards, if the proper setting is enabled, you will see a dropdown menu at the top of the spellbook with the rest of the filters. Selecting an one of the classes will hide all of the spells that don't match your selection.
Icon Replacement
Some players find it helpful to differentiate spells by class even when the list is not filtered. To help with that this module provides the option to 'cover' the spell's icon in the spellbook with the icon of their source class.
To enable this behavior enable it in the module's settings. This setting is disabled by default.
Note: This feature does not change any data or other behaviors. The spell's icon will still be what is displayed in chat and in other sections of the sheet.
Feature: All your favorite items are synced between modules
The favorite system is syncronized with the module Character Sheet Favorites and Favorite tab
Feature: Lazy Money/Hp/Experience
This is an embedded version of the module Lazy Money, Easily add or remove currency, Hp and Experience with automatic conversion and no overdraft.

Feature: Attunement Tracker
In the PC inventory you'll find the new attunement tracker at the bottom left. By default you can attune to 3 items. DMs can change the attunement limit for each character by entering a max value in the tracker.
Feature: Exhaustion, Death Save and Rest on NPC
An 'integration more from flavor than from system functionality, a very "crude" integration of Exhaustion, Death Save and Rest (both Short and Long) is been applied on the NPC sheet
Settings
there are plenty of settings from dark mode to round/square portraits, health visualization and user specific options. I tried to make each settings description as clear as possible so you should be able to carefully read an pick what you want.
Attribution Languages
Additional Translations generously provided by: Japanese: @BrotherSharp, @Asami Italian: @Simone [UTC +2] Korean: @KLO Brazilian Portuguese: @rinnocenti French: @temvaryen
Thank you very much!
Build
Install all packages
npm install
dev
dev will let you develop you own code with hot reloading on the browser
npm run dev
npm build scripts
build
build will build and set up a symlink between dist and your dataPath.
npm run build
build-watch
build-watch will build and watch for changes, rebuilding automatically.
npm run build-watch
prettier-format
prettier-format launch the prettier plugin based on the configuration here
npm run-script prettier-format
Changelog
Issues
Any issues, bugs, or feature requests are always welcome to be reported directly to the Issue Tracker, or using the Bug Reporter Module.
License
- Lazy Money : MIT
- Multiclass Spellbook filter for 5e : MIT
- Multiclass Spellbook filter for 5e (fork) : MIT
- Spell Level Buttons for DnD 5e : MIT
- Character Sheet Favorites: MIT
- Character Actions 5e: MIT
- Character Actions 5e (fork) : MIT
This package, written by sdenec, is under an Creative Commons Attribution 4.0 International License and the Foundry Virtual Tabletop Limited License Agreement for module development.
Credits
- p4535992 for the module Lazy Money
- MrEnigmamgine for the module Multiclass Spellbook filter for 5e
- thatlonelybugbear for the module Multiclass Spellbook filter for 5e (fork)
- Rayuaz for the module Spell Level Buttons for DnD 5e
- mxzf for the module Character Sheet Favorites
- ElfFriend-DnD for the module Character Actions 5e
- p4535992 for the module Character Actions 5e (fork)
