Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 34 additions & 9 deletions src/Classes/PassiveTree.lua
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,22 @@ end
---@field points table<string, integer>
local PassiveTreeClass = newClass("PassiveTree")

---@param t table<string, any>
---@return table<number|string, any>
local function convertKeysToNumbers(t)
local keys = {}
for key, _ in pairs(t) do
table.insert(keys, key)
end
for _, key in ipairs(keys) do
local num = tonumber(key)
if num then
t[num] = t[key]
t[key] = nil
end
end
return t
end
function PassiveTreeClass:PassiveTree(treeVersion)
self.treeVersion = treeVersion
local versionNum = treeVersions[treeVersion].num
Expand All @@ -98,16 +114,25 @@ function PassiveTreeClass:PassiveTree(treeVersion)
ConPrintf("Downloading passive tree data...")
page = getFile("https://www.pathofexile.com/passive-skill-tree")
end
local treeData = page:match("var passiveSkillTreeData = (%b{})")
if treeData then
treeText = "local tree=" .. jsonToLua(page:match("var passiveSkillTreeData = (%b{})"))
treeText = treeText .. "return tree"
else
treeText = "return " .. jsonToLua(page)
local treeData = page:match("var passiveSkillTreeData = (%b{})") or page
-- strip ggg tooltip tags
local dkjson = require("dkjson")
local utils = require("Modules.Utils")
local json = dkjson.decode(treeData)
for _, node in pairs(json.nodes) do
if node.masteryEffects then
for _, fx in ipairs(node.masteryEffects) do
for i, stat in ipairs(fx.stats) do
fx.stats[i] = escapeGGGString(stat)
end
end
end
end
treeFile = io.open("TreeData/"..treeVersion.."/tree.lua", "w")
treeFile:write(treeText)
treeFile:close()
-- convert node and group keys to numbers
convertKeysToNumbers(json.nodes)
convertKeysToNumbers(json.groups)
local _, contents = utils.saveTableToFile("TreeData/" .. treeVersion .. "/tree.lua", json, nil, true)
treeText = contents
end
for k, v in pairs(assert(loadstring(treeText))()) do
self[k] = v
Expand Down
6 changes: 3 additions & 3 deletions src/Data/Bases/amulet.lua
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ itemBases["Gold Amulet"] = {
type = "Amulet",
tags = { amulet = true, default = true, },
influenceTags = { shaper = "amulet_shaper", elder = "amulet_elder", adjudicator = "amulet_adjudicator", basilisk = "amulet_basilisk", crusader = "amulet_crusader", eyrie = "amulet_eyrie", cleansing = "amulet_cleansing", tangle = "amulet_tangle" },
implicit = "(12-20)% increased Rarity of Items found",
implicit = "+(12-20)% to Item Rarity",
implicitModTypes = { { "drop" }, },
implicitIds = { "ItemFoundRarityIncreaseImplicitAmulet1", },
req = { level = 8, },
Expand Down Expand Up @@ -132,7 +132,7 @@ itemBases["Marble Amulet"] = {
type = "Amulet",
tags = { amulet = true, amuletatlas2 = true, atlas_base_type = true, default = true, not_for_sale = true, },
influenceTags = { shaper = "amulet_shaper", elder = "amulet_elder", adjudicator = "amulet_adjudicator", basilisk = "amulet_basilisk", crusader = "amulet_crusader", eyrie = "amulet_eyrie", cleansing = "amulet_cleansing", tangle = "amulet_tangle" },
implicit = "Regenerate (1.2-1.6)% of Life per second",
implicit = "Regenerate (1.4-2)% of Life per second",
implicitModTypes = { { "resource", "life" }, },
implicitIds = { "LifeRegenerationImplicitAmulet2", },
req = { level = 74, },
Expand All @@ -141,7 +141,7 @@ itemBases["Seaglass Amulet"] = {
type = "Amulet",
tags = { amulet = true, amuletatlas3 = true, atlas_base_type = true, default = true, not_for_sale = true, },
influenceTags = { shaper = "amulet_shaper", elder = "amulet_elder", adjudicator = "amulet_adjudicator", basilisk = "amulet_basilisk", crusader = "amulet_crusader", eyrie = "amulet_eyrie", cleansing = "amulet_cleansing", tangle = "amulet_tangle" },
implicit = "(10-15)% faster start of Energy Shield Recharge",
implicit = "(20-30)% faster start of Energy Shield Recharge",
implicitModTypes = { { "defences", "energy_shield" }, },
implicitIds = { "ReducedEnergyShieldDelayImplicit1_", },
req = { level = 74, },
Expand Down
6 changes: 3 additions & 3 deletions src/Data/Bases/belt.lua
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ itemBases["Vanguard Belt"] = {
type = "Belt",
tags = { atlas_base_type = true, belt = true, beltatlas1 = true, default = true, not_for_sale = true, },
influenceTags = { shaper = "belt_shaper", elder = "belt_elder", adjudicator = "belt_adjudicator", basilisk = "belt_basilisk", crusader = "belt_crusader", eyrie = "belt_eyrie", cleansing = "belt_cleansing", tangle = "belt_tangle" },
implicit = "+(260-320) to Armour and Evasion Rating",
implicit = "+(260-480) to Armour and Evasion Rating",
implicitModTypes = { { "defences", "armour", "evasion" }, },
implicitIds = { "ArmourAndEvasionImplicitBelt1", },
req = { level = 78, },
Expand All @@ -95,7 +95,7 @@ itemBases["Crystal Belt"] = {
type = "Belt",
tags = { atlas_base_type = true, belt = true, beltatlas2 = true, default = true, not_for_sale = true, },
influenceTags = { shaper = "belt_shaper", elder = "belt_elder", adjudicator = "belt_adjudicator", basilisk = "belt_basilisk", crusader = "belt_crusader", eyrie = "belt_eyrie", cleansing = "belt_cleansing", tangle = "belt_tangle" },
implicit = "+(60-80) to maximum Energy Shield",
implicit = "+(60-100) to maximum Energy Shield",
implicitModTypes = { { "defences", "energy_shield" }, },
implicitIds = { "IncreasedEnergyShieldImplicitBelt2", },
req = { level = 79, },
Expand Down Expand Up @@ -123,7 +123,7 @@ itemBases["Golden Obi"] = {
type = "Belt",
tags = { belt = true, default = true, demigods = true, not_for_sale = true, },
influenceTags = { shaper = "belt_shaper", elder = "belt_elder", adjudicator = "belt_adjudicator", basilisk = "belt_basilisk", crusader = "belt_crusader", eyrie = "belt_eyrie", cleansing = "belt_cleansing", tangle = "belt_tangle" },
implicit = "(20-30)% increased Rarity of Items found",
implicit = "+(20-30)% to Item Rarity",
implicitModTypes = { { "drop" }, },
implicitIds = { "ItemFoundRarityIncreaseImplicitDemigodsBelt1", },
req = { },
Expand Down
8 changes: 4 additions & 4 deletions src/Data/Bases/boots.lua
Original file line number Diff line number Diff line change
Expand Up @@ -549,7 +549,7 @@ itemBases["Two-Toned Boots (Armour/Evasion)"] = {
socketLimit = 4,
tags = { armour = true, atlas_base_type = true, boots = true, bootsatlas2 = true, default = true, not_for_sale = true, str_dex_armour = true, },
influenceTags = { shaper = "boots_shaper", elder = "boots_elder", adjudicator = "boots_adjudicator", basilisk = "boots_basilisk", crusader = "boots_crusader", eyrie = "boots_eyrie", cleansing = "boots_cleansing", tangle = "boots_tangle" },
implicit = "+(8-12)% to Fire and Cold Resistances",
implicit = "+(16-20)% to Fire and Cold Resistances",
implicitModTypes = { { "elemental", "fire", "cold", "resistance" }, },
implicitIds = { "FireAndColdResistImplicitBoots1_", },
armour = { ArmourBaseMin = 126, ArmourBaseMax = 145, EvasionBaseMin = 126, EvasionBaseMax = 145, },
Expand Down Expand Up @@ -662,7 +662,7 @@ itemBases["Two-Toned Boots (Armour/Energy Shield)"] = {
socketLimit = 4,
tags = { armour = true, atlas_base_type = true, boots = true, bootsatlas3 = true, default = true, not_for_sale = true, str_int_armour = true, },
influenceTags = { shaper = "boots_shaper", elder = "boots_elder", adjudicator = "boots_adjudicator", basilisk = "boots_basilisk", crusader = "boots_crusader", eyrie = "boots_eyrie", cleansing = "boots_cleansing", tangle = "boots_tangle" },
implicit = "+(8-12)% to Fire and Lightning Resistances",
implicit = "+(16-20)% to Fire and Lightning Resistances",
implicitModTypes = { { "elemental", "fire", "lightning", "resistance" }, },
implicitIds = { "FireAndLightningResistImplicitBoots1", },
armour = { ArmourBaseMin = 126, ArmourBaseMax = 145, EnergyShieldBaseMin = 26, EnergyShieldBaseMax = 30, },
Expand Down Expand Up @@ -785,7 +785,7 @@ itemBases["Fugitive Boots"] = {
socketLimit = 4,
tags = { armour = true, atlas_base_type = true, boots = true, bootsatlasdexint = true, default = true, dex_int_armour = true, not_for_sale = true, },
influenceTags = { shaper = "boots_shaper", elder = "boots_elder", adjudicator = "boots_adjudicator", basilisk = "boots_basilisk", crusader = "boots_crusader", eyrie = "boots_eyrie", cleansing = "boots_cleansing", tangle = "boots_tangle" },
implicit = "+(13-17)% to Chaos Resistance",
implicit = "+(17-23)% to Chaos Resistance",
implicitModTypes = { { "chaos", "resistance" }, },
implicitIds = { "ChaosResistImplicitBoots1", },
armour = { EvasionBaseMin = 112, EvasionBaseMax = 129, EnergyShieldBaseMin = 32, EnergyShieldBaseMax = 37, },
Expand All @@ -797,7 +797,7 @@ itemBases["Two-Toned Boots (Evasion/Energy Shield)"] = {
socketLimit = 4,
tags = { armour = true, atlas_base_type = true, boots = true, bootsatlas1 = true, default = true, dex_int_armour = true, not_for_sale = true, },
influenceTags = { shaper = "boots_shaper", elder = "boots_elder", adjudicator = "boots_adjudicator", basilisk = "boots_basilisk", crusader = "boots_crusader", eyrie = "boots_eyrie", cleansing = "boots_cleansing", tangle = "boots_tangle" },
implicit = "+(8-12)% to Cold and Lightning Resistances",
implicit = "+(16-20)% to Cold and Lightning Resistances",
implicitModTypes = { { "elemental", "cold", "lightning", "resistance" }, },
implicitIds = { "ColdAndLightningResistImplicitBoots1", },
armour = { EvasionBaseMin = 126, EvasionBaseMax = 145, EnergyShieldBaseMin = 26, EnergyShieldBaseMax = 30, },
Expand Down
4 changes: 2 additions & 2 deletions src/Data/Bases/flask.lua
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ itemBases["Basalt Flask"] = {
type = "Flask",
subType = "Utility",
tags = { default = true, flask = true, utility_flask = true, },
implicit = "Taunts nearby Enemies on use",
implicit = "Taunts Enemies within 3 metres on use",
implicitModTypes = { { "flask" }, },
implicitIds = { "UtilityFlaskTaunt_", },
flask = { duration = 8, chargesUsed = 40, chargesMax = 60, buff = { "20% more Armour" }, },
Expand Down Expand Up @@ -377,7 +377,7 @@ itemBases["Gold Flask"] = {
subType = "Utility",
tags = { default = true, flask = true, utility_flask = true, },
implicitModTypes = { },
flask = { duration = 5, chargesUsed = 60, chargesMax = 80, buff = { "30% increased Rarity of Items found" }, },
flask = { duration = 5, chargesUsed = 60, chargesMax = 80, buff = { "+30% to Item Rarity" }, },
req = { level = 27, },
}
itemBases["Corundum Flask"] = {
Expand Down
10 changes: 5 additions & 5 deletions src/Data/Bases/gloves.lua
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ itemBases["Spiked Gloves"] = {
socketLimit = 4,
tags = { armour = true, atlas_base_type = true, default = true, gloves = true, glovesatlasstr = true, not_for_sale = true, str_armour = true, },
influenceTags = { shaper = "gloves_shaper", elder = "gloves_elder", adjudicator = "gloves_adjudicator", basilisk = "gloves_basilisk", crusader = "gloves_crusader", eyrie = "gloves_eyrie", cleansing = "gloves_cleansing", tangle = "gloves_tangle" },
implicit = "(16-20)% increased Melee Damage",
implicit = "(24-30)% increased Melee Damage",
implicitModTypes = { { "damage", "attack" }, },
implicitIds = { "MeleeDamageImplicitGloves1", },
armour = { ArmourBaseMin = 220, ArmourBaseMax = 253, },
Expand Down Expand Up @@ -313,7 +313,7 @@ itemBases["Gripped Gloves"] = {
socketLimit = 4,
tags = { armour = true, atlas_base_type = true, default = true, dex_armour = true, gloves = true, glovesatlasdex = true, not_for_sale = true, },
influenceTags = { shaper = "gloves_shaper", elder = "gloves_elder", adjudicator = "gloves_adjudicator", basilisk = "gloves_basilisk", crusader = "gloves_crusader", eyrie = "gloves_eyrie", cleansing = "gloves_cleansing", tangle = "gloves_tangle" },
implicit = "(14-18)% increased Projectile Attack Damage",
implicit = "(22-28)% increased Projectile Attack Damage",
implicitModTypes = { { "damage", "attack" }, },
implicitIds = { "ProjectileAttackDamageImplicitGloves1", },
armour = { EvasionBaseMin = 220, EvasionBaseMax = 253, },
Expand Down Expand Up @@ -472,7 +472,7 @@ itemBases["Fingerless Silk Gloves"] = {
socketLimit = 4,
tags = { armour = true, atlas_base_type = true, default = true, gloves = true, glovesatlasint = true, int_armour = true, not_for_sale = true, },
influenceTags = { shaper = "gloves_shaper", elder = "gloves_elder", adjudicator = "gloves_adjudicator", basilisk = "gloves_basilisk", crusader = "gloves_crusader", eyrie = "gloves_eyrie", cleansing = "gloves_cleansing", tangle = "gloves_tangle" },
implicit = "(12-16)% increased Spell Damage",
implicit = "(20-26)% increased Spell Damage",
implicitModTypes = { { "caster_damage", "damage", "caster" }, },
implicitIds = { "SpellDamageImplicitGloves1", },
armour = { EnergyShieldBaseMin = 45, EnergyShieldBaseMax = 52, },
Expand Down Expand Up @@ -686,8 +686,8 @@ itemBases["Apothecary's Gloves"] = {
socketLimit = 4,
tags = { armour = true, atlas_base_type = true, default = true, gloves = true, glovesatlasstrint = true, not_for_sale = true, str_int_armour = true, },
influenceTags = { shaper = "gloves_shaper", elder = "gloves_elder", adjudicator = "gloves_adjudicator", basilisk = "gloves_basilisk", crusader = "gloves_crusader", eyrie = "gloves_eyrie", cleansing = "gloves_cleansing", tangle = "gloves_tangle" },
implicit = "(14-18)% increased Damage over Time",
implicitModTypes = { { "damage" }, },
implicit = "+(14-18)% to Damage over Time Multiplier",
implicitModTypes = { { "dot_multi", "damage" }, },
implicitIds = { "DegenerationDamageImplicit1", },
armour = { ArmourBaseMin = 108, ArmourBaseMax = 124, EnergyShieldBaseMin = 29, EnergyShieldBaseMax = 33, },
req = { level = 70, str = 46, int = 59, },
Expand Down
2 changes: 1 addition & 1 deletion src/Data/Bases/helmet.lua
Original file line number Diff line number Diff line change
Expand Up @@ -754,7 +754,7 @@ itemBases["Bone Helmet"] = {
socketLimit = 4,
tags = { armour = true, atlas_base_type = true, default = true, helmet = true, helmetatlas1 = true, not_for_sale = true, str_int_armour = true, },
influenceTags = { shaper = "helmet_shaper", elder = "helmet_elder", adjudicator = "helmet_adjudicator", basilisk = "helmet_basilisk", crusader = "helmet_crusader", eyrie = "helmet_eyrie", cleansing = "helmet_cleansing", tangle = "helmet_tangle" },
implicit = "Minions deal (15-20)% increased Damage",
implicit = "Minions deal (20-30)% increased Damage",
implicitModTypes = { { "damage", "minion" }, },
implicitIds = { "MinionDamageImplicitHelmet1", },
armour = { ArmourBaseMin = 197, ArmourBaseMax = 227, EnergyShieldBaseMin = 40, EnergyShieldBaseMax = 46, },
Expand Down
8 changes: 4 additions & 4 deletions src/Data/Bases/quiver.lua
Original file line number Diff line number Diff line change
Expand Up @@ -261,9 +261,9 @@ itemBases["Artillery Quiver"] = {
type = "Quiver",
tags = { atlas_base_type = true, default = true, not_for_sale = true, quiver = true, quiveratlas1 = true, },
influenceTags = { shaper = "quiver_shaper", elder = "quiver_elder", adjudicator = "quiver_adjudicator", basilisk = "quiver_basilisk", crusader = "quiver_crusader", eyrie = "quiver_eyrie", cleansing = "quiver_cleansing", tangle = "quiver_tangle" },
implicit = "(20-30)% increased Totem Placement speed",
implicitModTypes = { { "speed" }, },
implicitIds = { "SummonTotemCastSpeedImplicit1", },
req = { level = 74, },
implicit = "Attack Skills have +1 to maximum number of Summoned Totems",
implicitModTypes = { { "attack" }, },
implicitIds = { "AdditionalAttackTotemsImplicit1", },
req = { },
}
end
4 changes: 2 additions & 2 deletions src/Data/Bases/ring.lua
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ itemBases["Gold Ring"] = {
type = "Ring",
tags = { default = true, ring = true, },
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
implicit = "(6-15)% increased Rarity of Items found",
implicit = "+(6-15)% to Item Rarity",
implicitModTypes = { { "drop" }, },
implicitIds = { "ItemFoundRarityIncreaseImplicitRing1", },
req = { level = 20, },
Expand Down Expand Up @@ -87,7 +87,7 @@ itemBases["Amethyst Ring"] = {
type = "Ring",
tags = { default = true, ring = true, },
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
implicit = "+(17-23)% to Chaos Resistance",
implicit = "+(13-19)% to Chaos Resistance",
implicitModTypes = { { "chaos", "resistance" }, },
implicitIds = { "ChaosResistImplicitRing1", },
req = { level = 30, },
Expand Down
12 changes: 0 additions & 12 deletions src/Data/BeastCraft.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,4 @@
-- Item data (c) Grinding Gear Games

return {
["GrantsCatAspectCrafted"] = { type = "Suffix", affix = "of Farrul", "Grants Level 20 Aspect of the Cat Skill", statOrder = { 712 }, level = 20, group = "GrantsCatAspect", weightKey = { "default", }, weightVal = { 0 }, modTags = { "skill" }, tradeHashes = { [1265282021] = { "Grants Level 20 Aspect of the Cat Skill" }, } },
["GrantsBirdAspectCrafted"] = { type = "Suffix", affix = "of Saqawal", "Grants Level 20 Aspect of the Avian Skill", statOrder = { 706 }, level = 20, group = "GrantsBirdAspect", weightKey = { "default", }, weightVal = { 0 }, modTags = { "skill" }, tradeHashes = { [3914740665] = { "Grants Level 20 Aspect of the Avian Skill" }, } },
["GrantsSpiderAspectCrafted"] = { type = "Suffix", affix = "of Fenumus", "Grants Level 20 Aspect of the Spider Skill", statOrder = { 741 }, level = 20, group = "GrantsSpiderAspect", weightKey = { "default", }, weightVal = { 0 }, modTags = { "skill" }, tradeHashes = { [956546305] = { "Grants Level 20 Aspect of the Spider Skill" }, } },
["GrantsCrabAspectCrafted"] = { type = "Suffix", affix = "of Craiceann", "Grants Level 20 Aspect of the Crab Skill", statOrder = { 714 }, level = 20, group = "GrantsCrabAspect", weightKey = { "default", }, weightVal = { 0 }, modTags = { "blue_herring", "skill" }, tradeHashes = { [4102318278] = { "Grants Level 20 Aspect of the Crab Skill" }, } },
["GrantsCatAspectCrafted30"] = { type = "Suffix", affix = "of Farrul", "Grants Level 30 Aspect of the Cat Skill", statOrder = { 712 }, level = 20, group = "GrantsCatAspect", weightKey = { "default", }, weightVal = { 0 }, modTags = { "skill" }, tradeHashes = { [1265282021] = { "Grants Level 30 Aspect of the Cat Skill" }, } },
["GrantsBirdAspectCrafted30"] = { type = "Suffix", affix = "of Saqawal", "Grants Level 30 Aspect of the Avian Skill", statOrder = { 706 }, level = 20, group = "GrantsBirdAspect", weightKey = { "default", }, weightVal = { 0 }, modTags = { "skill" }, tradeHashes = { [3914740665] = { "Grants Level 30 Aspect of the Avian Skill" }, } },
["GrantsSpiderAspectCrafted30"] = { type = "Suffix", affix = "of Fenumus", "Grants Level 30 Aspect of the Spider Skill", statOrder = { 741 }, level = 20, group = "GrantsSpiderAspect", weightKey = { "default", }, weightVal = { 0 }, modTags = { "skill" }, tradeHashes = { [956546305] = { "Grants Level 30 Aspect of the Spider Skill" }, } },
["GrantsCrabAspectCrafted30"] = { type = "Suffix", affix = "of Craiceann", "Grants Level 30 Aspect of the Crab Skill", statOrder = { 714 }, level = 20, group = "GrantsCrabAspect", weightKey = { "default", }, weightVal = { 0 }, modTags = { "blue_herring", "skill" }, tradeHashes = { [4102318278] = { "Grants Level 30 Aspect of the Crab Skill" }, } },
["GrantsBrineKingAspectCrafted"] = { type = "Suffix", affix = "of the Brine King", "Grants Level 20 Aspect of the Brine King Skill", statOrder = { 710 }, level = 20, group = "GrantsBrineKingAspect", weightKey = { "deepwater_pantheon_aspect", "default", }, weightVal = { 100, 0 }, modTags = { "skill" }, tradeHashes = { [3054487153] = { "Grants Level 20 Aspect of the Brine King Skill" }, } },
["GrantsLunarisAspectCrafted"] = { type = "Suffix", affix = "of Lunaris", "Grants Level 20 Aspect of Lunaris Skill", statOrder = { 731 }, level = 20, group = "GrantsLunarisAspect", weightKey = { "deepwater_pantheon_aspect", "default", }, weightVal = { 100, 0 }, modTags = { "skill" }, tradeHashes = { [937577116] = { "Grants Level 20 Aspect of Lunaris Skill" }, } },
["GrantsSolarisAspectCrafted"] = { type = "Suffix", affix = "of Solaris", "Grants Level 20 Aspect of Solaris Skill", statOrder = { 740 }, level = 20, group = "GrantsSolarisAspect", weightKey = { "deepwater_pantheon_aspect", "default", }, weightVal = { 100, 0 }, modTags = { "skill" }, tradeHashes = { [4280547417] = { "Grants Level 20 Aspect of Solaris Skill" }, } },
["GrantsArakaaliAspectCrafted"] = { type = "Suffix", affix = "of Arakaali", "Grants Level 20 Aspect of Arakaali Skill", statOrder = { 703 }, level = 20, group = "GrantsArakaaliAspect", weightKey = { "deepwater_pantheon_aspect", "default", }, weightVal = { 100, 0 }, modTags = { "skill" }, tradeHashes = { [1094971653] = { "Grants Level 20 Aspect of Arakaali Skill" }, } },
}
Loading
Loading