Skilltree Wathgrithr
Based on game build 714014 | Last updated: 2026-03-07
Overview
skilltree_wathgrithr.lua is a configuration script that builds the skill tree structure for the Wathgrithr character. It defines all skill nodes with their positions, dependencies, tags, and activation/deactivation behaviors. The script is consumed by the skill tree UI system and uses helper functions to compute unlock conditions and apply gameplay effects via the Entity Component System (ECS). It does not define a component itself, but rather a data-generating function BuildSkillsData.
Usage example
local BuildSkillsData = require("prefabs/skilltree_wathgrithr")
local skilltree = BuildSkillsData(SkillTreeFns)
-- skilltree.SKILLS contains all node definitions
-- skilltree.ORDERS defines the ordering/titles of skill groups
Dependencies & tags
Components used: planardefense, damagetyperesist, damagetypebonus, rider
Tags: spear, inspirationgain, helmet, helmetcondition, shield, beefalodomestication, beefalobucktime, beefaloinspiration, saddle, shadow, lunar, shadow_favor, lunar_favor, wathgrithrshielduser, battlesongcontaineruser, lock, and derived upgrade tags like lightningspear_upgradeuser. Also uses tags player_shadow_aligned and player_lunar_aligned during activation.
Properties
No public properties. This script exports a single function BuildSkillsData that returns a table with SKILLS and ORDERS keys.
Main functions
BuildSkillsData(SkillTreeFns)
- Description: Generates and returns the complete skill tree configuration for Wathgrithr. It constructs the
SKILLSmap andORDERSlist used by the UI to render nodes, connections, and group titles. Each skill node is configured with position, tags, dependencies, and activation callbacks. - Parameters:
SkillTreeFns(table) – A table of skill tree utility functions (e.g.,CountSkills,MakeFuelWeaverLock,MakeNoLunarLock,MakeCelestialChampionLock,MakeNoShadowLock). - Returns: Table with two keys:
SKILLS(table): A map from node name (string) to skill definition (table). Each skill definition includes:group,tags,root,connects,pos,title,desc,icon, optionallock_open, andonactivate/ondeactivatecallbacks.ORDERS(array): Ordered list of skill group titles with their positions and group names (e.g.,{"songs", {SONGS_TITLE_X, TITLE_Y}}).
- Error states: None; assumes
SkillTreeFnsprovides required lock-making functions.
Events & listeners
Not applicable. This is a data definition script with no event listeners or event firing logic.