-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathtypes.lua
More file actions
65 lines (59 loc) · 3.63 KB
/
types.lua
File metadata and controls
65 lines (59 loc) · 3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
--- @meta _
--- @diagnostic disable: duplicate-doc-field, duplicate-doc-alias
-- this file contains some of the type definitions used in this library
--- @class treeCurrencyInfo: TreeCurrencyInfo
--- @field traitCurrencyID number
--- @field quantity number
--- @field maxQuantity number?
--- @field spent number
--- @field isClassCurrency boolean? # true if the currency is a class currency, nil otherwise
--- @field isSpecCurrency boolean? # true if the currency is a spec currency, nil otherwise
--- @field subTreeID number? # DEPRECATED the sub tree ID that the currency is associated with if any, nil otherwise
--- @field subTreeIDs number[]? # list of sub trees that the currency is associated with if any, nil otherwise
--- @class visibleEdge: TraitOutEdgeInfo
--- @field type Enum.TraitEdgeType
--- @field visualStyle Enum.TraitEdgeVisualStyle
--- @field targetNode number # TraitNodeID
--- @field isActive boolean
--- @class libNodeInfo: TraitNodeInfo
--- @field ID number # TraitNodeID
--- @field posX number
--- @field posY number
--- @field type Enum.TraitNodeType
--- @field maxRanks number
--- @field flags Enum.TraitNodeFlag
--- @field groupIDs number[]
--- @field visibleEdges visibleEdge[] # The order does not always match C_Traits
--- @field conditionIDs number[]
--- @field entryIDs number[] # TraitEntryID - generally, choice nodes will have 2, otherwise there's just 1
--- @field visibleForSpecs table<number, boolean> # specID: true/false, true if a node is visible for a spec
--- @field grantedForSpecs table<number, boolean> # specID: true/false, true if a node is granted for free, for a spec
--- @field isClassNode boolean
--- @field subTreeID number? # the sub tree ID that the node is associated with if any, nil otherwise
--- @field isSubTreeSelection boolean? # true if the node is a sub tree selection node, nil otherwise
--- @field isApexTalent boolean # true for "apex" talents (Midnight lvl 81+ talents)
--- @field requiredPlayerLevel number? # the required level, even if all other conditions are met (such as gates and edges), currently only applies to Apex talents
--- @class entryInfo: TraitEntryInfo
--- @field definitionID number # TraitDefinitionID
--- @field type Enum.TraitNodeEntryType
--- @field maxRanks number
--- @field isAvailable boolean # LibTalentTree always returns true
--- @field conditionIDs number[] # list of TraitConditionID, LibTalentTree always returns an empty table
--- @field subTreeID number? # the sub tree ID that the entry will select if any, nil otherwise
--- @class gateInfo: TraitGateInfo
--- @field topLeftNodeID number # TraitNodeID - the node that is the top left corner of the gate
--- @field conditionID number # TraitConditionID
--- @field spentAmountRequired number # the total amount of currency required to unlock the gate
--- @field traitCurrencyID number # TraitCurrencyID
--- @class subTreeInfo: TraitSubTreeInfo
--- @field ID number # SubTreeID
--- @field name string # localized name
--- @field description string # localized description
--- @field iconElementID string # icon atlas
--- @field maxCurrency number # the maximum amount of currency that can be spent in this sub tree
--- @field posX number # generally corresponds to posX of the top center node (generally the initial starting node)
--- @field posY number # generally corresponds to posY of the top center node (generally the initial starting node)
--- @field requiredPlayerLevel number
--- @field traitCurrencyID number # TraitCurrencyID spent when learning talents in this sub tree
--- @field subTreeSelectionNodeIDs number[] # TraitNodeID - the selection nodes that specify whether the sub tree is selected
--- @field isActive boolean # hardcoded to false