Skill Tree

Skill Tree

Free
Version: V12
FVTT: V12
Any System
Download
Changelog

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