Skip to content

Commit

Permalink
Add journal page types to wiki & fix various issues (#3835)
Browse files Browse the repository at this point in the history
  • Loading branch information
arbron authored Jul 18, 2024
1 parent a58353e commit 071fee9
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 6 deletions.
7 changes: 2 additions & 5 deletions wiki/Awards.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![Up to date as of 3.0.0](https://img.shields.io/static/v1?label=dnd5e&message=3.0.0&color=informational)
![Up to date as of 3.3.0](https://img.shields.io/static/v1?label=dnd5e&message=3.0.0&color=informational)

The award system can be used by DMs to grant their players currency and XP rewards. It can be accessed in three ways, the `/award` command in chat, `[[/award]]` enrichers in journal entries, and the `"Award"` button in group actors.

Expand Down Expand Up @@ -45,9 +45,6 @@ If the origin button text isn't desired, it can be customized using the enricher

Rather than awarding gold and experience points directly to players in the middle of combat, the DM may wish to grant them first to the group and dole them out at the end of a session. Any XP and gold sent to the primary party using the award command or enrichers will be tracked and can be granted to players using the `"Award"` button just below the experience points tracker.

> [!Note]
> If experience points tracking is disabled in system settings, then the award button will not appear. Instead DMs can use the currency manager in the inventory tab to distribute just currency to players.
Any awards sent from a group are capped by the amount available in that group, so if a group has 400 XP tracked and the DM grants each player in a five person party 100 XP, the amount each character will receive will only be 80 XP and the tracked XP in the group will be reduced two zero.
Any awards sent from a group are capped by the amount available in that group, so if a group has 400 XP tracked and the DM grants each player in a five person party 100 XP, the amount each character will receive will only be 80 XP and the tracked XP in the group will be reduced to zero.

For encounter groups, the XP is calculated based on the combined XP of all NPCs within the encounter. This allows the use of the award button to easily grant players the XP for the entire encounter.
1 change: 1 addition & 0 deletions wiki/Home.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
- [Enrichers](Enrichers.md)
- [Frequently Asked Questions](FAQ.md)
- [Hooks](Hooks.md)
- [Journal Pages](Journal-Pages.md)
- [Roll Formulas](Roll-Formulas.md)
- [Summoning](Summoning.md)
- Tutorials
Expand Down
63 changes: 63 additions & 0 deletions wiki/Journal-Pages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
![Up to date as of 3.3.0](https://img.shields.io/static/v1?label=dnd5e&message=3.3.0&color=informational)

The D&D system provides several new journal page types with specialized functionality.

## Class & Subclass Summary

The *Class Summary* and *Subclass Summary* journal page types provide automatically generated pages with tables and summaries for classes and subclasses.

![Class & Subclass Summary Pages](https://raw.githubusercontent.com/foundryvtt/dnd5e/publish-wiki/wiki/images/journal/pages-class-subclass.jpg)

The automatic generation on these pages is based on data provided through advancement, so a class or subclass must have the appropriate advancement setup. Hit points will be calculated based on the selected hit die size, proficiencies will be derived from Trait advancements at first level, and equipment from the Starting Equipment configuration. The table will show all features granted at various levels as well as scale values and spellcasting details.

A description can be provided in the editor that will appear at the start of the entry. *Class Summary* pages can also take additional descriptive text that will appear beneath the three sections at the beginning. Optionally subclasses can be added to the *Class Summary* page and they will be displayed below the class.

## Map Location

The *Map Location* journal page type allows for specifying a location code that will be displayed on a special map marker when the page is linked to from a scene and in the table of contents of a journal entry instead of the usual numbering.

![Map Location Page](https://raw.githubusercontent.com/foundryvtt/dnd5e/publish-wiki/wiki/images/journal/pages-map-location.jpg)

### Module Customization

Modules can provide their own custom styles for map markers. First a module must provide a new entry into `CONFIG.DND5E.mapLocationMarker` specifying and style changes to apply. This can be as simple as changing the background color to completely replacing the control icon used for rendering. Any properties not specified will be infered from the default styling.

```javascript
/**
* @typedef {object} MapLocationMarkerStyle
* @property {typeof PIXI.Container} [icon] Map marker class used to render the icon.
* @property {number} [backgroundColor] Color of the background inside the circle.
* @property {number} [borderColor] Color of the border in normal state.
* @property {number} [borderHoverColor] Color of the border when hovering over the marker.
* @property {string} [fontFamily] Font used for rendering the code on the marker.
* @property {number} [shadowColor] Color of the shadow under the marker.
* @property {number} [textColor] Color of the text on the marker.
*/

CONFIG.DND5E.mapLocationMarker.myCustomMarker = {
backgroundColor: 0x000000,
textColor: 0xFFFFFF
}
```

Then for any markers that use the custom style, the `dnd5e.mapMarkerStyle` flag on the *Map Location* journal page should be set to match the name of the new custom style, in this case it would be `myCustomMarker`. This flag will need to be set on each journal page that wishes to use the new style.

## Spell List

The *Spell List* journal page type provides an easy way to display a list of spells and provides the viewer options for how to display those spells.

![Spell List Page](https://raw.githubusercontent.com/foundryvtt/dnd5e/publish-wiki/wiki/images/journal/pages-spell-list.jpg)

When creating a spell list any spells offered by the SRD or the current module can be dragged to the spell list. For modules referencing spells that might not be available, the plus control on the sidebar can be used to add an unlinked spell profile. This needs to contain the name, level, and school of the spell for proper organization. It can also contain information on the book where the spell can be found. The "Original Source" field takes a UUID of the spell, which will result in a link to that spell being displayed if the module that provides it is found. Otherwise its placeholder name will be displayed.

Spell lists have a type and identifier, which will enable features in the future for viewing merged spell lists from several sources through the compendium browser.

The default grouping mode can also be specified, though the viewer can always change how they view the list. Grouping can be performed by spell level, by spell school, or by the first letter of the spell's name.

## Rule

The *Rule* journal page type is a standard text page that also allows specifying a rule type and custom tooltip for when a journal page is used with a `&Reference` (see [Enrichers](Enrichers.md) for more information on references).

![Rule Page](https://raw.githubusercontent.com/foundryvtt/dnd5e/publish-wiki/wiki/images/journal/pages-rule.jpg)

If the tooltip is provided, that will be used in place of the normal text for the reference tooltip.
2 changes: 1 addition & 1 deletion wiki/Modifying-Your-Game-with-Scripts.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ Hooks.once("init", () => {

## Add new Weapon Types
You will need a compendium (a [shared compendium module](https://foundryvtt.com/article/module-maker/) works well for this) in which you store a base item, just like the system already has the 'Items SRD' compendium with all the different weapons.
Then, for each item you want to add as a new 'base weapon', copy the uuid from the item's header - right-click the book icon. Do not left-click.
Then, for each item you want to add as a new 'base weapon', copy the uuid from the item's header using the book button (right-click in Foundry V11 or lower, left-click in Foundry V12 or higher).

```js
// Adds new Weapon types of Hand Cannon and Magnum
Expand Down
Binary file added wiki/images/journal/pages-class-subclass.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/images/journal/pages-map-location.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/images/journal/pages-rule.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/images/journal/pages-spell-list.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 071fee9

Please sign in to comment.