На wiki ведутся работы по обновлению шаблонов и модулей. В связи с этим большинство страниц будут выдавать ошибки.

Path of Exile Wiki:Список дел/Замена шаблонов на страницах

Passive Skill Tree JSON

Материал из Path of Exile Wiki
Перейти к: навигация, поиск

Passive skill tree JSON is used by the official website and many other community tools to display the skill tree.

JSON[править | править код]

The subsections follow the format of the json.

Key Value description Type
imageRoot string
imageZoomLevels array[float]
min_x integer
max_x integer
min_y integer
max_y integer
assets See below assoc array
characterData See below assoc array
constants See below assoc array
groups See below assoc array
nodes See below assoc array
root See below assoc array
skillSprites See below assoc array

assets[править | править код]

characterData[править | править код]

Associative array that maps the character attributes to the classid.

Each value for the array contains another associative array for various attributes:

Key Value description Type
base_dex character class starting dexterity integer
base_int character class starting intelligence integer
base_str character class starting strength integer

This maps to Scion as of this writing for example:

>>> st['characterData']['0']
{'base_int': 20, 'base_dex': 20, 'base_str': 20}

constants[править | править код]

Constants contain various game constants.

Located under the top level:

  constants: { /* constants */}
Key Value description Type
PSSCentreInnerRadius Radius integer
chracterAttributes see below assoc array
classes see below assoc array

characterAttributes[править | править код]

Associative array of character attributes and their id.


Key Value description Type
<Name of the attribute> Id of attribute integer


>>> json['constants']['characterAttributes']['Strength']

classes[править | править код]

Associative array of Character classes and their associated id


Key Value description Type
Internal name of the class based on attributes, i.e. <Attribute>Class for example:

StrDexIntClass (refers to Scion)

Id of the class integer


>>> json['constants']['classes']['StrDexIntClass']

groups[править | править код]

Groups is an associative array containing groups for the nodes.

Key Value description Type
oo Associative array of orbitals (from the nodes and their oidx key). Unknown what the bool is for assoc array[string, boolean]
n Contains a list of the associated nodes by their unique id array[integer]
x x-coordinate float
y y-coordinate float

nodes[править | править код]

Nodes is an associative array containing general information about the passive skill nodes in form of an associative array. The key of this dictionary is the Node ID and the value uses the following key value pairs:

Key Value description Type
ascendancyName Name of the associated ascendancy class

Not present if the node is not associated with an ascendancy

da how much dexterity the node adds integer
dn Name of the node string
g Id of the group the node is in integer
ia how much intelligence the node adds integer
icon Path relative to the root to node icon string
id Unique id of the nodes integer
isAscendancyStart Whether the node is a starting point for ascendancy class

Not present if the node is not associated with an ascendancy

isJewelSocket Whether the node is a socket for jewel boolean
isMultipleChoice Whether the node is a multiple choice node boolean
isMultipleChoiceOption Whether the node is a choice option for a multiple choice node boolean
ks Whether the node is a key stone boolean
m Whether the node is a mastery (i.e. the center of certain circles have images which are technically also passive skill nodes) boolean
not Whether the node is a noteable boolean
o Radii of orbit (0 to 4, orbitRadii = [0, 82, 162, 335, 493]) integer
oidx index on the orbit (skillsPerOrbit = [1, 6, 12, 12, 40]) integer
out Connections to other nodes by their id array[integer]
passivePointsGranted Passive points given integer
reminderText Reminder text(s). These appear grey in game and give some extra information about the mechanics or node.

Not present if there is no reminder text

sa How much strength the node adds integer
sd Stat descriptions. One Element per line (lines still may contain escaped characters, i.e. \n) array[string]
spc class starting node array

root[править | править код]

Contains the class starting nodes under the out key.


>>> st['root']
{'out': [50459, 47175, 50986, 61525, 54447, 44683, 58833], 'oidx': 0, 'ia': 0, 'da': 0, 'g': 0, 'o': 0, 'sa': 0}
>>> st['root']['out']
[50459, 47175, 50986, 61525, 54447, 44683, 58833]

skillSprites[править | править код]

Contains various arrays

Key Value description Type
keystoneActive array[assoc array]
keystoneInactive array[assoc array]
mastery array[assoc array]
normalActive array[assoc array]
normalInactive array[assoc array]
notableActive array[assoc array]
notableInactive array[assoc array]

Each of the array elements contains another associative array with that links the icon path with a specific sprite:

Key Value description Type
coords Contains an associate array that maps the icon path (as from the nodes) to coordinates in the sprite file and the size of the icon in the sprite file (see below) assoc array
filename Name of the sprite file string


>>> st['skillSprites']['mastery'][0]['filename']

The each of the coords values contains another associative array like this:

Key Value description Type
w width of the icon integer
h height of the icon integer
x x position integer
y y position integer


>>> st['skillSprites']['mastery'][0]['coords']['Art/2DArt/SkillIcons/passives/MasteryGroupMana.png']
{'w': 32, 'h': 32, 'y': 96, 'x': 128}

Ascendancy classes JSON[править | править код]

The ascendancy classes json section (i.e. from the json release under var = opts [...] ascClasses: { /* json */} )

Contains an associative array that maps the character class id to the information about the ascendancy classes.

assoc array for each class[править | править код]

Key Value description Type
name Name of the regular class (ex. "Marauder") string
classes ascendancy classes for this class by their id. The key is a class id, the value is another associative array. assoc array[string, assoc array]

assoc array for ascendancy classes[править | править код]

Key Value description Type
displayName Name of the ascendancy class string
name Name of the ascendancy class string
flavourText The flavour text of the class string
flavourTextColour comma-separated RGB colour string
flavourTextRect comma-separated coordinates string


>>> asc['1']['classes']['1'].items()
dict_items([('name', 'Juggernaut'), ('flavourTextColour', '175,90,50'), ('flavourText', ' What divides the conqueror \n from the conquered? Perseverance.'), ('displayName', 'Juggernaut'), ('flavourTextRect', '250,150,1063,436')])
>>> asc['1']['classes']['2'].items()
dict_items([('name', 'Berserker'), ('flavourTextColour', '175,90,50'), ('flavourText', 'The savage path is \nalways swift and sure.'), ('displayName', 'Berserker'), ('flavourTextRect', '760,415,976,429')])
>>> asc['1']['classes']['3'].items()
dict_items([('name', 'Chieftain'), ('flavourTextColour', '175,90,50'), ('flavourText', '     The Ancestors speak \nthrough your clenched fists.'), ('displayName', 'Chieftain'), ('flavourTextRect', '250,175,976,429')])