-
Notifications
You must be signed in to change notification settings - Fork 43
Extensibility
Moves and oracles can be customized in two ways. Both of these methods rely on using the Starforged-style move/oracle sheets, which is turned on by default for the Starforged system, but is not for Ironsworn. If you'd like to use these with the Ironsworn data, enable the "New Ironsworn move-sheet UI" beta switch in the system settings.
The system will look for an item folder called "Custom Moves" and a roll-table folder named "Custom Oracles" (these names may be localized; check the lang
folder for your language, and search the file for "Custom Oracles").
If either of these folders are found, the system will include its contents in the moves and/or oracles area of the sheet:
Only top-level items will be shown for moves, but oracles will import the entire tree.
This method is more useful for modules, and involves intercepting the ironswornOracles
hook.
The type of object in the tree is shown in customoracles.ts
.
Here's a simple hook that adds more rows to the "Background Assets" oracle:
Hooks.on('ironswornOracles', (root) => {
root.children[0].children[0].tables.push(game.tables.get('MSjHr7AahxxJXAqe'))
})
There is also an ironswornMoves
hook, which passes the final tree before display.
See custommoves.ts
for the structure of those objects.
Custom moves can be added in similar ways. They must be placed in an item folder called "Custom Moves" (translated), and regardless of the structure inside, they will show up in a "Custom Moves" section of the move sheet.