Skip to content

A simple module for FoundryVTT to manage (and track) custom party-wide numeric values.

License

Notifications You must be signed in to change notification settings

davelens/fvtt-party-resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FoundryVTT - Party Resources

Latest release GitHub all releases GitHub release (by tag) Donate Donate

Party Resources is a system-agnostic FoundryVTT module that allows you to manage party-wide, numeric values that persist between sessions.

State of development (2024 and onwards)

Currently, development on this module is on indefinite hiatus due to certain lifestyle changes I had to make for my health. I will do what is necessary to keep the module play nice with Foundry's major updates, at least until they decide to overhaul the way the module stores its data. Pull requests without major changes (translations, typos, CSS bugs,...) will continue to be reviewed and merged, with the occassional release.

Thank you for understanding!

Features

  • Add/Edit/Delete custom resources, with optional icon images
  • Increment/decrement resource values
    • Hold CTRL (Win) or CMD (macos) when clicking to jump by +/- 10
    • Hold SHIFT when clicking to jump by +/- 100
  • Live updates for players when values change
  • Sports a videogame-esque status bar to easily keep track of resources
    • Clicking the status bar opens up the dashboard
    • Hold CTRL (Win) or CMD (macos) and click a resource to open its edit form
  • Sort your resources using drag/drop in the dashboard
  • Track DM resources by hiding certain resources for players
  • D&D 5e: Track gold, or items across players' inventory
  • Optionally notify players through chat when a resource value changes
  • Optionally limit resources to a given maximum
  • Optionally hand over resource management to players
  • Optionally use icon images as resource labels
  • Change resource values in script macros through a public-facing API

Examples

  • Tracking the quantity of ingame resources like building materials, ingredients, or army sizes
  • Tracking custom quantified "meta" resources like sanity, desperation, or fame levels
  • Tracking DM-specific mnemonics like poison counters, population totals, or player deaths 😈
  • D&D 5e: Tracking all your party's D&D 5e platinum, eternum, silver, and gold into one amount (in gold)
  • D&D 5e: Tracking all rations in players' inventory into one amount (for those Tomb of Annihilation sessions amirite?)
  • D&D 5e: Tracking all normal and greater healing potions in players' inventory into one amount

What the DM sees in the dashboard

Image showing what the DM sees when opening the resources dashboard

What the players see in the status bar

Image showing what the players see in the status bar

How the status bar can look when tracking D&D 5e gold or specific items

Image showing how D&D 5e resources look like in the status bar

Installation

  1. Install Party Resources in FoundryVTT using the manifest URL:
https://raw.githubusercontent.com/davelens/fvtt-party-resources/master/module.json
  1. Enable the Party Resources module in the active game world.

Translations

If your desired translation is missing, you can help out through the Weblate page for Party Resources! In return you will receive my eternal gratitude, and quite possibly various riches in an eventual afterlife.

FAQ

I don't see the status bar?

You need to enable it in the module's settings.

Where can I access the resource dashboard?

By default, any permission level can access it through the button at the top of the Actor directory. However, a DM has the option to hide this button.

What about player-specific resources, can they be tracked too?

No, the intent for this module was to have global numeric values everyone could keep an eye on. However, ardittristan/5eSheet-resourcesPlus would probably serve your players better by having custom resources assigned to their character sheet.

Why do I need to explicitly allow players to modify configuration settings so they can manage resources?

Because resources are an amalgam of settings scoped on world, to make them persist in the world for all players. Foundry requires explicit permission to allow players to adjust the values linked to these settings with a scope of world. Not doing so will result in error popups stating a player is not allowed to edit settings.

How do you track multiple, specific items into one resource?

You need to separate the name of the items with a semicolon, like so: Screenshot of the "edit resource" form, with an example of multiple items separated by a semicolon

How can I refresh the status bar using a macro?

window.pr.status_bar.render()

How can I open the dashboard using a macro?

window.pr.dashboard.redraw(true)

How do I change resource values in a script macro?

As an example, say you wanted to change a resource called Fate Counters that you gave a resource ID of fate when you created it.

To retrieve the value of the fate resource:

window.pr.api.get('fate')

To set the value of the fate resource to 5:

window.pr.api.set('fate', 5)

To increment the value of the fate resource by 2:

window.pr.api.increment('fate', 2)

To decrement the value of the fate resource by 1:

window.pr.api.decrement('fate', 1)

To set the value of the fate resource to 5, and notify players with a chat message. Note that this will only work if "Notify players of value changes" is checked in the resource settings:

window.pr.api.set('fate', 5, { notify: true })

The resource dashboard will then process the change in real time.

Do you write Foundry modules full time?

No, I don't have a Patreon going and don't get paid to write or maintain modules. I'm a software engineer by trade, and I've been writing web apps for 15 years. My main stack is both Ruby and Elixir, and I'm somewhat proficient in JavaScript, HTML, and CSS. Most of my work is backend-related so I'm not a frontend developer, and I'm sure it shows in the source code for those among you who are. I get by, though.

I have a different question about your module. Can I ping you on Discord?

Sure: Pretzl#0001 - I'm in the official FoundryVTT Discord.

License

This work is licensed under the MIT license, as well as Foundry Virtual Tabletop EULA - Limited License Agreement for module development from May 29, 2020.

About

A simple module for FoundryVTT to manage (and track) custom party-wide numeric values.

Resources

License

Stars

Watchers

Forks

Packages

No packages published