Simple Worldbuilding Plus

Latest version1.1.0
Minimum Core10
Compatible Core10
Last updated1 year ago
Created3 years ago
Languages English
Systems All systems
Project source Project URL

Simple Worldbuilding Plus

This is a small module that adds a few quality of life enhancements to make it easier to build custom character sheets in the Simple Worldbuilding system. There are primarily three features, the third of which is exclusive to Simple Worldbuilding. The inline stat syntax and journal templates are technically system agnostic and could be used in any system.


Install via Foundry's package manager or the following manifest URL:

Inline stat syntax

There's currently an issue in Foundry and/or Simple Worldbuilding that prevents inline rolls such as [[@str]] from outputting correctly if they're included in a character sheet, due to them being unable to locate the actor object from the context they're in. Until that issue is resolved, this module adds an additional syntax that lets you use the following to output stats:


This works using the same general logic as inline rolls, so you could do formulas such as {{floor((@str - 10) / 2)}} to calculate more complicated values.

This syntax technically works with die results, but it is intended for displaying stats only. It does not inlcude a d20 icon like inline rolls do, in order to conserve space.

Journal Templates

This module checks for journal entries using the prefix SWP_TPL_, such as SWP_TPL_Character or SWP_TPL_Quest Template. The contents of those entries will be made available in TinyMCE text editors as a template with the name starting after the SWP_TPL_ prefix. You can use this to build character sheet templates with prefilled stat attributes or for other general utility purposes like creating a standard quest format for your journal entries that can be re-used. The templates will become available in all of your TinyMCE editors wherever they appear, so the sky is the limit!

Derived Values (Simple Worldbuilding only)

This module checks for a special journal entry called SWP_DERIVED. If this template exists, it will be parsed for derived attribute formulas, and those will be made available to your actors for both the {{@attr}} syntax and for both regular and inline rolls.

Each derived attribute must be on a new line and uses the following format:


Derived attributes will be placed in a special d attribute on your actor. For example, this journal entry example would derive d20 modifiers for the 6 ability scores:

||str.mod|floor((@str - 10) / 2)|| 
||dex.mod|floor((@dex - 10) / 2)||
||con.mod|floor((@con - 10) / 2)||
||int.mod|floor((@int - 10) / 2)||
||wis.mod|floor((@wis - 10) / 2)||
||cha.mod|floor((@cha - 10) / 2)||

Those would all be placed in, so that you could reference them in rolls using text such as {{@d.str.mod}} or {{@d.dex.mod}}. The d prefix is necessary because if you're using the short syntax, the attributes are string/number/bool values and not objects, so it's impossible to have both @str and @str.mod in that scenario.

Improvements to the Attributes Tab (Simple Worldbuilding Only)

This module defines a custom version of the Simple Worldbuilding character sheet that modifies how the attributes tab behaves. You can still select the original sheet in the sheet options for the actor, but the new sheet is the default.

In the Simple Worldbuilding Plus version of the sheet, input changes in the attributes tab will not trigger an actor update and sheet re-render, and you must instead change to one of the other tabs or close the sheet to get changes to attributes to persist. This is a small change, but significantly improves the user experience of tabbing through attributes to quickly define their values without loosing keyboard focus on the input.

Additionally, when you're in the last attribute of your sheet and tab into the last column (the attribute type select input), a new attribute will be created automatically.


Screenshot of the template widget

Screenshot of the template widget


Screenshot of the template widget

Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x