Source

This page was generated with Wiki Builder. Do not change the format!

Info

I see you've come to find out more about Talent Nodes. I'm so sorry. Talent Nodes are the conceptual, visual nodes that appear on Talent Grids. Talent Grids, in Destiny 1, were found on almost every instanced item: they had Nodes that could be activated to change the properties of the item. In Destiny 2, Talent Grids only exist for Builds/Subclasses, and while the basic concept is the same (Nodes can be activated once you've gained sufficient Experience on the Item, and provide effects), there are some new concepts from Destiny 1. Examine DestinyTalentGridDefinition and its subordinates for more information. This is the "Live" information for the current status of a Talent Node on a specific item. Talent Nodes have many Steps, but only one can be active at any one time: and it is the Step that determines both the visual and the game state-changing properties that the Node provides. Examine this and DestinyTalentNodeStepDefinition carefully. IMPORTANT NOTE Talent Nodes are, unfortunately, Content Version DEPENDENT. Though they refer to hashes for Nodes and Steps, those hashes are not guaranteed to be immutable across content versions. This is a source of great exasperation for me, but as a result anyone using Talent Grid data must ensure that the content version of their static content matches that of the server responses before showing or making decisions based on talent grid data.

Schema

  • Schema Type: Class
  • Type: object

Properties

Name Type Description
nodeIndex integer:int32 The index of the Talent Node being referred to (an index into DestinyTalentGridDefinition.nodes[]). CONTENT VERSION DEPENDENT.
nodeHash integer:uint32 The hash of the Talent Node being referred to (in DestinyTalentGridDefinition.nodes). Deceptively CONTENT VERSION DEPENDENT. We have no guarantee of the hash's immutability between content versions.
state DestinyTalentNodeState:Enum An DestinyTalentNodeState enum value indicating the node's state: whether it can be activated or swapped, and why not if neither can be performed.
isActivated boolean If true, the node is activated: it's current step then provides its benefits.
stepIndex integer:int32 The currently relevant Step for the node. It is this step that has rendering data for the node and the benefits that are provided if the node is activated. (the actual rules for benefits provided are extremely complicated in theory, but with how Talent Grids are being used in Destiny 2 you don't have to worry about a lot of those old Destiny 1 rules.) This is an index into: DestinyTalentGridDefinition.nodes[nodeIndex].steps[stepIndex]
materialsToUpgrade DestinyMaterialRequirement:Definition[] If the node has material requirements to be activated, this is the list of those requirements.
activationGridLevel integer:int32 The progression level required on the Talent Grid in order to be able to activate this talent node. Talent Grids have their own Progression - similar to Character Level, but in this case it is experience related to the item itself.
progressPercent number:float If you want to show a progress bar or circle for how close this talent node is to being activate-able, this is the percentage to show. It follows the node's underlying rules about when the progress bar should first show up, and when it should be filled.
hidden boolean Whether or not the talent node is actually visible in the game's UI. Whether you want to show it in your own UI is up to you! I'm not gonna tell you who to sock it to.
nodeStatsBlock DestinyTalentNodeStatBlock This property has some history. A talent grid can provide stats on both the item it's related to and the character equipping the item. This returns data about those stat bonuses.

Example

{
    // Type: integer:int32
    "nodeIndex": 0,
    // Type: integer:uint32
    "nodeHash": 0,
    // Type: DestinyTalentNodeState:Enum
    "state": {},
    // Type: boolean
    "isActivated": false,
    // Type: integer:int32
    "stepIndex": 0,
    // Type: DestinyMaterialRequirement:Definition[]
    "materialsToUpgrade": [
       // Type: DestinyMaterialRequirement:Definition
        {
            // Type: Destiny.Definitions.DestinyInventoryItemDefinition:integer:uint32
            "itemHash": 0,
            // Type: boolean
            "deleteOnAction": false,
            // Type: integer:int32
            "count": 0,
            // Type: boolean
            "omitFromRequirements": false
        }
    ],
    // Type: integer:int32
    "activationGridLevel": 0,
    // Type: number:float
    "progressPercent": 0,
    // Type: boolean
    "hidden": false,
    // Type: DestinyTalentNodeStatBlock
    "nodeStatsBlock": {}
}

References

  1. https://bungie-net.github.io/multi/schema_Destiny-DestinyTalentNode.html#schema_Destiny-DestinyTalentNode