Skip to content

Creating a Talent Template

JeromeM edited this page Feb 20, 2026 · 1 revision

Creating a Talent Template

GuidelimeVanilla includes a talent suggestion system that shows players which talent to pick at each level-up. Guide pack developers can create custom talent templates for any class.

API

GLV:RegisterTalentTemplate(class, name, templateType, talents, respec)

Parameters

Parameter Type Required Description
class string Yes Class name in UPPERCASE: "WARRIOR", "MAGE", etc.
name string Yes Display name shown in Settings > Talents dropdown
templateType string Yes "leveling" or "endgame"
talents table Yes Talent assignments by level: {[level] = {tree, row, col}}
respec table No Respec configuration for mid-leveling transitions

Talent Format: {tree, row, col}

  • tree: Talent tree index (1, 2, or 3) — left to right in the talent frame
  • row: Row number (1-7) — top to bottom
  • col: Column number (1-4) — left to right within row

Each level entry puts one talent point. To put multiple points in the same talent, repeat the entry across consecutive levels.

Row Point Requirements

Row Required Points in Tree
1 0
2 5
3 10
4 15
5 20
6 25
7 30

Tree Index by Class

Class Tree 1 Tree 2 Tree 3
Warrior Arms Fury Protection
Paladin Holy Protection Retribution
Hunter Beast Mastery Marksmanship Survival
Rogue Assassination Combat Subtlety
Priest Discipline Holy Shadow
Shaman Elemental Enhancement Restoration
Mage Arcane Fire Frost
Warlock Affliction Demonology Destruction
Druid Balance Feral Combat Restoration

Basic Example

A Frost Mage leveling build (from the built-in template):

local GLV = LibStub("GuidelimeVanilla")
if not GLV then return end

GLV:RegisterTalentTemplate("MAGE", "Frost", "leveling", {
    -- Improved Frostbolt 5/5 (Frost tree, row 1, col 2)
    [10] = {3, 1, 2},
    [11] = {3, 1, 2},
    [12] = {3, 1, 2},
    [13] = {3, 1, 2},
    [14] = {3, 1, 2},

    -- Frostbite 3/3 (Frost tree, row 2, col 2)
    [15] = {3, 2, 2},
    [16] = {3, 2, 2},
    [17] = {3, 2, 2},

    -- Improved Frost Nova 2/2 (Frost tree, row 2, col 3)
    [18] = {3, 2, 3},
    [19] = {3, 2, 3},

    -- Ice Shards 5/5 (Frost tree, row 3, col 1)
    [20] = {3, 3, 1},
    [21] = {3, 3, 1},
    [22] = {3, 3, 1},
    [23] = {3, 3, 1},
    [24] = {3, 3, 1},

    -- Shatter 5/5 (Frost tree, row 4, col 3)
    [25] = {3, 4, 3},
    [26] = {3, 4, 3},
    [27] = {3, 4, 3},
    [28] = {3, 4, 3},
    [29] = {3, 4, 3},

    -- Ice Block 1/1 (Frost tree, row 5, col 2)
    [30] = {3, 5, 2},

    -- Cold Snap 1/1 (Frost tree, row 3, col 2)
    [31] = {3, 3, 2},

    -- Then switch to Arcane tree for utility
    [44] = {1, 1, 1},   -- Arcane Subtlety 1/2
    [45] = {1, 1, 1},   -- Arcane Subtlety 2/2
    -- ... continue to level 60
})

Respec Support

For builds that benefit from resetting talents mid-leveling:

GLV:RegisterTalentTemplate("WARRIOR", "Arms to Fury", "leveling",
    -- Phase 1: Arms talents (levels 10-39)
    {
        [10] = {1, 1, 2},   -- Deflection (Arms)
        [11] = {1, 1, 2},
        [12] = {1, 1, 2},
        [13] = {1, 1, 2},
        [14] = {1, 1, 2},
        -- ... continue Arms talents to 39
    },
    -- Phase 2: Respec configuration (5th parameter)
    {
        respecAt = 40,
        message = "Reset talents at a class trainer and go Fury!",
        talents = {
            [40] = {2, 1, 3},   -- Fury tree talents
            [41] = {2, 1, 3},
            -- ... continue Fury talents to 60
        }
    }
)

Respec Table Fields

Field Type Description
respecAt number Level at which to show respec notification
message string Custom notification text (default: "Reset your talents at a class trainer!")
talents table Phase 2 talent assignments: {[level] = {tree, row, col}}

At the respec level, the player sees a toast notification with the custom message. All talent suggestions from that level onward come from the phase 2 table.

Default Templates

To set your template as the default recommendation for a class:

GLV.DefaultTalentTemplates = GLV.DefaultTalentTemplates or {}
GLV.DefaultTalentTemplates["MAGE"] = "Frost"

This makes "Frost" the pre-selected template when a Mage player first opens Settings > Talents.

Built-in Templates

GuidelimeVanilla ships with leveling templates for all 9 classes:

Class Template File
Warrior Arms/Fury TalentTemplates/Warrior.lua
Paladin Retribution TalentTemplates/Paladin.lua
Hunter Beast Mastery TalentTemplates/Hunter.lua
Rogue Combat TalentTemplates/Rogue.lua
Priest Shadow TalentTemplates/Priest.lua
Shaman Enhancement TalentTemplates/Shaman.lua
Mage Frost TalentTemplates/Mage.lua
Warlock Affliction TalentTemplates/Warlock.lua
Druid Feral TalentTemplates/Druid.lua

These are TurtleWoW optimized builds. Guide pack developers can register additional templates that override or complement the defaults.

How It Works

When a player levels up:

  1. A toast notification appears showing the recommended talent (tree, name, icon)
  2. Opening the talent frame shows a green glow on the recommended talent button
  3. The system supports multiple talent frame addons: TalentFrame, TWTalentFrame, PlayerTalentFrame

The player can switch between available templates in Settings > Talents.

Clone this wiki locally