CONTENT CONTRACT · VERSION 1
skill
One node of the skill tree: its branch and place, price, prerequisites, lasting bonuses and the spell it teaches.
Signature
{ bonuses: {SkillBonus}, branch: SkillBranch, column: Count, cost: PositiveCount, description: TextKey, icon: (TextureAssetId)?, id: ContentId, kind: "skill", level: PositiveCount, name: TextKey, requires: {SkillId}, spell: (ItemId)?, tier: Count }Fields
| Name | Type | Meaning |
|---|---|---|
bonuses | {SkillBonus} | Lasting bonuses of the learned node; equal stats add up. Items: 0…4 |
branch | SkillBranch | Branch of the tree the node belongs to. |
column | Count | Column of the node in its row, from 0 to 2. Range: 0…2147483647; Unit: count |
cost | PositiveCount | Skill points learning the node costs. Range: 1…2147483647; Unit: count |
description | TextKey | Localization key of the tooltip text. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: text |
icon | TextureAssetId | Icon of the node. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: asset:texture |
id | ContentId | Package-qualified identity; unique within its declaring namespace. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$ |
kind | "skill" | Discriminant |
level | PositiveCount | Player level the node needs. Range: 1…2147483647; Unit: count |
name | TextKey | Localization key for the displayed name. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: text |
requires | {SkillId} | Nodes a player must have learned first. Items: 0…4; Unique entries |
spell | ItemId | Spell item the node teaches: granted once when it is learned. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: item |
tier | Count | Row of the node in its branch, from 0 at the root; prerequisites lie in lower rows. Range: 0…2147483647; Unit: count |
Validated example
{
"bonuses": [
{
"amount": 20,
"stat": "max_mana"
}
],
"branch": "magic",
"column": 1,
"cost": 1,
"description": "core:arcane_spark_description",
"icon": "core:magic_bolt_icon",
"id": "core:arcane_spark",
"kind": "skill",
"level": 1,
"name": "core:arcane_spark_name",
"requires": [],
"spell": "core:magic_bolt",
"tier": 0
}