Skill Tree
A System agnostic interface to create custom skill trees
How to use
Creating a Skill Tree
- Open the Skill Tree module settings and open the
Configure Skill Trees
menu - Click the
Add Skill Tree
button - Name the skill tree and confirm
- The Skill Tree is created as a Journal, feel free to move it to any folder you want, you can also dupliccate it or rename it
- Click the Edit button in the
Configure Skill Trees
menu - Create a new Group, you can change it's settings from the edit group button
- To create new skills, simply drag and drop items from the sidebar or a compendium into a skill tree slot. Remember that dropping an item ajacent to another skill will automatically link them!
- Left click a skill to open its configuration, you can change the name, description, icon and other settings
- Right click a skill to delete it
Using the Skill Tree
- Open a character sheet
- Click the
Skill Tree
button in the header buttons - Enter a number of skill points in the top right corner
- Select a skill tree from the dropdown (the current skill tree title)
- Click on a skill to unlock it, right click to remove points from it
Assigning Skill Trees
By default, only the GM will be able to select a specific skill tree on an actor as the user has no permissions on the Journal representing the skill tree.
To allow players to select a skill tree, locate the journal or use the Configure Skill Trees
menu and set at least Observer
permissions on the skill tree.
Export\Import\Duplicate
Skill trees are saved as Journals, so you can use them as you would any other Journal. You can export, import and place them in compendiums.
Please note that if you import skill trees in other worlds any linked item must be from compendiums shared in both worlds, otherwise the item links will not work as items are stored as references and not copied in the Skill Tree data.
After importing a skill tree, Open it in the edit view once so that the skill tree can relink itself, this is only required once.
Scripts
Granting Skill Points using a Macro
game.modules.get("skill-tree").API.grantSkillPoints(actor, points);
Where actor
is the actor to grant points to and points
is the number of points to grant.
Granting Skill Points to selected tokens
const tokens = canvas.tokens.controlled;
for (const token of tokens) {
game.modules.get("skill-tree").API.grantSkillPoints(token.actor, 5);
}
Granting Skill Points to all player assigned characters
const players = game.users.filter((user) => !user.isGM && user.character);
for (const player of players) {
game.modules.get("skill-tree").API.grantSkillPoints(player.character, 5);
}
Opening the Skill Tree application
const API = game.modules.get("skill-tree").API;
new API.apps.SkillTreeActor(actor).render(true);