Skilltree Wendy
Based on game build 714014 | Last updated: 2026-03-07
Overview
This file is a Lua generator function (BuildSkillsData) that constructs and returns the full data model for Wendy’s skill tree. It defines each skill’s position, associated tags, root status, connected nodes, and activation/deactivation behaviors. It interacts with several components (e.g., sanityauraadjuster, ghostlybond, damagetyperesist, damagetypebonus, planardefense, sisturnregistry) and uses tags to apply gameplay effects dynamically when skills are unlocked. This is not a runtime component itself, but a configuration helper used to populate the skill tree UI and backend logic.
Usage example
local BuildSkillsData = require "prefabs/skilltree_wendy"
local skill_tree_data = BuildSkillsData(MySkillTreeFns)
-- Access skills
local skill = skill_tree_data.SKILLS.wendy_sisturn_1
-- Check global constants used internally
print("Root node:", skill.root) -- true
print("Tags:", table.concat(skill.tags, ", ")) -- "sisturn,sisturn_upgrades"
Dependencies & tags
Components used: sanityauraadjuster, ghostlybond, damagetyperesist, damagetypebonus, planardefense, sisturnregistry (via TheWorld.components.sisturnregistry).
Tags added/removed: sisturn, player_damagescale, elixircontaineruser, player_shadow_aligned, shadow_aligned, player_lunar_aligned, lunar_aligned, UPGRADETYPES.GRAVESTONE.."_upgradeuser", gravedigger_user.
Note: Tags are applied and removed via onactivate/ondeactivate callbacks in specific skill definitions.
Properties
No public properties. The file exports a single function: BuildSkillsData.
Main functions
BuildSkillsData(SkillTreeFns)
- Description: Constructs and returns the complete skill tree data for Wendy. Accepts a table of helper functions (
SkillTreeFns) to define locked skill nodes. Internally groups skills by category (e.g.,sisturn,potion,allegiance) and registers activation/deactivation callbacks that mutate the world and entity state via component calls. - Parameters:
SkillTreeFns(table) — expects methods likeMakeFuelWeaverLockandMakeNoLunarLockto generate locked skill nodes. - Returns: table with two keys:
SKILLS(table): Map of skill names → skill data objects.ORDERS(table): Optional layout ordering hints (currently commented out).PUCK(boolean): Alwaystruein this implementation.
- Error states: None documented. Failures would likely manifest as missing skill nodes or runtime errors if
SkillTreeFnsis malformed.
Events & listeners
Not applicable — this file is a data generator, not a runtime component. It does not listen to or push game events. Event handling occurs inside onactivate/ondeactivate callbacks embedded in the returned skill data, which are invoked by the skill tree system at runtime.