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.
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);
}