samgoldman / tidy5e-sheet

An alternative Character Sheet for Foundry VTT dnd5e aimed at creating a cleaner UI.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tidy5e Sheet

GitHub issues Latest Release Download Count Forge Installs Foundry Core Compatible Version Latest Version Foundry Hub Endorsements GitHub all releases

Translation status

An alternative Character Sheet for Foundry VTT dnd5e aimed at creating a cleaner UI, and many many many other features

The module is in maintenance and will have no active developments, efforts will be made where possible to fix bug fixes.

The module should be rewritten for good from scratch.

A bounty has been opened on the League's server for anyone interested in offering financial compensation.

Or if you want to take ownership directly contact me (4535992) without any problems on the foundryvtt discord server.

Installation

It's always better and easier to install modules through in in app browser.

To install this module manually:

  1. Inside the Foundry "Configuration and Setup" screen, click "Add-on Modules"
  2. Click "Install Module"
  3. In the "Manifest URL" field, paste the following url: https://raw.githubusercontent.com/sdenec/tidy5e-sheet/master/src/module.json
  4. Click 'Install' and wait for installation to complete
  5. 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

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

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

About

An alternative Character Sheet for Foundry VTT dnd5e aimed at creating a cleaner UI.


Languages

Language:JavaScript 51.4%Language:HTML 27.8%Language:SCSS 20.4%Language:CSS 0.3%Language:Shell 0.0%